summaryrefslogtreecommitdiff
path: root/www-client
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-08-21 14:41:18 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-08-21 14:41:18 +0100
commitcb701a27e552fb85d830f305bee3e17cddae0234 (patch)
tree48ac9c235f92d68705e5a5eb354e6e45b857aebb /www-client
parent4dec1dfeca8e16b25934ff861c9eab7d1a8758a1 (diff)
gentoo auto-resync : 21:08:2022 - 14:41:18
Diffstat (limited to 'www-client')
-rw-r--r--www-client/Manifest.gzbin6216 -> 6207 bytes
-rw-r--r--www-client/chromium/Manifest4
-rw-r--r--www-client/chromium/chromium-104.0.5112.101.ebuild2
-rw-r--r--www-client/chromium/chromium-105.0.5195.37.ebuild13
-rw-r--r--www-client/firefox/Manifest100
-rw-r--r--www-client/firefox/firefox-102.1.0.ebuild1284
6 files changed, 1388 insertions, 15 deletions
diff --git a/www-client/Manifest.gz b/www-client/Manifest.gz
index 134ee13a88ee..77cae74a24d4 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 b7dc65abf08d..f84d99587112 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -16,6 +16,6 @@ DIST chromium-104.0.5112.101.tar.xz 1510110428 BLAKE2B 33b5ac2339d88e03096f3ca8c
DIST chromium-105-patchset-1.tar.xz 9116 BLAKE2B 7728b83899e19b3c0ba4a69c660b68af7ea549a0144c15ab9fa972001441d9d145de20b7a1bafabf2b0667335b7436f6374c9934d4433160805c31bc743e867e SHA512 8f97aecf7b24c3f676bc74b88382dc4a5d967a090a4b4890971cb342973b0a20fd563c658b1c3fdaf036e830317d97470143ab78b28f336b315d491217368a81
DIST chromium-105.0.5195.37.tar.xz 1597759960 BLAKE2B cda98fac8b4d7b0e4d9004c5cf896dee954048fecb331f92e8f69c2690ff0e21462622608b334e6fb7e6c47463efdd7ff3c2414b9b7d75be8fbc0badcb34ebc9 SHA512 f71012934146682c1f557117f46cf2996070aa2943048b12a419bbee537d8955aaaa283fcd8a4b803b7a4089bce12f167353a3f60cc7ab72b74225b5e706dce8
DIST chromium-profiler-0.1.tar 269066240 BLAKE2B 6897387b63ff9a724b67f2e8799fe803dc75da376da809e752d19d6f5cf98bd84ac24161d07ac4a967577279e9ad5a8a46f0825332a7ee933a27693d6dc95611 SHA512 3fb6132599d28455d1b5c04d856ea7623e49b0b0b96f021c31d0952c4ba57d69d0a1cae6f0b91470a235221c89cc0d3bb38303ff02594ed0739712e6e2f8dbcc
-EBUILD chromium-104.0.5112.101.ebuild 37233 BLAKE2B 78798f71360c617d0962861f298cc274286c00e1ec1f55e8f2dbf53ae7c053c96c4f344147c862331edac7f76bbc869729e5681f91102cf3b488632364a5336f SHA512 226770c92db724d0690aff4ea16582a132ed5c0a51557811dc7284a4823b657f520b486227061f7b73d742598b09cea232a7128b53f7068fe1d6ba64363d15b6
-EBUILD chromium-105.0.5195.37.ebuild 37348 BLAKE2B dfcfd165ccdfa447c51679ded53dbbb9458adab98ebd42525bbcd413172b6382853b4fcc93014da24116dfe1374ac29de505f334406904a9217dd52635dff24f SHA512 c316c99e63464d6229949d5e9d630a36a89de71418bf1c4f32e25d074b9f6b2a33cef910d5a2b82882df2ef7935c3bcd0cbeb7b5e52d32bc4e35c13b005975de
+EBUILD chromium-104.0.5112.101.ebuild 37233 BLAKE2B 0195d650bc894e0efee28aaa19b36d8d3614405fd23eb8b4d85381d9338f0f2bf635a4cd2bd1786621556485826c63339448697d231b302f2aa0fcda2f10c275 SHA512 d34052b3e57168298d5d89f35a3a195cb74524637a6127b4dfd5509b45cc944290bd7eaaab16b0f22f2a902c6c8c0b182750bbae329aaa4b523216fee0c9d0cf
+EBUILD chromium-105.0.5195.37.ebuild 37012 BLAKE2B 4282ac7a5fef117ad51725445dc75e2fabe8e2e4e0a2897f18a647099a98cc3e5c99f6984d95f8641084e32c4c0a4e5514675530156dde8444ccc65e38607fbf SHA512 39202a1d11cbefd6f8067abb9f0d82cd5d4073816942059dc655a5a8d9a151e5e95a4eaab6b5fd46d812bbf195d7292868e38c95ec8fda1b1d8b24b1b9f7c582
MISC metadata.xml 2039 BLAKE2B 165c45988d524ab5fa9562cce25997d1a54685ce1c15cfb4058ca572ba4d5ea906ba4392c59e3f492cd2b7b3ff656a33a5494e1418cb64942c69b70f271138cd SHA512 b85e969b529177a8cec0f10c4f1226fa4facb7c579c102731ae518edf25146044120a713e78f13589979c8f5b6df41e9519ac0243526b23879e3b17f966f6284
diff --git a/www-client/chromium/chromium-104.0.5112.101.ebuild b/www-client/chromium/chromium-104.0.5112.101.ebuild
index d1f1e6dffdd1..d378bd3735e8 100644
--- a/www-client/chromium/chromium-104.0.5112.101.ebuild
+++ b/www-client/chromium/chromium-104.0.5112.101.ebuild
@@ -263,7 +263,7 @@ pre_build_checks() {
# Check build requirements, bug #541816 and bug #471810 .
CHECKREQS_MEMORY="4G"
- CHECKREQS_DISK_BUILD="10G"
+ CHECKREQS_DISK_BUILD="12G"
tc-is-cross-compiler && CHECKREQS_DISK_BUILD="13G"
if use lto || use pgo; then
CHECKREQS_MEMORY="9G"
diff --git a/www-client/chromium/chromium-105.0.5195.37.ebuild b/www-client/chromium/chromium-105.0.5195.37.ebuild
index d9ba1e2aaa5f..d4aafd72b615 100644
--- a/www-client/chromium/chromium-105.0.5195.37.ebuild
+++ b/www-client/chromium/chromium-105.0.5195.37.ebuild
@@ -263,7 +263,7 @@ pre_build_checks() {
# Check build requirements, bug #541816 and bug #471810 .
CHECKREQS_MEMORY="4G"
- CHECKREQS_DISK_BUILD="11G"
+ CHECKREQS_DISK_BUILD="12G"
tc-is-cross-compiler && CHECKREQS_DISK_BUILD="14G"
if use lto || use pgo; then
CHECKREQS_MEMORY="9G"
@@ -890,17 +890,6 @@ chromium_configure() {
fi
fi
- # Disable opaque pointers, https://crbug.com/1316298
- if tc-is-clang; then
- if test-flag-CXX -Xclang -no-opaque-pointers; then
- append-flags -Xclang -no-opaque-pointers
- if tc-is-cross-compiler; then
- export BUILD_CXXFLAGS+=" -Xclang -no-opaque-pointers"
- export BUILD_CFLAGS+=" -Xclang -no-opaque-pointers"
- fi
- 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"
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 921f8a7ddd36..9c3dba24a21c 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -7,6 +7,105 @@ AUX gentoo-hwaccel-prefs.js-r2 265 BLAKE2B ac3053eb15e2dac446337c29184b5ec54fb30
AUX icon/firefox-r2.desktop 8137 BLAKE2B 5d0ce737c0e0969cb1a61de7989f5ca1ca0dff413d6d98bb0c93e0fed510b4e075a88fc117d3713e5e11ee7471ceaeffa9bc9dfd4282f3ddb1ea837d823e4887 SHA512 749a50b11d89c1329a52d13745ff8d5f801e565038cb5341319b4b515f36baf1c0c740003d6d01188c27e31d7ddeff58310e7b2420681292d0f2522bc5bd34b6
AUX icon/firefox-r3.desktop 8116 BLAKE2B 50b476a1be87bcca0bd6175b7a7f5e67ac5d3f40b0a5a99c2244036a9eea53fb518f59c1d87b18723c4ae6c261bfb692ef0b52c6714402b0a98da4b6867ab977 SHA512 07c9d89babe20fba9531396c9aa2b692aae77606be2b8a750481b6b8f9b3eab320fef313d1ed4b15d3fbc4cd94dfb56b62ce1a3e89ba7143c6aa9acc0f919bf8
AUX icon/firefox-symbolic.svg 7432 BLAKE2B 33a552ffb9850f6b9cd3cb8d9f7f80268ac08f00a0bd5eb15d892c6fbb950f8cacf6058b9c838f5be1ae1b53541f143a1ec0c1302ae85b49100b166fcbccdce6 SHA512 ba7db9a7c95a051bcd84e4c09c802fc55ee3c0d1d06ec1b169b04e414259b75bbe92fe584aee41a1e3f71e71c160df8bedf5393449e5024110ed27dbc0579ea8
+DIST firefox-102.1.0esr-ach.xpi 443121 BLAKE2B 71bcf39ed5c3e252c3fc15593c6b69a8fe85962d51e24c25af394a5924279dd7f2d053254b55aced273bd98f55249f57c8c8c2bca59f9b19cd07a4e3b804bb3b SHA512 47fb0949323a9ab90a986af16dd72aefd301b56786a8c5e45ba40928027294a2bd9e48c4f1c2c56ae85c2d3a26eeace5a0e7684a3323914379832007b1af154a
+DIST firefox-102.1.0esr-af.xpi 408465 BLAKE2B d7d9d4c3da3a07d04486a7191427c405ef57e7aa69eb76ae82350fefad2c129844e37cd4874ef3c6052d908d929a22b85a0d43a310475b1f5d6621f7895d9496 SHA512 71fcbc1db5236ecf1d0b9526b959405d005eb1c91882b7de47b215cf3d7053f18562dad6e52158132e51ad43abe5ae6060fcaf6daf00699a7551d8ae416dd285
+DIST firefox-102.1.0esr-an.xpi 486986 BLAKE2B 3ba9ea6b3fc5f9bac75a5e60aa5b8898927d4fb8b3b94e0d476afff2809f67bcdf537772322a15886ff8eb1bf2083f9112386e5145ac213ef2b2b375808ac3fa SHA512 c2d84f672f230f755f65e148f23d616598a9211464345ed1d2acc59ef2aa8b9b1a55200628f3f517060d44f5db566d5b3dd479f1226db5f46758f19a27cb1e5f
+DIST firefox-102.1.0esr-ar.xpi 550928 BLAKE2B 5381436251258d871901788be18f2992798ce90290da4ccfc54de0b9231fb27548e0c233ded87f0a18cb67ad2ad16fbd9f7090761dbfd42ed92e15724fed90c1 SHA512 4c8e981a2874b3b9ac2cb8a15f4ea060b3d80e297e69f2f068cd8135a9489432b8954af3683e456c3b05eb3bf53f3baec9d4d34e289fa597b150c7d7ff676384
+DIST firefox-102.1.0esr-ast.xpi 483314 BLAKE2B b1ee767b73b308187bf94cf1f640619b3a425d24c19125576e3f5a8c4219d4239d5c1031494ba073a9a1b101f8328939d8242e4b529a52f3ace7113f37ebbf30 SHA512 00fc703e27a687c725a1c9b7ce5d483b03b4ad0bb443ab05a3ffb89f4f26877acc3d9b4c804a33341c7ac61999d8e0b38cde5937685341428c40940602854510
+DIST firefox-102.1.0esr-az.xpi 474705 BLAKE2B 96d64ecedad79e71bc700f0c9e3fdc51eabf8a6f565593a2fd5911058fc115d52866a3e6992cd45850182916831152e48add63f1d5408a5f853fcdb8ff91cad0 SHA512 46500ca802c5e4bd7e7aac560f1d0adbb9d6d56d6179394e91edd2cb80fb1b0191d22e4de7c7a95b42d525d1a6656ea545d49ca144d4be1803c0f5dc616367f8
+DIST firefox-102.1.0esr-be.xpi 613480 BLAKE2B 080e6678704453c8551cc4179137e9da2b3bb2d9a449b7598d7fc02b8cb6f4591588c352e5e3c4baca5b3753db731ec5c2201c255972f78c7a5120826391099b SHA512 3839862773a5d665d6046cb3c617a916ec29c9e5a108ea3f1edb22f822accb97909515bc0e0dec67b849607b7fabcf996f6d12689b552f47889132fbfce68758
+DIST firefox-102.1.0esr-bg.xpi 563649 BLAKE2B 8b82ac1359afcf6be5e65c46e718cb4b36483360074a9065dd1085f585514723b5ffc2caf3ca903b9f70abeba4fe872a979dcec40d465d7fac6b1a45d44d0a0d SHA512 7eca4e38b6f9a2091ce6941507d4105c6b977399f2131af6fb059d0d78fe7b578da984913c5223f4334346423654ff686ea2c9fdbd442d782736f27274162859
+DIST firefox-102.1.0esr-bn.xpi 565248 BLAKE2B c5ef405f8ae45a341cd76a796ea2e73ff6a7cc1445d92b20cf2498df3998939e43b141e1d67310a51ca589293b9f87d8ebddb590144ff8aed9821fb4dc84591e SHA512 a234871d127bca44a781e9d6b165fd01763c477be7c703bfb39f9a7085137d25878647cd8d3d8d89371a071d04afb422c8cca252e87dc463267a5b1d26d36e37
+DIST firefox-102.1.0esr-br.xpi 521048 BLAKE2B 7df39696c920f1eba0e2aca10b48b88d18a5f7e5559885c417aeab6dbfe5e21b38c011886dd96ac6935e3f1e65da82fa0f1cbff5e8b757c15b22dcc0e310650f SHA512 cf86703796a9f92a3baa58327e446dbe02354cb743b183a2d3ac3dbb8fa4aad58288e630d61c2ba51be1859b2c09bea48c37b6f3a2998012cb99363e90b76455
+DIST firefox-102.1.0esr-bs.xpi 451835 BLAKE2B e55944e27555b34a6924fb9bb5e39baef0c010e847cf664ef9482f8f634a238f3f4f8ff4ab08dfddf4f1e8ec9cf745fb4683e7fe502d6f20fa6e5de75f3ce2cd SHA512 cb33f079b92eac84b6597e3a144ee5baddf09e9b1e95dc17108ad4be9a1cb32abe5651a1fa6ba8df55b901d8f04e9a225ee8d36363c1a845b36b8e2c0e6b9823
+DIST firefox-102.1.0esr-ca-valencia.xpi 526186 BLAKE2B dcb549b0ea1460e611dd5f0bdee450bb65ca9f24a0e377fd44dbd33871402f6fdd656af7ca8de957718965a10624fc51d5805c68edb7d435b35e78f13b9b5400 SHA512 e7a4b14a2037da5f948f28bfdf46f50188af7aafb77bb0bf5ee15fbcac0c88b20917a63b414d89e68ac84dc7ec72ee22f42e61937faa3d741d81e53ca0494194
+DIST firefox-102.1.0esr-ca.xpi 522649 BLAKE2B 36b54503e880a82c104e9bf9412941c83155dbdcf4b618251a277726d761a26a5c484b4f1d5dfcdd54c69e2605bcc41ad440633c641720e127e4f3568be3b32f SHA512 6df91138673452e1b0d9e1a372d2dd861b2207ebb8621c0a086db3c67977033722b15896a06e042f8a4421a9cc151981371e392984fb32f97e486f11addcdf1f
+DIST firefox-102.1.0esr-cak.xpi 539687 BLAKE2B d8d425284de763978ed49a1f82fcb9158a337f4f3c7eee583cd047182e1475c4a3fc9190521ebbad903df9142b592664fe7e655c1ce354e21a18b68c35a1068e SHA512 433ade316922d888501d15c20cf2b25fdc0518d903fef29f598815f5ef61053ede8ed63116a0504ded7e4ff0978fab3944f794a5f30053c2b5a46512cc629b3f
+DIST firefox-102.1.0esr-cs.xpi 556822 BLAKE2B bc5d20cf77fa52b990691d022bb4c017f2c37402fc4196df48e617d666d06fb46cb885234b4e009eb0d9892e05d576aa44515ed86e68dc0beaba396c8fd04fd3 SHA512 21dd342353563b7ceedc5644933b3644b92defd22319b4751693fcf0744bbba2f662be734d49e68502cc429499e7cb1a60dc966673c894d1375f96c714f70c69
+DIST firefox-102.1.0esr-cy.xpi 533734 BLAKE2B 3755a5885aa3e73645cd1ac046653341c647ea96f2a2fe338e942269f15c8d2355fc3577cc7ee19c1fcbc60c3366e3d6cca2de0039cfd50591ac3bf0cb947afc SHA512 e51398fdcb7e9ea3e4cb31e3d88085f6d5f4e0dd2fb4c0ac649f7bcf8fe6599dbec1e328a5b01d6f66ca835d562717990c645dc94acdce877a21f21f7006b5f9
+DIST firefox-102.1.0esr-da.xpi 525905 BLAKE2B ba89a9799d2ed67c4ad79ed46d093a7030539564bbfc86c75a6d1e83af2cb26d64bf370006b63c13eddd3e0bc066a1e69c2f3b716fe00d93f2ff8af5fefe6168 SHA512 7ccaba07923e9c800c42d3b1aa3ab92d849022af7c553ae8c7c52636d3db942a71ff9eeb650a9475487a06508f555e317be337c5bb97100eac0b9152d3835e00
+DIST firefox-102.1.0esr-de.xpi 544840 BLAKE2B 45b5a57406e9554b737bfe79b5f624856a7ae8d7aeafd0f3eee622457a6b1696f34d33416038d7ae442db487545294b9c78de355892282cc33b4ad05cb376e8e SHA512 66eaefaae72c2f555b69ebf1f272a78580883f02d2aa4e4d7ed391582034e99559084829dc2a736201a7a3ea72039bf827c87d39ffb1c67685e8654567e34959
+DIST firefox-102.1.0esr-dsb.xpi 557558 BLAKE2B bc23ea79523e96decc1f199359b2c8c72e2c8400dbabc73c59b1d2d7a33efd962e10348ed050502c43127a32b9ec7174d9a21747ec690afb29674865d11ffcb5 SHA512 433d90105cac240f8d1a21b9710c63f7b5bad7a48fa23814b47d970a3fbefdb6a7f17d66c24bfc899623ac7681eb5a8ae6daef8b76a8b4ac7855e35e8a9d2beb
+DIST firefox-102.1.0esr-el.xpi 628786 BLAKE2B edf95f65068968ea600b6a20b1e68aaadaec03118b8c81ec11760de7d6c94c7d5a77422bc4cb74a8fc32058129ec43bfb6518834bda58601aac933db63bec172 SHA512 16959e94b6be47b73fd3c1c4e5cc86832edad7973310fd43a37414a561e2b510d00dc29df3667f9fcc45180b338295133d3fa8259733a712b217a92d50b1c680
+DIST firefox-102.1.0esr-en-CA.xpi 501976 BLAKE2B 62991adf8a741e9816bc13193d7c50175ea2d55b44c85711541fd9dcf17a95da88602523e49d65303c64c645ac9b70532593b029e9435de20c2a667e9e4c0d17 SHA512 a8d077be4c086aef6bf2db0dffa91362d4c3be3f94031749528ada6ea2c43f79a035b9926940edd90482048cb361b102e822bfac9b6f43b0f1e3f964ba4c5df7
+DIST firefox-102.1.0esr-en-GB.xpi 502455 BLAKE2B 31d986975e1385c84e14fd752f7b4b04fa5a17ff2b79c4b3a300936e103cfef3f4275b12f6a88bcb7e7c6d834ce28ebbfe61a7c5361d405d32d9e307146d5fd4 SHA512 92428dd85df44d5a1f730d52872739b5c7b060e0ddddc6dce202103b1f2f9234dd87d6b1f3788581e2af165bb689ec3d3e7cf2c55b697708f7a0621c09c1a54c
+DIST firefox-102.1.0esr-eo.xpi 528423 BLAKE2B f99f652163798e67833640e7c58903a9b4a47b632fc9e76310734b91c73bbccaf910ea76ea3a599fda9727304dafd49ac4869b544d657b8cacb9a1154096bf34 SHA512 a016c30e23cad0c12c0c339bd1ced4a2364f95148a32da96c7c9c50202378610dee3eebf771c93d39a2dc86d56b91c1a476aedf707e6cbe163e4217b48dd32a9
+DIST firefox-102.1.0esr-es-AR.xpi 538394 BLAKE2B 019e47b76e52d7e894e2cbfefd81e06a75fd8491cb41910936df71d15d7fb9709cd9e9e4a640c14bf0f3c1f6a6f0a25eaa7e8836537da1c314438465c6f9c633 SHA512 020b3877e5ebf4e28b60c8b5ddc7c880837d5449366a6c80dcabc5c9ab3e9f0255758ef11064b900bb97ac457f14facee22916c5fd4bc7cf6b71994cd73f8e26
+DIST firefox-102.1.0esr-es-CL.xpi 537629 BLAKE2B db548c8c4c8ab4c3ebdb899c4af265cd3ca55ddfe052167706af81137560911aee996b686269c48d2f8e87023dc80c1ab8eec35bb1330634082b8891cc13d433 SHA512 4abb3ce81be402e900da7eedbae55ce10ab207eec1d6696c4446be26851466e40ee6efef9d8ef6619eb16f4dec36706f9d279fd380e49f4f834c100267115675
+DIST firefox-102.1.0esr-es-ES.xpi 529044 BLAKE2B 700093a45d15cca77a38efbae09c546b858b66d1fb35cbf2d8e18f6fbe8b40b6041a4953fb8465d915263b3fcd4b36627964a405ee9e3b366b851fe82f630e22 SHA512 b2f69a707f1833ab4a928c859dd4c31319d26baadda5f21c93d6c7c59326c692ab890cd7ecb6bdeb3bde646baee2835b2926521809ffbc8d5390f23d30885ae3
+DIST firefox-102.1.0esr-es-MX.xpi 541461 BLAKE2B 8f9cb6b7f2a53b9cd75c54ba2a541484963bb23838b4bff2d1635b40a36e6c7bf018ede5037a027d44d6f67e7cd298013a72897bff671c3a26580201bf0d69d0 SHA512 7ed3efff96f8ad51435b45c2bd93f4adce4cfd17741a336a190d2d291df979b762daf59ccf98d6fb43a99b73706c4e02dc47f34cebe81446e05f9a0eeec4b16a
+DIST firefox-102.1.0esr-et.xpi 520008 BLAKE2B 7759f03b7d6a6026873cfc2e336ac753fbc52d13e89d817b0997f707c93d9a970b736ecf3fee33a4e5860d97d340cfdfb950c411d63616ae2dc9018d103b4c22 SHA512 4ae55afb39860d096f18fb72daa779e02b8a85fa993ad9c28c3c0e9e4b7e8283c547ecf6399e7f6662eb26d0b6721dc76a04170016ebb692a74c1eeda0353592
+DIST firefox-102.1.0esr-eu.xpi 528106 BLAKE2B d0777d71bcb48ab7777a67fc43debd069e7a4206031691fd7803cc44fbfb7c870da7de2b46a99b76a04846894b48c4b2bab6c93ba201f6c45b33f47e28a68b7e SHA512 b6581bef3bdcee78b3d84d75da89345b1a6554f76c6aa3d0243ee4ce54f93308c0b202ea082a58818eae6d48c004aa6d7c45cab27ee921be34c1fc67df5229d3
+DIST firefox-102.1.0esr-fa.xpi 550808 BLAKE2B b5debcc12eeacd1feba6281f09318ba0473d9cfd36f4dfe526103197d2607a2b397bd0e779bb52fe34f93313f930bbca777e2b0b567ae172ed663345e67f96de SHA512 0553c68894afdd8811f6560296fb7520b534e73db6636a710893b717a7f85919df48bc1d643514e81d7300f748c6841d6575b0b65a22b2063a8c61bd3b854f73
+DIST firefox-102.1.0esr-ff.xpi 460977 BLAKE2B 1c31df8352efcc287bd1a96aa08d671524301b578e65f30093858f70299f77ee9a388969ee7d37023277d36116a1e0670ed6082b82bc190519d032d04abc8452 SHA512 5bd78a8b51c2b18c950fc9a2ab202f554d569f72068a8898e5b078ee9ec5d41082ebbfd5afa70da37b302477702372c0ed19c6c6331c07c43f5f35778d147d9a
+DIST firefox-102.1.0esr-fi.xpi 524261 BLAKE2B 4313ddbc0ad87660e793ee6360f10d2715390d4fffcff624ccd3fb9edc81e3d657f9d932ca4b3207d57b982b37aa87f30e324b6287e20f74659e762aa82f29b4 SHA512 541f4ac6f5dbad5ae43beea2bd93a735308ae8d38de6cad89d7ccfffdf2f808bd8b5e88c4e70cdbf48796f50c5ac8f0c1fbdf928a54c7ab1096be3489d815a24
+DIST firefox-102.1.0esr-fr.xpi 549050 BLAKE2B 3b8cd6a8f9ef26defcbe46e92ee19ec32408337116d420ef0ee58ee2179cc27cc3e50f0445fdfaca7fa1652ca77803d6cde65fbe95d49a044aa3a3b78d92adb2 SHA512 e35e23ad7f44bc1536d3c8ede0157fef3925fad2e7d15fd7e0bebbf49d75979a480dae413e2f915399bc240f86d5a8970683ed8b587c7033f09876d248c935d7
+DIST firefox-102.1.0esr-fy-NL.xpi 534936 BLAKE2B 9817fb0dab00f70292c9b709425993a8533a0b62feac372808157e50a150e1629f0874b2c59cbd146cf90f35d173db40d1010544a5b22c2f4801c4546a9e92e6 SHA512 f6c96832a672cdae77155feee50e6b2982eda6f0256b8783ec9c8492a6255b51e09c13a26b62a3b4d02156dd6f8676987384e679ad5284cbd8b41bb331c13623
+DIST firefox-102.1.0esr-ga-IE.xpi 460705 BLAKE2B fb9cc61222b54db8c547414053bc85e12086df68859b7e9550d753d07b4820956357c9f82ce97f95ed65958062d1f99899fd123076425203ad875ab528e5ce0f SHA512 2c8cd553a4fe3669f942466afd838c8feaa9c9dba20bf3614343f1a84dead737e3f5ea24e3695eb74fbcef0dd7a10c1d93725ce3b5f2daaf94c7a0f010bdfb4c
+DIST firefox-102.1.0esr-gd.xpi 522583 BLAKE2B b9a0730cb2ad9652e9cfb194cdb7a665c8a37e51f67c3c3b54b05d787a42e26317f4d0f7dc72161a0d6bc850e09a1c34ac5e176b5e61f8973249654a15eb1d82 SHA512 dd41af23ab48e60d596e874af4c5faebaeca253b4a1ac4fea11fdccc175246dafe6dc8bca89b94526212656fe02b9182aab9e931fe1e201d1ea2b48c1280e3e6
+DIST firefox-102.1.0esr-gl.xpi 528499 BLAKE2B c916e105d15bce4ff247d44b1b81a613770e1456c2301bd45386e6d30b71ccd308b50c3a1ae4c173a434b08e47df6b8e62c21f9e7835131fd31996a70db36b1c SHA512 9503c686072c18bd57f98c197bff16763ed977530a2fcf9f92c383c644862f36c85de9a49ac12faf691a73783e6797deef4092e25bd7bfd0a8e82352802eac5e
+DIST firefox-102.1.0esr-gn.xpi 549549 BLAKE2B 546d6918d2b0dc57131a0345ef2801158d7cd8753849006323a410aee66de34cac22a476e0e8e0c16df7ce7754b445ac4fdcea7fdad69570f01cded5f2b0e3b5 SHA512 7df2c654c862440a5311814bc15545e73d6071c1f80cb90c69d2038a237e469d27a6a452edf342ea3614cd35ad400848158d916e77cd6197da8a8171d870d581
+DIST firefox-102.1.0esr-gu-IN.xpi 516023 BLAKE2B ef9922806b7f637c38d97e8fde5798f866ecab6559585496843303c1c789927e8bd5df8d7d48000c9371b98e0d50fc0ff890782c257e84845459b748bca6d5d3 SHA512 fd1e86db7e0e41479679fa309c9d14fa48cb8a4f002fcdf4f4e463ec471f0edc1d92cf7165e9eca3305882317b7f2bded2958858b360c3c5e0acfe8e040d4123
+DIST firefox-102.1.0esr-he.xpi 548993 BLAKE2B 26f41fde1c6e94f7b7f256c718457ca6caeff792d46f8b519839473759547d3817438dba102efa337fee63864856c588a42c1591d5033c9ed82dd4b68e5b1960 SHA512 9d1ec7d56ad0c53072166d275a86542ee813966252ff6f9c4ae2f8b3ccf3c2cdea90e1c4f01adb83b2f33d4a331830594d2fb3c951441d5dbdae5e5e826f4fee
+DIST firefox-102.1.0esr-hi-IN.xpi 546131 BLAKE2B 28c90357dcf1d8ff2c54f27cde4fcb2be77acb2f9fb62a5886e42bfb670da85d069273939355040b72b9c18e8caa90d410f00c6493b7c8356c174c003ffd0fe1 SHA512 5ffbfaa2467d805cd15688d430152d53da2226d2592abf1324d25cb4aee530ecb15a48fd6c52471df118af3806a839b79d27b0921577e21d0446b26dbc94eb27
+DIST firefox-102.1.0esr-hr.xpi 518885 BLAKE2B c12bd21e890eef0e8a740e7a4ffc1242542b54a45a4330662ed63c72ee220e2573a1c628b22a8f694d5656b68f48f4b806a00fac1ac3ae55cd23f6071e1415e9 SHA512 1e85b1fce22327114cda8d53aea7e4e6e8b40d820c65f7c558f5ee24647e98495ab6af0785e32003315648b401a34d86be808709cd938df0d6f55e47c70da1bb
+DIST firefox-102.1.0esr-hsb.xpi 553800 BLAKE2B d6bdc0ca92f54aa18cbaaef431cc33a5cd4f438137d409fab9d50bc0e947eecb797ed1cd728766484738671c4eb94b689d31119028cccaf1549c8ffcba456bf3 SHA512 668c2b8af8882f591407877662013e443e152cff379ecbf044fa35b945a2e7ce4db40c9c6fa5babd7925eca2ef07eca4306c84271d2cc8914323803c575be35f
+DIST firefox-102.1.0esr-hu.xpi 556875 BLAKE2B a8d792725190c719597d56cad1be7f7d0d64049a6b4244f0d981e3fed37e113db34612c7b7c35b9e32450a867529bb482c7fc58924d42c87b02ebc6df0e09d2c SHA512 b33f796ab93d94287be7e920e62a1c2ab8e2e6be48beb6ba15b4597ce3ac5698cea66ec85feb8f77a0a91521b57eb74ed20bbcab5bfe784021056ad82384336a
+DIST firefox-102.1.0esr-hy-AM.xpi 567859 BLAKE2B f0089f60b83c0503c39f91175a3f6cb2a6cbb4c33423ffea2114156d87b4b3ddfeca394fb51208500151af9a064d05749cb7b85b7b00b88416d05007525a62f6 SHA512 f24fb4f4d490a610a560e753c7159f9f0d0487090157a3c2d3408e2be96b14e50ea1d055974a465128c7bd3ab734bc6877a9e96e543b4bbd288374f2058841cf
+DIST firefox-102.1.0esr-ia.xpi 523747 BLAKE2B 3d6b14b81c410aeda2f50e5d5c9d1cb13515b450517354506db0450f032e6f8d11b50dfc00f35cb70212dab334ec91ce0523f05b82d8f5f3af135cdca91594b1 SHA512 f5efd5dddee74ab8e67aed8bd67816da2b04eaca3d6f0fd30ef7864ab9c47526f5ff927fe74d17d3391695370288ab3b72ccb501ca351d0c5efcde753895bc64
+DIST firefox-102.1.0esr-id.xpi 521248 BLAKE2B 82d654e96e2d659bfcd192620c48d6295e0ccb8b9a8965d40285050fa3e1924439b89843abea41266455747a9cdb5aced91579c90d7ebe673e681e8ffe53ae76 SHA512 d8535c732badb18993a429046096fd48a1559887c6aaf640577dd2cf6b5dff7edbe133b3f6e26688dcd63788e98e0d93b8001c6a1e98228f16dba5ab96a6bf97
+DIST firefox-102.1.0esr-is.xpi 528379 BLAKE2B e635eadb10211b8c950757206deff9832ebbf2376b7a3713d7da9fec43c4f5b256981c4117b05966f446d13d451e70b85ec3e85335327bd67cb7a8aa46926ade SHA512 a5e6beaa13f8b5872dd428c2fc913c81209898432f64dc1b183279f9365c94be47ef8a91a298193bb3e7ac092cd59556c22f7fbb79d204a0728d6a8db936f805
+DIST firefox-102.1.0esr-it.xpi 449743 BLAKE2B 7346722f5eb86f52af2a7229b2eeeba6356dc878f3d359ff4e73f8b11f4578e1ac106d00f7b880e23b5183443ccd72c6764ecfcf187157e5d1d158bb53af864d SHA512 3d75cfdf464f06aa0ede1106a98d3ce1334920c7a34e1ef634dd6181ab4a18e4674046117bd2a2fb88a78607ca6c7cca8e791bf72eb755aa4a56581c81f0cbc8
+DIST firefox-102.1.0esr-ja.xpi 573753 BLAKE2B 1c9216311b29dfca744f1b5a23648fce008c28d607cfc8109b25552d8653d275c514a928f9899510cca4061adc8b953f067ceba02c807ad3d341cdb9cdc0f1ae SHA512 a6b94c40d69f0b7387b8670844baa19b686f61af109254c807a445b6c8238163a5e3f29870f500108c80a9f7f11d79309bd982515702b3269565afb4012f3ce4
+DIST firefox-102.1.0esr-ka.xpi 581241 BLAKE2B a1b03a64672733b7f6e607ded403324f85d8f0ed5a90601135845b2fad54b12b2ccbb04b16bb6f8c49799ead8f69a5b25464f32b77ea3344bc6ca1add978122f SHA512 062e6398b29d38136e8d5b2e225de156cd87144dd35a1856bf0750efaca700a552ec9c54846c1beab85e1ed3b7bac3fc52d1d615c4f8b537f2b6081217fb9824
+DIST firefox-102.1.0esr-kab.xpi 543020 BLAKE2B 2d35faae63d6531097c6eefcde1244463432a1eb5dd07ae6bdacf12579e9dd01b5d56d8b567ab073d529b33e60c644fc3836fcce5607e7cb636d5bbeee220190 SHA512 33440fbac24677341e3cce742105dfebbd81e434ae486e9315538f298e4d7d4576471a66ca7ab377473af547f454e204fd47f13e5bcef67c5e753a4b128c19d6
+DIST firefox-102.1.0esr-kk.xpi 604862 BLAKE2B 4c4f682431c96498a30a57fec1fca8180471a9805a0e3a91e37d2a36c8d00d6c8778b0e216bc8157e1e12192f3c4f5896f6c678e6bfa7121e92b73c2f4e7e486 SHA512 c4ce0c33d2ddd5636eb5ebe8fc88a0177bc8eb4044252426639c416e0829db80242f048369032270dfc455ed02cbd74a4bf05260fa10325b11ddf8adca9e66d0
+DIST firefox-102.1.0esr-km.xpi 519630 BLAKE2B 194cb0c43932513986f7c2451a18d9cd9befdc0ac6c11dbaa6c34e990631ff5512ef7d5afd169ae7a8c4746c44bb427031620da660f5891df093ee3e8e6a4df9 SHA512 2c769ebf31e0aced4063f6696b15d599cc33021473914e29e8252e8d21ecb55d7d34356d124587936feffa597f131cef3faba87fe78ab9227144864a21623109
+DIST firefox-102.1.0esr-kn.xpi 485571 BLAKE2B 003274df41325444955270ba1d5983eea67e0262f521c76e932fd0289ced2cd1c482ad107e696bd8d1702a3a7f735530169c8dee0ec7a59af3c3be7d5128dbf5 SHA512 7d5a967a39f8ca33b86241b71986db7402231ceda86510fb5ac7c1be4d0dc74916183214778f79a3478c9059d29868e09be408843e729ec91e9ded0f29c36ed3
+DIST firefox-102.1.0esr-ko.xpi 570093 BLAKE2B 3153102d22a6bda9f82f4b12b0076a548d030f79a39a7da96c61d5f13f79fdaf021e017da62f57f98dd4b6e7c1405cacd97906d7ba675b8643b36bf4ee2372b9 SHA512 cbc828e39128c8fad0b63ec57dbebd83afcaa95def0266eb14929886f408155e8759fb0c37b7d304b8151ce0dfb826a9317e7e83492251863ee5d8cec8c50696
+DIST firefox-102.1.0esr-lij.xpi 459204 BLAKE2B 362c2464ff323860f60e5798826011b0c41b42ffffdb57cec4b4640b5d5c665939348de5882ac911589a143fcf2679dc9ebc98529b8eb5f622540753cc595022 SHA512 5bc945db5655e7920f6657175792390a78ddc91aba7dd8dd77e1cd308a2413b06878184a5126818cb75df3f79b1136eebdd5f43ccf11e1db2fb5374cba26f4be
+DIST firefox-102.1.0esr-lt.xpi 549839 BLAKE2B 2460e7e6b0c6331e1ba18009f5e7975d755e42065005c896bcf7e3614b143bde3fbf6cd58caffa32281c7db0680bd9c7880bec6b82c58e925e68f302f788950a SHA512 25250ed3e5b4dd971e8700ffcb9c9cc34303b2f307522083e07ff4ed20dc460a5fe600a3c91f3081279343a197956977eedac244512aa437f7d768cb87067497
+DIST firefox-102.1.0esr-lv.xpi 452070 BLAKE2B 0d7d81ddb49c247b969bee3c3e434561c9de2abf163de4f9d92d3794d78af9a101abf3dcdb2beb5aeb94a021552a128001b1b408cfa403ad44d90159f54c9c51 SHA512 6966d3225fffad1ee392b80b114a30e59176af7b4975ba10f020aab88b5b9f1924ba77a0077ebfc65a16ea946aa16134abdaf72c93a15a38727bfd028187d203
+DIST firefox-102.1.0esr-mk.xpi 458903 BLAKE2B 3efd446e1c7b5a9acbd8d621ed6eec7a18c65d98ce8c8573fcc570d6ff8ca97ad9519594eb38c8ac9d078d8fe177ab93f79af9d7f8763b5c3f2e5c64f042912f SHA512 523226f6e910310e5f4a6f84ba40ff76079d2ca05688463a6238cc8d2f3a3561335a69caba7d2ccbe7a2fd8cb51231309c6a0d82c7af2b93070f2e5b197bdd73
+DIST firefox-102.1.0esr-mr.xpi 519587 BLAKE2B 5e0ce63b5986189332cd5504742c9d3bca2c49deb70553ad19ab82adc2d0dfe2cc11827dc61620974f7c4645c2d8f512242a92ebfa69d4ffbdf35be46896090f SHA512 d14dbf51481be3193c3d4ec26576c932fea431ec9fb2b2c1ea6643dee36da6982e744cdc2ba2aaf4d3e47e5d68977918f1799e897e81ec9dba8a6b00beaf5d58
+DIST firefox-102.1.0esr-ms.xpi 437321 BLAKE2B 56bced71085e6b4c2d56530cc731cf72c4fc9737d05ebfe77143ae172a9950adadebac315462201c9d85cfd4cb80b62ae3dfa09f05dddfcf7ec97693a835b653 SHA512 ea438e666ca477e12bdc0c5cc0be474240465021857afcf6ed40ae1a3c97a1f424c6a311089365b65f17be6d99dd88ba1ffbf410d9423dc83d223af2379cb79c
+DIST firefox-102.1.0esr-my.xpi 498763 BLAKE2B 8320a131f9fc5b36ea8ad07e63c8ffb841b1ea56056eec070137d20f6fdc3dfa8fa72862cec7a1d130428b21add371e27b29325639035d5a406e6fd1cbac6e41 SHA512 e9c70d8e641d54261e604fca1480e64f910639763f88316d92bfd5951a380f4f471cf3e39ecd679b9455364377221016631f5a0c69eb270294960a3288b141d1
+DIST firefox-102.1.0esr-nb-NO.xpi 521325 BLAKE2B 105dd473a025417e5e5fa12bcc76b6cd1aaeb043e3bab52fac737bd485caebbc3353932174640b7f4151931cf5eaa56abd0d5335807774e3710ac2ce01e16020 SHA512 0564469f22482eac80647dd609e3c78f9bddceefd8d3e5b5b3e5ef1a5e8806f36453dd55236bfe27a923f624ae298bf706c7de58446cc42e57a0720a793f6287
+DIST firefox-102.1.0esr-ne-NP.xpi 477724 BLAKE2B 68494a2b3e931dd8f7d6b18dbba1b57a2ea373cf5c00b0ab171313cd628702a16213b0c8153676b162a601ba333bd2a2475573eac9d1e283910096de0525f45f SHA512 ccc29e48acf111174e028901adda825c69c6e9c286e899298e7e15d7afa3ef5f5fb7288256a28f7dada486220c4addc2a3f145b54fdddd47e02c98d26954cce0
+DIST firefox-102.1.0esr-nl.xpi 528933 BLAKE2B 5fc407232fa0ef6aa20ab9844c2ad9fd8aafd72213f8483a144892f16df7b755af26b878d2f5410f0f2df8cc9d5fbfc45440745c61053436f653ef9ded7809e9 SHA512 935898ea45c0b6cf88156d8c5a305559d9ffbccf307ffdca531c9b8705ed2db0f8102b719256da1990e2277aeeece406a5113128eb631f0c95a3a4ced195a7a2
+DIST firefox-102.1.0esr-nn-NO.xpi 523244 BLAKE2B 5a9463753249dd6b1c59452d215bdb4f31c016351c146cf279a449ba6feb7edf36b4394b992ef9aabfb5dbe3f1082b6aae117d5356f9fda58c04d2eb123ddaf2 SHA512 5ec8f82195c21377f1bd59415f0fba1fad7af61c6b8731e19a58dc1dc5c384b1e8b1952ff07ca9f51c2a47663f366dbb67b6302499839871cc2a44b861addada
+DIST firefox-102.1.0esr-oc.xpi 544578 BLAKE2B 40ece877261e8089a9d17aca0592f81fdf505ee607360bedf8cede3bcc35b8e5377af4ed60eb1d911cafb6dc0189708dc4e887fed79467474cb0ae4d8675002f SHA512 fc4166148f87a5302e4b342db419571d6ca6cdc6879e2f6b35e828a627ec41678ba30acaa36a29014d95eb1681b068cd7c8ae451a61d9e2da2e97903a38847b6
+DIST firefox-102.1.0esr-pa-IN.xpi 587400 BLAKE2B ea4d10c7248399ed38f56e553f9a5c3df4834cd6153903e3070bc667213a252b3920ec55d091cdf1e38c619caef15d754ff3991b791e612f320b9323ab86859e SHA512 cd228784ac743d2e6c74b825205f0c540657257360d78921e09aebf03c00f5651b89fdc2b461c13b104f5c3652870c9f62f65d217de8747fe5e0b8016bdfdf68
+DIST firefox-102.1.0esr-pl.xpi 548925 BLAKE2B ab4a1946670f589ea49376b82bd7db3282acbd21971a9f6dfb364eef65ee49e01de9472dc526324290dc40d7b7c2b1ed96d2f01daebca033787fb15ebb8decf1 SHA512 6de7f5551fbba1cac7c936a1d7563ed220fa8e52ff071a30661b772a9507bf0e78578a360d1913fba5ff03b566a5e431297ea86adfe1912334b6eeea4750ebee
+DIST firefox-102.1.0esr-pt-BR.xpi 534191 BLAKE2B 8cddb497a56b74e394c0ee416f56f86a669d485d4a79a37e4b942f758d536d85da6f4722de6a6bd34975ba86517ff9209bbb8c8a4d3e987906d2c7414925f231 SHA512 4a1a609f397b8b4c3628b5fb71bd4cc05b2d490fef3f4522c7c656edbedd139d9d4275f32399552ac159d29d907b1a436bb57d818bf08184333ab039b439be67
+DIST firefox-102.1.0esr-pt-PT.xpi 538009 BLAKE2B 8137af33bb6a16ce7a0abcccac2aff6c0bf30c648a8337497a90e5899732da2feca63c1b962165787600def5ef608ac72146bc7b991b98ae61faf90055fef387 SHA512 57e013be4d7d328d17944c3046fb88cdfba011d3034bfae554b5afba5356c79dd19c6b6d8b6ad1dda1253065c652556a9f7a034eaab898ff58b1a5075de46275
+DIST firefox-102.1.0esr-rm.xpi 528323 BLAKE2B 45dac34d733ea6a761e274dd076681c5f893f2e52bb3fb6771b1d3218f95a87a67e26d535671dc6361e1d1470a56540af1e1bd859eda8f547e9f0116f2ed7811 SHA512 720402b8eb8f155e127921cd62c8c376ef9c7a5539a01126fd4d2bf93efe83963b5bd02ba4108cf32e4a2d61b47d93c7a736899eb1687a6b223b96a3c8513f0a
+DIST firefox-102.1.0esr-ro.xpi 515804 BLAKE2B dce4513c87cc4d606a3956984f63f2b8e49637b2af3518fff0a5564e93820526e823d758cdaedc5bae8fa4bb9a688d2059e555982ed607e5ae87a3026d0b525f SHA512 25ee5da6b4034218b656e0ed1a69ad534108e5db44c66600ed5d1e9c240ac8777308f99624d922e911718c59abf5d8a8fa049ae17bd2a387c8410bb2593808c4
+DIST firefox-102.1.0esr-ru.xpi 617123 BLAKE2B 52857b7e948c90512dfee0d621e438df9bed16c2776041d60157aa8ad837702ab92c025c4aef5387db0df9bd7f1356c6623156258e9b7728f6fe8ffab59a6a82 SHA512 6a0e5f4b039496fe39d38f8ddeacc78ea4684036d384ca85527145e7d4c9a0a712e98b355d994177dc316822652434010d26a94e406ee6d32919026b9b5950e6
+DIST firefox-102.1.0esr-sco.xpi 485602 BLAKE2B a088e3716485fc2c598d177b83dd4738e031d6e580f03a289f79abecf781b6139697c3a237d14305a436f9d5d8fb1d6d3fcbfd1c772a07e766939e31a2ce5743 SHA512 b69d5ba9da213d2d5598e410849689a64307b8e65c514bc934a8a0afcdc6d275f181e2f9694b7d24d2139089d20de49d239d688d7367da9a0f24e8e885dbb022
+DIST firefox-102.1.0esr-si.xpi 473402 BLAKE2B e31611b76e1408f115bb69f8923059c584bd649c2545491cec438dd6ba2feaa3ae350474fd96077f42a04da896451ab29cd3f215620dce9190d222a201c5b441 SHA512 caafc962b6d68e6a748efb5d245db404371e2351b7a1843c0d989026d7fb9364213ef1adda7a4da1ea68661d1f30645fd863e20759262e28bfa51703a0978403
+DIST firefox-102.1.0esr-sk.xpi 557534 BLAKE2B a488f542450e30c0d4b9667324fc1d0958b371a4d441835b585109d26d0e48f6ad3b164a5d3db8b63812971f3be6dbe14bec83a0f9b423ef9ab1a71d904b870b SHA512 9cda7052eda7a30c75086214fbd071b9f598efedd9416bf4c70dbb04f858993310dcf6ebae06c7aca3a015c3bc29d83376ed246d4d524c89a710d1d6ece19eb9
+DIST firefox-102.1.0esr-sl.xpi 531188 BLAKE2B 5eb843e91a05987c33629280c8922cc357ea2312eb8f26460ebf38c7e395239224abdb3395d1c5fa0dbb4ab4a75974da51516aaadba7bb1bf7429bc361ef7d0c SHA512 67924af24ff91bb91a260c7b9bb9c4db3e215e6ca03bb841866b7df9acd347c2438a98db5dbb1cf9099b5c8d62541dc1514966e2a7f17d5bdbf412358615f789
+DIST firefox-102.1.0esr-son.xpi 415189 BLAKE2B 20369b6db0d6cd7169de87616524f95f949d85180f81d6e5818645369a3ebb16bf829b7f38edb285943edcc6adc5d289418a4e300b3f7b3978604229019672ed SHA512 56f3bddc53313f6fbe2468655be85650d510a6464f67bd6e23ab8e7fc17741b7b0bcfe4d334809fd304f52c1fe189997545716f010babb98c63afd412b2e3b9f
+DIST firefox-102.1.0esr-sq.xpi 546095 BLAKE2B 14e2871101816fbedb1558ac6eaaf52a3571b3558016ff3a801f7de128b17384c62bc8ffb5abbff1b964ac8df1e066e6c1e31ec792b8135f83fbd0a17fd9b22e SHA512 9dd455065b2f3719711582f8d94298aa629d555e18a14242fe8177db515a74706f1f229c5da048618358bb4f653f041d60c705584d3d359e4a4667a0b52968a4
+DIST firefox-102.1.0esr-sr.xpi 571126 BLAKE2B 3cf903e94bdd514cbedb9aaebe629fe1e9fab3c724292803d4b28621b3e2eb6b07a1b27419d607f110fa51dbd6ac1fda6cc47fd44879c5b5353af5b1966fa5cb SHA512 afd2bfbf803b29e228b6962be0da5a1a0b971d35225b1f626226029567a4aad0be04db20c5eaca77f2a5bfa4202c55ebfc18a75dda676ba3eb43d06480f28cea
+DIST firefox-102.1.0esr-sv-SE.xpi 531434 BLAKE2B 1b6ee41edacf8f6d41d2df120675064abdb17ba0d0438f49f61b49ec9095f0f18dc9b36b6dcf1d3a8c6f7d40dd6ec659d1b9aabf259e7b3a920ac0315caed7cb SHA512 70ff91415ab8fbeb7cbbdabcb6065c3626579759efd35abf4b4c6d215723a128f74240bde4ce611608baab5a65b70f7b880be7413ab3c93489a1b605db8bacd4
+DIST firefox-102.1.0esr-szl.xpi 497439 BLAKE2B 801c9a58ac054e45157ce323e4a80a62db3d920d68de855cee241468bd7c8ae7e033827bb195627b10f9e6b48cd9437f8d3dec7cdacf62f594b5bde4f55c937a SHA512 f5e75da1c59a15e3812402beea81f75559771dcabea4eafc2356ff64b675b92f9d205bb9fff9ed166ede336083702168a933af9bd7a5508cbc95830190538592
+DIST firefox-102.1.0esr-ta.xpi 499405 BLAKE2B 3bdeec8f03ba7d16d3a8953f3a3625578c7ef08b7d8e642ced7514e6f536e05b8bb57a532728086c4a019f4ac22b20e04466dd37b09839c85e4c1f4b20fcaecd SHA512 5a24e428cbc25eaabf9178b912bfbedd8ac58569016fdbcaf50b96c65688cc7d39d0ba152973335df4b242691a8ec637019795dcbf85796e9dce60d0dc68b63a
+DIST firefox-102.1.0esr-te.xpi 540270 BLAKE2B c9fd11311333ce88cd0790d445210cc9a450eca3f50c9fa46872d0843b9c6a66f09efa7ed80ced6d4769e0e5fe49858a67141909c54b554abd0f2083c8bf804a SHA512 551bdf0fc10e6f38608be9ff21f74862ccbf9eeb2e0bee6aa7414b58f7664f69e9962745893b95957f2f5e60c9ed1043d06a0d0dcd3465652173dae3160d47bf
+DIST firefox-102.1.0esr-th.xpi 598742 BLAKE2B 587f751eabf790c412117dcb811b60e333240d0d8d5e479541e051f90f6eca22b3bcf198875ae75633d24ae9170b510e7cf3b94591185f007315e653572a4f2d SHA512 323b485016cba4672ce36fd60693f7604cbe5a852b5001a07a30d6402127db3a5a991ad7042d95d709bdeff4c98cab00e9f4ebfa317b5f560084754a7cf4bdb9
+DIST firefox-102.1.0esr-tl.xpi 505604 BLAKE2B bb0ff8831101c6d6967a6284ad670eaa5c9efd3368146740bf54e62742dd9622a60ce23b7e693a344d38e932d634b71dc9942e0ddf116d3c50b28d5f88959213 SHA512 9739774255ff42eeb8aa8f3b9b2c1f44bf4a1aeba9da12bd11521ee0e48ea4e0409ee47909998e67b37a0394854df21cbd09f22dbed6e83285e8ebf2feca9f7d
+DIST firefox-102.1.0esr-tr.xpi 544798 BLAKE2B 8e3b34f2b382ee84c51d416dbee4a2bda0ec6f26666c9d07f41941b778d2a6147667e49df00accabbc75c3617353f7c5bcef3db140bac26f69d098233be800d9 SHA512 5ff075c27d508a00898126844941a67f1c4a90965ffc8afd37d863eba313e26e380770e8e1c085040ae7ed58a4da12ce49fd734bbec80437a35cb6e5d559f3f5
+DIST firefox-102.1.0esr-trs.xpi 477876 BLAKE2B fda3852f2a6be1fdc5aaa5ec0ac8497f73939bf591255a989df04d4e159f57ea1050179ec0bad541095d6147df28d0d5392a65eba615848b07d620ee38b33bc3 SHA512 80f23e6c8e4a6d41d7c49e37ddd1f74a3d98a0caf7acfebe3fe1c5e1a034d0e6995bbdacb5b499c2eefd46abbff89689347171832a71a9c1d795b22ea0500f23
+DIST firefox-102.1.0esr-uk.xpi 610928 BLAKE2B 7da6a2a711af7eab6461f3542cb3b01989a0ab9a814d56f8bf2ccfaabd66b7f1de9734059108b20da21af55c47d9464156a80cf4aeb033c4ec1c033c9c29c990 SHA512 630cbc9aa06cd976166aaeee5576e32c8d94145ac4e49183946d7ebc2dd1d9a0cf2490f36b5d90a2a519748488a2d9eb01919f9e7f3b246f1805662d9006f645
+DIST firefox-102.1.0esr-ur.xpi 547848 BLAKE2B 4f45a9feae2b993bf0b52ed2d94ea2515f6f82fc45b06688b33cdf3af5d6112d2997498b21268484e81df95c9b670d00dc7d138767b683bca4474b89bad6f279 SHA512 b20fe4290576257c1b85c62b09f9c8035ba350ff3470f952d112c3fb28dd08359b614d15b300be82f3da0b95ba015fb1682e3abdd44aec38b354218821a47f18
+DIST firefox-102.1.0esr-uz.xpi 467348 BLAKE2B 890b9f28fb048aaa699b7844d48a9617c29bd7b13064db910f7d8f1a32cdfa7b8fcf5bbb2a8f3cd462d21bebe39e52753bf67164cd4f34e6867c347804f68662 SHA512 0df826dce1ef8b435e6030a8fb1eba7ce62f825c5960c459b60f0d5a91eb5aa03e6f69067114f4f2978e107dc82299ab7da5ccbe4620fcb089c1eb2fa61c3296
+DIST firefox-102.1.0esr-vi.xpi 563714 BLAKE2B e2e6014f57d0c71ab9c681c1fad798a2b6da02f19ba29fd503b2166d31161e1409de7095436cadb0b6f71643f189cce5f12be5130f5f74e492f7216aafe8a00a SHA512 a9ceedc5ce8b63d947bf07374fc2d92e9a795e2bf431fec5cb2e5c7faa5196a5558880b91a949a3f103f7ca0d085dd66fe58c6e446aeb087f8042b6fd4cab845
+DIST firefox-102.1.0esr-xh.xpi 418245 BLAKE2B 51a8c0ff54cb984423e85d3a47688b4133abf0743bf81a70f037661c1db7d03342d3a1d20ae28729188c0728ba851ab7f8328ff0314d5ad18546d28f50c5b4d5 SHA512 6073a9c3e8fe10af1ad36ab4c96f4afea16d1f76d143832ac52018952ecc8f6c328e0cec894a11da5acafb6641319e49c9d5c599e39e522f1d3233e191d9c8fc
+DIST firefox-102.1.0esr-zh-CN.xpi 566196 BLAKE2B 5346264a393a1f3e2f48ef94ad8f61577cad3da44bef79c6d0378a3d59ec9df4e1fdcde4aa2424e4e12c840e0034c2442cb739a84ca986807beb31ab2c0ae5dc SHA512 83f3411eeb05f6be5b9545d73c1437bc96fd658e9da4d1b7a2f676c6ec6853b634a72c84255f95f03eba0a8d40e4de69860505786814cfa187cd0a7a06b5ed22
+DIST firefox-102.1.0esr-zh-TW.xpi 567161 BLAKE2B a1697778e9e96a2f7f16a36f790fa6b3268bee99c13b82f31be6b2e6d3ef121dab8b7df266aa28495c01f1cfa3e18eff058d283c737f19e8e38343f4ea145ed2 SHA512 05bf08207e1cf8f4ed68770445be5cdfdc77cbb917aa52ceb3919aadc3f8e83237c7e64345cc251fde673f7a02c9f468874e32f353bb50b0df49030218d34fe1
+DIST firefox-102.1.0esr.source.tar.xz 486756700 BLAKE2B d046c386f7c6822510fa309a5455cc80deaaf59a5cc274176a74b4dfe2feaa60140d3197f91c221338d7d96ddae48a411c4a376afa1db3ed6fc8688cf2f97119 SHA512 2505b87ce4115445568eb6b7d8af41678bd787fd07f3f79e9f0a22d90cdf752ae5d4371856cf9c56e2d9da7d5b7c3939dc2aab5753fcc017398e7d65260f6f03
+DIST firefox-102esr-patches-02j.tar.xz 19688 BLAKE2B f26b8dd2613712ab49db34247c432769386ac066238b86c0eea367cebbd167334f822866129d0874efc35da4da686e6185881649b0b3095dede28ec8c658a3b2 SHA512 456cd2b7d9f907080afb5225d353154117624fa938f24dcfae7ada03f5b39572e5d6d6e1a4bba7825465b48f6d38b04e5c0f69556c82d4ebbe1463e11dc809d7
DIST firefox-103-patches-03j.tar.xz 19152 BLAKE2B dc4080f058bccfe3e092834501ee6210f44a02291d177b3aba5ebf6909d612411c622c794f30437136a8826c2bfe94f568dabdf05360f9a8f14dbe742404d195 SHA512 6edbfa089a0dd97a987065d63c4c2cba417cacdd45e9a6081193e87cae60c38e6327b0cdef0c1f272e082e985289d9bb6807caf262c272165362e696ca974010
DIST firefox-103.0.2-ach.xpi 454183 BLAKE2B e02657bff95c8866bb7486982c3b13713b1701dfe5c83ffe2d769eef8614b096ab61801a7b3b80058771c4995345cb724393be2aad67f175d639325b112f1155 SHA512 52fe30dee4414bdd8e3cc185044e16308fc02e1d37422f97ccd4111cec7e1e3673cce594b74c523ff417a046c925c703227589b4a2bfc5a65d627a53402309da
DIST firefox-103.0.2-af.xpi 419559 BLAKE2B 814baaf25ba8e444aadcce3dfcbb64bda971a36d9968bde3f7b6fb3e561047e089c68e9769cec66b78c7eaface431070be844cdb91d7e18cf248ea2711c0907c SHA512 59640d6674c63caf93f29fac92f7995143031102abfa725a7b075f90066314f0f9edc4f528fcfe5254ef12538e6e5560b385b97740639540a93ddd70d0cafce7
@@ -205,6 +304,7 @@ DIST firefox-91.12.0esr-zh-CN.xpi 575372 BLAKE2B 2dedd69253e46f9469ed4169f9e2976
DIST firefox-91.12.0esr-zh-TW.xpi 576228 BLAKE2B 07d720b6b4d84fb298b56bb4f05f114a0d1fcfb6536a2eb085f4eabcf4dcc56eb33a4ae96d7e444ac54893657ff39bd116b2e8b68481624751cf0f0e6fed7c49 SHA512 289f8505be00278b79237cce58e966c0bc4a729b05d3b043b8225f1266540ffe58f0983081fed7f92e93bee26dca777b81e8944ccc350c659d0e296b129d4613
DIST firefox-91.12.0esr.source.tar.xz 379877004 BLAKE2B c00e5cc219c59d8347a69e5236a4a4f439d9caae6ab7dabc3ed8c8f9a096ded26ec1ffb53b015b86481f1d43ec4f263bb8acbd841ebf36e8a741d73e12a0a914 SHA512 323fb752488b45872b40f0b0ee1d8c1dffa16874dbff2afde19a54286c824ef48177233e029faeafa5946184e71c31c6bc5ba7ec17a571e21af64fc5f7334042
DIST firefox-91esr-patches-10j.tar.xz 18320 BLAKE2B ec882411eed19bafab8676e3d79f4ae43947bb97c44571c1497bb93a44fcfec99de06ebacbdf8c4944dcecdf949e4f684908d7ce4226cdcec60241e62e75810e SHA512 670a14d852bb74b9074c3fef9310650f71ce1c56314109c49aea02a7a69acc836af60a8beab11da53e21b10a8e6da341fcfa18b68a1dfd33b26978dd63758e9c
+EBUILD firefox-102.1.0.ebuild 36999 BLAKE2B ede7bdf6746a890cc06aec3f837acf3469be44239c59c5cefb013d3a76d79aafdee02aa73b27ab10ae5b9ea9f898efe8682f4c35eb77a9332a2c0b1a984940d3 SHA512 93a621258ccd187b885ce38eb54ecc7ec35a51e640c9f8a9e079c1f5e6a2e0d0865ddbddb78724773f91f278cca91d9019724ed40ba50c3f04233747f16be392
EBUILD firefox-103.0.2.ebuild 37012 BLAKE2B 67b6a46e8177ad1b568485ce7f6017d15bcab54b8c0ee5acc073f37df2b03093bd04b559c232b9428ddd5494c3d07629f6b352ca09138b1d39fe7d1d9cd24b4e SHA512 25e59e80b2afaf572c2e9dd60977caebbf6be9225e533ccd9ae95fea366d2289f98245211173283c0666cbf5ee6abf14f251d6322868662c3a677bf632b4ceef
EBUILD firefox-91.12.0.ebuild 35569 BLAKE2B 19154ecc4e0a2583554ced081e5c00c844926b5ec520aced40ca69aac814848804e0931414916f34822abcef11372ceb5efc3a20e4277ad7cc62ff0a42535503 SHA512 e22cc0a89e6d1fb8269720f9cfef0f305834786cb3e69ce4e122c681d3c1ea138deb1793bcb80eba029d981c819022709a2946d2a55ca2ddeb5917eff7eaa227
MISC metadata.xml 2275 BLAKE2B 8c145b0b5014acda00fe3839889f7805aa78b65a18eb59135576e861e0882c9966a3f91adb10a7b5afc0ee80548da9f0d7b8a0edd6ab88d9cddbcaef6f9619dd SHA512 187618848f28f201e8a554e938a37b21c5d16619e76ca7cc53c227f9f1f76b9c9c46781b3b0c31bc78bc0e52865e95e56a3741a0e623cccf104eb936b4f22beb
diff --git a/www-client/firefox/firefox-102.1.0.ebuild b/www-client/firefox/firefox-102.1.0.ebuild
new file mode 100644
index 000000000000..c6da8a86d4c8
--- /dev/null
+++ b/www-client/firefox/firefox-102.1.0.ebuild
@@ -0,0 +1,1284 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-102esr-patches-02j.tar.xz"
+
+LLVM_MAX_SLOT=14
+
+PYTHON_COMPAT=( python3_{8..11} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+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 autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
+ llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
+ virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~{juippis,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS=""
+
+SLOT="esr"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
+IUSE+=" wayland wifi"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver +gmp-autoupdate screencast"
+
+REQUIRED_USE="debug? ( !system-av1 )
+ pgo? ( lto )
+ wifi? ( dbus )"
+
+# Firefox-only REQUIRED_USE flags
+REQUIRED_USE+=" screencast? ( wayland )"
+
+BDEPEND="${PYTHON_DEPS}
+ app-arch/unzip
+ app-arch/zip
+ >=dev-util/cbindgen-0.24.3
+ net-libs/nodejs
+ virtual/pkgconfig
+ virtual/rust
+ || (
+ (
+ sys-devel/clang:14
+ sys-devel/llvm:14
+ clang? (
+ =sys-devel/lld-14*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
+ )
+ )
+ (
+ sys-devel/clang:13
+ sys-devel/llvm:13
+ clang? (
+ =sys-devel/lld-13*
+ pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
+ )
+ )
+ )
+ amd64? ( >=dev-lang/nasm-2.14 )
+ x86? ( >=dev-lang/nasm-2.14 )"
+
+COMMON_DEPEND="
+ dev-libs/atk
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/libffi:=
+ >=dev-libs/nss-3.79
+ >=dev-libs/nspr-4.34
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/mesa
+ media-video/ffmpeg
+ sys-libs/zlib
+ virtual/freedesktop-icon-theme
+ virtual/opengl
+ x11-libs/cairo[X]
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libXtst
+ x11-libs/libxcb:=
+ x11-libs/libxkbcommon[X]
+ x11-libs/pango
+ x11-libs/pixman
+ dbus? (
+ dev-libs/dbus-glib
+ sys-apps/dbus
+ )
+ jack? ( virtual/jack )
+ libproxy? ( net-libs/libproxy )
+ selinux? ( sec-policy/selinux-mozilla )
+ sndio? ( >=media-sound/sndio-1.8.0-r1 )
+ screencast? ( media-video/pipewire:= )
+ system-av1? (
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libaom-1.0.0:=
+ )
+ system-harfbuzz? (
+ >=media-gfx/graphite2-1.3.13
+ >=media-libs/harfbuzz-2.8.1:0=
+ )
+ system-icu? ( >=dev-libs/icu-71.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+ system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
+ system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+ system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+ system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+ wayland? (
+ x11-libs/gtk+:3[wayland]
+ x11-libs/libdrm
+ x11-libs/libxkbcommon[wayland]
+ )
+ wifi? (
+ kernel_linux? (
+ dev-libs/dbus-glib
+ net-misc/networkmanager
+ sys-apps/dbus
+ )
+ )"
+
+RDEPEND="${COMMON_DEPEND}
+ !www-client/firefox:0
+ !www-client/firefox:rapid
+ jack? ( virtual/jack )
+ openh264? ( media-libs/openh264:*[plugin] )
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4
+ )
+ )
+ selinux? ( sec-policy/selinux-mozilla )"
+
+DEPEND="${COMMON_DEPEND}
+ x11-libs/libICE
+ x11-libs/libSM
+ pulseaudio? (
+ || (
+ media-sound/pulseaudio
+ >=media-sound/apulse-0.1.12-r4[sdk]
+ )
+ )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+# 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
+
+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 clang ; then
+ if ! 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
+
+ if use pgo ; then
+ if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
+ einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+ af ar ast be bg br ca cak cs cy da de dsb
+ el en-CA en-GB en-US es-AR es-ES et eu
+ fi fr fy-NL ga-IE gd gl he hr hsb hu
+ id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+ pa-IN pl pt-BR pt-PT rm ro ru
+ sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+ # https://bugs.gentoo.org/587334
+ local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+ fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+ )
+
+ local lang xflag
+ for lang in "${MOZ_LANGS[@]}" ; do
+ # en and en_US are handled internally
+ if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+ continue
+ fi
+
+ # strip region subtag if $lang is in the list
+ if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+ xflag=${lang%%-*}
+ else
+ xflag=${lang}
+ fi
+
+ SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+ SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+ SRC_URI+=" )"
+ IUSE+=" l10n_${xflag/[_@]/-}"
+ done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -ne 1 ]] ; then
+ die "${FUNCNAME} requires exact one argument"
+ fi
+
+ einfo "Clearing cargo checksums for ${1} ..."
+
+ sed -i \
+ -e 's/\("files":{\)[^}]*/\1/' \
+ "${S}"/third_party/rust/${1}/.cargo-checksum.json \
+ || die
+}
+
+moz_install_xpi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local DESTDIR=${1}
+ shift
+
+ insinto "${DESTDIR}"
+
+ local emid xpi_file xpi_tmp_dir
+ for xpi_file in "${@}" ; do
+ emid=
+ xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+ # Unpack XPI
+ unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+ # Determine extension ID
+ if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+ emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+ elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+ emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+ [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+ else
+ die "failed to determine extension id"
+ fi
+
+ einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+ newins "${xpi_file}" "${emid}.xpi"
+ done
+}
+
+mozconfig_add_options_ac() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_add_options_mk() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 2 ]] ; then
+ die "${FUNCNAME} requires at least two arguments"
+ fi
+
+ local reason=${1}
+ shift
+
+ local option
+ for option in ${@} ; do
+ echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+ done
+}
+
+mozconfig_use_enable() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_enable "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${#} -lt 1 ]] ; then
+ die "${FUNCNAME} requires at least one arguments"
+ fi
+
+ local flag=$(use_with "${@}")
+ mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has usersandbox $FEATURES ; then
+ die "You must enable usersandbox as X server can not run as root!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6600M"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+
+ if has_version =www-client/firefox-91*:esr; then
+ ewarn ""
+ ewarn "You are attempting to upgrade from firefox-91esr, this upgrade path is still"
+ ewarn "not supported by upstream. If you wish to continue, please backup your"
+ ewarn "current firefox profile, and uninstall www-client/firefox:esr before continuing."
+ ewarn ""
+ die
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use pgo ; then
+ if ! has userpriv ${FEATURES} ; then
+ eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+ fi
+ fi
+
+ # Ensure we have enough disk space to compile
+ if use pgo || use lto || use debug ; then
+ CHECKREQS_DISK_BUILD="13500M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ if use clang && use lto ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+ eerror " llvm/clang/lld/rust chain depending on your @world updates)"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
+ && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
+ # bug 792705
+ eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
+ die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset \
+ DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XAUTHORITY \
+ XDG_CACHE_HOME \
+ XDG_SESSION_COOKIE
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if use pgo ; then
+ # Allow access to GPU during PGO run
+ local ati_cards mesa_cards nvidia_cards render_cards
+ shopt -s nullglob
+
+ ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+ if [[ -n "${ati_cards}" ]] ; then
+ addpredict "${ati_cards}"
+ fi
+
+ mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+ if [[ -n "${mesa_cards}" ]] ; then
+ addpredict "${mesa_cards}"
+ fi
+
+ nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
+ if [[ -n "${nvidia_cards}" ]] ; then
+ addpredict "${nvidia_cards}"
+ fi
+
+ render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
+ if [[ -n "${render_cards}" ]] ; then
+ addpredict "${render_cards}"
+ fi
+
+ shopt -u nullglob
+ fi
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+ MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+ fi
+
+ if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+ MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+ fi
+
+ # Mozilla API keys (see https://location.services.mozilla.com/api)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+ MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+
+ CONFIG_CHECK="~SECCOMP"
+ WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+ linux-info_pkg_setup
+}
+
+src_unpack() {
+ local _lp_dir="${WORKDIR}/language_packs"
+ local _src_file
+
+ if [[ ! -d "${_lp_dir}" ]] ; then
+ mkdir "${_lp_dir}" || die
+ fi
+
+ for _src_file in ${A} ; do
+ if [[ ${_src_file} == *.xpi ]]; then
+ cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+ else
+ unpack ${_src_file}
+ fi
+ done
+}
+
+src_prepare() {
+ if use lto; then
+ rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+ fi
+
+ eapply "${WORKDIR}/firefox-patches"
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Make LTO respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/build/moz.configure/lto-pgo.configure \
+ || die "sed failed to set num_cores"
+
+ # Make ICU respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ "${S}"/intl/icu_sources_data.py \
+ || die "sed failed to set num_cores"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ sed -i \
+ -e 's/ccache_stats = None/return None/' \
+ "${S}"/python/mozbuild/mozbuild/controller/building.py \
+ || die "sed failed to disable ccache stats call"
+
+ einfo "Removing pre-built binaries ..."
+ find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ # Clearing checksums where we have applied patches
+ moz_clear_vendor_checksums audioipc
+ moz_clear_vendor_checksums audioipc-client
+ moz_clear_vendor_checksums audioipc-server
+
+ # Create build dir
+ BUILD_DIR="${WORKDIR}/${PN}_build"
+ mkdir -p "${BUILD_DIR}" || die
+
+ # Write API keys to disk
+ echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+ echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+ echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ local have_switched_compiler=
+ if use clang && ! tc-is-clang ; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ have_switched_compiler=yes
+ AR=llvm-ar
+ AS=llvm-as
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+ # Pass the correct toolchain paths through cbindgen
+ if tc-is-cross-compiler ; then
+ export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+ fi
+
+ # Set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ # Set state path
+ export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+ # Set MOZCONFIG
+ export MOZCONFIG="${S}/.mozconfig"
+
+ # Initialize MOZCONFIG
+ mozconfig_add_options_ac '' --enable-application=browser
+
+ # Set Gentoo defaults
+ export MOZILLA_OFFICIAL=1
+
+ mozconfig_add_options_ac 'Gentoo default' \
+ --allow-addon-sideload \
+ --disable-cargo-incremental \
+ --disable-crashreporter \
+ --disable-gpsd \
+ --disable-install-strip \
+ --disable-parental-controls \
+ --disable-strip \
+ --disable-updater \
+ --enable-negotiateauth \
+ --enable-new-pass-manager \
+ --enable-official-branding \
+ --enable-release \
+ --enable-system-ffi \
+ --enable-system-pixman \
+ --host="${CBUILD:-${CHOST}}" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --prefix="${EPREFIX}/usr" \
+ --target="${CHOST}" \
+ --without-ccache \
+ --without-wasm-sandboxed-libraries \
+ --with-intl-api \
+ --with-libclang-path="$(llvm-config --libdir)" \
+ --with-system-nspr \
+ --with-system-nss \
+ --with-system-zlib \
+ --with-toolchain-prefix="${CHOST}-" \
+ --with-unsigned-addon-scopes=app,system \
+ --x-includes="${ESYSROOT}/usr/include" \
+ --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+ # Set update channel
+ local update_channel=release
+ [[ -n ${MOZ_ESR} ]] && update_channel=esr
+ mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ mozconfig_add_options_ac '' --enable-rust-simd
+ fi
+
+ # For future keywording: This is currently (97.0) only supported on:
+ # amd64, arm, arm64 & x86.
+ # Might want to flip the logic around if Firefox is to support more arches.
+ if use ppc64; then
+ mozconfig_add_options_ac '' --disable-sandbox
+ else
+ mozconfig_add_options_ac '' --enable-sandbox
+ fi
+
+ if [[ -s "${S}/api-google.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+ else
+ einfo "Building without Google API key ..."
+ fi
+
+ if [[ -s "${S}/api-location.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-google-location-service-api-keyfile="${S}/api-location.key"
+ else
+ einfo "Building without Location API key ..."
+ fi
+
+ if [[ -s "${S}/api-mozilla.key" ]] ; then
+ local key_origin="Gentoo default"
+ if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+ key_origin="User value"
+ fi
+
+ mozconfig_add_options_ac "${key_origin}" \
+ --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+ else
+ einfo "Building without Mozilla API key ..."
+ fi
+
+ mozconfig_use_with system-av1
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-libevent
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-png
+ mozconfig_use_with system-webp
+
+ mozconfig_use_enable dbus
+ mozconfig_use_enable libproxy
+
+ use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+ mozconfig_use_enable geckodriver
+
+ if use hardened ; then
+ mozconfig_add_options_ac "+hardened" --enable-hardening
+ append-ldflags "-Wl,-z,relro -Wl,-z,now"
+ fi
+
+ local myaudiobackends=""
+ use jack && myaudiobackends+="jack,"
+ use sndio && myaudiobackends+="sndio,"
+ use pulseaudio && myaudiobackends+="pulseaudio,"
+ ! use pulseaudio && myaudiobackends+="alsa,"
+
+ mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
+
+ mozconfig_use_enable wifi necko-wifi
+
+ if use wayland ; then
+ mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
+ else
+ mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3
+ fi
+
+ if use lto ; then
+ if use clang ; then
+ # Upstream only supports lld when using clang
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+
+ mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+ else
+ # ThinLTO is currently broken, see bmo#1644409
+ mozconfig_add_options_ac '+lto' --enable-lto=full
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+
+ if use pgo ; then
+ mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+ if use clang ; then
+ # Used in build/pgo/profileserver.py
+ export LLVM_PROFDATA="llvm-profdata"
+ fi
+ fi
+ else
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # This is upstream's default
+ mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+ else
+ mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+ fi
+ fi
+
+ # LTO flag was handled via configure
+ filter-flags '-flto*'
+
+ mozconfig_use_enable debug
+ if use debug ; then
+ mozconfig_add_options_ac '+debug' --disable-optimize
+ else
+ if is-flag '-g*' ; then
+ if use clang ; then
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+ else
+ mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+ fi
+ else
+ mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+ fi
+
+ if is-flag '-O0' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+ elif is-flag '-O4' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+ elif is-flag '-O3' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+ elif is-flag '-O1' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+ elif is-flag '-Os' ; then
+ mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+ fi
+ fi
+
+ # Debug flag was handled via configure
+ filter-flags '-g*'
+
+ # Optimization flag was handled via configure
+ filter-flags '-O*'
+
+ # Modifications to better support ARM, bug #553364
+ if use cpu_flags_arm_neon ; then
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+ --with-thumb=yes \
+ --with-thumb-interwork=no
+ fi
+ fi
+
+ if [[ ${CHOST} == armv*h* ]] ; then
+ mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+ if ! use system-libvpx ; then
+ sed -i \
+ -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build \
+ || die
+ fi
+ fi
+
+ if use clang ; then
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+ # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
+ local disable_elf_hack=
+ if use amd64 ; then
+ disable_elf_hack=yes
+ elif use x86 ; then
+ disable_elf_hack=yes
+ elif use arm ; then
+ disable_elf_hack=yes
+ fi
+
+ if [[ -n ${disable_elf_hack} ]] ; then
+ mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
+ fi
+ elif tc-is-gcc ; then
+ if ver_test $(gcc-fullversion) -ge 10 ; then
+ einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
+ append-cxxflags -fno-tree-loop-vectorize
+ fi
+ fi
+
+ # Additional ARCH support
+ case "${ARCH}" in
+ arm)
+ # Reduce the memory requirements for linking
+ if use clang ; then
+ # Nothing to do
+ :;
+ elif use lto ; then
+ append-ldflags -Wl,--no-keep-memory
+ else
+ append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+ fi
+ ;;
+ esac
+
+ if ! use elibc_glibc ; then
+ mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+ fi
+
+ # Allow elfhack to work in combination with unstripped binaries
+ # when they would normally be larger than 2GiB.
+ append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+ # Make revdep-rebuild.sh happy; Also required for musl
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+ # Pass $MAKEOPTS to build system
+ export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+ # Use system's Python environment
+ PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ if use system-python-libs; then
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
+ else
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+ fi
+
+ # Disable notification when build system has finished
+ export MOZ_NOSPAM=1
+
+ # Portage sets XARGS environment variable to "xargs -r" by default which
+ # breaks build system's check_prog() function which doesn't support arguments
+ mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+ # Set build dir
+ mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+ # Show flags we will use
+ einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+ einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+ einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+ einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+ einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+ # Handle EXTRA_CONF and show summary
+ local ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to $MOZCONFIG
+ if [[ -n ${EXTRA_ECONF} ]] ; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ ./mach configure || die
+}
+
+src_compile() {
+ local virtx_cmd=
+
+ if use pgo ; then
+ virtx_cmd=virtx
+
+ # Reset and cleanup environment variables used by GNOME/XDG
+ gnome2_environment_reset
+
+ addpredict /root
+ fi
+
+ local -x GDK_BACKEND=x11
+
+ ${virtx_cmd} ./mach build --verbose \
+ || die
+}
+
+src_install() {
+ # xpcshell is getting called during install
+ pax-mark m \
+ "${BUILD_DIR}"/dist/bin/xpcshell \
+ "${BUILD_DIR}"/dist/bin/${PN} \
+ "${BUILD_DIR}"/dist/bin/plugin-container
+
+ DESTDIR="${D}" ./mach install || die
+
+ # Upstream cannot ship symlink but we can (bmo#658850)
+ rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+ dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+ # Don't install llvm-symbolizer from sys-devel/llvm package
+ if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+ rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+ fi
+
+ # Install policy (currently only used to disable application updates)
+ insinto "${MOZILLA_FIVE_HOME}/distribution"
+ newins "${FILESDIR}"/distribution.ini distribution.ini
+ newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+ # Install system-wide preferences
+ local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+ insinto "${PREFS_DIR}"
+ newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+ local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+ # Set dictionary path to use system hunspell
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+ pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+ EOF
+
+ # Force hwaccel prefs if USE=hwaccel is enabled
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+ >>"${GENTOO_PREFS}" \
+ || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+
+ if use wayland; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
+ pref("gfx.x11-egl.force-enabled", false);
+ EOF
+ else
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
+ pref("gfx.x11-egl.force-enabled", true);
+ EOF
+ fi
+ fi
+
+ if ! use gmp-autoupdate ; then
+ local plugin
+ for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+ einfo "Disabling auto-update for ${plugin} plugin ..."
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+ pref("media.${plugin}.autoupdate", false);
+ EOF
+ done
+ fi
+
+ # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+ if use system-harfbuzz ; then
+ cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+ sticky_pref("gfx.font_rendering.graphite.enabled", true);
+ EOF
+ fi
+
+ # 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 geckodriver
+ if use geckodriver ; then
+ einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
+ pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+ exeinto "${MOZILLA_FIVE_HOME}"
+ doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+ dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+ fi
+
+ # Install icons
+ local icon_srcdir="${S}/browser/branding/official"
+ local icon_symbolic_file="${FILESDIR}/icon/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^}"
+ local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+ local desktop_filename="${PN}.desktop"
+ local exec_command="${PN}"
+ 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@:${MOZILLA_FIVE_HOME}:" \
+ -e "s:@APULSELIB_DIR@:${apulselib}:" \
+ -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+ "${ED}/usr/bin/${PN}" \
+ || die
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # does not need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ einfo "APULSE found; Generating library symlinks for sound support ..."
+ local lib
+ pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # A quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if [[ ! -L ${lib##*/} ]] ; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+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
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ elog
+ fi
+
+ local show_doh_information
+ local show_normandy_information
+ local 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 ${PN}-91.0 we no longer install multiple shortcuts for"
+ elog "each supported display protocol. Instead we will only install"
+ elog "one generic Mozilla ${PN^} shortcut."
+ elog "If you still want to be able to select between running Mozilla ${PN^}"
+ elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
+ fi
+
+ # bug 835078
+ if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+ ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
+ ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
+ ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
+ ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
+ fi
+
+ elog
+ elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using "
+ elog "useragent checks. To temporarily fix this, enter about:config and modify "
+ elog "network.http.useragent.forceVersion preference to \"99\"."
+ elog "Or install an addon to change your useragent."
+ elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100"
+ elog
+}