commit:     b7f6501ae215d528efc8fcd074135b1ab9545528
Author:     Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 21 03:00:46 2024 +0000
Commit:     Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Thu Mar 21 03:01:28 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b7f6501a

www-client/opera-developer: update proprietary-codecs

Enable the use of media-video/ffmpeg or
media-video/ffmpeg-chromium to provide proprietary codecs
support based on USE=ffmpeg-chromium.

Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>

 www-client/opera-developer/Manifest                   |  1 -
 www-client/opera-developer/metadata.xml               |  1 +
 ....ebuild => opera-developer-109.0.5097.0-r1.ebuild} | 19 ++++++++++++-------
 ....ebuild => opera-developer-110.0.5104.0-r1.ebuild} | 19 ++++++++++++-------
 ....ebuild => opera-developer-110.0.5111.0-r1.ebuild} | 19 ++++++++++++-------
 5 files changed, 37 insertions(+), 22 deletions(-)

diff --git a/www-client/opera-developer/Manifest 
b/www-client/opera-developer/Manifest
index ffea3fac427c..f7e265913b26 100644
--- a/www-client/opera-developer/Manifest
+++ b/www-client/opera-developer/Manifest
@@ -1,4 +1,3 @@
 DIST opera-developer_109.0.5097.0_amd64.deb 115199092 BLAKE2B 
3fc904daa984bd9732b01176ffb412ecf41d6557ff108689e9327c5ba6b062717f5205423d4d8fe86ad74385f31cc1209bb47bb32fd76b054686512b23d8a35a
 SHA512 
131beba74262ea69f769563704482675248289cba82c400640d019891c356d94f94f8acb6901fb3a8fc6f571b36218dc12f65186d5dae78f45f18e3aa86d1db1
 DIST opera-developer_110.0.5104.0_amd64.deb 115270084 BLAKE2B 
8af1ec0b96e3af184b6cd33e9b87632305c6eb8a318b795a6764cce6a4a5d6813ac6c7d73ea073a930fc6dc1fba53d5f71199f631509261a67fcaccd01f71922
 SHA512 
cd693e512b0b80e0f7a10f2894649e39bdeb26e0a572a2b8d1eb07c0745329229981fc72fe7c0b96f9f9cec48db354e56b9d23cba642b6872fa844bb3ecdeaa0
 DIST opera-developer_110.0.5111.0_amd64.deb 115386872 BLAKE2B 
003a661b543fe13fc39a155d4d1d26af9e08158a65f64d5d6b99857dd6d0889b04bd8eb767fd83fc9fea200fd6f3f501d88602e974dcd04dd1c52fb84103b9ee
 SHA512 
214798e9e5ba6c21c9f8893f29c5745d9315067b262ba6024442dc241bc05f67433c57b6005a2062767dce735142044e03ea290666dc611ba89ce5bb4041b251
-DIST opera-ffmpeg-codecs-114.0.5735.9.tar.xz 1315192 BLAKE2B 
ef9a0cfc8c30ac0a837863644f3c2d5e78059575e2b8f6fda9253304f4815a39d021602e802dac7e1d5a1685aa5015a02019c4a0399f0bdc81136f956cc1d55f
 SHA512 
bdad66bd5d238bdeb81a4e2a956f0a814633360f05c7bed2161df9506d2ccc444445ba452cc8974c755fe0d3f46adceb90324a472a5dac72e9c65391ae7a841c

diff --git a/www-client/opera-developer/metadata.xml 
b/www-client/opera-developer/metadata.xml
index b26bda26dc59..43f810908023 100644
--- a/www-client/opera-developer/metadata.xml
+++ b/www-client/opera-developer/metadata.xml
@@ -6,6 +6,7 @@
                <name>Chromium in Gentoo Project</name>
        </maintainer>
        <use>
