Date: Sunday, October 2, 2022 @ 07:16:03
Author: grawlinson
Revision: 1320567
archrelease: copy trunk to community-x86_64
Added:
opl-synth/repos/community-x86_64/
opl-synth/repos/community-x86_64/PKGBUILD
(from rev 1320566, opl-synth/trunk/PKGBUILD)
opl-synth/repos/community-x86_64/use-global-path.patch
(from rev 1320566, opl-synth/trunk/use-global-path.patch)
-----------------------+
PKGBUILD | 114 ++++++++++++++++++++++++++++++++++++++++++++++++
use-global-path.patch | 11 ++++
2 files changed, 125 insertions(+)
Copied: opl-synth/repos/community-x86_64/PKGBUILD (from rev 1320566,
opl-synth/trunk/PKGBUILD)
===================================================================
--- community-x86_64/PKGBUILD (rev 0)
+++ community-x86_64/PKGBUILD 2022-10-02 07:16:03 UTC (rev 1320567)
@@ -0,0 +1,114 @@
+# Maintainer: George Rawlinson <[email protected]>
+
+pkgname=opl-synth
+pkgver=2.2
+pkgrel=1
+pkgdesc='FM synthesizer that emulates the Yamaha OPL sound chip'
+arch=('x86_64')
+url='https://discodsp.com/opl/'
+license=('GPL2')
+groups=('pro-audio' 'vst3-plugins')
+depends=(
+ 'alsa-lib'
+ 'hicolor-icon-theme'
+ 'libjpeg-turbo'
+ 'libvorbis'
+ 'flac'
+ 'freetype2'
+ 'libglvnd'
+ 'curl'
+)
+makedepends=(
+ 'git'
+ 'juce'
+ 'zlib'
+ 'libpng'
+ 'libogg'
+ 'jack'
+ 'libx11'
+ 'libxext'
+ 'libxrandr'
+ 'libxinerama'
+ 'libxcursor'
+ 'gendesk'
+)
+optdepends=(
+ 'jack: backend for standalone'
+ 'vst3-host: for VST3 plugins'
+)
+options=('debug')
+_commit='e365b6d26afd66cb6d050d39102b5ac7c2225dd8'
+source=(
+ "$pkgname::git+https://github.com/reales/OPL#commit=$_commit"
+ 'use-global-path.patch'
+)
+b2sums=('SKIP'
+
'842ffc32c162c170d885fa3e399e327dc146edbf79ae7beb64da607a6b2467a1942bd02a92a4ee4981142740a80caa76e2896bc9009c80c5740ffd44ac983fd9')
+
+pkgver() {
+ cd "$pkgname"
+
+ git describe --tags | sed 's/^v//'
+}
+
+prepare() {
+ cd "$pkgname"
+
+ # skip VST2 generation
+ sed -e 's:\(JUCE_VST3_CAN_REPLACE_VST2="\)1:\10:' -i OPL.jucer
+
+ # use correct version
+ # TODO figure out why the application strips the last digit
+ # (e.g. x.y.z is displayed as x.y)
+ sed -e "s:version=\"2.0.0\":version=\"${pkgver}.0\":" -i OPL.jucer
+
+ # disable JUCE splash screen
+ sed -e 's:\(displaySplashScreen="\)1:\10:' -i OPL.jucer
+
+ # use global path for loading instruments
+ patch -p1 -i "$srcdir/use-global-path.patch"
+
+ # generate desktop file
+ gendesk -n \
+ --exec "$pkgname" \
+ --name 'OPL Synthesizer' \
+ --pkgname com.discoDSP.OPL \
+ --pkgdesc "$pkgdesc" \
+ --icon "$pkgname" \
+ --genericname "Virtual FM synthesizer"
+}
+
+build() {
+ cd "$pkgname"
+
+ Projucer --resave OPL.jucer
+
+ make -C Builds/Linux V=1
+}
+
+package() {
+ cd "$pkgname"
+
+ # create required directories
+ install -vd \
+ "$pkgdir/usr/lib/vst3" \
+ "$pkgdir/usr/share/$pkgname"
+
+ # standalone
+ install -vDm755 Bin/Linux/Release/OPL "$pkgdir/usr/bin/$pkgname"
+
+ # vst3
+ cp -vr Bin/Linux/Release/OPL.vst3 "$pkgdir/usr/lib/vst3"
+
+ # data
+ cp -vr Documents/discoDSP/OPL/* "$pkgdir/usr/share/$pkgname"
+
+ # desktop file
+ install -vDm644 -t "$pkgdir/usr/share/applications" com.discoDSP.OPL.desktop
+
+ # application icon
+ install -vDm644 Media/icon.png
"$pkgdir/usr/share/icons/hicolor/512x512/apps/$pkgname.png"
+
+ # documentation
+ install -vDm644 -t "$pkgdir/usr/share/doc/$pkgname" readme.md
+}
Copied: opl-synth/repos/community-x86_64/use-global-path.patch (from rev
1320566, opl-synth/trunk/use-global-path.patch)
===================================================================
--- community-x86_64/use-global-path.patch (rev 0)
+++ community-x86_64/use-global-path.patch 2022-10-02 07:16:03 UTC (rev
1320567)
@@ -0,0 +1,11 @@
+--- a/Source/PluginGui.h
++++ b/Source/PluginGui.h
+@@ -166,7 +166,7 @@ return options;
+ Array<File> allSbiFiles;
+
+ #if!JUCE_IOS
+- File instrumentLoadDirectory =
File::getSpecialLocation(File::userDocumentsDirectory).getChildFile("discoDSP").getChildFile("OPL");
// File();
++ File instrumentLoadDirectory =
File::getSpecialLocation(File::globalApplicationsDirectory).getChildFile("share").getChildFile("opl-synth");
// File();
+ File instrumentSaveDirectory =
File::getSpecialLocation(File::userDocumentsDirectory).getChildFile("discoDSP").getChildFile("OPL");
// File();
+ #endif
+ #if JUCE_IOS