diff options
Diffstat (limited to 'community/jack2/PKGBUILD')
-rw-r--r-- | community/jack2/PKGBUILD | 128 |
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: |