summaryrefslogtreecommitdiff
path: root/community/jack2/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/jack2/PKGBUILD')
-rw-r--r--community/jack2/PKGBUILD128
1 files changed, 128 insertions, 0 deletions
diff --git a/community/jack2/PKGBUILD b/community/jack2/PKGBUILD
new file mode 100644
index 000000000..d8ad4d636
--- /dev/null
+++ b/community/jack2/PKGBUILD
@@ -0,0 +1,128 @@
+# $Id: PKGBUILD 92144 2013-06-01 12:22:16Z schiv $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: Daniele Paolella <danielepaolella@email.it>
+# Contributor: Philipp Überbacher <hollunder at gmx dot at>
+# Contributor: Thomas Bahn <thomas-bahn at gmx dot net>
+
+pkgbase=jack2
+pkgname=('jack2' 'jack2-dbus')
+#pkgname= # single build (overrides split)
+_tarname=jack
+pkgver=1.9.9.5
+pkgrel=3
+arch=('i686' 'x86_64')
+url="http://jackaudio.org/"
+backup=(etc/security/limits.d/99-audio.conf)
+license=('GPL')
+makedepends=('python2' 'libffado' 'celt' 'opus' 'libsamplerate')
+source=("https://dl.dropbox.com/u/28869550/jack-1.9.9.5.tar.bz2"
+ '99-audio.conf'
+ '40-hpet-permissions.rules')
+md5sums=('6c9de6b89db9d7076fa2ce222816cf4c'
+ 'ae65b7c9ebe0fff6c918ba9d97ae342d'
+ '471aad533ff56c5d3cbbf65ce32cadef')
+
+_isbuild() {
+ printf "%s\n" ${pkgname[@]} | grep -qx $1
+}
+
+_pyfix() {
+ sed -i 's:bin/env python:bin/env python2:' \
+ "$pkgdir/usr/bin/jack_control"
+}
+
+_wafconf() {
+ python2 waf configure --prefix=/usr \
+ --alsa \
+ --firewire $@
+
+ # not building with doxygen
+ # see https://github.com/jackaudio/jack2/issues/22
+}
+
+prepare() {
+ cd "$srcdir"
+
+ # Some optimisation bug exists for current GCC
+ # see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53663
+ #export CFLAGS="${CFLAGS/-O[0-9]/-O0}"
+ #export CXXFLAGS="$CFLAGS"
+
+ # fix doxygen building
+ # TODO: report upstream, but redundant until github issue 22 resolves
+ #sed -i 's:build/default/html:html:' $_tarname-$pkgver/wscript
+
+ # we may do 2 different builds
+ cp -r $_tarname-$pkgver $_tarname-dbus-$pkgver
+}
+
+build() {
+ cd "$srcdir"
+
+ # mixed dbus/classic build
+ if _isbuild jack2; 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; then
+ cd $_tarname-dbus-$pkgver
+ msg2 "Running D-Bus-only build"
+ _wafconf --dbus
+ python2 waf build $MAKEFLAGS
+ cd ..
+ fi
+}
+
+package_jack2() {
+ ! _isbuild jack2 && return 0
+
+ pkgdesc="The next-generation JACK with SMP support"
+ depends=('libsamplerate' 'celt' 'opus' 'libffado')
+ optdepends=('python2: jack_control')
+ conflicts=('jack')
+ provides=('jack' 'jackmp' 'jackdmp' 'jackdbus')
+
+ 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/usr/lib/udev/rules.d/40-hpet-permissions.rules"
+}
+
+package_jack2-dbus() {
+ ! _isbuild jack2-dbus && return 0
+
+ pkgdesc="The next-generation JACK with SMP support (for D-BUS interaction only)"
+ depends=('libsamplerate' 'celt' 'opus' 'libffado')
+ optdepends=('python2: jack_control')
+ conflicts=('jack' 'jack2')
+ provides=('jack' 'jack2' 'jackmp' 'jackdmp' 'jackdbus')
+
+ 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/usr/lib/udev/rules.d/40-hpet-permissions.rules"
+}
+
+# vim:set ts=2 sw=2 et: