commit:     dfc1619c8068deb8b16aa68160aed2f002a1a4ae
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Tue Feb  6 11:24:14 2024 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Feb  6 11:25:13 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dfc1619c

www-client/firefox: add 122.0.1

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

 www-client/firefox/Manifest               |  100 ++
 www-client/firefox/firefox-122.0.1.ebuild | 1461 +++++++++++++++++++++++++++++
 2 files changed, 1561 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 17e93556a8a9..0330ee1fe99b 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -300,4 +300,104 @@ DIST firefox-122.0-vi.xpi 632737 BLAKE2B 
b2a3e0f511bc156e499d7469dcd80e11807f6a4
 DIST firefox-122.0-xh.xpi 409563 BLAKE2B 
f344f38303b1937312632bea39311eb554a7dc2b8a7e880d352c809fc519f58fb7401a5d225f5c70567a4ca90eab81ae1699265b02b7e1fe74944bc34752b5ca
 SHA512 
1b48b1c430ca6e5c2e58d8f9c28c41c62c86005c6211e75a6253ab5d22bafa7c52322f6847d5c82be614fe43367293f580f955127011671cef6fcd9e2b96a062
 DIST firefox-122.0-zh-CN.xpi 633796 BLAKE2B 
da2b3e3a1bbf66f71beaffafa110a0a8e2e087e0693e52e681491fdaca25619294bb2f5d0cd8173c78c8925a373574a6888bb44ad396590d817b1e6e6d9282f1
 SHA512 
6d5dd35e0512cc74c1e84022d523e788caba03f656ed3e4cf41341154580f0e026364e3ecf8af81b7791f3e88001e645b45d13fcbe8d6307d7abd66d79f1e079
 DIST firefox-122.0-zh-TW.xpi 635797 BLAKE2B 
84191810324de418b2329b6fc403250db2ea4059befc2f523cc64dd0d157b28ca51a09333e097287acaaf5d11fce8fe51d782b5e83a6a9dff77cb03591dce4ac
 SHA512 
b8538d6874f2f1325d939c648a4025a064de6715ec6d327674f78583273df8e4e448eec45a2cc53148a9ebb8b1263aa3f66b79841b89989efdb88d962432694f
+DIST firefox-122.0.1-ach.xpi 455275 BLAKE2B 
e06da7ea5fc1ac1448b059ec7eac339338289a262a25fe108ede97c2d31e5a5fae138b2301c9e42a2be93a6a1bdc865590bfdefed06315a1dd4c825a808625f3
 SHA512 
fbcd98e8bc9d07581ea952bde18091718c3d1f4f203150f1abd87707be380f9a9f1523c57c7840c451b4fb8dc8c23a7cca8477fd93a1347e7e0cc27494307bf8
+DIST firefox-122.0.1-af.xpi 410006 BLAKE2B 
7cc936bfccc9a727139a2ff2872b31f2350463ce54057203877fc915c5f9dcd81ba07ad617fdcc2b317576fde6bbc74a32175688e56d2b593dac923a295a923e
 SHA512 
a88ff1442a3f3b11c58c7b57bf3870a3079c66c221f9e7f10285d009e2188250ab8c998cbfb148c8edcdf5bc5de3a332b81cc1181b284586131f94d9480cf628
+DIST firefox-122.0.1-an.xpi 496341 BLAKE2B 
c5f8b3cef83734e0f5da3f148c1fff51cf2fc6f1509a702343cbdeac5796efd7fa3619447a65ac44cb44e0d07b8246ac7bc9e73be95ad8b01a2041688be579c5
 SHA512 
ffa1f5a02658e013ed5a4f4be32b00ca22e570d6f2842ddc76cae088cae2202066c42d68b642748d90c4c43b90a01c283ef91fed3066b659b3bcbfa0294b86ce
+DIST firefox-122.0.1-ar.xpi 589150 BLAKE2B 
1361ebe2f24f99e767c254c89b4934aa3988b36d6597a6f812d50c6021c422f2d04fb2de7c1f460f4f1d0692fd4991c2535fcf92fc6e99002ab308c4de7dc419
 SHA512 
7b83d16467a6ba6b8ba840e337fe602eeb8b1413f5dae6be26aafd357e0f0d4875fcf8f73ab5deb6eaf67fc49c55c393a3fefa685be2b360ab8b194832a43e2a
+DIST firefox-122.0.1-ast.xpi 487309 BLAKE2B 
28eb05e20637c211f3488dda00b337807ecac9b0f91c12c851a24ba14c4a2c87df8de8c0f1dbfd5f95d027da81a9454054f4da81e03121e82c3fe3c5ee1d4259
 SHA512 
979799b6d2f52f9bb0a925e3bbd6e5a6d68d77d082b2530159c4750de5a727dfc9a35ce5a955c5f874ac361255498b281b22c253bc92249aa61388b563c41344
+DIST firefox-122.0.1-az.xpi 481590 BLAKE2B 
64d5e9b5d90a5754fe7602a81207073bd1615a337ccdda27c57286d7514230fe4f7248099875f89d8d1f9e18ce772c4f0af6003a7eeb79f40a8b60cb5b7f888b
 SHA512 
6bc6c12ec87b3e852ac0c42f90cf9b6ee206134235928d713908eda7a75ff5e64d9e324537b1b2e00a5eff69e6c86f056bd6edb44d7f7e3706788278c0a2c06b
+DIST firefox-122.0.1-be.xpi 690077 BLAKE2B 
86522a41ead3278ba9bf935007eab61c60a5e622ce9b67103a071e2b9b7a8693af844e6b31f024fa4cdc7a902267f0d61d2f012bd232f595aa2985d29c6e0844
 SHA512 
b299bafab140615b48df6c75f186809bdd9aea89083d9eff01d026dc7779eff1d06b7829c6beaf9904048eadf05c34a9389b676b3f7ab7c65e36246864755618
+DIST firefox-122.0.1-bg.xpi 590025 BLAKE2B 
31d12d8eab8bc7cdf23db226a1383ca104788c1058857f701f09c383fb37d32849969854a58bf05a0224b5d0c6bfbee9cd347359240646656a0c31957182b81a
 SHA512 
224f238cded8caefa0d3ee1a205d2479f148426b965542e722fea79a0cefa53433e4d97d79e41501705033651acca4dbed827eb0a1f9155ad3a7c755e8f01d95
+DIST firefox-122.0.1-bn.xpi 571848 BLAKE2B 
5d55bc498c170b488ec1ae45a089f2f79734c18da5143fb88ec7faa04aa47f56ceaccdbddc9ab660aaf1d5034e4f97c56f4698f4e6f77da1041dd21e76493c7c
 SHA512 
ed86a2ed6b83b86c03929792752470768d56b4f12e008fb8168f2117170e72353ba1dfc176665d73543ed20919aea8c7ce5bebf0ec88998f4c4c262c273bc574
+DIST firefox-122.0.1-br.xpi 572486 BLAKE2B 
47bae2d0d077174da8a1f8899ea52be6d2bac176d33e0d8493919aaf98a58433f203aabe0d5ed62b869756039b8b4de417539e6d011ccef67e609a21f41c5a0c
 SHA512 
08a6f23a904a209075642770a58a28919f0fa9bfbcd916f1331c1554c9dd6b4ad34f4cc20bec339f515ad9dab44e54a0e1228d8b847541a9b70d9f679f77024d
+DIST firefox-122.0.1-bs.xpi 461787 BLAKE2B 
976618c846026b28fa984e9811d5d25f5c04c2d90bfe31d5759ecf7a5e395f0687d0281aa64ff878a4df3f81fc1b896245a1f68407513d022e51103a13cb9387
 SHA512 
138bd79206090575e4d2563bfd96316328a99b986cbcaf6a6ebebb21a3cc61fceda27819bcfe0ccb01d8e2c441aaeb0be6e2fd470d1c86f228e5375f0faba24e
+DIST firefox-122.0.1-ca-valencia.xpi 536373 BLAKE2B 
5afa4d067b0b447fbf6629a91e00c8d11a3044b82954a61b89eb7baa7121f2f9583db5b389b1786eae53690fb89ee2d287465041c9a1e65f3d133640a2a4b78c
 SHA512 
00614d4b1c1853b6a62b2eb2b8e0f9e017cd98d05aceefa321a9a4927c9e4f963b071ce2619adb76eb01210cda07617dd8955b5ebeca1db98521af55d28cdca1
+DIST firefox-122.0.1-ca.xpi 574304 BLAKE2B 
275361dd0e9af16a24ec6943908bb77cea6cf7f0668670e977a8ee41cb02d5aa65cc8aa4e20f2a05f9337708db7b9f8d79437a369be3931d8481414eb980bf7f
 SHA512 
f9b568f51c7c3eef5895429eb681baee100bc0747b3909a4c71550dff74b56aa9df5936064aa77a77ff537ea7ec46b57aa770a93058f05c5bf25149adcc476f0
+DIST firefox-122.0.1-cak.xpi 581372 BLAKE2B 
08e114a0f286f90b123159230dcf659509f38b33f6a1bd920a8bfae9cdd100f3dcc106a540d42143e9870f574d0f0c813ec95466674fdfe6784780cad5d651d0
 SHA512 
3883938d57bb6145e9077d0ca9e7c16b31c769add73c14374e4419b784718719cbab01901fa8a2755615b148a7fca061d24bee0d9560417614e37020cb671ada
+DIST firefox-122.0.1-cs.xpi 635498 BLAKE2B 
05dfb2099c9700464d137e2ab74383ed7162a2f661f2f4dd51da54b9eea1aee3f7f4450b98aef9ab41ee16e154f1d6eb90dcf056b340d6111fa604a64b23d3a5
 SHA512 
c152679ff8c41d0d503c3bec8fc1b43f76af8249c9aa6d8a462fc70a638259cd49acd4a412f398af6c9af130932bec1a5e286f34d44c5415aa006ffe8cfcc031
+DIST firefox-122.0.1-cy.xpi 600532 BLAKE2B 
4222bc3166fd9c17e0ec889f7e12876dab0f22bef6dbac6d70a7616bed44dceaea7d811ed508b86a300c43ddf03e6b44a7c443f3f904e59f9e5bd1fb25450475
 SHA512 
c00ac225051a6c50d508f84255df04d0dda8a570d0bc0f7267a5a68de78543a1e2adb6bc704a9d54d9cd4678a2f848d65e4d844ba1ac04a262dfb7ca006d02f1
+DIST firefox-122.0.1-da.xpi 589133 BLAKE2B 
eedc8d783103fabdab8c11bcb6981c4542cf276d702a521966c1c364dda1211bf44770d6c8be84abf519dd2b356a9152ae2884ff225776acee59498f26206dbf
 SHA512 
32790319ad8aec296c4a19414bf051cce5253e1296a085166e99c3a8e95ff75463a93bc888208fb9d6786bffd7cb63a873b7f3fc35a699299f8f37dd19d55a14
+DIST firefox-122.0.1-de.xpi 611380 BLAKE2B 
a6cb525a7ba9030543c945d0a519916abea271651585071bdf2647d3c74ca67dab1ef3aefb67832e8237b9d9ceb4e6f506b06c0334fdc89f86b3902db0176c77
 SHA512 
ffd85da51a5d8388ffb2e5f377b0d8f6cec347dd65d48e266ec70f5cfb5451de77b1449f87dd362c7253ce5444fc8edb055ce61a42bb243ba4a1aaa51c5bfb90
+DIST firefox-122.0.1-dsb.xpi 626250 BLAKE2B 
c0f9675fd585c44160e7dd2fd2d767a1568b8fd5d43d6b2da166572da6b03bbd8bf6666f13310dd7444130c70028c4ef5a574014f1afc3bd22eea189c2e0e8f6
 SHA512 
1e82d47642f1a4b89c9ca526fbe989f8a70ab5474ba819d03c0904757978981a90e106e517be12e36dde2b7a984928f920a853a8b52f3b1d61cbfbbbf84a7edb
+DIST firefox-122.0.1-el.xpi 705640 BLAKE2B 
16b7303c58f2db476aceceb40359e6d9aba1c5120e33ee9b79c8b55fc4e651f34006b32098a66fe80d8410e8a8389afaf84bd17f4931d514327a15696c8a3f3c
 SHA512 
0b2dd804a1c3889f2da235b03e717bec01a38511464372bc0d8fba4527b7d3595aef992921dd59e7719c234275e8673865cbf5ecc34d25885695c040fb564e68
+DIST firefox-122.0.1-en-CA.xpi 550372 BLAKE2B 
71de55197e77b83c4b8f59f41b052c65dc1fcc88c2615d9f2aa9cbad6a6e966d053ece215cb243d606169b0f1ff79e8c354978eb0a13d41d71c12a3a30c24e64
 SHA512 
a294c5bcd53634dffa9778d235c50643560e9df049715a4fa787ae906932e834972572c81deb911dc048722b540d4a10960590f69a3ecf4b4c02cb90f080f827
+DIST firefox-122.0.1-en-GB.xpi 564339 BLAKE2B 
d3c979bd0370fac090dc62a53df2280680fdf3d0e5f164ca8e66cefec627ba44df88a11a5818e874512b1d4ba2c78b9a82c55573dca8395652fcc5e934100004
 SHA512 
f6bfe96aef79c6444fa92667f2b0f7c7514710695dccd087038e941eb24b1a7aaef6359e83f4712c4a2c61b826415661d6bbf0ee92c28ef074a56a4fa4cebc4e
+DIST firefox-122.0.1-eo.xpi 594079 BLAKE2B 
39a2bed03680dd9499b483562726623734877bf0b895f7117ce312b229ab4404cbbf782b733366c680c0dbf9e6d1eb8167c97471ac39899a4ec125b1b1284403
 SHA512 
ecce16466c7661ca05bfe860cdf3bdfe02f53f7e6af36956f256c4b1a02de6068e10b5d3e648b53518b6ec1c98ecf48b8d691a76dd62c5799bffe4968937e578
+DIST firefox-122.0.1-es-AR.xpi 605585 BLAKE2B 
a4716b30e80e05ea40d88e8c21732457595a4049988386f532b75845a95f40566d9e38dac4897813c4e9aba63d3701963787da99d374f0e90d96286fe850ca9b
 SHA512 
3345e09e26bb5fa39cfa82992fbe4b93fb44dccfee4619184f6ac6b18fd57906e1a28cde775c0993e581bd9e497a34bd561fbc2e30759aaee8718df7eb6301e9
+DIST firefox-122.0.1-es-CL.xpi 603391 BLAKE2B 
5b3c2a1e7e6830f8eb0fdaf55b6969fe38cd8dd76628e73a9b60045783241d4c5d0261355b43e2816f09ed15a49bfa70e091dafb8524b775adf7acf05cecac94
 SHA512 
a763a99450046516fd92dd92ac1c98351b502111f2e6864a6ee07e9653d0cef11150b56602af97eca41b9ae19730ed8e29e927bf15a42489861df07216209f5f
+DIST firefox-122.0.1-es-ES.xpi 599357 BLAKE2B 
0a6d4efcabaa650a023b1659d17f9762021a7bc3c6f363972d826e7cf7265c0840e454c4ba41518f78fa948bf28f32aa2c3e4a15c737994f6d6d9b6ac7c29ff4
 SHA512 
1ea292326176583622e81ded746a536f0679a7e1aaf9f30e3929bbcf86a421a9834505e6523a48a3f27844a681d089f8bbfe5ab435effd5db0a6ce3096a92078
+DIST firefox-122.0.1-es-MX.xpi 581873 BLAKE2B 
897ddf2d406c76b872728ce90354090ae8e4a172f4b11982a665a1bea129b6846c7fa0c797b7655a2da89629f003da17347198696bf2b9e36ff1efea446d8e71
 SHA512 
2f1466b5ce06f6566e8a8de5a62492a9c7f00ca20db6cf91fcf5641e520c30f3b90bbe35927f8a7bfb6765f62616ab7adb87866b96a146ac792cfcc8c7d80128
+DIST firefox-122.0.1-et.xpi 529932 BLAKE2B 
15fdf77a0843fa7f5443b882dbb5ff6022cd5dc4f36d2e7b609fc7a4db58bfe375d5e025def0d646fd6accf84c6ab58c42974566c03712dde108f18befc6b428
 SHA512 
