media-video/x264-encoder: Fix gpac / mp4 support.
authorAlexis Ballier <aballier@gentoo.org>
Sat, 22 Aug 2015 09:29:38 +0000 (11:29 +0200)
committerAlexis Ballier <aballier@gentoo.org>
Sat, 22 Aug 2015 09:29:38 +0000 (11:29 +0200)
https://bugs.gentoo.org/show_bug.cgi?id=499116

Package-Manager: portage-2.2.20.1

media-video/x264-encoder/files/gpac.patch [new file with mode: 0644]
media-video/x264-encoder/x264-encoder-0.0.20150820-r1.ebuild [new file with mode: 0644]
media-video/x264-encoder/x264-encoder-9999.ebuild

diff --git a/media-video/x264-encoder/files/gpac.patch b/media-video/x264-encoder/files/gpac.patch
new file mode 100644 (file)
index 0000000..94da64c
--- /dev/null
@@ -0,0 +1,13 @@
+Index: x264-snapshot-20150820-2245/configure
+===================================================================
+--- x264-snapshot-20150820-2245.orig/configure
++++ x264-snapshot-20150820-2245/configure
+@@ -1086,7 +1086,7 @@ fi
+ if [ "$gpac" = "auto" -a "$lsmash" != "yes" ] ; then
+     gpac="no"
+-    GPAC_LIBS="-lgpac_static"
++    GPAC_LIBS="-lgpac"
+     cc_check "" -lz && GPAC_LIBS="$GPAC_LIBS -lz"
+     if [ "$SYS" = "WINDOWS" ] ; then
+         cc_check "" -lws2_32 && GPAC_LIBS="$GPAC_LIBS -lws2_32"
diff --git a/media-video/x264-encoder/x264-encoder-0.0.20150820-r1.ebuild b/media-video/x264-encoder/x264-encoder-0.0.20150820-r1.ebuild
new file mode 100644 (file)
index 0000000..71259d7
--- /dev/null
@@ -0,0 +1,75 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit flag-o-matic multilib toolchain-funcs eutils
+
+DESCRIPTION="A free commandline encoder for X264/AVC streams"
+HOMEPAGE="http://www.videolan.org/developers/x264.html"
+if [[ ${PV} == 9999 ]]; then
+       inherit git-2
+       EGIT_REPO_URI="git://git.videolan.org/x264.git"
+       SRC_URI=""
+else
+       inherit versionator
+       MY_P="x264-snapshot-$(get_version_component_range 3)-2245"
+       SRC_URI="http://download.videolan.org/pub/videolan/x264/snapshots/${MY_P}.tar.bz2"
+       KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+       S="${WORKDIR}/${MY_P}"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="10bit avs custom-cflags ffmpeg ffmpegsource +interlaced mp4 +threads"
+
+REQUIRED_USE="ffmpegsource? ( ffmpeg )"
+
+RDEPEND="ffmpeg? ( virtual/ffmpeg )
+       ~media-libs/x264-${PV}[10bit=,interlaced=,threads=]
+       ffmpegsource? ( media-libs/ffmpegsource )
+       mp4? ( >=media-video/gpac-0.5.2 )"
+
+ASM_DEP=">=dev-lang/yasm-1.2.0"
+DEPEND="${RDEPEND}
+       amd64? ( ${ASM_DEP} )
+       x86? ( ${ASM_DEP} )
+       x86-fbsd? ( ${ASM_DEP} )
+       virtual/pkgconfig"
+
+src_prepare() {
+       epatch "${FILESDIR}/gpac.patch"
+}
+
+src_configure() {
+       tc-export CC
+
+       # let upstream pick the optimization level by default
+       use custom-cflags || filter-flags -O?
+
+       ./configure \
+               --prefix="${EPREFIX}"/usr \
+               --libdir="${EPREFIX}"/usr/$(get_libdir) \
+               --system-libx264 \
+               --host="${CHOST}" \
+               --disable-lsmash \
+               $(usex 10bit "--bit-depth=10" "") \
+               $(usex avs "" "--disable-avs") \
+               $(usex ffmpeg "" "--disable-lavf --disable-swscale") \
+               $(usex ffmpegsource "" "--disable-ffms") \
+               $(usex interlaced "" "--disable-interlaced") \
+               $(usex mp4 "" "--disable-gpac") \
+               $(usex threads "" "--disable-thread") || die
+
+       # this is a nasty workaround for bug #376925 for x264 that also applies
+       # here, needed because as upstream doesn't like us fiddling with their CFLAGS
+       if use custom-cflags; then
+               local cflags
+               cflags="$(grep "^CFLAGS=" config.mak | sed 's/CFLAGS=//')"
+               cflags="${cflags//$(get-flag O)/}"
+               cflags="${cflags//-O? /$(get-flag O) }"
+               cflags="${cflags//-g /}"
+               sed -i "s:^CFLAGS=.*:CFLAGS=${cflags//:/\\:}:" config.mak
+       fi
+}
index 64e7ddc531fc6565257a4d0bff863ec49114bd11..71259d770424930182838244194e97125de247f7 100644 (file)
@@ -4,7 +4,7 @@
 
 EAPI=5
 
-inherit flag-o-matic multilib toolchain-funcs
+inherit flag-o-matic multilib toolchain-funcs eutils
 
 DESCRIPTION="A free commandline encoder for X264/AVC streams"
 HOMEPAGE="http://www.videolan.org/developers/x264.html"
@@ -29,7 +29,7 @@ REQUIRED_USE="ffmpegsource? ( ffmpeg )"
 RDEPEND="ffmpeg? ( virtual/ffmpeg )
        ~media-libs/x264-${PV}[10bit=,interlaced=,threads=]
        ffmpegsource? ( media-libs/ffmpegsource )
-       mp4? ( >=media-video/gpac-0.4.1_pre20060122 )"
+       mp4? ( >=media-video/gpac-0.5.2 )"
 
 ASM_DEP=">=dev-lang/yasm-1.2.0"
 DEPEND="${RDEPEND}
@@ -38,6 +38,10 @@ DEPEND="${RDEPEND}
        x86-fbsd? ( ${ASM_DEP} )
        virtual/pkgconfig"
 
+src_prepare() {
+       epatch "${FILESDIR}/gpac.patch"
+}
+
 src_configure() {
        tc-export CC