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/*
