aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2022-04-12 14:40:58 +0300
committerJoonas Niilola <juippis@gentoo.org>2022-04-12 14:55:32 +0300
commit1c97e5a856a42b771d1423d1c8f6f1917320a3c4 (patch)
treeb569a47c416f5f4ede53d13399f767ff7f4c429d
parentmail-client/thunderbird: remove outdated (diff)
downloadmozilla-1c97e5a856a42b771d1423d1c8f6f1917320a3c4.tar.gz
mozilla-1c97e5a856a42b771d1423d1c8f6f1917320a3c4.tar.bz2
mozilla-1c97e5a856a42b771d1423d1c8f6f1917320a3c4.zip
www-client/firefox: remove outdated
- and security vulnerable versions, - ::gentoo is at 99.0 and esr-91.8.0. Signed-off-by: Joonas Niilola <juippis@gentoo.org>
-rw-r--r--www-client/firefox/Manifest689
-rw-r--r--www-client/firefox/files/disable-auto-update.policy.json5
-rw-r--r--www-client/firefox/files/distribution.ini42
-rw-r--r--www-client/firefox/files/firefox-95-fix-fatal-pip-invocation.patch13
-rw-r--r--www-client/firefox/files/firefox-r1.sh116
-rw-r--r--www-client/firefox/files/firefox-wayland.sh7
-rw-r--r--www-client/firefox/files/firefox-x11.sh7
-rw-r--r--www-client/firefox/files/firefox.sh128
-rw-r--r--www-client/firefox/files/gentoo-default-prefs.js12
-rw-r--r--www-client/firefox/files/gentoo-hwaccel-prefs.js3
-rw-r--r--www-client/firefox/files/icon/firefox-r2.desktop236
-rw-r--r--www-client/firefox/files/icon/firefox-r3.desktop236
-rw-r--r--www-client/firefox/files/icon/firefox-symbolic.svg64
-rw-r--r--www-client/firefox/firefox-91.4.0-r2.ebuild1235
-rw-r--r--www-client/firefox/firefox-91.5.0.ebuild1235
-rw-r--r--www-client/firefox/firefox-95.0-r2.ebuild1237
-rw-r--r--www-client/firefox/firefox-95.0.1-r1.ebuild1240
-rw-r--r--www-client/firefox/firefox-96.0.1.ebuild1239
-rw-r--r--www-client/firefox/firefox-96.0.2.ebuild1239
-rw-r--r--www-client/firefox/firefox-96.0.ebuild1239
-rw-r--r--www-client/firefox/metadata.xml38
21 files changed, 0 insertions, 10260 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
deleted file mode 100644
index 6029427d..00000000
--- a/www-client/firefox/Manifest
+++ /dev/null
@@ -1,689 +0,0 @@
-DIST firefox-91.4.0esr-ach.xpi 451228 BLAKE2B 525aac7e80d504b87a565f045f6ffefb5b8743d9f0606564d6c10dd2ba6ede526d451bd08bdf9ff4abea578f55cbf7dde1c0542ff8ac3640c3c8bda920d146fb SHA512 42be3bdc43b561b2148fcc08be8c4645c6ec15ebc1d689489f922c31234df2a88fa1dd481b7d8122c822b8487e2d1cd4e7a546909000603cc1d056afa83ff5e5
-DIST firefox-91.4.0esr-af.xpi 425096 BLAKE2B 8af222eee5d909eeaa76168a1601e59abf870e1d351b49495074c27eb12e1fe1160293aaa972633002a9e9bdae02a555e395f962de8fd9283ce86556ac73d6de SHA512 1a82f635d36a646973b0f08b1746bd476283f6e807ac31ef9fef48e59130367c7e138ba92038f7f2778c8f4455f9d6726871bbb9d563495b68b0e3f72cf1bd02
-DIST firefox-91.4.0esr-an.xpi 497865 BLAKE2B c4903662ae08d04a5193f4355ab273d09b71fefe3ed69f93ee80b577ea76ca0ff1921f31c8d4de852569a41d6eef54ae039d6557437761fce42d5c7babc632b9 SHA512 35da11f247f7180e2c5e720a1989d57bf575c7c8844b231c38b598c0df166891b9fbc86360fe7865908eee7f4119c037664f74002093a056e601fc65634361cb
-DIST firefox-91.4.0esr-ar.xpi 557243 BLAKE2B e1f4dd28e26227ef345673ac6b69eccbb3083d619fe0ad691586f2c132912589552e3a2d463efae30ac109d3bcef7a2b94aba78b0dd89b4a1ddec9537adb2e14 SHA512 cc5e9e60cc65314fef7c6b001a773f8ae7763342ba2979606dc4ef3efeab2af5cfe0443c953dd0796a2cc4f5bcd4671a6223fb921559d455794ac3c2606751fd
-DIST firefox-91.4.0esr-ast.xpi 496964 BLAKE2B 6cd56181f48260dc85982220d32599c5d99fc7607ee17cf607976d945b8fc04217e9bb5ed150db6e8b0d691c6d219f9adbe9e26fc52af8af106b1b635caec105 SHA512 619f8f5d96d325a068cd27589de9cf230be74b613d8cb983e4833cfc59641b5e716a3d7f1ea69027e1baea4ab5a34f21f836141e5bfc4d8257c8d81077c29804
-DIST firefox-91.4.0esr-az.xpi 487259 BLAKE2B 533a12abce11c5d39eb21291aae74efe0ca1a77a2169ce5be11cc64864b1cda5b28f04153c1f0c1c368b5183b248aca9596fc0c8e19466a5dc433ea5a54cdd54 SHA512 ea239697a214b6756e091655608514f3746a6ac0661cabe0241004d90854baf7d0f3191de361216dec70db00534bdd432495fc45531c1ba1162bf61d35ad4e5f
-DIST firefox-91.4.0esr-be.xpi 617852 BLAKE2B 0e9fa980b3bc459e3b9bb7f3e63c6c3b21a2ae30995412b62dd55d2865c5e8144d5bb236a884680839a227e2e5456b107cb4c39ef1220b6186ab8ed8649eb170 SHA512 848d39d99f72bdc0b470c9e0a9a347edc3a661a43342e68085c33974bbac0d7085548fadb391fa4eec12aa24d4e577e670899d503a70bcbd02d83032b4d6c8b3
-DIST firefox-91.4.0esr-bg.xpi 566071 BLAKE2B ce4def1ff088bba14618de255e33dcafe2c0e1116f5d58166361f1f8a27a7c608e5ebead3270766111598c2d43ce5a9b413798c4aa722960bcbd7da07386538f SHA512 e964a9ca742de974334b5f9a54dc3a0e6d7488a181ae7696a6130e2307d85cf1d39307ee4442bc663dab7a9a4d1850117a5eaac22e670852cedde4a18d2e0c46
-DIST firefox-91.4.0esr-bn.xpi 554437 BLAKE2B f0b7e820e5a06f9ba829fe61b903d8d363eb4793f8ba7463096ea9acd68abab500465c52ca9d577fda0b9f36eefcbdf62a4811be15abe9e2ed3af752853c5980 SHA512 95bed68b2e1c2954a8447cf5d782c9e650bd06e522163341890aa7e751ebd906404dfa8fa68e66749c0a69e5a1a17fabec827ecc0fac2bcd3db5ed4cb423346f
-DIST firefox-91.4.0esr-br.xpi 522501 BLAKE2B b2b2e43d3d6a0dce53b8fa6329951bb3ae14513a53f42078545c1bac0b42ed3854e367bfa9ddeeabea995c6f0c2709150dfeae474b6c9d22465057ae2c6cfbd1 SHA512 f4a4a21ccb7b7609dd7050f5fac57834b3806916ae2fe5a8d46dfea43715a80387ae776edc84cd151b2913ba0b3250896b2e0667dbcde5501873512a9897db26
-DIST firefox-91.4.0esr-bs.xpi 461651 BLAKE2B 173ae71acf7d349526871b71a17742723d5ec4ca8a4e4786c7e60611579aa1dc2d7d3aa98db263a0d6e3e9246b45fb1f923662691df5c0e7b9bf4119abb3bc5a SHA512 98227011b4167c3635507c1d3984854e049bc12f7d9ac27678bcc8c3db2c00df461d1b937c30e0ccade7fb90cff10ca354be84050f63730b05e6261bedc18c5e
-DIST firefox-91.4.0esr-ca-valencia.xpi 527261 BLAKE2B 08da181d15b6859851f294a97548685797e6de5a954615990bae0fb0de0f8a8af4267516397e7773e6d239734c12dfeb5c3597ed66e917cdd35b7ee929a27522 SHA512 e91197cff0a966fa294f9e7027eff1134b196489ff5ccf943f3c91a0deccc60a9b4acd02e932074196e5fcaf3702453058aca1f5efe57766d44cd21a7ea35082
-DIST firefox-91.4.0esr-ca.xpi 527631 BLAKE2B d759ba35fe9940a21ac969b9386f236ada30b5ea4ccfa702714de5aa2310a150db48a2dc5e2c46087e4d0d2abb51e60672eba9b9e8e941d3c33d2529328c13eb SHA512 2abef3037ba8d26669d64c710acb681136794e9d51c47f25dcc8d668e8cae65b708b072569379d6c272a54ba6027212696ac31777d79421eca3acd0fcbc75b91
-DIST firefox-91.4.0esr-cak.xpi 550924 BLAKE2B d41287e5d63273e97ba55748d6f94462db7fd0508be4bff7d59c7e79504f7f173826b891e52355545edc9110619755ab5b8bc635e65d2019d012df7185fba24c SHA512 86b021881ebc4bb1855cfc52509b16f864314947d7122da415ce057dc7daf7a3d4aa9621ed668152302f9eda1250c7426a8df9a717d92f7d1591097c4aea6c55
-DIST firefox-91.4.0esr-cs.xpi 559274 BLAKE2B a8e0f05e08b85020a70ba313ec16a4cdbe2e1815070449485bde0436750e42ca39bb1d2b530cf4c69928ac96a37f24868ad5dd09182c627ba8916cfb1eece052 SHA512 2a706df50f8245863b9d66265055c83ebe2fd8e19e2ec7f203aff4036025411a7c9163cf60b6f37e042d3f11cb5b4b3de920de2b26db9559525339261212201b
-DIST firefox-91.4.0esr-cy.xpi 538234 BLAKE2B dbc2747859d76eb542c30719364963b112e0643592ea6ebab75167eaa5db5f5c62427d601c3bd2106001965e988b098191b2c53b7be1a8237dbe3375aeb56e91 SHA512 3a4fa4f2a52bf028ba8b2bf370eea3ae0a0a50fe98e42eae8eed8aa0d5c828aabbf72b21a70dc99ccef3b6ce59956e01a0970b44bc9cd82cf3f7d30f48f9a898
-DIST firefox-91.4.0esr-da.xpi 530228 BLAKE2B ad7891974d63bef156efea37a634a53548fc924590c7caddc4df1aad12541f2052123aff1656064e38743764a6c5933b968ae750831dc5b7686f42cdc64cb7d2 SHA512 1feafd2c5af269318109e11f47bd1dc30c28027b02deeb2910c21e84ca988c0ef6e5b85adead7aa73581bcdc861445899996e61b370a039355bf15d63ea3309f
-DIST firefox-91.4.0esr-de.xpi 549363 BLAKE2B 8660c7d0d22382487bf45d573f93424706b07b4275e553e00faab26debaa156309918983b18ba60710b5694da7628c8bad89a92709f67303f63fb4974cf32143 SHA512 badfc5b13084cb6938a08e403fafbe128fe62f3eb799754b89037204f72a254601073d46b10d614f120ee9ae834cbac63ef6d2b2e632a1dbd29d8ba466f6a00e
-DIST firefox-91.4.0esr-dsb.xpi 562054 BLAKE2B 03ceae4f7c0b21a4a73ede81da1d87f28b36691ecfade984e0150367faec8397ebad2a53b5709105afd437fbc84da1673259993cf9c95c415a962db827a96a9e SHA512 bf46da14c7539d4e69a2a4ae9e11949b9013798587ed99d15831ba8e654d1d623dcbd26150668839b06196e24999b7ff6cc8f31c0c664b6d338e8423b813a26b
-DIST firefox-91.4.0esr-el.xpi 634551 BLAKE2B 4d6d237e1657db12df1d13887d45c636e0fbadc79feb9c27a16243bd6157c5b7f7d0c1b1cf29e05d58709c228929c0a4d2c4732d4c1d0f844f11606c50243494 SHA512 433003408c24815a5e05e0595a21fb6b5f1710cd672b343f9a708299e8c61f621d0b01cd9895610fd87214b6108ccbe9efbf8053a687b669d60864f69c45b2df
-DIST firefox-91.4.0esr-en-CA.xpi 506461 BLAKE2B 499bccc90ee2ccaf44fd82292ef193223b8ce0a8ee8714694d668fc52a1e550dcd90d75455810a3f167d50060decd5d491660f4958847872f30211477fc53329 SHA512 79db782768da33dbdf707d8e67d0fa361fd7651576b7fce5ba55fcea9d5b36b20961eb5564ca9f54dbf5dd8d21f8b106d1b7fcbe7b6e6c4704d54f9c0190e579
-DIST firefox-91.4.0esr-en-GB.xpi 507019 BLAKE2B e1143c3c00e0ec03be030b12b9988b7ad088fe2c833524b796ad4ad4e0a2e10d1754b217dc8e2bf280b1dd92a4a8f9cee9fb55875b6540847591827a0f687e99 SHA512 53cf821d5413f60c13e50cdaf9244b80c4f4783cd6bfe7c7c340b99c0d4f1f479950affcabca33db1d28da3302e30b157e78e972384b1d56eba06043c06d6d64
-DIST firefox-91.4.0esr-eo.xpi 528486 BLAKE2B e5c361e4c4fdee20d33ece92d5130f182a5af860d916040463e8292f14799bda0ced5da3cdd09844a85799e5991d9f25721e60c4a8e9b0321028d2f25a26085c SHA512 4c93457f3276f66d442321454d9ee020ab24966552ceafa980212638379a15da213f9bd08dfacab104803ab1258f3e3fa92c6f4a81548c7ee973871151900175
-DIST firefox-91.4.0esr-es-AR.xpi 542781 BLAKE2B 661c003673dddce5ca3cbddaf6a7166f65ddbd62eccfda55fd6e110ce2ee416d48a2be1522bd298e64c54aba72c8e0b55c233a5da46551970b1553c78911142a SHA512 cd7d4c39b4b010dd8c17497450297b7c3f8ccbbad1bc5b598700b88e4432c8c6a4c07652fe4f818b6c58028fa243bbfd987436ea9749303fe6e33da5756c68d6
-DIST firefox-91.4.0esr-es-CL.xpi 542423 BLAKE2B f620a3f923167105b6222f4f814bd16a3d39c791e91a034c10c4e2a74e82231ef11f967d4d10b74a51de965825b3d95213c0a4044d500e0825c22c74def52b7f SHA512 1df5c356c657bf009c0702d178c0a97ca6425350aefe46246d585bc914f9e957d45be2b8f098c79aeb6802c715879faa3c9ebda96ce1a1855151d0f031ff9c27
-DIST firefox-91.4.0esr-es-ES.xpi 533117 BLAKE2B 645808f4c09423f43cd323eaf5190259702fcabc29aa816a3eb64e63394b5571e0c4e23a87a5feb9e79145fc3d2dc6c4e48d12fa2f0df199690f8245aae877fb SHA512 4920c49813d2b996ca832f452d51226365bb39a44ac62645e3418749fbdd08e8e5ec8091eb9108e9039206d434091be570aa71cbb9732516752cf616b4465dc5
-DIST firefox-91.4.0esr-es-MX.xpi 541516 BLAKE2B 457044739b4f864c7c5647056c4b31eacb32d79296488668429683a33f7a4438b13a8832763f9e7628ae6094d8b7dd1ac72944d931e96a0e4a1a6883d5cd8878 SHA512 79b184125aae7311195d268af0d97aa274c9d26d8fd1d8b557db9860dd8e5cb17a5307a39a22be150fec18adc69649dae5e76922e9c46fe29cb32a6bfef8b46b
-DIST firefox-91.4.0esr-et.xpi 480346 BLAKE2B 5ac5375095f433be0d2d474c7ea808f826c2123b82ebdbd541bd03914972b4546c940f1334711ff16c75b9d07ef179bdecef8aba80b02c0350c4696d86655530 SHA512 d86bee23f2a22a09b8cd331a3f1ba3a17a3509c1941af64111d604895e8ae48c0ed36daaa72610037aacd039d2e1ae80a08182014163cb054a57bb4bd3c99029
-DIST firefox-91.4.0esr-eu.xpi 532520 BLAKE2B 88fce18bde87ac875adfb43fa5741ba2ff568f0ce8c1260c474d3f3a7af879ef4af699ee8a6b24d99aa6228dacca67b7897e9588f2b4c30679fe37bfcd511693 SHA512 c1cbafc7a7f2c462d7c2f43b830397dd02f9b6e12c01e45be154105b36cb62e56d18f662086dbe4127d91927dd5980157dc90dd4a8bbae8a663beb42dacc7a47
-DIST firefox-91.4.0esr-fa.xpi 553970 BLAKE2B 568cf1029ad7150c72f06adbdc80ce16235f6905fdd7545ab9aa8b5923b5f585f2e2d889260b5ee3cb30f6a0dfcbc24afc5b2e7307055dc4bfb02e735e40d640 SHA512 6c0d5114943d27b4d8b50a99235d6e85e6674a810e95c1999cd2061cdb9a7f1f63444857fe69d893a864a3f083ecd86fc4641d59edb9b15ec6f1287feb2a13ff
-DIST firefox-91.4.0esr-ff.xpi 469973 BLAKE2B 6dcbacee6086dec58fc2b619004cd505eecfb20ac914b2592c6e18864b4c016b535949241f1e8e806ef7609a3534c272b0339a701ca07fe92aa5e0fa2c7bf8e9 SHA512 3250d9e7c14370ad5379b081dfc4831ec5c4db6361cee3014f1c31d0b963d82da8cc5895ee8793d383fc508e0d78fb289f592f8dc1f75e1e70b61ffb6218111e
-DIST firefox-91.4.0esr-fi.xpi 526622 BLAKE2B b77cbdf5370e3535a3352cb956eac60f2f3facaa6f9934d6bd75d8570b0bac801a9f56cb44044974b9669595c54dbed95e48568759cfaf0f853f8fd89fc3b91b SHA512 38d6d9d1243ff26fc588b984114f8669136ac7e78e421d1dec0ea6bd12116ae49d85de5f3b559f21b0510c01a203cb8acc19f625047e13fd5d79238832a2af94
-DIST firefox-91.4.0esr-fr.xpi 553503 BLAKE2B 393c700caec3ccee3ca5e679f63b8463461750872c54090d5f619501ae4dadf0a475ca47da1dd7efd80335854b094d52f08df7ec4939a3978b7130ef8875c840 SHA512 fef38c360e58008da3ecfb261fc8cfc904fb4512159d4367e7e3d08173c1e675d2fd9a5ee0db5cf440f2eae18314998515a0fa1e78c855ec2b45cc95f70376fb
-DIST firefox-91.4.0esr-fy-NL.xpi 539366 BLAKE2B 618c96d6156799c5744d311368d7b29edb79887c6997260bdf74bc3ba6b6452ce7fa76265965e78732bd746dc19bf1512e7ddd9edd43dda9faa6166417cf6274 SHA512 062d45aa56fda9e7e77d0badde5a519190fdc804dee5d648d9d2ea75174ec6412395784992b50ac58e79d821492b248e6757f2c99c63a5649bd5bc52de74973a
-DIST firefox-91.4.0esr-ga-IE.xpi 457892 BLAKE2B f3f5c1ea1c1e122a896bf88774f8b76b8dfe48183c8896f5c64c705dc1ff0283a2f17b534301f4dbe2b621b5f6f6251d2085b28476ff21aeadc1cd15d9a14378 SHA512 e5aeb011f6e6b5adea4c04b01f994a6d4e3b4d368fd8a1efefd48fb631fca757463a71f2c3b519af7216ef42d540367fae3423e6e2dea038e51075c10b4c7b33
-DIST firefox-91.4.0esr-gd.xpi 529204 BLAKE2B 2d61fd5f3c221dc9ccf9a72948d28a9615c6d920989ede46ff888bd0f63754eef7db995d3744be398249db8aa7bec0d37f61c58ea1de016d4ccbb62b471ac58c SHA512 62222ade8a1ab7a60168040c25929155f5e9a6a769d40885b7f6471bfdd523457e09cd4810227dee5dc97092fe2862a66af62843a18a17be8cd0cb4d09116e6b
-DIST firefox-91.4.0esr-gl.xpi 537265 BLAKE2B f3913d321f6abea828a18f774e475da4d9d91bebe3e596a77719216ffbef7602a10c4501d0fa6c1ca1404c1121773a9cc2b4d8b1c02e20d971ea1516a05fec3f SHA512 1f3177618c182cec06c9c9d69efb016dd09ca80dcd1a809a5308c32e32737a3c18170de3f9f88b04f71a42b2090051c6c62f8578ad55488c5322e9667a0b1301
-DIST firefox-91.4.0esr-gn.xpi 554090 BLAKE2B 216907423db0a9ea6af0003cda1fa12b6b44fbfbaca7b71d241e9e05365e07ac99b2b2d8654937a840b4747a2916228edb9e66a56203e3b19e8fc4fc41daef6b SHA512 306e3474f30cd22e52e17a7f338f1ce28b2aa03cc8129eda8b24cf379d686068bc93cfe9c3cbbddf4e60fcb278a5c0c9cfa443fd4f34bd4b6bff3f924a6cee1c
-DIST firefox-91.4.0esr-gu-IN.xpi 527245 BLAKE2B 2dc7bff6a9a8117907aa0534100cda919926191793171b0e35dda3e3e0c66d7768ad77b24266de265b5a3dfca206d6c3f968870b2184badb71d99c1b0ab9e650 SHA512 ff631f7094c1d3d496a18bfc9279424f8165f2d3c0e9eb40a723e1f586e32602d9cd387cc4eadd6bb0e7a80996b94e5e9a774e4f2b010427cd26efcacd4fa947
-DIST firefox-91.4.0esr-he.xpi 553037 BLAKE2B 3700b0298b76cceef7a2363e1e99c9ca16d3e778def977f1f7ce93f3f6059e4f7dd136773a3e77dcca18511920f078a1f763d111a616e198bbcbecf9ab155584 SHA512 70e5125db74d1427d70cbb5e68c34520a960874897299eb35ef2846123ab82b737fd71d32adc92e7d04f632e4ee8b64a154aa0f8357a9ece277ab7669df717be
-DIST firefox-91.4.0esr-hi-IN.xpi 554560 BLAKE2B 2551147898282dc511a36400e392b3c4e19b4dd935ded68c61211afcad796cef7a22061768d6ce486e81e958fcb49f9a4c1f303fb847d0e9fc8c4066281d7fb6 SHA512 315fd73b64538eaa6c83bd32afe47a64eb16c3cac4c8710b79cbeb38b8e6de1d6e14b678e4d078b8a39735694a21add2695720f7bdcd96f7b5f41438b66bd6c4
-DIST firefox-91.4.0esr-hr.xpi 528149 BLAKE2B 307d94c1a9efc507f931e69c34ca89d13b0327176a8b022f497ec33d8e1698daee5f1cd3d61eb21892db2647654d155cef12b8fcd14b61394d3e80129217fdea SHA512 d25661ee98fe4dd552a98d5cf9d2a315551a6ef80e4a36418486967e0a85e7f09c26e3d01d4d692e57c12f10336898d854f57ed6d8b4576a7cd43da641b1817a
-DIST firefox-91.4.0esr-hsb.xpi 558158 BLAKE2B 429e76be5ec37826ef7a41b32fd966e4bd8bc62719732a9b2e0f52665dc3ccd91abe83857c687384610f28c5c887952a9c9662d7394071a49482600b21e01bf0 SHA512 d79e612ab8b21ead195298493b6e97cc38a648b66da8653032483c7cb4b481efb08bcd4aee6197a69c5d8692fcb1c85dff88a3e28b327e85855598ddb7d5207a
-DIST firefox-91.4.0esr-hu.xpi 561985 BLAKE2B d30551d2c287d19ffafcb034eeb3a1c645784307f545cd489a1bed92f445edfbd04794918e9a06c608c25b917f22f7c69be76b8b05f053ab83157895b76c5c3a SHA512 05fbbc80885d2fe40d4e2dc8b8b95ad3495a979c9b69a223cf38b67a3cb55dfae636bd63e051cbcea777085173797a075b8c37ca626984b7bf5165267e9c8485
-DIST firefox-91.4.0esr-hy-AM.xpi 576131 BLAKE2B adaa4291a56a0b7fb202e890d0f8a05b7dcf56d9b6ee38015895c145050d5d4022f5150770eca71403229423945f6692dea4c4ab43e9301403d6a5dcb54ef93f SHA512 1f233daad38800c7adce495053bc76ed5a101893b1d0187b73062bd45e96b3cebe83eb435c44da7b374ea0a76e00bfa78e3d816b050492497c1e254f25ab7708
-DIST firefox-91.4.0esr-ia.xpi 528328 BLAKE2B 71c39e655836fcb82004fe6a7d6308ab337d41b89312c57bc8c8081a05accf3a75cbf2dd443da4b3e99f35fe47e091219a27c94c8a971e3a5ce1fa9ad3ea6a50 SHA512 e345f378dd823b2e11a6efc4e9d9301d8eb5368e32d1a3b8e27ed9379c2c311214e67099f3ea6ef19c86eb40cf80f46eee0333e5e1d787f2c1c529a79797f323
-DIST firefox-91.4.0esr-id.xpi 517718 BLAKE2B 6ae152e686f9b55c067d9e3758f71e7690b8421352bcc562a375daa47ed1a7a811ab1f62f61c6a9ba9351952bb90bb208893787f4eae63943202d36545184f1e SHA512 a2974e9ecd45c4615164eaf55cebc7f01737f5dfdaf3547add722f33d215b013f4fe18546259dfb2943e08707ac196c74a5c5ecb6d2e931142b2874220b97e72
-DIST firefox-91.4.0esr-is.xpi 467919 BLAKE2B 3abc9ab10dd2eaee9bd335b715300bca43a03c63a7a2a292d45d2ac9f43b216848d498a02493e77ff5be9855f77290d23ae8c635aef29566702c55bde158a465 SHA512 293295d4dc560beb034fe565ecb828f80a1bac7486e297b315c0aa452ecf5ba759017e61f9a3edcebd8bdf2a6a02b5c7c8a3ea4db119d19cce76ca8df5eed197
-DIST firefox-91.4.0esr-it.xpi 455746 BLAKE2B dbaaed50f0d19596bd2eb7fe1584fa14296041e04eb987a845d21883ac14df80c33fe5fce6a5b66d8a062d5ce147242a31860d1d250038c0a6f56b738477f774 SHA512 6b517797d0df3d163fec14137184ae112c948c3146c271806546d9288e424797cbc8d664346d02e3eb702c1c920ee67d084015815da45457ff317bd4d4c060b9
-DIST firefox-91.4.0esr-ja.xpi 584266 BLAKE2B 8fd1614855bca5054cdab88daf77681fd9b8ec8487e62dafa6cf415322bb5992dcb57b4337c2afa7d9fcb863e4c26d608ec44af887f4faeb99c9322dd15cf8ed SHA512 d82eeb7df6274d12e53b48a6a5c5687dfaf963b9a41173eac1d7dbd1cb0d620f33f3551682f4e07343dc97ac9bb3d5993ee5c26978798522a8972b655426f908
-DIST firefox-91.4.0esr-ka.xpi 582191 BLAKE2B 50fbd0919e98d1fbec2f88506a412246590308c76ac541c9728236007e2c4a4e9d7e2c85eccb2c52fa376bd1453557f6a17ce688ed93e72994fb44cf21e0e1f8 SHA512 e867e77a3817c23104dde4f989cd0590d78cdf278d0b8ceffd5189e6b7bf37e86394fa246b444b86f1a8e79a627f02c316aa1a891c6caf33d791021004a3c890
-DIST firefox-91.4.0esr-kab.xpi 541441 BLAKE2B 4960041931a5e4ed22aae97f6a6ed72d2b181042a67ba85c9c96a44740ce2ed1644a14759c4704f6faa36e6395e600d1977447e98b38d6b6da415c974dc62260 SHA512 b114aa5f922a831e3fea8f2ad25ae54dbfb0840fb3979a55d72ce2b3ca59644e14075ef0da57c6b465603d51edf4ae81cdfd926f9ac0e428b09523d9e47a09ed
-DIST firefox-91.4.0esr-kk.xpi 602422 BLAKE2B b635982be599b6adbac1593e844f65e49987ea649abc6a41e0d5c112f1e2973c703025c834efc1f3161415e93e9e2dbcd3b76c03a845b380fc4641c14f004ac0 SHA512 81d163e25d069de9fd14440219f96ac5dde744458bea87bb906b2bdad21dcdf749b1639c6e3bae54e9cf50ff13f4425d07cd861c2890bb5c1b4cf902ec3c3aed
-DIST firefox-91.4.0esr-km.xpi 531026 BLAKE2B 694d6ffbf2e5155dbd5e6aad9cfc161309a9b4056b2e41bc4506700a69e1f5bc4ab458892bd6987ec9e67ab454c43fe9bbe4e3d2eb38dfc8681e2f4e29695f5d SHA512 d7e5e2b75885c03631154de1dba4bce1e605805751a2d34a2beaa50232e4af51a7c7069454be077ce65555903fabc5009195bb37978bb0fbc8d7ac976e5b52d1
-DIST firefox-91.4.0esr-kn.xpi 496518 BLAKE2B c0e0d5d8ef46e3cc3e013ee3eed5b5ccf71ad9b9331fe1c56ad451b9e5c70f04561ec29159f5d82e6007ac97d407535ff923be297500fcd5990e1d0d917d2360 SHA512 6185590550c9d78444c96f0f66fe6a7ef2ef46cc0220e485ddc8a9fedcaff2d779e2096dcced729c5d19732b7bb7408ea2550d87c66f5f94afddcedacb4eaaad
-DIST firefox-91.4.0esr-ko.xpi 574828 BLAKE2B 22ab4c2598fab7105f4fab62f7d37390a2c3ff5ff1334309ec7cc60406d1c4bbeab617c5511a0fbd0ea74ac7dceffab416aec2aeb6b2b307fd0c2a7b115a5952 SHA512 40ccea4f669d3d559837b0196fc1688d75e02aa39162e02913cb0d9c19a1d57d4705ba789d53c38f4cd2afcc888eb153e2ef79a0c618e04460b90f3ea95f329a
-DIST firefox-91.4.0esr-lij.xpi 468276 BLAKE2B b53d636db515a94135faa29e5951ef9f9628603bc6fb6d8e288c7e713294babcef48aabc70d53a1a2e5c5141551e2d5f3e941579f0cf40e553c3c8e8a98e8306 SHA512 c1e27148d9e18eaf972ab2e12ef6474afdce88f0eda7e81d20326bcc5f815b78fa60cf79c9bbb5483902141d8b46c048c94e06230ce5d13526f1aa56985f6885
-DIST firefox-91.4.0esr-lt.xpi 556483 BLAKE2B 76b7dec6dbbb222e8763b18563e33a74666aa1f566b31671eb44cc3908ec8cbccf73a496840be41ddbc7619c02bb8a2663af72417e4cef2f3cd48690606acfc5 SHA512 99dc34d152d48d544059f5e2c5e070dba68f6278de804a82b82919058a3308858fa00556f306fa67ec9e2dbf73b8bad7ad6eb29c415b34cca191271d7d3b4bd1
-DIST firefox-91.4.0esr-lv.xpi 460155 BLAKE2B 1f0de8813c7c05d4c8208adc0377637a1df9bdf0f5639c2bf2d5b440bc5c0772e60499acb1630e65f8912a253d7cd449b9afdad0b45a77d6b15c82ee3cb51bd0 SHA512 8f2506be64284e762b90f5c4771730f627110aac5377281ea17647d1bcf61e2911d0ec3d7664a7f6d3d7799e0a18f72422117d9cee36d8b18188da729bcffbcb
-DIST firefox-91.4.0esr-mk.xpi 463732 BLAKE2B 215c755574ce9204e1facb159b99b88730fa920b2029cdbe78a7e6815df30e4187e8b726f6893dca78a6bd71814524f742fc939f84198b81c6dd8590d3ab9ff5 SHA512 8fdc6e67a9ddf65281ca2e90942a3eff163eaddb694abf01672f1f2e5e7845d49543079e396ccc8a2403a2189143dda32f9053873c5e1927c3b09b7b7fc0cef9
-DIST firefox-91.4.0esr-mr.xpi 529969 BLAKE2B f9bd79323f907b67bb845f91138837d4ae30ff2f74366258a95f4104ea07c3840daec921a516fb929a59fda61df69a5f3ac0a18bb4bc73b26f9296f81286cd3a SHA512 0f489e4036ab4ccf7e07262f9253882505c0bba20f1e07f57e0fbedfc6e98c430e847e1d95285999fbde16be0d0757127447ed20c83fbecb0500df1f1b1c529b
-DIST firefox-91.4.0esr-ms.xpi 445085 BLAKE2B d8771fe6917e27c3052ea72b416dba33126bb7fb7bc6c29040df431385f04f2aa44ed80ec63f507ade28e6f64d6d02a63ced4349a6f2b7a899bab709a994fbb0 SHA512 8b0b4c4050cb7343b1bf13495c712352f244dd746f126fc4ffa620ce29cbf4bddfd3f02d822626e01c7a200f025073ccc918c7a759133bc772c2158edfe52bf3
-DIST firefox-91.4.0esr-my.xpi 514591 BLAKE2B 35db61858c48264ebadf7ee856861ef29c7da74f98816c72ca230eecd7051e960fb3206571b31fb1c4a13c2e02e1f4ee7922b0194f78e2751f99c57e1f08003f SHA512 5906da191e64af4273b077d49eb518d00ed96d13e54839e9b5f2a283f548b825d1c1331076644ca7791dc4cf3beec0e43b59331c741ef0a760281430a10d93a8
-DIST firefox-91.4.0esr-nb-NO.xpi 525627 BLAKE2B e96be9c59aaca41b37df77fc20be03fc011a20e121a35166dce6e2e69fd9f9245d373656e5122d876baab34e28a1360e9f7e1ef00c4b97ad409421bcc2fa595b SHA512 900267d676c41c0f83ba866139851a193f0267fbd531d0524f0e21b356763dc898f5777081870f6f3e4c69fc64653a93631c085bf4b6a420895b23e0032b0630
-DIST firefox-91.4.0esr-ne-NP.xpi 474185 BLAKE2B c3e041da59a92cf37e5b3a69debdce9392d2a95cfd513a3ded00c583ba424292ce54b8a7b7f9cb34b20d731803d0b5766e943132f868db1ef9fcb81a9e271a83 SHA512 3412c5be0a63dcc86831a9c85cd744528fc4d009c01295984e9b1fb9f8498abc17bab6dcd2a6dd5770d390bb6fcb9b934c2c367d71270f272fac222924bc01fc
-DIST firefox-91.4.0esr-nl.xpi 533414 BLAKE2B fe2537d5846d6d62fbab558cf4e5083c187237a364a6b80da8d17edebd1e973599d8cd6895d55991c20196cadfc45c06bfeae616a8542355b82bcadaef2ad4cd SHA512 6a156e7ee152273bfdd49d5af28d26b3733bbbd7c8b4d448d0413cd1dce0d086dbff1246c7464ca7925a502a71bcdb85b7346ff25888f3bd891fa76a59c94d30
-DIST firefox-91.4.0esr-nn-NO.xpi 527058 BLAKE2B 64e769dda2316320d75bc24b28827feb92cfe788dd349ff69c0f708f7f5578c565e85789a39fce97aa37a7e3f7647fa702209446cfa4bc3b391b606c2584bb57 SHA512 bf95f24d1d226fed9e75fc027166a6cfda3e691748fd06b132953d56c31e42ad8ed261264d5e225b7de32c138876873e40a8e67b564f507a50f80851d44f2784
-DIST firefox-91.4.0esr-oc.xpi 548919 BLAKE2B 0ace64b36a718a54d6b33d1d93107ee9485324c7b1b4137dc9fe84dcf70b85bf0f4ae75aedb67686972b493049bad11e7362bbd462d04f2a18ec78c942f0eb00 SHA512 27a72e76cb3b51589dc460b6995ee57fcfcf4f8e579a95edba87e0ab18ae857d289061933127968bde3aa29df3ed4f2772bc44105068019c0c74e453e7473e56
-DIST firefox-91.4.0esr-pa-IN.xpi 589463 BLAKE2B 7379cba877a4d5837fc597b9f18ef300b1093a66349dcc4c8d2d25b85074c8d45e1647ae22db909e3825f5dc3da0b606d6cb5d6723014943f6a292e61b3c2078 SHA512 da19812759622e3e76d02ea54c7431aea15293af2029817ef3005aa58421c7da1a144fe93905eb078653ccfce0436cc107039ccbed15d562ef5ce091d98f6d6a
-DIST firefox-91.4.0esr-pl.xpi 552660 BLAKE2B ce354c26bb6f8564f9fd776f1befa924c9e139d0d4b09684f1df0866717829551c260da38f3f819e39f2ad98dbd1e047b9458ae1f7f10f1f2df36df6942920e2 SHA512 8bc536bb7f45f6571cc625cae8178db182382846f49bb14d3c840f21c3fe778c396b1ad5ffa05bcaa53aca017cd8b9e3a1fc921024a88f67ddd497f76fc19bbf
-DIST firefox-91.4.0esr-pt-BR.xpi 538494 BLAKE2B 064f775abe3f0e7f692cf8ee7ec8de788f0099fd8a41d0f0c64d13fe309dd7596005a2b7af2f869a3e994879be2d94cd9fcd99ba25b3bf388a8ad08bd802c088 SHA512 c04526f15cad1e32371d3e1d95fe8975614cf3295f3a80299a7a0b921c2746ce4c4df0392d7e3e24926516aa5eaec0f48460601d3154ad2abe230b7b20502a84
-DIST firefox-91.4.0esr-pt-PT.xpi 542430 BLAKE2B 51460fd6d910c847d1e7ff7d918990dd41d0e875c1d76d36a6c7e56192058c76594f561eabc394e08ef635b9be4cc6344c758733de83baeb71410b663122c55c SHA512 cb5741451651dcd8720f79297c632b410ff22b9a4fcecc6c12359fd03e06ed414b87a07ddaafad5b49da4582068ad268b0bade8cd51ddd2bcdca3fca007cf3f9
-DIST firefox-91.4.0esr-rm.xpi 533244 BLAKE2B 0844973f8a88e55f1e60c41ebfd6e73051f0f1b7ecffa64343efcbe52cf1f9783379975b6a258b80e18352c384ccea76cdeecb9dd153bcbeedd3932a257d266e SHA512 1e6fd16b476a6440af3754411071ed0c5d3b483ea1b3dd1bab921175042f4ab7d894a308839e3d1cf67efa78884249f1589bab85892f46520196badc8c5dd928
-DIST firefox-91.4.0esr-ro.xpi 526985 BLAKE2B e8ce39ccb62069614e4a811061865cbac81a712ce5a8bcf1f56b9962367e69dbafa4f591ff695ae086ad95bf018c45158763835487b0ab388cb3424df3e5224f SHA512 a8f003cb9d935bf5528291e9b9175183036e069cd8f71b0d8aa13a2d387b9446c743b958f212141c956e4b52074c3d49b7839e6b1c7708c9d9d66bfa68504763
-DIST firefox-91.4.0esr-ru.xpi 622479 BLAKE2B 5c546e993726cfe05930d6663e55a9254e94808d91e8964bd6253b5a66b3f7fe0aa17fb95c6fe2211b40f1eb3205a142ab31ce0fca63a351402d1bd9e5be6e05 SHA512 c8dbcec0fdd628d5ee2aa7bd35df9d000ae4639d767125f9e60bb706718acc3f3c827c2da8bda592847ec180208c4f4a01499d92414b10e9a101cdfe5540d137
-DIST firefox-91.4.0esr-sco.xpi 503271 BLAKE2B 8085da172a519cf273a33e70dcd1f70f9423308186a09b2fc7775822e33a65ea3f0c751a8b04c812761259cff4fb604c5055dd34561581075c2bc71e7578c4db SHA512 bee9ec974bb56b86f243cafa3810462e1ded2ed1b356a80179323404a6ebc8076e71088b35eb1948f825d0dbd70fcb4617aad068eadd26537f5e2f2b5bd68976
-DIST firefox-91.4.0esr-si.xpi 485754 BLAKE2B 7898bc88ef5f480800efe25273b39345d5ecbf0f52fdd37db4f8c01b5f7aadf39def6ad1fcd8422fa2cc13542c73ac1ca4294ad01934895b857e5393df57b9b2 SHA512 3c0696368d4fe4963ff6ee4f4fa7ca15e4464eee567801e0ca10781095ca4d8a4128b0e393a1de6748492a001a941b3c9a072f07d3f4d020699f13dccbd36125
-DIST firefox-91.4.0esr-sk.xpi 562099 BLAKE2B c0c1e770acafcbb0c70a82235818b31d53f0b21447230fd88de12430585067ad418c59790f34ad45276b63e1f3cc6f07c3994d718bded1511f682445e83ec3b7 SHA512 dc3a49b3845ac78e6317a1651b072ea24c0c4e7aa68e2b61f0365d188e42cd6785cbdb1ae201b179d3a01fc3ef97f524b5fde1fd6649a3a86337a4db28a33c0d
-DIST firefox-91.4.0esr-sl.xpi 529903 BLAKE2B 69b9dbd60e92aebd07b31d5b52e7b7bd3973a05281dcc5801010ab0ca2221a661232d054ee4b544b1f0458b3b73cfa14e28871162fa639e83908a046b5317ba7 SHA512 f1d61aa23c06a165c93c15455f11e27a9fc77629fdf6615297f258999c4e7a1fd6ff6ea89efc6694252acb3215e6c752d2fb1d2b1ccc1e1a4dea9f1c61f064c3
-DIST firefox-91.4.0esr-son.xpi 424145 BLAKE2B 13973029336e622ae43522501fa715096db3bef7a2ab5b13e4ecc9bf45dda6083e5aef7b9daf078192f1ac2f846a29db58cfa7045915db01cd6f42721ce16614 SHA512 d397eab0f3e5ea3d9a7637f64bc1464f67adf76700a775524859d7e0833d1d4f7f9e1168e41a9e8283f8529c071128c5555ec4d270041dae1ce7113909d5b7d5
-DIST firefox-91.4.0esr-sq.xpi 544586 BLAKE2B 4ac371a525dd2df44cf6997a0e1c866980d4d861a8e80ea1d496e7f81016c814e654e4d6b4ac797c2d3e702bc0adff7a129c41ed3907133d0d2d952b8a61fef3 SHA512 23a606954e4d205aed77efef69eb509e5fe95326398932e0a8af36bde2fc3cf67b08b9a967be1f1b2d9901c7969aa0d1872f6f631df5642ff56c689fba743db7
-DIST firefox-91.4.0esr-sr.xpi 583086 BLAKE2B 46994159fc1ff22b78a6162c54e9dd93506fe604750a70c4a0fd395566403a46b95748c922696458a263307ed50472c4c9caeedb8959b65c002a18526795a0d3 SHA512 e8a9173c91738364e0ef4e9e8a42a5d9b75995ad10be60261407948404df0f31824c5dd93fb92e34b3f0a68ca7e41b51883b2e5eb45894d164ae8ea55d80dc20
-DIST firefox-91.4.0esr-sv-SE.xpi 536058 BLAKE2B 11ca31308f043605fa59a2856c8210715990c4e014925fc4fc07dc90c1400d622fcbdbc283bf622206e8ee6a4dd706e1aaa20e12d252f61bbc30dc6708e710ce SHA512 0be654894191d685a4ba9b4659d85b6ecdc1891687c10bfb89412f15ab8da4df07a1a9f64283efca4895b9c11413b9955283aa2bf3e088171e0e8f6ab5d5efb4
-DIST firefox-91.4.0esr-szl.xpi 508146 BLAKE2B 347121bdaaafcf3f91726c7ec6daa5b45d56470c39ecce3d27f00f5d7c4fe52478f1c7b8390480c58896addab012aa74ff0b41bbac57e82f3c18567be9444a6a SHA512 0564a38bc2c2eb65011d9e0a7d2ae923808739d5a29f8be54c2476ae11a607cec9fe9b2b3a28d35da9373dccfa803a19dd7084f0b85ba051e8bd7542ac52e7ce
-DIST firefox-91.4.0esr-ta.xpi 510667 BLAKE2B b4fc8de02fd9b4888158a4c10be33259bf60457f5ff210e595a1b93f723cce0d2abb260ea00d6138f0876cbb05cfa337b4eeb1aef6f008859fe968ed1c7cf0e3 SHA512 7492d64b776f6c187d186eb7479a2362da725be88c7ea6bf1d8b4914acd4f8130bbe9bc7b192770982645d2484ee0fcdb9b05356a5cdb416af208df583f6e590
-DIST firefox-91.4.0esr-te.xpi 547906 BLAKE2B 2002d8dceeb2b0a61577cb334402b68cff1c2f613542d87985d2739740fdb577a38501d37df6708bb158685f2eccb7fba75467b25394ae9fee6acd1afc64c1f9 SHA512 8b85b5d1beecac77167ad9abced138a2f0e8cc3b68b2188fb80dfe1852fc299705d32e150c1f8e250929c7af10d787fb2477d1e731683d954ac48a6e9995d075
-DIST firefox-91.4.0esr-th.xpi 597694 BLAKE2B e34e0be0d0b93015c4ee577f70f796ff9fdf02e3bab0f25f3e51489ef05b831d06ab3bb7f52aa29b72dd1a0824d0b4aa69d6cc69635810caa8f73b89c8897947 SHA512 e3665e291f71f2b4d11c974c255eeb9e7fb079b705e1f70451e45ce3aa206ecd0ec5b28207b57cf56a84cd5175bb8a8b0735fc23825fb1dbf93635574ea40f4c
-DIST firefox-91.4.0esr-tl.xpi 513310 BLAKE2B b549526e3d1db282210c81c68960dcfb95d67eb554a0931869b1390ff6ad81796b2e0768bde840827b2b56cd74b064096330c3aaaeb9245026fe503a2dc3c8d1 SHA512 336cbe0837696ac1f2153edc21481dc658afc35b0c61ea0c87b996036647fa220c447f3e7a8f0413e219336845cc9eb049dedf16840066533bb02f8dc41e1f54
-DIST firefox-91.4.0esr-tr.xpi 548362 BLAKE2B c878ba25cc461624cd86a6a8789cda55dd018e66113a50dc280fd62d2f9c5ca79eb3c7c471ebe511fa451cc72a28f38d3f6538895ad8b5df81db45e68d74a408 SHA512 70fd852fa95f8adadb8a1c7feb3d67700598b720cc49a01e133c16213a92f9afd8238816150f79b2f15f24168f7839dc7e00ea9afb7b2453e446e0f375995260
-DIST firefox-91.4.0esr-trs.xpi 488758 BLAKE2B 220d3383d3064b092c1eaaa19de4981f7edec0edbe1dacf06d866af846fc338120c64711f160a7a0ee04624528686b554c701e013042ebc907b439443754d8b6 SHA512 337d236b29d1cfc103052cd1c651e6140217c0afb9092be37feb81a964d8cebd6e26c8366457fe65ec4eb79379400f86c3635111f6ad17d11a86c304d395bca6
-DIST firefox-91.4.0esr-uk.xpi 615983 BLAKE2B f78f5dd87d49792374225e1ede6311f4c8ffe451b0427bd77f554487c255c94149e207183d79ad79c6eef5d96a3e4f8abfb6743d031bc7afb8ed93db5d9572ed SHA512 ad06e287b5c96bb990621b410d9c45db92bc3bfd9c5c204acfbea22c4f4aa09ee9e0b4366ce1c5bf174fc38c7ee664c5cfbeac3fe38ac874007499b3553931cc
-DIST firefox-91.4.0esr-ur.xpi 554113 BLAKE2B 5b7447e25f05d3211920051bc9e6fb807bf569dcb99f5a8ca383058a2fbcbe50aae5203f94f1242ae8e389a1ecf9a1602730a2445dfc5ca01afe96a551f7594e SHA512 00bb497a1729a74a67a83b0a7512822c4415bdc71bf940f9731785cc87869d98514b9c8fb12e8167ed0eef80aae4cea0b30f0410fed43924108ba49f8d0bf841
-DIST firefox-91.4.0esr-uz.xpi 465013 BLAKE2B 989f3dda30973403ca5c1eb8a129278105ef645889d4c6f32144c2970e54b13472860a815762f7b2c2bcc1646f227f0d63be5c284aa18a72b10a1d9366627234 SHA512 d38a60af12c379c3b4d0d24b478b3a964dc31afad481d3303a7cbf39555c29ef7fa33465203b632f88c586a4afac97da6d74a3ad1fe431d919133206c11ba439
-DIST firefox-91.4.0esr-vi.xpi 569116 BLAKE2B 983c10b007eaa88f324a16cafb90924e1a1d14c118616d1c526d4dbbf3ed6db339978d2de49f53afb53555f5bfaa63f4a02fc4469035a102332bc305c16ee533 SHA512 e33542cba623880b69ff11551380e893f6e6485c13855a9c4121bc88c1037c22510ab12efdc47737e3b389f6bbe278957c8fdc9ff8ad2f3c7e831db9de328ce8
-DIST firefox-91.4.0esr-xh.xpi 426318 BLAKE2B caa90a68a11059bab6d54800936f247c692b7eb8aae30178934d2486e635bb86b540601610062f32c6496399cb6f446741cacc559b7abd280eaa5392a894322f SHA512 08ef35e0bd42451280acf8b6d4c2c27b1c0b32fc070dd289d6405122f423e55b6eceb0b1235f865b5f95a0f257afb037f6cee48407014f7b435f712d7cd30867
-DIST firefox-91.4.0esr-zh-CN.xpi 571363 BLAKE2B 353648ce0c0b12a1e922e4169e4ed31e0dab3337a2e5fa53879e38aa454933cf4e76191da186053d888f755a1bca176e7e23d856f5b7aa9ca088e12a59791b0d SHA512 db04703780fe73b23025a984511f3e55189de663b563ed1c9dfb95de98e648842a623e5deac341fac9afd568b33f48ae574af8f5a49cbf808158551448deeaa8
-DIST firefox-91.4.0esr-zh-TW.xpi 572071 BLAKE2B df9f18fa4cbede2324aaff48c503b58cbe97f07394a2ddc00c7bb2a8e9e8f2ef0608374d726274bcd3890a97bcabbcbd25b56fe14db67c8cbe15948b612d5ba3 SHA512 e279a726a6014b6c473c275c8c3a786714757ca63d6311637f42787f2c5bc2778b36bf46302b932ee1a9cf478ac6a8e29382a389d84c29621d62642365b07360
-DIST firefox-91.4.0esr.source.tar.xz 379759164 BLAKE2B 073ad017a7a5569713bfea850d5572c6cc0e7c46dc3c89878a6405b024ee9a46453c8588b78d547f838b9d55a93a509a293f578a3ffac35b952e2bce84e931a7 SHA512 781bf62a0e1215cad7d90de7c822978997bfeaf71bde4e7124a732921d130762c6654417c708a299726039d1603ff5e0796106118ad4b2ddef4e9dac84887765
-DIST firefox-91.5.0esr-ach.xpi 453216 BLAKE2B e7415be969c9169f1f24679d29f327d46adf6a7f09b9ab42ea698fdec41b1aa2c65330f332a2d302a49c5ff5e5ba31a7a68ba783a6e6dc9557fef432ef97bbcb SHA512 e4dab51ad0884b5c173032e745a504762edb87f159da2807f1434f02a5c25e96e3f432ad692c3b6d3cc220b58bf1a8d9b26757621a113b7b380f48d5d4806678
-DIST firefox-91.5.0esr-af.xpi 426914 BLAKE2B 6bbe4abb4f8a42e1b4d74e16431f2d430ae71fc316906c0595fce1174f03ac4a4b43a96ef495194ebb7bdc9c4e913d75abb3630a23444b83dea57493034ad7cf SHA512 3e1c8d00503c6368dad6ddf30ff308c563bc95d6a783e3b63653a7ad502a2c51cc570e86abd6dc9b04bb98edd06cf84b702d5b01362b0affd13471403838504e
-DIST firefox-91.5.0esr-an.xpi 499889 BLAKE2B aba37b9426509a2532a26df5ca1c177855d2c87b739e4331a2db71a82bb976de397134176175b82a4715484aadfbf59a07896f7a5414e523bccecc8967f6cd4d SHA512 34e5879ed20489be240bf096babfc2f11a11e8e22009b66d2429100a29ea99a5b7001b5cd6c582409aae713dde69d7f3632089dc23edf1629d5479c63d446c03
-DIST firefox-91.5.0esr-ar.xpi 559669 BLAKE2B a14b57ebf530a17e279966b4a419506049ac8da05445afb58eb09b6db3ed11dc5afce89ff697ff4b83839e3b9c63d6c4c771f22b8b71173f5809cd59db2572de SHA512 9cc818be5abb864d2832b77540ab977ed5fb8792b8fe129bae52206c55c4945c3dddc71840e85eb680bdc0a7007b03adb22d10718a95f096b024fcace10aca80
-DIST firefox-91.5.0esr-ast.xpi 498569 BLAKE2B 0c6a5d2c110c1c674e6e6a81b6f6b7491a4d3f4efa4ced13242a8556347f20561301ddaa264b6ebf6fbc5153d687bbd78d168cfa8a98d3be71c65a2834af78cd SHA512 488c3dbc45297e8e2c833a1a046289dae410153ee7dbd851c061a01c326dd49901c81f17e10116b1c1fc5f29f1bd0de8ac24f94f98f06d9f3e00993194e22b39
-DIST firefox-91.5.0esr-az.xpi 489428 BLAKE2B 1f5ba04f1aa56bb33cf7d9aeb17c8a2136d74676a346a9ebb9bb31df5e2085fa4b2df60e5a7d3087aceb24ef6cf37c6ab18ae3176935cd7d815f76f67ddbbe9e SHA512 0361ed19d97e793290ecef57cec8d04e7771c45d98a16dfaf370cab27c277ef9a7df859f0dc2e6928fa8b31f02935f4430b9f0974859917a4d83ee491835cb2f
-DIST firefox-91.5.0esr-be.xpi 622600 BLAKE2B 0056f56b31c5e264dd47de8329f93e709435722559712d78705f3863c2a6e77141bd0ecd5f0226285f0cea9e0bea4343b55aff52942bfd263c077a38c47dad8e SHA512 456c6b192ca6695e8823b238efa47d0870841a8c5a5e4d66862efc4adcefebccf19544d3e75451c422e3ce814abcfb42bf434e550a789a606f1619a01427e578
-DIST firefox-91.5.0esr-bg.xpi 567631 BLAKE2B 0ea304e30b4faccd9e7b5f079dbc361ec6116df256bb9d5815ab7ee65cc09da8838575f6cf6efa68c51e1877ef3382a6d144b53634f278bb104f1f6af444f63d SHA512 22ef44834dbb45327bd48e13f53d073ef5b04995ee5e873bb65b8600c2b44a1de29056d95fab8d791d05559f5f5c6e5f25b3556fd88ec7682bbf60b1bebaf7cb
-DIST firefox-91.5.0esr-bn.xpi 556816 BLAKE2B aca1b181ae63a203b48a0f53ca9fef4ec5ac7fc026516ff952c45f0807c58c95092056edb1366bd8419c4a8b05bb8e74c97fefa73287395fef542381ce20fd55 SHA512 2ccf968af5e64d87060f948ee7e351e85d5337223efaf2792e91e361201842c28e19596ccf1918de046656464c34bf6b26daa9e0afeaf6bd813963e484aae758
-DIST firefox-91.5.0esr-br.xpi 526253 BLAKE2B 8b637bcd02b8e2e2a162f0181c33a23aa8985c6fcb1064448ee793b3a0bc6e1cc9a3051d796fe29dd793f79294d0cce3beb1fc4dc5eaed08c2a24d199b710877 SHA512 5bbe279ad4cf82096ed67dd30b3f4db3b5933ffbd99be7bf3266177826720e1d755a7566163f097dcd4294bb2afd76b60a79391c8791acc9b5d31b3e0a8dc723
-DIST firefox-91.5.0esr-bs.xpi 463551 BLAKE2B bfecdea1df7551b60e192133db53e91071f6c7e0be6357bc5211a0c80e7e1227906de98d709ceb14915a0512d2aa957e4d76249f4c6e5acc6b1bf37de8cd29c6 SHA512 0d550900212b7fe04dadc1852bd4bd94c7e237129038fa501f59a57137380f2c5dbce8bbddc0bc20ff22187be0d2fbad9294448c8764d6ce8b796487258b6bb6
-DIST firefox-91.5.0esr-ca-valencia.xpi 529395 BLAKE2B a5e3631884fc49494878bbe7fcd1f7e3805063cfc20c314c3e53ee63f39bf119eb22daf8446a252c8d55916c5efc74f0c7a7101cb93d82086ce6ef705186c5bc SHA512 dcf948775c05441bec6e6e43d744cc3be1d65eb02d10746b358b449e3f480840cefa737bf056446144cf90b85d6998fb0716722439b8487ac42cbc5ec31ea257
-DIST firefox-91.5.0esr-ca.xpi 532473 BLAKE2B d55c160f91f46b7279e2d5027fd288825fd0880e5ff155cf9412d0743a76bcc7cc9b30be0ca6e5635861bf1b3cfad853bdc330197569fc0a224adda2bb7915e1 SHA512 1170ef05aef578bcbcdbc9aecabfaadd604e1b9b2e7f432f8e4d8d74097eeab02e7fbfc26896e73a119e48ba431df36d7f3c080498ae70f025588e25a805170d
-DIST firefox-91.5.0esr-cak.xpi 552602 BLAKE2B 486296ff839e786e6d64499a371d59c6da61603c784e1d15a875ec35ba651ee971c290ee71bb6dffc0727ca94df9b445b983052dbac19f1ae913c486fc3eba47 SHA512 51c824142841d30e25bb66a193d77ba767335d89b5b789ab8208301760073214b535dd74e9bd4a840a0db0cb0ed509d166ac6531f726f657ac9d6cc715ee2326
-DIST firefox-91.5.0esr-cs.xpi 563172 BLAKE2B e4591b036f13585ed6a5599eab5ca00afe99c99773ca61cdf8f5f567c2940dc5e579894c5651e184d91c6e411d28afd8f50b840a2f318d9104c87406af110d00 SHA512 658b83996664e92fb85f78e1e6380a108a324f1e9f6d786884075b51b09fb3cd8276ebb098766ee7a4defd51d7997d000c06033b7f029a85a2837acea8942f72
-DIST firefox-91.5.0esr-cy.xpi 542214 BLAKE2B 41d93142910b9f010adf63913d5e5fe84444369a11d145361ba15de98ea8a8c1c5d7d997aaa94a5523bc5c1ff685d47b22590e5697a0e164871ef064d2d2bd8e SHA512 9eb53835948e62d824e31d48c6d3368d211895d09ae5bf08caf2026fb940ffb4d6ed3ed1ca5b9116dd3d9a255a77a9774db5c4d4a7f35f8d1d8648a2a871e41d
-DIST firefox-91.5.0esr-da.xpi 534155 BLAKE2B f3b24745010ede45ea1b3f55265eead4588487bdc2ccc0ed1758cf2db7e8c574ff61541414723b1f6cdd3216ca6f8111de5a005f5c2d57991ff664c1804c46a4 SHA512 7c703c80d2516ff792627533b53f99abe1eeb46eac603e3c0bf8b0bd183b40002322409e000d19bfe159337403282fc1d5d784bc77044b6e414aafe9502b35df
-DIST firefox-91.5.0esr-de.xpi 553584 BLAKE2B bbe3b25637f64fe73f5abf1e1a228970fbea38d19cb14f21640e7231d1435c58c026763a739c2cda390ee2506cbf904beb47771870b600d4ce675c042a101f9e SHA512 2cad54caf676b554d53f61708ae9c377bbf0e57ab28961c21ab3a49dda11d6946c71ffba0eac91a52815eb296f21b5467c676b1dd7604f3d2b76e06486b89246
-DIST firefox-91.5.0esr-dsb.xpi 566488 BLAKE2B 7815f46b5719ad66c0f45438dfc87552ddbe6b49d6e43f1681de00e1f7e8b10da81830e4eae7f77d1b5ba0cdcedc6370972b031a79234193e1f030f4875f01e7 SHA512 e2ccf6c00e4e9f937bd5e63d5fe378625013e9540457ff9b9995375330ebd5e3bd2d9a54fb72a41eb4698524cffb7a6c243fb78e2140cae07ad1c7d4ca376423
-DIST firefox-91.5.0esr-el.xpi 639146 BLAKE2B b95d5f1091438bdaa7b71f614584b5a108dc1feb904d31003d0e2da7b13173a362ad1c8908a79161d4d157f0fd39ffe5d4f976a1b5188834cd857d3cf5d44c57 SHA512 2097701a83a4bf0505b177c0a17fc1d2385d179a340a0ad684bcfd4e28df45417eb0d581abcb1511018db7b27ba4512cc9b8c89bd0900aad8c0b2bedcb8d3368
-DIST firefox-91.5.0esr-en-CA.xpi 509575 BLAKE2B 18ef5191755e98b7ef46680dcdc2f38cd0fb17f46a3cf9e20a8faf6aab2dcd269fef9e1b4d947434be78fb6555a88548c7d60c452d95e10700cf764b13ea791a SHA512 8c30571c5153b44bfc369708c717adf5e8cb4f991b24e65b810da90c37daea39aa1960fcc4db2068c17b9ef364581e3e344b5fba7502e7c849987ff6961984f6
-DIST firefox-91.5.0esr-en-GB.xpi 510586 BLAKE2B 2260ec4edeee2583880769896de4e1c35f8de26b2d12164b0cd3e11b1128c33cc79762e90cc335b29047fa869b0c52a3e7fc5aa252470bb11cb1986a2764361e SHA512 40549401c45213c0b05af012f639781ea896d70269ca10a46c61d41733ffa03be1eb33dd0435bafaff228bc017a1297edada2137202264788e400ffa5478b606
-DIST firefox-91.5.0esr-eo.xpi 534806 BLAKE2B 45a78c1a7968e18193880360b4603c35976cf36d3e9e8af1ff595b134209043fe83e16842630f3ccfae01b49a45a633997ad9394f43ad070466a2e83c472dd25 SHA512 61ef931eed7570837ed71d3646bea84a64d2c2260215bc08116013697576cf793b352a6f61efe420f9e2e43d14dea06ad1d5b10b3ec07f0c8cc6fad0cccd681b
-DIST firefox-91.5.0esr-es-AR.xpi 546672 BLAKE2B f8b24fa92d6280e1e08b451ad159a154aa9cdc9936f2dfb32975d087f31fcf22145fad6c19457217887903c1f59562869b433828f7548629b3c886d5b75a1ea8 SHA512 1a10743a05a028b0aff088cd8fe26a8af2774e1e0d41e716881a90443503e9ae46ed4207136c17f96a0d966d22768511c1eba66435535ddfedef48538b0830f7
-DIST firefox-91.5.0esr-es-CL.xpi 546370 BLAKE2B af33e08ae17405033b9d57b4079c125101b3be1673b511a558cf657ce5018047f7025daf9410ce5d5d42270c90fae4d3b9cc9e1fde56b52388859092b47da120 SHA512 53eebf548b165551571924eba633ffe56dc8d85cdb348a72366e884593c11880f6c7413586f1f6461888117bef5a3d330a84561ed045b1654fc9e9fd0e031f0f
-DIST firefox-91.5.0esr-es-ES.xpi 537058 BLAKE2B 74dff115847fec0f908d7d5b886a726296e05f8f8f1b64f1a26f828d62a973d9b59bec62736d35f1c823f007d7c8beaed30278382046f42f46431a1cdc2466a1 SHA512 11a956c9e794369835a7fa5ca00ac824d7863a560625bde79bd99bdfaa98e9171dea775bdda0b728ff97debb7496da209512f11af57be829ad1db9e8a30f3848
-DIST firefox-91.5.0esr-es-MX.xpi 549997 BLAKE2B 39048c3f1f2ad87dd38ed6b71bf27a3f7ea660b3ee0fb2ac1d632111ad49ea39af81a06631b4366913336cea2c2b7e677abce119f19f863d28e6cb36af5ecb9d SHA512 f166db871d3180cb596d29a5374ae7546b4c60ddb06498458e985169f496c579dd729e5b522bf877d83154c2fcc1556d4a6b766481e08aba6f4c0ff4ed9a6a3d
-DIST firefox-91.5.0esr-et.xpi 506659 BLAKE2B 39cad634a5f6573d4183cccafbe2b465d0766573ac430f8751fe7e29c1d50028d1860d8faf00feccf94f64f82ca74d52613b25c9365cffd11bfb19013040926a SHA512 801064f76437ef5c263503e79a0494703b81483282b437b482b9484239f8a66ca08337fcd8949b453053235d4c3700cf92415c6f63a272fb9d966cde97a23660
-DIST firefox-91.5.0esr-eu.xpi 536324 BLAKE2B 49e6f84b9b37453bb526b37d52b0b566b0bb1889942899053ba4f78a5d7fa3ded06e076ab8950d03b452c678970b00b698632f4acc4895727e4f0a57f73f7d51 SHA512 e075535f32b48d5aaf6c680b09d2b4a7a8b0ed61b43bdc2ae53990aa1092622cd757d1ba8d0c758f876d7d019807b504c634e0a18e3670427b6802178ec92f8c
-DIST firefox-91.5.0esr-fa.xpi 559373 BLAKE2B d6fdb6e4f111199122e7ef5bf3523037462d8336061c24cc8d7e61b113d2aa839a3d6529b277024701129d2ea8e53720175f04193e2367315f59ca677b6a53ec SHA512 73e534c7a7e58b977a5e6f1ee350b1e28a1ba15c0fcaea06c08afb925585573c672a72995937a519eedb0911f60e347984a07cf42e12e4bacf27519c1d4c692e
-DIST firefox-91.5.0esr-ff.xpi 471858 BLAKE2B e7f906d7f4a29714d5ebde980245784af60ecee9bd9e166fda0c86c212b80fe2e35ba8914924089e92c48fe58cd0c9982a0f3ebb516bef09de0b34a2f81c2685 SHA512 e65112c6255504d6936b8bf606e74dd96a26fb8a0fa9aca0e5847265094421f78e56a03ed063269564f8b93ef3480e51cc1cd4e1ee121640e8cb120e72eccf3e
-DIST firefox-91.5.0esr-fi.xpi 531490 BLAKE2B b2d19436a827de42ed8952a662d2e5294d1c4407d59b66eb167dd53d84a51bcec895dda0a3d080ab4666f3cc19b113f2b1a6fd51eb492bd310efb93aa77d607e SHA512 5c875c05749fd7720dcbfbf21959cf09cbd2e1ec381b1037c722174b37917eec5a176af450393daf855e2b53b3ad94467d99c5191f375c0e1c6010f97bd1a152
-DIST firefox-91.5.0esr-fr.xpi 557619 BLAKE2B 902264b285f6cbb8ca1ceb1e8783ff1cdd68ca398937e52ca1b2311c7c47812d716d30c41b1d55eb3b94b15a66e954ea3bdf7acdc6f3e6b01eb645338541a6fe SHA512 57bdad32b843addddaeed8d16c80d702a9e18c6231c37748bb193add0bb5a0b3969aa3f694e9720ca750cd9569564bbbb589d2d8e2038d963b4108de639aaf01
-DIST firefox-91.5.0esr-fy-NL.xpi 543294 BLAKE2B fb49cb153661ad8d6fa39424edeca9ebd65af4b97af0d51bb2fab70ad2a207636fede478b37f5f5b3a93427a5e9fc8d7d4e584c69aaf8a4e27fc36af1daa2b11 SHA512 91e297f80421d3f9a67e5432e65f86cbfcb91605185cec1523e9128554d7b8cae52b1c496d70571d4dd9511675ee5d62c5bbd42cca80a76c8d2de0d57a1a8a5c
-DIST firefox-91.5.0esr-ga-IE.xpi 459840 BLAKE2B f47a727647c289987102a3f348de8b414682a6d557f3898715a6437da446f8ad8ae2cc7395e9d65ba4b48fa3d7d3329bf5d9ecac9ed74f26c4415b8db9314822 SHA512 85bac99c639d23324fecb96790e5ad910bf706a0d65c3bdf1a3afb96fcbaa5ddc70c68113454f16a61fde4ffed251b53cb734182e2b30a7150695d0416d902e4
-DIST firefox-91.5.0esr-gd.xpi 530849 BLAKE2B 9bfbf41470aa3e15b3d7d82f5fb2a76ab9d752e44923bea9967f9941251edd4cf234f097e3f9e27d6bdabbb2a7712a44cfb3458c766a2ae91bb323d8089fd310 SHA512 f7c27188b6a26f417d40034a12e820f202000467e3017f0a1c3c38a4047ee5a11be7850af2744435099dfe4498ab83c695e5adb47b27759fe82d7a2eb822af2a
-DIST firefox-91.5.0esr-gl.xpi 541293 BLAKE2B 58be06b61e4a5d7e0ddde5c52a9d18395590206f7b5cfa72dd3904037886c51f1767ff68e6f17cdbea216c2ad7dbcf347cf6b067fe36a121ca05ce83e412d66f SHA512 f87cfd75f99b485eda1e46fb76ed09315a7530e16ec573f2cd5e8f665e5e47895dca8911ed875a9b07638e58dc1f3d3b2ead01e27f86ee0d9b64ee9b19df0a68
-DIST firefox-91.5.0esr-gn.xpi 557600 BLAKE2B 4b7cb28ee32b789f9e2dc37be14b428ffa146f3bf6ad393365b75abb33d1f0eb5a6a4c228f62519aa10e332c7d6ff73a3cf4427e2cf6728fa9ef0e50d6ac3903 SHA512 150224a91411d2c90f9881491d050e859bf3bf6c149242b7dccd922329d0879b852149faf3038e56b710444645984a6957fa25f10a73f7ec95398129ece19c72
-DIST firefox-91.5.0esr-gu-IN.xpi 529543 BLAKE2B bcd6285438e6c9b4fdfb5eb0b58eb5611066ccd7e4710f694bcde9c8dbce4983690c9a7d3b98435b94054011dcc28b7e780cf4c756c8a4689aca5a6c0ac9a3c4 SHA512 0859c78e38b0032f751a1b1868c8e3ca5be8391d551f3d98a118c880392eaa9b25041b808285324ce0bf476bc6405b8df5dcdf3691385e3e8d7756e56a69cc53
-DIST firefox-91.5.0esr-he.xpi 557198 BLAKE2B b53e250a4b9ee818bcda9c6e0fa5ebfa5cd835e5759654f89c176eff599520dbe48a5e6ee275c8a1b92ca323dcf49dedbd0b25624beee653758227f8f64c8ce4 SHA512 e9e67848034b23bdd92b8034ecae931a5306b520bf7aa60579aca681b8fdf3a66893997308263f372d0950fe193e1feea6f85fe41d90fe7ad810f94701200aa9
-DIST firefox-91.5.0esr-hi-IN.xpi 560647 BLAKE2B afd1242e62a39fb7e4e216fc3d9adee3069dada937c2251aa17adf033b2b94cdb1b9152f4403f51ef98b0699ce604a9f42db447ce6d49badd7e2b15fe5b1054b SHA512 0ac39af30c946292fafda094a7b1a54226bcc4f7b0d0d2f91647f826003612f2beb9e7e3fba944290678daa38f40d88012b9cbc39291fc755e5d1001da4a50eb
-DIST firefox-91.5.0esr-hr.xpi 530054 BLAKE2B 5d9a4b0295c35af84907fc365877c67e84a4fc57c2af98cb915254db6f78238f5755204b88c4612c34d83270537ab86c023413044c51336095a2f27152d21d5b SHA512 05a323b104d607dba5d4ab8638fef9dd73ff311a407b48524269aeef2aaf6f403df1b1482b9bced13f9bfed0cd071e47806eb01de3b598a96403728bef1838e5
-DIST firefox-91.5.0esr-hsb.xpi 562620 BLAKE2B 85c9f17ab7ecc33d635c80f2366213f4d483b295a4c023a8611a87d983c856d0d7f48e44ae655bcbb01995be87bb9bd704836a1b9e51313a70187b42beff1365 SHA512 b4af1a5ecf8b5948760e0dbdb9cef22fabce68cda6860776e7e37122628ba96b7aab57ce44b540fe019e0fdb62a8354534855cbc58a80cd4165c3afb71eb8aaf
-DIST firefox-91.5.0esr-hu.xpi 566070 BLAKE2B 63788aec80118e275678a281c4fdd7e1f59d567f1bf2bc10f29db9717f939be7b3becb96116256224a9612638d5f920b7b4fceea5cb21e1772d6c1d8a69dfe53 SHA512 e265b61a249ed744ad27344573bec3a6a44a1d2d92bc253799f22ddb9eb2ee8d5abdda7105d152c122281d66298d52f05e06e6ba97f2eee51138b892fdb196b3
-DIST firefox-91.5.0esr-hy-AM.xpi 579761 BLAKE2B 1264c414167f527628ffe4a344d46b18d6e5f48e0a542d90d98648552ccc53b3e0121124d8ec6cec9ea4b1fd5dc7865931547e3ae5234338d02f86700ab674aa SHA512 a4bbb015e83a985758fe34b5b9a70cdadb1d2834508e1f1302613fcb8029a44a19c485b2a025d993b72d16bd9fab02f33faf4e8f2609306e94a82d40053ab6c0
-DIST firefox-91.5.0esr-ia.xpi 532144 BLAKE2B 2f430ddf27a77ccbec84955fbc4991695706513837210319eae8158a0ef51e2f5b9837c482426c915c39a2546b71787b1df02d120aefd8b168d9879b7f69a9ff SHA512 5dbb5a8162d72eefd77fc6b53cf931cce75384efb513fd6d57e582df75b99d13a7034651042d3233e67555bc6c12b4b510aee1cd8fd9035df76d69a8234794e8
-DIST firefox-91.5.0esr-id.xpi 519833 BLAKE2B 79eb464e3895c0be241db1485692a7705e516479fe64338f943872db9e369bb274ada3c8ec449a26c0086eedc1d529bfbfb618b979d03994ec46d20073d930c8 SHA512 f9f20dc921efb40f8847dc777c4d2ed9c3bb06f4e8d369a248866fdd9d1ddf7a130be66f3323470e38873175cf25b13cf7a70965a447ccf71a9d188d8dc9f21b
-DIST firefox-91.5.0esr-is.xpi 470228 BLAKE2B 3e0a542a26c89eb19e39356791f12ad289bc32289ea461152247bacfb56482bb90e1a93d5e2dd50561d2fd88e8f3bf4a1837a804a3cc0179ebe4a809ecb300c3 SHA512 223c59578756ad381992f65aaa69eb0df66c0f1f1efd81c8ccca285d5155df16a6e4099d92e6f13f300a481799716c2c326400f0cd853718ffb75dabf8e9dc55
-DIST firefox-91.5.0esr-it.xpi 459081 BLAKE2B 2bd8f5fb1a65a4ff601dd32f83bf2621676a01021aeb4d19a48c74c9d8a9e6025d0ae4a218413541c7435096c8ca3734b55135c59433a2bf228ab048baaced4d SHA512 faea6fa173524599dbaccf44154d65e0efb276f413c8c7e1d0a9ddccd0dc5f7393c487b021aa9d71bf01923222de9d1e4068590da1eaf7fdb75af2e1fc48dd5f
-DIST firefox-91.5.0esr-ja.xpi 588071 BLAKE2B e7e3c95e4b34aa4a50d0eafe7fd19fba585d8247f35fec770aa7024d1e1409c03224a2daf5779c091efa1b430c219be61c7e3b6993cb6b3bb7d5accd5d066cae SHA512 c56c5d6f3a8cd93c1e8349d2e2ea258ea9ead1ec8b25a2d345ca60b0f91fbb31e1ddd3cbb93ec277bc2c23d37face447bc4bd614e4fd9cb632bd7d40763274e7
-DIST firefox-91.5.0esr-ka.xpi 592249 BLAKE2B 6e51a28303ad85b763977bfb029377ca07e1ea815c2da2909c1731a64b5c6258d24220038036f2d8161dd638cc83cd6434f3909832d70b16194e67aaffe7eeb1 SHA512 b7cd618db443b43d2401afec74bcf503c76585c6668c77a2a788be72a4be04ea6743570e518d213afab58bc27488c48e25d99a6ee4f9a3b70cb0b33f1fe2960e
-DIST firefox-91.5.0esr-kab.xpi 545025 BLAKE2B 391a09090a2983be636cf3253a09725e703976fe9be2ec28b5e857de2374cb296f3d4a57abfdcdfd3783c0e7a49be2dab49dfba0a9074da6986837af5c759b88 SHA512 616f3d5526b46e12ab12dc5368025464c0e0fd1b59bca69ca587e5334a33e250e9317a7d595e303fc284df729022cd3520de17e4c56c380ff5d0f47759ec46a7
-DIST firefox-91.5.0esr-kk.xpi 605554 BLAKE2B 3b464bc705f538165ae90529f3e1921b1c4ff5cb3c4df8c6ae5f943f0d43cf7cc7d3af2cee0c3b2560bccfd02c24fc63ae5df1cad8f2689d37e732a2d65e0930 SHA512 470604dba3522f7cfe9c2e0acd888f2dcedfee8eb04f4298f28b9b6f46288837c243d7d5e97409cbbc22a141d183bcf4b763c0baf82feb8c06cb038bb7e50a06
-DIST firefox-91.5.0esr-km.xpi 533105 BLAKE2B 63048c6894918f4446ba2481b0fd1801d705a9a575af8e1d9f1db0b423053651f5e04f59b9b7663a7762f440c0175699ba594f7728f249d685726447938aa4c2 SHA512 31296dbc51b58964008d419ce31bc37e7c98c6c27bd763d6b15f3ece0db403fd79546d545bdd980330de7809dd073247457db45de74e30e4d31c63ded83a22b9
-DIST firefox-91.5.0esr-kn.xpi 498972 BLAKE2B 8cfb8f1fa243426ee4dadf66f4b817b21a5f5c027904e011336ed1d0fb15f290ff3080b80bdc723e84eb9df848c739666ea315dc426506b85793e85d3cd6baf1 SHA512 aabfa509877f271ad6ffec07b5f8fe8fd3f11cf0020f36426f8e91d793afffc405957df29f3807d878c8b0c4929ff42082f6eac8cdc9b8edbec27ca3ada97a8e
-DIST firefox-91.5.0esr-ko.xpi 579063 BLAKE2B 2ee394c88ccd0a4b7b2d78acbb2db47623aada933f78d792ef307139872b98a9680a8929de1b254da5a266783efd11d81fc96e1d54a29c984043016d7e9030a8 SHA512 6c18eca694def01b3a48fc6d9a20b785790eb9dbb22484716c78dbd29512d27758347e4e04aabab869607f7edbd47309d6c85d298698c506ab409d715263200f
-DIST firefox-91.5.0esr-lij.xpi 470177 BLAKE2B 7db578e59a1df41f52e861b13ac424fef557bfa31926aca25a1d6490d731cdc86997ea826c9bdae9f6122a667986c5080b61e585a77cde5467b514f2a0b5ec2c SHA512 d660a7b34c6efb1676bb1a151165bc684c80aeb97d7b770e2b75685c3951eb08e8af8851e93364d4ef3b6c1506c8215434b69e0bfda4e5804e790d6556de3179
-DIST firefox-91.5.0esr-lt.xpi 560100 BLAKE2B c58832db62ad1e449f7f5d2876a2cba80be9bace6a470c91335d3493a806f7089377280a65753bf8f8ddcac64a4ce7bec13fda60d9f43c460b7bfb694e175b0b SHA512 2ebbe65180663c02ba615321ee2f3b90e073322f00d6484d0993da379c1d0930f2d559718cea148c0315158869890edbdd6e4a4ad723cbd2c3c3f6d9143124c9
-DIST firefox-91.5.0esr-lv.xpi 462450 BLAKE2B c4fa69b4a871f9f0668140a85dab1fe061138375b4eb05f35556c62ff8837e8728ee15259f4605494564b0a70e7860dd214ce41563db471a43a07107fa862d93 SHA512 8dabdfd7737445040dd053a7e41f5d643ca0e7259fa96c729c011d0337eb0f6e103a93fe6219a796e511154432ad6f8741bd7a382127dfe4f33595b76b404bc4
-DIST firefox-91.5.0esr-mk.xpi 465346 BLAKE2B ce9a01cc308575d50f252204ec192f3732410c491cab1ab848b5b36e82806176eea5fd2bf58fc389133bbdd991fd45e241c23d01087c354531172789c5990c5a SHA512 e0cef8e9f8a94c35de9d474fad20c9cea038de9a5c5fe2347bc63994ba5a2726e8b58c87066ec65d62eddd4b407a89d19e2a4da36864da1932f373755d801150
-DIST firefox-91.5.0esr-mr.xpi 532125 BLAKE2B b5e3066c724502b4975819c68186207e8abade9dff3ae65490d6f078c845d4c11b947aa3cbe1eda4552c55414a655c344a50b02e3cf7bfd1e79bedf27146b2db SHA512 83d5a70649f954a7f1e995e249f6f5d955735371ea1aaf5940d954e02ce0d47d8be646858e36e16f8d92e9968f68a6e914c8216ff391f4bbffddd1e003c838e4
-DIST firefox-91.5.0esr-ms.xpi 447347 BLAKE2B d782f28e9365cb6087aec5dd4069d1418af19889e5e8323fb941a81a0763f7086bef4758b4f08e36bca9e577809c2f00790df95fc16a00984c0d917e3fda8f5a SHA512 26b03bad5742d2a15b6e8d9bfeb02e7e53004308e573e5317d0c70ad61b974fd81df55a8256994a9a834dd19c17b4e8efdc6dcfeb92488217448806cbc691252
-DIST firefox-91.5.0esr-my.xpi 516305 BLAKE2B cbf9edb70d9e02e2705609e18df6a69db7224c62d01b37d9e77a20e0536676a1237dc4a1aefa9ed3a3d600628109f5a091dae10465ee5235706c7105567cbf3b SHA512 2d25af9ec3d6e659d28df1b943075d471c59d31121dec17b40d76db9d58ce5599bcc2c99607d197d238ec7d1a23eda790507b6ddb10cf684c0932bf402ffa681
-DIST firefox-91.5.0esr-nb-NO.xpi 529428 BLAKE2B 5968caf68ee9725df7493de10e38cd0bd62257cdd79b4615630a783e3da4d4f7de5af4786806d2c22118fe10a0e10fb7650f5fe47c6d9eeb78726c35f53cbc53 SHA512 aa7f3c0bfc19ee4bb411a8e2e7bf1c7ab99d9b43bfa0da14ebf4785985d8df85356c76e526c8ee44deea30c301e57c926cb67243b7abdb019bf3951150c8d489
-DIST firefox-91.5.0esr-ne-NP.xpi 485223 BLAKE2B de6ef37100f90fc4daad0713541426497619edff7077ae70d430da8d71d90ffa91f823fdc8e82de512b5c1d2c337eb1759b8121a4a10272551cd6d6e1364d049 SHA512 cfbc6e4c8a968cccd125dac232414a3ae24d5a038e5f9d293e355c94031f9a328e08fa4a84fdc538eb17e8d400d25e8d660ca5345be19ca51e10761c446ef6ea
-DIST firefox-91.5.0esr-nl.xpi 537389 BLAKE2B d40512862b2e4618cc3bc10f0689ad3fe5b7db044c2157fbe59747ccd7ccd6c65a616cdf6fada7634f25c9c53bf33f6475991b7f03097c7aa6e0f866da35095e SHA512 02258b95ec3672c48f8fbe4f53ba7301aa093acdc8d891298d10cbe6b98dce3b9eba20d3b14b0288bf3ac91cc132963c0f550b09fea4efbdd5f8c8cf79a32429
-DIST firefox-91.5.0esr-nn-NO.xpi 531679 BLAKE2B 2fef85112864be045f0342c9dc053e2c3d9f36ce53152df4d28e65bdf7a56ed20a6658442dc4f16fa969f0a831a451bbd01d5a4bc65ea399b072aa0720f54541 SHA512 35dfec9933b71537db3a9ec99de414d7b895affdc3387c0a1f8adb23a95fba59a1c81c094a9beab7fdebb8133b166a717249f42f857aefcee0d127f1fe35eb81
-DIST firefox-91.5.0esr-oc.xpi 552943 BLAKE2B 83e9495834e7ab9141fa838685db3630c27dfe97e67f6505f62095086c3c575af98e9363fc3a75413ad03c207dacfa199eee5a5487f6a68a9b311e54b486f286 SHA512 13a66fc0620235df77f5e044fd5c53fa8b67ca1586305aba04be18f8e37b9ac1c94b9114fa8d083fc51c172c74c11dfa7132da524bbf16a8a840d084dece75b7
-DIST firefox-91.5.0esr-pa-IN.xpi 595966 BLAKE2B 458085447f3755a9718a2c0cba6aa033591381916c31b9796a534ead98c2b18afc8befdffcba00174c006ac188429db907fcdb71efa9de003abd762970769e95 SHA512 8c807e3442d84171f598bf2a16d8f2619b744e9c97d06b7a07adc69367d84d785fe8bab25340033b9c13535c646851e008a81488c632012803c5b45497122599
-DIST firefox-91.5.0esr-pl.xpi 555616 BLAKE2B 6c894daa520e36b1e13b70ee58effde3225db45791e1d25c7b9aefb8e0bc0f2b4553a746be55654ae868094ebd2f912ea1b9661d2c626ace98bc644ed1f68213 SHA512 c4c8f6ebb6a15bf0b996424ba0a5087937e5afafe36c86652761aba0220538be95ad439e949890942a3d332496fb65b5cdb0fbefc72b37e98e760cbd3491efc7
-DIST firefox-91.5.0esr-pt-BR.xpi 542619 BLAKE2B 994f09d38273f2d71d7facf4e214de32d1022d835697a2bfddb3cf24c9acd527cc8a7fa08625d1e217f8fa0b182c13e3023dfc5300870705c2da64cc3c39a160 SHA512 5d3da7f18218cd00bf274ac7da2a5f702fd3cb5481f5134e4cdf64bfdb8f8a0a67174c13ccf8f39fbf053fa537637154a0ba9284abe9db7584570f5bf922570f
-DIST firefox-91.5.0esr-pt-PT.xpi 546342 BLAKE2B b02f1a8ab3e71f2ba19d9da1e86d21c06c7f7ee80b6b465c4534b39a90a84ec5c4e4c313a3c01267b587600130d58f7e875fd04a3fc3adf7aadaaad4a3891b3c SHA512 c4052e219cd6080e922337422595e4969a921b8624813d7e7f8144aaeb3d76e575fef2a8d67c69664a2e1f6ef6679ee143d8647997fb6df0da541568f8c60892
-DIST firefox-91.5.0esr-rm.xpi 537359 BLAKE2B 51b1edac81fcc4b26d5960a38812a97ade39b0e0f9a4b6c80f549af1b813ed91b3e1a47d504786ec37bda49d95923d8f2dafa9c18cba39e3025f9ff02cf4ee41 SHA512 4c59fdd8eacb247512c9fe8745c1b2bd3d7c198629253274e15ca72c9532db6c3bff2c2bdcbc9e21678ea1e02fd5e4e33b8f5c007b20dec3d2a8cb080e190ba9
-DIST firefox-91.5.0esr-ro.xpi 529330 BLAKE2B 6c6ab3efb866852b6afef3bbe8629d491313d0b9122c43db93bd35842b57dbf15c24b08401e6e091da4407c9d879b33cf44dadddf20d8123bb2c6f519f6f9785 SHA512 fc1b2d74678e5ae8cc4e2603e53fb40db7544122691fd452b448321074d477acc0a5370afe4a93b4b9247439f13e26179b1389b2f80c9d45ad46098d2f773a7f
-DIST firefox-91.5.0esr-ru.xpi 627114 BLAKE2B b36a89dce9087ed4062f30038cd1add644bd86f633e98732a55a57fb76036a3ce46322a9b60965db70a7cd6de7fcb6b26dc4ad1f5cee8d7d557f5c85df150071 SHA512 9f1f61b14546723f1865e4092f07cfc50f6f3f37f3f475cec36b201bcc3de96421b71fb39ff9e81eee4a7d1a4edd6eb8b16c826c3214b886fa9465ba8a61d18e
-DIST firefox-91.5.0esr-sco.xpi 504853 BLAKE2B e6513524aedb6b22138448dab2701282b62fe44f98425206506c1d181204f36caf96a16841be97677403edcef711ed05e6f4cbece9a2e5c51e92dedf0e34614b SHA512 11345a5c2df32023684fa19e098b3d960a84c266c392266d542615d7c844f8dadd2c480e9f78b2b675691b906510c9e80ceec6e05d6eb7bc8b0f18b21836cd0c
-DIST firefox-91.5.0esr-si.xpi 487953 BLAKE2B 68753d52e66ec7a68eb26e6aa68162bb288fa4122d539e0c9f39e709fc5eaa174be0890ea08fb6a7d8f42741f5770c8d9813bf0947077171ace9dc7a22c271c3 SHA512 a6a2e968e261a6f21fb86203060fbf7f70aa47ca400342c17ddf628314de0b7f5d253249a087a1e37a53435e8acfde03d1f8ee3b39b55584e4cf011125c164e7
-DIST firefox-91.5.0esr-sk.xpi 566475 BLAKE2B b1a2d22e86d72130ab78e88391cf1d27b15c372e5eaeab9716661fb75c942da6c24f9fbcecd2329e89b0d298c56457ffbcc6ded364b8e3801174888f6c24401b SHA512 0d5a1f6b15ed9af468fc0b2d08c4c7b27ecff27bd0ab71580f0ce3b72d0b840ce78e41c78ba602fa2e030a9d4af0002a3bab210e7afc04e3cad10b8ec20d8694
-DIST firefox-91.5.0esr-sl.xpi 538000 BLAKE2B 1c12952c43f48423c397ce78bc7b513db6e682f8c972b5af02eca6a49d9f2d261353581f8c4bf5b7ef6ca2954cd0489b9259b5c3667d7fd67dd459239072779d SHA512 7342c3af1b1e6b9fbbea2c9f5baa6ec7e5bf0bdb6d516132abd18273b74aa8f5d41f166e9a75a66e1617c441ed935f065024c985b6667b63fc399aae9958d5ab
-DIST firefox-91.5.0esr-son.xpi 425996 BLAKE2B 29a3958ab9b2727e9740efbb50b2dcd3cb71b2a4a3f74a1009df8b2ec4f560e041aa27dce50624aa841cdea2754e674682c02dc8b2b268b21a997520195327a7 SHA512 9fecccbef04684c1c8287efc310b4878bc3581e2855fd87f03dfbff084e2b90771604e4eb9d98af6f3ca956ba7f67311bf8ddcd63e11da2e76e62f5dfd0a099f
-DIST firefox-91.5.0esr-sq.xpi 555995 BLAKE2B 1a4f1b2b5eb6dc94cc092ac8a0a4d78b329e0eeae80f9c3a112381f850ddfb7d1945031bcbc52b8e261f2803a2de417883f3c01a1ad781d09583a10b090c32a8 SHA512 aa4335827dd3b0918998a4b90d91de0cf708c135418c5dbb036ea9b3aefba601bf83add13f617b37dde91bb140e18704f16a685f1814944d191c28bbf73f00a8
-DIST firefox-91.5.0esr-sr.xpi 586078 BLAKE2B 335dd200ccb2fe3b4c070f090958fe7dabea6b992e4d12e41e80ed5a90f7a3754c50967b1a37e91e8dff6ec6dc53a021496e84a427842f90eeebbc0acba3d49c SHA512 88e2e405b57e5bf757a838e1268fc882c5db106e634463efd4b66fa8a8a5d2b957501b1415e6cf74ea951a541f93b88eb82b5c69036b1f060c84fba7bce6ab75
-DIST firefox-91.5.0esr-sv-SE.xpi 539955 BLAKE2B e39f89a5026384bb03db5d2fecb624d83cca2ddbcbed7ec70cca4b36ffa1468048333002c1c17757fbb015f29c34b3d4a604280cf7444c02695c96e8184f9c3f SHA512 377e8b237b006aac40523b6a729c50dd93132b34d223f453caef1d90a93bd642d0f0a7766910dbd3cbdd4570ddbc025494bddefbde428e77fe70ee6b75b73c2b
-DIST firefox-91.5.0esr-szl.xpi 509806 BLAKE2B 031f7a36c22ab75939ba072ebe803ee9222dc279b2c56aa2b56f62df1ff8dd0c3f0ed298f2779a7a3cca886dcaa37c821be139c7326fb93428d40808c0b6d646 SHA512 39281223db52a5d64accb5879555d85e3052a4de188106b0d22061a56ddb195ce2cc9484505ce02930e75d986917eb681b2b25c7ea61a725ddf795accf21e6d2
-DIST firefox-91.5.0esr-ta.xpi 513810 BLAKE2B bf25feb662647a6feb62f1f8727a74bb7985881eb9f169a9d3c1af41d230befa88f89316597c0946c6085c73efdb546ff017c7666ebcc48d6a8513c4cd3f573d SHA512 95472ee6375791d36886ab949f3213389897ea4d69f56ee6e791ba33df6945899b8f01e3c165d29da2533551b2ddc5ee38feb41881cdc539ef646deec2823a2f
-DIST firefox-91.5.0esr-te.xpi 549961 BLAKE2B a18a9ce769c56a68098a9c04a55534fb3cce2e7d95d3eaae5d5f0102a46850e6292fd54eff7f0e58a1aaea474fbfc80b9df2c76a8f2fc214e033e3488658c3dd SHA512 9525b68fc44a2a566522cb25a62003156479a2423bd401f4b2256020449f09977f67c13e1e1e417882e5407a145c1068130197a5cb29dcc291fc17d8d4b3e21a
-DIST firefox-91.5.0esr-th.xpi 607069 BLAKE2B b46dca48f4e7eb25a5927978126ff5b358a60402f29ad0aaf31f2be159b67f2fe851ee71be5e0a7316c8c17a4c36d083fc0ef0134e9597338dba215464f28afe SHA512 b35ee20aebb312b9d0f39773a39a9d6aca059a055c0c37aa70c753e9d2f25681be296f03d27716237cceb71de4d47a49665dc643e998febb0fdfea5e1dadeed3
-DIST firefox-91.5.0esr-tl.xpi 516122 BLAKE2B 62205f702591e9e56a7c5c74187b0db59687a49533ef0ee2f84aa54712371c5973954dafb0d32d1d8d670e70d0bc45ea6a2249fea591da5e8d6ec9bd51374eb7 SHA512 67f5a2ce5cb39e6606266bd8a2e6e77a2980a047482a81435291422b95b07a859de323dbdf9e8d66dded0c7a55670befe09072e659370973d0e961306aa32621
-DIST firefox-91.5.0esr-tr.xpi 553676 BLAKE2B 8cbf9cf1099efe70a7ce4c76a49315226dd682fd9cddec537ce07e30902923efe2f7a94d1850dc4808b901f38f3d05b60adfbc594a84f1fb84ec0c8774f36141 SHA512 ebd0e4f4152150079548c6e3141f18b8424b659b1e5f564bf98ee0676e1317357bd593bc1024ada2c2d057d2a7d87127be23a593d853ae275430dc641e8a25ff
-DIST firefox-91.5.0esr-trs.xpi 491077 BLAKE2B 564cc84590d6446563fffad06f02307533321b61dfc9f0ae29c268cf5384253dd3d51a2f8b204ef3304c87e188100f81a3d30311c91854b0c647ba02caade160 SHA512 304ea942bf10bbd81dac3eeffe25f475108fe59bc968bbec02ca950048e14bd0cb368a97a8d458afddcb9b67c25ea496e68a7426d6376f8eb0089d847756c478
-DIST firefox-91.5.0esr-uk.xpi 620503 BLAKE2B baba57a90468bfc3026d6b2f47c896fee2545fb8fec8aa2a5f01b1161353577ddfdcef67b44f6142c6090b8f96c6b66e67469b03f16da90460a4272cb692b46b SHA512 e9d69be7952135f717c8da8c685ea7a522f11ff8b2b488da6151e5194b671484e9164161d901bade7485428dd01493a37bd2b791b9e6ffd840de9fde56c72065
-DIST firefox-91.5.0esr-ur.xpi 557319 BLAKE2B 94f59064a86659f6c1addff9a595efee75173dfb0e9ec6d173b733ec355c3339d28fbe4f37187948b5c98707d0afbf6df1ccba113b7d66a0a936006ba40cb2c9 SHA512 5c9837ded413789303f29ea469b9d795b049cbf7786125db5da6a130ff5db6075bb582e5f2b2e32926e11845e8027357e3861af73849f02b9f8ff86e4921e399
-DIST firefox-91.5.0esr-uz.xpi 466860 BLAKE2B 4b80b4f2a1a87b0d5778ec07e44983d21cf7c84b5ac8f33d442dc0b188f8c67d61043f753c603caad02c9284be7a157a80eb94cd227496a24ada00f5fbed43a6 SHA512 e953ff4966554ae8a0ec598c6e1b00a72983d0622e707039540658256dd4ee217473c55efe2804a70172840bd607a500c5596a332731ded00e1be8bd0815faf9
-DIST firefox-91.5.0esr-vi.xpi 573483 BLAKE2B 7b62675934fc36036e34df3f688ac47f1fe5bb49ed081bf539d1958e46f82f7c5ce19e28c453bb8d43d8cd1f39fd32ed857cabc1b36e5bcb69b7e0e76c0547d6 SHA512 1e3a81a9bedda193ba38cd39fbedad075f55a03ea17c1e2df252c33a846f0c4290d92ab3bb732effff200d25cecb183941ec8d6b2866c01c83e4496a1bf588f1
-DIST firefox-91.5.0esr-xh.xpi 428173 BLAKE2B 19495b818bbb365b85a74e0e869831b4a036062e8a0c15cef4e5598f156b5c9e842e70531256e471ca5f38e50c992ae1ab75272cf0d0960a958d9b83eab83bbe SHA512 248f7d3f8915988f2a5c4c9d934b3bf6e3f7878bba83c74df25f119b671a9b8c08915b8d25ba0cab9f5f68f3c1e7edbebcf84a441a230597158549712a4cdb2d
-DIST firefox-91.5.0esr-zh-CN.xpi 575372 BLAKE2B 4d36fbf718303541f7b7fa33c959f216486b3306d212e11f47d286dfd64e1e289c9c636b9d338a49df445ef12067bd194d9699a4bf312ef9223dcffbf81ef765 SHA512 e77f85970ce112fe5037affb3a3cf47fb6863574738716d405e946ecacd6d4c2156cb763c8a475236c80013925073d9de71d147cc690ead0ddad39908942c39b
-DIST firefox-91.5.0esr-zh-TW.xpi 576219 BLAKE2B f41e203e52e2bc1ca0b8e81229c435ca70bee102b84308b7913e90622656be15106b9b5100939157b4af45ca8afa32645818023b3a7c8153f12fcdc1115ebec7 SHA512 9f9838d4e063ae6255d0e89ab5822e13fbdde081014cda45e22457add5c4759dad11f88b2812e7cbeac5f8e0ae3745f2ac15d08e116be344f9c3b83a20174944
-DIST firefox-91.5.0esr.source.tar.xz 381371300 BLAKE2B 21b25ded0d0541d2a5c0964ffe5e28a3b238b5dac1c0969383f8a41cb6a0fff8522c4ccfbd1cd309a5c52be9377ca9af446949dd3d9923cf36ce0e6603ff520a SHA512 1712415b6b73c6a21edfefc39eaba5fcbbca54032f78627c0005d291501d16ef4daffb8b9a160d1d5361113ceba04eb5ddb21d903e3dd8d58838aa9596f2d781
-DIST firefox-91esr-patches-03.tar.xz 17204 BLAKE2B 6ef1aa70708f9e5a5926f712d449bb40c86d449389a5d4c1730ada065d4af252b08cd17eafaee7cc01ea0c50c53b272c38a047760d3cf94ba34375ff77af534c SHA512 2c02a6ba36934f796a7b2d3ded0b68689ce4b21f21396004e829102bcc56e302c89357d18c4f353c62f45865dccde27230cdb016d99c42b3ae12b4e5a6a02e6d
-DIST firefox-95-patches-02.tar.xz 17220 BLAKE2B cf2c3e72c37800506252f31057cb719af7e5b8f8bc8257e1ff0a93164367dd90e7fc51f7290ca4870bad7b0d13c0dd3554fd44000f85989e275233842233138f SHA512 43f8092579ab30c2b2ae43269264713742e54ff6c4207583bcd97efb57936ddb407174e75d524e1a872dde834b1e0d3b985b31b66d858db277b135926d1442b1
-DIST firefox-95.0-ach.xpi 450515 BLAKE2B 3fe20f62740464379328642cbacebc9166be39553e0f7158fd5d3c805874701917daa10f215e296b98ee8ad111e3ee66e069a65321bfe2da364ea57fd2c4d37e SHA512 551fb9f5c03d9a1e05e02b19fd36cbdf91e02a196f7bec80672efbcf30a109adc8331dbc49cb4e2a0d085c896f713af6c6469d8350f477f47a27b2aff922c7bf
-DIST firefox-95.0-af.xpi 421588 BLAKE2B 8e61208a72754a6f76458284baa5147c7a06df3ff7d4f876d9b888c7525f584907311e2997db5d11fe0c2d68309c065d27cea2e5e22d2f04566a89c36dd0fc4e SHA512 346ae3a1436e6f277a86a0238b166d002cfb9be361d6f59d06c595c4ff48db41c90d6adef4486682d7850522b48abd00e0380461af12727b2d5bc2fb8eb4f637
-DIST firefox-95.0-an.xpi 497839 BLAKE2B 6aeeefc0fe2bb28d851e1694ec0449a4408f1989268f2436f20dfd00386a7f5e21b07a941a27165b3b8c09c1cae8c7875a16a48dd0a44ae953d85569e06ab981 SHA512 acae1e417303fcb28c70fff9e8c3d86efcb41b3417d3624a49020bf1310ae5a9900054eda57e4413c8424c193a2b8ab86ebe0d45046c19933a39421a6d37c881
-DIST firefox-95.0-ar.xpi 556957 BLAKE2B 9388f44e38fab99427b5d81f0d4eb4918e4b81198d4b60e916b2004c1086362bcd0eae964d436c8fa1d787ecf3609f0499b0d1d754e453321999158cdcd22e2b SHA512 1b15787e4690dff02aa49494e018501c95ba3f5b0c68362a9735682c84ccb8a0b0fc94d919b0b0a15fd8333ead5b13028303c879e972d7d2d3af21c97b64e369
-DIST firefox-95.0-ast.xpi 495632 BLAKE2B d3684061045a422989e76853dc0d7de1d3deeb20b789aacc36f459620de7c9c472fb58c3cc06421c236e603345792efac61f9292ead66dc8999e1c4275ec1e13 SHA512 76bfcfc87f92e04aba40af0955425ab261227642e6d3e8cd97f2ab4cc04ec751ba5425ba3facb0d9ce4eda74041058d055bca068bc258f7167a37cc362ad7bd0
-DIST firefox-95.0-az.xpi 486489 BLAKE2B c41b7060af5c641499768d1553468cfbb068e3eab2e3549e29a190a4ea27025c91bda839cb1aa717aedc46a725f4e1d0df61dc1e04e73a43d339ef5c6301b03a SHA512 727af196fb12673d3a9f59fc34e82fa99a2ed49b92da1023dae2048f0dbe50498261d17243288ff84f3f64470109920d106b1a959476ca5413b5a1efdb768dc9
-DIST firefox-95.0-be.xpi 617804 BLAKE2B e14e9064c73c1247c77f74737ac8409342000e155768113bc9bcec2ce0362333b3131355bc66f81a97ab3d1df497b76d117191f2823f70bf46414d7dece53495 SHA512 ebb28844d8f70aeec72ab4262fc8bb53497f4293b97ae2e58c9a950644f4e145316064214e65af85e5f7f17de42bb1fb1de175677437ee7006e6b468a506272c
-DIST firefox-95.0-bg.xpi 564532 BLAKE2B 70a722b8772f10056efa951598d33e04e36f213b1c049d500cb8afc76883a3495805e1cb2ff6ae4bb5140032029bb018d85903085cd55551d947185c44020eb4 SHA512 186ec20af2bf495200d48e8f367a7cfd01a9da3ecc7019675b9f66bf071e660b9d79e98bec59ee02074168676fb303546723231c29b44e4f2bfd9892abeb8406
-DIST firefox-95.0-bn.xpi 553373 BLAKE2B e1a221ec3317ac111a4ce439df152e764886b5c9b9a1a9a71c44dcf32f243d9bd6d79356f9faab438f22cce2c7f04fa7933cc6732d82819720eb76451a0fa5e1 SHA512 e56695513a63c2884f11b555da6c4622dad2c8710927310ef2e1e78bb028fb57c1f7ff07580aad01dcc7dbdbfdd1fb876fc09b155a755b640cc94fa76f6d5e41
-DIST firefox-95.0-br.xpi 524087 BLAKE2B 2070ec3ade3c8c2765b6c130699a3e5297fb231f291b0379318bb54339bf5d18dba8e3a3627b8c50a80016e5e6b1a9eb4ddbd9f91c428d32b5c251c781643e97 SHA512 e6e2c9dacab74359eff56da967548c936f28bbfdbae3f246e45042e4ba1fc650c942b4b41ef08979a5ced64f2a99cee57c443a69d447918587423b496e537b74
-DIST firefox-95.0-bs.xpi 460948 BLAKE2B 1b9eedc34291de5876c3443d15a39bc8dd59e69bb07789c9c34b7df9cac39cbfe15a21182ec7c23c24a0068d0f6df944ad8b5378d156e24b5fdda55c90e7a6d4 SHA512 892218d00a0f3b08cb540dbc8bf248f93008c0edd190d292153a32c8a4542ad664839fdcb7f371391278eee289815f16949502ab4f1283ea3c7821663b707243
-DIST firefox-95.0-ca-valencia.xpi 526570 BLAKE2B fe44ca5bbbdff9a095507013da118c4db227c8b53441ead8097aa4ecc2c131a2b929897cad64be9172c732b7be64ba545d963758b4dde02e18e4682a2620e3a3 SHA512 87840b38a07db17f82adf31e37b9527819c27a62453304885772617548dfcb90ef0ce411ed2dc4d3189298e9bf4f8ede0ae7d85d6bdd2f74129d5001a4e21d5c
-DIST firefox-95.0-ca.xpi 529728 BLAKE2B 6dcf7a991153111792a79258cbbd8a6b916c2eab19b5eaeb358a5ecdbfb71bb8ab1e2a47e387e77b65c566eacddd5c6518df6b24c51ee128d9e1fb81c6801cc4 SHA512 9676d4af6f7484092d459b726a69e15b29563f5de26406ecbb0458b99a8fcf997607845f6349e26230c292fef0cdd739bda1bc06e674b9e382450afd603789cf
-DIST firefox-95.0-cak.xpi 550291 BLAKE2B 25d588295feb5b063696b92538ae59c477fe60d036e18d668841a1cdfa9a100b6203dc83f494f2c1f840944858ddb61e704f6f74a28a428f03afe611577e4e13 SHA512 23d01a09ce27cf835b1a08df86304139227f017ac2946be97f203a8074894445792e9c06ccf53ed95842cc9e80a86fc954b718f651609c666b979806908dfa54
-DIST firefox-95.0-cs.xpi 560520 BLAKE2B 9e4b836d02cc00fe2bca57326245a82bae2430475f7f9e9b98498fa61241c2bd75faa5f3babdd808e6f2b61d3ea36c42942f56563327003e3b7d0093192bb580 SHA512 46a7736f29465650b19fc7fdfa9ae7ba49ad6212530ff42fb21a04fcc1773bbcabd02da2ab06b87fddcfada57808244666932eb596c978add1ec8da8bec2cf1a
-DIST firefox-95.0-cy.xpi 538502 BLAKE2B 33953d710b38f333387a0382d39e657665c0a3fd79cf20fc70adbaff0460d71e3dba092f30845d1b98afd213dded01743ac10cd1d9bc4b2bab9e866de3d6ddf8 SHA512 87610b36a440aa73106ff3d198484ff644b82d3d23be56f51ef178ec88e9dd163bde390c87799020b10e803caeb3a5426e2eb51cc8ac27847e988b1ce8bc7f12
-DIST firefox-95.0-da.xpi 530402 BLAKE2B 1eb31b2569616314b1d7831ccc1a6f07f6b2c6a4102af056e41010a70f4d7914c2cde8f0da65589e6013b738ba2be38fa9ca0600e0eecaa441ddcf9e1bde019f SHA512 32814bb82715ded6204afb409a6ca0a790ee8931e6e10c4697468235dd843660e1899b17e24efe22fa6a5b3274a24df1769453ca0b40c48130e06b9d0a3375db
-DIST firefox-95.0-de.xpi 549565 BLAKE2B 30293bb4e923721df296defbb314921942597f9b4d5d4ef5fa19e388e729235730eadda3baafee31bf4cf21a4069193ed1a11277af8f3f32282b33bb40d70f2b SHA512 2e60f80e7bc3594bc14648cd8ca2d6db143bddfb58ffdd425007e278af014fff3c87eeccdd7dc3e2be12ae9e3b3176a10dffce453bb4ff7f85d91ee7d3ad93f4
-DIST firefox-95.0-dsb.xpi 562325 BLAKE2B 64529835e0eb45a75079ec18c45e9af952933cb9a98d5e0c901ea0ade4b77315584fa2cb17ac43b130f5aa6f495d55308be88655e096926368f86b968203ebcc SHA512 06bafe2c5775bd4e3ffaaaac0670ad0e26c96ab1c111bc6e5edfd839ef4cb203924aac1a295152f59a61765b2d63ac5564a35497de7ee1a105ada242d7ef42ba
-DIST firefox-95.0-el.xpi 634235 BLAKE2B ac8a59203731c49daa2340c714f896e3ac3b256ad3c46bae9954a4aa1b757dbf88afc31606fd0195b8b7093d0544b52520a5c7ac411033df0a10c8d9659ade7d SHA512 79926906f8f965424a1bc169869c835d386bbc5b09008bda013e1e0a0e9019b81fa265422d5a6f667e2a5cfaf6dc9aab6304a799bd852cd3f5fa16e5cb9c055b
-DIST firefox-95.0-en-CA.xpi 506099 BLAKE2B ea570c851e6f50b5446fea06df857eb3bcaba0ce1ef35a849089c5bd5b55f25bf503d107b68860e7ee368c4cd36e3fb12e0a44baea48f3c10b6a11507e018a02 SHA512 279bd4845fe0112c1408a1684c17788d0c10ecd933189009e0a5d7e78557415d9e6ce73136e9d2c08aeba60a3cffdd79799c869b12bf2bb60d29f6fa51981704
-DIST firefox-95.0-en-GB.xpi 507069 BLAKE2B e53f9632b22fc3357f6195960b619dd17d685d793c178b0cbb03beffca2982db758a97067f14a9d070bf1adb4716cb0e9baca570bc0f588b04948bdf981cf1de SHA512 ce05b73d2170b6323a1d3b1fbe1e2b29a898cbac8c304886e1f620a2ac3a473bfd20247e76261e674e1a36b392fd1f52ef409acf1fab3adb4ad1751552b79297
-DIST firefox-95.0-eo.xpi 531427 BLAKE2B 931e48677238a5b8a7f9b94cb9f5cc47b4b72512092b14bc196dde71172fd0049104a6233eb7bffc42bbf0bcc0cd01d502eebe7148b7c0225a9eb729aa20ba84 SHA512 8e47dbd945329c19d471cf896314066f4e6d3561eb4774027a5f0633b56b0c5f7bf3d4342086d58c61b75ce850b6b5147c5492699283a112330371b68e932533
-DIST firefox-95.0-es-AR.xpi 542817 BLAKE2B 577ba91822539f5ef062a6af801b212764b6d13d1ac537759ab8ebff50c56a083f626b7f818dd8a6499dc3d8abfd34987c5a2a80e09ed993e5c034bc5b17ae51 SHA512 20e6c6463df0738ba0c99abe8e0ba8f50207153dff69caa58addd5e705408f2d5e70173cdd7044cf098fddbd614686b980bc39f96c5ebe39396e820176a0c364
-DIST firefox-95.0-es-CL.xpi 542407 BLAKE2B 1d5f9f81599bb0c6af67e68d7ee3a09759a047aa9bdc9badda27973aa54eb6e34e2c060fa3503df9f6dab6fd86b684d8288d24bc6e9b456a323efdcd411b6001 SHA512 4c358e45f859d8c4c0f2a4852e6545cc2fd0d01bf2ca629db643202fd5958efbccc48c4b9ff28f37a5052257e45c28761028898c306b9a81e98d7a88dde85fc0
-DIST firefox-95.0-es-ES.xpi 533165 BLAKE2B f0a3361ff395c85efd8fff3fb68f9fe791c53d6542a992feba96590ee44078381e4769629765a1f626cb428fed34c7ef616a00919c224dae9d4feebb97a63f15 SHA512 68f6090a698cc290f2cbe45d5346d706902ae41ce839ce2e1e73db5b2705fb3f70ab1384b0529e2ab2bd20aa2aac425ac40284028bde4e9b535559427deb3b8b
-DIST firefox-95.0-es-MX.xpi 545980 BLAKE2B 6502c56441b0244677bcfba298a533f617954a51cefff2845e265666f9a8496e11ebc1e38cb0ef4499c729b4e9de1ae0bc3c8b73e2000557986ea720ed2acc82 SHA512 3283b0c15b22c31d3558c15c6448bc0fac3df2ed7d5085e31b86a682becee3f636b3f45665e1f55cb3ad569bd6b5c7ba47fc7010e5ca639a5c721b98689a5e1e
-DIST firefox-95.0-et.xpi 503978 BLAKE2B 58455a3a78bf9f5a85fa4deebaa624e38ddef24f4132ecec02d5c3048f7f549c06ba9684024f4d5c04e90a1dd9382f04a824e59f1c92feb57351216a0098450b SHA512 688637b0aa911a5cfd4054659449ecb24cfecd1ac7b2bb4e99d49c2c1077b473419cf4d44fcd532f6d8dad6b69fd18e8cf7ce69aa14fa90a0d60e99c76e60c8e
-DIST firefox-95.0-eu.xpi 532585 BLAKE2B e5cf65694bb88c9b043daaa43eca78cc18f4a555936259cd1049cf93c16048939c9636886b1368c26c9e1cf756105ee3a16e9c3ef8a12a4a708f87f3a8be15c4 SHA512 1198626f7686359794907dec80c1772a8b1755bc46e84d953e835c35ba41fb3f66ea4bc85b92ad07e364583e8d3b290c60afeb80128e8a9421a879f6a826bd63
-DIST firefox-95.0-fa.xpi 556251 BLAKE2B 6fda62ee7317ff5015dbe1aebc06ff0932a48f02829606529b0ca3227d82a4940f665a8b0ee5bfd7087481d90494ae0a7722da3c2013dd7dbecf90b653b6ac92 SHA512 aeb404627ce3169e3e24ab3ffc15682c3524b39f0132d1249e84abf305d6c488c709c2425c2409d3aec19c42d9ea3f48b9f74b8ca51eddbebd6ed701c39e5bba
-DIST firefox-95.0-ff.xpi 468414 BLAKE2B 32567ec18d5508228aa7f6ed47d366ed89d1bcd6d555ba09c1df813893472a07efc2b920aea7eb0cb91dff5c2957337da81089723ba7dddfac08aa5654b8f400 SHA512 b3ad7c506b9fb1a34bf1fd7d48982bbfbe6a5a0002fca3c7218ea55ca24b11aa5f75940d1f8f9490460b1266f5cd28901ef6d3be07f8c8cbbd65e3e6b3804b7e
-DIST firefox-95.0-fi.xpi 527602 BLAKE2B f98e194dbfc087e0afc11f0b8cd8083179dc046b9ea413c4bd4371b45c50da5bcc899ac247ca28fd999f94c60a98eed0accb3a0fdaf94ea319d1353c5bd56add SHA512 a6a48e1d5bae2d41ee73587e7e79b98415d61167c2c119079e5c6803c4619965445c5913139f420554ca537f2675d6eaf34669a9e1a58e61e5dc9907d8ab42b9
-DIST firefox-95.0-fr.xpi 553723 BLAKE2B 915a6cb4bcbd6eeeac431859fb2e568e92fa802e4ffa12262acb17c53d99ce63cd54c10a47eda458d10a90ca2c7c34978a67ae7998477c775ecaa5285b9f4ca9 SHA512 c3fe187f56ea1390c4dcd0f0776c7dc8f5d0463621af185401b3ef3912f78d6ae7ee1b227093b2c68cdd304bdae9bd944017f00a429ec59d3ee591d55d82d7c9
-DIST firefox-95.0-fy-NL.xpi 539299 BLAKE2B 3793ba6e07eb8bbd9dccfd6c8388019ab38798bae947e45033d5f557d1a4c49144108cccbd6dc8d7a995fff0179b05ed8e27ef34e091edfbfcf9cece618fefab SHA512 d42354fadace36cb3eb40f18f1fc44cf8ffbdde3d69dbfd215b0dec0b4eb3e809a0eda212575c649d5d052c23b7145dc8b37f09103122f928b6be77a58922105
-DIST firefox-95.0-ga-IE.xpi 456359 BLAKE2B ee362381323e1ab0d9452379bc6274807a3331cf35a5a9841e2f3fb436343fcc1c6a302190225dd7b7df9e061450cc40a0874fa4582b08029e293ee6e83eb574 SHA512 159ef08e8b271c18d237d50157c3626e6fda291f355fc015f16baa407e11ff664b7e9b52a4e26ba8e0cba68ee2a1fc2832ebf7d43506bae4457ea8064a8be3e2
-DIST firefox-95.0-gd.xpi 528510 BLAKE2B 2f03ddf60f3a0780ba921406115ccbc0d5985bfd552193d481c57ce7e7cf8c3625d2a33e89c2cd009fd3facd174fa20d9cc3d8b95b6f1fcb7f5105779529f956 SHA512 b4d447b813cff0b394a1f93a4f8c17cc2a1369872e506ae868b5131264e0c51f262da2c48eff76b6a3e591a4248efdcadbae53e6d5043bf077e1e5194c2a767b
-DIST firefox-95.0-gl.xpi 537648 BLAKE2B dad92ffd75438dbc8593d7e86057b3e179b4d5118b5f1e952a724ba5fda37a6acdd4034957ab00f16c645728d07d6bcf200fd1604e1a10ec0f57a96760261412 SHA512 65377280d2da2647585ee254b4f60a7eb06794f09060fa7eaaa0f4eb1df86409c338f6c8b000a5d9472b355701efa4df2edf3358b5ef146f928098f5a8f8e3ab
-DIST firefox-95.0-gn.xpi 553613 BLAKE2B 2096a50dfd019f2ece3218d7948bfdd63939f4da5d3634f161d21661657f4b1020ba27844a36d841577d8db2d8a49222ad05dfb0b5564597ce585ac23ecf633b SHA512 bdd7e22210fda6ba1aaac0bc2eb93f137bbc99fcb3c6ac18e822f25956b0eff1acdc407181d7e0e077c59cdedb912e8280d6ceb546553a5bebfff291a24d7fa2
-DIST firefox-95.0-gu-IN.xpi 525936 BLAKE2B 8ba13c0d070ea669601bff1389d5a0aa8cc6af6fdf0a7221e3171fe5615abba5bb1a26baf5f12aef1199548bd823ea40edc79e045cd45db0e1effbd310be49f2 SHA512 317d7f8028be22805708623047e2fe3d7e95ff82c6e02dbe9f3b5a57d12fb5bb91af0aa9af9f82ba64bca737a7fdcfc6022438b15fabcd1d5b1d860661ac0946
-DIST firefox-95.0-he.xpi 553664 BLAKE2B c66bf40ae133d60485b0965d4a20d84d7bc5c60ccc12809e374e4d641455c7b360fe1d4eba28f2107e590c76e22276540aa18b458b6ece18332182f6d9d37c06 SHA512 918900356296c9a62d6e9b9bdd38dce19b88571f23917879af49a8eea60bf5b836aee3b81a3e629d7b4471a75e2e7c97db67cddf9ceab90d7bfa6465fd2a6391
-DIST firefox-95.0-hi-IN.xpi 557072 BLAKE2B 467778dd8b16dbd9afd11347892c7c62f63991381cb3639e5857c7a4433c7572e4b815577aa89014a40514263e1cb82e3ff8f190c956b3f607da99e234eff20e SHA512 39b605fe5c6e91d1c5e0768acccc05fb22fbe340fd235822fbe25be04dbdc0d6bb0e3915ef7983d3b079baed88a527de3ea307f9fc1de5a0b7ed6d7f68110b5f
-DIST firefox-95.0-hr.xpi 527718 BLAKE2B ac46ac1454118daecba9bcca0ea7ca939b5fb01eccafbdf99ac4800a266ac501c15a31975ab914ce37faae66cbf1ab591608f215673042c14fc786cf2c084f6a SHA512 77389343ae828186e7dc4ec4e34738ee2e09920ad5e3090fdb94f57639d3b35d21e587102fbb74c5dc05805c7b69785292d298cf102c3e7b581c229387777cf6
-DIST firefox-95.0-hsb.xpi 558439 BLAKE2B 7e7606d884e77ddbe006d3f5909a797f3649845196323d5ddc3832c97b388c7eb5995e2a8aa42b94ea6bbde96d9dbd3c940db3cd3ccccc9899bd2f93385f62a4 SHA512 dc99c334cd3808c96be797c732507884592881defeee75012254a934616c564f1a77f306fd3bbc5852c71a5f2e6244212353e7c3d62cd0bdbbd7ee4102e87fd7
-DIST firefox-95.0-hu.xpi 561838 BLAKE2B 27d99323b98cd46f1a2de46edd451f19acdc780564f99d63c0a4b2f345cec9959123d5a68fd06f3034abfe511116c2c302cc8daa0493ac1eee2a1639a072605c SHA512 149c14be3a22be6b18fb352336f11af2213ea5f3ca84c8dff2a9bf902c03364ca013a510de9841ca16486e2de2b007209ab34a9163ff1a5ee203d694015aa752
-DIST firefox-95.0-hy-AM.xpi 576865 BLAKE2B 02afc0c5b116e384eb73eaba9b51d53edc38584d32063d97c7ee7745c15801d4c2fc0227468d667a9bd114ad46c9d215ba57010732e81022eae1a9b0d8ea32a2 SHA512 8518abc97346f90b75978cb3a48522f3b072a79f5d589ff5566b9836f3918bf834390f7ae30a881533167dc139f26ac3723e128968b93bbae4f34ef93e2684fa
-DIST firefox-95.0-ia.xpi 528438 BLAKE2B 39b4ce0a650a4f4587bfdbde2fa7095c2bc81db72d4a785b8597cd5dbdc9826575fe613c9d5c1372f8ca6a1ba732364fb10f6998741db4bceed44ba39efb04be SHA512 492b7617951d24acd00b1ab28453f35f2cf88722dd97105fc09d1287566cd27a1822eb4d3bfb953e5d1285cdc7bd7cde9c74e58deb0206db3e9c107308de66a2
-DIST firefox-95.0-id.xpi 518116 BLAKE2B 80f9f3fb82c47a3cd23660dc6745da3ccdce80fe996c6c530bdbd9190379692ca571949c5ddcf886e89aa232c25a49d1b6c44d167dc3f8b1ea23932a1b19b41c SHA512 83f72af2c7457f0555cd9a06212e44846867698c813daf72c190bd8bd311cee4565c254e981a848cb5359fc945f0e730bd5168cf8fc763a430521e47102ef538
-DIST firefox-95.0-is.xpi 467522 BLAKE2B 7294b6dabbe6054a8e81abb9e07baa0de9812d413ad6765374332e5f110db262fdd9386109d2fa237fba387de7529dc4466fcba39f38fcafdda693fa9c3ccbf6 SHA512 d6301e73b43e01584dea2250a45fa10a2b131fdaaa82988a43a070763c347647e7d4649afc54390c517c879a652a77394910057ae569aad62a9133859a5b060c
-DIST firefox-95.0-it.xpi 456459 BLAKE2B 50426f0831287966e74f20e6af143fc6d43740ba3d5c3d69d7a11ca9773fd87a5ae2b7056ca17c1570666cb8b5cf415c1fdbbf0a042ff35cfdfc2bca6c032c79 SHA512 5c81581b251f8772f39dd9084798e4ee260fc2145224a16afbb4f2568a7482ee3cdc46779db3436e1345ba39bc4fe63aa6705994f2f0cdb0dd633b88594722b3
-DIST firefox-95.0-ja.xpi 583404 BLAKE2B 045f27584721c8c0d0a04d28f6956588ed013bdcfcd6f8505d5e69168df86189f8120c5f0f55c56c5803dc58258b7cd524bd3a81c1943612221af7f417394444 SHA512 7daca5ec67a72d3ea71cf234feba68f1d8abfd849b252d0fdee4e8782884f78ba6d4fb31fd0039ae05720be1e56e92b6012447afe991cdebb113078340d78d18
-DIST firefox-95.0-ka.xpi 587672 BLAKE2B 34de6399c51aabe30c28919cf5aa5306fc75d18a2131ee9fff94f19b264a9c2316e145ddd347a2f9e7fc204a249f338a7c08254747ac3c41fbf6e76636ad33c3 SHA512 3a43d89333a34a346a94e65faafd296e18266d6a3617ad8b7e1f4599886d1f053855e0995f19ccf8965afc88c22898cd8a7da02017b6059904a23a9ae2773c4b
-DIST firefox-95.0-kab.xpi 543119 BLAKE2B 47130c805f67c2436a5269ea4b5d35d11ca3780f2ee1a3fb7a34b16849dd838e24e8418f94df8ce33f8754cd37347a141fc445d908e0d11001a056ae52da5ca1 SHA512 8f9bcfc33aeda142674fcc6bdcbda9ddc5d8f6978f75ba2abd0f5501c25f79c67044ace25ce4eb2bf438d72f5f243af1994e1cc33fd4eef2843f9be204cb9c5a
-DIST firefox-95.0-kk.xpi 601962 BLAKE2B c842658d861010559c64b3944d389adbac21036f0781f96677b6a0ee4511e5d1bfef91a94adb22df65d978e9072c504d05e4708c5b1f740372eb694433432a62 SHA512 cd73493d0a15186192e5ff433f6a007fdb49529791bff044facbe9e5344116c496de5f0da74be661614a068964a967784eb786e4d59f49dd6e0490efffe36557
-DIST firefox-95.0-km.xpi 528933 BLAKE2B 1e459b9b8826a509b3cb9f1e400c6f07c95e2351987562097b580263571ad6db2c02a599f80ca8b96c2608900e962626d37b070aff516b0cdf7f59a6d5b959d6 SHA512 efdfaa7b197015cdce00c6837eedc776ed53120ef8fc95547aee6118a7bd4a2131fe8e0383fe0940f653241c50a307f5abaefba7b11335ad62dae0c0aed6f780
-DIST firefox-95.0-kn.xpi 494304 BLAKE2B 45cf6be539ecda4fa17d3f88c726384266f8a9866abe8356df193a5296018907284a49c9d3bc4bf4d9ac7f07238e592bf49a73180431b5930c816f8e743a5c1d SHA512 e62728ac977a598486e181b936a0bad4c61f6a842e06fa07e615015ded640035e92dedd8dd4e8ad0f141b60e4b61263747d6d657b987e11f7eee6948007b1b92
-DIST firefox-95.0-ko.xpi 574782 BLAKE2B d11ee747bdc13e7b0f9202397068cb58100849480921b7a93bb791025856fa6e7e714d716c05327f8ccca2c104f273c4c229e7a7a3242bb7482b515938f07e86 SHA512 58621fa4487d76dda0335ddf76eaa98c2fc61b5c37f3445d83472acd0623bc1370efca5a13d26ad18ea1aba5f437aa623977804ee5bb1d41c76957411fa64d4a
-DIST firefox-95.0-lij.xpi 467379 BLAKE2B e038e7d3cbdd75d4410e7938db17dbe18980ff66441dd014a9904fa683f2e2672ac57774ef462e55630197801e99c43965d2f9025bfdc16cbcecbb701e73ee7d SHA512 0ad2699fa1d96833b8d20428a420a95cb1ba096d195562dd351be74eb6ef1bb37e8b3b1838e38a6f6e4b19e3a1f0af427e1fbc31d8e83974243fc6e40e692845
-DIST firefox-95.0-lt.xpi 556126 BLAKE2B d57e3a4da3173169337963d84c18fc01a212124422e2deb3aff177a36d3968beb1407c51268c30db5d4b2056303d10f9097fdfc291f741c0c9ab5fad715b78d9 SHA512 513abc915c526048f4cbcdd9e33f7c10636ecb52a38660f994c5f1d5bc4f8b759304711fdcbb26325f7853f83e75be147bfbb27608b96b3437e6761132f488a3
-DIST firefox-95.0-lv.xpi 459576 BLAKE2B 2c46cb32b99d4fd6f9903c0933b70c6bcedce52b78f3f2f5414e04cef209f06af135aea03d63fa005ace1ee85cb5ed9343fe36cac05a5f70952ad94a36cb16cd SHA512 c1101737b19b663d08c64544a50c5f75b2e134f287fc1cf53df29401847c61cbd2951c321a1d3e81b724dc594575a1351bf3c1571cdf86aa894cf58a5cd1b16e
-DIST firefox-95.0-mk.xpi 460717 BLAKE2B 591b55228c7e572552a21f07d4eaac87548055442aa41ca2fe63e658c64e4db70e314ec4c259b43ccf0302c81f44c058b9d065d8d21950ed716b18679b56d21a SHA512 7e1151e19ee75b81cac6c36f00278981c0f4dd12322b5c8d465811d0931b89d9d6bf012fb43b4943e4b67db0015fa3fa5ac84e792c3a4934efba3c2bf389fbc7
-DIST firefox-95.0-mr.xpi 528738 BLAKE2B e4bac04d0f10d638e2bc02228e2127c56a7196433cdb2116528ca50c423f7064be9adf4c8fd8537c4deded872c7caf187a812b14b37720ba7b0e4a29e1e0c919 SHA512 4ab9e64a1fba744a55b5ac7ec3a614bb6271af4693d806ef2f57724c561423e3f8e6ff0ba162e2c5deacc3d65a58d806dffdeeb8a29aca6f391309c3a5233771
-DIST firefox-95.0-ms.xpi 444663 BLAKE2B 545a6479eb3cda354449669050832c539b75692d35d2e373bc02fffe2bfd19f95c8241ffe1fa1f56c37e0de359c1ff035408c9ce5d81c40e27260f34e34dd783 SHA512 6273fe3f2b686aa80b88d5dc64e07617eb28b1e0a2de962c4eb77ab730cce0ae49af97f33520bbfeaece34afd7163f7d7b6891159360af66829f27aa3aa37981
-DIST firefox-95.0-my.xpi 512526 BLAKE2B 8766581eb05049ee7a430a67c9ae7b962085c4588f35046ac2a10e50df5bbff6947f681e1fdef756f8210908f97cccdd41496fe3b96f0959b3f19cf0bd967d81 SHA512 fdffe4140d38237789c7cdd43e39aaa0e1e411a62d398f792a19724874ee5ccb56de0401b804ce07fc15e9b502d0ad6d3e8b77f1f63ca6daab9cc2399586b94d
-DIST firefox-95.0-nb-NO.xpi 525747 BLAKE2B f48881217157c037451c9d685258ede8ba0f10ae890a6a01700deccfdf2e7d3a410bca9f8002cf313127098a040638719cc2c1dfef73f32d1d3e31311c1621cb SHA512 a199a137a39d56563e5284548fd9012abcc57234570d3eca5fbd648bbccf352cfbbb6671d6c0b16b23b655a26cbbb366318e9b370f6a9b5348630183ee7f1b04
-DIST firefox-95.0-ne-NP.xpi 481248 BLAKE2B 003af761306299f0a3b9633d675298427fc97df0cfad50334621b52eaa4e25de12669478481693f999fa7ba8fe17950bcd644cb8b1d67dc825b44f27ca44fefa SHA512 8ab172cce511c74edc101880825d447c7f86ec2e8b076c0206e91c6a3d6ec7ec8438cacd5da94dd572df61f6da51b9619b053727157319b1afcf85547d4017be
-DIST firefox-95.0-nl.xpi 533457 BLAKE2B 47079b02637c9a3eeb6a22abb09bb48e0d606d23d4aa9b62b05f03049463704665d6d885380bb4560ab55d16d06b6b163869b2843e8ff127827e4cebd73ec03a SHA512 2e52326799609e7c1a17f43829b2ffcaff0888b88ed1182c173e32433abb471da7c2bbba1fc237ca2eea73138d954fd38f0614cf055885e175612dc53bcb492f
-DIST firefox-95.0-nn-NO.xpi 527937 BLAKE2B 172afccfd416591b06f0236e79a99d5c54d96535b37305ceefdb6d4b08f632b6f4abd49a00e4c69ca602ad17bb71edd8f49ff3924680c01fef6c6b31fd59582d SHA512 b97f19e24126047cb51797c2882b2bfb728595206924f9c53ae37bd3ff0cd30e27a88669e4d24f4bd788523358ea650cc792e65a26d6bf8913f5364379fe4332
-DIST firefox-95.0-oc.xpi 549080 BLAKE2B ca7a523ff465b8750458ecff217db8b33866816a704565f4c7646e885d6c1861966b1e6f0d75013da454b1e249f5ced8b8dcecaa36d3c5a579c8c26f444d8a11 SHA512 5d7f2a4440b9697c5b2d9fd2f3c079085420cb2bf1f76e9bac80b8d17f1adfad8b8ab99152c5287efceb22ac26ccccc96ae8f000baf9af7f2f56574f95b8854e
-DIST firefox-95.0-pa-IN.xpi 592184 BLAKE2B 5a03318fd405de07a7874ed2fef380ae103b98590177c9da0f84a92da6599fd48d09bf0e10c60564ab287cb36e386bfe5637d809d02f2aa60fe426f68643d392 SHA512 f04772e873dd0bcab39e3641fd14928b230b315f0bb01471fa403a866e4eb222da024fbdb69e85f8655e7ce6c6f41a88a5616d4935527391a95b6665f76000b6
-DIST firefox-95.0-pl.xpi 551775 BLAKE2B b0fda1de615693a07f81e327f2343eb9e0836d6c80978e6b702ee6edcd48530bcbf7c1538aae146973d3438b3cc89ffd6a4daeb27fc9c3af9b3048d2509871b9 SHA512 b7c144af35ac65315c9d709e047f5dfb64650eec9ec3ac967e031506f93ef9312ff4c590d474b1aa1e3f0c49e7b18e31c857477f316b5960354d5b5179388c91
-DIST firefox-95.0-pt-BR.xpi 538817 BLAKE2B c69a5aac089154418ad3be52dd819c582c5ef04ab277299a843948ed20d5a1df52b7ef275a43888c2c2b11e8ee16112db27c960ed1bd0c500697287d23338491 SHA512 881335de74fd0cf83bda0ee7538f68d7f63bf28a7fabcff6ae84ec7d68e0fb428ccb3c7959866776eba6889816e72be3dd00f7516e4bf8447452b96cd4bf58c4
-DIST firefox-95.0-pt-PT.xpi 542297 BLAKE2B d215211af7b2c0e6aa7d4f40b22f8889d8b242790f38bc913ce5268219280c2b4ab5dddaf55ebb1f90d087c8c6c115292e02486a6a100c0eeeb2ab170c1fe530 SHA512 e861aa28696d03231b68ef7820f3b2beb71d8a441e62d6fcb35dffcd05b25f0f20d56206a3de71717029d9f8654a31dd75bb286606dde20ca91a52524a0141bd
-DIST firefox-95.0-rm.xpi 533362 BLAKE2B 9e9fe73ab0f8d072dfc88b5a5bab11ff27a3683ec9e867ea0a3d478a656b9aebb229f9b3a3f101183cb9481be80297e0e527a71e46b33a495639822064baab99 SHA512 e99367f50ff1bfc5a24d114990b619097922375e86ce706fc1390dfa19ebd9c70617d3b61fdf8fc1441a5aee759b2b4b0d1ed976fd9f1bc8971c39d7acc6cced
-DIST firefox-95.0-ro.xpi 526935 BLAKE2B 289d63649ba197ccaea3002fa0b165dda0cda9858dafe90a4aac838033dfc400b5f0fe17830626e48aab9a0e4184620ef2ab8297d827375b1579ef59548c0534 SHA512 d87bb24c58f5624cf33cd00c4e35a247a2093159243aa3ae2a77e74bd1b2d773a36894d705665ad5ba14ea014cfda5f068a775a76b9b631909533b5ecdf5dcb6
-DIST firefox-95.0-ru.xpi 622429 BLAKE2B 88c622874abb3c2a102edaa1ebf1ea080dde5baae4a2148d79baebcdc9b494aeb4f768264c6f0a1f53b695657921b59a039e2ec8cae47955cdee9be9b93e515f SHA512 048bbba2b8506838f6aff171fb1474e2e41c60519fce8096a43740b11081a17230963c558704ecf4476292b2d7cc770ce659ee6a23cd9c78f8302b37093c88b7
-DIST firefox-95.0-sco.xpi 502276 BLAKE2B 74ccf3d089973529bdbb5a140c4bf1ac91e9cd6435eb837aa7df477ba281df89b107647eb3a41f0980ab49676fcc06a0d4462172b4715e7c28a88fdc716cd5c9 SHA512 86cda28ea4596f07530a8f6d6a2bb3da8ce36f47f5b222eb65cf09a1436fa2de2ad58466b589f734925d5d79d0fb14e23ef2583985e8625d78ae9c3ee05d60ab
-DIST firefox-95.0-si.xpi 484211 BLAKE2B 6aabb660f7bc8e57edfd22dddb92f82594ea8f307679ea32f8d376bb2ce1c0d24cbb81b53bc0c4f492775cbafbd98abec364e5b634f7cdd990079a97298a1953 SHA512 5a40505ed8bfc9bbeeefef8cca36f911a7e830a8e386100fcbb72db5c79f9f898f899002d8059f1480df279a26565429304540b33750db3253614a205550c995
-DIST firefox-95.0-sk.xpi 562407 BLAKE2B 3a01a8bf40cd0bae4d7b24e41b551cb21c8f850daece989727a88a04711f7f1a1b9091efcc7cf9a4bdc059c00e60d61270617c08a2d59859c73a5b8a807228c1 SHA512 ec4f21d61906c70c96ba530d463ba0a2d6d2e893ac68c818152bb695c28d85a5b70a603279ac3b37107bfae85000d664956eadbab472f52297a90986ac00031f
-DIST firefox-95.0-sl.xpi 534345 BLAKE2B 58eda7c2f9405cf644843ef9f5a2b7ebd23a051a78dc28779e77b99b8c9c52605508c26133e294ca109f7d87fc470498955e7c8d41b4bbbd81ece0b6fdabad8a SHA512 e4623d8373a853d45b7b0fb3b81129099f38532ac8a6048a7202990e59432f769b035ace16be4b228db2a31eca095acb1205627e41a40652feb33456a55be0a0
-DIST firefox-95.0-son.xpi 420603 BLAKE2B d08a1a531523dca9cd8268c7205edb08f2f16a9fdcfe708ef03319d61274c52384ad7b2c9c39fddf85026f021d6f411c9c5e80b21535965a6832beb93f56ba1d SHA512 03f2a58a408bb33c05c8da67508c3244a528dfd4c1763ac8d6f9251e029c79f98075b191ab7937c3bc3f329c7a089d10c64e4361f9028a6d6eab7e47d69da0ba
-DIST firefox-95.0-sq.xpi 552427 BLAKE2B 7a6cb3fa1d5c2ce397c54adcfbb85b83aa9001bf355d838bbb54a1eeee681a1dcbde7d9fd8266bdfb080188cc1091d935fef39ed39d6fc36392405b0ecd5a993 SHA512 0e67147bd01929ef9c0bc00893166332cc2043bb9a1e53bc4437625102cc376b4bd9da91373b480198e3f8c8c9eb05a8aa6774657a18946590d240a148de788c
-DIST firefox-95.0-sr.xpi 582868 BLAKE2B db8768ceae1a9c3a705212ccb77537296e24aaa14199e755a1d32da318d14bd2ef1bc960bd491eb3b88904ac3a4c5d37f3cb683614db3076d30202379da9d724 SHA512 68343edaaaf9ce66267d32545b077affa9eeab5a220bed1f3b08da3db239be8420709006eba56bc1e4e4bf326c08c7ee8f521b6cc6cb4147d11c54a9ec904042
-DIST firefox-95.0-sv-SE.xpi 536153 BLAKE2B 7f1a33176fe5e4e41c4797e5d801278989d58a2e77db8f553adca85e32c86169020540f9d974c17f3d7a977fca2972ee9244f7d2caa997be9b73dca1036f36f0 SHA512 f631df62d197c75ccc645b86e5131c1a3171e755e9009b3b8826fd3e7af90f8d43b974e7079ba6beb5e92c0243773237c16aac17bb559cdf3c4e34929fa68603
-DIST firefox-95.0-szl.xpi 507025 BLAKE2B 3998bafc5c46ea7158523e6ee4722d5e1d97b96b0e8f06eb0129283d7070c7238833037aa13e9148a11f9bdd50e0ef37fc9d1cb7ee907cc60cdc1b7dab70cb1a SHA512 664e90e66615d2cea2528d7f3d90d883ad76219ba12147ce0931382e70f85d2f590b31c9bab9f035e1ba279f750e8f165909fa6400fc0d76a713ffa60166ab9f
-DIST firefox-95.0-ta.xpi 509400 BLAKE2B 04961b9383bea30627e053b512476179f3fe04a3605b8b5813bb09617082deb48a7a971052fc7edd79f162bbbbaf6201c85400f96ceb0d27e806a5dfa7add122 SHA512 8da011875792d71cf80107e96f91dcc1a5f4e7725a2e71e1654fea905345b8023566b2eaa896e160e002790164b13bab989c75b7e2407f590e05fbab74a72df5
-DIST firefox-95.0-te.xpi 546760 BLAKE2B 7bb8a94a2311fdcd126f6d8c7d76c016d42c88ed063f5a16e8dcc633f6a653aed1b3ea2cc850dba4c29abe488433fd1611fb5c20609101c30c1233b2fa3a6b95 SHA512 b955574375fa45a20b55898eebbb1eacf3dee43c55cc3862343b3e21ac9acda9544d9ed116b515e3f0ee8a57c45b553b97f7c68d02ae59794e90df503800130e
-DIST firefox-95.0-th.xpi 602687 BLAKE2B f2af676483ee8918a76c5bb90b1f4f753d9912879f72b0f3cf370242f2d9258c03dd76fa136d039d802336a67ea59e004658527955d708bcfe8a1c3678a6edc3 SHA512 b7987b4e2e6ac604c6c69539e543ba2050342e087363aa1650837adcefb97455bb5cc92fefa0553d7152e8b2e03b6c0c22499ddea1c6fcc9e8e7d58f74ebd33e
-DIST firefox-95.0-tl.xpi 514073 BLAKE2B 04fde0285700502bf278fb6af49d01f95839f34348855867fae9d8ce50bb1e75b2f371b9770f7d9f0d191012cdcd9fbdb2d87df887d450cf7025136c34266281 SHA512 752c4d3faa0bbd1d189acbd265bee5700825c4c006d5bf5343e3aa96747a4eb50aa3cc714eb0e96206e0a81619189a3a0c877c03d8a7598533711e706fe8066c
-DIST firefox-95.0-tr.xpi 549761 BLAKE2B 5bbc39f2a80c896ef7bc16871c4034f3c7ad7ec5ead98b8a5c22b573a34c46e7059879687a39b2223c0058ccb19f3243f1eff1b7484f316fafc905859f3d4b2f SHA512 5a3192201ec54196f1af306339987631d6bb55b5392f8b3641facbac544d1906bff9d5312bc0b005c259dd2cccccce453a2a910e4a93afd321266e08b929d0d8
-DIST firefox-95.0-trs.xpi 487959 BLAKE2B d86920e62b0dd0338964d5bdecedc55f4d43781cdaa57080d7b2314837d52872a101dae4b02a7fcba447e4aa48eec243e986b55b38a37e1c228a7cfb8817ad91 SHA512 de92ac2cfc8c9f2ae90506ea22720b3914a3bb63822b1f6daaf544130eea9055e3d6d498b02ae25c3fddc1e06512c95d5aad0206419582bc8d976c5e058b3d5c
-DIST firefox-95.0-uk.xpi 615803 BLAKE2B df477a4f9badab9e8c9c90a634e7a3937da53584ce1dd4d6c08f6934de93ef4b62d806cbaf9ef50c22c528269dd3b352607c1826c96ce93708c002cadaf38ef4 SHA512 1650c9cc066303ce1c40277f47c06d05e372e0df9dd6c6944549fa3741339ec3c4c4e6ba5b64162997605878d897e518d6d201c2611fa1a9e7152eaf77ff116d
-DIST firefox-95.0-ur.xpi 554230 BLAKE2B 9ebf28b6630c7ac86c1d86617f118dc55160d8b979aed4d5041340b025e3b2d2db8ebb3a15af579f3410d8ebf7ec4b18fb6a3e98758d14eca7f1016736f10279 SHA512 32299a4dbc0a7109f6e520a4cc0d3b69e97737fadc6ca8313fd23b9524971f1f78b5c214a4eb05b2a3705277e4b14a538cc1394b65e00bb5479f9b233cd966c9
-DIST firefox-95.0-uz.xpi 463752 BLAKE2B 8ddfa67828ca4865a6be32024492d23ccd5212bbffc1cb0533d99849eb1fca7356e355cb3b980dd0767232c3d78a71bbd7d90fde5e5318d7be05c118a3023781 SHA512 d5cc2d8ca356a30af0362659352d76e4b4bc666a03533f371a3637f158cfb28c6aafef76f9fa0b238d5875d00219e5029abe13fad56fd189876ea04f2c204868
-DIST firefox-95.0-vi.xpi 569408 BLAKE2B ea2d973c250c3a46621567bde9d6e9805dc2231569c8431ae28a3eef4ee1705ed1e48a4cbb1e1d47b31b5899fd4767b1e7e11c989c17a006dcf8629d95870e9f SHA512 304fd402b2be4174a954545c247269f66f716722eae6c3e299dcc8299f0da9b1daa2f637fd3bf2dc0c04218f493a91952f0f3f67d010acca28e969ffbc4cd102
-DIST firefox-95.0-xh.xpi 424123 BLAKE2B 35ebded6af47343021066ff726501b1c5a36bf96c2d2805883ea7f0c27820807a7745a59c9e5a0ae7d0697935501ebcdd4ab26d4bc4ec27900d02562215331c7 SHA512 9335a43b2bcd62a8521c04c1698ef021b839b124a20c00ff8a8c3a4b641273fcbab5938b8f207fbc94e26c03a05e4a213f2a43e64814da1114178951068d2c66
-DIST firefox-95.0-zh-CN.xpi 571142 BLAKE2B ef68a507ae28c7fc9fdae15a3b2f760ed50889245dd3a3c463f170642deb14383feb0bd1a7dcd2806b6c88aca14101b0253879ddc85773a355667e98f8fc7b47 SHA512 006518e8c34db43fc96f371970737751df6a36b95a89172d2934f776c3eda3372cc4fcf674fd81b8a9f4471fe2be7a212a725ea9772dbd0d82b9a1fc56ba75e1
-DIST firefox-95.0-zh-TW.xpi 571955 BLAKE2B a41c01347771a0fe5609ebb61b2046695d9354c35f61e238db116401da8b8b50c31b07ee8455347f6f2714a2ad3fba5dacdaa8cc4b0794e90db16c8ec30741d1 SHA512 68395d78cb17ad8c9ce7b70e23b5f019bfda25e6aebaaaa615babfafdb715dc3c83cff049ae8b9d6c3520919a8fc46cc606b136276af1e86dfb5e82ba3978e7b
-DIST firefox-95.0.1-ach.xpi 450519 BLAKE2B 0b6dcb80640bf21a3c17c5ca531370873e15c7bb9252cf416779bcafbd006d3699f92c027766d11dbe0fe1594b3f78d06d6488f159dc54e17f9e8eb78b6be09a SHA512 a82a89ea29857e192e4265a4c48c7dd86eb20d10adc7d7a1e867d5452e049a8634c97b477520639b48e7fc65b092b4a0eb8dcb21f961895152d1edb75033eb12
-DIST firefox-95.0.1-af.xpi 421586 BLAKE2B a788cbcddba0f0ed130353766a8c020a22895c64dcf22bb7a160a4235beff98e9ad6297f67737dec00ff29921eb6df61d2ebae02e6b5ad635cb050acb7bdfcd1 SHA512 feaae211061edfeb2b5c010615cac3df6043429b694e65e0aa9f0314d7d115a5a90ef574ce2432f3e04c33d0661639d694943a3660a160059bf6a3b9a65b238e
-DIST firefox-95.0.1-an.xpi 497837 BLAKE2B 62af2f9fb8fd88fe1a8f23d7bb62dbdf850e2b6969e8b01a75fe752e563e440a4d43aa05f00ae0813813c96029c6aee5c95a3aa82d74f503578ca26a100ab0bc SHA512 8835c70622c56b348bccec6eb9745838ec356188326167af69825c80b144332930ab1b52ad8efe88d90e9fa20f878465309b1b05c9f45313b0dc258f58ce27a7
-DIST firefox-95.0.1-ar.xpi 556954 BLAKE2B 1c39c4fce341b86deb32eaf04d7310795ef6060d7fc5b4d0ff2b9e938fca87ff20614ba5eb4ff314d0bbfda6867a368939b7d6d0a366c041a66f06e7e7f5a4d1 SHA512 6fdd293e38f10b8686335d3e57914d674b40d6d52ed2d9801c5776d96778db03efa1743a9d9bc8e67d48b882d3d83708a4d2fbfcf0d5a3cf3e7a2a2bed4d749f
-DIST firefox-95.0.1-ast.xpi 495639 BLAKE2B fd34877069c2f0621042bb415b1fae7a5295932f86d673778ccb865ec65a2bafb20cdab0570c5a2d9106b9ca70006fb1a9b12d77545bfc0898a3cfd18d952603 SHA512 7ec1b2f5a6d3f946805bb19b89079a75cf795c43f16d8530141dc91128d242e1b6a4943d6d2f69078425af15ac63a95908b5ee4afd2a9646860de8e8b544ad06
-DIST firefox-95.0.1-az.xpi 486489 BLAKE2B af3d64bba8c6d2fdcfc4d4f3b078a6934e564875fa30d00e17013965d029d2d927eabb0360d0f2b8767241ff655bf7a46e00f81a0a61a57f21d5e6299291d304 SHA512 4b70feebd894a4c8ffe153f7480fe9178a1c88dae0a4e354ae94258b8c383378f997461ce5db67f6d106c825b8a77a5f8c46d020abb83bfd8f2ae111b4f139c3
-DIST firefox-95.0.1-be.xpi 617811 BLAKE2B a6e6b61e9db2e6403ce26c9209af4984b1d26172a2d4d82c6b55175f692ea7edd4d2de036358ddf2394b5df17c68dd3737b4d81d8e9a32240705927cb650fec7 SHA512 d0cee31b7ff312a98fb855a3c7905171641d656db4cac5c8d368bfc45d300c507c1a7665f957c36e2e0d2f281e8dfe1a245e0ad7cf6ea93e082626c3da2933d0
-DIST firefox-95.0.1-bg.xpi 564532 BLAKE2B d982253c25ba1be9c1c104ee2e45383bbdda414487a14c7d31a28f81768dca8a72b2fbed0a8a2d4f4317115875ad253825cb8faf970b0b38884a038697fadd29 SHA512 7669a8ee8f9d1e440904cd76281c5fb25da1cc83e3dd1b0a38d7a118b1d0083055f39489eff33fe3082dd5b1649f67e37a824955c37aea7f907623e957853fbb
-DIST firefox-95.0.1-bn.xpi 553376 BLAKE2B df7dce4de8665485f3df2a0ab550429e552e8fd8e33c464127d7fc832ccb295477831b9664e8b05761c69f0f86b87527b64db4ecbe8bcbbb2446734be19af073 SHA512 320039de296fb52f8ad50345c4f86044d62469c59be4c1de6ebd3aa9efad7e8e7226bd60aacc8f99eeaf78036282bd3fb44432d1e020c242b81779eae0f6d187
-DIST firefox-95.0.1-br.xpi 524083 BLAKE2B 7398e294b576ecb466680a5c5f846c66a9512d5b7ef49261f5c797268f7214fd3ffe817e9498ba8a887ba7c1b36e40cb28467dd7610064a70ef02eb8d7c36197 SHA512 efc67a9a3cf117f19f3b0251cf41596c0df9bf2413ea1a94150b2debe18035c6c053ede795bad584d1269c0a825b6a50c2251c64b39fb34d72bf0d144979faf0
-DIST firefox-95.0.1-bs.xpi 460944 BLAKE2B 44d932c35f007d9ff69374a910aa5a2d889a7fc9a65a3b6806d465a033d3ba4ac28ca7924764a22882ac3838910a54b567f40dd3c4a55c683dc764736b2fc9a1 SHA512 0e7b8f2cc9778777bcd2e49fc6c916fcc45e6456cbcd1c14d47506a1fe8f4d9ac32c251e76682cbc52705e0add40bdb088df6d9b8c50e873f7690639983eb1a6
-DIST firefox-95.0.1-ca-valencia.xpi 526570 BLAKE2B a8d42d609028e8cf833b541541a2b033f9269a07f01c69a0df54b170f20cf9ed7bd005a3e64940988c39cfe258e738657d4ba23894aba39a9f77573dd4365c33 SHA512 25a418be1788c62bed21e9323756a54cc33c28fbd32e36d8b52a0a1b17b3dc706a064fa3aa70911746183854f2d4ab60cbcda6281013e3e692b95bc549b27421
-DIST firefox-95.0.1-ca.xpi 529727 BLAKE2B b05a403369a96c950e55f4f504d31ce524c43ba951e090c0d287bd174cef1f80dd85c49b0e78b88629e73f2a994ed4445a45342454bd0f0436d8c4a31c4e5c2c SHA512 72b2531e7c5b18aecf3e3eb9ca604672819667fc11bdf621e46fa29f541810b76dc271aefb0a82b8a6f2b889ceb2c51d47f7a3cd0b11d087a951ecbb38b679d2
-DIST firefox-95.0.1-cak.xpi 550291 BLAKE2B 2cfdd03b818afcd7abd54f04b6348c03f46335fd460840256506786084b460ee4e91e47e2a3ad7ff3df78ae1e559f474f6c6bfaf77a53df58431d535dc6fabe5 SHA512 1cfc5c65dd6957bd41b469ea6e6373e86891267388e90bd4660666646d0876ebc0fa1f62adf33e6e760608cf7d3fef162435d054ce3ddaadc998255df9edd371
-DIST firefox-95.0.1-cs.xpi 560514 BLAKE2B 08dcb2c3688f3b4783fa51f82e8df5b8de4ef1a63573310b5c39114400c89e5a67e1f95cc900ae654ed37d607dc41c4e83d18e3069220eb31d78d2aa34cdf794 SHA512 aa7288cffd23c8dbe6f1a1082c30323134470988d4f71a7e629aa81295fb958dd214d0a6ab09dde099f7333d09c32f6c3f6c58b46795a182311fa76682bbda43
-DIST firefox-95.0.1-cy.xpi 538500 BLAKE2B d4cda5ff809d6f7953beaa7b57f66aeccbfd5cc489414eaeeb88f04286d2244fc1dd8781635973778b7e1843313c2f5e96d2e7f1fb5b5bc978ece5987b50cfce SHA512 e8f62b4ad396a7f921de486dcb72d85a785a6f0466313cd1d68937a617de178e868c807d336d981fb53cc713545e9a7a74741f3e42c1dda2b25a2a10bd568c52
-DIST firefox-95.0.1-da.xpi 530403 BLAKE2B 0b2a5eff9d24b87041aa3f2b45b35276d30cde9bece697118f68bd7ac6cb71069aec08930368b95cf2437c23d3c7e652d3ff264d8d3fd2307fbaf07ef499ca56 SHA512 a69c1fda4220c0e9939449f67abd66b87e2506d6fa72dbae5b83fac2cd1cab055a2046d05830992d79116c075723e284c3dc2dd702ccd40347309b51cc1df9f2
-DIST firefox-95.0.1-de.xpi 549564 BLAKE2B 51c49debbab39f18900670b1d63ff7f93166dc627b6d3a839b4404f8e68792d900b89b9a22b9863dd2b3181fdb5285e50db9ab4c378cf566be08dfffe13a3d28 SHA512 2bbbb760fc0dab18985a13a4b301a91d8f433088c99c4777c5f6f949581a7f3a7c2f935224154197bbb392844ed0bdeba533083b1625315b0970ded5cd800771
-DIST firefox-95.0.1-dsb.xpi 562324 BLAKE2B 10dc9b359f2b6336ce107d15e4d7b3496192481582e764e24c5836f61870a4423a85b4cb09d078fb8368c0b88992abe6f6ef6b9b10277469ee14a0c361c6a6a7 SHA512 d85a2d82024cec171b9f50bf96b44cbcbc10c9fb41eb48810c9256f41432580933b89a75f06fcf396866ef2b7bdb406f8037921a4b3d0d64fc399c9388adc75b
-DIST firefox-95.0.1-el.xpi 634234 BLAKE2B 5252c59dc3fee91a8915dcff5eb27a5697d837253d7b6b772197b2996dc7fbef4108007b397b20b761b63711433a27fac5acf01426d2f2602ae7d30564f72d5d SHA512 59d0cb44eb34d97718cc01224bf63a86230496d812371d6df920471f3290716587d2cac4174f49f2222e67a98e2a0d35528b6c18b91ec6bf326c6a16bc0b9a96
-DIST firefox-95.0.1-en-CA.xpi 506095 BLAKE2B f05c919d66f8ec9f738940dde511082ae735dc6d4bbc61547f94c0257ee735781014028f04ef9ce066f4978284d297310126ac47efdca203d19227e60fcb5543 SHA512 bc4884db6d34a0c6513874d0e7ec8c811c4f2a210530d5848ff551bcdd1ea8f90ee3559a35187cfd4c1055d0505553ee6753e0d91acce900623c47dfc69e7f0d
-DIST firefox-95.0.1-en-GB.xpi 507062 BLAKE2B 0b2fe1ca72db0a4cbb64359e618e80b554c375b960c8ca8e229d1b78ab3163458495830ae4d3d8fbe5ed838182c79cd26aca432dee779823880c9902fe3628ff SHA512 ea53469e4bbb3eddf2896243f87ba8975269bfb786e17cc4fdd727ddfbe1b9510175daa38f715bbd4d0f69fd0e1eba331cbeebe88cd6cb8c0643c86e3e66009b
-DIST firefox-95.0.1-eo.xpi 531430 BLAKE2B 0bc526f0fc5f2bbe1db79e6cd2e5da9bf03efb7b15fdb9543a649a89d46dd76a821fb03ff54522f49cccfdf632ebed3892f7c1fef83d076dd251fa7386499566 SHA512 24a0971eb61c3bf75379b20d6475842620e975e7393c9311b20d13e55c9d3aad0e965ef9ef8941deb2cd5e3a4001fc67bb10d84ac48713f5648b0c9834cd6b5f
-DIST firefox-95.0.1-es-AR.xpi 542823 BLAKE2B b973b011a688e501f2a40fdd31c40e33bd02dcc0aa5de08f86527b6a53cb32ac68c1c4db141c3cd10c33443a085ae863b1c712fc71c9a833d5c542629d94c72f SHA512 278edca66a2ab177a54d10c224450f65f3e8ee25efe764cf6e94df2bef5cefe608e133f1f0d007d30e9461d51b1fbfa6ce5c70da4aeb887b1da7a466df28a386
-DIST firefox-95.0.1-es-CL.xpi 542412 BLAKE2B 0f4603b44167cc5ab9bf9e2b3973c79fc41dc33dde80b4f0e431de1ca61b78b944ab79aec0ba4fb35586dc3f7d730ed0f59d3012f29526bbd60ad6d870244b82 SHA512 9a5589a0c4353a1448b7dbba1043b8b3584dc38c1feee687023853edac2d6cf369e31773258e4ee2f12cf5f0bf5eb34577016ecc0bbf972cf31fca2309b6dcc3
-DIST firefox-95.0.1-es-ES.xpi 533170 BLAKE2B e2dff4d6df54ce94a3b8126f7aaa5ddd3e30ea61022701b5520cd3584680eb2120c7479f608cf54fefc5e2c0838f32c135d64761d24ea31c4bc1f9437df3e889 SHA512 0497e249108e042b47c5ded5ce338e8c6159095b03efb20ef1ad3f6add3bccd40c0c876abff8c880af1a6cedecae1d1f4d016c35a54804c55ea6ec6b081d3867
-DIST firefox-95.0.1-es-MX.xpi 545982 BLAKE2B e894851f7c3638ae99ae602b296afa3278db4cba818c7eef5f383bdc294eb1d756a733bd5c2349bf6b00a1f1f7fde08acd77033c89d29d63a76e1081f4e332f0 SHA512 f8be381fabf80b2e38aa5df19bcfcbce3be3a8e1d276a667e83fb135755b22c2efed8ebc86259eb692081148369a010560ee19bc901f2a942ea751c0b768dc22
-DIST firefox-95.0.1-et.xpi 503974 BLAKE2B dbb49a4842cc2faa499aa7aee20b592442980f0a3b287bcf9e1e3ec99867b614dd02f7c2f4b61ed5dbdecb04678acf7e5c2372ba6dc1ce64563bdd705688512d SHA512 063d08f5b78ba3c0d07b7f08623332c05f6e176f0f1c18ede4c3a2087981ae668bbd4295f7a00a5fc359ef7788886eda934d44d0540fb1cb830fb84cfb26e9d2
-DIST firefox-95.0.1-eu.xpi 532585 BLAKE2B 20c5ea1f3ec59f3ed5fa2523ffe708638a3abcc8315c922a20685acf35670043aa54d57959b6c02322250e9244e0bcfb25d855a7a622563be6a006f162452db2 SHA512 bc4328451f80d80847a054d764cd168d8afec54e6299b26e8f61aaab9b2a6594feb8575522aeb70d9906fdbb974f2e4c39e7a4e026c2032e432973d18eb7f256
-DIST firefox-95.0.1-fa.xpi 556245 BLAKE2B 384b43dd3810244569698a081a192e97d15df2f15e172561dc8613c6875ae55c54b7a4eb11f001771db6e0512b7979fac56eac36252fbc93c0e81afad89ef6ab SHA512 ef4dac7b8f61cf716355aaf4410958668732be28af3e71d4211ff6127acb87ec4475d1f86d0feaf2cb80553acdd3c7d8bb77df8bdf452874778dbf6aba4dea7d
-DIST firefox-95.0.1-ff.xpi 468417 BLAKE2B 29bc9a90ad4b138297df47dcfcb8782a643a9d8e92d688dc8ce91ec1f9f152b8fd3a9012a4fa6c6f26693c882fd19fa1bb615ef3743734dafca99f94581ff508 SHA512 0829a0653f82ffc09394df8e669fe9a5e5ad746cb44850a82e30b5d0a3de89c1fc6ff260fac93d2fa6c6cd0dd0bfba95db0ba861e493271f2ab0e3c2c902e1c4
-DIST firefox-95.0.1-fi.xpi 527613 BLAKE2B 7a92a9284f1b3440cc57871156e8889c6aa6147ae91e7f96a033c78e629edd3e36bc40f67b055c956800a4fff4197451b8b74a71c05c96faa1340109ceb9cd2c SHA512 12063eac745817afc2410314e2075d46bd050587eacb8d20dcc4aa153f14670deff0019bcbd4133cb03a7e28a7793dd213aa0c3a78abf3bb8a659cdb328845e8
-DIST firefox-95.0.1-fr.xpi 553723 BLAKE2B 1940a6f5cb6d337e38b660c36d16f948ba4fcfca847859510363a520ac0ee06d81c064ee97850e857843f62ca9a703f2929ac9e46a6400d158ce11c003e3cdec SHA512 313e4320e83566105d461a134aaff4387147dd41748469f2e58b82783170875f04e1bcc715f0a9a2ef6f9064c0aace062194ad1d90c3cca59104a806cf8ffa1d
-DIST firefox-95.0.1-fy-NL.xpi 539298 BLAKE2B 11ec474519087cc3505350ab79e21b1a5e3aca049dc8ace8a88ac800707b4bfd7f6918a2eac88e663465da2fc1587554689cf2bce11eab11bdf2384c8fbeae7d SHA512 e9fcc73eb0fc57d60834136f4fb3e6a3d77d7dbd02ad07afad77b3f302d5069244dde8467143c6df921a7641f6a2a7ef914aedc0b01cfeee5832fdf7de2caab7
-DIST firefox-95.0.1-ga-IE.xpi 456366 BLAKE2B cbf2bbd4406e2392caf7087d86688201458ccb3a6ca4996a695fbb61145ce0ee82b81cc5a12418239f8d414eb6bb92a56db42c7bdf76b6decb17f9ad64f36af4 SHA512 c65cacc5a1d4518920af36e1583316da32082e16f9e8a4dc7750196b68599400cd34b15b4527b623a951fa22a150503e16fb108fd1d8732ba84436bdbd03f6e1
-DIST firefox-95.0.1-gd.xpi 528518 BLAKE2B 05ea0987263ec7ee001a44e1a013c6e89b35a6bb9003abc93adfb63db3072479fdbdb17265ea70ebac74da381d40346499b657d1f1bed0d94d9a1fcdad26a9f4 SHA512 545c1cfca30e077eac604ec1d0ff6cc798db094bc03c6a2cdcc44f02f7c3e2a14b6784b38d16bb8815adbbae5ceda6011fd3d817c0b11ec0fc0455fb7778a463
-DIST firefox-95.0.1-gl.xpi 537660 BLAKE2B 21fe531d173fd87dc93df58fed1b035a181915a13c89e421a46f5605279b19b6d024d4a9b4b99ae0592a39cb2b883b8ef9a23301cca18130e8aa703dee2ddd09 SHA512 65ed5565ccd1be631d6eb8f0da44793afbeaf7fe5a1e0106df8117085faccba2b4a5a23c8f0d81941add9fb72780e0b1b0f5955a230545416aa366a32a9ec3b1
-DIST firefox-95.0.1-gn.xpi 553601 BLAKE2B dc39daf1fd798517d6ab2fff2dc9a6cdc86fbe979d6646a1b14180b9ed4f6f43aeaffacc3eb85632a7d3ecab8b1d1d2b7333b72fbb11d76bdd6d35b4a5703a57 SHA512 07455bc89665996b08b07212a42d201c4f66fa5c9b6c130f86ef8f830924f19f6706e9d570cd5ca0df6bdb34f3054bbd3afd1d04500f3627f881ee82032d424d
-DIST firefox-95.0.1-gu-IN.xpi 525939 BLAKE2B 3f3271990203f457bb559f9433fb9735c263c05a635b012793b2e21a3119faf9a829d44caef67ef519d18d5b46f6351bfb4cbcc0e8f9e6212893ebb1dbca6225 SHA512 b709bc7157acc948acfb34b41f1f2d89f2639338a06e8f8db91644d9e7874ce17e8ecb5df5ec629e300e83528d1e6f3b13b9ff531b294c562183c07d3fe9f31e
-DIST firefox-95.0.1-he.xpi 553661 BLAKE2B 356af9c002c8e1291b0b0615f18bbdfaa868e0f9f3824356c51d35c4d16c1c52d0dca7bebd6443909a025c71719b5f0d023028ab117ea034ffcb8375b53ece82 SHA512 9e68b9f99535aa20d81dd79e05575e67ddc84dacdd116add6c3fab1068a6eb2cb25e15185f5654bc12df876d49dcf0eda18b0185836bc0cf4375db5592d454fc
-DIST firefox-95.0.1-hi-IN.xpi 557072 BLAKE2B 8b5d4887921c060af04ed96b17616cb9dbe74da98af7c0d65802cd645de8725f5dedde3769e3c4e9fa9463db456b57ace5608ec6072d26ff79c0b6b4664bc149 SHA512 0e17b69dae93688e2972b3cecfa2c6d343c3697269834c4a586fd49238b035e93b5a64c4fa66ad347cc8c0b37b234876043489a2fe8da4ab690e5b0e8ccf1f7a
-DIST firefox-95.0.1-hr.xpi 527711 BLAKE2B d4ac0f421c2cf11abadad3f81f961e5fba6ac124dd91e0cf543e0e25a629b312c9d382262aca7e7d7a12dedce00840f8fad4510e50f57861d39c5a17ab777d08 SHA512 b1441766530a29492872337a77a2f4060244815fd057301bd751fe7c772e041e2d6397085f522cd1872e4a938feb9f0697cdd39f0ba4fa8ca12cf9cee65b7495
-DIST firefox-95.0.1-hsb.xpi 558442 BLAKE2B 4d7a15c01e263c6919877767b95aea328f1c642452ed4d928847b762e91278c83d0413b7706dc3abdb8361b1a3683a833d7cc36d049290121570f2e537b1f34d SHA512 75fae654d71263a557f2469f128e9e833435858fc53191893401e7ed8231bb0aced7d17ec6a86c76e575b266edc2835a302b268b31440f4ac5535434d9de2a54
-DIST firefox-95.0.1-hu.xpi 561844 BLAKE2B 6d2607df52cdd15473b4b0c79db650349160dd4764452da72300fb2a0e1bfd425626bd564cd1cd1a41cecec55ee0503af9e2fa490d4d5865a6569d9bf1c132a4 SHA512 3f17f99e1a682049a07b8cb53dc2e60c01a80b6a8a8db4eea0a402c87db2d313cb86f3531060e0ef8072d25e9c163351e131312b7418ba0f2a2013e7d0306e6f
-DIST firefox-95.0.1-hy-AM.xpi 576868 BLAKE2B 472046bb2d7409dfad2446e56f9d40f4c7015cede7c82a7bfa0070aefed91657328e1eee9ccb6c4debe1c5024034b8d75c8c4639c3a184fe53a7ff9aeefe0a25 SHA512 9d2f0f97f4257858a7bc618e813de49e0d6bc8056ad32b4dc4d756e06eaa5f71e72413dc487dacad629daa3ad19aa72b619a06d99c1ea77cdf8ab9863a1167c5
-DIST firefox-95.0.1-ia.xpi 528441 BLAKE2B 566feef2c28d7c7357e7db11bf228ea6d0fab7fb5aee4f29c35ab78815aad6ec5950ad0e45565bac0347c6524e98457ca9e44dedfcb30ef4d30df0fd9c70b3b6 SHA512 56eef44fa840f839b55ed5b8d1a16a6710d6595934e2a9357f3335029f6102de94bbb53f390ca9e4287db6654fb85418f39c4956414abc6620c6d5d18c42cb7e
-DIST firefox-95.0.1-id.xpi 518127 BLAKE2B bea031f46fc845ddcab0d1f4436f03e4639278483a215bef2390405263541653f50a54920a2f765bb5f8c67f26221194edf8bbfa67c5ec98d210520122214b0e SHA512 bb65d3f435f79f7e6927e1ddaf76f199029da092dbcbdab4f776004d882523524da8a99833b8e355a8aa215dafe7353e9e4699fbc2eb44b9a48d37dc29558d5d
-DIST firefox-95.0.1-is.xpi 467518 BLAKE2B 76f0641219ccdb6cc5caef4b82acbbb6ce5428e920952a29f1c0226c6d253e92a6371966bc3b640041737cb0a54d3ec5622a554ccf44f60f6dc909cd3643d4bd SHA512 94f51fc494188205c7ffd9633f5291dd13cddc03db39834ec45ef68b9e2aa4bff203b0a038a1304e7beb277f5cee4ec46f0d4fcae120250d168efd6103b971b2
-DIST firefox-95.0.1-it.xpi 456468 BLAKE2B 62eea1c0434a5c5895fb6d7d5e0db6fc755605cb6cf3dcc5119fce6e3dcb328d8be6b988934fc3cd028487ec4dbcf840cfd7850e9bb85a72fc5336011d4edef2 SHA512 5921a8090394af7fb4a210936ea11fbba7b20b75d63d2830bdd43f1084503bbc0512672f7363c62b53f71ce39f506e57a6a05127f69b9174b54e6fd054d170ab
-DIST firefox-95.0.1-ja.xpi 583406 BLAKE2B 4205dcd77daf1fa4649dbcef72871f6f2770bdcc2be59bc30d336f61e583cce98dc4d9eb892a6f05627323e956b19c34f7de48be68ef6e69c4e1a5fa41cb6e27 SHA512 aa688e5920add12239f4d7d8d90b9218c6df0551dd13f171528357b0ea5308458e81164472025ea6ab34b727dbb8f4cb1324f50f8232c07b6d07d5f76cdf965b
-DIST firefox-95.0.1-ka.xpi 587675 BLAKE2B a583c33a8f9142ce612cc43bb111b2befc0050ff758be8967ab4d6f38edc14930a2ae3fe1b878a9316735bc2ff887994971ee488703417d576e280c992b1b5b4 SHA512 ea64cf59659295311ca122ceb7c310b682e6a8e90a1f2a6ec4c28a793a184ccb379d9c3df5129d0d5488635d4d412e6a3928c44a977dbef82740439486c83054
-DIST firefox-95.0.1-kab.xpi 543123 BLAKE2B d01c87ff6ee1f5e512b3ab076cd7b21938b604b7a25cd2c5c1e4426c96b45fc8dfa3479faf73cc622f6cc2f47e14e6c307d9b4ca2580d99c6bb7f57eafe1d380 SHA512 3217bc52a16972e77b497966d332c971b9bdc98e42c8094f5b01c2bd0da7e3e1589e2f0ec914d863aa2cc248f444cc5f8c126b51e436ea233da3a167d222fed4
-DIST firefox-95.0.1-kk.xpi 601962 BLAKE2B 43e16e4f63c650547543796e6a5e412002249c627409e23b6570f1b7fc81a5f3049a6521bd13e672f0b69c2cbb5f53eca4f442e6ec2b6fd52fd79c77b2b7a10c SHA512 11f6fea2d7d020e72dadbf60d3da9ff9d80631eadafec8c74fabd6cfae8f639665e7a56b7427cf4f4593c11765794da04d9341ed1380cb3d30c7e0fbbec2ccc0
-DIST firefox-95.0.1-km.xpi 528933 BLAKE2B 3d1dee2e5e65d9fb248b4d04c6d4e23ab820968bd97e91774861a73c1cf1d56d81a171d28a9d72e34ddbc03d6db6ea218d337c2d34d39f1ffedae6690d7f8fc3 SHA512 02ea54a155407727d41441833a46f6782856b898ae239f1a0a9e35346a2438d24b4d658c4eeb1da4b02072fd50558ce10d6b2e75a25de60219d8e89b0deccf59
-DIST firefox-95.0.1-kn.xpi 494304 BLAKE2B 75b9c0119423935576376c2330c19ab5ffe8c3f510078bd4c51ca43e7d3d2a150d499d70494a87b2ed2ecf19a050caeb312a5646b96200bad108d398cf0d50d7 SHA512 0be1c2cb574209eb434549674813fb0db6ad39a77ff3b8ea1abc2e3a67c8ef58297d0f60eb0dd6017b39c4dea3e4e5f8e392c4bdca52e6742ccce4db4a641856
-DIST firefox-95.0.1-ko.xpi 574792 BLAKE2B 7c09c4682bed6db4ec7d4f53adabe665a11aa4988329832e96c2e7eaca30db756dab938559a3d2784922d7eddbf201975aa1c74ae1dc3ec694c793b5d64395d6 SHA512 b470c0ed21c421b3c748290125fa52d4b4625838d334bd55fd1e0110129310d5ba9946b4d95be00b19559ab6cb08a928923d386cc589ddf7d8cd3178cb39f6cc
-DIST firefox-95.0.1-lij.xpi 467374 BLAKE2B e18be8b8d90704247c51e5f02a7efcb6a7e37e18b4b61c80de955a18c14f5d528791f6265a67ce3d42b7116531f1b6b7e0fd400ce3017584f3c0798d84bf6d92 SHA512 e9658484c0b5b7c4917f7df6820ac7c523e4363655531bf45cbfab9b2452b17ed8bc7beafeb034a1716e5b22128d33f51341eef6d0e501ad8ebf3010b44bd2b5
-DIST firefox-95.0.1-lt.xpi 556119 BLAKE2B ff016fbd85d8bd117d3fde8b75a97672ad100eb5bf2810dcc0c6c797c102664429a0c1e4344a6f36220e119dd3bb46bc0effaa6ceb4db3c5000e20774e399bae SHA512 7474edeb8456bc318d8113c55f7cf80ff6cee06c574a4783a0148ba2c7403b62e4baf869d5e8115d52484112c806006bc7a2e715626155105d305cf19311c023
-DIST firefox-95.0.1-lv.xpi 459575 BLAKE2B 2e0e216db6fd845ba498b1110cfc9d0cbd75254e58b6b092e19301014f2582bddfcd044ee7a840e790c3c8130eac7f3afa2282ecc4f53d865e0399cc46c137bd SHA512 7c76972a1a4c457760cca787bfccd5624188ee755ea2ab2092bfcc42e2a00fa7734ffddf54b86d4f5e9c6dca37298e4be0c3301f388acb22f1e6b605330c9f29
-DIST firefox-95.0.1-mk.xpi 460722 BLAKE2B 95f80462eb6cca4fef40188a8887a4a9751d599d9ace349fe0a528a3d97df24b33211c4ff0eaa65fdba4968afb2e685f50ed55fefa21271115840cf0745f7711 SHA512 fdc08551457d56a4d4455b144b752a699a628d4f566e7e699d843e2cf9dc8b1f0397433088cc4464e89016bf50252ce3e73b29b156ff4070527fd8d7b3715d56
-DIST firefox-95.0.1-mr.xpi 528740 BLAKE2B f508437ae4392cd52286ef490ef9f403ef142a7dc64d5a4e8e5fb3b985f5534e31dda59a565591806d908a450eb378935192ad75df3fe126998175b00c0df35b SHA512 b1c9b2748738cf212b5ecac2024712d557c5869b77e789b288700180f0fed585a9627b73bbb7a52aba25233b694765309532ec8fcfdac7726ce8ab85b4bc652e
-DIST firefox-95.0.1-ms.xpi 444657 BLAKE2B 122105b560f86db152a1c88d85c96f5838da8da8c0e23deb367ce0f2ee241f41f4cebd4d1d70442635dc7383ca33bd658086353915cd68da99d3bde2413da27c SHA512 43c6e8a1607b468e744253efc6aa4757c109dacf8e173c4c33524a09eebbfe875f404cd4145956c438446783b0370998a50b6e89a92ceab5a6f7e390091c5534
-DIST firefox-95.0.1-my.xpi 512518 BLAKE2B 0d763b939d3ac612ac78fbda8da0137fbf9134c058ba37a6aaf684fbb7f0049658fef394501dfa67fff59e7e435e29dc44fb7bdfa1bb1e85e2b22f64adb5523a SHA512 42e63e345d7443de6aff41f472cb2b30802578ae86c0a6d5dedc0319dd46d51d50166b8bd6f93f4139f020e9748dd2f423f04c9dad4125d467888c1b0b793767
-DIST firefox-95.0.1-nb-NO.xpi 525742 BLAKE2B 517f3d4c349617b82ddcd9d8b642eb3ed7f5cd880d5a08deef081709ae8a3b7ac8e5fef9634f71260476a478164c6f20daf6def5eef2e616da5380f90e7daa62 SHA512 49158f42d67235dcbdcdba408c10deece2db08ac0cc2098e0dad8e462da103b785058cd96af3e4b2ec16f745e4e806ada6c09260230fd327b6d315ae67c64b50
-DIST firefox-95.0.1-ne-NP.xpi 481250 BLAKE2B a95b40b76c00eead3a5f3ce80df1d2fc3ecfedb0d4e0abd63047bb33d78ce6657b77971b70e76543eb9602b187ef12f0f753f65be7757513659ebf5c32c2a693 SHA512 277f46e32c674cf24291a610c28183ff2bd86ca26b28b5697a571de1efdd4d8bcb9c1fbc23d76dd8f3b359e6f002110dc7c6569fba628aaca07b2df5280a9637
-DIST firefox-95.0.1-nl.xpi 533457 BLAKE2B 839b250477a363a658b29447cfe9588d7bbb0ad9b84361f013099b1ff6e6849a3196f308ca05b7ded5ef40f8a0110558237d6250b527bc1cb0fc25d2c59645a7 SHA512 eecaff46702eba4e760f4a70b87fc56753ace9d302e38010a24ebda8431101ae27c724ee78f05d80950c2cc7d838855f8251368015d182bea9ac0e72f73d5577
-DIST firefox-95.0.1-nn-NO.xpi 527939 BLAKE2B 859fa6f7cda5ff5db91a35902dbaccb3e2056bc297c171e66c46f8c510d776a71afc9af1de3b04f44d4a20ca4767a14f3e1a115fe13043895152c8d13662b327 SHA512 e4a97cc172938b92344d24f7959922bf111131d7d31ab7ac38944121bffb2dbcee562dbb895926f4f756280c31643a48f73bd275043929d71113266081c715ea
-DIST firefox-95.0.1-oc.xpi 549085 BLAKE2B 3fa5a45f1eba8220946392183667c9c0211859237648fddc86a817f1fc615b38d02d230a9160cdb08fe8b37afc436ff867b67e19205ff56c64b601b7be5aea79 SHA512 6d86a27c9e0060fb8e9ddadb140f63e5b791663be6c7ff9bc5fd5bee791570a7b5e8ac64bde84d3fd78470f00f39929f0b45c9d81cd60ed389f93976bd9b036d
-DIST firefox-95.0.1-pa-IN.xpi 592190 BLAKE2B c14629aa1b8f1400c27cc6eea313bbf46adb0ef70a955f74e50d2eaacc7b018b513432012e9efddf0cdf6ae0ecc8e46a2531aa12b2e75dceaab1e0e365e2f824 SHA512 5bb4973502f5bd03f33d30b05a44b3ed721293056e31b9c4000130e8d999e1e9cf3af9b94541ebe46f694a3419ede2f92a9bd745e257eb3a8442245d125fc344
-DIST firefox-95.0.1-pl.xpi 551776 BLAKE2B 1e2216ff49142a97dfa3f3a25e5b5762fc5b1b56acd85324f15935b031a9f786a2265916e14b682a8a0fc3fd9c9f84478f7bf8f47f6acc43bcc93d4cf76dd90e SHA512 235f633cec1e55937850680c91d5b9ea53db19dba58078524cb91b1159db9a4d012686959c914b298ec3df475057f7d4d239739515ba601e22094e9b5b571f10
-DIST firefox-95.0.1-pt-BR.xpi 538829 BLAKE2B b61ad2660937ed50f2acbdd682ca8d2d7d7abb1995b712318237092e4f464e63f20c49754e6cd2dfc7f8a595c482ce14941cb1111e8249dad2d6b23c1875323a SHA512 b6929323e44f7e041bdb986cbae5795a871f1cf848067edd93dd843af461d8fd9d47cd7b5c0588a3d0b597093a8b7832b06cf5a68c4c70ee23b4a5cdf5e3856a
-DIST firefox-95.0.1-pt-PT.xpi 542292 BLAKE2B 077cc4c3670c8d0e1d676e6daa1f30cba288be40e934fda11251a465098ac9e6b3d2df88543f9832edbbe95dcd56559ddb117bed2b43b5c78e615881d115f295 SHA512 b64d8ad52cd7a28a014040fa730de6788f12c919474d971ca11f0f290a5910336dea1286991142c14a164286bcd4f9a6195b26b423c0379248b0c57f6fc65709
-DIST firefox-95.0.1-rm.xpi 533363 BLAKE2B b7d104a30bd76b72cbd8fa6413a004d4e983eee677941b9f96eb55daefbe37e1236f1dcd39db64bcd9ff3dc6ea72ba8930bcdb41e90aa73941df4e1333f894e8 SHA512 bb2e4fcf1a1e9af184be87350ceb9a4c4c8e0250e7feb485f711013807a7df6c35d7415b3ef9072c59d885255d3916ca0446c2c0e05334a6551c80d6f9d6349c
-DIST firefox-95.0.1-ro.xpi 526938 BLAKE2B f35c6d19711d9b7ad1182537bf5cebaa55a63f40cead52da017cc3c8fdeba97abcb5b33def9a02f1d92cffe240765c9526919b1bf327427f23b9abb656280287 SHA512 330c47fb34ea1d9318731322eb430124870924f412a1764bae653ec2a8145cf47d035b26d9a91c9cf4625bfe545e23350420f2ed75634c93b1dbbcb673770ee7
-DIST firefox-95.0.1-ru.xpi 622430 BLAKE2B 6088c55cfc382d236896b34350fad9ed5f78c2435cf4f9ad7e497172da4dc748e4b042e69da0f28759e9adc0bf8a0157cf547104d26b079dd62bc30c646f1aa1 SHA512 d90da2fdab3190558bd99e45d3139b1a7f86e2a59e647438b71fa866ad3bcb49333a45455963fd3225ac8fedd34fe3feee6ecf950262f7b462f7c7b3426ef0ea
-DIST firefox-95.0.1-sco.xpi 502275 BLAKE2B 4a085e9c486451a244bde54501c6e8b32773782a8de2e54ada6d2ac44b1507f8932b311331e8e5ba056c8516ac155bbf37772494aa292d5c790790eb90ec206f SHA512 3fccf0b470dc048e2dd0005ea2c3a60a03067654edd174631717837d47db2e46386d45f7a9ef44d0d0a5be79dc84ea9abeaba0966b5ddb89b79c2a93facc17f8
-DIST firefox-95.0.1-si.xpi 484213 BLAKE2B b494152917b398212da03267b80fe4ccb262e17b9a456cb1c0023b5648105686ee2317f2cc315308e8db9e54977f69f50ff9658c2bd245ca780c70beb971c7b3 SHA512 3fcaf2697a33f7b9c1418526718dc591823e2403a4ff7af09788aa9a8db267a478203fc198744cb1b4562c7c5110934eb0af21c0460d76d725a39eadce0d7f73
-DIST firefox-95.0.1-sk.xpi 562412 BLAKE2B b014c3b7cd541e925ee4b1b809f8b4b161827774ba7006cf45bcf0a6bf7602502577f3182ced3801a7b21489b29f7fca50ae8db506e1298dff90006c7214f7a6 SHA512 81d6a28b2ecff02d75069c7b8a1b40e8d94b20c9663bc0483a39cac50615308aa1b38955de3314adbdf85f45f2c0faf1df51823fc300f5ec8f7c39680bc5924b
-DIST firefox-95.0.1-sl.xpi 534351 BLAKE2B 0cd09a6dc7fd8838b66902123e86d8c38fb1cd652d06d97031593a4cf51f69b6b136f3ea2f3a4ac1ff6f195ed4bf4d3a20d6c7cd5755f4c02c81cfff134224f8 SHA512 39a500bf41ad001a0f2c1919386b214d7de2eb3598b02eeca189823f71c707edb1b5f23247b15386c84d03f84c0a58d49896e801c66ad80303d6eec86bb5d742
-DIST firefox-95.0.1-son.xpi 420615 BLAKE2B e0db7d54efc086c203cfd8f4f074db425847ef4f87721a82e2f4116a34318d56ac7098ef1270333ed2a6f6f3de1ff210db8038aa67e07e9fa080ec875f953b53 SHA512 bb214b858cbb51c278aa81350bc0598e66aece1fd02868a94ad5acbc2ec85e4a2221efe9c7edf1e795d9b61065927ce6fcdaf2074195c04603d827674e889dea
-DIST firefox-95.0.1-sq.xpi 552434 BLAKE2B 3e31e9e0429fc777e409993f6c179d466fea4c1c49db55f391190b281cb6203708e08caf7a36f8116afd49dbf554fc70abbbd14128363b6efcb990902a1c9839 SHA512 599ccc7c45ed5602d7925d681166297def13f556c468f20704b1b61389ea72ebec63aa44ca867abc6027fd69f22b3d9256ba08c93f0834d7499712357fde21cf
-DIST firefox-95.0.1-sr.xpi 582870 BLAKE2B 764ac46aa1d2a4535fb343e8819ac8b47849f4780ee209cd6c7b0fc3c82c111aa926bdb7666116de0e313f9943b9fd10dbda8eb2f7f96499de63a0a4e5c29df9 SHA512 e0d2be54d5cc17edb47581c2d311b6b3471bc8b70fb7421e64accd1e5fa3a6c762307e13cd0fb80ce9657aa8cea2f4de8cfa86918fd8814e2020af2376803e42
-DIST firefox-95.0.1-sv-SE.xpi 536151 BLAKE2B 7156da113d5fb1f5dfb720ac3e3f9c7d329aeb9a78c73a4e2b9e8a7408aa461dd1bcf82e63f02b5fe0a34b6b5400b21495de6569fa1b0ade47ffe76277652828 SHA512 72fc32b6eefbdbc8b0c17f41bb3313b4b03f3cd86eb28ef4f300a1fba4c5b40b4d57f9722c20d3ce94e8d63f6782cd53077c43f59b7dce9ccb6882761c2f65e5
-DIST firefox-95.0.1-szl.xpi 507033 BLAKE2B 8343cddc67dd5d85fff0e92aa65aaa2e9d17830e3aed866f67bee2270386f7b42251cf745136aeeb53cc774ae35a6aff46a74c2c77c7a88338c8f520abf96b5d SHA512 d7f7228c02eeb14b9152e25b8fdc33cb3ac84bbe4102b9868b9378aa3214b24529f6976a2f528296f9eee7aa5175cbc0c186f5a7944aeda0e24e0de7860b9b7e
-DIST firefox-95.0.1-ta.xpi 509397 BLAKE2B 21bd44fbbb66e1425211acd80f7b075dc9a5d441d84b1a88ade653ceb33be94eb46699f9527a3dbfb1162536b10bc6a2edf0c898f09bb2803a911654f6e5da51 SHA512 d34757455711f5e25a2ae1a22446c65a85d6da58e41d196fd7352ec28682f54d08f57ce92a6791c040cf59a5f7131ff1ed34e24b749aeab8c2d34a54b83ca711
-DIST firefox-95.0.1-te.xpi 546764 BLAKE2B ca4dfeb99fb5a4302ce9d0f3d548c40d61a5d06240e0c62ef4d00ebd92355189af14b4c64a3021b1d084ec3e0e2142ee2a377a193031c8ca71447888cccbaf55 SHA512 1fa8f3f5b4f3bd22a103970283ed3aa822762bb287f62ca6561519250fa6bfe9fce5abdb0d2d96904bf0ecdbd509ce3d94370b0d046da28c1bcfed1f3f4079ad
-DIST firefox-95.0.1-th.xpi 602707 BLAKE2B fb6c505b4bc16a70667ee3bcbe0511079b1c4a8080917e75cc5bf138e2a093e38111d67bc1967d1e144abcb559c4593cc46703ddfba040656c0d40645a70dc0a SHA512 10068d0c1dc56f96281300a673469dcdd19e842d8a408f2af16ee064132e5260dddfccb849ca9141897cbd35385da7676ec7329ac7c95446259030392218e3d6
-DIST firefox-95.0.1-tl.xpi 514079 BLAKE2B d59182c669fbb3a0a42d97d55ff17a980e6ae288ae350548cec8f2864712877574376c8993c849985be1a583f879b534b79b9c3c510fcbf5d796ca8a23931f61 SHA512 9bfc3067ca5b2a1ed4decfe476871654416808124bcb3a705a36ee694cde62b94e2179c1ae0a036ceb0288d11bcb74b81f3f081a9be834ac95a75286ce523696
-DIST firefox-95.0.1-tr.xpi 549762 BLAKE2B ac4c43c88c8f9d96ae87b5a2b396f7fd9c2191d1f71610296f3effff8c8b915f59628ae9acf05e13393f9a5c18bc56b55f16815c7557328d29c08c0d7296c392 SHA512 5ab4ad640f5cc083141e582fa81e886d7d05446cb81a04096f787dec53e9679fcc5d093db758bee5b7a5ae64784b861483cce4d75a3082aa2c30a29d5d865f38
-DIST firefox-95.0.1-trs.xpi 487969 BLAKE2B 871d050d3050fd7e630ec734bd4988b7aae3ada220f239cbb59d7777683bbbfc044bd0403d204c73d43f72d41d8dfb10bf06e6fa3d6d838ad156a5896b057458 SHA512 792aaa157ed0552dfbe1608e872da00f786dce493b48ecba0432af40ddfc2f3ffb2b11b6a6081563948626f677683e3267d04719e5c2753a69f9b0a64a69ab90
-DIST firefox-95.0.1-uk.xpi 615803 BLAKE2B d6c6230cd71c5e5997b987359ad819356d7baf9c3451864ce0dd4f40bb154bfd731060b30ea62473a97ff8545cf55bcd8458cdcf2755211495e4e6b9cd6ca683 SHA512 ce464fc2caa17b08cbbe66c9b16b966c47d709b4b71994071e7555e48fa7f67fb694d25e371646f27d6160d5d76f8422089247bd7c22ea81829d2025dd695e4a
-DIST firefox-95.0.1-ur.xpi 554243 BLAKE2B 806544101c99212196c6b996e7935c960086c18a4ba5234729123cb87aa0e764911997b987d2e6b4d58a274396015942652692a8658114384d5151f18e3893cb SHA512 0ce56a774252f31371c54443277530b35de3bc0a519527203e563260cd53a1b77f7b6f6ad35a91b41b3a899ac067e1dab27113f001a52c07e2ca8fc2bdeaabbd
-DIST firefox-95.0.1-uz.xpi 463754 BLAKE2B 07eb91a21da907cb144d6c3962e880b99590e40a149177364660f615dc3a6383443dcec7662c9be7a21f47c4895d2708d88ed8d6b5caadc584d990576a7fd63b SHA512 2f4b633065c6a498aa12cbf38817972bbb17ca8bb83a7296f2484de2d7ffd0ae1929f10c566c0ad10bd0673b4b747d600c6904a1dc80c7db3f560a7d9d7f219a
-DIST firefox-95.0.1-vi.xpi 569425 BLAKE2B 2f5df22c7739e80c1b74ce8791685033e5d8659368e4b7a9111807d8ccd94fa9ad7e159859205237c5cd285c74f30809fd2d78dcdd7fb43769ef408c6d65fd40 SHA512 f67dfe441c584dea2fa2240bacfcfaf1c5cf895d312bbee8eb9c59fd7d7f3a3cfebb768bb2d7d7494cee190113dcc34c324651a3b003e75029eab473806929a3
-DIST firefox-95.0.1-xh.xpi 424124 BLAKE2B dd7fce7450c6bbbe0f23287fec584845cbb761ba95b6b442a9d5446fe5d619890fa6d11a711faed6721fbe84a5fc3a3bcb76cb82b3a8442f22d5bdba656c26fc SHA512 bbff3ae8a9de8155d1d9853a2ac69353ccb4db28a18e6a1bf744a7630d1e288a1cc8036db561031f816629dfcf6fa8d6768489e62dfb7530184542573a6bea1f
-DIST firefox-95.0.1-zh-CN.xpi 571143 BLAKE2B 68a55217e070104b8405f60c6b7dd329f582777289584e2dec342f7a7088f1ba122788df6c8f7a2b18989153fe63e82aecb3c8f9f76921b441d963a97365e651 SHA512 4fc8d6fdf084972e9b0f2a6a02185fe85d234ca54c73db8c127ada7fb757ef050be05f23468238c6aee12732901f9fb267a59bff1fec16d954a0a596665020b2
-DIST firefox-95.0.1-zh-TW.xpi 571960 BLAKE2B 4879e8cf4df8c6b216bd326f7d8adff184607d62f4b8538513494f892d4a264621ed97cc0e6944c7e05e1472b7e76130bd5b125bddf139b27f7acffa18e76162 SHA512 19d9a2df1c64fe8e9755669905b4cbcebfa7ee1578c77b0138937b618aa064ac90a0be852ebf389ec79b1047db5fbed33c056429ef8fc86642b8ae16f8e44f36
-DIST firefox-95.0.1.source.tar.xz 385073408 BLAKE2B de14e696d8b30b67e6dd976e14fe49e1fff38edfb31560485fbb6253ae755b080e64b6bd866b2b68b19294843bff0f9b7f05837d63a952e59a1dee35e26c9d1e SHA512 54887c3adbf7202b835ae1ac928c3c95516ef11f9894456561dad500a1a61623f926b37f6e02fef0898e7ee0fd9147a71e5432634e6e0a2c2fecd08509799c37
-DIST firefox-95.0.source.tar.xz 382853940 BLAKE2B 64ff056f2e8a21731a920a5bc4580d3bc8805b40ac1c0ab3d6cf3811cc1e058ee9363f85a9c8bb086b1bc87462b7feaae565c459edf37417b44cba6e0727dd94 SHA512 350672a2cd99195c67dafc0e71c6eaf1e23e85a5fe92775697119a054f17c34a736035e23d7f2bb404b544f0f144efef3843cfc293596a6e61d1ea36efc3a724
-DIST firefox-96-patches-01.tar.xz 16660 BLAKE2B 006d1b0b98858fa2961a99972dd255736598bda949ca484b9ec3d91628a4c976ba0738b1fb8fbfccd0be0f175caecfbcdc7c54a091eda5352fc9a42b37699c93 SHA512 82f77648e322e71694cbaa1e3ad77fca70418fbdb1cfe9a4bfd94ca6e286bcd86bef0a559cafa8b673a2e90da77bff8b7d07bbdda8a44795bd8d2cd210cf1ebf
-DIST firefox-96.0-ach.xpi 451187 BLAKE2B d02df5f9a6496702c8e093c3418499460c5f47c2a21ef8b31d6ecb36d01fd928651289c840ac2267c4425cefa1dd60f12733d0c327bead619471b112eb69f197 SHA512 f1d57a4826ff686663e869cda64b24bb024864ed293e2c05026dc6ed04b9bbfeaea7250f5f31acb51113bae38c817ee487f7a70e5b776eba462ba1a847df05fe
-DIST firefox-96.0-af.xpi 420335 BLAKE2B 4fb84f96e6919da8d9dd567ba6acacb61a7f7b8cedfb4326e83c6dd95c50137667d6fe8eaf0292a9b77da6a0737b59d156fe6b75f6da3b67496c46290cba2c6a SHA512 905e0ea7d8407355467893c1fddcaa24641f5d360a4f170a89bbc8fced3bf01fd5fadfa1061b76cc16ec9e19719014ea05f851b5eba233ae087e5074c70b5479
-DIST firefox-96.0-an.xpi 499444 BLAKE2B f30fa5fe1e8f277511d44b925a24c595ce90fd4a5d1d9457d4bda875ecd22c08c7309b31a725d6076899a43590784570e04c6c999b928d34d741a379e413dd26 SHA512 ca1260c450d7c70d1196928f288294d5a754a9263171f1482602b938baa372d719a1fc4d0539c3389a41fb95e6182934ba6cfe5f09f4ceeadf75cb82476f59e5
-DIST firefox-96.0-ar.xpi 559642 BLAKE2B 8d83d4d8ef207de690aac92c06857ee675ee901eac23088d33b9b97d6a97487249e69d59a7393d1bf91bab9d4034e694f36b7061544c1d21c248ad31d45c65bc SHA512 57845376a402ff4fd0449df3dbaef68a4cef956f7777c1a3e42b6182da239a61925e5d7f0e31523a3ac028463972110c184a1e73492bec4f53989a8ac1085f07
-DIST firefox-96.0-ast.xpi 496735 BLAKE2B 56ee7c86a5f8acd9110882e921ac94c7226f78aed13cae57a91a7529b3c5991ec3812d5d3768710bad9583bce77cdf7f6387640499e1f7a46f4168c362a97a61 SHA512 fc4d6af7f21d8f1f8a373cdb5d087414460066b1bf5086dd3ad521d29e889d9efd9f04f382cb222aa4ae3ac5b46cae68a75f2dab61760362bfad6d9f330ff9c0
-DIST firefox-96.0-az.xpi 487140 BLAKE2B 2ecc433464cf4b76fcaac8ed453929a2d9e0e960a52e252d48d2cc52ad3c51683f200e09ae8ccd87780a4b05f0d1afa09516fdd3c4dbe8afaae3cc45020982b4 SHA512 e21566bac36b219c3e81eacb8fb16a4445d18f653a64dac1532c41fd945e8fb3f23550dc8e477753f683619a7e517a5e5226099fd596a75ba601693205c83ed7
-DIST firefox-96.0-be.xpi 620916 BLAKE2B 398c138efce30cb85e037b364a68749ac2d642ffc4aaeab3137652b3074f80b0998bd220a12f4ee7d5b503d8620845788d2decf8b2ad59fee1f2b755a86cb7c0 SHA512 653e4c2351bde281fc8fc2ae47720edb7eae8bb51afaf3b707434351ad5629acae61942c43640072bffd1a99ba987c6af91ffd12de4b0de2912510cfe582a128
-DIST firefox-96.0-bg.xpi 566683 BLAKE2B 2e634c7daca2c45fb0e9c1e77a1b7e8d057021a73c002c40cd420ce5313b818a94171a5cae30618ed1f4f952c2c8165d78066623713867befd3382da52e6ae3d SHA512 dd8ad3b5c5498930d782e48965da6583da008f6c4d31850c5263523dcfdb3ca3ff12004f7d154e41d20292dc0540d0b0359f78da4ec9979851ab72c08734f87b
-DIST firefox-96.0-bn.xpi 556024 BLAKE2B 1f0c2bdc649b08dffff400013946915fbf2e51779c4eba296e38ae386582f416aea7cd2ad9fd1a8d3e57bb7cb19f1ab8700245e7aa11d5c8a2d3ae661459c252 SHA512 c875b7baecd463148ec84d6dafad2fa846d3e6c2b776cda7928cf87c73bf81b523f6f5b7e2db9ba978e3cc265009336d66815e9b9afe81709be59cae78feeaac
-DIST firefox-96.0-br.xpi 526874 BLAKE2B 50c71f9eadab08c45c453d78859262c5de7894f898dbffe696a1be5bf568249643179a78bc96c4749995619c1fc4fe6b71c2db7bdcc7cc8981bb746dd6fec8b6 SHA512 818ab36a42ff70e77bfdf76c39c0e27fd012b60efcf9380e1a1424fd473955fc17b2d11719577e5c289b7a6555fbfe3e7ac6d86542db14a3accb2a0c1cc690d5
-DIST firefox-96.0-bs.xpi 462230 BLAKE2B 03ee69f4b7a3713bf62c35fade1ee80bfea1bc9ea627fe1f4625eb3e982e21a06e36a3645763c9c0b53c713b144881f44e6f3fbc87e71144619683e8a55d4da8 SHA512 6d9aad647815e3f37e0bafc181c7e207e88416778588786aed3ab684e6e0268889616e955fb9ef69ebc2851f94dba79847a45f36e1678e1401c1454f0c675399
-DIST firefox-96.0-ca-valencia.xpi 538646 BLAKE2B fd9b5cb59aa80c4014affeb765c764e32433a4e2ee0ea2442cdae6280c2dc72dcac263274bf1def5286341c13445425521344cf84d29589cfa1eff6bf22c24bf SHA512 00a05ff52b638c995dd535a5506f86bd437e759ffb6e989aa45e6a4da78837fa481ec1c36fff1808391a981ea3401e27476e6b53b441640ba8d687727d795857
-DIST firefox-96.0-ca.xpi 531294 BLAKE2B 2d3b5cb54b92a59a64a0fe37769895ce8a7abe014a790d86283c8ec822aacd2ed5ef29bfe3b51b365c2925ad5b4ec888995a05ac9f9222e246a30de114f12c97 SHA512 b8013f6953d6dc0d41059b4ebbffd972c017f747ddcae5ffd1c46ad4d3ac24c336a9026814e8f2bb6a87acfa2adc0212beb62f640892d6b80d774c9d839df83e
-DIST firefox-96.0-cak.xpi 553134 BLAKE2B 2979fc95106749114e15f8163634eab5f0336d0b9bf0865114a483cf7ba0f9b8f02c4b4a6c9b9a9d93f4f7bf7f1dd5ff6ab561a33d0183fcb1ca49ecae25a73b SHA512 048cd81cb26e9a59e8b619ec6369f9e81ec9c2cb65ca041537b595012d935032c55150ae85c6062860da35da6375ef26f1f5af935446cde35e38f5d00029ed23
-DIST firefox-96.0-cs.xpi 563574 BLAKE2B e3f7f22c04887240874bc0c53e756f9d561dee9dff83d12d8e4780247b81329f0a80a88346a6d33b5aa1199b714ece8e97f56881c08bc00ec88a38d846b9f920 SHA512 61d82c7c55b7fcd30c30846cb802a2b6391b07414e9ee09ebd431f10eb7fd3d53a08661479279116e8bde5e643c49e8f7725b08c2f7452351fcab0719174d47a
-DIST firefox-96.0-cy.xpi 542924 BLAKE2B ef957c6ca68e82c971f7926c10d0efe18143b7010effcb924db998a37d98964cf3e1d744cb3d3887f00be1839556da43388c3b3261af7061ef93834b398cd20d SHA512 f1ea7b89d246b6cd8c6466dbf036d105dfa6704e9de06a9cbb7113535c732f8be73eadc4cfeb41006a836a47285d61ada44e630f2a7363bf5d06c10c6d339bee
-DIST firefox-96.0-da.xpi 533841 BLAKE2B 54a2998bccf0cd7a20e3b3b14c9d94468bb6d6ec71cf237e7300c6f8cea594a5b27f1260a1bef9f1cb4e4efea1895567503a88436057bf521022d4665bb8bc77 SHA512 eeccf33b508b8d3d96420d32326626d6da509464b03dce43757cbbaf132a6520211e8e6dfe7a1ec796b949029310766636aaeeb67dca16b2d189ab5dd3ebfb19
-DIST firefox-96.0-de.xpi 554163 BLAKE2B 6a138275096dd0fa0f145db9b56a7f90368492bcc91b5471fcc0be0445ceabdfd8a9f40525c2c664c88a45fb10bcb2d16d3857ee6b63e656ef7a14464f40a067 SHA512 267f3f10f522543c59b91479d7d478071d14ee84f88954e2f19aa01ef5e05d9ce226bc64369115bd1c44bc321d2f3933d4f876ac33b57c00e8a09bcff3a67f1d
-DIST firefox-96.0-dsb.xpi 567018 BLAKE2B 9eea903f14678f35d18f94a9decf1a6b200845e8922dd31adc2baaf969d5efa5bec4b532caac9ef581578ec242ecac0eba3035d631b5373097a93f1fc82790d4 SHA512 475a5c26adee314e641929dfabc0fa567dae73a3dac7bca4e6b3fc09288c52ba9ffb38bde323df945897f68d5843dd87b3b3ec8c797ce46f6c8669a621d0fd92
-DIST firefox-96.0-el.xpi 638274 BLAKE2B ba93a85a09257fbf07c5b1c4d66ca3928f162a214ec9a082fc153fc92102836843b84a875bd90856627dac3814e65472036618600d1442105a2c408a3bbb9086 SHA512 b0386a3c535e9d9d7c4dacaecf02e64110668ab336660a8fd1cdb277dfa8a5d05e5074e5df0b978a61aa8e5d70ebcc3c71181812423eb758e18d15d171bc00e9
-DIST firefox-96.0-en-CA.xpi 510545 BLAKE2B 68596c6468cd67120faf5c8c1851ac205b3fabcc7aa9b977d03c06618a9e334a8836870c45eb730df786e69c5f00b8f01e418dc3ef92c4db3aa0336b859ee254 SHA512 46ee5754d7449fed45994d5d3f247cf872bebcca2e97ed51b8f558f9dd88b11a42a64203d8c57eed6444b4710225564c653c046ff6166e5b4f9b6f7931f2dca7
-DIST firefox-96.0-en-GB.xpi 511260 BLAKE2B 3dd0595ce2a89d137613f682504fd318b5a8d9138b98ad6a08aecd6bba99610e5b452f92c63bf9943bcaefda5cf58c895912bc118ba8b0397d1bb8134e60b72a SHA512 32d3e4ac17eda509077065f4c989732a90054566769d27c66f877e3abcb79e127ae8983cc5a663a4be45433057746b6b8c3f02f1a8b9c2fa88d1469d069617f9
-DIST firefox-96.0-eo.xpi 535221 BLAKE2B 11da0d9f114408cf8b8bd9826ae891442a4cd86fe43d9d45d1d4770dfaadaf18b25f12d48b0e73d6bae5a6664a54a6db105b15d31dd2455aedecae98b7c95135 SHA512 215aa51bf7112c8cecaf965f522f0fece66d15b8419cd615c726349694097f36f11c5a67bd52a12923d27950545dc85ca197f27f38178ba5150cff4d671a0dbb
-DIST firefox-96.0-es-AR.xpi 547490 BLAKE2B ec80d4b45c8dec0ea7b95dbcf1d0683a1abb25fdc974d3909d2304776771750a82e03d8e07af2079372593047abeef7673c8955afb36067fb573104d3914815e SHA512 8f63c5fafc3b401a5784ef688bd7ea9bf7291052d3e8e94f7c3ac081c94c754eceeae15a1fbbfab60932d06c35b227606f74b324afb79a223d1c4487ff8412a4
-DIST firefox-96.0-es-CL.xpi 546861 BLAKE2B 28c62827129840db1f169ba9e8e3ce62d51e6e275e3c916242c7fa8f25ce9994c21753e248abc9f6b60e98e66ddb9489dcec399240c084b87dc09b26ab9b73aa SHA512 37fc4dde65ae3556137fd6a8b23867b463c0560f33e63bc48c3145ade6f81b478346337b6570ff7185a386f9dc18bd269da209a71746bdb668de285c2e34e643
-DIST firefox-96.0-es-ES.xpi 537721 BLAKE2B 7bc3923e48cd65f82a9f8b8bb8acb6bbc5472cd66b93042fa9ba8ec69a8731ca8bbe11ffad396834b6e98ac94154b59807f2d43ed16d52576f9831f513d2a549 SHA512 fb5f80e16286a601f7fb0439ec9adefdaac0cf0b3664b333081577574d5659414ce4c48a1cf7722abd7dcc6116700022e378e6c719844e5bb01fea41c4cbd49b
-DIST firefox-96.0-es-MX.xpi 550720 BLAKE2B e1a5b4c24c72c2abd1fad021779d9cb8e5fe3fca6f2fbe1a5a3040269d0c8d51a82260a5b805e9dfa7f8507eb9f83186299ce7e49a5174d893095681af55caf1 SHA512 d05479f6d1c749593760c5713ca7d9b0fe3ec7608112860a40e5a7c74db7d85fcaccabfc5f7faa2fca201fa8628e99991fc48c1727eae2f627ded6116fc8c16c
-DIST firefox-96.0-et.xpi 528807 BLAKE2B 67bf5993ff9faab99268816420017a2652228486c11d43db2067137d0135b1bb493a08dd7f4e374cddd48066c597c021ef443b8029b6e92279d52dc2d213f2fd SHA512 2e7ab5ca36a11a5f4da89e5303223dd40c4b40be7dab41418b08de505a76ee51072c9b02b4b68dd2b9cb29fc00cbb4672d783c0e630a322ac6ae06fe7eb0a20b
-DIST firefox-96.0-eu.xpi 536789 BLAKE2B 02a83843d4cb2ec047794caf1931b4ac022c504de158f3bded6a35425e2f7a931bd2f535e0d26e16b7547c2127e1b2d20d508b4a75b937a11084875cb095f83c SHA512 280faf7c5cf67389812700679749412a62db6065a772bf77a3775768449da94bfe78215007897bddaeb0f47afd0e049af2787dee88afc6ab38c4bdd6d47aa561
-DIST firefox-96.0-fa.xpi 563689 BLAKE2B 46749169a6de5d0dd5c21b7fff8f7bb618eda55a65f2c80a268a514829ca087da0dc212f3f3cac9f10be7753daa283dcb434594494c008903e1f9f140264778b SHA512 8b7c536894ae0d8dc042545f4f211cb3c58666c8968ef35bcbad6944bda5644df11c8b6f4880c312eaa7f5895148a46f0d9c0ea3c8169c76200b7caf7efddd76
-DIST firefox-96.0-ff.xpi 470390 BLAKE2B 6d7c8abbd006a85f74cc451a06203e22ffc42a21aee975a9ae27c858562eff6cac8ddb846bdd75d7693bf08ad24e044d735f598038be2a4ceebccb86cda0a9c7 SHA512 b579059e806ec8b43fe1b50c7eba07179faff007aaf256b2b9f00d2f019c95f6f57fc4f2a8f184172e46fb2b62ed0f1cebafaf01e3d108887a47272afd603b2b
-DIST firefox-96.0-fi.xpi 532846 BLAKE2B fbcb0569106fc1c04f0d38ed58ef08712d9e0333663d0d469c7cb22ce7d26473a010ab0c659279a059ec4d32710b753228c8ae461b6b76c9b7cfe8f7cd0cbc6c SHA512 2c24ee1872384200ed87d0994e79d00b84bb9273102c8dbf315f1c4bafd5423eb9e0ae68991a77724fc0bf0e8f959ca7f306385e480446f4b7567258db1400dc
-DIST firefox-96.0-fr.xpi 558442 BLAKE2B e155e87987e40340a44d68a3774a0a010cc7f47cb356d6dbf2e76eb41c7a4983eee79e5c54554919ee8cbad7d7310766fb0c09c5ab6bf4fb47a3fbf540881435 SHA512 419ba4d06bd8bc7a4239c4363f54baf7e8ca1592a07e75287126bab90e39a15a4e97e8e7d48a52293e4b6bc35822696d2bc910029c8ffc99c7999718fa88549a
-DIST firefox-96.0-fy-NL.xpi 543697 BLAKE2B c4d4fd20079df6b64b3406b2c61349d4a84c0464a2112a6687c9d9e83c26093d4004dfe030c62d2da0fee664bfbd81235fbdf99cb758e78e6d0eea27b275f8d0 SHA512 cf78800b4260e0a4d09949998b889ec5a679ccbfb926779cc43930e622864cebd1e10c19c3477add6477f07419520e7ce532695fb4dab0d73abd2ffed23b5d31
-DIST firefox-96.0-ga-IE.xpi 457647 BLAKE2B ef8e700c5248675fdf32ba91f2e211d8abfb86be56040683e41342ef5f53447c7d1c3d2937b10c7e3120acdb6f85001e5bf33501f05522c0b494391112a17779 SHA512 b41f1715513298a5293f64ca9d94abc14a9b5efc5b025806307553dc72b97cd10396c383b294017c2333696306696a56b2c25a16e20ea00ee41deb9069ac4baa
-DIST firefox-96.0-gd.xpi 530888 BLAKE2B d39b6f16f008c2ffd9755d03a93e29f15493cf3521d8a5c31d60ed92b10483e0058c8630c4f77d027d07a5e676433eda30276016ae919e4aeabf78555e4aa8ca SHA512 c57b46697d3ec0e197e502ea0d99e72f3af1f7ea39c2cdfc76570bb24079918866f3b8a0b6b463eb452a07fd968bc783d258df747f692abbb0cca48e9a56dfd4
-DIST firefox-96.0-gl.xpi 542035 BLAKE2B 18e7fb43c226492a0ac136920ae50e4c0b2442441e00062b532c39aba38b29772c9df115420db4fd143d9da067307165b734afa3a9a200aaba4765043d4fbedd SHA512 cd0b0cf06108a1367ce0668150a93435d9f4bd91534ed2c9ab6234dc8af406121e1154703e775a40b503a3e272ac3639e826f97d2320d800f3292645011fb800
-DIST firefox-96.0-gn.xpi 558954 BLAKE2B b0b4baae851a39141e708f28ebd431be63cb82e631be2414aa9f0eae0971ee5eee37ade5f6edf633d7b20903afc144c6dab2a88e66602c2d58a45d4103fbcb02 SHA512 4fabf58eba7aa550851ff5b97f5ce92c922fea037221b5f3cfe5bfcc88aa8d5acc04b224157591d942c61ae71c1e2475ad8309a655d16ee7dbfcb385448d74f3
-DIST firefox-96.0-gu-IN.xpi 527662 BLAKE2B 740a9bae021cd7db821bf91cc5673120c5e033fdac9d8b1b128d1690368dbf662f53f87698cad0c1ab8eaea07f8cde3c3f754a292d42a01ed435b65b7a4ce680 SHA512 5457cc647f95156e4ebe23abe7894e5170eb80def4a898889696ea5a80037c792dea2764086fa857c475c2e2668467fb64ae5dad48d2823d87e120bd941ac3d9
-DIST firefox-96.0-he.xpi 557089 BLAKE2B 16de6f2ead2d669782b6fe56f9a93d0c808afa9743283665d0d1064dae2d5f96d8f54d519211fcbcb33d74be83986bf31282464e6ef2a5c0e6320dd4a4fbb52c SHA512 dde3618cd33f8aaf22aa2d88f063160783d54085ed54d214631b75dfc7189a07fc2f86a83c1ffc994d7424a1b25831c9a61cb101db23c5e0defc6d7e2b364e31
-DIST firefox-96.0-hi-IN.xpi 558753 BLAKE2B aa337556d9ccb35bc82587cfe6c23bb69610e2adb8beeadc121281b7387c9c07888ebc1be10e8b5b99ebf537ac288b38070fc538a2e54c71aad6095ccff02e7e SHA512 222e23acf2044444512d6b243ac7c77eea367ab17ac95a88f23108e1554b7d4437255b8327eabc0cbc3d0a5ac6324718c4e6f717c00698fe0597ba9f2d8133fb
-DIST firefox-96.0-hr.xpi 531744 BLAKE2B ae9a90100017a339b1ccb9584f9831185fbe0ecb70b69ea9dd3d1cf25682b4b63ab58c705f98034244cf3010a20241eab71163eb4f47632a3d36d385c833f91b SHA512 f77bdf213e23105cef495d7ae78a9509f1259c9eef16ee27f4e0513ae99879e46ce2587342e08081bfaf3701fc337f9dfc94b7f5598d253d8495309060cde66f
-DIST firefox-96.0-hsb.xpi 563124 BLAKE2B 94245baeabac6eae37ee4905e95b42aa1b2078eee7bd2ae0232ff0eea4731ef3e12bf87087ff4574af8f7ee7adc75f5586eeb737935b79e35d771779d6bc4b95 SHA512 2fbab74ce8c34f696d3cab7fd07d5242c6cdeb92286101bedc996ab0cd6b27370832905e5a911092fc69c99c16003b9d08b250aa825f3a39b790509f4a565564
-DIST firefox-96.0-hu.xpi 566420 BLAKE2B 521fe70a905c4e0a7d0ebc8681b26e36f17d5cfb9f3fb8fd5d25cde8de0434219023c1c002adfdd10dc34a48a1c37b80bd4c6f7b8ee6bfb111fbc33300721a56 SHA512 25006728eb94b5a1f71967a58119ab113fc2d38b3bb4ffc6ea04aadc43864dda4ef381cb9ab77db1500a729d220741c3f27d16302f13322a1955d19f2c2a5c88
-DIST firefox-96.0-hy-AM.xpi 580461 BLAKE2B 6c5492326e0808b8dc008a95df1169742a55289c125a6cbd4361ef2c3580e1a67781bfd4b361d365d29c27fa6a01c6cfc9932d7df0f0ef155dd78323973e5391 SHA512 2815a0524d15439923cabdd4dce33776f828b481c08c1f552df931e5f3d9671294b4d83f273af32f949ae02d029aa91da1a18cd60865c036cee49325e3f20844
-DIST firefox-96.0-ia.xpi 533074 BLAKE2B 81ba6fc03188c6863c949d8a51ce734385de08bc308090b2bc007ae126e2729940ea8367996e488d3b075a74ba941dc85e80c361ec47c8c79d65eb9e88c6f363 SHA512 b0f611716939421c60db212c7c0c37005f90e5c32e77e84b7051784740705525a396ec6c42c65133d856b9389d24c8409575962875d4466866d43cd26576bd2d
-DIST firefox-96.0-id.xpi 521708 BLAKE2B d1730be9d85affbf4e70a8149a2adc41de833229a791cfdfc6a5bcd060b384b7a1440aa481b989fcd5d4fe06a810e1dd4f09b9202e001ef9c0165f1133c4f420 SHA512 c0cc7baf60b247a905a460e68dc2179b5cd4b73da4bcbc486a044d865283fa10d71e492cb4a068127b03082d790635202eb3283c55d2f415b75d2f4381e7c55a
-DIST firefox-96.0-is.xpi 500006 BLAKE2B fd4db8317add04dcdce51fc2d80f3bfabe7097488684ecd9b3bef574042075eac68d06441636206764308cfd3b466558c70190dec6f8ab7c84a1807e1706711c SHA512 9854d9fc160f63b15e5a6cd42b7447b64f84a458b1b4974fa5e059c7c919c37236b72062656fcf073000888ccff54d76bc937663a44db84f54fb636b9c465c56
-DIST firefox-96.0-it.xpi 460938 BLAKE2B 417e5964e75afa6c0e3d0818a2a07f50d7b3ab665ab70c892c6c958e2c0a7761b1ff046492f87bd1185a0da535bcf5fe1ae77a262bbb919ffed2b80d77c07dd1 SHA512 2e1cd754cb2c56469aa20d94257eb462fd2afc5402abe9f43e0a2dc7e3d0702c3f61d9e2f0f057891719a14a15e9540e8c13e3b5de54978e5cf48db3397c19f2
-DIST firefox-96.0-ja.xpi 586105 BLAKE2B bb4f946f296bcb76f43d9fea3c352e5346c661361a24f1b09ea8e90472c06db629b75e50f5b4c08fb81793b20e9b533e539e0089b9c73c728abdf44292492018 SHA512 b5fc5608cde9f10004a35eb43e7684f854d963bdfc04bd0bc2cd5b329dca6fe4f9945a579513197811641968fd5d57e6aa03aed36994d0c4eca0058304573d51
-DIST firefox-96.0-ka.xpi 590825 BLAKE2B 076958c251faee47f9d1e709f3b01015e76cd8f43a19e352193959a02a3e3ad7fa5de0acb7e75519d9aa6c030b0664697098ee7cf3897799b5b1f605dccf8a4a SHA512 963c5ea4ef1048681303b4591370ad98a2ecc275f6e2a5a2d012e51ec8e7076a28d871fb79660fc8f6d5033ef57276008e82e664c42d10651d5256086ef01a48
-DIST firefox-96.0-kab.xpi 546185 BLAKE2B ec3528154e6e5eaebde777d368c636e7949438d3316df99fdf618bbca99dc88dc2f416b900471ff02caed3b1722e87ebc0688e0f5dc35fe94b7dd81db61cf7d2 SHA512 9570d4a77ba41a61b7cb7e49a5b31269d9cc30304769fe2239b203e0523d690cb0c4d75fdf8b6b4450cc95e759733b2312a2d07acd70bb76e7eb4af7358ee67f
-DIST firefox-96.0-kk.xpi 613165 BLAKE2B d503b0b7e1916cab280b1c575e42558110e6da371e60c55e23c55bcc1cb14b18f1c32df61babb68a91a3868d4ee57e8564cf1a40ef2c495b5387bd809ad429f4 SHA512 eceb7f1a8e30e96813e2d210916083d4d89bb818b8979f07d438aa47c3831ca4171231438455937aa460f1905285ac53b356c2116f9807fc80398c94bc2b15d0
-DIST firefox-96.0-km.xpi 529622 BLAKE2B c40141db744b6328fa1abd0b121a85faaa0ecade8802e9c853f941a1df1bb2bc84d5f8ad34c7b78322b8a6c163968075673f8349d38314132c5b65b97f8ae230 SHA512 4b8e8b481d0fac32c92d68ed3714acdb410b589d8eae969405344af33b553d9116e5ecae78af0858b5a51838c963ab9d23ec19be0b4a1ad4ba5a7e01be3f2e71
-DIST firefox-96.0-kn.xpi 495316 BLAKE2B 2f424f6763bf4ad5c776ea071a9a21e100fb6f25854fb70f6d7b0071dd497c836695649f328aa9156e80f598b1633bdd47efbc8d6039eb2ed63bced342683f86 SHA512 f27a41c3bc919d1dc5f3a5040589df16e8f3aaf53e7097f26be25c470d0585eea7b3df548881d2c64095daa047a92b8e6bbea7d48aa2f8afd47b8dfc7dab65c5
-DIST firefox-96.0-ko.xpi 579616 BLAKE2B 5bc6b0ab64525d030668260dc5852a870420874b015ac3aa599d5c71e83bfb4b103e1a8b34cdaa5a1d4b8f0eaef89f4ffa5c999f07a8b22ea0ffb5189737bde1 SHA512 cea3dddc07d06dbfecb86b198e171c71ceb328da9fdf253bbcf4f683688558e7e15957d8d706f3e5c0fd14142cd7359d840daad86fc828daaec97e5069601a21
-DIST firefox-96.0-lij.xpi 469145 BLAKE2B c6ebd5daba31330b3f97d9cda550a99d5658261fe75fe7b484153ae0beba11a9890736a5fca6871da39a5ca665ea7ff21cdb19ef40b533ae4ef5868fd1912604 SHA512 5ac65472099a66b2109407e57d0b5eaaf92ff511a6c26b9f6f24cfac1c567863716eeee9fe13476a8e364247d65024e00972609b43ef4c2395bf6df69d87b8d4
-DIST firefox-96.0-lt.xpi 559296 BLAKE2B 27218f653726e95d554ebf273b94cf00618ef45ab33643dac415320547d7337218595c6179e31543b86b7ffe7bf26626c15bb9c52c1e4ed0031102465a4a135b SHA512 b2c7534aa8d49a6ee38a96f14fb0aeaf6a4b7ee8f1eb8093d517544b912dc12c438d4c25ea4e2ca2ca63b71ff2e4fa283b8cd8c770007e6974e2e7533efabd7c
-DIST firefox-96.0-lv.xpi 461297 BLAKE2B 9c27489c7dba27d2277af6c6f08fa8cf064a1755c156bb3d48a1acaf836db1f3161a51718d0122ccdbf4650e1d1adf262236c561fe3c751ffc7d71ea36dc482b SHA512 56b34a8e5cc1447dda605c57b9cc70f41acb93037d3509e09f9e408b0966b31bb810fcfa498277387055273e74eb6a13612075f72352fd412b32d90123281dd9
-DIST firefox-96.0-mk.xpi 463328 BLAKE2B f6648aad3c8935205d42e45739741e36bbfdc5c3cf5ba614922f8eff9193c1b0eeed94bc34cb427dc4f17ffbd5076daa491d2b45426a09bdf664202b43e3d090 SHA512 bd1c9639de77aaa54d3fb790d4a1d4515ac0faf6ab7b766531978056d8c85784aa7e0654780858a9aea1f9b590d6e26a7b58fe2541e368f75c8ad9861b616e48
-DIST firefox-96.0-mr.xpi 530513 BLAKE2B e30a4362ceaa6db1ed1463cc641264672d1722d939a28996dc18324374f13a254ba45c38ad5d659cab56ddabfb52136b255a37a8957b57093adc062d20099725 SHA512 f770de18a0920dc8c57faba9d2f891e2c8f3237d9f058ba5a84371a0fa00666544b681076ddf48182a070c4d4cc758faaadc060f72d7f527fde3549c6e8bfb4e
-DIST firefox-96.0-ms.xpi 446399 BLAKE2B 94f95a903ce87e5acc72f3594f9709bb52724fe8c4c7eb775bce63ecc2cc7c818d8174cc60372cc74e2f66f3233b7488866855fde5535401b01d91a51826efdb SHA512 f6fb91019c1d08a0275d3260095af4429d152b4cfca06395698d88acaf9fe5d0f6d7558b52a86f5e4c87e97dd9af3a5566ab7fce748673a13868978e7f64f526
-DIST firefox-96.0-my.xpi 511708 BLAKE2B 3d6b74ef5f5073005dcec8ecd09593f5af9bfaccddb37ce324df9ee94f2d187ba9003e6766d333050ce121df3a2e75bd333f53bc187f30084728a775d866a076 SHA512 9096b96c5098ed415cf254feb9ceb6e1a361df83d18fa3abdbfcd241184712f260d6eae0192ea16613e5727a8cc0b593a0ac00124f8d8d61051bd6f50320d31e
-DIST firefox-96.0-nb-NO.xpi 529011 BLAKE2B bd6eee383cb7695c802c239dc1a50277c597f4e5dcd3742ca768cba4f2e6faa5ad0a4900e25fab86101d8bce1def707471500a0d2d1b6a6d86475088e1958aee SHA512 cd3b94ce6b81ee807aaa93e22b2e662cb18c7a615e2f1c884298c0691ef4fd023efc129dd9439fd5c764d140224d7e644b9a4ca71343823b461b2ce64a20b88d
-DIST firefox-96.0-ne-NP.xpi 482345 BLAKE2B 52165c67010938f50ef1fbc94da6f88e0bbc0378a96d489537984ca9135242ddeb790f86a4f44cde88f14f95aa44274ff7a260137cde4b518a6bf6f9df8eecbe SHA512 a8076672b8eb27d6de823ea30f33e984106393f6a565b0e79942cbb626b4a11507d82c513f6eafa646555e17912be3c3713921970c28ddacef033d5b211bf7e3
-DIST firefox-96.0-nl.xpi 538019 BLAKE2B a984d4b76281d7ba1e4086889c2c0a799fa53d151961a0fbece962026badf890c6d17dabc9aaeb10ccb5cbea4fa60a87c71b6372e59b2dca043a355e119a44a5 SHA512 99e0a29e552d02b5feccb46614eaa20f5cd61154c8880b07eebaaba0526605883d3ccf06097c23d30bf425aa05a43902ca20967dc8c22eab5bc9aeeb9729e8a5
-DIST firefox-96.0-nn-NO.xpi 531116 BLAKE2B 5c758b992fc8c3077b54be0cffffc802a384f021da104f74e4665c2e3a1ee5d567e0e22a7d664a54c62611e0a6b96ea916579e6b748deac726c115e784c4cbda SHA512 2aec82304ab8542268c0a83cc2ad45bbb84f81d394eee1fa774f2cbb92e68ddb91de9d99942ce18f118aadc9abdbe8605f61be0cd9bc1eb0e7cb31c7178651cf
-DIST firefox-96.0-oc.xpi 553576 BLAKE2B 3536b2bd2dbe6ff6a6f65c24de970547025af616a88bfee5847566cf496ab13c31df05ec759e55341f3d9b2c901cbef15dfcd13c72666aac479acdeb7651c31e SHA512 17f1aa36eb27b640da574308a2eb1a6b616b5789995eeb4e9199ffe7fa46bfb68ed59592f7cea9612fb44ed2034ab119ce59a695df33dd1727f79cbd1506e759
-DIST firefox-96.0-pa-IN.xpi 593686 BLAKE2B 2b1790bdc63483bd0e4c7ac1230cdd309fde0c88efc2061c437dd5b6f1126cc2c49f16559b1d709bd530861fba858aa7322ef915cf5b60a638e52b2ffb4747d5 SHA512 5d56af3b701da67f2f1592d0c1e793c6e251c1ee66e7fa45cacf1a16605234ccb4d1f2283f9fb44944e5a2cde1b2730398dbd41c538b3b69abfb31e7ecbc5cae
-DIST firefox-96.0-pl.xpi 556872 BLAKE2B 77512f683b19e84458ac52e70499bb037920be10962d0bfd2e0f49d4ddea865f816a22977ae9ac3b8110b9450fab424abcf7943bf03d7b13d068a1ea1b986f4c SHA512 5439450f180a8e47550247b1172fe0000a752af51dca10cf54524576c204212bed0265873d778dbc0021da519c8b17fe15352dab57ad9d25017e8d3552061795
-DIST firefox-96.0-pt-BR.xpi 543359 BLAKE2B 807a07b699d90e0b8fae7682e1db60af68b20d6913c08d25e4d9d4b4fbd0872d07b115374e0926d3cb0d95f8bcbef38b0dd1e3a7cd7d420a7724dd7832680253 SHA512 92f90efd558addc226d0344b79d8ddd100a9ba7ea613e88eb5bef1e96953896f7e9b912387fdae4c5ffcc8c556067baa013cc290974e6664ea1e15c40e21ffe2
-DIST firefox-96.0-pt-PT.xpi 545098 BLAKE2B 8beec8bc18fdc9a08e15ce3a4dde82bf6a62f984b4126ff5d7410994bdc8fc76f27c5b92685781b9ed3873a7c2798f698c622cb623a3a7e64be8c4740aa8905a SHA512 9b06ac16e29b9573aa365a1a0d639068ebbb6579354f3d03653d8f858f9dae60b114b7a85418eefbaa4adbdafe2b2ef9cb353249640a15c6c7868e6364988667
-DIST firefox-96.0-rm.xpi 536759 BLAKE2B 114666d3eb20bc889f45aa22ee89e970f7f84b67ad7da7bdcc040442b79f2dea60ddfb9297a626dfdf16b76dd0fbcdec501b5c91976f25a67253c80ce253eecc SHA512 c32c2393000a76882c0ceddb458869e5e04d3a1868282bf125430990b4d43f11795ac4a77c2c96fb8e3aafc9bee9fcd1c8df40fdf6406fa94969f3801f9f68ac
-DIST firefox-96.0-ro.xpi 529764 BLAKE2B a8a26ca4082159d1e79a9b408dc7cd14990d61e2a914de924a47ca5156581abb70062d7fcba7680e08eec8b96c08d771f990c8fa65cfa7a5b865437106a534de SHA512 e86f49f93c61b3a73633ce8d6a3ec1f8e699f6fb94edd8358b9e56066e3c9d56a40a31c2adde1cef4871eb45e858ef4cf9f360a78e9573ea38455f397f674fa0
-DIST firefox-96.0-ru.xpi 627602 BLAKE2B 559a7ca48058cc88cb95dab144b55b0d9b4ee76e97cfaf15a4af6328cb69040482f7e5849943ad0ad72cb67c7e7b34b9de99b82490568daf591ecd3b4e427baf SHA512 41bafdb582242647c5a8962c22a4828b6b219f1038b809fd7731281802f3bfc97e8557686ac20532709b8dff405ed61fb9e474e09db9d51aa7f75e55df70a8b2
-DIST firefox-96.0-sco.xpi 503461 BLAKE2B 227105a5721a382f3338119a0828e6d00590d9f21772ea8b9fa0e6396f98048214bf2e6395554ce38433f7384c7091e0eb62ed0451e3c9e5d86b52ed6f172f5e SHA512 dfad860ea018f3900c52a0f1d3d57a37c4145ec899a3eafdae7d4a3a2e88df33d7f8a10dbb6dcf02e563a069d7518e18199fb44636d1e969c9b828be377a8d8c
-DIST firefox-96.0-si.xpi 484749 BLAKE2B 4323a5c9b22fc330cbeb014a330f929d2e0e12afb3025724e49993e9a4d06e820a40ba73c345251742001b8cbee66884ef72d0def85cb3782cfc6964a9ce5a4b SHA512 a55ebe4ef2c4264ae1568285d885164eeda8e292dc47a09cfb46fa14653efcff1a504c7a0a5e967aa371cda339e31b7f07b362d644f8c4613320aaa383cc65c8
-DIST firefox-96.0-sk.xpi 567146 BLAKE2B 65b055532b0e2c97726b223c0113e80ecc17daf1e3a6b8a26e9a7c1c0cb5816677d1ad9612fc8642cdb262ba70dbbb8d99c6b19f71293a19aae47a13fa57854e SHA512 64c58d50223840f1c3cd822c60fc97dc5bae3cf4e6b63fead6f66125c4d361ac57719c9802a4b381e6a7ffaac8ae074a9026a76f773356abd7da0b22bc18fc48
-DIST firefox-96.0-sl.xpi 537521 BLAKE2B 69f1c3ecd8e48726caa38453def6c2eb92245ca4a9b429ac423ad94e880200ddf2388b3ec41984f8ee9f0e5ef498a9d6c03d40727f8af01640f3de2ba0c0cd13 SHA512 d83b281e3613e780391c7613d312de26a35c9af09091580b9c7ed0b9372ece7394f8e09c96ee907beb0d2aff338d8d10a97c9714f2e9e871278202637570f64b
-DIST firefox-96.0-son.xpi 420865 BLAKE2B f31bb3db5a079fd7c1b47c832ad50925edd8057ed7243ce29906c681d7d5e682dae125b4b3b666e6c38b643b7ea88176f8ade9201ac3e13d4b902ec47adffb61 SHA512 b1983cd3f695a609decc58a00a81aba1395d1763f9a0a07bb9f237908e7b0ce5ef4ec19aaa696f4da377e02b39fc6c5fa6c54f38c01f2c8dd9dc3e28b954354b
-DIST firefox-96.0-sq.xpi 555352 BLAKE2B 2595066eb78035caa8ad6da37dc3266916c6ba545bad95caa9fcd93cdb39022ec15a43f51d5bc6600b8d1173a08965b3a5add023ee5e3d553b9518d4dc04cc1a SHA512 83c36347d67abfbf50f9cb242986b524c6456964024c0564e0464881181eb7630146480df6804bf2caa198f18306ffcc5922189f083c3f9222cc5e71e96fc14d
-DIST firefox-96.0-sr.xpi 585962 BLAKE2B cbff0a131c59d2e9b87249c5c500c52d910f81b58b6ff8b9012b2d5fdec0028e5cff0dbaea306e60dd460e678897f97835b8f4ca9ff51fab311b16f2d1da9c8a SHA512 88540a0ac11d9beeaf958586000012a963022ebe2627607a1824a5891ddfe6ea04ed36481cd9500271c7b0341b49c15fc4888917fad7ee9b94e0d8005eb6a480
-DIST firefox-96.0-sv-SE.xpi 540645 BLAKE2B 649fe836fa34fc97a615975bff087a1ceefa1ddc8c78530ffddd8604c30438786d10b67daadb2ea09bb0a550ef347b516874f75e2224d0927b6de0e40e324bc0 SHA512 1dd36ed016325227827efc3f051cf380fb85e4c5ea147acddcd7d2fe00604e88942440410e99776a4a6cd8035c122956f8860c41148b23fd56fcf7c1a72c42e5
-DIST firefox-96.0-szl.xpi 507895 BLAKE2B 9d29247de0fdf6a7d1f35364d5e91bca0c47c68031bbd3aa08a611699441a089b88d587094aae5e2778d7eeffbe7d36ed0d486535ef41975e29820273b31997b SHA512 238680d073c56fc5aae70518fb35b270dc23c3390fa2a2f563d40e2a320b218451fd7665ea03b7f459871d6025e8a8ac5532e1fad6b221a3da389579baabd9b8
-DIST firefox-96.0-ta.xpi 510848 BLAKE2B b6bdda3488b31909de67583845fe18a205dec0256b4111460aae496bd3e9917ddd5da40d56c6a30792fae95763e0185a2740fef8b4d3bd67fd236374cac84295 SHA512 51ea7858f130deb50ba48b0ca46289badeca238b019788a7d97b112e694054b36e38738c94ce3d711a6bb89e5fb062106ef913c57b320e5184ab6c55be5b1236
-DIST firefox-96.0-te.xpi 549262 BLAKE2B ed92cf1b24bea1d6c30a8419ae7e24e75350de166838ea1448504e62b679a97e8e81de22d1eafc778cc07aba76d44f8387e591e94b0289b5160818c4003767c2 SHA512 47a45b4f6d125182e698d60242d11a65b4cb0be3fd828970e62942d7397366ee5178268e118a7c414503d00aa325115e8bf80da1dafc5ebe95a9d1b4102d4f7c
-DIST firefox-96.0-th.xpi 605805 BLAKE2B 844f3d8beb152b3b0d4a40ed25591b26514815fbb17a8b9a9ba8f2eeb6f799739ad3c2584a140a82f25561a78248731e60986844d80ffa994a600445246c4ae3 SHA512 771e7a0910b5d7e0f59e52682341f3fa104bbc54c8dd2db243389aac4eec6442bca34494e44901d42709aed0d3a8a6372365eb9575298990574706b00dd437e1
-DIST firefox-96.0-tl.xpi 519510 BLAKE2B 84748cb850aff2851d682485c505e59ede291b6c923f86344169febe39f79ca87496638835aa20e0a413dc6febd0c3fb8473366b61eb012117deef055dca7157 SHA512 1cc6212d3e58fbad81db0f6741ce0d4a7764dbdc71e157afff7e58733efcd2ee7c0c167eee330aca59e1bb090844f3f088bbc5049b07ea354cdfb3d2dd9c5d44
-DIST firefox-96.0-tr.xpi 553351 BLAKE2B cbb75ea274c3327f80d584ef057a792e4c64b0db6a1357edf90b3908d9fd374e8c81bc86aa1d96f8d82d59ad2f935ba7757677793685e4f37c0dc38ff3e164d2 SHA512 1df45a8a6a7a3dfbdf4083c87e50fd171ccf5f2985a6062efe62460d8d2f674d574948b98de3036707dbe9e100633c57cc67d93a97e42707c1845d5e121f3db5
-DIST firefox-96.0-trs.xpi 490081 BLAKE2B c723fc566e2cff78c7b09874b0fa654fc2e202a848d43acd409c4b62f89c9bd354a45c81ac05dfb7cd63a6ad78895443ee9ab476da955f70c0a0b438d4759fb2 SHA512 8cb73cbde0d228c5271dc4e0bcab6cd5d987f0587ac1bdd436cedff60830f03d7f73eab7ff8a29dfc6796ff49ebf29516e42fb8e70aeb3a3d61dfe13d2455168
-DIST firefox-96.0-uk.xpi 621210 BLAKE2B cefa4d0ba023caca862a97e534e3199ea5738af824a4b5b57dc10f38dc86c28f84391aad9d5962b0ffaa036af7c57fa3086ca671ac86bd828705412252997bf8 SHA512 5e1191d645461b33ac2b71a2fc693b78b4c068fbd9716de9c19569305b3bdb369d467c48f6a522a6da882b30ff4371b9a718a2b54c209e35a5f8414f64f43a99
-DIST firefox-96.0-ur.xpi 556310 BLAKE2B 15b14a7a9aff165b3b467d26c072211b36960df62a4c6c5701b731e0ddfcaccf1766b281af8ecf70e21df85b8f52b06139a172378d688cb9017818a6ee43d0ed SHA512 e78b000c7fe7ece729b91003414b2a17b4281520c94bbd56d5563c116a9d9d5397a28ed8655483b2a3a14ea3c9fcc1f2ebee37c54a0966e679214dd59c0037b0
-DIST firefox-96.0-uz.xpi 464800 BLAKE2B ebe537d8af3fa09e51fe8a22f911203d72eaedff1e0308c2449ddeba16748b2ae10458515d7ab9ca248b9845e14cff11c2e4136f90abe2b9e2e2cb2372dcfeed SHA512 8a799a7fab890d57a6be8c8bb884ae9ebb399db9d2ac3c6c1eb90691df895536d24c29f4058c426e5173d321ee9be217b4fca5f656b3baaf39463515555ecbfe
-DIST firefox-96.0-vi.xpi 572934 BLAKE2B cd4e9dd0222cd02d0f2a11994aa6f113cb2545e429c9ad16a7505af61d20cfb8664ab0fb38a6ca3628cc9e2011201cc8fe9a1e936abe96f3f856cb42e34de334 SHA512 8838a439cd8b8b5aca214484dc47daa38c74d0a0e563be7ddfc39c59cad724132ddfc1c166bd1d5dab98d7770869516bd2f58973b8b683b50aef2fdf4be0101c
-DIST firefox-96.0-xh.xpi 423438 BLAKE2B 9359768c03fce8fe1131f3263fdec7df40ad08b38a51c053d49daff715e80ba4c9e9ab04d16283d453c198cf962d2c4452192fd597f96a1a8916a9b20af701a1 SHA512 0e2e8caffd68133f67fe38aac1575c86cd2c08012b8a62c22d7706dc3970af8b0e1fb65818e777829c10b2227d2effe76d9413cb70504f3cd369bc6decda802b
-DIST firefox-96.0-zh-CN.xpi 575685 BLAKE2B 2eef7b7396901340cb4a207052168cb537081ea0a4a88011720ce5560bc2b26a25680dead37e26279a877982c323fc4f58eed83ee83ade894a640cabab344364 SHA512 c7e3c00ec26d3114e4ddae2b50adab0e64cf8b8d1fccb99909c53da0a2ee1b36aa6f1fa6fe04119e9f80e6dbb944cbcd34f5e291d3d910dd9a7e46c524648719
-DIST firefox-96.0-zh-TW.xpi 576803 BLAKE2B d664c86e6760cb5b782986765b738a0136548b9b13837dc7f0ecf647e2a3202d4af96f6d21a8b96493aea5236c2237d771000993f724f8a1437f2dca2937c17d SHA512 746e3fa4c218f88c749729b9c826b02f79259ebc90d1b52b9f6ce87aa7368fea407da0dd93fe7d0e38eeaa41fc634e03c4ec4081c9ebd26c4e23599e99a203e4
-DIST firefox-96.0.1-ach.xpi 451197 BLAKE2B e4c58d71757ae4cd079ea3f6ec25eb4988d019235748b5bfe864d49bbfc70f801243ab274de7aa763286f09badbfbfee2d738ff991fd3ec7dafb670825302d4e SHA512 5d3b696292926c622469c11b395f09ee4978314fc9f34623c697c7877666efea1f9547f77794fa54a3801b2835ba82178f66da0253906cff7ed7f6c39e63cac3
-DIST firefox-96.0.1-af.xpi 420330 BLAKE2B a2fe5e56aadb8ea082a8b525e57f135cda658240c5e47de559a2a7c5318d2a9d9c1f590def2d20953e9ccc2cc4dc8752f45d8ddcb2e70012d88abb839adcc0bb SHA512 012e4ebf71d7d0d795441377583428b7a9f8cf9c1ca19b7b8ff91daec0807223d1fb1285faaa24dbf478f164f01422a3a1452cbb26db5947cbb64f267ac30b4f
-DIST firefox-96.0.1-an.xpi 499443 BLAKE2B 3005e13c52694bacaf8907d7e52abf4155b6f2d62508d703011023e9c9dd3f6b44da1cc2428afa2e9d20489d22dc7de253018734a824e1c2b9e05e7e8243bdf2 SHA512 9c7af56541499b499486cc9dc373ec6334924d9fc9c5e3acc867560e948b9d5061cc05012a012c4785f083139dc330e32d661cfe10de4da15fda5e5d414b7f5d
-DIST firefox-96.0.1-ar.xpi 559647 BLAKE2B cbe5cabb0597bac7b18175124fd4b58723fd8523fbe9ddef9e3e4253e3ca503832eddadd3ef671a9a979e955000e053f387702a235d0d744c193425b1818e159 SHA512 9db981a5a2194dc736b92b5e73be07927b236630241e112dd724a44853f59c6df0482365c00ff8da650e302de19369dbd87fa8d51a8f0253b5d74098f18cdb6e
-DIST firefox-96.0.1-ast.xpi 496733 BLAKE2B 995541c7ca22f2cdacbeb5fc572c6835471fbbba82d75cd1c21b62b6778864f4c8cc9c02ace310cef50bfdf23af3625c9c08ffe93e573de606991d46cdf39291 SHA512 39f4bbe76750fb78a6d52c306845023f638d5b2fea03dff620ec61a5bcb40107b68d2bf5212d62c1b955a0b4da711ce000f342880a21adcc42285237d4bf8dd9
-DIST firefox-96.0.1-az.xpi 487143 BLAKE2B 4dc0ccf2939b7ce448536bc0a314219a3c0670f4a749989799a2c08edde6d77a0944afecd5b2f2e4767bed5b6b83214cd59d6e4a1202e55b963f56034f843980 SHA512 335f1c8b2888253b56071ec6644893d88c9f897a4a8fa99d5c27eec95c6d69f0c72c97fbd93fc0e48a8e3aac835d6bf7e03b97657853b7ce17774b75f1740a1d
-DIST firefox-96.0.1-be.xpi 620930 BLAKE2B 89116f256b3f6d2e4f75b656f425a5ba7336a21ac447368d885bb788538d58efa73da569cc7752cd46da209a7321d7d16d2fc11aef0df1c0737ae80d90102c90 SHA512 20f4d47ae2544b8ebf4cae46e46d71d10261887d005eb434e280de2b8b5ca95046cb569f4523f9386076a2d4262d760592b54b258b76d3d4145b3733b815b8a7
-DIST firefox-96.0.1-bg.xpi 566682 BLAKE2B b8800edb4384784e3c79b6c207cebe1f6d3e696591930e988183b9bad96ff7a0790615f56e0e239786a2a85e20059ec612abfa5f3224c94550c5c1a0973aea87 SHA512 127a63a82c35afc9bfc5d97e557bf84f0a7e7c7a36d9228e6a1d6896913607e9fb8aed71b42a171745e376de61f1f2f9c1c10885fb789cd7f66def31b2b05b7d
-DIST firefox-96.0.1-bn.xpi 556035 BLAKE2B 62e59fc02a4259caa9aacf5cfb4e8462f2e06376bc67b56ec95df4e841c16cee794466e45d18a742c1d52bb2b0d6e6beb00aaa548b8d0c9a5c300eb7a976fd3d SHA512 815052732219c95684fb76d5c9e152c1e9c7c9770dab2168610095754aabb1ebb31ab9955568fac20783419d0fceaa887df68c1b2df48a96f1b301586a2ab27e
-DIST firefox-96.0.1-br.xpi 526875 BLAKE2B 7bf78b74f4e95fbda2d2127baedc2b23b13ae2aed66c2c08dd394bbdf1606f4b0dbabf5d048b8002a416112e0f4f339143f1bf76d8a14774276441961fc39b6a SHA512 4ff8f428b01b2dc7ddb8f9bc63e57ce6f5d4238a76425267e604cc79a38969ab88b7dfaaaa04ff5e309b98d691c0487d7bac5b4a34daca3d221eade21439b6d1
-DIST firefox-96.0.1-bs.xpi 462235 BLAKE2B 39941ac7d94eae383da9a9ec54f0fb80eaa7baa184c042740ae0e701ea094cb54730551bfc3df9afc3389e15f1912e2ed5b9e6495653a26ce059fcc88fa9ef50 SHA512 cb0f5ca353132049ad67a160479a338c52f079af0e93c3d8d62ad6dae5e577436f30fe899c16c6ff56323994f09e2cb218262cdd87a61e967e87bded78956491
-DIST firefox-96.0.1-ca-valencia.xpi 538642 BLAKE2B e1f6207e00bf3449e1417a8b7c277954f32f69d250df550770da006e5033c142893fb66ec06faa1e16c9b0814385c80feb671561fd489ea749e6f0ad642c179f SHA512 80d98086ba7a26d6dd9a77b81dbed0e989a42bb03a3662fd86c704f81b98d956447c9cf8bd1153cf87d20bc3a8366d210418d443cbf4ee6e8957ed8dba9c5fe2
-DIST firefox-96.0.1-ca.xpi 531298 BLAKE2B 8b3b86d8c518f7718209d59afa7798b35a6897cb570c7fd305236a460fb0f7377a0614537deada850a1d6f30284f5cdcb9d9cf17cf6d47b656dd23b4867d59ad SHA512 570f2813a145d2e0a709bd0aa84f1076b9fe3098bb8caf5e7c8f216f19690a5c0c9ccc80771a00588e914576238b75309d377941499beec7a9fc5bc9843a1e5d
-DIST firefox-96.0.1-cak.xpi 553140 BLAKE2B efb04cb8cc61083b8f2f38dddfc2c5c4915f2e677e3f867bb3b4e8bc7af7cc0bc7e7d5d1ec0bfc2d1fa67b04410f0cdcc052f380bf93b3cb73203e8c58b50550 SHA512 ac69007109cddfe1ef34adb7f4c3e9665c03ba74b18b68d58df2239b551ed3111961f3ad6e18a5a67407797c5936e2c7b0682c9d260c687ffd6c0813dbfd7e23
-DIST firefox-96.0.1-cs.xpi 563586 BLAKE2B 86d3cb7053a577054aa54a1fbcbf83c2a1f766a8b37faeabc28148deeca5a0bec5ffb26b15ff660757e77fff7609dcd7c2a8f1ff2471adbed6d50a8d51697564 SHA512 988ee1d1b8a20b9cdd2b7398d28e70e1315fab07895436ccdb75ab11cb4eca1408dfec61519233e9a04e91fe5179251048bd52177b934a08a33b666a14bff7ad
-DIST firefox-96.0.1-cy.xpi 542940 BLAKE2B 7956a48922abd05e6e3c0b69865d0be421f688b77fdda7bfb9239af09ba68479d9463f5bef39b5d8f73ed420c21d761dd595988487fc898b9347a03545407a5f SHA512 1538295185cb9e211d319906d41c3000c1aff570f82100f04d4985ff69659b3fb0f4dbf20bb092a6f79360b3bc5c20c63a0aef67807d913995f6fe505421b421
-DIST firefox-96.0.1-da.xpi 533847 BLAKE2B b610c0a7c77284a9ce0ca94e575e024350b0f599afed54d09c1c8899c5becab65cd9ff3218963afceca893a147e2de6312384fd3c804638fe4e8d0329ab57ebb SHA512 bb1772ca2e1e99ab4afca1c095827e77258efbee057b8bfcd598012e77e9630684b44a74a48bf9b94c70252bf34edc5359739fe78ff4e9955e5de472c32e5abb
-DIST firefox-96.0.1-de.xpi 554169 BLAKE2B 90ace87e55d9111d441f86775110d6000376a4d357e0d34a9066596a84317901f062dc0822c3ca2dbf9be549c08506b4b15674cc5bc4209002b2e9eb4f69132e SHA512 3bf4b405e8e8c34850080c39e19d1d76c7fc14d5bf00b794aa205528a32d54b8fb3882f4a289c7f0606bbe591fc5b7d787bcca78dd28bf1d421d146604499849
-DIST firefox-96.0.1-dsb.xpi 567031 BLAKE2B ac8fff3abc314444b3d3eb5e284a5c3296c9d8c7bcf2a7c438a626066e115b64ef55fd38dc7064abcd7ac8228a68b3b6cb6aa0e6bebc02a91fd62cd3e1b8e68e SHA512 ad5f8dc45f14ee9b6db17aa87cf4fb92599969877347eba7e1d729f6dd34646be5783d2be33e830d6c47a445fca9eae9cbabe7a9667e7c0afab17b470d4c08b8
-DIST firefox-96.0.1-el.xpi 638284 BLAKE2B 80d687952102d1027c49fa18db64b1b2f99f90fadb3c1a9603ac696680706aa1ae3469a7748c3a0b465f3eda4c70e37d45a6c4fce68f8d343658a1e3a03b40b9 SHA512 80dbe950e8e81fc152466c9618199049cd42a5448d0ec75e415e266218512676cff72e8e4db0a02d1bf3e9d0a91af14446f7abb5ab87b21329c6ae2c59d79187
-DIST firefox-96.0.1-en-CA.xpi 510547 BLAKE2B 5ed8b66f60272d654a3899e8dd052471e706c682ab8e85ba4e5096c5c355e66b6183e65f830e2858998a0754c047ef73b04e94f6c353211e1550e4d89898dfdc SHA512 2b0843842337f7e594ca764c047b0e1dcbad617538629d0dffe1e939ab4a9f2f1a67f36e4138fbbbb75e2ecbdfbe0085619ab9fbd4530c2045f18ea0b025e910
-DIST firefox-96.0.1-en-GB.xpi 511268 BLAKE2B 9df615537107132db98d52df8a426f717a9f2f361fd3e122d8e7a8334c766ec7254facf292ce2ce2b15a0553a07ecfd2148d13bd1320b5b9f556493a866aed6c SHA512 3cedfb9ebb9fc65f532f5ed8120bfbcc94644504c3423e165c1f69a4199d799c2fb629907424f7a55f0f461702f6bf4ba6380bd84c3f3b38b925452b4a726b0f
-DIST firefox-96.0.1-eo.xpi 535226 BLAKE2B 9a646ae991d9adefdaf1c74d4896f24300903fad50378b5bd749bfd790d25cc11e8c482feb2eacece4cd778effc006db4c50482e4a6186733c19b09fb8d2e5f9 SHA512 e38ebbcabe786574b5b23eb1f99556b27db10fa6af0c67c7035dd8d0358bcc4d8202534a2a7a2cfbb746148bd3ec9d3ff245c964d949f7a71609390d5d46cde3
-DIST firefox-96.0.1-es-AR.xpi 547502 BLAKE2B edf96ec35d8e2a656fd331e405099e5377b314eccd4c18a7343e1ccd64a1131165d3311debd1831db75b2c3a5b403fc02c086444ec18a18cf9c62ca6d44aa535 SHA512 6007746216a1451e7b26495108a96a760d37bcccd80235794c24b74bad320aedf8bf1e82b31d42c55693c405fe2da15ab72b1b3b53b8603b28dfbb04a46f9826
-DIST firefox-96.0.1-es-CL.xpi 546864 BLAKE2B 6a45d2dbaf40b750bc3e16cee291200306bb44cfff8814d255c5d69feac65c8061206103ce02b591763b57e0ba655f81cae05617ea4fe163767095a7506d927d SHA512 e6c209ca1c4d5a42810322c6a836645212182010baadb86af09386c362327ba5aa2cd40da40b674f2832a47be82e2cba2a7c3333769cbfb05cd9d043a51a3066
-DIST firefox-96.0.1-es-ES.xpi 537731 BLAKE2B 2e2e00255aee4d35cf4b1a0753bf3fdd4d9d8e314b0613000eac38c846d04f0168f47ff323b6d0696db042c3ff4a6b70b8866f4005f771042c13947b8db93644 SHA512 e02755215d24be5075be02d9e4a7b138b94165ab36d931ef8dafa589b68e5a0a2f80cf4cfbf0dc4e200de6cf611220645fff75b1f1af1e0b9ddee03b6c67f064
-DIST firefox-96.0.1-es-MX.xpi 550725 BLAKE2B ddb2d05a353ef75aec258c35e71568cd7c6305da3492ba68e7e22cf07c351871dd30230995fe978ddd444fa143a48b9595db83361e14e7eb951708c24f4dfd11 SHA512 7aadf07c2400e01df50c3e6ebb7387a75304d06c4dda59ed4130ec173f739f3bb2ede904023b56fb8e201f077e637d7bb2dcc91f60623c832d5e336eaf5b61ae
-DIST firefox-96.0.1-et.xpi 528808 BLAKE2B 74ea2ca690d453591652ade9322a95bebd5fed9bb58095d44775f254bdcc8cb9ca13167d4a74166f2b27e4838a06280f2100add01a7d13e1ae9fceb4985a7470 SHA512 9bad910cf24684536ab98dc5aa96d185a26d1230f249ad661bf44aedb610ffd3074e4454a50ab365ba48d7e095721f71ae681860ed814e944b72b616a8972529
-DIST firefox-96.0.1-eu.xpi 536791 BLAKE2B bd6519af62304b72435cb0af200e7facef62a6a30583883acdf2d57a6c76ce2b5389c6f1a7f6aaba107428a13670c9d6255e33d3c4e1d95c61a3b77fd0f41695 SHA512 e7af2a1e53918d48209134ba6d2fa020db88e201dbb33f4c53839f24fca1308b213a76abad6476eb1b663d8625e78ab3c0f34fe5fd47020ba55dcf2995dd73e5
-DIST firefox-96.0.1-fa.xpi 563690 BLAKE2B e4a81d671ec30c081e39451be9799bbb5225881ed71c21f38ed79c9695cbcd8631ad2116eb6f7c4b3158e193849fdf7d56f8f441bb9ac05b5a2fe87745f669e3 SHA512 1765d16bfc037006799e45afb2f7d829edd17a98c0ba276084d6cdc337a535762d8c56a08321b827193fc3a83e5affe7b6b5fb805273d529dbc30d3a60c3a4e4
-DIST firefox-96.0.1-ff.xpi 470382 BLAKE2B 966777b935755cb5e8469fe93a2f1ae91fcec664c887a202f0a274177ad8adfde23f0fd52b9ac9867aba8188b3685026f28a7f9767fba11f2a6e64d7bbfb6113 SHA512 1adad2000e28957fadb57da437bdbd8ccfdaab87c0144ed5ca879396808e46a2467be789dfbb9523a5ab88a1eabc17dd0a70d912547762720a6572e04f919e5f
-DIST firefox-96.0.1-fi.xpi 532838 BLAKE2B e7efb4af8ce56e6543efe4c7ed444f4b93c3c5f2c8675d9de0bdf57c08921c59e9e87b580bcfef9f551e00a61ee7efe19a057709af2ec5eebdb85d4692c37f52 SHA512 1004f1826554fc1e32006c916f87cbd25fa29df7aa716df991b56b9b7cf0d792d55fa6f62d9f7b7b84ab28b44cf182fea0a2564eb508eff39cadfa10a0068fdf
-DIST firefox-96.0.1-fr.xpi 558448 BLAKE2B a52a9f7b556b6e3e76e2a00d6a588ca4a0e83d121cba26dcf8e1eaf85aba801ec1649ba0df84a30e203abba9c0b5f05215fec88e073eaeb030374e2527f9427e SHA512 99932da86c62f7abc343509f049c6416ea9c7e973e5d3627872b6a4164afe8ea12dd4ef7002f7e9b4fa02959423fcd9a4ff14eb911eb12400e5de3ef3fe76c80
-DIST firefox-96.0.1-fy-NL.xpi 543702 BLAKE2B 0f3fe1a52bd88819b4cae1cecc3936f26b6eacae281f9779de0d1b920b7e72925674e8c816cc54f7629cc6e356ee9fe161b2416cc0b506f1d877c60aac617383 SHA512 dc34d16e42afde231afd716e49fee681e19c6febee17300237ff94872a4a543300e0630a71d8cfdb8d16f38ce0a4f4ed14f00b27b7c5525cc422cca807c315e8
-DIST firefox-96.0.1-ga-IE.xpi 457641 BLAKE2B 99cd27ae70720c1e00f9ea52a0cd21c3ab8fff9b19b4a8ea4ccc9ecc8b560cc580b3cc35e1f46953d89749747bc429b86f2d63f45608569c081ee5dbd3f270ab SHA512 fe1fb33c1a676445674b50f4808851ddc415db433441583e024a179ae9a269d452f7fb9a5b3457e3043659517d5cce59e0d10530d9c5b41e559fcc79260bf86b
-DIST firefox-96.0.1-gd.xpi 530891 BLAKE2B 57541b5779dd8102cd7d1c9bef284fda737bf0f34589ef7cd06a12dd756b3e9ac46c86d570e5412544ad35cba1ceedb81642592c96d111664c6f46d9766644f4 SHA512 71fb2ed19fc9da69dd79daefe5f8c75da846ea1afe587589402427f3ad2ddac7927ffe05b74dd94734bac0361af8239b689d2f1cdc8d9eeaf047112f0e09230d
-DIST firefox-96.0.1-gl.xpi 542038 BLAKE2B 56535ad1d682faecf9a67dc2ff9705b107d5325b190f748f24c1a72ec1e22a41a06385bb75c1344bd33e62ea3226fd5f89d8eea877576fd8fe1eec8f1ed97c99 SHA512 37974446b6cae2211c7a230364c5f6ead83416726d2e40d7affd2e2a4d4c7ad616301ff86a963c955887ee06ed3534a45de7a507c8a1267d6ab78fb949e1c800
-DIST firefox-96.0.1-gn.xpi 558957 BLAKE2B 79aaf04b42417fa13e98c1ae862de22187b24bf8bc68fbd97909d45271ca4b9f1465f8639a3849bd82ec8a457e65c970354e2514e20d0e55730a3314b586bbce SHA512 b4862324bb6d0f1904c29ecf1acc9d8a34b30cc2e82b0daba8f433266ac6501be0538af4c8ceae4f3c90b8672f662851010cf8321172914804a8762b7fc1d9fc
-DIST firefox-96.0.1-gu-IN.xpi 527658 BLAKE2B 62dd6848c8d2d8f558e4b8561de3450d7e0f994a3a9f7b77cea818883852cbfa3fae6ce56e4714183f4c70b09b159a12ed716cd49ba9d18e4de235a52e973d0f SHA512 da9abfdbc1ce468a9f34ec2df6bc45b09bffc180fa852d4573d15244a3d5af6bbf581107a157c3659de1f5f7807113598390bc8765b33edd6eb6eac4fcd24888
-DIST firefox-96.0.1-he.xpi 557086 BLAKE2B a45f947072f43637c32fba4fca399866cd5b3f538b2cee1c2bc29e04c1ee3f6b583ffce98ab217b7acd43eb45d60de1c7628cd9742d0b1d3dd26cef0da87533d SHA512 62862e43da7c1ef3fd9ff7410ccae2abfe329533f3250218d9934bd8efede1bf30fa2d2c08c3336993ac982687ba96add922fa794fd91f93da3ef0ccd4170d94
-DIST firefox-96.0.1-hi-IN.xpi 558759 BLAKE2B 4a12372f9b36ec03f2b159948d3665bef4bb039ba2abaa052453166aa611736a0dc8b5a50b55be2d8c8666a50800923882807af51a20052814bccb5a7956385e SHA512 2d7c05aa3b30da03a98370743e8681f9c291c1b51ed026e0ef3cd5b20eddeaa03aba7cd5c0b158474c9805f6231c400bee024624deec9adb480f5d5ab3d09a83
-DIST firefox-96.0.1-hr.xpi 531750 BLAKE2B f4ef460b39385a2c62910c7860b6f2ff277320f69b7b3af5ff5e428ef18254e875b337da3f5dbb040b8ed4269f202e3ca087077285b651fbe826fcdeb4dcbe35 SHA512 31ed9766589911fc54958c04fd3527eadc7a8184879f455487e550b8c3680525a2e6b2ceac7085a84e8a5550b1bca833ff12b29d20296375925008d7be961ac0
-DIST firefox-96.0.1-hsb.xpi 563136 BLAKE2B 4f469e180c529409365ebc61d686e18d11490c64450d1d20af1199cce0a93efd36992db70bd603040079de66ca37b4eca4529f95d5e02cdfdf469de9362fe22d SHA512 3c24b3378e64b4275237f0212764fd785334576a962f1b0cdc012cc9fc384b1b2fb9d620494f8d12a2bee08203a7bcd32a3a9fc14eaa4536b3cc00b846d28880
-DIST firefox-96.0.1-hu.xpi 566428 BLAKE2B 64aa88fc06529d7706cb28c219aac6eed72ca264146c6156b959b2553c3418958d44b74048671d40f3fc13c6b1adce96525e5f6441a29ec225abcf8e93293dff SHA512 b559c67a2c5487c18d786ce91687b056810cfc833915404dfd6b052aff107c15d1764577ceac25b43319a32e1108e91409b48576b4d2bc0f1164254596178817
-DIST firefox-96.0.1-hy-AM.xpi 580462 BLAKE2B 4c966c30caa067c11dbab219a70ea77d071e71bd62202e5872997d2a79daec1e2022b928dbd254cef0bd66cfe3299c2ed24b9501749d757561be86bb37542f69 SHA512 927c56c5cff8cf69606a1a190149c6cda153373f9ccd39b6e9b06d72c334eba73086038399a81fab17f5b3b4c883dbf4ba793c1f064b6bd915aeb63d932b9a66
-DIST firefox-96.0.1-ia.xpi 533078 BLAKE2B d3a86d48a7ee45f7fd4cfee738b05928b43a95682297717aec76c064ab677455470830d0dd8f7b22677dc48b28ae61bf0ee15aff98e9ef76b3b60dfacc22db0c SHA512 5edb9cadae88e60ed92248e881a268c6015b90039e38fa747f6d64e422b5d3324ea2b8704080df602f33d409b819c0db7a5da5366c687fd38b591ca87665cb8f
-DIST firefox-96.0.1-id.xpi 521710 BLAKE2B 47b98650740b630290ec467fd78c8e745ad4df48bc19646690643c330cdc63203c71ef48b33aab05534921d714937c89d540515f348e756c7e386b794319b545 SHA512 2b5e822d37e737d24c822400beb55c5e85d33d3cc7615fe185b726db7ffdf0c59e060efc006a553ae5e0a3e8f602731b043dcea63eadf39c2294783c835fb170
-DIST firefox-96.0.1-is.xpi 500012 BLAKE2B 5157818f45ca5450a47dea27a5e1baadf301d8dd1fad5eeac91d6e0fef61d6d5d308ec79a42025712405d130572a8e78926d2614d1eb9f3fe1b29ddceb3ab21a SHA512 d73d5b7e2e9a724423213d0924c91d13fe4162cbd1380ec0c283008a7811dfee0cd8445d5755e0a466d8d446374fa040838e59dfa54396282e6ba62e89ca8092
-DIST firefox-96.0.1-it.xpi 460938 BLAKE2B a3cd1c2312f3cf4dfebda98b0dcd4b8cc2de310b077659a4de856a9be5898fbdf35d90d59826b511bb6bf3d69f791eb4e7152e562ac55b406001eaff54837302 SHA512 5b8f99a09c6e2465627e118899f946d093743dca384ef3908a7f898c8d8d6101fef46a508700798e71775a76d0de85114ca389d600b5e91726291f86d7705148
-DIST firefox-96.0.1-ja.xpi 586096 BLAKE2B 70b9ec22b2c0cb03bc65f93ff11b81b3d7e408afd3bc385eef73551367956d501fc87f7f4bc2bb3f6b7e75eaad2a5249a58410e31ba4ad37eff25abdb00dbdef SHA512 90181d9aea119d98447683fa99a4036b87dcf06f2105f84d74ed8c388bdb735990c08983fa795028fe31ee370603d3ffe902c9d6d679a0d5f76905c0fc7260ef
-DIST firefox-96.0.1-ka.xpi 590834 BLAKE2B 316f8dbc4546da219d488a8d692f738c03e18e2fa4a0e440efc5d0af388ec8230aa2201fe8ffd7b926a1c70fc7b8833205b668fc3a2f6d4339a0492a4b69a380 SHA512 32990300fcbe81a67f966d526f7f23aa9c7328bb53d2e5f07b11e5a1548b55bc208c933be5dd4a6b4ada533110bf890b1b354a9eca7266394b5c2f42be2f1208
-DIST firefox-96.0.1-kab.xpi 546186 BLAKE2B f44edf8d513cc60d9be72e561587c12c3c61339e6f7d1a577ce726efdbaaeda2cd0940e68b7a4aa6935da46a7d100168e441cca858d89c3609cf99ae3bb27518 SHA512 7a1a885a69128ed0da8914e067e56aec4d25f01605c63fdb1c8035d3b7fdde2fb820cfe09d82af03966ee7e728786ab1c0742cb4ec9e099a26686568cad65b55
-DIST firefox-96.0.1-kk.xpi 613166 BLAKE2B 847e2a170c3c231fcaf60c5fcb6638ddf83b5cedb37794daa2caebe3dae1ac7e0625012b43e875c569a1bc7bcd07ea33803d737ce02813f5a8b5eed0dfbc41af SHA512 5637b84e81a9be93b737dc1416e009e28d1880ccec6b0bdf9fced11164673f1d29346d7ee706c523f7be46061fcd395db0ee93db182e2d458f3a96175b064e0a
-DIST firefox-96.0.1-km.xpi 529625 BLAKE2B 0d06952bcd2782d65afd4a376376bd7f9cc5afd005776cabb4d22303b53898cdd3794d94401ee0bd71c987fd827c93eea996512c336d8fb2ba331081bcb5e2f6 SHA512 6f319157f5a74c5be61213cadae4adcb25b64a0a6a1eb2927ae4cb0e79bc31bd345196192985c81162864d5498c6e6ec8e2b567181889bfecec7d1314b2070ed
-DIST firefox-96.0.1-kn.xpi 495323 BLAKE2B 08a1b130f1081ade9a4ff908d7a7b5ffe3e5d19009b81648c0fcd9cba9320aeb22729550c90ea0e757a39707e085d65474abb1bc091a080d3fb5268b60649188 SHA512 807f53304a466f7b51c325cad9bc67efffd8234fffa957473ff90316303744d7020b184bf7be3035f2102a808d3d7d3d7cf8c9e9539c829bc0827b13cdf6e9cd
-DIST firefox-96.0.1-ko.xpi 579628 BLAKE2B 1c3f7c7544ba348cf2afc1b6bd69ee61612b45fb5f428abb2c629a858ed6f5e7ea537691da5698a6c57134123e6f6a590eb22329ca6b30b2537f6f527b04e46e SHA512 e411b12a19b5fd12b31f98f5b16b0220aaf1856ea403ec18192a12ae242d947bd6bedaa8a46a528569389fc64aea9aebce42c49144ebaf94b4c6957c823e05dc
-DIST firefox-96.0.1-lij.xpi 469160 BLAKE2B 70b8d675b22f4a42b877ce83f1b7f8703f18c42c746fa2e9f6df25b6359bd718f2e73248c81da1df04d84b10906f5b2642ef6e367bb183b7885eae54be90bd5e SHA512 2527ca0e6b2f59e789a4ad6ca953e7af05d36d8a7f752e0466c91cdcae09d800bf40c8c82b1e2b6ddfc43529d613172678ad2c5ce6fe20eb56677c64114f830a
-DIST firefox-96.0.1-lt.xpi 559294 BLAKE2B 67557159b420cd7bd9e428ed3787d14849503ffef1aca7883594d72571a638b117bbc5b6257f1323bc489f46d251ee03f6b194548a816c823be971abaf0322e8 SHA512 6cb3a63337991992709901efb611213e7a27d456e9fc6de8af402ef3a5dd24c416c320f7801721dbb13ae0de9f1a141df4673227efea09f561ecdbbf27fa05f5
-DIST firefox-96.0.1-lv.xpi 461303 BLAKE2B 036db72fe68e99b707e74b0f72baf3494027dceaf26ef596806e0ef7f8cc3b9ca9b3ecedcecc06eda07573359ca215176269d29315effd964d5b8812b228bd32 SHA512 b2144e6f69a3f42652c197eba411e99d13c8b9e87a336443b92ec0c68037c99476ba111ee8f7bcadd324476286911d85971148c53b2f2b4d462557fa67383070
-DIST firefox-96.0.1-mk.xpi 463319 BLAKE2B b9de6129b0283457d007f92dd263c66e222dbf02923a1fe99c4301b856b7cbf95f78851c8535f19d76affbb20dd9d817a625a9b837c676a089009f2947527b27 SHA512 2cb3e5cf8fc739776efbac92bfd947070ed2cc8c8c987f8575712662d419a7711ef79d603e53116c10df588a4d974405d7dd78037f8da5781bc649055426395e
-DIST firefox-96.0.1-mr.xpi 530519 BLAKE2B 43f644246422070877ee801b6f6891bf71b45662126bf6e06c6d989db00dc0bdaefbc893eb641aaccaddcff22ef2abc9dacc9272da9598f38ff4bf0ddf6565c6 SHA512 2e323181b3395ca9e19c530a054c1bf3e315d07d1ea39b7ab66c1812e95d3015c2a9fd853ba407b2576bdc774d9c3f8dca22108adcc8d5805163dd75537a5724
-DIST firefox-96.0.1-ms.xpi 446397 BLAKE2B 0d72d584bb6dcdb0ad024bd093f2fff78b08377619c1952ecec76d11add29474ed31ea3a6f749aafe0ecdba351bc812a88d22bad91afb1cae639a4aa2e64bdbb SHA512 856a2bcbfeb6f7aab34269e27b5af4e00c18b98495f4d5b4ae6b70c7a81f59b8fab316d35b8518478a9afbf92c2a7bb8adbd32ee71c9be10b680155700fe71f0
-DIST firefox-96.0.1-my.xpi 511713 BLAKE2B 02efee61f3857e53a5fe6545f8fa9166e199cf9e768a81f9080b14aabb61ad1dc519b651a36005d0c50089cd532a55a2e2f28ec343a9021ea0d9088a1ef0cdac SHA512 35422be98937b16f9f3e04417ae4a911761910eae090c89600cca6ba9b3517ed87f07672e832df051bb2df62eb52651d805e377d39e4b74ad189696f4e0584d1
-DIST firefox-96.0.1-nb-NO.xpi 529013 BLAKE2B 7fd9b1032af670b69bf30725f5ec0f6988b92148ab8b8235d000d62804395960aa91d07c1989f42b96b3b9afdac570da787c79a31cc09f37c30ede7b90651e55 SHA512 574160a26c522bb335a25a382331c5457bc4319af84c88ce016871bd57c4fc2264ca08290fb7a495acfd52eaa773a132bc8e5121ba14e26d362cd88a8cfe3ec7
-DIST firefox-96.0.1-ne-NP.xpi 482350 BLAKE2B f327f48aae0a6562e67a887c0e6394dcbf9f2ae129ed08a7c7a2e221eed6cd1d29195dce874f0700199b1b8eaf04e3fc6f4d1f727332b02f8e4aac52abad6264 SHA512 14fe5e1180723e29563038bf2394270c1007eab23e9d7fa39cfe9ee26728c1fb91e298931ead1ca646acf2627409ffdb9f42da0a9275f4d8474a533b00dbed71
-DIST firefox-96.0.1-nl.xpi 538035 BLAKE2B 62deef37f8b6d8835d643526e85aff0e358d5a96b0e6ecd818b13211443a1694296df3e0e28cd7f19e256c6972030c6998fb6989f131e77bd52cac45e90ca8b6 SHA512 45a4d2badfafd3c3c9114e8c90e68801afab38530559c469b9e2cd411de627cb0e19843807e1156ead2c3429e13f7bc84cd5d76eef7647a471912458259a89e9
-DIST firefox-96.0.1-nn-NO.xpi 531127 BLAKE2B 4445cf503478ae2eec547f97fe874c28181f44ce7e519513cc8ea17a2d7cc11c0cadc621890ac79bc617527eb989de17b49f15ab62ab597924032b0c9abe43e7 SHA512 2a00c7833f406f847256d478c861eaa56790a4c37818e664d32aeb7a637fe465d0f39a6f16a8e79aabcbc78723da64c0139da5bb5826e5c4b856991cc14f625e
-DIST firefox-96.0.1-oc.xpi 553584 BLAKE2B 354925f0905c9ac3c95da60bea537cfbee4578650306a832667a1305cf1cc3215587762bbce388b155b31bac65e6299eb7c05bbea43db0aea4195f64f842baf9 SHA512 b4829d6995faedecad5f3fb18e56e010db3861f0048dc0a1d932c687e82bcaa4e329a55154433206d6ff6f35edb4d262669519df712066d26af13e530baad371
-DIST firefox-96.0.1-pa-IN.xpi 593694 BLAKE2B f59d91b3ed736b70b295675bf141aed448fbe99c8506c19c67ee52787ac278805e1d635f5ac96c8728e113aaf42b9f5e9d0b039902faa3e2bb5315407cd2b200 SHA512 eeecd6e8593c56efb2604e2f73c028cf04796cff6d93856f2255cbf0d0ab456ef7c5f852d29bad1970eb8c60d03b2ecb03cce0017cfb791024bfae01fbe6a784
-DIST firefox-96.0.1-pl.xpi 556867 BLAKE2B e37533d7dd6970d821184e57c57af51f4fe456b5b002e124e951df500531eb298d45b9d7fb55b31e6d7d504e28e45f871103ba253d7498c4746656cc0b68f43d SHA512 8944b8d032c330ca7a6d707e3afb95973cbf79ca99a32a812b723a16aeaa7066e1c56a97ac5441c657953eac22d65a095aef493ab91ba8b6dcb9637679c11a8c
-DIST firefox-96.0.1-pt-BR.xpi 543367 BLAKE2B 270dfaae448c0b75bc63c61542653f963225e4e39a8a944642d3334f5fbd8d5092d9740045116aa614e2e3b604cc6070cbf1870b843014d9eba2430a17690d2d SHA512 046279b286bdc62cc1800c73216cb82e0e95e5b356e9e2f8ec66c7925516bd3f145c03411f3009b72f7744777eaa8052087cf7db50757316ad6240afcee6aca0
-DIST firefox-96.0.1-pt-PT.xpi 545098 BLAKE2B e011b0537568650a6cfe5e433888bb8d4b461dd0a09c851010ebe358eabc7692de226024976ff4333190c451de47a3d1a4d7279a93db811d3e1c5fa2216d46cb SHA512 5821da117faaec2728c4c9176255526769903891120ce9db2069c2f209db32c7a17b67e163d82d0437512eeb1d724cf3078ecdfbc2da837a2da0ed79608497f0
-DIST firefox-96.0.1-rm.xpi 536761 BLAKE2B 246113e8272d1f2eec689f90a40b5e4248b25da08a797371886f2fa17e6dfa013200725fa2d8a5bf120ec911ab242b3860f4d950f840f8e7781bb2354d4d2897 SHA512 11b663179d6ac354e90e39df28c7f5b77d5bd230ffbba5ca426617e67398a432e5d65abe0e16c55e7a6c66c0b520a2b5c7e27d11a953609caa5026255c6caaec
-DIST firefox-96.0.1-ro.xpi 529765 BLAKE2B 454c326b12f6cd269b890c25b8ba5831b00311393b5b769a0f5e560c970d87e05d4bca8c3225de18582734468495f24780ac693548ab7904ecc929e55f8f0015 SHA512 9e1d90a3cf504ff4dc9d95e4cb2b8699939cc80092ea2ddad48dabb80735eae50e85a8a68b8599fb9af8065befb000df80a207cc388b3975733258872c4f08a1
-DIST firefox-96.0.1-ru.xpi 627602 BLAKE2B 776fb5f9c1e0ef2fc1e8e4a83da13906d63dbfa870ed37fa92ae5188b5bab1208bd9ea6046d3b7471dd9822468f2dba8e833f48f5e0b04b514d352bba68e0203 SHA512 56b1b858d86f6b777872ec7b59aca7cfec14ff3573c3547852f7769ed455c30a981beb48cb663e23c18f1fa03c2f86a8c86627b60590c97477aeccc7a60a99c0
-DIST firefox-96.0.1-sco.xpi 503473 BLAKE2B f1d30aeee6fd436c0ae43fe0532e25f34c0ef75124b765e34b526323f8fb4b4331e96b833b16d7a01f9ebe4ecae44cf6384a1847434e334860c6cf3b2079cd39 SHA512 f62741e4a6f297eec880c2a34403d3106ff3650c96c536d08bc289bca0ff3dfce7e562bc2e680bde9e9b1905a9b00c0c4cc1b927576fdd80f62049c0909be029
-DIST firefox-96.0.1-si.xpi 484742 BLAKE2B c442012bf7ef7834cfb226c145087c29d14ecb8eaa0f7588f63d43b5baa0afd6298e278284339a44673ca68fe86ce7be44f008a00cf5e3c513af6243af37742b SHA512 626636b1d1a85aba09c3af480360d60c2dc6395fec01f907a0e5172a3a7db32190096f2b2b90e9e546afdf032f94588eee6c64e0696efa8261807a67081b5315
-DIST firefox-96.0.1-sk.xpi 567148 BLAKE2B ddcc70b496ceb90a4f7a07faa4083d0b07d990a24d78983f820d7be49ff7ff8715ff0a8d1351d0e57ac2118b8e60a6c0c933a065a635860729ddc3ce1bc7df9b SHA512 b0875dddae0de47b210f9e838f94ce5f9b762a281ac8c108a563b297bc09233e67cbbc4962ea4c707d8cec480f638b9d977e1a0da1ae47da9b655caa48ea952a
-DIST firefox-96.0.1-sl.xpi 537514 BLAKE2B aa72957d3ffb251e1f9802ce1944067b97e3cc116d8df5aa7ae2395fb5b30d5756d47340f5fa2302cf3b5c0c2c219c6c20fc3d5ebbd59e4f756463900afefb92 SHA512 685d054420b3fa85db7cb91b82a8e797301d1fbd7485b116aecc3b775727bd86328d027b07ee088fce4ad6378e8b3c2395c7fa6d564310a57d32dec6a4012602
-DIST firefox-96.0.1-son.xpi 420866 BLAKE2B 9e512f7df838ff97ca2b47f51b5ae916a0a02b88575eaceffa6c76e580658ce816fd446abb2ee12b2e71e235c9c351a1820220b4b71e3cdb2743183c6217887d SHA512 7a4efbef7253aad8c5a315f09d0a3f1451dbd395500ee847417ca1daf695d2d831b65a56f2be9112bb68763bdb932bdcb739b1feba880ce9fc7d62a27ecef7f2
-DIST firefox-96.0.1-sq.xpi 555343 BLAKE2B 257b3b6d46a6f9f43ff549da5d71ef9f821d62a8361374bf5ebfb1e725c90ee915c65d98a09dea26e3973189c36176444737b7499d7ab9207e3fafe3202ce83b SHA512 78135b7c97ce554f94f2939cd2232f5d6567d2b658f936a404ef284fec8a47888d5223cd01bff8470a3bcda2cbb8d38e83af1dbd5f4a49491a32ce61ceb5fb18
-DIST firefox-96.0.1-sr.xpi 585967 BLAKE2B 2301f69eb7a169f796bbf10bd4e6787d19ba46c25df317a48ea89aed452ae355d5ca0ff9547b6c0545ee90c004265813fab75d5abe89043ccb1e6422f511e91e SHA512 a453760663b7d6e083a93d19faecd32e1a8af73526ea57b1d54b16b6d83146d4711e9f9ddc5fdaf1e79e5671de2420f78f7ecb2d4adb7d882af6e81350b1f18d
-DIST firefox-96.0.1-sv-SE.xpi 540642 BLAKE2B 5c97a710c15dfdca61c44d3f25b46c7ebf5c309f4257c4c4de72eaf1c53be3183f344db6591a58ee05ce226fef7d3d77c19c4a027e04461c45f9574244acf7ec SHA512 9d75916be75c06bd4df7ba9012fb777f9389932bc4ea2cd496979b70f66cef668fa871b68ab279ed2bde444dbc18207f52919b678bd5ab3297c353c0e4c336dd
-DIST firefox-96.0.1-szl.xpi 507896 BLAKE2B d5ef2dc13c62b025a0aa4d6466cf9c00f7fe8c8b690a3898e69511e3a65c74dd1ad891e0dd74945c3b64a6c315274638688d4fae99bf08872d7ce4a906db62c1 SHA512 742d6b9f8872ae4af8517531453eacd75a282799577ba4e5ecd98a1849ace9cd8c08b0caaced41f32ec49782dc1abc082f571f14b05dabf1c4638d35ac6f4c7c
-DIST firefox-96.0.1-ta.xpi 510852 BLAKE2B a311dee86bf2be5679f7a36b20a4238e7a3a46841b608c73163fc1b030e59c88438ea66fb2deb9864137378c5f8ee2bbe9c161d8d8661cf4e812af330376018b SHA512 9a4e917d4ec0254f76a54f362929cdc1e27012318fc0a98a3abd9abdb184e49fc1e2d9e4b4787cea38d0cf9027955a05be8f414048fa5110c3404ee174ce3790
-DIST firefox-96.0.1-te.xpi 549261 BLAKE2B e613a52eeb17ff4261ba03ae63b93cb1b8e14ebd6d620361b67b71e5e7b74872d530a0002f09fc4a1f798ea94f748b25d869b28daa9de752ebcf8731877970bc SHA512 44687f8f2344040e73c327a05c3091b6ecb5522e8e046b6d2f115b17a8a586b16534226201a1aeb42cc1fe3d12caa6ef1eb056477edda713ea3c6929b5e0b120
-DIST firefox-96.0.1-th.xpi 605804 BLAKE2B d3b48d8c6a3b8b535f1631925a1d012f2fc4210f938ff1191cc57a7e2c15720d9d3d635431ead83cb89de0aedc851ca9a0f0056b0a98266ef6c4c2e06f0d30f8 SHA512 57ec6648e82022ac253b540f7bcdfe7d1d7957b6f25a0a616e20ac64b93ecac560ca7ec503af7912f0e72c871b73ab1e9a99eea7c0090ad435d5690d1d817bb3
-DIST firefox-96.0.1-tl.xpi 519527 BLAKE2B 2561bd8f9b91ed86bc22a35654afc6a464cae60d4be586d6009c0730070aff83e3653fbaa51bd87a9adaeb58208ab9df7f94ab64bc241b661378e5743e7bf695 SHA512 04021dd2773b61d2bc0020ba71ea8d20df32b4d3b3942c557d61e6699e5edd0d44cdab352747ed7ce42c3dd6909458567e400cd135ca53406f7602e1a45584f6
-DIST firefox-96.0.1-tr.xpi 553354 BLAKE2B 9007d3099133e7f4ebbba4715d2ca475822e76ab7aacd41aaea94ebce78ea6b896b5c71d3fd61892c2ab1c951b9e98a562457a2ec084b95775ac530591b01bd8 SHA512 d679873b616842f9c7651006a3e583ac05a56be343d050fe60ccca646ec4e1e269e1bc987b859851af99cdd1a64964b3e142e7346fcba9d3c5e12a455f72f95d
-DIST firefox-96.0.1-trs.xpi 490082 BLAKE2B 8c5182902848dd33d2b8d387da421468e35c274c8f304190de11e1220e19b6d6032b7b93393a0dea6d20a9d7111abc46788a27bdd5c24b359c48f79a862260d6 SHA512 8623c6a2981125d9ffe03151b35c5c51767ee4ba306a170e883f3bf9472e1007ee4426cc8abee55394f0f2a490ce2c73e24ea02b704779b819f299031d763b15
-DIST firefox-96.0.1-uk.xpi 621215 BLAKE2B 994c06e3b3afa0c077a2702f3e194c73bac31ed00d68742a548f296ccdab6c06114a0f41cc36d4a177a56c41e9b86655f3fb22ba7b1ebca94244e2df537ec275 SHA512 f620ebb7cd23d77491d98100308df695c53e33e0ed4130f4368415b30c17092a8c02af87c3867736ecdae86602f2ffdc5f72af26fd50438817f510a051fe495f
-DIST firefox-96.0.1-ur.xpi 556324 BLAKE2B ab26cf6197911ec559a62f1299b7cf829887eb2c1b69aa20b08380b1e2cd94b3794081b2e06c2e475e437b4c65cbde7486467b904e743813727d289db15bf933 SHA512 70c60f9c6886a14d73a9c4a77cd96c1781be3d52abe73258d2c84a12113bb4eb73d756ec6827e4bc218ea40f520e2f03656df4731e20c81f65a734d440794a95
-DIST firefox-96.0.1-uz.xpi 464793 BLAKE2B 60819fae06fa0d53bf08f1154531a23f601ed89141680f267be3bf7f4e55f1d150a977ddc2b25051eac14b4e20b409dd5202c943cefc76227553d374cd7d85e0 SHA512 f171093f6757229ce06ad238663cf27ad7f740209974704a1b3f2737207ef65dc0d89950ef65754db4a9a88d72d4a5d4dbeafcc3ea58be0543a705b0366ffbaa
-DIST firefox-96.0.1-vi.xpi 572937 BLAKE2B 3c75b32ad572ba49b73e9f5a561b53c37ecc997bac5f7aae7f71a349078edad9aed392f3ab714aa755128b560e95bc56fbbd09ea13fde8744064ce4204095807 SHA512 b920fbbfd906bd66614aecbf682583af6416bd5d6c703795acb5796cebe5f6fd7e4634867c21c49443bcab795e403342d7bf9b1bd7f193565fe255494bd58774
-DIST firefox-96.0.1-xh.xpi 423453 BLAKE2B 2a7dbad9532525fb8480b5b2cd065349b83e1e6ff5bfd951b7909c40e02b5c8730fcceed341211f48dd940443c3d30cc888adf11106111953151b6b0cacf3770 SHA512 86ca2e135ca14577bdd64474b673a315134628a8ba2ec8fab60c529c95dbfa612f12ada804eacecbb2545544e35ccbb683ae7dd0c4edefef17193027ad52cfe9
-DIST firefox-96.0.1-zh-CN.xpi 575689 BLAKE2B f6d89a03d706ef9562e573640e47b4f3f7febdeed8b76769cbfbcd63a126bdf212595b7a9dce77bfede370393e63f9796c73cd692e72c1ad6559dcdb72e45cbd SHA512 2f44be124ea4a92b7ce4203bfb107eeb3f269f4e9bbfef446fcb15be7353952981736ed2308cd7f1781272d5ee3c314dceb85f4d79b96b5e3c9d7433ad6bcfb1
-DIST firefox-96.0.1-zh-TW.xpi 576799 BLAKE2B 5d42e49e8c8f96bb858bffb4fb7ed9996d990235edd6e700f736ec31e89a06457871d008f362e5241dd193e0972e3b8525150e4aacfa176cf9e22e7eb90f4650 SHA512 8b7ed347c69d35c2135da15b77bcc83fb0f0a929e263c166fce9b69ec379bcf61fa18f85c6f1bb1320842e94fc5f61a7cf26bd4998b6978ffd35c89ab3d9b4e6
-DIST firefox-96.0.1.source.tar.xz 410542376 BLAKE2B b9b8229db62f3a4f6b79a26e79da6d003edb50f2b9df9594ab49c14221ea3b4999e6bb2ae92d129e7e13476d6ebcf031e3b18b9cb768e5885759e384f3a9c6ff SHA512 c0d2ccf9ca930def63dcb9dc269e47f60fd4bbbdcbc01463df0c30e11109a543e310fb36f2334d17b90cb9c96b8dcdd97d0e2d6c589a779de5e4f197c052f9a5
-DIST firefox-96.0.2-ach.xpi 452220 BLAKE2B e82f947a963bcc022b943bae0bce2fe7debb11616cb1e7a9d6174ea9b5f0957d0924700e9979f6962b8878df643c6013ae8cc615e384248f254d7d72d87a6464 SHA512 9da5f949b4651d57112c5aba747630f786c852ea4f1526b46fc599e0215bc3f905cf8695a1e01c9f3831bf2cfb058d709cc13caf9326d42c35ab4a74c4f8d2e2
-DIST firefox-96.0.2-af.xpi 421361 BLAKE2B e9fd6ba6dffe11a5066908d1ebe3dc8d76a463fb79277866e3fe41ae2da8c1d990180fb3530f003ef342f4d0beaa2af2e220deebab0d708310f814c71a13bac1 SHA512 66c9264309c8de2440265e29f6e47b97ff36052b43bea046f302053e331035e408041d58b681a0647ba36ec4d6f1c8a19bc024cd7c3e5a7279daa40315f2ea20
-DIST firefox-96.0.2-an.xpi 500478 BLAKE2B bcc90e6fe51ef6da9f2e935560c0f30073113813e6b54f66eda799133b01c0583dec4fe3eba7a46742df2d54199d27da7d59ddd05c5d2fae5fd61a0f3b51b702 SHA512 8b3d05fb0562b451fa14ab777002b7ea05cf08d96ddcfa98c69916823a883f132263523a5bafcde9bfb0d4bd5166e70b0a6e8d5b48c47eef1cb5c35438eb0838
-DIST firefox-96.0.2-ar.xpi 560669 BLAKE2B a2fc056a842ebac12c9bbb591d752a0515d1e34ecfa5b522e2ea15f30aab0bd10b81b1bb373487e8021db12f96362bf82ae979e72e4c4e3d80e7a5d138f674d5 SHA512 f2a9fcdb04fbbd5297649ae516832c624270074e5a444de040ac45486461e95535a7eb0d93598d38b981636c4f5b073f46f62b9196084d1614d44b968daf0af5
-DIST firefox-96.0.2-ast.xpi 497767 BLAKE2B f49b1e87f652a4ee787f2360c69bd66ccc73532df444b1c45a551edf5c6ef2161743a525a7e75178bb4921c57a080986d693da51c3dae2bcf296ee2e1352d00e SHA512 6f84ea79da8f6e91c9870abf6254fef34d1aa8f33ab814f6c8c701dda9558bf28396abe84f086ff6b873dff573135122ae9476f7a978aea9f57d4adabc448cdb
-DIST firefox-96.0.2-az.xpi 488173 BLAKE2B 0d2f9f8a54a2fd3aad167700ca9f4ca601de90ddd7400fe12cd5ed896a6a258a9d675ae463f3534c071b72253c295f2b737b07d5ac898c5f0b3e47424ac23fb5 SHA512 4fd3ef86c19caf8967b8d07f4078b3e009848efa3f462666cd8b2a0d18856b76f8d8dc344c8d30569ed93eabfdebf456c9dccfc0c12efa625322f25854f0b0b5
-DIST firefox-96.0.2-be.xpi 621945 BLAKE2B 8e22ea8531b78a92ef96f38bc9eb1e5914650ed75da002c1df99cd261d95528017cc035ae58c76132583c0c98b9a4beefa3a1914ea0c909049b6d9c395df568d SHA512 f7cac6359ab0242e3f39308aa215913ca93436a5d7435c41603de7ef57428699fe7565e1fcef466e921f3976e795064d62c11135f653556f4ac388262d4de49e
-DIST firefox-96.0.2-bg.xpi 567714 BLAKE2B fed6c55629dfe0c7c10dff57ff69dcbde364e0fd080ea23a2534beaa058bca7389d9374c6105f57f11b286465ee82fe1ba8f1b36e8d7f89a79eaa901889f5bc0 SHA512 a84b29e3c51d797acb1cfc870e764e054f19547bcf944a55e67ad7d3f79595847d3a1f03de57304fad03e64f982eea124650053b9662f08c2201abd45dbbbbf0
-DIST firefox-96.0.2-bn.xpi 557060 BLAKE2B c2e2ef2836686e9253560164974eb0587ebc2fc440ad9f0a71a05fc01e8f58ffac2f361a62ef9989e0431c6959deaa7e1287fad109e814316deeafc9780aa70c SHA512 ccc1a8362371955b328f417c72689fa8c2c56b842a606d2b1830eaa3a3446dd9267ba74723c4b327cbdb2576642a890d3fe170439a82cc1056d9dc74ca24347b
-DIST firefox-96.0.2-br.xpi 527912 BLAKE2B ed6745aeabf84e616d9f2506a7a01d038748816287b6306ed9b60accd6e1adce01d7bdd8029b2159c370d588b9de613e5e0df6b2311fc455068a3c276b1773a3 SHA512 e5a6359d2da60b4118ca965c1e6440e19b1caf0db8b93be18778169a1fff0cd4e3d99a4b8bc90d5f1b10b7e25e257f4f9a6432540f753415cb4a7632a12dee16
-DIST firefox-96.0.2-bs.xpi 463270 BLAKE2B 6a936b354a727943e29396650c7480063faafbe975823d3d062ee051b380b55b47d46d5b3dac789b7e84be4e9f2bf3e7e7018523dcc292f426b51663eac3f24c SHA512 50b6fff8f6c79d4039fd1a613a6f1a3291a7bc124b7ec6bfe05e7434148d999e3f392c32cda3848414ae58731a705d970faf0d5ee6140f9977d3dbce0fdc5237
-DIST firefox-96.0.2-ca-valencia.xpi 539682 BLAKE2B 85114076778ba5b071da02ff910c03c5cb9743e011c05793e893d710df3c1e2179c2919dcfb60f275538059aadede693bc91719c097d7c257a956430f88273d5 SHA512 2a1829cb8173866559be1331d79a18265e42131ba6ad64e95f6ca6a81a237d0f5c6c822498067eb0744898f82c68914b25c05873b69cf1659f2618aaad043772
-DIST firefox-96.0.2-ca.xpi 532328 BLAKE2B 45ea56c5d2ade94089ba6b1cff374afa2907baa0cba6ac7d99498c345a7fee3871d5eb41f302cdc05439a4dce76e6b65d3e046db0110e7c8935912cd98a9c046 SHA512 e5bc55421ccd7948ad8af88572100af8a69f74411e0a1e76d72c2e1d9de51a7bfe3c4399bffaf0b6f5cf130b156b386541bff8107e54560cd2cd632cc2e92905
-DIST firefox-96.0.2-cak.xpi 554170 BLAKE2B 1829b8bce4c944dd11b15dcdbeaa2e1da9bcdb00cd958cac0ad64994c9598a7fa45304ba112d9983ab948763c1d8310d4519be267bb56ebf3aec40aea0adb0d9 SHA512 e4e4aa71679a8d6aecb5dccda0b06430c04427fdbac86ce97b09a2f489fad6570f06b85d51e8761a60a3cc922414f51140d7a947a1c72fbdff21a9d18fd96b63
-DIST firefox-96.0.2-cs.xpi 564609 BLAKE2B e64fa25ad47d47cb949c3074350c6be31e33316821f880743ad4216a3863a902317a5cdc222dd95a24235e6c7c17f99e6f5c8ab3e74240f4ce81f2f628de9bf2 SHA512 cb57be88f1a7bee95b43417485ea7f2af3ea21251430f52f101c8d655d61ca01d6075cc1ab964a1f1ad03864fc298a378e58e7f4a056cbcc8393646f717e94b8
-DIST firefox-96.0.2-cy.xpi 543957 BLAKE2B c017505788878cc15edcdb856f7c57e965eec49334b8daab0c78543097bc8334d0cfea1a687612cf56357a39a3515e25b2ae92ae51570f97cbdfdb81c5d92d42 SHA512 8a3341f609b78f4e2f2889ee8eee8a3c80c6a38249651aacb4aeea39c3c6bc756d165d48d01f99c2439c87873b6a7e5cb6b2c25e67f6662dc796287408f7abca
-DIST firefox-96.0.2-da.xpi 534872 BLAKE2B 48b0194316a688adf3911ad64685cb1cd633ce17aa117cd3b3ec92316eae8444282a2ff1d7b3dfe273fa4d3296fd4036d7f91522ae9b7f68f36241776d98f080 SHA512 1d391420c5df75bf91d70480e7c877a478af742aaa2345035bf1e714022769e5b4308926495e572b33d527bf23a9df4d52e5eb5e65dcc2c6dbab28cd532e1ce3
-DIST firefox-96.0.2-de.xpi 555199 BLAKE2B fb44d36cca18c28500aa1a04e0f91d9641b465e3a7530e20af2ee90c62401b926f6bfb35a6fcf28f536e12d3ef04ffaa7e41319576f676a8363fa326a14380d7 SHA512 92d6d047dd0bce5b791ca0314b079edde73eff462237895d5965729c18fdf9b2c03c5ea242034e1cd858175345d3e2fbc7806c4aa1d450de2a50f8dbc9c346bd
-DIST firefox-96.0.2-dsb.xpi 568059 BLAKE2B 919b5b467cc6b66a17438dfabf4bd70bddd755d3e0ec73f96b3abb3d707e689d21b60c451a31c88b0edf7ab00c949215fe68c2f527f80117be003380095c2b82 SHA512 fd4297ccac7c23487db9a14495ac37c2bd7c068624e9d255ca2236cea06de8be3bb6af5e6c61c3a1d133878c7a9cc6ce3b6414bda924f22a957a99c6499b69e3
-DIST firefox-96.0.2-el.xpi 639301 BLAKE2B 5c1418ed190ef9b97ad8225f6ba9d7892d5c54c9f174506ea5ff9771f1f5b2367d47db9b7604816fe180ddfab1b1d20d420a6b5a82c47d852260cf0966d340c6 SHA512 9e5e9fc3bff89e55d457c525c64d0cd79546d99b7234c753368dce647d53f9a9d3c8305b72b5ae6844d91a23872146542e8c4cbd203031fd33bdd88b4ee19862
-DIST firefox-96.0.2-en-CA.xpi 511582 BLAKE2B 5574cade92d1885d03b72e04a6e4278bdc1e4968550b92de063c297986756bb6a38c39262392954c552560e83edcd816661b79d01ab0d70b88177af572d6310f SHA512 e6cc388555b81e1605858ad48dc5856cef6cffcb2d0d9a6b87af538e237ce5c3fa7a3b7513457b3f158d3fd4a2c531df12736c261f738d71e77dd1f826f82e5f
-DIST firefox-96.0.2-en-GB.xpi 512299 BLAKE2B 6245c8cd81307d7f45c181fb530baf97b61759f39fde85f1f86ffcf3aa4053de6b70a286ce15744bb89b62d7d4e60f9e6d02638f48a9f9841ef12264e1f754bd SHA512 aef735767007e91d37c3ee12315055dcc3f61c878f311ad91112cdb547f6b7ba5498f1f427a8572b86008f5e3943ec6085444ecaf11fc9a4c73c9034a99e8c52
-DIST firefox-96.0.2-eo.xpi 536251 BLAKE2B 841b57be4888b7db99a977424aa9a9dd9a8e3a5e3ba7e6cd13da5261183626fb2344325dc533e8a586dc5bf4d00ef02fdc0fa9c90fd5b826ab0f68343defe759 SHA512 d2313af5ca58c932edea84623112ccb9f71218a090fafbe69d4d8f16eb08432475297e8e29adcee3bdc9b1b6753ac96bcd72cbf903936faddbc493ce63e4b679
-DIST firefox-96.0.2-es-AR.xpi 548530 BLAKE2B fd8b500cb93cb75b6ea6724b354a019781306e5b19e80af6491c822f60607039079cf64163aebb4cc04d0b744b9676bf8a650bef37c3cd3283f214681a856ee6 SHA512 e05f63faa56985d176583aaa3f0819cdc3933362c1be52e6984f883aff60e90fa18e3fa49a8df825a297ae66455da73beb2589fc1467dec7cda68fe3ab7c899e
-DIST firefox-96.0.2-es-CL.xpi 547893 BLAKE2B 0e35e2d6c7850fe79786b576d0750c073f797f778d59355b06cf07e334349b1574b1c60ce0942052fc85b0c5bbc85b2512c7ecd7913c04e3c894c0685aafe6a2 SHA512 0d316db10a2af47fbda48c660e0d87bd15a4af62fc4f8314b83aa8a39b978385b757992ecf472cc9240acb7f6b6c4986ab5bc4340384dbffaf55f69fc3ce7808
-DIST firefox-96.0.2-es-ES.xpi 538753 BLAKE2B 08270fc57dd22bfe07487669c2cb46f420e1f159d82abd5634115f7dd642656725e4273abbcdf1a402a2e7e42dc1f83f5752d4b16df40cdf48972d0798f20fbd SHA512 f9c20c258bd1d2a19f571e228d858a4b593de2275ddad070d03f56846b55464f6ae8a3445c64d650129ab8493fc2227820bf1f401176619f329c5c2c9d175a06
-DIST firefox-96.0.2-es-MX.xpi 551750 BLAKE2B 5e2c73a117e9bdd4f2a9cda97a9bab30fbbc2f4160f2280bfc5db21cc2ac2ee6091ba8cf78cea39f5d52c11b725d873d6b1a903228c615cf7bd68f1f03def804 SHA512 b96540a06a80457bf97e27bd8184658b128ea1da36d3d09c3676ecfd018a561df35da77f6d98cb3600eb52e8149c6b334401428a54485175405fc990eb4a7d13
-DIST firefox-96.0.2-et.xpi 529840 BLAKE2B 189e237588636fdc6daef85c5a314ba9bc76a51a28ff7209251f8b2c982020ad0793ff45c2fe818814f96d7bd755b66e07e84d26a43baf3b15924a69786f9d13 SHA512 43b8b6d9eee6e5852c3471666f617adfc1a8bf18b69f2a3116637d7be639e1c031e082054dadb8fec2bca966902d58f42114eafbc150380158448629825969ff
-DIST firefox-96.0.2-eu.xpi 537822 BLAKE2B b3a10fd79957ea76423d5e17ca8f60b4758fa1cbc7ef03f8c0665c9eb0c3b88e8c7dde1bf0254c46b8b5efc249b92e3db14cb1691762acc43f8db44f826dce40 SHA512 0ce9565b224f8ddfb9f996ad1038d56e9ed051b8dd91b9523f205a4f80a56e41cd34292423fac1797d64de59e8fec841550c8f83cff5f6846c8574acd8e8a28c
-DIST firefox-96.0.2-fa.xpi 564720 BLAKE2B 69d6f299ea5ebc693a931deef9393d1c47ad15dab964b726273069d1eb7868ff8699aa491ddb44e9f58bc9641ada64530ad4f337bdda311387a9ef691bc76325 SHA512 c31a18786c55c74f6c6512485c9fbfd99c331e37de0699d40dbb3866c735f08d8b1a06bcbee2bb76deeda63ca265ba57f057975a70957ed22b344afcd8ae26e1
-DIST firefox-96.0.2-ff.xpi 471412 BLAKE2B 677629bc483fde167ba9f1b679508377d371b056510f8742c2abfae85ec4d627cd23495331cbc7276630be7db2dc28d03d0ac5ca58759176dd4c4370d81b942c SHA512 08a9d841bec5e3c553ff9013f59425b03d1f61e3f468eff0117aad35f67a72d4ddf3550b365bd14d01b8c62311a7f55179bd5a044e96e17e9d56c3fd8d226cba
-DIST firefox-96.0.2-fi.xpi 533877 BLAKE2B 0cde08b93088f6b508ae3dc41ffe960bfa9b164b12d13a3e191538ca9a0775d8d013eaee386175ed081289137303b814cb0ddfdacf995d11003b9ddf62dca6a9 SHA512 7cf174295e51b0468912eeca085c84e335c86cfb72e6a82367d201d4b92eb53aed1841ba9f6ea4eb097c5455455392ba5cb1798e93850dea9af840c062bc0413
-DIST firefox-96.0.2-fr.xpi 559470 BLAKE2B 498bc99ccb234725bd86b3753c69888346407e4e87541ebfdef4b60bff5b11292164611cba57fac06fc146ad55309de794cf1ed87ccf1cfac7a51085346fb6bd SHA512 d8bb4482452627c12efda96712db3db3407dea5fcd4eb50fc381a1c371b9220eb15b97dbf80c18bdd626ab761841ffff04ec9ed4a30f28480ae3ba698a42ff79
-DIST firefox-96.0.2-fy-NL.xpi 544732 BLAKE2B fe2e2321a6613dee5d9feebabdcdda95b3083a772d12cb6c3faa76c06fe45e7f727ada25ae0fbcbfa145f41cecb518d007f384135cf974c38cb575f64b0590ae SHA512 d6b7f148690a154a9351d0eb77137cffe10d77e67814023b1f01d3aa738662ace2ff23b496b0cdb7b131af5ebb71dbebed7ca8ad8fc0ad27974e15bb0980d5f6
-DIST firefox-96.0.2-ga-IE.xpi 458680 BLAKE2B 387efc549f93c455a154f19e729fb515aaf81d91ff8806114dac6b99531a7d16142c962d4fa899df7d7a3b536fb91bb0a49805df26141a5b77899b16aa03ebaa SHA512 386fefd40d4ebc4868aeb849bb7118e47fd7f0f9fa24317d53ee729cd7d5af5611f731c62b6e29cd7be0ff6e8098d43b2abb091902ad412568ed32537adffcdb
-DIST firefox-96.0.2-gd.xpi 531917 BLAKE2B c3bd3dd1ca9a3a2b33ba0a49b591a27db819a390168e11fbc9bcf3af7f887c2de1cce0097ed8d699e9c9ab5579623b0470e97591fe700d4dea564f3c22674ccf SHA512 00186b9822a00ac9c0beee1da5fc1b888bd5c93e1f28b00b2c093b0a24c8edffda7ede1468e8c75cc75bc5c67361a8a00d4228c93df364520e8d769789fb132e
-DIST firefox-96.0.2-gl.xpi 543063 BLAKE2B 719db2496943ed83f962d62eba663806ba003d62ebbbf83946ceb358ef444432cf3ab9ff593b28079bd0659e474a645fd504e8a76b7cc2301c9e2dc6eabe7463 SHA512 39b03a773d88650389861cc1d868caa0b70b14eb6f9a4ff6eacfbd522b0d41491b0e0056caac4a1de68e572fbe0630f61f446066621d69744eb36752f69ba32e
-DIST firefox-96.0.2-gn.xpi 559988 BLAKE2B 862030f6b05ae2832348ef3fe3171f19304d2d40cda984364263ba6ce4e6b6ad5c7334c25d69a88bea200892287711d000230014637ad816f45c83f9e395b028 SHA512 7e28ece41cd8abe9167ee0e7655945abc7c6e4f57a2a277b6da96b8396c5a40c1ac0927956e3de377e0ff8c6029e606b890231a0118bda600517078e604d9a21
-DIST firefox-96.0.2-gu-IN.xpi 528687 BLAKE2B 5c536957c8cd4e0d9cd652be3ec1e0ff768d6a86acafe8682495c6169eecd15b4343d4b69b05c4142779ff46a9f8148d357b8f8d9805affdbd4c8f9dce00eaa0 SHA512 24d78fd0a5bfd31e45ada5788cbb74690df0c0c602823c803de59e5ebbf5300d5d0a573744b5fe421deb8f441bf951fd8fb366b6d7b0407c376bc27c669cb142
-DIST firefox-96.0.2-he.xpi 558121 BLAKE2B 0c6659f5d74f4458f4f7178500ad549300f26cf78e935044e6e7495455e355d595811ba0c555dbf36b2e443a893bab2bfe0dbaa481c6ed83a30ef1ec263a991d SHA512 d4184b29a1d9011e614cfaca0964546875f9c844b4e275bbae5b79560f9a93f684b2e02a2ffe30d85370f63154808c89a2ba841578ca4a7a3b4d75f549d2b6f7
-DIST firefox-96.0.2-hi-IN.xpi 559787 BLAKE2B b2fe8670aacb6de79f2390302cf47bb7541b72699e434cea0adc9f400053250b0ca0300dc9f4aac1b3002226fd37f5b608dc672d784dafe2b73af6eba0110678 SHA512 7acc010f3710a15016017f02e940fb5da61fe8086976d5aefd377a937dc798da2de381db7ecf5adaccadcfa2591db7d4d9d2d1beeaecc781f4fe1e25c088702d
-DIST firefox-96.0.2-hr.xpi 532783 BLAKE2B 05bf577bcad8a1dcc7bc144bc8a9dc38bd8d268a2aee00e492df525f3ee431c43b9521397d9a20389362759500e0e0e2f9850ce7c7f553ec5ffc3d4ef6a3626e SHA512 156951314cc1b90e080dd4544f6fb589e48a8ddabc98a90ffb4f954d6c4f3fa92398c13a4888e4578ff3b59c889ef2b9bdcefc0781ad8885ea599d2d417f02b2
-DIST firefox-96.0.2-hsb.xpi 564159 BLAKE2B 09aeecdf467518b77eadc87fa03ac871f544d08dbe7f6b180bdeebd214fa3fa8b68183ae0d52fef6287723824699dcfc5b112be999c172d6440e620c85014c48 SHA512 82d75552fe5afc0441a959e98f68fb2405854ec299863b908f0c8f94d1f8480c0bfcb0cd417a4fecd725ced7446067b8f3a0b1db9e3f2e90e166366b06879a36
-DIST firefox-96.0.2-hu.xpi 567459 BLAKE2B 3fefec9af84a273644bd99483d0cf0d1db88c5202863f9289303cff8f03b1ca1c5c495161e219942d195c4d085c964e60265edee1186858ef194fe9edc7b65a0 SHA512 8fb583d2ec8d905d3f7572f3a48b5b9a110d9d7b0b68f5554b0bfa9b8d8a16f1d3d3ceb5d7a0b68dad41c6beb4adc0400e5fc4f91d2d33422505b78f58ff5a67
-DIST firefox-96.0.2-hy-AM.xpi 581494 BLAKE2B 66576d67afa8f6ad0f427b5ba9130b8e4a5b13cf125e4f209f756328ad3d2de96509699e5fa2187503fcd6382f862b460402555407f854edd6acb622ad774545 SHA512 e8a39a608563b964999ad773cac33aeb46568a3a587eaebc6154198fe09f982b9ac8ae9945045a6abd1bb2631490472a2d6c4262ed8d21573bb47765087be0e0
-DIST firefox-96.0.2-ia.xpi 534115 BLAKE2B 48dd68e117ba4dd0e46f0d6f06bd24c25f43366d6510203e72a68aa8578d23a14e8be1c79726bdb0bb96fb833d3a3081a763ed3fcca87d5a9a9b5aac4384e840 SHA512 d78a2b4ea9e895a184352f00a62f1254693de117260155a5c6e22b842d77adcc836537690db1c5e1e1617d05425f34c56012b70149cf6b9c2f52df39ee5f4c6a
-DIST firefox-96.0.2-id.xpi 522743 BLAKE2B 73ba14ddcabf40cee48ba895b34b6b2d9f8ed9edea2be65aa47a596801f05bd69893ece6f4bfa6557e0b6af610cb6b9987b412160b4d27fb57dee9e0080c2bf1 SHA512 927a3017d71852ae78fbe08e8dd30ebf3db6ff603abfaeb382b33ae8ff2cf957189b210aa02817611eff1bed3aeaeb82de264d4b111cf3938db5ff5f92d061df
-DIST firefox-96.0.2-is.xpi 501041 BLAKE2B 2324c132a03548c119fbe52bbea84ea9178f4f149e66b1e5dbf424984d3ae7f01209a73b53bc973d5afe2540886a899be61ba4024a029f8b87eb67c66d45032b SHA512 0bd61f6f47e39c97da65affc895004914748ef6e786b3968cd16b620cbd8570e05f951934994a2dfb3c5992842d3de60e2aa371e57779967641fd7fde99d6098
-DIST firefox-96.0.2-it.xpi 461983 BLAKE2B 092820e3f45f87c8ab65ca28f187da98c29d88b2d76bdbbff689399e599b11bff08ee2f965e88572ce9361853dd6b40445d155c16a6fce5f2f72ab8713e33804 SHA512 90737459439adc039e0940bf7cbb3617466edda7ba54aca347ae38f6a7001a856275620249b88a6f55888f2bf06e7d772cbd9d3f4a34632ba5355c023af15c3b
-DIST firefox-96.0.2-ja.xpi 587133 BLAKE2B 59a5a9d26e62d368bede2667beed77ba81c02e98e751d682d76402837b5c6a2adf94f337918661b7b5cf63ac28c505ebee7f3e92823fecb76ed240b918639ebe SHA512 c6da169a29e4d72635b7e4ac3ea4cfe9b03a2dbf4d83c8514fd483eb26a8aa0d792b5abf45ea6ba1ee2adac48e58b5f21e8b6bbac9387b335518db2e3e6e7b5d
-DIST firefox-96.0.2-ka.xpi 591856 BLAKE2B cb3df2a0951070c932cca3c70959c81aa1d174d1b80748c962aa005ce1d4f9016ebfd9a4fd8dc230ecdb475771df955546625f4edb6ad95f647d949dfe4f72fa SHA512 21cb7959aed44e94bb57663d553a6f5afa3163be6c61bffb226e64f2eb65147efe53dc5e5e9394c495e080df4ad87acc061013657fdabd01f886ec139916e947
-DIST firefox-96.0.2-kab.xpi 547213 BLAKE2B dc31251733545f790f8ef1bd568d1e85d825eb73d3942b8cc23d6f4de3b62f1ca856e7d812e1194482bd4189617d1d68e2cf4d830234d0576cee4ae9594c1a67 SHA512 5d2f4febd8337c93eb0b07a939e991e494f78378c3d9ef5b292e51402c6873f09820c67c78eddc3b187422997c99cd237995542bb96181bd757362f8842854dd
-DIST firefox-96.0.2-kk.xpi 614208 BLAKE2B 00b79eeef922622453702d6696d455c951346c0625c3762bc9b9c419171f504135f33a9d7ca8399e6768b154b87697d1318bbf76f5b9834a48ce659447bf2c16 SHA512 9848346ec31cfe9a2d79ca3064408f1ea315ea20fe1cdec67e7c77f5c54b993507dc407fc648a8ad170dfebe83f8c94f0b3fce1921971f1f5403c99786abe313
-DIST firefox-96.0.2-km.xpi 530652 BLAKE2B 30e02fa3043ae0b95a19f2a292b8276e7f74277e227de29b3ff83402ac4daec23c14ed9a68bfec51c600c4b0dfbfa00cf9d7030c06b18c506c7a48ec8eb682a5 SHA512 85b463091091efd68353c4b49f95fc56bb542b6175908be6b45c7e92644b0a78220c3cc51264b6bc30383f2ed91f1e72c3711b8cc22a7988692a15bf3df4e1c3
-DIST firefox-96.0.2-kn.xpi 496354 BLAKE2B def56d89c895ff5d35974f467fd5dd5a1a4d68e540452cf5d17ac4609338f0a80d771c433bf0f9f2aa35ff79d75c5d3de15d6a7bff48bd5f71a15fc7e814704d SHA512 700869ea7f43cdb2900f1934ee3e63769fa0b0a846fe0d8201127333a9376013636bebcb7c1e06419e0a3cad7e3a5352ce4cb404a10f415b39a56fb020928b60
-DIST firefox-96.0.2-ko.xpi 580655 BLAKE2B 53bc99b1698b545f8bd38f939f325a5cf16e92be50f06e13b127be4a976b3cca8896f721898ee09b4922699ee9fa698d96bdc5e7310ec6f9cd0cb76181b6bd51 SHA512 ed50a99177484112f08ad8552bfa639606cac5616a7fe3542134269eda52e395efcca5f13b6fd50bee7da9958302296278624e048afd7afa2369d619152c6243
-DIST firefox-96.0.2-lij.xpi 470178 BLAKE2B c4c71c3c67a4d192e77caf188e5fc635620fcf470ee41ef4d66666d9da5348bb7c7645d37ffea0bedcd0d44d39ce3187a5b46d789586c1c8fa2bb3e793a7fbbe SHA512 8f1197b0ac6fb7efb16a96b2843f6eedd30005a5cbcd49a4e9bcf967309fd13c03f9894f6a71f7bcdbe08d1d26e05b04ff7ab97a556da00c64da81b25059d393
-DIST firefox-96.0.2-lt.xpi 560323 BLAKE2B bbd711c823306df3444c4aff50c0c6fc81335b2a28f67da5dd0b379717a3e0c5354253abd54abffcb8705ecdb55fb96348add01479f256fad21a06108c1af867 SHA512 b31f74b35eda87081a2e2620e3f924bc9542c74b416ca6aacdfb80697c4fc5238bf48a25a1fa1f936f7224641843650268d8014b5ca52b5d7395f85a4d95160e
-DIST firefox-96.0.2-lv.xpi 462325 BLAKE2B 0d7d87192f7a4c066b0cdfd252354e492339faa23d3f32fe8ec261e01289bb2c26ae4e2c451814f192efa9b3bf2d5c01476058857f13028d3917902dee8a4b4a SHA512 9a3233f56f2fcfbb9dd084383bab008ccd18b18c1f6bf4a07c6df4bb80e69af62efc76235e7ce85638839bbdd793c20ce9f60152fd392100391879cd0f571027
-DIST firefox-96.0.2-mk.xpi 464354 BLAKE2B cfb44b750290912f2a7b4fde2f72c5584cab29edb18bd03863937f6d87a5b05ab25fbf2963cd62c7e3e7c697926b2a99453d6623623de9b5f4d47f1ad29b2330 SHA512 56cf6dbab68afb5a505961e020c54d52afd548cab255533858c5def4bf8b89c21795f65df171df610f6111379dec1bbee7e3639a0f6a7975b26b15883ef22d60
-DIST firefox-96.0.2-mr.xpi 531541 BLAKE2B 164058a3c476f985f070914c0238d219bfbe78a67c243e10a73fa4f418e4cc23187f0eb27e9aafe2fcf03a614e62568fc26478646dd21dcb6913af765268d2fc SHA512 dd082e0722ed14042c51a278aaae2f374da91563b2de1fec7a6451ee5db10ac2b09b9c08d1a135dad6532daa1b4985361e4525d4dc5789c6002fcfd200d8380e
-DIST firefox-96.0.2-ms.xpi 447424 BLAKE2B ab022a1e27bd2febeeab657ba5341af4e2c6a25d8a1089b1795a46711584fd45781d6137729a65b688970e217b4cca89f1801c9235e8f5128dca4cfab85c409a SHA512 b38ba92278cd0b0306a44fb430381adeb2f071875ef6b3fcaa4b2cce705b0a0d2f644b5d3b87c9091d91121db69a48937026e8ca265daf5d5a2b37718f1a6f0e
-DIST firefox-96.0.2-my.xpi 512739 BLAKE2B acba02e8f7724d69f125dc35715274a35af73874e5d9d95d9afe8c85f8920354664de8594eb7263e96cd235ed53a116be6a54fbf5ad809980a63f87834dab533 SHA512 458523030a2f0025a141284c88d24be3b1b442a3981233e99fed85a5674c8e80839c56d0a7f06724cbf944468ec5930f1b537096a662439e4212e7cf3a91fb54
-DIST firefox-96.0.2-nb-NO.xpi 530051 BLAKE2B 7b29b67e3665c3f8e8125e63c1ab1be0b17b2f7ead9e3d99f057533299f1b4fb84be022893c1dae47e9f3ae51ebe47728e30d13421c3c2d30294f4ec75ab3000 SHA512 34e6c0012460b3470c636fe1102ef58e80c26ad447943c84f6b21ca90df81a5585195684aa5bece7b213fa25260d2ca26ac0bf96789aebf29dd52f28e28f4955
-DIST firefox-96.0.2-ne-NP.xpi 483375 BLAKE2B bf0857e5b0c574efbf11e153346e399d8a63c3024e9c7b7458f11e684f5a84dc771e4fdb23dbd29c938a09b936ae81df9eda4b5012ee4c1f93465dbce213a9c8 SHA512 61c221436bd9972ecc3de1e33faa5ec896f5fed178707b074c9e1203cbd1af6162e4cc3858e30e18f0f93ec0438ce3e4dd7ed3d83ee333828022a250bb8cc25d
-DIST firefox-96.0.2-nl.xpi 539062 BLAKE2B abba9c3c2e448195d55e934ed799a6671cb22ad9ba7a68cbffa7328b9d1c6377bbb147c788b6ee2a236a435e956d099acd0f278d2f4a681905602663427d2554 SHA512 5f6313f04ca5cac61b12e509ecd806d40445a1ee5c295808d725cdf46f9f4bd868dfe7ee803ba5de449d0847450e73034db8355e0df5554272d3f7da41d12c37
-DIST firefox-96.0.2-nn-NO.xpi 532159 BLAKE2B 9c0c9dc33926ab9eaf2944c49d2c9bec8983d275f6f6c9c1476c0302cb5dae817d16375863b8c1048c96974162f49f0bc7c74d09aaa80216c5ec4e53bdec52b4 SHA512 69aff97567e1b37268d2098841c49610feed906ce2912d981b9e5f786604f76772e25e6e4142b2ad128efff841b03e84491e07a81619c12fab73ca71aad500e1
-DIST firefox-96.0.2-oc.xpi 554615 BLAKE2B dab061e80e9e34a5faa25a3d381f9b5135fe371f98acae5b3e549a76a2fe71066cbbdd69da7efaf86c57b939d6355dc8c5767ae1fb7299b26ae5cd26d0cb06db SHA512 bc3bf6ece02137395143846519edb06c1e7b6df5ab37451c26941cdef1fc2d7d5482c9337cbead0709f294d46461cd93c7916b9ed1ed411fc0c084f9c21a12f7
-DIST firefox-96.0.2-pa-IN.xpi 594728 BLAKE2B f3996e18bb63c514a34038d18676aeb918c2f65f25318251e5a0c5b5bfd0b2e3af4302b12218f0e249b2d66cdd813609630701d9966ef8c1d08405ff576a6d71 SHA512 1f1685e073eea11196167fb473a83446282133ff587134f22460a43b1a70f7c3fbe99d160d1ed004988b554c6f1f30a642b7d66fb9f9b3487fb2ed63d3d8f646
-DIST firefox-96.0.2-pl.xpi 557903 BLAKE2B 00cc8e4094f9c1d8da5be7dca668cdfd5a6a915bd4d5f805bf2dcbd840dd6fe79e8b5fae84a5959e5615ec2e2b976956e1096ba3443174f23408b69f10022965 SHA512 e6c0dc1c42403059dab589bbc63ddaf07040f836673d0fec6e3f012d0b65470adad5456b57287ff479b5e7d374612c29c415e6ee3354e7333e70c686e395d36c
-DIST firefox-96.0.2-pt-BR.xpi 544405 BLAKE2B b10700b73eb2433c676ba9cc2036c8505d1ed8d2ddfc4fadfe980734e0319a23234a3e2f2fd1a0379c123b4132a743df6f01163cf4aa76249457859db775edb4 SHA512 feefb8dd5f4ced3ae990b93067762b5c8cfdd86c4b86766f05a192411d5150020b3c49b00fe0f5b832787f17d27be0c488a7ce140c7fc530843493bf4da03e11
-DIST firefox-96.0.2-pt-PT.xpi 546129 BLAKE2B ab27b158ffec766058fc1ff873950e72b1e0e2648972d5a8303cbda16b7fc68226ad7ae4fdfad0c775517201925d24441c2b19fa65dea9f04e9029c9422b33fd SHA512 4e95af50e12ae6dfa78a5c7f4f6170351f0dd8a9afbcd4ec4dada60cbcd90caa79289170c2d8b8db088f655c072d3120a7f66e81ebfac6eb3fc9189fc3a729cd
-DIST firefox-96.0.2-rm.xpi 537790 BLAKE2B 928a7f53529ece8211ba409f14a4bc329f622149caac726018d5b73473ec5cfcd1010f83a052471b9ccee1cd8ebe594fdac76947891f1bf28dd7f5c9ba6e22e7 SHA512 ab77044022ef3ff98e06f7fc10bc644f6ec44048ca1585b273ec970b4e5194c76cad52b2c18dfc6a92b981bf9d0134f769f39ed730a40b7aabefc19aafee52c0
-DIST firefox-96.0.2-ro.xpi 530795 BLAKE2B ebffabbc01207f37302b5d4854032b71b0f9368534742d0d9bdc58cd22a5880af958ca756c3888445c132cd90e992e7b695dec9d45b45aa6f8e4e174c41d2bb5 SHA512 e9edc03e758a757fed4ddd947eec287b419f9d43f995bedd788b94432411c0ee494a3e6be863bc5180d20d32c8a221e50be12b0dfed1db61922005fae629e743
-DIST firefox-96.0.2-ru.xpi 628644 BLAKE2B 5fb97ef1d0e11e3a43014321e6ef82f94a1283581b9b50381489e3b00bd4ea0ed4c4ee5e710dc40534d418fdbf0a895a67ad8dbfc92137b13eaea13360b84fec SHA512 566c42609ced96c4c6045037dce28c015b28f7f747fbf154c6ca18c7fa3a686d4b62310102776e94684cea585220cc5ea0b92bf334c187383fb9b652d2a71d45
-DIST firefox-96.0.2-sco.xpi 504492 BLAKE2B e5f9ff37aff98d73f2eab6111f83abbf6737a24c05bddd854ca191404759ce827081cda8874ed69685f523a97b3e868b3b9b417a48fe3bb5580335d2efd52d3c SHA512 ba89168a14706fc7ddc64027351ee05b6ae1de46e70806f3261851203bd572a79e7b7499cf89f1db8b276d1f41ccb5c6f9acddc558cae9989790570e26e201ec
-DIST firefox-96.0.2-si.xpi 485778 BLAKE2B e1601aa67f9dd683641d9f7d1065d84699ca591679afca0e922caeb7c06d6243fa7df9169081072fa2712cdb9b0b5a98903b0e27e46f32dfd2c2af7f46f971bb SHA512 bb57418958e54fc9bb055775952979525b3685d679c3702dd8f2502c22d9d5ea2f021061788ef8d6ecf33ad7913d3b1014219d3e3a0af166180b552059f58e3a
-DIST firefox-96.0.2-sk.xpi 568171 BLAKE2B a79834d56c9dda0017db7e822bbbae988cff8b13c1d983c9f4df1ac9094fdfe6b6ca6bc3e7ec8ffdaf97d534df0866cac375781d4e136d0971c220542c3418c1 SHA512 93a8ba3b1e31cd26d93fd854f7cf06e30e3101ee614ef0146e9d8542ee92deacde9d2692eb7a45b3339583738de026ac86c4355cbffbdab73c13ff08feff881d
-DIST firefox-96.0.2-sl.xpi 538556 BLAKE2B eb43a5465d4725e0f752aa730ae2ef7d98836e7fdf486011a210992c07b649c99953adf153390baca262df95f9a41d27491ee8266f84fd506c7c72b50cd4d674 SHA512 b1dbf365cac60427f8619c239f3f854adcc7fa9107816abfd8b6a0700378653f66635ea94ef45d051d303b1935ca594d9f7fcc483fbb9efff202082024e6a37d
-DIST firefox-96.0.2-son.xpi 421885 BLAKE2B 12171bf44f5c74ce76aac0e095efea0a854d6a2b5d6d804c0c4ff498ddf54c498dd16cdcb1ef4a025dedcf2e4125962934a73d3ed197a64d2911db0197eb2172 SHA512 80c025cee782dba6c232e1a762cad5bf62a89afb9ccce12fa6b36d211e94597dc70745d680f33c4502185c282e2b4016abd22ec1e3e401818e6d6ea375b1becd
-DIST firefox-96.0.2-sq.xpi 556378 BLAKE2B c2716317c5761769b72df28d00d54a4d74032aab41cab98bd3b6d44ae57e46b7a68092ec9fff86a5f02cf952a23c1e89e30b8a6cfa8159230bdac7bea8d3a630 SHA512 ff9ad22ce9968a5b5c8102f699151b908cdae3e7d0bb419fecb8327df66a2dbe704e948f4783a41838c8270c7ae090317b6c5af77bee6824ba8e9b7a2990bf92
-DIST firefox-96.0.2-sr.xpi 586997 BLAKE2B 5ef6490664fac960eed22a83bedfcdaee0f7df7f7ad2c27c81554e8ce089cedd64af51949adc72d07c2872d572ad6af63cb168c5336634636db001cce8f8e47f SHA512 6f20f4d48f9d89a7949614c8e36d84dd00d68acd91ce544f1ec98f09fb8f4c018192014fd7e3ac7700671553d25431906e8681c6a7d993039d8d60bd298d89dd
-DIST firefox-96.0.2-sv-SE.xpi 541676 BLAKE2B 56a9c035605189801165cf9fe4d7ca8ff52a56cb33ffc6fe915a25b6bd0975aa8093aad823c7d85eb89f9647cf0026a7654742c8e46c7646cf1d2dda0c4e8ae1 SHA512 1ebe3d07ca77c8c6e5f9d2bfab4aa248eb8654d1681047a7028fd864e2f0ad61f991b8a66f1eb34a47383c0b58d23844688d5afdf7654488db4bbaad49500352
-DIST firefox-96.0.2-szl.xpi 508925 BLAKE2B 2386f44c974468b196c01d576742a2cd0a4bd18c8a70896a06cc8e749eec489652ae2eeb7f2e0e853d3c61d0f00809b886a42666005ff10631a17090da8614ab SHA512 2ed4bbbacaf52216c10c99788d7b8ff7a4b5b66b1da8b92d8052e2e856be3afa82d6d739926f2d77673588a1e19e575bc0aa437953d94c67fce5b4f167215800
-DIST firefox-96.0.2-ta.xpi 511884 BLAKE2B 65f4e71ba0104e090f888d99624bb55e6166ebc011ebfe85670900d9ab29a45fc332fde28184ec5bdb1883f322c04d0b185f1bc68f00875d26494011d32224a0 SHA512 592e81b178e620d6a843eca50b7e0c857971760600654cd7a31ca5e4fe5aeb912aac8f7595461927b858207f0cbfb15830cd8857c805098538e5dba89941fa83
-DIST firefox-96.0.2-te.xpi 550290 BLAKE2B f60a67fea3365d24c059b241d939461ddfdde92cf6d31d3670d72cd2027bdd1684bb45b64c834b06337e0b21cdabf7146634f235abb740b2e9e27d7cb32aa9c3 SHA512 52b2cb867552f9e7825458efaa1bd9068860d834df1392d72dd99d6e5d4f2b62418eec90ab62989442f4f7ee36af5886ec540b8f590c7ed31ee8bcb7670ad374
-DIST firefox-96.0.2-th.xpi 606839 BLAKE2B 2f1e815ce3ac47dc269a366e564650709e6b4974066239495a5ffc7cd21cc201179da9e84c50331e817c5ccc4b5fd02af09e75b81eeae72c2e29f95491c31f04 SHA512 8b3087328e67500ff809376e1a8a29d647a7667fe02cf10caef686e59e905546e3fc50984d3e04af1cbb707876ada51e7566c18904b6a1c9fde9316745648d01
-DIST firefox-96.0.2-tl.xpi 520544 BLAKE2B a65eb158773d64604f43194ae1df963c63fd371c2ff7c249b54d717181a12763d541bf1cfa5b0c4a65af29c2387a9d39a98d642f6d95cc76b5c78c6bdceaeeb7 SHA512 a252a973d1b037923a9d17b9b0ba6f4c3b7f5e36a00c19b7b0a1033f2e86090efab51e063c231abe9a1624bce562985b5e26befdfffb5145a778d622f6c1b8e6
-DIST firefox-96.0.2-tr.xpi 554375 BLAKE2B c9244d7a6babe45972d7e52d8c4216be72725a68d929dfdf3f7abe2c1017fdc0e52306789fc660d3196dc0bba955ac35f7fb37688202e0f79a4cacce9b883d93 SHA512 5b81702f19951337ce360c34647d00b0af14a074372d5e6b5ec11235aaf122f4cbcf9911c77a42445060a32e570a002ca07924dec0d65be2fc49c593b3fa34e6
-DIST firefox-96.0.2-trs.xpi 491105 BLAKE2B 0dc7d37d6a8f813eb9bd21e21a4826c1860787f87e5fc1b14063dab028630eb0761fd2b697806e8cd17d018f8bedaac3d61b13e660ee809ea0550a3c8fe055fa SHA512 717fafdaab0f337b26fc21d39052db4c59dde8d9b857d8cef3e92f48a7d6beaf6599efad6dd0629656b7e1331db00dcc59730876569d7468edc548f923b15d36
-DIST firefox-96.0.2-uk.xpi 622246 BLAKE2B 77110817025998b94a1fffbab933c7eb2aaf3a4ac94cbd76daf60f7a1675d89ae1553399cc7590cfde620c68e364e7313c9dec2f86446db35df9e89a8446ea5f SHA512 1e2439c3fd17950e131edb58d06c5772ce6eee32462c15fa327642cbb3c2c554992226d401595ef5274a4fc3e0d4a2805e1baa6a3cd3cf124775436a179ca0ef
-DIST firefox-96.0.2-ur.xpi 557344 BLAKE2B f24b261eedc4e1d9ba78cd5bba3943bad78263de157caa0fefd7e8b1801e6780419fad14b2201444bc03fbffbf39c5d932dbfa3357598b4667af4837ff00097e SHA512 16db030fdb4938703dbe4ac79b2994a811f74ea1107a087c79b4c17fdcc7c9e3a58e10ce06cdb184b222d26669d8da11bfc6f2997ce74215aab2a1f2aed2dead
-DIST firefox-96.0.2-uz.xpi 465824 BLAKE2B ffb31ac155a70f75f4a6a70f5b54f8462d47ddbae2441ac54d79d8210d8c10981fada4e92ee6b1c92743cf73b733ce097cf7e37121ebdbae7971bb38b7d87fbe SHA512 824d691cd5de67621fe1105221e7de2909976b401de3198f76d4c1dea861ecd49b73d4347b11b53fa93d651b022923a689635ec04eca270eda93cbf1d31aad80
-DIST firefox-96.0.2-vi.xpi 573968 BLAKE2B acd61c7f2457f5eae74649b701510d2555238e0488938defab8a686ac0e9c5ff341f81f9aae9e97e692c15284d97c70f39824c4707eba632249383eaef77f3a2 SHA512 eacc2d447f51376aaa1d7a88d8d1595487f3609b1c2b79aa8f256baa95f05b2bf8906e55f19822f96eda1c7f247b6ba7ffe834624754680b1ecdd7b5cd72588c
-DIST firefox-96.0.2-xh.xpi 424472 BLAKE2B 9a22f930141460d6d8cec62bb6081cb73dc644a93c100dd0590bf54e3ee47311cf3355688d8446cc0b0f2c123a24e42b552e8252738f9e73615e799144441a92 SHA512 a091d98bfc76640b4ae2a4764033df310f48e81ad9232318f7bbcd2907858765cea3523243e89eaa8441057bea5d2326560b793a62fe07d73f80a8ce95c109a2
-DIST firefox-96.0.2-zh-CN.xpi 576729 BLAKE2B b920aca63e1403839d31223f375738f3c97b285131791b9e80c412628579595c87c1bead8b6ad7f11846cbf956d0173026a40182eb275d00dcfbb6afaa7d4b8d SHA512 8850521b1a6137713329eff99101d587a93f0bcf2e2b301af278817f07a8c93eb2806479a4b6829cdd0b3389fc89ccd4fec37016321611c90b178d20d91f967d
-DIST firefox-96.0.2-zh-TW.xpi 577817 BLAKE2B b29e8cc93a9753d933a1868c072161cc9d7e26389e868b2f9a3bbf15b171b0fa22d46f6accd06d6898261c7bd0e244c0241785c4541b2d7f991ffe89dab38806 SHA512 330d6395328bb1135843fe9d8f164f169b3220257c9835bad8c1ccd7b64a807437289155445832d0d6117a48db80590a95be26cef5ecc828e8417241454ca042
-DIST firefox-96.0.2.source.tar.xz 414004200 BLAKE2B 652af84f39e68d12aa53718606abbedd4e24f1ed6f8e376c748a43166acea7fe3c0362114c4492204d36997e20244ff5607cbe79aa21361fb3827642575eede9 SHA512 5ceb1f023a9217c6a9c08b6525882d4091f989859cf209cc1d0ea22c846d05a967e1c47102ae052f7a5029d18118a558dd96da00437ee2c6fbf2896caf99d9dd
-DIST firefox-96.0.source.tar.xz 410165944 BLAKE2B 2105caab3f89cf2400fe58e90c280d45d99012aac244e8d3d1c48f69f4976fbd9bdd4467675a4e5f818f3ae2c28662321762495f9de485180e4aa63b6d89cdd6 SHA512 39f553474537eb4e521f4182e38f0ddff039fa6b40b939d461937d2cef27f7182097b478f08f90d64fdcbe9c063e78f14f6863a8a82a16207ec7a1d3fdfda4ff
diff --git a/www-client/firefox/files/disable-auto-update.policy.json b/www-client/firefox/files/disable-auto-update.policy.json
deleted file mode 100644
index f3662202..00000000
--- a/www-client/firefox/files/disable-auto-update.policy.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "policies": {
- "DisableAppUpdate": true
- }
-}
diff --git a/www-client/firefox/files/distribution.ini b/www-client/firefox/files/distribution.ini
deleted file mode 100644
index 680512e3..00000000
--- a/www-client/firefox/files/distribution.ini
+++ /dev/null
@@ -1,42 +0,0 @@
-[Global]
-id=gentoo
-version=1.0
-about=Mozilla Firefox for Gentoo
-about.de=Mozilla Firefox für Gentoo
-
-[Preferences]
-app.distributor="gentoo"
-app.distributor.channel="gentoo"
-startup.homepage_welcome_url="https://www.gentoo.org/"
-
-[BookmarksToolbar]
-item.1.type=default
-item.2.title=Gentoo's Bugzilla
-item.2.link=https://bugs.gentoo.org/
-item.3.title=Gentoo Forums
-item.3.link=https://forums.gentoo.org/
-item.4.title=Gentoo Packages
-item.4.link=https://packages.gentoo.org/
-item.5.title=Planet Gentoo
-item.5.link=https://planet.gentoo.org/
-item.6.title=Gentoo Wiki
-item.6.link=https://wiki.gentoo.org/
-
-[BookmarksMenu]
-item.1.title=Gentoo
-item.1.type=folder
-item.1.folderId=1
-
-[BookmarksFolder-1]
-item.1.title=Gentoo Linux
-item.1.link=https://www.gentoo.org/
-item.2.title=Gentoo's Bugzilla
-item.2.link=https://bugs.gentoo.org/
-item.3.title=Gentoo Forums
-item.3.link=https://forums.gentoo.org/
-item.4.title=Gentoo Packages
-item.4.link=https://packages.gentoo.org/
-item.5.title=Planet Gentoo
-item.5.link=https://planet.gentoo.org/
-item.6.title=Gentoo Wiki
-item.6.link=https://wiki.gentoo.org/
diff --git a/www-client/firefox/files/firefox-95-fix-fatal-pip-invocation.patch b/www-client/firefox/files/firefox-95-fix-fatal-pip-invocation.patch
deleted file mode 100644
index d39a6e1f..00000000
--- a/www-client/firefox/files/firefox-95-fix-fatal-pip-invocation.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/build/mach_initialize.py b/build/mach_initialize.py
-index 32f3011..5e6e2b4 100644
---- a/build/mach_initialize.py
-+++ b/build/mach_initialize.py
-@@ -207,7 +207,7 @@ def _activate_python_environment(topsrcdir):
- else "MACH_USE_SYSTEM_PYTHON"
- )
-
-- has_pip = (
-+ has_pip = False and (
- subprocess.run(
- [sys.executable, "-c", "import pip"], stderr=subprocess.DEVNULL
- ).returncode
diff --git a/www-client/firefox/files/firefox-r1.sh b/www-client/firefox/files/firefox-r1.sh
deleted file mode 100644
index 853a4efa..00000000
--- a/www-client/firefox/files/firefox-r1.sh
+++ /dev/null
@@ -1,116 +0,0 @@
-#!/bin/bash
-
-##
-## Usage:
-##
-## $ firefox
-##
-## This script is meant to run Mozilla Firefox in Gentoo.
-
-cmdname=$(basename "$0")
-
-##
-## Variables
-##
-MOZ_ARCH=$(uname -m)
-case ${MOZ_ARCH} in
- x86_64|s390x|sparc64)
- MOZ_LIB_DIR="@PREFIX@/lib64"
- SECONDARY_LIB_DIR="@PREFIX@/lib"
- ;;
- *)
- MOZ_LIB_DIR="@PREFIX@/lib"
- SECONDARY_LIB_DIR="@PREFIX@/lib64"
- ;;
-esac
-
-MOZ_FIREFOX_FILE="firefox"
-
-if [[ ! -r ${MOZ_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} ]]; then
- if [[ ! -r ${SECONDARY_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} ]]; then
- echo "Error: ${MOZ_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} not found" >&2
- if [[ -d ${SECONDARY_LIB_DIR} ]]; then
- echo " ${SECONDARY_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} not found" >&2
- fi
- exit 1
- fi
- MOZ_LIB_DIR="${SECONDARY_LIB_DIR}"
-fi
-MOZILLA_FIVE_HOME="${MOZ_LIB_DIR}/firefox"
-MOZ_EXTENSIONS_PROFILE_DIR="${HOME}/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
-MOZ_PROGRAM="${MOZILLA_FIVE_HOME}/${MOZ_FIREFOX_FILE}"
-
-##
-## Enable Wayland backend?
-##
-if @DEFAULT_WAYLAND@ && [[ -z ${MOZ_DISABLE_WAYLAND} ]]; then
- if [[ -n "${WAYLAND_DISPLAY}" ]]; then
- export MOZ_ENABLE_WAYLAND=1
- fi
-fi
-
-##
-## Use D-Bus remote exclusively when there's Wayland display.
-##
-if [[ -n "${WAYLAND_DISPLAY}" ]]; then
- export MOZ_DBUS_REMOTE=1
-fi
-
-##
-## Make sure that we set the plugin path
-##
-MOZ_PLUGIN_DIR="plugins"
-
-if [[ -n "${MOZ_PLUGIN_PATH}" ]]; then
- MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}
-else
- MOZ_PLUGIN_PATH=${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}
-fi
-
-if [[ -d "${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}" ]]; then
- MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}
-fi
-
-export MOZ_PLUGIN_PATH
-
-##
-## Set MOZ_APP_LAUNCHER for gnome-session
-##
-export MOZ_APP_LAUNCHER="@PREFIX@/bin/${cmdname}"
-
-##
-## Disable the GNOME crash dialog, Mozilla has its own
-##
-if [[ "${XDG_CURRENT_DESKTOP}" == "GNOME" ]]; then
- GNOME_DISABLE_CRASH_DIALOG=1
- export GNOME_DISABLE_CRASH_DIALOG
-fi
-
-##
-## Enable Xinput2 (#617344)
-##
-
-# respect user settings
-MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2:-auto}
-
-if [[ ${MOZ_USE_XINPUT2} == auto && -n ${WAYLAND_DISPLAY} ]]; then
- # enabling XINPUT2 should be safe for all wayland users
- MOZ_USE_XINPUT2=1
-elif [[ ${MOZ_USE_XINPUT2} == auto && ${XDG_CURRENT_DESKTOP^^} == KDE ]]; then
- # XINPUT2 is known to cause problems for KWin users
- MOZ_USE_XINPUT2=0
-elif [[ ${MOZ_USE_XINPUT2} == auto && ${XDG_CURRENT_DESKTOP^^} == LXQT ]]; then
- # LXQt uses KWin
- MOZ_USE_XINPUT2=0
-elif [[ ${MOZ_USE_XINPUT2} == auto ]]; then
- # should work on Mate, Xfce, FluxBox, OpenBox and all the others ...
- MOZ_USE_XINPUT2=1
-fi
-
-[[ ${MOZ_USE_XINPUT2} != 0 ]] && export MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2}
-
-# Don't throw "old profile" dialog box.
-export MOZ_ALLOW_DOWNGRADE=1
-
-# Run the browser
-exec ${MOZ_PROGRAM} "${@}"
diff --git a/www-client/firefox/files/firefox-wayland.sh b/www-client/firefox/files/firefox-wayland.sh
deleted file mode 100644
index 44280250..00000000
--- a/www-client/firefox/files/firefox-wayland.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-#
-# Run Mozilla Firefox under Wayland
-#
-export MOZ_ENABLE_WAYLAND=1
-exec @PREFIX@/bin/firefox "$@"
diff --git a/www-client/firefox/files/firefox-x11.sh b/www-client/firefox/files/firefox-x11.sh
deleted file mode 100644
index 75655669..00000000
--- a/www-client/firefox/files/firefox-x11.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-#
-# Run Mozilla Firefox on X11
-#
-export MOZ_DISABLE_WAYLAND=1
-exec @PREFIX@/bin/firefox "$@"
diff --git a/www-client/firefox/files/firefox.sh b/www-client/firefox/files/firefox.sh
deleted file mode 100644
index c08d5551..00000000
--- a/www-client/firefox/files/firefox.sh
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/bin/bash
-
-##
-## Usage:
-##
-## $ firefox
-##
-## This script is meant to run Mozilla Firefox in Gentoo.
-
-cmdname=$(basename "$0")
-
-##
-## Variables
-##
-MOZ_ARCH=$(uname -m)
-case ${MOZ_ARCH} in
- x86_64|s390x|sparc64)
- MOZ_LIB_DIR="@PREFIX@/lib64"
- SECONDARY_LIB_DIR="@PREFIX@/lib"
- ;;
- *)
- MOZ_LIB_DIR="@PREFIX@/lib"
- SECONDARY_LIB_DIR="@PREFIX@/lib64"
- ;;
-esac
-
-MOZ_FIREFOX_FILE="firefox"
-
-if [[ ! -r ${MOZ_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} ]]; then
- if [[ ! -r ${SECONDARY_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} ]]; then
- echo "Error: ${MOZ_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} not found" >&2
- if [[ -d $SECONDARY_LIB_DIR ]]; then
- echo " ${SECONDARY_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} not found" >&2
- fi
- exit 1
- fi
- MOZ_LIB_DIR="$SECONDARY_LIB_DIR"
-fi
-MOZILLA_FIVE_HOME="${MOZ_LIB_DIR}/firefox"
-MOZ_EXTENSIONS_PROFILE_DIR="${HOME}/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
-MOZ_PROGRAM="${MOZILLA_FIVE_HOME}/${MOZ_FIREFOX_FILE}"
-DESKTOP_FILE="firefox"
-
-##
-## Enable Wayland backend?
-##
-if @DEFAULT_WAYLAND@ && [[ -z ${MOZ_DISABLE_WAYLAND} ]]; then
- if [[ -n "$WAYLAND_DISPLAY" ]]; then
- DESKTOP_FILE="firefox-wayland"
- export MOZ_ENABLE_WAYLAND=1
- fi
-elif [[ -n ${MOZ_DISABLE_WAYLAND} ]]; then
- DESKTOP_FILE="firefox-x11"
-fi
-
-##
-## Use D-Bus remote exclusively when there's Wayland display.
-##
-if [[ -n "${WAYLAND_DISPLAY}" ]]; then
- export MOZ_DBUS_REMOTE=1
-fi
-
-##
-## Make sure that we set the plugin path
-##
-MOZ_PLUGIN_DIR="plugins"
-
-if [[ -n "${MOZ_PLUGIN_PATH}" ]]; then
- MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}
-else
- MOZ_PLUGIN_PATH=${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}
-fi
-
-if [[ -d "${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}" ]]; then
- MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}
-fi
-
-export MOZ_PLUGIN_PATH
-
-##
-## Set MOZ_APP_LAUNCHER for gnome-session
-##
-export MOZ_APP_LAUNCHER="@PREFIX@/bin/${cmdname}"
-
-##
-## Disable the GNOME crash dialog, Moz has it's own
-##
-if [[ "$XDG_CURRENT_DESKTOP" == "GNOME" ]]; then
- GNOME_DISABLE_CRASH_DIALOG=1
- export GNOME_DISABLE_CRASH_DIALOG
-fi
-
-##
-## Enable Xinput2 (#617344)
-##
-
-# respect user settings
-MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2:-auto}
-
-if [[ ${MOZ_USE_XINPUT2} == auto && -n ${WAYLAND_DISPLAY} ]]; then
- # enabling XINPUT2 should be safe for all wayland users
- MOZ_USE_XINPUT2=1
-elif [[ ${MOZ_USE_XINPUT2} == auto && ${XDG_CURRENT_DESKTOP^^} == KDE ]]; then
- # XINPUT2 is known to cause problems for KWin users
- MOZ_USE_XINPUT2=0
-elif [[ ${MOZ_USE_XINPUT2} == auto && ${XDG_CURRENT_DESKTOP^^} == LXQT ]]; then
- # LXQt uses KWin
- MOZ_USE_XINPUT2=0
-elif [[ ${MOZ_USE_XINPUT2} == auto ]]; then
- # should work on Mate, Xfce, FluxBox, OpenBox and all the others ...
- MOZ_USE_XINPUT2=1
-fi
-
-[[ ${MOZ_USE_XINPUT2} != 0 ]] && export MOZ_USE_XINPUT2=${MOZ_USE_XINPUT2}
-
-# Don't throw "old profile" dialog box.
-export MOZ_ALLOW_DOWNGRADE=1
-
-##
-## Route to the correct .desktop file to get proper
-## name and actions
-##
-if [[ $@ != *"--name "* ]]; then
- set -- --name "${DESKTOP_FILE}" "$@"
-fi
-
-# Run the browser
-exec ${MOZ_PROGRAM} "$@"
diff --git a/www-client/firefox/files/gentoo-default-prefs.js b/www-client/firefox/files/gentoo-default-prefs.js
deleted file mode 100644
index 0407f5d3..00000000
--- a/www-client/firefox/files/gentoo-default-prefs.js
+++ /dev/null
@@ -1,12 +0,0 @@
-pref("general.smoothScroll", true);
-pref("general.autoScroll", false);
-pref("browser.urlbar.hideGoButton", true);
-pref("accessibility.typeaheadfind", true);
-pref("browser.shell.checkDefaultBrowser", false);
-pref("browser.EULA.override", true);
-pref("general.useragent.locale", "chrome://global/locale/intl.properties");
-pref("intl.locale.requested", "");
-/* Disable DoH by default */
-pref("network.trr.mode", 5);
-/* Disable use of Mozilla Normandy service by default */
-pref("app.normandy.enabled", false);
diff --git a/www-client/firefox/files/gentoo-hwaccel-prefs.js b/www-client/firefox/files/gentoo-hwaccel-prefs.js
deleted file mode 100644
index a00144a7..00000000
--- a/www-client/firefox/files/gentoo-hwaccel-prefs.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* Force hardware accelerated rendering due to USE=hwaccel */
-pref("layers.acceleration.force-enabled", true);
-pref("webgl.force-enabled", true);
diff --git a/www-client/firefox/files/icon/firefox-r2.desktop b/www-client/firefox/files/icon/firefox-r2.desktop
deleted file mode 100644
index 45d5f11f..00000000
--- a/www-client/firefox/files/icon/firefox-r2.desktop
+++ /dev/null
@@ -1,236 +0,0 @@
-[Desktop Entry]
-Version=1.0
-Name=@NAME@
-GenericName=Web Browser
-Comment=Browse the Web
-Exec=@EXEC@ %u
-Icon=@ICON@
-Terminal=false
-Type=Application
-MimeType=application/pdf;application/vnd.mozilla.xul+xml;application/xhtml+xml;text/html;text/mml;text/xml;x-scheme-handler/ftp;x-scheme-handler/http;x-scheme-handler/https;
-StartupNotify=true
-Categories=Network;WebBrowser;
-Keywords=web;browser;internet;
-Actions=new-window;new-private-window;profile-manager-window;
-
-[Desktop Action new-window]
-Name=Open a New Window
-Name[ach]=Dirica manyen
-Name[af]=Nuwe venster
-Name[an]=Nueva finestra
-Name[ar]=نافذة جديدة
-Name[as]=নতুন উইন্ডো
-Name[ast]=Ventana nueva
-Name[az]=Yeni Pəncərə
-Name[be]=Новае акно
-Name[bg]=Нов прозорец
-Name[bn_BD]=নতুন উইন্ডো (N)
-Name[bn_IN]=নতুন উইন্ডো
-Name[br]=Prenestr nevez
-Name[brx]=गोदान उइन्ड'(N)
-Name[bs]=Novi prozor
-Name[ca]=Finestra nova
-Name[cak]=K'ak'a' tzuwäch
-Name[cs]=Nové okno
-Name[cy]=Ffenestr Newydd
-Name[da]=Nyt vindue
-Name[de]=Neues Fenster
-Name[dsb]=Nowe wokno
-Name[el]=Νέο παράθυρο
-Name[en_GB]=New Window
-Name[en_US]=New Window
-Name[en_ZA]=New Window
-Name[eo]=Nova fenestro
-Name[es_AR]=Nueva ventana
-Name[es_CL]=Nueva ventana
-Name[es_ES]=Nueva ventana
-Name[es_MX]=Nueva ventana
-Name[et]=Uus aken
-Name[eu]=Leiho berria
-Name[fa]=پنجره جدید‌
-Name[ff]=Henorde Hesere
-Name[fi]=Uusi ikkuna
-Name[fr]=Nouvelle fenêtre
-Name[fy_NL]=Nij finster
-Name[ga_IE]=Fuinneog Nua
-Name[gd]=Uinneag ùr
-Name[gl]=Nova xanela
-Name[gn]=Ovetã pyahu
-Name[gu_IN]=નવી વિન્ડો
-Name[he]=חלון חדש
-Name[hi_IN]=नया विंडो
-Name[hr]=Novi prozor
-Name[hsb]=Nowe wokno
-Name[hu]=Új ablak
-Name[hy_AM]=Նոր Պատուհան
-Name[id]=Jendela Baru
-Name[is]=Nýr gluggi
-Name[it]=Nuova finestra
-Name[ja]=新しいウィンドウ
-Name[ja_JP-mac]=新規ウインドウ
-Name[ka]=ახალი ფანჯარა
-Name[kk]=Жаңа терезе
-Name[km]=បង្អួច​​​ថ្មី
-Name[kn]=ಹೊಸ ಕಿಟಕಿ
-Name[ko]=새 창
-Name[kok]=नवें जनेल
-Name[ks]=نئئ وِنڈو
-Name[lij]=Neuvo barcon
-Name[lo]=ຫນ້າຕ່າງໃຫມ່
-Name[lt]=Naujas langas
-Name[ltg]=Jauns lūgs
-Name[lv]=Jauns logs
-Name[mai]=नव विंडो
-Name[mk]=Нов прозорец
-Name[ml]=പുതിയ ജാലകം
-Name[mr]=नवीन पटल
-Name[ms]=Tetingkap Baru
-Name[my]=ဝင်းဒိုးအသစ်
-Name[nb_NO]=Nytt vindu
-Name[ne_NP]=नयाँ सञ्झ्याल
-Name[nl]=Nieuw venster
-Name[nn_NO]=Nytt vindauge
-Name[or]=ନୂତନ ୱିଣ୍ଡୋ
-Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ
-Name[pl]=Nowe okno
-Name[pt_BR]=Nova janela
-Name[pt_PT]=Nova janela
-Name[rm]=Nova fanestra
-Name[ro]=Fereastră nouă
-Name[ru]=Новое окно
-Name[sat]=नावा विंडो (N)
-Name[si]=නව කවුළුවක්
-Name[sk]=Nové okno
-Name[sl]=Novo okno
-Name[son]=Zanfun taaga
-Name[sq]=Dritare e Re
-Name[sr]=Нови прозор
-Name[sv_SE]=Nytt fönster
-Name[ta]=புதிய சாளரம்
-Name[te]=కొత్త విండో
-Name[th]=หน้าต่างใหม่
-Name[tr]=Yeni pencere
-Name[tsz]=Eraatarakua jimpani
-Name[uk]=Нове вікно
-Name[ur]=نیا دریچہ
-Name[uz]=Yangi oyna
-Name[vi]=Cửa sổ mới
-Name[wo]=Palanteer bu bees
-Name[xh]=Ifestile entsha
-Name[zh_CN]=新建窗口
-Name[zh_TW]=開新視窗
-Exec=@EXEC@ --new-window %u
-
-[Desktop Action new-private-window]
-Name=Open a New Private Window
-Name[ach]=Dirica manyen me mung
-Name[af]=Nuwe privaatvenster
-Name[an]=Nueva finestra privada
-Name[ar]=نافذة خاصة جديدة
-Name[as]=নতুন ব্যক্তিগত উইন্ডো
-Name[ast]=Ventana privada nueva
-Name[az]=Yeni Məxfi Pəncərə
-Name[be]=Новае акно адасаблення
-Name[bg]=Нов прозорец за поверително сърфиране
-Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো
-Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো
-Name[br]=Prenestr merdeiñ prevez nevez
-Name[brx]=गोदान प्राइभेट उइन्ड'
-Name[bs]=Novi privatni prozor
-Name[ca]=Finestra privada nova
-Name[cak]=K'ak'a' ichinan tzuwäch
-Name[cs]=Nové anonymní okno
-Name[cy]=Ffenestr Breifat Newydd
-Name[da]=Nyt privat vindue
-Name[de]=Neues privates Fenster
-Name[dsb]=Nowe priwatne wokno
-Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
-Name[en_GB]=New Private Window
-Name[en_US]=New Private Window
-Name[en_ZA]=New Private Window
-Name[eo]=Nova privata fenestro
-Name[es_AR]=Nueva ventana privada
-Name[es_CL]=Nueva ventana privada
-Name[es_ES]=Nueva ventana privada
-Name[es_MX]=Nueva ventana privada
-Name[et]=Uus privaatne aken
-Name[eu]=Leiho pribatu berria
-Name[fa]=پنجره ناشناس جدید
-Name[ff]=Henorde Suturo Hesere
-Name[fi]=Uusi yksityinen ikkuna
-Name[fr]=Nouvelle fenêtre de navigation privée
-Name[fy_NL]=Nij priveefinster
-Name[ga_IE]=Fuinneog Nua Phríobháideach
-Name[gd]=Uinneag phrìobhaideach ùr
-Name[gl]=Nova xanela privada
-Name[gn]=Ovetã ñemi pyahu
-Name[gu_IN]=નવી ખાનગી વિન્ડો
-Name[he]=חלון פרטי חדש
-Name[hi_IN]=नयी निजी विंडो
-Name[hr]=Novi privatni prozor
-Name[hsb]=Nowe priwatne wokno
-Name[hu]=Új privát ablak
-Name[hy_AM]=Սկսել Գաղտնի դիտարկում
-Name[id]=Jendela Mode Pribadi Baru
-Name[is]=Nýr huliðsgluggi
-Name[it]=Nuova finestra anonima
-Name[ja]=新しいプライベートウィンドウ
-Name[ja_JP-mac]=新規プライベートウインドウ
-Name[ka]=ახალი პირადი ფანჯარა
-Name[kk]=Жаңа жекелік терезе
-Name[km]=បង្អួច​ឯកជន​ថ្មី
-Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ
-Name[ko]=새 사생활 보호 모드
-Name[kok]=नवो खाजगी विंडो
-Name[ks]=نْو پرایوٹ وینڈو&amp;
-Name[lij]=Neuvo barcon privou
-Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່
-Name[lt]=Naujas privataus naršymo langas
-Name[ltg]=Jauns privatais lūgs
-Name[lv]=Jauns privātais logs
-Name[mai]=नया निज विंडो (W)
-Name[mk]=Нов приватен прозорец
-Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
-Name[mr]=नवीन वैयक्तिक पटल
-Name[ms]=Tetingkap Persendirian Baharu
-Name[my]=New Private Window
-Name[nb_NO]=Nytt privat vindu
-Name[ne_NP]=नयाँ निजी सञ्झ्याल
-Name[nl]=Nieuw privévenster
-Name[nn_NO]=Nytt privat vindauge
-Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ
-Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ
-Name[pl]=Nowe okno prywatne
-Name[pt_BR]=Nova janela privativa
-Name[pt_PT]=Nova janela privada
-Name[rm]=Nova fanestra privata
-Name[ro]=Fereastră privată nouă
-Name[ru]=Новое приватное окно
-Name[sat]=नावा निजेराक् विंडो (W )
-Name[si]=නව පුද්ගලික කවුළුව (W)
-Name[sk]=Nové okno v režime Súkromné prehliadanie
-Name[sl]=Novo zasebno okno
-Name[son]=Sutura zanfun taaga
-Name[sq]=Dritare e Re Private
-Name[sr]=Нови приватан прозор
-Name[sv_SE]=Nytt privat fönster
-Name[ta]=புதிய தனிப்பட்ட சாளரம்
-Name[te]=కొత్త ఆంతరంగిక విండో
-Name[th]=หน้าต่างส่วนตัวใหม่
-Name[tr]=Yeni gizli pencere
-Name[tsz]=Juchiiti eraatarakua jimpani
-Name[uk]=Приватне вікно
-Name[ur]=نیا نجی دریچہ
-Name[uz]=Yangi maxfiy oyna
-Name[vi]=Cửa sổ riêng tư mới
-Name[wo]=Panlanteeru biir bu bees
-Name[xh]=Ifestile yangasese entsha
-Name[zh_CN]=新建隐私浏览窗口
-Name[zh_TW]=新增隱私視窗
-Exec=@EXEC@ --private-window %u
-
-[Desktop Action profile-manager-window]
-Name=Open the Profile Manager
-Name[de]=Profilverwaltung öffnen
-Name[cs]=Správa profilů
-Exec=@EXEC@ --ProfileManager
diff --git a/www-client/firefox/files/icon/firefox-r3.desktop b/www-client/firefox/files/icon/firefox-r3.desktop
deleted file mode 100644
index 8219e935..00000000
--- a/www-client/firefox/files/icon/firefox-r3.desktop
+++ /dev/null
@@ -1,236 +0,0 @@
-[Desktop Entry]
-Version=1.0
-Name=@NAME@
-GenericName=Web Browser
-Comment=Browse the Web
-Exec=@EXEC@ %u
-Icon=@ICON@
-Terminal=false
-Type=Application
-MimeType=application/pdf;application/vnd.mozilla.xul+xml;application/xhtml+xml;text/html;text/mml;text/xml;x-scheme-handler/http;x-scheme-handler/https;
-StartupNotify=true
-Categories=Network;WebBrowser;
-Keywords=web;browser;internet;
-Actions=new-window;new-private-window;profile-manager-window;
-
-[Desktop Action new-window]
-Name=Open a New Window
-Name[ach]=Dirica manyen
-Name[af]=Nuwe venster
-Name[an]=Nueva finestra
-Name[ar]=نافذة جديدة
-Name[as]=নতুন উইন্ডো
-Name[ast]=Ventana nueva
-Name[az]=Yeni Pəncərə
-Name[be]=Новае акно
-Name[bg]=Нов прозорец
-Name[bn_BD]=নতুন উইন্ডো (N)
-Name[bn_IN]=নতুন উইন্ডো
-Name[br]=Prenestr nevez
-Name[brx]=गोदान उइन्ड'(N)
-Name[bs]=Novi prozor
-Name[ca]=Finestra nova
-Name[cak]=K'ak'a' tzuwäch
-Name[cs]=Nové okno
-Name[cy]=Ffenestr Newydd
-Name[da]=Nyt vindue
-Name[de]=Neues Fenster
-Name[dsb]=Nowe wokno
-Name[el]=Νέο παράθυρο
-Name[en_GB]=New Window
-Name[en_US]=New Window
-Name[en_ZA]=New Window
-Name[eo]=Nova fenestro
-Name[es_AR]=Nueva ventana
-Name[es_CL]=Nueva ventana
-Name[es_ES]=Nueva ventana
-Name[es_MX]=Nueva ventana
-Name[et]=Uus aken
-Name[eu]=Leiho berria
-Name[fa]=پنجره جدید‌
-Name[ff]=Henorde Hesere
-Name[fi]=Uusi ikkuna
-Name[fr]=Nouvelle fenêtre
-Name[fy_NL]=Nij finster
-Name[ga_IE]=Fuinneog Nua
-Name[gd]=Uinneag ùr
-Name[gl]=Nova xanela
-Name[gn]=Ovetã pyahu
-Name[gu_IN]=નવી વિન્ડો
-Name[he]=חלון חדש
-Name[hi_IN]=नया विंडो
-Name[hr]=Novi prozor
-Name[hsb]=Nowe wokno
-Name[hu]=Új ablak
-Name[hy_AM]=Նոր Պատուհան
-Name[id]=Jendela Baru
-Name[is]=Nýr gluggi
-Name[it]=Nuova finestra
-Name[ja]=新しいウィンドウ
-Name[ja_JP-mac]=新規ウインドウ
-Name[ka]=ახალი ფანჯარა
-Name[kk]=Жаңа терезе
-Name[km]=បង្អួច​​​ថ្មី
-Name[kn]=ಹೊಸ ಕಿಟಕಿ
-Name[ko]=새 창
-Name[kok]=नवें जनेल
-Name[ks]=نئئ وِنڈو
-Name[lij]=Neuvo barcon
-Name[lo]=ຫນ້າຕ່າງໃຫມ່
-Name[lt]=Naujas langas
-Name[ltg]=Jauns lūgs
-Name[lv]=Jauns logs
-Name[mai]=नव विंडो
-Name[mk]=Нов прозорец
-Name[ml]=പുതിയ ജാലകം
-Name[mr]=नवीन पटल
-Name[ms]=Tetingkap Baru
-Name[my]=ဝင်းဒိုးအသစ်
-Name[nb_NO]=Nytt vindu
-Name[ne_NP]=नयाँ सञ्झ्याल
-Name[nl]=Nieuw venster
-Name[nn_NO]=Nytt vindauge
-Name[or]=ନୂତନ ୱିଣ୍ଡୋ
-Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ
-Name[pl]=Nowe okno
-Name[pt_BR]=Nova janela
-Name[pt_PT]=Nova janela
-Name[rm]=Nova fanestra
-Name[ro]=Fereastră nouă
-Name[ru]=Новое окно
-Name[sat]=नावा विंडो (N)
-Name[si]=නව කවුළුවක්
-Name[sk]=Nové okno
-Name[sl]=Novo okno
-Name[son]=Zanfun taaga
-Name[sq]=Dritare e Re
-Name[sr]=Нови прозор
-Name[sv_SE]=Nytt fönster
-Name[ta]=புதிய சாளரம்
-Name[te]=కొత్త విండో
-Name[th]=หน้าต่างใหม่
-Name[tr]=Yeni pencere
-Name[tsz]=Eraatarakua jimpani
-Name[uk]=Нове вікно
-Name[ur]=نیا دریچہ
-Name[uz]=Yangi oyna
-Name[vi]=Cửa sổ mới
-Name[wo]=Palanteer bu bees
-Name[xh]=Ifestile entsha
-Name[zh_CN]=新建窗口
-Name[zh_TW]=開新視窗
-Exec=@EXEC@ --new-window %u
-
-[Desktop Action new-private-window]
-Name=Open a New Private Window
-Name[ach]=Dirica manyen me mung
-Name[af]=Nuwe privaatvenster
-Name[an]=Nueva finestra privada
-Name[ar]=نافذة خاصة جديدة
-Name[as]=নতুন ব্যক্তিগত উইন্ডো
-Name[ast]=Ventana privada nueva
-Name[az]=Yeni Məxfi Pəncərə
-Name[be]=Новае акно адасаблення
-Name[bg]=Нов прозорец за поверително сърфиране
-Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো
-Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো
-Name[br]=Prenestr merdeiñ prevez nevez
-Name[brx]=गोदान प्राइभेट उइन्ड'
-Name[bs]=Novi privatni prozor
-Name[ca]=Finestra privada nova
-Name[cak]=K'ak'a' ichinan tzuwäch
-Name[cs]=Nové anonymní okno
-Name[cy]=Ffenestr Breifat Newydd
-Name[da]=Nyt privat vindue
-Name[de]=Neues privates Fenster
-Name[dsb]=Nowe priwatne wokno
-Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
-Name[en_GB]=New Private Window
-Name[en_US]=New Private Window
-Name[en_ZA]=New Private Window
-Name[eo]=Nova privata fenestro
-Name[es_AR]=Nueva ventana privada
-Name[es_CL]=Nueva ventana privada
-Name[es_ES]=Nueva ventana privada
-Name[es_MX]=Nueva ventana privada
-Name[et]=Uus privaatne aken
-Name[eu]=Leiho pribatu berria
-Name[fa]=پنجره ناشناس جدید
-Name[ff]=Henorde Suturo Hesere
-Name[fi]=Uusi yksityinen ikkuna
-Name[fr]=Nouvelle fenêtre de navigation privée
-Name[fy_NL]=Nij priveefinster
-Name[ga_IE]=Fuinneog Nua Phríobháideach
-Name[gd]=Uinneag phrìobhaideach ùr
-Name[gl]=Nova xanela privada
-Name[gn]=Ovetã ñemi pyahu
-Name[gu_IN]=નવી ખાનગી વિન્ડો
-Name[he]=חלון פרטי חדש
-Name[hi_IN]=नयी निजी विंडो
-Name[hr]=Novi privatni prozor
-Name[hsb]=Nowe priwatne wokno
-Name[hu]=Új privát ablak
-Name[hy_AM]=Սկսել Գաղտնի դիտարկում
-Name[id]=Jendela Mode Pribadi Baru
-Name[is]=Nýr huliðsgluggi
-Name[it]=Nuova finestra anonima
-Name[ja]=新しいプライベートウィンドウ
-Name[ja_JP-mac]=新規プライベートウインドウ
-Name[ka]=ახალი პირადი ფანჯარა
-Name[kk]=Жаңа жекелік терезе
-Name[km]=បង្អួច​ឯកជន​ថ្មី
-Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ
-Name[ko]=새 사생활 보호 모드
-Name[kok]=नवो खाजगी विंडो
-Name[ks]=نْو پرایوٹ وینڈو&amp;
-Name[lij]=Neuvo barcon privou
-Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່
-Name[lt]=Naujas privataus naršymo langas
-Name[ltg]=Jauns privatais lūgs
-Name[lv]=Jauns privātais logs
-Name[mai]=नया निज विंडो (W)
-Name[mk]=Нов приватен прозорец
-Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
-Name[mr]=नवीन वैयक्तिक पटल
-Name[ms]=Tetingkap Persendirian Baharu
-Name[my]=New Private Window
-Name[nb_NO]=Nytt privat vindu
-Name[ne_NP]=नयाँ निजी सञ्झ्याल
-Name[nl]=Nieuw privévenster
-Name[nn_NO]=Nytt privat vindauge
-Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ
-Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ
-Name[pl]=Nowe okno prywatne
-Name[pt_BR]=Nova janela privativa
-Name[pt_PT]=Nova janela privada
-Name[rm]=Nova fanestra privata
-Name[ro]=Fereastră privată nouă
-Name[ru]=Новое приватное окно
-Name[sat]=नावा निजेराक् विंडो (W )
-Name[si]=නව පුද්ගලික කවුළුව (W)
-Name[sk]=Nové okno v režime Súkromné prehliadanie
-Name[sl]=Novo zasebno okno
-Name[son]=Sutura zanfun taaga
-Name[sq]=Dritare e Re Private
-Name[sr]=Нови приватан прозор
-Name[sv_SE]=Nytt privat fönster
-Name[ta]=புதிய தனிப்பட்ட சாளரம்
-Name[te]=కొత్త ఆంతరంగిక విండో
-Name[th]=หน้าต่างส่วนตัวใหม่
-Name[tr]=Yeni gizli pencere
-Name[tsz]=Juchiiti eraatarakua jimpani
-Name[uk]=Приватне вікно
-Name[ur]=نیا نجی دریچہ
-Name[uz]=Yangi maxfiy oyna
-Name[vi]=Cửa sổ riêng tư mới
-Name[wo]=Panlanteeru biir bu bees
-Name[xh]=Ifestile yangasese entsha
-Name[zh_CN]=新建隐私浏览窗口
-Name[zh_TW]=新增隱私視窗
-Exec=@EXEC@ --private-window %u
-
-[Desktop Action profile-manager-window]
-Name=Open the Profile Manager
-Name[de]=Profilverwaltung öffnen
-Name[cs]=Správa profilů
-Exec=@EXEC@ --ProfileManager
diff --git a/www-client/firefox/files/icon/firefox-symbolic.svg b/www-client/firefox/files/icon/firefox-symbolic.svg
deleted file mode 100644
index 2078eea4..00000000
--- a/www-client/firefox/files/icon/firefox-symbolic.svg
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="16"
- height="16"
- viewBox="0 0 16 16"
- version="1.1"
- id="svg3758"
- sodipodi:docname="firefox-symbolic-quantum.svg"
- inkscape:version="0.92.2 5c3e80d, 2017-08-06">
- <metadata
- id="metadata3764">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Gnome Symbolic Icon Theme</dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <defs
- id="defs3762" />
- <sodipodi:namedview
- pagecolor="#555753"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="1"
- inkscape:pageshadow="2"
- inkscape:window-width="1591"
- inkscape:window-height="909"
- id="namedview3760"
- showgrid="false"
- showborder="false"
- inkscape:snap-global="false"
- inkscape:zoom="1"
- inkscape:cx="3.8851213"
- inkscape:cy="12.517918"
- inkscape:window-x="143"
- inkscape:window-y="60"
- inkscape:window-maximized="0"
- inkscape:current-layer="svg3758">
- <inkscape:grid
- type="xygrid"
- id="grid3768" />
- </sodipodi:namedview>
- <title
- id="title3754">Gnome Symbolic Icon Theme</title>
- <path
- d="m 15.054715,6.9884649 v 0 c -0.02034,-0.133652 -0.04071,-0.2122775 -0.04071,-0.2122775 0,0 -0.05225,0.060583 -0.138743,0.1748124 A 4.9808937,4.9808937 0 0 0 14.703694,6.0103229 6.4034781,6.4034781 0 0 0 14.270352,4.895288 4.6469845,4.6469845 0 0 0 13.87447,4.2163686 Q 13.793063,4.0947376 13.708437,3.9805045 C 13.444828,3.5499376 13.142365,3.2867867 12.792269,2.7891599 A 3.6101075,3.6101075 0 0 1 12.333953,1.5474054 5.0151173,5.0151173 0 0 0 12.113814,2.3599798 C 11.754468,1.997397 11.441832,1.7397963 11.253142,1.5640539 10.322171,0.69459485 10.430396,0.24367816 10.430396,0.24367816 v 0 c 0,0 -1.7389294,1.94102274 -0.9855522,3.96297904 a 3.8848199,3.8848199 0 0 0 1.2949452,1.726432 c 0.728868,0.6012222 1.513693,1.0743371 1.927612,2.2832561 A 3.8741829,3.8741829 0 0 0 11.21337,6.6823034 3.5023502,3.5023502 0 0 1 11.490854,8.0697401 3.2946971,3.2946971 0 0 1 7.4621982,11.27934 3.0343219,3.0343219 0 0 1 6.6459244,11.001852 3.3219834,3.3219834 0 0 1 5.667782,10.09771 l -0.00463,-0.0078 0.058274,0.02125 a 3.0061106,3.0061106 0 0 0 0.4162344,0.111409 2.6028293,2.6028293 0 0 0 1.6570605,-0.195631 C 8.3154732,9.7379218 8.6308831,9.5237932 8.8866339,9.6084266 h 0.0046 c 0.24974,0.079514 0.446755,-0.1628244 0.2682391,-0.4162632 A 1.3596868,1.3596868 0 0 0 7.8423564,8.6778985 C 7.3211426,8.7537416 6.8434027,9.1241907 6.1603222,8.7653097 a 1.4470953,1.4470953 0 0 1 -0.128107,-0.075371 c -0.04625,-0.026369 0.146605,0.040234 0.1017455,0.010233 A 3.3899676,3.3899676 0 0 1 5.7047808,8.4439577 c -0.010172,-0.00822 0.103133,0.032367 0.092497,0.024039 A 1.6561356,1.6561356 0 0 1 5.3495968,8.015168 0.80517516,0.80517516 0 0 1 5.3190728,7.2964766 0.63405807,0.63405807 0 0 1 5.5965603,7.0356384 c 0.088333,0.043485 0.1429059,0.076305 0.1429059,0.076305 0,0 -0.040235,-0.073997 -0.061972,-0.1128365 0.00786,-0.0027 0.014794,0 0.022662,-0.00513 0.077233,0.033293 0.248351,0.1202544 0.3385341,0.1734358 A 0.46987818,0.46987818 0 0 1 6.19362,7.3061637 c 0,0 0.030994,-0.015351 0.0079,-0.079998 A 0.41623066,0.41623066 0 0 0 6.0414753,7.0300927 h 0.0074 a 1.3596868,1.3596868 0 0 1 0.1970213,0.1225561 0.96149289,0.96149289 0 0 0 0.078625,-0.416232 0.54479973,0.54479973 0 0 0 -0.031914,-0.2312396 c -0.024511,-0.046254 0.013876,-0.064746 0.056885,-0.016135 A 0.45137905,0.45137905 0 0 0 6.3129456,6.378979 v -0.00372 0 c 0,0 0.024511,-0.031916 0.035615,-0.043486 A 0.66134433,0.66134433 0 0 1 6.4484481,6.2503678 4.6122987,4.6122987 0 0 1 7.1259793,5.9048971 C 7.3174429,5.8211545 7.4760733,5.7573477 7.5084475,5.7388339 a 1.0637007,1.0637007 0 0 0 0.1355052,-0.1040612 0.91015778,0.91015778 0 0 0 0.3052354,-0.5272274 0.73996569,0.73996569 0 0 0 0.0079,-0.082324 v -0.023118 -0.013967 0 -0.00552 0 -0.00611 0 C 7.9293085,4.872475 7.749868,4.7943251 6.8119611,4.7064478 A 0.81997449,0.81997449 0 0 1 6.1413599,4.0776254 v 0.0042 c -0.013416,0.034225 -0.025431,0.068909 -0.037456,0.1040572 0.012025,-0.034685 0.024051,-0.069373 0.037456,-0.1040572 v -0.00742 A 2.3762148,2.3762148 0 0 1 7.0598423,2.9339361 c 0.024051,-0.019416 -0.096192,0.00512 -0.072152,-0.014798 A 2.3845397,2.3845397 0 0 1 7.2328039,2.8155414 C 7.2748921,2.7979724 7.0524371,2.7128704 6.8558842,2.7336774 a 1.0174527,1.0174527 0 0 0 -0.3496338,0.082324 c 0.046253,-0.039773 0.1849968,-0.092498 0.1521605,-0.092498 a 2.2499581,2.2499581 0 0 0 -0.713142,0.2696255 0.14521828,0.14521828 0 0 1 0.01387,-0.064747 1.1099484,1.1099484 0 0 0 -0.4458297,0.3440843 0.58966016,0.58966016 0 0 0 0.00462,-0.080469 1.3300881,1.3300881 0 0 0 -0.2187525,0.2053404 l -0.00417,0.00321 A 2.9066776,2.9066776 0 0 0 3.6684873,3.2618132 l -0.00463,-0.0042 h 0.00554 A 1.3610743,1.3610743 0 0 1 3.3803631,2.9339159 l -0.0074,0.0018 -0.00877,-0.010174 C 3.3285694,2.8728322 3.2920343,2.813172 3.2545731,2.7465739 3.2277502,2.7003291 3.2004619,2.646216 3.1731756,2.5902563 c 0,-0.00372 -0.00416,-0.00513 -0.006,-0.00552 -0.0111,0 -0.01896,0.05133 -0.028212,0.037927 v -0.0028 A 1.9923577,1.9923577 0 0 1 3.0080744,1.8396896 l -0.0074,0.00372 A 0.87130958,0.87130958 0 0 0 2.6704677,2.2753541 c -0.028212,0.063362 -0.046248,0.098047 -0.064746,0.1327329 0,0.0028 0,-0.00461 0,-0.016194 0.00416,-0.031916 0.018037,-0.097585 0.014799,-0.092497 -0.00323,0.00513 -0.00553,0.00882 -0.00877,0.013415 A 0.80147532,0.80147532 0 0 0 2.4956586,2.4848515 1.0891367,1.0891367 0 0 0 2.4262868,2.661518 c -0.00276,0.00973 0,-0.00832 0,-0.029599 0,-0.02127 0.00416,-0.059199 0,-0.051331 L 2.4161148,2.600475 A 4.3935464,4.3935464 0 0 0 2.0461275,4.0040946 1.3976101,1.3976101 0 0 0 2.031791,4.252909 v 0.00742 A 3.0653076,3.0653076 0 0 0 1.6539417,4.7690529 7.2174403,7.2174403 0 0 0 0.85524217,6.725337 4.7871157,4.7871157 0 0 1 1.2830334,5.9756593 6.9371784,6.9371784 0 0 0 0.79974461,8.5192901 6.582457,6.582457 0 0 1 1.0078598,7.7659142 6.3854411,6.3854411 0 0 0 1.585032,10.755373 6.9542899,6.9542899 0 0 0 4.3372422,13.87618 v 0 a 6.0196208,6.0196208 0 0 0 1.6038754,0.768639 c 0.07492,0.02728 0.1507676,0.0541 0.2284646,0.08 -0.024511,-0.0096 -0.04625,-0.02034 -0.070761,-0.03098 A 7.2609132,7.2609132 0 0 0 8.179966,15 c 2.494615,0 3.318287,-0.949928 3.394136,-1.044738 v 0 A 1.2625664,1.2625664 0 0 0 11.8687,13.559386 v 0 q 0.07216,-0.02958 0.145679,-0.06335 l 0.03097,-0.01397 0.05597,-0.02635 a 5.2315572,5.2315572 0 0 0 1.053064,-0.659489 2.5436321,2.5436321 0 0 0 0.98184,-1.433687 v 0 a 0.89628343,0.89628343 0 0 0 0.01343,-0.660421 q 0.03838,-0.0606 0.0791,-0.129501 A 5.8762526,5.8762526 0 0 0 15.1107,7.7140393 v -0.0027 c 0,-0.027291 0,-0.054583 0,-0.081863 A 3.5754215,3.5754215 0 0 0 15.05473,6.9884887 Z"
- id="path3756"
- inkscape:connector-curvature="0"
- style="fill:#bebebe;fill-opacity:1;stroke-width:0.46247858" />
-</svg>
diff --git a/www-client/firefox/firefox-91.4.0-r2.ebuild b/www-client/firefox/firefox-91.4.0-r2.ebuild
deleted file mode 100644
index eeed0fcd..00000000
--- a/www-client/firefox/firefox-91.4.0-r2.ebuild
+++ /dev/null
@@ -1,1235 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-FIREFOX_PATCHSET="firefox-91esr-patches-03.tar.xz"
-
-LLVM_MAX_SLOT=13
-
-PYTHON_COMPAT=( python3_{7..10} )
-PYTHON_REQ_USE="ncurses,sqlite,ssl"
-
-WANT_AUTOCONF="2.1"
-
-VIRTUALX_REQUIRED="pgo"
-
-MOZ_ESR=yes
-
-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 pax-utils python-any-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/~{polynomial-c,whissi}/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 x86"
-
-SLOT="0/esr$(ver_cut 1)"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-
-IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
-IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
-IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx +system-webp"
-IUSE+=" wayland wifi"
-
-# Firefox-only IUSE
-IUSE+=" geckodriver"
-IUSE+=" +gmp-autoupdate"
-IUSE+=" screencast"
-
-REQUIRED_USE="debug? ( !system-av1 )
- pgo? ( lto )
- wifi? ( dbus )"
-
-# Firefox-only REQUIRED_USE flags
-REQUIRED_USE+=" screencast? ( wayland )"
-
-BDEPEND="${PYTHON_DEPS}
- app-arch/unzip
- app-arch/zip
- >=dev-util/cbindgen-0.19.0
- >=net-libs/nodejs-10.23.1
- virtual/pkgconfig
- >=virtual/rust-1.51.0
- || (
- (
- sys-devel/clang:13
- sys-devel/llvm:13
- clang? (
- =sys-devel/lld-13*
- pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
- )
- )
- (
- sys-devel/clang:12
- sys-devel/llvm:12
- clang? (
- =sys-devel/lld-12*
- pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
- )
- )
- (
- sys-devel/clang:11
- sys-devel/llvm:11
- clang? (
- =sys-devel/lld-11*
- pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
- )
- )
- )
- amd64? ( >=dev-lang/nasm-2.13 )
- x86? ( >=dev-lang/nasm-2.13 )"
-
-CDEPEND="
- >=dev-libs/nss-3.68
- >=dev-libs/nspr-4.32
- dev-libs/atk
- dev-libs/expat
- >=x11-libs/cairo-1.10[X]
- >=x11-libs/gtk+-3.4.0:3[X]
- x11-libs/gdk-pixbuf
- >=x11-libs/pango-1.22.0
- >=media-libs/mesa-10.2:*
- media-libs/fontconfig
- >=media-libs/freetype-2.4.10
- >=media-libs/libpng-1.6.35:0=[apng(+)]
- kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
- virtual/freedesktop-icon-theme
- >=x11-libs/pixman-0.19.2
- >=dev-libs/glib-2.26:2
- >=sys-libs/zlib-1.2.3
- >=dev-libs/libffi-3.0.10:=
- media-video/ffmpeg
- x11-libs/libX11
- x11-libs/libxcb
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrender
- x11-libs/libXt
- dbus? (
- sys-apps/dbus
- dev-libs/dbus-glib
- )
- screencast? ( media-video/pipewire:= )
- system-av1? (
- >=media-libs/dav1d-0.8.1:=
- >=media-libs/libaom-1.0.0:=
- )
- system-harfbuzz? (
- >=media-libs/harfbuzz-2.8.1:0=
- >=media-gfx/graphite2-1.3.13
- )
- system-icu? ( >=dev-libs/icu-69.1:= )
- system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
- system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
- system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
- system-webp? ( >=media-libs/libwebp-1.1.0:0= )
- wifi? (
- kernel_linux? (
- sys-apps/dbus
- dev-libs/dbus-glib
- net-misc/networkmanager
- )
- )
- jack? ( virtual/jack )
- selinux? ( sec-policy/selinux-mozilla )
- sndio? ( media-sound/sndio )"
-
-RDEPEND="${CDEPEND}
- jack? ( virtual/jack )
- openh264? ( media-libs/openh264:*[plugin] )
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4
- )
- )
- selinux? ( sec-policy/selinux-mozilla )"
-
-DEPEND="${CDEPEND}
- x11-libs/libICE
- x11-libs/libSM
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4[sdk]
- )
- )
- wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
- amd64? ( virtual/opengl )
- x86? ( virtual/opengl )"
-
-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 ; 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 use pgo ; then
- if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
- einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* 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+=( 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+=( 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}"
-}
-
-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="6400M"
- 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 ; 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!"
-
- # temp fix for https://bugs.gentoo.org/768543
- # we can assume that rust 1.{49,50}.0 always uses llvm 11
- local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
- [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
- [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
-
- if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
- local version_llvm_rust="11"
- else
- 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!"
- fi
-
- 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"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
- && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
- # bug 792705
- eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
- die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
- 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
- # 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() {
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
- eapply "${WORKDIR}/firefox-patches"
-
- # Allow user to apply any additional patches without modifing ebuild
- eapply_user
-
- # Make LTO respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/build/moz.configure/lto-pgo.configure \
- || die "sed failed to set num_cores"
-
- # Make ICU respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/intl/icu_sources_data.py \
- || die "sed failed to set num_cores"
-
- # 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
-
- # Clearing checksums where we have applied patches
- moz_clear_vendor_checksums target-lexicon-0.9.0
-
- # 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_src_prepare
-}
-
-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 && ! tc-is-clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- have_switched_compiler=yes
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-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
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- tc-export CC CXX LD AR NM OBJDUMP RANLIB 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
-
- # Set Gentoo defaults
- export MOZILLA_OFFICIAL=1
-
- mozconfig_add_options_ac 'Gentoo default' \
- --allow-addon-sideload \
- --disable-cargo-incremental \
- --disable-crashreporter \
- --disable-install-strip \
- --disable-strip \
- --disable-updater \
- --enable-official-branding \
- --enable-release \
- --enable-system-ffi \
- --enable-system-pixman \
- --host="${CBUILD:-${CHOST}}" \
- --libdir="${EPREFIX}/usr/$(get_libdir)" \
- --prefix="${EPREFIX}/usr" \
- --target="${CHOST}" \
- --without-ccache \
- --with-intl-api \
- --with-libclang-path="$(llvm-config --libdir)" \
- --with-system-nspr \
- --with-system-nss \
- --with-system-png \
- --with-system-zlib \
- --with-toolchain-prefix="${CHOST}-" \
- --with-unsigned-addon-scopes=app,system \
- --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
- --x-libraries="${SYSROOT}${EPREFIX}/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
-
- 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 system-libevent "${SYSROOT}${EPREFIX}/usr"
- mozconfig_use_with system-libvpx
- mozconfig_use_with system-webp
-
- mozconfig_use_enable dbus
-
- 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"
- fi
-
- mozconfig_use_enable jack
-
- mozconfig_use_enable pulseaudio
- # force the deprecated alsa sound code if pulseaudio is disabled
- if use kernel_linux && ! use pulseaudio ; then
- mozconfig_add_options_ac '-pulseaudio' --enable-alsa
- fi
-
- mozconfig_use_enable sndio
-
- mozconfig_use_enable wifi necko-wifi
-
- if use wayland ; then
- mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
- else
- mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
- fi
-
- if use lto ; then
- if use clang ; then
- # Upstream only supports lld when using clang
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
-
- mozconfig_add_options_ac '+lto' --enable-lto=cross
- else
- # ld.gold is known to fail:
- # /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld.gold: internal error in set_xindex, at /var/tmp/portage/sys-devel/binutils-2.37_p1-r1/work/binutils-2.37/gold/object.h:1050
-
- # ThinLTO is currently broken, see bmo#1644409
- 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
- # This is upstream's default
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
- else
- mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
- fi
- fi
-
- # LTO flag was handled via configure
- filter-flags '-flto*'
-
- mozconfig_use_enable debug
- if use debug ; then
- mozconfig_add_options_ac '+debug' --disable-optimize
- else
- 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
-
- if use clang ; then
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
- # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
- local disable_elf_hack=
- if use amd64 ; then
- disable_elf_hack=yes
- elif use x86 ; then
- disable_elf_hack=yes
- elif use arm ; then
- disable_elf_hack=yes
- fi
-
- if [[ -n ${disable_elf_hack} ]] ; then
- mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
- fi
- elif tc-is-gcc ; then
- if ver_test $(gcc-fullversion) -ge 10 ; then
- einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
- append-cxxflags -fno-tree-loop-vectorize
- fi
- fi
-
- # Additional ARCH support
- case "${ARCH}" in
- arm)
- # Reduce the memory requirements for linking
- if use clang ; then
- # Nothing to do
- :;
- elif tc-ld-is-gold || 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
-
- # 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 MACH_USE_SYSTEM_PYTHON=1
- export PIP_NO_CACHE_DIR=off
-
- # 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
-
- ./mach configure || die
-}
-
-src_compile() {
- local virtx_cmd=
-
- if use pgo ; then
- virtx_cmd=virtx
-
- # Reset and cleanup environment variables used by GNOME/XDG
- gnome2_environment_reset
-
- addpredict /root
- fi
-
- local -x GDK_BACKEND=x11
-
- ${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 \
- >>"${GENTOO_PREFS}" \
- || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
- 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
-}
-
-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
-
- local show_doh_information
- local show_normandy_information
- local show_shortcut_information
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- # New install; Tell user that DoH is disabled by default
- show_doh_information=yes
- show_normandy_information=yes
- show_shortcut_information=no
- else
- local replacing_version
- for replacing_version in ${REPLACING_VERSIONS} ; do
- if ver_test "${replacing_version}" -lt 91.0 ; then
- # Tell user that we no longer install a shortcut
- # per supported display protocol
- show_shortcut_information=yes
- fi
- done
- fi
-
- if [[ -n "${show_doh_information}" ]] ; then
- elog
- elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
- elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
- elog "DNS traffic to Cloudflare by default is not a good idea and applications"
- elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
- elog "(\"Off by choice\") by default."
- elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
- fi
-
- # bug 713782
- if [[ -n "${show_normandy_information}" ]] ; then
- elog
- elog "Upstream operates a service named Normandy which allows Mozilla to"
- elog "push changes for default settings or even install new add-ons remotely."
- elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
- elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
- elog "concerns prevail, which is why we have switched off the use of this"
- elog "service by default."
- elog
- elog "To re-enable this service set"
- elog
- elog " app.normandy.enabled=true"
- elog
- elog "in about:config."
- fi
-
- if [[ -n "${show_shortcut_information}" ]] ; then
- elog
- elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
- elog "each supported display protocol. Instead we will only install"
- elog "one generic Mozilla ${PN^} shortcut."
- elog "If you still want to be able to select between running Mozilla ${PN^}"
- elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
- fi
-}
diff --git a/www-client/firefox/firefox-91.5.0.ebuild b/www-client/firefox/firefox-91.5.0.ebuild
deleted file mode 100644
index 9ec68772..00000000
--- a/www-client/firefox/firefox-91.5.0.ebuild
+++ /dev/null
@@ -1,1235 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-FIREFOX_PATCHSET="firefox-91esr-patches-03.tar.xz"
-
-LLVM_MAX_SLOT=13
-
-PYTHON_COMPAT=( python3_{7..10} )
-PYTHON_REQ_USE="ncurses,sqlite,ssl"
-
-WANT_AUTOCONF="2.1"
-
-VIRTUALX_REQUIRED="pgo"
-
-MOZ_ESR=yes
-
-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 pax-utils python-any-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/~{polynomial-c,whissi}/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 x86"
-
-SLOT="0/esr$(ver_cut 1)"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-
-IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
-IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
-IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx +system-webp"
-IUSE+=" wayland wifi"
-
-# Firefox-only IUSE
-IUSE+=" geckodriver"
-IUSE+=" +gmp-autoupdate"
-IUSE+=" screencast"
-
-REQUIRED_USE="debug? ( !system-av1 )
- pgo? ( lto )
- wifi? ( dbus )"
-
-# Firefox-only REQUIRED_USE flags
-REQUIRED_USE+=" screencast? ( wayland )"
-
-BDEPEND="${PYTHON_DEPS}
- app-arch/unzip
- app-arch/zip
- >=dev-util/cbindgen-0.19.0
- >=net-libs/nodejs-10.23.1
- virtual/pkgconfig
- >=virtual/rust-1.51.0
- || (
- (
- sys-devel/clang:13
- sys-devel/llvm:13
- clang? (
- =sys-devel/lld-13*
- pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
- )
- )
- (
- sys-devel/clang:12
- sys-devel/llvm:12
- clang? (
- =sys-devel/lld-12*
- pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
- )
- )
- (
- sys-devel/clang:11
- sys-devel/llvm:11
- clang? (
- =sys-devel/lld-11*
- pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
- )
- )
- )
- amd64? ( >=dev-lang/nasm-2.13 )
- x86? ( >=dev-lang/nasm-2.13 )"
-
-CDEPEND="
- >=dev-libs/nss-3.68
- >=dev-libs/nspr-4.32
- dev-libs/atk
- dev-libs/expat
- >=x11-libs/cairo-1.10[X]
- >=x11-libs/gtk+-3.4.0:3[X]
- x11-libs/gdk-pixbuf
- >=x11-libs/pango-1.22.0
- >=media-libs/mesa-10.2:*
- media-libs/fontconfig
- >=media-libs/freetype-2.4.10
- >=media-libs/libpng-1.6.35:0=[apng(+)]
- kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
- virtual/freedesktop-icon-theme
- >=x11-libs/pixman-0.19.2
- >=dev-libs/glib-2.26:2
- >=sys-libs/zlib-1.2.3
- >=dev-libs/libffi-3.0.10:=
- media-video/ffmpeg
- x11-libs/libX11
- x11-libs/libxcb
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrender
- x11-libs/libXt
- dbus? (
- sys-apps/dbus
- dev-libs/dbus-glib
- )
- screencast? ( media-video/pipewire:= )
- system-av1? (
- >=media-libs/dav1d-0.8.1:=
- >=media-libs/libaom-1.0.0:=
- )
- system-harfbuzz? (
- >=media-libs/harfbuzz-2.8.1:0=
- >=media-gfx/graphite2-1.3.13
- )
- system-icu? ( >=dev-libs/icu-69.1:= )
- system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
- system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
- system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
- system-webp? ( >=media-libs/libwebp-1.1.0:0= )
- wifi? (
- kernel_linux? (
- sys-apps/dbus
- dev-libs/dbus-glib
- net-misc/networkmanager
- )
- )
- jack? ( virtual/jack )
- selinux? ( sec-policy/selinux-mozilla )
- sndio? ( media-sound/sndio )"
-
-RDEPEND="${CDEPEND}
- jack? ( virtual/jack )
- openh264? ( media-libs/openh264:*[plugin] )
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4
- )
- )
- selinux? ( sec-policy/selinux-mozilla )"
-
-DEPEND="${CDEPEND}
- x11-libs/libICE
- x11-libs/libSM
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4[sdk]
- )
- )
- wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
- amd64? ( virtual/opengl )
- x86? ( virtual/opengl )"
-
-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 ; 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 use pgo ; then
- if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
- einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* 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+=( 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+=( 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}"
-}
-
-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="6400M"
- 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 ; 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!"
-
- # temp fix for https://bugs.gentoo.org/768543
- # we can assume that rust 1.{49,50}.0 always uses llvm 11
- local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
- [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
- [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
-
- if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
- local version_llvm_rust="11"
- else
- 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!"
- fi
-
- 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"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
- && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
- # bug 792705
- eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
- die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
- 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
- # 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() {
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
- eapply "${WORKDIR}/firefox-patches"
-
- # Allow user to apply any additional patches without modifing ebuild
- eapply_user
-
- # Make LTO respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/build/moz.configure/lto-pgo.configure \
- || die "sed failed to set num_cores"
-
- # Make ICU respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/intl/icu_sources_data.py \
- || die "sed failed to set num_cores"
-
- # 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
-
- # Clearing checksums where we have applied patches
- moz_clear_vendor_checksums target-lexicon-0.9.0
-
- # 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_src_prepare
-}
-
-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 && ! tc-is-clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- have_switched_compiler=yes
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-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
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- tc-export CC CXX LD AR NM OBJDUMP RANLIB 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
-
- # Set Gentoo defaults
- export MOZILLA_OFFICIAL=1
-
- mozconfig_add_options_ac 'Gentoo default' \
- --allow-addon-sideload \
- --disable-cargo-incremental \
- --disable-crashreporter \
- --disable-install-strip \
- --disable-strip \
- --disable-updater \
- --enable-official-branding \
- --enable-release \
- --enable-system-ffi \
- --enable-system-pixman \
- --host="${CBUILD:-${CHOST}}" \
- --libdir="${EPREFIX}/usr/$(get_libdir)" \
- --prefix="${EPREFIX}/usr" \
- --target="${CHOST}" \
- --without-ccache \
- --with-intl-api \
- --with-libclang-path="$(llvm-config --libdir)" \
- --with-system-nspr \
- --with-system-nss \
- --with-system-png \
- --with-system-zlib \
- --with-toolchain-prefix="${CHOST}-" \
- --with-unsigned-addon-scopes=app,system \
- --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
- --x-libraries="${SYSROOT}${EPREFIX}/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
-
- 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 system-libevent "${SYSROOT}${EPREFIX}/usr"
- mozconfig_use_with system-libvpx
- mozconfig_use_with system-webp
-
- mozconfig_use_enable dbus
-
- 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"
- fi
-
- mozconfig_use_enable jack
-
- mozconfig_use_enable pulseaudio
- # force the deprecated alsa sound code if pulseaudio is disabled
- if use kernel_linux && ! use pulseaudio ; then
- mozconfig_add_options_ac '-pulseaudio' --enable-alsa
- fi
-
- mozconfig_use_enable sndio
-
- mozconfig_use_enable wifi necko-wifi
-
- if use wayland ; then
- mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
- else
- mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
- fi
-
- if use lto ; then
- if use clang ; then
- # Upstream only supports lld when using clang
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
-
- mozconfig_add_options_ac '+lto' --enable-lto=cross
- else
- # ld.gold is known to fail:
- # /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld.gold: internal error in set_xindex, at /var/tmp/portage/sys-devel/binutils-2.37_p1-r1/work/binutils-2.37/gold/object.h:1050
-
- # ThinLTO is currently broken, see bmo#1644409
- 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
- # This is upstream's default
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
- else
- mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
- fi
- fi
-
- # LTO flag was handled via configure
- filter-flags '-flto*'
-
- mozconfig_use_enable debug
- if use debug ; then
- mozconfig_add_options_ac '+debug' --disable-optimize
- else
- 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
-
- if use clang ; then
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
- # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
- local disable_elf_hack=
- if use amd64 ; then
- disable_elf_hack=yes
- elif use x86 ; then
- disable_elf_hack=yes
- elif use arm ; then
- disable_elf_hack=yes
- fi
-
- if [[ -n ${disable_elf_hack} ]] ; then
- mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
- fi
- elif tc-is-gcc ; then
- if ver_test $(gcc-fullversion) -ge 10 ; then
- einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
- append-cxxflags -fno-tree-loop-vectorize
- fi
- fi
-
- # Additional ARCH support
- case "${ARCH}" in
- arm)
- # Reduce the memory requirements for linking
- if use clang ; then
- # Nothing to do
- :;
- elif tc-ld-is-gold || 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
-
- # 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 MACH_USE_SYSTEM_PYTHON=1
- export PIP_NO_CACHE_DIR=off
-
- # 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
-
- ./mach configure || die
-}
-
-src_compile() {
- local virtx_cmd=
-
- if use pgo ; then
- virtx_cmd=virtx
-
- # Reset and cleanup environment variables used by GNOME/XDG
- gnome2_environment_reset
-
- addpredict /root
- fi
-
- local -x GDK_BACKEND=x11
-
- ${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 \
- >>"${GENTOO_PREFS}" \
- || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
- 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
-}
-
-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
-
- local show_doh_information
- local show_normandy_information
- local show_shortcut_information
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- # New install; Tell user that DoH is disabled by default
- show_doh_information=yes
- show_normandy_information=yes
- show_shortcut_information=no
- else
- local replacing_version
- for replacing_version in ${REPLACING_VERSIONS} ; do
- if ver_test "${replacing_version}" -lt 91.0 ; then
- # Tell user that we no longer install a shortcut
- # per supported display protocol
- show_shortcut_information=yes
- fi
- done
- fi
-
- if [[ -n "${show_doh_information}" ]] ; then
- elog
- elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
- elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
- elog "DNS traffic to Cloudflare by default is not a good idea and applications"
- elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
- elog "(\"Off by choice\") by default."
- elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
- fi
-
- # bug 713782
- if [[ -n "${show_normandy_information}" ]] ; then
- elog
- elog "Upstream operates a service named Normandy which allows Mozilla to"
- elog "push changes for default settings or even install new add-ons remotely."
- elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
- elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
- elog "concerns prevail, which is why we have switched off the use of this"
- elog "service by default."
- elog
- elog "To re-enable this service set"
- elog
- elog " app.normandy.enabled=true"
- elog
- elog "in about:config."
- fi
-
- if [[ -n "${show_shortcut_information}" ]] ; then
- elog
- elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
- elog "each supported display protocol. Instead we will only install"
- elog "one generic Mozilla ${PN^} shortcut."
- elog "If you still want to be able to select between running Mozilla ${PN^}"
- elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
- fi
-}
diff --git a/www-client/firefox/firefox-95.0-r2.ebuild b/www-client/firefox/firefox-95.0-r2.ebuild
deleted file mode 100644
index a10ee30f..00000000
--- a/www-client/firefox/firefox-95.0-r2.ebuild
+++ /dev/null
@@ -1,1237 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-FIREFOX_PATCHSET="firefox-95-patches-02.tar.xz"
-
-LLVM_MAX_SLOT=13
-
-PYTHON_COMPAT=( python3_{7..10} )
-PYTHON_REQ_USE="ncurses,sqlite,ssl"
-
-WANT_AUTOCONF="2.1"
-
-VIRTUALX_REQUIRED="pgo"
-
-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 pax-utils python-any-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/~{polynomial-c,whissi}/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 ~x86"
-
-SLOT="0/$(ver_cut 1)"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-
-IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
-IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
-IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx +system-webp"
-IUSE+=" wayland wifi"
-
-# Firefox-only IUSE
-IUSE+=" geckodriver"
-IUSE+=" +gmp-autoupdate"
-IUSE+=" screencast"
-
-REQUIRED_USE="debug? ( !system-av1 )
- pgo? ( lto )
- wayland? ( dbus )
- wifi? ( dbus )"
-
-# Firefox-only REQUIRED_USE flags
-REQUIRED_USE+=" screencast? ( wayland )"
-
-BDEPEND="${PYTHON_DEPS}
- app-arch/unzip
- app-arch/zip
- >=dev-util/cbindgen-0.19.0
- >=net-libs/nodejs-10.23.1
- virtual/pkgconfig
- >=virtual/rust-1.53.0
- || (
- (
- sys-devel/clang:13
- sys-devel/llvm:13
- clang? (
- =sys-devel/lld-13*
- pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
- )
- )
- (
- sys-devel/clang:12
- sys-devel/llvm:12
- clang? (
- =sys-devel/lld-12*
- pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
- )
- )
- (
- sys-devel/clang:11
- sys-devel/llvm:11
- clang? (
- =sys-devel/lld-11*
- pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
- )
- )
- )
- amd64? ( >=dev-lang/nasm-2.13 )
- x86? ( >=dev-lang/nasm-2.13 )"
-
-CDEPEND="
- >=dev-libs/nss-3.72
- >=dev-libs/nspr-4.32
- dev-libs/atk
- dev-libs/expat
- >=x11-libs/cairo-1.10[X]
- >=x11-libs/gtk+-3.4.0:3[X]
- x11-libs/gdk-pixbuf
- >=x11-libs/pango-1.22.0
- >=media-libs/mesa-10.2:*
- media-libs/fontconfig
- >=media-libs/freetype-2.4.10
- >=media-libs/libpng-1.6.35:0=[apng(+)]
- kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
- virtual/freedesktop-icon-theme
- >=x11-libs/pixman-0.19.2
- >=dev-libs/glib-2.26:2
- >=sys-libs/zlib-1.2.3
- >=dev-libs/libffi-3.0.10:=
- media-video/ffmpeg
- x11-libs/libX11
- x11-libs/libxcb
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrandr
- x11-libs/libXrender
- dbus? (
- sys-apps/dbus
- dev-libs/dbus-glib
- )
- screencast? ( media-video/pipewire:0/0.3 )
- system-av1? (
- >=media-libs/dav1d-0.9.3:=
- >=media-libs/libaom-1.0.0:=
- )
- system-harfbuzz? (
- >=media-libs/harfbuzz-2.8.1:0=
- >=media-gfx/graphite2-1.3.13
- )
- system-icu? ( >=dev-libs/icu-69.1:= )
- system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
- system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
- system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
- system-webp? ( >=media-libs/libwebp-1.1.0:0= )
- wifi? (
- kernel_linux? (
- sys-apps/dbus
- dev-libs/dbus-glib
- net-misc/networkmanager
- )
- )
- jack? ( virtual/jack )
- selinux? ( sec-policy/selinux-mozilla )
- sndio? ( media-sound/sndio )"
-
-RDEPEND="${CDEPEND}
- jack? ( virtual/jack )
- openh264? ( media-libs/openh264:*[plugin] )
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4
- )
- )
- selinux? ( sec-policy/selinux-mozilla )"
-
-DEPEND="${CDEPEND}
- x11-libs/libICE
- x11-libs/libSM
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4[sdk]
- )
- )
- wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
- amd64? ( virtual/opengl )
- x86? ( virtual/opengl )"
-
-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 ; 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 use pgo ; then
- if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
- einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* 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+=( 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+=( 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}"
-}
-
-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="6400M"
- 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 ; 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!"
-
- # temp fix for https://bugs.gentoo.org/768543
- # we can assume that rust 1.{49,50}.0 always uses llvm 11
- local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
- [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
- [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
-
- if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
- local version_llvm_rust="11"
- else
- 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!"
- fi
-
- 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"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
- && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
- # bug 792705
- eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
- die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
- 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
- # 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() {
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
- eapply "${WORKDIR}/firefox-patches"
-
- # Allow user to apply any additional patches without modifing ebuild
- eapply_user
-
- # Make LTO respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/build/moz.configure/lto-pgo.configure \
- || die "sed failed to set num_cores"
-
- # Make ICU respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/intl/icu_sources_data.py \
- || die "sed failed to set num_cores"
-
- # 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
-
- # Clearing checksums where we have applied patches
- moz_clear_vendor_checksums target-lexicon-0.9.0
-
- # 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_src_prepare
-}
-
-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 && ! tc-is-clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- have_switched_compiler=yes
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-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
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- tc-export CC CXX LD AR NM OBJDUMP RANLIB 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
-
- # Set Gentoo defaults
- export MOZILLA_OFFICIAL=1
-
- mozconfig_add_options_ac 'Gentoo default' \
- --allow-addon-sideload \
- --disable-cargo-incremental \
- --disable-crashreporter \
- --disable-install-strip \
- --disable-strip \
- --disable-updater \
- --enable-official-branding \
- --enable-release \
- --enable-system-ffi \
- --enable-system-pixman \
- --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-png \
- --with-system-zlib \
- --with-toolchain-prefix="${CHOST}-" \
- --with-unsigned-addon-scopes=app,system \
- --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
- --x-libraries="${SYSROOT}${EPREFIX}/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
-
- 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 system-libevent "${SYSROOT}${EPREFIX}/usr"
- mozconfig_use_with system-libvpx
- mozconfig_use_with system-webp
-
- mozconfig_use_enable dbus
-
- 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"
- fi
-
- mozconfig_use_enable jack
-
- mozconfig_use_enable pulseaudio
- # force the deprecated alsa sound code if pulseaudio is disabled
- if use kernel_linux && ! use pulseaudio ; then
- mozconfig_add_options_ac '-pulseaudio' --enable-alsa
- fi
-
- mozconfig_use_enable sndio
-
- mozconfig_use_enable wifi necko-wifi
-
- if use wayland ; then
- mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
- else
- mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
- fi
-
- if use lto ; then
- if use clang ; then
- # Upstream only supports lld when using clang
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
-
- mozconfig_add_options_ac '+lto' --enable-lto=cross
- else
- # ld.gold is known to fail:
- # /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld.gold: internal error in set_xindex, at /var/tmp/portage/sys-devel/binutils-2.37_p1-r1/work/binutils-2.37/gold/object.h:1050
-
- # ThinLTO is currently broken, see bmo#1644409
- 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
- # This is upstream's default
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
- else
- mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
- fi
- fi
-
- # LTO flag was handled via configure
- filter-flags '-flto*'
-
- mozconfig_use_enable debug
- if use debug ; then
- mozconfig_add_options_ac '+debug' --disable-optimize
- else
- 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
-
- if use clang ; then
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
- # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
- local disable_elf_hack=
- if use amd64 ; then
- disable_elf_hack=yes
- elif use x86 ; then
- disable_elf_hack=yes
- elif use arm ; then
- disable_elf_hack=yes
- fi
-
- if [[ -n ${disable_elf_hack} ]] ; then
- mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
- fi
- elif tc-is-gcc ; then
- if ver_test $(gcc-fullversion) -ge 10 ; then
- einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
- append-cxxflags -fno-tree-loop-vectorize
- fi
- fi
-
- # Additional ARCH support
- case "${ARCH}" in
- arm)
- # Reduce the memory requirements for linking
- if use clang ; then
- # Nothing to do
- :;
- elif tc-ld-is-gold || 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
-
- # 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 MACH_USE_SYSTEM_PYTHON=1
- export PIP_NO_CACHE_DIR=off
-
- # 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
-
- ./mach configure || die
-}
-
-src_compile() {
- local virtx_cmd=
-
- if use pgo ; then
- virtx_cmd=virtx
-
- # Reset and cleanup environment variables used by GNOME/XDG
- gnome2_environment_reset
-
- addpredict /root
- fi
-
- local -x GDK_BACKEND=x11
-
- ${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 \
- >>"${GENTOO_PREFS}" \
- || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
- 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
-}
-
-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
-
- local show_doh_information
- local show_normandy_information
- local show_shortcut_information
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- # New install; Tell user that DoH is disabled by default
- show_doh_information=yes
- show_normandy_information=yes
- show_shortcut_information=no
- else
- local replacing_version
- for replacing_version in ${REPLACING_VERSIONS} ; do
- if ver_test "${replacing_version}" -lt 91.0 ; then
- # Tell user that we no longer install a shortcut
- # per supported display protocol
- show_shortcut_information=yes
- fi
- done
- fi
-
- if [[ -n "${show_doh_information}" ]] ; then
- elog
- elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
- elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
- elog "DNS traffic to Cloudflare by default is not a good idea and applications"
- elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
- elog "(\"Off by choice\") by default."
- elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
- fi
-
- # bug 713782
- if [[ -n "${show_normandy_information}" ]] ; then
- elog
- elog "Upstream operates a service named Normandy which allows Mozilla to"
- elog "push changes for default settings or even install new add-ons remotely."
- elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
- elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
- elog "concerns prevail, which is why we have switched off the use of this"
- elog "service by default."
- elog
- elog "To re-enable this service set"
- elog
- elog " app.normandy.enabled=true"
- elog
- elog "in about:config."
- fi
-
- if [[ -n "${show_shortcut_information}" ]] ; then
- elog
- elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
- elog "each supported display protocol. Instead we will only install"
- elog "one generic Mozilla ${PN^} shortcut."
- elog "If you still want to be able to select between running Mozilla ${PN^}"
- elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
- fi
-}
diff --git a/www-client/firefox/firefox-95.0.1-r1.ebuild b/www-client/firefox/firefox-95.0.1-r1.ebuild
deleted file mode 100644
index f2fa9bc2..00000000
--- a/www-client/firefox/firefox-95.0.1-r1.ebuild
+++ /dev/null
@@ -1,1240 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-FIREFOX_PATCHSET="firefox-95-patches-02.tar.xz"
-
-LLVM_MAX_SLOT=13
-
-PYTHON_COMPAT=( python3_{7..10} )
-PYTHON_REQ_USE="ncurses,sqlite,ssl"
-
-WANT_AUTOCONF="2.1"
-
-VIRTUALX_REQUIRED="pgo"
-
-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 pax-utils python-any-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/~{polynomial-c,whissi}/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 ~x86"
-
-SLOT="0/$(ver_cut 1)"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-
-IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
-IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
-IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx +system-webp"
-IUSE+=" wayland wifi"
-
-# Firefox-only IUSE
-IUSE+=" geckodriver"
-IUSE+=" +gmp-autoupdate"
-IUSE+=" screencast"
-
-REQUIRED_USE="debug? ( !system-av1 )
- pgo? ( lto )
- wayland? ( dbus )
- wifi? ( dbus )"
-
-# Firefox-only REQUIRED_USE flags
-REQUIRED_USE+=" screencast? ( wayland )"
-
-BDEPEND="${PYTHON_DEPS}
- app-arch/unzip
- app-arch/zip
- >=dev-util/cbindgen-0.19.0
- >=net-libs/nodejs-10.23.1
- virtual/pkgconfig
- >=virtual/rust-1.53.0
- || (
- (
- sys-devel/clang:13
- sys-devel/llvm:13
- clang? (
- =sys-devel/lld-13*
- pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
- )
- )
- (
- sys-devel/clang:12
- sys-devel/llvm:12
- clang? (
- =sys-devel/lld-12*
- pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
- )
- )
- (
- sys-devel/clang:11
- sys-devel/llvm:11
- clang? (
- =sys-devel/lld-11*
- pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
- )
- )
- )
- amd64? ( >=dev-lang/nasm-2.13 )
- x86? ( >=dev-lang/nasm-2.13 )"
-
-CDEPEND="
- >=dev-libs/nss-3.72.1
- >=dev-libs/nspr-4.32
- dev-libs/atk
- dev-libs/expat
- >=x11-libs/cairo-1.10[X]
- >=x11-libs/gtk+-3.4.0:3[X]
- x11-libs/gdk-pixbuf
- >=x11-libs/pango-1.22.0
- >=media-libs/mesa-10.2:*
- media-libs/fontconfig
- >=media-libs/freetype-2.4.10
- >=media-libs/libpng-1.6.35:0=[apng(+)]
- kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
- virtual/freedesktop-icon-theme
- >=x11-libs/pixman-0.19.2
- >=dev-libs/glib-2.26:2
- >=sys-libs/zlib-1.2.3
- >=dev-libs/libffi-3.0.10:=
- media-video/ffmpeg
- x11-libs/libX11
- x11-libs/libxcb
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrandr
- x11-libs/libXrender
- dbus? (
- sys-apps/dbus
- dev-libs/dbus-glib
- )
- screencast? ( media-video/pipewire:= )
- system-av1? (
- >=media-libs/dav1d-0.9.3:=
- >=media-libs/libaom-1.0.0:=
- )
- system-harfbuzz? (
- >=media-libs/harfbuzz-2.8.1:0=
- >=media-gfx/graphite2-1.3.13
- )
- system-icu? ( >=dev-libs/icu-69.1:= )
- system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
- system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
- system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
- system-webp? ( >=media-libs/libwebp-1.1.0:0= )
- wifi? (
- kernel_linux? (
- sys-apps/dbus
- dev-libs/dbus-glib
- net-misc/networkmanager
- )
- )
- jack? ( virtual/jack )
- selinux? ( sec-policy/selinux-mozilla )
- sndio? ( media-sound/sndio )"
-
-RDEPEND="${CDEPEND}
- jack? ( virtual/jack )
- openh264? ( media-libs/openh264:*[plugin] )
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4
- )
- )
- selinux? ( sec-policy/selinux-mozilla )"
-
-DEPEND="${CDEPEND}
- x11-libs/libICE
- x11-libs/libSM
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4[sdk]
- )
- )
- wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
- amd64? ( virtual/opengl )
- x86? ( virtual/opengl )"
-
-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 ; 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 use pgo ; then
- if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
- einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* 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+=( 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+=( 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}"
-}
-
-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="6400M"
- 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 ; 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!"
-
- # temp fix for https://bugs.gentoo.org/768543
- # we can assume that rust 1.{49,50}.0 always uses llvm 11
- local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
- [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
- [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
-
- if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
- local version_llvm_rust="11"
- else
- 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!"
- fi
-
- 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"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
- && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
- # bug 792705
- eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
- die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
- 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
- # 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() {
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
- eapply "${WORKDIR}/firefox-patches"
-
- # Temporary fix to fatal pip check run, #828999
- eapply "${FILESDIR}"/firefox-95-fix-fatal-pip-invocation.patch
-
- # Allow user to apply any additional patches without modifing ebuild
- eapply_user
-
- # Make LTO respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/build/moz.configure/lto-pgo.configure \
- || die "sed failed to set num_cores"
-
- # Make ICU respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/intl/icu_sources_data.py \
- || die "sed failed to set num_cores"
-
- # 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
-
- # Clearing checksums where we have applied patches
- moz_clear_vendor_checksums target-lexicon-0.9.0
-
- # 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_src_prepare
-}
-
-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 && ! tc-is-clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- have_switched_compiler=yes
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-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
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- tc-export CC CXX LD AR NM OBJDUMP RANLIB 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
-
- # Set Gentoo defaults
- export MOZILLA_OFFICIAL=1
-
- mozconfig_add_options_ac 'Gentoo default' \
- --allow-addon-sideload \
- --disable-cargo-incremental \
- --disable-crashreporter \
- --disable-install-strip \
- --disable-strip \
- --disable-updater \
- --enable-official-branding \
- --enable-release \
- --enable-system-ffi \
- --enable-system-pixman \
- --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-png \
- --with-system-zlib \
- --with-toolchain-prefix="${CHOST}-" \
- --with-unsigned-addon-scopes=app,system \
- --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
- --x-libraries="${SYSROOT}${EPREFIX}/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
-
- 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 system-libevent "${SYSROOT}${EPREFIX}/usr"
- mozconfig_use_with system-libvpx
- mozconfig_use_with system-webp
-
- mozconfig_use_enable dbus
-
- 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"
- fi
-
- mozconfig_use_enable jack
-
- mozconfig_use_enable pulseaudio
- # force the deprecated alsa sound code if pulseaudio is disabled
- if use kernel_linux && ! use pulseaudio ; then
- mozconfig_add_options_ac '-pulseaudio' --enable-alsa
- fi
-
- mozconfig_use_enable sndio
-
- mozconfig_use_enable wifi necko-wifi
-
- if use wayland ; then
- mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
- else
- mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
- fi
-
- if use lto ; then
- if use clang ; then
- # Upstream only supports lld when using clang
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
-
- mozconfig_add_options_ac '+lto' --enable-lto=cross
- else
- # ld.gold is known to fail:
- # /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld.gold: internal error in set_xindex, at /var/tmp/portage/sys-devel/binutils-2.37_p1-r1/work/binutils-2.37/gold/object.h:1050
-
- # ThinLTO is currently broken, see bmo#1644409
- 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
- # This is upstream's default
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
- else
- mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
- fi
- fi
-
- # LTO flag was handled via configure
- filter-flags '-flto*'
-
- mozconfig_use_enable debug
- if use debug ; then
- mozconfig_add_options_ac '+debug' --disable-optimize
- else
- 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
-
- if use clang ; then
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
- # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
- local disable_elf_hack=
- if use amd64 ; then
- disable_elf_hack=yes
- elif use x86 ; then
- disable_elf_hack=yes
- elif use arm ; then
- disable_elf_hack=yes
- fi
-
- if [[ -n ${disable_elf_hack} ]] ; then
- mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
- fi
- elif tc-is-gcc ; then
- if ver_test $(gcc-fullversion) -ge 10 ; then
- einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
- append-cxxflags -fno-tree-loop-vectorize
- fi
- fi
-
- # Additional ARCH support
- case "${ARCH}" in
- arm)
- # Reduce the memory requirements for linking
- if use clang ; then
- # Nothing to do
- :;
- elif tc-ld-is-gold || 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
-
- # 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 MACH_USE_SYSTEM_PYTHON=1
- export PIP_NO_CACHE_DIR=off
-
- # 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
-
- ./mach configure || die
-}
-
-src_compile() {
- local virtx_cmd=
-
- if use pgo ; then
- virtx_cmd=virtx
-
- # Reset and cleanup environment variables used by GNOME/XDG
- gnome2_environment_reset
-
- addpredict /root
- fi
-
- local -x GDK_BACKEND=x11
-
- ${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 \
- >>"${GENTOO_PREFS}" \
- || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
- 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
-}
-
-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
-
- local show_doh_information
- local show_normandy_information
- local show_shortcut_information
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- # New install; Tell user that DoH is disabled by default
- show_doh_information=yes
- show_normandy_information=yes
- show_shortcut_information=no
- else
- local replacing_version
- for replacing_version in ${REPLACING_VERSIONS} ; do
- if ver_test "${replacing_version}" -lt 91.0 ; then
- # Tell user that we no longer install a shortcut
- # per supported display protocol
- show_shortcut_information=yes
- fi
- done
- fi
-
- if [[ -n "${show_doh_information}" ]] ; then
- elog
- elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
- elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
- elog "DNS traffic to Cloudflare by default is not a good idea and applications"
- elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
- elog "(\"Off by choice\") by default."
- elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
- fi
-
- # bug 713782
- if [[ -n "${show_normandy_information}" ]] ; then
- elog
- elog "Upstream operates a service named Normandy which allows Mozilla to"
- elog "push changes for default settings or even install new add-ons remotely."
- elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
- elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
- elog "concerns prevail, which is why we have switched off the use of this"
- elog "service by default."
- elog
- elog "To re-enable this service set"
- elog
- elog " app.normandy.enabled=true"
- elog
- elog "in about:config."
- fi
-
- if [[ -n "${show_shortcut_information}" ]] ; then
- elog
- elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
- elog "each supported display protocol. Instead we will only install"
- elog "one generic Mozilla ${PN^} shortcut."
- elog "If you still want to be able to select between running Mozilla ${PN^}"
- elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
- fi
-}
diff --git a/www-client/firefox/firefox-96.0.1.ebuild b/www-client/firefox/firefox-96.0.1.ebuild
deleted file mode 100644
index 37db0d2c..00000000
--- a/www-client/firefox/firefox-96.0.1.ebuild
+++ /dev/null
@@ -1,1239 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-FIREFOX_PATCHSET="firefox-96-patches-01.tar.xz"
-
-LLVM_MAX_SLOT=13
-
-PYTHON_COMPAT=( python3_{7..10} )
-PYTHON_REQ_USE="ncurses,sqlite,ssl"
-
-WANT_AUTOCONF="2.1"
-
-VIRTUALX_REQUIRED="pgo"
-
-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 pax-utils python-any-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/~{polynomial-c,whissi}/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 ~x86"
-
-SLOT="0/$(ver_cut 1)"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-
-IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
-IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
-IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx +system-webp"
-IUSE+=" wayland wifi"
-
-# Firefox-only IUSE
-IUSE+=" geckodriver"
-IUSE+=" +gmp-autoupdate"
-IUSE+=" screencast"
-
-REQUIRED_USE="debug? ( !system-av1 )
- pgo? ( lto )
- wayland? ( dbus )
- wifi? ( dbus )"
-
-# Firefox-only REQUIRED_USE flags
-REQUIRED_USE+=" screencast? ( wayland )"
-
-BDEPEND="${PYTHON_DEPS}
- app-arch/unzip
- app-arch/zip
- >=dev-util/cbindgen-0.19.0
- >=net-libs/nodejs-10.23.1
- virtual/pkgconfig
- >=virtual/rust-1.53.0
- || (
- (
- sys-devel/clang:13
- sys-devel/llvm:13
- clang? (
- =sys-devel/lld-13*
- pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
- )
- )
- (
- sys-devel/clang:12
- sys-devel/llvm:12
- clang? (
- =sys-devel/lld-12*
- pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
- )
- )
- (
- sys-devel/clang:11
- sys-devel/llvm:11
- clang? (
- =sys-devel/lld-11*
- pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
- )
- )
- )
- amd64? ( >=dev-lang/nasm-2.13 )
- x86? ( >=dev-lang/nasm-2.13 )"
-
-CDEPEND="
- >=dev-libs/nss-3.73
- >=dev-libs/nspr-4.32
- dev-libs/atk
- dev-libs/expat
- >=x11-libs/cairo-1.10[X]
- >=x11-libs/gtk+-3.4.0:3[X]
- x11-libs/gdk-pixbuf
- >=x11-libs/pango-1.22.0
- >=media-libs/mesa-10.2:*
- media-libs/fontconfig
- >=media-libs/freetype-2.4.10
- >=media-libs/libpng-1.6.35:0=[apng(+)]
- kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
- virtual/freedesktop-icon-theme
- >=x11-libs/pixman-0.19.2
- >=dev-libs/glib-2.26:2
- >=sys-libs/zlib-1.2.3
- >=dev-libs/libffi-3.0.10:=
- media-video/ffmpeg
- x11-libs/libX11
- x11-libs/libxcb
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXtst
- dbus? (
- sys-apps/dbus
- dev-libs/dbus-glib
- )
- screencast? ( media-video/pipewire:= )
- system-av1? (
- >=media-libs/dav1d-0.9.3:=
- >=media-libs/libaom-1.0.0:=
- )
- system-harfbuzz? (
- >=media-libs/harfbuzz-2.8.1:0=
- >=media-gfx/graphite2-1.3.13
- )
- system-icu? ( >=dev-libs/icu-70.1:= )
- system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
- system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
- system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
- system-webp? ( >=media-libs/libwebp-1.1.0:0= )
- wifi? (
- kernel_linux? (
- sys-apps/dbus
- dev-libs/dbus-glib
- net-misc/networkmanager
- )
- )
- jack? ( virtual/jack )
- selinux? ( sec-policy/selinux-mozilla )
- sndio? ( media-sound/sndio )"
-
-RDEPEND="${CDEPEND}
- jack? ( virtual/jack )
- openh264? ( media-libs/openh264:*[plugin] )
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4
- )
- )
- selinux? ( sec-policy/selinux-mozilla )"
-
-DEPEND="${CDEPEND}
- x11-libs/libICE
- x11-libs/libSM
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4[sdk]
- )
- )
- wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
- amd64? ( virtual/opengl )
- x86? ( virtual/opengl )"
-
-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 ; 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 use pgo ; then
- if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
- einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* 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+=( 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+=( 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}"
-}
-
-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="6400M"
- 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 ; 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!"
-
- # temp fix for https://bugs.gentoo.org/768543
- # we can assume that rust 1.{49,50}.0 always uses llvm 11
- local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
- [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
- [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
-
- if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
- local version_llvm_rust="11"
- else
- 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!"
- fi
-
- 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"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
- && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
- # bug 792705
- eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
- die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
- 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
- # 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() {
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
- eapply "${WORKDIR}/firefox-patches"
-
- # Allow user to apply any additional patches without modifing ebuild
- eapply_user
-
- # Make LTO respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/build/moz.configure/lto-pgo.configure \
- || die "sed failed to set num_cores"
-
- # Make ICU respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/intl/icu_sources_data.py \
- || die "sed failed to set num_cores"
-
- # 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
-
- # Clearing checksums where we have applied patches
- moz_clear_vendor_checksums target-lexicon-0.9.0
-
- # 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_src_prepare
-}
-
-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 && ! tc-is-clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- have_switched_compiler=yes
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-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
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- tc-export CC CXX LD AR NM OBJDUMP RANLIB 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
-
- # Set Gentoo defaults
- export MOZILLA_OFFICIAL=1
-
- mozconfig_add_options_ac 'Gentoo default' \
- --allow-addon-sideload \
- --disable-cargo-incremental \
- --disable-crashreporter \
- --disable-install-strip \
- --disable-strip \
- --disable-updater \
- --enable-official-branding \
- --enable-release \
- --enable-system-ffi \
- --enable-system-pixman \
- --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-png \
- --with-system-zlib \
- --with-toolchain-prefix="${CHOST}-" \
- --with-unsigned-addon-scopes=app,system \
- --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
- --x-libraries="${SYSROOT}${EPREFIX}/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
-
- 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 system-libevent "${SYSROOT}${EPREFIX}/usr"
- mozconfig_use_with system-libvpx
- mozconfig_use_with system-webp
-
- mozconfig_use_enable dbus
-
- 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"
- fi
-
- mozconfig_use_enable jack
-
- mozconfig_use_enable pulseaudio
- # force the deprecated alsa sound code if pulseaudio is disabled
- if use kernel_linux && ! use pulseaudio ; then
- mozconfig_add_options_ac '-pulseaudio' --enable-alsa
- fi
-
- mozconfig_use_enable sndio
-
- mozconfig_use_enable wifi necko-wifi
-
- if use wayland ; then
- mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
- else
- mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
- fi
-
- if use lto ; then
- if use clang ; then
- # Upstream only supports lld when using clang
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
-
- mozconfig_add_options_ac '+lto' --enable-lto=cross
- else
- # ld.gold is known to fail:
- # /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld.gold: internal error in set_xindex, at /var/tmp/portage/sys-devel/binutils-2.37_p1-r1/work/binutils-2.37/gold/object.h:1050
-
- # ThinLTO is currently broken, see bmo#1644409
- 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
- # This is upstream's default
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
- else
- mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
- fi
- fi
-
- # LTO flag was handled via configure
- filter-flags '-flto*'
-
- mozconfig_use_enable debug
- if use debug ; then
- mozconfig_add_options_ac '+debug' --disable-optimize
- else
- 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
-
- if use clang ; then
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
- # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
- local disable_elf_hack=
- if use amd64 ; then
- disable_elf_hack=yes
- elif use x86 ; then
- disable_elf_hack=yes
- elif use arm ; then
- disable_elf_hack=yes
- fi
-
- if [[ -n ${disable_elf_hack} ]] ; then
- mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
- fi
- elif tc-is-gcc ; then
- if ver_test $(gcc-fullversion) -ge 10 ; then
- einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
- append-cxxflags -fno-tree-loop-vectorize
- fi
- fi
-
- # Additional ARCH support
- case "${ARCH}" in
- arm)
- # Reduce the memory requirements for linking
- if use clang ; then
- # Nothing to do
- :;
- elif tc-ld-is-gold || 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
-
- # 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 MACH_USE_SYSTEM_PYTHON=1
- export MACH_SYSTEM_ASSERTED_COMPATIBLE_WITH_MACH_SITE=1
- export PIP_NO_CACHE_DIR=off
-
- # 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
-
- ./mach configure || die
-}
-
-src_compile() {
- local virtx_cmd=
-
- if use pgo ; then
- virtx_cmd=virtx
-
- # Reset and cleanup environment variables used by GNOME/XDG
- gnome2_environment_reset
-
- addpredict /root
- fi
-
- local -x GDK_BACKEND=x11
-
- ${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 \
- >>"${GENTOO_PREFS}" \
- || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
- 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
-}
-
-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
-
- local show_doh_information
- local show_normandy_information
- local show_shortcut_information
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- # New install; Tell user that DoH is disabled by default
- show_doh_information=yes
- show_normandy_information=yes
- show_shortcut_information=no
- else
- local replacing_version
- for replacing_version in ${REPLACING_VERSIONS} ; do
- if ver_test "${replacing_version}" -lt 91.0 ; then
- # Tell user that we no longer install a shortcut
- # per supported display protocol
- show_shortcut_information=yes
- fi
- done
- fi
-
- if [[ -n "${show_doh_information}" ]] ; then
- elog
- elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
- elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
- elog "DNS traffic to Cloudflare by default is not a good idea and applications"
- elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
- elog "(\"Off by choice\") by default."
- elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
- fi
-
- # bug 713782
- if [[ -n "${show_normandy_information}" ]] ; then
- elog
- elog "Upstream operates a service named Normandy which allows Mozilla to"
- elog "push changes for default settings or even install new add-ons remotely."
- elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
- elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
- elog "concerns prevail, which is why we have switched off the use of this"
- elog "service by default."
- elog
- elog "To re-enable this service set"
- elog
- elog " app.normandy.enabled=true"
- elog
- elog "in about:config."
- fi
-
- if [[ -n "${show_shortcut_information}" ]] ; then
- elog
- elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
- elog "each supported display protocol. Instead we will only install"
- elog "one generic Mozilla ${PN^} shortcut."
- elog "If you still want to be able to select between running Mozilla ${PN^}"
- elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
- fi
-}
diff --git a/www-client/firefox/firefox-96.0.2.ebuild b/www-client/firefox/firefox-96.0.2.ebuild
deleted file mode 100644
index 37db0d2c..00000000
--- a/www-client/firefox/firefox-96.0.2.ebuild
+++ /dev/null
@@ -1,1239 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-FIREFOX_PATCHSET="firefox-96-patches-01.tar.xz"
-
-LLVM_MAX_SLOT=13
-
-PYTHON_COMPAT=( python3_{7..10} )
-PYTHON_REQ_USE="ncurses,sqlite,ssl"
-
-WANT_AUTOCONF="2.1"
-
-VIRTUALX_REQUIRED="pgo"
-
-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 pax-utils python-any-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/~{polynomial-c,whissi}/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 ~x86"
-
-SLOT="0/$(ver_cut 1)"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-
-IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
-IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
-IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx +system-webp"
-IUSE+=" wayland wifi"
-
-# Firefox-only IUSE
-IUSE+=" geckodriver"
-IUSE+=" +gmp-autoupdate"
-IUSE+=" screencast"
-
-REQUIRED_USE="debug? ( !system-av1 )
- pgo? ( lto )
- wayland? ( dbus )
- wifi? ( dbus )"
-
-# Firefox-only REQUIRED_USE flags
-REQUIRED_USE+=" screencast? ( wayland )"
-
-BDEPEND="${PYTHON_DEPS}
- app-arch/unzip
- app-arch/zip
- >=dev-util/cbindgen-0.19.0
- >=net-libs/nodejs-10.23.1
- virtual/pkgconfig
- >=virtual/rust-1.53.0
- || (
- (
- sys-devel/clang:13
- sys-devel/llvm:13
- clang? (
- =sys-devel/lld-13*
- pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
- )
- )
- (
- sys-devel/clang:12
- sys-devel/llvm:12
- clang? (
- =sys-devel/lld-12*
- pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
- )
- )
- (
- sys-devel/clang:11
- sys-devel/llvm:11
- clang? (
- =sys-devel/lld-11*
- pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
- )
- )
- )
- amd64? ( >=dev-lang/nasm-2.13 )
- x86? ( >=dev-lang/nasm-2.13 )"
-
-CDEPEND="
- >=dev-libs/nss-3.73
- >=dev-libs/nspr-4.32
- dev-libs/atk
- dev-libs/expat
- >=x11-libs/cairo-1.10[X]
- >=x11-libs/gtk+-3.4.0:3[X]
- x11-libs/gdk-pixbuf
- >=x11-libs/pango-1.22.0
- >=media-libs/mesa-10.2:*
- media-libs/fontconfig
- >=media-libs/freetype-2.4.10
- >=media-libs/libpng-1.6.35:0=[apng(+)]
- kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
- virtual/freedesktop-icon-theme
- >=x11-libs/pixman-0.19.2
- >=dev-libs/glib-2.26:2
- >=sys-libs/zlib-1.2.3
- >=dev-libs/libffi-3.0.10:=
- media-video/ffmpeg
- x11-libs/libX11
- x11-libs/libxcb
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXtst
- dbus? (
- sys-apps/dbus
- dev-libs/dbus-glib
- )
- screencast? ( media-video/pipewire:= )
- system-av1? (
- >=media-libs/dav1d-0.9.3:=
- >=media-libs/libaom-1.0.0:=
- )
- system-harfbuzz? (
- >=media-libs/harfbuzz-2.8.1:0=
- >=media-gfx/graphite2-1.3.13
- )
- system-icu? ( >=dev-libs/icu-70.1:= )
- system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
- system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
- system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
- system-webp? ( >=media-libs/libwebp-1.1.0:0= )
- wifi? (
- kernel_linux? (
- sys-apps/dbus
- dev-libs/dbus-glib
- net-misc/networkmanager
- )
- )
- jack? ( virtual/jack )
- selinux? ( sec-policy/selinux-mozilla )
- sndio? ( media-sound/sndio )"
-
-RDEPEND="${CDEPEND}
- jack? ( virtual/jack )
- openh264? ( media-libs/openh264:*[plugin] )
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4
- )
- )
- selinux? ( sec-policy/selinux-mozilla )"
-
-DEPEND="${CDEPEND}
- x11-libs/libICE
- x11-libs/libSM
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4[sdk]
- )
- )
- wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
- amd64? ( virtual/opengl )
- x86? ( virtual/opengl )"
-
-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 ; 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 use pgo ; then
- if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
- einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* 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+=( 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+=( 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}"
-}
-
-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="6400M"
- 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 ; 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!"
-
- # temp fix for https://bugs.gentoo.org/768543
- # we can assume that rust 1.{49,50}.0 always uses llvm 11
- local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
- [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
- [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
-
- if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
- local version_llvm_rust="11"
- else
- 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!"
- fi
-
- 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"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
- && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
- # bug 792705
- eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
- die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
- 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
- # 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() {
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
- eapply "${WORKDIR}/firefox-patches"
-
- # Allow user to apply any additional patches without modifing ebuild
- eapply_user
-
- # Make LTO respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/build/moz.configure/lto-pgo.configure \
- || die "sed failed to set num_cores"
-
- # Make ICU respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/intl/icu_sources_data.py \
- || die "sed failed to set num_cores"
-
- # 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
-
- # Clearing checksums where we have applied patches
- moz_clear_vendor_checksums target-lexicon-0.9.0
-
- # 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_src_prepare
-}
-
-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 && ! tc-is-clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- have_switched_compiler=yes
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-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
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- tc-export CC CXX LD AR NM OBJDUMP RANLIB 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
-
- # Set Gentoo defaults
- export MOZILLA_OFFICIAL=1
-
- mozconfig_add_options_ac 'Gentoo default' \
- --allow-addon-sideload \
- --disable-cargo-incremental \
- --disable-crashreporter \
- --disable-install-strip \
- --disable-strip \
- --disable-updater \
- --enable-official-branding \
- --enable-release \
- --enable-system-ffi \
- --enable-system-pixman \
- --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-png \
- --with-system-zlib \
- --with-toolchain-prefix="${CHOST}-" \
- --with-unsigned-addon-scopes=app,system \
- --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
- --x-libraries="${SYSROOT}${EPREFIX}/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
-
- 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 system-libevent "${SYSROOT}${EPREFIX}/usr"
- mozconfig_use_with system-libvpx
- mozconfig_use_with system-webp
-
- mozconfig_use_enable dbus
-
- 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"
- fi
-
- mozconfig_use_enable jack
-
- mozconfig_use_enable pulseaudio
- # force the deprecated alsa sound code if pulseaudio is disabled
- if use kernel_linux && ! use pulseaudio ; then
- mozconfig_add_options_ac '-pulseaudio' --enable-alsa
- fi
-
- mozconfig_use_enable sndio
-
- mozconfig_use_enable wifi necko-wifi
-
- if use wayland ; then
- mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
- else
- mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
- fi
-
- if use lto ; then
- if use clang ; then
- # Upstream only supports lld when using clang
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
-
- mozconfig_add_options_ac '+lto' --enable-lto=cross
- else
- # ld.gold is known to fail:
- # /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld.gold: internal error in set_xindex, at /var/tmp/portage/sys-devel/binutils-2.37_p1-r1/work/binutils-2.37/gold/object.h:1050
-
- # ThinLTO is currently broken, see bmo#1644409
- 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
- # This is upstream's default
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
- else
- mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
- fi
- fi
-
- # LTO flag was handled via configure
- filter-flags '-flto*'
-
- mozconfig_use_enable debug
- if use debug ; then
- mozconfig_add_options_ac '+debug' --disable-optimize
- else
- 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
-
- if use clang ; then
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
- # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
- local disable_elf_hack=
- if use amd64 ; then
- disable_elf_hack=yes
- elif use x86 ; then
- disable_elf_hack=yes
- elif use arm ; then
- disable_elf_hack=yes
- fi
-
- if [[ -n ${disable_elf_hack} ]] ; then
- mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
- fi
- elif tc-is-gcc ; then
- if ver_test $(gcc-fullversion) -ge 10 ; then
- einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
- append-cxxflags -fno-tree-loop-vectorize
- fi
- fi
-
- # Additional ARCH support
- case "${ARCH}" in
- arm)
- # Reduce the memory requirements for linking
- if use clang ; then
- # Nothing to do
- :;
- elif tc-ld-is-gold || 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
-
- # 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 MACH_USE_SYSTEM_PYTHON=1
- export MACH_SYSTEM_ASSERTED_COMPATIBLE_WITH_MACH_SITE=1
- export PIP_NO_CACHE_DIR=off
-
- # 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
-
- ./mach configure || die
-}
-
-src_compile() {
- local virtx_cmd=
-
- if use pgo ; then
- virtx_cmd=virtx
-
- # Reset and cleanup environment variables used by GNOME/XDG
- gnome2_environment_reset
-
- addpredict /root
- fi
-
- local -x GDK_BACKEND=x11
-
- ${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 \
- >>"${GENTOO_PREFS}" \
- || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
- 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
-}
-
-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
-
- local show_doh_information
- local show_normandy_information
- local show_shortcut_information
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- # New install; Tell user that DoH is disabled by default
- show_doh_information=yes
- show_normandy_information=yes
- show_shortcut_information=no
- else
- local replacing_version
- for replacing_version in ${REPLACING_VERSIONS} ; do
- if ver_test "${replacing_version}" -lt 91.0 ; then
- # Tell user that we no longer install a shortcut
- # per supported display protocol
- show_shortcut_information=yes
- fi
- done
- fi
-
- if [[ -n "${show_doh_information}" ]] ; then
- elog
- elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
- elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
- elog "DNS traffic to Cloudflare by default is not a good idea and applications"
- elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
- elog "(\"Off by choice\") by default."
- elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
- fi
-
- # bug 713782
- if [[ -n "${show_normandy_information}" ]] ; then
- elog
- elog "Upstream operates a service named Normandy which allows Mozilla to"
- elog "push changes for default settings or even install new add-ons remotely."
- elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
- elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
- elog "concerns prevail, which is why we have switched off the use of this"
- elog "service by default."
- elog
- elog "To re-enable this service set"
- elog
- elog " app.normandy.enabled=true"
- elog
- elog "in about:config."
- fi
-
- if [[ -n "${show_shortcut_information}" ]] ; then
- elog
- elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
- elog "each supported display protocol. Instead we will only install"
- elog "one generic Mozilla ${PN^} shortcut."
- elog "If you still want to be able to select between running Mozilla ${PN^}"
- elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
- fi
-}
diff --git a/www-client/firefox/firefox-96.0.ebuild b/www-client/firefox/firefox-96.0.ebuild
deleted file mode 100644
index 37db0d2c..00000000
--- a/www-client/firefox/firefox-96.0.ebuild
+++ /dev/null
@@ -1,1239 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-FIREFOX_PATCHSET="firefox-96-patches-01.tar.xz"
-
-LLVM_MAX_SLOT=13
-
-PYTHON_COMPAT=( python3_{7..10} )
-PYTHON_REQ_USE="ncurses,sqlite,ssl"
-
-WANT_AUTOCONF="2.1"
-
-VIRTUALX_REQUIRED="pgo"
-
-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 pax-utils python-any-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/~{polynomial-c,whissi}/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 ~x86"
-
-SLOT="0/$(ver_cut 1)"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-
-IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
-IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
-IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx +system-webp"
-IUSE+=" wayland wifi"
-
-# Firefox-only IUSE
-IUSE+=" geckodriver"
-IUSE+=" +gmp-autoupdate"
-IUSE+=" screencast"
-
-REQUIRED_USE="debug? ( !system-av1 )
- pgo? ( lto )
- wayland? ( dbus )
- wifi? ( dbus )"
-
-# Firefox-only REQUIRED_USE flags
-REQUIRED_USE+=" screencast? ( wayland )"
-
-BDEPEND="${PYTHON_DEPS}
- app-arch/unzip
- app-arch/zip
- >=dev-util/cbindgen-0.19.0
- >=net-libs/nodejs-10.23.1
- virtual/pkgconfig
- >=virtual/rust-1.53.0
- || (
- (
- sys-devel/clang:13
- sys-devel/llvm:13
- clang? (
- =sys-devel/lld-13*
- pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
- )
- )
- (
- sys-devel/clang:12
- sys-devel/llvm:12
- clang? (
- =sys-devel/lld-12*
- pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
- )
- )
- (
- sys-devel/clang:11
- sys-devel/llvm:11
- clang? (
- =sys-devel/lld-11*
- pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
- )
- )
- )
- amd64? ( >=dev-lang/nasm-2.13 )
- x86? ( >=dev-lang/nasm-2.13 )"
-
-CDEPEND="
- >=dev-libs/nss-3.73
- >=dev-libs/nspr-4.32
- dev-libs/atk
- dev-libs/expat
- >=x11-libs/cairo-1.10[X]
- >=x11-libs/gtk+-3.4.0:3[X]
- x11-libs/gdk-pixbuf
- >=x11-libs/pango-1.22.0
- >=media-libs/mesa-10.2:*
- media-libs/fontconfig
- >=media-libs/freetype-2.4.10
- >=media-libs/libpng-1.6.35:0=[apng(+)]
- kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
- virtual/freedesktop-icon-theme
- >=x11-libs/pixman-0.19.2
- >=dev-libs/glib-2.26:2
- >=sys-libs/zlib-1.2.3
- >=dev-libs/libffi-3.0.10:=
- media-video/ffmpeg
- x11-libs/libX11
- x11-libs/libxcb
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXtst
- dbus? (
- sys-apps/dbus
- dev-libs/dbus-glib
- )
- screencast? ( media-video/pipewire:= )
- system-av1? (
- >=media-libs/dav1d-0.9.3:=
- >=media-libs/libaom-1.0.0:=
- )
- system-harfbuzz? (
- >=media-libs/harfbuzz-2.8.1:0=
- >=media-gfx/graphite2-1.3.13
- )
- system-icu? ( >=dev-libs/icu-70.1:= )
- system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
- system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
- system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
- system-webp? ( >=media-libs/libwebp-1.1.0:0= )
- wifi? (
- kernel_linux? (
- sys-apps/dbus
- dev-libs/dbus-glib
- net-misc/networkmanager
- )
- )
- jack? ( virtual/jack )
- selinux? ( sec-policy/selinux-mozilla )
- sndio? ( media-sound/sndio )"
-
-RDEPEND="${CDEPEND}
- jack? ( virtual/jack )
- openh264? ( media-libs/openh264:*[plugin] )
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4
- )
- )
- selinux? ( sec-policy/selinux-mozilla )"
-
-DEPEND="${CDEPEND}
- x11-libs/libICE
- x11-libs/libSM
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4[sdk]
- )
- )
- wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
- amd64? ( virtual/opengl )
- x86? ( virtual/opengl )"
-
-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 ; 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 use pgo ; then
- if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
- einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* 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+=( 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+=( 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}"
-}
-
-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="6400M"
- 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 ; 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!"
-
- # temp fix for https://bugs.gentoo.org/768543
- # we can assume that rust 1.{49,50}.0 always uses llvm 11
- local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
- [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
- [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
-
- if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
- local version_llvm_rust="11"
- else
- 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!"
- fi
-
- 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"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
- && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
- # bug 792705
- eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
- die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
- 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
- # 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() {
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
- eapply "${WORKDIR}/firefox-patches"
-
- # Allow user to apply any additional patches without modifing ebuild
- eapply_user
-
- # Make LTO respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/build/moz.configure/lto-pgo.configure \
- || die "sed failed to set num_cores"
-
- # Make ICU respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/intl/icu_sources_data.py \
- || die "sed failed to set num_cores"
-
- # 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
-
- # Clearing checksums where we have applied patches
- moz_clear_vendor_checksums target-lexicon-0.9.0
-
- # 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_src_prepare
-}
-
-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 && ! tc-is-clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- have_switched_compiler=yes
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-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
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- tc-export CC CXX LD AR NM OBJDUMP RANLIB 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
-
- # Set Gentoo defaults
- export MOZILLA_OFFICIAL=1
-
- mozconfig_add_options_ac 'Gentoo default' \
- --allow-addon-sideload \
- --disable-cargo-incremental \
- --disable-crashreporter \
- --disable-install-strip \
- --disable-strip \
- --disable-updater \
- --enable-official-branding \
- --enable-release \
- --enable-system-ffi \
- --enable-system-pixman \
- --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-png \
- --with-system-zlib \
- --with-toolchain-prefix="${CHOST}-" \
- --with-unsigned-addon-scopes=app,system \
- --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
- --x-libraries="${SYSROOT}${EPREFIX}/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
-
- 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 system-libevent "${SYSROOT}${EPREFIX}/usr"
- mozconfig_use_with system-libvpx
- mozconfig_use_with system-webp
-
- mozconfig_use_enable dbus
-
- 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"
- fi
-
- mozconfig_use_enable jack
-
- mozconfig_use_enable pulseaudio
- # force the deprecated alsa sound code if pulseaudio is disabled
- if use kernel_linux && ! use pulseaudio ; then
- mozconfig_add_options_ac '-pulseaudio' --enable-alsa
- fi
-
- mozconfig_use_enable sndio
-
- mozconfig_use_enable wifi necko-wifi
-
- if use wayland ; then
- mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
- else
- mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
- fi
-
- if use lto ; then
- if use clang ; then
- # Upstream only supports lld when using clang
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
-
- mozconfig_add_options_ac '+lto' --enable-lto=cross
- else
- # ld.gold is known to fail:
- # /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld.gold: internal error in set_xindex, at /var/tmp/portage/sys-devel/binutils-2.37_p1-r1/work/binutils-2.37/gold/object.h:1050
-
- # ThinLTO is currently broken, see bmo#1644409
- 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
- # This is upstream's default
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
- else
- mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
- fi
- fi
-
- # LTO flag was handled via configure
- filter-flags '-flto*'
-
- mozconfig_use_enable debug
- if use debug ; then
- mozconfig_add_options_ac '+debug' --disable-optimize
- else
- 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
-
- if use clang ; then
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
- # toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
- local disable_elf_hack=
- if use amd64 ; then
- disable_elf_hack=yes
- elif use x86 ; then
- disable_elf_hack=yes
- elif use arm ; then
- disable_elf_hack=yes
- fi
-
- if [[ -n ${disable_elf_hack} ]] ; then
- mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
- fi
- elif tc-is-gcc ; then
- if ver_test $(gcc-fullversion) -ge 10 ; then
- einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
- append-cxxflags -fno-tree-loop-vectorize
- fi
- fi
-
- # Additional ARCH support
- case "${ARCH}" in
- arm)
- # Reduce the memory requirements for linking
- if use clang ; then
- # Nothing to do
- :;
- elif tc-ld-is-gold || 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
-
- # 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 MACH_USE_SYSTEM_PYTHON=1
- export MACH_SYSTEM_ASSERTED_COMPATIBLE_WITH_MACH_SITE=1
- export PIP_NO_CACHE_DIR=off
-
- # 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
-
- ./mach configure || die
-}
-
-src_compile() {
- local virtx_cmd=
-
- if use pgo ; then
- virtx_cmd=virtx
-
- # Reset and cleanup environment variables used by GNOME/XDG
- gnome2_environment_reset
-
- addpredict /root
- fi
-
- local -x GDK_BACKEND=x11
-
- ${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 \
- >>"${GENTOO_PREFS}" \
- || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
- 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
-}
-
-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
-
- local show_doh_information
- local show_normandy_information
- local show_shortcut_information
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- # New install; Tell user that DoH is disabled by default
- show_doh_information=yes
- show_normandy_information=yes
- show_shortcut_information=no
- else
- local replacing_version
- for replacing_version in ${REPLACING_VERSIONS} ; do
- if ver_test "${replacing_version}" -lt 91.0 ; then
- # Tell user that we no longer install a shortcut
- # per supported display protocol
- show_shortcut_information=yes
- fi
- done
- fi
-
- if [[ -n "${show_doh_information}" ]] ; then
- elog
- elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
- elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
- elog "DNS traffic to Cloudflare by default is not a good idea and applications"
- elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
- elog "(\"Off by choice\") by default."
- elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
- fi
-
- # bug 713782
- if [[ -n "${show_normandy_information}" ]] ; then
- elog
- elog "Upstream operates a service named Normandy which allows Mozilla to"
- elog "push changes for default settings or even install new add-ons remotely."
- elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
- elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
- elog "concerns prevail, which is why we have switched off the use of this"
- elog "service by default."
- elog
- elog "To re-enable this service set"
- elog
- elog " app.normandy.enabled=true"
- elog
- elog "in about:config."
- fi
-
- if [[ -n "${show_shortcut_information}" ]] ; then
- elog
- elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
- elog "each supported display protocol. Instead we will only install"
- elog "one generic Mozilla ${PN^} shortcut."
- elog "If you still want to be able to select between running Mozilla ${PN^}"
- elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
- fi
-}
diff --git a/www-client/firefox/metadata.xml b/www-client/firefox/metadata.xml
deleted file mode 100644
index 32fae387..00000000
--- a/www-client/firefox/metadata.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>mozilla@gentoo.org</email>
- <name>Gentoo Mozilla Team</name>
-</maintainer>
-<use>
- <flag name="clang">Use Clang compiler instead of GCC</flag>
- <flag name="eme-free">Disable EME (DRM plugin) cabability at build time</flag>
- <flag name="geckodriver">Enable WebDriver support</flag>
- <flag name="gmp-autoupdate">Allow Gecko Media Plugins (binary blobs) to be automatically
- downloaded and kept up-to-date in user profiles</flag>
- <flag name="hwaccel">Force-enable hardware-accelerated rendering (Mozilla bug 594876)</flag>
- <flag name="lto">Enable Link Time Optimization (LTO). Requires Gold linker when using GCC
- or LDD linker when using Clang</flag>
- <flag name="openh264">Use <pkg>media-libs/openh264</pkg> for H.264 support
- instead of downloading binary blob from Mozilla at runtime</flag>
- <flag name="pgo">Add support for profile-guided optimization using gcc-4.5,
- for faster binaries. This option will double the compile time.</flag>
- <flag name="screencast">Enable support for remote desktop and screen cast using <pkg>media-video/pipewire</pkg></flag>
- <flag name="sndio">Enable support for the <pkg>media-sound/sndio</pkg> backend</flag>
- <flag name="system-av1">Use the system-wide <pkg>media-libs/dav1d</pkg>
- and <pkg>media-libs/libaom</pkg> library instead of bundled.</flag>
- <flag name="system-harfbuzz">Use the system-wide <pkg>media-libs/harfbuzz</pkg>
- and <pkg>media-gfx/graphite2</pkg> instead of bundled.</flag>
- <flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg>
- instead of bundled.</flag>
- <flag name="system-jpeg">Use the system-wide <pkg>media-libs/libjpeg-turbo</pkg>
- instead of bundled.</flag>
- <flag name="system-libevent">Use the system-wide <pkg>dev-libs/libevent</pkg>
- instead of bundled.</flag>
- <flag name="system-libvpx">Use the system-wide <pkg>media-libs/libvpx</pkg>
- instead of bundled.</flag>
- <flag name="system-webp">Use the system-wide <pkg>media-libs/libwebp</pkg>
- instead of bundled.</flag>
-</use>
-</pkgmetadata>