Here's the new version I've been testing as 1.4.0rc1 already.
cmake is used instead of qmake now.
https://www.mumble.info/blog/mumble-1.4.230/
Feedback and more tests are welcome.
I plan to commit this in a few days.
Index: Makefile
===================================================================
RCS file: /home/cvs/ports/audio/mumble/Makefile,v
retrieving revision 1.57
diff -u -p -r1.57 Makefile
--- Makefile 15 Dec 2021 22:25:39 -0000 1.57
+++ Makefile 18 Jan 2022 06:11:11 -0000
@@ -3,35 +3,50 @@
COMMENT-main = low-latency voice chat client
COMMENT-server = low-latency voice chat server
-VERSION = 1.3.4
+VERSION = 1.4.230
DISTNAME = mumble-${VERSION}
PKGNAME-server = murmur-${VERSION}
-REVISION-main = 0
-REVISION-server = 0
-
CATEGORIES = audio net
HOMEPAGE = https://www.mumble.info/
-MASTER_SITES
= https://github.com/mumble-voip/mumble/releases/download/${VERSION}/
+MASTER_SITES
= https://github.com/mumble-voip/mumble/releases/download/v${VERSION}/
+
+MASTER_SITES0 = https://github.com/mumble-voip/mumble/commit/
+# all merged into master but not 1.4.x yet
+PATCHFILES = kvm_getprocs-ALL_arg-{}42ad5ed.patch:0 \
+ kvm_getprocs-pass-elemsize-{}ccbacbf.patch:0 \
+ struct_procinfo-member_prefix-{}a707213.patch:0 \
+ audiowizard-fix_Werror-{}0c769d8.patch:0 \
+ use-system-rnnoise-{}d45318d.patch:0
+PATCH_DIST_STRIP = -p1
# BSD3
PERMIT_PACKAGE = Yes
MAINTAINER = Klemens Nanni <[email protected]>
-WANTLIB-main += ${COMPILER_LIBCXX} GL Qt5Core Qt5DBus Qt5Gui Qt5Network
-WANTLIB-main += Qt5Sql Qt5Svg Qt5Widgets Qt5Xml X11 Xi c crypto
-WANTLIB-main += m opus portaudio protobuf rnnoise sndfile speex speexdsp ssl
+WANTLIB-main += ${COMPILER_LIBCXX} PocoFoundation PocoUtil PocoXML
+WANTLIB-main += PocoZip Qt5Concurrent Qt5Core Qt5DBus Qt5Gui Qt5Network
+WANTLIB-main += Qt5Sql Qt5Svg Qt5Widgets Qt5Xml X11 Xext c crypto kvm
+WANTLIB-main += m protobuf rnnoise sndfile speex speexdsp ssl
+
+# dlopen()'ed
+WANTLIB-main += opus portaudio
+
WANTLIB-server += ${COMPILER_LIBCXX} Qt5Core Qt5DBus Qt5Network Qt5Sql
WANTLIB-server += Qt5Xml c crypto m protobuf ssl
+WRKDIST = ${WRKDIR}/${DISTNAME}.src
+
MULTI_PACKAGES = -main -server
DEBUG_PACKAGES = ${BUILD_PACKAGES}
-MODULES = devel/qmake x11/qt5
+MODULES = devel/cmake \
+ lang/python \
+ x11/qt5
BUILD_DEPENDS = devel/boost
@@ -41,6 +56,7 @@ LIB_DEPENDS-main = audio/libsndfile>=1.0
audio/rnnoise \
audio/speex \
devel/protobuf \
+ net/poco \
x11/qt5/qtsvg
LIB_DEPENDS-server = devel/protobuf \
x11/qt5/qtbase
@@ -48,75 +64,35 @@ LIB_DEPENDS-server = devel/protobuf \
RUN_DEPENDS-main = devel/desktop-file-utils \
x11/gtk+3,-guic
-# CONFIG+=c++11 because of protobuf
-MODQMAKE_ARGS = MUMBLE_PREFIX=${PREFIX} \
- QMAKE_LRELEASE=${MODQT_LRELEASE} \
- CONFIG+=c++11 \
- CONFIG+=no-11x \
- CONFIG+=no-alsa \
- CONFIG+=no-ice \
- CONFIG+=no-bonjour \
- CONFIG+=no-bundled-opus \
- CONFIG+=no-bundled-rnnoise \
- CONFIG+=no-bundled-speex \
- CONFIG+=no-crash-report \
- CONFIG+=no-embed-qt-translations \
- CONFIG+=no-g15 \
- CONFIG+=no-jackaudio \
- CONFIG+=no-oss \
- CONFIG+=no-overlay \
- CONFIG+=no-pulseaudio \
- CONFIG+=no-speechd \
- CONFIG+=no-update \
- CONFIG+=bundled-celt \
- CONFIG+=packaged \
- CONFIG+=portaudio \
- CONFIG+=release \
- DEFINES+="LOCALE_PATH=${PREFIX}/share/mumble/locale" \
- DEFINES+="PLUGIN_PATH=${PREFIX}/lib/mumble"
-
-# make(1) chokes on targets with escaped whitespaces (.../OSX\ Dark.qss)
-USE_GMAKE = Yes
-
-ALL_TARGET = release
-
-NO_TEST = Yes
-
-.include <bsd.port.arch.mk>
-# pre compilated headers are invalid on gcc archs
-.if ${PROPERTIES:Mgcc4}
-MODQMAKE_ARGS += CONFIG+=no-pch
+# silence noisy cmake messages during configure
+CONFIGURE_ARGS += -Wno-dev
+
+# ${WRKSRC}/docs/dev/build-instructions/cmake_options.md
+CONFIGURE_ARGS += -Dbundled-opus=OFF \
+ -Dbundled-rnnoise=OFF \
+ -Dbundled-speex=OFF \
+ -Dice=OFF \
+ -Djackaudio=OFF \
+ -Doverlay=OFF \
+ -Dupdate=OFF \
+ -Dzeroconf=OFF
+
+.ifdef DEBUG
+CONFIGURE_ARGS += -Dplugin-debug=ON \
+ -Dplugin-callback-debug=ON \
+ -Dsymbols=ON
.endif
-post-patch:
- ${SUBST_CMD} ${WRKSRC}/scripts/murmur.ini
+CONFIGURE_ARGS += -Dtests=ON
+
+SERVER_CONFIG_FILE = ${WRKSRC}/scripts/murmur.ini
+SERVER_EXAMPLES_DIR = ${PREFIX}/share/examples/murmur
-pre-configure:
- cd ${WRKSRC}/src/mumble/ && QTDIR=${WRKDIR}/bin \
- ${MODQT_LRELEASE} *.ts
-
-do-install:
- ${INSTALL_PROGRAM} ${WRKBUILD}/mumble \
- ${PREFIX}/bin/mumble
- ${INSTALL_PROGRAM} ${WRKBUILD}/murmurd \
- ${PREFIX}/sbin/murmurd
- ${INSTALL_DATA_DIR} ${PREFIX}/lib/mumble
- ${INSTALL_DATA} ${WRKBUILD}/plugins/lib*.so \
- ${PREFIX}/lib/mumble/
- ${INSTALL_DATA_DIR} ${PREFIX}/share/mumble/locale
- ${INSTALL_DATA} ${WRKSRC}/src/mumble/*.qm \
- ${PREFIX}/share/mumble/locale/
- ${INSTALL_MAN} ${WRKSRC}/man/{mumble,murmurd}.1 \
- ${PREFIX}/man/man1/
- ${INSTALL_DATA_DIR} \
- ${PREFIX}/share/icons/hicolor/scalable/apps
- ${INSTALL_DATA} ${WRKSRC}/icons/mumble.svg \
- ${PREFIX}/share/icons/hicolor/scalable/apps/
- ${INSTALL_DATA_DIR} ${PREFIX}/share/applications
- ${INSTALL_DATA} ${WRKSRC}/scripts/mumble.desktop \
- ${PREFIX}/share/applications/
- ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/murmur
- ${INSTALL_DATA} ${WRKSRC}/scripts/murmur.ini \
- ${PREFIX}/share/examples/murmur/
+post-install:
+ ${INSTALL_DATA_DIR} ${SERVER_EXAMPLES_DIR}
+ ${INSTALL_DATA} ${SERVER_CONFIG_FILE} ${SERVER_EXAMPLES_DIR}/
+ # "[DRAFT] Rename "murmur" to "mumble-server" across the project"
+ # https://github.com/mumble-voip/mumble/pull/4695
+ ln -f ${PREFIX}/bin/{mumble-server,murmurd}
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /home/cvs/ports/audio/mumble/distinfo,v
retrieving revision 1.20
diff -u -p -r1.20 distinfo
--- distinfo 10 Feb 2021 12:35:33 -0000 1.20
+++ distinfo 18 Jan 2022 06:11:14 -0000
@@ -1,2 +1,12 @@
-SHA256 (mumble-1.3.4.tar.gz) = YV9Ov8M4XZRRY/Np79PpEMi20PAleXp+7VQVFfzLYJM=
-SIZE (mumble-1.3.4.tar.gz) = 8592741
+SHA256 (audiowizard-fix_Werror-0c769d8.patch) =
yE8VQPGskc74dwXR1OnTj+bHsmEsKM0LxqDb6QsxHpA=
+SHA256 (kvm_getprocs-ALL_arg-42ad5ed.patch) =
cC7hausQhddaotgMf1HJaU9G4MG/O+o9xkTv06NPBrY=
+SHA256 (kvm_getprocs-pass-elemsize-ccbacbf.patch) =
dXlMiBCNEQ4oS+sxjjr8W7odlm0UuZVGwiHsLytNS84=
+SHA256 (mumble-1.4.230.tar.gz) = tn2CtObMWDS5ZcW8JTOeRWU0u9W53abIyVz5y4DkNLA=
+SHA256 (struct_procinfo-member_prefix-a707213.patch) =
9+fCD2/g+OqQVNfHhQ6r3qRL8cVLpd0bxK37baAwXlA=
+SHA256 (use-system-rnnoise-d45318d.patch) =
NctW70tU5VLFqTJeTcsWPU9YwmTsrbYHN+S7ZpHW06Q=
+SIZE (audiowizard-fix_Werror-0c769d8.patch) = 1938
+SIZE (kvm_getprocs-ALL_arg-42ad5ed.patch) = 1961
+SIZE (kvm_getprocs-pass-elemsize-ccbacbf.patch) = 1418
+SIZE (mumble-1.4.230.tar.gz) = 9441667
+SIZE (struct_procinfo-member_prefix-a707213.patch) = 1250
+SIZE (use-system-rnnoise-d45318d.patch) = 4172
Index: patches/patch-scripts_murmur_ini
===================================================================
RCS file: /home/cvs/ports/audio/mumble/patches/patch-scripts_murmur_ini,v
retrieving revision 1.3
diff -u -p -r1.3 patch-scripts_murmur_ini
--- patches/patch-scripts_murmur_ini 16 Jun 2020 10:16:20 -0000 1.3
+++ patches/patch-scripts_murmur_ini 11 Jan 2022 06:43:21 -0000
@@ -41,7 +41,7 @@ Index: scripts/murmur.ini
; If you want to expose Murmur's experimental gRPC API, you
; need to specify an address to bind on.
-@@ -93,7 +93,7 @@ icesecretwrite=
+@@ -99,7 +99,7 @@ icesecretwrite=
; logs to the file 'murmur.log'. If you leave this field blank
; on Unix-like systems, Murmur will force itself into foreground
; mode which logs to the console.
@@ -50,7 +50,7 @@ Index: scripts/murmur.ini
; If set, Murmur will write its process ID to this file
; when running in daemon mode (when the -fg flag is not
-@@ -375,6 +375,6 @@ allowping=true
+@@ -409,6 +409,6 @@ allowping=true
; leave the defaults as they are.
; Please note that this section has to be last in the configuration file.
;
Index: patches/patch-src_mumble_AudioInput_cpp
===================================================================
RCS file: patches/patch-src_mumble_AudioInput_cpp
diff -N patches/patch-src_mumble_AudioInput_cpp
--- patches/patch-src_mumble_AudioInput_cpp 15 Dec 2021 22:25:39 -0000
1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
-$OpenBSD: patch-src_mumble_AudioInput_cpp,v 1.1 2021/12/15 22:25:39 kn Exp $
-
-a8e0797f5 "FIX(client): Update rnnoise-src submodule"; remove with next
update
-
-Index: src/mumble/AudioInput.cpp
---- src/mumble/AudioInput.cpp.orig
-+++ src/mumble/AudioInput.cpp
-@@ -106,7 +106,7 @@ AudioInput::AudioInput() : opusBuffer(g.s.iFramesPerPa
- #endif
-
- #ifdef USE_RNNOISE
-- denoiseState = rnnoise_create();
-+ denoiseState = rnnoise_create(nullptr);
- #endif
-
- qWarning("AudioInput: %d bits/s, %d hz, %d sample", iAudioQuality,
iSampleRate, iFrameSize);
Index: patches/patch-src_mumble_AudioWizard_cpp
===================================================================
RCS file:
/home/cvs/ports/audio/mumble/patches/patch-src_mumble_AudioWizard_cpp,v
retrieving revision 1.5
diff -u -p -r1.5 patch-src_mumble_AudioWizard_cpp
--- patches/patch-src_mumble_AudioWizard_cpp 13 Mar 2020 23:31:22 -0000
1.5
+++ patches/patch-src_mumble_AudioWizard_cpp 18 Jan 2022 06:54:38 -0000
@@ -1,4 +1,4 @@
-$OpenBSD: patch-src_mumble_AudioWizard_cpp,v 1.5 2020/03/13 23:31:22 jca Exp $
+$OpenBSD$
There's a convoluted threading issue: in PAAudio.cpp, around line 338,
it will get caught in an infinite loop. It relies on the PortAudioInput
@@ -13,10 +13,10 @@ https://github.com/mumble-voip/mumble/is
Index: src/mumble/AudioWizard.cpp
--- src/mumble/AudioWizard.cpp.orig
+++ src/mumble/AudioWizard.cpp
-@@ -292,7 +292,8 @@ void AudioWizard::on_qcbOutputDevice_activated(int) {
+@@ -290,7 +290,8 @@ void AudioWizard::on_qcbOutputDevice_activated(int) {
void AudioWizard::on_qsOutputDelay_valueChanged(int v) {
- qlOutputDelay->setText(tr("%1 ms").arg(v*10));
- g.s.iOutputDelay = v;
+ qlOutputDelay->setText(tr("%1 ms").arg(v * 10));
+ Global::get().s.iOutputDelay = v;
- restartAudio();
+ if (! bInit)
+ restartAudio();
Index: patches/patch-src_mumble_Settings_cpp
===================================================================
RCS file: /home/cvs/ports/audio/mumble/patches/patch-src_mumble_Settings_cpp,v
retrieving revision 1.3
diff -u -p -r1.3 patch-src_mumble_Settings_cpp
--- patches/patch-src_mumble_Settings_cpp 25 Feb 2020 05:14:52 -0000
1.3
+++ patches/patch-src_mumble_Settings_cpp 18 Jan 2022 06:47:45 -0000
@@ -1,27 +1,16 @@
-$OpenBSD: patch-src_mumble_Settings_cpp,v 1.3 2020/02/25 05:14:52
rsadowski Exp $
+$OpenBSD$
-Disable Text-To-Speech
-
-Disable submitting anonymous statistics
+Disable submitting anonymous statistics by default
Index: src/mumble/Settings.cpp
--- src/mumble/Settings.cpp.orig
+++ src/mumble/Settings.cpp
-@@ -222,7 +222,7 @@ Settings::Settings() {
- atTransmit = VAD;
- bTransmitPosition = false;
- bMute = bDeaf = false;
-- bTTS = true;
-+ bTTS = false;
- bTTSMessageReadBack = false;
- iTTSVolume = 75;
- iTTSThreshold = 250;
-@@ -298,7 +298,7 @@ Settings::Settings() {
+@@ -393,7 +393,7 @@ Settings::Settings() {
bHideInTray = !isUnityDesktop &&
QSystemTrayIcon::isSystemTrayAvailable();
#endif
- bStateInTray = true;
-- bUsage = true;
-+ bUsage = false;
- bShowUserCount = false;
- bChatBarUseSelection = false;
- bFilterHidesEmptyChannels = true;
+ bStateInTray = true;
+- bUsage = true;
++ bUsage = false;
+ bShowUserCount = false;
+ bShowVolumeAdjustments = true;
+ bShowNicknamesOnly = false;
Index: pkg/PLIST-main
===================================================================
RCS file: /home/cvs/ports/audio/mumble/pkg/PLIST-main,v
retrieving revision 1.1
diff -u -p -r1.1 PLIST-main
--- pkg/PLIST-main 13 Apr 2020 13:18:36 -0000 1.1
+++ pkg/PLIST-main 11 Jan 2022 10:55:10 -0000
@@ -2,56 +2,12 @@
@pkgpath audio/mumble
@bin bin/mumble
lib/mumble/
-@so lib/mumble/liblink.so
+lib/mumble/libcelt0.so.0.7.0
@man man/man1/mumble.1
-share/applications/mumble.desktop
+share/applications/org.mumble_voip.mumble.desktop
+share/icons/hicolor/256x256/apps/mumble.png
share/icons/hicolor/scalable/apps/mumble.svg
-share/mumble/
-share/mumble/locale/
-share/mumble/locale/mumble_ar.qm
-share/mumble/locale/mumble_be.qm
-share/mumble/locale/mumble_bg.qm
-share/mumble/locale/mumble_br.qm
-share/mumble/locale/mumble_cs.qm
-share/mumble/locale/mumble_cy.qm
-share/mumble/locale/mumble_da.qm
-share/mumble/locale/mumble_de.qm
-share/mumble/locale/mumble_el.qm
-share/mumble/locale/mumble_el_GR.qm
-share/mumble/locale/mumble_en.qm
-share/mumble/locale/mumble_en_GB.qm
-share/mumble/locale/mumble_eo.qm
-share/mumble/locale/mumble_es.qm
-share/mumble/locale/mumble_eu.qm
-share/mumble/locale/mumble_fa_IR.qm
-share/mumble/locale/mumble_fi.qm
-share/mumble/locale/mumble_fr.qm
-share/mumble/locale/mumble_gl.qm
-share/mumble/locale/mumble_he.qm
-share/mumble/locale/mumble_hi.qm
-share/mumble/locale/mumble_hu.qm
-share/mumble/locale/mumble_it.qm
-share/mumble/locale/mumble_ja.qm
-share/mumble/locale/mumble_ko.qm
-share/mumble/locale/mumble_lt.qm
-share/mumble/locale/mumble_nb_NO.qm
-share/mumble/locale/mumble_nl.qm
-share/mumble/locale/mumble_nl_BE.qm
-share/mumble/locale/mumble_no.qm
-share/mumble/locale/mumble_pl.qm
-share/mumble/locale/mumble_pt_BR.qm
-share/mumble/locale/mumble_pt_PT.qm
-share/mumble/locale/mumble_ro.qm
-share/mumble/locale/mumble_ru.qm
-share/mumble/locale/mumble_sk.qm
-share/mumble/locale/mumble_sv.qm
-share/mumble/locale/mumble_te.qm
-share/mumble/locale/mumble_th.qm
-share/mumble/locale/mumble_tr.qm
-share/mumble/locale/mumble_uk.qm
-share/mumble/locale/mumble_vi.qm
-share/mumble/locale/mumble_zh_CN.qm
-share/mumble/locale/mumble_zh_HK.qm
-share/mumble/locale/mumble_zh_TW.qm
@tag gtk-update-icon-cache %D/share/icons/hicolor
@tag update-desktop-database
+share/metainfo/
+share/metainfo/org.mumble_voip.mumble.appdata.xml
Index: pkg/PLIST-server
===================================================================
RCS file: /home/cvs/ports/audio/mumble/pkg/PLIST-server,v
retrieving revision 1.1
diff -u -p -r1.1 PLIST-server
--- pkg/PLIST-server 13 Apr 2020 13:18:36 -0000 1.1
+++ pkg/PLIST-server 11 Jan 2022 11:02:46 -0000
@@ -2,14 +2,14 @@
@newgroup _murmurd:854
@newuser _murmurd:854:_murmurd:daemon:Mumble server:/nonexistent:/sbin/nologin
@rcscript ${RCDIR}/murmurd
+@bin bin/mumble-server
+@bin bin/murmurd
+@man man/man1/murmur-user-wrapper.1
@man man/man1/murmurd.1
-@bin sbin/murmurd
share/examples/murmur/
share/examples/murmur/murmur.ini
-@mode 640
-@group _murmurd
@sample ${SYSCONFDIR}/murmur.ini
-@mode
@owner _murmurd
+@group _murmurd
@sample ${LOCALSTATEDIR}/murmur/
@extraunexec rm -rf ${LOCALSTATEDIR}/murmur/*