f633d811a5f94c3c6a86898c4bff337a8bce1e258aafc802f95efd8dd90a2fb1f22c4a6a6471050e5fdc2ca3887336ddfced76f010dc7575ea2a328c85937f6d
+DIST firefox-122.0.1-eu.xpi 579940 BLAKE2B 
0416854fac3dcb450735c8fe8fb0fcfe338d619dfa12176fcdf2fb780d5d6f98b5894c26e5e20024fbb78ce33bcff5b6faaa348eb1b6482a3b7fd1ef2a458583
 SHA512 
269bafe3f1bcea9be38f63edd6cbc9630aeb3230539f44e50b8700f30f6f368a7af46c664d6ee75d5c7968978083d262eb6d3026b5c7571ca5cd5ac35da091e4
+DIST firefox-122.0.1-fa.xpi 580319 BLAKE2B 
95685d9780033c69fb26ed0008e9d390ea8f5f8709d728f4f110a981f37c6a6a0c90688b2d0526d107d67ada48d142b8deb9f2a7a39844db52cea3fe59b18b4d
 SHA512 
a8cb7459850d10f2f52eeed986cbf5e26d9e9095ae3c30c4d34e28aac28778e7aa3fe864e6b3c65b44ab813ea231f4e9c7a34bc536ea9d2d0a06d76c6b83d5fc
+DIST firefox-122.0.1-ff.xpi 466819 BLAKE2B 
8bdf5480dd95487a25793810173321a7b5d7b0dcc2951540e27c025a9ec89b30f16cb1fd862486839c0976b5b4f078dda08b2b91553ac58a131b1022647f9414
 SHA512 
a84082803f3e806cbdeae91efb8dd702d69d5199261b2527b28d7fd76eb928e4eb05beafbd4791506fd8c97f9b9caf2724cce9aae2592ca849e72cc39fbe1dd9
+DIST firefox-122.0.1-fi.xpi 586307 BLAKE2B 
dd59f25003d2f16418b38187487af0c88af706f18168f3654321f6baf2eaa5e41ca186f324b8d15d6643d5baf59058dca41e236111144c98105fc9346a253090
 SHA512 
83e19d20aee923f284d3f3c130456399bc64398a4d23a239287f74c669028cd29ff865fce5e54d170c5cad11c2542db1734c5a2243ade303246044ee19a35466
+DIST firefox-122.0.1-fr.xpi 616263 BLAKE2B 
ee2239cf792163bf9064d42a1f3651339473a26091f2d2c73976781b61033889fa183057b2af254db5669c7f5e81b069608024894957c9564c108bfc3fdd581f
 SHA512 
6c597aed1b9c386bfe72b727417c3b774b6f234d242d304cdf23ca4f4fecfbf3ad50e3b3bab38fcbbf68b5795789caba7778c08baf891ccdf6519931e0f0f495
+DIST firefox-122.0.1-fur.xpi 609606 BLAKE2B 
1c1a5bcdf486c7d3c931d522e3de53dfc98b834206a5b40262d20f8f3d2104e37d4f3ac1beed9ad71a02963c8d706895786314b9ad7d0e5376befff2e453d632
 SHA512 
e2899fb0a9878a53ffb368acfd8bc643629371e5851834cadf39e54681b062760120237ddf88db960f89595808526c40c756792ed5245a2abd679188cc23d16c
+DIST firefox-122.0.1-fy-NL.xpi 599817 BLAKE2B 
f6a08f6070cc09614ca4d8a57db3f9ad04ccae933b535bd71c33b858ca010df5a1e3c6b8f78bfaefb9a19ce68563201134c76a20e3da482e82d4757bcec99b18
 SHA512 
9ec418c38477da07050db96ef3f6181a641482d55b09ac38b17d457cc9c85f09247df2f8c2b5e9fd6709d6a8002b114ec49b1a408f27035da3ed43dea3b4619b
+DIST firefox-122.0.1-ga-IE.xpi 463172 BLAKE2B 
d26340beecbbcc849f15f2f98bb6704a155fa04c48a2327103b8a97f6afad594f17a83902f9b7b7ff5cf152e7a4dc3b2fd0747dc9f09a994a37349b7f585ac72
 SHA512 
0d1c4f259e3393e92a7ab5e6fef1e4b22cce11a46bb85e1c8486277c1cb10fce0dcd87b129230ae4ed0033b5db45b2886b022665916d8fb14f0095cd2d1be7b7
+DIST firefox-122.0.1-gd.xpi 581800 BLAKE2B 
e3e52f09a9bad0a43762932b7b342870b5f063de6e40757efec79478f52857a496dfca2a402f480b8f7ceb65de19a840647c79a20edd7259b4b2308593389e3b
 SHA512 
7bfcb70dd7dc4c7a303feeb4ca2c2d2d0c3ba05798fa6b4c736ff1497656c266e6fd5450e03da93046fa682b9d1034dbf205eca333ceb411f6a1a2ffada1287b
+DIST firefox-122.0.1-gl.xpi 589969 BLAKE2B 
561bf8383fdf40a5b04d6adfe27e6c6701c85b6e312d921c501d97b0e615124b48725a7038c3648130b5230ae2e349a7073b8dc086119708cef64d0f6a93d3f1
 SHA512 
c6af7a12cebab022f372467d08a9f93675a7bee15d59e95d3079282fc9c6fb4b7a2a4cec31fdbf091a5f4253cb02acbb6c1a654d63921cc91b8384ec468a6399
+DIST firefox-122.0.1-gn.xpi 615041 BLAKE2B 
84495b857b744d85913e85141eb7a925a857a72432e26b38ebe812e3f752fdac1422be330271980c54292d9e274eaad6ea7619beed4508737cc18c79382eec13
 SHA512 
0bc9da0992a68ec65425db20c64fb23c1e3a10a7a2d5e53998a3eaa5ad045132c3eaf549974a182aecf99de0bc167b00df2598b7fcddccd264f53866f7a1188d
+DIST firefox-122.0.1-gu-IN.xpi 517705 BLAKE2B 
3fb2c755a5d942d11b820a7e4ba9468b8540720adaaae4421142d037a028d67dd5c0d7c298505e63d7be12544f2ddd5aef6eb30563f5b3658f3a032c76e23b9f
 SHA512 
89a8f819c2d755173b5560a4d31f2e6f824a7c37de230e67d57638d54481015c799d0ab7c978298c9175e5ef42f7c33dff57843e06df1bd74ba65da3144c7fe4
+DIST firefox-122.0.1-he.xpi 609666 BLAKE2B 
12fc0f1c7ef7e9f70f445899563e10ecfe8bb320745cda5af9868299f7eb972675d3bea2cc6eb4cee95eab57239ec756fa92ff38a9253fd6d3ae37c107beedbd
 SHA512 
beae9b10e56fac5c5f943ea9523b2d4c1f79c6f907a4328cb7571a94800a7b48189b7b6ac0cb261861ec88c87eded933213f3bf8ec50c4fac8e68e571ec323a5
+DIST firefox-122.0.1-hi-IN.xpi 555589 BLAKE2B 
5eb8be65cc1bf2e62d46bd59eee675ea333b7fb3410d7dc19641275e390db57f9f862e52395513e9a8019ba067ea9be3aa9d05d99c0be1582f7b5a2cbc31f271
 SHA512 
cca0dacfffba45cedfca40745bdcc93b1528bdc58ee16c2b0a9dc1b074850eaabce6c6c7bc9ebfe340ed7064fd4e974b4430e5f840ba87e5354b66f7c147f3d9
+DIST firefox-122.0.1-hr.xpi 546935 BLAKE2B 
02dd8fcee171df86706e3c50d0442a0aeb4b213ea74b054e6d094f20a22b8f877d613bff622584d937358cdcd468cff484bbe0c5878b1914740bd55948154b31
 SHA512 
b1068884b88253c60fe49200c95d7e65106c0c15cc41fab2796f19e16fb3dda2cab286fce84736da0cb955362508e5e34099947140cedc382381ee2593fda80f
+DIST firefox-122.0.1-hsb.xpi 622829 BLAKE2B 
92ddd0ce9da11032da9786c6e5c4b872a942d56fee48e1e00c480f8445813c4e754e8b6d93175270a6ef31532bf118b207175fd9a77c6219f5031c3dbab5cc66
 SHA512 
07717b3d412896c18f65b68a56f40fc58c37196870bc1edce74031fe8ecaca68419d721009e9aad84466c5c10109b19c9d16287b12beca559d5716e6ad733a7e
+DIST firefox-122.0.1-hu.xpi 624087 BLAKE2B 
750f2566a8e78c5332a4fc376de6d3f3b9014d1fea6119acd0f193eea67a1a1bb8ff07168ce5c0587656d69df5fffe03339bd2ccf988af5b9b9478ad1b35b6c3
 SHA512 
