PKGBUILDs/extra/openal/PKGBUILD
2017-08-02 00:00:29 +00:00

72 lines
2.1 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.1
pkgrel=1
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 libpulse fluidsynth portaudio jack qt5-base sdl2 sdl_sound ffmpeg
git cmake ninja)
_commit=bf9c36408af9d45c99bc12b5b7b995aee628bdb6 # tags/openal-soft-1.18.1
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 ../openal-soft -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_LIBDIR=lib
ninja
}
package_openal() {
optdepends=('qt5-base: alsoft-config GUI Configurator'
'fluidsynth: MIDI rendering')
DESTDIR="$pkgdir" ninja -C build 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"
}