commit:     cbdeb3e7eb85b9e1068ce3f27440cc933e98f641
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Wed Oct  1 13:30:30 2025 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Wed Oct  1 13:30:30 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cbdeb3e7

www-client/firefox: add 143.0.3

Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 www-client/firefox/Manifest               |  101 +++
 www-client/firefox/firefox-143.0.3.ebuild | 1395 +++++++++++++++++++++++++++++
 2 files changed, 1496 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index f5ebf4862c91..d7703d24f182 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -710,6 +710,107 @@ DIST firefox-143.0-vi.xpi 478406 BLAKE2B 
2117baec24d82515afec1af9a7c11965306c965
 DIST firefox-143.0-xh.xpi 273327 BLAKE2B 
08a3dc2ed9b779776efe9436ece3d2309964837da5afd025403f1fc8f82906d49e548a960dbb405de211f37477487d547edf7c316e7d4403ec13cf0acf81054e
 SHA512 
df573009b96ebd673da3061971875c6ebd0f981ce0f78f974bd784ef22a12cbf0890d6709c06424021d7020463daa623c86e219a367f1f27c521ac08221f37f6
 DIST firefox-143.0-zh-CN.xpi 469380 BLAKE2B 
04e88ee20bce063915df950d490c42ab7a7c6040e6525906836ba08b5c38321c4c933dfad2f75945c5b85c33a8fd300af9a24d8f28114493f1c6eda915108cba
 SHA512 
8b807a6ff9772519471136ddebe005e85ce8094bf87bb59991782eb956c704dd929fc8279dd730cc6a4a6454e54ce7013698bbaa8b030eb82dcb889204676bf2
 DIST firefox-143.0-zh-TW.xpi 472965 BLAKE2B 
e13d54d2d8d6f268b0cf1c0fdcbd5b40822d625e80b6446eaaa506ed6aaf18d2b000b80ae2e8faf855cd2ca2ede3a4fb3b378575af83b6439619c73bd646a698
 SHA512 
24854174222872b3f4631eecfcfcf26402949b9eb483a5b7baa3c73e34f7ebb95e6082b2c6cea020a8fb079c5903b12a2a2c9703e581988c3860738e5a21694f
+DIST firefox-143.0.3-ach.xpi 293879 BLAKE2B 
215f1044b44862a0d86a3ea338e28ba64e3fe2c9c58ed752f00702176a6c647eed4e091fe343f1aad4cd7dd91a57a88c49e682073ef72d85abf5d3a589d8e659
 SHA512 
d3f434b3f29a16beec9318acd9c919cb5f69cea681ec408dfac447a9a024084c2395836538d9d9de5e3f8c10abdea90bbb346ae3b2763ec276665bed1d496c73
+DIST firefox-143.0.3-af.xpi 267162 BLAKE2B 
e4df393f7bcf57227cae67290310578912cb57b09766817d5a7c3e35f3167ab76ed0c1f50fb49bbb632e08c8a2bc42af28499176bb63379bbc1a70c9a47d955e
 SHA512 
d488a34aad67a8c8de3d628941f298ac8e7f09076e6322b8b4286dfa649b1b952a6170d58cf2e0ff122293e444cec3cc4644d226c0a10bf014dd16de3c03707f
+DIST firefox-143.0.3-an.xpi 331549 BLAKE2B 
a1fdeb2556898357e3216f18ae7f961a54e9fc691e3740922bc14a7ed8c29519b953299e2bce9af63d81a16ac6e3780f5faf4293c9d09eb343ec901fbac716f8
 SHA512 
329b11ccb676a87b3254dec93ec03ed7c5249542338b844379ebb8ec22ac8cf3381b0b2a370a417606437686ad9755147ce77ba256dc03d256f223839f4c38f0
+DIST firefox-143.0.3-ar.xpi 444527 BLAKE2B 
10f94c345aa21ee77e0f8d8f4692f48c64ac6b6ea5a4661ad507f9130a0f0bc7d19f4c67ccb77163760bcdc25542eeb0e44ac8c7373de0d1f625b8f7ea416097
 SHA512 
54a569049144e73eb309461d408744c5f65b35a42ea30510fec0f6cf1a322891730a3d5c08e58c8659c3af9977928fedc1dff8570877ecdbdcbf28f2c93f85c7
+DIST firefox-143.0.3-ast.xpi 311756 BLAKE2B 
8698dad7f860bb8094ae0b2bfe16fd4628777120a0ffb1817dbd148cfa6a7cd869ee33e9f5858ef2879178869874cd2f9258b2c23f1e533bdebc5b64a90c0dc7
 SHA512 
88dc83d1cdd04b4df8c9418f00ffa971dcdde134daabbde43d40e0937dc029e57405606df7447e379938dc27ae88f7652458e90222e542e91ae87687fbb7bef7
+DIST firefox-143.0.3-az.xpi 318194 BLAKE2B 
43e36ecd4d8d1dbf3c180d57cc5d0ab526397efef9068f2c34b2ba1c4181c40b781fbaa1021517fed00017346b4641cba1f5bb331ec7501774bfb87018d54bf1
 SHA512 
33534bc8c45b1442147a9223e80098c43729fa2106ae4ed4a9f7d6f45bef90deecab7b3bf506783764c8ec433bc77260d553fb166f4ec58b7518d874c48a6e29
+DIST firefox-143.0.3-be.xpi 532288 BLAKE2B 
11c487bb287483e47344b335a86620ae48199b6b2f1bbfa868b68aab34f2ccf2eed4af33347d1daa8f5ec2e9b04656ee3b6cbc9355e47c67bb78fdc398b9f072
 SHA512 
679b315d01319dd6ea2366f394db47fefb9063774e726b3f0c8eb551580b654e454d40343f04b54ea88b6a46b16adc38bfc29e1d9c087ec808c83b9977c7ab3b
+DIST firefox-143.0.3-bg.xpi 456341 BLAKE2B 
c45c49288fc348786ed812c4426011d402d43e7513ab51a2775ce4b1958ae9c06f72afac393c82d061fb666bd977c6850144096a4b91071508d5f7254f731cbe
 SHA512 
5077fb2bf6da851f9e4f69f88a8eca0a98c9bceaf0aa3bf90945e4279460f64edafca1e3c1e8d3a8614d9a7b0925274f713d7f89d1dfbaeb50a20114920fbbe3
+DIST firefox-143.0.3-bn.xpi 412924 BLAKE2B 
49356aee7d0ba3d38b9891c76ce5b1d937a2e4971b5ec2895ad46927bd2376cd32945d4cfdff1df56ad8a9e2ac8112a71f36ea00f5b2723ad45e3b154c8deecd
 SHA512 
ef439979828fd2f50bbef8c1bb56f95529565be61816a4df366d9fd3e69b1d630c48933e2c5a1eaf6bd302ea86f6e259f6fba4e43bfa8ff399e9618b5b0b8ff2
+DIST firefox-143.0.3-br.xpi 394556 BLAKE2B 
4ae73d75837d8fe912f168d4b34a43bab4bc3dfaf85fbf065d826c90345b951c1095b97a5e383454dc5fd2a5f2f8b8a4f84ebed966804f7579447323f84a25c3
 SHA512 
bf8613abf61a2e7ad8321e0e8c2cf60f54ae7e8badc9e00875a92ab04ba604b93411fe393068f028868610788b5b655b901e9abc32d4df41d63a37404a7ba0d9
+DIST firefox-143.0.3-bs.xpi 451269 BLAKE2B 
3a67caebf67d1f8fd8e7dab3b2fa977e809188e67b1b285d7c7254157333236788e7ebf59c387ce6bd8f12d1c6059b9f42e4d55c3290224124ebd1c0134e170d
 SHA512 
f8070d25a8175799a80bf48ad46eed4e9c792f2ed8c19a1383f9dfb66019ef897e5850139afbaff24885037a458da5cf2c71121e65cd941ee089214ad9c9d8c6
+DIST firefox-143.0.3-ca-valencia.xpi 357396 BLAKE2B 
30ba742ae372eb90b29fd5791e4329f22f37ba9700e87723c13036e437f8d989edc4480a6b99ea71857786ddbeda4d268334f6b13856ed2c690aba2a1c740352
 SHA512 
342babbe16b2242558f662536134b74eaf1c05492d295a453c804f347c0b50d56e231149608551ee8bfad24bced8429724e9a03056b131fa96370f1bd9522fa8
+DIST firefox-143.0.3-ca.xpi 403380 BLAKE2B 
aebe71d835bf187be7bba8c52a4b4e20bf2745c9ea9503d94eb5ac3946659f15a13e9315dce3bb488180ecc712a2871fd2282c676bb09f1cc15f74d634199227
 SHA512 
9282fe92b24ffe9e76851ddd29dde1731a76212e1a377d533b1cae212f36fafb28824a1a521fcafaabf4859e8abda3646565402658c31df14dbc039188c5c1b6
+DIST firefox-143.0.3-cak.xpi 389891 BLAKE2B 
4841f036be6257953ab2a199b4000ba3405cf4a7d11caf14094a87170654576e3c6ffd4eacfc28dd7ae656544d26a795cf85b145d1842611b8c10b1c9f1b4b5e
 SHA512 
7e8f38e69777d8c947acc3052fc9fcc08575e93502dcd51606d41a29b0cdb51ac9e67f2728aa56d31988401272f963751020ebd49eb59ee4eef7a80e44487068
+DIST firefox-143.0.3-cs.xpi 486475 BLAKE2B 
a779c7105081a7d5dd966e7726ec18316dc852d49ca28c0a19e9585f7c5c05985aa6f6444c0bcaf7a44bfc6dc51748cca0cdd1a51d3d3942e7a1aa56950d272a
 SHA512 
dfeb61e36de0881edc62d1a280b3022d12b922e93f3d758bbf30c27d47f09e07c8307803882e1b11a38b14da4a84d47c3465240d2fa9839a6592f2547e29b977
+DIST firefox-143.0.3-cy.xpi 451594 BLAKE2B 
655494ae94e04bbacd386ef25c6b2cf5f4c120e18a5940729ed03aaa1ff81927f0dbf419684732c3b39587ab6f15e5296bc14366208e679158f811769c6323dd
 SHA512 
24b2844fc038e05cd399e0e1e6035491e83b2d2af708daa4326227c200c6b14e6e998bcf1d90330d4388adc00ec7097da63c3a7d9c33c9088eb3292bb632dbf6
+DIST firefox-143.0.3-da.xpi 439950 BLAKE2B 
6d6057bac11b730a7144fb5e56c9f24f37b92e8a13e666f453fce3dff8d6c210bdefea44866f760db62b4bc1458f81d33980c333efcb11955665a57131f954b5
 SHA512 
a49b068c8be8390690c638a03af414e93655b67885d56bc06949ddeff1f096a809029412c38b2c65a3b9436c112593f1f713521ba85bb10007844b476cf35852
+DIST firefox-143.0.3-de.xpi 462265 BLAKE2B 
51ab7daff919402285dc6326868a52d7b72fa3b3e2e4a9a28a6fdc4001943f34c8b23ed1e905b311bb417f54e42bae5dd87309094fc75aeb416d63c28cddc950
 SHA512 
475c7b84bf54e31d665bd9d10def0683cdee5a75a91931727f8eac89c719830db70fbb8a66685179a76eef96bbb28ccf870c2c7f72dce3f549839aa1cf4d3cad
+DIST firefox-143.0.3-dsb.xpi 475815 BLAKE2B 
05da69040df023bbfe5f64fa7d86440b7569e33546ffa40b10936b4edd8acd3305f06048d9ec1c19b15bf1dede041bc2483456a2d7f5447c58591c3e08af4bb4
 SHA512 
0ce746c6622020ff7341cd795a991f59d7b869f260a61de0c857750d5d7a52c761c8aafa5b0378dd84a320dfff8d35992e1fa308f28022c6ec7d32f33febf50f
+DIST firefox-143.0.3-el.xpi 547852 BLAKE2B 
4a65d0e9c858c7cb34d4a0f37360ed22fe38e6e57bdc8b65c276965adbccfb55fe2c9a14c6c74a3909f26aa9d2335497c1b092585eb01251828bad80a5f2d0d0
 SHA512 