7dfa603fbc553bf8525a06a50947882d3774c0e22147089d81c1c57c6c1274a98b44f5f2d6948f492d5a37a63dbda8506900cc1b620e2bfb2aeb1b030dd2ae40
+DIST firefox-122.0.1-hy-AM.xpi 597039 BLAKE2B 
bf966014e6c254287d118bc881590f8e11d3cd0fd0ae88a7425fd25e77bb24d86e675b544e6cee1b0b26ad4231f175442acffa8198f8e48b05b6495dc6699e2d
 SHA512 
efb07f3a2a492fc00c12d3cb646b40913cbc6b4b9afe3efe5b15b131a49b529151c1fc85dd8802cdc3833a458af41adbeecbc0f08608d6360b20bdf34f334900
+DIST firefox-122.0.1-ia.xpi 588968 BLAKE2B 
0ee59340a0369e1d3421ec28d90f068e8e95825cb0845546e952515749aa23a07acb31573b5de71a3960a64ea80fc89c3c7095b464f06455df7cc6623e559ff1
 SHA512 
a3eff17a76758d6336f1c5792d2a8ca1e12c0dac8a971f1624a5c9f5359439f83bfc0bda5736fb8553253180f8f27cfadb9b8de14045115ed8e2f1f2fe0b31f0
+DIST firefox-122.0.1-id.xpi 556932 BLAKE2B 
d5797042ae12ebf4e19ce80399810fae8e7d11e28fbf4871581e96b82ac7b21660378238341976f77522150e2ae229037bcab730ce4ee7c5db9d12378fcd4650
 SHA512 
d1ac4ae937e298ebfc497800baec74671c4fbd888f9e2d14c82684ca9e09eb5c182c555f88ceb1789d93fcd917c388f9c9311a4acd27d3c3d12dcd145182186a
+DIST firefox-122.0.1-is.xpi 593874 BLAKE2B 
359939f2600f5b3bab65c1143025cffb76c168686a6ba2e802985642d71a224cd493f8f3e133842e80cb3b018c515aa1e1137802f2a9485df90be0efcaa67c62
 SHA512 
4ce994ac5157f51dec5a864902a09eda38e4f695fade2e0d52b0b2339c6f8a003dca37895bd1a286d7deac48f96d50b04f84e63197b58eb666b99cdaa2f2b8e4
+DIST firefox-122.0.1-it.xpi 546582 BLAKE2B 
a9b267a2b4382c5883b02a3fe41be1aa07772aea6b4c483552e7d77e590f56ae1e0199ff35a0f6022552974b63c7c6c5097d976579dfe53656dd47a365f3f129
 SHA512 
41fc18177c3c01d2e3b048f0cfd6e26320502ed3c0508395e622a5d61b72ec195b0132c7549d46c7ccf6f4466970c27d3408cbec41d49947bd14bd2fde88c37a
+DIST firefox-122.0.1-ja.xpi 654835 BLAKE2B 
a137ae876cbcd9435d14a4be095615ef4c8a54c3cc84dc13ebe1baf2cb722a222dd92330ef12b41c669e39637d84fdc4b74762c844a95dfc48c834bd3d1750db
 SHA512 
369aaa7cbc9e0851e0fe73cb987be5ceadcbb98c3ae76eb301a8a6db54dafbfbe2a8cedd72f8a65f21e72e67d1dd28e6a8db2632374973fbc4fde7989e68dfae
+DIST firefox-122.0.1-ka.xpi 650264 BLAKE2B 
47366cde5b5559a6f8becb79fe80b706021b07da062e7cbf6aca641ead95e74ac780aea5d8bd2a6859e49c6e4801d92b7ae8dc9bc2b8abb01cf687eb9534f966
 SHA512 
f000f13825e7aa31de99062f983e10544e806edcdbd5063d8ded74b8ea7de93e891055dc5632bb6ad060b292e344c3a3ec367a8ca399c422f86a3299fda594d9
+DIST firefox-122.0.1-kab.xpi 591576 BLAKE2B 
27b60d56ca3b6dfbd18fca7d8acb629bfbedaa7280296d5340ed4a3064aa4661cc332b6ef3abe2d435a7044558573f73c99e02838ee0f603be46414b89769482
 SHA512 
a64a56aa176f1e591d178a7aa45fe24ff9ff285418ccd505d11f86561d9416ced3171f6726ef7c4e1eb00641e46d18b04df28bf4649b5747a3b8a27c388a4376
+DIST firefox-122.0.1-kk.xpi 682866 BLAKE2B 
35ac2fccc7d2cc1858a876644583d1eb894b7c0f4b15504bc34125aabda9b1b8451d4c19e212c137373177f4b9b2da03649bac811c3c0aa625df03fd3352f129
 SHA512 
5e32dbda439202cca144f41beb9fe069b1cbbd1ee9d2be06fecd1c0b9afd4f721993b76e44f6292345b03b116e99a23e359e4663f481298a00712d31cf822328
+DIST firefox-122.0.1-km.xpi 516751 BLAKE2B 
b27bee1ca6ef153835408f57544ff6c458e17c386c3e3fc313d2f7ab75ae1f76b48cef5b7f86a05fb1e6b240ae11acd6542a5a65691330e2389864cea0f918e4
 SHA512 
6161f757f3e6e3e1ab3cda2075dc4e2d59b55695177deb7ee83315075b54640f979b388d1158dd3efd24456b224e5846ac12c2562b1737e79011780e0a956e0d
+DIST firefox-122.0.1-kn.xpi 482037 BLAKE2B 
f5708168c8e5b25becb54907263669164cd0105c0dbfaf76a12e202078e646a58bb61a3b1c9480cf76a742b7848e53276e4349ce8648b2360a38bad0042d2b7e
 SHA512 
6af31847cd480778b4153d10958701af2de537d27b5799150decf24bb969a65b32e082dc9bf3123829b0ac42ee5bd51a3cf612939bb85b0bc16970ffb31a9ab2
+DIST firefox-122.0.1-ko.xpi 637952 BLAKE2B 
78cbb5349f99b581944d07a9f14607fda151f0614d39980db0eb01082025590df6ef137747d021e37a3742a995ce2a4478787ccb70e039bcf53e7ab533ab37f9
 SHA512 
469d8d67c1af6ffae0b99a5e867ea1c7bac2d0fdada267d74292f4e91f8cc912a64606490efe14179c7233360de4f24e32e11c8f9382eaae5db53d334ee7f120
+DIST firefox-122.0.1-lij.xpi 474899 BLAKE2B 
0d837a9ea30f345e99a69305b5f5524b7fea8b94b2d492db33effaaef769441e0f6fd22835798638e7e2a2c26cf256b297596b1d7cbc4bea7888368d7f72334d
 SHA512 
1b0d4229dbe51a96f1ca5fb618aef3bcc42c0882698bc63aa1c02989ba572437b4da8fe03a075a57b6b8feaf42623fb2af273c9051975595e11d1870d433a902
+DIST firefox-122.0.1-lt.xpi 562448 BLAKE2B 
115a064e6d8db39dff4346bde50475ffa6034b49aa3bf77d19339db1cd40b4409669229efebbc5151c1b84a0b276a0db935ca88dd4878bd68c73090af2641f2d
 SHA512 
06fb650370876057f62eeea5bdfb805fd40cbe4ee212fe627d026c87134ac22fffa4a94a3ad78287c953a245564efabd282b8eb83921ce6edf15fcbf11efcc8b
+DIST firefox-122.0.1-lv.xpi 460533 BLAKE2B 
a9dcb00c42ed88c50e1f815f89662e8b40ae5b907dc696fbcc4fc27816729adf34f52192abd75beafba492ff5ce2de88689573d41861f8667d87f49d23344a8f
 SHA512 
3bee0b71df47c73f59efdec741101d783ae0960cbd806a77fb476ecfa28f0e89c4763594f9b63d87a7a5faf9a3e351feebcffec5b760b180ebe8fb352805d84a
+DIST firefox-122.0.1-mk.xpi 484062 BLAKE2B 
30fde81a2ac043a0d6855440cd30559b1e6c8c3209ae1d7847f40bdf0f3c77a0ec4afa96bfae979867f0a4404cdcec0b8e72f6e26eb761c731339c42dc63375a
 SHA512 
