#!/usr/bin/env bash name='jack2' release='1' version='1.9.22' url='https://github.com/jackaudio/jack2' description='A frontend for several cd-rippers and mp3 encoders ' email='bayramk@gmail.com' maintainer='bk' license=('GPLv3') source=("https://github.com/jackaudio/jack2/archive/refs/tags/v$version.tar.gz" "jack2-1.9.22-db-5.3.patch") depends=(python) makedepends=() md5sums=('e57c8ad3de75f78b6eb7aacea4e25755' "SKIP") group=(media.sound) uses=() arch=('x86_64') cd $name-$version _pick() { local p="$1" f d; shift for f; do d="$srcdir/$p/${f#$pkgdir/}" mkdir -p "$(dirname "$d")" mv "$f" "$d" rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" done } prepare() { patch -Np1 -i ../jack2-1.9.22-db-5.3.patch # remove custom waflib, as we are using system provided waf #rm -rv waflib } build() { local waf_options=( --prefix=/usr --libdir=/usr/lib64/ --htmldir=/usr/share/doc/$name/html --autostart=none --doxygen=no --classic --dbus ) waf configure "${waf_options[@]}" waf build } package_jack2() { license+=(LGPL2.1) depends=( alsa-lib libasound.so db5.3 dbus libdbus-1.so gcc-libs glibc libsamplerate libsamplerate.so opus libopus.so systemd-libs libsystemd.so ) optdepends=( 'a2jmidid: for ALSA MIDI to JACK MIDI bridging' 'libffado: for firewire support using FFADO' 'jack-example-tools: for official JACK example-clients and tools' 'jack2-dbus: for dbus integration' 'jack2-docs: for developer documentation' 'realtime-privileges: for realtime privileges' ) conflicts=(jack) provides=(jack libjack.so libjacknet.so libjackserver.so) #cd $pkgbase export PYTHONPATH="$PWD:$PYTHONPATH" waf install --destdir="$pkgdir" ( cd $pkgdir _pick jack2-dbus usr/bin/jack{dbus,_control} _pick jack2-dbus usr/share/dbus-1/services/* _pick jack2-docs usr/share/doc/$name/html ) } package_jack2-dbus() { pkgdesc+=" (dbus integration)" depends=( dbus libdbus-1.so expat libexpat.so gcc-libs glibc jack2 libjackserver.so python-dbus ) mv -v jack2-dbus/* "$pkgdir" } package_jack2-docs() { pkgdesc+=" (documentation)" mv -v jack2-docs/* "$pkgdir" }