commit:     034d028b5bf519611374f8b5edd741808c2d62cd
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 18 20:37:13 2025 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Mar 18 20:37:13 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=034d028b
www-client/firefox: add 136.0.2

 - riscv fixes for jit and webrtc (thinlto not handled).

Bug: https://bugs.gentoo.org/947337
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 www-client/firefox/Manifest               |  101 +++
 www-client/firefox/firefox-136.0.2.ebuild | 1371 +++++++++++++++++++++++++++++
 2 files changed, 1472 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 50739da8578d..e3a1848ed6ea 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -610,6 +610,107 @@ DIST firefox-136.0.1-xh.xpi 273269 BLAKE2B 
b9a77c1d4bdaf28dab6cd9a5ad6f4930804a8
 DIST firefox-136.0.1-zh-CN.xpi 454847 BLAKE2B 
e9245c80947a7b68e4a71b87580b54d14905805b744c9673d3321ff55eb7504a44e7ec4edaa59b4961a20dcee6c85ed311e372cc04e4c0da897dc01b7698d4a4
 SHA512 
e2426c68304b348454baff3f7a8731e7d91d28d72598f50b288f8f727204071172ae87526d8ececf4ee4ead6050bdfa351cfb93a05450af30881d64e4988d1cc
 DIST firefox-136.0.1-zh-TW.xpi 457687 BLAKE2B 
c1c27a06b396189f60e24550217b7204b679865970fa345555c88c36e1d215ed9d39623738b3d3ba86255da346e103a1ff4bf38698e247b258e3711b27d84436
 SHA512 
1e35f3eef8f2038185f9e85f51f1b3339dcadbda0293dcc01287b91c7fa10cabecf007f53ecdf0773be222976a2ba1133ffa084401c423f2aec30ea955fc663d
 DIST firefox-136.0.1.source.tar.xz 601826980 BLAKE2B 
22bc0fa84db8a28a76317bb83a2f03e0cde03178af3dead9373187bc1c0b76bf1286f1135338c5ee4f9c2c058f357f6e84f380511de9f8054a0374da5cb5582c
 SHA512 
e5833ccf97796c15b5156357427621d1f2d1d7ee55b53262f3935eadb98229c74a355bbe2f72a4168ec4e29dd3f83f4eaca99c5215d61bd087475331d3522abd
+DIST firefox-136.0.2-ach.xpi 295311 BLAKE2B 
1201107574ad2fd46d7b4ba3b7e1b86ed19a7a9b19a841c032088214384c611464fa593ad691e618f4943ed85255589b63d753fc0ca08c2f6c75d6f9a53c60c3
 SHA512 
68ce4e2a865b3880a0b1f8bb75c2cc8366334e86830c2ad2cbdbcf3ba9b56a4a35a6cdcca214a0a40a3fe29651393c1d730d571ad3278233c224eba00de9fda5
+DIST firefox-136.0.2-af.xpi 266788 BLAKE2B 
c4625331df79759c3454b6cdf093ce196c5ecaabd25ced1ee568bb5197876506733609d5aa6647096e328dfbb0a21309fb58748d1646ebb1a6df623d33377043
 SHA512 
8ed2924f816d88350edf44a81ab94377dd12fba4c68bf92963117a3c8f34904c445b8f283848d921605c12902bdcabfac702a1eb6844586f67644fcd34bd475a
+DIST firefox-136.0.2-an.xpi 333334 BLAKE2B 
f400d031879988a2f07be9d72b71e8a6d24f3fccadf4f26428d29e477ba1deff06177caa58149af944151ac08143df3a40fab4f79cc3df04d034d1118605acee
 SHA512 
9499fbf832b680cd463d374100bb650bd60df0e39c857dd0a99fe05a956b33d29ad5a8faa99b74be983878057bd63b5b70c838b7ee3c8abd2d572afbcaebee95
+DIST firefox-136.0.2-ar.xpi 431810 BLAKE2B 
e65760e7a56ee0576060fc89fc935b3500436496c3ef0b8a764e60a3fccf0f794cf76901290a67d15a02302c4213c0f2708194aaee387e13c1cf97b6a9eb42ba
 SHA512 
20392afc3f3c6fecbaaf96c20f4902215d2fc703e9a40800f21b165cf9995aff33078aac2cc0348a293fcc77b39b14d29f9fe17f563159b619ee9f7e191e7152
+DIST firefox-136.0.2-ast.xpi 314249 BLAKE2B 
af1a5381f1db6ab25110c64879f939211c67b62880a2c4aadda72868423b8a7d91bd732309f66f85ede3cc6a91a43e28df984bf72375f442baae6b0b57e454c5
 SHA512 
30fc0bb1accfbf6948408b463afaeccfc026b646b17aa318e979c7cc039e3c1e09e16f30e012de23b4c2fb803ca3ae4cc4c7cae4523448dfb84d9bdb75684709
+DIST firefox-136.0.2-az.xpi 319693 BLAKE2B 
c5766b30737caac870f4138ab5b8a04b8df4ff3f331db2115be43a3573ea68f3d3faeba953d8b23eb7a76825ce61509e668d132a909520e49633c886d0c8a170
 SHA512 
3141d1ea8f07d9a1787706ba7d1d73bc9546ffcfdac2f3a221030cd13d37c60eae84a219039601c08537f5625c72bd2f4b6f8232c687b533b1afe7a778b71ade
+DIST firefox-136.0.2-be.xpi 513804 BLAKE2B 
3895cffaee30e5d7089e47e8e2e5640314f2e822209541026d33e2c26ec0c3a26ef2d153759b07d1495d2a872446a0d1d71cc958fc8fef393fb4aa535165a13e
 SHA512 
b8ab401e983a7348de0bad648aa85289468d4440847a8af4dd0e97e892533a256f07725c2c2345bb2960ce037b20f92f7467aff0da3fc7f5d50ae89f0a39023a
+DIST firefox-136.0.2-bg.xpi 448901 BLAKE2B 
93dac82ae0167b36189c2c26a30dbe8c36896cc5acaef40f23f5c25d0c6fac6c72b091483c7e60ff31c1352fc99fe748cdc62c4c86d20117540a7ef296120868
 SHA512 
92232671817f0aa9551e6ee506069a79b91820231c4fb301de71000a6bc36248b4f7dd89816455eec6aa7743e88853d931d65bb53195ec5d59e1ccb8d4705689
+DIST firefox-136.0.2-bn.xpi 414161 BLAKE2B 
6004ff1f997bf650eecd4f6edb0abb68394537f2c0ced2b02058dd49ef1783dbae8ea544826b5941bebe25c1f215d14e00005936389371fe1b04763369844bfd
 SHA512 
d502270ddbe5d78e198fdd37edf6cd768af61a7fdb15da2efc19d65843f56d487311b35e63bd2413293c69397aa1db78cd7243d797c0b07d1f781b001c429478
+DIST firefox-136.0.2-br.xpi 394428 BLAKE2B 
dd6b9ed5619276d4fa94019bf9bab8400cafacccebcf07dc91981a2c5123207185212d271b1e43cd6f2e86ed64ce8dcc7ec0e875529113f8bf70fa882a41922e
 SHA512 
0a85358eb7ec45bb6bca982a65454a973299d9cda0993a368e50f9a0ec929e63777ac87887bf57d462ac523acbd93cb337536fef088f1a54a404128e8a4bd175
+DIST firefox-136.0.2-bs.xpi 365270 BLAKE2B 
69c4a7f3826fb67c85a1b64e695b13ac12a494d33a7a79dbd6e712ea9fa405ebce87be3a354fb4b2a16937cd7fca0599a013c80126693bdb9a728f3fc3c5d806
 SHA512 
b161c18ee1adefe5c2ced8e4234fadee93604b2b9b68e6b0bb7573f2d89b64e511c63bad900236b26d233b11740cd582d06442bdbdd6822d31b4c47d9cd29440
+DIST firefox-136.0.2-ca-valencia.xpi 359662 BLAKE2B 
01747b8e9b333ef373801848c15fcbdffb2d940501ddabec0ddd7b9bd8496981ebfc4ef9617b5512dad740419c58239d70b281aef19e5aafcee6fee174bdc74f
 SHA512 
1fc2e5f519dcb48365901366639c627b6b4ad0b6b198f285de6f4702056926d630053761aac055b9083ade9e5383ac32633a2cad278419f6ddb06d6bc92ce4eb
+DIST firefox-136.0.2-ca.xpi 400607 BLAKE2B 
ac27e9b65ac5586a30a93bcc071bdc032971a216b272651811f9352ba6fcfd5d47bd1ea7e4bf8918df0849df5b7b7eff6bd6d71bd407f8e2acc4350d12ddfc25
 SHA512 
84441f51beb8619abdff562ffa92508366a73f4715076b814810fbbd66aee6c16bb6647fe20f5419650925e22c0841f5549002c5b6586356380bf9b3ed9e316f
+DIST firefox-136.0.2-cak.xpi 394067 BLAKE2B 
f68fb89d132fc74679fb0a69384057c73614c9cb657c7c10dbbe046f952daa311bddc10e6bbbdfb0ebf6cec0607a621a8d55108e7339e6ee6425253589465c98
 SHA512 
f7d0e353fcb46b73b54ab69fde9b4a56e134bd5d78778d475103caf25cf32fbd4d60aa6904c9512d312c370de61544440c50c8575c753e0b27ffbdc308d86abf
+DIST firefox-136.0.2-cs.xpi 468952 BLAKE2B 
f90eedb2addd5f138978a8982e58b07516378604622b50fe04a3ed3235cd5e08a0be71a974a81c7fc71458d08c3ffecd2b44ae4ca83f70e3e50611eef4001993
 SHA512 
b0ad2af3f3b5a2bb234d38e50e2ce7b706aea5b6fdc8c549549c3f2c0db510b29dde170421201fabab2e82804223d3fb998629f705a0a9f23f5a75caf6e75583
+DIST firefox-136.0.2-cy.xpi 435792 BLAKE2B 
c59ea972d03cb6eadee6595ed25c0044b1991e3208154c0ef52314d5f6f559ef736fa9d97ceddb4821e3bf1414910d8ad984bf34d82b164030bc541d8281a03c
 SHA512 
40a8226ca7124dd10181b38d04ee889fa7eab8a8e07847971f49732c2cd36b84e4dcff3da1da8ee55852c2f881be7bd2b3aa3303730921249afa4240767376eb
+DIST firefox-136.0.2-da.xpi 425316 BLAKE2B 
1b8da5a1fef6a50aa35197f006c016a4cf1dd35af546f881efb9bf0b959e5ba5507f9e8fa869c778f43a7a69967b06709cbc5a38d71358bc63722288d7242542
 SHA512 
