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
+}