From 8836fc665d33c24ecb53c5e78f497d9251a2ab8d Mon Sep 17 00:00:00 2001 From: B. Watson Date: Tue, 30 Nov 2021 13:38:00 -0500 Subject: audio/tapiir: New-style icons, capabilities. Signed-off-by: B. Watson Signed-off-by: Willy Sudiarto Raharjo --- audio/tapiir/README | 6 +++ audio/tapiir/doinst.sh | 6 +++ audio/tapiir/setcap.sh | 1 + audio/tapiir/tapiir.SlackBuild | 87 ++++++++++++++++++++++++----------------- audio/tapiir/tapiir.png | Bin 0 -> 11197 bytes 5 files changed, 64 insertions(+), 36 deletions(-) create mode 100644 audio/tapiir/setcap.sh create mode 100644 audio/tapiir/tapiir.png diff --git a/audio/tapiir/README b/audio/tapiir/README index fbc4a71e58..2a710521c2 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 5fb28930db..3e5691a052 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 0000000000..8b893394bc --- /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 5dfd8909e7..e7182b2484 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 0000000000..a1df8b257b Binary files /dev/null and b/audio/tapiir/tapiir.png differ -- cgit v1.2.3