From a694bc59e79994a365d884e8a4217c984d8644e7 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Wed, 15 Jan 2014 12:42:49 +0700 Subject: audio/rakarrack: Fix distortion on x86_64. Signed-off-by: Willy Sudiarto Raharjo --- audio/rakarrack/64bit_distortion.diff | 12 ++++++++++++ audio/rakarrack/README | 10 ++++++++-- audio/rakarrack/rakarrack.SlackBuild | 28 +++++++++++++++++++++------- audio/rakarrack/rakarrack.info | 2 +- audio/rakarrack/setcap.sh | 1 + audio/rakarrack/slack-desc | 2 +- 6 files changed, 44 insertions(+), 11 deletions(-) create mode 100644 audio/rakarrack/64bit_distortion.diff create mode 100644 audio/rakarrack/setcap.sh (limited to 'audio') diff --git a/audio/rakarrack/64bit_distortion.diff b/audio/rakarrack/64bit_distortion.diff new file mode 100644 index 0000000000..2fade8cb5c --- /dev/null +++ b/audio/rakarrack/64bit_distortion.diff @@ -0,0 +1,12 @@ +diff -Naur rakarrack-0.6.1/src/Waveshaper.C rakarrack-0.6.1.patched/src/Waveshaper.C +--- rakarrack-0.6.1/src/Waveshaper.C 2010-08-22 09:41:40.000000000 -0400 ++++ rakarrack-0.6.1.patched/src/Waveshaper.C 2014-01-14 23:27:09.000000000 -0500 +@@ -49,7 +49,7 @@ + period_coeff = 8; + ncSAMPLE_RATE=cSAMPLE_RATE/8.0f; + break; +- case 4: ++ default: + period_coeff = 12; + ncSAMPLE_RATE=cSAMPLE_RATE/12.0f; + break; diff --git a/audio/rakarrack/README b/audio/rakarrack/README index cc0d045320..0f89b98afb 100644 --- a/audio/rakarrack/README +++ b/audio/rakarrack/README @@ -1,4 +1,10 @@ -rakarrack (realtime audio effects processor) +rakarrack (realtime audio effects processor for JACK) -Rakarrack is a virtual digitial effects rack, including such effects as +Rakarrack is a virtual digital effects rack, including such effects as distortion, echo, reverb, phaser, flanger, chorus, compressor, etc. + +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/rakarrack/rakarrack.SlackBuild b/audio/rakarrack/rakarrack.SlackBuild index 25540134c6..9268c8fff9 100644 --- a/audio/rakarrack/rakarrack.SlackBuild +++ b/audio/rakarrack/rakarrack.SlackBuild @@ -6,9 +6,11 @@ # Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. +# 20140114 bkw: add 64-bit distortion fix and setcap stuff. + PRGNAM=rakarrack VERSION=${VERSION:-0.6.1} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -48,10 +50,15 @@ tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 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 {} \; + \( -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 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# work around a bug that causes distorion/overdrive not to work on 64-bit. +# this is a band-aid, not a real solution, but it seems to work OK. +# http://sourceforge.net/p/rakarrack/discussion/778862/thread/e9559a34/ +patch -p1 < $CWD/64bit_distortion.diff CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ @@ -70,8 +77,7 @@ gzip $PKG/usr/man/man?/*.? mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a \ - AUTHORS COPYING ChangeLog NEWS README TODO \ +cp -a AUTHORS COPYING ChangeLog NEWS README TODO \ $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild @@ -79,5 +85,13 @@ mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh +# Only add capability stuff if not disabled: +if [ "${SETCAP:-yes}" = "yes" ]; then + cat $CWD/setcap.sh >> $PKG/install/doinst.sh + # Only allow execution by audio group + 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:-tgz} diff --git a/audio/rakarrack/rakarrack.info b/audio/rakarrack/rakarrack.info index ae15e4a4b3..6e7a574579 100644 --- a/audio/rakarrack/rakarrack.info +++ b/audio/rakarrack/rakarrack.info @@ -5,6 +5,6 @@ DOWNLOAD="http://downloads.sourceforge.net/project/rakarrack/rakarrack/rakarrack MD5SUM="56b1e04779ae3d56cc8a3ad3c4e25152" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="fltk qjackctl set_rlimits" +REQUIRES="fltk jack-audio-connection-kit" MAINTAINER="B. Watson" EMAIL="yalhcru@gmail.com" diff --git a/audio/rakarrack/setcap.sh b/audio/rakarrack/setcap.sh new file mode 100644 index 0000000000..7ea8348086 --- /dev/null +++ b/audio/rakarrack/setcap.sh @@ -0,0 +1 @@ +[ -x /sbin/setcap ] && /sbin/setcap cap_ipc_lock,cap_sys_nice=ep usr/bin/rakarrack diff --git a/audio/rakarrack/slack-desc b/audio/rakarrack/slack-desc index cf036307c3..fa3781f22f 100644 --- a/audio/rakarrack/slack-desc +++ b/audio/rakarrack/slack-desc @@ -6,7 +6,7 @@ # customary to leave one space after the ':' except on otherwise blank lines. |-----handy-ruler------------------------------------------------------| -rakarrack: rakarrack (realtime audio effects processor) +rakarrack: rakarrack (realtime audio effects processor for JACK) rakarrack: rakarrack: Rakarrack is a virtual digitial effects rack, including such effects rakarrack: as distortion, echo, reverb, phaser, flanger, chorus, compressor, etc. -- cgit v1.2.3-80-g2a13