# Maintainer: Jan Alexander Steffens (heftig) # Contributor: Allan McRae # Contributor: Jason Chu # remove when bumped upstream pkgbase=openal pkgname=(openal openal-examples) pkgver=1.21.1 pkgrel=2.1 pkgdesc="Cross-platform 3D audio library, software implementation" arch=(x86_64) url="https://github.com/kcat/openal-soft" license=(LGPL) depends=(gcc-libs) makedepends=(alsa-lib libpulse fluidsynth portaudio jack qt5-base sdl2 libsndfile ffmpeg libmysofa git cmake ninja) optdepends=('qt5-base: alsoft-config GUI Configurator' 'fluidsynth: MIDI rendering' 'libmysofa: makemhr tool') _commit=ae4eacf147e2c2340cc4e02a790df04c793ed0a9 # tags/1.21.1 source=("git+https://github.com/kcat/openal-soft#commit=$_commit") sha512sums=('SKIP') pkgver() { cd openal-soft git describe --tags | sed 's/^openal-soft-//;s/-/+/g' } prepare() { cd openal-soft # Missing include git cherry-pick -n 302e88dbf0f10224a5b87be4ce43b3fdd9d20184 # https://bugs.archlinux.org/task/72729 git cherry-pick -n b7ff1de48efda9ad54e6a3b4c1526722c371e832 } build() { cmake -S openal-soft -B build -G Ninja \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=None \ -DCMAKE_INSTALL_LIBDIR=lib cmake --build build } _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 } package_openal() { provides+=(libopenal.so) DESTDIR="$pkgdir" cmake --install build install -Dt "$pkgdir/usr/share/doc/openal" -m644 openal-soft/docs/* cd "$pkgdir" _pick examples usr/bin/al{ffplay,hrtf,latency,loopback,multireverb} _pick examples usr/bin/al{play,record,reverb,stream,tonegen} } package_openal-examples() { pkgdesc+=" (example programs)" depends=("openal=$pkgver-$pkgrel" sdl2 libsndfile ffmpeg) optdepends=() mv examples/* "$pkgdir" }