2022-09-07 12:51:30 +00:00
|
|
|
# Maintainer: David Runge <dvzrv@archlinux.org>
|
2022-07-23 20:01:14 +00:00
|
|
|
# Maintainer: Sven-Hendrik Haase <svenstaro@archlinux.org>
|
|
|
|
# Contributor: Lauri Niskanen <ape@ape3000.com>
|
|
|
|
# Contributor: Sebastian.Salich@gmx.de
|
|
|
|
# Contributor: Doc Angelo
|
|
|
|
|
|
|
|
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
|
|
|
# - removed makedepend on lib32-gcc-libs
|
|
|
|
|
2023-01-31 12:45:56 +00:00
|
|
|
# NOTE: needs to be built using multilib for mumble-overlay!
|
2022-07-23 20:01:14 +00:00
|
|
|
pkgbase=mumble
|
2023-01-31 12:45:56 +00:00
|
|
|
pkgname=(mumble mumble-server)
|
2024-05-19 14:26:22 +00:00
|
|
|
pkgver=1.5.634
|
2024-06-22 12:27:39 +00:00
|
|
|
pkgrel=2
|
2022-07-23 20:01:14 +00:00
|
|
|
pkgdesc="An Open Source, low-latency, high quality voice chat software"
|
2023-01-31 12:45:56 +00:00
|
|
|
arch=(x86_64)
|
2022-07-23 20:01:14 +00:00
|
|
|
url="https://www.mumble.info/"
|
2024-03-11 23:06:28 +00:00
|
|
|
license=(BSD-3-Clause)
|
2022-07-23 20:01:14 +00:00
|
|
|
# shared depends
|
2023-01-31 12:45:56 +00:00
|
|
|
depends=(
|
2024-03-11 23:06:28 +00:00
|
|
|
abseil-cpp
|
2023-01-31 12:45:56 +00:00
|
|
|
gcc-libs
|
|
|
|
glibc
|
|
|
|
qt5-base
|
|
|
|
)
|
2022-07-23 20:01:14 +00:00
|
|
|
# shared makedepends
|
2023-01-31 12:45:56 +00:00
|
|
|
makedepends=(
|
|
|
|
avahi
|
|
|
|
boost
|
|
|
|
cmake
|
|
|
|
openssl
|
|
|
|
protobuf
|
|
|
|
python
|
|
|
|
qt5-tools
|
|
|
|
)
|
2022-07-23 20:01:14 +00:00
|
|
|
# mumble makedepends
|
2023-01-31 12:45:56 +00:00
|
|
|
makedepends+=(
|
|
|
|
alsa-lib
|
|
|
|
hicolor-icon-theme
|
|
|
|
jack
|
|
|
|
libpulse
|
|
|
|
libsndfile
|
|
|
|
libspeechd
|
|
|
|
libx11
|
|
|
|
libxi
|
|
|
|
mesa
|
|
|
|
nlohmann-json
|
|
|
|
opus
|
|
|
|
poco
|
|
|
|
qt5-svg
|
|
|
|
rnnoise
|
|
|
|
speech-dispatcher
|
|
|
|
speexdsp
|
|
|
|
xdg-utils
|
|
|
|
)
|
|
|
|
# mumble-server makedepends
|
|
|
|
makedepends+=(
|
|
|
|
libcap
|
|
|
|
systemd
|
|
|
|
zeroc-ice
|
|
|
|
)
|
|
|
|
checkdepends=(
|
|
|
|
xorg-server-xvfb
|
|
|
|
)
|
2022-07-23 20:01:14 +00:00
|
|
|
source=(
|
2023-01-31 12:45:56 +00:00
|
|
|
https://github.com/mumble-voip/mumble/releases/download/v$pkgver/$pkgbase-$pkgver.tar.gz{,.sig}
|
|
|
|
mumble-server.tmpfiles
|
|
|
|
$pkgbase-1.5.517-config_defaults.patch
|
2022-07-23 20:01:14 +00:00
|
|
|
)
|
2024-05-19 14:26:22 +00:00
|
|
|
sha512sums=('5fa9479dd836b87cb84fb6c067019f75aac335aa201baa34939f1c73dd7c67279aed6079aecdab74a14cb6c285b69cb82798de8801b2140ccf99c764b3a84b59'
|
2022-07-23 20:01:14 +00:00
|
|
|
'SKIP'
|
2023-01-31 12:45:56 +00:00
|
|
|
'350575aaf26ac8b7dc567018defd59913da957983986017e82a92e53f2a6d21473d9c2566177abd7611d95858a723bcf7f8dad49e8ca18d18b9fa4e75fb15ca6'
|
2024-03-11 23:06:28 +00:00
|
|
|
'c12f6269c5745532031f09fba5b9e3118e6beaf387ae0aaba6ff8380a1452b47f9f0d1cae04472a5763b3da695e03467de152a98bf03c01ae59bd6d553ec7100')
|
2024-05-19 14:26:22 +00:00
|
|
|
b2sums=('ebd1e3569dd7311d704dbb83ff0ef15875dfaba7a7ba357e3be88800544d4d2217e19a15c0df778deec5a701ddc3692ca3f053651dec1eb1525b7963107ae76e'
|
2022-07-23 20:01:14 +00:00
|
|
|
'SKIP'
|
2023-01-31 12:45:56 +00:00
|
|
|
'476353608e794c431d9c79a54e11ad0442e3c96607b6492d3b2f5b589b96b120611e2e3dc1bb4f8e17c0911c238a9ca7b409277353fa08b9f690217f80d7dc4e'
|
2024-03-11 23:06:28 +00:00
|
|
|
'c607246691e9701f54b8d133db7d424a46ab94781178d172ae8a35df8ca505da59734ddae00789b93af316de3344d7e177a1a988e1438121e1e921ff59724f24')
|
2022-07-23 20:01:14 +00:00
|
|
|
# See https://github.com/mumble-voip/mumble-gpg-signatures
|
|
|
|
validpgpkeys=(
|
2024-03-11 23:06:28 +00:00
|
|
|
'9B9ADC09AD09F76B10F87CBFCDB285AE2332CF8D' # Mumble Automatic Build Infrastructure 2024 <mumble-auto-build-2024@mumble.info>
|
2022-07-23 20:01:14 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
prepare() {
|
2023-01-31 12:45:56 +00:00
|
|
|
# add default configuration options
|
|
|
|
patch -Np1 -d $pkgbase-$pkgver -i ../$pkgbase-1.5.517-config_defaults.patch
|
2024-03-11 23:06:28 +00:00
|
|
|
# ensure the default server directory is created
|
|
|
|
printf "d /var/lib/mumble-server 0750 _mumble-server _mumble-server -\n" >> $pkgbase-$pkgver/auxiliary_files/config_files/mumble-server.tmpfiles.in
|
2023-07-04 13:42:54 +00:00
|
|
|
# protobuf 23 requires C++17
|
|
|
|
sed -e 's|CMAKE_CXX_STANDARD 14|CMAKE_CXX_STANDARD 17|' -i $pkgname-$pkgver/CMakeLists.txt
|
2022-07-23 20:01:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
build() {
|
2023-01-31 12:45:56 +00:00
|
|
|
local default_options=(
|
2022-07-23 20:01:14 +00:00
|
|
|
-D CMAKE_INSTALL_PREFIX=/usr
|
|
|
|
-D CMAKE_BUILD_TYPE=None
|
2023-01-31 12:45:56 +00:00
|
|
|
# upstream requires adding arbitrary build number specifically, as otherwise the version string is wrong:
|
|
|
|
# https://github.com/mumble-voip/mumble/issues/5538
|
|
|
|
-D BUILD_NUMBER="${pkgver/*./}"
|
|
|
|
-D tests=ON
|
2022-07-23 20:01:14 +00:00
|
|
|
-D warnings-as-errors=OFF
|
2023-01-31 12:45:56 +00:00
|
|
|
-S $pkgbase-$pkgver
|
2022-07-23 20:01:14 +00:00
|
|
|
-W no-dev
|
|
|
|
)
|
2023-01-31 12:45:56 +00:00
|
|
|
local cmake_options_client=(
|
|
|
|
-D update=OFF
|
|
|
|
-D server=OFF
|
|
|
|
-B build-client
|
|
|
|
-D bundled-json=OFF
|
|
|
|
-D bundled-rnnoise=OFF
|
|
|
|
-D bundled-speex=OFF
|
2024-03-11 23:06:28 +00:00
|
|
|
-D rnnoise=ON
|
2023-01-31 12:45:56 +00:00
|
|
|
)
|
|
|
|
local cmake_options_server=(
|
|
|
|
-D MUMBLE_INSTALL_ABS_SYSCONFDIR=/etc/mumble-server
|
|
|
|
-D CMAKE_INSTALL_SYSCONFDIR=/etc
|
2024-03-11 23:06:28 +00:00
|
|
|
-D use-pkgconf-install-paths=ON
|
2023-01-31 12:45:56 +00:00
|
|
|
-D client=OFF
|
|
|
|
-B build-server
|
|
|
|
)
|
|
|
|
|
|
|
|
cmake "${default_options[@]}" "${cmake_options_server[@]}"
|
|
|
|
cmake --build build-server --verbose
|
2022-07-23 20:01:14 +00:00
|
|
|
|
2023-01-31 12:45:56 +00:00
|
|
|
cmake "${default_options[@]}" "${cmake_options_client[@]}"
|
|
|
|
cmake --build build-client --verbose
|
|
|
|
}
|
2022-07-23 20:01:14 +00:00
|
|
|
|
2023-01-31 12:45:56 +00:00
|
|
|
check() {
|
|
|
|
xvfb-run ctest --test-dir build-client --output-on-failure
|
|
|
|
ctest --test-dir build-server --output-on-failure
|
2022-07-23 20:01:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
package_mumble() {
|
|
|
|
pkgdesc+=" (client)"
|
2023-01-31 12:45:56 +00:00
|
|
|
# NOTE: jack, libpulse, and pipewire are dlopen'ed
|
|
|
|
depends+=(
|
|
|
|
alsa-lib libasound.so
|
|
|
|
avahi libdns_sd.so
|
|
|
|
hicolor-icon-theme
|
|
|
|
jack
|
|
|
|
protobuf libprotobuf.so
|
|
|
|
libpulse
|
|
|
|
libsndfile libsndfile.so
|
|
|
|
libspeechd
|
|
|
|
libx11
|
|
|
|
libxi
|
|
|
|
openssl libcrypto.so libssl.so
|
|
|
|
opus libopus.so
|
|
|
|
poco
|
|
|
|
qt5-svg
|
|
|
|
rnnoise
|
|
|
|
speexdsp libspeexdsp.so
|
|
|
|
xdg-utils
|
|
|
|
)
|
2022-07-23 20:01:14 +00:00
|
|
|
optdepends=(
|
2024-03-11 23:06:28 +00:00
|
|
|
'bash: for mumble-overlay'
|
2022-07-23 20:01:14 +00:00
|
|
|
'espeak-ng: Text-to-speech support'
|
|
|
|
'speech-dispatcher: Text-to-speech support'
|
|
|
|
)
|
|
|
|
|
2023-01-31 12:45:56 +00:00
|
|
|
DESTDIR="$pkgdir" cmake --install build-client
|
|
|
|
install -vDm 644 $pkgbase-$pkgver/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/"
|
2022-07-23 20:01:14 +00:00
|
|
|
}
|
|
|
|
|
2023-01-31 12:45:56 +00:00
|
|
|
package_mumble-server() {
|
2022-07-23 20:01:14 +00:00
|
|
|
pkgdesc+=" (server)"
|
2023-01-31 12:45:56 +00:00
|
|
|
depends+=(
|
|
|
|
avahi libdns_sd.so
|
2024-03-11 23:06:28 +00:00
|
|
|
bash
|
2023-01-31 12:45:56 +00:00
|
|
|
libcap libcap.so
|
|
|
|
openssl libcrypto.so libssl.so
|
|
|
|
protobuf libprotobuf.so
|
|
|
|
zeroc-ice
|
2022-07-23 20:01:14 +00:00
|
|
|
)
|
2023-01-31 12:45:56 +00:00
|
|
|
conflicts=('murmur<1.5')
|
|
|
|
replaces=('murmur<1.5')
|
|
|
|
backup=(etc/$pkgbase/$pkgname.ini)
|
|
|
|
install=mumble-server.install
|
2022-07-23 20:01:14 +00:00
|
|
|
|
2023-01-31 12:45:56 +00:00
|
|
|
DESTDIR="$pkgdir" cmake --install build-server
|
|
|
|
install -vDm 644 $pkgbase-$pkgver/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/"
|
2022-07-23 20:01:14 +00:00
|
|
|
}
|
|
|
|
# vim: sw=2:ts=2 et:
|