1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
#!/bin/bash
# Slackware build script for jack-tools
# Written by B. Watson (yalhcru@gmail.com)
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
# 20180617 bkw:
# - BUILD=2
# - Get rid of VST headers, since Steinberg doesn't want us to
# distribute them. Thanks to idlemoor for cleaning up the mess
# in the git history.
# - If the user really needs native VST support, he can get the
# headers the legit way (from Steinberg) and the script will
# pick them up. Otherwise, jack-lxvst is just not built. Add
# README_VST.txt to hopefully clarify the situation.
# 20170127 bkw:
# - Updated for 20170117 (latest commit). Also updated c-common to
# latest.
# - Added man pages for the new jack-data and jack-lxvst utils.
# - Added VST headers to get jack-lxvst to build. Not sure the
# licensing status of these, but they were cloned from a public
# github repo.
# 20151110 bkw:
# - Updated for 20141211. This is the date of the latest darcs
# commit. Note that the c-common/ in the source tarball is the
# old one (from my jack-tools-20130616.tar.gz), since jack-tools
# won't compile against the latest c-common. Only jack-scope
# and jack-play have changed.
# - Add capability stuff.
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=jack-tools
VERSION=${VERSION:-20170117}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
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 $PRGNAM-$VERSION
tar xvf $CWD/${PRGNAM}-$VERSION.tar.xz
cd $PRGNAM-$VERSION
# apply our flags. -Wl,-s strips the binaries.
sed -i "s/-O./$SLKCFLAGS -Wl,-s/" Makefile c-common/Makefile
# Slackware 14.2 doesn't have libtinfo (15.0 will, IIRC).
sed -i 's,-ltinfo,,' Makefile
# Author's library
make -C c-common
# If the Steinberg VST headers are found, put them where the build can find
# them. Neither SBo nor upstream can distribute the headers, you have to get
# them direct from Steinberg.
VST_HEADERS=${VST_HEADERS:-$CWD}
if [ -e $VST_HEADERS/aeffect.h -a -e $VST_HEADERS/aeffectx.h ]; then
mkdir -p pluginterfaces/vst2.x
cp $VST_HEADERS/aeffect.h $VST_HEADERS/aeffectx.h pluginterfaces/vst2.x
STEINBERG_ME_HARDER="yes"
WITH=WITH
else
sed -i '/^bin=/s,jack-lxvst,,' Makefile
WITH=WITHOUT
fi
make
mkdir -p $PKG/usr/bin $PKG/usr/include
make install prefix=$PKG/usr
# man pages generated from *.md markdown files, then manually edited
# to clean up the formatting.
mkdir -p $PKG/usr/man/man1
for page in $CWD/man/*.1; do
gzip -9c < $page > $PKG/usr/man/man1/$( basename $page ).gz
done
# Only install the lxvst man page if the lxvst binary got built.
if [ "$STEINBERG_ME_HARDER" = "yes" ]; then
gzip -9c < $CWD/man/jack-lxvst.1.optional > $PKG/usr/man/man1/jack-lxvst.1.gz
fi
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cat README > $PKG/usr/doc/$PRGNAM-$VERSION/README
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
sed "s,@WITH@,$WITH," $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
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}
|