0c27ad45f8e3fe248ef040764fe55c30440fec2e7ea9cd5bf438b3edf1e7c32c6bce0bfa31709fd5c2b72c2d4f68687022c0874a24e1726d2b1641f1d8978ba5
+DIST firefox-143.0.3-en-CA.xpi 416228 BLAKE2B 
3b8e05419505e1190b6aad4dc8b741cdac8f0e1c756662c02d797a31db6d08e8a694be0152004a42e50fd9da6520551c898c7f2af13695207b78cfd8e279942a
 SHA512 
22949495d5d399a4565d6747ebc95cab0551f12eb77635fb7c6d1b6b52c5c6410fcb74b11d288230dc02e46bd9623efe8af4f4002039e19fb65eaa9a5f028d4f
+DIST firefox-143.0.3-en-GB.xpi 419558 BLAKE2B 
43366f9579427a85aad296d5fc0a6923cf2561c696db3baab9ce695257e0ed205c30c9466ef61af1b9308891434f4acd07bd568f7d4902ae4bfc6a1c178d8638
 SHA512 
05392f8621538b5111f988668405d8639641cf0f2e1df8905446ec94dd82da54fcba13ebbe52ed7f92eba47a580722f3c2386033dfc148b857e0048145d17272
+DIST firefox-143.0.3-eo.xpi 442400 BLAKE2B 
57b117fa4e107f45969700679167b52fd50fc1f04e743fa0827c68587ef7c852d0e24f1f95e15dc55ab27b8c63c215e5262fa90520e00ad90bc063a24877f0b9
 SHA512 
9373a1227c2db1047f82b65bda3fbeb607514b9fcd062477c7e7f141345c7e748519d77e577a423c077340d3bfcb1e5ad7ee991bc842b55eb9e1ca59cb821ad5
+DIST firefox-143.0.3-es-AR.xpi 454529 BLAKE2B 
97283ba0f48e4ba889c6b544d33d9a4755a07569941404ff90c6fc530b6e5b4f60978ad89a400194adca3b3a46848328b42645ed388405a9aa1f0ec685aa92d8
 SHA512 
09664a6d9b37bbc949c84344f8c9de1f7e56f4e4d31ecb4a0e8b325d45ca56173235e2387b3996b558b39f945442f37869fbf01d4b41161781ecdc736a5f101e
+DIST firefox-143.0.3-es-CL.xpi 455552 BLAKE2B 
83024ab08e8bd50dd9959ac7bfc9fecc018f23b6dba2e4948a2929282a5bb70c364d9c169b53fe07bcc58b321d52e2deb01c7bac5f674980cd133140207db19d
 SHA512 
7d3da90bfddf31d30c36982c277d383c9d5271cf8c212691ec503eae7c2b60dc87c3ecd4a32a826399d05f993a5d488ef45f8016e305f0ad41e383bcc51bf7e6
+DIST firefox-143.0.3-es-ES.xpi 450218 BLAKE2B 
686b5fecb8f45f9a4ccd8423582882333a27fd4393dfbbcba32238ab70cc402432a385114ac8ee9b5bf55916c0cac7cb2d1f92bd5837a79dfa8638294f8e10bc
 SHA512 
4dfa0801abf0b93dc783831a32532a6e9cece063ad8be0b74eaa3b26b90e83ec3e83af3c08deb72f5980524d74e8d071364e9ca87f23230062334fb47e5d83c8
+DIST firefox-143.0.3-es-MX.xpi 436514 BLAKE2B 
74ab31d89f84094e4315874083e0f83073a612f5a332bf82e68239483607a5473305b46266df9ce0d2f0f9c5c14d4bb86cc70095ca994a00219aaea87eaff38a
 SHA512 
fa5457d7ee96c1e4fe1408530efe4003167b94cee047e666bebfdba581bb656f0febf48f9202af8823f7f3c6f3c0243502502c8d73fa8d0ac353a9383fe4cadc
+DIST firefox-143.0.3-et.xpi 358419 BLAKE2B 
c6b4bc3b0279e4153e38ca5d17024e71779069f0ad70570ac1ee860cb8b5b5b478b79d4e706dc37b9c60a9d098d0fe29545ee9ce6be78d9d1e7f0082c05efa5c
 SHA512 
14a514237f60a9618221b8ba53c4ca1ed40bf2447e01f442ce9aeda8f7632406b615682188e6d6f7593e38014edda064dd0b9b3862da5fdba7560792c07f7594
+DIST firefox-143.0.3-eu.xpi 417834 BLAKE2B 
60963328c04897bf40f0389257b799cf0ae3b18f4ab46ec559d68c16475ef0c497535838be143400c95816283ad829544d27783051446ec9a556533cfad57f54
 SHA512 
2388cb15c15b88a209074d1b58715630dbedd08d2d043c65e9366ae6f87d0a58105223d348bc18c39a5320806c83dfc86b82a989420375125f82af0d71fca023
+DIST firefox-143.0.3-fa.xpi 419536 BLAKE2B 
cce2dc7f4f803d0d9ef8798d531fc7c83b83502d886f9c075ab9e836ca99add9c217ce2f4a2cfb676cf849fa66e1f224fbb1e398b58e14e321d716cc36b02cc6
 SHA512 
f251e16de3a5d68db06ff7ddd468365ef1ede9d70c9f20eaec4ab1e1c37f3c02908767e536e20b5e5161ed599433ba4ba6d53f757aa94f08eeb6fed8dc2165e3
+DIST firefox-143.0.3-ff.xpi 309705 BLAKE2B 
aa7bb9c97926b8f5e3e7423d5130ee25691c9659f465e71ca223349ac19869db481b67b33c2956151021dc1c568dff8ff963c61e7a648d2cb845f19b94621fb2
 SHA512 
e0fa4b21a228a42cb1144db56592189e465f333fb3f7fc26a76f341b55fc5c776d8c96d01147c1ca9d7e1268d3eab3d2b3654fbbd072922c6fd1c348c31f2d2b
+DIST firefox-143.0.3-fi.xpi 439045 BLAKE2B 
a0968ed7fbdad2b85909c620df7f1702a95fd11d1889729fbc8b61687e418811fa3cfac745be381ac90ba317dcf3d51cdba7ec9b43fb6bae69e3b9ebcbe8748e
 SHA512 
ed402336b394790ef6e645f59923623798f243baae978261c567ef8fddeb2d093500190d2444c4d7b5fa41df517656540381e460b666904b646e6fe03f074b39
+DIST firefox-143.0.3-fr.xpi 468133 BLAKE2B 
7d984c4bbd1b00cf4c2b32cb9f1a044974c9d94d8e719b44e94fdd8725c1eff1a4717470fa41f6582aa092de28ad1a1af67e77be9620e94ad43dcf5c145fe7a5
 SHA512 
7716006f8efdef8a6ac6de6b54013bb9059c5aaae646ea88d7605482f3447775a4804faf1e9288ec0fdf12940ff8e45867293ddb15b7025a4ee678f9b2d3cf71
+DIST firefox-143.0.3-fur.xpi 453033 BLAKE2B 
12e97f245b7f797011b6177c98efd9990d41f6ba7de5507af38ed4b8c2a9af2e0630cc556cb08375ee815d23ab59fc62a67badcdf8616a4449bbab9dd13ca4e2
 SHA512 
3f15394aca1032d7ae80c54d829e95c8c7cbfc472d87b80df4f5852e3eda499e3c7494a80fbb9829da4d8a556eef9948dfcd6cfc5618bae66f3417cf31991e8d
+DIST firefox-143.0.3-fy-NL.xpi 450110 BLAKE2B 
9cc59367242a528b90ca58952721831adbecd67bb452caf6330d438d30609be4a915e9b630817b8d43d1398cee4c7872963886bc30af68f5cb4dee7965ba9598
 SHA512 
8368afd4f070279274031e217d5f6101ca98b1435630865c0e1cd29e70d40b71bb41a59b10482403e26d723ead277666ceb41e9b7274b8a9e34be3dc546867d0
+DIST firefox-143.0.3-ga-IE.xpi 315232 BLAKE2B 
f7200996f0810029d7e4fdcac833541242abd1f6aeacede10b2a9e7f26ee529df8e7ea0e07e5a663f7ca63950456e628ffe1fe669f4bf278eeacaf9cb420172a
 SHA512 
e52f7472b92492b887746fc2b5dc2fe281f9c95248556eae74520ebe555f80085dfe8d288723f74ed70d2e18a32094fa520d1836c796cf0891a0e16d4aca6a57
+DIST firefox-143.0.3-gd.xpi 398246 BLAKE2B 
01c0a02ef7958c819dd86afa5fd30daf05f1ca3a71c53f339307d8867f1d0b9359694e3632dfc4f5af4eaf0c67a113fa692418a1152c1e341bd99884304232c1
 SHA512 
62ed16a7335912c6a636e4f867f940bafa1e81af6aef92e4331385074daedd589c10a8249f8fa7f55ea38c65b3f42e81ba606eaf01f81a99bfc95bcb443e56bc
+DIST firefox-143.0.3-gl.xpi 446926 BLAKE2B 
9d4c912a3c2323fc963acd9d0181972e5b6f0c5e462c80019d50166e51dcdb8535493cdd7ead5f1fd8721168410da67804c2011e957876bbe22527ebd3295530
 SHA512 
96c41e41634c93e93027fda68d4a8fbc94dc7fbdb357084ec5bdcd97b9b2d3fcff176c65f0399b6d2229e7352de9ef9f7c30e088067e784760c8ca680597e8ec
+DIST firefox-143.0.3-gn.xpi 457465 BLAKE2B 
026c32dc46460ffb4f1dc2fa46df5a432c6c9a1d283e9a133193aa56cd3f5adb218f329a161605a7803ae0617466893b4fa521aba9362b1c9af1c9067e257c05
 SHA512 
2852024d361fb680c891978a9364a4f9686be263548af0260d9625903706117194417b4445466fcdb294680ed50eaef9b26bc2596ad3534a1102cc01631e3925
+DIST firefox-143.0.3-gu-IN.xpi 358193 BLAKE2B 
d6a4176f6e2367937eca35c8cbb279118516f729f7f1fe017ae89c86b4fdaf21ebd3a6f278f918fbe5b3e84ea903c797d3738c652539224975df4b8d600ed3bc
 SHA512 
edd993d56e7a783633330ad28bf012e7fc970b2e31b838b0b69ee1ed6eb80a2b3fa4a82a8dd50b147229f59da356a33bd9259afcc5da88866d3e434e2c77402e
+DIST firefox-143.0.3-he.xpi 454161 BLAKE2B 
a35e30e96fc0d863f94e256a9c7ed5f2d3876f95c12bead42cffded849219c0e96fdf8743a76ba570899fedfa8362097836a4474eb9a9e6746981998b411be6d
 SHA512 
5d4851be59f3719b527332bf7685942b8bbb1a25b2069d10a8fbac976ba8939f27894b0ebc49076fa2d78acbb0234ff00bf6ce01196680a7f72e89646702dbd7
+DIST firefox-143.0.3-hi-IN.xpi 376971 BLAKE2B 
1e66f556f4b057d9c4317059723881bc88f807b08b36ac2c3a36a968a42d9a88c8ef5318a0e6cdc35f1bcec75eb502766a370b15aabfb431c992b2dcd586587c
 SHA512 
1e03a27e6a8a219855618180cfe490685a369fa37bd63df1fa4bc3f993018069b8cfb8aeeb6e9c298a6278087a672286e5cc8174a11bdab847e047f77fb5ea9a
+DIST firefox-143.0.3-hr.xpi 440970 BLAKE2B 
54e62002e3f6a56a8134651ffa3f5024aaf5a69b50cbb985b5554c9244666810d10bdc055b5486cc8cf4d02ade8603db3f1d44c11cc66ca562abc207b15cc4b2
 SHA512 
