aboutsummaryrefslogtreecommitdiff
path: root/audio/jack1
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2020-01-20 06:48:19 +0700
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2020-01-20 06:48:19 +0700
commit74f1cb8cc7d84e468807ca8872f90d2559aebba6 (patch)
treeecb307d4b0d852b80ea3fc93c2915655fbd08600 /audio/jack1
parent2b1011179ac510c077a0eac643991090148f6271 (diff)
audio/jack1: Added (realtime low-latency sound server).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'audio/jack1')
-rw-r--r--audio/jack1/README31
-rw-r--r--audio/jack1/jack1.SlackBuild120
-rw-r--r--audio/jack1/jack1.info10
-rw-r--r--audio/jack1/setcap.sh14
-rw-r--r--audio/jack1/slack-desc19
5 files changed, 194 insertions, 0 deletions
diff --git a/audio/jack1/README b/audio/jack1/README
new file mode 100644
index 000000000000..42c1a7aa677e
--- /dev/null
+++ b/audio/jack1/README
@@ -0,0 +1,31 @@
+jack1 (realtime low-latency sound server)
+
+JACK is a low-latency audio server written primarily for Linux. It can
+connect a number of different applications to an audio device, as well as
+allow them to share audio among themselves. Its clients can run in their
+own processes (ie. as a normal application) or they can run within a JACK
+server instance (i.e. as a "plugin").
+
+Optional dependencies are libffado and celt.
+
+This conflicts with jack. Only install one of "jack" or "jack1".
+
+This is the "mature, stable" JACK1 branch. It's not 100% deprecated,
+but it no longer receives much attention from the upstream JACK
+developers. They recommend not using JACK1 at all, actually.
+
+Note: this build was formerly known as jack-audio-connection-kit. Before
+installing this, "removepkg jack-audio-connection-kit" if you had it
+installed.
+
+SBo build maintainers, please DO NOT list this as a dependency for
+your builds. If the software you're trying to build really does work
+with jack1 but not jack, please contact the jack maintainer (currently
+B. Watson <yalhcru@gmail.com>. Include the build log and any runtime
+error messages in your email, plase.
+
+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/jack1/jack1.SlackBuild b/audio/jack1/jack1.SlackBuild
new file mode 100644
index 000000000000..2b045dbf2555
--- /dev/null
+++ b/audio/jack1/jack1.SlackBuild
@@ -0,0 +1,120 @@
+#!/bin/sh
+
+# Slackware build script for jack1-legacy, adapted from
+# jack-audio-connection-kit.SlackBuild.
+
+# Copyright 2007-2014 Heinz Wiesinger, Amsterdam, The Netherlands
+# 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.
+
+# Modified by Robby Workman <rworkman@slackbuilds.org>
+# No additional license terms added :)
+
+# Modified, renamed, and now maintained by B. Watson <yalhcru@gmail.com>
+
+# This build was renamed from jack-audio-connection-kit to jack1.
+# If you need to see the commit log for the old name, use a command like:
+# git log -- audio/jack-audio-connection-kit
+
+PRGNAM=jack1
+VERSION=${VERSION:-0.125.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+SRCNAM=jack-audio-connection-kit
+
+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
+
+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 .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# respect march and mtune flags: fixes building on x86_64
+sed -i 's|-march=native \-mtune=native||' configure.ac
+autoreconf -fi
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --with-html-dir=/usr/doc/$PRGNAM-$VERSION \
+ --mandir=/usr/man \
+ --enable-optimize \
+ --with-default-tmpdir=/dev/shm \
+ --build=$ARCH-slackware-linux \
+ --host=$ARCH-slackware-linux
+
+make
+make install-strip DESTDIR=$PKG
+
+gzip -9 $PKG/usr/man/man?/*.?
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS COPYING* README TODO $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
+
+# 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/jack1/jack1.info b/audio/jack1/jack1.info
new file mode 100644
index 000000000000..1c728a122b76
--- /dev/null
+++ b/audio/jack1/jack1.info
@@ -0,0 +1,10 @@
+PRGNAM="jack1"
+VERSION="0.125.0"
+HOMEPAGE="http://jackaudio.org"
+DOWNLOAD="http://mirror.sobukus.de/files/grimoire/audio-drivers/jack-audio-connection-kit-0.125.0.tar.gz"
+MD5SUM="d9b7e230aeae2d5b45c7a822b2d2dd15"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/audio/jack1/setcap.sh b/audio/jack1/setcap.sh
new file mode 100644
index 000000000000..7286a60f224b
--- /dev/null
+++ b/audio/jack1/setcap.sh
@@ -0,0 +1,14 @@
+# set realtime capabilities on all these binaries
+if [ -x /sbin/setcap ]; then
+ for i in alsa_in alsa_out jack_alias jack_bufsize jack_connect \
+ jack_disconnect jack_evmon jack_freewheel jack_impulse_grabber \
+ jack_iodelay jack_latent_client jack_load jack_load_test \
+ jack_lsp jack_metro jack_midi_dump jack_midiseq jack_midisine \
+ jack_monitor_client jack_netsource jack_property jack_rec \
+ jack_samplerate jack_server_control jack_session_notify \
+ jack_showtime jack_simple_client jack_simple_session_client \
+ jack_transport jack_transport_client jack_unload jack_wait jackd
+ do
+ /sbin/setcap cap_ipc_lock,cap_sys_nice=ep usr/bin/$i
+ done
+fi
diff --git a/audio/jack1/slack-desc b/audio/jack1/slack-desc
new file mode 100644
index 000000000000..07a1b06af659
--- /dev/null
+++ b/audio/jack1/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------------------------------------------------------|
+jack1: jack1 (realtime low-latency sound server)
+jack1:
+jack1: JACK is a low-latency audio server written mainly for Linux.
+jack1: It can connect a number of different applications to an audio
+jack1: device as well as allow them to share audio among themselves.
+jack1:
+jack1: This is the deprecated jack 1.x branch.
+jack1:
+jack1:
+jack1:
+jack1: