#Packager: Dimitris Tzemos pkgname=mumble-server pkgver=1.5.634 pkgrel=1dj source=("https://github.com/mumble-voip/mumble/releases/download/v$pkgver/mumble-$pkgver.tar.gz" "mumble-server.logrotate" "rc.mumble-server" "README.Slackware" "config-helper.sh") docs=('CODE_OF_CONDUCT.md' 'COMMIT_GUIDELINES.md' 'LICENSE' 'README.md' 'SECURITY.md') options=('noautodotnew') url="http://mumble.sourceforge.net/" dotnew=("etc/mumble-server.ini" "etc/rc.d/rc.mumble-server" "etc/logrotate.d/mumble-server") slackdesc=\ ( #|-----handy-ruler------------------------------------------------------| "mumble-server (low latency voip server) and Mumble client" "Mumble-server is the VoIP server component for Mumble. Murmur is" "installed in a system-wide fashion, but can also be run by" "individual users. Each mumble-server process supports multiple virtual" "servers, each with their own user base and channel list." "Administration of murmur is done through D-Bus." "Homepage: http://mumble.sourceforge.net/" "Make sure you read the documentation about how to set this up," "especially the info about creating mumble-server user and groups in" "/usr/doc/mumble-$pkgver/README.Slackware" ) build() { cd $startdir/src/mumble-$pkgver # protobuf 23 requires C++17 sed -e 's|CMAKE_CXX_STANDARD 14|CMAKE_CXX_STANDARD 17|' -i $startdir/src/mumble-$pkgver/CMakeLists.txt || return 1 # For simplicity, we'll keep the old name for the user:group MURMUR_GROUP=${MURMUR_GROUP:-mumble-server} MURMUR_USER=${MURMUR_USER:-mumble-server} mkdir -p build (cd build cmake \ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_MANDIR=/usr/man \ -DCMAKE_BUILD_TYPE=Release \ -Dwarnings-as-errors=OFF \ -DBUILD_NUMBER="${pkgver/*./}" \ -DMUMBLE_INSTALL_ABS_SYSCONFDIR=/etc/mumble-server \ -DCMAKE_INSTALL_SYSCONFDIR=/etc \ -Dclient=OFF \ -Dserver=ON \ -Dice=OFF \ -Dzeroconf=OFF .. make make install DESTDIR=$PKG ) # remove useless manpage for broken server wrapper rm -f $PKG/usr/man/man1/murmur-user-wrapper.1 mkdir -p \ $PKG/etc/{logrotate.d,rc.d} \ $PKG/var/{lib,log}/$pkgname # choose sane locations in Murmur configuration file, still old name sed \ -e "s,database=.*,database=/var/lib/$pkgname/$pkgname.sqlite," \ -e "s,;logfile=.*,logfile=/var/log/$pkgname/$pkgname.log," \ -e "s,;pidfile=.*,pidfile=/var/run/$pkgname/$pkgname.pid," \ -e "s,uname=.*,uname=$MURMUR_USER," \ $PKG/etc/mumble/mumble-server.ini > $PKG/etc/$pkgname.ini # Slackware style logrotate sed \ -e "s,@LOGFILE@,/var/log/$pkgname/$pkgname.log," \ -e "s,@USER@,$MURMUR_USER,g" \ -e "s,@GROUP@,$MURMUR_GROUP,g" \ $SRC/$pkgname.logrotate > $PKG/etc/logrotate.d/$pkgname sed \ -e "s,@USER@,$MURMUR_USER,g" \ -e "s,@GROUP@,$MURMUR_GROUP,g" \ $SRC/rc.$pkgname > $PKG/etc/rc.d/rc.$pkgname chown root:$MURMUR_GROUP $PKG/etc/$pkgname.ini chmod o-rwx $PKG/etc/$pkgname.ini chown $MURMUR_USER:$MURMUR_GROUP $PKG/var/{lib,log}/$pkgname chmod o-rwx $PKG/var/lib/$pkgname rm -rf $PKG/etc/mumble/mumble-server.ini find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true find $PKG/usr/man -type f -exec gzip -9 {} \; for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done }