diff options
author | Matt Jolly <kangie@gentoo.org> | 2024-04-10 11:58:01 +1000 |
---|---|---|
committer | Matt Jolly <kangie@gentoo.org> | 2024-04-10 15:40:55 +1000 |
commit | ed8c592b0534a7bf4ca700c523d051184c314257 (patch) | |
tree | 2c64da5fd30834227c4e947d3a27fffd7a0b246e /www-client | |
parent | www-client/microsoft-edge-dev: remove old (diff) | |
download | gentoo-ed8c592b0534a7bf4ca700c523d051184c314257.tar.gz gentoo-ed8c592b0534a7bf4ca700c523d051184c314257.tar.bz2 gentoo-ed8c592b0534a7bf4ca700c523d051184c314257.zip |
www-client/opera-developer: add 111.0.5131.0
Opera 110/111 is based on Chromium 124 and therefore should
depend on that version of media-video/ffmpeg-chromium.
Signed-off-by: Matt Jolly <kangie@gentoo.org>
Diffstat (limited to 'www-client')
-rw-r--r-- | www-client/opera-developer/Manifest | 1 | ||||
-rw-r--r-- | www-client/opera-developer/opera-developer-111.0.5131.0.ebuild | 173 |
2 files changed, 174 insertions, 0 deletions
diff --git a/www-client/opera-developer/Manifest b/www-client/opera-developer/Manifest index 3d53a9a6da8a..19876d2cf926 100644 --- a/www-client/opera-developer/Manifest +++ b/www-client/opera-developer/Manifest @@ -1,3 +1,4 @@ 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-developer_110.0.5117.0_amd64.deb 109939620 BLAKE2B 1205915c9013573fad96703b92f8a66ce1fee8948d78e37738a6a7715536b6187c01f487ee8139ed921c5de7cb8245f6bcb71ed0ba539ce960130d7e04d30331 SHA512 685bc8f7ac19d2add873df688f5c330047c2d3efcd5e554436ac15eab224d507f6fdc135756143fcd1b0af5af19b6f38d05bd879e275705b3bb9aca5851d38c6 +DIST opera-developer_111.0.5131.0_amd64.deb 110259440 BLAKE2B 68a4ff3d9fd5c11efe489cbb63bc956b42ff9c06f623864a35f75f19eb5c7c49aaa94664b955765aeebfd6a6c7c402f8deaa57e4814c410e56176c643f77888a SHA512 95157de703ed8bd01e9cacb6bae04d50719aebcba436d8cd6ef58031ae2743f408e31df2e7e5a38c436e74f2c93fd888c5610336de6df5425aa61533f8ad6373 diff --git a/www-client/opera-developer/opera-developer-111.0.5131.0.ebuild b/www-client/opera-developer/opera-developer-111.0.5131.0.ebuild new file mode 100644 index 000000000000..cfafbce68c18 --- /dev/null +++ b/www-client/opera-developer/opera-developer-111.0.5131.0.ebuild @@ -0,0 +1,173 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CHROMIUM_LANGS=" + bg bn ca cs da de el en-GB en-US es-419 es fil fi fr hi hr hu id + it ja ko lt lv ms nb nl pl pt-BR pt-PT ro ru sk sr sv sw ta te th tr uk vi + zh-CN zh-TW +" + +# These are intended for ebuild maintainer use to force RPM if DEB is not available. +: ${OPERA_FORCE_RPM=no} + +inherit chromium-2 pax-utils xdg + +if [[ ${OPERA_FORCE_RPM} == yes ]]; then + inherit rpm + OPERA_ARCHIVE_EXT="rpm" +else + inherit unpacker + OPERA_ARCHIVE_EXT="deb" +fi + +DESCRIPTION="A fast and secure web browser" +HOMEPAGE="https://www.opera.com/" + +SRC_URI_BASE=( + "https://download1.operacdn.com/pub/${PN}" + "https://download2.operacdn.com/pub/${PN}" + "https://download3.operacdn.com/pub/${PN}" + "https://download4.operacdn.com/pub/${PN}" +) + +if [[ ${PN} == opera ]]; then + MY_PN=${PN}-stable + SRC_URI_BASE=( "${SRC_URI_BASE[@]/%//desktop}" ) +else + MY_PN=${PN} +fi + +# 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="124" +SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}}" +S=${WORKDIR} + +LICENSE="OPERA-2018" +SLOT="0" +KEYWORDS="-* ~amd64" +IUSE="+ffmpeg-chromium +proprietary-codecs +suid qt5 qt6" +RESTRICT="bindist mirror strip" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + gnome-base/gsettings-desktop-schemas + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl + net-print/cups + sys-apps/dbus + sys-libs/glibc + x11-libs/cairo + x11-libs/gdk-pixbuf + x11-libs/gtk+:3 + x11-libs/libdrm + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + 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] + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) +" + +QA_PREBUILT="*" +OPERA_HOME="opt/opera${PN#opera}" + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "opera only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + if [[ ${OPERA_FORCE_RPM} == yes ]]; then + rpm_src_unpack "${A[0]}" + else + unpacker + fi + + # move to /opt, bug #573052 + mkdir -p "${OPERA_HOME%${PN}}" + if [[ ${OPERA_FORCE_RPM} == yes ]]; then + mv "usr/lib64/${PN}" "${OPERA_HOME%${PN}}" || die + else + mv "usr/lib/x86_64-linux-gnu/${PN}" "${OPERA_HOME%${PN}}" || die + fi + rm -r "usr/lib" || die + + # disable auto update + rm "${OPERA_HOME}/${PN%-*}_autoupdate"{,.licenses,.version} || die + + if [[ ${OPERA_FORCE_RPM} == yes ]]; then + rm "${OPERA_HOME}/setup_repo.sh" || die + else + rm -r "usr/share/lintian" || die + + # fix docs + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + gzip -d usr/share/doc/${PF}/changelog.gz || die + fi + + # fix desktop file + sed -i \ + -e 's|^TargetEnvironment|X-&|g' \ + usr/share/applications/${PN}.desktop || die + + # remove unused language packs + pushd "${OPERA_HOME}/localization" > /dev/null || die + chromium_remove_language_paks + popd > /dev/null || die + + # setup opera symlink + rm "usr/bin/${PN}" || die + dosym "../../${OPERA_HOME}/${PN}" "/usr/bin/${PN}" + + # install proprietary codecs + rm "${OPERA_HOME}/resources/ffmpeg_preload_config.json" || die + if use proprietary-codecs; then + dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \ + /${OPERA_HOME}/libffmpeg.so + fi + + if ! use qt5; then + rm "${OPERA_HOME}/libqt5_shim.so" || die + fi + if ! use qt6; then + rm "${OPERA_HOME}/libqt6_shim.so" || die + fi + + # pax mark opera, bug #562038 + pax-mark m "${OPERA_HOME}/opera" + # enable suid sandbox if requested + use suid && fperms 4711 "/${OPERA_HOME}/opera_sandbox" +} |