Skip to content

Instantly share code, notes, and snippets.

@SpotlightKid
Created August 23, 2024 00:54
Show Gist options
  • Save SpotlightKid/bc69f1bfec0f62f88082a0e670d553d8 to your computer and use it in GitHub Desktop.
Save SpotlightKid/bc69f1bfec0f62f88082a0e670d553d8 to your computer and use it in GitHub Desktop.
diff --git a/.SRCINFO b/.SRCINFO
index aac4634..536a354 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,27 +1,48 @@
pkgbase = drumlabooh
- pkgdesc = LV2/VSTi drum machine that supports Hydrogen, Drumlabooh and SFZ drumkits
+ pkgdesc = Drum machine which supports Hydrogen, Drumlabooh and SFZ drumkits
pkgver = 4.0.0
- pkgrel = 1
+ pkgrel = 2
url = https://github.com/psemiletov/drumlabooh
arch = x86_64
- groups = lv2-plugins
- groups = pro-audio
- license = GPL
+ license = GPL-3.0-only
+ makedepends = alsa-lib
+ makedepends = curl
makedepends = git
makedepends = cmake
- depends = glibc
- depends = gcc-libs
- depends = alsa-lib
- depends = freetype2
- depends = libx11
- depends = libxcomposite
- depends = libxcursor
- depends = libxext
- depends = libxinerama
- depends = libxrandr
- depends = libxrender
- provides = drumlabooh
- source = https://github.com/psemiletov/drumlabooh/archive/4.0.0.tar.gz
- md5sums = cc23877415e8c597bfc672c5df1b50eb
+ makedepends = libglvnd
+ makedepends = webkit2gtk
+ source = drumlabooh-4.0.0.tar.gz::https://github.com/psemiletov/drumlabooh/archive/4.0.0.tar.gz
+ source = drum_sklad-main.tar.gz::https://github.com/psemiletov/drum_sklad/archive/refs/heads/main.tar.gz
+ source = juce-8.0.0.tar.gz::https://github.com/juce-framework/JUCE/archive/refs/tags/8.0.0.tar.gz
+ sha256sums = 47ae6845f4ff1306746fa8ff2ade6feea200cf68a190c4184723aa0a9e8470f8
+ sha256sums = f4b9ff6cbbc3f8e40378dcd44c1bff8d61ae2f8a6d39a7c109544555aa6d0301
+ sha256sums = 0f526ca44fe1944869efedc26ce1d80a67de60a56678735614c58a1781004c83
pkgname = drumlabooh
+ depends = drumlabooh-drumkits=4.0.0
+ depends = drumlabooh-lv2=4.0.0
+ depends = drumlabooh-vst3=4.0.0
+
+pkgname = drumlabooh-drumkits
+ pkgdesc = Drum machine which supports Hydrogen, Drumlabooh and SFZ drumkits - drum kits
+ groups = pro-audio
+
+pkgname = drumlabooh-lv2
+ pkgdesc = Drum machine which supports Hydrogen, Drumlabooh and SFZ drumkits - LV2 plugins
+ groups = lv2-plugins
+ groups = pro-audio
+ depends = fontconfig
+ depends = freetype2
+ depends = gcc-libs
+ depends = glibc
+ optdepends = lv2-host: for loading the LV2 plugins
+
+pkgname = drumlabooh-vst3
+ pkgdesc = Drum machine which supports Hydrogen, Drumlabooh and SFZ drumkits - VST3 plugins
+ groups = pro-audio
+ groups = vst3-plugins
+ depends = fontconfig
+ depends = freetype2
+ depends = gcc-libs
+ depends = glibc
+ optdepends = vst3-host: for loading the VST3 plugins
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..9689a6a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,9 @@
+pkg/
+src/
+drumlabooh-*.pkg.tar.*
+drumlabooh-drumkits-*.pkg.tar.*
+drumlabooh-lv2-*.pkg.tar.*
+drumlabooh-vst3-*.pkg.tar.*
+drumlabooh-*.tar.gz
+drum_sklad-*.tar.gz
+juce-*.tar.gz
diff --git a/PKGBUILD b/PKGBUILD
index c423713..40515db 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,29 +1,86 @@
# Maintainer: Peter Semiletov peter.semiletov at gmail dot com
+# Contributor: Chris Arndt <aur -at- chrisarndt -dot- de>
-pkgname=drumlabooh
+_juce_version=8.0.0
+_drum_sklad_branch=main
+pkgbase=drumlabooh
+pkgname=(
+ drumlabooh
+ drumlabooh-drumkits
+ drumlabooh-lv2
+ drumlabooh-vst3
+)
pkgver=4.0.0
-pkgrel=1
-pkgdesc='LV2/VSTi drum machine that supports Hydrogen, Drumlabooh and SFZ drumkits'
-arch=('x86_64')
-license=('GPL')
+pkgrel=2
+pkgdesc='Drum machine which supports Hydrogen, Drumlabooh and SFZ drumkits'
+arch=(x86_64)
+license=(GPL-3.0-only)
url='https://github.com/psemiletov/drumlabooh'
-groups=('lv2-plugins' 'pro-audio')
-makedepends=('git' 'cmake')
-depends=('glibc' 'gcc-libs' 'alsa-lib' 'freetype2' 'libx11' 'libxcomposite' 'libxcursor' 'libxext' 'libxinerama' 'libxrandr' 'libxrender')
-provides=("drumlabooh")
-source=("https://github.com/psemiletov/drumlabooh/archive/${pkgver}.tar.gz")
-md5sums=('cc23877415e8c597bfc672c5df1b50eb')
+makedepends=(alsa-lib curl git cmake libglvnd webkit2gtk)
+
+source=("$pkgname-$pkgver.tar.gz::https://github.com/psemiletov/drumlabooh/archive/$pkgver.tar.gz"
+ "drum_sklad-$_drum_sklad_branch.tar.gz::https://github.com/psemiletov/drum_sklad/archive/refs/heads/$_drum_sklad_branch.tar.gz"
+ "juce-$_juce_version.tar.gz::https://github.com/juce-framework/JUCE/archive/refs/tags/$_juce_version.tar.gz")
+sha256sums=('47ae6845f4ff1306746fa8ff2ade6feea200cf68a190c4184723aa0a9e8470f8'
+ 'f4b9ff6cbbc3f8e40378dcd44c1bff8d61ae2f8a6d39a7c109544555aa6d0301'
+ '0f526ca44fe1944869efedc26ce1d80a67de60a56678735614c58a1781004c83')
+
+_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
+}
+
build() {
- cd "${srcdir}/drumlabooh-${pkgver}"
- mkdir -p build_dir
- cd build_dir
- cmake -DCMAKE_INSTALL_PREFIX=/usr ..
- make
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DFETCHCONTENT_FULLY_DISCONNECTED=ON \
+ -DFETCHCONTENT_SOURCE_DIR_DRUM_SKLAD="$srcdir/drum_sklad-$_drum_sklad_branch" \
+ -DFETCHCONTENT_SOURCE_DIR_JUCE="$srcdir/JUCE-$_juce_version" \
+ -S $pkgbase-$pkgver \
+ -B $pkgbase-build \
+ -W no-dev
+ cmake --build $pkgbase-build
+}
+
+package_drumlabooh() {
+ depends=(
+ $pkgbase-{drumkits,lv2,vst3}=$pkgver
+ )
+
+ DESTDIR="$pkgdir" cmake --install $pkgbase-build
+
+ (
+ cd "$pkgdir"
+ _pick $pkgbase-drumkits usr/share
+ _pick $pkgbase-lv2 usr/lib/lv2
+ _pick $pkgbase-vst3 usr/lib/vst3
+ )
+}
+
+package_drumlabooh-drumkits() {
+ pkgdesc+=" - drum kits"
+ groups=(pro-audio)
+ mv -v $pkgname/* "$pkgdir"
+}
+
+package_drumlabooh-lv2() {
+ pkgdesc+=" - LV2 plugins"
+ depends=(fontconfig freetype2 gcc-libs glibc)
+ groups=(lv2-plugins pro-audio)
+ optdepends=('lv2-host: for loading the LV2 plugins')
+ mv -v $pkgname/* "$pkgdir"
}
-package() {
- cd "${srcdir}/drumlabooh-${pkgver}"
- cd build_dir
- make DESTDIR="${pkgdir}/" install
+package_drumlabooh-vst3() {
+ pkgdesc+=" - VST3 plugins"
+ depends=(fontconfig freetype2 gcc-libs glibc)
+ groups=(pro-audio vst3-plugins)
+ optdepends=('vst3-host: for loading the VST3 plugins')
+ mv -v $pkgname/* "$pkgdir"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment