commit:     fd9fb06f801f46839b0b8c2510693416f6dcba2d
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 12 06:55:39 2024 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Thu Dec 12 06:55:39 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd9fb06f

www-client/firefox: add 133.0.3

 - add python-3.13 compatibility through upstream patches,
 - include a patch from bgo#944056 to (hopefully) fix compilation when using
   +wasm or -system-harfbuzz use flags on llvm profile.

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

 www-client/firefox/Manifest               |  102 +++
 www-client/firefox/firefox-133.0.3.ebuild | 1370 +++++++++++++++++++++++++++++
 2 files changed, 1472 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 0c648825bd57..a309abce0a61 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -202,6 +202,7 @@ DIST firefox-128.5.1esr-zh-TW.xpi 677431 BLAKE2B 
d7b0a38dbb8a14146d2b26a5c5885e8
 DIST firefox-128.5.1esr.source.tar.xz 559760256 BLAKE2B 
45c1e9cb54ccc031ab8ce53d61337b3105cb76c7a00043ca62b323aae968c3e3642fd5141355a96b43fb3bafc43f72f4127d6bfdeac6a51be2f6a56f0e66699f
 SHA512 
476d71ff45a7178301081191d1b4c47fb21b42618f12191605f95ad48603b84a9150cb5c96f668751a43c8f6a4a43ecf337d38007d8e2b546f006faead2d66d5
 DIST firefox-128esr-patches-07.tar.xz 18856 BLAKE2B 
44d0ddf11518c7eef0a96de4f475a6ae1535e43e5bf89b8f61dc95330f28d6a053d08e6a183cf71432107256c83cd6ee6f742b235ca82babe4dd83698bf80d07
 SHA512 
60b4f18f5d91fc25f86cceccd561b55f167299908fbf2f9d7d69a8ce299c643f0b538d613d4348e42dd17c3812e4fa315e15004614af1f40fbe2adda417a1a81
 DIST firefox-133-patches-02.tar.xz 16928 BLAKE2B 
1748a415d3588b715a67d6fdd1a799643834017fb759a89fc3fe8f49839c44716b1e7d07abb4d36bdc24aa85e674ef7f8a872786911c811b1d7873b07a138670
 SHA512 
e5e3416702889fa2f883db04675d34c27a1699525d069db41346b154bbac31831b0796493bdaefb81f7bfc1a0fd77068b08adbf78a1c98209ff87b8ae1474e45
+DIST firefox-133-patches-03.tar.xz 19932 BLAKE2B 
d7a8843d7a85cc6324050dc66a325b0cfcb0df23f9cd1a77ae52365750007cf9c37023d90489a022560e21e6dcf4cef7db8f065cf7a8be87898cf63a68346f54
 SHA512 
b62f0d15f77ffa9e189394780c64189cda1cfcb97fcdbce848d1e0931ab903010d847c9bb050a02412fa5288cb53b25043372db61475dc3833957b12b6ae25f9
 DIST firefox-133.0-ach.xpi 468550 BLAKE2B 
f43831186c2b63a701a5f82d0a6352d3171de07d480b291c3b49124a437e07075ac1590b78527bdf8bb0699d1084991a29683a8997e1c06c7b317b28d37678c5
 SHA512 
150daddb52ed7635091fb484679f8defd0038a6b67519bb817ba16c4bcaefd2feada7971505505be41f97a563d4d1d49d9ee5e0c50fbe36885b333600abc2b39
 DIST firefox-133.0-af.xpi 421559 BLAKE2B 
66732fe0f7b6ba4a02124340181e4105ef13b5b529e7588b0f94072ca85d43920c83808874d6c8431fc1bbf18869c2f3547c8c933a08e2d2625c761880024d87
 SHA512 
c9d1206cd565ac4044d3eb329e689b067591f5ddb50600ac748f7e768bca872dde9c34879ca91cc09df37bc7dfb38834e3725f4c7d64ec2828cbd2c2f3b2c9c2
 DIST firefox-133.0-an.xpi 511308 BLAKE2B 
a412d766bca75f8e7968cbc048d5548ef583b47fbe39476db0a33f367592b0cf042e6b8a5056114d282121f5e23f368433f919a42a25911f0f12846966657946
 SHA512 
465130689e67dbb0be1eafbfaba3ec5216fb150d4f7d8e31a01b939a1ae2d544a60dcafa5e343625dd605de5fcd34c9c4d652c4bf3c6cd2d5b255f61e0b98b2d
@@ -302,6 +303,107 @@ DIST firefox-133.0-vi.xpi 677951 BLAKE2B 
2280c6faecf37a505fb77adf3dcbee47f8be540
 DIST firefox-133.0-xh.xpi 421373 BLAKE2B 
b1dc747a9fb06da7e8575e432cccd24fa487ec2c8d3ef79db030a11427f1640e282d9c647ab398113156da03a1ebbf4b8fed9d685d5e556efd2477cb7a863ef2
 SHA512 
9cd9aa2c9bca36136ce025910072d72c3902ca58fbb09ade7e2feb11846c0c60176e3a76dfc8a2cbc877ae55a9deda642ec65dfe70186bede74bb876c5cb7369
 DIST firefox-133.0-zh-CN.xpi 679311 BLAKE2B 
309c1e0ac0d16b92336b55a876107eb6c597d7e0f138c550cccf41547b78aecce431fb9b84d65668a19b68fb1f984a0b377a4ff26bc86c6b1c0935803a3dd92c
 SHA512 
f81d734ae03c10a95b99a89cc48752a771e255558b69408123cec75646ff1cf1fa629f8b6307c0691e7ef62c8cf6eabd3cf9e2f53d22f8185d5d31ceef85f400
 DIST firefox-133.0-zh-TW.xpi 681645 BLAKE2B 
b5211fcdfd3d5b60ad1a1d925093b51123d60945b0ae6980c1a24e8d087f1997be5c1409b698ac4572468a2b84880741205bb027b1a600ae4f36e3212ee038b7
 SHA512 
6120c76dfbe2340a63ed58df3c9eec31c869b5ef33d47dc048db7916966ab1f8b8afdbc618e81de9a3dd07a86d61b8a323901f61137d166a0eae5304e2ffcd34
+DIST firefox-133.0.3-ach.xpi 468546 BLAKE2B 
6da604850f3d69b4eb65a42e3d7c48a9d88803f91dd95b5fde30801a2041ca2cf0f11083fc565f21ed30c6588471bbdd8019f6d4cff8734b67ea105d2cfaef2f
 SHA512 
8ee31a3c51ed6d2d1fdfbf98750ab54e0c2ddd96cb836a2ae310dce095f0b29bafb731329af845208c9b04fcacdcfb2fc92405a01394200e41453d4b1bb1759e
+DIST firefox-133.0.3-af.xpi 421558 BLAKE2B 
0a9adf8f87950c28cd7cc56ab75a391d2795cdcb60b6d9f7680a7456cd0886e169376ff18dd0e0fbb3ed702ea333c8668c2bf3a635ff6e54f2913a93fe668b5c
 SHA512 
2196953781da16c7e01128ffc89325c1f13d55f6d9528f0dac0671954fb7a0f7da3f55a31e821efefeefea65d32339945ff988b90febc91a4750779f21b919b0
+DIST firefox-133.0.3-an.xpi 511311 BLAKE2B 
ae9c162cca93513a10ef31e1e43421b7a1caec7928cf63a658f95e34aac9f1c81c58d314f8cd8bee54fe2f6f91bd418c63dcc2758a6ceb92a31dc0e2d9594b83
 SHA512 
372ef860f44df17c7e2f1a8a53504b11156a19238b350bf189ad5c7d647ebd1a3e1235993ea989569610e5606644f5c2d768535b0e82c9ac9cd8b9d14eb2242c
+DIST firefox-133.0.3-ar.xpi 633736 BLAKE2B 
0a51e88bc23d134c70072eac6dfecdd0b275c7976f3a8b775a0766afa6e4e3600a1c8aadcd036c4519ec2f6fb377847508f8d689dbc45c1109bac0cdaf2b0111
 SHA512 
6636a05a5fb4ec8c449e7f26b23b6e77e3ecf3e76ce5deb90accef1b0781c9b75c0f5fbad7b14eaeed3c9354606e3b7578b1d513927681379df94ec8d9da1bb1
+DIST firefox-133.0.3-ast.xpi 500531 BLAKE2B 
302e0916d6b48d053e44da9689d4f2f56bd6c7edc6c55412b1be0837ee47f7528d5484dc68cd6332616d6f47b9512425a75e66a4fae0cd361dc7160f020c43e9
 SHA512 
4d205c781cb8413fdcf063241d4e8682e2c205773b78e5ba8746771d01c49ee924c3b9f7d834d2786ad2151a9e9a918894410f45d1403c0c796dcf58d2c7c053
+DIST firefox-133.0.3-az.xpi 495280 BLAKE2B 
c08f54c7214057f82309b1f6f6f503fa24335a970d02f7c1511a87566dc61b700af6efa099c4fd3c92f79d0b4ab6cd59e2d5ae414bb11f3610c16da3134c5650
 SHA512 
a9d3b6dc686e2abb35f3b1d9e6e5787701888b039491a55c05f04e0821a8bf75cc2020fa9c3db5f4d11db93275b694fde671ac74b0c68cfc81473dce84330944
+DIST firefox-133.0.3-be.xpi 740049 BLAKE2B 
0e9df3d77f55c7e5c2f833f9f178143437cc752dbb809368cc0ac32d87b17d120d9c367c922937d21a2f839a0e16a9227a29b740995c4ce163d7feea3abfb0df
 SHA512 
a31ed5827eb59775b12c8b179d744ea80d9e2628b7387016b6d1d2ee09155f0c8c4263514e8fd540e05ce6f1ceb7f0c9646c75a44bf8ed72265f64dd2126f146
+DIST firefox-133.0.3-bg.xpi 652762 BLAKE2B 
cc4760756b998c1c0f4df9b6863f42dc0008e5575fa1440623eb94b7608d251a82aab54bcdc42d36c8c82bf551cb4564dad6c2f7cab3c5700e748c777a08360c
 SHA512 
7ead8bc6ef3c340b42f6ee2336ba577e4c9aa0b2a60b9c94d23dbe93519d6bbd23e2b43946d22e517c86a6188455d08396345b0c1cf6d11bd4a6204ec29e355c
+DIST firefox-133.0.3-bn.xpi 612102 BLAKE2B 
3cbc6d5d418415acfe58435e49253b681f7b42bff0892c48f87cf139e622b57aecc2462642d8188c336f73f2b0c1e9fc0c1cfb7cad203ba9a90905bc8005cebe
 SHA512 
2bc67e17a79cf18f11065444c70ca2f79ba6b514a67649ed4477b9c9b8f2d6fa12b86ba82de0b26aab730dccfec1583ff9279fe5cc6c6c2bc8347ad6dd235e1b
+DIST firefox-133.0.3-br.xpi 598546 BLAKE2B 
7fb5bca258a9f5f4b7ecab869e7bbe42424f899c2865e91e0cc3fe0d28315014a1d559de7939097f9a0487a33267f2250f0e3aa7e8b84b8e3668109706b44c5b
 SHA512 
0eac04e948a3913a37e75f4c6fa244f4e400f1f1149bd6438b09accda05b41994a09144a2172445aa4448b7b068671fe876c5e919b5125360b42b3d4e0e0ab5e
+DIST firefox-133.0.3-bs.xpi 518781 BLAKE2B 
030996cf2cc6ddcfb78f79bf5e24db7ba94ec5291307168855bff48c19015d5ff0a7607382a31dcbf826f0a1b7f755c4e34a32f64a63ab51ec2027efc0d91ecb
 SHA512 
07d86162a21f5ee4adcb809c0d331ef0a0c1b158675a09ff3aa197e71eaade7d9fc73bfe9416bb5d6930f445214c586398fc897e09f94681f35615912322a9b3
+DIST firefox-133.0.3-ca-valencia.xpi 550408 BLAKE2B 
2a6264ea27dc5126e414c0d7e668732b7a460a3e2cc3b3409c8fa5016026d6ad12579db9bf8f0bef13a9077c548c8a8c69bf4cd3e441442fbb64f55e36f4883e
 SHA512 
3bf4d0773d792b14e1f6713a92c5c71039bb6cb9c138bb5f36708ff6a2a86a9aa8d98d184e75be4351e78ca2b91726d80b3e5967dee4f7b26b90f21ea3c6b238
+DIST firefox-133.0.3-ca.xpi 608104 BLAKE2B 
74783ba7047a71aaf3fa72781dcff6459e1a07ede3bfe7f0169d21d4495d5086f8554b2534f2f6398fd356e6ac26d21bc4ede346da3d591c7a792bb1a93d173f
 SHA512 
2d500fe2f7238cc3e5d4848e73bdb0c742e5888198e5f3c140427e7dddb20db1b7c72b19fdcd3031c7e1cc5e0d6ce24cd2073464c7a1eab1341f940d7f97ab71
+DIST firefox-133.0.3-cak.xpi 597963 BLAKE2B 
176c129fd274542c9bff8ff5012f48a960566ea67b6bba5da77fcb130179b7331834d5bd8e49ab0028ec0aa9b04c4f2d61f0773f65e7f18de440316068473a0f
 SHA512 
c615ca79af630726fe61c2390e12e81fe610dcfa74929de100b5b013b5d6e401d538a8b2117d9f995dd795cb5c017c929a65a4b97a2b688ae0b8039982987a37
+DIST firefox-133.0.3-cs.xpi 682787 BLAKE2B 
38199c714460b004b5df838271086437c059bdcc840289474b31eca4d240888e64182cf9d3ac8aa779593f931d6e0403f7e4bf6f13ab3b84132b7a2759803fe0
 SHA512 
59fc996a1ecb48609cde08c3b46748a2b4ad2d10f873afb745823372f329cc4e0c75496a4df4226c5b17092c14db1f5c28c873dc526b88c2cb5ff4230e50a70e
+DIST firefox-133.0.3-cy.xpi 645575 BLAKE2B 
75d0a2f6c07296959db0b0a8ae71bc977aa4068701051738a88a8a7affe9a3a412ca77b132d008733f737c83d70ce1043213eceda9fcd6e538e18b3e26288e74
 SHA512 
8128d2804fc069c40fb95a37404a99eda41b51237354b88921d29c0eed4c1e31aacc86198ab7123b188e11ac29c9ca75a6d997fbddbb633eb9c6a19de67fb3e1
+DIST firefox-133.0.3-da.xpi 633661 BLAKE2B 
ce23d37ed6c72995ee377b9de79bf5272550cca072d8ca2533ce537705be5e0d95862fd0059de208c38c7a451dbad73f2f308cf5d9a6a3612f828d52ebe8df0e
 SHA512 
544aa39d91715c9aefd0e7ec2a13077b4abf712e89d8967d2f0c2d41a1a60c7ec98b4d803825bff84ed873728b35864a38954ef39569eab5e3e5f6a124bf6831
+DIST firefox-133.0.3-de.xpi 656007 BLAKE2B 
fde0a30b2fafe44db7f9a08220ed2a99e2e0dcfb61a4b8f0d9ae9cf9d1bca5381b637f383bdbf3326b4171f43d85addc3ee519bd2963badd16911e1f09120756
 SHA512 
09a09d6385cd04c99efd6a87ec299cba455c0c9ae7ed34ce492169155ea7fc80c9627c4cfd00e79ebd8d57d1265cc153f20942e53c3e73889cf6c6ba710777de
+DIST firefox-133.0.3-dsb.xpi 672401 BLAKE2B 
3227d7c592d4bbc537a2bb98186b4276ebeaad2634661f3668d18e8ee3138735c0fad65d149867f11fd39bea0aad37f30bce8475056425d26449882964514911
 SHA512 
9f4b226ba42c3c927f353ae5ec0fb05acd47520230de07a1bcb34ffab823dc9577cf499741dc4d2d8662930d3f4417d218c49128829419418a655ebc3415bf9a
+DIST firefox-133.0.3-el.xpi 758070 BLAKE2B 
b3423f5db2826eea5d9f5f4258cc64ce1e1d11bff149d6d1f274b854a58a0f91a4ace338e954ab4b4eb134114e2860227e8b40d521a41bfb7381bad1f34b56f2
 SHA512 
99e4bfbff21f034fe789b57156dadadd4f7c1519269b644d517004e0b2f46248a0a090ad3425f91b8c4ed14339ea08cfa297f167bdeec1b8a4f8b88a3c90a73a
+DIST firefox-133.0.3-en-CA.xpi 599444 BLAKE2B 
51e7ee7cceeb6633238e16acf0297ac3f91475fc5f46769d41881ccaa84458ebef476b9bfdec85aacf89b3525a8fd4c10fc753f55f83090a74b15c4db21df91e
 SHA512 
82fd5492e6076a686d5898b4833b40b0c542229f7e421ddf1396c29ef1f924dc662caa54e49f4d0e60bd74bbad1acb7917dcc3d61e0b65b91b744fc64cb6c2fb
+DIST firefox-133.0.3-en-GB.xpi 604586 BLAKE2B 
14dd2ab2f4f29332458614888ad8040a67bda2c7a8feede37a77a10cef4aa9d2655de90639fd9a415b7eb74388efcec24156c545e553f131cc9911a5c708274c
 SHA512 
0c3dea803cb42defe6873feb6232106a83865ec8a0efaa93f1a886ba3c3225722cef0686ab5fab6ba26459d4ceed59f85199bba4538426e8c3a8550ca3f5bbc7
+DIST firefox-133.0.3-eo.xpi 630842 BLAKE2B 
ac0398d82fd714e20b2586502ab552beb830d02e86e990e923b6cf8661ef2a97a74afc49cf710fa2b76519b83bce40f8e525517371cba202b47ca47e8d8a87be
 SHA512 
f33007511ea36973df6d67368ede3680ed87f4915fa3180e669e925e9ed7e005e555ed7b92a03e90546d9c5d197498660504ebeda02f8743da1d0a61e179f1d9
+DIST firefox-133.0.3-es-AR.xpi 649018 BLAKE2B 
986a4a3bcd8120ea074971fb93b9c9e32a3e42342128c4d92093aff4fc7fdf4e390f934df6b94fb2b28379701852c1387dda53b6cf39400d1427492296722a00
 SHA512 
b98de9aaac1d31d99bb423aebee18963fe16578e147c0aa918ae1dc98b3dfe1dfb72362ee9c511e4ef73b79817bcaafa809261418da0742b8cbc45c012e43368
+DIST firefox-133.0.3-es-CL.xpi 648498 BLAKE2B 
757d446e508d8d950839934c25f471f6713a098e2c99cf5b80a5a86d4b717260c4211cccd79b144f753fff3ad730936e7770539123cb914217e6db671063a970
 SHA512 
b5a1a7920bd4f301de186e5a67e6288d261e07216141b5fb226dcf658e3269b7d8fba6072db5409b105a0f5efe095d4d69858314a7c665a8435de47bf9ac8060
+DIST firefox-133.0.3-es-ES.xpi 643428 BLAKE2B 
76674b94d6cd8fb0bccfec266e41347771c0a385cc849aef0c3911f5268903620043c64e0a44e0426e4cd35d8da99f0e8b0f1587cd7270640cc61a8b0d08e5ac
 SHA512 
4ced8ab109ee031e5060927047931f9e701061b7b407d07e96adecb9e33066e6a4403cc5d0bfe3d124e7bf5d11ac372054a968d9870cda78f039d884a4f4ca07
+DIST firefox-133.0.3-es-MX.xpi 641173 BLAKE2B 
c3649f06b5572729353601c90868fc9cd140513f16d0e504bea8cce52419ef614f9a96cd039ac8f6e2b79d5d7ec921732fa06cdcf5e14bcffab8018bbdfe87cd
 SHA512 
c51edc005e48c7426af0f01937c49730b1d50f273b62db191c8f24ff200892e374a31d982b1ced802237f9c9a4049bd4bf4fe6c452c0f5ea1834d37c9a152142
+DIST firefox-133.0.3-et.xpi 546175 BLAKE2B 
c1c28d01bacd9b58a9fd08d31d6e7725ba83ae8236aabf47714239c360c4dec43ae84f911d09dd6b6664a38d19349dc664853cd86ba09f3ba6893285f10898af
 SHA512 
d20df534aa887e1b2a2f6d5b0d57eabe9e5b121a67decf78f62cb4bfdc44d8039d1562e587a55f7b6b43c6230e0cd5b7beccb2511942f4049426d23c43bf041a
+DIST firefox-133.0.3-eu.xpi 619434 BLAKE2B 
4a3fbaf0ae2bd9750a6e25f126df3e888874b964d6e2a539aa1c7260d0adee35ca1ea4d8687ad9443103bbb3a1f32554ca6d0045651a980a427fce3a0d650cd9
 SHA512 
290f40f7ea074f8653ed6481469510ee2355431f3459f980c7ae4c6c9ad9ca568fa9d46e249492f899b20698c46c9238705f4c0f42dde30315f46cd28850f331
+DIST firefox-133.0.3-fa.xpi 597003 BLAKE2B 
5a96c1171667d045320e14cb1ec898a0f344272dc777c7363b221ebc14ec98fe7455875689aec7f4e669c92f59e2310d436c6759c2dcdbda542cad95d8b2ac66
 SHA512 
48871ee895a200de73ad6865f0af4b1d3ed4cb8f7581c348bcbabeafdf435c400ed4593d5ccd6b17bbb7f6c9ae7f28d8a677c1f40391613d8447a1ef54b33951
+DIST firefox-133.0.3-ff.xpi 480303 BLAKE2B 
e133b7b0c07c3065f20dbae8cb66e4fd314af0a8c62dec353312a951dea66985c905e253b0601e8a15a3df09481f528ed81a423ea46ad59bff84a17e7de80713
 SHA512 
4bf714235942a84889eab57997383474507fed85332dc631fca9a3d97fdcd81cc40f12f983ecea2ed4e08cd90d3280f4be8ccc11043e0c5b57b17642224d9887
+DIST firefox-133.0.3-fi.xpi 630015 BLAKE2B 
fe867ae86db2d203d97d2858cc93d3d107f77950645209ca4ee07f03864abfc07f808b6462ca7a286bf3a53802067db3c8c417c0042f08bb930f4a7ca40c409d
 SHA512 
a5573ada7e68d6a5036173dbe4ad59b3f861e15fe7bcb52c5bc79a684b60a76a1af6da54de0b802af5b7e022caf112f71a033a1f6c3afce3091bfc469ce9bc90
+DIST firefox-133.0.3-fr.xpi 660874 BLAKE2B 
cd6fe54b533400974dab6723580ff05722995bff99c803e07442d6ce07e542d96bc3e2a4a77b2478491c654b3eab3d660ef645e16f93d9781a0b688551c7c5da
 SHA512 
7998c8a04dc5dacf54b29f6a1a2b1cd62b75289d59bb1a8e4f1db2f2f541e89c51efa9801d8c2f561ca8b120da19280a3809d6507b36132b1349c3a8cce7f92a
+DIST firefox-133.0.3-fur.xpi 652983 BLAKE2B 
c21cd9e50f640ba25ea7a5d8aba0250aa92f69547403a8fb370b37c0454d2099ba2439d7b8ae51d0f3ea578b2c7ba3d657dd9ec69b856ab794095503da0f4ef5
 SHA512 
37a9f5911bb4c03e5f69694eb41362c970fbea21c46a01316050166aba45100a3d73e7b1e79ba5069c8abb3d3a1df73c78e5bfcfd6b1a897f865b2884213a631
+DIST firefox-133.0.3-fy-NL.xpi 644684 BLAKE2B 
5915efe6b69465634f48abc0c235f100a8a36d2c13338b287b2039162bfa1576fbf928a9df0bfd2f756039104749208ccfe465192a77d5f7c78992028792e6ca
 SHA512 
0a917df697a75a18d140f58878c9e2f77d045b644d969fd071a3ddd3d2baafe99ac027512d6b1e9fe86b6343e4c6d75d312f310bdefaf21b0a33a462af62e7a8
+DIST firefox-133.0.3-ga-IE.xpi 475346 BLAKE2B 
7b46bd20c8179af26a53e273c8d9da9fe247f1ae7e5d46fe595b0440284203bb8d1db25f05b7e785b8019104e3a2cc0030ee26287866cbf756387da6c55d61cd
 SHA512 
08a31a89213da9eddfe2cc188f4dc45726fd4cfd9215bd0fd89fde74d3792fd69c863e008732e8400d044c87b0b8bd81fb53a9c57ca5cb4400ac931e440cdfac
+DIST firefox-133.0.3-gd.xpi 601880 BLAKE2B 
4fdee2d2bafd2dfb0e3bd8183afab98e7f6ee89a88a1b17987021a5d57f9779cacb38ff0b0706f06dfd553907f868c3cbbc605ec6f2d40c505c384ce8a254d85
 SHA512 
7b5d1ae378afdf4ce1454fd688fc3ad29b53992846ba03500b7c667cf3dfec4ed6e86115bf4cf7bb50fbf30bdd2df71fb71933ecb9e556a55074deaf79d30846
+DIST firefox-133.0.3-gl.xpi 613108 BLAKE2B 
f895e46384f526af27b569567177a86d32d579cdf50110145f5f5b2dc58897f1586cf51563372b0814776c5b6434d4421f6512be4913347b65359fce4eacae7c
 SHA512 
7389425c020407f9470e386c3f4cd7f94098243075611039b6b836700b1bbf592d9abd6f840770a4ecbeb754bedb8365b08b86c46a6cab979021c51972e11807
+DIST firefox-133.0.3-gn.xpi 656564 BLAKE2B 
5bb06883920903779860d5e5be1509a02f12e4f94bb0d7987fbcd196bdc57b857c4b1d396b569577918f2590a5f3968ec5d2b6520b10e0e15d575af7d3851b8a
 SHA512 
eee555c8a22c4ef7dabf243fd8af3e517485a86e0ad6b655e343eb111dfa78d5f91edf76acb97c0eb9649ce81586426754244b0175f6d11172f3ff2aae0e0812
+DIST firefox-133.0.3-gu-IN.xpi 531872 BLAKE2B 
0ee20d1afa9d5c07ecee5a817cae9ef77318d88217c350eaafc613293494a7fe0af65dac4e1c4a66ec1ea7d5f03b7e69e8832e891d35ee0edb8a0c12c8c0236c
 SHA512 
78cfb85bee644087c485b618c262f509683379665d0a1807ee069595f0a2ea5ed913c07fa05164d3666e4061736275e086ed8556e0be255c7968e619d2a2b8db
+DIST firefox-133.0.3-he.xpi 652048 BLAKE2B 
fbff7e5e8e244007b02aece95fd5eac74a5c4448bb93d7ba8492c6395f5b321648d7df602cc75d3ee2752ea40563408c1c17023c667b2ebf568548adbf99f0be
 SHA512 
3c19173317372c3869e87c1cfe05b505a4b56cd8ae87ad3f17195e30f5589fb6b16c2a5765f5bd0dec883342289e72a41e2ad74da218a3f691afc4a39f7ad33e
+DIST firefox-133.0.3-hi-IN.xpi 571161 BLAKE2B 
1b8abfa026330886bb04ae05a42708d4ef0ba60e3aa1c2882f0164e7154c61219a5f45439a75ccd4fa95fdacb743ff520203207b0e78b3b751cf885bcf5e8c92
 SHA512 
1273dae001418d22a03107d76e6c93a027f62855ff94c49f211906987e219a21839a789bba4002fafe82df5a0e4e58d9ff93dc7ec01ce9e8a059c09fc5dbfbbb
+DIST firefox-133.0.3-hr.xpi 633713 BLAKE2B 
b714913cee58993481ec4ce08778a2250773ea1c8905c379d27763a197adc417c17c32bc4d91c4ba385d8760ae34aa5389b8588d9b1a0f4f77fd14437f1dce38
 SHA512 
aed046c79e16b9794246e9049e08329774f0f791ae2108158a7cf90ac963e67653a27c7b33cba2b84b26164382461b33c81597a1ff9eca7b48522d8e5b73de02
+DIST firefox-133.0.3-hsb.xpi 668328 BLAKE2B 
253b2ff5f37b14fa245efc6c7db9d7bd8c1f1e669ea9d8e906b112fb310c46d7da7e8ff6495cfaa1cd3cc5677771d84db74d7e9252bbb49eac11db81f2c56ad1
 SHA512 
57d1468d87b809eba6c94a86e1de2e8518c4b32343d077bc77c6b2bcaf1b58afb8dcdf53784f751ad81a376b046637e84a7272993da5790b96bf7b5a7372a5f6
+DIST firefox-133.0.3-hu.xpi 673650 BLAKE2B 
52d9f172bc43c59290f0190c7ca574c23f5af4c7ab3e3512dabfdb70dcfbe3311327e48db6f7eeaa9a3253cbe248a1f413c7fecae7598a7bab764aca16084c5c
 SHA512 
abbd71abc423430cf1d37ffcef60690169e54b91b011e9cc3e3bcced114d9a880f8561cb2a2f5e110643f394d0c29bf1000fece8ca3b59a91c00eab83248938d
+DIST firefox-133.0.3-hy-AM.xpi 656347 BLAKE2B 
7ab90f0eee62493d638ad0ba9488cdedd0ed3e04d159e3ebe49abb19620d465786800c421895d6e423031c38eea0f762fe352d7e2014a321b3865d9b6daec563
 SHA512 
d7895079130651689639ed4ad46f6fd0b52b938655523ae1debe085661aa03b4d646001c728b4e2b88ded3a6507a789ca50af8edaaed8b761da05a1ea45fa766
+DIST firefox-133.0.3-ia.xpi 631746 BLAKE2B 
a594e05205fed7ebb8667c45c890ed94f06d5f25937d2267e5a75b6da8bf55a04ba21cd0ce340ee333864ff899c100cc9e1b3d3117f454b1dc5515fdd7ef6b29
 SHA512 
b8a28194be4a9f5306a621d6b9dfef28ef908f770fcf30c64a9828a60850767327f92745c511ba6ea912a7364c052aedcc3804e3154faacb56a98aee288db66f
+DIST firefox-133.0.3-id.xpi 601454 BLAKE2B 
c9e4342a91d56ca565cb5b2d19c684fe483f4a307847f0536ab8d5956e633f0534076bcc55612bdf6c91d013f71d2550378feb459229e47a44bbabfc3689eff1
 SHA512 
3e4e1bb80f50deb942440863867451aa7bc4ce2cf38f95d6e6153683f8788b5a3d9d3258c1687ffb73b2e93c0e597f57a6e02087dae4e9987717bec6b965c4af
+DIST firefox-133.0.3-is.xpi 636747 BLAKE2B 
74bb835861bdc63c0c3ff861c853748130eca8d98784850a959d3ea40d86fd1c3935da52278b200037385b68d4e29ff0351936db8e30632c176c6017152f554c
 SHA512 
e12954daa21325620ab1dec42cd69d1097543a4a0eef699abe471636057f9a060ee370277e3eee09345d14547a9d054fe5d4487e2ea484ede94bc634f2b122fa
+DIST firefox-133.0.3-it.xpi 588525 BLAKE2B 
af515e89df2b1c8aad50f2e2cb21511a865d9f611f8e3811a7b2996901d7a7657fbbfaa0946eb0d4d252618f47821408313baca9381d8d5ba01b7c2839eadb32
 SHA512 
0df2544d55745ce40ad6610e37a5802ecc5b18fc2866f2b15244af5a0791458ffe936b10a499fce9f926e5f7309e0f17c800b279ea6c4fef99104228c29e58cf
+DIST firefox-133.0.3-ja.xpi 696515 BLAKE2B 
b952364d43c73fbafdf5ebcada6d0e3c6c586e14a6d8f87ffd423e1e644e7f0af076726cd64c49d0679ad996e4a77070009fbf81f9f8571e451bb54d44fad41f
 SHA512 
bf14b8d45bf80a1efd4b7e6c8005ee57b85ec0c472cdbcd7af7e8d0c5e768f6e036876e22e4bbb282eb6e50de9ec441ed8d3adbc8931b525e912edacc9e8d33a
+DIST firefox-133.0.3-ka.xpi 665916 BLAKE2B 
44b6830a3b92ec60669af60fc1e8ef077e2a4cf652054353bd74238a1c8f67e3bf068376e17fc0137f65d626a054556b7e31b9ccaa669b6286b4c3f24cfe76f4
 SHA512 
2b3fab4b3b923ef6775e5803529169fc6c4c4bc23af3de21e740a42469b48348e8ce26556b601116c3e3f6d99df3dba0f0e56d40f6717b89522d39e3915dcda0
+DIST firefox-133.0.3-kab.xpi 622468 BLAKE2B 
45141dbc6f2ed8011866ded78f3148763b57e09ea9269e4715c3e96a1660da81cffc4a4ac3cce2b723c96cef886415bdf77d26914978f0de8936208e200b05a7
 SHA512 
038ca3a08b530002a6088ef4f2c9d5d40219eb82f7a6238053b81cf7f29a812eabdef3f303c5c5ed6bf8835b18f4d08c1d4be71329b9f54296a94441938c5167
+DIST firefox-133.0.3-kk.xpi 731765 BLAKE2B 
7da2b904467c55adf48c132457c837ddc2fe7fc5cbd00ead9fb9e531a66a19d987617c0e7128cadfeff6e09c2a5dc446317fed2fcebc198b6816f58c63d71ddf
 SHA512 
27aa18389be8f3df7681229dc6ad3ec899b9794c12bf5e0ee4b615293fe86e7f14924865cc3d6f73ef050a5cac5b90544a7b5559cd0f2ef21a0b5724d16e960f
+DIST firefox-133.0.3-km.xpi 530322 BLAKE2B 
900b7ad33ee6d0e6f22526423da8959ccaba2395d6aa25d697732fc54a529997eead96b485d3f8721e3ecb721a73ed05bfa32f7e73b1826cefdc891858eab1c3
 SHA512 
ecef2f8d3e4b1364edb236390264165bb7b59abed3b7197b61d7f159dac17219d694ab3a24abccabf8b9b7e039327b2698350cb9f277287af79aaf2abd4e48c2
+DIST firefox-133.0.3-kn.xpi 495319 BLAKE2B 
d13bc41d56daeae406338fe6b42902602910513d44bd436f3af109c317791f1a14e8c3057b36cc3018f993e7ed4d1de70dbdfa7e9bea289ca581adcb616ffc8b
 SHA512 
b7768792a95c14a3beb5d49e84fe1815cc8ffe57d4a4dba593ad82c4266ff1ae7cab6915021811bdb8d21db60ef246ef9dbd56a5c40c249f5e15fba78bb83cc2
+DIST firefox-133.0.3-ko.xpi 683527 BLAKE2B 
9780e61492cd3f9cd254caf6780b14c5250521f72cc0ef5829d51acae16e5c064e1e7f14fe780898cacd595783ebbfd2b7caeb2a11f0558eb1cb10e868eff06c
 SHA512 
5b42394d7b743c7f8bad2c3bcd95aebacaef6f276eeca2eb5f934fc9f3a148746928b45b5ca82151de7a0f932e95dd48584358b0cf8e60163692cfb20eb7198f
+DIST firefox-133.0.3-lij.xpi 488696 BLAKE2B 
c80dc7c72d81a2dcc4ccc44ba55d6beaa4b2e6c6f9e058c3996b3e2afe99035296cc18cd8e1934d27496c765ca85c046e7158df37dd82dd27e2be4abb79322e7
 SHA512 
278d4bd79280092a09ea94511b3b72deff2781658cd906827218f02b54db27bb651055e1dc24a72ed4645fb9ecb0657b169edb5c88b6c3de6387251607f1ceab
+DIST firefox-133.0.3-lt.xpi 577371 BLAKE2B 
e966c1d6f3f08e00f1d53ab9814b3472442c2c90589337632ae429cc5769ef3b84ab39c2a4c3b7708b4edcb3b87b6858aab06fdabf3c59cabbb126b25f212040
 SHA512 
d7198268bb69175503b0961510205e80c435700f4fea6177e5743c3bd781b70473221296bd6c1ece0fa0dba7961c842c4510d1fcae3a9a0d2efdbf19becbb59d
+DIST firefox-133.0.3-lv.xpi 590645 BLAKE2B 
b9ab741c43d66c90e9afb8b248c09d173e02f12c7080b14ad1fab0348bd49fbbe683eb09e0daa2cf13151ab295a2ff74946e6e53eec598f054d959f171912611
 SHA512 
9ef9ea87c8d324f35158f419e5fa00619c32addc2d15b748a48a7b5e018ba6b987cc9b818c7439f2b6976621f0433a35701c90b54ebc9c6241b4390cc14ddad5
+DIST firefox-133.0.3-mk.xpi 497913 BLAKE2B 
8504312fae7a2824758a5596fb1183f47bcf44e2597fbfa552a23068f11e1b7feb60614202c57fe70bf6bba3d6c9e73053824beb888e610635b857e139cfe43b
 SHA512 
c4e93c785a48ac43120e3cab224fb7d7f9a1ebb3e246c7259ff3c121c314a1ac554a8f8b70dfc99c51cbcf0b6ad3df2c4a102bf91582d97290cfbfe3d08c8ea9
+DIST firefox-133.0.3-mr.xpi 536500 BLAKE2B 
7dc03871b727af0ebcabd1022226f444cf68a74cc3ad31f5cadd117620182ec39dfe3863b1a0268b936c739eef8f6850ba4838a8651529919133972a71bd8c07
 SHA512 
a4bd09be81cba8200e46993235cd52f2bd61ca4943727d68a7e42c393c1c5eb3bfc48acc4b5bd4ec52120496e006f5c41e85a565887dc0abb91f6b1619e6f0f6
+DIST firefox-133.0.3-ms.xpi 454212 BLAKE2B 
8cf9be3eed2873e4280123732aabb23ef18011d32a1796acca04430f7fe678398311bafeb9056cf719f774e9dbcdea352472da35d485fc3dec44c12e1fa56cbb
 SHA512 
57cad514037089c4673a149f2b543d3b63e8cba7b2da45ac8d83c9e7afb31615ffed55a74b4d4c6d2044660ef71d48cafa52296cde417d148ef203ebac1e3eb6
+DIST firefox-133.0.3-my.xpi 522780 BLAKE2B 
a664b79412d2ca800ee0cdb552a6ec40460c9c506f2f91674079ec35b2a454227e312720c88131d7d93a0277d5374caa9972186dcaca2f211300e33057f3a502
 SHA512 
830cb208744d54016cc44cfd2422cade0c78cdef4b23ecb852156335a658e29aea946fdef080200808c13d3dea78624244057f6896859150b4844762fcb54bf5
+DIST firefox-133.0.3-nb-NO.xpi 625452 BLAKE2B 
74153ec03c9478fe63f2aa729ccfc6506fdfafd537818890faa557c451df8eaeb1aaf98ec1940689f2c8117c72474044777b3ddf62be20a6cb193854f3b795fa
 SHA512 
ee0a5f820cffb64e8089f49c1c7787fea525711d6c8d367184071261561aa1a9becae95bf32f7c4530468a88136e3eb6ec55dbd6938ba33c3446c5f60f095832
+DIST firefox-133.0.3-ne-NP.xpi 525204 BLAKE2B 
628a3c7c9979b754cded68e48f928bc337d2f56b0c3601d9ea1084b62d204aa6c7d7bc1e5716f34704989ea5b33dc69a39b464f463b4e172218373a7a5e93525
 SHA512 
875c428ae23db49f7b5e0488ebda5a77fd2a99845d31c972980d5f6b16ffbb47e57c651a308fbb3a9eece75943a15c4adf89ebbe302c6934ede6529b2311ad56
+DIST firefox-133.0.3-nl.xpi 638356 BLAKE2B 
6508fd2efaaf2d2130503343f709e63ec27d4b6c684cba26efa597a8223d26480dac725d45c1a54e54b86b87a7b6f50894c5a83264d7b62c2cd7bb2e0aa77523
 SHA512 
7f6bde6626fe4c5483f028a2f5dfc421ef1391ad95be1427acdf5d4c498baebd5192aeaa39059dc522c2df3d39c41918a0f140ff967efa57fc9085977b39629e
+DIST firefox-133.0.3-nn-NO.xpi 628466 BLAKE2B 
6e6efd3b4c12f5efe0ac236e1c3f65e1b0dfffeb1be256938b4fb4b508c4197df6d4a95a57c01697e7897fe649f1e2e648f47bfbf236f9975ea479e0425f4277
 SHA512 
6ad7116218ebef72f54f1c9d01ff2a552bcc9fbd72b92a3db14911d35c220050e263d3ff83de6630c5c29ead7ae7d7d3d292415192792f38b6dc798f00ae72d4
+DIST firefox-133.0.3-oc.xpi 620702 BLAKE2B 
f2771d4506e465d8d917f05154e5a681db8ca15d52a499416a002632fe26eddd81d2025214219321af99ce577a347bc753a62cd84ec991bfeaee8c8169a96cd7
 SHA512 
24801c2e1fece7e76458b45954157785ca2bda21870d749175505b90e28cfeae484d67fa359c70feb189b2a11bd09e6ff41c4471ee1109fb558437386b389c6b
+DIST firefox-133.0.3-pa-IN.xpi 716145 BLAKE2B 
839035303e765a3215d2282eac0250cb1fbb532053f6355f4e570e9abb0a9c9e72d774363c98d4807b91361c739e72d775bea0b48885d88da5889d451c7e560b
 SHA512 
08f1ed252f92369149f24c93e4749fbff8eddc906bc83a746a68f1dbd710df129b6185504b8b06dd55876d74d851ab8c59bb1921eb23da0f9cea56be6cd4bb4a
+DIST firefox-133.0.3-pl.xpi 656087 BLAKE2B 
518e09a477c39cd5b09c66300092ec92fcbf2a83d4bdfd66e57f81db05446eb3931eb4b6e59172df384a10ceba395a26b13625cfeb9670110f0b531626ee8c43
 SHA512 
33fe0308d6481887887f2ae26738fe9399d0500102e877bbe7f995c7a78f215f3c4d67ec7ed35eff3c30ae85c86ad17129163a86663df9a8aa6269387eb52b41
+DIST firefox-133.0.3-pt-BR.xpi 642957 BLAKE2B 
8902ae16015c8e42f74c6df6a9054d82ae8569dd0770785af821517004d7ffd94fe4ff4cf8d0d80ef264dbe125b98cd7a8506474ffd54870c577c3da946e1139
 SHA512 
5f874f79bbbba68c7a65ce4e009ad4c7a649d112fe1f405e64129a1e4b0e79885857e7f66cd117c94dfcc830975bce2736364fa33f18f6f7cebc24dbb7b49145
+DIST firefox-133.0.3-pt-PT.xpi 648771 BLAKE2B 
c66c8c4e60a95309289dbc8ae4b242d0abe507554c0b25fc482143c677cc9bd49862e1100937005a280a2f75ae6eb3baf0798e9713869a542caa803ea6866ee0
 SHA512 
58eaa27e3f7da843a06d922b81f8c121b4a681e9cebeb8dbc49d0296dbae08e15fe446f5c05152ab24918d78ee38f85aefb8f3210536bae7c0f75c15f6ee0b2a
+DIST firefox-133.0.3-rm.xpi 639578 BLAKE2B 
97565456a072a4425ca80d9583e07a1e956bd6c7a2228a39c5542728343276e983ddcb59d38372b51059b0fefa7b56792bf3d344833bce801f02cdc4a88517e5
 SHA512 
51e81de15ee1c835eb2835d661bc0afa7d5773cf86745591c0d3a4978adbb2f18c0102089c4e15755848301ce7f384a3023f1d2b1540df5d854bcae2e7f52354
+DIST firefox-133.0.3-ro.xpi 554422 BLAKE2B 
b104806e76321b5c461ff833707c4c5dcfeb9c1e171cb10cb95f616440e65c896c63be004ea67f6b1c74855ddd83a80e9277a62962cf6ff4245a5a22cf652e6a
 SHA512 
56c289f0e578c540256112c410dfb3f7b25d4083af4a570ac82f4a71c26c0d20ef8840001392e5cf86c68d0162ae85fe6df330e3fa53b47718df280499e88251
+DIST firefox-133.0.3-ru.xpi 744955 BLAKE2B 
00ebd6b0ff68b586804f5d72884d9586a75367729fb3a60bb92ad89ed68fb1c47aefdbde8435fde0dcfee3ff92e21faef0015ffae67eb76b9b9b3d235458d347
 SHA512 
49d6410c05bb535c3f3d8261fa73cf8c65b6e3027e68ea779276345981f2242f74992d88607a67c176f2df49cec629f19c7b7a133441d5bd9b4c4a347f4ed766
+DIST firefox-133.0.3-sc.xpi 601911 BLAKE2B 
9aeefc81c4dd0036267e056e87468aaec2dd70fd4324ea087e956b2c6d5db06f498d65f7c282d53cc910b1016191ba680b54a1a3844d5c641cca243e24d84689
 SHA512 
b5964074e402527bba99951f9b36d372453b09664de763d9083e3f06e37f03e3329de34cbf56ddb0c64992cca01f0593239c8a0a9e8f39e699dd990164938e56
+DIST firefox-133.0.3-sco.xpi 515711 BLAKE2B 
1555480e5ff0e5ba572cfe510a9921da6a23990c44e10d7af54e31c5e8151dd52b74f054ed36c1c29f8c5de29789ef8cfc9aee896f3b0477f5e6c1cdd5a88407
 SHA512 
fd2d8ed9d40760aa802946ec0441a9d1ec26a04c88d2600fc5ae7a21a8dbe20011b054c848dfe536649d4df75a126f4e4f535acb8660426d9232859edc163eee
+DIST firefox-133.0.3-si.xpi 624515 BLAKE2B 
ea3e6ba9f9ab22a8afdb87d5014eb49b5812b28eb339747bace5e7daa7ab3a3a2247fe8e5894bfe0e648d1106fe1b37cb4e9f8f76c4b3d149ac0aed07fa2d6e3
 SHA512 
f9a71da2cc54a0fd8ae79bb74140057977aebf00fffa6f2438456c2db1aba35ca4d92abf186fc36edbbf8f6f6eadddccd004594d45b854250e22dd78f1ea8cae
+DIST firefox-133.0.3-sk.xpi 674987 BLAKE2B 
040063aa2c163f3e36dbd5557d84a85e22d7f743b9ec75b3c4251e82303772010a0c48b4756e9aa27fd0353b574aff1577556def0e5788892749f3b7e8a86cee
 SHA512 
235593ece3ae4dcdc510103f0628d63884c58cd7779c286422f7215af8773d0e3b3c4dafa696b5cc750437ef157e861c5e782e8a4216a518cfaf48f238b83ac1
+DIST firefox-133.0.3-skr.xpi 727052 BLAKE2B 
64283e88e00f484036734549828bc2e58fc6ff279fdbd9df67cdb4f73f875b1455dde505a7e94ebc13bc078471163a1b3efb0e1b449ff21affb380ee82f3e697
 SHA512 
0291c635f58cfbcbfc8cff8faa664b65adfd005b0fd7428bd1655ab93cd05221b9dfc211b9b4355047af8f6095b05f9d77441d7cb5ab30fa5c04b1e36d5fb70b
+DIST firefox-133.0.3-sl.xpi 639523 BLAKE2B 
2eaa6b9bb50e9edbd9328ef2e404e7229ee70560dd36c02b80b5e70468dacbbff3772337bf4f618af6eb4913287a7a17a020cfeb7e91c2c89e23b62434431a1d
 SHA512 
59513425dbcd8a9c254dfa50f65211c76ad465ffb0faa77bf8f6157a1fda540470a5246c12d6611627dabe5c9e3dc50126c6891d756703587f6b1bd122d8e00f
+DIST firefox-133.0.3-son.xpi 420661 BLAKE2B 
0bc157afda00d2dc03e6a86f6841d9ecaeb06b6d83349f95f1e2dcccc4e484b807be5c50fdec00baed7fa64c9e7cc5cd0226f9b4916249a866ef34400c7b45c0
 SHA512 
b14f8e9ffddfc1c327d28d184f5303f6d2aae0f56b406f2093ff021670dce608e5e09484a6f03c6fdee184f0f6fffa067ac9610111536c385b7f8d8c1082c243
+DIST firefox-133.0.3-sq.xpi 660168 BLAKE2B 
e90ba6eb6b69dc5b82da5e8f38f663f6d9dc01a6839afcebe4efde6af10a5242e0c3ec0f62cb4ce50802f5f4e29cd05fa00008c6adc351e5c865cfbc3f2f9572
 SHA512 
e8cd415d94437cfb695535643747bd1ba3c7c99e353612983926b83a25d47dcb99dc4bf2d195067360e9892237ae2c5b70133931fd470325887a40d916d21e44
+DIST firefox-133.0.3-sr.xpi 645613 BLAKE2B 
a6b088d835ed4cccb595672a4d44a12532fe6519f3f6145b44a7767de9c4b80ac3e9499a2d822a67325e63f06488db5c61b02cd6be31c70bc35b16c249abcf35
 SHA512 
fa361e032ded0da87da5dd713a8a1e8fa60d634e9ac47d77aef696fb3c6f4661e58bafa5f7783eb600756a60a0745b4fe20a34c1ef2798f8c3e486bff8ca8baf
+DIST firefox-133.0.3-sv-SE.xpi 639673 BLAKE2B 
5f53f0336dff7e293e2bdb1b3ab9b7f9f66f229b1b95a11b032ba09a15eb699edd7088fe606b3024c0b9dac45a69649b27c82251387c7becf4268b9154586203
 SHA512 
7305bcff3cf203bf5afa17748554d78ee9a674cd47c924ebb97824f50ee6b7f8331c8fc3433ad8aca71c07da9bfb8022c5ee1d91ce299907be8892e2daa283ef
+DIST firefox-133.0.3-szl.xpi 530806 BLAKE2B 
d3cdfebf92806624cb912ccdd2edf50cd599631cebd553ee5f4ac919aec9002001efca592910b34b50196dec47b51060443f040f002ec2508700ad0cd89e1694
 SHA512 
fd3fce038ed73cf184b0a4e85cf0cf2fb7d941a79e0d279fd9e5efac043793447d8076a425872da0d84953661755a8b8377e42ea45e8526d7d95c8537dd3d1d2
+DIST firefox-133.0.3-ta.xpi 511582 BLAKE2B 
d0fef37716ad527dbc97659096c004e0ff3024c46db94ef30e0e385801ed8715da59e89bab76baecbd1fb91e02b8c7f7896eea69c2262f27ad677fe903eb7b21
 SHA512 
10b4980209f498ae6f012d49e51fb4b0c8330eaa6850b03f4d45fbd9e31bb905a1fafa65ecf3d3b0023e02d842da640cebdd72ed88a7512e4cda1bff6708e01c
+DIST firefox-133.0.3-te.xpi 568826 BLAKE2B 
0fb5ba0e2a41e4b71ba33f75cbbebfbd6a8c77ae42e81f497f9070c05aa16b0584d3cbbc69c6c757af12c56afde261ea93d37840c28a34b3fb42e915ce6679f4
 SHA512 
306c11923f2ca3afcdeb4d9491fee29df45afb648e213c3d30d84617ed8f124489fe0e2d2e1a75c16bc05ec12fa0c6c87a72deb20b8ec498e7f910f9e5981e69
+DIST firefox-133.0.3-th.xpi 716295 BLAKE2B 
6f662bb87c15fbd2803792c15262cd4bc4201981c2b0608120918da62cd64073c69ad2a50dfd174371532608d2b601149f1cefb6c5f7348d0b2a2e795fb6e243
 SHA512 
35a3f3b36b2d2e01c1f0f8c2385fd4d82a8b4a64636269da162ba81f8c6765084978a0f41a3b063eab06e8c85b53149527c9b14585f55c2004be63099de247a3
+DIST firefox-133.0.3-tl.xpi 538705 BLAKE2B 
4510d832e7aef23e434092bcfc907eee2f755fab13a29719e96a06959bc1bd618a4463751bfd593441c2cec17fc8bd7c14dc408a06f0d9a5b5414e5438500a24
 SHA512 
e688fa068a7ba4819416a644f404478882414c8bdffecddcdf8bea55852dfb50e3c4c4bfbfc867efe567e1d806deba73a4ca17bf18bb64477715b46b5656e171
+DIST firefox-133.0.3-tr.xpi 652845 BLAKE2B 
0987327de542780f0cf5e5427f030ce92f231cdea45d74738e441deaae0b3e56311d160c1c415c0bf25c88853f9918104e075258a5d13ac7cd6705e0d5e87e77
 SHA512 
ef401cf8c084f639cd6b362150972d5e04d6d816f211e76f756fa80deacd28af2851a34e3973adfef6c6243ee9b350d3c01c122e1d9c3b2885353c4294408add
+DIST firefox-133.0.3-trs.xpi 508677 BLAKE2B 
d101c40cacfa1314d6130f63ec8ea35114240b9ca15372230c6ae1272d8221e8ecc8e70f923ee02e47fd4fa171355339fbb7a82627b567b2e81ae93a46b5a4a0
 SHA512 
f954d0d670e0c5401440fe5e2cb3a18aec45e75d32ad29204ae42553ba1fa489feaecff02144f2bcad84037c3a71bdcd206ec49ce739b5273348a8d9bc19c96f
+DIST firefox-133.0.3-uk.xpi 736143 BLAKE2B 
0984ab0af7c51f2fae15b3478edfa45d11af23c99b558560cfb2ecd48c66a3f97532c90b95a6a9fbef421139421e564982bbb3428524dd1cb54355045145669b
 SHA512 
6685254a500e155088fd09ddf139cca594c790b573c0325c7447d9d9bd9b7495053dcdf36058e38d0cc385979f833dd1ed9342329dbc5eb50a8d3811584a88c5
+DIST firefox-133.0.3-ur.xpi 564701 BLAKE2B 
65081ef3043b80c6d86f95b95508d76b4a0b3e2ae8001d27812e8ff1a0febae8a1057f8ccc0a0ad269e1d7105d89d11f0850b4879cc4124fb3a030e93753613a
 SHA512 
3054c2cd1813e5b7fd49d1550f7db370ec27ba71f461d185817a24bfaf1c736bc001f2bc0fa0f6b841c28924c2716f4a24e9448cde1b4895d96752007e3f67ca
+DIST firefox-133.0.3-uz.xpi 483212 BLAKE2B 
609f4ddd57411d0c85213d6df4574422f3d052d6ad3618357c67a2e61703af77bb7df99b9916d35a77ffdd2c069a0368545c4ae504e119b0c6a1f3d78d82171f
 SHA512 
14210b4d7d96fd07c8f83549b9f299203595f0738f0f7a1105553e822c8f5448d0f7133cfd7d8580a27cf04cd4c20616ed47ece62bfa7023168d32cb1b9bc4a9
+DIST firefox-133.0.3-vi.xpi 677944 BLAKE2B 
c520f4174be263dd011d3c856eac0053a5a342e20211578b815da461a934a078c2ba53ee3da810a29c6aed92c4dd646d48cf4ce408afc41791b4b8c5cdafb5db
 SHA512 
348d73edae8a5ee96dcf5bb335fc4c24e754a95c34c9bfe167208212f26b15967ac122fdfaf506ebca3807923fc75a9dbf30bd214bdd4f7bb0575c8f947dd611
+DIST firefox-133.0.3-xh.xpi 421372 BLAKE2B 
79238c6ce683f1d9cc585f8ce40e1603df46a926b9d8bf02c001e70a4924cfd1a913b73dbbb5bb6301d01e988ef216241b67a3bda8e88ccd8fcc13a17440cb59
 SHA512 
a2b63a6d79d2c9f388d9ef2ebccb71327057a188268c816d66abd2847493ca5fbfd8b1ece1fe8653f3c88dfe5459e9038d1c2c254084ca6afb0007ae97e7ac81
+DIST firefox-133.0.3-zh-CN.xpi 679309 BLAKE2B 
b6f9d3ac6055a258b78857dddffb89c97f2b77bd859bdab6bb20c7791f811267bcc09db2b451ed56855c074cbb9a7c6b09c375819e951f89d67b011178b30f82
 SHA512 
c42eba97f3069b38fdae933489c6dc1b9fbd7ab866830b4d3fbdbaf10969e1cf4665235193ae6985d032fd4007c12dc221f8a6f284625f60b36a043dcbf3c6b3
+DIST firefox-133.0.3-zh-TW.xpi 681633 BLAKE2B 
7f67226c9bf2a2d311b7a13c5aaf68bae1c784c53256f3e971490980f6d739f2dedcde7803d0f1955d6be8390ad461d3fe1f84083a7ea093624ae39564aa6ffc
 SHA512 
975b508f569eff982575a5d62387882a4fe0bc061ef5af510cdfcd4b8c04480b260d9bd89b0da857d481272b12ba5007b73b46938bcb24e2754139d7ec16a3d8
+DIST firefox-133.0.3.source.tar.xz 580071280 BLAKE2B 
e686408397a886e36ead739851ec190f108db2bda92b7147ec16c12233459dc23ab256ba125fb8902fb2a855ea76d9cb02e6c55ea62e7639f8700dba6bae9acb
 SHA512 
ce48beaa5bb1717d9b6dbfff035b1bb5de1456df14b6a91adfaf3ccfb7ac550ab7ee854546231424a920e01d981825253609fce2ec326c4aa1ca316bbbdb31f8
 DIST firefox-133.0.source.tar.xz 582165112 BLAKE2B 
6c356a4d34044825e86f712b959cbfa6ee27c989c74e42b0b276ee6b169ca84b467ed5ea82f850a517694b75be104362273075c2aa6019f9d30e1be4035b3dd6
 SHA512 
b16f9898bee4121914caef48d4f7f44bf9d69aee168586b02bf1b4f4197844fd10179e1b63b273f52929fb348030df36328f24993cd666969da4ddc82562a90c
 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

diff --git a/www-client/firefox/firefox-133.0.3.ebuild 
b/www-client/firefox/firefox-133.0.3.ebuild
new file mode 100644
index 000000000000..875c8205d782
--- /dev/null
+++ b/www-client/firefox/firefox-133.0.3.ebuild
@@ -0,0 +1,1370 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-133-patches-03.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 wasm toolchain from
+# https://github.com/WebAssembly/wasi-sdk/
+WASI_SDK_VER=24.0
+WASI_SDK_LLVM_VER=18
+
+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 rust readme.gentoo-r1 
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? (
+               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"
+
+REQUIRED_USE="|| ( X wayland )
+       debug? ( !system-av1 )
+       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? ( 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.106
+       >=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? ( >=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#917599
+       if has_version ">=dev-libs/icu-74.1" && use system-icu ; then
+               eapply 
"${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch
+       fi
+       rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || 
die
+
+       # 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 path manipulation.
+       if use wasm ; then
+               if use amd64 ; then
+                       export wasi_arch="x86_64"
+               elif use arm64 ; then
+                       export wasi_arch="arm64"
+               else
+                       die "wasm 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
+       # Since graphite2 is one of the sandboxed libraries, system-graphite2 
obviously can't work with +wasm.
+       if use wasm ; then
+               mozconfig_add_options_ac '+wasm' 
--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"
+       local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+       insinto /usr/share/icons/hicolor/symbolic/apps
+       newins "${icon_symbolic_file}" ${PN}-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
+               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."
+
+               # 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