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
}