7deb4a3feafdfe03ae4e95843021a0435f7db5cd3f1549cf0a282a93661467ab74c02d5b925bd1cb8dd6e002d7b0b1583798e9c222cfc38308be5f06b8f51481
+DIST firefox-143.0.3-hsb.xpi 472365 BLAKE2B 
5e79aef383dc40b01ea2583c325064b9c66b1f40a7942a975e4ffde9b107e8116a6249ed70957164a8c83fa788187784e1bd634233571c4970cf4fb8bf3aafa4
 SHA512 
f6be9f786f5d4ac34619d094e2e1ce5bef7c1b43cbf8b7568343e770672b637a432a8f16c772a3cf2d91f2c8f9c6ee756af5cd5871f0eaefdcfa48116a78d4ee
+DIST firefox-143.0.3-hu.xpi 474775 BLAKE2B 
e0a97b0dc5cfeed49c96ab13f8fa1f13a9ddfa12f8a33cd3f954650e783cc418437bd4986726f04748bc932fa0364074142c823371f019cd6e437a13c22d06d5
 SHA512 
3eefb887f973d6030a57cd9d74ff2d5b74e02aeb6ecca477bc193074d9fe82419018a0a525219a391bba5ca29664404fe7a12cdd7b621032f528cb2d393c1c25
+DIST firefox-143.0.3-hy-AM.xpi 460122 BLAKE2B 
cd7a1cdf8aafd7a764962bb9ae52b846e8e3deb2cbb738ab347631ea61fd1a2b7682520bcf0117b18037f4f80a4e1728403a2527d042ec200220588beda311b0
 SHA512 
dfc129526ae2f69340387ec5431632599e4a5d1db805c03f3316f6f945b2f0868deeffef8de25f2d69537d55a76b0c0be8fe477943b9d8199b2f9934a180dcb3
+DIST firefox-143.0.3-ia.xpi 438873 BLAKE2B 
9d0103a385eda75db99d39737ca981b84c616bd451ddf7e92d268e0cb5ed4baed04cfcb0f7e6ad0a1feaa41803c6a2d2edf42b51f4b716850ea682f5b0841851
 SHA512 
e331f255f033ce1747dfd37176ae9fb7b7492bf2c210e45652658fa5d3f02bb28a26e741feb03a967df43c26b5f147ce4aef3b45dc71278f4cefedb77627df8e
+DIST firefox-143.0.3-id.xpi 420220 BLAKE2B 
1f52e09f4868a0f4d2c80795a997441f9da24375745656ea6823b42a50eb520c4eea6173f20ab83c366882260f49b10c86b999dcbac22d685887ae41cacafdad
 SHA512 
8e47f0bd3df4e22fa7fb99f2c8ff118b2f227d1eb1f233e0b5bd69cc291b553b33434b71fa14353ba65cfcfc72d5fc15cb04ec982dcf357aafdcfe17c7717954
+DIST firefox-143.0.3-is.xpi 437566 BLAKE2B 
651e262f7b9afed7109c4561081af1a6f9719d6f3a5faf640650856c3b7e342ce1807601ee7b8e50a2998fec9036c4b98fd1692aeb77003679c2b78b254c29cc
 SHA512 
cb56cda076e934d124e3184bfb2948d386a497158758e8d6fe67e58cfdee2ecb63453fda987eab4f274dee79d0fe926ab46f75da4e8cc5760be89865d272a955
+DIST firefox-143.0.3-it.xpi 449934 BLAKE2B 
c9de26a8478c24341765ffb29dc5f04a413a2ad056eb79872459b8f44e08b9ae618186409ec9ecde960ae3a9b1cb97f620287696c2d22982d223b496d77a0833
 SHA512 
d132efc9474940b38021ebab28b8784c373516e0a86a2839c50f994be0859635c3c9ebea41a6b718208ed7f6df363f88d826c7b5e34e4925e2028a680a6d713e
+DIST firefox-143.0.3-ja.xpi 490520 BLAKE2B 
e90db8ce06baede8b1602f0bb82fad8d701ac95192dcd0e922930067ea9cf1520045c0bf22b578a5dea70cd89671cf171f4c174c6d87da44ba62cfcdab7492ed
 SHA512 
20f99026545614edfe5ff5c9fe182c45908ab30a3277c0a2a3d80488162c275c0e8dd342c12544c53d73c5baccda75bd6420e37c8c2f31472cec678fed58e95e
+DIST firefox-143.0.3-ka.xpi 505915 BLAKE2B 
592654ef71e5ad139b4c887ed8f9cc1b85d8eee9cb14d25f7b59ef4b5b4da677fba11cd24b2b80ad61981f277fa99c497d49e5400f798a5870cfdae74eca5c76
 SHA512 
6710ad6313290a12ac7723e2aa92de77edd4892bcdb1482549082d02acef37d0896059b18f9c2fe4c81e8d9320a4be3eca84e286c700fc999c8778cf2a8d8ccb
+DIST firefox-143.0.3-kab.xpi 421882 BLAKE2B 
9fda0659320a8bb6b7e3bc478dfdc93987fd3dcadac724c1b4309ff66d98afe05f5aa10ee6ad079c7acf4e8654da8e21347417ac50746d4a3daaf50b8c60d3d8
 SHA512 
b74760d64bd3fe546ee6b3acc4f542f434f023860abee693f8773411b27df788c72d071fa0d46a37c47bd21f40b5f4e984acaac0b3f8b787e4e8d996d57861a6
+DIST firefox-143.0.3-kk.xpi 511551 BLAKE2B 
a69c9be4aba3707eb3b32fba11796e9199cb3ef553cfebbfdba0be63f050714743495ee54ba6a4add0ca1908932579cfa003baacc2793e2839ccf50dabeb52f7
 SHA512 
a2b4c8ce68c8a560658dd4edafda1c253aeec14dcbbadd28627807325357daad8ef5c5fb4d20ccdb87352b3dca44cecbe67c7854aeec34a34bb0bcb6bcb3359a
+DIST firefox-143.0.3-km.xpi 347494 BLAKE2B 
c68280ad6f42ec1588b5e5a73be3c14be4a3dd47ad0fdaecc4c26175694b242be8b158fa728d8254cf25769402efd309f5620d1ab8a238597d919bbcf6daba89
 SHA512 
997463f7fcd1da67bce033fce9922cfab6bb4f73e9021feff6fd42f0a57025e2bd336324f3ba0629aa22658b7d2747c843f6cb542363763db86afa089510c85b
+DIST firefox-143.0.3-kn.xpi 331738 BLAKE2B 
cec7212f49eaa7fe48eaee3206291f08b37054cc1f9b99e7e6be1d612d448da39a4677314755c67a2ea7e9f621db09ee4688d171d1fecb8320ce1111d070f110
 SHA512 
dba728a5507cbc59cf4059212e911044a8ec480494587a0a1c30837958b6c6dd919c20a44cc7f9f1792ab06476689897db0ce234a4874b04e4935114ecddaf6f
+DIST firefox-143.0.3-ko.xpi 476763 BLAKE2B 
c1e374b9b7359fc39ea45d8bd63fe76f429575a0e90c36cd682c5f3a7527eede7cd46754dc0f286c36e08b9d0218bb840b8fb172027e969c55649c43369d1312
 SHA512 
ad861537458e2e15036e1a2e92a5cd23e47084b3fb6bb42e4b98642dbf48d4dcc97029c5edde7b3210e34aff26198d9ba57cc37a2d08b52d9bb5d42c8bffb659
+DIST firefox-143.0.3-lij.xpi 318952 BLAKE2B 
0f6d455e4eb509bee577392d27c3e7d43f979b73b5e32ecf9651d1069ecbc184059430a0c9e766e155d45ee8185fd822c4cbf91a06a188016d1cf5ee047b2942
 SHA512 
e0218152ded43bf5be66f4a683dba1a06b278e4c250a991831461ca5421d524bd7b8bb74ae314ffc79c530e7cd41ca1cd732e5699eecd3a36392e367718d66a2
+DIST firefox-143.0.3-lt.xpi 378952 BLAKE2B 
ba84d05c34ac0953982f3d5eaf603364f00942b72d379349c904319e84009028cff13683cd38f3d0f2754ca868ed7d5e1a840225f86a1e0d91e471745d6a1822
 SHA512 
79d717752d9edeecaedc2220e2eb3c2fc647d2a0ddcb2138d19fd33de4e53deb32cafd45986c2160b730054f112915e75549902656e6b3a2a84f5aa349131217
+DIST firefox-143.0.3-lv.xpi 385388 BLAKE2B 
9937acd800e3eaddc3b958a059ad816ab2f7aea5491c18b17d83bd613a174511f2c4563d4a77c4a5df6f2a6393522a4df6b2543297197dcee03aac59dc3a8bc0
 SHA512 
67ea578950207b8ad97c65c4f1aba098d0705551a87c64c7891d68f0767ad6caacfb32b47606ac897f02cef55059d6d2aa5c906c463fdf05162fd34d42ddab16
+DIST firefox-143.0.3-mk.xpi 316223 BLAKE2B 
9a2935aefa9d2721377506f43d881b09bf1f32ff096a6488445347ee25e8402feed8526e7b0f799eb95a07cc7f8d8e2dba5f42a8140ede69a862c6fff32022d7
 SHA512 
df40f93a9f9e0e6b489b80cf7682b0061d32a412eb0d0e4743d9b2bd6ecbc92e6c897ab29c20fcaa81ea68fe01ab4c72fd0d1f3e1a801bc3d90d28a8bb6a22f4
+DIST firefox-143.0.3-mr.xpi 355943 BLAKE2B 
2868937c1cd06e4a7db502ae7e00755141b4a180d828120e4bf3785aa86ec9c660a09c077428372765ebd85dcbd212c9b4e830c8be628023f755b4b2b627a888
 SHA512 
65a462567717107cc7f031908e194b77c5834ecd18ad00659c88693af1c34dd21e3177df9cecaa9c3f0cc5302766e2190284fcbb5ef0837e96b14c11318e84ff
+DIST firefox-143.0.3-ms.xpi 295318 BLAKE2B 
baba1ddc09a58a7127435de968d5082bbda120639bc65dcb9a9f7ac7d44ad6bc439083e1928f7b2214fd7e95ab242924af520807061f3a7b53d3cf333d383bf3
 SHA512 
002d0b7ae36a2f5b66055da6c4659d69872d244c1d871979519ac544b3b4ddd9b892e00242c9d8ac217f9b52aa7e70f893f109be85ddcb9a6346a3ac9efb31ce
+DIST firefox-143.0.3-my.xpi 342629 BLAKE2B 
f8f82a9ae7798c68a3f3e8408113e41b0138b3a565dc5ee86a21c166a30ac44157790b465ec56a2236fb7a48ecf6dd6b74fc13a7e0429c3678db82aa32cc5f01
 SHA512 
6798b4f958eed3048932c603f8014065a7109ca13cbcf888a3aea3f03049ba8b4a1e76cfe24580b22ee13985977cfc65868160ec472949027435715f43d423df
+DIST firefox-143.0.3-nb-NO.xpi 438217 BLAKE2B 
d755e2f4be798cd1a99719fd134944b043d4086d379637f0b8784798df469cc5d5f3cf7e5b9b1eabcfaff24316e4b3ce741444e050ae5a1d86ac5d81c977e92c
 SHA512 
2e8d6d263c08c37d69adee867b9bb887296c07157baad1cc817fae5ccc91a75507683879c863533385abd8fdb654ada266bf53f8f74947d7d042abc78f819ac5
+DIST firefox-143.0.3-ne-NP.xpi 348038 BLAKE2B 
c0f89aec0460caaf7ed3e62b763a48aaef6b8acd4d65b5e86415a2ea092a0bab6650eb38cdea817708842c2cfea26cc40412b7bf7f48a4554113c51f4435f95d
 SHA512 
8bddd8679e8d2482c2883cfc7cf75fc27bb2401d9fcdc117b68c41f6bc1b7dfbb79b7b9cd4c64c8928d06f59d20f6ea29f479b5456c8ada4dc8f75edcff02d29
+DIST firefox-143.0.3-nl.xpi 445047 BLAKE2B 
9ab45c92e75e495435fca5c2e29aa01a4b6536eb015b03ca95ca8a5a30dc2dd45fbe6efda1c2d91a23cd3e190abe7094f48d71015abd39e49913403979464647
 SHA512 
6b7af5cc69253e37876d04ef81f67e53d124fc0c35cc87874c3c5fda72102624e493c1b10c428ba868fe8e83c6a510d80e7607b108a263e78d3c7c6362ae8df4
+DIST firefox-143.0.3-nn-NO.xpi 441296 BLAKE2B 
89e5f748d70e8e7b342d035e8aca7da0c591ef5216719cee2f7a05e0049167f5ad98c99e29a91aabf51ad7433758b7cf88df7396cb6a3dac05e9e7620532c802
 SHA512 
2c1a736a3c12e8bb6081fdf2867e606641c6280ed87c94c266901d2099a945abfb15b54870b77109dbdb56db7eeca3ee490c3a231a8e29b68e68449512ca867d
+DIST firefox-143.0.3-oc.xpi 409866 BLAKE2B 
028cdcd513fc5c591331bad5941fc00db92b494118e12f5e1405a661ac50b0f7f5c5e33404dccc161b1cbc65fb0c952670812cd8d4dbe787fed0b1d346e95c3c
 SHA512 
e7bbffd1a56f675d97489f75c65e51ed89f271bca9ffa45ba4a527f8cf3adc75176c7f440a2f6d7f72e899c11107c5e15b54d67e727847d6b74a02c29dcf8ff2
+DIST firefox-143.0.3-pa-IN.xpi 501826 BLAKE2B 
acde1efe9e4aba038968ec8de37b7e54655e6064e47002e7143b90f9f591ae0b2c7cff52f2344e401eebe10f0d90c2e0fd2d84e4532211bdaa87ba82eb2cbe2f
 SHA512 
3a86445deff5bb0700665e48d098296c2cee34e67e4eac0a845de0c214d0be8802763f80fad809f3907abcc4fe4837aac6487f2d8d1694cdc7fc971863f84878
+DIST firefox-143.0.3-pl.xpi 469321 BLAKE2B 
825245590dd13ccd2f9134e2f5cb4166a74e4c7015294049b0dcc19368b5271c9bec59458e746489430f6ec4a14eaf1c63cc63f5c0668f21a8970383ebfa993e
 SHA512 
979aa50720003a10e3c635461389579b48e67edf0b84cbf9bf40b928b232fb66476a331589583bc5d1c967e2a49fac72c5e1327d13f7ee6ab3393755d4ba8503
+DIST firefox-143.0.3-pt-BR.xpi 449665 BLAKE2B 
3523ba0bfed39bf66cb6e7a1dbd8e4309cfa69e06cced64e79c9f944652aa04440ccc4d4a8aaeef327e0a2a6444e88209de890330ea739ae9b24e2216943ff66
 SHA512 
a79a0d65437a2a336654a1a826d37f3e0aad6be4648a6cbbb70d61be0323fc7f872d139eb536903c31d60a0429cecae123628790e39a91fcf4c8585c0b8a30d1
+DIST firefox-143.0.3-pt-PT.xpi 447694 BLAKE2B 
096d539aa2ccc66ac14d54deb5ea6d02d62364f4c38aed79171f402c919a07a912fd3b3645d1172e4a1a1918ca8155b7c3f369c6763f9d67b433e6d86008a277
 SHA512 
e03edc9f433d4d89e169923e405e35822f1798b10dce1f125faf4c58a2d2f2d7327df0cc888400667200f0f1d28216ff3842f0181584e84a441f40f505982995
+DIST firefox-143.0.3-rm.xpi 439784 BLAKE2B 
b11058a0f26391ad324e833473b0ea74082579e1dbf0914e658855873280aeba2d20a1d5295be114ceefe55634ba659cb2270c4dc7e4ac218c168411e668a21a
 SHA512 
7881e6ed565afeba42c32acdd7b23d745ede292e8d04a116880c5ce2bc213160400a1cdde56ed8407c14ac30d13eba59c895e01f30e8bbec755a9a45ad53637f
+DIST firefox-143.0.3-ro.xpi 462110 BLAKE2B 
859379fd2eabe98e52ce44d3715a78ad79306f39ac3653e62861777469c212abb75dd6ab3736a90e94b86e8b8bb22ff1034f899b83aebbe6077cf06ed31584cf
 SHA512 
de68ac672d768b57e401cd33132088626711b6b9da863a5ac9a9a395d89965aee87bd9fb4e264dfecfc9fc5ebb03b4a9066d0c583bca3cfe2e6d5cee7782260b
+DIST firefox-143.0.3-ru.xpi 536220 BLAKE2B 
73d35c03f90edea1b05a3b92ec9a89b3374adfc6d98b6c4af9d29a0be54ba7240a8f60c07151be50602decd53f5ff2716d13abf2bdd6a7a5d15fed714777ace3
 SHA512 
a0ae18058a48464819a37326985e57b7b9c9c7224609b0b2bf094dd3938c61b674c32a630b48b3a7456fbb122426f37924aa2a210a5f3ca75e88413d94dc09ba
+DIST firefox-143.0.3-sc.xpi 412120 BLAKE2B 
ca4e63f79b55fe447983727635cbf1c3e78ab69fc491ff5bf1bfaac839388878b9cb75b68241a35cff5c92696072cd153a979da983378a25915eab5fcda3698e
 SHA512 
10b3a69fb3596c81f185a4e27eb31ef7c00b8cdf6a56bf13a80fb61d3e53d14d181159cdd691a9740a6c7c4a321e575538a258079051ae345807d490cc660406
+DIST firefox-143.0.3-sco.xpi 321933 BLAKE2B 
1993de29312157b626dbf6804ec85dcb64c73992ed4263933a823511fb5da49a4084c691a98a6a08031544511d8eb22a1ef7c84a1a96c747f6010dcbf0210efd
 SHA512 
d1b63aeb049e8e5f1bd6d6d4acb5518f40cde8cd1de5391d7d6a6357b4e6c961357ed819d15ffb7c6955b0cc8fdbcdad9801e7e5d73c9a285af44632364cca5a
+DIST firefox-143.0.3-si.xpi 410411 BLAKE2B 
c1c804ad49e38d476efc159cc0b917b40dd18186016bcac250e7d3e2d8e3ad3562af6a09d74f93826f645bf649d1725f9ac286b61c2a6930ce96947bbe14a968
 SHA512 
38cef8b806f9541eacb6f64e26c5924dd9185758b7c0aa0d81e308a1ba18406a603146e60fd7ddd9f5fd9c0675212d218091236d15367592097ee9cee602773e
+DIST firefox-143.0.3-sk.xpi 478168 BLAKE2B 
2849684be6d229fcb4c5a40835250042b4ba0c86b6544e3a36f8057e5a8edcdb11b2d1dd41a77de3ee8d4ffba675069b48480356fd9354e95ff85ff3586d1653
 SHA512 
160458e7c0a8a18bf9f4e676f3bcfbd8f5d1dfe8b161b2cbc8db7cf4c086414cf2b1ead6b93477e047d50d5b4242728e335767500fe632123e6d8d5f5f20993d
+DIST firefox-143.0.3-skr.xpi 484380 BLAKE2B 
29840ac7c4f0f2a0bc8edaeb957c2960b0b14216c53c8b024db10e55fdcdad12c0cb77dd92f82b53edd3560d492bd0f8a8c68963d5bd7c78a1bbe3671f5dc745
 SHA512 
c4183442b2f7f83c690c9b4a1188a61c735a8204937302b1d048e447fdc59ad893b78d7ba73b9f22a4139c02a1ec261dbcae7498531be162f1a75f981687fd84
+DIST firefox-143.0.3-sl.xpi 449561 BLAKE2B 
e20fe10c110f93f6507d3653efb0c107ac1e2ce8446ec8640e9b068bd2c9e36e012ed145fbda54a723695acd40b6fbdae3b4d6ff97682043139a72c93986016b
 SHA512 
ba834989906a5eecc3625c16a42087a69f4aabd6153d4e651d9df5ebb7805f1a87a9bf8993146795156cdf13d814b51fe30bcdb882ebeac34e3392a91d1b3423
+DIST firefox-143.0.3-son.xpi 273704 BLAKE2B 
6e940dc08faa9e86c60488975585b215ad6c58c1aed4ff1e050cd25a7c3a1fd0be0d815efc0a69e1bb194ba6ac5ee6b000b93ee80107458f0a263df920022ecd
 SHA512 
a41ce80422572d52e931e54fed9b80459b546c7ee6163f84f47e373b869126258ec8da9f530a1ba73cffdfb4ad50ac7d5f59b93d48ddc86fa74df4788e8b9bf8
+DIST firefox-143.0.3-sq.xpi 451510 BLAKE2B 
2e415441af9ed9560d64b0e1aa94939dc1e93b213914862ea9e048284cec65ed86f87c600f3a9b3dff89f0b8a3eaca888e7ebb1c2e69d8ba200e359de405cbaf
 SHA512 
dc83b99e195d9eeb8db7fa538a8f0251bb3746cc424e92b26194c039a798fecb5dd0c325d20553bbfc5dbd42deca9cc16e316cddd3d5b564dd033eb9fdcfcaa7
+DIST firefox-143.0.3-sr.xpi 452195 BLAKE2B 
6dfc08e5f25096bc0830bea9689922fdbf9a392348500ca48f1f953d0b69a59d7c6fababa91d0dfdc483b64adfdeb9df0ce308dbc415ae4c2da7e35dd838b689
 SHA512 
573b8b95106cca6c6be97805250d694af14aca617cabc969842c9b5e22909aeb74be599835ae268130b075f54a440e7402a2a09df212d4423aad8cf22fd4ee7d
+DIST firefox-143.0.3-sv-SE.xpi 444945 BLAKE2B 
31185574294eda1518fc6b8be888b5b3a50c4655c31140f8be23bba794c30017f954a015fa380944ee394ddf32a88b12822c4eb0d1d3a8e86972e12dd826323c
 SHA512 
c1ee974d739e49ca527ced2b9c2a5e80d90e0cbae762435c40b45d92a7daf44e7281a162a217aedb88df0aa34e96da0c3e4e6393c1fb18fd3b1a8b291634dd5d
+DIST firefox-143.0.3-szl.xpi 340488 BLAKE2B 
2c14fb1edf0a0ba414ca44dfb1f13c5a0e25848a72df83065d9c035f82e6633356bc9df2412103fa9dd8d74fb73fe677455cdf24e497ef6b720f96ae01f50cad
 SHA512 
e4b756e476a820f1eb032f42011b978800aef3cc9c73dc0d650240233a3177a41d4b9c72519289e7dd50c268e0ce8ddb7b7ff631afbf9f5b654496f3b9a29e98
+DIST firefox-143.0.3-ta.xpi 337905 BLAKE2B 
5a4b9b25b643ac708ab0da4a782eb631eb3a5361379e5b3dfdf474c459c39e261fc728ddfe6c6f0a375f6ce1ac44474d57b30bf689c7b7d0f9e2ef0cd61c58d6
 SHA512 
06ad3e36170157df8309118619e2013e3fcc620af69ed343c4e14e696f7e4695797b5f9b21b682b0e669c7f09ad98e602843f42b7d9a3dd219d8e687ae6c540d
+DIST firefox-143.0.3-te.xpi 381293 BLAKE2B 
f69a7d918e98109415766d9052e5177f0e13139c94fcb301b94f4a74a2dbd0649b306c298ec05c661ee2294b9d70054b7e84005f167e9fb17f5b1ecb73e8d891
 SHA512 
