commit:     10dbd6b1e046c269880f635a7b06b05dbf1e6c69
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 27 11:55:56 2025 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Thu Mar 27 11:57:47 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=10dbd6b1

www-client/firefox: add 136.0.3

 - add a patch from bug#949280 to mls-rs crate which should fix some
   rust-related issues when compiling firefox.

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

 www-client/firefox/Manifest               |  102 +++
 www-client/firefox/firefox-136.0.3.ebuild | 1371 +++++++++++++++++++++++++++++
 2 files changed, 1473 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index e3a1848ed6ea..38e74e688140 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -409,6 +409,7 @@ DIST firefox-135.0.source.tar.xz 613526736 BLAKE2B 
a9309d125b48988bc4e5c6989f2a1
 DIST firefox-136-loong-patches-01.tar.xz 38508 BLAKE2B 
2508fdb9de68bb90edfb3f4a15f79579cd8865cb87ef0a9073c3b740152d857b791cb53c4520a2bdc466f083e7aa6e028a90d44b61b3eea46395f62115b7272a
 SHA512 
e4f83d6a98eb25335de80bf396bfb2d0a362e7509efa898291f524d6fbf20754a278a930d61b3b9727e6b08d8e4959b001c75c2e3f648ce70444b39950307157
 DIST firefox-136-patches-02.tar.xz 12820 BLAKE2B 
efb85458ec65da21bd118b550c5ebe7284d1620613870d83267b5f6bb27ee26ab14b3a417ab4bd359ea48ba78f7de0cc825d443aa7c1c3ecaf4498220255204a
 SHA512 
a981f3adf5b452824804e374ed7a28150b060b8093759c2eed323444d4987f13a1b14b7d29f223e92a97f9727b836dd67291f78f8b3f187deb3f9c6caed1bf1d
 DIST firefox-136-patches-03.tar.xz 13356 BLAKE2B 
b69e64235b2ef72839055a91e9ffc881685675b46884171dedcb13f68710b083318e15ecfe8667652255074ed45fe722c91fa4f54ba457f33774af33a7ebb33b
 SHA512 
b7301a60ccee7b8e870ac57200cd7242e5e2b8fbe8110d539a038f6b74d6fef86a96fc9f3dc2aeb387e636cacc875828d2b02287b8f5f7dbc6c333a900ca75de
+DIST firefox-136-patches-04.tar.xz 18880 BLAKE2B 
af76e197a64a62aedd6a520ae8c6e1ea2257483c1604a9165b382959dc3a8135f75d327e63aab7bc619d030b25a8037d300a3c489aa6e43e59e3fdc3cb6664f2
 SHA512 
702ee3eff9faea18930b488e389b0a13c9523713166afcede8c5ce001a1f34da6ffe4ee0cc5e596a118fe200876144ae5c592e1fb912895d251f28e335c04f5b
 DIST firefox-136.0-ach.xpi 295315 BLAKE2B 
0fda96bd10aae73f01d47b33a48ccf16c678bbcfec98e679792d55428df54d1b43f5cf9c2c1f61fc1f427f0b965b3c7979626287e6b380bcbb83f3f84148034b
 SHA512 
edd4e151809d6699e84e01034b3e4004785957941317bfe9f356b5c37776ff9fd04e80e558ac300d7523d9130f6c82bf7318cf14a332c51eda3f6f6a35c67c8a
 DIST firefox-136.0-af.xpi 266789 BLAKE2B 
863db129ce37d85769615d882b83a3c4f1763a9c610f9b2d13e81d9583b06faa2b49e585517bfee7199098adecd2f4bf2da00be0c352e9f8aa96c92f23628973
 SHA512 
2c00f51278d963b0ff9627fd75621d55914552455a6dd64254981f037d1cc60b0737311006be31b7c75f0d83fccedd3385f6f2ec477f0815b0f9662fc612db21
 DIST firefox-136.0-an.xpi 333332 BLAKE2B 
f0c0adbb05292f85bcd05df172c7d3fe31161f7a1fafdaf8afe02791c79f1f7b45464a8fd8f1d464094a1ab2e19ef24a8dc5e73536618865ecec809c2d20f9ac
 SHA512 
79113bceaf87057153dd09051ee3f91cfd53f739876c385adf427f61313f8a71b355b9e43680b78a1c51929f35e27d336244dfc04236bea5b3714aa51bddef15
@@ -711,6 +712,107 @@ DIST firefox-136.0.2-xh.xpi 273267 BLAKE2B 
e15fd34f3462e3e2ba12af675ab7256c46812
 DIST firefox-136.0.2-zh-CN.xpi 454843 BLAKE2B 
8ca76457ea41a9a5d7b1b9e710c508febbc333f9aca1ba65c1b199f76cf0c1ea18d38fd398b2aa8b3d70e205f47931f65a22403dc16c048ac7ff489aab53f51f
 SHA512 
d1c96b194a4583e3aae13b1327fc6c201a609abd407a48e5c1538d4e797595e23e2e00d48aacdb41a0bc8eb04ab6ef11ae9c8dec8a4382ff582244f6da08e5cf
 DIST firefox-136.0.2-zh-TW.xpi 457679 BLAKE2B 
128b68f4259e577ef6052185d96a1da4d790f8af55629b4fbd87a857baa50d2a4c6b0543dd15c2df807280de9c37f4a4689db9b1aa9ea40aa6f2dda52958e1e9
 SHA512 
d09d68b50b720677135e5b2e476b15ab467f45a40744c07ec0367c9a4fccd3cd708cb0e852bf50189c549c44e3a24048a016e652d95b06838a83e946034406ad
 DIST firefox-136.0.2.source.tar.xz 605916808 BLAKE2B 
0ad6578d153ece5c696bc879ba6417aaba79fb28a3bb85060605e11d12f67225cce3b95c8176382c7f079563a2d34b46b707d01d186fa47ca7a3cfc1bcac3720
 SHA512 
50dfbedb6bd513a3c6cf90558d7c6993cc78558cccc69fcc882f8e54eb8e8bec9779dce6fb7211c1a0234ac4a189438c5fa55ee9d0d06fcbae5cf44778af2ef1
+DIST firefox-136.0.3-ach.xpi 295318 BLAKE2B 
cb3aab3e218a01ed05bc6cc583f98ce9f7a988d6b576bb9b8669fc9ede0546647ae03eb5dc4fa36582849ce7065429484815d72bdcdd37973e34d092608da230
 SHA512 
61a08d37503ae436afb0df71d605dbb055e8ab40d947678285997825ee9b99697bbd17be4d993ec89b0b01d0fb88fe571fd55066fd8b31949d8cdbd08f2f2413
+DIST firefox-136.0.3-af.xpi 266790 BLAKE2B 
68186f1df97c6efa82fae5b729f2946a97c0351989d97277b6ebaa06ff2504e3ffb44b40941e06fce7b92cf3dca604e2112f6e27e9da1fa168f46ded579a9735
 SHA512 
c418605e8e85784302b81fb4134f49bbbbffef753f78cd0d4f4d52a01cd47d5e87591637a12f7d0e48b119e661bf79c522dc607a3c5ff97b93d730cd63473579
+DIST firefox-136.0.3-an.xpi 333342 BLAKE2B 
24f317ceb8452c603dd4e975799b96afafacbf42c43d93b1b0c55f6970666bd70e420c509ec96282513bbf27a228dfc8a8ced079a3ab8a1a44a26b2316292f6b
 SHA512 
cdb296d90655672f475974c1dddf07d44b75cfe222e5824b45b754d1dc24d807279079429a656f16465f40d901a98b0e68a0e9933e47885c35778a4521db867a
+DIST firefox-136.0.3-ar.xpi 431814 BLAKE2B 
c6ce7e343744aea9dbcf4fd4d0feadc0a23a0e84fc5c74b4311c1dbaeaf7f55b19040797718a3fa023cc88cf20a6dd52dfff2d2e1d5ef6f94c085a4cb9fa67c7
 SHA512 
