[Jack-Devel] Help for compiling jack2
Ralf Mardorf
ralf.mardorf at alice-dsl.net
Wed Mar 9 21:52:05 CET 2016
Hi,
regarding the distro's package policy, the make dependencies are not
the same for each distro.
Ubuntu/Debian
=============
https://tracker.debian.org/media/packages/j/jackd2/control-1.9.10%2B20150825git1ed50c92~dfsg-1
https://tracker.debian.org/media/packages/j/jackd2/rules-1.9.10%2B20150825git1ed50c92~dfsg-1
https://tracker.debian.org/pkg/jackd2
Arch Linux
==========
[rocketmouse at archlinux ~]$ cat /usr/src/jack2/jack2-rocketmouse/PKGBUILD
pkgbase=jack2
pkgname=('jack2' 'jack2-dbus')
#pkgname= # single build (overrides split)
_tarname=jack
pkgver=1.9.10.r177.g7bdad49
pkgrel=1
arch=('i686' 'x86_64')
url="http://jackaudio.org/"
backup=(etc/security/limits.d/99-audio.conf)
license=('GPL')
makedepends=('python2-dbus' 'celt' 'opus' 'libsamplerate' 'git' 'libffado')
source=("git+https://github.com/jackaudio/jack2"
'99-audio.conf'
'40-hpet-permissions.rules')
md5sums=('SKIP'
'ae65b7c9ebe0fff6c918ba9d97ae342d'
'471aad533ff56c5d3cbbf65ce32cadef')
_gitname='jack2'
_pyfix() {
sed -i 's:bin/env python:bin/env python2:' \
"$pkgdir/usr/bin/jack_control"
}
_wafconf() {
# default=64, AUR=128, kxstudio=256 --clients=
# default=768, AUR=1536, kxstudio=2048 --ports-per-application=
python2 waf configure --prefix=/usr \
--clients=64 --ports-per-application=768 \
--alsa --firewire $@
}
_isbuild() {
printf "%s\n" ${pkgname[@]} | grep -qx $1
}
pkgver() {
cd jack2
echo $(git describe|sed -r 's/^v//;s/([^-]*-g)/r\1/;s/-/./g')
}
prepare() {
# we may do 2 different builds
cp -r $_gitname $_gitname-dbus
}
build() {
cd "$srcdir"
# mixed dbus/classic build
if _isbuild jack2; then
cd $_gitname
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 $_gitname-dbus
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' 'opus' 'celt' 'libffado')
optdepends=('python2-dbus: jack_control')
conflicts=('jack')
provides=('jack' 'jackmp' 'jackdmp' 'jackdbus')
cd "$srcdir/$_gitname"
python2 waf install --destdir="$pkgdir"
# fix for major python transition
_pyfix
# configure realtime access/scheduling
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-dbus: jack_control')
conflicts=('jack' 'jack2')
provides=('jack' 'jack2' 'jackmp' 'jackdmp' 'jackdbus')
cd "$srcdir/$_gitname-dbus"
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"
}
Get the rest from ABS:
[rocketmouse at archlinux ~]$ ls -hAl /var/abs/community/jack2/
total 16K
-rw-r--r-- 1 root root 60 Mar 9 00:11 40-hpet-permissions.rules
-rw-r--r-- 1 root root 50 Mar 9 00:11 99-audio.conf
-rw-r--r-- 1 root root 1.5K Mar 9 00:11 jack1compat.diff
-rw-r--r-- 1 root root 3.6K Mar 9 00:11 PKGBUILD
Regards,
Ralf
More information about the Jackaudio
mailing list