summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorredtide2023-05-05 14:29:27 +0200
committerredtide2023-05-05 14:29:27 +0200
commitcc28993f2bc7ff1f1aa840a577de9377d73f6319 (patch)
tree3fa03f5e7026cb8a8e8b44c2751efcbf099992b3
parent91a1d680a2a01727bda9f19efd983bd3c63b2004 (diff)
downloadaur-cc28993f2bc7ff1f1aa840a577de9377d73f6319.tar.gz
Splitted packages
-rw-r--r--.SRCINFO100
-rw-r--r--.gitignore2
-rw-r--r--PKGBUILD232
3 files changed, 285 insertions, 49 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 912c965dfa35..8617a82feda0 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,31 +1,99 @@
pkgbase = sfizz-git
- pkgdesc = SFZ library and LV2 plugin
- pkgver = r3815.fc1f0451
+ pkgdesc = SFZ based sampler (git version)
+ pkgver = 1.2.1.r2.g6cd063da
pkgrel = 1
url = https://sfz.tools/sfizz
arch = x86_64
license = custom:BSD-2-Clause
license = custom:ISC
- makedepends = git
+ checkdepends = lv2lint
+ checkdepends = catch2
makedepends = cmake
+ makedepends = cxxopts
+ makedepends = freetype2
+ makedepends = ghc-filesystem
+ makedepends = git
+ makedepends = jack
+ makedepends = lv2
+ makedepends = xcb-util-keysyms
+ source = sfizz::git+https://github.com/sfztools/sfizz#branch=develop
+ sha512sums = SKIP
+ b2sums = SKIP
+
+pkgname = sfizz-git
+ depends = sfizz-clients-git=1.2.1.r2.g6cd063da
+ depends = sfizz-lib-git=1.2.1.r2.g6cd063da
+ depends = sfizz-lv2-git=1.2.1.r2.g6cd063da
+ depends = sfizz-pd-git=1.2.1.r2.g6cd063da
+ depends = sfizz-vst3-git=1.2.1.r2.g6cd063da
+ provides = sfizz
+ provides = libsfizz.so
+ conflicts = sfizz
+
+pkgname = sfizz-clients-git
+ pkgdesc = SFZ based sampler (git version) - JACK and render clients
+ groups = pro-audio
+ depends = abseil-cpp
+ depends = gcc-libs
+ depends = glibc
depends = jack
+ depends = sfizz-lib-git=1.2.1.r2.g6cd063da
+
+pkgname = sfizz-lib-git
+ pkgdesc = SFZ based sampler (git version) - Engine library
+ groups = pro-audio
+ depends = abseil-cpp
+ depends = gcc-libs
+ depends = glibc
+ depends = pugixml
+
+pkgname = sfizz-lv2-git
+ pkgdesc = SFZ based sampler (git version) - LV2 plugin
+ groups = pro-audio
+ groups = lv2-plugins
+ depends = abseil-cpp
+ depends = gcc-libs
+ depends = glibc
+ depends = cairo
+ depends = fontconfig
depends = libx11
- depends = libxcb
+ depends = libxkbcommon
+ depends = libxkbcommon-x11
+ depends = pango
+ depends = pugixml
+ depends = ttf-roboto
depends = xcb-util
depends = xcb-util-cursor
- depends = xcb-util-keysyms
+ depends = zenity
+ depends = lv2-host
+ depends = sfizz-lib-git=1.2.1.r2.g6cd063da
+
+pkgname = sfizz-pd-git
+ pkgdesc = SFZ based sampler (git version) - Pure Data plugin
+ groups = pro-audio
+ depends = abseil-cpp
+ depends = gcc-libs
+ depends = glibc
+ depends = pd
+ depends = sfizz-lib-git=1.2.1.r2.g6cd063da
+
+pkgname = sfizz-vst3-git
+ pkgdesc = SFZ based sampler (git version) - VST3 plugin
+ groups = pro-audio
+ groups = vst3-plugins
+ depends = abseil-cpp
+ depends = gcc-libs
+ depends = glibc
+ depends = cairo
+ depends = fontconfig
+ depends = libx11
depends = libxkbcommon
depends = libxkbcommon-x11
- depends = fontconfig
- depends = cairo
- depends = freetype2
depends = pango
+ depends = pugixml
+ depends = ttf-roboto
+ depends = xcb-util
+ depends = xcb-util-cursor
depends = zenity
- optdepends = pd: sfizz external for puredata
- provides = sfizz
- provides = libsfizz.so
- conflicts = sfizz
- source = sfizz-git::git+https://github.com/sfztools/sfizz#branch=develop
- sha512sums = SKIP
-
-pkgname = sfizz-git
+ depends = vst3-host
+ depends = sfizz-lib-git=1.2.1.r2.g6cd063da
diff --git a/.gitignore b/.gitignore
index 8a65005ba00a..893927f11e54 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
/pkg
/src
/sfizz*
-*.xz
+*.tar*
diff --git a/PKGBUILD b/PKGBUILD
index aba3985c783d..3a3343b35327 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,44 +1,212 @@
+# Maintainer: SpotlightKid <aur -at- chrisarndt -dot de>
# Maintainer: redtide <redtid3@gmail.com>
-# Maintainer: Jean Pierre Cimalando <jp-dev@inbox.ru>
+# Contributor: Jean Pierre Cimalando <jp-dev@inbox.ru>
-_pkgname="sfizz"
-pkgname="${_pkgname}-git"
-pkgver=r3815.fc1f0451
+# TODO:
+# - adjust common dependencies, to avoid unneeded ones
+# - project license and doc files destinations (now only in lib package)
+# - tell users on a pinned comment how to configure yay/whatever to skip tests?
+
+_pkgname=sfizz
+pkgbase=$_pkgname-git
+pkgname=($_pkgname{,-{clients,lib,lv2,pd,vst3}}-git)
+pkgver=1.2.1.r2.g6cd063da
pkgrel=1
-pkgdesc="SFZ library and LV2 plugin"
+pkgdesc="SFZ based sampler (git version)"
url="https://sfz.tools/sfizz"
-arch=('x86_64')
-license=('custom:BSD-2-Clause' 'custom:ISC')
-makedepends=('git' 'cmake')
-depends=('jack' 'libx11' 'libxcb' 'xcb-util' 'xcb-util-cursor' 'xcb-util-keysyms'
- 'libxkbcommon' 'libxkbcommon-x11' 'fontconfig' 'cairo' 'freetype2' 'pango' 'zenity')
-optdepends=('pd: sfizz external for puredata')
-provides=("${_pkgname}" "lib${_pkgname}.so")
-conflicts=("${_pkgname}")
-source=("$pkgname"::"git+https://github.com/sfztools/sfizz#branch=develop")
+arch=(x86_64)
+license=(
+ custom:BSD-2-Clause
+ custom:ISC
+)
+makedepends=(
+ cmake
+ cxxopts
+ freetype2
+ ghc-filesystem
+ git
+ jack
+ lv2
+# simde
+# vst3sdk
+ xcb-util-keysyms
+)
+checkdepends=(lv2lint catch2)
+source=("$_pkgname"::"git+https://github.com/sfztools/sfizz#branch=develop")
sha512sums=('SKIP')
+b2sums=('SKIP')
+
+_common_depends=(
+ abseil-cpp
+ gcc-libs
+ glibc
+)
+
+_lv2_vst_vst3_depends=(
+ cairo
+ fontconfig
+ libx11
+ libxkbcommon
+ libxkbcommon-x11
+ pango
+ pugixml
+ ttf-roboto
+ xcb-util
+ xcb-util-cursor
+ zenity
+)
+
+_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
+}
+
pkgver() {
- cd "${pkgname}"
+ cd $_pkgname
+ ( set -o pipefail
+ git describe --long --tags 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' ||
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+ )
}
+
prepare() {
- cd "${srcdir}/${pkgname}"
- git submodule update --init --recursive
+ cd $_pkgname
+ git submodule update --init --recursive
+
+ # symlink tests data to top-level location so that tests can get to them (we build out of tree)
+ ln -svf "$srcdir"/$_pkgname/tests "$srcdir"/tests
}
+
build() {
- mkdir -p build
- cd build
- cmake \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX="/usr" \
- -DSFIZZ_JACK=ON \
- -DSFIZZ_LV2=ON \
- -DSFIZZ_VST=ON \
- -DSFIZZ_PUREDATA=ON \
- "${srcdir}/${pkgname}"
- cmake --build . --target all
-}
-package() {
- DESTDIR="${pkgdir}" cmake --build "${srcdir}/build" --target install
- install -Dm644 "${srcdir}/${pkgname}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ local cmake_options=(
+ -D CMAKE_INSTALL_PREFIX=/usr
+ -D CMAKE_BUILD_TYPE=None
+# Enabled by default, here for reference
+# -D SFIZZ_JACK=ON
+# -D SFIZZ_LV2=ON
+# -D SFIZZ_LV2_UI=ON
+# -D SFIZZ_VST=ON
+ -D SFIZZ_PUREDATA=ON
+ -D SFIZZ_TESTS=ON
+ -D SFIZZ_USE_SYSTEM_CATCH=ON
+ -D SFIZZ_USE_SYSTEM_ABSEIL=ON
+ -D SFIZZ_USE_SYSTEM_CXXOPTS=ON
+ -D SFIZZ_USE_SYSTEM_GHC_FS=ON
+ -D SFIZZ_USE_SYSTEM_LV2=ON
+ -D SFIZZ_USE_SYSTEM_PUGIXML=ON
+# Wait for working simde 0.7.4+
+# -D SFIZZ_USE_SYSTEM_SIMDE=ON
+#
+# Keep this bundled as well for a while, will not hurt anyone :)
+# -D SFIZZ_USE_SYSTEM_VST3SDK=ON
+#
+# Same c++ standard version as for abseil-cpp:
+# https://github.com/archlinux/svntogit-community/blob/packages/abseil-cpp/trunk/PKGBUILD#L28
+ -D CMAKE_CXX_STANDARD=17
+ -W no-dev
+ -B build
+ -S $_pkgname
+ )
+ cmake "${cmake_options[@]}"
+ cmake --build build --verbose
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+ lv2lint -Mpack -I build/$_pkgname.lv2 "http://sfztools.github.io/sfizz"
+}
+
+package_sfizz-git() {
+ depends=(
+ $_pkgname-{clients,lib,lv2,pd,vst3}-git=$pkgver
+ )
+ provides=($_pkgname lib$_pkgname.so)
+ conflicts=($_pkgname)
+
+ DESTDIR="$pkgdir" cmake --install build
+
+ (
+ cd "$pkgdir"
+ # have find-libdeps resolve dependencies properly:
+ # https://gitlab.archlinux.org/archlinux/devtools/-/issues/102
+ find usr/lib -type f \( -iname "*.clap" -or -iname "*.so" \) -exec chmod +x {} \;
+ _pick $_pkgname-clients-git usr/bin/
+ _pick $_pkgname-clients-git usr/share/man/
+ _pick $_pkgname-lv2-git usr/lib/lv2/
+ _pick $_pkgname-pd-git usr/lib/pd/
+ _pick $_pkgname-vst3-git usr/lib/vst3/
+ _pick $_pkgname-lib-git usr/include/
+ _pick $_pkgname-lib-git usr/lib/
+ )
+}
+
+package_sfizz-lib-git() {
+ pkgdesc+=' - Engine library'
+ groups=(pro-audio)
+ depends=(
+ "${_common_depends[@]}"
+ pugixml
+ )
+ mv -v $_pkgname-lib-git/* "$pkgdir"
+ install -vDm 644 "$srcdir/$_pkgname"/LICENSE \
+ -t "$pkgdir/usr/share/licenses/$_pkgname/"
+ install -vDm 644 "$srcdir/$_pkgname"/{AUTHORS,CONTRIBUTING,GOVERNANCE,README}.md \
+ -t "$pkgdir/usr/share/doc/$_pkgname/"
+}
+
+package_sfizz-clients-git() {
+ pkgdesc+=' - JACK and render clients'
+ groups=(pro-audio)
+ depends=(
+ "${_common_depends[@]}"
+ jack
+ $_pkgname-lib-git=$pkgver
+ )
+ mv -v $_pkgname-clients-git/* "$pkgdir"
+}
+
+package_sfizz-lv2-git() {
+ pkgdesc+=" - LV2 plugin"
+ groups=(pro-audio lv2-plugins)
+ depends=(
+ "${_common_depends[@]}"
+ "${_lv2_vst_vst3_depends[@]}"
+ lv2-host
+ $_pkgname-lib-git=$pkgver
+ )
+ mv -v $_pkgname-lv2-git/* "$pkgdir"
+ # Devendor ttf-roboto
+ ln -svf /usr/share/fonts/TTF/Roboto-Regular.ttf \
+ "$pkgdir/usr/lib/lv2/$_pkgname.lv2/Contents/Resources/Fonts/"
+}
+
+package_sfizz-pd-git() {
+ pkgdesc+=" - Pure Data plugin"
+ groups=(pro-audio)
+ depends=(
+ "${_common_depends[@]}"
+ pd
+ $_pkgname-lib-git=$pkgver
+ )
+ mv -v $_pkgname-pd-git/* "$pkgdir"
+}
+
+package_sfizz-vst3-git() {
+ pkgdesc+=" - VST3 plugin"
+ groups=(pro-audio vst3-plugins)
+ depends=(
+ "${_common_depends[@]}"
+ "${_lv2_vst_vst3_depends[@]}"
+ vst3-host
+ $_pkgname-lib-git=$pkgver
+ )
+ mv -v $_pkgname-vst3-git/* "$pkgdir"
+ # Devendor ttf-roboto
+ ln -svf /usr/share/fonts/TTF/Roboto-Regular.ttf \
+ "$pkgdir/usr/lib/vst3/$_pkgname.vst3/Contents/Resources/Fonts/"
}