aboutsummaryrefslogtreecommitdiffstats
path: root/main/openal-soft
diff options
context:
space:
mode:
Diffstat (limited to 'main/openal-soft')
-rw-r--r--main/openal-soft/APKBUILD45
-rw-r--r--main/openal-soft/openal-fegetround.patch20
2 files changed, 65 insertions, 0 deletions
diff --git a/main/openal-soft/APKBUILD b/main/openal-soft/APKBUILD
new file mode 100644
index 0000000000..fdf1df20e3
--- /dev/null
+++ b/main/openal-soft/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer:
+pkgname=openal-soft
+pkgver=1.12.854
+pkgrel=0
+pkgdesc="software implementation of OpenAL API"
+url="http://kcat.strangesoft.net/openal.html"
+arch="all"
+license="LGPL"
+depends="alsa-lib"
+depends_dev="alsa-lib-dev"
+makedepends="$depends_dev cmake"
+install=""
+subpackages="$pkgname-dev"
+source="http://kcat.strangesoft.net/openal-releases/${pkgname}-${pkgver}.tar.bz2
+ openal-fegetround.patch"
+
+_srcdir="${srcdir}/${pkgname}-${pkgver}"
+_builddir="${srcdir}/build"
+prepare() {
+ local i
+
+ cd "$_srcdir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+
+ mkdir -p "$_builddir"
+}
+
+build() {
+ cd "$_builddir"
+ cmake -DCMAKE_INSTALL_PREFIX="/usr" "$_srcdir" || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="fbf36451fdebd6466edbdc0ee7db9603 openal-soft-1.12.854.tar.bz2
+e75032e44d64f268358d9755ff5200c6 openal-fegetround.patch"
diff --git a/main/openal-soft/openal-fegetround.patch b/main/openal-soft/openal-fegetround.patch
new file mode 100644
index 0000000000..261ab595a0
--- /dev/null
+++ b/main/openal-soft/openal-fegetround.patch
@@ -0,0 +1,20 @@
+--- openal-soft-1.12.854.orig/Alc/ALu.c
++++ openal-soft-1.12.854.mod/Alc/ALu.c
+@@ -1345,7 +1345,7 @@
+ int fpuState;
+ ALuint i, c;
+
+-#if defined(HAVE_FESETROUND)
++#if 0
+ fpuState = fegetround();
+ fesetround(FE_TOWARDZERO);
+ #elif defined(HAVE__CONTROLFP)
+@@ -1489,7 +1489,7 @@
+ size -= SamplesToDo;
+ }
+
+-#if defined(HAVE_FESETROUND)
++#if 0
+ fesetround(fpuState);
+ #elif defined(HAVE__CONTROLFP)
+ _controlfp(fpuState, 0xfffff);