From b92911550490e2da121ec4b02d3cf60a2d31a17d Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 16 Apr 2024 12:04:26 +0100 Subject: gentoo auto-resync : 16:04:2024 - 12:04:26 --- www-client/Manifest.gz | Bin 6038 -> 6035 bytes www-client/chromium/Manifest | 4 +- www-client/chromium/chromium-124.0.6367.29.ebuild | 1437 -------------------- www-client/chromium/chromium-124.0.6367.60.ebuild | 1437 ++++++++++++++++++++ www-client/firefox-bin/Manifest | 99 ++ www-client/firefox-bin/firefox-bin-115.10.0.ebuild | 378 +++++ www-client/firefox/Manifest | 4 +- www-client/firefox/firefox-115.9.1.ebuild | 4 +- www-client/firefox/firefox-124.0.2.ebuild | 7 +- www-client/google-chrome-beta/Manifest | 4 +- .../google-chrome-beta-124.0.6367.29.ebuild | 132 -- .../google-chrome-beta-124.0.6367.60.ebuild | 132 ++ www-client/microsoft-edge-beta/Manifest | 4 +- .../microsoft-edge-beta-124.0.2478.10.ebuild | 126 -- .../microsoft-edge-beta-124.0.2478.39.ebuild | 126 ++ www-client/microsoft-edge/Manifest | 4 +- .../microsoft-edge-123.0.2420.81.ebuild | 126 -- .../microsoft-edge-123.0.2420.97.ebuild | 126 ++ www-client/opera-developer/Manifest | 4 +- .../opera-developer-110.0.5111.0-r1.ebuild | 173 --- .../opera-developer-111.0.5138.0.ebuild | 173 +++ www-client/opera/Manifest | 4 +- www-client/opera/opera-109.0.5097.38-r1.ebuild | 172 --- www-client/opera/opera-109.0.5097.45.ebuild | 172 +++ 24 files changed, 2663 insertions(+), 2185 deletions(-) delete mode 100644 www-client/chromium/chromium-124.0.6367.29.ebuild create mode 100644 www-client/chromium/chromium-124.0.6367.60.ebuild create mode 100644 www-client/firefox-bin/firefox-bin-115.10.0.ebuild delete mode 100644 www-client/google-chrome-beta/google-chrome-beta-124.0.6367.29.ebuild create mode 100644 www-client/google-chrome-beta/google-chrome-beta-124.0.6367.60.ebuild delete mode 100644 www-client/microsoft-edge-beta/microsoft-edge-beta-124.0.2478.10.ebuild create mode 100644 www-client/microsoft-edge-beta/microsoft-edge-beta-124.0.2478.39.ebuild delete mode 100644 www-client/microsoft-edge/microsoft-edge-123.0.2420.81.ebuild create mode 100644 www-client/microsoft-edge/microsoft-edge-123.0.2420.97.ebuild delete mode 100644 www-client/opera-developer/opera-developer-110.0.5111.0-r1.ebuild create mode 100644 www-client/opera-developer/opera-developer-111.0.5138.0.ebuild delete mode 100644 www-client/opera/opera-109.0.5097.38-r1.ebuild create mode 100644 www-client/opera/opera-109.0.5097.45.ebuild (limited to 'www-client') diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz index 7d84a17603e7..bbf218d28d19 100644 Binary files a/www-client/Manifest.gz and b/www-client/Manifest.gz differ diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest index fbdb494fe44b..3cc7a9ad8ba9 100644 --- a/www-client/chromium/Manifest +++ b/www-client/chromium/Manifest @@ -16,7 +16,7 @@ DIST chromium-123.0.6312.105.tar.xz 3481204616 BLAKE2B 8adbc4a0c96ea53b45b26a48c DIST chromium-123.0.6312.122.tar.xz 3488275388 BLAKE2B 9f7e6c4984a41dbed6849eee08d4f6b8241c86ece0250d67786038980f3d7f208897f42b279c20ffbb965e8e49427ce74e896c34b40390321780b9cc2ba685ce SHA512 23e13d1d5758aa771f4c66e1a55068438e7c4890456dcb0b7a1fc1839b750e612e29d59e744c8b773935757aad01b78a5fecc3e03057a8acbb7e997dbb98f007 DIST chromium-124-clang.tar.xz 50212876 BLAKE2B f4786d4192306c005ce790ec3fc2595055d7a835b438e3c7a101b2c56653ad0ef3eb7b797224c9fe910c7ccd31c7cad50d502411ef220d151a8a1b432610d6b8 SHA512 4fb7bbb8abc9b3ae065b32215327d5de58e27c20c0199a8c243a9bfb89bf95b932ac1c2162e65acc954bde5975373a40ccada346cd0340d89889a12e4b8b96df DIST chromium-124-rust.tar.xz 145977368 BLAKE2B 3fccaed3a1f7b85a303f5e4281d0d7fe0d194f3203751bae4a937f3447260ecfa5141d49b945705d69d36e89901b99fd0955ce0e5bcff0c17c7096fd78782722 SHA512 272ef52b5b201aeb056db7339387504b78252411899ea13ed5829b77bab8c76fd84125d68678064ac204fa48caf16f86ee1d99c64d599d955fb1097d5e46fc51 -DIST chromium-124.0.6367.29.tar.xz 3427137984 BLAKE2B f9932b932a50c640c5ad946b72896eb6feb56fa2abc9c6d90c7f5446993dd44b7f0c9df6e3c0e5faf8c38894e17847e86716aceabf6c5ae3467ea971ce8ed1d1 SHA512 75d881e782253af6582c7de337ad4fcfc304d35707bd77d1a650bd0df311c6a6ea114b48fc6cfb5e0d98bc5d24cef6223441c8b7e3a267db71abd2af2e116721 +DIST chromium-124.0.6367.60.tar.xz 3432734968 BLAKE2B 8203576cf98c6118bf81d6f4440e7cb03d4f25530e9b6fb160c57b0cb38ee70311aa5f7d418d9f2e0ad6d0abe50e0e625022b36dea834e255a5113a034844590 SHA512 3c13cbd65b11d187576dbf40665b4e43397e706fe43516dd280ad238519aa663c490a314ff43a1f2b41c1f757e3d9dbeeefe88e2d0cf312bb149c7737d8713fd DIST chromium-patches-123.tar.bz2 4697 BLAKE2B 8a7dd76edb23afb7b2f65084696bce5d6e54d63ca34c4590052db1086ed0a422b1efde863c4daad4e2526f329eb65276b9ad5406017cd97fb75b1a9556c1f933 SHA512 ea47255deac1893896f64496629d34c7092f266a175b8400fcf4f01b9d038ae240e911bff488558bb28e6f5795bbcf276adf20ed1e0ccb8ac99f9ddd260742f9 DIST chromium-patches-124.tar.bz2 4706 BLAKE2B 5acae233ce7b43669dbf65c368467f94c9a0ec509713ec4510943ede12d495dad1670a5c0a7435e0e16251c7429145e575cb1c9661439ff1c626d709856b6a94 SHA512 3d0d365b6d484def626153b07c0ab187195f27ebada63bd2547b52ed1e2157aab2415a6140c293a140d7a0545ae0fc1cdd431b37fa0c4a212a34c13baccb358c DIST chromium-ppc64le-gentoo-patches-1.tar.xz 5636 BLAKE2B 1d898939df023c59285b27bee552470483ea06375d1ee8d6947b89c5927c23cc7bfec6b49f3b376ece931d11a56f8e2a45791e0f92ad61974fc8c34c1082d89c SHA512 8a71cb007e47cda8e5fe5d185729389e65c48bd322c8ee8b3986bee8571427b959628f2666bda646a3f89ae64197c0957d3626845ff03461dbd5dee4c964d07c @@ -25,5 +25,5 @@ DIST chromium_123.0.6312.105-1raptor0~deb12u1.debian.tar.xz 579484 BLAKE2B 58708 DIST chromium_123.0.6312.86-1raptor0~deb12u1.debian.tar.xz 579124 BLAKE2B a27996211fbed198480e50934e39b0eda4c39e5e78a03f9b290cb90a6c8d7003b6aa828bf35e6744e9d7aa9a922f43baa77d6c9768140baf5749a797c2dad664 SHA512 cfb51fd910f3330100a2dc9ea993d537f126329ff2c590744954a3bfbb712d7bf1d7ad9066628aba5d28c98f2f9b069cf02f8c6048d2ad0a1a376468bdbd9196 EBUILD chromium-123.0.6312.105.ebuild 47472 BLAKE2B 3cc23263a12a0606a5a0111b60b51396855175a487188671c50146c8aa165c9f64f5026ae861a30ce6dd6cfee97d3bb0637e862be47dbecff33eb1a21e63c13d SHA512 2f271bc82a3085cc030c37f3191a105512d6adbcbffbeaac3689a8bf1d9cdae35f35c74fdde6b1219f6c9071e67f1dfbe26c6ac9eb65648d957b40b401ac4e5f EBUILD chromium-123.0.6312.122.ebuild 47522 BLAKE2B 211c504b503838dd4a4de2cb3ffa7ca1ef5d2a9ac828754409da2b298f0f318e75be2e14a287cdcad53e5fc6be3b94f0a39c198127190300650fbb261409f5d2 SHA512 67cc5bd5e8e09d58e72918d4184d2ea13ab96d66231af9fcb8d37367411c937b35d6bbc38213faa23f90994da39e7de0141dae114e103281c32b22030a25a17f -EBUILD chromium-124.0.6367.29.ebuild 47353 BLAKE2B ffccf7e9a8ae3ab3bb5b04d14629d158bdb4460be5a203c337ec2fbd8c5c7764b07bc69ef00f2cf384151415af85e2ddb405b0ae6372f7adf85da8d6dcb83891 SHA512 d9130d681365f1643c143edf865759547701cf5bd59c8e6e89c5582cae8cad86dc6b35cfbd34486b9baa0f3ad16a342b48bfd7b3f487259662bda51ae41e1546 +EBUILD chromium-124.0.6367.60.ebuild 47353 BLAKE2B 214a5662da027cd76be92282c4cd85f7e29f0ff91bdde6a885d3dd6e07926aba7490f55c2ceaec524a4ee4cb1a08fb0e8bf6d0d8d4f9d5bd54d01acbcd09d2a0 SHA512 30d13946a0a65f7e1dc008922745909efa9a0f8de712d98c9195163b12f5096c1897723372e8f402a23e6dff7ca4bdebb4ea4d45d54552e599cba738420e3d19 MISC metadata.xml 2249 BLAKE2B 42e914e06d12ce6ebff4251fa81c28970676bb6cad7e9b1591dbbf79e45a8805fad6ee3bfb7c1b81f47e91e101091fbfcd565a0cc47f8280b9f169559ca61f2c SHA512 a30553dc4878fdb70546a1dbcb8c38ac42b0bddd500e1d09ba5a8414f681b3304e9a6a02e734c1e7eb58e782f30f6390be97b4a22996788e7639e8a9feb01ee9 diff --git a/www-client/chromium/chromium-124.0.6367.29.ebuild b/www-client/chromium/chromium-124.0.6367.29.ebuild deleted file mode 100644 index d516b8b7396f..000000000000 --- a/www-client/chromium/chromium-124.0.6367.29.ebuild +++ /dev/null @@ -1,1437 +0,0 @@ -# Copyright 2009-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..12} ) -PYTHON_REQ_USE="xml(+)" - -# PACKAGING NOTES - -# Google roll their bundled Clang every two weeks, and the bundled Rust -# is rolled regularly and depends on that. While we do our best to build -# with system Clang, we will eventually hit the point where we need to use -# the bundled Clang due to the use of prerelease features. We've been lucky -# enough so far that this hasn't been an issue. - -# We try and avoid forcing the use of the custom/bundled libcxx, but sometimes -# it is unavoidable. Remember to force the use of Clang when this is forced. - -# GCC is _not_ supported upstream, though patches are welcome. We do our -# best to enable builds with GCC but reserve the right to force Clang -# builds if we can't keep up with upstream's changes. Please comment -# when forcing Clang builds so we can track the need for it. - -# GN is bundled with Chromium, but we always use the system version. Remember to -# check for upstream changes to GN and update ebuild (and version below) as required. - -# For binhost users, if USE=bindist is set, we configure Chromium in a way that it is able -# to use proprietary codecs, and so that ffmpeg is an external component (libffmpeg.so), -# then we remove ffmpeg from the image to ensure that the built package is distributable -# (i.e. we don't owe royalties). A suitable libffmpeg.so is symlinked in its place; -# as a result of this, ffmpeg[chromium] or ffmpeg-chromium must be installed on the system. - -# For non-binhost builds, we build the bundled ffmpeg and enable proprietary codecs because there's -# no reason not to. Todo: Re-enable USE=system-ffmpeg. - -# These variables let us easily bound supported major dependency versions in one place. -GCC_MIN_VER=12 -GN_MIN_VER=0.2154 -# Since Google use prerelease llvm we can let any adventurous users try to build with prerelease -# ebuilds; try to keep this up to date with the latest version in the tree. -LLVM_MAX_SLOT=19 -LLVM_MIN_SLOT=17 -RUST_MIN_VER=1.72.0 -# chromium-tools/get-chromium-toolchain-strings.sh -GOOGLE_CLANG_VER=llvmorg-19-init-2941-ga0b3dbaf-22 -GOOGLE_RUST_VER=7168c13579a550f2c47f7eea22f5e226a436cd00-1 - -# https://bugs.chromium.org/p/v8/issues/detail?id=14449 - V8 used in 120 can't build with GCC -# Resolved upstream, requires testing and some backporting I'm sure -: ${CHROMIUM_FORCE_CLANG=yes} -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101227 - Chromium 120: -# webrtc - no matching member function for call to 'emplace' -: ${CHROMIUM_FORCE_LIBCXX=yes} -# 121's 'gcc_link_wrapper.py' currently fails if not using lld due to the addition of rust -: ${CHROMIUM_FORCE_LLD=yes} - -: ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no} - -VIRTUALX_REQUIRED="pgo" - -CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr - sv sw ta te th tr uk ur vi zh-CN zh-TW" - -inherit check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils -inherit python-any-r1 qmake-utils readme.gentoo-r1 toolchain-funcs virtualx xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://www.chromium.org/" -PATCHSET_PPC64="123.0.6312.105-1raptor0~deb12u1" -PATCH_V="${PV%%\.*}" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - system-toolchain? ( - https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 - ) - !system-toolchain? ( - https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${GOOGLE_CLANG_VER}.tar.xz - -> chromium-${PV%%\.*}-clang.tar.xz - https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%???}.tar.xz - -> chromium-${PV%%\.*}-rust.tar.xz - ) - ppc64? ( - https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz - https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz - ) - pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" - -LICENSE="BSD" -SLOT="0/beta" -KEYWORDS="~amd64 ~arm64" -IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd" -IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos libcxx +lto +official pax-kernel pgo +proprietary-codecs pulseaudio" -IUSE+=" qt5 qt6 +screencast selinux +system-toolchain +vaapi +wayland +widevine" -RESTRICT="!bindist? ( bindist )" - -REQUIRED_USE=" - !headless? ( || ( X wayland ) ) - pgo? ( X !wayland ) - qt6? ( qt5 ) - screencast? ( wayland ) - !system-toolchain? ( libcxx ) - ffmpeg-chromium? ( bindist proprietary-codecs ) -" - -COMMON_X_DEPEND=" - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxshmfence:= -" - -COMMON_SNAPSHOT_DEPEND=" - system-icu? ( >=dev-libs/icu-71.1:= ) - >=dev-libs/libxml2-2.12.4:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - dev-libs/libxslt:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - system-png? ( media-libs/libpng:=[-apng(-)] ) - system-zstd? ( >=app-arch/zstd-1.5.5:= ) - >=media-libs/libwebp-0.4.0:= - media-libs/mesa:=[gbm(+)] - >=media-libs/openh264-1.6.0:= - sys-libs/zlib:= - x11-libs/libdrm:= - !headless? ( - dev-libs/glib:2 - >=media-libs/alsa-lib-1.0.19:= - pulseaudio? ( media-libs/libpulse:= ) - sys-apps/pciutils:= - kerberos? ( virtual/krb5 ) - vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) - X? ( - x11-libs/libX11:= - x11-libs/libXext:= - x11-libs/libxcb:= - ) - x11-libs/libxkbcommon:= - wayland? ( - dev-libs/libffi:= - dev-libs/wayland:= - screencast? ( media-video/pipewire:= ) - ) - ) -" - -COMMON_DEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - app-arch/bzip2:= - dev-libs/expat:= - net-misc/curl[ssl] - sys-apps/dbus:= - media-libs/flac:= - sys-libs/zlib:=[minizip] - !headless? ( - X? ( ${COMMON_X_DEPEND} ) - >=app-accessibility/at-spi2-core-2.46.0:2 - media-libs/mesa:=[X?,wayland?] - cups? ( >=net-print/cups-1.3.11:= ) - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - ) -" -RDEPEND="${COMMON_DEPEND} - !headless? ( - || ( - x11-libs/gtk+:3[X?,wayland?] - gui-libs/gtk:4[X?,wayland?] - ) - qt5? ( dev-qt/qtgui:5[X?,wayland?] ) - qt6? ( dev-qt/qtbase:6[X?,wayland?] ) - ) - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - bindist? ( - !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) - ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} ) - ) -" -DEPEND="${COMMON_DEPEND} - !headless? ( - gtk4? ( gui-libs/gtk:4[X?,wayland?] ) - !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) - ) -" - -depend_clang_llvm_version() { - echo "sys-devel/clang:$1" - echo "sys-devel/llvm:$1" - echo "=sys-devel/lld-$1*" -} - -# When passed multiple arguments we assume that -# we want a range of versions, inclusive. -depend_clang_llvm_versions() { - local _v - if [[ $# -eq 1 ]]; then - depend_clang_llvm_version "$1" - elif [[ $# -eq 2 ]]; then - if [[ $1 -eq $2 ]]; then - depend_clang_llvm_version "$1" - fi - echo "|| (" - for ((i=$1; i<=$2; i++)); do - echo "(" - depend_clang_llvm_version "${i}" - echo ")" - done - echo ")" - else - die "depend_clang_llvm_versions() requires 1 or 2 arguments" - fi -} - -BDEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - !headless? ( - qt5? ( dev-qt/qtcore:5 ) - qt6? ( dev-qt/qtbase:6 ) - ) - system-toolchain? ( - libcxx? ( >=sys-devel/clang-${LLVM_MIN_SLOT} ) - lto? ( $(depend_clang_llvm_versions ${LLVM_MIN_SLOT} ${LLVM_MAX_SLOT}) ) - pgo? ( - >=dev-python/selenium-3.141.0 - >=dev-util/web_page_replay_go-20220314 - $(depend_clang_llvm_versions ${LLVM_MIN_SLOT} ${LLVM_MAX_SLOT}) - ) - >=virtual/rust-${RUST_MIN_VER}[profiler(-)] - ) - >=dev-build/gn-${GN_MIN_VER} - dev-lang/perl - >=dev-build/ninja-1.7.2 - >=dev-util/gperf-3.0.3 - dev-vcs/git - >=net-libs/nodejs-7.6.0[inspector] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig -" - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+="system-toolchain? ( >=sys-devel/clang-${LLVM_MIN_SLOT} ) " -fi - -if [[ ${CHROMIUM_FORCE_LLD} == yes ]]; then - BDEPEND+="system-toolchain? ( >=sys-devel/lld-${LLVM_MIN_SLOT} ) " -else - # #918897: Hack for arm64 - BDEPEND+=" arm64? ( >=sys-devel/lld-${LLVM_MIN_SLOT} )" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -needs_clang() { - [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx || use lto || use pgo -} - -needs_lld() { - # #641556: Force lld for lto and pgo builds, otherwise disable - # #918897: Temporary hack w/ use arm64 - [[ ${CHROMIUM_FORCE_LLD} == yes ]] || use lto || use pgo || use arm64 -} - -llvm_check_deps() { - if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then - einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if ( use lto || use pgo ) && ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then - einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -pre_build_checks() { - # Check build requirements: bugs #471810, #541816, #914220 - # We're going to start doing maths here on the size of an unpacked source tarball, - # this should make updates easier as chromium continues to balloon in size. - local BASE_DISK=18 - local EXTRA_DISK=1 - local CHECKREQS_MEMORY="4G" - tc-is-cross-compiler && EXTRA_DISK=2 - if use lto || use pgo; then - CHECKREQS_MEMORY="9G" - tc-is-cross-compiler && EXTRA_DISK=4 - use pgo && EXTRA_DISK=8 - fi - if is-flagq '-g?(gdb)?([1-9])'; then - if use custom-cflags; then - EXTRA_DISK=13 - fi - CHECKREQS_MEMORY="16G" - fi - CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G" - check-reqs_${EBUILD_PHASE_FUNC} -} - -pkg_pretend() { - if [[ ${MERGE_TYPE} != binary ]]; then - # The pre_build_checks are all about compilation resources, no need to run it for a binpkg - pre_build_checks - fi - - if use headless; then - local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland") - for myiuse in ${headless_unused_flags[@]}; do - use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set." - done - fi - - if ! use bindist && use ffmpeg-chromium; then - ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set." - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - # The pre_build_checks are all about compilation resources, no need to run it for a binpkg - pre_build_checks - - if use system-toolchain; then - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge ${GCC_MIN_VER}; then - die "At least gcc ${GCC_MIN_VER} is required" - fi - if use pgo && tc-is-cross-compiler; then - die "The pgo USE flag cannot be used when cross-compiling" - fi - if needs_clang && ! tc-is-clang; then - if tc-is-cross-compiler; then - CPP="${CBUILD}-clang++ -E" - else - CPP="${CHOST}-clang++ -E" - fi - fi - if needs_clang || tc-is-clang; then - if ver_test "$(clang-major-version)" -lt ${LLVM_MIN_SLOT}; then - die "At least Clang ${LLVM_MIN_SLOT} is required" - fi - # Ideally we never see this, but it should help prevent bugs like 927154 - if ver_test "$(clang-major-version)" -gt ${LLVM_MAX_SLOT}; then - die "Clang $(clang-major-version) is too new; ${LLVM_MAX_SLOT} is the highest supported version" - fi - fi - fi - # Users should never hit this, it's purely a development convenience - if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then - die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium" - fi - fi - - chromium_suid_sandbox_check_kernel_config -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # disable global media controls, crashes with libstdc++ - sed -i -e \ - "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \ - "chrome/browser/media/router/media_router_feature.cc" || die - - local PATCHES=( - "${FILESDIR}/chromium-cross-compile.patch" - "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" - "${FILESDIR}/chromium-109-system-zlib.patch" - "${FILESDIR}/chromium-111-InkDropHost-crash.patch" - "${FILESDIR}/chromium-117-system-zstd.patch" - "${FILESDIR}/chromium-124-libwebp-shim-sharpyuv.patch" - ) - - if use system-toolchain; then - # The patchset is really only required if we're using the system-toolchain - PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" ) - # We can't use the bundled compiler builtins - sed -i -e \ - "/if (is_clang && toolchain_has_rust) {/,+2d" \ - build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins" - else - mkdir -p third_party/llvm-build/Release+Asserts || die "Failed to bundle llvm" - ln -s "${WORKDIR}"/bin third_party/llvm-build/Release+Asserts/bin || die "Failed to symlink llvm bin" - ln -s "${WORKDIR}"/lib third_party/llvm-build/Release+Asserts/lib || die "Failed to symlink llvm lib" - echo "${GOOGLE_CLANG_VER}" > third_party/llvm-build/Release+Asserts/cr_build_revision || \ - die "Failed to set clang version" - ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust" - cp "${WORKDIR}"/rust-toolchain/VERSION \ - "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version" - fi - - if use ppc64 ; then - local p - for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do - if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then - eapply "${WORKDIR}/debian/patches/${p}" - fi - done - PATCHES+=( "${WORKDIR}/ppc64le" ) - PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" ) - PATCHES+=( "${WORKDIR}/debian/patches/fixes/blink-fonts-shape-result.patch" ) - fi - - default - - mkdir -p third_party/node/linux/node-linux-x64/bin || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - local keeplibs=( - base/third_party/cityhash - base/third_party/double_conversion - base/third_party/dynamic_annotations - base/third_party/icu - base/third_party/nspr - base/third_party/superfasthash - base/third_party/symbolize - base/third_party/valgrind - base/third_party/xdg_user_dirs - buildtools/third_party/libc++ - buildtools/third_party/libc++abi - chrome/third_party/mozilla_security_manager - courgette/third_party - net/third_party/mozilla_security_manager - net/third_party/nss - net/third_party/quic - net/third_party/uri_template - third_party/abseil-cpp - third_party/angle - third_party/angle/src/common/third_party/xxhash - third_party/angle/src/third_party/ceval - third_party/angle/src/third_party/libXNVCtrl - third_party/angle/src/third_party/volk - third_party/anonymous_tokens - third_party/apple_apsl - third_party/axe-core - third_party/blink - third_party/bidimapper - third_party/boringssl - third_party/boringssl/src/third_party/fiat - third_party/breakpad - third_party/breakpad/breakpad/src/third_party/curl - third_party/brotli - third_party/catapult - third_party/catapult/common/py_vulcanize/third_party/rcssmin - third_party/catapult/common/py_vulcanize/third_party/rjsmin - third_party/catapult/third_party/beautifulsoup4-4.9.3 - third_party/catapult/third_party/html5lib-1.1 - third_party/catapult/third_party/polymer - third_party/catapult/third_party/six - third_party/catapult/tracing/third_party/d3 - third_party/catapult/tracing/third_party/gl-matrix - third_party/catapult/tracing/third_party/jpeg-js - third_party/catapult/tracing/third_party/jszip - third_party/catapult/tracing/third_party/mannwhitneyu - third_party/catapult/tracing/third_party/oboe - third_party/catapult/tracing/third_party/pako - third_party/ced - third_party/cld_3 - third_party/closure_compiler - third_party/content_analysis_sdk - third_party/cpuinfo - third_party/crashpad - third_party/crashpad/crashpad/third_party/lss - third_party/crashpad/crashpad/third_party/zlib - third_party/crc32c - third_party/cros_system_api - third_party/d3 - third_party/dav1d - third_party/dawn - third_party/dawn/third_party/gn/webgpu-cts - third_party/dawn/third_party/khronos - third_party/depot_tools - third_party/devscripts - third_party/devtools-frontend - third_party/devtools-frontend/src/front_end/third_party/acorn - third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json - third_party/devtools-frontend/src/front_end/third_party/axe-core - third_party/devtools-frontend/src/front_end/third_party/chromium - third_party/devtools-frontend/src/front_end/third_party/codemirror - third_party/devtools-frontend/src/front_end/third_party/csp_evaluator - third_party/devtools-frontend/src/front_end/third_party/diff - third_party/devtools-frontend/src/front_end/third_party/i18n - third_party/devtools-frontend/src/front_end/third_party/intl-messageformat - third_party/devtools-frontend/src/front_end/third_party/lighthouse - third_party/devtools-frontend/src/front_end/third_party/lit - third_party/devtools-frontend/src/front_end/third_party/lodash-isequal - third_party/devtools-frontend/src/front_end/third_party/marked - third_party/devtools-frontend/src/front_end/third_party/puppeteer - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs - third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/third_party - third_party/distributed_point_functions - third_party/dom_distiller_js - third_party/eigen3 - third_party/emoji-segmenter - third_party/farmhash - third_party/fdlibm - third_party/ffmpeg - third_party/fft2d - third_party/flatbuffers - third_party/fp16 - third_party/freetype - third_party/fusejs - third_party/fxdiv - third_party/highway - third_party/liburlpattern - third_party/libzip - third_party/lit - third_party/gemmlowp - third_party/google_input_tools - third_party/google_input_tools/third_party/closure_library - third_party/google_input_tools/third_party/closure_library/third_party/closure - third_party/googletest - third_party/hunspell - third_party/iccjpeg - third_party/inspector_protocol - third_party/ipcz - third_party/jinja2 - third_party/jsoncpp - third_party/jstemplate - third_party/khronos - third_party/leveldatabase - third_party/libaddressinput - third_party/libaom - third_party/libaom/source/libaom/third_party/fastfeat - third_party/libaom/source/libaom/third_party/SVT-AV1 - third_party/libaom/source/libaom/third_party/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libevent - third_party/libgav1 - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libudev - third_party/libva_protected_content - third_party/libvpx - third_party/libvpx/source/libvpx/third_party/x86inc - third_party/libwebm - third_party/libx11 - third_party/libxcb-keysyms - third_party/libxml/chromium - third_party/libyuv - third_party/lottie - third_party/lss - third_party/lzma_sdk - third_party/mako - third_party/maldoca - third_party/maldoca/src/third_party/tensorflow_protos - third_party/maldoca/src/third_party/zlibwrapper - third_party/markupsafe - third_party/material_color_utilities - third_party/mesa - third_party/metrics_proto - third_party/minigbm - third_party/modp_b64 - third_party/nasm - third_party/nearby - third_party/neon_2_sse - third_party/node - third_party/omnibox_proto - third_party/one_euro_filter - third_party/openscreen - third_party/openscreen/src/third_party/ - third_party/openscreen/src/third_party/tinycbor/src/src - third_party/opus - third_party/ots - third_party/pdfium - third_party/pdfium/third_party/agg23 - third_party/pdfium/third_party/bigint - third_party/pdfium/third_party/freetype - third_party/pdfium/third_party/lcms - third_party/pdfium/third_party/libopenjpeg - third_party/pdfium/third_party/libtiff - third_party/perfetto - third_party/perfetto/protos/third_party/chromium - third_party/pffft - third_party/ply - third_party/polymer - third_party/private-join-and-compute - third_party/private_membership - third_party/protobuf - third_party/pthreadpool - third_party/puffin - third_party/pyjson5 - third_party/pyyaml - third_party/qcms - third_party/re2 - third_party/rnnoise - third_party/rust - third_party/s2cellid - third_party/securemessage - third_party/selenium-atoms - third_party/shell-encryption - third_party/simplejson - third_party/skia - third_party/skia/include/third_party/vulkan - third_party/skia/third_party/vulkan - third_party/smhasher - third_party/snappy - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/astc-encoder - third_party/swiftshader/third_party/llvm-subzero - third_party/swiftshader/third_party/marl - third_party/swiftshader/third_party/subzero - third_party/swiftshader/third_party/SPIRV-Headers/include/spirv - third_party/swiftshader/third_party/SPIRV-Tools - third_party/tensorflow_models - third_party/tensorflow-text - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/tflite/src/third_party/xla/third_party/tsl - third_party/ruy - third_party/six - third_party/ukey2 - third_party/unrar - third_party/utf - third_party/vulkan - third_party/wayland - third_party/webdriver - third_party/webgpu-cts - third_party/webrtc - third_party/webrtc/common_audio/third_party/ooura - third_party/webrtc/common_audio/third_party/spl_sqrt_floor - third_party/webrtc/modules/third_party/fft - third_party/webrtc/modules/third_party/g711 - third_party/webrtc/modules/third_party/g722 - third_party/webrtc/rtc_base/third_party/base64 - third_party/webrtc/rtc_base/third_party/sigslot - third_party/widevine - third_party/woff2 - third_party/wuffs - third_party/x11proto - third_party/xcbproto - third_party/xnnpack - third_party/zxcvbn-cpp - third_party/zlib/google - url/third_party/mozilla - v8/src/third_party/siphash - v8/src/third_party/valgrind - v8/src/third_party/utf8-decoder - v8/third_party/glibc - v8/third_party/inspector_protocol - v8/third_party/v8 - - # gyp -> gn leftovers - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - - # USE=system-* - if ! use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng ) - fi - - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - - if ! use system-png; then - keeplibs+=( third_party/libpng ) - fi - - if ! use system-zstd; then - keeplibs+=( third_party/zstd ) - fi - - if use libcxx || [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - keeplibs+=( third_party/libc++ ) - fi - - if ! use system-toolchain || [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == yes ]]; then - keeplibs+=( third_party/llvm ) - fi - - # Arch-specific - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - # requires git and clang, bug #832803 - # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh - # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh - # since we're not in a git repo - sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \ - generate_gni.sh || die - ./generate_gni.sh || die - popd >/dev/null || die - - pushd third_party/ffmpeg >/dev/null || die - cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die - cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die - popd >/dev/null || die - fi - - einfo "Unbundling third-party libraries ..." - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -chromium_rust_version_check() { - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - echo $rustc_version -} - -chromium_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - if use system-toolchain && [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == no ]]; then - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if needs_clang && ! tc-is-clang; then - # Force clang since gcc is either broken or build is using libcxx. - if tc-is-cross-compiler; then - CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}" - CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}" - BUILD_CC=${CBUILD}-clang - BUILD_CXX=${CBUILD}-clang++ - else - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - fi - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - if needs_lld ; then - # https://bugs.gentoo.org/918897#c32 - append-ldflags -Wl,--undefined-version - myconf_gn+=" use_lld=true" - else - # This doesn't prevent lld from being used, but rather prevents gn from forcing it - myconf_gn+=" use_lld=false" - fi - - if use lto; then - AR=llvm-ar - NM=llvm-nm - if tc-is-cross-compiler; then - BUILD_AR=llvm-ar - BUILD_NM=llvm-nm - fi - fi - - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\"" - myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" - - # setup cups-config, build system only uses --libs option - if use cups; then - mkdir "${T}/cups-config" || die - cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die - export PATH="${PATH}:${T}/cups-config" - fi - - # Don't inherit PKG_CONFIG_PATH from environment - local -x PKG_CONFIG_PATH= - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - local rustc_ver - rustc_ver=$(chromium_rust_version_check) - if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then - eerror "Rust >=${RUST_MIN_VER} is required" - eerror "Please run 'eselect rust' and select the correct rust version" - die "Selected rust version is too old" - else - einfo "Using rust ${rustc_ver} to build" - fi - if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\"" - else - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\"" - fi - myconf_gn+=" rustc_version=\"${rustc_ver}\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=false" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libwebp - libxml - libxslt - openh264 - zlib - ) - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-png; then - gn_system_libraries+=( libpng ) - fi - if use system-zstd; then - gn_system_libraries+=( zstd ) - fi - - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" - - # Optional dependencies. - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - - if use headless; then - myconf_gn+=" use_cups=false" - myconf_gn+=" use_kerberos=false" - myconf_gn+=" use_pulseaudio=false" - myconf_gn+=" use_vaapi=false" - myconf_gn+=" rtc_use_pipewire=false" - else - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" - myconf_gn+=" gtk_version=$(usex gtk4 4 3)" - fi - - # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of - # using dlopen. This helps with automated detection of ABI mismatches and - # prevents silent errors. - if use pulseaudio; then - myconf_gn+=" link_pulseaudio=true" - fi - - # Non-developer builds of Chromium (for example, non-Chrome browsers, or - # Chromium builds provided by Linux distros) should disable the testing config - myconf_gn+=" disable_fieldtrial_testing_config=true" - - if use system-toolchain; then - myconf_gn+=" use_gold=false" - fi - - # The sysroot is the oldest debian image that chromium supports, we don't need it - myconf_gn+=" use_sysroot=false" - - # This determines whether or not GN uses the bundled libcxx - # default: true - if use libcxx || [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then - myconf_gn+=" use_custom_libcxx=true" - else - myconf_gn+=" use_custom_libcxx=false" - fi - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - if use bindist ; then - # proprietary_codecs just forces Chromium to say that it can use h264/aac, - # the work is still done by ffmpeg. If this is set to no Chromium - # won't be able to load the codec even if the library can handle it - myconf_gn+=" proprietary_codecs=true" - myconf_gn+=" ffmpeg_branding=\"Chrome\"" - # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute - myconf_gn+=" is_component_ffmpeg=true" - else - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - fi - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. The OAuth2 credentials, however, have been left out. - # Those OAuth2 credentials have been broken for quite some time anyway. - # Instead we apply a patch to use the --oauth2-client-id= and - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into - # Chromium without baked-in values. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - filter-flags "-g*" - - # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646. - if [[ ${myarch} == amd64 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a - fi - - if tc-is-gcc; then - # https://bugs.gentoo.org/904455 - local -x CPP="$(tc-getCXX) -E" - # https://bugs.gentoo.org/912381 - filter-lto - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - die "Failed to determine target arch, got '$myarch'." - fi - - # Make sure that -Werror doesn't get added to CFLAGS by the build system. - # Depending on GCC version the warnings are different and we don't want - # the build to fail because of that. - myconf_gn+=" treat_warnings_as_errors=false" - - # Disable fatal linker warnings, bug 506268. - myconf_gn+=" fatal_linker_warnings=false" - - # Disable external code space for V8 for ppc64. It is disabled for ppc64 - # by default, but cross-compiling on amd64 enables it again. - if tc-is-cross-compiler; then - if ! use amd64 && ! use arm64; then - myconf_gn+=" v8_enable_external_code_space=false" - fi - fi - - # Only enabled for clang, but gcc has endian macros too - myconf_gn+=" v8_use_libm_trig_functions=true" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - # Disable unknown warning message from clang. - if tc-is-clang; then - append-flags -Wno-unknown-warning-option - if tc-is-cross-compiler; then - export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" - export BUILD_CFLAGS+=" -Wno-unknown-warning-option" - fi - fi - - # Explicitly disable ICU data file support for system-icu/headless builds. - if use system-icu || use headless; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Don't need nocompile checks and GN crashes with our config - myconf_gn+=" enable_nocompile_tests=false" - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false" - myconf_gn+=" use_glib=false use_gio=false" - myconf_gn+=" use_pangocairo=false use_alsa=false" - myconf_gn+=" use_libpci=false use_udev=false" - myconf_gn+=" enable_print_preview=false" - myconf_gn+=" enable_remoting=false" - else - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - if use qt5 || use qt6; then - local cbuild_libdir=$(get_libdir) - if tc-is-cross-compiler; then - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt) - cbuild_libdir=${cbuild_libdir:2} - cbuild_libdir=${cbuild_libdir/% } - fi - if use qt5; then - if tc-is-cross-compiler; then - myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\"" - else - myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\"" - fi - fi - if use qt6; then - myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" - fi - - myconf_gn+=" use_qt=true" - myconf_gn+=" use_qt6=$(usex qt6 true false)" - else - myconf_gn+=" use_qt=false" - fi - myconf_gn+=" ozone_platform_x11=$(usex X true false)" - myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)" - myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")" - use wayland && myconf_gn+=" use_system_libffi=true" - fi - - # Results in undefined references in chrome linking, may require CFI to work - if use arm64; then - myconf_gn+=" arm_control_flow_integrity=\"none\"" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=$(usex lto true false)" - myconf_gn+=" thin_lto_enable_optimizations=$(usex lto true false)" - if use official; then - # Allow building against system libraries in official builds - sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ - tools/generate_shim_headers/generate_shim_headers.py || die - # Disable CFI: unsupported for GCC, requires clang+lto+lld - myconf_gn+=" is_cfi=false" - # Don't add symbols to build - myconf_gn+=" symbol_level=0" - fi - - if use pgo; then - myconf_gn+=" chrome_pgo_phase=${1}" - if [[ "$1" == "2" ]]; then - myconf_gn+=" pgo_data_path=\"${2}\"" - fi - else - # Disable PGO - myconf_gn+=" chrome_pgo_phase=0" - fi - - # user CXXFLAGS might overwrite -march=armv8-a+crc+crypto, bug #851639 - if use arm64 && tc-is-gcc; then - sed -i '/^#if HAVE_ARM64_CRC32C/a #pragma GCC target ("+crc+crypto")' \ - third_party/crc32c/src/src/crc32c_arm64.cc || die - fi - - # skipping typecheck is only supported on amd64, bug #876157 - if ! use amd64; then - myconf_gn+=" devtools_skip_typecheck=false" - fi - - einfo "Configuring Chromium ..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_configure() { - chromium_configure $(usex pgo 1 0) -} - -chromium_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - # Build mksnapshot and pax-mark it. - if use pax-kernel; then - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - fi - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver chrome_sandbox - - pax-mark m out/Release/chrome - - if ! use system-toolchain; then - QA_FLAGS_IGNORED=" - usr/lib64/chromium-browser/chrome - usr/lib64/chromium-browser/chrome-sandbox - usr/lib64/chromium-browser/chromedriver - usr/lib64/chromium-browser/chrome_crashpad_handler - usr/lib64/chromium-browser/libEGL.so - usr/lib64/chromium-browser/libGLESv2.so - usr/lib64/chromium-browser/libVkICD_mock_icd.so - usr/lib64/chromium-browser/libVkLayer_khronos_validation.so - usr/lib64/chromium-browser/libqt5_shim.so - usr/lib64/chromium-browser/libvk_swiftshader.so - usr/lib64/chromium-browser/libvulkan.so.1 - " - fi -} - -# This function is called from virtx, and must always return so that Xvfb -# session isn't left running. If we return 1, virtx will call die(). -chromium_profile() { - einfo "Profiling for PGO" - - pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 - - # Remove old profdata in case profiling was interrupted. - rm -rf "${1}" || return 1 - - if ! "${EPYTHON}" ./chromium_profiler.py \ - --chrome-executable "${S}/out/Release/chrome" \ - --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ - --add-arg no-sandbox --add-arg disable-dev-shm-usage \ - --profile-output "${1}"; then - eerror "Profiling failed" - return 1 - fi - - popd >/dev/null || return 1 -} - -src_compile() { - if use pgo; then - local profdata - - profdata="${WORKDIR}/chromium.profdata" - - if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then - chromium_compile - virtx chromium_profile "$profdata" - - touch "${WORKDIR}/.pgo-profiled" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then - # Remove phase 1 output - rm -r out/Release || die - - chromium_configure 2 "$profdata" - - touch "${WORKDIR}/.pgo-phase-2-configured" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then - chromium_compile - touch "${WORKDIR}/.pgo-phase-2-compiled" || die - fi - else - chromium_compile - fi - - mv out/Release/chromedriver{.unstripped,} || die - - rm -f out/Release/locales/*.pak.info || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build vk_swiftshader_icd.json; bug #827861 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ - out/Release/vk_swiftshader_icd.json || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - ozone_auto_session () { - use X && use wayland && ! use headless && echo true || echo false - } - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - - if use bindist; then - # We built libffmpeg as a component library, but we can't distribute it - # with proprietary codec support. Remove it and make a symlink to the requested - # system library. - rm -f out/Release/libffmpeg.so \ - || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)" - # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium]. - einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..." - dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \ - /usr/$(get_libdir)/chromium-browser/libffmpeg.so - fi - - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland" - doins out/Release/xdg-{settings,mime} - - if ! use system-icu && ! use headless; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/MEIPreload - - # Install vk_swiftshader_icd.json; bug #827861 - doins out/Release/vk_swiftshader_icd.json - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if ! use headless; then - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - if use gtk4; then - elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" - elog "behavior you need to pass --gtk-version=4, e.g. by adding it" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - if use qt5 && use qt6; then - elog "Chromium automatically selects Qt5 or Qt6 based on your desktop" - elog "environment. To override you need to pass --qt-version=5 or" - elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in" - elog "/etc/chromium/default." - fi - fi -} diff --git a/www-client/chromium/chromium-124.0.6367.60.ebuild b/www-client/chromium/chromium-124.0.6367.60.ebuild new file mode 100644 index 000000000000..65b65f96cc2d --- /dev/null +++ b/www-client/chromium/chromium-124.0.6367.60.ebuild @@ -0,0 +1,1437 @@ +# Copyright 2009-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..12} ) +PYTHON_REQ_USE="xml(+)" + +# PACKAGING NOTES + +# Google roll their bundled Clang every two weeks, and the bundled Rust +# is rolled regularly and depends on that. While we do our best to build +# with system Clang, we will eventually hit the point where we need to use +# the bundled Clang due to the use of prerelease features. We've been lucky +# enough so far that this hasn't been an issue. + +# We try and avoid forcing the use of the custom/bundled libcxx, but sometimes +# it is unavoidable. Remember to force the use of Clang when this is forced. + +# GCC is _not_ supported upstream, though patches are welcome. We do our +# best to enable builds with GCC but reserve the right to force Clang +# builds if we can't keep up with upstream's changes. Please comment +# when forcing Clang builds so we can track the need for it. + +# GN is bundled with Chromium, but we always use the system version. Remember to +# check for upstream changes to GN and update ebuild (and version below) as required. + +# For binhost users, if USE=bindist is set, we configure Chromium in a way that it is able +# to use proprietary codecs, and so that ffmpeg is an external component (libffmpeg.so), +# then we remove ffmpeg from the image to ensure that the built package is distributable +# (i.e. we don't owe royalties). A suitable libffmpeg.so is symlinked in its place; +# as a result of this, ffmpeg[chromium] or ffmpeg-chromium must be installed on the system. + +# For non-binhost builds, we build the bundled ffmpeg and enable proprietary codecs because there's +# no reason not to. Todo: Re-enable USE=system-ffmpeg. + +# These variables let us easily bound supported major dependency versions in one place. +GCC_MIN_VER=12 +GN_MIN_VER=0.2154 +# Since Google use prerelease llvm we can let any adventurous users try to build with prerelease +# ebuilds; try to keep this up to date with the latest version in the tree. +LLVM_MAX_SLOT=19 +LLVM_MIN_SLOT=17 +RUST_MIN_VER=1.72.0 +# chromium-tools/get-chromium-toolchain-strings.sh +GOOGLE_CLANG_VER=llvmorg-19-init-2941-ga0b3dbaf-22 +GOOGLE_RUST_VER=7168c13579a550f2c47f7eea22f5e226a436cd00-1 + +# https://bugs.chromium.org/p/v8/issues/detail?id=14449 - V8 used in 120 can't build with GCC +# Resolved upstream, requires testing and some backporting I'm sure +: ${CHROMIUM_FORCE_CLANG=yes} +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101227 - Chromium 120: +# webrtc - no matching member function for call to 'emplace' +: ${CHROMIUM_FORCE_LIBCXX=yes} +# 121's 'gcc_link_wrapper.py' currently fails if not using lld due to the addition of rust +: ${CHROMIUM_FORCE_LLD=yes} + +: ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no} + +VIRTUALX_REQUIRED="pgo" + +CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he + hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr + sv sw ta te th tr uk ur vi zh-CN zh-TW" + +inherit check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils +inherit python-any-r1 qmake-utils readme.gentoo-r1 toolchain-funcs virtualx xdg-utils + +DESCRIPTION="Open-source version of Google Chrome web browser" +HOMEPAGE="https://www.chromium.org/" +PATCHSET_PPC64="123.0.6312.105-1raptor0~deb12u1" +PATCH_V="${PV%%\.*}" +SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz + system-toolchain? ( + https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 + ) + !system-toolchain? ( + https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${GOOGLE_CLANG_VER}.tar.xz + -> chromium-${PV%%\.*}-clang.tar.xz + https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%???}.tar.xz + -> chromium-${PV%%\.*}-rust.tar.xz + ) + ppc64? ( + https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz + https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz + ) + pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" + +LICENSE="BSD" +SLOT="0/beta" +KEYWORDS="~amd64 ~arm64" +IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd" +IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos libcxx +lto +official pax-kernel pgo +proprietary-codecs pulseaudio" +IUSE+=" qt5 qt6 +screencast selinux +system-toolchain +vaapi +wayland +widevine" +RESTRICT="!bindist? ( bindist )" + +REQUIRED_USE=" + !headless? ( || ( X wayland ) ) + pgo? ( X !wayland ) + qt6? ( qt5 ) + screencast? ( wayland ) + !system-toolchain? ( libcxx ) + ffmpeg-chromium? ( bindist proprietary-codecs ) +" + +COMMON_X_DEPEND=" + x11-libs/libXcomposite:= + x11-libs/libXcursor:= + x11-libs/libXdamage:= + x11-libs/libXfixes:= + >=x11-libs/libXi-1.6.0:= + x11-libs/libXrandr:= + x11-libs/libXrender:= + x11-libs/libXtst:= + x11-libs/libxshmfence:= +" + +COMMON_SNAPSHOT_DEPEND=" + system-icu? ( >=dev-libs/icu-71.1:= ) + >=dev-libs/libxml2-2.12.4:=[icu] + dev-libs/nspr:= + >=dev-libs/nss-3.26:= + dev-libs/libxslt:= + media-libs/fontconfig:= + >=media-libs/freetype-2.11.0-r1:= + system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) + media-libs/libjpeg-turbo:= + system-png? ( media-libs/libpng:=[-apng(-)] ) + system-zstd? ( >=app-arch/zstd-1.5.5:= ) + >=media-libs/libwebp-0.4.0:= + media-libs/mesa:=[gbm(+)] + >=media-libs/openh264-1.6.0:= + sys-libs/zlib:= + x11-libs/libdrm:= + !headless? ( + dev-libs/glib:2 + >=media-libs/alsa-lib-1.0.19:= + pulseaudio? ( media-libs/libpulse:= ) + sys-apps/pciutils:= + kerberos? ( virtual/krb5 ) + vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) + X? ( + x11-libs/libX11:= + x11-libs/libXext:= + x11-libs/libxcb:= + ) + x11-libs/libxkbcommon:= + wayland? ( + dev-libs/libffi:= + dev-libs/wayland:= + screencast? ( media-video/pipewire:= ) + ) + ) +" + +COMMON_DEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + app-arch/bzip2:= + dev-libs/expat:= + net-misc/curl[ssl] + sys-apps/dbus:= + media-libs/flac:= + sys-libs/zlib:=[minizip] + !headless? ( + X? ( ${COMMON_X_DEPEND} ) + >=app-accessibility/at-spi2-core-2.46.0:2 + media-libs/mesa:=[X?,wayland?] + cups? ( >=net-print/cups-1.3.11:= ) + virtual/udev + x11-libs/cairo:= + x11-libs/gdk-pixbuf:2 + x11-libs/pango:= + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + ) +" +RDEPEND="${COMMON_DEPEND} + !headless? ( + || ( + x11-libs/gtk+:3[X?,wayland?] + gui-libs/gtk:4[X?,wayland?] + ) + qt5? ( dev-qt/qtgui:5[X?,wayland?] ) + qt6? ( dev-qt/qtbase:6[X?,wayland?] ) + ) + virtual/ttf-fonts + selinux? ( sec-policy/selinux-chromium ) + bindist? ( + !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) + ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} ) + ) +" +DEPEND="${COMMON_DEPEND} + !headless? ( + gtk4? ( gui-libs/gtk:4[X?,wayland?] ) + !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) + ) +" + +depend_clang_llvm_version() { + echo "sys-devel/clang:$1" + echo "sys-devel/llvm:$1" + echo "=sys-devel/lld-$1*" +} + +# When passed multiple arguments we assume that +# we want a range of versions, inclusive. +depend_clang_llvm_versions() { + local _v + if [[ $# -eq 1 ]]; then + depend_clang_llvm_version "$1" + elif [[ $# -eq 2 ]]; then + if [[ $1 -eq $2 ]]; then + depend_clang_llvm_version "$1" + fi + echo "|| (" + for ((i=$1; i<=$2; i++)); do + echo "(" + depend_clang_llvm_version "${i}" + echo ")" + done + echo ")" + else + die "depend_clang_llvm_versions() requires 1 or 2 arguments" + fi +} + +BDEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + >=app-arch/gzip-1.7 + !headless? ( + qt5? ( dev-qt/qtcore:5 ) + qt6? ( dev-qt/qtbase:6 ) + ) + system-toolchain? ( + libcxx? ( >=sys-devel/clang-${LLVM_MIN_SLOT} ) + lto? ( $(depend_clang_llvm_versions ${LLVM_MIN_SLOT} ${LLVM_MAX_SLOT}) ) + pgo? ( + >=dev-python/selenium-3.141.0 + >=dev-util/web_page_replay_go-20220314 + $(depend_clang_llvm_versions ${LLVM_MIN_SLOT} ${LLVM_MAX_SLOT}) + ) + >=virtual/rust-${RUST_MIN_VER}[profiler(-)] + ) + >=dev-build/gn-${GN_MIN_VER} + dev-lang/perl + >=dev-build/ninja-1.7.2 + >=dev-util/gperf-3.0.3 + dev-vcs/git + >=net-libs/nodejs-7.6.0[inspector] + >=sys-devel/bison-2.4.3 + sys-devel/flex + virtual/pkgconfig +" + +if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then + BDEPEND+="system-toolchain? ( >=sys-devel/clang-${LLVM_MIN_SLOT} ) " +fi + +if [[ ${CHROMIUM_FORCE_LLD} == yes ]]; then + BDEPEND+="system-toolchain? ( >=sys-devel/lld-${LLVM_MIN_SLOT} ) " +else + # #918897: Hack for arm64 + BDEPEND+=" arm64? ( >=sys-devel/lld-${LLVM_MIN_SLOT} )" +fi + +if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then + EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; +fi + +DISABLE_AUTOFORMATTING="yes" +DOC_CONTENTS=" +Some web pages may require additional fonts to display properly. +Try installing some of the following packages if some characters +are not displayed properly: +- media-fonts/arphicfonts +- media-fonts/droid +- media-fonts/ipamonafont +- media-fonts/noto +- media-fonts/ja-ipafonts +- media-fonts/takao-fonts +- media-fonts/wqy-microhei +- media-fonts/wqy-zenhei + +To fix broken icons on the Downloads page, you should install an icon +theme that covers the appropriate MIME types, and configure this as your +GTK+ icon theme. + +For native file dialogs in KDE, install kde-apps/kdialog. + +To make password storage work with your desktop environment you may +have install one of the supported credentials management applications: +- app-crypt/libsecret (GNOME) +- kde-frameworks/kwallet (KDE) +If you have one of above packages installed, but don't want to use +them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS +in /etc/chromium/default. +" + +python_check_deps() { + python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" +} + +needs_clang() { + [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx || use lto || use pgo +} + +needs_lld() { + # #641556: Force lld for lto and pgo builds, otherwise disable + # #918897: Temporary hack w/ use arm64 + [[ ${CHROMIUM_FORCE_LLD} == yes ]] || use lto || use pgo || use arm64 +} + +llvm_check_deps() { + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ( use lto || use pgo ) && ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then + einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +pre_build_checks() { + # Check build requirements: bugs #471810, #541816, #914220 + # We're going to start doing maths here on the size of an unpacked source tarball, + # this should make updates easier as chromium continues to balloon in size. + local BASE_DISK=19 + local EXTRA_DISK=1 + local CHECKREQS_MEMORY="4G" + tc-is-cross-compiler && EXTRA_DISK=2 + if use lto || use pgo; then + CHECKREQS_MEMORY="9G" + tc-is-cross-compiler && EXTRA_DISK=4 + use pgo && EXTRA_DISK=8 + fi + if is-flagq '-g?(gdb)?([1-9])'; then + if use custom-cflags; then + EXTRA_DISK=13 + fi + CHECKREQS_MEMORY="16G" + fi + CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G" + check-reqs_${EBUILD_PHASE_FUNC} +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]]; then + # The pre_build_checks are all about compilation resources, no need to run it for a binpkg + pre_build_checks + fi + + if use headless; then + local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland") + for myiuse in ${headless_unused_flags[@]}; do + use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set." + done + fi + + if ! use bindist && use ffmpeg-chromium; then + ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set." + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + # The pre_build_checks are all about compilation resources, no need to run it for a binpkg + pre_build_checks + + if use system-toolchain; then + local -x CPP="$(tc-getCXX) -E" + if tc-is-gcc && ! ver_test "$(gcc-version)" -ge ${GCC_MIN_VER}; then + die "At least gcc ${GCC_MIN_VER} is required" + fi + if use pgo && tc-is-cross-compiler; then + die "The pgo USE flag cannot be used when cross-compiling" + fi + if needs_clang && ! tc-is-clang; then + if tc-is-cross-compiler; then + CPP="${CBUILD}-clang++ -E" + else + CPP="${CHOST}-clang++ -E" + fi + fi + if needs_clang || tc-is-clang; then + if ver_test "$(clang-major-version)" -lt ${LLVM_MIN_SLOT}; then + die "At least Clang ${LLVM_MIN_SLOT} is required" + fi + # Ideally we never see this, but it should help prevent bugs like 927154 + if ver_test "$(clang-major-version)" -gt ${LLVM_MAX_SLOT}; then + die "Clang $(clang-major-version) is too new; ${LLVM_MAX_SLOT} is the highest supported version" + fi + fi + fi + # Users should never hit this, it's purely a development convenience + if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then + die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium" + fi + fi + + chromium_suid_sandbox_check_kernel_config +} + +src_prepare() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # disable global media controls, crashes with libstdc++ + sed -i -e \ + "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \ + "chrome/browser/media/router/media_router_feature.cc" || die + + local PATCHES=( + "${FILESDIR}/chromium-cross-compile.patch" + "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" + "${FILESDIR}/chromium-109-system-zlib.patch" + "${FILESDIR}/chromium-111-InkDropHost-crash.patch" + "${FILESDIR}/chromium-117-system-zstd.patch" + "${FILESDIR}/chromium-124-libwebp-shim-sharpyuv.patch" + ) + + if use system-toolchain; then + # The patchset is really only required if we're using the system-toolchain + PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" ) + # We can't use the bundled compiler builtins + sed -i -e \ + "/if (is_clang && toolchain_has_rust) {/,+2d" \ + build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins" + else + mkdir -p third_party/llvm-build/Release+Asserts || die "Failed to bundle llvm" + ln -s "${WORKDIR}"/bin third_party/llvm-build/Release+Asserts/bin || die "Failed to symlink llvm bin" + ln -s "${WORKDIR}"/lib third_party/llvm-build/Release+Asserts/lib || die "Failed to symlink llvm lib" + echo "${GOOGLE_CLANG_VER}" > third_party/llvm-build/Release+Asserts/cr_build_revision || \ + die "Failed to set clang version" + ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust" + cp "${WORKDIR}"/rust-toolchain/VERSION \ + "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version" + fi + + if use ppc64 ; then + local p + for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do + if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then + eapply "${WORKDIR}/debian/patches/${p}" + fi + done + PATCHES+=( "${WORKDIR}/ppc64le" ) + PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" ) + PATCHES+=( "${WORKDIR}/debian/patches/fixes/blink-fonts-shape-result.patch" ) + fi + + default + + mkdir -p third_party/node/linux/node-linux-x64/bin || die + ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die + + # adjust python interpreter version + sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die + + local keeplibs=( + base/third_party/cityhash + base/third_party/double_conversion + base/third_party/dynamic_annotations + base/third_party/icu + base/third_party/nspr + base/third_party/superfasthash + base/third_party/symbolize + base/third_party/valgrind + base/third_party/xdg_user_dirs + buildtools/third_party/libc++ + buildtools/third_party/libc++abi + chrome/third_party/mozilla_security_manager + courgette/third_party + net/third_party/mozilla_security_manager + net/third_party/nss + net/third_party/quic + net/third_party/uri_template + third_party/abseil-cpp + third_party/angle + third_party/angle/src/common/third_party/xxhash + third_party/angle/src/third_party/ceval + third_party/angle/src/third_party/libXNVCtrl + third_party/angle/src/third_party/volk + third_party/anonymous_tokens + third_party/apple_apsl + third_party/axe-core + third_party/blink + third_party/bidimapper + third_party/boringssl + third_party/boringssl/src/third_party/fiat + third_party/breakpad + third_party/breakpad/breakpad/src/third_party/curl + third_party/brotli + third_party/catapult + third_party/catapult/common/py_vulcanize/third_party/rcssmin + third_party/catapult/common/py_vulcanize/third_party/rjsmin + third_party/catapult/third_party/beautifulsoup4-4.9.3 + third_party/catapult/third_party/html5lib-1.1 + third_party/catapult/third_party/polymer + third_party/catapult/third_party/six + third_party/catapult/tracing/third_party/d3 + third_party/catapult/tracing/third_party/gl-matrix + third_party/catapult/tracing/third_party/jpeg-js + third_party/catapult/tracing/third_party/jszip + third_party/catapult/tracing/third_party/mannwhitneyu + third_party/catapult/tracing/third_party/oboe + third_party/catapult/tracing/third_party/pako + third_party/ced + third_party/cld_3 + third_party/closure_compiler + third_party/content_analysis_sdk + third_party/cpuinfo + third_party/crashpad + third_party/crashpad/crashpad/third_party/lss + third_party/crashpad/crashpad/third_party/zlib + third_party/crc32c + third_party/cros_system_api + third_party/d3 + third_party/dav1d + third_party/dawn + third_party/dawn/third_party/gn/webgpu-cts + third_party/dawn/third_party/khronos + third_party/depot_tools + third_party/devscripts + third_party/devtools-frontend + third_party/devtools-frontend/src/front_end/third_party/acorn + third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json + third_party/devtools-frontend/src/front_end/third_party/axe-core + third_party/devtools-frontend/src/front_end/third_party/chromium + third_party/devtools-frontend/src/front_end/third_party/codemirror + third_party/devtools-frontend/src/front_end/third_party/csp_evaluator + third_party/devtools-frontend/src/front_end/third_party/diff + third_party/devtools-frontend/src/front_end/third_party/i18n + third_party/devtools-frontend/src/front_end/third_party/intl-messageformat + third_party/devtools-frontend/src/front_end/third_party/lighthouse + third_party/devtools-frontend/src/front_end/third_party/lit + third_party/devtools-frontend/src/front_end/third_party/lodash-isequal + third_party/devtools-frontend/src/front_end/third_party/marked + third_party/devtools-frontend/src/front_end/third_party/puppeteer + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs + third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data + third_party/devtools-frontend/src/front_end/third_party/wasmparser + third_party/devtools-frontend/src/third_party + third_party/distributed_point_functions + third_party/dom_distiller_js + third_party/eigen3 + third_party/emoji-segmenter + third_party/farmhash + third_party/fdlibm + third_party/ffmpeg + third_party/fft2d + third_party/flatbuffers + third_party/fp16 + third_party/freetype + third_party/fusejs + third_party/fxdiv + third_party/highway + third_party/liburlpattern + third_party/libzip + third_party/lit + third_party/gemmlowp + third_party/google_input_tools + third_party/google_input_tools/third_party/closure_library + third_party/google_input_tools/third_party/closure_library/third_party/closure + third_party/googletest + third_party/hunspell + third_party/iccjpeg + third_party/inspector_protocol + third_party/ipcz + third_party/jinja2 + third_party/jsoncpp + third_party/jstemplate + third_party/khronos + third_party/leveldatabase + third_party/libaddressinput + third_party/libaom + third_party/libaom/source/libaom/third_party/fastfeat + third_party/libaom/source/libaom/third_party/SVT-AV1 + third_party/libaom/source/libaom/third_party/vector + third_party/libaom/source/libaom/third_party/x86inc + third_party/libavif + third_party/libevent + third_party/libgav1 + third_party/libjingle + third_party/libphonenumber + third_party/libsecret + third_party/libsrtp + third_party/libsync + third_party/libudev + third_party/libva_protected_content + third_party/libvpx + third_party/libvpx/source/libvpx/third_party/x86inc + third_party/libwebm + third_party/libx11 + third_party/libxcb-keysyms + third_party/libxml/chromium + third_party/libyuv + third_party/lottie + third_party/lss + third_party/lzma_sdk + third_party/mako + third_party/maldoca + third_party/maldoca/src/third_party/tensorflow_protos + third_party/maldoca/src/third_party/zlibwrapper + third_party/markupsafe + third_party/material_color_utilities + third_party/mesa + third_party/metrics_proto + third_party/minigbm + third_party/modp_b64 + third_party/nasm + third_party/nearby + third_party/neon_2_sse + third_party/node + third_party/omnibox_proto + third_party/one_euro_filter + third_party/openscreen + third_party/openscreen/src/third_party/ + third_party/openscreen/src/third_party/tinycbor/src/src + third_party/opus + third_party/ots + third_party/pdfium + third_party/pdfium/third_party/agg23 + third_party/pdfium/third_party/bigint + third_party/pdfium/third_party/freetype + third_party/pdfium/third_party/lcms + third_party/pdfium/third_party/libopenjpeg + third_party/pdfium/third_party/libtiff + third_party/perfetto + third_party/perfetto/protos/third_party/chromium + third_party/pffft + third_party/ply + third_party/polymer + third_party/private-join-and-compute + third_party/private_membership + third_party/protobuf + third_party/pthreadpool + third_party/puffin + third_party/pyjson5 + third_party/pyyaml + third_party/qcms + third_party/re2 + third_party/rnnoise + third_party/rust + third_party/s2cellid + third_party/securemessage + third_party/selenium-atoms + third_party/shell-encryption + third_party/simplejson + third_party/skia + third_party/skia/include/third_party/vulkan + third_party/skia/third_party/vulkan + third_party/smhasher + third_party/snappy + third_party/sqlite + third_party/swiftshader + third_party/swiftshader/third_party/astc-encoder + third_party/swiftshader/third_party/llvm-subzero + third_party/swiftshader/third_party/marl + third_party/swiftshader/third_party/subzero + third_party/swiftshader/third_party/SPIRV-Headers/include/spirv + third_party/swiftshader/third_party/SPIRV-Tools + third_party/tensorflow_models + third_party/tensorflow-text + third_party/tflite + third_party/tflite/src/third_party/eigen3 + third_party/tflite/src/third_party/fft2d + third_party/tflite/src/third_party/xla/third_party/tsl + third_party/ruy + third_party/six + third_party/ukey2 + third_party/unrar + third_party/utf + third_party/vulkan + third_party/wayland + third_party/webdriver + third_party/webgpu-cts + third_party/webrtc + third_party/webrtc/common_audio/third_party/ooura + third_party/webrtc/common_audio/third_party/spl_sqrt_floor + third_party/webrtc/modules/third_party/fft + third_party/webrtc/modules/third_party/g711 + third_party/webrtc/modules/third_party/g722 + third_party/webrtc/rtc_base/third_party/base64 + third_party/webrtc/rtc_base/third_party/sigslot + third_party/widevine + third_party/woff2 + third_party/wuffs + third_party/x11proto + third_party/xcbproto + third_party/xnnpack + third_party/zxcvbn-cpp + third_party/zlib/google + url/third_party/mozilla + v8/src/third_party/siphash + v8/src/third_party/valgrind + v8/src/third_party/utf8-decoder + v8/third_party/glibc + v8/third_party/inspector_protocol + v8/third_party/v8 + + # gyp -> gn leftovers + third_party/speech-dispatcher + third_party/usb_ids + third_party/xdg-utils + ) + + # USE=system-* + if ! use system-harfbuzz; then + keeplibs+=( third_party/harfbuzz-ng ) + fi + + if ! use system-icu; then + keeplibs+=( third_party/icu ) + fi + + if ! use system-png; then + keeplibs+=( third_party/libpng ) + fi + + if ! use system-zstd; then + keeplibs+=( third_party/zstd ) + fi + + if use libcxx || [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then + keeplibs+=( third_party/libc++ ) + fi + + if ! use system-toolchain || [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == yes ]]; then + keeplibs+=( third_party/llvm ) + fi + + # Arch-specific + if use arm64 || use ppc64 ; then + keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) + fi + # we need to generate ppc64 stuff because upstream does not ship it yet + # it has to be done before unbundling. + if use ppc64; then + pushd third_party/libvpx >/dev/null || die + mkdir -p source/config/linux/ppc64 || die + # requires git and clang, bug #832803 + # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh + # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh + # since we're not in a git repo + sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \ + generate_gni.sh || die + ./generate_gni.sh || die + popd >/dev/null || die + + pushd third_party/ffmpeg >/dev/null || die + cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die + cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die + popd >/dev/null || die + fi + + einfo "Unbundling third-party libraries ..." + # Remove most bundled libraries. Some are still needed. + build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die + + # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries + mkdir -p buildtools/third_party/eu-strip/bin || die + ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die +} + +chromium_rust_version_check() { + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + echo $rustc_version +} + +chromium_configure() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + local myconf_gn="" + + if use system-toolchain && [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == no ]]; then + # Make sure the build system will use the right tools, bug #340795. + tc-export AR CC CXX NM + + if needs_clang && ! tc-is-clang; then + # Force clang since gcc is either broken or build is using libcxx. + if tc-is-cross-compiler; then + CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}" + CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}" + BUILD_CC=${CBUILD}-clang + BUILD_CXX=${CBUILD}-clang++ + else + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + fi + strip-unsupported-flags + fi + + if tc-is-clang; then + myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" + else + myconf_gn+=" is_clang=false" + fi + + if needs_lld ; then + # https://bugs.gentoo.org/918897#c32 + append-ldflags -Wl,--undefined-version + myconf_gn+=" use_lld=true" + else + # This doesn't prevent lld from being used, but rather prevents gn from forcing it + myconf_gn+=" use_lld=false" + fi + + if use lto; then + AR=llvm-ar + NM=llvm-nm + if tc-is-cross-compiler; then + BUILD_AR=llvm-ar + BUILD_NM=llvm-nm + fi + fi + + myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" + + if tc-is-cross-compiler; then + tc-export BUILD_{AR,CC,CXX,NM} + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" + myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" + myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\"" + myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" + + # setup cups-config, build system only uses --libs option + if use cups; then + mkdir "${T}/cups-config" || die + cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die + export PATH="${PATH}:${T}/cups-config" + fi + + # Don't inherit PKG_CONFIG_PATH from environment + local -x PKG_CONFIG_PATH= + else + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" + fi + + local rustc_ver + rustc_ver=$(chromium_rust_version_check) + if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then + eerror "Rust >=${RUST_MIN_VER} is required" + eerror "Please run 'eselect rust' and select the correct rust version" + die "Selected rust version is too old" + else + einfo "Using rust ${rustc_ver} to build" + fi + if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then + myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\"" + else + myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\"" + fi + myconf_gn+=" rustc_version=\"${rustc_ver}\"" + fi + + # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. + myconf_gn+=" is_debug=false" + + # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. + # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. + myconf_gn+=" dcheck_always_on=$(usex debug true false)" + myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" + + # Component build isn't generally intended for use by end users. It's mostly useful + # for development and debugging. + myconf_gn+=" is_component_build=false" + + # Disable nacl, we can't build without pnacl (http://crbug.com/269560). + myconf_gn+=" enable_nacl=false" + + # Use system-provided libraries. + # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). + # TODO: use_system_hunspell (upstream changes needed). + # TODO: use_system_protobuf (bug #525560). + # TODO: use_system_sqlite (http://crbug.com/22208). + + # libevent: https://bugs.gentoo.org/593458 + local gn_system_libraries=( + flac + fontconfig + freetype + # Need harfbuzz_from_pkgconfig target + #harfbuzz-ng + libdrm + libjpeg + libwebp + libxml + libxslt + openh264 + zlib + ) + if use system-icu; then + gn_system_libraries+=( icu ) + fi + if use system-png; then + gn_system_libraries+=( libpng ) + fi + if use system-zstd; then + gn_system_libraries+=( zstd ) + fi + + build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die + + # See dependency logic in third_party/BUILD.gn + myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" + + # Optional dependencies. + myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" + myconf_gn+=" enable_widevine=$(usex widevine true false)" + + if use headless; then + myconf_gn+=" use_cups=false" + myconf_gn+=" use_kerberos=false" + myconf_gn+=" use_pulseaudio=false" + myconf_gn+=" use_vaapi=false" + myconf_gn+=" rtc_use_pipewire=false" + else + myconf_gn+=" use_cups=$(usex cups true false)" + myconf_gn+=" use_kerberos=$(usex kerberos true false)" + myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" + myconf_gn+=" use_vaapi=$(usex vaapi true false)" + myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" + myconf_gn+=" gtk_version=$(usex gtk4 4 3)" + fi + + # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of + # using dlopen. This helps with automated detection of ABI mismatches and + # prevents silent errors. + if use pulseaudio; then + myconf_gn+=" link_pulseaudio=true" + fi + + # Non-developer builds of Chromium (for example, non-Chrome browsers, or + # Chromium builds provided by Linux distros) should disable the testing config + myconf_gn+=" disable_fieldtrial_testing_config=true" + + if use system-toolchain; then + myconf_gn+=" use_gold=false" + fi + + # The sysroot is the oldest debian image that chromium supports, we don't need it + myconf_gn+=" use_sysroot=false" + + # This determines whether or not GN uses the bundled libcxx + # default: true + if use libcxx || [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then + myconf_gn+=" use_custom_libcxx=true" + else + myconf_gn+=" use_custom_libcxx=false" + fi + + # Disable pseudolocales, only used for testing + myconf_gn+=" enable_pseudolocales=false" + + # Disable code formating of generated files + myconf_gn+=" blink_enable_generated_code_formatting=false" + + if use bindist ; then + # proprietary_codecs just forces Chromium to say that it can use h264/aac, + # the work is still done by ffmpeg. If this is set to no Chromium + # won't be able to load the codec even if the library can handle it + myconf_gn+=" proprietary_codecs=true" + myconf_gn+=" ffmpeg_branding=\"Chrome\"" + # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute + myconf_gn+=" is_component_ffmpeg=true" + else + ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" + myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" + myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" + fi + + # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . + # Note: these are for Gentoo use ONLY. For your own distribution, + # please get your own set of keys. Feel free to contact chromium@gentoo.org + # for more info. The OAuth2 credentials, however, have been left out. + # Those OAuth2 credentials have been broken for quite some time anyway. + # Instead we apply a patch to use the --oauth2-client-id= and + # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and + # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into + # Chromium without baked-in values. + local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" + myconf_gn+=" google_api_key=\"${google_api_key}\"" + local myarch="$(tc-arch)" + + # Avoid CFLAGS problems, bug #352457, bug #390147. + if ! use custom-cflags; then + replace-flags "-Os" "-O2" + strip-flags + + # Debug info section overflows without component build + # Prevent linker from running out of address space, bug #471810 . + filter-flags "-g*" + + # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646. + if [[ ${myarch} == amd64 ]]; then + filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a + fi + + if tc-is-gcc; then + # https://bugs.gentoo.org/904455 + local -x CPP="$(tc-getCXX) -E" + # https://bugs.gentoo.org/912381 + filter-lto + fi + fi + + if [[ $myarch = amd64 ]] ; then + myconf_gn+=" target_cpu=\"x64\"" + ffmpeg_target_arch=x64 + elif [[ $myarch = arm64 ]] ; then + myconf_gn+=" target_cpu=\"arm64\"" + ffmpeg_target_arch=arm64 + elif [[ $myarch = ppc64 ]] ; then + myconf_gn+=" target_cpu=\"ppc64\"" + ffmpeg_target_arch=ppc64 + else + die "Failed to determine target arch, got '$myarch'." + fi + + # Make sure that -Werror doesn't get added to CFLAGS by the build system. + # Depending on GCC version the warnings are different and we don't want + # the build to fail because of that. + myconf_gn+=" treat_warnings_as_errors=false" + + # Disable fatal linker warnings, bug 506268. + myconf_gn+=" fatal_linker_warnings=false" + + # Disable external code space for V8 for ppc64. It is disabled for ppc64 + # by default, but cross-compiling on amd64 enables it again. + if tc-is-cross-compiler; then + if ! use amd64 && ! use arm64; then + myconf_gn+=" v8_enable_external_code_space=false" + fi + fi + + # Only enabled for clang, but gcc has endian macros too + myconf_gn+=" v8_use_libm_trig_functions=true" + + # Bug 491582. + export TMPDIR="${WORKDIR}/temp" + mkdir -p -m 755 "${TMPDIR}" || die + + # https://bugs.gentoo.org/654216 + addpredict /dev/dri/ #nowarn + + # Disable unknown warning message from clang. + if tc-is-clang; then + append-flags -Wno-unknown-warning-option + if tc-is-cross-compiler; then + export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" + export BUILD_CFLAGS+=" -Wno-unknown-warning-option" + fi + fi + + # Explicitly disable ICU data file support for system-icu/headless builds. + if use system-icu || use headless; then + myconf_gn+=" icu_use_data_file=false" + fi + + # Don't need nocompile checks and GN crashes with our config + myconf_gn+=" enable_nocompile_tests=false" + + # Enable ozone wayland and/or headless support + myconf_gn+=" use_ozone=true ozone_auto_platforms=false" + myconf_gn+=" ozone_platform_headless=true" + if use headless; then + myconf_gn+=" ozone_platform=\"headless\"" + myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false" + myconf_gn+=" use_glib=false use_gio=false" + myconf_gn+=" use_pangocairo=false use_alsa=false" + myconf_gn+=" use_libpci=false use_udev=false" + myconf_gn+=" enable_print_preview=false" + myconf_gn+=" enable_remoting=false" + else + myconf_gn+=" use_system_libdrm=true" + myconf_gn+=" use_system_minigbm=true" + myconf_gn+=" use_xkbcommon=true" + if use qt5 || use qt6; then + local cbuild_libdir=$(get_libdir) + if tc-is-cross-compiler; then + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt) + cbuild_libdir=${cbuild_libdir:2} + cbuild_libdir=${cbuild_libdir/% } + fi + if use qt5; then + if tc-is-cross-compiler; then + myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\"" + else + myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\"" + fi + fi + if use qt6; then + myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" + fi + + myconf_gn+=" use_qt=true" + myconf_gn+=" use_qt6=$(usex qt6 true false)" + else + myconf_gn+=" use_qt=false" + fi + myconf_gn+=" ozone_platform_x11=$(usex X true false)" + myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)" + myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")" + use wayland && myconf_gn+=" use_system_libffi=true" + fi + + # Results in undefined references in chrome linking, may require CFI to work + if use arm64; then + myconf_gn+=" arm_control_flow_integrity=\"none\"" + fi + + # Enable official builds + myconf_gn+=" is_official_build=$(usex official true false)" + myconf_gn+=" use_thin_lto=$(usex lto true false)" + myconf_gn+=" thin_lto_enable_optimizations=$(usex lto true false)" + if use official; then + # Allow building against system libraries in official builds + sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ + tools/generate_shim_headers/generate_shim_headers.py || die + # Disable CFI: unsupported for GCC, requires clang+lto+lld + myconf_gn+=" is_cfi=false" + # Don't add symbols to build + myconf_gn+=" symbol_level=0" + fi + + if use pgo; then + myconf_gn+=" chrome_pgo_phase=${1}" + if [[ "$1" == "2" ]]; then + myconf_gn+=" pgo_data_path=\"${2}\"" + fi + else + # Disable PGO + myconf_gn+=" chrome_pgo_phase=0" + fi + + # user CXXFLAGS might overwrite -march=armv8-a+crc+crypto, bug #851639 + if use arm64 && tc-is-gcc; then + sed -i '/^#if HAVE_ARM64_CRC32C/a #pragma GCC target ("+crc+crypto")' \ + third_party/crc32c/src/src/crc32c_arm64.cc || die + fi + + # skipping typecheck is only supported on amd64, bug #876157 + if ! use amd64; then + myconf_gn+=" devtools_skip_typecheck=false" + fi + + einfo "Configuring Chromium ..." + set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release + echo "$@" + "$@" || die +} + +src_configure() { + chromium_configure $(usex pgo 1 0) +} + +chromium_compile() { + # Final link uses lots of file descriptors. + ulimit -n 2048 + + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # Don't inherit PYTHONPATH from environment, bug #789021, #812689 + local -x PYTHONPATH= + + # Build mksnapshot and pax-mark it. + if use pax-kernel; then + local x + for x in mksnapshot v8_context_snapshot_generator; do + if tc-is-cross-compiler; then + eninja -C out/Release "host/${x}" + pax-mark m "out/Release/host/${x}" + else + eninja -C out/Release "${x}" + pax-mark m "out/Release/${x}" + fi + done + fi + + # Even though ninja autodetects number of CPUs, we respect + # user's options, for debugging with -j 1 or any other reason. + eninja -C out/Release chrome chromedriver chrome_sandbox + + pax-mark m out/Release/chrome + + if ! use system-toolchain; then + QA_FLAGS_IGNORED=" + usr/lib64/chromium-browser/chrome + usr/lib64/chromium-browser/chrome-sandbox + usr/lib64/chromium-browser/chromedriver + usr/lib64/chromium-browser/chrome_crashpad_handler + usr/lib64/chromium-browser/libEGL.so + usr/lib64/chromium-browser/libGLESv2.so + usr/lib64/chromium-browser/libVkICD_mock_icd.so + usr/lib64/chromium-browser/libVkLayer_khronos_validation.so + usr/lib64/chromium-browser/libqt5_shim.so + usr/lib64/chromium-browser/libvk_swiftshader.so + usr/lib64/chromium-browser/libvulkan.so.1 + " + fi +} + +# This function is called from virtx, and must always return so that Xvfb +# session isn't left running. If we return 1, virtx will call die(). +chromium_profile() { + einfo "Profiling for PGO" + + pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 + + # Remove old profdata in case profiling was interrupted. + rm -rf "${1}" || return 1 + + if ! "${EPYTHON}" ./chromium_profiler.py \ + --chrome-executable "${S}/out/Release/chrome" \ + --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ + --add-arg no-sandbox --add-arg disable-dev-shm-usage \ + --profile-output "${1}"; then + eerror "Profiling failed" + return 1 + fi + + popd >/dev/null || return 1 +} + +src_compile() { + if use pgo; then + local profdata + + profdata="${WORKDIR}/chromium.profdata" + + if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then + chromium_compile + virtx chromium_profile "$profdata" + + touch "${WORKDIR}/.pgo-profiled" || die + fi + + if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then + # Remove phase 1 output + rm -r out/Release || die + + chromium_configure 2 "$profdata" + + touch "${WORKDIR}/.pgo-phase-2-configured" || die + fi + + if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then + chromium_compile + touch "${WORKDIR}/.pgo-phase-2-compiled" || die + fi + else + chromium_compile + fi + + mv out/Release/chromedriver{.unstripped,} || die + + rm -f out/Release/locales/*.pak.info || die + + # Build manpage; bug #684550 + sed -e 's|@@PACKAGE@@|chromium-browser|g; + s|@@MENUNAME@@|Chromium|g;' \ + chrome/app/resources/manpage.1.in > \ + out/Release/chromium-browser.1 || die + + # Build desktop file; bug #706786 + sed -e 's|@@MENUNAME@@|Chromium|g; + s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; + s|@@PACKAGE@@|chromium-browser|g; + s|\(^Exec=\)/usr/bin/|\1|g;' \ + chrome/installer/linux/common/desktop.template > \ + out/Release/chromium-browser-chromium.desktop || die + + # Build vk_swiftshader_icd.json; bug #827861 + sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ + third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ + out/Release/vk_swiftshader_icd.json || die +} + +src_install() { + local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" + exeinto "${CHROMIUM_HOME}" + doexe out/Release/chrome + + newexe out/Release/chrome_sandbox chrome-sandbox + fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" + + doexe out/Release/chromedriver + doexe out/Release/chrome_crashpad_handler + + ozone_auto_session () { + use X && use wayland && ! use headless && echo true || echo false + } + local sedargs=( -e + "s:/usr/lib/:/usr/$(get_libdir)/:g; + s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" + ) + sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die + doexe chromium-launcher.sh + + # It is important that we name the target "chromium-browser", + # xdg-utils expect it; bug #355517. + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser + # keep the old symlink around for consistency + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium + + dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver + + # Allow users to override command-line options, bug #357629. + insinto /etc/chromium + newins "${FILESDIR}/chromium.default" "default" + + pushd out/Release/locales > /dev/null || die + chromium_remove_language_paks + popd + + insinto "${CHROMIUM_HOME}" + doins out/Release/*.bin + doins out/Release/*.pak + + if use bindist; then + # We built libffmpeg as a component library, but we can't distribute it + # with proprietary codec support. Remove it and make a symlink to the requested + # system library. + rm -f out/Release/libffmpeg.so \ + || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)" + # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium]. + einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..." + dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \ + /usr/$(get_libdir)/chromium-browser/libffmpeg.so + fi + + ( + shopt -s nullglob + local files=(out/Release/*.so out/Release/*.so.[0-9]) + [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" + ) + + # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland" + doins out/Release/xdg-{settings,mime} + + if ! use system-icu && ! use headless; then + doins out/Release/icudtl.dat + fi + + doins -r out/Release/locales + doins -r out/Release/MEIPreload + + # Install vk_swiftshader_icd.json; bug #827861 + doins out/Release/vk_swiftshader_icd.json + + if [[ -d out/Release/swiftshader ]]; then + insinto "${CHROMIUM_HOME}/swiftshader" + doins out/Release/swiftshader/*.so + fi + + # Install icons + local branding size + for size in 16 24 32 48 64 128 256 ; do + case ${size} in + 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; + *) branding="chrome/app/theme/chromium" ;; + esac + newicon -s ${size} "${branding}/product_logo_${size}.png" \ + chromium-browser.png + done + + # Install desktop entry + domenu out/Release/chromium-browser-chromium.desktop + + # Install GNOME default application entry (bug #303100). + insinto /usr/share/gnome-control-center/default-apps + newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml + + # Install manpage; bug #684550 + doman out/Release/chromium-browser.1 + dosym chromium-browser.1 /usr/share/man/man1/chromium.1 + + readme.gentoo_create_doc +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_desktop_database_update +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_desktop_database_update + readme.gentoo_print_elog + + if ! use headless; then + if use vaapi; then + elog "VA-API is disabled by default at runtime. You have to enable it" + elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" + elog "in /etc/chromium/default." + fi + if use screencast; then + elog "Screencast is disabled by default at runtime. Either enable it" + elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" + elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + fi + if use gtk4; then + elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" + elog "behavior you need to pass --gtk-version=4, e.g. by adding it" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + fi + if use qt5 && use qt6; then + elog "Chromium automatically selects Qt5 or Qt6 based on your desktop" + elog "environment. To override you need to pass --qt-version=5 or" + elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in" + elog "/etc/chromium/default." + fi + fi +} diff --git a/www-client/firefox-bin/Manifest b/www-client/firefox-bin/Manifest index df9f586b4936..b622cb8ca9b0 100644 --- a/www-client/firefox-bin/Manifest +++ b/www-client/firefox-bin/Manifest @@ -4,6 +4,102 @@ AUX firefox-bin-r3.desktop 7956 BLAKE2B 4df62b7ae4c9e642ac84f2054a4f9ab8c201b76b AUX firefox-bin.desktop 325 BLAKE2B 563cea3569a5a4952ded5c0324fa7d3a574a1c5d0fcd310f3f82de2b0fe07412d9768f6be2f467e3e315d89f501b1fe2cc319ffa92f072f4fa6cf6e2af4c2d20 SHA512 409ec95a1ee449e2a0a915358fb9c8c3e4bcec8026cb503f1b7dcd815bda9ff5745158ed01cc190c9a0adf5b4e9d644efe5ee3e0232bd8419324c1b6600c863f AUX firefox-symbolic.svg 7432 BLAKE2B 33a552ffb9850f6b9cd3cb8d9f7f80268ac08f00a0bd5eb15d892c6fbb950f8cacf6058b9c838f5be1ae1b53541f143a1ec0c1302ae85b49100b166fcbccdce6 SHA512 ba7db9a7c95a051bcd84e4c09c802fc55ee3c0d1d06ec1b169b04e414259b75bbe92fe584aee41a1e3f71e71c160df8bedf5393449e5024110ed27dbc0579ea8 AUX gentoo-default-prefs.js 570 BLAKE2B dd38592aa2a1e26185bb39ad95594dfcc57343e1027d7b125a82531c70e4cffe1f2a19519e1f3c07129faa5012b909bd45e6f65f05ac43f0503c752178b5904c SHA512 2b93206b979aa7cf88a6141805219db0a5134ea87c92a8f9a4bd16bc102bf6ed3d55c77f2f47a300262bb2848b878e8881c0037434441f13ddf1826661e7c6ff +DIST firefox-115.10.0esr-ach.xpi 456937 BLAKE2B a799c3a58f4b4b69d670ec8ec206697538a90881b8e76e73cff6f2e5d41d2d5c48b98920e771a212e966e3b965fb016545d7ec160d72c27bd91d357c3d2bb4bd SHA512 587d65bd7470b568013442e862415c2e9b0c4e7507d49a2edc2afa87558d8bb7adc94136199973036aab91de2bba09da1d7c0a380935095e3f1cb6db63662c0f +DIST firefox-115.10.0esr-af.xpi 413578 BLAKE2B dbda1ab867f2117fff3a486ab14e169eec344cb7d33289b04141f9d78d6e605825ef15469318f20e66471593bfc0d0258e30fcb83ca4097d3b4678eeef912d8c SHA512 fd2c945491824987fb9396ccf28aea0523ba7d5b85e070df49c8a4ad77111ad255810f0ad47dd91f90ac98cc99bf996592552967f26de5baaf01cfb0f93e1efb +DIST firefox-115.10.0esr-an.xpi 497259 BLAKE2B c237abe162437a2c2d95584ac6c9992973f0174cdbf0e6c670a6c92188c6bb0a41489c54b3d2ced5c9fec2d3e665fb01dfff6e256c541fad2c089e3a1823a3c6 SHA512 72296dac1190928664247a59635b668195bb6a2546199cac7dda235720b8d53cbe416c8a713198992f168b69ee3b32cb7e037eca0de2d5c4de4be5de329d43e1 +DIST firefox-115.10.0esr-ar.xpi 590968 BLAKE2B 5a2eb799c057f93fae132bb188886448cd48fb827dc995e37427fabc37ca3998e8e43e3cadbb9b19e50beb1ba2b5fb3da589853b3a79584471cdead2cd529e5b SHA512 eff65846b3c8502d0c21eb19e7a65acde2a32b7524de167207ad448f5dda486e93cae31f22b8d74d71cf8fe68c8b4cbbc25c6af12b5121df6b221219721a5400 +DIST firefox-115.10.0esr-ast.xpi 489197 BLAKE2B 1f1939404e32c6394f1dd7af59e64d8869b559c7101a956bf89be352ef77a7c06edb9f1ae5625933d3f6ed3df83355e5ab61e468bc37a617e8ff4c86c1296e6f SHA512 88363db442fd3368125dda3862c16a4f0d5c15c846e2f03901cee75ba1863b063d0d3a995b048459b044048924cb1f05452c45511e372ee36fc7c458904d9abd +DIST firefox-115.10.0esr-az.xpi 483841 BLAKE2B 7f7e88cbe36d73bab8cf803b1013a191ccd9c3fca56a9f1ad66839f1c00b84130a33aff7ca6f33dc3b061b044614145f7e65423d87d9476e9b3ea7c77cc953a9 SHA512 a003722d2a444af42fc1c0544567ef53a83a8bc520af792a589a4ceefce8adbfa61c383f141ab75cabe52b470afa9c3e0240e16569be4bf6c126635ebd1589af +DIST firefox-115.10.0esr-be.xpi 691067 BLAKE2B bb6685ce69d6c2e0fc449a59a61604eae9a63688ca5d4270b97db4d52501c183b241937bbd5f1979590428a29b26ce184ad0ebbbcfe4a066bac0e93c6a620040 SHA512 9c525cb6e59ceccd09bb82a6243dc0263a9077c8498d801f356a7bb038c5ede87ac3c54a20666c52116634b2651c5c97df81a2cd4a7cd8ab3dce386a0bc4d895 +DIST firefox-115.10.0esr-bg.xpi 588688 BLAKE2B 7b872998fa920b8a7fb83c7ab0ee4307eb510e75932d3f2a4d6c0fe4d0d54d1f2a5de7cf17742f1c7eb1a52b3345cd542c9de7e103ad6ed0e08338f8581658b9 SHA512 c3e6a40d34fc5462d5a0c01771ba2cd923a17b590e301bbeea92f179f186aab62a7a9a15beaf70943f950e22205e64f0c123bba10209e79c26c7af645de7a2ae +DIST firefox-115.10.0esr-bn.xpi 573624 BLAKE2B f15ccd9638f013668b096696f6a9bcb8d6c3074fe1e9c08b0097e0da95a459fd3ebd3c9b14a4e1ac0c978a8b1f9abc281d6a48f5f81a9f8d930ecb95e16d16a1 SHA512 8c61e24e06f8c375d742c55d15bcb09736c79a4b44a8f0ee56738b7cce0a61928d2f64a602aad88b9adf78e0834fd6c1bb4427892eae1b134574bd996dbd5db2 +DIST firefox-115.10.0esr-br.xpi 573720 BLAKE2B f42a5071c28230e326edce797dd667650678da4cb7b78065a1775a287adab5b9e6f3e9b493c66a3ae0cc429d81c17ba6ad799dd62eb40e045e00e2335c135a0c SHA512 2c58752bb94198ae0e764f2b5144cdb1ded817852e913c4213c52d0234ba96c7b86624b8f5aeca74b94538e70ad9173c6738312ea04c6b91e3fcbbda577bafac +DIST firefox-115.10.0esr-bs.xpi 463559 BLAKE2B 54b29c5b42151913bd39ddc597f4cdb7021f8465b5d4d04437556887d1c3fa89cb6b3f6b2a1a27ad67a8a42b470dca9133dac27de802c427e3cc124e3dd5baa7 SHA512 bf8577e997465788e1a839248af1166b335d78786fe37ba46f8fd5de6ea24847cc6ed2382e85c8c35fbb0e9c506176f91ae614b082ffbc064f9cd82fd5683f53 +DIST firefox-115.10.0esr-ca-valencia.xpi 536870 BLAKE2B 9babf4070ae55b9f5f7f591a654cea166cb531a13d1d581f19502b43737cd0f613552b5646c3a9e333744650630b1c8d5c332a6b1c4a84ed0818e3d7fdc3268b SHA512 bb554f7d331e9f48637c8fdd7f2ce31e1c642733a14c63a0119bdfec55acbea564e824030a85f994816b5311b2aa22341c920058b88a9e07965fe0520d573920 +DIST firefox-115.10.0esr-ca.xpi 575781 BLAKE2B 43121178a75db2bacfdbc8e1a403cb19c09f36a5c78bc7c8c4bd40c50bf2987528f30dba053a35190a4fef49bae509fed23628aa7e264c5361f971b60826185e SHA512 eae580ec6d0665d8ee90d7d615f318f75c9451472f4f123f30805384570c4b153f462ed53431e0bfcaae70aa8b2f716d55eed487e141731ab657e94b033fe684 +DIST firefox-115.10.0esr-cak.xpi 581676 BLAKE2B 1837aa46af8593b40e0a2f9a425a1f810896ed068fabcd36f3f90f6140e3501639680da847863e3cc3f2aabaa047a5cdf21f12bd5c323722cc3c93143924a3e5 SHA512 db9329a937aa5b682af189c14db6f2bb43e0f3c05101ec001849062718b2d666a665683e6f40e0606c776340efdff6ad59f4d162f2785938e2fd05ef8b58c49f +DIST firefox-115.10.0esr-cs.xpi 636805 BLAKE2B f6e242459fe13f7ca1f1932ca7a5cd81bff06b1d9f5d32081b6d1895a5ada67c3f13d1ed8adce883e8dcb7e6897528ddec0b79b31e06d6369a03a8a90146b15d SHA512 7c2f2f776a30d0539b7f19994beb6b67ce08243fef02f71115d1e354a2a286bc3847ff60bcd8e63a724bcaef39dc36d8f12178d8d7800cd730de5b2ab007e672 +DIST firefox-115.10.0esr-cy.xpi 604777 BLAKE2B 47a337de47905c8639fa1a209018e0030a1f0be8df419b4533c8d0de630eaa827dc6aeac5bc6e4650da152d447609fac7b818e49bff124eb4f11e5b5cf1bf5e4 SHA512 5454b0800eae28fbed4e175f932b4054ac1ef3a32824a67234bda83d78b8e91e883eadfe960492242e7d517b37838e17ba0fa8b0dee4b7d7b865a5e9228fbe03 +DIST firefox-115.10.0esr-da.xpi 589842 BLAKE2B 51922963e1e1a2e6a6db830dd6616485cb62fcd53631c67081162c6eb406cf65bc83fecb200485894f7a7fbddff4cac339fd43be88c3ded486445b491db96419 SHA512 b642fe0fdaa68b45cb02afd796989fce4c62795c0c3e67b86bbe98c1285f2c11b2b808b67a4cd95062f14a6b387dffe4635d58705b86d63891d1d542ce588038 +DIST firefox-115.10.0esr-de.xpi 612032 BLAKE2B 8d4ce782aa50e0a80dd88bd7ea7480bd9cebe4db217833afdfc5637189406194bf455b3dd538c73717ca71160c9a1b2ddf015b4e359514ad480531d2ba81ff2b SHA512 9927d9ec3ae385b41bd4a1932f1c6d39e137ac9cd95b76237520bbf0c0cf75a124fb9012053e85949522ec21e5ccf9737f1e04bf12143877fa3a28f8772de35a +DIST firefox-115.10.0esr-dsb.xpi 629491 BLAKE2B a9560315b92c0c932245341abb55ff54fe4fd1347036fdb268ba1906b904d545373661335d34999ee50d7c149cd4a27c491e8cd3d58b064d3a2f76378277f6d8 SHA512 130a3744b3eb91af789217a9a5d9923868e48de2fc18b54b2c8b881e72692244b7c86dff23afa4b534e47c7b411bc4b355b728529527173785921cbaf8d021cc +DIST firefox-115.10.0esr-el.xpi 710466 BLAKE2B cbfc49457ffd7ffb706dca977f617efeac72259da72e9597e06b75d54589df10983b495d7fa4f9a179e1d1a539090bb2a9ca13121a699fa6ba9c331c6ee086c8 SHA512 828617e54ce0f6d55608e09590b8f2c3d71dd74047cee7c4a03d53e243f2140f45513343646c3fc67c198b12f28a90af5bb64e646c041fe9da90c16a28a72f63 +DIST firefox-115.10.0esr-en-CA.xpi 551682 BLAKE2B a9d7ee9620ae9829062e17a08e75a1a03a95ed7baa7caac2f360661f3159b0f31b57c1052e50f801428b40b6083e4d923c8e91ee9701704ea03982e09babff72 SHA512 9c194bf287e18ab5604093951d650b661b25964a0e8a8c4c30cadf90594d4bd0639d81dae11edcec43feeea13ecebf0243b4800100fe2f14f6a56891b78a8637 +DIST firefox-115.10.0esr-en-GB.xpi 567046 BLAKE2B 50d779f2b8fc5281bae37f0d5300f67d5639f09dcb1818dbc6f7e657cb1e11acf4780e6d362d61701ee0626a20c1e7571b13fda5f5be7a6fe18dc5914d482e4e SHA512 99288d89c43a0f5bdbd11a7eda5aeb8963634377fbcb9d460b325155de5ada3080ec05052d2d2df88e0ea7538270920c558b54796c1104d25ed634e72d671e71 +DIST firefox-115.10.0esr-eo.xpi 585340 BLAKE2B f8487a7f6afe1e11b183f4ad530daef0221863da592b914277e7c865eded1d503efa2839b7df11706b20355cd9c2d614cb2baee92d95f60c9066473f2725063b SHA512 2075814b1c0cadd6a0c5410db7c1b736f94a0ec95b44978435efb195303df5d9583e05c09e9daae3390264257d26a79112c7e12978c226eae0caefca765a6097 +DIST firefox-115.10.0esr-es-AR.xpi 608560 BLAKE2B 28a431613260c57ae030b3f0ed6b3983f513a1ccf7daf3cc8201829b6882cce222ecda5b88243bc1c42bf99d2a5dea3d6ac901d07bf1192eab73982edf06901d SHA512 131e316bbb2ef5afc4f99b076093a598848082b075b5b1c473c586a736de7d6aef22dc787fbbd9fe0a29313ef27b2a5d20d931bcbf1d8dc43720ec86e76d3f9c +DIST firefox-115.10.0esr-es-CL.xpi 606528 BLAKE2B fd37f70b044d5debe76178b3e35a8030fc98a119b16aebb29caf7dc548d829ebed69d3506d537bc2d9ee5238cf6e3d525e71f815028a2961d743c3b9597058c5 SHA512 d81f054281a69bb94d86978e064327d80ba1249d8c1f7af7d9d038f37a9119c8d4c5e714ab745494a077a09789fa5e63006c84c0d44abe3536534782bcf8889b +DIST firefox-115.10.0esr-es-ES.xpi 600506 BLAKE2B 8286ad644d5f21e3ac8e9f5e36dff847dadadf16ac229c5de9587b4848860d3dcb5971a2d88eeb5e9ebc5a69da9019d326a2c8088ef85abde67797e716fa96a9 SHA512 541438d0e347b3833dbba4cc59dbfaa8162bed2ce9d2754b13aa51a1cb9d8f23aa1a9c3dcbb105cd4e54cfa340b11a729abf72997f0c668f7b219d0492050ee9 +DIST firefox-115.10.0esr-es-MX.xpi 580254 BLAKE2B 032b0710d39085154be40eb6d99a4aff0e338f154b7e9ec164ba07b23c1209cc9e3f01e35935f64c59cc2f8f1bcb8589bf8fc8a2b1a200aa4feebbf9269e009f SHA512 d5184a94e817a8f168725301345f0867fe48230a83df598c07cb41fb1d631b6c6fcda75fce0137dc46fe09a6f08ac0b1dcc7e86c21dce5b8178ee1244df03757 +DIST firefox-115.10.0esr-et.xpi 530484 BLAKE2B ed297cd957a52a8675b9728e466df0542e9c0d433ec13d056bd5511d0c919a6e21fc6eb5d07cbac26d7e01b87b5eff11f436a1131ad00810bf8b8fa202300640 SHA512 c917422c8b29f2bd73f86e0d5f21707044a9049cdb1a9aa94dc47902f33f079bd4702d7c8aa3f8a70b4c7807a168b07c2fde461004651decd920bdba0c02073d +DIST firefox-115.10.0esr-eu.xpi 581872 BLAKE2B 4c12b9c9ab2edf0eaa5684b04496f2fa480436d5c8e4044653674b5fc9a1d71b2cff009acad885183e3255c40ac71bea9908856aae7ee656e22859ffb9592c4f SHA512 beb587fffb50a82f5691637ff933eaa8a2623c6f7db12dd00e81458bf2acb06491475113ee6e45971e9f34590129e338d662a99521acd0c647f8f172ba707c0a +DIST firefox-115.10.0esr-fa.xpi 581583 BLAKE2B 68175e93e23ea75e60916408f930c88ed7f16c45f478af4a9fff2cd66a6d14df777742a27b3272e1f07d7314743f238a3003b45b109aee03ecca5eda5a4a08f2 SHA512 291083f1fefd4af71169c4ce2c1c5c9163eef9467edd53a2beef61283463c48b409b60a45139f538bfb76232484f16844841b377c3dca282143d6bc515c552ed +DIST firefox-115.10.0esr-ff.xpi 469359 BLAKE2B bea8791b1364e1db63eb042eeeee869da735226b9deb045024c1be3720069d23fedfb6344096efc5e87b524abae05f0f289ae2749982778ec91f570a5c45b74e SHA512 a46a07290fe7a62e01113a1c8d1e073fc313c5844b92b567cf23dd30239f4d610b0e5e3be180fcfc1dd75847647aa7c0114ca30eb579c88393c81a6bac91a800 +DIST firefox-115.10.0esr-fi.xpi 587616 BLAKE2B bb997ffb30e0f8cd5f945c0613498e0ca41c2cf9daa46d973d949195be6b41f1cc140ec92e1874021e6e4628d02a757b5d47a8594420372811519427f342418e SHA512 3bf802d539a17f62bdba647f6a31f8c3f401cc10d8d49a0ed4c4b4b9788dcf2294cf1ce4f4736dab635575eaee55ec5d811349c724b38fc0b7119a7b69f86b5a +DIST firefox-115.10.0esr-fr.xpi 619224 BLAKE2B a8d0ecd88bec5e248265a7c68100fc7b8d09b749fadf3327ae70a6b0d7a7164f166cd0c3b7dded0f043bae3074857bc65ec383c6e73ee88c5b0f6ab4a57ad0b3 SHA512 eacf92b7c72ef1323fb206b4499d0b2f76cf7cc24dce7a8671b66263b1709c28502f0c49543f1ea0e1100a26d2424f904f0f5ed7683c4dca3a74d5466da03442 +DIST firefox-115.10.0esr-fy-NL.xpi 602857 BLAKE2B cca503d979e6a833a7b1582832d523e36fea7a592489c595469559a9436d17096719dcee4e8c27a0d43843a4fd71ead16346bed828f585cd8f03927dd39e4014 SHA512 365b2a4a74cbc3bb177735d260cfe9ab0c4ac69fb39bdc6ef01d42aa19023a3f060b88f521996bcf7c23765e6ddc7bf6739e3f098f8539bf31368df12d845a3c +DIST firefox-115.10.0esr-ga-IE.xpi 465830 BLAKE2B 4bc6757d1ccf7e129966349216910be0d6bf623bc157d2ff044f732c11ac29a485b926f3080947e5fc5a33e1dbf5234c190bc66f1d87d688fe5b90d7b6b2365f SHA512 298a4a85f966d990f1c03afa9a7bfdae506af4dee8128fb3fc586541a53030244a8a17a04e7929e53cfc44ea6d452afa7534883bf314a7ae3a2b7eb18155e711 +DIST firefox-115.10.0esr-gd.xpi 582164 BLAKE2B 2fb587aa6fef8c07e65c3b2056a50686db66be323a99b81f7109cf6c0349957f8b26a221cd1878825afa56cb2f42cfb6a7673fb351b9359c3e954f78bc2212d1 SHA512 a44db48e95024ab35a0944eeb47aa43fe306bc0138654d3c8f73975808891a3498541704649b97b8d74c7c9786bea44825aa9a957da328f115b30fd7f1ae4bc8 +DIST firefox-115.10.0esr-gl.xpi 589963 BLAKE2B 5b7e60d1349fd32857154fe9b8996cdf487bd076f16f700286cfe497a61cfd74806a2ef957684bd3cbcef8c6b698d8456666abf0830966df6cc5722f008ff013 SHA512 c7965e666b7e483a1fd20d1bd2cd303174922e0d0eb626ba4b25913107a63c28657ee8738d7811217dc87ccb37558a5cc8f031cfb6d82a3591fcca7f424c880a +DIST firefox-115.10.0esr-gn.xpi 618634 BLAKE2B c28b22229215e65d76bb54b090b542106a58e6a332879c6c0942e96e553d28fff6515e011c167f85b5dc3b313c016c23e4947fca2e0e5db64b0c7bb75d88912f SHA512 324fc01db968f49ca061a31d5d81568d0ac66a1eece2341a2c9a5f5d0a9e17ba3721d0351db33f9ce96e3a950a467ced09d12c60186b138656dc553ca98750c5 +DIST firefox-115.10.0esr-gu-IN.xpi 520701 BLAKE2B dad59e19a09ffc589a18c01a018440108aaba47c44512f03426025b505cad9cdd51610f714463f8d3255a76d28f404d65d63a6455395c1a842e2386aaa45af16 SHA512 720f4716be072ab4391a8e4530f15f280de1e03aef5723461d144bc89b340a65965f0b776221d366d034379ad67cb8110389e478bc4e8dc6c0cd16a6012a1220 +DIST firefox-115.10.0esr-he.xpi 611047 BLAKE2B 5f698763c3922ecccf936c4e1785819b10169fb8faec34ef25ba8794f5453fee1b73df12aeecf36fbb901d27f5727450300ad6c8cf4a39f3b9d6102bcbdb0dda SHA512 b806e67bc99e703c3cf32674cbfae0e981bfc54991a16f0a802657bfb215ebda50376fb77c39d71d677c4ac15a034d7d0927095ccd28cc425f11ee6d39932ee4 +DIST firefox-115.10.0esr-hi-IN.xpi 557476 BLAKE2B a15da23b8209a255ef249834d54afac2d2c00b57c44b56a5e20973aef76be59f03f6e5c70e15804d44f1d22de95ac7829b86de9dd6fa2ec30d734cd01cdc206e SHA512 641cfbf83d3ce3d59d0baa47c0c7aa1b04fa76187fb6a9534033e899837db9287bae882ce77e4ab19ce34921c248f246bcf87455d9dd81cd35f9ccd95eef156e +DIST firefox-115.10.0esr-hr.xpi 547617 BLAKE2B fa5bd7e3b075e9d5b0501710028178407b5094af7034c2f4f4d272c191d30ab9cb80931a7a5d7054a976a65cd170cd5310f256d296cdff77db12cfaef0841adf SHA512 491b2e9a813a9066b9d7ef7681e462410f285f8c4e3a8b1fe1e5d3378038512074a450858c96345115acc68758ec95ea1703b474befe7a5c631b1b5d59342d12 +DIST firefox-115.10.0esr-hsb.xpi 626662 BLAKE2B 5006c962f13bd82aebce13227b3d14a1d08270c39feda551efa51d9cd994fc8834ac9a14612843ef566f44796dfab5fe14a9461a4879da6df47ef61bb4d10770 SHA512 0617b4bebdf5053fef1da1d069b860f7a74ba874014516d0b4ea2b634827ba32a598ac2a65e75fc8525526459831330b9b09129f01692b08d3b4941de25443c7 +DIST firefox-115.10.0esr-hu.xpi 628672 BLAKE2B ae9f9c8ca20a275147b53bcc804c42af8a941211df480ccf065b83e2f99fb65484f1898183d876ea9b40011abe740c963f2186a15ea6d678a17e82f2de8613c1 SHA512 7dc4f0838a520a1521f1fb9cc82f2efb4d8cfb5f84c4001d1d836a698403c7c7b4eae4c21fa7f253dd12df90e8261d2b948c594dfac84547a30a326092d9afb7 +DIST firefox-115.10.0esr-hy-AM.xpi 598332 BLAKE2B 1320130cff1b8ca094de10b29da2071e97fc4ce1dd09e134d88b92e6807deb0ded7191825912aff37beab0164d3da6c7dab429115b74e036a9551bc7a8e65402 SHA512 48f3302b23c504f9773c342f4475b6783961465e6e21a390a30f82e7e87e396850c43b0ebc9ef90cd32cf9ab0319cb7deb291b87b7bff59fed6d1cc6386de3ec +DIST firefox-115.10.0esr-ia.xpi 591857 BLAKE2B 4077422ee634c49b94da3df499d068dc9dffb8b7194f16e58c9e9c8cb061d995b553f8ca19c41629e25404520a7d35dc36a3433d200c529044997ccf81b5bebf SHA512 60fa493cfc064e38f4c4a01e381ebfa5eb86da2d3081f87799d16251263310e2e920fa8137bfa30777d878df1d5115c4c775390e3f0c9f0ca41a687ba7d3b827 +DIST firefox-115.10.0esr-id.xpi 556343 BLAKE2B a93f65a61fe3528e3f854cc3c5b10f723c85a0b767c7fcd8c3a5d97b4e3703b44c99a95c7968240b008cc1b029692193d739804c34c0500b8f0110e84f80100d SHA512 7a6bc461c9f816cbd30e90aa60788c32624ae4137c1828968105a967f67f7573ac48871b41d3235365d572603d712c0aa6671f106ac48914c58f2e2a4f56d723 +DIST firefox-115.10.0esr-is.xpi 595869 BLAKE2B d2d230b1d2c4b847bd4f9b0d1d43c3741ce4d5aba0947a2dacfc50b167abf22f38e7e5ed3183589ad10ff5c45455ae3bc31554482049b21cae6b7d9854abe23c SHA512 9cbb13142d5b4197d44e17a532fef1cec33d601f5f5401e5edb44072483fd44323dd97e5d203d6d62a4ae6813e76a10e9f5ff71ea3828abf9a1276e1f99d2603 +DIST firefox-115.10.0esr-it.xpi 548740 BLAKE2B b5ff1f764c41c25d2fbd296ebcd1474f21a1baf86055c169cb822bfa0f5b31c3138b3ed61359d6fee2c1744eb5be0c41390f987c2afb357d1d536e75d96d0cfb SHA512 34a182440a4b854d59c2b69f22ce2632171b7880ffa25420801ca8fcb633c1da199ff1195e0de94dcad76425b0b0d845f11f2b46eb0415084f2ed7e95293c24b +DIST firefox-115.10.0esr-ja.xpi 655159 BLAKE2B ce37adc79b3c62b6bbf6a0f0755817fcb824310d7e80ad4b525ee1a46fedfd719432f3f60932ce56fbf06f508af5f43c43d1234abd694fafdd80ff5f6461068d SHA512 94fb87ef185298c2646a0285eafb08f46f29e6d0de34e40bec95b2beb6e1cf1ebdd1db08b46d42304717ac7fac312c06249080bc9f2e9473fc3ddfa9c918f88c +DIST firefox-115.10.0esr-ka.xpi 651913 BLAKE2B 201a52d9fe5e7e1caa01506be82b4cf29e1b530728e589903c44c2f0f43179ad7f7797f3c222c8e27896dc7dbbc4854dae9d5a7922e926e25764621e5f5e6866 SHA512 3b25de4ede114d5e7571dd799d846113dd3a78a58ea91e144b81f4bda76a3a9c5293450af35581b2cb3845dd4aaa82fe4ce5310384989528c7ddc7ac73256c18 +DIST firefox-115.10.0esr-kab.xpi 593080 BLAKE2B 047e199db96d5c668dd20cd9b0766fcd22f811a79a68bf50a093e7e1bafddc7ac7507c8b39c13c92f476dc998ddb4b6f34b50ef2928807ef1f53b429ed01e670 SHA512 c58d7d359eae196b55e80b3004f06615d3645993a0870137bb0aa490bf6abd3846dd352ab8611a480387db9fdb8bd0fcac95bb6b1f3a1115c38599d1250dbbad +DIST firefox-115.10.0esr-kk.xpi 686582 BLAKE2B b7fdb456422d4047487ad766239999aca17089b1bbca8485b76630b253abc43bc3d37c7b5f4b87bca2c7f0d2b84289178c6867654f57d477c9369b03f19d2bcc SHA512 251dd83768114e8a7f32209aa6470cf17deb33eddb223a9b3a562f5cceb760bac885bbb47eebed6f561dd20801c0b0d90052af140b98c4b64839844666db232a +DIST firefox-115.10.0esr-km.xpi 519947 BLAKE2B 22178cb7f978a2cbe38645333ffce5b73c78361859e2290db7243fd71007da728949754c2861a45cbd4d296fc8a9e8badab145a67ebdd7e00a5d0e4e79f521c1 SHA512 56b764fbc3f2f83589dac56e2331cb4f93df7349a992ab510d5e25b1459b890f0d11831bf2e9ca818b4c01e83268ae2fcdd50ceea7312994a15469eedf29523b +DIST firefox-115.10.0esr-kn.xpi 485818 BLAKE2B 77cd062a745621bf91d59b02d39d23490533ec2d4cc018fea2cd042a1a93965c79d4b834c53aa785abb3371ec29e366a1d9c5fcda81a87f006e5e5ed9d672987 SHA512 9617bfc68b297a8440ac16ce2b517241a61dd746844552535ef2482f07922f91eb80228315da847b0664f84851a24a938af2f80dfc8641c53ba5816bd9bb6e94 +DIST firefox-115.10.0esr-ko.xpi 641342 BLAKE2B 47c7cd8b35c3d90b5830e56a74667b08105c4974f2363bc27b5db47c6a7a51b12bda94d96add3a9fa0a7c8c4a4621b5b84601c2f3c327484dd824b87a6b0ba71 SHA512 2ccb63b7d167458502958490c078f34bf56da72f7668e835657cd3ed39d59ed0cb1f05275ba8746a3f065c036fbe09ba5f34a0744f64d969844b70dfd2b1762c +DIST firefox-115.10.0esr-lij.xpi 476789 BLAKE2B 4aa504e5a774d1b76692ff132a1af4d73d7b7869a2018d207607e4736f52cfa6eff3940734eca58063aac89ffcc819846394a740cf6288626f4b184ca1772b02 SHA512 f6ef22d34977355cd715196186aac82136d0e14f84597a0119855997f72678488fb5d0ee4fdb4526e363d8942663ce1b3256907a439b85ee1705d426b3cc70b2 +DIST firefox-115.10.0esr-lt.xpi 563124 BLAKE2B 9f3c2167618cbc99dadae9ae61e22e3b72aa770578d6958acf71d9e14636734c160324eca018d31558f00024e8aba7166abfe101779414b5e2abf0c7ecb24539 SHA512 9f0d9a47949e254e3812c58d5cd1721326f964d01b8a810064cd6f5f7b7a0af8baefddd8a2a26f4c59949558584b6f5db3849acc2c7e8cacc73963ebcb9d7cd8 +DIST firefox-115.10.0esr-lv.xpi 462809 BLAKE2B df073484ee5f8abd1ee83dfffe825c5df715f47f6d5c7f1ab7de60663fbe1588f963474e4908794f0ce19d8e85ec7ff54ead88d9f7087f9f552cfd00081e0d0e SHA512 6bffc172fba410843057f09114cb6cc96428f9bea269985c510f7e0b92b568aa56ff3f85678ad4ba048b52d0252ce46c3f27e147d7016ec6e1277f3e1fcd5d3a +DIST firefox-115.10.0esr-mk.xpi 487303 BLAKE2B 3046372dd67efae6333739b9a33433e4a3b60f421bd11675a1853ac3a26a58e77c74a23e413d514c9907056e79cbc24d44847177d7593ff86ed962b8605ae0bd SHA512 d26c01cc23e36a26a7bb4bc551df30ec80331f2a7251b9d82f6cd6e8f60496514e834be68dd03bb0632bacc880b1a55343b3b78778ae0dad72c5332daaf7992a +DIST firefox-115.10.0esr-mr.xpi 524680 BLAKE2B a45aadc291b64407660f1d51a43e27cee2a4ea2541878c3cdafd35185b72422c20149b266e6c9ef90fa6768abfb1ac22b3bc77ed86a897bcdda814a153123d08 SHA512 fa1f6438a20d19fb98bfe95b62c75a961984a1c9a052e2bd497ae75dfc575d312750dea89113a37cb56cc99a4655bfcfddcf9d4e034facea845574563901b46b +DIST firefox-115.10.0esr-ms.xpi 443377 BLAKE2B fa129de6ee1857095db3792cf31a995e01ccad32bd03ec746a46aa7926908188d6d873b152b58ee2a118c3e15d087e8fd390e4701769f7743264e79aee6ef9d7 SHA512 820f8f93b1fef6b496c22a8c0d0230725af29f7ae76af71629596b57db26e68f82e48a313c67f767c01b561493869707634db0498ee4596fb17555993c299f96 +DIST firefox-115.10.0esr-my.xpi 510866 BLAKE2B 2e7a7ec5ed9a482e41dc6acc3d3f8a562942a7668a861be0956fbf932a842a5112d6caa277080dd1a64d0bef9fc08617c8874881e4c8d6893b7b44b2522c72c1 SHA512 6fc3ab00ce40f3802ff7f1f74bc06fd4f93ea7763e45a0f5f6f6914a8af21103fe9bd4a16251bd78503b7c1318484ac49897aecdbd97b5c8363a725dccb7c6ad +DIST firefox-115.10.0esr-nb-NO.xpi 587898 BLAKE2B f202528864ffd4411e0a2ae2a48108e31b0a37ba512df061deb7e125746b9231436f7a1c38adfb7435d72fca7ebd8088addfc4cc73abf0a76b852a83ff46eb3a SHA512 2fe545622fdf38f50c67c53b790497890099746f919f7fecdd799adbb6b541d4f1d8c91e55739708a41bae7778eddeda597c9c18ac32a972ca8368f320408c13 +DIST firefox-115.10.0esr-ne-NP.xpi 482022 BLAKE2B a5f8878dc9991d124e8a1d67e98483fc26f9dfafb32072a8ded597fe7d0182a8e7bccb1614db394b573d0862d61891f70063935e091b513348588b49a6fa4266 SHA512 9f372ea20c21603f64a649a458c17f664aed28a954ec7040000718b705b74c08f1cc043c281d9af14caf50089f98b4dc65abdd149de6b4e929d45c8078362d06 +DIST firefox-115.10.0esr-nl.xpi 596847 BLAKE2B 1f82ec382539392cf162ff54fc357e64a3d1ddb644947065e804365f631ddb8e670ed2512c3fea48b7dddaabef1704a5ffcfd6ed527ec9f580b5e7acd792fdec SHA512 3b44abc4531cca3979a6aa53c75db8a75183f19e1fa241c9bfb444063236cb5b565c95a604ad7a2f8e4201b0d0db6074d96fe74217664cd369431505f7cfc16c +DIST firefox-115.10.0esr-nn-NO.xpi 584085 BLAKE2B 62b09a10f8ef60afb1d12ba858c3b32132a6fce96049721d9a0a6c818d264ecf6c2e02b70bada8f9ec35b83f94bd417035074cd9cf06c279057dc389cac0758a SHA512 ab8bdfbb521846f3baf4511a4d9dc0bbe2a7f41afadb6669648df04e06987d72ea8475ec8cc1ca40004b51b82fc3a1f04e0028e1d3d19ccfca4ca9dc2f5b9c9c +DIST firefox-115.10.0esr-oc.xpi 596873 BLAKE2B 37a36424ca5b38e9ee3d1843506830909c1b214eb5a6db9f265ecb85a088cca2471ae878ad67020b24adf8cf6fbeac7e5b186bdbdd8a63cedbfab22aee844699 SHA512 af4ae2ab2d1210db3027af39b51dbd90c467eafc84c03ce8182b942ae0f2ca97ec0557cfceb4c2a96ef23ce3f976b3d9a16805c62c6a46baf07cedfb3334fe40 +DIST firefox-115.10.0esr-pa-IN.xpi 670643 BLAKE2B ff24cb3d43d69caa77ac1eb68eafeef5fe0ea859f14710e514d9ea50ac024e92f471dacf0c14da0406622096f46cb05c8163d49734c00931ccf7c9b3132f1523 SHA512 a21f18a371c15495540facecaab6eed789835cdd715ab603797112e31d11211c0eb0e09ecc4bad111748358c00ab6d4e2f95da944bde81fe9350e29887b67e82 +DIST firefox-115.10.0esr-pl.xpi 615680 BLAKE2B e0d3965b96d349fa7cb8690334cf7bfbe43a55a6ad5d2aa322731a241b0bbd9152b54055633da76112ca9dd178985360fd422b51dab93eae1d5cf042a1a30567 SHA512 e94521e43918213b969eb45f4fee8c2cdefa206c3dc4baa0a65da52bb92feb979775f4b9f9d98ddf04f4eb7a8daa394c4d8070f5a8a0febd24a96cfd41f03369 +DIST firefox-115.10.0esr-pt-BR.xpi 602114 BLAKE2B b2e96292fc0fa9deaebaf84ba103b3af60806bfe261ec81dd554ab80a5cab7a9e40c3c086795b40afe040deeb80b622315f96b8951e040a5ebbaf7ddecd0bb61 SHA512 feb2ff4ce4b5e4d85b2fe3408299740c026244dc919551bd35d37068dcd3cce1b937ae97d308dd9d1e843a3b9a23bfdf3669b683b6eaadd79b215de687f7e298 +DIST firefox-115.10.0esr-pt-PT.xpi 598023 BLAKE2B a1cf9e8a576c0157c3f5aa3d77c6a901f29a1855caaf8a50557f61cbfb4e03da633cf3c21e2abf0924d5026c8bd167f92c44112e6280cf8c43f4d7cce5f63a9a SHA512 49ba90a1273a807b34703a01140a8bbd232146211c77789b5d1ad5652d188a2330f817d81a7253573eded925addc60e892823015d8b305ce0c3dd3e2ca8e6625 +DIST firefox-115.10.0esr-rm.xpi 595706 BLAKE2B 12299b98c43f510d2b6ac00ebcdcc8917e91d6862e63e80dd3d157b23f0811644db8903780af90ede2d75a63e68535f6a6ec1bd31387182466c55c86e0631088 SHA512 58e07a9c01b4f2d195dbea1cbd4a13a30b1c36f2f0622aba46de2c289e71baf7bf2d5e509cfde550a9104f72b248877fbd4ed4e8b2b55ad2e41bcaf802f09367 +DIST firefox-115.10.0esr-ro.xpi 540135 BLAKE2B f64ba0e7394adac48eedc8fc510b65c7937fe19ab5e44620cb001787e13dd2915bb0ae2325f32b2bd17ce5678e3ba433ade5ba2ab1481813c0972ace184722ab SHA512 dab11a86fdb19aaff8b26e5f31895b76543a0e9b103ac9975260e359f259f590a3b6715b673619c83d28cfc38ad598f815ff1ca66189268a01a0e2ff0f6d072c +DIST firefox-115.10.0esr-ru.xpi 698643 BLAKE2B 0b746f79e8c840ca82937cdea01ac9968fb5649fb31ba755f2181dace0e60d6a2853c303fa7723788d94f1ab2f5acf027fa5664ce897ccf679c58582d222105f SHA512 3a22fa98b9947808c46a14e9ec4cf833bfdf9fac7e84d97fbabdba336b28fd6552264c74adff812d31422821987b7d5bc5bbd094fd736182a455977edf415bc0 +DIST firefox-115.10.0esr-sco.xpi 503579 BLAKE2B 679eaaaa96969fc0ad3426dfe677355031d466779bb4f9558043d83afd750295536b9213e266ce5af28055b6accfcb0627f88196c32713a508ce2525e5870c57 SHA512 d956d54de232194b9cbbbf2d0e075067b0a0e7c53fccb6d9d73fc94baa3b84cdc7ae25d9f8410b1367da144b7fb4ce9dbc9f4fa1fdbc5b99c1538aa310f839a3 +DIST firefox-115.10.0esr-si.xpi 597885 BLAKE2B 7f22723c96772e3476c4dd904e32473c1b38feed90f4135a3f61be06d89f592f3867f99dd9596092cdd86e1e9d4f67f147b80e62ac8c166d61941857d58c8cd8 SHA512 921dec163467f25b6ae55ca3ca1c316f2cf33b2277ab89e0e7886b675345239b38b7ba8e6a2ac9514d17f728df99509ab3d21cc73d3eec1febbcd87b6d37db5a +DIST firefox-115.10.0esr-sk.xpi 630376 BLAKE2B 978f6f589687ac61a240858a9f05f16c038aafe24aa8cd6e9228ecc8b43f354700f7e54d9d83f8e40c1d40fcd00f40e5aa4c162021cb179cf741933e84773d25 SHA512 48b64260631a00f997605ff98f705fa954d16bb16de72ff2fa466ef8aeb4a2bcf60480aa57828fcf759cb554c5da959954ae53a1c9beb88a5467473f8d7c1c71 +DIST firefox-115.10.0esr-sl.xpi 597704 BLAKE2B 64d37abf3d9a3beb29e59cdeb51cee34ae4282148ccbfd031f72817161f11025473e3f5d3f289382508d87621ee9b6be4c20335ba6f7c59dcbacb02aacd6a409 SHA512 f205fa87ac433902430e37a0ca44bafba39df6965c331301dce56207118fa1d2d13607cd433f0bc34496c06ab013023ad538595f2a27e8af4135c973d043d796 +DIST firefox-115.10.0esr-son.xpi 412091 BLAKE2B 407dc2bf210b203a9d37f1aec654f6c04bb2f293caf6bf69dc7efa3ea3334a9497ee597cd09f0bf1112999e77f60bb11dba23739a44dd350c654596542657636 SHA512 46682b81d0e7333e57799c3738afac2eb3946c302ccbaee3164672aadc712d4c4e1700e0a92b389796c7513616db8f947fa5d2bd1ccc60aa32cf7295fb708b1c +DIST firefox-115.10.0esr-sq.xpi 615534 BLAKE2B 5094b055b665bf19a50b95f3572eb052e644f059657535050c16876b758eb2c5dff1cccfd1056c40703099bf62085136ed41fdff30700e34f0439b48271bdc74 SHA512 0bc82c799a5d9b6074eda835cd1fe94c8d5df6e08cc488bc24ddcbf12c9e4d3f3c5797059773e19011d951b670e1a909fe0b0118e02bed86dd5c4e089a1c549d +DIST firefox-115.10.0esr-sr.xpi 630486 BLAKE2B 9e8f7ffaf00ba44a93cc182907ca53ccaa1ccad062b9ebf841ba8652e1548e9acdb1c7d8236ca9b2dffaf64069308e8c92b159132d49655cad3ddf3ad642e925 SHA512 c9b1f055b00f33ddd07643e8c30dc83fa23086e347e6f2ea32eb9bcc1b4ca4765ca588247bab63ef56e273f79f085848bd4df6f3221cf177879675c36b8c3d4a +DIST firefox-115.10.0esr-sv-SE.xpi 599917 BLAKE2B 18b189aea66cff56eae3a08e1bf4d7e4f727dc464b9038e5db1a47906f987f9544b2284a1619469dacec164903e88adf7a363813cfeaaf769ba08149e212a791 SHA512 5e282c41d53010329966282b44b90124a2329a290a8e9775116dfbd0ee2416c0353b78651ba4d24f70920a79f6c96734394446cca3a855622eafa575f4420089 +DIST firefox-115.10.0esr-ta.xpi 501438 BLAKE2B 0817fad6187721e3d385a4e7a478048133258d429ae46d79a20d8b31bca5efdf30e29c93ce03d917a43582d7e15ef81d39e0bcb5ca9dcb50f1e483cfdc7a4368 SHA512 f3b55a6d37e486e5925e2a3d8711112929119d007b33bd81be06c476cd5ea863d6783b9d4cf4473618284ee774e1e976e3daeb10db0638ac02bc1a6714c3b93b +DIST firefox-115.10.0esr-te.xpi 551802 BLAKE2B 71d28a424cbe6ba753d9d3b2a3dac8a96b1de29be807ff4741cc4e62a7e1b1aa7e130171dd4432f16c5ae8fa8b0414114340f269a64556c631adec410c69ab77 SHA512 9a72aa4bc873b92dc5dde5ceb7eb5203e1f3c2d5f2a48020fb1f236c923b7ffb88fdeae936cb7abec4b9bbc03c290cb8d6aa0b3cb3b2d4cf041e09a6b755886d +DIST firefox-115.10.0esr-th.xpi 671605 BLAKE2B 5d5f4281b1a594bbc8fa66cd155598d29dc317a51a0112410c0c8efeb99347041591968933119aa117d12bb5f59487a62b3a03fbcefc1e15448072ff15a740aa SHA512 46b2cda107e02848579a60981ac686df5a445ed4450b5e3b2f040c164f393808a9d412e7b62ed98542877f80f57263ee6471abdbd3b65730a90f10474c7907ec +DIST firefox-115.10.0esr-tl.xpi 525552 BLAKE2B 062f2f70e263e0d9682132e1c4e00d1d8eb2f24150d0ee8f1ff9826fec57f35652746ced46f814fbd7b92be9f7a408dc379f7a02df4baa44458b3fa761e65dcb SHA512 5f349794aa78bda010bc7c22f0a8768eda04543ba4fab0181c43fbf3c9f5a9cff304f8c225f5375d4040f875175ce031d4791fd17ca732e44bfab5278da9954e +DIST firefox-115.10.0esr-tr.xpi 611465 BLAKE2B b3d7effa5f1b56d1e2fc40f9dfd7e445b4589c3cd618ea258c3a4863b17764ed6d5e74496c8ba7c606dcd4f5af1b47e5f1159a6b14190a464724a83609dafb17 SHA512 cf1f1e9fb206882a27fc01105d19acaf8b6e768b82543f8e5c7f3fc239613693f3c7ada229bd72588e3e36d52a6b921b297b21cde40e25195c1a12953dea95d1 +DIST firefox-115.10.0esr-trs.xpi 496288 BLAKE2B 4ed669319b42b0e6eb59261235a7289e7c91e3fff72dd46dbf2e8c2d3a869b5505d0e05a74683b5525e73687bbe015aa0ce25aca2d6b8c2532ef40b2fe9a8f0c SHA512 a0aa6aab9e79fb8c72d1b47bd6d6e8cd2562e2ec20e6fbfe04e28fa27bff2ed6e81154805aa26b893212f4473e8e9ab327aa4428c64e7d3ba3ca1a45597df34d +DIST firefox-115.10.0esr-uk.xpi 691161 BLAKE2B 3947b019a27c6fa9e16bb81f910c067aa821e19cc099856c360e193a0babad6a834077962288082cafed5700104f382c24c6104e58a6159c79887824b271181d SHA512 9c2ee95dff1964f76140b668035ba1d6e664163d7a7b7e54626cf8c72f72d54c1b2766c3c260025d941d535548b16ae44d830563aa708404822a14c71fad7bc9 +DIST firefox-115.10.0esr-ur.xpi 552294 BLAKE2B aff668767eb96e3f73ea8a348e6e9b42177f93eb3a72fcd10461fb1b3ae3b3f83ab11eaf7a29a202121291dcb2c8fbbea0226b3f5ecd09af4c4c13f83f64b84a SHA512 41602d981c5179d23af32beb7aee74cd1bc77076b5f6683325599abd163ceb1ed2c546715001e4d6c689b4d32e2656dc35ad709d8aa882f4855752176cdf2352 +DIST firefox-115.10.0esr-uz.xpi 472952 BLAKE2B 7cf576fcfa54b7ae6379a271e52f3d9ef361437d00f5b58c4d1ef9b95eec3349f3c5f86adcef3aa9acadc1ab494d577e281b2436c7ac87ce921afe60ed414df8 SHA512 2b497c0d12c57c50c3f82413b2c910ab73d23b9cfd6eaa32e6a05d5bb3dde1705d0c30aa5f07d1bf65ab2dda110428dbe5fd384291bd2ff211a0e1777fe255d1 +DIST firefox-115.10.0esr-vi.xpi 635921 BLAKE2B 9aaa16fbddfc39ce050861f34ea556f478b3f1ebd7f1bf1c16b824c8327d1daa083297034d5b6b530b1ef32d1aaa3ec03c3b64523a3a292cfaf4736be4a64810 SHA512 02c5eeffbcc6e8b86af07cde9610e805e4608a4f248f02dc232686e3dcde05bafae238dccdbc4239a273f140546c1cb89f32b8d4b7008baecfc1f042bf147fc2 +DIST firefox-115.10.0esr-xh.xpi 413331 BLAKE2B 91044dd10d764a276c14291cdd1540f4c6b4c6c12057c1ab7e91f9c233eb56b7ed5e0c17a09f939dbb445d8b1f5571d2619628f4107c0595d76dc1ba58c4adda SHA512 64db456904b4669958ca3b1fc340e3972e5c7b96c13dd9a2d9b1b208bf4fed4713f1c7e007f21a291d4ca9d3ccbd6993d102c90e29ba37042720505f1a767011 +DIST firefox-115.10.0esr-zh-CN.xpi 634778 BLAKE2B 461d085d9c6d259f4a3564c149b9300df48ce1ab0ef9222ae25594c3cbb933d2559fd2deac806830f9107b872169a18edc22b1dd08b985fb28f21cd71dab1429 SHA512 cf9db5ab2029cd4bd7cbe02012e68759433b3d0cc6cd1fcaf5b6774e9c111cb65f577f128a55b0989869879d4e4f24ea11ccc86bcfdb05181b0aaf9b65b5c0b4 +DIST firefox-115.10.0esr-zh-TW.xpi 639166 BLAKE2B 8dca774967abcc50d6408eb7a05013fab8d942c723e79dee956aa09dcbe1370c4087f9809623a2fbfb616c029f5c002b116a302e04ef2efc160964c193cbad9d SHA512 0f3d1f2e14f5c70f08fc6fe25edc4ad07e67936a90820a8f432d48ea3aac976bf528b267ebaf285d1d394d9a3b57106d9dc8a389389ca4a4bf93d5b0a61b5c44 DIST firefox-115.9.1esr-ach.xpi 456933 BLAKE2B e405a3ccd8b5bdb34d45af640897862471e0f5de5e8ac62d8e35832aa910a1faf75b12584e60ec7b492f77e628e2dff97d935f78c77ee48c5ceaacdd471b2071 SHA512 b5b73c34355a29846ff6278bdd7b3b71df28310a474ab71c08db7947d5a558b2a09a8abbfdbbe19c83db4777e454d81b73c66811488e5d04e1545da13fbd35a7 DIST firefox-115.9.1esr-af.xpi 413575 BLAKE2B c88223bf7ae30f06cccd9b792c71da70d34fcada7dc4c09221bca1d090d04c96218d2e9cc5ee969f142e15c0c357731992a871108f5a3218b24ee07c46c88307 SHA512 8f3b0c9166f663a8342a7208c8b797b90359cb6b52024e1c145e0c42d7ff649a9dc2a8e6540ceb4079e98ee677590d75cf9c4515285d98841116b68bf5a2831b DIST firefox-115.9.1esr-an.xpi 497254 BLAKE2B 44eef76df85e115b358d5731a26149db2e19a562c46b825eae2aeaf91eb2b7c6eb1f481ce41b7942c9a22431688f26a18a7d60cdc8610d0124ed4f4157cd3689 SHA512 6e2b9647bf63fc07ac6f12cfdd1b928bfc401c968ac440f3ecbb76eafe2f91b0e48134ecefb0cde4f0473e896562ce93ba0eb90f88a8c02eb4fb72520c2ce02a @@ -292,12 +388,15 @@ DIST firefox-124.0.2-vi.xpi 638584 BLAKE2B 9b0818957b987ec56229834b46ced5d1279b4 DIST firefox-124.0.2-xh.xpi 410993 BLAKE2B cd7436a833ea5672766a60441fd44ac8be56c402d354853dda5bf672b6aa1ac7a1c0785e1371fda3d14b9bef772c81455e3fde71fcfaa45072d459c33b251524 SHA512 2a102f27f3f2cc60db5ef778f61fd16c8e6b9faeaa6f92c928a67024b31680b50211f8016e4a5536ad6bb1148933af151b39708dad0b28425b14d20886636649 DIST firefox-124.0.2-zh-CN.xpi 640173 BLAKE2B 981d6819da6600b28fd3fb10b7adc6fbd14607eac0ac718124ee4d5befbf139e140d731a87938e4d348b9aa258477e82b86ef66b07ed204790e9ce859d9befa1 SHA512 d659578ad68bcc0433ea6f03f272fbd9dd6292efda0a2d84a33b987858e54deca10a5bc1d8bd68c721bea258a57296fc93e29fb72fc9fa0286afe0ca65d364fd DIST firefox-124.0.2-zh-TW.xpi 642118 BLAKE2B 56be8d7c6c780688b0160ec0bbab7258ee9d88b1087a0faf95b40f11dfd18acbf676eedecef7a9c45a5fe82d09f5f9a815ca69aab4a44fcbcadb81bb6909671e SHA512 5bc8540068fcdec6728d743f123db6a4d7936b63b1dbf1a669d1dc7745b9e9ba1512860408acb3adebb987cfbcda0ea8c23eb998bc3e056dee5799092a0a8fe5 +DIST firefox-bin_i686-115.10.0.tar.bz2 84198828 BLAKE2B 0c1c3ba0a656bb2b64ace3cca14708f22a9635047aa9f40a8181e480150b8a388d7ffcf8e0aadf06a8517300eaec173525ca7dc0b940018a48c8db548841ccf9 SHA512 12785b3b16d1d0ca2608ddd3580f6fec21ea5c0b849b3551145959140ac0e4c9705412d4771f4db4e07154d3b9974100c76f0edd2e045b0a0d08ef79ffd78a60 DIST firefox-bin_i686-115.9.1.tar.bz2 84336384 BLAKE2B 86bb73cb4ee044adaca62d3bd7c4e9276b8fc00cdbab08cf0c2d3540b5341c427c552c739937fd1dd168df872b7cc7bbe5a6d5c33d417ee3fc249b2d006ee334 SHA512 795763440b2b84c29727565175b3fcd7648eb9556d620c0385f812ef47bb4fa6d9b4c77f2e23c433c33e72949ddf8c4cfd0f73c3a45e21cf94ae576dc19f421f DIST firefox-bin_i686-124.0.1.tar.bz2 87345897 BLAKE2B 3f6ed2c30aa8b57c3dbc44d23b89950f2b3277b0b9d78e52fce158951341d350cb2dd9b1b171e269b61af8fbad1bcb762c4fa258a882285fe7cbb24c3b6f14ce SHA512 cb08dfbba742ac5576f799aad0daa5c417d82244fbaa0dceaffe90184ab05c9f2cd1342e0a3fa195a088acc908fa49876e0ea020c9fb75f180f7fcf6cfb17cba DIST firefox-bin_i686-124.0.2.tar.bz2 87358836 BLAKE2B 9bd7864dff5592d8b3964486e76dbd5214d4dcc320b14180ce035f139f8961867ab795b0016087cb19b884d4ff1bf4fe3df61d363d49a53347d5bf4d14bdb47b SHA512 8f2c5b14ddc83871b3335ac47cf81573d4e8219cd1285a37bcca1a65ac6e7e4c700916229525277bc05dc94086acdde833f900a38ca10d799ade2efb69a83b99 +DIST firefox-bin_x86_64-115.10.0.tar.bz2 80568370 BLAKE2B f7891527e45c30e2f0894660cbcb08c6ba001f0f2e5bbd37496975bf881adcb7153f00aded98785b7a403a1ae43764bfbd2e3e6a3ff80435bc8b4f9f85f84abd SHA512 cfeb0fa700a06b4cd53b70c2e3a64e145ad3e7c7e21e47adb8a6aaf727203ce0fb363b9120ef4cb91d86d48933dddce11aa04b866c1880869b218d5a43b07205 DIST firefox-bin_x86_64-115.9.1.tar.bz2 80521869 BLAKE2B 54a3562a21d6b5b6f7e33213e2703c659bec81aa0a8f81dfad594df13ecd11eec55b9e9a4550f58b2649acac1dece3191887ea1b9ba19ed811261e9347053ca0 SHA512 3c00bd50cae759cc565226465d6cbf6a204343fc611429087665d7e379fd50b2d7cc287d0823649cb25deb30320b22c2dd860af43f5d649cc0db58441bea50ed DIST firefox-bin_x86_64-124.0.1.tar.bz2 85699821 BLAKE2B 695d8e87e423092e50ccf721163b94e32f8a4daadc0329afe740a860f3c83c6b293f4d980e7aac417377d3fd6a506dd7bd77a00b938662a095d14d5a040e2ec5 SHA512 8bf6a6fe2b672ff026909d98bf711a693164a6367b1b247c66b566e84c1cf71f1d29de128ca17d84230344dc64e28c9130ec5b0cb7942aa166d0786bce4226b8 DIST firefox-bin_x86_64-124.0.2.tar.bz2 85709317 BLAKE2B 0bf77caf0cf9ea92f1087ee9b84c2ea720fd7e9a7646ee09c48f808880c1cc518b65f6b8d6102cc12f732d763d43fb17e090fd3494a8b7a05c74c3968d8dad3a SHA512 81f8fb09bc08af78da51c2dde960c6be5e10d87ac0422eba4f6a9b674f7249abec3313f5b4f7b4d9ee91aed80bfd28c5ce07c568fc089581329ec52480f81b5a +EBUILD firefox-bin-115.10.0.ebuild 10934 BLAKE2B ba31c56b7abf9e2089563a33054a5ca6caf1e9cc92a7837600f0af25f8768a773ae2e2cbd2049964847ec2d5c93cedfeeed7e3a8f93704d9e8f8c8360ca581d1 SHA512 41e2a60e4a0bf1bef6f591bd0ff34a9ccadf7c85c94a23d0605230dd2ed35d01b54ea25534fde940766c7f52be5444d493bc7280dfdaaf2a7bc7f3d214d554c4 EBUILD firefox-bin-115.9.1.ebuild 10934 BLAKE2B ba31c56b7abf9e2089563a33054a5ca6caf1e9cc92a7837600f0af25f8768a773ae2e2cbd2049964847ec2d5c93cedfeeed7e3a8f93704d9e8f8c8360ca581d1 SHA512 41e2a60e4a0bf1bef6f591bd0ff34a9ccadf7c85c94a23d0605230dd2ed35d01b54ea25534fde940766c7f52be5444d493bc7280dfdaaf2a7bc7f3d214d554c4 EBUILD firefox-bin-124.0.1.ebuild 10770 BLAKE2B c1cfb3d7e0810c354897e6c89612c3ba36d710f894211e89bccb91beb929c322a98e073be4c3d897da5d257214eee05bf3b5b1a7f3837440522fc21db5f94fce SHA512 abfa565783903bd65a3399098a6d5082e1d9a5535008ecc00f2f4656a1eda01430e98922d98b242cd42357458341a22056dd5e7b00fcc8e0afc3bc2958aa0dd2 EBUILD firefox-bin-124.0.2.ebuild 10770 BLAKE2B c1cfb3d7e0810c354897e6c89612c3ba36d710f894211e89bccb91beb929c322a98e073be4c3d897da5d257214eee05bf3b5b1a7f3837440522fc21db5f94fce SHA512 abfa565783903bd65a3399098a6d5082e1d9a5535008ecc00f2f4656a1eda01430e98922d98b242cd42357458341a22056dd5e7b00fcc8e0afc3bc2958aa0dd2 diff --git a/www-client/firefox-bin/firefox-bin-115.10.0.ebuild b/www-client/firefox-bin/firefox-bin-115.10.0.ebuild new file mode 100644 index 000000000000..95d67fb921b1 --- /dev/null +++ b/www-client/firefox-bin/firefox-bin-115.10.0.ebuild @@ -0,0 +1,378 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +inherit desktop linux-info optfeature pax-utils xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.bz2 -> ${PN}_x86_64-${PV}.tar.bz2 ) + x86? ( ${MOZ_SRC_BASE_URI}/linux-i686/en-US/${MOZ_P}.tar.bz2 -> ${PN}_i686-${PV}.tar.bz2 )" + +DESCRIPTION="Firefox Web Browser" +HOMEPAGE="https://www.mozilla.com/firefox" + +KEYWORDS="-* amd64 x86" +SLOT="esr" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="+alsa +ffmpeg +gmp-autoupdate +pulseaudio selinux wayland" + +RESTRICT="strip" + +BDEPEND="app-arch/unzip + alsa? ( + !pulseaudio? ( + dev-util/patchelf + ) + )" +DEPEND="alsa? ( + !pulseaudio? ( + media-sound/apulse + ) + )" +RDEPEND="${DEPEND} + !www-client/firefox-bin:0 + !www-client/firefox-bin:rapid + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/dbus-glib + >=dev-libs/glib-2.26:2 + media-libs/alsa-lib + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + sys-apps/dbus + virtual/freedesktop-icon-theme + >=x11-libs/cairo-1.10[X] + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.11:3[wayland?] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXtst + x11-libs/libxcb + >=x11-libs/pango-1.22.0 + alsa? ( + !pulseaudio? ( media-sound/apulse ) + ) + ffmpeg? ( media-video/ffmpeg ) + pulseaudio? ( media-libs/libpulse ) + selinux? ( sec-policy/selinux-mozilla ) +" + +QA_PREBUILT="opt/${MOZ_PN}/*" + +# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then + MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) +fi + +MOZ_LANGS=( + ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy + da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu + fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM + ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my + nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru sco + si sk sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi + xh zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +pkg_setup() { + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + mkdir "${S}" || die + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + MY_SRC_FILE=${_src_file} + fi + done +} + +src_install() { + # Set MOZILLA_FIVE_HOME + local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}" + + dodir /opt + pushd "${ED}"/opt &>/dev/null || die + unpack "${MY_SRC_FILE}" + popd &>/dev/null || die + + pax-mark m \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \ + "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin \ + "${ED}${MOZILLA_FIVE_HOME}"/plugin-container + + # Patch alsa support + local apulselib= + if use alsa && ! use pulseaudio ; then + apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" + patchelf --set-rpath "${apulselib}" "${ED}${MOZILLA_FIVE_HOME}/libxul.so" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js" + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/browser/chrome/icons/default" + local icon_symbolic_file="${FILESDIR}/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^} (bin)" + local desktop_file="${FILESDIR}/${PN}-r3.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN} --name=firefox" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + use ffmpeg || ewarn "USE=-ffmpeg : HTML5 video will not render without media-video/ffmpeg installed" + + local show_doh_information show_normandy_information show_shortcut_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_normandy_information=yes + show_shortcut_information=no + else + local replacing_version + for replacing_version in ${REPLACING_VERSIONS} ; do + if ver_test "${replacing_version}" -lt 91.0 ; then + # Tell user that we no longer install a shortcut + # per supported display protocol + show_shortcut_information=yes + fi + done + fi + + if [[ -n "${show_doh_information}" ]] ; then + elog + elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):" + elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all" + elog "DNS traffic to Cloudflare by default is not a good idea and applications" + elog "should respect OS configured settings), \"network.trr.mode\" was set to 5" + elog "(\"Off by choice\") by default." + elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences." + fi + + # bug 713782 + if [[ -n "${show_normandy_information}" ]] ; then + elog + elog "Upstream operates a service named Normandy which allows Mozilla to" + elog "push changes for default settings or even install new add-ons remotely." + elog "While this can be useful to address problems like 'Armagadd-on 2.0' or" + elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security" + elog "concerns prevail, which is why we have switched off the use of this" + elog "service by default." + elog + elog "To re-enable this service set" + elog + elog " app.normandy.enabled=true" + elog + elog "in about:config." + fi + + if [[ -n "${show_shortcut_information}" ]] ; then + elog + elog "Since firefox-91.0 we no longer install multiple shortcuts for" + elog "each supported display protocol. Instead we will only install" + elog "one generic Mozilla Firefox shortcut." + elog "If you still want to be able to select between running Mozilla Firefox" + elog "on X11 or Wayland, you have to re-create these shortcuts on your own." + fi + + optfeature_header "Optional programs for extra features:" + optfeature "speech syntesis (text-to-speech) support" app-accessibility/speech-dispatcher + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "desktop notifications" x11-libs/libnotify +} diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 28223ba4d2ac..3200b541fce6 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -513,8 +513,8 @@ DIST firefox-124.0.2-zh-CN.xpi 640173 BLAKE2B 981d6819da6600b28fd3fb10b7adc6fbd1 DIST firefox-124.0.2-zh-TW.xpi 642118 BLAKE2B 56be8d7c6c780688b0160ec0bbab7258ee9d88b1087a0faf95b40f11dfd18acbf676eedecef7a9c45a5fe82d09f5f9a815ca69aab4a44fcbcadb81bb6909671e SHA512 5bc8540068fcdec6728d743f123db6a4d7936b63b1dbf1a669d1dc7745b9e9ba1512860408acb3adebb987cfbcda0ea8c23eb998bc3e056dee5799092a0a8fe5 DIST firefox-124.0.2.source.tar.xz 555223648 BLAKE2B eaa35c3967514cb9f9ca48e32414bdecead3147a3d5ba8e9648be32f04b5d9e209ce71e02029851e1654c66d5cefd9a7b1a2a0fa68558a856c2ae3b1112d04d6 SHA512 8cf340de6e34812f8ae3363265859a263330af770d981c3dd1ca1e7e0cfe513604d3e68184d4aa1446569aefbdf359d561fbc200faf19a5ed020a1709d9ef10e EBUILD firefox-115.9.0.ebuild 40131 BLAKE2B 075005b8f056a3220b0e25860e87698e377388471f90e156dff30fa0c554d48317ec5b0784f9058cf8e6e109ad290eea7db4bc2ee0df63d6b0d17a493f6fa7b1 SHA512 cda2b831f8738e2fc67894ac22e913cbda202d1e72f204655fcd7169b12cb1a7aa7c10a1b24ca61328ea4bdf0427a8b76a497d1be3d3fee77539caf4e2b573a3 -EBUILD firefox-115.9.1.ebuild 39990 BLAKE2B b6b31a6e12d1bccb7daa3bd5f7ecf97b83fa0b3f773b44a2250fb82af90bebb4258458970da7c09499a6a904fd50daf6ca58257b6b37e53baf4f6c97fba19641 SHA512 243d25d96dd8885134c4a1dbcd2889c6e34ea7b26c1e7a5549d0904885075edd5773ec75ef7604c6e165ce2f3869e4207596903fc7b1a00fd251fd55353b591e +EBUILD firefox-115.9.1.ebuild 40019 BLAKE2B 575bc61867dca8459f3eef56dc9cd42f74e85d16ac519e13a02f008183bbc462c2aaf72003454ac1e5e7303d4721a422333a1f465c5bedc1f4c3f83b5f447eb6 SHA512 4c5dc8c49d1e9e6eec7f330e20c9e67dbdffb337637b96a520c39cde22219369d8abae5ba498cb693835d8e333182b12802313dd896d131758e2a83b0abb5915 EBUILD firefox-122.0.1.ebuild 43363 BLAKE2B d215e52ef1a0c12c36c1956ce551ffb80fef00c8dadc60b0a8d4e08f22308fc4216a0c02abf81490b9ee54abdc9a8c2edbdab4939df9282608a427d19cae9423 SHA512 0195715e17e34da674ef69785af0261ef4a229f55679b088cbdfff25e89cebe5f965a3f42ad48226c9eb47ab3951c88969e256a26f6639ba3d74d42ed7b21fe7 EBUILD firefox-124.0.1.ebuild 42533 BLAKE2B d0463da13e3e8f3c38ca8890186352e69e18ab39bc2143bb6fc4fabbe17af777ee14624f5c4b9a11449cdba7062f2331cf82a11ab26a34cd9d1bf4b376e98244 SHA512 9de09b56d40257d7c9aabc5806a61235ba66b5701ed7c329d5e0cd0544d9e64f85ccdc2923b7f51996e489e42cf4064c3b3675fd4918f1c9d0d1e0cd6a013833 -EBUILD firefox-124.0.2.ebuild 42502 BLAKE2B ca5f240f42aef91eecf304094e207a34cd9db86eb86eb8388c3511e8d7e9ee84feb8f3c4082ac590f5bf93da3487b8a0b5fccc97b8e66d55a351e508566fac32 SHA512 4d65170821d54af501d76f6012c5f1f338b4e9f958a9419a08398e4d3fcf534484854c63b5c2375db06d8c0f135450c5e7ced2b3d6839518162cf35ce97346b5 +EBUILD firefox-124.0.2.ebuild 42554 BLAKE2B 7b2d19ba6bd75dc29fe05b8133fba8f971d49c03a68338b449a58837c4457f8f66df90cd64b8b3ada13dd61c406226b97fda5a4e7c3dedd670dd03136eb98892 SHA512 4fa2363e85d9c5e78e676f41f11d75c684d32b92adb45fe8ea39eb288750d89e93e15b181755e550b66508a922686d97d9322b74e3085e7a1e3f674b05b245b9 MISC metadata.xml 2597 BLAKE2B b449997bc096ed8fb7bde41a5acb8d9f4c1c8cfc9663c06ff603cca756e8868d40049fd292a459a00d80b4e8c3a74e91e29fcb04abe87277640fe65d070f0bda SHA512 703c7f6a2b46748786145b0973a7b8439e530c96fd7c50d773efac7d5d9bf74ccb4f0c252f2701459944f2b3ced22d3e57ddf049b9aed0c8f0e094cabddda251 diff --git a/www-client/firefox/firefox-115.9.1.ebuild b/www-client/firefox/firefox-115.9.1.ebuild index c433643b1f37..d07acf7df8f4 100644 --- a/www-client/firefox/firefox-115.9.1.ebuild +++ b/www-client/firefox/firefox-115.9.1.ebuild @@ -1062,8 +1062,8 @@ src_configure() { # Solution: Disable build system's elf-hack completely, and add "-z,pack-relative-relocs" # manually with gcc. # - # elf-hack configure option isn't available on ppc64, #916259, #929244. - if use ppc64; then + # elf-hack configure option isn't available on ppc64/riscv, #916259, #929244, #930046. + if use ppc64 || use riscv ; then :; else mozconfig_add_options_ac 'elf-hack disabled' --disable-elf-hack diff --git a/www-client/firefox/firefox-124.0.2.ebuild b/www-client/firefox/firefox-124.0.2.ebuild index 6f3569d8404b..83133451fc36 100644 --- a/www-client/firefox/firefox-124.0.2.ebuild +++ b/www-client/firefox/firefox-124.0.2.ebuild @@ -611,7 +611,7 @@ src_prepare() { rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die fi - if ! use ppc64; then + if ! use ppc64 && ! use riscv; then rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die fi @@ -1061,8 +1061,9 @@ src_configure() { else mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr fi - elif use ppc64 ; then - # '--disable-elf-hack' is not recognized on ppc64, bgo#917049 + elif use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on ppc64/riscv, + # see bgo #917049, #930046 :; else mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack diff --git a/www-client/google-chrome-beta/Manifest b/www-client/google-chrome-beta/Manifest index a223de06842b..37df4dd79086 100644 --- a/www-client/google-chrome-beta/Manifest +++ b/www-client/google-chrome-beta/Manifest @@ -1,3 +1,3 @@ -DIST google-chrome-beta_124.0.6367.29-1_amd64.deb 106855148 BLAKE2B 855237e1b8a76fa4f9107755b61f060fefb849b575492602640d7ee75f3f5f7ef08b37a948e4f1c2fa2a2d19b3c879adcf4dcb00dab8ab61f48d1a73c7a79af4 SHA512 8565f0fd8037d067b93a172d221853da96d740c70c52f2f7d2e2bc6b294cfc43b84324ae7fb6b9fddea16157818f7c61bd05a83b9d6dc07f33d21c19d6171102 -EBUILD google-chrome-beta-124.0.6367.29.ebuild 2983 BLAKE2B c0683d291bd6459daf64a35c34b4d56824b1c1119afe758af8bc18dc2a3625f16c5e94b4a137a8fd5b7673d36d3b6e559df17269ad3dce405643edb809137e10 SHA512 b00a89fbd7d0d9dd1a999ae2b01b7aec9ad2b6e7b9bde8727e22b9a35769da5ed7fe351fcca6681e02007380662b0688a2990f205b1dfed8effb91d991ab21d4 +DIST google-chrome-beta_124.0.6367.60-1_amd64.deb 107169604 BLAKE2B 76c3f09409e84c9a397dc378fc12bc26a31eff224e09f81f64b7b94516c06e9bb804ac66cfa625dda959b093aa4761e6a6413a2a48ea5f8484608488d2afc1ff SHA512 a3674b7d4c81a12642af981db1fb9838138e80100a0c2a6bf42c297eec82f6865d946c71bdd1695aeba600315aea4309bfcae127584557945582503bec670486 +EBUILD google-chrome-beta-124.0.6367.60.ebuild 2983 BLAKE2B c0683d291bd6459daf64a35c34b4d56824b1c1119afe758af8bc18dc2a3625f16c5e94b4a137a8fd5b7673d36d3b6e559df17269ad3dce405643edb809137e10 SHA512 b00a89fbd7d0d9dd1a999ae2b01b7aec9ad2b6e7b9bde8727e22b9a35769da5ed7fe351fcca6681e02007380662b0688a2990f205b1dfed8effb91d991ab21d4 MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986 diff --git a/www-client/google-chrome-beta/google-chrome-beta-124.0.6367.29.ebuild b/www-client/google-chrome-beta/google-chrome-beta-124.0.6367.29.ebuild deleted file mode 100644 index dd9e9c497aea..000000000000 --- a/www-client/google-chrome-beta/google-chrome-beta-124.0.6367.29.ebuild +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright 2011-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr - sv sw ta te th tr uk ur vi zh-CN zh-TW" - -inherit chromium-2 desktop pax-utils unpacker xdg - -DESCRIPTION="The web browser from Google" -HOMEPAGE="https://www.google.com/chrome" - -if [[ ${PN} == google-chrome ]]; then - MY_PN=${PN}-stable -else - MY_PN=${PN} -fi - -MY_P="${MY_PN}_${PV}-1" -SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb" -S=${WORKDIR} - -LICENSE="google-chrome" -SLOT="0" -KEYWORDS="-* ~amd64" - -IUSE="qt5 qt6 selinux" - -RESTRICT="bindist mirror strip" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - app-misc/ca-certificates - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - >=dev-libs/nss-3.26 - media-fonts/liberation-fonts - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-misc/curl - net-print/cups - sys-apps/dbus - sys-libs/glibc - sys-libs/libcap - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - || ( - x11-libs/gtk+:3[X] - gui-libs/gtk:4[X] - ) - x11-libs/libdrm - >=x11-libs/libX11-1.5.0 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/pango - x11-misc/xdg-utils - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X] - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - selinux? ( sec-policy/selinux-chromium ) -" - -QA_PREBUILT="*" -QA_DESKTOP_FILE="usr/share/applications/google-chrome.*\\.desktop" -CHROME_HOME="opt/google/chrome${PN#google-chrome}" - -pkg_nofetch() { - eerror "Please wait 24 hours and sync your tree before reporting a bug for google-chrome fetch failures." -} - -pkg_pretend() { - # Protect against people using autounmask overzealously - use amd64 || die "google-chrome only works on amd64" -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - unpacker - - rm -r etc usr/share/menu || die - mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die - - gzip -d usr/share/doc/${PF}/changelog.gz || die - gzip -d usr/share/man/man1/${MY_PN}.1.gz || die - if [[ -L usr/share/man/man1/google-chrome.1.gz ]]; then - rm usr/share/man/man1/google-chrome.1.gz || die - dosym ${MY_PN}.1 usr/share/man/man1/google-chrome.1 - fi - - pushd "${CHROME_HOME}/locales" > /dev/null || die - chromium_remove_language_paks - popd > /dev/null || die - - if ! use qt5; then - rm "${CHROME_HOME}/libqt5_shim.so" || die - fi - if ! use qt6; then - rm "${CHROME_HOME}/libqt6_shim.so" || die - fi - - local suffix= - [[ ${PN} == google-chrome-beta ]] && suffix=_beta - [[ ${PN} == google-chrome-unstable ]] && suffix=_dev - - local size - for size in 16 24 32 48 64 128 256 ; do - newicon -s ${size} "${CHROME_HOME}/product_logo_${size}${suffix}.png" ${PN}.png - done - - pax-mark m "${CHROME_HOME}/chrome" -} diff --git a/www-client/google-chrome-beta/google-chrome-beta-124.0.6367.60.ebuild b/www-client/google-chrome-beta/google-chrome-beta-124.0.6367.60.ebuild new file mode 100644 index 000000000000..dd9e9c497aea --- /dev/null +++ b/www-client/google-chrome-beta/google-chrome-beta-124.0.6367.60.ebuild @@ -0,0 +1,132 @@ +# Copyright 2011-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he + hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr + sv sw ta te th tr uk ur vi zh-CN zh-TW" + +inherit chromium-2 desktop pax-utils unpacker xdg + +DESCRIPTION="The web browser from Google" +HOMEPAGE="https://www.google.com/chrome" + +if [[ ${PN} == google-chrome ]]; then + MY_PN=${PN}-stable +else + MY_PN=${PN} +fi + +MY_P="${MY_PN}_${PV}-1" +SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb" +S=${WORKDIR} + +LICENSE="google-chrome" +SLOT="0" +KEYWORDS="-* ~amd64" + +IUSE="qt5 qt6 selinux" + +RESTRICT="bindist mirror strip" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + app-misc/ca-certificates + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + >=dev-libs/nss-3.26 + media-fonts/liberation-fonts + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl + net-print/cups + sys-apps/dbus + sys-libs/glibc + sys-libs/libcap + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + || ( + x11-libs/gtk+:3[X] + gui-libs/gtk:4[X] + ) + x11-libs/libdrm + >=x11-libs/libX11-1.5.0 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/pango + x11-misc/xdg-utils + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[X] + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + selinux? ( sec-policy/selinux-chromium ) +" + +QA_PREBUILT="*" +QA_DESKTOP_FILE="usr/share/applications/google-chrome.*\\.desktop" +CHROME_HOME="opt/google/chrome${PN#google-chrome}" + +pkg_nofetch() { + eerror "Please wait 24 hours and sync your tree before reporting a bug for google-chrome fetch failures." +} + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "google-chrome only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + unpacker + + rm -r etc usr/share/menu || die + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + + gzip -d usr/share/doc/${PF}/changelog.gz || die + gzip -d usr/share/man/man1/${MY_PN}.1.gz || die + if [[ -L usr/share/man/man1/google-chrome.1.gz ]]; then + rm usr/share/man/man1/google-chrome.1.gz || die + dosym ${MY_PN}.1 usr/share/man/man1/google-chrome.1 + fi + + pushd "${CHROME_HOME}/locales" > /dev/null || die + chromium_remove_language_paks + popd > /dev/null || die + + if ! use qt5; then + rm "${CHROME_HOME}/libqt5_shim.so" || die + fi + if ! use qt6; then + rm "${CHROME_HOME}/libqt6_shim.so" || die + fi + + local suffix= + [[ ${PN} == google-chrome-beta ]] && suffix=_beta + [[ ${PN} == google-chrome-unstable ]] && suffix=_dev + + local size + for size in 16 24 32 48 64 128 256 ; do + newicon -s ${size} "${CHROME_HOME}/product_logo_${size}${suffix}.png" ${PN}.png + done + + pax-mark m "${CHROME_HOME}/chrome" +} diff --git a/www-client/microsoft-edge-beta/Manifest b/www-client/microsoft-edge-beta/Manifest index 76fe9575fd47..0a31a71a1ecc 100644 --- a/www-client/microsoft-edge-beta/Manifest +++ b/www-client/microsoft-edge-beta/Manifest @@ -1,7 +1,7 @@ -DIST microsoft-edge-beta_124.0.2478.10-1_amd64.deb 167387126 BLAKE2B 8a78d1166620bf04fa0415cc3302587e77ccfc766b154dfaa383ff9953b08b6e192fa06628050242fae3b551177c7c4990154626d22f8cc40a448425084bfd7f SHA512 13eaf2b131caeb7200d3be2463f9b0c8efdb1db73ea894a10811555ef455eca7326b7fd1e6c67d74e100999d549d560ff35eecf37f1ab2b8426e0a018a25bea0 DIST microsoft-edge-beta_124.0.2478.19-1_amd64.deb 167374274 BLAKE2B 725270a8c44e7785d61a546479b2451fa5f0a2f0de872bf1fc20952ac22f0c314bf9cea2c6023ff7798f60cb7d7591a605960699db21ebee03ea752afd7a2744 SHA512 bc390b819110acc417f9c8cb1f3d13abe2b9ffb4a9d50a22eb0883d92bd2cc4cdd055d7370a0510d67903e67dfc68aa4be36b51598f83e07d70b09059c3d6ad6 DIST microsoft-edge-beta_124.0.2478.27-1_amd64.deb 167389658 BLAKE2B edc430e99bda531d7cb5c3f6fc31ea48e903bf01db08f584533dc06bf4efcc20ae58c7538f44f85bcdc09cde0cdb1d7cf1ab08564f214226a975be3b7c30d196 SHA512 84a6ec505948e9fcd3c754d3b0934e4e05b1e5b0eeb2cbd671cceca0d99cca6cedd96c573816e1a1db9e6fd56d335cd67964a448c78891d58191ce5aff9e45f1 -EBUILD microsoft-edge-beta-124.0.2478.10.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b +DIST microsoft-edge-beta_124.0.2478.39-1_amd64.deb 167474794 BLAKE2B 444bbf493772e48fd741876751aea25ee61b426bcb050b14373352e89499a9c42b207e8bc90eee1e150d1c42393cf06836cb19b0274d7064b0b4576f3a033036 SHA512 23864864291569f222c82bc20fc0c94ae780ce364f902c98888fe5c96c0eb6ffad3e4cb6961beb47810261457a04d6b33af8d2b133123b240b62d67fc171a470 EBUILD microsoft-edge-beta-124.0.2478.19.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b EBUILD microsoft-edge-beta-124.0.2478.27.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b +EBUILD microsoft-edge-beta-124.0.2478.39.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-124.0.2478.10.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-124.0.2478.10.ebuild deleted file mode 100644 index 0ff710cc5ddc..000000000000 --- a/www-client/microsoft-edge-beta/microsoft-edge-beta-124.0.2478.10.ebuild +++ /dev/null @@ -1,126 +0,0 @@ -# Copyright 2011-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -inherit chromium-2 desktop pax-utils unpacker xdg - -DESCRIPTION="The web browser from Microsoft" -HOMEPAGE="https://www.microsoft.com/edge" - -if [[ ${PN} == microsoft-edge ]]; then - MY_PN=${PN}-stable -else - MY_PN=${PN} -fi - -MY_P="${MY_PN}_${PV}-1" -SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb" -S=${WORKDIR} - -LICENSE="microsoft-edge" -SLOT="0" -KEYWORDS="-* ~amd64" - -IUSE="+mip qt5 qt6" -RESTRICT="bindist mirror strip" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - app-misc/ca-certificates - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - media-fonts/liberation-fonts - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-misc/curl[ssl] - net-print/cups - sys-apps/dbus - sys-apps/util-linux - sys-libs/glibc - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libdrm - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/pango - x11-misc/xdg-utils - mip? ( app-crypt/libsecret ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X] - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) -" - -QA_PREBUILT="*" -QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop" -EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}" - -pkg_nofetch() { - eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures." -} - -pkg_pretend() { - # Protect against people using autounmask overzealously - use amd64 || die "microsoft-edge only works on amd64" -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - unpacker - - rm -f _gpgorigin || die - - rm -r etc usr/share/menu || die - mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die - - gzip -d usr/share/doc/${PF}/changelog.gz || die - gzip -d usr/share/man/man1/${MY_PN}.1.gz || die - if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then - rm usr/share/man/man1/${PN}.1.gz || die - dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1 - fi - - local suffix= - [[ ${PN} == microsoft-edge-beta ]] && suffix=_beta - [[ ${PN} == microsoft-edge-dev ]] && suffix=_dev - - local size - for size in 16 24 32 48 64 128 256 ; do - newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png - done - - if ! use mip; then - rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die - fi - - if ! use qt5; then - rm "${EDGE_HOME}/libqt5_shim.so" || die - fi - if ! use qt6; then - rm "${EDGE_HOME}/libqt6_shim.so" || die - fi - - pax-mark m "${EDGE_HOME}/msedge" -} diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-124.0.2478.39.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-124.0.2478.39.ebuild new file mode 100644 index 000000000000..0ff710cc5ddc --- /dev/null +++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-124.0.2478.39.ebuild @@ -0,0 +1,126 @@ +# Copyright 2011-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit chromium-2 desktop pax-utils unpacker xdg + +DESCRIPTION="The web browser from Microsoft" +HOMEPAGE="https://www.microsoft.com/edge" + +if [[ ${PN} == microsoft-edge ]]; then + MY_PN=${PN}-stable +else + MY_PN=${PN} +fi + +MY_P="${MY_PN}_${PV}-1" +SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb" +S=${WORKDIR} + +LICENSE="microsoft-edge" +SLOT="0" +KEYWORDS="-* ~amd64" + +IUSE="+mip qt5 qt6" +RESTRICT="bindist mirror strip" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + app-misc/ca-certificates + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + media-fonts/liberation-fonts + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl[ssl] + net-print/cups + sys-apps/dbus + sys-apps/util-linux + sys-libs/glibc + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3[X] + x11-libs/libdrm + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/pango + x11-misc/xdg-utils + mip? ( app-crypt/libsecret ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[X] + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) +" + +QA_PREBUILT="*" +QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop" +EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}" + +pkg_nofetch() { + eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures." +} + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "microsoft-edge only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + unpacker + + rm -f _gpgorigin || die + + rm -r etc usr/share/menu || die + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + + gzip -d usr/share/doc/${PF}/changelog.gz || die + gzip -d usr/share/man/man1/${MY_PN}.1.gz || die + if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then + rm usr/share/man/man1/${PN}.1.gz || die + dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1 + fi + + local suffix= + [[ ${PN} == microsoft-edge-beta ]] && suffix=_beta + [[ ${PN} == microsoft-edge-dev ]] && suffix=_dev + + local size + for size in 16 24 32 48 64 128 256 ; do + newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png + done + + if ! use mip; then + rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die + fi + + if ! use qt5; then + rm "${EDGE_HOME}/libqt5_shim.so" || die + fi + if ! use qt6; then + rm "${EDGE_HOME}/libqt6_shim.so" || die + fi + + pax-mark m "${EDGE_HOME}/msedge" +} diff --git a/www-client/microsoft-edge/Manifest b/www-client/microsoft-edge/Manifest index fc7cd8b736f8..f82028eb11ad 100644 --- a/www-client/microsoft-edge/Manifest +++ b/www-client/microsoft-edge/Manifest @@ -1,3 +1,3 @@ -DIST microsoft-edge-stable_123.0.2420.81-1_amd64.deb 166576286 BLAKE2B 83475c80d04db8134fc3bc8c3a267e37ae6feaec777d7ca48e221518ff6d3fb5eac0172675e6e7fa7c00dc3265ac35589a0ed5a75de24a68409a459f32ffee69 SHA512 11fb076ac3ee2c83cc94647359f73efbfbfc5ccec2b57656843a4345ace3cc7846f32eec143751a3454a46fa67ca5e0349beb53ccb1d3792d914bc457d0c8c2c -EBUILD microsoft-edge-123.0.2420.81.ebuild 2711 BLAKE2B 1bb44a3c56ae9b33ff45f5cede57afd5c9f39d9b02f030029e22de9694efe09e68eb0106d8a896e85de2fb033341c7b479a3c4d10e9b5be5ee50fa9ab218da0b SHA512 3df8105072f7b861b8fbb50a8c93ecd9b8221548dcfc84563b8aae1546c94687d45d8dded312c9b560f99bb9b3bcf0da24ca8489dd413b52a245943e778a073a +DIST microsoft-edge-stable_123.0.2420.97-1_amd64.deb 166622822 BLAKE2B 5ec3dc8c4776216c68f4e70f5153962ea529c48fd5b1004fff544a2765b3868e5c52a1a81ed877d0deab75803318635bfb25abe9df6c99dc8b390a49c76785f8 SHA512 23eb3e07ae698105dd0cbc052df62f3058548ba6e59bba27d42344796ef644999f06526eccb0ac17c450ec4886ee86c81e141a837c715c28a8e811a158117e81 +EBUILD microsoft-edge-123.0.2420.97.ebuild 2711 BLAKE2B 1bb44a3c56ae9b33ff45f5cede57afd5c9f39d9b02f030029e22de9694efe09e68eb0106d8a896e85de2fb033341c7b479a3c4d10e9b5be5ee50fa9ab218da0b SHA512 3df8105072f7b861b8fbb50a8c93ecd9b8221548dcfc84563b8aae1546c94687d45d8dded312c9b560f99bb9b3bcf0da24ca8489dd413b52a245943e778a073a MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d diff --git a/www-client/microsoft-edge/microsoft-edge-123.0.2420.81.ebuild b/www-client/microsoft-edge/microsoft-edge-123.0.2420.81.ebuild deleted file mode 100644 index 7ea339bd40f9..000000000000 --- a/www-client/microsoft-edge/microsoft-edge-123.0.2420.81.ebuild +++ /dev/null @@ -1,126 +0,0 @@ -# Copyright 2011-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -inherit chromium-2 desktop pax-utils unpacker xdg - -DESCRIPTION="The web browser from Microsoft" -HOMEPAGE="https://www.microsoft.com/edge" - -if [[ ${PN} == microsoft-edge ]]; then - MY_PN=${PN}-stable -else - MY_PN=${PN} -fi - -MY_P="${MY_PN}_${PV}-1" -SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb" -S=${WORKDIR} - -LICENSE="microsoft-edge" -SLOT="0" -KEYWORDS="-* amd64" - -IUSE="+mip qt5 qt6" -RESTRICT="bindist mirror strip" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - app-misc/ca-certificates - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - media-fonts/liberation-fonts - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-misc/curl[ssl] - net-print/cups - sys-apps/dbus - sys-apps/util-linux - sys-libs/glibc - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/gtk+:3[X] - x11-libs/libdrm - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrandr - x11-libs/libxcb - x11-libs/libxkbcommon - x11-libs/libxshmfence - x11-libs/pango - x11-misc/xdg-utils - mip? ( app-crypt/libsecret ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5[X] - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) -" - -QA_PREBUILT="*" -QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop" -EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}" - -pkg_nofetch() { - eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures." -} - -pkg_pretend() { - # Protect against people using autounmask overzealously - use amd64 || die "microsoft-edge only works on amd64" -} - -pkg_setup() { - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - : -} - -src_install() { - dodir / - cd "${ED}" || die - unpacker - - rm -f _gpgorigin || die - - rm -r etc usr/share/menu || die - mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die - - gzip -d usr/share/doc/${PF}/changelog.gz || die - gzip -d usr/share/man/man1/${MY_PN}.1.gz || die - if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then - rm usr/share/man/man1/${PN}.1.gz || die - dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1 - fi - - local suffix= - [[ ${PN} == microsoft-edge-beta ]] && suffix=_beta - [[ ${PN} == microsoft-edge-dev ]] && suffix=_dev - - local size - for size in 16 24 32 48 64 128 256 ; do - newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png - done - - if ! use mip; then - rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die - fi - - if ! use qt5; then - rm "${EDGE_HOME}/libqt5_shim.so" || die - fi - if ! use qt6; then - rm "${EDGE_HOME}/libqt6_shim.so" || die - fi - - pax-mark m "${EDGE_HOME}/msedge" -} diff --git a/www-client/microsoft-edge/microsoft-edge-123.0.2420.97.ebuild b/www-client/microsoft-edge/microsoft-edge-123.0.2420.97.ebuild new file mode 100644 index 000000000000..7ea339bd40f9 --- /dev/null +++ b/www-client/microsoft-edge/microsoft-edge-123.0.2420.97.ebuild @@ -0,0 +1,126 @@ +# Copyright 2011-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit chromium-2 desktop pax-utils unpacker xdg + +DESCRIPTION="The web browser from Microsoft" +HOMEPAGE="https://www.microsoft.com/edge" + +if [[ ${PN} == microsoft-edge ]]; then + MY_PN=${PN}-stable +else + MY_PN=${PN} +fi + +MY_P="${MY_PN}_${PV}-1" +SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb" +S=${WORKDIR} + +LICENSE="microsoft-edge" +SLOT="0" +KEYWORDS="-* amd64" + +IUSE="+mip qt5 qt6" +RESTRICT="bindist mirror strip" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + app-misc/ca-certificates + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + media-fonts/liberation-fonts + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl[ssl] + net-print/cups + sys-apps/dbus + sys-apps/util-linux + sys-libs/glibc + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3[X] + x11-libs/libdrm + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/pango + x11-misc/xdg-utils + mip? ( app-crypt/libsecret ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[X] + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) +" + +QA_PREBUILT="*" +QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop" +EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}" + +pkg_nofetch() { + eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures." +} + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "microsoft-edge only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + unpacker + + rm -f _gpgorigin || die + + rm -r etc usr/share/menu || die + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + + gzip -d usr/share/doc/${PF}/changelog.gz || die + gzip -d usr/share/man/man1/${MY_PN}.1.gz || die + if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then + rm usr/share/man/man1/${PN}.1.gz || die + dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1 + fi + + local suffix= + [[ ${PN} == microsoft-edge-beta ]] && suffix=_beta + [[ ${PN} == microsoft-edge-dev ]] && suffix=_dev + + local size + for size in 16 24 32 48 64 128 256 ; do + newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png + done + + if ! use mip; then + rm "${EDGE_HOME}"/libmip_{core,protection_sdk}.so || die + fi + + if ! use qt5; then + rm "${EDGE_HOME}/libqt5_shim.so" || die + fi + if ! use qt6; then + rm "${EDGE_HOME}/libqt6_shim.so" || die + fi + + pax-mark m "${EDGE_HOME}/msedge" +} diff --git a/www-client/opera-developer/Manifest b/www-client/opera-developer/Manifest index d78c3a463094..52907371d3ae 100644 --- a/www-client/opera-developer/Manifest +++ b/www-client/opera-developer/Manifest @@ -1,7 +1,7 @@ -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 -EBUILD opera-developer-110.0.5111.0-r1.ebuild 4223 BLAKE2B 7c23d2a54bb995bc94a36e3f9cb8c63e99047b6c57225415181fd0e25dbdac6fb028f0f8fcfc55b29c02ff2177769ef815f2fe197df9fcfaaf28ee58e5fcaa6c SHA512 862b44ab054d0b91373ebb2c0d44dd0bab4f7d6ac97effcd7b9f65f2b948044403274543f0e2b25ca00fdfb4c991d5fe80ec871e45c6b0faff2d962c0990f608 +DIST opera-developer_111.0.5138.0_amd64.deb 110760972 BLAKE2B 0f30b681fb6706cfcb9e116187d93955de19759666b70c4e8dcb85d2847bb90403fd11c1799735c01b12768627d39dfb33f8bf073c500cfcf506a30759b65843 SHA512 17375dd52091713c79cd9ea46e725ce03869c2d89a3875127b597b4c19250f149eb1d08e7752d14b2c18135746956673de55cc72805ea8e48acbd3ae7fdc5be0 EBUILD opera-developer-110.0.5117.0.ebuild 4223 BLAKE2B 7c23d2a54bb995bc94a36e3f9cb8c63e99047b6c57225415181fd0e25dbdac6fb028f0f8fcfc55b29c02ff2177769ef815f2fe197df9fcfaaf28ee58e5fcaa6c SHA512 862b44ab054d0b91373ebb2c0d44dd0bab4f7d6ac97effcd7b9f65f2b948044403274543f0e2b25ca00fdfb4c991d5fe80ec871e45c6b0faff2d962c0990f608 EBUILD opera-developer-111.0.5131.0.ebuild 4223 BLAKE2B 9e49acd6b92e12f256545d0c578849dbdc8ad817e25f154f28568c977cf08a8803e7ffb88cc38a9fe384cb1bc918e8dcaa0df8df1bd873e6de0c359883b7dbde SHA512 c9c70f838e6c7f489f977e9c454df11ed98a337c43f95e70f1a77b1e8db7b85e5c539125e10201c1a4e5c1ce55089b9f71c0edfdb41ff2f4780f28fdb014bafc +EBUILD opera-developer-111.0.5138.0.ebuild 4223 BLAKE2B 9e49acd6b92e12f256545d0c578849dbdc8ad817e25f154f28568c977cf08a8803e7ffb88cc38a9fe384cb1bc918e8dcaa0df8df1bd873e6de0c359883b7dbde SHA512 c9c70f838e6c7f489f977e9c454df11ed98a337c43f95e70f1a77b1e8db7b85e5c539125e10201c1a4e5c1ce55089b9f71c0edfdb41ff2f4780f28fdb014bafc MISC metadata.xml 544 BLAKE2B e8594a0cb9a73ac5901ece78db220822043dca9faec994810af426f96e2ece7fdb069c5f1d639f66d1236ec83e6c46e50bd21c49f8a075cf0de41c9db9afd8a0 SHA512 2361ebdde2707166e465058b41a893b4c14db7c7ba8f4fe34f7ab34da4275f0af691e55881232a9253f5d793ff76e61d57689f56dd8ab879fc3ecb3294fc8777 diff --git a/www-client/opera-developer/opera-developer-110.0.5111.0-r1.ebuild b/www-client/opera-developer/opera-developer-110.0.5111.0-r1.ebuild deleted file mode 100644 index ad276bb735ac..000000000000 --- a/www-client/opera-developer/opera-developer-110.0.5111.0-r1.ebuild +++ /dev/null @@ -1,173 +0,0 @@ -# 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="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="+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" -} diff --git a/www-client/opera-developer/opera-developer-111.0.5138.0.ebuild b/www-client/opera-developer/opera-developer-111.0.5138.0.ebuild new file mode 100644 index 000000000000..cfafbce68c18 --- /dev/null +++ b/www-client/opera-developer/opera-developer-111.0.5138.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" +} diff --git a/www-client/opera/Manifest b/www-client/opera/Manifest index 66393282b20f..0093a3c13cfe 100644 --- a/www-client/opera/Manifest +++ b/www-client/opera/Manifest @@ -1,3 +1,3 @@ -DIST opera-stable_109.0.5097.38_amd64.deb 109207272 BLAKE2B cff3926f14c2d2d7c19b682e40800f230527c801ce637c01fbd742864ec30bfd4462bf855a62f89947b0170a44f62754f63ad490700faea0acbc14a58bf4e4f3 SHA512 1c23aaa66da6a7923f8aed5eb046c73c61f7685889c5f50710ed985cff8a17e1d7b3311b1af927e508fcfcc23fefcf5f51b7410338ff01b230ed745a4d63a423 -EBUILD opera-109.0.5097.38-r1.ebuild 4084 BLAKE2B eea6ef582d8391625b48389d6a8ea8106f87efa00cc9103d63e3f100c74b3e80dd5b1a47870aeda59709dbde548866174ff8aa6e0799cedfb89220df98f05ff9 SHA512 31311b84a47225a0812b485e8b66a8c3ed67aa32f0b7319b485c45dc7218204141bc88d8598b4b6146b8a4d67c621f15524236165271862f3ffee03e14678e1b +DIST opera-stable_109.0.5097.45_amd64.deb 109148732 BLAKE2B 35fcc3f37f0b3e6d0138c45bbe11fb22639a5fb5395d28232e65401c0544bb4f1a394001c303ec9e231f14bc9f3a9c961a9711528cd8c28b89632ae827f0bdc1 SHA512 5788f0b2945bbf2b6af5f45c3f46e89f2ebc42d88f9956a765a1a4d0b5d7e40a331a1bc8e0fdfc1a7f9f663274595703d839d87dd9d4878687fd82a46a129146 +EBUILD opera-109.0.5097.45.ebuild 4084 BLAKE2B eea6ef582d8391625b48389d6a8ea8106f87efa00cc9103d63e3f100c74b3e80dd5b1a47870aeda59709dbde548866174ff8aa6e0799cedfb89220df98f05ff9 SHA512 31311b84a47225a0812b485e8b66a8c3ed67aa32f0b7319b485c45dc7218204141bc88d8598b4b6146b8a4d67c621f15524236165271862f3ffee03e14678e1b MISC metadata.xml 380 BLAKE2B 6126e5c5d5f67d1bd7d4b6659fbc9f8f62ef105e737d2cc4e6c652f4c899df1b55ef2abe077e41aa2e4eb3d553a2652e38a583b3c7baac7a20318b69f766997f SHA512 cbe76a1630f13557a0aae1703436b19b0f9f7842c5604695d49255937c8304fff07ec20f26d408527ee672e2e9625ebc748bb7d3879d5fc77c06655c4b9b1816 diff --git a/www-client/opera/opera-109.0.5097.38-r1.ebuild b/www-client/opera/opera-109.0.5097.38-r1.ebuild deleted file mode 100644 index a97bb25328be..000000000000 --- a/www-client/opera/opera-109.0.5097.38-r1.ebuild +++ /dev/null @@ -1,172 +0,0 @@ -# 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="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" -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? ( - 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.${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" -} diff --git a/www-client/opera/opera-109.0.5097.45.ebuild b/www-client/opera/opera-109.0.5097.45.ebuild new file mode 100644 index 000000000000..a97bb25328be --- /dev/null +++ b/www-client/opera/opera-109.0.5097.45.ebuild @@ -0,0 +1,172 @@ +# 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="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" +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? ( + 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.${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" +} -- cgit v1.2.3