summaryrefslogtreecommitdiff
path: root/www-client
diff options
context:
space:
mode:
Diffstat (limited to 'www-client')
-rw-r--r--www-client/Manifest.gzbin6035 -> 6051 bytes
-rw-r--r--www-client/chromium/Manifest13
-rw-r--r--www-client/chromium/chromium-125.0.6422.76.ebuild (renamed from www-client/chromium/chromium-125.0.6422.26.ebuild)6
-rw-r--r--www-client/chromium/chromium-126.0.6478.17.ebuild1452
-rw-r--r--www-client/chromium/chromium-126.0.6478.8.ebuild1452
-rw-r--r--www-client/chromium/files/chromium-126-oauth2-client-switches.patch45
-rw-r--r--www-client/falkon/Manifest4
-rw-r--r--www-client/falkon/falkon-24.05.0.ebuild (renamed from www-client/falkon/falkon-24.04.90.ebuild)0
-rw-r--r--www-client/firefox-bin/Manifest99
-rw-r--r--www-client/firefox-bin/firefox-bin-115.11.0.ebuild378
-rw-r--r--www-client/google-chrome-beta/Manifest4
-rw-r--r--www-client/google-chrome-beta/google-chrome-beta-126.0.6478.17.ebuild (renamed from www-client/google-chrome-beta/google-chrome-beta-125.0.6422.41.ebuild)0
-rw-r--r--www-client/google-chrome-unstable/Manifest4
-rw-r--r--www-client/google-chrome-unstable/google-chrome-unstable-127.0.6485.0.ebuild (renamed from www-client/google-chrome-unstable/google-chrome-unstable-126.0.6468.2.ebuild)0
-rw-r--r--www-client/google-chrome/Manifest4
-rw-r--r--www-client/google-chrome/google-chrome-125.0.6422.76.ebuild (renamed from www-client/google-chrome/google-chrome-125.0.6422.60.ebuild)0
-rw-r--r--www-client/microsoft-edge-beta/Manifest4
-rw-r--r--www-client/microsoft-edge-beta/microsoft-edge-beta-125.0.2535.51.ebuild (renamed from www-client/microsoft-edge-beta/microsoft-edge-beta-125.0.2535.29.ebuild)0
-rw-r--r--www-client/microsoft-edge-dev/Manifest8
-rw-r--r--www-client/microsoft-edge-dev/microsoft-edge-dev-126.0.2578.1.ebuild (renamed from www-client/microsoft-edge-dev/microsoft-edge-dev-125.0.2535.6.ebuild)0
-rw-r--r--www-client/microsoft-edge-dev/microsoft-edge-dev-126.0.2592.11.ebuild (renamed from www-client/microsoft-edge-dev/microsoft-edge-dev-126.0.2552.0.ebuild)0
-rw-r--r--www-client/microsoft-edge/Manifest4
-rw-r--r--www-client/microsoft-edge/microsoft-edge-125.0.2535.51.ebuild (renamed from www-client/microsoft-edge/microsoft-edge-124.0.2478.105.ebuild)0
-rw-r--r--www-client/opera-beta/Manifest4
-rw-r--r--www-client/opera-beta/opera-beta-111.0.5168.3.ebuild (renamed from www-client/opera-beta/opera-beta-110.0.5130.8.ebuild)0
-rw-r--r--www-client/opera-developer/Manifest8
-rw-r--r--www-client/opera-developer/opera-developer-111.0.5167.0.ebuild (renamed from www-client/opera-developer/opera-developer-111.0.5145.0.ebuild)0
-rw-r--r--www-client/opera-developer/opera-developer-112.0.5172.0.ebuild (renamed from www-client/opera-developer/opera-developer-111.0.5151.0.ebuild)0
-rw-r--r--www-client/opera/Manifest4
-rw-r--r--www-client/opera/opera-110.0.5130.35.ebuild (renamed from www-client/opera/opera-110.0.5130.23.ebuild)0
30 files changed, 3464 insertions, 29 deletions
diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz
index c298da3db42b..86c1bdc37530 100644
--- a/www-client/Manifest.gz
+++ b/www-client/Manifest.gz
Binary files differ
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 382a8d3ca34c..694703630b88 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -5,6 +5,7 @@ AUX chromium-124-libwebp-shim-sharpyuv.patch 870 BLAKE2B 10b34ca3c84ec1aa95376d4
AUX chromium-125-ninja-1-12.patch 695 BLAKE2B 757e944ac0b6f0b50f11f3119ab370494c3c281624405ca4ccb273cd9eaa01203fa59f5d45049242f1c539b4de1448206f239ac90e79b73a90f9b357426ac04f SHA512 cb7f7f2cefc29ee909fef5ae63a19168241de500111dcda2f60dd2660341037d1378be179d3193d8dcdb437596bcdc83eb9921ff3b08941474c58abb9c88c296
AUX chromium-125-oauth2-client-switches.patch 2091 BLAKE2B 0ec88e0d46d32944e9cb5b97e4d76855f74e377d7fa449f34e4d80f6aa5d57bb55c599604e2d860b192b8ea2153e01c808846991b352e4aee2e001f97860c754 SHA512 4a0fc7b0ed5f19adfac580e6eaa6a9728d8d39440f15d6e7384d33c318ba00408227d0fb945a64a360ec27c189c327dd92554bba468a7402c6b86932847c0805
AUX chromium-125-system-zstd.patch 1244 BLAKE2B cc8798ba70d79953add806f03d690400e4dbc0843ecb83b317e513f00af812f5ba3282ee72a349e7c029ec618bfcbfba4366b2b9c09a01cfa687a9cffeb6f794 SHA512 7769ef643841bd56a5c3158bb6c13b45880822e465de1dd817f7f48a548b25e1d528d22da6cfbd81f5daad3f14c455a27d067c03f82eab7493f15bab28053a8c
+AUX chromium-126-oauth2-client-switches.patch 2214 BLAKE2B 0dfc0dcd585bcd12793033292b1e10f448b84a65ee9354803237aca225a5de8b40a56f78cc806353d5240d41bed2efe82bc1b39ebea8ae4db2f79855f6ce1eaf SHA512 77e4e5609b9191160c73681020defd2d3e6fc3874837611e1febef538d3997fccea267ed87f6bbff6bd140f98d8e909d935ce3e3e0d53bf597882bb2282ab72c
AUX chromium-browser.xml 407 BLAKE2B 168d78b0855546ca559cfb51aff0bc85d5e6ae974c25eb76e4a02f6d11659489c6e40397a0b2f7bc1fda336fd2c6dd8c863fccc3340719210b41c7fef51927f4 SHA512 b767fb4fd1925029d95560fc14cb7ab12ae43b2fe923e92d75e733b9723cbe1dcdf6df041a2b62554e98b79b47ef3f6028c773e72e6fd53166a021d49657aeca
AUX chromium-cross-compile.patch 323 BLAKE2B 8d5091ce5287422c9688ede2563360a96b8bd34b9750dc1c8f0b6ca9aeff2c066fac2da169396baa131d971c087c78f9af53999df0e102d1f57176f5e8d3dd57 SHA512 06d3afc1aa19e57daac0e4bad37e1f365a68408240430e5e818e5a4f12e3b7519214eafa463633e447e7029f4ae13ea864ca347ad1fac117702a0be88718a954
AUX chromium-launcher-r7.sh 1631 BLAKE2B ae28d758264446511fd2b64ba69fe920144b351e8833e0e98f43d00633e850094c288b5d97d1a84801ea13aceb294623692c86c1b9be5811b7b97fa8a07a1ecd SHA512 1e97f8394bd8bb4b29570b1b85176efe6258314a596f079bee1c4018113e0023aa54a93690ba8de2a00d127af10dbe2cc3fb3127b72b841c6f28f9e7bed820e0
@@ -16,16 +17,24 @@ DIST chromium-124.0.6367.155.tar.xz 3446276744 BLAKE2B af057b9c1053878294ce3a4dd
DIST chromium-124.0.6367.207.tar.xz 3450794132 BLAKE2B b5e66e5483e48f165dcdb4c4e540913c2e4d4f93550beb1c529502122e5850594d555057e02c762a5ac2d0cc5ee5531476a5adda4ee1b43a39e0e6fcfe27ccbe SHA512 4ab47f51653b214d78215a95ff6c52db7f1f0d9bf331ec67a9b74109be8df66e84ebc927794a74777e692a77cdfd7d3fdba79190e0a70e18ee975e33050941df
DIST chromium-125-clang.tar.xz 50745124 BLAKE2B 6d9a8752a648c5e202c5597dd1adf52af9d37784166f75ab803a6dfbb4cd88e57f88851052f005d388020cd840d6854cbd295220f519325d5bfa3174ed9115dd SHA512 32200f39c1d4a24db30d67bfd324490c9fe4fcba2efb7bf83b6db14944a772cdd256dad93d7e23bf9efefc6c98007afde06ba7f8f2a1aafa7e27457e2193e23c
DIST chromium-125-rust.tar.xz 150461068 BLAKE2B b62fd93d4de25803da5eb98f67c25c455d7ae8e86f202e614bcbe9787957e63ec01ef3eabde3eb7a69d51d25a95a32577477e69ab71c008dcb55411f6d755433 SHA512 6cedf2cfdfefea782c7f1b1b13daae8e44f0678cb2a92454cdea5cd95ada14bd331fc5634da0267369743ab31d9d73ec30d971bdd7a9b68c2f2270a22c552b8c
-DIST chromium-125.0.6422.26.tar.xz 3444217168 BLAKE2B 102b7c49728717e3f76760fd2b92a666423c9d86fd68acce41c06fcf39b8724b3bd14934d2760d3fbc5aeabf7a2052894a0829addfba0ee44bfba37adbdf21e9 SHA512 75c026bde0fc9c9020af6883c8a4fcf0beb6c4d46be390b3bedadc07899b7cca10f91931425c19128d55206f61ab9953373826c67b11bbfbcf2f883802a48733
DIST chromium-125.0.6422.60.tar.xz 3453234996 BLAKE2B 67b98557fdff66d6f74363820a07ae0e22c2e0b9ce1ba23b14d59b9baea7a3b727db85e158c525a111b686ce8fcdc8f3cc28e07c2b049e36dba6acf131572e57 SHA512 531bebdd363373f12c3f978cbba9de47cf99386c0ea15a9723d92f5facda50f9beae5a8a5ed8f4e49f3787f1c616b3cd45b852f872f3559b14fc64673d4b4de6
+DIST chromium-125.0.6422.76.tar.xz 3460108576 BLAKE2B 88228a7a5a62a9ba56e2fca413b57b19b8f5ec2d691f8801ba4ea0d7ddd3f054f6105d0b6d6d4701b23f504d0dc3ba2c66154504b5a62bc36d955a73411bb66a SHA512 ccaedb6b0a7b0dbd77e75433c5d05b4ede6add6d25e4ec42f6ce6c7033e887755d92db68b15fb435230b5ccc1beab294ff01eba1d4da8108cdd082f376201dbe
+DIST chromium-126-clang.tar.xz 50615992 BLAKE2B 293709399ddf343ba195cec452974178228ebb72921931ad58136351956b881f8dc0bc8ca740252bcd4971701c9ee8ccc0a33648aee25a5b1cece56e0af6b83f SHA512 7bb2938b1df452585d0ee93da3bcf9c3e64e88e39059a713fe21758df670190b12ca002ef2764dc99efdb4284b4c4b7cde861e2e495d99956c21120a51b8c3dc
+DIST chromium-126-rust.tar.xz 150643432 BLAKE2B d9c827008a2fae07977628beccdf3cf4e5d9bf3c9728e4b2839c8bc86ee2f87844921064e30c067a1b620a3d53cbf54a74053172b1436239332fc668f772924d SHA512 431c0305a81e59da231d56f1b119226b661d7f5a93d0da92afbfc384b0e5be28f282c2911137983298a5369c93b60184d41875ec63b47048a782ee2b1301fc77
+DIST chromium-126.0.6478.17.tar.xz 4148631520 BLAKE2B d781da0897737ec6c1643ff80173eca07424f26e86f5b2b152865cd8998bbfcbc6e2edd0c9e2d5dd5fafec6ef494fbe05f1e9f6c692ae2e5a448387eda358a3e SHA512 6f5dd24567d3a194b1a20bf407fdc3aa098c59c23c5be974a3bb312dd0c38233ecbb706d58e4c4ac4b11eb49d8b2ebd99d7850f8e8e444b33515c68a6fdcbf37
+DIST chromium-126.0.6478.8.tar.xz 4133359308 BLAKE2B bb9bdeace0119730c74ed2d7399df05ca8913f30e2f848c4107a8482654e7cf725c163ac0bf17fee1568772553af00799ef3d0ea315e617e51efe150105db6ff SHA512 e4e9a9779f074061b7ea36afbfa40f69f9228765262a65b8d6714d50e75d56060e0e23485bbd143dba4ccc6183fdec18c9af1c873bb3aa6cee063e90e6cbf4fd
DIST chromium-patches-124.tar.bz2 4706 BLAKE2B 5acae233ce7b43669dbf65c368467f94c9a0ec509713ec4510943ede12d495dad1670a5c0a7435e0e16251c7429145e575cb1c9661439ff1c626d709856b6a94 SHA512 3d0d365b6d484def626153b07c0ab187195f27ebada63bd2547b52ed1e2157aab2415a6140c293a140d7a0545ae0fc1cdd431b37fa0c4a212a34c13baccb358c
DIST chromium-patches-125.tar.bz2 4688 BLAKE2B 96cffec1931f59bfad53efee930292ca123e3daf3cf6f062583aae15853283c32ce2f564de7e35b678a34ed7981d5e8796059d00d5409c31d3e2e5839f93cf9c SHA512 fe4173b2409002d52fd443e87ce4894b53d0b24808f002766942086b99174cb9da42b6e7f92d80d6432d78d7ae3458265ec6cf091a76d0e4e25b44dfdd438dcf
+DIST chromium-patches-126.tar.bz2 4538 BLAKE2B c1f224015618ec908ef09d0c04a2243923371e2caeccd60d93747599fd1434b284291a5b4326008db21749cf78827d5a4b50d22fc805dcd3c1fd86303dc82729 SHA512 6692075adac0379b5f27d1023de1a051cf7f7f7138efd32dfc3af0d501b714142a16daf18022bb46d92218587f364f4dafe9f4aea24f6826e88b0e7cc2be7d0b
DIST chromium-ppc64le-gentoo-patches-1.tar.xz 5636 BLAKE2B 1d898939df023c59285b27bee552470483ea06375d1ee8d6947b89c5927c23cc7bfec6b49f3b376ece931d11a56f8e2a45791e0f92ad61974fc8c34c1082d89c SHA512 8a71cb007e47cda8e5fe5d185729389e65c48bd322c8ee8b3986bee8571427b959628f2666bda646a3f89ae64197c0957d3626845ff03461dbd5dee4c964d07c
DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d SHA512 9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c
DIST chromium_123.0.6312.105-1raptor0~deb12u1.debian.tar.xz 579484 BLAKE2B 587082358377f7bc0dca0dec83772abb7e040ad894ca4d456a294b7f5c19297acbc5b1dac725d3c1dbaaeefd480328c6c06c607438e560aa6359c1e98c4b1c9c SHA512 6b670a139e284cc96da65ff3c1b3e715cd9b436de2404792d619cfad23e2040fd931e7cc49f0b1ac17e11522804a4c9a621cb943e0dab33fb5bf422e954c5421
DIST chromium_124.0.6367.118-1raptor0~deb12u1.debian.tar.xz 582728 BLAKE2B ee5fe2b0bbe5d3e5edcee07fbde0934a6c219f95c4e057b7a7ea01f2579b6d87e1c7f07090e98a13eeaa79b19a563d1b12f1ae49687872527d7b55b33a8eaf51 SHA512 800f409d8d14af957218159e73e7ecdde1f5c59221c3d8693cf6be0e811b682e78541ac490bd7f1c5c6820e74c6c690817635e45465675c9906fff55d1319f9f
+DIST chromium_124.0.6367.207-1raptor0~deb12u1.debian.tar.xz 587248 BLAKE2B 4c5a12b3e70be85b31d60d35d160281cbf8b93422169243f743fff25805bc7006ffeed5f95b415fb49e9cf4c3bf2c0a2d5ed10642d8f772df24cab1fe738125a SHA512 025ac185f27c66438a5eaf482120fded42d37403706fd012fbde1b6acf5c2e360bb2fb7723183d4883f66f36afe10167a2d919cde11735186a1a87b28ffaf9c6
EBUILD chromium-124.0.6367.155.ebuild 47318 BLAKE2B 40945844480f1e8ad014f4c26f0247f223bdaa46b258e00347e059e4ff169e2c050291b3324aa68df9ff08cf2c04cb487bdce6f1803777de30d7ca00f2f9cb82 SHA512 9a17b9c3ad664e082602ed7a8efda12de4b8e7b3d04354dad24dff5121b063ba37c0bedec393cbb5b7a9c97b26a1cf123ec5f6d4183f499523f083a6c248512a
EBUILD chromium-124.0.6367.207.ebuild 47639 BLAKE2B 16dedb3631a532b443f0b766dbaa6c3744093d4fb52573469849cd9aaf7f1a7c5e286cb92c26ece10098d8846513841ac8bc9ff97b188998c2d62828cb65d067 SHA512 8bd881b109694d0f2ec1114c52d87b4bd4c159454092aeac3bde9f4e54e014edbde089af388cc6c79bc9cc8f873a22e13ab67eb844f12d58f0915d73be822a4f
-EBUILD chromium-125.0.6422.26.ebuild 48117 BLAKE2B 313db1be0b82a1a1d88fc90287741e001a0d747cad2a35f3f1c5e94f66e9d25e6c960ad747a63046e74ec0d21848946f06aee70b6c546c161aba08e4db53b7f5 SHA512 b2c899115414baee163791445296fdc4c6dab30f72795a5c43cade8ba55aa7d8545256bf402e9be02573fdbb42c1b7cc041207e07553ed66ed090dd532b9902b
EBUILD chromium-125.0.6422.60.ebuild 48119 BLAKE2B a066009ca38e639eab0a9819012dbb8078544a176134aa7f6abd5bb425a94d9b9428d6532c1f6585c07fb30153e1f6e8007195cec6c1b6921fa4f92a7829b12f SHA512 a99e3b3f4ee1bc867acfdb2c3adaff177d4fc69a6ee9ad17dc9cd82b9238c1f840e94b7def8637c9db69cd4009944ca8b6c3924244ebe87a53e7bebc344f768b
+EBUILD chromium-125.0.6422.76.ebuild 48156 BLAKE2B e051a0609066d50490533e3cbc28948e184fc0ec7bdbff6b8120b1209e980cbb60181ab696af5f4c1f243ab46eb7db8bbdd520c9ebf766773a0fa0ca9e6c2ba1 SHA512 c6575fb0c926e386ef6aa19c606c28b895a4e7037063d369ba5bb7c03a28cdd3fee99a54984bb444d18b9fcacc8c2071e2c95b03c04ca561ca336fe2a57377e4
+EBUILD chromium-126.0.6478.17.ebuild 48097 BLAKE2B 3b9d6b77def832f17afd0f77ee36159e8a76be2c04e61ed740a814445f4b399a8e319097473c9fdc96b8640adc1590a20c9a1815b89554188f9aa76c84df93b7 SHA512 09200a2bcee9e839f6365d98451293133a370dab74d29177aeced7699bb44246f6257721b859b2721e60116c4e0257e0255735cd32548a3ee55067687f4853ea
+EBUILD chromium-126.0.6478.8.ebuild 48097 BLAKE2B b98f4a58cf0c3e094ea512c90108ecefdfe87fa4c3080e56e55a4732fc520ee0ccbdb2e290cd05b73ee391ee6099c463687e7ae3fbf597e1b73f49c28ae3bd6c SHA512 45b3e7e1daa632c86543d99150591712955fc4092f2b5e09ff11ceb16c2cdce78c33e8951b4256988ae83f81eccf44fc1276c0a854f6b7b930f41535476deca1
MISC metadata.xml 2249 BLAKE2B 42e914e06d12ce6ebff4251fa81c28970676bb6cad7e9b1591dbbf79e45a8805fad6ee3bfb7c1b81f47e91e101091fbfcd565a0cc47f8280b9f169559ca61f2c SHA512 a30553dc4878fdb70546a1dbcb8c38ac42b0bddd500e1d09ba5a8414f681b3304e9a6a02e734c1e7eb58e782f30f6390be97b4a22996788e7639e8a9feb01ee9
diff --git a/www-client/chromium/chromium-125.0.6422.26.ebuild b/www-client/chromium/chromium-125.0.6422.76.ebuild
index 595006853106..00745bf94d8d 100644
--- a/www-client/chromium/chromium-125.0.6422.26.ebuild
+++ b/www-client/chromium/chromium-125.0.6422.76.ebuild
@@ -87,8 +87,8 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
LICENSE="BSD"
-SLOT="0/beta"
-KEYWORDS="~amd64 ~arm64"
+SLOT="0/stable"
+KEYWORDS="~amd64 arm64"
IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos libcxx +lto +official pax-kernel pgo +proprietary-codecs pulseaudio"
IUSE+=" qt5 qt6 +screencast selinux +system-toolchain +vaapi +wayland +widevine"
@@ -817,7 +817,7 @@ chromium_configure() {
# Workaround for build failure with clang-18 and -march=native without
# avx512. Does not affect e.g. -march=skylake, only native (bug #931623).
use amd64 && is-flagq -march=native &&
- [[ $(clang-major-version) -ge 18 ]] &&
+ [[ $(clang-major-version) -eq 18 ]] && [[ $(clang-micro-version) -lt 6 ]] &&
tc-cpp-is-true "!defined(__AVX512F__)" ${CXXFLAGS} &&
append-flags -mevex512
else
diff --git a/www-client/chromium/chromium-126.0.6478.17.ebuild b/www-client/chromium/chromium-126.0.6478.17.ebuild
new file mode 100644
index 000000000000..376d4eb7981c
--- /dev/null
+++ b/www-client/chromium/chromium-126.0.6478.17.ebuild
@@ -0,0 +1,1452 @@
+# Copyright 2009-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..13} )
+PYTHON_REQ_USE="xml(+)"
+
+# PACKAGING NOTES
+
+# Google roll their bundled Clang every two weeks, and the bundled Rust
+# is rolled regularly and depends on that. While we do our best to build
+# with system Clang, we will eventually hit the point where we need to use
+# the bundled Clang due to the use of prerelease features. We've been lucky
+# enough so far that this hasn't been an issue.
+
+# We try and avoid forcing the use of the custom/bundled libcxx, but sometimes
+# it is unavoidable. Remember to force the use of Clang when this is forced.
+
+# GCC is _not_ supported upstream, though patches are welcome. We do our
+# best to enable builds with GCC but reserve the right to force Clang
+# builds if we can't keep up with upstream's changes. Please comment
+# when forcing Clang builds so we can track the need for it.
+
+# GN is bundled with Chromium, but we always use the system version. Remember to
+# check for upstream changes to GN and update ebuild (and version below) as required.
+
+# For binhost users, if USE=bindist is set, we configure Chromium in a way that it is able
+# to use proprietary codecs, and so that ffmpeg is an external component (libffmpeg.so),
+# then we remove ffmpeg from the image to ensure that the built package is distributable
+# (i.e. we don't owe royalties). A suitable libffmpeg.so is symlinked in its place;
+# as a result of this, ffmpeg[chromium] or ffmpeg-chromium must be installed on the system.
+
+# For non-binhost builds, we build the bundled ffmpeg and enable proprietary codecs because there's
+# no reason not to. Todo: Re-enable USE=system-ffmpeg.
+
+# These variables let us easily bound supported major dependency versions in one place.
+GCC_MIN_VER=12
+GN_MIN_VER=0.2165
+# Since Google use prerelease llvm we can let any adventurous users try to build with prerelease
+# ebuilds; try to keep this up to date with the latest version in the tree.
+LLVM_MAX_SLOT=19
+LLVM_MIN_SLOT=17
+RUST_MIN_VER=1.72.0
+# chromium-tools/get-chromium-toolchain-strings.sh
+GOOGLE_CLANG_VER=llvmorg-19-init-9433-g76ea5feb-1
+GOOGLE_RUST_VER=31e6e8c6c5b6ce62656c922c7384d3376018c980-2
+
+# https://bugs.chromium.org/p/v8/issues/detail?id=14449 - V8 used in 120 can't build with GCC
+# Resolved upstream, requires testing and some backporting I'm sure
+: ${CHROMIUM_FORCE_CLANG=yes}
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101227 - Chromium 120:
+# webrtc - no matching member function for call to 'emplace'
+: ${CHROMIUM_FORCE_LIBCXX=yes}
+# 121's 'gcc_link_wrapper.py' currently fails if not using lld due to the addition of rust
+: ${CHROMIUM_FORCE_LLD=yes}
+
+: ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no}
+
+VIRTUALX_REQUIRED="pgo"
+
+CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
+ hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
+ sv sw ta te th tr uk ur vi zh-CN zh-TW"
+
+inherit check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils
+inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtualx xdg-utils
+
+DESCRIPTION="Open-source version of Google Chrome web browser"
+HOMEPAGE="https://www.chromium.org/"
+PATCHSET_PPC64="124.0.6367.207-1raptor0~deb12u1"
+PATCH_V="${PV%%\.*}"
+SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
+ system-toolchain? (
+ https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
+ )
+ !system-toolchain? (
+ https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${GOOGLE_CLANG_VER}.tar.xz
+ -> chromium-${PV%%\.*}-clang.tar.xz
+ https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%??}.tar.xz
+ -> chromium-${PV%%\.*}-rust.tar.xz
+ )
+ ppc64? (
+ https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz
+ https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz
+ )
+ pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
+
+LICENSE="BSD"
+SLOT="0/beta"
+KEYWORDS="~amd64 ~arm64"
+IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
+IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos libcxx +lto +official pax-kernel pgo +proprietary-codecs pulseaudio"
+IUSE+=" qt5 qt6 +screencast selinux +system-toolchain +vaapi +wayland +widevine"
+RESTRICT="!bindist? ( bindist )"
+
+REQUIRED_USE="
+ !headless? ( || ( X wayland ) )
+ pgo? ( X !wayland )
+ qt6? ( qt5 )
+ screencast? ( wayland )
+ !system-toolchain? ( libcxx )
+ ffmpeg-chromium? ( bindist proprietary-codecs )
+"
+
+COMMON_X_DEPEND="
+ x11-libs/libXcomposite:=
+ x11-libs/libXcursor:=
+ x11-libs/libXdamage:=
+ x11-libs/libXfixes:=
+ >=x11-libs/libXi-1.6.0:=
+ x11-libs/libXrandr:=
+ x11-libs/libXrender:=
+ x11-libs/libXtst:=
+ x11-libs/libxshmfence:=
+"
+
+COMMON_SNAPSHOT_DEPEND="
+ system-icu? ( >=dev-libs/icu-71.1:= )
+ >=dev-libs/libxml2-2.12.4:=[icu]
+ dev-libs/nspr:=
+ >=dev-libs/nss-3.26:=
+ dev-libs/libxslt:=
+ media-libs/fontconfig:=
+ >=media-libs/freetype-2.11.0-r1:=
+ system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] )
+ media-libs/libjpeg-turbo:=
+ system-png? ( media-libs/libpng:=[-apng(-)] )
+ system-zstd? ( >=app-arch/zstd-1.5.5:= )
+ >=media-libs/libwebp-0.4.0:=
+ media-libs/mesa:=[gbm(+)]
+ >=media-libs/openh264-1.6.0:=
+ sys-libs/zlib:=
+ x11-libs/libdrm:=
+ !headless? (
+ dev-libs/glib:2
+ >=media-libs/alsa-lib-1.0.19:=
+ pulseaudio? ( media-libs/libpulse:= )
+ sys-apps/pciutils:=
+ kerberos? ( virtual/krb5 )
+ vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] )
+ X? (
+ x11-libs/libX11:=
+ x11-libs/libXext:=
+ x11-libs/libxcb:=
+ )
+ x11-libs/libxkbcommon:=
+ wayland? (
+ dev-libs/libffi:=
+ dev-libs/wayland:=
+ screencast? ( media-video/pipewire:= )
+ )
+ )
+"
+
+COMMON_DEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
+ app-arch/bzip2:=
+ dev-libs/expat:=
+ net-misc/curl[ssl]
+ sys-apps/dbus:=
+ media-libs/flac:=
+ sys-libs/zlib:=[minizip]
+ !headless? (
+ X? ( ${COMMON_X_DEPEND} )
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ media-libs/mesa:=[X?,wayland?]
+ cups? ( >=net-print/cups-1.3.11:= )
+ virtual/udev
+ x11-libs/cairo:=
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango:=
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtwidgets:5
+ )
+ qt6? ( dev-qt/qtbase:6[gui,widgets] )
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !headless? (
+ || (
+ x11-libs/gtk+:3[X?,wayland?]
+ gui-libs/gtk:4[X?,wayland?]
+ )
+ qt5? ( dev-qt/qtgui:5[X?,wayland?] )
+ qt6? ( dev-qt/qtbase:6[X?,wayland?] )
+ )
+ virtual/ttf-fonts
+ selinux? ( sec-policy/selinux-chromium )
+ bindist? (
+ !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] )
+ ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} )
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ !headless? (
+ gtk4? ( gui-libs/gtk:4[X?,wayland?] )
+ !gtk4? ( x11-libs/gtk+:3[X?,wayland?] )
+ )
+"
+
+depend_clang_llvm_version() {
+ echo "sys-devel/clang:$1"
+ echo "sys-devel/llvm:$1"
+ echo "=sys-devel/lld-$1*"
+}
+
+# When passed multiple arguments we assume that
+# we want a range of versions, inclusive.
+depend_clang_llvm_versions() {
+ local _v
+ if [[ $# -eq 1 ]]; then
+ depend_clang_llvm_version "$1"
+ elif [[ $# -eq 2 ]]; then
+ if [[ $1 -eq $2 ]]; then
+ depend_clang_llvm_version "$1"
+ fi
+ echo "|| ("
+ for ((i=$1; i<=$2; i++)); do
+ echo "("
+ depend_clang_llvm_version "${i}"
+ echo ")"
+ done
+ echo ")"
+ else
+ die "depend_clang_llvm_versions() requires 1 or 2 arguments"
+ fi
+}
+
+BDEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ >=app-arch/gzip-1.7
+ !headless? (
+ qt5? ( dev-qt/qtcore:5 )
+ qt6? ( dev-qt/qtbase:6 )
+ )
+ system-toolchain? (
+ libcxx? ( >=sys-devel/clang-${LLVM_MIN_SLOT} )
+ lto? ( $(depend_clang_llvm_versions ${LLVM_MIN_SLOT} ${LLVM_MAX_SLOT}) )
+ pgo? (
+ >=dev-python/selenium-3.141.0
+ >=dev-util/web_page_replay_go-20220314
+ $(depend_clang_llvm_versions ${LLVM_MIN_SLOT} ${LLVM_MAX_SLOT})
+ )
+ >=virtual/rust-${RUST_MIN_VER}[profiler(-)]
+ )
+ >=dev-build/gn-${GN_MIN_VER}
+ dev-build/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 [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
+ BDEPEND+="system-toolchain? ( >=sys-devel/clang-${LLVM_MIN_SLOT} ) "
+fi
+
+if [[ ${CHROMIUM_FORCE_LLD} == yes ]]; then
+ BDEPEND+="system-toolchain? ( >=sys-devel/lld-${LLVM_MIN_SLOT} ) "
+else
+ # #918897: Hack for arm64
+ BDEPEND+=" arm64? ( >=sys-devel/lld-${LLVM_MIN_SLOT} )"
+fi
+
+if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
+ EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
+fi
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+Some web pages may require additional fonts to display properly.
+Try installing some of the following packages if some characters
+are not displayed properly:
+- media-fonts/arphicfonts
+- media-fonts/droid
+- media-fonts/ipamonafont
+- media-fonts/noto
+- media-fonts/ja-ipafonts
+- media-fonts/takao-fonts
+- media-fonts/wqy-microhei
+- media-fonts/wqy-zenhei
+
+To fix broken icons on the Downloads page, you should install an icon
+theme that covers the appropriate MIME types, and configure this as your
+GTK+ icon theme.
+
+For native file dialogs in KDE, install kde-apps/kdialog.
+
+To make password storage work with your desktop environment you may
+have install one of the supported credentials management applications:
+- app-crypt/libsecret (GNOME)
+- kde-frameworks/kwallet (KDE)
+If you have one of above packages installed, but don't want to use
+them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
+in /etc/chromium/default.
+"
+
+python_check_deps() {
+ python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+needs_clang() {
+ [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx || use lto || use pgo
+}
+
+needs_lld() {
+ # #641556: Force lld for lto and pgo builds, otherwise disable
+ # #918897: Temporary hack w/ use arm64
+ [[ ${CHROMIUM_FORCE_LLD} == yes ]] || use lto || use pgo || use arm64
+}
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ( use lto || use pgo ) && ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+ einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+pre_build_checks() {
+ # Check build requirements: bugs #471810, #541816, #914220
+ # We're going to start doing maths here on the size of an unpacked source tarball,
+ # this should make updates easier as chromium continues to balloon in size.
+ local BASE_DISK=22
+ local EXTRA_DISK=1
+ local CHECKREQS_MEMORY="4G"
+ tc-is-cross-compiler && EXTRA_DISK=2
+ if use lto || use pgo; then
+ CHECKREQS_MEMORY="9G"
+ tc-is-cross-compiler && EXTRA_DISK=4
+ use pgo && EXTRA_DISK=8
+ fi
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ if use custom-cflags; then
+ EXTRA_DISK=13
+ fi
+ CHECKREQS_MEMORY="16G"
+ fi
+ CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G"
+ check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
+ pre_build_checks
+ fi
+
+ if use headless; then
+ local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland")
+ for myiuse in ${headless_unused_flags[@]}; do
+ use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set."
+ done
+ fi
+
+ if ! use bindist && use ffmpeg-chromium; then
+ ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set."
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
+ pre_build_checks
+
+ if use system-toolchain; then
+ local -x CPP="$(tc-getCXX) -E"
+ if tc-is-gcc && ! ver_test "$(gcc-version)" -ge ${GCC_MIN_VER}; then
+ die "At least gcc ${GCC_MIN_VER} is required"
+ fi
+ if use pgo && tc-is-cross-compiler; then
+ die "The pgo USE flag cannot be used when cross-compiling"
+ fi
+ if needs_clang && ! tc-is-clang; then
+ if tc-is-cross-compiler; then
+ CPP="${CBUILD}-clang++ -E"
+ else
+ CPP="${CHOST}-clang++ -E"
+ fi
+ fi
+ if needs_clang || tc-is-clang; then
+ if ver_test "$(clang-major-version)" -lt ${LLVM_MIN_SLOT}; then
+ die "At least Clang ${LLVM_MIN_SLOT} is required"
+ fi
+ # Ideally we never see this, but it should help prevent bugs like 927154
+ if ver_test "$(clang-major-version)" -gt ${LLVM_MAX_SLOT}; then
+ die "Clang $(clang-major-version) is too new; ${LLVM_MAX_SLOT} is the highest supported version"
+ fi
+ fi
+ fi
+ # Users should never hit this, it's purely a development convenience
+ if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then
+ die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium"
+ fi
+ fi
+
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_prepare() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # disable global media controls, crashes with libstdc++
+ sed -i -e \
+ "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \
+ "chrome/browser/media/router/media_router_feature.cc" || die
+
+ local PATCHES=(
+ "${FILESDIR}/chromium-109-system-zlib.patch"
+ "${FILESDIR}/chromium-111-InkDropHost-crash.patch"
+ "${FILESDIR}/chromium-125-system-zstd.patch"
+ "${FILESDIR}/chromium-126-oauth2-client-switches.patch"
+ "${FILESDIR}/chromium-cross-compile.patch"
+ )
+
+ if use system-toolchain; then
+ # The patchset is really only required if we're using the system-toolchain
+ PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" )
+ # We can't use the bundled compiler builtins
+ sed -i -e \
+ "/if (is_clang && toolchain_has_rust) {/,+2d" \
+ build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins"
+ else
+ mkdir -p third_party/llvm-build/Release+Asserts || die "Failed to bundle llvm"
+ ln -s "${WORKDIR}"/bin third_party/llvm-build/Release+Asserts/bin || die "Failed to symlink llvm bin"
+ ln -s "${WORKDIR}"/lib third_party/llvm-build/Release+Asserts/lib || die "Failed to symlink llvm lib"
+ echo "${GOOGLE_CLANG_VER}" > third_party/llvm-build/Release+Asserts/cr_build_revision || \
+ die "Failed to set clang version"
+ ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust"
+ cp "${WORKDIR}"/rust-toolchain/VERSION \
+ "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version"
+ fi
+
+ if use ppc64 ; then
+ local p
+ for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do
+ if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then
+ eapply "${WORKDIR}/debian/patches/${p}"
+ fi
+ done
+ PATCHES+=( "${WORKDIR}/ppc64le" )
+ PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" )
+ fi
+
+ default
+
+ mkdir -p third_party/node/linux/node-linux-x64/bin || die
+ ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
+
+ # adjust python interpreter version
+ sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
+
+ local keeplibs=(
+ base/third_party/cityhash
+ base/third_party/double_conversion
+ base/third_party/icu
+ base/third_party/nspr
+ base/third_party/superfasthash
+ base/third_party/symbolize
+ base/third_party/valgrind
+ base/third_party/xdg_user_dirs
+ buildtools/third_party/libc++
+ buildtools/third_party/libc++abi
+ chrome/third_party/mozilla_security_manager
+ courgette/third_party
+ net/third_party/mozilla_security_manager
+ net/third_party/nss
+ net/third_party/quic
+ net/third_party/uri_template
+ third_party/abseil-cpp
+ third_party/angle
+ third_party/angle/src/common/third_party/xxhash
+ third_party/angle/src/third_party/ceval
+ third_party/angle/src/third_party/libXNVCtrl
+ third_party/angle/src/third_party/volk
+ third_party/anonymous_tokens
+ third_party/apple_apsl
+ third_party/axe-core
+ third_party/blink
+ third_party/bidimapper
+ third_party/boringssl
+ third_party/boringssl/src/third_party/fiat
+ third_party/breakpad
+ third_party/breakpad/breakpad/src/third_party/curl
+ third_party/brotli
+ third_party/catapult
+ third_party/catapult/common/py_vulcanize/third_party/rcssmin
+ third_party/catapult/common/py_vulcanize/third_party/rjsmin
+ third_party/catapult/third_party/beautifulsoup4-4.9.3
+ third_party/catapult/third_party/html5lib-1.1
+ third_party/catapult/third_party/polymer
+ third_party/catapult/third_party/six
+ third_party/catapult/tracing/third_party/d3
+ third_party/catapult/tracing/third_party/gl-matrix
+ third_party/catapult/tracing/third_party/jpeg-js
+ third_party/catapult/tracing/third_party/jszip
+ third_party/catapult/tracing/third_party/mannwhitneyu
+ third_party/catapult/tracing/third_party/oboe
+ third_party/catapult/tracing/third_party/pako
+ third_party/ced
+ third_party/cld_3
+ third_party/closure_compiler
+ third_party/content_analysis_sdk
+ third_party/cpuinfo
+ third_party/crashpad
+ third_party/crashpad/crashpad/third_party/lss
+ third_party/crashpad/crashpad/third_party/zlib
+ third_party/crc32c
+ third_party/cros_system_api
+ third_party/d3
+ third_party/dav1d
+ third_party/dawn
+ third_party/dawn/third_party/gn/webgpu-cts
+ third_party/dawn/third_party/khronos
+ third_party/depot_tools
+ third_party/devscripts
+ third_party/devtools-frontend
+ third_party/devtools-frontend/src/front_end/third_party/acorn
+ third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
+ third_party/devtools-frontend/src/front_end/third_party/axe-core
+ third_party/devtools-frontend/src/front_end/third_party/chromium
+ third_party/devtools-frontend/src/front_end/third_party/codemirror
+ third_party/devtools-frontend/src/front_end/third_party/csp_evaluator
+ third_party/devtools-frontend/src/front_end/third_party/diff
+ third_party/devtools-frontend/src/front_end/third_party/i18n
+ third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
+ third_party/devtools-frontend/src/front_end/third_party/lighthouse
+ third_party/devtools-frontend/src/front_end/third_party/lit
+ third_party/devtools-frontend/src/front_end/third_party/lodash-isequal
+ third_party/devtools-frontend/src/front_end/third_party/marked
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs
+ third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data
+ third_party/devtools-frontend/src/front_end/third_party/wasmparser
+ third_party/devtools-frontend/src/third_party
+ third_party/distributed_point_functions
+ third_party/dom_distiller_js
+ third_party/eigen3
+ third_party/emoji-segmenter
+ third_party/farmhash
+ third_party/fdlibm
+ third_party/ffmpeg
+ third_party/fft2d
+ third_party/flatbuffers
+ third_party/fp16
+ third_party/freetype
+ third_party/fusejs
+ third_party/fxdiv
+ third_party/highway
+ third_party/liburlpattern
+ third_party/libzip
+ third_party/lit
+ third_party/gemmlowp
+ third_party/google_input_tools
+ third_party/google_input_tools/third_party/closure_library
+ third_party/google_input_tools/third_party/closure_library/third_party/closure
+ third_party/googletest
+ third_party/hunspell
+ third_party/iccjpeg
+ third_party/inspector_protocol
+ third_party/ipcz
+ third_party/jinja2
+ third_party/jsoncpp
+ third_party/jstemplate
+ third_party/khronos
+ third_party/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/libavif
+ third_party/libevent
+ third_party/libgav1
+ third_party/libjingle
+ third_party/libphonenumber
+ third_party/libsecret
+ third_party/libsrtp
+ third_party/libsync
+ third_party/libudev
+ third_party/libva_protected_content
+ third_party/libvpx
+ third_party/libvpx/source/libvpx/third_party/x86inc
+ third_party/libwebm
+ third_party/libx11
+ third_party/libxcb-keysyms
+ third_party/libxml/chromium
+ third_party/libyuv
+ third_party/lottie
+ third_party/lss
+ third_party/lzma_sdk
+ third_party/mako
+ third_party/maldoca
+ third_party/maldoca/src/third_party/tensorflow_protos
+ third_party/maldoca/src/third_party/zlibwrapper
+ third_party/markupsafe
+ third_party/material_color_utilities
+ third_party/mesa
+ third_party/metrics_proto
+ third_party/minigbm
+ third_party/modp_b64
+ third_party/nasm
+ third_party/nearby
+ third_party/neon_2_sse
+ third_party/node
+ third_party/omnibox_proto
+ third_party/one_euro_filter
+ third_party/openscreen
+ third_party/openscreen/src/third_party/
+ third_party/openscreen/src/third_party/tinycbor/src/src
+ third_party/opus
+ third_party/ots
+ third_party/pdfium
+ third_party/pdfium/third_party/agg23
+ third_party/pdfium/third_party/bigint
+ third_party/pdfium/third_party/freetype
+ third_party/pdfium/third_party/lcms
+ third_party/pdfium/third_party/libopenjpeg
+ third_party/pdfium/third_party/libtiff
+ third_party/perfetto
+ third_party/perfetto/protos/third_party/chromium
+ third_party/pffft
+ third_party/ply
+ third_party/polymer
+ third_party/private-join-and-compute
+ third_party/private_membership
+ third_party/protobuf
+ third_party/pthreadpool
+ third_party/puffin
+ third_party/pyjson5
+ third_party/pyyaml
+ third_party/qcms
+ third_party/re2
+ third_party/rnnoise
+ third_party/rust
+ third_party/s2cellid
+ third_party/securemessage
+ third_party/selenium-atoms
+ third_party/sentencepiece
+ third_party/sentencepiece/src/third_party/darts_clone
+ third_party/shell-encryption
+ third_party/simplejson
+ third_party/skia
+ third_party/skia/include/third_party/vulkan
+ third_party/skia/third_party/vulkan
+ third_party/smhasher
+ third_party/snappy
+ third_party/sqlite
+ third_party/swiftshader
+ third_party/swiftshader/third_party/astc-encoder
+ third_party/swiftshader/third_party/llvm-subzero
+ third_party/swiftshader/third_party/marl
+ third_party/swiftshader/third_party/subzero
+ third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
+ third_party/swiftshader/third_party/SPIRV-Tools
+ third_party/tensorflow_models
+ third_party/tensorflow-text
+ third_party/tflite
+ third_party/tflite/src/third_party/eigen3
+ third_party/tflite/src/third_party/fft2d
+ third_party/tflite/src/third_party/xla/third_party/tsl
+ third_party/tflite/src/third_party/xla/xla/tsl/util
+ third_party/ruy
+ third_party/six
+ third_party/ukey2
+ third_party/unrar
+ third_party/utf
+ third_party/vulkan
+ third_party/wayland
+ third_party/webdriver
+ third_party/webgpu-cts
+ third_party/webrtc
+ third_party/webrtc/common_audio/third_party/ooura
+ third_party/webrtc/common_audio/third_party/spl_sqrt_floor
+ third_party/webrtc/modules/third_party/fft
+ third_party/webrtc/modules/third_party/g711
+ third_party/webrtc/modules/third_party/g722
+ third_party/webrtc/rtc_base/third_party/base64
+ third_party/webrtc/rtc_base/third_party/sigslot
+ third_party/widevine
+ third_party/woff2
+ third_party/wuffs
+ third_party/x11proto
+ third_party/xcbproto
+ third_party/xnnpack
+ third_party/zxcvbn-cpp
+ third_party/zlib/google
+ url/third_party/mozilla
+ v8/src/third_party/siphash
+ v8/src/third_party/valgrind
+ v8/src/third_party/utf8-decoder
+ v8/third_party/glibc
+ v8/third_party/inspector_protocol
+ v8/third_party/v8
+
+ # gyp -> gn leftovers
+ third_party/speech-dispatcher
+ third_party/usb_ids
+ third_party/xdg-utils
+ )
+
+ # USE=system-*
+ if ! use system-harfbuzz; then
+ keeplibs+=( third_party/harfbuzz-ng )
+ fi
+
+ if ! use system-icu; then
+ keeplibs+=( third_party/icu )
+ fi
+
+ if ! use system-png; then
+ keeplibs+=( third_party/libpng )
+ fi
+
+ if ! use system-zstd; then
+ keeplibs+=( third_party/zstd )
+ fi
+
+ if use libcxx || [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
+ keeplibs+=( third_party/libc++ )
+ fi
+
+ if ! use system-toolchain || [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == yes ]]; then
+ keeplibs+=( third_party/llvm )
+ fi
+
+ # Arch-specific
+ if use arm64 || use ppc64 ; then
+ keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
+ fi
+ # we need to generate ppc64 stuff because upstream does not ship it yet
+ # it has to be done before unbundling.
+ if use ppc64; then
+ pushd third_party/libvpx >/dev/null || die
+ mkdir -p source/config/linux/ppc64 || die
+ # requires git and clang, bug #832803
+ # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh
+ # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh
+ # since we're not in a git repo
+ sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \
+ generate_gni.sh || die
+ ./generate_gni.sh || die
+ popd >/dev/null || die
+
+ pushd third_party/ffmpeg >/dev/null || die
+ cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die
+ cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die
+ popd >/dev/null || die
+ fi
+
+ einfo "Unbundling third-party libraries ..."
+ # Remove most bundled libraries. Some are still needed.
+ build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
+
+ # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
+ mkdir -p buildtools/third_party/eu-strip/bin || die
+ ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
+}
+
+chromium_rust_version_check() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+ local rustc_version=( $(eselect --brief rust show 2>/dev/null) )
+ rustc_version=${rustc_version[0]#rust-bin-}
+ rustc_version=${rustc_version#rust-}
+
+ [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output"
+
+ echo $rustc_version
+}
+
+chromium_configure() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ local myconf_gn=""
+
+ if use system-toolchain && [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == no ]]; then
+ # Make sure the build system will use the right tools, bug #340795.
+ tc-export AR CC CXX NM
+
+ if needs_clang && ! tc-is-clang; then
+ # Force clang since gcc is either broken or build is using libcxx.
+ if tc-is-cross-compiler; then
+ CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}"
+ CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}"
+ BUILD_CC=${CBUILD}-clang
+ BUILD_CXX=${CBUILD}-clang++
+ else
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ fi
+ strip-unsupported-flags
+ fi
+
+ if tc-is-clang; then
+ myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
+ # Workaround for build failure with clang-18 and -march=native without
+ # avx512. Does not affect e.g. -march=skylake, only native (bug #931623).
+ use amd64 && is-flagq -march=native &&
+ [[ $(clang-major-version) -eq 18 ]] && [[ $(clang-minor-version) -lt 6 ]] &&
+ tc-cpp-is-true "!defined(__AVX512F__)" ${CXXFLAGS} &&
+ append-flags -mevex512
+ else
+ myconf_gn+=" is_clang=false"
+ fi
+
+ if needs_lld ; then
+ # https://bugs.gentoo.org/918897#c32
+ append-ldflags -Wl,--undefined-version
+ myconf_gn+=" use_lld=true"
+ else
+ # This doesn't prevent lld from being used, but rather prevents gn from forcing it
+ myconf_gn+=" use_lld=false"
+ fi
+
+ if use lto; then
+ AR=llvm-ar
+ NM=llvm-nm
+ if tc-is-cross-compiler; then
+ BUILD_AR=llvm-ar
+ BUILD_NM=llvm-nm
+ fi
+ fi
+
+ myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
+
+ if tc-is-cross-compiler; then
+ tc-export BUILD_{AR,CC,CXX,NM}
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
+ myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
+
+ # setup cups-config, build system only uses --libs option
+ if use cups; then
+ mkdir "${T}/cups-config" || die
+ cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
+ export PATH="${PATH}:${T}/cups-config"
+ fi
+
+ # Don't inherit PKG_CONFIG_PATH from environment
+ local -x PKG_CONFIG_PATH=
+ else
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
+ fi
+
+ local rustc_ver
+ rustc_ver=$(chromium_rust_version_check)
+ if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then
+ eerror "Rust >=${RUST_MIN_VER} is required"
+ eerror "Please run 'eselect rust' and select the correct rust version"
+ die "Selected rust version is too old"
+ else
+ einfo "Using rust ${rustc_ver} to build"
+ fi
+ if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then
+ myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\""
+ else
+ myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\""
+ fi
+ myconf_gn+=" rustc_version=\"${rustc_ver}\""
+ fi
+
+ # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
+ myconf_gn+=" is_debug=false"
+
+ # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138.
+ # DCHECK is fatal by default, make it configurable at runtime, #bug 807881.
+ myconf_gn+=" dcheck_always_on=$(usex debug true false)"
+ myconf_gn+=" dcheck_is_configurable=$(usex debug true false)"
+
+ # Component build isn't generally intended for use by end users. It's mostly useful
+ # for development and debugging.
+ myconf_gn+=" is_component_build=false"
+
+ # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
+ myconf_gn+=" enable_nacl=false"
+
+ # Use system-provided libraries.
+ # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
+ # TODO: use_system_hunspell (upstream changes needed).
+ # TODO: use_system_protobuf (bug #525560).
+ # TODO: use_system_sqlite (http://crbug.com/22208).
+
+ # libevent: https://bugs.gentoo.org/593458
+ local gn_system_libraries=(
+ flac
+ fontconfig
+ freetype
+ # Need harfbuzz_from_pkgconfig target
+ #harfbuzz-ng
+ libdrm
+ libjpeg
+ libwebp
+ libxml
+ libxslt
+ openh264
+ zlib
+ )
+ if use system-icu; then
+ gn_system_libraries+=( icu )
+ fi
+ if use system-png; then
+ gn_system_libraries+=( libpng )
+ fi
+ if use system-zstd; then
+ gn_system_libraries+=( zstd )
+ fi
+
+ build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
+
+ # See dependency logic in third_party/BUILD.gn
+ myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
+
+ # Optional dependencies.
+ myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
+ myconf_gn+=" enable_widevine=$(usex widevine true false)"
+
+ if use headless; then
+ myconf_gn+=" use_cups=false"
+ myconf_gn+=" use_kerberos=false"
+ myconf_gn+=" use_pulseaudio=false"
+ myconf_gn+=" use_vaapi=false"
+ myconf_gn+=" rtc_use_pipewire=false"
+ else
+ myconf_gn+=" use_cups=$(usex cups true false)"
+ myconf_gn+=" use_kerberos=$(usex kerberos true false)"
+ myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
+ myconf_gn+=" use_vaapi=$(usex vaapi true false)"
+ myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
+ myconf_gn+=" gtk_version=$(usex gtk4 4 3)"
+ fi
+
+ # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of
+ # using dlopen. This helps with automated detection of ABI mismatches and
+ # prevents silent errors.
+ if use pulseaudio; then
+ myconf_gn+=" link_pulseaudio=true"
+ fi
+
+ # Non-developer builds of Chromium (for example, non-Chrome browsers, or
+ # Chromium builds provided by Linux distros) should disable the testing config
+ myconf_gn+=" disable_fieldtrial_testing_config=true"
+
+ if use system-toolchain; then
+ myconf_gn+=" use_gold=false"
+ fi
+
+ # The sysroot is the oldest debian image that chromium supports, we don't need it
+ myconf_gn+=" use_sysroot=false"
+
+ # This determines whether or not GN uses the bundled libcxx
+ # default: true
+ if use libcxx || [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
+ myconf_gn+=" use_custom_libcxx=true"
+ else
+ myconf_gn+=" use_custom_libcxx=false"
+ fi
+
+ # Disable pseudolocales, only used for testing
+ myconf_gn+=" enable_pseudolocales=false"
+
+ # Disable code formating of generated files
+ myconf_gn+=" blink_enable_generated_code_formatting=false"
+
+ if use bindist ; then
+ # proprietary_codecs just forces Chromium to say that it can use h264/aac,
+ # the work is still done by ffmpeg. If this is set to no Chromium
+ # won't be able to load the codec even if the library can handle it
+ myconf_gn+=" proprietary_codecs=true"
+ myconf_gn+=" ffmpeg_branding=\"Chrome\""
+ # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute
+ myconf_gn+=" is_component_ffmpeg=true"
+ else
+ ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
+ myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
+ myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
+ fi
+
+ # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
+ # Note: these are for Gentoo use ONLY. For your own distribution,
+ # please get your own set of keys. Feel free to contact chromium@gentoo.org
+ # for more info. The OAuth2 credentials, however, have been left out.
+ # Those OAuth2 credentials have been broken for quite some time anyway.
+ # Instead we apply a patch to use the --oauth2-client-id= and
+ # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and
+ # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into
+ # Chromium without baked-in values.
+ local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
+ myconf_gn+=" google_api_key=\"${google_api_key}\""
+ local myarch="$(tc-arch)"
+
+ # Avoid CFLAGS problems, bug #352457, bug #390147.
+ if ! use custom-cflags; then
+ replace-flags "-Os" "-O2"
+ strip-flags
+
+ # Debug info section overflows without component build
+ # Prevent linker from running out of address space, bug #471810 .
+ filter-flags "-g*"
+
+ # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646.
+ if [[ ${myarch} == amd64 ]]; then
+ filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a
+ fi
+
+ if tc-is-gcc; then
+ # https://bugs.gentoo.org/904455
+ local -x CPP="$(tc-getCXX) -E"
+ # https://bugs.gentoo.org/912381
+ filter-lto
+ fi
+ fi
+
+ if [[ $myarch = amd64 ]] ; then
+ myconf_gn+=" target_cpu=\"x64\""
+ ffmpeg_target_arch=x64
+ elif [[ $myarch = arm64 ]] ; then
+ myconf_gn+=" target_cpu=\"arm64\""
+ ffmpeg_target_arch=arm64
+ elif [[ $myarch = ppc64 ]] ; then
+ myconf_gn+=" target_cpu=\"ppc64\""
+ ffmpeg_target_arch=ppc64
+ else
+ die "Failed to determine target arch, got '$myarch'."
+ fi
+
+ # Make sure that -Werror doesn't get added to CFLAGS by the build system.
+ # Depending on GCC version the warnings are different and we don't want
+ # the build to fail because of that.
+ myconf_gn+=" treat_warnings_as_errors=false"
+
+ # Disable fatal linker warnings, bug 506268.
+ myconf_gn+=" fatal_linker_warnings=false"
+
+ # Disable external code space for V8 for ppc64. It is disabled for ppc64
+ # by default, but cross-compiling on amd64 enables it again.
+ if tc-is-cross-compiler; then
+ if ! use amd64 && ! use arm64; then
+ myconf_gn+=" v8_enable_external_code_space=false"
+ fi
+ fi
+
+ # Only enabled for clang, but gcc has endian macros too
+ myconf_gn+=" v8_use_libm_trig_functions=true"
+
+ # Bug 491582.
+ export TMPDIR="${WORKDIR}/temp"
+ mkdir -p -m 755 "${TMPDIR}" || die
+
+ # https://bugs.gentoo.org/654216
+ addpredict /dev/dri/ #nowarn
+
+ # Disable unknown warning message from clang.
+ if tc-is-clang; then
+ append-flags -Wno-unknown-warning-option
+ if tc-is-cross-compiler; then
+ export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option"
+ export BUILD_CFLAGS+=" -Wno-unknown-warning-option"
+ fi
+ fi
+
+ # Explicitly disable ICU data file support for system-icu/headless builds.
+ if use system-icu || use headless; then
+ myconf_gn+=" icu_use_data_file=false"
+ fi
+
+ # Don't need nocompile checks and GN crashes with our config
+ myconf_gn+=" enable_nocompile_tests=false"
+
+ # Enable ozone wayland and/or headless support
+ myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
+ myconf_gn+=" ozone_platform_headless=true"
+ if use headless; then
+ myconf_gn+=" ozone_platform=\"headless\""
+ myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false"
+ myconf_gn+=" use_glib=false use_gio=false"
+ myconf_gn+=" use_pangocairo=false use_alsa=false"
+ myconf_gn+=" use_libpci=false use_udev=false"
+ myconf_gn+=" enable_print_preview=false"
+ myconf_gn+=" enable_remoting=false"
+ else
+ myconf_gn+=" use_system_libdrm=true"
+ myconf_gn+=" use_system_minigbm=true"
+ myconf_gn+=" use_xkbcommon=true"
+ if use qt5 || use qt6; then
+ local cbuild_libdir=$(get_libdir)
+ if tc-is-cross-compiler; then
+ # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
+ local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt)
+ cbuild_libdir=${cbuild_libdir:2}
+ cbuild_libdir=${cbuild_libdir/% }
+ fi
+ if use qt5; then
+ if tc-is-cross-compiler; then
+ myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\""
+ else
+ myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\""
+ fi
+ fi
+ if use qt6; then
+ myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\""
+ fi
+
+ myconf_gn+=" use_qt=true"
+ myconf_gn+=" use_qt6=$(usex qt6 true false)"
+ else
+ myconf_gn+=" use_qt=false"
+ fi
+ myconf_gn+=" ozone_platform_x11=$(usex X true false)"
+ myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)"
+ myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")"
+ use wayland && myconf_gn+=" use_system_libffi=true"
+ fi
+
+ # Results in undefined references in chrome linking, may require CFI to work
+ if use arm64; then
+ myconf_gn+=" arm_control_flow_integrity=\"none\""
+ fi
+
+ # Enable official builds
+ myconf_gn+=" is_official_build=$(usex official true false)"
+ myconf_gn+=" use_thin_lto=$(usex lto true false)"
+ myconf_gn+=" thin_lto_enable_optimizations=$(usex lto true false)"
+ if use official; then
+ # Allow building against system libraries in official builds
+ sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
+ tools/generate_shim_headers/generate_shim_headers.py || die
+ # Disable CFI: unsupported for GCC, requires clang+lto+lld
+ myconf_gn+=" is_cfi=false"
+ # Don't add symbols to build
+ myconf_gn+=" symbol_level=0"
+ fi
+
+ if use pgo; then
+ myconf_gn+=" chrome_pgo_phase=${1}"
+ if [[ "$1" == "2" ]]; then
+ myconf_gn+=" pgo_data_path=\"${2}\""
+ fi
+ else
+ # Disable PGO
+ myconf_gn+=" chrome_pgo_phase=0"
+ fi
+
+ # user CXXFLAGS might overwrite -march=armv8-a+crc+crypto, bug #851639
+ if use arm64 && tc-is-gcc; then
+ sed -i '/^#if HAVE_ARM64_CRC32C/a #pragma GCC target ("+crc+crypto")' \
+ third_party/crc32c/src/src/crc32c_arm64.cc || die
+ fi
+
+ # skipping typecheck is only supported on amd64, bug #876157
+ if ! use amd64; then
+ myconf_gn+=" devtools_skip_typecheck=false"
+ fi
+
+ einfo "Configuring Chromium ..."
+ set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
+ echo "$@"
+ "$@" || die
+}
+
+src_configure() {
+ chromium_configure $(usex pgo 1 0)
+}
+
+chromium_compile() {
+ # Final link uses lots of file descriptors.
+ ulimit -n 2048
+
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # Don't inherit PYTHONPATH from environment, bug #789021, #812689
+ local -x PYTHONPATH=
+
+ # Build mksnapshot and pax-mark it.
+ if use pax-kernel; then
+ local x
+ for x in mksnapshot v8_context_snapshot_generator; do
+ if tc-is-cross-compiler; then
+ eninja -C out/Release "host/${x}"
+ pax-mark m "out/Release/host/${x}"
+ else
+ eninja -C out/Release "${x}"
+ pax-mark m "out/Release/${x}"
+ fi
+ done
+ fi
+
+ # Even though ninja autodetects number of CPUs, we respect
+ # user's options, for debugging with -j 1 or any other reason.
+ eninja -C out/Release chrome chromedriver chrome_sandbox
+
+ pax-mark m out/Release/chrome
+
+ if ! use system-toolchain; then
+ QA_FLAGS_IGNORED="
+ usr/lib64/chromium-browser/chrome
+ usr/lib64/chromium-browser/chrome-sandbox
+ usr/lib64/chromium-browser/chromedriver
+ usr/lib64/chromium-browser/chrome_crashpad_handler
+ usr/lib64/chromium-browser/libEGL.so
+ usr/lib64/chromium-browser/libGLESv2.so
+ usr/lib64/chromium-browser/libVkICD_mock_icd.so
+ usr/lib64/chromium-browser/libVkLayer_khronos_validation.so
+ usr/lib64/chromium-browser/libqt5_shim.so
+ usr/lib64/chromium-browser/libvk_swiftshader.so
+ usr/lib64/chromium-browser/libvulkan.so.1
+ "
+ fi
+}
+
+# This function is called from virtx, and must always return so that Xvfb
+# session isn't left running. If we return 1, virtx will call die().
+chromium_profile() {
+ einfo "Profiling for PGO"
+
+ pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1
+
+ # Remove old profdata in case profiling was interrupted.
+ rm -rf "${1}" || return 1
+
+ if ! "${EPYTHON}" ./chromium_profiler.py \
+ --chrome-executable "${S}/out/Release/chrome" \
+ --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \
+ --add-arg no-sandbox --add-arg disable-dev-shm-usage \
+ --profile-output "${1}"; then
+ eerror "Profiling failed"
+ return 1
+ fi
+
+ popd >/dev/null || return 1
+}
+
+src_compile() {
+ if use pgo; then
+ local profdata
+
+ profdata="${WORKDIR}/chromium.profdata"
+
+ if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then
+ chromium_compile
+ virtx chromium_profile "$profdata"
+
+ touch "${WORKDIR}/.pgo-profiled" || die
+ fi
+
+ if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then
+ # Remove phase 1 output
+ rm -r out/Release || die
+
+ chromium_configure 2 "$profdata"
+
+ touch "${WORKDIR}/.pgo-phase-2-configured" || die
+ fi
+
+ if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then
+ chromium_compile
+ touch "${WORKDIR}/.pgo-phase-2-compiled" || die
+ fi
+ else
+ chromium_compile
+ fi
+
+ mv out/Release/chromedriver{.unstripped,} || die
+
+ rm -f out/Release/locales/*.pak.info || die
+
+ # Build manpage; bug #684550
+ sed -e 's|@@PACKAGE@@|chromium-browser|g;
+ s|@@MENUNAME@@|Chromium|g;' \
+ chrome/app/resources/manpage.1.in > \
+ out/Release/chromium-browser.1 || die
+
+ # Build desktop file; bug #706786
+ sed -e 's|@@MENUNAME@@|Chromium|g;
+ s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
+ s|@@PACKAGE@@|chromium-browser|g;
+ s|\(^Exec=\)/usr/bin/|\1|g;' \
+ chrome/installer/linux/common/desktop.template > \
+ out/Release/chromium-browser-chromium.desktop || die
+
+ # Build vk_swiftshader_icd.json; bug #827861
+ sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \
+ third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \
+ out/Release/vk_swiftshader_icd.json || die
+}
+
+src_install() {
+ local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
+ exeinto "${CHROMIUM_HOME}"
+ doexe out/Release/chrome
+
+ newexe out/Release/chrome_sandbox chrome-sandbox
+ fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
+
+ doexe out/Release/chromedriver
+ doexe out/Release/chrome_crashpad_handler
+
+ ozone_auto_session () {
+ use X && use wayland && ! use headless && echo true || echo false
+ }
+ local sedargs=( -e
+ "s:/usr/lib/:/usr/$(get_libdir)/:g;
+ s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
+ )
+ sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die
+ doexe chromium-launcher.sh
+
+ # It is important that we name the target "chromium-browser",
+ # xdg-utils expect it; bug #355517.
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
+ # keep the old symlink around for consistency
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
+
+ dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
+
+ # Allow users to override command-line options, bug #357629.
+ insinto /etc/chromium
+ newins "${FILESDIR}/chromium.default" "default"
+
+ pushd out/Release/locales > /dev/null || die
+ chromium_remove_language_paks
+ popd
+
+ insinto "${CHROMIUM_HOME}"
+ doins out/Release/*.bin
+ doins out/Release/*.pak
+
+ if use bindist; then
+ # We built libffmpeg as a component library, but we can't distribute it
+ # with proprietary codec support. Remove it and make a symlink to the requested
+ # system library.
+ rm -f out/Release/libffmpeg.so \
+ || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)"
+ # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium].
+ einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..."
+ dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \
+ /usr/$(get_libdir)/chromium-browser/libffmpeg.so
+ fi
+
+ (
+ shopt -s nullglob
+ local files=(out/Release/*.so out/Release/*.so.[0-9])
+ [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
+ )
+
+ # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland"
+ doins out/Release/xdg-{settings,mime}
+
+ if ! use system-icu && ! use headless; then
+ doins out/Release/icudtl.dat
+ fi
+
+ doins -r out/Release/locales
+ doins -r out/Release/MEIPreload
+
+ # Install vk_swiftshader_icd.json; bug #827861
+ doins out/Release/vk_swiftshader_icd.json
+
+ if [[ -d out/Release/swiftshader ]]; then
+ insinto "${CHROMIUM_HOME}/swiftshader"
+ doins out/Release/swiftshader/*.so
+ fi
+
+ # Install icons
+ local branding size
+ for size in 16 24 32 48 64 128 256 ; do
+ case ${size} in
+ 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
+ *) branding="chrome/app/theme/chromium" ;;
+ esac
+ newicon -s ${size} "${branding}/product_logo_${size}.png" \
+ chromium-browser.png
+ done
+
+ # Install desktop entry
+ domenu out/Release/chromium-browser-chromium.desktop
+
+ # Install GNOME default application entry (bug #303100).
+ insinto /usr/share/gnome-control-center/default-apps
+ newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
+
+ # Install manpage; bug #684550
+ doman out/Release/chromium-browser.1
+ dosym chromium-browser.1 /usr/share/man/man1/chromium.1
+
+ readme.gentoo_create_doc
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ readme.gentoo_print_elog
+
+ if ! use headless; then
+ if use vaapi; then
+ elog "VA-API is disabled by default at runtime. You have to enable it"
+ elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
+ elog "in /etc/chromium/default."
+ fi
+ if use screencast; then
+ elog "Screencast is disabled by default at runtime. Either enable it"
+ elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
+ elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+ if use gtk4; then
+ elog "Chromium prefers GTK3 over GTK4 at runtime. To override this"
+ elog "behavior you need to pass --gtk-version=4, e.g. by adding it"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+ if use qt5 && use qt6; then
+ elog "Chromium automatically selects Qt5 or Qt6 based on your desktop"
+ elog "environment. To override you need to pass --qt-version=5 or"
+ elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in"
+ elog "/etc/chromium/default."
+ fi
+ fi
+
+ 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-126.0.6478.8.ebuild b/www-client/chromium/chromium-126.0.6478.8.ebuild
new file mode 100644
index 000000000000..11b4f1f6b96b
--- /dev/null
+++ b/www-client/chromium/chromium-126.0.6478.8.ebuild
@@ -0,0 +1,1452 @@
+# Copyright 2009-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..13} )
+PYTHON_REQ_USE="xml(+)"
+
+# PACKAGING NOTES
+
+# Google roll their bundled Clang every two weeks, and the bundled Rust
+# is rolled regularly and depends on that. While we do our best to build
+# with system Clang, we will eventually hit the point where we need to use
+# the bundled Clang due to the use of prerelease features. We've been lucky
+# enough so far that this hasn't been an issue.
+
+# We try and avoid forcing the use of the custom/bundled libcxx, but sometimes
+# it is unavoidable. Remember to force the use of Clang when this is forced.
+
+# GCC is _not_ supported upstream, though patches are welcome. We do our
+# best to enable builds with GCC but reserve the right to force Clang
+# builds if we can't keep up with upstream's changes. Please comment
+# when forcing Clang builds so we can track the need for it.
+
+# GN is bundled with Chromium, but we always use the system version. Remember to
+# check for upstream changes to GN and update ebuild (and version below) as required.
+
+# For binhost users, if USE=bindist is set, we configure Chromium in a way that it is able
+# to use proprietary codecs, and so that ffmpeg is an external component (libffmpeg.so),
+# then we remove ffmpeg from the image to ensure that the built package is distributable
+# (i.e. we don't owe royalties). A suitable libffmpeg.so is symlinked in its place;
+# as a result of this, ffmpeg[chromium] or ffmpeg-chromium must be installed on the system.
+
+# For non-binhost builds, we build the bundled ffmpeg and enable proprietary codecs because there's
+# no reason not to. Todo: Re-enable USE=system-ffmpeg.
+
+# These variables let us easily bound supported major dependency versions in one place.
+GCC_MIN_VER=12
+GN_MIN_VER=0.2165
+# Since Google use prerelease llvm we can let any adventurous users try to build with prerelease
+# ebuilds; try to keep this up to date with the latest version in the tree.
+LLVM_MAX_SLOT=19
+LLVM_MIN_SLOT=17
+RUST_MIN_VER=1.72.0
+# chromium-tools/get-chromium-toolchain-strings.sh
+GOOGLE_CLANG_VER=llvmorg-19-init-9433-g76ea5feb-1
+GOOGLE_RUST_VER=31e6e8c6c5b6ce62656c922c7384d3376018c980-2
+
+# https://bugs.chromium.org/p/v8/issues/detail?id=14449 - V8 used in 120 can't build with GCC
+# Resolved upstream, requires testing and some backporting I'm sure
+: ${CHROMIUM_FORCE_CLANG=yes}
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101227 - Chromium 120:
+# webrtc - no matching member function for call to 'emplace'
+: ${CHROMIUM_FORCE_LIBCXX=yes}
+# 121's 'gcc_link_wrapper.py' currently fails if not using lld due to the addition of rust
+: ${CHROMIUM_FORCE_LLD=yes}
+
+: ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no}
+
+VIRTUALX_REQUIRED="pgo"
+
+CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he
+ hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr
+ sv sw ta te th tr uk ur vi zh-CN zh-TW"
+
+inherit check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils
+inherit python-any-r1 qmake-utils readme.gentoo-r1 systemd toolchain-funcs virtualx xdg-utils
+
+DESCRIPTION="Open-source version of Google Chrome web browser"
+HOMEPAGE="https://www.chromium.org/"
+PATCHSET_PPC64="123.0.6312.105-1raptor0~deb12u1"
+PATCH_V="${PV%%\.*}"
+SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
+ system-toolchain? (
+ https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2
+ )
+ !system-toolchain? (
+ https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${GOOGLE_CLANG_VER}.tar.xz
+ -> chromium-${PV%%\.*}-clang.tar.xz
+ https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%??}.tar.xz
+ -> chromium-${PV%%\.*}-rust.tar.xz
+ )
+ ppc64? (
+ https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz
+ https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz
+ )
+ pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )"
+
+LICENSE="BSD"
+SLOT="0/beta"
+KEYWORDS="~amd64 ~arm64"
+IUSE_SYSTEM_LIBS="+system-harfbuzz +system-icu +system-png +system-zstd"
+IUSE="+X ${IUSE_SYSTEM_LIBS} bindist cups debug ffmpeg-chromium gtk4 +hangouts headless kerberos libcxx +lto +official pax-kernel pgo +proprietary-codecs pulseaudio"
+IUSE+=" qt5 qt6 +screencast selinux +system-toolchain +vaapi +wayland +widevine"
+RESTRICT="!bindist? ( bindist )"
+
+REQUIRED_USE="
+ !headless? ( || ( X wayland ) )
+ pgo? ( X !wayland )
+ qt6? ( qt5 )
+ screencast? ( wayland )
+ !system-toolchain? ( libcxx )
+ ffmpeg-chromium? ( bindist proprietary-codecs )
+"
+
+COMMON_X_DEPEND="
+ x11-libs/libXcomposite:=
+ x11-libs/libXcursor:=
+ x11-libs/libXdamage:=
+ x11-libs/libXfixes:=
+ >=x11-libs/libXi-1.6.0:=
+ x11-libs/libXrandr:=
+ x11-libs/libXrender:=
+ x11-libs/libXtst:=
+ x11-libs/libxshmfence:=
+"
+
+COMMON_SNAPSHOT_DEPEND="
+ system-icu? ( >=dev-libs/icu-71.1:= )
+ >=dev-libs/libxml2-2.12.4:=[icu]
+ dev-libs/nspr:=
+ >=dev-libs/nss-3.26:=
+ dev-libs/libxslt:=
+ media-libs/fontconfig:=
+ >=media-libs/freetype-2.11.0-r1:=
+ system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] )
+ media-libs/libjpeg-turbo:=
+ system-png? ( media-libs/libpng:=[-apng(-)] )
+ system-zstd? ( >=app-arch/zstd-1.5.5:= )
+ >=media-libs/libwebp-0.4.0:=
+ media-libs/mesa:=[gbm(+)]
+ >=media-libs/openh264-1.6.0:=
+ sys-libs/zlib:=
+ x11-libs/libdrm:=
+ !headless? (
+ dev-libs/glib:2
+ >=media-libs/alsa-lib-1.0.19:=
+ pulseaudio? ( media-libs/libpulse:= )
+ sys-apps/pciutils:=
+ kerberos? ( virtual/krb5 )
+ vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] )
+ X? (
+ x11-libs/libX11:=
+ x11-libs/libXext:=
+ x11-libs/libxcb:=
+ )
+ x11-libs/libxkbcommon:=
+ wayland? (
+ dev-libs/libffi:=
+ dev-libs/wayland:=
+ screencast? ( media-video/pipewire:= )
+ )
+ )
+"
+
+COMMON_DEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
+ app-arch/bzip2:=
+ dev-libs/expat:=
+ net-misc/curl[ssl]
+ sys-apps/dbus:=
+ media-libs/flac:=
+ sys-libs/zlib:=[minizip]
+ !headless? (
+ X? ( ${COMMON_X_DEPEND} )
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ media-libs/mesa:=[X?,wayland?]
+ cups? ( >=net-print/cups-1.3.11:= )
+ virtual/udev
+ x11-libs/cairo:=
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango:=
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtwidgets:5
+ )
+ qt6? ( dev-qt/qtbase:6[gui,widgets] )
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !headless? (
+ || (
+ x11-libs/gtk+:3[X?,wayland?]
+ gui-libs/gtk:4[X?,wayland?]
+ )
+ qt5? ( dev-qt/qtgui:5[X?,wayland?] )
+ qt6? ( dev-qt/qtbase:6[X?,wayland?] )
+ )
+ virtual/ttf-fonts
+ selinux? ( sec-policy/selinux-chromium )
+ bindist? (
+ !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] )
+ ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} )
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ !headless? (
+ gtk4? ( gui-libs/gtk:4[X?,wayland?] )
+ !gtk4? ( x11-libs/gtk+:3[X?,wayland?] )
+ )
+"
+
+depend_clang_llvm_version() {
+ echo "sys-devel/clang:$1"
+ echo "sys-devel/llvm:$1"
+ echo "=sys-devel/lld-$1*"
+}
+
+# When passed multiple arguments we assume that
+# we want a range of versions, inclusive.
+depend_clang_llvm_versions() {
+ local _v
+ if [[ $# -eq 1 ]]; then
+ depend_clang_llvm_version "$1"
+ elif [[ $# -eq 2 ]]; then
+ if [[ $1 -eq $2 ]]; then
+ depend_clang_llvm_version "$1"
+ fi
+ echo "|| ("
+ for ((i=$1; i<=$2; i++)); do
+ echo "("
+ depend_clang_llvm_version "${i}"
+ echo ")"
+ done
+ echo ")"
+ else
+ die "depend_clang_llvm_versions() requires 1 or 2 arguments"
+ fi
+}
+
+BDEPEND="
+ ${COMMON_SNAPSHOT_DEPEND}
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ >=app-arch/gzip-1.7
+ !headless? (
+ qt5? ( dev-qt/qtcore:5 )
+ qt6? ( dev-qt/qtbase:6 )
+ )
+ system-toolchain? (
+ libcxx? ( >=sys-devel/clang-${LLVM_MIN_SLOT} )
+ lto? ( $(depend_clang_llvm_versions ${LLVM_MIN_SLOT} ${LLVM_MAX_SLOT}) )
+ pgo? (
+ >=dev-python/selenium-3.141.0
+ >=dev-util/web_page_replay_go-20220314
+ $(depend_clang_llvm_versions ${LLVM_MIN_SLOT} ${LLVM_MAX_SLOT})
+ )
+ >=virtual/rust-${RUST_MIN_VER}[profiler(-)]
+ )
+ >=dev-build/gn-${GN_MIN_VER}
+ dev-build/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 [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
+ BDEPEND+="system-toolchain? ( >=sys-devel/clang-${LLVM_MIN_SLOT} ) "
+fi
+
+if [[ ${CHROMIUM_FORCE_LLD} == yes ]]; then
+ BDEPEND+="system-toolchain? ( >=sys-devel/lld-${LLVM_MIN_SLOT} ) "
+else
+ # #918897: Hack for arm64
+ BDEPEND+=" arm64? ( >=sys-devel/lld-${LLVM_MIN_SLOT} )"
+fi
+
+if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
+ EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
+fi
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+Some web pages may require additional fonts to display properly.
+Try installing some of the following packages if some characters
+are not displayed properly:
+- media-fonts/arphicfonts
+- media-fonts/droid
+- media-fonts/ipamonafont
+- media-fonts/noto
+- media-fonts/ja-ipafonts
+- media-fonts/takao-fonts
+- media-fonts/wqy-microhei
+- media-fonts/wqy-zenhei
+
+To fix broken icons on the Downloads page, you should install an icon
+theme that covers the appropriate MIME types, and configure this as your
+GTK+ icon theme.
+
+For native file dialogs in KDE, install kde-apps/kdialog.
+
+To make password storage work with your desktop environment you may
+have install one of the supported credentials management applications:
+- app-crypt/libsecret (GNOME)
+- kde-frameworks/kwallet (KDE)
+If you have one of above packages installed, but don't want to use
+them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS
+in /etc/chromium/default.
+"
+
+python_check_deps() {
+ python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+needs_clang() {
+ [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx || use lto || use pgo
+}
+
+needs_lld() {
+ # #641556: Force lld for lto and pgo builds, otherwise disable
+ # #918897: Temporary hack w/ use arm64
+ [[ ${CHROMIUM_FORCE_LLD} == yes ]] || use lto || use pgo || use arm64
+}
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ( use lto || use pgo ) && ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+ einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+pre_build_checks() {
+ # Check build requirements: bugs #471810, #541816, #914220
+ # We're going to start doing maths here on the size of an unpacked source tarball,
+ # this should make updates easier as chromium continues to balloon in size.
+ local BASE_DISK=22
+ local EXTRA_DISK=1
+ local CHECKREQS_MEMORY="4G"
+ tc-is-cross-compiler && EXTRA_DISK=2
+ if use lto || use pgo; then
+ CHECKREQS_MEMORY="9G"
+ tc-is-cross-compiler && EXTRA_DISK=4
+ use pgo && EXTRA_DISK=8
+ fi
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ if use custom-cflags; then
+ EXTRA_DISK=13
+ fi
+ CHECKREQS_MEMORY="16G"
+ fi
+ CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G"
+ check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
+ pre_build_checks
+ fi
+
+ if use headless; then
+ local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland")
+ for myiuse in ${headless_unused_flags[@]}; do
+ use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set."
+ done
+ fi
+
+ if ! use bindist && use ffmpeg-chromium; then
+ ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set."
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ # The pre_build_checks are all about compilation resources, no need to run it for a binpkg
+ pre_build_checks
+
+ if use system-toolchain; then
+ local -x CPP="$(tc-getCXX) -E"
+ if tc-is-gcc && ! ver_test "$(gcc-version)" -ge ${GCC_MIN_VER}; then
+ die "At least gcc ${GCC_MIN_VER} is required"
+ fi
+ if use pgo && tc-is-cross-compiler; then
+ die "The pgo USE flag cannot be used when cross-compiling"
+ fi
+ if needs_clang && ! tc-is-clang; then
+ if tc-is-cross-compiler; then
+ CPP="${CBUILD}-clang++ -E"
+ else
+ CPP="${CHOST}-clang++ -E"
+ fi
+ fi
+ if needs_clang || tc-is-clang; then
+ if ver_test "$(clang-major-version)" -lt ${LLVM_MIN_SLOT}; then
+ die "At least Clang ${LLVM_MIN_SLOT} is required"
+ fi
+ # Ideally we never see this, but it should help prevent bugs like 927154
+ if ver_test "$(clang-major-version)" -gt ${LLVM_MAX_SLOT}; then
+ die "Clang $(clang-major-version) is too new; ${LLVM_MAX_SLOT} is the highest supported version"
+ fi
+ fi
+ fi
+ # Users should never hit this, it's purely a development convenience
+ if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then
+ die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium"
+ fi
+ fi
+
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_prepare() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # disable global media controls, crashes with libstdc++
+ sed -i -e \
+ "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \
+ "chrome/browser/media/router/media_router_feature.cc" || die
+
+ local PATCHES=(
+ "${FILESDIR}/chromium-109-system-zlib.patch"
+ "${FILESDIR}/chromium-111-InkDropHost-crash.patch"
+ "${FILESDIR}/chromium-125-system-zstd.patch"
+ "${FILESDIR}/chromium-126-oauth2-client-switches.patch"
+ "${FILESDIR}/chromium-cross-compile.patch"
+ )
+
+ if use system-toolchain; then
+ # The patchset is really only required if we're using the system-toolchain
+ PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" )
+ # We can't use the bundled compiler builtins
+ sed -i -e \
+ "/if (is_clang && toolchain_has_rust) {/,+2d" \
+ build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins"
+ else
+ mkdir -p third_party/llvm-build/Release+Asserts || die "Failed to bundle llvm"
+ ln -s "${WORKDIR}"/bin third_party/llvm-build/Release+Asserts/bin || die "Failed to symlink llvm bin"
+ ln -s "${WORKDIR}"/lib third_party/llvm-build/Release+Asserts/lib || die "Failed to symlink llvm lib"
+ echo "${GOOGLE_CLANG_VER}" > third_party/llvm-build/Release+Asserts/cr_build_revision || \
+ die "Failed to set clang version"
+ ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust"
+ cp "${WORKDIR}"/rust-toolchain/VERSION \
+ "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version"
+ fi
+
+ if use ppc64 ; then
+ local p
+ for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do
+ if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then
+ eapply "${WORKDIR}/debian/patches/${p}"
+ fi
+ done
+ PATCHES+=( "${WORKDIR}/ppc64le" )
+ PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" )
+ fi
+
+ default
+
+ mkdir -p third_party/node/linux/node-linux-x64/bin || die
+ ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
+
+ # adjust python interpreter version
+ sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die
+
+ local keeplibs=(
+ base/third_party/cityhash
+ base/third_party/double_conversion
+ base/third_party/icu
+ base/third_party/nspr
+ base/third_party/superfasthash
+ base/third_party/symbolize
+ base/third_party/valgrind
+ base/third_party/xdg_user_dirs
+ buildtools/third_party/libc++
+ buildtools/third_party/libc++abi
+ chrome/third_party/mozilla_security_manager
+ courgette/third_party
+ net/third_party/mozilla_security_manager
+ net/third_party/nss
+ net/third_party/quic
+ net/third_party/uri_template
+ third_party/abseil-cpp
+ third_party/angle
+ third_party/angle/src/common/third_party/xxhash
+ third_party/angle/src/third_party/ceval
+ third_party/angle/src/third_party/libXNVCtrl
+ third_party/angle/src/third_party/volk
+ third_party/anonymous_tokens
+ third_party/apple_apsl
+ third_party/axe-core
+ third_party/blink
+ third_party/bidimapper
+ third_party/boringssl
+ third_party/boringssl/src/third_party/fiat
+ third_party/breakpad
+ third_party/breakpad/breakpad/src/third_party/curl
+ third_party/brotli
+ third_party/catapult
+ third_party/catapult/common/py_vulcanize/third_party/rcssmin
+ third_party/catapult/common/py_vulcanize/third_party/rjsmin
+ third_party/catapult/third_party/beautifulsoup4-4.9.3
+ third_party/catapult/third_party/html5lib-1.1
+ third_party/catapult/third_party/polymer
+ third_party/catapult/third_party/six
+ third_party/catapult/tracing/third_party/d3
+ third_party/catapult/tracing/third_party/gl-matrix
+ third_party/catapult/tracing/third_party/jpeg-js
+ third_party/catapult/tracing/third_party/jszip
+ third_party/catapult/tracing/third_party/mannwhitneyu
+ third_party/catapult/tracing/third_party/oboe
+ third_party/catapult/tracing/third_party/pako
+ third_party/ced
+ third_party/cld_3
+ third_party/closure_compiler
+ third_party/content_analysis_sdk
+ third_party/cpuinfo
+ third_party/crashpad
+ third_party/crashpad/crashpad/third_party/lss
+ third_party/crashpad/crashpad/third_party/zlib
+ third_party/crc32c
+ third_party/cros_system_api
+ third_party/d3
+ third_party/dav1d
+ third_party/dawn
+ third_party/dawn/third_party/gn/webgpu-cts
+ third_party/dawn/third_party/khronos
+ third_party/depot_tools
+ third_party/devscripts
+ third_party/devtools-frontend
+ third_party/devtools-frontend/src/front_end/third_party/acorn
+ third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json
+ third_party/devtools-frontend/src/front_end/third_party/axe-core
+ third_party/devtools-frontend/src/front_end/third_party/chromium
+ third_party/devtools-frontend/src/front_end/third_party/codemirror
+ third_party/devtools-frontend/src/front_end/third_party/csp_evaluator
+ third_party/devtools-frontend/src/front_end/third_party/diff
+ third_party/devtools-frontend/src/front_end/third_party/i18n
+ third_party/devtools-frontend/src/front_end/third_party/intl-messageformat
+ third_party/devtools-frontend/src/front_end/third_party/lighthouse
+ third_party/devtools-frontend/src/front_end/third_party/lit
+ third_party/devtools-frontend/src/front_end/third_party/lodash-isequal
+ third_party/devtools-frontend/src/front_end/third_party/marked
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt
+ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs
+ third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data
+ third_party/devtools-frontend/src/front_end/third_party/wasmparser
+ third_party/devtools-frontend/src/third_party
+ third_party/distributed_point_functions
+ third_party/dom_distiller_js
+ third_party/eigen3
+ third_party/emoji-segmenter
+ third_party/farmhash
+ third_party/fdlibm
+ third_party/ffmpeg
+ third_party/fft2d
+ third_party/flatbuffers
+ third_party/fp16
+ third_party/freetype
+ third_party/fusejs
+ third_party/fxdiv
+ third_party/highway
+ third_party/liburlpattern
+ third_party/libzip
+ third_party/lit
+ third_party/gemmlowp
+ third_party/google_input_tools
+ third_party/google_input_tools/third_party/closure_library
+ third_party/google_input_tools/third_party/closure_library/third_party/closure
+ third_party/googletest
+ third_party/hunspell
+ third_party/iccjpeg
+ third_party/inspector_protocol
+ third_party/ipcz
+ third_party/jinja2
+ third_party/jsoncpp
+ third_party/jstemplate
+ third_party/khronos
+ third_party/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/libavif
+ third_party/libevent
+ third_party/libgav1
+ third_party/libjingle
+ third_party/libphonenumber
+ third_party/libsecret
+ third_party/libsrtp
+ third_party/libsync
+ third_party/libudev
+ third_party/libva_protected_content
+ third_party/libvpx
+ third_party/libvpx/source/libvpx/third_party/x86inc
+ third_party/libwebm
+ third_party/libx11
+ third_party/libxcb-keysyms
+ third_party/libxml/chromium
+ third_party/libyuv
+ third_party/lottie
+ third_party/lss
+ third_party/lzma_sdk
+ third_party/mako
+ third_party/maldoca
+ third_party/maldoca/src/third_party/tensorflow_protos
+ third_party/maldoca/src/third_party/zlibwrapper
+ third_party/markupsafe
+ third_party/material_color_utilities
+ third_party/mesa
+ third_party/metrics_proto
+ third_party/minigbm
+ third_party/modp_b64
+ third_party/nasm
+ third_party/nearby
+ third_party/neon_2_sse
+ third_party/node
+ third_party/omnibox_proto
+ third_party/one_euro_filter
+ third_party/openscreen
+ third_party/openscreen/src/third_party/
+ third_party/openscreen/src/third_party/tinycbor/src/src
+ third_party/opus
+ third_party/ots
+ third_party/pdfium
+ third_party/pdfium/third_party/agg23
+ third_party/pdfium/third_party/bigint
+ third_party/pdfium/third_party/freetype
+ third_party/pdfium/third_party/lcms
+ third_party/pdfium/third_party/libopenjpeg
+ third_party/pdfium/third_party/libtiff
+ third_party/perfetto
+ third_party/perfetto/protos/third_party/chromium
+ third_party/pffft
+ third_party/ply
+ third_party/polymer
+ third_party/private-join-and-compute
+ third_party/private_membership
+ third_party/protobuf
+ third_party/pthreadpool
+ third_party/puffin
+ third_party/pyjson5
+ third_party/pyyaml
+ third_party/qcms
+ third_party/re2
+ third_party/rnnoise
+ third_party/rust
+ third_party/s2cellid
+ third_party/securemessage
+ third_party/selenium-atoms
+ third_party/sentencepiece
+ third_party/sentencepiece/src/third_party/darts_clone
+ third_party/shell-encryption
+ third_party/simplejson
+ third_party/skia
+ third_party/skia/include/third_party/vulkan
+ third_party/skia/third_party/vulkan
+ third_party/smhasher
+ third_party/snappy
+ third_party/sqlite
+ third_party/swiftshader
+ third_party/swiftshader/third_party/astc-encoder
+ third_party/swiftshader/third_party/llvm-subzero
+ third_party/swiftshader/third_party/marl
+ third_party/swiftshader/third_party/subzero
+ third_party/swiftshader/third_party/SPIRV-Headers/include/spirv
+ third_party/swiftshader/third_party/SPIRV-Tools
+ third_party/tensorflow_models
+ third_party/tensorflow-text
+ third_party/tflite
+ third_party/tflite/src/third_party/eigen3
+ third_party/tflite/src/third_party/fft2d
+ third_party/tflite/src/third_party/xla/third_party/tsl
+ third_party/tflite/src/third_party/xla/xla/tsl/util
+ third_party/ruy
+ third_party/six
+ third_party/ukey2
+ third_party/unrar
+ third_party/utf
+ third_party/vulkan
+ third_party/wayland
+ third_party/webdriver
+ third_party/webgpu-cts
+ third_party/webrtc
+ third_party/webrtc/common_audio/third_party/ooura
+ third_party/webrtc/common_audio/third_party/spl_sqrt_floor
+ third_party/webrtc/modules/third_party/fft
+ third_party/webrtc/modules/third_party/g711
+ third_party/webrtc/modules/third_party/g722
+ third_party/webrtc/rtc_base/third_party/base64
+ third_party/webrtc/rtc_base/third_party/sigslot
+ third_party/widevine
+ third_party/woff2
+ third_party/wuffs
+ third_party/x11proto
+ third_party/xcbproto
+ third_party/xnnpack
+ third_party/zxcvbn-cpp
+ third_party/zlib/google
+ url/third_party/mozilla
+ v8/src/third_party/siphash
+ v8/src/third_party/valgrind
+ v8/src/third_party/utf8-decoder
+ v8/third_party/glibc
+ v8/third_party/inspector_protocol
+ v8/third_party/v8
+
+ # gyp -> gn leftovers
+ third_party/speech-dispatcher
+ third_party/usb_ids
+ third_party/xdg-utils
+ )
+
+ # USE=system-*
+ if ! use system-harfbuzz; then
+ keeplibs+=( third_party/harfbuzz-ng )
+ fi
+
+ if ! use system-icu; then
+ keeplibs+=( third_party/icu )
+ fi
+
+ if ! use system-png; then
+ keeplibs+=( third_party/libpng )
+ fi
+
+ if ! use system-zstd; then
+ keeplibs+=( third_party/zstd )
+ fi
+
+ if use libcxx || [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
+ keeplibs+=( third_party/libc++ )
+ fi
+
+ if ! use system-toolchain || [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == yes ]]; then
+ keeplibs+=( third_party/llvm )
+ fi
+
+ # Arch-specific
+ if use arm64 || use ppc64 ; then
+ keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 )
+ fi
+ # we need to generate ppc64 stuff because upstream does not ship it yet
+ # it has to be done before unbundling.
+ if use ppc64; then
+ pushd third_party/libvpx >/dev/null || die
+ mkdir -p source/config/linux/ppc64 || die
+ # requires git and clang, bug #832803
+ # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh
+ # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh
+ # since we're not in a git repo
+ sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \
+ generate_gni.sh || die
+ ./generate_gni.sh || die
+ popd >/dev/null || die
+
+ pushd third_party/ffmpeg >/dev/null || die
+ cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die
+ cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die
+ popd >/dev/null || die
+ fi
+
+ einfo "Unbundling third-party libraries ..."
+ # Remove most bundled libraries. Some are still needed.
+ build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
+
+ # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries
+ mkdir -p buildtools/third_party/eu-strip/bin || die
+ ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die
+}
+
+chromium_rust_version_check() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+ local rustc_version=( $(eselect --brief rust show 2>/dev/null) )
+ rustc_version=${rustc_version[0]#rust-bin-}
+ rustc_version=${rustc_version#rust-}
+
+ [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output"
+
+ echo $rustc_version
+}
+
+chromium_configure() {
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ local myconf_gn=""
+
+ if use system-toolchain && [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == no ]]; then
+ # Make sure the build system will use the right tools, bug #340795.
+ tc-export AR CC CXX NM
+
+ if needs_clang && ! tc-is-clang; then
+ # Force clang since gcc is either broken or build is using libcxx.
+ if tc-is-cross-compiler; then
+ CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}"
+ CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}"
+ BUILD_CC=${CBUILD}-clang
+ BUILD_CXX=${CBUILD}-clang++
+ else
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ fi
+ strip-unsupported-flags
+ fi
+
+ if tc-is-clang; then
+ myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
+ # Workaround for build failure with clang-18 and -march=native without
+ # avx512. Does not affect e.g. -march=skylake, only native (bug #931623).
+ use amd64 && is-flagq -march=native &&
+ [[ $(clang-major-version) -eq 18 ]] && [[ $(clang-minor-version) -lt 6 ]] &&
+ tc-cpp-is-true "!defined(__AVX512F__)" ${CXXFLAGS} &&
+ append-flags -mevex512
+ else
+ myconf_gn+=" is_clang=false"
+ fi
+
+ if needs_lld ; then
+ # https://bugs.gentoo.org/918897#c32
+ append-ldflags -Wl,--undefined-version
+ myconf_gn+=" use_lld=true"
+ else
+ # This doesn't prevent lld from being used, but rather prevents gn from forcing it
+ myconf_gn+=" use_lld=false"
+ fi
+
+ if use lto; then
+ AR=llvm-ar
+ NM=llvm-nm
+ if tc-is-cross-compiler; then
+ BUILD_AR=llvm-ar
+ BUILD_NM=llvm-nm
+ fi
+ fi
+
+ myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
+
+ if tc-is-cross-compiler; then
+ tc-export BUILD_{AR,CC,CXX,NM}
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\""
+ myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\""
+
+ # setup cups-config, build system only uses --libs option
+ if use cups; then
+ mkdir "${T}/cups-config" || die
+ cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die
+ export PATH="${PATH}:${T}/cups-config"
+ fi
+
+ # Don't inherit PKG_CONFIG_PATH from environment
+ local -x PKG_CONFIG_PATH=
+ else
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
+ fi
+
+ local rustc_ver
+ rustc_ver=$(chromium_rust_version_check)
+ if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then
+ eerror "Rust >=${RUST_MIN_VER} is required"
+ eerror "Please run 'eselect rust' and select the correct rust version"
+ die "Selected rust version is too old"
+ else
+ einfo "Using rust ${rustc_ver} to build"
+ fi
+ if [[ "$(eselect --brief rust show 2>/dev/null)" == *"bin"* ]]; then
+ myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/opt/rust-bin-${rustc_ver}/\""
+ else
+ myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\""
+ fi
+ myconf_gn+=" rustc_version=\"${rustc_ver}\""
+ fi
+
+ # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
+ myconf_gn+=" is_debug=false"
+
+ # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138.
+ # DCHECK is fatal by default, make it configurable at runtime, #bug 807881.
+ myconf_gn+=" dcheck_always_on=$(usex debug true false)"
+ myconf_gn+=" dcheck_is_configurable=$(usex debug true false)"
+
+ # Component build isn't generally intended for use by end users. It's mostly useful
+ # for development and debugging.
+ myconf_gn+=" is_component_build=false"
+
+ # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
+ myconf_gn+=" enable_nacl=false"
+
+ # Use system-provided libraries.
+ # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
+ # TODO: use_system_hunspell (upstream changes needed).
+ # TODO: use_system_protobuf (bug #525560).
+ # TODO: use_system_sqlite (http://crbug.com/22208).
+
+ # libevent: https://bugs.gentoo.org/593458
+ local gn_system_libraries=(
+ flac
+ fontconfig
+ freetype
+ # Need harfbuzz_from_pkgconfig target
+ #harfbuzz-ng
+ libdrm
+ libjpeg
+ libwebp
+ libxml
+ libxslt
+ openh264
+ zlib
+ )
+ if use system-icu; then
+ gn_system_libraries+=( icu )
+ fi
+ if use system-png; then
+ gn_system_libraries+=( libpng )
+ fi
+ if use system-zstd; then
+ gn_system_libraries+=( zstd )
+ fi
+
+ build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
+
+ # See dependency logic in third_party/BUILD.gn
+ myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)"
+
+ # Optional dependencies.
+ myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
+ myconf_gn+=" enable_widevine=$(usex widevine true false)"
+
+ if use headless; then
+ myconf_gn+=" use_cups=false"
+ myconf_gn+=" use_kerberos=false"
+ myconf_gn+=" use_pulseaudio=false"
+ myconf_gn+=" use_vaapi=false"
+ myconf_gn+=" rtc_use_pipewire=false"
+ else
+ myconf_gn+=" use_cups=$(usex cups true false)"
+ myconf_gn+=" use_kerberos=$(usex kerberos true false)"
+ myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
+ myconf_gn+=" use_vaapi=$(usex vaapi true false)"
+ myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)"
+ myconf_gn+=" gtk_version=$(usex gtk4 4 3)"
+ fi
+
+ # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of
+ # using dlopen. This helps with automated detection of ABI mismatches and
+ # prevents silent errors.
+ if use pulseaudio; then
+ myconf_gn+=" link_pulseaudio=true"
+ fi
+
+ # Non-developer builds of Chromium (for example, non-Chrome browsers, or
+ # Chromium builds provided by Linux distros) should disable the testing config
+ myconf_gn+=" disable_fieldtrial_testing_config=true"
+
+ if use system-toolchain; then
+ myconf_gn+=" use_gold=false"
+ fi
+
+ # The sysroot is the oldest debian image that chromium supports, we don't need it
+ myconf_gn+=" use_sysroot=false"
+
+ # This determines whether or not GN uses the bundled libcxx
+ # default: true
+ if use libcxx || [[ ${CHROMIUM_FORCE_LIBCXX} == yes ]]; then
+ myconf_gn+=" use_custom_libcxx=true"
+ else
+ myconf_gn+=" use_custom_libcxx=false"
+ fi
+
+ # Disable pseudolocales, only used for testing
+ myconf_gn+=" enable_pseudolocales=false"
+
+ # Disable code formating of generated files
+ myconf_gn+=" blink_enable_generated_code_formatting=false"
+
+ if use bindist ; then
+ # proprietary_codecs just forces Chromium to say that it can use h264/aac,
+ # the work is still done by ffmpeg. If this is set to no Chromium
+ # won't be able to load the codec even if the library can handle it
+ myconf_gn+=" proprietary_codecs=true"
+ myconf_gn+=" ffmpeg_branding=\"Chrome\""
+ # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute
+ myconf_gn+=" is_component_ffmpeg=true"
+ else
+ ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
+ myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
+ myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
+ fi
+
+ # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
+ # Note: these are for Gentoo use ONLY. For your own distribution,
+ # please get your own set of keys. Feel free to contact chromium@gentoo.org
+ # for more info. The OAuth2 credentials, however, have been left out.
+ # Those OAuth2 credentials have been broken for quite some time anyway.
+ # Instead we apply a patch to use the --oauth2-client-id= and
+ # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and
+ # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into
+ # Chromium without baked-in values.
+ local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
+ myconf_gn+=" google_api_key=\"${google_api_key}\""
+ local myarch="$(tc-arch)"
+
+ # Avoid CFLAGS problems, bug #352457, bug #390147.
+ if ! use custom-cflags; then
+ replace-flags "-Os" "-O2"
+ strip-flags
+
+ # Debug info section overflows without component build
+ # Prevent linker from running out of address space, bug #471810 .
+ filter-flags "-g*"
+
+ # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646.
+ if [[ ${myarch} == amd64 ]]; then
+ filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a
+ fi
+
+ if tc-is-gcc; then
+ # https://bugs.gentoo.org/904455
+ local -x CPP="$(tc-getCXX) -E"
+ # https://bugs.gentoo.org/912381
+ filter-lto
+ fi
+ fi
+
+ if [[ $myarch = amd64 ]] ; then
+ myconf_gn+=" target_cpu=\"x64\""
+ ffmpeg_target_arch=x64
+ elif [[ $myarch = arm64 ]] ; then
+ myconf_gn+=" target_cpu=\"arm64\""
+ ffmpeg_target_arch=arm64
+ elif [[ $myarch = ppc64 ]] ; then
+ myconf_gn+=" target_cpu=\"ppc64\""
+ ffmpeg_target_arch=ppc64
+ else
+ die "Failed to determine target arch, got '$myarch'."
+ fi
+
+ # Make sure that -Werror doesn't get added to CFLAGS by the build system.
+ # Depending on GCC version the warnings are different and we don't want
+ # the build to fail because of that.
+ myconf_gn+=" treat_warnings_as_errors=false"
+
+ # Disable fatal linker warnings, bug 506268.
+ myconf_gn+=" fatal_linker_warnings=false"
+
+ # Disable external code space for V8 for ppc64. It is disabled for ppc64
+ # by default, but cross-compiling on amd64 enables it again.
+ if tc-is-cross-compiler; then
+ if ! use amd64 && ! use arm64; then
+ myconf_gn+=" v8_enable_external_code_space=false"
+ fi
+ fi
+
+ # Only enabled for clang, but gcc has endian macros too
+ myconf_gn+=" v8_use_libm_trig_functions=true"
+
+ # Bug 491582.
+ export TMPDIR="${WORKDIR}/temp"
+ mkdir -p -m 755 "${TMPDIR}" || die
+
+ # https://bugs.gentoo.org/654216
+ addpredict /dev/dri/ #nowarn
+
+ # Disable unknown warning message from clang.
+ if tc-is-clang; then
+ append-flags -Wno-unknown-warning-option
+ if tc-is-cross-compiler; then
+ export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option"
+ export BUILD_CFLAGS+=" -Wno-unknown-warning-option"
+ fi
+ fi
+
+ # Explicitly disable ICU data file support for system-icu/headless builds.
+ if use system-icu || use headless; then
+ myconf_gn+=" icu_use_data_file=false"
+ fi
+
+ # Don't need nocompile checks and GN crashes with our config
+ myconf_gn+=" enable_nocompile_tests=false"
+
+ # Enable ozone wayland and/or headless support
+ myconf_gn+=" use_ozone=true ozone_auto_platforms=false"
+ myconf_gn+=" ozone_platform_headless=true"
+ if use headless; then
+ myconf_gn+=" ozone_platform=\"headless\""
+ myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false"
+ myconf_gn+=" use_glib=false use_gio=false"
+ myconf_gn+=" use_pangocairo=false use_alsa=false"
+ myconf_gn+=" use_libpci=false use_udev=false"
+ myconf_gn+=" enable_print_preview=false"
+ myconf_gn+=" enable_remoting=false"
+ else
+ myconf_gn+=" use_system_libdrm=true"
+ myconf_gn+=" use_system_minigbm=true"
+ myconf_gn+=" use_xkbcommon=true"
+ if use qt5 || use qt6; then
+ local cbuild_libdir=$(get_libdir)
+ if tc-is-cross-compiler; then
+ # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
+ local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt)
+ cbuild_libdir=${cbuild_libdir:2}
+ cbuild_libdir=${cbuild_libdir/% }
+ fi
+ if use qt5; then
+ if tc-is-cross-compiler; then
+ myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\""
+ else
+ myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\""
+ fi
+ fi
+ if use qt6; then
+ myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\""
+ fi
+
+ myconf_gn+=" use_qt=true"
+ myconf_gn+=" use_qt6=$(usex qt6 true false)"
+ else
+ myconf_gn+=" use_qt=false"
+ fi
+ myconf_gn+=" ozone_platform_x11=$(usex X true false)"
+ myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)"
+ myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")"
+ use wayland && myconf_gn+=" use_system_libffi=true"
+ fi
+
+ # Results in undefined references in chrome linking, may require CFI to work
+ if use arm64; then
+ myconf_gn+=" arm_control_flow_integrity=\"none\""
+ fi
+
+ # Enable official builds
+ myconf_gn+=" is_official_build=$(usex official true false)"
+ myconf_gn+=" use_thin_lto=$(usex lto true false)"
+ myconf_gn+=" thin_lto_enable_optimizations=$(usex lto true false)"
+ if use official; then
+ # Allow building against system libraries in official builds
+ sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
+ tools/generate_shim_headers/generate_shim_headers.py || die
+ # Disable CFI: unsupported for GCC, requires clang+lto+lld
+ myconf_gn+=" is_cfi=false"
+ # Don't add symbols to build
+ myconf_gn+=" symbol_level=0"
+ fi
+
+ if use pgo; then
+ myconf_gn+=" chrome_pgo_phase=${1}"
+ if [[ "$1" == "2" ]]; then
+ myconf_gn+=" pgo_data_path=\"${2}\""
+ fi
+ else
+ # Disable PGO
+ myconf_gn+=" chrome_pgo_phase=0"
+ fi
+
+ # user CXXFLAGS might overwrite -march=armv8-a+crc+crypto, bug #851639
+ if use arm64 && tc-is-gcc; then
+ sed -i '/^#if HAVE_ARM64_CRC32C/a #pragma GCC target ("+crc+crypto")' \
+ third_party/crc32c/src/src/crc32c_arm64.cc || die
+ fi
+
+ # skipping typecheck is only supported on amd64, bug #876157
+ if ! use amd64; then
+ myconf_gn+=" devtools_skip_typecheck=false"
+ fi
+
+ einfo "Configuring Chromium ..."
+ set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
+ echo "$@"
+ "$@" || die
+}
+
+src_configure() {
+ chromium_configure $(usex pgo 1 0)
+}
+
+chromium_compile() {
+ # Final link uses lots of file descriptors.
+ ulimit -n 2048
+
+ # Calling this here supports resumption via FEATURES=keepwork
+ python_setup
+
+ # Don't inherit PYTHONPATH from environment, bug #789021, #812689
+ local -x PYTHONPATH=
+
+ # Build mksnapshot and pax-mark it.
+ if use pax-kernel; then
+ local x
+ for x in mksnapshot v8_context_snapshot_generator; do
+ if tc-is-cross-compiler; then
+ eninja -C out/Release "host/${x}"
+ pax-mark m "out/Release/host/${x}"
+ else
+ eninja -C out/Release "${x}"
+ pax-mark m "out/Release/${x}"
+ fi
+ done
+ fi
+
+ # Even though ninja autodetects number of CPUs, we respect
+ # user's options, for debugging with -j 1 or any other reason.
+ eninja -C out/Release chrome chromedriver chrome_sandbox
+
+ pax-mark m out/Release/chrome
+
+ if ! use system-toolchain; then
+ QA_FLAGS_IGNORED="
+ usr/lib64/chromium-browser/chrome
+ usr/lib64/chromium-browser/chrome-sandbox
+ usr/lib64/chromium-browser/chromedriver
+ usr/lib64/chromium-browser/chrome_crashpad_handler
+ usr/lib64/chromium-browser/libEGL.so
+ usr/lib64/chromium-browser/libGLESv2.so
+ usr/lib64/chromium-browser/libVkICD_mock_icd.so
+ usr/lib64/chromium-browser/libVkLayer_khronos_validation.so
+ usr/lib64/chromium-browser/libqt5_shim.so
+ usr/lib64/chromium-browser/libvk_swiftshader.so
+ usr/lib64/chromium-browser/libvulkan.so.1
+ "
+ fi
+}
+
+# This function is called from virtx, and must always return so that Xvfb
+# session isn't left running. If we return 1, virtx will call die().
+chromium_profile() {
+ einfo "Profiling for PGO"
+
+ pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1
+
+ # Remove old profdata in case profiling was interrupted.
+ rm -rf "${1}" || return 1
+
+ if ! "${EPYTHON}" ./chromium_profiler.py \
+ --chrome-executable "${S}/out/Release/chrome" \
+ --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \
+ --add-arg no-sandbox --add-arg disable-dev-shm-usage \
+ --profile-output "${1}"; then
+ eerror "Profiling failed"
+ return 1
+ fi
+
+ popd >/dev/null || return 1
+}
+
+src_compile() {
+ if use pgo; then
+ local profdata
+
+ profdata="${WORKDIR}/chromium.profdata"
+
+ if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then
+ chromium_compile
+ virtx chromium_profile "$profdata"
+
+ touch "${WORKDIR}/.pgo-profiled" || die
+ fi
+
+ if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then
+ # Remove phase 1 output
+ rm -r out/Release || die
+
+ chromium_configure 2 "$profdata"
+
+ touch "${WORKDIR}/.pgo-phase-2-configured" || die
+ fi
+
+ if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then
+ chromium_compile
+ touch "${WORKDIR}/.pgo-phase-2-compiled" || die
+ fi
+ else
+ chromium_compile
+ fi
+
+ mv out/Release/chromedriver{.unstripped,} || die
+
+ rm -f out/Release/locales/*.pak.info || die
+
+ # Build manpage; bug #684550
+ sed -e 's|@@PACKAGE@@|chromium-browser|g;
+ s|@@MENUNAME@@|Chromium|g;' \
+ chrome/app/resources/manpage.1.in > \
+ out/Release/chromium-browser.1 || die
+
+ # Build desktop file; bug #706786
+ sed -e 's|@@MENUNAME@@|Chromium|g;
+ s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g;
+ s|@@PACKAGE@@|chromium-browser|g;
+ s|\(^Exec=\)/usr/bin/|\1|g;' \
+ chrome/installer/linux/common/desktop.template > \
+ out/Release/chromium-browser-chromium.desktop || die
+
+ # Build vk_swiftshader_icd.json; bug #827861
+ sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \
+ third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \
+ out/Release/vk_swiftshader_icd.json || die
+}
+
+src_install() {
+ local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
+ exeinto "${CHROMIUM_HOME}"
+ doexe out/Release/chrome
+
+ newexe out/Release/chrome_sandbox chrome-sandbox
+ fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
+
+ doexe out/Release/chromedriver
+ doexe out/Release/chrome_crashpad_handler
+
+ ozone_auto_session () {
+ use X && use wayland && ! use headless && echo true || echo false
+ }
+ local sedargs=( -e
+ "s:/usr/lib/:/usr/$(get_libdir)/:g;
+ s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g"
+ )
+ sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die
+ doexe chromium-launcher.sh
+
+ # It is important that we name the target "chromium-browser",
+ # xdg-utils expect it; bug #355517.
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser
+ # keep the old symlink around for consistency
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
+
+ dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
+
+ # Allow users to override command-line options, bug #357629.
+ insinto /etc/chromium
+ newins "${FILESDIR}/chromium.default" "default"
+
+ pushd out/Release/locales > /dev/null || die
+ chromium_remove_language_paks
+ popd
+
+ insinto "${CHROMIUM_HOME}"
+ doins out/Release/*.bin
+ doins out/Release/*.pak
+
+ if use bindist; then
+ # We built libffmpeg as a component library, but we can't distribute it
+ # with proprietary codec support. Remove it and make a symlink to the requested
+ # system library.
+ rm -f out/Release/libffmpeg.so \
+ || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)"
+ # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium].
+ einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..."
+ dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \
+ /usr/$(get_libdir)/chromium-browser/libffmpeg.so
+ fi
+
+ (
+ shopt -s nullglob
+ local files=(out/Release/*.so out/Release/*.so.[0-9])
+ [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}"
+ )
+
+ # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland"
+ doins out/Release/xdg-{settings,mime}
+
+ if ! use system-icu && ! use headless; then
+ doins out/Release/icudtl.dat
+ fi
+
+ doins -r out/Release/locales
+ doins -r out/Release/MEIPreload
+
+ # Install vk_swiftshader_icd.json; bug #827861
+ doins out/Release/vk_swiftshader_icd.json
+
+ if [[ -d out/Release/swiftshader ]]; then
+ insinto "${CHROMIUM_HOME}/swiftshader"
+ doins out/Release/swiftshader/*.so
+ fi
+
+ # Install icons
+ local branding size
+ for size in 16 24 32 48 64 128 256 ; do
+ case ${size} in
+ 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
+ *) branding="chrome/app/theme/chromium" ;;
+ esac
+ newicon -s ${size} "${branding}/product_logo_${size}.png" \
+ chromium-browser.png
+ done
+
+ # Install desktop entry
+ domenu out/Release/chromium-browser-chromium.desktop
+
+ # Install GNOME default application entry (bug #303100).
+ insinto /usr/share/gnome-control-center/default-apps
+ newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
+
+ # Install manpage; bug #684550
+ doman out/Release/chromium-browser.1
+ dosym chromium-browser.1 /usr/share/man/man1/chromium.1
+
+ readme.gentoo_create_doc
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ readme.gentoo_print_elog
+
+ if ! use headless; then
+ if use vaapi; then
+ elog "VA-API is disabled by default at runtime. You have to enable it"
+ elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS"
+ elog "in /etc/chromium/default."
+ fi
+ if use screencast; then
+ elog "Screencast is disabled by default at runtime. Either enable it"
+ elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer"
+ elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+ if use gtk4; then
+ elog "Chromium prefers GTK3 over GTK4 at runtime. To override this"
+ elog "behavior you need to pass --gtk-version=4, e.g. by adding it"
+ elog "to CHROMIUM_FLAGS in /etc/chromium/default."
+ fi
+ if use qt5 && use qt6; then
+ elog "Chromium automatically selects Qt5 or Qt6 based on your desktop"
+ elog "environment. To override you need to pass --qt-version=5 or"
+ elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in"
+ elog "/etc/chromium/default."
+ fi
+ fi
+
+ 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/files/chromium-126-oauth2-client-switches.patch b/www-client/chromium/files/chromium-126-oauth2-client-switches.patch
new file mode 100644
index 000000000000..b7ddf794aa27
--- /dev/null
+++ b/www-client/chromium/files/chromium-126-oauth2-client-switches.patch
@@ -0,0 +1,45 @@
+From b6cda4bc2283a02a5b5209c0f4282a8365f6f33e Mon Sep 17 00:00:00 2001
+From: Matt Jolly <Matt.Jolly@footclan.ninja>
+Date: Tue, 21 May 2024 10:04:24 +1000
+Subject: [PATCH] www-client/chromium: work around dead oauth2 credentials -
+ 126 update
+
+126 changed the function proto; patch rebased.
+
+Google doesn't let us bake in OAuth2 credentials, and for some time,
+Google sign-in has been broken. Arch dealt with this in March, and so
+did we to some degree, but in the last few months, our sign-in
+credentials have been broken. It appears that we actually did remove API
+credentials in March around Chrome 89, but they got added back, perhaps
+when rotating newer versions to replace older versions. Work around this
+by following Arch's lead: we remove the predefined credentials, as
+before, but also we patch Chromium so that people can use their own
+easily, using Arch's patch for that.
+
+For more info, see:
+
+https://archlinux.org/news/chromium-losing-sync-support-in-early-march/
+https://bodhi.fedoraproject.org/updates/FEDORA-2021-48866282e5
+https://hackaday.com/2021/01/26/whats-the-deal-with-chromium-on-linux-google-at-odds-with-package-maintainers/
+
+Bug: https://bugs.gentoo.org/791871
+Signed-off-by: Matt Jolly <kangie@gentoo.org>
+--- a/google_apis/google_api_keys-inc.cc
++++ b/google_apis/google_api_keys-inc.cc
+@@ -193,11 +193,11 @@ class APIKeyCache {
+ std::string default_client_id = CalculateKeyValue(
+ GOOGLE_DEFAULT_CLIENT_ID,
+ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), std::string(),
+- nullptr, std::string(), environment.get(), command_line, gaia_config);
++ ::switches::kOAuth2ClientID, std::string(), environment.get(), command_line, gaia_config);
+ std::string default_client_secret = CalculateKeyValue(
+ GOOGLE_DEFAULT_CLIENT_SECRET,
+ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), std::string(),
+- nullptr, std::string(), environment.get(), command_line, gaia_config);
++ ::switches::kOAuth2ClientSecret, std::string(), environment.get(), command_line, gaia_config);
+
+ // We currently only allow overriding the baked-in values for the
+ // default OAuth2 client ID and secret using a command-line
+--
+2.45.1
+
diff --git a/www-client/falkon/Manifest b/www-client/falkon/Manifest
index 07562a732211..9e7911854a15 100644
--- a/www-client/falkon/Manifest
+++ b/www-client/falkon/Manifest
@@ -1,6 +1,6 @@
AUX falkon-23.07.80-python3.patch 1264 BLAKE2B d668b68b5282fad9670e0a20a140f621aade354e94a7b57f4093c37a163a7d6d90b8da6b911411a1a14973486f227de6efad3ebb49ca37fa9000ce47071976ef SHA512 33f4157e3f608ea01e95c0b6e46b958287abd943c3da94b7b599af2ef37a6683ff11f44325faf784d9927c6e71857cd086154a2e3e6f9cd90d6030587e0169a7
DIST falkon-23.08.5.tar.xz 2574364 BLAKE2B 9090263ee1e9a76cf9efebf6f3c8b5d0ca25a907f467ebe5adff6d54e71c79aa982317094ea354fb4fa898244b119b73640fc92ae301f95fe78551d3e84921a9 SHA512 215e2a4ff551aa6d3fab0317d2b2b823b7fee4c1f6a653118d00f3def9ebb037931e8cd81f33785a44c8aa8910e00fbda884c1cfcdb61190544d1e6c8396acf8
-DIST falkon-24.04.90.tar.xz 2584412 BLAKE2B 120f1fbb4bf290059939d9a37a11c5001754535acf3245379264c5581d1307fa1e6073112e4efb27646c1e3072d953c1d84b5776acaa391821961cb48bf769d5 SHA512 cc1b9c8d24458e97add2421ab306553b36ba3307adc141e449436196920ba155aca40de71129fa7f1f610b2a25012acf96830ebd4732c78189d4ad4690687b9a
+DIST falkon-24.05.0.tar.xz 2584448 BLAKE2B 018824b140c49651140996d9c9a0ffe5a4b3e77e661c0aecc96168c8ed28742e91ddea42002320229b212883bf6065599870bec9cda03d0ad5b008cabd57d724 SHA512 e8a3b93d07bb99d663acb9633bd5d3815eacf3e928439ebdb3570c9fcd0a04d5ef945f0af1f9d008b6998dd76fab723f0277c42a3e0733bc855099b982bd8fe1
EBUILD falkon-23.08.5.ebuild 2302 BLAKE2B 4e88b797351a31b7459de1282d02ef2a7692c5ca6ff2f5b9c0799f46b42769f9c5e55f6da505e2a32aa3ad0aee6e14de10a99ad9ab4ee84ff77f0e4ea9cdbff5 SHA512 e59861927e10360bd4b9febb5b79c085f729df2975575c27f3fde94ddefebfb260a393a594e5d046d8dd13dba28c17f11f55a55f431b80427ea8939655b2cc2d
-EBUILD falkon-24.04.90.ebuild 2106 BLAKE2B 48fb8026a13dbebaa2033e51bd5953370187d10747f9845538c89738a7cb4c8c586097b064a5ef2eb79488de3f5d35c8e6b87d418a61c9620a92d6899fd34792 SHA512 11b3acd29cad2b51276b562cf94449af8e3cc09e9a019a0cc3945fb346e6cce81ed01a78c924a726ffd707a4f6c0fed8503c75f725b7e4f58b52c69666953040
+EBUILD falkon-24.05.0.ebuild 2106 BLAKE2B 48fb8026a13dbebaa2033e51bd5953370187d10747f9845538c89738a7cb4c8c586097b064a5ef2eb79488de3f5d35c8e6b87d418a61c9620a92d6899fd34792 SHA512 11b3acd29cad2b51276b562cf94449af8e3cc09e9a019a0cc3945fb346e6cce81ed01a78c924a726ffd707a4f6c0fed8503c75f725b7e4f58b52c69666953040
MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6
diff --git a/www-client/falkon/falkon-24.04.90.ebuild b/www-client/falkon/falkon-24.05.0.ebuild
index 34faabc2be78..34faabc2be78 100644
--- a/www-client/falkon/falkon-24.04.90.ebuild
+++ b/www-client/falkon/falkon-24.05.0.ebuild
diff --git a/www-client/firefox-bin/Manifest b/www-client/firefox-bin/Manifest
index 0429b248d2af..e51931501de7 100644
--- a/www-client/firefox-bin/Manifest
+++ b/www-client/firefox-bin/Manifest
@@ -100,6 +100,102 @@ DIST firefox-115.10.0esr-vi.xpi 635921 BLAKE2B 9aaa16fbddfc39ce050861f34ea556f47
DIST firefox-115.10.0esr-xh.xpi 413331 BLAKE2B 91044dd10d764a276c14291cdd1540f4c6b4c6c12057c1ab7e91f9c233eb56b7ed5e0c17a09f939dbb445d8b1f5571d2619628f4107c0595d76dc1ba58c4adda SHA512 64db456904b4669958ca3b1fc340e3972e5c7b96c13dd9a2d9b1b208bf4fed4713f1c7e007f21a291d4ca9d3ccbd6993d102c90e29ba37042720505f1a767011
DIST firefox-115.10.0esr-zh-CN.xpi 634778 BLAKE2B 461d085d9c6d259f4a3564c149b9300df48ce1ab0ef9222ae25594c3cbb933d2559fd2deac806830f9107b872169a18edc22b1dd08b985fb28f21cd71dab1429 SHA512 cf9db5ab2029cd4bd7cbe02012e68759433b3d0cc6cd1fcaf5b6774e9c111cb65f577f128a55b0989869879d4e4f24ea11ccc86bcfdb05181b0aaf9b65b5c0b4
DIST firefox-115.10.0esr-zh-TW.xpi 639166 BLAKE2B 8dca774967abcc50d6408eb7a05013fab8d942c723e79dee956aa09dcbe1370c4087f9809623a2fbfb616c029f5c002b116a302e04ef2efc160964c193cbad9d SHA512 0f3d1f2e14f5c70f08fc6fe25edc4ad07e67936a90820a8f432d48ea3aac976bf528b267ebaf285d1d394d9a3b57106d9dc8a389389ca4a4bf93d5b0a61b5c44
+DIST firefox-115.11.0esr-ach.xpi 458870 BLAKE2B ee11c834ad609bef253ecc5e0656325eabd0fc6ae494c6464ef75470da134de9e8dbecd315e82a583b4f4254dccb1b0588c718f7d79309fa4505f3d7986b6a83 SHA512 02bb5ff090eae756f5c6a88fa1958e278bd245e3c63cd7ca6203f1494d80d603316e45972098a19f1ae60ac5b9b609cfebbe629c9d2d7cd90739dcbe024f3178
+DIST firefox-115.11.0esr-af.xpi 415016 BLAKE2B d7367661d8af676f52a5b7bb519557ca970dd43ffc6f37abba6b0f54376d57f125d6600c1eab9f5229b86cdaaa1dec01e51ceb13cb4f64216ef8b56607e83a9c SHA512 4698b724b44df392ae3318ad53e2b59dfea743db9a2e98c6c35237e2dd246bfd6275a6938edecb38b7bcae19789ddde37c4d3f2f2b2a39192b43bebd258aaf87
+DIST firefox-115.11.0esr-an.xpi 499405 BLAKE2B 14224019cd0fe4d0fe344fb41d0a202dd392db48933c45739c7287a266cdc54c0978a8f7569e91b98ce8e844a40d7a19b741c3adba5005b366af84833c54b75f SHA512 aa99343d32625e50cfb9494e494840bfc18d46391b8b43d004f2741bc9fe89dec45ea8d5d35fed4a21b6073608878a62b9fa0330418777a331922e7cb934c475
+DIST firefox-115.11.0esr-ar.xpi 605436 BLAKE2B 62896dcc3152fcea27333ba2c1f86c0e19873c5c433dc547265dcf6cb24f6c6f9cf52ea90083fed5d9f06ad80a4f461d4284592e9107a2c9feaa321a80005bc4 SHA512 668a504b62bf619fb2c41bd4a933cb85758900e745a0ed80a4ca968aae54954a265c5e166e2dcc52674600566112a9a64f8808ec32e62ba6078d05322b32b8f1
+DIST firefox-115.11.0esr-ast.xpi 491169 BLAKE2B b90b1f531c03826f1dd618f0777486003f793b1d21a7fbfb22a9381270a1bdc703cbb7135487601a8aa60adaf82d9e538fd00d3d894248a7ca06d0919c3b8e3f SHA512 8bf37999519cc0c0008a3b319a59a6ec49aca40ab37a50e25953c64d59f5263b79eeb18350f0433bf904864da486ecebedc9a50c5347ca91ffda4121df4534e8
+DIST firefox-115.11.0esr-az.xpi 485934 BLAKE2B c5cb201be6162eb8251c388eb8649ce77d4b75c1b16530e1755ee025e658bc1d366128c840ff9246de865f27df2d323e63199514c67f89c0ea7da4b7e9d3f392 SHA512 fe2ea407c8208b93f969a4302f95bdcf234106146d029bf46027d00f12109dbc3f792da56ca0791eda506b3289f5c269b159659b58ef33c90e2847e7075d939d
+DIST firefox-115.11.0esr-be.xpi 708810 BLAKE2B 6d6eee10a4ed22e19bf57852f11c9a23e00c5fbc4d6d31bd02e5b1f172358a1ccba49ab981cdef2b103a4d9d68c39124fc4e195b0f767c100c1225baebac3321 SHA512 dcbea4323f239b16243e5a07c2abbdfd2ddd340f8fa12f5cefdb590ed0d17bb6fe55d40983789e948d79a4dcfae676575c6d7c0c0fcb7c2d5cfd9847cab1819a
+DIST firefox-115.11.0esr-bg.xpi 597454 BLAKE2B df84239b16270dfbf9b45af80c4ac97f5c61dcb035dab15b2a1009db8f947b90899fdccc9669d0477a21ea70a4b6606c74a1d5ef07243c2b0872a88b41f82c2e SHA512 1581d718277bf003c2b092fa965fcc55242eb50a17c75c9db036952a6c372943334701bd2f9971a600320102d0f3aab2f4535da91ba6f988e3d7ce5ba3e42940
+DIST firefox-115.11.0esr-bn.xpi 576193 BLAKE2B f67d2119b4e6cb6566154724254dbb50ccba43ecfcb83db871e9a7e0ed190c8b8b1025cdf4768d7061bd515fb1ce4ea8802bf7dd9408b6b48a9f55f83fffc8eb SHA512 95098d8961877a05a6c6799b6fd83019578cbdaccfd47fdfba92a4ed02f63b6f51246ad77c117cecdb6d05a9ed5b17b7b9ae2ce57683ab5ad49f0936e21b8e52
+DIST firefox-115.11.0esr-br.xpi 583246 BLAKE2B 6780fa4f56c7033beeaa8756d0661341d20f638efd3668c445fcbe3e0d995ffced13d8796e078cd36f8dc1e4a83b32e3a557febb61955ea43e46a7428930cbb2 SHA512 13afe5db46878f9a0ab5dffd2206d8ee853f2fef4d3ac92f611398a01cce8325fb0aa72c8b0fb1d35abd958631a792bce151cff53f06e40b1c02e529687552e5
+DIST firefox-115.11.0esr-bs.xpi 496134 BLAKE2B f34a207ea8bf541abaaf1c3774a54df3eb896d2df723e00ae2a999aa041152c237be13bdb079bbb18565d4422c1e2baaad565e018eef23b3b3deadd2391ed7fb SHA512 f49be7e030600a2771fe4e14abf547339158185c98e1e98f19f2fa0037665df8e86de44e3c2662d3aed16ac4e40461b34ebf200267321067316622dcdd626375
+DIST firefox-115.11.0esr-ca-valencia.xpi 539091 BLAKE2B 10fd8774965294579adad15ccb15ef236de78160a930b4301cd96dd85482735d9fe369dbf21e8aac7fc4997f82c79f4ac92049433281d92762cd02de89b8153d SHA512 9e643abe68577b4a3096d33025a33a8a93d1f855afdab5a0bf3604146abdc2ff2b1185dfd7f44cb6bb826730bb68000de2d5381e1c5117ac36c98ad81c891e3d
+DIST firefox-115.11.0esr-ca.xpi 578622 BLAKE2B 47432fd910e493bfabcaf88df1de3835051057b35c0df061211062f76aecac56955bd06f4445410338c27a969cf66fdc7c34bef1b64068b07ca507953eb4fbbb SHA512 79014f5841ccc0eca1f2f90c2d923c9659853dd01bc0f1388f6c7f732c05b1d5adea90045f9f843f0d29b5a28851c85ca64ffc1f62bf854e830fbe60c7992ff0
+DIST firefox-115.11.0esr-cak.xpi 586177 BLAKE2B 688670344cfc9c34881d7681c87dfab3c5cf60eff6b1285d3764a571262adf9fdca40f98afda23dd48c2088d716e32ecd5952bc3b8e978118af0ac6fcea8ef88 SHA512 6a438d847b0fd4c74e587163ab7f0c445064171d21b356ddf72f8c891bfab3e450b9b909f78059fdc34eedc2c42e60a7e16eb1f79d5454dd9e11ed3a38c16e00
+DIST firefox-115.11.0esr-cs.xpi 652701 BLAKE2B 2d03b37790d0de88ea54d8aa39ec2209c53d5e89f3147ae129bc45bc7791173a084952b21433b54693382d659f86ed90e9f5d866ff8e4dec2f51224f1fb685e6 SHA512 ce05f6ad4f5fd866712fc6b7f44d497a3ea86598587a2536eeff73c48a87f557d75fe6d26c9e56ce5f2282acaa13150d2aa001a450cf52a47c6920b21d1e8d74
+DIST firefox-115.11.0esr-cy.xpi 618117 BLAKE2B a1e8daed2fc36e6f08d5130b8025e414a34430331a30aef5fd155dd53bcc483d49bddd1900da28af9af2cd2b68263fb662fa52ef9e6ada6e5e6c803c73b359e8 SHA512 33e5d383318bd4c3e8bfc1ad6b28bc2deb89efa5419cba206f8c3c2d60df6c62749bea493a599c09deb7ab671bcaefff7af153200c9ccf87cfbed6e0d4278c50
+DIST firefox-115.11.0esr-da.xpi 607114 BLAKE2B 6d0d2bc5c1687aec5d870fd785d13dcf7a81de52c0d3d2d4a3e7143dc4996ef812ec351fb765cfcde921575e36a34c807be44a1cb85ea2c2b043fad7e00f3bbb SHA512 c056f9be65efb91a9a087597cd2f64345110af7e13f6d4c48009ed7f5888fb4fcd4cfbf3b94e4a6f7a21184d7384fc2f6bea6c99d97d50f7af002b3199174782
+DIST firefox-115.11.0esr-de.xpi 625984 BLAKE2B 7a7e54ecd30b3be217a014f35b34c04af7b369ee3bf794b1af3d63c6e0eba67c0bfd71adce0da1a86ea9a43e2f6f0dfd95aff05874e65bfbba7790fa76e2578f SHA512 03558397c2183503777e157b627f9de123e61a9c6139deb0c5e998acea2c652af3dbe4b0c20a537e5ef40817ac3dd32c10a4a78c0d49636d570100a64110caec
+DIST firefox-115.11.0esr-dsb.xpi 645188 BLAKE2B 1d72ec4d3e4e780811a8f0c32a4c7b767950e2a77de94106c92ad4d850d2cdd9358b291375ca337992b02611bc69c5e9e7de431ba7f33fa6b2d202c73f065e05 SHA512 dcc88bbd686d0a1beab10f1d7695a41a01e9937df9dce0d59855c39b6862ebc6f1c3a18a82201e7cc9b4f566afbbb106e5dbcf884ca7d762724c734a5e7897bb
+DIST firefox-115.11.0esr-el.xpi 726135 BLAKE2B 38448cc96e5e029cdcf0963c89ed7502c36956d319cc966ca411e341a45f270cb145f8e8dc9b5855c37fbd7a2d3857cf50ee65baa8c75963da8a296ee3111c9f SHA512 cf7c21274f546a570a58469021c3be929cd138ad941a84ac1573fc5afc2ce0f8d7b00c063a18656c3b6e86d3f296d04b8b41f92ca01fe1be502d92f11822ca51
+DIST firefox-115.11.0esr-en-CA.xpi 577339 BLAKE2B a90b68201923e2c4cd4554befeac3b3386c1d0eb578e14818a2ce5859eca0094bf0a821261806044842e974d35d2d0b9fa2af3a5f79ca3a4f263d0ec32ad6ef8 SHA512 3d79d4acdd6713b21d09e310b416ace15ffd83e77ee6b507cc3c2fcc33134a510ce13c5d54fe18465cbb4dfadfb9efb7802b1d7647944d22395818f67b1fbf9f
+DIST firefox-115.11.0esr-en-GB.xpi 579674 BLAKE2B 25407ea301fbd2e44754b644623af3590eab29fec9e9a995df34a57290ac646f7ebfddc30da2c28e640b2865c0a3893f48c1949dff8b45f0293702d24379d5e3 SHA512 ade0870512377dce42d5d83666d468adac83398414030d07fe21e15201d8b32695a165464687a7ad9d8eca417b84ad5e0e6d7e88b4c147850430f63ed8d26189
+DIST firefox-115.11.0esr-eo.xpi 605193 BLAKE2B 2d7b6ea6223cc6ba274dbc09272ec02518332a8bbc0c0208fe6823e2fb8639862943d7d797b5bb1438e8acb8d2551043ac2a7cd196ad4bfa24e9487bac24e2e2 SHA512 5d58997d4775cc0a4e1c2292712cffe03454e82251fd89fd09a60bed5088def989482d912ae8faaf8cb2df34ffff121ab107ba2e6f8e388e94bce784e8733861
+DIST firefox-115.11.0esr-es-AR.xpi 622314 BLAKE2B fa3fa773fdb8b81ade45d11d7d3e61907e4809b8f6b7e2c055fc7e189ec3573dd92b8751572c885f4ca0d1493bfcded4a06e69aa928cf81904524608a50844cd SHA512 9dcfab125e11f7a7c6e7b6701e478f70f172a5f565554a5e760126dc4903973a52e26ad62c51d2728edb87b431b17b69cedfef9f43c755c0c3c13a0337e6bcea
+DIST firefox-115.11.0esr-es-CL.xpi 621595 BLAKE2B 0a729d2eb989193c2dc0906243c5be2f9f5dfa0ebf40fcd3d004120d139d60dccb84c904edd7b4bc61982448aaed8632b5032d2835e1a60b80120629ed760655 SHA512 4d0634be2eb7fbc5007595c939232554338a74a488abefd7a4ac584639b1dd73869cabdbe80aeb3139895cdf6f4da015ad39cda43c75804818a25b869b6efdb1
+DIST firefox-115.11.0esr-es-ES.xpi 616429 BLAKE2B e25891ae6f7c2ecd882e16d604c6bdd6802850a1d0d098b43509aac29d3fe98a3ac44cddcf178b1f5394152abb3c52c60298e27d01a9b46e0c1d900fcba25e63 SHA512 1bb522b427114b9ea2c38d7f77e284a199bce54c49ca9a3cf6a5d7d5c5935e77e3bd10779816f40d5bc9cf7e71903245f9f5cc3b7b74dec54a6febb64de03f5e
+DIST firefox-115.11.0esr-es-MX.xpi 584251 BLAKE2B 13b5c291cf3da1e8927aecf7598bca484a986ac3a5c7b1e0ec790364dfb4fe1df094d6729cbe569a6c2f1edefdfa80f8b9343b5fe464a2a02580bcba50f05fcc SHA512 d91cf6b3bd3eb97dc66d8fdfde6666b028ecee22cfaa04808f76477ef0837a21371c624c2d848ec6b52c41fdd6ddf09d4deca1cdbe67d655895b856ff0a1a108
+DIST firefox-115.11.0esr-et.xpi 532904 BLAKE2B 4e31216e5ead8de64b8273499ef2e9f2f735d4cabeca574a3fd515382394b9e49357ecc411e26111dde14715cac5e734c44c5f679a5d2b66d86d614d032db78e SHA512 f46c104e219fb014ef72d372608072885d429a78e88197762524bc769bf470edeb142e87a52077f18a1188d91b39e244cb352a2cb0faa76d445f653188f69eef
+DIST firefox-115.11.0esr-eu.xpi 589105 BLAKE2B f40b6c02a047d10097864c64369b1c00e802fe9a226e89750cf32cce1d726884ea66fd62a58ca90b19497d7cb4ef8918fa54b5df763439d6f44bbecb39438eb2 SHA512 f3f5c4b54a168b3ab7ca56f978f50b0847296b13dc5be77d2bd176c04c01caa4a5b38ea58cb9c5977d493b94c91fdc73e3cbc35df20aca332608c1d9668a06bd
+DIST firefox-115.11.0esr-fa.xpi 584183 BLAKE2B 1a6ae2554df47971b9ee116109f5ac6814174572cfe0ebb5ed62f1146630c8e6bfea50aea6293beb7507d40f7f54b22778b7df7aabe4a9a1e12587ececbf6e73 SHA512 35e06958797349c556cb89e18a3916570a84598e624f8cbcf137f52ba05e839c8257d084f7b7ebdf35f057dd6c7aa5bcbaf2cb6b2eab255d5dfb114332c0ad83
+DIST firefox-115.11.0esr-ff.xpi 471575 BLAKE2B 905076568606dde2419df1114622de83f6cd57949bbcddce59d152448bfefe8371e77d5e57ef5b0619a53fa76e27420646adc9bb368054973284ac07693a8777 SHA512 d6e44ef52015716fa19fd63869e7a464069b6f145a2191453b9027fdce0638ec5003c1af3c662628a331a8ff7994bf2af4021e95e04c4fb261ec159f5bfbf79d
+DIST firefox-115.11.0esr-fi.xpi 600782 BLAKE2B 2f9bdb8c1c11c275a195496c63bbcbae402b09f419cb32caa5a84b1a9a550afbc46167b953cf6a20d9444bebc60f158b35d3331b11d5abba091d27aaa1387925 SHA512 d761c6225220a445980827445caf242042cab73632435ec8b5e4ac986b7783ac53ba293a3c6667ae170a03ee3b072ba7ffaab103f6d6eeecbcd019cd90f8055f
+DIST firefox-115.11.0esr-fr.xpi 635409 BLAKE2B 37759582330f5db563bb54cb8ac5b266e80a0bc29b61e1e9c974e9a47e98c1b7b1d759c7fd8e90ff69433040769bf8ebbe5efd05927ab30097cded9b6da11826 SHA512 a25b1114c88985a6ac73ac447938923809bb7a6d4a3cd54fb9c76ece76d68512929ea9a91cef3d8efad427ba5f17da0a0a877684c213c9164c7ef6bdd45396a6
+DIST firefox-115.11.0esr-fy-NL.xpi 617933 BLAKE2B 2be547a0ed29e255f261bea4ed08b4d98949f6a619b6bc4cfddf2d15908ec1b5915f0628812d57b8b954f7e4ee4550ff7926482101384ddee85f8dec4fc3d0c6 SHA512 0dd6e124f023f37ff6a750a5c718e796d16488839c4bdcb7b1b64438b38c63d91f9635215d3ede8cc9d114a9c972162e50aa3df4219c8b0e3c051d236bb549e4
+DIST firefox-115.11.0esr-ga-IE.xpi 467475 BLAKE2B 731e89491cb2e3662ced5b5aa667077497f791eaf076d7689f6bca2413626a0d28a761be6045ed9f1a481a7b939c68779c5e1bd707fc2df376da2109bbcd95ba SHA512 a050a784f42e5bc5c474d67869e1cef3a7f64ce8bfdef57eea1bbb689c053bcbec6c811771dda8e4b2da173038eb348740481994c0a3857893e52988adb465e3
+DIST firefox-115.11.0esr-gd.xpi 589785 BLAKE2B e7389f3e513d4d923c3a25ecdac547b15134c5e2e7d4c2845e13f2ee86a73f1a101428deeb42eab9117a97a38ea9cb478ccef6a98257d7e80a867ee25bfcf158 SHA512 0385b75dfbbcd6d2e06adde390f27002288e444853f9d4f5158090f7ebada61e0f8cbb157b9c899cc853b8281625c1f63b0bbf7f3f71077de55e6e4ad72e965d
+DIST firefox-115.11.0esr-gl.xpi 599795 BLAKE2B b78fea711842210c9d70b4abeeffdf8789445ba896f5fa630d8d5cdf113cc063b20722dc0c773a431a7cc45442f4374e3762db440da6380f2d7b7fe1832b9216 SHA512 a53759e861da71e7723b168b084d91d976660623ee1eefdb2ce5db97e3c18ffe0b49140c99983f4245f02ebd6913a9db0442d3ab270e5ca6f601ce3d603994b3
+DIST firefox-115.11.0esr-gn.xpi 633562 BLAKE2B 118460c105d6b8eba04792e81437f7c6a5046eaa8d579588bb3fc0f9089a44ec53b046efb149409a22fbdc379ba0844e6d7400a9320db84be11ef08cb4ee4eb0 SHA512 9992b5582c27b33eddc4502461c26940757028bd5cbdfc10145a05d6664dc11fc87832fe3422dc26891b802d5cfd6bc45d29cd0f766f45af07dec33f7249ffe8
+DIST firefox-115.11.0esr-gu-IN.xpi 523224 BLAKE2B 1b0b40941e4114e757624d02b6102a14d79c63f70130b80e5c82f100b01cb2a460bab6c3e0284db2d93756e8cf7864414a573dc63e72e89b04b6de4119251df4 SHA512 ade5801ce0c2ad64b362abf05dc3407cc5c2ee34cb2f88542dde2c63bb3fa503323e8da75d83a04ad49c0e563bfac3d2ce040005361243470f8c313a8328aa0c
+DIST firefox-115.11.0esr-he.xpi 623918 BLAKE2B d36d023e200cd0bf0cd24b222d541def5fe2d1f9829e9af1c1390a3f6f4bad3d673b2225106eccf29bbfe37d31b7fcf0f697ac683ae0714880a8cf47b40e610e SHA512 c38924aeb6d8118d65808dde23a1269fbe6a41126651fa99a96fc2732480ca63b7d3372cac787296bc7ca1b03ef0361af945d033468ad9ec8cbab1b5f09bcc15
+DIST firefox-115.11.0esr-hi-IN.xpi 559909 BLAKE2B a832ff8a8ad30fb25e29ae9e74c97364b2d567b98007544c0699ef066a4fdd86274f8ebc76cd0db75f03f4f4cd2acb26e0d3a34e3bf6ec291fb7e9e7126cbbc5 SHA512 8f385db5e3e5c617a1fe4d783f80bcc7b2446bc40c6e09edb956301073a31bee5b73c87fef92723ef4c72a70d99fea30d750752f3d512ba5c4b07011082c28c3
+DIST firefox-115.11.0esr-hr.xpi 550256 BLAKE2B 909e7112c01a990458ef87079291ed589ddc133a1bb3987d9b2a327e6c358fcd5bd4fc163a0609ea22f6e8cf3231a81e93c68610e448de9a12aa7f0d22c0b1d0 SHA512 68b82c858c63facdafe235eb70d6476f9c0d4590de22182240734a279c8bc5fa25450a3fe622d38acb47180bcc8996b793677feded9a362a8b17da2546db2325
+DIST firefox-115.11.0esr-hsb.xpi 641181 BLAKE2B 2febc89a49d3d1865a38eb7466551cf9c4fc72fe95f5a2527ae1f9d054d1f94016d25922ca3ab37232fa9a4b8167a28cf7721461628dcd5efc3ff12febf27bcd SHA512 55e0ceb644dd34445ed41abcf91d2ff77d79edeebda18055ddebc7bf33c279add4d51465a0b55cb27cae3fdd8169cc11caffc97d0ea73f6310c4d428564b9537
+DIST firefox-115.11.0esr-hu.xpi 644321 BLAKE2B 077287c37c8d744d578a0f0892b07077aea42b60587e754fc5ea06fa39812503e0bdde1050845e4aed7d4f4fa1ab9e2303f393a73edf0c402c2bd46af3c1eedf SHA512 57d7fbaf7cb95064c2636d4430414e3413d83a1d5d1eb7f43e72da949e9407270ae968702eca8699e90705caf7816fe49e07ec8424cd531d0eaf338d73a933a3
+DIST firefox-115.11.0esr-hy-AM.xpi 645130 BLAKE2B 1415f8ea22f354428eef5b872cb0aaa8f57509799ea58f6acdd13ae61a16767fbc3c6039d14412c8a4f5207f26e593e09956305488d621edd6033ad5fc362842 SHA512 8675f81355577b0ad92b3d6452cc7b49835f92a0b9856cd19a26ae2604cfad1c9ba206ebe232ece986dd37757767b963589ace0d1f809f3b7041229fac0d6aa4
+DIST firefox-115.11.0esr-ia.xpi 605528 BLAKE2B a4bd330b6c545caf7cf2001b500252ea5f8731cec5ce0e9ab9a8346c4073d86bd63c236dc051da071250c11f840f4c0c74c44163df5d8cf46e2accd291959a88 SHA512 51b65e1ed0ac2b383ebc20be10671d02df3cc96d81c1e90aaa58bd64b783cd53e3c58f9296d8e1382e5ed3d9f830f011f1953c3d76a72dcc741ebfd5bf2b729a
+DIST firefox-115.11.0esr-id.xpi 567387 BLAKE2B 2878a87d5827e057e463f8bc9b440c8a8b58c39eb71fcb874a93d56a9886489987d7d2326a4b39e11a7c54cf39aa33781afcabe80fbcdc01c1b6bd0188af170f SHA512 d369700952312caeceff244b17fbd93baaea1f3b494094c5b9f1811a646cf8f9073a76894fcef854705af580316f6dfce8666022ef9939ab7398cac7e2e47ea5
+DIST firefox-115.11.0esr-is.xpi 608056 BLAKE2B 338ec3c60ee1340e9416b8042733bf6044049b70bc0216a4e2149fd7842013e8c8944fc4286fbf360a7fe9e113ce23cd226a9366af03a3afc657e56ccd2f8210 SHA512 fd6a4fe9f2960050ef6c5305e126d953e0be154b06181a838fb1fdd3fa7ba2321b41ef0f15b81fc924c0ad3242ae48784861f2c6f31c4be2fdab6b3c9f817853
+DIST firefox-115.11.0esr-it.xpi 561840 BLAKE2B f69056a03ecfed7a951275b1a19bab7cc6ccd1d60633ba48416bf2c46f7deec7993511895d48ae3dc821dcf9d046953ab618474caad39bf8989c15a97035220b SHA512 d45bacbf14a86c4df8cb63e1836195209bf960a4d7e29da77fc4e21f84c2b36d37733288660098a7c38186fcb081e2bc42932f33d64f34c63b9233eb2c7a3665
+DIST firefox-115.11.0esr-ja.xpi 670985 BLAKE2B e2832037fdf22b202ee708d49eb29f691dab878669c50e0ed32ed40746bc032baa137e1f8adf5b24946c195deab345a15e5c5b021731a6dde34c508ae2f15282 SHA512 42fcb7701c0ccb1ed0cb2a691c0dd8f1af81759f7259c7ad9b57e7268110aad24a880d4c25b795fd0c305923c62d8ac53761eb0a5d4878b7c7df224c8d6a2b0d
+DIST firefox-115.11.0esr-ka.xpi 657821 BLAKE2B a6e84200b7c2daf46fab1f97df31b8d7df799902402804573ee154d6106ad61f8ab701b6b4eb1bb6ce841cd57c86366b29c7b594f14bd6a4ce624ef55cc5f99e SHA512 d34cc1b191033e3080fc957df4a660b4e2da1a9805b2ebbc1f8e6b3f772df799116a208472eac05737cf3777e054effb21ed6a98057a93e58f7acfa8c2503e58
+DIST firefox-115.11.0esr-kab.xpi 598708 BLAKE2B 93e183676a6396e05b596225725c6e99f94e23edc3e82819c747d224ec9f8a563a2e42c07565b0e29a1da48cb085d666db1085fc390c13d59d66ab3466d800db SHA512 dcc73bf943cd22b5100bbd2a22d191266b1251f886d6cbb49c5d39d256b77a85fb2b0a6d1da90ef62b3ca1e418a2075918e486c1520da0b85599070081a37ff7
+DIST firefox-115.11.0esr-kk.xpi 702213 BLAKE2B bf99af8bd4a952f77598675d2dcfbf136565e85793a139b51adb91bd64aaacf86b8de19bb603788c03a89b745a4828fc3b2d627218911644ca92734e58f3409e SHA512 b3a6efb47901cabb40143b1fdeb34b835153162cc077fe26aa24bee9630be186b5d7f26c1e2aa58d08e700f7c5a43f48465d390767c83438157efa7bf246c216
+DIST firefox-115.11.0esr-km.xpi 522162 BLAKE2B f15dcdc105e201abb265f7d9681c205ae6a3b5f95d8ff1f13585933f34cbaab467ca12fc85dd8ab125e2fecd621613e04696c94d1189b144944ff7fca2ea0a2e SHA512 7e75247943bcd116ca6cc077b912d4d9c03bae7f133e9c08cce6b5dc34346fa1a52c25fe4de1b4ee3f06e427a2d5cd5a7089305ddd4efd2e535a03a5c8b6faa3
+DIST firefox-115.11.0esr-kn.xpi 488044 BLAKE2B d41f709991f63654f8d849a6e475575491582811c990499902384793fe27b4da2895f4a1221ed82d2c36e3c9400a0d06e9bfa4cc1061ea43b2616c24c611de4d SHA512 fe3dbe277c072732816cfce4e85c271d87d64008a9a6f550dafc34a8f45e35fd5da2f862ca954996ee1811d699e1821400ffdeb1a7b3add44799692538558aba
+DIST firefox-115.11.0esr-ko.xpi 656076 BLAKE2B fba0e373752a3f16dc8f0c33a7c5a8d958dd28045fee54ce7e18f5e0e4988770a04a1fdb72a068f4132e0d971c57653e47e39073bc1b6d89675ff3194fa5eae8 SHA512 c4151f6b8012284669e2be27514bd7fb89ded14225c426c80adc7b3465514e8c2032faea4c93470ea6615ca049ce9f2951c906b9e407ca6d8a086bb8a48af270
+DIST firefox-115.11.0esr-lij.xpi 478952 BLAKE2B c0bf55f8bbc32524364faabf944473ddfa00570e518e502c9cec5c365000b2bf054fb46462f9e72ccf7b90d9090b7c97b0854bd2dcece1ec1002cc8a08de5517 SHA512 2e9d74aea194a5c1896f53362da5088ddfbc2359e795d46a3efc950be1f4d397c6d16706d0bc12dc635baac81043f22b953eb241229a8cd556fb800a91443630
+DIST firefox-115.11.0esr-lt.xpi 566062 BLAKE2B 2c89b311dcd27da0ab537e25579c4ea4b8d390146d00b7248cccbdcb39167d88a028ac9fe326bccbc144cbc7a642c159df4f7b8a54cd241095fa8987b341d7dd SHA512 73cc3316d5fa5451b8ecbecc5ff644daa81bda1005c06857a044414a2c13e2dbaedaf050dc4a7b4a2465c514820ec497a7697dacabdef24a22685ae416a36b42
+DIST firefox-115.11.0esr-lv.xpi 568021 BLAKE2B 778c28a2a16f22c6053db6b828eb521f0b7e66cee98e620557bbb45394f71f548ede84e706bf99f4d3b13c2c58f6c5a7b0ef1debc01e71fe32c7d11f43b18dfb SHA512 a761f0cc8241b7e6736e7739843f5b26784b05f7d66ac7b451581a4991bf9e6219693aa064dfe1a3ddb5300c014e9cf27637a3bbf7681b1435848a7214c33db7
+DIST firefox-115.11.0esr-mk.xpi 489768 BLAKE2B ff7f9db70f023d1421fb204fe1406fc85682daf3970d1c4262bdc78556cac313394e52553153dadc94c81043f561de656ff5502404d0b5fd3ed6be035e55215d SHA512 94788d96ef9817988848b4947bf40309a2fda3b86db216446b0124a6bf036e8a367dda721e60c6634f8b0f9e1b3d8820acf4c130327f47a37ae513114449d33a
+DIST firefox-115.11.0esr-mr.xpi 526704 BLAKE2B 55b17e1a99473d0893f1ce638a4f6b189300120f25a2f7c73e02135ca9b2c2ebafd34a26cb31decad974e5ed185e4e450cb8fb4c8cbddb930209ca7a8ad8644f SHA512 5c678b1cd483b43e1894643ecac5c69ac1cc47e15914adb86014aba1412979908804d8582430256f65beda14aa833f1be4e7d80160674693fdc0c67c926c90c7
+DIST firefox-115.11.0esr-ms.xpi 445360 BLAKE2B dea5e310afe0266dae8986b1b2e7caf80b9683ba9a4154e804a431f42fec2653ec95bdc0d7558eef77c2937efb2030fd487bec05936babeeda02343f4ecbac76 SHA512 3e440e7a4238a5c24491fecbf45840c2c3bf5634cf10f9786d95b86668a03c436e977292cb12a20ab9dcb2355f1404d2e70958877d2cfde1693330349087b2f6
+DIST firefox-115.11.0esr-my.xpi 514754 BLAKE2B b2df1cfb7afaed229d86a9137d7e0268271f9972af660ac5450545d10710171fbefce3a1e82106e6c8eba091534ca08252c78e58d68e577a1b39babfb89b34a1 SHA512 065247c9ff4ef12d3e7ee0f4bf1c6089ca097e28034d2b24a8d7d597a6055d3f6a9c8053142fb4be50da032f95d0e223250b6107d40371f646c390a461b6196c
+DIST firefox-115.11.0esr-nb-NO.xpi 600612 BLAKE2B 8846160e4f1a44bf2fac9422b872b0e0a89ba98758c72ba0f9701ad53b6b5ed7b6510d5f85ea94cb1e44bbbe0b96353ca9574b0f9120d6a01f66024bd1d5703f SHA512 c1e73527099edd13ffb0c95ffd863f0c1df4ea8857809d4f4a7811bf5dbfe12ad21d3ef33c4970c15106b7af644e844bef0c32f0c4829b3867d58794fb71d43d
+DIST firefox-115.11.0esr-ne-NP.xpi 496355 BLAKE2B e961f0f5b2e700ed6a7be12e75285d1962a408ac43e81d04203e2e0f9ff40bf3240e04a0f691e9a55a7912a705b33f9117f9f3a808ee82454cbdb21929faf939 SHA512 d358b5a6a054a644e87a4e4a9cfe88ab74ccdd0692d63a455a10121f32d868d037c41e727471b0e5cb198edf5c7ab8cee822a7c525f3e59e9fa874c8f7d2d23a
+DIST firefox-115.11.0esr-nl.xpi 611706 BLAKE2B 7b57e9f48a52218bb37acbf13da085d726fd3ded5340dbc12d671bc56dc50bf67cb51774372568fe8f97d6d0e107aa2f734462e47538747c293801d97c5b5931 SHA512 04e96af4b5e68e7e0f5d7dd33f910b2912f23dbc8771acf65f482fc57d3b2b21a18ffd6f2f5e784df5d65ecf35768a5b1a2635e5832a9c9caace83b8e32492a3
+DIST firefox-115.11.0esr-nn-NO.xpi 594035 BLAKE2B 171d8d6f11237a23a4716bbd66c8fb8ff6529fb801e0dbad9a767302a0d4e20b07f8ddf42b99dbb82c5a6d9058c0be308eadac6c694f120aa7bf7ad3fe3e0041 SHA512 ce761839d7557808ffdb22e55130b910c453c2f67d91d5826878b826a0b37dc3887d304f39a4229f0e42e651b103e7b0ba786bd08b638ecbe52ccc2423082d5d
+DIST firefox-115.11.0esr-oc.xpi 605586 BLAKE2B ca94d057e8343817c6ca21bfb0689e9159054e62a2b2f318db6563688dfd29a29e24fd07baa2c6026c2616ce2592bf04141547890512ebc33adc10173664f27a SHA512 c0bc76076cc0a5f9684d6d51f4ff2dd455948df0d814b2c60ae63d001d3a57af802da345b25f56c7c8e12d0fb6a23e772a080353239707ef86f23e42f6d8b3b0
+DIST firefox-115.11.0esr-pa-IN.xpi 681659 BLAKE2B 3fabd39635d758b859e34249f40d5a1861c90c0e6facea65bbd7460b11585457578bdfb64d970e9dc5736abd83ec22381a5c06cc1b6e7de115ed3124465d961e SHA512 4efae168ef49bb6d325a9a3d11c8d2e563486ff49798eca6dccb161dbcfc7e0800d86e2df4864b2511cb5812a811a516a3f22e5de64d81ab551483ef48699221
+DIST firefox-115.11.0esr-pl.xpi 629674 BLAKE2B 73df32fd4b1c80c6b495d6b14632224e6b69b41ad33253008c8777fb2941440523d58f43f56058a695f29ddde282539bbf5329ba4a52a15e3823f68040e67a3e SHA512 69aae0a939ec6d0ef020f10a2b8be9053909a06b377121b8c7469c8b221a9383a68dbfef0add61794a5fd993ca30b2aa47522d1f5c7e7d427fe07011437825b4
+DIST firefox-115.11.0esr-pt-BR.xpi 616402 BLAKE2B c4d9ec6d658ddc3f1a0a54e978eee0a244a7c5774953556f79b48ce80fde90f9c12e3f392f37804793ad90fc939be4b93eab7bba398acd6fb441459a2d68a7e4 SHA512 95731038bea5bd4075a7bfca0e7c126bffacb6693a912d849b2626bb849a813f7b095e88f9ecd33a17bb96c94bbed9a7525b02a8084d280c9cc76aee7e752389
+DIST firefox-115.11.0esr-pt-PT.xpi 619990 BLAKE2B d1185a854e3c0a9395740f08da24e5d778683d18d66658f07de850e48d57229ab434959dd155ede4ec89c27f648ca199509c84461e3ae1fb45e8a7d8967341b1 SHA512 0fd3575c1cd73de730572171c86bbbd5eac6c9805eaa1619ab3ceadee5d9576b199c0b7dbdcb921dcd842abf84a6cd6c8cbd9585c0735c89cbc7b9157f8ed216
+DIST firefox-115.11.0esr-rm.xpi 609314 BLAKE2B 6c0e7fb095b20af07c75ed50250a7a257f3453ae2f907a34041bab8509a6e6569fa67eb6febfad36af9e5945aed246038c47308f60594e60db6aabf938c6122d SHA512 55bf5c32fcf1058411419c4a2aff07328547db5a567c632448ab2eec6ae28fde4603b7143486f20f24b5bb5039c6d60b92647395e9835c0c77a975ac26ea49c1
+DIST firefox-115.11.0esr-ro.xpi 543385 BLAKE2B 485a4ea7c5e2c5e061bf7e983cf6440d1fd5ac55ccd81ada092dce0f03997645ae3e1b0f204daf97ecc758b870ff2f6b428aac018ff6e1a8d02d17c9176fa5f0 SHA512 c6eeaa496d1550641b62396f3a0b8ceaadeef410f6edfb228779e887fa15dce2e72d3b1395fdf671531149c1992be65bd4e0058f9d3b094cb4a5abfb447cf86e
+DIST firefox-115.11.0esr-ru.xpi 714541 BLAKE2B 11dd28379d56c7db5b0c3af3c3431499417a16ac37739dbb04f3629da61249387ebc3f9bc766e174c9c7a1d5aa518ff3b91ca33cae179cb3d5fa5a63df48d966 SHA512 ca34bfa8d8cd1eae64ac1944e6ffd8cd9ae22ac361b52164df37965e6961ce220da81dc311e22de44c4a1be76fe2421427ad6c908cd65318a6cbc23a5a7cc594
+DIST firefox-115.11.0esr-sco.xpi 505549 BLAKE2B b80138f666259a1ddff4347043602cdd27311f9c31d0879493c2642de444d0e897fc3648fa95a1d3a715c54b656e2efd991adb2904fd1954c8a6bbef8a6e0546 SHA512 4326c7a6d4d104bf1edc39b53065576c149ccc7443063553d89db71298f9f37a05a477160c968f1a0264e4eeb650007a180f04b5b9cda8e735acdd66abfa7e51
+DIST firefox-115.11.0esr-si.xpi 600723 BLAKE2B 6c9f05c5f5c83afbb892a2b8f3fae6388bb928e1acc120f2b2391c33f457539880ea25f4d2616e3ac79d1c4e87a26561ac0c0708ea55e22e913138ae931cbfe4 SHA512 804d93acbb76f92ff03b88ace29e760fdc276de106e8b4db03c97a349c5cf1b3ec88bbbbf8adfb7a6b45f2f820fde47d05a233415ad0e64fa7fdd1ba5fe505b6
+DIST firefox-115.11.0esr-sk.xpi 645982 BLAKE2B b2f5beed5bb79d26f4a85283915e04a76ba6489c0fc3f6d6a968339fa8f679cbd1694f6ea7663c7f4a5564dcee263eb4c2be7b8e5e56cc720b18f718dfecb5c4 SHA512 6bd61dc742a6a4413aa7380cfefa60b74ddfc46e3f206ef9a87297e1a7400710ce73be5f40d8b1db489b94d0cab495f357469981f8bff0b6eafa944ebe6fa05f
+DIST firefox-115.11.0esr-sl.xpi 608024 BLAKE2B 73a8fd5646df8d443b5eb3e831c249cf96d003af381aa91c500dd627835f046d96e291cdfad3219ffc7e9abccef50df4ffca8d45f6cb9d1d281066edc411d33b SHA512 e4b2373c1269819a162a93df511b9c864175a2d7196b35af285f90611a0032a17a38d3ba44fc355259e2a3ed7e48157a879ffe4326da89c383ab8fac7d47d3fd
+DIST firefox-115.11.0esr-son.xpi 413535 BLAKE2B 3ac99102f7161a83491445cc953b441b0ca12262c421f3a75b98c2ff2af45025e2528d60f53a9553e9bfcd7226b398c1e3c3419c5c5813524c2201f4e225856d SHA512 aeac1452dccada5b48ffcf3e7d8b6527026cc816959f748fdca05949694511fd785e2efe2a4d9d717264d90054950ecf381b16e0b218c34bba9a9b307b567c91
+DIST firefox-115.11.0esr-sq.xpi 632192 BLAKE2B 53f700c912fec11102980662718f806be52d6e11690596297cac01a51f32058a9739f089164c2e86ed86390b16a0f226f942e6e317056a09cf3d0d9dbb3a5fd1 SHA512 2d6af3dc75e64ee2196773c442bf73de30e9fd77596d6a8971742200f664516e6180e546f6f0f681fd6e801cc97efcf7c603d6d39e870947a9348cc99380f267
+DIST firefox-115.11.0esr-sr.xpi 633090 BLAKE2B dac334371022d82b21719bf82e943912fd006797471c9e165276dbdd538f6cd011e2a56822d6235a03ac17b6b21b5f77c714da2fed07369be3fd72534cc14b8f SHA512 f3ed64a5d7dc4a0e51dc8911e6c299c663e56a22714947788ce8096bba4dd41943ac64b8a4fbf8260a0009e0c8bb2769800a5c1f3c5bce6c2e15b3134bada773
+DIST firefox-115.11.0esr-sv-SE.xpi 613542 BLAKE2B be65eaae07e11c913bb5172533521016cc32023e5d71bb41bf2580a0f70971d33f7fc7b5df8e91923747b8c74952885b7712446464b23c9ffc1a1ed8825793e4 SHA512 53e04a95c4ab9307aeebf342f662cca3e8faacd46303126ee9a542775a64a19bc9525f6bf537408e81aeb1d81d3195fe5c048ea23558cee6bbfa92abc827a5ae
+DIST firefox-115.11.0esr-ta.xpi 503478 BLAKE2B b61e02ac7cc84ce627b0975a4f9dd973a2dcc2983a1f4e154b1dde318a93ca4dc11a0eb982e160d7c79210fadabc0f88649c3fb575bba0c35c1ea58fa9e9f491 SHA512 110c4f8190f0c9dd1152424fb93b86c0fb38e423ce0c126692d1b3e283d775052f7ea7e7f693a1ffe8149262bacf4336b8e2a551842f92067390f90fc5cfb74e
+DIST firefox-115.11.0esr-te.xpi 554469 BLAKE2B bb7402ffe8aed43ecf449fd60d55cac035d8eb7e10f6e2a76b0da3e641c33dfac109e980220d0664a472a88a9ef852eab95515d138f16cd12db31d2b5eb44916 SHA512 355f78110c999034ed0bd0fce7117c27a868aae190e792a10cca0a44b1b1aa0204cc9239f52cec349708ec8a7027ecfe0ed5f92e76b8b7503c3450dba9aa36af
+DIST firefox-115.11.0esr-th.xpi 689150 BLAKE2B 678bcf778b46c75670ab91086990ef3ae8f4005ec0d58fe81fa6ec5980ee45bf19111cb73e361cf6e9a0a87f4dc1f50f276a21a9802faab64464c12ec485f632 SHA512 671cf6169bf574ca091c986de35117800151d0030690faa69115ca7955d89576e01c38b91d64f908cb854003b68348478eeed4b03a8ce747d5d1d8c79bed4768
+DIST firefox-115.11.0esr-tl.xpi 527655 BLAKE2B 839f62c96f75b977bf57f0c0aac062a0e890a495313149f8394c5bb6a7861c98344ded12269fd44ec4c6540ecc73a75102d6307386581ad9ce6992e160da22a7 SHA512 f503eed82250f27c7766258719c6491e87e178e3f270ee8e6dba6aefa7705ff6cfb43c59e59d71a7e074f3a2404c982dd6ea8fe3b9bf49b860f2fe0a9efd6b7c
+DIST firefox-115.11.0esr-tr.xpi 625234 BLAKE2B fde79f4e20380aedf2aa15f1506648912223c8cd269ef3340ee876edbf2949f35d2635e8429b7685dfa6bf3402cb0205880f55310badbcd7385fc5cd0f8ddc9a SHA512 efc4fac74cfbf23d7ae49578d92a326483f8b1d7e4ad747babe8c80d90aca7be82a9f58ad2ea32e587713cd904acf5d86d5e33707cc0a8a9336cfb60299f7856
+DIST firefox-115.11.0esr-trs.xpi 498528 BLAKE2B b72f0eb645a3932b13a56a03e10d2610b05ed757d26397e0dac5f8d74f7411304a6ec655fd22242410b1eb8aaebb9282f4d764724dc4378b3e986ceabcfb3d3d SHA512 3bd6b8cd9f30afa9bce3a86f8b79f5bbb1e808c244bfcbf50080dd7e1ce2b3acb8fe6ebff441afdd579f8aacecd3fa9c030ef66b121f8c5e18b177d2cc3ec5b4
+DIST firefox-115.11.0esr-uk.xpi 705521 BLAKE2B ba39b228282707b2d5af5d5edff2ad6e69e284234ac517573797a9fdfff371288a99b843e9f076183ecbe786c414e96735584defa4f4fdf9a838eaadc32a9ff8 SHA512 66e13f1db86de41dea5ec53d98480be6ef4e22b993c534d03066ba32058045e4aebe2cf4be2d051e890b67f4d569d1602a069ecc1f4e58db5176b4a8653a3273
+DIST firefox-115.11.0esr-ur.xpi 554703 BLAKE2B d315a77b5ad354f6509400e4bb586ebc0f6e312301de5b119642cbe1bd7f746914ff76d3e04dbc73ade6b2f07fd00ecdf0c8774a140503dfe5fffe5a904107d0 SHA512 af634ed4299c02ef1ecd1e6ffcd07b2cc9ca47d51a0d3fd08243349d31d3d0891f476229cfd43b9f12b42a45fc522bc4335f244a340ab25c1782de31d16c6395
+DIST firefox-115.11.0esr-uz.xpi 474518 BLAKE2B 1977bafb6b536d99afc72bd28b9f353783bc4c61a6aae99104eb1952d4fb03ade4381e0ea5a60f06ac55af61733a952942480a34b535b6a800c008f1f8e43585 SHA512 3b2a1eb7a96921612af1d1476a487cacb27c413144189ca143ced2a5d463f16bcfb4a1ff3f2f190450f303ade026131d4d987d019145055c8a5027cf2e697ece
+DIST firefox-115.11.0esr-vi.xpi 649093 BLAKE2B f6b695b33cefee7ec84e829924c30cd1f23eca27bda79b6b2cc56907e26d032e79abdaef32f33f77e13d054df851305e1f93bd8aa7d9b5de34d5bd38bd6bb71b SHA512 e8e3c4f7e9bbfde77f3f70e889c4e393a016131258d47da89d75f6f8ee2ef78284ea966cd6abb61041f21b96d4d3891eaa7b0cadad8fe49d3ff220cc09416a88
+DIST firefox-115.11.0esr-xh.xpi 414784 BLAKE2B 0c0e12593115bf6bda6e94c6adcb9a565446973bd9ea153e15509b183233a0037b28776804cf801a060aa7002ce26dac6a5829b0e926468d9182e2caa0c8a54a SHA512 001b395dfa0d2776c28fd9cf8e6296637a0530ad097e1b549c088670aa798336b25d3fe4f9f93b13e398404ee74ae65d8a479cbed23e49f0879a4dae7be10053
+DIST firefox-115.11.0esr-zh-CN.xpi 650822 BLAKE2B 2c47112cad4d9ed8d66f6a6368c0939611d717b9d8c0d0bd9668f1c4c60b4e813cf1f81424d092aff8e139fc0e53171382f60ffd2f55b75c438f00904747f03b SHA512 79d7473f7ff7458f8570c0fc3fa8e192c9b355c32c6df9f8c4b2ad626e3616d56ce1d83792e53a275d83b977e8f292b56083f50154ecddd3056be7140af60eee
+DIST firefox-115.11.0esr-zh-TW.xpi 653644 BLAKE2B ba76edda00ede0457a31267f6efbb12a38fdab0dcd8e90da74267e2a0f08a18744edb5b5d4ab05ba9fc26e8697961178e5a74b9c2637b949b9aa8588a2d34c3b SHA512 029c0b0682de91445a784bc0b5bfc8813b506ccfacf65ce6f33703519a8491bfd9bcfc76815e8e8718b67ccb78479cb6328538850c6ce67b1a9670d7f6f7abc1
DIST firefox-125.0.2-ach.xpi 460866 BLAKE2B f1a1036a9d17c16c81b9e2b8250e61c964a9d8016ca3d7a6fe24859c203b3cffe269389b53bc99b6c9c94bda107f7d74a918669c360d723b984002ce38c686ac SHA512 805f130d05e829422e930180cf7bd0268eef9d3fe7021b679b5be8fed5f6dc40ccd8bb4df3da2bafcd15835598921537c0024e7a184d65a614e5da698dc0b8ec
DIST firefox-125.0.2-af.xpi 414694 BLAKE2B 84ffa576949252520e8cf9e3c80c34fa135fdc8f0f39b2e42edf6189141ed5ffc6ad488ce30a20b094d5e803c659ee37f8251be112528d82af2cf8d7d532a362 SHA512 4bc6ae95c2ba87566bbab7c19e997c2d5b6012ec4d6c0905582a68482b1b13921b08e27a68a45c54ceb8320b746e68cc677d1cdd92b3eb0f1950cb3cc90e6e5e
DIST firefox-125.0.2-an.xpi 502762 BLAKE2B 601eb96a7d9af68453dc8d228d18fda63782b4abcdd871e50176e75e95e3f27520fc43b9735bc4c0a14c9291b049b4897322276c825bd81a939869996e1479bc SHA512 70093d5264c4662372ea4e1c88f6856d87bb4ec3c02b68d43e7fcc214eb194756e479d3c6524fc6ac2675f669a8fda313729e2777cacdd62209f643e783d1f09
@@ -389,14 +485,17 @@ DIST firefox-126.0-xh.xpi 414864 BLAKE2B 9ef6cc38daec68367317e8c29ad25d8aa1d002a
DIST firefox-126.0-zh-CN.xpi 649590 BLAKE2B 1919defcbe80f49756a984833c2e7d809728394df7d4897d0c805ed5ec6318e8b137a7866563ce9ed2e68ed51a3f6695cee8c241533bb2f43814bf916778a716 SHA512 67fb4ee9c44727e56f5f01e8e90817c582e619af051e43edf771f75cd20e8858dac332c0f422df8b8017dfe91c81d6a8eae1ce96a3f927726b8518aefb1fe28b
DIST firefox-126.0-zh-TW.xpi 651627 BLAKE2B 34dbf056777c8345e4da72b908af5cf300d649fc8fa5896766f587f36a051418d06126cddb841caf3eaae0c5f2285e13c6929aaad4aba310d8d9e40a2f417cc2 SHA512 154c03337b9638c04d62f1282aeb7d3785865e8af63382ef5689fa30509d5ccb0745f6f15a08cdd1c613d24ada133095d2be08a7c9f7b546fefc3d48f3344858
DIST firefox-bin_i686-115.10.0.tar.bz2 84198828 BLAKE2B 0c1c3ba0a656bb2b64ace3cca14708f22a9635047aa9f40a8181e480150b8a388d7ffcf8e0aadf06a8517300eaec173525ca7dc0b940018a48c8db548841ccf9 SHA512 12785b3b16d1d0ca2608ddd3580f6fec21ea5c0b849b3551145959140ac0e4c9705412d4771f4db4e07154d3b9974100c76f0edd2e045b0a0d08ef79ffd78a60
+DIST firefox-bin_i686-115.11.0.tar.bz2 84251283 BLAKE2B 6969fd47b7af3d2a4483c27462947f5bb9be5faeaa6fbdd74885179a937dee07e7aed91384de7fedbe1f150de6ca7951107ac8f1437fc881338dc696cfb393d6 SHA512 8f9170525de5ce77fe9742eb211bf6f87dd3936411376f6cb7b68a7d99b8e1dd45b208ba60b4a73733a3c638e8161138c2d9dff000d911fd1367035c051ec845
DIST firefox-bin_i686-125.0.2.tar.bz2 87783087 BLAKE2B decccb441a751dfc83338704d3c873d30890ebae1d7f323cb73282471387456147c6f6b12783ee421877a094b28f8583b5b68cfef53fad3b7645deebbdc8ffa0 SHA512 87ab13d01a82a3d7f01cff3cc9f66dc07b8b093c8a1f33994b64878bad12cc9c5df5d1289de7ca87690b76eb4fbb761f4ec78668de4596e681a643067ea5de7a
DIST firefox-bin_i686-125.0.3.tar.bz2 87757520 BLAKE2B 8f2d1c9cc482fcfae8b6e4ad072de974aeb3ea049aa17b9659e1501db4ff07d428b1f3ee82dd06c3e47ff677aa18b7e861625b23bc1126a3a2ae9672e3e82fdd SHA512 57a10ed04c8c1fef826f975055f797be186d03247375b14a0d2318e99c5a306e1cc69212397a05e1bf7cba76fe8c7b26f78f6629585d16c0c4c485572220cbb2
DIST firefox-bin_i686-126.0.tar.bz2 88707820 BLAKE2B 74b3070236789c00767666d6e60795def8956c5d2793623f01d64d627a4ac1c011796775b27f2800182fe99615087b692651c8202d248a391db09c4a2a30a5bc SHA512 ee4232bfb9215e5e2d4d3344d433b40fdec15f1bfb86886b1c9a5078200296c445dd625065a679d76846ca3114ccc3943612f34338b7598190a84b875d04a6d0
DIST firefox-bin_x86_64-115.10.0.tar.bz2 80568370 BLAKE2B f7891527e45c30e2f0894660cbcb08c6ba001f0f2e5bbd37496975bf881adcb7153f00aded98785b7a403a1ae43764bfbd2e3e6a3ff80435bc8b4f9f85f84abd SHA512 cfeb0fa700a06b4cd53b70c2e3a64e145ad3e7c7e21e47adb8a6aaf727203ce0fb363b9120ef4cb91d86d48933dddce11aa04b866c1880869b218d5a43b07205
+DIST firefox-bin_x86_64-115.11.0.tar.bz2 80258704 BLAKE2B 07937e7a9d466fe9cb8f7860358d47a2861a23fe2b59ea22d9141d949f72eacd45a0a7456f13830f77bbca7b8cda82e25b138a474ad866304ab4ea73b3dc8ecc SHA512 63310a989a54d13b035e209c48794828e1591eb9370ebb54ac2d8839a8548cf435f97ca3bb39fbc95d50ae33c90f946491d4d43beac703d07be3fde4f1ccb893
DIST firefox-bin_x86_64-125.0.2.tar.bz2 85793507 BLAKE2B e9ef22011f2b9fc4cda77a03c7c59c4440eec7fae14eba75c7984b9000f4376f25e7ba7bb4ea3e20f1cfe8701143d6f6b6a199b542ee532a3783c14194446d3d SHA512 ddb25a4bed6f6c09d251dd93f7c0b13fd3bcc57dc083b32003c313686346f2034e2e693e43f1a283a061840fb62282df43e7864f2567c33d5a29ccc1e372f160
DIST firefox-bin_x86_64-125.0.3.tar.bz2 86003134 BLAKE2B 9872c1044b8c5229ea4cf9356fbcfa68814e8a7ef5e96a1d7d11f694159749bfb2efec2772ee8f7ac34e0e563b6918b68985b82aa8ab4064b8a1ad3330f5776b SHA512 10af89a0116daae89628bc6b837fc92d026f3fb8339674c7ae5105c430626ac232f4820e51c4825d2244e8d25c984b8b3fe604eb296395a9829b993808bb58c5
DIST firefox-bin_x86_64-126.0.tar.bz2 86943957 BLAKE2B bb677ea06b998092f8eb54210239f40f25a2d410faf58ebc8743c6d98c8a401224fa1470d843e86fcac40c43f9dcb24c632104758991aab022da954d7fc9ab1c SHA512 20d27e4e7b9dc96efcc3846511d19077f31459db4e132648ca85dd702f8a741d0082acbaf32318b742f01ffcbe6d81d72d9d25ed0203a6a863f42c974e3a0749
EBUILD firefox-bin-115.10.0.ebuild 10934 BLAKE2B ba31c56b7abf9e2089563a33054a5ca6caf1e9cc92a7837600f0af25f8768a773ae2e2cbd2049964847ec2d5c93cedfeeed7e3a8f93704d9e8f8c8360ca581d1 SHA512 41e2a60e4a0bf1bef6f591bd0ff34a9ccadf7c85c94a23d0605230dd2ed35d01b54ea25534fde940766c7f52be5444d493bc7280dfdaaf2a7bc7f3d214d554c4
+EBUILD firefox-bin-115.11.0.ebuild 10934 BLAKE2B ba31c56b7abf9e2089563a33054a5ca6caf1e9cc92a7837600f0af25f8768a773ae2e2cbd2049964847ec2d5c93cedfeeed7e3a8f93704d9e8f8c8360ca581d1 SHA512 41e2a60e4a0bf1bef6f591bd0ff34a9ccadf7c85c94a23d0605230dd2ed35d01b54ea25534fde940766c7f52be5444d493bc7280dfdaaf2a7bc7f3d214d554c4
EBUILD firefox-bin-125.0.2.ebuild 10770 BLAKE2B c1cfb3d7e0810c354897e6c89612c3ba36d710f894211e89bccb91beb929c322a98e073be4c3d897da5d257214eee05bf3b5b1a7f3837440522fc21db5f94fce SHA512 abfa565783903bd65a3399098a6d5082e1d9a5535008ecc00f2f4656a1eda01430e98922d98b242cd42357458341a22056dd5e7b00fcc8e0afc3bc2958aa0dd2
EBUILD firefox-bin-125.0.3.ebuild 10770 BLAKE2B c1cfb3d7e0810c354897e6c89612c3ba36d710f894211e89bccb91beb929c322a98e073be4c3d897da5d257214eee05bf3b5b1a7f3837440522fc21db5f94fce SHA512 abfa565783903bd65a3399098a6d5082e1d9a5535008ecc00f2f4656a1eda01430e98922d98b242cd42357458341a22056dd5e7b00fcc8e0afc3bc2958aa0dd2
EBUILD firefox-bin-126.0.ebuild 10770 BLAKE2B c1cfb3d7e0810c354897e6c89612c3ba36d710f894211e89bccb91beb929c322a98e073be4c3d897da5d257214eee05bf3b5b1a7f3837440522fc21db5f94fce SHA512 abfa565783903bd65a3399098a6d5082e1d9a5535008ecc00f2f4656a1eda01430e98922d98b242cd42357458341a22056dd5e7b00fcc8e0afc3bc2958aa0dd2
diff --git a/www-client/firefox-bin/firefox-bin-115.11.0.ebuild b/www-client/firefox-bin/firefox-bin-115.11.0.ebuild
new file mode 100644
index 000000000000..95d67fb921b1
--- /dev/null
+++ b/www-client/firefox-bin/firefox-bin-115.11.0.ebuild
@@ -0,0 +1,378 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit desktop linux-info optfeature pax-utils xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+SRC_URI="amd64? ( ${MOZ_SRC_BASE_URI}/linux-x86_64/en-US/${MOZ_P}.tar.bz2 -> ${PN}_x86_64-${PV}.tar.bz2 )
+ x86? ( ${MOZ_SRC_BASE_URI}/linux-i686/en-US/${MOZ_P}.tar.bz2 -> ${PN}_i686-${PV}.tar.bz2 )"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="-* amd64 x86"
+SLOT="esr"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="+alsa +ffmpeg +gmp-autoupdate +pulseaudio selinux wayland"
+
+RESTRICT="strip"
+
+BDEPEND="app-arch/unzip
+ alsa? (
+ !pulseaudio? (
+ dev-util/patchelf
+ )
+ )"
+DEPEND="alsa? (
+ !pulseaudio? (
+ media-sound/apulse
+ )
+ )"
+RDEPEND="${DEPEND}
+ !www-client/firefox-bin:0
+ !www-client/firefox-bin:rapid
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.26:2
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ >=media-libs/freetype-2.4.10
+ sys-apps/dbus
+ virtual/freedesktop-icon-theme
+ >=x11-libs/cairo-1.10[X]
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.11:3[wayland?]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXtst
+ x11-libs/libxcb
+ >=x11-libs/pango-1.22.0
+ alsa? (
+ !pulseaudio? ( media-sound/apulse )
+ )
+ ffmpeg? ( media-video/ffmpeg )
+ pulseaudio? ( media-libs/libpulse )
+ selinux? ( sec-policy/selinux-mozilla )
+"
+
+QA_PREBUILT="opt/${MOZ_PN}/*"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+ MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+MOZ_LANGS=(
+ ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
+ da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
+ fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
+ ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
+ nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru sco
+ si sk sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi
+ xh zh-CN zh-TW
+)
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+pkg_setup() {
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ mkdir "${S}" || die
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ MY_SRC_FILE=${_src_file}
+ fi
+ done
+}
+
+src_install() {
+ # Set MOZILLA_FIVE_HOME
+ local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}"
+
+ dodir /opt
+ pushd "${ED}"/opt &>/dev/null || die
+ unpack "${MY_SRC_FILE}"
+ popd &>/dev/null || die
+
+ pax-mark m \
+ "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN} \
+ "${ED}${MOZILLA_FIVE_HOME}"/${MOZ_PN}-bin \
+ "${ED}${MOZILLA_FIVE_HOME}"/plugin-container
+
+ # Patch alsa support
+ local apulselib=
+ if use alsa && ! use pulseaudio ; then
+ apulselib="${EPREFIX}/usr/$(get_libdir)/apulse"
+ patchelf --set-rpath "${apulselib}" "${ED}${MOZILLA_FIVE_HOME}/libxul.so" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js all-gentoo.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.js"
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Install language packs
+ local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+ if [[ -n "${langpacks}" ]] ; then
+ moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+ fi
+
+ # Install icons
+ local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/browser/chrome/icons/default"
+ local icon_symbolic_file="${FILESDIR}/firefox-symbolic.svg"
+
+ insinto /usr/share/icons/hicolor/symbolic/apps
+ newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+ local icon size
+ for icon in "${icon_srcdir}"/default*.png ; do
+ size=${icon%.png}
+ size=${size##*/default}
+
+ if [[ ${size} -eq 48 ]] ; then
+ newicon "${icon}" ${PN}.png
+ fi
+
+ newicon -s ${size} "${icon}" ${PN}.png
+ done
+
+ # Install menu
+ local app_name="Mozilla ${MOZ_PN^} (bin)"
+ local desktop_file="${FILESDIR}/${PN}-r3.desktop"
+ local desktop_filename="${PN}.desktop"
+ local exec_command="${PN} --name=firefox"
+ local icon="${PN}"
+ local use_wayland="false"
+
+ if use wayland ; then
+ use_wayland="true"
+ fi
+
+ cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+ sed -i \
+ -e "s:@NAME@:${app_name}:" \
+ -e "s:@EXEC@:${exec_command}:" \
+ -e "s:@ICON@:${icon}:" \
+ "${WORKDIR}/${PN}.desktop-template" \
+ || die
+
+ newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+ rm "${WORKDIR}/${PN}.desktop-template" || die
+
+ # Install wrapper script
+ [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+ newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+ # Update wrapper
+ sed -i \
+ -e "s:@PREFIX@:${EPREFIX}/usr:" \
+ -e "s:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use gmp-autoupdate ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ elog "\t ${plugin}"
+ done
+ elog
+ fi
+
+ use ffmpeg || ewarn "USE=-ffmpeg : HTML5 video will not render without media-video/ffmpeg installed"
+
+ local show_doh_information show_normandy_information show_shortcut_information
+
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # New install; Tell user that DoH is disabled by default
+ show_doh_information=yes
+ show_normandy_information=yes
+ show_shortcut_information=no
+ else
+ local replacing_version
+ for replacing_version in ${REPLACING_VERSIONS} ; do
+ if ver_test "${replacing_version}" -lt 91.0 ; then
+ # Tell user that we no longer install a shortcut
+ # per supported display protocol
+ show_shortcut_information=yes
+ fi
+ done
+ fi
+
+ if [[ -n "${show_doh_information}" ]] ; then
+ elog
+ elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+ elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+ elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+ elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+ elog "(\"Off by choice\") by default."
+ elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+ fi
+
+ # bug 713782
+ if [[ -n "${show_normandy_information}" ]] ; then
+ elog
+ elog "Upstream operates a service named Normandy which allows Mozilla to"
+ elog "push changes for default settings or even install new add-ons remotely."
+ elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+ elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+ elog "concerns prevail, which is why we have switched off the use of this"
+ elog "service by default."
+ elog
+ elog "To re-enable this service set"
+ elog
+ elog " app.normandy.enabled=true"
+ elog
+ elog "in about:config."
+ fi
+
+ if [[ -n "${show_shortcut_information}" ]] ; then
+ elog
+ elog "Since firefox-91.0 we no longer install multiple shortcuts for"
+ elog "each supported display protocol. Instead we will only install"
+ elog "one generic Mozilla Firefox shortcut."
+ elog "If you still want to be able to select between running Mozilla Firefox"
+ elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
+ fi
+
+ optfeature_header "Optional programs for extra features:"
+ optfeature "speech syntesis (text-to-speech) support" app-accessibility/speech-dispatcher
+ optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
+ optfeature "desktop notifications" x11-libs/libnotify
+}
diff --git a/www-client/google-chrome-beta/Manifest b/www-client/google-chrome-beta/Manifest
index 051f0da7cc66..213747b10d7b 100644
--- a/www-client/google-chrome-beta/Manifest
+++ b/www-client/google-chrome-beta/Manifest
@@ -1,3 +1,3 @@
-DIST google-chrome-beta_125.0.6422.41-1_amd64.deb 107647192 BLAKE2B 23111d29ccc762e344eb8e23b797f82db7ee38517461079635c97179fcd99733c3df4b4c4777b9ff1d2ff698f7a1a77696e759c2b2aab961deb2db3e49d56d7b SHA512 a95c001baf3332c6cf8ce241eca402806dc18b26adf486b4870076fe4b4301177bc4da7a76dc9ff9dc9b80852bdea1748d9c348872dfd209b6c7e825befd3901
-EBUILD google-chrome-beta-125.0.6422.41.ebuild 2983 BLAKE2B c0683d291bd6459daf64a35c34b4d56824b1c1119afe758af8bc18dc2a3625f16c5e94b4a137a8fd5b7673d36d3b6e559df17269ad3dce405643edb809137e10 SHA512 b00a89fbd7d0d9dd1a999ae2b01b7aec9ad2b6e7b9bde8727e22b9a35769da5ed7fe351fcca6681e02007380662b0688a2990f205b1dfed8effb91d991ab21d4
+DIST google-chrome-beta_126.0.6478.17-1_amd64.deb 108440520 BLAKE2B 659520004a017eba014a563478daacd7a7c505d1c8d524b5f1918c98f6acf6ec83e2c2457a5d2325e6688cd98c78fd6696bc3ba11213599ad850c3fed6a4642b SHA512 e999bec82a795f2549564208ac81ca7a5d43f769d711bba9e21ef7dc21c1315969e6db8ed91f8138ccc1707f901ef719904c5b50f1199e6baba5b23bca7ad95a
+EBUILD google-chrome-beta-126.0.6478.17.ebuild 2983 BLAKE2B c0683d291bd6459daf64a35c34b4d56824b1c1119afe758af8bc18dc2a3625f16c5e94b4a137a8fd5b7673d36d3b6e559df17269ad3dce405643edb809137e10 SHA512 b00a89fbd7d0d9dd1a999ae2b01b7aec9ad2b6e7b9bde8727e22b9a35769da5ed7fe351fcca6681e02007380662b0688a2990f205b1dfed8effb91d991ab21d4
MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986
diff --git a/www-client/google-chrome-beta/google-chrome-beta-125.0.6422.41.ebuild b/www-client/google-chrome-beta/google-chrome-beta-126.0.6478.17.ebuild
index dd9e9c497aea..dd9e9c497aea 100644
--- a/www-client/google-chrome-beta/google-chrome-beta-125.0.6422.41.ebuild
+++ b/www-client/google-chrome-beta/google-chrome-beta-126.0.6478.17.ebuild
diff --git a/www-client/google-chrome-unstable/Manifest b/www-client/google-chrome-unstable/Manifest
index 9794a10da372..2d92a07dee19 100644
--- a/www-client/google-chrome-unstable/Manifest
+++ b/www-client/google-chrome-unstable/Manifest
@@ -1,3 +1,3 @@
-DIST google-chrome-unstable_126.0.6468.2-1_amd64.deb 108764328 BLAKE2B dd8f624399477a8b14f45e1a3cf013cd7d7c8d76c385b1638e556a583f2979e67eb91748f760d7cd9aeb568d81608bc5c93021f7ec7ee14e70e57163d8778303 SHA512 2a08594305469e0a64856e1f875d63bd2d190040da610beb643011e401c81bcbc0875928d88b03828890c4d7aeb666612944947205a21379dfc91e7ebeda3902
-EBUILD google-chrome-unstable-126.0.6468.2.ebuild 2983 BLAKE2B c0683d291bd6459daf64a35c34b4d56824b1c1119afe758af8bc18dc2a3625f16c5e94b4a137a8fd5b7673d36d3b6e559df17269ad3dce405643edb809137e10 SHA512 b00a89fbd7d0d9dd1a999ae2b01b7aec9ad2b6e7b9bde8727e22b9a35769da5ed7fe351fcca6681e02007380662b0688a2990f205b1dfed8effb91d991ab21d4
+DIST google-chrome-unstable_127.0.6485.0-1_amd64.deb 108980512 BLAKE2B b3fe4651477df400bdc731c6394bad044cdbece0268cc7d577d3dbb6f2d9b2951f7283d3f94053f78d2abfa3b378591b79f69673ee320489abaec2589213671c SHA512 a7e840f77995381ef5534edc2c2a73c1755e87b735607bdb1768a242ffda12304f8fb4706a7d93fa635bbe3ad0de0bd30190f92f6a5e47fb94f2a85dbc367637
+EBUILD google-chrome-unstable-127.0.6485.0.ebuild 2983 BLAKE2B c0683d291bd6459daf64a35c34b4d56824b1c1119afe758af8bc18dc2a3625f16c5e94b4a137a8fd5b7673d36d3b6e559df17269ad3dce405643edb809137e10 SHA512 b00a89fbd7d0d9dd1a999ae2b01b7aec9ad2b6e7b9bde8727e22b9a35769da5ed7fe351fcca6681e02007380662b0688a2990f205b1dfed8effb91d991ab21d4
MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986
diff --git a/www-client/google-chrome-unstable/google-chrome-unstable-126.0.6468.2.ebuild b/www-client/google-chrome-unstable/google-chrome-unstable-127.0.6485.0.ebuild
index dd9e9c497aea..dd9e9c497aea 100644
--- a/www-client/google-chrome-unstable/google-chrome-unstable-126.0.6468.2.ebuild
+++ b/www-client/google-chrome-unstable/google-chrome-unstable-127.0.6485.0.ebuild
diff --git a/www-client/google-chrome/Manifest b/www-client/google-chrome/Manifest
index d97d143d36eb..8a2b6c9b89ff 100644
--- a/www-client/google-chrome/Manifest
+++ b/www-client/google-chrome/Manifest
@@ -1,3 +1,3 @@
-DIST google-chrome-stable_125.0.6422.60-1_amd64.deb 107627312 BLAKE2B bf85a45a7c5215eb4be4f5949ead8efd310cad7f89f7eb8ffc044ec886914469b7ba2504baca4ff38f2c1973ec4f3db58c8f280a8979f9c36e20e457c608dfc3 SHA512 9e2f6d31f025111525c162de0b8b278202aab1db16a611292b14a174c1f4baeb47815fc9aaff02d638d04705e81afd6a6e627c7be1cc18546b32a3c3659a2feb
-EBUILD google-chrome-125.0.6422.60.ebuild 2982 BLAKE2B 94c28a910834b70ccfa642f6e5372dce9e534bf5b9c210516958e8cd96c4b8e042d360a9fa5c85d13cbe4b152a26b7751f5f87ab832002fe21e83f2cdf03f47e SHA512 23c9d78446da4b7ceef659dd659af367733abb766207e343fc991122d13744e3d67b0919d9d6371df5fc43815301c062087e1ce8d685e41ad0613e352b8c96ee
+DIST google-chrome-stable_125.0.6422.76-1_amd64.deb 107636752 BLAKE2B c3866d993ce2ca8d8d7e135d7818a251bfd3b57be3052d7d73befb9292956a7dec5b526ed88e64e453a22a0bbe7b750e11fc3f3287edf2b48b446f5a6d3931e9 SHA512 0c221bca2bfaf198018f8d1649da2ae3120e3a3e27dcf9c16170a6b05302728d28caf8af172bdd6e34b56d3b6cc7769b4a17def250c92a569871565d167dc866
+EBUILD google-chrome-125.0.6422.76.ebuild 2982 BLAKE2B 94c28a910834b70ccfa642f6e5372dce9e534bf5b9c210516958e8cd96c4b8e042d360a9fa5c85d13cbe4b152a26b7751f5f87ab832002fe21e83f2cdf03f47e SHA512 23c9d78446da4b7ceef659dd659af367733abb766207e343fc991122d13744e3d67b0919d9d6371df5fc43815301c062087e1ce8d685e41ad0613e352b8c96ee
MISC metadata.xml 437 BLAKE2B 35ab5a754d8e65db84e25b08c76bed923c2f9eb1b1d65687dda842313b5f339c90cbb3eb8fe12ecb58f201383955ad8f72a5b34484265194a3fcffcf760122ef SHA512 82e6057b085e849bc5484b53fef974022bb9db33836502e8d54fca3c8f54f47768f9b0ed4591d90a444e82142e727d4e4071236b114705f91c005f170b2a3986
diff --git a/www-client/google-chrome/google-chrome-125.0.6422.60.ebuild b/www-client/google-chrome/google-chrome-125.0.6422.76.ebuild
index a6673ff33b80..a6673ff33b80 100644
--- a/www-client/google-chrome/google-chrome-125.0.6422.60.ebuild
+++ b/www-client/google-chrome/google-chrome-125.0.6422.76.ebuild
diff --git a/www-client/microsoft-edge-beta/Manifest b/www-client/microsoft-edge-beta/Manifest
index b2b0a31c9ee9..7cd9f656ecb4 100644
--- a/www-client/microsoft-edge-beta/Manifest
+++ b/www-client/microsoft-edge-beta/Manifest
@@ -1,7 +1,7 @@
-DIST microsoft-edge-beta_125.0.2535.29-1_amd64.deb 167717834 BLAKE2B 37913c8c8d27f2c0ca195041e77225c059c81301d3f0611e869d08b6b5981acde5cbdd5d5df4b4fc1ccb7b784f4da964ee7d31a1599ef83c5b8c76f1a61215e4 SHA512 a537a44cb88f4b375d800af4e419a0f6836b8271a33226b458e7708807f4671f88ca0b1167b45b6b3a4f6efda1273925e7cf774e4d1fd55c795e50bdf86c389d
DIST microsoft-edge-beta_125.0.2535.37-1_amd64.deb 167771542 BLAKE2B 8757e70ad6f8264f47a8d9ef050bf18fa7878f91760b705ee1e3d7887ad8956a364185a0cd4b330cacb306ada004bf476b5b00b907d994ab55ba2116dc29f89b SHA512 9af0d19849a1ecde68b23587674572ea8fe3e3df7b8e24cb1ee1a95db3b3723ad9f98abdcad14fd1a999f5571360368b5e6db9a47a654d56079c8bd3f17588c1
DIST microsoft-edge-beta_125.0.2535.47-1_amd64.deb 167740238 BLAKE2B c7ac605859dc39615ff3b1b3bf96ecb36489450ddd1ac4a2868b83c4bd1f88fa26262f00749b9cd399573ddf993c2771fc11c73645ce5135111f484eaddb6379 SHA512 648ab90bfb0e791447d3d6f0b9c87920823af8c7f42020b77cba2cd0808fc812612202c1fb7cbac6126f924b01c49dd4eb4e14081c460ff38e2b81b9ea74a385
-EBUILD microsoft-edge-beta-125.0.2535.29.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
+DIST microsoft-edge-beta_125.0.2535.51-1_amd64.deb 167760878 BLAKE2B aeb063f3b263f797a897340d870e2946f96c4f8c2f31519b6c7ac1d6be73f96fa374ee7e820be6a99d1e750f32f8fe5b022356dda78fa33bd3452ba461c74d1e SHA512 2d2962c00f35ba16b217b4cf13bd5179f3a1b025924f9bf10be89f70e1a665054e570f2b5f257ace86348c31c1a5fe86c91c425aecb6071fe6e7828cb350074b
EBUILD microsoft-edge-beta-125.0.2535.37.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
EBUILD microsoft-edge-beta-125.0.2535.47.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
+EBUILD microsoft-edge-beta-125.0.2535.51.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d
diff --git a/www-client/microsoft-edge-beta/microsoft-edge-beta-125.0.2535.29.ebuild b/www-client/microsoft-edge-beta/microsoft-edge-beta-125.0.2535.51.ebuild
index 0ff710cc5ddc..0ff710cc5ddc 100644
--- a/www-client/microsoft-edge-beta/microsoft-edge-beta-125.0.2535.29.ebuild
+++ b/www-client/microsoft-edge-beta/microsoft-edge-beta-125.0.2535.51.ebuild
diff --git a/www-client/microsoft-edge-dev/Manifest b/www-client/microsoft-edge-dev/Manifest
index 2359575191ea..fbf72a5a3247 100644
--- a/www-client/microsoft-edge-dev/Manifest
+++ b/www-client/microsoft-edge-dev/Manifest
@@ -1,7 +1,7 @@
-DIST microsoft-edge-dev_125.0.2535.6-1_amd64.deb 167694710 BLAKE2B 019c4aa62fb8f6f85803c4ece48854e5d5f849becebbd57da9b702a7e3303d07391b72f66fe05931d8cec1bd54aa5b74adcda3d4c002a1c773f620c3ada297a5 SHA512 54c7bb0749a65ff7737d577b5c0a31d19a8db5aca05125a1d9dd338a1e97aa8ef9c68fcd6d28aee88351f33bbf6a8fba63069e4545a7284d5e5222a887f09bf4
-DIST microsoft-edge-dev_126.0.2552.0-1_amd64.deb 168214870 BLAKE2B e841f03056add448c32d1e5926f7fca144598eff12f45f4497bb0733f3c5136a3b9c12d55011d6da6865c56f586eaf00a04018150509af3a0ac3349a0f83d96e SHA512 52d9c18bda5299e136b27eea10adf3ef48ce79800e190badc57b24f2f3f6e592d542cdb2c4e04fa63f35f03d47acf7c00f6c80c059f33e7717ae2b4af3f3f3cd
DIST microsoft-edge-dev_126.0.2566.1-1_amd64.deb 168206314 BLAKE2B ba49550aeb1e38b0a36d4ae077bc0bbdd53e82df1d951073a376cb5275e6b2912ea183e1a4b32e04e7886b07e8fdd0bf05c0d81ce1461c2b6afafabbd7269959 SHA512 d89f25e971c0e3f7ff63f9d9c5f1223531d4f041c53c062d664c7094a7a816650e48c9fd3b3f0c7a98a541767fa80903f47189a038c6a0ef395c7e58edc307bc
-EBUILD microsoft-edge-dev-125.0.2535.6.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
-EBUILD microsoft-edge-dev-126.0.2552.0.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
+DIST microsoft-edge-dev_126.0.2578.1-1_amd64.deb 167892202 BLAKE2B e3ef57bdabf29ebd01da730e41af7d04953da5e4f6769a627bcd9b128f244d184bb54db4cf797c59717ee442bb25493f3b857983cf89401dd6e68927c17b77d3 SHA512 f7c9e9838afb5cdbaae257dd7f07a293729d07e57d66ac979748c554ef882280be70da33aabfc92690907cc9e6538b1fa684c5c9d0b412fd80a6f92db7718469
+DIST microsoft-edge-dev_126.0.2592.11-1_amd64.deb 168280938 BLAKE2B cca0aeb1f8d1b50cde7c26db297e17a386aeb8e56abf9c7f8bfba4b4a1a87f4d18a49ff83fefee2d966d2e74a1329c65f72aae3b363d197d33b47ffda1cd84b7 SHA512 b12f720686bb654e8b5776b7579ce5402faa3e54f7752254bd94fbf8e79424d117b98a2417598b39222a5a7fbf5297085623106158baa5028a8b6e31a584a044
EBUILD microsoft-edge-dev-126.0.2566.1.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
+EBUILD microsoft-edge-dev-126.0.2578.1.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
+EBUILD microsoft-edge-dev-126.0.2592.11.ebuild 2712 BLAKE2B e4c40954c5106692f7b454e32c79e47cdc99c09b2e1aa02a263951adcafb56ef2179235210e2c1c4a24b7571338c9329d46bf7c5fa8430284be2e1d2eb447148 SHA512 1d1a784a1b19db517d78db66fd8457b5dbfe803f852cf82d7137bd18f624618e91016f38f571e0d848542a17788d01685228863fb005cc8de4bbb96381e3044b
MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d
diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-125.0.2535.6.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-126.0.2578.1.ebuild
index 0ff710cc5ddc..0ff710cc5ddc 100644
--- a/www-client/microsoft-edge-dev/microsoft-edge-dev-125.0.2535.6.ebuild
+++ b/www-client/microsoft-edge-dev/microsoft-edge-dev-126.0.2578.1.ebuild
diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-126.0.2552.0.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-126.0.2592.11.ebuild
index 0ff710cc5ddc..0ff710cc5ddc 100644
--- a/www-client/microsoft-edge-dev/microsoft-edge-dev-126.0.2552.0.ebuild
+++ b/www-client/microsoft-edge-dev/microsoft-edge-dev-126.0.2592.11.ebuild
diff --git a/www-client/microsoft-edge/Manifest b/www-client/microsoft-edge/Manifest
index 8e968326a6cb..529a17f8a24d 100644
--- a/www-client/microsoft-edge/Manifest
+++ b/www-client/microsoft-edge/Manifest
@@ -1,3 +1,3 @@
-DIST microsoft-edge-stable_124.0.2478.105-1_amd64.deb 167528994 BLAKE2B 8c4b78fef3d8905bf7218d7477c141ceb73cdc120073149173e74df7cc509f130ec7576a999b161c95c6abd544f92d34e917f8071694a58e8c3617a6ef775231 SHA512 73c627ba2930648b48e8a98e4bad99369d2c98fc73cb3fb2a6edf165a0dea0df4598485418226dd3bb1acf902028e2c0200d83e968e463a48f37ac6823eb0437
-EBUILD microsoft-edge-124.0.2478.105.ebuild 2711 BLAKE2B 1bb44a3c56ae9b33ff45f5cede57afd5c9f39d9b02f030029e22de9694efe09e68eb0106d8a896e85de2fb033341c7b479a3c4d10e9b5be5ee50fa9ab218da0b SHA512 3df8105072f7b861b8fbb50a8c93ecd9b8221548dcfc84563b8aae1546c94687d45d8dded312c9b560f99bb9b3bcf0da24ca8489dd413b52a245943e778a073a
+DIST microsoft-edge-stable_125.0.2535.51-1_amd64.deb 167711342 BLAKE2B 54d155fb9391cf4ed70021f7d092cb4c0f4b78f3243ce4c84ea020fbb9c3dc3b6434c0024bd1b06ad13c50f95623bf370a0b65be9e2cc680411ec4c308bd8361 SHA512 6995972f62ef5bc592b5463aa29ba096c9bbfd855da9a2b218ef039a6a608b530797b85944ae5ddc4456c38d459d7ccac7ff7dbb22345fe47bad5b9ad51c35f1
+EBUILD microsoft-edge-125.0.2535.51.ebuild 2711 BLAKE2B 1bb44a3c56ae9b33ff45f5cede57afd5c9f39d9b02f030029e22de9694efe09e68eb0106d8a896e85de2fb033341c7b479a3c4d10e9b5be5ee50fa9ab218da0b SHA512 3df8105072f7b861b8fbb50a8c93ecd9b8221548dcfc84563b8aae1546c94687d45d8dded312c9b560f99bb9b3bcf0da24ca8489dd413b52a245943e778a073a
MISC metadata.xml 528 BLAKE2B ef09f12e6f9b503cd78a39ece67ab0b21c4760114b052bf105b7c5e426a1df43a5b37ff547338fc7122ac8a029b2ebb85a8793dbd4d192ae990ae71829dcdec6 SHA512 b6ab632cfce365f249a178a261eba3d469cd645cdcb99dd1bc4f1e865fbd6668cfd0f7171843e2b234ff852f8191a8b08b48cf89991cdfc7ca36337a71e5a38d
diff --git a/www-client/microsoft-edge/microsoft-edge-124.0.2478.105.ebuild b/www-client/microsoft-edge/microsoft-edge-125.0.2535.51.ebuild
index 7ea339bd40f9..7ea339bd40f9 100644
--- a/www-client/microsoft-edge/microsoft-edge-124.0.2478.105.ebuild
+++ b/www-client/microsoft-edge/microsoft-edge-125.0.2535.51.ebuild
diff --git a/www-client/opera-beta/Manifest b/www-client/opera-beta/Manifest
index d14f9544b201..ef009a94735b 100644
--- a/www-client/opera-beta/Manifest
+++ b/www-client/opera-beta/Manifest
@@ -1,7 +1,7 @@
DIST opera-beta_110.0.5130.13_amd64.deb 110204952 BLAKE2B dedeac21ce18c3180bafa9a6ae167b8042f78b1f50500f3c03374a67a3472d728a4abb0a760cc8589dfaf38b97fc63736b55f7855b8a02520c56d765255c3f0d SHA512 412165e9d69da93d38da321b0bce6e09bc6b981c1716604208ea5d14dba68f836ceff2097a80222341b9d36fdac0689eb8fd12c0e4212867647b0221c36362f9
DIST opera-beta_110.0.5130.17_amd64.deb 110223832 BLAKE2B 21a37802dd612a27db6555bda5767598f06c5e28cd754bcafb15418b74ef25ed4d9acc5adafe5e3e21a874118d0b10fc862e69b116616229bfe49e23275f3305 SHA512 555240c02a82a29a00460599ca8070d1b2d200d37ca3d58f8ddd76a748175168ed17aeee5afbf8569966e62fe5b21f1e87584a22b39ae8c2a74fca7f92e2535e
-DIST opera-beta_110.0.5130.8_amd64.deb 110214708 BLAKE2B f2a96885a9449b0821499c871843941488aa89f3a30d1791b04741ddeecbe52dda9b304642e60985403dd3b2aaa0e247dd5884648a639a74b2d7109adae9fb71 SHA512 d3f156bec609f385a0183a8b1383e192c296f3ca67b276c86109107953e6f0a4d8b79fafff7fedc58752c4398d0b4bc2d366d15ed84117139229d55d285c15a3
+DIST opera-beta_111.0.5168.3_amd64.deb 110690324 BLAKE2B af58d56d8fdbe6ca88c9b03c7cd8ed84c5259c4fbb43e61500dae8c23e067a5399a00c60f5215c017b2804cad7a390a682280d4f7241c0c42f113a52357e5f28 SHA512 2787b71e6e846497d2ba6b7adce8a13285e0359e62533e6a890f19c0aacb33d1032881b468be6a9bb497718d09ffde6c99454d05db6aa43867fa1afcdda9aec1
EBUILD opera-beta-110.0.5130.13.ebuild 4223 BLAKE2B 9e49acd6b92e12f256545d0c578849dbdc8ad817e25f154f28568c977cf08a8803e7ffb88cc38a9fe384cb1bc918e8dcaa0df8df1bd873e6de0c359883b7dbde SHA512 c9c70f838e6c7f489f977e9c454df11ed98a337c43f95e70f1a77b1e8db7b85e5c539125e10201c1a4e5c1ce55089b9f71c0edfdb41ff2f4780f28fdb014bafc
EBUILD opera-beta-110.0.5130.17.ebuild 4223 BLAKE2B 9e49acd6b92e12f256545d0c578849dbdc8ad817e25f154f28568c977cf08a8803e7ffb88cc38a9fe384cb1bc918e8dcaa0df8df1bd873e6de0c359883b7dbde SHA512 c9c70f838e6c7f489f977e9c454df11ed98a337c43f95e70f1a77b1e8db7b85e5c539125e10201c1a4e5c1ce55089b9f71c0edfdb41ff2f4780f28fdb014bafc
-EBUILD opera-beta-110.0.5130.8.ebuild 4223 BLAKE2B 9e49acd6b92e12f256545d0c578849dbdc8ad817e25f154f28568c977cf08a8803e7ffb88cc38a9fe384cb1bc918e8dcaa0df8df1bd873e6de0c359883b7dbde SHA512 c9c70f838e6c7f489f977e9c454df11ed98a337c43f95e70f1a77b1e8db7b85e5c539125e10201c1a4e5c1ce55089b9f71c0edfdb41ff2f4780f28fdb014bafc
+EBUILD opera-beta-111.0.5168.3.ebuild 4223 BLAKE2B 9e49acd6b92e12f256545d0c578849dbdc8ad817e25f154f28568c977cf08a8803e7ffb88cc38a9fe384cb1bc918e8dcaa0df8df1bd873e6de0c359883b7dbde SHA512 c9c70f838e6c7f489f977e9c454df11ed98a337c43f95e70f1a77b1e8db7b85e5c539125e10201c1a4e5c1ce55089b9f71c0edfdb41ff2f4780f28fdb014bafc
MISC metadata.xml 544 BLAKE2B e8594a0cb9a73ac5901ece78db220822043dca9faec994810af426f96e2ece7fdb069c5f1d639f66d1236ec83e6c46e50bd21c49f8a075cf0de41c9db9afd8a0 SHA512 2361ebdde2707166e465058b41a893b4c14db7c7ba8f4fe34f7ab34da4275f0af691e55881232a9253f5d793ff76e61d57689f56dd8ab879fc3ecb3294fc8777
diff --git a/www-client/opera-beta/opera-beta-110.0.5130.8.ebuild b/www-client/opera-beta/opera-beta-111.0.5168.3.ebuild
index cfafbce68c18..cfafbce68c18 100644
--- a/www-client/opera-beta/opera-beta-110.0.5130.8.ebuild
+++ b/www-client/opera-beta/opera-beta-111.0.5168.3.ebuild
diff --git a/www-client/opera-developer/Manifest b/www-client/opera-developer/Manifest
index df2a46b90456..9b7dffe95d44 100644
--- a/www-client/opera-developer/Manifest
+++ b/www-client/opera-developer/Manifest
@@ -1,7 +1,7 @@
-DIST opera-developer_111.0.5145.0_amd64.deb 110741464 BLAKE2B f0cd803b301423b583fc812cb364177532eaa641eae314b0ecdd5f5199b429ae912907c8de4c828cfb72c73c30882c8f549a6da298a03edfe69541360ade3d85 SHA512 20b5b3b5733c5e7e117de55425a535b01fc110190978c08f3ccf5c2c4b8bfca479a2a4b9de5506e7c4424075353c8410187eb07dcbe2bd0102b0e6a556fb31cd
-DIST opera-developer_111.0.5151.0_amd64.deb 111347532 BLAKE2B 2874c09de333f824769699f1261855e8677b13a4ba8f4970e7b7e5a7683faad282fc7af161e040c51bbcbac82321297346badfc174707da6c1d01054f5ed0348 SHA512 c1845b4e63a62eb4b8cda2b30bebe3398e5e7b13d3fd2a5b06a6a02f85f9e903b775bd0901cc6e80ccda182e8248f941275a73ecdb5abe9485728cc79878ef0c
DIST opera-developer_111.0.5159.0_amd64.deb 111427528 BLAKE2B 3142d6efd50ed145931ca2cfa0de85145f90c33671a7af54c4281d5872fea6f7fe09de0340473e0ee9ef9c2a464d85af2ecbcf1a9ee1a35cb25a608760ac0dd3 SHA512 40c0917016ec646a8f14442846495b5d3427d7593bfabde52f2579e744c2f043b9fdbb8e445fb05997fe2ce2f1d03c49151ebc7ccd875b5dd26ff2bad9e28f75
-EBUILD opera-developer-111.0.5145.0.ebuild 4223 BLAKE2B 9e49acd6b92e12f256545d0c578849dbdc8ad817e25f154f28568c977cf08a8803e7ffb88cc38a9fe384cb1bc918e8dcaa0df8df1bd873e6de0c359883b7dbde SHA512 c9c70f838e6c7f489f977e9c454df11ed98a337c43f95e70f1a77b1e8db7b85e5c539125e10201c1a4e5c1ce55089b9f71c0edfdb41ff2f4780f28fdb014bafc
-EBUILD opera-developer-111.0.5151.0.ebuild 4223 BLAKE2B 9e49acd6b92e12f256545d0c578849dbdc8ad817e25f154f28568c977cf08a8803e7ffb88cc38a9fe384cb1bc918e8dcaa0df8df1bd873e6de0c359883b7dbde SHA512 c9c70f838e6c7f489f977e9c454df11ed98a337c43f95e70f1a77b1e8db7b85e5c539125e10201c1a4e5c1ce55089b9f71c0edfdb41ff2f4780f28fdb014bafc
+DIST opera-developer_111.0.5167.0_amd64.deb 109894988 BLAKE2B 0c52050b6b9524e15ed9535119d0284e6778e5d4427bb5bb09b753a701e9e67ea9cd44c7be19f5bccc489b2eee636525e3aec3cd148939ea400ddb8c0fed77fd SHA512 1d17d22e0eda575960c8d44babe8136ce4499f5e83ae134a8de1b244099aa704a5d94e9af13fe6b84b8f365fac6f17da77dbd147cb49b81197fadac2e850a37e
+DIST opera-developer_112.0.5172.0_amd64.deb 110792748 BLAKE2B 4c23cc247b9fd4af98a677e10091c030375f3971b67092cf47ca82c8436de8bf41346fd2840c2d9fc7e5dd6eb3ef3151c9ad9431dc417c42275162c1b74760d0 SHA512 e938c040d9327f892d98e0d62e16580958945f0d13c0b2cdc078b3c21381b7123cc26716600d3d1fed54b2451ae8306c2e4bf079086bf063ad0c9cfe5332243c
EBUILD opera-developer-111.0.5159.0.ebuild 4223 BLAKE2B 9e49acd6b92e12f256545d0c578849dbdc8ad817e25f154f28568c977cf08a8803e7ffb88cc38a9fe384cb1bc918e8dcaa0df8df1bd873e6de0c359883b7dbde SHA512 c9c70f838e6c7f489f977e9c454df11ed98a337c43f95e70f1a77b1e8db7b85e5c539125e10201c1a4e5c1ce55089b9f71c0edfdb41ff2f4780f28fdb014bafc
+EBUILD opera-developer-111.0.5167.0.ebuild 4223 BLAKE2B 9e49acd6b92e12f256545d0c578849dbdc8ad817e25f154f28568c977cf08a8803e7ffb88cc38a9fe384cb1bc918e8dcaa0df8df1bd873e6de0c359883b7dbde SHA512 c9c70f838e6c7f489f977e9c454df11ed98a337c43f95e70f1a77b1e8db7b85e5c539125e10201c1a4e5c1ce55089b9f71c0edfdb41ff2f4780f28fdb014bafc
+EBUILD opera-developer-112.0.5172.0.ebuild 4223 BLAKE2B 9e49acd6b92e12f256545d0c578849dbdc8ad817e25f154f28568c977cf08a8803e7ffb88cc38a9fe384cb1bc918e8dcaa0df8df1bd873e6de0c359883b7dbde SHA512 c9c70f838e6c7f489f977e9c454df11ed98a337c43f95e70f1a77b1e8db7b85e5c539125e10201c1a4e5c1ce55089b9f71c0edfdb41ff2f4780f28fdb014bafc
MISC metadata.xml 544 BLAKE2B e8594a0cb9a73ac5901ece78db220822043dca9faec994810af426f96e2ece7fdb069c5f1d639f66d1236ec83e6c46e50bd21c49f8a075cf0de41c9db9afd8a0 SHA512 2361ebdde2707166e465058b41a893b4c14db7c7ba8f4fe34f7ab34da4275f0af691e55881232a9253f5d793ff76e61d57689f56dd8ab879fc3ecb3294fc8777
diff --git a/www-client/opera-developer/opera-developer-111.0.5145.0.ebuild b/www-client/opera-developer/opera-developer-111.0.5167.0.ebuild
index cfafbce68c18..cfafbce68c18 100644
--- a/www-client/opera-developer/opera-developer-111.0.5145.0.ebuild
+++ b/www-client/opera-developer/opera-developer-111.0.5167.0.ebuild
diff --git a/www-client/opera-developer/opera-developer-111.0.5151.0.ebuild b/www-client/opera-developer/opera-developer-112.0.5172.0.ebuild
index cfafbce68c18..cfafbce68c18 100644
--- a/www-client/opera-developer/opera-developer-111.0.5151.0.ebuild
+++ b/www-client/opera-developer/opera-developer-112.0.5172.0.ebuild
diff --git a/www-client/opera/Manifest b/www-client/opera/Manifest
index 45678b126be9..4ae89c1112ef 100644
--- a/www-client/opera/Manifest
+++ b/www-client/opera/Manifest
@@ -1,3 +1,3 @@
-DIST opera-stable_110.0.5130.23_amd64.deb 110438984 BLAKE2B 7a681b320266a5eec72481fffe9d7d29a8caf6ae44a7d222b42d99219f1802e1e3dd29c26b5494d207a6e87fcac997558fc63ed8cf6fbc11f0e7f9018fd54e9a SHA512 8b311cf3edd2faab48f5c1d4034c7595855e5c505a0d148f34b7d49992278a8f2f11c4ab6ed8ea18a45e219ae28fbf87e292322e31fb4db3cc607af49bb24b07
-EBUILD opera-110.0.5130.23.ebuild 4222 BLAKE2B 592d6299d8090adaea07c44906f404f07f882cf7726e553a223f45755ce924a455a9db1e207c4beaed05571f92f8ace3f88cb30268987bba02f172dfc92b2c4b SHA512 7ffe3d4abe8eab00c35510e7697881fa5f31009241f5a4b40156b5654edb701bce71fb45a7d40956906abfc37850fdda71452a04967bdc59f889cdfaabcc476e
+DIST opera-stable_110.0.5130.35_amd64.deb 110209876 BLAKE2B 65f86c5b8c5095dbf456d75d17e3e5864726ea06d09dbe007d6f25b8297ecc6523ddb88fd1b8d209a0f81abc48102077fe408b0160ce6272f8e708de868086d2 SHA512 35b8c8f6d3feb8cda7997b006a30f5b834e9aedb830e0efaac870c8efe5def52e10c38f9947a0490ef4d03c684a497cade8adfb645a4175bc2771636592e966b
+EBUILD opera-110.0.5130.35.ebuild 4222 BLAKE2B 592d6299d8090adaea07c44906f404f07f882cf7726e553a223f45755ce924a455a9db1e207c4beaed05571f92f8ace3f88cb30268987bba02f172dfc92b2c4b SHA512 7ffe3d4abe8eab00c35510e7697881fa5f31009241f5a4b40156b5654edb701bce71fb45a7d40956906abfc37850fdda71452a04967bdc59f889cdfaabcc476e
MISC metadata.xml 544 BLAKE2B 94b2f6807c021794769fc62b041c69bd08a0d307c51db96109bd45a1fff240d586c51daa91e894055e47291505750f07e9054b6b1b364a691c18f5711acbe9b4 SHA512 691c7b62fa7c8a46e4cc981a2f211a1609b1c57620aca668b001eeaa2cbcd2f38299680c4707a73a8f32ee19b054cd131a2b09600bac30b8530af35142694ff7
diff --git a/www-client/opera/opera-110.0.5130.23.ebuild b/www-client/opera/opera-110.0.5130.35.ebuild
index 8c39dc13a868..8c39dc13a868 100644
--- a/www-client/opera/opera-110.0.5130.23.ebuild
+++ b/www-client/opera/opera-110.0.5130.35.ebuild