diff options
author | redtide | 2023-05-05 14:29:27 +0200 |
---|---|---|
committer | redtide | 2023-05-05 14:29:27 +0200 |
commit | cc28993f2bc7ff1f1aa840a577de9377d73f6319 (patch) | |
tree | 3fa03f5e7026cb8a8e8b44c2751efcbf099992b3 | |
parent | 91a1d680a2a01727bda9f19efd983bd3c63b2004 (diff) | |
download | aur-cc28993f2bc7ff1f1aa840a577de9377d73f6319.tar.gz |
Splitted packages
-rw-r--r-- | .SRCINFO | 100 | ||||
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | PKGBUILD | 232 |
3 files changed, 285 insertions, 49 deletions
@@ -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* @@ -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/" } |