From 4d2893435d64b6a9dbae7d1023786b33539ff382 Mon Sep 17 00:00:00 2001 From: Alex Denes Date: Sat, 5 Feb 2022 14:18:20 +0000 Subject: [PATCH] Update mumble --- main/mumble/APKBUILD | 84 ++++++++++++++++++++++++------------ main/mumble/libgen.patch | 22 ++++++++++ main/mumble/no-rnnoise.patch | 17 ++++++++ main/mumble/poll.patch | 12 ++++++ 4 files changed, 107 insertions(+), 28 deletions(-) create mode 100644 main/mumble/libgen.patch create mode 100644 main/mumble/no-rnnoise.patch create mode 100644 main/mumble/poll.patch diff --git a/main/mumble/APKBUILD b/main/mumble/APKBUILD index 35737af..a8c10b4 100644 --- a/main/mumble/APKBUILD +++ b/main/mumble/APKBUILD @@ -2,8 +2,9 @@ # Contributor: Johannes Matheis # Maintainer: Johannes Matheis pkgname=mumble -pkgver=1.3.4 -pkgrel=4 +pkgver=1.4.230 +_libver=1.4.0 +pkgrel=1 pkgdesc="Low-latency, high quality voice chat software" url="https://wiki.mumble.info/" arch="all" @@ -11,21 +12,27 @@ license="BSD-3-Clause" options="!check" depends="qt5-qtbase-sqlite" makedepends="qt5-qtbase-dev libsndfile-dev boost-dev avahi-dev protobuf-dev - libxi-dev speex-dev speexdsp-dev libcap-dev alsa-lib-dev pulseaudio-dev qt5-qtsvg-dev - qt5-qttools-dev opus-dev + libxi-dev speex-dev speexdsp-dev libcap-dev alsa-lib-dev qt5-qtsvg-dev + qt5-qttools-dev opus-dev poco-dev cmake pulseaudio-dev " install="murmur.pre-install" pkgusers="murmur" pkggroups="murmur" subpackages=" $pkgname-doc + $pkgname-plugins murmur murmur-openrc:murmur_openrc:noarch murmur-doc:murmur_doc:noarch " -source="https://github.com/mumble-voip/mumble/releases/download/$pkgver/mumble-$pkgver.tar.gz +source="https://github.com/mumble-voip/mumble/releases/download/v$pkgver/mumble-$pkgver.tar.gz murmur.initd + + poll.patch + libgen.patch + no-rnnoise.patch " +builddir="$srcdir/$pkgname-$pkgver.src" # secfixes: # 1.3.4-r0: @@ -34,40 +41,49 @@ source="https://github.com/mumble-voip/mumble/releases/download/$pkgver/mumble-$ # - CVE-2018-20743 build() { - qmake-qt5 -recursive main.pro \ - CONFIG+="no-speechd no-g15 no-ice bundled-celt no-embed-qt-translations no-bundled-speex no-bundled-opus" \ - DEFINES+="PLUGIN_PATH=/usr/lib/mumble" - - make release + cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_SHARED_LIBS=True \ + -DCMAKE_BUILD_TYPE=MinSizRel \ + -DMUMBLE_INSTALL_PLUGINDIR=/usr/lib/mumble \ + -Doverlay-xcompile=OFF \ + -Dspeechd=OFF \ + -Dice=OFF \ + -Drnnoise=ON \ + -Dpulseaudio=ON \ + -Dbundled-celt=ON \ + -Dbundle-qt-translations=OFF \ + -Dbundled-speex=OFF \ + -Dbundled-opus=OFF \ + . + cmake --build build } package() { # Binaries. - local _ver=${pkgver%_rc*} - local _maj=$( echo "$_ver" | cut -d. -f1) - local _min=$( echo "$_ver" | cut -d. -f2) - install -Dm755 ./release/mumble \ + local _maj=$( echo "$_libver" | cut -d. -f1) + local _min=$( echo "$_libver" | cut -d. -f2) + install -Dm755 ./build/mumble \ "$pkgdir"/usr/bin/mumble install -Dm755 ./scripts/mumble-overlay \ "$pkgdir"/usr/bin/mumble-overlay - # Libraries. - install -Dm755 ./release/libmumble.so.$_maj.$_min \ - "$pkgdir"/usr/lib/mumble/libmumble.so.$_maj.$_min - for lib in libmumble.so libmumble.so.$_maj libmumble.so.$_ver; do - ln -s libmumble.so.$_maj.$_min \ - "$pkgdir"/usr/lib/mumble/$lib + # Plugins + for i in ./build/plugins/*.so; do + install -Dm755 -v "$i" \ + "$pkgdir"/usr/lib/mumble/"${i##*/}".$_libver done - install -Dm755 ./release/plugins/liblink.so \ - "$pkgdir"/usr/lib/mumble/liblink.so - install -Dm755 ./release/libcelt* \ - "$pkgdir"/usr/lib/mumble/ + + # Libraries. + install -Dm755 ./build/libmumbleoverlay.so.$_libver \ + "$pkgdir"/usr/lib/mumble/libmumbleoverlay.so.$_libver # Misc. install -Dm644 ./LICENSE \ "$pkgdir"/usr/share/licenses/$pkgname/LICENSE - install -Dm644 ./scripts/mumble.desktop \ - "$pkgdir"/usr/share/applications/mumble.desktop + install -Dm644 ./scripts/org.mumble_voip.mumble.desktop \ + "$pkgdir"/usr/share/applications/org.mumble_voip.mumble.desktop install -Dm644 ./icons/mumble.svg \ "$pkgdir"/usr/share/icons/hicolor/scalable/apps/mumble.svg @@ -79,14 +95,23 @@ package() { install -Dm755 "$srcdir"/murmur.initd "$pkgdir"/etc/init.d/murmur } +plugins() { + amove usr/lib/mumble +} + murmur() { pkgdesc="Murmur is the server component of Mumble" cd "$builddir" + # Regarding the murmurd <-> mumble-server naming + # See: https://github.com/mumble-voip/mumble + # Currently, we continue using murmurd everywhere + # but provide a murmurd -> mumble-server symlink. install -o murmur -g murmur -dm755 \ "$subpkgdir"/var/lib/murmur - install -Dm755 ./release/murmurd \ + install -Dm755 ./build/mumble-server \ "$subpkgdir"/usr/bin/murmurd + ln -s /usr/bin/murmurd "$subpkgdir"/usr/bin/mumble-server install -Dm644 ./scripts/murmur.ini \ "$subpkgdir"/etc/murmur.ini @@ -119,6 +144,9 @@ murmur_openrc() { } sha512sums=" -e2dde5aad30d1a931e7acd8d7db0b8c785d3a268d0b8cf5626fa03953a51bcadb719c6682c440d02524e83beee13d73d8f5bb3fdf98ab1c82d3ecf824cc25f68 mumble-1.3.4.tar.gz +6cffc7a95d88b33876f4093b99266468210f5c14f190fbd2fbe4991bef91a567e55296e7c8c6cc99e19c054853211085cc3cc08109e367e6776afb70766b3a53 mumble-1.4.230.tar.gz 1edccadd87446a6b9f5b87f19405f92e3450c48334c79fba4bc2c31224be767be084488c4352f14e64b7506b5963d1d6f3d8d4c7ea8e8276104d19a4a03892c6 murmur.initd +2d35b71ce9b537fc3c1d9ec1a280a20209aa0e751b4a4bc8b3ea0d97418787ec19c708d88b51b3acab69f51a601dfa3ae49956afd78bbbe1122f879a58284f5e poll.patch +2dac9e8e321c7a9837a0e4e2b368c39ffa525012316063e02ae5286c215967e88007a4d89590c251e11020e3d50f8f08eb050a3a02526f758d128b7b061580d2 libgen.patch +7b82a4333e49253e0a6048741a710bace18ebbf156565365b843888d7f3e02cc9e43c411e2e9a914109f14db2b45f1db0a393cbd8399ec9ccf27d60419e551ff no-rnnoise.patch " diff --git a/main/mumble/libgen.patch b/main/mumble/libgen.patch new file mode 100644 index 0000000..bf47982 --- /dev/null +++ b/main/mumble/libgen.patch @@ -0,0 +1,22 @@ +diff -upr mumble-1.4.230.orig/plugins/HostLinux.cpp mumble-1.4.230/plugins/HostLinux.cpp +--- mumble-1.4.230.orig/plugins/HostLinux.cpp 2022-01-19 20:37:55.538864686 +0100 ++++ mumble-1.4.230/plugins/HostLinux.cpp 2022-01-19 20:38:26.358999072 +0100 +@@ -10,6 +10,7 @@ + #include + #include + ++#include + #include + + HostLinux::HostLinux(const procid_t pid) : m_pid(pid) { +diff -upr mumble-1.4.230.orig/plugins/mumble_positional_audio_linux.h mumble-1.4.230/plugins/mumble_positional_audio_linux.h +--- mumble-1.4.230.orig/plugins/mumble_positional_audio_linux.h 2022-01-19 20:37:55.545531381 +0100 ++++ mumble-1.4.230/plugins/mumble_positional_audio_linux.h 2022-01-19 20:38:45.419082181 +0100 +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + #include + + // This function returns: diff --git a/main/mumble/no-rnnoise.patch b/main/mumble/no-rnnoise.patch new file mode 100644 index 0000000..e0eaa1c --- /dev/null +++ b/main/mumble/no-rnnoise.patch @@ -0,0 +1,17 @@ +diff -upr mumble-1.4.230.orig/src/mumble/AudioInput.cpp mumble-1.4.230/src/mumble/AudioInput.cpp +--- mumble-1.4.230.orig/src/mumble/AudioInput.cpp 2022-01-19 20:46:46.821208697 +0100 ++++ mumble-1.4.230/src/mumble/AudioInput.cpp 2022-01-19 20:47:13.024658224 +0100 +@@ -32,11 +32,13 @@ extern "C" { + #include + #include + ++#ifdef USE_RNNOISE + /// Clip the given float value to a range that can be safely converted into a short (without causing integer overflow) + static short clampFloatSample(float v) { + return static_cast< short >(std::min(std::max(v, static_cast< float >(std::numeric_limits< short >::min())), + static_cast< float >(std::numeric_limits< short >::max()))); + } ++#endif + + void Resynchronizer::addMic(short *mic) { + bool drop = false; diff --git a/main/mumble/poll.patch b/main/mumble/poll.patch new file mode 100644 index 0000000..e95ae0d --- /dev/null +++ b/main/mumble/poll.patch @@ -0,0 +1,12 @@ +diff -upr mumble-1.4.230.orig/src/mumble/ALSAAudio.cpp mumble-1.4.230/src/mumble/ALSAAudio.cpp +--- mumble-1.4.230.orig/src/mumble/ALSAAudio.cpp 2022-01-19 20:56:34.290426880 +0100 ++++ mumble-1.4.230/src/mumble/ALSAAudio.cpp 2022-01-19 20:56:52.313837957 +0100 +@@ -10,7 +10,7 @@ + #include "Utils.h" + + #include +-#include ++#include + + #include "Global.h" +