Update mumble

This commit is contained in:
Alex D. 2022-02-05 14:18:20 +00:00
parent f87e435e70
commit 4d2893435d
Signed by: caskd
GPG Key ID: F92BA85F61F4C173
4 changed files with 107 additions and 28 deletions

View File

@ -2,8 +2,9 @@
# Contributor: Johannes Matheis <jomat+alpinebuild@jmt.gr> # Contributor: Johannes Matheis <jomat+alpinebuild@jmt.gr>
# Maintainer: Johannes Matheis <jomat+alpinebuild@jmt.gr> # Maintainer: Johannes Matheis <jomat+alpinebuild@jmt.gr>
pkgname=mumble pkgname=mumble
pkgver=1.3.4 pkgver=1.4.230
pkgrel=4 _libver=1.4.0
pkgrel=1
pkgdesc="Low-latency, high quality voice chat software" pkgdesc="Low-latency, high quality voice chat software"
url="https://wiki.mumble.info/" url="https://wiki.mumble.info/"
arch="all" arch="all"
@ -11,21 +12,27 @@ license="BSD-3-Clause"
options="!check" options="!check"
depends="qt5-qtbase-sqlite" depends="qt5-qtbase-sqlite"
makedepends="qt5-qtbase-dev libsndfile-dev boost-dev avahi-dev protobuf-dev 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 libxi-dev speex-dev speexdsp-dev libcap-dev alsa-lib-dev qt5-qtsvg-dev
qt5-qttools-dev opus-dev qt5-qttools-dev opus-dev poco-dev cmake pulseaudio-dev
" "
install="murmur.pre-install" install="murmur.pre-install"
pkgusers="murmur" pkgusers="murmur"
pkggroups="murmur" pkggroups="murmur"
subpackages=" subpackages="
$pkgname-doc $pkgname-doc
$pkgname-plugins
murmur murmur
murmur-openrc:murmur_openrc:noarch murmur-openrc:murmur_openrc:noarch
murmur-doc:murmur_doc: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 murmur.initd
poll.patch
libgen.patch
no-rnnoise.patch
" "
builddir="$srcdir/$pkgname-$pkgver.src"
# secfixes: # secfixes:
# 1.3.4-r0: # 1.3.4-r0:
@ -34,40 +41,49 @@ source="https://github.com/mumble-voip/mumble/releases/download/$pkgver/mumble-$
# - CVE-2018-20743 # - CVE-2018-20743
build() { build() {
qmake-qt5 -recursive main.pro \ cmake -B build \
CONFIG+="no-speechd no-g15 no-ice bundled-celt no-embed-qt-translations no-bundled-speex no-bundled-opus" \ -DCMAKE_INSTALL_PREFIX=/usr \
DEFINES+="PLUGIN_PATH=/usr/lib/mumble" -DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_SHARED_LIBS=True \
make release -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() { package() {
# Binaries. # Binaries.
local _ver=${pkgver%_rc*} local _maj=$( echo "$_libver" | cut -d. -f1)
local _maj=$( echo "$_ver" | cut -d. -f1) local _min=$( echo "$_libver" | cut -d. -f2)
local _min=$( echo "$_ver" | cut -d. -f2) install -Dm755 ./build/mumble \
install -Dm755 ./release/mumble \
"$pkgdir"/usr/bin/mumble "$pkgdir"/usr/bin/mumble
install -Dm755 ./scripts/mumble-overlay \ install -Dm755 ./scripts/mumble-overlay \
"$pkgdir"/usr/bin/mumble-overlay "$pkgdir"/usr/bin/mumble-overlay
# Libraries. # Plugins
install -Dm755 ./release/libmumble.so.$_maj.$_min \ for i in ./build/plugins/*.so; do
"$pkgdir"/usr/lib/mumble/libmumble.so.$_maj.$_min install -Dm755 -v "$i" \
for lib in libmumble.so libmumble.so.$_maj libmumble.so.$_ver; do "$pkgdir"/usr/lib/mumble/"${i##*/}".$_libver
ln -s libmumble.so.$_maj.$_min \
"$pkgdir"/usr/lib/mumble/$lib
done done
install -Dm755 ./release/plugins/liblink.so \
"$pkgdir"/usr/lib/mumble/liblink.so # Libraries.
install -Dm755 ./release/libcelt* \ install -Dm755 ./build/libmumbleoverlay.so.$_libver \
"$pkgdir"/usr/lib/mumble/ "$pkgdir"/usr/lib/mumble/libmumbleoverlay.so.$_libver
# Misc. # Misc.
install -Dm644 ./LICENSE \ install -Dm644 ./LICENSE \
"$pkgdir"/usr/share/licenses/$pkgname/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
install -Dm644 ./scripts/mumble.desktop \ install -Dm644 ./scripts/org.mumble_voip.mumble.desktop \
"$pkgdir"/usr/share/applications/mumble.desktop "$pkgdir"/usr/share/applications/org.mumble_voip.mumble.desktop
install -Dm644 ./icons/mumble.svg \ install -Dm644 ./icons/mumble.svg \
"$pkgdir"/usr/share/icons/hicolor/scalable/apps/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 install -Dm755 "$srcdir"/murmur.initd "$pkgdir"/etc/init.d/murmur
} }
plugins() {
amove usr/lib/mumble
}
murmur() { murmur() {
pkgdesc="Murmur is the server component of Mumble" pkgdesc="Murmur is the server component of Mumble"
cd "$builddir" 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 \ install -o murmur -g murmur -dm755 \
"$subpkgdir"/var/lib/murmur "$subpkgdir"/var/lib/murmur
install -Dm755 ./release/murmurd \ install -Dm755 ./build/mumble-server \
"$subpkgdir"/usr/bin/murmurd "$subpkgdir"/usr/bin/murmurd
ln -s /usr/bin/murmurd "$subpkgdir"/usr/bin/mumble-server
install -Dm644 ./scripts/murmur.ini \ install -Dm644 ./scripts/murmur.ini \
"$subpkgdir"/etc/murmur.ini "$subpkgdir"/etc/murmur.ini
@ -119,6 +144,9 @@ murmur_openrc() {
} }
sha512sums=" sha512sums="
e2dde5aad30d1a931e7acd8d7db0b8c785d3a268d0b8cf5626fa03953a51bcadb719c6682c440d02524e83beee13d73d8f5bb3fdf98ab1c82d3ecf824cc25f68 mumble-1.3.4.tar.gz 6cffc7a95d88b33876f4093b99266468210f5c14f190fbd2fbe4991bef91a567e55296e7c8c6cc99e19c054853211085cc3cc08109e367e6776afb70766b3a53 mumble-1.4.230.tar.gz
1edccadd87446a6b9f5b87f19405f92e3450c48334c79fba4bc2c31224be767be084488c4352f14e64b7506b5963d1d6f3d8d4c7ea8e8276104d19a4a03892c6 murmur.initd 1edccadd87446a6b9f5b87f19405f92e3450c48334c79fba4bc2c31224be767be084488c4352f14e64b7506b5963d1d6f3d8d4c7ea8e8276104d19a4a03892c6 murmur.initd
2d35b71ce9b537fc3c1d9ec1a280a20209aa0e751b4a4bc8b3ea0d97418787ec19c708d88b51b3acab69f51a601dfa3ae49956afd78bbbe1122f879a58284f5e poll.patch
2dac9e8e321c7a9837a0e4e2b368c39ffa525012316063e02ae5286c215967e88007a4d89590c251e11020e3d50f8f08eb050a3a02526f758d128b7b061580d2 libgen.patch
7b82a4333e49253e0a6048741a710bace18ebbf156565365b843888d7f3e02cc9e43c411e2e9a914109f14db2b45f1db0a393cbd8399ec9ccf27d60419e551ff no-rnnoise.patch
" "

22
main/mumble/libgen.patch Normal file
View File

@ -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 <cstring>
#include <sstream>
+#include <libgen.h>
#include <sys/uio.h>
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 <stdio.h>
#include <stdlib.h>
#include <string>
+#include <libgen.h>
#include <sys/uio.h>
// This function returns:

View File

@ -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 <algorithm>
#include <limits>
+#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;

12
main/mumble/poll.patch Normal file
View File

@ -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 <alsa/asoundlib.h>
-#include <sys/poll.h>
+#include <poll.h>
#include "Global.h"