summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGordonGR2015-07-23 16:31:29 +0300
committerGordonGR2015-07-23 16:31:29 +0300
commit838495996c08ba2ffd2a40cb96aa3bac7b40e1f8 (patch)
tree790dcda5104415a5ff3e5c6275b4b89eadc979b0
downloadaur-838495996c08ba2ffd2a40cb96aa3bac7b40e1f8.tar.gz
Initial commit
-rw-r--r--.SRCINFO22
-rw-r--r--PKGBUILD51
-rw-r--r--altivec.patch40
-rw-r--r--mp4v2-1.9.patch47
-rw-r--r--mp4v2-2.0.0.patch138
5 files changed, 298 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..97d47f487fe5
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,22 @@
+pkgbase = lib32-faac
+ pkgdesc = An AAC audio encoder (32 bit)
+ pkgver = 1.28
+ pkgrel = 7
+ url = http://www.audiocoding.com/
+ arch = x86_64
+ license = GPL
+ license = custom:FAAC
+ makedepends = gcc-multilib
+ depends = lib32-libmp4v2
+ depends = faac
+ source = http://downloads.sourceforge.net/faac/faac-1.28.tar.gz
+ source = altivec.patch
+ source = mp4v2-1.9.patch
+ source = mp4v2-2.0.0.patch
+ md5sums = 80763728d392c7d789cde25614c878f6
+ md5sums = db6b43868ad91127c6a7b57f5c6ca6bb
+ md5sums = 9d52a17e68fa15ca94e88e1457b94b74
+ md5sums = 482f515920716899ecda925613f0c31e
+
+pkgname = lib32-faac
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..05e551d61f17
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,51 @@
+# Contributor: josephgbr <rafael.f.f1 at gmail dot com>
+# Maintainer: GordonGR <ntheo1979@gmail.com>
+
+_pkgbase=faac
+pkgname=lib32-$_pkgbase
+pkgver=1.28
+pkgrel=7
+pkgdesc="An AAC audio encoder (32 bit)"
+arch=('x86_64')
+url="http://www.audiocoding.com/"
+license=('GPL' 'custom:FAAC')
+depends=('lib32-libmp4v2' "$_pkgbase")
+makedepends=('gcc-multilib')
+source=("http://downloads.sourceforge.net/$_pkgbase/$_pkgbase-$pkgver.tar.gz"
+ 'altivec.patch' 'mp4v2-1.9.patch' 'mp4v2-2.0.0.patch')
+md5sums=('80763728d392c7d789cde25614c878f6'
+ 'db6b43868ad91127c6a7b57f5c6ca6bb'
+ '9d52a17e68fa15ca94e88e1457b94b74'
+ '482f515920716899ecda925613f0c31e')
+
+prepare() {
+ cd $_pkgbase-$pkgver
+
+ patch -p1 -i ../mp4v2-1.9.patch
+ patch -p0 -i ../mp4v2-2.0.0.patch
+ patch -p0 -i ../altivec.patch
+ find . -type f -print0 | xargs -0 sed -i 's/\r//g'
+ sed -i 's/AM_CONFIG_HEADER(config.h)/AC_CONFIG_HEADERS([config.h])/' configure.in
+
+ ./bootstrap
+}
+
+build() {
+ export CC='gcc -m32'
+ export CXX='g++ -m32'
+ export PKG_CONFIG_PATH='/usr/lib32/pkgconfig'
+
+ cd $_pkgbase-$pkgver
+
+ ./configure --prefix=/usr --libdir=/usr/lib32 --libexecdir=/usr/lib32/$_pkgbase
+ make
+}
+
+package() {
+ cd $_pkgbase-$pkgver
+ make DESTDIR="$pkgdir" install
+ rm -rf "$pkgdir"/usr/{bin,include,share}
+
+ install -dm755 "$pkgdir"/usr/share/licenses
+ ln -s $_pkgbase "$pkgdir"/usr/share/licenses/$pkgname
+}
diff --git a/altivec.patch b/altivec.patch
new file mode 100644
index 000000000000..5cde7c461fef
--- /dev/null
+++ b/altivec.patch
@@ -0,0 +1,40 @@
+http://bugs.gentoo.org/306881
+
+--- configure.in
++++ configure.in
+@@ -33,7 +33,12 @@
+ AC_CHECK_DECLS([MP4Create, MP4MetadataDelete],
+ AC_CHECK_LIB(mp4v2, MP4MetadataDelete, external_mp4v2=yes,
+ external_mp4v2=no, -lstdc++),
+- external_mp4v2=no, [#include <mp4v2/mp4v2.h>])
++ external_mp4v2=no, [
++ #if defined(__ALTIVEC__)
++ #undef bool
++ #endif
++ #include <mp4v2/mp4v2.h>
++ ])
+
+ if test x$external_mp4v2 = xyes; then
+ AC_MSG_NOTICE([*** Building with external mp4v2 ***])
+--- frontend/main.c
++++ frontend/main.c
+@@ -30,6 +30,9 @@
+ #endif
+
+ #ifdef HAVE_LIBMP4V2
++#if defined(__ALTIVEC__)
++# undef bool
++#endif
+ # include <mp4v2/mp4v2.h>
+ #endif
+
+--- common/mp4v2/mpeg4ip.h
++++ common/mp4v2/mpeg4ip.h
+@@ -123,7 +123,6 @@
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+-char *strcasestr(const char *haystack, const char *needle);
+ #ifdef __cplusplus
+ }
+ #endif
diff --git a/mp4v2-1.9.patch b/mp4v2-1.9.patch
new file mode 100644
index 000000000000..54a63347b87a
--- /dev/null
+++ b/mp4v2-1.9.patch
@@ -0,0 +1,47 @@
+diff -ur faac-1.28.orig/configure.in faac-1.28/configure.in
+--- faac-1.28.orig/configure.in 2009-02-05 02:55:38.000000000 +0200
++++ faac-1.28/configure.in 2009-07-10 13:21:34.000000000 +0300
+@@ -28,14 +28,17 @@
+ AC_CHECK_LIB(gnugetopt, getopt_long)
+
+ AM_CONDITIONAL(WITH_MP4V2, false)
++AM_CONDITIONAL(WITH_EXTERNAL_MP4V2, false)
+
+ AC_CHECK_DECLS([MP4Create, MP4MetadataDelete],
+ AC_CHECK_LIB(mp4v2, MP4MetadataDelete, external_mp4v2=yes,
+ external_mp4v2=no, -lstdc++),
+- external_mp4v2=no, [#include <mp4.h>])
++ external_mp4v2=no, [#include <mp4v2/mp4v2.h>])
+
+ if test x$external_mp4v2 = xyes; then
+ AC_MSG_NOTICE([*** Building with external mp4v2 ***])
++ MY_DEFINE(HAVE_LIBMP4V2)
++ AM_CONDITIONAL(WITH_EXTERNAL_MP4V2, true)
+ else
+ if test x$WITHMP4V2 = xyes; then
+ AC_MSG_NOTICE([*** Building with internal mp4v2 ***])
+diff -ur faac-1.28.orig/frontend/main.c faac-1.28/frontend/main.c
+--- faac-1.28.orig/frontend/main.c 2009-01-24 03:10:20.000000000 +0200
++++ faac-1.28/frontend/main.c 2009-07-10 13:22:18.000000000 +0300
+@@ -30,7 +30,7 @@
+ #endif
+
+ #ifdef HAVE_LIBMP4V2
+-# include <mp4.h>
++# include <mp4v2/mp4v2.h>
+ #endif
+
+ #define DEFAULT_TNS 0
+diff -ur faac-1.28.orig/frontend/Makefile.am faac-1.28/frontend/Makefile.am
+--- faac-1.28.orig/frontend/Makefile.am 2008-12-16 02:56:00.000000000 +0200
++++ faac-1.28/frontend/Makefile.am 2009-07-10 13:21:55.000000000 +0300
+@@ -8,5 +8,9 @@
+ LDADD = $(top_builddir)/libfaac/libfaac.la $(top_srcdir)/common/mp4v2/libmp4v2.a -lm -lstdc++
+ else
+ INCLUDES = -I$(top_srcdir)/include
++if WITH_EXTERNAL_MP4V2
++LDADD = $(top_builddir)/libfaac/libfaac.la -lm -lmp4v2
++else
+ LDADD = $(top_builddir)/libfaac/libfaac.la -lm
+ endif
++endif
diff --git a/mp4v2-2.0.0.patch b/mp4v2-2.0.0.patch
new file mode 100644
index 000000000000..d9f6b559dc99
--- /dev/null
+++ b/mp4v2-2.0.0.patch
@@ -0,0 +1,138 @@
+http://bugs.gentoo.org/397575
+http://sourceforge.net/tracker/?func=detail&aid=3476707&group_id=704&atid=100704
+
+--- configure.in
++++ configure.in
+@@ -33,8 +33,8 @@ AC_CHECK_LIB(gnugetopt, getopt_long)
+ AM_CONDITIONAL(WITH_MP4V2, false)
+ AM_CONDITIONAL(WITH_EXTERNAL_MP4V2, false)
+
+-AC_CHECK_DECLS([MP4Create, MP4MetadataDelete],
+- AC_CHECK_LIB(mp4v2, MP4MetadataDelete, external_mp4v2=yes,
++AC_CHECK_DECLS([MP4Create],
++ AC_CHECK_LIB(mp4v2, MP4Create, external_mp4v2=yes,
+ external_mp4v2=no, -lstdc++),
+ external_mp4v2=no, [#include <mp4v2/mp4v2.h>])
+
+@@ -42,6 +42,7 @@ if test x$external_mp4v2 = xyes; then
+ AC_MSG_NOTICE([*** Building with external mp4v2 ***])
+ MY_DEFINE(HAVE_EXTERNAL_LIBMP4V2)
+ AM_CONDITIONAL(WITH_EXTERNAL_MP4V2, true)
++ AC_CHECK_DECLS([MP4TagsAlloc], [], [], [#include <mp4v2/mp4v2.h>])
+ else
+ if test x$WITHMP4V2 = xyes; then
+ AC_MSG_NOTICE([*** Building with internal mp4v2 ***])
+--- frontend/main.c
++++ frontend/main.c
+@@ -873,8 +873,12 @@ int main(int argc, char *argv[])
+ if (!faacEncSetConfiguration(hEncoder, myFormat)) {
+ fprintf(stderr, "Unsupported output format!\n");
+ #ifdef HAVE_LIBMP4V2
++#ifdef MP4_CLOSE_DO_NOT_COMPUTE_BITRATE /* r479 fix */
++ if (container == MP4_CONTAINER) MP4Close(MP4hFile, 0);
++#else
+ if (container == MP4_CONTAINER) MP4Close(MP4hFile);
+ #endif
++#endif
+ return 1;
+ }
+
+@@ -885,12 +889,10 @@ int main(int argc, char *argv[])
+ unsigned long ASCLength = 0;
+ char *version_string;
+
+-#ifdef MP4_CREATE_EXTENSIBLE_FORMAT
+- /* hack to compile against libmp4v2 >= 1.0RC3
+- * why is there no version identifier in mp4.h? */
++#ifdef MP4_DETAILS_ERROR /* r453 fix */
+ MP4hFile = MP4Create(aacFileName, MP4_DETAILS_ERROR, 0);
+ #else
+- MP4hFile = MP4Create(aacFileName, MP4_DETAILS_ERROR, 0, 0);
++ MP4hFile = MP4Create(aacFileName, 0);
+ #endif
+ if (!MP4_IS_VALID_FILE_HANDLE(MP4hFile)) {
+ fprintf(stderr, "Couldn't create output file %s\n", aacFileName);
+@@ -905,12 +907,22 @@ int main(int argc, char *argv[])
+ free(ASC);
+
+ /* set metadata */
++#if HAVE_DECL_MP4TAGSALLOC
++ const MP4Tags* tags;
++ tags = MP4TagsAlloc();
++ MP4TagsFetch( tags, MP4hFile );
++#endif
+ version_string = malloc(strlen(faac_id_string) + 6);
+ strcpy(version_string, "FAAC ");
+ strcpy(version_string + 5, faac_id_string);
++#if !HAVE_DECL_MP4TAGSALLOC
+ MP4SetMetadataTool(MP4hFile, version_string);
++#else
++ MP4TagsSetEncodingTool(tags, version_string);
++#endif
+ free(version_string);
+
++#if !HAVE_DECL_MP4TAGSALLOC
+ if (artist) MP4SetMetadataArtist(MP4hFile, artist);
+ if (writer) MP4SetMetadataWriter(MP4hFile, writer);
+ if (title) MP4SetMetadataName(MP4hFile, title);
+@@ -923,8 +935,40 @@ int main(int argc, char *argv[])
+ if (comment) MP4SetMetadataComment(MP4hFile, comment);
+ if (artSize) {
+ MP4SetMetadataCoverArt(MP4hFile, art, artSize);
++#else
++ if (artist) MP4TagsSetArtist(tags, artist);
++ if (writer) MP4TagsSetComposer(tags, writer);
++ if (title) MP4TagsSetName(tags, title);
++ if (album) MP4TagsSetAlbum(tags, album);
++ if (trackno > 0) {
++ MP4TagTrack tt;
++ tt.index = trackno;
++ tt.total = ntracks;
++ MP4TagsSetTrack(tags, &tt);
++ }
++ if (discno > 0) {
++ MP4TagDisk td;
++ td.index = discno;
++ td.total = ndiscs;
++ MP4TagsSetDisk(tags, &td);
++ }
++ if (compilation) MP4TagsSetCompilation(tags, compilation);
++ if (year) MP4TagsSetReleaseDate(tags, year);
++ if (genre) MP4TagsSetGenre(tags, genre);
++ if (comment) MP4TagsSetComments(tags, comment);
++ if (artSize) {
++ MP4TagArtwork mp4art;
++ mp4art.data = art;
++ mp4art.size = artSize;
++ mp4art.type = MP4_ART_UNDEFINED; // delegate typing to libmp4v2
++ MP4TagsAddArtwork( tags, &mp4art );
++#endif
+ free(art);
+ }
++#if HAVE_DECL_MP4TAGSALLOC
++ MP4TagsStore( tags, MP4hFile );
++ MP4TagsFree( tags );
++#endif
+ }
+ else
+ {
+@@ -1141,11 +1185,19 @@ int main(int argc, char *argv[])
+ /* clean up */
+ if (container == MP4_CONTAINER)
+ {
++#ifdef MP4_CLOSE_DO_NOT_COMPUTE_BITRATE /* r479 fix */
++ MP4Close(MP4hFile, 0);
++#else
+ MP4Close(MP4hFile);
++#endif
+ if (optimizeFlag == 1)
+ {
+ fprintf(stderr, "\n\nMP4 format optimization... ");
++#ifdef MP4_DETAILS_ERROR /* r453 fix */
+ MP4Optimize(aacFileName, NULL, 0);
++#else
++ MP4Optimize(aacFileName, NULL);
++#endif
+ fprintf(stderr, "Done!");
+ }
+ } else