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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
#!/bin/bash
# Slackware build script for padthv1
# Written by B. Watson (urchlay@slackware.uk)
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
# 20240925 bkw: update for 1.1.1.
# 20240815 bkw: update for 1.0.0
# 20230629 bkw: update for 0.9.31
# 20230109 bkw: update for 0.9.28
# 20211205 bkw: update for 0.9.23
# 20201106 bkw: update for 0.9.18
# 20200114 bkw: update for 0.9.12
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=padthv1
VERSION=${VERSION:-1.1.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
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
# 20240925 bkw: If jack is missing, the build doesn't fail right away.
# Instead, it compiles for a while, then 'make install/strip' fails.
# Better to abort immediately in that case.
if ! pkg-config --exists jack; then
cat <<EOF
*****************************************************************
* Missing required dependency jack. Install it, then try again. *
*****************************************************************
EOF
exit 1
fi
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$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 {} \+
# 20240815 bkw: lv2 is supposed to be autodetected, but if it's
# missing, the build fails unless we explicitly disable. So:
LV2_OPT="OFF"
pkg-config --exists lv2 && LV2_OPT="ON"
export PATH=/usr/lib$LIBDIRSUFFIX/qt5/bin:$PATH
# 20240925 bkw: Add -DCONFIG_QT6=0, to avoid it autodetecting and
# using qt6 if installed. Not interested in dealing with it, and the
# qt5 UI works fine.
mkdir -p build
cd build
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_MANDIR=/usr/man \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCONFIG_LV2=$LV2_OPT \
-DCONFIG_QT6=0 \
-DCMAKE_BUILD_TYPE=Release ..
make VERBOSE=1
make install/strip DESTDIR=$PKG
cd ..
gzip -9 $PKG/usr/man/man1/* $PKG/usr/man/fr/man1/*
# I dunno what this is actually for, but as of 0.8.5 it got moved. Move
# it back to where it belongs, for Slack 14.2.
[ -d $PKG/usr/share/metainfo ] && \
mv $PKG/usr/share/metainfo $PKG/usr/share/appdata
mkdir -p $PKG/usr/man/fr.UTF-8/man1
mv $PKG/usr/man/fr/man1/$PRGNAM.1.gz $PKG/usr/man/fr.UTF-8/man1/$PRGNAM.1.gz
zcat $PKG/usr/man/fr.UTF-8/man1/$PRGNAM.1.gz | \
iconv -f UTF-8 -t ISO-8859-1 | \
gzip -9c \
> $PKG/usr/man/fr/man1/$PRGNAM.1.gz
# binaries already stripped, man page already gzipped. make symlink
# to man page, to match the actual name of the binary.
for i in man1 fr/man1 fr.UTF-8/man1; do
ln -s $PRGNAM.1.gz $PKG/usr/man/$i/${PRGNAM}_jack.1.gz
done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a ChangeLog README LICENSE $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
LIBLO=no
LV2=no
ldd $PKG/usr/bin/${PRGNAM}_jack | grep -q liblo && LIBLO=yes
if [ -e $PKG/usr/lib$LIBDIRSUFFIX/lv2/$PRGNAM.lv2 ]; then
LV2=yes
# 20230629 bkw: just a nitpick, but shared libs are supposed to be +x:
chmod +x $PKG/usr/lib$LIBDIRSUFFIX/lv2/$PRGNAM.lv2/*.so
fi
mkdir -p $PKG/install
sed -e "s,@LIBLO@,$LIBLO," -e "s,@LV2@,$LV2," $CWD/slack-desc \
> $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
if [ "${SETCAP:-yes}" = "yes" ]; then
cat $CWD/setcap.sh >> $PKG/install/doinst.sh
chown root:audio $PKG/usr/bin/${PRGNAM}_jack
chmod 0750 $PKG/usr/bin/${PRGNAM}_jack
fi
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
|