aboutsummaryrefslogtreecommitdiff
path: root/audio/tapiir
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2021-11-30 13:38:00 -0500
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2021-12-10 08:37:31 +0700
commit8836fc665d33c24ecb53c5e78f497d9251a2ab8d (patch)
treed58a907978f3d89ebab49d4bdaa2e285715e69b1 /audio/tapiir
parent12b1a637209963505f7af97d7544e774e278d787 (diff)
audio/tapiir: New-style icons, capabilities.
Signed-off-by: B. Watson <yalhcru@gmail.com> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'audio/tapiir')
-rw-r--r--audio/tapiir/README6
-rw-r--r--audio/tapiir/doinst.sh6
-rw-r--r--audio/tapiir/setcap.sh1
-rw-r--r--audio/tapiir/tapiir.SlackBuild87
-rw-r--r--audio/tapiir/tapiir.pngbin0 -> 11197 bytes
5 files changed, 64 insertions, 36 deletions
diff --git a/audio/tapiir/README b/audio/tapiir/README
index fbc4a71e58bb9..2a710521c22be 100644
--- a/audio/tapiir/README
+++ b/audio/tapiir/README
@@ -13,3 +13,9 @@ works for you, please let me know.
The example presets can be found /usr/doc/tapiir-0.7.3/examples/; most
of these sound pretty good.
+
+This package uses POSIX filesystem capabilities to execute with
+elevated privileges (required for realtime audio processing). This
+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.
diff --git a/audio/tapiir/doinst.sh b/audio/tapiir/doinst.sh
index 5fb28930db0b9..3e5691a052b5b 100644
--- a/audio/tapiir/doinst.sh
+++ b/audio/tapiir/doinst.sh
@@ -1,3 +1,9 @@
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
+
+if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
diff --git a/audio/tapiir/setcap.sh b/audio/tapiir/setcap.sh
new file mode 100644
index 0000000000000..8b893394bc6ec
--- /dev/null
+++ b/audio/tapiir/setcap.sh
@@ -0,0 +1 @@
+[ -x /sbin/setcap ] && /sbin/setcap cap_ipc_lock,cap_sys_nice=ep usr/bin/tapiir
diff --git a/audio/tapiir/tapiir.SlackBuild b/audio/tapiir/tapiir.SlackBuild
index 5dfd8909e7daf..e7182b24848a0 100644
--- a/audio/tapiir/tapiir.SlackBuild
+++ b/audio/tapiir/tapiir.SlackBuild
@@ -6,11 +6,16 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+# 20211130 bkw: BUILD=2
+# - new-style icons.
+# - fix typos and paths in man page.
+# - add realtime capabilities.
+
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=tapiir
VERSION=${VERSION:-0.7.3}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -22,9 +27,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
@@ -50,23 +52,31 @@ fi
set -e
+# 20211130 bkw: tar command uses --no-same-permissions because the
+# tarball contains setgid dirs, and GNU chmod won't clear the setgid
+# bit with a numeric mode (really!).
+
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tgz
+tar xvf $CWD/$PRGNAM-$VERSION.tgz --no-same-permissions
cd $PRGNAM-$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 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
if [ "${ALSA:-yes}" = "no" ]; then
ALSA_OPT="--without-alsa"
fi
+# 20211130 bkw: clean up man page
+sed -i -e 's/maximun/maximum/g' \
+ -e 's/minimun/minimum/g' \
+ -e "s,/usr/share/doc/tapiir,/usr/doc/$PRGNAM-$VERSION," \
+ -e 's/on debian systems //' \
+ doc/$PRGNAM.1
+
# Prevent segfaults when running "tapiir --alsa --help"
patch -p1 < $CWD/alsaio_help_fix_segfault.diff
@@ -100,41 +110,46 @@ sed 's/@ARG@/jack/g' $CWD/$PRGNAM.sh > $PKG/usr/bin/${PRGNAM}_jack
sed 's/@ARG@/alsa/g' $CWD/$PRGNAM.sh > $PKG/usr/bin/${PRGNAM}_alsa
chmod 0755 $PKG/usr/bin/${PRGNAM}_*
-mkdir -p $PKG/usr/man/man1
-gzip -9c doc/$PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
+PKGMAN1=$PKG/usr/man/man1
+mkdir -p $PKGMAN1
+gzip -9c doc/$PRGNAM.1 > $PKGMAN1/$PRGNAM.1.gz
-cd $PKG/usr/man/man1
-ln -s $PRGNAM.1.gz ${PRGNAM}_jack.1.gz
-[ "$ALSA" != "no" ] && ln -s ${PRGNAM}.1.gz ${PRGNAM}_alsa.1.gz
-cd -
+ln -s $PRGNAM.1.gz $PKGMAN1/${PRGNAM}_jack.1.gz
+[ "$ALSA" != "no" ] && ln -s ${PRGNAM}.1.gz $PKGMAN1/${PRGNAM}_alsa.1.gz
-mkdir -p $PKG/usr/share/applications
-cat $CWD/${PRGNAM}_jack.desktop \
- > $PKG/usr/share/applications/${PRGNAM}_jack.desktop
+PKGAPPS=$PKG/usr/share/applications
+mkdir -p $PKGAPPS
+cat $CWD/${PRGNAM}_jack.desktop > $PKGAPPS/${PRGNAM}_jack.desktop
[ "$ALSA" != "no" ] && \
- cat $CWD/${PRGNAM}_alsa.desktop \
- > $PKG/usr/share/applications/${PRGNAM}_alsa.desktop
+ cat $CWD/${PRGNAM}_alsa.desktop > $PKGAPPS/${PRGNAM}_alsa.desktop
+
+for px in 16 32 48 64 96; do
+ size=${px}x${px}
+ dir=$PKG/usr/share/icons/hicolor/$size/apps
+ mkdir -p $dir
+ convert -resize $size $CWD/$PRGNAM.png $dir/$PRGNAM.png
+done
+
mkdir -p $PKG/usr/share/pixmaps
-cat doc/images/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a \
- doc/examples doc/images AUTHORS doc/*.html doc/*.txt \
- $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-
-# Fix docs permissions, they are awful. The funky u+rwx,etc stuff is needed
-# because GNU's chmod won't clear the setgid bit with a numeric mode! Really!
-# (Why does upstream ship with setgid bits on the docs? I dunno, but this is
-# pretty much unmaintained, so they're never going to fix it)
-find $PKG/usr/doc -type f -a -name "Makefile*" -exec rm {} \;
-find $PKG/usr/doc -type d -exec chmod u=rwx,g=rx,o=rx,a-st {} \;
-find $PKG/usr/doc -type f -exec chmod u=rw,g=r,o=r,a-st {} \;
+ln -s ../icons/hicolor/48x48/apps/$PRGNAM.png $PKG/usr/share/pixmaps/$PRGNAM.png
+
+PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
+mkdir -p $PKGDOC/{examples,images}
+cp -a doc/examples/*.mtd $PKGDOC/examples
+cp -a doc/images/*.png $PKGDOC/images
+cp -a AUTHORS doc/*.html doc/*.txt $PKGDOC
+cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $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
+ chmod 0750 $PKG/usr/bin/$PRGNAM
+fi
+
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/audio/tapiir/tapiir.png b/audio/tapiir/tapiir.png
new file mode 100644
index 0000000000000..a1df8b257b188
--- /dev/null
+++ b/audio/tapiir/tapiir.png
Binary files differ