# Maintainer: David Runge <dvzrv@archlinux.org>

pkgname=giada
pkgver=0.18.2
pkgrel=1
pkgdesc="A free, minimal, hardcore audio tool for DJs, live performers and electronic musicians"
arch=('x86_64')
url="https://www.giadamusic.com/"
license=('GPL3')
groups=('pro-audio')
depends=('gcc-libs' 'glibc' 'hicolor-icon-theme' 'libx11' 'libxcursor' 'libxft'
'libxinerama' 'libxpm')
# upstream vendors a hacked rtaudio :(
makedepends=('alsa-lib' 'catch2' 'cmake' 'fltk' 'gendesk' 'imagemagick' 'jack'
'libpulse' 'libsamplerate' 'libsndfile' 'libxrandr' 'nlohmann-json' 'rtmidi')
checkdepends=('xorg-server-xvfb')
provides=('vst3-host')
source=("https://www.giadamusic.com/data/${pkgname}-v${pkgver}-src.tar.gz"
        "$pkgname-0.17.2-devendor_nlohmann_json.patch")
sha512sums=('205b27ecbc8c2fef87908a6f0c2c532c1199fba94e4c65d7ba48c07d022c50b30c180a58860b117977e0089ad26e19adee645a06ce42586a8f7ef2ad93166d23'
            'b9d952c0816dd2b81dadff24521b19f305ca5ddeb1964dd81ce93e6f63b25dbf291c07e528cc2836f268a095bf9920786331a615230416f44a9014ff581a0bce')
b2sums=('0a59f68ae2641d7e62d98fc18d7ec9cf18164cf7510f0a3c9558f419ee19b39bcedf7fdc1349dbda055d8d36c8f8d61d31cfe363bccb511996af9ba5c3f0691c'
        'a482f356969c5d184a1eb0945477040cc7c5d1447fee0159cc5d2da05faea0bd696123b0559bdced148b301181f93726a515df24a814dbd08d207e2959f31305')

prepare() {
  mv -v "$pkgname-$pkgver-src" "$pkgname-$pkgver"
  cd "$pkgname-$pkgver"
  # XDG desktop file
  gendesk -n \
          --pkgname ${pkgname} \
          --pkgdesc "${pkgdesc}" \
          --name Giada \
          --categories "AudioVideo;Audio;Midi;Sequencer"

  # devendor nlohmann-json
  patch -Np1 -i ../"$pkgname-0.17.2-devendor_nlohmann_json.patch"
}

build() {
  cd "$pkgname-$pkgver"
  cmake -DCMAKE_INSTALL_PREFIX=/usr \
        -DCMAKE_BUILD_TYPE='None' \
        -DWITH_VST3=ON \
        -W no-dev \
        -B build \
        -S .
  cmake -DCMAKE_INSTALL_PREFIX=/usr \
        -DCMAKE_BUILD_TYPE='None' \
        -DWITH_VST3=ON \
        -DWITH_TESTS=ON \
        -W no-dev \
        -B build-test \
        -S .
  make VERBOSE=1 -C build
  make VERBOSE=1 -C build-test
}

check(){
  cd "$pkgname-$pkgver"
  xvfb-run ./build-test/giada --run-tests
}

package() {
  depends+=('libasound.so' 'libfreetype.so' 'libjack.so' 'libpulse.so'
  'libpulse-simple.so' 'librtmidi.so' 'libsamplerate.so' 'libsndfile.so')
  cd "$pkgname-$pkgver"
  make DESTDIR="$pkgdir/" install -C build
  # docs
  install -vDm 644 {ChangeLog,README.md} \
    -t "${pkgdir}/usr/share/doc/${pkgname}"
}