+               <flag name="ffmpeg-chromium">Use Chromium FFmpeg fork 
(<pkg>media-video/ffmpeg-chromium</pkg>) rather than mainline FFmpeg 
(<pkg>media-video/ffmpeg</pkg>)</flag>
                <flag name="proprietary-codecs">Enable codecs for 
patent-encumbered audio and video formats.</flag>
        </use>
 </pkgmetadata>

diff --git a/www-client/opera-developer/opera-developer-110.0.5111.0.ebuild 
b/www-client/opera-developer/opera-developer-109.0.5097.0-r1.ebuild
similarity index 84%
rename from www-client/opera-developer/opera-developer-110.0.5111.0.ebuild
rename to www-client/opera-developer/opera-developer-109.0.5097.0-r1.ebuild
index 4580a368fd6c..ad276bb735ac 100644
--- a/www-client/opera-developer/opera-developer-110.0.5111.0.ebuild
+++ b/www-client/opera-developer/opera-developer-109.0.5097.0-r1.ebuild
@@ -39,17 +39,17 @@ else
        MY_PN=${PN}
 fi
 
-FFMPEG_VERSION="114.0.5735.9"
-SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}
-       proprietary-codecs? (
-               
mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-${FFMPEG_VERSION}.tar.xz
-       )"
+# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches 
this Chromium version
+# used to select the correct ffmpeg-chromium version (corresponds to a major 
version of Chromium)
+# Does not need to be updated for every new version of Opera, only when it 
breaks
+CHROMIUM_VERSION="121"
+SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}"
 S=${WORKDIR}
 
 LICENSE="OPERA-2018"
 SLOT="0"
 KEYWORDS="-* ~amd64"
-IUSE="+proprietary-codecs +suid qt5 qt6"
+IUSE="+ffmpeg-chromium +proprietary-codecs +suid qt5 qt6"
 RESTRICT="bindist mirror strip"
 
 RDEPEND="
@@ -79,6 +79,10 @@ RDEPEND="
        x11-libs/libXfixes
        x11-libs/libXrandr
        x11-libs/pango
+       proprietary-codecs? (
+               !ffmpeg-chromium? ( 
>=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] )
+               ffmpeg-chromium? ( 
media-video/ffmpeg-chromium:${CHROMIUM_VERSION} )
+       )
        qt5? (
                dev-qt/qtcore:5
                dev-qt/qtgui:5[X]
@@ -151,7 +155,8 @@ src_install() {
        # install proprietary codecs
        rm "${OPERA_HOME}/resources/ffmpeg_preload_config.json" || die
        if use proprietary-codecs; then
-               mv lib_extra "${OPERA_HOME}"
+               dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex 
ffmpeg-chromium .${CHROMIUM_VERSION} "") \
+                         /${OPERA_HOME}/libffmpeg.so
        fi
 
        if ! use qt5; then

diff --git a/www-client/opera-developer/opera-developer-109.0.5097.0.ebuild 
b/www-client/opera-developer/opera-developer-110.0.5104.0-r1.ebuild
similarity index 84%
rename from www-client/opera-developer/opera-developer-109.0.5097.0.ebuild
rename to www-client/opera-developer/opera-developer-110.0.5104.0-r1.ebuild
index 4580a368fd6c..ad276bb735ac 100644
--- a/www-client/opera-developer/opera-developer-109.0.5097.0.ebuild
+++ b/www-client/opera-developer/opera-developer-110.0.5104.0-r1.ebuild
@@ -39,17 +39,17 @@ else
        MY_PN=${PN}
 fi
 
-FFMPEG_VERSION="114.0.5735.9"
-SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}
-       proprietary-codecs? (
-               
mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-${FFMPEG_VERSION}.tar.xz
-       )"
+# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches 
this Chromium version
+# used to select the correct ffmpeg-chromium version (corresponds to a major 
version of Chromium)
+# Does not need to be updated for every new version of Opera, only when it 
breaks
+CHROMIUM_VERSION="121"
+SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}"
 S=${WORKDIR}
 
 LICENSE="OPERA-2018"
 SLOT="0"
 KEYWORDS="-* ~amd64"
