media-video/ffmpeg: Use main build for Chromium where possible in v4+
authorJames Le Cuirot <chewi@gentoo.org>
Sun, 2 Dec 2018 21:38:57 +0000 (21:38 +0000)
committerJames Le Cuirot <chewi@gentoo.org>
Sun, 2 Dec 2018 21:41:19 +0000 (21:41 +0000)
The main build is now compatible with Chromium, except when OpenCL is
enabled. I thought about keeping the build separate or adding to
REQUIRED_USE but in the end, I decided to let it work both ways. The
precise compatibility requirements may change over time so I have
added a build_separate_libffmpeg function.

Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
media-video/ffmpeg/ffmpeg-4.0.2.ebuild
media-video/ffmpeg/ffmpeg-4.0.3.ebuild
media-video/ffmpeg/ffmpeg-4.1.ebuild
media-video/ffmpeg/ffmpeg-9999.ebuild

index 3a5a70b3e2b0199eb335e313c1bc2af697b4a69a..4cb26fd90478c0129de016c413f4d27f2e7f1205 100644 (file)
@@ -310,6 +310,10 @@ MULTILIB_WRAPPED_HEADERS=(
        /usr/include/libavutil/avconfig.h
 )
 
+build_separate_libffmpeg() {
+       use opencl
+}
+
 src_prepare() {
        if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot
                export revision=git-N-${FFMPEG_REVISION}
@@ -446,7 +450,7 @@ multilib_src_configure() {
        echo "${@}"
        "${@}" || die
 
-       if multilib_is_native_abi && use chromium; then
+       if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then
                einfo "Configuring for Chromium"
                mkdir -p ../chromium || die
                pushd ../chromium >/dev/null || die
@@ -472,10 +476,14 @@ multilib_src_compile() {
                done
 
                if use chromium; then
-                       einfo "Compiling for Chromium"
-                       pushd ../chromium >/dev/null || die
-                       emake V=1 libffmpeg
-                       popd >/dev/null || die
+                       if build_separate_libffmpeg; then
+                               einfo "Compiling for Chromium"
+                               pushd ../chromium >/dev/null || die
+                               emake V=1 libffmpeg
+                               popd >/dev/null || die
+                       else
+                               emake V=1 libffmpeg
+                       fi
                fi
        fi
 }
@@ -491,10 +499,14 @@ multilib_src_install() {
                done
 
                if use chromium; then
-                       einfo "Installing for Chromium"
-                       pushd ../chromium >/dev/null || die
-                       emake V=1 DESTDIR="${D}" install-libffmpeg
-                       popd >/dev/null || die
+                       if build_separate_libffmpeg; then
+                               einfo "Installing for Chromium"
+                               pushd ../chromium >/dev/null || die
+                               emake V=1 DESTDIR="${D}" install-libffmpeg
+                               popd >/dev/null || die
+                       else
+                               emake V=1 DESTDIR="${D}" install-libffmpeg
+                       fi
                fi
        fi
 }
index 0e284c3f051314f75f1cdb4fdd21fd7a87ac4169..8e011cb6e0b579f17e8c9d7d82944fc9bd0ccf0b 100644 (file)
@@ -311,6 +311,10 @@ MULTILIB_WRAPPED_HEADERS=(
        /usr/include/libavutil/avconfig.h
 )
 
+build_separate_libffmpeg() {
+       use opencl
+}
+
 src_prepare() {
        if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot
                export revision=git-N-${FFMPEG_REVISION}
@@ -447,7 +451,7 @@ multilib_src_configure() {
        echo "${@}"
        "${@}" || die
 
-       if multilib_is_native_abi && use chromium; then
+       if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then
                einfo "Configuring for Chromium"
                mkdir -p ../chromium || die
                pushd ../chromium >/dev/null || die
@@ -473,10 +477,14 @@ multilib_src_compile() {
                done
 
                if use chromium; then
-                       einfo "Compiling for Chromium"
-                       pushd ../chromium >/dev/null || die
-                       emake V=1 libffmpeg
-                       popd >/dev/null || die
+                       if build_separate_libffmpeg; then
+                               einfo "Compiling for Chromium"
+                               pushd ../chromium >/dev/null || die
+                               emake V=1 libffmpeg
+                               popd >/dev/null || die
+                       else
+                               emake V=1 libffmpeg
+                       fi
                fi
        fi
 }
@@ -492,10 +500,14 @@ multilib_src_install() {
                done
 
                if use chromium; then
-                       einfo "Installing for Chromium"
-                       pushd ../chromium >/dev/null || die
-                       emake V=1 DESTDIR="${D}" install-libffmpeg
-                       popd >/dev/null || die
+                       if build_separate_libffmpeg; then
+                               einfo "Installing for Chromium"
+                               pushd ../chromium >/dev/null || die
+                               emake V=1 DESTDIR="${D}" install-libffmpeg
+                               popd >/dev/null || die
+                       else
+                               emake V=1 DESTDIR="${D}" install-libffmpeg
+                       fi
                fi
        fi
 }
index 1b1172dce71af974d98cd9c5adab5b8177cbea5d..f9bb47a5c71335ab3167c186cc2b766e965b7db0 100644 (file)
@@ -312,6 +312,10 @@ MULTILIB_WRAPPED_HEADERS=(
        /usr/include/libavutil/avconfig.h
 )
 
+build_separate_libffmpeg() {
+       use opencl
+}
+
 src_prepare() {
        if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot
                export revision=git-N-${FFMPEG_REVISION}
@@ -452,7 +456,7 @@ multilib_src_configure() {
        echo "${@}"
        "${@}" || die
 
-       if multilib_is_native_abi && use chromium; then
+       if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then
                einfo "Configuring for Chromium"
                mkdir -p ../chromium || die
                pushd ../chromium >/dev/null || die
@@ -478,10 +482,14 @@ multilib_src_compile() {
                done
 
                if use chromium; then
-                       einfo "Compiling for Chromium"
-                       pushd ../chromium >/dev/null || die
-                       emake V=1 libffmpeg
-                       popd >/dev/null || die
+                       if build_separate_libffmpeg; then
+                               einfo "Compiling for Chromium"
+                               pushd ../chromium >/dev/null || die
+                               emake V=1 libffmpeg
+                               popd >/dev/null || die
+                       else
+                               emake V=1 libffmpeg
+                       fi
                fi
        fi
 }
@@ -497,10 +505,14 @@ multilib_src_install() {
                done
 
                if use chromium; then
-                       einfo "Installing for Chromium"
-                       pushd ../chromium >/dev/null || die
-                       emake V=1 DESTDIR="${D}" install-libffmpeg
-                       popd >/dev/null || die
+                       if build_separate_libffmpeg; then
+                               einfo "Installing for Chromium"
+                               pushd ../chromium >/dev/null || die
+                               emake V=1 DESTDIR="${D}" install-libffmpeg
+                               popd >/dev/null || die
+                       else
+                               emake V=1 DESTDIR="${D}" install-libffmpeg
+                       fi
                fi
        fi
 }
index b3739eb76f8e740e430f39dd43ae2ea339e38882..1e84ce7986245e8be321897a886665c9a84c0fa4 100644 (file)
@@ -311,6 +311,10 @@ MULTILIB_WRAPPED_HEADERS=(
        /usr/include/libavutil/avconfig.h
 )
 
+build_separate_libffmpeg() {
+       use opencl
+}
+
 src_prepare() {
        if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot
                export revision=git-N-${FFMPEG_REVISION}
@@ -451,7 +455,7 @@ multilib_src_configure() {
        echo "${@}"
        "${@}" || die
 
-       if multilib_is_native_abi && use chromium; then
+       if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then
                einfo "Configuring for Chromium"
                mkdir -p ../chromium || die
                pushd ../chromium >/dev/null || die
@@ -477,10 +481,14 @@ multilib_src_compile() {
                done
 
                if use chromium; then
-                       einfo "Compiling for Chromium"
-                       pushd ../chromium >/dev/null || die
-                       emake V=1 libffmpeg
-                       popd >/dev/null || die
+                       if build_separate_libffmpeg; then
+                               einfo "Compiling for Chromium"
+                               pushd ../chromium >/dev/null || die
+                               emake V=1 libffmpeg
+                               popd >/dev/null || die
+                       else
+                               emake V=1 libffmpeg
+                       fi
                fi
        fi
 }
@@ -496,10 +504,14 @@ multilib_src_install() {
                done
 
                if use chromium; then
-                       einfo "Installing for Chromium"
-                       pushd ../chromium >/dev/null || die
-                       emake V=1 DESTDIR="${D}" install-libffmpeg
-                       popd >/dev/null || die
+                       if build_separate_libffmpeg; then
+                               einfo "Installing for Chromium"
+                               pushd ../chromium >/dev/null || die
+                               emake V=1 DESTDIR="${D}" install-libffmpeg
+                               popd >/dev/null || die
+                       else
+                               emake V=1 DESTDIR="${D}" install-libffmpeg
+                       fi
                fi
        fi
 }