summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--audio/SuperCollider/README6
-rw-r--r--audio/SuperCollider/SuperCollider.SlackBuild81
-rw-r--r--audio/SuperCollider/SuperCollider.info10
-rw-r--r--audio/SuperCollider/fixups_for_x86_64.diff48
-rw-r--r--audio/SuperCollider/slack-desc19
5 files changed, 164 insertions, 0 deletions
diff --git a/audio/SuperCollider/README b/audio/SuperCollider/README
new file mode 100644
index 0000000000..d6ccb13e44
--- /dev/null
+++ b/audio/SuperCollider/README
@@ -0,0 +1,6 @@
+SuperCollider is an environment and programming language for real time audio
+synthesis and algorithmic composition. It provides an interpreted object
+oriented language which functions as a network client to a state of the art,
+realtime sound synthesis server.
+
+This requires libsndfile, scons, icu4c, and jack-audio-connection-kit.
diff --git a/audio/SuperCollider/SuperCollider.SlackBuild b/audio/SuperCollider/SuperCollider.SlackBuild
new file mode 100644
index 0000000000..33c034e16c
--- /dev/null
+++ b/audio/SuperCollider/SuperCollider.SlackBuild
@@ -0,0 +1,81 @@
+#!/bin/sh
+
+# Slackware build script for SuperCollider
+
+# Written by Felix Pfeifer
+# contact: pfeifer[dot]felix[at]googlemail[dot]com
+
+PRGNAM=SuperCollider
+VERSION=${VERSION:-3.4}
+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 # Exit on most errors
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-Source
+tar xvf $CWD/$PRGNAM-$VERSION-Source-With-Extras-linux.tar.gz
+cd $PRGNAM-Source
+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 {} \;
+
+if [ "$LIBDIRSUFFIX" = "64" ]; then
+ patch -p1 < $CWD/fixups_for_x86_64.diff
+fi
+
+cd common
+ scons PREFIX=/usr X11=yes SCEL=yes SCED=yes SCVIM=yes LID=yes READLINE=no
+ scons install DESTDIR=$PKG
+ # Compile and install SwingOSC
+ cd ../optional_installs/SwingOSC
+ chmod 0755 install_linux_system.sh
+ ./install_linux_system.sh $PKG/usr
+ cd -
+cd ..
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mv $PKG/usr/share/doc $PKG/usr
+mv $PKG/usr/doc/$PRGNAM $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS COPYING "README LINUX" VERSION $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
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/audio/SuperCollider/SuperCollider.info b/audio/SuperCollider/SuperCollider.info
new file mode 100644
index 0000000000..3ee59a1a90
--- /dev/null
+++ b/audio/SuperCollider/SuperCollider.info
@@ -0,0 +1,10 @@
+PRGNAM="SuperCollider"
+VERSION="3.4"
+HOMEPAGE="http://supercollider.sourceforge.net/"
+DOWNLOAD="https://downloads.sourceforge.net/supercollider/SuperCollider-3.4-Source-With-Extras-linux.tar.gz"
+MD5SUM="20631117a7e9fb1c862833ce424ce9f4"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+MAINTAINER="Felix Pfeifer"
+EMAIL="pfeifer[dot]felix[at]googlemail[dot]com"
+APPROVED="rworkman"
diff --git a/audio/SuperCollider/fixups_for_x86_64.diff b/audio/SuperCollider/fixups_for_x86_64.diff
new file mode 100644
index 0000000000..13cd28628b
--- /dev/null
+++ b/audio/SuperCollider/fixups_for_x86_64.diff
@@ -0,0 +1,48 @@
+diff -Nur SuperCollider-Source.orig//common/SConstruct SuperCollider-Source/common/SConstruct
+--- SuperCollider-Source.orig//common/SConstruct 2010-03-11 14:11:21.000000000 -0600
++++ SuperCollider-Source/common/SConstruct 2010-09-12 03:10:12.839854106 -0500
+@@ -153,7 +153,7 @@
+ out.writelines([
+ 'prefix=%s\n' % env['PREFIX'],
+ 'exec_prefix=${prefix}\n',
+- 'libdir=${exec_prefix}/lib\n',
++ 'libdir=${exec_prefix}/lib64\n',
+ 'includedir=${prefix}/include/%s\n' % env['PACKAGE'],
+ '\n'])
+ write_field(out, 'PKGCONFIG_NAME', 'Name: ')
+@@ -211,7 +211,7 @@
+ def bin_dir(prefix):
+ return os.path.join(prefix, 'bin')
+ def lib_dir(prefix):
+- return os.path.join(prefix, 'lib')
++ return os.path.join(prefix, 'lib64')
+
+ def pkg_data_dir(prefix, *args):
+ if PLATFORM == 'darwin':
+@@ -369,13 +369,13 @@
+
+ # checks for DISTCC and CCACHE as used in modern linux-distros:
+
+-if os.path.exists('/usr/lib/distcc/bin'):
+- os.environ['PATH'] = '/usr/lib/distcc/bin:' + os.environ['PATH']
++if os.path.exists('/usr/lib64/distcc/bin'):
++ os.environ['PATH'] = '/usr/lib64/distcc/bin:' + os.environ['PATH']
+ #env['ENV']['DISTCC_HOSTS'] = os.environ['DISTCC_HOSTS']
+ env['ENV']['DISTCC_HOSTS'] = os.environ.get('DISTCC_HOSTS')
+
+-if os.path.exists('/usr/lib/ccache/bin'):
+- os.environ['PATH'] = '/usr/lib/ccache/bin:' + os.environ['PATH']
++if os.path.exists('/usr/lib64/ccache/bin'):
++ os.environ['PATH'] = '/usr/lib64/ccache/bin:' + os.environ['PATH']
+ #env['ENV']['CCACHE_DIR'] = os.environ['CCACHE_DIR']
+ env['ENV']['CCACHE_DIR'] = os.environ.get('CCACHE_DIR')
+
+@@ -1011,7 +1011,7 @@
+ CPPPATH = ['#include/icu/unicode'])
+ elif PLATFORM == 'linux':
+ langEnv.Append(
+- LINKFLAGS = ['-Wl,-rpath,build', '-Wl,-rpath,' + FINAL_PREFIX + '/lib'])
++ LINKFLAGS = ['-Wl,-rpath,build', '-Wl,-rpath,' + FINAL_PREFIX + '/lib64'])
+
+
+ elif PLATFORM == 'freebsd':
diff --git a/audio/SuperCollider/slack-desc b/audio/SuperCollider/slack-desc
new file mode 100644
index 0000000000..fa27b182da
--- /dev/null
+++ b/audio/SuperCollider/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 ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+SuperCollider: SuperCollider (OO Language for Audio Synthesis)
+SuperCollider:
+SuperCollider: SuperCollider is an environment and programming language for real-
+SuperCollider: time audio synthesis and algorithmic composition. It provides an
+SuperCollider: interpreted object-oriented language which functions as a network
+SuperCollider: client to a state of the art, real-time sound synthesis server.
+SuperCollider:
+SuperCollider: SuperCollider was written by James McCartney over a period of many
+SuperCollider: years, and is now an open source (GPL) project maintained and
+SuperCollider: developed by various people.
+SuperCollider: