aboutsummaryrefslogtreecommitdiff
path: root/audio/ngjackspa
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2014-02-18 18:20:50 +0700
committerErik Hanson <erik@slackbuilds.org>2014-02-18 14:59:56 -0600
commit8f537fb3ee92c9703fe4afb5822edf7b384904bb (patch)
treea10460893693c245cb7af6c379a4f9b6eab2c7e3 /audio/ngjackspa
parent9da5bc0dffe7973e2a406fb1dd3554e62969ce2a (diff)
audio/ngjackspa: Added (JACK host for LADSPA plugins).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'audio/ngjackspa')
-rw-r--r--audio/ngjackspa/README16
-rw-r--r--audio/ngjackspa/ngjackspa.SlackBuild104
-rw-r--r--audio/ngjackspa/ngjackspa.info10
-rw-r--r--audio/ngjackspa/setcap.sh5
-rw-r--r--audio/ngjackspa/slack-desc19
5 files changed, 154 insertions, 0 deletions
diff --git a/audio/ngjackspa/README b/audio/ngjackspa/README
new file mode 100644
index 0000000000000..bf98e7d1a0ee3
--- /dev/null
+++ b/audio/ngjackspa/README
@@ -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.
diff --git a/audio/ngjackspa/ngjackspa.SlackBuild b/audio/ngjackspa/ngjackspa.SlackBuild
new file mode 100644
index 0000000000000..82ba7a3985b4d
--- /dev/null
+++ b/audio/ngjackspa/ngjackspa.SlackBuild
@@ -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}
diff --git a/audio/ngjackspa/ngjackspa.info b/audio/ngjackspa/ngjackspa.info
new file mode 100644
index 0000000000000..3a7dd577fd89d
--- /dev/null
+++ b/audio/ngjackspa/ngjackspa.info
@@ -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"
diff --git a/audio/ngjackspa/setcap.sh b/audio/ngjackspa/setcap.sh
new file mode 100644
index 0000000000000..5c2dff80ab066
--- /dev/null
+++ b/audio/ngjackspa/setcap.sh
@@ -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
diff --git a/audio/ngjackspa/slack-desc b/audio/ngjackspa/slack-desc
new file mode 100644
index 0000000000000..1f7122d0cd410
--- /dev/null
+++ b/audio/ngjackspa/slack-desc
@@ -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: