audio/foo-yc20: Added (Yamaha YC-20 organ emulator)

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
B. Watson 2012-08-12 12:27:26 -05:00 committed by Robby Workman
parent f616c2cd6f
commit dd0762e7bb
6 changed files with 147 additions and 0 deletions

22
audio/foo-yc20/README Normal file
View file

@ -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.

4
audio/foo-yc20/doinst.sh Normal file
View file

@ -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

View file

@ -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}

View file

@ -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"

2
audio/foo-yc20/setcap.sh Normal file
View file

@ -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

19
audio/foo-yc20/slack-desc Normal file
View file

@ -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: