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 }