audio/jack: Updated for version 1.9.22.

Signed-off-by: B. Watson <urchlay@slackware.uk>

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
B. Watson 2023-07-19 14:01:45 -04:00 committed by Willy Sudiarto Raharjo
parent 2d44466717
commit edbedf003e
No known key found for this signature in database
GPG key ID: 3F617144D7238786
4 changed files with 54 additions and 22 deletions

View file

@ -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.
@ -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.

View file

@ -24,6 +24,9 @@
# 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.
@ -41,7 +44,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=jack
VERSION=${VERSION:-1.9.21}
VERSION=${VERSION:-1.9.22}
TOOLSVER=${TOOLSVER:-4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@ -87,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 {} \+
@ -98,6 +104,8 @@ sed -i '/^Libs:/s,$, -lpthread,' jack.pc.in
# 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" \
@ -108,24 +116,54 @@ LDFLAGS="-Wl,-s" \
--htmldir=/usr/doc/$PRGNAM-$VERSION/html \
--classic \
--dbus \
--readline \
--example-tools \
--alsa
./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/*

View file

@ -1,8 +1,10 @@
PRGNAM="jack"
VERSION="1.9.21"
VERSION="1.9.22"
HOMEPAGE="http://jackaudio.org/"
DOWNLOAD="https://github.com/jackaudio/jack2/archive/v1.9.21/jack2-1.9.21.tar.gz"
MD5SUM="48515d41a3e8de2464efc583d2b9a596"
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=""

View file

@ -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