c2ef98ec725414a6b6a97dcc4ed4e683694393425946918ba80b6817fb2ae414f1a5eb65b70661220e30db01a49cad55f73cd38dd9b55f4407e7e23f196c3677
+DIST firefox-136.0.3-ast.xpi 314251 BLAKE2B 
7b63029451ac09999d43fa5673af62235de871e1c9dfaeda0109f5b7985e9daca53a5268bf4ae76b9e67b7b344cbc0915191a3caeff8e8e1a23881898b8d7985
 SHA512 
8720bae6ca9965f2638458e746d09b268f6878936fa7e1c50dfaac02b9562e116e381bbc3096def559da9be9bab52bc873e3fd80aa8cf4c90664f4d6e3ee4cb7
+DIST firefox-136.0.3-az.xpi 319703 BLAKE2B 
acd438fbb074aedbf88beb9e19b899a0537775b7c08c0a7f61bd92804dc39c81b322b4ce52027607e315e62afc4591454423f09d072ba783d034c2ea4c0e6fdc
 SHA512 
d94df2d4ce8713ae9bcd2d6a9a3f5aae0a08580dbec994211e4ad90e28bacaebd2a11f4fff6354d4af9af87ff25b25f14ac03d7e8fd1c74abeb14713ba3f61bf
+DIST firefox-136.0.3-be.xpi 513803 BLAKE2B 
1c8878a4ccc36c21be524cd4de2de3442860f70f3e2469751f3cb5bfce707c917c9cb59d14793775059ecc993ac5e3426a52412d3e80b2fbebc1e74272169ab9
 SHA512 
1894f253bd930d0167b138259e46e35da459ecd31c61b3d4464cdc3c5b5ea4b59fccacb64c70d3942b28a4d7bd19ce8f9bf631fe967965606570ea0d1fede69f
+DIST firefox-136.0.3-bg.xpi 448910 BLAKE2B 
2cb878f21c5fd7a0d536d8cf138269ac0f02358169bf2da592574098c8aaa73de87da9346c7f1b3b59aa98370e5bfaca106e731f243f541f7e3d957b001d173f
 SHA512 
708ac599023e280d6cc4dd56b1fbd23c96e4ba5e02dba1f82e6383d14c9ae6c141d2cc1877f6156cf9576ef24acfa774fa71257044e0878d22190b1ce5d2c491
+DIST firefox-136.0.3-bn.xpi 414163 BLAKE2B 
2a179d210c82158b550fc35d9b6769a803b25820e1c24806ac3403e413d74258ce8736132579c37b3bb5e7e53bed57b4661ec8fbf891c20e0f7c304d428dac62
 SHA512 
dbeb23c84eeb46a09216ffba68f6b07698c7e41513171e969c8acd272f44a4c003030438c3ef1f31bfacf50499f4ae84860dfcf08c4cbf575a3363015d8dfbba
+DIST firefox-136.0.3-br.xpi 394434 BLAKE2B 
a9f38788718311b17067a76e20f720d5c7565443b3b81ddc6e539f56e4804ad1047dd021d3a205481002eb44a6dadc28367ae6796430006fbccba3fe56876d50
 SHA512 
a83ecaf73da5685ca7c108d6ef89f2ac7d291c25af6b8cd4d87b0c7266f9a17c6946c71fe2cf84373a2d8d358f21cc3ec66b3e73eba4b810c2d566351caef815
+DIST firefox-136.0.3-bs.xpi 365267 BLAKE2B 
c474f2840ac46ddf60a4b14502bd4b207dee8d8e3a428be498eed12a22dc743d3a140bd8066d9ca920d83c01a22b31305bb227134187111f7be8e93002bb6c20
 SHA512 
5da912e1947df3154e541f44c284e6fa7f45c34efe2869d4d1199deeef254762597263bf9015d34288ab8d1a6226db3e8e4e9050979a8b975e2ae603138b28c0
+DIST firefox-136.0.3-ca-valencia.xpi 359654 BLAKE2B 
9e8acb79d1389cc2d437eaa556f2f068ec60d213406107ecd7e2b2a63044757db746f4b025be4d190df5e85349d40f44acf233e3dce23dfd6e422902fda0b9b7
 SHA512 
478a6c4effa12434435b7e5bcb070e4a5442bf1d404781941504cbb6cc843bfbe152a194e373bc752308a4fb7ed8e1804e24e8757b4f0e5f5aced3c3c45150a5
+DIST firefox-136.0.3-ca.xpi 400605 BLAKE2B 
2066456ff67981cd6f669a7f6ed26ea2d521282377b3ea543b06c3b98511e1f9c3a653c04c3a7f37664b857035000dfa1379e9b4e00be08358f327fc910fc11f
 SHA512 
cf3ae107c4872880019b14a98f63aa60f4f6d13864bf81f7441d0c016cf27edc924ed5dc4f3b3b470d9680b30d19178a81e3196e7b8374d2f8e2499dd0d9f6a0
+DIST firefox-136.0.3-cak.xpi 394076 BLAKE2B 
881cf0b9ccaf6f2dbba3e216ebef7e7d81595972210ba7bb1a1f59710c254cfc01cf15de1734b065cd2fb389f38a9778af4e34cd38f77cdd36c474b298401b5a
 SHA512 
ec7c14638bbb765f42312e75f884f95680afa1ca8dfe1b02889e6b50eee405bd1a3afb744c798e827a5e282f5de65c5b953e348a40206c05733f9caaab298369
+DIST firefox-136.0.3-cs.xpi 468954 BLAKE2B 
fbe670eab500aab3cdb171e848edaa07cb1ced9a74b0bf62b4eaa4ec6d7d30c4556bb1db5b47515b9c78f434dc2d7cc04eeaf8355399281ebead09a490eebc72
 SHA512 
f389ee7477d6db4eea8cf1e72791e1bc66be9453b77862fddf7670fa63f2261b66231770dcf9da5c7411e7dbc58182b48ea3478ac100bf52302065dd7e835394
+DIST firefox-136.0.3-cy.xpi 435795 BLAKE2B 
d57fd07b8e2af79f9ed120c6e3ab361d00730eabb0d6f77bbbd6b5f2b11d3679c31263150217d5d3987a4a0e41e929cc7b83e65ec06aab9c631aa8d17c887f2c
 SHA512 
a2e7e8aa552ed503046855de53008e3064f0af8cd34de755d0ea76dfc409169c940f3df532af788694e3fe019ddfde63341644a965d7ba4ea85f7dbe33053216
+DIST firefox-136.0.3-da.xpi 425306 BLAKE2B 
15a34d0599b84b7d0def13da3411a704f783c867d2e68697fb2485f53c491cc208fad0c22efbfd2696c25ab909ede5869b4ddecf927e8a5c671e6685befeba7c
 SHA512 
ab7a29c63e698263b5674f24fe09c4bca4387c49c25449cf9d5f2dc0704224b9453fecceb0c1bbbacedb132628e408d70faecb68957d3f0e162bab10544efae1
+DIST firefox-136.0.3-de.xpi 446682 BLAKE2B 
359fcf9678ee988ac4634c422e36ca5d813a5ccca8b53b7ae864d853a215b2462d7c20ebaffb9e8743d2a29570fa261c350ec0a700ab040a23be89e82b1a4a73
 SHA512 
522dc85c4dade4d6b14b0be2d723fc9946c78824c69eab1c10df7de414a8befdc8ef5944d4f8dd9c382ceb969f2f48687aed9c1ffff3dd247ce1d5a8a7702871
+DIST firefox-136.0.3-dsb.xpi 459798 BLAKE2B 
9d6e4f9b4de3bdc768816aebe5c363978696320f6c21fa75963d502bf42e6263fd751e7a3287e6fc2f23d74f5937ab846c09dea9a1eb3dcc60e5f88d4b55d31a
 SHA512 
79e02e75b1693f0f3220d3462cf7e25ecef37b2f04c99ecbe865cb8f8b382ebe6d2aa6b8b874216c291d0ebf3905207f5a0f813ed6ea165f138b7d023cd3a88d
+DIST firefox-136.0.3-el.xpi 529775 BLAKE2B 
b99daec16db285aa2c80c0e16f27604055c361edf843eba0bf7d7e2cd8c523a3f4ea73ca2208b4cf1d66d4a33a594bc06f38a7abfb0785dbb4cd42366088f791
 SHA512 
a861b9cf95d1640c4b585080f44d3d0ab7212f4c4818a6419b44d006bf23827313112263f70c801a1338024ac2384220e2de6e86fe0fbf87ef898ea7d608e779
+DIST firefox-136.0.3-en-CA.xpi 405849 BLAKE2B 
c6f42bf11f750ea2031745642048328dfbab0f4eae95510e99babef51acfff8a0e3a8560ebe87c09234a28be205593a99f3f3bdb7d2e4f62263cdb26f5dbed8a
 SHA512 
422ce6520b1cfd27219d9272bde6a9dbb2c682eadedc770dfc38e96cf2e7a7df7a29f31416f18a0480b7598c09e238dd732096efee30d26dc66c330e6c51cf4c
+DIST firefox-136.0.3-en-GB.xpi 406154 BLAKE2B 
589273eee2c8c242bbb43e772ac943309c48d4d5681e4afce10d979cf56a1b1292cb4335d07a88473af92f63734e7216b152d8280b754d40ebb816c02c25eaa4
 SHA512 
232dd1d7609ab0acb83f4376438dbde17329be7b6388de2eec2a248099dc46da31848a89aab7ed04d1bbe796364c23f692ccd83307a9a493bfa85db0dbcf721a
+DIST firefox-136.0.3-eo.xpi 427687 BLAKE2B 
4abecc1e078db27427c41270a3ae6d97d0bad1003c644c20fc08ee31d184a72bfc958556a0ebc5a13018e1fef2c65af50b3589386df981aa3a825a275ad05596
 SHA512 
5de261f593e71bf47002044e1aa0e6a563c6a4a3638c4b4fe14c2644575243976559ebafcd556dd6754e822b1498d17c2db5d193ff846e24bb553eb48bc8a918
+DIST firefox-136.0.3-es-AR.xpi 439702 BLAKE2B 
9402505b5be3094203fd18e547781950ad3da49af8a8e610303fe85dad852f6975aef8c08a86a42507210e1894e7b126c0e57ff7e187a78396adc24129899355
 SHA512 
b7ddf20e053d8d671fffdde04a4a31765d15b9d99bd8f9e0d8d1119af3017113d5ab8907b44da52a456c089350a9844e77e377f572ba9977d3565090fea2414e
+DIST firefox-136.0.3-es-CL.xpi 440294 BLAKE2B 
fa86b3ac4cc08feec05b11a796857e790b31f3971021df610b5c70074c84402f69a20cc75b2e615db60e7aa2e6917b913d79718a22fc0e9431267fac44d52266
 SHA512 
84d3f437fac257d461d2826b9ef288db9d15f57fb0a99c03df8e03bf4183749a05eab9bad112827c101855a56af2672c4dc02d4cd575a40086b1b42606c5a095
+DIST firefox-136.0.3-es-ES.xpi 441193 BLAKE2B 
29a7f8d43e98cfe0fd31708cef24b461faeb317320b97ca8f258e573166eb406bead398b07d6732275f94e438707e9b6e35334d214643ffc0d4b173261fd90af
 SHA512 
2e71c3265b2dccb0400ff7a81a8e15fc25b2c83b84f266b7f051a86e3dda002c9f27e4346d56245a1d2a0f68218f47a2ec31bc43879ea9e2161028e6b78c8f47
+DIST firefox-136.0.3-es-MX.xpi 440822 BLAKE2B 
957450f745b15736d5d5ac1b6cd0ed243595569e07f60502e8385fb155adc40febd31fb61e952fc7981bdd6aa2c9909439310a03ce7830de8f6b0047dc120e5b
 SHA512 
862b086e87875293ac76f6af767a6a20d5cfb479b7f245d07bce395196f6c25a3e3a86cce0c3fa5030b61b8b2e53644617a35812303d7ae44624dae57f975305
+DIST firefox-136.0.3-et.xpi 358262 BLAKE2B 
f9f61232925683d6dba616a79c4fbbf01566ec38fb578324d84785588b8c9ab33141bca4c623e8a44038190ff74b43586ab6e8424eb98793e7d03be92dda40b9
 SHA512 
1ccf934ef3feab1900443adfaafc02c2701fa6aeb478fab075fa09bbc76cacc890f0d26f6a769f6b05c1e02de05b16b840cb53c1e1e2f8ed1a6fc26c37d160ab
+DIST firefox-136.0.3-eu.xpi 410905 BLAKE2B 
585d7241c0bc82db61a38742b544dc8b76574fc7634f33c23ec581cc4ff9fa3230352c826872c71bc9262a04c3c6edf5aecd839040404a61b57727a7b5e4f0aa
 SHA512 
cf919648e89bf9aaac6e61c9b77a06917a05426223e321d006f5f6be0ef8a64f73026e8b3865268f6d12c9fc8be0b371f7e4aff14f65bb9eeace998965c65f07
+DIST firefox-136.0.3-fa.xpi 414713 BLAKE2B 
d192ffeb70e54095c6101407f659e2e1887e3c9cc7fc7765ac605104d625897a2893f9e45d4b0f3e9cb0caad3727790eb25e2e89fa9376870ecb4f8a2e9c5e8e
 SHA512 
3a7e2af04dd0d04a407ad43a01e0d4a0294065057f59e119154b15e514ca76ac5b1af558d83c9363b03bebf513d98325eb8a05d3224cb7aab0a34203ecebfda0
+DIST firefox-136.0.3-ff.xpi 311206 BLAKE2B 
dec8d715d4f7589cc851f7e3e335613fbad485d3a849d53d0ab29f13852e5a1e821ce021c789a194312fd206fbd8624628b072d5310751d9e52ac7cb132b6842
 SHA512 
80daf8adb737afa8db3c1733d31b75cb305cf0cbe2a2ebc6a07515ccc7902c6b22e2cde1b25ab5fd709ce052dcb146738fbc589327d28ff1ee14f67e269d177c
+DIST firefox-136.0.3-fi.xpi 422721 BLAKE2B 
355996465a59246952b81287f0c87d91fb22fc46df686f1c2b8c2ab34e3e4cf88647313f9e21bdb83e6f396d0f9eb01149ecb5f3c2df162e68db2bd51caf0673
 SHA512 
99c02248579405f3de5c093d126a3d8ab477c3832f25435c1740bd1b2d161ddf3f404def905a7c5d6e5f429d98a0a3b618d1274104322ac282ba7579eb79258d
+DIST firefox-136.0.3-fr.xpi 452373 BLAKE2B 
98c5fa82455294a0a9a1053f21f1477679935eec0c3871cf8fd0a3a05446b1230f623602b0dc15a7bce3ed026ff944056bcbf268d57b57d53e83b358177fb892
 SHA512 
f6bab21c5e31210e8cec3401d046d519af4fc4222ecc2be509f9922a9b3c85848f08fa5c8a6fa759c2471a2b99c5b4569867a45ab049a980f838842e6e67e778
+DIST firefox-136.0.3-fur.xpi 445642 BLAKE2B 
914708ff01b16594aac3e3cc298510466ee0f9ea03c95743297dbfb71446aedf04f6b794906dea04c8b21ea13b0f8e4fa0f6e2cb87170a151a90ee41040b2773
 SHA512 
9574ad45da43e6f6b9866a708417e035f9c95a3c002494a090022ddff84bebeafcd604b53b30930d58ad98fbd327ee65879abcc5f3a6afa8e41013c0b97424c7
+DIST firefox-136.0.3-fy-NL.xpi 436315 BLAKE2B 
d350941a3fc0b5826423299caeb7ee576b60459573a65d739a539257f33ec920471a06dffa4b578d57f21bc6c710921e1258ab0ef8b6699965c81741672f9cc4
 SHA512 
e09cb2f6ab0c9496b2b4d5308cc54c72fd93981a1ea578b33dfb5aa66a4988c110086206bec222de6e8c016838d88ceb979ff7f40d9e149eebd0e5feab1af8e5
+DIST firefox-136.0.3-ga-IE.xpi 307236 BLAKE2B 
8027e678edca3a54afde28ced99aca024e66d8e8d23974a890a667fa202ba0eb8a6b1f2710998ad655a8894d0fff4dd729732558ca0ac89e7bba6ba4d6e09ebc
 SHA512 
9b19d2e23be5d3fe8d0f07934bc35a0e6425610977c7abb155d05ba005c27b6621d63f495e351c7e15f41d3b7d830753f576b0e4abc3cfac40e8e895ceab7c4d
+DIST firefox-136.0.3-gd.xpi 402413 BLAKE2B 
f21e26f1d57a0fd5bf78c2ef425eb0407e3ca5343eee6fcbbaa1fc6c5b877274290522ec7ca7b2805a14dec633fc774f1011cc7a4289036b2349d497b49f5e82
 SHA512 
f6f31f4039ddb1b353295cd974d313502cbf031a6a94bc4fe4d7afe2daf298b7984dd72cdf46a81b53b33e26033ed0b7c8270b2633100ed2738fc2af2018d46a
+DIST firefox-136.0.3-gl.xpi 406510 BLAKE2B 
83f12f3d6f72cfa3db6fc41a8f21937db4fd1b0243a5e0268a8037ad397a790ef28ee33aaf9c1d32aedaa15beae0211d2374e38122bea3be81bd19aa90b59ca9
 SHA512 
ed8c85ae7a2777bf0c9af61153753132709657d31ce790ad61d9012591fadd2ade2c572cfb07db424e889ef88b8748368e0ebd1a178df332631f7e48273f559d
+DIST firefox-136.0.3-gn.xpi 443143 BLAKE2B 
fcb8f6390aeffd27842bdcce0fb3f73cccda53bd3a5caa37d413c30452ff3de3f6a7d1da01eeeef5ffda725a86a3694863abadc9011697f0bcd3ac8f121ac146
 SHA512 
7c2a6dbb3274babc7ac0318c50271365114a118c5342de4a19ac2baf647bf45f7f2c08bb6bf0b5629af093f6adb3e0e06e2f1a6ffb2f2b2a7342e4e44c2d7ca4
+DIST firefox-136.0.3-gu-IN.xpi 360251 BLAKE2B 
a1afdbe5843fa49a105ca9fd9e70798fd88b8429069478d70ce06d4b4cb769683d6f7edb3e3147867a1416bb8af5142b17781852db89de8e586a9e7c56ea8839
 SHA512 
925966794fe1fc191f6553a00f8e83d48e445675b6ed325132984e6310439695442c3b8a516552a6901eabf5df6cf2f1d27501da3c2b7550929ac441ddd5ef43
+DIST firefox-136.0.3-he.xpi 437514 BLAKE2B 
4fc1aa86fc92823b16c449640f0ff6385dc53125bc68670393687a9fa3648529c930798e242820a5ca4434775e65e9cb3511242e5b09d25c3d5cebcbb1dd7147
 SHA512 
3408649f0e8921c9727588fa520aacfd4b66eb5c00c8ba00e8a8f0a4d719cf172164c4802cca47ffe2c7bdb32a0cab34527445fea796816cdcb64e1d272bba91
+DIST firefox-136.0.3-hi-IN.xpi 378749 BLAKE2B 
e7093dec07b16145e20fd5adf6ada699a1a7b78f98719506c3ab4a10b02d67986f03cc626106e592504d85efeb5a40c6b1622da6b1eae4896761fb2dac75b75a
 SHA512 
539e891b56e534b6a15ff04adad073a0ebbde30697c723255ffa2c78d470b331b312c435c97d1c9853d908178cbbc9d37dc60d405eee347047432af794594afa
+DIST firefox-136.0.3-hr.xpi 430737 BLAKE2B 
3e8c8f901b1bbe41ed979b9ac46ba6edf611eaa030549bdd236f99815d7802d05740454c18e8f2c77aa5fc0a5701e13dc9e8391902fc5735c050f3de27be8c36
 SHA512 
3269ba07631f769388770bbfcd8b623a71b96d13463e9417150880140d32ca6d02c319ea52cd24129355f0f418ceabd055305d534774e74562e32330a9af1546
+DIST firefox-136.0.3-hsb.xpi 456438 BLAKE2B 
baee65fdd955c89c42badcced45dfc9a610f4343dbf3b8c328d0d3d2bd1966df52208f15c634467f069c69657552c2045bd6cd3227044975f841bb7fce4a9daa
 SHA512 
6664b5d1c393a0d64a8e5f7d412f49f736b61c1be01aa6010f6a15b61cf2a4781a13b3d02c22b2fe66820a3cd32748857ac4aea6032740ee38ed7ff414585071
+DIST firefox-136.0.3-hu.xpi 460487 BLAKE2B 
7d2a064eb4113e1bb61f4889cde8bb4ae62e7c98b52776ec64b9c81e1e11257e792a72a59b14d5df9f246635283230e2756991fffee63c337afdb53e70bac54d
 SHA512 
0a49cff61ce0dd1d8250e3a19d23fdde68d1b131082b1d5e72a5ae40570ff46b45e82a0c346c3ffbd75044bb37f6bdde34b2791c2c57924e74c2faf141fe6dc4
+DIST firefox-136.0.3-hy-AM.xpi 447323 BLAKE2B 
8789647c8f456f16969ad89db8f326123eb0a8fe416d09d41b7b4b771e9008cfbc9d37931ce2cf4189af02b5c2ce750df2245de7fe19e25ac98c4ef614d65b02
 SHA512 
3ee4cd6367dc243939b8dc182b5d6b739b4486ac864f2287058efaf2d91432a67ecab10ef7a81499940368d75f83fd428c42c919a7838f1e04cc311f85b62e9d
+DIST firefox-136.0.3-ia.xpi 424467 BLAKE2B 
aeefa7e2ba4d2e836e5c9e42ee94e13daaed310853ec4383e0ea4c2e3d6f6880d3e11320777b98c2f5bfc87bc4226048ff614ffa446b864ab8c98042ea84b7f5
 SHA512 
93d21ba9d2ac6c9a9df7004736872f592f0fb13f0a11e364386abf5702998b0d254daa0963f368e1f626ac1d0b1d93168d04d81788ce284fa35a3f91b3978da5
+DIST firefox-136.0.3-id.xpi 414324 BLAKE2B 
d4b97cbb189cdba80ebb7fddd39a9c91d8d0220d1e9b132c5d22616a22b23204e049b5fc997183cb25a083a9a5ccc4897fe7f7b4d4564afb0afb86c4575fcbfe
 SHA512 
5a671b2b254cebea177750c788a00ac513d7aa67b126a50fbfb2514bbe6dfa23ef4839361ffa8d60360a70632b95073ca7ac2337fad04bb758dce1215dcbacf8
+DIST firefox-136.0.3-is.xpi 429696 BLAKE2B 
bef458e812bc3cf4ed4461efc29a61b9f42c5cdf335687cb69542bc59b745b4bd32a08ebbe023a034c0ef64f7704de871d5b4b47e49e9c4ab85d5b67df0a7661
 SHA512 
ef838d6d7f83f0922ff79a61a978cbc755a6be9dd2d1b384aa4a5230602db51f30d23cea1513adb5fd391b7241e8f227355d56bae7ace532c77b8938c50f2597
+DIST firefox-136.0.3-it.xpi 434986 BLAKE2B 
0dab34e170e738267090e6be86914372277e20b3a81eda82f39033bc6bf24d69ee8ee5eb015b3ccb3ad3ce01049c43f94fed75ebdec04a1cf4c866505361b539
 SHA512 
10cf4c20c91ad48db45caa739af3e9429eb4b64852ddd8f056e868096d4f8985a3e822b97f9357b9ffdd9f16bc71200776d32c9331ccd7f209a9732171431fec
+DIST firefox-136.0.3-ja.xpi 475081 BLAKE2B 
b0b6ec2f7685de9168b3afb81e05fe1fe98c5ffc00de9a3f67206074b42381bd302300b872dbb2edb399b86e39f2a2ccb5621bee356c675d0b92ba36770685be
 SHA512 
c63f3ab3949448c9dc6a8bc509f310892f610c2ce956777f0926b9dd3c898d666bcc621d1ada334cca5b26fe6b55a771ebc86c20faccd3f6837f3f3de730f820
+DIST firefox-136.0.3-ka.xpi 487960 BLAKE2B 
10accb224a275607ad50f7bafd4c37d4e7ffdcaa37056d4e04d87dd921bc7758c04ba846a5435b1cae5867c6b0fc78558d04397f5a9ef17ac7c11da99de595ef
 SHA512 
8b971047565e06e6bf19ce14797ef4bc90094d52ae5b2c2c333763c1cf80a527e6fff83324261b17e650d9ac9469eb2aa7442c1e64b592df2bc775275b3abf49
+DIST firefox-136.0.3-kab.xpi 414028 BLAKE2B 
edc2f0e07bffba634e1e5324d9effadbe89c8f9ab47b6084b3d3f177037b30e63857412033a190f5f0f4680a1ff5f8240be5a327340fd982230096d43f2482a4
 SHA512 
3d35920d85961e5d5ecaa0e8e01d7d426025fbd10e90957ef5f1a2e1c74a93373a5af40a93dbb02d929efb61d44236b814996c02ff525e5940ed54911b663373
+DIST firefox-136.0.3-kk.xpi 501975 BLAKE2B 
1359a5604acbb21a1d806aa347758f0b4b500ba30d2e2e1c6e5b0a48fe7abbdcea24a54ae5f00840cecf5d6b00273fc0e26dcc8ddf047e5c33b2dc0b36e4159e
 SHA512 
75257eb521d9a6afa54807a9ea343705351d957cf297256820f5f325647ae7afe337c6acc6868ef3f8b9438ded36dd2468bc70ecffae3046f6bb7fd51d36e0c3
+DIST firefox-136.0.3-km.xpi 350114 BLAKE2B 
3b769b814f6145e006f0dc257ec96e133ce308ffee69c4fbc35968effd00c7ac4f7f10cc7b79fce7e8bf271523d11d8a9e3cf3fb6ab84cf5e79310b777f25aad
 SHA512 
944fb8face7c4451b9e3e235479f97bfc3515fde798e263be4c996d456338d1eb63df864f23a8bf3c2ea6ce849d8f015dedc76130fc1a3cbb1df15f3e215fdad
+DIST firefox-136.0.3-kn.xpi 332812 BLAKE2B 
b8710c5502d865bb8cf5d1183207de63cf786984accd4b1373a406e83e935ff5ad63fd52c0e078d533a2f0b681ab785d9b7c7cfa7c4a9c4fe41a9d9124578cba
 SHA512 
d26fca1a8d2cfff9d42075b475314e2a961497a43848b4385b4d266a1968fa04e405aa773dc5b9e2845a94109f6438b3d6f9ceb29747dfa7dc6a887be964023a
+DIST firefox-136.0.3-ko.xpi 461336 BLAKE2B 
b1888825be6737b958d09919f2279603c55ab04ed4011adfd087d5c84ce9830a6af6105b05b592dd1f9caccfe63ff0430d73b0ae1d758aa650a8d99e0bbb362f
 SHA512 
841e44de495d6eb2b056b35187aa112a32a2d05a74819700032efaf4aa473a841aae3109f9fa6343e31cad1387c15eb3321e5081ccf6aab7f1ddf7d4becc733b
+DIST firefox-136.0.3-lij.xpi 319133 BLAKE2B 
cb981e1c1515af763302a53a5c7d8442b95cbb6e53ec92c67ddd395a806212da65f1d7f56fc8c61376c3ffe4cb290810723d14345785d967ce0009ab4f758f33
 SHA512 
59c2a3c1d95dcdd2e3c8f710193c03bf1be5855baa5e36637ef9fc229fae38db6a9b20cc18f5b89b66b1440a6b24f715ef39f755f1b17bcfbae5026bb8a711f5
+DIST firefox-136.0.3-lt.xpi 382131 BLAKE2B 
cce17ffde8e8be4d21e7a32cb4ee5f937b3be50375190a92f20954ccccd95dc3c94cc51da368777d66163d25b4810e8f58e7af7312df061469734c6255729747
 SHA512 
b92e6f2b0933af9d1931a2ff7a11b4c4a32cdc9cbb94390ae83b0e29dfe2203430b37d8bbb5ddd86c0b723fa21c30c2c205601c46f98b9d52646210542a3203e
+DIST firefox-136.0.3-lv.xpi 390656 BLAKE2B 
4873e1ea8ec0585975de9f18a83e95679cd85a54c29b50a560ba7d49bec5df3b65274d0dcfb0af79247ea27771eeabcb465be2d6d8fad79f6ed4a9cae3b2a4fd
 SHA512 
d77d010db0799df9cb866dd2f4cc7a4cce93cda235f4ee483bd05041231526cdc2b738348b731fecfd385ef88866eb05a5f46913429294f9d57218afa4ac578a
+DIST firefox-136.0.3-mk.xpi 318440 BLAKE2B 
e83a4b425cdb89e6e67564b1b5ff59b1305866668a331902e8b7c994d1fc3b93e090c3cd4c7fe3b86601ae4ead7658214a6c0d37805a761c1ab76e84a17672ad
 SHA512 
821d6494e4ec363e2ff1d40a5c9a5bf22f197347e735ee48ad9e4ad545f0c729510794acd12cd6954c2fc835564e901029dc55ea8c62833791e1cb1e19dd73ba
+DIST firefox-136.0.3-mr.xpi 357289 BLAKE2B 
6c074e9a773b62d6362b4b312c979b471b1b61f07f79ff660693296219c52da85b8e11f927f299042fe3163a7e3c4562c139d8703168c81cc4583dfa2c744322
 SHA512 
0e46f472e5e660984af2a5535cef35d23ad25fbaea615cc7e45bee4fd517a6fb06017868bb02360368ff4cf56476247cca1e6e7c9484c8e75187cb0ab76c4090
+DIST firefox-136.0.3-ms.xpi 296095 BLAKE2B 
02d4492799d4039fa4d264895ff6d69af1b507587f9b09d5efd3f33ac77aa1d3f0de9e35ae6278cdbb03f380a97d1cc664cdc73b0f73de3f3588b936c3725aca
 SHA512 
5ee737abbbbfa32c64e72d79331d2887991e9213d9192b33b7c007fcd597a926713f4780a565753ef720008ea238cb2716ccfe52ae412a36c55dd9cb14eae6ef
+DIST firefox-136.0.3-my.xpi 344217 BLAKE2B 
46f2249efde9bca166184fcfe022e7b9e0e14e2e5692a081d7606d6c3773d46faaf929737a52dbef10776c3fcb88703c516843dd189cb2469a0b34759eb0c128
 SHA512 
704837ee10bb40a247af2c238a205a07cf126c2d90c451960587f96359d1cd509c3d30853384d19e321d63d375fff9110f31a6260619967e82013b5b54491704
+DIST firefox-136.0.3-nb-NO.xpi 416130 BLAKE2B 
c85b71c9c58dcfb131193c49c218a3690043761e446808fd1df4d2e9c25e4d6c76eb05597763af9b687ea443e04fb3fbc0a879c3fa05184f5b63ebf145f4edee
 SHA512 
9785e8c752b5fd8916b08340fef68b6c7d16f1477838879b0ddf0371c1652a2cd1347a42ad09eaba6ed9be991d6aa1fb14b2b54b6b3b94164bf2f6303c9076f5
+DIST firefox-136.0.3-ne-NP.xpi 350381 BLAKE2B 
d82caa196e527fa6fd13478c57afea270b8320cfd1d46db5050bab77e0e0de1bbdac5b9a95438f041d3aa1d38718dbca6061e191de8c5d15d7a2284f24cb185e
 SHA512 
ea8ced5f421ce003130f318bde40976e4c1572f7bb5a2ea9effeb5eabce78f3d89753ae52e1efe522740cf1a5dbc898424883850b248128569bc737274a4d0ba
+DIST firefox-136.0.3-nl.xpi 430398 BLAKE2B 
b0198234179b211d8800724a9465c52de7cf4e6bbedfb81f3fcd47a445bf6504f1b41474345ca7208aa2cfc616f4418549e99bc740ff65ee945e7a2a343260f0
 SHA512 
a2a7a55e022124ce53eb8d2b523f2f097ef784afcc51786ce928b7b718556f94948207de7de9c9da10869a74332326f929cbbcb4b1a6ef23bfadb8a9449f7c33
+DIST firefox-136.0.3-nn-NO.xpi 421304 BLAKE2B 
47d1fffa1f1e9e7de18090d48c22a14e2681492d0f2005ea2c7ecfb07c7842c32aa635f64db6465e04cb5f9cda09173e2e3685ee80130abf4d2cb766b1c3a1c5
 SHA512 
38bec1f55a34da708dfe4b52991f19d6043385a8ef53f22a6392b99e89ea5b521544f2338e52560077910fd3e54bcee753df247758655151ecc35c179fcda324
+DIST firefox-136.0.3-oc.xpi 415669 BLAKE2B 
39b5c16dff9daa37d0b3d7aa7517d10342807fc5921d71b4c554a490db5ac411df90baabcb942dc65514cf84c1f738baba5aa616b5b185cd83c387fb0005fe94
 SHA512 
ecd926858b25e4b3af19647c0b8616a6c94c45d316423ac119255026b50bd440cf13ee84226b07e7f69ec32a250dddcb06cc396e635afa874bf47dd4fa7f45d9
+DIST firefox-136.0.3-pa-IN.xpi 489828 BLAKE2B 
aeaa4b7409b0e99c76230fb5eb35f6f78e901b2790478441b1647edd302bbcaafc6795ff7033e661ec7385b585fa7dc01461a5ce400140b9548a128b196ba07f
 SHA512 
a10e4bcab3f6b58f8a212657e801ab1db287d406c9a7a265def3ba78e4670bea4514cb0bd5d5894d1cbd98031ffbbe4ccf4165d58d345fca39396df9c1ec6cd0
+DIST firefox-136.0.3-pl.xpi 450704 BLAKE2B 
71380684cff158bb7123e677f0cde2e865fc46ea4396fc20cee9f4ec406840483bbac11f2536465ecb96a5b5e3a45e73b22158e32be1480c8bad608d9cf0fdd2
 SHA512 
e55edca8b10a1b2bfc4774e0d5de27a053fff16ce8d3a9f463564fce3d71e89f1f06a089a1529010980242115c723517c6a98a7045f603ff1bdd919f9ec64415
+DIST firefox-136.0.3-pt-BR.xpi 434768 BLAKE2B 
5aefb80df5eb1d9bdb8e3ac394e166e0076e1db1f368b0f1c05e03732117a65deb6ee729d035c16fd41be68ce78b9629bef46e71642bfaabf34c91379bf4d480
 SHA512 
671984bdf834248a7f337eab7da6cc6127474fec6bad08216af5ba56aea5aa6503f94f1f7d398474440ab87e4e82b7fecd666fdd8308baab192809db7705918b
+DIST firefox-136.0.3-pt-PT.xpi 440561 BLAKE2B 
6938e7e3783eafc6e4af29e067d06717dee80fed06344c7d697f29afbc9b133870dc65a0e1d3d1328c06d0781bae61e7d9a0d729ac9893734744b1062effeaf1
 SHA512 
a8da88632439488a1f2cd2c0a475229b52b48608b5fe1209fa5b131af4dc1a81ed5ce1136a6190cb82ed21e50a28655a87d99a48adf00c81f3e5a5583eb01ed4
+DIST firefox-136.0.3-rm.xpi 434100 BLAKE2B 
b3a8f2324ef1de92d0a4eccdeccdcd7237d1989ebdf496ad653aabab7bfc1a8a4e6e87e853d18b04b260860f5af93317cea6675f08bab5b27bc1095f8057c45a
 SHA512 
78ce9a2d4b946af6979faee9cb6ad6243e68d884c439e15d9e8a4aba45527e875623ae2af1ee3142dbe2a5ff8c756c0f1de313444091b8661518fc8f4825896b
+DIST firefox-136.0.3-ro.xpi 363419 BLAKE2B 
f4ab573730d2c37f8dcb62b27774a6068529d05ff3827f67d8ef69cf59a6c6f3608f8f81efa6db90fb57b71a7d1b96c1affa590ca477b2bcbd473c90a990a02f
 SHA512 
4dd0a01c79e3a8f24539504e05540d09c76d01ba177e549970823c206d1b1a6fafd02b066409b4a8de657eebbfb12fec555ede612a858c57cb5821c4098f295e
+DIST firefox-136.0.3-ru.xpi 517926 BLAKE2B 
6aa92a103890481c1906b57d660d49994644a40107efe9fd26e3a17c62494b7a449da8e0b6701cbc308fa431acdf1480d3ddb74da82c437828bac12cfe2036d1
 SHA512 
a3bce1ec6d80e754fba868156c1807d80f78230b360203c1a5e2059e56bcbe801f93c48901ff3df58394ebe61a44ca11128c409e50050071713844632237d635
+DIST firefox-136.0.3-sc.xpi 403791 BLAKE2B 
832522f36c99cefeb4efd8ce93cda5602493fc5c36746acb1d7e45801a82c9d09c9339d5936cc16ff86eb50b36f4cbb2f2df076096ae668366952a8bae50fba9
 SHA512 
a3e6da24c158867580d68b584d6fe45d36564a09b5fe59e905e4b78a24c511188d29dd16c80d092b3f300a17369e1fd04e4006a4007985f662b577ee387c341e
+DIST firefox-136.0.3-sco.xpi 324878 BLAKE2B 
e335fc051fd3e162f5a6a7e16376c4ae3bdc3dd7acb1d4f3b3f0da635f16eb7c907fc8dd51e6c3750cb897237e21d86ea0cc98bdeba31aff5ae6377548d08c53
 SHA512 
8bb02225d06907bf52741689644dda3ce8503aee25417ab064e04cd32ae4e56b86f91d8d9e5f5105a38e3a74b78ca57db6d8c5eac065ac518030e218b5a7f822
+DIST firefox-136.0.3-si.xpi 414024 BLAKE2B 
bd05d3804fbe8a010192a57bff7709415776631cff83af8fa75b794c81f8350bd31f3a04ed8222fc66dda50760df2058403c78b4c0e049b9942776141f76ee06
 SHA512 
e1676fa4b804b8966167722a5e67634ecd5570bbe28559586eb909fce08eaf9569b72a74945b63ef61081a7a5d7093679435b30af5f68836e174d5087c48a391
+DIST firefox-136.0.3-sk.xpi 461607 BLAKE2B 
ab44c6f6811fc0a4761450f109d55d3cd2a8c6204c5e3ec15a146aeef634be1e67cff11d078ff13233edf7266641d834b5d0927b0fbf1460e235c5d59ca5a83a
 SHA512 
3a723adbd99d7a729606a74f66f02504238bcfe4d5e308b9d3c35c7dfa1866755cdc6087dcb22e1085ff3c7b070bce7ba7962d12a8177a5088d08b268c72054d
+DIST firefox-136.0.3-skr.xpi 494197 BLAKE2B 
2504b5e7d716c852a65d95899287423b1fc8415efd5f390b1430916a252560f06180eb8c556603cb54cd2b0a36e5141d4a0da254a636b4ed03e813a0d0619ece
 SHA512 
aa6337457cf4371f5abdfac18162bcf2786c6b68b673428815108ca6278c7483e0dab6a1d4c23b430250c3314dbdfb0ac6383839ae55bdab92ae7439dd5b85a0
+DIST firefox-136.0.3-sl.xpi 433456 BLAKE2B 
76168f960c96a164c2a537252dfed16ba21176c79bd0635c657b34311f1fabefc4a7f6f8c6fd0c058c03aaa6246ad181aba4d1329fc8bc7e40d19ad2940e4831
 SHA512 
7d15a2d8d15f0537feff9f604c04781abf24c9b25072edc845d13a435e07967a560137e9bcf34bf1ee3e90fb32edda350282af64243bd83a08ba1f0762299bd4
+DIST firefox-136.0.3-son.xpi 273291 BLAKE2B 
5f3900c6aee4cbcaac461aaf78d41573d9b87a6b5dab6c3e60259997aa4e5479f0439e3ccfa41551b69331e00e95d4d55013b0a5f2c51b44d590c2336af03c78
 SHA512 
287bd9bae2bbfdad26696ce9d7908e23117b474b53e07dbe32aacf79e66fecf69f96ed82729914635d04c91325e43306fff26e28f669461551c2119d0244637c
+DIST firefox-136.0.3-sq.xpi 449806 BLAKE2B 
5f316c3630d20cf3b010a25f6ac36511926e9fb65facf22f8af381c81fcbe69b2b6a6c24c6a23e339dc74699a01d742c275ecf1e3a633acea335399d271d38fd
 SHA512 
572f23aefd09e341f221b87c36ea40ee45b65636fab1cb558f5077b74809f0a53a02239ed6c6ce6468ff45fc919944cdb7c507b63d213a39ccb5dc32a15390ab
+DIST firefox-136.0.3-sr.xpi 456465 BLAKE2B 
87e5ae899ce05164e36f11c2101bb7d849720048f8abc7130c5864f20c54b7388c0f20f0367e28dd1845773a11d48682a57d7f608e3a755052ae4f0821ef88bc
 SHA512 
8765d8a202b1a1daf86a8ee4f4fcd50e280cdb8acfc0fbe8abc85d95b1bd3c244c32a2947e65fa92a5a52442cd3011e85773423d6a7509cc05b9ab28818b3721
+DIST firefox-136.0.3-sv-SE.xpi 430473 BLAKE2B 
2d54227db526243b8e770cdb3a552eaf7656783e0a0788bef6d4dc9eff3d2b7a048107b4af2ff2ae3f12cc88243e503080aad5491d5881ea0d2c1b1f04b45cd7
 SHA512 
f64ee0109c8f32ef248e7ecfaea548c91e1edb752f4aae55a9749bd97d7a26aae621f20483b42321fd8824f0412c5e8c3da36729110396e051254dd039b77c26
+DIST firefox-136.0.3-szl.xpi 344458 BLAKE2B 
3448c07a1e056ffccbb6cf8a4966d86104db9085cf286f83763d4433985b444540fca64bf1d2f7c776cae4148cf449b7eb7f7938bdd6fc721a723ecaf312a6dd
 SHA512 
e8db97dcb55ef89c300db983d9bca05f2636656c4ecacf01afbabb40607015f56c7d56b7e62a5b18c283d327ba8236d6cb6665e303717c60d6bf2619c0b491ea
+DIST firefox-136.0.3-ta.xpi 338590 BLAKE2B 
7832f87265c7848240c26f2edebb01acea66325245a63e3f76bbc987a723d4fd45fb049e2f1f533b9a03c37d9cfb73f50fd11ecb4c3a1778e12c9010a91a1338
 SHA512 
6275603506f6e0037989738c1b4d8c2b9e00236e2723d74b5b2e60e8c75b4070292ec1b46b151d47163271506b0880661c61ca51d980224d6f814a98409a3646
+DIST firefox-136.0.3-te.xpi 384063 BLAKE2B 
662d04be0133034cf20a17208886da46154b0e3ae968f59a06632f89e055b6c3019a0b04a106d02a4af2238675caf5ba7c5edfb997f1cceb438240a948323697
 SHA512 
57b7b50e1d4a6b02389413d42a22172b4b47cf125078da88828adb217c2b3886560eef3d74e1d271762423bfdc55df063ecb9868f288778b0e504f186a91e0b9
+DIST firefox-136.0.3-th.xpi 499238 BLAKE2B 
e05bcff53307bf0f1365850bccfd682bc97050c3eedc22e95eee40e67dec806891dca6ed14f5ac5b877f3a8a99e211e5b5705f7e6c22771c1285e5dee5529bdc
 SHA512 
44687dc78ad7ec477455ca01709e2d3dcb8f7210a23095fb33d7efdeca70f8eee50c6013af539f95922661a3a493d0887ff0059d7972601d29cbf9dd912868fd
+DIST firefox-136.0.3-tl.xpi 351841 BLAKE2B 
688c213e92e2345e50893e44a63065e1c3078812cba900302ac4313dc60905d456b8f9566affd10c1092088c1e84be62c846105a6237fcc3dde5456b2113e221
 SHA512 
baa8e86bf24f38e09175101a95c3b8d88167bc43f39d7b5cad781397105dd3ba179970c9b5ae155207bc216fd292f0b953f925c7a50e1a8899cf52014b2c237c
+DIST firefox-136.0.3-tr.xpi 442291 BLAKE2B 
b0c569dcaac5eb9dc893f046d4aed66065c8d083bbe439935ee51da0c550759acdd36bc29aa76b7d060979e50825f492ca3d4a32f2bf901310d6f6dcd88fe584
 SHA512 
c28d360e7653ff24ee49188458c60d2ed04727f393009056d9e9298998c1f0d007688660f9374f2d2138711cfd9919bc64a1c20e72a4306fb3a22c977b3ba9ab
+DIST firefox-136.0.3-trs.xpi 323925 BLAKE2B 
c09086565dcce723788478f41883fbdc51187b52926eb1040a17224b6459916212787a70143ff11838d62fd8e8913f74107295ba8232c9b0f80040462c69aa36
 SHA512 
2b9f0065fb8c160786e1300be00e1621fec1685af2862392e86ff96b88a925fede9876ca7115009ebad714428833fbb2717f9b56b87d3cd3dd0c26da2e877ea7
+DIST firefox-136.0.3-uk.xpi 508667 BLAKE2B 
a013e34b0f60a01dc2ddf466e4c4904b02496bfd72daf1a3c39e84d46bbdf06a376b6ffa54086f8a300175433beedb1ccc906d62bc405f35f3c9986d1d4f3339
 SHA512 
7fe22549a186d6325ffc2c3fa8fdcaee8270b4dacb32800c1d8a9eaa6b5b0ff66c29cda1ed1cace53b96f48d1c2bfe3c54cd53768feb36aae4e354eb1ec8f13d
+DIST firefox-136.0.3-ur.xpi 371885 BLAKE2B 
83fdbe70899b7a778aa477897a2e78a6ec46727e14b1f71ef6128c4271ecd1f85e8deaf72d8abf2eae243e206f839d4f5d4b015be2c98967eacbc72a9c30c7ae
 SHA512 
a2d22e1c2cd4fc3a80eb3182d57a1c5fe702b012bf9554d5370e77d448dd8e59a11829651dd87582ca2b2e2c1905995508c5f057d61da9ce12547204c5b321e5
+DIST firefox-136.0.3-uz.xpi 305443 BLAKE2B 
f030fb0a26ba3dad3bb3e0bda4c8d6631e7f7d62554f78e0063fc1ba5776680a13ec16a2d8b98112f176258fa7f111ccff43438759ea88413ba04963b3349d3f
 SHA512 
250a64dedcf7b46b167a8c84a633f4deb1073c5c5f1db04b22467a8b76b996b74a4e8bc2d0c03c94475570a77eb092b90cb871d46ad31a16b8973436e37dbc80
+DIST firefox-136.0.3-vi.xpi 463340 BLAKE2B 
cc36c247d4c03a5c975e93827915d1a872dcdfcb66553349317514b673a6b69cbc19d3db81184a5bb7a207f0d0b0c5c80c3afdc6ac1cebca35e39e7fe6377169
 SHA512 
58210aaa2521db00e7be263047f3491033204754ee6fde919b710909601c27044049e3cc62bcc8caa4006541dfe93be08e52a75993a17358da8ab1a97a7271cd
+DIST firefox-136.0.3-xh.xpi 273257 BLAKE2B 
6e07dd72d826ad4f42d9f40620ec20cb8d942f5987d963f73bc68116897977373e8a799bd02888aa667dd509935f8f4e163f4112fda951b184e597e14220c5cd
 SHA512 
babbe1dc060a9724e3385938933b40a3c81418e6b979c39cfe0bf11a46c1533e111b243290403b4d9d844e05cc69a39e2197c0c1e9c8de00fb5ca663331b04c8
+DIST firefox-136.0.3-zh-CN.xpi 454860 BLAKE2B 
7e348fc0966edc49d5846385e3cfc9dd07298ce54732bb2b7e39942620c513e4fe0eccba3eda01e1d0d3dd437dcf55a14d6e9eb76614a514c8df13c08f93ca19
 SHA512 
9dad343d44c142283731b86feb7736bc977d0e695321090840405a88130b064f75aee5d57e3254b5de3109ef877589964d0b96159f0e168c30aacc46c03c0d3e
+DIST firefox-136.0.3-zh-TW.xpi 457685 BLAKE2B 
acd6fcf01ca1a18132b89f3f519684200ae8cc4ccb961abc0bfc416a61d2a567556bc4b8f762b8fdc4a48ff90bdfc58e0b049c3c6f7843eb4462d77cc4d04716
 SHA512 
4a033670cd88cda125543846deebfe49b2a6377bf514d3677688c50fb1425bb19e44f6d2c5ee99f04cd3ff949710fa8f09266bbe6fa16f778b751ac825e64553
+DIST firefox-136.0.3.source.tar.xz 601432848 BLAKE2B 
7f9c686744273ae00edfb64f0ba12dc46bab901e3a23e8ece1e9633bbbda9e83d03c6373a76596a2d9126b541d25311d40204240d6220354820264346a485e2d
 SHA512 
59cb54bc946aecea810169970aad4ba3f7b3092e56f15f86ff3d51fa2752c89632a057a1bda016f0005665ec5099d9b9f9a4786b9c02e3f5656eb2003b6a1747
 DIST firefox-136.0.source.tar.xz 603708216 BLAKE2B 
05f92682dc756998f1dd56cdbbf8a90a45cade9d8541e83edbbef07ce4cb66e6a3bfdef5e59bd824b2d6b13c49c6a587e9302779064deecd68ba6dbaf9300f9b
 SHA512 
a2b7e74e8404138b294f7b3c5f1eaeaeb8ce84c9aad25379e8ec785a9686f42def9f8c119d4bc276dd371d13d7bebbe4b1b092af41500aa8c2b2c827971445b4
 DIST wasi-sdk-25.0-arm64-linux.tar.gz 115160800 BLAKE2B 
1ce22aaea87d0720d40d46ebdd96508c8fb0593b53c4489022fd5a1a9afb043a26a6e162a992d73454f612f2b6ab01e17a99c189c0c8b8c2d2d68fd96fabee1b
 SHA512 
ef4eff22c1efec4dc5ab199d09d93ee0004f9fa67b32cac0030f8b6a40def10f714391cec8e803c200995dd8bfad3ebad9ec79b4195aa6b2ea61ea47a8b9e61f
 DIST wasi-sdk-25.0-x86_64-linux.tar.gz 114450290 BLAKE2B 
07618828d4c25d67421aa72d38fc49bbff9052b8ecfe0fa9f4207e71880e9c650f458567cfa5bd389d5f830fcfee89142a77d33c29e7bccd1da7ddba2bc47b95
 SHA512 
716acc4b737ad6f51c6b32c3423612c03df9a3165bde3d6e24df5c86779b8be9463f5a79e620f2fc49707275563a6c9710242caca27e1ad9dd2c69e8fce8a766

diff --git a/www-client/firefox/firefox-136.0.3.ebuild 
b/www-client/firefox/firefox-136.0.3.ebuild
new file mode 100644
index 000000000000..c1e39e2f2cfb
--- /dev/null
+++ b/www-client/firefox/firefox-136.0.3.ebuild
@@ -0,0 +1,1371 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-136-patches-04.tar.xz"
+FIREFOX_LOONG_PATCHSET="firefox-136-loong-patches-01.tar.xz"
+
+LLVM_COMPAT=( 17 18 19 )
+
+# This will also filter rust versions that don't match LLVM_COMPAT in the 
non-clang path; this is fine.
+RUST_NEEDS_LLVM=1
+
+# If not building with clang we need at least rust 1.76
+RUST_MIN_VER=1.77.1
+
+PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+VIRTUALX_REQUIRED="manual"
+
+# Information about the bundled wasi toolchain from
+# https://github.com/WebAssembly/wasi-sdk/
+WASI_SDK_VER=25.0
+WASI_SDK_LLVM_VER=19
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+       MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+       # Convert the ebuild version to the upstream Mozilla version
+       MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+       MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+       MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+       # ESR releases have slightly different version numbers
+       MOZ_PV="${MOZ_PV}esr"
+       HOMEPAGE="https://www.mozilla.org/firefox 
https://www.mozilla.org/firefox/enterprise/";
+       SLOT="esr"
+else
+       HOMEPAGE="https://www.mozilla.org/firefox";
+       SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info 
llvm-r1 multiprocessing \
+       optfeature pax-utils python-any-r1 readme.gentoo-r1 rust 
toolchain-funcs virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}";
+
+if [[ ${PV} == *_rc* ]] ; then
+       
MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}";
+fi
+
+PATCH_URIS=(
+       https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+DESCRIPTION="Firefox Web Browser"
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> 
${MOZ_P_DISTFILES}.source.tar.xz
+       ${PATCH_URIS[@]}
+       loong? (
+               
https://dev.gentoo.org/~xen0n/distfiles/www-client/${MOZ_PN}/${FIREFOX_LOONG_PATCHSET}
+       )
+       wasm-sandbox? (
+               amd64? ( 
https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-x86_64-linux.tar.gz
 )
+               arm64? ( 
https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VER/.*/}/wasi-sdk-${WASI_SDK_VER}-arm64-linux.tar.gz
 )
+       )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio 
sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-jpeg 
+system-libevent"
+IUSE+=" +system-libvpx system-png +system-webp valgrind wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" +gmp-autoupdate gnome-shell +jumbo-build openh264 +telemetry 
wasm-sandbox"
+
+# "wasm-sandbox? ( llvm_slot_19 )" - most likely due to wasi-sdk-25.0 being 
llvm-19 based, and
+# llvm/clang-19 turning on reference types for wasm targets. Luckily clang-19 
is already stable in
+# Gentoo so it should be widely adopted already - however, it might be 
possible to workaround
+# the constraint simply by modifying CFLAGS when using clang-17/18. Will need 
to investigate (bmo#1905251)
+REQUIRED_USE="|| ( X wayland )
+       debug? ( !system-av1 )
+       pgo? ( jumbo-build )
+       wasm-sandbox? ( llvm_slot_19 )
+       wayland? ( dbus )
+       wifi? ( dbus )
+"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+       selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+       $(llvm_gen_dep '
+               llvm-core/clang:${LLVM_SLOT}
+               llvm-core/llvm:${LLVM_SLOT}
+               clang? (
+                       llvm-core/lld:${LLVM_SLOT}
+                       pgo? ( 
llvm-runtimes/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+               )
+               wasm-sandbox? ( llvm-core/lld:${LLVM_SLOT} )
+       ')
+       app-alternatives/awk
+       app-arch/unzip
+       app-arch/zip
+       >=dev-util/cbindgen-0.26.0
+       net-libs/nodejs
+       virtual/pkgconfig
+       amd64? ( >=dev-lang/nasm-2.14 )
+       x86? ( >=dev-lang/nasm-2.14 )
+       pgo? (
+               X? (
+                       sys-devel/gettext
+                       x11-base/xorg-server[xvfb]
+                       x11-apps/xhost
+               )
+               !X? (
+                       || (
+                               gui-wm/tinywl
+                               <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