ee0d8cff27b838378e705fcda478cde080261cfcbee7575ef1d9e7417866c26dd843b3dea99ef8276ff413291e4d3f3374705b20394919cef03472a76ed918e7
+DIST firefox-122.0.1-mr.xpi 522740 BLAKE2B 
f5afd182b39efd4e5345c737df6181c72048c42266bc0ee73afd676a95e39d8ee37d1b905c6ac956d431136eae59ef2634bec16c0b7be14cbdca5fb7686dc9bc
 SHA512 
ea620d9569ba7367b65848e5402b38eb8e746b8995f547b6d114f00b318af29fc69cbb12bac36a42e0190b936bdb145d7723f38de64b0615ca9688a9f4809f65
+DIST firefox-122.0.1-ms.xpi 440554 BLAKE2B 
6e76a7a6d32f6aca1a058472dc71d2a22d90d88d0a3231484f7d1d10dd50dee61145787a7bf9e9837939043fbc7692239eaaac87d156baf29aeefa2801ef748a
 SHA512 
a543ba97d132770d87ccbd9a99dd0e2b37a6a4f55a34816e87adabd99162da86360cbadc8f541a9610976967219b31d8720ce5c3f657aaf39b1b691cc1dbe43e
+DIST firefox-122.0.1-my.xpi 508111 BLAKE2B 
0608faf863659210c006a0b5a974bd9e2bce964c12ce427370f20acd9268d52722ead174fbdeae205f76eaede50d4988b803e27ec605d377e92544e5ae2756ee
 SHA512 
1ec125115851cad69239abcf5bd1a9e17e2689822398b52e52b67e6abc223d4b20c4728a22b020ac992cccc61ea8939787a95d05072064bf28033e04a1ca0717
+DIST firefox-122.0.1-nb-NO.xpi 585049 BLAKE2B 
820ba3b43841cd7c6f978b4ffa675ba4750eb917ab8154a69aa27dcf6d2fa2d83ef9bead6b5bd404992514ad1f8f7653871e4201f83b3805d534961fea14ffc4
 SHA512 
b7e8ff822f5d9a9180db7c3b221b81a7b489fd87aac93d7eb314e066153579c7a300b64e35ad8e72dc091a3073af78ed1d5cf849dd68355b9d5dc07a52695a58
+DIST firefox-122.0.1-ne-NP.xpi 479211 BLAKE2B 
2e0ebc998a29c951e25db1aabc565d697c309c23ff401e03df57645aa137b3b49baeb4fb00ae699f1eda336a29cb64a5304301b4de6da8aceb2b1be0db57f4fb
 SHA512 
835166ec0a690a15ec3911882dff4b3b3c0081fd28a0136fd273523eb637265a5ff13fa6eca534652e989965d8e3186bb2234797decf82517a4f8fa727828f85
+DIST firefox-122.0.1-nl.xpi 593818 BLAKE2B 
b7bb58930ed1e340f8b6416ae0eb492afd213351dd7944b72e8144e7bcf1f70d5533087b379d8adc96fdd505b1167d10e34ca69b729d279c078483794a8b3f62
 SHA512 
a467e79440bf99385434f8e14436c0da461fd34081b1692bf8b149033a30104c5c38cba4ed9ea5f6a803eb16bd4bd7a8503f85f4baff014bb1f2bd47e73526b1
+DIST firefox-122.0.1-nn-NO.xpi 582367 BLAKE2B 
0013a14162c1c8570e253b23367448813491013d2d75928e153820f076f7fcc90039aa9e15325f584eabca5813c12c8894ad997a705f2b738362ca460faef6d6
 SHA512 
8938d2dbef32407e9c4c0ab0d14bf0d7b754503355ad02a490ba7e2b3fd80170d159eedfb0267b7a23f32def386633b7a39c503b5aa39c64e4879ded4c7cb55c
+DIST firefox-122.0.1-oc.xpi 595888 BLAKE2B 
abf6fc091a66651bf932cc7cd0980b4ed50997a1d8813e9fe199295fd16f6932edbbee1925881c84a95d4853045e7e9eafe1fdda613fdc47fff8a56b1726c96f
 SHA512 
220ffd82a638a7ff04a3a01b454fd09f89fe1dec882f9d529f829cc093a5e27753384b25b7248bc9fa6e53de4e21504a8ee5b9568ae32b1e64a2c7b347bd9620
+DIST firefox-122.0.1-pa-IN.xpi 668742 BLAKE2B 
7e47a85365643409aac3813799b5556b8f629ee598dce6967dd785e2e1b2a66b66251025d499deb27c949deb6884591c6d0270a0ce2da302bcf350b2791b8fb7
 SHA512 
4f3c6dca86fb71d1e7112898ec47ef05951b1b384689a1710420db1cef75e8870d87492a90160796ebe9ea7cb7f2e1fe7da0c214c278fdc83659b051b0337ed7
+DIST firefox-122.0.1-pl.xpi 615500 BLAKE2B 
16d85cd4a98c8838732d625123f029c591e65a0341d5ce2d9f68586ad90e427f2ce8401717fb18c0982416ecd52a63eaba015626851956c9e3a35b05140ff9ec
 SHA512 
a8721b1f3f3859e0cf972886cd3aa678d7554c417ce483ba43f93fa86dd6828963a0b9ca89b05ebdf6ae0ec642e97be10e37c6d67d57b8674eb1c31fe529ba5e
+DIST firefox-122.0.1-pt-BR.xpi 598579 BLAKE2B 
da1ca94e3611885066de30e96eb48a7a3389a287ff694bc043a630f161b8ed06f02a6bc82676764feddf6fbf52f508c1ebe002592d4e9e112977ec926167141a
 SHA512 
4e8a7042c83746614f3d8fd565d92037771032d4b23211eec839a47f9bbef5896f4c0f37d7f534d8d767166e934c9a1f754242f26d3864f71cbe5bb4e58fad9a
+DIST firefox-122.0.1-pt-PT.xpi 595070 BLAKE2B 
e5f63e2c83bb1a3959c2f8eeb160291023f665ae6fa43702daccef87bdf75a108a5af751e0a04da4e311ca671618a6478eaf59d6ac9a4d8092f3927380137cd9
 SHA512 
ef663941704ac0db0525ce38534264ab3af25812c34aa874a7aef5fbd435500ed6885feb79a7f23035aa5a40d8c2356f72a461cbcb23c28271d062df3b0b5795
+DIST firefox-122.0.1-rm.xpi 595449 BLAKE2B 
382875fd532e311d1081a6b13a2cd7722a4b835bc7b2cd59b56e9a21c6c95476e47272dc350d006a3ee8e187200dd550aac40cebb1521124ad127ed9efdf365a
 SHA512 
ad0aa404808b57eb73d269fc3db64822da0afa4ea66ff28fa4c4bde53060f5927d728f6dfa74a5fde5ddfc7e606400eb16c61edee16f95b10daa157dec8645f1
+DIST firefox-122.0.1-ro.xpi 539329 BLAKE2B 
f224b70f31771c1437dcf6ae20623ceeea1a2dfdaa78a52260e8e8539f993736559a49291f57fce8fa7ad6fbfc430e360de6ba6754d29a55e0f10799d829e43d
 SHA512 
78e31339f83fccc280aab2020d81ae3b9c71fe79bdb242c70a9bcf361a82b3fbdb3f56ebc92dd217857cb7c3ee65aa67171ab27e7e8123ee782544ceb677a3ba
+DIST firefox-122.0.1-ru.xpi 694897 BLAKE2B 
3d822066f599d77eb8fd44fdf0247ec38d9f05ef6d2eb0ec6c56fdde4b60d5c4fcfe30dadf8df15a4ca910ebce8e899c233b015ca3e3ef7a2afdf60b91a845ae
 SHA512 
0093b3019ff1eaa10dbb2cdbdf7618d1f1b4f5bafac76e850e7ea5f2ffece6fec6e4f84648b51c11078c67f852b2d1e44c632f88228173fe026f4c1058b0e47e
+DIST firefox-122.0.1-sc.xpi 558465 BLAKE2B 
722f12eee61edbb32f99ae25373e9c6249c0ae7395427ee8656d50b505849dac2ce3466dffeca4dfdb0a58661944788846d88437b7c5680561618fc743b6aea1
 SHA512 