962acad02aaa9290d7eaf7e90cac3c499ebf383e5d8499adc373c5a917bfa072f3624694caf3c4683dc6ed2d1a6d8791873594b566c95fa9c6aaaf6677b6cde7
+DIST firefox-136.0.2-de.xpi 446679 BLAKE2B 
e67d71c69e45f0b9d2a401cfbc37d3d69418cec8cc42675bf4273f204de6e996b97b5be4a78289566e6537338da00244f6e56ff66adbb67697fb12c1d89d0ae6
 SHA512 
916e931c74bd41a80ae4ce314c55a441842de1357f866800afcf63a5d245f707b4813f69c24d8397dedd074dfbee1c9e7fac192db40e5e22340c32d86e5668b9
+DIST firefox-136.0.2-dsb.xpi 459793 BLAKE2B 
4365699e8e0cd25898e3acbb24ad0bb05f082145e1b13845139adc0051395aa862de80bec33f8f16039da5cc32b98659f6eea023da98de486a2e44e724218a43
 SHA512 
df78feb6f1ff01c28af48ab7bccce18d3f302f3d2c40f24748b80ef9a2513974fb86e30120074972e22b8cc1b4a01e8f16df755660fd55d0b053b29b1be1888f
+DIST firefox-136.0.2-el.xpi 529756 BLAKE2B 
c51bf8c581f096b881924e54649eee58902f87afbce6402f4a1c42004b16f919550946ebfcd6a39aaf149f3d61cc514ecf63c033f2e7f633b844dfb82d4580bd
 SHA512 
d619d8775fcf2f104607bf159d0173d417449e8c8534ecd4974ff18af4143183eea21b01affb01be2dc2e764ba7721e974cbfb58ed68170a44869da86dc656fe
+DIST firefox-136.0.2-en-CA.xpi 405853 BLAKE2B 
e04948148783f344bb5363ea1c018e33f80c401840c1a5f96f29c5f0408a63d35cf4f37d7cb11b7978b08206940376df673db4f01b6fb0ac416b357985547c54
 SHA512 
bccda779e1f6e019726289228121840575b1f3f4934d2cd11562897b7288bcd976d89ba899b510ea0a3eca02d0f1cbad59a5b6ee29028568c1e976a5b7c03a0e
+DIST firefox-136.0.2-en-GB.xpi 406152 BLAKE2B 
77ad89f755cfb746307e5cb6222fce18017d44d34a026464d225abfd888b992ddcfe04b6f6fa2a30c0b48e7c112eec7a94584b5bd4de7a4c24e56e2b761fbce5
 SHA512 
1796a26abbfa16f379bb7e683535fde7ef0f30cbee360a19c9de8c57a457b963e21f87ef9740384c3b15ec63cf894f8761a36ed6458d5faa5de4db7460bd9750
+DIST firefox-136.0.2-eo.xpi 427680 BLAKE2B 
2b200b6798ef8bbd31f7609bf20695a67934d919dad65e7906e512c6ff970339f9c8e2b3e641f1d2facaca21032d5d5aa388bc98c3eed53c246d6edcd78ecb14
 SHA512 
92c9656ec673432d2ac98eede06bc5740710c1a3be23a449b2155e210565a3a096d278094cbde0bc1496865d4eef5331f3715cb28f79c7f2b5a89960f4fd079e
+DIST firefox-136.0.2-es-AR.xpi 439711 BLAKE2B 
c39e9eed906a5e937e42c0dc766706355d2720740d469eab81d44dc6c67111269c7b74962544ee19ce497d7a99cdadcb057ac329545cc510351805ef2e8b5733
 SHA512 
a904a67c8738679ef6113932a33837cceecb84d0ec8fd05f9d609c6050d0b4a75a63fab82356e157fdd7fc37edb5e6fee239c095de06a05b02cfe8fd47211f79
+DIST firefox-136.0.2-es-CL.xpi 440291 BLAKE2B 
914e60d22bcf42d8dc281ecd61eac0e4d36e4275b452dbc301a44e0f7f20e45a9b03791727df79235058f2e50852ed9fa0a50d2448a43c8789383005094aaf96
 SHA512 
e5d541115910efd3848b6dbef191c1fd9c4b84c1137bcf9685b2f49512a0f1b74c9dac7eba7037f6761aa8c3289620878f707603a8fa3f9499fe62dbca284e9c
+DIST firefox-136.0.2-es-ES.xpi 441184 BLAKE2B 
8ed11078bf2121614d4445aa78b65d84cce8d21e510146cddf6af9b10d0a8813606ed2f161b1e904e47425efe9b5deb5db958e7d28c4a6308cacd51335cdfce2
 SHA512 
269dbc634489d6d9e2b2827866a96d4a654f425bc4fc4e15d9c5c7e9a6667285bc3c5272569aa4cd8d6759f85a58c44d94fe42c735942582e90d11bc12ecb529
+DIST firefox-136.0.2-es-MX.xpi 440813 BLAKE2B 
063313908692fe702c2eff808ac7c9fb46fe34142975f5aaa9deab21edec7b779b6037a4a7accc26d5dcc8d1f6d7ef84d798fb2e8d63c9e372258033d9ec5844
 SHA512 
01a96849fe194c7a35fcb32f2e42f8bb31d2e84bc290999b1963d75d9b57f0497b6a3055eb10b7b247e2cf1571925b62cc9fd5d708eb656b94754ea9983abca8
+DIST firefox-136.0.2-et.xpi 358259 BLAKE2B 
751398e306accafe3a58440d8fd16470bb783e7e1b3393ca62bb2a307aa338680b72bf7321ba248f9ba8e598dcd364483d34c1ae9f4a2f559cff5191e272f5ed
 SHA512 
e4514129bb181496a18c0807b1779e9265fb2a1f66976420dbedccbf181fb36df79aaea2cf8752651a4874456d9f97e3ddb379806858f333ddcfbb1a390b59df
+DIST firefox-136.0.2-eu.xpi 410903 BLAKE2B 
204b7294a134dd7a07ee5f4aba33bfe7456fb9b906ebc2f59292476c0faa60f2c98badcef35a53482196139d68fead435a7c22caffd5bfd7248c7705416bae3e
 SHA512 
7d6fe25148920beead2672237919170830f046d3a256d83065dc1a0261028bdd92c5a14f0743fa516b1c72b232a640023d7e5ab5b0ec12412c9774c588174c99
+DIST firefox-136.0.2-fa.xpi 414721 BLAKE2B 
455398f1cb4e2081aae127f731a7abcb6a4827925c73d38cb02f6cefe437c9c5bda922cb061665c1568eeccf11780a8c4fff68b5ca93ff534a86d7e6853c1ca3
 SHA512 
5a31a6d4ec1bf8733696ad9c51bcb0a3cdced5a7856ad250e5ed2908c8308285cbceab1ceaf9d32b01c02b6a1c2b381c80d29f0085b2437da59b8a52608437be
+DIST firefox-136.0.2-ff.xpi 311205 BLAKE2B 
58d531879887377e9b10d8b0535124427c5e49aa1432cca16311bc135310b6ef3b50328516192a70376fdcf185032cfffa38f706763ccec7f9df3be2bfd16cd9
 SHA512 
9de7aacc515330716c54e331d92b34384b377ac16f57299a1cb1230ec29d5da8de61ea0c7fe0b8cc4cc219a279c2761f312be7592c6e294f2edc833a98dbf4eb
+DIST firefox-136.0.2-fi.xpi 422716 BLAKE2B 
53f5f9b4b33f4b25e275ff8e2fbb6be0187056912f5f7686623976e62f130761fc6dd8be7ac5f20cdd7c8c3aeb493fbfbebcb6704a7ac528f76c57c557faa9f2
 SHA512 
d4e3b240417de2326a6ac6657ab7c1066e2072dc9db47bc57519f1d0dbcb7a9508729dc0f38364e956d2ae43fc0489d70722291cd359cb7a1f0b4109d7db71de
+DIST firefox-136.0.2-fr.xpi 452373 BLAKE2B 
42ffc97865295b59038d23f773fcdca419004b6e2b3e52a2f55dc14cdd7030a3c4e79daf034d49376e812837ea39dd06f212b6ddeffd76ee8d17f7d33930bc31
 SHA512 
d04b76422056a2d5f0098232ce2bd82f125f4ca8b4937d6a10c75a68f590e805e73cd5f94f386e4a6c81b373a01e718fb2f2c449f1b0e4af9dc99c5fb10b5e5f
+DIST firefox-136.0.2-fur.xpi 445643 BLAKE2B 
597d1fca711d4c17536998cee7f827715314cefb8434e90a02a494fff0f23fce5bb9539414045fcef61e42a379e13829421cf787702d2eab92a76733a100c5eb
 SHA512 
b719549ab91b11936c19cd58cecb4188816ff4322f2acf7ab38fcc8e06884406fbf70ac7f0833f9273bca3a1a2d2ed453fc59108354fde7157f461dc8b933e64
+DIST firefox-136.0.2-fy-NL.xpi 436292 BLAKE2B 
66246ba48aa5afcdcb3873a9a15455d71166e9e9f702500fcfece495a7a1ae7f1ff0abad892f1898d21ffda2803dc5044850a562fda93dcd6bb36e75e39293ad
 SHA512 
07d0671030010bab8c8c7a364a423281469e082414915ea5272c82e0b4c94edc31ef915a2d8e617f3783dca17bbfb06297e2637a33a60e6be4e6463428d63bea
+DIST firefox-136.0.2-ga-IE.xpi 307228 BLAKE2B 
cbbd06cc2138c62cc300c6fd6e5f1554d7665d47ef24f4a6b84990659f77229b5dfa279cccc114c2999ae11e1f28ba0c2e2ab0108c9030233c25e06a5072fcfe
 SHA512 
cd93423381a4a470b81ec66676f40f4db4b7861bfa03bd250c17f762dcf35f87c00978b7a4ab44eaed10eb77735031a462fa0d2d6c2eacf90ec9cebb66f2f31a
+DIST firefox-136.0.2-gd.xpi 402404 BLAKE2B 
7557967bfbd99af5a099efeefc2e2ed0555f10a91de59c876c892e8b12404ce50612ea29f81e530c3ea627fe28ad14e63d33937fc3d6f9a829d6ab8871883483
 SHA512 
c728a46d10bd9a5a9b0436b38061a0acdd703d8663a4af2cda6fc992b2e3777fe63a5813dcda7e4c5bf5927c50f5c16af8bd66f942c172105376e26aa8cc6604
+DIST firefox-136.0.2-gl.xpi 406512 BLAKE2B 
591275d91526bc4a21e58950fd500390523562a4812ec46aabfbe28f09dba03f6a487d19bbe802aa1a1ee4ae5d476f1cfea80872af7ec8ff9c3414379d4c05ff
 SHA512 
5bdb89d87342687e6a8945e199cd473c709e2ec20b412bd298ff982f7ff55dacd8ca5a1c7765a013c9aeb725945fad8f78f0abc76b745cfb372db204b636e888
+DIST firefox-136.0.2-gn.xpi 443147 BLAKE2B 
b7463118084e98fa9fe514e1eda9b1f3a596b5200a5eaf84ce57e110fb1c312569fe8c5e4cf6244d8524a717e39e1f6e41e39e732e8983fcff04b5915e9ee89b
 SHA512 
742a0ea979e8ff7f2d00fbe0bced3cd1ff24d60f448592500540b8ef7301c45c3a26ee2d967338153c63e184c2fe0a57aaec72ac6fc61e55a8ba2e0fec373a6c
+DIST firefox-136.0.2-gu-IN.xpi 360244 BLAKE2B 
b1869ff70691b1a608cd7cc1b8aa02a3a1d9b82c8b647186c206f9a1de70fe8777993606bb9e2c3c80b39fa58d800d963c69fcc861f41eb7c72d1e4e7589f29e
 SHA512 
be330c78540006cd269a95e3b406a5a98a2e2b4e239faa588edf143b9017d44f10c3becb1111a1281b00d6a4d5b5b44152fc96b11bff080333747e97d5453f33
+DIST firefox-136.0.2-he.xpi 437506 BLAKE2B 
94df4107b9b31433b6d2b49c769f71f153e8a9b98e8b867b51a7000c314a6f46b9110f9ed47d84122874c21b37513bdc68ccc899fc91e540edc436a10bbc2dd4
 SHA512 
30e45a6b2976d58c2662dfe17a90ca107a5c6c8c6bdfa42a4280d7b818edeae22e10349702dd865c8c471ea4bb5aaebff18ddb7d00c91b938b6bcfcb3bd97a7e
+DIST firefox-136.0.2-hi-IN.xpi 378743 BLAKE2B 
f0a733dfe0a21040937150efbe7e874b5877c1a6334e679a00dabafd3e73342a0e3dac65a4068716c7e34dff419a3b3a7a4b91fe5446af6cc571b78c8c210a5d
 SHA512 
2f791d91d075990e0fbc36e9e66ed4e65db21fe128cf1f597c2f30d579127f2ce8b3bc72e9c0c2e3ba5b650cfc9cbfbed30dddc645d2bb7021a6093f738d6e2f
+DIST firefox-136.0.2-hr.xpi 430724 BLAKE2B 
bde9472da9fbec877a418ac86786328e9dc33f517f4533853209ef77bc2e3dc79f7c858bdd3defba36a68ec0af2b7973fd3e57f2bd75e751a583314dd9b8195a
 SHA512 
1dbb54dfe879f619f512bfa24fa6b86fedc1068b3f343da3dcd68685ad38f4e60ee3e0ac4a08d75fbbb1264cd0d6cf10e05103178aee7d6e8efa79985bec5c4b
+DIST firefox-136.0.2-hsb.xpi 456429 BLAKE2B 
9d726420d66b6551880c7e4ea9a9091c92e9d4b312f0ba2d5dc9b87affd4fc47f278b995c6cf6720cca8d98b38739289cc594cae789485f18afe6b84747bd07e
 SHA512 
8bf9d6e2d2253e79e4ba0a60265400294ea36dd25e122a2c35d2cd95b6222afcdb55e07f50d7338d72630750759784eacbd00c645b1a655c4b3a48be5415584d
+DIST firefox-136.0.2-hu.xpi 460482 BLAKE2B 
8085e66c18bc713a9e7481cffc1e8611bb4780f136cc3ce1943fdc2d9a039ab6a78aec574789950e447c604ffbda06dd2081a4b898189f9b68ad930083e7df32
 SHA512 
eb63ddeede18d601684594d26c5c020815c91b6ba2cb9ff66ceda9a35d4326677a9dfd67ab47d732f8c8fa55d7b551a094330267f756db1801d41ab2411a7ce8
+DIST firefox-136.0.2-hy-AM.xpi 447328 BLAKE2B 
5e93adf7ce7bf7712aed39a1a23802c08c28e21595de87b3bb63effd4486bca435c23e12e044c5c2df3645155127eb5e51619e941d24bd830d585d0ebbae154b
 SHA512 
e2f673e1b3393e6028c3b4c473a7890d9a91fb4ebc346b45b2bbb14c9a412d81a361b732fcb1afa6167816ee031555c958bd80d722f612d84c441cb19c28b6a7
+DIST firefox-136.0.2-ia.xpi 424456 BLAKE2B 
4e22ca63a629c2380c95b09d04ffef70c6042d9b127d87bf6ff98911e48c307d3ce3bb0149c801b8323f005a80569545f623fe9f2c0bb69139913be1d022c059
 SHA512 
6b368558a1c838d65e6c0a84d7a6900bd9da6dbae784509c934dee709cbd361c70a0c07f6930a13eb83720db89d743bedbc1eae78f529285ed0e2b975d693ea0
+DIST firefox-136.0.2-id.xpi 414319 BLAKE2B 
7ea041cd5ff8576b21a4f2e2793f7c3f3edd9ec1f55956d17e2cbcf762c5a0864d4116bcb38274aa4eab0f11d96566f3f58fc1f0ec13ab61bc5f59cf2732e2fe
 SHA512 
52f76772e55506f0cf693a68a12e9e83b64425d1da1ac76d588642f4f1d52bc9bfdda47bb1a8556b5d0ee80ec1aa4fba33739dc860fcbb90e61a561b2b171e2f
+DIST firefox-136.0.2-is.xpi 429690 BLAKE2B 
dff7c4edb7a81ef6bd92c09e21fb02aa60fb49c09027f289a7488d83e9d1af6dfa2e8f890016a2f83f63b889340404b1bad2a985fd1011b64c80c90751bb729b
 SHA512 
0c1fe873848b26e897dd33ac81cb88cc031b64aa8da10a52902f7a1c37aaa67378530508dcb9aba89d8cb0a85593ed8b268c81228b4dc9ea9900437100364310
+DIST firefox-136.0.2-it.xpi 434977 BLAKE2B 
0620bba42f0b5a54a0f27dead65245a5072f542d88a4a7c3db981bcbf1adde6df646c9764cefaab0f97dbbf15a851dfae12e059fd85d8b2efaf4086fe7e50876
 SHA512 
f44cc5a0a90245c437fa858608bd311c4b852a1c4db21a76899caafef6159dcffb0cf20e51bdc940e089db101f29a8432dc3fd6dad625859f4e80390f28c3f40
+DIST firefox-136.0.2-ja.xpi 475075 BLAKE2B 
73d463eb0fdf1d9d3a797f7f1d7387a65a65c94082b9b4af6036c49372accd0e13d22ce2221a6a5684f4684c292ad26218c3652a087648c9f64c2ca4f3513fb0
 SHA512 
ba5d22cebabf4677f1c804ad8f674194684388b38d471d9caf4697664b8a69a723e60b268c0a20709d65d3a1fab8fb77007fc19ef9d38a75f6a97fff2bae5a80
+DIST firefox-136.0.2-ka.xpi 487948 BLAKE2B 
f2b271eac7d06ee47e747cdc06e52afb90d9a3b9e20f34e427c71a4e8336fecb469a4590487afb2fbe9d758be70c73af949e4bc108fc0d69e131055cbe04dc55
 SHA512 
6783b6bfe35c7cb38139659dc0a89b63c86a881d19f630d2be356d0b771f95ac9e01201fcc2d6cbd3dadb9d72e19a7be7e0855fc83c76807921f10d8dd370b17
+DIST firefox-136.0.2-kab.xpi 414024 BLAKE2B 
047103d290647f889a2adf14223ae1a4149301e6978468b6f89dd340360ef63964b37401daa53be7720bd2d8cd4505709e222ce98261dabfc8579fa06d29b1bf
 SHA512 
849f025f8720205702cdc21854d9da734264f21fb4406ec6b3e7a8c61ed4d340212226a1fd7c1ecb629e86b112b9400a1405ba11d053b5191a80a850ee169ba6
+DIST firefox-136.0.2-kk.xpi 501972 BLAKE2B 
bf5700a8ca13f00cdb8fa5be635e34241cd61d166eb3640b49ca66170a3a91e0373339b09e331b865bca0c7bb4541a9e119702d20469f6807826480f92da8eba
 SHA512 
559134a369adace3d233c7b835a22866be6bbb0a522858699b5c04d0c2ca7ecbbaef2dd34ab276abf3907b19b08460799da60c4f8d529577f9381125168ef4d9
+DIST firefox-136.0.2-km.xpi 350113 BLAKE2B 
314ad53f107869ef4bc311b59dd49d1aba09ef1e0b46da5f362a10924ead5f02cb914ac82eb42de82e1ec2d1f79ea32e782a02ecb78633414164996185ef4d20
 SHA512 
c0c51d16e9dc714000d3527b718d58fe1d5c717223373460419a0b0d6001472a5e72626bceaef04649e5b794f95720cd200712baa7129239b761179d94deec0a
+DIST firefox-136.0.2-kn.xpi 332794 BLAKE2B 
39b57e32c64ffa75877392a2bb637b4a0cfd4031ae031445d0e9b6af5512653aedfc13a9e3ad3f5a5b0b027c849d22dbdcbb53b647fdf5476fc416d1f86808e2
 SHA512 
1e40a5527841efdc685748c66dc9ecc2ab1c7f85b907a373604926045e5dde6822c2c83049306cc62a6317d3516a7e63de868b0a43c127a6aa51621dbd6d67b9
+DIST firefox-136.0.2-ko.xpi 461342 BLAKE2B 
49c8d2783fd3a6e7dbbc5218ce84bd8ef993d4ef90778a009c81c18bf77f3cc31db1a8ab031c12fd1f581f417c57cfd953ca528395e61d5da863b15bfa35a1a7
 SHA512 
4e0d98e1be42bacfee9ac93ece616bc20cfcffdf0685d4d192cd1048daf8b679431576ac17d3cad8494bc604e527da878c1f85d32eddbbde2b96ba2fdff6444c
+DIST firefox-136.0.2-lij.xpi 319132 BLAKE2B 
c2a6ab9d56ad91915cc8fda2cbf787c8da691001bc551c8e42f24bca7c9972f1e8a4d932984ba8a70228180e2c6f23d905a2c024d22c9b45a1ae134b7ce77a68
 SHA512 
820e36fd4126445ed59ba224db0f291a4c8d4b94586f33ccfea3c5edccc6e1049665553790cedb5320d050ec4e946d5a436d3133a73bd8853190f0b5762d8bce
+DIST firefox-136.0.2-lt.xpi 382126 BLAKE2B 
f557eced0c63acce19ccf7bb7d57a9bc7680f997eb373c5fb281c7dfb9aa49afac43d430bdbd5c55502e9226caa247434cb5f27984ac6fb9f816c316607d66c5
 SHA512 
015ce43c918c2e82c53f480700226246ac79d7044d1dbf513ea91d7aa1fe445bb964065a35988d0c8e85db32902ecc04ecff0afb77019c2a2c6ba75a91097edd
+DIST firefox-136.0.2-lv.xpi 390638 BLAKE2B 
989d58a0d479804e0ea294372f4522f0e3ed9b186e251433417dd8895adb1f2a5bbe7eb3e7ae9c3b58b185849af80d618a9becc297bde56483a099d216b25205
 SHA512 
45df33911cb046bb495004b812c6a65717563f3db6b8ddc8ed880ef23cea07800a4073ebb81ccfc7eb3b61d2589c2e0b6a0338a2f49eb40ef4207111cdf276d7
+DIST firefox-136.0.2-mk.xpi 318442 BLAKE2B 
7bca62a2aeb76c90ae168a93ee4176c2a6ea7ee415b1c099ceb956fb945201410ac364e4f739ab956eee163365451fd9d0f7e53dd128cafaaba8d5f1623bdb16
 SHA512 
f4210595c9a0424191724d102f3fe6ece8f8516a94f75865ec291e3c05acc802461a0736166dafe4535bd5b5829f1a50538f5ac1cfa6bcaf0dc455cb10a4220b
+DIST firefox-136.0.2-mr.xpi 357288 BLAKE2B 
8c10f08e54a6bfe81f78668446982be386ebb31cf0f5974d7f5eda14f74b908213ac92e7aa22443545a87e8318d1f25021728d2005428f97a7737876b7ba6118
 SHA512 
6e93b1451c394c03079bc880aceabbcdb4184d5507e25614130ce21cb3890c56a7b0e48d062186489c8bc91256457c31daa2aed3f388f22ad785d4d08c51630d
+DIST firefox-136.0.2-ms.xpi 296084 BLAKE2B 
1d14aba7a95a24014dbac36d99807342c1a5667062cfd298dd744ca8c48ca99d7463b5bfcb9dcf641202f38aa182e053f09a922febcf9110c3b957573b77c701
 SHA512 
6cd3bdcd6c71eedc796af7ebed9f3e0642ee01664d5b6d1e85e1f6c2631f06d9e7c5c8809d690b15ff3e21cf5bae767cadf77fc849651acbfd7e4e68dc746293
+DIST firefox-136.0.2-my.xpi 344211 BLAKE2B 
08874e9a735954f879e226ba4795eefba923ed93491ccbed83319ac56ace4ba5f45ccb9b4b639b6fb82d669faddf36349354f1886b5fa70b892f79e3693eb3d7
 SHA512 
db9a00ee720be4f5234baf69d147e4eb59bb45c1673d0e4d3ca5ba36942ed19dfd76ffcf687d9f44a3d561acfaeac85b4810639738b5d2b2c4ddc7bb0580470b
+DIST firefox-136.0.2-nb-NO.xpi 416124 BLAKE2B 
45626a67730f34a371853d5b41a901b1ba9a9e76800e82a46464f3576fa21771af0d9e262e2f0efa3f86d48c291a62a9d85c5c8ed8e584b1fb9ace93c1d2a790
 SHA512 
f975d60577d4ebb38bd05c72c261488f5a7269c8e58d80cd17d7b9a99b1077a80defa2bfa9f1232a00460bdfeaeebf2298bea579431ba848d6181858d19bef3f
+DIST firefox-136.0.2-ne-NP.xpi 350383 BLAKE2B 
78c7da8705c5a21b3d7f506f7064627ee618453c9a5fa78ef799ca5765196d17456586050974503dbf21084219abc07e7a708417c92e5012ae96d5051e61a04e
 SHA512 
4036a09a4dac7640d1176617cf315944a74f25399cf65b04f9878c9ae5356ecfc0aea893a82cbe2f6132aa63072ada29353ace031d644dfb387cc81bb5878f9b
+DIST firefox-136.0.2-nl.xpi 430390 BLAKE2B 
a0c7465baabd2a4b8634b25789879cf21493b13cd89594599904c8aba623294bdcdcdac4220fb1fb4e24992df9117576d8480a5f746f5b080ff9e36c630e951a
 SHA512 
c3d26d13fbbb5b90cf3b6729b58598a4bc002f3ed30a19f18153242bc5351596b2d584dcb804857f5083ad877dd547cd95578ca52edcb18b66e8eba1fd9f97e2
+DIST firefox-136.0.2-nn-NO.xpi 421294 BLAKE2B 
30f1dc52c4551a577b89713ad728035364bd6343f17f84927b98aeddcd461961ad9df6513e3a510ed86588684cddb80af8357736ba89c404b5f2e39cc3430689
 SHA512 
11acdb0196c96f03311b9b28c5d0b5ef3e563491ebb83dd3f6980bcf737f67d7977c1a4aa201e34c0066ceb947d8403d7502182fda6236b199cfdc70c46c5e4f
+DIST firefox-136.0.2-oc.xpi 415665 BLAKE2B 
1c33c2a05f5cdc90404fb3f8b55ae903f5cf97115c2774c055044b34deba6ef748fd051d926492a42f9d84a8b0edab885d33838a06d0a014bfa4a0b8b50a4bac
 SHA512 
12df6a5e656e32fbe588681324334c930d15ab3fec7487382b463106858b64c246bc4ec5bfe3370c02e7d34081dbc9146560e19e39c79bd5f5863c96d613abcd
+DIST firefox-136.0.2-pa-IN.xpi 489839 BLAKE2B 
4dda593ed4afaedf66c288d658b66679d8f94359ad65d0a18bf7567d153528152e4d5e65a801cea17437d342b0fdb55a0d385b88e3de25d17601830c120f30b4
 SHA512 
6ee0ee34306f0df9b984714a8ff0ac7f0a294713b24e65d02d28652d2e9cc787efa45d7aefb1f02a0ea08c14ed132ceb8a6ce88636e7abe71cdbb06312a94ec7
+DIST firefox-136.0.2-pl.xpi 450701 BLAKE2B 
4dac31164d978c73467f756236ea94ef93c26c52682d2e5e24ce23d1409f68ee9a16d198226edddc9370be5eaa2f1d84d251e10ce278ee2dfd29283812bc736e
 SHA512 
a68e5e2d80d030a06c462a3bf1ea48bb15b8e128de53486b1b0d2ab5ce3b30175cbe296590820dbe234d7ab01ad97544337bf358ed1ad25a6febf973ae0ff121
+DIST firefox-136.0.2-pt-BR.xpi 434764 BLAKE2B 
10f93c12497964452e24bb4241816ed8cec4bbe38432eeef4c66f371b28f48f7a7b5368c28f13d1fd4d5dc878f6e20a4f90bd1e788dbbff4e13f9f762134459e
 SHA512 
4a454c64bda30e6f7b1fef118d393dfdeeafe169c5fc1ac343b4ff34db8018bfcc3e78d55b218f1c47399a10cc542de817e96bb076041e1f9c3d5b63cd91611c
+DIST firefox-136.0.2-pt-PT.xpi 440559 BLAKE2B 
867014302296d29d4209f791c2d9a17000744b5878816084f01012a39fdfb5b38f2bdce14f49718d3726ea279166a1c54e9172007a63c479df1d37a3dfea591b
 SHA512 
f1d22b570fffc3521a94d7184d9870ffa7013c44262942a043f0c4de5ac70bd333ccf23299955075576e23ee5139cefb01d01f927833641553b1dfa53dc3d5b9
+DIST firefox-136.0.2-rm.xpi 434104 BLAKE2B 
2cd400102556fe9cc3c4b6e71b91ca6075b764499a9922e49dc59ef517abb7e9f5e4c1e1967b7648bb4a2393ac01e893f7d2b92ce3fd6edd266ba74d0c2c8ce2
 SHA512 
d85d4d07ff42b65705344babacf906311649406e24b668d42526b4bcc29b50d99920f14d744e1acfe42afef02184b61765a2a66611d910c1d5b7f271d0b17b74
+DIST firefox-136.0.2-ro.xpi 363408 BLAKE2B 
7e61b615a9d0e54e0de1700a7d1eac1a2fcabdb48b8f59fe716a4e1070e5b2dff427d1c527c76571f7c4e88df73115f8b2a74a3449e73d0abdf34635a4224721
 SHA512 
44840aed486e6d155e5cc41be5eed6a44daaaf889c238d4598378e200dbd7449d3adcf55d9d0040203eb687201c977905f8795e7f7f1add1f2fccd4ceddcdcc3
+DIST firefox-136.0.2-ru.xpi 517917 BLAKE2B 
af4f00fb425ff27862dccecbbe7c354422ca07a01519276b0c637f0faa6bcd31e3fcec817be9ee2714f32b3654f0af71a79aff2e78ebb6f5c80982bbe20e639f
 SHA512 
080192c2f0be97fc9afa115cad4e6b3627996bc22522e174aacd471e1302f8230ffe3a6a1c20ad70e5360c15fdcc3c5e3f338896cd8b89ff4fe83fe2c0f27462
+DIST firefox-136.0.2-sc.xpi 403792 BLAKE2B 
1e8e3d5eabea22337f853fcac31c97fab4f4b498944ccfdba208a6136956433568647a08b6ddfca844d7c67431ba4f2c349605fd56866915b0e2754e493cf535
 SHA512 
9bdc075ab05ce4c91568cff6bba03d6e6f4846cd99536d876641df647ef649c1346ec5151c27a15de9d12e813ca905321c09f7fc4c43f5aa0d93449777e02513
+DIST firefox-136.0.2-sco.xpi 324877 BLAKE2B 
81db2d2d5f4ab6f1a9df9833f090edc72497a6b35498cdc8ec8ff4a7e7e2b736d8609565ba2353d6ed3f3808aff27e6624e6d836ba5e819f11e4004a411b44e9
 SHA512 
346d0e57a036f90ff317ae5d1883544883bd8cf8bac85a4bed778794919c18fea8d0978d34aba0ed3236fe45ffa1abf5c07d519abf227521eeb709b8fa64a550
+DIST firefox-136.0.2-si.xpi 414021 BLAKE2B 
2b8c0659b0e1e6294622bef085a81c08f6cc4f3953ecba620468106e2f89f173a173f8eaa03441d07ab7d3884edb49748665372f54a584349d28c90c3f7340e0
 SHA512 
e8dacc68d6727606f5a2f74062a4bec03c5b84102f1b68f553e63ebaad82d5203c738586e1a29219f2a600fc23892676be4b57c9e73fc5fd9b5a9468848cbfaa
+DIST firefox-136.0.2-sk.xpi 461604 BLAKE2B 
e7ac831f34a3cce9885dcfe9ff2c2e6b2d66d3b80d73736995bb857fb828e31114f51a4678e2bbc3f23fbec1857891bf5d6b1e50edfa94c34560c0a7142c94ba
 SHA512 
d073fadee898b9286a40e8c182a9fa8ef8c49fc019016b0af81dcb5fb946a8baf81018ec3b01c820b51a65294e5f3c2be5a4f6e5156daccd732aaf6180e422cb
+DIST firefox-136.0.2-skr.xpi 494194 BLAKE2B 
35cb2a2dacdc4f0548373052fe05cee969a41dbc5e23b856e414c0913d100789fcf9e05b0aead9b6400b935005ce6486e802832aec4eaddfdb345eec51db6c2c
 SHA512 
648c58557fd42b43a1bef0e03edae4c278b3ae24addb25e7e48a2d1678ece19bec8f0863a3088d4f722a61a695f873ef9bfb90810459a9582da98f69e885f997
+DIST firefox-136.0.2-sl.xpi 433450 BLAKE2B 
9d6ab3e2a9de53850257fc529a9353d7eaeaa09c3e18da5856cc4ccedc4d004ffb765af6ff5ec057784430585d9345fb39bf374807a4e43e149ab58c702fa8ee
 SHA512 
2563701d2c91992de8aab1123a9c55e4f3c809c4eba48d68b974dde2b353080e36f338c57fe1bced3be3be7b4c496c9e7a008788d6a17dcf2c7cec0ef93967a8
+DIST firefox-136.0.2-son.xpi 273286 BLAKE2B 
496aa6a298ff07b14b19614ea67d1b9576658dc3c83e68b66261a1c0739c810ee80bf617be7a4f36d5c3ae5b8f296763ac55776ff3dd8122e84c46d9baaf7991
 SHA512 
dbd3fec9efdafaa8fd8acec20b18e926a13527610177268f8db390dc2f5e8d7dced0d2224f6907cdb874fc4c080067610742121fc223e07e6b3f9369b6a95d87
+DIST firefox-136.0.2-sq.xpi 449794 BLAKE2B 
4b4f2e254e61ad75d732aa154c85015c8d96b8bd345dae5b135a3467c5db597ad0488b5c2ce98eda4457be0e73900e8a85ae720794ac9658bf83285fc82b19ef
 SHA512 
e2731266d0eb3ed30e3820c15e6bc19338696e157008a8053e0359333269aeecad6fa38425cc41a454e22c273d822c6732f9be395b39523a908d64a39f261d60
+DIST firefox-136.0.2-sr.xpi 456462 BLAKE2B 
0d2c3d7e7e1a77c09eff575b0f15cf5381f9a1c9b1f9be4d0d8b6fcc06ae00b793ae27527b2c2a78eb7fdd7e54025d9452a21f4a658003b64b8b8110cc61f0ed
 SHA512 
2180f0238d0205078e3cc70cf633f5f73e7928eb7bd267539eda3d7a08d003aa27d4494fc306d2048717fbe1589b963fda299d11e3f5aa5d97ab681f472f54db
+DIST firefox-136.0.2-sv-SE.xpi 430467 BLAKE2B 
ad7b0b2d0bc1ef528324677bd06ab18d60eed28206b5e5b15c02a9bde377df228b70521a9e8760d7e889e79ffc7aec8166e903f114ee6f972d72ebd2b4819b2c
 SHA512 
2a0ceba183af37994e7165f843b28631faf268472c1e9b3f06fe22b2a42d7995b4bd1d044ebc55c26df028163427f5dda1fab76b3469705e01128f84b02ffe4c
+DIST firefox-136.0.2-szl.xpi 344445 BLAKE2B 
d3c0088114052b142b4c0307b3ea6b7cbb8d8dace892a11c6688fc8a970802dc78d88889930da2211598ef69a6c34a2bf5cfbeabdf6cb1946674ab5f9cc10620
 SHA512 
e3a9678ef46f27bbf2078df41f5693ea32d21549465c99011d4364d697140f86ac012c52761cd2815c083b75a9af5b009c8be195f6b120799a43e82b9b3ec218
+DIST firefox-136.0.2-ta.xpi 338574 BLAKE2B 
091685d96d18f81f795d2c18165bb235cc4824037fc72171efd3fbbfed412f20fd5564eb23ce1639d82eb4d0042e739609bbf8ae3e1ef05c9f2df09d459fcdb6
 SHA512 
d3f4de914c6dc1c3269d763f630bda0bedb540a364e3251326ec1a95de39416937e319105f642c1cab37b5ce9533f3510f44446f84876de3169e1cd3903ef280
+DIST firefox-136.0.2-te.xpi 384054 BLAKE2B 
6ba6a2e960666493c9a3077cca7eb848275870d435eea041bdf671414dcc86866f29b8adbbd6a08f153022309fb382b72d92992d55acffc41fcbc3cbead130d6
 SHA512 
9eb37652b61e59f400e099c4f090c00068ac0fd89316c279b0292bc447c1289332a85f2dbecb81ad1d2aca614e0c6ae0aeaffeb05c4d3f855fe1aff22a86be04
+DIST firefox-136.0.2-th.xpi 499241 BLAKE2B 
652e543ef32cdba55e8ae5f25f9d0cc37891b245ac794c79de9c43314c4fdaa2cf48810d5cbe69436426cc7b69d48171ebb362d911c324dc594e01f5b4dc091f
 SHA512 
89e84a9ad94d9102fb97a83a0092c14f1298a6d09b1d4aa30dba820da47b4bffee4ac0502ff01e0e33cb3fb3c1cc0c1998d94572264b97a025dcd87d9ff5dd7d
+DIST firefox-136.0.2-tl.xpi 351827 BLAKE2B 
dd778cc0380672290245c56c5d00db98ba14dd491fae5b55613fa0b6a5489ec9bd40471072319e5f8d2b752b28e20d41196e8392108b07898042cfbbf396d4a6
 SHA512 
5ad4f628818e8ceb1d1c9947c3ec95fb17ffc7b9817adf7105a0a1fdf8e4257b08c5716cbf9c6f8bcae428a759a6a83aad0663a58533ea7b9b288518ed21cfce
+DIST firefox-136.0.2-tr.xpi 442276 BLAKE2B 
037909f5c974d898d96ef713ac523e8bab31b7c369556c3c762331e795845d0138dfc686ea48345d57c5f9ed4af275609a2ac2b1f1101872e81bb23df2553c53
 SHA512 
0da592c81259e68c39007642d8f0bb41a58c59ad976c542828f93db289283b621afc10c05b9e713263f4e656b06d8517af1ea2136aa55e050d1f6eb95bc7ec22
+DIST firefox-136.0.2-trs.xpi 323919 BLAKE2B 
093ee98532cc81905e0b66f53181801bb4ff014db27b428ad6f4db235319a5f0650e1de4c69948850a33c1136c40d7499d4a6d51b8f918755aa25bad7a985900
 SHA512 
48b605db4e4fdc97d6df275eab55e03364fc14da3ae227aa37f2679f3c75b1905cfa2e61f3f0661670be5519126572d72a8576077097a40a18caa73c588aa023
+DIST firefox-136.0.2-uk.xpi 508657 BLAKE2B 
ac37d3e1d8d3ff27fe8faea02fe8877a0044ddc99383167368f6c9571ea11872241afa1c1477e304a78730481cdc707de2b5ac4394e170acd196fba21cfdfe65
 SHA512 
bbec67e2230c465a69c088890fbc5d91edb116d00ba6b05ab19662d5199c78560626f8df9dac53057bfcc0975ce2281d2bc8096239252f977c8302eeceb654dd
+DIST firefox-136.0.2-ur.xpi 371885 BLAKE2B 
103b601473db4ae25c763b241e6ccfdee2bda7b9a1de6c0fdc2c91919bb36315819b861959c12866b91fdabd588bd216582247cbc794165930a6a0a4d1febe71
 SHA512 
0701e57cc64ca1a4251d35e71cea0fbb47a04b2d81fd3b9aa3b66390d51fb4b1d96231a15db82f6b69686d886e0cb792d18b0535024b708555f6bce730e6f159
+DIST firefox-136.0.2-uz.xpi 305441 BLAKE2B 
9160ea1b7245f2ce560e01f2a8e7a3ada6f61db58d8668cb630f2ef1802a66aa2eab2cc4a311fece77b5eded157a5983ff25282b391bfdca352cce75957271a2
 SHA512 
25bc8bf95b8c0e9d0e0a92f0892db2f56bce0ab6517d9f7f1b494de5e2c8f059f2b18d919cae13a43e1dc8160fa2395bb2ce961b40b5ef03016c51cfc49a59d2
+DIST firefox-136.0.2-vi.xpi 463336 BLAKE2B 
1e28d8f57cac1d84cdf32f783b3f0db3f47602e09de38ade44e6668ddf14eed6f9aec9a4dac8c27fe5d7a06978d9431b90613fe564ccd398e2e56e7748bb0e02
 SHA512 
6aa53417fc2bb95d1bbfb7a9a8791bc0bd69cd3ed83220393244407b14b935926668462c47b2ce1da809ef33656f3c64a232c54ea8f329a85f0246a8788f0ee3
+DIST firefox-136.0.2-xh.xpi 273267 BLAKE2B 
e15fd34f3462e3e2ba12af675ab7256c46812614789f22f1f578278537e385444b6aa3d8d8a3b6da49e609e9ad92ffedd102b65f4c32e494f08ecefce2be24dd
 SHA512 
f18ac320b5888c1ee3158262af2372cea56545e1d5c69494c7058192c083adacb83b64a87e2751f52b206633e7c13527f2743cdeff05344dd0852ef8383a3a1d
+DIST firefox-136.0.2-zh-CN.xpi 454843 BLAKE2B 
8ca76457ea41a9a5d7b1b9e710c508febbc333f9aca1ba65c1b199f76cf0c1ea18d38fd398b2aa8b3d70e205f47931f65a22403dc16c048ac7ff489aab53f51f
 SHA512 
d1c96b194a4583e3aae13b1327fc6c201a609abd407a48e5c1538d4e797595e23e2e00d48aacdb41a0bc8eb04ab6ef11ae9c8dec8a4382ff582244f6da08e5cf
+DIST firefox-136.0.2-zh-TW.xpi 457679 BLAKE2B 
128b68f4259e577ef6052185d96a1da4d790f8af55629b4fbd87a857baa50d2a4c6b0543dd15c2df807280de9c37f4a4689db9b1aa9ea40aa6f2dda52958e1e9
 SHA512 
d09d68b50b720677135e5b2e476b15ab467f45a40744c07ec0367c9a4fccd3cd708cb0e852bf50189c549c44e3a24048a016e652d95b06838a83e946034406ad
+DIST firefox-136.0.2.source.tar.xz 605916808 BLAKE2B 
0ad6578d153ece5c696bc879ba6417aaba79fb28a3bb85060605e11d12f67225cce3b95c8176382c7f079563a2d34b46b707d01d186fa47ca7a3cfc1bcac3720
 SHA512 
50dfbedb6bd513a3c6cf90558d7c6993cc78558cccc69fcc882f8e54eb8e8bec9779dce6fb7211c1a0234ac4a189438c5fa55ee9d0d06fcbae5cf44778af2ef1
 DIST firefox-136.0.source.tar.xz 603708216 BLAKE2B 
05f92682dc756998f1dd56cdbbf8a90a45cade9d8541e83edbbef07ce4cb66e6a3bfdef5e59bd824b2d6b13c49c6a587e9302779064deecd68ba6dbaf9300f9b
 SHA512 
a2b7e74e8404138b294f7b3c5f1eaeaeb8ce84c9aad25379e8ec785a9686f42def9f8c119d4bc276dd371d13d7bebbe4b1b092af41500aa8c2b2c827971445b4
 DIST wasi-sdk-25.0-arm64-linux.tar.gz 115160800 BLAKE2B 
1ce22aaea87d0720d40d46ebdd96508c8fb0593b53c4489022fd5a1a9afb043a26a6e162a992d73454f612f2b6ab01e17a99c189c0c8b8c2d2d68fd96fabee1b
 SHA512 
ef4eff22c1efec4dc5ab199d09d93ee0004f9fa67b32cac0030f8b6a40def10f714391cec8e803c200995dd8bfad3ebad9ec79b4195aa6b2ea61ea47a8b9e61f
 DIST wasi-sdk-25.0-x86_64-linux.tar.gz 114450290 BLAKE2B 
07618828d4c25d67421aa72d38fc49bbff9052b8ecfe0fa9f4207e71880e9c650f458567cfa5bd389d5f830fcfee89142a77d33c29e7bccd1da7ddba2bc47b95
 SHA512 
716acc4b737ad6f51c6b32c3423612c03df9a3165bde3d6e24df5c86779b8be9463f5a79e620f2fc49707275563a6c9710242caca27e1ad9dd2c69e8fce8a766

