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

pkgname=lsp-plugins
pkgver=1.1.30
pkgrel=1
pkgdesc="Collection of free plugins compatible with LADSPA, LV2 and LinuxVST"
arch=('x86_64')
url="https://lsp-plug.in"
license=('LGPL3')
groups=('ladspa-plugins' 'lv2-plugins' 'pro-audio' 'vst-plugins')
depends=('cairo' 'gcc-libs' 'glibc' 'hicolor-icon-theme' 'libglvnd' 'libx11')
makedepends=('jack' 'ladspa' 'libsndfile' 'lv2' 'php')
optdepends=('jack: for standalone applications'
            'ladspa-host: for LADSPA plugins'
            'lv2-host: for LV2 plugins'
            'vst-host: for VST plugins')
checkdepends=('lv2lint')
source=(
  "${pkgname}-${pkgver}.tar.gz::https://github.com/sadko4u/${pkgname}/archive/${pkgver}/${pkgver}.tar.gz"
)
sha512sums=('fb3d63aa1bd86c716ae912a17ec3ed4c385af7c7c14788e86073e1076aae011962519ec3757f19af9cba9f2a4ee9c484c888935a77cd9a02d1bac3a10dfe17f4')
b2sums=('d94a0eb5289e5a2a6e925747bee32b59693c54e9ec2fa08c8dde0aff934141d799f3d305f492710c6080385305cd21cdbd85f46aa4736d3d6f472094bb4f811c')

build() {
  cd "$pkgname-$pkgver"
  make
  make test
}

check() {
  local _plugin
  local _lv2_uri="http://lsp-plug.in/plugins/lv2/"
  local _lv2_plugins=('art_delay_mono' 'art_delay_stereo' 'comp_delay_mono'
  'comp_delay_stereo' 'comp_delay_x2_stereo' 'compressor_lr' 'compressor_mono'
  'compressor_ms' 'compressor_stereo' 'crossover_lr' 'crossover_mono'
  'crossover_ms' 'crossover_stereo' 'dyna_processor_lr' 'dyna_processor_mono'
  'dyna_processor_ms' 'dyna_processor_stereo' 'expander_lr' 'expander_mono'
  'expander_ms' 'expander_stereo' 'gate_lr' 'gate_mono' 'gate_ms' 'gate_stereo'
  'graph_equalizer_x16_lr' 'graph_equalizer_x16_mono' 'graph_equalizer_x16_ms'
  'graph_equalizer_x16_stereo' 'graph_equalizer_x32_lr'
  'graph_equalizer_x32_mono' 'graph_equalizer_x32_ms'
  'graph_equalizer_x32_stereo' 'impulse_responses_mono'
  'impulse_responses_stereo' 'impulse_reverb_mono' 'impulse_reverb_stereo'
  'latency_meter' 'limiter_mono' 'limiter_stereo' 'loud_comp_mono'
  'loud_comp_stereo' 'mb_compressor_lr' 'mb_compressor_mono' 'mb_compressor_ms'
  'mb_compressor_stereo' 'mb_expander_lr' 'mb_expander_mono' 'mb_expander_ms'
  'mb_expander_stereo' 'mb_gate_lr' 'mb_gate_mono' 'mb_gate_ms'
  'mb_gate_stereo' 'multisampler_x12' 'multisampler_x12_do' 'multisampler_x24'
  'multisampler_x24_do' 'multisampler_x48' 'multisampler_x48_do'
  'oscillator_mono' 'oscilloscope_x1' 'oscilloscope_x2' 'oscilloscope_x4'
  'para_equalizer_x16_lr' 'para_equalizer_x16_mono' 'para_equalizer_x16_ms'
  'para_equalizer_x16_stereo' 'para_equalizer_x32_lr' 'para_equalizer_x32_mono'
  'para_equalizer_x32_ms' 'para_equalizer_x32_stereo' 'phase_detector'
  'profiler_mono' 'profiler_stereo' 'room_builder_mono' 'room_builder_stereo'
  'sampler_mono' 'sampler_stereo' 'sc_compressor_lr' 'sc_compressor_mono'
  'sc_compressor_ms' 'sc_compressor_stereo' 'sc_dyna_processor_lr'
  'sc_dyna_processor_mono' 'sc_dyna_processor_ms' 'sc_dyna_processor_stereo'
  'sc_expander_lr' 'sc_expander_mono' 'sc_expander_ms' 'sc_expander_stereo'
  'sc_gate_lr' 'sc_gate_mono' 'sc_gate_ms' 'sc_gate_stereo' 'sc_limiter_mono'
  'sc_limiter_stereo' 'sc_mb_compressor_lr' 'sc_mb_compressor_mono'
  'sc_mb_compressor_ms' 'sc_mb_compressor_stereo' 'sc_mb_expander_lr'
  'sc_mb_expander_mono' 'sc_mb_expander_ms' 'sc_mb_expander_stereo'
  'sc_mb_gate_lr' 'sc_mb_gate_mono' 'sc_mb_gate_ms' 'sc_mb_gate_stereo'
  'slap_delay_mono' 'slap_delay_stereo' 'spectrum_analyzer_x1'
  'spectrum_analyzer_x12' 'spectrum_analyzer_x16' 'spectrum_analyzer_x2'
  'spectrum_analyzer_x4' 'spectrum_analyzer_x8' 'surge_filter_mono'
  'surge_filter_stereo' 'trigger_midi_mono' 'trigger_midi_stereo'
  'trigger_mono' 'trigger_stereo')

  cd "$pkgname-$pkgver"
  ./.test/lsp-plugins-test utest --nofork --debug --verbose

  mkdir -vp test/usr/bin
  make PREFIX='/usr' \
       DESTDIR="test" \
       install_lv2
  for _plugin in "${_lv2_plugins[@]}"; do
    lv2lint -Mpack -I "test/usr/lib/lv2/${pkgname}.lv2/" "${_lv2_uri}${_plugin}"
  done
}

package() {
  depends+=('libsndfile.so')
  cd "$pkgname-$pkgver"
  make PREFIX='/usr' \
       DESTDIR="$pkgdir/" \
       install
  make PREFIX='/usr' \
       DESTDIR="$pkgdir/" \
       install_xdg
}
