aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2012-08-12 12:27:26 -0500
committerRobby Workman <rworkman@slackbuilds.org>2012-08-12 12:27:26 -0500
commitdd0762e7bbc71f4e9f2b166aec1b8260eef3a2b1 (patch)
tree646536858cf75b4f0e0451b1c7451f7e38e65ec3
parentf616c2cd6f3dd13e66f9798793804e314f409ad5 (diff)
audio/foo-yc20: Added (Yamaha YC-20 organ emulator)
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
-rw-r--r--audio/foo-yc20/README22
-rw-r--r--audio/foo-yc20/doinst.sh4
-rw-r--r--audio/foo-yc20/foo-yc20.SlackBuild90
-rw-r--r--audio/foo-yc20/foo-yc20.info10
-rw-r--r--audio/foo-yc20/setcap.sh2
-rw-r--r--audio/foo-yc20/slack-desc19
6 files changed, 147 insertions, 0 deletions
diff --git a/audio/foo-yc20/README b/audio/foo-yc20/README
new file mode 100644
index 0000000000000..b13425f54b0b1
--- /dev/null
+++ b/audio/foo-yc20/README
@@ -0,0 +1,22 @@
+foo-yc20 (Yamaha YC-20 organ emulator for JACK and LV2)
+
+This is an implementation of a 1969 designed Yamaha combo organ,
+the YC-20.
+
+Original YC-20 organs have a touch vibrato control, which is vibrato
+induced by horizontal movement of the keys. As there very few (almost
+none) midi keyboards which produce such information, this feature has
+been left out of the emulation. Instead of the touch vibrato control,
+the control panel hosts a "realism" switch.
+
+This requires jack-audio-connection-kit and slv2.
+
+By default, the package is built with -march=native, which tells gcc
+to use the host CPU's features such as SSE2. You can disable this by
+passing FORCE_SLACK_CFLAGS=yes to the script.
+
+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/foo-yc20/doinst.sh b/audio/foo-yc20/doinst.sh
new file mode 100644
index 0000000000000..4e8ba7071dea7
--- /dev/null
+++ b/audio/foo-yc20/doinst.sh
@@ -0,0 +1,4 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/audio/foo-yc20/foo-yc20.SlackBuild b/audio/foo-yc20/foo-yc20.SlackBuild
new file mode 100644
index 0000000000000..f43dd1c2c943a
--- /dev/null
+++ b/audio/foo-yc20/foo-yc20.SlackBuild
@@ -0,0 +1,90 @@
+#!/bin/bash
+
+# Slackware build script for foo-yc20
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://sam.zoy.org/wtfpl/ for details.
+
+PRGNAM=foo-yc20
+VERSION=${VERSION:-1.3.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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.bz2
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -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 {} \;
+
+sed -i "s,\<lib\>,lib$LIBDIRSUFFIX,g" Makefile
+
+if [ "${FORCE_SLACK_CFLAGS:-no}" = "yes" ]; then
+ make PREFIX=/usr CFLAGS="$SLKCFLAGS"
+else
+ make PREFIX=/usr
+fi
+
+make install DESTDIR=$PKG PREFIX=/usr
+
+# make the .desktop file pass desktop-file-validate
+sed -i \
+ -e '/^Encoding/d' \
+ -e '/^Categories/s/$/;/' \
+ $PKG/usr/share/applications/$PRGNAM.desktop
+
+strip $PKG/usr/bin/* $PKG/usr/lib$LIBDIRSUFFIX/lv2/$PRGNAM.lv2/*.so
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a LICENSE README $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$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
+ # 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/foo-yc20/foo-yc20.info b/audio/foo-yc20/foo-yc20.info
new file mode 100644
index 0000000000000..b8b6542a6c892
--- /dev/null
+++ b/audio/foo-yc20/foo-yc20.info
@@ -0,0 +1,10 @@
+PRGNAM="foo-yc20"
+VERSION="1.3.0"
+HOMEPAGE="http://code.google.com/p/foo-yc20/"
+DOWNLOAD="http://foo-yc20.googlecode.com/files/foo-yc20-1.3.0.tar.bz2"
+MD5SUM="3eddb658ddae87e3cf8e5ad7c4b6c8a6"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
+APPROVED="rworkman"
diff --git a/audio/foo-yc20/setcap.sh b/audio/foo-yc20/setcap.sh
new file mode 100644
index 0000000000000..f96abcb1dc1a9
--- /dev/null
+++ b/audio/foo-yc20/setcap.sh
@@ -0,0 +1,2 @@
+[ -x /sbin/setcap ] && /sbin/setcap cap_ipc_lock,cap_sys_nice=ep usr/bin/foo-yc20
+[ -x /sbin/setcap ] && /sbin/setcap cap_ipc_lock,cap_sys_nice=ep usr/bin/foo-yc20-cli
diff --git a/audio/foo-yc20/slack-desc b/audio/foo-yc20/slack-desc
new file mode 100644
index 0000000000000..7a8d5f89c773b
--- /dev/null
+++ b/audio/foo-yc20/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+foo-yc20: foo-yc20 (Yamaha YC-20 organ emulator for JACK and LV2)
+foo-yc20:
+foo-yc20: This is an implementation of a 1969 designed Yamaha combo organ,
+foo-yc20: the YC-20.
+foo-yc20:
+foo-yc20: Original YC-20 organs have a touch vibrato control, which is vibrato
+foo-yc20: induced by horizontal movement of the keys. As there very few (almost
+foo-yc20: none) midi keyboards which produce such information, this feature has
+foo-yc20: been left out of the emulation. Instead of the touch vibrato control,
+foo-yc20: the control panel hosts a "realism" switch.
+foo-yc20: