mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-29 13:00:32 +01:00
8aef445b4f
- Fixed $SLKCFLAGS not being directly passed to qmake - Included 'mumble-overly' script; this allows for the use of the mumble overlay - Added COMPAT32 option for libmumble (preloaded overlay library) The COMPAT32 option does build a 32-bit libmumble via the -m32 CFLAG, and I'm fairly certain this is taboo for SBo. Obviously, -m32 requires a multilibbed system, and not all x86_64 systems have this setup. On x86_64 systems, mumble-overly will look for a 32-bit libmumble to use, and it helps keep compatibility. Many of the people using this are somewhat of "gamers", and use it on games that are not native to the system (non-free and 32-bit only, wine, etc). Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
216 lines
6 KiB
Bash
216 lines
6 KiB
Bash
#!/bin/sh
|
|
|
|
# Slackware build script for Mumble
|
|
|
|
# Copyright 2011-2012 James Geboski <jgeboski@gmail.com>
|
|
# All rights reserved.
|
|
#
|
|
# Redistribution and use of this script, with or without modification, is
|
|
# permitted provided that the following conditions are met:
|
|
#
|
|
# 1. Redistributions of this script must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
|
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
|
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
PRGNAM=mumble
|
|
VERSION=${VERSION:-1.2.3}
|
|
BUILD=${BUILD:-2}
|
|
TAG=${TAG:-_SBo}
|
|
|
|
G15=${G15:-no}
|
|
OVERLAY=${OVERLAY:-no}
|
|
COMPAT32=${COMPAT32:-no}
|
|
|
|
if [ -z "$ARCH" ]; then
|
|
case "$( uname -m )" in
|
|
i?86) ARCH=i486 ;;
|
|
arm*) ARCH=arm ;;
|
|
*) ARCH=$( uname -m ) ;;
|
|
esac
|
|
fi
|
|
|
|
CWD=$(pwd)
|
|
TMP=${TMP:-/tmp/SBo}
|
|
PKG=$TMP/package-$PRGNAM
|
|
OUTPUT=${OUTPUT:-/tmp}
|
|
|
|
if [ "$ARCH" = "i486" ]; then
|
|
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
|
|
LIBDIRSUFFIX=""
|
|
elif [ "$ARCH" = "i686" ]; then
|
|
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
|
|
LIBDIRSUFFIX=""
|
|
elif [ "$ARCH" = "x86_64" ]; then
|
|
SLKCFLAGS="-O2 -fPIC"
|
|
LIBDIRSUFFIX="64"
|
|
else
|
|
SLKCFLAGS="-O2"
|
|
LIBDIRSUFFIX=""
|
|
fi
|
|
|
|
BUILD_G15=""
|
|
BUILD_OVERLAY=""
|
|
|
|
if [ "$G15" = "no" ]; then
|
|
BUILD_G15="CONFIG+=no-g15"
|
|
fi
|
|
|
|
if [ "$OVERLAY" = "no" ]; then
|
|
BUILD_OVERLAY="CONFIG+=no-overlay"
|
|
fi
|
|
|
|
set -e
|
|
|
|
rm -rf $PKG
|
|
mkdir -p $TMP $PKG $OUTPUT
|
|
cd $TMP
|
|
rm -rf $PRGNAM-$VERSION
|
|
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
|
|
cd $PRGNAM-$VERSION
|
|
chown -R root:root .
|
|
find . \
|
|
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
|
|
-exec chmod 755 {} \; -o \
|
|
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
|
|
-exec chmod 644 {} \;
|
|
|
|
# As of celt-0.11.0, the macro CELT_SET_VBR_RATE has been renamed to
|
|
# CELT_SET_BITRATE. Please make sure you have at least celt-0.11.0,
|
|
# if not comment the line below out.
|
|
patch -p1 < $CWD/patches/AudioInput-fix-for-celt-0.11.0.patch
|
|
|
|
# On GTK+ based envrionments (Ex: XFCE) the MainWindow's icon needed
|
|
# to be directly set.
|
|
patch -p1 < $CWD/patches/MainWindow-set-the-window-icon.patch
|
|
|
|
# The system's celt-0.11.0 is used, however, celt-0.7.0 is needed
|
|
# to keep compatibility with other Mumble clients.
|
|
cd celt-0.7.0-build
|
|
qmake \
|
|
QMAKE_CFLAGS+="$SLKCFLAGS" \
|
|
QMAKE_CXXFLAGS+="$SLKCFLAGS" \
|
|
-recursive \
|
|
celt-0.7.0-build.pro
|
|
|
|
make release
|
|
cd -
|
|
|
|
qmake \
|
|
-recursive \
|
|
main.pro \
|
|
QMAKE_CFLAGS+="$SLKCFLAGS" \
|
|
QMAKE_CXXFLAGS+="$SLKCFLAGS" \
|
|
DEFINES*="PLUGIN_PATH=/usr/lib${LIBDIRSUFFIX}/mumble" \
|
|
CONFIG+=no-server \
|
|
CONFIG+=no-bundled-celt \
|
|
CONFIG+=no-bundled-speex \
|
|
CONFIG+=no-pulseaudio \
|
|
CONFIG+=no-speechd \
|
|
CONFIG+=no-update \
|
|
CONFIG+=no-embed-qt-translations \
|
|
CONFIG+=no-ice \
|
|
CONFIG+=no-bonjour \
|
|
$BUILD_G15 \
|
|
$BUILD_OVERLAY
|
|
|
|
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 \
|
|
release/mumble11x \
|
|
$PKG/usr/bin
|
|
|
|
install -m 775 \
|
|
release/libcelt0.so.0.7.0 \
|
|
$PKG/usr/lib${LIBDIRSUFFIX}/mumble
|
|
|
|
cd $PKG/usr/lib${LIBDIRSUFFIX}/mumble
|
|
ln -sf libcelt0.so.0.7.0 libcelt0.so.0.7
|
|
ln -sf libcelt0.so.0.7.0 libcelt0.so.0
|
|
ln -sf libcelt0.so.0.7.0 libcelt0.so
|
|
cd -
|
|
|
|
install -m 644 \
|
|
man/mumble-overlay.1 \
|
|
man/mumble.1 \
|
|
man/mumble11x.1 \
|
|
$PKG/usr/man/man1
|
|
|
|
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
|
|
|
|
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
|
|
|
|
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
|
cp -a \
|
|
CHANGES LICENSE README README.Linux \
|
|
$PKG/usr/doc/$PRGNAM-$VERSION
|
|
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
|
|
|
mkdir -p $PKG/install
|
|
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}
|