summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonas Niilola <juippis@gentoo.org>2021-07-26 08:22:28 +0300
committerJoonas Niilola <juippis@gentoo.org>2021-07-26 08:23:30 +0300
commit5e8c0b609a7a5247b6b75b63e1845aa50757c628 (patch)
tree447dbda8f1b8f7760cab4dfc0af6425fe7f7e098
parentdev-ruby/sys-uname: Keyword 1.2.2 arm64, #802141 (diff)
downloadgentoo-5e8c0b609a7a5247b6b75b63e1845aa50757c628.tar.gz
gentoo-5e8c0b609a7a5247b6b75b63e1845aa50757c628.tar.bz2
gentoo-5e8c0b609a7a5247b6b75b63e1845aa50757c628.zip
www-client/firefox: security cleanup
- drop 78.11.0, 89.0, 89.0.1, 89.0.2, 90.0, 90.0.1 Bug: https://bugs.gentoo.org/802768 Signed-off-by: Joonas Niilola <juippis@gentoo.org>
-rw-r--r--www-client/firefox/Manifest584
-rw-r--r--www-client/firefox/firefox-78.11.0.ebuild1183
-rw-r--r--www-client/firefox/firefox-89.0.1.ebuild1179
-rw-r--r--www-client/firefox/firefox-89.0.2.ebuild1179
-rw-r--r--www-client/firefox/firefox-89.0.ebuild1179
-rw-r--r--www-client/firefox/firefox-90.0.1.ebuild1182
-rw-r--r--www-client/firefox/firefox-90.0.ebuild1182
7 files changed, 0 insertions, 7668 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 17e4c9362f8..94f98a7aeb9 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -1,99 +1,3 @@
-DIST firefox-78.11.0esr-ach.xpi 460297 BLAKE2B f3624758638b746b25d36910d8ea77acaa171d63db225948598f58efcb8a0314fa123805f15046c0bc1c27d6d80083051b9abb398053e36ab9f4dfc95b255756 SHA512 105c7f21e336de446692f39c770d8fdf828e5f99550e4c1adc2672f9759e123524852c1c5e9cfddac0fc49032bb31d90bc6b169978316e381401e52cfeb7fecd
-DIST firefox-78.11.0esr-af.xpi 428363 BLAKE2B e05c471b6206c22a63b214c6aa68161e012e15e37374420abfb14b42e5b8af8ae32b64c712aaf5d49fd5f256c11ee35536a999f13187f53fc5b924c05904367b SHA512 0cee97d8d5584e57f763a57f4c6b4eca7096b112ec086a8171f9ec66c1b5229727be34886b797285431d05aa69c7e29ea8f706a2c579c4ac3486dd392998336f
-DIST firefox-78.11.0esr-an.xpi 508380 BLAKE2B 0e6fcf7b196f6db6df865e78c79d6f3b69d44b957813baa18b85b68a24833ae62887f46a933a7e3e933a52ab0092c42d93ef5a42877dc856a02c879a259c8042 SHA512 be4ff7d680db153b382d9d46dc199097ff85eafd8d8bc3867ce2ac761f353aa29346069d2f8ce96f3d9ec60229bd97537e64821ae998356e34f64281b136240c
-DIST firefox-78.11.0esr-ar.xpi 560961 BLAKE2B 565e5a1942e3bae9307a0c3291b4c9673789cb151db11535f80e4cf5e6ed02491b21406c32deb2c7c290fac3388f21289d6703df0140f8a92104cba1d06e8a18 SHA512 dde149a7efcd5dc9edecc3305005a9ce229200ffe5e99fd235343a85a71c28fb38c577c75eb5297ce22a54ef3e15dadb8472981bfe5bf2c6afdd5ad05c4203e8
-DIST firefox-78.11.0esr-ast.xpi 456390 BLAKE2B 09abe88317464f103ca602e72c00b4157c4d55187c64ec898eb742adfa9fec00af509be3a333e8d421173257185466054936ca891c7fc4a09950788248ca1a68 SHA512 5fd2db0c59f92a27887cf7636b768fdb245b9d61d50f437566cc77dcc7aa5e59c4dd4c4df82cc82e330dfc7731623d063c4ef3f601b9e7d4b15b083660b28757
-DIST firefox-78.11.0esr-az.xpi 497446 BLAKE2B 1cafe6d385fc9503b2eee215c87c17bb3cc6603bd56c021cacf2961b4b2c7ebc5716e2812d5919c54d3ad71fb7960db9db3e6cbb891d3391aeaf4b6a327e5dcf SHA512 f1b9727de0d6f1d46f8fe241843947dd5fbdb9160605e7ee1b6ec2e1d60e87762dbbde3c531d60c2230cee69be99cdfd7e605e8f903f2405eca4c9f3c21ede3e
-DIST firefox-78.11.0esr-be.xpi 608660 BLAKE2B 21989b272ad242c8977aad75d2febe424e4e1d6d0514178d4d2688350a96a99765426224410eca7c69fb5d7cdd247d51089fae8734711686105821cd7d88c9cb SHA512 b7b4931349f8e259b79008792b7e41d9a73dc481492cb30826d01b4b2443909a22421f27953412425ffe8eecd01bde5f33f9a610f1967d92708a3947451689ef
-DIST firefox-78.11.0esr-bg.xpi 553983 BLAKE2B a061eed00d5e6461944477796e00cbeaa6c94ca1de1d67f1aaabe6f85dc485659de4485b21f42a1cbead90f9cd6cd4e26e6301472df10c12deecd7d6b1dad050 SHA512 fd3f8724deacc830800d6a68a679f98b7f2b8195dbc9ccc267a5793d0ba8cde710f341d41c7affd3c66140f58acfb9deba5c43a1020db7e06bfec812ca265896
-DIST firefox-78.11.0esr-bn.xpi 572621 BLAKE2B e6153181264b8e631c0763cd836627492c36a7805bc82459282ba0c8ec3673858a56ac9e03ac4e7119d1821832c000753e06d29cd0a5265e62561098f614986d SHA512 9e13f533805f74ada58c31901a13acf4ddc925b604c68784ef0d629930a7e3463de805509058516415e4900010917a6e3df7c46e7eaa3db9209ca7de3c5d2054
-DIST firefox-78.11.0esr-br.xpi 507131 BLAKE2B d8c8d132f105113d5c6086ddf865ae3c694742e9620e903b0d2228d15de3183e16eea39ab724eca2adadc500b103b09b28c21dd8f9d2ea4fc4b82d5320d018d4 SHA512 5e18adadb34c8d84a159d996f35d2a8adcac852445909e9821fb437a5351f191e488e3b4529643154379c167f45e18a1b31ff54ea194d60fe7882b052a916b10
-DIST firefox-78.11.0esr-bs.xpi 463809 BLAKE2B cffa7ec714f4eb2b64ce3708ee734d0a2dfc8716c950088315da999c91744449c9789138b7bb351c6da0b894fd21fc1d599fb830dbb989e4eb28d76c34b23b30 SHA512 0a55bf9964a63289a7aab3167f0761ff70a9ec037c131f13589f1552b081dbf0f31e56a752ea09d4129bcb4da4fe5af16a548a9009f98b54774e5cf246cf5026
-DIST firefox-78.11.0esr-ca-valencia.xpi 517179 BLAKE2B bf227d0257df231420b001310ba8c2d97345fcd1e5279cf469c99c22692cabb346aec026ff77615592d66bfd2a28cfcb9a086236efe9d73f9051b2f27e50b22f SHA512 59912a7451dea39d847cf775e6257d4542d0f87614c044c66399641542758a35c186304aac1d4847cb130727d5da2cd82929d8f32346e5fbb40a840911be8750
-DIST firefox-78.11.0esr-ca.xpi 514179 BLAKE2B c687a831195ca51a3a1f41730912a00552a89aed20f0e0cef9330840905ac6a8d301a1a6e4c3166d2057ee4c28597942e621bc698a118ca28ae31f3924155fd4 SHA512 0b81e11fc94d2c289398a61e70025dcf485ee50aa1ddd76a40ddafb427fc684099879aeabbe084a6bff74a1a8592d833777fdf10d8f0f1bd926344c464d4df0a
-DIST firefox-78.11.0esr-cak.xpi 551546 BLAKE2B bca2f27344579829c90410874948074c79099bb6ba11323fe96e65aa4a6cf69d09bacac63809836782f8d9e1cee8730c55c811b137815414cb622e30d05f3787 SHA512 49197b480aed66cad0d2ffcd1a3396c34c2060ddebbecc79e89c784e6a96b49378a15b18f82799df0b84a0491f93a1f2ffc13c7097a739e592d5d5c85fbe4a70
-DIST firefox-78.11.0esr-cs.xpi 540327 BLAKE2B 331535a13c927532b7bd342ef67c7aa6d1c81ef6b98f6656ed31386d602dad2db512e6cef7e176d9844821ff15a15afca229b540de43aeaf7606696d114e072e SHA512 e7b4f3c0c4765dafe373a62b3c230189592ce0d137a11d816ba453bf4c61fc461abfb17186b81902fd34db7ee5a631699675793c949e31d740ea3624b55e2ba1
-DIST firefox-78.11.0esr-cy.xpi 530692 BLAKE2B 6c0029019c3ff6b50d1ac06d754ee2e043992b8bca78f3de762340b5af400628eb79fe8421618b4aa5462765660c0a76c64d1da8d4ffb03a6ed205fe7b2d951e SHA512 85f11501a6b86e52482627bac4a8f18de684e1404af1f1eb5ee431701cac8028e1f6d762e14804d79dc4dc0d9f584dfa021fa8aa51ad664bb308323e4786f937
-DIST firefox-78.11.0esr-da.xpi 520275 BLAKE2B 81b8d297efbec1580e85e3627798d426d36f1e885dbe2f80e6824c7f4f7a7f0cde48a6a2d9391f69e419e1aff5e31894c59aaeec2c273f1637d6cfd1ae0956f5 SHA512 fffdf640d14aa22496a1bb492cc4fc15a70bd0c2d4d2ca0ac3959867bf0fe55f1f1e8c283af4ef7733ab8656d2fb8a5c6ab2a124178fd09ef372bacdc31f1731
-DIST firefox-78.11.0esr-de.xpi 542857 BLAKE2B f8b4c3d963ee0a79ea06d9ca262b3c7d350fa52e0600e9d4ec08a1ecdd8c8950013d8147fd95893f5c268f513097d9a7fe1ad4d5e690e2eadd08e0f1838c1d06 SHA512 8aa31a7cc65d875582a0bfaba03353ff45826b97245eca0f1e0e7e639cc2454ceab5c13ddb27d30a6b0b62089c47beeb671d65ece5285e1fcea5f89cb3cb372e
-DIST firefox-78.11.0esr-dsb.xpi 554280 BLAKE2B 3dc5ed7e8049ff54e06a5f891b3bd73d0fa64206c42612f21ba39923fbbd4797aa09bcbaff4859e82ce29e6ae4ec8b76749fc75eca3d1413769fe9f50608df66 SHA512 f47b3a0bca7b59649d2df91a88de27d93b6d05437676d46bff6d49bc44de2cfcd9c13ae971a2e8db4884aaff6d9a7869764c7633dc94042bee72199f5f9e440d
-DIST firefox-78.11.0esr-el.xpi 626556 BLAKE2B 7b4556f29f077a52115538448c75b70da276f8c174b2603c9edcf5b25ab60a02cb19f7771085d92bc295c0ea740b292f099bb2616b032c631a5db373c95b5a3e SHA512 cc5a3d269247b4dcc73f0f3c13443511680d1acbb0c10e24990f40d6ba3772a06d7278c70072320086358329e44c29f48653405e6579e0e7c9925e76d77cf5b7
-DIST firefox-78.11.0esr-en-CA.xpi 497732 BLAKE2B 37a47f333e9d8c39a8dffafd19bdc949355aa527335b45cdee6be9c767e3688d02f51bbe9b566b978296ee953c35a60ea2dc718de41b64a4557c2335f4d477a8 SHA512 fd5ce7cf7c87b719b2831dc16f604aa110fad2385fafcacfb03ce523b275c944e3dad530a17a5f0b3b637590adab0fa5a1d65dba45f69ceb05934d5240cb6502
-DIST firefox-78.11.0esr-en-GB.xpi 497595 BLAKE2B b19cb4806211a294cfec0fbdb9d3454ac664e7483cc2838c1f3d25e0185bd1fbde1dc3a94fb5e986e731631696c1a3e629d07093a47a0697e6ed07c27142a6d0 SHA512 d04d7f39ab0b74a4201a17ed427670ce97c5e707fac64243d106b00e46bc8f9ef7b0c04877d32d71cf5818758fdd54eb288db8307c517393b809b6176124b91b
-DIST firefox-78.11.0esr-eo.xpi 525746 BLAKE2B 7914bd53ff96d486bf554f067461498bd9a4116aaaacf4e80136271bd8fefa92f1315ada188a1f44bbc0c24d6d5779d6c76ad5c1fd1bf927066ad3596ed358de SHA512 bde81dac8e17fa65057f0e16b166ae093225e1a578fa898e2e3ac645f1e9e65a78591d72a5c00648df6790306daa8a62d27164fcd97327839536af75c40a9809
-DIST firefox-78.11.0esr-es-AR.xpi 535812 BLAKE2B 918ef527737125079833ab198ef7fe4beae69d27788c491bdc8b88f134777522daf6c75a255f13aba00e8bd78b92a00ac71e6d4d401482d7e4b29717488250d0 SHA512 ee8cb0ca5830bdfe50c3cc0cec19a0e9541f10aacd5bfb507331c89d7a7b6411941effb0ae707adb7dcbb35034f00f00a5106886be2038ad3c040b04a3743c70
-DIST firefox-78.11.0esr-es-CL.xpi 535368 BLAKE2B 56717ddd355c2ae91a1f09d86cdd40d69e9d2e4d4e6cc4b5b61f3e38c8fb2af97519149f45abc958dd5805a3bb9083c8bef40bc6652c89a26cc7350941fefe21 SHA512 356135ac19efa2dc103f68fa87ad7cbea8cdb9d2744c70156f2af3e758f00091590a86f93a534f54f5f268a5473b5a4bd1741f58d30cb0692d7a6c59ee4f52b9
-DIST firefox-78.11.0esr-es-ES.xpi 522714 BLAKE2B e916acdfba81377958b6c92f218f431e385f1b36de24b080e94c929f38c1e3c3dec5bc3da478bf1d90164a644bde0e1299832a4fdd333b5fafef2525453c3cc5 SHA512 e22e942cac32c7f0936d6e53bb9b81c0098d9597089abf1cf9d4de0cd898e3d88269974efd6d4017834839e6a5a21c286ecb73579a15410002086979c172fad0
-DIST firefox-78.11.0esr-es-MX.xpi 532294 BLAKE2B 3b1e2ea95186f874a895b6fd2e7b53f124ff63319c7a45d7674159df614772b13cf21557035da8443474690e0988adeadab068ead17068732e1556d7c24974ea SHA512 caabe1f4c4203450d2428073826970259a382b4697574e883910a0911984459284c8459ec286bdb61a66209ef96c608ec5bf047dcf21a8ca1d203714b6713e2d
-DIST firefox-78.11.0esr-et.xpi 485234 BLAKE2B 35f5da2d84b34edb280157c07ff0790ab1077ff8887ddfc75ddfccf6c6ad40b4d4de7544e3bf0991da6dca6a2936e3a8697e8e9a85584f11bb444d7b6e03c9f0 SHA512 3c06680fd1f477f16a8cad514287016adb9261198acdbcc8532904abf78bc0a88ff35539ade1da5cd386a570633776d2397c6b642dc96f179ee2a00a230d8f69
-DIST firefox-78.11.0esr-eu.xpi 505882 BLAKE2B 1dda7f01adb79347ccd7a7000d18220b673f063fc78e53f6eb2b7be1120eb3cfa73f99c59b5d98e2ee40f5bfa87fa5ce4525af4c3db4e22cb28d5a977247003d SHA512 93703e656ca5b33117f2831778b7b35a8577e61531bcab55c92c7c26774f0f8a8a53080724ab8732424ea470e914ce8096b9b55fd1d2f4409e7df5fd797b286f
-DIST firefox-78.11.0esr-fa.xpi 538916 BLAKE2B 054c162d70c192eb34656c6d9f25da88ae2289f9d45f782c2f0bcae3420db9e61511f39fbfa3cfd865d238aa152f102c68cc89eb679e80fa57b4c8f38c7df128 SHA512 fcd0802e5b085c2186fb7fee4e9bc9cdc173a51a759340fde70c123f58e1cefdc5237609c50148f975038d7af2ba726c6ab034e07c884593435a355c91e19370
-DIST firefox-78.11.0esr-ff.xpi 481611 BLAKE2B 85374030298f6bc31b654e8854eed08da24b17439215a435ccdf6ff3983a7ce5edbd92601a04eb1b7de9c62e9dca7fd9519d55f63d3335c47f9afa2c1ee465f7 SHA512 b2e400fe7c82fab165f26624a3e509da1bf9ddb21305a9c6be283503bdddaa67348a4c69641607f82e3569c77c2aa16b067346b8e84be96d57c386d01f6d890e
-DIST firefox-78.11.0esr-fi.xpi 517919 BLAKE2B 1d2dd74944266752a32ffd5a47d0ddb3a990691e8f6fd5d1b294ab64407a73873943298540fdd55a1e121328a8d56e1b822214075129350a4da3e701af89fc8c SHA512 add238b483dbddc64983b1cb808cfdcc8e2d834ea9422355281887106a44df242f26ef2ef33aa8e2d1b454d419ada18206d2f8736b9dce7e8d4360a1f97631b4
-DIST firefox-78.11.0esr-fr.xpi 545880 BLAKE2B 81d51c519d6cbe145ae90398dac83b084e53cbfea7aecef3766aba10b206fdaa2270bcaec7decb0ae7c0a1b110ef4ef5d99bff5abb04c25cc22b0cf6d162a61b SHA512 1750ebe31ab6c3bb554646c9cf90c514327b95879021de47b0956b9b334a6f506ac6107de086dea6dd089082b79bfa7638385117d1a35ff212b6f21f7c44f415
-DIST firefox-78.11.0esr-fy-NL.xpi 532475 BLAKE2B 92adba15f29be7ea1eb51c2120d4c1c89d77a819b6f685034e1205d8aa17c439e8f0dc415310bafefb85d454fde7647409bb8c531714333742f3f0d4d5eb1ad1 SHA512 5812f2c1ec09288335b0cd876fdf38c8b3c8ffa12fb2eed99c164467ad92b126e38b4a20e37c5b477bd95de74d69b4ffddd6d048f3e30736877b844f0da947c0
-DIST firefox-78.11.0esr-ga-IE.xpi 466898 BLAKE2B 725df8bb5ea0ae76bb79d22e3c2062e10c034c833080fd2d02b434b0aedcd4ee27d2f3cf21c7ea09bb93a3d3ca224677d3ebf12b5471eaa2c1110d7fbf0fd173 SHA512 b0a1d1255fa05df7566473806d4bd84f4640e4f624502e6630168ec062dd0c55ec75ff66a6ff323d8ea50e72428f28065a16a983bb5d806d830d86ce8d659199
-DIST firefox-78.11.0esr-gd.xpi 491875 BLAKE2B 962a20eedd0dc3c9a881dc941cf83c57fff70309f009c44d53856f45961985723c5dc1d0e3e7845887d5e07ca44185137271be12ec58c266d9402942ace334f3 SHA512 f8ab82bb398594482caa4c29b6127d07bdeb69ad7eb5d389f0c3575d75647ea19de93f80793aece94a9fc3bb233fd8c4a8a5acb8c31ff676f499776b47ed4440
-DIST firefox-78.11.0esr-gl.xpi 528415 BLAKE2B 4633cdfd83d83d0b9b7d54d87bfb4e76d49fa8af07f71fad5f304747755386e6374b7f6477963fb5c6ad3e514d57847fbb19fb8c4f404c120314830351d16b29 SHA512 bf9d88b5755af5d4f87266d9a824cf48e54530805898987dbff18e5a443a07b23c0e62942c404b4b39d8aeff7615cbea0104826a2c6f38d738bf97f6d61baad6
-DIST firefox-78.11.0esr-gn.xpi 546473 BLAKE2B 899aaed6b43bb7728f71be2050a55c0d942b75d9d0341ad0dc31d0d98e79d8337f7d8a0700d780325d8697dc56f5bb416ecb82b61e59e4ebbecb36962cb7b5d8 SHA512 162244124aa73427402158a98ac0d7af2c2804923c12538597ef7214398e325ce681d42724c2d7c5d90f673a98d5cd42a90e5e2890a036a637ab8324fcf372d4
-DIST firefox-78.11.0esr-gu-IN.xpi 541427 BLAKE2B 1a615af95f7d1f275d0856840ae6dd81bc654f892f51f3fa3b7105b5fdd63bfeae207abf44e99f1d72eef2a7ae38c7ef55610b672b3c33a4254656465e8353d4 SHA512 1262c9918f7aa0a288ccc1d64fa0a810545cca9db9cf094d7c8dea51870a8b33fd984d38ca1935ae897fd25488fe6923ef15b027c2cd5baa36b8d9bad5ffdc29
-DIST firefox-78.11.0esr-he.xpi 545591 BLAKE2B b8d4999ef5387e02f591c22dabfd7bd6621c1b6ee6b08c1dfd3ce4cd1e525eab64bb2f6323dce0ab0e56c8877e9338ececd9d510a1700e7ec40348b05414196f SHA512 1bf5c0b2086a0aea35962bf5d642f21dc326d95c36bfdefc7bf90262aad7fe4b797ad44f825e46d02d6dbae4875456c34c816e6317b2025e5ffab3ed2e772b96
-DIST firefox-78.11.0esr-hi-IN.xpi 567857 BLAKE2B 111ef1fd451081e13c0c46c4a2fd1dcbdb4c6e04cc5ede16ffbd5137660fffaaeca670f2b60929d7478d188881f3d03114c8429fdd6f94bf78d1336ca804aafc SHA512 d0999ce7489b9fa31501e2b4ac17e6989d220b85cdff0b5904f79502fbb7b0cefa9ab2128157f9e1a24947b75c152f4e74704350ecca82e7a3423465e8f3c581
-DIST firefox-78.11.0esr-hr.xpi 522694 BLAKE2B 3236b7c789626020baa67786db081ca5720151d876d776d2a08ad0680b39e510fa66854f1b8d952b04f7f1345b16c94fcc8a67b2d6b6c384f753c752dd58af93 SHA512 4b1b533900d5b22f8500f8d2b8faed88d3e0f505f26a574e39ecad308e4d301e356df43a460fe950283c9d821728c27247087c3edee8450bf6c2b40bb7246a44
-DIST firefox-78.11.0esr-hsb.xpi 550670 BLAKE2B 2e1546766636b5d22858599ae87180ab5854d822c966ab454517e545ba2228d50229c5c4e08d85509505495191789d0141be37e9782eb8d3dbd754b60cbd972b SHA512 25eeb1b03a05de8a0f8227f9c851de306767f747846ff58af48ccb30d80acee01c2c3ab2a4a4584a52a3fc50644d41edddf3e8dd91961be32bb4fa358f367e8a
-DIST firefox-78.11.0esr-hu.xpi 554888 BLAKE2B 9027cf3d182ef39c0580c89a9771382ae15c86c0db0d0b78ab3a6b11a9c7bb070d3482712a0a1982199389e8a82a3875fe7f4154fceb629d902179eee1e278b0 SHA512 4d53acc3d1b83ee015a992aa0f035c37ed9c1ef37dc5d92bab31a8216f377600b1f5bc942e32cbac1635cc9ad066f19a6829e73a49253bdd73730b52c23166a6
-DIST firefox-78.11.0esr-hy-AM.xpi 588982 BLAKE2B 8adbc413015b61bc015c5b3a7c30266fd4e50e1900cbc4ccb8844bfaf9a7bf665e1ea5765e80f1c6f8d13edca0cb7f72d9ad007cc13a74ab29db7f666fd71ae8 SHA512 eff9f9d314b67c2e6bc6fbbcc1c21d2a27c18c55e5671868c8a52ab9ec404d4ad0d00db5f050d24ccf473763725eb08ac1b9929ec028559e399efc35a0800243
-DIST firefox-78.11.0esr-ia.xpi 518824 BLAKE2B c94a1756232b7f9d9f3b76551095ec198e4bd0db0d746135f5283a45681fc0755dd92b3a330a863c1fd0640e409a5056de854d2bb6c836178a9a3eab8bfb552d SHA512 44a1ec8802193ad7aecee76d9a3ba98dfb24c33cb28d30686ef3cc88cd3b66da66acc95bfadc05528c563337124c74b27b689269b7ab61776a3741e367fec179
-DIST firefox-78.11.0esr-id.xpi 509573 BLAKE2B 5e36350030d11afa16fae0711efaf27ad23dea0ab7fd41578a19605d58a7fa4805e75c41cd2b13300b99e79b121f617be3514d990f92dd046a279c4b00149b65 SHA512 5479fa47f4b86fea14d42edddb175aec79ed50161b467205e21cb24274d1053aabd7014f9e826e053f14ab6aac8adf6142df135d8113c3e36aa23480eff78692
-DIST firefox-78.11.0esr-is.xpi 477026 BLAKE2B 81a36f4bb784edbe2675df18f7e0846b6dfe1ac61040fa340f4c683e524166ab633dcafd5df68c33ddef9d5db59ddb75742137bc160129b40d1ebace36b90354 SHA512 9219ab7984c05216d1e999ffc045fabbf513f067f02b5c82c9765f67ba533cf279e84dc080fdb65e252e92c0fc641dc7dcbcb806a36de35719fb2dd50ee088de
-DIST firefox-78.11.0esr-it.xpi 449813 BLAKE2B 3d552331e4e5230cbdb5703ea0944ee3feac6b41aaa7a337f07464d37be6e511ce74214883ae74ae53febacd95744c1a2f6005f05ca12745ed013c49f118c959 SHA512 f60cadc36d5c16b1df5782795a3378cc94f464d955ebc0678d3181dd30b22bedcd0a3559e0253a305d64209b0c3c94f858d5bd7cd717e1c6011e02c441d7ac6b
-DIST firefox-78.11.0esr-ja.xpi 578206 BLAKE2B dbf66b4607632ffee7abea2936dd8f833aa15bff24bcb36a173017c8bdac08727ffd6986a818ff0b7dd493ae2e86b56a723f3bbbd2fa8861fa3a398247a2dd09 SHA512 423eeca73184c5398de16f15668e61f1400961986bec6e4981a0825fd031880cf32dec3616330b223d1b0da6838116b1b3ea70869e426abdf03b3e16a62b0726
-DIST firefox-78.11.0esr-ka.xpi 579092 BLAKE2B a76e3cedc38a2a94132e3171cbc7d7a5430ca1878b4e04ec51d2c47ee9905c53031afef06c90990aa86dd89dcf52789b08180fd4fe5a9f7ea0a294b82d8228df SHA512 de8fb5f09df796da96c7335ad7a4371ce876503940e4efb99fb74d15deba326a2d562bbc959bee1e2b28e34ff5ca2216d10c60854174d03b73f54d7c8cd3e426
-DIST firefox-78.11.0esr-kab.xpi 539730 BLAKE2B 7a063a666226b78b86875e30c6e3931868ef8d0361cd2055fdb1aa2be60106c18f31cd9d8c646a5f965683c9f6d24453c69d91cbe2eb902474753630fc12aa0e SHA512 f652b9d05fe9c0112152c2017ba43fe759046e4bca5d744d69100e31946c4e9f5946e28f15aa22f4ac38d52e4cf505ad8865246def27fda1cecf1bf86bfcccee
-DIST firefox-78.11.0esr-kk.xpi 593259 BLAKE2B bf60d1f9aa68948410dac824bbc7c8c77bbace804743a8259bf10ea3cd633ac622c5ab606bda02debe945011b89041402140d40a0306f598e95dbc91b3a05ddd SHA512 c8abc09acb97221d45e7cbb2ecfba8a9dbd34078ba001f26645f648a2288a81e7b179d7d8ffb6421192c2c9afaeef17138e73913f31844105449aa77c4ca145e
-DIST firefox-78.11.0esr-km.xpi 527377 BLAKE2B 83e81ad460ff16f4e53b2cfaf362615ef4e0244198ecad18be66e8d4ffd15792f5bf680768d68d3d002c1cd0fa5fe738214f010620f9d6815e8331ee77881f9e SHA512 3ba0936f0b4fa2bc8657d078227a61b05f68b19648e315cfff49d25517d9c86854a38791bdca54e58efdddf863df0e5f6441fe81ad6cf78bf1b3535f4839e983
-DIST firefox-78.11.0esr-kn.xpi 506744 BLAKE2B 3386093c535be3f82e1d3fd5e605c411039c4e2bca8489f043ee6125100fd60585ae0184470d6513d28e40c026ce5250c3f43e79b1c6d3a06a436d297df73c7b SHA512 cc4fca5f34d9f2e3608eece687250befc21c8269a812d440e181848a3a9075e16172b651c80217fbd34798d264e5cbe5235e73ec9c55e40a2b46ece529f8fe78
-DIST firefox-78.11.0esr-ko.xpi 567516 BLAKE2B 7615fe5f84e1fc4de98b1c187aab92de20c9f827b3b18c26af1e76fa1201f810ac28c29dc2a60d15b97c90439b2a95e183ec2c00af9425609c32af381f7dd143 SHA512 47f5e98275f2feed4e4e87546707869113046592afc4cab3ab590bcc0b81464d0db6080fa9b6e7a29bcc400d7dc822d08e62370e064336b029731875b87a50ee
-DIST firefox-78.11.0esr-lij.xpi 475237 BLAKE2B 6805d43557b613415bb1d33bf7830b55c701010d662f68210f762c2e30d4a103393911c756226b71b2dd4191dbbdfbafdbb4e5474befed3fbb1059193afa9979 SHA512 acd25c5dd8dc5822d76d7b1bc73fdbf27d7970aeaf4485aad76e38ac56f69053ef8aea72ca02346ca2e18e054a93115d89d09685c1e4fffad31626833dc0cb96
-DIST firefox-78.11.0esr-lt.xpi 540691 BLAKE2B f20a307b0417394b544dc5ab22d32aef51044a62535929e0aa4d7b550bd3a59c9933cbb4f5d601d0f5784cfdfe24ae10a680a979bf69f260c4ab4eeb185d19ef SHA512 361def4b4c09be1d2a3c79f44dc86da0ffba9200df7d246f895636aaed83ace8f2914206f1b93fccc81a7b6470ba13285ec7fabf2bcb449477a95509d758b824
-DIST firefox-78.11.0esr-lv.xpi 467473 BLAKE2B 429fadab080ce70fc35df9d830c638225594c3f1fba7e052472579dbe190db9138000bdbe2959bda61a508a750fb5f363a969f074a73b4fbacf3365b2a1fbbd5 SHA512 38f9420b44a8d1e3c9a5ee8be2740eb2d622738757ed355b7af149e17cb0d3268273255b47c75150af79cf76446b0716e9af19c90d0e3bf3e59461764587961c
-DIST firefox-78.11.0esr-mk.xpi 460018 BLAKE2B 192d34d0a283203d489abb62320cc39a681bba8711f9c05b796aa3f1a32d86e6312ecc3c5bf204700062775844263b995474b245a4e2e52b320bc2793fa454c3 SHA512 9f95cf39cb57b7d44d929ab4f9e97aeacafe23f34dc7ba348b8306f2fa64bb18af47d505822064ddefdd28ed2b36eb8da3d4dc43c2ce3b40399b7d827ec3c5c3
-DIST firefox-78.11.0esr-mr.xpi 541577 BLAKE2B c4d3e712c29367dd25ef26aafff054f6206fd1895ca2163bcb03189c4e5ebc4a846924ac4ec28fe936a6182150543e317edb833a6d63724836c2a93887d31662 SHA512 2d9618b81cee472689e5e452a7ddefd9e5f11f30eff1cc52b9d81ab554f0b2c927b8dd3aa387f82dbfb10cb723a83c102134df344848ae0a2e2a37f534329981
-DIST firefox-78.11.0esr-ms.xpi 453066 BLAKE2B c73088ccda660183023c687ee32b9e6368663e06298b3c6f7bde16771bb8640d5c980c382fc34df29e8ac08447e936411569fc403e16b51ee9d983cc584ae322 SHA512 536b3739a5648da54ce1485320292ab49fecb82d309a60d50aa949b6636771d7247783f03b1cec77defe30306e78347900712c33c76156538f460a6e1e63aa9c
-DIST firefox-78.11.0esr-my.xpi 526332 BLAKE2B 3e293489503022cd39a8f8b298a0103244041f1b89dd4ed3e2851192b138f7718b49813456e355ed352b316d71d74e8c6f3e3a31dfab09af6ed49f57377515fd SHA512 ab17d08f10eeba1dfbc5bba1972fb72b3af892695f03780521627837ea1a2b76b718b8eaf4839b90dcf722e1f607daf97057ea28e6d5ce6bafa814450c21a9b1
-DIST firefox-78.11.0esr-nb-NO.xpi 518531 BLAKE2B 4771a47af1c9d571c3b4b64a363072bea71dc0fd01ff64ef5b8e987ec976e74f923107deb2bfa4d37c78977d7d623458f2bff56adf6e6c14ff24f707b0d0864a SHA512 c1c7f80e04292c596d6c527a70e13685dc650e487161e455ec5685cfd46011d099bb90e49c55adb7a18f9f4fde0d07fcb9383ebaa6535a2b4818a37944b7d42e
-DIST firefox-78.11.0esr-ne-NP.xpi 483412 BLAKE2B 26dca10c6b452561a5a6c43160a62e3cc98346032bde346c7d34a3810509f508dfa33914016db95def0117b283fdce7990168f78726b1a3f645fec5d555e07c3 SHA512 e6c59b96247922fc19d9c5c83e425fd0321855078d233e1e0c659d1e35f742f03f0942f11d045356d94c1cf4c291ba2042d29da434d62fcc862be2e2e49c2348
-DIST firefox-78.11.0esr-nl.xpi 526205 BLAKE2B 371c26004ed153afa9fc347a43228854a97dc64acb42541c43d954b2871d8e26aa083b2c09040ad66cb90ee42560d9f40fbcc69195405f1d8d6f1063bc8742d4 SHA512 13d38d71c6b3ba5adc75ea74181bec1028132d74f38efeac868f262304bb042397ffe29221b7a3f960e99cf4b742a4f7e7f6c60b48401267e8a49885e83b1961
-DIST firefox-78.11.0esr-nn-NO.xpi 520145 BLAKE2B 85577e4f9bcb1cb1458acadad234dd98509339b481ce66a8e1731f33c14538510a8be352f5ca557d7f5ece7f3ac1f96c3d07031250fc88cd2c0cacbd1a8ba500 SHA512 488d3e3b05654309893ca02cd47e924ac8bc9bd8540fba4148c111c7b2bed459f4271e777829733802980318b2bc5fc5f3e56ee2d559bd820b7857e4c4f13f54
-DIST firefox-78.11.0esr-oc.xpi 542146 BLAKE2B e69f3e37bfc8112f74f316258a9e466f21fd807f8e261630038d00b565ef0197254461a738c8fcaface40a5fe966e9ac3ebb14d2120866515c6fd50f459661de SHA512 a53f385c15a64544b8eb2a25a54e6773e8490f2be24e11235e6d11cd39943a60b661cd34fe7d548aafa7f5647d33af960206329581a2aa5c847246941ea0cd66
-DIST firefox-78.11.0esr-pa-IN.xpi 580369 BLAKE2B 843061ff3fa36733dfbcd387091b894fb9a97a062c09aa50e1ed128cf426f216351a6f8124631bbd4b33a17392ee6d93d4eb4bf2f5bbc4848a608c6d414f0d41 SHA512 123018ebb7b17af2343cbbe793fbaacc70abfadcac51841045939c0dbbee8824163f437b0642cd29ae67a2d43e4085b3f4d93790c62034f444d97ea5552c4c3a
-DIST firefox-78.11.0esr-pl.xpi 545618 BLAKE2B 34d80786c9cd9efd7c098c497768a57318879fd74f9e421e770c2dc5e07f40c3e60b4b9b5788c176288ead5e60d349d567023825301c19d0150017ec9ccbbad1 SHA512 758dd62d0ab41c0581271af6fd5d53dd485581ae7d7b0a5171a1b86371f1ec5c5e839e8a7c3eaf1d798e8471fe3a73128d55b626c7e4f04b12bbc1d9f7f5c22b
-DIST firefox-78.11.0esr-pt-BR.xpi 527580 BLAKE2B 000e64f8cfa7631d02432ef8ab7e0966959c27b31b60c9ee7b8c835f04a938bf217192f6acceeba8276751fdd509d01563eb806060ff66ab42311ffce714e682 SHA512 ac9262ed0cb860c50133985a3a61e5bc250cf32f382ec6edcb1a3a07fece2c32be83ba7c65e9252fdaa7a31e355b92d071f9b70cb975a3f7b2bdb4a99b7c92ce
-DIST firefox-78.11.0esr-pt-PT.xpi 532041 BLAKE2B 962c4fde5d32a65b553f2a680c0b7194cb147f26884b94a62f4782f5353edf22d8948a480f92ad03e040d28137382cc9f0eae8d1c64173655228d0fd4eee7f38 SHA512 1019f38b43d4f927e7517423b7a80aa35c4f3a68ffde302edfe4246e66d7b36d8a58172215087cd23691708c4889f964a0e8963c97ec8b0b402f624b13ce66ff
-DIST firefox-78.11.0esr-rm.xpi 526727 BLAKE2B c68b159baec0daf35a7e9c55917baf41eb76e11ea80d61e862b3406b6ca8f7eb814386663e6b6904b0b0e7078db888c9e5a5d00d9610e96c34a0cc80504617cd SHA512 034308373ea6cc8dec37144fb4ffb3c219a6da8473e7378f6688af914b89cbe0a50f82cd583b1097fd9f936bc58766c9758614b311702455db091eac97c33f7a
-DIST firefox-78.11.0esr-ro.xpi 535581 BLAKE2B 9621cb86dae765ce36fdf79f38628c411ac52529de74bc4b45eda1f9139bc5808a46d251f5477a033871c8463c16b78e6b518524d64234b394131406ec16c3ff SHA512 5663db1b61229041b3e5578058b860be93f92d0a8e32f8dfd09ac67d9b37433c37000b87b7ef548a6472e628abe08ce2aa03fbd6e7d3830a55b8983525f7051d
-DIST firefox-78.11.0esr-ru.xpi 614598 BLAKE2B 95c043e5aa94f925b34039a1edfbf56a32c16563a9e8adc3e00f6766483324a0ea64311684af7c46b30a3cc1f36991ecabbcf9c24f41f72fa3db8ec05455f5cf SHA512 e39d18ef5e2446df7a8ba65593cba5a98d20a65fbc653647ce6895447afcd9066bb9b78bc67c38a9033fc9fd92dc0f7b50d21f386bc25b28bf01ba55299eb183
-DIST firefox-78.11.0esr-si.xpi 492528 BLAKE2B d58bcd748fb539ae8c1acceee767d425d74b539687e355e02957adac7ada8914b682de4d6d4804a9c72ef969781d2a0759a1d9c15056bdd82052a7d51a0937fb SHA512 045eb8af4ac605af448da78e4881dbb6212b73956edf3390b959eb32b0f48a968f81ad98bce5429fb56df83b2c8d0747ea776dcdca87de86a38b1a687492940c
-DIST firefox-78.11.0esr-sk.xpi 534235 BLAKE2B d2256665a9bbbf293a990a43ceb84825aeea26a44d19d26dad97abab2b33f0ceac5022835adcc9a3b7084fede17fce74f54b5b2a91e73f26e2a230933083bd64 SHA512 2bf021e6dac9c8fc6c916707eb66d36e633ece6df505f40d31191cc64d58dcf124bf764bb2234277ade7551991ca8e5a66bf798f9d2daeb1b443d96a2faba54c
-DIST firefox-78.11.0esr-sl.xpi 520931 BLAKE2B 41e396986b5b5c2eeef9ffd4d3d41e8146e449872e123f16830618edcca1f8e1de6ea8bae7e844fe98d5868dcec6697a8e462785f109752110da9bd155e9c173 SHA512 c119dfebbc9462523b42cfe12330eb24cb24b6b15ea3c106498c2c11f788f82346eca08e38fb86984509a45b38984d791b464051eddde4db2de60646342e65c9
-DIST firefox-78.11.0esr-son.xpi 424592 BLAKE2B 23c7db38b6b120c85968b249c1941b6809399f2bb93013c3e19beab308ab377ff893a8417701fedd1bc6b6565a2a71c01fa9eb5af4d16c7299c9a3b48b41ca29 SHA512 60fe6345d2433314ecfcfb57eeb010c77ef3b3d91c2aa73bc735f2c8be32ceb126af69574dcdc0b1871b1f38c8be4a179fc3a8493c38d6383c8c4733da68a1d4
-DIST firefox-78.11.0esr-sq.xpi 544904 BLAKE2B 0c1193abfa9fe4107e0cb84184377dc237b5c49458a0dfc3a169f56ed6bb3a91b64d5ebd8a45a1f6723115642f558c82efcb77ac8f44b2d3b02d3f3f60359980 SHA512 67edca77eb401854d651e5c926e1906aa5ff1f542360fa333bec134eb216f1b25975778e6d2cddcf9295ae3a458681ab7ce86c64980edbe2a8ddc7c82f635482
-DIST firefox-78.11.0esr-sr.xpi 561399 BLAKE2B b9d35c16abd775c9cdc7dbb178d6b31241e6d5e4c04026b642ddb619a905c743089285f5a2b22b4730464d44f67ddcd57c5ed01e7c101536bba14abd0407e2a3 SHA512 fae0c9d4a23e75b2c42debd23c6dd75afa4c716d615d9a0339b6e5e7e5c58b2df33053280ab470181f952e3b0fc8822daf56cd32a9af89267c48bc88b4ae1d79
-DIST firefox-78.11.0esr-sv-SE.xpi 529701 BLAKE2B 8d96ecbc1cdc13c376a4c9ebc257fbd01fe267b4b4963197b0f9111b5a0f0e2e89619198a973bad54e5d7c96ccb18aab20bf07e2fe805861a7a1b377caefcd22 SHA512 ea4d4894b3ad4677ef4a2aaaca8acd28db6871556c6551657176e436ca9bd866d5e9b07bd9946772ec37a45ebdd0eba39416530042b484c038fdff5b088f38db
-DIST firefox-78.11.0esr-ta.xpi 521547 BLAKE2B 773132e40dde1f581120e1c97b214c33e4890f8dc2154c1baf02b9d7818ff8be2bbab5546ad8fa6d9c7d1b9c9091ce96fd47ed2b7a57a899e32370b8a50e1b26 SHA512 d6c14daeffb64007a989ecf915294daeb6892e501cc4501dabaaa76f9b117e23bc10da23ab5f41e3be3f1ebbf7c8193e0cdfa08c6cfeaf16ecc7463585b9c998
-DIST firefox-78.11.0esr-te.xpi 558415 BLAKE2B fdc9c213549e8449ab0dea28338d592aeabac7e445cbe0f2ac57a48e312beae38bbab22ba3f2994fd89e29dc6087ce3c3d5af18b70eacba787260770cce7a0df SHA512 d253b4c840a03663f03d77f6dcafddfdd251be5af393d74753b2e95e17f591ce71361e77fb37fe4599d0cb1de18e9edd2fd6d06d2f5534ac763970c58faa3915
-DIST firefox-78.11.0esr-th.xpi 592239 BLAKE2B c37a0fa43c8040cffa385d1cb4f23146ef2fe57df6463354c3b533cd856b44b80531579da53e0918ce38062581aa89948cb6fc9b4f9ecd4668cd5e3659b95c1c SHA512 19bde374533a290dbca33a57dba655f8b019f409f99f04f932d16c47288ca27cfab3293382efba4b4420a84d39599b128929ef63826966205c5cb16ceb926721
-DIST firefox-78.11.0esr-tl.xpi 521123 BLAKE2B 240cfcad7697e7ff58115ac584320d23a7122c3e2ddb02aab50b4d4cd8cbdf63bd3206cb90fb757ee6a3b06beaca0b62bdc2df47726aecb288dd1ea0c2adc8c1 SHA512 f98cc31e55851901773b52a31d26411364f9fd2536823b2b21465ce486b34e798bb4e49135662c811b30d2b136d6e6df4a4c9a25f44d4c9c766a675cbdbf474a
-DIST firefox-78.11.0esr-tr.xpi 539883 BLAKE2B 90b3f6f043f1cae99fbb4fdacdf90f4bf76fe332f90abea0b992149620cdd6e8e0508b87bd0637de9777b700edeff4707eec2d78681e3cdadc5578e1a6792965 SHA512 829526b0ebc7b02b786b54c3dca05ff6f506bdf7326f79d68e71eb57fef0915174607945cdc4f5c3fa480a0e2ab262d8ff732c5e8a4c4af123a1c71bee2b2e66
-DIST firefox-78.11.0esr-trs.xpi 501226 BLAKE2B c3cee10b4987d6bf8a50b65f58a70f50b040784787facd9082fb8ea7b08c4de849e107c32d45088bda756632b8d53798452d8c3fb731faca10dd72924935a440 SHA512 7af715facefe60adfa6f3b83e0deea92ab2a71b525986125c5053aba8209b11a0ca1ba3f5a9a2fbfd69202e27e0691b03547cc62418f247d20ff878603d53063
-DIST firefox-78.11.0esr-uk.xpi 608591 BLAKE2B ec73fd8afd7a139caf91315950ff0c9bfe35d695336eaa807b80ddd477365a6d2a67285f568c2984eeb91d5f625d4e462aed2d81485e54737bbebf362dbc7c72 SHA512 0a32fdb5a0975f79de8a4d8d93da80ffaf7d31bb8ece301e6df88acc2f16c2de46dd1c16f658afe2ff5901f0cb2b73ee638053c16f181df6291b0617e672c64c
-DIST firefox-78.11.0esr-ur.xpi 557954 BLAKE2B 9f1bc9b4ce94eefe33d70d01db4b46b3fe75e7b5b28affa866e87c2bebcbb595d10fd343821515b824ac8c682d8646eb806f5453ac29fbc4bdab3c0fe81cea6f SHA512 a6599d7da6ade73b09bb1f89abf47937d4772d6c060d3b3f3b049b5c66129c17c01e30148787721c255e89b8c2a141463dad7dee2486d031471f847398b79133
-DIST firefox-78.11.0esr-uz.xpi 477559 BLAKE2B a1981f6aeded9be08a2502ab88dac552585de7fa16a6b022fe592130285905599f06b1725c4f5e10535f82160f7b9070a785f619b5f2aca9b8327205cbf65846 SHA512 6811de4a950ca4d72b3567e4dd574651ea7138a23d9b927fb2ee7414a3c4ca40a4142967aa99b6ab69ecca6cf1250ba7a17c2b405b8095afa2633390ab45c97d
-DIST firefox-78.11.0esr-vi.xpi 562862 BLAKE2B 1563fc0ce49d784985f4de6015dd52f6c30f70ce245bca8b98c43ed2500881c30f3606c6290c889ff33ee962b5467eb6eec80632cf60b8105872c32a9f57964a SHA512 ae9b647b80ea1c1d4cd96385f972798d4d40da395c7cc63f5db1ef0d48397eda6bd75e1e9aa8f70d72fdd3bee4c4a2fc99147749ca05c3207d23f047ca1978e8
-DIST firefox-78.11.0esr-xh.xpi 427833 BLAKE2B 484282b3729b6218e07bb153120c50c8aefdaf2b8adf307d990a28f795069906f452088d78d8b274d2872c1e98612dafae745041fe0eee4218b1728d1f2018d4 SHA512 6f24d33b00abd875db1472ffbc52a5efebc67a8ff29732d098ec6b80c090f26953eac1a5693a86acfa16816ab1506662b29515a22d354bad265893eeea2dbe7e
-DIST firefox-78.11.0esr-zh-CN.xpi 564767 BLAKE2B 6a77c82c031ae8e2ba8d6ef4f294049f219bf573e678fc9fce4b23a19a89ab9d15487e760e809eda5798f5ed213d3e21c20bf34782e201b1fe04e51d0af078c0 SHA512 f2680016d879ce3ebe93f308cccdb59d40a850641e6e433a3b7620566591877746957fd541b49e466d69ef708f4422bab26316c4632459b4c8c1546ad5581a89
-DIST firefox-78.11.0esr-zh-TW.xpi 564742 BLAKE2B 3357a373a38d89cf4807ffa7d306091f65397f97ef3346603493b93e5daff42f0c55826d329df8d1bde7ff104862eac756aa811a4754d401448638fd251cf0f4 SHA512 08290cc90f946732c63aeb247ef4babc90128f04dcf3c32b623d0d822941bef9df1a2239c5bc1d067f04e4ba099cefe5255e4e43750f1053e133773258a68d43
-DIST firefox-78.11.0esr.source.tar.xz 333002576 BLAKE2B a8268886f86afb41b86d227f8a8f642674ea9c0a85365acb517c6997099dbddad9779efa772cce645da6443a78d6e94c89a750152386f8dff7bbbf31bf5df129 SHA512 d02fc2eda587155b1c54ca12a6c5cde220a29f41f154f1c9b71ae8f966d8cc9439201a5b241e03fc0795b74e2479f7aa5d6b69f70b7639432e5382f321f7a6f4
DIST firefox-78.12.0esr-ach.xpi 460283 BLAKE2B a00bee0c7f0ec9c27454f618c0402721db074b6319c1b0964a5ccde3710175a20f9a6727eef881d8d3db7205b2f7bf5bcbf5c050c39cbd20f95cf23c6ee480f8 SHA512 6542b5683dd352ecafecb42a9bbdc438cdd927deb9e1c8f55f52a1c12690d1ac1281c379ed7dcedd6a62b4ff37b816b5a7870b0aa9a725444640a87b1e6749dc
DIST firefox-78.12.0esr-af.xpi 428351 BLAKE2B b4f671687a03ed5e12e5c805b501ad3a975090168a60d4549326cfae17d0e31cbb7458e8118a8f85d566a75de97cd2b7a0f92f77f21e9b4a5cfd57163a54b163 SHA512 fa91d12158cf7d41000c3cb4beb0290c4fe760e5dcd27cd23d77b228f509558830ff4d2c29248bfc08f69c0a8592302cc6aa59fccb5b16f292e290bf9801f7f4
DIST firefox-78.12.0esr-an.xpi 508377 BLAKE2B 63f4678044c1ff6088279a5fe25bc7a0eb0fb8eb8c2ca326c14ffad242be91892e8277bda016e852d61834bd095408d9c822e329918748248e4f8f0864c64718 SHA512 b1cbcf41150858ec827d485ca819490907d5604ceac758d478a5f39a20b1f204dfc674fa5563c25e8fd93d85f83faab3673e4d08becd6c628d1d8c118c22bbee
@@ -190,495 +94,8 @@ DIST firefox-78.12.0esr-xh.xpi 427839 BLAKE2B b6cf89388e45ca74b4d3042f9bf30535cd
DIST firefox-78.12.0esr-zh-CN.xpi 564771 BLAKE2B b745ddf8c8ad7686e5ca7142338ef4b2f2e362874d9b087c4f4980f4d9e96f076bb318e0782c8c2404c00e71f585aaa76b26da0e369fb02b9121402b5471fa06 SHA512 cb707c11c8c0554e6255e725ab5c68f3b15c2d34d85f84fc6ab4ee7eae83fa91b35be282d592b845f09539ec43d1dde8167bad1eb24b86adbbe236c72854764a
DIST firefox-78.12.0esr-zh-TW.xpi 564742 BLAKE2B 3d4b211b35c9aabe2c610b621c175bcfa4fb0f1ba4af607407b9002a475407f53cb8f2e7250a96fa93abd5ee74bd3ee5b0aff01a91e45ca7211fadb2b03e5e1c SHA512 a241c3af98170e0885b63ec0c140fb1ad7749a5bc762b7154b77282d33bbcf7926550182d261e3ac4b0084d4b8d98b30111dc459f3cbf2d9ccdf9f6b811222b5
DIST firefox-78.12.0esr.source.tar.xz 333737488 BLAKE2B 775a55511a48f4210807d2648833bca6f95d9f4cd48b5d0de8cf0bf2609590c1615fca7ff855ae3643a25466d131e15dc293e6a57aa05e1d91d2cf819b0b89ca SHA512 646eb803e0d0e541773e3111708c7eaa85e784e4bae6e4a77dcecdc617ee29e2e349c9ef16ae7e663311734dd7491aebd904359124dda62672dbc18bfb608f0a
-DIST firefox-78esr-patches-14.tar.xz 82976 BLAKE2B 08cc3618c8069f4169b7647e7eb699153d558bb89f8a4f1ed74d5ccd339f77119cd8f253df011f0c2f255ad889b65e843171d7559f469788463ca7e9aa2e96aa SHA512 1611c6f9d2c7d586e7b53810c1cfdb2682f5d289b1b019b71694b1ab2d8bbdfe827a73cfaf59f7e4808c0b90409ca4fa57e27655d8cdf0c578ffdbad33659f26
DIST firefox-78esr-patches-15.tar.xz 65604 BLAKE2B 86e421e555ffd5f7f201d0f1a1c446c649739c67cdf8dca536efa115e09d9c357ce1551b7270c77e8bfe7dd53e0f3e6386496283879cf5e0c59b3c864951ebb3 SHA512 b229e895f083a0404cda1da0d8ae937429d5975ac52ab20e8b15611d9c737381a1076ebfa8c8a127dacac0e12a2a905ffd579facde2d80c6facc911e5739e34b
-DIST firefox-89-patches-02.tar.xz 34192 BLAKE2B 06d54c82c2c9202fd176ea850872be626d3da38cc42f14def0a29a18f4cb52b851b7984c3880d35cf16b66cd5316d8a65212d6242350f1bb4f981d5deb050e16 SHA512 0e43645a81c75dc22da7091e00b9a1cdf055d6b4c2ded7ca1c15badb87fcfd29a7afb43ca0142627388d81c8728095a41b7e2a5983cdb1ea447269d8e6057003
-DIST firefox-89-patches-03.tar.xz 34700 BLAKE2B d2d7bc89abc5c6e3f18fed724dc81c347f99cbc8c162acf50823c51ab62a0fb8c54a2be8f3e77d928a3b31d806d5407b374152e356fa98f366c0f33a7f0781bd SHA512 c20b701c1d427eeaea4856b0e36ebc57a1a6e7aa676c6c34185ed8b597d744da26fb889e6170ca3c82996de9ec1b5efe16e02d1cbdb3d1562af92f272c18243c
-DIST firefox-89.0-ach.xpi 467444 BLAKE2B 7620cb550d3f7b980cdf45ed15d2b964fdcd125c794a9f2b78892dec5d0250d15428ada892d5ac75223d6fc225aaff0d862624b7edc98e91549535b0ffbab909 SHA512 dd416ae0e9097a293acc6a70b2d857cf6b9ad65ff1d54d51c751cb938e7e703faf117d037ed3fc84b2e2108884369a803f7a7745c86130682ddedd3cdac81de5
-DIST firefox-89.0-af.xpi 431273 BLAKE2B 5bcda20dbce7e0af3afbadd46406250647f13b43fb38fae5de471e9c993e3f1a0f5e562042ccdf169ceee1796f94570b30560012a27dd1f9a544bda9a0407ea6 SHA512 f18b464c4f1db7e6a28570023ac503fa4daa851125d3570649c9cd02337a3e08266295450c9c9d6a31d93045afab58750bd2152e4c94133cf75e29d638b66559
-DIST firefox-89.0-an.xpi 515265 BLAKE2B a1495c217bf92f5861a3ce8f6f1d3d5e43a6c48a3769e9b0280a7643badb649d560031965eb469cfee466bd75680c6ef5004ba3678b8e1a337d987d02b7c9acc SHA512 3e86112841abe359e490a415eb596a5f2b50e2ae5d5fb99f0d608a54b03eb35ef3986a6adc54046bbf89163ef0bc17862e90f78ebd18bb6a39bb111d05216843
-DIST firefox-89.0-ar.xpi 580093 BLAKE2B dc4542f4269bc55a849e5a50b3faf240c4299a5cf053cb31975d9136a6a622c753f3d76b697e839cc013fca7ca443aa6b79a66669ed83606dbf812420538c45d SHA512 60d8e158de33ad00d0180bb0d11f19934551f0b54970fac998e56d47f8da02177ad7be59eacd004a2e36e0c438f0c7e1fc369c48e33a96435e7169d105061f53
-DIST firefox-89.0-ast.xpi 506057 BLAKE2B 6b40a25304c24c1fab9d6fb92d5912c993bf2b1749efc4f8a69ad677aaeb97d710f427e37f43dac62f05059645915f1ad7d8672cd1541701720b1e49ed870294 SHA512 d9f9d783e0a62748923bed45a597346c19d849969accab27e2b231ccea00de7433a2cae6fc5d6ff889386e52961e544892e62b79a065f2a2adb09785a9586fa5
-DIST firefox-89.0-az.xpi 503312 BLAKE2B 31f602cba632617ccc09eba7530135a2323d27758bb28367f678ca66fe354b48957e7b7c33bee468e681baff126222950e8a1678a5d2dd89cd4106359e64492c SHA512 23be6e07afc040eecb277cfc1c7472e8d87eec3308569265378a98fb64db857c61d2370af3171e2fd27dbe130b9519f98f9fbad134570a102d8d653106313e88
-DIST firefox-89.0-be.xpi 631192 BLAKE2B 23761f04e55195f50a9c1a47634c1e0b089b739fea768af98f8873ddfc324f68c5bf762a3c929b3a7a6b9cf08554546f0f1b74467416484876da0236fceb6df9 SHA512 c9f7060a7e02dab1e653faecdb417ea362cda8e16811a180dba861ce6a435f913028f7e15e4864490513ae606da97a4a306fa6a2cbf0a731cd7b6fe9768c2bb5
-DIST firefox-89.0-bg.xpi 576970 BLAKE2B aad84ac50e3a5eca260befeba09ef099a8ae4a175b4160a8c9efcb80c00de656c9ac0ac88e4e5305de5342604447adb66c73bdb82554392ed272700c1280e909 SHA512 ecf27f9757c60cb35575cf9c85014cbb50a5254bff50cb6a67d2d7ee9f8316145e4c1ad0a128a21dca7f801d7252723e8bb776075af70722e47a1f02f9443e75
-DIST firefox-89.0-bn.xpi 579296 BLAKE2B 007183f8214ef8a398e7a8bbaf177cd6443054a2236bb59999b20c9c851d7727126b1acf75d6f13683f480895c74b022691d9cce55ef39148baf72b54b808bb7 SHA512 e1416e626f5e2257b5b42e417ab568874e0a8f0df88e8e14b8d0fc379da2ec615b1f7d83281e89b4d302a75b85229e85a7dcd6c0be82294db4e76ff64f8f71a8
-DIST firefox-89.0-br.xpi 527037 BLAKE2B f75b59552a833d0b527c0a0cd7a96132e31de3ef957aed056d43ad1c3f2d6534ea1dc12b5929d54ef3c1f3925166609ed691467efe186d334cd0e962b1f156ba SHA512 5c64221b0f54e61625425715d1d969782ee8b2e8d20f84c4332910aff29c92a84d9450e62ab290df131e66c5b9972c19ada9cd706e00f2fcaae16f06c8659416
-DIST firefox-89.0-bs.xpi 472172 BLAKE2B 8c04c8fc80a3073d140165d186771efbe71cfa09d6332865f1389ae49461420848a749a3d15403a90792b7fb8bf6b99802c8460e2170afef54d03b6722dc326e SHA512 88dc9783914253edfe7ab1891e633de2124b21ae977183a158970163e808ee2ad511cdf690f05852950b221feac0dbcb5bc2045fa72caef8431bbfd0b5b754dd
-DIST firefox-89.0-ca-valencia.xpi 548358 BLAKE2B 4893c67291abb0b5f0ea995860ffdff5e87146af6fd7d78e5c00c46092902ce5bb15939d2147c595e331421b55a0353a30cbc65e7b6c7358544999a1e388700b SHA512 86a44a82faa05b56e5d06e35853c38be3d22311f3753e7384ad0d25972f82dc6ecd78af963d9157cc6069f8b1b039960d16ab42b40b06b67f5ef31d0a2d7f44e
-DIST firefox-89.0-ca.xpi 540877 BLAKE2B 38886de1ed71f4673e040909ce3594a20dc187d26a1e1a4efa280944a7e12600039d17cf13d47b7be0ea4e190e245fe99cb3ba227e40c499ab53ad49a681b70b SHA512 6134a2c547b13a9d9d1d36bf4b9958d0301a99383ed45efd0719bfb49407c8d6739d3df453eca1fc82c7fef85f0bf30d93a1161e630ebc1f9a91b753a032d904
-DIST firefox-89.0-cak.xpi 572312 BLAKE2B d5cf23c2ecd65ae92def715b0f1678ab61cb6d36cfef3b2fd286b673c9bd9f3ea3b20f989b7b7eb78e53ee097bbf3343efd1b641c39e0d861a61450af6cf43d0 SHA512 856811d0199374bb4a01e839d83f19143079007e0da1409a91b94571a817bc38f5a5f0a1a91dfe7210f6a0cdb65c52c440e307197a02b28fc4f949e54b55e77f
-DIST firefox-89.0-cs.xpi 572805 BLAKE2B 06076a677b6aa7b238a9dccb269324682ba2ac42bb099456b6697a8abf9a92fa418d7ea39191fc350d60549babc5b0fbcc6b31bbdef4301460d9a2824b77829f SHA512 f63932b8f0eac207c24f3d7cbfb94a7fdb882767897903ce9e65adb5edeb4af875ace61ea933afb88d9977cd8aafcc1ba3eb50c61d2a7c2d785e1e6aa7d64d84
-DIST firefox-89.0-cy.xpi 551348 BLAKE2B 5aa137e9b64c34b578a85f855fbd4617789e78a10c281ef2dcb8a82a12d884d85b2f5500ba0b938a610a38ba014ebd786e163378e6f78bec461a497e58664c1f SHA512 e17f524f0540f34353c59b802c4aa1458e89f75c92e4625d668b5923b2fd09f166660746a4d7c5fcfd1bb2ab002384a07a2d07d05edd133acf51483f5ed955f0
-DIST firefox-89.0-da.xpi 543288 BLAKE2B 98d6e15a624211ac65e0209c35c7306aa41f142e7fb8472afdfda5f60b92a8f19c2e9d14982e48c60d57c24f2c56a4f7a7137491fc300cad04d4c351690a6c70 SHA512 cd72e36f9747ce3ccdc29459c312abf8bbe67bd5e1ee0368f5c7a428c4a6b3dfa073cfbc892e38d225755898d259d0069bfa4ce882ccb5a9aea1dd6574c2e716
-DIST firefox-89.0-de.xpi 563045 BLAKE2B 3df897a9abfa893d5432576ed260bf04df212878c38f8a9f954b8f1e62694f964127345a514764f18669714921b3276b3f18860dc8d9473a4d7485644d61986f SHA512 e204d0ebb7058801249b5889945f67df60013fd3f56cf57e9d23bac37238aa4fad1b9eaaea863004dbcaabb890e0c30a80e55f69315d75bc569c2ea60ccd6bbd
-DIST firefox-89.0-dsb.xpi 575725 BLAKE2B dbd465778d01e8702f0f78b1be2b446b03dab8f604c18defaaca1b2883dbabc87bef4d0bf690fea1b14b045464dcea43f04fb64a090c0320cbb028e6f5fc41f7 SHA512 ad6d681a51a153788a86dd72455e7e1148c6887cf56975f664f9da3c32514491c8f8b4f848e05210377c5cdba4bc327fe42071956bbf9d8571f433f8fdf695ac
-DIST firefox-89.0-el.xpi 649167 BLAKE2B 755817f5bd3d5d2e92c0d2587f850f16ec6126af21b0810e0851a0f83820d8342dac97cff1c9a5b04a60cde53495fcc25556eba329a4ddb0d5100ec13a69dd8a SHA512 906592944bc2a2fdc060d125030b0ee0d0976995c7e3685a7cd50559a5d03dc2dde2ceadfda041a1631a688da105ae24708b8b7e196c494fa7309a3a91366a14
-DIST firefox-89.0-en-CA.xpi 517781 BLAKE2B 210f4b1ac73e4909f862e7f6c86938a07648e52474a0a146f7702b8a15eed4818a1aa0019ca115d7b8dc7465a72ca813cb58f4b1292df44a848cd0c99ffdfdf9 SHA512 72d130ad92ded6527280bc4b28041ca9deb8da18f04843853bf463d7b9bcb01dd0e76dfd5cb0a67cb356743264bdf921c5961d2891bb751247fb31b7816efbc2
-DIST firefox-89.0-en-GB.xpi 518774 BLAKE2B 2b8e0d0ab7f0c76299fbf5092b07f6a10ba89332361847cc7f3f526ae7cb12ea503d7f0793c4081066d1c56aa56c1e92431ecd21e819344e2e3289dc6949b29f SHA512 922cf46a7d9409a9ba3c7844f8617ace13383279dee1a6a6a78e7254e44edacb9958d486a6b597bb6dc9fa765a22e5fd3d20cb391ea94bde0e744efab72bb2cb
-DIST firefox-89.0-eo.xpi 543566 BLAKE2B 5e67e2055d277bd7b97f252ff05d223442349a4ad62d1a005cce1ef268e8a06c7c775948874938d8c134da2a7101ca288130c431d3fbd3d0af6d94c867c305b5 SHA512 a985a486e1f06da900deea570227159736f4af6df0262c5e4ff989641ccbd616e3f4d29b45ffdac39770ecc33556564e6833857a529a6706acc76372f0074c36
-DIST firefox-89.0-es-AR.xpi 556496 BLAKE2B d8b19b5c37ec4a268a946e0866eda4a2c59c30384bcdee6bc326012d42d68472cfcd242ff75a8fec11adb963a308a4a8c3cc7296c82fefc6d6c50ad8fdf0b828 SHA512 27f02c43e047a1e29eef36f3c34c2663b18842528d9a842e3c38f0a3c390f3cf40f8d7e3e1d686293795a9e4b61adf86ba9fff550ff4ec9b65f7fc2262bca759
-DIST firefox-89.0-es-CL.xpi 554620 BLAKE2B 2c839e0927d6e7b9f9a05cf72cdd592f083e8ece009b0fb8f94bcd02992a96a317ff8a437b0f5785b44055e0b17485cc1d16ba083c61d3f6510c11791bc921e7 SHA512 117efeea143c49c6fc0991aec1b1f3b015a8fcb146b1644c082f39c8c06d427e57a7fbb3642f6f5309ffe7c651810e71f53d0000d07ee9dea70f31387c6b76cd
-DIST firefox-89.0-es-ES.xpi 545105 BLAKE2B b9efd0008e8f54587ab5ecb30cf5bacb2440618b8cc7da9daf2d9f4c6070b9bd8aadb1408cf2f933f1716aa403ab49daa9304aff060b36c0e294639265948379 SHA512 59d231f33eba50b9d3031ced9949929b06a6af929471c4e06ecdd933c9726fa5fdb84ac333438ebfe421ee718fee4908f355600031c736dff0818843f21b144a
-DIST firefox-89.0-es-MX.xpi 548396 BLAKE2B 0808ea1a2f2ee5a51966d6f3f36c73a8d9d4f4e92604902f608d256cc48e41d9e984bac919266066a8c6cbfcf83136acfb29356c3668a08843e03a4c917d128d SHA512 39074ae46cdaed70682de46ef59a2c60e4cb6670436d3f3dcc76df825c392fbe17c67a1b00b9cf75ea740aa95c13856c07a63f1ba3532c19d354bfb94088e2e9
-DIST firefox-89.0-et.xpi 496460 BLAKE2B 6b50823eeec0e44e0a0eafaf90b4663e0e17096195260497653547ea635eac67701eb256ae9e3f6a3ae6c3bde4b814c286b852930e98457cf35f603bce3d1762 SHA512 bfdd02e2d41b00000e84f92977958f87abac95375abc54866861ade98c78ca35749d3b9edd32c1384a5c4da33b0939ed89464214b160c277956d87bd6f98c7b7
-DIST firefox-89.0-eu.xpi 544153 BLAKE2B abdab27c63fe941d36ab271fee480d2b17567e2ddfe0b8cdebbf83692a68715a1c52917e55d4ac14f711e764c8dcda2e12fcfed49623cbca3e0f117b3b7db2c4 SHA512 3b466fc839801a6ea0403799c83b14b143cd5c06bd9a0fce7a9a6831624580f7de91ff306283449c53d6a195108ba2fea501f5a9394adaaeec4375b111e7f7ac
-DIST firefox-89.0-fa.xpi 561129 BLAKE2B d9b44f6c29a0a4a3a6cafda47716de9d0bff86f4e3c139f0e86b02e0db6f0519b289770872de6eaca3ab8b9564768bd0526c95b187c511553505f326380b1c83 SHA512 542f1ff846ff47dcbabc19479cbbf347d674580e5d081f21e0108c964ee00455cd1214fa45f847906c4084c24584c69e8e824655a8441198996390bacbfebd58
-DIST firefox-89.0-ff.xpi 487850 BLAKE2B 488c6d93dfe2422576d96f8454a0982108227511bff1977e7eab17a0303d4f631f4e3992dc732b3112094fc9e19b84592fb41654f5ae82d33e1c1c5a809387a0 SHA512 980aaa3ed22acfe77f12b31762f101c41a46ee0e59dc41cd9d7a7873d19f42843db5ee151a3a9f73d8c11b6584ce1dd932ecad3c15d991c4b55bdf8d13d45522
-DIST firefox-89.0-fi.xpi 542136 BLAKE2B 37a07892111d05ed46fe567010aff69c23f437137c8269a743dd1138dc7658bdcabf96fa17bb5efa043bca753d517728627b43276c49aa874c911f5a4c88f118 SHA512 5ff3e8394a032f4fc35507a823be3121cf9504a5c8ce968c6580c594f1789adc5ddaec1abd2683dea1f4e09d90e7ea2de989b8dd60e372fbcbd838e0060a750b
-DIST firefox-89.0-fr.xpi 566466 BLAKE2B 69394e105115e98e0ac64bd7b9aea3c5f8c22cd8d19187ed9a3f5e763afc2b7c468d1070280a16c1507f343cebf5e05e723251a041702c6dc3c84fedec89f584 SHA512 fcb19c37ebff5d0d8124dcc7b05a5f8c9ca0e39ab6ade05b6a8879461d42f050227dc974e259606dd1d8ee4789e6081f6d647dca3ae58a326cd980fa01daedb6
-DIST firefox-89.0-fy-NL.xpi 552202 BLAKE2B bb3a9833acdc53f2442349d3bccec48dda81c642be9b21c4e0c901c53a6b74bb77d7676a07e9d91516c72b91f436cd59d2c528ad126490b8c9bee72c0f1cdc51 SHA512 eeefe846a98e844dff152d34fc609b98d10c8a0fa9b4d936ee80f4904191ed66e1d7e752dbee6ee5e8ddb94aaf74db82eec73582a8fa56a16b2798c38b14ec34
-DIST firefox-89.0-ga-IE.xpi 472857 BLAKE2B e3a2392fbe81bd61a19ad2a922137c51981e450b85d72a9507ad7ed1a53d1c0986f12cfdc02b8af9d5d1618527bcb358b5afd4500b0efe6486a06ea5706803bc SHA512 d9df4c6a41c25f51a88bede7e2d771ca54a31d56692b6843b78aff55bfc866ad46f39545e1beea6d46d65381bfc25fad56510b2dc4e7e8b9659262caa6f30ce7
-DIST firefox-89.0-gd.xpi 502210 BLAKE2B 6b46c88f465047cc111733276c56ae06ba83dda907bd93f7ebc0b9478ecc09ff5885147e3d63a9f830e9f189ca1ea65f832d8c504d08fcb8e90d21e2cd8b3048 SHA512 26ae967973031bf0aa9f9dc90d3d568af23d9e8fefbf4100980c8583f9c9ce54505df042b8c23c6de41b37ee865f39b7139e2ce19f661ba6602d7848566c8e9e
-DIST firefox-89.0-gl.xpi 551076 BLAKE2B db921351b3edf459a3ea92b94b25f74dc94f4b905db617e76a4ffcbb634f74427e33720ea549b0cbd40c89b34efba26685c7c91c502d4cd8d916320f95b68e30 SHA512 951344d72c127f6f2c38659b459e14e3ddbb392e6e6893871e186b9cf319675261d65c7aae7603da6dcbdd7caacf4303f2cc6c8ac3fb62cb93d21574e405dd98
-DIST firefox-89.0-gn.xpi 567486 BLAKE2B 1119215b99e6f8abf5d498ffee4ba48ff22dae13a3a2ceecccffa23bd5b075ad2ee4ced43f835f1ecdee2a1858c6c3cee6fd6ce2c0f7dd8621564c243a257ffc SHA512 b7a3a07ed1669a47bc8f1f449122b6c5c438c70d415aed6828853175769ccaae09b6aafc32d5979f378ee0b6ce5f058945b300cf8c67d7b395b6a63174afbd1c
-DIST firefox-89.0-gu-IN.xpi 547170 BLAKE2B 10ccf0a24d88c23ed60dcf32b166df7d7f81c56abe1863ed1ad5e17e360cf1bdd8fae4b2c063d798355cb67745f2b26820c070ab85e57b2296b47b1f1466112d SHA512 555c6e5f6bfc1bdf5f79c92aa2e81d682829b1955e8089fbfc6169358172d13372d38291cdc7e1931686ebb193c0396b0a5912a5e19c6dbaf47512c939dc7229
-DIST firefox-89.0-he.xpi 566472 BLAKE2B 103b71e94c9a115e920f4377ee9ce1827deb3b7ae851705a70a4cfa595c3d9a3e89f9879c541ffbc0255b18ba0f068964227ef66d460538a7872f4b6a7ae0d29 SHA512 e7b3bbdc3c36e0e8f1244dec3e33db95f0b35b46f0f9de9da5c6ad68afeac2cfba34861767e1565d50308260ccefdf2cd5a2b7f8109aed9893d594aa334ebfc1
-DIST firefox-89.0-hi-IN.xpi 579120 BLAKE2B 7da8b6ba3e20a26bd9619d955fe1b031962a327ceb6e15fef30d3a9c791d833e3695605a94f81cfbbcae2a20b2edbea804ac74c8c0074da36347ae5583fda078 SHA512 341a132fdc118004af5e9a5c4cf612d1e97d1f998bfb38504b0c9cfee665ad55b428c73e47f8949a15bb158ca30ce0cbcffe5cb72d89620e465a1c0d216c5e40
-DIST firefox-89.0-hr.xpi 547981 BLAKE2B bbfafe8af7161c138b598e4a098470a48dfd097daed74a92e98782585af400cfea905a594dc03e7183d15cd001d1a488ce9647e40b20dca491298c1461ca8622 SHA512 dc9b9eb6e865781a7b8844d59c5420bf2f077dca1a080d74d8020bc0365be38e172414e7d1688035a85822c724377653349ce17e64c2b1e4b0842ea2c1bb3de7
-DIST firefox-89.0-hsb.xpi 571862 BLAKE2B 8aae767f653f1a056d11cfe64135fc7dd1cc4f7b7a7cd0860ab36cb817461e87cedaa7404a14ef2eb04550468c4bc316d9292a922b772948b8c39bd905c68170 SHA512 710c1859cb15fb3c370dc5d063d63508fb16bdfdd274e995e00491ec5d64ff16ff73b91466dc4ef694b9b9170c66fa50125e348c130dd8ecf5b9fcb34ff927d7
-DIST firefox-89.0-hu.xpi 575477 BLAKE2B b67aca1edd96a9a927013aa4c6f6adcbef092d777573e79a07b438a7499a078643f17f933a5675d9091a5a78659d5dbcc7581d51b004e12ed035f28766df726e SHA512 37613893d6ea3162a4ec55b680099051a98125ac5d877268cce6f834e28045eeb09cdaa01d5eb6e208d312ae09b45989c7ccb67e7faf29c498f0f7e94261f069
-DIST firefox-89.0-hy-AM.xpi 599171 BLAKE2B 496177baa604245c5f251777eae2c4246dedcdbdc5fd7e171e65e484543d9eeb3255535ef1892873983c344c54d241fb24007ee348bbc1d7fa1647eb2c3b7c0e SHA512 3e03f45b55cc8dee73c9708a98c72be287dcdde76ecc83439f243a55ae20f9ceffb265dcf9ae6e3cb86fb75cb6300dce2b1624b3be41124999e0e9008dbdc9a9
-DIST firefox-89.0-ia.xpi 541186 BLAKE2B 8c3e84bca2e916eafc9ef4d03d81fcaa8a812f11f02a5b463c3148de91549b44137a0f6af5b988ddff5815b99615cc9dd5260e8527d8e559e3db9e73bb82b472 SHA512 081fedcb3911021d79fa52ad1573bd939f83696de5624930d52944926cb26aa77142349a09baf74f1509d1ebab583572d56dda34e78081d41801086414c39520
-DIST firefox-89.0-id.xpi 537723 BLAKE2B 2b3b3816ed799a1f3aecd29ac2bacf147326fe54a556ea17f7d9e69e7aec2899da27cb83ab2a636e2371ca0d1d64934e26c118ab57ba4f6c8ead1a4283d23c9b SHA512 54979f34425a3ae55407d099fca30e6293a29a82ade6f3ef7b3ca7187f9414c96e1e339861ac5d6224dd8a379a53a4c1ea845356e42d0d22e99d6b0ebd139a03
-DIST firefox-89.0-is.xpi 483449 BLAKE2B a75afd2c51ac04da1d0d6628975b5744c1ddab6a94d32356304945dfab506f5f351f27551bd4171c6a2eabd3f50cc973641efa4e99f4e0176bfe8700547bf857 SHA512 b42de1855aceca779bef460b355d4413ec5677f54e5f037229dfe14c5de56deafd36288a83ec8710ba5247da81aa4bba3ba97c579dc6f83e7d25ef5dd53fec4c
-DIST firefox-89.0-it.xpi 469422 BLAKE2B 54638dad88408d0abcabd6b50ecf5a38fd85ed4f916af9d94a5f8e668cd53c4814dcbaba633f850021157856a44395ced3b06a2eee0af9c8d60480dcd83a9c21 SHA512 226edd1bad94e895488a479cd0226909bdb37e73c2de2f78a634ef463fe455f91de39f7332d4a68af9a9a0598e53ded553afa841e4973ba18c26eb2af9468dfa
-DIST firefox-89.0-ja.xpi 601275 BLAKE2B 563424d6a28553ed6082b6016a73682ad2691e27f85aa0881fe61b5b03ed6b21e74ba8ffa62825ec66e312a5c1aa1d34a63020aae4f5e253cd764374fec0a5c2 SHA512 fdee8a09d425af6f2c08323cadc51d7d73cc40d49cca075317cec96da46884dba45359192e1a219ff16399196e838a7e0b4bb0739f886c7f9ee7f74cd12c9c27
-DIST firefox-89.0-ka.xpi 603273 BLAKE2B 3c97405156d4bcd1612c2a8fbffa6a26ae6869c57b140a3523ee4c987f28144ae0c0d87fdc7c1731ece65072a2098b82bc6840b9a27b2b69ab030326cc95668b SHA512 dc408827d387bee04f0b49501cbbe54646dd7a9bee4da6034d22370987f384e9bb774a0bc8b5d38e3fe8daf290ee76165d9957daaf363068db21c2e034d48c02
-DIST firefox-89.0-kab.xpi 559616 BLAKE2B 37f1d4dc09a709261bbbe9076f070ecd67441df8f0470b3a907320826d708c1fec33ec7be38d2d33fa4add74123bf06cd4e17a9577afa4a3b2fc6dd20b9e47d5 SHA512 21065337584695324e0658e9ab536dce4f874ba95f7fdf23344045df522cf1d4044f403ddc2e77a482e14a62e87ea8254d1abff83cf125263c27c9ae584406db
-DIST firefox-89.0-kk.xpi 618863 BLAKE2B b58201ab0ad7998ca7dd8e0c6133f97b473239c94c47f44216b274fabae7d78994d9701d6a13a22409af26bbcc8f105a28dbb7e7a4197497f5a9a38a8b81d940 SHA512 babfd593996fed02efd165a80d92c61da773d882bb76fe0e0b901784f9900b472812fff47bb2830de2058869c432e6932704ea4197f374de92aabe0f98e4c16f
-DIST firefox-89.0-km.xpi 543106 BLAKE2B d6b22c64a503a5b9910d419092234bb0664ed316b2bca79a724683f68956fa9468463758e52a14d9dbe8fcfff32111386927669dbea2f259359cbf629448763e SHA512 568c78ce62b893306c1ed3681612821048c89aa562402e4eea874db11086ffda2ebf5a872b8bb6c753c2a61a5d11769a0b29b66f5420b3e4d53b46bde49a4379
-DIST firefox-89.0-kn.xpi 510229 BLAKE2B 83482843a00dc563e759a1b8769e53471859fa843f69e82a5e43a824c3378535d82d9510dfbd5bdd996a5e40e8f8dc6289891dc614ff2bac400a39dab00a9722 SHA512 43464538a8495a2f3654751b12bd1f5eaab7ffc365f0f61f54315451cd85d3413c4f5497dc0bb65329cc90fa774ef83c45adef195a07020d5e511934cb008cc6
-DIST firefox-89.0-ko.xpi 587144 BLAKE2B a70434b3bf11877c71fabbcf47708c05c38844190b473964c9cf8011cbab8dbc657afb59b5c6807aa2a537dd3748a0d1007ca6b0fdc39efb2eff61c9d01549b5 SHA512 ea401b49588bd7e4b42ba9211d2d2d05adba5b027c559d50426caf72336a96d9cf14f8e3eae01c6322d5696c7cd82c90c237053aba1660710c3bfc4d73b06228
-DIST firefox-89.0-lij.xpi 481899 BLAKE2B a82537d943bd5996884da7205c23e9af89f72bf848810bcc82fb23a18d8fe00f26ffc3baa73320d85350d0a42b49955b307ff0a1f5cb03dabe732dc854118326 SHA512 647c051f6faa92a83e37c480c9939ed94667cbb34e9db7964bf043f8742fdf0cb4e6f4110341da4bb7df0c1355bb32b09cb7dfa97955cfbe30ea1622030c5760
-DIST firefox-89.0-lt.xpi 568939 BLAKE2B 0ecc128f2635249b18f53607b401312e3a9383052f75352599c1ae2de58985bfafd2d56906775e0c079a47c24ed2bbf9efafa4069267214cb47ebdf5b904d55b SHA512 4b627f4e6240821174b990bec50eb3b2286543cc36f6be3202240a60f59eaee44e2b44f0979994de67715070a7c135bbed123cab75beccdd4b43fee0a8dc8cc4
-DIST firefox-89.0-lv.xpi 475440 BLAKE2B c3de085bf316aad37a1b2c9dd22ad49a8a8b32817002b9c9c29838c947d3775985e35a045476a0cc47500927b869f9158f13d716980e7086d8e61563bc4a91a8 SHA512 9459adfe10f203699ef773b2640a92c2510fe0edf348ba2feace9c892c57dbfe747925a9eb4732b00c802ba70e5635590ba15e49ab82eb6ec7973e49b8099b2e
-DIST firefox-89.0-mk.xpi 471211 BLAKE2B 7dd9ce39d3a9a211eb614dba6276a8cf091ace29e3823a70a8512a9b196e98f99f1edd246c9a0eb176c64a142a3e9b7a4b96a16107869e1de6862cb14cbb6b86 SHA512 c5b78492baaadc0f64dbe4a1b78a4636c866fa1c5c0b36634f80544c9fbcf2f83198a2dd7fbdf1100cc997ceeb59bf62ce8a88de20c07b96eb95b743157c0120
-DIST firefox-89.0-mr.xpi 547355 BLAKE2B 1d7df95907362ab7e0f3c82d47cf9a474de931cba80dad62a4d6dd555ec38f09e2e6c0ad53156774dc7cce914dbf96ba37654d0581d25e6ae49747915072358e SHA512 525699485c51c85ae92c81e539aba6dc7425687ddbfc53d442c7f43c2dfa214c89ce2e80c9a1ba35b56c5aed49718bce3a687d40b382b29569316a92f441c2a8
-DIST firefox-89.0-ms.xpi 459067 BLAKE2B 0e7f57f65f7f5885cccd38f33de852d00232a3731330a3914802644418460a31bdade5b6c564e9aee153e351e2bad67638784a7733a813fac819352392a88a2c SHA512 101628191ca8cb59025b610210f589656a0f54be54b381fb4b8207a862899522ab6d251cf2f21fdfbf93acb89efd57b3b017df420d1135d431faff74774aeb7d
-DIST firefox-89.0-my.xpi 530823 BLAKE2B 2aab1ce79a8926b0faeaf18a3d1093c6fbbefd6796f25f4546b1f3049a59366fb080eb9a9d0f2b4c7a09771bb69bec8830419fa3baf87a57a0247ccb2037285d SHA512 3e9e4d32c62471f084b76bc73fc6b0f6b4bf0373b2009eea6d0a5f6eed0402ba8f890328a9fbba1df25d04321c4e37b1cfc35aab68f2c5fdc1002ba37a37244b
-DIST firefox-89.0-nb-NO.xpi 537947 BLAKE2B b881032a2e687de6c909301e078afa776b5fc9e36f5af9898bf70cb94fdc09063f80e110b908d390629df7bc567118d54b31872992a06393c5334e10eefa2e05 SHA512 3b811680d3d18c7ecf1818917938b7b21ee5934bd615bc3e97244e49ef4b176d4cb4a83c38e633c9e9e19acb2e3c1bd768bf6df26467c1bae148f9f3d055d3ae
-DIST firefox-89.0-ne-NP.xpi 487881 BLAKE2B f3244fce1c2a7f95f1521f67cee4fdb7501af89424560cc5abbe3bf0c40ffab908737f632a7d76edd5b17a938931ffd9846509429f75a79b9c93999f3ccab9ce SHA512 fa5097259aa30fe280324078fc78d51b5d3a75f8270fa2caaec70f6dfc69276586cc2d44ef2c9b3cd253b87f03e60eac6015ef54cff7e5e49bc5002ebe96f4e4
-DIST firefox-89.0-nl.xpi 546008 BLAKE2B d1d677590a822e8cd1d1c7ec451bb1290f152c0084830f1e645858baec438e86181bb386f7606dab197c997dd5566c8a8e22411cd7fadbd7539fb13d5b016118 SHA512 314789b591c35c4463c1559d98bdf1737527e153e4ffa8ccb968ebeb81aee7818f566c668e43f095f76667962ca346dbf412ec493c457f7fcfcc29b01508f2a1
-DIST firefox-89.0-nn-NO.xpi 540491 BLAKE2B 55e716e2baf59fe65d5812fd57c4ca2acf472a33c5fa2cfa81810ca55d92c2fffed3d08b902f23a77e6b39579efd920b5f57ab164b9dff8f7546d8811a873730 SHA512 7bbf8c48923d577598fa2b94f746f912a123b3ac8413687a34c1a1be7e5a931ebe49b67676dbcc465595a0ef616058f8dd26e21c98cead6390d223f324434d49
-DIST firefox-89.0-oc.xpi 562502 BLAKE2B 6732d9bcda5cfc957f1ac6789d560b45f5c1f93cc8dce6dc742321c101ef9392e4afc880da973d601a2eb6cd1445f5e936c8062c89c4a6a1138e7998e519a950 SHA512 d0226549199784ad1d2858f637cd748aef3286b1bc7cab6996d2dfb27e7f43410147e85f5008adf937168f55419a24802f5c2d84acfd893892993e3e2952f369
-DIST firefox-89.0-pa-IN.xpi 610372 BLAKE2B 1a51a6ae6f8059a2d801b1a3f2a9838f8c2b9c99bf07f2aedb6a0156cc32240eef601226355650c4d0528c070445f0c76577d452b376bcc068becfc0dc9fa68d SHA512 7a88768a7c04aa87d8feb909ef65ef278846647b6a014b2b66b3b333b19797a969804b3d023beacaae52d529856adf89a0ad7ca84823db607019560995128dac
-DIST firefox-89.0-pl.xpi 565556 BLAKE2B 9f534e793f252c0b8c4bf4245e0e27512e6cee90af40bb2c73d839b892f131d33f8cecdd32477eec0a8059c59c7e752e9657874aa239f996357488e4745c78d9 SHA512 d43bc7b2c60abe866003914011d8ac2e03e4fbfb332ac92ad6d8327ab69ec5e423accf0cc61d8f1052325929b4583e76a029d8b8cfcbcb8e012f26ad7c84639f
-DIST firefox-89.0-pt-BR.xpi 551777 BLAKE2B c110e7173cd8f08a6a80f0f2b7a7b9f62e5d5b7fb4c8ad865a84b552363a7441432ef76746ccbdb1cd09ce778cbb07880d199b47e12e45036d3f27b2956f5908 SHA512 4ffe40da04ecbbbb04541aec49c61de4e6063aed1e72679a40bc3a50dbbaef04c94cb9e97e400044c61c9feebdb1a067582ddaf212af3d207fc77bd443743072
-DIST firefox-89.0-pt-PT.xpi 554258 BLAKE2B 49f46537b3cfc45cd088b5cb84449130a991cbb31cff5af45f41c7cb9cc84dbf115f532a112e9b7ba03f421aea5eb2c6e00958abab50a8e89b9247f7d19ef0ea SHA512 b419a87a2c21e5f976bf3aa74ca7b8acac6aae135c6c2f577de531e45bf26be52e0671c54e6e2460ff17899abeb0d71a7a39037f634043e5824de39a24ccd24b
-DIST firefox-89.0-rm.xpi 546488 BLAKE2B 847251192b66885a35010384c03f4ccf63b90ea51292c9802d5b9e3d8fc452361cd57e8018ce62e0b20518d35c47afc47b7fe4cc0585bd90fac47a8fef52471c SHA512 2619e0079e10cab7a718725ed4b3b016f14f78d643b6dce84540ab9679065ea541ab3c2c23f66c9327dfbd355cd4e8c7a127ecfeee85f5bf962474920731d65f
-DIST firefox-89.0-ro.xpi 539729 BLAKE2B c3e4246a57b05ae23658d60e56e869dde6733bb1f0af73ceccfc953557d770aed5be01f9e3128c66863faa3aa883db9df9fd1c53060cfce7c5295b3ab93dc569 SHA512 a8a9e48ac09ef84bfdd7645724d01f6e63f022ddee9c0a29f665e09084bf045397ad1de8cf89353bb34f68c0bec92919d3c343892f0223e070640c2baef6f035
-DIST firefox-89.0-ru.xpi 638010 BLAKE2B 80c13a906d27ea5e4047d62acb44ecc10a48f9fd4c46e96a16d2f4510ae1130394a73847251e238cecac2a68d5f2f811a1a4a0ed10da4dead9c24402f293eb9e SHA512 3bad5ac71547379cd88be14e8544865b0ffd7fd2984587da1fd367c28cd354512442e7b5d21fa139b6f549772088e7a7b82bd4366c3722c862ec70f24d8791cc
-DIST firefox-89.0-si.xpi 496809 BLAKE2B e905c7eb52359b17c624a2aaa00468a01f2df4ecfcc2410657982d32f41dbd0e7c86f6ef4e6a0ea7982abcdf760c826d1431eb7f2e7e2a1fa6009017905ebf51 SHA512 97dc99fedb9d7d651c9e89ec1bec43728fc3c42271962f7091304d46d038f554b3b4997ca8b861064b1bd01bf62c95a4b75c28f2b0642e17b492214adcfd3135
-DIST firefox-89.0-sk.xpi 575285 BLAKE2B 25bc0b37265067ec4f38c4556b27f292f98273112737e019f9eb3d657f338196c618a0206db2ce05749ea81c14541058f1ac859352b29b77ec7647a8e7f71ab8 SHA512 56ceeabb43fcac2c6b888e0f6b1433ec508918127271cc52b68aec040be119f05ab603be449c1943bb40e47acf0878bcbc1b663a416ffe2e6469236a00efd940
-DIST firefox-89.0-sl.xpi 545282 BLAKE2B 88be79bf6d1bdbcfdccfb0d50ea1b9c3aa03d350ed43b833e02ba8710b76eead3deaad9b6cb822fa01c1a29cdaad97114cb5ddc0d2f466c8f021f1dadb1e3a4e SHA512 f5676e2024207237bdaff6b62469c389e22e09570d8dbbbb71e7afe8329600684d3a0dbd2d22823051784f62596517554463d78be70f61113049ffee45025c43
-DIST firefox-89.0-son.xpi 428542 BLAKE2B 33c6803c97bce89b2ef4ee9376bea7c0772b99393833ef82a7af57bb2b5d3c768ac4b1c40494a785cd138fc2b33c8db7046a4a877ad466a77fadb3c56db6166b SHA512 abbc213a378b680b41d7f7a935d095a7d28e09055fc9bf59c755e655f858173ebc151721f6af37870e282f1b0c7c742b7259663aa2badba30bebf437b044457a
-DIST firefox-89.0-sq.xpi 565304 BLAKE2B 67aa8064682e40c4e99fef3ee938b19de2995c87e1628c8d4d3a2dfb5e94208d8d0b4319d6035d028b87ae1fc6018e2888e1e1f730e88e2d18596b9fcfc7789d SHA512 05d275c69947fff92a3176b3e88f98466c8d5324755f570d7343c17a65f532abdb8014a54f6d065b98b620dae4bedcb4bfd5d3e49f6b9f0b5b2ccd590164e482
-DIST firefox-89.0-sr.xpi 597862 BLAKE2B d96bd51525d754f17221a3aa94e7da9430fb20829c72037b1f5d122a4a00202a91f5a82f49963abbeae94b56f88f7fe78b9cd696086f9a3fe94cc8df593e2647 SHA512 57e7d3448fc2959a557679f551f57b6512727934518e0d54682a8dbec6b6b74a24246bfc91a67d2e498a8122abf5cbabbc0f666e8c4a4c6aaf17277ea8769ccb
-DIST firefox-89.0-sv-SE.xpi 549181 BLAKE2B 96153e3d253401d1f6c8ef39c941a1cf43e183fd0417cf0b37b44eb7e7e6aecd400f9cb0344ef2c7a2ae8d4d8d87740317348f787b498bf56ba5c6891ab4274d SHA512 1cd09e531388618bfa9fe93b85eec4cbd798226901b4c3e43f1c21fd3f7539f8a9c4d1909fff8d950ffda11ed4104eeb6700f8fadfb8a42a768a43f64d28ae50
-DIST firefox-89.0-szl.xpi 523026 BLAKE2B c99f61e8f3dc4e3c8167f8af42a8316953c166d8daf05a0b3c9c4bbd9432837d4577863b96a49e45148cf467765f1f7c699faefa9278c11be1d46c384b6372d7 SHA512 f6ce141428b7883ed45cb29dfae458ff17f8418a8e0fdc4cf880ec297d1d884e1f6b589cd9505282f602e93f5e12e3fea8eaea18232b6be5163f92755eeb27f6
-DIST firefox-89.0-ta.xpi 526049 BLAKE2B e9eab0d2709e7fbef61ff9c124a603c10a1dfa79e297be84a8cde409f5933d6024bd87295f8ad596949de2804eddf09908533dc25f9b83e001dd41cdd093b1a2 SHA512 6e05c53571f83819947943863eb4dbd6d1f32699888e64394dd3ee7bf8d26045a88812e7dace8c41f4e27576dbd211acaffe41d92c277ade6788a27ec7574ad1
-DIST firefox-89.0-te.xpi 568332 BLAKE2B 4d013e3f6513b741bc7304516b04ea1b9e3df4b48a2c16fec6c43843f6d9f2da34dc70f3d950dd45aa5d22bec6192d8bc11a9e4df2d24b3bc5b6de10b00113e7 SHA512 0437c18f25399c9ba58b6d9defebb4bc3807576cba49959a758c82e228bfcccd94939553480cfaeb468f3d37955600356dd8cc1dd34a2fa10df9a36adbf772e5
-DIST firefox-89.0-th.xpi 616899 BLAKE2B f5c19a77fb6c9ef34f441ee25cecd09e3bad498feebde34ba25684b04b9a7f038ea31e6705cfb25264db6a3f849e2cb06f4979903149444d90eb1f5364950ab0 SHA512 d7aae1798c50ed9e7e6ec562a156dd5203c2d432d32025bb32e0f96372b29e556bf49c9522990923568d3a15c87d1b651e26d156d6037c383c70d1504208ed24
-DIST firefox-89.0-tl.xpi 527819 BLAKE2B 5eec252b959e390cc80456c7bd60a440978d262b59eeda89f5cda8c464896a72e74ff0024b36fbc67ade5f035d1af5af74da8989f4c636bf9edc471beb85d6c1 SHA512 14aedc8a4060986d2463804082077c6377e59d443b431dc92ad151289ac20582a53b9b823544f8c0efa26aade34d8c18ca61db862e1bbae202703f8e085da00c
-DIST firefox-89.0-tr.xpi 561422 BLAKE2B cb630d02e498e02bb226dffc7a6a7e34a7bf72791554b631e3c4dce25b4c03d4e84c47763e0eee6c82204d41c3ffdc5ee0c23b7975b3ea47d08a241876901222 SHA512 dfb1a0b2038dfd503e06b35638aa016ead6d488130367cd28000a5071bf405087f4bb8a39d3d0350137caa1854259eb416c3ce8f97e759845e09bb6fe4bd9aa7
-DIST firefox-89.0-trs.xpi 506426 BLAKE2B 8df9462ab766e41debe92911d0294c2123d14c36a174c497540c54387075b57a207c394288cf2c3d08891ce73c6659b36d148c5803541ee01044fd432c8ef978 SHA512 bc096c30117afa919d44b30db6b312437cc6cf1417ecbffed760153ba2341d3efa6c3a11e26ba88052a4d960e4a8cebef8b276bf31dc6683704c9dad07bb63b1
-DIST firefox-89.0-uk.xpi 631757 BLAKE2B bf77e6433fb141adf4a1bdd91070257c2c816b25efdbabf2536f3b53e284011813ba5089310000df6c0db01a5e98c6ea3d7cb3fb0c483a602492e770a45e1097 SHA512 adf417c6dbf8d125ee55df0eddf2fe2ff719be96ce53b18e3b1928bb0f223a6d86756347a0d8a33fd4592a2c419fb52b8410ee5e396001b70b2edbb945a606d0
-DIST firefox-89.0-ur.xpi 568635 BLAKE2B 3a2cd526fcb97aa36c5ac37df7ce6ff7e3d11e47e04da60ad968370e053b2597474b957cb8043a674a61d949c8bf9c51aab86ba3e094e7bef18204500f405247 SHA512 3d9948bfceed9e1551d3ea45068cd13318a7ff3de9383a040df5d7d062540a7fdb0b3e336a9f5aa454b18ea23454e25d97e80f42471485a2662dba11496a2a4c
-DIST firefox-89.0-uz.xpi 482812 BLAKE2B 80fdfa568013e9e036e3215f1c8ed1079f53ff9d98882cce41eab27b2f2e282e943a217df4bb0a4b697aa74866eaf9190da57fb51c5a3db822c68eea0178cab8 SHA512 2656f1bda76a75e4bf54a45dd2f55672e6497666254593f7a9fe07ffb1e24d3a62872a718affa04fa9ecf62dfcda6d93c401b428123373a5e35ecd3dc8a532b8
-DIST firefox-89.0-vi.xpi 583128 BLAKE2B b92515dc39697d3d3519de3767f60ac955334c10ecc4a56e88be8664ef5d0bbd59f22f5dfe6acd906c389b217b9645f5f70e1cde4ca06e1612e95d57fcd23092 SHA512 d0f59864e9c12d88e084c40ea508314c86aa850b823dceac4de694b92f399ea076ff7edcb01ae5e8641f0ed527b2ca435317b73acc4d2e78f9bb692dac2ec4d0
-DIST firefox-89.0-xh.xpi 430715 BLAKE2B 9fa6c688b9f4eaff2b128b58910cede20b4a83476d283d27326be66eeb137d2c571a3ac02472de7d54075a6886c064017ab95615e706b770cc9ba320912c4846 SHA512 77a58649b7bde95fc52472ff1e3a80bf127d18200231c68c992be2e2dde8dc093c1f5ff0d06044f55e6a62da68ff29bf14e74eea7bc79309a9b67db3c9d8b1f3
-DIST firefox-89.0-zh-CN.xpi 584729 BLAKE2B 14b90888a13e25810bfc47374941fc1ada1b39e75e98e00e71d505c91e2e41b463f5b83eee73d69fcd782a7c258215daa56977717eb0d0bb9bd93ef7baf426a1 SHA512 71b1c4ff073ed3f5417abd8793b764368817b9415966fcbd85b1c43be9e242fe03472a59e7f5a2a8631840d806932e272326bba79f4a54c1e69c4d582ab6295c
-DIST firefox-89.0-zh-TW.xpi 585191 BLAKE2B 61325e7e8d70b5c8337084e4a950275566703909e3712bd53dd50345f1ad956563aa84db7aab0430211d070bdfffb781d9218ae59c8c9ace96b51ff1b6eedc04 SHA512 b38831845954791b1f60421a97356e31f7479f1d803e50946fcc86c925c1c25ad09db557a3936de1b94c736a0753b3b78227e6044fb7574c7ee7f0184e1fb512
-DIST firefox-89.0.1-ach.xpi 468846 BLAKE2B e51d1edeb3a0fbfb678ff6192627cd676d2154a3d53f9a7223d7190443774ea2d32ac3459e210cb54fd0b358c9cd608b944841604df089659ce33ddc7fda44f6 SHA512 35cb64ae3bab45107c4b584b38aae39c4993e2f4ad70bec57cf75530da63004ff965a79083b8b83743e063df70296405167bc14a39f916168af0250fd3f6515b
-DIST firefox-89.0.1-af.xpi 432009 BLAKE2B da8e61b4292a12e8d72152b92b21d70be0bff3c08b42caea036fb3f7ae724e509052f1b8c4d33777c981ace0bbd51d8ce2fc199abaff07298ae73fca0190175b SHA512 1bef8b4421119ef1ebf221dfa6c05a17c8f639fac1fc86965ce1e4b1027a95de636afff3b8a1752b229a27fd8dda31371737fd0c3950d296965a0864f2df69f8
-DIST firefox-89.0.1-an.xpi 516751 BLAKE2B 68fe7ecc22d8a44bae709e9f1aa37ce98c5da495606cf747cebadda98bbb1efec86b90a6f4f0147d80bb5b4591891794b907402281fd17a3d1f0982865e8f6de SHA512 8b67070f63a34d92437e2d64335ca736646261b4cb900158c7f21f65b0c1b63fc64cf8cef7796ba05612b1236a2ac55a6a3fbc43da2ca94d341587b29887530e
-DIST firefox-89.0.1-ar.xpi 581595 BLAKE2B c93262513b5a38c0e497f6f447d58a2d488a5bb4b7c11795ecd8b11a82dd2388e638652187e6a8697baeec23979a5c1203fd428cf19fd55ad6d56afb24fa18e9 SHA512 cc553f83b5883439d892e1a2a6de15f65d4a6ac4980ea26c84fe61a50ba140956cdabe319c8336c9be8ba6042ea5f5dc3fac8cea01b337791bbfc4dd1dc7bf81
-DIST firefox-89.0.1-ast.xpi 508458 BLAKE2B 34ee495c32e3ee790c1d39006441b9cb92f89cca716ac1cd53cb2e59a671a97c06db0056a1b1afb0e7515447b937b92dd5c3d2fd58db0cd2651ecc4561a0386b SHA512 d671deef87cce05c0ea1a27bae15f1db478a89e939e4fb2a57265f129a405f90aa74d9f77a1252707d313965abdd0aaee51e5cdef7362558a81669e0100ddba6
-DIST firefox-89.0.1-az.xpi 504821 BLAKE2B 99b81ba18e9eead457e5b54631f8d674d30fec5085571bb75921352d6dde30eafee5caa7db2e0633a3276e9a198e271c335ff4f343e6f66f04bf05f672fd9fee SHA512 22073a66cc3cab0120c6dd43a101c489059bb99ef8c95e13e6dd9f350cd4571855d26e28b87724dad21f3deef8c46d465f86028ac4b548988e972f2a84142dc7
-DIST firefox-89.0.1-be.xpi 634595 BLAKE2B 3ccd0189a7e34a24383fe07b0add77a7310065a0d263a498b3ca1854aa9272b6fef536ec3cf5c6e97a6ecc87b9e8ebc9ab7a9aab32d4c7ed0b4f67b184a00579 SHA512 09ce5978dfaecf9a2bd5679578ba3607e98908bc7fcdb49e931b734c8b50f31ab374b003f46ceb8fc14a5a582cf8fb280c44d489d9e7daf2fb0715a31de5ef2e
-DIST firefox-89.0.1-bg.xpi 578538 BLAKE2B c112cae36ef74ecc17bce3f3438b01e51c8e3cdbb553daa5d8366bf720380304f68ee0b2db785b9825f54f233141474fcc9fa16cdb311fb6cf88a4c8f25fbc55 SHA512 959d5533e1d4f12e8cdfa9460875a1eadb1bda4af71ab80f5f9d98950729bce55f92d21cc782dc6cac4c8c4c8ca262b265c81d8d59b1f40bb5540159a016eb21
-DIST firefox-89.0.1-bn.xpi 581034 BLAKE2B 416b40e423bdb277797e26f959ad9ab12fd40b24d021710cd270443835e098b65c39869763954b18f9a0ad030cf487729fcc632044a4cdb98cde9d73b11bd40f SHA512 dd4f96d81145c8028b2423ef25b0a0ac6eba1cc871d0e300ec8e3f9e728b44ba90b37e7356fa10a51c800a025ceda1fe941c5260705294dc0e63eb5c9aeeea31
-DIST firefox-89.0.1-br.xpi 534207 BLAKE2B 3ca475a42409b201414f2161258ac93b0dfae3f0cf4883578875abee31c4fee9ea2c188d12e89e99b6d581876991669c09424c1d0f275b8cafe508d0b45cc233 SHA512 c53808810acfc304a40f7375a9a508d2b54f82dc7b381f64b5a5963661a42670d5f0f35d4d4f3a5b06514c85b229e4bc77f5d9ff68e3a86ca420f288f27186fe
-DIST firefox-89.0.1-bs.xpi 473653 BLAKE2B 10569965de1842007f8c18e28797efdb552943f8f52c29bd3f56a6416c63509f24a492f55c5d92194222435d8a401438f77d6ef5b79d4aa6d770d256474dcb91 SHA512 579c57c210f3cef9b86836c8736767c4e8651f770d583e6800fce85362c14daa2aa1aa6fbf5e8133fd2a39511ed5c3ad9a82a1166b531a92c08888e227933080
-DIST firefox-89.0.1-ca-valencia.xpi 549784 BLAKE2B 1835bacd538fc489acd2a38bfa8dd3fbbd9054a3c48d8213a0b62f3567e22d9b1d24b316835afd454b2f43259657b05c26ac7ea773a4f60017c3ed792c03fa2f SHA512 6587f849532500a7efb6fc4e80643d3297defc30d501c721781d985d23604dff352df2b0762935e380a73e637b0d8d13dd08fc962c70328dbb0ee4057820cc0e
-DIST firefox-89.0.1-ca.xpi 547294 BLAKE2B e7fe9e5db343d357858c32a24f1ee045f84a07c3f94f4002d696acf5c1ee68a3a3b2be63a4ad6f38dc931dc1528ae6d5a3000738f0dc0573955f0c8cbaeed478 SHA512 4864a16d3cc7ec31dd9c5870a9d17fa8f2d1b738e9b401d4fe330d36baa3c598f9eab8f5761f99942e5668e4b4030e61296f6f4303e7e44f4212027a1cd7d9e2
-DIST firefox-89.0.1-cak.xpi 574177 BLAKE2B f187dca6521fed545089be06b31a8cdfba1d4036b20d979ba7d29aa296ef0b2184757ee7b97631a0599ace3431feac8cf95cd1d567f35d2752a9bfa28d4ca599 SHA512 a806d4463b93c41941c9cd2b8b24e52547895b7f7f4fd9f91e64b5a19fec417df88d0c87c455d24bac07b0f978d1f44a571b1def049bc196ad9053eae1107fbe
-DIST firefox-89.0.1-cs.xpi 576777 BLAKE2B 4acb2a4618c5397a6151d4ca6ef027493ca49a09fcac1529860118000fdf55c6e48ae50543e104175a49328f09af2073c6291f7788bcf23dcf5b65d5aa0c25b4 SHA512 752f96127d68292f8ce611c39dbd179691fa7e14267ff214453280881d4875113584ee9f79dbd4fe4b47849aca1e0866066823e9320d9f028f4bd74d85e65374
-DIST firefox-89.0.1-cy.xpi 555421 BLAKE2B c0c821c344b9f744dcdc0e56e15ddd74988bb828fd1a550fb66a6bada74bf8672eb84d4f7a0d8190c20f1add4a09518e6d9fe58b13516c5b0b287d1b553e0c5d SHA512 ec4c8fb890e780d6f53a1978755d9fd951f7cdcb4c4ff854039e23dcbcbd484dac91387d4ceb962810fe1861d70541f12c4104297eb75fc9cd2a0d5e9f6cbd03
-DIST firefox-89.0.1-da.xpi 545133 BLAKE2B 2f9be4fb8330103405ee27d971f8b86543990ce14ce6a2c8f1843e3c7f78197cd2c22d165a9743d962bd49d3bc1ae43b02fafe8422e5ce5d8a6baedae7aa751b SHA512 5ef06a3b5959f6b97a2b0dfcbde1df2c314f24cb232e1792c9468cab257d6f3d00999b649d513ab055816f314e6c2a9092cc91e4946d34e77a166d4a733c9a3c
-DIST firefox-89.0.1-de.xpi 567248 BLAKE2B 028485f22c0a06211afca8f8f9d4e5e98d41ce40b9d201a1138920f8d71577947f66aff490c97cd2acb90e6ac6bd2c6ae44912acd10738b9c2ace098db3f8b71 SHA512 6b25c6691047faea4cd63c27bf11385c7105a64bcd05b72aca6b68b93b76d0b2f0d8571b74516737372ef4ab9040f0516abee59b3093642bd748226d9d80f580
-DIST firefox-89.0.1-dsb.xpi 580247 BLAKE2B 2c0d40e5d3745703e741f36e3c7a326031a35a7ce19c98b15d712f383f97f9767164e656ec55abb3c05dc7c0844d9bd7af71e1888969b15baaf773473f709458 SHA512 ac79d8be607eef80d476bebe0cea2f253a083a544d06a49158916099a75f2e20faa8ab5c56b7dc281bab1c42539bb0c32673f81e453d49965b7f625b97012d18
-DIST firefox-89.0.1-el.xpi 654974 BLAKE2B d9cb5e6b978a6a315ee23072d703897a5b82f5ecd452f8372e92abb18f654d0371770702e12e18ea9550341928d6939d5f07953dcf88e9d8e5027da108893a74 SHA512 46f72ce5f5490fbd8667264a96a08d99ffba11450737d621553cc69f46277dafb3f535540e5d3f58073979cc3643f76e4876fcc0d69af14f5c26b2f01e6de85b
-DIST firefox-89.0.1-en-CA.xpi 521300 BLAKE2B e3490cd384354d31711b82db9b7a3fc95a0a21559a96ed6e67a997e071775502a274adbaca56bdccaaace4c5a6ae2651126eab01ab13eaeaa925dbe9fc986cde SHA512 5bd96158e336c7c05585957724498ab28759a638542c010fa62bf8ff26fcc78add08af7fcdef751eb25b0a0cabfc371dc5af7491cd182c4904222eaa7b6b91be
-DIST firefox-89.0.1-en-GB.xpi 522577 BLAKE2B f4703ba63f9a045519537563ddd594a6f7bb05d9ab1a52866c5ee18227ad8254e9ea3ea02b807baca5877bfdcec74b5c91fad90bd70ee85236c0551010e6504b SHA512 3ea2081c74dc57b9eddf0bfd93e8abd5cd1e2ce23d3588109c955468ad3557bc027ce83bc2cbac188fd34841f70bbf2e0805513802abe07a3a319498384c2a58
-DIST firefox-89.0.1-eo.xpi 547370 BLAKE2B 07b1bd7cb38e1e3e9b1560c4abee05f21b5cd052d42ac2e71887595de7b528aee30a6aba4fd3e04a032df6bf757cd41604dd3668260f99e2af5d3799d006dc2a SHA512 49b3b7ed0eaf2b64c09684a93d6b8491f2cbd4a35020c4a6ba5585e15bd76d222db1df6c7ae85a6b9e670891cbd753c4d9e2c69531a08adda7dbd72bacd8d328
-DIST firefox-89.0.1-es-AR.xpi 560254 BLAKE2B 43a437089a11625bab4b898d95386cbb590e52b568f93627213bf02e9cf7244444f4b939fa30b298e2f0baaf10ab2038600c45574b6aeb91d9f80c144228556d SHA512 7a39a9b7492e6d7f8d3bb88e5556b653f9fb6ce5bc9dea9035e4c15530dbe6c240f1638ad866ed759cac87083020e955c8f5b1b4dc43861f595092f53d816419
-DIST firefox-89.0.1-es-CL.xpi 559512 BLAKE2B d66951e1b4b7e1a823463652a8fb913f4988945345b35a22989d0bf14ce789705c91fd1a11c1bc0f8316ae633fec4188ddb15d83f1e49c965e539ab6838e5f5c SHA512 191e11e46a8001e598dfa524991e07af309b0129ddbf7507ba986d84d56ffef0e7e29ac969a653e2583fa9bfe655acda295486486350f56a703961a414aeb805
-DIST firefox-89.0.1-es-ES.xpi 550056 BLAKE2B 098f38330d0f84b6e33ad79fbe361ac05d9ccec1cbdb78b94f1dc3e9f49a14663a906f7a75a19f51f4cfa779161a547e8612de8cbb990bb72c2f30893b123185 SHA512 11f004a4548a80d4711008953eaa9a74111f8fc19a37aac3754e94273107d50d8e12909def9d25d66fbe78ac4d7e84b03940422a72dc3ad7a86d03bfe909074f
-DIST firefox-89.0.1-es-MX.xpi 563876 BLAKE2B 62f1ddec9621ae5281e86df91b7d68a39038ced624d24aff5d6d46461565280455f213c56faa3b385a86acb7c9e8cd22958e2d716a7c8074aa50e9cbe6571f82 SHA512 5a14096d880da6c529bf6e6939062e85a710365cb0bf0b82cb3bb9cfba15cbe5629935cd4dab8a98d2e759b86659039e6d816d9876d1e6de207b412db252a9be
-DIST firefox-89.0.1-et.xpi 497910 BLAKE2B e1d43edd4eb1f78d823ffea9a9b4ccfca669ab009649149c2535e93f78c9f7a2ce5b612ea3d7728de6430d5d8f573b10acdb898230ecc424fa952067bf1a5a6b SHA512 2bc66cb0d0ad05457f804c6bdc6bfa73f382f0d2d5f384f503fb1a6b11107669f657670ee21c35c078669775e4c02825d06f6f453bf59e57e4afacb256b1e73c
-DIST firefox-89.0.1-eu.xpi 545965 BLAKE2B cc924f1015f61dd95a355a5e26ade5be03d5a914bfa4ba80be2058dae338695c742d790d1a840ebe41dc5f9f69a8f1798f05fab35aea4fa2fee46a60f5e64ee0 SHA512 a4eda267ae5b456ce259c77b6eaf3d39b9e1e03789526044dd17ad905c0455960d56b33fbcd772b0026b9c952fb1b5bc2ccb842d1d3f56cfbcf52cae36ef4f10
-DIST firefox-89.0.1-fa.xpi 563531 BLAKE2B e5de13a773f29c65476458ad3700736084b2e30f136cd6848e6fc43e0e107f3806225f921f90fcc38dd82a2ff425425b867292a40f2bbca6bb7dfaa548c20a77 SHA512 8bc0754685f70b0f3b36364f597c5cb92ef6d872243aad31871cf36dab8a6bd05044ed4cfc0483b5f7d32e9649747179200d09efdd79251138c3d487e3def6e2
-DIST firefox-89.0.1-ff.xpi 489336 BLAKE2B 8e62b3415f5df7da76efc9047ed71ba768c9613bc63e2ee5c986fbc9bf577dd575a731086cb81735116e249690f58cd9233bae5e7714066183a01e83b070fd79 SHA512 9f78b69d9cbac33b3a80b652c4a21ddf695cbbc44967ae8b95326258998b57f0ff2473a1f1f50ab02397b3ecd8f33c498f05c875ad0d956e5c6318257c85c5c5
-DIST firefox-89.0.1-fi.xpi 545677 BLAKE2B 265971c9221c3abf7faad20c2d75c98448e7ceb9f497f1af14542a15e343031390134ad1d324ef7bf6fa76fd2b96d6f29708fb1ce7c36c0b93a274b21f86092b SHA512 1a0fb20bda6c36084ade67c8550cc2c8b72ccee13aef75472a8bb7e3dcf8aa4e511343258e01d658e7d2667842d65bcd1d2eee2c16107c391ee2d3ed97efa61b
-DIST firefox-89.0.1-fr.xpi 571569 BLAKE2B fab5cd8334ceecc13ab1b3c8d20dfdd2f9097df2fbe9a036b5417190177de33b22da4e30b636017a073aff3fdb5fbc4280d0257af04e3cd828c5cb6ea789b405 SHA512 2544f8819c49ec13804598974ea23160103a18cc380f2a9298f75ec900673a311cf52ec6638144e0df2636a2988f25941cd21cca713b7c44bc382f7499fe2ff2
-DIST firefox-89.0.1-fy-NL.xpi 556346 BLAKE2B 44b16bcba6abcadf2cd3a69be996fe14af89b14412e1f14b24298aa700d90135cba799d60d86069c4f6e662367fc8fbea534d9025f218f68bbec0408109c2af2 SHA512 e28ffaf34d4ff8a292ffb7f2f6ec84a923c5b2185d76f2cd3cf1b3f81b47431b3c74c80a3ac6643521379c1248cc4b160356c587a01c08ee4d4732d9f1c99eb2
-DIST firefox-89.0.1-ga-IE.xpi 474436 BLAKE2B 72bcc6b1ed8ee7564d3903d99d82b288dbc9b151811a6427d62d5249b53e112eb0a9ddff6e6c09449f6d7b863881b7033ce1d6a412f709899f920cc9c65b878a SHA512 a203cc3740cda2fb06f1c2b8cedc939893db57025d063fc321d702b624430d61723ed2a9be96ae023cb35bcecaca3b56be0c3a85c5c80c67d84fa0d23328fae7
-DIST firefox-89.0.1-gd.xpi 504541 BLAKE2B b693d208a2b47cbbad8b0bd0cdf909f13774fda66aa674c2ff0fc9f0cbafc099aae726e655c95796f9fc4d74115cccc9f79ea898bbfafa5ab931abdc1cfa2a68 SHA512 7fbb453bcf47b82098b27d9828f815e67d9d5992f2532ac4ce9fe8dadb8ec89009053f14f862da2d80e547a2c7b27d16f950a4d3882751f7f7fd95157c592437
-DIST firefox-89.0.1-gl.xpi 555897 BLAKE2B ed4f4f59f7d44265b02f4009020cd7f31eb641983550d850488edb7324aca51f44351009d5700b9a765ed6fbe88a7f8e1953ccc3dffb3eb4128ae93d6dc22193 SHA512 e4ab5047439127083ac4186f257b30d45b68d783650509ffb30b4cc88a2d64d921ce16a6d43427414d52f27ae48e7466a6804f3cd277ae071519020792cd04f6
-DIST firefox-89.0.1-gn.xpi 571595 BLAKE2B c649b935faf2c7a49a8e644454448036c22b60b682e75d357843b27c2d83dea6d9ac77eb83ada8161963dd969e6f78504aa3102922f18d5db3891cf004118ffc SHA512 6098e4fac9f3383f178bb82eff098fa53b93b6505543334f384284f5754e87438650454aeb3aaf37a85eb9e6f9ce600849ac78c5d87db95718e935a6efd4d93c
-DIST firefox-89.0.1-gu-IN.xpi 548870 BLAKE2B 85541ecc92ac35309dc033259a91fa47c13352888bfc98aceb0088c3cd32ffc1253da292c441930bd8fe7477eef74463f81e00c906357c77bdff394ba08c84f9 SHA512 b85fc8410666157600613fdd526854e16cb15d9b27da7f4eb791a5d77e4e653258ac625a82e5dc0d02edcba146b693a55ec12c4276254810467e2a11980764a5
-DIST firefox-89.0.1-he.xpi 570351 BLAKE2B 876490930273c222c7d2eb8ad4e947663b895e03584af4024defaf6df1141b5cbc90c722b4dce4af1df7041a4e91b5e199fdd520ec1db516b815e720b8f097f2 SHA512 a745c3284beb7f292bc3a4f008ad2e95999f9873dfae513d563e2c0597265b0e7b9fd389abd4dbd387832bc6eecd4eb6b959f2ca0cbfe68800db7dc85078f13c
-DIST firefox-89.0.1-hi-IN.xpi 580699 BLAKE2B 261d6546df6c7f21e24326c92d560377601641b3a77394c9829fce6a68ed27fe2db78c1f97f00003a861e2e4dabe50c3a1872267c6bf12edb4f882ccc4dc29b2 SHA512 09319d9e008d1544286a0d73035bf0107e747215c1eda31cc7fa993812576310016d7133472a9ba3d3c48c247b529e6e9412d27f3b13fe84bdad35f477934e9d
-DIST firefox-89.0.1-hr.xpi 550878 BLAKE2B 78ee8daa5a34331aa89634262fdf40823afb81cfe69903b108d7b66ffe445bcf5f3d1da5ea6934fa0dfeb48252fe78150edf5ecbff30a2173bf69bcf3ab83612 SHA512 40e86041bdbbdf8216a4165629f30f7ba4dfe70721e991730920e7a24b20b96c8c6d173cbebd6b25bdbc2de2c1855a1f7eb0c1b7626a8ebe8a184baf09217cc4
-DIST firefox-89.0.1-hsb.xpi 576376 BLAKE2B 74ee58952b3bb28832b109c16853d94901a497efe73cf92554a5e890bb039420823f06daa88c6745d93e9b7a8d0a66c583cd12fa59a3545a2b2df938599d3ebd SHA512 09c10d0f5141910bac86a20d0c635059a928f96f830734810a95e05f898dcac41a028001def623ff9d5b8b95666dc671b0cdb16764691dd63c95269298c0f22a
-DIST firefox-89.0.1-hu.xpi 579999 BLAKE2B 05c8d22d2d948dedea03616cd6dac965b5f552dba8fefa0ac84b730319a95c39e34db4fe9416cf70a88bb931c6707927093b2d4ce9abf238dd3ab0e98ede4140 SHA512 02f26debceb179d8d79d0ae63505c3b1fb1f1f863672722017684cb757436166dc3590b342e2ea425237412f8631358eedaf14b5e8b3071ed01c72bed03ba3f6
-DIST firefox-89.0.1-hy-AM.xpi 605693 BLAKE2B d8347ef6d018da414249a37afec1d23e68cf40d5323132a5c8a79627053686673f5cbbaba26108b82dab3946afd1e3b8e1ded719243d4954c7ef13394c2cdec3 SHA512 5e9259eaf8e8bc36bd1a4bb66c139bc09ee5930398a0f6d06a9049ebe89efb5555b741b35895cea52722db8a55a1a0dd9e08bae9e75aa9fd853b33623602ce9d
-DIST firefox-89.0.1-ia.xpi 545259 BLAKE2B cf64f83f312b4c5d2e9a999efd44d7a891cb008521ac11786abd476a7d361cc196d77454d3c10c180fc757e8b22a1d8a52a7fce660bb57ed20672635c720942b SHA512 61aef761deda61e4b5e8e7784f84952b6bd895b6519a67cc92cb77d393cba2326a64015f1057cd615e2301d6f93df66c70c0033d988a401ea2a79a031d62e9cf
-DIST firefox-89.0.1-id.xpi 540515 BLAKE2B f7053d31d16cca81dca578921ad32fca7fca1bdfcf8e1648afc6eb3002e6cc22a172d6ef35f2d52e174cca38de9f0d0a02d576840f0bf6ed924094cd22ec0dc2 SHA512 5c1fbb5e45e77420e79781ee683721bd55602d42651b5f51801ccfec30c50e22dafa7c50ae88e002ee9ffff4ad88b8f50828e5a2f9860e8ac1fa9c97b65c965f
-DIST firefox-89.0.1-is.xpi 484997 BLAKE2B f837718cce49647817656c4bcdbcfb3a5707bdb48c9d62c285fb55a86e8ca7324f56ac66a93d659aa1d5113c0be0aef04702688db50efe4227c2d3d405339df3 SHA512 b11ec9d002a3634aed1277974b584946e06430316dfcc7d7fbb4e6dab848b89d51b60195e8c7a3d95ca1198e0f25a08f4e695722d41571f0dcf96d3bf555559c
-DIST firefox-89.0.1-it.xpi 473387 BLAKE2B c6ef858eda8adba7950ef1881953d77521628bf023501531fec7099fa391b628586fcc67b1288eb77d2bda1ebdfe12f7c984adf8982a78bbff43e25345f8c600 SHA512 d14506757969a751620cdcfc36d3a4d67c4ddb856b9ea7bc767e8bbf74664907c3081b225a58c8e86ff495960597ae4cada4e80d55d3990e1d08e64da8afa252
-DIST firefox-89.0.1-ja.xpi 603224 BLAKE2B e9e503f30f86ed35c5fd8c194ba18a2e44f3c9092c6c5462b9f58b9b6c8d6e76543b08b9ef071d60a246254a43059409f58d7631776dde555e458dc07b838130 SHA512 5b5a7164e4affe6d9547aa7d2a99699af03f617c44e51c342b40751a9b8abafae74e378c522019f6b3805b16f863957c193502faedf1232f089eb40c635891f7
-DIST firefox-89.0.1-ka.xpi 608147 BLAKE2B bad377982007612c9e6ba00eb5fdca745fb4b07d1495dfa490bd998144c4b52ee459bb714e298863385d2efd314b79e97aef2f909e1a6ce478b1d56c3d5175bd SHA512 718b92ab559e3fcb253f9c9acb7191b4ae76013c787f960490ba08124f183721f515850586bcec1b42051d0d8b0a55255e7714b4c8eaa15f764d9ae0ed54607f
-DIST firefox-89.0.1-kab.xpi 563224 BLAKE2B e180b653ca282f5a6322aa7a835fbabcf5e742c042a62d0d3d0a07b62b7951421b4150d44b6e6311ee9eec95d2680ccc7bbd6a9d1979ba4fd606d3a4b6567e58 SHA512 05cc6dc6c7a4800e3bfa9c106d20dd7cc77751638807990d8aba232c64f9c33bdb8c0d2b0e4876ece50ee363dea8310656b52a871e32163ad2bacf0ad73ef32a
-DIST firefox-89.0.1-kk.xpi 622339 BLAKE2B c0a6089037bd2fe1650ad9617d879c00ec279ede7dc62306ba762b1a965139575f4eb4276e961bf5d4870a16e6263578c1862060e8fde0c8cf291af21aa8971b SHA512 47080cef7e4e25128fddf5d3a7a9d93789039575602a31b1da443a150246287d61d0b9b168eb1fcaa3a86823bc045eaa2fd6678de2d2c7d8b28e897e57ba97fd
-DIST firefox-89.0.1-km.xpi 547445 BLAKE2B b1fc1be528743439e3fc0e8709afb2116d9643ceb70d36bbdda9c4b600b3935f181623328fa438bd09c4de2e5dd9774e61cbc9491fe4ee172ac2135920053c2b SHA512 33f81de0d76476bcf7eaeccc343387dbbb410e9139d9f79498a6409f5fc3352f4f3dbd4a79d07cfc332fb95c4d7a933c5c1d73a6e5f749c16cccf95ff5536b28
-DIST firefox-89.0.1-kn.xpi 512022 BLAKE2B 82b603fcb93c8dd73bd9e6e58b2844e1f482ed423d6f5a3e0556686d60957191e3165cf45f1e2b4a346aa467829f2af0a45bdcb050d806e83c3643adc992e446 SHA512 d61be8283144c6f1af6b9e63dd957ba4c6734a354a495e2e228dc8c6458fce5ff29ae46bf0e53c305644bfce52aa1446b3e2d08e1b2d421f95d956b1e0881822
-DIST firefox-89.0.1-ko.xpi 591719 BLAKE2B 770ccc0d8d451a0f5cc8db92560b53f51755103e71b28662176f1e3d26057affadbf5696d1b93c05c1fbd65feacc7b7e977ab66898bab734a56c82da4199e346 SHA512 381a5eb54e275d1faf226c5a10fec9c8f9d3ea48454f078d1362ada99a28f2c0eef19a7e4ab4bcc880b153e3c9b7df308ebbca0ee007c83d4fe8c1b6fccd242d
-DIST firefox-89.0.1-lij.xpi 483436 BLAKE2B 2263b0b05be9c657bda3e257d9a81200d47ebd7dd427abd083c68c0abd9ba9237108a1b7879c53651c6b45a0ea9d004942d865dfcb8db9a2dc2ac9cae0ac6c76 SHA512 597c55a930e3e460118d81bb81e75444d6bff2c5256527d272eb242bbe13d0369770d5210ca0e9ed881fa913db6a82c9580a89370bb65c5a76997754033ea798
-DIST firefox-89.0.1-lt.xpi 571829 BLAKE2B aa247269adc3f2ae44f502b5d89ecf4364767581dc69bd89f8a6942f6ae235bdc68878583b403a0a310e26fe0476bb415aef02f510d732a9c5af8424fdb747f3 SHA512 547d0931f65e373696deb3c41d68f6c00372c8dbea7e1982a82d77424d8ff4c3f30a3f48faa7acd0c7a1d109a9fc905ebdcced1ff0e4b91cb9bb55c303e74238
-DIST firefox-89.0.1-lv.xpi 476946 BLAKE2B 9d441e8c5a9248f7910456cfd895673f3305c82b5d1ed5566a3f1f4e9d65d5d773a91602300e4199817113088699b0ef24ba5f54ece2505f5543368f152fe678 SHA512 341ee2fcac4bc1e2e68bfbb0fe8ec4f3f2b02a2904ab8d3e8a3feb89bfc058a4f2f3d9d7ef493d14fdaa1778361cc6ac9090afc3ce75ce12bb831cedae73c871
-DIST firefox-89.0.1-mk.xpi 473642 BLAKE2B 7528a23169d34bc9247f689155832c265438290f3b0319d238b172d33742179537d7423baa3609a62b141af7bec216f077c3937c5d8dcd0a4871a219c9b5cfef SHA512 819049dd9d3b487e4805dff32aabefac111ab811c69b0e7691532cc1fa025a7d542496575c5e13cf1deaed9b293154c2614214d34e7f99da08fe480d16f6382f
-DIST firefox-89.0.1-mr.xpi 549058 BLAKE2B 33b8deb757baf8e5a14849285e395ac7ca11d5d35f6828e44fc63d2f7ebf34c5e1ccdd80b4105d88c525d7013a394f87c89f62c7c1b30ca7c264a258ff009b26 SHA512 83fcedaa3861694fa1e014a51250eec3de1da33ca016b03dcb8cfdf875d778d64168602465a316e1a2491bd74dee7ecabd4ad2211ed5998cdc42d722f80b5e46
-DIST firefox-89.0.1-ms.xpi 460556 BLAKE2B e7b5f83b2dd559464bdd131934b51238fa849a15328540f9f2b84715cd93acc941b0cc053d958a41e115b2e94b7933b4be47a96ee96cc984f959bd94623717f8 SHA512 5e5c0786363eb171ee80d7f33962eeb7adcec3056868ca85dcd5231a041a29183a05dbc11f37e1f37a9ef82edfbebc04578ebaaded9e113de07f67d59668b66c
-DIST firefox-89.0.1-my.xpi 532598 BLAKE2B 99864a11a36fb2f1f06b91501d2aac94f38917a10155a1fa712bd0939fa415e8b668fa5cb8f793f521fb480cb1ea64c87ca3c30d3cc7f9d7a29826f0f5687da1 SHA512 c3a1019eee70904a6e7db0fe3fea8228f3aa72f4b179eec98c67e60531378a765655e48d4bf6882b2b491b015dd05cc0ade1177b597f46ca55dad19e77fa8f55
-DIST firefox-89.0.1-nb-NO.xpi 540801 BLAKE2B 2feab5fee3c12de6e38752e56e6b01ae963f0659c201955ec24ae1d826508be894476c60a52e085d60b62a4a326d4aa334c8f2e68286b27211b40a8577b63506 SHA512 ee2f8ccd507b674dd7c4e4635e299c033e9f009c09a24ec9b6cf3c819ed35b2c23ff9cafdaf5e6a586d103d52c2d20d8f36f93346b2916c6b1f4ea9b8aa24f22
-DIST firefox-89.0.1-ne-NP.xpi 489577 BLAKE2B 9d8a114e4b6149b7e1faf180e1e079d82c647a1032829b17b4b7e550021f773ba706e40edfd191cbab53c733932852fcdd0bc628ff195f103c949d7388780f32 SHA512 cc772e9600cc4a1b41379b627a7fa46b8466441d54d787762ac147a7b73081834594a75044e7c8920fd1678ed55c1f04e07a0edb12c804904dfa15b177ea200d
-DIST firefox-89.0.1-nl.xpi 550262 BLAKE2B 45ca890016e598d2544beee5108bb20e65affe9221abce19a69e19132549794ce9e0f2d78a836d4ba15e488b2e88dad5d8c7963a8e217fadf5f030712b4d2721 SHA512 d77fdb8266dedc8a92000f0ac766d771821adb17edb73f5ba2d09bd9fe45abc61d2e33140cd6a28fdd7255f66cfa42c6a2fa8d704a8e8a90c2d56fd4b1f2b3d1
-DIST firefox-89.0.1-nn-NO.xpi 543878 BLAKE2B 3f8df6bce5943073bd8360d2dec45d722cb3ea2c9a0cfccad2b7e8a3518ad9e0decc1afdbd66f3a1c698d2ce459b887a5aee34700d9c3cb4f623076452ef4599 SHA512 83bf4a1449aeeb5a2cdc6a2de3b5401566c79e7bdf326abf4c94d799f328b4127e64932c1cb6f46a8331683b7f663bfc61dea464845a555f3bf206b9f05e4c37
-DIST firefox-89.0.1-oc.xpi 565229 BLAKE2B c2900e050010e206f4b187941ef77f99ee8fa51658a6bcc67fcc9fb140b2f2c2a17addac974fab91619f2fe64ccc063afc0dc51baf5debc88221553fc49f5433 SHA512 2e210c48024e9ce3b9f11e82ddcb3d7b2cd0262b4174d311f00f30391bf944c254f2ee276ad350a929833c9946c033c925f812a4b0c14ade112c683f7068a23d
-DIST firefox-89.0.1-pa-IN.xpi 612312 BLAKE2B 86e6e40c24b317f375a59d72af69d8100b276444e64a3323111ee2b9b0c37e22c7c0c9e056145400b3e74e8fca0eb13e1b6714693d3449df2f8c089d9d0a076d SHA512 fba80f09a8675584f81fd614a3571e08b9d9e8361c729d27947731b863870c6d25a176a5f7f072612f70d3a666733aebf988522b2642de40cd5421efd4b28a5f
-DIST firefox-89.0.1-pl.xpi 567573 BLAKE2B 57fe736b4a16f18af5d0a132e6b0110fe731e383937a2af1faa588d5f4785f820af55df1cd7d8477b9e75210c5526642c5d6530d1db80fd83ed2270fa5c7df9a SHA512 91e2f18d6344bd75100fa0d2e0cf31c964f88e5a779d814bfc81a89d8f7262b3c88000e5d4acc6ee14bfd1b1a649e8e8ce74dad9abb021cb820a4638f33c67f5
-DIST firefox-89.0.1-pt-BR.xpi 555986 BLAKE2B 9d0751f8b6fd7bde77f79589a4027dea590c3212297019c7d03dae5e857214061e685b9bff312aab7374e8c5047df550deebc55113bbf7de22dc9a9db6a8ca32 SHA512 1bb31fcfb9d1ecf2ffea63a2e49af23848eafec5161e2a8026d91b6f200cf070f14845bd0145b43f17b801b71283e9eebd29b5120da613d4c04a394eacef71ac
-DIST firefox-89.0.1-pt-PT.xpi 559649 BLAKE2B 50f98232689c8386682e249c4aae3c37a73e07bf81c0b1667145e9fcfcb4c4537cb0e2bcbb8779e5960b902a19ee511add0e5a6bccf45be57b902ef4d77ddd0d SHA512 030fd3ff7c95b3d67a92c54c94ac72c9aa7af9402f159a29556d6bc3328f8e3a3e51d73541a5b4337fe4a145d688636f0ad3805f0da0ab755e315d54f0711603
-DIST firefox-89.0.1-rm.xpi 548894 BLAKE2B 9540033827e9900cc6da2b7ad37a2774ec1c97bcc6e329aa348541097890eb04caff3ef23d0aed6d223c3573ffdd9d7d46dce4c16beb109cda9095cbaa420d1d SHA512 71c00855604f40743dcb168a9bd6a3b0744461115b210f935be5c72ba5a67b9c05e4650cb9ec0bb126accece05c7d2a2b929d72fc269b6b6c76ea9d4e6644429
-DIST firefox-89.0.1-ro.xpi 543406 BLAKE2B 150237f22446c34126f2a70cdc19f3c691e3fae127fe0088f1352caf8286e387f875a2c7830b90c0397e978e14e5240da568271f3d4a8b1b10cfa73338014fd9 SHA512 1813005f0009481ef769023dd529b699cd9f31bdbdb654dca3be316b744648f3effe7258b90ec1180086c910e6202920d4bd3391c60b1b5150a6a4b7be784ab4
-DIST firefox-89.0.1-ru.xpi 643056 BLAKE2B e7b7c3fa17adeb9b6cdd467c9c49bde215e329b4dcbd5580d31eab3ebecf1081ab9dc2af7bd2eddceff4fccbdfeba406ed051131d8301ef2d81cb3de92382091 SHA512 56f88072f7526871b9bfbca0d70167c163369fd162d52ff253138ddf8bc61322e65320d1c5f10089c653d1242d05d59340c0d1ff12408b801b1cba79f28837df
-DIST firefox-89.0.1-si.xpi 498530 BLAKE2B 291be7803f1bc40580b253dc5452d158927b6cdb57976cbd4d79f365710e8ca528b9b9922fa98fa776bd60097bb3d10a08466968613f5c36e25b4f400279dcc5 SHA512 f4460a70e331fbaad57df903e1f3e4a068ed236076b47a88a9ffd4cc1d1b61a85d006af349d0f3f434ccf8ce159532b27d0c95342b57a76394ac8eb97498b840
-DIST firefox-89.0.1-sk.xpi 577634 BLAKE2B e9e25cf50f4950841b44d3cc459e6f66fce5ea020bc164d113bee09178488f449e625e3aead66b610c38bd85b81df38b175385e9eba65ac63780e3334baa7fc8 SHA512 acf883f5a4b10f1d0f86374c1ded041133d4def53981d6ad498413ef44ab5518244f4a5b493573b835313224016d9a91aa492179f985b1ce6482b05b78af3a68
-DIST firefox-89.0.1-sl.xpi 548730 BLAKE2B 877ccd5df831dcecd1b0dfbb2eb0eb3303b18be8a5ebbb58470cc93f3b83856d0f79847e5f6e2a8b7828f0afdb3ea6d02fe4c620766d18206c3b03dc97d0adca SHA512 74ffcf3730b37a840c547b331f6c0418dc36be154550d45716dc800687565decaa6a78b8102e5eb1cab3c2fdfe3527361e669bec979e813831236f9f2b12680c
-DIST firefox-89.0.1-son.xpi 429299 BLAKE2B 6d26fc8e5fc1d48846974dcb12e9a27d17251f0d977f6280675ebe899eebb6382e9b34272b6e6eaa194e3325a4539ad3cff93af27c7795cd366cc052d5e6c580 SHA512 aaeb30f5f5a3574b145f6ad41837d922edbd51b9998867bdb675eb4d5811f54ec0ffa027ebebb34d5824fb40aa2837fdf138f2f3c569feb530b433b97ff7479d
-DIST firefox-89.0.1-sq.xpi 567155 BLAKE2B 89024ac0d653118bb08fb7b24a92af49403ca8cc0137ccab94c4a76df3b1faa362b0510d9a5b37eea0cf07c0928910570ceb7883f4e02d034623aebd5ecdd98a SHA512 8459a29b9d87e9f741085c3a946bcfb0bdcad1ace061d0f4fce5a506bdfc7b4caa4978fa04f8e20093a75483748343cc016adad18233ca8fd0666fdcd7be2dac
-DIST firefox-89.0.1-sr.xpi 602622 BLAKE2B c277ca19a5d9726c5c76e10dc4e0e7fc899194b1fd60f69847da6d73733e606ad1836e39bcdd7d7d6c1b0b3a461a9b0e9f0a4d3484ba75ce873bd74c6dc951b2 SHA512 024465ae1b7a150d8472f2148e0bd8f1f53431c7d7f991cf5c68b411d3123d17963cc80c6ef41717e3eef7752b064c7dadad7ef9ed0931810f3b9fd65daf0865
-DIST firefox-89.0.1-sv-SE.xpi 553404 BLAKE2B 8730fe710616b39db8367df3ebce016c08130c56d02afcab4914473877fb8eb2dd9fca2e340d8dd97f4e1a96ee7bd1d87ce762f52c09cd90c341e112d85b2a64 SHA512 61584f9a9889fbf14465bba6c50f9148e7b2f56a0e6fb76061d41490aa3482b25fe0846474281f839bc3fbd53286848e6d2829184bd324b8de19cbca571806ae
-DIST firefox-89.0.1-szl.xpi 525880 BLAKE2B fa37335456b30151c7b305b5d8851bb7850b3664aab395ca544f40b6e47e2f63a39cec1117171ee1256a78dbf25c010c60aca4cf579cf2a4124449f7f4eac994 SHA512 5b7ee8bd8440fcfebdad69677610c24f365a8126cebdde78e360b577118249167c28b56700ddd1e2ca611e846b063701a1b2af2da2bd5f9a6dca55736b1ed5e4
-DIST firefox-89.0.1-ta.xpi 527580 BLAKE2B 30ae44c2a280cc423bb8a51057b027f5cc0103bc42fb7b331d42d491dced0cfaf303ed278e3bea79710e4a18f4d58a3993d5f19e1837fd36066d3a6cf378e6eb SHA512 d495b8a74fbdbfb840b322150ac067b7c0322fcf13807462c253bf0584bb05a60181a78012e2ca125ca2bb91e29d74f74b071601b089bb5042cc2ac2e228555c
-DIST firefox-89.0.1-te.xpi 570050 BLAKE2B 45b77fdd488db172fb357f76ee2b2b33948067ba3d5a9aa993d3933ebebee8c9164170350dc047703d7951a2ff157b9ab8328190ea56486e14c80688f8a6b114 SHA512 c47499e3a81eae3eb0cb5ad744edeb456c4c6345a703276e11b49747bead4ac40ca2cf210a15b7ee3a30898e1ea7e1022f6f20c9a3a1254ffc6204ee4f009c68
-DIST firefox-89.0.1-th.xpi 618967 BLAKE2B e6de6f582f2346372a74d66f46f924a2848f370c7913a4b61d1315d0bb7aeee202b44dfb36afaeba97d9d34b4221a88b79bae011cd25c38d641aedd2fd6020e8 SHA512 76bad8ce2ce47228ead7adfd8e86f533ce632d622dcc773575ab57afdcd277770294f7215b4a1b6d38fa453055fa185f542ce8a952ff344d410df08469437713
-DIST firefox-89.0.1-tl.xpi 529535 BLAKE2B 8dc033a18db7097f881661cb9a0d92107cb57874186b31c497fe82960cb4d58d2178ad478bac87d989c6fb05fc37751c10984dc86c0b976dd5c427408dfd84de SHA512 238abb9ab1b75b403f089dd053872b4e6f2856002541863f27a8d9bfe048575bd1e3f340aac921a534b4ae5c9864b0b3dd5b450fa3fea331215689094c3e5a0f
-DIST firefox-89.0.1-tr.xpi 565817 BLAKE2B 4c101ffd68da9d087c0b06377ea0d24df2f5de69b14700f0163e608a5907490e0a7fbba59e6ca93d0f8ab9cccfee1021bd1a5324d40bafb51860cc076c1d8355 SHA512 8d4027db743eabde462ac0bfbf7a650d5389dee0510f9cf0e32137bce75f9720cc0a7ba7b7b3c576ea526dcf320902cca94250fb000ce0765a737f67f1ddac33
-DIST firefox-89.0.1-trs.xpi 507971 BLAKE2B a7c2c243d88963288d1a7ca4cc409ec24d380fe7d3a4a529e35f55fe33470f0e2e190caee5cd2f3c3c65d3c78f4fa4a2956d3840d7a2f6812f0ec45950dc0429 SHA512 c4aee94e6a502c61216c6c05d0362a19c2fe9f10e8bcbcf046ac5b1ced4286c14db122f7302da27cb63409454ebf3ccb0556dd7307a6d9bc8e490944591fe8b7
-DIST firefox-89.0.1-uk.xpi 636752 BLAKE2B e62f427dfafdb4b6150383889136f88240878a8f85aa55fe90d3f507aa2faa4f5d5f4eec5f03450bac0f097ca8edbba9554c14f761bc3b8b4c36e683b9332a01 SHA512 7323da4b7b1cb2941ae06db24953c2e3f565032a93c353580d1c8a32ed58f801f3ce63870db05c1797b03cf867e7e697c61203c67582ccb209929ac8188baf0f
-DIST firefox-89.0.1-ur.xpi 570280 BLAKE2B d79f3178f5b4077a19efcf17a5f436819d6cfc4fa2f0d4b14582a4d3e69efe9e85b29b87a760d69cccc4d893e4dcdeda489e5e3ab496c9ed6fb8625896d60f9d SHA512 60954b3feaab774dd6104c27affc7f2877b3f196b55cdf443693cc61b943515ae60a9400d13eae1d8be2dc707dff7bf6acc4f24a8b632e004d72116c27d48433
-DIST firefox-89.0.1-uz.xpi 484314 BLAKE2B acb8bc76ad744cef6f9cac0d5bc8e920fbffdddfedbbe2f7ac64720f2b2481779c483bc27503de79457b5fd1f18e110fae3e1564ed0f5b596b3ab494f747d2e2 SHA512 263429e941ec23c4fdcd5227d91eca0dbf419fb1bef991752222f0f8378aecb4c74bec8aea8508b85fee9f83f1eccdee3e7d3183b30349cc404e21e9ae3e557d
-DIST firefox-89.0.1-vi.xpi 587760 BLAKE2B 6a003f922c7fb5b3c6cae614854edd705c43cd7ed0e3144bc4eb3a6f12d3ffbfe4354ad41ff612164b4a9a5ec43dbe707bad0ce3430b09aa34010c97b74b9c88 SHA512 4a7e7cf6344d982119ef469f4eb5617b9c6c633b427e91fc7c3ea6c5a48f44ed2cd167e264cbeb6c8ff8243c6fbde4a4a1819800489f339a57424bd4dbe043a2
-DIST firefox-89.0.1-xh.xpi 431450 BLAKE2B c079a0901ec10e706f4e10a93f86b92a448d8a96ffc451afcb7cdbd421c4d5966491713565dd88edafb38530c6d3382766924fe9c6bc87b6e3e1284aef00196a SHA512 56026db93063170a951eb8b5d509e1e6d404aa6e2a768d0d5fb013dc57a3fcb12533ef25bbf9c66769dd623e2b08eb4fd19436372c7d69784b6569f3d3155501
-DIST firefox-89.0.1-zh-CN.xpi 589253 BLAKE2B 4770a0c6ad71a9cfed8aba7d58c6d3326643b7e1918003d2fb5732a5142fc015c4924e84a26e075bae87acdf70f86833cfa78533e1cf2ac95c350f2896ca8509 SHA512 b6b9ae9d5e18dfe69bebd71f9bea2e8caea7934148193a7740da3072d013ad1de6ebe3533107e08165609b2ca8c4f1189bbebda12ac95602d60f616022f438d1
-DIST firefox-89.0.1-zh-TW.xpi 589742 BLAKE2B 5af45ce81d198fdb563105bc4d2e4c829613710c46abecd03ae3c0a0a4f2c2fb25b7ef0cb091a16f0a159521d46892d5fbe3b917cdb3db71ab963e8851208430 SHA512 dc5594c42c177fa35f2968c4bee39d9bc463cd953b37f326df6a2b14b6f40973bb699a1b44f792d991e5d89af1be324f9eadc6a6c6be1db679143e06a6c4f74f
-DIST firefox-89.0.1.source.tar.xz 379945460 BLAKE2B 43d37d0c916b5da6b5fa077e876349983733fa84be2c7341851c34cfa58588c8be3c30fc86db4c576c7ee32eaba3650914688ed82e03471fa8f5a246a5734db1 SHA512 67da387b3b6c5a110c83208f9a15d6064adf423bbebfb0fcad2d85f6c4b615b27da0cbd5486b817f0d5e040bc3e70d74d9af72599b24384397fef1dd153bd3f3
-DIST firefox-89.0.2-ach.xpi 468850 BLAKE2B a37653b757b54ccaf2e10bf99450830327de17b3cb25e47ed17bd6b05b35b9921f8c75710697e2df71bee99326137c5944345165ca59111ae759b0b96cd1e2fa SHA512 6d1bacaf0e391d5d69488d0ba9c59f18e949af50bb69f89e635d09b9c6f4a63664ea321d0ad2903a162d93e2cca6584da3717b9d6531dd905ddac130054b35fd
-DIST firefox-89.0.2-af.xpi 432018 BLAKE2B 69b911c2065fac0bdb61f629c1d2601f8b145416f381d7ac3c4e5877b8529fac533a7f44d442170fecd4c7d6ea9b0c31b31320f943cb66f4836bb027f476c93b SHA512 972acfc2e7eed2ccbed427f6f427f0abda0a194a6423864f300a335a59761c53328b72848541fc5d8fd32922762b5fcc47017e70fe03a29975b047d7542d44ee
-DIST firefox-89.0.2-an.xpi 516762 BLAKE2B 256f884bee7df9c501668189e9bb929effafecf2f1f9d5d17b5a26015750db3d3c4ab1cd4275391d7261892213613503a6125268c8c62e6283aeb13b15f5e4af SHA512 9cafdd709cbf23e8a5a3e0ee7f198c2a516bf9a0817539fce0824378c79c18f2c3b5fa646c9d69ffff7b800ccd0936a7437efa843682e8056f30ea30a13a3c5b
-DIST firefox-89.0.2-ar.xpi 581597 BLAKE2B a6fc48027fb0cfed4768c33422fab5f0f90a59d71c53ca74f9a61af27096097563ab6a1b07abd45345c2dba25c9dcd2f35a8d90a07e11fe12911929cf55a02f4 SHA512 54a049a751ce07d150258854a9cb4dba107fe59b10d98e80d4b08ea26da58d0c372a6e68483f310347142cb38a7b95b61636d34b189d8c47a52911131408fdf8
-DIST firefox-89.0.2-ast.xpi 508451 BLAKE2B 1c17846c7b0c4061ce12a6758d201492a8136a31c0981e567613b19f13285c111558cc473729323015d5c1749b0990ce4fc34cf1b1ec6a81e35cdeac7d37a27b SHA512 091c79fe8acdb8455358108b7b55f87b0fac7dd4b9aebda69b73155f86230cf01679a7f71c9c00ac4ae5a3295f7b90d4b5b7ef0e5b34969e79b83d51a88cccd8
-DIST firefox-89.0.2-az.xpi 504818 BLAKE2B 861220904769ac91f43fc78406803292742df228fdd82ed0438ec1ad5de8fe2eb9b2ae1841c3fad57645ef820b4019231edb7d7614ff93633c6892234de588a7 SHA512 f43f1f0855355e0ecaa3eeb549386d70101e07ceab88677bbbf0ae189b3080f90d7b412ec192fe72d8f34f82e9feca1a58dbc4b208cc779bfed84f718007cce6
-DIST firefox-89.0.2-be.xpi 634599 BLAKE2B a058a1c859d9d437d74ab35ede0e40124a53d857aecf69409815f7773f7fbc1eeae0eafae0b2ca73f0771c626f2011058832b58c7fc4bcae8f55e5a8901d5593 SHA512 7841541df19cf749dc4905cf4b8526f9d85e21ed944593bc051cead3cbf73d927eb30fc32608875e8dfd9a6d8698387ef5e02c7a870a710b6e0f838a657c1d2e
-DIST firefox-89.0.2-bg.xpi 578545 BLAKE2B 106fd14de0313fad56d4e0cef94e3e703f93e1495db7dc3d95ee104a1cd9ce66209e65ed61cc3dcfe709b45ec782f913fbbfa71452298a9f8c47110efcc47027 SHA512 531cd666b107924a0fd0a088af9da66e756d03c23ba0d36332944be5533b9165ae62d067b980b0b415a04f6ffc5b234824de5d78237a02066a4dd18a245ed16a
-DIST firefox-89.0.2-bn.xpi 581038 BLAKE2B ec63b14a58c38ee0dc721b8349840e8696ee569acb1575c751a42f0a63285a42ddddf380cbe7f320759eb873771996cb8b158762e3fceedca13fb1e7e3a82251 SHA512 f1a55e54d3505ec2e8b594a481d182152488533535d9a97433345abace7a4d622c9e0a9bd30c34663135ad3c6c609419395430da45da31fbe365c5b8ecfc95ca
-DIST firefox-89.0.2-br.xpi 534210 BLAKE2B 9b0a6a810d3c0a19b9a74937895035054b6c539122399294c7936c5cbd2c40b5993ef2b0be317b26ef252518022e11d44398966c25b217dfff137c54f209dec7 SHA512 81728d81e985fe2e020686e78d209c890f33eaacafaa0c971df1fd1243eb3dc0c501340f281507270bde4fc0b3d4951326bc0d414c5f72382e39e5aa018cd1d3
-DIST firefox-89.0.2-bs.xpi 473656 BLAKE2B 963277f04be23d29251718885aeb5e4f5d8f691c34c8a68978abb021b9898c919d9f1e91ab010059618f179ebd87d687de72ce4b0af8a86b59729cc424e8be71 SHA512 60770dcf10795f40c35da279b7dc9d1863a0669f39070e18afcb8d7c008497fdbf9406acc59cc54c7ef5e91f92ce2b96467bd7127d6d306b10fa82e82186d002
-DIST firefox-89.0.2-ca-valencia.xpi 549775 BLAKE2B 412f218b85d48ac804f5a6ef25502cfaa26f94c364763fa2bcb820e7e9346048416b716433019c682470006de8ac9f53335f330382da15d6d4a258709ed81edb SHA512 f5af959f1dc3b6bc44c9ad8d2390d505779d38fd0367385504736d289c8c2fb0a6a08118b9631b53e1ef2c16b2a80703dc9abdbfcf94f68089439a4bea87dd44
-DIST firefox-89.0.2-ca.xpi 547305 BLAKE2B 9e400f67b565accef2105d06ba5955d58ebf1920027c0f21ff97f4596a67d975457436bc613610cc17a67e0683e4f8dc44b821f0adf243711665fdeaa665392c SHA512 3bf066f55c3a8fcd44446e1981d3c3b770e568be0d98371045c33d4ee501765b21b36951541fe1fab8d38b744b507c370ad4e51ce42f82c11cf67997b6f6e829
-DIST firefox-89.0.2-cak.xpi 574185 BLAKE2B 0e8af0f57e8857a0d0aeb06717347495e5160f45451f484fac3a45cfdc49b19dce517e39af7e6aa734a53e2c0093f9c744655414464ebbce36853dc792a55b51 SHA512 72dc9a0de6ba72f20f3d43c3e60191151af0ee34f8942ec84b28b71272d39b7568c0258bd000817e8b59427d11958448c128bf5c4f0275067200323199dafe60
-DIST firefox-89.0.2-cs.xpi 576778 BLAKE2B b2b5922763a816a29bf2c551faabe662f2545f8060f5cb9bd8154e68d24b25c4e067520c863a6b1382b9d7328e1f0211d7f3894c4c66dd7d009b617c3d80845b SHA512 fa0d53d77b4215ff3feb9e57cd349817146fbc6e7a0e501aa2b670e76a5e1b3bae706e90dedfe9f6dcfbb36c71fbc7ac41429c526a526a3185aaa677769bd459
-DIST firefox-89.0.2-cy.xpi 555437 BLAKE2B 366a386f2fcf047e78ab78f6aca7c9cc5dd10754efa31231ce171e4364c6f7cb2ace02bee1e9f9a2f28c8791b29980a054ad62ce28a9130007cd014cb029a368 SHA512 b94e38d02a5c80d3143587a34ef895d221c6fe01cd456a5b95fff460fdef6019579b6dc2ac9fc1dd8122d9c065d0acac45231215ed0da5f35ba0cf5ec81b5f62
-DIST firefox-89.0.2-da.xpi 545139 BLAKE2B 635a83a27c25a8d80b2c68871893aff96cc6b88cc2094ee139257d4bb16b5693ef39ba227640fe027b3d0cf0ccfc702b24be0d2f7405274b6442bd8efd210ae2 SHA512 07c3c94dc8d6e00cbd6224b23a7c66d717400bba80bf3d07d934d0752769c46c540585abbf72281db968828e002834b0b043d49649fe3bd3888082da589aed1e
-DIST firefox-89.0.2-de.xpi 567242 BLAKE2B 02ea00115f890a9b3975b0ae1ceca95dc1d063ab7e2958331bc7b09c3284d8e332c6e4713e3a7e8e5b900e2561ae690d36665271ae9d2d27be596eabd0251e2e SHA512 5c2d84f64fa64a98ef190932e4165b7324524206cc3268708f9f0aa1f32f42655842586de63ab7ea5dd7dc711993a13a2ac80b9fc327ba0e8ecd4d7cdc31b8e8
-DIST firefox-89.0.2-dsb.xpi 580240 BLAKE2B 06710445efae96b73e845f516221b13879840d26be4e8fd2c5167ef4485ae9ddfeaadab91d28d833eed6aa36821dfd50431144ee0d416a6fb2427e848e871ba4 SHA512 a6c4b2e0f0a0d229675417cf8922dfc7a0fe3ce4bbf9f840b1de387ee4458a6de4f5471211e6054af250155b667f2eccae5c8840cd47762e6a2a5f876a34c0e2
-DIST firefox-89.0.2-el.xpi 654967 BLAKE2B 8737dcc74434b5cf7bdb4611ed454a4c08a4d884522c367cc8a4924687b7d419c0d7400e8ee53fecddcf41ece0aa4ece14500f0e66485c7175d7facb7aac1077 SHA512 4e030b1d82b52918402c43e1788dc54044f71fa8535ba0750409c784fc5045d8303461d0bbb7a67f7c6bf9615a2582ee69eb0d1b801568f33daebb3d407ac1c5
-DIST firefox-89.0.2-en-CA.xpi 521309 BLAKE2B c217dbf3d08238dc3abebe8428d2246ec6a51bfa831ae85b98331ea26792c1588d692d896a22551dd12e0fefd797c22cd273f904126d22d5a2dfb116aac4b40f SHA512 9ff21e0661b7557dce8f6853fe5f1a0773cf94d761763a2c226112a751864e58ae811c7f91af1011fb26e7c27b054bc8541d8f9e1eb76845f62b1925fdc6b22d
-DIST firefox-89.0.2-en-GB.xpi 522583 BLAKE2B 592ef116433744a506dee6b12d72fca9d691bde3754105d6b1fb6275aa1fd57eefdc40f14370d8a7036543a2f95aec0f4dad3496a846a9107f4468af3089adcf SHA512 fbf62ab69914e5b11aae9ea8f54d4f169b82b778398268c2093f1385c4c999ff9dd0da65ae19341406e50529ee138e14911c360c1b08b2562e19e25f2674be5c
-DIST firefox-89.0.2-eo.xpi 547367 BLAKE2B ac99c396a5bd55a1ec0ef95c6a7efa9ebabfbeef323cfb832f2cfa20890c80b3d6b77673ab684b8201a0be7200a1d7173a2e5a57eeb7b5880ba4b0442d46df92 SHA512 d2eba8a0b8be3237a4a2423415e381267ea12e44287bf6089a489bb48307b21a2111a719227f92a0359a0e0553ce6dfa12a6eeec676558f39ffd3855792292e2
-DIST firefox-89.0.2-es-AR.xpi 560257 BLAKE2B d3f09a433b10b5b424f04e8d205f4cf697163e72305e234b473603c5dde3856c36b959480fc29dc585802ec68c31aad75619b53264913d57135f65958682026b SHA512 d519f02169d17a44bf1088c9fae169818442af283b4786e5d5d5f19b134126fd1538d735af634b155bbfb6223cb3a06a82ffd5a788745e85c8463f929799c536
-DIST firefox-89.0.2-es-CL.xpi 559508 BLAKE2B 52cfd5a642fb230ac5333d0888feaceff45c026f2ef251ae5a2e067b60f669687696d3dcf48a2011472089ecbc8f879b33594e89c433d21202ca66c2fb1df9fb SHA512 dcdaeace020bf3d299d19898a711a6d6fa38b3f0dbbd735b888b2aa68de589e66536f07aba82ae441ef33da8a0a19a827b72c3c5936de8073196fe6520372287
-DIST firefox-89.0.2-es-ES.xpi 550058 BLAKE2B cb3b97f61212d0660dbd4cd72e78605c5aeef54b954777aeb8244723430764090814a4e25adc4b1c5690244d27d270520f403e48b8f31288f376f0f3f0dd2867 SHA512 8afeb87c1200e91dafb6a9ea18d454c74e20591bf1bbe874be5c863f6734b384b49a94394c447f11a7f2a1bf69f95cb8de76b5139c5f21ef26e79b0a518aa4e2
-DIST firefox-89.0.2-es-MX.xpi 563876 BLAKE2B 4df825b57165ee08f7dee4cda15d0a49ddb9e6bfe2858b092a6418f5d4afcf46f956d9ade3945cb7e41dea3e16c5935b66a8b5196026b9bb936b1c6cea889b95 SHA512 2b42ff706b1b25b499bd7528830cbed572fc8e10f8c87f338c2cd4c2caaf3e9fa0745a5c718877d7d3b2c1ba845ed9a844ebb7925ac6c4eb5763b50ea03ad3ce
-DIST firefox-89.0.2-et.xpi 497915 BLAKE2B 4cd3add869cbec056afad8b95761f403cdf598f846e82ad1446fcb7513d2fa5c75bb21f14fe5d8773eb56b0f6253b475e153964a656f1ebde98ed1bfef58ecb0 SHA512 24ba7294db61d43cc3dbac685790b62c6b84fd44208f9e046fbdcf96a973482d5172e9a0aa68724b21474e2ada4c1ffc5f2a27d12024edacc6fc66f2b2e7daaa
-DIST firefox-89.0.2-eu.xpi 545962 BLAKE2B 180f34844a5e7dde51f0672177c6ad1c719e5ad8c79a5018476dd908b740b5647403337be20f52d49cb43686badd51f6133ac1bfb404448af7ae4e4f1dad0422 SHA512 f6a9919a4378013d0577deddc82fcc5738eda7c94e42d917797dee86d5484a53a272f812c79dca3b5ef36aec1bf055bc023a4b51d9baade21f26edcfb63ddb95
-DIST firefox-89.0.2-fa.xpi 563530 BLAKE2B 4fe4f48210721ce9732dae136ac888b087afc8772ac8b2fee9c9f9afc72bfc544b21d533746497abe659a2b751e9034ad4d141abb8b837e2ba8e64f2b885d525 SHA512 8e2cc18d61170f0fdaa6918f3e8685e25bbda5092b85a5e6391a801b0bbf5368ea64729b467dc10747a8afb017afb9e07738850fa05b66af1070658d95fd904c
-DIST firefox-89.0.2-ff.xpi 489338 BLAKE2B 616154d7cfe9446f9c5a6496c307589d2d5341e61088f21dd08806d535f6684f56645020afb363ffb239322d9d295b8ab453d53d688490012e55ea8fa3535229 SHA512 4a6c21799bfa16f58a8632bde4165d7cb615a7a6fb0af0efa2846c396c92c34f0addbd128f66b28be451b338cb1385d6c634b572f1465db9c417b17218503519
-DIST firefox-89.0.2-fi.xpi 545673 BLAKE2B 47d8d8ca3aef0584a874b8e9c3fe18f12847d8289a61b2f0264e13aa504d6d969dd0b0012e556887109cdd53011671dccad38efd53733e7f219262045869c283 SHA512 ca657db092a1fc72fd59e1e3fa8e3df131ecb9d8b1d4553ab092259518c46ce478c7b3d5d826e46d6a64c92f2970746027745d85f660a594df0eabe3c81aca6a
-DIST firefox-89.0.2-fr.xpi 571567 BLAKE2B ddeafad8dc6c038ccb971f7634cbc1b2ba206e7bc10e397d703cfef07c8e5b97c1312cb18c75fb799cb1c032b6a731d499d56a6144a91102613c167fb0ac900c SHA512 c606b41bb6e90b790a1a71abee2a359b692dfa953a10dd6f660d0f61244b5ec357c0bee292ef11f221a2f91ec0fe7c0cf32c4bc0d3548651dfd76677b2e483f9
-DIST firefox-89.0.2-fy-NL.xpi 556346 BLAKE2B 0eb40a57a5b8d9d8c5e189d9384950f8907680e0d53e57df04d6bed3082882c6e7e9cbbfaa9493a4e06494b0af17ed8713ce6c57324aa92afc8810b4dacbfa13 SHA512 534ace39c7ba10d6b45fb6321fee0dcddbf5c4917cda44128929ddc3da0b09baba981a1b625d5ce2ad41fb9d4421bb1d2cb6283ca20bc944f109a9bdd632ea88
-DIST firefox-89.0.2-ga-IE.xpi 474432 BLAKE2B 820c23b2222c51d996c84166db5639173490ca55d69e8c025bb10325feb4b73c436c9de718a9db1e3a06201d357960f138d152a31bdae3e528a60cba06b69717 SHA512 5eb7a6670b9e34c6e25f677f6136e00a7628222d6372f3a2c1546f15616d2b9e2d8f8b57ad30e54e12f620f70219c6c5ff1392c443f826723bd9bc121110bd2d
-DIST firefox-89.0.2-gd.xpi 504559 BLAKE2B 21476b9c67b5ab0c3e67b07f421682ff91381ca1a85c4f012f2f767b52cae72425d497b737c5c7c2df9d15bf3ac4ccae0d3c12b5e8fb85804a187913364d0816 SHA512 c8d5a39694965933e5acd8d67e7d207d48705333a7c5c9d84691c459550c9156d8b62ca52c18bad76551e9e234985ec33a4822e605465f4c6c08f0cd720ccad4
-DIST firefox-89.0.2-gl.xpi 555893 BLAKE2B e3cd65b9e5256493eaaf50db0663d08cf855d45b99694123019020636403836a31a5acc3fd3bdb8a123152d96c47401b7e27f0f3e82f8456adefed6c7003efc5 SHA512 65f2e9600274862146d101d93d1f4e222aa53c7a3c80884d6c688de0131aea66bda32d0f4df7847ffa8e9da4a94c5b6ae1729772977c90122b1d662a5a2f7366
-DIST firefox-89.0.2-gn.xpi 571591 BLAKE2B b14cffb526bdbca93bf96e7dac3fc9cf8fe713cb5b92660427d934830d6138a37ce7f3c91fcbfe44e3e14c5c33ac645d9b3ebae89bbdc97d2725a6a324a6eedc SHA512 79d1a8327bf0d526a7b9f0622ea3a23841f8c80c491bf622a367bf133158df16ce69195bdf726fd07924df7aa7167bdddea36d575c2218b75874383ef7b7ff07
-DIST firefox-89.0.2-gu-IN.xpi 548867 BLAKE2B a24b341362e78e764132646e260b7eb7647333f33b13578cfb4434467967b1a25821cf696702027916f0682219b1fd5a04911c35071820a62a43dab6ba698815 SHA512 51e1cc46464fc88a59583790d10b3b6786459e3776c96863f437662561c08ed3d2e55299a9ebbca0c968e747a1707749b22499b9f99b2c357d66303351693c04
-DIST firefox-89.0.2-he.xpi 570355 BLAKE2B b912aa996c2abcb7e3bc4ba5c832cec2e1d8f7ff148bb9b4103db3a31c4310ba44b7b2b24360024fdc71bf9d7ffb317aac4e089c1f3e63ca84d4cb35c4dc4610 SHA512 7f1fd902aa658d2b55cdad6ecdfb35dbec99ec3e9ef3bca1d3f847b6e8fe8c2ea241b3b15b57fbc9d7f29bc4f7b617bd1df61e60ffabd5009bfcc1c4cbfb4f36
-DIST firefox-89.0.2-hi-IN.xpi 580698 BLAKE2B 26ba7b4bb028f8ad869dbf7dd3eb1bb50a58ed7f6a83550d2e38b8c4f2855314a109d38e84021733b3361300e7b8078745d7484be7572afa4f85de3fdea51fba SHA512 c42423e043bd91386da10369ae410d597345305123fe2bcd951640cffd3fbc4ba210528baecdd9982231beeb83beb6614cd608d7e007ecdd48ba6ae76b2a5d66
-DIST firefox-89.0.2-hr.xpi 550879 BLAKE2B a61101a8a005b993da66a3e442e2c684e3bd55f2078a04acb1bee5f3e25e1e99512288f24010311186dec05d6c30ca9850470f7660dcf07c4c9ff18e3e7f86e5 SHA512 9a358f21c3bf6bcacf37ea8494f8b2d0780816eba64a93e0725dd7b36959e7833b52e491d5cf40e06ec1e9e5207286d26f0412ce4d767f83da68a5bec8622927
-DIST firefox-89.0.2-hsb.xpi 576371 BLAKE2B d450350d41b49d598376a4f0f5a28ec53149128bb973fbd1c5c0c6098d7f2b21cb39b6e0b70aa42b4086e6cd4ef0cae54a4387b78a73ea6593fa4bf65e7ff950 SHA512 a82299ff8bb95994f372eb19b115beed2fcc40e538be936fa89ad0ba1706bf41b23e33bb5bfae7996a486122cd6bd307c2822d4442d5056abfda45fdd6190574
-DIST firefox-89.0.2-hu.xpi 579989 BLAKE2B 5f0aa5fea423628fe2616a2da70745b341908589b6c8d4ee6f7c22e73c032d6077ac6d1f1c9be5fdb2248840bd1788146861b1aa699adea21707a84d47d6a24b SHA512 3f050ca554d0bdd9ef4b9e0978d2eb416d11240c867a963ea35c3d363a625eab81e8800ed917a57e35cf892c384f735cefd907f682e5b4d23e5b8b95d5649e00
-DIST firefox-89.0.2-hy-AM.xpi 605694 BLAKE2B 3fe7cdd44511bf77471653fdedb11381f298309d829ef035cf6ea9efc6a8e224cbcf9267f70963fc69d8625f11a782a7fd341ae0ee9dfeda6d6776cba88579fd SHA512 2055055989fbe5198c71ad485b255441a911ee0029e0901f9fa47703d9689eb6309e49558c0fda35948622e93cc6833eb63a644619a306ff2e4059a79758c527
-DIST firefox-89.0.2-ia.xpi 545257 BLAKE2B 212f4ff8a8d5c5c9f97a85b9c375a72f0fb8adca6953d3282dd3cca7e80de42fabba3126b7860376d8af03f64608dcd40a1f153b5fe1966acb69de44d419fde5 SHA512 668a2226b16ad3c75e0d947291135572d39ae33e93c85fac5b9c0565b6e81d4d4ce334f5144a65366f055c81e8790379b8b23c22c8aa27a7da67edcc83557365
-DIST firefox-89.0.2-id.xpi 540522 BLAKE2B 55ffa59456a83f416462b9b301ed0f0da728ba8faa9da01544abd75f52127880aaa7ac88fa7c5d00484f20e653ef4d01f2f8ff49bc4e82f6fc030f6b9c872cf2 SHA512 f15a244b595ccdb13d635968f7964ead5baf1aceaaa1e12d81e1c2f2587d6ebae9516516bd28f2a975a7ebbd0bbf690c5d3293e19d46977655ae70c0e274416b
-DIST firefox-89.0.2-is.xpi 484996 BLAKE2B 8f15185aa436efa6f80d3eb3a65583e0d9e8e98d2cc0c9264de2d3057a9d0e58ef1478648f51df56fb35e908aa672602a0a4a5f184e6278d7bdb72864f6c5089 SHA512 1b3a9f5c095742181ec58e411d712ee8d4c255a6dd447cd96add54406679ea25e4f0a67e3cbf32e183492fe56e3daf545962bd454e875ef6f98cb6be47e6a116
-DIST firefox-89.0.2-it.xpi 473392 BLAKE2B 724617f249914104faaeca90eb8a2f04814c8b512b52e94a416bc977e5500455fbcfde557e5b5024f77afb4e33ab6558e2baad32abd1347755bf5be016c3874a SHA512 266f5b572171a82e5d95317115b7dac820a80c867a167b218633209a599207d2aad1b15db84d32c148f82adb5b18c1a1b82f167a8a4b7c6bb0c04e49595dd8f6
-DIST firefox-89.0.2-ja.xpi 603225 BLAKE2B 13ad56c035e9156124938f5b938945b32169c8c577506da4bf59cff7b98508c93ab491ea578504e3590d54de9a1f1cc8b22890c1aa33525319fee40cd1716e8d SHA512 26f5a824e8328f99d32a1c36c455fbd65e2b4d021d7d5fc1de35a321328f35f43d16efe3b07849aff12346bde8b8bd1bcf3eb4ce056a818ab72b76b135e11d76
-DIST firefox-89.0.2-ka.xpi 608151 BLAKE2B e0ca0ebba810a16f1528eabfed4964cf24730edf5261c3c441974b7cff67174a82c428360d496bb5f0f89fadffdfc031a2f79c74c446c4a00ca5834e1f367376 SHA512 06cb4a1799241263ad072bba8b081b615fb63e9f123752af6d48927d0391d7a946e7bfc228252a58dea6ab6bf66367429f5fdef592b0d1f6254ced0d7fcfa3f0
-DIST firefox-89.0.2-kab.xpi 563244 BLAKE2B bdd595178ccf92e0dc5c8bf24009a6ef238df251f44904cb99a810a54dd5fb3efd771dabd309c5126b0734d74bd72893695797a95c2586f4b8f4a79c544719aa SHA512 4a14e0ea1dccba1768ffb63b92740eaed63b7059dfe439fe7220fac26a4a53775b4be2b39d962a72b8f626ec0361a0d9dd2a00c272edc98e59b96a42cd02b730
-DIST firefox-89.0.2-kk.xpi 622345 BLAKE2B f7e502754d2d0ec7d13de22ae2eaae2d637cf1dbe572d52879a91306be0fb7cda84cc33449051314067bdcd09a3bca37ec5efc368a0269f8f55ace34cfe38b2d SHA512 ff4b956aca657836b605f0504b05ca24527d3a68c9a917b35fa8d6bbf43fe211241a1e0880a4bbdabff27618fca15e27f28c925b23b462b54f77891092a67c25
-DIST firefox-89.0.2-km.xpi 547441 BLAKE2B d76376469e50618861457fb18acfd4127a7b94fb6dfa20c7d229f6a1b11dbb572d377cf6181487a1283939a944b5b39cc5d898802e51b151914acf0510443fb3 SHA512 9ef05e53f345cdf0dc79f458f669e5e7c462e6b28dd70d3ee99315bf6462affb4a9e535787e4c0a861090e7f3c110eab5b481f6d145732c29c815c3052265af3
-DIST firefox-89.0.2-kn.xpi 512031 BLAKE2B 8158b5f8373d54db9b1076f9a114ef295f67875edfd95ce8689f5f279150fe65d2171de18cf763614e63aa94cb22980e0c58495314ab1f685cdea3a5e109ebb9 SHA512 7262b3d7f8a8d7d2e25778bed200c3d87d5ebe26da37bcecb5006e0d249b684d1f094af2db994726d6e63a0d38cd456de08d57ac8dfa137802320996550d7d37
-DIST firefox-89.0.2-ko.xpi 591718 BLAKE2B ebf8443c009cfc37ea93edc84bb7d3295a1d7bfb00d0b92a30b06556ea12e50a0e1f31e41c1300b8a26cdb9ca19db730ca0ef526242a1a03f615ff1731a1e8f8 SHA512 1d7dc210fea56fed70283262efbe65ed3e41d48beda8dd508831a75eb7c8f8efb612d3a2bf7b6949bb76f6e1b9fd588c311e144ab77f828b53a93cc879e3d26b
-DIST firefox-89.0.2-lij.xpi 483438 BLAKE2B d55461cb5d8351cb5d04c9733fe9d11ff9e57437a581f5a9eaeb1e42f6db951f991943e9952e8ce3de678e4e61f57ce5262b89481ee9a966bbba5c84a33e10ec SHA512 5970552824bc51bb1bc8f6a7152dabeac7d23374b7f53fd0e5de8778202e9fa126750635975c107ad7eb9e61b628b9a428ed227abda87882f37b946c2120e06f
-DIST firefox-89.0.2-lt.xpi 571819 BLAKE2B d2bb3dc9e5e6665e358b84766ff2c2c8ffc087adeda4969f2f5117c9850adb82e5512d49af48361c3dc3a074cbfb2f7207be1e7ae593624cf5695f022c4946f4 SHA512 be17986d194bd1ae988416b3b08d96366944f187611ab022a31207262af2504a396d9e24f8b387b90686ee6156a314502698e949a76455f85c569194d2ad0c54
-DIST firefox-89.0.2-lv.xpi 476951 BLAKE2B a813e04ef2e0e26e2599a59af3e18fb52d86c6282b6d6aade6ec531ed1aba0c594bd9df70b0c919ef3b51a9515f70c27656b587628c143c146f1356934a6f375 SHA512 523371bd833ef831d4fbab91d9c49a4ad15cbf7f3e2307475f1ed8c59b0f2aa6be7aa72520361020f4efcb8f866b08a030e7dc36f2296b6e363b16aa2a6c9591
-DIST firefox-89.0.2-mk.xpi 473640 BLAKE2B 4797a6fe9d05c306cb0255df718c62aefa349cf8a0dfdd56948a436d0915a322c4c0c53a670f0cc9274f3df6b1654e7c5366cd03d78ad0e2f969d71fd2be0ca0 SHA512 10e3fbef9f70671c55d530dd61b3d670fe06118339948f35e5854213d819192b8c09bf3d78a5ed836de3a9b5caf73443e4608dd121c813851d27e74f91199966
-DIST firefox-89.0.2-mr.xpi 549046 BLAKE2B 98376f97c2ef77985bf1abd392c249245a5193afce780e55ca4e86c709e9cf141c48272ae8a31e780a6fbdad89c28dfa9462dbb7bdb74c3ce6ccdf077fd447da SHA512 da35ef1ddd137a9b3a2c3c084265d4120dac599fa2ab8ef236f5a9151d8d6a2d494b1b08fa9e7ce9e9e6b00238cfdab44d43f74302e8746a66dbac4bfb96e0f3
-DIST firefox-89.0.2-ms.xpi 460550 BLAKE2B 0d23b4d295cc32f8d9193ae23625f3e4d839e902ae0bfb38261395990c1ae98759611bb1f1b14dd8b804d3a61d60a1ea7ac9183e6752b5de1416f32097185dc4 SHA512 a6452dd903121bf2958515b976d5e1a659f79be93de22e7aabad40d13f13da8c862bb9f2c5f4232e0b449ba13af4a6ffce0ba1a2ce4ddd4ec5ef8549753273fb
-DIST firefox-89.0.2-my.xpi 532586 BLAKE2B 8cdcbcdb4d7b6f0300dd9d81238493bcb6171f8a50d4f2a27db1f005a847d9a3a4c2f397fd582d86c4e76a19c47c2f5c1493d6956bdcdc18983f9d3c93a549ed SHA512 498da0af4cf59ae5cc2fac33d5ef531c7aaf98876ac9679a159f527cff0e02d449aa0b07a33d32c145ae370e82bd6c85a953a1e13ca7808a16c371cfff8f9c9a
-DIST firefox-89.0.2-nb-NO.xpi 540799 BLAKE2B b0fd5878743b8efa3930ac395ecef42cdac880a7ad39d596f2dee6e69545b6d1aa7820142af4cbd2ead655565d01f57e7ed6f1d6e31bb1289bcb8b5479acbb2f SHA512 8e9ab743db0e57d4d709ea262311edd30abcb06c6fec9bdafe7fd351177279b044ac3c8f2506afd0ae5ec28c7d1d0184b0654b6c3739de8b8cd285b03e55c7eb
-DIST firefox-89.0.2-ne-NP.xpi 489570 BLAKE2B c0b0b59fb0036cfa89f5393bf27e8354d4f0fbc292881f9dd3bd34c9797387239196a8dbc01c1b1217e256c893634c0be41fe0d8c9dbc9f7edf24c16f6d9af43 SHA512 ca8902f1c9962f95379c3a923486b5c22e0a3cabccec98b0b83ca20119be1e29729ef58c394f1a1e87c5444dcbdf4e95b4898e514f9b9a4ba0c23e42559c413e
-DIST firefox-89.0.2-nl.xpi 550259 BLAKE2B acc1c4fca104bfa86494763febed18268248f4f1902d2706f62bad6b5b7d7361c4d59e7b916957be94fe65c9e93ad1f787dfc7dbe7f91352d8e401603aa28d59 SHA512 a08ef799e0f49e8d3e686af4b11fc9e93ddb88145c5ad9a311201ceb102b431aee9f5c3428e6c713b660bb4f5413b8ec0c45a1c1e581956f1858c150c1ff632d
-DIST firefox-89.0.2-nn-NO.xpi 543878 BLAKE2B 2bcbbeca88972dabdcca90446cbca20d6a9015febdc1f2edfab80b325a054d28c8c8f12dad2c0c6e3a16dba5dd8417cf1d1e62a47d7db52a04ddb1f0f358f05e SHA512 f0dccb61ead554a0cae6f45db8971e4fc915f65d68a8ac3f3cf08d4df5b38e7510bb06161c5608483c92fee23a9c77de166e810edd00888d163a64adfca79447
-DIST firefox-89.0.2-oc.xpi 565239 BLAKE2B cbd2fb22200e08e78084a501ec2317cba0c57c237399325adc3b544826b8d60b7cd9e169bafa9cd1e63588a3219ad53458f624bc4e8881232501f69bfa5b466b SHA512 59d1928ac4406e55f8fedfc7bb77f1b26ff41c79132266941b5b3b9db87a54651c9873474a6b2bf203407729ecd88705146f279fd3fd153750f173930ef0d621
-DIST firefox-89.0.2-pa-IN.xpi 612306 BLAKE2B 0f490404b8b1f3e150902d7593e5124d69610bd10659c503dbe59a1a51d71d35e48ccb208fa36d30c7d69001d315b81f9f6aea84bc550c60a5a8e2b8159478c0 SHA512 66d8a3374880a3746b80cba19171d7de81384739d84899309c0c138b243df207d31861108fd07d76a626f14aea1cb3d298858ad67d75e955ff728c66c98962b3
-DIST firefox-89.0.2-pl.xpi 567575 BLAKE2B 4d07d0fa7453ed794e7b3a979a68565223e0c6e4e0f49143472f80992812584995c740a91b8c0e223cd980efea033e1447a3075d72c43d26cc7dc6cdcd581c35 SHA512 abb2c8520af05947f58b9b60c49b440e91d38e9ade27c8806561b8230683638e67d49373af4036767749d59024703b9fb1c450280b82fd9ed18e8aa9e5b4019c
-DIST firefox-89.0.2-pt-BR.xpi 555983 BLAKE2B 49562cb68949c47070720ca22829f835533047bcc892ccad36553fa3db35a7720a4c8a4f6174b4a44d56af9db5a6d5db92a82994a173d31bd423449a22af2e26 SHA512 b7af0236a1d3ad537f843e7c57f2b2fdfee09d9442a183b782b99cbd6d53ba4a9079a8912bc03fb2225235b39673753ecbc5702074126d5904fe24335649947e
-DIST firefox-89.0.2-pt-PT.xpi 559650 BLAKE2B b3e9f06f20dcd945285705a4556a89e61b8325e33f77155c6f2e539b548d2072e414a12eaa20c59690f6496f4c36dfd3bd2da80757cf5a06eb54e6e717cf0790 SHA512 a4bfe3a1f4dbf3674af831215f441116feb610187a7b156363e294e2b4807d83fe93a3bfbb4f3e84b90b345e858fb2add4efe2815dc0218ea4dde314f37ed773
-DIST firefox-89.0.2-rm.xpi 548893 BLAKE2B 87748fc3dde2e7bae2f8416dbbf8eb9741598d5f94375c5a144988de97137da35a00a4d45fbbc8e45214c02212c413751dc91e78b9770d35cd818eaac7133664 SHA512 f5a3d751e45eed7749fa2aeae0f4e3cc7455d0b5fe72483feff0e72de78bcd518dd9e15d98d54c6b1d198b66cb30fd1b165f13561ab9fad794292da841b14970
-DIST firefox-89.0.2-ro.xpi 543409 BLAKE2B 28af45766d7bcf8867243e33e01d29f71beae4d3bf2ce23271e0047fcc4422f27dc3a8c9155c84dd67b135b6e53977a764b1a10841fa62519a57e968e732a1a1 SHA512 ffb9a28b9f1e36657082d10d466d0a4e83ecb3e89c39be30bc7d3b7fdec74d511bdadb572788e43d650b4b4f1ec5b3ab34a54336aef58b5e19ba538e6f122b61
-DIST firefox-89.0.2-ru.xpi 643056 BLAKE2B 4d14dfd40cf38e96069645ff98d456d2f4d9d5394ce77ed6d65f1d59a03cdb0d9380f8c12c2c31ba86db62c9b49d3ab08ce067f640ba86e9e678e3976358749d SHA512 4b17b2e637f0086020fe6c073ea14b57419822b296b38cb6fff7dff0b083829d5bd6e4ed5d597714da7d44b371a66a0a9ea220e0ba9282452e72cde36db1769c
-DIST firefox-89.0.2-si.xpi 498542 BLAKE2B f76a686ac0d326c8306c49e28d454845c5468ca5e88a75a7612555a00c2665dfce825f283037df3426025ff1ab4ef977e78dc117ef192c316aa1ff48a00baac0 SHA512 2c8cf93972be48853b81de7d5aa9e77e6cde9fc5b0a51c17d34cbda550542d2d4bb119acadeb108cbea0e8378bf4b7089ca1ae5669a4e9c5568eaff2ff4db581
-DIST firefox-89.0.2-sk.xpi 577643 BLAKE2B cb129330379bf9681fe940c5defc52b4f64c4635729635b1389859c58bab71ce479f3da9a8b8102ca90b082459e0f40170b9496d40e9c4aa6a56f3a373a66751 SHA512 70f53a2566c85e529fdb4884d88666a84c363f5249a4d48deaa1302d6886d6d563ccd069e3359dbf10b9244bf2b9d080b1dcc0ae4ab98842a5186c0bf9c6d539
-DIST firefox-89.0.2-sl.xpi 548741 BLAKE2B abfdd89c976e42df6a7dd8bfbf121bf93bbca8deae1ec49144468922f19eac960212e382f3eb34579e0e50837b47fc867dd4431c069782df74715196fb24c79b SHA512 8c539b050e82c36ab86672281fe3325bfae03323d2b96a88b12ce87319ef24641838cda5d81668abc4f3629b1aae0370cb4661f0d80a7b3bdbeac9fffa49a384
-DIST firefox-89.0.2-son.xpi 429309 BLAKE2B 65ab28fd243ac6ee5562f7490de74f1a01aebd161e356dac1fd91a4c4966a41c5fc11364eefb89296daadd5e4a710f47fcd873940b4b445f0016c9cc57e11889 SHA512 8380bb066a1eb1fdb69ca4afe0652b59983168a73c5ed96d9168786f959921dce1bd5efe578a26f2886e00874512a023c50aff942dfc1bc8356a64f060224dae
-DIST firefox-89.0.2-sq.xpi 567154 BLAKE2B 65e14ddc267d01d1f7ffd260c91439c207f433f5bbca3495f960cab343bcbbc152c6cb84bcf8ff2428674d4c479d0769bccdc030cd6b21837632498727548566 SHA512 844898aa7b832269bc2896c1efde843dae6b4f423c354dba788a3ec2eefb1cc054f7309784e143a4eefce3c65891861d90502f230abeda20d1b62de7be01c2a1
-DIST firefox-89.0.2-sr.xpi 602622 BLAKE2B 12de5ad2b99ccac85331435d81733fa69eee9dd13b3e873866413761dca5fb21225437710a0da4d616bc534cc1997c1da7abb27af3f9892f82594fa54dc97e15 SHA512 3e757955313f1109e5a8da9ba7bae0bac9b8ac69020b4a0ac1462a0dc71c94ed6c7f1a9c6aab21e112204191eecca59a39ced5ea141341b37f6ba88bcb72feb2
-DIST firefox-89.0.2-sv-SE.xpi 553406 BLAKE2B 9afc8ca2af729c15843538f3ebc697ba69c4f330713f23f287acf2df99ed8a049329845aa04447fb1a736c2a5ff6da50a4ef1a89bc788bd0d14c1c6e6bbe84ce SHA512 fe425bc9f4e62efc288fb5e236e077a671ff89e01bc92ff3cc04ea7e5aeb5d897069119a52e1ed94406ad597200dd5091f1c8da82cf04a368e9e61448aaecca1
-DIST firefox-89.0.2-szl.xpi 525890 BLAKE2B a3c8ba5bc737eaf8b87d88693f19de63482d6e03b3d28e1bd4d3ed5008484bb82db6f26412d274ac379dc37eee0f4cdbd4404aa62809ce7331f6df18f78a72fd SHA512 660550a30944870f5f67c04868e8c3c2d1b121167853b85ada7c3bffefceb3cc3d9cda0aed42531d9130782fcd7da7258d3035f03a2db64ff501856c5fe18b4f
-DIST firefox-89.0.2-ta.xpi 527592 BLAKE2B 004cd1653675f75e918f1c7037688efbbb8c1d713359f9f6c0798103807d291b90da969aa9e33f96a9e47cc20bf1ac44b047087bee2a48468a0959555489dd5a SHA512 535b2c12c54b09ae47edf11aae58eaf30355e75bc98024aee0eec7802b767654c48a94f409b8dd357b7792b82fa89e451c76558c48b16029b232eca3af03f34f
-DIST firefox-89.0.2-te.xpi 570054 BLAKE2B 66e8dc3a8cd9be514826ece6f9cdc4b0975a58ddd2997ca77dcf7135281498f295acbf72d94fc2f54f654ae87080095e149fe44be763ffe539c86999c1b39166 SHA512 e1480f699de3f7ba8b39a3b797a88443416b1540a20efd08557da3199f40d5d4f4571d122ace398fe8d43ede9540e2743e64d7c9ed7558f4e1c932249c018bfb
-DIST firefox-89.0.2-th.xpi 618977 BLAKE2B b348fcf13cfe998674f71aac6d5291dc625aef11b7521b252a57983a2a737e03abf1042a9ac3e4c21f45abdeb498f87fce3e1ae31e36478646d6c1ffc3dc1c75 SHA512 a9566f8cf4e888c5e73a7f0f902fd38530b6aac9932bcd5be9409368c325e925ba78c468bff8192f317a8ba8e432bc651e7acec07010d37facbfa5d2d36fbc91
-DIST firefox-89.0.2-tl.xpi 529533 BLAKE2B 9af410e45a39c1109a075f16b4574283365148fa452a236bbd0de4e84b684e65ba596b08bb9ddb688db845334c762b714e1437d01e4a128b9a0ebbb4d2a5d0e4 SHA512 6717ece59aaa6806cb1cb576e8bef3bdd53fbb8d89092ce8fcea5787ba65d2290f168196eedf9e17e880473fdd649ca040c80d413d93ef46c1325b9f4bfcdf34
-DIST firefox-89.0.2-tr.xpi 565810 BLAKE2B db49faf5777dc32e814aa408cfb83f730e54f45681d4d9738c192ddc250dae5936fbad4c9fe9782c1442152bb0e6b62afa5544b6ea6fd6172c8cbb7871aaf710 SHA512 c1ad899f9cecb19569e6bd4c551085ce82a6e99371ff2fd1b532aa63915dd121bba7615762c3300173e81fb13e578a5a3dd8c70039ad3dc7efde463ea53705e3
-DIST firefox-89.0.2-trs.xpi 507975 BLAKE2B da0fc99cdf37144c54bf8376824f9f18665d1801085a60704f729535441021c9153cb7ad05410d1633be2266b90a28d548ecb1f3f63b0301b3fe244cde41dba4 SHA512 5d9805265977f4c90fca72570eec2f980c4f940ca8348e343d024bdafd1d580ea581d0d59af1e554b485bc9219ceec889327f00fa988c6ddd01baf8658662139
-DIST firefox-89.0.2-uk.xpi 636754 BLAKE2B c237de3dd387abb8ae4fd93792bf4da48929a62d32bb2cecd38e70e807fe76ecf38f96314f05ca303b06a5acf8eb3c5d8b0e19f0bac740b6d8c21e46d7ef4d61 SHA512 09411bd33feb732713214ec09d0029baf4cc8810a1edc3c97cee197a09df263b411b811f780a92781b286334e610d64e16a028e9ae880044a15b75e0136a2617
-DIST firefox-89.0.2-ur.xpi 570276 BLAKE2B ea77e15baa79a631eb88dcbdc58d0dc264d8ae6822da104219c1a2f3e7e5fe12f2879aa24ea568b113016a983e4f7c3cb1e005da85225d77d9eef7ff58ef9609 SHA512 7f9836bdd83f1a688b54f0237748ec6f3dd6c42381ff63837bc15ef78b78ef98fcd878b6c9e4d1ffd3fd2795bc14ca611280998cd8d3221045f853233798ee00
-DIST firefox-89.0.2-uz.xpi 484317 BLAKE2B 83fbb36588ffe3ee9b5c7ae3bdd43c334de90d30c93e0466e95b4c684ec96f078d335cb80dc786a6904b5729f7f4a2c6aefc4ea5b74448cde9031d836f7ff9b2 SHA512 3751b335d71e06a85e3d72f8745915637e12b29780f20c7fb26935d85f81c6fecede2dbc0e1b56aab40c15d5217847fb412935cb5d586843d2cdadcb2483b516
-DIST firefox-89.0.2-vi.xpi 587754 BLAKE2B fef2b5a71876894290dea36db697a604992763dbba5a1ae320fe6758ec16e1dc1e77e6e18a03242bf6c1dfbbf94c24d8f4648db12fb742c2ed5bd4e039cb3bf2 SHA512 8cfe190006d17608af1ceccde25aede55a802b7a86ea5266f03aa1a0f4b145b895a39668a5c0721dcff651d136b976716373246d3ff15a855774a72f470cbe61
-DIST firefox-89.0.2-xh.xpi 431446 BLAKE2B 55de4b86003b82a1f6c0263cdd385f0bcb661e977505b721712553a527017970beb1b8faa15f192549780c93bfca6153c89cef8b9976ff2dbdcc9f05ef039087 SHA512 075a0b90852a6f476b2ca3b3de5d26484e34943292017c1e0376f64e278cdb750c8ecd337a07138f97a27e36d85b939e0faa035ae8a9d68ec9adb30de83a292e
-DIST firefox-89.0.2-zh-CN.xpi 589249 BLAKE2B 86579e39b1ec66fa2dca51d662e4fc437e1c8f9433fed471d0a12a8b1209c4060f2e745d7eed8ef81e7e7762eaa3ff19c45c85588aa69014230fa538cdc4219c SHA512 2b2fe05e56525cdf594a781d05626206474b706db9e89ee55531e43cc2f9161002e9286c50497d7e6c608978216292691f1944292c5c4da6c872b44891c818d1
-DIST firefox-89.0.2-zh-TW.xpi 589746 BLAKE2B a350222846df22392e9130bc12e03241ff7259bf20ba3495aa27e593c2418af4378bb7e6e526cd780b4a4c7ec1b35ddb87efeedf9c0c94ca034a923eda3ad3a0 SHA512 b6a65deb40680233a1724121090ae57eae2b2764ba92af7720cd4b185b9583a9b68dd9a87eb9e8c3bf563b7037cc3ff33bbe36c8a7facf624b1d75dc785032d3
-DIST firefox-89.0.2.source.tar.xz 371053016 BLAKE2B b066b3fbe4f4751ed3cdb62e428a86c4e36996fff6689c20e25d9dd8f93a5ff049cabe5f5dab84f9daea4977d6310f43d0098d3e3fd733f2155162a6ce4785e9 SHA512 ffd98ab0887611c5b4aba68346c49a7a31a58150fd8bbae610a4d941c4cff0acef0daaebfbb577787a759b4c1ef3c1199f02681148612f4f5b709983e07e0ccb
-DIST firefox-89.0.source.tar.xz 371153536 BLAKE2B da5d1347149664c2da3315f9ede38c576d64a532daf10a46dfd2f7cb226110aaec84ce9285e50c151c8665fe2bf3df1d8de8e744b0b8ccfb41103920c10a6b3e SHA512 5089720feda15d054d0aa4c3bdeb84760314dadd6381d7360e688d8e396154868220c6315add650d8d2a42652cb8a9bfeb833885812ef0bd70a74ee58ad18aa3
DIST firefox-90-patches-01.tar.xz 33084 BLAKE2B 943f5f9f87c6ce110dbc52e78a58ca64ab11cbf3af01bed8c0d6f537baebc0ef89455f01b966f9f052f62ec7124fd0b4019e27e410ffaa0530874e5dda73b01f SHA512 90689ad703de17c02581a6b8aa1c013b9ab96da22a17dbb8e06fc9a5fb04d00358df9e44285b5350708b366b32a7e6c6130ef8dcdb74b0f2b5c0dd44293ba825
-DIST firefox-90.0-ach.xpi 467563 BLAKE2B 32799fb03cbe4c5566709b2109595c651f47095ff6996d8fcf751a900d691232f705d01cc3e5ebefb3854051702ec8daa0829ea7a1c35fa77a3449292bb88af6 SHA512 c623c3bd9e1d33aed1c15eabbb1996f3e345385cde7c0f07b7f8d08cc555c6cc845e7253a7d23c85616c1d82ebf79785657ecca6d7ef2177c76f73b619c7aa28
-DIST firefox-90.0-af.xpi 430689 BLAKE2B 3deb87157618596702035faed14d3a15980b2e02dd70ed29b90b8583084649b853aa71bcc306b8f2b25b17f8143cca4b9faf30913a5e284399c1b972fa4324a2 SHA512 8be725c9bd68647eb1de148682abe62220d2314a177af5de4986cc3b1b29b57204461aa131c8934bff6dff01fa482eeb454ff5b5779b1f059a66b3901a5dddd4
-DIST firefox-90.0-an.xpi 515442 BLAKE2B 48bfa7ee2a1f7bc1fe923d35feeb0a822c3fa576c70eefd9dd2b422a8d1140aefa8ace259d4a43c4161df62b85a824e402839548560e06655e8e9408ec9fecd5 SHA512 955f6cdb3bbc460f35a937e756e94c27336bc2fc03fbe9c617fb0a1b078e60bc21aecf5ccda5c04e6aba5ebe8572ec8896dce160e5454c686732cf7198af4c62
-DIST firefox-90.0-ar.xpi 580212 BLAKE2B d205daeab110cb91d0d0e00b52bc91e0bd50e28be89e09d3ed8a66562f5c0765e26ad085fff82cae0597bc8db14ac839be9714d24274ac42e198939dfc912942 SHA512 483e09e14a2069fa894c59700714330f6b6f71079a38375286e1d6de492fd8d06470447394db0bcdeae1f7f9585b0af3a0d13cb9ccb1f5048703adb5f2cde0db
-DIST firefox-90.0-ast.xpi 507901 BLAKE2B 53b3f9cd8c2ad1b0e92fd84bb168be6bbc5f9c9812135b2a07c26eb35c60ef96f2ea08ea5543edc6ffe8ae4feabe40d580bebc3d5b754ed391f77a0cf9e2c78d SHA512 ba6323fdb588370374f7ed3a119202bbc164efc6e880304b7684e3a324295b2e2f6ae69a7ab475c1d0c06140fc67f169189a19dd99c912d065aac9d0010b8338
-DIST firefox-90.0-az.xpi 503451 BLAKE2B a95953ea4e141533a6565194424c52ae18a256149ee5f7cdf1ae96b445dab707c91620a1c24052bfaab698bd9ae98c5b721ccfe6b931e9aa970ef50617794dee SHA512 a91d46a1e25c47af6c0a35e137cb30792e01279ec916b37819191421f9da3df89edbaf1d78bb66f2cc6bf097a231dffe99af17ee09b9b2882949a42be868c2ec
-DIST firefox-90.0-be.xpi 636663 BLAKE2B 137119942714f79c097328ca988e69fd6cf43f3fec8660f69931b0cf3a68b07d5b556ba648d83fee4d0153c5dd6b9996799b7af971477ed04b91957d6629d016 SHA512 a5bd4b5906994e348dc84cf87e536f60d1ec2de6e3ac16419cd5bfeea07c7ec26bed55aa0a7e567fec57091807c40b7f83eb5320e62f359108229ae6768d3e55
-DIST firefox-90.0-bg.xpi 590433 BLAKE2B 27bd2a13abfb6c2b1bdd4c18fa38616ee13d40b8f2ac654c0c4b943cc6ab7d6faa8157ac56862ae103f48efc6bc92be9c6b7143fec331651c3bbd46f4c4e3ae7 SHA512 7fa0da1229bee97bb794ab738f317dc92b944be545493f650d70a2df074c841b930aaa7b30a0ad31aa221bcb574c26a66a866b9b5d3fc71ac02721b66a3f8d38
-DIST firefox-90.0-bn.xpi 579581 BLAKE2B d71bee924b6b5ebad242afca2c2c6e3fe100d6ecc0ebebd1e1c92aab5f0c0186f4a09e36b72965612f19e5cee33fed0295fbf563b1be1b7c24893da92bb27dcd SHA512 54d35473905340f350238b0228ce6062fd297a8e0e75a2b810c8b23f4ebacbe665c66c41edb3399abea54da0764e524269b82b9971d164b68244f942bfd2d38e
-DIST firefox-90.0-br.xpi 537482 BLAKE2B d8338903de341d8953cc26e55f24576542ce260f176419c58bdddfeae8fd820ad0ababd0386b865833fa6a8f7ce89325b9fac6b440c09e9319ed30dd7f0ae925 SHA512 7f440a95f5685485f1f044d8a51c7f2f620d068378326f2d4fe5f3d7064a647a9a1a8766f76e80044d1a0d257571dcd1d8f4bc9645d4b97d5afd99bcc4006aba
-DIST firefox-90.0-bs.xpi 472329 BLAKE2B 369fa1661afa09732076ba20289879b40182e6a557ea5e8b3bfb28b6b80f3105d632635c83dae7dfa81848124423af48063378292aa62ead619c8efeba971ecf SHA512 93d02208fc1f1e52e88d4fce0203197e4f408b756c99d9d2afd87f8538d62d0d28b3b30924a5227afb9e43aafb1b0e9026e8f62ecc5c50a6e02ed3a233f8be2d
-DIST firefox-90.0-ca-valencia.xpi 548463 BLAKE2B 675978a75975c1675995c530a50acbc69512cfb01a6f3e0702aea62a3485c7300914e0a73028751c9523d9ac04c446cf64bfd031750e0b4bf5a2ed1622528206 SHA512 bcade267cfff945acf73bc25e54832860fb67ae4c5c6aa2b6b4bdca8ed96f51139bb89fd3b06bec778202c1c3b742b446df5b70fde360340cc070099bf3dc4db
-DIST firefox-90.0-ca.xpi 546572 BLAKE2B d31c776a9eda8701f64a3098afc2d7a8dd978f7f9cd65227d1fec33ff76f9ef4e298233f01f9e5f4cab95655b45c4e1fe0af18fea7b1a0f85aa6efccb9aad997 SHA512 24d176445e59841bedbc23dde5a63444ebd39ad34267bb0b175104160ca1307308f623428db91719c99b54e5e7ad6d33954e1ba55078bc09ad4dbedaffb02ce5
-DIST firefox-90.0-cak.xpi 573760 BLAKE2B 5f0e5d496b3d63013370df4711b7c66755eb0fe27313efd0631902633b37798bae92bcda2e80a438c884b1c6fba7b31a8cd9622196b40caa332feb682adb90a1 SHA512 3df9279d559302c71ad08b23fae14916104d7e71e1d526c0b9afbd010e251d20cdd4be1d9c02003518416521100193ee4a540387fff22c05d856f00b644815be
-DIST firefox-90.0-cs.xpi 577416 BLAKE2B 45c175f808c506bdc127dcee988c8b9d87f5937f1fe2715131a5c61798bb36a0fc37877ff7b1c77d05809d2cb599d26b76c171c18992b0c6800cf42ae3ca610f SHA512 f56a9995af925c012aefdbe6b033c5d0462261969fbdbcb5fc4df4d52a5dff4195966807168e0980dde23d1019f76261bcb1579f0798f518bd6a038449ed1ce6
-DIST firefox-90.0-cy.xpi 554150 BLAKE2B a490d71b138ae067a38282f171d7a68a1a05bbaf3a48686e4d82e77800e8e7b3064ee2aa1710a844b58cfa81338560099556b4380d73705b1691194afc896d6e SHA512 d31a25aecd483615a92c1e49f89a144b95b83c7824a768074d3f459dcad1f0a21e26a4e84defc02b107934cc1216aa067902be1513567af2517cb4e38f7cf2d9
-DIST firefox-90.0-da.xpi 543825 BLAKE2B 6ed1d88c459ca069111b03c3c989a64e9fa1bb93e25566b88a01f279bfc2488d2d26ace09c39dc6c26d3dc2382b26681c02492738bf25cf6845b679a44656bf4 SHA512 bd378ab445b1af8e7f5ac84158ad195ed5af17cad78102581aa308a53dccb9ece7678a744ac2fa66a27aed57f8648cc00a805ea3463926e24f111b5bebfc9a45
-DIST firefox-90.0-de.xpi 565902 BLAKE2B 4d4c383c0641a8db0444154d1dedd4bde0bc248b0e4f30b808da0504af397822beaee86e7018ef508f8f157619323e2a2ec2abf208215957b82ed3dd4ad0add0 SHA512 56378a0c6339e2020b43b5b00bf33682c1e9bed838f3018875b517ae031e2a2be041f699607ff1799897898f9025a14383eeb85a2e02577b06bfe3d21c862fb7
-DIST firefox-90.0-dsb.xpi 578727 BLAKE2B fa48732ba44d60039b66432c40a06a024a5fb70e671dfb4fedf44190fcf4fc70d471627e21000fe83a526d80ca303e936a6caecfe4a858537296bfcb4bd92366 SHA512 3a2dfec000f1767625a2acf64c7235e393ca5025d40b8cf7798b314fe38eff436eb0282c723fa18dd472249d7161eaa70df237b243c129515e67ee77d58e2e8c
-DIST firefox-90.0-el.xpi 653307 BLAKE2B 316f9167cbdc85f5d3c4d68d03e60f96a39b2afad05b058488427c3eca2eb3365575c3593af1bef3bbfc9384738f5f51f14ea1bceb20e922c69878a2cab72062 SHA512 0ab23944c3fd8cf5469d4735885957b3c0d60e61211bed09032eb0c7535f342ca15f1dcf75291c3ce5a53bd24b359bf76ecf97b105d6a89bf7b0e7ba88546e26
-DIST firefox-90.0-en-CA.xpi 520977 BLAKE2B fd3b74f5c93a4c8965e9a8904291932b703113e8486b956fe2446c3ebc39cd152a125a7400c818a3df94c8706cc0ae080b11c0a2b943148bcbe674221dd53c8a SHA512 e76081f56521ca5fb5a7b1e468c445f4dd4ea3fa45f5bbb4aa27b5ac918221030cc1609c533493c294e18c3e5bb1534ca32f0db94995bb8b9d76adca14274d34
-DIST firefox-90.0-en-GB.xpi 521292 BLAKE2B 40bb93be468cd6236d665b7e9b6b3dd6dcbb1305f72c909db2124009a086f3e3c41ff45f6177688b8a282b4190fdc77634326ca1eca6c67ab2706e08e63ab98a SHA512 0ead74b6066df59c9991b23a165f2fa0b9410f21c987502c4957718aea8e84a912ff418c98b2fcc0b013dbd93e32cdce4f2aa266c4b77719b8fc48f9a452ee61
-DIST firefox-90.0-eo.xpi 546166 BLAKE2B 2682594a5035eacf42878eae40671d1118335879bb13b7653b5e6dbf8ac0ce872ab7584c7a9ab167782daf10f6e4f830c6ff132e1fd6e5cffc10729cf2b869db SHA512 d71d6184f8c674f0ee7bcc0ba18c9b63fb3794c17f6bea96d4d37631af85d83c450f5bbbb8373847be7aa2a9b0153eb361666312ddf14b8e5b3cb4b732465536
-DIST firefox-90.0-es-AR.xpi 559086 BLAKE2B d5af456783fca0cb9cd49f8b6c54e250492c3d7aa18abe59d37f73166bf91758b12bb4818256e228c17f978fed692169e62b0b1a672256f2fd1b09787d757085 SHA512 118b985ab82a2ff336e54fe33e50ecf8596709b98bb22746f3fbab2d7ea0c1a5b54e6053715ed0f8492ad5cdb1d75bc7530d044d955d10c34ffc81579efe7a5e
-DIST firefox-90.0-es-CL.xpi 558215 BLAKE2B 1d2a20619f8a8e8d741e83d04996ff38431d2146a33859d9aae6acdf61f35adce111907d39178289ecff29a5ddffea8c687672f7b7a5498339476285fe5939c6 SHA512 499375fa66f30eab47e2025165f8bb1552aa7f6035a5b791033183538b4da932733671d1c49cafcefe63b7d772fe20c394d9bdcb91742b2af75543a025c4dd64
-DIST firefox-90.0-es-ES.xpi 548981 BLAKE2B 16bc31f2d79673e3eec33e2cffdb3ba5558885b128c07fad0f9c3792f3622851fa368a4abe4a7ce64e3266a04ab957dbf9160dd08e55496fd523820475da3a96 SHA512 a5521aa49cdaea721f2e86ef87a9a44ce962f6608af701a8cd584bce2f40dd21b88068fb1ae35ac8e31d2e5898fa1448e9e60ad63e4485171adc3dce4cf88fad
-DIST firefox-90.0-es-MX.xpi 562423 BLAKE2B 31f0a644fcfddac653df3a65737538c8328db89acaff6f0a5d9e1a6a235b3ce3d8f6659453b6cfddd668444600b354da0f75ca5a2527374521ace8b71a7d03c0 SHA512 39e86fd91bd0dfb9f2bf9b2a125f5f24933eee46e5bd4c0b8a8fde58be2553d06aa64e78d55d5bb71fa4a18e32821d9cfa5091bc9e0f2638a6c00a7ad2b18f6d
-DIST firefox-90.0-et.xpi 496625 BLAKE2B f8fccd6f5b29b327e615a952a37a42253977b199b97bbe0c1d133f3b012945ee1847e7491390be2491ca1a51b5fdac2f7c28784532f98916f1d5ad8d79eb8ae9 SHA512 0619938c68e77355853d35c93c94395e1af3397b0d59cacdf4390294e9dfe8d16d4f296a15c597cc2ed1bfdcb98977ccd0e41562f21c95d55d406fe94cf9c467
-DIST firefox-90.0-eu.xpi 544754 BLAKE2B 04ddc2acad0d690a825f698fac1546eaf3ea3a9883ea21cb04af71a67413a1c4d622530e3eca331f3ef0985ab361b85a88b144146b637f240c7142d32b79ce45 SHA512 13ca48fe8d68b7c5793835347b53370acda59e675f71d1f6e45ff2335b1e248d40011461046a9e20ed8b91284809de16e003156922fb9ded9de03f1952e9b180
-DIST firefox-90.0-fa.xpi 565131 BLAKE2B 88a9a812d8a789cd4b29954878881a521284034729f5fa02ba05d7e977adfe42dd8e84fb5087b7b8c9240211e606d43e7e22c680948d3efb2363e37163cc4e67 SHA512 15494cce88efe9dc6ed69ce3b83af28af3eaa6789bd9cf229ca95ed874b24b8ea55313ef892cca042ce70179fa3562333dc6052d31a5c21589c55bd518ad3ea4
-DIST firefox-90.0-ff.xpi 488036 BLAKE2B 78ca239db016327e60435dc49399833dc1a0dc6390a2746792322dc630bc67e6d31448abbf67e251c6df4bbe9d5946431e79e66fcd87a28156a77fa67f81b1dd SHA512 333952b47705ce0c3ea7bced147c4e5f67bffd2200571e612f89267a7cd9807dc1f27d3a5ed5a7ae524bab6745d3943765934a9bfae9e91eed0b26ec3523c13d
-DIST firefox-90.0-fi.xpi 545674 BLAKE2B b699657eb06eee0d8e4ccb38f41202a8c885a59715e11591875584386bf62d8ee9d2abe0148e6a8a7b5ddd7da4405c1cea547bd28b4ef27d3446af99ac4a4fb9 SHA512 71bf27f517554ce4e39d925952cb7bdf45c2b98a54873c5c3e49a92e101755c26e9b2a569e64a3b09d553e1815ca14e260c0fcb414b71a7c483177d77f79bd00
-DIST firefox-90.0-fr.xpi 570206 BLAKE2B 1f653ef6818815ce44d3e80631262d0f32e77417ae2cfbeb52665d997cf863f0829b0d2f55744344950bb803e41ca318dc38ea687f55f3abe31a3a986ae2ea95 SHA512 6f95585d94320ff0653eb6843637bc7e5108a6d6eacd65f6f0013566574006455d465b998c70ca8fa925c619c1af4c776d954dfd2d6b54668b00a607eb1c44f3
-DIST firefox-90.0-fy-NL.xpi 555035 BLAKE2B 81d94d506b33e9104eec3ee6a6c5b624c59d8dc6251986267b5353e1d632bb4806ae56ec8128945c027ef1da98ddf8402c03c64f3730cf32946b91a2bd503730 SHA512 bd14c44c5ad8a99706bb48c55e639b527abdcd56bf397831b646a1f87b10ae67d4c65f4efb2881accc317371f6508d371e0868718f8222c504c4c69315302e94
-DIST firefox-90.0-ga-IE.xpi 473114 BLAKE2B bf1f0c5bad975b321d14f3b9fe4801ecc54ce06b1e8d00ddbbb9788cf5784ded58cbc0f7e8e509cdcca627d874360b6af44e0049a8e574faf423271a1c85c681 SHA512 92a4ca47b73bb7f378b8e853dc64acf6f88cad51107b6bdc881ab949d516427f38d1a19053cc76ebdebe5d130c543b8966f0ec7caadfd2b4c2a55d21dddab3f8
-DIST firefox-90.0-gd.xpi 550980 BLAKE2B 74731a77f743e5794413c9d54d907989237a5442b2d3f9823bc82c8cff0551d8a24647da04d0f5c9f0199a6bc0c5e2f891d6f9b0a469f29815e00116b5e79e43 SHA512 6ff0f12fbaf7876830fdeec899a2ead59915dd1bff05cb360276c7687cd9190348121b5e8f507b3b0a7a4bd9608687d22e4c1958fd7e8359bf36d613cea22fa8
-DIST firefox-90.0-gl.xpi 554479 BLAKE2B f9ec20a5f708c5b75a24375ba007895b24d5f2b7564b8fea002e4ab71ba4e7e88096be816a140bfb46ad3ec298261dbb92d1f6b40b18132c852d11d9b76a0f57 SHA512 377687e31df8be4ffbf99fc0012638ba431b5b196ed8e8648456e1b50c27ab930d13e186ee80bbf2d4c68dd986a6c0b66a69d72dca15bdfe8cda9bc49b20286e
-DIST firefox-90.0-gn.xpi 571173 BLAKE2B 550bdf08040e6625aa93e3d3a817d659d3f02b9c6100e6ce2d3c59a6e41928308df4d234ed23b3b462f3c99b705479a72fd183b089600a242abbe4718ea5e88f SHA512 b53cdd1412cd9a0b35ece0209dbcdbe46f38ce491e645536288a55772f9e0d66417f3547adcab771d3965d10e524e750a622fc369309e7d0fef51c025a9eedd1
-DIST firefox-90.0-gu-IN.xpi 547532 BLAKE2B c4105a4770f38b5574306ec5061190485b9f5e3139c75081b2c62b70f647336806cf7327d090434e89ffbe17265a9e82914e3b31ce57186c77fbe2284f8d55a3 SHA512 657619850f6e9570336908aff0f1fd062e7faca8536629af44120395310bf5363cfa050e6edfe53676cc7f1cb2138240e1eac59a4b5c95b7442dddb693688489
-DIST firefox-90.0-he.xpi 569002 BLAKE2B f7a1c2569dc773c7e2f24ad9d2ee413e984d5ac3e406ade513d2d822d91fffc7eef3d9d178042bb6f9e72473327b4202559af244282456e749986820cfb50bdf SHA512 44a3df4722d0a56cbbb1cb3fd0ca9cb0cf87bfad587e087a0e789dbf4ec2efa3685eaea907842ae7e08768b394ebb324b63b8b372e33083e731b686f997444db
-DIST firefox-90.0-hi-IN.xpi 579612 BLAKE2B d18e5f0686fb7d288c23daa014f775e16bd8146e9a8de2bef800c73a3c8bf637e7d867ec0d575450b2299bf15ed5c9a4dc729e103528d8b3cd5803225e092c2d SHA512 0525344c2de8b733d6b0f0daf54700117e02c321f0b0a896b4d61506d5c5ec3fa68d653c9b039789761c4f9b9c37f3f46e938be7d36f19c36c62710aa3355f05
-DIST firefox-90.0-hr.xpi 549979 BLAKE2B 4b038eeb74e0099f17d98cead4035bdd6e1c098feda4b62f65c6ffb69cf9e596bbea1021b5b4f2f7766d4a94cd7e86f8b3fc5b4fc33ca682f5e098560228c7da SHA512 b0ee7854b55035421d2fb0b0da76f5d37a856f2d061d1c7117dbe3154cd6f013b3f52b691a76d3276b8c537f6ecb71fabacf99deb7d8da41ce194bd9455673d7
-DIST firefox-90.0-hsb.xpi 574891 BLAKE2B 8ce631e8e0da25b626a467ff2541f463fa37f047212a8324b0d50538aa1d437721c4b86030065f2ea0250c88c15582de8060c2fdc60912f9b748b3dd4b4eb9e2 SHA512 606503c1f799c0c77e944360b51b9d664c58600592c3a95ff9e0c10ca382f99ede94dc5f0854067c0e753943b7645c34046783ba91da30443e63ec4afaa86e6c
-DIST firefox-90.0-hu.xpi 578489 BLAKE2B 359b978f4c6487cd0ddf7707899cbe3e6bbf4437cf7833402a5f70a7e495bc1baca851e0c8e7a9d918e1b6b591cc80ac268b5ff904e8a74da31bcdc716742f66 SHA512 c581748c74b1f7aeea3788610bc9774a960731c3c2144d23ace39095f9a8ece066033e44ba26975ea665c333167daa0f1a9b4337afb675cd22ff4cebc3fa0281
-DIST firefox-90.0-hy-AM.xpi 604406 BLAKE2B 53477d73f7f82279f6419abfe24e6f4e1209c34c9ab2e8660aec885dc4e85c2a3ee6b8f899928f7ad1de724ea8420c99c3374ef1ad9ae72660ac8229c045908c SHA512 1223f05cbb0ce94c757becd3ee047eea6eff6ef70b1dd906e813418b2e38b41f670dddae33e3df8aad17a3c560e8ef091259b4dd5c3b53292594427a8386561f
-DIST firefox-90.0-ia.xpi 543872 BLAKE2B 5bd6328d26698b038c874d72d729580a9f2aa9ec0df27812441c000f34ba8df0bab67955ce1b709de41f6a8f7599470b401e43c9d2f466a10b0d9800a970d07c SHA512 338d93e7c2784bbc8791c58c6cc26eb25af1d49286dae31fd502e88a42c1d7ed8b11e4ab871ad3e98fb06c5f6bce6aa2ec8382a5706e2adfe17794cd8d87796e
-DIST firefox-90.0-id.xpi 540015 BLAKE2B 1942af5461812b4eba250e3689aed4858aa09611b834c98c2b4a38e69646864be37b2e266bd475e1b47f6ca3bdd21b1ceaa1570c9f4b2962164f93b8a23f2d64 SHA512 75cea336b92b702fb929f6479e8d6850cb2d658fd0d55433a5f46c0400f2d056ecb80069dd8fad082c32a88968d75b584451cd355b743d4e69c97cc6783673a5
-DIST firefox-90.0-is.xpi 483692 BLAKE2B f799ad05234f80b23a89236caaf6b0bd90b71f6b2196a1bcd88176b950e557b8a21ee71413471ddccdc5fa26a683d56333e9011189debb60bd23a7f9345c50ff SHA512 476a9cd620e89bd0fa3ec56ae9d0e3950f2ff78d21c69476df563fa2ee97a0751605426eea7c42063330c3b0cb3e46d337206b26592a5c162f32bcca4dcb1e66
-DIST firefox-90.0-it.xpi 472093 BLAKE2B 34dcc7ddbbfa669839c8b68d93f3908e50705df18a12dd487c29d4ddce71fcec585d746d71454908df4a0e0a9a6a3581a38ec06a233adcd0260dd891be738fd7 SHA512 415f5a8d510d23f294cfb56c38e16c0d7ceb1546553691ddac2290f72570909a171100c834311d98e9a4d8442630b2e0409859557432d77338ae3c9d47a267cb
-DIST firefox-90.0-ja.xpi 605292 BLAKE2B 7f8f68b679ccb019b5b547f8ed918c6d498338c07196212026228cf835e0256177dc9656ed75d05ce140d453cc2a1543c9020e8ea805b74ac58714c7c3fcd615 SHA512 3e9f688b8abc8b0bfbc1b5c836416cf6b62b072f6e1e1ab73feceb9f0eff2481cd360c6ebbe3da1e587711d05b39b763cdf0307394e885553c9aafdb1247e896
-DIST firefox-90.0-ka.xpi 606614 BLAKE2B 64955d19b193741b711e42cac6ba1f2bc9bf3834676ba3bf2911a1f7c91664f4f07dc4b80dda3619e1ec5819301ae69ae6aaec6c5994b9acbd6c112bb3c57569 SHA512 8a58f5ff2639a88dfd7d62675e12f70e97465452b3390a28dab31796553bcba1bc0ff858184059e7bd8b27a22f1c8dc6cc87b4440c66a7b6618ea0d1d1fbe6ad
-DIST firefox-90.0-kab.xpi 562715 BLAKE2B 82a78fa9b01453d2f4da7df71467cedf19decd1ccb78ac669f9be5f1390227d30815fb6bbac065e6881f610193decd1e4f10bfe2add01629f7b4554879460d8e SHA512 102cb22cbbafc580a3cb484b48d9bb0d5c55310ed7b68afe8821e113c8b11ca4527cd41251bb7f6378281e7bbab3025fca06b9da2a0baeaf11a72d9a87abaad7
-DIST firefox-90.0-kk.xpi 621566 BLAKE2B f3934bdeb01d07c045c12d49a6f414164aa3913971c3d6e51a9c1fe84698b15e13d31b9bd4e9f3268c077a7d308f6a1478f53a7d66a36502ab180bc625cc65d4 SHA512 e4cd27c5be6ee30f7b92edeefd3231517c3a0a7ee6a1da4d368bba4dcf9a533d48c01487f83b0f790c9569b172dde21037d0a893a64a4a35a198e85cf4eb49af
-DIST firefox-90.0-km.xpi 546420 BLAKE2B 67e38cda07fff9b6db7d52d719dbd373126fff7afb267b90c2b738970a8f80093974817c12bc9189beed7456d5ce07ed14b6a134c9d7ae3cb462fcc4a8d3e172 SHA512 0f3f9163e91f33482e635274d9a21d0242b872ff8963ee730e485ed8ac41195b80b83cb5eb085ea8525d58062b3ba1e148995aee90d1f091ac7f9d7343305784
-DIST firefox-90.0-kn.xpi 510713 BLAKE2B 8221d950f5b2c800091cfa603c2b09cb62faf7e168d4c69d34183ade90e65236ccddbdc5a08229afdd57b4ec3820c142cefab8f83d5b547c8e54fcec484e4ba6 SHA512 cef6240588221b3aa827c43dd12c36501b3df882407d027709994a41f1966503e868cbab83a5852499e5ca6b4a13e1d6c3b147b946a31d2c74e3e4ff3f808962
-DIST firefox-90.0-ko.xpi 590162 BLAKE2B f0b389d55b1c2fb4ef73ebbd232bcee385b9ce836ea9b841d3fd1ed17742da4e0ca7e289064ecc1839294047946d7ba2c5f69b4a135142c5b6671116d1adfed8 SHA512 88aa8474636ecb8a21e775a0511f0924e7e97847e5ece11ff1ae77731b15fe81e0983248bb6db98c607d678c844f02deb5ae2aaa193b0f85b8c705561e5368c3
-DIST firefox-90.0-lij.xpi 484749 BLAKE2B c213b46be98218aa9e44de3de39abec400066cd4ff42eeb0def53b777b24b1679e7381a8f73de402cd84bc6829ab52822184056a68f16df525e9e257327d287d SHA512 18cffdf992ca4a0e3a1dda002cfec132d8cb366970345f6fe40b265d2ac029029c0452bcc645c256dfbe2d91be4cfec7ccd244ea89843e381c4b50cec6ae9526
-DIST firefox-90.0-lt.xpi 571831 BLAKE2B 237d0eb3920a75fe20b9333a1457b244ab7624c1b99a8238626c26abbe808ff1e7d7d9d2df1118cb56cb6f381e692419c276d69891cf391dd70a59e6e266da57 SHA512 52400b77a1e418361253cdf61d5db08d4694c6137f249903d6a7497318d1719dc0a02a7f17d4cf08f6980fa88928d2ee2037376822ee627db75b0cbf06136ecb
-DIST firefox-90.0-lv.xpi 475673 BLAKE2B 7fd9ddd74129fadb9d0698f7c02e3d87c98f1e2cd1cf1d11a785f8221a8901266b313c3086831de27311d0555b082b8c9ee4b2fad7b37048c9b726f35bb0be10 SHA512 cf262dd372f1824c4301c18f6bba7b19b4c076d98edf7bc60c22f59db4cf1a5c7388bc8286e228bc20c7da43903f42613f4bdb33be0a2e70e7e9ee6629c6c447
-DIST firefox-90.0-mk.xpi 472340 BLAKE2B 9ba7fb3ac2ae0371fb200dbfabde855aef92e7994ce2e06ce09d160effac79ed9f9ef0ce6427bcee19d4d6cc22e0eebc4cee3983556fb4d81e07eee10c4158a5 SHA512 7866cd1e1313acb83783ceec316e83ca793021c015520538ebbcbf0950ee6e37ff40b04702ff58d9a180a700d202f5ac7a09361db7f9e974446448a5ceccff93
-DIST firefox-90.0-mr.xpi 547698 BLAKE2B 902ecabf3432b85d02b4181bba82da18abdc6a9d770aaf3c6bc5b5c19dd3203a5d9455d5dff894991d31c13788f1e6373321f894cf2bb65da8cea19f760149e7 SHA512 adc65c9bd3935ee226422fcf550c65fc3677c463a8a01355848df59cd80103d34d7f321e2f26c3d4c2d03e38168367cccbf933bf3d2026e57c01a32f19f95f2f
-DIST firefox-90.0-ms.xpi 459295 BLAKE2B 89c1840a161d6bf24bc9dd355b4d5eb942160f70e46d22691f508b6a65df2269993b0f9fe6c69fae38c9eb25ada957ee412484be65ca426aefd95dfb7d0c350b SHA512 b200d7aacbb54f60f11a496174e078f5168ececdd1ef31b563d991eb92e9e86bc3f8ce953b50eb8452084366713893c2cf54f403468d55a18c2e893d3214a1ef
-DIST firefox-90.0-my.xpi 531247 BLAKE2B f9b26f3915563af5a346529c07c56df081c9b53c92c8059644f144e981c9072f1b69dc869665d2bbdda74ce199a7b620eadf53369eff13c362b036820b6bf789 SHA512 1d0cc706fc66a204c4191919ec6f1f59a9151629e67930af77aada670a9374afaaf9673daf0baf94d0ea4700f5a6fc7c4dd58c76f92afd12e9897e1bd31200b1
-DIST firefox-90.0-nb-NO.xpi 540500 BLAKE2B 2be7d15aa82bb0ccecd7b2a74369dfc9117f90b4e7e136c7a5827871ace948b09ae54ed799dd389e6f016d54713748ca0413320b6cdfa5616788e3554a5445fc SHA512 352986e7bb4c197c919e45ab2fb0f5c5072187e0876a03093cbd6eba86d7fcd67ca3296d6e2f1f7c3f4acb378d497e52140f735befff8632e1bbef4d283c49ca
-DIST firefox-90.0-ne-NP.xpi 488256 BLAKE2B 9c59fa0abf571db52d06447afa84d019c0717b538765c0ed130a5f8e5f663ecf9690eb2bc975bfa45f002a4fce696699390d46c521d71e08af364373986963c9 SHA512 083ca5e10e202ed937709d2fb593f5d5a5c98bed8dc7c16a79c1bdc11542207279f39d6ab670e78ee439e75b6d94883e6c3591c73455ee4bbdb4ff7c64d9eaae
-DIST firefox-90.0-nl.xpi 548829 BLAKE2B 11b64e8506a8933c75d681f42647329022dfaec7c2ffdfd4558a3a35941c76d42dd742e17bd3f8265c06ce6be42feafc669237b46d291367ae318ef9002e1dad SHA512 bd9e67ad5bba772759bc637cebfa7b73e8eddf80e7acb80ef33015885c9ee55686888b2cf35f9c98ea0af2ce7aa577ae89da1ad44544b0268708337a4f6dc4e6
-DIST firefox-90.0-nn-NO.xpi 543209 BLAKE2B e094273a22660d972e3a66bb10d541584b90f6fe852d12f33637122bc4ccf361cbfc96ccfd8522e1038b6b51fbc43008f4453a8d346c007cb915afbb2c07e057 SHA512 eb6e3dfd45a89156ecf3ee959988257a01b4f31d855e631f8a388067d284b3be4a894b8deeea4b97d08aeaa236bab3e43f89661bb63cf6404ae63561c61756cc
-DIST firefox-90.0-oc.xpi 565284 BLAKE2B 3a905daa05ecf231b4d7de04b0156d904038ae8138d80d47f7679a3cdaf7c7e75c102b34f6102ace9747ed24def71cb116d19130b65c904ed07c55b47d5830dd SHA512 85fdc257a7895fb754d08005838a8be181e9fcb26bd83b03a08387a6c697ecbb121ebde701b2f7b2fe0cda4803ec6dae4b213882f5b84b091b2c639e823a691e
-DIST firefox-90.0-pa-IN.xpi 612467 BLAKE2B 765bf9ea57a6b5123a3af78a86db9977abf18f521e35954f9bd1f4191c89f4fbb8bbeb8bbd1746a38a8bb383f91476a7859dc782d4763104da1b9075c77ddeff SHA512 330a98398a366f2069367e20a7301834b96ee61626d0f8b13ff634e4b015438d204b836be47e48fec6568a279c8e5b7b04208a8b7c64e900dff47e16d0ef2703
-DIST firefox-90.0-pl.xpi 568697 BLAKE2B 6951be0a265cac3e51563448637b5b01bae34ebc0fba0cb9ae507429ae29052fcdf3401742ed48facfdababa61e0277aa296d3046621ae8f44984aaa43dc7d04 SHA512 6c46d7345fdf4aeb661d36fe64d7fae2032f9f0744138d64ca3be402947fba6406762b668b01b072972c61ff341dbd6660d12d53253147d91aeba8a88af4660f
-DIST firefox-90.0-pt-BR.xpi 554550 BLAKE2B f0cbc8f961504ec05c6a0619d973bf75e9e6382a9f3788ce7f8ba252a319e0d9fa17b6a08d0f61c02b71b3ae7e69f16542f567ee48bfe3347078c79c9b9451c7 SHA512 f1360b80a15f0884f881be20481250efe8defe00bbf6a9ee101f7ed5ff4475d2f1547a1b4ccd41d4d27b36b3bfaa0c5ac33b7b47a1160c62cc72ccd2d8b0c2c7
-DIST firefox-90.0-pt-PT.xpi 558175 BLAKE2B 93e7a8fbfd4cf67f71966de9cba7bcaeb6c5df845a81a060bed0ece24f7c3755959792e8f39342b657efab22e6b444233f7520485574950b2bf31beeff5b8610 SHA512 ce6830c9d7d5371cac1efb519fbd0d58af7e5354c2f31daf358eafc22b319322c0d7860ee524a75ae22014df001c90d840a3af59748db676de1c31c5fb96174c
-DIST firefox-90.0-rm.xpi 547502 BLAKE2B 7a4c701b1860734901d2af53e3dfde54f5d31aba55c545b388b729c6fd62fe5e55c54099ed743f7d0f255e74de81374bdb700c1c531977ef967a19c3d4fae3dd SHA512 b1bb9253705ca113dc5451556baa42eab4a901dd935e0fdae63b4eb97b8b709c2719cc7f923f312d8884267f7e9d9b60636b637566fb86cd9c0a537a50237368
-DIST firefox-90.0-ro.xpi 542098 BLAKE2B 848dd7d8771330e0b587330c75dd3d4d1dc41a6ec5ee11cf99e7e1ec6a79f872eaa300525e9bab5b35ee472d58017293c4442e9b5aea5d66600d52e01c946416 SHA512 a75f500a885aaa90a9a68194f76d8c200b6fc844b72b950ed7ceba2d926c6c1eaa7de6494f509f6c3eb33b10eb50a2759c558f25e714f7a05c5f2d373f86c2b4
-DIST firefox-90.0-ru.xpi 641411 BLAKE2B 25947442f4a5b6531e40e8f6a9d330b43c3a57f0fb9e1e584045b301926ac7e9de979bf5c5a13ea786b8fa9374a6beede07f471294d2f6b5bcdea11c2f22ca98 SHA512 64fc6ca0bf408fbaca4e1e3b015dc18b52d5fe215d219a09bc4d117c15977aaee5bde4ee3cf072bd45a3db2fdf8308b30a219a2e4ef272fe152c4c2129a47a9f
-DIST firefox-90.0-si.xpi 497028 BLAKE2B 59def630b55ffa186422fe06e5f54fb42ea80bc9b20044a5ed1185b4869dfb308c702882949cc8e4f185e2832da1d79c327d7edc27644ffcc23b0c988b8aef2a SHA512 81ab21fef01677b4977f82e69e8a6d6f5bb0fea2964c3a069b2fbfb09a154eb2e8db89bcdcacc4872cb327821dff9da8eae2f6b4dcc3a2123198942549a283fa
-DIST firefox-90.0-sk.xpi 578299 BLAKE2B 9a248c7b33a399b1126c19ea63a350061ead767635d79ca7568d3bdf24ef3e17bf11d9214345547f1339d304d75d1eebef717f6755a44c8e3ee63d5abaa28a13 SHA512 404bc0e44abd28792e79846dd53cd1d2357c107aebd880513a413ad5646f4d4d3ae9cecd1f3d552a7cde24bd2f8460505d0a6bf599059b75fea4dcce9ef32602
-DIST firefox-90.0-sl.xpi 547668 BLAKE2B 305438177f2c39dac8efccc2641fffe907c8f926b86b83154ba921888bf2564efe2356cbded91e5894a8a2f4eada25598068b3f2b9766133c4fbe5974696ea98 SHA512 9552189f41d5588c162c4956dc2610a122994a6a6050fd47a5c3746eb053f6c663a3ad2654f44449b1622952b194046202847df1ef9c96b6634d2279e31c0b4a
-DIST firefox-90.0-son.xpi 428005 BLAKE2B 32c27d503af60de3df42737c2c8063dc525ee9d6dc84a0d8e8a75d0e592177afedc0060d5c6366e0d38e29a7a2915c2b4e32e71df2442ff52c1dde249bbe2e4e SHA512 ae15d8df9b7f1d0a31cf91ab3002f44956428eb75ba3ac7799d1ac162775403018fc63b3fd83e300a32b9b96b03b01aa35113fb03f90b797928a8078be281413
-DIST firefox-90.0-sq.xpi 568611 BLAKE2B 69aa2a14bb28482f147ca7c7546345129c5297eb3d47656b598b1d3f3283851a48deb6cbd027da25cbb9f9857cf3c729bc51e74a3e1b58ec91829922409bb9a1 SHA512 079b802601f6f13ee2056b06cc31c5710bd26889983a4e853e9c49eb9d9be99277cdc383eb26b4329a43345f439059e494517de77b51dc0bdcc2253ac664e0ff
-DIST firefox-90.0-sr.xpi 602753 BLAKE2B 03c78a2e23fba5dcaa060ccef08087c1ee1ba04219f43f30eb99720233482c1bcb67cf482b4f87756ad842a24c8063515f4933cff3b23c7dc34669e38e8fd1e3 SHA512 ec1f954224cd30c9ca72c3d2c24d7a51c83265510cc4789122b594dcbcf73ae0af0135975e5eac6e2c3df726ec4cb8659accac74a36ff1fb924af2377593925b
-DIST firefox-90.0-sv-SE.xpi 551938 BLAKE2B 5ccd1c13e64cedbec503ab876761fa904a813a550fcefd3d6d33e5759dac84a1453c98eb50192da8f07b1c927d7dad8f94c96b06339c5a7f2c5c30d96b5f26d3 SHA512 c0b18e725b1f808dee8db82113652340aef16022fa1f0be7f0da482e02bb99f6551ba9d4042f4c11722cc49a67d4de959de2c9bc6c41ab82d8549187bf518d08
-DIST firefox-90.0-szl.xpi 525929 BLAKE2B 2b9b3105bd355c7c55743bf639afb46a83ae6c7978629623816fe6ddd3c76f7c2e0adb130f454ef1e86ebc8bd1d8dd7ab9c7cb66c226135c302e859cdab4caf5 SHA512 6802fed96cf50625b1e39c60c6f6b8d62bcef6d22e0cf214a42b52ffa6e964d2325b43b72e2cb873284160398791f9c9e71d4d33ef9bd047ed9943c584f49f12
-DIST firefox-90.0-ta.xpi 526006 BLAKE2B 838a382789cf83960cdff73da19c86b72da5368715e37146ace0905a130a3ee824d2c0d9ef1cc01ad523dfaa7e4a8a206a7e9defe2a86850b33b8f06664b882f SHA512 78cf985604d0a7d2b94c3761e6715741ecffc1e764473b722ee9a30be33db4f31beef4c3b929f453fa3d9a8de262a5353d351b393883f9d9459a9be666ec4a31
-DIST firefox-90.0-te.xpi 568740 BLAKE2B 03f5b4c5210bf79df7e23c0f167d85a3fa64ef9b08e7fa77616157a3162524a7986c9a6618c2af7498bf8f61361a5e3dc8a55b9e76a9ed2de47cd8949e76f860 SHA512 2436f569124c4f962cf979a834aae9e2da29277252d257b64160621efba26bd0e3f0628e18f49370e88910cacf7996dc053fa9bbdb51ef61b31b40b2c6b58859
-DIST firefox-90.0-th.xpi 620997 BLAKE2B 551c532cc3b6ca37a26d56bf5a84cd6f9300fda37e53a4bf8971c74b8796620d3f155d87f0847266987636033361466bdfa6e4ab8d157b191ef7ac8a3f9e623d SHA512 9b274c1bfd61f0fef46121f281474a283925dd0d7d07c956582ede8eff6e77d86154ead2f78a55670422e405a2452f3eaf3e5edf8158e334db126a5cfe4738d1
-DIST firefox-90.0-tl.xpi 533270 BLAKE2B 985d7179e6cc12521caa360d60ebb2d98efcaada1dc9c62fcc544ed96508ffa480e2226dad62c8f9b2570786300e6412eb877865fc899571b455a5355cb757a6 SHA512 57f03b901d7b801bef5f2a10ca54b4655679096055defd815222f9a7d9fb32725f161b33f0d1b90fd3e12d50f41cac08cc880467b50040adf8148784243c28d8
-DIST firefox-90.0-tr.xpi 564315 BLAKE2B 9c95d193b314848144e9eb97486b5714dc5d6397d0dd4e46c93f6e34f1b29edeb8b44b48708bb7d8aa7db689a2aa5bbd6f75637d7b2c6b09a7da53627eba9a8f SHA512 e1bc5f933c4f0072d7ec06d9090fc3ff586b1c9865810f7a2508d25a482096106624c474f4bf44f0a59543315a4e118da42225c8d19a6b03a36e8a01ad7b2240
-DIST firefox-90.0-trs.xpi 506674 BLAKE2B d4db6aa6e5004ee1573b367276c5bb842606cbf14acc687e51e586a0d8c0b972178b1b46a6d9a7348a53472b9f97b5f6493c2538bc4bfcafc2fdd07802381a36 SHA512 144a47fd20ac3c5b49b65b27e8703393cba1e61c0afac30ef24e5873b0e6f46b1f25ae0f1a64c1e7f43c11248c5cea9fa8a69e4011c833603d6c079045e3b545
-DIST firefox-90.0-uk.xpi 635104 BLAKE2B f4c5074c2bbf9213a2d2cc18f1042a3bfd8f1b2aa3adcfd721911df9530a140c4c08abad281b9ca35709ea644b27549a63892f4e56a5b7c46913e929f89378e4 SHA512 d509610a5a3467e845d825d36376c885d24b7d6a7e9baba2104a5bc12fcd51617aa8303fcac74d9194bdfcf4eda119129d3efdb76fe1d2e6e8b364fcacb7b596
-DIST firefox-90.0-ur.xpi 577979 BLAKE2B 9b9273337bf7c0aea20e372f680cea4a85a907a90ebc03ddfba4526b2c865576315c9e0384f380aa3ea6b16cdf588bdae1f10e003fcafa33fd44017eaf650c6e SHA512 276b26cbc2f47a19ff8dfb47e28ff3791436f0cede7f996dbdf092bf64ca36cfd2e164e4c8857225a3b0446a40d897aab69da9174c920780c7067b811917f2d0
-DIST firefox-90.0-uz.xpi 483028 BLAKE2B af935ab295326af2ab09f88d4ac9620a868355c1540c1fbfaee49b8b3efd41ecbcb9845d247d59cdf57bb25d471fd8202ae9dcc180f237b23f44dcd1cc3f24af SHA512 414bb6a1569fad5606b56df540bd5f1c5f4ee4531bc4b0c5b868ab41382e6dba91ba145f276485087a7b432d484def7229fdfdc73b40e826300e91a4b5017c7c
-DIST firefox-90.0-vi.xpi 586288 BLAKE2B 3e357d30dd5feddebba17a4fcb19cd4ea24ef8fbd4e6212757eb252284860b62a8786ec2631a8c02a992e9308d70c57284b58ec85a9e98a39ed736012977f01a SHA512 553533e250cb3d555fb90e2b8f3867ba0cfed55898810c136270407156ec6471ebe75cc930bd405b1afa81aa50c638b048ab1c3b187d1a3b289d0648d8eb396e
-DIST firefox-90.0-xh.xpi 430173 BLAKE2B f33cf177ca73a5e507f273d22842ee507252615260561dd7b34319491f8936b2b38ea4882800f4beeb4a5d99e7f702628f471e8539e3ac943f794fc9f23e777f SHA512 8af951cf3e3c57f0b881983862e4f75c7c696a24ad25ae01bf649c0aa2d36b3e658723b3ec964741adcfb49f1f7380214cef88500bb8bde74fb030aa9043f150
-DIST firefox-90.0-zh-CN.xpi 587658 BLAKE2B 316f42f5d3e28960afc1a9586771d8fc1f7c2a1ab429a1daf391817d089a02a92e3a757d0c73cfb43320d13f497d11b508848daf4bc1150353c37411f56823fa SHA512 bc7c6cb7300b0a3b002975a7e7b1c93bf89c4ffec272ceb980aa74bdaf4ed1d7786c545f1212dbe4aa7106eddf5b377cd0c9d0cc7e971b768246ad7ad9983733
-DIST firefox-90.0-zh-TW.xpi 588100 BLAKE2B 671eb44db05a61d0077e6320147df6aad5723721eaf39f256b636abba15c03fb37439fb931cd7159badfa4c3f6b7a71b4503b72d0d27573e33e540a351c71e99 SHA512 be1a2f630027ed5fe1e1961fdf13da78af800178153b8bd389c512e5e5bb5093ab3b3169232810e4e863f96514b6fa0c69c92107465525c863934726f68da21d
-DIST firefox-90.0.1-ach.xpi 467563 BLAKE2B a30f7816f4d606c1465058d871fb492edfba413f515b076ca030b77fb79c8b183081791405ec5435845bb2569a227dba00c88350f39a5a177a1bf1b35131c09b SHA512 f49f245bda17b165cdae9e0d809051c669103db87bc48c93bec7086fb4d178d428619738a32dcd74c153ef3b09c34dda39ee061e379ea5e1e664fd161e1ad2f1
-DIST firefox-90.0.1-af.xpi 430695 BLAKE2B 2b354ec1bbebb37b35783113524594fe2b884bb9b269ee8b8d69d65f21844fb6c2099a5aa05ef6646c8d596bc71b30a2e85c807e23e039f5f07fc2dd52c5e07c SHA512 7e25f43572fc58462c94a83a5fe3be2bcb44f3745419b34bb224835bb7fe063a841b0598f85ee4284ad20365b0099bf2e01d04d068739adf68c152ab5612cf79
-DIST firefox-90.0.1-an.xpi 515449 BLAKE2B 5bbc0d9e7db02e96bb6587bd26608986cd3602aba35daaa468accb1f06e82995c2ce3509091f2c9c9b280c8eb40267b086acf2a343b0fb51d384ffd7d85cdbac SHA512 448222104996df23cb93cfb6fb89739bae2449f22c773cca9ef0e5442d0f825a58ec3ef7661d196495bb2c6ce7686a987ac55d6a80d6b838b838fdc8236f7305
-DIST firefox-90.0.1-ar.xpi 580200 BLAKE2B 6efc4c47593c8c259e637e2ab089dd2042bc1620e5d31af225ee6edaf7748cee28262a4680bfac6bbe85d77d8783428082f07ca1b113ab8d358e357412b3b434 SHA512 a80677952af00ec887e0726bf349c36371f5fce96ae395727942e0f0beed3e45bdfa2d53cf5964eb6251ce233b36229affe4ebee31a0c41eb6aa73215aca6dc2
-DIST firefox-90.0.1-ast.xpi 507903 BLAKE2B f0f1962483fa41eda3ba740c53bcde712d3db152379e15b502367f5b3b189c95be1ff17183ac24ac5d788f09aeb9897e0a0ef6170415ac42ec018d345aaab963 SHA512 98332f1a5f74e4358822c5d4e0e4139af2ec0cd7010ff8e4a7f6f8ee08e993c7e7c351fcc836a12fd0b7c1665268706c6941f26119292b5923d9dc66936fb9b8
-DIST firefox-90.0.1-az.xpi 503441 BLAKE2B d1c0fed64089657ffefe97a0c69f6bab42df2764db766551454ba5567522e2e5ef657f70587aae09d3b1d6a30be080f84ff5359d236768678c0e95b712505499 SHA512 91fa9eadfa0846a30beeff72acc5520903970b1fe756de0b19db93f3c540ccd88e9afa1d16e7ef5cd82f94524cf4a14408c568cdcdbb0a31f41be36c9d703204
-DIST firefox-90.0.1-be.xpi 636667 BLAKE2B 7a4f2dca65233c667b3b1ee21f55c62706ba929cdb598a492f3cba6bc0ded7b578201e81b0881807a933140b6e5f2173cec1e447aef7d5103eff958a821de53c SHA512 04dd0afd76166da9025fa9113cc20f309087860d9e86d2c2a3f7aeb027e20bdc1a1b87f65dba52039170a24b25315a2f3bce566e231e18f4299c1075bcd600c4
-DIST firefox-90.0.1-bg.xpi 590435 BLAKE2B d97d552caadf822476cf35f7c488bcdc2ed588450581eded137b57dc207fc1f4720352ccd4c6efe08f7bb36ba72cc3f3bcea5a8724fd74de584ff26e7e2b90d2 SHA512 0d1f5b229b32713b27d37102c361f5b1c7b9eb1b9e38b30391a9d32bc142c7c848a881dbd0c217fe69004a179566d247e77b31b22744c4ab4347d581a13fd3e5
-DIST firefox-90.0.1-bn.xpi 579582 BLAKE2B c577016265972d1d764dee0f5f23fa789ef9950e70998e803c896922ec59ff95b281e4c36b9304c50fc981808e598e94a0557397b0f7bcde0a1fd7e400d6c7b1 SHA512 17d897aa3269142fae4127da0134508970809e34a74de9878e2b9f1a3e5c62c3bdf2f067ea42068b18138a40458743aa830356357405dc8b678cbf1798537bb9
-DIST firefox-90.0.1-br.xpi 537487 BLAKE2B fc699ec4b602f6f51c7cbcd66ee9e97e34bd4fa0ab453eb45ee03d8c88e1f75a5dc0579a341bd28c95e50dcf4c49a5058cf74adc93a439d4b8548e7cfd64d60b SHA512 c588a26b6727f48c5812ad640101236dbbb95153c9ab38bc82fd7b6b2fc35e6a652f536082590c4f4b4a3122c2bd3a8d7203fa54722e7f233cda69e46b5d945a
-DIST firefox-90.0.1-bs.xpi 472335 BLAKE2B 96c1870305b7a690eed96bcb41066a08665f53409decade572bdc9e198b98a2d1be31faa331d109a0d107af70f90ff4341660bb3c08a2627fd6423d39473896c SHA512 c2ccb864d1b3c5b20ba574b94515948aa1c260048822a3e324664935aa452dfba022724f085efddb30762b7e1af481246f968205a4aa69758fc5c570b86cc08e
-DIST firefox-90.0.1-ca-valencia.xpi 548463 BLAKE2B e04fc7c21b2bbd7a9b71f23016a0d58a2d31469dbd39b14b78d8c43d9ec29c926f61c826ebc080a65e4531c42c3bc3aafdf095019da08711edd2615fbb4293bf SHA512 62bb4e239b797b1aea9a217c1478e220b9d4d2d4eae65d3ee99f9afb6231947982f04707953293ce8cebd10fb937e6f9fd44777edd5199953d361219e70382f5
-DIST firefox-90.0.1-ca.xpi 546577 BLAKE2B 867f7834d6463140d7d57c50c85ae9261c4fc73603fa8071a2a7ed10ff00b02b0e7982254309cf50af4dc3094121117f4494fa6d9b69b7bbfdadf5fd4457a95c SHA512 f8e8fa64da11cb0100a8a9c5f9ff9cf97616cdc24a308e50ed63d3bf4ed465d1546f5ed3c3bc1e06d1a71981ea1ba970c53654855a96ba094a3f74d90672ded7
-DIST firefox-90.0.1-cak.xpi 573755 BLAKE2B 7c7dda98de119ece958e1009e906a63ea1aa88f5f18f830b072ac8b365c73a9a572e29f6a47e0e0740441a9275fcdccec2e8c277f7f2b399256feb20de2521b7 SHA512 b741e9cbeba4214b188cfe0c638babfbfd12692e90e0e8593383f298f1e5d398cd2ea0ce4c49bb892446d6bc72493d06d16beeb1ff23d7cf08163cf9dd36e6c9
-DIST firefox-90.0.1-cs.xpi 577430 BLAKE2B ec80c26bc53f6acc5aab20e9a72f0d83ff089766c4e52a552c7022538bf6b768abce4f884a688a3ec064cffd3fb06eda33d5a074a8ab44d7c7e7b05d30c114f1 SHA512 1732ef51b6427ff0a3bfa37e84cd640ca9c4c856f136083efade14e98868680c42aaf1e21780acdb08b8ce7c15a32ba2ca6721d0eed1c1737e53f871a7f169f3
-DIST firefox-90.0.1-cy.xpi 554151 BLAKE2B 47c6de44dcb551663b99b2bcaab6e68a5ea1c073de37bca91444e06a55a926ed2398daff5c4b99f31e4c411de0a324cfe166cf739c2f60c67c935161e63ab4a4 SHA512 f516d5122465be7ff89cf5c90646f2b712f1c1868ec096c51603bf093f18c8d3d9572f0e3e8762faf5aee2ef6dc6100cc4f86b473aba5c7e4093cfc7f4df126b
-DIST firefox-90.0.1-da.xpi 543830 BLAKE2B 79f8d98bfe8015b51844ae44af19d6ba84aabb5d20ff825b0c9fa74fcab7e41e3464e6c1382343c5b72630d369e9418466077e15f1eb5473e5b3617a0746359c SHA512 c203a1b544c785a6d059a71e46e13329a4e6e97cf59fb2a83f45f2224888c442b8d821566b7e71120005fa9a28708824b9ae8a134efd5ede5f1fc4ef5b54a9db
-DIST firefox-90.0.1-de.xpi 565907 BLAKE2B b37ca7f0bb9c20d630ce07943343a744a67bf8902f7ee05c62bda49196933c6b8fd1875ccd0dc0215413b2d2ef8bb67914afe66fa700cc18b3fa025792bcd42e SHA512 2c6887b3ff9c11b44b7dce40883eb9f7b2b98c643d7bb3c3e418380f606965bf9bf286eab496d4e591b0595ea99f16461872f9607ea6d443cc16b13d448b4e4e
-DIST firefox-90.0.1-dsb.xpi 578732 BLAKE2B 994d2d7c9934afce2c76d3706fc35c112e98b64e5718618edfce8d2dfbad39b79fc245a8c33369c1f641b2e5ccadf489086b25d24618f0178d6319ed973bf912 SHA512 a096bdaaa5e2adb055b019d09ca2df27c414416944c0f0bdb27501ed98052c6daa5bb92dec5b9606da178e7d7b02ec4403319e5ddbc8bc54271d278774d903a0
-DIST firefox-90.0.1-el.xpi 653313 BLAKE2B 11e45840d7359d15a929872a3224e42ecc069a2b0051fe17ef59a6dab3a3f2bba11e57f3e49e256821010f514e5acf0a8080f76db69497fba3ec5a6e7605c79c SHA512 dc287455d86c89369163a4ccf56e3348d74210bffadcc9f1aa311d106ede11f0ea0048b4a45d4a398e9fe07a1f606ac7cb47a6ccf40fc8082fcc340ec90bb3a2
-DIST firefox-90.0.1-en-CA.xpi 520981 BLAKE2B 37f9d58a60b71c5c9f830fc3ed76ec4dc04166388eff87c75b0b3c5dc3f25138cd30c87edf963171fa4ad982216256c281537af5270d39dcaaea4738a765ebeb SHA512 db8f9c529e5ba055e56e7be5d906a2d63d0027ac9f9ccf17f3bfa0ab2084baf4dab490b24375f6bd2bdc2ce55fde9f31655d7de2b36288fe8e2160251d25ade4
-DIST firefox-90.0.1-en-GB.xpi 521294 BLAKE2B d70ceb560b0cba17b8c9a198e759012714b72b49b8bf103b340a68355d8a32d78eebfaa26fa0d5ac8330dc7d52937e14234d7a3d895a706d371444477581dd56 SHA512 f2a6cf86752c70dda3b4394e6bdb0c9f2f772ca91dfe4ff76dfd5409c48f44e6287c532c6777c19df8e633cb473a661a699021b81516a7e2caef8517342ec0e0
-DIST firefox-90.0.1-eo.xpi 546171 BLAKE2B 6ed24ad03698d384137248122edc8f4afcb1e1a3c4534114ba79614b2923bd7cf7a0c3852b9a6868722a877a12c8161e6a4d6c78ad0151e34f369b1dc16ba034 SHA512 15ff184598812a5cbaa8202c0728478b5a3ac10ed634554b1386c81892099e616faaee4cddc61cbb35d812e6ad641a78ba2cc2d66468f26e51766e332092498d
-DIST firefox-90.0.1-es-AR.xpi 559091 BLAKE2B a9164380b7908c6cd0a1d09e9bb74bad715be0bc6e953511dfa8e47cf6304f810f263c9fd05648de311fe3dbc785494ad1ab3e3937384be4427a956e2bad94ce SHA512 5bf406c19f61df5f16d8e35a027d3779e0f256ba1e9268611200c926b8b27619a41b63df68bbfb1519fd87469e7b6e7c0621697f8fd5ad32fed71327915ad4b7
-DIST firefox-90.0.1-es-CL.xpi 558226 BLAKE2B d6a3b3c4c86276e87737a7765e3671fc89f894ceeffed60665b91436d8fafe3e3a594182c8f72c7f9ff7126e797ff5bc2f038117af8219229f6f3aa178e78d03 SHA512 bbe0bcda78c434d0ed7e8b34f38f39a476b415e0d353722381655e3b753c81d221bc02e29469633ffed9620bb28ab339b49bcf5a13ae13c03a3ce608302fe481
-DIST firefox-90.0.1-es-ES.xpi 548979 BLAKE2B 63eb9b61c94a9000a754d6555fd468a04099ae198c27be4bd218ccce7bd93d226029f56b94ac0a4179a7173d82bd5510e9cb0fd822775f821ebf1acaf99cac93 SHA512 fed06130a8d868e86a57ea6b26dd1b5e5db7de6ce4a898bc039efbc17416a954d8eef96a1e10d66aba50c80e24d2b78a99ee0bd09ff8b9b09f5db7b380e064fe
-DIST firefox-90.0.1-es-MX.xpi 562420 BLAKE2B 57dfde811a33ed1ef52cb1e06045d52b7dd21b45054330bcff87d60440df5858d0288bfd9fb2835dc724559e5c4cc8154ca8f2444532bd33a86570518319f161 SHA512 c816b47239ed61ebca03f6766f4f665a37882311e2805566f5cd3da6a00797e2cdd4973cd3a4137b7309fdc02f45022adcc3446e906402c40fc727ca5d9c5587
-DIST firefox-90.0.1-et.xpi 496641 BLAKE2B c560f85ce62046723a7dff4fc7aa31cc4f25ba5301d5f93dd422a6e0559e7a041cf55476cb8399861cf132416cdac4990f0f3a6b10a1d22f535028662ad2826c SHA512 07cafeec25071e9d7c712ef5394cd49794d01c73a4acfb8dcc700aac3c3ac80b6e45606fbef2fb417123942bd8a9fdc50d64948fa8dd0f9845a1728eb48fcd35
-DIST firefox-90.0.1-eu.xpi 544759 BLAKE2B bed804c5daedb6d00f5beeb60da9b30e0a3252d2f09433deb0b1ba913961c6780edda3160552f7188f3db11fd35e62bf5a32e071ce981f42d8c58ea42e3dde72 SHA512 43da4484590334777b7acaec5e7962f5848bf17781f4085467125d6a1287d777d77f8143a637c3bf67c346e793ae2af18bc24915043377e6c65223421f90e7a0
-DIST firefox-90.0.1-fa.xpi 565130 BLAKE2B e94ffbcc42348bfb2b7b0448fb7ab0bfe86541250bf2f4673426cf74e4a9c553186b722291d00bda2dcb3f64bf5ebad0e5f044af736d623d21cce3b3ac6c1445 SHA512 4a5a26023ad95a61139c16dae1b1583b2ab0be31c64f0e32c92597b9d796f93a7b0cb15465f3d6e50ad06e7b78b4f916033ec60b51a8719dd473c3e69db54d45
-DIST firefox-90.0.1-ff.xpi 488041 BLAKE2B 52843f1d77a2e6bde4ce42e3eb7dbd1cb0ef01d0e1d46dc8418f182253b43c2706e326833ed733e4fbaf38fdc88fa83f0d0805f27fd40069fd4cdab0c7bd6d50 SHA512 2b9ea0f7225d0e5cc93d0fa942bd2785a12def41600a9afe2ebb69df6ce926b5aefa13237a7c9483dd2caf9121052ffbabdb04262ca8505ad8b65a523f160e6b
-DIST firefox-90.0.1-fi.xpi 545674 BLAKE2B 73bfc8d8f0cf4f6dab55e4ed804fb0a2a9a80b577e645ef6f2105fae5e285d404c3e0913b76ca3909ea49c846c9e2424a22d03c962bb9776a3d27cd1e51b44cf SHA512 6b66c1c7ceaeaef83adabac0c0988e9315da2e3e9ce42bbd845e642f2eaae4ab56968393690bef5d1369fff21dbdf566499316115149172189498576953cdfe9
-DIST firefox-90.0.1-fr.xpi 570206 BLAKE2B 4c8f2e9e4b0c762bc0498b08a76885adcb7c36164506c433b91dd5fd22e69a6ce91e93b966e64e762e9c96105e71252c12dd20783fb4065093f56db61904a5f6 SHA512 b142455937ba139f2385cc22f2da357e36a1d082a77731860d2115f9eaf8266a988bbd9cc1ec30dd899a5d1ed4831872a6f494e4d203151328006f782db04b51
-DIST firefox-90.0.1-fy-NL.xpi 555046 BLAKE2B 89d741eb945138cca6471ac0b3e3b09588c6b9fe5d2fac250d2f40cbf005f445c894cc152dc692855598e288c8d356ba1d0edfe5ddaf5d23c1526fb64cae3b70 SHA512 5df49977394f88e99c55f1f4e914d96614e70f30c5d611210b6e40283074968bc7906c44389164d5d9390248fada6aa8aa1940408982ef08c3a83a8039a2c171
-DIST firefox-90.0.1-ga-IE.xpi 473117 BLAKE2B b2da1ab90b7af89f970f4980a189640674e23a0cd88b5c0daaa88335ee48f36e531cff39ab80a2edfb60a2f6e1ded89101b04c5a45869886ccb3ba79fdc0ddaf SHA512 04bd5bc068fa2787d1af54d4ba780f1bb4bbc9f53c8826ad91e351c76742a2d4ac672bb8e8300dc89f2189d635ec00ee3e750ac0622296f85fb68e9fc6da3205
-DIST firefox-90.0.1-gd.xpi 550989 BLAKE2B 2e2bd993fd17743a892997c23671ddde4633acb77685de2949882921a53d11a9c7675da7eb292ea609d910a9ffb09a12356eaa73c331950249f4f5817a79a300 SHA512 640f27de1df4fff3b7da6bd01c69e16f9bc5b036e711d51bf7641cfd6a39aa0fd30b5b3f04c4c00ffe44397ae3079504b13c36577f8c9e772390b31009c24c4e
-DIST firefox-90.0.1-gl.xpi 554475 BLAKE2B 8052c752b431b96d9bfbc4c137f5c1f40d3377445631327cf79234774a324fd03c82701fd01884a945f02b3b8fbc96974a1665705f007d59c8b9e99d889e78fc SHA512 5fd8701e1d67c3bb065dc1f409cdd67089e883a0b76ed0ac9ee4d4f13be75aa9eebe4d22879529ac94ab4091b0a4ef981cee7abad1960acc755c2267b07bad36
-DIST firefox-90.0.1-gn.xpi 571174 BLAKE2B 5b71ff90d2128c9aae6fcd7ff87a9a8dffce9ce63fec18e7f0f336e17744dbf9365089d931025416da7bd1759f82a95b9556911b7ab2d253cbf649e162c7b4d1 SHA512 b359f7717a18cff6e4d3472215321d09f5077637c344ecf7da56639879b043ef6c5809913b011e125c985d022bb8e921328dcf4a96b90bd8d8231d462ed8f88a
-DIST firefox-90.0.1-gu-IN.xpi 547526 BLAKE2B a9586665e12001c1eb7327b8fc3b5edc2ba4ade85cdb11aeb8cafe1357771f1728b4b158ed3abfd2fc4d032b7f73019e536365a6e95aa17fc7ab1be7de5a7fb6 SHA512 f8459b05537ae768e3fef891a49202ca2351a7e2f3305d11a8c7b8b840d9f2f88efde014f0de078a9cf1f4eaa26db5a842d87cd140169827ce44d96975e21265
-DIST firefox-90.0.1-he.xpi 568991 BLAKE2B 57a4249c93f96fb7bc0d7a32ba41aa74b0661ca57cdcde2efbe695bb681835f8d3babb8b91ae8519a64b0e27ebfc0c6603fc85ebf09412a436e1fefc9b2bb29d SHA512 9bf1f56d47bca657848be539fc4aaf4cbe208deea22a9ecf912babc6e69587afefa8618f81b841d1634cfccc88d145d9cc0350a1b4527a16920459be57c2cc4d
-DIST firefox-90.0.1-hi-IN.xpi 579605 BLAKE2B e79e14b8f290f67003d3316506255944ff883d9d2600c7c95293eb4de96efcc53895ab22b2edb804e97b88a1fa9ebc9be7fe8210e21edeff1b4d7dfa3f710e21 SHA512 ca9517f8427dd756aa08cd6343cef09980530ec08d34b01075d274ccf898cf6885cc56f2f97d42dc6daae5f607b4f926834d4c40262e82512031ae28c35e425e
-DIST firefox-90.0.1-hr.xpi 549989 BLAKE2B 179e37c8303ce34809bc87274cd8bf4a82fb465efff9e4806540adbdbf15771e147bfd4285afbec602efab0f7a5a91d78ecd73954304cfb3749067563cf03d3d SHA512 b6b8ad078d5a97b401e492dd5654fbdd1da0acb1c190ca8224891ca0d8f55da08e535b8922d92e64f3b60408d680c8be3c070f1946ad1bea31ebb23bf0dfb0b3
-DIST firefox-90.0.1-hsb.xpi 574886 BLAKE2B 4544532f23189bd87d37059c6df790acdf8b2145e3ce3e1332e08bad02c1b8128e99a924f2ac1fa11c5394646e87123525ddd765a36ede1e1fc8fb821151d0ea SHA512 7096869a1d81a2ac7179576e60a18ef5b573c7505ef853404c6c7cec8eee2498cd4bb262f1cce62d71e02bf3e022bb18bbffab38bb98e40866554c701742f9d1
-DIST firefox-90.0.1-hu.xpi 578493 BLAKE2B 910f323df1b5844676c6f220cef8bf90720f410327e38fff709d1ff98037792287839895eaa275291884fd8edcb0b4eff13e73216f68d7dfea9400e44bb643dd SHA512 d95e663a2ea9d547252d7bb56451b62b0c2571499e715a9c5d0dbe7b8e14047bb3c24fadc5c8eec3f0a330c9d015984b1236fd803bb314c506502753b5f8448c
-DIST firefox-90.0.1-hy-AM.xpi 604407 BLAKE2B bcc43eba7b02525dffa4cdb2bf99a784e2da16960484292cdc5485d6be72b5050b64b10e82358eb73e10bb4680e8d8491623c5af44ec28f9207d82f4edd26e24 SHA512 cd592044b0de3e8a37cc43be6b0a9abecdee6d674806c9b2efd66f6d0c2a999198790a86545cbd15134b8367192765c82427fe39296a11cf7ea2d6c129255ed0
-DIST firefox-90.0.1-ia.xpi 543884 BLAKE2B db092153d18b7cd15a74f5bb9d5fcb253c6b69ec3b7a83f43ef74c3d79d95361b58c2eb07110dac5fed6ab77db9b6f9284b5a29f5c37beb688f5f849d40c7b2a SHA512 91650c07d39fba5cc76d60df856535bdf1e9eb5d837a87de1c46821f2f31a7733be5609374901a6ffc93090cbf0c5036f9dd7a2445a0c934ae85202264894359
-DIST firefox-90.0.1-id.xpi 540018 BLAKE2B 2866cda1253e0594ab3627459c600b3a52aea7facbdfbae7df98f1212f7f2ccfabfb887e10ff1bd9e6dcd230d667aab57d2f3c25bbea116b42aff5e32984ff61 SHA512 51401b509b947a45c7fc97f89cc1b10a9e42578a4b861f39bafa85b1c6096611929346f412907f94665413291aa78660b9df1e1325b87cf51bec1617ad428d1f
-DIST firefox-90.0.1-is.xpi 483701 BLAKE2B 12f83d8122e399405805f9a5fddb49db066d1e361e4a1ebb09f8dbaa7bdc5f0d2d5f1bfdb447f14a09e3944f4d909491b84c15e48b33f3144ccedb6692aa35a9 SHA512 4e96600455d02705375a4dc7939042d54b6effc8785ef3528476d36e135e987eeb3a1205373477eaeff09e080a47a40390efd92c7d5d777f37f535f49c6cc36c
-DIST firefox-90.0.1-it.xpi 472095 BLAKE2B 6c797b7272f88d5ae64ba62e2cc4fa662b1ecad4a2247f9ca170b315c0f619005cb5ef0a5f621522afc1e3421146ddede47c1969fbad1c4ab3229eac682bf4d9 SHA512 f4893dbf1834b5c2bc57d4b4e8341f17c6cccbfd9944928869159dcc430547479cd34ca633c8e2c376b975d03c50eb9df3b5628635a4fc420891bf633788e904
-DIST firefox-90.0.1-ja.xpi 605305 BLAKE2B 11ec52280078d6edf0ceea06572ea54e7c31de81ae8fa3d8d776a3f42d788e919af5838e8bfe325c77aef20681bc9e33dcb9c396eec015f5c304bd2ea449c605 SHA512 06c3adfe55ac510fa09a9952b66541b84470facfc73fdf8422beeb505865b3fbf61494bdcce2810e7966eb4eed0391a53686f5fd25a4f73587e508e17fd643e8
-DIST firefox-90.0.1-ka.xpi 606618 BLAKE2B 6c0d9623bd4ed893fd8527e97265f544fd6bcd5e044381dc2b0da9da416a8d98341daab642d966f174476f4c2fc37b9fdc3f488ee64364b86546a3016c955b51 SHA512 10ec5f34c551f4c095eac2d5ae0468cb7fc9e5209ac95740c3aa321f212b82b0599760da00110f64ead5a3e118bde07871ef9e7c5e9af89068bfc20fcaee1bae
-DIST firefox-90.0.1-kab.xpi 562723 BLAKE2B eebf8fe2b650132748beec57f468b4830f0c6a885fd21d215d1f734e93896d1d07b5eb7f85973ab80260fd301d197273ba783ecd5fbfc9f370d68e4354725a2b SHA512 480694521805d67a10818ae1f98cb42836d5719930713b68aa38d53aee7879a055ee0d8921baaa6d9841d5e068538ce64ec216e14b893e5602afc08106f9b67e
-DIST firefox-90.0.1-kk.xpi 621558 BLAKE2B c7d385c2e4ac96488f8596e5883f693ab91ece3bf6e0b3cd5d847c1169f07c0c81fd2585d7fcf640c05eb7d67e723f06959c2a90b62507ae8e4240cfb7827f66 SHA512 3345b0e31a162bcbc87230e7f01ba47cdd3836863d4adb267000bbbcbc976359ff289f5f1381cc3d6cfc30001cf1554d46395d530f802dc72081966823d8cf0f
-DIST firefox-90.0.1-km.xpi 546421 BLAKE2B f51e28d94255d3f0e7d4a830aa5284004d932f78f123ad701cb4d8ef18c9d39f3c0adb973dce710acdb74428521ab8af9ecbe01bb2adddfd1a84e71c5c2d9db1 SHA512 6da239caa4b2a2481eb42fd6f4efbdc4694e90ef4c1e71a627e42ccc3679ac390c275cb639a3476cbd266aaf45341a200a4351807635049c64942bb050c88da6
-DIST firefox-90.0.1-kn.xpi 510711 BLAKE2B f78f4f5054628ac2bc345066f309d43783d1400fa85ceccf6abf75d285bd83c6b5276a7e312b0b51ec4b2368aae4834fb16d458c61076e8ab1b7de6dde145f7c SHA512 f4d9f197b49b443c3cecf3535762686b3210f10cbf22c4403334081daf448b0c11f1f347af3d4f1d523a68e2ad0ba1141fbfb6897c4f1db91873a90f958c4aea
-DIST firefox-90.0.1-ko.xpi 590157 BLAKE2B 5a1a3353870ca211487e99c9d2b51d086d4ae4cdf15fb23e34991e4375e1abe3ba3ba31622d191ddcdb53ae36adde003015fd3f51b0f7d387fd053e6ecc93289 SHA512 dc4673e0eb02ffcaec666113f3a8ba412731fca3776d2819bf080b529f16cd36501b1e090d066e8ae0485fe137b1d289bc507692960ab8dd10b619941a550689
-DIST firefox-90.0.1-lij.xpi 484744 BLAKE2B c7c87de7ec80380db073ab34bf5ea5de962c29f0748752cb86afd1a6d9bab1020eb997d917440691701a89432605c1d0fa959bad0581eb9221ca27bd688f83b9 SHA512 5d3118803438e43b014e5eb7079dfa51afb131c548c08764601ba7f2040250994cdf74b6c5bbea3d8656661169852386a6042bbfdac2e857c6c35692c23ab969
-DIST firefox-90.0.1-lt.xpi 571831 BLAKE2B 7ec88a3b6772d41dd7fff3154234e1d3aaacb15b2b51981b635b13cf7b49a20846e263650fb84800326c9dc208bea2e9257bb7efb1fbd8830e0bb5e7a10cd2b2 SHA512 47e357b716a75b44cc703507d680ca71df91af4383be32637be3a3c2649909ac8645c734ae3257e68ab58b4e402e39475b6245584609f816b0ec1487ccdbf90f
-DIST firefox-90.0.1-lv.xpi 475676 BLAKE2B c6aa771d4123813e8e086673b9ba84b03a78d8b74908d0b11c1332dc40171c4f39e219aa2ba69ba7b2ec9e1f343a82056b8d18a1af95b318ed28287d7bd2394a SHA512 fa22507a1a28d9ae1bdcf04bddf7ba22598d6f3389b0bbeed4a20fd7029fc28f845627c5eff6db2998628e076ff48a03ba78a62cb9010b99f13713805e5d8bd4
-DIST firefox-90.0.1-mk.xpi 472343 BLAKE2B f78cc1d87ecd2849c2508f4a132971691a66f96f49b3a44970b9a3f0c8d6c2fb56fbe264737f46754c243afe724095d5b46d292bdba3923817d09ccb28951209 SHA512 72bf3948a3948079b2ffce5dcd56fcd9507db42adfcf005a77f1f03646fb4e3065076fca316a0e35c0a6fbfba36b71feb632a3796c4650db1d47dfba3badbf9d
-DIST firefox-90.0.1-mr.xpi 547689 BLAKE2B cbf722e8adcfb2f355123137d61872c7cd0c26a3ee60f0190edcc59b2c24eb71640fdb27f7ffe96e4b0b3533c0d37b1ebdaa368af1bc76697259c6f5941d4889 SHA512 2ce3b7318c7a58a37e7ee9ef2fd18228aeeb00ec313b340e17614e40ad260387ac9d7800a8ee404abd833845dd1092fc40aa75191827b3fb8fb5e4ccd7a8d668
-DIST firefox-90.0.1-ms.xpi 459291 BLAKE2B 30abfe885821c6240dcb5a20d25037392d1b1cc001188dcfe135f1d24af14fd5d40c0f839b49ea1fd6f798070dca31892c3868807a243dd095638505ac08f4e2 SHA512 740a0954aa61e12665e1fe0dcbbdafb14291b56e68686d28f8ed0d63e79b83061ffb9c3a29dfe188b1e162142fbec06cfe3643f1bb99f102dd01d8b041627df7
-DIST firefox-90.0.1-my.xpi 531244 BLAKE2B a4a133bec87f4bcea72dfe58f86749306dd180e15047cf6da401d6b0bd8dd865a01942c283dae594735133c7a6f021717ccfa90674ce1bf30e93ea919362a7df SHA512 49e9a2b9ecdb0b6830d5c4ce117d836912259183b8ce33e52ea53f95d78845fcbacfe0037db5d2dd5ceec39674bae71eb476cd963c3927fd732232d6c06483b7
-DIST firefox-90.0.1-nb-NO.xpi 540501 BLAKE2B a2c949325e861d437d69c8173609cf0062db681ed9d8b2d4c90d3816b27ea181b0ae9b079b66de57678c2200a103959547f7d5e083a6e696af8bd1c189aa9087 SHA512 d0178d9c479f8786ea81e861303205c43f85ce51a8f2b2bae3eef49060ff86c87379af795de9bfed36a6a6e5fc1ff3f614086b96a7a58dab2a52bf17425e1e86
-DIST firefox-90.0.1-ne-NP.xpi 488250 BLAKE2B 1ea7f4249a85e4b123c317852b31a1d4c0c2bdde66058cc66a2cddeea13f6be9eb80bbf79053266a661f4d2de898f48ebffa9034722c0b6bf1450d9637cf672a SHA512 e386310bf8dc2b1c72a5b62682b8189ccd60d7fb71a8c7df9f8c80ecd7e56b9d95d941ecff13fc866b627e77a2daf2cf09ae1496260a4e7666c2dc4d878cb01a
-DIST firefox-90.0.1-nl.xpi 548832 BLAKE2B a02ba3ce88030183ce63fdabd1e730cfdfcb38a907d92df37e2fb4fc1b5ac1a7c4de3df7828a6069e0b8442d85309454396bbcd5aee13b306b5d6d4e7831b2eb SHA512 a2c218a19b55e9eae308b49fe9bd32693686c1c8cb3aa203592de0e30b5529bb43a88e92e927dd1ad8f1f18d269a7f7693e99091102d02beaf119551de2c7ad0
-DIST firefox-90.0.1-nn-NO.xpi 543211 BLAKE2B f57ea76c1ffbaf650f75882e5a667701e30caeff578319c046f9ebd04df29bcfa39da84a36499ef0b25d295a76dca96eb0b710a46f78c99fa40cf0f75143a3a9 SHA512 845e6c71d771ccceaca224631f78ae0408482126f1beadd1890b64b43b36070f014cb92fcedab4fa82c6a1287f9e0eb87a28c65a98db078fae99cd405039557f
-DIST firefox-90.0.1-oc.xpi 565279 BLAKE2B 42bf5fee3c71dacb9837f266f989677c7c0b9930b34b2b91866d5cbbfe29609fefac5510891d9f9850b12597c34846b666b1dd94066bc5b808f44180eb17b5c9 SHA512 543b606c35d0c173752fc0e603160a004c684fcb0f2e7aad30bc2e1c772f68403bffc38ea97a1174eec26336d4ea82b13dbab98e7e1c1d38c96b2773c5bcdebb
-DIST firefox-90.0.1-pa-IN.xpi 612462 BLAKE2B ed516d3d2de5d6e40c8e6d92b84a10f157c1d236f2baf01a76a80b0420d28ac6c6660b02c6711295776995ab5b508bb215feec0e02951d933b569d566e89cdd0 SHA512 2d9abd3b3ebe6ddd0d0aeef48d9c49061505d2090bc2dbf6d1ffaf35b6fd99b60429b46c85db6af0477d1a0ad05ff453a57c2a0ab57a23b77c8c4a9b9ee0399d
-DIST firefox-90.0.1-pl.xpi 568699 BLAKE2B 16c3835d0637614ff24705bd4d2abf1f02876e2d35620db9c45a59579d314f63853d9d5d20a81fe767cc474001bd65a1efcdf58f730ab79755fc3897943301b5 SHA512 bd87870d8f960d6a16bf5b2cf2c21c2e4758ac9cfbde031b3346430b4b768102bf99e572cad9bdc384d8d569879cf0bf1a2b97ed4a3e33ca2501d6ab04030450
-DIST firefox-90.0.1-pt-BR.xpi 554548 BLAKE2B 1656bfecd902a811097caaebc121a9827166483369e68e74c3fae84ceebaa180f263a54986ad9ac788190b007db8c0e4e437b655d6765082c1a8c90eb4031821 SHA512 45b65b270b7b436331438aec2e2deeb63ba8f86ce6103a4ab0449642e17698806e26178efeaf26a4ab162075cb566cabd6e2305bc976e6d183ac35dcf573e17d
-DIST firefox-90.0.1-pt-PT.xpi 558173 BLAKE2B 492bb5003f2430207b4cbdd61529e4c36ff81df0b9313074f6b768d7c0621b8242934ce9d57a4203b8b1b8b3a8fa0c7bfa8d5f9591a11af5e1aaff92d60615ce SHA512 3a6e364b3a8d8ecfc6c8a6417d98c02d04957e1a73557e87a98e74de0c1d111b907612a3c9a779f1eaa8f819f171bd05fd798c7de1e232a0891c3dc69be1ba75
-DIST firefox-90.0.1-rm.xpi 547503 BLAKE2B 2d87fc0c3af1860e0fea0a5d381e23f5cc908b95461c0ad2a26a4ac291607aacd052bd67396d1a4cd2742edb81f75e5ad156fa88c74075d5eaf13592cd0dd6b1 SHA512 f6014616daba4feeb7a1e8fd5329b3ebf3a70794a3596ba716bf3ada2d005a9d22a5bd5dc67d51ffbbd1ad6c724601671c8332d16c99dcd5780f123bc3d7a962
-DIST firefox-90.0.1-ro.xpi 542097 BLAKE2B 1b62114e852af6662ddd389fce7e5d4c6138eded8157e7deeae2150d45ced14e514d71ec9fa597eccfbd73683a53cc8bd5c8bb390619dd41bab436d92b3cbe98 SHA512 5c96ec5e56d1d6773801fbcc761138097ae6eb1c2e21a2e6b4035b210a76871d7421f67ae54b12119968da0af70dd300a16a4233619b2d53bf1bde4164aab25e
-DIST firefox-90.0.1-ru.xpi 641411 BLAKE2B 9610816c6ae04edadab61a6db39aa739ba99e3aa9adcfc6e0cb97eb90310232526e80f36a48cc25c5f40e53ad2339a7301b0090c0d1449a9faf6bc75a1847b31 SHA512 e08c752107758e0ff5e9148938b4d4a21fbac2e3977dd88f9608054b4071917bcf2637a5c4232a2f2c4dbca48eb6e43a00f75aef309fd7659ccf5c2c39a5abb7
-DIST firefox-90.0.1-si.xpi 497029 BLAKE2B bb10d6b14684f186681f1f296d7dcb59d7d2a53610f35a9875359dce4493ea73568940a12ac58a61e27f19f69a1c3e1eb29bcc1f49e4fc18cdca155c3c497090 SHA512 833970c43c9326b9a9ed8a3f178201b86d8ebad66d2b0696947bcb1187d3f7958a6abf2065da08b1a725bd40e9c19fef4d8efcf4f2905081e236ef64f4cf08bb
-DIST firefox-90.0.1-sk.xpi 578292 BLAKE2B 028082c05bfe03f616056b4494487e14ecdd6fdc8dfa0267a0b3f451e65247fe28f5c8fe1808d53b8c6e1d29df7d9a3f4882fafddf8eb69bd4c1fc06c1726715 SHA512 477884de80be0ba0cb52ccee12ca05ffed9b0f5ca08fea94878619802bd35f3b355b4f68ebb16cf922b1be78859d09e0125ac5acb607f4582c9b72a2af558146
-DIST firefox-90.0.1-sl.xpi 547668 BLAKE2B f61794f628b490fdce7d769f056ca31c8d9b39909346c29cd108b9c9f5ac320157c022cca085ff200f398301968e0a47a4636e0e43a5b81283e39b829de56b45 SHA512 ad71713cd34c8db73bbf230ee75630c435145fc93f5f80c2fe12f2aa87086c27dfe431d6b63ce98679f36b817a090b15e80923332e01ce6fe89b91dd0bb0830c
-DIST firefox-90.0.1-son.xpi 427998 BLAKE2B 436c379781d1faedbb92e0e25ff97849a9b21c4360b95ef3d54831affdfd60cea01f9d7b53ca21fca5d9c03bb7632f7bcf350ce9c43251dddf35725726f69341 SHA512 e591de6888eb35c4ad441513235da632a99ee0d593dcd439ce69687328b13a8eb7f97847007285d07a0af0debe0b3b15f3a5e22c94a113efc23fd909a3ff34ff
-DIST firefox-90.0.1-sq.xpi 568604 BLAKE2B d21c1103537c9a62f935a97adc4df9e6653e63aa020e9eea343a5602e8e2b2317e6b4392ff563c27c588166771c3e38d3b437ba4d0e3f082e8e12746d5e56c1c SHA512 d53dd171bdb5431e880fdf6464fafea04ae54b693ee1d35f1e59e468878fbd9736d40f2562b8f82298cb5cec05588c1f2217fabb19f8b5ed95c2458b934f6aad
-DIST firefox-90.0.1-sr.xpi 602764 BLAKE2B 2de2802aa5ea0c277276a4e2cebb11371270cebf7e78b632df3cbdc6a21516c3cdbf8347af0e23d8427b2ab326fd673e80ded765551b0731df012b64b42b16b7 SHA512 8f87e8170098860a04a7dca4d897bb4935d019d1b8b906bd071554f72876977f2c8be811b1e0694090d10432fc849254053032f392eb635d966c4feaa9a0c793
-DIST firefox-90.0.1-sv-SE.xpi 551932 BLAKE2B 5120ceb910caf1d68a67fc489d3332d97609acd77e41845118aca945100a86778300586284aaceb16cacaf97641059314c99b5110d8ebb3b02c7b0814b332fe9 SHA512 81754326c6e34dd74969004394cfd5346d2946d0fe133b25ed00f34d0b5e5c6c3080a7ea6c5b7bf2cdead15c7a59fa944acb66d7beb656178a7c4b9d0fc283e3
-DIST firefox-90.0.1-szl.xpi 525932 BLAKE2B a2bc9440a8960450c810926c65ace1e0d45783b257482de444337e9f56a8ea66687daf4f73d15781bde1d18bf8a0a72b9e3c5b627021cfe03c854feccb189322 SHA512 5d3e2b4203ce1f247a19eb6a900778fe1d7a52ebc85658f53d819a89e843b2ae138a463117941a46a7564452d157133bc920614c421d7fa7600f023821db3b68
-DIST firefox-90.0.1-ta.xpi 526012 BLAKE2B 302a98bd0426cadd2461dc6d1cad9e22d6a62219bf6aa3543295c9b3b044b1b05162fde424498eb5dd0a7622a257f344e2355fafe13bb4aebacbf43d5d326f04 SHA512 159f870c5a7ddc3130892a9c5b54bad0a057d7cc79382a6cd1dc06cd27fe3011b77c968048e53e6d9dcd8841b8df8259e2136312bcd99fa3efcf2d98ccbf619a
-DIST firefox-90.0.1-te.xpi 568758 BLAKE2B 66bff30e615a47fa2575f57e3c07979a9fcec781a1e6770c4931d64837bc2723093fef569742a609d51ae597419690f41c69e42822382ef5d704aef55ac2ad51 SHA512 50a6f471594531b21edd3d5fe337734838f5d6a8853657d2021ba48f3fb492b19355fb6723b37439fca6a3406161efc1ea741b970a3547367848a9d6780a5dda
-DIST firefox-90.0.1-th.xpi 620993 BLAKE2B 2b8a6348b1f697fa031abc03a774d4ae94e73ad1a30cf1eacce9148c3de682e80e771028122f76009a7cb81612f56908dd47f9c3aa95cd51c09ef2207fa8d334 SHA512 9d24ba44a322cca2bd0488be7ae618d4ba195bd620865357c822f3171297123ae9af741ffd794d23a86ae01a7b8dba79d2015171b693cbc0ea322eb6060220b2
-DIST firefox-90.0.1-tl.xpi 533275 BLAKE2B 3750708f87f9e96c917342f4380486b215010531bb8b875f45285c72e57431dea6cc04a01f70bad16e53284fcb6882449b70480578f73f230136d43360e29944 SHA512 3d57655eb3ea8f0b4ce8b35279b537ea411300a372eca3da6aa9533cc164708d269c46763de19acc3f5240021eee8bd53ed8dc8074fadcf03e49efc3836d9845
-DIST firefox-90.0.1-tr.xpi 564312 BLAKE2B 05731029c793289914508f46d50f9603af0bfd48db91991767ac28ae9e84aff248a6f61541a8519323680e6ed24e8ce80ec9e12bb5085d78694020a1b923a36b SHA512 46a09eae3bf342fb0b4b4d4ffb15b6f87d8641397b87da12aaa1c407289bdf14c99d2a61633cc0525316a0f09987d068e533012703a53af35769dc5c266a8cc0
-DIST firefox-90.0.1-trs.xpi 506677 BLAKE2B 08da46351de4cb9d24b1fc07d1a5c92a604c931a4877ed7d7eda1da59c8c20b03a2511858caf84f4f2fcc1283d67a098f4887e9e13d58a2e0b23b83a403b9d64 SHA512 9070aa494fe4a25e115340e687534d2dc30edf63ba8eaf22d01d232536aa39c577ba032e31b29c646eab265692118845cfd8a9fa56d271cee5c469861f9a2275
-DIST firefox-90.0.1-uk.xpi 635103 BLAKE2B 431a3645dbf1f6e9fdffdaee16214ab96935bd51123024a0b2e7fce5f5157a89971a1e61422d10f501761f2e478336f8cef81d6fc541bc34a5425f8985d9c1ac SHA512 61d06b6317acd6f7146084f6da4c911c8a324cfd79f29eebe050e9c42bd17aa12e791d4e6a9d3191d048dc5cd7bdc1565fa159f7be4366a55931795ce120de7b
-DIST firefox-90.0.1-ur.xpi 577975 BLAKE2B 5ee7b72ae6b4b4ee5d3ac924af13f2ec7a711786bd2f161e77740607a2ff095f3440e862ba6304854097586a6d50a22eee9590cd0a6e8c79309a2f475fdd0588 SHA512 efb5f7cbb4833a7c446bfbbbe305e066dbb8a88ec3e24df93858a079ed6b5f768753e60baf9707d7b02da2e83b1b6aaa0cb17cda4c6c9fc830b32ceb857b03bc
-DIST firefox-90.0.1-uz.xpi 483019 BLAKE2B 2c16d2a9fa9153c06a5e18bd0ff63c1e9799d42ca3b0940f7e0882c54f393f62639fe38d63af34ae5f25d0674b1097fa08a4e47e040334bbef167b7e44899a6f SHA512 84ab9393d666b359c84f5b66b290236a4a3b78e4a4f186d6aa5ff5e97fc80bf2cfa9ec9cf633060eab5c974af56a6dc54d73d8aeb65eb255f62c9bb2115eb537
-DIST firefox-90.0.1-vi.xpi 586296 BLAKE2B 84a9030f542819e1b7a5190bebc3250d6bfb279c42c5ba5624a4c7cd05c91420ffe131f280289801ccd6ae10f06d5b5784f89b05983ff8fb75ce26a93fb65d7d SHA512 4f2fc779dc113ed9bffbb2abb51c3407f9a9bc90d2f5db9445876d39b646da6b5787e9ed41b2d1215c68117455438aac69ae339a92fc2664be172266cd0a13c0
-DIST firefox-90.0.1-xh.xpi 430169 BLAKE2B 0a312479f39d55f26f65dc169cdb781a72a39282ed89311e4c2d0df50fbd05c387b30e4d9aa7a8bc29d813b2ddf428f432a65b3071bbfd24acc49e73d53ccfb1 SHA512 aee61bdacd17ecea84be1f8c66360a2bd43ded757d2ececef35247222c89553b0b0ff7ecb2a32a0de7391757f24d06f9c8032bdf0ce51b1b9a21dee30105c3ea
-DIST firefox-90.0.1-zh-CN.xpi 587656 BLAKE2B 56ece7e539135c2002cd52f222aedaed17f7b2c4adccb2001a9595f572b837b3a273e2a5a0124a5b005e695ce476e32ff39c06b2e760eaa1878855e7aaaac3e9 SHA512 0ce6b36c395aa9182b882f46e80d7958a478326b7db5d2c18b33ea44a419da7ab2700b3222a2523d16ddd46a31152953ebbf2533ecb26bfda4b693a9ed4ea9ac
-DIST firefox-90.0.1-zh-TW.xpi 588101 BLAKE2B e15b3fef7649e09599aedb4e154737bc6bfa819fd0266d81579ae9b34a733db3f232cfdc7c8cc2955dc9a3b12bacdb840ac14f6e081cccae0c8883fbf68aeb4a SHA512 40f1c9d93e73e570bd423101ea07c8b23953d52a641466d7c6376b6875b28ec59bb1f1c2dfa1c6c20e582fb57e74fe354b845f4ca0573eec91ea244fbb6c1434
-DIST firefox-90.0.1.source.tar.xz 378978080 BLAKE2B f512781f5ef51cef5f72234c54622602f8f506c03f68ad2436f28b0e3ac9ba6a8bc35f840437c23a6ca989dbace4290d6ac5632c71cfcefeee2267bf4b64ce8c SHA512 9f87c3f3dad33e42a7a9d2161d7f23ff2e7184b2274f9081511c7982957ae9954784bd844a2348ff4744231415aac195d1f12971392db90be0375b4738acb590
DIST firefox-90.0.2-ach.xpi 467582 BLAKE2B eb20fc04a512be8d1eba219f7541af93dda781080337d76bce276a5583bab5db1938bff037a238377250b6810232b77534bbcf835362ee385b4b1bb6aad60067 SHA512 2f726bfe18bc7e6aa3cde436e9c142382513a1175269b710449cbf7481dc3d91171d21ca1bc30563901bb35eb31befa3c2aba115ac596951d3d6aeb5b94bd1ed
DIST firefox-90.0.2-af.xpi 430709 BLAKE2B 05cc8dde801efd97dfe56d1d102fa48e1b6e62b3e905648007dc488149628ad3eb297445319f0f1b620f2549d7830c16b81c53e06fdff1d43fcc70e815875256 SHA512 3865c9e96b66def2e640d747cf73ec97127b58e15e0fa01d5374d2ebe35a91d16a8176b68f4025122af56648415b47d03fe6a4a1e007a64da8a9ff4e1eae8ef8
DIST firefox-90.0.2-an.xpi 515453 BLAKE2B fe5487cceed1fe4f941adf78760cbfa313f58408a5034eb72809e82b3a404e6515222058ae0fe8e7b18807eff8baa72a7ffcfe80798ce4ef9213be7bd52fc2f5 SHA512 1958e46092c05ba266896dffa83af98adad83572a31e769219b88a044ae132f2d2625154a20abbe997147188033f4924ef50e678d435aba9fdf0d8a291c89ed8
@@ -776,4 +193,3 @@ DIST firefox-90.0.2-xh.xpi 430182 BLAKE2B d849e34655c8b50abb2ce4d2197cdf8761b271
DIST firefox-90.0.2-zh-CN.xpi 588311 BLAKE2B 6656456291738d7b7651e14558a288eec053c1815fec33826e6db4c36058007d9131fb2c2847fda57f8ac75d8b5da9e7c0334db6c9cda0043c8bcb2a84db92c1 SHA512 6ee44936371e07a21903565bdacffb593a4a4fd64413bdc1f6998cb406afa11d934eea20e5ad5117468750d3eca53e80aa6afd9ece1c63ad4eae59a459a3b0c5
DIST firefox-90.0.2-zh-TW.xpi 588723 BLAKE2B 295e5ebb3f810f1ab8b66f301ee5fcd67d147cc640daabbb12e481baf835a439992fc5e1d1195bcd8b28e91336281b2e94d207d77261ec1297c784fdc3fba5eb SHA512 a6b5747fc3986357f13db401dd93763f370e547e3fae61330108debd981fbc630f6af8003d6146e73cdcc948e4b79fc00614e6a257358155b3cfe0176d2e55de
DIST firefox-90.0.2.source.tar.xz 380670372 BLAKE2B 782e548663d3538d834feeea54c9fa54ff5580472b967bb60be331e591b782fff2a6877f2e8db29511ac4b4b3dff847f30dc8f0a8333ece3d4156d6ac10a723d SHA512 4fda0b1e666fb0b1d846708fad2b48a5b53d48e7fc2a5da1f234b5b839c55265b41f6509e6b506d5e8a7455f816dfa5ab538589bc9e83b7e3846f0f72210513e
-DIST firefox-90.0.source.tar.xz 378743212 BLAKE2B 5f70cd3a8b0ece81c332de6be85f7fdcace3936e4f67b4f3cf080766c28fb1f90694e157dbd4f6fa8ed8aed5550a899eee8f000c2bea228af4546cfb02757ade SHA512 233ad59e4ab2f08d2253b49235b51b26fa32fb7c285928110573ccbe67c79965d9401a6c58a3af2ad22b8a58ca5d9b3154e3e8c9d29b153acd16152d9b75442c
diff --git a/www-client/firefox/firefox-78.11.0.ebuild b/www-client/firefox/firefox-78.11.0.ebuild
deleted file mode 100644
index 530262bbf9a..00000000000
--- a/www-client/firefox/firefox-78.11.0.ebuild
+++ /dev/null
@@ -1,1183 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-FIREFOX_PATCHSET="firefox-78esr-patches-14.tar.xz"
-
-LLVM_MAX_SLOT=12
-
-PYTHON_COMPAT=( python3_{7..9} )
-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 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/~{axs,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
-)
-
-SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
- ${PATCH_URIS[@]}"
-
-DESCRIPTION="Firefox Web Browser"
-HOMEPAGE="https://www.mozilla.com/firefox"
-
-KEYWORDS="amd64 arm64 ~ppc64 x86"
-
-SLOT="0/esr$(ver_cut 1)"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-IUSE="+clang cpu_flags_arm_neon dbus debug eme-free geckodriver +gmp-autoupdate
- hardened hwaccel jack lto +openh264 pgo pulseaudio screencast selinux
- +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
- +system-libvpx +system-webp wayland wifi"
-
-REQUIRED_USE="debug? ( !system-av1 )
- screencast? ( wayland )
- wifi? ( dbus )"
-
-BDEPEND="${PYTHON_DEPS}
- app-arch/unzip
- app-arch/zip
- >=dev-util/cbindgen-0.14.3
- >=net-libs/nodejs-10.21.0
- virtual/pkgconfig
- >=virtual/rust-1.41.0
- || (
- (
- sys-devel/clang:12
- sys-devel/llvm:12
- clang? (
- =sys-devel/lld-12*
- pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
- )
- )
- (
- sys-devel/clang:11
- sys-devel/llvm:11
- clang? (
- =sys-devel/lld-11*
- pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
- )
- )
- (
- sys-devel/clang:10
- sys-devel/llvm:10
- clang? (
- =sys-devel/lld-10*
- pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
- )
- )
- )
- lto? (
- !clang? ( sys-devel/binutils[gold] )
- )
- amd64? ( >=dev-lang/yasm-1.1 )
- x86? ( >=dev-lang/yasm-1.1 )
- !system-av1? (
- amd64? ( >=dev-lang/nasm-2.13 )
- x86? ( >=dev-lang/nasm-2.13 )
- )"
-
-CDEPEND="
- >=dev-libs/nss-3.53.1
- >=dev-libs/nspr-4.25
- dev-libs/atk
- dev-libs/expat
- >=x11-libs/cairo-1.10[X]
- >=x11-libs/gtk+-2.18:2
- >=x11-libs/gtk+-3.4.0:3[X]
- x11-libs/gdk-pixbuf
- >=x11-libs/pango-1.22.0
- >=media-libs/libpng-1.6.35:0=[apng]
- >=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/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:0/0.3 )
- system-av1? (
- >=media-libs/dav1d-0.3.0:=
- >=media-libs/libaom-1.0.0:=
- )
- system-harfbuzz? (
- >=media-libs/harfbuzz-2.6.8:0=
- >=media-gfx/graphite2-1.3.13
- )
- system-icu? ( >=dev-libs/icu-67.1:= )
- system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
- system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
- system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
- system-webp? ( >=media-libs/libwebp-1.1.0:0= )
- wifi? (
- kernel_linux? (
- sys-apps/dbus
- dev-libs/dbus-glib
- net-misc/networkmanager
- )
- )
- jack? ( virtual/jack )
- selinux? ( sec-policy/selinux-mozilla )"
-
-RDEPEND="${CDEPEND}
- jack? ( virtual/jack )
- openh264? ( media-libs/openh264:*[plugin] )
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4
- )
- )
- selinux? ( sec-policy/selinux-mozilla )"
-
-DEPEND="${CDEPEND}
- 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
- ewarn "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
- ewarn "=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
- ewarn "=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=(
- ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
- da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
- fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
- ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
- nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru
- si sk sl son sq sr sv-SE ta te th tl tr trs uk ur uz vi
- xh zh-CN zh-TW
-)
-
-mozilla_set_globals() {
- # https://bugs.gentoo.org/587334
- local MOZ_TOO_REGIONALIZED_FOR_L10N=(
- fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
- )
-
- local lang xflag
- for lang in "${MOZ_LANGS[@]}" ; do
- # en and en_US are handled internally
- if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
- continue
- fi
-
- # strip region subtag if $lang is in the list
- if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
- xflag=${lang%%-*}
- else
- xflag=${lang}
- fi
-
- SRC_URI+=" l10n_${xflag/[_@]/-}? ("
- SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
- SRC_URI+=" )"
- IUSE+=" l10n_${xflag/[_@]/-}"
- done
-}
-mozilla_set_globals
-
-moz_clear_vendor_checksums() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -ne 1 ]] ; then
- die "${FUNCNAME} requires exact one argument"
- fi
-
- einfo "Clearing cargo checksums for ${1} ..."
-
- sed -i \
- -e 's/\("files":{\)[^}]*/\1/' \
- "${S}"/third_party/rust/${1}/.cargo-checksum.json \
- || die
-}
-
-moz_install_xpi() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 2 ]] ; then
- die "${FUNCNAME} requires at least two arguments"
- fi
-
- local DESTDIR=${1}
- shift
-
- insinto "${DESTDIR}"
-
- local emid xpi_file xpi_tmp_dir
- for xpi_file in "${@}" ; do
- emid=
- xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
-
- # Unpack XPI
- unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
-
- # Determine extension ID
- if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
- emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
- [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
- elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
- emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
- [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
- else
- die "failed to determine extension id"
- fi
-
- einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
- newins "${xpi_file}" "${emid}.xpi"
- done
-}
-
-mozconfig_add_options_ac() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 2 ]] ; then
- die "${FUNCNAME} requires at least two arguments"
- fi
-
- local reason=${1}
- shift
-
- local option
- for option in ${@} ; do
- echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
- done
-}
-
-mozconfig_add_options_mk() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 2 ]] ; then
- die "${FUNCNAME} requires at least two arguments"
- fi
-
- local reason=${1}
- shift
-
- local option
- for option in ${@} ; do
- echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
- done
-}
-
-mozconfig_use_enable() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 1 ]] ; then
- die "${FUNCNAME} requires at least one arguments"
- fi
-
- local flag=$(use_enable "${@}")
- mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
-}
-
-mozconfig_use_with() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 1 ]] ; then
- die "${FUNCNAME} requires at least one arguments"
- fi
-
- local flag=$(use_with "${@}")
- mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
-}
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if use pgo ; then
- if ! has usersandbox $FEATURES ; then
- die "You must enable usersandbox as X server can not run as root!"
- fi
- fi
-
- # Ensure we have enough disk space to compile
- if use pgo || use lto || use debug ; then
- CHECKREQS_DISK_BUILD="13500M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_pretend
- fi
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if use pgo ; then
- if ! has userpriv ${FEATURES} ; then
- eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
- fi
- fi
-
- # Ensure we have enough disk space to compile
- if use pgo || use lto || use debug ; then
- CHECKREQS_DISK_BUILD="13500M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_setup
-
- llvm_pkg_setup
-
- if use clang && use lto ; then
- local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
- [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
- [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
-
- # temp fix for https://bugs.gentoo.org/768543
- # we can assume that rust 1.{49,50}.0 always uses llvm 11
- local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
- [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
- [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
-
- if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
- local version_llvm_rust="11"
- else
- local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
- [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
- [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
- fi
-
- if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
- eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
- eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
- eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
- eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
- eerror " - Build ${CATEGORY}/${PN} without USE=lto"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- 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 ! 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
-}
-
-src_unpack() {
- local _lp_dir="${WORKDIR}/language_packs"
- local _src_file
-
- if [[ ! -d "${_lp_dir}" ]] ; then
- mkdir "${_lp_dir}" || die
- fi
-
- for _src_file in ${A} ; do
- if [[ ${_src_file} == *.xpi ]]; then
- cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
- else
- unpack ${_src_file}
- fi
- done
-}
-
-src_prepare() {
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
- eapply "${WORKDIR}/firefox-patches"
-
- # Allow user to apply any additional patches without modifing ebuild
- eapply_user
-
- # Make LTO respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/build/moz.configure/lto-pgo.configure \
- || die "sed failed to set num_cores"
-
- # Make ICU respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/intl/icu_sources_data.py \
- || die "sed failed to set num_cores"
-
- # sed-in toolchain prefix
- sed -i \
- -e "s/objdump/${CHOST}-objdump/" \
- "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
- || die "sed failed to set toolchain prefix"
-
- sed -i \
- -e 's/ccache_stats = None/return None/' \
- "${S}"/python/mozbuild/mozbuild/controller/building.py \
- || die "sed failed to disable ccache stats call"
-
- einfo "Removing pre-built binaries ..."
- find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
-
- # Clearing checksums where we have applied patches
- moz_clear_vendor_checksums target-lexicon-0.9.0
-
- # Create build dir
- BUILD_DIR="${WORKDIR}/${PN}_build"
- mkdir -p "${BUILD_DIR}" || die
-
- # Write API keys to disk
- echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
- echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
- echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
-
- xdg_src_prepare
-}
-
-src_configure() {
- # Show flags set at the beginning
- einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
- einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
- einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
- einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
- einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
-
- local have_switched_compiler=
- if use clang && ! tc-is-clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- have_switched_compiler=yes
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
- NM=llvm-nm
- RANLIB=llvm-ranlib
- elif ! use clang && ! tc-is-gcc ; then
- # Force gcc
- have_switched_compiler=yes
- einfo "Enforcing the use of gcc due to USE=-clang ..."
- AR=gcc-ar
- CC=${CHOST}-gcc
- CXX=${CHOST}-g++
- NM=gcc-nm
- RANLIB=gcc-ranlib
- fi
-
- if [[ -n "${have_switched_compiler}" ]] ; then
- # Because we switched active compiler we have to ensure
- # that no unsupported flags are set
- strip-unsupported-flags
- fi
-
- # Ensure we use correct toolchain
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
-
- # Pass the correct toolchain paths through cbindgen
- if tc-is-cross-compiler ; then
- export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
- fi
-
- # Set MOZILLA_FIVE_HOME
- export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
-
- # python/mach/mach/mixin/process.py fails to detect SHELL
- export SHELL="${EPREFIX}/bin/bash"
-
- # Set MOZCONFIG
- export MOZCONFIG="${S}/.mozconfig"
-
- # Initialize MOZCONFIG
- mozconfig_add_options_ac '' --enable-application=browser
-
- # Set Gentoo defaults
- export MOZILLA_OFFICIAL=1
-
- mozconfig_add_options_ac 'Gentoo default' \
- --allow-addon-sideload \
- --disable-cargo-incremental \
- --disable-crashreporter \
- --disable-install-strip \
- --disable-strip \
- --disable-updater \
- --enable-official-branding \
- --enable-release \
- --enable-system-ffi \
- --enable-system-pixman \
- --host="${CBUILD:-${CHOST}}" \
- --libdir="${EPREFIX}/usr/$(get_libdir)" \
- --prefix="${EPREFIX}/usr" \
- --target="${CHOST}" \
- --without-ccache \
- --with-intl-api \
- --with-libclang-path="$(llvm-config --libdir)" \
- --with-system-nspr \
- --with-system-nss \
- --with-system-png \
- --with-system-zlib \
- --with-toolchain-prefix="${CHOST}-" \
- --with-unsigned-addon-scopes=app,system \
- --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
- --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
-
- # Set update channel
- local update_channel=release
- [[ -n ${MOZ_ESR} ]] && update_channel=esr
- mozconfig_add_options_ac '' --update-channel=${update_channel}
-
- if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
- mozconfig_add_options_ac '' --enable-rust-simd
- fi
-
- if [[ -s "${S}/api-google.key" ]] ; then
- local key_origin="Gentoo default"
- if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
- key_origin="User value"
- fi
-
- mozconfig_add_options_ac "${key_origin}" \
- --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
- else
- einfo "Building without Google API key ..."
- fi
-
- if [[ -s "${S}/api-location.key" ]] ; then
- local key_origin="Gentoo default"
- if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
- key_origin="User value"
- fi
-
- mozconfig_add_options_ac "${key_origin}" \
- --with-google-location-service-api-keyfile="${S}/api-location.key"
- else
- einfo "Building without Location API key ..."
- fi
-
- if [[ -s "${S}/api-mozilla.key" ]] ; then
- local key_origin="Gentoo default"
- if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
- key_origin="User value"
- fi
-
- mozconfig_add_options_ac "${key_origin}" \
- --with-mozilla-api-keyfile="${S}/api-mozilla.key"
- else
- einfo "Building without Mozilla API key ..."
- fi
-
- mozconfig_use_with system-av1
- mozconfig_use_with system-harfbuzz
- mozconfig_use_with system-harfbuzz system-graphite2
- mozconfig_use_with system-icu
- mozconfig_use_with system-jpeg
- mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
- mozconfig_use_with system-libvpx
- mozconfig_use_with system-webp
-
- mozconfig_use_enable dbus
-
- use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
-
- mozconfig_use_enable geckodriver
-
- if use hardened ; then
- mozconfig_add_options_ac "+hardened" --enable-hardening
- append-ldflags "-Wl,-z,relro -Wl,-z,now"
- fi
-
- mozconfig_use_enable jack
-
- mozconfig_use_enable pulseaudio
- # force the deprecated alsa sound code if pulseaudio is disabled
- if use kernel_linux && ! use pulseaudio ; then
- mozconfig_add_options_ac '-pulseaudio' --enable-alsa
- fi
-
- mozconfig_use_enable screencast pipewire
-
- 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
- # Linking only works when using ld.gold when LTO is enabled
- mozconfig_add_options_ac "forcing ld=gold due to USE=lto" --enable-linker=gold
-
- # ThinLTO is currently broken, see bmo#1644409
- mozconfig_add_options_ac '+lto' --enable-lto=full
- 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
- elif tc-ld-is-gold ; then
- mozconfig_add_options_ac "linker is set to gold" --enable-linker=gold
- 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
-
- # Disable notification when build system has finished
- export MOZ_NOSPAM=1
-
- # Build system requires xargs but is unable to find it
- mozconfig_add_options_mk '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 all-gentoo.js
-
- local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.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 menus
- local wrapper_wayland="${PN}-wayland.sh"
- local wrapper_x11="${PN}-x11.sh"
- local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
- local display_protocols="auto X11"
- local icon="${PN}"
- local name="Mozilla ${MOZ_PN^}"
- local use_wayland="false"
-
- if use wayland ; then
- display_protocols+=" Wayland"
- use_wayland="true"
- fi
-
- local app_name desktop_filename display_protocol exec_command
- for display_protocol in ${display_protocols} ; do
- app_name="${name} on ${display_protocol}"
- desktop_filename="${PN}-${display_protocol,,}.desktop"
-
- case ${display_protocol} in
- Wayland)
- exec_command="${PN}-wayland --name ${PN}-wayland"
- newbin "${FILESDIR}/${wrapper_wayland}" ${PN}-wayland
- ;;
- X11)
- if ! use wayland ; then
- # Exit loop here because there's no choice so
- # we don't need wrapper/.desktop file for X11.
- continue
- fi
-
- exec_command="${PN}-x11 --name ${PN}-x11"
- newbin "${FILESDIR}/${wrapper_x11}" ${PN}-x11
- ;;
- *)
- app_name="${name}"
- desktop_filename="${PN}.desktop"
- exec_command="${PN}"
- ;;
- esac
-
- 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
- done
-
- # Install generic wrapper script
- [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
- newbin "${FILESDIR}/${PN}.sh" ${PN}
-
- # Update wrapper
- local wrapper
- for wrapper in \
- "${ED}/usr/bin/${PN}" \
- "${ED}/usr/bin/${PN}-x11" \
- "${ED}/usr/bin/${PN}-wayland" \
- ; do
- [[ ! -f "${wrapper}" ]] && continue
-
- 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}:" \
- "${wrapper}" \
- || die
- done
-}
-
-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 show_normandy_information
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- # New install; Tell user that DoH is disabled by default
- show_doh_information=yes
- show_normandy_information=yes
- else
- local replacing_version
- for replacing_version in ${REPLACING_VERSIONS} ; do
- if ver_test "${replacing_version}" -lt 70 ; then
- # Tell user only once about our DoH default
- show_doh_information=yes
- fi
-
- if ver_test "${replacing_version}" -lt 74.0-r2 ; then
- # Tell user only once about our Normandy default
- show_normandy_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
-}
diff --git a/www-client/firefox/firefox-89.0.1.ebuild b/www-client/firefox/firefox-89.0.1.ebuild
deleted file mode 100644
index c7e1276a643..00000000000
--- a/www-client/firefox/firefox-89.0.1.ebuild
+++ /dev/null
@@ -1,1179 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-FIREFOX_PATCHSET="firefox-89-patches-03.tar.xz"
-
-LLVM_MAX_SLOT=12
-
-PYTHON_COMPAT=( python3_{7..9} )
-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 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/~{axs,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
-)
-
-SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
- ${PATCH_URIS[@]}"
-
-DESCRIPTION="Firefox Web Browser"
-HOMEPAGE="https://www.mozilla.com/firefox"
-
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-
-SLOT="0/$(ver_cut 1)"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-IUSE="+clang cpu_flags_arm_neon dbus debug eme-free geckodriver +gmp-autoupdate
- hardened hwaccel jack lto +openh264 pgo pulseaudio screencast sndio selinux
- +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
- +system-libvpx +system-webp wayland wifi"
-
-REQUIRED_USE="debug? ( !system-av1 )
- screencast? ( wayland )"
-
-BDEPEND="${PYTHON_DEPS}
- app-arch/unzip
- app-arch/zip
- >=dev-util/cbindgen-0.19.0
- >=net-libs/nodejs-10.23.1
- virtual/pkgconfig
- >=virtual/rust-1.47.0
- || (
- (
- sys-devel/clang:12
- sys-devel/llvm:12
- clang? (
- =sys-devel/lld-12*
- pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
- )
- )
- (
- sys-devel/clang:11
- sys-devel/llvm:11
- clang? (
- =sys-devel/lld-11*
- pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
- )
- )
- (
- sys-devel/clang:10
- sys-devel/llvm:10
- clang? (
- =sys-devel/lld-10*
- pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
- )
- )
- )
- amd64? ( >=dev-lang/nasm-2.13 )
- x86? ( >=dev-lang/nasm-2.13 )"
-
-CDEPEND="
- >=dev-libs/nss-3.64
- >=dev-libs/nspr-4.29
- dev-libs/atk
- dev-libs/expat
- >=x11-libs/cairo-1.10[X]
- >=x11-libs/gtk+-2.18:2
- >=x11-libs/gtk+-3.4.0:3[X]
- x11-libs/gdk-pixbuf
- >=x11-libs/pango-1.22.0
- >=media-libs/libpng-1.6.35:0=[apng]
- >=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/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:0/0.3 )
- system-av1? (
- >=media-libs/dav1d-0.8.1:=
- >=media-libs/libaom-1.0.0:=
- )
- system-harfbuzz? (
- >=media-libs/harfbuzz-2.7.4:0=
- >=media-gfx/graphite2-1.3.13
- )
- system-icu? ( >=dev-libs/icu-67.1:= )
- system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
- system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
- system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
- system-webp? ( >=media-libs/libwebp-1.1.0:0= )
- wifi? (
- kernel_linux? (
- sys-apps/dbus
- dev-libs/dbus-glib
- net-misc/networkmanager
- )
- )
- jack? ( virtual/jack )
- selinux? ( sec-policy/selinux-mozilla )
- sndio? ( media-sound/sndio )"
-
-RDEPEND="${CDEPEND}
- jack? ( virtual/jack )
- openh264? ( media-libs/openh264:*[plugin] )
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4
- )
- )
- selinux? ( sec-policy/selinux-mozilla )"
-
-DEPEND="${CDEPEND}
- 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
- ewarn "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
- ewarn "=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
- ewarn "=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=(
- ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
- da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
- fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
- ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
- nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru
- si sk sl son sq sr sv-SE szl ta te th tl tr trs uk ur uz vi
- xh zh-CN zh-TW
-)
-
-mozilla_set_globals() {
- # https://bugs.gentoo.org/587334
- local MOZ_TOO_REGIONALIZED_FOR_L10N=(
- fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
- )
-
- local lang xflag
- for lang in "${MOZ_LANGS[@]}" ; do
- # en and en_US are handled internally
- if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
- continue
- fi
-
- # strip region subtag if $lang is in the list
- if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
- xflag=${lang%%-*}
- else
- xflag=${lang}
- fi
-
- SRC_URI+=" l10n_${xflag/[_@]/-}? ("
- SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
- SRC_URI+=" )"
- IUSE+=" l10n_${xflag/[_@]/-}"
- done
-}
-mozilla_set_globals
-
-moz_clear_vendor_checksums() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -ne 1 ]] ; then
- die "${FUNCNAME} requires exact one argument"
- fi
-
- einfo "Clearing cargo checksums for ${1} ..."
-
- sed -i \
- -e 's/\("files":{\)[^}]*/\1/' \
- "${S}"/third_party/rust/${1}/.cargo-checksum.json \
- || die
-}
-
-moz_install_xpi() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 2 ]] ; then
- die "${FUNCNAME} requires at least two arguments"
- fi
-
- local DESTDIR=${1}
- shift
-
- insinto "${DESTDIR}"
-
- local emid xpi_file xpi_tmp_dir
- for xpi_file in "${@}" ; do
- emid=
- xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
-
- # Unpack XPI
- unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
-
- # Determine extension ID
- if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
- emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
- [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
- elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
- emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
- [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
- else
- die "failed to determine extension id"
- fi
-
- einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
- newins "${xpi_file}" "${emid}.xpi"
- done
-}
-
-mozconfig_add_options_ac() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 2 ]] ; then
- die "${FUNCNAME} requires at least two arguments"
- fi
-
- local reason=${1}
- shift
-
- local option
- for option in ${@} ; do
- echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
- done
-}
-
-mozconfig_add_options_mk() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 2 ]] ; then
- die "${FUNCNAME} requires at least two arguments"
- fi
-
- local reason=${1}
- shift
-
- local option
- for option in ${@} ; do
- echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
- done
-}
-
-mozconfig_use_enable() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 1 ]] ; then
- die "${FUNCNAME} requires at least one arguments"
- fi
-
- local flag=$(use_enable "${@}")
- mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
-}
-
-mozconfig_use_with() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 1 ]] ; then
- die "${FUNCNAME} requires at least one arguments"
- fi
-
- local flag=$(use_with "${@}")
- mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
-}
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if use pgo ; then
- if ! has usersandbox $FEATURES ; then
- die "You must enable usersandbox as X server can not run as root!"
- fi
- fi
-
- # Ensure we have enough disk space to compile
- if use pgo || use lto || use debug ; then
- CHECKREQS_DISK_BUILD="13500M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_pretend
- fi
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if use pgo ; then
- if ! has userpriv ${FEATURES} ; then
- eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
- fi
- fi
-
- # Ensure we have enough disk space to compile
- if use pgo || use lto || use debug ; then
- CHECKREQS_DISK_BUILD="13500M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_setup
-
- llvm_pkg_setup
-
- if use clang && use lto ; then
- local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
- [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
- [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
-
- # temp fix for https://bugs.gentoo.org/768543
- # we can assume that rust 1.{49,50}.0 always uses llvm 11
- local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
- [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
- [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
-
- if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
- local version_llvm_rust="11"
- else
- local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
- [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
- [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
- fi
-
- if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
- eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
- eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
- eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
- eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
- eerror " - Build ${CATEGORY}/${PN} without USE=lto"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
- && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
- # bug 792705
- eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
- die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
- fi
-
- python-any-r1_pkg_setup
-
- # Avoid PGO profiling problems due to enviroment leakage
- # These should *always* be cleaned up anyway
- unset \
- DBUS_SESSION_BUS_ADDRESS \
- DISPLAY \
- ORBIT_SOCKETDIR \
- SESSION_MANAGER \
- XAUTHORITY \
- XDG_CACHE_HOME \
- XDG_SESSION_COOKIE
-
- # Build system is using /proc/self/oom_score_adj, bug #604394
- addpredict /proc/self/oom_score_adj
-
- if ! 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
-}
-
-src_unpack() {
- local _lp_dir="${WORKDIR}/language_packs"
- local _src_file
-
- if [[ ! -d "${_lp_dir}" ]] ; then
- mkdir "${_lp_dir}" || die
- fi
-
- for _src_file in ${A} ; do
- if [[ ${_src_file} == *.xpi ]]; then
- cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
- else
- unpack ${_src_file}
- fi
- done
-}
-
-src_prepare() {
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
- eapply "${WORKDIR}/firefox-patches"
-
- # Allow user to apply any additional patches without modifing ebuild
- eapply_user
-
- # Make LTO respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/build/moz.configure/lto-pgo.configure \
- || die "sed failed to set num_cores"
-
- # Make ICU respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/intl/icu_sources_data.py \
- || die "sed failed to set num_cores"
-
- # sed-in toolchain prefix
- sed -i \
- -e "s/objdump/${CHOST}-objdump/" \
- "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
- || die "sed failed to set toolchain prefix"
-
- sed -i \
- -e 's/ccache_stats = None/return None/' \
- "${S}"/python/mozbuild/mozbuild/controller/building.py \
- || die "sed failed to disable ccache stats call"
-
- einfo "Removing pre-built binaries ..."
- find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
-
- # Clearing checksums where we have applied patches
- moz_clear_vendor_checksums target-lexicon-0.9.0
-
- # Create build dir
- BUILD_DIR="${WORKDIR}/${PN}_build"
- mkdir -p "${BUILD_DIR}" || die
-
- # Write API keys to disk
- echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
- echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
- echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
-
- xdg_src_prepare
-}
-
-src_configure() {
- # Show flags set at the beginning
- einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
- einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
- einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
- einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
- einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
-
- local have_switched_compiler=
- if use clang && ! tc-is-clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- have_switched_compiler=yes
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
- NM=llvm-nm
- RANLIB=llvm-ranlib
- elif ! use clang && ! tc-is-gcc ; then
- # Force gcc
- have_switched_compiler=yes
- einfo "Enforcing the use of gcc due to USE=-clang ..."
- AR=gcc-ar
- CC=${CHOST}-gcc
- CXX=${CHOST}-g++
- NM=gcc-nm
- RANLIB=gcc-ranlib
- fi
-
- if [[ -n "${have_switched_compiler}" ]] ; then
- # Because we switched active compiler we have to ensure
- # that no unsupported flags are set
- strip-unsupported-flags
- fi
-
- # Ensure we use correct toolchain
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
-
- # Pass the correct toolchain paths through cbindgen
- if tc-is-cross-compiler ; then
- export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
- fi
-
- # Set MOZILLA_FIVE_HOME
- export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
-
- # python/mach/mach/mixin/process.py fails to detect SHELL
- export SHELL="${EPREFIX}/bin/bash"
-
- # Set MOZCONFIG
- export MOZCONFIG="${S}/.mozconfig"
-
- # Initialize MOZCONFIG
- mozconfig_add_options_ac '' --enable-application=browser
-
- # Set Gentoo defaults
- export MOZILLA_OFFICIAL=1
-
- mozconfig_add_options_ac 'Gentoo default' \
- --allow-addon-sideload \
- --disable-cargo-incremental \
- --disable-crashreporter \
- --disable-install-strip \
- --disable-strip \
- --disable-updater \
- --enable-official-branding \
- --enable-release \
- --enable-system-ffi \
- --enable-system-pixman \
- --host="${CBUILD:-${CHOST}}" \
- --libdir="${EPREFIX}/usr/$(get_libdir)" \
- --prefix="${EPREFIX}/usr" \
- --target="${CHOST}" \
- --without-ccache \
- --with-intl-api \
- --with-libclang-path="$(llvm-config --libdir)" \
- --with-system-nspr \
- --with-system-nss \
- --with-system-png \
- --with-system-zlib \
- --with-toolchain-prefix="${CHOST}-" \
- --with-unsigned-addon-scopes=app,system \
- --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
- --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
-
- # Set update channel
- local update_channel=release
- [[ -n ${MOZ_ESR} ]] && update_channel=esr
- mozconfig_add_options_ac '' --update-channel=${update_channel}
-
- if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
- mozconfig_add_options_ac '' --enable-rust-simd
- fi
-
- if [[ -s "${S}/api-google.key" ]] ; then
- local key_origin="Gentoo default"
- if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
- key_origin="User value"
- fi
-
- mozconfig_add_options_ac "${key_origin}" \
- --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
- else
- einfo "Building without Google API key ..."
- fi
-
- if [[ -s "${S}/api-location.key" ]] ; then
- local key_origin="Gentoo default"
- if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
- key_origin="User value"
- fi
-
- mozconfig_add_options_ac "${key_origin}" \
- --with-google-location-service-api-keyfile="${S}/api-location.key"
- else
- einfo "Building without Location API key ..."
- fi
-
- if [[ -s "${S}/api-mozilla.key" ]] ; then
- local key_origin="Gentoo default"
- if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
- key_origin="User value"
- fi
-
- mozconfig_add_options_ac "${key_origin}" \
- --with-mozilla-api-keyfile="${S}/api-mozilla.key"
- else
- einfo "Building without Mozilla API key ..."
- fi
-
- mozconfig_use_with system-av1
- mozconfig_use_with system-harfbuzz
- mozconfig_use_with system-harfbuzz system-graphite2
- mozconfig_use_with system-icu
- mozconfig_use_with system-jpeg
- mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
- mozconfig_use_with system-libvpx
- mozconfig_use_with system-webp
-
- mozconfig_use_enable dbus
-
- use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
-
- mozconfig_use_enable geckodriver
-
- if use hardened ; then
- mozconfig_add_options_ac "+hardened" --enable-hardening
- append-ldflags "-Wl,-z,relro -Wl,-z,now"
- fi
-
- mozconfig_use_enable jack
-
- mozconfig_use_enable pulseaudio
- # force the deprecated alsa sound code if pulseaudio is disabled
- if use kernel_linux && ! use pulseaudio ; then
- mozconfig_add_options_ac '-pulseaudio' --enable-alsa
- fi
-
- mozconfig_use_enable sndio
-
- mozconfig_use_enable wifi necko-wifi
-
- if use wayland ; then
- mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
- else
- mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
- fi
-
- if use lto ; then
- if use clang ; then
- # Upstream only supports lld when using clang
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
-
- mozconfig_add_options_ac '+lto' --enable-lto=cross
- else
- # ThinLTO is currently broken, see bmo#1644409
- mozconfig_add_options_ac '+lto' --enable-lto=full
- 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
-
- # 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 all-gentoo.js
-
- local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.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 menus
- local wrapper_wayland="${PN}-wayland.sh"
- local wrapper_x11="${PN}-x11.sh"
- local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
- local display_protocols="auto X11"
- local icon="${PN}"
- local name="Mozilla ${MOZ_PN^}"
- local use_wayland="false"
-
- if use wayland ; then
- display_protocols+=" Wayland"
- use_wayland="true"
- fi
-
- local app_name desktop_filename display_protocol exec_command
- for display_protocol in ${display_protocols} ; do
- app_name="${name} on ${display_protocol}"
- desktop_filename="${PN}-${display_protocol,,}.desktop"
-
- case ${display_protocol} in
- Wayland)
- exec_command="${PN}-wayland --name ${PN}-wayland"
- newbin "${FILESDIR}/${wrapper_wayland}" ${PN}-wayland
- ;;
- X11)
- if ! use wayland ; then
- # Exit loop here because there's no choice so
- # we don't need wrapper/.desktop file for X11.
- continue
- fi
-
- exec_command="${PN}-x11 --name ${PN}-x11"
- newbin "${FILESDIR}/${wrapper_x11}" ${PN}-x11
- ;;
- *)
- app_name="${name}"
- desktop_filename="${PN}.desktop"
- exec_command="${PN}"
- ;;
- esac
-
- 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
- done
-
- # Install generic wrapper script
- [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
- newbin "${FILESDIR}/${PN}.sh" ${PN}
-
- # Update wrapper
- local wrapper
- for wrapper in \
- "${ED}/usr/bin/${PN}" \
- "${ED}/usr/bin/${PN}-x11" \
- "${ED}/usr/bin/${PN}-wayland" \
- ; do
- [[ ! -f "${wrapper}" ]] && continue
-
- 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}:" \
- "${wrapper}" \
- || die
- done
-}
-
-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 show_normandy_information
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- # New install; Tell user that DoH is disabled by default
- show_doh_information=yes
- show_normandy_information=yes
- else
- local replacing_version
- for replacing_version in ${REPLACING_VERSIONS} ; do
- if ver_test "${replacing_version}" -lt 70 ; then
- # Tell user only once about our DoH default
- show_doh_information=yes
- fi
-
- if ver_test "${replacing_version}" -lt 74.0-r2 ; then
- # Tell user only once about our Normandy default
- show_normandy_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
-}
diff --git a/www-client/firefox/firefox-89.0.2.ebuild b/www-client/firefox/firefox-89.0.2.ebuild
deleted file mode 100644
index c7e1276a643..00000000000
--- a/www-client/firefox/firefox-89.0.2.ebuild
+++ /dev/null
@@ -1,1179 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-FIREFOX_PATCHSET="firefox-89-patches-03.tar.xz"
-
-LLVM_MAX_SLOT=12
-
-PYTHON_COMPAT=( python3_{7..9} )
-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 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/~{axs,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
-)
-
-SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
- ${PATCH_URIS[@]}"
-
-DESCRIPTION="Firefox Web Browser"
-HOMEPAGE="https://www.mozilla.com/firefox"
-
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-
-SLOT="0/$(ver_cut 1)"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-IUSE="+clang cpu_flags_arm_neon dbus debug eme-free geckodriver +gmp-autoupdate
- hardened hwaccel jack lto +openh264 pgo pulseaudio screencast sndio selinux
- +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
- +system-libvpx +system-webp wayland wifi"
-
-REQUIRED_USE="debug? ( !system-av1 )
- screencast? ( wayland )"
-
-BDEPEND="${PYTHON_DEPS}
- app-arch/unzip
- app-arch/zip
- >=dev-util/cbindgen-0.19.0
- >=net-libs/nodejs-10.23.1
- virtual/pkgconfig
- >=virtual/rust-1.47.0
- || (
- (
- sys-devel/clang:12
- sys-devel/llvm:12
- clang? (
- =sys-devel/lld-12*
- pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
- )
- )
- (
- sys-devel/clang:11
- sys-devel/llvm:11
- clang? (
- =sys-devel/lld-11*
- pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
- )
- )
- (
- sys-devel/clang:10
- sys-devel/llvm:10
- clang? (
- =sys-devel/lld-10*
- pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
- )
- )
- )
- amd64? ( >=dev-lang/nasm-2.13 )
- x86? ( >=dev-lang/nasm-2.13 )"
-
-CDEPEND="
- >=dev-libs/nss-3.64
- >=dev-libs/nspr-4.29
- dev-libs/atk
- dev-libs/expat
- >=x11-libs/cairo-1.10[X]
- >=x11-libs/gtk+-2.18:2
- >=x11-libs/gtk+-3.4.0:3[X]
- x11-libs/gdk-pixbuf
- >=x11-libs/pango-1.22.0
- >=media-libs/libpng-1.6.35:0=[apng]
- >=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/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:0/0.3 )
- system-av1? (
- >=media-libs/dav1d-0.8.1:=
- >=media-libs/libaom-1.0.0:=
- )
- system-harfbuzz? (
- >=media-libs/harfbuzz-2.7.4:0=
- >=media-gfx/graphite2-1.3.13
- )
- system-icu? ( >=dev-libs/icu-67.1:= )
- system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
- system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
- system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
- system-webp? ( >=media-libs/libwebp-1.1.0:0= )
- wifi? (
- kernel_linux? (
- sys-apps/dbus
- dev-libs/dbus-glib
- net-misc/networkmanager
- )
- )
- jack? ( virtual/jack )
- selinux? ( sec-policy/selinux-mozilla )
- sndio? ( media-sound/sndio )"
-
-RDEPEND="${CDEPEND}
- jack? ( virtual/jack )
- openh264? ( media-libs/openh264:*[plugin] )
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4
- )
- )
- selinux? ( sec-policy/selinux-mozilla )"
-
-DEPEND="${CDEPEND}
- 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
- ewarn "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
- ewarn "=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
- ewarn "=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=(
- ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
- da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
- fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
- ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
- nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru
- si sk sl son sq sr sv-SE szl ta te th tl tr trs uk ur uz vi
- xh zh-CN zh-TW
-)
-
-mozilla_set_globals() {
- # https://bugs.gentoo.org/587334
- local MOZ_TOO_REGIONALIZED_FOR_L10N=(
- fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
- )
-
- local lang xflag
- for lang in "${MOZ_LANGS[@]}" ; do
- # en and en_US are handled internally
- if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
- continue
- fi
-
- # strip region subtag if $lang is in the list
- if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
- xflag=${lang%%-*}
- else
- xflag=${lang}
- fi
-
- SRC_URI+=" l10n_${xflag/[_@]/-}? ("
- SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
- SRC_URI+=" )"
- IUSE+=" l10n_${xflag/[_@]/-}"
- done
-}
-mozilla_set_globals
-
-moz_clear_vendor_checksums() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -ne 1 ]] ; then
- die "${FUNCNAME} requires exact one argument"
- fi
-
- einfo "Clearing cargo checksums for ${1} ..."
-
- sed -i \
- -e 's/\("files":{\)[^}]*/\1/' \
- "${S}"/third_party/rust/${1}/.cargo-checksum.json \
- || die
-}
-
-moz_install_xpi() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 2 ]] ; then
- die "${FUNCNAME} requires at least two arguments"
- fi
-
- local DESTDIR=${1}
- shift
-
- insinto "${DESTDIR}"
-
- local emid xpi_file xpi_tmp_dir
- for xpi_file in "${@}" ; do
- emid=
- xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
-
- # Unpack XPI
- unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
-
- # Determine extension ID
- if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
- emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
- [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
- elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
- emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
- [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
- else
- die "failed to determine extension id"
- fi
-
- einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
- newins "${xpi_file}" "${emid}.xpi"
- done
-}
-
-mozconfig_add_options_ac() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 2 ]] ; then
- die "${FUNCNAME} requires at least two arguments"
- fi
-
- local reason=${1}
- shift
-
- local option
- for option in ${@} ; do
- echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
- done
-}
-
-mozconfig_add_options_mk() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 2 ]] ; then
- die "${FUNCNAME} requires at least two arguments"
- fi
-
- local reason=${1}
- shift
-
- local option
- for option in ${@} ; do
- echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
- done
-}
-
-mozconfig_use_enable() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 1 ]] ; then
- die "${FUNCNAME} requires at least one arguments"
- fi
-
- local flag=$(use_enable "${@}")
- mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
-}
-
-mozconfig_use_with() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 1 ]] ; then
- die "${FUNCNAME} requires at least one arguments"
- fi
-
- local flag=$(use_with "${@}")
- mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
-}
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if use pgo ; then
- if ! has usersandbox $FEATURES ; then
- die "You must enable usersandbox as X server can not run as root!"
- fi
- fi
-
- # Ensure we have enough disk space to compile
- if use pgo || use lto || use debug ; then
- CHECKREQS_DISK_BUILD="13500M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_pretend
- fi
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if use pgo ; then
- if ! has userpriv ${FEATURES} ; then
- eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
- fi
- fi
-
- # Ensure we have enough disk space to compile
- if use pgo || use lto || use debug ; then
- CHECKREQS_DISK_BUILD="13500M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_setup
-
- llvm_pkg_setup
-
- if use clang && use lto ; then
- local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
- [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
- [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
-
- # temp fix for https://bugs.gentoo.org/768543
- # we can assume that rust 1.{49,50}.0 always uses llvm 11
- local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
- [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
- [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
-
- if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
- local version_llvm_rust="11"
- else
- local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
- [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
- [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
- fi
-
- if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
- eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
- eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
- eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
- eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
- eerror " - Build ${CATEGORY}/${PN} without USE=lto"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
- && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
- # bug 792705
- eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
- die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
- fi
-
- python-any-r1_pkg_setup
-
- # Avoid PGO profiling problems due to enviroment leakage
- # These should *always* be cleaned up anyway
- unset \
- DBUS_SESSION_BUS_ADDRESS \
- DISPLAY \
- ORBIT_SOCKETDIR \
- SESSION_MANAGER \
- XAUTHORITY \
- XDG_CACHE_HOME \
- XDG_SESSION_COOKIE
-
- # Build system is using /proc/self/oom_score_adj, bug #604394
- addpredict /proc/self/oom_score_adj
-
- if ! 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
-}
-
-src_unpack() {
- local _lp_dir="${WORKDIR}/language_packs"
- local _src_file
-
- if [[ ! -d "${_lp_dir}" ]] ; then
- mkdir "${_lp_dir}" || die
- fi
-
- for _src_file in ${A} ; do
- if [[ ${_src_file} == *.xpi ]]; then
- cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
- else
- unpack ${_src_file}
- fi
- done
-}
-
-src_prepare() {
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
- eapply "${WORKDIR}/firefox-patches"
-
- # Allow user to apply any additional patches without modifing ebuild
- eapply_user
-
- # Make LTO respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/build/moz.configure/lto-pgo.configure \
- || die "sed failed to set num_cores"
-
- # Make ICU respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/intl/icu_sources_data.py \
- || die "sed failed to set num_cores"
-
- # sed-in toolchain prefix
- sed -i \
- -e "s/objdump/${CHOST}-objdump/" \
- "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
- || die "sed failed to set toolchain prefix"
-
- sed -i \
- -e 's/ccache_stats = None/return None/' \
- "${S}"/python/mozbuild/mozbuild/controller/building.py \
- || die "sed failed to disable ccache stats call"
-
- einfo "Removing pre-built binaries ..."
- find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
-
- # Clearing checksums where we have applied patches
- moz_clear_vendor_checksums target-lexicon-0.9.0
-
- # Create build dir
- BUILD_DIR="${WORKDIR}/${PN}_build"
- mkdir -p "${BUILD_DIR}" || die
-
- # Write API keys to disk
- echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
- echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
- echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
-
- xdg_src_prepare
-}
-
-src_configure() {
- # Show flags set at the beginning
- einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
- einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
- einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
- einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
- einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
-
- local have_switched_compiler=
- if use clang && ! tc-is-clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- have_switched_compiler=yes
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
- NM=llvm-nm
- RANLIB=llvm-ranlib
- elif ! use clang && ! tc-is-gcc ; then
- # Force gcc
- have_switched_compiler=yes
- einfo "Enforcing the use of gcc due to USE=-clang ..."
- AR=gcc-ar
- CC=${CHOST}-gcc
- CXX=${CHOST}-g++
- NM=gcc-nm
- RANLIB=gcc-ranlib
- fi
-
- if [[ -n "${have_switched_compiler}" ]] ; then
- # Because we switched active compiler we have to ensure
- # that no unsupported flags are set
- strip-unsupported-flags
- fi
-
- # Ensure we use correct toolchain
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
-
- # Pass the correct toolchain paths through cbindgen
- if tc-is-cross-compiler ; then
- export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
- fi
-
- # Set MOZILLA_FIVE_HOME
- export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
-
- # python/mach/mach/mixin/process.py fails to detect SHELL
- export SHELL="${EPREFIX}/bin/bash"
-
- # Set MOZCONFIG
- export MOZCONFIG="${S}/.mozconfig"
-
- # Initialize MOZCONFIG
- mozconfig_add_options_ac '' --enable-application=browser
-
- # Set Gentoo defaults
- export MOZILLA_OFFICIAL=1
-
- mozconfig_add_options_ac 'Gentoo default' \
- --allow-addon-sideload \
- --disable-cargo-incremental \
- --disable-crashreporter \
- --disable-install-strip \
- --disable-strip \
- --disable-updater \
- --enable-official-branding \
- --enable-release \
- --enable-system-ffi \
- --enable-system-pixman \
- --host="${CBUILD:-${CHOST}}" \
- --libdir="${EPREFIX}/usr/$(get_libdir)" \
- --prefix="${EPREFIX}/usr" \
- --target="${CHOST}" \
- --without-ccache \
- --with-intl-api \
- --with-libclang-path="$(llvm-config --libdir)" \
- --with-system-nspr \
- --with-system-nss \
- --with-system-png \
- --with-system-zlib \
- --with-toolchain-prefix="${CHOST}-" \
- --with-unsigned-addon-scopes=app,system \
- --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
- --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
-
- # Set update channel
- local update_channel=release
- [[ -n ${MOZ_ESR} ]] && update_channel=esr
- mozconfig_add_options_ac '' --update-channel=${update_channel}
-
- if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
- mozconfig_add_options_ac '' --enable-rust-simd
- fi
-
- if [[ -s "${S}/api-google.key" ]] ; then
- local key_origin="Gentoo default"
- if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
- key_origin="User value"
- fi
-
- mozconfig_add_options_ac "${key_origin}" \
- --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
- else
- einfo "Building without Google API key ..."
- fi
-
- if [[ -s "${S}/api-location.key" ]] ; then
- local key_origin="Gentoo default"
- if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
- key_origin="User value"
- fi
-
- mozconfig_add_options_ac "${key_origin}" \
- --with-google-location-service-api-keyfile="${S}/api-location.key"
- else
- einfo "Building without Location API key ..."
- fi
-
- if [[ -s "${S}/api-mozilla.key" ]] ; then
- local key_origin="Gentoo default"
- if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
- key_origin="User value"
- fi
-
- mozconfig_add_options_ac "${key_origin}" \
- --with-mozilla-api-keyfile="${S}/api-mozilla.key"
- else
- einfo "Building without Mozilla API key ..."
- fi
-
- mozconfig_use_with system-av1
- mozconfig_use_with system-harfbuzz
- mozconfig_use_with system-harfbuzz system-graphite2
- mozconfig_use_with system-icu
- mozconfig_use_with system-jpeg
- mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
- mozconfig_use_with system-libvpx
- mozconfig_use_with system-webp
-
- mozconfig_use_enable dbus
-
- use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
-
- mozconfig_use_enable geckodriver
-
- if use hardened ; then
- mozconfig_add_options_ac "+hardened" --enable-hardening
- append-ldflags "-Wl,-z,relro -Wl,-z,now"
- fi
-
- mozconfig_use_enable jack
-
- mozconfig_use_enable pulseaudio
- # force the deprecated alsa sound code if pulseaudio is disabled
- if use kernel_linux && ! use pulseaudio ; then
- mozconfig_add_options_ac '-pulseaudio' --enable-alsa
- fi
-
- mozconfig_use_enable sndio
-
- mozconfig_use_enable wifi necko-wifi
-
- if use wayland ; then
- mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
- else
- mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
- fi
-
- if use lto ; then
- if use clang ; then
- # Upstream only supports lld when using clang
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
-
- mozconfig_add_options_ac '+lto' --enable-lto=cross
- else
- # ThinLTO is currently broken, see bmo#1644409
- mozconfig_add_options_ac '+lto' --enable-lto=full
- 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
-
- # 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 all-gentoo.js
-
- local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.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 menus
- local wrapper_wayland="${PN}-wayland.sh"
- local wrapper_x11="${PN}-x11.sh"
- local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
- local display_protocols="auto X11"
- local icon="${PN}"
- local name="Mozilla ${MOZ_PN^}"
- local use_wayland="false"
-
- if use wayland ; then
- display_protocols+=" Wayland"
- use_wayland="true"
- fi
-
- local app_name desktop_filename display_protocol exec_command
- for display_protocol in ${display_protocols} ; do
- app_name="${name} on ${display_protocol}"
- desktop_filename="${PN}-${display_protocol,,}.desktop"
-
- case ${display_protocol} in
- Wayland)
- exec_command="${PN}-wayland --name ${PN}-wayland"
- newbin "${FILESDIR}/${wrapper_wayland}" ${PN}-wayland
- ;;
- X11)
- if ! use wayland ; then
- # Exit loop here because there's no choice so
- # we don't need wrapper/.desktop file for X11.
- continue
- fi
-
- exec_command="${PN}-x11 --name ${PN}-x11"
- newbin "${FILESDIR}/${wrapper_x11}" ${PN}-x11
- ;;
- *)
- app_name="${name}"
- desktop_filename="${PN}.desktop"
- exec_command="${PN}"
- ;;
- esac
-
- 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
- done
-
- # Install generic wrapper script
- [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
- newbin "${FILESDIR}/${PN}.sh" ${PN}
-
- # Update wrapper
- local wrapper
- for wrapper in \
- "${ED}/usr/bin/${PN}" \
- "${ED}/usr/bin/${PN}-x11" \
- "${ED}/usr/bin/${PN}-wayland" \
- ; do
- [[ ! -f "${wrapper}" ]] && continue
-
- 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}:" \
- "${wrapper}" \
- || die
- done
-}
-
-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 show_normandy_information
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- # New install; Tell user that DoH is disabled by default
- show_doh_information=yes
- show_normandy_information=yes
- else
- local replacing_version
- for replacing_version in ${REPLACING_VERSIONS} ; do
- if ver_test "${replacing_version}" -lt 70 ; then
- # Tell user only once about our DoH default
- show_doh_information=yes
- fi
-
- if ver_test "${replacing_version}" -lt 74.0-r2 ; then
- # Tell user only once about our Normandy default
- show_normandy_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
-}
diff --git a/www-client/firefox/firefox-89.0.ebuild b/www-client/firefox/firefox-89.0.ebuild
deleted file mode 100644
index 5099db944f7..00000000000
--- a/www-client/firefox/firefox-89.0.ebuild
+++ /dev/null
@@ -1,1179 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-FIREFOX_PATCHSET="firefox-89-patches-02.tar.xz"
-
-LLVM_MAX_SLOT=12
-
-PYTHON_COMPAT=( python3_{7..9} )
-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 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/~{axs,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
-)
-
-SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
- ${PATCH_URIS[@]}"
-
-DESCRIPTION="Firefox Web Browser"
-HOMEPAGE="https://www.mozilla.com/firefox"
-
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-
-SLOT="0/$(ver_cut 1)"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-IUSE="+clang cpu_flags_arm_neon dbus debug eme-free geckodriver +gmp-autoupdate
- hardened hwaccel jack lto +openh264 pgo pulseaudio screencast sndio selinux
- +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
- +system-libvpx +system-webp wayland wifi"
-
-REQUIRED_USE="debug? ( !system-av1 )
- screencast? ( wayland )"
-
-BDEPEND="${PYTHON_DEPS}
- app-arch/unzip
- app-arch/zip
- >=dev-util/cbindgen-0.19.0
- >=net-libs/nodejs-10.23.1
- virtual/pkgconfig
- >=virtual/rust-1.47.0
- || (
- (
- sys-devel/clang:12
- sys-devel/llvm:12
- clang? (
- =sys-devel/lld-12*
- pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
- )
- )
- (
- sys-devel/clang:11
- sys-devel/llvm:11
- clang? (
- =sys-devel/lld-11*
- pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
- )
- )
- (
- sys-devel/clang:10
- sys-devel/llvm:10
- clang? (
- =sys-devel/lld-10*
- pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
- )
- )
- )
- amd64? ( >=dev-lang/nasm-2.13 )
- x86? ( >=dev-lang/nasm-2.13 )"
-
-CDEPEND="
- >=dev-libs/nss-3.64
- >=dev-libs/nspr-4.29
- dev-libs/atk
- dev-libs/expat
- >=x11-libs/cairo-1.10[X]
- >=x11-libs/gtk+-2.18:2
- >=x11-libs/gtk+-3.4.0:3[X]
- x11-libs/gdk-pixbuf
- >=x11-libs/pango-1.22.0
- >=media-libs/libpng-1.6.35:0=[apng]
- >=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/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:0/0.3 )
- system-av1? (
- >=media-libs/dav1d-0.8.1:=
- >=media-libs/libaom-1.0.0:=
- )
- system-harfbuzz? (
- >=media-libs/harfbuzz-2.7.4:0=
- >=media-gfx/graphite2-1.3.13
- )
- system-icu? ( >=dev-libs/icu-67.1:= )
- system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
- system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
- system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
- system-webp? ( >=media-libs/libwebp-1.1.0:0= )
- wifi? (
- kernel_linux? (
- sys-apps/dbus
- dev-libs/dbus-glib
- net-misc/networkmanager
- )
- )
- jack? ( virtual/jack )
- selinux? ( sec-policy/selinux-mozilla )
- sndio? ( media-sound/sndio )"
-
-RDEPEND="${CDEPEND}
- jack? ( virtual/jack )
- openh264? ( media-libs/openh264:*[plugin] )
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4
- )
- )
- selinux? ( sec-policy/selinux-mozilla )"
-
-DEPEND="${CDEPEND}
- 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
- ewarn "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
- ewarn "=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
- ewarn "=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=(
- ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
- da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
- fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
- ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
- nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru
- si sk sl son sq sr sv-SE szl ta te th tl tr trs uk ur uz vi
- xh zh-CN zh-TW
-)
-
-mozilla_set_globals() {
- # https://bugs.gentoo.org/587334
- local MOZ_TOO_REGIONALIZED_FOR_L10N=(
- fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
- )
-
- local lang xflag
- for lang in "${MOZ_LANGS[@]}" ; do
- # en and en_US are handled internally
- if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
- continue
- fi
-
- # strip region subtag if $lang is in the list
- if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
- xflag=${lang%%-*}
- else
- xflag=${lang}
- fi
-
- SRC_URI+=" l10n_${xflag/[_@]/-}? ("
- SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
- SRC_URI+=" )"
- IUSE+=" l10n_${xflag/[_@]/-}"
- done
-}
-mozilla_set_globals
-
-moz_clear_vendor_checksums() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -ne 1 ]] ; then
- die "${FUNCNAME} requires exact one argument"
- fi
-
- einfo "Clearing cargo checksums for ${1} ..."
-
- sed -i \
- -e 's/\("files":{\)[^}]*/\1/' \
- "${S}"/third_party/rust/${1}/.cargo-checksum.json \
- || die
-}
-
-moz_install_xpi() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 2 ]] ; then
- die "${FUNCNAME} requires at least two arguments"
- fi
-
- local DESTDIR=${1}
- shift
-
- insinto "${DESTDIR}"
-
- local emid xpi_file xpi_tmp_dir
- for xpi_file in "${@}" ; do
- emid=
- xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
-
- # Unpack XPI
- unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
-
- # Determine extension ID
- if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
- emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
- [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
- elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
- emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
- [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
- else
- die "failed to determine extension id"
- fi
-
- einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
- newins "${xpi_file}" "${emid}.xpi"
- done
-}
-
-mozconfig_add_options_ac() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 2 ]] ; then
- die "${FUNCNAME} requires at least two arguments"
- fi
-
- local reason=${1}
- shift
-
- local option
- for option in ${@} ; do
- echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
- done
-}
-
-mozconfig_add_options_mk() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 2 ]] ; then
- die "${FUNCNAME} requires at least two arguments"
- fi
-
- local reason=${1}
- shift
-
- local option
- for option in ${@} ; do
- echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
- done
-}
-
-mozconfig_use_enable() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 1 ]] ; then
- die "${FUNCNAME} requires at least one arguments"
- fi
-
- local flag=$(use_enable "${@}")
- mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
-}
-
-mozconfig_use_with() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 1 ]] ; then
- die "${FUNCNAME} requires at least one arguments"
- fi
-
- local flag=$(use_with "${@}")
- mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
-}
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if use pgo ; then
- if ! has usersandbox $FEATURES ; then
- die "You must enable usersandbox as X server can not run as root!"
- fi
- fi
-
- # Ensure we have enough disk space to compile
- if use pgo || use lto || use debug ; then
- CHECKREQS_DISK_BUILD="13500M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_pretend
- fi
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if use pgo ; then
- if ! has userpriv ${FEATURES} ; then
- eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
- fi
- fi
-
- # Ensure we have enough disk space to compile
- if use pgo || use lto || use debug ; then
- CHECKREQS_DISK_BUILD="13500M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_setup
-
- llvm_pkg_setup
-
- if use clang && use lto ; then
- local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
- [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
- [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
-
- # temp fix for https://bugs.gentoo.org/768543
- # we can assume that rust 1.{49,50}.0 always uses llvm 11
- local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
- [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
- [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
-
- if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
- local version_llvm_rust="11"
- else
- local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
- [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
- [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
- fi
-
- if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
- eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
- eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
- eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
- eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
- eerror " - Build ${CATEGORY}/${PN} without USE=lto"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
- && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
- # bug 792705
- eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
- die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
- fi
-
- python-any-r1_pkg_setup
-
- # Avoid PGO profiling problems due to enviroment leakage
- # These should *always* be cleaned up anyway
- unset \
- DBUS_SESSION_BUS_ADDRESS \
- DISPLAY \
- ORBIT_SOCKETDIR \
- SESSION_MANAGER \
- XAUTHORITY \
- XDG_CACHE_HOME \
- XDG_SESSION_COOKIE
-
- # Build system is using /proc/self/oom_score_adj, bug #604394
- addpredict /proc/self/oom_score_adj
-
- if ! 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
-}
-
-src_unpack() {
- local _lp_dir="${WORKDIR}/language_packs"
- local _src_file
-
- if [[ ! -d "${_lp_dir}" ]] ; then
- mkdir "${_lp_dir}" || die
- fi
-
- for _src_file in ${A} ; do
- if [[ ${_src_file} == *.xpi ]]; then
- cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
- else
- unpack ${_src_file}
- fi
- done
-}
-
-src_prepare() {
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
- eapply "${WORKDIR}/firefox-patches"
-
- # Allow user to apply any additional patches without modifing ebuild
- eapply_user
-
- # Make LTO respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/build/moz.configure/lto-pgo.configure \
- || die "sed failed to set num_cores"
-
- # Make ICU respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/intl/icu_sources_data.py \
- || die "sed failed to set num_cores"
-
- # sed-in toolchain prefix
- sed -i \
- -e "s/objdump/${CHOST}-objdump/" \
- "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
- || die "sed failed to set toolchain prefix"
-
- sed -i \
- -e 's/ccache_stats = None/return None/' \
- "${S}"/python/mozbuild/mozbuild/controller/building.py \
- || die "sed failed to disable ccache stats call"
-
- einfo "Removing pre-built binaries ..."
- find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
-
- # Clearing checksums where we have applied patches
- moz_clear_vendor_checksums target-lexicon-0.9.0
-
- # Create build dir
- BUILD_DIR="${WORKDIR}/${PN}_build"
- mkdir -p "${BUILD_DIR}" || die
-
- # Write API keys to disk
- echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
- echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
- echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
-
- xdg_src_prepare
-}
-
-src_configure() {
- # Show flags set at the beginning
- einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
- einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
- einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
- einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
- einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
-
- local have_switched_compiler=
- if use clang && ! tc-is-clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- have_switched_compiler=yes
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
- NM=llvm-nm
- RANLIB=llvm-ranlib
- elif ! use clang && ! tc-is-gcc ; then
- # Force gcc
- have_switched_compiler=yes
- einfo "Enforcing the use of gcc due to USE=-clang ..."
- AR=gcc-ar
- CC=${CHOST}-gcc
- CXX=${CHOST}-g++
- NM=gcc-nm
- RANLIB=gcc-ranlib
- fi
-
- if [[ -n "${have_switched_compiler}" ]] ; then
- # Because we switched active compiler we have to ensure
- # that no unsupported flags are set
- strip-unsupported-flags
- fi
-
- # Ensure we use correct toolchain
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
-
- # Pass the correct toolchain paths through cbindgen
- if tc-is-cross-compiler ; then
- export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
- fi
-
- # Set MOZILLA_FIVE_HOME
- export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
-
- # python/mach/mach/mixin/process.py fails to detect SHELL
- export SHELL="${EPREFIX}/bin/bash"
-
- # Set MOZCONFIG
- export MOZCONFIG="${S}/.mozconfig"
-
- # Initialize MOZCONFIG
- mozconfig_add_options_ac '' --enable-application=browser
-
- # Set Gentoo defaults
- export MOZILLA_OFFICIAL=1
-
- mozconfig_add_options_ac 'Gentoo default' \
- --allow-addon-sideload \
- --disable-cargo-incremental \
- --disable-crashreporter \
- --disable-install-strip \
- --disable-strip \
- --disable-updater \
- --enable-official-branding \
- --enable-release \
- --enable-system-ffi \
- --enable-system-pixman \
- --host="${CBUILD:-${CHOST}}" \
- --libdir="${EPREFIX}/usr/$(get_libdir)" \
- --prefix="${EPREFIX}/usr" \
- --target="${CHOST}" \
- --without-ccache \
- --with-intl-api \
- --with-libclang-path="$(llvm-config --libdir)" \
- --with-system-nspr \
- --with-system-nss \
- --with-system-png \
- --with-system-zlib \
- --with-toolchain-prefix="${CHOST}-" \
- --with-unsigned-addon-scopes=app,system \
- --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
- --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
-
- # Set update channel
- local update_channel=release
- [[ -n ${MOZ_ESR} ]] && update_channel=esr
- mozconfig_add_options_ac '' --update-channel=${update_channel}
-
- if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
- mozconfig_add_options_ac '' --enable-rust-simd
- fi
-
- if [[ -s "${S}/api-google.key" ]] ; then
- local key_origin="Gentoo default"
- if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
- key_origin="User value"
- fi
-
- mozconfig_add_options_ac "${key_origin}" \
- --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
- else
- einfo "Building without Google API key ..."
- fi
-
- if [[ -s "${S}/api-location.key" ]] ; then
- local key_origin="Gentoo default"
- if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
- key_origin="User value"
- fi
-
- mozconfig_add_options_ac "${key_origin}" \
- --with-google-location-service-api-keyfile="${S}/api-location.key"
- else
- einfo "Building without Location API key ..."
- fi
-
- if [[ -s "${S}/api-mozilla.key" ]] ; then
- local key_origin="Gentoo default"
- if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
- key_origin="User value"
- fi
-
- mozconfig_add_options_ac "${key_origin}" \
- --with-mozilla-api-keyfile="${S}/api-mozilla.key"
- else
- einfo "Building without Mozilla API key ..."
- fi
-
- mozconfig_use_with system-av1
- mozconfig_use_with system-harfbuzz
- mozconfig_use_with system-harfbuzz system-graphite2
- mozconfig_use_with system-icu
- mozconfig_use_with system-jpeg
- mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
- mozconfig_use_with system-libvpx
- mozconfig_use_with system-webp
-
- mozconfig_use_enable dbus
-
- use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
-
- mozconfig_use_enable geckodriver
-
- if use hardened ; then
- mozconfig_add_options_ac "+hardened" --enable-hardening
- append-ldflags "-Wl,-z,relro -Wl,-z,now"
- fi
-
- mozconfig_use_enable jack
-
- mozconfig_use_enable pulseaudio
- # force the deprecated alsa sound code if pulseaudio is disabled
- if use kernel_linux && ! use pulseaudio ; then
- mozconfig_add_options_ac '-pulseaudio' --enable-alsa
- fi
-
- mozconfig_use_enable sndio
-
- mozconfig_use_enable wifi necko-wifi
-
- if use wayland ; then
- mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
- else
- mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
- fi
-
- if use lto ; then
- if use clang ; then
- # Upstream only supports lld when using clang
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
-
- mozconfig_add_options_ac '+lto' --enable-lto=cross
- else
- # ThinLTO is currently broken, see bmo#1644409
- mozconfig_add_options_ac '+lto' --enable-lto=full
- 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
-
- # 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 all-gentoo.js
-
- local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.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 menus
- local wrapper_wayland="${PN}-wayland.sh"
- local wrapper_x11="${PN}-x11.sh"
- local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
- local display_protocols="auto X11"
- local icon="${PN}"
- local name="Mozilla ${MOZ_PN^}"
- local use_wayland="false"
-
- if use wayland ; then
- display_protocols+=" Wayland"
- use_wayland="true"
- fi
-
- local app_name desktop_filename display_protocol exec_command
- for display_protocol in ${display_protocols} ; do
- app_name="${name} on ${display_protocol}"
- desktop_filename="${PN}-${display_protocol,,}.desktop"
-
- case ${display_protocol} in
- Wayland)
- exec_command="${PN}-wayland --name ${PN}-wayland"
- newbin "${FILESDIR}/${wrapper_wayland}" ${PN}-wayland
- ;;
- X11)
- if ! use wayland ; then
- # Exit loop here because there's no choice so
- # we don't need wrapper/.desktop file for X11.
- continue
- fi
-
- exec_command="${PN}-x11 --name ${PN}-x11"
- newbin "${FILESDIR}/${wrapper_x11}" ${PN}-x11
- ;;
- *)
- app_name="${name}"
- desktop_filename="${PN}.desktop"
- exec_command="${PN}"
- ;;
- esac
-
- 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
- done
-
- # Install generic wrapper script
- [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
- newbin "${FILESDIR}/${PN}.sh" ${PN}
-
- # Update wrapper
- local wrapper
- for wrapper in \
- "${ED}/usr/bin/${PN}" \
- "${ED}/usr/bin/${PN}-x11" \
- "${ED}/usr/bin/${PN}-wayland" \
- ; do
- [[ ! -f "${wrapper}" ]] && continue
-
- 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}:" \
- "${wrapper}" \
- || die
- done
-}
-
-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 show_normandy_information
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- # New install; Tell user that DoH is disabled by default
- show_doh_information=yes
- show_normandy_information=yes
- else
- local replacing_version
- for replacing_version in ${REPLACING_VERSIONS} ; do
- if ver_test "${replacing_version}" -lt 70 ; then
- # Tell user only once about our DoH default
- show_doh_information=yes
- fi
-
- if ver_test "${replacing_version}" -lt 74.0-r2 ; then
- # Tell user only once about our Normandy default
- show_normandy_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
-}
diff --git a/www-client/firefox/firefox-90.0.1.ebuild b/www-client/firefox/firefox-90.0.1.ebuild
deleted file mode 100644
index b2acecd2054..00000000000
--- a/www-client/firefox/firefox-90.0.1.ebuild
+++ /dev/null
@@ -1,1182 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-FIREFOX_PATCHSET="firefox-90-patches-01.tar.xz"
-
-LLVM_MAX_SLOT=12
-
-PYTHON_COMPAT=( python3_{7..9} )
-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/~{axs,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
-)
-
-SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
- ${PATCH_URIS[@]}"
-
-DESCRIPTION="Firefox Web Browser"
-HOMEPAGE="https://www.mozilla.com/firefox"
-
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-
-SLOT="0/$(ver_cut 1)"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-IUSE="+clang cpu_flags_arm_neon dbus debug eme-free geckodriver +gmp-autoupdate
- hardened hwaccel jack lto +openh264 pgo pulseaudio screencast sndio selinux
- +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
- +system-libvpx +system-webp wayland wifi"
-
-REQUIRED_USE="debug? ( !system-av1 )
- screencast? ( wayland )"
-
-BDEPEND="${PYTHON_DEPS}
- app-arch/unzip
- app-arch/zip
- >=dev-util/cbindgen-0.19.0
- >=net-libs/nodejs-10.23.1
- virtual/pkgconfig
- >=virtual/rust-1.47.0
- || (
- (
- sys-devel/clang:12
- sys-devel/llvm:12
- clang? (
- =sys-devel/lld-12*
- pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
- )
- )
- (
- sys-devel/clang:11
- sys-devel/llvm:11
- clang? (
- =sys-devel/lld-11*
- pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
- )
- )
- (
- sys-devel/clang:10
- sys-devel/llvm:10
- clang? (
- =sys-devel/lld-10*
- pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
- )
- )
- )
- amd64? ( >=dev-lang/nasm-2.13 )
- x86? ( >=dev-lang/nasm-2.13 )"
-
-CDEPEND="
- >=dev-libs/nss-3.66
- >=dev-libs/nspr-4.29
- 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/libpng-1.6.35:0=[apng]
- >=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/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:0/0.3 )
- system-av1? (
- >=media-libs/dav1d-0.8.1:=
- >=media-libs/libaom-1.0.0:=
- )
- system-harfbuzz? (
- >=media-libs/harfbuzz-2.7.4:0=
- >=media-gfx/graphite2-1.3.13
- )
- system-icu? ( >=dev-libs/icu-67.1:= )
- system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
- system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
- system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
- system-webp? ( >=media-libs/libwebp-1.1.0:0= )
- wifi? (
- kernel_linux? (
- sys-apps/dbus
- dev-libs/dbus-glib
- net-misc/networkmanager
- )
- )
- jack? ( virtual/jack )
- selinux? ( sec-policy/selinux-mozilla )
- sndio? ( media-sound/sndio )"
-
-RDEPEND="${CDEPEND}
- jack? ( virtual/jack )
- openh264? ( media-libs/openh264:*[plugin] )
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4
- )
- )
- selinux? ( sec-policy/selinux-mozilla )"
-
-DEPEND="${CDEPEND}
- 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=(
- ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
- da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
- fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
- ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
- nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru
- si sk sl son sq sr sv-SE szl ta te th tl tr trs uk ur uz vi
- xh zh-CN zh-TW
-)
-
-mozilla_set_globals() {
- # https://bugs.gentoo.org/587334
- local MOZ_TOO_REGIONALIZED_FOR_L10N=(
- fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
- )
-
- local lang xflag
- for lang in "${MOZ_LANGS[@]}" ; do
- # en and en_US are handled internally
- if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
- continue
- fi
-
- # strip region subtag if $lang is in the list
- if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
- xflag=${lang%%-*}
- else
- xflag=${lang}
- fi
-
- SRC_URI+=" l10n_${xflag/[_@]/-}? ("
- SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
- SRC_URI+=" )"
- IUSE+=" l10n_${xflag/[_@]/-}"
- done
-}
-mozilla_set_globals
-
-moz_clear_vendor_checksums() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -ne 1 ]] ; then
- die "${FUNCNAME} requires exact one argument"
- fi
-
- einfo "Clearing cargo checksums for ${1} ..."
-
- sed -i \
- -e 's/\("files":{\)[^}]*/\1/' \
- "${S}"/third_party/rust/${1}/.cargo-checksum.json \
- || die
-}
-
-moz_install_xpi() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 2 ]] ; then
- die "${FUNCNAME} requires at least two arguments"
- fi
-
- local DESTDIR=${1}
- shift
-
- insinto "${DESTDIR}"
-
- local emid xpi_file xpi_tmp_dir
- for xpi_file in "${@}" ; do
- emid=
- xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
-
- # Unpack XPI
- unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
-
- # Determine extension ID
- if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
- emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
- [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
- elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
- emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
- [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
- else
- die "failed to determine extension id"
- fi
-
- einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
- newins "${xpi_file}" "${emid}.xpi"
- done
-}
-
-mozconfig_add_options_ac() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 2 ]] ; then
- die "${FUNCNAME} requires at least two arguments"
- fi
-
- local reason=${1}
- shift
-
- local option
- for option in ${@} ; do
- echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
- done
-}
-
-mozconfig_add_options_mk() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 2 ]] ; then
- die "${FUNCNAME} requires at least two arguments"
- fi
-
- local reason=${1}
- shift
-
- local option
- for option in ${@} ; do
- echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
- done
-}
-
-mozconfig_use_enable() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 1 ]] ; then
- die "${FUNCNAME} requires at least one arguments"
- fi
-
- local flag=$(use_enable "${@}")
- mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
-}
-
-mozconfig_use_with() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 1 ]] ; then
- die "${FUNCNAME} requires at least one arguments"
- fi
-
- local flag=$(use_with "${@}")
- mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
-}
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if use pgo ; then
- if ! has usersandbox $FEATURES ; then
- die "You must enable usersandbox as X server can not run as root!"
- fi
- fi
-
- # Ensure we have enough disk space to compile
- if use pgo || use lto || use debug ; then
- CHECKREQS_DISK_BUILD="13500M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_pretend
- fi
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if use pgo ; then
- if ! has userpriv ${FEATURES} ; then
- eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
- fi
- fi
-
- # Ensure we have enough disk space to compile
- if use pgo || use lto || use debug ; then
- CHECKREQS_DISK_BUILD="13500M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_setup
-
- llvm_pkg_setup
-
- if use clang && use lto ; then
- local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
- [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
- [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
-
- # temp fix for https://bugs.gentoo.org/768543
- # we can assume that rust 1.{49,50}.0 always uses llvm 11
- local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
- [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
- [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
-
- if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
- local version_llvm_rust="11"
- else
- local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
- [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
- [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
- fi
-
- if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
- eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
- eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
- eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
- eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
- eerror " - Build ${CATEGORY}/${PN} without USE=lto"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
- && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
- # bug 792705
- eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
- die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
- fi
-
- python-any-r1_pkg_setup
-
- # Avoid PGO profiling problems due to enviroment leakage
- # These should *always* be cleaned up anyway
- unset \
- DBUS_SESSION_BUS_ADDRESS \
- DISPLAY \
- ORBIT_SOCKETDIR \
- SESSION_MANAGER \
- XAUTHORITY \
- XDG_CACHE_HOME \
- XDG_SESSION_COOKIE
-
- # Build system is using /proc/self/oom_score_adj, bug #604394
- addpredict /proc/self/oom_score_adj
-
- if ! mountpoint -q /dev/shm ; then
- # If /dev/shm is not available, configure is known to fail with
- # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
- ewarn "/dev/shm is not mounted -- expect build failures!"
- fi
-
- # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
- # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
- # get your own set of keys.
- if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
- MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
- fi
-
- if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
- MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
- fi
-
- # Mozilla API keys (see https://location.services.mozilla.com/api)
- # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
- # get your own set of keys.
- if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
- MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
- fi
-
- # Ensure we use C locale when building, bug #746215
- export LC_ALL=C
- fi
-
- CONFIG_CHECK="~SECCOMP"
- WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
- linux-info_pkg_setup
-}
-
-src_unpack() {
- local _lp_dir="${WORKDIR}/language_packs"
- local _src_file
-
- if [[ ! -d "${_lp_dir}" ]] ; then
- mkdir "${_lp_dir}" || die
- fi
-
- for _src_file in ${A} ; do
- if [[ ${_src_file} == *.xpi ]]; then
- cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
- else
- unpack ${_src_file}
- fi
- done
-}
-
-src_prepare() {
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
- eapply "${WORKDIR}/firefox-patches"
-
- # Allow user to apply any additional patches without modifing ebuild
- eapply_user
-
- # Make LTO respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/build/moz.configure/lto-pgo.configure \
- || die "sed failed to set num_cores"
-
- # Make ICU respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/intl/icu_sources_data.py \
- || die "sed failed to set num_cores"
-
- # sed-in toolchain prefix
- sed -i \
- -e "s/objdump/${CHOST}-objdump/" \
- "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
- || die "sed failed to set toolchain prefix"
-
- sed -i \
- -e 's/ccache_stats = None/return None/' \
- "${S}"/python/mozbuild/mozbuild/controller/building.py \
- || die "sed failed to disable ccache stats call"
-
- einfo "Removing pre-built binaries ..."
- find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
-
- # Clearing checksums where we have applied patches
- moz_clear_vendor_checksums target-lexicon-0.9.0
-
- # Create build dir
- BUILD_DIR="${WORKDIR}/${PN}_build"
- mkdir -p "${BUILD_DIR}" || die
-
- # Write API keys to disk
- echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
- echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
- echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
-
- xdg_src_prepare
-}
-
-src_configure() {
- # Show flags set at the beginning
- einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
- einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
- einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
- einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
- einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
-
- local have_switched_compiler=
- if use clang && ! tc-is-clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- have_switched_compiler=yes
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
- NM=llvm-nm
- RANLIB=llvm-ranlib
- elif ! use clang && ! tc-is-gcc ; then
- # Force gcc
- have_switched_compiler=yes
- einfo "Enforcing the use of gcc due to USE=-clang ..."
- AR=gcc-ar
- CC=${CHOST}-gcc
- CXX=${CHOST}-g++
- NM=gcc-nm
- RANLIB=gcc-ranlib
- fi
-
- if [[ -n "${have_switched_compiler}" ]] ; then
- # Because we switched active compiler we have to ensure
- # that no unsupported flags are set
- strip-unsupported-flags
- fi
-
- # Ensure we use correct toolchain
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
-
- # Pass the correct toolchain paths through cbindgen
- if tc-is-cross-compiler ; then
- export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
- fi
-
- # Set MOZILLA_FIVE_HOME
- export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
-
- # python/mach/mach/mixin/process.py fails to detect SHELL
- export SHELL="${EPREFIX}/bin/bash"
-
- # Set MOZCONFIG
- export MOZCONFIG="${S}/.mozconfig"
-
- # Initialize MOZCONFIG
- mozconfig_add_options_ac '' --enable-application=browser
-
- # Set Gentoo defaults
- export MOZILLA_OFFICIAL=1
-
- mozconfig_add_options_ac 'Gentoo default' \
- --allow-addon-sideload \
- --disable-cargo-incremental \
- --disable-crashreporter \
- --disable-install-strip \
- --disable-strip \
- --disable-updater \
- --enable-official-branding \
- --enable-release \
- --enable-system-ffi \
- --enable-system-pixman \
- --host="${CBUILD:-${CHOST}}" \
- --libdir="${EPREFIX}/usr/$(get_libdir)" \
- --prefix="${EPREFIX}/usr" \
- --target="${CHOST}" \
- --without-ccache \
- --with-intl-api \
- --with-libclang-path="$(llvm-config --libdir)" \
- --with-system-nspr \
- --with-system-nss \
- --with-system-png \
- --with-system-zlib \
- --with-toolchain-prefix="${CHOST}-" \
- --with-unsigned-addon-scopes=app,system \
- --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
- --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
-
- # Set update channel
- local update_channel=release
- [[ -n ${MOZ_ESR} ]] && update_channel=esr
- mozconfig_add_options_ac '' --update-channel=${update_channel}
-
- if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
- mozconfig_add_options_ac '' --enable-rust-simd
- fi
-
- if [[ -s "${S}/api-google.key" ]] ; then
- local key_origin="Gentoo default"
- if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
- key_origin="User value"
- fi
-
- mozconfig_add_options_ac "${key_origin}" \
- --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
- else
- einfo "Building without Google API key ..."
- fi
-
- if [[ -s "${S}/api-location.key" ]] ; then
- local key_origin="Gentoo default"
- if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
- key_origin="User value"
- fi
-
- mozconfig_add_options_ac "${key_origin}" \
- --with-google-location-service-api-keyfile="${S}/api-location.key"
- else
- einfo "Building without Location API key ..."
- fi
-
- if [[ -s "${S}/api-mozilla.key" ]] ; then
- local key_origin="Gentoo default"
- if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
- key_origin="User value"
- fi
-
- mozconfig_add_options_ac "${key_origin}" \
- --with-mozilla-api-keyfile="${S}/api-mozilla.key"
- else
- einfo "Building without Mozilla API key ..."
- fi
-
- mozconfig_use_with system-av1
- mozconfig_use_with system-harfbuzz
- mozconfig_use_with system-harfbuzz system-graphite2
- mozconfig_use_with system-icu
- mozconfig_use_with system-jpeg
- mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
- mozconfig_use_with system-libvpx
- mozconfig_use_with system-webp
-
- mozconfig_use_enable dbus
-
- use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
-
- mozconfig_use_enable geckodriver
-
- if use hardened ; then
- mozconfig_add_options_ac "+hardened" --enable-hardening
- append-ldflags "-Wl,-z,relro -Wl,-z,now"
- fi
-
- mozconfig_use_enable jack
-
- mozconfig_use_enable pulseaudio
- # force the deprecated alsa sound code if pulseaudio is disabled
- if use kernel_linux && ! use pulseaudio ; then
- mozconfig_add_options_ac '-pulseaudio' --enable-alsa
- fi
-
- mozconfig_use_enable sndio
-
- mozconfig_use_enable wifi necko-wifi
-
- if use wayland ; then
- mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
- else
- mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
- fi
-
- if use lto ; then
- if use clang ; then
- # Upstream only supports lld when using clang
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
-
- mozconfig_add_options_ac '+lto' --enable-lto=cross
- else
- # ThinLTO is currently broken, see bmo#1644409
- mozconfig_add_options_ac '+lto' --enable-lto=full
- 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
-
- # 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 all-gentoo.js
-
- local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.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 menus
- local wrapper_wayland="${PN}-wayland.sh"
- local wrapper_x11="${PN}-x11.sh"
- local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
- local display_protocols="auto X11"
- local icon="${PN}"
- local name="Mozilla ${MOZ_PN^}"
- local use_wayland="false"
-
- if use wayland ; then
- display_protocols+=" Wayland"
- use_wayland="true"
- fi
-
- local app_name desktop_filename display_protocol exec_command
- for display_protocol in ${display_protocols} ; do
- app_name="${name} on ${display_protocol}"
- desktop_filename="${PN}-${display_protocol,,}.desktop"
-
- case ${display_protocol} in
- Wayland)
- exec_command="${PN}-wayland --name ${PN}-wayland"
- newbin "${FILESDIR}/${wrapper_wayland}" ${PN}-wayland
- ;;
- X11)
- if ! use wayland ; then
- # Exit loop here because there's no choice so
- # we don't need wrapper/.desktop file for X11.
- continue
- fi
-
- exec_command="${PN}-x11 --name ${PN}-x11"
- newbin "${FILESDIR}/${wrapper_x11}" ${PN}-x11
- ;;
- *)
- app_name="${name}"
- desktop_filename="${PN}.desktop"
- exec_command="${PN}"
- ;;
- esac
-
- 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
- done
-
- # Install generic wrapper script
- [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
- newbin "${FILESDIR}/${PN}.sh" ${PN}
-
- # Update wrapper
- local wrapper
- for wrapper in \
- "${ED}/usr/bin/${PN}" \
- "${ED}/usr/bin/${PN}-x11" \
- "${ED}/usr/bin/${PN}-wayland" \
- ; do
- [[ ! -f "${wrapper}" ]] && continue
-
- 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}:" \
- "${wrapper}" \
- || die
- done
-}
-
-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 show_normandy_information
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- # New install; Tell user that DoH is disabled by default
- show_doh_information=yes
- show_normandy_information=yes
- else
- local replacing_version
- for replacing_version in ${REPLACING_VERSIONS} ; do
- if ver_test "${replacing_version}" -lt 70 ; then
- # Tell user only once about our DoH default
- show_doh_information=yes
- fi
-
- if ver_test "${replacing_version}" -lt 74.0-r2 ; then
- # Tell user only once about our Normandy default
- show_normandy_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
-}
diff --git a/www-client/firefox/firefox-90.0.ebuild b/www-client/firefox/firefox-90.0.ebuild
deleted file mode 100644
index b2acecd2054..00000000000
--- a/www-client/firefox/firefox-90.0.ebuild
+++ /dev/null
@@ -1,1182 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-FIREFOX_PATCHSET="firefox-90-patches-01.tar.xz"
-
-LLVM_MAX_SLOT=12
-
-PYTHON_COMPAT=( python3_{7..9} )
-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/~{axs,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
-)
-
-SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
- ${PATCH_URIS[@]}"
-
-DESCRIPTION="Firefox Web Browser"
-HOMEPAGE="https://www.mozilla.com/firefox"
-
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-
-SLOT="0/$(ver_cut 1)"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-IUSE="+clang cpu_flags_arm_neon dbus debug eme-free geckodriver +gmp-autoupdate
- hardened hwaccel jack lto +openh264 pgo pulseaudio screencast sndio selinux
- +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
- +system-libvpx +system-webp wayland wifi"
-
-REQUIRED_USE="debug? ( !system-av1 )
- screencast? ( wayland )"
-
-BDEPEND="${PYTHON_DEPS}
- app-arch/unzip
- app-arch/zip
- >=dev-util/cbindgen-0.19.0
- >=net-libs/nodejs-10.23.1
- virtual/pkgconfig
- >=virtual/rust-1.47.0
- || (
- (
- sys-devel/clang:12
- sys-devel/llvm:12
- clang? (
- =sys-devel/lld-12*
- pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
- )
- )
- (
- sys-devel/clang:11
- sys-devel/llvm:11
- clang? (
- =sys-devel/lld-11*
- pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
- )
- )
- (
- sys-devel/clang:10
- sys-devel/llvm:10
- clang? (
- =sys-devel/lld-10*
- pgo? ( =sys-libs/compiler-rt-sanitizers-10*[profile] )
- )
- )
- )
- amd64? ( >=dev-lang/nasm-2.13 )
- x86? ( >=dev-lang/nasm-2.13 )"
-
-CDEPEND="
- >=dev-libs/nss-3.66
- >=dev-libs/nspr-4.29
- 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/libpng-1.6.35:0=[apng]
- >=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/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:0/0.3 )
- system-av1? (
- >=media-libs/dav1d-0.8.1:=
- >=media-libs/libaom-1.0.0:=
- )
- system-harfbuzz? (
- >=media-libs/harfbuzz-2.7.4:0=
- >=media-gfx/graphite2-1.3.13
- )
- system-icu? ( >=dev-libs/icu-67.1:= )
- system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
- system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
- system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
- system-webp? ( >=media-libs/libwebp-1.1.0:0= )
- wifi? (
- kernel_linux? (
- sys-apps/dbus
- dev-libs/dbus-glib
- net-misc/networkmanager
- )
- )
- jack? ( virtual/jack )
- selinux? ( sec-policy/selinux-mozilla )
- sndio? ( media-sound/sndio )"
-
-RDEPEND="${CDEPEND}
- jack? ( virtual/jack )
- openh264? ( media-libs/openh264:*[plugin] )
- pulseaudio? (
- || (
- media-sound/pulseaudio
- >=media-sound/apulse-0.1.12-r4
- )
- )
- selinux? ( sec-policy/selinux-mozilla )"
-
-DEPEND="${CDEPEND}
- 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=(
- ach af an ar ast az be bg bn br bs ca-valencia ca cak cs cy
- da de dsb el en-CA en-GB en-US eo es-AR es-CL es-ES es-MX et eu
- fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM
- ia id is it ja ka kab kk km kn ko lij lt lv mk mr ms my
- nb-NO ne-NP nl nn-NO oc pa-IN pl pt-BR pt-PT rm ro ru
- si sk sl son sq sr sv-SE szl ta te th tl tr trs uk ur uz vi
- xh zh-CN zh-TW
-)
-
-mozilla_set_globals() {
- # https://bugs.gentoo.org/587334
- local MOZ_TOO_REGIONALIZED_FOR_L10N=(
- fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
- )
-
- local lang xflag
- for lang in "${MOZ_LANGS[@]}" ; do
- # en and en_US are handled internally
- if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
- continue
- fi
-
- # strip region subtag if $lang is in the list
- if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
- xflag=${lang%%-*}
- else
- xflag=${lang}
- fi
-
- SRC_URI+=" l10n_${xflag/[_@]/-}? ("
- SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
- SRC_URI+=" )"
- IUSE+=" l10n_${xflag/[_@]/-}"
- done
-}
-mozilla_set_globals
-
-moz_clear_vendor_checksums() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -ne 1 ]] ; then
- die "${FUNCNAME} requires exact one argument"
- fi
-
- einfo "Clearing cargo checksums for ${1} ..."
-
- sed -i \
- -e 's/\("files":{\)[^}]*/\1/' \
- "${S}"/third_party/rust/${1}/.cargo-checksum.json \
- || die
-}
-
-moz_install_xpi() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 2 ]] ; then
- die "${FUNCNAME} requires at least two arguments"
- fi
-
- local DESTDIR=${1}
- shift
-
- insinto "${DESTDIR}"
-
- local emid xpi_file xpi_tmp_dir
- for xpi_file in "${@}" ; do
- emid=
- xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
-
- # Unpack XPI
- unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
-
- # Determine extension ID
- if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
- emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
- [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
- elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
- emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
- [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
- else
- die "failed to determine extension id"
- fi
-
- einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
- newins "${xpi_file}" "${emid}.xpi"
- done
-}
-
-mozconfig_add_options_ac() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 2 ]] ; then
- die "${FUNCNAME} requires at least two arguments"
- fi
-
- local reason=${1}
- shift
-
- local option
- for option in ${@} ; do
- echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
- done
-}
-
-mozconfig_add_options_mk() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 2 ]] ; then
- die "${FUNCNAME} requires at least two arguments"
- fi
-
- local reason=${1}
- shift
-
- local option
- for option in ${@} ; do
- echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
- done
-}
-
-mozconfig_use_enable() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 1 ]] ; then
- die "${FUNCNAME} requires at least one arguments"
- fi
-
- local flag=$(use_enable "${@}")
- mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
-}
-
-mozconfig_use_with() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${#} -lt 1 ]] ; then
- die "${FUNCNAME} requires at least one arguments"
- fi
-
- local flag=$(use_with "${@}")
- mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
-}
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if use pgo ; then
- if ! has usersandbox $FEATURES ; then
- die "You must enable usersandbox as X server can not run as root!"
- fi
- fi
-
- # Ensure we have enough disk space to compile
- if use pgo || use lto || use debug ; then
- CHECKREQS_DISK_BUILD="13500M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_pretend
- fi
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if use pgo ; then
- if ! has userpriv ${FEATURES} ; then
- eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
- fi
- fi
-
- # Ensure we have enough disk space to compile
- if use pgo || use lto || use debug ; then
- CHECKREQS_DISK_BUILD="13500M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_setup
-
- llvm_pkg_setup
-
- if use clang && use lto ; then
- local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
- [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
- [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
-
- # temp fix for https://bugs.gentoo.org/768543
- # we can assume that rust 1.{49,50}.0 always uses llvm 11
- local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
- [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
- [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
-
- if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
- local version_llvm_rust="11"
- else
- local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
- [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
- [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
- fi
-
- if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
- eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
- eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
- eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
- eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
- eerror " - Build ${CATEGORY}/${PN} without USE=lto"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
- && ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
- # bug 792705
- eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
- die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
- fi
-
- python-any-r1_pkg_setup
-
- # Avoid PGO profiling problems due to enviroment leakage
- # These should *always* be cleaned up anyway
- unset \
- DBUS_SESSION_BUS_ADDRESS \
- DISPLAY \
- ORBIT_SOCKETDIR \
- SESSION_MANAGER \
- XAUTHORITY \
- XDG_CACHE_HOME \
- XDG_SESSION_COOKIE
-
- # Build system is using /proc/self/oom_score_adj, bug #604394
- addpredict /proc/self/oom_score_adj
-
- if ! mountpoint -q /dev/shm ; then
- # If /dev/shm is not available, configure is known to fail with
- # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
- ewarn "/dev/shm is not mounted -- expect build failures!"
- fi
-
- # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
- # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
- # get your own set of keys.
- if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
- MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
- fi
-
- if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
- MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
- fi
-
- # Mozilla API keys (see https://location.services.mozilla.com/api)
- # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
- # get your own set of keys.
- if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
- MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
- fi
-
- # Ensure we use C locale when building, bug #746215
- export LC_ALL=C
- fi
-
- CONFIG_CHECK="~SECCOMP"
- WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
- linux-info_pkg_setup
-}
-
-src_unpack() {
- local _lp_dir="${WORKDIR}/language_packs"
- local _src_file
-
- if [[ ! -d "${_lp_dir}" ]] ; then
- mkdir "${_lp_dir}" || die
- fi
-
- for _src_file in ${A} ; do
- if [[ ${_src_file} == *.xpi ]]; then
- cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
- else
- unpack ${_src_file}
- fi
- done
-}
-
-src_prepare() {
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
- eapply "${WORKDIR}/firefox-patches"
-
- # Allow user to apply any additional patches without modifing ebuild
- eapply_user
-
- # Make LTO respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/build/moz.configure/lto-pgo.configure \
- || die "sed failed to set num_cores"
-
- # Make ICU respect MAKEOPTS
- sed -i \
- -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
- "${S}"/intl/icu_sources_data.py \
- || die "sed failed to set num_cores"
-
- # sed-in toolchain prefix
- sed -i \
- -e "s/objdump/${CHOST}-objdump/" \
- "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
- || die "sed failed to set toolchain prefix"
-
- sed -i \
- -e 's/ccache_stats = None/return None/' \
- "${S}"/python/mozbuild/mozbuild/controller/building.py \
- || die "sed failed to disable ccache stats call"
-
- einfo "Removing pre-built binaries ..."
- find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
-
- # Clearing checksums where we have applied patches
- moz_clear_vendor_checksums target-lexicon-0.9.0
-
- # Create build dir
- BUILD_DIR="${WORKDIR}/${PN}_build"
- mkdir -p "${BUILD_DIR}" || die
-
- # Write API keys to disk
- echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
- echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
- echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
-
- xdg_src_prepare
-}
-
-src_configure() {
- # Show flags set at the beginning
- einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
- einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
- einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
- einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
- einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
-
- local have_switched_compiler=
- if use clang && ! tc-is-clang ; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- have_switched_compiler=yes
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
- NM=llvm-nm
- RANLIB=llvm-ranlib
- elif ! use clang && ! tc-is-gcc ; then
- # Force gcc
- have_switched_compiler=yes
- einfo "Enforcing the use of gcc due to USE=-clang ..."
- AR=gcc-ar
- CC=${CHOST}-gcc
- CXX=${CHOST}-g++
- NM=gcc-nm
- RANLIB=gcc-ranlib
- fi
-
- if [[ -n "${have_switched_compiler}" ]] ; then
- # Because we switched active compiler we have to ensure
- # that no unsupported flags are set
- strip-unsupported-flags
- fi
-
- # Ensure we use correct toolchain
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
-
- # Pass the correct toolchain paths through cbindgen
- if tc-is-cross-compiler ; then
- export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
- fi
-
- # Set MOZILLA_FIVE_HOME
- export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
-
- # python/mach/mach/mixin/process.py fails to detect SHELL
- export SHELL="${EPREFIX}/bin/bash"
-
- # Set MOZCONFIG
- export MOZCONFIG="${S}/.mozconfig"
-
- # Initialize MOZCONFIG
- mozconfig_add_options_ac '' --enable-application=browser
-
- # Set Gentoo defaults
- export MOZILLA_OFFICIAL=1
-
- mozconfig_add_options_ac 'Gentoo default' \
- --allow-addon-sideload \
- --disable-cargo-incremental \
- --disable-crashreporter \
- --disable-install-strip \
- --disable-strip \
- --disable-updater \
- --enable-official-branding \
- --enable-release \
- --enable-system-ffi \
- --enable-system-pixman \
- --host="${CBUILD:-${CHOST}}" \
- --libdir="${EPREFIX}/usr/$(get_libdir)" \
- --prefix="${EPREFIX}/usr" \
- --target="${CHOST}" \
- --without-ccache \
- --with-intl-api \
- --with-libclang-path="$(llvm-config --libdir)" \
- --with-system-nspr \
- --with-system-nss \
- --with-system-png \
- --with-system-zlib \
- --with-toolchain-prefix="${CHOST}-" \
- --with-unsigned-addon-scopes=app,system \
- --x-includes="${SYSROOT}${EPREFIX}/usr/include" \
- --x-libraries="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
-
- # Set update channel
- local update_channel=release
- [[ -n ${MOZ_ESR} ]] && update_channel=esr
- mozconfig_add_options_ac '' --update-channel=${update_channel}
-
- if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
- mozconfig_add_options_ac '' --enable-rust-simd
- fi
-
- if [[ -s "${S}/api-google.key" ]] ; then
- local key_origin="Gentoo default"
- if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
- key_origin="User value"
- fi
-
- mozconfig_add_options_ac "${key_origin}" \
- --with-google-safebrowsing-api-keyfile="${S}/api-google.key"
- else
- einfo "Building without Google API key ..."
- fi
-
- if [[ -s "${S}/api-location.key" ]] ; then
- local key_origin="Gentoo default"
- if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
- key_origin="User value"
- fi
-
- mozconfig_add_options_ac "${key_origin}" \
- --with-google-location-service-api-keyfile="${S}/api-location.key"
- else
- einfo "Building without Location API key ..."
- fi
-
- if [[ -s "${S}/api-mozilla.key" ]] ; then
- local key_origin="Gentoo default"
- if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
- key_origin="User value"
- fi
-
- mozconfig_add_options_ac "${key_origin}" \
- --with-mozilla-api-keyfile="${S}/api-mozilla.key"
- else
- einfo "Building without Mozilla API key ..."
- fi
-
- mozconfig_use_with system-av1
- mozconfig_use_with system-harfbuzz
- mozconfig_use_with system-harfbuzz system-graphite2
- mozconfig_use_with system-icu
- mozconfig_use_with system-jpeg
- mozconfig_use_with system-libevent system-libevent "${SYSROOT}${EPREFIX}/usr"
- mozconfig_use_with system-libvpx
- mozconfig_use_with system-webp
-
- mozconfig_use_enable dbus
-
- use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
-
- mozconfig_use_enable geckodriver
-
- if use hardened ; then
- mozconfig_add_options_ac "+hardened" --enable-hardening
- append-ldflags "-Wl,-z,relro -Wl,-z,now"
- fi
-
- mozconfig_use_enable jack
-
- mozconfig_use_enable pulseaudio
- # force the deprecated alsa sound code if pulseaudio is disabled
- if use kernel_linux && ! use pulseaudio ; then
- mozconfig_add_options_ac '-pulseaudio' --enable-alsa
- fi
-
- mozconfig_use_enable sndio
-
- mozconfig_use_enable wifi necko-wifi
-
- if use wayland ; then
- mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
- else
- mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
- fi
-
- if use lto ; then
- if use clang ; then
- # Upstream only supports lld when using clang
- mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
-
- mozconfig_add_options_ac '+lto' --enable-lto=cross
- else
- # ThinLTO is currently broken, see bmo#1644409
- mozconfig_add_options_ac '+lto' --enable-lto=full
- 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
-
- # 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 all-gentoo.js
-
- local GENTOO_PREFS="${ED}${PREFS_DIR}/all-gentoo.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 menus
- local wrapper_wayland="${PN}-wayland.sh"
- local wrapper_x11="${PN}-x11.sh"
- local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop"
- local display_protocols="auto X11"
- local icon="${PN}"
- local name="Mozilla ${MOZ_PN^}"
- local use_wayland="false"
-
- if use wayland ; then
- display_protocols+=" Wayland"
- use_wayland="true"
- fi
-
- local app_name desktop_filename display_protocol exec_command
- for display_protocol in ${display_protocols} ; do
- app_name="${name} on ${display_protocol}"
- desktop_filename="${PN}-${display_protocol,,}.desktop"
-
- case ${display_protocol} in
- Wayland)
- exec_command="${PN}-wayland --name ${PN}-wayland"
- newbin "${FILESDIR}/${wrapper_wayland}" ${PN}-wayland
- ;;
- X11)
- if ! use wayland ; then
- # Exit loop here because there's no choice so
- # we don't need wrapper/.desktop file for X11.
- continue
- fi
-
- exec_command="${PN}-x11 --name ${PN}-x11"
- newbin "${FILESDIR}/${wrapper_x11}" ${PN}-x11
- ;;
- *)
- app_name="${name}"
- desktop_filename="${PN}.desktop"
- exec_command="${PN}"
- ;;
- esac
-
- 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
- done
-
- # Install generic wrapper script
- [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
- newbin "${FILESDIR}/${PN}.sh" ${PN}
-
- # Update wrapper
- local wrapper
- for wrapper in \
- "${ED}/usr/bin/${PN}" \
- "${ED}/usr/bin/${PN}-x11" \
- "${ED}/usr/bin/${PN}-wayland" \
- ; do
- [[ ! -f "${wrapper}" ]] && continue
-
- 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}:" \
- "${wrapper}" \
- || die
- done
-}
-
-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 show_normandy_information
-
- if [[ -z "${REPLACING_VERSIONS}" ]] ; then
- # New install; Tell user that DoH is disabled by default
- show_doh_information=yes
- show_normandy_information=yes
- else
- local replacing_version
- for replacing_version in ${REPLACING_VERSIONS} ; do
- if ver_test "${replacing_version}" -lt 70 ; then
- # Tell user only once about our DoH default
- show_doh_information=yes
- fi
-
- if ver_test "${replacing_version}" -lt 74.0-r2 ; then
- # Tell user only once about our Normandy default
- show_normandy_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
-}