From 5627812524385d2993f4f1d5f1d522bdb2aa3104 Mon Sep 17 00:00:00 2001 From: Joonas Niilola Date: Mon, 29 Apr 2024 11:16:07 +0300 Subject: www-client/firefox: drop 122.0.1, 124.0.1, 124.0.2, 125.0.1 Signed-off-by: Joonas Niilola --- www-client/firefox/Manifest | 403 -------- www-client/firefox/firefox-122.0.1.ebuild | 1461 ----------------------------- www-client/firefox/firefox-124.0.1.ebuild | 1424 ---------------------------- www-client/firefox/firefox-124.0.2.ebuild | 1424 ---------------------------- www-client/firefox/firefox-125.0.1.ebuild | 1419 ---------------------------- 5 files changed, 6131 deletions(-) delete mode 100644 www-client/firefox/firefox-122.0.1.ebuild delete mode 100644 www-client/firefox/firefox-124.0.1.ebuild delete mode 100644 www-client/firefox/firefox-124.0.2.ebuild delete mode 100644 www-client/firefox/firefox-125.0.1.ebuild (limited to 'www-client') diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index fbe1b113f8ed..2aa4f6051c86 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -299,410 +299,7 @@ DIST firefox-115.9.1esr-zh-CN.xpi 634780 BLAKE2B 88d18c488a76102951e57ce0f1eb318 DIST firefox-115.9.1esr-zh-TW.xpi 639164 BLAKE2B 13c9b46b00f9abfcf47aff0eb33af8ed5c5bc496782cc69101aa86faa0eb2ccfd37f300bd29223ece95722e49c4eb693b1a94530cfcb56e0a5db88258fab7ef3 SHA512 03ed70c173531b51243037fd6483e5d1cfc13c913922bf904089a7723143f62805ace58024bfcbc6cc3fe761c5dc7be75fda615f8f9274a9b8713b88891643b6 DIST firefox-115.9.1esr.source.tar.xz 508070816 BLAKE2B 5182972f45edfb9ec6b23cc2e869fe86237bd51bd23fd31058d03d9dc98f0ea2dcf57215d61d724e08f98d0e0771b86b5e5ce78ed03c3ac08fac60ed4377f890 SHA512 9ccaede2fcda13a07f98a2110bb8f99c7324601d66bff311f3070a669576a1598fe1d7de2d005d725d1f44dbe3934a9c0fd0b7950f60686047d4ce8d9d812310 DIST firefox-115esr-patches-09.tar.xz 16660 BLAKE2B 1dcdf62f35013b82dd70bf00c0505394b9277affcd1b1cbde92421778f4fcc146f536a546c2db8d6a70f92d40e4b1c96927fedec54383e6bb80bd9806d9b4461 SHA512 e003d0a2a5304dcdd0851b57ceb11993333326c8221d5d99555cd0c64090d5eda1bdb2a2a52e605f6094a3214ffa2238e43d57ff64eb7d424ff54b8125c16f5c -DIST firefox-122-patches-02.tar.xz 23168 BLAKE2B bcb29800555dd5c919d10338ecaadb2e9591d2dcc8c07e06c4722bb95a053e5581b77212c963783d605894c6bbef4a88e44081c85340703ca57a1d567628cd96 SHA512 c1e995b937150a9e68a6c1c3ae5986aa9386382175cc1bf128c0daaf5009c684f5774fe4baaf7878fb7048fffe265aaa5179865a4d82095e609132258e83dd93 -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-124-patches-01.tar.xz 15092 BLAKE2B 1a4d952fbb8525ce1e100a738f6d309284125625b8f1badfe687caacdcd309c6e6e4cd1182e9647f93204055f35bc29c202902f229520bea10fdd1eeb066e30b SHA512 b2cd5170d5db60ebfd2b24e8a55a46e5890b26a50a398e63880d8ab276c2d601be6b7c40de59f1f6ddbd3160f80b8664a2f345c64addf55a6a734f8e362fba53 -DIST firefox-124-patches-04.tar.xz 16324 BLAKE2B 23bda778d23247c66c559536958aa9188e0b1aaa8ace1810d000766166e64a727cd5a61e7c60cbc0ca9ae6e124c2f3f936a9473dda4adf3fbe459243f21e3325 SHA512 34d2663390ebe685c954aaad09993ddeeb2cca6dc8cf30a98c70e2d75545e1e906835d0cf95d518d86c0525cfc8e37af84733c973a5339ac669cb98f7948d912 -DIST firefox-124.0.1-ach.xpi 457263 BLAKE2B d079c15f56038073e5d440483d96d974e124b8843aada2e89326cf1ce903bf1719a7410307f0b83702aba48b01b3e1cae21ee7a01acd05e4d930ed490965854a SHA512 9e295355e1d15097055425d0ce856aeffa7aefa9a5732a48721c32c13b50f3ab6b899e1d47a3ae5f8b0b5e66bb426c387e4d23c8d98fc09d3aaeccd909615306 -DIST firefox-124.0.1-af.xpi 411557 BLAKE2B 0a84f9f12b40646b60ea3f50ac641004ea8496c7a0ec9adfd49d7d8e2c1d3a6e8eb5ed37df5ddd5539bdeb9c69ee1db392bec2f688883a766c0909bad7f4768f SHA512 3c851bff524714844227ff90582203fa861b48d53f7492042b3738be55d320b53d81633c9c769d8da918c92dfcb0f9589972c7bcdf1444342c833ef09670eda9 -DIST firefox-124.0.1-an.xpi 498968 BLAKE2B 29b2a9c5296c19170269181c8d87400eb96241ae6f34b4607d66e2b9721ace30ae9fb76b60e4deb63cfab33eaf1decb2a3d6b32fccbbc03bd77e810baa1a3e98 SHA512 ae8691314a58af492f2ff3a4b9f07fa2a46b971bd1481906c5dff8051aeefbc8297261cf4967e0a7d7fb45a8c503e21b0ee66566034849ab335776c624457e1d -DIST firefox-124.0.1-ar.xpi 598805 BLAKE2B 72e177b2eff728cdda3e7644f4c5348db6e14c8b9e4124c1c7fcaf0d4f6fc2cb0f092ca406407ecef39bb118c462014fec4a15b2a2ee32c131b439fbe749ef30 SHA512 48adb54b39690476897a5358a395fb3ef94e6e16741007ab464a1b2a28223bed26f2326ea84fb3a71ae26f92067acc757091bb7d9d448ad930046792e07e8b39 -DIST firefox-124.0.1-ast.xpi 489738 BLAKE2B f071beb88fe89645517d31491bcc99dc0c92c1db7443fefaa2d36d28b0442ba769176d9ae9ecd556dc077a9623af0f2b4ce6980e055e1989e45c59208fbba1be SHA512 e06750fa37f0fb2724485be9f9feef060b0ed7b24b6a4610351170df82ca647d19b122bf15ffaf6419896c6b18c72441e1eab9ac51b17362a5aeae9d3e688006 -DIST firefox-124.0.1-az.xpi 483733 BLAKE2B 8565485c61d187e44c88407c8daf911736533baf61ce51d6f3c28b2966252d7b3c7c1dec94c5832337ed3f71adad1476072fd303fd9c92ccbbe66043b5f1cc30 SHA512 d4dee0f56b8ad08cc4f13f94287b7540b13146b4db77c5624d3e8c766e2d78f2c0a9a4139dc43b816d44d40dedd57f3e47ba30ebce4a31a5c5efae5d06bd7478 -DIST firefox-124.0.1-be.xpi 696933 BLAKE2B 24653f1e0f9311cebdf9caf46959d1fae1a48f33dd199dfe3d1aae33fea363376dfe808b95a1d7134bbf4885a4409c62b6b2415d8b7686d64b6f14cca4842676 SHA512 80d7a154374196f5884158cbe8fdb64e5f2ef63e59f6f701a38f4a6180411c0e3c52b6fed813c44651c62fc21b6e1a90c9b95cf46884da8cf71e3ca62e608f95 -DIST firefox-124.0.1-bg.xpi 596463 BLAKE2B 867b2c0bd7f5da509a6eb545282a3f9d3c1210c2bfab5bebaf1de50292f412240e8b613a556133d0fb95e8053216c23b0595b29f1982166ef1a7f56a0ee48ce0 SHA512 fc246b38f52331dafa13ec97882379a367afe1e2bdaa390b4e2e4713f72dae58b3b5d11f77cf8bd2e1cf047fb93d322b04a414ba5502793635a8de41f62caacc -DIST firefox-124.0.1-bn.xpi 574081 BLAKE2B 1bd022f248a7a440f2c1f9125c896bb32c44e42028aad616fe3998e4ee2b3ccdade0d95a4c59b2b72aed5e7b8b246e047c237ac69fed353073b0bd0ff91005d3 SHA512 1390661ce58502237d02eb4a9cf0907567fe27bf9ffa0c8a6aea3abab650af8c58e150786284d9aba0421692574c7c0342889ac3503f02405fe62979a78a1358 -DIST firefox-124.0.1-br.xpi 579506 BLAKE2B 3f224a9b8a2b7bd4ea0a632dfba17e4d7f12ae03f0229e8445fed49c22f24faf6eb45346dd3342ebff46ca7388e8e9a424249a6d80805fa549026ae8ca288ce3 SHA512 4fb30c15d1dff74c463404d997925a63e8ab37d31ed3ff5636a3ae8d71a9baedccd9f2484f92983844a3198f84caaac34c004b0a35b269124eab66aa603bb2f0 -DIST firefox-124.0.1-bs.xpi 466312 BLAKE2B ca38dd2fb0859093b59e3ea3de620e8dbd0ed0b96c07f58ddeded8e2d7ab8e2136cc2327fac21fad2246b7483deb33782e90c533e7f9902e08fc7aa11102c77c SHA512 f3a46902891c4a70ca88eb3bc5a0e09dc17fb24d2accaca8703781113da68ae3d9cd27f51a41e4a24f0ea3014073c59d9e6b687a1e1be7b14ba23bb075643c28 -DIST firefox-124.0.1-ca-valencia.xpi 538970 BLAKE2B 50f48026a4cb55951c9354638230fffa1af9bd5c371274edec22f623c675a1fa6e91c0ca56de0f4c8bdce94847bf6f42b1cb787506a865a9ded7a8282781932d SHA512 759c4e6cf15c8b794cc725cdd88f7b2b3985e4a383b05bc2d7212ea2fd588f60199b891eb5168fd6c5c04e4cdeab5624133ecc89fdb9d721a9ea22816a4f0fd1 -DIST firefox-124.0.1-ca.xpi 577126 BLAKE2B 12f837436b0fd70b3b7b060a3dcd9433d9892be34d5d6e771d9d814fe07244bc7495b09f3979f25ad234a351431d0cd46b8ae201345a181d4f1e42ba47b536e0 SHA512 f5798d33a1a488d8ce6096e3eb64086ba6388855f7c88818b48b867e41a00c6f2ff0c6a90d6829fc6783ae1b9b52dc6dea2327023710f2daf0b2e214689bbd26 -DIST firefox-124.0.1-cak.xpi 584186 BLAKE2B 4152161961f62e263b32fbdb9a23760f6ff16b2897f41cd640de7ddd4891990a33279f1cbe05af907978b3102a731316addba2503739a2a26c99e03eee06b314 SHA512 f82e7af66ab2984c5a500bc8abd6d35dc0d635a9c9d8e1b72dca2f1dabf6b4dc150b5c47e72b5f2696cffee00424af445a65dcdd2d72e35f4921c7202dbdc129 -DIST firefox-124.0.1-cs.xpi 640163 BLAKE2B 48df793d8153bc04068fabc9e62e002d016efff5490a5a296473046243bb3031f6bf58cb48be4d4de21019f02cbb0670015f99e8e4a709dbbf36a872feb64aa6 SHA512 91fd594cd4d65238793bb957e79925d0591dd96810825d0af9a0e0ea6f8126f1e706024c608238514184a7d3742b7bd7caa95fb60c8b2303768d1c0a26efed5b -DIST firefox-124.0.1-cy.xpi 607557 BLAKE2B 92506bcaffb5e170a895dc9608c8f2acc86411384d4fef2db3308ca7835d7c67ead79f79437030c2aeffff7756aa1f358e73e83467249dad90015df3482b0595 SHA512 3e83a6228d238c14dd62b94b9eb9d81c7de59d06fe1f1791535908d50890d310d3bd46e966b337b8a5b42cf646ff70b8411b6ec7eb501c937a61369ad3225a17 -DIST firefox-124.0.1-da.xpi 596580 BLAKE2B 565c1a3d942831c34d94119cc47806f03f176be9bc0c3f908518b421e846c8735d5f6b4fa4e4f705f0df8060359447cb69427f4cb58a0f7d11e5d533c9fe930e SHA512 ae66bfc7112153baa755897c06a367b2eb7a2d65dd10319d6315cf73198660cbee8c3d459e9ba7ad7114a4c81f672913dfbccdc0c2fc51a52e5994785229f541 -DIST firefox-124.0.1-de.xpi 617696 BLAKE2B 5becf44e35febfaebe138a7a90d402d84814c23c936fe4766aab0e9fbe3eac8f968e4afeac38ecbd7a4876da8197f3ecab3586593a26a81d424d4723eb9c54eb SHA512 84074b94758a5ea0f231001ffa69c1db5a3fc35609bca8d25fa51f468449deb2634924c88313f837821f1bccbea3f7332781e605a6224321eb5bb8be16aefe59 -DIST firefox-124.0.1-dsb.xpi 634043 BLAKE2B 319a98f856e28dd90d7743d207797b6d5f8edbdc5deb9aa1e1b4c41431c792fca0e1a8a4d493a17c3fb519fd4ef1a03a5a8aba82d28af11e4afbf62375857757 SHA512 4961190a770dba7e47704bab33ca8a080665bfa6364b34efe7de14970002a1974f597b5c8b1fd30247f95038c297bd80463dee4b16c4e3860672061c28a457fe -DIST firefox-124.0.1-el.xpi 714184 BLAKE2B 5f5ccaa4f7cba7c44417d00a351076072c3aed99ce14aabbe5b3facdc187233fd16d5148dd2a86b8543513e9afae03b8b0aa55751230f2986c5fbb80cdc4b5ec SHA512 af58bee7b126681034097083c9a32d53b7f9bad5431335c2968044a20562e1aee89a9f642a96530f90ea9f0302bf8e60c0478deac725dac23d43eb2fe1503e7a -DIST firefox-124.0.1-en-CA.xpi 552855 BLAKE2B ebbfad33d88b89f59be80e793116ef4d041bf5141476f544b281c11426a5bb695e55d0b70b73c477dda2f1c009d006c272f22882ab01594c35322978c5ba1503 SHA512 9c9a10c446737e1d796aeb36759e05e91e707b6da4ab9138b8fb8d016efdfb30792daca2840da6954e5320353d120bf0c0f61ebe5a0a7fd44dac1704ce9a178a -DIST firefox-124.0.1-en-GB.xpi 570061 BLAKE2B b6b5dde765a79eb2426a668041803b3311207dcd34459f31430aa30368362343be2adf8ae94a72bd6848bef2fa4ffad7ddd6116f6943221cec37662aa3191719 SHA512 3bf89c1d3ca64517f767dd6fb5e805a72a609cb208b6c23156ce7dff1699fed05b2ce1fb5386210834f2c928522b80b9c9b23a806927b2739ee80e1943b68ed3 -DIST firefox-124.0.1-eo.xpi 600157 BLAKE2B 83ef9ea636d5faf5df58828d21d5673814ef173f8afbfc00d7810b1fe5945b32db27db945c0bf666f0673259eee7d9f19199281c03f628af9aa966438d9c3fec SHA512 be6ab87a806835009c03a5ce82922787a95edade5e2de6b44d451b4ab9d4dcbd9d4584d84dc0cc5512387cd5fab8084a9509e787ac25fcd65728dca7bb3ec1bc -DIST firefox-124.0.1-es-AR.xpi 611790 BLAKE2B 9b91b81107d5c90ec1c22c185e154a1c6c187738068f2f51fb91d8a1a0aad9724ed931844274a85e930d4b8f03d85cb7da24caf50ac491ec60290a559faea937 SHA512 a344294d19171246dd8d1c5c28f10938390c875750d60041b8ee75be5dec898a554718e56f6614d1208e15e868bd9a629ff467ebcd785ec410c23fc2dda4903f -DIST firefox-124.0.1-es-CL.xpi 610703 BLAKE2B 76940d799f23e4256f115ea85b6225e74583d9ab1e0981233e1c47f33dc349e570783056dcdb99029da49478704d6c3706bf5fec233a1350970fe81a17c0ec94 SHA512 2445a5a14f5d4d77a04c3442f9d44dd6e80c0381f102ce0e3a763a32812bf04fc7d44347797271406c5a1cb9f1b5c58e0f1ef39bc82156681119d6c847e0010a -DIST firefox-124.0.1-es-ES.xpi 605672 BLAKE2B f3e6033511bceca672b7863267e99ebb4b01f138df09402e285c2a9da57b20886519cf0a84dfb06c78c20aa72e4508f63d0ad81836c38038315e860d036683ed SHA512 115c6ca47cab783a65c78f1ecf304971b0511bd1bc0d97a853871fd99e44a4cb5922dd47ba60412321fab68026a2b4f99e12c7166dc87fb57da566dbd7a2f04d -DIST firefox-124.0.1-es-MX.xpi 584176 BLAKE2B fa31240fd11b076f026ec419ae4c662121f1c0418504cb260521da68cf9086e03534f14ca8bcd85dd2ba63642091490fda8546e4ec28ca07e309e8f750fc2a3d SHA512 7d671289551d71a0996fe8688bb722bc17a1a898fa8e15ca3f8991d48b9610e0b291b0231e6702b188ffacbbbea62fbc1cea8d7077893c28e212501fe5e15c3d -DIST firefox-124.0.1-et.xpi 532336 BLAKE2B cba2daa8c1eb1277d29d694bc151b30bec9677e2aaf02cd06755dcb31078acd9111607339a62bdcc28b0b25199fe8f4d93e087d602b2372acdd8be366c4b7cea SHA512 380bc91ce5ffb5717325a93feafaa3823c1b270961897d2569b8273dbb079d4ff95046d9b8dea58697816ad894ee5d3a57c2b9b398e67ee58667539b46cb6be8 -DIST firefox-124.0.1-eu.xpi 585779 BLAKE2B 189db8d31fe044477a778d852fa6b93603dcb4d7406c4cdd3942cf697ec5dd01c56bbbd69b0c544d715b1732db1fb86e615859596ab4fc70b12b9723f2df526a SHA512 9fc1099a5470d9ec02e69db929ef2987da82bb0e20eae1bed981f071963f93a0e62d9b78a9c69393f467f1010992e69f3f7acf855e1942f9d6eac903eca3aabc -DIST firefox-124.0.1-fa.xpi 582560 BLAKE2B 69d3c408afd2d85537c4e4b01038a2f69526a51798d6c32d4c8a5153bf2c143c830a5cf9b982def3af5312697f1236cdde79888d7df698a6f0b0fd61171df10a SHA512 9af3db62bfab8dc8d61ed16da7482b27549f700309f22ccf1e631c546d4fd30d27d061cb5416f53eb767a65df3293ca14936b6b25aec1eb39168769f3d11b25b -DIST firefox-124.0.1-ff.xpi 469171 BLAKE2B 1cb5022375ebc297f3935ea0f53d39d6d28faa31df7dae9927e839c27f24861c0911ec0a04b05e936c5404c8469652d427a667ea5d6688801fe208ae06ae3cda SHA512 3f3f78f98cea98a16dc32fb3759ee4c175676a26dad864eae112fca3cdc06e7c9cd91b7394360521eb7d37e9cd2d3e8474988fb3fa7eb42f082614359406b6cf -DIST firefox-124.0.1-fi.xpi 592090 BLAKE2B c118780febd6164ef956121471088a203df018ddc8c497080bdede8a532327a9b41871689be7d77f653037950f7437f914adec1f78bd01e4e83c45c01a5f8889 SHA512 0147039f4c0b8b30d47426fe06dc002aa57244f96c27a107d097053274468f1a7ffdf2b4d61465e7506d0422427e6d7a70dce554a141a9bc15d78c5a32e55e2f -DIST firefox-124.0.1-fr.xpi 621882 BLAKE2B a985c53bd00640069974d6f956663dadfa8c0e03157f91de9a145a481a9c746fb20d285e4809c53f63b23ce5dceeb15abfef1c62185ff049b003e06a989b2e53 SHA512 b2b67328576c4053b03858bec11ad78297a598cb2fb68f4f72c12b5b2b7da9ee15674b6a26b0a3e9a5387016f2d42815033438974d7cf65d5fcfa393c67ca372 -DIST firefox-124.0.1-fur.xpi 617366 BLAKE2B 989d7e8def5e12c13030313c83336db463b9970818ad24ff0675f4e6faa6dbe85d8920e2eca39b25662ac72653125c6c3ba12b31f6fd0e2f564f46c95c756e82 SHA512 6962df159674fd03e62dcb77f23c5072d03c3ab5d43ef9d24b10ef4bea0e2fdf1615eb994321a09676ec654de4080967152eeec7eddfe02007b3591643b9101b -DIST firefox-124.0.1-fy-NL.xpi 606664 BLAKE2B 3b34f04526d0d79ea14f94540cbf491d59ee8b82eeaf38a91b8046f7766c856bc89c33f96f929fc4440860430e9c86c331de45d1e56919660c67a0f063de85e6 SHA512 6f66f370b86b6936e60de9a21be9746172efa62e0c4c6d4ca54b6bf4240b2e9965d4a17e9cbdf51d02be34f52b5db39cf283d1b5a5900990b32873e1b18e1f91 -DIST firefox-124.0.1-ga-IE.xpi 464733 BLAKE2B d94319b27b1506869d8718229d35bc81cc07996ec01f8f10e2f26ed72cbbf7af05af84cbd8318ccd1d3056de2dcf405319e644f30be5bda637cd28244c22a917 SHA512 2a4689af1fe105b71ba6fce41ca123972da9c547e2e8273b73ef6c431831c909234e97c9c1301e34b47f20ce410262ffbfb25aa722dd5cc9415b95a61a8ab1a9 -DIST firefox-124.0.1-gd.xpi 584015 BLAKE2B fd868737efb3ac10746e085bd61ed624a20b7d421af2f9b1084155b853cbce8165b8d5bda8da2cac5ec1fbccf88f5da46f41dc07dfa9c52301aebc40781487cb SHA512 31a2fa01256bc2991ecd13e218d074534ecad8992282e840aef4ea478767556d6d16b4bf5919334a07759f7600b26f097ec0cb3feda6ae973a54115182ab9cf6 -DIST firefox-124.0.1-gl.xpi 597032 BLAKE2B 19ea51dd110f333f6029c5d29f227c7e9c85c4b6715c5580c164676ad095df3a35ed4f7a22188b7ec3489b4cba846e8942b42b27863f957a4acb9b8a8295d733 SHA512 5662e83202c77588bb02f4f5ff1958eaade1369b64512ac6be6bb9a2f18c2c02d85d433448c53526c25927e564a779ca22b035fa2cfc0da78b6a7041061dbcb0 -DIST firefox-124.0.1-gn.xpi 621056 BLAKE2B b3e6d37827296c9df7ee3471045ad5e3bdfd6cb0dc56e60a6088dd74de84b8750f49829912810eafcb2a0f81db91bce416f8d3c02e7aed7a15926dfbe45d1f88 SHA512 c3f4b9ac344ff3d2c0134d2ca86c1fade24c0145d9900318cb462332ff0ee1d9b89fd61306393726e3d2474f5e387af4b381a852b8dd4ee7b542d9f73ec380f4 -DIST firefox-124.0.1-gu-IN.xpi 520056 BLAKE2B 1a62f2875a97b99a8a24b65b1a2be208f9a671928f968cb5cb6fcaaf435b41e2c2a31da6b061a525c06256e6ce97a9b43fc6e3a2dba0e7522dbe8b940df204f4 SHA512 00d094d780a1c44779e2829c10cb9d43af1ee891f8af15fca17993185f05e467f24c2965b1512e91c8ca842920497869b11b85c48138562a0bebc072773686fb -DIST firefox-124.0.1-he.xpi 616155 BLAKE2B ae9ccbb349a0e3429932c9876f9b6812df48d607de071624f57e6a8a5593ac696fce540937b90ecfbee3df71c74e5d4e91dad0e15996e8aa9585b5b7373b0225 SHA512 b64af4b9d2e2fb0af9ac46638a4bc474e81f6f4f96628716deb01a24be539c418bb2bdec471529d46e44ed624746d59fca348b5c13fe4bdbff4cfbc506bc19d1 -DIST firefox-124.0.1-hi-IN.xpi 558195 BLAKE2B fa3f0227669c8354dced2af09f9250a060b85a364fc2fbd45d99dcac8b99d41af5ee7056a127f57b6a1ec801f776ba0449b03902f819e4d63559ba63771a1e17 SHA512 9fc05f0176380c2cd8c02c5fff370ce8414d00b9c5666e5e50ebf7c4c54bbe974c460207eb7330a23f8b9a4bb9214c886e5c5de7f4eef6496ad5d3e84988eb89 -DIST firefox-124.0.1-hr.xpi 549491 BLAKE2B 7a64ef3e5ffd198a68ce05dbba7bc65c21cd838c8e5b4eb1411b8ef454e0b509a21e81c77dd6233baf4e552a691822b4fb97e4895040d33f44d47fb3acec161e SHA512 78f00e432b402a356307a9364d51d9ffe0e1fcd75ad88a2483eb3d0a8002dcb12086cc19ddbcf1be7144f394b5125e1e1f76ba69aee355e56cf00ff7d1802362 -DIST firefox-124.0.1-hsb.xpi 629703 BLAKE2B 4165800cb693eaff58fa4609d6557c3a3e73983aa493fe01a6e8e525145d91165f3375bff1788b2a81334e88c9b5e95ea627b43ed4f03203c6d25d31351ad909 SHA512 e073beb81203a4d15e1859db3b0d2b9eba5ea8a0e43c048d6af8af7b779ca2110169ac05f9947366207e437b5f952313280b1c2cd7d3672fbf35e5b4d84755cc -DIST firefox-124.0.1-hu.xpi 633309 BLAKE2B ccbf5ff012fb1a3903dc773afd2ed7d531cd8e2fc04eed16a0e3ce3408135d548291d930b9a08a97f0b91b332f05da60d7c2d31f1dca14c481552582ccda425f SHA512 cf144a8190dd09a2edd92cf8bd6f3512d952f1bc611143d1cfe258f1933aafe0c1223dadd6fe5b468df8620caf0d58ea72a0c4b2faddc3ccec29801d8afeb637 -DIST firefox-124.0.1-hy-AM.xpi 607888 BLAKE2B 050e89718f728f4866af09f2a371a2c2ca0382508d0b6544a652f1fdf717266726153152649afa01e65ae80a21a11bf5005e7cbe4eb611c3e48e86118fd08406 SHA512 37efa5c768f0a10bd155b9c3673a2f96051e23f388f55e933e17ca0f0c6da411f084c0b8a96acbdd98c6f24af2c29edfc3c248cf8ef2528d7283426615a9e762 -DIST firefox-124.0.1-ia.xpi 594006 BLAKE2B 0669f47dd527a98227260787f8a4f919abc36240f31a9ac7104613b36d5509331b5a9b6434e783071e5e2ad19c5bdc9e5219bd240c864faac23f2dccbb9d0ed0 SHA512 180c62aae2a29d27d4ef4b44766b100f420f30ea5a896f12fd33cd794c6c3040b7075099fb04926dded00181fd81c8fbaadd372a40a928dbf12167e16cc872e0 -DIST firefox-124.0.1-id.xpi 566761 BLAKE2B 55c4b528855d2817c797dbe665c87a313db83f55c8efa439b941a1dcab1847e3d1d97be31489784be23923dc43a41fd944cc4df08f488dc175b486a8992adfb1 SHA512 f446ab358e907ddf449fbc3a4e492be8b0f9edac4781f14d3a55b103cd0d634fd65e7de187d417a0ef340acfdc55def3b16d223d87cb5066615c0bc8cf5d7790 -DIST firefox-124.0.1-is.xpi 600742 BLAKE2B 9dedc6c643ab0c12379ade023bcf391469bfd7b4298994318646bba5e543207b2179481e2a5f3447dcde0a94c5b6a8d21315397952de5d4a116eada3da3fddab SHA512 38cb16fa82cdf4bbb8d2b79d2c29ca4f1b0110ec0e9200b789739723ace987f5dc92ecd1100190d2e2dcea769feffd3fcc6399a46722d6067bc6653a1a8220fd -DIST firefox-124.0.1-it.xpi 551723 BLAKE2B 0c0c78a5b376419da7e648bc4f60c0ad493050690954e4cd6631037f1856e936cd45b1e994290332048e20bf88dd1a30b574dbe3f68870bba6d43101c1f1f465 SHA512 2f8d2a683f541034cf78d35a155c4df4152e9f97e8a438963c3bee149ef855caf4e58cc0426007d517f06505119776c1caf98cbcad20bd8597ace166dd89fc84 -DIST firefox-124.0.1-ja.xpi 662247 BLAKE2B 9a6f3cd5f7650fda8b6a5beb7d764fa01ba108791e470c5041445123410d77809e82a33e1540819945837a5a5bbaff2d265fd742d03aaab12f29cdfca4548e3a SHA512 da06e821da84be42e2fd6f8a7338fc19bfb854a32cc281eff501f824a409e43443bb7a9059e8d8b5a68d1833722138522ea4a6306b990a21dc4a77db4d761008 -DIST firefox-124.0.1-ka.xpi 652854 BLAKE2B 63bc06ce5729a7f67bee5040e5cf937af66d35a596abd58896a879c5ab6dcf60d99378b51263941937bfc7c2c57f202517810dcf92dfd263aabc6b718519c2f5 SHA512 feaf31955933eb0e03366ab38ca19109913cffcb4bb6367efb3ee021acc9fec3c9571bf5d9e0fc99ad3c197f434c5be6656b74834b5d172910459c565ea8d821 -DIST firefox-124.0.1-kab.xpi 594380 BLAKE2B 72a4350b04f8dd2139dca0e2411d7d03ff7aa3327cb78042678d95c2e7b910eee8e2d2407e42d7e24e48f2b29f3239bc1f9329ad207a152ed12a2d73cd43dbf1 SHA512 bbc76a3a3ee6961e4737eea25355fbff34175a1259dd0da79ac7ca22159a660ed4ae5dbfddfcc3fc92f88f3903171a3ff4f889406b2b0df269d7b1613d0c23cc -DIST firefox-124.0.1-kk.xpi 689601 BLAKE2B dac08dc2cb3287bcae298a8122f048797f3eaeac20e42c20706b8fd669e30de96e961f3b2e1bfdb156bdaaa2b808bfff0b9a34155f211028dcd9bd7d3eed745d SHA512 f474b41d4a6b31a1f628b685caf8ebfdbe80d02b5c2812056107b2c35bf2ed7223e04cd9846de5cf5de733b994d84dc8358a7b4dbfae23ff4b11f2b9e22578e6 -DIST firefox-124.0.1-km.xpi 518433 BLAKE2B d08ce4dfdd76c763702a48c8b5eb15a965a09c6fbe5b03f10b5d949ea7505a94a1a3f5e15d3d47421e3bdb8876a47388a47043bcf0bcef86c1508656ae3e99a7 SHA512 6828062d3a3ac63a2c2f77b135126e8e18232e5e290f210fa9bbcebe243222c4064e4aa318e04eb971f6b906ba095fd9e7a31f1f823a6b7e82cd082c1e28957e -DIST firefox-124.0.1-kn.xpi 484320 BLAKE2B b7e9955761c35420e3b65901c4c92cf77b74aa1383d2a9922b80a47c5d5e74360e185f88a6eaaab60cc7a04103079fe084b5aa8d14fc2b038a88580ed80e32bc SHA512 20881eff4cb85bcfc7a11b5df7de3046fc44900cc02cc08e8a2adf5b896555b5b7833229fa3e469de624f7b0e764bf8304bd3a747f214d92b2d15ab18fc80080 -DIST firefox-124.0.1-ko.xpi 644461 BLAKE2B 0860e30a2427609d33cee4c6a03c0af3ab09d01ff425b0ce618412c9f4fd6a0cfa0ff75ac65126b9ac2bbca62608a3afdac34ce07b58af5536262e0403cf81d5 SHA512 45eb2c31e5170af97f72a9b97e0bf2f09de895bfda0ac5979ec3142482ce8cd2bdaf9a022d52cfab43dadbc9a84ffc03ca3b782206a19396b5275ba3f5380618 -DIST firefox-124.0.1-lij.xpi 477144 BLAKE2B a9dbe8ad6c5ff28c9a325a0065c3115baade300bbb7b42792dfb04abf055f700c1a0ebc9f22172a2bb614ef33267fdbe464bdcde933adb9af93d982a509be84f SHA512 68fc6611a2cb64a8a287ddd272b19f2f085710f52a4382870eb3d0c7cb573aa8ff89ab4170fd768c09774c4eb03fb70f3395c3897cbb0e5181d3ddd4d9a4f9bd -DIST firefox-124.0.1-lt.xpi 565311 BLAKE2B 4dbc92f291970fff9f07351d6e491b79197b81663257b3c9589d7b69cb4b4e024dbf4f56b3f01c76659b26d4a2ef67562df10fc6403dc1e5a2c64e6a3bd2f223 SHA512 5e14bf3ff0e90207fa29be0db8e99d5fd052c7b47462bdabd2dfc30c6c436440e73262ea8623d7659f9568f470a675720dc39a70878332ae124b9784c39c4a33 -DIST firefox-124.0.1-lv.xpi 462854 BLAKE2B 90e3b4de8066c032be5f6032942ec8affd01da1aa4aa3c13523d97e2aa6a3842394b26ad716446194541b93238caf7c745c6368368f5580cbf308b4f3cc77a4c SHA512 d6ea845dc843bf5802fb76fd851dc45075df87b08ee8265a825cda51af106711b7dadac12f6215ff7fa65b28792f275bcafea798f8fc3bf225304d9438252d6b -DIST firefox-124.0.1-mk.xpi 486006 BLAKE2B 79a24b7bf99f0ada1ffcf5e67293810ad5d23eba5390b802820dc6f7e5f30ce869888e6d146e2d6ea46d96d84ab4694ce6a4c3fcd564370fc75242dc2043b3f7 SHA512 dbecc12250611becf891e3aa6a1ff1d4e11654b9452df1b5937d3088eaa2a5d5941faac5285a7d72d9550b64121bcf0d405c41024462c78dae20c17ac6c4b827 -DIST firefox-124.0.1-mr.xpi 525098 BLAKE2B 4817bffa574e51e3b270e2c47a0ddcb9a96072a67e30ba63e00ae11a34dbf85fb33c1cf12554605137ccf3159d9cf63a4813d1e4ef90f8e7d58fe09c93138dd3 SHA512 2e970d7656f93479a5befc14b299711edbf3c721b3f0a72c42f6d1963d48ee4450d77c9c487f751233bbe418a216527c59c42fb503345f5b4c8ea62ba4ea9640 -DIST firefox-124.0.1-ms.xpi 442789 BLAKE2B 98cb94a9f51fdecd06de48335558e0313227a746f8ea8d341d3516da46439e390226936add5801c37c3f7cbb65ebb4ea9763a5ad6cf3b8e138119a4447a5a44e SHA512 34f71fdeffa6cdc8d24d5bf4749569d31e4d6b680227fe53c77d5ddcfedcc8cae73ee9bbd2ec881b96d15e35921b6a140c91f23c2626c31b73b90910e267aef1 -DIST firefox-124.0.1-my.xpi 510088 BLAKE2B 324ce6b6d4cce84757eda682d3fef5545c728b88282cb249ad540ee318bb70ada1ef1974cb317495e650d257cdd14fc6365f36a38a3e6d928c20e8a6dda4ac3b SHA512 ce97cdfebab33ed2267da32c3387f385b3178846015fe8678f09de451a7f123ae018d4cf6008c8ed60d7c9acf673423e45c7138ab10185724d2c171131c8aad7 -DIST firefox-124.0.1-nb-NO.xpi 592051 BLAKE2B 94f300b959d4c65a90d66400b46818b28ae0ba9cb95de19d71834d3b58898624f13eac8ec86b2dd47fbb8c390746c2e7924462ae439ffe24ccdca0c23662324f SHA512 2da958a39ccecd258c566a5bb6f20e08530d6f0b24434a4071f3505fb283a5e4cced291f018087a4bc30dfa19374aa8dc548d89e5900241c37f6f7d1b7f5fe72 -DIST firefox-124.0.1-ne-NP.xpi 489218 BLAKE2B e323f6076c37263246fb39b0e9dadd35f2934e4e1adfdea4b1c8004b01d68dbd7a36d46bda454eab19662bfa1d04d5e2c5c9da7f2fc2810f626cc27808c34806 SHA512 8d3a769a71395bbe7fd7aef3cc51d095a2969b1a7001e9a0c9e57ba5816eafb208fbaae86b38494a01f4d547deb1cfcf63b33dab5b6e345c843d37dd16158f9b -DIST firefox-124.0.1-nl.xpi 600467 BLAKE2B 8d4bb815d80be2141c97f5e1195856479b7efe915c5ee7f508930e8d3233e13e6ee5016972716ffea6b5c755c1fb466d3ea30cf03d168553c5b8307c3e7e82e9 SHA512 eb52754af4168a27181103fbd753c65d5cef6dcee1f9ec4f7af34e0a97b2ef44d0012d0c59bf84b348fb03b9ed3d864b8c3006d60dfb993b350c62c79cfb14af -DIST firefox-124.0.1-nn-NO.xpi 584690 BLAKE2B 26585ad730235d4d75f4439f59f4c97ffdc4bda3a535994ad7f21371e37209a720c58a46449eba8f63861aa66f54170e5b96f46271d7e9a5923de481c63f63f5 SHA512 e16faf8253cc792e8c99caa7fe37da8b92811602364db2d7c8140b1b5b9fc89d504bea940be43bc4de1ab2be78b149d4229aca82910463687b1eb02611249f24 -DIST firefox-124.0.1-oc.xpi 600436 BLAKE2B e9593fd745e654ff07b3689ab2c141e4a84e2e09f8e326267eeac5332c619882e8b6481a66c546df6c38bd62ef5eff62068563edc06d8cc157cd702ab8b408b6 SHA512 e67160caf0e792099abec23d37efe0b400e9edda23126074a8417b892a7704e9c8047040bc2538954489f438d4c2543f4c2210f5b65269b5a1cf2878645b1dfd -DIST firefox-124.0.1-pa-IN.xpi 674684 BLAKE2B 85896dbd87265209e240b5966983320aeb691d3508948eb25e2b780896652eab9ac094505f528c29385fd6f6d27437cf27554e491b1660c4ee725e1d1e233d59 SHA512 035b933d88b837e3b9b46d32bb2b171c47db90566aca887bf2972a50312003af3fc5269c5db510f2294a7e9bf838d06633238a35f08c4e5d6dbc9b076ebf9ff4 -DIST firefox-124.0.1-pl.xpi 621238 BLAKE2B 6c98d02b649f6439fb3ec208948e89656f55a655884b94b93b58a82e1401851aa9065b05d99968fcc1fa399ee2f045780c8ca1f60b4b8613924f68ec652699ee SHA512 25cbe26b79d05e4e6613b96893e6328ba2c264299fa79fa825f72cdae53cb785e0c09370802a0acb5d03e19a905a6b43eb290e0a6e012d9d04c2112a9f8ce39e -DIST firefox-124.0.1-pt-BR.xpi 605307 BLAKE2B 64373944306e0b1f988c4618f3f184856012363f33368d3bdaad7e51902e604d6fcf697a3b2e5f1c6bbcb21b4759ec7cd73ca3015eb7d3fe272b4b9e2f494c9b SHA512 8eb2cf1bbe2e3c1af0f72b63592eab031b6f5487d35cb1699fe5639983f73929d795032212626aa0b62adc415191ccdaa1e11bb1daf0cebe4da03e603e0ee57f -DIST firefox-124.0.1-pt-PT.xpi 611848 BLAKE2B 274f93f7f9fbd064fef6b14b87cd519095dfc4e75a02d54fa6e7212870c9fb7e0a3c331c285824e4b55979304a1f7911a7ba2c106dbe9d4b5b21ef5241f77d35 SHA512 e6638ffce0b208fa0f1971613aefed0d66d587ad11d40b2436c8e95a0bab082ea1b19e198d090698e472c372e7a04f4bdc1700ba935a215cb000b60ca192ef9a -DIST firefox-124.0.1-rm.xpi 598312 BLAKE2B 14863b35e59ec2e1ab7c34e4638455e3ee301ffba71f30ba5044b3becdc4ab844b5b276624ab8d3bcbfdbfac1c767374fb9bb14779430d544c536f7b7bac93d5 SHA512 2ea895720b0af9500c4e2dfde382624ee61a972afd8f138d749cdabfc9270f10a8b4bdd1002037a33b520147ed3fc7e3b0c3e24d069a482defd048a120a8c880 -DIST firefox-124.0.1-ro.xpi 542509 BLAKE2B 3ce917c36501c044a0f97b050e8b71ae87645ba4f1d57136ebfb12d9a04f6f342aea1eebb391bda9a1615988c61d0518f5027319c850544f3b36eabb76721b77 SHA512 e4098f10a470d1b49c6b928bc9cb08baa529566339b7ca2d4f3dc43ca3ef3b585f394b7f2291fd5e685d90dc76449e6a58b8395515d76454e1e4995652ad7782 -DIST firefox-124.0.1-ru.xpi 701737 BLAKE2B 54d22b12c6940ef60bde8b22199c8e4b8f02da95d1c890361a8dc917ea9e4feaef3c78f985c50c7d22ed595271713a33c5a0ff3ebc7d4b02d9c3edcbb231cbb5 SHA512 31f0bb86bd045f0fab9cf6ea67de27a04676909d6372679dad4b954af2a4b1c16e5cd386bf627cf642d09b270d164d530ec71fb93ba125af5c054195ec45b3e3 -DIST firefox-124.0.1-sc.xpi 571499 BLAKE2B 4ef50d8312886dcddb59899c5a89be53c61a2fa82812c301e569b09bc8eb3b2a590218e56b176bc9bc071135eeee67a78d527191e79bb0efa77d8894daa62373 SHA512 1bd5d80318b51cb135ea78397798515a62a98c5f4faf1ed6e9fba2e7cac5c30cf402689f6287a95731d747b17c3fcdb27280c32308e6f1c3fce04dec068344ae -DIST firefox-124.0.1-sco.xpi 504482 BLAKE2B ce0a9886aca1d8966335e41ad371dc62222f20c481cd210368479802e6fccacef8830659459d96a8bf31dbb70342d329927e3dfabb5e01afb0972850b38ece17 SHA512 c874b6dfe3d7d863267ce9c81e3db8c0e4303564d368f8ce7e436804a32e1b731345f4b0db5515369003bcf15f5f8c3067236ffbdb38d635763f4a523c19f67f -DIST firefox-124.0.1-si.xpi 598357 BLAKE2B 2f5a4a4ed17cbf6bc69478ec585d471a28b2d16d73b821c7f93758145f8ca5f1636f211125fbb887d4087fe2051e6b8505df914beed77508819b74cd25a87db8 SHA512 a8017d991941f74fe5d11d67da9f63f344d1035d3564cdbd3f2229369791e25a3432a41023b0e8c49dbb5f4c8407595577376b791df09f5904af62ef0b7f3150 -DIST firefox-124.0.1-sk.xpi 635467 BLAKE2B 5623d4434528bdf809fec8c2a67785f2a75527be24d26e5b2e6648d0f5593a3588c8d873f5fd2753d669cba180041fbc603d6d9371c7ae851fd04acfdaca36c3 SHA512 b28f66dd16968addee65251f3a1f94e0081639dfb421c69013d2ba5a90facf8fd08c06fcf56c15969ce08a6a3b87b26552fc997b5ab1f8bb2e10e84dc842fc20 -DIST firefox-124.0.1-sl.xpi 601278 BLAKE2B 04f9a82ee70965bd78e2247f4cea629a1b16afa260db07e003a4f9033810d7a513c4617e86d99416ee88deb179177cb678679187b4fe670928dfba9253ea1934 SHA512 cd451ba6c7d2ab190bc6cbaf0ec829583c67cb228aa406567a3e945751398362c2d86faefdaa128d93d001b31cfd51938a6637f68f28ef9377f56d80c7788b9b -DIST firefox-124.0.1-son.xpi 410248 BLAKE2B d4ac05fbb1219e3ca2c35ccacc269bd123389e1294d423c3831781bff466720fa8885d142f5f178d77377a64829075d92b291dafe047163ca7959b460184511b SHA512 de5931e3c9eda44360f86ba7f5f86f7ce9663c85e11964256b090b222a407a9452911f578de9598c1bb8dfa9edd499e4b866915076fe85f9711cd728e96e6d6b -DIST firefox-124.0.1-sq.xpi 620789 BLAKE2B 794467351578d4c47f5db4a385c505112b82d9f618a01dd6a406da2bcde483b8bf9ba1973a27d4f9d3a5198469839571fe38a9718d68df303ddc347342b4dba7 SHA512 80a992d3fb3e88915acd95ef0e0ffcd4a78bd5bb6b9426f17cbde7ec5dbb1fc543c8c27bf115f2df191b643564c93a03e7877e32219f419d8a51dcc7c377889a -DIST firefox-124.0.1-sr.xpi 631744 BLAKE2B 41bded6bd76fc61d622d29b76aecf17ccc927539a5d6b91664a9a92826c8d68f441e0c999ccf6e0a80e1e5bb457f7680c03663197bee4d6bfb1d22d1b829d7df SHA512 e2a7118109a0c82454a43b361dbd512436c6104c7a0dfc42450c98c2f0173508b79792a7286abcdb698ed693d738190a065536f0ecf00cf30206fa6b5487352c -DIST firefox-124.0.1-sv-SE.xpi 603105 BLAKE2B 76231b8fe94df56c8c7015e3b27914cff6292b51e55cbc33d181b06daf3bdd6c598ee188ce4f6ea95369527e3fd6f4f49b763332ca76643053191d68816b97b6 SHA512 171be289396a2c378a8248fc052f16801bb023545805d339253587f538233070d41ed7577874a67cb89e493719a56022ea7370cc8264a28386dc1fdf8adc1e04 -DIST firefox-124.0.1-szl.xpi 519287 BLAKE2B 8bc1b861add11a71619e22db97428f8c2375b23a2a346e0eb56dc2783403679c3472361fb04ae277d24059dfb712ca98a2dd3774d1825d22bf90a8a0e50c0082 SHA512 c750e669ebec6acc8440fefec6abd9bf4abab6d456b822da516492cae2b6ddb7d05611f730fe9260a35d925a85c37da4d576f3dfae1c6aea7d01e47b2361cb98 -DIST firefox-124.0.1-ta.xpi 500070 BLAKE2B fe2c2a1a5d69ba4530d7a11829276e6b3bfbd08016072c583fb1e7d2b2c44973068176d504183a24ac32645f928acb48de03caf4b37f641dd1ed9e2afc259f02 SHA512 6e92e317e4c9f1954cfe8cb214151c7a19b27072a2355e07293928f4e1bfa13b4be751b6b946a6a52762743c1a4bef11a29d134018957a96db37b05efd3a9998 -DIST firefox-124.0.1-te.xpi 551830 BLAKE2B 2f6415e7ea2cfa03c78e7c8e0cdfb7236e522a76e654b8bf78da43f192dda1a2592269d2b1e10545d5c68be85c6c6f0314aa2606f6e772c51e02cecc24ed243b SHA512 4a95720b74526fc646383b61e301f6cf288c2b930a43890af2685e5fed1bb453baeef32fc3db84fffe618bc375f76f291f1d28a504540af7f54b20fd8c05a91a -DIST firefox-124.0.1-th.xpi 677230 BLAKE2B a8fc385bb3eb02ee10f09b0b2c7a8841099acca46fd43e71b4b7fb90814a350a21ea6851e41a8bf53c68f8764123718dd5a13db8da1c58d478ffc0e931160da4 SHA512 27e8c071f25707c51ffcec02b82e092367227a51970dadaa93363beae7dd89382493da0b50d2f663f413c563e58afd05f66026d912418c4304863efd517a9984 -DIST firefox-124.0.1-tl.xpi 527123 BLAKE2B 192a1540457bac03271f5827781566d82c983c5667675815a9a5a9981141940ee136ba6d208365d028602710c99825d1d9d4dec18228a6d1b6b2a1c2a059e9fc SHA512 37b259ffe742caf6da14fe4f41a0a2043b57cc236d214918b78f4cc0025907cbb0038f65b94500eb43e1da6c870f7aecd2ba7e9bf06866d6a0c3be8b6f84e9d3 -DIST firefox-124.0.1-tr.xpi 615929 BLAKE2B 0f7479c6b4fb8b5eef4db31216e5dc86258d202c15f22aff5558d54bf9e3c5b3d58ff881261cce65f7362a5f013a9a9b3cb4456a1220c0a7475b6a1846cd5c64 SHA512 df5e494d6f91319880dd8b920233c6dc792fcee838becd80d7336a9a6140550483b87753c0974a074649f1091c9eaa5615a4919d8ae9e9070a48dd1133570799 -DIST firefox-124.0.1-trs.xpi 497071 BLAKE2B a5f625032f7eb6ee06bd88f31126470bfbad01f12b24a5fa6225e3a7a58c43ac13aa8444f51f8abfe48fdde737b74afe3a58f362ba2943836e7cedbd4410e6db SHA512 23bf3dc2675813daff831e05063d26d34bf0b202fa39f927dffefcca942e472e92649355a7d5da3301d735052c1ace3b1991a96593aec271f7cd55d400352bb5 -DIST firefox-124.0.1-uk.xpi 694218 BLAKE2B 55f8a3568a3d642dc9c1462910fd2f28e948fda2bba1afbdf76e2aeac531ee3a51e1e385c2dd5b50021a3b6c8060231d5fd5c58d679390d9c2f701d3fc12522c SHA512 4096475ac2703603abb1be18048dac6bea9be2ec296164a3aff827dfca8c304a9b8f74eececa6626d4fd10e82bd23e5e72741a1bd37a890e560ff458665d9b02 -DIST firefox-124.0.1-ur.xpi 553211 BLAKE2B 40628887ffcae9144705459b1439301bd6c5f8d04f288dae27a6b110f05b6d938ac1717b3da5383c58bac5cef15766fad518bf59b1ed1059d02de912e66662e0 SHA512 60854a99ea57c4b5bbe88fc9c1aa2786bd3080ced3d3cebed676b003cfbe5f29e76621dd574e112d6cf97836eea1704ea5591ec4cb809734dea17333bb8ffe7e -DIST firefox-124.0.1-uz.xpi 472278 BLAKE2B 5fc3f96ec6a69409c434115378085eee0f1b9770cfd449cc4d9430cf11240d9ffd6f4e8604153e043cc36766786154e834126c141fb186c626ef6fe6b706f878 SHA512 32262ea4210e5b842e92115e37b8affe917dce7352ac7f41b363467eaf934eb0ee862e35f904e04b79815256215d2f6691cda77307ccd4088f99a98142d76374 -DIST firefox-124.0.1-vi.xpi 638584 BLAKE2B ccd926135b3ccab5b0e7f329c8544711fea51f14c00b01d3c3486fc94cacf335565bc4e4aadc61976e8b88c03a8ff754882bb34357c06244a4e2296c7f6ab40b SHA512 88ad513e7ffcbee5ea49e1976f0da69f1406ab2529317a07122841e4dd2f6f4dcf07bb550e82ae718913903d8b47848ec009751202aaf7e8bd3dea38c32c3201 -DIST firefox-124.0.1-xh.xpi 411003 BLAKE2B 5c92c2443e73de2736a42f578f70a69c570cc05c8e4d393887fbcbefa92c98b20f76bd2c8e5aba5a3aa31fd783ae90aba226ace7ed5ffdddaab73ac8e68ee7a9 SHA512 0b456c667badaed47d030ec176d50c8ac39651c1115b7e6bb492c682c0ea207cbdd75778bfdd91f345cfe360c9d28810d4d4595d02ccd048105e1278bdce539e -DIST firefox-124.0.1-zh-CN.xpi 640174 BLAKE2B 42edc61f18a8614b5cb6b28052a5599702929d9ac2fbf7b7bd90cb5fd415cd82c7b70b8e68ed317517747aae0e1f201674e29aeb9910fd710fd7c1f1ed87d788 SHA512 1bfe2db372bd42ecc9acefa378c033dbf499ad39bd5da9b4e351de8aaedfc4876cfabc02fdd8f8ffcd37775f561391ccc1ac5515509dd2016ce9a73580932232 -DIST firefox-124.0.1-zh-TW.xpi 642122 BLAKE2B de00e146dfe60477f04ea28cea19351db0e168aad3d4869c949065248c11a7b6b2caee687d3b8a4f0b09a4019ce2d7fffb16f91c3d31f0fb0f83071650e70551 SHA512 588d3311e820a345e27033135d7f9f3838bf949f0c7fd9f68a09d7a033f15a239e2eaab1db42b4c4560eee21503e0c57d3e69a1492b27c602b49e0e0beeebe30 -DIST firefox-124.0.1.source.tar.xz 545772696 BLAKE2B b986833fbf28ebcb5588a68367054ca7a2f51f69685349ba65d25e118c90ded55c6e626842bbda8f00717ee55aa784c808e8f09855de423234a592ad23d9e9bf SHA512 282c45e5c468419536dd8b81c8ea687b10d8002d7521403330e6eeef49207143bee88a44c3785748d461ed9a72687606f5da14f4dfb98eb40a5cd08a4a12722b -DIST firefox-124.0.2-ach.xpi 457255 BLAKE2B 17ccf91392d831fe07e4c4874628a13766384531b6d0a5fe54f800cf325342d18241b3b4ff11d43ebe116284d6e921a09c50d30142a7623fa473ead89fd6042f SHA512 f42acf587564905ecaa0538e5c5aed39d90bb7de900368eaa50aef6524823c59ed58da0d284680988c3df5eac6a76fb40e3ac7b5cd0342e5613ef6336d87c483 -DIST firefox-124.0.2-af.xpi 411565 BLAKE2B 79c20abb835b2c02a2efd16ffb2a671e6d144c3e5b27d481026089374c11432be660bbc63a1e0d70cee469eb8c0bcf40b2e16518cf63d7d19450eebf181dfd31 SHA512 a9a02a570f7fa85e0f4023b23178b33072c8810f98faf05bf2c30d9a31acab7c4da3de65e1181ec0861afb3b1bd0f3895e15fb7c51e569965672a4d5b488c78d -DIST firefox-124.0.2-an.xpi 498970 BLAKE2B bbeb7f904d9e355c521dcb8e9e47f354abb77f8fea03cc6b17504decff53133e1cc9ef7524ee68bd6dc0b8adad398ba7d241528086e92cb9d07c1603462ee88f SHA512 01a7116931539dccb79ba2ace11787c7bdfda819b7ac412034a06f6768468540fb8213d7cc169a375b8b81fb467460424f57c871846e4538b2d482685e665d40 -DIST firefox-124.0.2-ar.xpi 598799 BLAKE2B ec863c0ab0c81dae02b107da4ae66b6c79873ce6bf79550ed2d64319081344c8ce79368d393e24ab7055b334bbb438c1d5618818312812533b4840a85ade1b83 SHA512 45eb02ce19fc2359ff37bdda083aa128d5c29f3851ffebc2cb2a30b0a736be33a2d881fd14ee3eeebb7819f6970885e5b3482cd7c7d2ab5780720fdf2a35e88d -DIST firefox-124.0.2-ast.xpi 489747 BLAKE2B ea3290199a6b0bccce031a03735865b16917fcb53c18fcfc649b471ff2b69effae40eb8d9a76e96b25da940305e76ace7a780766fff7508021e87e67002dc08d SHA512 dca07b30a3d911c3babaf376fedc0c296b511002265111dd011f5c164eee4eddef59b95e8ce261419441024499a62caa728f2998ab27b6d40d59385b5ba67376 -DIST firefox-124.0.2-az.xpi 483726 BLAKE2B 70360548931a0aef3a9a80b9a0dc454b47c863d395da5c011e65888e311b30ad7d00688bf5745e3f0b436d9b578e560752fe247c5b227b08285f388fd143cdc0 SHA512 462252f781a0e64a041138a0e07c1fad50780c8f7882d4e13e6625107623bef3b917445af6cd377d69bab52bad305057c5fc7eb34810b181ba058dc28fa3ca1e -DIST firefox-124.0.2-be.xpi 696936 BLAKE2B c4c4ccd86e7268f785b2b1f9d204583d547544c6574f5240fd4c58c5b4a1194082e1a17b84fdde0bafc62387f5f62197167da48fa5f587b5298b7fd41ad6512c SHA512 0be05e367f2ed107967ac7d8c34c8ec246a359b4a03d61b944384042b713fe228ba80263a571afd0649164b627c977c082bde80b338f0cdb12300a854ccb81d8 -DIST firefox-124.0.2-bg.xpi 596459 BLAKE2B f6d676a6cc5e59e7156ccce5edc64f3a659ecbdcfdecb6c8994f67799b009779a8919296a30348157c45bd118d6d6603e191af1317760b93adb0b266e5d522fe SHA512 1e0caf825a54c1effdf2067aa20d8ab079ce39cc261eef8d99d85148bdf64bc8d4ba4caf45d343fb2e9d793a2ca9f7cec034d024d7233c78fed9f9e27ce4ae1d -DIST firefox-124.0.2-bn.xpi 574087 BLAKE2B dd33c1665a89f0b2c73e4791bbb3db9c16de4645e598718c3e4a40e4562f1a258403591a43ae9a9a633b1e873f1fd855caf99f6c817da30ebe7922c92889336b SHA512 b1c8bcb90252a7b9541c227be377ef8fc0150ed4c2f3ea42f300b8010fd2658af13940ff3c0b39b0acfa539971141179d176b50a2764f2075ad31ecaee12b6f2 -DIST firefox-124.0.2-br.xpi 579512 BLAKE2B bdc327166b6da57af25fa25078b0a3ceee8d1576e06ed76db6b2a4695a8d397326d6f144d814ce86e2b70c6140dd211daea3ec68b252075b0617a93e9d1c284b SHA512 873792f6920d18a19544ef97d5c1c084c2ed5fcbf4b3939afbbfbdf7cd1a671f9a390e16c5dca76f47c96f84c80cdddf3be8525fd684018e28f3e598474cc7a4 -DIST firefox-124.0.2-bs.xpi 466315 BLAKE2B 79394ca083e22e3f3e5e0c41906af3bf983e436bfa1530cdcb1e538d267891afdeabb40ca052a4e9019956be9378b2fb144e9926a40b292f818aad58df412085 SHA512 f0d851512240569ec9679aacc5b39a6e9a80c2e41728c5cb3a970b4e6482c3a483ea976e58ac97cd272fb9a97bfb65886c38a4dbc75a4efdc736ba0f2744b6c3 -DIST firefox-124.0.2-ca-valencia.xpi 538973 BLAKE2B 1b272ba4d19c7a8bcd30755db1a236e86403faf2d06d972cef468556feada24f5365e2f41c87b35de3b53a0a16424e0a93f14642e23033869554fd464b5005b7 SHA512 714d341ea70495f2e80fd5f2d0771cd2a9f10397584f1424ce88088d527ac4fca7fdd1280317adc030eec0eb61ee3d46ce214a74d33a9bcc691f82afb0c9bf17 -DIST firefox-124.0.2-ca.xpi 577127 BLAKE2B 40e164ee558304bd7f4d1fdbf894cfb09cf1ef1a4992ddcd6421a8494438c33ff5d4b09bad1e2a7108d8b08b490c526e4c951ec3203a2a1498251d27d120bfe5 SHA512 533251b89a42d9460b3f90ca63d5432fe73a71ea79d89d89c993cb04ff4844705439746b80d911354eb187c2156e17c4a14edeea4bce572f13f969ea4dec1f23 -DIST firefox-124.0.2-cak.xpi 584191 BLAKE2B 94ac0612af970f74b2d7b8b908932f94361bd15d9c721788ccf99363f563ee1620760fdd0c5e07d09e86c4ce0a3f21c578fe1712c197791d1de18f1ff0ae7f61 SHA512 7d56cba939f896bff8d688216c5ed1b3d40a00126251712337723267712220cca0b7b9e7717d0a812aabc721d8c2c79d20cd1045e2a0d80eda83a5a632bb363e -DIST firefox-124.0.2-cs.xpi 640185 BLAKE2B eb43e546f220dac2aac77738a0e3c9b48a0f3c6cee50379333fa908e4ae784143bf9e3f0c4f7a7531b2e08feacd4409d21f2080ec6a6973c91c75e7afbd905e2 SHA512 cdbe4f7eca65137101fe1029b8b2fc614f6e890432bd533d8f5d3615f1a0234d1fac3474f7a84dd1a678c81e1ef7a0b79842f774832c733a7b79e0c711a076ee -DIST firefox-124.0.2-cy.xpi 607557 BLAKE2B 8333305beb2b40279d67c7d52ba0cb8820c3629e38c2e107698e1d03e84639b287eeb6d94a7e7617f0c56c42631807626d46217ccba9784bd2527a2404940cab SHA512 d4049a20e8a6182e498c2a17e5ee44d8fa60e628936b81cd965ba5261c1589ed37a56f0b18e7e6cb9b8a39c68314ca7eefbbe7526c8b6553e6386972276f1a53 -DIST firefox-124.0.2-da.xpi 596587 BLAKE2B fe49f750c55bc1c1763cc5f100377a6c9461d462cbd07a87a0fea2d5606c91bf06fc4ffa9fb02b1e62299f83a2ceb6b3b2c06ef92802e381d63d38ed28b1ffb2 SHA512 3c06c97e4a7cf01c478682a5d9bae853cee437eeddd18a5123919900bc9df7bbde395722cde1343734eb8737b0fb5f0c3ed0cc8412be4529d302633ba4341ab7 -DIST firefox-124.0.2-de.xpi 617699 BLAKE2B cc783c541223f834ecf1a1d8652fade443133692eb8e40fa5e14cf72c957e2ca864ac9c1fa9b8f671075a192042ac52dc77aca12ae16a7b6cec69203d45cf06b SHA512 000288baaa3ccf3819dec45641f57a8ece0c1acd56129570bcc74465b9aeb9f44608c353464125406afff9eaabf6df3a06811d88286e3a829a4afb69d8c445e0 -DIST firefox-124.0.2-dsb.xpi 634051 BLAKE2B 956c8aecafa7db07311ff87fb46a65ce93fe597d2ff3d42f8322ca4bd45e83f68be87e4d26ad487f2071bf8d7ba7bd2aff5107081afaba269b2aaf7c571cb3ef SHA512 698a465c5da52c8a55357f0504d97217fd082e1c90ba101c4d801436a80e8c7ba8914d9388c9958223d88fdf672a77dc3341ff1f86868689fe29b2acfc664a94 -DIST firefox-124.0.2-el.xpi 714179 BLAKE2B eae2a0fbb09780a69d05735d99432aa766b8f7068352278fb2b4b08ee4b49bed1f1e0b686f88ccdad0432db30d9984ae86bc6e930683a1e498811c0a0c3af2a6 SHA512 db5b232cb159fb2f4367215b0542ee1d4d698c9c6a122143289c979f4a65c3f9c69b41f523d31664259326e721ddfc0600559ad131955e28ca04ce393537c215 -DIST firefox-124.0.2-en-CA.xpi 552853 BLAKE2B 540b3c85cfe47bc9b494600334db0ec8578701d2d9d5a78fda8357b4911bce89ee6687581787439558e3b9039c2b5ba427c40b387f4608c75f5a9c701982d470 SHA512 33b85a60bf6df93633f83e4c1ab334c5a5b68966508de7584d57ccfdf6e1e55f62be7040421928d9cf268c403846c03e4c104853b8dc8a88db71291d4d211060 -DIST firefox-124.0.2-en-GB.xpi 570065 BLAKE2B d650d94b8354b80d29d2ecc342687b78f375b26d97e6635554ed84cfd12277b019366486bf68c177158560512619bd55d4c0dd3251150d2a783170fc313fc001 SHA512 22184d8504d5a22b3a549cce83e985d6d25b91600de1ff4e1164b8df533c67b1cd4e11da1c8d8be72d05c9b5afb24067a5632dd492d85af97267c3ed06444aeb -DIST firefox-124.0.2-eo.xpi 600155 BLAKE2B b49018b71f91e4c7c8e35148ee48f56cfb3605b64277307885e8f2156425f2523beb443b64588473972f30d14da9fcbfaaee7eab29942b20f1a014ff7dad8e24 SHA512 1f054a1e2d3f8b84191968c8965a4ada33291c5561ff534ccfa1e01fec1cd3a7ee72e259095043def52a06e6dbb02f170dcfa7b9bb1bc1e9ad91839c557ca871 -DIST firefox-124.0.2-es-AR.xpi 611788 BLAKE2B 9fc4f4fb5525aa41a1d8061c7a7ff2f3fb6a9d168094e7c82e99e35ef8e5fc6cef615c8e7bebdbb8dbda47fd5255dfcedec76158b93eebb5c6ea18ce289020c6 SHA512 d8b9549cfc678389bfed1c6ffb401f7b1dd6fea37e469bf8c71565b9b732c788659fb365a4c4388573a11515271a6730db967595b0054e28dd616fb5054eb3dc -DIST firefox-124.0.2-es-CL.xpi 610709 BLAKE2B c04371458ec0c94c1a98ef70845369676a4ae5a8848626adc3a9376ab34a7a931d91495a89ab6e7e548d062caf4184a144dd324f4abdf11f5b22b08391e4d267 SHA512 25d3b459fc6c17246b7c04f96674039da868c5383675b7404a001ba9c596ddf8c5f66ba1351ada56550c240b8e34195f4c65c1c68cb76b22241229e036330c4e -DIST firefox-124.0.2-es-ES.xpi 605675 BLAKE2B 5fbf14abde93c0ec9d2941e9852a5ffbae8cfaf477b77627d7a863791ab4312f8035cc74ed98d449b4a08c9466a6d0463921a14fa898c7e60bda27a9e1e22558 SHA512 b24a35464888d5b3a46909aae749852b4b85acf9c27aae6dad01534060b9ae0950a53874c5b41c94fd553749980547f4d2d90e3396e0acdf496a7036ecd2073f -DIST firefox-124.0.2-es-MX.xpi 584181 BLAKE2B 7ab20252899f1af9cd6187ccbe5b02a72c45870daa17b67ea343c6f9d0f30b2c18fc31d11f8163dfbb31983ff26168c6e4ec1d3a082a81c6ef7c078d7c86504d SHA512 d1ccbee7d76069387e8cb55fb843f45825dbf3af0b5ebc752f689b69e885d88563441bf781f34edca54de8df99bb38c1292e9dfef69526f8fb2e0cbc043d6ddb -DIST firefox-124.0.2-et.xpi 532343 BLAKE2B 7f80387b09f3140f4954bd9f97abf6de989ad8cc8bddffc2ebc9bd51425f4cb34ee71618e851ab7a5381f8d3acc729c94a4c01f3102787c9c34e0ace558ffa87 SHA512 b2b291f1d356141cfebb5dbb1d2c5376600ff972d9f936b41deea5472cb3609b87d0a21941435fdd1a280abc5b1c3cfe5c2fa88d190fd35a6499c3dd604ab1da -DIST firefox-124.0.2-eu.xpi 585776 BLAKE2B 836b0e41b6ad37f1894c58367f084b6c42e8cb6748195c5963175c523d83da11791bed668c44825d772354c3045ce0d0686be6770e9ae80df617e78310d0821d SHA512 806ef686c3ec2f36289f1d1b3947ac40ca509f0fb275ea65bf152165cbd602b45b354cc9c48e30e22aee113d8c6aa1a6e657ab7bb5e27fe708c6297fd28fb077 -DIST firefox-124.0.2-fa.xpi 582557 BLAKE2B cf8ef01764273db2147faefad652723ca5a619ae9c1a42feece5971b2863396419833f560802ad41908dfaa8e76cfae80fb51e5bdbebca0a63fccd0b06375bc5 SHA512 ca1d384fec57b61e00bc89f81141564354d23a6b20111c49e4e74299735e40f243948df3211258c84e150130d8465266f78ac67efa0774d211cf39dd75996b1f -DIST firefox-124.0.2-ff.xpi 469176 BLAKE2B 01007b7ff9e49f87e3c06299cce27269b9aa9abc9bd72bff0319720b755b84405988de378e81c60b37fd3b91ddc70109f50fda3e4adb44d3792a07d2e9de74d2 SHA512 cf76f84312d48f5e5a70be7a23e547a7cbb3c7b3b8ce76ca145d4bc48bb8a54b75c7d710d7838dd13ccc2ab4b53137427a1e08f54b3987beb168249bbddef64d -DIST firefox-124.0.2-fi.xpi 592095 BLAKE2B 0e94ffffc2e029b338c08e11d53f3e6fba67eee7a7bfea8d8980ebdb46306bdccfa153059f66179dd7905b3d2b2e9823375e3118d23a97b6e21e69bf49484a8b SHA512 be1bf303f07b79194dcfcd4d7c1e6155d3c13e39c290ad813779d7d65fa58cc1329b38bfb71cfc23364b83791e9ea80874bc6ef00344fb6f2ceb1459a8f71dbf -DIST firefox-124.0.2-fr.xpi 621884 BLAKE2B 0a9a21660af566fdeebabc6e217e9bef22026f46ac97f37ebbebf0b3aa9da8265e2b8fa52589562d4126c14f29a3ac80cae288466d1c3408e082407082567261 SHA512 a447f0df57c9161bdec7dcbbea2430ce22b51297a8e2b9815ac9b6e3606fdccc79b7e60a5ad34068a0a6a584dddb690e56784beffcb075c5bfea55aca242f538 -DIST firefox-124.0.2-fur.xpi 617363 BLAKE2B f2098f559962f969c8999cb19a706d192e03c642b1e68800a488f38ca8f670d7a0a3ed351ddbf6b8b811dc4278ba2bf12969d04bc6a88d7753f4df513ea3daef SHA512 6e9692d11af8fdcd8a31955bb8966293706d0a5036d9400faaee9e9e12530b30b0cc127712dbb533426ea3b8d2214918ec72c7e315c0f2929efb699862c09b16 -DIST firefox-124.0.2-fy-NL.xpi 606666 BLAKE2B 24f033e8520a68d5e594fd5c8a8cb162ea68af041ccbdf90b7b2042b520435dd46375bae968a25cc989fab56b01cdd17eb221c71b75ca6fb5a0090e53e77618e SHA512 ffc4683bfeb7c6b4862ec9434582383a34e7155ef83ae1613b796047c03f524abe85cdd8aa634ada881865339615bc8e20f7e73a696a0266a8ece0b3eb770723 -DIST firefox-124.0.2-ga-IE.xpi 464732 BLAKE2B 80ed500c3aca0b702e8be150c0a71c4bce3810a7126a27256b3e9491a51b629cf73ed8f55646c4aa3a8896f40548943de8f0e9aab803c0b69ceec47ffad2afe8 SHA512 ce8aa2781772e45ac8d5f03bcaa5b3b2d718e4aef3e5e17ee0ab6973a401b801db46ba826b8ec2d3d410eef7ab78affba5d6d325bf2d2eae2e271f05f722be3a -DIST firefox-124.0.2-gd.xpi 584018 BLAKE2B eaabc701392f24f00c6644d18aeb0d0e1f343975db6ab61bf34399f18cbce57d90718d6abc63d5b21d08cc25f515ca4da549300bea40a4cf12d761e73e3bac78 SHA512 f5cae8378ee27385b981357503e832b9ffe434d3f8a552934f4657055d7e53499189a90efb53feb09084d176272cc344abba981d17bddecfeab0ba9c0df2ab31 -DIST firefox-124.0.2-gl.xpi 597048 BLAKE2B c9a77391e33b057236d95b38d4ef3efbf34c542249b3b8334d0a97c04aecf90df544dea516431edf7c6a331b06eb322c4aa9711a470c5d388af34d0c5cb0def5 SHA512 ea93afb70af13fd91af2a92d1112e20b6a7c8dd6fb84c5172e95d3d74e7936f3e3556a29864bead8c97bde84ada8f3367e5a9ca00812aea2029c827b06add8b6 -DIST firefox-124.0.2-gn.xpi 621056 BLAKE2B 3e94cc50b7b33637742b7e3aa8d7376f793400a7e6ce266704c3ff25625fafd18a4e4e4284ad48f9f1525623b71c05667cf3b245ebf47e0b657395858c834122 SHA512 bf32126be2c9e79b4653d3757ddcae1155d4cf6cc917f3218dba9448fea87cba5dbc9652dce49bf466c411229a17a0ad8afbb054e07137a1206e7fac5c7e21a3 -DIST firefox-124.0.2-gu-IN.xpi 520056 BLAKE2B cdd54d067f827e85c05fcb6c9bf7b662bb3e2bb4923b63a31e36924d0bed236f09adf90629044038b681933c3314d16ba0e9a39acf38828de7b8c15c61bd8060 SHA512 2e4560faefb15aad3ff19f5909f52a5d4b6265e5eb2abc953113a1969ad35250cc1b3e48a9adf27ad6e6204e59f043418f7f2c5db6b71becd5a5b64f7d401e7c -DIST firefox-124.0.2-he.xpi 616172 BLAKE2B c574d4728a20d95f0f09cefd1e11b1442d715bffa807bc310cbbfb812ee3da44f3cc94d03f719c958a6796b0b3935783145dd9589dbd91e58a73f90fb88ba30e SHA512 498c61a37d4ab18b7ce9722163eab17c4934e669adc2e934b65700f5bf323e04c8677ccca75b064f0ed315fc49ab6e77791504925b5206c591872578324490d5 -DIST firefox-124.0.2-hi-IN.xpi 558182 BLAKE2B be7b8deca2a0aaf2ab0a3dcda97066fc76720a1835af4719de55b631b0c1e6f60b5c98fcbca95b51103cbf97d1abc984af90aade8ccffbe8179144b668cd8a11 SHA512 fae1ba48bf8c82cbadb762057289e4e921add2c1a2e3ce3bb1b7729038336b36ebaf7708f907b24d2c9f3b2ab58bfb77c707fe90dd1d33efeeff411b24895b8f -DIST firefox-124.0.2-hr.xpi 549496 BLAKE2B 7b18cb9a9ebb4ced5a2eb98f9dd5501fb745d6e55df143c331af1cedcc67db467ad13713eb77b1c9cf70207569fb49a7e794b4305f86019a59939b6f9d93b92c SHA512 d6f559f3086397cee39112e2ea87ca96daa36f658d7e19e537838071702396cd7c1e4cb42370ff44b78457a207efb333ac3a5be704eeda34929bd110b76258d5 -DIST firefox-124.0.2-hsb.xpi 629696 BLAKE2B 9a6f36a61a6843d45f006fe26165b5e9f1f902035764dc2db19a736a8762fd1b89931f0f929dc81a3be6cf325b4960c95c511d0343c7553134d0391c01259121 SHA512 76542cbf5e59448c5636d84b7a1af34877b3483cb1907e8d9e5145a8059419a430febce518c3b8868c6ed087e0d37aa99e7ab04326b1d04c60972726204146be -DIST firefox-124.0.2-hu.xpi 633303 BLAKE2B a30267d27ca8b625c5830db59c5fda496b92be1b93634f76665d282069eaa0683192302d1aa66fe6b48b78f13045426994ea63e3b98e927c95673300d3726c1a SHA512 1bb5128803c476779b1a7a259ac1c59a50703cbe1ae07987eb1296141b2ebe0f0c334c3a32016e42b3b818902f4728fe99d7bb8251bd7784e4b30e21f9b69b4a -DIST firefox-124.0.2-hy-AM.xpi 607891 BLAKE2B a9c7fc28bddcca108701159eb2d286f6af37985fa8240470410abded20aa01ed4abc7198f9fd74295d32f8737b2eb7202c6ff88315c6706cf2ecf1e0e8437f82 SHA512 c14a5fcd1996bbe5290a626cfdec3d9d9dee49e44f1c105c0431cd1d568ead214ca2942253d672c7df09fc77fef279722877917185bba27ecf26b8197ed4b907 -DIST firefox-124.0.2-ia.xpi 594010 BLAKE2B 98b3a13b0f42cfd1210fe5b77f0db12a34082809afc5752e74303458ad798aeb8fa6d0d702e2a45db1c55eb302ee119dc8b751d8028689ab9de3b1295949555d SHA512 df1295c2ec83810e67611516acb1ee790593f5b58058067031607c8412ae741bc50820fddd082b15c16d6011d1dc685ecb79507a476ae3c1e1d00327be019b0a -DIST firefox-124.0.2-id.xpi 566763 BLAKE2B ef7065b6551bcc5226044780ec6ce4c09704cd3f11a02c5fa6388da2c6258b3ca33f55b720fb57260e138421efe958e5798d96b89c0363cd4821180faa4aa2bd SHA512 087b1fb159902a9a06ebf4e64e1a78e66dacc86fbb30ac46f30698779676a2dfce041fed504367a1eb6a5e17a16fde1ea1a2a55be0365c78a16f04db4f8d0feb -DIST firefox-124.0.2-is.xpi 600747 BLAKE2B 827f1f9d0bd800b066ff76e30ffe41ccdefb94e764ade69deb4c5e35f68cce6476e5f42a4afe32fd1973192b0f51deee1aeb227e67568da33e5e62025c51dad0 SHA512 42370d399a5394a340a83173fb51152fbdb15f1d6a507e563a5ef9f43b2efa6e182c39b6dd630f013bcd6100e79d0ba8fb93a777fd97cdc25001fde01d05cacb -DIST firefox-124.0.2-it.xpi 551729 BLAKE2B 06724af6d42da8c67db0e1602f1fff176a9b0eddc7047ff363630b78615897d69bdc388fce189f8ac7aed09559f81cda0b0a54be608b7f9e952e4943a4e47e4f SHA512 6876bee18ed9e14074522076788cc3a308305a1919eec4f81ec4adf64ae007add124ce9b667c7308cbfc815f9281067d0f1da4995a4487be382da46d8af27d0f -DIST firefox-124.0.2-ja.xpi 662254 BLAKE2B 3c144406a9e71ea162e730e1654e2cc7bfab35ca50653ae3e3501a477dd55b4b46aa1a60acec91a2db382bfb0f5549ad60acbbcda9715fda07cb0897df0a4c69 SHA512 52b64c2492d187e7113ff979356f6fa6aadb4f17795d74390b9664d3db80c86ea5d1185b5b745023ac33bc461365e16d162a7aff76d7333d13d35e6d77d51645 -DIST firefox-124.0.2-ka.xpi 652848 BLAKE2B 8729b644b26ec7675bf6cf7e94a732d87ce819e305c5c3368e2f97637440f78f533637c62bb51df81ad5b22630a9a3199543c27d8bf6d0e1129e998e8e36fc87 SHA512 88bff601af66c22f8eb126f429fc0cdfa323645450d25f5855b109552db3ec54ef03c0ff26dfe4834ae7063cf452b26484beed11553bd1e61d6a804c93551e51 -DIST firefox-124.0.2-kab.xpi 594394 BLAKE2B dc6154a1b9a699842d4196df868d7ec75a610f23235a11ba3aee51d17dd63e55731f797d58d87b79cd84bf356092612efe746fa9743d25980c39111cc90001db SHA512 6bbfe7b0716e983ddef68cfde52c1c382d46c23fd147c312c07cf32e61ee59d013c0d4188d7e0b97feef45b95099615e8c53f6340a7b1d3404fd8016b3008c8e -DIST firefox-124.0.2-kk.xpi 689599 BLAKE2B 35e8cdf1d2337ff4f34c3fc8c6a225ecfb02000a143b872d9a6d41b6f31054a63da7b02abbd7e6bc1f1b20270a1f8ec5f0525fbec82edad6f17f01f1ea618d7d SHA512 49b423ca758d5d17a0be61893b94db1e0a0a4b82e5e04213f39cd88b1becb0d737466034230a351202fd5200ef95dd0f81468ef3214b120c4b2d6a64ada515b7 -DIST firefox-124.0.2-km.xpi 518437 BLAKE2B efb005f82123994105be8523719cb59e3828d02d5c7d2eb2c42d0a57d710afddef1240405b270ca4a742c24625e672cdbd2ca14c76f32a0f89dfd99b07e42ec1 SHA512 536fda68aa0cd688572ab12c69f6d16ab0af6f10913f58e38ae77fdbbd3ac6ecde5c73914a8292dc899af1788079742f3359f79e28c593f61c5b25fd07dadabc -DIST firefox-124.0.2-kn.xpi 484307 BLAKE2B 11e4d75335e13cabfaef01b2f24871c8ffb8372dd52cd8f0cec9bdfd5b1a0c928b1e589f6388cfa7f6f66bae217eebbfd0892aaed2c1977b4a5175fbf1b7e2fb SHA512 4f9884641a5d94c3216acea07391396a3dfe1b58eb223f08beed58a37a166299035f7e735cb2ba33b9055a8b2e9154af5132bd9a04d7368daac424473231494e -DIST firefox-124.0.2-ko.xpi 644460 BLAKE2B c1fe0c9d910d29c9aa5a041be8f78f4d781305833c47b2c03b0c788184299fcc20968bd691df4743f006fa7328e212d66ca984477c81a1a4d5c83990624fcc1f SHA512 070b97338a5e8a95bbdb738dcdf0bec525fbe60d14b5c090037c81e21a08983c60f2fe8fafaa962ad5a97ef57298ba267917414c66a97386c7763a2c14931bee -DIST firefox-124.0.2-lij.xpi 477138 BLAKE2B 4a2767b630af6de8fecf5e1c652e1df0b019ea414a175987e382bbcff879ea7fb4be721c6959a57359e368d2616f17e2fe4986f58bf7daf9e836f1002e63aea1 SHA512 db529e9e5657eed3e1f1db2690815ab4ba490d547870f3c335784692dcaf826673dd41c6b16ff7589e4d729e94fd882de08eb3a8598dd445365346501e0eac66 -DIST firefox-124.0.2-lt.xpi 565318 BLAKE2B 534994785117886b1fd34c6f1860842f4d9726d17fc0fd9e05e7cad82d3ed48fb0e6ee63b9c059b034f844b4018f3a4ab858a0a31a3a282bd5b14f4b764eb811 SHA512 1682df7b61015ca1dd417f418c33067704d9d257dcbceaf647c37c82babd87b33f279623a2b3e316c7ae2a50f7cc9bf675dc272aafc16dacd711054d43c71a03 -DIST firefox-124.0.2-lv.xpi 462857 BLAKE2B 1bd532754023cd7a201ff2ca61fd3749c0b46b691e9724d9f4d84ef69a0291f7f2839bd35809cdb196b9d2125bb7b55e63c20b24e33d5be77dbc815098cd3eaf SHA512 1a4088a39823f0c54e96f485a4f557f594656459f0b778e0007213026df5b215a37009cdc20e825927d543989685ac1d6085a79683777340d9b028530be54c06 -DIST firefox-124.0.2-mk.xpi 486003 BLAKE2B 248f11e61eb64e887b5793e51739b75de387d4d8d18f514db71e16a6d75e4df4628216aa4d36a0af51a97515618cc26789ec7d961c984bcf0fdb9e4390a68520 SHA512 085f6cb9206864872fca2616994664b2047a828207a81ec8e0ba97ac1bdf1edb733570d8b60b07b377f3db57608d5dc68d15cf0a5eedb3d2312d332b4d280267 -DIST firefox-124.0.2-mr.xpi 525108 BLAKE2B 84918f32c64967856d6b3e444fe12c218291c0784ca31e7ad79a5bb5aabb2bb285e91af52e8f52deab6e79dbea1fc23982518d56faea95a9e61ddf9ad328db7a SHA512 4b93d04e1f243ce87138d7526103e21c9a777e71f1052ffece379d1daf0f5cae6f0e7a4682839744fb284494ae73932f6f8549e58794cb159c4f207a7835ef2c -DIST firefox-124.0.2-ms.xpi 442792 BLAKE2B a9e994978d22d94ae62215eee160f20380993a2d3f0d50d92186d365b8bf9206ddf77c9ffb2c2f4861b912534880fc55e7e4fd93e37dc788fca32555636b0f81 SHA512 8c214bcb95539aa5a9a430af455c92808e5f1654830ba704181e75afdff0846ebb3fc9bc40c24c2c2a1514108e85126cf7134265dd4f2886566b6eac7df3684f -DIST firefox-124.0.2-my.xpi 510097 BLAKE2B 1b82950bdc30116845267bc55e2a150341b24477c50ed8293396f29151a3e9c640cd4437061547e467f2aea4f78e10b7472f654f788fc7bdfad08c13d8b4662a SHA512 666483025b85dd3b0d29cd4b93787acd112d252112999f245b147c3c61d6ac9a8ffcb5260a5a5a84aacf8406a3f19f351b9943a0665a552e853a777ec3e9da3c -DIST firefox-124.0.2-nb-NO.xpi 592048 BLAKE2B f4f0a66d5964a89a04142a712a3b385d92d4f4968afd67c32f5f93f8d82fa6f69c7e29aebbe2e136181325307070b5dd8dd8c5a8937879ba338eee7034e14d2b SHA512 328daf05d02e075d9406bb937fbce877d5911222aa8c8c68d3eb493f7ccafb38e702dd2cb9fa873cba28b9021a93af5917efdd5e72f2253d1beb061f3a13c129 -DIST firefox-124.0.2-ne-NP.xpi 489213 BLAKE2B 79e4fc62763fdccc37c166f38afd310c2d5bc3c213dfecebe7d71fd7bc8cb7f95b3709f282c908666ce5090efb0a38a3f88fa5ef2576658ba4fc6d08613e5493 SHA512 20993887de43855e7c30668a043bca9d6834f742da36b1117824c6334a37e14c095bddc51b7ce29d9f8c1ba67a2c7c1b4584c2c5c0a39b0da0e67f897e25add8 -DIST firefox-124.0.2-nl.xpi 600468 BLAKE2B a5a87df2e9df6b0f4c1e53ba87ada7f46bde7394855c61ad6b4b3851bbd392b588e08d3377aeb5e6d6993e4913713d09d211b920d8179e58c72df61013ec3fe8 SHA512 6daef12bba475260bd925bd1db3bf32f678abeb6876bede729a8808c68dc6e65b6ad2a5090d4d9a968409f253c8cccebaf54f13674f3f5cd68864c12452fc5ab -DIST firefox-124.0.2-nn-NO.xpi 584693 BLAKE2B ca676606f2f7166246a8566c1bcbc35f7c44d2801e8903ebefbd372c66db06d1df8713381691f6fb5f4b846ea2f1237e392e14296d48a1e00e45d304c205926c SHA512 da26e8d751e850c533eb9caf93b426e14d38e680c567e13d1cd2075195af1682bc03293d18eff8beffc3b5c8bfd16d6fcaa05654d2d63f10534ec2955f93aa20 -DIST firefox-124.0.2-oc.xpi 600442 BLAKE2B 49d8f868c8d751101d9979c575f38447b17e0b880d42f1cc475edb7d8ec1fe1e08223ee4dd70efad6860a27026da8d6cc6fb90d56547caaba264429ba1a6bd23 SHA512 1577eb225dd993b71ff0b5963e567cbaa83b97806d4bffc4f8fa57abdf43e93fa41d140bf800eb3cd7c5806cb59f0392fd959ae1c3a06d1e580a18e54cb7a1bd -DIST firefox-124.0.2-pa-IN.xpi 674686 BLAKE2B f22a4f21869daf5d287165d09acc1f62786a2a0970cc445aa8e83fc980b093130b4101353d0f1e77af8cd5d76244c65032e38e602fee1cf3def3164edb31dfd2 SHA512 238fc66530d9c34d7cf21894c0ce600d9a235b77dc9b7664ab9140277a2edbc29c20272eec510415f4e885d49ceb6157981c6a46db35f9ca3e7480c1dc169ab9 -DIST firefox-124.0.2-pl.xpi 621246 BLAKE2B adfc0996c4b410249e903e45d2c472c77045db74ff31c6e1ea76e497a32759a5f79cb343ce7a1dd069f13d836605da0356d418b84951dc734c6351fc675121a9 SHA512 0bc118672fc0505ed73f18f7f5f7e0f061dbc3ff28fd958c5c27e51e6da3e468b0f589905c9baba1d65791f2b1ef5cd0e37ba3f9cfa8008b601ee65c842e6417 -DIST firefox-124.0.2-pt-BR.xpi 605308 BLAKE2B e6afeb842a5d74059bd1a72da341e1a58ab38b98c1db90085011e8686b818cddcfcbcc630a7b41d2395739411e5ba93125961593637c1f1e9853385798d85253 SHA512 0a4e4a8db9ed4de3c331fae98d3a9d201ce5dc40f5ecb6f15fb6c569d6d9517d333631ab1518db18444d92577980344f163bafcaa1a5f1ad0cf6dfb3717f9704 -DIST firefox-124.0.2-pt-PT.xpi 611850 BLAKE2B c8c9865961915ac08c58e0b634480c9df91d7ab8cd282c303786a5489bf8e64f8e48216eabd06c398bb0872bda6d3c60a18a5eac264145d02635840072a74136 SHA512 5883d843a49fdba79596b1d160e290e886186dfe32f37e4e68a27e34ecb2387b6e83add2d514d9490fcffbfad117bad3f40ef78272073e60bd50f7fe8bf8b69d -DIST firefox-124.0.2-rm.xpi 598307 BLAKE2B 26bf7439a08dfa695d7aaa44e2590b4118a10732e4dc2b854390e42c829c5c8491ad606732d6f4aecdad83ba8aa58d2b2f9e5b8fb77ab1fd7f6e0270e5436e06 SHA512 523d03d710dce8fa65d7b70326cffab825cbe88b56d9f6cfc5365a50de700896df0edf1da196dc282c2ac2cfa9d15f8113e624da777683237aacab6f7c4bd08d -DIST firefox-124.0.2-ro.xpi 542510 BLAKE2B 5f1776fe56423c5f4d4a8ecad94f39b9b6253dce0a0bbb069724f83e44bf4ee1b2883b31c7d6ab33ac55f5858b9f336b5c98b3beed7c90b4f795ad0eb5debbc3 SHA512 8d96f4aef94a2e63cc7b00aed47a590fdab007a57c405451e9c9f14735c35e860903d50c2e790dc0f9a3175904818130632e5178f0ac176533a32908ecea0110 -DIST firefox-124.0.2-ru.xpi 701735 BLAKE2B d42653869c44df2fe3bb36eae1ba7d9c4707777cba4bd974b5597e789ba0226d8ea8bf1b0dee60e9ecc44b49bad07172286803a99bf77d9379f3104c4501fbf2 SHA512 be5cda4232abe402073d4f42d8e9c535d21c068428350c777e37876284db1609a155a3d3c10106023ede39433a044d8ef4aa91d2df0c07424f11df4fc11f4d79 -DIST firefox-124.0.2-sc.xpi 571500 BLAKE2B f42206e37bf137b58ba8d068b478339e68d3b9127d67e8700b6208a31429a2156087f363cd68baabaaf161a92c7e189f0befebc45e1b8bf4d5aea40b88c2402f SHA512 4ac5d53358de6ffc24feeaf0569f2e7d7658de987f29ac83f5ebd8a106b698bfb4ab37cf9174c24783d8f0b25184323d64fc37b6315ffd5671685eac8cc3e2aa -DIST firefox-124.0.2-sco.xpi 504482 BLAKE2B fc0651773c0ea9422533698f299d19e5d61e36cd285bf3178845a16d0a11adcb463666dce5aebe0a45e2cc16bc301391015498242bc072a90a22af2262c5861e SHA512 b5b22f3b70aab8c9a2b119bae1780c288f0f34e6eeec77d5995f61d1d376bbfb120a4a816f521ff648213e268991c0663914e79a6b1a55c65cc7dc8ec73ce298 -DIST firefox-124.0.2-si.xpi 598356 BLAKE2B 8ef22c49498e336c5d5037608e63b8e34d70319d2a2c25280e8ef492e88a934a4b1c09fe1192c010662ecbe632ac401f1fd9be9ecce38a2c44b62648b7bfff47 SHA512 2e63777dc1c58b8621af8eed0314123de5cf32b6d0203d245b175ddcfa7b543068e0d0e87170b1d3574f06567c55e3e6cdf6d64ec2e00d47e031a3f84c64ad96 -DIST firefox-124.0.2-sk.xpi 635463 BLAKE2B 987f6cac09f22c972172d2f4cfc421233013797bc5c56adbf2ff96ab128d7fd45200dcfc828a5838bad6d7acbc537451eb0e2ffe280795fcad1b8c7f38e34de6 SHA512 7cc091b49a9caaf0c0a9833c0d2064bb096c0c5c806c91e68b3b8284fb84764bc96b7de962b4ebd15d2a09f5ed239d65d9acb06b2d9a0322625e84807a7e8bb2 -DIST firefox-124.0.2-sl.xpi 601279 BLAKE2B 39926d54e0d014a3b86bba1cc0194fbd57dbebf2cb25edcaccf03edfd4a54e3c09643575589ac5045959c39b05455aa7e7583a3ca5175df8e7e6e40dec16106c SHA512 33d556a8a56db7586d431fa5282f63857bd2007929e387f188ff8ab5e9999eb5b9eea28a22ce115b079e88027a2634430f5fb9b36c85e0949676d6e8cf1a43d4 -DIST firefox-124.0.2-son.xpi 410250 BLAKE2B c568f5ef0e5063ade87d6101c74d1f44aac2091e0aebd17df040256a16aed461ff10f5ef4fe97b0b217eb8648dd21ec0c3e059f58a7652a4fa4e96430113c96d SHA512 3ffb78cc387557ca5b0f94e9328a413ebd6ed796453765f8edcfb86889b6d0d03ceff74f5083fb3bfb38f720a8d4922ce610f74892c8f34aeb25887e57c4dbd1 -DIST firefox-124.0.2-sq.xpi 620804 BLAKE2B 72d667be20837d46fd62b53bd0927a05c3bcfdcbfcb9b94f942e4ddab25be86af8ce9d67efee2ecc699a8b5a74d6d8e25d83c84e2627177e9e1dd80c98ddbf3c SHA512 8f00c7f63482c7f7e8b796d95691c079aef52dcaad8ba85671ef4f22838e477dad885a581b3dd68cb33eb393a5a3fe846779db773ccede1362fe17d5846ac721 -DIST firefox-124.0.2-sr.xpi 631737 BLAKE2B 2d1cd53855e1fb8b90036776f57fbd3fb3596a752d2a2fd0758d0a92fa5afa8173187feaa45a7b29aabcfda68b5a23d845e51b34f087862231bcd47879926107 SHA512 b6f993f5c39c24e0c40f64643c35fb7523e4b89cd8510a8574053af47593ebfd065dbeba444a5dec21691ea65d01f9f25c5b4fe26a07713d54d98b176fe5cf1a -DIST firefox-124.0.2-sv-SE.xpi 603117 BLAKE2B 03e079b48688b76fbe27ce1f735cc4b28d43a2957b1eab9abe987f671a8e3c785ddb293e1d06be450c2fc247ceabe83b6110ea9cec85261ee71186809e3e99d1 SHA512 25d7f79267ccba690aa75f7cebf7dcfea51dcd018541d600c04ac5dedef8f95d886fd34e1d891ff3c718d96666310e42b684d8cbbfa8292dd47fc8d4b6a8c5dd -DIST firefox-124.0.2-szl.xpi 519293 BLAKE2B 9cf82b4bf8ab10c64e7e58d6f666bf2878494b272ae6e7512d03820ab18f61849643767ce8a512a32738ecf0ce77dada713178bd5252c9e97cf211c68e39dbfc SHA512 98632ed7ff33bb063f6832c6b4f3a674da71500efed134eee22171bee64513ef72ca91ac7ca69ec3dd22405f3a6a0bfa25bab3deea0b488b1925a502f991a032 -DIST firefox-124.0.2-ta.xpi 500075 BLAKE2B 55e079cfd660f50c4cefea56e86bc70ea601b93405080b306cd6c1cc1565bc57b68a693ea0bcf78612740087b37f1c059c68962fc25d0be483769a88dbce4e64 SHA512 68b91d6e8dfa91cca90fecef8d82179a3611c9ab440ef2a0edb409fff1de6175ec11e8de096cb670838e3e9e2c2b18b152f2100c9958ddd76b5d21029dd031e6 -DIST firefox-124.0.2-te.xpi 551831 BLAKE2B 0498c6bd8f026a31d0518a18546183af98885ee9a753eb476e37b3707932e6db1348311131c4626a47d0121b9672d7667d16eb1be4a845a9b6333feec1f92330 SHA512 cfc46e4684d898c5615950b4414005517061b1a665ff2871001561e157d8e258e4aad56dacc93516b4bc6817cf6eeddac9279882705fbc8d95bef76010f90cbc -DIST firefox-124.0.2-th.xpi 677236 BLAKE2B 6c09109b2d39c511b54bd9974d6c37c49d019f63d456f38a306100ddd110fc123959b700466831d7abb2b9dd8cdbeb40919f266c1473aef8fff2424d2f476ee5 SHA512 09984d194a9366d71230e19f840d182c36ff6a2a26a3e5eeff46db1bf33dc3143e9f12127e393d16e45536eabc6e9b2526fbae8b134bda4ed0d871368003dfb4 -DIST firefox-124.0.2-tl.xpi 527127 BLAKE2B 608669d87474873ee56c4b9c4355920d0860491087269f7a5477f9c2d1b04c81a1124b191fba19fa55fff658fefb2e9765fc1bebdf91a1147240cef46ce132ff SHA512 5672cb540855ad20af7e36593df2b5a40e91c9c2ec3f12e1621d219639829bb035f8bae7b8931cd1ad70cc1dc71675d25da81ca62303696e196b152bce8565b9 -DIST firefox-124.0.2-tr.xpi 615930 BLAKE2B f0518f639ff634cd152d7dbe2fe50cba4836ae41cde177ddb8ef9235c1abb3b6edcd386cb517d4690743998283affceb19ba7d2244ed2d9b3ff95b7e86ba94ba SHA512 1f4f5cbea3a8b6aa3d8822caef4786c14bd681218f4c0dc9662e8c0e1115735c35126b5d9617e6c8a56cd52ba66ca3c7749d620b65ac5a927fc1e81730022d6f -DIST firefox-124.0.2-trs.xpi 497069 BLAKE2B 7c83db698dd4321c6ca9439a997dabb29df6aea45e2846dee78fb8844db638b23e060990af6a4a840c5a26c1da00c68634f3e0f2a7950393d0b0628ce695857c SHA512 c8b94354aef9119f6c273c1f631ce08d3dd332d35cf641483825fdaa7a716946fb969a97fd45e59f32cfdc52f81df7af5a68c4bd8cea20f93751662a3883fcfc -DIST firefox-124.0.2-uk.xpi 694223 BLAKE2B 31075fe5f36091d6b6ab0adcd2835061199b7cd9eac69408eba7c8037375650d146f659205d7c9cf577bccdea476ba0967f688bdd6f0cab736b407eee3feba24 SHA512 f6993359def2975f1a1a7ecb128fb6197afb322ba7e11a400c9e351d1a06ca1006eae7205b7ac36bd7fc2e5a63ecee534b416839788167ffe0ffb37d3b3b7857 -DIST firefox-124.0.2-ur.xpi 553210 BLAKE2B 48bfb22f5e76f34d38c5ad03ca41ead6f09fc9fa3d018588f36fd1aeb70ed9f10ef70b1fc10882d9d5f948e04970d9bf251623e3deb98ff281fb57cb512a81db SHA512 cdbb7739899be716f89ddb87ce5bc769b4434bcf4223b498caa821748d1a897246591f477ce34323edf35500e9f0f05d4f947d737101178f92737ef8247b8dea -DIST firefox-124.0.2-uz.xpi 472284 BLAKE2B 042a0f3c98fe2de648badb7b1011c6ff268efdd57ab63f39eac08e9ba59f4e7cc7532fe8b84bd6708e49b485e9921f3564d5386b6af3471da21daa2b1fd78e9d SHA512 77b3f6f18159e031f130dfdaf2c45e7c52c88435586bda9b49b9c7d177b79f335f03b39ef45df7a1a3bc7b5b9865739e3322647de457b67e33a7a8d4a7ab137c -DIST firefox-124.0.2-vi.xpi 638584 BLAKE2B 9b0818957b987ec56229834b46ced5d1279b4d90deb94a299e3bc5f4d10c9c685bf933b3200b44e9c9a43b49d2ba69eabe25571180b6888b15992be55fb81beb SHA512 efae644efa1b7dcae8c500afaf84ecc77738f14001230d7b7ce5248501a8258a1ce3dc4d00858a9cf71b37be1720ff785d03c3cf6fc1fc34a4f4db98bc2b4c0a -DIST firefox-124.0.2-xh.xpi 410993 BLAKE2B cd7436a833ea5672766a60441fd44ac8be56c402d354853dda5bf672b6aa1ac7a1c0785e1371fda3d14b9bef772c81455e3fde71fcfaa45072d459c33b251524 SHA512 2a102f27f3f2cc60db5ef778f61fd16c8e6b9faeaa6f92c928a67024b31680b50211f8016e4a5536ad6bb1148933af151b39708dad0b28425b14d20886636649 -DIST firefox-124.0.2-zh-CN.xpi 640173 BLAKE2B 981d6819da6600b28fd3fb10b7adc6fbd14607eac0ac718124ee4d5befbf139e140d731a87938e4d348b9aa258477e82b86ef66b07ed204790e9ce859d9befa1 SHA512 d659578ad68bcc0433ea6f03f272fbd9dd6292efda0a2d84a33b987858e54deca10a5bc1d8bd68c721bea258a57296fc93e29fb72fc9fa0286afe0ca65d364fd -DIST firefox-124.0.2-zh-TW.xpi 642118 BLAKE2B 56be8d7c6c780688b0160ec0bbab7258ee9d88b1087a0faf95b40f11dfd18acbf676eedecef7a9c45a5fe82d09f5f9a815ca69aab4a44fcbcadb81bb6909671e SHA512 5bc8540068fcdec6728d743f123db6a4d7936b63b1dbf1a669d1dc7745b9e9ba1512860408acb3adebb987cfbcda0ea8c23eb998bc3e056dee5799092a0a8fe5 -DIST firefox-124.0.2.source.tar.xz 555223648 BLAKE2B eaa35c3967514cb9f9ca48e32414bdecead3147a3d5ba8e9648be32f04b5d9e209ce71e02029851e1654c66d5cefd9a7b1a2a0fa68558a856c2ae3b1112d04d6 SHA512 8cf340de6e34812f8ae3363265859a263330af770d981c3dd1ca1e7e0cfe513604d3e68184d4aa1446569aefbdf359d561fbc200faf19a5ed020a1709d9ef10e DIST firefox-125-patches-01.tar.xz 16268 BLAKE2B c3c022c6cf4a08cbff908a5a30e90ac8304a94ffd50e1cb23c026c70d467aedb595837260219269340fb31033f18fca2abe429662292e39a996a4507f58e8308 SHA512 95ad5f78950548d020fca743822cd13b632f08252900d4d52bf3cd4019c16ed44fdb46a9fb9fdc2a0ffea76868eb13ac3ec3bff6a7d8cad724373a6a82a8449c -DIST firefox-125.0.1-ach.xpi 460887 BLAKE2B a913ba363cb5247fbb2c9dea479be40cb3f35f49c148211bd64d4e6c11fea171d1f1a120cad331a956dcbb7503db96f08cccb534da65ab044e49663013a11dc4 SHA512 75690d40034f978c0f634c69a6d4e0951b80ca1fd9d824d39c2d89a4dde5c84c8308388fc40398abf2478aeb25beae1ea1258f8ac3fa1a1739e63d361cc16fb8 -DIST firefox-125.0.1-af.xpi 414680 BLAKE2B 0d11aa6ee8d683e8d301f3e116b88ec963b0b354288f21ecaecb7ad1454b79bf84494dea138f85a59bbcb78fdd75e59eaa409715311bd7c65b2b38c6396308e1 SHA512 671c5d99ad4a37d7c674a00683a37db48d93738b050bf652a2cce265612efd00601deb018dc994df84d4831707c7c8dc8891db82a2d1d32b89bb4f76e28d7049 -DIST firefox-125.0.1-an.xpi 502779 BLAKE2B e39de73c29211d1e894fb2c74a71a2b3095df75acfd8f5976bf8d5b1919e22afdea6b4f1e635794af3de3383d48dde491c5ee47411b1d1b5169bd910e4aed747 SHA512 816bbb51a6cb64c3c09febe2f06a248c02297d2347d108b09a8e6e4e76fecfdb8e981b4e347cae446ec58a91069ff6d881c00b50e95c261383b5f6bb6da5671b -DIST firefox-125.0.1-ar.xpi 603588 BLAKE2B 2aebc42d07a9b3a3368cb2c6788e1726c83345b4664aa401cd747fe0a87689c4f7eac7095d2d75f26607de11a1f748bac3a632ad2257bc576aaec261f122f9ea SHA512 eaf3973e401efc45d72a14d186849943318a0c1e940331b4fde47c342df37ca01a563e5d9c8291ce39c2275b6d814b6715bb37452979afef8fe28e496d4d1ef3 -DIST firefox-125.0.1-ast.xpi 493041 BLAKE2B fd1b377a9d619599ddd6b626babbcb18c5a310cbbbc0ed45c84a282e4617c82cfe01d62579622415ed396bac5687f43163f12f9dc1070d8fdee31848d51b9ebd SHA512 2edcbb84e17523a11b46d920b0f815f49fd907412ae744628c3c74af244be25ab858ee6468810066a1a9537fc61199fc3fd49249611c57589d0f1f00fc652630 -DIST firefox-125.0.1-az.xpi 487517 BLAKE2B c75f8572887da2fa0312b6ac2257ae70c793d6268353aac0ab349262ef5b3aa80f2a23ad46342a4cfdad97144fa5065707e5a904a78b9d2e1e4b1e3e6c896063 SHA512 f5f76338ecb25f6d1facdb40cc6037ddd24e788609f9374bd1bc1a181546d13980844971e8de10cebf018d94c51c1b41fc64e473df174746300cca5c9506ede1 -DIST firefox-125.0.1-be.xpi 702925 BLAKE2B 04c0a694077208df50aa0830acc9553bfc103ed6fd1e09410a25a7b35aa9d37b15cb58517fbfb75554ce2827365412907af9a0d3471df4bacd7e9b0a04666641 SHA512 26daec37cc6aa9e62b1a3b90b7a13c7d461040182130296447494eaee10fc6c23693dc53999c38eb6e4974474e2b9ac501bc96360bc91ec06dd2cb6c0f7f074a -DIST firefox-125.0.1-bg.xpi 600536 BLAKE2B 9a205c90c9e15ca6fa5e63bc5c0524168be32986a3c3dc672b734a38415ac6993201263cb1f0d7272cc7931e8b290110e1739b457c2c6f33328618a99dec9a32 SHA512 3371be7a1ca871c3aaeaa120785f51846f0a2d8c76a6be61ce1f84d5fdc69d515b11d1d6eda40b90d8179d4a21af5db0089a7d4e4c5da41434f5285fc80e68da -DIST firefox-125.0.1-bn.xpi 578153 BLAKE2B 4010bc4b4008dd64b80e019254aa29d4c71ced2f2cfbc059ec2fc2470c5fe531cbfc30c24b701359a07ca7aaf49a7fdc50976c0f0a962a93692fba2a599ff5c6 SHA512 a0b582c67f4c1308f8cd77594ad8c139bd9c9d00183e33a81378d9d0cee1ed284a936601d2dbab22fa576a37fc91abb06b16b9a1b9b4fdb8e503fad98d5b78d4 -DIST firefox-125.0.1-br.xpi 583259 BLAKE2B e1e4fe325c66efe770dae67d4e2ec63337ef88bd0e6d011495d71d98fbbc5cb97b2d620c4e354663db8575be86b9cd6d866847d29788bccbe041fd4d6f8ea6cf SHA512 792e2957ba69a74c69c4ab013d990f623a8ae198fe0f1a40f740b1c55d5a495ddb9761008e7aaedf0e9a5a0c0639e9abe55c6d0d5457af7b2c182578775653f6 -DIST firefox-125.0.1-bs.xpi 472657 BLAKE2B 7024fa52f951b37917658075c1f4e849700d1da40b3ed9d226f41f8197aceb2d633e8aa8c7575df72a203b9e58a8b8afe48441c3ebafe9ead9a93e365d64f620 SHA512 2e639d5518b7c09ed1183c0895c2aee6dca9f8ed921dc01dee66b285c9a428437a7de3b7f0bc8282f1640960b0150200507e098ea989eb960b1528019e329a04 -DIST firefox-125.0.1-ca-valencia.xpi 542904 BLAKE2B 0e32b7d422f483945c5c09ed4ea1d1ec1a488bb896d06b170b69346fafce0544b498d39115c733394f41fbbf6910ce859bc7897b27cec8baa3f95c0e07beff20 SHA512 3e427d5fa954f006405ba1cf6c3ea842ba4843ddd8df690fd134709ad50180d25329deccf3af5e0739cbf92a530e33f3eaa81ce6d9cdf109016865c58828a9c3 -DIST firefox-125.0.1-ca.xpi 581610 BLAKE2B a269581b8f4ad2296df2e42c5bf3e217ff5f7e283a0ef8a58e3a00db183a9935f5a6d849f42f4d9641fb51cbab0d00d4b03a7abf5dfc141e9826b483a725d462 SHA512 8b4f741e2d5f66999ac6f61e82662d6f9e306fed92dc0a1542fce95badc017e15ee8a1e4af3da63273f15f20333c40897acba57b6bad607001abaeb702b0130c -DIST firefox-125.0.1-cak.xpi 589368 BLAKE2B c8653c3e064ccea5b44d0aa35274ddeede45f9e85ac22682b076581795c968a44886a458948bfb13211f6a784d3bad6569eeaeb2742469773a4d9c24e9698baa SHA512 3991571c240612087ee703cc3225309525ab87f14c673ff73a1169d207eba7ad9a32aa55b61e4f6ceef4214a7bb61e965b88886ba11ffc6e07a7042f8459d9b2 -DIST firefox-125.0.1-cs.xpi 647926 BLAKE2B c4ec4d30b331456c4f88621d9de1482b8c417108411ac2e9c238798d8b274ab0fcb442858561304f65f09da696ee652dba0fa718576ced8c511afc77762b96a9 SHA512 7b12978a446df6f6bf81e0b5466c3be31f5a731acf227b095d639dbd4e67fc9e982f0a2df165d6d5169a9e5c76ca8eb08a4c44253eb7ad1c474e53b446b7e5df -DIST firefox-125.0.1-cy.xpi 613446 BLAKE2B d1ed0b51fcfba73a30a81116a0800674019f019100f5b2ca47423233ccdf44fc333d338e47bdf1b6d6d890032f74c896a9d4ff6a9076d21a16313f3dcf1c8ddc SHA512 19450d700fc5432c50d9adb46351203a1efef2f67603c04956a326be947ae65edc41923a9a730416536a12ae5d6aff6eb34298d498d151eec76687e71b7c813a -DIST firefox-125.0.1-da.xpi 601720 BLAKE2B 8cff4f1f94d6dc9af1cdfcc04cd84ee7eed53ba8159bde6558700660718f38d0390386e6b588dbbdf0867372d242430df6e022cf1c24c785b6860bbcd0cd92f5 SHA512 2f240bcd31ebaa1a98e59bd6862efb73d5279f3a76c3bf887969025860e406255bead315a266106dcba02e989a3bb9c9787cc84b767e6316b23c7677d4a2303b -DIST firefox-125.0.1-de.xpi 622991 BLAKE2B 12fcb87f0336d2b09356a4addef2420eef7c8335b09ca23202c2d71e00aed49a6922f676f9fdde6629beb589c68b09cd52c1b8dcc0b99a35467d86cb261a3a30 SHA512 37c57e98e452a1d87e886cf50d59e1df0cdf0f54a3435a457561664c340540f686cb27a6484a91d7b617eee674ba722d7f8eb1ef8114ab1cfbe5117222e7e6fc -DIST firefox-125.0.1-dsb.xpi 639406 BLAKE2B f3f5fbf52830f6757b4744d89114f457796b98ed0c0567b0148dddb585c5b0a709060b900ce15d2f67cd60fc46b8b3e2434007c0cc3b07979c3b56f7ef4407e7 SHA512 62da847da462bc7b577ae5ef0979daa2c0936149cbe1d4659e3835a7af4ad92aa28f65ad6bde4d47343448be92416cfa16912515669ca99902714cb10cf094d8 -DIST firefox-125.0.1-el.xpi 720363 BLAKE2B 11908bc969b89311382add3017ca2e337ecff59a7d2f51389f78432aa809cf948467b54e8163e721f5e316a038454025c993d55ec21e14d5214211e5b8ae6f76 SHA512 bd9b5017683cba3964b8f5be991af15c2f21d91a1720c5aa2e0cadf973a9cc088b5431e052e5e35f87ab31ff18624a422f87d2dab226d8fd7d4905fd20529d4c -DIST firefox-125.0.1-en-CA.xpi 574330 BLAKE2B ff75374fc088d7d44228653ab07b493e0ba2e20304ac10ee89f129843d4d9f6b43652b7f789c0ac7587ac380b4ee539603d69d05fe251d88643965f7556346e4 SHA512 ebce5559b51c81970bf13c64d7eb5d7f21830816e28e9ce70c7749ec6ba5146e726d69cfce56fba94179acf65752f40b2ee094d3e7144996564c051444788fd9 -DIST firefox-125.0.1-en-GB.xpi 574947 BLAKE2B bd22b4f8fd97ad9fb2457af175dca6b81b90be63a87ba4aeca411e6e12525c6926216a0c7bfb9ff00917e0521565dc576a271c617f45fbe8736ffdd854c3519c SHA512 b35ddeeb9be0c6a9e185a2fb21942298284e305d3351d94f6f95d3aaff2a4142560a24ce9fdaef799f2891185527c40f29563d73cfffe2227fe9efbfa2af34d5 -DIST firefox-125.0.1-eo.xpi 603682 BLAKE2B 4f0b9a9ce93b5c02faf034d93d003f6003dd6d7309d943e5fd0b19a65869282b1f89251d98fa6594b4656cbf3df7d3b81bf5eece069b4b929290cea795883e62 SHA512 b5cc4b5763fa6432daa12f8715cf3e9346116a15dcdb969efe5cf041cf0be9d4187690121088cc4ceb3d9ea323d16c1395f2e9f8e518dfd6e4fe42ba477b2a4e -DIST firefox-125.0.1-es-AR.xpi 616951 BLAKE2B 4a6f7f94de8151433a557d97a8faeafd4b0009a6e887ffcfdf439601d10ed3969bedbe2c8f4252742d03f632259d98436e99b9f74253e7b785c6b2e30ae671a3 SHA512 c898c379af4a5409a3c717f6592205dac017dcfd5c718e6e95898e35e8cb6cd761d8ac3bcda7bd4b9b7e2b63f1887e690a3fd324d261e626054dbc04927d656d -DIST firefox-125.0.1-es-CL.xpi 616149 BLAKE2B 5ee8c975e8de263cc3112ac19a6a07bd537e5e889736b7f30d0d1e3900c27669157c4952090b945f017f98710eb65cfcb43a400c5cd351d1cbd4e1106ceb004d SHA512 1e3518cadd22c21cc2add90499da3756897f06fa7e2b70be8afb4524cd6a88169b6bef5606241ff451caaa3e426626df145a3b059355a66472491fb40658af77 -DIST firefox-125.0.1-es-ES.xpi 610881 BLAKE2B ded36da18b4a6f82d8b9dadf1e6ba07746715ac78a740b0df12af0f66abb8b312ed4027d53da22a00959e0dcea0609554b99b4d246467f08b8e0c2932b98feac SHA512 b206709e823c9c941a5d62ac9c4cfe6b167097d3da58bf9496bff5977a8c8693aa12aaa57b9e8fc8669fd4e8669bc1b6e0cc51bf4c2054c7c2f8c90cfb95f692 -DIST firefox-125.0.1-es-MX.xpi 588102 BLAKE2B 2931b35df33035cb70a8f43862198a91cbc667f04c619e0cd2fee342cdcffee9676afa3efcf1bdc12bcb31955de04ace8cdb54dc38d29f3c43f7599088cbf211 SHA512 0e9b2d407b0e450fdd30b86ad1b46b4c85a022cdd8d24618483f069cb72426b03c4fe9dd10e5d6b36a4a93598b0380ecf91d8805e0c239c7bf2d733e9887dbc7 -DIST firefox-125.0.1-et.xpi 536104 BLAKE2B 32d45c7681b1b18f0254a80d1a68c66c76d6d1bf63e4d1cfdaf995a4d2f8dd26f2cced21d3c8e08db9950b9ea8a5b0077fe1f0d783e9053d71016d8c19405c0b SHA512 2a366096c94f026d77044a3fa3016cb06fdba2ceee6670dbc72e9fc9d566b1e403158e7a700fdfc26c90f9174a46761400370248ad45557ba59b2bd77548541d -DIST firefox-125.0.1-eu.xpi 590743 BLAKE2B 13e28eb68ce978ca743b0e69248da18592d419fcf4f7bf8feb6fb541eb063b29ee1a5ee8182b05cce04528d4469282230721bdbba295b3637a04be3caf07ace9 SHA512 d087e0724a9797deb99430e8c08c0b267d997b6506d4afd8b94844f597ab21a212ccadef7dc2dd9239713434ad089b6074cd851ce7b4c773d5d77710a5b37520 -DIST firefox-125.0.1-fa.xpi 586594 BLAKE2B bd3b827d8a67b4d9589eea7683f1fa7e22647aa6b79e20dafa9ef5001f560461e3395f310f0d9fe017ac2dec4b0a5943df9b12bcf0b40f8550f3e33c0f070b57 SHA512 88d8852f53f52dcfb053e3991583cd20d51d63bd0924ca3ae035219fe7f632fd002f15cffa2d05edb17d0d1e62b210f3d3d3e055fb92c27c1bcfa82bbd567deb -DIST firefox-125.0.1-ff.xpi 472980 BLAKE2B ce94f0ce255d87f7c1eff807e4af17e93482d7187d0bf3ad8ba7725859bb92c5b58ab3da2d3f8335a746688e5a7c9cfa07c2497691a554f0c28dcc0a02700e6a SHA512 5b422d256daf751f69a37d6b7d38b0f86b692af9fd29474b2cbbc72d4c4cada253de77e5ba801bdaab98d4e2fcfc4d26818fed4b9fcdf79fb1cb0606ac247f5c -DIST firefox-125.0.1-fi.xpi 597110 BLAKE2B 482653dcfa285a1ca0a4716caa9b986996ece9e16cfe051dfedcf50a466386c8c29c673623ce801dc5e8f0c3301c98ec9150eab887c6bd91cb97c23ccf1b4c8d SHA512 fe99420f2895487ce09a28719e5622555078b343168240accd67486a42cb87bd774c60abacb2af58745534c42551e4eeb8becf6d71898cf20c57be6a9d25b789 -DIST firefox-125.0.1-fr.xpi 628600 BLAKE2B 375cfa89750cb872d8b767c7c7bf09fececebb75334c6d606968c24da5016b2e638fa0b88dbd34a2387e865336df935114716d499dca5633ae72c697ce4c1486 SHA512 347ddb4303f6a8328da79713ecf76a058a53bb721ae462d20be88425c84855427b901973fc5ff19f36ac49edfd0b0b70e66a71c6b3df3066a7cab8af4d4ca3fe -DIST firefox-125.0.1-fur.xpi 622701 BLAKE2B 648892e72fdb09d98179146b726341a430e96a876ac40ab3ba136652e0a7fe623a7f1205c0b37b2bb2d38b25dd84d788c9bf6f30842ee7495ebdf8f0bff3bad8 SHA512 0898c28026d33af60634b38196d92e3be0b829f768dbe89e3298bb207d8b957d276dc08c3f761733394360b54cc02cf2af64846ca7d34ab7fa76357f7075d5c6 -DIST firefox-125.0.1-fy-NL.xpi 612544 BLAKE2B c9b337ec1fe38edd5adac7d23acab3fba6739e31561171885c7a1253b4cbb2893a2bcb6756eb25a20aee11f6a1c82cad7c95b8c91ce40a365118b148f41dfc0c SHA512 7e92fe5cc99cfe3728c86575fe833bf0649b1846f16a73184985af496082fcfc8f8111832bcb8ef23b016c18a1d4cdb196c843eb92be20fc0d483ebc10f6db52 -DIST firefox-125.0.1-ga-IE.xpi 468139 BLAKE2B 15f50a67bb0d10656bf89de4e6f167985c0b8e49fe492c70417595de8058caf61b5a40a263ad25831e530f9e637bd160016918a808e7cd4128d784f2b4fd17ec SHA512 70d272b93c3d58b3d6b6a323577c017c2a48523d41b96a2e249385fbc8eada6b0b64b1cb4a6312f51ff457db7da282df0d99838f65043d2587c2d78718c49245 -DIST firefox-125.0.1-gd.xpi 587926 BLAKE2B ac92191e8d231e2f3f51a5134baaf0bf92e82ee5d671dbb3d5ede4ccf4920978a8e01ea2ab65fa1fbdd13ae6d3039ea7bc5aa2aa9832eaac0735bbaa4e620023 SHA512 98375a722f8791580fb2dd9e2193b9f57f67d85af14f190bec58dbc0a2e3e558f0ceb8003e735bf6fb587f68918dc1ce2a0a7606ec62134a45b2d919c27cd1e9 -DIST firefox-125.0.1-gl.xpi 600491 BLAKE2B 12ab649f84c6147acdba375c91f8ecf32bdb1100a4ebbfda1569afa3a91ebb7d6b3691d38488036ed1101f1240cc787161f89dcd74a18721784cd54bf349e39d SHA512 b1db600ef2b528e3c4206b949970602ee1bbfd1fee4fb885f6db93933b2c060cdbcacff7d17ed41a62ba1f4df386d03ced8e5c6ac3b09edab145d3a9ddf6f6fa -DIST firefox-125.0.1-gn.xpi 627335 BLAKE2B f794194e206b54c4e6ef3d98e9ac573f5b056339f6d8bd29bd084beb2e070e579304931af253c3c3bc916946ec644392800d1f2adfa1d6286e2f3d09dc25ae81 SHA512 67538525bd73abefbcbf16f4e8622db0389094b062db29b02dd91dab5f19c017f8884a9c52e179e26f66dd6336f755acdaf7e108d3db28b23aed6b37796a79fc -DIST firefox-125.0.1-gu-IN.xpi 524056 BLAKE2B b19a12a47bc4dd751e2c4a6e8a0b5ddc6045a243efbafd974904fca75fbd35c24d7f2b0dd682d195b90c41c1b0f2a5d50bdbbbb15a27063b558a7c76937a0a6f SHA512 0695d4bf5e07d799cd75136fe002f727abd730b3dc20587ad596831e0b14ef1df4acaef61ecb88d203d7a2ed8baa2f7e44873985ca6f2737724f328f37abab54 -DIST firefox-125.0.1-he.xpi 621328 BLAKE2B 65f2e90b0113a9bc5b215ecee323bd3de2154f164faf87efcb221a24d6e58cbedd9568a46847c1ccd5ef684906aa6c4e81baa88c343fd8737a430b7922bb3d10 SHA512 ae36d202eb4b0d965153cada7c20203e131589bec71d4c4596aeb155d8044f9062dcfdadea6b4c1f457b8c1aa8c9999c5c09de205dbb5b19b07008c78610583d -DIST firefox-125.0.1-hi-IN.xpi 562172 BLAKE2B 26e9ce03550e037fdfdaca0ea5c50d1dfd86e937d2c218ef426e4630368a92c387707618bf148d3b8100dc2145972f072655f2e752fd87f62d0c1a592b7dffaa SHA512 8432809c03e68ab4ac477cbb9e776a217f3967555b3d34989dd6865c11afb0eaf3c9a37fb01be78777f7ba3cfc0d1ececc681f0935edcd9ee00e5627a6d881bf -DIST firefox-125.0.1-hr.xpi 553375 BLAKE2B 2c389548403ef8c2511f855a13494c2f597f709873a16124c283deac70ba95260e80ba3214e2efc7a51c23e5e6be1e3b2f555f49545cbb2635710b65a8b426cc SHA512 820a324768a1f6577786199d280077c8caaf934f06e94e819861e0e70f25eb7f0e282105df9992ddcb5aad84ae085efe67d5b069054a7063ea4eba0cbc183f5d -DIST firefox-125.0.1-hsb.xpi 635468 BLAKE2B f48afedcd79c0d1ea1c091e127c294333c4c2c333bde64cc45a4496b3abd3752367d9b465fe83715db35766d0c98fee6f390ef82542485a53009d6abc70ddd6d SHA512 9f8812800b1efa79d18116ecf890a676f77337c1cea32e37b348bb009dec0a8050f42080a4195812300f25ff60207a28567c2b107a83e399a5fe33efa9b66f3f -DIST firefox-125.0.1-hu.xpi 638699 BLAKE2B e031d221e0866aeb8775d1883c7d7cc4420fbbf94fb8aec357e5bc0f92c41a0f8ca4eb7264f8d3a093148694eed98e25cdbd351394ea10a3edfe00dd2bbde02c SHA512 c2a075ba2c015c77225e79967750bfec0f8c6c3a3e66a5cf45780b11601b3bccaef61f82d01b82b95982e8a2ca420c7dc7c964ce0f20eb64d98b2d2ee56da048 -DIST firefox-125.0.1-hy-AM.xpi 615229 BLAKE2B 13a60e9dd9c2a4a6da8190527be5f5e4d518943ae8a778d5e2740fbd918ee5ac760ceffc82cfc3a66060418baf9d74adf893d426a4a966b59e751614c4aa077a SHA512 03ce01ade8ad1ea34c8bafd8af205c3e4d766e13fb2c12f367d0fdf7180814a3854beab55794b663dffc94864c338ddfcb03b6b1c04e80adadbc5377b05cd1a2 -DIST firefox-125.0.1-ia.xpi 598620 BLAKE2B 5ff1f7f9617924f505b5b32cc00272f6a7167e6e9ce070fdd5afc8e2c426628210edef7946e9216947ccd6ee46a03c4857672c54cf6fba3d5e3a0f6a592366aa SHA512 3cf868e30cf5db5f9435cebc41307cc90bb46fcf078947655670ec32e1daf9a17074c1a9421817cd372c20e4fad4b955e3bd4e47788307588ea92c0b968a4906 -DIST firefox-125.0.1-id.xpi 570672 BLAKE2B f1d556a488b9beefd620cdc0c5c79440114511b4fe4cbbec80c9feb76cbd236bc659db2ecfa39b41b502487279ec70d979beb0f891047ccbb8b0134085dee52a SHA512 85f15bc38e793eb31a2891ae03458d377fd5474f0b7c51a2fe2df0d69a7cea7c81e06350093251a7a231f2b968738861682ce8175c8af768125c1509ea743bf2 -DIST firefox-125.0.1-is.xpi 606633 BLAKE2B f04fc014037eecb3db2f1a3428cedc39eefcac7523fb5d9b515d654626f9b3ab564cec4da8674c7652ac77381ceccd6601b4444ffcb75a7ee17e0c4dc3fed35a SHA512 7fe06fb1efd07b6f0f0a0b029924ce8cefb79e735e9c2dd7b6620254c37929d472eea30b1112d3792ee2a8a766c9dd6343e93644c1cab73718e6f4a7dc3715c7 -DIST firefox-125.0.1-it.xpi 557447 BLAKE2B b226339685e6e8bb8a22757daa0232e1e200431e16df826b21a59bd8d7312e7441e140b91342cf4a9a5f38cafcdb2c08ba0dc3e42285d85240bc061ccdcee0ee SHA512 c2a0ea18137f0270d8027f744262066b3873255551cd4872d7f5a1d7ac1a06a506bb3a3813d2731edcf374d7094d802b96bb217c59cfe4381af27f9a6d74286b -DIST firefox-125.0.1-ja.xpi 668140 BLAKE2B c8e0935d9999adc03460fa04f4e98f90fa952b3ebfa5f7ea18fab4a6837ce78c04069980eb3d9a6994b3029cd63ca6237ca10ee56fe721821826d8e4afca7bba SHA512 746b21b72eb80ccab673f6c463d61f7eb308aa272db50d08864c7b9589559d9ead4ef225a5e50a7dc4f68c743512260c0e054550e952db76983b230b7354a778 -DIST firefox-125.0.1-ka.xpi 657026 BLAKE2B 1eecef3c13fb2bac30522b24e9e25561245470073856e2c4733a5754de8f5fe8dd9962cfd4ea506ff250c62acf3b6e39bf2a290027a4a5d5985bc2283eb20c7c SHA512 2057daf7487992e3053e1741051226355c9555e00d11116bc29d76d0d6fa9c61acabf5ce995329f96d9b5af4d845a9e2ca11672b58b7a4a1f39fdf5571617904 -DIST firefox-125.0.1-kab.xpi 598288 BLAKE2B 1359ad11d164b8cf838afba397643c268a04827a65f21bd06eaa384859f635430a63b445cafc449340249a720382059278e1a95586a5fdb28096f7c046267751 SHA512 025d3a5b01f1504a521d6bb162c5ecea146ea4804ec971b4de5367a2acd07ed8dc979b3c7537520e2b91a9a89d5db4188cf05bfee4415f3e3fd8e9a6ee2e50ff -DIST firefox-125.0.1-kk.xpi 695566 BLAKE2B c4d32f8430cdf4da3e9b415cc634ddf8c30c0b0f8cc42640a0396ad871327c4c1ca27368eae558afa3a15e4c3996ba3871871afd3f7ff54bface45a269f139d6 SHA512 f960e0651af71c31bf0813519a1d1fb08142eeb332e8dc7f70eedb98ca439f87e4d0229745d7462b75ec5d32d0a545d5936eb9769976bc249337f2809839626d -DIST firefox-125.0.1-km.xpi 522566 BLAKE2B ebe133a410b1d2c89acf584bf8ae801f55efcaba8e66859a90dadfb22dd3f7a883d403c453f23146089da93ed7026466a9a53548ded0b304cf98e539fc213b18 SHA512 8167a8e606915272c31628781ae535bcf7b9cdfb4b204fe4363ac4360712d428d349fc97bd29f8d187eb9756c1e90b2a80467707c041f266c0d3352c37bffc49 -DIST firefox-125.0.1-kn.xpi 488072 BLAKE2B 500eb82b412ece6cd5d7a1bd11f49e4c3c71386d5419d3d749c3d54417e95b93f24ff862e7f23184948980d8c86a7884a037860eb01cbcc7ed45dd5cbfa62f05 SHA512 76e8a0ec44e1f85698119048d9c45fb3f1f725692a93b28f06029e956268cb68a831c2a17125ffe5a656747f537cdad0b4404de5c2845d54a05c379ca103fcc2 -DIST firefox-125.0.1-ko.xpi 650094 BLAKE2B e02a65dcfa1f182a99487a481da714203c47c3616dfc434c78c4f365cd3e61b344cc436d1e2258fb91c8b1ab1889f515c1d1b2a8c9f0468c8681dd001a463dac SHA512 53d90f3cf00426f70162e5a674c0a5e903bcd3cad5d344d3f8d6ce92af54f3268d0e0ed87766a37cfdd2f102dd0d2b5a6253a1758f69dd732afe3f0c58f1cbb8 -DIST firefox-125.0.1-lij.xpi 480897 BLAKE2B 0278b714fa932457c3f8cad76200fe0bc9cbac46ee879d1b163001a1d81c44f1da53564e1793d88d1ef6bd3e22a31af747f20605ebcce51f52f497baab7bd16e SHA512 a965d27221702e2a51abb7f83fb43e93a790552627ed09518965f62470c1fde538a31c0a0f9ca124b060a3920de8e8312da11d8c3f3adb366afcaf8a5ecf9a9b -DIST firefox-125.0.1-lt.xpi 569233 BLAKE2B 16c40e396f770c7b46fec05f58d948fead494f85f6027c3d1d0e2e3effe2849b6ea7212d7aba2a4f7695361fa885a79c921c1a6951481fc32f441f652de72f72 SHA512 fdc914ef78b1198aff0fb0f416b3a3624f44e2a87bbaf0e5636d139119a1aa43ce0e1b1dfbd25d9ad6be4742df580ab1dc62a5c7b7ae04f69a34f38b7cfc6d4a -DIST firefox-125.0.1-lv.xpi 564980 BLAKE2B 00f3214039b1893f4bd89d562c808aedf2717a13a4a5bb5c1177389403896580f8a904e1d9e6265e052eacc832d4d2691dcc8ce7a1702dffcfea23caae99de7d SHA512 20dbb02bb09434d0fcc4ef794ebed5621a28aa665cfc3d2d603916faf451c9a61e85bedec318e0b91cdb500c1bdc9d730681a251266ac165070e98d3da30c6de -DIST firefox-125.0.1-mk.xpi 490012 BLAKE2B d25545abda01326f7ed80f076a1451e9d01493915c1a6cb65bb8bc994217712fca3bd0d93e95a44f12fceb906931664f063b81e3159ca2d253f266fdefc78d2e SHA512 706faf3fc044b911aa9321f0d12f5f0a6995b65317ad2cd3dca11b3f5c902d47cee43477f492973918002e7aa9ab2caabe791d785a2ba3e7524762e2e4370d42 -DIST firefox-125.0.1-mr.xpi 528859 BLAKE2B c36328dc63e5ec436c05687aab1a35a0bc7513412c8ca340c9063258adeadfc04dd85e58e8a01c7161e5f429aab970a1bdae62e696a7e873a98969ba298d5859 SHA512 ba4afa6dc46439a26e590acedf7bcbbbce67f00b4b722c3fff72ce0cb21c6d1045f3579539a62a58a9c3373d31364fcf7860e179869f4c01e485be2884fa9cfe -DIST firefox-125.0.1-ms.xpi 446535 BLAKE2B 5d2462fa8879af9a7d45100717800509d0eb591ae711ac9685b302c4cdae0058371cc33100622b862bfda6f4ea4e4c54411c2e94d7bfecc70b24a786547a96a5 SHA512 f6d76f80c7ac03b62c428cab8553b0ab0905fbb06850122908d0f42f4d7f72c129af66d3eca9232a47d38fd4aefa1bccee76238f2eb8ce5504a0e0c114323737 -DIST firefox-125.0.1-my.xpi 515535 BLAKE2B 6d8850b952b206a01915665f9bddc0a5f71053d4441371b329d1f95af6606c21361ffe84139ec2e98ea2bbe772b8d596c39e0c5a9dbe64dc49cea1f9c05d9f95 SHA512 041c4cca306a1546459e5dd5cf9dec63ae2d95b9fe930c863747a22889f553165c64b9c300f033c412c82bba3cb503ad88a37eeb3bcc82af087261d95824474f -DIST firefox-125.0.1-nb-NO.xpi 595777 BLAKE2B 891e50efbc7b04f3691f866328992cbb46bc3302321e1e5f9c786fb5aae4fcaa3e446aa4fb97cd62273e05fc238526407bdcad83da248605646250ba425070e9 SHA512 54fa81113d243073cb498fc659c26634f3412426450192176229a2a5483cb8d7b35394c67587d3d074949ade61939a237c647f7e62da06fd27e20d0368ffb06d -DIST firefox-125.0.1-ne-NP.xpi 494581 BLAKE2B a976caf916c2a33d2dc163213786bbc6818786c2a1de0a9b804479ccc48a8cfd483eb1dc404a8e756e6d9b49db21ae8557b1061414a75910e290a6d5d85adac4 SHA512 bebf5bbecbca6a98f143367b6022fff60171bc6f781e8a4d31318bf6af15680549727a6ffdbd8be5108f4a85c344acd55b02c28c0aa2cff47d1b0027e17b77cc -DIST firefox-125.0.1-nl.xpi 606357 BLAKE2B 953823bfe0064cef4b40bab96a134328b6bb04c0adc5f86288b048173c00c6564fe239ad5db12eebc0980b0ea0fbff67c204ec94ce9fed012ec2fdcb9541a0ab SHA512 c90614a686c0419dcf68d3a69c313556df0d73a560c1beb465e2d8de768a16c4af863ae8823465683204d2e8303cf5d489608d3e348414b4404b7ab1fb18f76f -DIST firefox-125.0.1-nn-NO.xpi 591638 BLAKE2B 017c9abdacd36d9a044a5f354b91bf9a48f9c4ca1542ed5dc5bfdbf1bacc905912184cf832d1608260a9775a3bea8a45cc8531fc678f9aa434532d6a26e44804 SHA512 59e59672059754c01f1bdfd4e68b106fa4592af0400b7b8d4cfc48a5003328a72d3296eff2bb4f1fce1325b51fc8b5cb41a9d6a57ce74fdb286ed484eb5a4dd3 -DIST firefox-125.0.1-oc.xpi 606786 BLAKE2B bb82832201bcf2db7522343cbf23655f7da5bb44c7297d3436167bf34c70efe8f63f8bf0a99df0911c1dd38fdbd3428c2dee6ad92048ae168ea6a8110ca85661 SHA512 64935b19a18f19d7d9059dd99f0204e6a65c3a2abc4d7415727d45e4a657252804c1c5aa38e33fff0854655c7c45e243db6232811083206a10ae4d6d99f87d45 -DIST firefox-125.0.1-pa-IN.xpi 679000 BLAKE2B c89a47282c5aed06ddca1a1e0474fee67627ccc0aaa04f721fa50080ee9d73c3af2733fddc8d957279528ad096d90c441fd9cef4d460eaa02cc497c996afe019 SHA512 a29879c03b10c47580ea3273d8694d05d084f819ded523afd046c1ca34b4a69fff8a42d6967cc51a71adf4fbf340d008821340c0be9f2a700c084e2e1e4e8dcd -DIST firefox-125.0.1-pl.xpi 626580 BLAKE2B 1a0ac22ddaf672ee52fed9ab5035398195bcdd2509217e3e92e039cb9186f0811f98aced53236535990faad0aeb22ea7d2ffa1b70840d28fb6de5b58ba436d49 SHA512 d77f90d441bf59fea1fa51a1655164d3945c4b59d7f8d6e25ba89a8b87b1edd19ca169e63928f2c4f48d9289153a7ccc26a7891e70eaf7e500a4ff47d814860e -DIST firefox-125.0.1-pt-BR.xpi 611067 BLAKE2B b59fc2ed84658f9bacf5bb51f02c27eb10c20d265e865750302571332ae5dca824dd9a94f93a888fe4a7f5a18daa537478c3957abef8dba1570b82d03e1e9d57 SHA512 356f4d363cdeafecdcdbc5832cec959a913401d08dcba9b2cc1d6df1020e47f77f99545c5a0ecfc7d039ed5484130b75ed5ab7a81b85fbbdd4641096498bd327 -DIST firefox-125.0.1-pt-PT.xpi 617156 BLAKE2B 74654a900f0b9eb27b6a039f328e3ec6dc47a511f0cf562933c49d38875fda6475afc50fb672146c26b8dd1c773c85b966c4440a2ca83577f441873d73f63f9f SHA512 a18e605c6732976ee9c7d3b371b9dc129ca5fbb0cc769aa09bc71ee0e218317b766eae5bc007e35603775b0abdb964870ace81ebc39e145b9270f48075d31a1f -DIST firefox-125.0.1-rm.xpi 605676 BLAKE2B 1a69af26ea266c9f9aca596878300b457a4a2a516a2b6ab269c154f5d838c2bb53ba3e67885777fd54c576e5499e331c90fa403f963c22570d17a8e6c773ab80 SHA512 cc6b612f9a7286323f949b7054ec64a71ec15aa488f4fd1522cb324f3c2552ed8ee32114dd5150f9f5a81bf8391d47aa6c7c7bbf5c6d524855e42cc61dde99d6 -DIST firefox-125.0.1-ro.xpi 546375 BLAKE2B 921901f5df9f5ecb2e2655fe8b76b9a99ca51863d90e7da07628e3ed2cb7baf5a1027c4506040fb2c402a414e2da0a844a109d1e0221523c089a7a4311b36f1d SHA512 66708942d15a538f952cf3913d7b0d4bf6809b26777bfc260311cdb31ccc99173d484beaf71d6d055f4d9a1e37d8188062bd1c1816d5c5d78e881deb42551c84 -DIST firefox-125.0.1-ru.xpi 707741 BLAKE2B d23574875494993f84c9563a5c4e6253f6ff35ff43a2cce96921d1ab68dda9ac44031e750a12e63ecbaf7808ad0613976be1153a91a0c11ef91274598bfef1c7 SHA512 01805d4ddc536ee6863e9b4400ba35d9a82a618f376a8d79022dca92bff3e4bf8bb38d7ce4f319a4f3ba638e8aca9b8167261db9fc66fe6582c452733bcb5deb -DIST firefox-125.0.1-sc.xpi 575327 BLAKE2B fee50050eede96ee428401fec90f191bb5dc64e205b62664b6b42e7ca8a8e9e39a2ab8ffa222ed2ceee61b4de7650578fa238f612e41fe21df70a4aea6edca1f SHA512 079b9c141cb8833bb6a16f6d0063c8420415acc5d6c7fc4c48d9c1e281c81858a3e34acc14101caebc233b86f7db505e2956c246d581447a20cc699dd43ed27d -DIST firefox-125.0.1-sco.xpi 507982 BLAKE2B 9429a3c642538a3d3cfd1dad34a176c046e1df0719ec2de1c20582e16d03f10b46f46c3cf48422ea7a238401631d41ee590accf6c72a2b71c7a93e519152d0a4 SHA512 bba3eb47916c951bd8962e453143410b17cf9befdc44c20e473259d09dbb8d08dd8687fbc4297143b2f6cf5e35d33ad1df4133c4d228b500ab1dd52e6f4d8596 -DIST firefox-125.0.1-si.xpi 602488 BLAKE2B 252cb9876d1e70580e385462cd447e37127fb6dfea3291ed39519c323d6a76b811228e1360ace745a63611b49da75cc21b259112f5177274bc43d3228e8bf1f4 SHA512 d3c10d083ebced33b77cf44c46e785af5c25ee9aed56661b3d73f816bb4d734b62cdb145c9f60167d5c80ddba04c7cd40c781e81a437e8702fe1d5ba0e3667f7 -DIST firefox-125.0.1-sk.xpi 640883 BLAKE2B 7d0af03cba1a999b608b8e623579b1c4a0fda6d2f795e0946d905917002353f947b5d227243335dc28a59c591b4b32f4fbd0404628ffecd7a7f01bf670a9fe45 SHA512 f8e6e5d5a3f615c081892c18d8fe0a31bb767d5fa2a7b02c8ad91788e6961e92c70cebdfff194c2c3bb2603a3a5ca52f178ed296d9f24e12ca02f664477f7cd3 -DIST firefox-125.0.1-sl.xpi 606609 BLAKE2B 51b632d4f0181a789da93a135d2ff329c44e2f561253868928c7a4b8d830f49193029df87e44e99320fb8b00332fff53e1c9906ce205998a92cb75333d5589e6 SHA512 5965a45288d3c5dca4b865a0b8efa0c6284f99605f17fb5ffe6ab486cc894c66043746ec77f3e967b0d4d146ca1faa3ab61cc5bea9d5b97d297359bc49e50c6a -DIST firefox-125.0.1-son.xpi 413592 BLAKE2B e7b2c689a3e71e25bf0d318ccbfa95684744a2d172575e9e6d274b579719dbe89c4cdb0819482984ff24a69cf006a24841aa064597b7ad35a13cb33927387cee SHA512 818e2b531f4674ae25d14a2f375af97be84a2c477f45fcbf740ace9788c6000ccdc12611f95a1f2227a8a84818afd3ffad3c9a402b5816355fc1ac7d6ff38bf6 -DIST firefox-125.0.1-sq.xpi 625801 BLAKE2B b5ce6c07f16bac8754bbdf6e82ee1ebd19c28170ed5d7ae282257a324bf7859be307836b1432ff70381834856c7c39e0157eeef9e69e661f9f0c9377ae0c234a SHA512 91fe8403b9e3f6afad49b7bbf6a9c2d020f471675c8861d89273ebd1fd9922e10420a1b577cfc5b6a8858a92a3d2f1ec878ba201432b6c9737f183332cd2a62f -DIST firefox-125.0.1-sr.xpi 635841 BLAKE2B 2b0216addbcb129cc72e0a18f71600bb5deddc6580ef521a66e39bc796fc51140313c15c54b4e708c4e330e509872abbf8c5981d78765c8585a360619beeab9c SHA512 7cc17db38f1682bf260153852822c3a3015e159d90d5d956fde7c81134a9c065cd4fa5ef4ffec509023783a520903e867d8511a38437a2ae2d425a6f9aec2361 -DIST firefox-125.0.1-sv-SE.xpi 608293 BLAKE2B 459fadfc5e22a5d4662e14d10af0d0d21067981bc772c86ba1ec773d4f28c8bc763828aebad858b54a50328f29a28e8a75414ba0fd5e4345e56b68f02958c9cf SHA512 ed7f63bf3450bd94e1314c8c60219609774098dee0e1c712ef1d6e5ec4ae5a86d0e8d04be0c0b297e9de8fb6abb89dd44dd4266fff2af4727e4c2882d9569d33 -DIST firefox-125.0.1-szl.xpi 522966 BLAKE2B d44813478df3ae5d383f515fd73d87d671de4cd84ddf9fea4c3f654912d888188d18a6bee39c2b535acd42d8a04d0adeb494817bad3e032106ee5c319ced8f54 SHA512 d9208d9b75efab524026624d279873bacba9eb1b56713632e2372f8f686ad29b8dd201f5e9ee2cd37c4b0b43582230a8d3fb9140f4ebf8b2856fadef2751e382 -DIST firefox-125.0.1-ta.xpi 504351 BLAKE2B 71ac9e0ed62a6888140542fff772387e68f24fec5bb9fac26ee36161512bc4d321c56aad197b3ed4f5faa94b4526551852c02082a705d34417a945f4246c0b09 SHA512 c1e6cb541b9bfd7ed340711e377278b8a8219c8c460262124705fa3a47551f581a6640eb785ee6ce298e4ecdb22a0964533e14a35bd112583ec942e4daab8c09 -DIST firefox-125.0.1-te.xpi 555762 BLAKE2B 27165f87c64347c119dba2341e484a63f1cd66906570b00b5eb07d0b3f0408af669ccd6152e8edbb523dade06d12dd3c9c5f32d3d78944944a6ecbe59cb46050 SHA512 78847b07edfc09a5aa3fc7d17acc3607ce33bde3620f55733438c23c2d86baa9948e0844e7f5542b449b89da1581d96b49de5a876eacd2f69cb7cff8a9cd22e2 -DIST firefox-125.0.1-th.xpi 685321 BLAKE2B 26cafe81618d9abb347e011fa6fd755e45cc78e563bd3a6d715d2135650a7f65efd04ad8c3b006802bebf2356d58abb966446bec764071d1de6f7c20508e8864 SHA512 11f27eb365e8dae0e4691ef4c2255cfe4b49ac6dd5eb32ac91961944ef21f73bbac042c6c2d8606f32eeefe620648d7dd20b900883976679ccfb38387e569dd8 -DIST firefox-125.0.1-tl.xpi 530819 BLAKE2B bef20fc30aabf9ae162683f4498d4244a8a182a841f067ed527b1d9c38db8df4ffb5615992324f3bed15934c91672bd277379dba881f574856828d0ac32e11d6 SHA512 6065b207b12aa83bbaf705945c211b360d8550795aab0a956049901696401ef9aaf90e4a055b4f7e43ddc07a312e4d01072171475b8b77aefbd5f5a127418e6b -DIST firefox-125.0.1-tr.xpi 621046 BLAKE2B 8cf175eb18bb43c4ed440f57ace11f99cd0c25e5e8fe8c5d1f4cfdc559095241e711e0d76a35b73038af7b924e849663e30d17a9a480adc2955dfb464d2d3ffd SHA512 ed5a2e1366b757f6341c46760f006f8eb65f5fd0e438ece8486c9f12cab12f8fdce7c2a02ba213a0c23056a1276723116879dfde86a14e94ed15e5e5936ed08b -DIST firefox-125.0.1-trs.xpi 500780 BLAKE2B 526b6cedf898c99a7ce9cdd0de805ce1e1b70dea5fb549dbaec93964b7154e9a72c6a71c95554e4f8bf911874578a85a1a283a1ad26d75f1d2e1e626cc09c353 SHA512 8fe9925d9d63ec33f422f11079070fd9fb7a0f569bd8b6f3dfbae67a0435b2310dff7d237b8e18352eda8a3c55645da44570ea36cce5cec68b7ef46ebdd7cc9b -DIST firefox-125.0.1-uk.xpi 700075 BLAKE2B ff840dfd6462a532f41891b474562f3a094cdf51b00872de3e61fd3fae11ff221b3d6c3edfdb37308e12a498f016e04a010e9533a882147c86b223262cfdd882 SHA512 f340f1441e689d77c54b285a6d89ac7e49cacf7514fe1ed7a47f92da9e8d6961cef0aebbf97bc38e1078a5e99223c74ece9a92b154f70ded3d28d704384295f6 -DIST firefox-125.0.1-ur.xpi 557251 BLAKE2B 0a8e1721455e391a23441f171cbd6b6617e9823b4926f754c1bb47f225bc0e8027a94b7784efe8be38e61e35176c34e463a6006fd7232251c6cbbd3bcdcb88d0 SHA512 7544bbb9e54dedcfd956eb7f42aa312a8595f345efde59a926bfe5bcf4d636bd7d29e2b28ffa9228ef398f13b2d1e64955e0c1116f258d287d6d170b8a05292b -DIST firefox-125.0.1-uz.xpi 475755 BLAKE2B c74b05c830b1ba4d2f2307b24dbb4db1c264e33fea3f8488c1c28b84fd8f9fbced1f6c1f5b6148ddac7d6eda39f3dc66b2a5dda240ce3237fece816f87e73e71 SHA512 dfbcf44f057bef5f0771217cd2269597d1783bc951b7b8a934601034e38bb98f9b217004f6aba10fab1c956d41596dd33a09d4b38c70ec1b63e20f99191e3c68 -DIST firefox-125.0.1-vi.xpi 645249 BLAKE2B 97ea0b6d646708352c61f0daad3798fda8ebceb7a56172f0f7d9d4cf78efb448e1a7e033306a3466ff4d65318b09f86836e3cc0bb9597f0e67c68a3f8306e450 SHA512 9055b36cbe4f7ae7a015042c310b8117d1d12bfdcc076afe1ebbf9a312cee6143506462e234f99f68dc6cf9ca15e3fb3a7e5e12f1936e178456a2118213fd9b1 -DIST firefox-125.0.1-xh.xpi 414339 BLAKE2B 4f5d61a63cc8e8ce8e10cd65ad0e9183a320131e01289783505e1843c8eb72f45716e61cb1c432f8255d4cfa9f6075560fa3a83bc70bfd8ccbd1e7264ab949f4 SHA512 f112727e43f84634e0c0488480e7bd95f88b1a7141b0d23a98decf6542e1b4a92432906073b1f3091266c41d583f1f95f7fb2bcb6294bb0e0aa79d86429d8103 -DIST firefox-125.0.1-zh-CN.xpi 645742 BLAKE2B 755fb1abb57b3e38d1ddea69a72b6cb0eecaff98bafc46555c449d9d60a3db30135d1b6a37c23da5d02c16f2e993a5d1358594cc3941d7371438c7e40e045059 SHA512 bb12d80156938fd03b90c4dc0b30c944913c4c60bd697b97d9adef0c74f48531c793010f84680127b9c8685eeb8194ab12fb1d495d52d8e49c3c843a3576b6c4 -DIST firefox-125.0.1-zh-TW.xpi 647637 BLAKE2B 036b026687d33217b854438da76df09ac2fdd94d4504ad9f9334650e453b96e8122c139f598a526798e3291ceea813b63ecbb05b1e57503507ad4ffae9c996ab SHA512 10c395063dc7b0d0633cade6571ed5abe7388932b5b8c05297efbce2ad98652a0314823865f486cfe019f8885ac0f6afd0149d0752bf63fb5f8f626824441d35 -DIST firefox-125.0.1.source.tar.xz 553213768 BLAKE2B 5b29fd638903617c5bd0716b304ae2d96390264f4fafda8a31698c25438635e865a34221d0e11b440c38f34095bbae0a322694870e09885f4acababf944bb338 SHA512 6f2f336de8b0ec9cb19ba20c909407b7b88c0319ee3b2f1f3429133516b0c45b4c7846f287985a0cdb9f34acc7d5378ed14fb48e26bef113c8ac360501a30c4d DIST firefox-125.0.2-ach.xpi 460866 BLAKE2B f1a1036a9d17c16c81b9e2b8250e61c964a9d8016ca3d7a6fe24859c203b3cffe269389b53bc99b6c9c94bda107f7d74a918669c360d723b984002ce38c686ac SHA512 805f130d05e829422e930180cf7bd0268eef9d3fe7021b679b5be8fed5f6dc40ccd8bb4df3da2bafcd15835598921537c0024e7a184d65a614e5da698dc0b8ec DIST firefox-125.0.2-af.xpi 414694 BLAKE2B 84ffa576949252520e8cf9e3c80c34fa135fdc8f0f39b2e42edf6189141ed5ffc6ad488ce30a20b094d5e803c659ee37f8251be112528d82af2cf8d7d532a362 SHA512 4bc6ae95c2ba87566bbab7c19e997c2d5b6012ec4d6c0905582a68482b1b13921b08e27a68a45c54ceb8320b746e68cc677d1cdd92b3eb0f1950cb3cc90e6e5e DIST firefox-125.0.2-an.xpi 502762 BLAKE2B 601eb96a7d9af68453dc8d228d18fda63782b4abcdd871e50176e75e95e3f27520fc43b9735bc4c0a14c9291b049b4897322276c825bd81a939869996e1479bc SHA512 70093d5264c4662372ea4e1c88f6856d87bb4ec3c02b68d43e7fcc214eb194756e479d3c6524fc6ac2675f669a8fda313729e2777cacdd62209f643e783d1f09 diff --git a/www-client/firefox/firefox-122.0.1.ebuild b/www-client/firefox/firefox-122.0.1.ebuild deleted file mode 100644 index c5c84ee9fdf5..000000000000 --- a/www-client/firefox/firefox-122.0.1.ebuild +++ /dev/null @@ -1,1461 +0,0 @@ -# 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/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 -} diff --git a/www-client/firefox/firefox-124.0.1.ebuild b/www-client/firefox/firefox-124.0.1.ebuild deleted file mode 100644 index 892931985d27..000000000000 --- a/www-client/firefox/firefox-124.0.1.ebuild +++ /dev/null @@ -1,1424 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-124-patches-01.tar.xz" - -LLVM_COMPAT=( 16 17 ) - -PYTHON_COMPAT=( python3_{10..12} ) -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-r1 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} - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - sys-devel/llvm:${LLVM_SLOT} - clang? ( - sys-devel/lld:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} - ) - pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[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/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.98 - >=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' - - 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-r1_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 - - # Clear tons of conditions, since PGO is hardware-dependant. - addpredict /dev - fi - - if ! mountpoint -q /dev/shm ; then - # If /dev/shm is not available, configure is known to fail with - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py - ewarn "/dev/shm is not mounted -- expect build failures!" - fi - - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then - MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" - fi - - if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then - MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" - fi - - # Mozilla API keys (see https://location.services.mozilla.com/api) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then - MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" - fi - - # Ensure we use C locale when building, bug #746215 - export LC_ALL=C - fi - - 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 - # Filter "-z,pack-relative-relocs" and let the build system handle it instead. - if use amd64 || use x86 ; then - filter-flags "-z,pack-relative-relocs" - - if tc-ld-is-mold ; then - # relr-elf-hack is currently broken with mold, bgo#916259 - mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack - else - mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr - fi - elif use ppc64 ; 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 - - # System-av1 fix - use system-av1 && append-ldflags "-Wl,--undefined-version" - - # 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 -} diff --git a/www-client/firefox/firefox-124.0.2.ebuild b/www-client/firefox/firefox-124.0.2.ebuild deleted file mode 100644 index 83133451fc36..000000000000 --- a/www-client/firefox/firefox-124.0.2.ebuild +++ /dev/null @@ -1,1424 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-124-patches-04.tar.xz" - -LLVM_COMPAT=( 16 17 ) - -PYTHON_COMPAT=( python3_{10..12} ) -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-r1 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 ) - pgo? ( lto ) - wifi? ( dbus )" - -FF_ONLY_DEPEND="!www-client/firefox:0 - !www-client/firefox:esr - selinux? ( sec-policy/selinux-mozilla )" -BDEPEND="${PYTHON_DEPS} - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - sys-devel/llvm:${LLVM_SLOT} - clang? ( - sys-devel/lld:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} - ) - pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[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/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.98 - >=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' - - 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-r1_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 - - # Clear tons of conditions, since PGO is hardware-dependant. - addpredict /dev - fi - - if ! mountpoint -q /dev/shm ; then - # If /dev/shm is not available, configure is known to fail with - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py - ewarn "/dev/shm is not mounted -- expect build failures!" - fi - - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then - MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" - fi - - if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then - MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" - fi - - # Mozilla API keys (see https://location.services.mozilla.com/api) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then - MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" - fi - - # Ensure we use C locale when building, bug #746215 - export LC_ALL=C - fi - - 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 && ! use riscv; 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 - # Filter "-z,pack-relative-relocs" and let the build system handle it instead. - if use amd64 || use x86 ; then - filter-flags "-z,pack-relative-relocs" - - if tc-ld-is-mold ; then - # relr-elf-hack is currently broken with mold, bgo#916259 - mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack - else - mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr - fi - elif use ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on ppc64/riscv, - # see bgo #917049, #930046 - :; - else - mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack - fi - - # 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 - - # System-av1 fix - use system-av1 && append-ldflags "-Wl,--undefined-version" - - # 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 -} diff --git a/www-client/firefox/firefox-125.0.1.ebuild b/www-client/firefox/firefox-125.0.1.ebuild deleted file mode 100644 index f3f0bcb2fde6..000000000000 --- a/www-client/firefox/firefox-125.0.1.ebuild +++ /dev/null @@ -1,1419 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-125-patches-01.tar.xz" - -LLVM_COMPAT=( 17 ) - -PYTHON_COMPAT=( python3_{10..12} ) -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-r1 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 ) - pgo? ( lto ) - wifi? ( dbus )" - -FF_ONLY_DEPEND="!www-client/firefox:0 - !www-client/firefox:esr - selinux? ( sec-policy/selinux-mozilla )" -BDEPEND="${PYTHON_DEPS} - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - sys-devel/llvm:${LLVM_SLOT} - clang? ( - sys-devel/lld:${LLVM_SLOT} - virtual/rust:0/llvm-${LLVM_SLOT} - ) - pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[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.74 ) - !elibc_glibc? ( dev-lang/rust ) - 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.99 - >=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' - - 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-r1_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 - - # Clear tons of conditions, since PGO is hardware-dependant. - addpredict /dev - fi - - if ! mountpoint -q /dev/shm ; then - # If /dev/shm is not available, configure is known to fail with - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py - ewarn "/dev/shm is not mounted -- expect build failures!" - fi - - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then - MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" - fi - - if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then - MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" - fi - - # Mozilla API keys (see https://location.services.mozilla.com/api) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then - MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" - fi - - # Ensure we use C locale when building, bug #746215 - export LC_ALL=C - fi - - 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 && ! use riscv; 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 - # Filter "-z,pack-relative-relocs" and let the build system handle it instead. - if use amd64 || use x86 ; then - filter-flags "-z,pack-relative-relocs" - - if tc-ld-is-mold ; then - # relr-elf-hack is currently broken with mold, bgo#916259 - mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack - else - mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr - fi - elif use ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on ppc64/riscv, - # see bgo #917049, #930046 - :; - else - mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack - fi - - # 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 - - # System-av1 fix - use system-av1 && append-ldflags "-Wl,--undefined-version" - - # 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 -} -- cgit v1.2.3-65-gdbad