aboutsummaryrefslogtreecommitdiff
path: root/audio/jack2
diff options
context:
space:
mode:
Diffstat (limited to 'audio/jack2')
-rw-r--r--audio/jack2/README36
-rw-r--r--audio/jack2/jack2.SlackBuild100
-rw-r--r--audio/jack2/jack2.info10
-rw-r--r--audio/jack2/slack-desc19
4 files changed, 165 insertions, 0 deletions
diff --git a/audio/jack2/README b/audio/jack2/README
new file mode 100644
index 0000000000000..3f78bb9b4aee1
--- /dev/null
+++ b/audio/jack2/README
@@ -0,0 +1,36 @@
+jackdmp (aka JACK2) is a C++ version of the JACK low-latency audio
+server for multi-processor machines. It is a new implementation
+of the JACK server core features that aims in removing some
+limitations of the JACK1 design. The activation system has been
+changed for a data flow model and lock-free programming techniques
+for graph access have been used to have a more dynamic and
+robust system.
+
+- jackdmp use a new client activation model that allows simultaneous
+client execution (on a smp machine) when parallel clients exist
+in the graph (client that have the same inputs). This activation model
+allows to better use available CPU on a smp machine, but also works
+on a mono-processor machine.
+
+- jackdmp use a lock-free way to access (read/write) the client graph,
+thus allowing connections/disconnection to be done without
+interrupting the audio stream. The result is that
+connections/disconnections are glitch-free.
+
+- jackdmp can work in 2 different modes at the server level :
+ - synchronous activation : in a given cycle, the server waits for
+ all clients to be finished (similar to normal jackd)
+ - asynchronous activation : in a given cycle, the server does not
+ wait for all clients to be finished and use output buffer
+ computed the previous cycle.
+
+The audible result of this mode is that if a client is not activated
+during one cycle, other clients may still run and the resulting audio
+stream will still be produced (even if its partial in some way).
+This mode usually result in fewer (less audible) audio glitches in a
+loaded system.
+
+NOTE: this package conflicts with jack-audio-connection-kit: install
+only one of the two.
+
+Optional dependencies are celt, libffado and opus.
diff --git a/audio/jack2/jack2.SlackBuild b/audio/jack2/jack2.SlackBuild
new file mode 100644
index 0000000000000..989e672d76af1
--- /dev/null
+++ b/audio/jack2/jack2.SlackBuild
@@ -0,0 +1,100 @@
+#!/bin/sh
+
+# Slackware build script for jack2
+
+# Copyright (c) 2014, Yanes Checcacci Balod <yanes@pobox.com>, Brazil
+# 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.
+
+PRGNAM=jack2
+PRGNAMFILE=jack # for opening file! Don't change it !!!
+VERSION=1.9.9.5
+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 $PRGNAMFILE-$VERSION
+tar xvjf $CWD/$PRGNAMFILE-$VERSION.tar.bz2
+cd $PRGNAMFILE-$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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./waf configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --classic \
+ --profile \
+ --dbus \
+ --alsa
+
+./waf build
+./waf install --destdir=$PKG
+
+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
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+mkdir -p $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
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/audio/jack2/jack2.info b/audio/jack2/jack2.info
new file mode 100644
index 0000000000000..2cb51d9e68d86
--- /dev/null
+++ b/audio/jack2/jack2.info
@@ -0,0 +1,10 @@
+PRGNAM="jack2"
+VERSION="1.9.9.5"
+HOMEPAGE="http://jackaudio.org"
+DOWNLOAD="http://jackaudio.org/downloads/jack-1.9.9.5.tar.bz2"
+MD5SUM="6c9de6b89db9d7076fa2ce222816cf4c"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="%README%"
+MAINTAINER="Yanes Checcacci Balod"
+EMAIL="yanes@pobox.com"
diff --git a/audio/jack2/slack-desc b/audio/jack2/slack-desc
new file mode 100644
index 0000000000000..87b784cc75ffb
--- /dev/null
+++ b/audio/jack2/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------------------------------------------------------|
+jack2: jack2 (Jack Sound Server)
+jack2:
+jack2: JACK is system for handling real-time, low latency audio (and MIDI).
+jack2: It can connect a number of different applications to an audio device,
+jack2: as well as allowing them to share audio between themselves.
+jack2: Its clients can run in their own processes (ie. as normal apps), or
+jack2: run in their own processes (ie. as normal applications), or can run
+jack2: within the JACK server (ie. as a "plugin"). JACK also has support for
+jack2: distributing audio processing across a network, both fast & reliable
+jack2: LANs as well as slower, less reliable WANs.
+jack2: