# Maintainer: David Runge <dave@sleepmap.de>

_name=ADLplug
pkgbase=adlplug
pkgname=('adlplug' 'opnplug')
pkgver=1.0.1
pkgrel=2
pkgdesc="FM synthesizer plugins, based on OPL3 and OPN2 sound chip emulations"
arch=('x86_64')
url="https://github.com/jpcima/ADLplug"
license=('Boost' 'GPL2' 'GPL3' 'LGPL2.1')
groups=('pro-audio' 'lv2-plugins' 'vst-plugins')
# TODO: devendor simpleini, if feasible
depends=('fmt' 'freetype2' 'hicolor-icon-theme' 'jack' 'liblo' 'libxext')
makedepends=('cmake' 'libxrandr' 'libxinerama' 'libxcursor')
source=("https://github.com/jpcima/${pkgbase}/releases/download/v${pkgver}/${_name}-${pkgver}.tar.xz"
        "${pkgbase}-1.0.1-devendor_fmt.patch::https://github.com/jpcima/${pkgbase}/pull/55/commits/66fe594ddb2793ddc0464a0c6be4c5915b2f367f.patch"
        "${pkgbase}-1.0.1-gcc9.patch::https://github.com/WeAreROLI/JUCE/commit/4e0adb2af8b424c43d22bd431011c9a6c57d36b6.patch")
sha512sums=('20a5b976751a52e5dafd25b9eb5bd457990d53875e2ed172696365a31fdfc7e98a47289078248b1ec1aee51bd4d3c58e3ffef4498106d61934f13673f0e91cb8'
            'd8ef4943ef88abab99a612769c0372120f3302953fa85fda06cc398d5541dbe46ff009f43fa5a683cb6f3dd4d8792f8f1147ec880ab72b8120629c19b55eb37f'
            '263fe21e7362f4b8c4009d33e8a086ddf57ddd44267343b924f1304a58580a38e6bd2d36c9548ec706be733476d27e5c89f8095f401b9b841ade63d9cb812a77')

prepare() {
  mv -v "${_name}-${pkgver}" "$pkgbase-$pkgver"
  cd "$pkgbase-$pkgver"
  mkdir -vp "build-${pkgname[0]}" "build-${pkgname[1]}"
  # devendoring fmt: https://github.com/jpcima/ADLplug/pull/55
  patch -Np1 -i ../"${pkgbase}-1.0.1-devendor_fmt.patch"
  # fix build with gcc9: https://github.com/jpcima/ADLplug/issues/54
  (
    cd thirdparty/JUCE
    patch -Np1 -i "${srcdir}/${pkgbase}-1.0.1-gcc9.patch"
  )
}

build() {
  cd "$pkgbase-$pkgver"
  (
    cd "build-${pkgname[0]}"
    cmake -DCMAKE_INSTALL_PREFIX=/usr \
          -DCMAKE_BUILD_TYPE=Release \
          -DCMAKE_INSTALL_LIBDIR=/usr/lib \
          -DADLplug_CHIP=OPL3 \
          -DSYSTEM_FMT=ON \
          ..
    make VERBOSE=1
  )
  (
    cd "build-${pkgname[1]}"
    cmake -DCMAKE_INSTALL_PREFIX=/usr \
          -DCMAKE_BUILD_TYPE=Release \
          -DCMAKE_INSTALL_LIBDIR=/usr/lib \
          -DADLplug_CHIP=OPN2 \
          -DSYSTEM_FMT=ON \
          ..
    make VERBOSE=1
  )
}

package_adlplug() {
  pkgdesc="FM synthesizer for ADLMIDI with OPL3 chip emulation"
  cd "$pkgbase-$pkgver/build-${pkgname}"
  make DESTDIR="$pkgdir/" install
  install -vDm 644 ../README.md -t "${pkgdir}/usr/share/doc/${pkgname}"
}

package_opnplug() {
  pkgdesc="FM synthesizer for OPNMIDI with OPN2 chip emulation"
  cd "$pkgbase-$pkgver/build-${pkgname}"
  make DESTDIR="$pkgdir/" install
  install -vDm 644 ../README.md -t "${pkgdir}/usr/share/doc/${pkgname}"
}