3b4eccde03413a086310654bc1c5a759b37cea465a4c44e544c178df898efb4bbdc66c1842548c2c251fbce7f5c329ed8268a2fe8b761ab9206e5927d0a81ec9
+DIST firefox-143.0.3-th.xpi 515813 BLAKE2B 
b3290914c8c07b46bdd951eab3f92e4e695859cb7ac87d2e268200eb27307bb3bec5714707d222abba0ae284d0a290e8211799f4a680a75216598cfd63842b8c
 SHA512 
5bdaf1d604ac2120abee1fcb1b08f9dc1f979b4ff40d8b7bb24eac5fe2cbaab7add52591446accc0af2d22ed766fd028db70aa1c7cede6091b7bcddb01f1377a
+DIST firefox-143.0.3-tl.xpi 355794 BLAKE2B 
7898727fb9df5f2e788f3228042d0092b9a75a99f3105a6dd51656e8dbd7e872dcf2a706978b0bd648c86f8ea9b9ce29291d587acc68b5483b82acd31594fe4b
 SHA512 
dfd62d29e5616ac61a836498f204211b6a89a403f98c3cf1906fbe872cce06ffb716ed5f86107be775dced0c9f2c9358311142514c98710edb0b7e4b48934475
+DIST firefox-143.0.3-tr.xpi 458334 BLAKE2B 
ac827a1fd337de06fa707819e8936d93641b9ac19e84c4ed2dd5f0d2d4f816c0099f0ff4095705dbb7601073b2314c8d5ff6fc37fb00622e3181b9cf6e716ef7
 SHA512 
f697361c63e50695e442e77c80e902fb3002d715c17ce4a021a9a115e77e92b73221689800532464d10917c23e6c2422ed56e78d663b43242c5b923395dd4ebe
+DIST firefox-143.0.3-trs.xpi 323374 BLAKE2B 
d9fe61bcaefb751ffc07b7268baf1dccfa0f493cf624285eb8c8bea0742a4674d3ed0407b3cbd41a3785bfdd823a0b18ae295027a719e6c3e567e8028a0470c9
 SHA512 
59675c092df9e6fd4920eadf5965101aa15373f1987f0282f3a34ce125271bca73b7c9360a6e44b5c42f1bc20f397c6e43e8c51fc229f67feb1a1ef5bba52c09
+DIST firefox-143.0.3-uk.xpi 520592 BLAKE2B 
fdb1fc0eba7d0f518a2b931963b20b45571cf777a808f96ec3c395542686406b4aa6785e9aa46a7ba356b640021ea203e5d4e1e044a6934354083902553a7d70
 SHA512 
4c14fb6d51ba52a26b9ef435ce766218090732f5629843428160ef6aba63c2451c8bf12b9d4871115c374379ba7f76efefff081bd169d3520be046846fb039ff
+DIST firefox-143.0.3-ur.xpi 369802 BLAKE2B 
96bc5c5995af214e39760683aac5ce8706ee44d409d3838bd4a3d206785c2b9e933bccd9f6f60250c064abe7a87466331ab613119f3eab41314173d60aba344b
 SHA512 
e5dfa381bf646cf3dd647ab4fcca2e8a3931f75b85096a3aaa9882ac24208dd207e58525b002d2880222b0f79dfe4c99ea2f4a33a20ab37a12f2a846dff62994
+DIST firefox-143.0.3-uz.xpi 303392 BLAKE2B 
78f0dc8e04e795f4cbeb90e4b6f4b857d4e903126ac6489056321af23ddd0576d6782c6954dc98e7c9d8434cbfdc0037fdf2d6d34aef5c11a27aa8b62c48253d
 SHA512 
d59fa492de646b568cb1b76f161059bf6ebde6fd15cc305b1f7cbfef58517cd948316abf7e7af0f4cd6f08673433cf59ac3c381fde993b535ede22da270b7623
+DIST firefox-143.0.3-vi.xpi 478447 BLAKE2B 
35dcffcc498e623668a458d91df87028e652c5210361bfaa824a5a303483b4ee3bc171135501e7795b5074cafb774b026793863f9c4c38f7d9368f0c8721a43a
 SHA512 
68e6d069c48d4bbcc58c1bab6698c57fe72454cf8ff9f967b06a66553dcbeee647e75b9d0e82bbcd4c760c6ffb0f39c6e10850a91eb54c045324206ceae13e24
+DIST firefox-143.0.3-xh.xpi 273370 BLAKE2B 
786ca5402e05ce37efb29c15aaa2603942959e3a73182c557660b54cead522bd86a88adbeba194dcc786418e6fb752a39396ad46e25bfef01fb76e1ac65cae27
 SHA512 
101e915bb64494e3285b1a008c826edd02e8def5b04b4e9f6d038a6636fa9d1dbaaf98da59321abf3471001c0b6021fe3f2b43857deafff0b300004ae1c262a5
+DIST firefox-143.0.3-zh-CN.xpi 469414 BLAKE2B 
219d65bcfefe34c94358e6da7fa2cdacd534870f6c01ffafce03b3307246537b98d4a4f8d9c486cc899913d8b2d4d8ddce3f2a36e1e86058f0dad112f02abadf
 SHA512 
9191de6a5f604424c863eb5fb70ad8698c66a9fe54e1e07fdd0b0f9301f865ce21f5eb75bbbc7daa297b8ee551db76d967a32b02d79dfcefe6c3c63853de665c
+DIST firefox-143.0.3-zh-TW.xpi 473018 BLAKE2B 
27097eefd694e72c3c6061029aa802195ee7e5d58e6c138a870938b6c1ab0d81305b330d501fb4a8f121ecc110463043b82c5aa9e54c310d811a20049b5f6490
 SHA512 
3cb79077a9520e9b012b0da8b9ca6bb53b397a71389362770736c08274c5a113dead439ad5193972f5633849fb71ed70f0ee9bbe7572872b7cf4332c46020253
+DIST firefox-143.0.3.source.tar.xz 647600856 BLAKE2B 
85cbf8bc58ebfe0432b55a86bc4dd15773a2e1c5cb6aefd15418a20725c3fd12f22a06483ae0003e2f8aa41fefb8a4724d1b5fa6e260a5a56ea612d3f053373b
 SHA512 
c092bd3aac79f856a804c908b76d40409ce052b00176269ea3029b5a3a6885d4d21ce26bd76c9ea13827ff75459b6b4b0566f5aa49035ac234ae5890c67845b0
 DIST firefox-143.0.source.tar.xz 645597188 BLAKE2B 
3e71ba1d711c2f48efb693738efac3dbede6625c2c3a038c777128635ea39e39836569c205540561e5f65a26eb460f3aa84a60d70df4ff728add043e10d62fde
 SHA512 
49fe5e5dbb7539be3e4c517d3cac453ea9b739e61040c4ac1abcf3d6665732fba5ff91fb040f3c0294af0f8c2824235a94e60ac9c26e25cb14d89d4b50c8a911
 DIST wasi-sdk-25.0-arm64-linux.tar.gz 115160800 BLAKE2B 
1ce22aaea87d0720d40d46ebdd96508c8fb0593b53c4489022fd5a1a9afb043a26a6e162a992d73454f612f2b6ab01e17a99c189c0c8b8c2d2d68fd96fabee1b
 SHA512 
ef4eff22c1efec4dc5ab199d09d93ee0004f9fa67b32cac0030f8b6a40def10f714391cec8e803c200995dd8bfad3ebad9ec79b4195aa6b2ea61ea47a8b9e61f
 DIST wasi-sdk-25.0-x86_64-linux.tar.gz 114450290 BLAKE2B 
07618828d4c25d67421aa72d38fc49bbff9052b8ecfe0fa9f4207e71880e9c650f458567cfa5bd389d5f830fcfee89142a77d33c29e7bccd1da7ddba2bc47b95
 SHA512 
716acc4b737ad6f51c6b32c3423612c03df9a3165bde3d6e24df5c86779b8be9463f5a79e620f2fc49707275563a6c9710242caca27e1ad9dd2c69e8fce8a766

