commit:     9ecc05fd95196a6431ad37bca8a8445c169b9986
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 12 12:00:14 2025 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Wed Mar 12 12:02:23 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ecc05fd

www-client/firefox: add 136.0.1

 - include a patch from upstream to fix compilation with libcxx-19,
 - remove redundant usersandbox check.

Closes: https://bugs.gentoo.org/950569
Closes: https://bugs.gentoo.org/949356
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 www-client/firefox/Manifest                        |  102 ++
 www-client/firefox/files/gentoo-telemetry-prefs.js |    1 +
 www-client/firefox/firefox-136.0.1.ebuild          | 1369 ++++++++++++++++++++
 3 files changed, 1472 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index adc523244d8b..50739da8578d 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -408,6 +408,7 @@ DIST firefox-135.0.1.source.tar.xz 599617332 BLAKE2B 
a99e63f5622b3aa2cd5f686daa2
 DIST firefox-135.0.source.tar.xz 613526736 BLAKE2B 
a9309d125b48988bc4e5c6989f2a1a0ee169dc7661a3d8d67d6bb32271812b2e22b885fa8384c027835ba1907fe00ad2fb8c8c1e8d87f8dafebbc9939c378edd
 SHA512 
7d283bcefe1e328901f15a88f5ff3da566bb0495ce5b9e3895e7a156020126a5743b6bffd69d94d9eb812e1868195ae92db162d29a5d98ee118fdb238469c089
 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.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
@@ -508,6 +509,107 @@ DIST firefox-136.0-vi.xpi 463346 BLAKE2B 
a6cf4482db5c4de4287dcfd588deab08d318df4
 DIST firefox-136.0-xh.xpi 273270 BLAKE2B 
84b39837494eb27e02c1218d571a42bc36cc0b8a5ad638a066d3df2da745361c77edf7207402a924dcfdcb4d55980782b8cef3257a90ddb9236670102c6d4b51
 SHA512 
0ff9f15230d88e89e281e6b10b0cc7fa5d5fd018dd187490ec684d8c37f0a417b4e21cfd672bba5baca10f77401c0fcbd6a22e6e545190fda4bdf673d21f5c80
 DIST firefox-136.0-zh-CN.xpi 454853 BLAKE2B 
a42369fd948e6b1a2eda3cb26e7ded75369b15fb75c5ed9e6ffb0479bdb6f684fb76d791dd29bc558023d7a696c09938dc04ccf6344391a30f48a8278d8961ba
 SHA512 
60b0499e8dd17f2b9fd2f7176539de470ce2e2b407dec386b3f045d0479cb5f5a6712455ae5fb053f2936c2149d7532cb250b691f55679d64b2969b2923a62a9
 DIST firefox-136.0-zh-TW.xpi 457684 BLAKE2B 
5c2714f86e81806d8dc8dcd5f4d874a0dda090213d8ccbc621492cb9f48b1b35fcabe7eb88b7d4468b54863a1b0e3ae00d2125d09b748d11c8f4a3b10ebbc890
 SHA512 
b7646c4696b16f560254f0454ff279ab11a1fd0d2f03270935c21294094f32b2a0d2f0a022f6e2561fd7d727982dfb62af4aefebc2a8713d1a8c690c974c795f
+DIST firefox-136.0.1-ach.xpi 295316 BLAKE2B 
a235a1af3b0dce49b7cd56e28443faef0209329c0025da009ed932abd97a4a4f5f72bcdd043be4c47b27fcbcf62d4db013c07bed2574d5c2a50aeef00291055e
 SHA512 
30fdc6e02e10e58893c313cec5d4c1b4e00aaa03ec515e973eaa7b33319847e675e5cf37aa09794719175bb8cf0d8121111efb8794ea7ac80825325cb87d1011
+DIST firefox-136.0.1-af.xpi 266788 BLAKE2B 
9ca37ad502426e7d438443187613899f3920060ef0af597a4944d6b285b101a9f69b62f4f3191433fda04a6eca09a7c26e1593d761fd70a49f6085f818e6745a
 SHA512 
50b04c91430a2c5d0f528a5b3c7ad001e245f528b06a48813230c348260d8d7f4c6d1f10793442c192f06ea227ed5e7a8ec67f64fd57aa9fcebd45273b94a221
+DIST firefox-136.0.1-an.xpi 333342 BLAKE2B 
94269cac48d5ffcb9f83aa5889398969963a41b18dbe5d5c198e1807827b98ebf8ad54bacc2602b73b95b0cbfb1f12d6f0d5038aab1639ba1e51a70c0613f9d4
 SHA512 
79a77992bac5ce8358af00aef0dc6d5323e21c8b494bfa02d38dfbec8c157e2bd05a60f5369e772fbe6bc43931826347f57e101ed9676897a07d029a16ca48d4
+DIST firefox-136.0.1-ar.xpi 431816 BLAKE2B 
d776a608f584e152c364829fe649e8360cd55b3315b78686b14dbb7d9e99bc990b2edc176f4be18f0b65b5bc47fa4e0daf781439304e68b0ef0f45d676909109
 SHA512 
bca15f09f3ef81463f2043b986ccf7b5c416ad522b8c83e61e88a56ad572dbdbdb002c4dc260f51cf3b8e9f0d26233a2ca832197b24a3a3380cea3ac3a4cc945
+DIST firefox-136.0.1-ast.xpi 314254 BLAKE2B 
14266e9cdceacfd7fc0033afaa259c9208227bcacab1c8649a5948e9cfe136e3a919189cc80032d2e254aa8aa2a67c3f1f30302d0cf672a54d9b91ad729669d6
 SHA512 
d26694eba0257d834c72796749054745dfc04be6c4b09009067ad28a9515aebf21806b0cf7304dc5d6636cba83d545431550166532521205662cff0bf7f60f59
+DIST firefox-136.0.1-az.xpi 319702 BLAKE2B 
d2b699c7447077c1d7f2f13653e001f212d49c93079d05546c28ca63870764367fbb3686e11c167e936994cd6af5b226c654d416d21ea457dd4794b4afc70f32
 SHA512 
21de9495605802d606bbb24fbb66027fde69e878c36dd228f51c666485f99fdd8c4dfa75d706d4a9a729dda818e1c15a916b6656eaf5af15c1498896438825ef
+DIST firefox-136.0.1-be.xpi 513803 BLAKE2B 
37699db0b750989a5b9226eed331b72ddc8dd5eeaac259bcb95d795abc5b434104c2a0bdd40f1cf3bde3d4eeb807adb4d37b2d9d4680799d9716e7ab21fa9d49
 SHA512 
95343bf2c15257478e9eed5f42b74a6686239b8050f708155436ebaa586852aa978025a727a3af7a101d702228b66c9153d9647d731dca3d005a04a0d253e177
+DIST firefox-136.0.1-bg.xpi 448910 BLAKE2B 
6bea4241afed49ed1bf44fe8a6a2d3533ac4965d84da3e17552247d054a5569cc2c93e3fde01238b2c1e743e80792987688458ee3b4a04c4c1ca61c814b783fd
 SHA512 
d68fcaa5f8e45b9728dac8d7872b880dbd24ed317903caf6a06fa13b6c1bfaa5b8e147e7f9752ddcb85011263b3de578a5225ecef92e858ccd3db005d0c793bb
+DIST firefox-136.0.1-bn.xpi 414169 BLAKE2B 
3310cfe7d503a785cbe54901841f9c5121b7ec30bd709985913f5d42c05b101e50ea18b6325b2e3560f6aa5c943893ea612aa8f01026ef9d2f7da2f47e5b5190
 SHA512 
22d1ec17a7edca3585d13ab4057dfe129237b8f534223f2feda6e188580a27324b6978e19b56d772c62166ec6cc2300fec1def7e251b6f96ea57f94c9764a9c7
+DIST firefox-136.0.1-br.xpi 394440 BLAKE2B 
e40de7cba4b4cc688120d438f7207fab20abe890aa4226136d459646e2de94ca8df03dbc1432f9995d2303c9019ae402c0d94948ad499d03b4e405a0840e415b
 SHA512 
db0a509000984e58f94bfc97879e25a7c5cd899efe106c4a917fee494b755287d75ed2a037a406efc125103dd22b43db6848b1c85c6c39ef7fe2144b4a944bd4
+DIST firefox-136.0.1-bs.xpi 365269 BLAKE2B 
961c9ef7390f1189e2543d1dbb1850f786e2be75a983d76af12c3b73315b3c00a0ede44682e6de27878fa9d1f3be2ec09fc8738473f3e07266b2ec20dafa664e
 SHA512 
9bb4ea65103e594a8f117c52ce3b1038039a7d597b929acb2cc2c989318448f99588d738ce99921e689664b8febcb56d516cb9df926bd96f36562e47916c1a59
+DIST firefox-136.0.1-ca-valencia.xpi 359658 BLAKE2B 
2e5378a606ede2dcf226beb6797dead7ab6c6ee31e201f0db0762a06d779ca257a7fffcdc08e4fe8eecad3d7c18dc0366629794c8533949ea94b3de354456f77
 SHA512 
ba4355580694f719f4e2aacb9cbfc315c8bca489400b59eb128bd5ed97745004b8633ddd9c06fbb75ee0b3787f23cfe0734f1eb17877feb51a4d7df5700de02c
+DIST firefox-136.0.1-ca.xpi 400613 BLAKE2B 
8de58ae2e07b01f942da807b16613ac2e7e8037336d09035fbef95a5dad1e03afa042fc86b3258ad5bc346cde8fa5cb42fda2d0be4c74000a3210c9622950643
 SHA512 
660ebcaee7a571767b6d4deb352857d6d443a0a17a23314ff3a35f0b9c85ed95d5c6578d2fc336cb754c2440123f2c6ae18ca928da61c899b2faeb1f24262cb8
+DIST firefox-136.0.1-cak.xpi 394066 BLAKE2B 
7401636745409e313a87a4955d0f00aca6fae04b92328999f1952936229526de8910bfbba2596bd79a7bb2f2da7c50a5861f1ac65fd4e992b3a759a446b6c28f
 SHA512 
c3843d617ef09aae540c389fbea32069f8929f67d8b3fd302c7fa6572c6981de73ea9e4fa6b144e98799a586fd3bea0dedfd711b169d6a824e8c2a5a19f245eb
+DIST firefox-136.0.1-cs.xpi 468958 BLAKE2B 
6c4aca5427d36b216a08697d329b8e5427c332181b860ed4fd4a7e9ca4562f8200ed329f93aa2784fcdfc704285450f9fcc656917ec55851b1e777f457c5edb0
 SHA512 
35b166786a9a28d69535073429954c787cbea350d5db63f8a1749ed397f642c69d4f319149524f1ecb7d598d311d417c804cde11612b33027008a5be0733c593
+DIST firefox-136.0.1-cy.xpi 435802 BLAKE2B 
34855cde051339e0f07ef391cd83b7f6836095d9e2476a0125f6b1433833df06f2d362f3938d5f51a23dd309569d224c3f7911fe0cef9f09bede1f7371b16c0e
 SHA512 
5a805da0aea3c2b4de46634358378f73b1e059f28ebb67bc0987f2fe8219fd1d2d0e4aafb0dd8cd67869e5d119bc40d47f46798ecfcf1e212cc8f05035c977da
+DIST firefox-136.0.1-da.xpi 425305 BLAKE2B 
6e9866c66fbc96dc5faa33e389e5ef64fc9e4b4dd7afb299a03ca8b2ebbb57f210eb7d5c9b2806a4769d7309a235ae6b2cf777b8811f38fa80c28ca2047a4faa
 SHA512 
e3080401fc0ebefc5aabe8a5b3cd8ca6ce4171808ede656545bf7c6fb312264d69b031c8898f70217d5c0b6e12a5d28279f09d1ddfecf0bf03af7c3edf8954aa
+DIST firefox-136.0.1-de.xpi 446678 BLAKE2B 
86e2f4497bed6f58f0acf7e39cca1508f5fb06e95e8b858b60819bab876df7c2d1bef980290da666955a541a3f5e37d53b08b384a12d73986d0056e973cd7571
 SHA512 
6279cc694b16f762a99608c4759b1157b351b8d2a158d246c9996e323a2a1deb75aa790be10e330a660f4afcfbcd3ad2b92609b6612cedbb2a2ac70617d74f44
+DIST firefox-136.0.1-dsb.xpi 459796 BLAKE2B 
1e285b3880b26514e0ef3143a589d5bb43db9bdebf2875b8e9cc01ef0e7045d166bc1194e24198421fa2efbdddbd1893b8c7ae2b5263e0669a9a6e5022659319
 SHA512 
92260bbf5fb1590bf9421c1a460e9831bed7174ba6b8e2cc759a6d3220c64e6f999d3af5fcf43e0eba650baed3553d4ad4b2fbe7ec4ba145e74f3ae1c83d12bc
+DIST firefox-136.0.1-el.xpi 529768 BLAKE2B 
4afbb2fa950e13496061d11f2c2e278e96fbea1fbe110a70711f24386987a392fd03433c44d19dd3bc66192eb7deb37d9d10d123ac2e6296ae8c0eba1154be49
 SHA512 
bc09e36a53d4565d2bde7be243a94e3dee10a223560e28a07b80ff1bc95a61047ef4468425c3f2fb8d2a650a086af8eb9ce0018908c35ad966a64be13687bfca
+DIST firefox-136.0.1-en-CA.xpi 405860 BLAKE2B 
c6c024fa05fdbe59a3ff1fd89c1a799ac812e9e03da19303d3a442de61b2f3c8f4c3663e4f958cb24129d6957f68843fa5970d6b729ad29225f0de03b9fbd2c1
 SHA512 
ee3778f3f5119d245db7700b42bfb862d8c1a8beb210f14028b9e0d6a4abdbb1ad6fe8a36c7b40c63526da4ee1cb94b9ebd42bfbf562a5762247fbe59660d427
+DIST firefox-136.0.1-en-GB.xpi 406165 BLAKE2B 
a2ae2ee44ae37d6995fa3bb97a4041ed77883bfe474caba1d246c49cb9fed9043b47b350cc81687c264be10c47fe997fdbef4d85d5e85f0686df009f67b18d4d
 SHA512 
d05a5d55dfaa42afafe8ac9595d8c86fb4c25588fd932e1af05abacba5f7e3ecf1a5c65ecaf72304dd89a7b4a6feb8e2206adffc762cbe569621d82778235a77
+DIST firefox-136.0.1-eo.xpi 427688 BLAKE2B 
b56545b5f55d8258449dedd9ac781948c8a1655986d033b94464b7704844a559cc28fdff0acd8efaf1f310d588eb251ac13f05cb8b3abe3bb436576a13e817aa
 SHA512 
e26e40f8603ea01462774d47a4c647b6d91a0a1ebc2daec4c216e056663e568c3edaff5041ae350b064dfda0b6a4f3b74e15d3fe8a71260bf35b4c778fb484db
+DIST firefox-136.0.1-es-AR.xpi 439717 BLAKE2B 
1a291eacd35cc52196c3a795a4a8b50dc6cf80dfa0d0b19217a3ddea216ddb191b622574eaba8b67f06332df7043a8cc4e36596ad69f969fa1a3a37d1d11b624
 SHA512 
ac7813e2119c7dd96054247578faeffe83b5942fb9775d1595ef1db1b3ecd4bdfcae5349c9339d3bb02a92f213a888ac599805ca10840225cafd30e22e23d420
+DIST firefox-136.0.1-es-CL.xpi 440307 BLAKE2B 
af43913f4da70088221291f976c1dba4e2c57bb7e0b2ae24b3c79b2e4949bb7cf0cc79f20476b012c0ca07d0b2cff802cd0920f89895b5431bf1ca27125f54eb
 SHA512 
98a6891294ae8e2dcdefb7ee7d6e2702fd9462843324ad95d51881e7004d612c16a39b0dd27e82755cbd2f774236969bdf2ebcd02230acb30386e12db5cc0120
+DIST firefox-136.0.1-es-ES.xpi 441192 BLAKE2B 
1065de9c12eba26402c2f21fa2ab1a53026ad736ba6afd8695355288e435d718d14754a41a6e51b8010505197f32b40d72b86b9d87230cf22abfacd6317e56ed
 SHA512 
2471c1081ddbd34beea1e0ed75288017ea8519b7a8bcb65cdb8ae4abd221390492200a6f339b18752a60eac5afa28e9eb5a94dae9ea1e502650eb6dd0b75c8b6
+DIST firefox-136.0.1-es-MX.xpi 440825 BLAKE2B 
a8fe90140bef3eed660608e06f9b1eb8adc0f199e04eaedbfe36161001af49077a734b4409cb2a7145d64896d0e5ff81d40f8ba9552000767e443aa10cc2c318
 SHA512 
28ec7d6f083c7523778a9684006391e3c286e8a973606d811d4ef47e762d8541640ad8d2b8a306de7a9c5fdf78ab004517ef79a8b3b026082e1734e2f9dd44bb
+DIST firefox-136.0.1-et.xpi 358265 BLAKE2B 
6ee8cc343bd01d5aa911544eee95b2e238a0b3e8b3e902979c4055727a70bdea1d43181699b9d357471a04ef7b33a585e24a0a301e0dfb398306ed39d4f32b4d
 SHA512 
e35c42f1301bb8612f09e938c996fc0973ce8fb200e38fe620804ba6cad7749caffc70aa6f55cd8d4881dc3c740b4fdac774baf0b886ca68789500f1aa41139d
+DIST firefox-136.0.1-eu.xpi 410907 BLAKE2B 
04012e531d8a5bb85318bdc97e8cff1eae9f6d8a6f24db95da0fcca9649da31c8f0e2a4fae4731a41cfaee8ba5b9b9e39ebf7055c2db673d6a225e89ac014741
 SHA512 
78699102f57bd60466f6bf3635a3ccba80eaff0485755e8bf494798f305d07b1dd05762a12fafc61dd998069083b8ed3ac6f746ee26e5b931cf09768187263ad
+DIST firefox-136.0.1-fa.xpi 414711 BLAKE2B 
a6fae23ba89e66ae4940d3005991d844a4aaf38aea6060d5224b5ba979d4a2e1458a544e9d2471caad09660635f2342b5f33c5b38d7b01a5a3ab12781878202c
 SHA512 
e9b419ae82e264271a1321263a77c7618c33195cde9ed9767c4fe909a7d708d4e0d8bda239580189774bdaa71816a0b41ddb8d28ef9c73658161f73ebcd51fae
+DIST firefox-136.0.1-ff.xpi 311203 BLAKE2B 
da119fad5944c1b20edce46eaadaaa1dfc9f41f65a3ff8a9b11bf146c0a5d028d5c73e56104910d83cb243b1e174b60ab2bbb5fe5733a4d0cafff05a643e435b
 SHA512 
5e75ea71fbbf9d576768ebad32bc431b86a6d5ca3e2280931bdf5490bbfc307fd1528e2ac41b29235e19e53769c1818a72e87f19b62f4a2fc4eb158b25bb592f
+DIST firefox-136.0.1-fi.xpi 422710 BLAKE2B 
4dfa57e35be91e9175eddd25abe4a510f2a7b981fa92fc53f5fb4ea70f19bd2a57d6f8b3caf26e893259255bfcd2a118cc56d1077f6e7181e0e27eeb979db8e5
 SHA512 
f2cd1171b13f19fc7594591c906fadfde5f55742abb060fddc4cf55acc560566be7d3ef34fabd77160ba31bcd432fcaf791a56312462ffb96ab1ef4af0940dbd
+DIST firefox-136.0.1-fr.xpi 452380 BLAKE2B 
f8cf4aca400229a38afa7ebfbb17c6af6d2f91c3f813bc46078bdd1e5015cd60114c5fb285ca3e40946e92410de18ec06095e6d6de9b9f2a3b4708920f2e6f6b
 SHA512 
175aff9aa196d7bba28e7398b1b371a7f17b309d109a731ddd5e24fd8c50753a88c27625ce3d1127c221f0849bd857d5ca48a8539e1c8979bab73ac34d8ca1ff
+DIST firefox-136.0.1-fur.xpi 445654 BLAKE2B 
338bf8398efc5d9af22af7efd021bcbd0095c36a3178c48b7aa2749c460469e3a31906521a94c12514fc4dbadd7bd25c89c76a3a688b02c6cca706299e72ea98
 SHA512 
4f0d47a611ab5e86145c7e52f0f23fd9aafc506191a06048b1eff40240e8a13ff7ce3f3b97d4b3230eb5abdc7d407c2e6ef2bb90919a1984ea642a9b7522a37c
+DIST firefox-136.0.1-fy-NL.xpi 436304 BLAKE2B 
8a65a0ba0097fe1c3aeaaf5d957afd13c2db229bcf571f125c82da37d7f08905a1e1f67fabe83127d69d67cf7a40169ebe4acfdc0c2672c83bc6b8580bab9925
 SHA512 
0593ea61d79946c42bbf3663288a57879912ac714bc4b35b3d4d2ff7f10d2f99fb8ff27c157017f57202a28a01e8313b16d9905bc7cb92b335f40fab0d411355
+DIST firefox-136.0.1-ga-IE.xpi 307230 BLAKE2B 
ec9dbbaf11c34d5eb954bb66fe92f50c4d577711838ddef55a5790b89de91690f34fb187dfe1c6b7b041b8b783fa7adb300869df81148509d4a63b3cc176b96d
 SHA512 
214702184e6d169db104ef73e9d5330287a831de0a5749e305c9cacec8100222035aa4685b08288f440da97e19d8beefe2fc050baf800995465ffe9c777efa55
+DIST firefox-136.0.1-gd.xpi 402405 BLAKE2B 
4c93089b09d3fd7ff93e03539074a120cf2031b9cc9ed2e4abbbe60b25e3be8d890e574eeb02221ff021f1bbe17fefe1128a3da44e32d6119ea276475688098b
 SHA512 
5a20cc12a11cb684740e21fe0b2ea22d099e9978f7a909ba6119556854281c69ed273193a380bfa2f34929e65d900acd71a6495f95eb4d8171f540b7109d9c46
+DIST firefox-136.0.1-gl.xpi 406525 BLAKE2B 
3b8754fe2c6091970e52c87c7ad203589ea3887e0e168bff7eb2e437d95ffdc247bd2f482d0e3d4a1508939f8bbd06a931b9bb479cbe0fc26edf2dcfb5d4afe6
 SHA512 
91807a992869ae4da2c4f8f8b64381c59eea8f84545ca915ea87a3ff36f1bcf3c753d19a9b4c426776f4b8157c37b71fd203add9aea68d4686a17396bbb87708
+DIST firefox-136.0.1-gn.xpi 443151 BLAKE2B 
9a37c700d6a4a40659b9dd70e09e3f78e6417f764e88e74359b66d210490abd7f596406864cdc814c4d73588e72a1af72dd18cd719d900520baba45c3eafc925
 SHA512 
2b20b5fc15bd2254f1c90a9cbb640fabb002488010351e72db5327d9d30a0850408100de0b80a012f49c2e1ff5cec1a766f3a1188baa111502c350bb754170eb
+DIST firefox-136.0.1-gu-IN.xpi 360244 BLAKE2B 
6edac6849b1e69c4fd1809f74dbbb55605fa8f34452e2ecf5224369503560575a75895b7a63b368af38af6948cfbf7bc15d9699eba1c658abf335032b1e62ff7
 SHA512 
1706e12028279a27917bfbf30e1e81500383acf123b299dfbfac9554eadb5ffbf263c6dbf8812cdf6f3d5a2a8c7fd28ed8a825bc2ddfc710d43f7165a7ea1431
+DIST firefox-136.0.1-he.xpi 437520 BLAKE2B 
ab2427e0ac87938ad24b641dbe6d55410518120f0498a170369a366dc5446664728e143e9cfd77bf424c35ef758b49975d0b5ef8b3ff77517899e06cfb02f221
 SHA512 
adb7cf3fe165497ed9626d358dbfed967fe7b50b61c0e0d9a0ed9a024163fd4ff64f314d27f799ce555bbd49585a5f352021a2d0bd71625d40d6ddabf17657ea
+DIST firefox-136.0.1-hi-IN.xpi 378754 BLAKE2B 
6aad59f10dd498cc29a1ccfdd11ff3a0af1aa4a141ffbd22848550862db662c265921a99925e7f38db7b133b6ec8a367a85d5e4d195877c13186da9e39b24bcd
 SHA512 
5209c0909b7ab75b07a347cd69c9ec34c46ed6e4a092a9a11bce4955f96e6bf631a3b99877c95822f280a134fddbd60240aa3f3601b955c7b5cfe1d3f44dfe5d
+DIST firefox-136.0.1-hr.xpi 430738 BLAKE2B 
6cc046031f747093b5aa12647bd3552287c24f8f849336753000fb05c034f2322c39e206236baf48704175250381825efcfde4008e8bd87e00f3fadd1861d016
 SHA512 
4cdb0bf8342bc5c99b052d1f2e1156c1ca22b77c37cf29242aaa2188a8edb67544ed47a9c0d5ca34328020d62fcd57cf44eb0093e6084829e273f520b011799b
+DIST firefox-136.0.1-hsb.xpi 456428 BLAKE2B 
c8b81bd8eb9bba2ef50f5d46b012dd049bec49d5e1859ab3edad5f31c40c03ec06c5ef615dcf15d4451ac73d13ef64823cf905f1cf91c193b1eddfebc3bc1f7c
 SHA512 
0a72344516147571a0a9f51334c7a66aa9d319a8eabfb3991c828193128f7f9e2fc490c80d611ce0672b3e802da615910e18df137bd129247918129abe4763e1
+DIST firefox-136.0.1-hu.xpi 460492 BLAKE2B 
a25530f40f891d48a19ef90759b7b639542380b9d1c887e28ae7f91fa71ad4ecf9ec150ef3e2e9f28caee69fa8cbe636a17beab61d2f77540651ba174f23bcc3
 SHA512 
4eb1f7981a89ca57ef4cf65beec399ca2323ef0fe3ae4c5d8d42be0f941c4e7b2017b41c3f21fae3dc32f439991ee17b7a0db59216ed4a896d7ab4a2d169c08e
+DIST firefox-136.0.1-hy-AM.xpi 447321 BLAKE2B 
e9bbf7df1433c0036e9d112ae17f68d575dea09f2fabb67105266fd03b8af3716eef362865a03e9f53a2a35abd4f224e8a50fe3854f1ef111c766694240b3b43
 SHA512 
91bbc3ab989200f47a4b1105cd4615690e858f67646d7404d96a9e98bc08147bf6c8005342d3bd9b2412b69dd8da9106eda8783be7c186b88a9d3c65d4f49838
+DIST firefox-136.0.1-ia.xpi 424465 BLAKE2B 
7f5868b2f97f1710c266381640d436df18ec9a18f2905a3fc57dd8c411858418aeda98f4865f084581c363b3271cdfd00d4979df6a6f8911b9d463ddf387e549
 SHA512 
699fc8c7852c2d07ae6167ad4ebb9ed170d58759b0fd0cf9e3b1a8af0b0f90b53fb5ef153c7ccf2023c30b926aa9f61d937d72fec6d2af072ab1121d1b645260
+DIST firefox-136.0.1-id.xpi 414319 BLAKE2B 
8b53df92794561f455d1184171e650e428bbbf224b94cd8db9ae8cac15da2790d2bcdf8fa7eb3f9f63857c71d43791d86198366c264ceaba1e302366f72439ef
 SHA512 
1bb26421f4adb76f9fab789d4537a55c9c14e1e8bc967ce82385c70d3f43e8fc50e13be885f10a322f27e50127af851be5c02248b2261efea222df1134b011b4
+DIST firefox-136.0.1-is.xpi 429697 BLAKE2B 
1b948423f94e6734ed5aa90c5336381eafc5338aa060a0958a9188c267f3cb0ecbd4da121234e72d42df843f1b1d2abb63847b33249200fab472faae44e18087
 SHA512 
e4ff5211a75ad23d70aa9f044e65d34a0c8c002fb5d185c200e085ea1d181c699da998c0e0fcfb184dc65422fb1b3305610461c2a5b4d0f70f61dab228636dac
+DIST firefox-136.0.1-it.xpi 434990 BLAKE2B 
4942bb93f34e1958c01fd3e59dab27702c5c6386fad00d750eb30093f9fcfb1bfa5e3dc374cb56f9ff774a6ceab74a639a691fc69e2f9e8a2fdf7014ca5a5474
 SHA512 
1ad74d73730b6ecb4835469f583a8e2ad46207074d99bb528331db00e1c45c1f19cfaead5994d7666a8956de6231f3f0525b2b8fc5de25234120e6f129cacada
+DIST firefox-136.0.1-ja.xpi 475077 BLAKE2B 
cbc7da79820563b211737e23a648d5b6785d40646333f300f2a0c63fa79b1f959757a5e3b93439728eb83ec7823a00fdd5b6b8901376d956649b7a87b05d5f59
 SHA512 
3b91e31e940146714e48d07608519fd8130fb0cf9c4736e45a6344a6991be3c4e1e8a337e51e3db1775e36cc2a4e817b5b329760dc93b595a4c5892c382a70e4
+DIST firefox-136.0.1-ka.xpi 487962 BLAKE2B 
36947911de8b472178eb51839d128b7c21c29a7816c37953ebe0bca4b956e4129d8bb56633c02e99548568f648548c81f870095438c03ae9b81af59bc35bd90a
 SHA512 
ddda67e4ba6bee266b4f812d343465e464b1afb59bed7bfab5bb3b34570a93d9b3f18ecd272dcdbfa0a26c710059a9ac102fab1a725be4f309ad00b7116a4c80
+DIST firefox-136.0.1-kab.xpi 414026 BLAKE2B 
1e3978cbaced111622619bd5d0a1d66b5b7068b45e01880c5f595fa0cfa0fab824f9742f89986c368503a6e57f1751d59cbc78cb1db1a4c5502e9ad5c38e7cff
 SHA512 
a0ca47031a3fcc93089ea0872c2b06855d94d2ca7e9180e7e91dc8fb6d28f0b9a7ebc3b9911d992604928419fd5cc477f8def78baef75abdcb2716234e2641ad
+DIST firefox-136.0.1-kk.xpi 501970 BLAKE2B 
de677b0ed9a65685fbca167b00eee094c52b2ad942c1eb78ded72745ea4e9f29d673bab405607cc2ef3fdeafebf1d63ba743b7b0f0fbee617c2efe3f5c6078ab
 SHA512 
5161f8a774ba1d73de7b8975a17ebd38cfd92aae4ebcc12efe62ff50bc65d066db20aaf20075619be70b3f8f64b16d3838aa77fd9c354806275da8ebf1aab432
+DIST firefox-136.0.1-km.xpi 350113 BLAKE2B 
1e8f6fbe6096593cedfce1a22944f8b03c989c2bc16ca288bc2c417b771b875fc34112b2a85d05cd00ecbe89308831cd0ba5aca96e8ef1bfb5b7a62f91cc6cf3
 SHA512 
b3731f6696860148fcae9439ccb768a1d2537507aa6e5eb201e0bdd1ca1b8d55c9aa83e6ca1dd3618726258c72ab2f4be92646b1dc004bb794c84e978e489305
+DIST firefox-136.0.1-kn.xpi 332808 BLAKE2B 
21fb3c39a98a6c787912de5d9a0192efffdab69183de432da611ab93912884d9e27194f05c1d6e8e87ef7897559f4821881fb926ee494138c47b17613da4c2d4
 SHA512 
b50765b36f7810c4f58e52d32878d5d9ea4784a359a6a7f202da1df3cebadf050b00daab66dcaa6cc9eb55620d5ffed53c02fbbcdd258ffd7839db2ba2dae28e
+DIST firefox-136.0.1-ko.xpi 461336 BLAKE2B 
7a93496b77f540b977536587a5641d691d9ceec391e29aae4ebca48c6cdca36f40f6f1ba94ce4feb7b70ea3ca7166a356cc2345ff419ce9a23254bdd1019dca7
 SHA512 
190060c31b053d3b47e77191f644eee9eeea4e4fa6cb12a839837facd740ed188c27dbcfe7cea226a7ec3dd4fc4203cbef7b16e7a94d89b7d268b8e0fc0dfdeb
+DIST firefox-136.0.1-lij.xpi 319136 BLAKE2B 
f3d2e7461ea80fb9b49aa023b41144ebf027ce62e0789cb75dfea39fbe1fa55b7e7ef26b06c3d6e944afdccfc332138c4aa1976e2380c1eb9c883f5bbddb62f1
 SHA512 
1e97c4b712304d3955d97e5a8ecba35ef7a5d1ef4b809e6a270cbebfeee381ae68afe2e7a2e94966feaff270994381813f06768902bb366b590d428abf9bd9fa
+DIST firefox-136.0.1-lt.xpi 382130 BLAKE2B 
b8d93adcd701ad2afaaee32bf1b025e836a26bf212acc8d8b12f0191f9c14c1e85605e812711dc97b8ec1aa7225e2f6f29dfa68ef1630d8c6511011d2d4c8d5e
 SHA512 
03f614ec1e7ec221739f7cb381c7258a142d88f348ffde1bcf086275eca5b6e798e0421d6241028afca5892eeb36b60a774409516291ecb29e99cc79bff4338c
+DIST firefox-136.0.1-lv.xpi 390644 BLAKE2B 
ba4321609faf404d974a222131da0cad84182acc8f921f4b606126f273f9909287ae17342549d785be4b5e58a5b453537b3b31c8228bf26c2334d609f667d4fa
 SHA512 
b7f752737604ec47ad59e535b5a7d9d403857604d654dbd699adcee1e137c7f278238cc8af890c2e2fc8343608f2627488b1d78e31cf819f1c422e265e7e3b91
+DIST firefox-136.0.1-mk.xpi 318437 BLAKE2B 
323cc150574acecedfc4f0b9aa5e5988a8b3c776af3060c0636b56d40746c0fd1062593e8132c4e2a3c906dd2697ea4bc90823487732e4aa4563327ea343f7ba
 SHA512 
26fe7b53a206024969a2ed0203b3b5e361d71fb5abd66ef3a8897bbbbd427c2e22bf170b5b646ed52a23fdfed764c4708f916501067251dedd5ee1751450342d
+DIST firefox-136.0.1-mr.xpi 357282 BLAKE2B 
5193fd9943d0e08f89eb5d3ba2f9649305829e85e92d13594e0d1f8de11a30ddbc3ff684018c5f3b50c191556dd0d3b0b4f8b75bc760190aa1ef869f2f9b1a3b
 SHA512 
70b2e441e5acf5e62f4902524c783a867dcc08c1acade9f839be5fa1971949e7fc0e7f859479101ab61ed93cd6b9b2afcba547fac126c448ad5a6c5c0e6ed928
+DIST firefox-136.0.1-ms.xpi 296086 BLAKE2B 
eabafb6a6c480c9bd27ac0e0e44074990647030d5f1e014de1cd4b313001d53510f4e0530b8571ef14650fbfc27978d5e41874a31aa68b64b973d4e1f5c02f71
 SHA512 
ea6153014247c1959866a65c27b042a004764a70584b5549874b72935c5867bb58ed3fcc6a5760815b32c0a43836625bab2acb7238c98960761017bb6e965888
+DIST firefox-136.0.1-my.xpi 344209 BLAKE2B 
1acac02394c42fbe2d5077f74628657d278069540c3282cb0b3437d5a7791c5272357ca3279ac591be940d7325022b45cff0a14e4d56c9c4e6e5b49ff9c4efd5
 SHA512 
35afc0ff6fa5b3bafafd7fec3581828bd555d4aba716e2a31b6d2019e49aede86944f9ceb1ee3cbfff86493485047c0704e8420825f19e359018ff4db8f59d86
+DIST firefox-136.0.1-nb-NO.xpi 416131 BLAKE2B 
379e8f4f0081001c41a9203bb609266ed91fc39cbbcb1fc44fdcbb77a7cdee2f386d021052ce635419be6828a755b878d8c25f9073e4de314cc8a620ba4ce9ab
 SHA512 
8996fb8e8aa6d848f803c8c241d1e47f587cd297a29b78752549ea09ccd66907470c36f5f9ae1e08c9f204f8b746491925a4d71683833bffad81a891ed9892d2
+DIST firefox-136.0.1-ne-NP.xpi 350379 BLAKE2B 
b8732d3ce7465add54dfdbb98c79697525eee4b00299a0b7d029676954f6c5c5e02f81b5d330a1bb89d30e5d192881e72ff82fb40fc186163ebe32a05d7b8fef
 SHA512 
298feedb981516d803c3471a6aa26d761a344a4003f222be87369c06fc320639397cbe7782f9bc14e1c9c197e9c099efb31059147e89f27ae86e68065d0cc375
+DIST firefox-136.0.1-nl.xpi 430405 BLAKE2B 
27d95f2ee434c29471b10b40cc8e4a8ac65f60aa62326c692b978939d8bd9f1187d9ce94fcbf69ceb8eb0d578075c01b5eb12a678638e224c587c1a2c028d7a4
 SHA512 
90e84450e57b3f8573efd75f4da70f072fafa39f23e7dfe379ae105415d4211100a0a64c0e41ed0e4370af6452954f16a8ea933094e77586d2cbdba81bbb05c2
+DIST firefox-136.0.1-nn-NO.xpi 421300 BLAKE2B 
f4110a90821625811bfa3d656b2e197a405a133d6b3c502f5cf84e75740c4fe8bb86660e6fd75c10c1651bced0be2fc29c615ffe340964efea943c4251bdcfa7
 SHA512 
d3514fd2e9bffa87f67b81e1de007dd47a3742c95d6b53f6fdf42873b632a6c46eaf32969a8ee40ef0c2248f3aa31f6f270421cf907fa9281200098809db8224
+DIST firefox-136.0.1-oc.xpi 415679 BLAKE2B 
5e4336a5f2d05dace4559eadaab24b18aee3ad44b20fc93acc620b1f5a19473e3c26bfdf1e03c9b159d2e8115427f9340cb4f78d3bc79f2bfd13d1a8a724b830
 SHA512 
1cf2305b5a0cd2b9902557aa82a4829f2aa86525b8763c314b35b2ba62a606355060cf739e127e4c741139bbec085e8463aea8368eb7becd95e74c2c2c13cf9a
+DIST firefox-136.0.1-pa-IN.xpi 489837 BLAKE2B 
0b3a35c0630ae8c02e6afd35651042ace45d5d944bf5618b96eee32f28b413474cc3f8ef2baf2a7b26cf7ec7da12f23028e8d2194454f88a58a95002f6a06a34
 SHA512 
7c4a9a24cf2b11d5a6fd8c4d7f0c4c7a9462de39d1d57f075b89d445ea24b6aa9ee8e9924d604bc1feb5415163ecf44948f9ee861c246a5d3d1403cd8a9f7244
+DIST firefox-136.0.1-pl.xpi 450703 BLAKE2B 
b469cb46e7e26b2d2ef38b893a2026bd3e7abbab894ca24cf3ebb30a637c67a67feaa95af1dc19d7714983e2e9cafe5d9f6fc0b2e39fda27284fdf5b2a91176a
 SHA512 
73850fbede921352f46bcaa4ed69ca23c88925e9d746b3ce12f7f5643f84400c84f9f4537b9894c16a3ce385c70c760daa379d1da835561a69b04a829a0adab0
+DIST firefox-136.0.1-pt-BR.xpi 434763 BLAKE2B 
653375b8ce6e0ee422660035af16d0ef79406540c3bbb6f18cbbac3e2daab497066caa827008d84b247ede62fefc018d36990dfdb374d4506a371c4cf104c2a9
 SHA512 
d522c9bb9880c69259708da57fa85dab44d9393a40a576ea23a43522aacf1d8dbecc8f3d5a7f1ec5447838d37ca6c453449369c890251a135a237382d1c62b58
+DIST firefox-136.0.1-pt-PT.xpi 440563 BLAKE2B 
cd3f246bb82513a70c220caec8509d86fc8d1d3a71f2b49ef303b0fca196e010d666dcf676f73319ec9894751ee67669d42a3988557855e7befcf8fb0dde2e28
 SHA512 
dfab1459aa6632656ae5b7ba1973472d99245b515031324df65e0a217f2e6665c1367fa159df511151a1e37e16dc65bb4240f66b6f24a48f6687c4fe5b1008f2
+DIST firefox-136.0.1-rm.xpi 434097 BLAKE2B 
795d73e7167c948d461ee199d1b7d9d69dc112a69c61a1a0759665e927d5b7cb3f182977e0a28cf6ff34f8031fb6465eba82f6c18af3cfe6f61512d095d85142
 SHA512 
4741553b113e1cfb323d8c77ace5a21dafb92259dda1a518230580c33e28f820eed8a3f9a549e0accaf59baa15df29e7d91f500953eb2b3be19100b840d157c5
+DIST firefox-136.0.1-ro.xpi 363407 BLAKE2B 
bc4d7405ce9963f6e48b2f67f014071954000f1b27fdaa7efc8e664471a24e42a8d2fa6fee5160f33b65197f829c4579d4d1ae22ce07370546d1f4423447890f
 SHA512 
c563ee2a919c8ddff15dc97b82554739c2cfececf781cd2559612112714ea5fa8de5ffcea847148eb967ae9bcfe30bd8686a363580ee9ab16ae0de8a8e4a8d11
+DIST firefox-136.0.1-ru.xpi 517927 BLAKE2B 
9189701551b8f9082ab53e8843c432657883e779c2730c7f2ef3df2fe13859298b1206fbc20de9dd0cbc95533b623e561d5ce8cd526d73169e848b9bfce2fe0e
 SHA512 
ebbda7368b4c9d3dd9f53c0451a3260f8a2918aef6195629f0c063f810639890cbbe1858c33c224ff0e0896cd6c4d548b0bca8a9d2e1a0f6d5ad69eecc815e0d
+DIST firefox-136.0.1-sc.xpi 403786 BLAKE2B 
45d332adfae4ccb21dd44a89b5c6ec88e9711569f74bcd4cbeabb17df5a7c92da5ade6595f8fe7fa01aa1321f6ae0cad501cd8bcb4aaa0240075c173be264cb7
 SHA512 
ce0a2266709b703e2f6cfc436e99720de73a0a93a2c223fb2bc2b9bc434e5beb57c4cf1006eac0cf60db7dad99303df9cf3de91648ab4ef2f49cfaaa859cbbc1
+DIST firefox-136.0.1-sco.xpi 324891 BLAKE2B 
85418ab5531439ef92c9cbee0fdae86877b663a682946c561bfcd8d83e103b6878c3c0178c2386e78be5c7d1b0239035b49883468cd8808869231e2eb5ea02ec
 SHA512 
e319af000bc6ed0613ff2d51d176ecbe7c3b66e866a9233f15d911ab66a7e3775bf63f07dccd04ecffcfb7ac394451e5995c03645d5789ee7cd9a12837e8120f
+DIST firefox-136.0.1-si.xpi 414019 BLAKE2B 
1e18af360bf53f69a30da19f72d9a82c57d40bcd8084df03b532c13dc89eaf374b91d78bc103768276628ff3890f10720b3173d261e5f9b85323cd9cc873526e
 SHA512 
7f1005df6d479b63f719cf56eea3d3fb9689a0eac164a00df56f4a2cd19045a00697c518bfb0b8ef9853653b91a1b3a6693a3954c7a88d3fd3ad595a0f959531
+DIST firefox-136.0.1-sk.xpi 461612 BLAKE2B 
4cfcdcb86a0f8f41bf2faf973dd51dc03632a222f0d4e66f14c620b6091a3a2201f75ee9e693376aa7adada5edc76f72568351dd6686f986719e01357cd0ac06
 SHA512 
6474ec82ca1a0aa1f0e47e3d5562e66e9796ec7ad5ade6d20d6cc022f34855c93016f82056034ee70181221425d52269fd88a5f3e8e5e30a8ce026a421e859d4
+DIST firefox-136.0.1-skr.xpi 494195 BLAKE2B 
83188a78aba52fe11b0ebf614e8b52ca70335bf07c9535ac38009c4b09948ce200af0a8973659e322b33118bfbfca83bb83d13d573220f0ca1528e44e573ac4e
 SHA512 
3fb44c2b69d32906ed03017e4e1464439756136698f3b9a4c8ecd271b7a11986e407a11a1d4f54ea74a10b83393beaddeb45675b7b033811a64dced30662f818
+DIST firefox-136.0.1-sl.xpi 433460 BLAKE2B 
f9248a813cd54b90a863e46aede614aec556f836e7396ef22c72910b7f592369fbf8eb31163a0233a661458f4814c38476a0e1caa091fbcdd8b1ff61aaca1a95
 SHA512 
116e2ae5c1fd3437953d67eae7648965e1bce48808b4208738e65790ce3c005ed8cc91e86a5cbd4193bc26c2ee809fa40a16ebcb72836f5fae4855c4435f4446
+DIST firefox-136.0.1-son.xpi 273294 BLAKE2B 
451ffbecc36d695e5f2e8798eb6360b3fba067d765434fbf109af11b9c8256985780cb358abcf40b20e2f854f8a7322433d9aa709160c16715f31ae43108b0b1
 SHA512 
2eca10889628b567173e9ef0bce57d410ed5b72da33e382c8250efde6e0bcd31ce5ad23b4ac5cb985b5a0303fdcdfc508c14ca86b66cf78b588d06dcd2136a0d
+DIST firefox-136.0.1-sq.xpi 449797 BLAKE2B 
fd4e2f7476cd0549fb91149cd72a6ab668d047482f806a33421a95d52cce698eb34ade936f275ff36f4f3da7d178913b4e893c9247ef6994ce226dd6a84dfc5b
 SHA512 
80f5579ce4a8666549080c4071171968b3b0a79e42413630bd37e28754940a7ee6b73599693a6f0236675a54755a4535570da0189d327c5e64c85e9aad17bd89
+DIST firefox-136.0.1-sr.xpi 456468 BLAKE2B 
c77dcbbbe65f1cda6fa56b65d67dfd0c90c62753443cb04e0191df1df912995bee6b456c190aab1f074fd996a4959ff03e336a7ea27216d0824c7c6fd03de4da
 SHA512 
7ffa58a53428377812386c4095a510ab48497198600027b60bee7bb592bbad7b8e1a55aaed61302a196558db70d8b65d649761f14593f6823fdccc91539e23f0
+DIST firefox-136.0.1-sv-SE.xpi 430470 BLAKE2B 
091ec792fc350516dbf630ee29e1b80728dc194cde79df0d00799dd074b55e10704b9d72dc3b54b3c3ef37395f0882d6c6deab1be24a6212de51208176ec5ee4
 SHA512 
634aa299f08157c5d92cbeeb16a4bd1da137146814218c5bf02b497582f8cb16fb1ae539c6d3999828e25783f43ecca6f7623ca96ceee8ab04d96dd87d1d68b1
+DIST firefox-136.0.1-szl.xpi 344442 BLAKE2B 
f6550dbe66d560778e81c40587b695ef91311741ddb5007ee9f93b45522f71a0521d5a919e0cbf5b114c8cb77f14a9d6e8dfe37c1c2181ec33b72a4b54c5e956
 SHA512 
2c5b41aff6ce887ef1de93904d18af6d556206e0c72e59918869d6a3537ae3e206b79bec0d401aaee4dc2f18c1f59fb13663da24f822056563dfe868171baee1
+DIST firefox-136.0.1-ta.xpi 338579 BLAKE2B 
345a902ccf51dcdd80a29faeebf4fdc7c5dc9f7bf22ca3837cbae809848ff8b7efb9e5a77d81a9cc00cf40f3db5e05bf08be23a04c3ad9b9f3495fd42a7507b6
 SHA512 
6c4e497a17227f31e2d67c76cc1701ad79a98f0e013ae9abfed97cbd2fb91d47a01fee90939d30f9cb4aad0c3469341528d2c3650e7fdeccc108dde30bf86262
+DIST firefox-136.0.1-te.xpi 384060 BLAKE2B 
7cbd32ef9a98a1d437acc6d17e4cacc24ebb3276d35ce3be130912f5f924fbc90fc7b0811f9b2324141fa7e72d581b4aa7f15e7898387a85537901c4084e5641
 SHA512 
4c32f205e2c0ef41cfe4c80806186982bf4aa589c0efb12995f291585d269e4c5240916a5e72de0c410de604eb46a3d186c62b545145d3bf6c8d44b99580d576
+DIST firefox-136.0.1-th.xpi 499240 BLAKE2B 
ecd5479baf1d3b0789de9019d9fb0d8f40dd885be17df313a7caf4e8febf397def3c88e6e669cc8e4b3312b83021e411adad95c3ce34d3c0d4bb8aa570664fe7
 SHA512 
496e98a558e016240da00fcad434447890106e3df3efcea4caedd299490f6046dce7365d300933f025a78a493e2ace7ae5b64e6089d50fec8000e993a875b16f
+DIST firefox-136.0.1-tl.xpi 351830 BLAKE2B 
b19e475ec5a589053a333887579e2744aa95843bb0821fb9a78a043346b4d5edbc3e77db7f294cf392db422fdb54c9cad02fdb3c1c99a998f2cd945dbd80a24d
 SHA512 
0975f1a8c964c5bb3c94d6b098f294ac28b431afa27b5bb4b9c212ca9f101a9f40ab4cf6630d4110aaf987e5bf0ecffedb83b9d555936b938a1bf41381775924
+DIST firefox-136.0.1-tr.xpi 442284 BLAKE2B 
555698e40ca3a39d0adf4d0c57b80b8d357673ca27cd4e2f186fa218c991b4c77bb63d510bcafa83d14dab4edca7bd09e2afe039686656b2356f04e825c9a08f
 SHA512 
33dc9373a6c7fc62e99dc6b408962bb08bcd12692c34d3cb791d5adb331242fc66929e8605e60985a8a48ee77fb6e94baf7fa29270dd8ec6e748df8f34f21137
+DIST firefox-136.0.1-trs.xpi 323923 BLAKE2B 
a6b63b8e95027ecb70676881ec530fd6b4999341a8530976d9523ee745bb4e5ae9d73da7f445f4d1324e35bd1257796d9ab80e7a7c04b0fe5cc5687b9f480e01
 SHA512 
50a4e0924760804ca44f8b1c2d12c0fedbf5e2f0876830e4280ebd82287ba1373ead4c3e3f35b1b4e38137efc572677e56494e51fc8829e6b7dff5111eb485f9
+DIST firefox-136.0.1-uk.xpi 508660 BLAKE2B 
b7f1f0d9651cdd6e7233567b374e3b91d4a6f67fae11f870b89311846edadeb9e30f308f2923171ed3fa72053d29efbf1d4a848c8bc8cba4024bd3ca2781c03b
 SHA512 
26ef8ae65d4c85946a6a7f8270e358a21ed010f0a2ecdb1ccc39c8b9fcdff0c990ff0290f8859466d20d8ddc92b3e1cffaf1106f1aba0e5fba952f08f4dd1b8e
+DIST firefox-136.0.1-ur.xpi 371878 BLAKE2B 
159f5fe31874530148e0d2bb2ea4d30218206101e07b538f8633b61a9245e6eefa1150a280d0d1dd08e945a0ab50339ca52cc1a60a2f4abbecdde3c4c393c84c
 SHA512 
0fecbbc78a1102a5fbaea8eeed659bc62c00878fd725063b020d76792364e51b9a7748ce577dd9d70d1bd8d3378fe72483073147b3f9fe19c12d44af035e902b
+DIST firefox-136.0.1-uz.xpi 305448 BLAKE2B 
bf58c855cbf87d8ebb3f3aa46735a430d02c23ec317fd24faca4be135de907c51a449c95aceba53a9d78d0b9ab58018c85930a064f27acce8faf26515740a38d
 SHA512 
385f7fcbd7c32c14eb11ad0698a9ec8993f02f067b5c22ded474a7c7b74c724f8e0f99d3963ddc4902def57444f87849ec662268388d4331ec25c509b49b9a15
+DIST firefox-136.0.1-vi.xpi 463340 BLAKE2B 
55d7a424b8439f466ec25590a78f7d02cd12547f1972f4463c984d5a6908bb96875b10f9cb07a1108b12a6a0f4cda61b2d8718c4ea9762da78e9a023a28e45d6
 SHA512 
0c966481cdc22d5511735d3a0c5e18908ce7dd47f671eddf5f6306f0693d35b05afba8b449d18c5e160040fd30836af8e0e53cb4aa8133beca1b4775fe50a934
+DIST firefox-136.0.1-xh.xpi 273269 BLAKE2B 
b9a77c1d4bdaf28dab6cd9a5ad6f4930804a89b3eb9d6d8b1416e02f6d50dc31ba476b465300bf9855de878178730d8d07d78e59a93916a5a27f1e96e3ee921f
 SHA512 
fd0fc7ecc51e0856bba5404ec83f9722485810f6cddab27a042cea0140bfba7933d15741e916244f05ce178809bd4e2327b714883a4cc7401d1b8d4747ffa9e2
+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.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/files/gentoo-telemetry-prefs.js 
b/www-client/firefox/files/gentoo-telemetry-prefs.js
index 310c0cbe120a..f1858a221474 100644
--- a/www-client/firefox/files/gentoo-telemetry-prefs.js
+++ b/www-client/firefox/files/gentoo-telemetry-prefs.js
@@ -12,6 +12,7 @@ pref("toolkit.telemetry.updatePing.enabled",               
false);
 pref("toolkit.telemetry.bhrPing.enabled",                  false);
 pref("toolkit.telemetry.firstShutdownPing.enabled",        false);
 pref("toolkit.telemetry.coverage.opt-out",                 true);
+pref("telemetry.fog.init_on_shutdown",                     false);
 pref("toolkit.coverage.opt-out",                           true);
 pref("toolkit.coverage.endpoint.base",                     "");
 pref("toolkit.telemetry.dap_helper",                       "");

diff --git a/www-client/firefox/firefox-136.0.1.ebuild 
b/www-client/firefox/firefox-136.0.1.ebuild
new file mode 100644
index 000000000000..b360495ef935
--- /dev/null
+++ b/www-client/firefox/firefox-136.0.1.ebuild
@@ -0,0 +1,1369 @@
+# 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
+
+       # Enable JIT on riscv64 explicitly
+       # Can be removed once upstream enable it by default in the future.
+       use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' 
--enable-jit
+
+       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