summaryrefslogtreecommitdiffstats
path: root/audio/jack
diff options
context:
space:
mode:
Diffstat (limited to 'audio/jack')
-rw-r--r--audio/jack/README7
-rw-r--r--audio/jack/jack.SlackBuild65
-rw-r--r--audio/jack/jack.info10
-rw-r--r--audio/jack/jack2vsjack1.txt2
-rw-r--r--audio/jack/setcap.sh13
5 files changed, 62 insertions, 35 deletions
diff --git a/audio/jack/README b/audio/jack/README
index 4b2ea82cd7..24c1a96773 100644
--- a/audio/jack/README
+++ b/audio/jack/README
@@ -9,6 +9,8 @@ within the JACK server (ie. as a "plugin"). JACK also has support for
distributing audio processing across a network, both fast & reliable
LANs as well as slower, less reliable WANs.
+This package includes both jack and jack-example-tools.
+
Note: This build conflicts with jack1: install only one of the two.
JACK's developers recommend not using jack1 at all, although it's still
maintained.
@@ -19,7 +21,7 @@ Note: this build was formerly known as jack2. Before installing this,
SBo build maintainers, please list jack (not jack1) 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
+B. Watson <urchlay@slackware.uk>. Include the build log and any runtime
error messages in your email, plase.
This package uses POSIX filesystem capabilities to execute with
@@ -28,4 +30,5 @@ 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.
-Optional dependencies are celt and libffado.
+Optional dependencies are celt, libffado, zita-alsa-pcmi, and
+zita-resampler.
diff --git a/audio/jack/jack.SlackBuild b/audio/jack/jack.SlackBuild
index d9f3e6a326..30fde24f08 100644
--- a/audio/jack/jack.SlackBuild
+++ b/audio/jack/jack.SlackBuild
@@ -4,7 +4,7 @@
# Copyright 2014 Yanes Checcacci Balod <email removed>, Brazil
# Copyright 2014-2015 Marcel Saegebarth <email removed>
-# Copyright 2018 B. Watson <yalhcru@gmail.com>
+# Copyright 2018 B. Watson <urchlay@slackware.uk>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,6 +24,11 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# 20230511 bkw: update for v1.9.22. upstream split the tools off into
+# a separate repo, I modified this script to build them and include them
+# in this package (like PV does with vim and ctags).
+# 20220614 bkw: update for v1.9.21 and 15.0.
+# 20210802 bkw: update for v1.9.19 and -current.
# 20210304 bkw: update for v1.9.17.
# 20201104 bkw: update for v1.9.16.
# 20200118 bkw: renamed from 'jack2' to 'jack'. If you want to see
@@ -39,7 +44,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=jack
-VERSION=${VERSION:-1.9.17}
+VERSION=${VERSION:-1.9.22}
+TOOLSVER=${TOOLSVER:-4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -54,9 +60,6 @@ if [ -z "$ARCH" ]; then
esac
fi
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
@@ -88,6 +91,8 @@ cd $TMP
rm -rf $SRCNAM-$VERSION
tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
cd $SRCNAM-$VERSION
+TOPDIR="$(pwd)"
+tar xvf $CWD/jack-example-tools-$TOOLSVER.tar.gz
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 {} \+
@@ -97,14 +102,10 @@ find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
# will already include it (it does, in 1.x). So make 2 act like 1:
sed -i '/^Libs:/s,$, -lpthread,' jack.pc.in
-# 20201104 bkw: TODO: support --readline. Only used by jack-transport.
-# Trouble is, wscript checks only whether it can link with -lreadline.
-# Which it can't, because that also requires -ltermcap. But I don't
-# see a way to have it check multiple libs at once. I know one way to
-# force it (LDFLAGS=-ltermcap in the env), but then we end up linking
-# everything with it, which we do not want! Did I ever mention how
-# much I hate waf?
-
+# 20220614 bkw: upstream disabled the tools by default in 1.9.21, way
+# to handle a point release... --example-tools turns it back on.
+# 20230511 bkw: aaand in 1.9.22, they removed the tools entirely. Again,
+# way to handle a point release...
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
LDFLAGS="-Wl,-s" \
@@ -120,17 +121,49 @@ LDFLAGS="-Wl,-s" \
./waf build
./waf install --destdir=$PKG
+# 20230511 bkw: now build the tools against the installed libs in $PKG.
+cd $TOPDIR
+sed "s,/usr,$PKG/usr,g" $PKG/usr/lib$LIBDIRSUFFIX/pkgconfig/jack.pc > jack.pc
+export PKG_CONFIG_PATH=$TOPDIR:$PKG_CONFIG_PATH
+cd jack-example-tools-$TOOLSVER
+mkdir build
+MFLAGS="$SLKCFLAGS -I$PKG/usr/include"
+cd build
+ CFLAGS="$MFLAGS" \
+ CXXFLAGS="$MFLAGS" \
+ LDFLAGS="-L$PKG/usr/lib$LIBDIRSUFFIX" \
+ meson .. \
+ --buildtype=release \
+ --infodir=/usr/info \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ -Dstrip=true
+ "${NINJA:=ninja}"
+ DESTDIR=$PKG $NINJA install
+cd ..
+
gzip $PKG/usr/man/man?/*
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
+PKGDOC2=$PKGDOC/jack-example-tools-$TOOLSVER
+mkdir -p $PKGDOC2
+cp -a LICENSE *.md $PKGDOC2
+cd $TOPDIR
+cp -a AUTHORS* COPYING* ChangeLog* README* $PKGDOC
+cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$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
+ # 20230719 bkw: dynamically create the list instead of hardcoding.
+ # there's at least one symlink, hence find and xargs.
+ BINS="$( cd $PKG/usr/bin && find * -type l -o -print | xargs echo )"
+ sed "s,@BINS@,$BINS," < $CWD/setcap.sh >> $PKG/install/doinst.sh
# Only allow execution by audio group
chown root:audio $PKG/usr/bin/*
chmod 0750 $PKG/usr/bin/*
diff --git a/audio/jack/jack.info b/audio/jack/jack.info
index e9d323ca07..9567dbac3f 100644
--- a/audio/jack/jack.info
+++ b/audio/jack/jack.info
@@ -1,10 +1,12 @@
PRGNAM="jack"
-VERSION="1.9.17"
+VERSION="1.9.22"
HOMEPAGE="http://jackaudio.org/"
-DOWNLOAD="https://github.com/jackaudio/jack2/archive/v1.9.17/jack2-1.9.17.tar.gz"
-MD5SUM="81b4beb271602ad20521c30640835a89"
+DOWNLOAD="https://github.com/jackaudio/jack2/archive/v1.9.22/jack2-1.9.22.tar.gz \
+ https://github.com/jackaudio/jack-example-tools/archive/4/jack-example-tools-4.tar.gz"
+MD5SUM="e57c8ad3de75f78b6eb7aacea4e25755 \
+ 282f4c913489b32edc9926c8f84a73ae"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="B. Watson"
-EMAIL="yalhcru@gmail.com"
+EMAIL="urchlay@slackware.uk"
diff --git a/audio/jack/jack2vsjack1.txt b/audio/jack/jack2vsjack1.txt
index df950d807d..931855528a 100644
--- a/audio/jack/jack2vsjack1.txt
+++ b/audio/jack/jack2vsjack1.txt
@@ -4,7 +4,7 @@ is still available as "jack1". The JACK2 build used to be called "jack2",
and has been renamed to simply "jack". SBo maintainers take note: please
don't list jack1 in REQUIRES for your builds. If your build really does
work only with jack1 and fails with jack, please contact me (B. Watson,
-yalhcru@gmail.com) and let me know the details.
+urchlay@slackware.uk) and let me know the details.
This information might be helpful in understanding the differences
between jack and jack1.
diff --git a/audio/jack/setcap.sh b/audio/jack/setcap.sh
index 44b2180da1..4a3331efd0 100644
--- a/audio/jack/setcap.sh
+++ b/audio/jack/setcap.sh
@@ -1,16 +1,5 @@
if [ -x /sbin/setcap ]; then
- bin=(
- jackdbus jack_monitor_client jack_latent_client alsa_in
- jack_midi_dump jack_showtime jack_rec jack_zombie jack_midiseq
- jack_thru jack_connect jack_net_slave jack_bufsize jack_wait
- alsa_out jack_freewheel jack_server_control jack_net_master
- jack_evmon jack_metro jack_simple_client jack_lsp jack_cpu
- jack_control jack_netsource jack_test jack_session_notify
- jack_alias jack_iodelay jackd jack_simple_session_client
- jack_midisine jack_unload jack_load jack_samplerate
- jack_midi_latency_test jack_cpu_load jack_multiple_metro)
-
- for i in ${bin[@]}; do
+ for i in @BINS@; do
/sbin/setcap cap_ipc_lock,cap_sys_nice=ep usr/bin/$i
done
fi