diff --git a/www-client/firefox/firefox-143.0.3.ebuild 
b/www-client/firefox/firefox-143.0.3.ebuild
new file mode 100644
index 000000000000..85e78cd79631
--- /dev/null
+++ b/www-client/firefox/firefox-143.0.3.ebuild
@@ -0,0 +1,1395 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-143-patches-02.tar.xz"
+
+LLVM_COMPAT=( 19 20 )
+
+# This will also filter rust versions that don't match LLVM_COMPAT in the 
non-clang path; this is fine.
+RUST_NEEDS_LLVM=1
+
+# If not building with clang we need at least rust 1.76
+RUST_MIN_VER=1.82.0
+
+PYTHON_COMPAT=( python3_{11..14} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+VIRTUALX_REQUIRED="manual"
+
+# Information about the bundled wasi toolchain from
+# https://github.com/WebAssembly/wasi-sdk/
+WASI_SDK_VER=27.0
+WASI_SDK_LLVM_VER=20
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+       MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+       # Convert the ebuild version to the upstream Mozilla version
+       MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+       MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+       MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+       # ESR releases have slightly different version numbers
+       MOZ_PV="${MOZ_PV}esr"
+       HOMEPAGE="https://www.firefox.com https://www.firefox.com/enterprise/";
+       SLOT="esr"
+else
+       HOMEPAGE="https://www.firefox.com";
+       SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 
multiprocessing \
+       optfeature pax-utils python-any-r1 readme.gentoo-r1 rust 
toolchain-funcs virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}";
+
+if [[ ${PV} == *_rc* ]] ; then
+       
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}";
+fi
+
+PATCH_URIS=(
+       https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+DESCRIPTION="Firefox Web Browser"
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> 
${MOZ_P_DISTFILES}.source.tar.xz
+       ${PATCH_URIS[@]}
+       wasm-sandbox? (
+               amd64? ( 
https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz
 )
+               arm64? ( 
https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz
 )
+       )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio 
selinux sndio"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent 
+system-libvpx"
+IUSE+=" system-pipewire system-png +system-webp test valgrind wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" +gmp-autoupdate gnome-shell jpegxl +jumbo-build openh264 +telemetry 
wasm-sandbox"
+
+REQUIRED_USE="|| ( X wayland )
+       debug? ( !system-av1 )
+       pgo? ( jumbo-build )
+       wayland? ( dbus )
+       wifi? ( dbus )
+"
+
+RESTRICT="!test? ( test )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+       selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+       $(llvm_gen_dep '
+               llvm-core/clang:${LLVM_SLOT}
+               llvm-core/llvm:${LLVM_SLOT}
+               clang? (
+                       llvm-core/lld:${LLVM_SLOT}
+                       pgo? ( 
llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+               )
+               wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} )
+       ')
+       app-alternatives/awk
+       app-arch/unzip
+       app-arch/zip
+       >=dev-util/cbindgen-0.27.0
+       net-libs/nodejs
+       virtual/pkgconfig
+       amd64? ( >=dev-lang/nasm-2.14 )
+       x86? ( >=dev-lang/nasm-2.14 )
+       pgo? (
+               X? (
+                       sys-devel/gettext
+                       x11-base/xorg-server[xvfb]
+                       x11-apps/xhost
+               )
+               !X? (
+                       gui-wm/tinywl
+                       x11-misc/xkeyboard-config
+               )
+       )"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+       >=app-accessibility/at-spi2-core-2.46.0:2
+       dev-libs/expat
+       dev-libs/glib:2
+       dev-libs/libffi:=
+       >=dev-libs/nss-3.115.1
+       >=dev-libs/nspr-4.35
+       media-libs/alsa-lib
+       media-libs/fontconfig
+       media-libs/freetype
+       media-libs/mesa
+       media-video/ffmpeg
+       sys-libs/zlib
+       virtual/freedesktop-icon-theme
+       x11-libs/cairo
+       x11-libs/gdk-pixbuf:2
+       x11-libs/libdrm
+       x11-libs/pango
+       x11-libs/pixman
+       dbus? (
+               sys-apps/dbus
+       )
+       jack? ( virtual/jack )
+       pulseaudio? (
+               || (
+                       media-libs/libpulse
+                       >=media-sound/apulse-0.1.12-r4[sdk]
+               )
+       )
+       libproxy? ( net-libs/libproxy )
+       selinux? ( sec-policy/selinux-mozilla )
+       sndio? ( >=media-sound/sndio-1.8.0-r1 )
+       system-av1? (
+               >=media-libs/dav1d-1.0.0:=
+               >=media-libs/libaom-1.0.0:=
+       )
+       system-harfbuzz? (
+               >=media-libs/harfbuzz-2.8.1:0=
+               !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 )
+       )
+       system-icu? ( >=dev-libs/icu-76.1:= )
+       system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= )
+       system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+       system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+       system-pipewire? ( >=media-video/pipewire-1.4.7-r2:= )
+       system-png? ( >=media-libs/libpng-1.6.45:0=[apng] )
+       system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+       valgrind? ( dev-debug/valgrind )
+       wayland? (
+               >=media-libs/libepoxy-1.5.10-r1
+               x11-libs/gtk+:3[wayland]
+       )
+       wifi? (
+               kernel_linux? (
+                       || (
+                               net-misc/networkmanager
+                               net-misc/connman[networkmanager]
+                       )
+                       sys-apps/dbus
+               )
+       )
+       X? (
+               virtual/opengl
+               x11-libs/cairo[X]
+               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/libxcb:=
+       )"
+RDEPEND="${COMMON_DEPEND}
+       hwaccel? (
+               media-video/libva-utils
+               sys-apps/pciutils
+       )
+       jack? ( virtual/jack )
+       openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+       X? (
+               x11-base/xorg-proto
+               x11-libs/libICE
+               x11-libs/libSM
+       )"
+
+# ESR and rapid dependencies.
+if [[ -n ${MOZ_ESR} ]] ; then
+       RDEPEND+=" !www-client/firefox:rapid"
+else
+       RDEPEND+=" !www-client/firefox:esr"
+fi
+
+# 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 "llvm-core/clang:${LLVM_SLOT}" ; then
+               einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM 
slot ${LLVM_SLOT} ..." >&2
+               return 1
+       fi
+
+       if use clang && ! tc-ld-is-mold ; then
+               if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then
+                       einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot 
use LLVM slot ${LLVM_SLOT} ..." >&2
+                       return 1
+               fi
+       fi
+
+       if use pgo ; then
+               if ! has_version -b 
"=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+                       einfo 
"=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2
+                       einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+                       return 1
+               fi
+       fi
+
+       einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+       af ar ast be bg br ca cak cs cy da de dsb
+       el en-CA en-GB en-US es-AR es-ES et eu
+       fi fr fy-NL ga-IE gd gl he hr hsb hu
+       id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+       pa-IN pl pt-BR pt-PT rm ro ru
+       sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( fur )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( skr )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+       # https://bugs.gentoo.org/587334
+       local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+               fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+       )
+
+       local lang xflag
+       for lang in "${MOZ_LANGS[@]}" ; do
+               # en and en_US are handled internally
+               if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+                       continue
+               fi
+
+               # strip region subtag if $lang is in the list
+               if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+                       xflag=${lang%%-*}
+               else
+                       xflag=${lang}
+               fi
+
+               SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+               SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> 
${MOZ_P_DISTFILES}-${lang}.xpi"
+               SRC_URI+=" )"
+               IUSE+=" l10n_${xflag/[_@]/-}"
+       done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -ne 1 ]] ; then
+               die "${FUNCNAME} requires exact one argument"
+       fi
+
+       einfo "Clearing cargo checksums for ${1} ..."
+
+       sed -i \
+               -e 's/\("files":{\)[^}]*/\1/' \
+               "${S}"/third_party/rust/${1}/.cargo-checksum.json || die
+}
+
+moz_install_xpi() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local DESTDIR=${1}
+       shift
+
+       insinto "${DESTDIR}"
+
+       local emid xpi_file xpi_tmp_dir
+       for xpi_file in "${@}" ; do
+               emid=
+               xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+               # Unpack XPI
+               unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+               # Determine extension ID
+               if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+                       emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; 
s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from install.rdf"
+               elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+                       emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' 
"${xpi_tmp_dir}/manifest.json")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from manifest.json"
+               else
+                       die "failed to determine extension id"
+               fi
+
+               einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+               newins "${xpi_file}" "${emid}.xpi"
+       done
+}
+
+mozconfig_add_options_ac() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_add_options_mk() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_use_enable() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_enable "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+mozconfig_use_with() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_with "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+virtwl() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+       [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to 
be set; try xdg_environment_reset"
+       tinywl -h >/dev/null || die 'tinywl -h failed'
+
+       local VIRTWL VIRTWL_PID
+       coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo 
$WAYLAND_DISPLAY; read _; kill $PPID'; }
+       local -x WAYLAND_DISPLAY
+       read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+       debug-print "${FUNCNAME}: $@"
+       "$@"
+       local r=$?
+
+       [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+       exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+       return $r
+}
+
+pkg_pretend() {
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+               # Ensure we have enough disk space to compile
+               if use pgo || use debug ; then
+                       CHECKREQS_DISK_BUILD="14300M"
+               elif tc-is-lto ; then
+                       CHECKREQS_DISK_BUILD="10600M"
+               else
+                       CHECKREQS_DISK_BUILD="7400M"
+               fi
+
+               check-reqs_pkg_pretend
+       fi
+}
+
+pkg_setup() {
+
+       # Get LTO from environment; export after this phase for use in 
src_configure (etc)
+       use_lto=no
+
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+
+               if tc-is-lto; then
+                       use_lto=yes
+                       # LTO is handled via configure
+                       filter-lto
+               fi
+
+               if use pgo ; then
+                       if ! has userpriv ${FEATURES} ; then
+                               eerror "Building ${PN} with USE=pgo and 
FEATURES=-userpriv is not supported!"
+                       fi
+               fi
+
+               if [[ ${use_lto} = yes ]]; then
+                       # -Werror=lto-type-mismatch -Werror=odr are going to 
fail with GCC,
+                       # bmo#1516758, bgo#942288
+                       filter-flags -Werror=lto-type-mismatch -Werror=odr
+               fi
+
+               # Ensure we have enough disk space to compile
+               if use pgo || use debug ; then
+                       CHECKREQS_DISK_BUILD="14300M"
+               elif [[ ${use_lto} == "yes" ]] ; then
+                       CHECKREQS_DISK_BUILD="10600M"
+               else
+                       CHECKREQS_DISK_BUILD="7400M"
+               fi
+
+               check-reqs_pkg_setup
+               llvm-r1_pkg_setup
+               rust_pkg_setup
+               python-any-r1_pkg_setup
+
+               # Avoid PGO profiling problems due to enviroment leakage
+               # These should *always* be cleaned up anyway
+               unset \
+                       DBUS_SESSION_BUS_ADDRESS \
+                       DISPLAY \
+                       ORBIT_SOCKETDIR \
+                       SESSION_MANAGER \
+                       XAUTHORITY \
+                       XDG_CACHE_HOME \
+                       XDG_SESSION_COOKIE
+
+               # Build system is using /proc/self/oom_score_adj, bug #604394
+               addpredict /proc/self/oom_score_adj
+
+               if use pgo ; then
+                       # Update 105.0: "/proc/self/oom_score_adj" isn't enough 
anymore with pgo, but not sure
+                       # whether that's due to better OOM handling by Firefox 
(bmo#1771712), or portage
+                       # (PORTAGE_SCHEDULING_POLICY) update...
+                       addpredict /proc
+
+                       # Clear tons of conditions, since PGO is 
hardware-dependant.
+                       addpredict /dev
+               fi
+
+               if ! mountpoint -q /dev/shm ; then
+                       # If /dev/shm is not available, configure is known to 
fail with
+                       # a traceback report referencing 
/usr/lib/pythonN.N/multiprocessing/synchronize.py
+                       ewarn "/dev/shm is not mounted -- expect build 
failures!"
+               fi
+
+               # Google API keys (see 
http://www.chromium.org/developers/how-tos/api-keys)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+                       
MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+               fi
+
+               if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+                       
MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+               fi
+
+               # Mozilla API keys (see 
https://location.services.mozilla.com/api)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+                       
MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+               fi
+
+               # Ensure we use C locale when building, bug #746215
+               export LC_ALL=C
+       fi
+
+       export use_lto
+
+       CONFIG_CHECK="~SECCOMP"
+       WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to 
play DRM-protected content."
+       linux-info_pkg_setup
+}
+
+src_unpack() {
+       local _lp_dir="${WORKDIR}/language_packs"
+       local _src_file
+
+       if [[ ! -d "${_lp_dir}" ]] ; then
+               mkdir "${_lp_dir}" || die
+       fi
+
+       for _src_file in ${A} ; do
+               if [[ ${_src_file} == *.xpi ]]; then
+                       cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die 
"Failed to copy '${_src_file}' to '${_lp_dir}'!"
+               else
+                       unpack ${_src_file}
+               fi
+       done
+}
+
+src_prepare() {
+       if [[ ${use_lto} == "yes" ]]; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+       fi
+
+       # Workaround for bgo#915651 on musl
+       if use elibc_glibc ; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+       fi
+
+       eapply "${WORKDIR}/firefox-patches"
+
+       # Allow user to apply any additional patches without modifing ebuild
+       eapply_user
+
+       # Make cargo respect MAKEOPTS
+       export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+       # Workaround for bgo#915651
+       if ! use elibc_glibc ; then
+               if use amd64 ; then
+                       export RUST_TARGET="x86_64-unknown-linux-musl"
+               elif use x86 ; then
+                       export RUST_TARGET="i686-unknown-linux-musl"
+               elif use arm64 ; then
+                       export RUST_TARGET="aarch64-unknown-linux-musl"
+               elif use loong; then
+                       # Only the LP64D ABI of LoongArch64 is actively 
supported among
+                       # the wider Linux ecosystem, so the assumption is safe.
+                       export RUST_TARGET="loongarch64-unknown-linux-musl"
+               elif use ppc64 ; then
+                       export RUST_TARGET="powerpc64le-unknown-linux-musl"
+               elif use riscv ; then
+                       # We can pretty safely rule out any 32-bit riscvs, but 
64-bit riscvs also have tons of
+                       # different ABIs available. 
riscv64gc-unknown-linux-musl seems to be the best working
+                       # guess right now though.
+                       elog "riscv detected, forcing a riscv64 target for now."
+                       export RUST_TARGET="riscv64gc-unknown-linux-musl"
+               else
+                       die "Unknown musl chost, please post a new bug with 
your rustc -vV along with emerge --info"
+               fi
+       fi
+
+       # Pre-built wasm-sandbox path manipulation.
+       if use wasm-sandbox ; then
+               if use amd64 ; then
+                       export wasi_arch="x86_64"
+               elif use arm64 ; then
+                       export wasi_arch="arm64"
+               else
+                       die "wasm-sandbox enabled on unknown/unsupported arch!"
+               fi
+
+               sed -i \
+                       -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \
+                       -e "s:%%WASI_ARCH%%:${wasi_arch}:" \
+                       -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \
+                       -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \
+                       toolkit/moz.configure || die "Failed to update 
wasi-related paths."
+       fi
+
+       # Make LTO respect MAKEOPTS
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/build/moz.configure/lto-pgo.configure || die "Failed 
sedding multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || 
die "Failed sedding multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed 
sedding multiprocessing.cpu_count"
+
+       # sed-in toolchain prefix
+       sed -i \
+               -e "s/objdump/${CHOST}-objdump/" \
+               "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py 
|| die "sed failed to set toolchain prefix"
+
+       sed -i \
+               -e 's/ccache_stats = None/return None/' \
+               "${S}"/python/mozbuild/mozbuild/controller/building.py || die 
"sed failed to disable ccache stats call"
+
+       einfo "Removing pre-built binaries ..."
+
+       find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) 
-print -delete || die
+
+       # Clear checksums from cargo crates we've manually patched.
+       # moz_clear_vendor_checksums xyz
+
+       # Respect choice for "jumbo-build"
+       # Changing the value for FILES_PER_UNIFIED_FILE may not work, see 
#905431
+       if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+               local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+               elog ""
+               elog "jumbo-build defaults modified to 
${my_files_per_unified_file}."
+               elog "if you get a build failure, try undefining 
FILES_PER_UNIFIED_FILE,"
+               elog "if that fails try -jumbo-build before opening a bug 
report."
+               elog ""
+
+               sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 
16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \
+                       python/mozbuild/mozbuild/frontend/data.py ||
+                               die "Failed to adjust FILES_PER_UNIFIED_FILE in 
python/mozbuild/mozbuild/frontend/data.py"
+               sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE 
= "${my_files_per_unified_file}"/" \
+                       js/src/moz.build ||
+                               die "Failed to adjust FILES_PER_UNIFIED_FILE in 
js/src/moz.build"
+       fi
+
+       # Create build dir
+       BUILD_DIR="${WORKDIR}/${PN}_build"
+       mkdir -p "${BUILD_DIR}" || die
+
+       # Write API keys to disk
+       echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+       echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || 
die
+       echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+       xdg_environment_reset
+}
+
+src_configure() {
+       # Show flags set at the beginning
+       einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       local have_switched_compiler=
+       if use clang; then
+               # Force clang
+               einfo "Enforcing the use of clang due to USE=clang ..."
+
+               local version_clang=$(clang --version 2>/dev/null | grep -F -- 
'clang version' | awk '{ print $3 }')
+               [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 
"${version_clang}")
+               [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+               if tc-is-gcc; then
+                       have_switched_compiler=yes
+               fi
+
+               AR=llvm-ar
+               CC=${CHOST}-clang-${version_clang}
+               CXX=${CHOST}-clang++-${version_clang}
+               NM=llvm-nm
+               RANLIB=llvm-ranlib
+       elif ! use clang && ! tc-is-gcc ; then
+               # Force gcc
+               have_switched_compiler=yes
+               einfo "Enforcing the use of gcc due to USE=-clang ..."
+               AR=gcc-ar
+               CC=${CHOST}-gcc
+               CXX=${CHOST}-g++
+               NM=gcc-nm
+               RANLIB=gcc-ranlib
+       fi
+
+       if [[ -n "${have_switched_compiler}" ]] ; then
+               # Because we switched active compiler we have to ensure
+               # that no unsupported flags are set
+               strip-unsupported-flags
+       fi
+
+       # Ensure we use correct toolchain,
+       # AS is used in a non-standard way by upstream, #bmo1654031
+       export HOST_CC="$(tc-getBUILD_CC)"
+       export HOST_CXX="$(tc-getBUILD_CXX)"
+       export AS="$(tc-getCC) -c"
+
+       # Configuration tests expect llvm-readelf output, bug 913130
+       READELF="llvm-readelf"
+
+       tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
+
+       # Pass the correct toolchain paths through cbindgen
+       if tc-is-cross-compiler ; then
+               export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} 
--target=${CHOST} ${BINDGEN_CFLAGS-}"
+       fi
+
+       # Set MOZILLA_FIVE_HOME
+       export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+       # python/mach/mach/mixin/process.py fails to detect SHELL
+       export SHELL="${EPREFIX}/bin/bash"
+
+       # Set state path
+       export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+       # Set MOZCONFIG
+       export MOZCONFIG="${S}/.mozconfig"
+
+       # Initialize MOZCONFIG
+       mozconfig_add_options_ac '' --enable-application=browser
+       mozconfig_add_options_ac '' --enable-project=browser
+
+       # Set Gentoo defaults
+       if use telemetry; then
+               export MOZILLA_OFFICIAL=1
+       fi
+
+       mozconfig_add_options_ac 'Gentoo default' \
+               --allow-addon-sideload \
+               --disable-cargo-incremental \
+               --disable-crashreporter \
+               --disable-disk-remnant-avoidance \
+               --disable-geckodriver \
+               --disable-install-strip \
+               --disable-legacy-profile-creation \
+               --disable-parental-controls \
+               --disable-strip \
+               --disable-updater \
+               --disable-wmf \
+               --enable-negotiateauth \
+               --enable-new-pass-manager \
+               --enable-official-branding \
+               --enable-packed-relative-relocs \
+               --enable-release \
+               --enable-system-policies \
+               --host="${CBUILD:-${CHOST}}" \
+               --libdir="${EPREFIX}/usr/$(get_libdir)" \
+               --prefix="${EPREFIX}/usr" \
+               --target="${CHOST}" \
+               --without-ccache \
+               --with-intl-api \
+               --with-libclang-path="$(llvm-config --libdir)" \
+               --with-system-ffi \
+               --with-system-gbm \
+               --with-system-libdrm \
+               --with-system-nspr \
+               --with-system-nss \
+               --with-system-pixman \
+               --with-system-zlib \
+               --with-toolchain-prefix="${CHOST}-" \
+               --with-unsigned-addon-scopes=app,system
+
+       # Set update channel
+       local update_channel=release
+       [[ -n ${MOZ_ESR} ]] && update_channel=esr
+       mozconfig_add_options_ac '' --enable-update-channel=${update_channel}
+
+       # Whitelist to allow unkeyworded arches to build with 
"--disable-rust-simd" by default.
+       if use amd64 || use arm64 || use ppc64 || use loong || use riscv ; then
+               mozconfig_add_options_ac '' --enable-rust-simd
+       fi
+
+       # For future keywording: This is currently (97.0) only supported on:
+       # amd64, arm, arm64 & x86.
+       # Might want to flip the logic around if Firefox is to support more 
arches.
+       # bug 833001, bug 903411#c8
+       if use loong || use ppc64 || use riscv; then
+               mozconfig_add_options_ac '' --disable-sandbox
+       elif use valgrind; then
+               mozconfig_add_options_ac 'valgrind requirement' 
--disable-sandbox
+       else
+               mozconfig_add_options_ac '' --enable-sandbox
+       fi
+
+       # riscv-related options, bgo#947337, bgo#947338
+       if use riscv ; then
+               mozconfig_add_options_ac 'Disable webrtc for RISC-V' 
--disable-webrtc
+       fi
+
+       if [[ -s "${S}/api-google.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 
}') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+       else
+               einfo "Building without Google API key ..."
+       fi
+
+       if [[ -s "${S}/api-location.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 
}') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-location-service-api-keyfile="${S}/api-location.key"
+       else
+               einfo "Building without Location API key ..."
+       fi
+
+       if [[ -s "${S}/api-mozilla.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 
}') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+       else
+               einfo "Building without Mozilla API key ..."
+       fi
+
+       mozconfig_use_with system-av1
+       mozconfig_use_with system-harfbuzz
+       mozconfig_use_with system-icu
+       mozconfig_use_with system-jpeg
+       mozconfig_use_with system-libevent
+       mozconfig_use_with system-libvpx
+       mozconfig_use_with system-pipewire
+       mozconfig_use_with system-png
+       mozconfig_use_with system-webp
+
+       mozconfig_use_enable dbus
+       mozconfig_use_enable libproxy
+       mozconfig_use_enable valgrind
+
+       use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+       if use hardened ; then
+               mozconfig_add_options_ac "+hardened" --enable-hardening
+               append-ldflags "-Wl,-z,relro -Wl,-z,now"
+
+               # Increase the FORTIFY_SOURCE value, #910071.
+               sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' 
"${S}"/build/moz.configure/toolchain.configure || die
+       fi
+
+       local myaudiobackends=""
+       use jack && myaudiobackends+="jack,"
+       use sndio && myaudiobackends+="sndio,"
+       use pulseaudio && myaudiobackends+="pulseaudio,"
+       ! use pulseaudio && myaudiobackends+="alsa,"
+
+       mozconfig_add_options_ac '--enable-audio-backends' 
--enable-audio-backends="${myaudiobackends::-1}"
+
+       mozconfig_use_enable wifi necko-wifi
+
+       ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' 
--disable-unified-build
+
+       if use X && use wayland ; then
+               mozconfig_add_options_ac '+x11+wayland' 
--enable-default-toolkit=cairo-gtk3-x11-wayland
+       elif ! use X && use wayland ; then
+               mozconfig_add_options_ac '+wayland' 
--enable-default-toolkit=cairo-gtk3-wayland-only
+       else
+               mozconfig_add_options_ac '+x11' 
--enable-default-toolkit=cairo-gtk3-x11-only
+       fi
+
+       # wasm-sandbox
+       # Since graphite2 is one of the sandboxed libraries, system-graphite2 
obviously can't work with +wasm-sandbox.
+       if use wasm-sandbox ; then
+               mozconfig_add_options_ac '+wasm-sandbox' 
--with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/"
+       else
+               mozconfig_add_options_ac 'no wasm-sandbox' 
--without-wasm-sandboxed-libraries
+               mozconfig_use_with system-harfbuzz system-graphite2
+       fi
+
+       ! use jpegxl && mozconfig_add_options_ac '-jpegxl' --disable-jxl
+
+       if [[ ${use_lto} == "yes" ]] ; then
+               if use clang ; then
+                       # Upstream only supports lld or mold when using clang.
+                       if tc-ld-is-mold ; then
+                               # mold expects the -flto line from *FLAGS 
configuration, bgo#923119
+                               append-ldflags "-flto=thin"
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang and USE=lto" --enable-linker=lld
+                       fi
+
+                       mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+               else
+                       # ThinLTO is currently broken, see bmo#1644409.
+                       # mold does not support gcc+lto combination.
+                       mozconfig_add_options_ac '+lto' --enable-lto=full
+                       mozconfig_add_options_ac "linker is set to bfd" 
--enable-linker=bfd
+               fi
+
+       else
+               # Avoid auto-magic on linker
+               if use clang ; then
+                       # lld is upstream's default
+                       if tc-ld-is-mold ; then
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang" --enable-linker=lld
+                       fi
+
+               else
+                       if tc-ld-is-mold ; then
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "linker is set to bfd 
due to USE=-clang" --enable-linker=bfd
+                       fi
+               fi
+       fi
+
+       # PGO was moved outside lto block to allow building pgo without lto.
+       if use pgo ; then
+               mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+               # Avoid compressing just-built instrumented Firefox with
+               # high levels of compression. Just use tar as a container
+               # to save >=10 minutes.
+               export MOZ_PKG_FORMAT=tar
+
+               if use clang ; then
+                       # Used in build/pgo/profileserver.py
+                       export LLVM_PROFDATA="llvm-profdata"
+               fi
+       fi
+
+       mozconfig_use_enable debug
+       if use debug ; then
+               mozconfig_add_options_ac '+debug' --disable-optimize
+               mozconfig_add_options_ac '+debug' --enable-jemalloc
+               mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+       else
+               mozconfig_add_options_ac 'Gentoo defaults' 
--disable-real-time-tracing
+
+               if is-flag '-g*' ; then
+                       if use clang ; then
+                               mozconfig_add_options_ac 'from CFLAGS' 
--enable-debug-symbols=$(get-flag '-g*')
+                       else
+                               mozconfig_add_options_ac 'from CFLAGS' 
--enable-debug-symbols
+                       fi
+               else
+                       mozconfig_add_options_ac 'Gentoo default' 
--disable-debug-symbols
+               fi
+
+               if is-flag '-O0' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O0
+               elif is-flag '-O4' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O4
+               elif is-flag '-O3' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O3
+               elif is-flag '-O1' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O1
+               elif is-flag '-Os' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-Os
+               else
+                       mozconfig_add_options_ac "Gentoo default" 
--enable-optimize=-O2
+               fi
+       fi
+
+       # Debug flag was handled via configure
+       filter-flags '-g*'
+
+       # Optimization flag was handled via configure
+       filter-flags '-O*'
+
+       # elf-hack
+       # Filter "-z,pack-relative-relocs" and let the build system handle it 
instead.
+       if use amd64 || use x86 ; then
+               filter-flags "-z,pack-relative-relocs"
+
+               if tc-ld-is-mold ; then
+                       # relr-elf-hack is currently broken with mold, 
bgo#916259
+                       mozconfig_add_options_ac 'disable elf-hack with mold 
linker' --disable-elf-hack
+               else
+                       mozconfig_add_options_ac 'relr elf-hack' 
--enable-elf-hack=relr
+               fi
+       elif use loong || use ppc64 || use riscv ; then
+               # '--disable-elf-hack' is not recognized on loong/ppc64/riscv,
+               # see bgo #917049, #930046
+               :;
+       else
+               mozconfig_add_options_ac 'disable elf-hack on non-supported 
arches' --disable-elf-hack
+       fi
+
+       if ! use elibc_glibc; then
+               mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+       fi
+
+       if use valgrind; then
+               mozconfig_add_options_ac 'valgrind requirement' 
--disable-jemalloc
+       fi
+
+       # System-av1 fix
+       use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+       # Make revdep-rebuild.sh happy; Also required for musl
+       append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+       # Pass $MAKEOPTS to build system
+       export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+       # Use system's Python environment
+       export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+       export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+       if ! use telemetry; then
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_CRASHREPORTER=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_DATA_REPORTING=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_SERVICES_HEALTHREPORT=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_TELEMETRY_REPORTING=0"
+       fi
+
+       mozconfig_use_enable test tests
+
+       # Disable notification when build system has finished
+       export MOZ_NOSPAM=1
+
+       # Portage sets XARGS environment variable to "xargs -r" by default which
+       # breaks build system's check_prog() function which doesn't support 
arguments
+       mozconfig_add_options_ac 'Gentoo default' 
"XARGS=${EPREFIX}/usr/bin/xargs"
+
+       # Set build dir
+       mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+       # Show flags we will use
+       einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       # Handle EXTRA_CONF and show summary
+       local ac opt hash reason
+
+       # Apply EXTRA_ECONF entries to $MOZCONFIG
+       if [[ -n ${EXTRA_ECONF} ]] ; then
+               IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+               for opt in "${ac[@]}"; do
+                       mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+               done
+       fi
+
+       echo
+       echo "=========================================================="
+       echo "Building ${PF} with the following configuration"
+       grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+               [[ -z ${hash} || ${hash} == \# ]] \
+                       || die "error reading mozconfig: ${ac} ${opt} ${hash} 
${reason}"
+               printf "    %-30s  %s\n" "${opt}" "${reason:-mozilla.org 
default}"
+       done
+       echo "=========================================================="
+       echo
+
+       if use valgrind; then
+               sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g 
-O2"/' .mozconfig || die
+       fi
+
+       ./mach configure || die
+}
+
+src_compile() {
+       local virtx_cmd=
+
+       if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold ; then
+               # increase ulimit with mold+lto, bugs #892641, #907485
+               if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+                       ewarn "Unable to modify ulimits - building with 
mold+lto might fail due to low ulimit -n resources."
+                       ewarn "Please see bugs #892641 & #907485."
+               else
+                       ulimit -n 16384
+               fi
+       fi
+
+       if use pgo; then
+               # Reset and cleanup environment variables used by GNOME/XDG
+               gnome2_environment_reset
+
+               addpredict /root
+
+               if ! use X; then
+                       virtx_cmd=virtwl
+               else
+                       virtx_cmd=virtx
+               fi
+       fi
+
+       if ! use X; then
+               local -x GDK_BACKEND=wayland
+       else
+               local -x GDK_BACKEND=x11
+       fi
+
+       ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_test() {
+       # 
https://firefox-source-docs.mozilla.org/testing/automated-testing/index.html
+       local -a failures=()
+
+       # Some tests respect this
+       local -x MOZ_HEADLESS=1
+
+       # Check testing/mach_commands.py
+       einfo "Testing with cppunittest ..."
+       ./mach cppunittest
+       local ret=$?
+       if [[ ${ret} -ne 0 ]]; then
+               eerror "Test suite cppunittest failed with error code ${ret}"
+               failures+=( cppunittest )
+       fi
+
+       if [[ ${#failures} -eq 0 ]]; then
+               einfo "Test suites succeeded"
+       else
+               die "Test suites failed: ${failures[@]}"
+       fi
+}
+
+src_install() {
+       # xpcshell is getting called during install
+       pax-mark m \
+               "${BUILD_DIR}"/dist/bin/xpcshell \
+               "${BUILD_DIR}"/dist/bin/${PN} \
+               "${BUILD_DIR}"/dist/bin/plugin-container
+
+       DESTDIR="${D}" ./mach install || die
+
+       # Upstream cannot ship symlink but we can (bmo#658850)
+       rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+       dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+       # Don't install llvm-symbolizer from llvm-core/llvm package
+       if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+               rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+       fi
+
+       # Install policy (currently only used to disable application updates)
+       insinto "${MOZILLA_FIVE_HOME}/distribution"
+       newins "${FILESDIR}"/distribution.ini distribution.ini
+       newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+       # Install system-wide preferences
+       local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+       insinto "${PREFS_DIR}"
+       newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+       local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+       # Set dictionary path to use system hunspell
+       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
spellchecker.dictionary_path pref"
+       pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+       EOF
+
+       # Force hwaccel prefs if USE=hwaccel is enabled
+       if use hwaccel ; then
+               cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+               >>"${GENTOO_PREFS}" \
+               || die "failed to add prefs to force hardware-accelerated 
rendering to all-gentoo.js"
+
+               if use wayland; then
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
hwaccel wayland prefs"
+                       pref("gfx.x11-egl.force-enabled", false);
+                       EOF
+               else
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
hwaccel x11 prefs"
+                       pref("gfx.x11-egl.force-enabled", true);
+                       EOF
+               fi
+
+               # Install the vaapitest binary on supported arches (122.0 
supports all platforms, bmo#1865969)
+               exeinto "${MOZILLA_FIVE_HOME}"
+               doexe "${BUILD_DIR}"/dist/bin/vaapitest
+
+               # Install the v4l2test on supported arches (+ arm, + riscv64 
when keyworded)
+               if use arm64 ; then
+                       exeinto "${MOZILLA_FIVE_HOME}"
+                       doexe "${BUILD_DIR}"/dist/bin/v4l2test
+               fi
+       fi
+
+       if ! use gmp-autoupdate ; then
+               local plugin
+               for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+                       einfo "Disabling auto-update for ${plugin} plugin ..."
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to 
disable autoupdate for ${plugin} media plugin"
+                       pref("media.${plugin}.autoupdate", false);
+                       EOF
+               done
+       fi
+
+       # Force the graphite pref if USE=system-harfbuzz is enabled, since the 
pref cannot disable it
+       if use system-harfbuzz ; then
+               cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
gfx.font_rendering.graphite.enabled pref"
+               sticky_pref("gfx.font_rendering.graphite.enabled", true);
+               EOF
+       fi
+
+       # Add telemetry config prefs, just in case something happens in future 
and telemetry build
+       # options stop working.
+       if ! use telemetry ; then
+               cat "${FILESDIR}"/gentoo-telemetry-prefs.js >>"${GENTOO_PREFS}" 
|| die "failed to set telemetry prefs"
+       fi
+
+       # Install language packs
+       local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name 
'*.xpi') )
+       if [[ -n "${langpacks}" ]] ; then
+               moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" 
"${langpacks[@]}"
+       fi
+
+       # Install icons
+       local icon_srcdir="${S}/browser/branding/official"
+
+       # Prefer the upstream svg file they use when packaging flatpak so it's 
always up-to-date.
+       insinto /usr/share/icons/hicolor/symbolic/apps
+       newins 
"${S}"/browser/installer/linux/app/flatpak/files/share/icons/hicolor/symbolic/apps/org.mozilla.firefox-symbolic.svg
 firefox-symbolic.svg
+       dosym -r /usr/share/icons/hicolor/symbolic/apps/firefox-symbolic.svg 
/usr/share/icons/hicolor/symbolic/apps/org.mozilla.firefox-symbolic.svg
+
+       local icon size
+       for icon in "${icon_srcdir}"/default*.png ; do
+               size=${icon%.png}
+               size=${size##*/default}
+
+               if [[ ${size} -eq 48 ]] ; then
+                       newicon "${icon}" ${PN}.png
+               fi
+
+               newicon -s ${size} "${icon}" ${PN}.png
+       done
+
+       # Install menu
+       local app_name="Mozilla ${MOZ_PN^}"
+       local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+       local exec_command="${PN}"
+       local icon="${PN}"
+       local use_wayland="false"
+
+       if [[ -n ${MOZ_ESR} ]] ; then
+               local desktop_filename="${PN}-esr.desktop"
+       else
+               local desktop_filename="${PN}.desktop"
+       fi
+
+       if use wayland ; then
+               use_wayland="true"
+       fi
+
+       cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+       sed -i \
+               -e "s:@NAME@:${app_name}:" \
+               -e "s:@EXEC@:${exec_command}:" \
+               -e "s:@ICON@:${icon}:" \
+               "${WORKDIR}/${PN}.desktop-template" || die
+
+       newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+       rm "${WORKDIR}/${PN}.desktop-template" || die
+
+       if use gnome-shell ; then
+               # Install search provider for Gnome
+               insinto /usr/share/gnome-shell/search-providers/
+               doins 
browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini
+
+               insinto /usr/share/dbus-1/services/
+               doins 
browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service
+
+               # Toggle between rapid and esr desktop file names
+               if [[ -n ${MOZ_ESR} ]] ; then
+                       sed -e "s/firefox.desktop/${desktop_filename}/g" \
+                               -i 
"${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini"
 ||
+                                       die "Failed to sed 
org.mozilla.firefox.search-provider.ini file."
+               fi
+
+               # Make the dbus service aware of a previous session, bgo#939196
+               sed -e \
+                       
"s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox 
--dbus-service \/usr\/bin\/firefox/g" \
+                       -i 
"${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" ||
+                               die "Failed to sed 
org.mozilla.firefox.SearchProvider.service dbus file"
+
+               # Update prefs to enable Gnome search provider
+               cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable 
gnome-search-provider via prefs"
+               pref("browser.gnome-search-provider.enabled", true);
+               EOF
+       fi
+
+       # Install wrapper script
+       [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+       newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+       # Update wrapper
+       sed -i \
+               -e "s:@PREFIX@:${EPREFIX}/usr:" \
+               -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+               "${ED}/usr/bin/${PN}" || die
+
+       readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       if ! use gmp-autoupdate ; then
+               elog "USE='-gmp-autoupdate' has disabled the following plugins 
from updating or"
+               elog "installing into new profiles:"
+               local plugin
+               for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+                       elog "\t ${plugin}"
+               done
+               elog
+       fi
+
+       # bug 835078
+       if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+               ewarn "You have nouveau drivers installed in your system and 
'hwaccel' "
+               ewarn "enabled for Firefox. Nouveau / your GPU might not 
support the "
+               ewarn "required EGL, so either disable 'hwaccel' or try the 
workaround "
+               ewarn "explained in https://bugs.gentoo.org/835078#c5 if 
Firefox crashes."
+       fi
+
+       readme.gentoo_print_elog
+
+       optfeature_header "Optional programs for extra features:"
+       optfeature "desktop notifications" x11-libs/libnotify
+       optfeature "fallback mouse cursor theme e.g. on WMs" 
gnome-base/gsettings-desktop-schemas
+       optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal
+       if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then
+               optfeature "hardware acceleration with NVIDIA cards" 
media-libs/nvidia-vaapi-driver
+       fi
+
+       if ! has_version "sys-libs/glibc"; then
+               elog
+               elog "glibc not found! You won't be able to play DRM content."
+               elog "See Gentoo bug #910309 or upstream bug #1843683."
+               elog
+       fi
+}

Reply via email to