#!/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"
}

