summaryrefslogtreecommitdiff
path: root/multilib
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2011-12-10 23:14:51 +0000
committerroot <root@rshg054.dnsready.net>2011-12-10 23:14:51 +0000
commite37e888e9ecdc23a004eb19d72c64c02c5af3249 (patch)
tree19ab9633db499218c0eaf69356525133fd2c4e7f /multilib
parentd22b68a6758c4f29a8e50a7be467374a53c68415 (diff)
Sat Dec 10 23:14:51 UTC 2011
Diffstat (limited to 'multilib')
-rw-r--r--multilib/jack2-multilib/40-hpet-permissions.rules2
-rw-r--r--multilib/jack2-multilib/99-audio.conf2
-rw-r--r--multilib/jack2-multilib/PKGBUILD142
3 files changed, 146 insertions, 0 deletions
diff --git a/multilib/jack2-multilib/40-hpet-permissions.rules b/multilib/jack2-multilib/40-hpet-permissions.rules
new file mode 100644
index 000000000..7af3780f9
--- /dev/null
+++ b/multilib/jack2-multilib/40-hpet-permissions.rules
@@ -0,0 +1,2 @@
+KERNEL=="rtc0", GROUP="audio"
+KERNEL=="hpet", GROUP="audio"
diff --git a/multilib/jack2-multilib/99-audio.conf b/multilib/jack2-multilib/99-audio.conf
new file mode 100644
index 000000000..eb76ef920
--- /dev/null
+++ b/multilib/jack2-multilib/99-audio.conf
@@ -0,0 +1,2 @@
+@audio - rtprio 99
+@audio - memlock unlimited
diff --git a/multilib/jack2-multilib/PKGBUILD b/multilib/jack2-multilib/PKGBUILD
new file mode 100644
index 000000000..7c61a3571
--- /dev/null
+++ b/multilib/jack2-multilib/PKGBUILD
@@ -0,0 +1,142 @@
+# $Id: PKGBUILD 52694 2011-07-27 17:23:48Z schiv $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: SpepS <dreamspepser at yahoo dot it>
+
+# This one is in response to a need for an equivalent to lib32-jack for
+# jack2. A lib32-jack2 would require much patching and invading the pure
+# jack2 package, and what's more, the buildsystem provides a flag just to
+# build a hybrid jack2 in full. As such, we have opted to provide multilib
+# users with a replacement package instead of the usual lib32 add-on.
+#
+# See http://mailman.archlinux.org/pipermail/arch-multilib/2011-December/000251.html
+
+pkgbase=jack2-multilib
+pkgname=('jack2-multilib' 'jack2-dbus-multilib')
+#pkgname= # single build (overrides split)
+_tarname=jack
+pkgver=1.9.7
+pkgrel=1
+arch=('x86_64')
+url="http://jackaudio.org/"
+backup=(etc/security/limits.d/99-audio.conf)
+license=('GPL')
+makedepends=('python2' 'libffado' 'libsamplerate' 'celt'
+ 'doxygen' 'gcc-multilib' 'lib32-dbus-core')
+source=("http://www.grame.fr/~letz/$_tarname-$pkgver.tar.bz2"
+ '99-audio.conf'
+ '40-hpet-permissions.rules')
+md5sums=('9759670feecbd43eeccf1c0f743ec199'
+ 'ae65b7c9ebe0fff6c918ba9d97ae342d'
+ '471aad533ff56c5d3cbbf65ce32cadef')
+
+_pyfix() {
+ sed -i 's:bin/env python:bin/env python2:' \
+ "$pkgdir/usr/bin/jack_control"
+}
+
+_wafconf() {
+ python2 waf configure --prefix=/usr \
+ --alsa \
+ --firewire \
+ --mixed \
+ --doxygen $@
+}
+
+_isbuild() {
+ printf "%s\n" ${pkgname[@]} | grep -qx $1
+}
+
+_mklinks() {
+ ln -s /usr/lib32/libjack.so.0.1.0 "$pkgdir/usr/lib32/libjack.so.0"
+ ln -s /usr/lib32/libjack.so.0 "$pkgdir/usr/lib32/libjack.so"
+}
+
+build() {
+ cd "$srcdir"
+
+ # fix doxygen building
+ sed -i 's:build/default/html:html:' $_tarname-$pkgver/wscript
+
+ # we may do 2 different builds
+ cp -r $_tarname-$pkgver $_tarname-dbus-$pkgver
+
+ # mixed dbus/classic build
+ if _isbuild jack2-multilib; then
+ cd $_tarname-$pkgver
+ msg2 "Running Mixed D-Bus/Classic build"
+ _wafconf --classic --dbus
+ python2 waf build $MAKEFLAGS
+ cd ..
+ fi
+
+ # dbus-ONLY build
+ if _isbuild jack2-dbus-multilib; then
+ cd $_tarname-dbus-$pkgver
+ msg2 "Running D-Bus-only build"
+ _wafconf --dbus
+ python2 waf build $MAKEFLAGS
+ cd ..
+ fi
+}
+
+package_jack2-multilib() {
+ ! _isbuild jack2-multilib && return 0
+
+ pkgdesc="The next-generation JACK with SMP support & mixed mode"
+ depends=('libsamplerate' 'gcc-libs-multilib')
+ optdepends=('libffado: FireWire support'
+ 'celt: NetJACK2 driver'
+ 'lib32-dbus-core: jackdbus'
+ 'python2: jack_control')
+ conflicts=('jack' 'jack2' 'lib32-jack')
+ provides=('jack' 'jack2' 'lib32-jack' 'jackmp'
+ 'jackdmp' 'jackdbus' 'lib32-jack2')
+
+ cd "$srcdir/$_tarname-$pkgver"
+
+ python2 waf install --destdir="$pkgdir"
+
+ # fix for major python transition
+ _pyfix
+
+ # configure realtime access/scheduling
+ # see https://bugs.archlinux.org/task/26343
+ install -Dm644 "$srcdir/99-audio.conf" \
+ "$pkgdir/etc/security/limits.d/99-audio.conf"
+
+ install -Dm644 "$srcdir/40-hpet-permissions.rules" \
+ "$pkgdir/lib/udev/rules.d/40-hpet-permissions.rules"
+
+ # should be done by upstream
+ # see http://trac.jackaudio.org/ticket/200
+ _mklinks
+}
+
+package_jack2-dbus-multilib() {
+ ! _isbuild jack2-dbus-multilib && return 0
+
+ pkgdesc="The next-generation JACK with SMP support & mixed mode (for D-BUS interaction only)"
+ depends=('libsamplerate' 'lib32-dbus-core')
+ optdepends=('libffado: FireWire support'
+ 'celt: NetJACK2 driver'
+ 'python2: jack_control')
+ conflicts=('jack' 'jack2' 'lib32-jack' 'jack2-multilib')
+ provides=('jack' 'jack2' 'lib32-jack' 'jack2-multilib'
+ 'jackmp' 'jackdmp' 'jackdbus' 'lib32-jack2')
+
+ cd "$srcdir/$_tarname-dbus-$pkgver"
+
+ python2 waf install --destdir="$pkgdir"
+
+ _pyfix
+
+ install -Dm644 "$srcdir/99-audio.conf" \
+ "$pkgdir/etc/security/limits.d/99-audio.conf"
+
+ install -Dm644 "$srcdir/40-hpet-permissions.rules" \
+ "$pkgdir/lib/udev/rules.d/40-hpet-permissions.rules"
+
+ _mklinks
+}
+
+# vim:set ts=2 sw=2 et: