commit:     f348b5c168a446787b6b1abba235b520705f7fce
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sun Dec  2 21:38:57 2018 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sun Dec  2 21:41:19 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f348b5c1

media-video/ffmpeg: Use main build for Chromium where possible in v4+

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 <AT> gentoo.org>

 media-video/ffmpeg/ffmpeg-4.0.2.ebuild | 30 +++++++++++++++++++++---------
 media-video/ffmpeg/ffmpeg-4.0.3.ebuild | 30 +++++++++++++++++++++---------
 media-video/ffmpeg/ffmpeg-4.1.ebuild   | 30 +++++++++++++++++++++---------
 media-video/ffmpeg/ffmpeg-9999.ebuild  | 30 +++++++++++++++++++++---------
 4 files changed, 84 insertions(+), 36 deletions(-)

diff --git a/media-video/ffmpeg/ffmpeg-4.0.2.ebuild 
b/media-video/ffmpeg/ffmpeg-4.0.2.ebuild
index 3a5a70b3e2b..4cb26fd9047 100644
--- a/media-video/ffmpeg/ffmpeg-4.0.2.ebuild
+++ b/media-video/ffmpeg/ffmpeg-4.0.2.ebuild
@@ -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
 }

diff --git a/media-video/ffmpeg/ffmpeg-4.0.3.ebuild 
b/media-video/ffmpeg/ffmpeg-4.0.3.ebuild
index 0e284c3f051..8e011cb6e0b 100644
--- a/media-video/ffmpeg/ffmpeg-4.0.3.ebuild
+++ b/media-video/ffmpeg/ffmpeg-4.0.3.ebuild
@@ -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
 }

diff --git a/media-video/ffmpeg/ffmpeg-4.1.ebuild 
b/media-video/ffmpeg/ffmpeg-4.1.ebuild
index 1b1172dce71..f9bb47a5c71 100644
--- a/media-video/ffmpeg/ffmpeg-4.1.ebuild
+++ b/media-video/ffmpeg/ffmpeg-4.1.ebuild
@@ -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
 }

diff --git a/media-video/ffmpeg/ffmpeg-9999.ebuild 
b/media-video/ffmpeg/ffmpeg-9999.ebuild
index b3739eb76f8..1e84ce79862 100644
--- a/media-video/ffmpeg/ffmpeg-9999.ebuild
+++ b/media-video/ffmpeg/ffmpeg-9999.ebuild
@@ -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
 }

Reply via email to