summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Paden2017-01-04 15:05:33 -0600
committerAaron Paden2017-01-04 15:09:12 -0600
commit6b34a4ed63819e176ccbf3c8f9778666935b678d (patch)
tree42d5500a43e652f7f8ed249aaa09ebead92ca5bc
downloadaur-lib32-audiofile.tar.gz
Initial commit.
-rw-r--r--.SRCINFO20
-rw-r--r--PKGBUILD40
-rw-r--r--fix-undefined-behavior-in-sign-conversion.patch18
3 files changed, 78 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..2790f11f4494
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,20 @@
+# Generated by mksrcinfo v8
+# Wed Jan 4 21:08:19 UTC 2017
+pkgbase = lib32-audiofile
+ pkgdesc = Silicon Graphics Audio File Library
+ pkgver = 0.3.6
+ pkgrel = 1
+ url = http://www.68k.org/~michael/audiofile/
+ arch = i686
+ arch = x86_64
+ license = LGPL
+ depends = gcc-libs
+ depends = alsa-lib
+ depends = flac
+ source = http://audiofile.68k.org/audiofile-0.3.6.tar.gz
+ source = fix-undefined-behavior-in-sign-conversion.patch
+ sha256sums = cdc60df19ab08bfe55344395739bb08f50fc15c92da3962fac334d3bff116965
+ sha256sums = b584998c79e75637f69d88691e420309db5938e0e7ac9d1c6e73db8a13718e83
+
+pkgname = lib32-audiofile
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..f448b8c4e2a8
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 255073 2015-12-10 04:42:49Z foutrelis $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: dorphell <dorphell@archlinux.org>
+
+pkgname=lib32-audiofile
+_pkgname=audiofile
+pkgver=0.3.6
+pkgrel=1
+pkgdesc="Silicon Graphics Audio File Library"
+arch=('i686' 'x86_64')
+url="http://www.68k.org/~michael/audiofile/"
+license=('LGPL')
+depends=('gcc-libs' 'alsa-lib' 'flac')
+source=("http://audiofile.68k.org/$_pkgname-$pkgver.tar.gz"
+ "fix-undefined-behavior-in-sign-conversion.patch")
+sha256sums=('cdc60df19ab08bfe55344395739bb08f50fc15c92da3962fac334d3bff116965'
+ 'b584998c79e75637f69d88691e420309db5938e0e7ac9d1c6e73db8a13718e83')
+prepare() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ patch -p1 <"$srcdir/fix-undefined-behavior-in-sign-conversion.patch"
+}
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ export CC='gcc -m32'
+ export CXX='g++ -m32'
+ export PKG_CONFIG_PATH='/usr/lib32/pkgconfig'
+ ./configure --prefix=/usr \
+ --libdir=/usr/lib32 \
+ --build=i686-pc-linux-gnu \
+ --disable-docs \
+ --disable-examples
+ make
+}
+package() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ cd "$pkgdir/usr"
+ rm -r bin include
+}
+# vim:set ts=2 sw=2 et:
diff --git a/fix-undefined-behavior-in-sign-conversion.patch b/fix-undefined-behavior-in-sign-conversion.patch
new file mode 100644
index 000000000000..088b312ad7aa
--- /dev/null
+++ b/fix-undefined-behavior-in-sign-conversion.patch
@@ -0,0 +1,18 @@
+From b62c902dd258125cac86cd2df21fc898035a43d3 Mon Sep 17 00:00:00 2001
+From: Michael Pruett <michael@68k.org>
+Date: Mon, 29 Aug 2016 23:08:26 -0500
+Subject: [PATCH] Fix undefined behavior in sign conversion.
+diff --git a/libaudiofile/modules/SimpleModule.h b/libaudiofile/modules/SimpleModule.h
+index 03c6c69..bad85ad 100644
+--- a/libaudiofile/modules/SimpleModule.h
++++ b/libaudiofile/modules/SimpleModule.h
+@@ -123,7 +123,8 @@ struct signConverter
+ typedef typename IntTypes<Format>::UnsignedType UnsignedType;
+
+ static const int kScaleBits = (Format + 1) * CHAR_BIT - 1;
+- static const int kMinSignedValue = -1 << kScaleBits;
++ static const int kMaxSignedValue = (((1 << (kScaleBits - 1)) - 1) << 1) + 1;
++ static const int kMinSignedValue = -kMaxSignedValue - 1;
+
+ struct signedToUnsigned : public std::unary_function<SignedType, UnsignedType>
+ {