2f5084e4c995421b217859732c27603e6f3b61541c8a1770ffe009f32865c51d96633b4d3448c51ce94be15ebb799709d90cd18170f99c3a850d356f0281f1ac
+DIST firefox-122.0.1-sco.xpi 502579 BLAKE2B 
4e17e9b486a514048931aa4e8eb8f4d8cef4ca24d1fc060b52f79c44e93fbcda6eb32c033e3eaa14246c482c3b4a1a62f42590890cadc08221882ab57ac81b42
 SHA512 
7edd3963ec0ae30ec07566eb4b1c6906e700bfaf39db3a3133e878b1a6357fa6eba402877362de32fc9499014957b1f4090e48b6df4520bd56c7a7c1be829113
+DIST firefox-122.0.1-si.xpi 595909 BLAKE2B 
d1e316697343ebd3bd4342449bcf68b397c4f948c8cd1c117c6c3f38d9772a3866561fc6a3daa0e87ee336eede91a2d6de161f00159e81823ba4e8db6ada3290
 SHA512 
ccdfe93b9f9a87ffa6d2f57276896f4845dec68e085c20f7c835566298178913bc1dbaaae88b30ee701e279a56363f677c85a6687c8118595a40e482fa3385f7
+DIST firefox-122.0.1-sk.xpi 628868 BLAKE2B 
8b954150436eecdb6213e943ebcbe8025c83e485e90d623308d5171f8b85ee37c64c9f654b9c777bf977d874f930209314a2d11c4a445dea0c305290b0f2644f
 SHA512 
c19534a41361aab9d3cf93fc2ec51870ffc8befc2f4c3f27bee22bf769cb9970ae492923cc2ed0bd299919725e0bd7d88449cf3f20466fc2576630bf3ba5f089
+DIST firefox-122.0.1-sl.xpi 595264 BLAKE2B 
fb839eb6ef4bb73bf193ed67cf6d75d911d031be60420ca32ee81e14ebd6b22c7671e75aba579e59f1003dbd05d72724c0e24f473e0ea06539c50637e511f1c2
 SHA512 
abdf0bccc53d72a8a3a6568181feb51bab8a18e2f0d6728e44ced24ee6efedd587162291b652ff342ed80f2941e06bade2b4245488e3d519ccd014eedd0d4667
+DIST firefox-122.0.1-son.xpi 408754 BLAKE2B 
34e31295cbff86b1bdbdb9072af30761401f2e95dafa312275a4ceda205dcd2864c1242f628ae0ad47163279dbff512b379a1705f37645099091e53a3f518b2a
 SHA512 
64e59fad9f60495c581a6a1507ac63127f78c1a2d98d24156f45603ea1c7cf399f3160dc104ae1afb4798c7f300d1ec80a48f46df25b59272610b9121bbb28c9
+DIST firefox-122.0.1-sq.xpi 613972 BLAKE2B 
c5ede50584547180b3c26aa4436e7bb08d0e451547365b9623253967795d98648409c24315ca81b088231d26fdf745ac555c36edf68fda097c57414a6fd0440a
 SHA512 
adf225b83ffe528df3b26ba4755fb940dd1ac386c03f44bb5146ea41e2a7ad5c9fe220021c9ff080ab1cf9e44c1a64413b24c458e7239a41cc2ad68a0162f904
+DIST firefox-122.0.1-sr.xpi 629411 BLAKE2B 
b50108c862eb0eb746d87ac70357ada89e71b9b5e10016fa0e43c0e36b4985c648e6a35b61f1d7c98707f8430792dfde4ac80eede72e85f7c352e51c92c24c2e
 SHA512 
b6be042f7c7f1891a08e1ca2e016082bc57c717f847872ed455765fabe2f8f2eb028ab9ad43bcd0216884a47042e7b097606e1298b84a7fe545042f54e6c162f
+DIST firefox-122.0.1-sv-SE.xpi 596966 BLAKE2B 
1edf3c806071e4612c774ddd56e25d01aeccbe8072851318e43e9b3e040ef5cc9044aaf3327478b1865a01995bc7e3270c30510f56915697ecfe63a0ff5b75c3
 SHA512 
fa2d44315fe337ec6b9685e38b81eb4ab4f3d7e5edbc10215d1dd7dd3ec77404d85816db9382f828ee72a1371c3a832b0ee42ff9cdfc661e147c049dfc95464f
+DIST firefox-122.0.1-szl.xpi 517322 BLAKE2B 
364ede964b6258368f1576f65f15d529ccf3320c646254189c318b40716c74a1f2ca5e5e04ec994d597a6701ac6070cc20fd11ec05c0d85c7e6c72b37f7e91cc
 SHA512 
2ac4e782c161f421cae6985bb681f1f8b056551838dabb3ac5b6e238a9175a37a6d3aa8ed851350c97fda8ed77a62bbe3ed090d732bbaea34e641ff6b6b28a5a
+DIST firefox-122.0.1-ta.xpi 498459 BLAKE2B 
db2eb7317c4313be87fe9d85ec55bf50f42d3bd013c99decf4a566d36c3f376de2759be15fa43c5a50d0f5a6ea6ddb258ca98f3526c5ccb3fa1d682596fe28e4
 SHA512 
4aacd39f6a95bbab646041171928461606f4acabf348a4737eb4eef5f001e22526c7250dd8709008d41bffe61749ddbac3c6584e6128d63f510f50fc5a0bd280
+DIST firefox-122.0.1-te.xpi 549465 BLAKE2B 
02e179e4532d732cd16d2be88a4593c3db60a74947586bc832ef474f6d151fc5973b017f8b883cd75bf38e745ca8349f064a97090d73ba920f66d7cc24029dbc
 SHA512 
ab1c33b51af1062c7dbbd0627126abd15157c9805e8171a820f9ac53f74b2624245dfba2d2b8d0d4aeb1f03d6f32d3397a58f3b323a6b58e8eb9c43b1a2eac34
+DIST firefox-122.0.1-th.xpi 667528 BLAKE2B 
b54b02dbf8a4439c4565cd4683c03a02663ab740192cc8a028f7b842432f0e08a6479290d18e4fc93594c03b1686e6f66f97c5c589bdc7ae2b698cd6de50e2df
 SHA512 
534a126ea7fe0157a858d35386a86b287d45acc11e9a4e4a9e6b51d38c785c2e92b99e80abe603117d17acd104b677d3aa6bac444c817d918f4d04486574fb32
+DIST firefox-122.0.1-tl.xpi 524956 BLAKE2B 
395050f98c1ab7f02f43d315ab3e65c046473d289dd530fc75509acd1a5a49bbf48f6c6c57ec29a5b606f0cdc95d96dcdd4573938528afc35d2d9042f2d8bc68
 SHA512 
7246ea4ff68f08d0bb1715dd78632eed7721e39d95022ed105b4e9d59bff486659df1d3b5e73c691ffdbca7bedd8df06480b7b4ee8974739475944302e9841b0
+DIST firefox-122.0.1-tr.xpi 608100 BLAKE2B 
297b7c983f4b56c8299cb20ced29a93afdc49f7e6ba781fa0055c31c4eb18ff2a0020e10d1c9c0e338d113f172ee436588e437b579fc668f1f3fff45071fb158
 SHA512 
33b4f686dd2e425fdee158e92cc764fbe246c6effadf43db59f3bf39031026f94df664019c2cb1c00c46d412d40bafc68783c3413821da2f12a83bf4e956f756
+DIST firefox-122.0.1-trs.xpi 494935 BLAKE2B 
623fb0df1ca66249eff96015e622dd4222e1b4ab57768abf9db3b7bb92295fa17160da7dbf3814614e64869be0eb8ceee398e087f9e948e70bca237bafba0ca4
 SHA512 
3507d31874cb7707e5392ff68e3fa86b399f25bdd5e481ad1ceae64cadd867ec5d85a5295b8383396ae61ec07c7e3fc9d48f133e236701386fe4f5d947ad4c2a
+DIST firefox-122.0.1-uk.xpi 687502 BLAKE2B 
4aa74fba1ad043dd7b9735b603b4812487babc46e49c3f63d568ccc52c6b5d58d04d2d77f049e3f86e6ffe69a0b0215a109f19655552aef2c3c9ce6046283b6a
 SHA512 
6e3a3e285a867637d792fa18958ac78271db99af483377cf3598b1aed29c4c797d1edccc800b9dbd1846a28dda93ce16a0ff84b26c8951a85c3c04b8861359bf
+DIST firefox-122.0.1-ur.xpi 550617 BLAKE2B 
a9ec4513259d010c67b9bcd5ef29ffce7a33d2be9be0ec2f706b282ce35878ae51c93ae5fadbcec8b6325b6fbaf03903c8da11e9e605755b8aa084f5101b5876
 SHA512 
ab692935d56999cee425253b88e51c46bf423e72cf5754c6df8b48cbcdba40be46ed943cba839cfdef550df075dd95316b487369d3f5f1c3675f1a09ff7f6628
+DIST firefox-122.0.1-uz.xpi 470541 BLAKE2B 
322f986658e9ce0ab02ecaaefbff0f4e721458be3199c3fd02fc0923602335eb1387b0f6f2b1c8a5782248cd045b9ed871118ea79580472240fdce959cf35c3d
 SHA512 
b9f120ded16e9a066ee4b28bc44f5ae929297aa30fe882896e957f01ca9f7b4089e905e7a7c0bccd7e4447f27384242ff5b57b3619237bd0b25d7ea502e48a6a
+DIST firefox-122.0.1-vi.xpi 632734 BLAKE2B 
525d7d05aff9282af2038f5f816fac78e428ca2f11118bfb6fe6046eebb2cecef2d7720168bed559dc796baee210b034ce1a106fd7fba23e8648ff5d4a6add23
 SHA512 
52130f6b1341fe21b8bcb82717fcba684ebb861a056a6370af5c97f1bfa1ec8fdb40a5926cfacd173350c0b3bbefe262ad0ce772fde7e1b6ccf2348178e1b016
+DIST firefox-122.0.1-xh.xpi 409562 BLAKE2B 
d02a96d174bc5cc1cf7c2399c57340d8392ac70b6408435f8f6f746ca59babc215049b465a827177941747879a0628cab5532d9f7d2acffad8ca721b0a9fee4e
 SHA512 
575759a72771577a8caf6584af66fbb667a07ab31392b7fddc468db5649ee39fff239067a5c8a656911b29ee291d2695e741d572e2906d84c47f945d4ac69ec8
+DIST firefox-122.0.1-zh-CN.xpi 633790 BLAKE2B 
dab2b232aec155b0a304f2bffa000424f4e1d65d44a8c7cd4374a48a5de42af382db4e523c7113b8f1c59661457877a109c3bfec10f9b0102b827d729fa4df8c
 SHA512 
3283249b2e42a3f726f98a1e1526f73bf38a728d703bce6f7a1c41cacf1f86581debaab8ff73057f1fb11b1381656c422b2c7146750dbb32ed4573df31b95a0b
+DIST firefox-122.0.1-zh-TW.xpi 635798 BLAKE2B 
f098894718db43f15999844f4756921e37f40a4926f1a3ca717b0a7ec7b5ee9e9319075eab50e01ad51a849b2cfd39b06732e4c510e09b0809b8a0bf9596d39b
 SHA512 
748744b619608a9bc4a28e85fe7cc8ec4a17c7e4af1e3a5ab5a74a4ac265c9e4c5c4f639a06cdcd1cf6e5fd57e377929ab31ce46ffea576d0f7889e84e259d01
+DIST firefox-122.0.1.source.tar.xz 533052916 BLAKE2B 
ea4346b88c7f3e7e2126eed6b0f4b1460e70fa430944a7263d42ac762e10c8440967ebbae25ceff15e7afb451e1a890ab7e97ff60619a465152e9ff6a7691653
 SHA512 
1d4fe1ed351edd748ede2ef6448798a32de9ed7a075a54a7ed5f7baa7b0c4c7f932c2e29f443c9066829e39f22a1dc94be5d00cc994193e949b72aa4a1c8ba41
 DIST firefox-122.0.source.tar.xz 531823484 BLAKE2B 
7252cd58fef9f5fcb504c8c9f885567109c05e6ec92157459cc384edc6935adb206e3be0b805aeaa37dbd72656c3243db1291b745dd0f705f37a61319a4dc820
 SHA512 
619b735c16970207f3f8fb31dd2350a5e665a802c30501c89aee4817b8b0f7f466da93c66ab238e94967587e538e6858934b18164ff312dbdbfbc3b2bf8bd824

diff --git a/www-client/firefox/firefox-122.0.1.ebuild 
b/www-client/firefox/firefox-122.0.1.ebuild
new file mode 100644
index 000000000000..c5c84ee9fdf5
--- /dev/null
+++ b/www-client/firefox/firefox-122.0.1.ebuild
@@ -0,0 +1,1461 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-122-patches-02.tar.xz"
+
+LLVM_MAX_SLOT=17
+
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+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"
+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 
multiprocessing \
+       optfeature pax-utils python-any-r1 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}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> 
${MOZ_P_DISTFILES}.source.tar.xz
+       ${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox";
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+SLOT="rapid"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack +jumbo-build libproxy lto openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent 
+system-libvpx system-png system-python-libs +system-webp"
+IUSE+=" +telemetry valgrind wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver +gmp-autoupdate"
+
+# "-jumbo-build +system-icu": build failure on firefox-120:
+#   firefox-120.0/intl/components/src/TimeZone.cpp:345:3: error: use of 
undeclared identifier 'MOZ_TRY'
+REQUIRED_USE="|| ( X wayland )
+       debug? ( !system-av1 )
+       !jumbo-build? ( !system-icu )
+       pgo? ( lto )
+       wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+       !www-client/firefox:esr
+       selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+       || (
+               (
+                       sys-devel/clang:17
+                       sys-devel/llvm:17
+                       clang? (
+                               sys-devel/lld:17
+                               virtual/rust:0/llvm-17
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-17*[profile] )
+                       )
+               )
+               (
+                       sys-devel/clang:16
+                       sys-devel/llvm:16
+                       clang? (
+                               sys-devel/lld:16
+                               virtual/rust:0/llvm-16
+                               pgo? ( 
=sys-libs/compiler-rt-sanitizers-16*[profile] )
+                       )
+               )
+       )
+       app-alternatives/awk
+       app-arch/unzip
+       app-arch/zip
+       >=dev-util/cbindgen-0.26.0
+       net-libs/nodejs
+       virtual/pkgconfig
+       !clang? ( >=virtual/rust-1.70 )
+       !elibc_glibc? (
+               || (
+                       dev-lang/rust
+                       <dev-lang/rust-bin-1.73
+               )
+       )
+       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-libs/wlroots-0.15.1-r1[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.95
+       >=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
+       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-gfx/graphite2-1.3.13
+               >=media-libs/harfbuzz-2.8.1:0=
+       )
+       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]
+               x11-libs/libxkbcommon[wayland]
+       )
+       wifi? (
+               kernel_linux? (
+                       net-misc/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/libxkbcommon[X]
+               x11-libs/libXrandr
+               x11-libs/libXtst
+               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
+       )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+# 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 "sys-devel/clang:${LLVM_SLOT}" ; then
+               einfo "sys-devel/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 "sys-devel/lld:${LLVM_SLOT}" ; then
+                       einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot 
use LLVM slot ${LLVM_SLOT} ..." >&2
+                       return 1
+               fi
+
+               if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+                       einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! 
Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+                       return 1
+               fi
+
+               if use pgo ; then
+                       if ! has_version -b 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+                               einfo 
"=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing! Cannot use 
LLVM slot ${LLVM_SLOT} ..." >&2
+                               return 1
+                       fi
+               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+=( 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}"
+}
+
+# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', 
and is temporarily
+# placed here until toolchain-funcs.eclass gets an official support for mold 
linker.
+# Please see:
+# https://github.com/gentoo/gentoo/pull/28366 ||
+# https://github.com/gentoo/gentoo/pull/28355
+tc-ld-is-mold() {
+       local out
+
+       # Ensure ld output is in English.
+       local -x LC_ALL=C
+
+       # First check the linker directly.
+       out=$($(tc-getLD "$@") --version 2>&1)
+       if [[ ${out} == *"mold"* ]] ; then
+               return 0
+       fi
+
+       # Then see if they're selecting mold via compiler flags.
+       # Note: We're assuming they're using LDFLAGS to hold the
+       # options and not CFLAGS/CXXFLAGS.
+       local base="${T}/test-tc-linker"
+       cat <<-EOF > "${base}.c"
+       int main() { return 0; }
+       EOF
+       out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version 
"${base}.c" -o "${base}" 2>&1)
+       rm -f "${base}"*
+       if [[ ${out} == *"mold"* ]] ; then
+               return 0
+       fi
+
+       # No mold here!
+       return 1
+}
+
+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'
+
+       # TODO: don't run addpredict in utility function. WLR_RENDERER=pixman 
doesn't work
+       addpredict /dev/dri
+       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 lto || use debug ; then
+                       CHECKREQS_DISK_BUILD="13500M"
+               else
+                       CHECKREQS_DISK_BUILD="6600M"
+               fi
+
+               check-reqs_pkg_pretend
+       fi
+}
+
+pkg_setup() {
+       if [[ ${MERGE_TYPE} != binary ]] ; then
+               if use pgo ; then
+                       if ! has userpriv ${FEATURES} ; then
+                               eerror "Building ${PN} with USE=pgo and 
FEATURES=-userpriv is not supported!"
+                       fi
+               fi
+
+               # Ensure we have enough disk space to compile
+               if use pgo || use lto || use debug ; then
+                       CHECKREQS_DISK_BUILD="13500M"
+               else
+                       CHECKREQS_DISK_BUILD="6400M"
+               fi
+
+               check-reqs_pkg_setup
+
+               llvm_pkg_setup
+
+               if use clang && use lto && tc-ld-is-lld ; then
+                       local version_lld=$(ld.lld --version 2>/dev/null | awk 
'{ print $2 }')
+                       [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 
"${version_lld}")
+                       [[ -z ${version_lld} ]] && die "Failed to read ld.lld 
version!"
+
+                       local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep 
-F -- 'LLVM version:' | awk '{ print $3 }')
+                       [[ -n ${version_llvm_rust} ]] && 
version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+                       [[ -z ${version_llvm_rust} ]] && die "Failed to read 
used LLVM version from rustc!"
+
+                       if ver_test "${version_lld}" -ne "${version_llvm_rust}" 
; then
+                               eerror "Rust is using LLVM version 
${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+                               eerror "You will be unable to link 
${CATEGORY}/${PN}. To proceed you have the following options:"
+                               eerror "  - Manually switch rust version using 
'eselect rust' to match used LLVM version"
+                               eerror "  - Switch to 
dev-lang/rust[system-llvm] which will guarantee matching version"
+                               eerror "  - Build ${CATEGORY}/${PN} without 
USE=lto"
+                               eerror "  - Rebuild lld with llvm that was used 
to build rust (may need to rebuild the whole "
+                               eerror "    llvm/clang/lld/rust chain depending 
on your @world updates)"
+                               die "LLVM version used by Rust 
(${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+                       fi
+               fi
+
+               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
+
+                       # May need a wider addpredict when using wayland+pgo.
+                       addpredict /dev/dri
+
+                       # Allow access to GPU during PGO run
+                       local ati_cards mesa_cards nvidia_cards render_cards
+                       shopt -s nullglob
+
+                       ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+                       if [[ -n "${ati_cards}" ]] ; then
+                               addpredict "${ati_cards}"
+                       fi
+
+                       mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+                       if [[ -n "${mesa_cards}" ]] ; then
+                               addpredict "${mesa_cards}"
+                       fi
+
+                       nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
+                       if [[ -n "${nvidia_cards}" ]] ; then
+                               addpredict "${nvidia_cards}"
+                       fi
+
+                       render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ 
/:/g')
+                       if [[ -n "${render_cards}" ]] ; then
+                               addpredict "${render_cards}"
+                       fi
+
+                       shopt -u nullglob
+               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
+
+       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; then
+               rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+       fi
+
+       if ! use ppc64; then
+               rm -v "${WORKDIR}"/firefox-patches/*ppc64*.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"
+               else
+                       die "Unknown musl chost, please post your rustc -vV 
along with emerge --info on Gentoo's bug #915651"
+               fi
+       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"
+
+       # Make ICU respect MAKEOPTS
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/intl/icu_sources_data.py || die "Failed sedding 
multiprocessing.cpu_count"
+
+       # Respect MAKEOPTS all around (maybe some find+sed is better)
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding 
multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py 
|| die "Failed sedding multiprocessing.cpu_count"
+
+       sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               
"${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.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 -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+               "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.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
+       moz_clear_vendor_checksums proc-macro2
+
+       # 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-gpsd \
+               --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 \
+               --without-wasm-sandboxed-libraries \
+               --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 && [[ ${CHOST} != armv*h* ]] ; 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-harfbuzz system-graphite2
+       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
+
+       mozconfig_use_enable geckodriver
+
+       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
+
+       # LTO is handled via configure
+       filter-lto
+
+       if use lto ; 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
+
+               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
+       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
+
+       mozconfig_use_enable debug
+       if use debug ; then
+               mozconfig_add_options_ac '+debug' --disable-optimize
+               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*'
+
+       # Modifications to better support ARM, bug #553364
+       if use cpu_flags_arm_neon ; then
+               mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+               if ! tc-is-clang ; then
+                       # thumb options aren't supported when using clang, bug 
666966
+                       mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+                               --with-thumb=yes \
+                               --with-thumb-interwork=no
+               fi
+       fi
+
+       if [[ ${CHOST} == armv*h* ]] ; then
+               mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+               if ! use system-libvpx ; then
+                       sed -i \
+                               -e "s|softfp|hard|" \
+                               "${S}"/media/libvpx/moz.build \
+                               || die
+               fi
+       fi
+
+       # elf-hack
+       if use amd64 || use x86 ; then
+               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
+                       if use clang ; then
+                               mozconfig_add_options_ac 'relr elf-hack with 
clang' --enable-elf-hack=relr
+                       else
+                               mozconfig_add_options_ac 'legacy elf-hack with 
gcc' --enable-elf-hack=legacy
+                       fi
+               fi
+       elif use ppc64 ; then
+               # '--disable-elf-hack' is not recognized on ppc64, bgo#917049
+               :;
+       else
+               mozconfig_add_options_ac 'disable elf-hack on non-supported 
arches' --disable-elf-hack
+       fi
+
+       # Additional ARCH support
+       case "${ARCH}" in
+               arm)
+                       # Reduce the memory requirements for linking
+                       if use clang ; then
+                               # Nothing to do
+                               :;
+                       elif use lto ; then
+                               append-ldflags -Wl,--no-keep-memory
+                       else
+                               append-ldflags -Wl,--no-keep-memory 
-Wl,--reduce-memory-overheads
+                       fi
+                       ;;
+       esac
+
+       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
+
+       # Allow elfhack to work in combination with unstripped binaries
+       # when they would normally be larger than 2GiB.
+       append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+       # 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
+
+       if use system-python-libs; then
+               export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
+       else
+               export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+       fi
+
+       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 tc-ld-is-mold && use lto; 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 sys-devel/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
+
+       # 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 geckodriver
+       if use geckodriver ; then
+               einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} 
..."
+               pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+               exeinto "${MOZILLA_FIVE_HOME}"
+               doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+               dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+       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 desktop_filename="${PN}.desktop"
+       local exec_command="${PN}"
+       local icon="${PN}"
+       local use_wayland="false"
+
+       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
+
+       # 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:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+               -e "s:@APULSELIB_DIR@:${apulselib}:" \
+               -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+               "${ED}/usr/bin/${PN}" \
+               || die
+
+       readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+       xdg_pkg_preinst
+
+       # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+       # does not need to be forced into the LD_LIBRARY_PATH
+       if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+               einfo "APULSE found; Generating library symlinks for sound 
support ..."
+               local lib
+               pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+               for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+                       # A quickpkg rolled by hand will grab symlinks as part 
of the package,
+                       # so we need to avoid creating them if they already 
exist.
+                       if [[ ! -L ${lib##*/} ]] ; then
+                               ln -s "${lib}" ${lib##*/} || die
+                       fi
+               done
+               popd &>/dev/null || die
+       fi
+}
+
+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
+
+       if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+               elog "Apulse was detected at merge time on this system and so 
it will always be"
+               elog "used for sound.  If you wish to use pulseaudio instead 
please unmerge"
+               elog "media-sound/apulse."
+               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