summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2022-08-25 07:24:26 +0300
committerJoonas Niilola <juippis@gentoo.org>2022-08-25 07:24:26 +0300
commit63e594669dc851bfb07aad2cc81f000d0c2af865 (patch)
tree146fa90517096f8442b5ed9e6930ef3fb8829dc6 /www-client
parentdev-libs/hidapi: Stabilize 0.11.0 ppc, #866404 (diff)
downloadgentoo-63e594669dc851bfb07aad2cc81f000d0c2af865.tar.gz
gentoo-63e594669dc851bfb07aad2cc81f000d0c2af865.tar.bz2
gentoo-63e594669dc851bfb07aad2cc81f000d0c2af865.zip
www-client/firefox: drop 91.12.0, 102.1.0, 103.0.2
Bug: https://bugs.gentoo.org/866215 Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'www-client')
-rw-r--r--www-client/firefox/Manifest295
-rw-r--r--www-client/firefox/firefox-102.1.0.ebuild1284
-rw-r--r--www-client/firefox/firefox-103.0.2.ebuild1286
-rw-r--r--www-client/firefox/firefox-91.12.0.ebuild1236
4 files changed, 0 insertions, 4101 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 0ec73994efd6..5554faf49abf 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -1,101 +1,3 @@
-DIST firefox-102.1.0esr-ach.xpi 443121 BLAKE2B 71bcf39ed5c3e252c3fc15593c6b69a8fe85962d51e24c25af394a5924279dd7f2d053254b55aced273bd98f55249f57c8c8c2bca59f9b19cd07a4e3b804bb3b SHA512 47fb0949323a9ab90a986af16dd72aefd301b56786a8c5e45ba40928027294a2bd9e48c4f1c2c56ae85c2d3a26eeace5a0e7684a3323914379832007b1af154a
-DIST firefox-102.1.0esr-af.xpi 408465 BLAKE2B d7d9d4c3da3a07d04486a7191427c405ef57e7aa69eb76ae82350fefad2c129844e37cd4874ef3c6052d908d929a22b85a0d43a310475b1f5d6621f7895d9496 SHA512 71fcbc1db5236ecf1d0b9526b959405d005eb1c91882b7de47b215cf3d7053f18562dad6e52158132e51ad43abe5ae6060fcaf6daf00699a7551d8ae416dd285
-DIST firefox-102.1.0esr-an.xpi 486986 BLAKE2B 3ba9ea6b3fc5f9bac75a5e60aa5b8898927d4fb8b3b94e0d476afff2809f67bcdf537772322a15886ff8eb1bf2083f9112386e5145ac213ef2b2b375808ac3fa SHA512 c2d84f672f230f755f65e148f23d616598a9211464345ed1d2acc59ef2aa8b9b1a55200628f3f517060d44f5db566d5b3dd479f1226db5f46758f19a27cb1e5f
-DIST firefox-102.1.0esr-ar.xpi 550928 BLAKE2B 5381436251258d871901788be18f2992798ce90290da4ccfc54de0b9231fb27548e0c233ded87f0a18cb67ad2ad16fbd9f7090761dbfd42ed92e15724fed90c1 SHA512 4c8e981a2874b3b9ac2cb8a15f4ea060b3d80e297e69f2f068cd8135a9489432b8954af3683e456c3b05eb3bf53f3baec9d4d34e289fa597b150c7d7ff676384
-DIST firefox-102.1.0esr-ast.xpi 483314 BLAKE2B b1ee767b73b308187bf94cf1f640619b3a425d24c19125576e3f5a8c4219d4239d5c1031494ba073a9a1b101f8328939d8242e4b529a52f3ace7113f37ebbf30 SHA512 00fc703e27a687c725a1c9b7ce5d483b03b4ad0bb443ab05a3ffb89f4f26877acc3d9b4c804a33341c7ac61999d8e0b38cde5937685341428c40940602854510
-DIST firefox-102.1.0esr-az.xpi 474705 BLAKE2B 96d64ecedad79e71bc700f0c9e3fdc51eabf8a6f565593a2fd5911058fc115d52866a3e6992cd45850182916831152e48add63f1d5408a5f853fcdb8ff91cad0 SHA512 46500ca802c5e4bd7e7aac560f1d0adbb9d6d56d6179394e91edd2cb80fb1b0191d22e4de7c7a95b42d525d1a6656ea545d49ca144d4be1803c0f5dc616367f8
-DIST firefox-102.1.0esr-be.xpi 613480 BLAKE2B 080e6678704453c8551cc4179137e9da2b3bb2d9a449b7598d7fc02b8cb6f4591588c352e5e3c4baca5b3753db731ec5c2201c255972f78c7a5120826391099b SHA512 3839862773a5d665d6046cb3c617a916ec29c9e5a108ea3f1edb22f822accb97909515bc0e0dec67b849607b7fabcf996f6d12689b552f47889132fbfce68758
-DIST firefox-102.1.0esr-bg.xpi 563649 BLAKE2B 8b82ac1359afcf6be5e65c46e718cb4b36483360074a9065dd1085f585514723b5ffc2caf3ca903b9f70abeba4fe872a979dcec40d465d7fac6b1a45d44d0a0d SHA512 7eca4e38b6f9a2091ce6941507d4105c6b977399f2131af6fb059d0d78fe7b578da984913c5223f4334346423654ff686ea2c9fdbd442d782736f27274162859
-DIST firefox-102.1.0esr-bn.xpi 565248 BLAKE2B c5ef405f8ae45a341cd76a796ea2e73ff6a7cc1445d92b20cf2498df3998939e43b141e1d67310a51ca589293b9f87d8ebddb590144ff8aed9821fb4dc84591e SHA512 a234871d127bca44a781e9d6b165fd01763c477be7c703bfb39f9a7085137d25878647cd8d3d8d89371a071d04afb422c8cca252e87dc463267a5b1d26d36e37
-DIST firefox-102.1.0esr-br.xpi 521048 BLAKE2B 7df39696c920f1eba0e2aca10b48b88d18a5f7e5559885c417aeab6dbfe5e21b38c011886dd96ac6935e3f1e65da82fa0f1cbff5e8b757c15b22dcc0e310650f SHA512 cf86703796a9f92a3baa58327e446dbe02354cb743b183a2d3ac3dbb8fa4aad58288e630d61c2ba51be1859b2c09bea48c37b6f3a2998012cb99363e90b76455
-DIST firefox-102.1.0esr-bs.xpi 451835 BLAKE2B e55944e27555b34a6924fb9bb5e39baef0c010e847cf664ef9482f8f634a238f3f4f8ff4ab08dfddf4f1e8ec9cf745fb4683e7fe502d6f20fa6e5de75f3ce2cd SHA512 cb33f079b92eac84b6597e3a144ee5baddf09e9b1e95dc17108ad4be9a1cb32abe5651a1fa6ba8df55b901d8f04e9a225ee8d36363c1a845b36b8e2c0e6b9823
-DIST firefox-102.1.0esr-ca-valencia.xpi 526186 BLAKE2B dcb549b0ea1460e611dd5f0bdee450bb65ca9f24a0e377fd44dbd33871402f6fdd656af7ca8de957718965a10624fc51d5805c68edb7d435b35e78f13b9b5400 SHA512 e7a4b14a2037da5f948f28bfdf46f50188af7aafb77bb0bf5ee15fbcac0c88b20917a63b414d89e68ac84dc7ec72ee22f42e61937faa3d741d81e53ca0494194
-DIST firefox-102.1.0esr-ca.xpi 522649 BLAKE2B 36b54503e880a82c104e9bf9412941c83155dbdcf4b618251a277726d761a26a5c484b4f1d5dfcdd54c69e2605bcc41ad440633c641720e127e4f3568be3b32f SHA512 6df91138673452e1b0d9e1a372d2dd861b2207ebb8621c0a086db3c67977033722b15896a06e042f8a4421a9cc151981371e392984fb32f97e486f11addcdf1f
-DIST firefox-102.1.0esr-cak.xpi 539687 BLAKE2B d8d425284de763978ed49a1f82fcb9158a337f4f3c7eee583cd047182e1475c4a3fc9190521ebbad903df9142b592664fe7e655c1ce354e21a18b68c35a1068e SHA512 433ade316922d888501d15c20cf2b25fdc0518d903fef29f598815f5ef61053ede8ed63116a0504ded7e4ff0978fab3944f794a5f30053c2b5a46512cc629b3f
-DIST firefox-102.1.0esr-cs.xpi 556822 BLAKE2B bc5d20cf77fa52b990691d022bb4c017f2c37402fc4196df48e617d666d06fb46cb885234b4e009eb0d9892e05d576aa44515ed86e68dc0beaba396c8fd04fd3 SHA512 21dd342353563b7ceedc5644933b3644b92defd22319b4751693fcf0744bbba2f662be734d49e68502cc429499e7cb1a60dc966673c894d1375f96c714f70c69
-DIST firefox-102.1.0esr-cy.xpi 533734 BLAKE2B 3755a5885aa3e73645cd1ac046653341c647ea96f2a2fe338e942269f15c8d2355fc3577cc7ee19c1fcbc60c3366e3d6cca2de0039cfd50591ac3bf0cb947afc SHA512 e51398fdcb7e9ea3e4cb31e3d88085f6d5f4e0dd2fb4c0ac649f7bcf8fe6599dbec1e328a5b01d6f66ca835d562717990c645dc94acdce877a21f21f7006b5f9
-DIST firefox-102.1.0esr-da.xpi 525905 BLAKE2B ba89a9799d2ed67c4ad79ed46d093a7030539564bbfc86c75a6d1e83af2cb26d64bf370006b63c13eddd3e0bc066a1e69c2f3b716fe00d93f2ff8af5fefe6168 SHA512 7ccaba07923e9c800c42d3b1aa3ab92d849022af7c553ae8c7c52636d3db942a71ff9eeb650a9475487a06508f555e317be337c5bb97100eac0b9152d3835e00
-DIST firefox-102.1.0esr-de.xpi 544840 BLAKE2B 45b5a57406e9554b737bfe79b5f624856a7ae8d7aeafd0f3eee622457a6b1696f34d33416038d7ae442db487545294b9c78de355892282cc33b4ad05cb376e8e SHA512 66eaefaae72c2f555b69ebf1f272a78580883f02d2aa4e4d7ed391582034e99559084829dc2a736201a7a3ea72039bf827c87d39ffb1c67685e8654567e34959
-DIST firefox-102.1.0esr-dsb.xpi 557558 BLAKE2B bc23ea79523e96decc1f199359b2c8c72e2c8400dbabc73c59b1d2d7a33efd962e10348ed050502c43127a32b9ec7174d9a21747ec690afb29674865d11ffcb5 SHA512 433d90105cac240f8d1a21b9710c63f7b5bad7a48fa23814b47d970a3fbefdb6a7f17d66c24bfc899623ac7681eb5a8ae6daef8b76a8b4ac7855e35e8a9d2beb
-DIST firefox-102.1.0esr-el.xpi 628786 BLAKE2B edf95f65068968ea600b6a20b1e68aaadaec03118b8c81ec11760de7d6c94c7d5a77422bc4cb74a8fc32058129ec43bfb6518834bda58601aac933db63bec172 SHA512 16959e94b6be47b73fd3c1c4e5cc86832edad7973310fd43a37414a561e2b510d00dc29df3667f9fcc45180b338295133d3fa8259733a712b217a92d50b1c680
-DIST firefox-102.1.0esr-en-CA.xpi 501976 BLAKE2B 62991adf8a741e9816bc13193d7c50175ea2d55b44c85711541fd9dcf17a95da88602523e49d65303c64c645ac9b70532593b029e9435de20c2a667e9e4c0d17 SHA512 a8d077be4c086aef6bf2db0dffa91362d4c3be3f94031749528ada6ea2c43f79a035b9926940edd90482048cb361b102e822bfac9b6f43b0f1e3f964ba4c5df7
-DIST firefox-102.1.0esr-en-GB.xpi 502455 BLAKE2B 31d986975e1385c84e14fd752f7b4b04fa5a17ff2b79c4b3a300936e103cfef3f4275b12f6a88bcb7e7c6d834ce28ebbfe61a7c5361d405d32d9e307146d5fd4 SHA512 92428dd85df44d5a1f730d52872739b5c7b060e0ddddc6dce202103b1f2f9234dd87d6b1f3788581e2af165bb689ec3d3e7cf2c55b697708f7a0621c09c1a54c
-DIST firefox-102.1.0esr-eo.xpi 528423 BLAKE2B f99f652163798e67833640e7c58903a9b4a47b632fc9e76310734b91c73bbccaf910ea76ea3a599fda9727304dafd49ac4869b544d657b8cacb9a1154096bf34 SHA512 a016c30e23cad0c12c0c339bd1ced4a2364f95148a32da96c7c9c50202378610dee3eebf771c93d39a2dc86d56b91c1a476aedf707e6cbe163e4217b48dd32a9
-DIST firefox-102.1.0esr-es-AR.xpi 538394 BLAKE2B 019e47b76e52d7e894e2cbfefd81e06a75fd8491cb41910936df71d15d7fb9709cd9e9e4a640c14bf0f3c1f6a6f0a25eaa7e8836537da1c314438465c6f9c633 SHA512 020b3877e5ebf4e28b60c8b5ddc7c880837d5449366a6c80dcabc5c9ab3e9f0255758ef11064b900bb97ac457f14facee22916c5fd4bc7cf6b71994cd73f8e26
-DIST firefox-102.1.0esr-es-CL.xpi 537629 BLAKE2B db548c8c4c8ab4c3ebdb899c4af265cd3ca55ddfe052167706af81137560911aee996b686269c48d2f8e87023dc80c1ab8eec35bb1330634082b8891cc13d433 SHA512 4abb3ce81be402e900da7eedbae55ce10ab207eec1d6696c4446be26851466e40ee6efef9d8ef6619eb16f4dec36706f9d279fd380e49f4f834c100267115675
-DIST firefox-102.1.0esr-es-ES.xpi 529044 BLAKE2B 700093a45d15cca77a38efbae09c546b858b66d1fb35cbf2d8e18f6fbe8b40b6041a4953fb8465d915263b3fcd4b36627964a405ee9e3b366b851fe82f630e22 SHA512 b2f69a707f1833ab4a928c859dd4c31319d26baadda5f21c93d6c7c59326c692ab890cd7ecb6bdeb3bde646baee2835b2926521809ffbc8d5390f23d30885ae3
-DIST firefox-102.1.0esr-es-MX.xpi 541461 BLAKE2B 8f9cb6b7f2a53b9cd75c54ba2a541484963bb23838b4bff2d1635b40a36e6c7bf018ede5037a027d44d6f67e7cd298013a72897bff671c3a26580201bf0d69d0 SHA512 7ed3efff96f8ad51435b45c2bd93f4adce4cfd17741a336a190d2d291df979b762daf59ccf98d6fb43a99b73706c4e02dc47f34cebe81446e05f9a0eeec4b16a
-DIST firefox-102.1.0esr-et.xpi 520008 BLAKE2B 7759f03b7d6a6026873cfc2e336ac753fbc52d13e89d817b0997f707c93d9a970b736ecf3fee33a4e5860d97d340cfdfb950c411d63616ae2dc9018d103b4c22 SHA512 4ae55afb39860d096f18fb72daa779e02b8a85fa993ad9c28c3c0e9e4b7e8283c547ecf6399e7f6662eb26d0b6721dc76a04170016ebb692a74c1eeda0353592
-DIST firefox-102.1.0esr-eu.xpi 528106 BLAKE2B d0777d71bcb48ab7777a67fc43debd069e7a4206031691fd7803cc44fbfb7c870da7de2b46a99b76a04846894b48c4b2bab6c93ba201f6c45b33f47e28a68b7e SHA512 b6581bef3bdcee78b3d84d75da89345b1a6554f76c6aa3d0243ee4ce54f93308c0b202ea082a58818eae6d48c004aa6d7c45cab27ee921be34c1fc67df5229d3
-DIST firefox-102.1.0esr-fa.xpi 550808 BLAKE2B b5debcc12eeacd1feba6281f09318ba0473d9cfd36f4dfe526103197d2607a2b397bd0e779bb52fe34f93313f930bbca777e2b0b567ae172ed663345e67f96de SHA512 0553c68894afdd8811f6560296fb7520b534e73db6636a710893b717a7f85919df48bc1d643514e81d7300f748c6841d6575b0b65a22b2063a8c61bd3b854f73
-DIST firefox-102.1.0esr-ff.xpi 460977 BLAKE2B 1c31df8352efcc287bd1a96aa08d671524301b578e65f30093858f70299f77ee9a388969ee7d37023277d36116a1e0670ed6082b82bc190519d032d04abc8452 SHA512 5bd78a8b51c2b18c950fc9a2ab202f554d569f72068a8898e5b078ee9ec5d41082ebbfd5afa70da37b302477702372c0ed19c6c6331c07c43f5f35778d147d9a
-DIST firefox-102.1.0esr-fi.xpi 524261 BLAKE2B 4313ddbc0ad87660e793ee6360f10d2715390d4fffcff624ccd3fb9edc81e3d657f9d932ca4b3207d57b982b37aa87f30e324b6287e20f74659e762aa82f29b4 SHA512 541f4ac6f5dbad5ae43beea2bd93a735308ae8d38de6cad89d7ccfffdf2f808bd8b5e88c4e70cdbf48796f50c5ac8f0c1fbdf928a54c7ab1096be3489d815a24
-DIST firefox-102.1.0esr-fr.xpi 549050 BLAKE2B 3b8cd6a8f9ef26defcbe46e92ee19ec32408337116d420ef0ee58ee2179cc27cc3e50f0445fdfaca7fa1652ca77803d6cde65fbe95d49a044aa3a3b78d92adb2 SHA512 e35e23ad7f44bc1536d3c8ede0157fef3925fad2e7d15fd7e0bebbf49d75979a480dae413e2f915399bc240f86d5a8970683ed8b587c7033f09876d248c935d7
-DIST firefox-102.1.0esr-fy-NL.xpi 534936 BLAKE2B 9817fb0dab00f70292c9b709425993a8533a0b62feac372808157e50a150e1629f0874b2c59cbd146cf90f35d173db40d1010544a5b22c2f4801c4546a9e92e6 SHA512 f6c96832a672cdae77155feee50e6b2982eda6f0256b8783ec9c8492a6255b51e09c13a26b62a3b4d02156dd6f8676987384e679ad5284cbd8b41bb331c13623
-DIST firefox-102.1.0esr-ga-IE.xpi 460705 BLAKE2B fb9cc61222b54db8c547414053bc85e12086df68859b7e9550d753d07b4820956357c9f82ce97f95ed65958062d1f99899fd123076425203ad875ab528e5ce0f SHA512 2c8cd553a4fe3669f942466afd838c8feaa9c9dba20bf3614343f1a84dead737e3f5ea24e3695eb74fbcef0dd7a10c1d93725ce3b5f2daaf94c7a0f010bdfb4c
-DIST firefox-102.1.0esr-gd.xpi 522583 BLAKE2B b9a0730cb2ad9652e9cfb194cdb7a665c8a37e51f67c3c3b54b05d787a42e26317f4d0f7dc72161a0d6bc850e09a1c34ac5e176b5e61f8973249654a15eb1d82 SHA512 dd41af23ab48e60d596e874af4c5faebaeca253b4a1ac4fea11fdccc175246dafe6dc8bca89b94526212656fe02b9182aab9e931fe1e201d1ea2b48c1280e3e6
-DIST firefox-102.1.0esr-gl.xpi 528499 BLAKE2B c916e105d15bce4ff247d44b1b81a613770e1456c2301bd45386e6d30b71ccd308b50c3a1ae4c173a434b08e47df6b8e62c21f9e7835131fd31996a70db36b1c SHA512 9503c686072c18bd57f98c197bff16763ed977530a2fcf9f92c383c644862f36c85de9a49ac12faf691a73783e6797deef4092e25bd7bfd0a8e82352802eac5e
-DIST firefox-102.1.0esr-gn.xpi 549549 BLAKE2B 546d6918d2b0dc57131a0345ef2801158d7cd8753849006323a410aee66de34cac22a476e0e8e0c16df7ce7754b445ac4fdcea7fdad69570f01cded5f2b0e3b5 SHA512 7df2c654c862440a5311814bc15545e73d6071c1f80cb90c69d2038a237e469d27a6a452edf342ea3614cd35ad400848158d916e77cd6197da8a8171d870d581
-DIST firefox-102.1.0esr-gu-IN.xpi 516023 BLAKE2B ef9922806b7f637c38d97e8fde5798f866ecab6559585496843303c1c789927e8bd5df8d7d48000c9371b98e0d50fc0ff890782c257e84845459b748bca6d5d3 SHA512 fd1e86db7e0e41479679fa309c9d14fa48cb8a4f002fcdf4f4e463ec471f0edc1d92cf7165e9eca3305882317b7f2bded2958858b360c3c5e0acfe8e040d4123
-DIST firefox-102.1.0esr-he.xpi 548993 BLAKE2B 26f41fde1c6e94f7b7f256c718457ca6caeff792d46f8b519839473759547d3817438dba102efa337fee63864856c588a42c1591d5033c9ed82dd4b68e5b1960 SHA512 9d1ec7d56ad0c53072166d275a86542ee813966252ff6f9c4ae2f8b3ccf3c2cdea90e1c4f01adb83b2f33d4a331830594d2fb3c951441d5dbdae5e5e826f4fee
-DIST firefox-102.1.0esr-hi-IN.xpi 546131 BLAKE2B 28c90357dcf1d8ff2c54f27cde4fcb2be77acb2f9fb62a5886e42bfb670da85d069273939355040b72b9c18e8caa90d410f00c6493b7c8356c174c003ffd0fe1 SHA512 5ffbfaa2467d805cd15688d430152d53da2226d2592abf1324d25cb4aee530ecb15a48fd6c52471df118af3806a839b79d27b0921577e21d0446b26dbc94eb27
-DIST firefox-102.1.0esr-hr.xpi 518885 BLAKE2B c12bd21e890eef0e8a740e7a4ffc1242542b54a45a4330662ed63c72ee220e2573a1c628b22a8f694d5656b68f48f4b806a00fac1ac3ae55cd23f6071e1415e9 SHA512 1e85b1fce22327114cda8d53aea7e4e6e8b40d820c65f7c558f5ee24647e98495ab6af0785e32003315648b401a34d86be808709cd938df0d6f55e47c70da1bb
-DIST firefox-102.1.0esr-hsb.xpi 553800 BLAKE2B d6bdc0ca92f54aa18cbaaef431cc33a5cd4f438137d409fab9d50bc0e947eecb797ed1cd728766484738671c4eb94b689d31119028cccaf1549c8ffcba456bf3 SHA512 668c2b8af8882f591407877662013e443e152cff379ecbf044fa35b945a2e7ce4db40c9c6fa5babd7925eca2ef07eca4306c84271d2cc8914323803c575be35f
-DIST firefox-102.1.0esr-hu.xpi 556875 BLAKE2B a8d792725190c719597d56cad1be7f7d0d64049a6b4244f0d981e3fed37e113db34612c7b7c35b9e32450a867529bb482c7fc58924d42c87b02ebc6df0e09d2c SHA512 b33f796ab93d94287be7e920e62a1c2ab8e2e6be48beb6ba15b4597ce3ac5698cea66ec85feb8f77a0a91521b57eb74ed20bbcab5bfe784021056ad82384336a
-DIST firefox-102.1.0esr-hy-AM.xpi 567859 BLAKE2B f0089f60b83c0503c39f91175a3f6cb2a6cbb4c33423ffea2114156d87b4b3ddfeca394fb51208500151af9a064d05749cb7b85b7b00b88416d05007525a62f6 SHA512 f24fb4f4d490a610a560e753c7159f9f0d0487090157a3c2d3408e2be96b14e50ea1d055974a465128c7bd3ab734bc6877a9e96e543b4bbd288374f2058841cf
-DIST firefox-102.1.0esr-ia.xpi 523747 BLAKE2B 3d6b14b81c410aeda2f50e5d5c9d1cb13515b450517354506db0450f032e6f8d11b50dfc00f35cb70212dab334ec91ce0523f05b82d8f5f3af135cdca91594b1 SHA512 f5efd5dddee74ab8e67aed8bd67816da2b04eaca3d6f0fd30ef7864ab9c47526f5ff927fe74d17d3391695370288ab3b72ccb501ca351d0c5efcde753895bc64
-DIST firefox-102.1.0esr-id.xpi 521248 BLAKE2B 82d654e96e2d659bfcd192620c48d6295e0ccb8b9a8965d40285050fa3e1924439b89843abea41266455747a9cdb5aced91579c90d7ebe673e681e8ffe53ae76 SHA512 d8535c732badb18993a429046096fd48a1559887c6aaf640577dd2cf6b5dff7edbe133b3f6e26688dcd63788e98e0d93b8001c6a1e98228f16dba5ab96a6bf97
-DIST firefox-102.1.0esr-is.xpi 528379 BLAKE2B e635eadb10211b8c950757206deff9832ebbf2376b7a3713d7da9fec43c4f5b256981c4117b05966f446d13d451e70b85ec3e85335327bd67cb7a8aa46926ade SHA512 a5e6beaa13f8b5872dd428c2fc913c81209898432f64dc1b183279f9365c94be47ef8a91a298193bb3e7ac092cd59556c22f7fbb79d204a0728d6a8db936f805
-DIST firefox-102.1.0esr-it.xpi 449743 BLAKE2B 7346722f5eb86f52af2a7229b2eeeba6356dc878f3d359ff4e73f8b11f4578e1ac106d00f7b880e23b5183443ccd72c6764ecfcf187157e5d1d158bb53af864d SHA512 3d75cfdf464f06aa0ede1106a98d3ce1334920c7a34e1ef634dd6181ab4a18e4674046117bd2a2fb88a78607ca6c7cca8e791bf72eb755aa4a56581c81f0cbc8
-DIST firefox-102.1.0esr-ja.xpi 573753 BLAKE2B 1c9216311b29dfca744f1b5a23648fce008c28d607cfc8109b25552d8653d275c514a928f9899510cca4061adc8b953f067ceba02c807ad3d341cdb9cdc0f1ae SHA512 a6b94c40d69f0b7387b8670844baa19b686f61af109254c807a445b6c8238163a5e3f29870f500108c80a9f7f11d79309bd982515702b3269565afb4012f3ce4
-DIST firefox-102.1.0esr-ka.xpi 581241 BLAKE2B a1b03a64672733b7f6e607ded403324f85d8f0ed5a90601135845b2fad54b12b2ccbb04b16bb6f8c49799ead8f69a5b25464f32b77ea3344bc6ca1add978122f SHA512 062e6398b29d38136e8d5b2e225de156cd87144dd35a1856bf0750efaca700a552ec9c54846c1beab85e1ed3b7bac3fc52d1d615c4f8b537f2b6081217fb9824
-DIST firefox-102.1.0esr-kab.xpi 543020 BLAKE2B 2d35faae63d6531097c6eefcde1244463432a1eb5dd07ae6bdacf12579e9dd01b5d56d8b567ab073d529b33e60c644fc3836fcce5607e7cb636d5bbeee220190 SHA512 33440fbac24677341e3cce742105dfebbd81e434ae486e9315538f298e4d7d4576471a66ca7ab377473af547f454e204fd47f13e5bcef67c5e753a4b128c19d6
-DIST firefox-102.1.0esr-kk.xpi 604862 BLAKE2B 4c4f682431c96498a30a57fec1fca8180471a9805a0e3a91e37d2a36c8d00d6c8778b0e216bc8157e1e12192f3c4f5896f6c678e6bfa7121e92b73c2f4e7e486 SHA512 c4ce0c33d2ddd5636eb5ebe8fc88a0177bc8eb4044252426639c416e0829db80242f048369032270dfc455ed02cbd74a4bf05260fa10325b11ddf8adca9e66d0
-DIST firefox-102.1.0esr-km.xpi 519630 BLAKE2B 194cb0c43932513986f7c2451a18d9cd9befdc0ac6c11dbaa6c34e990631ff5512ef7d5afd169ae7a8c4746c44bb427031620da660f5891df093ee3e8e6a4df9 SHA512 2c769ebf31e0aced4063f6696b15d599cc33021473914e29e8252e8d21ecb55d7d34356d124587936feffa597f131cef3faba87fe78ab9227144864a21623109
-DIST firefox-102.1.0esr-kn.xpi 485571 BLAKE2B 003274df41325444955270ba1d5983eea67e0262f521c76e932fd0289ced2cd1c482ad107e696bd8d1702a3a7f735530169c8dee0ec7a59af3c3be7d5128dbf5 SHA512 7d5a967a39f8ca33b86241b71986db7402231ceda86510fb5ac7c1be4d0dc74916183214778f79a3478c9059d29868e09be408843e729ec91e9ded0f29c36ed3
-DIST firefox-102.1.0esr-ko.xpi 570093 BLAKE2B 3153102d22a6bda9f82f4b12b0076a548d030f79a39a7da96c61d5f13f79fdaf021e017da62f57f98dd4b6e7c1405cacd97906d7ba675b8643b36bf4ee2372b9 SHA512 cbc828e39128c8fad0b63ec57dbebd83afcaa95def0266eb14929886f408155e8759fb0c37b7d304b8151ce0dfb826a9317e7e83492251863ee5d8cec8c50696
-DIST firefox-102.1.0esr-lij.xpi 459204 BLAKE2B 362c2464ff323860f60e5798826011b0c41b42ffffdb57cec4b4640b5d5c665939348de5882ac911589a143fcf2679dc9ebc98529b8eb5f622540753cc595022 SHA512 5bc945db5655e7920f6657175792390a78ddc91aba7dd8dd77e1cd308a2413b06878184a5126818cb75df3f79b1136eebdd5f43ccf11e1db2fb5374cba26f4be
-DIST firefox-102.1.0esr-lt.xpi 549839 BLAKE2B 2460e7e6b0c6331e1ba18009f5e7975d755e42065005c896bcf7e3614b143bde3fbf6cd58caffa32281c7db0680bd9c7880bec6b82c58e925e68f302f788950a SHA512 25250ed3e5b4dd971e8700ffcb9c9cc34303b2f307522083e07ff4ed20dc460a5fe600a3c91f3081279343a197956977eedac244512aa437f7d768cb87067497
-DIST firefox-102.1.0esr-lv.xpi 452070 BLAKE2B 0d7d81ddb49c247b969bee3c3e434561c9de2abf163de4f9d92d3794d78af9a101abf3dcdb2beb5aeb94a021552a128001b1b408cfa403ad44d90159f54c9c51 SHA512 6966d3225fffad1ee392b80b114a30e59176af7b4975ba10f020aab88b5b9f1924ba77a0077ebfc65a16ea946aa16134abdaf72c93a15a38727bfd028187d203
-DIST firefox-102.1.0esr-mk.xpi 458903 BLAKE2B 3efd446e1c7b5a9acbd8d621ed6eec7a18c65d98ce8c8573fcc570d6ff8ca97ad9519594eb38c8ac9d078d8fe177ab93f79af9d7f8763b5c3f2e5c64f042912f SHA512 523226f6e910310e5f4a6f84ba40ff76079d2ca05688463a6238cc8d2f3a3561335a69caba7d2ccbe7a2fd8cb51231309c6a0d82c7af2b93070f2e5b197bdd73
-DIST firefox-102.1.0esr-mr.xpi 519587 BLAKE2B 5e0ce63b5986189332cd5504742c9d3bca2c49deb70553ad19ab82adc2d0dfe2cc11827dc61620974f7c4645c2d8f512242a92ebfa69d4ffbdf35be46896090f SHA512 d14dbf51481be3193c3d4ec26576c932fea431ec9fb2b2c1ea6643dee36da6982e744cdc2ba2aaf4d3e47e5d68977918f1799e897e81ec9dba8a6b00beaf5d58
-DIST firefox-102.1.0esr-ms.xpi 437321 BLAKE2B 56bced71085e6b4c2d56530cc731cf72c4fc9737d05ebfe77143ae172a9950adadebac315462201c9d85cfd4cb80b62ae3dfa09f05dddfcf7ec97693a835b653 SHA512 ea438e666ca477e12bdc0c5cc0be474240465021857afcf6ed40ae1a3c97a1f424c6a311089365b65f17be6d99dd88ba1ffbf410d9423dc83d223af2379cb79c
-DIST firefox-102.1.0esr-my.xpi 498763 BLAKE2B 8320a131f9fc5b36ea8ad07e63c8ffb841b1ea56056eec070137d20f6fdc3dfa8fa72862cec7a1d130428b21add371e27b29325639035d5a406e6fd1cbac6e41 SHA512 e9c70d8e641d54261e604fca1480e64f910639763f88316d92bfd5951a380f4f471cf3e39ecd679b9455364377221016631f5a0c69eb270294960a3288b141d1
-DIST firefox-102.1.0esr-nb-NO.xpi 521325 BLAKE2B 105dd473a025417e5e5fa12bcc76b6cd1aaeb043e3bab52fac737bd485caebbc3353932174640b7f4151931cf5eaa56abd0d5335807774e3710ac2ce01e16020 SHA512 0564469f22482eac80647dd609e3c78f9bddceefd8d3e5b5b3e5ef1a5e8806f36453dd55236bfe27a923f624ae298bf706c7de58446cc42e57a0720a793f6287
-DIST firefox-102.1.0esr-ne-NP.xpi 477724 BLAKE2B 68494a2b3e931dd8f7d6b18dbba1b57a2ea373cf5c00b0ab171313cd628702a16213b0c8153676b162a601ba333bd2a2475573eac9d1e283910096de0525f45f SHA512 ccc29e48acf111174e028901adda825c69c6e9c286e899298e7e15d7afa3ef5f5fb7288256a28f7dada486220c4addc2a3f145b54fdddd47e02c98d26954cce0
-DIST firefox-102.1.0esr-nl.xpi 528933 BLAKE2B 5fc407232fa0ef6aa20ab9844c2ad9fd8aafd72213f8483a144892f16df7b755af26b878d2f5410f0f2df8cc9d5fbfc45440745c61053436f653ef9ded7809e9 SHA512 935898ea45c0b6cf88156d8c5a305559d9ffbccf307ffdca531c9b8705ed2db0f8102b719256da1990e2277aeeece406a5113128eb631f0c95a3a4ced195a7a2
-DIST firefox-102.1.0esr-nn-NO.xpi 523244 BLAKE2B 5a9463753249dd6b1c59452d215bdb4f31c016351c146cf279a449ba6feb7edf36b4394b992ef9aabfb5dbe3f1082b6aae117d5356f9fda58c04d2eb123ddaf2 SHA512 5ec8f82195c21377f1bd59415f0fba1fad7af61c6b8731e19a58dc1dc5c384b1e8b1952ff07ca9f51c2a47663f366dbb67b6302499839871cc2a44b861addada
-DIST firefox-102.1.0esr-oc.xpi 544578 BLAKE2B 40ece877261e8089a9d17aca0592f81fdf505ee607360bedf8cede3bcc35b8e5377af4ed60eb1d911cafb6dc0189708dc4e887fed79467474cb0ae4d8675002f SHA512 fc4166148f87a5302e4b342db419571d6ca6cdc6879e2f6b35e828a627ec41678ba30acaa36a29014d95eb1681b068cd7c8ae451a61d9e2da2e97903a38847b6
-DIST firefox-102.1.0esr-pa-IN.xpi 587400 BLAKE2B ea4d10c7248399ed38f56e553f9a5c3df4834cd6153903e3070bc667213a252b3920ec55d091cdf1e38c619caef15d754ff3991b791e612f320b9323ab86859e SHA512 cd228784ac743d2e6c74b825205f0c540657257360d78921e09aebf03c00f5651b89fdc2b461c13b104f5c3652870c9f62f65d217de8747fe5e0b8016bdfdf68
-DIST firefox-102.1.0esr-pl.xpi 548925 BLAKE2B ab4a1946670f589ea49376b82bd7db3282acbd21971a9f6dfb364eef65ee49e01de9472dc526324290dc40d7b7c2b1ed96d2f01daebca033787fb15ebb8decf1 SHA512 6de7f5551fbba1cac7c936a1d7563ed220fa8e52ff071a30661b772a9507bf0e78578a360d1913fba5ff03b566a5e431297ea86adfe1912334b6eeea4750ebee
-DIST firefox-102.1.0esr-pt-BR.xpi 534191 BLAKE2B 8cddb497a56b74e394c0ee416f56f86a669d485d4a79a37e4b942f758d536d85da6f4722de6a6bd34975ba86517ff9209bbb8c8a4d3e987906d2c7414925f231 SHA512 4a1a609f397b8b4c3628b5fb71bd4cc05b2d490fef3f4522c7c656edbedd139d9d4275f32399552ac159d29d907b1a436bb57d818bf08184333ab039b439be67
-DIST firefox-102.1.0esr-pt-PT.xpi 538009 BLAKE2B 8137af33bb6a16ce7a0abcccac2aff6c0bf30c648a8337497a90e5899732da2feca63c1b962165787600def5ef608ac72146bc7b991b98ae61faf90055fef387 SHA512 57e013be4d7d328d17944c3046fb88cdfba011d3034bfae554b5afba5356c79dd19c6b6d8b6ad1dda1253065c652556a9f7a034eaab898ff58b1a5075de46275
-DIST firefox-102.1.0esr-rm.xpi 528323 BLAKE2B 45dac34d733ea6a761e274dd076681c5f893f2e52bb3fb6771b1d3218f95a87a67e26d535671dc6361e1d1470a56540af1e1bd859eda8f547e9f0116f2ed7811 SHA512 720402b8eb8f155e127921cd62c8c376ef9c7a5539a01126fd4d2bf93efe83963b5bd02ba4108cf32e4a2d61b47d93c7a736899eb1687a6b223b96a3c8513f0a
-DIST firefox-102.1.0esr-ro.xpi 515804 BLAKE2B dce4513c87cc4d606a3956984f63f2b8e49637b2af3518fff0a5564e93820526e823d758cdaedc5bae8fa4bb9a688d2059e555982ed607e5ae87a3026d0b525f SHA512 25ee5da6b4034218b656e0ed1a69ad534108e5db44c66600ed5d1e9c240ac8777308f99624d922e911718c59abf5d8a8fa049ae17bd2a387c8410bb2593808c4
-DIST firefox-102.1.0esr-ru.xpi 617123 BLAKE2B 52857b7e948c90512dfee0d621e438df9bed16c2776041d60157aa8ad837702ab92c025c4aef5387db0df9bd7f1356c6623156258e9b7728f6fe8ffab59a6a82 SHA512 6a0e5f4b039496fe39d38f8ddeacc78ea4684036d384ca85527145e7d4c9a0a712e98b355d994177dc316822652434010d26a94e406ee6d32919026b9b5950e6
-DIST firefox-102.1.0esr-sco.xpi 485602 BLAKE2B a088e3716485fc2c598d177b83dd4738e031d6e580f03a289f79abecf781b6139697c3a237d14305a436f9d5d8fb1d6d3fcbfd1c772a07e766939e31a2ce5743 SHA512 b69d5ba9da213d2d5598e410849689a64307b8e65c514bc934a8a0afcdc6d275f181e2f9694b7d24d2139089d20de49d239d688d7367da9a0f24e8e885dbb022
-DIST firefox-102.1.0esr-si.xpi 473402 BLAKE2B e31611b76e1408f115bb69f8923059c584bd649c2545491cec438dd6ba2feaa3ae350474fd96077f42a04da896451ab29cd3f215620dce9190d222a201c5b441 SHA512 caafc962b6d68e6a748efb5d245db404371e2351b7a1843c0d989026d7fb9364213ef1adda7a4da1ea68661d1f30645fd863e20759262e28bfa51703a0978403
-DIST firefox-102.1.0esr-sk.xpi 557534 BLAKE2B a488f542450e30c0d4b9667324fc1d0958b371a4d441835b585109d26d0e48f6ad3b164a5d3db8b63812971f3be6dbe14bec83a0f9b423ef9ab1a71d904b870b SHA512 9cda7052eda7a30c75086214fbd071b9f598efedd9416bf4c70dbb04f858993310dcf6ebae06c7aca3a015c3bc29d83376ed246d4d524c89a710d1d6ece19eb9
-DIST firefox-102.1.0esr-sl.xpi 531188 BLAKE2B 5eb843e91a05987c33629280c8922cc357ea2312eb8f26460ebf38c7e395239224abdb3395d1c5fa0dbb4ab4a75974da51516aaadba7bb1bf7429bc361ef7d0c SHA512 67924af24ff91bb91a260c7b9bb9c4db3e215e6ca03bb841866b7df9acd347c2438a98db5dbb1cf9099b5c8d62541dc1514966e2a7f17d5bdbf412358615f789
-DIST firefox-102.1.0esr-son.xpi 415189 BLAKE2B 20369b6db0d6cd7169de87616524f95f949d85180f81d6e5818645369a3ebb16bf829b7f38edb285943edcc6adc5d289418a4e300b3f7b3978604229019672ed SHA512 56f3bddc53313f6fbe2468655be85650d510a6464f67bd6e23ab8e7fc17741b7b0bcfe4d334809fd304f52c1fe189997545716f010babb98c63afd412b2e3b9f
-DIST firefox-102.1.0esr-sq.xpi 546095 BLAKE2B 14e2871101816fbedb1558ac6eaaf52a3571b3558016ff3a801f7de128b17384c62bc8ffb5abbff1b964ac8df1e066e6c1e31ec792b8135f83fbd0a17fd9b22e SHA512 9dd455065b2f3719711582f8d94298aa629d555e18a14242fe8177db515a74706f1f229c5da048618358bb4f653f041d60c705584d3d359e4a4667a0b52968a4
-DIST firefox-102.1.0esr-sr.xpi 571126 BLAKE2B 3cf903e94bdd514cbedb9aaebe629fe1e9fab3c724292803d4b28621b3e2eb6b07a1b27419d607f110fa51dbd6ac1fda6cc47fd44879c5b5353af5b1966fa5cb SHA512 afd2bfbf803b29e228b6962be0da5a1a0b971d35225b1f626226029567a4aad0be04db20c5eaca77f2a5bfa4202c55ebfc18a75dda676ba3eb43d06480f28cea
-DIST firefox-102.1.0esr-sv-SE.xpi 531434 BLAKE2B 1b6ee41edacf8f6d41d2df120675064abdb17ba0d0438f49f61b49ec9095f0f18dc9b36b6dcf1d3a8c6f7d40dd6ec659d1b9aabf259e7b3a920ac0315caed7cb SHA512 70ff91415ab8fbeb7cbbdabcb6065c3626579759efd35abf4b4c6d215723a128f74240bde4ce611608baab5a65b70f7b880be7413ab3c93489a1b605db8bacd4
-DIST firefox-102.1.0esr-szl.xpi 497439 BLAKE2B 801c9a58ac054e45157ce323e4a80a62db3d920d68de855cee241468bd7c8ae7e033827bb195627b10f9e6b48cd9437f8d3dec7cdacf62f594b5bde4f55c937a SHA512 f5e75da1c59a15e3812402beea81f75559771dcabea4eafc2356ff64b675b92f9d205bb9fff9ed166ede336083702168a933af9bd7a5508cbc95830190538592
-DIST firefox-102.1.0esr-ta.xpi 499405 BLAKE2B 3bdeec8f03ba7d16d3a8953f3a3625578c7ef08b7d8e642ced7514e6f536e05b8bb57a532728086c4a019f4ac22b20e04466dd37b09839c85e4c1f4b20fcaecd SHA512 5a24e428cbc25eaabf9178b912bfbedd8ac58569016fdbcaf50b96c65688cc7d39d0ba152973335df4b242691a8ec637019795dcbf85796e9dce60d0dc68b63a
-DIST firefox-102.1.0esr-te.xpi 540270 BLAKE2B c9fd11311333ce88cd0790d445210cc9a450eca3f50c9fa46872d0843b9c6a66f09efa7ed80ced6d4769e0e5fe49858a67141909c54b554abd0f2083c8bf804a SHA512 551bdf0fc10e6f38608be9ff21f74862ccbf9eeb2e0bee6aa7414b58f7664f69e9962745893b95957f2f5e60c9ed1043d06a0d0dcd3465652173dae3160d47bf
-DIST firefox-102.1.0esr-th.xpi 598742 BLAKE2B 587f751eabf790c412117dcb811b60e333240d0d8d5e479541e051f90f6eca22b3bcf198875ae75633d24ae9170b510e7cf3b94591185f007315e653572a4f2d SHA512 323b485016cba4672ce36fd60693f7604cbe5a852b5001a07a30d6402127db3a5a991ad7042d95d709bdeff4c98cab00e9f4ebfa317b5f560084754a7cf4bdb9
-DIST firefox-102.1.0esr-tl.xpi 505604 BLAKE2B bb0ff8831101c6d6967a6284ad670eaa5c9efd3368146740bf54e62742dd9622a60ce23b7e693a344d38e932d634b71dc9942e0ddf116d3c50b28d5f88959213 SHA512 9739774255ff42eeb8aa8f3b9b2c1f44bf4a1aeba9da12bd11521ee0e48ea4e0409ee47909998e67b37a0394854df21cbd09f22dbed6e83285e8ebf2feca9f7d
-DIST firefox-102.1.0esr-tr.xpi 544798 BLAKE2B 8e3b34f2b382ee84c51d416dbee4a2bda0ec6f26666c9d07f41941b778d2a6147667e49df00accabbc75c3617353f7c5bcef3db140bac26f69d098233be800d9 SHA512 5ff075c27d508a00898126844941a67f1c4a90965ffc8afd37d863eba313e26e380770e8e1c085040ae7ed58a4da12ce49fd734bbec80437a35cb6e5d559f3f5
-DIST firefox-102.1.0esr-trs.xpi 477876 BLAKE2B fda3852f2a6be1fdc5aaa5ec0ac8497f73939bf591255a989df04d4e159f57ea1050179ec0bad541095d6147df28d0d5392a65eba615848b07d620ee38b33bc3 SHA512 80f23e6c8e4a6d41d7c49e37ddd1f74a3d98a0caf7acfebe3fe1c5e1a034d0e6995bbdacb5b499c2eefd46abbff89689347171832a71a9c1d795b22ea0500f23
-DIST firefox-102.1.0esr-uk.xpi 610928 BLAKE2B 7da6a2a711af7eab6461f3542cb3b01989a0ab9a814d56f8bf2ccfaabd66b7f1de9734059108b20da21af55c47d9464156a80cf4aeb033c4ec1c033c9c29c990 SHA512 630cbc9aa06cd976166aaeee5576e32c8d94145ac4e49183946d7ebc2dd1d9a0cf2490f36b5d90a2a519748488a2d9eb01919f9e7f3b246f1805662d9006f645
-DIST firefox-102.1.0esr-ur.xpi 547848 BLAKE2B 4f45a9feae2b993bf0b52ed2d94ea2515f6f82fc45b06688b33cdf3af5d6112d2997498b21268484e81df95c9b670d00dc7d138767b683bca4474b89bad6f279 SHA512 b20fe4290576257c1b85c62b09f9c8035ba350ff3470f952d112c3fb28dd08359b614d15b300be82f3da0b95ba015fb1682e3abdd44aec38b354218821a47f18
-DIST firefox-102.1.0esr-uz.xpi 467348 BLAKE2B 890b9f28fb048aaa699b7844d48a9617c29bd7b13064db910f7d8f1a32cdfa7b8fcf5bbb2a8f3cd462d21bebe39e52753bf67164cd4f34e6867c347804f68662 SHA512 0df826dce1ef8b435e6030a8fb1eba7ce62f825c5960c459b60f0d5a91eb5aa03e6f69067114f4f2978e107dc82299ab7da5ccbe4620fcb089c1eb2fa61c3296
-DIST firefox-102.1.0esr-vi.xpi 563714 BLAKE2B e2e6014f57d0c71ab9c681c1fad798a2b6da02f19ba29fd503b2166d31161e1409de7095436cadb0b6f71643f189cce5f12be5130f5f74e492f7216aafe8a00a SHA512 a9ceedc5ce8b63d947bf07374fc2d92e9a795e2bf431fec5cb2e5c7faa5196a5558880b91a949a3f103f7ca0d085dd66fe58c6e446aeb087f8042b6fd4cab845
-DIST firefox-102.1.0esr-xh.xpi 418245 BLAKE2B 51a8c0ff54cb984423e85d3a47688b4133abf0743bf81a70f037661c1db7d03342d3a1d20ae28729188c0728ba851ab7f8328ff0314d5ad18546d28f50c5b4d5 SHA512 6073a9c3e8fe10af1ad36ab4c96f4afea16d1f76d143832ac52018952ecc8f6c328e0cec894a11da5acafb6641319e49c9d5c599e39e522f1d3233e191d9c8fc
-DIST firefox-102.1.0esr-zh-CN.xpi 566196 BLAKE2B 5346264a393a1f3e2f48ef94ad8f61577cad3da44bef79c6d0378a3d59ec9df4e1fdcde4aa2424e4e12c840e0034c2442cb739a84ca986807beb31ab2c0ae5dc SHA512 83f3411eeb05f6be5b9545d73c1437bc96fd658e9da4d1b7a2f676c6ec6853b634a72c84255f95f03eba0a8d40e4de69860505786814cfa187cd0a7a06b5ed22
-DIST firefox-102.1.0esr-zh-TW.xpi 567161 BLAKE2B a1697778e9e96a2f7f16a36f790fa6b3268bee99c13b82f31be6b2e6d3ef121dab8b7df266aa28495c01f1cfa3e18eff058d283c737f19e8e38343f4ea145ed2 SHA512 05bf08207e1cf8f4ed68770445be5cdfdc77cbb917aa52ceb3919aadc3f8e83237c7e64345cc251fde673f7a02c9f468874e32f353bb50b0df49030218d34fe1
-DIST firefox-102.1.0esr.source.tar.xz 486756700 BLAKE2B d046c386f7c6822510fa309a5455cc80deaaf59a5cc274176a74b4dfe2feaa60140d3197f91c221338d7d96ddae48a411c4a376afa1db3ed6fc8688cf2f97119 SHA512 2505b87ce4115445568eb6b7d8af41678bd787fd07f3f79e9f0a22d90cdf752ae5d4371856cf9c56e2d9da7d5b7c3939dc2aab5753fcc017398e7d65260f6f03
DIST firefox-102.2.0esr-ach.xpi 443117 BLAKE2B 2f51f80dcf1c375a8aa17bf3548c1dcbde77e8c5e2ddbd9cfa6442df190f4b82afd3dbb51671169563279f43906bdd637c3d84716bb624daa4224751c96f0574 SHA512 7845c5ff08d5393c84977fc53998b3fa85f33375eab75d5fe58a83b7baaa4e437908bbb87b26c25015b8a4f924edf8b03b8e2fc9977d60ae2ca98c813e2a8eac
DIST firefox-102.2.0esr-af.xpi 408454 BLAKE2B 10b406e9525dd2a8c95d2f54ee6b99f42821e74224ad95a72e41977bd57a40077b82887d7cb45718616ab92c34f921626bbf178d76c0c372d9132d31234bba74 SHA512 45cb00b40353169e8dea93f812bbe012698a2ef99cc9ba80e5f192ea0848e34bef4f511ed409d7a0c94a456a7315e0ea3a39877029bb05dd1c2e5b5fc536c60e
DIST firefox-102.2.0esr-an.xpi 486996 BLAKE2B e5c5fe85ccfb4f587af54a3e6edb3704daf3a85032294e81b6c783670b4780e675ff5fbf8803de69a66f74935b60e6739439585b9149d9e8bea8684208ec9d3d SHA512 aae8ee12e58888e3246918233ba2e08c48725e4d7d6fe6c2d8e3def23f34d0426211d7a8c144c8b936d3713456e3f510e4a0487922e7527df55d8ca1155cc978
@@ -195,105 +97,6 @@ DIST firefox-102.2.0esr-zh-CN.xpi 566196 BLAKE2B 0d0443a0f98b6ae856eee288a56f4f5
DIST firefox-102.2.0esr-zh-TW.xpi 567162 BLAKE2B dce18534fd98658ed8adcd4df78d2ef0830db508ebd23e0ea72b41c05d7e25519c25713826105840f3f4f401f540eaf26dd2c9348c80b67ec1266d6789b947ae SHA512 99125bed1cc36f1c409208c5e6476443328e5f5408d45989a99d90ccaec69fed87fd4febd74369589cf6f44f08c63a1fa6bd3bd1b3da21dafc51d627459554b9
DIST firefox-102.2.0esr.source.tar.xz 479840072 BLAKE2B 00975ffc02a11619d971731d53fbd480e9e6940d2cb9bd77c529b790e9734db85cc48b4e70d5acf447d221620feb8e9d9b8d129d07f270acd0d388574b129ee4 SHA512 06d753867ccfe1b2c79148cc60bc816b47a2abfa98219808868e9028bef1763d982ef7012698d06b8959cce79163d7926baf5f9d5ca9daa18c51fbf0efc59993
DIST firefox-102esr-patches-02j.tar.xz 19688 BLAKE2B f26b8dd2613712ab49db34247c432769386ac066238b86c0eea367cebbd167334f822866129d0874efc35da4da686e6185881649b0b3095dede28ec8c658a3b2 SHA512 456cd2b7d9f907080afb5225d353154117624fa938f24dcfae7ada03f5b39572e5d6d6e1a4bba7825465b48f6d38b04e5c0f69556c82d4ebbe1463e11dc809d7
-DIST firefox-103-patches-03j.tar.xz 19152 BLAKE2B dc4080f058bccfe3e092834501ee6210f44a02291d177b3aba5ebf6909d612411c622c794f30437136a8826c2bfe94f568dabdf05360f9a8f14dbe742404d195 SHA512 6edbfa089a0dd97a987065d63c4c2cba417cacdd45e9a6081193e87cae60c38e6327b0cdef0c1f272e082e985289d9bb6807caf262c272165362e696ca974010
-DIST firefox-103.0.2-ach.xpi 454183 BLAKE2B e02657bff95c8866bb7486982c3b13713b1701dfe5c83ffe2d769eef8614b096ab61801a7b3b80058771c4995345cb724393be2aad67f175d639325b112f1155 SHA512 52fe30dee4414bdd8e3cc185044e16308fc02e1d37422f97ccd4111cec7e1e3673cce594b74c523ff417a046c925c703227589b4a2bfc5a65d627a53402309da
-DIST firefox-103.0.2-af.xpi 419559 BLAKE2B 814baaf25ba8e444aadcce3dfcbb64bda971a36d9968bde3f7b6fb3e561047e089c68e9769cec66b78c7eaface431070be844cdb91d7e18cf248ea2711c0907c SHA512 59640d6674c63caf93f29fac92f7995143031102abfa725a7b075f90066314f0f9edc4f528fcfe5254ef12538e6e5560b385b97740639540a93ddd70d0cafce7
-DIST firefox-103.0.2-an.xpi 498032 BLAKE2B 541736791bc9f4a09d4ac08f15779751fabce3621c7d5e6aa2faab65fe7658f8ecf6f3ebc153429c82023f55a62a2f056a1d40ff246d47b59b0b042abf057f74 SHA512 08a455eafc7c7bd62c3ed1979884d239460850e63430efde34b2fcd42882337ef257592c6693092426d80a673b4cafe9c9780089d5906fdc829475d2bec66f59
-DIST firefox-103.0.2-ar.xpi 561683 BLAKE2B 91ce9d741c7ab8770581a52066ed95abc7541e992a88789d2c7fd84cab3e657fc48e2ece8ac99f3adadce393b985acf9bdd47be8d4aea1991956c7332100bb09 SHA512 d63175677824a1b69e371394cf54d1cfe83c74f64392ad95f9b589fb21c34ba8943352eee6347d0d3db49d63e85376cd09a0689c6d8b6d64c96e16a9e1fbf746
-DIST firefox-103.0.2-ast.xpi 494291 BLAKE2B 5f10b72454fe7a2200ed8d02f780ac1f7a9521c7abc161555cb77f8ebe13bf0ddf4c556ce863ada1c4e2268dce116d9d6a53feebf748c542ae9b492709fc0cfa SHA512 67ae858d4bf050571e22b9d55f1c6f34fbaa271f2692174cc8e026531cac3569fd6fd5e8605844355039b9e21f9f46453540bc86b369dedd1a9adf752d603086
-DIST firefox-103.0.2-az.xpi 485457 BLAKE2B fd69531ef0e7653271555d231fa3b7289ce517809e822dbaf3ba49971b08eb0d941db46bdc61809733f076b342e14724d711a71e7bb84ab2a70970d2f2c8a9a1 SHA512 eb67193484848cb560f4429a836e95be8bfdbcdca03e015adf047773396acc6ba47e6f3c82e0b1cd5b859324f6ba51a787bc5c72b16a43997f83609779b5b2e0
-DIST firefox-103.0.2-be.xpi 625939 BLAKE2B 1f5b33808e0f4198d236c1e1e7629f07c6a86a03d11bca585a71bc868e661d05633226468c256579e38d7b148d3e50ea8593b7b759af6eebc6563d633aac0ea9 SHA512 6128ff9f266842c5b92772d5cdb85de9c34bfb369ecb0ca0e17007e73c950b471065e56a34fa7c84af6a0a9c467f04b1d5695cf7101b03aeed0924e0d4fccaf4
-DIST firefox-103.0.2-bg.xpi 574199 BLAKE2B 600d18857e121061a5130954c0909c0c576f6baca842d3bc098ae1b8d8efbad53045bc2ecc0e2023ff16f235e5076bfcb963d449ccd3c08efd8de75f2eea90e7 SHA512 7058c4ac7413a63f40226d83c3ad5754dd86f675b53e97ef7145196f6dba65382df340c70c0a87faa58d46a79bfa28adb6dc038e4d00617b47fdc105c0ef430f
-DIST firefox-103.0.2-bn.xpi 576219 BLAKE2B 69f3673aa18998b04b773320e5293e78c508bae3649209107da5cbc1925cfc01e28ac6258204142e8cf81b728962ffcfad744061c970a0f3e17541d7089d474c SHA512 c9f915edf7ec9e9276bcf2159277e947ace14826991f2ffe6f9c958355d191476682edd224f95e5827edeaf8789199b4c59c5a3821eabf1bc58f55831bac503a
-DIST firefox-103.0.2-br.xpi 532115 BLAKE2B 682e98b8cfca6545311c066b480cd410ff120d249272978efd149c97ff6f6ffa87856a086179220bdec4e85caa35cd7eb4c22bfd548a55ac668ce4ab6a39dbcf SHA512 02d8060a5bb2b79531c8a7cd2a8506024e5e12cf02788647ec25c1836ef090e165000af92337dfe98b43659d114eb51433c85ab4695ecf4705871a73b650ab07
-DIST firefox-103.0.2-bs.xpi 462896 BLAKE2B 5dd2c03d6a8dc670280000d082a621fc4bc14b5249d121d0e623afb6ab2ff8acecd2168d539b01afc5024828fa3c640bd655bf2cc4c5943e572a6d61b87a844f SHA512 04684f9ecceb7b82af2580a14de1b0a6b944ac9840f7fa875fb5aa3011ea572268f957879facc1530852be750a5af0f53a2abbe8c7a572179acb679698183ca3
-DIST firefox-103.0.2-ca-valencia.xpi 537354 BLAKE2B 28a0b06f4719ca6fd6272304a08c858c77833eac7b82be1968c115eb0ca8fb1bcc1ac206816fc68f4506c1515870ef6aebea38fbf82eaeb2ed3693ba84995628 SHA512 a2de2675a03ee5f25c837d9efe8577154b1f53957c41fbf8122bceb7946cb5268de0565ba23a8541c49dea1e7660d5bbfd277ccc743ea62693af1ee751089a4f
-DIST firefox-103.0.2-ca.xpi 534083 BLAKE2B b6ddf2d72ac8cca6bfd133d04dc3cb7f37836877b3264f8a310c2b412e1db41a54a17121856b28525bcad1bb0732de04fe329a9a452d309447a5396076ba62ca SHA512 ebde710881c56d5753ce4075807d73873d4162c6893df3085fa83fd72c0ccc48224d3bc7903a67421b4690521d21c3bb3c310d3ee9e82947fa1d0a7bd053e5bf
-DIST firefox-103.0.2-cak.xpi 550808 BLAKE2B 9eaa75132fe4f42ea13f62fb894bd0042b63ffe439297a8f5a007a10f5f566023fc8148cbc68f301ed23021ff4398599806cd72d1a33a9d26a6c06279e2b1af5 SHA512 d94b4492a86c6544129ae8e77ccf999a5f3148566c3871dbe6d467bf3744a0c311ce2e258de37a93fdd876783d21c2dd2fe936cfe0fc3542c2630f6c04001283
-DIST firefox-103.0.2-cs.xpi 567607 BLAKE2B e3056eba7e209ed5cda201bad883f3a280a3127eeef3d08aea6f5fd222393f8cca5dceefea5a75dcb6c6aaaa8f129e4c4820c41ebea8d93a2a25616a379ea0d8 SHA512 b30dd81b887a824a153d373925e6e6544c6762363bf7f273db4d187b99b9f7285cc62984f1f69bdd9271c78920865921d766f6d966174db2f45402b487cc15fe
-DIST firefox-103.0.2-cy.xpi 545489 BLAKE2B f66fc9ecd5fbf565826bc53c7e99de09437eadc5922ff749f103dd178dd90ebcf2286560df2c0133473bbf0774ba76b60ac739ff9c4924d20202a352a8d4db83 SHA512 9516d9c02a3295a0c240ba8eaad0f645be672a2efb11a19241053589334fac5db1421e7fbdd6fa015dc587d34809658826f5c291b6a6dbd2e69a04a277fb3a1f
-DIST firefox-103.0.2-da.xpi 535882 BLAKE2B 2d88689ac0caa85412d12c868c9905b841dec865c618f7257c97e4142cc73daa254b6feabedd6483732f6b9766e100ece4016299a1290f0f246eee8f1c6ec747 SHA512 c10ccab92df9db8575b0ab4815cee0f2c9d5069a12a1467064300977653f21a83b085a7d3cc5e202235404b09de7e8d2e2b522b74ddbb7c006494a0475c7af0f
-DIST firefox-103.0.2-de.xpi 555991 BLAKE2B ec270a812ef392d79ba3397f208d20cea351f499490aca86bd884e06ff68924b1d72c612e473d3d926733f42aa92e67f4ce8dfea300fbf083ae57f1ade7d58ba SHA512 0fcd5cf0d822b1d766e78b0a62257e9cbfee35f3941200df67002d76bca4872f7eb743ab0298968ae3c6eadd6ddbd2c51a9d904f15c6bad682473fe6e77ad5ec
-DIST firefox-103.0.2-dsb.xpi 569475 BLAKE2B 48bfa15e20e027ba8d4176966f9ff7f4ec594aa4e237c3c8abcc9c75290eb65cde021c9d78a23efdbce6f1904a9d88bfe4640417b7971e5f87a203801975cb2b SHA512 14c7fe082977ebf9119a40ffe93da4729757a6914fa0a5a8d6bb0b21912b255c5748a16b561ab57c00705d4a3deb4d249fdca5379c00a706d2a05a120506b2f2
-DIST firefox-103.0.2-el.xpi 640799 BLAKE2B 6db7b580005dcbea41734761479bfed848f78ff8f5fcfa0b90ca2d3a54543c181f176e090f5881a373c963bd48cfc7a129f9c8c0ff16d88362f8ac797b811a91 SHA512 e95599126086bdc21db7f17f6a75a985e4964608b4c5ef0dae411b34147268ff9cc40093981231ee1dc186e7fa449c7cb9d9f04ef2a24f1c11724a45bf1ca6d5
-DIST firefox-103.0.2-en-CA.xpi 513833 BLAKE2B 574c8748ec481b8019b8fdea1cb5dcbf8bc7459956c3d3da47c92120604eabc4489ec93c3e0bf44096ca4ee439c32ef0c2e5866a66ba03139e494ffeddb89dfe SHA512 de4c8e447546384a46db7e7796e5e3bf91a50335ed31a6a1a7d0fe39d3117664b74cc6fbb61704e2df01f8547484b3fcd24d8432f7581feb73928bb55b93a96f
-DIST firefox-103.0.2-en-GB.xpi 514047 BLAKE2B af03f27c1ff8cd163c697d15bfd46c949a752d9dd2a89c58eb504b7420fad06e1db3c06df248b229c09fa7c72c2f7ae0f43e12313d15d842710fe73c2fd2ead9 SHA512 a1d82ad6cf36741376768fb790b6186ed505ac35c90d7a4b71ca793ec197312f3d7f72fe0c3a16de7f98f3c85c3cc2db3bea8ffb66d8135499f55ddab1b9764d
-DIST firefox-103.0.2-eo.xpi 540165 BLAKE2B da83c5320e3260762f70a68e5f63eb792354182d3b9ecf0b6171f1742624b96a9c7588715decea2a83dd84e1bce19f53d6e8f042d8c241c2d26668aec6ddede9 SHA512 0a5901d874a789b2d9b860e2e13a8e03535a391680be16564011feac13cb561338b844af6fa01b44203e744531539225afb39283bad01fb4ad34cbcdfae82c05
-DIST firefox-103.0.2-es-AR.xpi 550473 BLAKE2B 29cff1642e8d3a8acf8f518e749f2aaf67eade8f2700b72f160eb55020c6d71ddae4647bb9b00191ce1d426cfd0846151091042e5143b27a232cf8b9d10f9e22 SHA512 df9e064d23b3ae86555b84ec0ebd58a8ae24b62594ebec42a3af8ff0fdbe4c8b9f268fb9a99b0398dc36840ce59d2367e6b4481f1f9f68f8383f19ec81b9a9f0
-DIST firefox-103.0.2-es-CL.xpi 549848 BLAKE2B 9708ccc910bf3f1d0227ea5f3cea41716d48c48c68212891c9efea4c9f290d5ac13edf4d00528bcbfba920c0d0a3245ef5c43c3d35833f310f1efec758bc7011 SHA512 0f997e5b2471714fb914304ff4dc9b07acfa609e054ec8d8dc9eb963db5257ea1ac332d9bc407cb87cb1732b52f3b1e350220a4a620469867175d0922879c3d9
-DIST firefox-103.0.2-es-ES.xpi 541262 BLAKE2B b6bf7a5f6e70060669352e47969d0fc3055ff334d859e84c94afc0a1ef6b99e66ced45a7e5199e4acab26945e52e7ea41be6e0b3c10c8405169fecd8892672f7 SHA512 929eee6240406c35424ec5309133fc7045271894d152057bd94d23f833600d3fa219fa35c7937c621917e1e094c6a2e399bfcc8cb84a6dd9a0e19ad1c4aab997
-DIST firefox-103.0.2-es-MX.xpi 553699 BLAKE2B 995c25cac3b70933788f8bfac2c71e8f788c027053d0e3739e21798cd42a238671ba4c336f7cc7a9f4d2446575b48423f9c8a262991068a74f041efed77afbfa SHA512 cc15e3ff2266b2281b0686fb67ae80d4f24891fd1010b295472476646193c999c0a99b87dc682a61c944df26ac34974447a2388ac680fd964327bbd1282634e1
-DIST firefox-103.0.2-et.xpi 530732 BLAKE2B 7178a67ab1a8bbb7d675e0d037d9167b9e7727dc2bf03d6ec83c8ccc1e21687bb42fc4804556c6c1b5370de2c198a8ae445a8bb53ef0d737b9f6a602c71be06e SHA512 422b758f5f0d0141a5f595cf8139d68064edfde268eadbd70ccc4d80c46fb0677fa88f6e4216bf6894dfe60e375c5a26ea4ee0d4a5886e84b7fabc110f2758b9
-DIST firefox-103.0.2-eu.xpi 540015 BLAKE2B 20f9d49ac6a1976d648bfd567c9836867d6c5171e51e4f1a69e800178d87dba72bf8fc9e22843cdffdd0271ef9af739efb9ad1814e73434531a1b81191c88b64 SHA512 c8f0ade84a56dfc05ea72038a0a9123683f0848ce6fcb8b72c44a7b15e3b37b834ce12a62b9db5f9766f1d8eba12e56cc6842635d1050a0129a12cca15d29932
-DIST firefox-103.0.2-fa.xpi 561849 BLAKE2B 7441fe5c2824c521a14b7f1e1a5c29c17fc7355423a89d2ab7f3305c2c0493201f277dbc5c34567d8f64b726b3aa448f843bc8579699729f2b3412c8003359f4 SHA512 ed8dbae55566f1cd915490c05ceb256f77d503bdecfecd7b627c232d6ec551b8dfc7668488c4ed51cf895b7f99084dd8fb010d1615bc616527f7eadfeb6f9180
-DIST firefox-103.0.2-ff.xpi 472343 BLAKE2B 9679ffd20708ad92d50e923d5aa905ad61eb1c1b678663e2aaa9fb21e383095a4692b7604bc64a643e450b25ba7d4fd38f0d4486cd437223067575f080317fe3 SHA512 07d82b666b0940f02af811491151ad0160ed75cfb80f310617decc6cf34eb0e9123bd79216205f78c767629794f21b0a59c85c64e1027ed696dc89e831d4feb1
-DIST firefox-103.0.2-fi.xpi 534455 BLAKE2B 0dfbf36a640600cc795f5525e34519ff6552bff8a9c6b1beb7f2bc3317544da12c9ab5fe510c4d951e607d1bee6d18f9385571e91a808ca95612ad4586f56811 SHA512 424ac717af6a4a6d390c50c5cf6c6c9d4f1ce9ff4b7091e31df5d73f81d990ab7103f5fc81fdbb391281860f33df3cdb1c15bdb96bf98a20538cde42492cb1ed
-DIST firefox-103.0.2-fr.xpi 561684 BLAKE2B 1b7fa4c3dd1bd3cc60603a53349e74380e33a2405d5fddf7761f1b0594acfaeaed7293592af70a6536258360dc3d56e529c9b102a938ac48015179908e1d131a SHA512 6a7892faf74d5bbee9ce5c3e0b67e4b1f5cbdbacd1b13d0964bfe4cc24949ae4974a579954d4a9c3d161d546cd296b00436956ce5cd7730e678cb2da8cdda708
-DIST firefox-103.0.2-fy-NL.xpi 546741 BLAKE2B c02b53ad0771ef528ba99dc1d4238b7c7ef8386014de1ad8c78dd6f26a363f52524458e9a87501385a8f45d1ada807a8488ed71564e5feb485e971d06836688a SHA512 18f5f86386b904d84c6a546221f65bdf50d6d9bdc64ec7f1865d4a508e8bf6360d33acb7337f3240db63cf3f5171f17c3331e2006357d847f9c124f7654d378b
-DIST firefox-103.0.2-ga-IE.xpi 471795 BLAKE2B a0b33f9c3b97cded057615d17c226dd6b10dc296dfcd218a87cd196b43a8b9870fd3c4513f5ec4411fa4dd6fd6582db5d9ca043cd6eee6473b87d09f73f5fb08 SHA512 109b27bcaad8781d3c9400c6f996baec1210f9880dffe8617a3130551c62db9e16f49c3a8db80a56a1032f98429128ab21b5cdc6982e4a4dcce12c3a212c8842
-DIST firefox-103.0.2-gd.xpi 533650 BLAKE2B a789d98a4fb3761203b0bf481848ee323fb783eddcc1028eebbea2c38c51c4ad183498d9ec114c426a9a23fb1df445374ea00c7ff3c4bd6b6f9510a7be9f7fd9 SHA512 edabe0bcbeacbb7a1b386872d7e4d69e501078fa6fb7cd817503800fce2d058df69fc38a5e3825b6a0d7c694b28d4edc7cf2340d7f206a2701b86acfee348306
-DIST firefox-103.0.2-gl.xpi 540055 BLAKE2B dd38c52d27279fa392d37b8a6a75a9f4d2aa1356184f8e3754903cd5f58857ceb02895c25fbae77d726e59fa2aa8d1683c40d410d7e8706e77bd225c9d751754 SHA512 9ef5f4cd9ab360420315e9cb8e088c9e9e61e8d20f4277b7b5429a6c92356da171ebbc78663b9321d776a01071e5b997c0c0b852e2aa46c17dedefc1c2b09f29
-DIST firefox-103.0.2-gn.xpi 561560 BLAKE2B 41c520b6b33ed2f41278ecb41f2535e0c26b9f68bc38deb567fb89f58714307bce98c62687e304c2ccd497d3324d6f1162587fb6c5baaa745011b4f655c0bfe3 SHA512 6d674bed2a687b82bfb67c8a529af034b375492eb838c6f7299d2124c2daf6d27067de135f586da40ad84af34e8c69642689cc6f94d40dfbc272964edc93af4b
-DIST firefox-103.0.2-gu-IN.xpi 526865 BLAKE2B 4e7fb452a52069e0c51965ce346205dc40f07dd099395a7ec8aef3be3924e59acf9949bdc5a721baebfa5356e8b57de0f69434808d2ddd6f8fd1152a7c3f4133 SHA512 62be57361a828554ac725fc608f9d0cac05d020e973682b45966a3f56abf9ed83933215bc85c27de17b929dabfad8502d6e288da2941a83928e0cba243a57e1a
-DIST firefox-103.0.2-he.xpi 559713 BLAKE2B f504d6c0db3baecec8e5c07ff7dd7d136951721e76898e4079543943f9ff8dfd47b34b3de022d503675a0df5406282fc4f1e42bfe36bb089ba48f1b606a3cee0 SHA512 50034ea7d1934fbdc21d2d987820df594a9b698b7d29f9f619ac1f821d26f00e62dd44f084c63118060a46847386173388c7572054d47bb48044f98869e4a8d0
-DIST firefox-103.0.2-hi-IN.xpi 556919 BLAKE2B b56899ad0ead731a9e30b8b350dc380807caf62510c399598601ed18e731222856997890d0dcf137ce86f45b54c77aafda97009118d48ebfa111ed3377c8bfe3 SHA512 68ef4b1f0c32b29dba62c2760befe21e4be481c39ddaeb40ab65a7da21bd376e8ebcceff817dc836d14330b9731924a0b3957242e40fd85b59ca0d8e81934e5e
-DIST firefox-103.0.2-hr.xpi 530619 BLAKE2B 6deea4b6da7e7dbad57457cf87e956ff1f3b95f46e82c1a1d9f86d7767abd6d3c9611b8ea463cb898fcb32105bb76c47544e41d7f63948f54aa2dc8c98e027ed SHA512 786436d84e5b075609108c12e5de94d39895020eac4defef85d076b006bce80e935414609634d6cdf97a6a878f0520c7f82b91df47c00b0aa04079748c2e6002
-DIST firefox-103.0.2-hsb.xpi 565684 BLAKE2B 088892136ef3e9459299d65f18d388b4179fde3deb2ce17917b33b4ea2fd0328c345f0986da34f3f372639888f947674c98328fcb70366aa5f613b2dc6e9795d SHA512 f725931f34cbb037f99921cdd3196be3661bed24700dc7e05d851279352226c83476996144bd022bc66224164e72b1536105e70af2bb9102e174b1ad569b0f4d
-DIST firefox-103.0.2-hu.xpi 568996 BLAKE2B a4ba79cf9c01f9bfa7e3de91760813fc4c9673245cda533c01e476068e34cab2e11204ca0bde655b6e9d018142a9c59e9d7ad990a31dff187b393f6ed0615264 SHA512 291f3067d3ab9fa0708150ff082b89e45df2af6f79bcb8af1e4c83631d840b3bef276a468949abe2ecfae76cca13544f72f3360d4adec0dbb70960c795f03d1b
-DIST firefox-103.0.2-hy-AM.xpi 581562 BLAKE2B d90e159568c5f4d4822c8283341eb8bc918dec3bde20f23b621f3e98e5cddf957cdf4a9920c3a0a96cb54eb78936451a4385270860b613cb5a649c00671cbe5c SHA512 f60f3164231980c84ee0db0953e1e600296c26d9a9ef1aa73ee30a42c6bf20114dd9584139a17d93cfeb39ba01744587b560b9b8b09c6acf38b0fcf78b2efc25
-DIST firefox-103.0.2-ia.xpi 535624 BLAKE2B ca33b791e6351f8897958895a56f4838d76ecb0249def99fc5d1f1d89c736670dc381884a64056ffd796b0be7d099590c3c7587473e7f5b4edcda416e5799709 SHA512 8d2da1baf3d1763f4a9fe74a76351c21388ec183f670f4e57784a41a5a6dfdb484b631b9ea2a5d670df402db830bdf5f0c3309d59842c03b0f55f9ad82698f36
-DIST firefox-103.0.2-id.xpi 532821 BLAKE2B be627f5aff265edceb43b078757888bc176b264a2d2f11c5ed12ced37e0f58198922a74f3d0f348998d76386db0f5e26f45700c858f1c8f0cb0af69d7d14f8ac SHA512 fed2c84ddb39a260a73a6a10a005da417c9470c7745d6506f387a0dd71246ffd04f80001e74d6c646c8e836387e3a2fb6f409861fa68ff1c694c79965b2ff656
-DIST firefox-103.0.2-is.xpi 540853 BLAKE2B 1cf13e06868b1ddda265ef8f726d98e2492f7f88b342c3f55b25075b7bdabf0ecfa0e264e235e426a2d8488289faae92a9f35cfba48e1f034613e5b417089a05 SHA512 38b0de9f3f3073f943412383f12840631ede3288e8342d3361c6c301e25654878324618ce0e2bce2f64fb9250efd6061ca4303501c517c52366e9359f2eba849
-DIST firefox-103.0.2-it.xpi 454433 BLAKE2B 3c02793fa1063fc4197f1e825ce42fd3993c6445096b3bdeb72460adc3556d02d9ffd1792e2f34e1dd857603de5323a9016010682e63def80595200b103d8537 SHA512 ad48d75a472ac14e7f8abf64f42903f02034f5138028f8700dbd85264f2f1fd243af6191e70ce5a000aef06fd860cfa7f47000c9b0e5250051c1e5eb72a8c795
-DIST firefox-103.0.2-ja.xpi 574515 BLAKE2B f21cdd917ee7ccb45703c87461208be59bce0d746e0172f04270ce7c8f5b6ae02fe93706e2dc31c7fbb44485a483b60d5b6ab4e4a8c73b64935fb79e9136d2a9 SHA512 6af8b8b63e078a2cd51c3e4b5fd191b85e723c9c5afedc3e0889496ce6d643764c9a3260fe36504bf11ae0d8e9000f0119152f87ddef7c52a8c1f1bf28772114
-DIST firefox-103.0.2-ka.xpi 594030 BLAKE2B a568a303c9142f2f5d6494a40557caa779e8d7d80a5c637c194f19ae1a1ff6699b54cdcafcce135be6fc8c2f51c34cea08d193c5fc4b365380bae009263814fa SHA512 eb6f8a0aebf96b4820442f31a5036d7b502e5f781401e31fc277c2674d52c24da7cf6aa9d4ac6f537b078f097478767776c9760a6f218ff48df607058b3a7690
-DIST firefox-103.0.2-kab.xpi 554271 BLAKE2B 547f7938718fcecfcd67dd596da48f967c6bb7b932a17006c844c6d4c0e27611b17c00a748de2d12106fa0a132bb32e00fd93feb909dd45b23a94031008a53cd SHA512 fd9ce61bfa79c0eb9598731368cca733e982bff3b5cc26d2b5e48b255a9935d0d5bbe8a05aac8c554d3e028220ecd37a3fb52a354895cfaa0f790fb99b0dca67
-DIST firefox-103.0.2-kk.xpi 616952 BLAKE2B 14c80fbd82a0cb5d461386a1b4e6bd410ede2003a7f01d206a618b65545bf986c8c55bb50927c86ebb3f82f858419df4a4a2a673ce6f5ff6bfb58f9bced2e22a SHA512 cf8bd5b909a588d9d95237dda741f27c8c0ba8f6d175bb2c3bbddf48228e8f0806dd8a0d8176dcf12993701448aa13b3e62028e47286a66871a75e708faec111
-DIST firefox-103.0.2-km.xpi 531396 BLAKE2B 8f1e40c06ba31db28b4c4bebbd19a8dfaeaac9f14efe2fd21182c99ec0c2a5bd1e071528d8245dc750d13c8b79bb57984e33444fd3ac4092d612ceecbc28dc84 SHA512 7f35424133a498d789f8b769f71cff054babe922f60619eef69e291c14dd8dbbebef2ec822957d02882f3ac080b5c98c537ff27f3295a9c1d01df53cfbcd4a8d
-DIST firefox-103.0.2-kn.xpi 497499 BLAKE2B d59e3531f9455f49f865a4e8fc14ea3587da3e4d70af9897b43b27edc4190774b2043ff236a0fbe1ba771a3a7058e4bc75b2bbd1e2e05353189a81a014fa43d4 SHA512 3bcdd8c6392c2da9f5e62c4c7b2630a951c580ac4eb6ebc1aa64b7db35ead75011d9de1b6b7f75590d7f056f95b1e00bcb4d7e7e2f1c7fa0d5cb4cc9ffcc2184
-DIST firefox-103.0.2-ko.xpi 581114 BLAKE2B 5d778b6ae1eb397dbe226694227d8f1b37c27ab0d657ea297d9cdcabe293fafd562cbbed68793bee1a70eb1ac813de0411414a9d8b235be5fd2d0b210650b21c SHA512 f7649642706a42a581decd643a4db83cb653a9bedfce452a412d0a474e13b09090b40999252de6c1bf5580e346ef13ac6d8369542b83062ba07e8c2b6ccd16fe
-DIST firefox-103.0.2-lij.xpi 470252 BLAKE2B eff99c70ef7030f5d8305e5eeea1b52d0ac095eed362c04ace2a09d17df2e25f21ff7bdb7e589df86193742318b3131afc66778b3881197cc7587e5bf139881a SHA512 060c194002f29c9eaea5288cf261ced0bcc05f6830181a3e8c6d1b4d58d5c3509319d2578ceba664ef4e5a0e2dbf2b2bcb081d40043596f4c984f09b6414d8ab
-DIST firefox-103.0.2-lt.xpi 562011 BLAKE2B 7041f6f9db65ad7853a14e6fc4ef244da827faf3c4c33f748caa458fa05d3ffbc15f5178a23c4a54753d7ff54d07b8085c1b6b5edff16c3624afa88ed5461835 SHA512 754b98090291a1ea3656de0226ad520749e56312863d04d6a3fd9bd90b092666297a91a8a1381a3c1206688698a1bd2fda75d407c77ae0952f44fd0c726e383a
-DIST firefox-103.0.2-lv.xpi 463416 BLAKE2B 5d2706d9ec347bb37727ab764c2e1f375ad6d62c423cbcb285e0122c2ee55e52776b7e3fc6f52a5a31a0d0f106d57911912725c1d5b72fb5a10d8785b09e7b79 SHA512 98b10b09a3d9b65a263684dcdb5d68ccc6903bb71d4c25e35e77910a92406372ea0313bd02486c691947448cdf3eeaf27b3d96e94391d17d59e67c11a36b321e
-DIST firefox-103.0.2-mk.xpi 474779 BLAKE2B c7a1c4133bc704981bb4d2ea664eba1926f5552438d7151121b572f70ad9916739eb78ad9308c5ff519aadd8c903a98d94b02c4008d5ed9e938b97237b65d980 SHA512 c68de808e7c586bb4288ffa8d5f235bc67bbdf76f0c1ec591c67624e1bd78e09ca92a19d1586e90d1f4287843fd51bcd6ea8b42be8914012b8a33c5050392998
-DIST firefox-103.0.2-mr.xpi 530638 BLAKE2B b58890147e9406d7e7258fba2d01ca50870e94b66badac481d703f9c2b69194d4a43acc96929e1711c9690828665b767e1a520afd009ccb11c66c949b5624391 SHA512 fe2c3912ff73321e5433733e788027085fd41dc5421cf5fa2755506c4d43b030e05281b6c76804448f26c5c494c428b224a68ca8f36a24f772580c63634ad754
-DIST firefox-103.0.2-ms.xpi 448400 BLAKE2B a285b72fe226578170bc86d8d421e11af836e24ced1256f42649606c00d0b6163cf206c9f0a52b0c874f0ad4496a793bc3d8ccc26a4c07c63731c54d34bb4695 SHA512 4d371354f195ad17786953cfe41d82a3490a2219531eee66d767f1c1871f32b34666f527bd84e823b3f88deb3c888ed73c49b3b2a69a880747835f42a227ca91
-DIST firefox-103.0.2-my.xpi 510279 BLAKE2B 52d3677eb060915a18063160ad3f6b1d2c4390442d8e7749c84ac9a175bf343f2d59d814c66da7a230d5e147e62f68d1080da9bd0a2d65a92591ffe57955b44d SHA512 b05e3a6089024625cbc923793434f8d18f3e22965b2bbcdeb07279ee21a3f449cb2b3581704f000828eda4bf694cc184507a0f793d40cf7ec0bc9c40b545397b
-DIST firefox-103.0.2-nb-NO.xpi 533227 BLAKE2B fd181dc0db6e1458615d064525ae9230a7cc2bd904ca68932e2e6b8495aef0654211bbf88fa4a689bd5eac363bb052fcab31d0173f2c6eba87989babd668f233 SHA512 3cdf6f067e6a8fd62d450af8b1768842630b867fac3d360a439b4e1c3d16cbf6840fb5b44404cec9cd865746328ec608ae5c7a313b1ab358c36faa80fd8e70e5
-DIST firefox-103.0.2-ne-NP.xpi 489024 BLAKE2B 804cdb22635545fb9f0fbf6eadfb55b0cbe646f940c0c5d88a50a9bd0d22b5dd0685a0afe0c1353c10201fc026f40df4f3326a73af35803b2689a1d4ae43a709 SHA512 ebd9403af9c9c91059977b0c3cded92fa4b343253915eb48919fc06e7acad0b435f5455cbc057dbcd66aa013b203085c94cfdff1d574a7c3734eb5e686c6d67b
-DIST firefox-103.0.2-nl.xpi 541042 BLAKE2B 9128943b6abba85a77bf24003b2a3d056b8e97f44cfe1431c343f1bd65206f304cd2938780a3a2bb00024fa6a036cd4ac6100fdc3c33690df35ccff3a52245bb SHA512 bd6c51fcad2b08bb57d2cf15df24d731158a127c0ffe5d6c91b92c2ca4065ec175c9fa7f51107a3b7643a8caf583df454ad48e6a20ad7521b36da9410d65ccbf
-DIST firefox-103.0.2-nn-NO.xpi 535179 BLAKE2B cf0a3812bcb59ca7b695c5ee68aea30665ea43e579f2e365da927edaa32be746f5b71abd4940d2dd8f6d9117b8eb6e667df5d25aa05f608eea73b978908dbbe5 SHA512 c51b820855c07f074dacab319c94fed831c5d2f60a3a68b14a1479cbb1b03a1e58f8ebf6b7705388a7636fe041eba4d2a5dc0f4ca428cc113cbb3d219617954d
-DIST firefox-103.0.2-oc.xpi 556237 BLAKE2B c83f0a8abaec8589a23dd6a5c7264d8f2090bbd23d1c2e4ef28c31554660901d051333b83a816df77843f2c5dd2d7005d08626bbd55884be6e07cf759a15aacc SHA512 e4b7928e3116523a5d8c73984082a0fc349a88df421cd841cdb34683c331299a13d3b3f68f5e6946ab23396564d0a47b614c341b1c41d3d4e8cc355cb45fa372
-DIST firefox-103.0.2-pa-IN.xpi 599790 BLAKE2B 8620a7f30cd1846f668c1f3475eb26c1773af03eafa8b93c89039e1157f363fba7780e3947092d21912e810fc5a89e701ee1257b93d1dea23eeeae5d9ce2e2a5 SHA512 181cd9a7cb0b53bb1365e4e09e3bed95570a6b49fdff1178b5842596b27d0cefc8d2f9623b9f9ca572dfed79e471fe2203db1eb841a33bae1bac3db71b9798a8
-DIST firefox-103.0.2-pl.xpi 560477 BLAKE2B ed94103f42e26a8809c620a1bdf524bcea497127afaaf387b5a992ead69da572d1c5dc2cf1aecd56fc81a0447cbe6912d9beebca8ff4c33718c8795699d1e262 SHA512 6de336ba10727ef83e2bc8201aae8c03c6be5d617e493aada0bdd43c40a34c48a830284adf79448612786f0a7e7adb5aca62d5fc888adb5426779dc08e08efd1
-DIST firefox-103.0.2-pt-BR.xpi 546005 BLAKE2B 33a36d9f194f660d6db644ad1f4d4fec53f8a1d2395d9a541e8edabea19dfaa1ec0b8893e7bec83817570e7b75ced9f7b7ab696d0498040112ca48e1ea04f61a SHA512 c9e5078607e86f74da68d23ee7fd1e5de88a653f93240ae06e5fd2ac370cb49442ff7eda51f5740c369e7ff73177ea7c2948b38f35c40b030ac6de78bc6eda0b
-DIST firefox-103.0.2-pt-PT.xpi 550405 BLAKE2B 78297462fe06eb051b20f908e192bdacfa8bf5646f1d4fdc5c3dab470b5b25c8cba224a115b00e58eefd36178992905364d243a72aaabe44e2c6daf048c0bf90 SHA512 6fd7149bb74d40ba25a03f2743da49ec872b8918daa15bf7dd51fffd2a1aa6fdb8731bd055b8ecf8d7eb3915d349536bcc306b36d0929e4a25762a0423eb38c6
-DIST firefox-103.0.2-rm.xpi 539546 BLAKE2B 7e79cca7844d602119b4a037f3bccebec67ce3dbbe8e03f8b051e246f18016031f1b3fc5501200a766b5985907e60788e489a0d52e517ac00bbdd490b9453464 SHA512 6b6b454f5fbdd3458edb7c31ce2d67505436135cc43f6ce9c5f22989d27c60c956af8776beeea1a4645987c5ccdd98d136ae79ea3d1510e1c5a7995101ce981f
-DIST firefox-103.0.2-ro.xpi 528563 BLAKE2B 42be1b5ed289c025766f0395f6f6d7b264e73154ba2bda36b54f42a1551e002d266670b70fbccfdf3f87c1da9f4a1bb463b02086e88e65a63dad02c94b7562e9 SHA512 d3fa437d7359a5c46a726eeaf349849f1f93625a17de9237f6b313f8ac8d514951a35300716e0c1e0a4754459fb5d4c50870104c9dda2f707e35df3b56c4656c
-DIST firefox-103.0.2-ru.xpi 630097 BLAKE2B de4729ab5571a4c05055a78cc74ef23f11a8137d1669d3b9ca1e8a17f316a20d1412bba7b542a205a956bdb9f66a74c3cc15f2e1547e6a1c3bbefe22a9ce208c SHA512 613ea6ed25b2743331f84e2b21db6613d69ca8f2568324b3bf0bf978c4807e6cac253d7fbca2964b5c3371b9ca91e526a3764560ef80962dfaaff3a9d848fb8d
-DIST firefox-103.0.2-sco.xpi 496685 BLAKE2B d5f4fc466793789903a4d1f888ad4628aad68b235aee76263a589540b74ea5ff632c5c10186d7ed8e488e0433d744af563eeefe8f353d9016d0c30e916819c7e SHA512 2e9155872d39132f39d24b36b4d4e4b206c27ba50a5bf80af92770371ae280f0e498d85c7c926d582d72d84b83e42c3e592094bd0a528a5a6d4ee6dc769e50be
-DIST firefox-103.0.2-si.xpi 485246 BLAKE2B b628f36addcdb0ecfa6d372fc2276ab889fb345105801b6c2ef0446a370fe3946af30ff756d041774ce9f494974d028987a1e8f471acd0a7d0977e0bc9232fe1 SHA512 dc3869817f9d155bdd65ab579ab742bf3cc82a8a28c774d01832f6254a89dbdf5d921db529624545470c12da2248db80dd0cf257cc11627b1f748db141b8068e
-DIST firefox-103.0.2-sk.xpi 569083 BLAKE2B a991e68e207338439790405a49ab56c5f9a4ff05757fdf56559f5d93d1fd1cced36c3310365594a8b2639e73fcaff10c62f83867d99b79e6bac39bf70183f1d5 SHA512 a43ae03c266575bbf22f92a8098436eb67d8063da40392defcbcf08cdda3cd50f99fcb568020d0c415fc62d1fdcf4fa355b87f323d13758c9eb61f0c76622106
-DIST firefox-103.0.2-sl.xpi 542267 BLAKE2B b6322d249a971fb10f0f328d2a43b315ac3ba9761119f124687c8666a946119e491de3348650f85e04aec1af8508705048992a6ab1b2c0de4622f9d1f7737c2a SHA512 14a2f03a0a54b50a96de22a6425f0dea6b7839f284197d24f5726372eb318d8bc9262976270fd77e931ec37448cbc336bf2a5b8da44b250baa552e9386e3499b
-DIST firefox-103.0.2-son.xpi 426220 BLAKE2B 5d7b3943601c0901e36c743456c6f136602d5249be39ff40a0c6c55388337cab5dce07f2dbb5f60929d7fa884e6ca983383e25681711c5f008d7ca4717f1292c SHA512 c15b74a8eaaac80abe69e8859d3a542447098a09278d13dfa6bab82bc6ce2d7a78c6142ce3f9501afddfe05ae7aec58fcfbd8d280aaa60bd6e849356a6e231ed
-DIST firefox-103.0.2-sq.xpi 557262 BLAKE2B 5e462d8092d9bb3bba1a55a6451da50970a2a66ca63e20422996a7c353cf7610c65846f807eb2b900a34819bd430f6a385e106f33716061654dc2ac8f3ce8490 SHA512 c224d0e726ea4d2a505a5936732c10d1cc2fe82b3c218bde0f1945376386e7e407a2c5dbea01852005ea4f62e248e4149176f12f09883fc202c1dbf12f9a93bb
-DIST firefox-103.0.2-sr.xpi 582550 BLAKE2B 881cb7c8da9480efa9f7a2f0b21cf20b4125edbfb19db967a8afdc1a99c980e432d5dd95251f4df8f5b6f16a7cd45fde7b69220c0acfcb4dabc5fc36b15a9e83 SHA512 b43567b2a277b58d93296b4b595ae5ef6072f7b83e03936d68d3f7f0a06d6ceb0e94c209a8c1f21ca5545ad9a748c2502627502388a64a6778d1bfc5d15fbebb
-DIST firefox-103.0.2-sv-SE.xpi 542859 BLAKE2B a5215b0b316bb4edf9a0af214c0d69adddd1860bf3da0e66048d6f56a33172c0565d3925e3c93cc955dd0c66a0b8e4b755446c38ee7016b41600d91c4398e600 SHA512 446ff69089e17456815acb29ab74c62b32d91555beed7a134c98f23d4b64ba622db6c4ab67052765034224c779e9c81bf8e739189c1a73be358ef4a88edec8d2
-DIST firefox-103.0.2-szl.xpi 508458 BLAKE2B e31d4bcd850297b8898491293d7207a28b233f3c46b6f6a7d56db9ba91617da804acce7230d39ee5d93b4c67e24b796fdce8e209fc2a6ebb1fbc6227413671d1 SHA512 69b35f29489e6dfeea7e0291e96d4259b4fb237866dc21e6ba6ce42faa5c518bc77ca28271baa4ba04d307b53d674653efd5b1b1ca294d91c2275e80854c7595
-DIST firefox-103.0.2-ta.xpi 510667 BLAKE2B 04223e5f88dd56fd8c8412912e3580a679443df871e89ee5fd3ec35cbc08b30971b0e46950a5a4c0b526675fde95b0ca3fb04823a1a60f04f0d62176c1c29225 SHA512 887fe2441708650bc3656de83fe828d1cffa1e1b25554821fbe6287fdea4652ccd8d669ed8002ad722511ed955d405577a48fdfb47320951b84c7a22decf77d5
-DIST firefox-103.0.2-te.xpi 551777 BLAKE2B 9a749fe44929d165cbe8a42c1ceae77c74139185983f033b45e64ef67c49c4dee6360b6baffca79323ed5cdc5c75482951fc3a5508474af69562b9e92ef302ff SHA512 32bfd82dd384beaa3b7c4d74a3edf680fdbf9f39cf216bac84277d57d0ae71296e98de077eee52f3b01b60bd86eb8227f0c3ca2d13647e67fbc61195e4a11f12
-DIST firefox-103.0.2-th.xpi 610650 BLAKE2B 8542d9272b102d43063b47a4d7656a4c5236a1884b635088d18c4180f8d1201659543ae8e020c78e24978336e38e2422dbd38cae36797679b4e9d98b039c57dd SHA512 db53f4fc09ed388c6c6888326c3c70469b9aa15c97d29f3417611bde5e8d8d3f4befc89a6a86e26f4114df6d225639de707fad8e162d0c29978aaf9ae6e58932
-DIST firefox-103.0.2-tl.xpi 518735 BLAKE2B 7093f5c5c09530feb40e1c34f2188af864fdfa3520fa610f5fca38922991bf7bfb673dd1e474d30e38c72269ad4d4841b9450b5106fff7a764f6e3956bbb1a73 SHA512 3e134200541e9e1de362d26d41cb80597a5103b1402696f349486a21ac074e03c416a0df708e7fb2adf0d7fab6654590484a2c398865469141c5855114224b95
-DIST firefox-103.0.2-tr.xpi 555677 BLAKE2B 93aa03d5519a1e3096d6ca9de28eb44659234bd1c616002e2681c5f45a012a2e745f22d9a3256f57faa65990e6cf013f05dfc3f22289a68c5669e90741430e66 SHA512 cadabce92912362cae11a5f93cb1569b75618a1063f268dd4e72e0f84e25ade2c3c8adc7d2ab7112880c1c8f123a867c429a04edaa399b2226739815ab2ab780
-DIST firefox-103.0.2-trs.xpi 488895 BLAKE2B d7e87deea7fca3fa71262382ddc3bf34b0422b4d26c405523755ba03d55e6d3b1ba6699553813800842aaa7cfff997dd38fe4386bb3163cb246207331e6d4b69 SHA512 b163162c60c0585ea0980915022225e1573ce75e4489a34dd586f0f6e2079142a510b3d475272bad48c01c3b44831101918cd0fae4af13ddf80584eb66e6c443
-DIST firefox-103.0.2-uk.xpi 623486 BLAKE2B 6b2eb045935ed1f25b93433131f974342d17346904d3f7855280f5850f8ca0f34bec5b25c10322f5202902cca07fd019ac2f124dcfa432d310b28c5d8394b756 SHA512 83bb8a5f21de4b26087bb2194599d272bc6ff01a91cd8f9d905f3c76bfbd76414a3238f7964d89632e53dc095b03f19c17bba4ccca5e3c39b9d3c3868ad84ad2
-DIST firefox-103.0.2-ur.xpi 558764 BLAKE2B b3821a700dabf3a232420222900e8954918e8d3418412ee6608890d8298dd9b746fa8fb1a7002e50f72d3f7c2a9735685ae373545c7fb3f2a1f6aecc6b305aee SHA512 25d57500a83faf3748b839113a8d420f7141af4fdaf656d83385fced399af33f93e37948482d8e47231714d5520f699560923a5d131d151f15fe0da63cdcf5ee
-DIST firefox-103.0.2-uz.xpi 478416 BLAKE2B df1c713a63b85a31afc07776909dfea5221ea3e33efc3d5e47270942b3110598e5c2bbb1e71e2244155b42631c5074b953b0bbe4d3caa9a8b6199e530d8d8241 SHA512 6f132db6b7fea678545bc640db1fac23d6b1b3dc661420e5c4be171bf8a21416770523108daaebb63e376bfd24c03f9656ffdc9c025b774fa787919e9a43c056
-DIST firefox-103.0.2-vi.xpi 576267 BLAKE2B 66e2eba7b548dd2f033b3aba64a1fb59aae2cff379183eecd38cd2ee9ebb7e25070aeea15cf301c20c088b1afa9a3ac8df30b5f0984ffbe2d71337d6361a76c7 SHA512 3ca6b3c81a7b45dfb066b39f801242b665a70d3fd56eed4b2e843c27724034d4c6ee34dc33159617d25d801bd45c529922ea3b26c5f2086ac3070ba14bb075f3
-DIST firefox-103.0.2-xh.xpi 429254 BLAKE2B ee70a4e3eb38484c15c67299d9bdce588b672d8914ed2b0311f35bbd6ee898b4fe5da4e3e3daf61df258c3fe1aa36594bde4487d7ef31822ae5f85c099e1f4cd SHA512 647f9f7a37f8cbe5d784e1774ca5135961c7bbc225e3c7d1be32058a3a249d731bdf204682aa47ba01d2c98b59bff70f396d255fe587f3cad5162e9323ec8ef7
-DIST firefox-103.0.2-zh-CN.xpi 577419 BLAKE2B 787347109e5f8c3c1ac6f5584f83fe5ee923d85d3c6e690e348e1a39589dcb880620f1a538e220a0fbb6a465c62fc5c04c91aa6900df713b65be17d369af4402 SHA512 cdbbc43b338b81f54ac987b3b5d1de2c0300dcc2a9f07f0a519aa4a7727f43edf3f638e58080af129e29aa9a4a5247fb0f7089c4aefc121056edc9e548a4f2e3
-DIST firefox-103.0.2-zh-TW.xpi 578012 BLAKE2B ea13d0d50b919e3bcc65b95cdb7f6f1162493f6fab4ba083586b980ea737558ebebb49110b14775ee0f2fe680789edfb05dd20241e0887a62ee89cdcc307d5b4 SHA512 594ded581f530dabd461df11e1d0d5639a7da0e58f4546c1a82347b96d181dc4b2bd7a77751eb540553815443343a1e3432de7ff1175962b3c1671463ab91188
-DIST firefox-103.0.2.source.tar.xz 481280156 BLAKE2B 597d5ede55d857409dd2efdd377250b8a50fceb3eb704de4a664fc2a128a09ef18d86d4c58bc18d19a395784a553ecb80eaf83c4654857ea317d2f044cd05c69 SHA512 f13984bb551039c80ef731931f08a284f070142ecb479b31a4caad026a6b535e3fc7ae506b629e933ba5f5a1676f14b6b36d031d22584170492676f8727c822a
DIST firefox-104-patches-01j.tar.xz 18388 BLAKE2B 97386c544a6ca776476e3398c621b8ab56eb39742403f73578aa09ba4c9dc015a752fa5f67f20a16afffafa6f85616e385d181b8c8110d681a95c3ef072438ee SHA512 f3ee1ad35a623874e03462840afcd3674a20f024378a0c0ee49d643bd0e39e063234cc0c4fa83d978c13349fe3cee9d8ce9b859f609912713560b1fcfa39a7ab
DIST firefox-104.0-ach.xpi 458331 BLAKE2B 94db0b3efe8d7e68696d1624fd81fa6cbf6754e419a571f9a4e7d07b8570584516da895ccc8b8d657e0aea94160f9aec40456bafdece0ba3e2d66223959f04e4 SHA512 49516fd2f7b5e6cec5c8f708c53a47e9ee4fb6197a50b80fc79d244943b56111f7dbd9cf37912299d375a51227c5a94f8ce241eb742168e393e09c439f0bb822
DIST firefox-104.0-af.xpi 423655 BLAKE2B 13763a97729c2ab8e9512cc4317ac1f95e82dbf1adb36a3cdd9068f66bc01da66cdee8f9a708ee06d59a80bafb7391707ef31eeb59a6c532a64885610ac8e072 SHA512 dda32a490d324c50a62e4d7fd3e1ac8317f910deb6826c39eb3cc8979ec1fa9d41c53d23e96a8a9797ab043e97d37074ed15e0125b1dbe05c120615a25940d95
@@ -393,104 +196,6 @@ DIST firefox-104.0-xh.xpi 433345 BLAKE2B a94920e0405787bc4b63569b6ddf350f0544a92
DIST firefox-104.0-zh-CN.xpi 587666 BLAKE2B b42aceb94ab211c6a15bb94d240879df68a5170631b109445c5d7587524fa86d8011293010a41e5b6d11a81d4e95421550a76bb7fbe4af402bcf10d5e02cec4d SHA512 90f04294ee909281f7b7ef3e54c5abf9a280d58c02708fe808537abbc84e8eb18f7682545e4a191c04c4f50363aaff87064c56463104fa79358bbcebf99ab6ce
DIST firefox-104.0-zh-TW.xpi 588453 BLAKE2B 800d28e22f55ad5920788642522ad1753cc96a6e0fab0d34d49d66b09591a7c44db0c66dfb6f0d894823e865a6b15201c1111f41bbb9de8f263a36a002238583 SHA512 98978ac40a549f41cbf8a68002c0b2c2d2054515debddb102683cfda0b95851a3e943714e408ee294d7de97bacab89f9aed61a0cf06ceb3b251755c1b426a6cd
DIST firefox-104.0.source.tar.xz 486299816 BLAKE2B 9de094ced1a5cbb6a5db2ec78a9a762adecbe95295a1184a5ee018350354d67d2a861a89365cd51cc07f017cd8f7a029e727577325fa63c8925d11238b18cfa6 SHA512 8778650ffa3c2d18802c348e27789f00cff143c7ca0ae01b1bcd050b6942c149db25696b48f3c702fbde901c15fcae976ac731a456f641637cae3eb56d0077d3
-DIST firefox-91.12.0esr-ach.xpi 453218 BLAKE2B 72fe82032f20ab6c58af380d52b996b1dfccbb53341483fcb787619801e707840110490e3d5d44c2e326fb15acd02b6970f70ce3cfed34a4094da0355f415a2a SHA512 e2d6200ad969b5ff1c0b5b12b5735cc2ed9e0a8d6ef3ea1152aa72b7e57c85d5cc756e304197560f9b38e6f41390ce19ab4c6613a7e3b4c48f55af7fc28b7235
-DIST firefox-91.12.0esr-af.xpi 426916 BLAKE2B f73e9822680474ff2ea982184e009adb9c2cc8cb9bf357241a142c4b5e178fd1cf3b59b5f14e60d5fc76b6477574b1f1742853e292c47cdd65cb185715e4bb52 SHA512 b818e45b0245dca391503a1a75a49fc4d376df6cac6e2edd7744fe2e8b91dfd7ac31e3125a6b0df530ca67200deeb38d29269622dc1fa8b120af207346bb9418
-DIST firefox-91.12.0esr-an.xpi 499897 BLAKE2B 037a56ed04712009c4b593996068a6d7b462d600d1c35aefa68c1ba6f05a0d12195a4889e8f8cdb5d3c5953a244ee0cb9da49aa48d85ec0d328c0cacdb8e1796 SHA512 6b849d10a4c567109d0cd7b8c0ce3392e25d26cc91f29136f5c83d59306ab2f5b34c101b48b11748fb6472329cd031933676618b3f1fee251457243109f47979
-DIST firefox-91.12.0esr-ar.xpi 559662 BLAKE2B 805478af34de8f943143958bf94383373430536fb10d3e900add7d802067cbe0cd8127e7f36506be3a909234d7e0ef0353211fd10d3234cbecd99f5b10f7a549 SHA512 a9303c4c9778155e9f45b25e334aa98aee7feca9b12b27a7be2f38198c0ad5e7c77a4d213bf291cbe9137218e3e43da7780dc83cd9ae9d32b1161705807a823b
-DIST firefox-91.12.0esr-ast.xpi 498573 BLAKE2B e5a1f96664426a3b03d16968e39b6bd7b5139da10f7c62113abeacbff754c56ae3b4f6ea212d70c92fa22396508a4dd1dedb0fb2afb60690973572f6a3847b57 SHA512 a7046e41e905ea6f85cb1ff147c8f5c8292d45b7098d8c26fc5ba0748312b86c44ebbaba942351546454c2fd6c9267cc6a90a225fa66cf4ec7339d7a2464e731
-DIST firefox-91.12.0esr-az.xpi 489425 BLAKE2B fa34468fc501f9637cb6ef60f65c8fd43a253dd29311ab21943e846f7ca1fdb3f09e1e115e81034da2ed3de9bb4269a0e3dfdd84b50266ba698c73518e4cb9d4 SHA512 7d0285d68b068a3c54b14abaf01969978fb8a2e33bb7d34c277b967387c220c8e6bab815fb7de810f182db838ac464adcd615ca061153264eb38184abb2dbcf0
-DIST firefox-91.12.0esr-be.xpi 622614 BLAKE2B 1d9187fc8d0252f0fc0a548be2a4533e548e0e5fd6dc434490b3adb0f3d86fb763dc93548c71652c65507cba003a616a729f108ef1b1e7048180e3a2fd3714da SHA512 e447bcc92ff63050faef058c83cd5241ffa86f8fda18083e3f0b25c6643d6dd646b8e005a8b714da87314f3e92568bde36b10c13f88b541fae66a1127f87f32b
-DIST firefox-91.12.0esr-bg.xpi 567636 BLAKE2B fa99f318dd05290f0e08b1aabd1bf9469f1c8995a23fa5a6254365db087f0383569c20e26b22a2862fa457b4c9c77b45a5e8e6d7a630469df68c3f620ca46731 SHA512 a2572075dd899cd9d5a8419dfaae834a9f34354ffb130a2cf93242346af08b48804bb7e56543667f0795908cde335df905572aa65a1f15886d2fd1b71292c7e5
-DIST firefox-91.12.0esr-bn.xpi 556815 BLAKE2B bed515a6af1edb3ec70c85ecd8c70126c48698482025deed2865aa412c8fa384105db1ddd287f71e4c30375ef334f855d07f0c0d53fa848ae1e56536187d0e35 SHA512 72f1cccce15d9c747d9d1505e6cf80093a0061e0d34921deb96680dae50bae48e9cf43808baa8181dd6852440f33ebcfca3c3ab8c4e9b3054abca8f6347d5e09
-DIST firefox-91.12.0esr-br.xpi 526252 BLAKE2B efa0046f6800736587092f638f90294ffe9e5309c011f80bf9b25fc168fd594e7bd036d57001d42fe4e4884ce5fd2f65a50c7082f166edd2998f77c1e8356cca SHA512 b915790d63bc4fd35fa2fcc900d9e49b482ad7fd3ce5f4fc187f016e06bdafed34ef7f877519af3382ab9c6440fc4875766e8830929aec9c1261e2594b6e3d60
-DIST firefox-91.12.0esr-bs.xpi 463561 BLAKE2B dcc4c816dfaab596a886e9951080a3d026c217bc5723522c28262a3dede92ef23931cf359f758d5a85b7b803b8b4762dc4439852257b9545ce5bb5bc4c6b30a6 SHA512 d8540c57610711be8bfc3dfc25faeafb362d918a0582a98543f6cf04d8cf4978286db29401fac88677d511a6749360a36b83ac6b9e25c4b3366f6eb166d9b2e8
-DIST firefox-91.12.0esr-ca-valencia.xpi 529382 BLAKE2B 6ed31c1029479122292575b398a3e22db192812920dc670ed34b7fed90cd09a9740d5f56cb5014bd084c111c9abb2aebd0c7581537a471bf3facb4162a4a7dec SHA512 930cf1de5b1e5897219f2886532dab77af75313496766dcc51dace1cffcb67191df1df52d8a67f6d974dcc12df4f5d24b7e048a8b5ade16f84f0910a8caccb5a
-DIST firefox-91.12.0esr-ca.xpi 532480 BLAKE2B 9262f9ec50caf9f6d1940126392e5ef7e61666949d7713be1b0b26846d2cb501c84a278960414e222f39bf5c7902ee9b12271be975f3639513281bbe537ffe4c SHA512 c1d0b591b53a2a94cf8f18e757d8fcf30cee2e7c55039675825fbaa0ce68c9dd9b34fab78aa42f997f61b568f7dc974ce41aa826d81bf292e2277d8490fea94e
-DIST firefox-91.12.0esr-cak.xpi 552602 BLAKE2B a8a3871b3857b63813039096a37a35a7ea47bd4c3a2ea4cb8244e81f7935ca0e4b1a24bb313136d065e3885dabe6290aab06448fa998e547dfaeb9dc45d99dab SHA512 668bcba3f44ea024dd58a57fee65af53271ea7c4977df86727cbc720a496d1833d6d404c46cf929fe7732f30771ae922ef812378664413b4e1cd7868e623ec01
-DIST firefox-91.12.0esr-cs.xpi 563172 BLAKE2B 6d9fa32d1fdaaed444c68b16de6cad246737a89a15285e674b8412136825f7aba1496fc613272f93ffdae1aa8775519e92817b7f2ad7cf9070906834892320a0 SHA512 f103444e360f8f21088a6027d8e18ee9ccd71cf08f91b6ed00d115abd477ef6de981ee9b7bb0587c348fbaeddb6c7e81954544ae151e9a2bddc054d81ed86d87
-DIST firefox-91.12.0esr-cy.xpi 542218 BLAKE2B f5ec6467a8be2f8244080ad84d0bd797f685c739767100c250588e8d08af0875548f37997ba1438b9e5f5894f8663082d286f8be821e635fa9944b94847574c7 SHA512 0274b71aed896fde39eb04aa07e14676b7d1f01fa9f7c52243901bd24c5a16166936321068c3cc1a32aad0341d1ad23ba068621c9320bfaecbe37692edadd0e0
-DIST firefox-91.12.0esr-da.xpi 534160 BLAKE2B 17cdb3f81d5728737d39eef356e665738166d75912b2d8429d096365cbc19392f13a408dca7a0f094128291ea5b25abf07a587b7f0fcf777831820bf46aa8076 SHA512 b2ddbf5eac669941781e432d3c389de6527f1c2ae1fa4b7d9410c94ebaabaf1703e2783e5e244a6ffd7ad3c07a209a7421eeea946727a3fd1cff683204fc7a7b
-DIST firefox-91.12.0esr-de.xpi 553582 BLAKE2B cce17bb13a2f2b8405b55524c630a50a87ce68d3fd6fc708644b5851fd550c08402fab6ffd323803865cb53944e740b11d351088d93836907139d023c00bac84 SHA512 040675e95c46a8562b97f8a2d3769382513e09a52b205faee0ca3a99cd10d716267275cb562fde3ba3ae60eea57eddbe52139f726f1bf9f567d091cd2d666599
-DIST firefox-91.12.0esr-dsb.xpi 566485 BLAKE2B aa0e85e53a7e7c0fd77cd655e323ff8c66b58be24477e617d414ce1786548dcd2a6ef6bbf0dd0593f15909a7bd695b761d397cdc153e5d94f45833b0a1cc029d SHA512 ecc5e3f6e25c05035e6bd3729001836c3afa08ad9be826ca19905eb79768c768e671f1296223f114847e4bd1907a94e15262e7e06c46c090f3260b2ee32ab591
-DIST firefox-91.12.0esr-el.xpi 639149 BLAKE2B 384f2f3581e866a6f179c566423dedba1c47b3683f05a0d98d3c5cb99cb8eef12d05779a7ff851ea53e5d2e1fad16ed600dfa2cfb97f8de6dacb940a6fdf2575 SHA512 5f0c37e01484901ee82f7cc62d3c58825aae692c6f9dec2b511b0e98cae524dd73a47306e85ad8e0207e3cc8ed6824826f54f2e0fde859dd7fdfa74ab52d4051
-DIST firefox-91.12.0esr-en-CA.xpi 509567 BLAKE2B 0c262c21a7c0d6558b3cd3584e659321c4b24e2775c26d3f76a0422bba648c41fb9083a8528bfc737278883a4ac42129c29893637f339547b3b4514ea76d8e78 SHA512 71e0fd1880fccd81f13749d9ec1d1fc3dc6257d5b967625592261c1253a6284ada129690a4b69e77bc711fe38124f1d49aedf2b55fb61a61a2562eea8809016c
-DIST firefox-91.12.0esr-en-GB.xpi 510585 BLAKE2B 1678d48a78b342e8bf89de66b726f726259e2d20a05b550dae1ce44de34f090e188762f3e309977880776f45dcb1a101096546e5eb595acc988d9e8ee3397939 SHA512 a32c2e640423f6d182c589165bdc2a9fcb2abae70aa398325607a75f28224a65d18e89b04fa18561e345c4ad74c59fe8a11fc43d7b452155ff941f0b54536d41
-DIST firefox-91.12.0esr-eo.xpi 534805 BLAKE2B cea8489b663cfbf22cf2cff758304cc0d8531ffb1d83372de99a1c5241d4b8dd16827e7a060ec670d00dfb9b33be5b7e546b69a8a2c03a8456b5fbd1d3027774 SHA512 1d40046d6dde18ad9dcc60e1fce6991765351312da2515c9aa54738091c5adf127cd27d89528b638b466b44aa74812bef9edf9d7d98416f6ef3b441b3bfb5490
-DIST firefox-91.12.0esr-es-AR.xpi 546670 BLAKE2B e2670cca857e1b879c18eed82f0f7150ea52d9b513483dd5139ad2863c52a0eb852c9f86a2c2dfbd8904784125a862f2d0e0676d39b2f000a78a988a1ef8d555 SHA512 8bc83f9cb51f063e9b81d59cdb80c22f3733120fd4d9fa69d0e1d768ceccc7f5fbbf50afffb5bf5acf6a870728cfa0851a62377404e376cf25413d6e0a2e02bf
-DIST firefox-91.12.0esr-es-CL.xpi 546375 BLAKE2B 78854277e45bec223ae62519bf71dbe347c3e6a77608169055feee051032b6742852a4228339aac0f3d4955af72225431aff8d8146c97b347768361eb729505c SHA512 cfa27bc70a37591a738c2eedf802cff9d03cf21ec4e416792f4f916f6a1560b2157dfb22354b4668f8cd8b32700622476b3bacf518687ec6736c7004d39aebeb
-DIST firefox-91.12.0esr-es-ES.xpi 537066 BLAKE2B 5a2023869699a803ad759225d7851b0f3862d76b07662b5a9f67386c012528767ec960c9131354f54a5f4fb0ddae099574d133a6349ed36a4e366defeb571b98 SHA512 9a7960e3ac62d3dc118cc8472b9857818c443fa04e45fdd4b805fa48bd3fdac6cda267efa8bfdb7f332a25c6430ee98cd7a05edb97ef53b3f88508c02a772c6a
-DIST firefox-91.12.0esr-es-MX.xpi 549996 BLAKE2B d70884a6e461183dcc7944bf0b3c722af68922609a41193178b29f2f13fd20bf64c506fccb72b6a59e18a0a49c76fb369f2f95594084f6f0b39ac845e6b7b68a SHA512 d57ee1912aa9909487298fb9ca4c7b318b606de3cc2be44236eb6bbc392808aeb7f03c5ad37644007724dd69ed40c86c17f02ecd0ce5174497d8e6881ca3af77
-DIST firefox-91.12.0esr-et.xpi 506661 BLAKE2B 35b5cb288fcac59bacdd56526a7296c27c93fb06f2aa9260be541e1c9670f127f14f9eae81ebcb36d896b9d68e4720271e5eb564ee1eb1f314ea436979e04741 SHA512 7f41558af927bbfa52b7ed194e30b9d11f2c0d506867293dcc51fd32623ce4bf6f6bac86ce15d1ca65b563e81ec34af1ae09a1b082ea852b41571f56a70e1cdc
-DIST firefox-91.12.0esr-eu.xpi 536327 BLAKE2B 30324c3787980b58dbcd61639a6d6147c2043d2f3382a28a28ea483bbc03f320ea6cad4b08b7d019141550b5bc16e326b50eab361fd7aa379184a1b328ab53a5 SHA512 80e55b59bb91e0cc643123763c869fd934d7b07aa3ed6cf16862575b88b6793cfaf9cb27f27b3a119dec7a8da91fa6aaaf057cf8a8beaa1cf3bda660582e0dc6
-DIST firefox-91.12.0esr-fa.xpi 559383 BLAKE2B 29d3af17d045f8b7e956f01e8100bcca1912d62952c65df97522568e7244db9dd1ed02576485676cd1b5347bd34f8d9cad070d14dd67055b647eb8ea9881628d SHA512 89353b8d1edeb9618fd3ddac5759a41b0d36af72837a4a25d35dc2caf6ac1799ac591515b9e4b00cb5f16af3c66471647781798b3ffe1404a5c6e849d4c23b64
-DIST firefox-91.12.0esr-ff.xpi 471861 BLAKE2B af95810c7b51bfb7e556c48a60e13ecbda8cbd709fb34ed882b9ab3e6c2d19c631e3d0a9916754df1bd3b87daa466e36bc309717420982addf53cd101781e3ca SHA512 90f55cb433d6591f376d224d59bf5173dbd0fc03a4f85abfe2ac2854a382373cc06fbb47b971dc969989492a7bc3b1b0cb8fc93f7f70d6e1e62bfdd3c862aa8a
-DIST firefox-91.12.0esr-fi.xpi 531485 BLAKE2B c17f4817c69508eb0ed60905c1d3d16361f72a4c3118acf41974558f2786e5186368857e67f06870e1b0575fc5e1175100401c1cf3f1506be09d053eb487f5cf SHA512 7f3e2180cddad46e4141de849260409e0e056c9bffbfee65993692debdafe7c27fdb4bab76dc0967fcd2bb2c64d0fb0d17b85baaa74b35d9353d678f669b5d02
-DIST firefox-91.12.0esr-fr.xpi 557616 BLAKE2B 5585178a3ee7c0cd31bfbab43def30e6b1f0783a9b42f9f6e16de56c4df746757af915442b0d3eb3e7099ed4fd3ad34223fb1d6ccbe260f657a4ec5c79f80996 SHA512 c4196ad703a69d1f5d1151dcefb2dd2cbac73845793c8b52561b9ccb4160ebf5a7ff94589312b4c24458f59f23d71d4ecfa5088851e2c4c8bc852ad0f5f36317
-DIST firefox-91.12.0esr-fy-NL.xpi 543303 BLAKE2B 0bbf9f997b5da7211cf369ae521a85d20d904d7eb6426e3c56f80ac54cc5d12cb52d70277b9ffffe124cd87d6853739be602ea178384aecc8fdf468c66146c15 SHA512 11435e7e768b063cf91ae0c0c7382e5e93ae906de04fce7b79668a95d3ab9852db1063c881e02ecddd234157d876302253303d8010e47115f5eb2898ef5b7e55
-DIST firefox-91.12.0esr-ga-IE.xpi 459833 BLAKE2B adff14a667d2aae1772883d368fec7f066e68e44c03a5d9999c49f448a830e43b59359b0b4b7d0b1f5647ba77b42ae58787b73063d4ad55d42cd1bebc7374761 SHA512 7f6501f308a56f2569411dce130ca0f8f91547367f186c84f53ca6461b9813778d946d5fe278861c1aa84257d7da358cf8b5a871cffc8ba32bfe6e398138c398
-DIST firefox-91.12.0esr-gd.xpi 530841 BLAKE2B 0863aed1ba55eafa2f6344c5d5cadae0cf5e83d112242655c2bdde349dfb3a0787067155c060b893e082da85af5c52ab78ed9f0bdbdb597d157060af77c38f8a SHA512 38ee9f677bbc9b45bbe04e7857cb74ff3d2558b9399ef551214d5b41d31521cc05b2ef2c4086d9e2437794b0edae8d03024f5f6177ecb82c6a464993a3399087
-DIST firefox-91.12.0esr-gl.xpi 541294 BLAKE2B 07cc856766b94ae9e0783eb0966801760e689a608a5565ed31d2de8399fb1be77fd5ab83fee26762bf84508cef282b6a1c36480996b359d830b91f5cf61609b4 SHA512 eda5600c1247b176d3073561c0b4040cbc0bb967d04a8dbcf463ccc84851ea4cc3d70bd86b40e812705bcee628490e606ea38100111a3ca47fb6035d15dd28cb
-DIST firefox-91.12.0esr-gn.xpi 557608 BLAKE2B 287d8bfd6b7e6ac604aa628e1fbfed2f28bfa8d0b9d2cbe2d2701607af61b3fa713fc36370c1b586ede52d70eadebb36a0346b5d9e40abee072add84f7c651ac SHA512 ecf21732a00f988de28b9017562c830b2611870591f17c9e23a6b4a34d9bf45ab1e4f1f4a48a907dc15d8398fbdd800a5a900353cde2625f4efd61908c68b167
-DIST firefox-91.12.0esr-gu-IN.xpi 529545 BLAKE2B f8b5f51e32f1d6005b2690abae0cb1a0e76d7718e96f73e49aa5be1cc5f573d5b0a5c6cf7e18b96623cf27bf9006e7fd935e5b964d63ba251112c59793dbe9c1 SHA512 37129a5ce6e99a2365d27aa16ec895db35446717135e58d6b4ac580ac26b45f21dcd1f0208451cdb1083f8edb2ef708bd815da0a87354fdf7f7ef1c592c4dade
-DIST firefox-91.12.0esr-he.xpi 557205 BLAKE2B fe6c27bc40ee01bfcb60f82285154b869d3246c656ac46d09cf811685df55154a4721c64a4fe9a5670375aef5b4c4f30e9ac551fcb01fa39b200c4ae8dcc8b9e SHA512 e80d505a44c4d7c8bb5b75714c0faec284567e96e66b2484d0388911e5093e9a96dce036cd4a8d52c350daa55394a0101578682f3b7cbc551df984e26a357230
-DIST firefox-91.12.0esr-hi-IN.xpi 560652 BLAKE2B 3fc9fcedcb03f32621ed83a96898a83393b67d6e2eaf068c7a7cca99ff2cddde7ecb0dcba42502f76bb002a51ad729d09f50d06d3cc538226cfdfaab4dc069b9 SHA512 3847068de04ae05825a9458784bcdc71c6554cbd2eda44a3a1d52a7964a1ca4bd88a5a3ba654eb00a7ef6a785609d340714d218d2093a62ed245e825cedf2276
-DIST firefox-91.12.0esr-hr.xpi 530047 BLAKE2B 7aec6fb497b8c0149169e37fd6196c616904278856bcd57fc8676753e6cc34d09f935d14067373934f0ea64decb4c88da0f45cd13111d0540f754dba2e1fc704 SHA512 cc844f45ee509962608cb27da2713c604bf4c0e69b1131bf45fb75e0542228602a35db43911a333628f724c8b922c71af71ce9279ff76b399351e7b169b9caae
-DIST firefox-91.12.0esr-hsb.xpi 562618 BLAKE2B e5861a877dbd6da9640f0e549d184949bb455fde5262f7804195830b914aa9e08a891f19a1cf37f439cb112c29f9d21f363760e83982ab3bffad0278835768b8 SHA512 cd99d4f7d1ed3ef253240f01ad1b2a560e8f19b87901d2e784629d350ff52017a2e69fb59f48b5d64044328efb9b10f288a51c69f79781a2b814330d7ba80fc8
-DIST firefox-91.12.0esr-hu.xpi 566078 BLAKE2B 3316951af0b091cbbb99e323c0f284292b5e2ee3a54f56d8165606e6809cb92cd6d36e66d9e5102da908f84eaae54d481718ecfca75c4057dd5de1f40c559fc6 SHA512 c5fd702c4ed3ed2d9039985b3a505e30f6330d77672ca01eb34884c9d8adec5d25e3b3616e16b48e0f1efcf41a505a73ac7f1189aaa958913f674cc855ab5004
-DIST firefox-91.12.0esr-hy-AM.xpi 579765 BLAKE2B c40eabc26bca36b9f32f832af38d54f20667c9dd8701fa6f97f4921a137e26819b61e4e2905a7abc1168e5e5f5aac3e1a8455a1337f904f8ac6a085d829c8801 SHA512 ff7bbba953bb955bb1303f63eec215ad5e8f31dd5ff0efbbb237695b66d1fb8772fbeaa24f7cf8f232bd065c817edbc1df02a1ed9268c40ebd6e5e1fa1ba7f46
-DIST firefox-91.12.0esr-ia.xpi 532143 BLAKE2B 084a25d5dd0de45a9478c8934ea548a1386b4df66754267458655478a0d25ea695e95608840248bc8163d3eb16ca6b52e666b1bfa066bec33cda7a0b6bf0da2a SHA512 0fd5967a3b2da9884a03adb09245014c5422be397cc78b398d8d9fa8aafa32c28b9ba0242b9b3f19c66ddf3d9180560c26b380cd97d5942220f0ff4b87ecd5b4
-DIST firefox-91.12.0esr-id.xpi 519827 BLAKE2B a73b1ddba1fa0d115d08f479c86cab40313ebffafd0b5d1b410a7ef1a2f91a7c5e5114a98d6e38dd6d3c27c93452079b375ac046f0b9ccb5fb6998187c12a851 SHA512 ea72f174d205c40fdbdf7197995424263d4cc27d2e53d6da0cff5760ef91ceb4cd95dd4b6519fb8600841e164dffe89341f364e455facf68fb004acb36708df8
-DIST firefox-91.12.0esr-is.xpi 470225 BLAKE2B 08126364a90d84ae251ce520594efb9108f2cf6898a91a328aa718316fa8b635dd240182f8ecf4f20f96460ec5b53bc15bb3d7352cb92b7088f933bf2f63343f SHA512 2c983b4594a52b34aa675ccaa30ce27aaf18af6f102d3933f58863cea33726df3b816e4d871f8a5f98ed23411a532c6be0118f10b50ab1590fa1ec761592ae04
-DIST firefox-91.12.0esr-it.xpi 459085 BLAKE2B 7d9fa03eaa1eb82e8c8cefccc272543e0c31699aab880f2c4b489e8d5cf2f8b2e1462a83d2e6ac8063bca8c04bf7648a097f116c861ad8d0e23da676942175f9 SHA512 a60473ae9b99cb8824984e972f183498d1a2718351e7564db272b2fedc57ceb31f3c9384247deb6b6bdaeca64664f2e2a5067206f98f5c07b8cb3ef0d0816f83
-DIST firefox-91.12.0esr-ja.xpi 588081 BLAKE2B 42f130de9f8a74bb00e4dde107f0152eab5ea8738277425a187c604ab8d48952ae89a4f9fa6ea6a789ac1f2bc134deb1141dc255c71411b06facb7e6b0b7fc96 SHA512 0e51945f975713712d7f334ecf1c15af802e4482984208ae663487c0d24ed1bbf0c0fc47d5de95f8046701177870af216da69e1a8229e0b3a2850a5f9c079ec7
-DIST firefox-91.12.0esr-ka.xpi 592256 BLAKE2B 2d4a7d24678b4f763e3bcb946fde74fd8da89a835e14ffea6b5a126641654556f0464927c8a7e5570657e84d41839b783fc7e03ff6c8376eac8c156873a6dc9d SHA512 07a7c0ddb92b7e3475efbdbdcebad2f38624e0363a912e95b9909393531bd6da5b13b51e9882a6aeb259a43c252b86654e77657160d1ca692fdb1ad3297d9897
-DIST firefox-91.12.0esr-kab.xpi 545031 BLAKE2B d2ef69334eb6508716ce8e62826dffc95f7518a4e987c53ee5534cbeeaefc3e71005cce7f8e8ea0e37421735e7c35df88fd3db346f9c64097ded6e7a7d325091 SHA512 35a74000d8ebdcecdeaee1b23d7902d6b8f308f32bd6b36a1892257283451bebd806cb5793550041fb235afb98a503276a87f945a61bcd1ab5880e750b258b58
-DIST firefox-91.12.0esr-kk.xpi 605558 BLAKE2B 9a653b9edcc517353c2d85fdd450b568d5fc92f5f889454818ccf66fbf5151007ad31276e688893e3fc3c990d8f8debc92f8e17d1646ffbea6e9538d25c03342 SHA512 dbfcbe0f76e191fb6d8cce41d2c3787d3afde43c606ef2e0b2113d7fa4cbe3c7db746ff68048955f851ab77837143a35f87b08785ab5f46cc93bd8ede03252f7
-DIST firefox-91.12.0esr-km.xpi 533115 BLAKE2B 7e530c5bdac1889eaf6e19b943c3ca378fd9c07814e2fe6fdc36924efce84b14c3703179393ad1c73c01eca4813f141bc096acdf9973ce4387d76707e1467883 SHA512 c76f2b47ec06cde33c639e87717308ba19d9a3677ed1c3918bb27f08a10a5fc273fbbf69d9e20aeb3d9d483f59cccb05b7b3260e39138f8cdd5befe4b7ed0155
-DIST firefox-91.12.0esr-kn.xpi 498974 BLAKE2B 9ef3dec5f06f8c6afa0707f696fe0ae98c8709c95c47bbdfe7483e94762a092f1fbcd27273a3acb95570aaaf06df4155bd301429f4b7cd446e59e6ae681d71ff SHA512 8084472b2a5e4b1d8a8ad1fdffe8820b23e04b5e0dfbc793fee0baac75ca3b35a3db84f32dd137a41d503bc0438f6e01245b87163fa442d46414b94e1baf4c80
-DIST firefox-91.12.0esr-ko.xpi 579060 BLAKE2B 4d3188c99cb5179cd4c0a6a421eacc63ddc7da2371c6e0c9eb0e4555d1da47c1e718fd5a3998696fab5c065deb996703743c32e1d343279d8661c7910dee7b31 SHA512 5f1b2446371380df82cdd83278744c5eb26139eeb5e824c107ab5dbe0a29cc85668bf02806c728c8938d1c62a65aca7e9cf886ddc47ce5f2d802cf0f2b48f057
-DIST firefox-91.12.0esr-lij.xpi 470178 BLAKE2B 14bb3f22d9dba41f226c9e2ddf61456c88d1e910366a4bff515e2f97d09434d66cfa24e6dd76ebfabc466f91c8e47c39d31fdb37832c3f19ce28079ab9b9a58b SHA512 983643d20de4cddf7e4c08b30d31db5ab51314ca91e112b5047110c1a3f880205e82ac35ad57921f1e79fa458394e72c2359f349b59ef46e920c1b97f93cb36c
-DIST firefox-91.12.0esr-lt.xpi 560115 BLAKE2B 249bffff4cab87908e7781ebba9b498193dfc658c4cb98114a9a82e3c048c3d69ed600f79d65c3a0c358b10bd7e9e2535f05d6eb8fbfa638d891ef0102b1bb02 SHA512 8471dac9f2e92093e4948ef4e28d7b15e308761710aa101673d42ca00831ab7210751734cde48e32d8139a6bb0f52c2163a62b4f8fb2ddec2c1f56be456f1a30
-DIST firefox-91.12.0esr-lv.xpi 462451 BLAKE2B 1d0dee14d62a7c16e878b2617341fb0a31bb80ad0004ab062ab8f0414c196872e082d256b08c842c21f8b6045ac656081b4ae5443dace05995e3375a2252abe2 SHA512 d0a468cf015fed9d38654f404774374c07364aab1faed1f8a56ae885264555eab9c2a003d5e5a87357491d141ae528e97159e46aec13223aba45bfe66ae30cf6
-DIST firefox-91.12.0esr-mk.xpi 465346 BLAKE2B 9c57c8bc4d8254ad5ca03faea53dbe755dffe6f805d879348321cdd0d87f17c70047c806016a9d8c717395827d0f0aca7fbce893a5e4d745c725e59986b851aa SHA512 330b8118f8eba899f5d9bfe88640e093869541969d0792fba096bbeeb5ecc798d9759b1d6283c535e6808ec423e395f7b66d71c5ffc9999d74e470369a1b8ce2
-DIST firefox-91.12.0esr-mr.xpi 532123 BLAKE2B f2cf21b5ae16a52f53bedd98f872e29c570ee9390f7fe606a49eb3be89734e31d04f1cbbaa9bfb2c23fd8eef5fccc6dd5668dd14e57bfc4d5f59f96577ef83c7 SHA512 62446a95b555ecfb856a2bb0b136f2ca11df93f2a01ff71f1e4485bc997e60665391febbd129b97d8c8961eb8b881e0b76c91b50ea0b0b121151b545e65905a9
-DIST firefox-91.12.0esr-ms.xpi 447335 BLAKE2B c2530f6ffc7bc48d60a7cc16db131b8557b57817c7ac8b10c13efa5359eadd0f4c24aaffae84cfd86f8a22253b70aa74b887ee186b3a630780d58e3d6683e6dd SHA512 94b3e367307150dda78649202bcec3e897bda093b5a1ef2157b73a81cbcb0b2b92a019d22a649d05ed691c720ef5be1c8effc55eaa5eb596afa555740024cc72
-DIST firefox-91.12.0esr-my.xpi 516301 BLAKE2B 0ce70280c69e2c3705a381f3ad28d7102466049fa753f6adde66908cd0ab0f77edb607b10e5b34c4fb0b4dd6b57fccf0f8bc7af7d6195c2db9bc5a8b73ade5bf SHA512 850a3e2f9e9c790790a31395bd601349837a93abb70949c7753fec8ec2cebb8098bfbe3f9dbe85b6f3eb296c3e7d7bcc2ffcdb04cc5fc737e03894306e17262c
-DIST firefox-91.12.0esr-nb-NO.xpi 529429 BLAKE2B c7dadee67876bfcd4fb272404fd73df43fcb6247ded6480d6d5f06204211c968557f9b46e7e770b7e90fdacc034ca1776d9c6114d95fe7d57bf2a2099ece825d SHA512 d09034482ff131e4386f5f695de6c3549fbe188d51dc5a133e5f6d3fe9179c9512655f017f07a1b720de19df4cba8ef6356ff3b5d68e857a8d5d9cbb6fe3fee2
-DIST firefox-91.12.0esr-ne-NP.xpi 485208 BLAKE2B e49e28f6d7f8ac98e16890d48ec21a70ced67e0393ef8461b2523c30c49a7994ff17fc2a49266728af2da36070edf616e9694945e58105864748b2da74887f5a SHA512 bce2ed6100889ec0663e4d5a96e7ed467207f079468a8ff1f36a456252e1170d384f37e01150899de84272a090a317360894b661840a003ed0f3314a80579a29
-DIST firefox-91.12.0esr-nl.xpi 537387 BLAKE2B f24b516317f5c8a99b5cbdcc776376384ec4b6c4ab46a4c56cefffa6b5f45af30e9bc16d1cb1524ef606f211ea65e2a0e3af326f6c406be4d7db65cf71debf1c SHA512 92ce8061c333e5c1421a950469015f39b04517f90f8bdf71f68e59bb9064fbbc42e135c657594d081bc80cb03e75042a68e5d873ca656722ac26f52102e2e6c3
-DIST firefox-91.12.0esr-nn-NO.xpi 531683 BLAKE2B 8aae11de609d2548bd48fe594674cbe991e960e7135c509112d421a3ea3b7e1fa61ac1cfe5392388bbc5270e406556883ad0196d2a5876aadd666fb4edeee671 SHA512 a65621097f0795e044decd580ece7d29cce3b7df44123881f63dd17ba583c2a0efb516894dfec3bd64310556609c5f9f5d96bbf209d8a18f66da859eb95d78fc
-DIST firefox-91.12.0esr-oc.xpi 552959 BLAKE2B 182074bce69ddc28ce274d43288ca27681f7178913e78123b4aa30e71acb2bc9fcb1ec29e1e16476162ce4a19aeeb3a51025cbad8c98e8a9b82694d3d31de45b SHA512 70fbe851576425b35f52448aa0648b760463410fa771590324af7e70f9f5810ab73f80ede20011e6bbfa133b09421b1736fc7a033b9451098c7f801b63177f05
-DIST firefox-91.12.0esr-pa-IN.xpi 595978 BLAKE2B 4a1d8f374bf22c95f014eecd244996ed5fac004dbb74bd6552d86ffbd7b5612b39e6860855fc1c5313e393dda88de6ab721362124742ae658d57319bfefaeed9 SHA512 096c4fd0d88059c1cae7d0dd9ebfe09b137559c62c113732837c55bae7ea91877d7bf744e4b6eee1d62998d355aaa489d5c0c656bc53d6860782b940204c6c4d
-DIST firefox-91.12.0esr-pl.xpi 555622 BLAKE2B f63e0743dda5b7d24f312960c486db0f0713349265fd4d9ed97387e37cf5fd4c1b7efbc528572a2481f5c4178c600433b34d9831aa982256ce35c54984b37262 SHA512 6daed99e7965f646fcdb9e176532a3e7999d497829fc8123fb828c91c55357a1d29bba8bb0416c550ffd6e99726e066c2e79316e04ff3c9e60673e0cf85965a0
-DIST firefox-91.12.0esr-pt-BR.xpi 542613 BLAKE2B 0cb0e3eb20b0e665268ee576142595e5346801d7e421d0232d253301a739c2c01e7adf1ab287849a795fe1d54cd0ddbe161f00bd41caa7a28eb2892750adc32e SHA512 5e46cc772b4a4c1a31dddd8ef4c6e9392a84480d9296df4ea9976ec862f7740d8aa7fe7ddba053a084edc391ab3e6a8eb0b84b15a8d956c17bd0baeb197ec5b4
-DIST firefox-91.12.0esr-pt-PT.xpi 546343 BLAKE2B 08a337874a31dbe6ffc98d76c80f6aa5f6c6e2a92b34488475c456efa3c164f71e72985075270111839166c116fe66eb422ee49bb91b94ee4d77fff2be9b4cd7 SHA512 6a151bcd06c239a8acc8f22e4639525fea6e0b9259a2d591c9a22af48858441e18c571bbff4a42cb92d456f92bf522279254aafdac06a5835345d1d59430b172
-DIST firefox-91.12.0esr-rm.xpi 537363 BLAKE2B 425ca2af1cd42f06015b64e1d6a371f3ecb12a10cd2872fc4f40e95008a61273c16ee1be84a5e7cab02d9e47c1ebe86af586926a8b137407a1ef56900b1c7f6e SHA512 9aa8e0c938c652d4ce5190baa431df006e2a2512cd03eaf8133bdfc643001bee163a6a6bb696af9d07a55dfb8e47a9804b6c9f006fb00b2f47ee4c90df6766db
-DIST firefox-91.12.0esr-ro.xpi 529335 BLAKE2B 2bcc4b1b83ddb35188f73174afa0d1d804845b916ed99edc4abeb04c675c0da0310622f4e19d192010c84487bff25c795c58d321a71b3c32e4d955763fb46d07 SHA512 d28ec2f77340c617f138acec45e498163c91d2a8c49969f9e1fee0fea609232dd6d9bb3aa3ceaa1a19737546f4bcf4b62252d7edd839d2c19c8e1c38749900e5
-DIST firefox-91.12.0esr-ru.xpi 627112 BLAKE2B a4f56ba16700d7c5c8551d5d789719022926fdface9ac2a2a4aa93ebae6763c7685f901e8e7c0bb470efc0e27fa17910a87f4f5cb22597ebd0aebccd0ee063c8 SHA512 e446d8657f1b766e3c17e318b1d48b6987d3befcfb515da4e28ada6cecd0d3b68b8368f47277cf81964ea5112b1c03196f5d677113fa44cc0185507b17ab7a68
-DIST firefox-91.12.0esr-sco.xpi 504858 BLAKE2B 651bb97c4076692f1cd446f3705e7b1484359a535a1272fd7d378f0e46e75ac7a9a8c06a98daf469ce076f144ea99d40334374b6d2b57d369837bb51747d8254 SHA512 8064c19ee2161738c54d0c2fbd830293e37855dc39d9af1939e37a7a180816035663da75e0bc2b43582a41599814413dc65f04de3b4ca25e97f8ac9e71a790de
-DIST firefox-91.12.0esr-si.xpi 487949 BLAKE2B 3c960959c20ab47f9ab1b4edb3b6218788734eecebc92a29b8b62f6b83cb80d2876d840604a47de53c7f8eb9a4df274082ec4fb50a90b63e996844c2aace7f84 SHA512 43393395ddf230a260a83f687632e8a6a277344a6eacb7859e9cf2c40d27801f3183676e35ecf5738999a221bf18423b4ccde9b59da94a9ff2109a03e6a1e209
-DIST firefox-91.12.0esr-sk.xpi 566492 BLAKE2B 948ae7219674d57e39c3db4e8e9245fcade60d62ba819006bb35da37f65821c185ab39a64e4d5b400aa85adcb4c2acaba6504e3e7ceae5552acd2acb466261fe SHA512 92abad05b6617168e3f3417b1e1207c7c3e4beb413655c14fc326fc26914ffb3eabb90e83361ef350a91a46aca4cf0c69acaaaad8cb225c9b548b6a887932e2b
-DIST firefox-91.12.0esr-sl.xpi 538017 BLAKE2B 8efb6e5f5e5c734a819d1c3ff7191b5702e2e12282bec44f52a626e2b1004308180935bda922a55e07883c0a805f0d8570bfe4fadc68dcf67180186f7529cbc5 SHA512 b6bc1aa39d35682ac9bea032ed45b3b700e319ba790cbccfeb12f30879e86f3b1bde5bf68771f9faa567a108b6ddbe73532fee28f3acccdf56dceb21d986e29f
-DIST firefox-91.12.0esr-son.xpi 425997 BLAKE2B 040b2df75261028217725da8f2865c3c4c97daacb368ba94e28cc0b69511a301942f6a318b1ac81295b5873b9343747446463a8d8a9743e83eea045db92236ce SHA512 e596e5dfd2a79287bbc55367022ed4a3bbec869df8f057a166b1570af76f2c3c7e73c46e1ccfb88f59cf5db45604ff40afd038f3b366c877af864f8c6e56693e
-DIST firefox-91.12.0esr-sq.xpi 555991 BLAKE2B deaa28595b801f8dbb8dc4421d459f0f74965e2721649d99c7e305c61623dec4bc1a853da764b60c928d4dc7c784c9c80f3075c0a26749c570f32e9b965e2d3b SHA512 653519495712f4c9051765a532dc6ee9bd778f5d1b5009a5b49623c95ed667855bc252a81e614cc0d53c506b2723f141b581194f48cb0a3bb7c49a9631eb2791
-DIST firefox-91.12.0esr-sr.xpi 586068 BLAKE2B 941edbdc039a99fca5af47b0c01b45d2b790dc2429d58c6ab19e8babad0e93b0b36fa04a38ef0d4f59c016b5adc5616930b6c8433f5a88cee6efc0f66abb690e SHA512 2ba9255819960fb953397b0f3d36958afc7ae7a24497b86fb8da7927376278ecf36406c1bc1e224080186bea4f3ba9e044558bbcd1087dd2d847f3d29990c610
-DIST firefox-91.12.0esr-sv-SE.xpi 539961 BLAKE2B d760d26be6568623d45928cdedc6449d1024cd63371a8ef3a1c3de4c4284529ee08ddd2fc5a318c5cfbb7a0e153115b232d8d3b15427c271f92208f3ab128201 SHA512 e879f5451a2a23b40ecf03dc7a643e6d47905b358f339623393ac79cd1a55af7df4df5900a942f2dba5d5099d76876b573471b76970a87cdbd608028192ceead
-DIST firefox-91.12.0esr-szl.xpi 509806 BLAKE2B 82628191c8bc889b6c8ae1bf2490e4139f2a458fac2ca266786234919616d3974b91db8bda121fc629648957ea30e9fae0aad9b3a8cecb84406f273274b1e2a7 SHA512 0d3102afe1dcd219edd37632da90899b6640daf42b947f7d8e057fe604d3c0d1f48151389af5a1fc00ccb50ef5200193131f073473c888dd17cff05a6e4fb4c8
-DIST firefox-91.12.0esr-ta.xpi 513810 BLAKE2B 14f09d2785a64f6b740a7826fe03e55ccaac2eb9f9e7cb6714f1a26e4e503a2590cfb3f454708e9f426cf953336a3a2d8c412f39724ab3e739b3b1c2dc3879d9 SHA512 6c2db787ea30228854fffe2168e90b0ccc4121895be460ff3e435aec466e9078810ac1ac152f839ef452416fbf197053e0051ef5a17c9b788a4747e43c0743e7
-DIST firefox-91.12.0esr-te.xpi 549951 BLAKE2B 512d571f4e0769d22dcfe796c5c5dad9560bdb85ab6013f3b8f681ce72b977f5497ec377b32bfd8025a3fa969707c997b031ec6b398764fc89fde7fe7a14362d SHA512 2e2c6553401b098a5800c0ff0650dca2197e7900897a2c49e42c52b446b25fc24797b743e6b5bd43340c17701530cee84ccfc4de1cc10bee4a5d778c201ac62c
-DIST firefox-91.12.0esr-th.xpi 607070 BLAKE2B 398e56fe48d06bdefcf4f5746cefa18d72f2e16f3288054b6728f1d0a6040bf545fa59e640f19a8414a03021f8fd2cc12b80311b6e78059557ff986d0f7b5e91 SHA512 9898d4a7a447d724bfbff7a7ecd0611575e3f5e08d74bcab05f098d4dc0d7f2331a5d08bb0793294076353cc79e513631a5c590fa70b90a0fd0fea9d7f1a3994
-DIST firefox-91.12.0esr-tl.xpi 516126 BLAKE2B 0fb1f0bc2aacae535e16af19c87930bc3b3e79fbe43f6c6a3797015698ae6368a526226c58e94fd8d95964ea1819265e56a08a1f0d4f7a2aa821c115cb6f283c SHA512 d5121917f141b93afa4c930ed77331f821483868ae4e05e9bad2eddcf40d58cf6e82f0f9004bfaaf014f265e8bb748b845621531dfc5730249de51d8f9d051a9
-DIST firefox-91.12.0esr-tr.xpi 553683 BLAKE2B f0f86aeae44f87c16b659f549c318abf035481773202cf75ebcb8c9afc81699ceef332e53b0a611abd7fc182209b5783a3deaf356436958822706fbf441098b1 SHA512 95409c1782d9a3bf49bed2c7ca7c72fb87d8641652b35efb44546d216ecf58cd5de83a94f6636cf3df4d0382a064a769715bb27763ed2480e9aa89eb21239878
-DIST firefox-91.12.0esr-trs.xpi 491082 BLAKE2B b86387444faa6abbcdc58424fd41a55667418b1c0bd14a7b2e29ab9f8c7cb78e492bf455b82c83a022a63fbcdba4398cc3556022564d699740d080808cb00b8a SHA512 8e151067bcb26eade46c8b76d3eef8f4a558f21329aeb1e619aea582c75c59b61e6a10c28af1f786297de863f4f35f04c1449eb5c1f003c76427cd58df954e24
-DIST firefox-91.12.0esr-uk.xpi 620508 BLAKE2B 8357e5ed1172c00d5268d65d386201a677faa4bf5ac869b7fadcc38097cc2ba248342a2de59ccf0c881c6e653260f596430742983de28caaa5b98b5c0436b2d0 SHA512 a145e573db2946a13c49243fe249d154294244b64a07e2023aaeeceb24a2f9e9abbcb514f4e09a325a4a683f9e6f368eb26ddff3accc4e38911c6ec424cb8185
-DIST firefox-91.12.0esr-ur.xpi 557319 BLAKE2B 8b7d136d1d065807e47ed86314a918fb8975e8b61d0e64a5e953432c2df494caf013a9a739882b85f9570332e08aa4506522aa454264c36de76b8d676ebdfefb SHA512 1faae5df96108c648826fe3ea1325b611f5827c5842ffd945364644768ff9a16616bed3f238feb3c3806941e1ff8d8fcaef971d412a69d405d5c55e23d052e4a
-DIST firefox-91.12.0esr-uz.xpi 466861 BLAKE2B ab8168cb1664d491c209afca3691682ddfa8398f0147d5e12c2e167081bf0ee27891c362604397e526576ade2a6b1b2a52242f2eff5db3c82f9003584be6ca66 SHA512 c53b2e47cbe55928ff2f092e0e057933c44b48df3e05480888f4702da952c7d0c5b3e245dc205f6f3d09c70637a4b1ce4c537cb506f33c7daf46577652f4a0ef
-DIST firefox-91.12.0esr-vi.xpi 573482 BLAKE2B 3b46a4e06875de1146c48ce30da1381d9f62e00cdb2b67f3f515ca43565fb23d69efbf8b6b8831741214f0e6ab4aafcace887c4ab353736126425a559293d2de SHA512 9ee8aca24b0c183339e6961901a46abdebcf1edbba2551b164d04654ff41fada446002605c73defe6c69b99808f89832bccdb34a84b80c4d20850b937a99bed2
-DIST firefox-91.12.0esr-xh.xpi 428165 BLAKE2B 4804dc685629f92188a707d91395e35f58578e5a6286568a12c2fb6315a0e8ff53c2381c6b72bcba8ebb97103863200c2c57eafb02b23b8bcf57a812af05acf9 SHA512 0fd03cc06be5e414b7d0d6b241fe43839a177ddb80bcf4cec41b9f729339510f50af01c784d6459544a4286ccc1c6da217cba48427980ad9556374e79d846a74
-DIST firefox-91.12.0esr-zh-CN.xpi 575372 BLAKE2B 2dedd69253e46f9469ed4169f9e2976b2c9b8e6fb521650cab851261d93605c9b12f20296afa4509234a985d5e073a6f24e75ce2cbee61b5235b15e41f214a71 SHA512 caa56ddcadd16b76d14414d72f23bb9c41b56bb130fc8ae22cc0e357d977a763bd32ffc0216a97fef203951193a780e8f446023281b269345a9b0cc1c6463078
-DIST firefox-91.12.0esr-zh-TW.xpi 576228 BLAKE2B 07d720b6b4d84fb298b56bb4f05f114a0d1fcfb6536a2eb085f4eabcf4dcc56eb33a4ae96d7e444ac54893657ff39bd116b2e8b68481624751cf0f0e6fed7c49 SHA512 289f8505be00278b79237cce58e966c0bc4a729b05d3b043b8225f1266540ffe58f0983081fed7f92e93bee26dca777b81e8944ccc350c659d0e296b129d4613
-DIST firefox-91.12.0esr.source.tar.xz 379877004 BLAKE2B c00e5cc219c59d8347a69e5236a4a4f439d9caae6ab7dabc3ed8c8f9a096ded26ec1ffb53b015b86481f1d43ec4f263bb8acbd841ebf36e8a741d73e12a0a914 SHA512 323fb752488b45872b40f0b0ee1d8c1dffa16874dbff2afde19a54286c824ef48177233e029faeafa5946184e71c31c6bc5ba7ec17a571e21af64fc5f7334042
DIST firefox-91.13.0esr-ach.xpi 453223 BLAKE2B 88b43c79620d3e0263f7e251a41c8ee88f10798982d8a0db3d8d545b83aa4e3da75140f5d9bf879f2229ea831668344cefddf6c67ee45f3169c7d854cf53a90d SHA512 795ca4fced227f29861de8fe2e93acb339d41de8b09c941244f4b62c8e7835971ec4366bcb3a35aaa75e779087248df459364c262f2fd7b294a6d7176b74e1ef
DIST firefox-91.13.0esr-af.xpi 426921 BLAKE2B c0a89908f46ba666c9d3c9e916636e5aeff7564a0f2132213aa443c5dfed474006dd65dc8f47d0e0fa30d5435c810937da98536b3408dae62c428a5f1f4bbe78 SHA512 8c8a40cb2117479c08c13077eeffcd3473b4e2fd9164269da58a68b3c0e77c339184a2edca79ae80480f2b7e41c42e598a9350f01061b424cef1aab35a7480bd
DIST firefox-91.13.0esr-an.xpi 499888 BLAKE2B 5a3bf70080e5ce5fee3a47955678a179e716474c4f341cff1ebffef0401b2b24d0e61b30c772b3863a9b3e62bad68a37ba4037b8fea332d40194ad905fcedad1 SHA512 8935e71639824517870e679bfe4edd8870b37c36a4ec6d5e4a93c9496c5df551fcac14dab397be12f80e0a3f5fa14253f1995d0ee2e4328dd05219901299898b
diff --git a/www-client/firefox/firefox-102.1.0.ebuild b/www-client/firefox/firefox-102.1.0.ebuild
deleted file mode 100644
index c6da8a86d4c8..000000000000
--- a/www-client/firefox/firefox-102.1.0.ebuild
+++ /dev/null
@@ -1,1284 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-FIREFOX_PATCHSET="firefox-102esr-patches-02j.tar.xz"
-
-LLVM_MAX_SLOT=14
-
-PYTHON_COMPAT=( python3_{8..11} )
-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/~{juippis,whissi,slashbeast}/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=""
-
-SLOT="esr"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-
-IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
-IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux"
-IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
-IUSE+=" wayland wifi"
-
-# Firefox-only IUSE
-IUSE+=" geckodriver +gmp-autoupdate 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.24.3
- net-libs/nodejs
- virtual/pkgconfig
- virtual/rust
- || (
- (
- sys-devel/clang:14
- sys-devel/llvm:14
- clang? (
- =sys-devel/lld-14*
- pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
- )
- )
- (
- sys-devel/clang:13
- sys-devel/llvm:13
- clang? (
- =sys-devel/lld-13*
- pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
- )
- )
- )
- amd64? ( >=dev-lang/nasm-2.14 )
- x86? ( >=dev-lang/nasm-2.14 )"
-
-COMMON_DEPEND="
- dev-libs/atk
- dev-libs/expat
- dev-libs/glib:2
- dev-libs/libffi:=
- >=dev-libs/nss-3.79
- >=dev-libs/nspr-4.34
- media-libs/alsa-lib
- media-libs/fontconfig
- media-libs/freetype
- media-libs/mesa
- media-video/ffmpeg
- sys-libs/zlib
- virtual/freedesktop-icon-theme
- virtual/opengl
- x11-libs/cairo[X]
- x11-libs/gdk-pixbuf
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrandr
- x11-libs/libXtst
- x11-libs/libxcb:=
- x11-libs/libxkbcommon[X]
- x11-libs/pango
- x11-libs/pixman
- dbus? (
- dev-libs/dbus-glib
- sys-apps/dbus
- )
- jack? ( virtual/jack )
- libproxy? ( net-libs/libproxy )
- selinux? ( sec-policy/selinux-mozilla )
- sndio? ( >=media-sound/sndio-1.8.0-r1 )
- screencast? ( media-video/pipewire:= )
- system-av1? (
- >=media-libs/dav1d-1.0.0:=
- >=media-libs/libaom-1.0.0:=
- )
- system-harfbuzz? (
- >=media-gfx/graphite2-1.3.13
- >=media-libs/harfbuzz-2.8.1:0=
- )
- system-icu? ( >=dev-libs/icu-71.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-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
- system-webp? ( >=media-libs/libwebp-1.1.0:0= )
- wayland? (
- x11-libs/gtk+:3[wayland]
- x11-libs/libdrm
- x11-libs/libxkbcommon[wayland]
- )
- wifi? (
- kernel_linux? (
- dev-libs/dbus-glib
- net-misc/networkmanager
- sys-apps/dbus
- )
- )"
-
-RDEPEND="${COMMON_DEPEND}
- !www-client/firefox:0
- !www-client/firefox:rapid
- 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="${COMMON_DEPEND}
- x11-libs/libICE
- x11-libs/libSM
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4[sdk]
- )
- )"
-
-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="6600M"
- fi
-
- check-reqs_pkg_pretend
- fi
-
- if has_version =www-client/firefox-91*:esr; then
- ewarn ""
- ewarn "You are attempting to upgrade from firefox-91esr, this upgrade path is still"
- ewarn "not supported by upstream. If you wish to continue, please backup your"
- ewarn "current firefox profile, and uninstall www-client/firefox:esr before continuing."
- ewarn ""
- die
- 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!"
-
- local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
- [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
- [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
-
- if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
- eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
- eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
- eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
- eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
- eerror " - Build ${CATEGORY}/${PN} without USE=lto"
- eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
- eerror " llvm/clang/lld/rust chain depending on your @world updates)"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- 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() {
- if use lto; then
- rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
- fi
-
- eapply "${WORKDIR}/firefox-patches"
-
- # Allow user to apply any additional patches without modifing ebuild
- eapply_user
-
- # Make cargo respect MAKEOPTS
- export CARGO_BUILD_JOBS="$(makeopts_jobs)"
-
- # 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 audioipc
- moz_clear_vendor_checksums audioipc-client
- moz_clear_vendor_checksums audioipc-server
-
- # Create build dir
- BUILD_DIR="${WORKDIR}/${PN}_build"
- mkdir -p "${BUILD_DIR}" || die
-
- # Write API keys to disk
- echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
- echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
- echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
-
- xdg_environment_reset
-}
-
-src_configure() {
- # Show flags set at the beginning
- einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
- einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
- einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
- einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
- einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
-
- local have_switched_compiler=
- if use clang && ! tc-is-clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- have_switched_compiler=yes
- AR=llvm-ar
- AS=llvm-as
- 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-gpsd \
- --disable-install-strip \
- --disable-parental-controls \
- --disable-strip \
- --disable-updater \
- --enable-negotiateauth \
- --enable-new-pass-manager \
- --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-zlib \
- --with-toolchain-prefix="${CHOST}-" \
- --with-unsigned-addon-scopes=app,system \
- --x-includes="${ESYSROOT}/usr/include" \
- --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
-
- # Set update channel
- local update_channel=release
- [[ -n ${MOZ_ESR} ]] && update_channel=esr
- mozconfig_add_options_ac '' --update-channel=${update_channel}
-
- if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
- mozconfig_add_options_ac '' --enable-rust-simd
- fi
-
- # For future keywording: This is currently (97.0) only supported on:
- # amd64, arm, arm64 & x86.
- # Might want to flip the logic around if Firefox is to support more arches.
- if use ppc64; then
- mozconfig_add_options_ac '' --disable-sandbox
- else
- mozconfig_add_options_ac '' --enable-sandbox
- 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
- mozconfig_use_with system-libvpx
- mozconfig_use_with system-png
- mozconfig_use_with system-webp
-
- mozconfig_use_enable dbus
- mozconfig_use_enable libproxy
-
- 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
-
- local myaudiobackends=""
- use jack && myaudiobackends+="jack,"
- use sndio && myaudiobackends+="sndio,"
- use pulseaudio && myaudiobackends+="pulseaudio,"
- ! use pulseaudio && myaudiobackends+="alsa,"
-
- mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
-
- mozconfig_use_enable wifi necko-wifi
-
- if use wayland ; then
- mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
- else
- mozconfig_add_options_ac '+x11' --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
- # 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 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
- PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
-
- if use system-python-libs; then
- export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
- else
- export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
- fi
-
- # 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-r2 \
- >>"${GENTOO_PREFS}" \
- || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
-
- if use wayland; then
- cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
- pref("gfx.x11-egl.force-enabled", false);
- EOF
- else
- cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
- pref("gfx.x11-egl.force-enabled", true);
- EOF
- fi
- 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
-
- # bug 835078
- if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
- ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
- ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
- ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
- ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
- fi
-
- elog
- elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using "
- elog "useragent checks. To temporarily fix this, enter about:config and modify "
- elog "network.http.useragent.forceVersion preference to \"99\"."
- elog "Or install an addon to change your useragent."
- elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100"
- elog
-}
diff --git a/www-client/firefox/firefox-103.0.2.ebuild b/www-client/firefox/firefox-103.0.2.ebuild
deleted file mode 100644
index f570f6f6b4f0..000000000000
--- a/www-client/firefox/firefox-103.0.2.ebuild
+++ /dev/null
@@ -1,1286 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-FIREFOX_PATCHSET="firefox-103-patches-03j.tar.xz"
-
-LLVM_MAX_SLOT=14
-
-PYTHON_COMPAT=( python3_{8..11} )
-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/~{juippis,whissi,slashbeast}/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="rapid"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-
-IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
-IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux"
-IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp"
-IUSE+=" wayland wifi"
-
-# Firefox-only IUSE
-IUSE+=" geckodriver +gmp-autoupdate screencast +X"
-
-REQUIRED_USE="debug? ( !system-av1 )
- pgo? ( lto )
- wifi? ( dbus )"
-
-# Firefox-only REQUIRED_USE flags
-REQUIRED_USE+=" || ( X wayland )"
-REQUIRED_USE+=" pgo? ( X )"
-REQUIRED_USE+=" screencast? ( wayland )"
-
-BDEPEND="${PYTHON_DEPS}
- app-arch/unzip
- app-arch/zip
- >=dev-util/cbindgen-0.24.3
- net-libs/nodejs
- virtual/pkgconfig
- virtual/rust
- || (
- (
- sys-devel/clang:14
- sys-devel/llvm:14
- clang? (
- =sys-devel/lld-14*
- pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
- )
- )
- (
- sys-devel/clang:13
- sys-devel/llvm:13
- clang? (
- =sys-devel/lld-13*
- pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
- )
- )
- )
- amd64? ( >=dev-lang/nasm-2.14 )
- x86? ( >=dev-lang/nasm-2.14 )"
-
-COMMON_DEPEND="
- dev-libs/atk
- dev-libs/expat
- dev-libs/glib:2
- dev-libs/libffi:=
- >=dev-libs/nss-3.80
- >=dev-libs/nspr-4.34
- media-libs/alsa-lib
- media-libs/fontconfig
- media-libs/freetype
- media-libs/mesa
- media-video/ffmpeg
- sys-libs/zlib
- virtual/freedesktop-icon-theme
- x11-libs/cairo
- x11-libs/gdk-pixbuf
- x11-libs/pango
- x11-libs/pixman
- dbus? (
- dev-libs/dbus-glib
- sys-apps/dbus
- )
- jack? ( virtual/jack )
- libproxy? ( net-libs/libproxy )
- selinux? ( sec-policy/selinux-mozilla )
- sndio? ( >=media-sound/sndio-1.8.0-r1 )
- screencast? ( media-video/pipewire:= )
- system-av1? (
- >=media-libs/dav1d-0.9.3:=
- >=media-libs/libaom-1.0.0:=
- )
- system-harfbuzz? (
- >=media-gfx/graphite2-1.3.13
- >=media-libs/harfbuzz-2.8.1:0=
- )
- system-icu? ( >=dev-libs/icu-71.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-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
- system-webp? ( >=media-libs/libwebp-1.1.0:0= )
- wayland? (
- >=media-libs/libepoxy-1.5.10-r1
- x11-libs/gtk+:3[wayland]
- x11-libs/libdrm
- x11-libs/libxkbcommon[wayland]
- )
- wifi? (
- kernel_linux? (
- dev-libs/dbus-glib
- net-misc/networkmanager
- sys-apps/dbus
- )
- )
- X? (
- virtual/opengl
- x11-libs/cairo[X]
- x11-libs/gtk+:3[X]
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libxkbcommon[X]
- x11-libs/libXrandr
- x11-libs/libXtst
- x11-libs/libxcb:=
- )"
-
-RDEPEND="${COMMON_DEPEND}
- !www-client/firefox:0
- !www-client/firefox:esr
- 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="${COMMON_DEPEND}
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4[sdk]
- )
- )
- X? (
- x11-libs/libICE
- x11-libs/libSM
- )"
-
-S="${WORKDIR}/${PN}-${PV%_*}"
-
-# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
-# overridden in the enviromnent (advanced hackers only)
-if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
- MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
-fi
-
-llvm_check_deps() {
- if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
- einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
-
- if use clang ; 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="6600M"
- fi
-
- check-reqs_pkg_pretend
- fi
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if use pgo ; then
- if ! has userpriv ${FEATURES} ; then
- eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
- fi
- fi
-
- # Ensure we have enough disk space to compile
- if use pgo || use lto || use debug ; then
- CHECKREQS_DISK_BUILD="13500M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_setup
-
- llvm_pkg_setup
-
- if use clang && use lto ; then
- local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
- [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
- [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
-
- local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
- [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
- [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
-
- if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
- eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
- eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
- eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
- eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
- eerror " - Build ${CATEGORY}/${PN} without USE=lto"
- eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
- eerror " llvm/clang/lld/rust chain depending on your @world updates)"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- 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 cargo respect MAKEOPTS
- export CARGO_BUILD_JOBS="$(makeopts_jobs)"
-
- # 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 audioipc
- moz_clear_vendor_checksums audioipc-client
- moz_clear_vendor_checksums audioipc-server
-
- # Create build dir
- BUILD_DIR="${WORKDIR}/${PN}_build"
- mkdir -p "${BUILD_DIR}" || die
-
- # Write API keys to disk
- echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
- echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
- echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
-
- xdg_environment_reset
-}
-
-src_configure() {
- # Show flags set at the beginning
- einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
- einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
- einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
- einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
- einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
-
- local have_switched_compiler=
- if use clang && ! tc-is-clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- have_switched_compiler=yes
- AR=llvm-ar
- AS=llvm-as
- 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-gpsd \
- --disable-install-strip \
- --disable-parental-controls \
- --disable-strip \
- --disable-updater \
- --enable-negotiateauth \
- --enable-new-pass-manager \
- --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-zlib \
- --with-toolchain-prefix="${CHOST}-" \
- --with-unsigned-addon-scopes=app,system \
- --x-includes="${ESYSROOT}/usr/include" \
- --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
-
- # Set update channel
- local update_channel=release
- [[ -n ${MOZ_ESR} ]] && update_channel=esr
- mozconfig_add_options_ac '' --update-channel=${update_channel}
-
- if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
- mozconfig_add_options_ac '' --enable-rust-simd
- fi
-
- # For future keywording: This is currently (97.0) only supported on:
- # amd64, arm, arm64 & x86.
- # Might want to flip the logic around if Firefox is to support more arches.
- if use ppc64; then
- mozconfig_add_options_ac '' --disable-sandbox
- else
- mozconfig_add_options_ac '' --enable-sandbox
- 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
- mozconfig_use_with system-libvpx
- mozconfig_use_with system-png
- mozconfig_use_with system-webp
-
- mozconfig_use_enable dbus
- mozconfig_use_enable libproxy
-
- 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
-
- local myaudiobackends=""
- use jack && myaudiobackends+="jack,"
- use sndio && myaudiobackends+="sndio,"
- use pulseaudio && myaudiobackends+="pulseaudio,"
- ! use pulseaudio && myaudiobackends+="alsa,"
-
- mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
-
- mozconfig_use_enable wifi necko-wifi
-
- if use X && use wayland ; then
- mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
- elif ! use X && use wayland ; then
- mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
- else
- mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3
- 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
- # 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 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
- PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
-
- if use system-python-libs; then
- export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system"
- else
- export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
- fi
-
- # 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
-
- if ! use X && use wayland; then
- local -x GDK_BACKEND=wayland
- else
- local -x GDK_BACKEND=x11
- fi
-
- ${virtx_cmd} ./mach build --verbose \
- || die
-}
-
-src_install() {
- # xpcshell is getting called during install
- pax-mark m \
- "${BUILD_DIR}"/dist/bin/xpcshell \
- "${BUILD_DIR}"/dist/bin/${PN} \
- "${BUILD_DIR}"/dist/bin/plugin-container
-
- DESTDIR="${D}" ./mach install || die
-
- # Upstream cannot ship symlink but we can (bmo#658850)
- rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
- dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
-
- # Don't install llvm-symbolizer from sys-devel/llvm package
- if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
- rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
- fi
-
- # Install policy (currently only used to disable application updates)
- insinto "${MOZILLA_FIVE_HOME}/distribution"
- newins "${FILESDIR}"/distribution.ini distribution.ini
- newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
-
- # Install system-wide preferences
- local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
- insinto "${PREFS_DIR}"
- newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
-
- local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
-
- # Set dictionary path to use system hunspell
- cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
- pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
- EOF
-
- # Force hwaccel prefs if USE=hwaccel is enabled
- if use hwaccel ; then
- cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
- >>"${GENTOO_PREFS}" \
- || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
-
- if use wayland; then
- cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
- pref("gfx.x11-egl.force-enabled", false);
- EOF
- else
- cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
- pref("gfx.x11-egl.force-enabled", true);
- EOF
- fi
- 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
-
- # bug 835078
- if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
- ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
- ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
- ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
- ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
- fi
-
- elog
- elog "Unfortunately Firefox-100.0 breaks compatibility with some sites using "
- elog "useragent checks. To temporarily fix this, enter about:config and modify "
- elog "network.http.useragent.forceVersion preference to \"99\"."
- elog "Or install an addon to change your useragent."
- elog "See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100"
- elog
-}
diff --git a/www-client/firefox/firefox-91.12.0.ebuild b/www-client/firefox/firefox-91.12.0.ebuild
deleted file mode 100644
index bbb4a12b57b8..000000000000
--- a/www-client/firefox/firefox-91.12.0.ebuild
+++ /dev/null
@@ -1,1236 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-FIREFOX_PATCHSET="firefox-91esr-patches-10j.tar.xz"
-
-LLVM_MAX_SLOT=14
-
-PYTHON_COMPAT=( python3_{8..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/~{juippis,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="esr"
-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-png +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.24.0
- >=net-libs/nodejs-10.23.1
- virtual/pkgconfig
- >=virtual/rust-1.51.0
- || (
- (
- sys-devel/clang:14
- sys-devel/llvm:14
- clang? (
- =sys-devel/lld-14*
- pgo? ( =sys-libs/compiler-rt-sanitizers-14*[profile] )
- sys-devel/clang:14
- )
- )
- (
- sys-devel/clang:13
- sys-devel/llvm:13
- clang? (
- =sys-devel/lld-13*
- pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
- )
- )
- )
- amd64? ( >=dev-lang/nasm-2.13 )
- x86? ( >=dev-lang/nasm-2.13 )"
-
-COMMON_DEPEND="
- >=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
- 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-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
- 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="${COMMON_DEPEND}
- !www-client/firefox:0
- !www-client/firefox:rapid
- 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="${COMMON_DEPEND}
- 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!"
-
- local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
- [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
- [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
-
- if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
- eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
- eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
- eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
- eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
- eerror " - Build ${CATEGORY}/${PN} without USE=lto"
- eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
- eerror " llvm/clang/lld/rust chain depending on your @world updates)"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- 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() {
- if use lto; then
- rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
- fi
-
- if use system-av1 && has_version "<media-libs/dav1d-1.0.0"; then
- rm -v "${WORKDIR}"/firefox-patches/0033-bgo-835788-dav1d-1.0.0-support.patch || die
- elog "<media-libs/dav1d-1.0.0 detected, removing 1.0.0 compat patch."
- elif ! use system-av1; then
- rm -v "${WORKDIR}"/firefox-patches/0033-bgo-835788-dav1d-1.0.0-support.patch || die
- elog "-system-av1 USE flag detected, removing 1.0.0 compat patch."
- fi
-
- eapply "${WORKDIR}/firefox-patches"
-
- # Allow user to apply any additional patches without modifing ebuild
- eapply_user
-
- # Make cargo respect MAKEOPTS
- export CARGO_BUILD_JOBS="$(makeopts_jobs)"
-
- # 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_environment_reset
-}
-
-src_configure() {
- # Show flags set at the beginning
- einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
- einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
- einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
- einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
- einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
-
- local have_switched_compiler=
- if use clang && ! 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-zlib \
- --with-toolchain-prefix="${CHOST}-" \
- --with-unsigned-addon-scopes=app,system \
- --x-includes="${ESYSROOT}/usr/include" \
- --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
-
- # Set update channel
- local update_channel=release
- [[ -n ${MOZ_ESR} ]] && update_channel=esr
- mozconfig_add_options_ac '' --update-channel=${update_channel}
-
- if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
- mozconfig_add_options_ac '' --enable-rust-simd
- fi
-
- 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 "${ESYSROOT}/usr"
- mozconfig_use_with system-libvpx
- mozconfig_use_with system-png
- 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
-}