-IUSE="+proprietary-codecs +suid qt5 qt6"
+IUSE="+ffmpeg-chromium +proprietary-codecs +suid qt5 qt6"
 RESTRICT="bindist mirror strip"
 
 RDEPEND="
@@ -79,6 +79,10 @@ RDEPEND="
        x11-libs/libXfixes
        x11-libs/libXrandr
        x11-libs/pango
+       proprietary-codecs? (
+               !ffmpeg-chromium? ( 
>=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] )
+               ffmpeg-chromium? ( 
media-video/ffmpeg-chromium:${CHROMIUM_VERSION} )
+       )
        qt5? (
                dev-qt/qtcore:5
                dev-qt/qtgui:5[X]
@@ -151,7 +155,8 @@ src_install() {
        # install proprietary codecs
        rm "${OPERA_HOME}/resources/ffmpeg_preload_config.json" || die
        if use proprietary-codecs; then
-               mv lib_extra "${OPERA_HOME}"
+               dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex 
ffmpeg-chromium .${CHROMIUM_VERSION} "") \
+                         /${OPERA_HOME}/libffmpeg.so
        fi
 
        if ! use qt5; then

diff --git a/www-client/opera-developer/opera-developer-110.0.5104.0.ebuild 
b/www-client/opera-developer/opera-developer-110.0.5111.0-r1.ebuild
similarity index 84%
rename from www-client/opera-developer/opera-developer-110.0.5104.0.ebuild
rename to www-client/opera-developer/opera-developer-110.0.5111.0-r1.ebuild
index 4580a368fd6c..ad276bb735ac 100644
--- a/www-client/opera-developer/opera-developer-110.0.5104.0.ebuild
+++ b/www-client/opera-developer/opera-developer-110.0.5111.0-r1.ebuild
@@ -39,17 +39,17 @@ else
        MY_PN=${PN}
 fi
 
-FFMPEG_VERSION="114.0.5735.9"
-SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}
-       proprietary-codecs? (
-               
mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-${FFMPEG_VERSION}.tar.xz
-       )"
+# Commit ref from `strings libffmpeg.so | grep -F "FFmpeg version"` matches 
this Chromium version
+# used to select the correct ffmpeg-chromium version (corresponds to a major 
version of Chromium)
+# Does not need to be updated for every new version of Opera, only when it 
breaks
+CHROMIUM_VERSION="121"
+SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}"
 S=${WORKDIR}
 
 LICENSE="OPERA-2018"
 SLOT="0"
 KEYWORDS="-* ~amd64"
-IUSE="+proprietary-codecs +suid qt5 qt6"
+IUSE="+ffmpeg-chromium +proprietary-codecs +suid qt5 qt6"
 RESTRICT="bindist mirror strip"
 
 RDEPEND="
@@ -79,6 +79,10 @@ RDEPEND="
        x11-libs/libXfixes
        x11-libs/libXrandr
        x11-libs/pango
+       proprietary-codecs? (
+               !ffmpeg-chromium? ( 
>=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] )
+               ffmpeg-chromium? ( 
media-video/ffmpeg-chromium:${CHROMIUM_VERSION} )
+       )
        qt5? (
                dev-qt/qtcore:5
                dev-qt/qtgui:5[X]
@@ -151,7 +155,8 @@ src_install() {
        # install proprietary codecs
        rm "${OPERA_HOME}/resources/ffmpeg_preload_config.json" || die
        if use proprietary-codecs; then
-               mv lib_extra "${OPERA_HOME}"
+               dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex 
ffmpeg-chromium .${CHROMIUM_VERSION} "") \
+                         /${OPERA_HOME}/libffmpeg.so
        fi
 
        if ! use qt5; then

Reply via email to