diff --git a/www-client/firefox/firefox-136.0.2.ebuild 
b/www-client/firefox/firefox-136.0.2.ebuild
new file mode 100644
index 000000000000..908ddba0033e
--- /dev/null
+++ b/www-client/firefox/firefox-136.0.2.ebuild
@@ -0,0 +1,1371 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-136-patches-03.tar.xz"
+FIREFOX_LOONG_PATCHSET="firefox-136-loong-patches-01.tar.xz"
+
+LLVM_COMPAT=( 17 18 19 )
+
+# This will also filter rust versions that don't match LLVM_COMPAT in the 
non-clang path; this is fine.
+RUST_NEEDS_LLVM=1
+
+# If not building with clang we need at least rust 1.76
+RUST_MIN_VER=1.77.1
+
+PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+VIRTUALX_REQUIRED="manual"
+
+# Information about the bundled wasi toolchain from
+# https://github.com/WebAssembly/wasi-sdk/
+WASI_SDK_VER=25.0
+WASI_SDK_LLVM_VER=19
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+       MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+       # Convert the ebuild version to the upstream Mozilla version
+       MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+       MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+       MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+       # ESR releases have slightly different version numbers
+       MOZ_PV="${MOZ_PV}esr"
+       HOMEPAGE="https://www.mozilla.org/firefox 
https://www.mozilla.org/firefox/enterprise/";
+       SLOT="esr"
+else
+       HOMEPAGE="https://www.mozilla.org/firefox";
+       SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info 
llvm-r1 multiprocessing \
+       optfeature pax-utils python-any-r1 readme.gentoo-r1 rust 
toolchain-funcs virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}";
+
+if [[ ${PV} == *_rc* ]] ; then
+       
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}";
+fi
+
+PATCH_URIS=(
+       https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+DESCRIPTION="Firefox Web Browser"
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> 
${MOZ_P_DISTFILES}.source.tar.xz
+       ${PATCH_URIS[@]}
+       loong? (
+               
https://dev.gentoo.org/~xen0n/distfiles/www-client/${MOZ_PN}/${FIREFOX_LOONG_PATCHSET}
+       )
+       wasm-sandbox? (
+               amd64? ( 
https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz
 )
+               arm64? ( 
https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz
 )
+       )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio 
sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-jpeg 
+system-libevent"
+IUSE+=" +system-libvpx system-png +system-webp valgrind wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry 
wasm-sandbox"
+
+# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being 
llvm-19 based, and
+# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19 
is already stable in
+# Gentoo so it should be widely adopted already - however, it might be 
possible to workaround
+# the constraint simply by modifying CFLAGS when using clang-17/18. Will need 
to investigate (bmo#1905251)
+REQUIRED_USE="|| ( X wayland )
+       debug? ( !system-av1 )
+       pgo? ( jumbo-build )
+       wasm-sandbox? ( llvm_slot_19 )
+       wayland? ( dbus )
+       wifi? ( dbus )
+"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+       selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+       $(llvm_gen_dep '
+               llvm-core/clang:${LLVM_SLOT}
+               llvm-core/llvm:${LLVM_SLOT}
+               clang? (
+                       llvm-core/lld:${LLVM_SLOT}
+                       pgo? ( 
llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+               )
+               wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} )
+       ')
+       app-alternatives/awk
+       app-arch/unzip
+       app-arch/zip
+       >=dev-util/cbindgen-0.26.0
+       net-libs/nodejs
+       virtual/pkgconfig
+       amd64? ( >=dev-lang/nasm-2.14 )
+       x86? ( >=dev-lang/nasm-2.14 )
+       pgo? (
+               X? (
+                       sys-devel/gettext
+                       x11-base/xorg-server[xvfb]
+                       x11-apps/xhost
+               )
+               !X? (
+                       || (
+                               gui-wm/tinywl
+                               <gui-libs/wlroots-0.17.3[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.108
+       >=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/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-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"
+       use loong && eapply "${WORKDIR}/firefox-loong-patches"
+
+       # Allow user to apply any additional patches without modifing ebuild
+       eapply_user
+
+       # Make cargo respect MAKEOPTS
+       export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+       # Workaround for bgo#915651
+       if ! use elibc_glibc ; then
+               if use amd64 ; then
+                       export RUST_TARGET="x86_64-unknown-linux-musl"
+               elif use x86 ; then
+                       export RUST_TARGET="i686-unknown-linux-musl"
+               elif use arm64 ; then
+                       export RUST_TARGET="aarch64-unknown-linux-musl"
+               elif use loong; then
+                       # Only the LP64D ABI of LoongArch64 is actively 
supported among
+                       # the wider Linux ecosystem, so the assumption is safe.
+                       export RUST_TARGET="loongarch64-unknown-linux-musl"
+               elif use ppc64 ; then
+                       export RUST_TARGET="powerpc64le-unknown-linux-musl"
+               elif use riscv ; then
+                       # We can pretty safely rule out any 32-bit riscvs, but 
64-bit riscvs also have tons of
+                       # different ABIs available. 
riscv64gc-unknown-linux-musl seems to be the best working
+                       # guess right now though.
+                       elog "riscv detected, forcing a riscv64 target for now."
+                       export RUST_TARGET="riscv64gc-unknown-linux-musl"
+               else
+                       die "Unknown musl chost, please post a new bug with 
your rustc -vV along with emerge --info"
+               fi
+       fi
+
+       # Pre-built wasm-sandbox path manipulation.
+       if use wasm-sandbox ; then
+               if use amd64 ; then
+                       export wasi_arch="x86_64"
+               elif use arm64 ; then
+                       export wasi_arch="arm64"
+               else
+                       die "wasm-sandbox enabled on unknown/unsupported arch!"
+               fi
+
+               sed -i \
+                       -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \
+                       -e "s:%%WASI_ARCH%%:${wasi_arch}:" \
+                       -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \
+                       -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \
+                       toolkit/moz.configure || die "Failed to update 
wasi-related paths."
+       fi
+
+       # Make LTO respect MAKEOPTS
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/build/moz.configure/lto-pgo.configure || die "Failed 
sedding multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || 
die "Failed sedding multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed 
sedding multiprocessing.cpu_count"
+
+       # sed-in toolchain prefix
+       sed -i \
+               -e "s/objdump/${CHOST}-objdump/" \
+               "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py 
|| die "sed failed to set toolchain prefix"
+
+       sed -i \
+               -e 's/ccache_stats = None/return None/' \
+               "${S}"/python/mozbuild/mozbuild/controller/building.py || die 
"sed failed to disable ccache stats call"
+
+       einfo "Removing pre-built binaries ..."
+
+       find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) 
-print -delete || die
+
+       # Clear checksums from cargo crates we've manually patched.
+       # moz_clear_vendor_checksums xyz
+
+       # Respect choice for "jumbo-build"
+       # Changing the value for FILES_PER_UNIFIED_FILE may not work, see 
#905431
+       if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+               local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+               elog ""
+               elog "jumbo-build defaults modified to 
${my_files_per_unified_file}."
+               elog "if you get a build failure, try undefining 
FILES_PER_UNIFIED_FILE,"
+               elog "if that fails try -jumbo-build before opening a bug 
report."
+               elog ""
+
+               sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 
16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \
+                       python/mozbuild/mozbuild/frontend/data.py ||
+                               die "Failed to adjust FILES_PER_UNIFIED_FILE in 
python/mozbuild/mozbuild/frontend/data.py"
+               sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE 
= "${my_files_per_unified_file}"/" \
+                       js/src/moz.build ||
+                               die "Failed to adjust FILES_PER_UNIFIED_FILE in 
js/src/moz.build"
+       fi
+
+       # Create build dir
+       BUILD_DIR="${WORKDIR}/${PN}_build"
+       mkdir -p "${BUILD_DIR}" || die
+
+       # Write API keys to disk
+       echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+       echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || 
die
+       echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+       xdg_environment_reset
+}
+
+src_configure() {
+       # Show flags set at the beginning
+       einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       local have_switched_compiler=
+       if use clang; then
+               # Force clang
+               einfo "Enforcing the use of clang due to USE=clang ..."
+
+               local version_clang=$(clang --version 2>/dev/null | grep -F -- 
'clang version' | awk '{ print $3 }')
+               [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 
"${version_clang}")
+               [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+               if tc-is-gcc; then
+                       have_switched_compiler=yes
+               fi
+
+               AR=llvm-ar
+               CC=${CHOST}-clang-${version_clang}
+               CXX=${CHOST}-clang++-${version_clang}
+               NM=llvm-nm
+               RANLIB=llvm-ranlib
+       elif ! use clang && ! tc-is-gcc ; then
+               # Force gcc
+               have_switched_compiler=yes
+               einfo "Enforcing the use of gcc due to USE=-clang ..."
+               AR=gcc-ar
+               CC=${CHOST}-gcc
+               CXX=${CHOST}-g++
+               NM=gcc-nm
+               RANLIB=gcc-ranlib
+       fi
+
+       if [[ -n "${have_switched_compiler}" ]] ; then
+               # Because we switched active compiler we have to ensure
+               # that no unsupported flags are set
+               strip-unsupported-flags
+       fi
+
+       # Ensure we use correct toolchain,
+       # AS is used in a non-standard way by upstream, #bmo1654031
+       export HOST_CC="$(tc-getBUILD_CC)"
+       export HOST_CXX="$(tc-getBUILD_CXX)"
+       export AS="$(tc-getCC) -c"
+
+       # Configuration tests expect llvm-readelf output, bug 913130
+       READELF="llvm-readelf"
+
+       tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
+
+       # Pass the correct toolchain paths through cbindgen
+       if tc-is-cross-compiler ; then
+               export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} 
--target=${CHOST} ${BINDGEN_CFLAGS-}"
+       fi
+
+       # Set MOZILLA_FIVE_HOME
+       export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+       # python/mach/mach/mixin/process.py fails to detect SHELL
+       export SHELL="${EPREFIX}/bin/bash"
+
+       # Set state path
+       export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+       # Set MOZCONFIG
+       export MOZCONFIG="${S}/.mozconfig"
+
+       # Initialize MOZCONFIG
+       mozconfig_add_options_ac '' --enable-application=browser
+       mozconfig_add_options_ac '' --enable-project=browser
+
+       # Set Gentoo defaults
+       if use telemetry; then
+               export MOZILLA_OFFICIAL=1
+       fi
+
+       mozconfig_add_options_ac 'Gentoo default' \
+               --allow-addon-sideload \
+               --disable-cargo-incremental \
+               --disable-crashreporter \
+               --disable-disk-remnant-avoidance \
+               --disable-geckodriver \
+               --disable-install-strip \
+               --disable-legacy-profile-creation \
+               --disable-parental-controls \
+               --disable-strip \
+               --disable-tests \
+               --disable-updater \
+               --disable-wmf \
+               --enable-negotiateauth \
+               --enable-new-pass-manager \
+               --enable-official-branding \
+               --enable-release \
+               --enable-system-pixman \
+               --enable-system-policies \
+               --host="${CBUILD:-${CHOST}}" \
+               --libdir="${EPREFIX}/usr/$(get_libdir)" \
+               --prefix="${EPREFIX}/usr" \
+               --target="${CHOST}" \
+               --without-ccache \
+               --with-intl-api \
+               --with-libclang-path="$(llvm-config --libdir)" \
+               --with-system-ffi \
+               --with-system-nspr \
+               --with-system-nss \
+               --with-system-zlib \
+               --with-toolchain-prefix="${CHOST}-" \
+               --with-unsigned-addon-scopes=app,system \
+               --x-includes="${ESYSROOT}/usr/include" \
+               --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+       # Set update channel
+       local update_channel=release
+       [[ -n ${MOZ_ESR} ]] && update_channel=esr
+       mozconfig_add_options_ac '' --enable-update-channel=${update_channel}
+
+       # Whitelist to allow unkeyworded arches to build with 
"--disable-rust-simd" by default.
+       if use amd64 || use arm64 || use ppc64 || use loong || use riscv ; then
+               mozconfig_add_options_ac '' --enable-rust-simd
+       fi
+
+       # For future keywording: This is currently (97.0) only supported on:
+       # amd64, arm, arm64 & x86.
+       # Might want to flip the logic around if Firefox is to support more 
arches.
+       # bug 833001, bug 903411#c8
+       if use loong || use ppc64 || use riscv; then
+               mozconfig_add_options_ac '' --disable-sandbox
+       elif use valgrind; then
+               mozconfig_add_options_ac 'valgrind requirement' 
--disable-sandbox
+       else
+               mozconfig_add_options_ac '' --enable-sandbox
+       fi
+
+       # riscv-related options, bgo#947337, bgo#947338
+       if use riscv ; then
+               mozconfig_add_options_ac 'Disable JIT for RISC-V 64' 
--disable-jit
+               mozconfig_add_options_ac 'Disable webrtc for RISC-V' 
--disable-webrtc
+       fi
+
+       if [[ -s "${S}/api-google.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 
}') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+       else
+               einfo "Building without Google API key ..."
+       fi
+
+       if [[ -s "${S}/api-location.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 
}') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-location-service-api-keyfile="${S}/api-location.key"
+       else
+               einfo "Building without Location API key ..."
+       fi
+
+       if [[ -s "${S}/api-mozilla.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 
}') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+       else
+               einfo "Building without Mozilla API key ..."
+       fi
+
+       mozconfig_use_with system-av1
+       mozconfig_use_with system-harfbuzz
+       mozconfig_use_with system-icu
+       mozconfig_use_with system-jpeg
+       mozconfig_use_with system-libevent
+       mozconfig_use_with system-libvpx
+       mozconfig_use_with system-png
+       mozconfig_use_with system-webp
+
+       mozconfig_use_enable dbus
+       mozconfig_use_enable libproxy
+       mozconfig_use_enable valgrind
+
+       use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+       if use hardened ; then
+               mozconfig_add_options_ac "+hardened" --enable-hardening
+               append-ldflags "-Wl,-z,relro -Wl,-z,now"
+
+               # Increase the FORTIFY_SOURCE value, #910071.
+               sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' 
"${S}"/build/moz.configure/toolchain.configure || die
+       fi
+
+       local myaudiobackends=""
+       use jack && myaudiobackends+="jack,"
+       use sndio && myaudiobackends+="sndio,"
+       use pulseaudio && myaudiobackends+="pulseaudio,"
+       ! use pulseaudio && myaudiobackends+="alsa,"
+
+       mozconfig_add_options_ac '--enable-audio-backends' 
--enable-audio-backends="${myaudiobackends::-1}"
+
+       mozconfig_use_enable wifi necko-wifi
+
+       ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' 
--disable-unified-build
+
+       if use X && use wayland ; then
+               mozconfig_add_options_ac '+x11+wayland' 
--enable-default-toolkit=cairo-gtk3-x11-wayland
+       elif ! use X && use wayland ; then
+               mozconfig_add_options_ac '+wayland' 
--enable-default-toolkit=cairo-gtk3-wayland-only
+       else
+               mozconfig_add_options_ac '+x11' 
--enable-default-toolkit=cairo-gtk3-x11-only
+       fi
+
+       # wasm-sandbox
+       # Since graphite2 is one of the sandboxed libraries, system-graphite2 
obviously can't work with +wasm-sandbox.
+       if use wasm-sandbox ; then
+               mozconfig_add_options_ac '+wasm-sandbox' 
--with-wasi-sysroot="${WORKDIR}/wasi-sdk-${WASI_SDK_VER}-${wasi_arch}-linux/share/wasi-sysroot/"
+       else
+               mozconfig_add_options_ac 'no wasm-sandbox' 
--without-wasm-sandboxed-libraries
+               mozconfig_use_with system-harfbuzz system-graphite2
+       fi
+
+       if [[ ${use_lto} == "yes" ]] ; then
+               if use clang ; then
+                       # Upstream only supports lld or mold when using clang.
+                       if tc-ld-is-mold ; then
+                               # mold expects the -flto line from *FLAGS 
configuration, bgo#923119
+                               append-ldflags "-flto=thin"
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang and USE=lto" --enable-linker=lld
+                       fi
+
+                       mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+               else
+                       # ThinLTO is currently broken, see bmo#1644409.
+                       # mold does not support gcc+lto combination.
+                       mozconfig_add_options_ac '+lto' --enable-lto=full
+                       mozconfig_add_options_ac "linker is set to bfd" 
--enable-linker=bfd
+               fi
+
+       else
+               # Avoid auto-magic on linker
+               if use clang ; then
+                       # lld is upstream's default
+                       if tc-ld-is-mold ; then
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "forcing ld=lld due to 
USE=clang" --enable-linker=lld
+                       fi
+
+               else
+                       if tc-ld-is-mold ; then
+                               mozconfig_add_options_ac "using ld=mold due to 
system selection" --enable-linker=mold
+                       else
+                               mozconfig_add_options_ac "linker is set to bfd 
due to USE=-clang" --enable-linker=bfd
+                       fi
+               fi
+       fi
+
+       # PGO was moved outside lto block to allow building pgo without lto.
+       if use pgo ; then
+               mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+               if use clang ; then
+                       # Used in build/pgo/profileserver.py
+                       export LLVM_PROFDATA="llvm-profdata"
+               fi
+       fi
+
+       mozconfig_use_enable debug
+       if use debug ; then
+               mozconfig_add_options_ac '+debug' --disable-optimize
+               mozconfig_add_options_ac '+debug' --enable-jemalloc
+               mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+       else
+               mozconfig_add_options_ac 'Gentoo defaults' 
--disable-real-time-tracing
+
+               if is-flag '-g*' ; then
+                       if use clang ; then
+                               mozconfig_add_options_ac 'from CFLAGS' 
--enable-debug-symbols=$(get-flag '-g*')
+                       else
+                               mozconfig_add_options_ac 'from CFLAGS' 
--enable-debug-symbols
+                       fi
+               else
+                       mozconfig_add_options_ac 'Gentoo default' 
--disable-debug-symbols
+               fi
+
+               if is-flag '-O0' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O0
+               elif is-flag '-O4' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O4
+               elif is-flag '-O3' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O3
+               elif is-flag '-O1' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O1
+               elif is-flag '-Os' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-Os
+               else
+                       mozconfig_add_options_ac "Gentoo default" 
--enable-optimize=-O2
+               fi
+       fi
+
+       # Debug flag was handled via configure
+       filter-flags '-g*'
+
+       # Optimization flag was handled via configure
+       filter-flags '-O*'
+
+       # elf-hack
+       # Filter "-z,pack-relative-relocs" and let the build system handle it 
instead.
+       if use amd64 || use x86 ; then
+               filter-flags "-z,pack-relative-relocs"
+
+               if tc-ld-is-mold ; then
+                       # relr-elf-hack is currently broken with mold, 
bgo#916259
+                       mozconfig_add_options_ac 'disable elf-hack with mold 
linker' --disable-elf-hack
+               else
+                       mozconfig_add_options_ac 'relr elf-hack' 
--enable-elf-hack=relr
+               fi
+       elif use loong || use ppc64 || use riscv ; then
+               # '--disable-elf-hack' is not recognized on loong/ppc64/riscv,
+               # see bgo #917049, #930046
+               :;
+       else
+               mozconfig_add_options_ac 'disable elf-hack on non-supported 
arches' --disable-elf-hack
+       fi
+
+       if ! use elibc_glibc; then
+               mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+       fi
+
+       if use valgrind; then
+               mozconfig_add_options_ac 'valgrind requirement' 
--disable-jemalloc
+       fi
+
+       # System-av1 fix
+       use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+       # Make revdep-rebuild.sh happy; Also required for musl
+       append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+       # Pass $MAKEOPTS to build system
+       export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+       # Use system's Python environment
+       export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+       export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+       if ! use telemetry; then
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_CRASHREPORTER=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_DATA_REPORTING=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_SERVICES_HEALTHREPORT=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_TELEMETRY_REPORTING=0"
+       fi
+
+       # Disable notification when build system has finished
+       export MOZ_NOSPAM=1
+
+       # Portage sets XARGS environment variable to "xargs -r" by default which
+       # breaks build system's check_prog() function which doesn't support 
arguments
+       mozconfig_add_options_ac 'Gentoo default' 
"XARGS=${EPREFIX}/usr/bin/xargs"
+
+       # Set build dir
+       mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+       # Show flags we will use
+       einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       # Handle EXTRA_CONF and show summary
+       local ac opt hash reason
+
+       # Apply EXTRA_ECONF entries to $MOZCONFIG
+       if [[ -n ${EXTRA_ECONF} ]] ; then
+               IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+               for opt in "${ac[@]}"; do
+                       mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+               done
+       fi
+
+       echo
+       echo "=========================================================="
+       echo "Building ${PF} with the following configuration"
+       grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+               [[ -z ${hash} || ${hash} == \# ]] \
+                       || die "error reading mozconfig: ${ac} ${opt} ${hash} 
${reason}"
+               printf "    %-30s  %s\n" "${opt}" "${reason:-mozilla.org 
default}"
+       done
+       echo "=========================================================="
+       echo
+
+       if use valgrind; then
+               sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g 
-O2"/' .mozconfig || die
+       fi
+
+       ./mach configure || die
+}
+
+src_compile() {
+       local virtx_cmd=
+
+       if [[ ${use_lto} == "yes" ]] && tc-ld-is-mold; then
+               # increase ulimit with mold+lto, bugs #892641, #907485
+               if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+                       ewarn "Unable to modify ulimits - building with 
mold+lto might fail due to low ulimit -n resources."
+                       ewarn "Please see bugs #892641 & #907485."
+               else
+                       ulimit -n 16384
+               fi
+       fi
+
+       if use pgo; then
+               # Reset and cleanup environment variables used by GNOME/XDG
+               gnome2_environment_reset
+
+               addpredict /root
+
+               if ! use X; then
+                       virtx_cmd=virtwl
+               else
+                       virtx_cmd=virtx
+               fi
+       fi
+
+       if ! use X; then
+               local -x GDK_BACKEND=wayland
+       else
+               local -x GDK_BACKEND=x11
+       fi
+
+       ${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+       # xpcshell is getting called during install
+       pax-mark m \
+               "${BUILD_DIR}"/dist/bin/xpcshell \
+               "${BUILD_DIR}"/dist/bin/${PN} \
+               "${BUILD_DIR}"/dist/bin/plugin-container
+
+       DESTDIR="${D}" ./mach install || die
+
+       # Upstream cannot ship symlink but we can (bmo#658850)
+       rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+       dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+       # Don't install llvm-symbolizer from llvm-core/llvm package
+       if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+               rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+       fi
+
+       # Install policy (currently only used to disable application updates)
+       insinto "${MOZILLA_FIVE_HOME}/distribution"
+       newins "${FILESDIR}"/distribution.ini distribution.ini
+       newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+       # Install system-wide preferences
+       local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+       insinto "${PREFS_DIR}"
+       newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+       local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+       # Set dictionary path to use system hunspell
+       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
spellchecker.dictionary_path pref"
+       pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+       EOF
+
+       # Force hwaccel prefs if USE=hwaccel is enabled
+       if use hwaccel ; then
+               cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+               >>"${GENTOO_PREFS}" \
+               || die "failed to add prefs to force hardware-accelerated 
rendering to all-gentoo.js"
+
+               if use wayland; then
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
hwaccel wayland prefs"
+                       pref("gfx.x11-egl.force-enabled", false);
+                       EOF
+               else
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
hwaccel x11 prefs"
+                       pref("gfx.x11-egl.force-enabled", true);
+                       EOF
+               fi
+
+               # Install the vaapitest binary on supported arches (122.0 
supports all platforms, bmo#1865969)
+               exeinto "${MOZILLA_FIVE_HOME}"
+               doexe "${BUILD_DIR}"/dist/bin/vaapitest
+
+               # Install the v4l2test on supported arches (+ arm, + riscv64 
when keyworded)
+               if use arm64 ; then
+                       exeinto "${MOZILLA_FIVE_HOME}"
+                       doexe "${BUILD_DIR}"/dist/bin/v4l2test
+               fi
+       fi
+
+       if ! use gmp-autoupdate ; then
+               local plugin
+               for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+                       einfo "Disabling auto-update for ${plugin} plugin ..."
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to 
disable autoupdate for ${plugin} media plugin"
+                       pref("media.${plugin}.autoupdate", false);
+                       EOF
+               done
+       fi
+
+       # Force the graphite pref if USE=system-harfbuzz is enabled, since the 
pref cannot disable it
+       if use system-harfbuzz ; then
+               cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
gfx.font_rendering.graphite.enabled pref"
+               sticky_pref("gfx.font_rendering.graphite.enabled", true);
+               EOF
+       fi
+
+       # Add telemetry config prefs, just in case something happens in future 
and telemetry build
+       # options stop working.
+       if ! use telemetry ; then
+               cat "${FILESDIR}"/gentoo-telemetry-prefs.js >>"${GENTOO_PREFS}" 
|| die "failed to set telemetry prefs"
+       fi
+
+       # Install language packs
+       local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name 
'*.xpi') )
+       if [[ -n "${langpacks}" ]] ; then
+               moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" 
"${langpacks[@]}"
+       fi
+
+       # Install icons
+       local icon_srcdir="${S}/browser/branding/official"
+
+       # Prefer the upstream svg file they use when packaging flatpak so it's 
always up-to-date.
+       insinto /usr/share/icons/hicolor/symbolic/apps
+       newins "${S}"/taskcluster/docker/firefox-flatpak/firefox-symbolic.svg 
firefox-symbolic.svg
+
+       local icon size
+       for icon in "${icon_srcdir}"/default*.png ; do
+               size=${icon%.png}
+               size=${size##*/default}
+
+               if [[ ${size} -eq 48 ]] ; then
+                       newicon "${icon}" ${PN}.png
+               fi
+
+               newicon -s ${size} "${icon}" ${PN}.png
+       done
+
+       # Install menu
+       local app_name="Mozilla ${MOZ_PN^}"
+       local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+       local exec_command="${PN}"
+       local icon="${PN}"
+       local use_wayland="false"
+
+       if [[ -n ${MOZ_ESR} ]] ; then
+               local desktop_filename="${PN}-esr.desktop"
+       else
+               local desktop_filename="${PN}.desktop"
+       fi
+
+       if use wayland ; then
+               use_wayland="true"
+       fi
+
+       cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+       sed -i \
+               -e "s:@NAME@:${app_name}:" \
+               -e "s:@EXEC@:${exec_command}:" \
+               -e "s:@ICON@:${icon}:" \
+               "${WORKDIR}/${PN}.desktop-template" || die
+
+       newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+       rm "${WORKDIR}/${PN}.desktop-template" || die
+
+       if use gnome-shell ; then
+               # Install search provider for Gnome
+               insinto /usr/share/gnome-shell/search-providers/
+               doins 
browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini
+
+               insinto /usr/share/dbus-1/services/
+               doins 
browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service
+
+               # Toggle between rapid and esr desktop file names
+               if [[ -n ${MOZ_ESR} ]] ; then
+                       sed -e "s/firefox.desktop/${desktop_filename}/g" \
+                               -i 
"${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini"
 ||
+                                       die "Failed to sed 
org.mozilla.firefox.search-provider.ini file."
+               fi
+
+               # Make the dbus service aware of a previous session, bgo#939196
+               sed -e \
+                       
"s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox 
--dbus-service \/usr\/bin\/firefox/g" \
+                       -i 
"${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" ||
+                               die "Failed to sed 
org.mozilla.firefox.SearchProvider.service dbus file"
+
+               # Update prefs to enable Gnome search provider
+               cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable 
gnome-search-provider via prefs"
+               pref("browser.gnome-search-provider.enabled", true);
+               EOF
+       fi
+
+       # Install wrapper script
+       [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+       newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+       # Update wrapper
+       sed -i \
+               -e "s:@PREFIX@:${EPREFIX}/usr:" \
+               -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+               "${ED}/usr/bin/${PN}" || die
+
+       readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       if ! use gmp-autoupdate ; then
+               elog "USE='-gmp-autoupdate' has disabled the following plugins 
from updating or"
+               elog "installing into new profiles:"
+               local plugin
+               for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+                       elog "\t ${plugin}"
+               done
+               elog
+       fi
+
+       # bug 835078
+       if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+               ewarn "You have nouveau drivers installed in your system and 
'hwaccel' "
+               ewarn "enabled for Firefox. Nouveau / your GPU might not 
support the "
+               ewarn "required EGL, so either disable 'hwaccel' or try the 
workaround "
+               ewarn "explained in https://bugs.gentoo.org/835078#c5 if 
Firefox crashes."
+       fi
+
+       readme.gentoo_print_elog
+
+       optfeature_header "Optional programs for extra features:"
+       optfeature "desktop notifications" x11-libs/libnotify
+       optfeature "fallback mouse cursor theme e.g. on WMs" 
gnome-base/gsettings-desktop-schemas
+       optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal
+       if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then
+               optfeature "hardware acceleration with NVIDIA cards" 
media-libs/nvidia-vaapi-driver
+       fi
+
+       if ! has_version "sys-libs/glibc"; then
+               elog
+               elog "glibc not found! You won't be able to play DRM content."
+               elog "See Gentoo bug #910309 or upstream bug #1843683."
+               elog
+       fi
+}

Reply via email to