From c44ae5c03130467400468d0e9a7f83e723c99f35 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 28 Mar 2025 00:31:34 +0000 Subject: gentoo auto-resync : 28:03:2025 - 00:31:34 --- www-client/Manifest.gz | Bin 6212 -> 6203 bytes www-client/chromium/Manifest | 6 +- www-client/chromium/chromium-135.0.7049.17.ebuild | 1534 -------------------- www-client/chromium/chromium-135.0.7049.41.ebuild | 1534 ++++++++++++++++++++ www-client/falkon/Manifest | 4 +- www-client/falkon/falkon-24.12.2.ebuild | 82 -- www-client/falkon/falkon-24.12.3.ebuild | 4 +- www-client/firefox-bin/Manifest | 101 ++ www-client/firefox-bin/firefox-bin-136.0.3.ebuild | 360 +++++ www-client/firefox/Manifest | 103 ++ www-client/firefox/firefox-136.0.3.ebuild | 1371 +++++++++++++++++ www-client/google-chrome-beta/Manifest | 4 +- .../google-chrome-beta-135.0.7049.28.ebuild | 125 -- .../google-chrome-beta-135.0.7049.41.ebuild | 125 ++ www-client/microsoft-edge-dev/Manifest | 4 +- .../microsoft-edge-dev-135.0.3168.2.ebuild | 119 -- .../microsoft-edge-dev-136.0.3209.2.ebuild | 119 ++ www-client/opera-beta/Manifest | 4 +- .../opera-beta/opera-beta-118.0.5461.18.ebuild | 166 +++ .../opera-beta/opera-beta-118.0.5461.4.ebuild | 166 --- www-client/opera-developer/Manifest | 4 +- .../opera-developer-119.0.5467.0.ebuild | 166 --- .../opera-developer-119.0.5482.0.ebuild | 166 +++ www-client/opera/Manifest | 4 +- www-client/opera/opera-117.0.5408.142.ebuild | 166 --- www-client/opera/opera-117.0.5408.154.ebuild | 166 +++ www-client/vivaldi-snapshot/Manifest | 8 +- .../vivaldi-snapshot-7.2.3639.3.ebuild | 220 --- .../vivaldi-snapshot-7.2.3641.3.ebuild | 220 +++ www-client/vivaldi/Manifest | 10 +- www-client/vivaldi/vivaldi-7.2.3621.63.ebuild | 220 --- www-client/vivaldi/vivaldi-7.2.3621.67.ebuild | 2 +- www-client/vivaldi/vivaldi-7.2.3621.71.ebuild | 220 +++ 33 files changed, 4677 insertions(+), 2826 deletions(-) delete mode 100644 www-client/chromium/chromium-135.0.7049.17.ebuild create mode 100644 www-client/chromium/chromium-135.0.7049.41.ebuild delete mode 100644 www-client/falkon/falkon-24.12.2.ebuild create mode 100644 www-client/firefox-bin/firefox-bin-136.0.3.ebuild create mode 100644 www-client/firefox/firefox-136.0.3.ebuild delete mode 100644 www-client/google-chrome-beta/google-chrome-beta-135.0.7049.28.ebuild create mode 100644 www-client/google-chrome-beta/google-chrome-beta-135.0.7049.41.ebuild delete mode 100644 www-client/microsoft-edge-dev/microsoft-edge-dev-135.0.3168.2.ebuild create mode 100644 www-client/microsoft-edge-dev/microsoft-edge-dev-136.0.3209.2.ebuild create mode 100644 www-client/opera-beta/opera-beta-118.0.5461.18.ebuild delete mode 100644 www-client/opera-beta/opera-beta-118.0.5461.4.ebuild delete mode 100644 www-client/opera-developer/opera-developer-119.0.5467.0.ebuild create mode 100644 www-client/opera-developer/opera-developer-119.0.5482.0.ebuild delete mode 100644 www-client/opera/opera-117.0.5408.142.ebuild create mode 100644 www-client/opera/opera-117.0.5408.154.ebuild delete mode 100644 www-client/vivaldi-snapshot/vivaldi-snapshot-7.2.3639.3.ebuild create mode 100644 www-client/vivaldi-snapshot/vivaldi-snapshot-7.2.3641.3.ebuild delete mode 100644 www-client/vivaldi/vivaldi-7.2.3621.63.ebuild create mode 100644 www-client/vivaldi/vivaldi-7.2.3621.71.ebuild (limited to 'www-client') diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz index f4e49d83aabd..da251eab00e3 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 bef90b093493..c339a72f943f 100644 --- a/www-client/chromium/Manifest +++ b/www-client/chromium/Manifest @@ -25,8 +25,8 @@ DIST chromium-134.0.6998.35-linux-testdata.tar.xz 653357556 BLAKE2B 0e34c31210e1 DIST chromium-134.0.6998.35-linux.tar.xz 1463053644 BLAKE2B 28af05a5b650495174b2240a42b5f0073a30da7094170b80a8ea1d000b306d408e0b58772e8928b6dd110f815430a6725fddf7e1e7ee8073c6b343bee189e556 SHA512 f9da9256ef4518e53c139c6c074b6b4fe10f028e37ebee488a95ed84d6ed47acf802a9316eb215d9f2b3ebb8f1bc70ef837334256272e9f13fc3674ec36f1336 DIST chromium-134.0.6998.88-linux-testdata.tar.xz 653390260 BLAKE2B ca33304974d328fa02c986147ef61d154d3441868efb0110abec50e60c8c76b22866cc44fea522ca2d564de28322176da41f5e162842dc244865c24b275e5c87 SHA512 abcedfa405fcbdb9e432dc628982f39d61476c3b879cda8502546d37d5452ba94f25a05826ff1fee1f2514efc292b7ae40036cea4402d7ab7d0b023dd30fc870 DIST chromium-134.0.6998.88-linux.tar.xz 1464062572 BLAKE2B 823d74ad0b93ce8f21c1d71099863324d9b6d8bbdc476568bd42f204935882ec7e83c42532f1b7a06654e8e4b62c7c4b6550b3ab12cf98c246576bf8ea5abc63 SHA512 298e5d87e0ac8bf9fb861c73e4cfd7f2dec7d3007a1d5c14afeba2770f1e219b602a2490013f21c5015f56e9cf5e8e8901fe3cc503059e235b4cb06b329885dd -DIST chromium-135.0.7049.17-linux-testdata.tar.xz 646291636 BLAKE2B 59327976b5b3798e0fedd8608b9460526b09f2125c2349b58d583fcd6ccd99fa88d4e7c228a3fbb949e4c1757f8672a99fd5ecea59e7bfe7fd79c9cce435c1b8 SHA512 7264400c335dd89d92e40aa73ab620ada76aa4cd03398e16adcd53b09831316f54da62ad750c5b9a2d82d7254a3a2f3fb9ce13b73bdcb4d7ea6864df8cf18e34 -DIST chromium-135.0.7049.17-linux.tar.xz 1438154416 BLAKE2B 70a8e6ebaf69bc91971b641fb5d270e880e557969d3a5280e07daac9e71c3e3fad578fca8e2051673295433c66d40ba9f31d09622bb7a0f2dba2094b3a17d841 SHA512 112b72d5475b2afa77fbbb990665f7a0303eb3dd0418e65a7e72e3c703dbb6f29771c67f1e0fc38623c34cadef6a92b9b4e9aabcc02738d48431b875d0897418 +DIST chromium-135.0.7049.41-linux-testdata.tar.xz 646342784 BLAKE2B b7261f26984871ea840ebad4aadebdc938a11a4d78697eaacb318477a5ad16dbb79e5dc70367ebe30f2203fc59c9e6ce99ab9ee2904a9241a968d8444ba24c47 SHA512 548cd5f3b48033ec8b207052f8c61e0cf20cd220a7309813b2893a8f4ff8fe659296bc8e9f573d2935a5cc9e5699e4e0d852f969642901b6747c038ce1ffc4a7 +DIST chromium-135.0.7049.41-linux.tar.xz 1439668336 BLAKE2B 28239d1fb2047370ba6bacaac9fee4acc2d73f477e700e1ecde100b53cc409ba5bb74a575ee30a969f68faf92b000d8836fb985c4f2db3dcd0f08a6ad66426c7 SHA512 b99eaa191b5c57bd3c1a3749025b6c341c2ea7f4e94d0dee665f910919d920303ad0b223720df0c5b4fbfe3180266e71957231c80428250e09075e3740bdb8a7 DIST chromium-136.0.7081.2-linux-testdata.tar.xz 651692500 BLAKE2B dcb8fcfa1060e2ebeaf44cbbe7dbf05318d398ee61f70ee30296dddc11ad8e73e7e6069c548e1897c8521a15548833b8bb23ed48be55ad1df9a034903b69ed84 SHA512 a44900d654d42df2626d4912797ef2090d1840c5c025f5e0be88229c6e3c2b70a8405ae936c280ebc8166067f0577270881e9eb7ab78f50031efa64cd7127ee5 DIST chromium-136.0.7081.2-linux.tar.xz 1540597124 BLAKE2B e46d1a707cfbbd39c1f7fee4330405b03e87e94f7e300ee6095ac22db5be8a88ad29299d82f8af470d4e5664e2b124b88a395c2aed07ad5d45bcdc753a1036e3 SHA512 949383bfc9641281b359dcc7d70bcfe159a1e758266f6ef2ab5c8254dedd047d12a9912aa804170fc7cbe36d3d72790411ba4ab24f4b3115543012b9366ff13a DIST chromium-clang-llvmorg-20-init-17108-g29ed6000-3.tar.xz 54170388 BLAKE2B 1383726ef2977ddb6ca9cef7eb7f5730e9635c570c1e20c3103922242e012579b87cf7ada668a6dedec375fa821115e5c79c32b12ab486a9e427f2e00344cfdc SHA512 a2aee165ee5581f442af222b23182370349a3b0b5412d05600c2d2258f31449e986bb7e88601b26049b4a926b15938238bfe8abd01ff6eaf2df84a64812007a1 @@ -47,6 +47,6 @@ EBUILD chromium-133.0.6943.141.ebuild 49648 BLAKE2B c7bcccd4c8f71dcb8c34ba7ea000 EBUILD chromium-134.0.6998.117.ebuild 54446 BLAKE2B 7ae39f98f2738d63ff429da1cf1e3f6891e44e7c4f5b9f4bc8b1c5b5a0aa8f919f1a686717ee7294f223010a308f128236905c3fe5045e714f4395cfdce6af13 SHA512 6246c75e05a073724aac71052a90b73ad27ce9a91f6a5cdfb39c6bfa4600410ab5e6716f105906fb7017b8aedf3acbf86a7ed9e4770e093c9f67f396d1b835fc EBUILD chromium-134.0.6998.35.ebuild 54441 BLAKE2B b26231892ab28c51bf37523e60863947225dba2a95320df31ee121cf96cd845f83675ebaa178308aa2d89ce4569e9cb775849cfef09e590727e8165f67ab1003 SHA512 3a983b3e6f40a420827d61aecc3641b4043794e05414212af463eea45675180d951d244c6d2ec49b7a6ef4352077010d943c77f1115b2085a60a396720652b9a EBUILD chromium-134.0.6998.88.ebuild 54441 BLAKE2B b26231892ab28c51bf37523e60863947225dba2a95320df31ee121cf96cd845f83675ebaa178308aa2d89ce4569e9cb775849cfef09e590727e8165f67ab1003 SHA512 3a983b3e6f40a420827d61aecc3641b4043794e05414212af463eea45675180d951d244c6d2ec49b7a6ef4352077010d943c77f1115b2085a60a396720652b9a -EBUILD chromium-135.0.7049.17.ebuild 54404 BLAKE2B dce7a3f93963d2b1a69285182dc2e1aa651a161c3867a1d241940cd1659a02d0d7db35ac9d1a94ad013f5eeba2306f530c58a03e2084e12ccc050fbd76c074a9 SHA512 e38829cb97f8ee673287d4347431179145124b5e1f78b6abc695621f7b811882efea27648bc7a76fc1c9e4b961c0b970570c8b612159c6e7c760fa5ad19145ce +EBUILD chromium-135.0.7049.41.ebuild 54404 BLAKE2B dce7a3f93963d2b1a69285182dc2e1aa651a161c3867a1d241940cd1659a02d0d7db35ac9d1a94ad013f5eeba2306f530c58a03e2084e12ccc050fbd76c074a9 SHA512 e38829cb97f8ee673287d4347431179145124b5e1f78b6abc695621f7b811882efea27648bc7a76fc1c9e4b961c0b970570c8b612159c6e7c760fa5ad19145ce EBUILD chromium-136.0.7081.2.ebuild 54502 BLAKE2B 943d25a44e94a9d20d6d3c497e56e2994f6a6704b083c3d6a602ccca4d399261a20800f49d0f7ca6a948d3a0480a3426946b63ad4e8b734e7ea19031dee7e585 SHA512 286a2e83b8f5308994efd29ddc2fa06a8ac23c10e03de7bae856d15ac4b6f134c8739c2ca163d71ca218ff308882d6d6dfa65c50d4cd29657250bb9a03b0e3d0 MISC metadata.xml 2090 BLAKE2B 1dc2cb3c8aad13022f4ec8ccae5f87635a5a7846f5a06c797e816322ab33d9ef2629a3409612020e42f981391d41bb501297360d9f777afc81c9fe65078ef059 SHA512 d543d25b779ea63edc5f94e564c2e2c40760b76b933e6e090a6c8c70f71720cf2f764a1fdba3c75efabff8cb0119348665c06657fc38fae615bd20882a06e2e9 diff --git a/www-client/chromium/chromium-135.0.7049.17.ebuild b/www-client/chromium/chromium-135.0.7049.17.ebuild deleted file mode 100644 index 30eebe6e492f..000000000000 --- a/www-client/chromium/chromium-135.0.7049.17.ebuild +++ /dev/null @@ -1,1534 +0,0 @@ -# Copyright 2009-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# PACKAGING NOTES - -# Upstream 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 may eventually hit the point where we need to use -# the bundled Clang due to the use of prerelease features. - -# USE=bundled-toolchain is intended for users who want to use the same toolchain -# as the upstream releases. It's also a good fallback in case we fall behind -# and need to get a release out quickly (less likely with `dev` in-tree). - -# Since m133 we are using CI-generated tarballs from -# https://github.com/chromium-linux-tarballs/chromium-tarballs/ (uploaded to S3 -# and made available via https://chromium-tarballs.distfiles.gentoo.org/). - -# We do this because upstream tarballs weigh in at about 3.5x the size of our -# new "Distro tarballs" and include binaries (etc) that are not useful for -# downstream consumers (like distributions). - -GN_MIN_VER=0.2217 -# chromium-tools/get-chromium-toolchain-strings.py -TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35 -BUNDLED_CLANG_VER=llvmorg-20-init-17108-g29ed6000-3 -BUNDLED_RUST_VER=ad211ced81509462cdfe4c29ed10f97279a0acae-1 -RUST_SHORT_HASH=${BUNDLED_RUST_VER:0:10}-${BUNDLED_RUST_VER##*-} - -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" - -LLVM_COMPAT=( 19 20 ) -PYTHON_COMPAT=( python3_{11..13} ) -PYTHON_REQ_USE="xml(+)" -RUST_MIN_VER=1.78.0 -RUST_NEEDS_LLVM="yes please" -RUST_OPTIONAL="yes" # Not actually optional, but we don't need system Rust (or LLVM) with USE=bundled-toolchain - -inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils -inherit python-any-r1 readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://www.chromium.org/" -PPC64_HASH="a85b64f07b489b8c6fdb13ecf79c16c56c560fc6" -PATCH_V="${PV%%\.*}" -SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}-linux.tar.xz - !bundled-toolchain? ( - https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 - ) - bundled-toolchain? ( - https://gsdview.appspot.com/chromium-browser-clang/Linux_x64/clang-${BUNDLED_CLANG_VER}.tar.xz - -> chromium-clang-${BUNDLED_CLANG_VER}.tar.xz - https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${BUNDLED_RUST_VER}-${BUNDLED_CLANG_VER%-*}.tar.xz - -> chromium-rust-toolchain-${RUST_SHORT_HASH}-${BUNDLED_CLANG_VER%-*}.tar.xz - ) - test? ( - https://chromium-tarballs.distfiles.gentoo.org/${P}-linux-testdata.tar.xz - https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> chromium-testfonts-${TEST_FONT:0:10}.tar.gz - ) - ppc64? ( - https://gitlab.raptorengineering.com/raptor-engineering-public/chromium/openpower-patches/-/archive/${PPC64_HASH}/openpower-patches-${PPC64_HASH}.tar.bz2 -> chromium-openpower-${PPC64_HASH:0:10}.tar.bz2 - ) - pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" - -LICENSE="BSD" -SLOT="0/beta" -# Dev exists mostly to give devs some breathing room for beta/stable releases; -# it shouldn't be keyworded but adventurous users can select it. -if [[ ${SLOT} != "0/dev" ]]; then - KEYWORDS="~amd64 ~arm64" -fi - -IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd" -IUSE="+X ${IUSE_SYSTEM_LIBS} bindist bundled-toolchain cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo" -IUSE+=" +proprietary-codecs pulseaudio qt6 +screencast selinux test +vaapi +wayland +widevine cpu_flags_ppc_vsx3" -RESTRICT=" - !bindist? ( bindist ) - !test? ( test ) -" - -REQUIRED_USE=" - !headless? ( || ( X wayland ) ) - pgo? ( X !wayland ) - screencast? ( wayland ) - 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-73.0:= ) - >=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:= - !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-base/xorg-proto:= - x11-libs/libX11:= - x11-libs/libxcb:= - x11-libs/libXext:= - ) - 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? ( - >=app-accessibility/at-spi2-core-2.46.0:2 - media-libs/mesa:=[X?,wayland?] - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - cups? ( >=net-print/cups-1.3.11:= ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - X? ( ${COMMON_X_DEPEND} ) - ) -" -RDEPEND="${COMMON_DEPEND} - !headless? ( - || ( - x11-libs/gtk+:3[X?,wayland?] - gui-libs/gtk:4[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?] ) - ) -" - -BDEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - !headless? ( - qt6? ( dev-qt/qtbase:6 ) - ) - !bundled-toolchain? ( $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - llvm-core/lld:${LLVM_SLOT} - official? ( - !ppc64? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[cfi] ) - ) ') - ${RUST_DEPEND} - ) - pgo? ( - >=dev-python/selenium-3.141.0 - >=dev-util/web_page_replay_go-20220314 - ) - >=dev-util/bindgen-0.68.0 - >=dev-build/gn-${GN_MIN_VER} - app-alternatives/ninja - dev-lang/perl - >=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 ! 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}]" -} - -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=24 - local EXTRA_DISK=1 - local CHECKREQS_MEMORY="4G" - tc-is-cross-compiler && EXTRA_DISK=2 - if tc-is-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" "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 - - # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment - # We'll set these to clang here then use llvm-utils functions to very explicitly set these - # to a sane value. - # This is effectively the 'force-clang' path if GCC support is re-added. - # TODO: check if the user has already selected a specific impl via make.conf and respect that. - use_lto="false" - if tc-is-lto; then - use_lto="true" - # We can rely on GN to do this for us; anecdotally without this builds - # take significantly longer with LTO enabled and it doesn't hurt anything. - filter-lto - fi - - if [ "$use_lto" = "false" ] && use official; then - einfo "USE=official selected and LTO not detected." - einfo "It is _highly_ recommended that LTO be enabled for performance reasons" - einfo "and to be consistent with the upstream \"official\" build optimisations." - fi - - if [ "$use_lto" = "false" ] && use test; then - die "Tests require CFI which requires LTO" - fi - - export use_lto - - # 936858 - if tc-ld-is-mold; then - eerror "Your toolchain is using the mold linker." - eerror "This is not supported by Chromium." - die "Please switch to a different linker." - fi - - if use !bundled-toolchain; then - llvm-r1_pkg_setup - rust_pkg_setup - fi - - # Forcing clang; respect llvm_slot_x to enable selection of impl from LLVM_COMPAT - AR=llvm-ar - CPP="${CHOST}-clang++-${LLVM_SLOT} -E" - NM=llvm-nm - CC="${CHOST}-clang-${LLVM_SLOT}" - CXX="${CHOST}-clang++-${LLVM_SLOT}" - - if tc-is-cross-compiler; then - use pgo && die "The pgo USE flag cannot be used when cross-compiling" - CPP="${CBUILD}-clang++-${LLVM_SLOT} -E" - fi - - # I hate doing this but upstream Rust have yet to come up with a better solution for - # us poor packagers. Required for Split LTO units, which are required for CFI. - export RUSTC_BOOTSTRAP=1 - - # 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_unpack() { - unpack ${P}-linux.tar.xz - # These should only be required when we're not using the official toolchain - use !bundled-toolchain && unpack chromium-patches-${PATCH_V}.tar.bz2 - - use pgo && unpack chromium-profiler-0.2.tar - - if use test; then - # A new testdata tarball is available for each release; but testfonts tend to remain stable - # for the duration of a release. - # This unpacks directly into/over ${WORKDIR}/${P} so we can just use `unpack`. - unpack ${P}-linux-testdata.tar.xz - # This just contains a bunch of font files that need to be unpacked (or moved) to the correct location. - local testfonts_dir="${WORKDIR}/${P}/third_party/test_fonts" - local testfonts_tar="${DISTDIR}/chromium-testfonts-${TEST_FONT:0:10}.tar.gz" - tar xf "${testfonts_tar}" -C "${testfonts_dir}" || die "Failed to unpack testfonts" - fi - - # We need to manually unpack this since M126 else we'd unpack one toolchain over the other. - # Since we're doing that anyway let's unpack to sensible locations to make symlink creation easier. - if use bundled-toolchain; then - einfo "Unpacking bundled Clang ..." - mkdir -p "${WORKDIR}"/clang || die "Failed to create clang directory" - tar xf "${DISTDIR}/chromium-clang-${BUNDLED_CLANG_VER}.tar.xz" -C "${WORKDIR}/clang" || die "Failed to unpack Clang" - einfo "Unpacking bundled Rust ..." - local rust_dir="${WORKDIR}/rust-toolchain" - mkdir -p "${rust_dir}" || die "Failed to create rust toolchain directory" - tar xf "${DISTDIR}/chromium-rust-toolchain-${RUST_SHORT_HASH}-${BUNDLED_CLANG_VER%-*}.tar.xz" -C "${rust_dir}" || - die "Failed to unpack Rust" - fi - - if use ppc64; then - unpack chromium-openpower-${PPC64_HASH:0:10}.tar.bz2 - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local PATCHES=( - "${FILESDIR}/chromium-cross-compile.patch" - "${FILESDIR}/chromium-109-system-zlib.patch" - "${FILESDIR}/chromium-111-InkDropHost-crash.patch" - "${FILESDIR}/chromium-131-unbundle-icu-target.patch" - "${FILESDIR}/chromium-134-bindgen-custom-toolchain.patch" - "${FILESDIR}/chromium-135-oauth2-client-switches.patch" - "${FILESDIR}/chromium-135-map_droppable-glibc.patch" - ) - - if use bundled-toolchain; then - # We need to symlink the toolchain into the expected location - einfo "Symlinking Clang toolchain to expected location ..." - mkdir -p third_party/llvm-build/ || die "Failed to create llvm-build directory" - # the 'Chromium Linux Tarballs' seem to already have 'Release+Asserts/{lib,bin}'; not sure if this is an - # upstream change - we're using the same scripts to build, theoretically. We'll still attempt to create - # llvm-build, but we'll rm Release+Asserts and symlink directly. - if [[ -d third_party/llvm-build/Release+Asserts ]]; then - rm -r third_party/llvm-build/Release+Asserts || die "Failed to remove third_party/llvm-build/Release+Asserts" - fi - ln -s "${WORKDIR}"/clang third_party/llvm-build/Release+Asserts || die "Failed to bundle Clang" - einfo "Symlinking Rust toolchain to expected location ..." - # As above, so below - if [[ -d third_party/rust-toolchain ]]; then - rm -r third_party/rust-toolchain || die "Failed to remove third_party/rust-toolchain" - fi - 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" - else - # We don't need our toolchain patches if we're using the official toolchain - shopt -s globstar nullglob - # 130: moved the PPC64 patches into the chromium-patches repo - local patch - for patch in "${WORKDIR}/chromium-patches-${PATCH_V}"/**/*.patch; do - if [[ ${patch} == *"ppc64le"* ]]; then - use ppc64 && PATCHES+=( "${patch}" ) - else - PATCHES+=( "${patch}" ) - fi - done - - shopt -u globstar nullglob - - # We can't use the bundled compiler builtins with the system toolchain - # `grep` is a development convenience to ensure we fail early when google changes something. - local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {" - grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins" - sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn - - # Strictly speaking this doesn't need to be gated (no bundled toolchain for ppc64); it keeps the logic together - if use ppc64; then - local patchset_dir="${WORKDIR}/openpower-patches-${PPC64_HASH}/patches" - # patch causes build errors on 4K page systems (https://bugs.gentoo.org/show_bug.cgi?id=940304) - local page_size_patch="ppc64le/third_party/use-sysconf-page-size-on-ppc64.patch" - local isa_3_patch="ppc64le/core/baseline-isa-3-0.patch" - # Apply the OpenPOWER patches (check for page size and isa 3.0) - openpower_patches=( $(grep -E "^ppc64le|^upstream" "${patchset_dir}/series" | grep -v "${page_size_patch}" | - grep -v "${isa_3_patch}" || die) ) - for patch in "${openpower_patches[@]}"; do - PATCHES+=( "${patchset_dir}/${patch}" ) - done - if [[ $(getconf PAGESIZE) == 65536 ]]; then - PATCHES+=( "${patchset_dir}/${page_size_patch}" ) - fi - # We use vsx3 as a proxy for 'want isa3.0' (POWER9) - if use cpu_flags_ppc_vsx3 ; then - PATCHES+=( "${patchset_dir}/${isa_3_patch}" ) - fi - fi - - # Oxidised hacks, let's keep 'em all in one place - # This is a nightly option that does not exist in older releases - # https://github.com/rust-lang/rust/commit/389a399a501a626ebf891ae0bb076c25e325ae64 - if ver_test ${RUST_SLOT} -lt "1.83.0"; then - sed '/rustflags = \[ "-Zdefault-visibility=hidden" \]/d' -i build/config/gcc/BUILD.gn || - die "Failed to remove default visibility nightly option" - fi - - # Upstream Rust replaced adler with adler2, for older versions of Rust we still need - # to tell GN that we have the older lib when it tries to copy the Rust sysroot - # into the bulid directory. - if ver_test ${RUST_SLOT} -lt "1.86.0"; then - sed -i 's/adler2/adler/' build/rust/std/BUILD.gn || - die "Failed to tell GN that we have adler and not adler2" - fi - fi - - default - - # Not included in -lite tarballs, but we should check for it anyway. - if [[ -f third_party/node/linux/node-linux-x64/bin/node ]]; then - rm third_party/node/linux/node-linux-x64/bin/node || die - else - mkdir -p third_party/node/linux/node-linux-x64/bin || die - fi - 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 - - # remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party' - # whitelist matches use the right-most matching path component, so we need to whitelist from that point down. - local keeplibs=( - base/third_party/cityhash - base/third_party/double_conversion - base/third_party/icu - base/third_party/nspr - base/third_party/superfasthash - base/third_party/symbolize - base/third_party/xdg_user_dirs - buildtools/third_party/libc++ - buildtools/third_party/libc++abi - chrome/third_party/mozilla_security_manager - 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/bidimapper - third_party/blink - 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/crabbyavif - 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/json5 - 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/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/parsel-js - 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/third-party-web - 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/front_end/third_party/web-vitals - 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/fast_float - 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/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/highway - third_party/hunspell - third_party/ink_stroke_modeler/src/ink_stroke_modeler - third_party/ink_stroke_modeler/src/ink_stroke_modeler/internal - third_party/ink/src/ink/brush - third_party/ink/src/ink/color - third_party/ink/src/ink/geometry - third_party/ink/src/ink/rendering - third_party/ink/src/ink/rendering/skia/common_internal - third_party/ink/src/ink/rendering/skia/native - third_party/ink/src/ink/rendering/skia/native/internal - third_party/ink/src/ink/strokes - third_party/ink/src/ink/types - third_party/inspector_protocol - third_party/ipcz - third_party/jinja2 - third_party/jsoncpp - third_party/khronos - third_party/lens_server_proto - 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/libc++ - third_party/libdrm - third_party/libgav1 - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libtess2/libtess2 - third_party/libtess2/src/Include - third_party/libtess2/src/Source - third_party/liburlpattern - 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/libzip - third_party/lit - third_party/llvm-libc - third_party/llvm-libc/src/shared/ - third_party/lottie - third_party/lss - third_party/lzma_sdk - third_party/mako - 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/perfetto/protos/third_party/simpleperf - third_party/pffft - third_party/ply - third_party/polymer - third_party/private_membership - third_party/private-join-and-compute - third_party/protobuf - third_party/protobuf/third_party/utf8_range - third_party/pthreadpool - third_party/puffin - third_party/pyjson5 - third_party/pyyaml - third_party/rapidhash - third_party/re2 - third_party/rnnoise - third_party/rust - third_party/ruy - third_party/s2cellid - third_party/search_engines_data - third_party/securemessage - third_party/selenium-atoms - third_party/sentencepiece - third_party/sentencepiece/src/third_party/darts_clone - third_party/shell-encryption - third_party/simdutf - third_party/simplejson - third_party/six - third_party/skia - third_party/skia/include/third_party/vulkan - third_party/skia/third_party/vulkan - third_party/smhasher - third_party/snappy - third_party/spirv-headers - third_party/spirv-tools - 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/SPIRV-Headers/include/spirv - third_party/swiftshader/third_party/SPIRV-Tools - third_party/swiftshader/third_party/subzero - 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/tflite/src/third_party/xla/xla/tsl/framework - third_party/tflite/src/third_party/xla/xla/tsl/lib/random - third_party/tflite/src/third_party/xla/xla/tsl/protobuf - third_party/tflite/src/third_party/xla/xla/tsl/util - third_party/ukey2 - third_party/unrar - third_party/utf - third_party/vulkan - third_party/wasm_tts_engine - 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/zlib/google - third_party/zxcvbn-cpp - url/third_party/mozilla - v8/third_party/siphash - v8/third_party/utf8-decoder - v8/third_party/glibc - v8/third_party/inspector_protocol - v8/third_party/rapidhash-v8 - v8/third_party/v8 - v8/third_party/valgrind - - # gyp -> gn leftovers - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - - if use test; then - # tar tvf /var/cache/distfiles/${P}-testdata.tar.xz | grep '^d' | grep 'third_party' | awk '{print $NF}' - keeplibs+=( - third_party/breakpad/breakpad/src/processor - third_party/fuzztest - third_party/google_benchmark/src/include/benchmark - third_party/google_benchmark/src/src - third_party/perfetto/protos/third_party/pprof - third_party/test_fonts - third_party/test_fonts/fontconfig - ) - fi - - # 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 - - # 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 - - # Sanity check keeplibs, on major version bumps it is often necessary to update this list - # and this enables us to hit them all at once. - # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd) - whitelist_libs=( - net/third_party/quic - third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json - third_party/libjingle - third_party/mesa - third_party/skia/third_party/vulkan - third_party/vulkan - ) - local not_found_libs=() - for lib in "${keeplibs[@]}"; do - if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then - not_found_libs+=( "${lib}" ) - fi - done - - if [[ ${#not_found_libs[@]} -gt 0 ]]; then - eerror "The following \`keeplibs\` directories were not found in the source tree:" - for lib in "${not_found_libs[@]}"; do - eerror " ${lib}" - done - die "Please update the ebuild." - fi - - # Remove most bundled libraries. Some are still needed. - einfo "Unbundling third-party libraries ..." - 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_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - if use !bundled-toolchain; then - # We already forced the "correct" clang via pkg_setup - - if tc-is-cross-compiler; then - CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}" - CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}" - BUILD_AR=${AR} - BUILD_CC=${CC} - BUILD_CXX=${CXX} - BUILD_NM=${NM} - fi - - strip-unsupported-flags - - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - # https://bugs.gentoo.org/918897#c32 - append-ldflags -Wl,--undefined-version - myconf_gn+=" use_lld=true" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - 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 - - # bindgen settings - # From 127, to make bindgen work, we need to provide a location for libclang. - # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch - # rust_bindgen_root = directory with `bin/bindgen` beneath it. - myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\"" - - myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\"" - # We don't need to set 'clang_base_bath' for anything in our build - # and it defaults to the google toolchain location. Instead provide a location - # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h) - myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\"" - - myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\"" - myconf_gn+=" rustc_version=\"${RUST_SLOT}\"" - 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 - 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 - - # TODO 131: The above call clobbers `enable_freetype = true` in the freetype gni file - # drop the last line, then append the freetype line and a new curly brace to end the block - local freetype_gni="build/config/freetype/freetype.gni" - sed -i -e '$d' ${freetype_gni} || die - echo " enable_freetype = true" >> ${freetype_gni} || die - echo "}" >> ${freetype_gni} || 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" - - # The sysroot is the oldest debian image that chromium supports, we don't need it - myconf_gn+=" use_sysroot=false" - - # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi) - # instead of the system C++ library for C++ standard library support. - # default: true, but let's be explicit (forced since 120 ; USE removed 127). - myconf_gn+=" use_custom_libcxx=true" - - # 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 - 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 - - 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 - - # We don't use the same clang version as upstream, and with -Werror - # we need to make sure that we don't get superfluous warnings. - 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 - - # 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" - - # 131 began laying the groundwork for replacing freetype with - # "Rust-based Fontations set of libraries plus Skia path rendering" - # We now need to opt-in - myconf_gn+=" enable_freetype=true" - - # 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_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - myconf_gn+=" use_qt5=false" - if use qt6; then - myconf_gn+=" use_qt6=true" - 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 - myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" - else - myconf_gn+=" use_qt6=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 - - myconf_gn+=" use_thin_lto=${use_lto}" - myconf_gn+=" thin_lto_enable_optimizations=${use_lto}" - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official 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 - if use ppc64; then - myconf_gn+=" is_cfi=false" # requires llvm-runtimes/compiler-rt-sanitizers[cfi] - else - myconf_gn+=" is_cfi=${use_lto}" - fi - # 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 - - # 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 $(use test && echo "base_unittests") - - pax-mark m out/Release/chrome - - # This codepath does minimal patching, so we're at the mercy of upstream - # CFLAGS. This is fine - we're not intending to force this on users - # and we do a lot of flag 'management' anyway. - if use bundled-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/libqt6_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_test() { - # Initial list of tests to skip pulled from Alpine. Thanks Lauren! - # https://issues.chromium.org/issues/40939315 - local skip_tests=( - 'MessagePumpLibeventTest.NestedNotification*' - ClampTest.Death - OptionalTest.DereferencingNoValueCrashes - PlatformThreadTest.SetCurrentThreadTypeTest - RawPtrTest.TrivialRelocability - SafeNumerics.IntMaxOperations - StackTraceTest.TraceStackFramePointersFromBuffer - StringPieceTest.InvalidLengthDeath - StringPieceTest.OutOfBoundsDeath - ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker - ValuesUtilTest.FilePath - # Gentoo-specific - AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/0 - AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/1 - AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/2 - AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/3 - AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/0 - AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/1 - AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/2 - AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/3 - CharacterEncodingTest.GetCanonicalEncodingNameByAliasName - CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGFPE - CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGILL - CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGV - CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGVNonCanonicalAddress - FilePathTest.FromUTF8Unsafe_And_AsUTF8Unsafe - FileTest.GetInfoForCreationTime - ICUStringConversionsTest.ConvertToUtf8AndNormalize - NumberFormattingTest.FormatPercent - PathServiceTest.CheckedGetFailure - PlatformThreadTest.CanChangeThreadType - RustLogIntegrationTest.CheckAllSeverity - StackCanary.ChangingStackCanaryCrashesOnReturn - StackTraceDeathTest.StackDumpSignalHandlerIsMallocFree - SysStrings.SysNativeMBAndWide - SysStrings.SysNativeMBToWide - SysStrings.SysWideToNativeMB - TestLauncherTools.TruncateSnippetFocusedMatchesFatalMessagesTest - ToolsSanityTest.BadVirtualCallNull - ToolsSanityTest.BadVirtualCallWrongType - CancelableEventTest.BothCancelFailureAndSucceedOccurUnderContention #new m133: TODO investigate - ) - local test_filter="-$(IFS=:; printf '%s' "${skip_tests[*]}")" - # test-launcher-bot-mode enables parallelism and plain output - ./out/Release/base_unittests --test-launcher-bot-mode \ - --test-launcher-jobs="$(makeopts_jobs)" \ - --gtest_filter="${test_filter}" || die "Tests failed!" -} - -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 - fi - - if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then - ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd" - ewarn "indicates that the Gentoo handbook was not followed to completion." - ewarn "" - ewarn "Chromium is known to behave unpredictably with this system configuration;" - ewarn "please complete the configuration of this system before logging any bugs." - fi -} diff --git a/www-client/chromium/chromium-135.0.7049.41.ebuild b/www-client/chromium/chromium-135.0.7049.41.ebuild new file mode 100644 index 000000000000..30eebe6e492f --- /dev/null +++ b/www-client/chromium/chromium-135.0.7049.41.ebuild @@ -0,0 +1,1534 @@ +# Copyright 2009-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# PACKAGING NOTES + +# Upstream 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 may eventually hit the point where we need to use +# the bundled Clang due to the use of prerelease features. + +# USE=bundled-toolchain is intended for users who want to use the same toolchain +# as the upstream releases. It's also a good fallback in case we fall behind +# and need to get a release out quickly (less likely with `dev` in-tree). + +# Since m133 we are using CI-generated tarballs from +# https://github.com/chromium-linux-tarballs/chromium-tarballs/ (uploaded to S3 +# and made available via https://chromium-tarballs.distfiles.gentoo.org/). + +# We do this because upstream tarballs weigh in at about 3.5x the size of our +# new "Distro tarballs" and include binaries (etc) that are not useful for +# downstream consumers (like distributions). + +GN_MIN_VER=0.2217 +# chromium-tools/get-chromium-toolchain-strings.py +TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35 +BUNDLED_CLANG_VER=llvmorg-20-init-17108-g29ed6000-3 +BUNDLED_RUST_VER=ad211ced81509462cdfe4c29ed10f97279a0acae-1 +RUST_SHORT_HASH=${BUNDLED_RUST_VER:0:10}-${BUNDLED_RUST_VER##*-} + +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" + +LLVM_COMPAT=( 19 20 ) +PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_REQ_USE="xml(+)" +RUST_MIN_VER=1.78.0 +RUST_NEEDS_LLVM="yes please" +RUST_OPTIONAL="yes" # Not actually optional, but we don't need system Rust (or LLVM) with USE=bundled-toolchain + +inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 multiprocessing ninja-utils pax-utils +inherit python-any-r1 readme.gentoo-r1 rust systemd toolchain-funcs virtualx xdg-utils + +DESCRIPTION="Open-source version of Google Chrome web browser" +HOMEPAGE="https://www.chromium.org/" +PPC64_HASH="a85b64f07b489b8c6fdb13ecf79c16c56c560fc6" +PATCH_V="${PV%%\.*}" +SRC_URI="https://chromium-tarballs.distfiles.gentoo.org/${P}-linux.tar.xz + !bundled-toolchain? ( + https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 + ) + bundled-toolchain? ( + https://gsdview.appspot.com/chromium-browser-clang/Linux_x64/clang-${BUNDLED_CLANG_VER}.tar.xz + -> chromium-clang-${BUNDLED_CLANG_VER}.tar.xz + https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${BUNDLED_RUST_VER}-${BUNDLED_CLANG_VER%-*}.tar.xz + -> chromium-rust-toolchain-${RUST_SHORT_HASH}-${BUNDLED_CLANG_VER%-*}.tar.xz + ) + test? ( + https://chromium-tarballs.distfiles.gentoo.org/${P}-linux-testdata.tar.xz + https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> chromium-testfonts-${TEST_FONT:0:10}.tar.gz + ) + ppc64? ( + https://gitlab.raptorengineering.com/raptor-engineering-public/chromium/openpower-patches/-/archive/${PPC64_HASH}/openpower-patches-${PPC64_HASH}.tar.bz2 -> chromium-openpower-${PPC64_HASH:0:10}.tar.bz2 + ) + pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" + +LICENSE="BSD" +SLOT="0/beta" +# Dev exists mostly to give devs some breathing room for beta/stable releases; +# it shouldn't be keyworded but adventurous users can select it. +if [[ ${SLOT} != "0/dev" ]]; then + KEYWORDS="~amd64 ~arm64" +fi + +IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd" +IUSE="+X ${IUSE_SYSTEM_LIBS} bindist bundled-toolchain cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos +official pax-kernel pgo" +IUSE+=" +proprietary-codecs pulseaudio qt6 +screencast selinux test +vaapi +wayland +widevine cpu_flags_ppc_vsx3" +RESTRICT=" + !bindist? ( bindist ) + !test? ( test ) +" + +REQUIRED_USE=" + !headless? ( || ( X wayland ) ) + pgo? ( X !wayland ) + screencast? ( wayland ) + 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-73.0:= ) + >=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:= + !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-base/xorg-proto:= + x11-libs/libX11:= + x11-libs/libxcb:= + x11-libs/libXext:= + ) + 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? ( + >=app-accessibility/at-spi2-core-2.46.0:2 + media-libs/mesa:=[X?,wayland?] + virtual/udev + x11-libs/cairo:= + x11-libs/gdk-pixbuf:2 + x11-libs/pango:= + cups? ( >=net-print/cups-1.3.11:= ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + X? ( ${COMMON_X_DEPEND} ) + ) +" +RDEPEND="${COMMON_DEPEND} + !headless? ( + || ( + x11-libs/gtk+:3[X?,wayland?] + gui-libs/gtk:4[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?] ) + ) +" + +BDEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + >=app-arch/gzip-1.7 + !headless? ( + qt6? ( dev-qt/qtbase:6 ) + ) + !bundled-toolchain? ( $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + llvm-core/lld:${LLVM_SLOT} + official? ( + !ppc64? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[cfi] ) + ) ') + ${RUST_DEPEND} + ) + pgo? ( + >=dev-python/selenium-3.141.0 + >=dev-util/web_page_replay_go-20220314 + ) + >=dev-util/bindgen-0.68.0 + >=dev-build/gn-${GN_MIN_VER} + app-alternatives/ninja + dev-lang/perl + >=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 ! 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}]" +} + +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=24 + local EXTRA_DISK=1 + local CHECKREQS_MEMORY="4G" + tc-is-cross-compiler && EXTRA_DISK=2 + if tc-is-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" "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 + + # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment + # We'll set these to clang here then use llvm-utils functions to very explicitly set these + # to a sane value. + # This is effectively the 'force-clang' path if GCC support is re-added. + # TODO: check if the user has already selected a specific impl via make.conf and respect that. + use_lto="false" + if tc-is-lto; then + use_lto="true" + # We can rely on GN to do this for us; anecdotally without this builds + # take significantly longer with LTO enabled and it doesn't hurt anything. + filter-lto + fi + + if [ "$use_lto" = "false" ] && use official; then + einfo "USE=official selected and LTO not detected." + einfo "It is _highly_ recommended that LTO be enabled for performance reasons" + einfo "and to be consistent with the upstream \"official\" build optimisations." + fi + + if [ "$use_lto" = "false" ] && use test; then + die "Tests require CFI which requires LTO" + fi + + export use_lto + + # 936858 + if tc-ld-is-mold; then + eerror "Your toolchain is using the mold linker." + eerror "This is not supported by Chromium." + die "Please switch to a different linker." + fi + + if use !bundled-toolchain; then + llvm-r1_pkg_setup + rust_pkg_setup + fi + + # Forcing clang; respect llvm_slot_x to enable selection of impl from LLVM_COMPAT + AR=llvm-ar + CPP="${CHOST}-clang++-${LLVM_SLOT} -E" + NM=llvm-nm + CC="${CHOST}-clang-${LLVM_SLOT}" + CXX="${CHOST}-clang++-${LLVM_SLOT}" + + if tc-is-cross-compiler; then + use pgo && die "The pgo USE flag cannot be used when cross-compiling" + CPP="${CBUILD}-clang++-${LLVM_SLOT} -E" + fi + + # I hate doing this but upstream Rust have yet to come up with a better solution for + # us poor packagers. Required for Split LTO units, which are required for CFI. + export RUSTC_BOOTSTRAP=1 + + # 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_unpack() { + unpack ${P}-linux.tar.xz + # These should only be required when we're not using the official toolchain + use !bundled-toolchain && unpack chromium-patches-${PATCH_V}.tar.bz2 + + use pgo && unpack chromium-profiler-0.2.tar + + if use test; then + # A new testdata tarball is available for each release; but testfonts tend to remain stable + # for the duration of a release. + # This unpacks directly into/over ${WORKDIR}/${P} so we can just use `unpack`. + unpack ${P}-linux-testdata.tar.xz + # This just contains a bunch of font files that need to be unpacked (or moved) to the correct location. + local testfonts_dir="${WORKDIR}/${P}/third_party/test_fonts" + local testfonts_tar="${DISTDIR}/chromium-testfonts-${TEST_FONT:0:10}.tar.gz" + tar xf "${testfonts_tar}" -C "${testfonts_dir}" || die "Failed to unpack testfonts" + fi + + # We need to manually unpack this since M126 else we'd unpack one toolchain over the other. + # Since we're doing that anyway let's unpack to sensible locations to make symlink creation easier. + if use bundled-toolchain; then + einfo "Unpacking bundled Clang ..." + mkdir -p "${WORKDIR}"/clang || die "Failed to create clang directory" + tar xf "${DISTDIR}/chromium-clang-${BUNDLED_CLANG_VER}.tar.xz" -C "${WORKDIR}/clang" || die "Failed to unpack Clang" + einfo "Unpacking bundled Rust ..." + local rust_dir="${WORKDIR}/rust-toolchain" + mkdir -p "${rust_dir}" || die "Failed to create rust toolchain directory" + tar xf "${DISTDIR}/chromium-rust-toolchain-${RUST_SHORT_HASH}-${BUNDLED_CLANG_VER%-*}.tar.xz" -C "${rust_dir}" || + die "Failed to unpack Rust" + fi + + if use ppc64; then + unpack chromium-openpower-${PPC64_HASH:0:10}.tar.bz2 + fi +} + +src_prepare() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + local PATCHES=( + "${FILESDIR}/chromium-cross-compile.patch" + "${FILESDIR}/chromium-109-system-zlib.patch" + "${FILESDIR}/chromium-111-InkDropHost-crash.patch" + "${FILESDIR}/chromium-131-unbundle-icu-target.patch" + "${FILESDIR}/chromium-134-bindgen-custom-toolchain.patch" + "${FILESDIR}/chromium-135-oauth2-client-switches.patch" + "${FILESDIR}/chromium-135-map_droppable-glibc.patch" + ) + + if use bundled-toolchain; then + # We need to symlink the toolchain into the expected location + einfo "Symlinking Clang toolchain to expected location ..." + mkdir -p third_party/llvm-build/ || die "Failed to create llvm-build directory" + # the 'Chromium Linux Tarballs' seem to already have 'Release+Asserts/{lib,bin}'; not sure if this is an + # upstream change - we're using the same scripts to build, theoretically. We'll still attempt to create + # llvm-build, but we'll rm Release+Asserts and symlink directly. + if [[ -d third_party/llvm-build/Release+Asserts ]]; then + rm -r third_party/llvm-build/Release+Asserts || die "Failed to remove third_party/llvm-build/Release+Asserts" + fi + ln -s "${WORKDIR}"/clang third_party/llvm-build/Release+Asserts || die "Failed to bundle Clang" + einfo "Symlinking Rust toolchain to expected location ..." + # As above, so below + if [[ -d third_party/rust-toolchain ]]; then + rm -r third_party/rust-toolchain || die "Failed to remove third_party/rust-toolchain" + fi + 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" + else + # We don't need our toolchain patches if we're using the official toolchain + shopt -s globstar nullglob + # 130: moved the PPC64 patches into the chromium-patches repo + local patch + for patch in "${WORKDIR}/chromium-patches-${PATCH_V}"/**/*.patch; do + if [[ ${patch} == *"ppc64le"* ]]; then + use ppc64 && PATCHES+=( "${patch}" ) + else + PATCHES+=( "${patch}" ) + fi + done + + shopt -u globstar nullglob + + # We can't use the bundled compiler builtins with the system toolchain + # `grep` is a development convenience to ensure we fail early when google changes something. + local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {" + grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins" + sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn + + # Strictly speaking this doesn't need to be gated (no bundled toolchain for ppc64); it keeps the logic together + if use ppc64; then + local patchset_dir="${WORKDIR}/openpower-patches-${PPC64_HASH}/patches" + # patch causes build errors on 4K page systems (https://bugs.gentoo.org/show_bug.cgi?id=940304) + local page_size_patch="ppc64le/third_party/use-sysconf-page-size-on-ppc64.patch" + local isa_3_patch="ppc64le/core/baseline-isa-3-0.patch" + # Apply the OpenPOWER patches (check for page size and isa 3.0) + openpower_patches=( $(grep -E "^ppc64le|^upstream" "${patchset_dir}/series" | grep -v "${page_size_patch}" | + grep -v "${isa_3_patch}" || die) ) + for patch in "${openpower_patches[@]}"; do + PATCHES+=( "${patchset_dir}/${patch}" ) + done + if [[ $(getconf PAGESIZE) == 65536 ]]; then + PATCHES+=( "${patchset_dir}/${page_size_patch}" ) + fi + # We use vsx3 as a proxy for 'want isa3.0' (POWER9) + if use cpu_flags_ppc_vsx3 ; then + PATCHES+=( "${patchset_dir}/${isa_3_patch}" ) + fi + fi + + # Oxidised hacks, let's keep 'em all in one place + # This is a nightly option that does not exist in older releases + # https://github.com/rust-lang/rust/commit/389a399a501a626ebf891ae0bb076c25e325ae64 + if ver_test ${RUST_SLOT} -lt "1.83.0"; then + sed '/rustflags = \[ "-Zdefault-visibility=hidden" \]/d' -i build/config/gcc/BUILD.gn || + die "Failed to remove default visibility nightly option" + fi + + # Upstream Rust replaced adler with adler2, for older versions of Rust we still need + # to tell GN that we have the older lib when it tries to copy the Rust sysroot + # into the bulid directory. + if ver_test ${RUST_SLOT} -lt "1.86.0"; then + sed -i 's/adler2/adler/' build/rust/std/BUILD.gn || + die "Failed to tell GN that we have adler and not adler2" + fi + fi + + default + + # Not included in -lite tarballs, but we should check for it anyway. + if [[ -f third_party/node/linux/node-linux-x64/bin/node ]]; then + rm third_party/node/linux/node-linux-x64/bin/node || die + else + mkdir -p third_party/node/linux/node-linux-x64/bin || die + fi + 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 + + # remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party' + # whitelist matches use the right-most matching path component, so we need to whitelist from that point down. + local keeplibs=( + base/third_party/cityhash + base/third_party/double_conversion + base/third_party/icu + base/third_party/nspr + base/third_party/superfasthash + base/third_party/symbolize + base/third_party/xdg_user_dirs + buildtools/third_party/libc++ + buildtools/third_party/libc++abi + chrome/third_party/mozilla_security_manager + 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/bidimapper + third_party/blink + 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/crabbyavif + 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/json5 + 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/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/parsel-js + 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/third-party-web + 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/front_end/third_party/web-vitals + 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/fast_float + 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/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/highway + third_party/hunspell + third_party/ink_stroke_modeler/src/ink_stroke_modeler + third_party/ink_stroke_modeler/src/ink_stroke_modeler/internal + third_party/ink/src/ink/brush + third_party/ink/src/ink/color + third_party/ink/src/ink/geometry + third_party/ink/src/ink/rendering + third_party/ink/src/ink/rendering/skia/common_internal + third_party/ink/src/ink/rendering/skia/native + third_party/ink/src/ink/rendering/skia/native/internal + third_party/ink/src/ink/strokes + third_party/ink/src/ink/types + third_party/inspector_protocol + third_party/ipcz + third_party/jinja2 + third_party/jsoncpp + third_party/khronos + third_party/lens_server_proto + 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/libc++ + third_party/libdrm + third_party/libgav1 + third_party/libjingle + third_party/libphonenumber + third_party/libsecret + third_party/libsrtp + third_party/libsync + third_party/libtess2/libtess2 + third_party/libtess2/src/Include + third_party/libtess2/src/Source + third_party/liburlpattern + 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/libzip + third_party/lit + third_party/llvm-libc + third_party/llvm-libc/src/shared/ + third_party/lottie + third_party/lss + third_party/lzma_sdk + third_party/mako + 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/perfetto/protos/third_party/simpleperf + third_party/pffft + third_party/ply + third_party/polymer + third_party/private_membership + third_party/private-join-and-compute + third_party/protobuf + third_party/protobuf/third_party/utf8_range + third_party/pthreadpool + third_party/puffin + third_party/pyjson5 + third_party/pyyaml + third_party/rapidhash + third_party/re2 + third_party/rnnoise + third_party/rust + third_party/ruy + third_party/s2cellid + third_party/search_engines_data + third_party/securemessage + third_party/selenium-atoms + third_party/sentencepiece + third_party/sentencepiece/src/third_party/darts_clone + third_party/shell-encryption + third_party/simdutf + third_party/simplejson + third_party/six + third_party/skia + third_party/skia/include/third_party/vulkan + third_party/skia/third_party/vulkan + third_party/smhasher + third_party/snappy + third_party/spirv-headers + third_party/spirv-tools + 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/SPIRV-Headers/include/spirv + third_party/swiftshader/third_party/SPIRV-Tools + third_party/swiftshader/third_party/subzero + 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/tflite/src/third_party/xla/xla/tsl/framework + third_party/tflite/src/third_party/xla/xla/tsl/lib/random + third_party/tflite/src/third_party/xla/xla/tsl/protobuf + third_party/tflite/src/third_party/xla/xla/tsl/util + third_party/ukey2 + third_party/unrar + third_party/utf + third_party/vulkan + third_party/wasm_tts_engine + 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/zlib/google + third_party/zxcvbn-cpp + url/third_party/mozilla + v8/third_party/siphash + v8/third_party/utf8-decoder + v8/third_party/glibc + v8/third_party/inspector_protocol + v8/third_party/rapidhash-v8 + v8/third_party/v8 + v8/third_party/valgrind + + # gyp -> gn leftovers + third_party/speech-dispatcher + third_party/usb_ids + third_party/xdg-utils + ) + + if use test; then + # tar tvf /var/cache/distfiles/${P}-testdata.tar.xz | grep '^d' | grep 'third_party' | awk '{print $NF}' + keeplibs+=( + third_party/breakpad/breakpad/src/processor + third_party/fuzztest + third_party/google_benchmark/src/include/benchmark + third_party/google_benchmark/src/src + third_party/perfetto/protos/third_party/pprof + third_party/test_fonts + third_party/test_fonts/fontconfig + ) + fi + + # 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 + + # 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 + + # Sanity check keeplibs, on major version bumps it is often necessary to update this list + # and this enables us to hit them all at once. + # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd) + whitelist_libs=( + net/third_party/quic + third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json + third_party/libjingle + third_party/mesa + third_party/skia/third_party/vulkan + third_party/vulkan + ) + local not_found_libs=() + for lib in "${keeplibs[@]}"; do + if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then + not_found_libs+=( "${lib}" ) + fi + done + + if [[ ${#not_found_libs[@]} -gt 0 ]]; then + eerror "The following \`keeplibs\` directories were not found in the source tree:" + for lib in "${not_found_libs[@]}"; do + eerror " ${lib}" + done + die "Please update the ebuild." + fi + + # Remove most bundled libraries. Some are still needed. + einfo "Unbundling third-party libraries ..." + 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_configure() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + local myconf_gn="" + + if use !bundled-toolchain; then + # We already forced the "correct" clang via pkg_setup + + if tc-is-cross-compiler; then + CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}" + CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}" + BUILD_AR=${AR} + BUILD_CC=${CC} + BUILD_CXX=${CXX} + BUILD_NM=${NM} + fi + + strip-unsupported-flags + + myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" + # https://bugs.gentoo.org/918897#c32 + append-ldflags -Wl,--undefined-version + myconf_gn+=" use_lld=true" + + # Make sure the build system will use the right tools, bug #340795. + tc-export AR CC CXX NM + + 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 + + # bindgen settings + # From 127, to make bindgen work, we need to provide a location for libclang. + # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch + # rust_bindgen_root = directory with `bin/bindgen` beneath it. + myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\"" + + myconf_gn+=" bindgen_libclang_path=\"$(get_llvm_prefix)/$(get_libdir)\"" + # We don't need to set 'clang_base_bath' for anything in our build + # and it defaults to the google toolchain location. Instead provide a location + # to where system clang lives sot that bindgen can find system headers (e.g. stddef.h) + myconf_gn+=" clang_base_path=\"${EPREFIX}/usr/lib/clang/${LLVM_SLOT}/\"" + + myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\"" + myconf_gn+=" rustc_version=\"${RUST_SLOT}\"" + 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 + 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 + + # TODO 131: The above call clobbers `enable_freetype = true` in the freetype gni file + # drop the last line, then append the freetype line and a new curly brace to end the block + local freetype_gni="build/config/freetype/freetype.gni" + sed -i -e '$d' ${freetype_gni} || die + echo " enable_freetype = true" >> ${freetype_gni} || die + echo "}" >> ${freetype_gni} || 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" + + # The sysroot is the oldest debian image that chromium supports, we don't need it + myconf_gn+=" use_sysroot=false" + + # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi) + # instead of the system C++ library for C++ standard library support. + # default: true, but let's be explicit (forced since 120 ; USE removed 127). + myconf_gn+=" use_custom_libcxx=true" + + # 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 + 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 + + 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 + + # We don't use the same clang version as upstream, and with -Werror + # we need to make sure that we don't get superfluous warnings. + 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 + + # 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" + + # 131 began laying the groundwork for replacing freetype with + # "Rust-based Fontations set of libraries plus Skia path rendering" + # We now need to opt-in + myconf_gn+=" enable_freetype=true" + + # 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_minigbm=true" + myconf_gn+=" use_xkbcommon=true" + myconf_gn+=" use_qt5=false" + if use qt6; then + myconf_gn+=" use_qt6=true" + 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 + myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" + else + myconf_gn+=" use_qt6=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 + + myconf_gn+=" use_thin_lto=${use_lto}" + myconf_gn+=" thin_lto_enable_optimizations=${use_lto}" + + # Enable official builds + myconf_gn+=" is_official_build=$(usex official 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 + if use ppc64; then + myconf_gn+=" is_cfi=false" # requires llvm-runtimes/compiler-rt-sanitizers[cfi] + else + myconf_gn+=" is_cfi=${use_lto}" + fi + # 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 + + # 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 $(use test && echo "base_unittests") + + pax-mark m out/Release/chrome + + # This codepath does minimal patching, so we're at the mercy of upstream + # CFLAGS. This is fine - we're not intending to force this on users + # and we do a lot of flag 'management' anyway. + if use bundled-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/libqt6_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_test() { + # Initial list of tests to skip pulled from Alpine. Thanks Lauren! + # https://issues.chromium.org/issues/40939315 + local skip_tests=( + 'MessagePumpLibeventTest.NestedNotification*' + ClampTest.Death + OptionalTest.DereferencingNoValueCrashes + PlatformThreadTest.SetCurrentThreadTypeTest + RawPtrTest.TrivialRelocability + SafeNumerics.IntMaxOperations + StackTraceTest.TraceStackFramePointersFromBuffer + StringPieceTest.InvalidLengthDeath + StringPieceTest.OutOfBoundsDeath + ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker + ValuesUtilTest.FilePath + # Gentoo-specific + AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/0 + AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/1 + AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/2 + AlternateTestParams/PartitionAllocDeathTest.RepeatedAllocReturnNullDirect/3 + AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/0 + AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/1 + AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/2 + AlternateTestParams/PartitionAllocDeathTest.RepeatedReallocReturnNullDirect/3 + CharacterEncodingTest.GetCanonicalEncodingNameByAliasName + CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGFPE + CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGILL + CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGV + CheckExitCodeAfterSignalHandlerDeathTest.CheckSIGSEGVNonCanonicalAddress + FilePathTest.FromUTF8Unsafe_And_AsUTF8Unsafe + FileTest.GetInfoForCreationTime + ICUStringConversionsTest.ConvertToUtf8AndNormalize + NumberFormattingTest.FormatPercent + PathServiceTest.CheckedGetFailure + PlatformThreadTest.CanChangeThreadType + RustLogIntegrationTest.CheckAllSeverity + StackCanary.ChangingStackCanaryCrashesOnReturn + StackTraceDeathTest.StackDumpSignalHandlerIsMallocFree + SysStrings.SysNativeMBAndWide + SysStrings.SysNativeMBToWide + SysStrings.SysWideToNativeMB + TestLauncherTools.TruncateSnippetFocusedMatchesFatalMessagesTest + ToolsSanityTest.BadVirtualCallNull + ToolsSanityTest.BadVirtualCallWrongType + CancelableEventTest.BothCancelFailureAndSucceedOccurUnderContention #new m133: TODO investigate + ) + local test_filter="-$(IFS=:; printf '%s' "${skip_tests[*]}")" + # test-launcher-bot-mode enables parallelism and plain output + ./out/Release/base_unittests --test-launcher-bot-mode \ + --test-launcher-jobs="$(makeopts_jobs)" \ + --gtest_filter="${test_filter}" || die "Tests failed!" +} + +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 + fi + + if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then + ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd" + ewarn "indicates that the Gentoo handbook was not followed to completion." + ewarn "" + ewarn "Chromium is known to behave unpredictably with this system configuration;" + ewarn "please complete the configuration of this system before logging any bugs." + fi +} diff --git a/www-client/falkon/Manifest b/www-client/falkon/Manifest index d06e36d5c074..b0ec04d4cbad 100644 --- a/www-client/falkon/Manifest +++ b/www-client/falkon/Manifest @@ -1,6 +1,4 @@ AUX falkon-24.08.3-fix-printing.patch 3375 BLAKE2B 220d83cbba1d18be9c2eeeae813806d4c9f025de62000af9b9257bbbc0ffd235a0fa29d1a4aa9ff830b463c1ea9653c620f2c448658eb2ae2147bc2fc0e229e2 SHA512 bcfcace0f5887dc1b2ffc67721aaaa7561d8ebde56ecd263a0b94797821d0c4aec8bb74a4fe02af49214cd05edc2661b115923819cd89ca3d078213f2059c9ae -DIST falkon-24.12.2.tar.xz 2654508 BLAKE2B c6629358b69268ce8093f22e4f3764f67f641c5a9ce398317e333dfa593f34fada80f855f54b0a506ae5f1e9d79d82f136adab9a4ddcfd8e5a7e130ebf4de28b SHA512 c883203a57f5c0f8db04321e747d5eaec594d8cc8418753b554a6858e6164ea74825fe1031e2813eb72120abe39bc763c5c55e0498c60b7a0b6ced46aab0e8d8 DIST falkon-24.12.3.tar.xz 2654604 BLAKE2B 6e7f3f84a2a8218f837ae68c9f598354b1a0a527b01131231a300c0d8be62b5ac2dcac604d9b02441a169224cd1e0968d4d2934458bdbd576330ca73793936d3 SHA512 565dd3c0f9338745547cbe334e9af10157e34ddb0426a55ee95e43c56bfe08b81ea01bbd09da42a4fec4f8da48c15644b9753377ae20880575904dda4f7fa240 -EBUILD falkon-24.12.2.ebuild 2070 BLAKE2B e17fc9ac32338cfd9b841a943bf3adaef100c92b5ab061db40389e3ad4bcb0e67bc7edb2df47398bc0a67de21d575fedd67d21feee24088a78f68826fdeac7f9 SHA512 32d7fe4732de6ab1eda5fe49fbabc24156d2dac8f5b85aa3b0a36a00948b5b48a56587ee06631fe4e8cd05e47f11f873a6a3ea6eca61619c78ea5bc9f162cf8e -EBUILD falkon-24.12.3.ebuild 2072 BLAKE2B 60e3d491303b672b1e5ded5abcd43e8c568d9eb86a2c67678c22923411810a8dfaa49160d407eb4012abd27cc642589aea5c6c40a25e26c2f00da31247554bf4 SHA512 1c3afc48012dc14e2e38dfd7cd061946a1f6018044466dafe2d8ed7c9aca33db3ef3b49ff54ff25e9505540bd7701084d138045175889a5de7ca0529c6c912cd +EBUILD falkon-24.12.3.ebuild 2070 BLAKE2B a41a01756ad013499327078f8b26f44cdbd843486ccd4bd2e075d9de39c87e2f7f1041b69f47b20c91c30d69ebd2423dfda6b1e846f8d40b46f611ef8f6c9718 SHA512 764801788b7cdbd43a47a51873b947afff27bb1bd30571e378910ce8a11958cb88052523dfc24201522b2385315998adff54cc46f00929e5c89a59c68d0a218d MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6 diff --git a/www-client/falkon/falkon-24.12.2.ebuild b/www-client/falkon/falkon-24.12.2.ebuild deleted file mode 100644 index 0782064fa869..000000000000 --- a/www-client/falkon/falkon-24.12.2.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -ECM_TEST="true" -KFMIN=6.7.0 -QTMIN=6.7.2 -PYTHON_COMPAT=( python3_{10..12} ) -inherit ecm gear.kde.org python-single-r1 - -DESCRIPTION="Cross-platform web browser using QtWebEngine" -HOMEPAGE="https://www.falkon.org/ https://apps.kde.org/falkon/" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="amd64 arm64" -IUSE="dbus kde python +X" - -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -RESTRICT="test" # bug 653046 - -COMMON_DEPEND=" - dev-libs/openssl:0= - >=dev-qt/qt5compat-${QTMIN}:6 - >=dev-qt/qtbase-${QTMIN}:6[dbus?,gui,network,sql,sqlite,ssl,widgets] - >=dev-qt/qtdeclarative-${QTMIN}:6[widgets] - >=dev-qt/qtwebchannel-${QTMIN}:6 - >=dev-qt/qtwebengine-${QTMIN}:6=[widgets] - >=kde-frameworks/karchive-${KFMIN}:6 - virtual/libintl - kde? ( - >=kde-frameworks/kcoreaddons-${KFMIN}:6 - >=kde-frameworks/kcrash-${KFMIN}:6 - >=kde-frameworks/kio-${KFMIN}:6 - >=kde-frameworks/kjobwidgets-${KFMIN}:6 - >=kde-frameworks/kwallet-${KFMIN}:6 - >=kde-frameworks/purpose-${KFMIN}:6 - ) - python? ( - ${PYTHON_DEPS} - $(python_gen_cond_dep " - >=dev-python/pyside-${QTMIN}:6[gui,positioning,uitools(-),webengine,widgets,\${PYTHON_USEDEP}] - ") - ) - X? ( - x11-libs/libxcb:= - x11-libs/xcb-util - ) -" -DEPEND="${COMMON_DEPEND} - >=dev-qt/qtbase-${QTMIN}:6[concurrent] -" -if [[ ${KDE_BUILD_TYPE} != live ]]; then - DEPEND+=" >=kde-frameworks/ki18n-${KFMIN}:6" -fi -RDEPEND="${COMMON_DEPEND} - >=dev-qt/qtsvg-${QTMIN}:6 -" -BDEPEND=">=dev-qt/qttools-${QTMIN}:6[linguist]" - -pkg_setup() { - use python && python-single-r1_pkg_setup - ecm_pkg_setup -} - -src_configure() { - local mycmakeargs=( - -DBUILD_KEYRING=OFF - -DDISABLE_DBUS=$(usex !dbus) - $(cmake_use_find_package kde KF6Wallet) - $(cmake_use_find_package kde KF6KIO) - -DBUILD_PYTHON_SUPPORT=$(usex python) - -DNO_X11=$(usex !X) - ) - use python && mycmakeargs+=( - -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}" # shiboken_helpers.cmake quirk - -DPython3_INCLUDE_DIR=$(python_get_includedir) - -DPython3_LIBRARY=$(python_get_library_path) - ) - ecm_src_configure -} diff --git a/www-client/falkon/falkon-24.12.3.ebuild b/www-client/falkon/falkon-24.12.3.ebuild index b171ec517eae..e5f5c64d21f2 100644 --- a/www-client/falkon/falkon-24.12.3.ebuild +++ b/www-client/falkon/falkon-24.12.3.ebuild @@ -6,7 +6,7 @@ EAPI=8 ECM_TEST="true" KFMIN=6.7.0 QTMIN=6.7.2 -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit ecm gear.kde.org python-single-r1 DESCRIPTION="Cross-platform web browser using QtWebEngine" @@ -14,7 +14,7 @@ HOMEPAGE="https://www.falkon.org/ https://apps.kde.org/falkon/" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~amd64 ~arm64" +KEYWORDS="amd64 arm64" IUSE="dbus kde python +X" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" diff --git a/www-client/firefox-bin/Manifest b/www-client/firefox-bin/Manifest index 5b760ad747c0..dd1d751c245e 100644 --- a/www-client/firefox-bin/Manifest +++ b/www-client/firefox-bin/Manifest @@ -586,25 +586,126 @@ DIST firefox-136.0.2-vi.xpi 463336 BLAKE2B 1e28d8f57cac1d84cdf32f783b3f0db3f4760 DIST firefox-136.0.2-xh.xpi 273267 BLAKE2B e15fd34f3462e3e2ba12af675ab7256c46812614789f22f1f578278537e385444b6aa3d8d8a3b6da49e609e9ad92ffedd102b65f4c32e494f08ecefce2be24dd SHA512 f18ac320b5888c1ee3158262af2372cea56545e1d5c69494c7058192c083adacb83b64a87e2751f52b206633e7c13527f2743cdeff05344dd0852ef8383a3a1d DIST firefox-136.0.2-zh-CN.xpi 454843 BLAKE2B 8ca76457ea41a9a5d7b1b9e710c508febbc333f9aca1ba65c1b199f76cf0c1ea18d38fd398b2aa8b3d70e205f47931f65a22403dc16c048ac7ff489aab53f51f SHA512 d1c96b194a4583e3aae13b1327fc6c201a609abd407a48e5c1538d4e797595e23e2e00d48aacdb41a0bc8eb04ab6ef11ae9c8dec8a4382ff582244f6da08e5cf DIST firefox-136.0.2-zh-TW.xpi 457679 BLAKE2B 128b68f4259e577ef6052185d96a1da4d790f8af55629b4fbd87a857baa50d2a4c6b0543dd15c2df807280de9c37f4a4689db9b1aa9ea40aa6f2dda52958e1e9 SHA512 d09d68b50b720677135e5b2e476b15ab467f45a40744c07ec0367c9a4fccd3cd708cb0e852bf50189c549c44e3a24048a016e652d95b06838a83e946034406ad +DIST firefox-136.0.3-ach.xpi 295318 BLAKE2B cb3aab3e218a01ed05bc6cc583f98ce9f7a988d6b576bb9b8669fc9ede0546647ae03eb5dc4fa36582849ce7065429484815d72bdcdd37973e34d092608da230 SHA512 61a08d37503ae436afb0df71d605dbb055e8ab40d947678285997825ee9b99697bbd17be4d993ec89b0b01d0fb88fe571fd55066fd8b31949d8cdbd08f2f2413 +DIST firefox-136.0.3-af.xpi 266790 BLAKE2B 68186f1df97c6efa82fae5b729f2946a97c0351989d97277b6ebaa06ff2504e3ffb44b40941e06fce7b92cf3dca604e2112f6e27e9da1fa168f46ded579a9735 SHA512 c418605e8e85784302b81fb4134f49bbbbffef753f78cd0d4f4d52a01cd47d5e87591637a12f7d0e48b119e661bf79c522dc607a3c5ff97b93d730cd63473579 +DIST firefox-136.0.3-an.xpi 333342 BLAKE2B 24f317ceb8452c603dd4e975799b96afafacbf42c43d93b1b0c55f6970666bd70e420c509ec96282513bbf27a228dfc8a8ced079a3ab8a1a44a26b2316292f6b SHA512 cdb296d90655672f475974c1dddf07d44b75cfe222e5824b45b754d1dc24d807279079429a656f16465f40d901a98b0e68a0e9933e47885c35778a4521db867a +DIST firefox-136.0.3-ar.xpi 431814 BLAKE2B c6ce7e343744aea9dbcf4fd4d0feadc0a23a0e84fc5c74b4311c1dbaeaf7f55b19040797718a3fa023cc88cf20a6dd52dfff2d2e1d5ef6f94c085a4cb9fa67c7 SHA512 c2ef98ec725414a6b6a97dcc4ed4e683694393425946918ba80b6817fb2ae414f1a5eb65b70661220e30db01a49cad55f73cd38dd9b55f4407e7e23f196c3677 +DIST firefox-136.0.3-ast.xpi 314251 BLAKE2B 7b63029451ac09999d43fa5673af62235de871e1c9dfaeda0109f5b7985e9daca53a5268bf4ae76b9e67b7b344cbc0915191a3caeff8e8e1a23881898b8d7985 SHA512 8720bae6ca9965f2638458e746d09b268f6878936fa7e1c50dfaac02b9562e116e381bbc3096def559da9be9bab52bc873e3fd80aa8cf4c90664f4d6e3ee4cb7 +DIST firefox-136.0.3-az.xpi 319703 BLAKE2B acd438fbb074aedbf88beb9e19b899a0537775b7c08c0a7f61bd92804dc39c81b322b4ce52027607e315e62afc4591454423f09d072ba783d034c2ea4c0e6fdc SHA512 d94df2d4ce8713ae9bcd2d6a9a3f5aae0a08580dbec994211e4ad90e28bacaebd2a11f4fff6354d4af9af87ff25b25f14ac03d7e8fd1c74abeb14713ba3f61bf +DIST firefox-136.0.3-be.xpi 513803 BLAKE2B 1c8878a4ccc36c21be524cd4de2de3442860f70f3e2469751f3cb5bfce707c917c9cb59d14793775059ecc993ac5e3426a52412d3e80b2fbebc1e74272169ab9 SHA512 1894f253bd930d0167b138259e46e35da459ecd31c61b3d4464cdc3c5b5ea4b59fccacb64c70d3942b28a4d7bd19ce8f9bf631fe967965606570ea0d1fede69f +DIST firefox-136.0.3-bg.xpi 448910 BLAKE2B 2cb878f21c5fd7a0d536d8cf138269ac0f02358169bf2da592574098c8aaa73de87da9346c7f1b3b59aa98370e5bfaca106e731f243f541f7e3d957b001d173f SHA512 708ac599023e280d6cc4dd56b1fbd23c96e4ba5e02dba1f82e6383d14c9ae6c141d2cc1877f6156cf9576ef24acfa774fa71257044e0878d22190b1ce5d2c491 +DIST firefox-136.0.3-bn.xpi 414163 BLAKE2B 2a179d210c82158b550fc35d9b6769a803b25820e1c24806ac3403e413d74258ce8736132579c37b3bb5e7e53bed57b4661ec8fbf891c20e0f7c304d428dac62 SHA512 dbeb23c84eeb46a09216ffba68f6b07698c7e41513171e969c8acd272f44a4c003030438c3ef1f31bfacf50499f4ae84860dfcf08c4cbf575a3363015d8dfbba +DIST firefox-136.0.3-br.xpi 394434 BLAKE2B a9f38788718311b17067a76e20f720d5c7565443b3b81ddc6e539f56e4804ad1047dd021d3a205481002eb44a6dadc28367ae6796430006fbccba3fe56876d50 SHA512 a83ecaf73da5685ca7c108d6ef89f2ac7d291c25af6b8cd4d87b0c7266f9a17c6946c71fe2cf84373a2d8d358f21cc3ec66b3e73eba4b810c2d566351caef815 +DIST firefox-136.0.3-bs.xpi 365267 BLAKE2B c474f2840ac46ddf60a4b14502bd4b207dee8d8e3a428be498eed12a22dc743d3a140bd8066d9ca920d83c01a22b31305bb227134187111f7be8e93002bb6c20 SHA512 5da912e1947df3154e541f44c284e6fa7f45c34efe2869d4d1199deeef254762597263bf9015d34288ab8d1a6226db3e8e4e9050979a8b975e2ae603138b28c0 +DIST firefox-136.0.3-ca-valencia.xpi 359654 BLAKE2B 9e8acb79d1389cc2d437eaa556f2f068ec60d213406107ecd7e2b2a63044757db746f4b025be4d190df5e85349d40f44acf233e3dce23dfd6e422902fda0b9b7 SHA512 478a6c4effa12434435b7e5bcb070e4a5442bf1d404781941504cbb6cc843bfbe152a194e373bc752308a4fb7ed8e1804e24e8757b4f0e5f5aced3c3c45150a5 +DIST firefox-136.0.3-ca.xpi 400605 BLAKE2B 2066456ff67981cd6f669a7f6ed26ea2d521282377b3ea543b06c3b98511e1f9c3a653c04c3a7f37664b857035000dfa1379e9b4e00be08358f327fc910fc11f SHA512 cf3ae107c4872880019b14a98f63aa60f4f6d13864bf81f7441d0c016cf27edc924ed5dc4f3b3b470d9680b30d19178a81e3196e7b8374d2f8e2499dd0d9f6a0 +DIST firefox-136.0.3-cak.xpi 394076 BLAKE2B 881cf0b9ccaf6f2dbba3e216ebef7e7d81595972210ba7bb1a1f59710c254cfc01cf15de1734b065cd2fb389f38a9778af4e34cd38f77cdd36c474b298401b5a SHA512 ec7c14638bbb765f42312e75f884f95680afa1ca8dfe1b02889e6b50eee405bd1a3afb744c798e827a5e282f5de65c5b953e348a40206c05733f9caaab298369 +DIST firefox-136.0.3-cs.xpi 468954 BLAKE2B fbe670eab500aab3cdb171e848edaa07cb1ced9a74b0bf62b4eaa4ec6d7d30c4556bb1db5b47515b9c78f434dc2d7cc04eeaf8355399281ebead09a490eebc72 SHA512 f389ee7477d6db4eea8cf1e72791e1bc66be9453b77862fddf7670fa63f2261b66231770dcf9da5c7411e7dbc58182b48ea3478ac100bf52302065dd7e835394 +DIST firefox-136.0.3-cy.xpi 435795 BLAKE2B d57fd07b8e2af79f9ed120c6e3ab361d00730eabb0d6f77bbbd6b5f2b11d3679c31263150217d5d3987a4a0e41e929cc7b83e65ec06aab9c631aa8d17c887f2c SHA512 a2e7e8aa552ed503046855de53008e3064f0af8cd34de755d0ea76dfc409169c940f3df532af788694e3fe019ddfde63341644a965d7ba4ea85f7dbe33053216 +DIST firefox-136.0.3-da.xpi 425306 BLAKE2B 15a34d0599b84b7d0def13da3411a704f783c867d2e68697fb2485f53c491cc208fad0c22efbfd2696c25ab909ede5869b4ddecf927e8a5c671e6685befeba7c SHA512 ab7a29c63e698263b5674f24fe09c4bca4387c49c25449cf9d5f2dc0704224b9453fecceb0c1bbbacedb132628e408d70faecb68957d3f0e162bab10544efae1 +DIST firefox-136.0.3-de.xpi 446682 BLAKE2B 359fcf9678ee988ac4634c422e36ca5d813a5ccca8b53b7ae864d853a215b2462d7c20ebaffb9e8743d2a29570fa261c350ec0a700ab040a23be89e82b1a4a73 SHA512 522dc85c4dade4d6b14b0be2d723fc9946c78824c69eab1c10df7de414a8befdc8ef5944d4f8dd9c382ceb969f2f48687aed9c1ffff3dd247ce1d5a8a7702871 +DIST firefox-136.0.3-dsb.xpi 459798 BLAKE2B 9d6e4f9b4de3bdc768816aebe5c363978696320f6c21fa75963d502bf42e6263fd751e7a3287e6fc2f23d74f5937ab846c09dea9a1eb3dcc60e5f88d4b55d31a SHA512 79e02e75b1693f0f3220d3462cf7e25ecef37b2f04c99ecbe865cb8f8b382ebe6d2aa6b8b874216c291d0ebf3905207f5a0f813ed6ea165f138b7d023cd3a88d +DIST firefox-136.0.3-el.xpi 529775 BLAKE2B b99daec16db285aa2c80c0e16f27604055c361edf843eba0bf7d7e2cd8c523a3f4ea73ca2208b4cf1d66d4a33a594bc06f38a7abfb0785dbb4cd42366088f791 SHA512 a861b9cf95d1640c4b585080f44d3d0ab7212f4c4818a6419b44d006bf23827313112263f70c801a1338024ac2384220e2de6e86fe0fbf87ef898ea7d608e779 +DIST firefox-136.0.3-en-CA.xpi 405849 BLAKE2B c6f42bf11f750ea2031745642048328dfbab0f4eae95510e99babef51acfff8a0e3a8560ebe87c09234a28be205593a99f3f3bdb7d2e4f62263cdb26f5dbed8a SHA512 422ce6520b1cfd27219d9272bde6a9dbb2c682eadedc770dfc38e96cf2e7a7df7a29f31416f18a0480b7598c09e238dd732096efee30d26dc66c330e6c51cf4c +DIST firefox-136.0.3-en-GB.xpi 406154 BLAKE2B 589273eee2c8c242bbb43e772ac943309c48d4d5681e4afce10d979cf56a1b1292cb4335d07a88473af92f63734e7216b152d8280b754d40ebb816c02c25eaa4 SHA512 232dd1d7609ab0acb83f4376438dbde17329be7b6388de2eec2a248099dc46da31848a89aab7ed04d1bbe796364c23f692ccd83307a9a493bfa85db0dbcf721a +DIST firefox-136.0.3-eo.xpi 427687 BLAKE2B 4abecc1e078db27427c41270a3ae6d97d0bad1003c644c20fc08ee31d184a72bfc958556a0ebc5a13018e1fef2c65af50b3589386df981aa3a825a275ad05596 SHA512 5de261f593e71bf47002044e1aa0e6a563c6a4a3638c4b4fe14c2644575243976559ebafcd556dd6754e822b1498d17c2db5d193ff846e24bb553eb48bc8a918 +DIST firefox-136.0.3-es-AR.xpi 439702 BLAKE2B 9402505b5be3094203fd18e547781950ad3da49af8a8e610303fe85dad852f6975aef8c08a86a42507210e1894e7b126c0e57ff7e187a78396adc24129899355 SHA512 b7ddf20e053d8d671fffdde04a4a31765d15b9d99bd8f9e0d8d1119af3017113d5ab8907b44da52a456c089350a9844e77e377f572ba9977d3565090fea2414e +DIST firefox-136.0.3-es-CL.xpi 440294 BLAKE2B fa86b3ac4cc08feec05b11a796857e790b31f3971021df610b5c70074c84402f69a20cc75b2e615db60e7aa2e6917b913d79718a22fc0e9431267fac44d52266 SHA512 84d3f437fac257d461d2826b9ef288db9d15f57fb0a99c03df8e03bf4183749a05eab9bad112827c101855a56af2672c4dc02d4cd575a40086b1b42606c5a095 +DIST firefox-136.0.3-es-ES.xpi 441193 BLAKE2B 29a7f8d43e98cfe0fd31708cef24b461faeb317320b97ca8f258e573166eb406bead398b07d6732275f94e438707e9b6e35334d214643ffc0d4b173261fd90af SHA512 2e71c3265b2dccb0400ff7a81a8e15fc25b2c83b84f266b7f051a86e3dda002c9f27e4346d56245a1d2a0f68218f47a2ec31bc43879ea9e2161028e6b78c8f47 +DIST firefox-136.0.3-es-MX.xpi 440822 BLAKE2B 957450f745b15736d5d5ac1b6cd0ed243595569e07f60502e8385fb155adc40febd31fb61e952fc7981bdd6aa2c9909439310a03ce7830de8f6b0047dc120e5b SHA512 862b086e87875293ac76f6af767a6a20d5cfb479b7f245d07bce395196f6c25a3e3a86cce0c3fa5030b61b8b2e53644617a35812303d7ae44624dae57f975305 +DIST firefox-136.0.3-et.xpi 358262 BLAKE2B f9f61232925683d6dba616a79c4fbbf01566ec38fb578324d84785588b8c9ab33141bca4c623e8a44038190ff74b43586ab6e8424eb98793e7d03be92dda40b9 SHA512 1ccf934ef3feab1900443adfaafc02c2701fa6aeb478fab075fa09bbc76cacc890f0d26f6a769f6b05c1e02de05b16b840cb53c1e1e2f8ed1a6fc26c37d160ab +DIST firefox-136.0.3-eu.xpi 410905 BLAKE2B 585d7241c0bc82db61a38742b544dc8b76574fc7634f33c23ec581cc4ff9fa3230352c826872c71bc9262a04c3c6edf5aecd839040404a61b57727a7b5e4f0aa SHA512 cf919648e89bf9aaac6e61c9b77a06917a05426223e321d006f5f6be0ef8a64f73026e8b3865268f6d12c9fc8be0b371f7e4aff14f65bb9eeace998965c65f07 +DIST firefox-136.0.3-fa.xpi 414713 BLAKE2B d192ffeb70e54095c6101407f659e2e1887e3c9cc7fc7765ac605104d625897a2893f9e45d4b0f3e9cb0caad3727790eb25e2e89fa9376870ecb4f8a2e9c5e8e SHA512 3a7e2af04dd0d04a407ad43a01e0d4a0294065057f59e119154b15e514ca76ac5b1af558d83c9363b03bebf513d98325eb8a05d3224cb7aab0a34203ecebfda0 +DIST firefox-136.0.3-ff.xpi 311206 BLAKE2B dec8d715d4f7589cc851f7e3e335613fbad485d3a849d53d0ab29f13852e5a1e821ce021c789a194312fd206fbd8624628b072d5310751d9e52ac7cb132b6842 SHA512 80daf8adb737afa8db3c1733d31b75cb305cf0cbe2a2ebc6a07515ccc7902c6b22e2cde1b25ab5fd709ce052dcb146738fbc589327d28ff1ee14f67e269d177c +DIST firefox-136.0.3-fi.xpi 422721 BLAKE2B 355996465a59246952b81287f0c87d91fb22fc46df686f1c2b8c2ab34e3e4cf88647313f9e21bdb83e6f396d0f9eb01149ecb5f3c2df162e68db2bd51caf0673 SHA512 99c02248579405f3de5c093d126a3d8ab477c3832f25435c1740bd1b2d161ddf3f404def905a7c5d6e5f429d98a0a3b618d1274104322ac282ba7579eb79258d +DIST firefox-136.0.3-fr.xpi 452373 BLAKE2B 98c5fa82455294a0a9a1053f21f1477679935eec0c3871cf8fd0a3a05446b1230f623602b0dc15a7bce3ed026ff944056bcbf268d57b57d53e83b358177fb892 SHA512 f6bab21c5e31210e8cec3401d046d519af4fc4222ecc2be509f9922a9b3c85848f08fa5c8a6fa759c2471a2b99c5b4569867a45ab049a980f838842e6e67e778 +DIST firefox-136.0.3-fy-NL.xpi 436315 BLAKE2B d350941a3fc0b5826423299caeb7ee576b60459573a65d739a539257f33ec920471a06dffa4b578d57f21bc6c710921e1258ab0ef8b6699965c81741672f9cc4 SHA512 e09cb2f6ab0c9496b2b4d5308cc54c72fd93981a1ea578b33dfb5aa66a4988c110086206bec222de6e8c016838d88ceb979ff7f40d9e149eebd0e5feab1af8e5 +DIST firefox-136.0.3-ga-IE.xpi 307236 BLAKE2B 8027e678edca3a54afde28ced99aca024e66d8e8d23974a890a667fa202ba0eb8a6b1f2710998ad655a8894d0fff4dd729732558ca0ac89e7bba6ba4d6e09ebc SHA512 9b19d2e23be5d3fe8d0f07934bc35a0e6425610977c7abb155d05ba005c27b6621d63f495e351c7e15f41d3b7d830753f576b0e4abc3cfac40e8e895ceab7c4d +DIST firefox-136.0.3-gd.xpi 402413 BLAKE2B f21e26f1d57a0fd5bf78c2ef425eb0407e3ca5343eee6fcbbaa1fc6c5b877274290522ec7ca7b2805a14dec633fc774f1011cc7a4289036b2349d497b49f5e82 SHA512 f6f31f4039ddb1b353295cd974d313502cbf031a6a94bc4fe4d7afe2daf298b7984dd72cdf46a81b53b33e26033ed0b7c8270b2633100ed2738fc2af2018d46a +DIST firefox-136.0.3-gl.xpi 406510 BLAKE2B 83f12f3d6f72cfa3db6fc41a8f21937db4fd1b0243a5e0268a8037ad397a790ef28ee33aaf9c1d32aedaa15beae0211d2374e38122bea3be81bd19aa90b59ca9 SHA512 ed8c85ae7a2777bf0c9af61153753132709657d31ce790ad61d9012591fadd2ade2c572cfb07db424e889ef88b8748368e0ebd1a178df332631f7e48273f559d +DIST firefox-136.0.3-gn.xpi 443143 BLAKE2B fcb8f6390aeffd27842bdcce0fb3f73cccda53bd3a5caa37d413c30452ff3de3f6a7d1da01eeeef5ffda725a86a3694863abadc9011697f0bcd3ac8f121ac146 SHA512 7c2a6dbb3274babc7ac0318c50271365114a118c5342de4a19ac2baf647bf45f7f2c08bb6bf0b5629af093f6adb3e0e06e2f1a6ffb2f2b2a7342e4e44c2d7ca4 +DIST firefox-136.0.3-gu-IN.xpi 360251 BLAKE2B a1afdbe5843fa49a105ca9fd9e70798fd88b8429069478d70ce06d4b4cb769683d6f7edb3e3147867a1416bb8af5142b17781852db89de8e586a9e7c56ea8839 SHA512 925966794fe1fc191f6553a00f8e83d48e445675b6ed325132984e6310439695442c3b8a516552a6901eabf5df6cf2f1d27501da3c2b7550929ac441ddd5ef43 +DIST firefox-136.0.3-he.xpi 437514 BLAKE2B 4fc1aa86fc92823b16c449640f0ff6385dc53125bc68670393687a9fa3648529c930798e242820a5ca4434775e65e9cb3511242e5b09d25c3d5cebcbb1dd7147 SHA512 3408649f0e8921c9727588fa520aacfd4b66eb5c00c8ba00e8a8f0a4d719cf172164c4802cca47ffe2c7bdb32a0cab34527445fea796816cdcb64e1d272bba91 +DIST firefox-136.0.3-hi-IN.xpi 378749 BLAKE2B e7093dec07b16145e20fd5adf6ada699a1a7b78f98719506c3ab4a10b02d67986f03cc626106e592504d85efeb5a40c6b1622da6b1eae4896761fb2dac75b75a SHA512 539e891b56e534b6a15ff04adad073a0ebbde30697c723255ffa2c78d470b331b312c435c97d1c9853d908178cbbc9d37dc60d405eee347047432af794594afa +DIST firefox-136.0.3-hr.xpi 430737 BLAKE2B 3e8c8f901b1bbe41ed979b9ac46ba6edf611eaa030549bdd236f99815d7802d05740454c18e8f2c77aa5fc0a5701e13dc9e8391902fc5735c050f3de27be8c36 SHA512 3269ba07631f769388770bbfcd8b623a71b96d13463e9417150880140d32ca6d02c319ea52cd24129355f0f418ceabd055305d534774e74562e32330a9af1546 +DIST firefox-136.0.3-hsb.xpi 456438 BLAKE2B baee65fdd955c89c42badcced45dfc9a610f4343dbf3b8c328d0d3d2bd1966df52208f15c634467f069c69657552c2045bd6cd3227044975f841bb7fce4a9daa SHA512 6664b5d1c393a0d64a8e5f7d412f49f736b61c1be01aa6010f6a15b61cf2a4781a13b3d02c22b2fe66820a3cd32748857ac4aea6032740ee38ed7ff414585071 +DIST firefox-136.0.3-hu.xpi 460487 BLAKE2B 7d2a064eb4113e1bb61f4889cde8bb4ae62e7c98b52776ec64b9c81e1e11257e792a72a59b14d5df9f246635283230e2756991fffee63c337afdb53e70bac54d SHA512 0a49cff61ce0dd1d8250e3a19d23fdde68d1b131082b1d5e72a5ae40570ff46b45e82a0c346c3ffbd75044bb37f6bdde34b2791c2c57924e74c2faf141fe6dc4 +DIST firefox-136.0.3-hy-AM.xpi 447323 BLAKE2B 8789647c8f456f16969ad89db8f326123eb0a8fe416d09d41b7b4b771e9008cfbc9d37931ce2cf4189af02b5c2ce750df2245de7fe19e25ac98c4ef614d65b02 SHA512 3ee4cd6367dc243939b8dc182b5d6b739b4486ac864f2287058efaf2d91432a67ecab10ef7a81499940368d75f83fd428c42c919a7838f1e04cc311f85b62e9d +DIST firefox-136.0.3-ia.xpi 424467 BLAKE2B aeefa7e2ba4d2e836e5c9e42ee94e13daaed310853ec4383e0ea4c2e3d6f6880d3e11320777b98c2f5bfc87bc4226048ff614ffa446b864ab8c98042ea84b7f5 SHA512 93d21ba9d2ac6c9a9df7004736872f592f0fb13f0a11e364386abf5702998b0d254daa0963f368e1f626ac1d0b1d93168d04d81788ce284fa35a3f91b3978da5 +DIST firefox-136.0.3-id.xpi 414324 BLAKE2B d4b97cbb189cdba80ebb7fddd39a9c91d8d0220d1e9b132c5d22616a22b23204e049b5fc997183cb25a083a9a5ccc4897fe7f7b4d4564afb0afb86c4575fcbfe SHA512 5a671b2b254cebea177750c788a00ac513d7aa67b126a50fbfb2514bbe6dfa23ef4839361ffa8d60360a70632b95073ca7ac2337fad04bb758dce1215dcbacf8 +DIST firefox-136.0.3-is.xpi 429696 BLAKE2B bef458e812bc3cf4ed4461efc29a61b9f42c5cdf335687cb69542bc59b745b4bd32a08ebbe023a034c0ef64f7704de871d5b4b47e49e9c4ab85d5b67df0a7661 SHA512 ef838d6d7f83f0922ff79a61a978cbc755a6be9dd2d1b384aa4a5230602db51f30d23cea1513adb5fd391b7241e8f227355d56bae7ace532c77b8938c50f2597 +DIST firefox-136.0.3-it.xpi 434986 BLAKE2B 0dab34e170e738267090e6be86914372277e20b3a81eda82f39033bc6bf24d69ee8ee5eb015b3ccb3ad3ce01049c43f94fed75ebdec04a1cf4c866505361b539 SHA512 10cf4c20c91ad48db45caa739af3e9429eb4b64852ddd8f056e868096d4f8985a3e822b97f9357b9ffdd9f16bc71200776d32c9331ccd7f209a9732171431fec +DIST firefox-136.0.3-ja.xpi 475081 BLAKE2B b0b6ec2f7685de9168b3afb81e05fe1fe98c5ffc00de9a3f67206074b42381bd302300b872dbb2edb399b86e39f2a2ccb5621bee356c675d0b92ba36770685be SHA512 c63f3ab3949448c9dc6a8bc509f310892f610c2ce956777f0926b9dd3c898d666bcc621d1ada334cca5b26fe6b55a771ebc86c20faccd3f6837f3f3de730f820 +DIST firefox-136.0.3-ka.xpi 487960 BLAKE2B 10accb224a275607ad50f7bafd4c37d4e7ffdcaa37056d4e04d87dd921bc7758c04ba846a5435b1cae5867c6b0fc78558d04397f5a9ef17ac7c11da99de595ef SHA512 8b971047565e06e6bf19ce14797ef4bc90094d52ae5b2c2c333763c1cf80a527e6fff83324261b17e650d9ac9469eb2aa7442c1e64b592df2bc775275b3abf49 +DIST firefox-136.0.3-kab.xpi 414028 BLAKE2B edc2f0e07bffba634e1e5324d9effadbe89c8f9ab47b6084b3d3f177037b30e63857412033a190f5f0f4680a1ff5f8240be5a327340fd982230096d43f2482a4 SHA512 3d35920d85961e5d5ecaa0e8e01d7d426025fbd10e90957ef5f1a2e1c74a93373a5af40a93dbb02d929efb61d44236b814996c02ff525e5940ed54911b663373 +DIST firefox-136.0.3-kk.xpi 501975 BLAKE2B 1359a5604acbb21a1d806aa347758f0b4b500ba30d2e2e1c6e5b0a48fe7abbdcea24a54ae5f00840cecf5d6b00273fc0e26dcc8ddf047e5c33b2dc0b36e4159e SHA512 75257eb521d9a6afa54807a9ea343705351d957cf297256820f5f325647ae7afe337c6acc6868ef3f8b9438ded36dd2468bc70ecffae3046f6bb7fd51d36e0c3 +DIST firefox-136.0.3-km.xpi 350114 BLAKE2B 3b769b814f6145e006f0dc257ec96e133ce308ffee69c4fbc35968effd00c7ac4f7f10cc7b79fce7e8bf271523d11d8a9e3cf3fb6ab84cf5e79310b777f25aad SHA512 944fb8face7c4451b9e3e235479f97bfc3515fde798e263be4c996d456338d1eb63df864f23a8bf3c2ea6ce849d8f015dedc76130fc1a3cbb1df15f3e215fdad +DIST firefox-136.0.3-kn.xpi 332812 BLAKE2B b8710c5502d865bb8cf5d1183207de63cf786984accd4b1373a406e83e935ff5ad63fd52c0e078d533a2f0b681ab785d9b7c7cfa7c4a9c4fe41a9d9124578cba SHA512 d26fca1a8d2cfff9d42075b475314e2a961497a43848b4385b4d266a1968fa04e405aa773dc5b9e2845a94109f6438b3d6f9ceb29747dfa7dc6a887be964023a +DIST firefox-136.0.3-ko.xpi 461336 BLAKE2B b1888825be6737b958d09919f2279603c55ab04ed4011adfd087d5c84ce9830a6af6105b05b592dd1f9caccfe63ff0430d73b0ae1d758aa650a8d99e0bbb362f SHA512 841e44de495d6eb2b056b35187aa112a32a2d05a74819700032efaf4aa473a841aae3109f9fa6343e31cad1387c15eb3321e5081ccf6aab7f1ddf7d4becc733b +DIST firefox-136.0.3-lij.xpi 319133 BLAKE2B cb981e1c1515af763302a53a5c7d8442b95cbb6e53ec92c67ddd395a806212da65f1d7f56fc8c61376c3ffe4cb290810723d14345785d967ce0009ab4f758f33 SHA512 59c2a3c1d95dcdd2e3c8f710193c03bf1be5855baa5e36637ef9fc229fae38db6a9b20cc18f5b89b66b1440a6b24f715ef39f755f1b17bcfbae5026bb8a711f5 +DIST firefox-136.0.3-lt.xpi 382131 BLAKE2B cce17ffde8e8be4d21e7a32cb4ee5f937b3be50375190a92f20954ccccd95dc3c94cc51da368777d66163d25b4810e8f58e7af7312df061469734c6255729747 SHA512 b92e6f2b0933af9d1931a2ff7a11b4c4a32cdc9cbb94390ae83b0e29dfe2203430b37d8bbb5ddd86c0b723fa21c30c2c205601c46f98b9d52646210542a3203e +DIST firefox-136.0.3-lv.xpi 390656 BLAKE2B 4873e1ea8ec0585975de9f18a83e95679cd85a54c29b50a560ba7d49bec5df3b65274d0dcfb0af79247ea27771eeabcb465be2d6d8fad79f6ed4a9cae3b2a4fd SHA512 d77d010db0799df9cb866dd2f4cc7a4cce93cda235f4ee483bd05041231526cdc2b738348b731fecfd385ef88866eb05a5f46913429294f9d57218afa4ac578a +DIST firefox-136.0.3-mk.xpi 318440 BLAKE2B e83a4b425cdb89e6e67564b1b5ff59b1305866668a331902e8b7c994d1fc3b93e090c3cd4c7fe3b86601ae4ead7658214a6c0d37805a761c1ab76e84a17672ad SHA512 821d6494e4ec363e2ff1d40a5c9a5bf22f197347e735ee48ad9e4ad545f0c729510794acd12cd6954c2fc835564e901029dc55ea8c62833791e1cb1e19dd73ba +DIST firefox-136.0.3-mr.xpi 357289 BLAKE2B 6c074e9a773b62d6362b4b312c979b471b1b61f07f79ff660693296219c52da85b8e11f927f299042fe3163a7e3c4562c139d8703168c81cc4583dfa2c744322 SHA512 0e46f472e5e660984af2a5535cef35d23ad25fbaea615cc7e45bee4fd517a6fb06017868bb02360368ff4cf56476247cca1e6e7c9484c8e75187cb0ab76c4090 +DIST firefox-136.0.3-ms.xpi 296095 BLAKE2B 02d4492799d4039fa4d264895ff6d69af1b507587f9b09d5efd3f33ac77aa1d3f0de9e35ae6278cdbb03f380a97d1cc664cdc73b0f73de3f3588b936c3725aca SHA512 5ee737abbbbfa32c64e72d79331d2887991e9213d9192b33b7c007fcd597a926713f4780a565753ef720008ea238cb2716ccfe52ae412a36c55dd9cb14eae6ef +DIST firefox-136.0.3-my.xpi 344217 BLAKE2B 46f2249efde9bca166184fcfe022e7b9e0e14e2e5692a081d7606d6c3773d46faaf929737a52dbef10776c3fcb88703c516843dd189cb2469a0b34759eb0c128 SHA512 704837ee10bb40a247af2c238a205a07cf126c2d90c451960587f96359d1cd509c3d30853384d19e321d63d375fff9110f31a6260619967e82013b5b54491704 +DIST firefox-136.0.3-nb-NO.xpi 416130 BLAKE2B c85b71c9c58dcfb131193c49c218a3690043761e446808fd1df4d2e9c25e4d6c76eb05597763af9b687ea443e04fb3fbc0a879c3fa05184f5b63ebf145f4edee SHA512 9785e8c752b5fd8916b08340fef68b6c7d16f1477838879b0ddf0371c1652a2cd1347a42ad09eaba6ed9be991d6aa1fb14b2b54b6b3b94164bf2f6303c9076f5 +DIST firefox-136.0.3-ne-NP.xpi 350381 BLAKE2B d82caa196e527fa6fd13478c57afea270b8320cfd1d46db5050bab77e0e0de1bbdac5b9a95438f041d3aa1d38718dbca6061e191de8c5d15d7a2284f24cb185e SHA512 ea8ced5f421ce003130f318bde40976e4c1572f7bb5a2ea9effeb5eabce78f3d89753ae52e1efe522740cf1a5dbc898424883850b248128569bc737274a4d0ba +DIST firefox-136.0.3-nl.xpi 430398 BLAKE2B b0198234179b211d8800724a9465c52de7cf4e6bbedfb81f3fcd47a445bf6504f1b41474345ca7208aa2cfc616f4418549e99bc740ff65ee945e7a2a343260f0 SHA512 a2a7a55e022124ce53eb8d2b523f2f097ef784afcc51786ce928b7b718556f94948207de7de9c9da10869a74332326f929cbbcb4b1a6ef23bfadb8a9449f7c33 +DIST firefox-136.0.3-nn-NO.xpi 421304 BLAKE2B 47d1fffa1f1e9e7de18090d48c22a14e2681492d0f2005ea2c7ecfb07c7842c32aa635f64db6465e04cb5f9cda09173e2e3685ee80130abf4d2cb766b1c3a1c5 SHA512 38bec1f55a34da708dfe4b52991f19d6043385a8ef53f22a6392b99e89ea5b521544f2338e52560077910fd3e54bcee753df247758655151ecc35c179fcda324 +DIST firefox-136.0.3-oc.xpi 415669 BLAKE2B 39b5c16dff9daa37d0b3d7aa7517d10342807fc5921d71b4c554a490db5ac411df90baabcb942dc65514cf84c1f738baba5aa616b5b185cd83c387fb0005fe94 SHA512 ecd926858b25e4b3af19647c0b8616a6c94c45d316423ac119255026b50bd440cf13ee84226b07e7f69ec32a250dddcb06cc396e635afa874bf47dd4fa7f45d9 +DIST firefox-136.0.3-pa-IN.xpi 489828 BLAKE2B aeaa4b7409b0e99c76230fb5eb35f6f78e901b2790478441b1647edd302bbcaafc6795ff7033e661ec7385b585fa7dc01461a5ce400140b9548a128b196ba07f SHA512 a10e4bcab3f6b58f8a212657e801ab1db287d406c9a7a265def3ba78e4670bea4514cb0bd5d5894d1cbd98031ffbbe4ccf4165d58d345fca39396df9c1ec6cd0 +DIST firefox-136.0.3-pl.xpi 450704 BLAKE2B 71380684cff158bb7123e677f0cde2e865fc46ea4396fc20cee9f4ec406840483bbac11f2536465ecb96a5b5e3a45e73b22158e32be1480c8bad608d9cf0fdd2 SHA512 e55edca8b10a1b2bfc4774e0d5de27a053fff16ce8d3a9f463564fce3d71e89f1f06a089a1529010980242115c723517c6a98a7045f603ff1bdd919f9ec64415 +DIST firefox-136.0.3-pt-BR.xpi 434768 BLAKE2B 5aefb80df5eb1d9bdb8e3ac394e166e0076e1db1f368b0f1c05e03732117a65deb6ee729d035c16fd41be68ce78b9629bef46e71642bfaabf34c91379bf4d480 SHA512 671984bdf834248a7f337eab7da6cc6127474fec6bad08216af5ba56aea5aa6503f94f1f7d398474440ab87e4e82b7fecd666fdd8308baab192809db7705918b +DIST firefox-136.0.3-pt-PT.xpi 440561 BLAKE2B 6938e7e3783eafc6e4af29e067d06717dee80fed06344c7d697f29afbc9b133870dc65a0e1d3d1328c06d0781bae61e7d9a0d729ac9893734744b1062effeaf1 SHA512 a8da88632439488a1f2cd2c0a475229b52b48608b5fe1209fa5b131af4dc1a81ed5ce1136a6190cb82ed21e50a28655a87d99a48adf00c81f3e5a5583eb01ed4 +DIST firefox-136.0.3-rm.xpi 434100 BLAKE2B b3a8f2324ef1de92d0a4eccdeccdcd7237d1989ebdf496ad653aabab7bfc1a8a4e6e87e853d18b04b260860f5af93317cea6675f08bab5b27bc1095f8057c45a SHA512 78ce9a2d4b946af6979faee9cb6ad6243e68d884c439e15d9e8a4aba45527e875623ae2af1ee3142dbe2a5ff8c756c0f1de313444091b8661518fc8f4825896b +DIST firefox-136.0.3-ro.xpi 363419 BLAKE2B f4ab573730d2c37f8dcb62b27774a6068529d05ff3827f67d8ef69cf59a6c6f3608f8f81efa6db90fb57b71a7d1b96c1affa590ca477b2bcbd473c90a990a02f SHA512 4dd0a01c79e3a8f24539504e05540d09c76d01ba177e549970823c206d1b1a6fafd02b066409b4a8de657eebbfb12fec555ede612a858c57cb5821c4098f295e +DIST firefox-136.0.3-ru.xpi 517926 BLAKE2B 6aa92a103890481c1906b57d660d49994644a40107efe9fd26e3a17c62494b7a449da8e0b6701cbc308fa431acdf1480d3ddb74da82c437828bac12cfe2036d1 SHA512 a3bce1ec6d80e754fba868156c1807d80f78230b360203c1a5e2059e56bcbe801f93c48901ff3df58394ebe61a44ca11128c409e50050071713844632237d635 +DIST firefox-136.0.3-sco.xpi 324878 BLAKE2B e335fc051fd3e162f5a6a7e16376c4ae3bdc3dd7acb1d4f3b3f0da635f16eb7c907fc8dd51e6c3750cb897237e21d86ea0cc98bdeba31aff5ae6377548d08c53 SHA512 8bb02225d06907bf52741689644dda3ce8503aee25417ab064e04cd32ae4e56b86f91d8d9e5f5105a38e3a74b78ca57db6d8c5eac065ac518030e218b5a7f822 +DIST firefox-136.0.3-si.xpi 414024 BLAKE2B bd05d3804fbe8a010192a57bff7709415776631cff83af8fa75b794c81f8350bd31f3a04ed8222fc66dda50760df2058403c78b4c0e049b9942776141f76ee06 SHA512 e1676fa4b804b8966167722a5e67634ecd5570bbe28559586eb909fce08eaf9569b72a74945b63ef61081a7a5d7093679435b30af5f68836e174d5087c48a391 +DIST firefox-136.0.3-sk.xpi 461607 BLAKE2B ab44c6f6811fc0a4761450f109d55d3cd2a8c6204c5e3ec15a146aeef634be1e67cff11d078ff13233edf7266641d834b5d0927b0fbf1460e235c5d59ca5a83a SHA512 3a723adbd99d7a729606a74f66f02504238bcfe4d5e308b9d3c35c7dfa1866755cdc6087dcb22e1085ff3c7b070bce7ba7962d12a8177a5088d08b268c72054d +DIST firefox-136.0.3-skr.xpi 494197 BLAKE2B 2504b5e7d716c852a65d95899287423b1fc8415efd5f390b1430916a252560f06180eb8c556603cb54cd2b0a36e5141d4a0da254a636b4ed03e813a0d0619ece SHA512 aa6337457cf4371f5abdfac18162bcf2786c6b68b673428815108ca6278c7483e0dab6a1d4c23b430250c3314dbdfb0ac6383839ae55bdab92ae7439dd5b85a0 +DIST firefox-136.0.3-sl.xpi 433456 BLAKE2B 76168f960c96a164c2a537252dfed16ba21176c79bd0635c657b34311f1fabefc4a7f6f8c6fd0c058c03aaa6246ad181aba4d1329fc8bc7e40d19ad2940e4831 SHA512 7d15a2d8d15f0537feff9f604c04781abf24c9b25072edc845d13a435e07967a560137e9bcf34bf1ee3e90fb32edda350282af64243bd83a08ba1f0762299bd4 +DIST firefox-136.0.3-son.xpi 273291 BLAKE2B 5f3900c6aee4cbcaac461aaf78d41573d9b87a6b5dab6c3e60259997aa4e5479f0439e3ccfa41551b69331e00e95d4d55013b0a5f2c51b44d590c2336af03c78 SHA512 287bd9bae2bbfdad26696ce9d7908e23117b474b53e07dbe32aacf79e66fecf69f96ed82729914635d04c91325e43306fff26e28f669461551c2119d0244637c +DIST firefox-136.0.3-sq.xpi 449806 BLAKE2B 5f316c3630d20cf3b010a25f6ac36511926e9fb65facf22f8af381c81fcbe69b2b6a6c24c6a23e339dc74699a01d742c275ecf1e3a633acea335399d271d38fd SHA512 572f23aefd09e341f221b87c36ea40ee45b65636fab1cb558f5077b74809f0a53a02239ed6c6ce6468ff45fc919944cdb7c507b63d213a39ccb5dc32a15390ab +DIST firefox-136.0.3-sr.xpi 456465 BLAKE2B 87e5ae899ce05164e36f11c2101bb7d849720048f8abc7130c5864f20c54b7388c0f20f0367e28dd1845773a11d48682a57d7f608e3a755052ae4f0821ef88bc SHA512 8765d8a202b1a1daf86a8ee4f4fcd50e280cdb8acfc0fbe8abc85d95b1bd3c244c32a2947e65fa92a5a52442cd3011e85773423d6a7509cc05b9ab28818b3721 +DIST firefox-136.0.3-sv-SE.xpi 430473 BLAKE2B 2d54227db526243b8e770cdb3a552eaf7656783e0a0788bef6d4dc9eff3d2b7a048107b4af2ff2ae3f12cc88243e503080aad5491d5881ea0d2c1b1f04b45cd7 SHA512 f64ee0109c8f32ef248e7ecfaea548c91e1edb752f4aae55a9749bd97d7a26aae621f20483b42321fd8824f0412c5e8c3da36729110396e051254dd039b77c26 +DIST firefox-136.0.3-ta.xpi 338590 BLAKE2B 7832f87265c7848240c26f2edebb01acea66325245a63e3f76bbc987a723d4fd45fb049e2f1f533b9a03c37d9cfb73f50fd11ecb4c3a1778e12c9010a91a1338 SHA512 6275603506f6e0037989738c1b4d8c2b9e00236e2723d74b5b2e60e8c75b4070292ec1b46b151d47163271506b0880661c61ca51d980224d6f814a98409a3646 +DIST firefox-136.0.3-te.xpi 384063 BLAKE2B 662d04be0133034cf20a17208886da46154b0e3ae968f59a06632f89e055b6c3019a0b04a106d02a4af2238675caf5ba7c5edfb997f1cceb438240a948323697 SHA512 57b7b50e1d4a6b02389413d42a22172b4b47cf125078da88828adb217c2b3886560eef3d74e1d271762423bfdc55df063ecb9868f288778b0e504f186a91e0b9 +DIST firefox-136.0.3-th.xpi 499238 BLAKE2B e05bcff53307bf0f1365850bccfd682bc97050c3eedc22e95eee40e67dec806891dca6ed14f5ac5b877f3a8a99e211e5b5705f7e6c22771c1285e5dee5529bdc SHA512 44687dc78ad7ec477455ca01709e2d3dcb8f7210a23095fb33d7efdeca70f8eee50c6013af539f95922661a3a493d0887ff0059d7972601d29cbf9dd912868fd +DIST firefox-136.0.3-tl.xpi 351841 BLAKE2B 688c213e92e2345e50893e44a63065e1c3078812cba900302ac4313dc60905d456b8f9566affd10c1092088c1e84be62c846105a6237fcc3dde5456b2113e221 SHA512 baa8e86bf24f38e09175101a95c3b8d88167bc43f39d7b5cad781397105dd3ba179970c9b5ae155207bc216fd292f0b953f925c7a50e1a8899cf52014b2c237c +DIST firefox-136.0.3-tr.xpi 442291 BLAKE2B b0c569dcaac5eb9dc893f046d4aed66065c8d083bbe439935ee51da0c550759acdd36bc29aa76b7d060979e50825f492ca3d4a32f2bf901310d6f6dcd88fe584 SHA512 c28d360e7653ff24ee49188458c60d2ed04727f393009056d9e9298998c1f0d007688660f9374f2d2138711cfd9919bc64a1c20e72a4306fb3a22c977b3ba9ab +DIST firefox-136.0.3-trs.xpi 323925 BLAKE2B c09086565dcce723788478f41883fbdc51187b52926eb1040a17224b6459916212787a70143ff11838d62fd8e8913f74107295ba8232c9b0f80040462c69aa36 SHA512 2b9f0065fb8c160786e1300be00e1621fec1685af2862392e86ff96b88a925fede9876ca7115009ebad714428833fbb2717f9b56b87d3cd3dd0c26da2e877ea7 +DIST firefox-136.0.3-uk.xpi 508667 BLAKE2B a013e34b0f60a01dc2ddf466e4c4904b02496bfd72daf1a3c39e84d46bbdf06a376b6ffa54086f8a300175433beedb1ccc906d62bc405f35f3c9986d1d4f3339 SHA512 7fe22549a186d6325ffc2c3fa8fdcaee8270b4dacb32800c1d8a9eaa6b5b0ff66c29cda1ed1cace53b96f48d1c2bfe3c54cd53768feb36aae4e354eb1ec8f13d +DIST firefox-136.0.3-ur.xpi 371885 BLAKE2B 83fdbe70899b7a778aa477897a2e78a6ec46727e14b1f71ef6128c4271ecd1f85e8deaf72d8abf2eae243e206f839d4f5d4b015be2c98967eacbc72a9c30c7ae SHA512 a2d22e1c2cd4fc3a80eb3182d57a1c5fe702b012bf9554d5370e77d448dd8e59a11829651dd87582ca2b2e2c1905995508c5f057d61da9ce12547204c5b321e5 +DIST firefox-136.0.3-uz.xpi 305443 BLAKE2B f030fb0a26ba3dad3bb3e0bda4c8d6631e7f7d62554f78e0063fc1ba5776680a13ec16a2d8b98112f176258fa7f111ccff43438759ea88413ba04963b3349d3f SHA512 250a64dedcf7b46b167a8c84a633f4deb1073c5c5f1db04b22467a8b76b996b74a4e8bc2d0c03c94475570a77eb092b90cb871d46ad31a16b8973436e37dbc80 +DIST firefox-136.0.3-vi.xpi 463340 BLAKE2B cc36c247d4c03a5c975e93827915d1a872dcdfcb66553349317514b673a6b69cbc19d3db81184a5bb7a207f0d0b0c5c80c3afdc6ac1cebca35e39e7fe6377169 SHA512 58210aaa2521db00e7be263047f3491033204754ee6fde919b710909601c27044049e3cc62bcc8caa4006541dfe93be08e52a75993a17358da8ab1a97a7271cd +DIST firefox-136.0.3-xh.xpi 273257 BLAKE2B 6e07dd72d826ad4f42d9f40620ec20cb8d942f5987d963f73bc68116897977373e8a799bd02888aa667dd509935f8f4e163f4112fda951b184e597e14220c5cd SHA512 babbe1dc060a9724e3385938933b40a3c81418e6b979c39cfe0bf11a46c1533e111b243290403b4d9d844e05cc69a39e2197c0c1e9c8de00fb5ca663331b04c8 +DIST firefox-136.0.3-zh-CN.xpi 454860 BLAKE2B 7e348fc0966edc49d5846385e3cfc9dd07298ce54732bb2b7e39942620c513e4fe0eccba3eda01e1d0d3dd437dcf55a14d6e9eb76614a514c8df13c08f93ca19 SHA512 9dad343d44c142283731b86feb7736bc977d0e695321090840405a88130b064f75aee5d57e3254b5de3109ef877589964d0b96159f0e168c30aacc46c03c0d3e +DIST firefox-136.0.3-zh-TW.xpi 457685 BLAKE2B acd6fcf01ca1a18132b89f3f519684200ae8cc4ccb961abc0bfc416a61d2a567556bc4b8f762b8fdc4a48ff90bdfc58e0b049c3c6f7843eb4462d77cc4d04716 SHA512 4a033670cd88cda125543846deebfe49b2a6377bf514d3677688c50fb1425bb19e44f6d2c5ee99f04cd3ff949710fa8f09266bbe6fa16f778b751ac825e64553 DIST firefox-bin_aarch64-136.0.1.tar.xz 63676312 BLAKE2B 7d04d04ad55538c828d8bc187574e50138ae9ded02420dda3817ced888d8fba3a6417c291facff7569c39c8c341df1f4fc140adb3d3670dbebf165b45143efcc SHA512 a0a59f8658c93498f0f2d5bd0b2dc2e99d1bdaf7ded8e71518e93c6df4cad16c66f6f60ea885305eb331c990140786172bda374c026db875bd2ba9293c46c3ec DIST firefox-bin_aarch64-136.0.2.tar.xz 63873292 BLAKE2B 10b61eea25d94bc3e41d7dc64aaddaa660c5ae1bd42dcfa1c03e3b8ec1c4495612b979f7e609720dbbfe6d7cf779482db473252e8c03df453f690cac24202738 SHA512 772fe1be3960ef1cce6df02e06be0839ce6d02704cacf0318fa1e0d4b04d02627c69fdee7713c47fbd8d74cc7c0bd19137953c801f8ed0ae980b95186aa90506 +DIST firefox-bin_aarch64-136.0.3.tar.xz 63706384 BLAKE2B 1a02c9d3b925320fe7d88cea3b02916828dc30af2ceb058bfd3c6c39c91bfd498352ba94883912d698e48057c9be4963ca9a5473cdc3f40aa321793cd9a8fd72 SHA512 c5506b0bd47c77807caec620d23999d7d98ef79b27c0f3b8f413d3a6b60c4aa5d8fe28ac6397f4992b8d92e5715b457d4c42dfbf78bf2add6f58373b6c2833b9 DIST firefox-bin_aarch64-136.0.tar.xz 64034656 BLAKE2B 37be71fa6ade0f4b53c432eedbd6337056de80e46c02547098271fbf7e0e35d4fc61601d76d140506787e69bb06b64cbd876389860cd117b8fc17ed07ed7e251 SHA512 4c8b5fd8514fbe203884565a99164828d58a34b85a11c4cd8de58f62e3825f5ec72c579596da9b2ca868120b8eec889b6e78566f3d278b1ebca264410160456c DIST firefox-bin_i686-128.7.0.tar.bz2 88135059 BLAKE2B ed2de6556b59eb2566e154281b05cb553c1d7e48e9d41b51f3c0c89b8aa86bad8d24afbf6c202600a4943556539c03fab1c019a32e6687a111c0b778967d1368 SHA512 8162826a83dace6c54c086424d39c6f6aeabd349855b594ec50268a79511a6293e2d1fa28b7ab3a45d2e7af1a0fd1ac4b77cd9b6be2375215733ec9879a2f85c DIST firefox-bin_i686-128.8.0.tar.bz2 87989609 BLAKE2B 442bc7cd00cea2b9ca428f02fb47dde516a24c2389c111b7097e6e2c5c6ffe7b44d78626f9b547db940cb7364d64efabc48733ab88bc0f6bdf3cf8bf41b5ee60 SHA512 c28ee51ec1d951b409def4a1ef013c34226ab8167c4b82429aab8926400685c20cc54cfca3c0b6fec09315def53531d8255fd0f49f3ef1112f764b0f793cb923 DIST firefox-bin_i686-135.0.1.tar.xz 75429644 BLAKE2B 86fbff83c27d46a62b0358e65eba347044a9be8db180cf279b44385e42a078618883c3d52776f8ff95a13795ecc7417a303da21cedf5205e15c226f258b2bdce SHA512 f8aaa3965c434b79051740ac63ca6fb44a999ab27085ed5540121f05d8152b88c787ddeb0efb2e0af6119dc3a48efb20b209082378b8d3282a90755fd40e6392 DIST firefox-bin_i686-136.0.1.tar.xz 75218124 BLAKE2B eb1e0846ca1a3fff97ca81cc841e650a62894c64d3fb6bf001f4e2c8ef119da7b3be9ef509fa5bb6e4e109472540ae9794afdd67732c6b3871a300a7f284c880 SHA512 5110dd00e0a2371bf8580170ee15469b24ad902ad80c82bbad55add6557d3105fd4f51980b910efa54b0afb41c7e788d010a072330d3ff9011e42013df72c1d6 DIST firefox-bin_i686-136.0.2.tar.xz 75299504 BLAKE2B 83b1e930121b8953294055a4990f7494cf29969b22ca7ce6f58af9fdc7c0365f45df2238c6018ba43012afcb6f5214d6018c8016c18c6fd63befdd91d2f02a84 SHA512 9a47e5804bf91368d0fe35bac8e1e7dc69a8c194f998c43bd4335eee446985484a5f8c033332bcc56ca85f885bbcac3730a6f197c0aea325048ea94080edeb0f +DIST firefox-bin_i686-136.0.3.tar.xz 75374564 BLAKE2B ca9a94f6caf636b72c93b9ef87ebefce4f2217f7d25c38d39236c1222bf54d5ca0ae02d7ef213af811532b7c4c63382b628fa4a1d0c21794b01b02d2a23b5441 SHA512 c479ae52046ab64bf71df4bc63a03e89d6f5fb003a3938117309428bba7eaff2e1299b0e84e0312a1ed1ef3f771729edbe8ae8ab71d444e26c99a40d18807847 DIST firefox-bin_i686-136.0.tar.xz 74971344 BLAKE2B 1f0fd09fd0a14904d55be633935af5b2ce48fe22db83db77d6ae891571457ea3145bffccf1c89624a714581c803d8e629a1d61d0b52a1810691e2e235fe13edb SHA512 b0de27cf27727edabb7e2eb807f441b25d2773c1ab7e1d49f13aa493625bfa154a12a5a4c21204031eb67f5a92a51b45d2ca36025f895efdb35092e925fbe066 DIST firefox-bin_x86_64-128.7.0.tar.bz2 86834571 BLAKE2B efba11dd5eab50c7af83887ef7b3e7b3e247f4058f171bf007eb6cda808c1072bb44e6712b0b0b92796657027ecf149e184022120ae4f5275bad081201333640 SHA512 bb030b09f71f66b939e0bf5251c693629ac5bb7cf22a3bd57eadee1483d661d2c77c2c11b7d43866524eb5838a9303ac6135768b74e7c5b3d3ecb904a90047a4 DIST firefox-bin_x86_64-128.8.0.tar.bz2 86661753 BLAKE2B cdd1ed1b2f461794c4bea06d9af4c232ad3acea09c3cdd520b796710c043abb824c5eb8df45d2d69783a9f893f5e1abf7da8dc1388a9bbc6779147aca406104c SHA512 0bba45e6089adf319983d539001d1bbb807ccd3cde99e467d0a938821c1192e93dcddd162ba36b55903af7cb35f574e2b5d3e9bca09047cd0e4d89d37dcb945e DIST firefox-bin_x86_64-135.0.1.tar.xz 72661096 BLAKE2B 7fa1b0f31219d29ff3712f13823d6f9791f523112b4a57b687e66c6cb4018e16255ef5946a6a7983a219b8b8a42eddcf64e75344bc740574c7caf2aa1c1ea578 SHA512 4c3a9ac95d1ae92121f7bc45dbec1c3d259384bc1dcc649121e2f87a1f176bc761b6134f5a5310b0edba2f97e8f33443b4a45ba7efd2b294fbec34c5a00a2cc6 DIST firefox-bin_x86_64-136.0.1.tar.xz 72674436 BLAKE2B c865d33514e5fe7b8ff05da93bcbf575cb0eb4ba33e70d9ab416514629f4bc18cf772a5262f830f38fe71db4f8546790fc8e2c9e1c8f0946c3264be113db2913 SHA512 b3a6d87cca03f91b14acc7823d4e1d422e892c58c947500494bee242e897424f7db798fbfc204b5704e9809c162f29a6ef872b8f6445006f1fd5460b77ceaab1 DIST firefox-bin_x86_64-136.0.2.tar.xz 72759780 BLAKE2B b8ee4612d5b638f34b5037cd5b86defbcf4812f896cea910e7a382b611ed22973df497804c58dddea7b43b016dd045b60516ce2365bf2628f7941929b52c85c3 SHA512 db65452a60ecbaa7e2bee621b25b5cf11ab2895d9ebdfc8d7ce9eb257b2aebdd38604ebb4724e614e67ee4e1e2b5143bb8799ab9457d17d9e81eed9ff3e8f556 +DIST firefox-bin_x86_64-136.0.3.tar.xz 72408556 BLAKE2B c240c2ba5e8434639b2a3f2f9b7155f56410123a12e0934c4953a68da692b10dde4bea3419e28c797be1904f830ac419055987c0b608f71deb948fbad36c6116 SHA512 1d73a097795491e3d1c64b3dafbaa1f60a4f52cb4ec6e38906a2c7d046653b65033d4ea73cf2cdb1fb4938e7c940ef0550da3670fc831c7511584b4b54db578f DIST firefox-bin_x86_64-136.0.tar.xz 72804596 BLAKE2B 876ed8e41fb9fe0d9d5c42f228ef64d2c098300553a1237d95bafb4f8ff2e4f4d41b044c2b1f3198061503d327adf915d2a008772de71190d652b675ae982368 SHA512 975e4e57f1d696d7bb8773a4ad7907db4c4944b38434d91bb563ed842740622348d4ff495be074b0f1039b89f9807146901d8706733c7ddaff9316ea7185a280 EBUILD firefox-bin-128.7.0-r1.ebuild 10592 BLAKE2B ce3476b01fb7054001077e714dd7f7866866267a0af27ed5c940dab45ffcbc5d9d5f8f816aab49a26e93208820dd76ba356d8bc080de611c838d3f1b876d23a3 SHA512 e3c0099e8af158517b2aadad657f6a0bdc35ed592c09e124c261ccf0e8ccb270d3e8ff794047782baa5dcec410874567f476633df68a311fc676fd365769b909 EBUILD firefox-bin-128.8.0.ebuild 10592 BLAKE2B ce3476b01fb7054001077e714dd7f7866866267a0af27ed5c940dab45ffcbc5d9d5f8f816aab49a26e93208820dd76ba356d8bc080de611c838d3f1b876d23a3 SHA512 e3c0099e8af158517b2aadad657f6a0bdc35ed592c09e124c261ccf0e8ccb270d3e8ff794047782baa5dcec410874567f476633df68a311fc676fd365769b909 EBUILD firefox-bin-135.0.1-r1.ebuild 10585 BLAKE2B 334a53a6495a3216ad7405a1a182b06d07cf5c61f856368a118e41c0140bb7ea6f885f6d01d6714a557fae1ce08d41071cbceef2a1d91724200221470e2ed690 SHA512 866dedc0c3954cf533a020f50c881474eb1c758ac352b230251bebd06f021a6d72eccfd554238c8ef899fcf8e5d829d26fd9ff110c464c73e93e536ef6d7e9cf EBUILD firefox-bin-136.0.1.ebuild 10690 BLAKE2B 47a73f1163ad78c022da2e39f35e6ea1afe709713d4e225ada90c5d324486c4104f1280ffecf465f5eca7bdbe7b1d709ea7eaf87253c5c219de768327bec3a49 SHA512 a152fa8a8e580859d5a4b3ba867fcb5ac80eb013dddb436d4166f7fd62322791583002b26c9eae387654c823de8eede54b0737f984276af2bb628c76f67fdce9 EBUILD firefox-bin-136.0.2.ebuild 10690 BLAKE2B 47a73f1163ad78c022da2e39f35e6ea1afe709713d4e225ada90c5d324486c4104f1280ffecf465f5eca7bdbe7b1d709ea7eaf87253c5c219de768327bec3a49 SHA512 a152fa8a8e580859d5a4b3ba867fcb5ac80eb013dddb436d4166f7fd62322791583002b26c9eae387654c823de8eede54b0737f984276af2bb628c76f67fdce9 +EBUILD firefox-bin-136.0.3.ebuild 10690 BLAKE2B 47a73f1163ad78c022da2e39f35e6ea1afe709713d4e225ada90c5d324486c4104f1280ffecf465f5eca7bdbe7b1d709ea7eaf87253c5c219de768327bec3a49 SHA512 a152fa8a8e580859d5a4b3ba867fcb5ac80eb013dddb436d4166f7fd62322791583002b26c9eae387654c823de8eede54b0737f984276af2bb628c76f67fdce9 EBUILD firefox-bin-136.0.ebuild 10690 BLAKE2B 47a73f1163ad78c022da2e39f35e6ea1afe709713d4e225ada90c5d324486c4104f1280ffecf465f5eca7bdbe7b1d709ea7eaf87253c5c219de768327bec3a49 SHA512 a152fa8a8e580859d5a4b3ba867fcb5ac80eb013dddb436d4166f7fd62322791583002b26c9eae387654c823de8eede54b0737f984276af2bb628c76f67fdce9 MISC metadata.xml 444 BLAKE2B 859a9628086f30da043382e969ee4413a663b6b0c71442472155ac434399eb0df210b5dbbc33e01488368469c81863ab53573f32b2d5ac321d236da60da609c2 SHA512 80fe43fe64650905c201a151f330d0a83ed3d89ff103828a4deddc68d4abc69e1a89f2f677d969a0164fb71b261cbed90164731dc5b11fe518a24ed48342209d diff --git a/www-client/firefox-bin/firefox-bin-136.0.3.ebuild b/www-client/firefox-bin/firefox-bin-136.0.3.ebuild new file mode 100644 index 000000000000..1ef9b649682b --- /dev/null +++ b/www-client/firefox-bin/firefox-bin-136.0.3.ebuild @@ -0,0 +1,360 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MOZ_ESR= + +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" + HOMEPAGE="https://www.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.com/firefox" + SLOT="rapid" +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.xz -> ${PN}_x86_64-${PV}.tar.xz ) + arm64? ( ${MOZ_SRC_BASE_URI}/linux-aarch64/en-US/${MOZ_P}.tar.xz -> ${PN}_aarch64-${PV}.tar.xz ) + x86? ( ${MOZ_SRC_BASE_URI}/linux-i686/en-US/${MOZ_P}.tar.xz -> ${PN}_i686-${PV}.tar.xz )" + +DESCRIPTION="Firefox Web Browser" + +KEYWORDS="-* amd64 ~arm64 ~x86" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +IUSE="+gmp-autoupdate selinux wayland" + +RESTRICT="strip" + +BDEPEND="app-arch/unzip" +RDEPEND="${DEPEND} + !www-client/firefox-bin:0 + || ( + media-libs/libpulse + media-sound/apulse + ) + >=app-accessibility/at-spi2-core-2.46.0:2 + >=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[X,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/libxcb + >=x11-libs/pango-1.22.0 + selinux? ( sec-policy/selinux-mozilla ) +" + +# ESR and rapid dependencies. +if [[ -n ${MOZ_ESR} ]] ; then + RDEPEND+=" !www-client/firefox-bin:rapid" +else + RDEPEND+=" !www-client/firefox-bin:esr" +fi + +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 skr 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 + + # 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-bin" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0. + # See bgo#916230, bgo#941873 + local apulselib= + if has_version -r media-sound/apulse[-sdk] ; then + apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" + ewarn "media-sound/apulse with -sdk use flag detected!" + ewarn "Firefox-bin will be installed with a wrapper, that attempts to load" + ewarn "apulse instead of pipewire/pulseadio. This may lead to sound issues." + ewarn "Please either enable sdk use flag for apulse, or remove apulse" + ewarn "completely and re-install firefox-bin to utilize pipewire/pulseaudio instead." + fi + + 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 + + local show_doh_information show_normandy_information + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + # New install; Tell user that DoH is disabled by default + show_doh_information=yes + show_normandy_information=yes + 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 + + 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 "ffmpeg-based audio/video codec support, required for HTML5 video rendering" media-video/ffmpeg + optfeature "desktop notifications" x11-libs/libnotify +} diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 4f15a095dc79..62cfd63c8a3b 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -420,6 +420,7 @@ DIST firefox-135.0.source.tar.xz 613526736 BLAKE2B a9309d125b48988bc4e5c6989f2a1 DIST firefox-136-loong-patches-01.tar.xz 38508 BLAKE2B 2508fdb9de68bb90edfb3f4a15f79579cd8865cb87ef0a9073c3b740152d857b791cb53c4520a2bdc466f083e7aa6e028a90d44b61b3eea46395f62115b7272a SHA512 e4f83d6a98eb25335de80bf396bfb2d0a362e7509efa898291f524d6fbf20754a278a930d61b3b9727e6b08d8e4959b001c75c2e3f648ce70444b39950307157 DIST firefox-136-patches-02.tar.xz 12820 BLAKE2B efb85458ec65da21bd118b550c5ebe7284d1620613870d83267b5f6bb27ee26ab14b3a417ab4bd359ea48ba78f7de0cc825d443aa7c1c3ecaf4498220255204a SHA512 a981f3adf5b452824804e374ed7a28150b060b8093759c2eed323444d4987f13a1b14b7d29f223e92a97f9727b836dd67291f78f8b3f187deb3f9c6caed1bf1d DIST firefox-136-patches-03.tar.xz 13356 BLAKE2B b69e64235b2ef72839055a91e9ffc881685675b46884171dedcb13f68710b083318e15ecfe8667652255074ed45fe722c91fa4f54ba457f33774af33a7ebb33b SHA512 b7301a60ccee7b8e870ac57200cd7242e5e2b8fbe8110d539a038f6b74d6fef86a96fc9f3dc2aeb387e636cacc875828d2b02287b8f5f7dbc6c333a900ca75de +DIST firefox-136-patches-04.tar.xz 18880 BLAKE2B af76e197a64a62aedd6a520ae8c6e1ea2257483c1604a9165b382959dc3a8135f75d327e63aab7bc619d030b25a8037d300a3c489aa6e43e59e3fdc3cb6664f2 SHA512 702ee3eff9faea18930b488e389b0a13c9523713166afcede8c5ce001a1f34da6ffe4ee0cc5e596a118fe200876144ae5c592e1fb912895d251f28e335c04f5b DIST firefox-136.0-ach.xpi 295315 BLAKE2B 0fda96bd10aae73f01d47b33a48ccf16c678bbcfec98e679792d55428df54d1b43f5cf9c2c1f61fc1f427f0b965b3c7979626287e6b380bcbb83f3f84148034b SHA512 edd4e151809d6699e84e01034b3e4004785957941317bfe9f356b5c37776ff9fd04e80e558ac300d7523d9130f6c82bf7318cf14a332c51eda3f6f6a35c67c8a DIST firefox-136.0-af.xpi 266789 BLAKE2B 863db129ce37d85769615d882b83a3c4f1763a9c610f9b2d13e81d9583b06faa2b49e585517bfee7199098adecd2f4bf2da00be0c352e9f8aa96c92f23628973 SHA512 2c00f51278d963b0ff9627fd75621d55914552455a6dd64254981f037d1cc60b0737311006be31b7c75f0d83fccedd3385f6f2ec477f0815b0f9662fc612db21 DIST firefox-136.0-an.xpi 333332 BLAKE2B f0c0adbb05292f85bcd05df172c7d3fe31161f7a1fafdaf8afe02791c79f1f7b45464a8fd8f1d464094a1ab2e19ef24a8dc5e73536618865ecec809c2d20f9ac SHA512 79113bceaf87057153dd09051ee3f91cfd53f739876c385adf427f61313f8a71b355b9e43680b78a1c51929f35e27d336244dfc04236bea5b3714aa51bddef15 @@ -722,6 +723,107 @@ DIST firefox-136.0.2-xh.xpi 273267 BLAKE2B e15fd34f3462e3e2ba12af675ab7256c46812 DIST firefox-136.0.2-zh-CN.xpi 454843 BLAKE2B 8ca76457ea41a9a5d7b1b9e710c508febbc333f9aca1ba65c1b199f76cf0c1ea18d38fd398b2aa8b3d70e205f47931f65a22403dc16c048ac7ff489aab53f51f SHA512 d1c96b194a4583e3aae13b1327fc6c201a609abd407a48e5c1538d4e797595e23e2e00d48aacdb41a0bc8eb04ab6ef11ae9c8dec8a4382ff582244f6da08e5cf DIST firefox-136.0.2-zh-TW.xpi 457679 BLAKE2B 128b68f4259e577ef6052185d96a1da4d790f8af55629b4fbd87a857baa50d2a4c6b0543dd15c2df807280de9c37f4a4689db9b1aa9ea40aa6f2dda52958e1e9 SHA512 d09d68b50b720677135e5b2e476b15ab467f45a40744c07ec0367c9a4fccd3cd708cb0e852bf50189c549c44e3a24048a016e652d95b06838a83e946034406ad DIST firefox-136.0.2.source.tar.xz 605916808 BLAKE2B 0ad6578d153ece5c696bc879ba6417aaba79fb28a3bb85060605e11d12f67225cce3b95c8176382c7f079563a2d34b46b707d01d186fa47ca7a3cfc1bcac3720 SHA512 50dfbedb6bd513a3c6cf90558d7c6993cc78558cccc69fcc882f8e54eb8e8bec9779dce6fb7211c1a0234ac4a189438c5fa55ee9d0d06fcbae5cf44778af2ef1 +DIST firefox-136.0.3-ach.xpi 295318 BLAKE2B cb3aab3e218a01ed05bc6cc583f98ce9f7a988d6b576bb9b8669fc9ede0546647ae03eb5dc4fa36582849ce7065429484815d72bdcdd37973e34d092608da230 SHA512 61a08d37503ae436afb0df71d605dbb055e8ab40d947678285997825ee9b99697bbd17be4d993ec89b0b01d0fb88fe571fd55066fd8b31949d8cdbd08f2f2413 +DIST firefox-136.0.3-af.xpi 266790 BLAKE2B 68186f1df97c6efa82fae5b729f2946a97c0351989d97277b6ebaa06ff2504e3ffb44b40941e06fce7b92cf3dca604e2112f6e27e9da1fa168f46ded579a9735 SHA512 c418605e8e85784302b81fb4134f49bbbbffef753f78cd0d4f4d52a01cd47d5e87591637a12f7d0e48b119e661bf79c522dc607a3c5ff97b93d730cd63473579 +DIST firefox-136.0.3-an.xpi 333342 BLAKE2B 24f317ceb8452c603dd4e975799b96afafacbf42c43d93b1b0c55f6970666bd70e420c509ec96282513bbf27a228dfc8a8ced079a3ab8a1a44a26b2316292f6b SHA512 cdb296d90655672f475974c1dddf07d44b75cfe222e5824b45b754d1dc24d807279079429a656f16465f40d901a98b0e68a0e9933e47885c35778a4521db867a +DIST firefox-136.0.3-ar.xpi 431814 BLAKE2B c6ce7e343744aea9dbcf4fd4d0feadc0a23a0e84fc5c74b4311c1dbaeaf7f55b19040797718a3fa023cc88cf20a6dd52dfff2d2e1d5ef6f94c085a4cb9fa67c7 SHA512 c2ef98ec725414a6b6a97dcc4ed4e683694393425946918ba80b6817fb2ae414f1a5eb65b70661220e30db01a49cad55f73cd38dd9b55f4407e7e23f196c3677 +DIST firefox-136.0.3-ast.xpi 314251 BLAKE2B 7b63029451ac09999d43fa5673af62235de871e1c9dfaeda0109f5b7985e9daca53a5268bf4ae76b9e67b7b344cbc0915191a3caeff8e8e1a23881898b8d7985 SHA512 8720bae6ca9965f2638458e746d09b268f6878936fa7e1c50dfaac02b9562e116e381bbc3096def559da9be9bab52bc873e3fd80aa8cf4c90664f4d6e3ee4cb7 +DIST firefox-136.0.3-az.xpi 319703 BLAKE2B acd438fbb074aedbf88beb9e19b899a0537775b7c08c0a7f61bd92804dc39c81b322b4ce52027607e315e62afc4591454423f09d072ba783d034c2ea4c0e6fdc SHA512 d94df2d4ce8713ae9bcd2d6a9a3f5aae0a08580dbec994211e4ad90e28bacaebd2a11f4fff6354d4af9af87ff25b25f14ac03d7e8fd1c74abeb14713ba3f61bf +DIST firefox-136.0.3-be.xpi 513803 BLAKE2B 1c8878a4ccc36c21be524cd4de2de3442860f70f3e2469751f3cb5bfce707c917c9cb59d14793775059ecc993ac5e3426a52412d3e80b2fbebc1e74272169ab9 SHA512 1894f253bd930d0167b138259e46e35da459ecd31c61b3d4464cdc3c5b5ea4b59fccacb64c70d3942b28a4d7bd19ce8f9bf631fe967965606570ea0d1fede69f +DIST firefox-136.0.3-bg.xpi 448910 BLAKE2B 2cb878f21c5fd7a0d536d8cf138269ac0f02358169bf2da592574098c8aaa73de87da9346c7f1b3b59aa98370e5bfaca106e731f243f541f7e3d957b001d173f SHA512 708ac599023e280d6cc4dd56b1fbd23c96e4ba5e02dba1f82e6383d14c9ae6c141d2cc1877f6156cf9576ef24acfa774fa71257044e0878d22190b1ce5d2c491 +DIST firefox-136.0.3-bn.xpi 414163 BLAKE2B 2a179d210c82158b550fc35d9b6769a803b25820e1c24806ac3403e413d74258ce8736132579c37b3bb5e7e53bed57b4661ec8fbf891c20e0f7c304d428dac62 SHA512 dbeb23c84eeb46a09216ffba68f6b07698c7e41513171e969c8acd272f44a4c003030438c3ef1f31bfacf50499f4ae84860dfcf08c4cbf575a3363015d8dfbba +DIST firefox-136.0.3-br.xpi 394434 BLAKE2B a9f38788718311b17067a76e20f720d5c7565443b3b81ddc6e539f56e4804ad1047dd021d3a205481002eb44a6dadc28367ae6796430006fbccba3fe56876d50 SHA512 a83ecaf73da5685ca7c108d6ef89f2ac7d291c25af6b8cd4d87b0c7266f9a17c6946c71fe2cf84373a2d8d358f21cc3ec66b3e73eba4b810c2d566351caef815 +DIST firefox-136.0.3-bs.xpi 365267 BLAKE2B c474f2840ac46ddf60a4b14502bd4b207dee8d8e3a428be498eed12a22dc743d3a140bd8066d9ca920d83c01a22b31305bb227134187111f7be8e93002bb6c20 SHA512 5da912e1947df3154e541f44c284e6fa7f45c34efe2869d4d1199deeef254762597263bf9015d34288ab8d1a6226db3e8e4e9050979a8b975e2ae603138b28c0 +DIST firefox-136.0.3-ca-valencia.xpi 359654 BLAKE2B 9e8acb79d1389cc2d437eaa556f2f068ec60d213406107ecd7e2b2a63044757db746f4b025be4d190df5e85349d40f44acf233e3dce23dfd6e422902fda0b9b7 SHA512 478a6c4effa12434435b7e5bcb070e4a5442bf1d404781941504cbb6cc843bfbe152a194e373bc752308a4fb7ed8e1804e24e8757b4f0e5f5aced3c3c45150a5 +DIST firefox-136.0.3-ca.xpi 400605 BLAKE2B 2066456ff67981cd6f669a7f6ed26ea2d521282377b3ea543b06c3b98511e1f9c3a653c04c3a7f37664b857035000dfa1379e9b4e00be08358f327fc910fc11f SHA512 cf3ae107c4872880019b14a98f63aa60f4f6d13864bf81f7441d0c016cf27edc924ed5dc4f3b3b470d9680b30d19178a81e3196e7b8374d2f8e2499dd0d9f6a0 +DIST firefox-136.0.3-cak.xpi 394076 BLAKE2B 881cf0b9ccaf6f2dbba3e216ebef7e7d81595972210ba7bb1a1f59710c254cfc01cf15de1734b065cd2fb389f38a9778af4e34cd38f77cdd36c474b298401b5a SHA512 ec7c14638bbb765f42312e75f884f95680afa1ca8dfe1b02889e6b50eee405bd1a3afb744c798e827a5e282f5de65c5b953e348a40206c05733f9caaab298369 +DIST firefox-136.0.3-cs.xpi 468954 BLAKE2B fbe670eab500aab3cdb171e848edaa07cb1ced9a74b0bf62b4eaa4ec6d7d30c4556bb1db5b47515b9c78f434dc2d7cc04eeaf8355399281ebead09a490eebc72 SHA512 f389ee7477d6db4eea8cf1e72791e1bc66be9453b77862fddf7670fa63f2261b66231770dcf9da5c7411e7dbc58182b48ea3478ac100bf52302065dd7e835394 +DIST firefox-136.0.3-cy.xpi 435795 BLAKE2B d57fd07b8e2af79f9ed120c6e3ab361d00730eabb0d6f77bbbd6b5f2b11d3679c31263150217d5d3987a4a0e41e929cc7b83e65ec06aab9c631aa8d17c887f2c SHA512 a2e7e8aa552ed503046855de53008e3064f0af8cd34de755d0ea76dfc409169c940f3df532af788694e3fe019ddfde63341644a965d7ba4ea85f7dbe33053216 +DIST firefox-136.0.3-da.xpi 425306 BLAKE2B 15a34d0599b84b7d0def13da3411a704f783c867d2e68697fb2485f53c491cc208fad0c22efbfd2696c25ab909ede5869b4ddecf927e8a5c671e6685befeba7c SHA512 ab7a29c63e698263b5674f24fe09c4bca4387c49c25449cf9d5f2dc0704224b9453fecceb0c1bbbacedb132628e408d70faecb68957d3f0e162bab10544efae1 +DIST firefox-136.0.3-de.xpi 446682 BLAKE2B 359fcf9678ee988ac4634c422e36ca5d813a5ccca8b53b7ae864d853a215b2462d7c20ebaffb9e8743d2a29570fa261c350ec0a700ab040a23be89e82b1a4a73 SHA512 522dc85c4dade4d6b14b0be2d723fc9946c78824c69eab1c10df7de414a8befdc8ef5944d4f8dd9c382ceb969f2f48687aed9c1ffff3dd247ce1d5a8a7702871 +DIST firefox-136.0.3-dsb.xpi 459798 BLAKE2B 9d6e4f9b4de3bdc768816aebe5c363978696320f6c21fa75963d502bf42e6263fd751e7a3287e6fc2f23d74f5937ab846c09dea9a1eb3dcc60e5f88d4b55d31a SHA512 79e02e75b1693f0f3220d3462cf7e25ecef37b2f04c99ecbe865cb8f8b382ebe6d2aa6b8b874216c291d0ebf3905207f5a0f813ed6ea165f138b7d023cd3a88d +DIST firefox-136.0.3-el.xpi 529775 BLAKE2B b99daec16db285aa2c80c0e16f27604055c361edf843eba0bf7d7e2cd8c523a3f4ea73ca2208b4cf1d66d4a33a594bc06f38a7abfb0785dbb4cd42366088f791 SHA512 a861b9cf95d1640c4b585080f44d3d0ab7212f4c4818a6419b44d006bf23827313112263f70c801a1338024ac2384220e2de6e86fe0fbf87ef898ea7d608e779 +DIST firefox-136.0.3-en-CA.xpi 405849 BLAKE2B c6f42bf11f750ea2031745642048328dfbab0f4eae95510e99babef51acfff8a0e3a8560ebe87c09234a28be205593a99f3f3bdb7d2e4f62263cdb26f5dbed8a SHA512 422ce6520b1cfd27219d9272bde6a9dbb2c682eadedc770dfc38e96cf2e7a7df7a29f31416f18a0480b7598c09e238dd732096efee30d26dc66c330e6c51cf4c +DIST firefox-136.0.3-en-GB.xpi 406154 BLAKE2B 589273eee2c8c242bbb43e772ac943309c48d4d5681e4afce10d979cf56a1b1292cb4335d07a88473af92f63734e7216b152d8280b754d40ebb816c02c25eaa4 SHA512 232dd1d7609ab0acb83f4376438dbde17329be7b6388de2eec2a248099dc46da31848a89aab7ed04d1bbe796364c23f692ccd83307a9a493bfa85db0dbcf721a +DIST firefox-136.0.3-eo.xpi 427687 BLAKE2B 4abecc1e078db27427c41270a3ae6d97d0bad1003c644c20fc08ee31d184a72bfc958556a0ebc5a13018e1fef2c65af50b3589386df981aa3a825a275ad05596 SHA512 5de261f593e71bf47002044e1aa0e6a563c6a4a3638c4b4fe14c2644575243976559ebafcd556dd6754e822b1498d17c2db5d193ff846e24bb553eb48bc8a918 +DIST firefox-136.0.3-es-AR.xpi 439702 BLAKE2B 9402505b5be3094203fd18e547781950ad3da49af8a8e610303fe85dad852f6975aef8c08a86a42507210e1894e7b126c0e57ff7e187a78396adc24129899355 SHA512 b7ddf20e053d8d671fffdde04a4a31765d15b9d99bd8f9e0d8d1119af3017113d5ab8907b44da52a456c089350a9844e77e377f572ba9977d3565090fea2414e +DIST firefox-136.0.3-es-CL.xpi 440294 BLAKE2B fa86b3ac4cc08feec05b11a796857e790b31f3971021df610b5c70074c84402f69a20cc75b2e615db60e7aa2e6917b913d79718a22fc0e9431267fac44d52266 SHA512 84d3f437fac257d461d2826b9ef288db9d15f57fb0a99c03df8e03bf4183749a05eab9bad112827c101855a56af2672c4dc02d4cd575a40086b1b42606c5a095 +DIST firefox-136.0.3-es-ES.xpi 441193 BLAKE2B 29a7f8d43e98cfe0fd31708cef24b461faeb317320b97ca8f258e573166eb406bead398b07d6732275f94e438707e9b6e35334d214643ffc0d4b173261fd90af SHA512 2e71c3265b2dccb0400ff7a81a8e15fc25b2c83b84f266b7f051a86e3dda002c9f27e4346d56245a1d2a0f68218f47a2ec31bc43879ea9e2161028e6b78c8f47 +DIST firefox-136.0.3-es-MX.xpi 440822 BLAKE2B 957450f745b15736d5d5ac1b6cd0ed243595569e07f60502e8385fb155adc40febd31fb61e952fc7981bdd6aa2c9909439310a03ce7830de8f6b0047dc120e5b SHA512 862b086e87875293ac76f6af767a6a20d5cfb479b7f245d07bce395196f6c25a3e3a86cce0c3fa5030b61b8b2e53644617a35812303d7ae44624dae57f975305 +DIST firefox-136.0.3-et.xpi 358262 BLAKE2B f9f61232925683d6dba616a79c4fbbf01566ec38fb578324d84785588b8c9ab33141bca4c623e8a44038190ff74b43586ab6e8424eb98793e7d03be92dda40b9 SHA512 1ccf934ef3feab1900443adfaafc02c2701fa6aeb478fab075fa09bbc76cacc890f0d26f6a769f6b05c1e02de05b16b840cb53c1e1e2f8ed1a6fc26c37d160ab +DIST firefox-136.0.3-eu.xpi 410905 BLAKE2B 585d7241c0bc82db61a38742b544dc8b76574fc7634f33c23ec581cc4ff9fa3230352c826872c71bc9262a04c3c6edf5aecd839040404a61b57727a7b5e4f0aa SHA512 cf919648e89bf9aaac6e61c9b77a06917a05426223e321d006f5f6be0ef8a64f73026e8b3865268f6d12c9fc8be0b371f7e4aff14f65bb9eeace998965c65f07 +DIST firefox-136.0.3-fa.xpi 414713 BLAKE2B d192ffeb70e54095c6101407f659e2e1887e3c9cc7fc7765ac605104d625897a2893f9e45d4b0f3e9cb0caad3727790eb25e2e89fa9376870ecb4f8a2e9c5e8e SHA512 3a7e2af04dd0d04a407ad43a01e0d4a0294065057f59e119154b15e514ca76ac5b1af558d83c9363b03bebf513d98325eb8a05d3224cb7aab0a34203ecebfda0 +DIST firefox-136.0.3-ff.xpi 311206 BLAKE2B dec8d715d4f7589cc851f7e3e335613fbad485d3a849d53d0ab29f13852e5a1e821ce021c789a194312fd206fbd8624628b072d5310751d9e52ac7cb132b6842 SHA512 80daf8adb737afa8db3c1733d31b75cb305cf0cbe2a2ebc6a07515ccc7902c6b22e2cde1b25ab5fd709ce052dcb146738fbc589327d28ff1ee14f67e269d177c +DIST firefox-136.0.3-fi.xpi 422721 BLAKE2B 355996465a59246952b81287f0c87d91fb22fc46df686f1c2b8c2ab34e3e4cf88647313f9e21bdb83e6f396d0f9eb01149ecb5f3c2df162e68db2bd51caf0673 SHA512 99c02248579405f3de5c093d126a3d8ab477c3832f25435c1740bd1b2d161ddf3f404def905a7c5d6e5f429d98a0a3b618d1274104322ac282ba7579eb79258d +DIST firefox-136.0.3-fr.xpi 452373 BLAKE2B 98c5fa82455294a0a9a1053f21f1477679935eec0c3871cf8fd0a3a05446b1230f623602b0dc15a7bce3ed026ff944056bcbf268d57b57d53e83b358177fb892 SHA512 f6bab21c5e31210e8cec3401d046d519af4fc4222ecc2be509f9922a9b3c85848f08fa5c8a6fa759c2471a2b99c5b4569867a45ab049a980f838842e6e67e778 +DIST firefox-136.0.3-fur.xpi 445642 BLAKE2B 914708ff01b16594aac3e3cc298510466ee0f9ea03c95743297dbfb71446aedf04f6b794906dea04c8b21ea13b0f8e4fa0f6e2cb87170a151a90ee41040b2773 SHA512 9574ad45da43e6f6b9866a708417e035f9c95a3c002494a090022ddff84bebeafcd604b53b30930d58ad98fbd327ee65879abcc5f3a6afa8e41013c0b97424c7 +DIST firefox-136.0.3-fy-NL.xpi 436315 BLAKE2B d350941a3fc0b5826423299caeb7ee576b60459573a65d739a539257f33ec920471a06dffa4b578d57f21bc6c710921e1258ab0ef8b6699965c81741672f9cc4 SHA512 e09cb2f6ab0c9496b2b4d5308cc54c72fd93981a1ea578b33dfb5aa66a4988c110086206bec222de6e8c016838d88ceb979ff7f40d9e149eebd0e5feab1af8e5 +DIST firefox-136.0.3-ga-IE.xpi 307236 BLAKE2B 8027e678edca3a54afde28ced99aca024e66d8e8d23974a890a667fa202ba0eb8a6b1f2710998ad655a8894d0fff4dd729732558ca0ac89e7bba6ba4d6e09ebc SHA512 9b19d2e23be5d3fe8d0f07934bc35a0e6425610977c7abb155d05ba005c27b6621d63f495e351c7e15f41d3b7d830753f576b0e4abc3cfac40e8e895ceab7c4d +DIST firefox-136.0.3-gd.xpi 402413 BLAKE2B f21e26f1d57a0fd5bf78c2ef425eb0407e3ca5343eee6fcbbaa1fc6c5b877274290522ec7ca7b2805a14dec633fc774f1011cc7a4289036b2349d497b49f5e82 SHA512 f6f31f4039ddb1b353295cd974d313502cbf031a6a94bc4fe4d7afe2daf298b7984dd72cdf46a81b53b33e26033ed0b7c8270b2633100ed2738fc2af2018d46a +DIST firefox-136.0.3-gl.xpi 406510 BLAKE2B 83f12f3d6f72cfa3db6fc41a8f21937db4fd1b0243a5e0268a8037ad397a790ef28ee33aaf9c1d32aedaa15beae0211d2374e38122bea3be81bd19aa90b59ca9 SHA512 ed8c85ae7a2777bf0c9af61153753132709657d31ce790ad61d9012591fadd2ade2c572cfb07db424e889ef88b8748368e0ebd1a178df332631f7e48273f559d +DIST firefox-136.0.3-gn.xpi 443143 BLAKE2B fcb8f6390aeffd27842bdcce0fb3f73cccda53bd3a5caa37d413c30452ff3de3f6a7d1da01eeeef5ffda725a86a3694863abadc9011697f0bcd3ac8f121ac146 SHA512 7c2a6dbb3274babc7ac0318c50271365114a118c5342de4a19ac2baf647bf45f7f2c08bb6bf0b5629af093f6adb3e0e06e2f1a6ffb2f2b2a7342e4e44c2d7ca4 +DIST firefox-136.0.3-gu-IN.xpi 360251 BLAKE2B a1afdbe5843fa49a105ca9fd9e70798fd88b8429069478d70ce06d4b4cb769683d6f7edb3e3147867a1416bb8af5142b17781852db89de8e586a9e7c56ea8839 SHA512 925966794fe1fc191f6553a00f8e83d48e445675b6ed325132984e6310439695442c3b8a516552a6901eabf5df6cf2f1d27501da3c2b7550929ac441ddd5ef43 +DIST firefox-136.0.3-he.xpi 437514 BLAKE2B 4fc1aa86fc92823b16c449640f0ff6385dc53125bc68670393687a9fa3648529c930798e242820a5ca4434775e65e9cb3511242e5b09d25c3d5cebcbb1dd7147 SHA512 3408649f0e8921c9727588fa520aacfd4b66eb5c00c8ba00e8a8f0a4d719cf172164c4802cca47ffe2c7bdb32a0cab34527445fea796816cdcb64e1d272bba91 +DIST firefox-136.0.3-hi-IN.xpi 378749 BLAKE2B e7093dec07b16145e20fd5adf6ada699a1a7b78f98719506c3ab4a10b02d67986f03cc626106e592504d85efeb5a40c6b1622da6b1eae4896761fb2dac75b75a SHA512 539e891b56e534b6a15ff04adad073a0ebbde30697c723255ffa2c78d470b331b312c435c97d1c9853d908178cbbc9d37dc60d405eee347047432af794594afa +DIST firefox-136.0.3-hr.xpi 430737 BLAKE2B 3e8c8f901b1bbe41ed979b9ac46ba6edf611eaa030549bdd236f99815d7802d05740454c18e8f2c77aa5fc0a5701e13dc9e8391902fc5735c050f3de27be8c36 SHA512 3269ba07631f769388770bbfcd8b623a71b96d13463e9417150880140d32ca6d02c319ea52cd24129355f0f418ceabd055305d534774e74562e32330a9af1546 +DIST firefox-136.0.3-hsb.xpi 456438 BLAKE2B baee65fdd955c89c42badcced45dfc9a610f4343dbf3b8c328d0d3d2bd1966df52208f15c634467f069c69657552c2045bd6cd3227044975f841bb7fce4a9daa SHA512 6664b5d1c393a0d64a8e5f7d412f49f736b61c1be01aa6010f6a15b61cf2a4781a13b3d02c22b2fe66820a3cd32748857ac4aea6032740ee38ed7ff414585071 +DIST firefox-136.0.3-hu.xpi 460487 BLAKE2B 7d2a064eb4113e1bb61f4889cde8bb4ae62e7c98b52776ec64b9c81e1e11257e792a72a59b14d5df9f246635283230e2756991fffee63c337afdb53e70bac54d SHA512 0a49cff61ce0dd1d8250e3a19d23fdde68d1b131082b1d5e72a5ae40570ff46b45e82a0c346c3ffbd75044bb37f6bdde34b2791c2c57924e74c2faf141fe6dc4 +DIST firefox-136.0.3-hy-AM.xpi 447323 BLAKE2B 8789647c8f456f16969ad89db8f326123eb0a8fe416d09d41b7b4b771e9008cfbc9d37931ce2cf4189af02b5c2ce750df2245de7fe19e25ac98c4ef614d65b02 SHA512 3ee4cd6367dc243939b8dc182b5d6b739b4486ac864f2287058efaf2d91432a67ecab10ef7a81499940368d75f83fd428c42c919a7838f1e04cc311f85b62e9d +DIST firefox-136.0.3-ia.xpi 424467 BLAKE2B aeefa7e2ba4d2e836e5c9e42ee94e13daaed310853ec4383e0ea4c2e3d6f6880d3e11320777b98c2f5bfc87bc4226048ff614ffa446b864ab8c98042ea84b7f5 SHA512 93d21ba9d2ac6c9a9df7004736872f592f0fb13f0a11e364386abf5702998b0d254daa0963f368e1f626ac1d0b1d93168d04d81788ce284fa35a3f91b3978da5 +DIST firefox-136.0.3-id.xpi 414324 BLAKE2B d4b97cbb189cdba80ebb7fddd39a9c91d8d0220d1e9b132c5d22616a22b23204e049b5fc997183cb25a083a9a5ccc4897fe7f7b4d4564afb0afb86c4575fcbfe SHA512 5a671b2b254cebea177750c788a00ac513d7aa67b126a50fbfb2514bbe6dfa23ef4839361ffa8d60360a70632b95073ca7ac2337fad04bb758dce1215dcbacf8 +DIST firefox-136.0.3-is.xpi 429696 BLAKE2B bef458e812bc3cf4ed4461efc29a61b9f42c5cdf335687cb69542bc59b745b4bd32a08ebbe023a034c0ef64f7704de871d5b4b47e49e9c4ab85d5b67df0a7661 SHA512 ef838d6d7f83f0922ff79a61a978cbc755a6be9dd2d1b384aa4a5230602db51f30d23cea1513adb5fd391b7241e8f227355d56bae7ace532c77b8938c50f2597 +DIST firefox-136.0.3-it.xpi 434986 BLAKE2B 0dab34e170e738267090e6be86914372277e20b3a81eda82f39033bc6bf24d69ee8ee5eb015b3ccb3ad3ce01049c43f94fed75ebdec04a1cf4c866505361b539 SHA512 10cf4c20c91ad48db45caa739af3e9429eb4b64852ddd8f056e868096d4f8985a3e822b97f9357b9ffdd9f16bc71200776d32c9331ccd7f209a9732171431fec +DIST firefox-136.0.3-ja.xpi 475081 BLAKE2B b0b6ec2f7685de9168b3afb81e05fe1fe98c5ffc00de9a3f67206074b42381bd302300b872dbb2edb399b86e39f2a2ccb5621bee356c675d0b92ba36770685be SHA512 c63f3ab3949448c9dc6a8bc509f310892f610c2ce956777f0926b9dd3c898d666bcc621d1ada334cca5b26fe6b55a771ebc86c20faccd3f6837f3f3de730f820 +DIST firefox-136.0.3-ka.xpi 487960 BLAKE2B 10accb224a275607ad50f7bafd4c37d4e7ffdcaa37056d4e04d87dd921bc7758c04ba846a5435b1cae5867c6b0fc78558d04397f5a9ef17ac7c11da99de595ef SHA512 8b971047565e06e6bf19ce14797ef4bc90094d52ae5b2c2c333763c1cf80a527e6fff83324261b17e650d9ac9469eb2aa7442c1e64b592df2bc775275b3abf49 +DIST firefox-136.0.3-kab.xpi 414028 BLAKE2B edc2f0e07bffba634e1e5324d9effadbe89c8f9ab47b6084b3d3f177037b30e63857412033a190f5f0f4680a1ff5f8240be5a327340fd982230096d43f2482a4 SHA512 3d35920d85961e5d5ecaa0e8e01d7d426025fbd10e90957ef5f1a2e1c74a93373a5af40a93dbb02d929efb61d44236b814996c02ff525e5940ed54911b663373 +DIST firefox-136.0.3-kk.xpi 501975 BLAKE2B 1359a5604acbb21a1d806aa347758f0b4b500ba30d2e2e1c6e5b0a48fe7abbdcea24a54ae5f00840cecf5d6b00273fc0e26dcc8ddf047e5c33b2dc0b36e4159e SHA512 75257eb521d9a6afa54807a9ea343705351d957cf297256820f5f325647ae7afe337c6acc6868ef3f8b9438ded36dd2468bc70ecffae3046f6bb7fd51d36e0c3 +DIST firefox-136.0.3-km.xpi 350114 BLAKE2B 3b769b814f6145e006f0dc257ec96e133ce308ffee69c4fbc35968effd00c7ac4f7f10cc7b79fce7e8bf271523d11d8a9e3cf3fb6ab84cf5e79310b777f25aad SHA512 944fb8face7c4451b9e3e235479f97bfc3515fde798e263be4c996d456338d1eb63df864f23a8bf3c2ea6ce849d8f015dedc76130fc1a3cbb1df15f3e215fdad +DIST firefox-136.0.3-kn.xpi 332812 BLAKE2B b8710c5502d865bb8cf5d1183207de63cf786984accd4b1373a406e83e935ff5ad63fd52c0e078d533a2f0b681ab785d9b7c7cfa7c4a9c4fe41a9d9124578cba SHA512 d26fca1a8d2cfff9d42075b475314e2a961497a43848b4385b4d266a1968fa04e405aa773dc5b9e2845a94109f6438b3d6f9ceb29747dfa7dc6a887be964023a +DIST firefox-136.0.3-ko.xpi 461336 BLAKE2B b1888825be6737b958d09919f2279603c55ab04ed4011adfd087d5c84ce9830a6af6105b05b592dd1f9caccfe63ff0430d73b0ae1d758aa650a8d99e0bbb362f SHA512 841e44de495d6eb2b056b35187aa112a32a2d05a74819700032efaf4aa473a841aae3109f9fa6343e31cad1387c15eb3321e5081ccf6aab7f1ddf7d4becc733b +DIST firefox-136.0.3-lij.xpi 319133 BLAKE2B cb981e1c1515af763302a53a5c7d8442b95cbb6e53ec92c67ddd395a806212da65f1d7f56fc8c61376c3ffe4cb290810723d14345785d967ce0009ab4f758f33 SHA512 59c2a3c1d95dcdd2e3c8f710193c03bf1be5855baa5e36637ef9fc229fae38db6a9b20cc18f5b89b66b1440a6b24f715ef39f755f1b17bcfbae5026bb8a711f5 +DIST firefox-136.0.3-lt.xpi 382131 BLAKE2B cce17ffde8e8be4d21e7a32cb4ee5f937b3be50375190a92f20954ccccd95dc3c94cc51da368777d66163d25b4810e8f58e7af7312df061469734c6255729747 SHA512 b92e6f2b0933af9d1931a2ff7a11b4c4a32cdc9cbb94390ae83b0e29dfe2203430b37d8bbb5ddd86c0b723fa21c30c2c205601c46f98b9d52646210542a3203e +DIST firefox-136.0.3-lv.xpi 390656 BLAKE2B 4873e1ea8ec0585975de9f18a83e95679cd85a54c29b50a560ba7d49bec5df3b65274d0dcfb0af79247ea27771eeabcb465be2d6d8fad79f6ed4a9cae3b2a4fd SHA512 d77d010db0799df9cb866dd2f4cc7a4cce93cda235f4ee483bd05041231526cdc2b738348b731fecfd385ef88866eb05a5f46913429294f9d57218afa4ac578a +DIST firefox-136.0.3-mk.xpi 318440 BLAKE2B e83a4b425cdb89e6e67564b1b5ff59b1305866668a331902e8b7c994d1fc3b93e090c3cd4c7fe3b86601ae4ead7658214a6c0d37805a761c1ab76e84a17672ad SHA512 821d6494e4ec363e2ff1d40a5c9a5bf22f197347e735ee48ad9e4ad545f0c729510794acd12cd6954c2fc835564e901029dc55ea8c62833791e1cb1e19dd73ba +DIST firefox-136.0.3-mr.xpi 357289 BLAKE2B 6c074e9a773b62d6362b4b312c979b471b1b61f07f79ff660693296219c52da85b8e11f927f299042fe3163a7e3c4562c139d8703168c81cc4583dfa2c744322 SHA512 0e46f472e5e660984af2a5535cef35d23ad25fbaea615cc7e45bee4fd517a6fb06017868bb02360368ff4cf56476247cca1e6e7c9484c8e75187cb0ab76c4090 +DIST firefox-136.0.3-ms.xpi 296095 BLAKE2B 02d4492799d4039fa4d264895ff6d69af1b507587f9b09d5efd3f33ac77aa1d3f0de9e35ae6278cdbb03f380a97d1cc664cdc73b0f73de3f3588b936c3725aca SHA512 5ee737abbbbfa32c64e72d79331d2887991e9213d9192b33b7c007fcd597a926713f4780a565753ef720008ea238cb2716ccfe52ae412a36c55dd9cb14eae6ef +DIST firefox-136.0.3-my.xpi 344217 BLAKE2B 46f2249efde9bca166184fcfe022e7b9e0e14e2e5692a081d7606d6c3773d46faaf929737a52dbef10776c3fcb88703c516843dd189cb2469a0b34759eb0c128 SHA512 704837ee10bb40a247af2c238a205a07cf126c2d90c451960587f96359d1cd509c3d30853384d19e321d63d375fff9110f31a6260619967e82013b5b54491704 +DIST firefox-136.0.3-nb-NO.xpi 416130 BLAKE2B c85b71c9c58dcfb131193c49c218a3690043761e446808fd1df4d2e9c25e4d6c76eb05597763af9b687ea443e04fb3fbc0a879c3fa05184f5b63ebf145f4edee SHA512 9785e8c752b5fd8916b08340fef68b6c7d16f1477838879b0ddf0371c1652a2cd1347a42ad09eaba6ed9be991d6aa1fb14b2b54b6b3b94164bf2f6303c9076f5 +DIST firefox-136.0.3-ne-NP.xpi 350381 BLAKE2B d82caa196e527fa6fd13478c57afea270b8320cfd1d46db5050bab77e0e0de1bbdac5b9a95438f041d3aa1d38718dbca6061e191de8c5d15d7a2284f24cb185e SHA512 ea8ced5f421ce003130f318bde40976e4c1572f7bb5a2ea9effeb5eabce78f3d89753ae52e1efe522740cf1a5dbc898424883850b248128569bc737274a4d0ba +DIST firefox-136.0.3-nl.xpi 430398 BLAKE2B b0198234179b211d8800724a9465c52de7cf4e6bbedfb81f3fcd47a445bf6504f1b41474345ca7208aa2cfc616f4418549e99bc740ff65ee945e7a2a343260f0 SHA512 a2a7a55e022124ce53eb8d2b523f2f097ef784afcc51786ce928b7b718556f94948207de7de9c9da10869a74332326f929cbbcb4b1a6ef23bfadb8a9449f7c33 +DIST firefox-136.0.3-nn-NO.xpi 421304 BLAKE2B 47d1fffa1f1e9e7de18090d48c22a14e2681492d0f2005ea2c7ecfb07c7842c32aa635f64db6465e04cb5f9cda09173e2e3685ee80130abf4d2cb766b1c3a1c5 SHA512 38bec1f55a34da708dfe4b52991f19d6043385a8ef53f22a6392b99e89ea5b521544f2338e52560077910fd3e54bcee753df247758655151ecc35c179fcda324 +DIST firefox-136.0.3-oc.xpi 415669 BLAKE2B 39b5c16dff9daa37d0b3d7aa7517d10342807fc5921d71b4c554a490db5ac411df90baabcb942dc65514cf84c1f738baba5aa616b5b185cd83c387fb0005fe94 SHA512 ecd926858b25e4b3af19647c0b8616a6c94c45d316423ac119255026b50bd440cf13ee84226b07e7f69ec32a250dddcb06cc396e635afa874bf47dd4fa7f45d9 +DIST firefox-136.0.3-pa-IN.xpi 489828 BLAKE2B aeaa4b7409b0e99c76230fb5eb35f6f78e901b2790478441b1647edd302bbcaafc6795ff7033e661ec7385b585fa7dc01461a5ce400140b9548a128b196ba07f SHA512 a10e4bcab3f6b58f8a212657e801ab1db287d406c9a7a265def3ba78e4670bea4514cb0bd5d5894d1cbd98031ffbbe4ccf4165d58d345fca39396df9c1ec6cd0 +DIST firefox-136.0.3-pl.xpi 450704 BLAKE2B 71380684cff158bb7123e677f0cde2e865fc46ea4396fc20cee9f4ec406840483bbac11f2536465ecb96a5b5e3a45e73b22158e32be1480c8bad608d9cf0fdd2 SHA512 e55edca8b10a1b2bfc4774e0d5de27a053fff16ce8d3a9f463564fce3d71e89f1f06a089a1529010980242115c723517c6a98a7045f603ff1bdd919f9ec64415 +DIST firefox-136.0.3-pt-BR.xpi 434768 BLAKE2B 5aefb80df5eb1d9bdb8e3ac394e166e0076e1db1f368b0f1c05e03732117a65deb6ee729d035c16fd41be68ce78b9629bef46e71642bfaabf34c91379bf4d480 SHA512 671984bdf834248a7f337eab7da6cc6127474fec6bad08216af5ba56aea5aa6503f94f1f7d398474440ab87e4e82b7fecd666fdd8308baab192809db7705918b +DIST firefox-136.0.3-pt-PT.xpi 440561 BLAKE2B 6938e7e3783eafc6e4af29e067d06717dee80fed06344c7d697f29afbc9b133870dc65a0e1d3d1328c06d0781bae61e7d9a0d729ac9893734744b1062effeaf1 SHA512 a8da88632439488a1f2cd2c0a475229b52b48608b5fe1209fa5b131af4dc1a81ed5ce1136a6190cb82ed21e50a28655a87d99a48adf00c81f3e5a5583eb01ed4 +DIST firefox-136.0.3-rm.xpi 434100 BLAKE2B b3a8f2324ef1de92d0a4eccdeccdcd7237d1989ebdf496ad653aabab7bfc1a8a4e6e87e853d18b04b260860f5af93317cea6675f08bab5b27bc1095f8057c45a SHA512 78ce9a2d4b946af6979faee9cb6ad6243e68d884c439e15d9e8a4aba45527e875623ae2af1ee3142dbe2a5ff8c756c0f1de313444091b8661518fc8f4825896b +DIST firefox-136.0.3-ro.xpi 363419 BLAKE2B f4ab573730d2c37f8dcb62b27774a6068529d05ff3827f67d8ef69cf59a6c6f3608f8f81efa6db90fb57b71a7d1b96c1affa590ca477b2bcbd473c90a990a02f SHA512 4dd0a01c79e3a8f24539504e05540d09c76d01ba177e549970823c206d1b1a6fafd02b066409b4a8de657eebbfb12fec555ede612a858c57cb5821c4098f295e +DIST firefox-136.0.3-ru.xpi 517926 BLAKE2B 6aa92a103890481c1906b57d660d49994644a40107efe9fd26e3a17c62494b7a449da8e0b6701cbc308fa431acdf1480d3ddb74da82c437828bac12cfe2036d1 SHA512 a3bce1ec6d80e754fba868156c1807d80f78230b360203c1a5e2059e56bcbe801f93c48901ff3df58394ebe61a44ca11128c409e50050071713844632237d635 +DIST firefox-136.0.3-sc.xpi 403791 BLAKE2B 832522f36c99cefeb4efd8ce93cda5602493fc5c36746acb1d7e45801a82c9d09c9339d5936cc16ff86eb50b36f4cbb2f2df076096ae668366952a8bae50fba9 SHA512 a3e6da24c158867580d68b584d6fe45d36564a09b5fe59e905e4b78a24c511188d29dd16c80d092b3f300a17369e1fd04e4006a4007985f662b577ee387c341e +DIST firefox-136.0.3-sco.xpi 324878 BLAKE2B e335fc051fd3e162f5a6a7e16376c4ae3bdc3dd7acb1d4f3b3f0da635f16eb7c907fc8dd51e6c3750cb897237e21d86ea0cc98bdeba31aff5ae6377548d08c53 SHA512 8bb02225d06907bf52741689644dda3ce8503aee25417ab064e04cd32ae4e56b86f91d8d9e5f5105a38e3a74b78ca57db6d8c5eac065ac518030e218b5a7f822 +DIST firefox-136.0.3-si.xpi 414024 BLAKE2B bd05d3804fbe8a010192a57bff7709415776631cff83af8fa75b794c81f8350bd31f3a04ed8222fc66dda50760df2058403c78b4c0e049b9942776141f76ee06 SHA512 e1676fa4b804b8966167722a5e67634ecd5570bbe28559586eb909fce08eaf9569b72a74945b63ef61081a7a5d7093679435b30af5f68836e174d5087c48a391 +DIST firefox-136.0.3-sk.xpi 461607 BLAKE2B ab44c6f6811fc0a4761450f109d55d3cd2a8c6204c5e3ec15a146aeef634be1e67cff11d078ff13233edf7266641d834b5d0927b0fbf1460e235c5d59ca5a83a SHA512 3a723adbd99d7a729606a74f66f02504238bcfe4d5e308b9d3c35c7dfa1866755cdc6087dcb22e1085ff3c7b070bce7ba7962d12a8177a5088d08b268c72054d +DIST firefox-136.0.3-skr.xpi 494197 BLAKE2B 2504b5e7d716c852a65d95899287423b1fc8415efd5f390b1430916a252560f06180eb8c556603cb54cd2b0a36e5141d4a0da254a636b4ed03e813a0d0619ece SHA512 aa6337457cf4371f5abdfac18162bcf2786c6b68b673428815108ca6278c7483e0dab6a1d4c23b430250c3314dbdfb0ac6383839ae55bdab92ae7439dd5b85a0 +DIST firefox-136.0.3-sl.xpi 433456 BLAKE2B 76168f960c96a164c2a537252dfed16ba21176c79bd0635c657b34311f1fabefc4a7f6f8c6fd0c058c03aaa6246ad181aba4d1329fc8bc7e40d19ad2940e4831 SHA512 7d15a2d8d15f0537feff9f604c04781abf24c9b25072edc845d13a435e07967a560137e9bcf34bf1ee3e90fb32edda350282af64243bd83a08ba1f0762299bd4 +DIST firefox-136.0.3-son.xpi 273291 BLAKE2B 5f3900c6aee4cbcaac461aaf78d41573d9b87a6b5dab6c3e60259997aa4e5479f0439e3ccfa41551b69331e00e95d4d55013b0a5f2c51b44d590c2336af03c78 SHA512 287bd9bae2bbfdad26696ce9d7908e23117b474b53e07dbe32aacf79e66fecf69f96ed82729914635d04c91325e43306fff26e28f669461551c2119d0244637c +DIST firefox-136.0.3-sq.xpi 449806 BLAKE2B 5f316c3630d20cf3b010a25f6ac36511926e9fb65facf22f8af381c81fcbe69b2b6a6c24c6a23e339dc74699a01d742c275ecf1e3a633acea335399d271d38fd SHA512 572f23aefd09e341f221b87c36ea40ee45b65636fab1cb558f5077b74809f0a53a02239ed6c6ce6468ff45fc919944cdb7c507b63d213a39ccb5dc32a15390ab +DIST firefox-136.0.3-sr.xpi 456465 BLAKE2B 87e5ae899ce05164e36f11c2101bb7d849720048f8abc7130c5864f20c54b7388c0f20f0367e28dd1845773a11d48682a57d7f608e3a755052ae4f0821ef88bc SHA512 8765d8a202b1a1daf86a8ee4f4fcd50e280cdb8acfc0fbe8abc85d95b1bd3c244c32a2947e65fa92a5a52442cd3011e85773423d6a7509cc05b9ab28818b3721 +DIST firefox-136.0.3-sv-SE.xpi 430473 BLAKE2B 2d54227db526243b8e770cdb3a552eaf7656783e0a0788bef6d4dc9eff3d2b7a048107b4af2ff2ae3f12cc88243e503080aad5491d5881ea0d2c1b1f04b45cd7 SHA512 f64ee0109c8f32ef248e7ecfaea548c91e1edb752f4aae55a9749bd97d7a26aae621f20483b42321fd8824f0412c5e8c3da36729110396e051254dd039b77c26 +DIST firefox-136.0.3-szl.xpi 344458 BLAKE2B 3448c07a1e056ffccbb6cf8a4966d86104db9085cf286f83763d4433985b444540fca64bf1d2f7c776cae4148cf449b7eb7f7938bdd6fc721a723ecaf312a6dd SHA512 e8db97dcb55ef89c300db983d9bca05f2636656c4ecacf01afbabb40607015f56c7d56b7e62a5b18c283d327ba8236d6cb6665e303717c60d6bf2619c0b491ea +DIST firefox-136.0.3-ta.xpi 338590 BLAKE2B 7832f87265c7848240c26f2edebb01acea66325245a63e3f76bbc987a723d4fd45fb049e2f1f533b9a03c37d9cfb73f50fd11ecb4c3a1778e12c9010a91a1338 SHA512 6275603506f6e0037989738c1b4d8c2b9e00236e2723d74b5b2e60e8c75b4070292ec1b46b151d47163271506b0880661c61ca51d980224d6f814a98409a3646 +DIST firefox-136.0.3-te.xpi 384063 BLAKE2B 662d04be0133034cf20a17208886da46154b0e3ae968f59a06632f89e055b6c3019a0b04a106d02a4af2238675caf5ba7c5edfb997f1cceb438240a948323697 SHA512 57b7b50e1d4a6b02389413d42a22172b4b47cf125078da88828adb217c2b3886560eef3d74e1d271762423bfdc55df063ecb9868f288778b0e504f186a91e0b9 +DIST firefox-136.0.3-th.xpi 499238 BLAKE2B e05bcff53307bf0f1365850bccfd682bc97050c3eedc22e95eee40e67dec806891dca6ed14f5ac5b877f3a8a99e211e5b5705f7e6c22771c1285e5dee5529bdc SHA512 44687dc78ad7ec477455ca01709e2d3dcb8f7210a23095fb33d7efdeca70f8eee50c6013af539f95922661a3a493d0887ff0059d7972601d29cbf9dd912868fd +DIST firefox-136.0.3-tl.xpi 351841 BLAKE2B 688c213e92e2345e50893e44a63065e1c3078812cba900302ac4313dc60905d456b8f9566affd10c1092088c1e84be62c846105a6237fcc3dde5456b2113e221 SHA512 baa8e86bf24f38e09175101a95c3b8d88167bc43f39d7b5cad781397105dd3ba179970c9b5ae155207bc216fd292f0b953f925c7a50e1a8899cf52014b2c237c +DIST firefox-136.0.3-tr.xpi 442291 BLAKE2B b0c569dcaac5eb9dc893f046d4aed66065c8d083bbe439935ee51da0c550759acdd36bc29aa76b7d060979e50825f492ca3d4a32f2bf901310d6f6dcd88fe584 SHA512 c28d360e7653ff24ee49188458c60d2ed04727f393009056d9e9298998c1f0d007688660f9374f2d2138711cfd9919bc64a1c20e72a4306fb3a22c977b3ba9ab +DIST firefox-136.0.3-trs.xpi 323925 BLAKE2B c09086565dcce723788478f41883fbdc51187b52926eb1040a17224b6459916212787a70143ff11838d62fd8e8913f74107295ba8232c9b0f80040462c69aa36 SHA512 2b9f0065fb8c160786e1300be00e1621fec1685af2862392e86ff96b88a925fede9876ca7115009ebad714428833fbb2717f9b56b87d3cd3dd0c26da2e877ea7 +DIST firefox-136.0.3-uk.xpi 508667 BLAKE2B a013e34b0f60a01dc2ddf466e4c4904b02496bfd72daf1a3c39e84d46bbdf06a376b6ffa54086f8a300175433beedb1ccc906d62bc405f35f3c9986d1d4f3339 SHA512 7fe22549a186d6325ffc2c3fa8fdcaee8270b4dacb32800c1d8a9eaa6b5b0ff66c29cda1ed1cace53b96f48d1c2bfe3c54cd53768feb36aae4e354eb1ec8f13d +DIST firefox-136.0.3-ur.xpi 371885 BLAKE2B 83fdbe70899b7a778aa477897a2e78a6ec46727e14b1f71ef6128c4271ecd1f85e8deaf72d8abf2eae243e206f839d4f5d4b015be2c98967eacbc72a9c30c7ae SHA512 a2d22e1c2cd4fc3a80eb3182d57a1c5fe702b012bf9554d5370e77d448dd8e59a11829651dd87582ca2b2e2c1905995508c5f057d61da9ce12547204c5b321e5 +DIST firefox-136.0.3-uz.xpi 305443 BLAKE2B f030fb0a26ba3dad3bb3e0bda4c8d6631e7f7d62554f78e0063fc1ba5776680a13ec16a2d8b98112f176258fa7f111ccff43438759ea88413ba04963b3349d3f SHA512 250a64dedcf7b46b167a8c84a633f4deb1073c5c5f1db04b22467a8b76b996b74a4e8bc2d0c03c94475570a77eb092b90cb871d46ad31a16b8973436e37dbc80 +DIST firefox-136.0.3-vi.xpi 463340 BLAKE2B cc36c247d4c03a5c975e93827915d1a872dcdfcb66553349317514b673a6b69cbc19d3db81184a5bb7a207f0d0b0c5c80c3afdc6ac1cebca35e39e7fe6377169 SHA512 58210aaa2521db00e7be263047f3491033204754ee6fde919b710909601c27044049e3cc62bcc8caa4006541dfe93be08e52a75993a17358da8ab1a97a7271cd +DIST firefox-136.0.3-xh.xpi 273257 BLAKE2B 6e07dd72d826ad4f42d9f40620ec20cb8d942f5987d963f73bc68116897977373e8a799bd02888aa667dd509935f8f4e163f4112fda951b184e597e14220c5cd SHA512 babbe1dc060a9724e3385938933b40a3c81418e6b979c39cfe0bf11a46c1533e111b243290403b4d9d844e05cc69a39e2197c0c1e9c8de00fb5ca663331b04c8 +DIST firefox-136.0.3-zh-CN.xpi 454860 BLAKE2B 7e348fc0966edc49d5846385e3cfc9dd07298ce54732bb2b7e39942620c513e4fe0eccba3eda01e1d0d3dd437dcf55a14d6e9eb76614a514c8df13c08f93ca19 SHA512 9dad343d44c142283731b86feb7736bc977d0e695321090840405a88130b064f75aee5d57e3254b5de3109ef877589964d0b96159f0e168c30aacc46c03c0d3e +DIST firefox-136.0.3-zh-TW.xpi 457685 BLAKE2B acd6fcf01ca1a18132b89f3f519684200ae8cc4ccb961abc0bfc416a61d2a567556bc4b8f762b8fdc4a48ff90bdfc58e0b049c3c6f7843eb4462d77cc4d04716 SHA512 4a033670cd88cda125543846deebfe49b2a6377bf514d3677688c50fb1425bb19e44f6d2c5ee99f04cd3ff949710fa8f09266bbe6fa16f778b751ac825e64553 +DIST firefox-136.0.3.source.tar.xz 601432848 BLAKE2B 7f9c686744273ae00edfb64f0ba12dc46bab901e3a23e8ece1e9633bbbda9e83d03c6373a76596a2d9126b541d25311d40204240d6220354820264346a485e2d SHA512 59cb54bc946aecea810169970aad4ba3f7b3092e56f15f86ff3d51fa2752c89632a057a1bda016f0005665ec5099d9b9f9a4786b9c02e3f5656eb2003b6a1747 DIST firefox-136.0.source.tar.xz 603708216 BLAKE2B 05f92682dc756998f1dd56cdbbf8a90a45cade9d8541e83edbbef07ce4cb66e6a3bfdef5e59bd824b2d6b13c49c6a587e9302779064deecd68ba6dbaf9300f9b SHA512 a2b7e74e8404138b294f7b3c5f1eaeaeb8ce84c9aad25379e8ec785a9686f42def9f8c119d4bc276dd371d13d7bebbe4b1b092af41500aa8c2b2c827971445b4 DIST wasi-sdk-25.0-arm64-linux.tar.gz 115160800 BLAKE2B 1ce22aaea87d0720d40d46ebdd96508c8fb0593b53c4489022fd5a1a9afb043a26a6e162a992d73454f612f2b6ab01e17a99c189c0c8b8c2d2d68fd96fabee1b SHA512 ef4eff22c1efec4dc5ab199d09d93ee0004f9fa67b32cac0030f8b6a40def10f714391cec8e803c200995dd8bfad3ebad9ec79b4195aa6b2ea61ea47a8b9e61f DIST wasi-sdk-25.0-x86_64-linux.tar.gz 114450290 BLAKE2B 07618828d4c25d67421aa72d38fc49bbff9052b8ecfe0fa9f4207e71880e9c650f458567cfa5bd389d5f830fcfee89142a77d33c29e7bccd1da7ddba2bc47b95 SHA512 716acc4b737ad6f51c6b32c3423612c03df9a3165bde3d6e24df5c86779b8be9463f5a79e620f2fc49707275563a6c9710242caca27e1ad9dd2c69e8fce8a766 @@ -731,5 +833,6 @@ EBUILD firefox-135.0.1.ebuild 41616 BLAKE2B 50fea2af895b88b2474ea399669b15d19986 EBUILD firefox-135.0.ebuild 41611 BLAKE2B e125c9d442d32b181c8f749ba913fa0c7517baf1f62269b9a51219b39283e97083cd307d6402de47d6f7d7f2171b1105e983568fff815b57d7a95448a0d3a631 SHA512 5c33e783ac6a4e4fab6fab992d1a80b3858cd7a422abe3ebcd28be5353d2879b605212f3d8f18a984aabc177df27d71c07ec3e627b878529e359f45ea283e055 EBUILD firefox-136.0.1.ebuild 41475 BLAKE2B 9db665931864ccfbb1d7d78342cdf38d423b86912bac60fdddb15dd4e8c3ba129023c4170c99d1633cda713d73e71c08f0b7562e398fa0899b60fd5f59abf519 SHA512 cac11a58d59677ebea8a07ecff58cdd7ba39a8c82a3983f3aaea7f43133ff6ac62355785f29aaefbf325269eb2b563cc17ef8b74c672f0be7a8d7c9bbd395fc1 EBUILD firefox-136.0.2.ebuild 41507 BLAKE2B 9fdedc6493118357ef72a59763b512cbda598acc7edf7ec4c800ba7fd4f409ed1622ff17a7291c354c90b8a94acacac441403b2113d8878d4969aa30ca202c88 SHA512 f10f81ed2d1628038ed229c7956f6facf486e2017d3e8f123a966959e4988e4a9e129b334cdc746610169c9db34875b4da1694ac9f719223ec72b290382ea8cd +EBUILD firefox-136.0.3.ebuild 41507 BLAKE2B d3cf1760d2d4e58d3728c0b95b7711b1539d72d34c2cd6fe51597d22167c2789c27d34af3347596774b29616f4bf4246ba8537a5e5a3b739e2a3496befec1691 SHA512 885c603846f10146f77a0a3b3c791cfda2a9f2089fee36b6de7ed36ad6ef92c595d6d316b571cccc183b27988a20998b48cacc8443ba38f552df1f775c7df45a EBUILD firefox-136.0.ebuild 41619 BLAKE2B 816ab75200ec8435fd4d5750623016f84b0ad1f2c5345063f9405baf20841db7043caf5f50b4dbd003d478afb6085bac8062f4b53637f1d556c5277bb4c3e6fc SHA512 6278b65b07dfd09660e78357d6a8a3df750bf224bc708b1f3d2f0dcd69015a787d90bcf62b1a94294e7c987e7d86813109ea1c1943db8b4660fa8bf139f1d7d1 MISC metadata.xml 2634 BLAKE2B 950ff18c250295b2f080f189b00e45ffa8b19a2b70d2a3877be3553579cc8771f0b0bf89a2648404d558009083f1e786114405114050846073c5a94fda9e00ae SHA512 6bc3f08bc9ddf6b65041bce581b839d4b9715e8e1dec25227c7a259805b48b5f2cf2c2c152e1170dee817c31e99adc6c73d1e7baeed4b625c1fafdc687792b51 diff --git a/www-client/firefox/firefox-136.0.3.ebuild b/www-client/firefox/firefox-136.0.3.ebuild new file mode 100644 index 000000000000..c1e39e2f2cfb --- /dev/null +++ b/www-client/firefox/firefox-136.0.3.ebuild @@ -0,0 +1,1371 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-136-patches-04.tar.xz" +FIREFOX_LOONG_PATCHSET="firefox-136-loong-patches-01.tar.xz" + +LLVM_COMPAT=( 17 18 19 ) + +# This will also filter rust versions that don't match LLVM_COMPAT in the non-clang path; this is fine. +RUST_NEEDS_LLVM=1 + +# If not building with clang we need at least rust 1.76 +RUST_MIN_VER=1.77.1 + +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" + +VIRTUALX_REQUIRED="manual" + +# Information about the bundled wasi toolchain from +# https://github.com/WebAssembly/wasi-sdk/ +WASI_SDK_VER=25.0 +WASI_SDK_LLVM_VER=19 + +MOZ_ESR= + +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" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.org/firefox" + SLOT="rapid" +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 autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \ + optfeature pax-utils python-any-r1 readme.gentoo-r1 rust toolchain-funcs virtualx xdg + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +DESCRIPTION="Firefox Web Browser" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]} + loong? ( + https://dev.gentoo.org/~xen0n/distfiles/www-client/${MOZ_PN}/${FIREFOX_LOONG_PATCHSET} + ) + wasm-sandbox? ( + amd64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz ) + arm64? ( https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz ) + )" + +S="${WORKDIR}/${PN}-${PV%_*}" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" + +IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-jpeg +system-libevent" +IUSE+=" +system-libvpx system-png +system-webp valgrind wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry wasm-sandbox" + +# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being llvm-19 based, and +# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19 is already stable in +# Gentoo so it should be widely adopted already - however, it might be possible to workaround +# the constraint simply by modifying CFLAGS when using clang-17/18. Will need to investigate (bmo#1905251) +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( jumbo-build ) + wasm-sandbox? ( llvm_slot_19 ) + wayland? ( dbus ) + wifi? ( dbus ) +" + +FF_ONLY_DEPEND="!www-client/firefox:0 + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + clang? ( + llvm-core/lld:${LLVM_SLOT} + pgo? ( llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] ) + ) + wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} ) + ') + app-alternatives/awk + app-arch/unzip + app-arch/zip + >=dev-util/cbindgen-0.26.0 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + || ( + gui-wm/tinywl + &2 + return 1 + fi + + if use clang && ! tc-ld-is-mold ; then + if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then + einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + if use pgo ; then + if ! has_version -b "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then + einfo "=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( fur ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( skr ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +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_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +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 +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif tc-is-lto ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + + # Get LTO from environment; export after this phase for use in src_configure (etc) + use_lto=no + + if [[ ${MERGE_TYPE} != binary ]] ; then + + if tc-is-lto; then + use_lto=yes + # LTO is handled via configure + filter-lto + fi + + if use pgo ; then + if ! has userpriv ${FEATURES} ; then + eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!" + fi + fi + + if [[ ${use_lto} = yes ]]; then + # -Werror=lto-type-mismatch -Werror=odr are going to fail with GCC, + # bmo#1516758, bgo#942288 + filter-flags -Werror=lto-type-mismatch -Werror=odr + fi + + # Ensure we have enough disk space to compile + if use pgo || use debug ; then + CHECKREQS_DISK_BUILD="14300M" + elif [[ ${use_lto} == "yes" ]] ; then + CHECKREQS_DISK_BUILD="10600M" + else + CHECKREQS_DISK_BUILD="7400M" + fi + + check-reqs_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + export use_lto + + 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 + + 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 + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} == "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + use loong && eapply "${WORKDIR}/firefox-loong-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use loong; then + # Only the LP64D ABI of LoongArch64 is actively supported among + # the wider Linux ecosystem, so the assumption is safe. + export RUST_TARGET="loongarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + elif use riscv ; then + # We can pretty safely rule out any 32-bit riscvs, but 64-bit riscvs also have tons of + # different ABIs available. riscv64gc-unknown-linux-musl seems to be the best working + # guess right now though. + elog "riscv detected, forcing a riscv64 target for now." + export RUST_TARGET="riscv64gc-unknown-linux-musl" + else + die "Unknown musl chost, please post a new bug with your rustc -vV along with emerge --info" + fi + fi + + # Pre-built wasm-sandbox path manipulation. + if use wasm-sandbox ; then + if use amd64 ; then + export wasi_arch="x86_64" + elif use arm64 ; then + export wasi_arch="arm64" + else + die "wasm-sandbox enabled on unknown/unsupported arch!" + fi + + sed -i \ + -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \ + -e "s:%%WASI_ARCH%%:${wasi_arch}:" \ + -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \ + -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \ + toolkit/moz.configure || die "Failed to update wasi-related paths." + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Respect choice for "jumbo-build" + # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 + if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then + local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} + elog "" + elog "jumbo-build defaults modified to ${my_files_per_unified_file}." + elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," + elog "if that fails try -jumbo-build before opening a bug report." + elog "" + + sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ + python/mozbuild/mozbuild/frontend/data.py || + die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" + sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ + js/src/moz.build || + die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + if use telemetry; then + export MOZILLA_OFFICIAL=1 + fi + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-wmf \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-ffi \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --enable-update-channel=${update_channel} + + # Whitelist to allow unkeyworded arches to build with "--disable-rust-simd" by default. + if use amd64 || use arm64 || use ppc64 || use loong || use riscv ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use loong || use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + elif use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # riscv-related options, bgo#947337, bgo#947338 + if use riscv ; then + mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit + mozconfig_add_options_ac 'Disable webrtc for RISC-V' --disable-webrtc + fi + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + mozconfig_use_enable valgrind + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + # wasm-sandbox + # Since graphite2 is one of the sandboxed libraries, system-graphite2 obviously can't work with +wasm-sandbox. + if use wasm-sandbox ; then + mozconfig_add_options_ac '+wasm-sandbox' --with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/" + else + mozconfig_add_options_ac 'no wasm-sandbox' --without-wasm-sandboxed-libraries + mozconfig_use_with system-harfbuzz system-graphite2 + fi + + if [[ ${use_lto} == "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + # PGO was moved outside lto block to allow building pgo without lto. + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use loong || use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on loong/ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + if use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + if use valgrind; then + sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die + fi + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold; then + # increase ulimit with mold+lto, bugs #892641, #907485 + if ! ulimit -n 16384 1>/dev/null 2>&1 ; then + ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from llvm-core/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + 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 gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + fi + fi + + 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 + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat "${FILESDIR}"/gentoo-telemetry-prefs.js >>"${GENTOO_PREFS}" || die "failed to set telemetry prefs" + 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="${S}/browser/branding/official" + + # Prefer the upstream svg file they use when packaging flatpak so it's always up-to-date. + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${S}"/taskcluster/docker/firefox-flatpak/firefox-symbolic.svg firefox-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^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + 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 + + if use gnome-shell ; then + # Install search provider for Gnome + insinto /usr/share/gnome-shell/search-providers/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini + + insinto /usr/share/dbus-1/services/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service + + # Toggle between rapid and esr desktop file names + if [[ -n ${MOZ_ESR} ]] ; then + sed -e "s/firefox.desktop/${desktop_filename}/g" \ + -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || + die "Failed to sed org.mozilla.firefox.search-provider.ini file." + fi + + # Make the dbus service aware of a previous session, bgo#939196 + sed -e \ + "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ + -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || + die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" + + # Update prefs to enable Gnome search provider + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" + pref("browser.gnome-search-provider.enabled", true); + EOF + fi + + # 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:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die + + readme.gentoo_create_doc +} + +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 + + # bug 835078 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not support the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + readme.gentoo_print_elog + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then + optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver + fi + + if ! has_version "sys-libs/glibc"; then + elog + elog "glibc not found! You won't be able to play DRM content." + elog "See Gentoo bug #910309 or upstream bug #1843683." + elog + fi +} diff --git a/www-client/google-chrome-beta/Manifest b/www-client/google-chrome-beta/Manifest index 03e52228fb76..770e48bedffb 100644 --- a/www-client/google-chrome-beta/Manifest +++ b/www-client/google-chrome-beta/Manifest @@ -1,3 +1,3 @@ -DIST google-chrome-beta_135.0.7049.28-1_amd64.deb 115667568 BLAKE2B c9b543b5221cdd99738a5fa723ad3cf9e8de47067f95e2dcffc0aded7200b567b7aaf18686940b6ac9c558b7af6ed0bd1ddbcf0c670847c1a87235678934e752 SHA512 799fec4476c3b6f886396de2c3e06ac1ffe4cb393b0e456a0697660aa3dcdd50398a059561282ff9d290d5bb8b63d3e724c6b8b1e0dabe2a8eafb7914a2d5839 -EBUILD google-chrome-beta-135.0.7049.28.ebuild 2884 BLAKE2B a63c2caf820e81c4e500728e985f1f13539fa37b68aa6f1a7a608bf338d4494bcc6758e10bf029612a04873c4967f7170067f63c4cec2f800bacb7449945ea48 SHA512 6dc93cef569c81e5acbc9c151e6b319eb796ddc60b7c9377e77be14ea47aad74e072f3e77e1664ae62aa2a5b60d75bd115572f451ca2ba9b38a6b309ec16c0f3 +DIST google-chrome-beta_135.0.7049.41-1_amd64.deb 115177956 BLAKE2B 88b71f2b0f686777b0571b7b9cacca88dc87d9f5171b09c5e653e241c53477cb869b4cc8790b5b3725bac7c357c658aa3dc520b5a1398cd21a3bfaa7471d3918 SHA512 c907da175145924fd17a93cb01fb7d754c85174d1789530bd3735812246f28c225501af2fc4a26612dc806b63e2a359c6c9bf932162a28e4f4958c96bdd4c0d8 +EBUILD google-chrome-beta-135.0.7049.41.ebuild 2884 BLAKE2B a63c2caf820e81c4e500728e985f1f13539fa37b68aa6f1a7a608bf338d4494bcc6758e10bf029612a04873c4967f7170067f63c4cec2f800bacb7449945ea48 SHA512 6dc93cef569c81e5acbc9c151e6b319eb796ddc60b7c9377e77be14ea47aad74e072f3e77e1664ae62aa2a5b60d75bd115572f451ca2ba9b38a6b309ec16c0f3 MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986 diff --git a/www-client/google-chrome-beta/google-chrome-beta-135.0.7049.28.ebuild b/www-client/google-chrome-beta/google-chrome-beta-135.0.7049.28.ebuild deleted file mode 100644 index 0e122f578036..000000000000 --- a/www-client/google-chrome-beta/google-chrome-beta-135.0.7049.28.ebuild +++ /dev/null @@ -1,125 +0,0 @@ -# Copyright 2011-2025 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="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 - 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 - - rm "${CHROME_HOME}/libqt5_shim.so" || die - 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-135.0.7049.41.ebuild b/www-client/google-chrome-beta/google-chrome-beta-135.0.7049.41.ebuild new file mode 100644 index 000000000000..0e122f578036 --- /dev/null +++ b/www-client/google-chrome-beta/google-chrome-beta-135.0.7049.41.ebuild @@ -0,0 +1,125 @@ +# Copyright 2011-2025 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="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 + 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 + + rm "${CHROME_HOME}/libqt5_shim.so" || die + 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-dev/Manifest b/www-client/microsoft-edge-dev/Manifest index 9253f3985780..3d329262cf7e 100644 --- a/www-client/microsoft-edge-dev/Manifest +++ b/www-client/microsoft-edge-dev/Manifest @@ -1,7 +1,7 @@ -DIST microsoft-edge-dev_135.0.3168.2-1_amd64.deb 169821762 BLAKE2B 260f90c807f05d3dfa2f2f5fbca0ea4efd2785f473f67500d3fb2136a793fb384d4ff8597e7dbad0417eace1402804b1a1010e0cc4b39f5e97b4036a2b17e284 SHA512 38f23002d12493deebee2123056c303a3fe75537b7d0277a901840bc1e374ad62b9cca1da02aa6ee83db2dc8e4400c6d78620734efb7160a3d0a2d53751b27cf DIST microsoft-edge-dev_135.0.3179.11-1_amd64.deb 169780558 BLAKE2B c6cb6b81ac65d10bd78b1b5e063b6a2ba7599ddf7df98c71602b60137abb44f9bafcd0499bb2349471e9f67424061b43c8a9b391dd4b6b28b0bcda950893543d SHA512 34442e8b16862be6bb87d946e5a7ab3d2b69c0a6feec96437ec99df07389d041f10d549503f8ad94fb3f5954c196bd992bbcb851462ce97e05d653d22938cb1f DIST microsoft-edge-dev_135.0.3179.7-1_amd64.deb 169856846 BLAKE2B 4466e64383b11b41794774f827f3b3465025a592a81ac5be758fc95accfbdf2883a63fdedf92e36098ef724acf7f6bf3163b749ce976d9d9ac9457572a77c236 SHA512 aad12a18bdcdd80f4ab4cae3af1106fd9e6e03d0945f968884ad662f8efdd9c3ca0b1853b615ddf672326fdb6db4939f9977eb5c7a30e505f23d4587cc7e1d1f -EBUILD microsoft-edge-dev-135.0.3168.2.ebuild 2613 BLAKE2B f76a8ef804be1c6ce2a02ed4f89a86fe4e93852987e2455d703651b63b2e3a7515d7c453e4696ba416f137016a1e87e9928aa569b5fe8d75863e6bd62648fb9c SHA512 425e0a07f892b9ab4e1acd0513e09d384f919079040ec5ca38608670f9d86e4d9a4f29a6f0bc1b3fb63fcb6e12cb3c8155089d4db8b3b8f49811a55d4f928317 +DIST microsoft-edge-dev_136.0.3209.2-1_amd64.deb 173183358 BLAKE2B 9c1cf0861521bd5915439b77340bc127c1b333dbd1d3b03ce60b91027c98e1e2324aae60faa32347fceb5190e5a203baf3ef6a642024d18b6ed6c70bfb4f8051 SHA512 58308b2cdc57749aff21a5ebd3c489338e229f48b288d6187f836294ef4135ad4eb2a1555902ad326c9b8ff7b4f976b808684b588a40545535b9b7f8f6d4c719 EBUILD microsoft-edge-dev-135.0.3179.11.ebuild 2613 BLAKE2B f76a8ef804be1c6ce2a02ed4f89a86fe4e93852987e2455d703651b63b2e3a7515d7c453e4696ba416f137016a1e87e9928aa569b5fe8d75863e6bd62648fb9c SHA512 425e0a07f892b9ab4e1acd0513e09d384f919079040ec5ca38608670f9d86e4d9a4f29a6f0bc1b3fb63fcb6e12cb3c8155089d4db8b3b8f49811a55d4f928317 EBUILD microsoft-edge-dev-135.0.3179.7.ebuild 2613 BLAKE2B f76a8ef804be1c6ce2a02ed4f89a86fe4e93852987e2455d703651b63b2e3a7515d7c453e4696ba416f137016a1e87e9928aa569b5fe8d75863e6bd62648fb9c SHA512 425e0a07f892b9ab4e1acd0513e09d384f919079040ec5ca38608670f9d86e4d9a4f29a6f0bc1b3fb63fcb6e12cb3c8155089d4db8b3b8f49811a55d4f928317 +EBUILD microsoft-edge-dev-136.0.3209.2.ebuild 2613 BLAKE2B f76a8ef804be1c6ce2a02ed4f89a86fe4e93852987e2455d703651b63b2e3a7515d7c453e4696ba416f137016a1e87e9928aa569b5fe8d75863e6bd62648fb9c SHA512 425e0a07f892b9ab4e1acd0513e09d384f919079040ec5ca38608670f9d86e4d9a4f29a6f0bc1b3fb63fcb6e12cb3c8155089d4db8b3b8f49811a55d4f928317 MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-135.0.3168.2.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-135.0.3168.2.ebuild deleted file mode 100644 index c97d2da1484c..000000000000 --- a/www-client/microsoft-edge-dev/microsoft-edge-dev-135.0.3168.2.ebuild +++ /dev/null @@ -1,119 +0,0 @@ -# Copyright 2011-2025 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 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 ) - 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 - - rm "${EDGE_HOME}/libqt5_shim.so" || die - 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-dev/microsoft-edge-dev-136.0.3209.2.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-136.0.3209.2.ebuild new file mode 100644 index 000000000000..c97d2da1484c --- /dev/null +++ b/www-client/microsoft-edge-dev/microsoft-edge-dev-136.0.3209.2.ebuild @@ -0,0 +1,119 @@ +# Copyright 2011-2025 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 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 ) + 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 + + rm "${EDGE_HOME}/libqt5_shim.so" || die + if ! use qt6; then + rm "${EDGE_HOME}/libqt6_shim.so" || die + fi + + pax-mark m "${EDGE_HOME}/msedge" +} diff --git a/www-client/opera-beta/Manifest b/www-client/opera-beta/Manifest index bc83fc35172f..d37072ec3cba 100644 --- a/www-client/opera-beta/Manifest +++ b/www-client/opera-beta/Manifest @@ -1,7 +1,7 @@ DIST opera-beta_118.0.5461.14_amd64.deb 128212496 BLAKE2B f0b8412c6f34baf32a4c8e00970b386246a0ab371d2a082aa197b19bb9881a9e6ff849ace030d92252e2e892a9f311cd0642b32f0b4fa019a9f31b8c254cbf5a SHA512 694e350de353b4361187c83a7cf0907a8c478d039e74f64c97cb462fcbd4bc860c1c00e0f0cb2abb4e98c513820b2c97803d2615c61bacd269d6bd32a99fc351 -DIST opera-beta_118.0.5461.4_amd64.deb 128203336 BLAKE2B 3deff2af8ca6233ef2280fad5668c54244ec2c1245c462d4f72aec9174412f80258b4169c3606fda085447a7c5c95e1dc36494744cc4c40473244426c8ff0866 SHA512 b2dbdf62b6a8675ea04df09a98b999283b827bd05ad465656cf0f062855b3d8623948bba8336830a636326a37bc7226778260c8758e1c879f8fb030db6ebe93f +DIST opera-beta_118.0.5461.18_amd64.deb 128189720 BLAKE2B 88dfd616508f51f04c90f5cdaf9ccb82e26b657a904b179983a75ea7b6914ee1c4656556984167125ed0409ba65f7580249fe8269dc8356b4192013c2a66f812 SHA512 93388ecad409c47d27d4840c74ba2c4fff1e3b2c8b42230da08fbc3af0aa6054e74869294af405f9688cebb98a62f7adb2e8c4f45c820c15ac9a3ff46d5ae463 DIST opera-beta_118.0.5461.7_amd64.deb 128208524 BLAKE2B 6f9a3e960abe4ca03fb9133a8280ea92ac52d8df060307eafb33aa44f4b07d8a8764c74052438b688b0ed63c93f500a0dc2297b85218e6fd0e84d6b6c0455c88 SHA512 d7b6b938ec9d38f1a5365bf58b0936ccd2867896c2e229f1f585f7de81245c428748094dde6ce3c310169689f63ce1cd937021f9c547be6a246798c06e4c9574 EBUILD opera-beta-118.0.5461.14.ebuild 4124 BLAKE2B 6a481715601d600561f656f6e3dde12ce16bdbc83857454f2643ca70fd503af858540f1a0bc3d1717f9cffb2e394d18669fc1bfcf6109d06e30bd3fac806d8f2 SHA512 a788134a4376d3967879ed99e536c9a584d978312f385f8a4805c2a9a406eda47928c3e23aa9009a82975f39b883cf9225d0fc72c9020b48fa69445a0f251372 -EBUILD opera-beta-118.0.5461.4.ebuild 4124 BLAKE2B 6a481715601d600561f656f6e3dde12ce16bdbc83857454f2643ca70fd503af858540f1a0bc3d1717f9cffb2e394d18669fc1bfcf6109d06e30bd3fac806d8f2 SHA512 a788134a4376d3967879ed99e536c9a584d978312f385f8a4805c2a9a406eda47928c3e23aa9009a82975f39b883cf9225d0fc72c9020b48fa69445a0f251372 +EBUILD opera-beta-118.0.5461.18.ebuild 4124 BLAKE2B 6a481715601d600561f656f6e3dde12ce16bdbc83857454f2643ca70fd503af858540f1a0bc3d1717f9cffb2e394d18669fc1bfcf6109d06e30bd3fac806d8f2 SHA512 a788134a4376d3967879ed99e536c9a584d978312f385f8a4805c2a9a406eda47928c3e23aa9009a82975f39b883cf9225d0fc72c9020b48fa69445a0f251372 EBUILD opera-beta-118.0.5461.7.ebuild 4124 BLAKE2B 6a481715601d600561f656f6e3dde12ce16bdbc83857454f2643ca70fd503af858540f1a0bc3d1717f9cffb2e394d18669fc1bfcf6109d06e30bd3fac806d8f2 SHA512 a788134a4376d3967879ed99e536c9a584d978312f385f8a4805c2a9a406eda47928c3e23aa9009a82975f39b883cf9225d0fc72c9020b48fa69445a0f251372 MISC metadata.xml 544 BLAKE2B e8594a0cb9a73ac5901ece78db220822043dca9faec994810af426f96e2ece7fdb069c5f1d639f66d1236ec83e6c46e50bd21c49f8a075cf0de41c9db9afd8a0 SHA512 2361ebdde2707166e465058b41a893b4c14db7c7ba8f4fe34f7ab34da4275f0af691e55881232a9253f5d793ff76e61d57689f56dd8ab879fc3ecb3294fc8777 diff --git a/www-client/opera-beta/opera-beta-118.0.5461.18.ebuild b/www-client/opera-beta/opera-beta-118.0.5461.18.ebuild new file mode 100644 index 000000000000..e0100498bd55 --- /dev/null +++ b/www-client/opera-beta/opera-beta-118.0.5461.18.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2025 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="132" +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 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} ) + ) + 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 + + rm "${OPERA_HOME}/libqt5_shim.so" || die + 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-beta/opera-beta-118.0.5461.4.ebuild b/www-client/opera-beta/opera-beta-118.0.5461.4.ebuild deleted file mode 100644 index e0100498bd55..000000000000 --- a/www-client/opera-beta/opera-beta-118.0.5461.4.ebuild +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright 1999-2025 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="132" -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 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} ) - ) - 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 - - rm "${OPERA_HOME}/libqt5_shim.so" || die - 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/Manifest b/www-client/opera-developer/Manifest index cd88a30904f3..42737903b253 100644 --- a/www-client/opera-developer/Manifest +++ b/www-client/opera-developer/Manifest @@ -1,7 +1,7 @@ -DIST opera-developer_119.0.5467.0_amd64.deb 128203124 BLAKE2B 5be559a74b960c20ae6d7914ed6dcda1d22018b1a6aef8319f2b0295a9dde9959c3c9e3c86ecbff7860f9883474eac5982a12dea4ca4cc1b5f763b2cfe422352 SHA512 f152b2e4810987183ab116ea3f829beea0c4c72c5296702dd752ecb08d8fbb5fa427332b41290ed1bb71a65c11b89fa97ba42bf1b132eeb52b78c96b01ef008b DIST opera-developer_119.0.5474.0_amd64.deb 128244460 BLAKE2B dfd93dffe69e66d435d1561514e25fdd08746860f1c6803ae865e04341713739b7c4dc37aabc789a6ab21e50ce8e2482f627870e5e171c449637b497be1ad6d8 SHA512 bdfd7e67ca7b3dd73c42110fe206089d68df4fbda83f2d776f73d11de5244502f6a98c94cdb2b333c36443d6428ccdacbd5a6af9554019f733cb4208a7ac0f5d DIST opera-developer_119.0.5481.0_amd64.deb 128286540 BLAKE2B bab006ea7efd8e04aab85a877d288353bcc38a6201eb133cc00e96382ee2ef4b816c13b8ab5cdc08011dbe2c3e1a33f38343d84bc5033acadbbc0174ccac2b90 SHA512 d7b1d4c26d27225af4d3cf5b24a742706106f55dbca4ecc707538881e30367859c220567a8f067b9db276e1e762e78cdebfb7d77c1737d94569e0dbf00932ce3 -EBUILD opera-developer-119.0.5467.0.ebuild 4124 BLAKE2B 6a481715601d600561f656f6e3dde12ce16bdbc83857454f2643ca70fd503af858540f1a0bc3d1717f9cffb2e394d18669fc1bfcf6109d06e30bd3fac806d8f2 SHA512 a788134a4376d3967879ed99e536c9a584d978312f385f8a4805c2a9a406eda47928c3e23aa9009a82975f39b883cf9225d0fc72c9020b48fa69445a0f251372 +DIST opera-developer_119.0.5482.0_amd64.deb 128294616 BLAKE2B c8a2ddef57cd6418e2e6da51a350201325ef8576b88b52cb21c94c59ee040e499b2d44717e8731a10ca613540be93abbb9764e839095394e19ea7fa713bcf93c SHA512 c6e50ecbb6a8f23244c4e63bdf68761e7f4fccc9cd55be447817d2fada569ca57243e9952af7abdbf9ee98feb35987bf35820c9a2ab23ba5d04b2eed418db5d3 EBUILD opera-developer-119.0.5474.0.ebuild 4124 BLAKE2B 6a481715601d600561f656f6e3dde12ce16bdbc83857454f2643ca70fd503af858540f1a0bc3d1717f9cffb2e394d18669fc1bfcf6109d06e30bd3fac806d8f2 SHA512 a788134a4376d3967879ed99e536c9a584d978312f385f8a4805c2a9a406eda47928c3e23aa9009a82975f39b883cf9225d0fc72c9020b48fa69445a0f251372 EBUILD opera-developer-119.0.5481.0.ebuild 4124 BLAKE2B ac1f30e502a14cbeacdbcee068c5cb7e40b4382c58d48a91b3e80485e9355c0e7915c4a92081a9c083eee74e54ab80a05f9621456b21b8a4014bbdae38bca533 SHA512 ee1d05789c7cc2eb9c7a0ae96e4fd21d5d310811e718622096bc991a7d4f59e168ddcd1fe8139c929b8094e97892bab8ad47bb92b72fa6a38cf98fee246a57b0 +EBUILD opera-developer-119.0.5482.0.ebuild 4124 BLAKE2B ac1f30e502a14cbeacdbcee068c5cb7e40b4382c58d48a91b3e80485e9355c0e7915c4a92081a9c083eee74e54ab80a05f9621456b21b8a4014bbdae38bca533 SHA512 ee1d05789c7cc2eb9c7a0ae96e4fd21d5d310811e718622096bc991a7d4f59e168ddcd1fe8139c929b8094e97892bab8ad47bb92b72fa6a38cf98fee246a57b0 MISC metadata.xml 544 BLAKE2B e8594a0cb9a73ac5901ece78db220822043dca9faec994810af426f96e2ece7fdb069c5f1d639f66d1236ec83e6c46e50bd21c49f8a075cf0de41c9db9afd8a0 SHA512 2361ebdde2707166e465058b41a893b4c14db7c7ba8f4fe34f7ab34da4275f0af691e55881232a9253f5d793ff76e61d57689f56dd8ab879fc3ecb3294fc8777 diff --git a/www-client/opera-developer/opera-developer-119.0.5467.0.ebuild b/www-client/opera-developer/opera-developer-119.0.5467.0.ebuild deleted file mode 100644 index e0100498bd55..000000000000 --- a/www-client/opera-developer/opera-developer-119.0.5467.0.ebuild +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright 1999-2025 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="132" -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 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} ) - ) - 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 - - rm "${OPERA_HOME}/libqt5_shim.so" || die - 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-119.0.5482.0.ebuild b/www-client/opera-developer/opera-developer-119.0.5482.0.ebuild new file mode 100644 index 000000000000..e9edab600855 --- /dev/null +++ b/www-client/opera-developer/opera-developer-119.0.5482.0.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2025 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="133" +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 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} ) + ) + 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 + + rm "${OPERA_HOME}/libqt5_shim.so" || die + 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 45cffb0bafa6..e35e876bc312 100644 --- a/www-client/opera/Manifest +++ b/www-client/opera/Manifest @@ -1,3 +1,3 @@ -DIST opera-stable_117.0.5408.142_amd64.deb 126786092 BLAKE2B 533085a67c2eacce6182ea3cbb07a715b490e141b6d1c015d33c0333bbdc8a5119d2aa885ec022e163a064a49cec21f9d8cbdd1b1dd7fb0445cc02dbd7ffc511 SHA512 cf684002497b2d82a7397747e083307e78fe9f164c4ec85a11179a322fe4ee98d81850c1c11038e95373518f53dc5251005b161a93539ccf4849df6e59a05cfb -EBUILD opera-117.0.5408.142.ebuild 4123 BLAKE2B 364dfd913d3306bdfe909f9c3a2fb26479c14f015732e439d569d01d9616946dca4059e5f7ab835186ee27a9aab29c937cb9008f4ed7c738dbb5ed2e3af628a6 SHA512 f877a330f8b0f5951014d1e14b803a70960a1da8190085ebbbb18aaa4aea5309422697db5eb81d27deb0fbd4ec14b42a4a46dbea486b4b99bdf4e90e62de2fca +DIST opera-stable_117.0.5408.154_amd64.deb 126781068 BLAKE2B 531c667deb7b3a13cacd32c835cc9ca056c89444e4c570767e242869f9e4261fa37fd3e94f93c36606db127b6084f131074a587648afb06ce77f810a28e56182 SHA512 e188d5fa7537bf20b4f146c8503fde199c7668c56b2a9ab025b0d036e3cc49a9dd705baed05639b1324037a9c26eb94522491f88d874d37aab3ab1e8174adb2b +EBUILD opera-117.0.5408.154.ebuild 4123 BLAKE2B 364dfd913d3306bdfe909f9c3a2fb26479c14f015732e439d569d01d9616946dca4059e5f7ab835186ee27a9aab29c937cb9008f4ed7c738dbb5ed2e3af628a6 SHA512 f877a330f8b0f5951014d1e14b803a70960a1da8190085ebbbb18aaa4aea5309422697db5eb81d27deb0fbd4ec14b42a4a46dbea486b4b99bdf4e90e62de2fca MISC metadata.xml 544 BLAKE2B 94b2f6807c021794769fc62b041c69bd08a0d307c51db96109bd45a1fff240d586c51daa91e894055e47291505750f07e9054b6b1b364a691c18f5711acbe9b4 SHA512 691c7b62fa7c8a46e4cc981a2f211a1609b1c57620aca668b001eeaa2cbcd2f38299680c4707a73a8f32ee19b054cd131a2b09600bac30b8530af35142694ff7 diff --git a/www-client/opera/opera-117.0.5408.142.ebuild b/www-client/opera/opera-117.0.5408.142.ebuild deleted file mode 100644 index 795df09e65bf..000000000000 --- a/www-client/opera/opera-117.0.5408.142.ebuild +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright 1999-2025 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="132" -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 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} ) - ) - 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 - - rm "${OPERA_HOME}/libqt5_shim.so" || die - 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-117.0.5408.154.ebuild b/www-client/opera/opera-117.0.5408.154.ebuild new file mode 100644 index 000000000000..795df09e65bf --- /dev/null +++ b/www-client/opera/opera-117.0.5408.154.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2025 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="132" +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 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} ) + ) + 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 + + rm "${OPERA_HOME}/libqt5_shim.so" || die + 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/vivaldi-snapshot/Manifest b/www-client/vivaldi-snapshot/Manifest index 4d88303c897e..c0c195def6ad 100644 --- a/www-client/vivaldi-snapshot/Manifest +++ b/www-client/vivaldi-snapshot/Manifest @@ -1,9 +1,9 @@ -DIST vivaldi-snapshot_7.2.3639.3-1_amd64.deb 124598940 BLAKE2B 8c9cfd7cd3ee8b80dc126df3096a7ccc3a904eae1c28d9da96d851009a4a3c37bf7849c1ae41664e2269e6e18f367bd9da2b5eecf3f3cbfc60527f082ed82209 SHA512 d53413c088ea4afa41ffd7d9943cf919b4c76e6af489c6a0d0d42cf84798a9eb1e4a2600d8b79d731c46c08dbf20aacc7340d92f9248923f370e29584f97274a -DIST vivaldi-snapshot_7.2.3639.3-1_arm64.deb 115430020 BLAKE2B 987a754389c659055c67da9bb88e7336679cdfbad1e00a1d13ce29a5428c4cf16174426b8c9d72da27ae073aae64cec64eff73c7c8992764240a0763721528f9 SHA512 6c8788e14a92fe8794af9745e7744f8592a4554e329faed28826a2785bd3585a4b860d02cc81d23ed49975840306925387091837728a5f8b5afd8b1878da1393 -DIST vivaldi-snapshot_7.2.3639.3-1_armhf.deb 116558260 BLAKE2B d983e516682d549264d941856154933a34d58effcee0e2f933c366320ef4efcc29aa0b9baa1d3d580c3b7657f77ba24232b412e6f937edba50438a0d6922d1c7 SHA512 61d438629eb273fb489ddffa1ee07ec981b5de2a5ee19c9bf6ed1552f4fbf7543e9a2bc9cbb04c9679edf7753f504ed8a14d61ba6ba2e39f51cd1e935ea36396 DIST vivaldi-snapshot_7.2.3640.3-1_amd64.deb 124613680 BLAKE2B 98802ae476b458cf144edae2053cb0b634f5b2d15dd3635bb9c4827ce43e1c29d8fb525b0471c6c7ad21ddafa77e5e860406f791d17f800a26db578065ec3c35 SHA512 185c13ecb90539dce29ecf92890d489f75d0033b38133efd72cf6c9511417b269bf7b70a6527d602b17024e85c4bd6ba714894acf5fc852d7f770b8d81ae787e DIST vivaldi-snapshot_7.2.3640.3-1_arm64.deb 115444540 BLAKE2B a93d2a153f803cf877f4c2ede5096559d7f0090891c9016a1d84add136f9387513097cc370e136a93230f3ec90860bedab175893718250d2f42ca13a5c86f3d7 SHA512 881e6f90ab9b63792bd11ca1150e84a9cdd826236e7d8191c8bb856fe7caf27b29be039dca23f704ff146708ec89bb5b96eca67cd20f90a60074dfce706ee25b DIST vivaldi-snapshot_7.2.3640.3-1_armhf.deb 116551972 BLAKE2B 4ab4743a1eb8c8db3d9072b43c841c697c1417fd2b954dd742b3742d919c5008cb782aea7200d83338bf98a4c091ea78da780fc94e9e79d80b97b31fa5a83b8b SHA512 3145c17aba89d47a76159295dd80ddcabde5289b00114dc27ebfa98f3ca9f14508bc42b70a8fa0168c105d7550b697461ddca126a67e381378c838140817f545 -EBUILD vivaldi-snapshot-7.2.3639.3.ebuild 3952 BLAKE2B 3b990be484ae7b764ea19a98aa97f6248999229fdbab49d51eba430fd5ef903a443f1dbb3b8656c7dab030618e653ccf306ab8d29e2e95b447141ca24c60f7f0 SHA512 e8254141d32a0a4a325722f6fefa05815ccb1085877f67b275f6c4be321654e322956821ea5a237b397966ca06d869be09fde537c1d9c53b6e6c49a61093b37f +DIST vivaldi-snapshot_7.2.3641.3-1_amd64.deb 124627684 BLAKE2B 7534559f593bb0d4ccc722acd0550391d324ce5ef3fa2788637283f1aa40797d8b44c75146f617279ed8f2d289deb456ca4daf2b839d67fb7f96f9a16743cb72 SHA512 edbcb9ff0d664d639aeaa4b7ce2e379c6fa8a454e560de7a5220f827b008af46eb822d14b8b49d60cd5544c2204d0257dbdd635db37cffdd664d9edd9fbc206a +DIST vivaldi-snapshot_7.2.3641.3-1_arm64.deb 115579680 BLAKE2B f12a7739c7a5fbac5567bbaa5613ee1f9a28594e57ad258067b101d0f611bffb42bb87fc83f6ed3293d4a9614a52cd6fc1bd663eb2ae85f207475cb34a32e457 SHA512 49cf598661cfc2b7ed6cd6c463adab875945c0d216c9107ffad972a56c8ac7b052b1be1037328825fbfb3d81c17ae21b7ec2bf28b14aeb1321ec46436e0ec0d5 +DIST vivaldi-snapshot_7.2.3641.3-1_armhf.deb 116561184 BLAKE2B 7400e001c72e9411f8f3458e51a4ca0a35b318d758aff1bbacb374ce956e2c54ff4edb6246bba17f23b8e3ac02ab3960fe882a5f36c912e01b11db83d2b78acb SHA512 3b448602e4ab6567684e1eece2e51d2a8072aa4cfde6f80e661758c73ba53aef677bc896e9f30a481f1a3ecd5190c1117785cd855b5f5048b2f05d5e3b9a65af EBUILD vivaldi-snapshot-7.2.3640.3.ebuild 3952 BLAKE2B 3b990be484ae7b764ea19a98aa97f6248999229fdbab49d51eba430fd5ef903a443f1dbb3b8656c7dab030618e653ccf306ab8d29e2e95b447141ca24c60f7f0 SHA512 e8254141d32a0a4a325722f6fefa05815ccb1085877f67b275f6c4be321654e322956821ea5a237b397966ca06d869be09fde537c1d9c53b6e6c49a61093b37f +EBUILD vivaldi-snapshot-7.2.3641.3.ebuild 3952 BLAKE2B 3b990be484ae7b764ea19a98aa97f6248999229fdbab49d51eba430fd5ef903a443f1dbb3b8656c7dab030618e653ccf306ab8d29e2e95b447141ca24c60f7f0 SHA512 e8254141d32a0a4a325722f6fefa05815ccb1085877f67b275f6c4be321654e322956821ea5a237b397966ca06d869be09fde537c1d9c53b6e6c49a61093b37f MISC metadata.xml 634 BLAKE2B fa3f150ffb5f5da3780098747f71d304c9ceb9828cd4dc7c586ba7032a7ba0b3065c25e5dd84fdab7b4302db8b4c848f116eb5b329f440f8a38837dca005a570 SHA512 f226a355a39cec36b5d6f3f88e7f2132693b5dcf51bdec4676d17f608f16ced52d6b9c5dfac2d38f2245cdf6ff7279286034e77ea119cfb4b7240500f612968e diff --git a/www-client/vivaldi-snapshot/vivaldi-snapshot-7.2.3639.3.ebuild b/www-client/vivaldi-snapshot/vivaldi-snapshot-7.2.3639.3.ebuild deleted file mode 100644 index c7399dace195..000000000000 --- a/www-client/vivaldi-snapshot/vivaldi-snapshot-7.2.3639.3.ebuild +++ /dev/null @@ -1,220 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CHROMIUM_VERSION="134" -CHROMIUM_LANGS=" - af - am - ar - az - be - bg - bn - ca - ca-valencia - cs - da - de - de-CH - el - en-GB - en-US - eo - es - es-419 - es-PE - et - eu - fa - fi - fil - fr - fy - gd - gl - gu - he - hi - hr - hu - hy - id - io - is - it - ja - jbo - ka - kab - kn - ko - lt - lv - mk - ml - mr - ms - nb - nl - nn - pa - pl - pt-BR - pt-PT - ro - ru - sc - sk - sl - sq - sr - sr-Latn - sv - sw - ta - te - th - tr - uk - ur - vi - zh-CN - zh-TW -" - -inherit chromium-2 desktop linux-info toolchain-funcs unpacker xdg - -VIVALDI_PN="${PN/%vivaldi/vivaldi-stable}" -VIVALDI_HOME="opt/${PN}" -DESCRIPTION="A browser for our friends" -HOMEPAGE="https://vivaldi.com/" - -if [[ ${PV} = *_p* ]]; then - DEB_REV="${PV#*_p}" -else - DEB_REV=1 -fi - -VIVALDI_BASE_URI="https://downloads.vivaldi.com/${VIVALDI_PN#vivaldi-}/${VIVALDI_PN}_${PV%_p*}-${DEB_REV}_" - -SRC_URI=" - amd64? ( ${VIVALDI_BASE_URI}amd64.deb ) - arm? ( ${VIVALDI_BASE_URI}armhf.deb ) - arm64? ( ${VIVALDI_BASE_URI}arm64.deb ) -" - -S="${WORKDIR}" -LICENSE="Vivaldi" -SLOT="0" -KEYWORDS="-* ~amd64 ~arm ~arm64" -IUSE="ffmpeg-chromium gtk proprietary-codecs qt6 widevine" -RESTRICT="bindist mirror" -#REQUIRED_USE="ffmpeg-chromium? ( proprietary-codecs )" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-print/cups - sys-apps/dbus - x11-libs/cairo - x11-libs/libdrm - x11-libs/libX11 - x11-libs/libxcb - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libxkbcommon - x11-libs/libXrandr - x11-libs/pango - gtk? ( gui-libs/gtk:4 x11-libs/gtk+:3 ) - proprietary-codecs? ( - !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) - ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} ) - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - widevine? ( www-plugins/chrome-binary-plugins ) -" - -QA_PREBUILT="*" -CONFIG_CHECK="~CPU_FREQ" - -src_unpack() { - unpack_deb ${A} -} - -src_prepare() { - # Rename docs directory to our needs. - mv usr/share/doc/{${VIVALDI_PN},${PF}}/ || die - - # Decompress the docs. - gunzip usr/share/doc/${PF}/changelog.gz || die - - # The appdata directory is deprecated. - mv usr/share/{appdata,metainfo}/ || die - - # Remove cron job for updating from Debian repos. - rm etc/cron.daily/${PN} ${VIVALDI_HOME}/cron/${PN} || die - rmdir etc/{cron.daily/,} ${VIVALDI_HOME}/cron/ || die - - # Remove scripts that will most likely break things. - rm -vf ${VIVALDI_HOME}/update-{ffmpeg,widevine} || die - - pushd ${VIVALDI_HOME}/locales > /dev/null || die - rm ja-KS.pak || die # No flag for Kansai as not in IETF list. - rm kmr.pak || die # No flag for Kurmanji. - chromium_remove_language_paks - popd > /dev/null || die - - if use proprietary-codecs; then - einfo Bundled $($(tc-getSTRINGS) ${VIVALDI_HOME}/lib/libffmpeg.so | grep -m1 "^FFmpeg version ") - rm ${VIVALDI_HOME}/lib/libffmpeg.so || die - rmdir ${VIVALDI_HOME}/lib || die - fi - - # Qt5 is obsolete now. - rm ${VIVALDI_HOME}/libqt5_shim.so || die - - if ! use qt6; then - rm ${VIVALDI_HOME}/libqt6_shim.so || die - fi - - eapply_user -} - -src_install() { - mv */ "${D}" || die - dosym ../../${VIVALDI_HOME}/${PN} /usr/bin/${VIVALDI_PN} - fperms 4711 /${VIVALDI_HOME}/vivaldi-sandbox - - local logo size - for logo in "${ED}"/${VIVALDI_HOME}/product_logo_*.png; do - size=${logo##*_} - size=${size%.*} - newicon -s "${size}" "${logo}" ${PN}.png - done - - if use proprietary-codecs; then - dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \ - /${VIVALDI_HOME}/libffmpeg.so.$(ver_cut 1-2) - fi - - if use widevine; then - dosym ../../usr/$(get_libdir)/chromium-browser/WidevineCdm \ - /${VIVALDI_HOME}/WidevineCdm - else - rm "${ED}"/${VIVALDI_HOME}/WidevineCdm || die - fi - - case ${PN} in - vivaldi) dosym ${VIVALDI_PN} /usr/bin/${PN} ;; - vivaldi-snapshot) dosym ${PN} /${VIVALDI_HOME}/vivaldi ;; - esac -} diff --git a/www-client/vivaldi-snapshot/vivaldi-snapshot-7.2.3641.3.ebuild b/www-client/vivaldi-snapshot/vivaldi-snapshot-7.2.3641.3.ebuild new file mode 100644 index 000000000000..c7399dace195 --- /dev/null +++ b/www-client/vivaldi-snapshot/vivaldi-snapshot-7.2.3641.3.ebuild @@ -0,0 +1,220 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CHROMIUM_VERSION="134" +CHROMIUM_LANGS=" + af + am + ar + az + be + bg + bn + ca + ca-valencia + cs + da + de + de-CH + el + en-GB + en-US + eo + es + es-419 + es-PE + et + eu + fa + fi + fil + fr + fy + gd + gl + gu + he + hi + hr + hu + hy + id + io + is + it + ja + jbo + ka + kab + kn + ko + lt + lv + mk + ml + mr + ms + nb + nl + nn + pa + pl + pt-BR + pt-PT + ro + ru + sc + sk + sl + sq + sr + sr-Latn + sv + sw + ta + te + th + tr + uk + ur + vi + zh-CN + zh-TW +" + +inherit chromium-2 desktop linux-info toolchain-funcs unpacker xdg + +VIVALDI_PN="${PN/%vivaldi/vivaldi-stable}" +VIVALDI_HOME="opt/${PN}" +DESCRIPTION="A browser for our friends" +HOMEPAGE="https://vivaldi.com/" + +if [[ ${PV} = *_p* ]]; then + DEB_REV="${PV#*_p}" +else + DEB_REV=1 +fi + +VIVALDI_BASE_URI="https://downloads.vivaldi.com/${VIVALDI_PN#vivaldi-}/${VIVALDI_PN}_${PV%_p*}-${DEB_REV}_" + +SRC_URI=" + amd64? ( ${VIVALDI_BASE_URI}amd64.deb ) + arm? ( ${VIVALDI_BASE_URI}armhf.deb ) + arm64? ( ${VIVALDI_BASE_URI}arm64.deb ) +" + +S="${WORKDIR}" +LICENSE="Vivaldi" +SLOT="0" +KEYWORDS="-* ~amd64 ~arm ~arm64" +IUSE="ffmpeg-chromium gtk proprietary-codecs qt6 widevine" +RESTRICT="bindist mirror" +#REQUIRED_USE="ffmpeg-chromium? ( proprietary-codecs )" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-print/cups + sys-apps/dbus + x11-libs/cairo + x11-libs/libdrm + x11-libs/libX11 + x11-libs/libxcb + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libxkbcommon + x11-libs/libXrandr + x11-libs/pango + gtk? ( gui-libs/gtk:4 x11-libs/gtk+:3 ) + proprietary-codecs? ( + !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) + ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} ) + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + widevine? ( www-plugins/chrome-binary-plugins ) +" + +QA_PREBUILT="*" +CONFIG_CHECK="~CPU_FREQ" + +src_unpack() { + unpack_deb ${A} +} + +src_prepare() { + # Rename docs directory to our needs. + mv usr/share/doc/{${VIVALDI_PN},${PF}}/ || die + + # Decompress the docs. + gunzip usr/share/doc/${PF}/changelog.gz || die + + # The appdata directory is deprecated. + mv usr/share/{appdata,metainfo}/ || die + + # Remove cron job for updating from Debian repos. + rm etc/cron.daily/${PN} ${VIVALDI_HOME}/cron/${PN} || die + rmdir etc/{cron.daily/,} ${VIVALDI_HOME}/cron/ || die + + # Remove scripts that will most likely break things. + rm -vf ${VIVALDI_HOME}/update-{ffmpeg,widevine} || die + + pushd ${VIVALDI_HOME}/locales > /dev/null || die + rm ja-KS.pak || die # No flag for Kansai as not in IETF list. + rm kmr.pak || die # No flag for Kurmanji. + chromium_remove_language_paks + popd > /dev/null || die + + if use proprietary-codecs; then + einfo Bundled $($(tc-getSTRINGS) ${VIVALDI_HOME}/lib/libffmpeg.so | grep -m1 "^FFmpeg version ") + rm ${VIVALDI_HOME}/lib/libffmpeg.so || die + rmdir ${VIVALDI_HOME}/lib || die + fi + + # Qt5 is obsolete now. + rm ${VIVALDI_HOME}/libqt5_shim.so || die + + if ! use qt6; then + rm ${VIVALDI_HOME}/libqt6_shim.so || die + fi + + eapply_user +} + +src_install() { + mv */ "${D}" || die + dosym ../../${VIVALDI_HOME}/${PN} /usr/bin/${VIVALDI_PN} + fperms 4711 /${VIVALDI_HOME}/vivaldi-sandbox + + local logo size + for logo in "${ED}"/${VIVALDI_HOME}/product_logo_*.png; do + size=${logo##*_} + size=${size%.*} + newicon -s "${size}" "${logo}" ${PN}.png + done + + if use proprietary-codecs; then + dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \ + /${VIVALDI_HOME}/libffmpeg.so.$(ver_cut 1-2) + fi + + if use widevine; then + dosym ../../usr/$(get_libdir)/chromium-browser/WidevineCdm \ + /${VIVALDI_HOME}/WidevineCdm + else + rm "${ED}"/${VIVALDI_HOME}/WidevineCdm || die + fi + + case ${PN} in + vivaldi) dosym ${VIVALDI_PN} /usr/bin/${PN} ;; + vivaldi-snapshot) dosym ${PN} /${VIVALDI_HOME}/vivaldi ;; + esac +} diff --git a/www-client/vivaldi/Manifest b/www-client/vivaldi/Manifest index ae852dc7856a..4eefb2e8368c 100644 --- a/www-client/vivaldi/Manifest +++ b/www-client/vivaldi/Manifest @@ -1,9 +1,9 @@ -DIST vivaldi-stable_7.2.3621.63-1_amd64.deb 124736228 BLAKE2B 2fc63c82fde07bc7da4cbb789d439173e122b69433e53b955e65678f67e69d4251337795395330bb59cd0c18529cef2db6dc76d5e31a721d7c992dc94e2a6938 SHA512 7bc22b82af1ccd341194a4b0b8ffd2294082139bc07399f67031207d48fa9b17c4c621c60e663361cc26596889ebe4b5ed5a21b3c7b22bc7695da46255d01d0d -DIST vivaldi-stable_7.2.3621.63-1_arm64.deb 115485452 BLAKE2B 61b5e5bc2fb978ba6c482082ec5b30f89afbb7983f1af6e658f5368c62c60e4099eecef1aa2d5d07da1241c216599b2e7a89193b9f707057ac89e7b7d993b1a6 SHA512 d5ba09bf4abbb02f4ebbcb9ec0ce92a0ea2b420c89e3a7661c9eb43bd3153545a8756f09c9baf938599fd83ac05d00e5858854db09ae745751cf2df7a47159d0 -DIST vivaldi-stable_7.2.3621.63-1_armhf.deb 116632112 BLAKE2B d39d13a85ce7f49578c2120c426d88f66c0ec71045d3988587e24ee74450d9b488557b9cf0386b2512e7f6cb9d26cdf7d1bd62cf2950683c893fbca1c0649c04 SHA512 2d03ec173be37ffdd28cd7dc9463f2ca94a1131960e5ada9160ca2744db50c1ae73f3b055ade44b96264bc40c810a74e584bfcfdf7a7bc7b007cd9f4572552b8 DIST vivaldi-stable_7.2.3621.67-1_amd64.deb 124663328 BLAKE2B 4b6ee85f164771939dac4f9d4ce05542d5dbe150d4bb50245cf21ea413be83735c0c4078d1dac7f552c32556c9d038d9372cd1e1827b86cd6422964679872220 SHA512 53c9032f0ef632ea68b41753e3b165c4905b086572ca67afd430d4f9cdb0e468245f985ebd939dcb43e2300e239288bf6d7a07a487963d0b0b1cab7f9349e616 DIST vivaldi-stable_7.2.3621.67-1_arm64.deb 115509020 BLAKE2B 9eba5efb03a8671cc12c66e8e4a90fcb93c39583d2a49d2972fd1c6f910b44fb0ca6fa5800038e66947df1f4bbb3cbdde0a0e38a89168538a8f561e9ef703b7d SHA512 b6a640609eb4653bc5a09f5c0f857d52e04189aacd009cbae6bdb9dedc6adbc4ecefee5028e9ac4ac710405b29d57e0be0db9d4415a9c1ef5f35a5bac9f8a806 DIST vivaldi-stable_7.2.3621.67-1_armhf.deb 116625596 BLAKE2B 672e2505b7ce3e30fa9bf8b18bd3e13d4562edcf25f8cdfa2ac1830246def43a48cd369bd66050855f48f3ebf6647425ea8842070db7c340d8f957949c2bf088 SHA512 9fde3931db4c7e0c8d8252b5fedbfe7f34d7d92892e4227f4d58663e6e0a3fd58756c6061bf5f115cade4f1375c772d09233800e3947e63e5e0ea8a9f238d520 -EBUILD vivaldi-7.2.3621.63.ebuild 3951 BLAKE2B 52210296cc73229ef8e91618f75d1ccc9f513b268fe0d686c9fbfc32c93ecf1c000c5b7fe5dafaa7f51b883019a2d56e35546a01feac2505bfe958b151dedb69 SHA512 b56b73b1cb508ec68c1db015587371e74129bd247b6bae44c4fd1cd24cf34b989319affa639e2535ccc114f85fbd924a798f304b5dcdd644421f0939ebab2bba -EBUILD vivaldi-7.2.3621.67.ebuild 3952 BLAKE2B 3b990be484ae7b764ea19a98aa97f6248999229fdbab49d51eba430fd5ef903a443f1dbb3b8656c7dab030618e653ccf306ab8d29e2e95b447141ca24c60f7f0 SHA512 e8254141d32a0a4a325722f6fefa05815ccb1085877f67b275f6c4be321654e322956821ea5a237b397966ca06d869be09fde537c1d9c53b6e6c49a61093b37f +DIST vivaldi-stable_7.2.3621.71-1_amd64.deb 124761712 BLAKE2B 125fbce3d20c75772ab4f93623ef04a489cd080e15a575639b898a6d65ac3b98255289f3a5757476d22f14039583cfcddedbbc48162b1b24a28505ae3b62d767 SHA512 aacab6cee3d63c4a002b70559a9dde6dfd9b823a302c9797e47f3f3bdd8de9d12837bf86dd0b0fd00c9c94c186769999e736414b0b8a2b5a3ad990384bb404a8 +DIST vivaldi-stable_7.2.3621.71-1_arm64.deb 115498896 BLAKE2B 76f75f6a156ee4354d98d9c513cfb3fa7e553c48617a868232278dad13d9a4631c555278520d86b01626986a8a002ff41de9fc49a436ca9cbc936484fbc3207e SHA512 d9cebf2f41a11c7f75885317dbbf79d858eca5b59ffb25e049d747f8bb6d71605c4d7a1b359c2c59c4b581e82cbe1a4ee7869adddc062fd8131d82afcbc0785b +DIST vivaldi-stable_7.2.3621.71-1_armhf.deb 116023156 BLAKE2B 6a45c28cca3998bc9f6a53efedfd1fbe919a70181719995147637c0dd430b085ddd067cb804dd110f2a2eff064e92a23ff9e333c36c656e30b1977f2b683357c SHA512 fde08cb3152844d38b863af5023c38b036751f5911042f911e83a0846f8ab1d57baff64104653b5f1bf356ae4add5ae053cff7f4997145631f98187b082ba04a +EBUILD vivaldi-7.2.3621.67.ebuild 3951 BLAKE2B 52210296cc73229ef8e91618f75d1ccc9f513b268fe0d686c9fbfc32c93ecf1c000c5b7fe5dafaa7f51b883019a2d56e35546a01feac2505bfe958b151dedb69 SHA512 b56b73b1cb508ec68c1db015587371e74129bd247b6bae44c4fd1cd24cf34b989319affa639e2535ccc114f85fbd924a798f304b5dcdd644421f0939ebab2bba +EBUILD vivaldi-7.2.3621.71.ebuild 3952 BLAKE2B 3b990be484ae7b764ea19a98aa97f6248999229fdbab49d51eba430fd5ef903a443f1dbb3b8656c7dab030618e653ccf306ab8d29e2e95b447141ca24c60f7f0 SHA512 e8254141d32a0a4a325722f6fefa05815ccb1085877f67b275f6c4be321654e322956821ea5a237b397966ca06d869be09fde537c1d9c53b6e6c49a61093b37f MISC metadata.xml 634 BLAKE2B fa3f150ffb5f5da3780098747f71d304c9ceb9828cd4dc7c586ba7032a7ba0b3065c25e5dd84fdab7b4302db8b4c848f116eb5b329f440f8a38837dca005a570 SHA512 f226a355a39cec36b5d6f3f88e7f2132693b5dcf51bdec4676d17f608f16ced52d6b9c5dfac2d38f2245cdf6ff7279286034e77ea119cfb4b7240500f612968e diff --git a/www-client/vivaldi/vivaldi-7.2.3621.63.ebuild b/www-client/vivaldi/vivaldi-7.2.3621.63.ebuild deleted file mode 100644 index 6fda9512726a..000000000000 --- a/www-client/vivaldi/vivaldi-7.2.3621.63.ebuild +++ /dev/null @@ -1,220 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CHROMIUM_VERSION="134" -CHROMIUM_LANGS=" - af - am - ar - az - be - bg - bn - ca - ca-valencia - cs - da - de - de-CH - el - en-GB - en-US - eo - es - es-419 - es-PE - et - eu - fa - fi - fil - fr - fy - gd - gl - gu - he - hi - hr - hu - hy - id - io - is - it - ja - jbo - ka - kab - kn - ko - lt - lv - mk - ml - mr - ms - nb - nl - nn - pa - pl - pt-BR - pt-PT - ro - ru - sc - sk - sl - sq - sr - sr-Latn - sv - sw - ta - te - th - tr - uk - ur - vi - zh-CN - zh-TW -" - -inherit chromium-2 desktop linux-info toolchain-funcs unpacker xdg - -VIVALDI_PN="${PN/%vivaldi/vivaldi-stable}" -VIVALDI_HOME="opt/${PN}" -DESCRIPTION="A browser for our friends" -HOMEPAGE="https://vivaldi.com/" - -if [[ ${PV} = *_p* ]]; then - DEB_REV="${PV#*_p}" -else - DEB_REV=1 -fi - -VIVALDI_BASE_URI="https://downloads.vivaldi.com/${VIVALDI_PN#vivaldi-}/${VIVALDI_PN}_${PV%_p*}-${DEB_REV}_" - -SRC_URI=" - amd64? ( ${VIVALDI_BASE_URI}amd64.deb ) - arm? ( ${VIVALDI_BASE_URI}armhf.deb ) - arm64? ( ${VIVALDI_BASE_URI}arm64.deb ) -" - -S="${WORKDIR}" -LICENSE="Vivaldi" -SLOT="0" -KEYWORDS="-* amd64 ~arm ~arm64" -IUSE="ffmpeg-chromium gtk proprietary-codecs qt6 widevine" -RESTRICT="bindist mirror" -#REQUIRED_USE="ffmpeg-chromium? ( proprietary-codecs )" - -RDEPEND=" - >=app-accessibility/at-spi2-core-2.46.0:2 - dev-libs/expat - dev-libs/glib:2 - dev-libs/nspr - dev-libs/nss - media-libs/alsa-lib - media-libs/mesa[gbm(+)] - net-print/cups - sys-apps/dbus - x11-libs/cairo - x11-libs/libdrm - x11-libs/libX11 - x11-libs/libxcb - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libxkbcommon - x11-libs/libXrandr - x11-libs/pango - gtk? ( gui-libs/gtk:4 x11-libs/gtk+:3 ) - proprietary-codecs? ( - !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) - ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} ) - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - widevine? ( www-plugins/chrome-binary-plugins ) -" - -QA_PREBUILT="*" -CONFIG_CHECK="~CPU_FREQ" - -src_unpack() { - unpack_deb ${A} -} - -src_prepare() { - # Rename docs directory to our needs. - mv usr/share/doc/{${VIVALDI_PN},${PF}}/ || die - - # Decompress the docs. - gunzip usr/share/doc/${PF}/changelog.gz || die - - # The appdata directory is deprecated. - mv usr/share/{appdata,metainfo}/ || die - - # Remove cron job for updating from Debian repos. - rm etc/cron.daily/${PN} ${VIVALDI_HOME}/cron/${PN} || die - rmdir etc/{cron.daily/,} ${VIVALDI_HOME}/cron/ || die - - # Remove scripts that will most likely break things. - rm -vf ${VIVALDI_HOME}/update-{ffmpeg,widevine} || die - - pushd ${VIVALDI_HOME}/locales > /dev/null || die - rm ja-KS.pak || die # No flag for Kansai as not in IETF list. - rm kmr.pak || die # No flag for Kurmanji. - chromium_remove_language_paks - popd > /dev/null || die - - if use proprietary-codecs; then - einfo Bundled $($(tc-getSTRINGS) ${VIVALDI_HOME}/lib/libffmpeg.so | grep -m1 "^FFmpeg version ") - rm ${VIVALDI_HOME}/lib/libffmpeg.so || die - rmdir ${VIVALDI_HOME}/lib || die - fi - - # Qt5 is obsolete now. - rm ${VIVALDI_HOME}/libqt5_shim.so || die - - if ! use qt6; then - rm ${VIVALDI_HOME}/libqt6_shim.so || die - fi - - eapply_user -} - -src_install() { - mv */ "${D}" || die - dosym ../../${VIVALDI_HOME}/${PN} /usr/bin/${VIVALDI_PN} - fperms 4711 /${VIVALDI_HOME}/vivaldi-sandbox - - local logo size - for logo in "${ED}"/${VIVALDI_HOME}/product_logo_*.png; do - size=${logo##*_} - size=${size%.*} - newicon -s "${size}" "${logo}" ${PN}.png - done - - if use proprietary-codecs; then - dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \ - /${VIVALDI_HOME}/libffmpeg.so.$(ver_cut 1-2) - fi - - if use widevine; then - dosym ../../usr/$(get_libdir)/chromium-browser/WidevineCdm \ - /${VIVALDI_HOME}/WidevineCdm - else - rm "${ED}"/${VIVALDI_HOME}/WidevineCdm || die - fi - - case ${PN} in - vivaldi) dosym ${VIVALDI_PN} /usr/bin/${PN} ;; - vivaldi-snapshot) dosym ${PN} /${VIVALDI_HOME}/vivaldi ;; - esac -} diff --git a/www-client/vivaldi/vivaldi-7.2.3621.67.ebuild b/www-client/vivaldi/vivaldi-7.2.3621.67.ebuild index c7399dace195..6fda9512726a 100644 --- a/www-client/vivaldi/vivaldi-7.2.3621.67.ebuild +++ b/www-client/vivaldi/vivaldi-7.2.3621.67.ebuild @@ -108,7 +108,7 @@ SRC_URI=" S="${WORKDIR}" LICENSE="Vivaldi" SLOT="0" -KEYWORDS="-* ~amd64 ~arm ~arm64" +KEYWORDS="-* amd64 ~arm ~arm64" IUSE="ffmpeg-chromium gtk proprietary-codecs qt6 widevine" RESTRICT="bindist mirror" #REQUIRED_USE="ffmpeg-chromium? ( proprietary-codecs )" diff --git a/www-client/vivaldi/vivaldi-7.2.3621.71.ebuild b/www-client/vivaldi/vivaldi-7.2.3621.71.ebuild new file mode 100644 index 000000000000..c7399dace195 --- /dev/null +++ b/www-client/vivaldi/vivaldi-7.2.3621.71.ebuild @@ -0,0 +1,220 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CHROMIUM_VERSION="134" +CHROMIUM_LANGS=" + af + am + ar + az + be + bg + bn + ca + ca-valencia + cs + da + de + de-CH + el + en-GB + en-US + eo + es + es-419 + es-PE + et + eu + fa + fi + fil + fr + fy + gd + gl + gu + he + hi + hr + hu + hy + id + io + is + it + ja + jbo + ka + kab + kn + ko + lt + lv + mk + ml + mr + ms + nb + nl + nn + pa + pl + pt-BR + pt-PT + ro + ru + sc + sk + sl + sq + sr + sr-Latn + sv + sw + ta + te + th + tr + uk + ur + vi + zh-CN + zh-TW +" + +inherit chromium-2 desktop linux-info toolchain-funcs unpacker xdg + +VIVALDI_PN="${PN/%vivaldi/vivaldi-stable}" +VIVALDI_HOME="opt/${PN}" +DESCRIPTION="A browser for our friends" +HOMEPAGE="https://vivaldi.com/" + +if [[ ${PV} = *_p* ]]; then + DEB_REV="${PV#*_p}" +else + DEB_REV=1 +fi + +VIVALDI_BASE_URI="https://downloads.vivaldi.com/${VIVALDI_PN#vivaldi-}/${VIVALDI_PN}_${PV%_p*}-${DEB_REV}_" + +SRC_URI=" + amd64? ( ${VIVALDI_BASE_URI}amd64.deb ) + arm? ( ${VIVALDI_BASE_URI}armhf.deb ) + arm64? ( ${VIVALDI_BASE_URI}arm64.deb ) +" + +S="${WORKDIR}" +LICENSE="Vivaldi" +SLOT="0" +KEYWORDS="-* ~amd64 ~arm ~arm64" +IUSE="ffmpeg-chromium gtk proprietary-codecs qt6 widevine" +RESTRICT="bindist mirror" +#REQUIRED_USE="ffmpeg-chromium? ( proprietary-codecs )" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-print/cups + sys-apps/dbus + x11-libs/cairo + x11-libs/libdrm + x11-libs/libX11 + x11-libs/libxcb + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libxkbcommon + x11-libs/libXrandr + x11-libs/pango + gtk? ( gui-libs/gtk:4 x11-libs/gtk+:3 ) + proprietary-codecs? ( + !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) + ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} ) + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + widevine? ( www-plugins/chrome-binary-plugins ) +" + +QA_PREBUILT="*" +CONFIG_CHECK="~CPU_FREQ" + +src_unpack() { + unpack_deb ${A} +} + +src_prepare() { + # Rename docs directory to our needs. + mv usr/share/doc/{${VIVALDI_PN},${PF}}/ || die + + # Decompress the docs. + gunzip usr/share/doc/${PF}/changelog.gz || die + + # The appdata directory is deprecated. + mv usr/share/{appdata,metainfo}/ || die + + # Remove cron job for updating from Debian repos. + rm etc/cron.daily/${PN} ${VIVALDI_HOME}/cron/${PN} || die + rmdir etc/{cron.daily/,} ${VIVALDI_HOME}/cron/ || die + + # Remove scripts that will most likely break things. + rm -vf ${VIVALDI_HOME}/update-{ffmpeg,widevine} || die + + pushd ${VIVALDI_HOME}/locales > /dev/null || die + rm ja-KS.pak || die # No flag for Kansai as not in IETF list. + rm kmr.pak || die # No flag for Kurmanji. + chromium_remove_language_paks + popd > /dev/null || die + + if use proprietary-codecs; then + einfo Bundled $($(tc-getSTRINGS) ${VIVALDI_HOME}/lib/libffmpeg.so | grep -m1 "^FFmpeg version ") + rm ${VIVALDI_HOME}/lib/libffmpeg.so || die + rmdir ${VIVALDI_HOME}/lib || die + fi + + # Qt5 is obsolete now. + rm ${VIVALDI_HOME}/libqt5_shim.so || die + + if ! use qt6; then + rm ${VIVALDI_HOME}/libqt6_shim.so || die + fi + + eapply_user +} + +src_install() { + mv */ "${D}" || die + dosym ../../${VIVALDI_HOME}/${PN} /usr/bin/${VIVALDI_PN} + fperms 4711 /${VIVALDI_HOME}/vivaldi-sandbox + + local logo size + for logo in "${ED}"/${VIVALDI_HOME}/product_logo_*.png; do + size=${logo##*_} + size=${size%.*} + newicon -s "${size}" "${logo}" ${PN}.png + done + + if use proprietary-codecs; then + dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex ffmpeg-chromium .${CHROMIUM_VERSION} "") \ + /${VIVALDI_HOME}/libffmpeg.so.$(ver_cut 1-2) + fi + + if use widevine; then + dosym ../../usr/$(get_libdir)/chromium-browser/WidevineCdm \ + /${VIVALDI_HOME}/WidevineCdm + else + rm "${ED}"/${VIVALDI_HOME}/WidevineCdm || die + fi + + case ${PN} in + vivaldi) dosym ${VIVALDI_PN} /usr/bin/${PN} ;; + vivaldi-snapshot) dosym ${PN} /${VIVALDI_HOME}/vivaldi ;; + esac +} -- cgit v1.2.3