# Contributor: Sören Tempel # Contributor: Johannes Matheis # Maintainer: Johannes Matheis pkgname=mumble 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" 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 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/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: # - CVE-2021-27229 # 1.2.19-r9: # - CVE-2018-20743 build() { 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 _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 # Plugins for i in ./build/plugins/*.so; do install -Dm755 -v "$i" \ "$pkgdir"/usr/lib/mumble/"${i##*/}".$_libver done # 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/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 # Man pages. mkdir -p "$pkgdir"/usr/share/man/man1/ install -m644 ./man/mum* "$pkgdir"/usr/share/man/man1/ # openrc service 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 ./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 sed 's/^database=$/database=\/var\/lib\/murmur\/murmur.sqlite/;\ s/^;uname=$/uname=murmur/;\ s/^;logfile=murmur.log$/logfile=\/var\/log\/murmur.log/;\ s/^;pidfile=$/pidfile=\/var\/run\/murmur\/murmur.pid/'\ -i "$subpkgdir"/etc/murmur.ini install -Dm644 ./scripts/murmur.conf \ "$subpkgdir"/usr/share/dbus-1/system.d/murmurd.conf sed "s/mumble-server/murmur/" \ -i "$subpkgdir"/usr/share/dbus-1/system.d/murmurd.conf } murmur_doc() { pkgdesc="Murmur is the server component of Mumble" cd "$builddir" install -Dm644 ./man/murmurd.1 \ "$subpkgdir"/usr/share/man/man1/murmurd.1 install -Dm644 ./LICENSE \ "$subpkgdir"/usr/share/licenses/murmur/LICENSE default_doc } murmur_openrc() { default_openrc install_if="murmur=$pkgver-r$pkgrel openrc" } sha512sums=" 6cffc7a95d88b33876f4093b99266468210f5c14f190fbd2fbe4991bef91a567e55296e7c8c6cc99e19c054853211085cc3cc08109e367e6776afb70766b3a53 mumble-1.4.230.tar.gz 1edccadd87446a6b9f5b87f19405f92e3450c48334c79fba4bc2c31224be767be084488c4352f14e64b7506b5963d1d6f3d8d4c7ea8e8276104d19a4a03892c6 murmur.initd 2d35b71ce9b537fc3c1d9ec1a280a20209aa0e751b4a4bc8b3ea0d97418787ec19c708d88b51b3acab69f51a601dfa3ae49956afd78bbbe1122f879a58284f5e poll.patch 2dac9e8e321c7a9837a0e4e2b368c39ffa525012316063e02ae5286c215967e88007a4d89590c251e11020e3d50f8f08eb050a3a02526f758d128b7b061580d2 libgen.patch 7b82a4333e49253e0a6048741a710bace18ebbf156565365b843888d7f3e02cc9e43c411e2e9a914109f14db2b45f1db0a393cbd8399ec9ccf27d60419e551ff no-rnnoise.patch "