summaryrefslogtreecommitdiff
path: root/www-client/firefox
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-02-06 15:58:48 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-02-06 15:58:48 +0000
commit6404f9556c73d558d61c2eed022743311eb43bb9 (patch)
treecc98afde6cd3539e2dda3dae5e467992b03d2367 /www-client/firefox
parenta03b2fe2d845ae950995bf1c5255da420cbd92d2 (diff)
gentoo auto-resync : 06:02:2024 - 15:58:48
Diffstat (limited to 'www-client/firefox')
-rw-r--r--www-client/firefox/Manifest101
-rw-r--r--www-client/firefox/firefox-122.0.1.ebuild1461
2 files changed, 1562 insertions, 0 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 8f69f76c6333..3b5c4bad9fed 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -310,8 +310,109 @@ 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
EBUILD firefox-115.7.0.ebuild 39582 BLAKE2B 50b3f8942c717bf46127baff82dc587b2e5946488712d127199100aa2b32752e68656b567cfa177b4b4f7c32c4c6c5e82c1cc3ba65fedb48e24a8e3a59b1405f SHA512 d92ebf5d524a6d92b7de07f47d7611aafcacae7328344e27ee8960c82e9429bd989621eda159ca06000b06a97328619f8b87e5a035d4e5638938fca72fa46cdf
EBUILD firefox-121.0.1.ebuild 42673 BLAKE2B 5cd145b2c9105183139c73e2705eeb9b09ef4bcd830c0206598655f31af72b2afd5b427b4499ddfacacf9c9cce165d9aa7581fed418bd802f235b8c16792afd2 SHA512 f8f7848442d0172a18091b557690a450e60e07c8e4f2506a3c114f018962e7b0cae5619a0ee826a044cc8661c1d3779d6dfc9ff27f3a9fd809b4d83be6a2847a
+EBUILD firefox-122.0.1.ebuild 43363 BLAKE2B d215e52ef1a0c12c36c1956ce551ffb80fef00c8dadc60b0a8d4e08f22308fc4216a0c02abf81490b9ee54abdc9a8c2edbdab4939df9282608a427d19cae9423 SHA512 0195715e17e34da674ef69785af0261ef4a229f55679b088cbdfff25e89cebe5f965a3f42ad48226c9eb47ab3951c88969e256a26f6639ba3d74d42ed7b21fe7
EBUILD firefox-122.0.ebuild 43363 BLAKE2B d215e52ef1a0c12c36c1956ce551ffb80fef00c8dadc60b0a8d4e08f22308fc4216a0c02abf81490b9ee54abdc9a8c2edbdab4939df9282608a427d19cae9423 SHA512 0195715e17e34da674ef69785af0261ef4a229f55679b088cbdfff25e89cebe5f965a3f42ad48226c9eb47ab3951c88969e256a26f6639ba3d74d42ed7b21fe7
MISC metadata.xml 2597 BLAKE2B b449997bc096ed8fb7bde41a5acb8d9f4c1c8cfc9663c06ff603cca756e8868d40049fd292a459a00d80b4e8c3a74e91e29fcb04abe87277640fe65d070f0bda SHA512 703c7f6a2b46748786145b0973a7b8439e530c96fd7c50d773efac7d5d9bf74ccb4f0c252f2701459944f2b3ced22d3e57ddf049b9aed0c8f0e094cabddda251
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
+}