archrelease: copy trunk to extra-x86_64
[arch-packages.git] / jack2 / repos / extra-x86_64 / PKGBUILD
blob1c877944b15ec032cb0ef93f27194e9aaaf581d4
1 # Maintainer: David Runge <dvzrv@archlinux.org>
2 # Contributor: Ray Rashif <schiv@archlinux.org>
3 # Contributor: Daniele Paolella <danielepaolella@email.it>
4 # Contributor: Philipp Überbacher <hollunder at gmx dot at>
5 # Contributor: Thomas Bahn <thomas-bahn at gmx dot net>
7 pkgbase=jack2
8 pkgname=(jack2 jack2-dbus jack2-docs)
9 pkgdesc="The JACK low-latency audio server"
10 pkgver=1.9.22
11 _commit=80149e552b56d6d57d754dc04d119b8170d27313  # refs/tags/v1.9.22
12 pkgrel=1
13 arch=(x86_64)
14 url="https://github.com/jackaudio/jack2"
15 license=(GPL2)
16 makedepends=(alsa-lib db5.3 dbus doxygen expat git libffado libsamplerate opus systemd waf)
17 # jack breaks when built with LTO: https://github.com/jackaudio/jack2/issues/485
18 options=(!lto)
19 source=(
20   git+$url#tag=$_commit?signed
21   $pkgbase-1.9.22-db-5.3.patch
23 validpgpkeys=('62B11043D2F6EB6672D93103CDBAA37ABC74FBA0') # falkTX <falktx@falktx.com>
24 sha512sums=('SKIP'
25             'f5a5abaf6a0c0a7326b60b8bfe2eff84251d27037cfec7e6dc3194c7ceb296290779fdb26dca188cfbcf49f0a8a62707506584a1f7b0ed36c39f8a794154c4eb')
27 _pick() {
28   local p="$1" f d; shift
29   for f; do
30     d="$srcdir/$p/${f#$pkgdir/}"
31     mkdir -p "$(dirname "$d")"
32     mv "$f" "$d"
33     rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
34   done
37 prepare() {
38   patch -Np1 -d $pkgbase -i ../$pkgbase-1.9.22-db-5.3.patch
40   # remove custom waflib, as we are using system provided waf
41   rm -rv $pkgbase/waflib
44 build() {
45   local waf_options=(
46     --prefix=/usr
47     --htmldir=/usr/share/doc/$pkgbase/html
48     --autostart=none
49     --doxygen=yes
50     --systemd-unit
51     --classic
52     --dbus
53   )
55   cd $pkgbase
56   export CXXFLAGS="$CXXFLAGS -I/usr/include/db5.3"
57   export LDFLAGS="$LDFLAGS -ldb-5.3"
58   export LINKFLAGS="$LDFLAGS"
59   export PYTHONPATH="$PWD:$PYTHONPATH"
60   waf configure "${waf_options[@]}"
61   waf build
64 package_jack2() {
65   license+=(LGPL2.1)
66   depends=(
67     alsa-lib libasound.so
68     db5.3
69     dbus libdbus-1.so
70     gcc-libs
71     glibc
72     libsamplerate libsamplerate.so
73     opus libopus.so
74     systemd-libs libsystemd.so
75   )
76   optdepends=(
77     'a2jmidid: for ALSA MIDI to JACK MIDI bridging'
78     'libffado: for firewire support using FFADO'
79     'jack-example-tools: for official JACK example-clients and tools'
80     'jack2-dbus: for dbus integration'
81     'jack2-docs: for developer documentation'
82     'realtime-privileges: for realtime privileges'
83   )
84   conflicts=(jack)
85   provides=(jack libjack.so libjacknet.so libjackserver.so)
87   cd $pkgbase
88   export PYTHONPATH="$PWD:$PYTHONPATH"
89   waf install --destdir="$pkgdir"
91   (
92     cd $pkgdir
94     _pick jack2-dbus usr/bin/jack{dbus,_control}
95     _pick jack2-dbus usr/share/dbus-1/services/*
96     _pick jack2-docs usr/share/doc/$pkgbase/html
97   )
100 package_jack2-dbus() {
101   pkgdesc+=" (dbus integration)"
102   depends=(
103     dbus libdbus-1.so
104     expat libexpat.so
105     gcc-libs
106     glibc
107     jack2 libjackserver.so
108     python-dbus
109   )
111   mv -v jack2-dbus/* "$pkgdir"
114 package_jack2-docs() {
115   pkgdesc+=" (documentation)"
117   mv -v jack2-docs/* "$pkgdir"
120 # vim:set ts=2 sw=2 et: