PKGBUILDs/extra/openal/PKGBUILD
2017-07-23 15:48:53 +00:00

69 lines
2 KiB
Bash

# $Id$
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Jason Chu <jchu@xentac.net>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - fix for unimplemented _FPU_EXTENDED
# - patch to use neon only on 32bit ARM
pkgbase=openal
pkgname=(openal openal-examples)
pkgver=1.18.0
pkgrel=2
pkgdesc="Cross-platform 3D audio library, software implementation"
arch=(i686 x86_64)
url="https://github.com/kcat/openal-soft"
license=(LGPL)
depends=(glibc)
makedepends=(alsa-lib pkgconfig cmake libpulse qt5-base fluidsynth portaudio jack sdl2 sdl_sound
ffmpeg git)
_commit=61e43d4039277c538f3f6e0af7c988e7d71d8558 # tags/openal-soft-1.18.0
source=("git+https://github.com/kcat/openal-soft#commit=$_commit"
'no-fpuextended.patch'
'openal-soft-arm_neon-only-for-32bit.patch')
sha256sums=('SKIP'
'960e346be09cf2ce658f3e4ac47581609cc7df42b0b0a7a1a41a0f8ac5d17b6f'
'419ec5b76ab5013bb0004c785497766364ec7ea60b3b6badf11284147dfddb19')
pkgver() {
cd openal-soft
git describe --tags | sed 's/^openal-soft-//;s/-/+/g'
}
# https://bugs.archlinux.org/task/54908
git cherry-pick -n d4f3490a880f779f460332689a396ade69840f50
prepare() {
mkdir build examples
cd openal-soft
patch -p1 -i "${srcdir}"/no-fpuextended.patch
patch -p1 -i "${srcdir}"/openal-soft-arm_neon-only-for-32bit.patch
}
build() {
cd build
cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_LIBDIR=lib ../openal-soft
make
}
package_openal() {
optdepends=('qt5-base: alsoft-config GUI Configurator'
'fluidsynth: MIDI rendering')
make -C build DESTDIR="$pkgdir" install
install -Dt "$pkgdir/usr/share/doc/openal" -m644 openal-soft/docs/*
### Split openal-examples
mv -v "$pkgdir"/usr/bin/al{ffplay,hrtf,latency,loopback,reverb,stream} examples/
}
package_openal-examples() {
pkgdesc+=" (example programs)"
depends=("openal=$pkgver-$pkgrel" sdl2 sdl_sound ffmpeg)
mkdir "$pkgdir/usr"
mv -v examples "$pkgdir/usr/bin"
}