summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO75
-rw-r--r--.gitignore24
-rw-r--r--PKGBUILD185
3 files changed, 189 insertions, 95 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 370da17bf897..0174cef819ed 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,46 +1,59 @@
pkgbase = dexed-git
pkgdesc = A software synth closely modelled on the Yamaha DX7 (git version)
- pkgver = 0.9.6.r0.g11ae4d7
- pkgrel = 2
- url = http://asb2m10.github.io/dexed/
- changelog = ChangeLog
- arch = i686
+ pkgver = 0.9.6.r90.g9e01c0c
+ pkgrel = 1
+ url = https://asb2m10.github.io/dexed
arch = x86_64
groups = pro-audio
- groups = vst-plugins
+ groups = vst3-plugins
+ groups = clap-plugins
license = GPL3
- makedepends = alsa-lib
- makedepends = curl
makedepends = git
- makedepends = freetype2
+ makedepends = cmake
+ makedepends = curl
makedepends = jack
makedepends = libx11
makedepends = libxrandr
makedepends = libxinerama
makedepends = libxcursor
+ makedepends = webkit2gtk
+ makedepends = libpng
+ makedepends = gendesk
+ depends = alsa-lib
depends = hicolor-icon-theme
- depends = libpng
- optdepends = jack: JACK support for stand-alone version
- provides = dexed
- conflicts = dexed
- conflicts = dexed-vst-git
+ depends = freetype2
+ optdepends = jack: backend for standalone
+ optdepends = clap-host: for CLAP plugins
+ optdepends = vst3-host: for VST3 plugins
source = dexed::git+https://github.com/asb2m10/dexed.git
- source = https://github.com/juce-framework/JUCE/releases/download/6.0.7/juce-6.0.7-linux.zip
- source = git+https://github.com/steinbergmedia/vst3sdk.git
- source = git+https://github.com/surge-synthesizer/tuning-library.git
- source = git+https://github.com/surge-synthesizer/surgesynthteam_tuningui.git
- source = dexed.desktop
- sha256sums = SKIP
- sha256sums = 05f794e8cf94acb06a622484a3644743e27fdc4de590dff1c77f2f360dad2415
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = 092e8b4638f750c2d31e6d9592dee07a0f6b6f6f19e9bb07a3986da27496fe9b
+ source = steinbergmedia-vst3sdk::git+https://github.com/steinbergmedia/vst3sdk.git
+ source = surge-synthesizer-tuning-library::git+https://github.com/surge-synthesizer/tuning-library.git
+ source = surge-synthesizer-surgesynthteam_tuningui::git+https://github.com/surge-synthesizer/surgesynthteam_tuningui.git
+ source = ODDSound-MTS-ESP::git+https://github.com/ODDSound/MTS-ESP.git
+ source = juce-framework-JUCE::git+https://github.com/juce-framework/JUCE.git
+ source = free-audio-clap-juce-extensions::git+https://github.com/free-audio/clap-juce-extensions.git
+ source = free-audio-clap::git+https://github.com/free-audio/clap.git
+ source = free-audio-clap-helpers::git+https://github.com/free-audio/clap-helpers.git
+ source = steinbergmedia-vst3_base::git+https://github.com/steinbergmedia/vst3_base.git
+ source = steinbergmedia-vst3_cmake::git+https://github.com/steinbergmedia/vst3_cmake.git
+ source = steinbergmedia-vst3_doc::git+https://github.com/steinbergmedia/vst3_doc.git
+ source = steinbergmedia-vst3_pluginterfaces::git+https://github.com/steinbergmedia/vst3_pluginterfaces.git
+ source = steinbergmedia-vst3_public_sdk::git+https://github.com/steinbergmedia/vst3_public_sdk.git
+ source = steinbergmedia-vstgui::git+https://github.com/steinbergmedia/vstgui.git
+ b2sums = SKIP
+ b2sums = SKIP
+ b2sums = SKIP
+ b2sums = SKIP
+ b2sums = SKIP
+ b2sums = SKIP
+ b2sums = SKIP
+ b2sums = SKIP
+ b2sums = SKIP
+ b2sums = SKIP
+ b2sums = SKIP
+ b2sums = SKIP
+ b2sums = SKIP
+ b2sums = SKIP
+ b2sums = SKIP
pkgname = dexed-git
- depends = hicolor-icon-theme
- depends = libpng
- depends = libasound.so
- depends = libcurl.so
- depends = libfreetype.so
-
diff --git a/.gitignore b/.gitignore
index 4519600f9f66..d298ca42247a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,11 +1,21 @@
dexed/
-src/
-pkg/
-tuning-library/
-surgesynthteam_tuningui/
-vst3sdk/
dexed-git-*.pkg.tar.xz
dexed-git-*.pkg.tar.zst
dexed-git-*.src.tar.gz
-juce-*-linux.zip
-.AURINFO
+free-audio-clap/
+free-audio-clap-helpers/
+free-audio-clap-juce-extensions/
+juce-framework-JUCE/
+ODDSound-MTS-ESP/
+pkg/
+src/
+steinbergmedia-vst3_base/
+steinbergmedia-vst3_cmake/
+steinbergmedia-vst3_doc/
+steinbergmedia-vst3_pluginterfaces/
+steinbergmedia-vst3_public_sdk/
+steinbergmedia-vst3sdk/
+steinbergmedia-vstgui/
+surge-synthesizer-surgesynthteam_tuningui/
+surge-synthesizer-tuning-library/
+surgesynthteam_tuningui/
diff --git a/PKGBUILD b/PKGBUILD
index 4512539dbf94..6182de654923 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,79 +1,150 @@
# Maintainer: Christopher Arndt <aur -at- chrisarndt -dot- de>
+# Contributor: George Rawlinson <grawlinson@archlinux.org>
_pkgname=dexed
-_juce_version=6.0.7
-pkgname="${_pkgname}-git"
-pkgver=0.9.6.r0.g11ae4d7
-pkgrel=2
-pkgdesc="A software synth closely modelled on the Yamaha DX7 (git version)"
-arch=('i686' 'x86_64')
-url="http://asb2m10.github.io/dexed/"
-license=("GPL3")
-groups=('pro-audio' 'vst-plugins')
-depends=('hicolor-icon-theme' 'libpng')
-makedepends=('alsa-lib' 'curl' 'git' 'freetype2' 'jack' 'libx11' 'libxrandr'
- 'libxinerama' 'libxcursor')
-optdepends=('jack: JACK support for stand-alone version')
-provides=("${_pkgname}")
-conflicts=("${_pkgname}" "${_pkgname}-vst-git")
-source=("${_pkgname}::git+https://github.com/asb2m10/dexed.git"
- "https://github.com/juce-framework/JUCE/releases/download/${_juce_version}/juce-${_juce_version}-linux.zip"
- 'git+https://github.com/steinbergmedia/vst3sdk.git'
- 'git+https://github.com/surge-synthesizer/tuning-library.git'
- 'git+https://github.com/surge-synthesizer/surgesynthteam_tuningui.git'
- 'dexed.desktop')
-sha256sums=('SKIP'
- '05f794e8cf94acb06a622484a3644743e27fdc4de590dff1c77f2f360dad2415'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- '092e8b4638f750c2d31e6d9592dee07a0f6b6f6f19e9bb07a3986da27496fe9b')
-changelog=ChangeLog
-
+pkgname=$_pkgname-git
+pkgver=0.9.6.r90.g9e01c0c
+pkgrel=1
+pkgdesc='A software synth closely modelled on the Yamaha DX7 (git version)'
+arch=(x86_64)
+url='https://asb2m10.github.io/dexed'
+license=(GPL3)
+groups=(pro-audio vst3-plugins clap-plugins)
+depends=(
+ alsa-lib
+ hicolor-icon-theme
+ freetype2
+)
+makedepends=(
+ git
+ cmake
+ curl
+ jack
+ libx11
+ libxrandr
+ libxinerama
+ libxcursor
+ webkit2gtk
+ libpng
+ gendesk
+)
+optdepends=(
+ 'jack: backend for standalone'
+ 'clap-host: for CLAP plugins'
+ 'vst3-host: for VST3 plugins'
+)
+source=(
+ "$_pkgname::git+https://github.com/asb2m10/dexed.git"
+ 'steinbergmedia-vst3sdk::git+https://github.com/steinbergmedia/vst3sdk.git'
+ 'surge-synthesizer-tuning-library::git+https://github.com/surge-synthesizer/tuning-library.git'
+ 'surge-synthesizer-surgesynthteam_tuningui::git+https://github.com/surge-synthesizer/surgesynthteam_tuningui.git'
+ 'ODDSound-MTS-ESP::git+https://github.com/ODDSound/MTS-ESP.git'
+ 'juce-framework-JUCE::git+https://github.com/juce-framework/JUCE.git'
+ 'free-audio-clap-juce-extensions::git+https://github.com/free-audio/clap-juce-extensions.git'
+ # clap-juce-extensions
+ 'free-audio-clap::git+https://github.com/free-audio/clap.git'
+ 'free-audio-clap-helpers::git+https://github.com/free-audio/clap-helpers.git'
+ # steinbergmedia-vst3sdk
+ 'steinbergmedia-vst3_base::git+https://github.com/steinbergmedia/vst3_base.git'
+ 'steinbergmedia-vst3_cmake::git+https://github.com/steinbergmedia/vst3_cmake.git'
+ 'steinbergmedia-vst3_doc::git+https://github.com/steinbergmedia/vst3_doc.git'
+ 'steinbergmedia-vst3_pluginterfaces::git+https://github.com/steinbergmedia/vst3_pluginterfaces.git'
+ 'steinbergmedia-vst3_public_sdk::git+https://github.com/steinbergmedia/vst3_public_sdk.git'
+ 'steinbergmedia-vstgui::git+https://github.com/steinbergmedia/vstgui.git'
+)
+b2sums=('SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP')
pkgver() {
- cd "${srcdir}/${_pkgname}"
-
- #local ver=$(cpp -dM Source/Dexed.h | grep '^#define DEXED_ID' | cut -d '"' -f 2)
- #echo "$ver.r$(git rev-list --count HEAD).$(git rev-parse --short HEAD)"
- echo $(git describe --tags --long | sed -E -e 's/-([0-9]+)-/-r\1-/' -e 's/^v//' -e 's/-/./g')
+ cd $_pkgname
+ git describe --tags --exclude 'NIGHTLY' | sed -e 's/^v//' -e 's/-/.r/' -e 's/-/./g'
}
prepare() {
- cd "${srcdir}/${_pkgname}"
+ cd $_pkgname
+ # prepare git submodule(s)
+ git submodule init
+ git config submodule.libs/vst3sdk.url "$srcdir/steinbergmedia-vst3sdk"
+ git config submodule.libs/tuning-library.url "$srcdir/surge-synthesizer-tuning-library"
+ git config submodule.libs/surgesynthteam_tuningui.url "$srcdir/surge-synthesizer-surgesynthteam_tuningui"
+ git config submodule.libs/MTS-ESP.url "$srcdir/ODDSound-MTS-ESP"
+ git config submodule.libs/JUCE.url "$srcdir/juce-framework-JUCE"
+ git config submodule.libs/clap-juce-extensions.url "$srcdir/free-audio-clap-juce-extensions"
+ git -c protocol.file.allow=always submodule update --init
+
+ pushd libs/clap-juce-extensions
+ git submodule init
+ git config submodule.clap-libs/clap.url "$srcdir/free-audio-clap"
+ git config submodule.clap-libs/clap-helpers.url "$srcdir/free-audio-clap-helpers"
+ git -c protocol.file.allow=always submodule update --init
+ popd
+ pushd libs/vst3sdk
git submodule init
- git config submodule.vst3sdk.url "${srcdir}/vst3sdk"
- git config submodule.tuning-library.url "${srcdir}/tuning-library"
- git config submodule.surgesynthteam_tuningui.url "${srcdir}/surgesynthteam_tuningui"
- git submodule update
+ git config submodule.base.url "$srcdir/steinbergmedia-vst3_base"
+ git config submodule.cmake.url "$srcdir/steinbergmedia-vst3_cmake"
+ git config submodule.doc.url "$srcdir/steinbergmedia-vst3_doc"
+ git config submodule.pluginterfaces.url "$srcdir/steinbergmedia-vst3_pluginterfaces"
+ git config submodule.public.sdk.url "$srcdir/steinbergmedia-vst3_public_sdk"
+ git config submodule.vstgui4.url "$srcdir/steinbergmedia-vstgui"
+ git -c protocol.file.allow=always submodule update --init
+ popd
- mkdir -p assets
- ln -sf "${srcdir}/JUCE" assets
- ./assets/JUCE/Projucer --resave Dexed.jucer
+ # any missing submodules? yes, probably
+ git submodule update --init --recursive
+
+ # generate desktop file
+ gendesk -f -n \
+ --exec Dexed \
+ --name Dexed \
+ --pkgname com.digitalsuburban.Dexed \
+ --pkgdesc "$pkgdesc" \
+ --icon "$_pkgname" \
+ --genericname "Virtual FM synthesizer"
}
build() {
- cd "${srcdir}/${_pkgname}/Builds/Linux"
- make CONFIG=Release
+ cmake \
+ -S $_pkgname \
+ -B build \
+ -DCMAKE_INSTALL_PREFIX='/usr'
+ cmake --build build
}
package() {
- cd "${srcdir}/${_pkgname}"
- depends+=('libasound.so' 'libcurl.so' 'libfreetype.so')
+ cd $_pkgname
+ # desktop icon/file
+ install -vDm644 Resources/ui/dexedIcon.png "$pkgdir"/usr/share/icons/hicolor/512x512/apps/dexed.png
+ install -vDm644 com.digitalsuburban.Dexed.desktop -t "$pkgdir"/usr/share/applications
+
+ # documentation
+ install -vDm644 Documentation/* README.md -t "$pkgdir"/usr/share/doc/$pkgname
+
+ cd ../build/Source/Dexed_artefacts
+
+ # vst3
+ install -Dm755 VST3/Dexed.vst3/Contents/$(uname -m)-linux/Dexed.so \
+ -t "$pkgdir"/usr/lib/vst3/Dexed.vst3/Contents/$(uname -m)-linux
- # install VST plugin
- install -Dm755 Builds/Linux/build/Dexed.vst3/Contents/$(uname -m)-linux/Dexed.so \
- -t "${pkgdir}/usr/lib/vst3/Dexed.vst3/Contents/$(uname -m)-linux/"
- # install standalone program
- install -Dm755 Builds/Linux/build/Dexed \
- "${pkgdir}/usr/bin/dexed"
+ # clap
+ install -vDm755 CLAP/Dexed.clap -t "$pkgdir"/usr/lib/clap
- # install icon and desktop file
- install -Dm755 Resources/ui/dexedIcon.png \
- "${pkgdir}/usr/share/icons/hicolor/512x512/apps/dexed.png"
- install -Dm755 "${srcdir}/dexed.desktop" \
- "${pkgdir}/usr/share/applications/dexed.desktop"
+ # standalone
+ install -vDm755 Standalone/Dexed -t "$pkgdir"/usr/bin
+ ln -sf Dexed "$pkgdir"/usr/bin/dexed
}
# vim:set ts=2 sw=2 et: