commit:     461e0f257c9367e11e43c0257debf6fe7b70fb18
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 28 10:24:51 2025 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Thu Aug 28 10:28:05 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=461e0f25

www-client/firefox: add 142.0.1

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

 www-client/firefox/Manifest               |  101 +++
 www-client/firefox/firefox-142.0.1.ebuild | 1395 +++++++++++++++++++++++++++++
 2 files changed, 1496 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 42adf94fa61b..368ba5df8707 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -911,6 +911,107 @@ DIST firefox-142.0-vi.xpi 473659 BLAKE2B 
f5ddf49b62902555d1a86707480b1760421d687
 DIST firefox-142.0-xh.xpi 273947 BLAKE2B 
529ab4cc0debdd4c62950c4db3dfcb8e53166072ff8505617a65bdde086d3e2a2c9b661c2dbde172a34785f9b75d29ac1cf4340b8924f924659ab3c497caebe3
 SHA512 
ece4bb14a4548c7e4fabcb52433f1db9ad6baa5da595ec6c34efa5890c97eefa0cceca748b5b6a57e23dc7270cff997c123bee516d84a410647f17cd32428de1
 DIST firefox-142.0-zh-CN.xpi 465410 BLAKE2B 
0087d629c0e1e8b2366b31605851b872eae4e74ef275a4bdaa6a20227dd21cbf76c125c79a6189fcadd366fe030167bba9016c3aae60f292f398dfd50745df96
 SHA512 
508afd3f8379c86203a283751339adb5e5e17d864ce48fa91d96c29b217806b336e68548f7838d2ade2441b4887a3bc6f8ca15615e9956c7170aa06a52835ed6
 DIST firefox-142.0-zh-TW.xpi 468325 BLAKE2B 
69f2b8db3108dfd49832d0d2d4ecf2aa9404503f75c4ead26a182cbbd6979fa76e5bcc5edea486d6b2baffdef39be2f9988baaac390681d8fe544d99cac50209
 SHA512 
8ce67ef8367975fe19da3b68a04a66ce8973f87a9cdc135f1ec9e58d1a9e64cbd9af8931510e7649a576f32613ca342f2232ff74ab77352f6f008588cfc6833e
+DIST firefox-142.0.1-ach.xpi 294511 BLAKE2B 
c2572885d7b20158fa09fd1fdd4ca0380b95b44f5f69eb626d0785168dc0f8b6900bbc06fabe938a3268a4053b265fcb54564c5955e3c957b59caac27309257d
 SHA512 
231c931a884bbe65b6645eb61cd81fbab47d9dcaaefc77321a6f46467084e5e4da1fa1129eb14c6e6d578d0cff05d96b6757c41cab7e9876e33c09da6ffc5731
+DIST firefox-142.0.1-af.xpi 267763 BLAKE2B 
65c381be799d9414dded28323f97dedeab099086e6aa0f022a760edb06497769d333491050946c047ee09aa12dd34bd7282ad96cf21fcc5666cdf001ef58fa6b
 SHA512 
a242dad5275d85a43fd3074e72e9b8032fda8164efed655b05d86a34c45077b84ff510506724e251ec343192f4ca81d346ca2d5c6cc36d700f12fa8920209e34
+DIST firefox-142.0.1-an.xpi 332335 BLAKE2B 
2d4e81b63e3a7dbcf6dcf56f28fe1114b3e90bf0e1e6b522347771f5106e80d04be5111e775b3697f9b982567d9f2613ffaf4ae088ddab94dc4adc05a4d3dae6
 SHA512 
be031896cb4d0f77db71ce4cfd601adc8934ff0818ea8951ec4960b9f7a45843438e6a0113d2d5d196c1e15151257070d77a0973e616647da090fd2560d5a47b
+DIST firefox-142.0.1-ar.xpi 444164 BLAKE2B 
1c3329e8635c8a8bbb78086bcb3c2c253141625faf367b0bdf874585954f2e545d089d026149490940dd62e7a0ec1137d7b9873d2bbfbedc78bf8c75339b4b90
 SHA512 
b981e2b135fb10dd2d28b4588bb4d4196a570b717b75223b8d2a47398dba8cc7ee19d99e9eddc61331926babbecc3327ae82f71e137b6ff72f34475ccf715b35
+DIST firefox-142.0.1-ast.xpi 312178 BLAKE2B 
a7147dab0be1cd8395639e82785fcc288bde32da1754722a1933906000702d76f5e5e022b82adfe22df100c4c51c87691da82e0af1bf1b3b0aedfec11484081b
 SHA512 
d404da5c416db044ae80d6c56e3fdcf177a39a7b19cb1ef274cab82f350c9afb9010f10e093f7b0f6321c1fe556207c9ade615a9956ccd3aa6c2959c9329266a
+DIST firefox-142.0.1-az.xpi 318764 BLAKE2B 
a46e6944fe31cdca190ce9d6c9810e816729214c998e9a24f264b991a578de542883bbedfd4259b95a7ed7cc9c55a2bd04baa0e11901389a57bbd661183e3602
 SHA512 
f6c6a0456ee4253db9cd15a7dd93723a7e428c6520c360b25d35defd740519c90d9088253c125f25732883bc006a43e428e5aa64c6c42f525ba3ef2a4be3e626
+DIST firefox-142.0.1-be.xpi 526804 BLAKE2B 
be9a577627339de0065b897d8b652b1a4b91d1cd81c030b57f957a7b1276f320c08f23c9864ee69797db1144b578845517d95f179276456c60c9a686a3c95272
 SHA512 
bb501a9a1d8beffdbb958e56b3bc88679e0107b69ffb3747a8e5516f55acc70e6f30ff5d59e2c18a7b8a4389ab36a1c23565be10d8aed500db96f595a8926958
+DIST firefox-142.0.1-bg.xpi 455941 BLAKE2B 
0bb381de2d058121734586d25f7d21b60d65d40d58a9075f241c7f1b2cf9981390c70f583f2747b6bec9b2e9d73f8a22260c8208c4a788bca3228b3de7bf8bf5
 SHA512 
5ee8b9417e36178ca0a1b2dea0b62c4c2d6dc8354a136b78e83f879a07f02d0af68b23f05a675929767778424c3bac6d6b34175887724a0002f7215af58e2b14
+DIST firefox-142.0.1-bn.xpi 413229 BLAKE2B 
13f4b154f634d15ef838acbbea0991dbaf92a957874b9ce038aaf18630722d50a9f2f84192f1fdf5748581a7b03ce713c8831e04ff1af3103866ffb1999ca088
 SHA512 
ef3232e2ca446f2fa93999e8d106a5692be18343971bdaea03d4ce785fbde1c6e83a1454f4dc0ec62aea030664c5dc1f348874850372cdd9fec9edaf991e1743
+DIST firefox-142.0.1-br.xpi 395218 BLAKE2B 
ddc85f2331e68a4c8b5b4eebf71ed51e2b2ecd8ebe5ff5b2baac198ad26458bfcebc3b041a3304db44e4a2dd6138a0b3a8f5529c8f96c909080cf7ec1e2a6f62
 SHA512 
4289033571ded80ac2b6ed3731fd388d753142802958140bd204abc4c5e655f370402cefcf0f28421e1328917fe8c00f500ee9636b5902a85afaf750e3a8d0f4
+DIST firefox-142.0.1-bs.xpi 450238 BLAKE2B 
24dfc7a95abfe1849dfd120b782283c076abee23479f36bf173dc3d05c895727fcfa47868f6a283e0af85f1a79c6ec998cce4edb71432df62ca2a616e8ac5bca
 SHA512 
1d019e1b40f2d6cb9325d986b6f98fbb06dbefb762948e7c89a70a313c63b5e3fe1aa2935374b4b6048ba6ed8a9dae41d571de337dd1e4f74c46cfaf388b64df
+DIST firefox-142.0.1-ca-valencia.xpi 357868 BLAKE2B 
eee6ee081ed087c974c06a7f4bdd956bbc39d41e5ede32a5151329be3eff87166f1c6d4a309be9b3f3745c9102ab63226898bcda24ec581beb8fcf6254bf6579
 SHA512 
bc46f7e642be4f1a54cfeb854a98b6b12ef3bddb12240d57ef0584456b816b71e325d9e4a41d96f38006d12aa7c7e1561eb3656da76ecf0632f55bfc7e117497
+DIST firefox-142.0.1-ca.xpi 396890 BLAKE2B 
5af76382273a828dcd9b92d4f84767940d6190e4aed0c834f8aa98c5a7220eecf547aab773935c10559a1b5154e06e42c3c3d1180eb2c9d4813572192dd6c873
 SHA512 
1de393d28ab4855314054ebb9a814fc40b4c4371ce166fbaed65bf51e95c0aab8287debf3d04571071053626e6aa17741576c835aa2c95536e86b464ceb1b7cc
+DIST firefox-142.0.1-cak.xpi 390421 BLAKE2B 
448942bf9789d436aefee8024b8ed12f94e41ce627eb2ceba079e58d670b64f45790baf03be21d31b28299358262df803eb1f6ff960b11c4ccdb91811bfb455d
 SHA512 
cdc9f62e5d0c2d97c17ed7d5d17f0113bea6cf16dbff1f6332d2a582bd1e62a5d1159e6b3c94aaa1fda3d33747ceba383960f879b1ac5556e89621eb756a3289
+DIST firefox-142.0.1-cs.xpi 481411 BLAKE2B 
350d392e2107cc4072c5a421053cc85792f4c508b4108e571c854dd638272c52081b2319ce638e4b65e62aaa6bfc42694c5611ded10e448ffe8d9bac08cd3e3b
 SHA512 
c93ce77c6c3f1d7e2c88eb714ee035a78f4a1e9b0766f20ad5e8ab456fff5518a8e8208f3bbef8e001ce954aa155d5f0c9d7c996b69a77edb6dc9c42e9f366ab
+DIST firefox-142.0.1-cy.xpi 444187 BLAKE2B 
29e362fed08976f3f7b5ee5d55bf6c375c46e68738e22e197daab4b060825730a636bb1f6a2f534527434218a078b30e727b3d3ce7c92f4a38b7c6efb45d2a3d
 SHA512 
3d789cfd07753f648fc75f5b6ceddc70ea1385da1d38c479933cb068ca77f51e952f5a4c8608d392e4d5fc2379331396863a915901ff19d1fbe6721fc3a3addc
+DIST firefox-142.0.1-da.xpi 435805 BLAKE2B 
3eb3d44dec0fb7a5844560e3892c6a37d620c56894dd8195c2466142896cdf6dac13400655ebdc4c1fff565295e18fa74f9dfb02fda1c10d4470dbcd9ce46492
 SHA512 
36d0c5b9b92786a0117b1de17998e9c4a238224d34c4c1f228fb4eae18cbddc91c7679c8ca7866211f52ebc02b417935ab2bb75554ac79cdab85a73f5cc51c87
+DIST firefox-142.0.1-de.xpi 457637 BLAKE2B 
0fc7b38dfa783ae3e07510716f52e214ec35584b2d4b8cc7d21061316e4f14074f6a5f63deb902366d60fa1c09a634d0fc6ae5d2937c37c5e7a69df1c096bc31
 SHA512 
2145d7b45f3d5c132e6bd25b4e0576e4247fe2250bae17f59acd4d31c2e6fc5c1c5229ca761ccad8741ead2d96ec259d89d8d520c845136733b29d469d307e96
+DIST firefox-142.0.1-dsb.xpi 471185 BLAKE2B 
7d6ed9958ae478ae476c83443d56ff89308adb626cf597b5f873535670ac2706eea821f4bb6f471d45717040b6733c9a63d9f3347949b368542e4464facda8c6
 SHA512 
a75320db39f3d1bda8dad13b985e5603863ec2a9987fa6a248518fafbce50ec6260ab83e1d4720680b65f0c396897a35559fa30f776d317df9af18a82802001b
+DIST firefox-142.0.1-el.xpi 542028 BLAKE2B 
b809e874592cdebc813f72e1e7c9617e0812e8ce4fe80038d485e9b4183b5071cbbb12f68994394695e7e5e84b2e81c2673bcd2b539dc9cdb154ac346e74ef11
 SHA512 
1c32329da511876d0c5a9080e833d253e0a0e95a4c04ae7cde6878053ec304eb8c59a14b0121da17dc52e881f484949dc02fb7e6a8136ab3b10bdb7a2e82110d
+DIST firefox-142.0.1-en-CA.xpi 415494 BLAKE2B 
67ce89cabbac714c891fcd94c85e8432a665df7afa818569ff9fa29159bb9f34b16e0bd689a98e88bb78b7524b79b7fafc8bbba0320111e4c50489e3b5b663c2
 SHA512 
2f89e9e4306211a9339d5abb7591777a5f5a2e2630189e9abe4fde39a43892f266638b8b0305f710663677a9f6654050330942378a1e3dd2f84e19c63ed033ea
+DIST firefox-142.0.1-en-GB.xpi 415807 BLAKE2B 
b26e683d4462b617b3270cd903cd56ad5ffa91421ad255ef1bc6df6ef5853adcf387efd6978fd845660b031e0e275bacba8dfdb26f20ffc71c1264be4fb87791
 SHA512 
ff967b4ecf4fae29b3dd4770c69be5e762d51e7d918989b8e933f5642f6888c88a64e6cd28628858032ca03c24e4ebb3f0858b6c6d58891b43567f3fc082cd31
+DIST firefox-142.0.1-eo.xpi 438062 BLAKE2B 
1b7e7bd6fe9949fd7c464338b299a7472efb759bb87147ab3c1de349a1455b6a735b575440f2eae4531ae409bfa1d2ec0a4737740a4a12d16450f8a61b899907
 SHA512 
dc2016be39173805a0db3ae2de810fee8e7ace35134112c23ab9b862f1c30457440753c146384409cb508c6193d6c0448ff439c913f2622114b5345b87ac87e7
+DIST firefox-142.0.1-es-AR.xpi 450206 BLAKE2B 
bc361f5ba77aa9a3547ed7a2315de1b08766bab39beba2c395bd5cf1c01b6bbcd820817b25e99e3fb3521613fa3d9d286cf43a86428d07c776e7eccb39b87002
 SHA512 
03ac60ef5326b4ff78f2d726a0011d58b99f9a6b8c23ae3e2f74000d5b13a34adb741323288fd12cacf594e4a27565f97542c726aec818b3473fe7e2326ed37e
+DIST firefox-142.0.1-es-CL.xpi 450937 BLAKE2B 
efd93a9c6b7bb29ede06bc701167ee7ab312b3f527ef3c82cb5baca642a21e58d0b55a3dad663015d768639afa1773ff126aa12e53b50b88899bedcbf74100ea
 SHA512 
eed081ec24fc48bf407f2cbd86546c68f91d25149d2d3cd0b761eb95bdf9872235b8a56422e8eacc971b2193d47ec514bfc01f3e7a4e3328c7a079f0b79c9127
+DIST firefox-142.0.1-es-ES.xpi 448712 BLAKE2B 
66df5f623586b10f3b4dd7743931e6d1124b057bd5de01dcba6779a9085f7a9a874a7c93cddf12650ef7979312ca22386e5d2a49dfa059d4d00595d13b49ea11
 SHA512 
b8e7f25e2bbeb898b42b9db717b164637491a588169dc47c4c91237656cb389eebc553db9924d977b23ba4540b7d3436501b509a4b6330f707c7fde3b32d7a83
+DIST firefox-142.0.1-es-MX.xpi 437102 BLAKE2B 
9994fdc1bb8974e3f46bf8c2dfb1c599b9d5651aa8ffa24779b01ebcc93a4381aaadb481680f6901db20c8d908073e25ea15dec339310c470e4b7b040166a3ca
 SHA512 
c72d00c9cc9db161f9c286d5df47e734703299f5a36c9e14dbf7cf1626b828e1b461733fc5dfb4a8933334620f9fb9a461313cc5fc7e55d2c31098c9161753f9
+DIST firefox-142.0.1-et.xpi 358985 BLAKE2B 
58a6b3024223eeed843d1f072b66e2474913a215c3402eb0edad3b390a7033123d2d8b0a38c64511fb7e8b6c3caa3cff448083d12bb3024fe7d5a416cf18eb2c
 SHA512 
e7c96889a622eae6a6e017cbfb3363f75f130e17417c047a0cbd17d5530f3818b82ce6f3ad7256d5b022ad24fe48a3b732459e0160caf7bce7f704dd3e97132f
+DIST firefox-142.0.1-eu.xpi 414897 BLAKE2B 
6c63b03486bde3b3a54913757b1e66a8ca7a5764677f0c38a897b76295cd489def7cd46bc374e70661c252b130d122b16b3f640db73911ce0742ff5a3a37b66b
 SHA512 
d03ab48220c51e35d23aba7d3f790dcca82bfae7d59fddb45d53ed49896e7ed0276d0bc2b8ae42aa79cf3c3ee187f9973937f30324f0b813ee1f665ff9e46399
+DIST firefox-142.0.1-fa.xpi 420598 BLAKE2B 
1015516295a3302ae0da7cd1be1b5d8cbe300232cb9adbf4cd2927451dbf09ab8718fc0f02668448f4364a246da0dc27027be2d47a2b78d629393f9755525fbf
 SHA512 
ccdd2164ed53f8e16bff44082367017c0808e789412ded7762823c0addfcd03b95cf3a23f192b9b76bb0cdf1974c8c4c723a6bf3d7f316030b76c7cdbe8879bb
+DIST firefox-142.0.1-ff.xpi 310345 BLAKE2B 
335c58db18a0e35dc21e6540bb4dd93ef007093515ad4a08c12568f3c052b3b761d1404e2567ac24ab40a06628633820780b925e03a59057d5f3273cc214592b
 SHA512 
54a6675c0b4b1a246319ee600722e105288e3ca641706e511795352099fde54876a112fc403a6bf6ff8d3ab74f5c2dc748bcc680e6a6fada336319ea2b7ff80a
+DIST firefox-142.0.1-fi.xpi 434348 BLAKE2B 
d89fc6a4b998ebf0373078b10daad13fc9ed6b9b753fbe6694f68004ed63b5172925c7c179619b56d947fe2fb1974fd3721009c9f6e011648b28810b8460b665
 SHA512 
6417ef066e3d1aed555d1f6cc59475a8a58fb94b9692ee89bed3e4383dee030b8669d9b52b41978e48dcf4a370db81f1bedec4cf4ee37d6db484b741dd3a743c
+DIST firefox-142.0.1-fr.xpi 463330 BLAKE2B 
2537a3bd74254c73eb2a774b249036a3730020815ccd6e1c834a59b9fa5035ebb30e32ac3fda3148584bffa5bbfe48a67755dd26a990560f0093ade5f5666b5b
 SHA512 
00898e86626c78804354456c8ea55dc2ff67524486dcaf9394dc373fae6e79298a7953a71677a78bc1c4a33455d14e2c4892eea90c9e5c9e03d0dc0ac1e2f2fc
+DIST firefox-142.0.1-fur.xpi 453920 BLAKE2B 
7959553082d85ce306989f45d8f5787c57cdbe9c8624a404633e519be4a6673a9a86152885cafa29b84bfb18abd6d8d39616666135d905a339791d2edc1fd5cb
 SHA512 
8586f891d07ad2f89caaa2a4a57b2ffda64b07ef225a05d6e86f99ebbf721c4648e21264515b8482c610984a65d9623003b51af31e9989d5802cb7570a79e4de
+DIST firefox-142.0.1-fy-NL.xpi 446807 BLAKE2B 
e005646ce795b9748a9de918c8b2c52469f04fc15a61576609d1ea1a7527313e56b6b5f52ce46147b2c78cf3d7b6c34780724d49295e3f9fe1490ffe17ec2365
 SHA512 
5021b8762c49c9eb4eabcf521d25462ee78d5ca9b100392bc4b823c1ff23758d05afff6901d88b4d688f27e16521df381caa8942b31028a600a0db9a7e8b4d07
+DIST firefox-142.0.1-ga-IE.xpi 315786 BLAKE2B 
4c7684975e725c3b741bd10b96aa205e53f65191a92019c04ec032be5d732906338d97d9fb644814ce0db797b2d042c918e4005ce11e1341f366ad613667451d
 SHA512 
1427ba31f43441304eff4eeef374ca7181060ad4cfe3651cdf1336f65d28afb8789809917a5afc75e36805a202aa6d9e2fee95726640d3641d5d52104db3dc2b
+DIST firefox-142.0.1-gd.xpi 398833 BLAKE2B 
b9d1f4b2c9fb48b6d436b696c5f9138fb3ec4b9320e192b8310ef0bd4aa58718dd4ff7d0df9d036aa8051009d35e8a6ee84d338726fce53e1d96368d71652191
 SHA512 
6601d518521d0a3a53507e2d59edc957cbc07e8edb0513a7b01fd0cc2cfa2bd193d4f0e978568ea39c3a0fff67a1eecc980ed8cf0fa607d5748792eb189d4a2f
+DIST firefox-142.0.1-gl.xpi 447505 BLAKE2B 
99ea1fdd7f2f5c559f5b60debee160d54076d9201b1c3b8eb4a7505a5f276f68caeab955222a4d23af8e9c2a24a0fe067b6ba95108dab34df8a427a31c80e338
 SHA512 
96d2ea4e253b7d9c05cb6668f27a531c6fead8fa95755230873ed165589075de97abee3c0076eccb9c5804cedfac2af69d68e46a9438b6fe4b2167eea265d7ba
+DIST firefox-142.0.1-gn.xpi 453745 BLAKE2B 
9e96919491b57bedf8e7daa8c7408eb14fe6a5056569e125ff3762d739ff217b21e753aed1ecdf2cea54dab76ea23d583a50e32bb3f0f66b56c8e5418ccbf6a0
 SHA512 
895ddefbf6ba55fc64e86eb955f4227b0fa4f58b5cc0fd2d001a952b4f7cf8e20a000555cf715e1d79f29653f7953c8e1930fac809df21b12bc0d105e05f979f
+DIST firefox-142.0.1-gu-IN.xpi 358761 BLAKE2B 
c2adac78653f4b458bf4e3a474e960d7ecabbb98901e5598dec1cbf1f5a22f9d87b0149ef799bc3825cb31931100d7c5d89a1496c540e9c99f1c7cc8a326ca0d
 SHA512 
c90bb5b84a789852015f43d8d594b0fa1e5bd5fe22a79d6d0ed98685dece8398063152845f6a5587681aa1800ecbddfaec928f69983373b4c8d62c31ff06bbdf
+DIST firefox-142.0.1-he.xpi 449692 BLAKE2B 
3e1e27c2cecdf92b978ecf0ca7a09bc788f590a431ddf34f6de02b4c57c2ca29b7e288d9c8d79582be9e53492cf3bac8395b2ff89cc673ce80b074979f77ea6c
 SHA512 
9bf64226d569581c821cf0c876e682229a5b177f2d59f27771d550fdf3126e4f4084ccaf6a1c6cc1a268e2c3014c9a01dfeca72964b3b941aa92ce3fe073483e
+DIST firefox-142.0.1-hi-IN.xpi 377410 BLAKE2B 
b986687e91690364ea482e7d8c2aafac231b8a6bcabce21bb5fdabccef1b6c4750cfc5d84121c38b2db76fb20b179a45c48d8286c84937218e23c24b55dcb42f
 SHA512 
de0f57bce85653651243e28ed649181d52611f418e7e99fab2d4a9134e6bfa2825aebf5cc1005fd48b441a34b79df644dc1d9ca771b34a34cc392bf4f0d85376
+DIST firefox-142.0.1-hr.xpi 440084 BLAKE2B 
994be1e6afc939c9eabd52bc1bb20bab6ec361ebbb17ef2be283d91f460e36026d1d861ce619bdb8080700ba8d871e99dae3857a06242148bf8d9943ac4b844c
 SHA512 
22447934e68f44053d41a80ed153d5b9f53808a9c952f1b9c487507ead0a47c041f90c7e0b1a2770e00df75fa3d7b9c63ed966adea9653fa34de48ad74ac6a99
+DIST firefox-142.0.1-hsb.xpi 467780 BLAKE2B 
096fc4653a9a5a50aaef4325667d26b8f2f517d3ef6ce33f3f5ca9f404eab8a05e11edfab8c1a28bfa3c47f81d12a8cfdcdd83eec6f3ebc6cac1d30ff3af7dab
 SHA512 
284bf05f2e57f753bce72eb0040358bc870000b520794573d9f95a15c83cbf90a436d9398d777a754f7e564b9223ec323b14511350de9040be2ef60b1a376e10
+DIST firefox-142.0.1-hu.xpi 471066 BLAKE2B 
603dc6bf7a2ed0e35384ee892130a41862ad4e4bc94c59868628a96ad72398b71392e6dc80c2ef6e0b770fb235eb01e14a6974d89559b268b66d57077e5782cd
 SHA512 
a8fcb10496b9d000de2ee592d712108739078707e2eddf8f152951fc05d82431c242d673ae8a188e071a539cebb3cc82ae6721d7bdadb2cd8f280938f136c655
+DIST firefox-142.0.1-hy-AM.xpi 455071 BLAKE2B 
fa71617ecadc85a9d6c297376205658f005d1948663feea17acfc17b3478400889852aa2473367ac275eeddce0b31745cfd65d607ba325e161ae515b2a8624b8
 SHA512 
6537d01178136f535017e974543b65cba7fbfa807522dbce6b129bb54ffaac4b2ca33fe9083b15d15f6b4112d0dccf676f2f99473b86736c5bfb01b3807e7249
+DIST firefox-142.0.1-ia.xpi 434702 BLAKE2B 
926ca041a308fc591f2e78bf816e829e4084e4e418c9d82e4ec88ec37464239761d4079d2ca0eb7ef3b3bc499cc1ff6146891510986509a26712aedb5cee1ac8
 SHA512 
a7c76fce3e670a55c753711b114159bedcf4bd2895f60722dcda8a4a1a99714543a62ce714caf9d81f3515410848e2496b776add9984b42b31205b75dc6af09a
+DIST firefox-142.0.1-id.xpi 418886 BLAKE2B 
ef2650de4f127ba2c4758d0534023c026dc666bfcdde871f8ff0087d3d74064a6311efad71b54498b180864cffb034ac939c3eb51808be04878b67ab2d90de1b
 SHA512 
d4a12dfa48574552a369b488e875bb11aca2547624e73738e5c2f9cf0d9da4e4838f2e43cfdc09a448a9b7e3643a7739e9ce0fef32e3e97fbf9139e56ba24d6d
+DIST firefox-142.0.1-is.xpi 430702 BLAKE2B 
3bbfd3b3bdf5902da698db74ddec9d4fb9dfb4dd036fe612c814e417b3b0956d3f91de2227d2a46c759120fa7b7d65590dc8fa7eb87d2d2c239e2815d1bedba8
 SHA512 
a5537d247882867fb181c854357d0f2eba8725ceb977f4ababb264c1c4bef3ed7225399313ca1bbde153eeed1d6274d6fe91e0e9585b8745b7477ebda7c385b3
+DIST firefox-142.0.1-it.xpi 445652 BLAKE2B 
e398c5dedc9484ed44dc0b79baf5b7e41d503d01bd0db4b529c3ed4c7d56e5cb13ea8b5b40e55150371b516465f03fb852473d092ba83d63fb76ff2e50194e05
 SHA512 
e1aa32e1584ab352049355bc2d3310ca71f482b44e4dca8cdef3b9087a125f6ae2f655d31de923ad385f361912a4594b9e96b2c2a02a1cae187b1114511cb297
+DIST firefox-142.0.1-ja.xpi 485807 BLAKE2B 
6f099fa018a53a2a88539c28cb27e79cc0969959791aca8fdb5110aa6d181a5cd5016023128535da783c55258dc35d8ad6d1847e6afdeff7a6799e9c1f1721cd
 SHA512 
73f89c329c359f06e85b4bffc5bf59cafcb52bcad942bb8d74dcf8de5414c0ac0604459af419d055e568863ea1d6db40cb543c8013001eab0ae5008c4894a993
+DIST firefox-142.0.1-ka.xpi 500297 BLAKE2B 
968df0ad616ffc6dab41352ba999bb0919c1a20bf2fa21e7a2b559f131be7c45463e1c7297cd62bd619cca56b18cba5ef476bf1183b535d16877c025b1b9aad5
 SHA512 
253cd05e09a50437eecda91cc3bd0381661f6b0dbdbd9b57e62baef8bc80a316bdebfc03518526ce2ff52c9e0aaa66d718dd499344990f7979f11c3c5f84e066
+DIST firefox-142.0.1-kab.xpi 422310 BLAKE2B 
4eb6720caa961b7eb1a3d17699b87eb4646c25332a689dd9315e4835872577bf869a75d8dd1b8505a165d6c506a4f6e66296849d2e4ec4080fa46b69c233efb8
 SHA512 
2fb3dd88dd47835f908fddb5989ba32671190d633dd364389f6323532bcc6d66766bb204f9d24a1f3ab6d31dbf1dbae0a12a4fed929a3bd529ef945715597a02
+DIST firefox-142.0.1-kk.xpi 508856 BLAKE2B 
59ac3fc2124d0a14e1518699bf2d1dedf643d7499aa749b2f0e18e2da93fee382e173a6e9d956ae35870b13282e5b45da5b563c77acc4a860f7fc3df63fceaea
 SHA512 
b17a8cdfe6b646192c86a9584f3e6f67099e1331495e12bcb4f868f2118759e5407db9f71a0d0c2ca7f527b7de77bd0ed6005dfeaffc962ea38608fe66061d59
+DIST firefox-142.0.1-km.xpi 348058 BLAKE2B 
964ab72e231c5b1d5805cf26b52eec302663e618438aa468987726fe34a755259ffa17ef9cb7ee1ce491a518577678c4db8ce4be681bf7243557cc43bcf572b5
 SHA512 
d27592a8265d3d060181ca79e732b06cb7bf6dc4a3f84cc64461f2f354d548d8f868ebd7e97e3b170b59ca0a67461e5a13b5ccd2ed60b7af636c2cc20805b6ef
+DIST firefox-142.0.1-kn.xpi 332353 BLAKE2B 
e7df3167d5c026ff49329272d971e5957abb61872748fdab6a3f8862ee784229cec6ab95b9502079114561fefac7ffba1e691b62b6236ddc605e6d9671e9a262
 SHA512 
e19fd4ec0d9d61eccd45da3708b3cdd7830957a4ebf1e1773d722291c8dfe402eae54394a900284435735e2face784ff1aa231c3018479235f42d8bf1e0b2a1d
+DIST firefox-142.0.1-ko.xpi 472213 BLAKE2B 
66748b383e7b30555dde82456d1dc7227c03ed5b21def0fa1d6e8136dae3c743c251bb4f22b688b4a555d8a236badcb08ccbc3e8e3a7f7f864bd3cc41def4cb3
 SHA512 
981116cbfb906ffe50a62f196645f130e5929e980efe0dcf92b2530553dd6218096652ad32d94b79dc541f342418584b3ce7d78cbad03638582e4be1ef067ec7
+DIST firefox-142.0.1-lij.xpi 319500 BLAKE2B 
8e53046045c849909271212f5b83e240b46bea35a7c10a8eaf5c4fd1912a3087d0778fccda7b43478f9cb5bd3d3bf70f7f2973109d036e3a94ee255e0c394a02
 SHA512 
dd1a3e7fcf129928dc184d68546a63272c220fbb9756accab4b8ca1ec62258e144d70ddffcebc2233a3dca3b5ff807339f29ec4a72f79c5dd7574af361ace170
+DIST firefox-142.0.1-lt.xpi 379524 BLAKE2B 
135925eddf14bdf340ea5f8c3e853510b663748531a93d37b1a9797dc047df0fd2b1e31a34a0950fbccb8b4a67bf090f7164dffd01972fccabb95f312043ce65
 SHA512 
3b9d329150337c475dc9d3954c0b74f86c678b2e778955a8fd15cc8e5b45b4277013a41a5a4147d5494e66903e6b4048d73f07b78f8dd50485d16b454af32f7a
+DIST firefox-142.0.1-lv.xpi 384092 BLAKE2B 
a448d8aa3a86f59349cf1724a99fd2de3ff8fa1e58edc2588bbe3c94db6c64925bf18ea3684343c92303d07f7076eb0f57fa7c07ecb3bfa2497276b778ef33fa
 SHA512 
9d81de3ae0b536367ea88bab21cd75ebbd9e2b35de3b6ce78a69827b3e70a24366871e98fbf282527cb630ac08eec470f8471127cd38a4e789114dd142597154
+DIST firefox-142.0.1-mk.xpi 316872 BLAKE2B 
b0fdea025ffe1ed168342691571c7a6f6215a88ceff15b1c6d86dedfa5b1105d439f4f4dd97c898b8b735200e2b9f9aa437680a16b707b88d788b3bde319319a
 SHA512 
ae3af23c8e58b9367d366d3b1d764acfec89f518425bf716f59381894d7443db4d540418b82e87dbb6ff63b8b952c9f7038a15cc569b72eeda40d52743530c69
+DIST firefox-142.0.1-mr.xpi 356583 BLAKE2B 
8fea526e61e825bc42ee87e8d1d95b2af6ce388d4dec611124e86b59618f200c14f9fec4bfc176b114176aacd1f41969ba4d1772f68e817cf4491f0795be5d62
 SHA512 
ca6c65a574ee6cfdfc37a72d6aa7ba4e6eda32267a2c40171f8f66d69f9fba3c3926bcd3d891f162009e2a42e9b3d61a2671c4fdaa758c4fb4b4bfcdb69bf2bb
+DIST firefox-142.0.1-ms.xpi 295896 BLAKE2B 
f8f1a077d123ccd0e80ec1bc6c6d53d2a4c16011a68496f3b3d0002f564e555f4201b17e4cfcea25937c9e3df453a65f5d366abd6172617677d0ec0701e155af
 SHA512 
43ffc624331e1e8ec374174b47b7161ee01c35078bf203c4074750f7a0d7da97c8a3c089ffe11f36019809f672492d4772fa19647334bc8259bd22b30f58a787
+DIST firefox-142.0.1-my.xpi 343228 BLAKE2B 
a5f54b88ec19c2e31ff2aa38336b9358498206ccb37df60a3c6f5c9b08ce77bfe0a4446c1a7193dcc2a3b63cb26af31d80f444b462853137f4d5cfc291efa7af
 SHA512 
03f32819806e81f2045c5d357333d7f9fe4144fe8677145275eba91384345dd68992422f92b42f9baa966e90a5bb00a71af6b537a43db8545f9c52153176a4c9
+DIST firefox-142.0.1-nb-NO.xpi 433987 BLAKE2B 
7117cdf54699ccb88c56a7e1542f13d84148a579fb11ac3fe1f1fd63587a3032013ecf53dd7ee8572a460ea5c9406d7283271487849c0c42a6399c8434eaa5fe
 SHA512 
3e62e6d5a9fa26ff13fb20798baef83205982db626fb200b7a2a521b0f2e53040bc97187d56bb3ad88b3031f893b91efe74a07ba778dffc1d8b01b9b946b8a68
+DIST firefox-142.0.1-ne-NP.xpi 348631 BLAKE2B 
ad426c0d82a85787478d30c9ebff1b1593ad326e72a33649a42f9dd3783bbf1150eeb59648933416a905b3445f0169262bd019b3543a6d9817e8cecb9b45b6e3
 SHA512 
10086a020da1064f9a5fb4b1f567d52c7ae3e2594ec268836dca976982891c9c19c6d7826a79072fa32a9cb22382a6a81a20267f49360792ef225cd6798514d0
+DIST firefox-142.0.1-nl.xpi 440847 BLAKE2B 
0966fbd1ddb49bf5c60203bb0a5a67ef94887e9a6503f2e262847f8e53360f0f76710e9308b6e99ef8f95c6f813478cd937acc7c5e37d7e6805a77d138eaec9c
 SHA512 
72a65477067d736607b7404557475c2559127135752ddaf66a8524d7f8cbd910614e77403899b8bf2c45c4b4a00c8f279437b0bfccfe7c18f9dd79d99b1024ac
+DIST firefox-142.0.1-nn-NO.xpi 437012 BLAKE2B 
a25f04b8ce2e2f6beb08b8ccff830113dab0f4f0df0fafa1c50a71f09ca6069513da601d3bf28182a02414c0e1d54421255a14ac71f35d487b324c6223ae1f55
 SHA512 
4e6684bc80f693a8152639528b86a559d19b85e863c58a45ee16330d1c20cc944dfdce0a333a874eb5a9602f55188b58b540176d2b6b1c575713cfab053c705c
+DIST firefox-142.0.1-oc.xpi 410518 BLAKE2B 
03cc7e5e33ff777fca3070c29eafef509644791780c912ba849bcae93b450093a6911156bbb4a7817daafa7261def98a6724327e10ed942b9295a67f1f1d92b1
 SHA512 
7236df726ab269bb11d1b9affc4e714dbfc943e68a36de6537cac1621f692d660531ce28cbf811c8273dd2d9ccd2fe93504a6ca1e229eb09e0540f7b9661cbcb
+DIST firefox-142.0.1-pa-IN.xpi 498285 BLAKE2B 
c28383ec8476c6c5a8794db9333fcf0f6c31718bebe303bcd0872cbd1c760e397f352892f669b5721fc4460488f518fd0a289e5302e0ec27a87d0770103bfeaa
 SHA512 
09e3bb091601af8a8883492e2ecbc632a96f4c16e93f754b46e3ef0ccccc325dc967d8a1597ac3d2edd74b71081792b4f7956ec136a86b2c926577c32422f197
+DIST firefox-142.0.1-pl.xpi 465419 BLAKE2B 
300f5fa850ee415b745001d086243443fa6d9cc8835e225efb8badc1263d89ee36c3c363b5ba59078e954dcaed7180fcbb49131d54bb9e4d0d720fc67693c829
 SHA512 
ebaf7d4ef3a6a5698a24ed62bd677e0d3e9d92eec5d9aca0c444dccb1150324d52760b9525f243a68b2edf9e2341e6eae593fed21633b6411e41fb371551174e
+DIST firefox-142.0.1-pt-BR.xpi 445388 BLAKE2B 
eca867a46d37952e506c252cec16654831c989f568c274fad27e5dde2c0576b4c1ee70ec5025fad8d687e3f0555cedaba9496a459126bc6da9608ff38c9b8844
 SHA512 
bc35b7b127b70d28bd65d4a9cb5a9a067ce2dfe15cb00cbd9b461dfc844c11969f98f2771808363862dd811ba77817701ff2bc3119681f1eab44fd063baf0e11
+DIST firefox-142.0.1-pt-PT.xpi 448549 BLAKE2B 
acc4b9ad79bb9f79f6d17ce089d415ddc1e5e8132ef684b029bb11ee6e4ccd6844c80bbc664e99546ff0d4696c467337377545a7955b2b0805f29a02fff0b87e
 SHA512 
d7ae8c4912f6b7cc4d72f00e5f4eb5a44ab96b5bc4c488cff8221cd19eefb83acb283e48bd2d8583c007ec7280567c57495a017c0003a23285513292647fdb17
+DIST firefox-142.0.1-rm.xpi 437143 BLAKE2B 
8ddedc7454f7115be8da147e8e0138bb848c011cbdb4348dd1357e3e9cf23d375050e7608f46c6c1cbfd4136a41f414de74e0344c4091a3d06ac8c9066a29571
 SHA512 
58b1be283f8cb3d8519599d81ca5ccd1fcf4a995d56cdc6024f8c1e12426d824f0c8d918ce15ba0e5f4e7d5c95fd50c52d2dd64cddb76cc76a9b34c573283ca4
+DIST firefox-142.0.1-ro.xpi 457633 BLAKE2B 
7a57c5171dc5a4a66bbfb8f435173e74fe714dc2d626bbb85cc4cf8bc32debace7db0b019e753329f4a2ca1f8e79cfa19556466101e8870b3935320ee155df93
 SHA512 
76b24865287d17800fe243d2bfb0c00e877f35fab36058a0608030ceade80876349be11cbdab3e1df0759e8f8d48b5c9bbe81bf471a7cebb125dd70533de1632
+DIST firefox-142.0.1-ru.xpi 530731 BLAKE2B 
47d5ff988e7b75ce407a851c7ad4ddc2479e734ad1cc0895220f8239db22f62f3394636b65a2df24a85cfbb27d13d3555fe10d902da4bc5e467363175440354c
 SHA512 
cf4ea5f584859a79dd38c4b9cd2ed6609c0a5f41c755d3741f6df143d3f3eb421b25668106ca2988bf275964e13cc9c360a93d42660b58751109ead9f7c69300
+DIST firefox-142.0.1-sc.xpi 406587 BLAKE2B 
b61ef6bb0e6c7e5a3da73f61c7865a37531b77120b09827ba8b3617dd6b1033e599fd46121e92dbfb6fa4302e582bda609b7925b9ef9feee32c187ba64356f4b
 SHA512 
411f6397aec77b110c1217b483dc2e6355ce22eb056551cb2ed87a895c91e15dba06f88a33497ce484d4561d8a83a54e1b5878a2ccaf113ae039fbab3f53a40c
+DIST firefox-142.0.1-sco.xpi 322705 BLAKE2B 
e3e8203a72eddf26563f33555d3e1fc4f8034d1334988f11264c9dc4e90e408df07553915bc6b74917515609012815a23704a61e1ed7aba3349dfbf3c82c03ee
 SHA512 
068824457bac68ac31a7d7a56594800f1ccda88401d13e55e35e83b7bd3a5d4e546fb23261fedb66cabbb52bfdee2b88ab7834252ba62994a803ce1032421b14
+DIST firefox-142.0.1-si.xpi 411025 BLAKE2B 
6e14054132b996d74057c6f337d797b11dc83f5e47227c94cf84f7e2c47659f551268028dba911f29a70f29818ec4172ff1f8c28ba14989222a79705f6d5dab0
 SHA512 
608fecc99d2b6a91ed86f13790b4c9b109061d141cf8e2a2eaac099155537213d16d8ed0be35e3eb3b9a059a8b98df791ff9842bf0b0c2984172254757675e60
+DIST firefox-142.0.1-sk.xpi 473254 BLAKE2B 
9d46cfa5da35c9e35358797360047dfd63f236637ff04c37b7b5327ecf3e10fae96cf723d4ab6e0e6820ed6f01ad0ebf75c4ead1186ef8c03e956c1b09fd427b
 SHA512 
bc7b21fce0a7627558e76321fa3ddc520f45b1b64f4a60ef42b0782291e8610dae0c6c019bee2ced95f6894456ada14b27a63447f7494bb2b1906328ffcaa9f5
+DIST firefox-142.0.1-skr.xpi 485024 BLAKE2B 
215456f53d3a0cf97b39971b08cecf7c32502df3d6139cd8a10c1b3ffad5ed0ecd0af8f04b7e31568d338f733f851ea0be3586c3f9b63c168759c9506dd36d58
 SHA512 
124ddb95c6c64eeb213f6b40e1ac62e2ab96a19a2e857bff2ff773b96f31a69025843bb9febd483d1a2c55bf09c3b461e28fb3fd94c030e89603858c62f50052
+DIST firefox-142.0.1-sl.xpi 444591 BLAKE2B 
a611f66eb0855d151057dc7e963351220ac7b14d086a3f0d5fcaba589a8e2f8455fa3d2032cee0e1ac544511e9f065521ce6576b2fdc384f5b4d98cc1586f691
 SHA512 
6b15132867c17d4d2e4e4a7c970dc7de280a9333fe803dc8879c0e37bc3ada2e7593867bcde38ec734ae7341be13edae5852f4f9ca1709e8a041d77d3d3e7fbd
+DIST firefox-142.0.1-son.xpi 274272 BLAKE2B 
c5aa5258484b0df80e2f48650ac18a019076a89e715d5776e6787646adf38a4bdc7cb7ab1562b0df9d351c5fa6c358fe6d7716fa32d94d3852ba892154f6400f
 SHA512 
04b890cd141e8fffe024147b49944b4331e3cfc5ff8f627263dae02347588aa2766eb64879d9080811e248ec00eebd146060c47758484ce239bb599faca2c79b
+DIST firefox-142.0.1-sq.xpi 452574 BLAKE2B 
091bd4e181cb503c44d99c5c040605cedd7d836371061bbd807ef96fd1488f3387d5f3e95a366015bb3f6ec1be91e5501f4e7097a81a57790b2c7b767f0bd158
 SHA512 
6335eb2bb113bba34471b4c55a993339cb0e6b72cfe6ad53219dfb877d38f3dcf6725cb714d2d2ba790e1978a166de444e375ee88ff2a054560aeb4a0f049039
+DIST firefox-142.0.1-sr.xpi 452844 BLAKE2B 
7be08d5e75c50b7230f7278a2408d2ed15875161bfaf064e5389bf512f5f7f5c09f5a86008417349cd6b72e14f0ebed45427ef230157bf6d99f6f0362e54581f
 SHA512 
81c37d71fe1a0f68244102f37f2ceac8d6a198ee71038222aeb8e7a46bf8bdef9fe2ea567602a77c9473d942ced27964dbe961050a1eb161ea4155ff050bd756
+DIST firefox-142.0.1-sv-SE.xpi 440748 BLAKE2B 
d6ede2015394b1df00b426b471fdde5ef3e85d2f29bfb42c4942e7f6298526c0663ea19e002297354cd26dc8cc7c9f052f2090856e73597873ef1969457a8c93
 SHA512 
6cd42df0f4ff2f64899bdbbfcb81acff5a93d5fa7cfc126fb51902dec80c7df60f89a1385c91b3ac8dcd15a7c077642f900fdeb20800a1a6ed2efce2503486bc
+DIST firefox-142.0.1-szl.xpi 341258 BLAKE2B 
39ce53144236b5f505e287a37d40df99318bc70a4b3e4bb0f2960ff179b6bb0f8eb673590a2db63a898548993ad22eacc7a7df2234133c5f1aa003a43c12ea9b
 SHA512 
5f0082574a7a03504549c8c4384a4cbc543b9a228877c795d305001d47f20fcae2f154578de1272af3b3207cd238c52dc05dcc48760ff84b01561fd13746f877
+DIST firefox-142.0.1-ta.xpi 338478 BLAKE2B 
595907d92a6c0a604a5114f0ae60cd4c2f60ecb7a6c04e8b6949e0eda4a68571061bda374e42919f8e0defd03b5d5e23bedd2a51b09b2c2a25ceda24c33b1381
 SHA512 
099af3349a6f81bb89a082625f9d43f100d5297f7cfb94e163d1aeaafca9fc0caf59b48993148924872710d88c6d93cb7b16da75ae30920f1dfb4b7676d1ca87
+DIST firefox-142.0.1-te.xpi 381987 BLAKE2B 
9d5762541007056c47e1a1b0a88fd3a4ac23123e41980b681b7bc27ac9a891f51cbfdfc34b6337668257bb0d920e30c29a4511d21f618512529c4d5e8810c1b7
 SHA512 
7d89ed2f93b060ede5fd291b01f1a620598cb770f409f9f53d64a4a16532063aacb6b107b78e8d28870926959afbc9e07f7a0df150f4ec58ab93b3d99f0c0984
+DIST firefox-142.0.1-th.xpi 505783 BLAKE2B 
cadeed445cd287c1d3313a383ecca09a97db36bc582c75ce9d6522d87887e54c4d93828b19438e7ce2f70353cfe2092d6ecd519a280c0e26287924c4baaeda56
 SHA512 
28aa41a6deb74d135f897e11bdcb3898a5fa5761c2667225f4c7a91620894f243194ec73d202fe341a0e503593f505753770a9e9c4d10ec07749692539148135
+DIST firefox-142.0.1-tl.xpi 356343 BLAKE2B 
a39419e7d4fe1b06631ebbff60d6d0d58ff391443496c9751619f439e5165c20628345df823d8d4e71ef4d892f6a181027d14b25eed4268494007696afa9bfed
 SHA512 
83c414c8537ea92f76138c5a6e969940420b50272824eb44d612940a6b43e896412f8f6b516edd33fca4b2df8a7197132badb785dc0b258c24cdd5f1ac800328
+DIST firefox-142.0.1-tr.xpi 454013 BLAKE2B 
777f5e6b554265fa49e4ed713a145e0a77074a4b4992ec02a339aad75eac153f6bb628d08c8a5f195b11e2e063fe9946f5eaaaa3554c0ec52a5b4f5d89eb542e
 SHA512 
ef1cc435c32b9d21d458fcf1d738ef22e225e0e50224027cd7cd535edce7e768e4c73c8a40592efc6eea362749bd7a07d810884e790a4cd1a8e2f71f35c32a80
+DIST firefox-142.0.1-trs.xpi 323664 BLAKE2B 
47784c7004dbab9b15e6eb30310c245d5bda05039a90a26c592199e870e4b4af3c602f9535fe465a462da78a3e1684c8cf438c89a885dedafb1143df4fa5d5a9
 SHA512 
fc78b9a2ffa2c7b39e6b6fe76d9d7132bd0a45e7f4ea554c4433f5d8b24cdc4a81a40cb3bd951b17d937b102b730ad11de8c01ab3e7ab79277cf41e73d178e31
+DIST firefox-142.0.1-uk.xpi 519060 BLAKE2B 
8bef66c38cd99086236ef15de45c800b3119429d7e91696d079ebf32c4edb7749eecebf92af13ecb646bb5b526a67f50e6982bafb14ea2d4d8c46e9b85501472
 SHA512 
4a93f77863d6937a4a4ed2b637c7070a71127ac976796113e62c8165ced7458a02fecc7817b3e0cbf83b36527d88301ab1e2aa38626d695eaf161c82bd3aabbc
+DIST firefox-142.0.1-ur.xpi 370221 BLAKE2B 
92a5d77c90bc4882c529d28f793addfdbfdc5cbd5d3f93bbe2d111cc3ec4d657dcbf63cdf20b32f1ebcd8764d56cacb482e74a3e804722565a82a5bd286e19cd
 SHA512 
cbd3c850fd4934de2ade60e0898f3134ddc37e95eaebbf0adeb1f203f3d3789ad800161a027742e3e1b09ff64116834c5b34d2dc0bee5af2b8df3045be70ea9f
+DIST firefox-142.0.1-uz.xpi 304030 BLAKE2B 
dd1625ba2081166eeab11b88aee306d554132bcc259248cdf6a85746d9a034c8df9ea3ed41059299700fe1b7b464e1564b6551891fe974ca11efbbe98d5d08d6
 SHA512 
cfb13d7fc1bdb2c51b452cceca0e4af53c759f0023f5c834efbc482654ee2c55eca7e358c85915dd75f2f52c0ff034138b69a02e28eabf306468643c5bdaae67
+DIST firefox-142.0.1-vi.xpi 473642 BLAKE2B 
8b96b348fa271f3c8a3b2df1d8e67ed881bec63cb3812fea9328fa312e63225ed105ad1d4a82762c8df37aaf73bc86b866a6fd9e2f87f7d11dee134a02e8abf1
 SHA512 
b4fc9dd4beb50136b50d2a4d0f44723ef20eb211e0818b0c2f76ec72e4d0ee3fed8e5193fab60f29ca8454c867e83a985aa731d4ebb9581105db06db2bb7d753
+DIST firefox-142.0.1-xh.xpi 273937 BLAKE2B 
cf2ad52bceb3480aab713f2d61217d61e580a8af767f5392883270c04b9da7876de66ca62372648d29e0ea3c9db9b21a3cdc93ae41c786ff6c40149df29bac3d
 SHA512 
7d34fbdccdfbf4344674df500edf221db221f0482febf9c1b38bc1e22f688ebb6db35a517a6bde59999dce64e935bcb55e50ac93fb38721a3be602fbf6eb62c9
+DIST firefox-142.0.1-zh-CN.xpi 465402 BLAKE2B 
bbd4dc1a9e031c5ef2b0a31a2dd7edbf15fb015b028916ccbec087b5e6abe4c9fb6a5586a4771a9c81b7e896fc4662e5f52161adb5ad322aa4cbebe6ca48679f
 SHA512 
89f493e010e319f3f6621bc64a6b522d3ccdfce5209ac527f6b782a5d889410a916a21c801400a5afb1c6637815a4e0cb27dcbfaad72ffb1a59d030335692a08
+DIST firefox-142.0.1-zh-TW.xpi 468322 BLAKE2B 
7ae8663f9b4d5cb50b53662c77843680e48568b008b901324cad0cf03c04347bbb2faf858ece5a89b5b0d7a5ae1c6268fbe4b05f8e422668a22333be7cd5f716
 SHA512 
21ca00aad02ea23d1eaffcced33dc6d153123e9d4a6c4d4cc1509a70d974446428b378702a2bdcb2be67715d60ff7c84002bfe208ba3dfdb35d619de3a58ebc6
+DIST firefox-142.0.1.source.tar.xz 634262768 BLAKE2B 
ec132591ade9a8c8a4bfcede9a0764ae5f505ed47bc49a905c1222646052873ce1cea975bf21e885f618a505f763e1461318bb90ebe1dc9b205b242734fb1c26
 SHA512 
fca1b9c67a0b2f216f1f11fd5e3a08920998921e3d61eb633f1dde7fe69cb40cdbb63a41a1dfc4f1022509da643e3791467d88e62e7ea30b293ebf69d87bb585
 DIST firefox-142.0.source.tar.xz 638180600 BLAKE2B 
d6b2f541359159fc6302d59c60e28facd931db1dd82d0692e0a185a63d2dcf3bcf99968247b05d46134c3dd05aaf83b4299d23d6a5ff6041da196785d09b7277
 SHA512 
b0c1c766083a30a92b77dcf16a584d9fb341cd811d21c3a34da4cd0d714fd6adc73b608092d66058697bc4562faacc44859153e49ffdeb6e14e059e59f2ea246
 DIST wasi-sdk-25.0-arm64-linux.tar.gz 115160800 BLAKE2B 
1ce22aaea87d0720d40d46ebdd96508c8fb0593b53c4489022fd5a1a9afb043a26a6e162a992d73454f612f2b6ab01e17a99c189c0c8b8c2d2d68fd96fabee1b
 SHA512 
ef4eff22c1efec4dc5ab199d09d93ee0004f9fa67b32cac0030f8b6a40def10f714391cec8e803c200995dd8bfad3ebad9ec79b4195aa6b2ea61ea47a8b9e61f
 DIST wasi-sdk-25.0-x86_64-linux.tar.gz 114450290 BLAKE2B 
07618828d4c25d67421aa72d38fc49bbff9052b8ecfe0fa9f4207e71880e9c650f458567cfa5bd389d5f830fcfee89142a77d33c29e7bccd1da7ddba2bc47b95
 SHA512 
716acc4b737ad6f51c6b32c3423612c03df9a3165bde3d6e24df5c86779b8be9463f5a79e620f2fc49707275563a6c9710242caca27e1ad9dd2c69e8fce8a766

diff --git a/www-client/firefox/firefox-142.0.1.ebuild 
b/www-client/firefox/firefox-142.0.1.ebuild
new file mode 100644
index 000000000000..2e0c81ee5076
--- /dev/null
+++ b/www-client/firefox/firefox-142.0.1.ebuild
@@ -0,0 +1,1395 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-141-patches-02.tar.xz"
+
+LLVM_COMPAT=( 19 20 )
+
+# 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.82.0
+
+PYTHON_COMPAT=( python3_{11..13} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+VIRTUALX_REQUIRED="manual"
+
+# Information about the bundled wasi toolchain from
+# https://github.com/WebAssembly/wasi-sdk/
+WASI_SDK_VER=27.0
+WASI_SDK_LLVM_VER=20
+
+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.firefox.com https://www.firefox.com/enterprise/";
+       SLOT="esr"
+else
+       HOMEPAGE="https://www.firefox.com";
+       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 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 ~loong ~ppc64 ~riscv ~x86"
+
+IUSE="+clang dbus debug eme-free hardened hwaccel jack libproxy pgo pulseaudio 
selinux sndio"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent 
+system-libvpx"
+IUSE+=" system-pipewire system-png +system-webp test valgrind wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" +gmp-autoupdate gnome-shell jpegxl +jumbo-build openh264 +telemetry 
wasm-sandbox"
+
+REQUIRED_USE="|| ( X wayland )
+       debug? ( !system-av1 )
+       pgo? ( jumbo-build )
+       wayland? ( dbus )
+       wifi? ( dbus )
+"
+
+RESTRICT="!test? ( test )"
+
+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.27.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
+                       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.114
+       >=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/libdrm
+       x11-libs/pango
+       x11-libs/pixman
+       dbus? (
+               sys-apps/dbus
+       )
+       jack? ( virtual/jack )
+       pulseaudio? (
+               || (
+                       media-libs/libpulse
+                       >=media-sound/apulse-0.1.12-r4[sdk]
+               )
+       )
+       libproxy? ( net-libs/libproxy )
+       selinux? ( sec-policy/selinux-mozilla )
+       sndio? ( >=media-sound/sndio-1.8.0-r1 )
+       system-av1? (
+               >=media-libs/dav1d-1.0.0:=
+               >=media-libs/libaom-1.0.0:=
+       )
+       system-harfbuzz? (
+               >=media-libs/harfbuzz-2.8.1:0=
+               !wasm-sandbox? ( >=media-gfx/graphite2-1.3.13 )
+       )
+       system-icu? ( >=dev-libs/icu-76.1:= )
+       system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= )
+       system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+       system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+       system-pipewire? ( >=media-video/pipewire-1.4.7-r2:= )
+       system-png? ( >=media-libs/libpng-1.6.45:0=[apng] )
+       system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+       valgrind? ( dev-debug/valgrind )
+       wayland? (
+               >=media-libs/libepoxy-1.5.10-r1
+               x11-libs/gtk+:3[wayland]
+       )
+       wifi? (
+               kernel_linux? (
+                       || (
+                               net-misc/networkmanager
+                               net-misc/connman[networkmanager]
+                       )
+                       sys-apps/dbus
+               )
+       )
+       X? (
+               virtual/opengl
+               x11-libs/cairo[X]
+               x11-libs/gtk+:3[X]
+               x11-libs/libX11
+               x11-libs/libXcomposite
+               x11-libs/libXdamage
+               x11-libs/libXext
+               x11-libs/libXfixes
+               x11-libs/libXrandr
+               x11-libs/libxcb:=
+       )"
+RDEPEND="${COMMON_DEPEND}
+       hwaccel? (
+               media-video/libva-utils
+               sys-apps/pciutils
+       )
+       jack? ( virtual/jack )
+       openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+       X? (
+               x11-base/xorg-proto
+               x11-libs/libICE
+               x11-libs/libSM
+       )"
+
+# ESR and rapid dependencies.
+if [[ -n ${MOZ_ESR} ]] ; then
+       RDEPEND+=" !www-client/firefox:rapid"
+else
+       RDEPEND+=" !www-client/firefox:esr"
+fi
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+       MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+       if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then
+               einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM 
slot ${LLVM_SLOT} ..." >&2
+               return 1
+       fi
+
+       if use clang && ! tc-ld-is-mold ; then
+               if ! has_version -b "llvm-core/lld:${LLVM_SLOT}" ; then
+                       einfo "llvm-core/lld:${LLVM_SLOT} is missing! Cannot 
use LLVM slot ${LLVM_SLOT} ..." >&2
+                       return 1
+               fi
+       fi
+
+       if use pgo ; then
+               if ! has_version -b 
"=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+                       einfo 
"=llvm-runtimes/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2
+                       einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+                       return 1
+               fi
+       fi
+
+       einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+       af ar ast be bg br ca cak cs cy da de dsb
+       el en-CA en-GB en-US es-AR es-ES et eu
+       fi fr fy-NL ga-IE gd gl he hr hsb hu
+       id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+       pa-IN pl pt-BR pt-PT rm ro ru
+       sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( fur )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( skr )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+       # https://bugs.gentoo.org/587334
+       local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+               fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+       )
+
+       local lang xflag
+       for lang in "${MOZ_LANGS[@]}" ; do
+               # en and en_US are handled internally
+               if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+                       continue
+               fi
+
+               # strip region subtag if $lang is in the list
+               if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+                       xflag=${lang%%-*}
+               else
+                       xflag=${lang}
+               fi
+
+               SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+               SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> 
${MOZ_P_DISTFILES}-${lang}.xpi"
+               SRC_URI+=" )"
+               IUSE+=" l10n_${xflag/[_@]/-}"
+       done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -ne 1 ]] ; then
+               die "${FUNCNAME} requires exact one argument"
+       fi
+
+       einfo "Clearing cargo checksums for ${1} ..."
+
+       sed -i \
+               -e 's/\("files":{\)[^}]*/\1/' \
+               "${S}"/third_party/rust/${1}/.cargo-checksum.json || die
+}
+
+moz_install_xpi() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local DESTDIR=${1}
+       shift
+
+       insinto "${DESTDIR}"
+
+       local emid xpi_file xpi_tmp_dir
+       for xpi_file in "${@}" ; do
+               emid=
+               xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+               # Unpack XPI
+               unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+               # Determine extension ID
+               if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+                       emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; 
s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from install.rdf"
+               elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+                       emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' 
"${xpi_tmp_dir}/manifest.json")
+                       [[ -z "${emid}" ]] && die "failed to determine 
extension id from manifest.json"
+               else
+                       die "failed to determine extension id"
+               fi
+
+               einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+               newins "${xpi_file}" "${emid}.xpi"
+       done
+}
+
+mozconfig_add_options_ac() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_add_options_mk() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 2 ]] ; then
+               die "${FUNCNAME} requires at least two arguments"
+       fi
+
+       local reason=${1}
+       shift
+
+       local option
+       for option in ${@} ; do
+               echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+       done
+}
+
+mozconfig_use_enable() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_enable "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+mozconfig_use_with() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       if [[ ${#} -lt 1 ]] ; then
+               die "${FUNCNAME} requires at least one arguments"
+       fi
+
+       local flag=$(use_with "${@}")
+       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
+}
+
+virtwl() {
+       debug-print-function ${FUNCNAME} "$@"
+
+       [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+       [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to 
be set; try xdg_environment_reset"
+       tinywl -h >/dev/null || die 'tinywl -h failed'
+
+       local VIRTWL VIRTWL_PID
+       coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo 
$WAYLAND_DISPLAY; read _; kill $PPID'; }
+       local -x WAYLAND_DISPLAY
+       read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+       debug-print "${FUNCNAME}: $@"
+       "$@"
+       local r=$?
+
+       [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+       exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+       return $r
+}
+
+pkg_pretend() {
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+               # Ensure we have enough disk space to compile
+               if use pgo || use debug ; then
+                       CHECKREQS_DISK_BUILD="14300M"
+               elif tc-is-lto ; then
+                       CHECKREQS_DISK_BUILD="10600M"
+               else
+                       CHECKREQS_DISK_BUILD="7400M"
+               fi
+
+               check-reqs_pkg_pretend
+       fi
+}
+
+pkg_setup() {
+
+       # Get LTO from environment; export after this phase for use in 
src_configure (etc)
+       use_lto=no
+
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+
+               if tc-is-lto; then
+                       use_lto=yes
+                       # LTO is handled via configure
+                       filter-lto
+               fi
+
+               if use pgo ; then
+                       if ! has userpriv ${FEATURES} ; then
+                               eerror "Building ${PN} with USE=pgo and 
FEATURES=-userpriv is not supported!"
+                       fi
+               fi
+
+               if [[ ${use_lto} = yes ]]; then
+                       # -Werror=lto-type-mismatch -Werror=odr are going to 
fail with GCC,
+                       # bmo#1516758, bgo#942288
+                       filter-flags -Werror=lto-type-mismatch -Werror=odr
+               fi
+
+               # Ensure we have enough disk space to compile
+               if use pgo || use debug ; then
+                       CHECKREQS_DISK_BUILD="14300M"
+               elif [[ ${use_lto} == "yes" ]] ; then
+                       CHECKREQS_DISK_BUILD="10600M"
+               else
+                       CHECKREQS_DISK_BUILD="7400M"
+               fi
+
+               check-reqs_pkg_setup
+               llvm-r1_pkg_setup
+               rust_pkg_setup
+               python-any-r1_pkg_setup
+
+               # Avoid PGO profiling problems due to enviroment leakage
+               # These should *always* be cleaned up anyway
+               unset \
+                       DBUS_SESSION_BUS_ADDRESS \
+                       DISPLAY \
+                       ORBIT_SOCKETDIR \
+                       SESSION_MANAGER \
+                       XAUTHORITY \
+                       XDG_CACHE_HOME \
+                       XDG_SESSION_COOKIE
+
+               # Build system is using /proc/self/oom_score_adj, bug #604394
+               addpredict /proc/self/oom_score_adj
+
+               if use pgo ; then
+                       # Update 105.0: "/proc/self/oom_score_adj" isn't enough 
anymore with pgo, but not sure
+                       # whether that's due to better OOM handling by Firefox 
(bmo#1771712), or portage
+                       # (PORTAGE_SCHEDULING_POLICY) update...
+                       addpredict /proc
+
+                       # Clear tons of conditions, since PGO is 
hardware-dependant.
+                       addpredict /dev
+               fi
+
+               if ! mountpoint -q /dev/shm ; then
+                       # If /dev/shm is not available, configure is known to 
fail with
+                       # a traceback report referencing 
/usr/lib/pythonN.N/multiprocessing/synchronize.py
+                       ewarn "/dev/shm is not mounted -- expect build 
failures!"
+               fi
+
+               # Google API keys (see 
http://www.chromium.org/developers/how-tos/api-keys)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+                       
MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+               fi
+
+               if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+                       
MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+               fi
+
+               # Mozilla API keys (see 
https://location.services.mozilla.com/api)
+               # Note: These are for Gentoo Linux use ONLY. For your own 
distribution, please
+               # get your own set of keys.
+               if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+                       
MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+               fi
+
+               # Ensure we use C locale when building, bug #746215
+               export LC_ALL=C
+       fi
+
+       export use_lto
+
+       CONFIG_CHECK="~SECCOMP"
+       WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to 
play DRM-protected content."
+       linux-info_pkg_setup
+}
+
+src_unpack() {
+       local _lp_dir="${WORKDIR}/language_packs"
+       local _src_file
+
+       if [[ ! -d "${_lp_dir}" ]] ; then
+               mkdir "${_lp_dir}" || die
+       fi
+
+       for _src_file in ${A} ; do
+               if [[ ${_src_file} == *.xpi ]]; then
+                       cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die 
"Failed to copy '${_src_file}' to '${_lp_dir}'!"
+               else
+                       unpack ${_src_file}
+               fi
+       done
+}
+
+src_prepare() {
+       if [[ ${use_lto} == "yes" ]]; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+       fi
+
+       # Workaround for bgo#915651 on musl
+       if use elibc_glibc ; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+       fi
+
+       eapply "${WORKDIR}/firefox-patches"
+
+       # Allow user to apply any additional patches without modifing ebuild
+       eapply_user
+
+       # Make cargo respect MAKEOPTS
+       export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+       # Workaround for bgo#915651
+       if ! use elibc_glibc ; then
+               if use amd64 ; then
+                       export RUST_TARGET="x86_64-unknown-linux-musl"
+               elif use x86 ; then
+                       export RUST_TARGET="i686-unknown-linux-musl"
+               elif use arm64 ; then
+                       export RUST_TARGET="aarch64-unknown-linux-musl"
+               elif use loong; then
+                       # Only the LP64D ABI of LoongArch64 is actively 
supported among
+                       # the wider Linux ecosystem, so the assumption is safe.
+                       export RUST_TARGET="loongarch64-unknown-linux-musl"
+               elif use ppc64 ; then
+                       export RUST_TARGET="powerpc64le-unknown-linux-musl"
+               elif use riscv ; then
+                       # We can pretty safely rule out any 32-bit riscvs, but 
64-bit riscvs also have tons of
+                       # different ABIs available. 
riscv64gc-unknown-linux-musl seems to be the best working
+                       # guess right now though.
+                       elog "riscv detected, forcing a riscv64 target for now."
+                       export RUST_TARGET="riscv64gc-unknown-linux-musl"
+               else
+                       die "Unknown musl chost, please post a new bug with 
your rustc -vV along with emerge --info"
+               fi
+       fi
+
+       # Pre-built wasm-sandbox path manipulation.
+       if use wasm-sandbox ; then
+               if use amd64 ; then
+                       export wasi_arch="x86_64"
+               elif use arm64 ; then
+                       export wasi_arch="arm64"
+               else
+                       die "wasm-sandbox enabled on unknown/unsupported arch!"
+               fi
+
+               sed -i \
+                       -e "s:%%PORTAGE_WORKDIR%%:${WORKDIR}:" \
+                       -e "s:%%WASI_ARCH%%:${wasi_arch}:" \
+                       -e "s:%%WASI_SDK_VER%%:${WASI_SDK_VER}:" \
+                       -e "s:%%WASI_SDK_LLVM_VER%%:${WASI_SDK_LLVM_VER}:" \
+                       toolkit/moz.configure || die "Failed to update 
wasi-related paths."
+       fi
+
+       # Make LTO respect MAKEOPTS
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/build/moz.configure/lto-pgo.configure || die "Failed 
sedding multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/third_party/chromium/build/toolchain/get_cpu_count.py || 
die "Failed sedding multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed 
sedding multiprocessing.cpu_count"
+
+       # sed-in toolchain prefix
+       sed -i \
+               -e "s/objdump/${CHOST}-objdump/" \
+               "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py 
|| die "sed failed to set toolchain prefix"
+
+       sed -i \
+               -e 's/ccache_stats = None/return None/' \
+               "${S}"/python/mozbuild/mozbuild/controller/building.py || die 
"sed failed to disable ccache stats call"
+
+       einfo "Removing pre-built binaries ..."
+
+       find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) 
-print -delete || die
+
+       # Clear checksums from cargo crates we've manually patched.
+       # moz_clear_vendor_checksums xyz
+
+       # Respect choice for "jumbo-build"
+       # Changing the value for FILES_PER_UNIFIED_FILE may not work, see 
#905431
+       if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+               local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+               elog ""
+               elog "jumbo-build defaults modified to 
${my_files_per_unified_file}."
+               elog "if you get a build failure, try undefining 
FILES_PER_UNIFIED_FILE,"
+               elog "if that fails try -jumbo-build before opening a bug 
report."
+               elog ""
+
+               sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 
16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \
+                       python/mozbuild/mozbuild/frontend/data.py ||
+                               die "Failed to adjust FILES_PER_UNIFIED_FILE in 
python/mozbuild/mozbuild/frontend/data.py"
+               sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE 
= "${my_files_per_unified_file}"/" \
+                       js/src/moz.build ||
+                               die "Failed to adjust FILES_PER_UNIFIED_FILE in 
js/src/moz.build"
+       fi
+
+       # Create build dir
+       BUILD_DIR="${WORKDIR}/${PN}_build"
+       mkdir -p "${BUILD_DIR}" || die
+
+       # Write API keys to disk
+       echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+       echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || 
die
+       echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+       xdg_environment_reset
+}
+
+src_configure() {
+       # Show flags set at the beginning
+       einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+       einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+       einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+       einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+       einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+       local have_switched_compiler=
+       if use clang; then
+               # Force clang
+               einfo "Enforcing the use of clang due to USE=clang ..."
+
+               local version_clang=$(clang --version 2>/dev/null | grep -F -- 
'clang version' | awk '{ print $3 }')
+               [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 
"${version_clang}")
+               [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+               if tc-is-gcc; then
+                       have_switched_compiler=yes
+               fi
+
+               AR=llvm-ar
+               CC=${CHOST}-clang-${version_clang}
+               CXX=${CHOST}-clang++-${version_clang}
+               NM=llvm-nm
+               RANLIB=llvm-ranlib
+       elif ! use clang && ! tc-is-gcc ; then
+               # Force gcc
+               have_switched_compiler=yes
+               einfo "Enforcing the use of gcc due to USE=-clang ..."
+               AR=gcc-ar
+               CC=${CHOST}-gcc
+               CXX=${CHOST}-g++
+               NM=gcc-nm
+               RANLIB=gcc-ranlib
+       fi
+
+       if [[ -n "${have_switched_compiler}" ]] ; then
+               # Because we switched active compiler we have to ensure
+               # that no unsupported flags are set
+               strip-unsupported-flags
+       fi
+
+       # Ensure we use correct toolchain,
+       # AS is used in a non-standard way by upstream, #bmo1654031
+       export HOST_CC="$(tc-getBUILD_CC)"
+       export HOST_CXX="$(tc-getBUILD_CXX)"
+       export AS="$(tc-getCC) -c"
+
+       # Configuration tests expect llvm-readelf output, bug 913130
+       READELF="llvm-readelf"
+
+       tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
+
+       # Pass the correct toolchain paths through cbindgen
+       if tc-is-cross-compiler ; then
+               export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} 
--target=${CHOST} ${BINDGEN_CFLAGS-}"
+       fi
+
+       # Set MOZILLA_FIVE_HOME
+       export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+       # python/mach/mach/mixin/process.py fails to detect SHELL
+       export SHELL="${EPREFIX}/bin/bash"
+
+       # Set state path
+       export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+       # Set MOZCONFIG
+       export MOZCONFIG="${S}/.mozconfig"
+
+       # Initialize MOZCONFIG
+       mozconfig_add_options_ac '' --enable-application=browser
+       mozconfig_add_options_ac '' --enable-project=browser
+
+       # Set Gentoo defaults
+       if use telemetry; then
+               export MOZILLA_OFFICIAL=1
+       fi
+
+       mozconfig_add_options_ac 'Gentoo default' \
+               --allow-addon-sideload \
+               --disable-cargo-incremental \
+               --disable-crashreporter \
+               --disable-disk-remnant-avoidance \
+               --disable-geckodriver \
+               --disable-install-strip \
+               --disable-legacy-profile-creation \
+               --disable-parental-controls \
+               --disable-strip \
+               --disable-updater \
+               --disable-wmf \
+               --enable-negotiateauth \
+               --enable-new-pass-manager \
+               --enable-official-branding \
+               --enable-packed-relative-relocs \
+               --enable-release \
+               --enable-system-policies \
+               --host="${CBUILD:-${CHOST}}" \
+               --libdir="${EPREFIX}/usr/$(get_libdir)" \
+               --prefix="${EPREFIX}/usr" \
+               --target="${CHOST}" \
+               --without-ccache \
+               --with-intl-api \
+               --with-libclang-path="$(llvm-config --libdir)" \
+               --with-system-ffi \
+               --with-system-gbm \
+               --with-system-libdrm \
+               --with-system-nspr \
+               --with-system-nss \
+               --with-system-pixman \
+               --with-system-zlib \
+               --with-toolchain-prefix="${CHOST}-" \
+               --with-unsigned-addon-scopes=app,system
+
+       # Set update channel
+       local update_channel=release
+       [[ -n ${MOZ_ESR} ]] && update_channel=esr
+       mozconfig_add_options_ac '' --enable-update-channel=${update_channel}
+
+       # Whitelist to allow unkeyworded arches to build with 
"--disable-rust-simd" by default.
+       if use amd64 || use arm64 || use ppc64 || use loong || use riscv ; then
+               mozconfig_add_options_ac '' --enable-rust-simd
+       fi
+
+       # For future keywording: This is currently (97.0) only supported on:
+       # amd64, arm, arm64 & x86.
+       # Might want to flip the logic around if Firefox is to support more 
arches.
+       # bug 833001, bug 903411#c8
+       if use loong || use ppc64 || use riscv; then
+               mozconfig_add_options_ac '' --disable-sandbox
+       elif use valgrind; then
+               mozconfig_add_options_ac 'valgrind requirement' 
--disable-sandbox
+       else
+               mozconfig_add_options_ac '' --enable-sandbox
+       fi
+
+       # riscv-related options, bgo#947337, bgo#947338
+       if use riscv ; then
+               mozconfig_add_options_ac 'Disable webrtc for RISC-V' 
--disable-webrtc
+       fi
+
+       if [[ -s "${S}/api-google.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 
}') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+       else
+               einfo "Building without Google API key ..."
+       fi
+
+       if [[ -s "${S}/api-location.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 
}') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       
--with-google-location-service-api-keyfile="${S}/api-location.key"
+       else
+               einfo "Building without Location API key ..."
+       fi
+
+       if [[ -s "${S}/api-mozilla.key" ]] ; then
+               local key_origin="Gentoo default"
+               if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 
}') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+                       key_origin="User value"
+               fi
+
+               mozconfig_add_options_ac "${key_origin}" \
+                       --with-mozilla-api-keyfile="${S}/api-mozilla.key"
+       else
+               einfo "Building without Mozilla API key ..."
+       fi
+
+       mozconfig_use_with system-av1
+       mozconfig_use_with system-harfbuzz
+       mozconfig_use_with system-icu
+       mozconfig_use_with system-jpeg
+       mozconfig_use_with system-libevent
+       mozconfig_use_with system-libvpx
+       mozconfig_use_with system-pipewire
+       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
+
+       ! use jpegxl && mozconfig_add_options_ac '-jpegxl' --disable-jxl
+
+       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
+
+               # Avoid compressing just-built instrumented Firefox with
+               # high levels of compression. Just use tar as a container
+               # to save >=10 minutes.
+               export MOZ_PKG_FORMAT=tar
+
+               if use clang ; then
+                       # Used in build/pgo/profileserver.py
+                       export LLVM_PROFDATA="llvm-profdata"
+               fi
+       fi
+
+       mozconfig_use_enable debug
+       if use debug ; then
+               mozconfig_add_options_ac '+debug' --disable-optimize
+               mozconfig_add_options_ac '+debug' --enable-jemalloc
+               mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+       else
+               mozconfig_add_options_ac 'Gentoo defaults' 
--disable-real-time-tracing
+
+               if is-flag '-g*' ; then
+                       if use clang ; then
+                               mozconfig_add_options_ac 'from CFLAGS' 
--enable-debug-symbols=$(get-flag '-g*')
+                       else
+                               mozconfig_add_options_ac 'from CFLAGS' 
--enable-debug-symbols
+                       fi
+               else
+                       mozconfig_add_options_ac 'Gentoo default' 
--disable-debug-symbols
+               fi
+
+               if is-flag '-O0' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O0
+               elif is-flag '-O4' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O4
+               elif is-flag '-O3' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O3
+               elif is-flag '-O1' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-O1
+               elif is-flag '-Os' ; then
+                       mozconfig_add_options_ac "from CFLAGS" 
--enable-optimize=-Os
+               else
+                       mozconfig_add_options_ac "Gentoo default" 
--enable-optimize=-O2
+               fi
+       fi
+
+       # Debug flag was handled via configure
+       filter-flags '-g*'
+
+       # Optimization flag was handled via configure
+       filter-flags '-O*'
+
+       # elf-hack
+       # Filter "-z,pack-relative-relocs" and let the build system handle it 
instead.
+       if use amd64 || use x86 ; then
+               filter-flags "-z,pack-relative-relocs"
+
+               if tc-ld-is-mold ; then
+                       # relr-elf-hack is currently broken with mold, 
bgo#916259
+                       mozconfig_add_options_ac 'disable elf-hack with mold 
linker' --disable-elf-hack
+               else
+                       mozconfig_add_options_ac 'relr elf-hack' 
--enable-elf-hack=relr
+               fi
+       elif use loong || use ppc64 || use riscv ; then
+               # '--disable-elf-hack' is not recognized on loong/ppc64/riscv,
+               # see bgo #917049, #930046
+               :;
+       else
+               mozconfig_add_options_ac 'disable elf-hack on non-supported 
arches' --disable-elf-hack
+       fi
+
+       if ! use elibc_glibc; then
+               mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+       fi
+
+       if use valgrind; then
+               mozconfig_add_options_ac 'valgrind requirement' 
--disable-jemalloc
+       fi
+
+       # System-av1 fix
+       use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+       # Make revdep-rebuild.sh happy; Also required for musl
+       append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+       # Pass $MAKEOPTS to build system
+       export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+       # Use system's Python environment
+       export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+       export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+       if ! use telemetry; then
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_CRASHREPORTER=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_DATA_REPORTING=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_SERVICES_HEALTHREPORT=0"
+               mozconfig_add_options_mk '-telemetry setting' 
"MOZ_TELEMETRY_REPORTING=0"
+       fi
+
+       mozconfig_use_enable test tests
+
+       # 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_test() {
+       # 
https://firefox-source-docs.mozilla.org/testing/automated-testing/index.html
+       local -a failures=()
+
+       # Some tests respect this
+       local -x MOZ_HEADLESS=1
+
+       # Check testing/mach_commands.py
+       einfo "Testing with cppunittest ..."
+       ./mach cppunittest
+       local ret=$?
+       if [[ ${ret} -ne 0 ]]; then
+               eerror "Test suite cppunittest failed with error code ${ret}"
+               failures+=( cppunittest )
+       fi
+
+       if [[ ${#failures} -eq 0 ]]; then
+               einfo "Test suites succeeded"
+       else
+               die "Test suites failed: ${failures[@]}"
+       fi
+}
+
+src_install() {
+       # xpcshell is getting called during install
+       pax-mark m \
+               "${BUILD_DIR}"/dist/bin/xpcshell \
+               "${BUILD_DIR}"/dist/bin/${PN} \
+               "${BUILD_DIR}"/dist/bin/plugin-container
+
+       DESTDIR="${D}" ./mach install || die
+
+       # Upstream cannot ship symlink but we can (bmo#658850)
+       rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+       dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+       # Don't install llvm-symbolizer from llvm-core/llvm package
+       if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+               rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+       fi
+
+       # Install policy (currently only used to disable application updates)
+       insinto "${MOZILLA_FIVE_HOME}/distribution"
+       newins "${FILESDIR}"/distribution.ini distribution.ini
+       newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+       # Install system-wide preferences
+       local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+       insinto "${PREFS_DIR}"
+       newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+       local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+       # Set dictionary path to use system hunspell
+       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
spellchecker.dictionary_path pref"
+       pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+       EOF
+
+       # Force hwaccel prefs if USE=hwaccel is enabled
+       if use hwaccel ; then
+               cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+               >>"${GENTOO_PREFS}" \
+               || die "failed to add prefs to force hardware-accelerated 
rendering to all-gentoo.js"
+
+               if use wayland; then
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
hwaccel wayland prefs"
+                       pref("gfx.x11-egl.force-enabled", false);
+                       EOF
+               else
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
hwaccel x11 prefs"
+                       pref("gfx.x11-egl.force-enabled", true);
+                       EOF
+               fi
+
+               # Install the vaapitest binary on supported arches (122.0 
supports all platforms, bmo#1865969)
+               exeinto "${MOZILLA_FIVE_HOME}"
+               doexe "${BUILD_DIR}"/dist/bin/vaapitest
+
+               # Install the v4l2test on supported arches (+ arm, + riscv64 
when keyworded)
+               if use arm64 ; then
+                       exeinto "${MOZILLA_FIVE_HOME}"
+                       doexe "${BUILD_DIR}"/dist/bin/v4l2test
+               fi
+       fi
+
+       if ! use gmp-autoupdate ; then
+               local plugin
+               for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+                       einfo "Disabling auto-update for ${plugin} plugin ..."
+                       cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to 
disable autoupdate for ${plugin} media plugin"
+                       pref("media.${plugin}.autoupdate", false);
+                       EOF
+               done
+       fi
+
+       # Force the graphite pref if USE=system-harfbuzz is enabled, since the 
pref cannot disable it
+       if use system-harfbuzz ; then
+               cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set 
gfx.font_rendering.graphite.enabled pref"
+               sticky_pref("gfx.font_rendering.graphite.enabled", true);
+               EOF
+       fi
+
+       # Add telemetry config prefs, just in case something happens in future 
and telemetry build
+       # options stop working.
+       if ! use telemetry ; then
+               cat "${FILESDIR}"/gentoo-telemetry-prefs.js >>"${GENTOO_PREFS}" 
|| die "failed to set telemetry prefs"
+       fi
+
+       # Install language packs
+       local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name 
'*.xpi') )
+       if [[ -n "${langpacks}" ]] ; then
+               moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" 
"${langpacks[@]}"
+       fi
+
+       # Install icons
+       local icon_srcdir="${S}/browser/branding/official"
+
+       # Prefer the upstream svg file they use when packaging flatpak so it's 
always up-to-date.
+       insinto /usr/share/icons/hicolor/symbolic/apps
+       newins 
"${S}"/browser/installer/linux/app/flatpak/files/share/icons/hicolor/symbolic/apps/org.mozilla.firefox-symbolic.svg
 firefox-symbolic.svg
+       dosym -r /usr/share/icons/hicolor/symbolic/apps/firefox-symbolic.svg 
/usr/share/icons/hicolor/symbolic/apps/org.mozilla.firefox-symbolic.svg
+
+       local icon size
+       for icon in "${icon_srcdir}"/default*.png ; do
+               size=${icon%.png}
+               size=${size##*/default}
+
+               if [[ ${size} -eq 48 ]] ; then
+                       newicon "${icon}" ${PN}.png
+               fi
+
+               newicon -s ${size} "${icon}" ${PN}.png
+       done
+
+       # Install menu
+       local app_name="Mozilla ${MOZ_PN^}"
+       local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+       local exec_command="${PN}"
+       local icon="${PN}"
+       local use_wayland="false"
+
+       if [[ -n ${MOZ_ESR} ]] ; then
+               local desktop_filename="${PN}-esr.desktop"
+       else
+               local desktop_filename="${PN}.desktop"
+       fi
+
+       if use wayland ; then
+               use_wayland="true"
+       fi
+
+       cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+       sed -i \
+               -e "s:@NAME@:${app_name}:" \
+               -e "s:@EXEC@:${exec_command}:" \
+               -e "s:@ICON@:${icon}:" \
+               "${WORKDIR}/${PN}.desktop-template" || die
+
+       newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+       rm "${WORKDIR}/${PN}.desktop-template" || die
+
+       if use gnome-shell ; then
+               # Install search provider for Gnome
+               insinto /usr/share/gnome-shell/search-providers/
+               doins 
browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini
+
+               insinto /usr/share/dbus-1/services/
+               doins 
browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service
+
+               # Toggle between rapid and esr desktop file names
+               if [[ -n ${MOZ_ESR} ]] ; then
+                       sed -e "s/firefox.desktop/${desktop_filename}/g" \
+                               -i 
"${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini"
 ||
+                                       die "Failed to sed 
org.mozilla.firefox.search-provider.ini file."
+               fi
+
+               # Make the dbus service aware of a previous session, bgo#939196
+               sed -e \
+                       
"s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox 
--dbus-service \/usr\/bin\/firefox/g" \
+                       -i 
"${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" ||
+                               die "Failed to sed 
org.mozilla.firefox.SearchProvider.service dbus file"
+
+               # Update prefs to enable Gnome search provider
+               cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable 
gnome-search-provider via prefs"
+               pref("browser.gnome-search-provider.enabled", true);
+               EOF
+       fi
+
+       # Install wrapper script
+       [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+       newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+       # Update wrapper
+       sed -i \
+               -e "s:@PREFIX@:${EPREFIX}/usr:" \
+               -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+               "${ED}/usr/bin/${PN}" || die
+
+       readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       if ! use gmp-autoupdate ; then
+               elog "USE='-gmp-autoupdate' has disabled the following plugins 
from updating or"
+               elog "installing into new profiles:"
+               local plugin
+               for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+                       elog "\t ${plugin}"
+               done
+               elog
+       fi
+
+       # bug 835078
+       if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+               ewarn "You have nouveau drivers installed in your system and 
'hwaccel' "
+               ewarn "enabled for Firefox. Nouveau / your GPU might not 
support the "
+               ewarn "required EGL, so either disable 'hwaccel' or try the 
workaround "
+               ewarn "explained in https://bugs.gentoo.org/835078#c5 if 
Firefox crashes."
+       fi
+
+       readme.gentoo_print_elog
+
+       optfeature_header "Optional programs for extra features:"
+       optfeature "desktop notifications" x11-libs/libnotify
+       optfeature "fallback mouse cursor theme e.g. on WMs" 
gnome-base/gsettings-desktop-schemas
+       optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal
+       if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then
+               optfeature "hardware acceleration with NVIDIA cards" 
media-libs/nvidia-vaapi-driver
+       fi
+
+       if ! has_version "sys-libs/glibc"; then
+               elog
+               elog "glibc not found! You won't be able to play DRM content."
+               elog "See Gentoo bug #910309 or upstream bug #1843683."
+               elog
+       fi
+}

Reply via email to