Date: Saturday, November 5, 2022 @ 14:48:24 Author: dvzrv Revision: 1342333
upgpkg: dpf-plugins 1.6-1: Upgrade to 1.6. Split into per plugin type package. Remove unnecessary quotes and curly braces. Report issue with CyclicShifter lv2 plugin upstream and adjust lv2lint call accordingly. Modified: dpf-plugins/trunk/PKGBUILD ----------+ PKGBUILD | 308 +++++++++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 249 insertions(+), 59 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2022-11-05 14:45:13 UTC (rev 1342332) +++ PKGBUILD 2022-11-05 14:48:24 UTC (rev 1342333) @@ -1,37 +1,46 @@ -# Maintainer: David Runge <[email protected]> -pkgname=dpf-plugins -pkgver=1.5 +# Maintainer: David Runge <[email protected]> + +_name=DPF-Plugins +pkgbase=dpf-plugins +pkgname=(dpf-plugins dpf-plugins-clap dpf-plugins-dssi dpf-plugins-ladspa dpf-plugins-lv2 dpf-plugins-standalone dpf-plugins-vst dpf-plugins-vst3) +pkgver=1.6 pkgrel=1 pkgdesc="Collection of DPF-based plugins" arch=(x86_64) url="https://github.com/DISTRHO/DPF-Plugins" license=(ISC GPL2 GPL3 LGPL3 MIT) -groups=(ladspa-plugins lv2-plugins pro-audio vst-plugins) -depends=(libglvnd) -makedepends=(dssi gendesk ladspa lv2 projectm) +makedepends=(dssi gendesk jack ladspa libglvnd lv2 projectm) checkdepends=(lv2lint kxstudio-lv2-extensions) -optdepends=( - 'dssi-host: for dssi-plugins' - 'jack: for standalone applications' - 'ladspa-host: for LADSPA plugins' - 'liblo: for dssi plugins' - 'lv2-host: for LV2 plugins' - 'projectm: for ProM plugin' - 'vst-host: for VST plugins' - 'vst3-host: for VST3 plugins' +source=($pkgname-$pkgver.tar.gz::https://github.com/DISTRHO/$pkgname/archive/v$pkgver.tar.gz) +sha512sums=('2e27f1f249ae067e2c34222d614ed3ade1458a8502135f4bf31120eaf92c560c14a4ffc8692b0ab4b45563d173416131e9d0a1cdd78a3b86525a00d06e788104') +b2sums=('08ed150b1efb5dbaf7a8c1715a5d69ed95d8d18d27cf73cfe43e84c355bfba2cfa16a31efc78c01c521d96c549289119c481ef0b77b7ab804344a4b0f36d408e') + +_plugins=( + 3BandEQ + 3BandSplitter + AmplitudeImposer + CycleShifter + Kars + MVerb + MaBitcrush + MaFreeverb + MaGigaverb + MaPitchshift + Nekobi + PingPongPan + SoulForce + glBars ) -source=( - "$pkgname-$pkgver.tar.gz::https://github.com/DISTRHO/${pkgname}/archive/v${pkgver}.tar.gz" - "${pkgname}-1.5-install_vst3.patch::https://github.com/DISTRHO/DPF-Plugins/commit/cc3877b98d23ae571bd3a825067169ff8496e274.patch" -) -sha512sums=('14667f301e7759d3152b98f3ac4140199443f405b235ec6badfdba5c0cc27227a2f291e90e2e7e73b9837e0db60e905b62d584fe41480e77a5fbfb2f5ff293fd' - '46fb574950d2a5ba5f51f11e7781b61c48dda4d8d627277e8a94b143c6c30a93c9696e52aab2fb7d7ff2bef9b90fdebcea07dc725027bd79f0af73140b84dc07') -b2sums=('80b773179ac65b601166007a661df9e872573ea3085fd4ffd4457deb61a2481a203d129eb210e18a0eba41de54f9119bdc5aca5e1f0987f60f04666d5b63b31c' - '08e41e8385c8121f36f0eb926b26ff678480ffa394f3af7af43544f6342dcc8df0651f53f0d87c7d985e832bb1b547d543e4b85da8955ebf8b3204960a85406a') -_names=(3BandEQ 3BandSplitter AmplitudeImposer CycleShifter Kars MVerb -MaBitCrush MaFreeverb MaGigaverb MaPitchshift Nekobi PingPongPan SoulForce -glBars) +_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() { declare -A _comments=( @@ -41,7 +50,7 @@ ["CycleShifter"]="Reads in a cycle's-worth of the input signal, then (once the whole cycle's been read in) outputs it again, on top of the current output" ["Kars"]="Simple karplus-strong plucked string synth" ["MVerb"]="A studio quality, open-source reverb" - ["MaBitCrush"]="A bit crusher" + ["MaBitcrush"]="A bit crusher" ["MaFreeverb"]="A reverb based on freeverb" ["MaGigaverb"]="A reverb based on gigaverb" ["MaPitchshift"]="A pitch shifter" @@ -57,7 +66,7 @@ ["CycleShifter"]="Cyclic Input Processor" ["Kars"]="Plucked string synthesizer" ["MVerb"]="Reverb" - ["MaBitCrush"]="Bit crusher" + ["MaBitcrush"]="Bit crusher" ["MaFreeverb"]="Reverb" ["MaGigaverb"]="Reverb" ["MaPitchshift"]="Pitch shifter" @@ -66,50 +75,231 @@ ["SoulForce"]="Waveshaping Distortion" ["glBars"]="Bars Visualization" ) - local _name + local _plugin - mv -v "DPF-Plugins-${pkgver}" "$pkgname-$pkgver" - cd "$pkgname-$pkgver" - - # install vst3 plugins as well - patch -Np1 -i ../"${pkgname}-1.5-install_vst3.patch" - - for _name in "${_names[@]}"; do + for _plugin in "${_plugins[@]}"; do gendesk -n \ - --pkgname "net.sf.distrho.${_name}" \ - --name "${_name}" \ - --exec "/usr/bin/${_name}" \ - --pkgdesc "${_comments[$_name]}" \ - --genericname "${_generic[$_name]}" \ + --pkgname "net.sf.distrho.$_plugin" \ + --name "$_plugin" \ + --exec "/usr/bin/$_plugin" \ + --pkgdesc "${_comments[$_plugin]}" \ + --genericname "${_generic[$_plugin]}" \ --categories "AudioVideo;Audio" done } build() { -# make BUILD_VST=true BUILD_DSSI=true BUILD_LV2=true BUILD_JACK=true -C "$pkgname-$pkgver" - make V=1 -C "$pkgname-$pkgver" + make V=1 -C $_name-$pkgver } check() { - local _name - cd "$pkgname-$pkgver" + declare -A _uris=( + ["3BandEQ"]="http://distrho.sf.net/plugins/3BandEQ" + ["3BandSplitter"]="http://distrho.sf.net/plugins/3BandSplitter" + ["AmplitudeImposer"]="http://www.niallmoody.com/ndcplugs/ampimposer.htm" + ["CycleShifter"]="http://www.niallmoody.com/ndcplugs/cycleshifter.htm" + ["Kars"]="http://distrho.sf.net/plugins/Kars" + ["MVerb"]="http://distrho.sf.net/plugins/MVerb" + ["MaBitcrush"]="http://distrho.sf.net/plugins/MaBitcrush" + ["MaFreeverb"]="http://distrho.sf.net/plugins/MaFreeverb" + ["MaGigaverb"]="http://distrho.sf.net/plugins/MaGigaverb" + ["MaPitchshift"]="http://distrho.sf.net/plugins/MaPitchshift" + ["Nekobi"]="http://distrho.sf.net/plugins/Nekobi" + ["PingPongPan"]="http://distrho.sf.net/plugins/PingPongPan" + ["SoulForce"]="http://www.niallmoody.com/ndcplugs/soulforce.htm" + ["glBars"]="http://distrho.sf.net/plugins/glBars" + ) + local _plugin + + cd $_name-$pkgver # except symbol pattern from tests as it is hard to remove according to upstream - for _name in "${_names[@]}"; do - lv2lint -s "lv2_generate_ttl" -Mpack -I "bin/${_name}.lv2/" "http://distrho.sf.net/plugins/${_name}" || echo "Known to fail" + for _plugin in "${_plugins[@]}"; do + printf "Using lv2lint on %s: %s\n" "$_plugin" "${_uris[$_plugin]}" + + # disable Plugin Class tests because of CyclicShifter: https://github.com/DISTRHO/DPF-Plugins/issues/22 + lv2lint -s "lv2_generate_ttl" -t "Plugin Class" -Mpack -I bin/$_plugin.lv2/ "${_uris[$_plugin]}" done } -package() { - cd "$pkgname-$pkgver" +package_dpf-plugins() { + depends=( + $pkgbase-clap=$pkgver + $pkgbase-dssi=$pkgver + $pkgbase-ladspa=$pkgver + $pkgbase-lv2=$pkgver + $pkgbase-standalone=$pkgver + $pkgbase-vst=$pkgver + $pkgbase-vst3=$pkgver + ) + + cd $_name-$pkgver make V=1 DESTDIR="$pkgdir/" PREFIX=/usr install - # docs - install -vDm 644 README.md -t "${pkgdir}/usr/share/doc/${pkgname}/" - # licenses - install -vDm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}/" - install -vDm 644 dpf/LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}/dpf/" - install -vDm 644 plugins/Kars/LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}/Kars/" - install -vDm 644 plugins/AmplitudeImposer/LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}/AmplitudeImposer/" - install -vDm 644 plugins/CycleShifter/LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}/CycleShifter/" - install -vDm 644 plugins/SoulForce/LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}/SoulForce/" - install -vDm 644 *.desktop -t "${pkgdir}/usr/share/applications" + + ( + cd "$pkgdir" + _pick $pkgbase-clap usr/lib/clap/ + _pick $pkgbase-dssi usr/lib/dssi/ + _pick $pkgbase-ladspa usr/lib/ladspa/ + _pick $pkgbase-lv2 usr/lib/lv2/ + _pick $pkgbase-standalone usr/bin/ + _pick $pkgbase-vst usr/lib/vst/ + _pick $pkgbase-vst3 usr/lib/vst3/ + ) + } + +package_dpf-plugins-clap() { + pkgdesc+=" - CLAP plugins" + groups=(clap-plugins pro-audio) + depends=( + clap-host + gcc-libs + glibc + libglvnd libGL.so + libx11 + libxext + ) + optdepends=( + 'projectm: for ProM plugin' + ) + + mv $pkgname/* "$pkgdir" + install -vDm 644 $_name-$pkgver/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 $_name-$pkgver/dpf/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/dpf/" + install -vDm 644 $_name-$pkgver/plugins/Kars/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/Kars/" + install -vDm 644 $_name-$pkgver/plugins/AmplitudeImposer/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/AmplitudeImposer/" + install -vDm 644 $_name-$pkgver/plugins/CycleShifter/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/CycleShifter/" + install -vDm 644 $_name-$pkgver/plugins/SoulForce/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/SoulForce/" +} + +package_dpf-plugins-dssi() { + pkgdesc+=" - DSSI plugins" + groups=(dssi-plugins pro-audio) + depends=( + dssi-host + glibc + libglvnd libGL.so + liblo liblo.so + libx11 + libxext + ) + + mv $pkgname/* "$pkgdir" + install -vDm 644 $_name-$pkgver/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 $_name-$pkgver/dpf/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/dpf/" + install -vDm 644 $_name-$pkgver/plugins/Kars/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/Kars/" + install -vDm 644 $_name-$pkgver/plugins/AmplitudeImposer/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/AmplitudeImposer/" + install -vDm 644 $_name-$pkgver/plugins/CycleShifter/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/CycleShifter/" + install -vDm 644 $_name-$pkgver/plugins/SoulForce/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/SoulForce/" +} + +package_dpf-plugins-ladspa() { + pkgdesc+=" - LADSPA plugins" + groups=(ladspa-plugins pro-audio) + depends=( + gcc-libs + glibc + ladspa-host + ) + + mv $pkgname/* "$pkgdir" + install -vDm 644 $_name-$pkgver/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 $_name-$pkgver/dpf/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/dpf/" + install -vDm 644 $_name-$pkgver/plugins/AmplitudeImposer/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/AmplitudeImposer/" + install -vDm 644 $_name-$pkgver/plugins/CycleShifter/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/CycleShifter/" + install -vDm 644 $_name-$pkgver/plugins/SoulForce/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/SoulForce/" +} + +package_dpf-plugins-lv2() { + pkgdesc+=" - LV2 plugins" + groups=(lv2-plugins pro-audio) + depends=( + gcc-libs + glibc + lv2-host + libglvnd libGL.so + libx11 + libxext + ) + optdepends=( + 'projectm: for ProM plugin' + ) + + mv $pkgname/* "$pkgdir" + install -vDm 644 $_name-$pkgver/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 $_name-$pkgver/dpf/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/dpf/" + install -vDm 644 $_name-$pkgver/plugins/Kars/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/Kars/" + install -vDm 644 $_name-$pkgver/plugins/AmplitudeImposer/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/AmplitudeImposer/" + install -vDm 644 $_name-$pkgver/plugins/CycleShifter/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/CycleShifter/" + install -vDm 644 $_name-$pkgver/plugins/SoulForce/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/SoulForce/" +} + +package_dpf-plugins-standalone() { + pkgdesc+=" - standalones" + depends=( + alsa-lib libasound.so + glibc + libglvnd libGL.so + libx11 + libxext + ) + optdepends=( + 'jack: for using JACK as backend' + ) + + mv $pkgname/* "$pkgdir" + install -vDm 644 *.desktop -t "$pkgdir/usr/share/applications/" + install -vDm 644 $_name-$pkgver/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 $_name-$pkgver/dpf/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/dpf/" + install -vDm 644 $_name-$pkgver/plugins/Kars/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/Kars/" + install -vDm 644 $_name-$pkgver/plugins/AmplitudeImposer/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/AmplitudeImposer/" + install -vDm 644 $_name-$pkgver/plugins/CycleShifter/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/CycleShifter/" + install -vDm 644 $_name-$pkgver/plugins/SoulForce/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/SoulForce/" +} + +package_dpf-plugins-vst() { + pkgdesc+=" - VST2 plugins" + groups=(pro-audio vst-plugins) + depends=( + gcc-libs + glibc + libglvnd libGL.so + libx11 + libxext + vst-host + ) + optdepends=( + 'projectm: for ProM plugin' + ) + + mv $pkgname/* "$pkgdir" + install -vDm 644 $_name-$pkgver/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 $_name-$pkgver/dpf/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/dpf/" + install -vDm 644 $_name-$pkgver/plugins/Kars/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/Kars/" + install -vDm 644 $_name-$pkgver/plugins/AmplitudeImposer/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/AmplitudeImposer/" + install -vDm 644 $_name-$pkgver/plugins/CycleShifter/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/CycleShifter/" + install -vDm 644 $_name-$pkgver/plugins/SoulForce/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/SoulForce/" +} + +package_dpf-plugins-vst3() { + pkgdesc+=" - VST3 plugins" + groups=(pro-audio vst3-plugins) + depends=( + glibc + libglvnd libGL.so + libx11 + libxext + vst3-host + ) + optdepends=( + 'projectm: for ProM plugin' + ) + + mv $pkgname/* "$pkgdir" + install -vDm 644 $_name-$pkgver/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 $_name-$pkgver/dpf/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/dpf/" + install -vDm 644 $_name-$pkgver/plugins/Kars/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/Kars/" + install -vDm 644 $_name-$pkgver/plugins/AmplitudeImposer/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/AmplitudeImposer/" + install -vDm 644 $_name-$pkgver/plugins/CycleShifter/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/CycleShifter/" + install -vDm 644 $_name-$pkgver/plugins/SoulForce/LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/SoulForce/" +}
