diff options
author | B. Watson <yalhcru@gmail.com> | 2018-10-12 23:14:14 +0100 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2018-10-13 08:02:58 +0700 |
commit | 95b63fda6a61945d69b27a34f6433399c9784869 (patch) | |
tree | fc220b13146e9c515bcd7030b228818260ed2218 /audio/jamulus/jamulus.SlackBuild | |
parent | 5010d7c8459dc8faa060d594f4d63617b00191ee (diff) | |
download | slackbuilds-95b63fda6a61945d69b27a34f6433399c9784869.tar.gz slackbuilds-95b63fda6a61945d69b27a34f6433399c9784869.tar.xz |
audio/jamulus: Added (real-time jam session client/server).
Signed-off-by: David Spencer <baildon.research@googlemail.com>
Diffstat (limited to 'audio/jamulus/jamulus.SlackBuild')
-rw-r--r-- | audio/jamulus/jamulus.SlackBuild | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/audio/jamulus/jamulus.SlackBuild b/audio/jamulus/jamulus.SlackBuild new file mode 100644 index 0000000000..bdecd1731e --- /dev/null +++ b/audio/jamulus/jamulus.SlackBuild @@ -0,0 +1,135 @@ +#!/bin/sh + +# Slackware build script for jamulus + +# Written by B. Watson (yalhcru@gmail.com) + +# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. + +# Possible TODOs: +# - write a man page +# - have slack-desc show whether or not SERVERONLY=yes + +PRGNAM=jamulus +VERSION=${VERSION:-3.4.3} +BUILD=${BUILD:-1} + +TAG=${TAG:-_SBo} + +# I hate capitalized package names, so: +SRCNAM=Jamulus + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -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 + +set -e + +# Check this before doing anything else. +if [ "${SERVERONLY:-no}" = "yes" ]; then + EXTRACONF="CONFIG+=nosound" +elif ! pkg-config --exists jack; then + cat <<EOF + +*********************************************************************** +$0: jack-audio-connection-kit not found. + +If you want $PRGNAM to be able to make sound, you must install +jack-audio-connection-kit before running this script. + +If you want to build a dedicated server, you don't have to install +jack-audio-connection-kit. Instead, export SERVERONLY=yes in the +environment. See SERVER.txt for details. +*********************************************************************** + +EOF + sleep 5 + exit 1 +fi + + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $SRCNAM$VERSION +tar xvf $CWD/$SRCNAM-$VERSION.tar.gz +cd $SRCNAM$VERSION +chown -R root:root . + +# permissions are gross, nonstandard find needed here: +find -L . -type d -a -exec chmod 755 {} \+ -o \ + -type f -a \! -perm 644 -a -exec chmod 644 {} \+ + +# jamulus can be built with either qt4 or qt5. Let's stick with +# qt4 until Slackware starts shipping qt5... for paranoia's sake, +# remove all references to qt5 and/or qt3 from the environment. +unset QTDIR +unset QT5DIR +PATH=/bin:/sbin:/usr/bin:/usr/sbin +source /etc/profile.d/qt4.sh +QTDIR=$QT4DIR +export QTDIR QT5DIR + +qmake "CONFIG+=noupcasename" $EXTRACONF \ + QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" \ + $SRCNAM.pro +make clean +make + +# No 'make install' target, so: +mkdir -p $PKG/usr/bin $PKG/usr/share/applications $PKG/usr/share/pixmaps +install -s -m0755 $PRGNAM $PKG/usr/bin/ +install -m0644 src/res/$PRGNAM.desktop $PKG/usr/share/applications/ + +# The png icons provided are tiny, but the OSX icon is big enough +# to actually see, so I extracted the 256x256 version & include +# it with the build. +cat $CWD/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png + +# NEWS is a 0-byte placeholder in 3.4.3. +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a AUTHORS COPYING ChangeLog $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +# Include our own (hopefully) helpful hints for servers. +cat $CWD/SERVER.txt > $PKG/usr/doc/$PRGNAM-$VERSION/SERVER.txt + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +# Only add capability stuff if not disabled: +if [ "${SERVERONLY:-no}" != "yes" ]; then + if [ "${SETCAP:-yes}" = "yes" ]; then + cat $CWD/setcap.sh >> $PKG/install/doinst.sh + # Only allow execution by audio group + chown root:audio $PKG/usr/bin/$PRGNAM + chmod 0750 $PKG/usr/bin/$PRGNAM + fi +fi + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} |