summaryrefslogtreecommitdiff
path: root/media-libs/faac
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /media-libs/faac
reinit the tree, so we can have metadata
Diffstat (limited to 'media-libs/faac')
-rw-r--r--media-libs/faac/Manifest13
-rw-r--r--media-libs/faac/faac-1.28-r4.ebuild61
-rw-r--r--media-libs/faac/faac-1.29.7.4.ebuild55
-rw-r--r--media-libs/faac/faac-1.29.7.7.ebuild47
-rw-r--r--media-libs/faac/files/faac-1.28-altivec.patch40
-rw-r--r--media-libs/faac/files/faac-1.28-external-libmp4v2.patch47
-rw-r--r--media-libs/faac/files/faac-1.28-inttypes.patch41
-rw-r--r--media-libs/faac/files/faac-1.28-libmp4v2_r479_compat.patch138
-rw-r--r--media-libs/faac/metadata.xml14
9 files changed, 456 insertions, 0 deletions
diff --git a/media-libs/faac/Manifest b/media-libs/faac/Manifest
new file mode 100644
index 000000000000..08c81459bca4
--- /dev/null
+++ b/media-libs/faac/Manifest
@@ -0,0 +1,13 @@
+AUX faac-1.28-altivec.patch 964 SHA256 36647018413fd0804762ec6dfad1c4c26566ce67130a5052172639d3d5c68a03 SHA512 a2a9a8f0b4ee1bca3f8c22286d64ddac2adf7e08b926536de8a72d84cdf1e2f04bd1b7f79aa625eb9b8772d22ac536a665378cc16836f2a0366ff70d29f3b2ef WHIRLPOOL 68e8c4d42627c1b59995e5bf647419db8583d520782137b7900e8437c976c41856fb02ee040738400f8391988f619a7dc39d6640b726bf93bb3c6de0958c5a50
+AUX faac-1.28-external-libmp4v2.patch 1766 SHA256 8e0bfe501acb7f31a701ab2c797c2ace539ccd60e5f5b3c0ae538bcd5719c1df SHA512 aa1ad9a486b21c7528522ad9834d928087b463ceaef2e0f710fae70438661b5e2f285c72d7d82926ea90a7f6b3d452d0978cfcc84d06685e534e325e4edd3ad9 WHIRLPOOL eb2ecd5bdbb5920bd12cf698419bc2d91ba692fbc08d9baa0275fc40f2a89b60634793f02a8566405880e0d9c0f9c9946955d900245d01b9b0a697d6a336d9fc
+AUX faac-1.28-inttypes.patch 1392 SHA256 b135e8441673727a3dbfa8b5237896f985f550594406ddf71d5ad2e85437c69b SHA512 38262b7103cd61cb718e13cd29fe8fb2d416e2a291bdd248b882ec983274c4d16f5c443c5b13eba3aa4efbfb425441bb4c2658434f7718a3e521cdd9ec6cfe4c WHIRLPOOL 79b4f05775b6c7882b7d2db55d2dac9911a053828de7ecaa002ade3a2c33060e32d80968ed50cc3447968418518b8f8a8290c26b3e2325bfc12e1c954660d074
+AUX faac-1.28-libmp4v2_r479_compat.patch 4741 SHA256 4d1d67ad908fd1887212719a12dca6d786784eba7509b84c39b51bf00fa36911 SHA512 7b79664fbd912e069b2c0ce49f97a29db03ed3f339bdf6ef5a4cc668c585a56fbb900b6cf40c014ad40f5e559aa048a9340aab30d393420630c433569393fb5b WHIRLPOOL 5783e0fd48aba3b0d292bc50e931c7f00658f93438079506b5346e85c2cbeddc7e94a8694a0fefa50f99469140b8b56947fc63b67a1d2a254017d9dab065977c
+DIST faac-1.28.tar.gz 678891 SHA256 c5141199f4cfb17d749c36ba8cfe4b25f838da67c22f0fec40228b6b9c3d19df SHA512 0ef721ad28835e95cad41afc0cb6130e1ebb634cb6dd4b40f649bc2269b7bb5bf2887f6d8f023c74628d521f8bdf55b4dd070f972ecff162a5fe0384e026235b WHIRLPOOL fe56f3c2b40670f03e0c1880b253d7f0cc6e318c0b407f4e57fb7eaeac8692c6de9829402e670ddc0f397396935131ade0f8dadfc89b88fcdedecbf404e1b54e
+DIST faac-1.29.7.4.tar.gz 488685 SHA256 374e0a2c166e4c67cc049e6b76b0158ba881156b9c428142104340fb7fcf6abc SHA512 b9f812cf4075ce7ad11833dff19bf6a8ebed5a0d73e0472b1d9798e2764b43e19a55689a6ec0fca86742bb3f62ca1bde21747386816d3d4c45f08e3c558b69d4 WHIRLPOOL 027f919f85d354f7991e778377dafcbad517d45b6599a1fded0a814a4578162e6f21019b58826cbf2a6767d15f3994a68ad2d11b44c006e77880c139e64792d1
+DIST faac-1.29.7.7.tar.gz 477124 SHA256 b898fcf55e7b52f964ee62d077f56fe9b3b35650e228f006fbef4ce903b4d731 SHA512 4461e5ee8dc3e6045e348a1ce50aa2df878aceffdc242fe256853f11f22e4895236bc64e3bbe89aad9c5a806d27368ed9e134699ee739225f407846ff2ebe2b8 WHIRLPOOL 496cc5a1e4f1955d4cd39255f4967ac263724800643eb7bb949b563c44d8ca137db1e2a34a6ce5f53c88566c9494027ed9936804e01cf71e18ba993e9a18b12a
+EBUILD faac-1.28-r4.ebuild 1716 SHA256 db27c7850f62948c0d91580cf62bb39a1e88415880545ef8d427e9a44ace9b4c SHA512 86a56132cd2b52e5ef8ccbfc2c31969b728cca8889ca15fd5980950c2f6974404d40aaf7499e692a36292e9335d0aff31504f2dd3e0d6a44996bb56b9eeb3ef6 WHIRLPOOL fb30f4461f8b453257e5fb84f0810a5f183863207bab64dccf98e147d187561312e3ea9bd4c9f1c801ee4ec043a57f3a71ae7e5665ee0d89b09994545bf654e2
+EBUILD faac-1.29.7.4.ebuild 1337 SHA256 bf5dfdd60c2099da1fd76cc3dbf57b925a6907e8f40c2b7febab6e656e5eca59 SHA512 a5691a6329ae101a11e09be5bdfd7d0c4268080b3fc97d9dda758d58a68a5d324078c1cd85f868b95bfda77746d44cf1d4238020a69fa3b2cfa74936ea22d4d0 WHIRLPOOL e6ebbb863e4fdc5b9bca24e9ff69a2b389ff36875ac98ad7cc3b97d351ffccb5c516eba9c8c7d16c2e2cce87e1273d0898bb517a0b366d17778c96cb1ea75f44
+EBUILD faac-1.29.7.7.ebuild 1200 SHA256 311b5c1b01f255e7b15d1be06fc8b137c8c8fd046b790f4038bf15cf0cdf5c62 SHA512 230d21c783b52aa838c1d25ee7a964b2d83fa9efb0686d1be03de56ade1075a70a2a0f0053e72f2121a7323496fac834f485f60ae0578d74ee1253b7212f46f1 WHIRLPOOL c54c19f6b0229d9758d717ee893283c1e7de15ebaab6b991c579586feb1c4b1b4cad91481029654e893fa00886b7f5978974ffad7647daf073edac6fcc73cf74
+MISC ChangeLog 2766 SHA256 bdc61025dd8ac5f1fd720007d05ed5cb30b517aa84da837f0a77d7b13b4d97b7 SHA512 aece8dd67f8b9bdeeebb412bc78d711d23d1d20a642a68d3610a5b626d4a07af0cc6f9f34b038b5776a290d6a1a395e4828325170bdf02152c6ee0eadd80356b WHIRLPOOL c0f8ff388fb7783ee66e147f687a529366fc6523a496f5ec765f70e95451f6360571af45e0d48f4ea3739064ab0197984c4661bf6ca26a4ab2b6e3e0995c2199
+MISC ChangeLog-2015 13602 SHA256 3075cbee9829e14929773af0ce5e942d18e400fd931612827c7aeee1551d39c6 SHA512 6a66fa11bd38a811b4d8c74778a676e0cf5d431a6972fa8839a51c3f087fcdfeccf4a7725b214a461ba32beab2311a83e0011f317d15b8a6d557007ed1d35545 WHIRLPOOL 07d9c4185664e19816b333a23e6c6c14ea426c9c465d2ffa593d5745b72a9e24e3c63d82e490e100d4027d882d6a896ab5b173d347eae2fd94c4f0a48f4a004d
+MISC metadata.xml 435 SHA256 308844fa468645b066b7c9f88e8584e9f4a84cf6ba9f541defe45e4c983acb42 SHA512 65f7c4d59cab4263199809c0727b82e9e5f059d24be5702e255c5d48a3bf205ba8af27f99164b3b1c8c6bdf47c7116e2a70e3f9da2549da4a7ff70d6fb61ecfa WHIRLPOOL 45b776f6dd2cb82c6ae1353608ba8db1e5d09703e6e4e386efa88a7aa8dd9633b169f88c298fd290e328b30b7f7870e12a9a141046ca12e369b59a6ec4c73ca9
diff --git a/media-libs/faac/faac-1.28-r4.ebuild b/media-libs/faac/faac-1.28-r4.ebuild
new file mode 100644
index 000000000000..8cc1bde10d87
--- /dev/null
+++ b/media-libs/faac/faac-1.28-r4.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+# eutils for einstalldocs
+inherit autotools epatch epunt-cxx eutils ltprune multilib-minimal
+
+DESCRIPTION="Free MPEG-4 audio codecs by AudioCoding.com"
+HOMEPAGE="http://www.audiocoding.com"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1 MPEG-4"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="static-libs"
+
+RDEPEND="media-libs/libmp4v2:0=
+ abi_x86_32? ( !<=app-emulation/emul-linux-x86-medialibs-20130224-r1
+ !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] )"
+DEPEND="${RDEPEND}"
+DOCS=( AUTHORS ChangeLog NEWS README TODO )
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-external-libmp4v2.patch \
+ "${FILESDIR}"/${P}-altivec.patch \
+ "${FILESDIR}"/${P}-libmp4v2_r479_compat.patch \
+ "${FILESDIR}"/${P}-inttypes.patch
+
+ sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.in || die #466984
+
+ eautoreconf
+ epunt_cxx
+}
+
+multilib_src_configure() {
+ local myconf
+ # only used for the fronted we need only for the default ABI.
+ [ "${ABI}" != "${DEFAULT_ABI}" ] && myconf+=" --without-mp4v2"
+
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable static-libs static) \
+ ${myconf}
+
+ # do not build the frontend for non default abis
+ if [ "${ABI}" != "${DEFAULT_ABI}" ] ; then
+ sed -i -e 's/frontend//' Makefile || die
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+ prune_libtool_files
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ dohtml docs/*.html
+ insinto /usr/share/doc/${PF}/pdf
+ doins docs/libfaac.pdf
+}
diff --git a/media-libs/faac/faac-1.29.7.4.ebuild b/media-libs/faac/faac-1.29.7.4.ebuild
new file mode 100644
index 000000000000..cd62caf3d01c
--- /dev/null
+++ b/media-libs/faac/faac-1.29.7.4.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+# eutils for einstalldocs
+inherit autotools epatch epunt-cxx eutils ltprune multilib-minimal
+
+DESCRIPTION="Free MPEG-4 audio codecs by AudioCoding.com"
+HOMEPAGE="http://www.audiocoding.com"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1 MPEG-4"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="digitalradio static-libs"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+DOCS=( AUTHORS ChangeLog NEWS README TODO )
+
+src_prepare() {
+ default
+
+ sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #466984
+
+ eautoreconf
+ epunt_cxx
+}
+
+multilib_src_configure() {
+ local myconf=(
+ $(use_enable digitalradio drm)
+ $(use_enable static-libs static)
+ )
+
+ ECONF_SOURCE="${S}" econf ${myconf[@]}
+
+ # do not build the frontend for non default abis
+ if [ "${ABI}" != "${DEFAULT_ABI}" ] ; then
+ sed -i -e 's/frontend//' Makefile || die
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+ prune_libtool_files
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ docinto html
+ dodoc docs/*.html
+ insinto /usr/share/doc/${PF}/pdf
+ doins docs/libfaac.pdf
+}
diff --git a/media-libs/faac/faac-1.29.7.7.ebuild b/media-libs/faac/faac-1.29.7.7.ebuild
new file mode 100644
index 000000000000..4dfb024938ef
--- /dev/null
+++ b/media-libs/faac/faac-1.29.7.7.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+# eutils for einstalldocs
+inherit autotools epatch epunt-cxx eutils ltprune multilib-minimal
+
+DESCRIPTION="Free MPEG-4 audio codecs by AudioCoding.com"
+HOMEPAGE="http://www.audiocoding.com"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1 MPEG-4"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="digitalradio static-libs"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+DOCS=( AUTHORS ChangeLog NEWS README TODO )
+
+src_prepare() {
+ default
+
+ sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #466984
+
+ eautoreconf
+ epunt_cxx
+}
+
+multilib_src_configure() {
+ local myconf=(
+ $(use_enable digitalradio drm)
+ $(use_enable static-libs static)
+ )
+
+ ECONF_SOURCE="${S}" econf ${myconf[@]}
+
+ # do not build the frontend for non default abis
+ if [ "${ABI}" != "${DEFAULT_ABI}" ] ; then
+ sed -i -e 's/frontend//' Makefile || die
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+ prune_libtool_files
+}
diff --git a/media-libs/faac/files/faac-1.28-altivec.patch b/media-libs/faac/files/faac-1.28-altivec.patch
new file mode 100644
index 000000000000..ae461efc30d3
--- /dev/null
+++ b/media-libs/faac/files/faac-1.28-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/media-libs/faac/files/faac-1.28-external-libmp4v2.patch b/media-libs/faac/files/faac-1.28-external-libmp4v2.patch
new file mode 100644
index 000000000000..54a63347b87a
--- /dev/null
+++ b/media-libs/faac/files/faac-1.28-external-libmp4v2.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/media-libs/faac/files/faac-1.28-inttypes.patch b/media-libs/faac/files/faac-1.28-inttypes.patch
new file mode 100644
index 000000000000..09304fb60172
--- /dev/null
+++ b/media-libs/faac/files/faac-1.28-inttypes.patch
@@ -0,0 +1,41 @@
+use standard integer types, not linux ones
+
+--- frontend/main.c
++++ frontend/main.c
+@@ -440,13 +440,13 @@
+ MP4TrackId MP4track = 0;
+ unsigned int ntracks = 0, trackno = 0;
+ unsigned int ndiscs = 0, discno = 0;
+- u_int8_t compilation = 0;
++ uint8_t compilation = 0;
+ const char *artist = NULL, *title = NULL, *album = NULL, *year = NULL,
+ *genre = NULL, *comment = NULL, *writer = NULL;
+- u_int8_t *art = NULL;
+- u_int64_t artSize = 0;
+- u_int64_t total_samples = 0;
+- u_int64_t encoded_samples = 0;
++ uint8_t *art = NULL;
++ uint64_t artSize = 0;
++ uint64_t total_samples = 0;
++ uint64_t encoded_samples = 0;
+ unsigned int delay_samples;
+ unsigned int frameSize;
+ #endif
+@@ -647,7 +647,7 @@
+ FILE *artFile = fopen(optarg, "rb");
+
+ if(artFile) {
+- u_int64_t r;
++ uint64_t r;
+
+ fseek(artFile, 0, SEEK_END);
+ artSize = ftell(artFile);
+@@ -1112,7 +1112,7 @@
+ if (bytesWritten > 0)
+ {
+ #ifdef HAVE_LIBMP4V2
+- u_int64_t samples_left = total_samples - encoded_samples + delay_samples;
++ uint64_t samples_left = total_samples - encoded_samples + delay_samples;
+ MP4Duration dur = samples_left > frameSize ? frameSize : samples_left;
+ MP4Duration ofs = encoded_samples > 0 ? 0 : delay_samples;
+
diff --git a/media-libs/faac/files/faac-1.28-libmp4v2_r479_compat.patch b/media-libs/faac/files/faac-1.28-libmp4v2_r479_compat.patch
new file mode 100644
index 000000000000..6aae0d7793e2
--- /dev/null
+++ b/media-libs/faac/files/faac-1.28-libmp4v2_r479_compat.patch
@@ -0,0 +1,138 @@
+http://bugs.gentoo.org/397575
+https://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
diff --git a/media-libs/faac/metadata.xml b/media-libs/faac/metadata.xml
new file mode 100644
index 000000000000..1f862763fa12
--- /dev/null
+++ b/media-libs/faac/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sound@gentoo.org</email>
+ <name>Gentoo Sound project</name>
+ </maintainer>
+ <use>
+ <flag name="digitalradio">Digital Radio Mondiale (warning: disables other decoders)</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">faac</remote-id>
+ </upstream>
+</pkgmetadata>