audio/ngjackspa: Added (JACK host for LADSPA plugins).

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
B. Watson 2014-02-18 18:20:50 +07:00 committed by Erik Hanson
parent 9da5bc0dff
commit 8f537fb3ee
5 changed files with 154 additions and 0 deletions

16
audio/ngjackspa/README Normal file
View File

@ -0,0 +1,16 @@
ngjackspa (JACK host for LADSPA plugins)
ngjackspa is a set of simple user interfaces that host a LADSPA plugin,
providing JACK ports for its audio inputs and outputs, and dynamic setting
of its control inputs. Additionally, the plugin controls can be exported
to or controlled by control voltages on standard JACK audio ports.
By default, the Qt user interface is built, and the gtkmm UI is disabled.
To disable Qt, set QT=no in the script's environment. To enable gtkmm,
set GTKMM=yes (this will require gtkmm to be installed, of course).
This package uses POSIX filesystem capabilities to execute with
elevated privileges (required for realtime audio processing). This
may be considered a security/stability risk. Please read
http://www.slackbuilds.org/caps/ for more information. To disable
capabilities, pass SETCAP=no to the script.

View File

@ -0,0 +1,104 @@
#!/bin/sh
# Slackware build script for ngjackspa
# Written by B. Watson (yalhcru@gmail.com)
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
PRGNAM=ngjackspa
VERSION=${VERSION:-1.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
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
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 -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# build options
GTKMM="${GTKMM:-no}"
QT="${QT:-yes}"
# dike out the parts the user disabled
[ "$GTKMM" = "no" ] && sed -i \
-e '/^PROGS/s,gjackspa,,' \
-e '/^MANLINKS/s,gjackspa\.1,,' \
Makefile
[ "$QT" = "no" ] && sed -i \
-e '/^PROGS/s,qjackspa,,' \
-e '/^MANLINKS/s,qjackspa\.1,,' \
Makefile
# strip on install
sed -i -e 's,-m 0755,-s &,' Makefile
DOCDIR=/usr/doc/$PRGNAM-$VERSION
make \
CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" \
docdir=$DOCDIR \
prefix=/usr \
mandir=/usr/man \
DESTDIR=$PKG \
all install install-doc
# don't need this cruft
rm -f $PKG/qjackspa.gdb-index $PKG/$DOCDIR/*.html
cp -a NEWS README BUGS ChangeLog $PKG/$DOCDIR
cat $CWD/$PRGNAM.SlackBuild > $PKG/$DOCDIR/$PRGNAM.SlackBuild
mkdir -p $PKG/install
sed -e "s,%GTKMM%,$GTKMM," -e "s,%QT%,$QT," \
$CWD/slack-desc > $PKG/install/slack-desc
#cat $CWD/doinst.sh > $PKG/install/doinst.sh
# Only add capability stuff if not disabled:
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/*
chmod 0750 $PKG/usr/bin/*
fi
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View File

@ -0,0 +1,10 @@
PRGNAM="ngjackspa"
VERSION="1.0"
HOMEPAGE="https://gna.org/projects/ngjackspa"
DOWNLOAD="http://download.gna.org/ngjackspa/ngjackspa-1.0.tar.gz"
MD5SUM="dd058a35e1355b483a10e9a33abed53f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="jack-audio-connection-kit ladspa_sdk"
MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com"

View File

@ -0,0 +1,5 @@
if [ -x /sbin/setcap ]; then
for setcapfile in gjackspa jackspa-cli njackspa qjackspa; do
[ -e usr/bin/$setcapfile ] && /sbin/setcap cap_ipc_lock,cap_sys_nice=ep usr/bin/$setcapfile
done
fi

View File

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
ngjackspa: ngjackspa (JACK host for LADSPA plugins)
ngjackspa:
ngjackspa: ngjackspa is a set of simple user interfaces that host a LADSPA
ngjackspa: plugin, providing JACK ports for its audio inputs and outputs, and
ngjackspa: dynamic setting of its control inputs. Additionally, the plugin
ngjackspa: controls can be exported to or controlled by control voltages on
ngjackspa: standard JACK audio ports.
ngjackspa:
ngjackspa: Build options: QT=%QT% GTKMM=%GTKMM%
ngjackspa:
ngjackspa: