summaryrefslogtreecommitdiffstats
path: root/network/mumble/mumble.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'network/mumble/mumble.SlackBuild')
-rw-r--r--network/mumble/mumble.SlackBuild173
1 files changed, 75 insertions, 98 deletions
diff --git a/network/mumble/mumble.SlackBuild b/network/mumble/mumble.SlackBuild
index 9de8dc9468..f9d372c349 100644
--- a/network/mumble/mumble.SlackBuild
+++ b/network/mumble/mumble.SlackBuild
@@ -1,9 +1,9 @@
-#!/bin/sh
+#!/bin/bash
# Slackware build script for Mumble
# Copyright 2011-2013 James Geboski <jgeboski@gmail.com>
-# Copyright 2014-2015 Edward W. Koenig <kingbeowulf@gmail.com>
+# Copyright 2014-2021 Edward W. Koenig <kingbeowulf@gmail.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,33 +23,40 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
-# New maintainer: Edward W. Koenig <kingbeowulf@gmail.com>
+
+cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=mumble
-VERSION=${VERSION:-1.2.19}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-1.4.287}
+BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
G15=${G15:-no}
-OVERLAY=${OVERLAY:-no}
+OVERLAY=${OVERLAY:-yes}
COMPAT32=${COMPAT32:-no}
-SPEECHD=${SPEECHD:-no}
+SPEECHD=${SPEECHD:-yes}
+CELT=${CELT:-yes}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
-CWD=$(pwd)
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -62,19 +69,37 @@ else
LIBDIRSUFFIX=""
fi
-BUILD_G15=""
-BUILD_OVERLAY=""
-
if [ "$G15" = "no" ]; then
- BUILD_G15="CONFIG+=no-g15"
+ BUILD_G15="-Dg15=OFF"
+else
+ BUILD_G15="-Dg15=ON"
fi
if [ "$OVERLAY" = "no" ]; then
- BUILD_OVERLAY="CONFIG+=no-overlay"
+ BUILD_OVERLAY="-Doverlay=OFF"
+else
+ BUILD_OVERLAY="-Doverlay=ON"
+fi
+
+if [ "$COMPAT32" = "no" ]; then
+ BUILD_OVERLAY32="-Doverlay-xcompile=OFF"
+else
+ BUILD_OVERLAY32="-Doverlay-xcompile=ON"
fi
if [ "$SPEECHD" = "no" ]; then
- BUILD_SPEECHD="CONFIG+=no-speechd"
+ BUILD_SPEECHD="-Dspeechd=OFF"
+else
+ BUILD_SPEECHD="-Dspeechd=ON"
+fi
+
+# Celt is no longer maintained, and dropped in
+# favor of opus. Celt is bundled for optional
+# backware compatibility.
+if [ "CELT" = "no" ]; then
+ BUILD_CELT="-Dbundled-celt=OFF"
+else
+ BUILD_CELT="-Dbundled-celt=ON"
fi
set -e
@@ -84,6 +109,7 @@ mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+mv $PRGNAM-$VERSION.src $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
@@ -92,88 +118,36 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-# Mumble won't find the speechd header without this
-patch -p1 < $CWD/libspeechd_header.patch
-
-qmake -recursive main.pro \
- QMAKE_CFLAGS+="$SLKCFLAGS" \
- QMAKE_CXXFLAGS+="$SLKCFLAGS" \
- DEFINES*="PLUGIN_PATH=/usr/lib${LIBDIRSUFFIX}/mumble" \
- CONFIG+=bundled-celt \
- CONFIG+=no-server \
- CONFIG+=no-bundled-opus \
- CONFIG+=no-bundled-speex \
- CONFIG+=no-update \
- CONFIG+=no-embed-qt-translations \
- CONFIG+=no-ice \
- CONFIG+=no-bonjour \
+# Apply missing GTAV plugin patch for 32-bit alignment
+# https://github.com/mumble-voip/mumble/issues/5849
+patch -p1 < $CWD/positional-audio-plugin-gtav-32-bit-fix.patch
+
+sed -e "s|CMAKE_CXX_STANDARD 14|CMAKE_CXX_STANDARD 17|" -i CMakeLists.txt
+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 \
+ -Dclient=ON \
+ -Dserver=OFF \
+ -Dbundled-opus=OFF \
+ -Dbundled-speex=OFF \
+ -Dupdate=OFF \
+ -Dbundle-qt-translations=OFF \
+ -Dwarnings-as-errors=OFF \
+ -Dzeroconf=OFF \
+ $BUILD_CELT \
+ $BUILD_SPEECHD \
$BUILD_G15 \
$BUILD_OVERLAY \
- $BUILD_SPEECHD
-
-make release
-
-mkdir -p \
- $PKG/usr/bin \
- $PKG/usr/lib${LIBDIRSUFFIX}/mumble \
- $PKG/usr/man/man1 \
- $PKG/usr/share/{applications,pixmaps}
-
-install -m 755 release/mumble $PKG/usr/bin
-
-# Mumble's bundled celt is needed:
-# celt-0.7.0 is needed to keep compatibility with other clients
-# celt-0.11.0 is needed as SBo's 0.11.3 is incompatible
-cp -a release/libcelt0.so* $PKG/usr/lib${LIBDIRSUFFIX}/mumble
-
-install -m 644 \
- man/mumble-overlay.1 \
- man/mumble.1 \
- $PKG/usr/man/man1
+ $BUILD_OVERLAY32 ..
-install -m 644 scripts/mumble.desktop $PKG/usr/share/applications
-install -m 644 icons/mumble.svg $PKG/usr/share/pixmaps
-
-find release/plugins -type f -name *.so \
- -exec install -m 755 {} $PKG/usr/lib${LIBDIRSUFFIX}/mumble \;
-
-# If the overlay was built, let's install the library for it
-if [ -e release/libmumble.so.$VERSION ]; then
- install -m 755 release/libmumble.so.$VERSION $PKG/usr/lib${LIBDIRSUFFIX}
- install -m 755 scripts/mumble-overlay $PKG/usr/bin
-
- cd $PKG/usr/lib${LIBDIRSUFFIX}
- ln -sf libmumble.so.$VERSION libmumble.so.1.2
- ln -sf libmumble.so.$VERSION libmumble.so.1
- ln -sf libmumble.so.$VERSION libmumble.so
- cd -
-fi
-
-# The mumble-overly script will look for a 32-bit libmumble on non-pure x86_64
-# systems. If the x86_64 based system has a multilib setup, the COMPAT32
-# variable can be set to 'yes' to build a 32-bit version of libmumble.
-if [ "$COMPAT32" = "yes" -a "$OVERLAY" = "yes" -a "$ARCH" = "x86_64" ]; then
- cd overlay_gl
- make clean
-
- qmake \
- QMAKE_CFLAGS="-m32 -O2 -march=i486 -mtune=i686" \
- QMAKE_CXXFLAGS="-m32 -O2 -march=i486 -mtune=i686" \
- QMAKE_LFLAGS="-m32" \
- overlay_gl.pro
-
- make release DESTDIR_ADD=-32
- cd -
-
- mkdir -p $PKG/usr/lib
- install -m 755 release-32/libmumble.so.$VERSION $PKG/usr/lib
-
- cd $PKG/usr/lib
- ln -sf libmumble.so.$VERSION libmumble.so.1.2
- ln -sf libmumble.so.$VERSION libmumble.so.1
- ln -sf libmumble.so.$VERSION libmumble.so
- cd -
-fi
+make
+make install DESTDIR=$PKG
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
@@ -182,7 +156,10 @@ 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
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a CHANGES LICENSE README README.Linux $PKG/usr/doc/$PRGNAM-$VERSION
+(
+cd $TMP/$PRGNAM-$VERSION
+cp -a AUTHORS CHANGES CODE_OF_CONDUCT.md COMMIT_GUIDELINES.md LICENSE README.md SECURITY.md $PKG/usr/doc/$PRGNAM-$VERSION
+)
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
@@ -190,4 +167,4 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE