commit:     e632728dd5a5c599844795a0b27ede672ec0382f
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Mon Feb  3 20:39:33 2025 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Mon Feb  3 20:39:33 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e632728d

www-client/firefox: add 135.0

 - use the firefox-symbolic.svg icon provided by the source tarball.

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

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

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 4ad0a3c42b3f..4f0c870a8e55 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -709,6 +709,108 @@ DIST firefox-134.0.2-zh-CN.xpi 684487 BLAKE2B 
086b88dfd1451614af4da8b51ac180aeab
 DIST firefox-134.0.2-zh-TW.xpi 686743 BLAKE2B 
c3a157e5fae193476bde6722d32b1ea4e65cbd3bde891e76830ac193b609de6302291b6eebc5eb3a54575244738763a1c538f621d5bfe2f6715ad98009e83db5
 SHA512 
8fcbd4a0c897a9a0731283ccb78fa35d799957cf8fee1f70892c65f106efd42ba5b2024eb227952c45f4212a1bc2ddb65e7d7ac8cd61608c7c837d29b2c6b517
 DIST firefox-134.0.2.source.tar.xz 589962348 BLAKE2B 
e1d4eb6fd528fa405e1487ceb256a28946f703d39758594f65950feb1448f7423545162d411255c559c4ba697c5e14c7cf7fdbdabfdfdda9663f24c53737a742
 SHA512 
74d631ecbdb5607cfcc4de408947b3b129e36b3d1daa501827aebc81f48c878f9bade875875c466c07c651f26b5388ff2d2d2087e66e0613d8914abaa7ddf5ae
 DIST firefox-134.0.source.tar.xz 604421068 BLAKE2B 
599049006a65bc70ce7a43b8412a260e033888609fefdec33a7aa4cf5427e0a89a725e6a74b396097a9263acafc9251f9a54294c666af1f7355c66ffeff4a007
 SHA512 
1275a686dc0a27b48df4ae05616511512f676e03474e3095b2521eac25a385d345aa3e8786716dbe812af49e07d72b32772479089d648968e2004ca0c9c35344
+DIST firefox-135-patches-01.tar.xz 13732 BLAKE2B 
53829369b5d460572dab4b7090b15247daae2bf35ed470ceb8e5966289bb35315160cfe7e76e69569ec4150a4632b0c95544b8ef162294b294af92b9cf3832b9
 SHA512 
33c79231d27df64541df2a8b78eb39af93480313eb227affdc419b7926a08d02bad90e3eaaac15019ddbba3765a2e6de724e4577b1044507361ee83eefee4625
+DIST firefox-135.0-ach.xpi 297493 BLAKE2B 
e9f6422239452ff716089945cfec4696c6f48c92f283e412788b8b70f95f1c6e7aa14ab85d983a4423a76e5a110b5043bd966636942e2714626ca3b14797dc02
 SHA512 
173b83bceedaadefa5cfdb5aa6996803e41f8f7efddd89d3dde7778fd7b04b99d6d3c2bc3622a2246c78e9c3c308694fada412d17a2539de3ab63712335e0455
+DIST firefox-135.0-af.xpi 269128 BLAKE2B 
be97eb56a031773a7c647d72181ee3af86ee7fb23e94a34f5b0d7fc47af3e3dd01a67e81a5bae13d30985c1c6ff75ba5a6de91af8d0803c32d0e3cd0c5f73fba
 SHA512 
e6352c7da7985cb1564fddf8c8e8445baf47a27e16fde93148aaf2f45a92177ef4b507b83c4df90308fb5d00035d3059404a49c1425cd943caa30049fd427c4f
+DIST firefox-135.0-an.xpi 336069 BLAKE2B 
a77ff09e247c491a1f252941f7133013709a1be1586755b0f99cf879b8056561901ba4e98259b30e5fb68f49f44496614177f62c8ed14aa0bd188eec09446d77
 SHA512 
265045e54a0a8f6676080228b3b353b96f61f4986db23b654fe04884852a112ef12b216bf3377e02023fcf861973f5bb4a3decebd703809a21e606effdb015bb
+DIST firefox-135.0-ar.xpi 431817 BLAKE2B 
60cf45f7e24f9f498124d764d3833a44327d877e80afca959682cab03b29ca0fea2b8cbb6c77dd4015b4619e81c796a6cb0f4c907ebad96b5448c33bf96b3ad4
 SHA512 
342ce17248824caad5651410747ec052e549ecc5e509d76a7161ce84255e15ba99ed9492e3870d4ccfcac68885d7fe8eb1b9ee87c7efac64e317352982a025ce
+DIST firefox-135.0-ast.xpi 315336 BLAKE2B 
2703997a8afcbdaf92389fc5a23e19d2045ef9613fd3bf6d8e7993da22ff399fd5a02376f15b1b7d640fdcaf369ea6da8097b5569172adfcca2ee38fafde61ef
 SHA512 
458659ed77cc154db7a352f9b8a4475af88ec334a5aa99cb63a18d042d4acb39e874ee2031ca788cdcfc0ba25a8f7ebe670d10cbbb6b2dd94060decf1f49e196
+DIST firefox-135.0-az.xpi 322601 BLAKE2B 
8d040883e00d4cb611784a63aa51c6f0b093b552c693ddc221f57a4d25fa644ffe008bac05984a542c9b7934cb0dda13e6b42dae855627e1321399f12f32b4f7
 SHA512 
fd95aa34a63226f4944ac222da90862469a0f163f81b0cd119755ee69229e4b98e8dc48f4150472a50b32ec1a07f57476becdccf88c878702aff12bcf7b9b375
+DIST firefox-135.0-be.xpi 514716 BLAKE2B 
9e02365f5aef9ab137a7ba6f4e3c85755f094622886f502e18677568bf85feea8f6bde32548e8efa15f910c576b64853d055ab63bb7eeb4c3fe23ccbe470cbe6
 SHA512 
d8a9df409b76674e2db61c3adf412f4e5b2772d28c089edef87a6c405700bdc26cc2802cd34678347ce4806ff8483d836226ae2ddb361b59afb6728df66126c0
+DIST firefox-135.0-bg.xpi 453357 BLAKE2B 
6f319995b33d890017b57e47a0ece2b018025726e69b4c1b35d7ea1af147cd5b9480af48d4fe2bede027d643edf6e01240a493fdd6777aefb7f1d1aa8e6e85df
 SHA512 
588014fb0409e9322de4e1ef7a9d51d4f9b8d0af2862b47bd0931727e1fbf0fbc014fed8a0c888b398a134677c4563603537d7dd634c4b9688d505b927d5e175
+DIST firefox-135.0-bn.xpi 417341 BLAKE2B 
3fbc61821c280a855400f853a8fb5510d8f18036a9c231844a0b86c73fb89ae19f589df5225c7267b8dd1369cc3ead3daf29032f375a3dbb120503291e90d0a9
 SHA512 
f3fe9fd4e0699d745d712d768e0a33c789a859f222565ce966673d526c367adbf92b6eb669b6c29bb17cc083db86d00a2568d03f83617ab4dd53e591c73f08be
+DIST firefox-135.0-br.xpi 397376 BLAKE2B 
08214939a4a1393f466533d460f074f6dcfa37a49a3e0139cf3c2ca94d26342e0109332b9d3b437c796081d53aa106722934f3a9c8764acd716b422444e172c4
 SHA512 
7521edb5706d6d3508f301c42a9c8ca8f231ba3308a0b479bc7fca896b3880cf450c942c760dc28ac63a480c08d8546ad376c18f546a3bd6a49a1716213970fe
+DIST firefox-135.0-bs.xpi 368182 BLAKE2B 
d118f56290181a198401ad90e53ea878ac4ee35e6b387d3b43cb0473430e34c985b40d347a2e214480326df3c612f671cbaec3ad0e7fabcc1cf0864216b0cbdc
 SHA512 
f0ba0ae5132bcc86b64bde4625d8ec7e00d4ee827b7835352fb1696f4a7d49fe482dd38b90efd4d8d206214a2462f02497a2add6a8a17f87db6fc29491a6dceb
+DIST firefox-135.0-ca-valencia.xpi 362554 BLAKE2B 
c3da4af360eb1a96c7ac1790de422a16d473c09bbe19642aad2ac0639d3bd5c1166cba2904cc99e1ee168959259e1eaeea4d3c40be2380c109c686072d0206e8
 SHA512 
d736021e1233e910b07a36ccfbe5024dd869283ca11bc93f472a637262a9bdf5b2f8b3be51f5d70855f21da1c863435085a87544cb5567b41dadadc9f458424a
+DIST firefox-135.0-ca.xpi 401650 BLAKE2B 
635eae49c3fc449391fae1415bd42c6ef7aedfa2d139eea3b0858b29a7075c986a31d13b48c934c97f7d33e9db6ff76e4d88cbe7187d93e7229b55cf840f1ba0
 SHA512 
e2fd2452ea05a356ed6013983412b01e0fd6d1600e119f9cb011e9668cf12cdad356f3cba1eeae3628d1ddbf26e30cf43e9a30aed2bb98c46ec5ca9362667386
+DIST firefox-135.0-cak.xpi 397000 BLAKE2B 
67a61f7d031ad6e2898d227c0f3755ff46e6a13ca12205d69b3cfd89d081c401441f79f1ec8976a48614039526e0ea09c90523d395865e322c279c56ea8e6d15
 SHA512 
496e0dd73b63d33082187e373af2bf0db199fb3ab7887b4a2c07b9277eb1cea2d4b47fa340ae07494f67a83e3c9a6c157309e67611f211d5e024f608f5e59cd6
+DIST firefox-135.0-cs.xpi 469983 BLAKE2B 
0f855ff4c3e9c25705e7b4e9504c8e4a15e4d40766bd43742357aae4777098a5d7c0e14bc01af8f3ef0e022d13f45b18904198723c3e6994d4c686e1ef4e151c
 SHA512 
f9d3111e3ca978534672dc5c74984223c702c80faa0857844916b2ebf72f43c8d63f607914825db0cae0697323d80cf6a7d808538cc8abf1baf8015e0670656d
+DIST firefox-135.0-cy.xpi 436445 BLAKE2B 
4ef407ecef6c3c050efa2af5040a8c5cffb85fc5de4f7c706ae5d5153812f6c8c3e677c1d5ab2c94250c0c7e17ea828c91365bff6af63b8d9d4eacf5fa2a7b8c
 SHA512 
985cf3a79a751dd4f0db00f20802c4f5a32d10ce0113a159b0f264a5191aebdd941db53d550416b5f26ca91c3ba9ff804ecefd215f399d0b7a88e69ef607bf19
+DIST firefox-135.0-da.xpi 425954 BLAKE2B 
ba8248b39fac38bf39b161d5dff850994076abec798add82cb37be15d32d853c04dab0f968d1d69304f2784a3bbeb0b180aa1b85a3912ab8c54c3614cc15b01e
 SHA512 
68b88357e86bd5a31ba484dd34e30f81729730a72d3b70c627ea2666c24513b5c6f0276fea68867271a208894f834e993bec9db35014310092c589829d631e26
+DIST firefox-135.0-de.xpi 447596 BLAKE2B 
5a3f99bdfb193c909a7306fbfe0ac1f293525d406ee66ca9e467413508be00e729ffb19fb3077f6da77613b752a89cc4b960f9b0121621862a21b8657be2a13b
 SHA512 
c088e4d17d8ae51c50514ddee313d9cb36aebb6e7d351c6a937100182ea936c9d1839d82727c7f5af733ec13f0d146b7cd3f6bd8691dffeca26f51863e8f1161
+DIST firefox-135.0-dsb.xpi 460614 BLAKE2B 
4067d1c73874017336f5fd06f31cbe5f320d5e1c5ed55f483c22ced92f20cdd82356b3c0ee523cf22c247e153f27f866ca547d891a0b867ff06b0d55c635f7f5
 SHA512 
6cff7add689f2b840a147420c4c0ac6377539c24de3ef0d4844c046a29e29fea57018e7422cdcd3f113ea3f7d0d54620e0235bd6627b2a26f30a565a5b3590ec
+DIST firefox-135.0-el.xpi 529587 BLAKE2B 
656176c0e93187096a9844e42ed967743b797f4dc8272d82323fd9230d4e71320880beb37870da66a07b51fe314382de820e60860b0df741c446b15e0c5b7ebd
 SHA512 
ea537b4b54aeb627c758cbdf6cae490797359f3083210141c9721420a0ee70237ac0b4bb79ee4a341117095764b77d8fa8731944c849212b5d2597b4df4bc52b
+DIST firefox-135.0-en-CA.xpi 406581 BLAKE2B 
9b282040221264bf9f017fe4bf06bf6f1c72c76a43324cf0d0ee4016b87bb7abca20e5363e0943424e45e4bd48404fe1c9beafdc3761f00356d59bea80726a37
 SHA512 
ea8df3a03c07b2f386101de84fb1b3ef4db1cba15f633d006c617c229f44b80189c6612c83f023e3c3b0e8267f26b50458e4e0eb0d975a80f2f218546b77d3e7
+DIST firefox-135.0-en-GB.xpi 406887 BLAKE2B 
67c85a35416b58dbdda2e866c1ece51b35101fd28b215656842f9cba533328679e55a833df5d79b0dcf6bc77f6ba122d1f1b80a96f74dd91d9251a6c6ade445a
 SHA512 
01b56f7e5be3e7e652abd20808add74a81d4618cea4f26064192e0f0d3ef708dbb890e34db8606f0c5e25f1eebac52afdaa52f52892cdaef6fbbab120f644ff9
+DIST firefox-135.0-eo.xpi 428440 BLAKE2B 
4e26589e08987579f2ed76ff7dc2c09a9dcf2518c6a26a335bfa185555ec6124b8e08c03b26ce1b09be5a49bcdca981eb8c246f50908e51900e9f25f7591c116
 SHA512 
0c1e74502528ba3bbf63f3542ec29b5b254abd667cdbd62a50f47b42ae2a7f1b6301a0a6862882e58b0bcc66abc0ce82b45fefc6202c3f811f0a480d468728fe
+DIST firefox-135.0-es-AR.xpi 440561 BLAKE2B 
ecab809ad15ca7afce22acac95233a3caac689df46df8936adf18442e2771b06337bd5d2595bea7de9d1760e1eee8ef4c2bd06f8ffef13897ea2bb96d40e1aee
 SHA512 
48ef21d3e616e68cd17388e04ed77028480ff8f170349f9c59daedab81f8bdc692664686f84673e11e27330ad78f35d401f40d86b13ac20e0c4abd1bef09c76e
+DIST firefox-135.0-es-CL.xpi 441039 BLAKE2B 
22c296c84b965396a5e3ab92d8492b238a0f1a9103f460ca9285ad16123ef1d67eee4c6c549212d3fe028a7c4fe0a87ec5c17da81f7cdf13851e71c5aeb85158
 SHA512 
2bbba3bad248df17edf64423e966ccfe6f2add8da2b0d3cde999f2b9c419ab878538927d00824dc8d2934d5d4d849ab57639f44229f3601f98711da0a6c52341
+DIST firefox-135.0-es-ES.xpi 441899 BLAKE2B 
ddbb0c5f1443bc8df98ffb2fe50a208fc96fda8545a68f428714d0b24d82b4a69865b3dd51ccf0dbef6c238eb9300df0cfce1cf7e08530afc358af0787840d0d
 SHA512 
e07be4e269c93609795b5e42bf222150457f22e7f94b3ec7f40ee36bddcd602a04b5f92d61fe650c528bf37e9f5b35e83488d42935018f7e775d77047d52214c
+DIST firefox-135.0-es-MX.xpi 444249 BLAKE2B 
c15d4c3f9418a44712dbdf4b55c1d4135ee57a0c42e87ce7de238fb1fd8a54aa74289b7193326cb9a6fa8bf28c3bd13385ad93be7ff4f58d3e855fc204a8395c
 SHA512 
6653c6591105093d4c2e0416f0a207689688793ec9b7c021c5029a6e096f0307086ebe26c33fe469f5ebfa851941fcbdc01e23f2932c7e51b9cbe181f365afc9
+DIST firefox-135.0-et.xpi 361095 BLAKE2B 
1ad3e8fe5eb05f8fd9bca0b7d39adccc9b012a6bca9bdac71040b2e96887c4e4cc7b3eda1920a847c970570952e1c1a120cddc94316c391e1a381fc7b38c4026
 SHA512 
85227d3e1ad337a7a5802c5481625f9d3d233d6a2c1fab8ba1a3c4ffc969a49d2773438e5b55da0db9310e090a06e2f8bfdfb39db124b96826c9d3f9602304f2
+DIST firefox-135.0-eu.xpi 413640 BLAKE2B 
14a4096a0391a56b0259405d873f42eba309ec6904a354683c8f82646ef2bb3f6e4bb0ffe38cc5938195ebb38b867175cd8271840a2b71abb240239a1e343eda
 SHA512 
60af5206599c15960e0b268666c03cefd4ecbe3ad0d13aa4d3e911d720edf9d0a4a2c306782c6e0a528e414d9a1873bc12bcd5ced598622aa0242c35f80656b9
+DIST firefox-135.0-fa.xpi 417970 BLAKE2B 
87eddb677f1a6c7cf184e30c1c03662737e3b81829ce32217308e5f5113b9b9049581bced23265ebb8753021d9df81b2787170110663ab049ce9b288c3aff7f8
 SHA512 
9e5fb1cf96ed2d8d9253f03327d58bfc6e1b722520650954999dc411dd302232c4e45cbe047ef6b43775c374a719774930b6a14865cd74aae8927e5d7cbbf3f5
+DIST firefox-135.0-ff.xpi 313582 BLAKE2B 
a7677e3b5c96ef46dac870c2cc1e747981ccdc1d59b02f6f47c005ad7b342b4b75a66b5a9f6d2e570ebccef22467cc5513d78834dd293354caf3a141014f50f0
 SHA512 
385526ebdae09c8a49ada77fb206c9971e64a3a91cf80e1242e099541edae314b3ee1e739d1c792f5fd9e90b20bb36f42aa86a6552516c6c9307bfbe7235d78a
+DIST firefox-135.0-fi.xpi 423825 BLAKE2B 
87fa391106c2041c3c80dc7ffa8e62d83686f331f41a032b5ff1dba6f707d4a1dea617e88343824992e95e8b39dbb2ef65393bf64aff12ee3ab636850fc42125
 SHA512 
ac01766654019a2fda4ed9a2cf2ba70d165a48aa7297a9120c0dbed8ea7ca5fb472f5c806e98278ffdaf58d804813f56c239e4665654abb269e278f5d75ede6a
+DIST firefox-135.0-fr.xpi 453316 BLAKE2B 
b3e9f781d1e1af9a60cbc175baad96285f506ebcf16828e5f7a5ae9ff21cf30d0c3349b06f01a950ca84ad908e6d54ca582280639fe4da06bb8f27166c181d16
 SHA512 
83ff9e348d6898a55496bd802be00fa80d0f1311a5d7735dcafecef22a53c43fc50ad3f909ea7d7a58ee8fd7afd82d2df19497a250f71afc52b7d6d4006f960c
+DIST firefox-135.0-fur.xpi 439818 BLAKE2B 
d89c6062902ea39a3a71e29e0677c3879521ec4187e21163d28ce6adcbd2dc6095cf8fb85ddef8a3c135feb6b5274496655427e3217139b5fde2d0a03532b7cd
 SHA512 
8316d5b70054ac6d8de703b6fe4adce98ff9d29baf742f5f4c7b8ed36f34b69f6c27885e00a33ddc8dc7b0fb457f68276e5af1261ce51149c2616d6bc742cbfb
+DIST firefox-135.0-fy-NL.xpi 437083 BLAKE2B 
b267b3eca8dcc3762ef4b15ff213b4b4b9d2bba77a17884c1ba29dfe6f26f71f6fe621fbd6072b5f755e608d8f485f5c0e4ee6e68f85e638f1f501b736c953de
 SHA512 
5057fe78aeb12fa48bbf6359ae24dc8fbf8457055458bf3ee8e816a7b49f4622b930fdb6d20486261b1dd2dae3251948a80beaebe288330663b95631f63c3325
+DIST firefox-135.0-ga-IE.xpi 309796 BLAKE2B 
499862541307718ce0b31791570a10f6cbd530de8e9a51dc1da0a28f1a7dee7642fe23614f9ddbf1cd14a0911840a360d17ceebe37e93085ff94d9b2b3874468
 SHA512 
e4645a5f78d4c84df77cf15f6360d2391210b3e26c8c506e1e3db6fa5a3300c17b8f4f66971962a529d3295582ddcb0dc7247e9e5c7864733b39319bb2f96d7f
+DIST firefox-135.0-gd.xpi 405574 BLAKE2B 
b9a1dcc89117645dca0693d49032cc7e8845cf62a772cd650ac3908ba9c1632ab27de6ab9edf33e87eeea1237904f73f6a50e962f8c20a56747919be24d457ef
 SHA512 
2a7e5f1974248bad03f68bc8d8a989337e3bc5a2ffb9139395398d35f33bf9239d0d44921d7383b73628f0b09556304d5eef2bc883ca60663b368dc7d1ce5e2b
+DIST firefox-135.0-gl.xpi 408689 BLAKE2B 
d66b1aadfbbfc817c9d72d3bba77debe76b635327f4950c1485405c09edc2f52c4d5401b21239ae4f7b77cbbd0fb90e76bfc1f6573ba8fae4ba4c35ecc78cc32
 SHA512 
cfe6c046bbd3d46eac6d745f77e8c4748e3756a97a632ca37b06c850d9f46299f4d10f6fbe0fee0403e2a7322c7ff4a820f2cfc289aaa88616108df5c54eb210
+DIST firefox-135.0-gn.xpi 444176 BLAKE2B 
f9758a62f996406bcf1509cbfdbc5ff1ab344414042c8549da6b82bb982385422de15e40b9a9ac546e5b1d90506d5f1c716771bbf09018bc0d19e0a45b2682bd
 SHA512 
672a9a8b592b3e647f7a2d5043f78d292d015103425817716cdefed1a8fafeba8acf579bd5ea01b69ba451e247d5e274ed2686278440b1a6a9f49cfe4ea1c1f0
+DIST firefox-135.0-gu-IN.xpi 363080 BLAKE2B 
489386089ebb4b661880efcf5f1f11ea08c8411c3d5bc7595f2b527a301878e4d7b6c96fdba3fd0dc5cb8caf705e78bb36cde2c5e1a9e1d9c9742ef83d4998d3
 SHA512 
0e281185c6bff66069dbb133744837e64b217cc70b808a10398229a9d703291e75efab1bfe12ffde13f231d5437981e560799d3da15a4f191bad5d0ba21d7549
+DIST firefox-135.0-he.xpi 438091 BLAKE2B 
5a1b14a68b29c9312db70d2a850b6aa63d8bea54afa1052c852aebdd6fe4dd63d658e6ae712c148ec38c09823f882468b392198850969820951c34f6abe9aa06
 SHA512 
74106d18f01c931e47ddf958de68aa5f6c7814e2c5c4c0ce79f277f8e0c28959c3fa01adbd5aa60d53ee2abc0ab8d7b4020c9159ff171f0ad2a0f3fb7af0001f
+DIST firefox-135.0-hi-IN.xpi 381627 BLAKE2B 
4d3d4bf705980a2fe8bfcb882f1b90d663667a57f624a93cc7200d0e92fb5a140023b1be5068f4ef76f794082d7f66646fb4372fd90f6c5ffd49276b789d5e45
 SHA512 
dd24fe792505ed24182085e46651c661a7f388b95310e1acc0147b45f255eff9a2eea9956b975ce8af135beccc1236c8f5f5097c186fdbc66ebfcf5e75dc2657
+DIST firefox-135.0-hr.xpi 431103 BLAKE2B 
26eb17bb67c0a1d9d38538ebb40a633ab9ac82030372eadf748b5bc369ab040552b909de5850ddd5da1d962bbe74a97825728dab5034190034cf232193acae22
 SHA512 
65889480ae9395d80a31c76ff0471a45634800e014b6c75bdf97bde40b70cb2f6d6958812161e4aedf6aead23a7cfe7fff727f770c06273d7f3996f76a7575a0
+DIST firefox-135.0-hsb.xpi 457172 BLAKE2B 
8875df22fea5965bdab1e66d7aba629640b507c6f7564400bec9f0afd370059c2d38fa32c8b95b59f150b7b3081bb849ffa3309b6a91f2634d61264cf759cfda
 SHA512 
e679413acf9d1c56e5a639e6be3fe1a3753fc86db69411cc30684945b2e72a7cf33ee0a54e8e629a3c116f6b00a79e1e2a827e8ecc399cd6a3fa1e541148f9cd
+DIST firefox-135.0-hu.xpi 461006 BLAKE2B 
eb9af5bb99723785a30f1a91f10d057ddb5ff3186b8bbd1136107336143662197464ed3a55073b85ab7bd91cebe756c3688c5087559f7293faa7b740a36ea50d
 SHA512 
96bafaa7b09707fd73532a5a9d7415f2feb3ff846877a2b23b148b208150edb5fb393ae25d3bdb465d667e1095891f0297ce921a33cf870089c171022f374599
+DIST firefox-135.0-hy-AM.xpi 450030 BLAKE2B 
6e03c06abfd7ace9200f4dc3918003551e4aeb4816b32d9a40ba26e31c91a7744fb4d4c6efbe3c7b371b8e57967e025f3062f2b40c8dc681968d07cd4808d96d
 SHA512 
896cff86eadb0b2de93d316fa0fa0d88bf745e4eb521c211dc6d92394be235a50782c4d9073ff0833d0735fcb8d3c197c9f67191558650807b8dfe4fb9c04cd9
+DIST firefox-135.0-ia.xpi 425189 BLAKE2B 
b12938520cacf8aec9d7bd97d9670e6bdd6d34e0c74d428f372921b5d9d4afc4b571ee56f176774778bb38d6c4b5521cbe0c54c24d6c9dffcda96770cf046cf0
 SHA512 
78fb6f00e949f3466c1d8a0c63879b56c4de7abdc9030aa3d1aa9cbd041eb81b3b8ea159c1287655db01b75c4da3823c1adaa019e4e569d2e0ecf62e58799f4f
+DIST firefox-135.0-id.xpi 414159 BLAKE2B 
310b5e0ad36ba9028f36acd538f9ba410c6b680e5e7f2afb0250230f8417417e73579ef92cf74bd15a83c657f8fb96d8e22977b1a4fd54983b3fdc8c42975f11
 SHA512 
36c0fd620d6cf258a9309c1b3817738505822dc6ff3ebddef788f1d6ee2e366572134e7ac4d530db8246fea377f2057b850dd80301757a29239804d51f94ffca
+DIST firefox-135.0-is.xpi 429197 BLAKE2B 
4d7358dce2269be61a6d3be3a68c70406264f1ca87eb8f04da7e2ef91e5938d61bb4634fc11fe87d6164c1da49603873559115d17f691183d0957a1bcc53013c
 SHA512 
d887911a9c6cdd090c35b859ef5442f8aa8555124af9055c5f4e8183933fd50f13611308bb897375a959a2d76d98fb6d74239ff95ae85f7c14d9a33e4a5bfc89
+DIST firefox-135.0-it.xpi 435818 BLAKE2B 
6140fc9d96b9749cc438cec133bb7203dd97cbcb1c843af7e16b692450d425873dc99e756751746805ffc9126820f3896aa7fe716c3cdcdf9413a6d0eddc1948
 SHA512 
738db1df3bcd1dc800978e6157b7de4ab2867d722bc2a3a7887224c1cadc23872748c28dbb81bf1f03fb92fdaf0ec51d716aaa6aabafbcda540ed696a2e1887b
+DIST firefox-135.0-ja.xpi 476070 BLAKE2B 
47fba0406ec77d7060538452aae0762fa0b9cba1d0521aee4915b3778486ed191d37240a46dfb974f51cc4ec16dcae2669f2acec6a1687dbfe3cd74ed3769557
 SHA512 
c606748ae92047539b6a6fb862156d3fb44680c93392f0db39da6897010c1011bc2582070ff9c3bb4efa3c96108283310b7fa4349c235651d76cc7ef9ffb121c
+DIST firefox-135.0-ka.xpi 488870 BLAKE2B 
d2d27093e730facc071e669eea814a8d02a2e9585926a48533fd1b853ae6fa5992a6cf2b21e984d028e6dc247e39ae23182952a2212d40c10e2e81fe13cfbf9e
 SHA512 
c0f824324856f67bb9e71f015be0f5eb49c4298a0d55f775ab2d18aa40fd928d9253f127dedde80622280681b2a8ea479cc6c862b2820747af9ac917e0f54628
+DIST firefox-135.0-kab.xpi 417296 BLAKE2B 
600e7344460694ea9c3b345dc2c4952fb1a58c57742c06a5204d2fb6c96f044910898e89dd0c2dcade2856c5078d6a9c92384bf3cd8cdadd7798afa37e79ea60
 SHA512 
cd07fef85afa56803f982275844f88a2b171dec9bad268b3086729de6a146382a59920d5ad3c9fd27c3913dba963fd34b5ccada47c346f74103b58cf90883f08
+DIST firefox-135.0-kk.xpi 504538 BLAKE2B 
a11229d2d72f20d5885907252ad4f14d300e1cc9063a58505c0558394c1739843fc717f5e412bc973bcc40854e3b4642f72b864a5b306443b8591827617b729e
 SHA512 
56e2eee2ac233bac6f6963e977afcbff7022d08efbb8e1a7847dbf23180e2a7da35db3d27f1a1f7d9bb8f7db78fb4451133583a995b1970211d41d27ef426932
+DIST firefox-135.0-km.xpi 354099 BLAKE2B 
444baf19ced49f553dccfbc9aa8097ed523cc518967202c29bd145dffe81bd5a65b6d1912966134dc71514c7f8ec9cd3dd50777317305f8dffc1c7a8e687bd4a
 SHA512 
b4ba282581d0b9c2b302544cd915a849fd1f5bcdbf9153dccbd08edfc79ac96f8c3e5f3e7a5f789ccf3de5b804da5697be5d463f9843eec9896d4a0133badf17
+DIST firefox-135.0-kn.xpi 335954 BLAKE2B 
577206e716f781537670fcb502a6c3627e89d9a0bd0c03b8f4c111142a29773ac043646052d68896b2fad8bc2f97a8c8d6f1b2534bee8f664c3d4ece5a7829e7
 SHA512 
f37028e52bbf4ba3550551872dea35f961f57cd984395dadaed46cdce045f91982b1c9b195c917fce7e022ae2a8eabf419dce1f66cfde0da180481034af414d7
+DIST firefox-135.0-ko.xpi 462015 BLAKE2B 
2f0330d2e26050e02df365166c3ed3a2b5310d938bbf91eced7f43593c20fe6f156c29617bb321f24512d50db12a029e9a41e1c70b571fd113989e03b8ea39b5
 SHA512 
65210b12fac64c8732b72a92c6624367ff0522a8234072f582dbf42d77c03f01924971b3c48809e7e07164ccd66884c6beb1e51545e9985bc94024d3ea8349f4
+DIST firefox-135.0-lij.xpi 321522 BLAKE2B 
b6507673aadccd1745982c429661e98b51d7f32bca2e50e342935e35f6a690f6c6f7a2526b5f68af7634756cc3c5d4be80441bfbe6b4b2d00f7dfdbfa55b3a8b
 SHA512 
59eebb2dfbb765ae23f0e8f90517890b54d8b372bfe9d808139ffdab59b0117364db5adb2fb8a002884c0fc6c7a3205d9d33d1aacc82c39040b649a4142dfffa
+DIST firefox-135.0-lt.xpi 385226 BLAKE2B 
d6d2c1e49487d180d8e180f3c75ee8977bdddf510b9535b6d144d47bce9f6b68edc7b9273936c8fbec9e1f70372e57797f7a574a9bb4d53333413f7a2ed9a6ef
 SHA512 
e76ad7464c3734da6ace415157faf80ef4cf43b79493bcbb838313854d8769d6a092acb91814ccce19ff64d7e178fec855274db4eb673d8d8c97fe6678f4f6ca
+DIST firefox-135.0-lv.xpi 393510 BLAKE2B 
9007d90272789a9f00244f0224d129baa7cb6ce05e7072f857698379e5f73086cb250de77b9448f465ac563771a46d0bcfe8bce4dc1d56023a5fdf2d320b2cb0
 SHA512 
19ba4c2b82b1b2381150b83e40e1f8b86cde4c941dfa7c125d34199a3811f0b3180103b68c7efb8a8faa2d3bfdc85811d1d96a972606e3a5d5ba768503fae6b8
+DIST firefox-135.0-mk.xpi 321151 BLAKE2B 
fce71272d8e723e3b291999614553e070f26d30df4ef6177cc44f5355d60d088b139ae3446be9da32f1ef2d1e28141ef99ca4a2c7554d57b666f3df96b1e23a6
 SHA512 
1fd6442541d8f0c50bfea50c90f8352b4e2ddb7eecf0ee14e686c3c484a5ffa1df4ed4629ff730a3ae04a2713f2d4a33db01544fff3e22630e00a78ce331736f
+DIST firefox-135.0-mr.xpi 360204 BLAKE2B 
0437fac35c7c69251a62cfde0cdb6e6fedf9b28aa12bcfd68caa95df40e48bf93b43d27d32cce9a96c76f318e213049361c7448bdb8d143e5b7231c2b6f97527
 SHA512 
5af69a8c1b8fb8e4ac01eb884ae4b51ae401fcb95d87fe912895338e9f4b48d1a30061203f6ee62e17ff566da39a8f941236d2770a6c8d6447a43f72117df43b
+DIST firefox-135.0-ms.xpi 298704 BLAKE2B 
8bc4113a75d0946e3647999492170289bfe81411a69934fc45233c9cc0ba0c50824ff2535661d97fc6173ce1fe243e2db3051d7cdcaf22d3353f1e78864b75b3
 SHA512 
0c7f629c330879bb4736454a1221dd680f4bc1cf16eda07b840a06a07e13e6d674090d0b973a3a4cf2dbe91afc632d01d855681af77d20936c527e4271822593
+DIST firefox-135.0-my.xpi 347843 BLAKE2B 
38403b97074bb1bc69e15c3baabc8955243d2fa410d5429e31ab70b8c179c81d375fa09e552eba15bd72d60c4c7683b05332fe92b8aff42c039acace1a1c7345
 SHA512 
5ea6a82be3972097e44f3bb14baf1c474f9f12a108872576421120ac141023ecc147d98e43a3f7115d1e7fe3ae6e41fc878ccd8482841b85734edf1606daf786
+DIST firefox-135.0-nb-NO.xpi 419406 BLAKE2B 
bf0086f19730295ec016fc65887a1ffe1d3162d4f6cc97101be0d88636fcfa6cff1060dfa84dad58cd068496d3ef05abcfebc336d324f45bff54f7c66915c4f1
 SHA512 
a303ab153786d614240c67802ecf736d39469f8344e57f30a2fb64115b510d013e39660fa4c42406569b331acc246195eb9e49fb25e71c4d23121f53b5854340
+DIST firefox-135.0-ne-NP.xpi 353604 BLAKE2B 
1a6305400f39457a834094d216e86b1121bbf26cbf6c335802a6970280e10193f2e294bfe00c311f54aca203e9a48bfb679ebc56fe820ee55a97177fc90980ae
 SHA512 
335d8110051f01edece87660c585b6979556ff332eadc376eaadb6be7289d875ba8da858e83d0b1bd7769fbb7cfc9ed216d3dd96d0bea49f9d118656b99e1765
+DIST firefox-135.0-nl.xpi 431167 BLAKE2B 
2e40b12df70c51d6cf7ffe260084e909423d978545b1ea069b3268c5f1e22f10a04e6c83022e474e557ea6206216739d7075ac2e4d1f1c0d422cff773a3834b0
 SHA512 
90cea7983b06bcbb844f34664ae049c0cddc3af74a82a94acc795756a0b88c28ee9ea06bdad7d46d15585406fd9c9c5c7c016e6832e3d0911d4e567be56ad7ee
+DIST firefox-135.0-nn-NO.xpi 421332 BLAKE2B 
5dac4395102aa5b3413ed2439a958d7a3ea8f1d800cd8a7f8572cbdfc5183994e25e4f2bd8b75cf613be09446c5fb8ac24708a78ebfab9e962eae324e4481f09
 SHA512 
6f37214135d7c7e88606844787430c6c5fd06afccadfe58609831a825f3d9f1a80a33bf79064a9138f23d7d6a496ed1147ad3d5a9abf94814c7aa0bfa09083ae
+DIST firefox-135.0-oc.xpi 418984 BLAKE2B 
fef85dd0c93b3906bf046459a1b1e5020a428cf1a6533966e08bb8602e40100a29c7e60e1f16622a4334b2aa5439a6feb6cbfc547a3921445bb9b0a472a4bf00
 SHA512 
5099ae6fad9bc97181d30524112c581b2670a7faa5d39320cf8e1a89824178fbb42d1fb88ed8d918c213a77be7087414b034dbe2f6eaf56f426d01968cd4de41
+DIST firefox-135.0-pa-IN.xpi 489774 BLAKE2B 
f6853fa4b8a9bba4cba995046db17b0022b6f2ffdd31780bbe720c8c6384f76d0b9bed3483448ce1c73bb9f5b063df1af7e75dcc07d749483e5154256129556d
 SHA512 
69c87156c4246d0ef785bc12b2f4041ffa964bcee9b596fa4931ac69aaefdc8e1c4e13adc8adc792c00514b4fc9b26a31ed548b0762487a6b64acd85b0cfde4f
+DIST firefox-135.0-pl.xpi 451665 BLAKE2B 
e42c0c85bd8f4fa145c5962b8d652bc5c789d0329e03bceccbc4f92d64ae0de31eba52b43eb21a389ac6c601f18acfa870c3c8a34e212417dbb8746785d20e38
 SHA512 
924f985abac49912c1d8a5c528eb8417dad036ee59616296b1982744419c7511cfa8e4b904b582713263787847514934737f37c3692f1aeb107b44b3f524bd7e
+DIST firefox-135.0-pt-BR.xpi 435482 BLAKE2B 
4b5b04ce25416d590b9ce63b850fa1b247a79d977fdde83b162c5f5be5f8eccb7c836e6d3f0f19ddffb2dce509b87747510995938e34832bb60c04bb500009e6
 SHA512 
4cda680d8f09e8336ddc4f6f7e3c161d0b6046b1f69f7e429157eb0a41ea8fcd34b5e9548a9eee6fc0d6ffb4d4d9383289b7e820e0784dc33e284094b3d80746
+DIST firefox-135.0-pt-PT.xpi 441403 BLAKE2B 
ab95bd7f368756b0dbd05b40fe6249d062adcd3f65da58604612a11aeb14096682a38e44cd405c05aa16f73dca32696489b1566aab5c39e607dd4634fbec6a5f
 SHA512 
dcc6de10bfb92f1b50515af3926711fde07f3b81d333fc86a9c7017a4f554fcdc0b75fa0ba641ff6d6e7c7db735d94ecf146361e1dd6624f7a2447fb4b664414
+DIST firefox-135.0-rm.xpi 434740 BLAKE2B 
2938ea3eaeb0006efdc6745c50214543f822bb249153c6e28cb3692cf6ca9d1762a20f5bbaaf683f18be9af0a1715a9feb2a7119c7e89a570d2f5cb80082e64f
 SHA512 
4dea5841509b484a812822741c5aadc4483ea8f7b23f81469ce49a220718c32fd454d2367161a71671b25e1e9eca06204c93e70f364bd237e2339e6cd15c6bcb
+DIST firefox-135.0-ro.xpi 366575 BLAKE2B 
6f683848091c0593042685728135d66e7adb5c90d707eca134f1cc7410ef4afdf00e369323081fb757a40e66d86c3c18344e200d130c70cbfc079d48ba3afe71
 SHA512 
7a6c90f868be3261babc485a8ff6dca955b7330a0c5bc544b4cef82fde7a8cb1b559348741a9d58b06e053088ba71f61807f7e27e824c885122cc34b919b9f27
+DIST firefox-135.0-ru.xpi 518943 BLAKE2B 
23f4bdafd399fd7853930109108ec79aeafb1e50db2ff43ae90ab5416e74fcaf13562b453b8b4c20eed5c4e2c32cf8443e92fff66be9d36ea13cccb89b62d4de
 SHA512 
6b08bac9df91ffcbd6c0c10d22283109262e6d45f9dad7b969cf251024f85c0c69d17797e4de91a15db47474822306ea334475870f3139a43316ec6fa01e0493
+DIST firefox-135.0-sc.xpi 399026 BLAKE2B 
73ba2060249b21d29728bc8cd6655f9744c3de16071b02443ff4af1571c9aa7fc3c497b6618af4b0af769f98ea4e6517f3991e3b3746b7590241c5932d1a921d
 SHA512 
82e33913bc354890d0ef7fc5c185a90938cf08e6b1e78b9564c87d4472627d07b0e5c1e348f509cac76092e57adbacac4590d7f13ead3d4f6bc5d7371eefb0fc
+DIST firefox-135.0-sco.xpi 327583 BLAKE2B 
2baf474753165c29165d874a02086800218c4ddfd856723232d29f71c86780ddae3421ff5b537672f05aff2baa53a1400642879497aed76e8656a9ec3b566c81
 SHA512 
2bec81b15e5b7768540c5e65a3a36aa2ee04413397855bf467f9fa6e3f254fc42d0b1ac26a87208d7bb40be14e3c9b793c8006162c15a558372c8ac5e6aa8c61
+DIST firefox-135.0-si.xpi 415064 BLAKE2B 
245873f81f78efd16769c8b92259b3033977b87b5833d49e2193203a6b09279c58928ba2286bcb6625950c968785e5c5e3f503d8d9566ca580e85b2e7725133e
 SHA512 
88c7677caa97e7227a69249388711b734030bdd7503a43a2e8587dadac40919263e3854bd31849483379d0810dbd87925790f23b942c2ce072cc43fbce13d873
+DIST firefox-135.0-sk.xpi 462402 BLAKE2B 
e64af04be159b1d8789c60661caf3d54c05d2b818b4603e464285448903cdeda7afbd55e43c42e02f0c18524f63c07dcbd580a1415db3da08948e02a9f2fa135
 SHA512 
085584ab6260170faa5ab816f30aad138604b4213eac7767b12007765a49740058f75447c91dda55b5309b838c55ebbdffea62555e94e56b5c9604cee1b36000
+DIST firefox-135.0-skr.xpi 498199 BLAKE2B 
5d9b010ccd9aca267a308461c20b3de0304738d899b13882a1c2a8e074b754050c5963b2cf4e081ea2587542b006587433380eee03012a026c8182947eb00efe
 SHA512 
954a8d29c778f93187ec83f1b6e29bc4181bd01571a260257fc4abcd9d51f6e0c254e3effb948e77ffe6ed383c6d47c67256d75f46b710168c954138ad2ae88b
+DIST firefox-135.0-sl.xpi 434148 BLAKE2B 
9685a67ec60791b12765c67bab5bf1a4f2e9768605b074484ba36dcf84cd7e853c68afc808db632e1bb0b98ba257adcba98f699aaf82e88188926fb907cddd14
 SHA512 
58dd2c335fe866582611644c952602319ecc64157cd9b187126856d517553d1b35555e6fc7fb54de75ffd7273c6e5e92659ad7ffaa48112f6389885d74ff09f3
+DIST firefox-135.0-son.xpi 275455 BLAKE2B 
4021e8fa3751324007c0c3fbcdbb928b4195fdd80b8de787cba3384958ef549238dd0da44c7d92926f776e4c157f4ccd593a792f64ed0857317f076edee9f5dd
 SHA512 
66ce598cff7e3be199d20d9ce80d9e8dac559ff5ab115084fc99aae0ced59599b8ae880bb6f73b164983bbfce382e89ff2aea24b36054f31d53b96dcadb4e3a8
+DIST firefox-135.0-sq.xpi 450593 BLAKE2B 
52894beeecb7fd1d55727c3013e6eae1fd1e69cd6c9d8d6c741bc5c36817b622f9ae33c2a779904c6be1474a529a14a3c6404e722296ff05b2cb6784ec1f5d8d
 SHA512 
aff2aa1dcb5e86076917a75f82413a285e9330e4578ba37eb8327957cc7e7beb3968d5809e1d1d59e77f070bc6d459cd984eb54234b76a22124d73944d8d424b
+DIST firefox-135.0-sr.xpi 460576 BLAKE2B 
96d5a9a3060897ef9abef614c1cadef3ea6ffa538303bf926206a7ce22a529d9e9b5dd227bfc567eaa6443e1b18e093f4f036848870fd280830ab86e436a3cd7
 SHA512 
649da4dcd223de2eaf04f0cddf23154268db81cb99bb2361020fd625f03bf81119ce430e49da94b8c7792e3a3d92317e951a033ceb2bae93daf5f1e398319c73
+DIST firefox-135.0-sv-SE.xpi 431175 BLAKE2B 
6510b35ce1f7f02c7410a6e4fcec1ab1ffe372b8bc9df1bdf6a0d1d1f91605496d276c8c02be58384a08551f4107eee4fef22d2da4b5e1c740580bf8e19a59b9
 SHA512 
856edc47287d7c8ce827cd39a7bf56380f01380001ab0bbac33a871670a1bbed977276eb5b948a30e08eff7eb98ea5713848db6b8e91da23778fbdf5df249b66
+DIST firefox-135.0-szl.xpi 347461 BLAKE2B 
2a427c28babcf26929de229b8459a13e021fb11197cfe3ad8904ad14223f03903715bd06cbc953114ccc2fbc0b65c92101e67c985c79cc224db2e51078b09b46
 SHA512 
de2506df7cc00fd86fc8f13c1648e30ab5767117c2bdc494ff75bef91895055dce30fa5fceeb12190bb8c685b3f927003f4f7f75a425fdf02c44f2e4ecb71451
+DIST firefox-135.0-ta.xpi 342265 BLAKE2B 
503b1b22508638f6ddf8a28722f7369d64054cc7c061019277fb5591c14fb91b719c71b5c577822f7926d28e241a8fee7e73a80293f348af6bc85b4bf1471bbe
 SHA512 
100b9b2fa63f9db8b99c824d8a2b220d2d0c6e426ec3eab1fd220747c54e8391ca3adb880af4b9e3bb9348cd9779fb444a4982a63a74808fa8571d42b8e4e0f4
+DIST firefox-135.0-te.xpi 387215 BLAKE2B 
5d9f5519776cee3d1175355df7f1afbc2a8a0cbe7d4a270241a57254b36580ef499333f0c0395b942126f24cca512b9e6c020fe3c4ed192ba7fb2f24a8d1e2ee
 SHA512 
ed97495775e8e20a3b604cfe67b4f58263bfeb4caea9692a1d7f2aab4020c4153662fb1781dfd0ea70202848f8bde2f0c081eb7a04d8de6a6de0a22da8f65c48
+DIST firefox-135.0-th.xpi 500064 BLAKE2B 
541d6cb287186df84de489de5b3c45dc86954180dab25bb6878522af1ff1a4c2ac177026077a15e6954e576474a699597e7d98ff24824e3d1639e488845c8b58
 SHA512 
d3e3664bd35b5e0b12fbfc6827cebceb0ef12b0442d5f597492830800e9bd8bb0015fc342c1ddc8a76abf4d8f40073bd79cdd47b87a7e273a5af179add25dde5
+DIST firefox-135.0-tl.xpi 354787 BLAKE2B 
8ceb51f40565e48c9c9498c3990d260a4a14819eb0dd9d177cbb447d0f69095bba7ce7da146c9e75b97e5a7bf0d5e2fa0284e31359624d2dd119d5aa810bdec5
 SHA512 
4ece9b2d48d2d81d3131aeecec47f5111d40d5007efee591cf9473f8bd22f41eca05e7304796334e6f4cef3880e653fd77750adf64ca9ee5734c8c5f241e3ba1
+DIST firefox-135.0-tr.xpi 442379 BLAKE2B 
83a36293c8e24818796981a30127f1aa862e3406c0810e814a75a11d9a97c09d740978d76e1f79f39c6a5602ca620fecbc6d3aae6ab860325b2d87dc02756f45
 SHA512 
a071ff3a06e49d27f0ae71f5750bd25cc5c9a433817761ad2332b012b83b2f08d0b141e3344f6a98d93bfccab7e9fb588afce1e47bcef73c4b31ba5c161dc366
+DIST firefox-135.0-trs.xpi 326319 BLAKE2B 
7ec1e441dd9265e1f73b407c42dd9a4b5efdcd52185a0d09a6a26785426edcb0ebfd7ab0ada20a167d05de9ff7ce6d7e04a6f63a367715caca33fc61c2a721af
 SHA512 
87928838da938af07c1674019579fdc0778d13bd13af5db6891356f73468cca5a9f7612a34d764606f3e124737e80c6ee7a3d643106a6b3a892cbb79c56d7701
+DIST firefox-135.0-uk.xpi 510886 BLAKE2B 
e00ac1c282da95f3ed397a34448514eec6051d65520bdbbf46972574f04e2e3384969da7862d7e80d90e55e54a690f9ef901a09abd9e493165c9e66cc32199d6
 SHA512 
ebaca0dd3e7bb6f3857eddb6525e12a672a1984d6dbde6f747a5d7fdfa6bc010762f5e66f2b036606c0f1720c13f94a17257c928df5b1f681ff44c4b5f2b8ee1
+DIST firefox-135.0-ur.xpi 374855 BLAKE2B 
1576cf57492c3a3eb1efb52a22922db9cebc69993b849d9ce9283f8b0bb4cdfa6cb4361256559d78866e00e960cfa95091058fc029be68300f66951b81b1677c
 SHA512 
4d759c75fe0905a202340c5eec8cf806522d5d287dc4b28dac5677f73b592f688ab2914e23cfe300b45b1a2fd07b56bf495fac648e5ef8d0d06ef44bd4821236
+DIST firefox-135.0-uz.xpi 308112 BLAKE2B 
6701697183ecded30c0c395bf1c4fbd79985d91596fe6d9d0ab18c41135f6cf510a51db9de5bc4c4045b28443f80faf1b1359ca192f60a9f1ed235c90ec41c6a
 SHA512 
a8fc7839b612277c9bd1302c8977b679279247022b9325e7e43cc7dc65c69d2c84ba1a7e24c43fca1334b10109b7c71f0e78a7824c957c124cf91c06f6d748f8
+DIST firefox-135.0-vi.xpi 463945 BLAKE2B 
b0380f28be261ec67d15c1c5207dcb9f6d19f49dc7e1711c66a74766826ff68ac1875b6c93f30a9928e678b8f86269018416a01561e0979f7af1827b89fcfe79
 SHA512 
25f0832ca485f722b6aaf0fc5517bbf9e6aba7c450f40797c003f1cefb66cf364b773dbf29b45018c287159aaf942b362ac0762b3c9a11b58a107aa8de94b6a5
+DIST firefox-135.0-xh.xpi 275831 BLAKE2B 
bae380fde3744475fb2f45f6e4f16f228bd2f8fb0f118a7ab41ec01125b134f5660dad2d631b73dc9638629741ec3392e6bba3497f41d7cde5ce20c02190cc95
 SHA512 
0ddd50d6a61117a5528c59f2208d1f123384b7a436e9f6ff848a171fb4a689e3f1246474e50f69c9496e72d88fc86ab2d59e50f3c267c3cdf7f4c20cc3990d78
+DIST firefox-135.0-zh-CN.xpi 455592 BLAKE2B 
c98b1d6b40de79364aac1f00d5873fb33db274b8c8d4c6d76e74ba1c5ab35cc9981112ba02be760844d9b44534032e4fd3b0d814b0b67060cf6d3ca9e80865b9
 SHA512 
903222a913298c1c15dfffd6ec6de2fe2817d678f3004fc0739d7e63175ae91cd2f75ae5dc718df7ca70f9af646b3690cb20a10743339faa0f22142b65ba6a42
+DIST firefox-135.0-zh-TW.xpi 458490 BLAKE2B 
226ff3062418d0827d01df1efe5080f5703fd8f4edfb9ffca2eacf7db496dfbf69458127380a6057e263f0d9166ca14d515baa4c8b4504a8bd390a9d2a14e87d
 SHA512 
69aa1a2f600528db8bdce44a7056ab3c1b05a08b9fe82dc6b5d9246b4e0d4a4166241e6834ec2894c5a14a096b29d335134597652e4ce3c8b2a774b05739e8a9
+DIST firefox-135.0.source.tar.xz 613526736 BLAKE2B 
a9309d125b48988bc4e5c6989f2a1a0ee169dc7661a3d8d67d6bb32271812b2e22b885fa8384c027835ba1907fe00ad2fb8c8c1e8d87f8dafebbc9939c378edd
 SHA512 
7d283bcefe1e328901f15a88f5ff3da566bb0495ce5b9e3895e7a156020126a5743b6bffd69d94d9eb812e1868195ae92db162d29a5d98ee118fdb238469c089
 DIST wasi-sdk-24.0-arm64-linux.tar.gz 119660865 BLAKE2B 
5067fe0d63a8be0e3466131a7f1e0a92185e09879e5256b8d12428606920fb074198d7c5b4f949466f5179852f53911333baf8fb2409068de4a9a6c4d62bbd96
 SHA512 
412df3d066ef4a175bc5a10353d4bf853c6aee101a024b84b2fc10c1e2a48c0dde1b7162c08a56726861a5b5b9838c05da75c5069d3454513ed862ba3f4629bc
 DIST wasi-sdk-24.0-x86_64-linux.tar.gz 118879731 BLAKE2B 
385dced143f463427e48839b4c9a810161b2791f0a1a335ad53b1cff9e20fd004b1c24c80443ec213f448dc31a5b1748f447569161c88ca8fc01b3bf35421aa6
 SHA512 
e320e1d3965324dcc435aab15e0ec3597dae914fae9634af4e7181a76609d35fd01cdca07621f39a6c894b528055e2d014ce0c1fcfe23a154343f51fb48928bc
 DIST wasi-sdk-25.0-arm64-linux.tar.gz 115160800 BLAKE2B 
1ce22aaea87d0720d40d46ebdd96508c8fb0593b53c4489022fd5a1a9afb043a26a6e162a992d73454f612f2b6ab01e17a99c189c0c8b8c2d2d68fd96fabee1b
 SHA512 
ef4eff22c1efec4dc5ab199d09d93ee0004f9fa67b32cac0030f8b6a40def10f714391cec8e803c200995dd8bfad3ebad9ec79b4195aa6b2ea61ea47a8b9e61f

diff --git a/www-client/firefox/firefox-135.0.ebuild 
b/www-client/firefox/firefox-135.0.ebuild
new file mode 100644
index 000000000000..97544cba3f39
--- /dev/null
+++ b/www-client/firefox/firefox-135.0.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-135-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"
+
+WANT_AUTOCONF="2.71"
+
+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[@]}
+       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 ~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.107
+       >=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-73.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.35: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
+               if use pgo ; then
+                       if ! has usersandbox $FEATURES ; then
+                               die "You must enable usersandbox as X server 
can not run as root!"
+                       fi
+               fi
+
+               # Ensure we have enough disk space to compile
+               if use pgo || use debug ; then
+                       CHECKREQS_DISK_BUILD="14300M"
+               elif tc-is-lto ; then
+                       CHECKREQS_DISK_BUILD="10600M"
+               else
+                       CHECKREQS_DISK_BUILD="6800M"
+               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="6800M"
+               fi
+
+               check-reqs_pkg_setup
+               llvm-r1_pkg_setup
+               rust_pkg_setup
+               python-any-r1_pkg_setup
+
+               # Avoid PGO profiling problems due to enviroment leakage
+               # These should *always* be cleaned up anyway
+               unset \
+                       DBUS_SESSION_BUS_ADDRESS \
+                       DISPLAY \
+                       ORBIT_SOCKETDIR \
+                       SESSION_MANAGER \
+                       XAUTHORITY \
+                       XDG_CACHE_HOME \
+                       XDG_SESSION_COOKIE
+
+               # Build system is using /proc/self/oom_score_adj, bug #604394
+               addpredict /proc/self/oom_score_adj
+
+               if use pgo ; then
+                       # Update 105.0: "/proc/self/oom_score_adj" isn't enough 
anymore with pgo, but not sure
+                       # whether that's due to better OOM handling by Firefox 
(bmo#1771712), or portage
+                       # (PORTAGE_SCHEDULING_POLICY) update...
+                       addpredict /proc
+
+                       # Clear tons of conditions, since PGO is 
hardware-dependant.
+                       addpredict /dev
+               fi
+
+               if ! mountpoint -q /dev/shm ; then
+                       # If /dev/shm is not available, configure is known to 
fail with
+                       # a traceback report referencing 
/usr/lib/pythonN.N/multiprocessing/synchronize.py
+                       ewarn "/dev/shm is not mounted -- expect build 
failures!"
+               fi
+
+               # Google API keys (see 
http://www.chromium.org/developers/how-tos/api-keys)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+                       
MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+               fi
+
+               if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+                       
MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+               fi
+
+               # Mozilla API keys (see 
https://location.services.mozilla.com/api)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+                       
MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+               fi
+
+               # Ensure we use C locale when building, bug #746215
+               export LC_ALL=C
+       fi
+
+       export use_lto
+
+       CONFIG_CHECK="~SECCOMP"
+       WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to 
play DRM-protected content."
+       linux-info_pkg_setup
+}
+
+src_unpack() {
+       local _lp_dir="${WORKDIR}/language_packs"
+       local _src_file
+
+       if [[ ! -d "${_lp_dir}" ]] ; then
+               mkdir "${_lp_dir}" || die
+       fi
+
+       for _src_file in ${A} ; do
+               if [[ ${_src_file} == *.xpi ]]; then
+                       cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die 
"Failed to copy '${_src_file}' to '${_lp_dir}'!"
+               else
+                       unpack ${_src_file}
+               fi
+       done
+}
+
+src_prepare() {
+       if [[ ${use_lto} == "yes" ]]; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+       fi
+
+       # Workaround for bgo#915651 on musl
+       if use elibc_glibc ; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+       fi
+
+       eapply "${WORKDIR}/firefox-patches"
+
+       # Allow user to apply any additional patches without modifing ebuild
+       eapply_user
+
+       # Make cargo respect MAKEOPTS
+       export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+       # Workaround for bgo#915651
+       if ! use elibc_glibc ; then
+               if use amd64 ; then
+                       export RUST_TARGET="x86_64-unknown-linux-musl"
+               elif use x86 ; then
+                       export RUST_TARGET="i686-unknown-linux-musl"
+               elif use arm64 ; then
+                       export RUST_TARGET="aarch64-unknown-linux-musl"
+               elif use 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-ffi \
+               --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-nspr \
+               --with-system-nss \
+               --with-system-zlib \
+               --with-toolchain-prefix="${CHOST}-" \
+               --with-unsigned-addon-scopes=app,system \
+               --x-includes="${ESYSROOT}/usr/include" \
+               --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+       # Set update channel
+       local update_channel=release
+       [[ -n ${MOZ_ESR} ]] && update_channel=esr
+       mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+       if ! use x86 ; 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 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 ppc64 || use riscv ; then
+               # '--disable-elf-hack' is not recognized on 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 >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry 
prefs"
+               sticky_pref("toolkit.telemetry.dap_enabled", false);
+               pref("toolkit.telemetry.dap_helper", "");
+               pref("toolkit.telemetry.dap_leader", "");
+               EOF
+       fi
+
+       # Install language packs
+       local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name 
'*.xpi') )
+       if [[ -n "${langpacks}" ]] ; then
+               moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" 
"${langpacks[@]}"
+       fi
+
+       # Install 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