diff options
author | root <root@rshg054.dnsready.net> | 2012-12-29 02:13:48 -0800 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-12-29 02:13:48 -0800 |
commit | 5dd7ed82e788ebad2e920e0f2db7468cc6547cfe (patch) | |
tree | f467412e09912ababcd8fe6c05193d829f514dcd /extra/faac | |
parent | 3009e8addb4a894329bf8ab3e8fb763361833978 (diff) |
Sat Dec 29 02:10:20 PST 2012
Diffstat (limited to 'extra/faac')
-rw-r--r-- | extra/faac/PKGBUILD | 40 | ||||
-rw-r--r-- | extra/faac/altivec.patch | 40 | ||||
-rw-r--r-- | extra/faac/mp4v2-1.9.patch | 47 | ||||
-rw-r--r-- | extra/faac/mp4v2-2.0.0.patch | 138 |
4 files changed, 265 insertions, 0 deletions
diff --git a/extra/faac/PKGBUILD b/extra/faac/PKGBUILD new file mode 100644 index 000000000..e56599e5d --- /dev/null +++ b/extra/faac/PKGBUILD @@ -0,0 +1,40 @@ +# $Id: PKGBUILD 159954 2012-05-27 10:22:19Z tomegun $ +# Maintainer: Tom Gundersen <teg@jklm.no> +# Contributor: Hugo Doria <hugo@archlinux.org> +# Contributor: Sarah Hay <sarah@archlinux.org> +# Contributor: dorphell <dorphell@archlinux.org> + +pkgname=faac +pkgver=1.28 +pkgrel=4 +pkgdesc="An AAC audio encoder" +arch=('i686' 'x86_64') +url="http://www.audiocoding.com/" +license=('GPL' 'custom') +depends=('libmp4v2' 'glibc') +options=('!libtool') +source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz" + 'altivec.patch' 'mp4v2-1.9.patch' 'mp4v2-2.0.0.patch') + +build() { + cd "${srcdir}"/${pkgname}-${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' + ./bootstrap + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}"/${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + + install -Dm644 "${srcdir}"/${pkgname}-${pkgver}/libfaac/kiss_fft/COPYING \ + "${pkgdir}"/usr/share/licenses/faac/LICENSE +} +md5sums=('80763728d392c7d789cde25614c878f6' + 'e1ee422ab524fb1f78d178700c3a0e7f' + '9d52a17e68fa15ca94e88e1457b94b74' + '979ff4f13f36217cb15c92df9fd75f0c') diff --git a/extra/faac/altivec.patch b/extra/faac/altivec.patch new file mode 100644 index 000000000..ae461efc3 --- /dev/null +++ b/extra/faac/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/extra/faac/mp4v2-1.9.patch b/extra/faac/mp4v2-1.9.patch new file mode 100644 index 000000000..54a63347b --- /dev/null +++ b/extra/faac/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/extra/faac/mp4v2-2.0.0.patch b/extra/faac/mp4v2-2.0.0.patch new file mode 100644 index 000000000..f4ac8e6d4 --- /dev/null +++ b/extra/faac/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 |