network/mumble: various build fixes and enhancements

- 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>
This commit is contained in:
James Geboski 2012-08-13 07:51:40 -05:00 committed by Robby Workman
parent 2ed9e80c54
commit 8aef445b4f
4 changed files with 50 additions and 10 deletions

View file

@ -8,9 +8,17 @@ If you have g15tools installed and want mumble to use it:
If you want the mumble overlay:
OVERLAY=yes ./mumble.SlackBuild
If your system is x86_64 based, you can have this script build a
32-bit libmumble. This will add in a 32-bit library for the
mumble-overlay script to use for compatability. Please note, you
*must* have a multilibbed system for this to work.
To build the overlay with 32-bit compatability:
OVERLAY=yes COMPAT32=yes ./mumble.SlackBuild
Please note, if you have celt-0.7.1, the previous version of celt on
SBo, you will need to upgrade to celt >= 0.11.0.
This requires: protobuf, speex, and celt >= 0.11.0
This requires protobuf, speex, and celt.
Note: This does not build the mumble server (murmur).

View file

@ -24,9 +24,13 @@
PRGNAM=mumble
VERSION=${VERSION:-1.2.3}
BUILD=${BUILD:-1}
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 ;;
@ -54,9 +58,6 @@ else
LIBDIRSUFFIX=""
fi
G15=${G15:-no}
OVERLAY=${OVERLAY:-no}
BUILD_G15=""
BUILD_OVERLAY=""
@ -96,6 +97,8 @@ patch -p1 < $CWD/patches/MainWindow-set-the-window-icon.patch
# 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
@ -105,6 +108,8 @@ 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 \
@ -156,6 +161,7 @@ find release/plugins -type f -name *.so \
# 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
@ -164,6 +170,32 @@ if [ -e release/libmumble.so.$VERSION ]; then
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

View file

@ -7,4 +7,4 @@ DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="James Geboski"
EMAIL="jgeboski@gmail.com"
APPROVED="dsomero"
APPROVED="rworkman"

View file

@ -12,8 +12,8 @@ mumble: Mumble is a voice chat application for groups. While it can be used
mumble: for any kind of activity, it is primarily intended for gaming. It
mumble: can be compared to programs like Ventrilo or TeamSpeak.
mumble:
mumble:
mumble:
mumble: Homepage: http://mumble.sourceforge.net/
mumble:
mumble:
mumble:
mumble: