blob: 3163a42ec4226aa4e387612b991c3d529b78cc12 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# Maintainer: OSAMC <https://github.com/osam-cologne/archlinux-proaudio>
# Contributor: Christopher Arndt <aur -at- chrisarndt -dot- de>
# Contributor: Alexandros Theodotou <alex at zrythm dot org>
pkgname=ot-simian
pkgver=1.1.0
pkgrel=2
pkgdesc='Drum synthesizer inspired by the Simmons SDS-V'
arch=(aarch64 x86_64)
url='https://punklabs.com/ot-simian'
license=(GPL3)
depends=(gcc-libs libx11)
makedepends=(dub faust ldc python)
optdepends=(
'lv2-host: for LV2 plugin'
'vst3-host: for VST3 plugin'
)
groups=(lv2-plugins pro-audio vst3-plugins)
source=("https://punklabs.com/content/projects/ot-simian/downloads/OneTrick-SIMIAN-${pkgver}-Source.zip"
'generate-manifest-ttl.py')
sha256sums=('ef84e856a3b9579cfa1b43c840d758d490accd0ef478cfd55318c2a60e897b66'
'261c2bfe8c692ce7df4d376b869cb832d5b3a668d3960cfef62f52d2a39d0f6f')
noextract=("OneTrick-SIMIAN-${pkgver}-Source.zip")
_plugin_name="Punk Labs LLC OneTrick SIMIAN"
_lv2_name="$_plugin_name.lv2"
_lv2_libname="${_plugin_name// /}.so"
_vst3_libpath="$_plugin_name.vst3/Contents/$(uname -m)-linux"
_vst3_libname="$_plugin_name.so"
prepare() {
mkdir -p OneTrick-SIMIAN-${pkgver}
bsdtar -xf "$srcdir"/OneTrick-SIMIAN-${pkgver}-Source.zip -C OneTrick-SIMIAN-${pkgver}
cd "$srcdir"/OneTrick-SIMIAN-${pkgver}
# make dub build use LDFLAGS
if ! grep -q -- -Wl dub.json; then
sed -i -Ee 's@"lflags-linux-ldc": \[(.*)]@"lflags-linux-ldc": [ \1, "'$LDFLAGS'" ]@' dub.json
fi
}
build() {
cd "$srcdir"/OneTrick-SIMIAN-${pkgver}
# Generate D sources from FAUST .dsp files
faust \
--process-name processDrum \
-lang dlang \
-A "OneTrick/DSP" \
-a arch.fastmath.d.template \
-o DSP/Generated/DSP_Drum.d \
--class-name DSP_Drum "DSP/Main.dsp"
faust \
--process-name processOutput \
-lang dlang \
-A "OneTrick/DSP" \
-a arch.fastmath.d.template \
-o "DSP/Generated/DSP_Output.d" \
--class-name DSP_Output "DSP/Main.dsp"
# Build LV2 plugin
dub build --build=release-nobounds --arch=$CARCH --compiler=ldc2 --combined --config=LV2
mkdir -p "$_lv2_name"
mv libonetrick_simian.so "$_lv2_name/$_lv2_libname"
python "$srcdir"/generate-manifest-ttl.py "$_lv2_name/$_lv2_libname" "$_lv2_name" "$_lv2_libname"
# Build VST3 plugin
dub build --build=release-nobounds --arch=$CARCH --compiler=ldc2 --combined --config=VST3
mv libonetrick_simian.so "$_vst3_libname"
}
package() {
cd OneTrick-SIMIAN-${pkgver}
# LV2 plugin bundle
install -Dm644 "$_lv2_name"/*.ttl -t "$pkgdir/usr/lib/lv2/$_lv2_name"
install -Dm755 "$_lv2_name"/*.so -t "$pkgdir/usr/lib/lv2/$_lv2_name"
# VST3 plugin bundle
install -Dm755 "$_vst3_libname" -t "$pkgdir/usr/lib/vst3/$_vst3_libpath"
}
|