public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2015-10-06 17:21 Ian Stakenvicius
  0 siblings, 0 replies; 25+ messages in thread
From: Ian Stakenvicius @ 2015-10-06 17:21 UTC (permalink / raw
  To: gentoo-commits

commit:     944ff0ea33dc14b6fcb6c2f0008d07276f1e48d1
Author:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Tue Oct  6 17:11:40 2015 +0000
Commit:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Tue Oct  6 17:20:48 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=944ff0ea

www-client/firefox: cleanup old ebuilds and patches

Package-Manager: portage-2.2.20.1

 www-client/firefox/Manifest                        | 161 ---------
 .../files/firefox-32.0-hppa-js-configure.patch     |  21 --
 .../files/firefox-38-hppa-js-syntax-error.patch    |  30 --
 www-client/firefox/firefox-38.2.1.ebuild           | 397 --------------------
 www-client/firefox/firefox-40.0.3.ebuild           | 399 ---------------------
 5 files changed, 1008 deletions(-)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 8331254..f050e76 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -80,86 +80,6 @@ DIST firefox-38.2.0esr-xh.xpi 450242 SHA256 d41ee639470dce1ff3a103987c16ad5dc32c
 DIST firefox-38.2.0esr-zh-CN.xpi 488277 SHA256 6b58c8a6fd5e62933d8ec42758a6fc7dd4794b7f659855331debc876e8b80bec SHA512 f17a3d9160a907c5d135d1e66f5a114b6580c34e4da57faa7b55af6d8910bce2d37845489e203fb906e2f124eb1bc874c32018458c349230b23f0363370453e4 WHIRLPOOL eacb3d22b097b05dcbff08078ad534e89fcb4184641b502fac3aea6d7ac73fc0b581b8edbc7b53fa93c883aff09ce1ed115997347a7261928a689e4979b05c5a
 DIST firefox-38.2.0esr-zh-TW.xpi 467844 SHA256 bb22672b52104fd11c28d5609d2c039dd0b3636445b091523dfb90538cf84e94 SHA512 e29a7bfbd03629eaf3bd9a51224e5caf6042febb6e5861435e11a2d16673f1db4b862867e5016c2465ea2445efa5ab9f6a07d3719cd79e5be749c8302893e8c7 WHIRLPOOL f8488aa526c7c1e99e49bba22ccc67ec2f180dd339e72411a458cbb68a7080bbf65187ecb01a41742cbb1b23ece00f9db3f70350d4c5a3901a21c44165bb4e28
 DIST firefox-38.2.0esr.source.tar.bz2 180722192 SHA256 55867254f21cfc610aa63c8aa0d7156df6eb4c0cb37ebac30259e4890170aacb SHA512 65df7ea87b6a48d328096a26bfc6e2d19d9fa45c35cc576f401e2266f884708d5fd4cc6cd1344b70a8c9bd611a439df11ea1a978bf1d9f1719a240b109489b1f WHIRLPOOL f001d27a402f5fee5ed1500fad61dab07468e315e353598107f638bee08e4b2be63715fd1ad7b6527a0d289a855a520201c753636a45842ff1329efc6f2ecf3c
-DIST firefox-38.2.1esr-af.xpi 483326 SHA256 2939af5389d2d480ad9b0b5fd4e13d725a07b47f1e025d7abe232e25bd6f93f3 SHA512 6a55abc6fa0b27a0029b7693d7b8e15105ab40f3e28e905f268ebf172963f2678bda470277144eae2c54eb99ebe9b31a41a7b4965ff546f103cec75cf3713e74 WHIRLPOOL c87f75bc984de737d89c5ddf6dcebd95dedf67d6bff96db0ccff3a3bbf95a070c27cc1e59ff9e617213cb90f15f57d0e3c394c31e0187e671d779d0172a7a2b3
-DIST firefox-38.2.1esr-ar.xpi 516495 SHA256 840e732a96c8478d0815888c79496d1c62dcbd6133d2304b0920f93d0f6eb3db SHA512 51d47bc01f197c07464e19a7f7d8c1c978415d76b1734bba7fba2c56736f980d6fc1def6c8bd91a9dd213bd4d55cbc82968b2e04df56761abb232aa40b8512b1 WHIRLPOOL 7ed57f922148ee417a6aa0dcf1c4272febd662333923e4a17218a3e00a612757bae6c9e9cab19f75b3318dc94af9decaaaad9c434082e7135e74c602f209541d
-DIST firefox-38.2.1esr-as.xpi 509574 SHA256 3aad4f54d6b17a1e50ecff8f88d43723fa7d423ef5523a01e80b2eedd4d40ca4 SHA512 87c427da29d9ab579e036cc83e29926b2dd75dd362c84dde8e380cf46a482041b0226b7bcc037fabd41720e8f19b184f83776be35879178078a3f2663049e40f WHIRLPOOL be532efabfbf65852bc153aff5e9a5f29786578724cd0434d11178bfa9763cab96202e20d05fea0419e34d6f94c4508ccf7aee444ccc218603494d2c91212c48
-DIST firefox-38.2.1esr-ast.xpi 397202 SHA256 9a3dad64dd09a11293936ad421d9cf54a112363497fcf2263e56fe4dc059b648 SHA512 99977baab4d1f6bb474cbd1a41ba93bb91e31c49de58078f76164f66b1c7ef9c1b398bc0e81ca0b832aaba736c402e4d28e6e2495500fb8906054a5e251b79f0 WHIRLPOOL e7c3ad01756599f497b26e5d791a75f5f728ecdb6f7b15ab8f5e684cebe4b3494a6a6212761beb35ca5d754a5894c4469629ec980403b2cd26f8a3490d458647
-DIST firefox-38.2.1esr-be.xpi 441057 SHA256 fd6d9e058da409985c1f9e04b608c897e3ccf81cff733029c4c6571e7d128022 SHA512 118f0efb28216d03ef7dfc17f82e5d085ca407a21cd071072c4cbd766759c398e4d274bcb4c0c51912eaf848baf418c0af7fbeedbf44e2ba2f2ae3ac545f0a81 WHIRLPOOL caffc0685b15291779fdaee15a239c954b7fe4bfcd4ceb0a07fe9c9105fe9deb3dddf2b050d9c2b9a4c89bd97dbb9af3c0e05c2c805602bff14f2b97e665fe70
-DIST firefox-38.2.1esr-bg.xpi 487819 SHA256 389edc15450db4664667237ce42a7f207278777bf13fb7531ebba54a09df460d SHA512 06c8c37ec7ad1424bb2e5a1d893095174491db9046a6dc91ed655af243b94b374a765dfccd461e719faea5786c5082a201479b48167cf0c6e8605552f68e51c7 WHIRLPOOL 996c9166e026ca61f0ea28943b3e2a0823d31156ccc177ae37a114a0f6be526ff055ee863a207b201cdab7dc9c24b12397d7d6686a3cfd04f311caf913348a46
-DIST firefox-38.2.1esr-bn-BD.xpi 528690 SHA256 8acb41f8dce61a494f04e2d3f43eb0a23e7f21179928b803d6f0fac42ee1b4a3 SHA512 b0b2118f4ba9f24811b51a19cd14a5f18a805cb333f004519717a3da9d9b462c0949d414e3e4baa418c87ff38b6e42edd607176deed0ac7b315d3f5ff9860dfa WHIRLPOOL 12e74c874490a890b99de0bcc974b9a8e64e07b609f792dffca5922358d384d7a03b42e39100794db16ab97880465a0e45c41aa676f50d3b29a29a8d47afbfb0
-DIST firefox-38.2.1esr-bn-IN.xpi 527927 SHA256 bab25d7ce5747110b39b2b99685853a5931f340daa2cb88a4d53b01b0534f211 SHA512 0d2fb6f9a27c16b0dcb41e11e9cb3e09c7afda5aacadaf7337ad81070891af0c8440444ed2bffa856cb468748db90d42f4bd078e52166aa5ef03d66164b9381e WHIRLPOOL a3d87fa4421a5da9a2367b9ec9d396fdb1a0207d5bde817f65dfa30f2dcbe57cfaf85407fa12aa1a970eb443aced092b1119b97ddc9ff8633acd44bfb2430a30
-DIST firefox-38.2.1esr-br.xpi 441961 SHA256 a5cbd1cbacdd7d17c7f0d5d62583a0174e69e0905ffb22d0b7a4e936729862c7 SHA512 f56235cf4cb32eb62be80f36b4fc31424c5049ffefadacc6fbe02d49c547b0c2bfd20fedce10abab987d2ea02d646801705a6aa5623a7319adf4e8523e6459a8 WHIRLPOOL 7e0071b9343def033fed4a6c9d57cf617b676097e1a9d65c6ab111e309746dc866359008299d42ac57fd320b9e39336b6b6ac99c993ae05623a25b517ad81bb7
-DIST firefox-38.2.1esr-bs.xpi 485305 SHA256 0b2752ae75b2306d5b01731cf470cc02da75b759ac7fd4b0bfbad76e85214b50 SHA512 b3d08689d30a98585db65fc9ccf3958c6427b056a5dd779cdee8cb459623ef5d874b9c659750ea1ad3c6ee30296a7099a646eb1c632260f531beeae07d5060b8 WHIRLPOOL 4887bbfd4109bf6bea1eac5d49e94a33eb824813c5102e24ff0d3ec7136e403f0eccfa3171cf09a865b74beeaa3669f44d94ab1c6634d4fdf4ec819df874f8d7
-DIST firefox-38.2.1esr-ca.xpi 458091 SHA256 9a7838b932bf3c356da9af568718ab058c86076e435f5d0be4a082bbaff190bf SHA512 f5dc9cde4bba17550129e5ffbd33bed1a5e670e6b1348080b6aba9a7ba4f725011ca72bd00421a971aca1ff667b4ab7a06902a02667b7962623f3f9e4506533b WHIRLPOOL ffb19b22b6edcd80d0b2ecbc5bce77da27d3d5ea541974e9059b6149973af8d4d62b0d3cb62d615ecb946668c83b83c6723ce5495a186db0a76b35d6a74e5dce
-DIST firefox-38.2.1esr-cs.xpi 446725 SHA256 d8c4ba79e4725029dc4073e065c65a8ba1d97fca9e2ab53f7147184211801178 SHA512 18522211818d16a2c9abafba8c8dfec8a57375adda4b4b5e26c2976cc29b03ea082c5f4b681ca8fb644f16a368210f1a264c618c66489eccba7ae06f7bfbff0e WHIRLPOOL 272361f5edf81e15937e6ec9201b00e1119b85856c57214077d98278da559356309bece1fcec653d1eda232c877de98df29d9ddfd18e5ed48e4d8082f0625fa0
-DIST firefox-38.2.1esr-cy.xpi 444384 SHA256 8916066abc92d6ddff59b248ffe79bc09e42ae2e553abee68cd96f81f7c9881f SHA512 08b13deef1ff247956883be89f5d74166e28e2bec30eb9a3457f4ec8b1041251b493c719035e967bb95d3bbb6a9377419022929c91757068b96c48176c9b0927 WHIRLPOOL 948ffe8d363cc48760c196ebed89b3ca379bdfcce20eff4f162cebdb1c8ee6ba7857c3bce314d83d692483c6be034a1d1a51975d0aa5a76ba362edc745cca164
-DIST firefox-38.2.1esr-da.xpi 450762 SHA256 269107b93e0f7df8b9860672ae5cddeb816bc184d8b083dbb0c12af4723da666 SHA512 07cc34e151e9c0d6fc83d7fc2939b1f592dd5888f0a949572c0037be22b57626fd5ec33e2a57dd2a32a9cdd54730682a8dabae752c8888f4de4a5ce053ec298d WHIRLPOOL 22c6f25f0fb099188d5cbec9bd00559f4db13a4ed6e263e8f8fa98c9a0557cf27b37a6e8563db8fe91404dec4fea9801d0638eac938b989b480a6bef870288b1
-DIST firefox-38.2.1esr-de.xpi 451628 SHA256 3875513fb280bf215f37062078f3dee9e19b49cf43db4a1722975d086700fb9e SHA512 7371b4a258a4dc14e3a8af8e5e06d7eaa88d8e63e8a46da8cda458fa21584cd7afb05a0858179744c156b5ba9544aa21cbef1c9c7d61fca7f68162e412a024d3 WHIRLPOOL a3dfdac96d5b3f37c094f217d5400c9c4de1b2f58aecd22b7466a827bebb0c8910f324c26dc0bdd276f206dd860b512a774f0de11e34eecdb9e2b89d737f0021
-DIST firefox-38.2.1esr-el.xpi 498370 SHA256 b0bece2e1762b042044e676b13ab33b5d8dc6397c84974ba485e656bfa859fed SHA512 0388ac0273f7e9450dd611902025080a1c98ece4f88da9d11a18475542949789d8f684fc2fc1af93c18c0d1dc860f0cda3952bce5ca5c53bbb960e7e46ce88e3 WHIRLPOOL 650c3af1124a227327d1824c38e5f4464ad66446d6ada449a39a543f111a53f206455abfb6fa7e836775ab2f0d034cd4acfa7845952115e7c8b7878400b64e02
-DIST firefox-38.2.1esr-en-GB.xpi 437846 SHA256 8f5dbb40d08afd368f74204ace917bc13e384fa305b5a588f87aabd7da741177 SHA512 3360afbe9ac551595bd0de14d5362bb36a5ad9f0c119b70dcb920de19df098ca951b7f0877dfd6996682386ae168f1b8d9491190a263062008b49c5267d07181 WHIRLPOOL b4efb6c1733f523acd08dc5fa418cc05ed2ae22dca2b7bc18c3262b287c2c99fee8d45ade0ebcb0c26864de5e47e5bc70ba7f217b53b2ba91d5e5e69960d8096
-DIST firefox-38.2.1esr-en-ZA.xpi 439926 SHA256 d4d06c2c80202f06a837dcea7e0431f8556a58e7a97e5e1bdd41ef8cd575f8db SHA512 2b3411197fbb87b324cadf89c3d793c01bdff28b6b03990e0ca40ef1762c47562a9bbb850568439178880bd52d99fc929af3f9efc451320b925003dba012bcef WHIRLPOOL ab1eff69233928dcd0933cfa97a0cd5ce1d87d1a14cba2ce301dbcf99a6aaaf23668cf406819c9076ee74ff3e0afadb4260646e2523f5f7116adbea72f8ac6c9
-DIST firefox-38.2.1esr-eo.xpi 488370 SHA256 34d5455052f0f7e43561795998b9a9f20683bbdac54d740e2ccc952dbe35840a SHA512 7ccab0f98c30df0bfeeeb278c7e5e9bd1181e394d931dc035700909c794143df277344f78c49c9b3452ee7f83cc9d47403ac9e8d98f5828eadcb5c35f075f788 WHIRLPOOL b1e9e293138cf02a5b8ec861556cbaf17123b87bdb0d3c62bbf31727dce546660f941c30316d440d2b214aa62cef4074b41d980b13d2ffa9521bc541c04b4459
-DIST firefox-38.2.1esr-es-AR.xpi 453983 SHA256 1539d6b82a8a475fab958de03819b9ab866531d826248882f70dbedb52caa095 SHA512 822acb3209e36954546ac945c2b136b189fa43d87b814a377ab046486a826bab08ce9a8499b1129f6fb8024014bbfd34df7053adf6b7182ecad5b9edaec40f2b WHIRLPOOL df36245571f7ccfa3f19dc56eb09ec7331bd70f1585ac82ea371d98e9582b2f744fcb89158445e15d75bc3ad893a9595a49e7281ae95eae6d3faf0d92df7d186
-DIST firefox-38.2.1esr-es-CL.xpi 384679 SHA256 987c370767ef39c784977f15768a79833052cfccf53b90ab0ade524270fc299a SHA512 e01aaa24200f8c2864f77e29d3504b1949288338b6785f36116c4aa34de8ae2b3974b6c7bc52cab6de95239dfb2f358f159c496c4339070692d32ae2e85de6a4 WHIRLPOOL 4d1c4bbabe2d5d088ec518cefe87b76dd90b570049b01d0e6eac4f33e76c069a743aa3b4d45c7ac1098e0a02a880cee87ce00d2bea629ef6b6c895ab2cb68b11
-DIST firefox-38.2.1esr-es-ES.xpi 374073 SHA256 db861b6fb4eb4b46cf21e3fc56ec3ba98303cf0aa8c2d5c1fa4efacc93342400 SHA512 60ca1010f9b21957b0e487827f458e51c9c8dbe2122153df7054e04f3b65fe9e2afead5b7d22810b04388d94b1993ccda4e5e928ef765da0e60326bd2298c190 WHIRLPOOL 938f3948e4b1e01f1adbc36972ccdf9c2111ee5f99022fefba62cb178592191ced5e3ab4296aea7fe2f577d208ae1b8c00b5f9f93e7d8c4918c0d86f26bcea14
-DIST firefox-38.2.1esr-es-MX.xpi 457049 SHA256 b78492a8826850ef2a3f7d7c192c15af573b59c64871a2b849c98277eea28234 SHA512 352df2f6384a0b5eb5771ff8fc9318227ed2a2a9ba02cd548f6f35db3edf5cce71424baa5c99339dc983b8bc2fbbabbf4db4404db37718e2dbeefc2ea985457b WHIRLPOOL c705c81fa380faaf70bf1fdb5055cdcf80a39c5c5544926091c7aeeabb40d502861327cbf4e483a862615f518987a6c75ef9b469664e49dedf6a61413e92b5bb
-DIST firefox-38.2.1esr-et.xpi 443228 SHA256 fe133da93e7c1e88f1c39321de56f679db228e7a0b7c6cd08ccbec09579cb9ac SHA512 873f3f8183e770a01151fd693f28654a0e34f0fe730105b3b72369b6ea6689ab16730b1d67f52f4747bd68976f0f80485d9a876414c6565a4859ab758f8ad7c4 WHIRLPOOL 71cf51dcdf8d0af53a52c8f06ff504ec98ddb1d9daf5b3a84bdb6a02b07d2d2d141c2314c3ac043999f24024fd3b4f4ca4e1f0b4fd7ccc3808f6ca9356416557
-DIST firefox-38.2.1esr-eu.xpi 466555 SHA256 4b34e8fcc664fc47de1ee7fe1b8c4054a8416288a89198f1e772d37bdb0d6dad SHA512 204bd942ba9360aacb5bcccda9f9d76b289cd9d73fa19f7146e6b2b89db9c9ec993d8e49a2d32924be35efd82aa200c6a27074c36cd694c4b85df03e3fd46d23 WHIRLPOOL 6535aa3f3f217efe443320af4c437a0bd96eafb33f7a3471e1c942229094c1713e221cb73ae89536c9ac43c586e90a944f18b8c952ff4a98869a18f73fe80623
-DIST firefox-38.2.1esr-fa.xpi 518282 SHA256 6525afff18f0e5e76ba8daa67ee86121998ba3fa199215aa207b83759a7ca616 SHA512 f7eb334dfed0cf60dbcd5001c10537a0f8cd238d4c7a27f74f44f38af985cfe172eea8db58075d484880058131e9772db1d110d1609ad65a7f96fa464255c135 WHIRLPOOL 66ca74b443ddfbcb3e7eea3012f9841f9420149e574ea907c5ca27782605ef4723aa2cfd928a9349f23d928e9454b8d122572b960f69f57efd253c6c3335a696
-DIST firefox-38.2.1esr-fi.xpi 444852 SHA256 0930c3a33eb29d31789e7a880a018912da6ca4e9a51013e08bc311d775f4021a SHA512 d61836aa42232a05bd8cf9b6d7e88fa4a550c1e201a090fd337c8afbc45c495ec88cf9fe23ffa27fee52f3782e894c0568adc496c243e06fceddf738ab498100 WHIRLPOOL 990b43ea313b88598d0268a1d902f928823aba4dbf3adb71485234514e3d82bc542c1f8847e0fe4b5611f77a831b4ca7f7107f0c31da32b66fc19068647c05af
-DIST firefox-38.2.1esr-fr.xpi 461401 SHA256 459b100943ac236091e5945aa84047c7a0b540769c8d63cf2f527cbbf645b401 SHA512 dc744452636a15cfa1863ace47dc8cdb9e8115034a7a4e9772089bc26c62d95039b62291524ac83f1810df11163c7609b59c954e1b935e5dc0aca5f368e5c9d5 WHIRLPOOL 1133254e25da32ce1412d63133f55a0e336d279db082a7fe4a6915761ae70d076dfcebe1afcf8d5d3d24c7715c78aa3cf0f47dbc2404e0f77e550f3decd9bfa7
-DIST firefox-38.2.1esr-fy-NL.xpi 455538 SHA256 23cc544e74606aa72e9ad2d9c3bc2ae835c82a2bec5787a531e5913dce110d18 SHA512 c36b37593bcff2575ffa453d4e7e0b15c22f343a9faaf388c5bd4fa96a8db099c25c568eff2c1e7841f52d421064339c2588f7ee5f0238e03c67baf195dded17 WHIRLPOOL a50a4988d8e589dd8e44a3c418b88d5812a142b64e31b60036971d58a1f8ffb0ca7e5c07bb2d9cec73ff2482443840e219d36e5a07a9b6bff97a32a4d1757ec1
-DIST firefox-38.2.1esr-ga-IE.xpi 469623 SHA256 0e45539bd39deb9315070726b44c01a8c12c9edb0d1773dc62bc606c45263500 SHA512 037808cf9b106b7c3716d1a8e0c2ef000fbad1011ccdf9030489b52ec9df157d588d60c8d33a9182a4dcbac0c460b5ce5b87c63639839f73418a0b5cf1709ebb WHIRLPOOL 9005b19a658394fe6239e6289f89fba0126454d067f0139f4ef808973b2340aa32ffcd159c7aa7eafa71b9923faa770eea8cde986b559f09398c9ee31371f93b
-DIST firefox-38.2.1esr-gd.xpi 454616 SHA256 7d0af6433a55c2b066f136de7cb2e19182f2357d7e48ac7711dc0dea17c27f8e SHA512 968d7ed84537baed632bd07d24a6528ac68ef1d00c2a3d51aae3f025c8ee9c6380ba5e21fe55cc80bd6d637e38e6387c919afbb0a08c9efe9985ec2451a798eb WHIRLPOOL ef737729d81f8901bfc514d25c3264a30dc546088ea400ee21923e7f62480046a8b9ff1bde5fc61c3b08832acbdd81c9f3e960d2f7677da7f4cb6717b60c8bc7
-DIST firefox-38.2.1esr-gl.xpi 448923 SHA256 9253cb864e13ad8f86350e3560a08705e3b411f5afb69b66fcc739571a5a9697 SHA512 6139e627e838442f6f1c6717d1af70c52be5f0d3b3acf0300866176e26475224a3b5998d5fdff47293542b28ccf6d282267bc939ecc0fa36e9b9e7ff781c9ccc WHIRLPOOL d1700b5d77b6ae0fd69521b7bea7c8c66e509bc1211f026a673fbae627d1e2a1ab1198d256e697d543cd023517ab5d7a029fc72009aa1594bcf3153fc98f56a1
-DIST firefox-38.2.1esr-gu-IN.xpi 477979 SHA256 e926a61de3fbc8f7120bb07fb0450cce81d9da6842bcd5fa7a8df1499fa11013 SHA512 528b2c1987f006e7315fb4bea331409b1eca4898a9345e53400bb0473043f9be5a850014c3acdb24317cdb56e956b8c9d7c28a1a4e0280db5dce38b3f7a518a2 WHIRLPOOL 292c4d011db7b26f1883fcfa817ffb4c7848657abc2491b37d845141a77b6c291001490a7f383ff25c191c9899257cf857bc3ebccbe749ed1b022b36a2bd89f4
-DIST firefox-38.2.1esr-he.xpi 486784 SHA256 b14462221fde67c0fffd2fa0469e6c5a476540111088456842a59809e1e6812d SHA512 9c6f99daff72d884f760204c00b2eef1b8cc6953a5daf4d8d087cd0f11d37e690b981c090b7d2d649850bbc08b1a9d52e8e682eb3a781572f717f263069f3308 WHIRLPOOL b5aa8d7a0b6277ede69bb24b800ef719f0c22fcca9724e054351c77480cf677c1e38fa60881ce441483d602ec8c1ec1c069ef617eb3a5e27ab261ae181c70456
-DIST firefox-38.2.1esr-hi-IN.xpi 508166 SHA256 df8683b412ccb2d4142099354b0759e59306eb96be12760c7c0f58b7b48d9411 SHA512 ebc56a532892f46a2207f903ebd646297d87659537d9f82df79310af4eb36323b3b806de8e8742353c5b4c3a0de4af88503740560f27b9c684d4858347e7ab8f WHIRLPOOL d00028be489a1b9713c38bad8c304c8c5aa3821349ed929f5f5ca61cf561baf96448ead01068c5b45d4119e63596932d48a3bb517c95a63977481fe7d130d942
-DIST firefox-38.2.1esr-hr.xpi 478270 SHA256 2405e5459c45abbf455845eee66bef90460f4c5c34aa1abede38737d2d8bbbd1 SHA512 e33414e48399d1372233129511b379c1b936310b398dabd11b78986b97a19ed9310c4b6bc4168649293d01b4cbff297b7d3a64bc833fe3f12cea0b60d5437e65 WHIRLPOOL 3d5a733549fdf95df5beed5acdc817b656d7c068cf21c69a722eef38f0bf8243958ae38b6d7eb07384fbdbbbd91f2e4bb7a5ff704397f82ea22672ab420ce1fa
-DIST firefox-38.2.1esr-hu.xpi 453554 SHA256 7dbbebe69ff4ae414909e02eadefd1db7b7585ebbf450c6906e515cd55ef5144 SHA512 11866f61acd467d6367ca1d31cade3efbee840844ab447b657e864fccdc52c4d8dcce87891f0bc590646d56c89330345cad19269236ca1b70f4888dc270d1770 WHIRLPOOL 0e8a90fb62da271f0ff4bc6f979be878c4337c17c7260a92fbe597c0276a0a46bec4f83686fc3a7678f5a3f7475c78e46f008ab0264d699676e92bdc962dc655
-DIST firefox-38.2.1esr-hy-AM.xpi 534264 SHA256 20a4c0b5abad43617850551aeb00c303fb74a11cb0ffc88a5f6a21500e0c707f SHA512 7996eb7d0231caee84f0df345000201b320dfb2221e12a8fda480df9ec1c53b2b52cdf4fea30e79144d0fcf942e98361a19ec21783fbb21ef1fd844bae6b0c19 WHIRLPOOL 8cb33e0a6e3c23e59d683437edadb55f2a205f25492d6e97012a63bd9e9c4322bb6276a8725b865943276d616e3618d9393647d13ef068bd9909878c9f707271
-DIST firefox-38.2.1esr-id.xpi 431488 SHA256 bfc5fe681d846d57ff34b69916a2a67182a020652d7c4949f6835e84ea296f22 SHA512 58c329e027b8d5bbdbee4cfcba44aed6756491be3b2ef48e54a5d9e821dc8791315fa760973a54d169b9b1ec7145f2075d6816ab1d69fa6b7656005cf2a5d575 WHIRLPOOL 3764750f90cf344917e881c32340b54689dd012813834c208558ed25e6bfd86d78be75ed8e30840f8e42de0feab63b9bb2924f6a0f12ca7bc87c89808e617084
-DIST firefox-38.2.1esr-is.xpi 485129 SHA256 7db45517845cb2c10240e8bc208aa98eb59ca9f7e4ac63458ff73b01c6f81feb SHA512 20c99a55e42d0b7d30863e7a191b094bf86c28dc5dc662faae7d87bfcee4e27c71d657a922ee8ef1773a65f86504c602d3675423d64e900df21f2013aa16ee36 WHIRLPOOL 53ae5203ba8407ed500b377ae4e05b8e2af832a47e4ebd2298206919b432ee8c9aa378399bb219eaf0c09118e5cab3c977d00372b9143060d99d665a03132d98
-DIST firefox-38.2.1esr-it.xpi 368409 SHA256 0b34622317c71e5d4ef73a2c91103c81bb93e00ec6745d815f5b5c5e0a4a80a4 SHA512 2de44fca99a2f3637df02c19a7902990a5c7347366ed40b3546c84e62e99c5a746ed49f99bf1d5d0ea7826de096a9a07a8fdf5c1ef638170fad99c12d7c80b42 WHIRLPOOL 0f96187a6a9f7769823fea8a94b44b7bc4ccd6eea287fdafeb674e7bbecef325070281a3c02d3c6cc84bae8c9451bc04173e51539d1d66a35849365e49173977
-DIST firefox-38.2.1esr-ja.xpi 479113 SHA256 7df70432dfaf748eea5edfad608a3fcce377f1c3d06d1012f2fb28042f872ae8 SHA512 5a17aa43fb390f92b703d076aa57cecce9bad443e8aa8ca143755a823994e8fb51b933e628ae39380c9ab063846636bb92a148224701cd8ad0b26ba7e5caaf9e WHIRLPOOL d2a92382f3c9182c8f84f48c403d90ab5a352164176f62a168de1cbb04d0d78a495e5aa1857961e8785c6cea1cc8005085f6a93c7697c3c5416cfcc17d0ef70e
-DIST firefox-38.2.1esr-kk.xpi 503568 SHA256 07131063fc5caa3a3f20d9f6140d3e0640c81e842389cd77c26ed722ddb195b0 SHA512 675a5c52b54a72a228c16bce328a68b9ec6a15621488516011550afd8ab2d7f88615111ec4874c35d8064c9ebc67fca5f24b35a079092428a618cdcc650c7634 WHIRLPOOL 8bf82cba02373201d141c372924236c5c69189199ed374157bcd5e0dcfb1b5aa0b0d1fc10815e51edb830936a2a2e6eb78d14dc0aac7fafeca61d3bce88226b5
-DIST firefox-38.2.1esr-km.xpi 565673 SHA256 35c67ac083036edbc00351f3c75b6bd59a57f49b8f49326b966e49ed1c440769 SHA512 4a4fdb3458145a96f490bea83094e865eadb0ee72a7be6180a7e5f6c9f106a66a38a9fe066076ce3a9b280e9cdbdad86dda1c21aa316a19541740540143ce5ca WHIRLPOOL 84c8aa57d7990f87dd62faddc150d627d35eb996a0f102bfe04cc207b282591e25cd6840c754a36da104a574c3dd1364e749b7b40a81864abd1fb19c9efdd20d
-DIST firefox-38.2.1esr-kn.xpi 533464 SHA256 b88e298f2e884a027a993b1e08bed8d4b693cc86d0cd9593570cc83561e9ebc1 SHA512 26b629eed4b266eb86efc647f55f06f0e8b4f618a6241445b265cee4b99ad42b28ee85c431b2aed23e591fb68224137df42ea64ae26aa828087360ac5aad6131 WHIRLPOOL 726c43e9970cab57d55eb218b88b65777e45ac4269737cdc17e38bbec4cdb113534e556fa7a143955fc83ba679114abac5b9826bea7cc6220781e9a98832a8c6
-DIST firefox-38.2.1esr-ko.xpi 460853 SHA256 bb7f4562361941f1f6cb5f157b52a0c8584e52eb8b1e0d643b00dd7bb0b5c51e SHA512 1d8a6dfc7f45c0e26811c779d61a146388519286e972040a3cba115dad64fda8f0bfe054c08df3c5ffc681a75a8f24a426ef61e7374bb5ad9b1f251685ffc418 WHIRLPOOL 35bd2a3cbd83bdaab2a3ce16041e9e3f0e32660d8166ef69334a5bb3fdbf4e62c6d61e7137bf4c81275fe9e4c3bc6e3f8a4ef456340c72263b3d3c849663e300
-DIST firefox-38.2.1esr-lt.xpi 486452 SHA256 285abdd84d600b7aef0eb17371879573772e357d147178d02cbb9004cfd01d70 SHA512 78b27ca774a685835ea1b78b9175650c643ae8399859f1579fea16d0749a11705a115ec113b0de889cef7657a31d234bf2fd1ee4c4e7af17bc7a93e0fd9a7ca0 WHIRLPOOL 37cbf7ce0589a0111d1ed206e54f0ad4e80439bb427c24860805fe651c3ff6be245429919439297462436cdb17815c08ad4c17a37c7b8f10f2ac184751a0f01e
-DIST firefox-38.2.1esr-lv.xpi 467197 SHA256 b5b427806e1b7172110b0570fe381bd40486790c415dfe8720343c2a34c41a64 SHA512 4e6c32a9ec46416b0427126d45296a1d7a11ef96b281c03cf7ed406fe10d7f18c2282dd3a25e0db2d4a839eab2461ae7e6edaff4604cec433bceda286fe3f0db WHIRLPOOL cd6e0bae9fd9cad9c7c63ec7e2b37fb66457309eae21be46c574cd786a39e0a93e04180e63f38b60589b0fad0bd0e51868e198dfda39d4264a4c7ac51f1536fa
-DIST firefox-38.2.1esr-mai.xpi 514666 SHA256 443c2edd6fec5e81d19552ba514b2dfc8330285fb0f984fc735f4a1b5de6a4f5 SHA512 49a1b13658c7e93608dcc88c991406bb8e4fcb902a5945e569e4402a9b98134293d80716cbb10360e4ca8ea6895c521ee1a48c05dbf7b0f0e208028b50970002 WHIRLPOOL 7a43b1f9c33ff4c6cabe107310d38ca98e35400d9840ccdcceba7cdedfb13d8919b8bb2754188f7c70d65ebc6578943b2f530d63ec9a2d18cb3f2e28c8795275
-DIST firefox-38.2.1esr-mk.xpi 529205 SHA256 b57c5314d1b3824396a0cf6a4bc7d8cb70bc01730443dfa791bb393969841daa SHA512 dfe5bbf05e0187cd42229cf6c441e643d47bee7c56c62f766e7d6bc75494ca86945ab5a4403f54c9f7a81d2837289076066c3831e4dcc99c41d5ecd80e95fadb WHIRLPOOL 2bdc8fe754fe71cb69ddcc6dde7aaa48b5590377a619e6a38de313c1ff11531ca0853bad097f3dd9448164f1ca75db448a59370a67920ab6bbeef4eb63ab5966
-DIST firefox-38.2.1esr-ml.xpi 528919 SHA256 f55fecbcb7a2624dfdb557584c962b04e0b54bede3bb007cfdbb28333022fadb SHA512 b67b03136f329c14cf2e6264a247dfd349f2215b7eceadc01554bd1da6629b5a1a387b1762b4a818617abf1d79cb32eb7370376058df3028930618481281e98a WHIRLPOOL a70648fdd5204566e3491d7990c04f553965c8fe1bb31e0ece0d071017e08aba810ea40244a97beec758938e0177fb515fe2a4566c5de0137cecb538f0961fd2
-DIST firefox-38.2.1esr-mr.xpi 505961 SHA256 16d656c2094e2ef767d4d6a3b6e290d10db4902f71dc8c2e9b1410358bddcac8 SHA512 69ac24a50df53c180e31491a62bf55fcce5a6fd8c5091282d09fa877d69153ddbadfd508ad3fae932c58e26f7a50b615c2e1ec2002faca17ae892c6462688e13 WHIRLPOOL 6ce9c81d8c953f80cd5e454b8dba871544c475f23befcfd1d02ecb0c9e40875042b01099096eaea060c1eb29a3dcffa39c0b73ff1495e0c2cc2eff7c16030c24
-DIST firefox-38.2.1esr-nb-NO.xpi 444177 SHA256 ff22df16587ed823ddbd422ef92492737e5a995a776413017c688f7b2f5cfb6b SHA512 35d7a20f3c115ddd483f78cf75ffa6f612d80bc06932ab6f04bdbc8e27bc3ddc29860db4b9da66dfec600dbf020fdd4c98fe56177600cc2b4aeaa687a683f387 WHIRLPOOL a7ac138b9032778c38b0b7bf6d7c597c05e0067c9fbe928d9deaa32ffe77f89f3c6f64fefcdef8f63180154d1a2f1f45aac22e9132dec7c083a8da994ba35e57
-DIST firefox-38.2.1esr-nl.xpi 443995 SHA256 294d298024e333812504bbd269f104ac362e32f5b71b4bcc21591acd05cb52a1 SHA512 60c8009dcfc2fd913348d8c798548c667149eada33c7804de1466dd070f74bf6cb778113252658bcfa66280be383471d1afe22cd5ca97669f09738601407d17b WHIRLPOOL c76e5c16cb270cd118e88fe817888083b8f409c3f61d030fc2d006c9e47ad13aa8c1ee8d641bfb2bb5e317049a17f609908f09df1a89235b11764909a71b97fd
-DIST firefox-38.2.1esr-nn-NO.xpi 438452 SHA256 c445a5f538cec05c69d2a7838f22e18123f34d7217454984ff9c02a7072364f6 SHA512 1fe34e97d779e9ea4e9d78090e1fc9a28fa82aa29cce9802e0b83e21f7645570bc3c7e8368251f4b7011ec40cb9fd1b9008cedacfb733edd410d57e68ec5e527 WHIRLPOOL 842cc7dcf861bf190e519e2ef2f222e3d909b4c1f6c6b8bb80df4a4fbd9079b989f29db5ae1dd3de4b254176bf9b286ef858126f37398512c49adb692d8e7b9f
-DIST firefox-38.2.1esr-or.xpi 527050 SHA256 af6d63813c6870ac5993860940f06c91611fed21cab87da34f7dc58d566fc751 SHA512 0f1ef04e843768b23966ceb699578c3476b52fb97b8f9fd7babdd0d4ebca95bca8c05178f6b0cf3ff7e3712e6473a48a795476c31d4c48b6dfc6e75a36539fdf WHIRLPOOL 043b5f848601b4944033ad66975087653688b3b290431c8da56dc247a59665fcbf7482ed0bb59cc1a1ab98fefe7116a7aec22edb2d0fd2189043ba67d4d3646e
-DIST firefox-38.2.1esr-pa-IN.xpi 493723 SHA256 adfea7204e49f629aa1432364cbe876b2a40b339e4279fa9801d650d17920aaf SHA512 59c0328b85ce5644ce91b5c0e39e3227557f232fdbcf8632cd338a1ae82d0aef92e90928fe1b55e95f003e1062cde9f269c9ba8985d87e2a509d61784443878a WHIRLPOOL 395df922af6f16e03ad4b5d631524f0f1add6a6349c6c4a3cc5312d4cf1b55f55b938b47f25f2267fe50f906bfb22155427504b7abb1c850406c1b3aa0228af4
-DIST firefox-38.2.1esr-pl.xpi 406567 SHA256 651bdae9f95b09fa28db0dc6c47aec3271d628d2ba508797750a5dfbfdb6af8a SHA512 2202df6adfb7223dc541f19b6213ce42cab32eb0eb5fd0f0af4b6c2110f2e5f01392cd5ee44fc1cdac2a841daeebde06e8c3b89e6c80c86885051eb8de5f29f5 WHIRLPOOL 6acd9f43ba61b10ea702d37260eedebe4327f30d9a8f232ae173b98a84aa472ae164cc3ae2926fe2f6c47fb704029c6c3e7530a326a26eaf95bb49b1399ea127
-DIST firefox-38.2.1esr-pt-BR.xpi 459811 SHA256 c4c0744d55113c5cf6ecf9c4ca2a283f7b63a4d6ebd952b0c271f5932cb50120 SHA512 c69bc4bae982bd1cf9558735dd3a595d63f371421c0804a8f4c3714f6ea4c9bdd798e9afc6289b6035183412d5c02f5c59ad14dcc0de165bf20bccbe8e251d46 WHIRLPOOL df0e5c98f778df426413f5011c9d653fdd9dc3918c35db7d4d2662af7ef93a802060528ec5aaee627650b0db20ff79f08d42198d441a055c6cd7590808f79f6f
-DIST firefox-38.2.1esr-pt-PT.xpi 439976 SHA256 6f950c7eea881dbcd2f4ae4cce41f6ece38add5e511c741a6192c1431b6dc49f SHA512 cd7c6453e9549684f00c66638bafe2d894d370ade0166e0d00523f5323f4dba81e49501b881e7b3d7d36cdba7f2ea90f869f69b42cbcec5ec93fee266b806484 WHIRLPOOL bb956f293f916b70456757f5b50623f64ee8458248e7c441635bde83a886359f9647d9c4714764a001b8047247006675178ce7a95d4fb277b5e07c256bbf8c56
-DIST firefox-38.2.1esr-rm.xpi 446286 SHA256 5beeafba0a7a1cf2bb14de27cac8284ac713712c3584e2d056bda5fa10d754ae SHA512 51224e3b9ba008d57c56c226eeb44ab2d17f44d430e490d94400fbf658d3e5744322b88bf1f4ff6983b8aee08067b93b1d8ea056f4061704210f0fe16d9a95b2 WHIRLPOOL 5499751ab84a665bfb5a112e032f37a86bfa7d732ffd208b3bf30054a32cc41fdf1016e4e6057075269a27b5d2b8d67c222ce8f0404af1c843a1d121a98cd569
-DIST firefox-38.2.1esr-ro.xpi 494080 SHA256 d086f67dc27bb06c194e12bc0f47e52b58584637916da61c42da977204d6739f SHA512 919569660889b56a2302146e6399e199718152b6007c3ac8aa60d12e01a9735d1c6422fa51709347fef21942796160f924ab8d5362907659e376fa69fe1a5050 WHIRLPOOL 7845916c87c2e8d4fa1391f62f75329b103f033094777bfb307ea4f1a9d270d2b5e9c42d8c36de89c506ced7a2dc10a536b2aa294cdd016b05574f85ab144245
-DIST firefox-38.2.1esr-ru.xpi 414418 SHA256 d61806e7f8080d3fe3b57baf9448ccbf74fb9a668365518322b0fd2fe67a75e2 SHA512 b205fc64117b56ac23d843f444ac459da64d6bf28ce0d5d9342ff6a1bc9cf73cdb2cb3cad5dce344fa8715b3f974e8555b0821e5532af818a8eaa645b717515b WHIRLPOOL b25b4d7945bc97d1aaa86db0cd0399faed15af25fe60aca6f00f7ad409ba1a6ee8d040e30e097d31e84ac1b37a51d14a48c0891859edfde33bfabd425d05fa3f
-DIST firefox-38.2.1esr-si.xpi 537394 SHA256 4d48d93f3a97a0b2853c1aacffb726bf49c32822069904fe419ff3fb9f04bcbd SHA512 b32fa1c9321871e0c0f077b9eb48f374b07cb436aef42698a751dc0c606f71a1a3c8dd8f32fffc39ca0c2ea46756134a414dcfc63c3ed39a30a2b4198998de59 WHIRLPOOL 4a6f449c601f4f2893e2a47aa236820ac13ce98f2172538ffd5e8ec03597904e464d45bb1b7df3656fee9cd6ae0bbb76b2a8d44a9179a4b293bee0e79597cb2f
-DIST firefox-38.2.1esr-sk.xpi 469436 SHA256 f1b47a7c848a1d25f5bb3744497a94807e550c96e2ce34f06a07055e0eb5879b SHA512 18ba890e419f5ad7e14ec2f420d00434d08d55c420db9087391b8754653d9c3e4576aa1a2f7359bb43b75b8bf1729b94107fb6ad0739acdd6786da3f99b6c929 WHIRLPOOL daa3bc1009f6a2e165a37ef7940145d546d9b6521e5f54b2e728ad5844dcf3ea505f5f2400cd90866a6f0fb30e6a204e47f612aea2c1ff6020183dbc06eb8f37
-DIST firefox-38.2.1esr-sl.xpi 441594 SHA256 c663bf7ec450a45c3c1ee7a46e89facfc43717831e014f077e4fb994bbcfbd1b SHA512 f7f174786984cb720da815b29345cc42a5c058363fc1240b3a0f3c1e489f25c6b0f03650d12e5f47b8f44d5ee6bda3b3a52c1822fde1be283dd5288183b1024a WHIRLPOOL a3cc71f337b38f5eee83e6f46fb799228f0086f8a8a6a168fe22007e0a41a5e8e6c4652922d1480077f283368aa7e042b6f2bd75b4638ce7f813b4195e94b1ed
-DIST firefox-38.2.1esr-son.xpi 449268 SHA256 305df206828887322e4f3d4c689224e1187e2a13b16dbcad898b2a3aeff5f25e SHA512 8f76bfdd6cb66598fad0708c87ea88f5d0d06a3f9812c98613022d49f86b3c748cccb4f194ba7d434fb083c60036561fe60b20d0c9ee874ee8feb59a51b6c58f WHIRLPOOL a221b92a58cf52bd5551a508cc3573ec4f2f46b673da29eb45ae1da7a6422854d0a14882c3623ba258ebcaa3c8e1ecdff10699b226079f31ffa664ba285704a3
-DIST firefox-38.2.1esr-sq.xpi 486075 SHA256 2674faca4612734588e56946796c58725016082689e026ca8b805249447c97c2 SHA512 af57a7fe4789699e293e5bb660ede5581a774df95f049165099f56e236595ee416268439574638b024e346e1a23a7a012c22ef641a9e84837c47364e955375c0 WHIRLPOOL ec706ff9299b87701c4bfb370357f928c1994bda402b512ab11667cea9a391b144098e904583eb08a1540e2b148a899618b8b14b493ed89cae83bb30f1953946
-DIST firefox-38.2.1esr-sr.xpi 479420 SHA256 499f11c6a5f8dad76dda59bab9007daddae5a878e16e2a6fc4da46319dc66644 SHA512 6f4453398a4b120316988bdae0185673412a4a89d130263006119b1ec1f64fe395aa7294e1cb70485c03f6fe5a0068ccd78915b50a06c7e4b73c3f3c1640cf96 WHIRLPOOL ce5e78a08a642771b336b213704ba314441dc072c7ce3f567eb35745fac52e3afc84cdb2d103baf105d179c0ff2cd870788291e65d4f60ab0ac06ec1323c5bfb
-DIST firefox-38.2.1esr-sv-SE.xpi 452632 SHA256 536084e596a969fc8d26c497b1155a3a41f393cd86fb8c962e75b142247dbe11 SHA512 a5598fbb6bc15ec26c179d27059ad3271d4a29306cd46437ef95bad2a1c14960a18204437271372e8eb79de58e8c8f10fb4a471e2cb7cf246af5320bf3b3b04f WHIRLPOOL 4d35a663f9cfbf62064368726c918570ff490d5559448e1a9222efec4b1b9e28b01684d7038d6ab7e9f2ee68c430e7822a33dc486fd28fe975cd3943326a62cb
-DIST firefox-38.2.1esr-ta.xpi 506607 SHA256 639fb75e4d13ac50db0e70d35a92571353339c004a8bcf2ebb5e348896f57d67 SHA512 6c6fa8cca5d54e96a9049d5b9e614e51d4ebe2d3d27afc6004a6c8f57b6aeb1537e197edca113a8701298f643aa085a1af3da7d1d8f0d86bf44f24b537527404 WHIRLPOOL 5a2fb3a736e57b8ce60ffa7cc9540932f135205f5448a444de7f950c7a614a0a175c41df7370581af06bccb15bba0c1812589b46d15db1c02e45d55323b7fb6e
-DIST firefox-38.2.1esr-te.xpi 526250 SHA256 3b73a6b26d29260599d2d2b24a7bc0809a644de1e8347e60ffd4c5014109d0dc SHA512 bf86775c55b9cef3987cb6f93441ebebf85068abe0eb1a13d02cebeaa9e56c65e28488e36fbb77f9f40df3b7d44ff1ad9d6edf5d46e80c5c26751d0977498348 WHIRLPOOL 81d93405bc95962fb9a1c2c043285a87a281dea8bfee754848b9395fd14c0c5dd9900f131d9ab33b36059afd4916732af29a2d3c50cdbbd166e08eeda57ec4de
-DIST firefox-38.2.1esr-th.xpi 534271 SHA256 a5975df8f977fcfc7e36a2ea53db17d15d1a409f1757922cf02e08895564a054 SHA512 845cba525ea13ff51874d0208fc6d832c894cbacf675bc46cddfed7b50b9cf471476325732a69a7607b64c1da5b4906c0a86632b22ed13fd69c9fccc5c512bfd WHIRLPOOL 9828854023e168058bdfd6014f843dc7c2f13556b85aabbd75faaddaa2671b8d83356abec8b6742ad3883b72423b4c3f02ab00e7b4fe8f651f414b083b707dfc
-DIST firefox-38.2.1esr-tr.xpi 481076 SHA256 9f508923bdcd00b802bb9fb6d20cbd69ca87ba441e9119ffb76b243d7ebb78b4 SHA512 0164b798943f27c2324f7fb12d2ce1239130f024eb32c95f18d0d770387aad78a8639049ffe7f1f4212221780af1b820516593b2c7f9f9ae5685904a31d25525 WHIRLPOOL 662d83b26f9255f4467389898429ac2cbc2305e66d415d53a2a24995b2509198c452c8f2d5debcf5f815ee00010042c9f644df1aac0cdc426ec93c3b5d4f5fa4
-DIST firefox-38.2.1esr-uk.xpi 493314 SHA256 7b7b1216c9a5633ff4b4cb2eabbc3b36c01e81e7a46d3261e9251fef330a8311 SHA512 5f713587feb39a9e6e77d1acc740c09c4cb324fa05000f9145b7110c53d4e3c385c9aad4cd5c38ab51a9ff041dcc48338691f3e868fb5007baee6a0ed3232291 WHIRLPOOL 17cdcd7ac7c29e1baff613ad49a5d206bbf077b79e8d9a5820bd8703daf3a02b6c71e42b141c86bb03dc7a316d5f9b4013ecaf3a8bb105cf9f68f0b80638c963
-DIST firefox-38.2.1esr-vi.xpi 467505 SHA256 99abed00052cce52ddcd65a2edaa95b0311c75d3522b4784760d947ec7c2e41f SHA512 25c1dfc8ca725d2c105048a1a0b545941cc13cf960cdfcb6eee28ec16fe4dc5810ff423561cf65e1aba5a57fc11100423c6197e39da8bbd6935ba17e97976df1 WHIRLPOOL ad2b5a07c40cbaff6021b0785ab9a0976fd6a8f75f03a31568f4d772b4a05b435f9eab3893c54625b192927593eb8e8f9c944ea872bcb07018f0df790b9f99c4
-DIST firefox-38.2.1esr-xh.xpi 450242 SHA256 625db0cf3bc1b23a1fb1b49c21bfbb1671c4fea84db64ca6d0582d817efda419 SHA512 458dc67466df9e9ef512643f06f433cbd6675a874d2255e0b53f7f66bfaab5efc985a59d40a70aa57005e612da34e1ee10b8aa66b540f5e574db1d0e4f8fe839 WHIRLPOOL 01f5278a1748b34f46735cec3fe697b5e44adaf03ac4718b5086ae3e57c9335f112ff294302e85dde485b0d10aafc8da601d6195764689101ca48f3ee2eaf663
-DIST firefox-38.2.1esr-zh-CN.xpi 488276 SHA256 02ac98674f658a239c264b0631d1339e8c454f444fa9261db64f250033eccfac SHA512 c8983ee72715f9efb3506b48e3f9d1c485de8fcc8480ec6c028491e7d405afc570d833382db965be4dbd881358e007f216f152d29ce44bef71e6ff654c4824a3 WHIRLPOOL 92e8a78318267fc053b7867e9bb6e3206d78e0b878d599ea4d79a86cbcd4098345b586e49bde348a39a8da6bd2f8c93376ac8ed99dde8d8ccabc75ca5bcbdb89
-DIST firefox-38.2.1esr-zh-TW.xpi 467845 SHA256 3fe5c8582898d0b7a030028700a58f0d7313a0c9edf88568d176175dd7c3f40c SHA512 c9f79629b47f4de0fc2b595a9d04b7438c99e04cde5be14aa309db5a913eecd4c073aa9beb91968d168aefe5c2858095f49a8641a84c6f00924cc17f55c51d3d WHIRLPOOL d6341ed171ae24e69d6f897b24cd4c6a7be2908294e76d7fcf70b533845eb21db3cdf804a7640568b4ed52262332515488677e8f155ca918d9ff4663edbaf66b
-DIST firefox-38.2.1esr.source.tar.bz2 180722074 SHA256 0143b3f99ccb390949d7f3847215f6f9b4bb7cd692f4f802921d2f9961bf270a SHA512 2cbed7da7c502b8474578d45b5962fb36ba6cba7d7395487a85a4c0274e10ad1834886a4fa5c980c398c2766e57c03512aedd1c82d7500b4206c3e03eefe11c3 WHIRLPOOL 78372824dbf9cfd9041ed79a496c414093d5689dc576eb4bf8ccc7c20e3b22b5936052e50608e5123aeb5669773858c90568e22e1de343f69b80f782e972dce9
 DIST firefox-38.3.0esr-af.xpi 483326 SHA256 ffa2d6e68d8c3ca3fe4d36372ac565fd34ad925fdc1f3f46382afa044d8d55fd SHA512 5853f3c47b0a7e3db7cb247363f16c9ea929ad1d401ab5691a6cee2ebd40dbc638d34a10392625bffbf08a7ac80117776c067e10f77dab0e362fb0852f49e9a8 WHIRLPOOL e3b7b1b65d46225d2992b77963876ec6b31465288ee35accd4b12efaff1f9c6ab39dc11cff03268fdd2c7d8b0f2d9d6d0e51f8d4941b5a4874337353b1d4da1c
 DIST firefox-38.3.0esr-ar.xpi 516496 SHA256 60fd61bc5ad7db8857232deb0dae2f49882d9803d86d852daabe5debaddac467 SHA512 9d10b77ea9f8c6f67fb0f4e0e57fc7cedd94801ba130264754d4caccf068a0348fe6301aa270c1fbcf27beca69fea44faa9b4dbcc25852d37b82927f84558236 WHIRLPOOL ec0c9ce7c330be79b6a13b323dd9ad313efdca4c947c19862da945e74b70451fc09b6c74a63761f78f23e048563c80b4bad2143f072c6dcbd7df083e87bfed2b
 DIST firefox-38.3.0esr-as.xpi 509574 SHA256 14864a2372815dfd2c9bc726571b4d0d68169d55f9d0d150e91dfaa73e4cf8b6 SHA512 b6b8e3a9473446af790de6af814f0f7d7b115a0da4034edcce1f51d6873e88d325519171a681fa21b9c6b236bb5994271a828e61e2a05b044b3c3b23bf531a95 WHIRLPOOL b18f0d72925142a7f636a8bfc2062433dd51212d1d456c4a3b2eef676b0a6b801fd7c5fb6d7610727adf1ea8bdfab892433b9a7f49640daf456a6dbd1fa12342
@@ -240,87 +160,6 @@ DIST firefox-38.3.0esr-xh.xpi 450242 SHA256 93f9e1dfe71a596ebce79affb5764ea7057a
 DIST firefox-38.3.0esr-zh-CN.xpi 488277 SHA256 1c1def4062ce15660670d7d31ee7672359fc50e9fe4b1f8d80e96f0d8adda199 SHA512 e9fa12f7b3fe537e82e93d9435f64d235c6f9c48b2a13c5fc43c8912c9fa6989eb28d69ea80abc55890f0e706490da56194af3a3af2133aecb4ffe8aa4bc2440 WHIRLPOOL 9de780fa30840d1193bf498cca66f81419c3e8526d1156d3629efc837855c2a771415ad8172bd24a85bcc64733da34a62f39a6f686b22cf8fabf9539d7cf9ccb
 DIST firefox-38.3.0esr-zh-TW.xpi 467844 SHA256 1dbaae6ea46991f5298bb5c03f0926b48d77c058ff07c44601377ecbe9837be3 SHA512 2a1b70a5199826983f877e1b435a650150533caa708e43b437ad41ea0f67d48225a54ad6980515eeacbda843c1a901fe0556b7e2362afdc3d63b67831b6b566b WHIRLPOOL 77f09701a72ddfb7610c842c97efef613cad31c573a3b8b4277f15f2c64e01423b2800dd5237b529a8a00b8aec876998a2f7c66d8ccbcc95880e3edc86cfdaf4
 DIST firefox-38.3.0esr.source.tar.bz2 181401628 SHA256 809f65502d256568220c52bfe09646588f21653c8c487e8018b10ff87ca67f1c SHA512 e3085663e0692b36cce38ed461d6d0a9b025f7e777aa58a9ee170d904aa1c2de3aa12c480d2d9e37f5d58d4c7d80ad33c913834efc0b350e60b59e55716b180c WHIRLPOOL 1d2aefa907aa19dbd6bdc917cfa615ce6da45e2688d7ff154734e9abdc2c3ebdc497c3dfec9c17b5b5ddfc26d6ee0db9884a969502855cbab9dd0a988a6ee996
-DIST firefox-40.0-patches-0.01.tar.xz 5144 SHA256 072c44c79ba82d04958b3fc3d1c6e90805cf71797a03b96961fd3a16bd14c3a7 SHA512 bb9ca395ee380e6ec21fefadc5c5052ce8490039577ac0245bcee309686e802a654a999b3aeeaf8d97573f102fba3620c9995ec145ddcdded2ee9487490f87f9 WHIRLPOOL e74ed6af06e61baaf0991d23849739fb8c1cb33c800467e76d1c15ae22360c18c757ac9f19d274ca9cc54a6f9a0d17f365bd815b4a35c94766b29980638e8c91
-DIST firefox-40.0.3-af.xpi 498500 SHA256 e6fac0b29616c3924530ea8714cb4bd6d836818b4b23b5fb2a8aa4e80dd1559b SHA512 6d6eaa0dffdcde1a64386b9bcd1c88333b9461c8c538a68c0435a5e62a6ff69fc2f0095b0afd2724bc97bd80f1fadde6105404757955e9da48c64613af5b1a51 WHIRLPOOL ac834163c30852980a512dbce9a30ea4a8086af6522df798fed439a1fced90a05f38093a7f63b30ebe2a7e5d738fbe22e2a070c05929050f100ffa25e083fac8
-DIST firefox-40.0.3-ar.xpi 532106 SHA256 3635e6899a89ee93bc0f5290799471c8c8493782ee2819d47278ed1c385179cd SHA512 87d73ad0a6df4daaacbfa8ae1d97dc9ba679520f13d88b82185f4769ba4b6fe2417f231a520fb815398038810e5def799a3f8c0d6fdd7d3c246665e15f954709 WHIRLPOOL f2eefe9d53dec11e086f9b161f4f0bc1240feb87ab2e939943ac171fffc4e72c8a7635be504b056a19e69d603764436b19e29cbacee430c72f3435d83168da34
-DIST firefox-40.0.3-as.xpi 522246 SHA256 bc13edcbf25ad488b0bcb81987f2c7be90ff38bf3d8abf40e9f14ab7a21b6474 SHA512 6fccd570102fb40f0083353c32b00833a297019f2c32624c37b0d497a22a8f4be767cd7f25863ee35d19ecd23e94bcb4f38e05a54931947279f2df011e735fcb WHIRLPOOL efda4caeec1ed7f2c5b8869ec2828ee176aeeb3b6713f36e7767477189f5b7fa4dd7059627cf5248b59ef1dc9ccbc12f0885238dd0c791a7c400b5a4d424de24
-DIST firefox-40.0.3-ast.xpi 408919 SHA256 c153cf18ab652c5535452ab514ed4288806298f32d8329e3adb8e67e53a025d1 SHA512 5a03314ee95b359c7401b3b0b684a8b2f33b8ec2728787d2ddb658380aeb3849f3fe464469c732369d6ed9b1cf7d08f04c54393b7550b818a5c589e2482ec627 WHIRLPOOL 87c58c81cdc0f87fb50bb512f3c7e294867340a5b4515d60ad50188e3e76282e8b3d44b7885eaacb617f06e80d511b71080d3f79287c8715a5d533ca88f07b2f
-DIST firefox-40.0.3-be.xpi 464201 SHA256 6a91c11e4c0c2e0469b972d80b286fb3bf600fb8eb30184b94a3001972e5b72b SHA512 70f6843cfec35bd5745a21c35209411e55eb291a1503e5b7582428cf4b577dd9c5731ff7d9f6f784b5d6bf927f7ffc007852c035b8588c0cd25e8b5eda6b7f83 WHIRLPOOL 664f4bf32a353b9ee75cbd47efba99b36fdb0e6f9fd606a86560230eace10164b61701554edad0a558aee3266daca3a6aff92c97600a312e0b465d183977ba29
-DIST firefox-40.0.3-bg.xpi 503495 SHA256 0ed54d7e27ffa0040da087d716b1a23f36118e176bceef62becfa73ca3ed8b23 SHA512 6eb63434e0095a5b86c78b6be0891b9824fe4e7506b53f12a65cffa4fba4063a999670edc72100f023dcc3ac1969430ac316843b8f4f91254abdeb2f3df5c70d WHIRLPOOL e00bcd1fbeb2230d9e058896e939eb6cd0836e954dbc497e186790207eba25f997bbbbc314828a4c0a79513557739c1aa95acce87ce31edb6b28fc59acb5e744
-DIST firefox-40.0.3-bn-BD.xpi 538760 SHA256 8a6555682596254f617b41a406b3ea48f74a9c0aa64a180ab9760e66fc0fee35 SHA512 2e145a44a723a2a21cb6adbd25cded38fae91b4b1e5c00cf67f608923860de04567c01e22c6e0cfc309ee3d43bb10a64984afd1c25d8e6ad31f5d74a3904a54b WHIRLPOOL 5d33df8bf4d167df858350dc163d59cf5eaee73baf36b76382dd9b980f211215dde7035b53425087b55c506cc610062a343cf5cb520f7926d132f4954278ad47
-DIST firefox-40.0.3-bn-IN.xpi 541272 SHA256 cc0b8ae6969e5bf09d631dd621ee88bf25755dc0df6b851a4a0116c53a4e7b66 SHA512 0123b3781da314d3931703ac1890247cd6d26c007279189976307ef04e5e6344ef4f455c172985128dbce5efbc24f03cc771120818a125c2cad0d4767857f144 WHIRLPOOL d27b83ff683999a0ba02fde3a92b4384fc8ed3474a72281c146cb68df561efdc3e211203b2df45dda09542dab64411fcb086bad674488bf53832b40de6477403
-DIST firefox-40.0.3-br.xpi 456849 SHA256 54553c59ce2f62e5bed36372decd9e2480c770443011a8713d5cc23605caca0a SHA512 902d4a6cae10ea7f89165a71075609823c54da1f00312b9682c5b5aac3cd6dcc9d1a4cb60b42a34a0f7dc832c6d149167bffceb51ab3865efd411da1c0122636 WHIRLPOOL 6ff7db5a6165036f012c40de8056044b2035a1949ebae69fe15b49337b8035b7a3fb9a44f6becd5c4de772315fcf7dac4c177ecdb0eda0415583034979bb8168
-DIST firefox-40.0.3-bs.xpi 497332 SHA256 187626919baedd3be7d5525bb8114f3c6a2db0dfdec333977f42531ed500c064 SHA512 d68c7b5cde3846c75187619b37a7114984416bf18e55afb4ea7ff5309bf52a24e6886f5b96ad8c5e37984b92655fb8f7ad79e32b2fe4cbf23d0632de890c4e07 WHIRLPOOL 37151d87e8d5d645cf7695843409e1c5740ea4fd45dde3b34ea10b55ed3b8129e015ac57bab8e39a5bc35430f1ad0dd205f58566d90215fd12faf59638c2bf21
-DIST firefox-40.0.3-ca.xpi 474110 SHA256 ee57b8bc19e33a08e89d6a3d028c3da5b7b741ba31eb5bc5ebeaf600bb4b00f3 SHA512 4a769e42b926eee34cd9ee16f88e4a748d39b6b91e540e186ccff401644bbc53bd46388bd7d2ed973ed5d37c872a617b37e6a8739528d3873763605a310a76c3 WHIRLPOOL 69968bc6379dae6f6c2e2ccd226fdca964d8b1b1af8138a139302e39647b63323b431118bf6c08e2547136889f52675683b6e862bba6b8ca42db46fa305f8d7b
-DIST firefox-40.0.3-cs.xpi 462358 SHA256 3a02d4f6a36f882f8c3dac164a2984fdb42b07c6074e4b3c82c7066f6ee8aa34 SHA512 a3c49ad7e71870db9314394cfd2fb471a4cff518cf65483cc65353fa62521975ff5cfd491308060e137a92ef5a45420874fdc89b685832e38440950e5333eadb WHIRLPOOL 9f3a9abca845acbc3574e22e4067195f5e2c9fedf742f0b1f446aac8ac586786e93bc48010c7a1237d61ef3762c45d6e428f756a8d674b44c590434be209a63d
-DIST firefox-40.0.3-cy.xpi 459246 SHA256 6f1f87e2df406b2d8313ad0231751cd5f24e9103a2b5ab368dad23534da0a9ef SHA512 90b6d9cb1fd1dcd0f92f1aec3c7f1b2756f356ea4d54442e01d1e87f38fa73e11b0bb1fc46af0daa6ecfed2f51867e57be1cb8696d886a7a0738e780c1bd9fff WHIRLPOOL ce3c2c732b9918b6d15815616abb3db487a3b51fb6c468a143fac2bafd313cd5b8267aaee43389a91bc83dbb2a7a2925c415a486dc379e73f2b494ffcd71b2f4
-DIST firefox-40.0.3-da.xpi 465572 SHA256 cca57641cc00f92f7152c15363aad38566db57ae3df09e4701f20f2f3836f0ba SHA512 a5dc9a089c6751e8c10615ca28ae05503a80bc0df7538f805d6f556f8f9624de4ed3e033b3351eaab4acdea18aa7c94494aa93610de3c98f8c1a5281da359677 WHIRLPOOL b91023f845471b556352cc65bd6eaeed828d529887979a55f81883a45f1c0890de7d5afef03fdc604995a4ae9560396eaa49e63321ae1c4ced06819c306312ba
-DIST firefox-40.0.3-de.xpi 467233 SHA256 a7f26ebd30781adf98995a48b03b92ea294b9d0d6bb02f3806b8d9b3899a5ade SHA512 c8566a4372033aa9e8153cbd2e42d9d7a94c36f76e40ad33d1a65ac4798454de16cc4b27cf7a622547198afd4b3bf475c0979143963c8374e7bd1c7515936505 WHIRLPOOL ea3477f6fd9adcdeca573bcbebc363665acd1c78cf43ca5b940c02f6543f21a69f6f95fa8fed418be7e25ef87b94ace92eb3c0d48276b2c8af63753252bdbd25
-DIST firefox-40.0.3-el.xpi 513117 SHA256 40d7f63513bb3d0b280bb25813b6a13f52779b0558d75b65b6a8fcb69960e242 SHA512 0061388dafd97dd847b6e1d6ddfc4c44da5c30288097ad4267e982c83c9e7b0d37c494ae99a0b0c8b8500208de180ed2d25a1fe9c72e16bded97eec71dea07c9 WHIRLPOOL 18f31e8bd899fed53ae2036014d03b3dfad75c0ec09437dc55568c81c46176a9adc2ba15a3a9ce8b7059d2e7521d1356c203859ede049674620d8390b9dcb5ea
-DIST firefox-40.0.3-en-GB.xpi 451900 SHA256 e4fc56e6d8ffbd88df62dc5ed94ecf3594efe5157165727b22bbde72fd4dd1a8 SHA512 1c63e10e656cdaf531c80acbb295d28831eb7efd94d11594b2a02759ff8a2dcfa399d7638a8b525e4c3a7b0b18b2d68408cdf61305db2e41fef03f7e78fa1331 WHIRLPOOL 3337905309a1b9f29559c66113886a755b7bd5aaa089e467a42569257043d056dbedcb51ee7d8de5de34a134f9fe2f08338432f6eb9cf822d995bee4ac672e6b
-DIST firefox-40.0.3-en-ZA.xpi 455370 SHA256 13b178fe4562587edb2ef0bfc72ea3daae9488d3125dee1288911d4d78cf8cae SHA512 b70026915ac0b50b0bed7d407a90e204a7eb7de76c421205e0699fc24c118cc97fe30332a42ea1c52e9519489a36302c45ad3938780f717c1b0df7c8f5f4a653 WHIRLPOOL 23a0fd7c32f990d2c13e4eec8f0339a3363391feb2ca13ce0c05e96c1212a175600dc59fb1bb8ab9855e640d3bc9814796f89a32fcc4cdbb918ec72757d60dde
-DIST firefox-40.0.3-eo.xpi 500202 SHA256 993c33ffece8ce4c1e1fe4d931a752033ba191cdce8bef89b4459a1164e16fa8 SHA512 235f869d791017d378f8ed560ccf6b2b949b38cd52484af12ecd772a2448a823fa4a760a7ca6c24bf85400f990870a3acc1c1da10b03b8c5375cd8d6bc2d123b WHIRLPOOL 98a41bedce7f352360a30075617ab5fccb5324579be4f9a92c9ec8de3cdd3c2bd59a2d521aef55373eefadc8c9f3165739605715eb2ef17fae903db53090b8ec
-DIST firefox-40.0.3-es-AR.xpi 468599 SHA256 afdca33ee50fcf90b19a781e3ff59766562c5c4f829c36961122dffcdc20f855 SHA512 3525338c1b8a6932bba661fee1430f5ef9cb9d2cd4111cdebbbd5f0827bd0e40a9b277bd4ee5d8861a15dbacaab2b23264e199a8e2a772e9e470557899290933 WHIRLPOOL ac5fa9fcad8a800c44ab47813217afe4aafaa6a440050119a7db7491a3e85c760b64983f9a5b7a639a18355c49bbc1162b07a1c8f84d4dd2d8bbeaefecefbf39
-DIST firefox-40.0.3-es-CL.xpi 394972 SHA256 f7928068f48d900b73db21ee0599017785eac6b9087364ccce55fc356003a540 SHA512 9cabdeb4c6cebcf35e3ab4bb7db6ae854e68da8543248001c4b71555db09b0eb371c406e09b8768bc4c6c3b6728493dc79ce8d6a9332a865c113a5c9f47dd764 WHIRLPOOL e0c7ce425b239e3d0e48e91b1c6951e1c0e4dc800845b762a580e0ccb59c72f8a436ccf5ef42bda82cc181de6a4183d65c50212e0e02b14e6192eb9ec0ce1991
-DIST firefox-40.0.3-es-ES.xpi 383894 SHA256 fc6564877ca5404395624dbc62e22b22731134c69078e432ffd174fedac8a0de SHA512 abca71301a691f3ec6848b580eae13472a1df07b0a5663eb8bfdbaa7df3bd8b3aad30931a274871da0993dcd298c7b1e6907c1f439ccdd12d0067011f4a9d154 WHIRLPOOL d0aa827b6d112f9f9e247a269863cfee3dc1758e6320b712ec189a613fe4eb1ef71482b364104cd8d15dc2ef00817fa72963ea42db78dc506e70b9ad314d8d10
-DIST firefox-40.0.3-es-MX.xpi 472917 SHA256 de9c338485a5a32bf0e6b9a51fbc948b90006d8cc63e2a7303cda8adc5ed4ff4 SHA512 4550e1d9e6e1f41c76e8118421c51c4062e249c80cf0363aad47ee896af8c45f8a2153f7faf51e7c1ae2d7126edc11988bfc264a0ebe00e8799a2068f240a27e WHIRLPOOL a70c9a3e252c36d0c0cec1acc2b6538dc25447be80aade73fb206b67bb9e2ba062b0631c0f08af2cc527edd3a88baf89b00c5921cb02408454f386e767fced4c
-DIST firefox-40.0.3-et.xpi 457409 SHA256 679dcef606b9091e8018b0aaf40b0285a4557dd56e5dd7132b407d250fc76aa9 SHA512 194d189b77f91ab2ac25abfffe1e6d080c59a76747ac5792a3db448a0a090734b94b7de4f9c08e2e33fb90da009c9170dc1b5025a819cc20a63ff72eb34f1645 WHIRLPOOL 977aad8c0113602e6ee2f8a11683e1dd2e67bd8fd773ebbf4b9f737a8d06583845c278c156c370a38f64457ee0f1f04331669451d05910f0f49a729a57c8c666
-DIST firefox-40.0.3-eu.xpi 481824 SHA256 e33bac2ff93ae3760b95a3a176fd0cc9e1a402fa4f174c10e77e6797d8cd27ce SHA512 ef7af759aa1b7d0d5c20e2138501e668ffef018e4036162e15169f1f056458ff7a1584d7da7271ee66cb5f10019e65591c14ca1a610569275121f3018704ea3d WHIRLPOOL 20a22f93020ad0144fb5a18ce176c774629c646242485f3c5958732d4371a52b7814383fab380aa127e0d64c50ae689849de2140516b6182da0a64d94783cce5
-DIST firefox-40.0.3-fa.xpi 526972 SHA256 e2f4ff8871be1d3a779891ae857e17a45ce92d84405c274862aa125f080624bf SHA512 33cdf2a41efb2999f283dd495031a083660d11209af0b5e3c6861a72e709daf44016a4465c259155f29c280298d4d26082f19632d263f0252487ed3efcfbe344 WHIRLPOOL ddf1533b6559f41aa1097b7d1c44b8b0d033cfa318571c009bf547f3aab2b98c9b8d40f857295df362b39044ef8b07c5f0113577c59931ed91d0dc9de4a2c08b
-DIST firefox-40.0.3-fi.xpi 459382 SHA256 e62fad8b4b2d96fc3f35920c69a7529be6e275e6c63ed293a32acf8f5d2ecf66 SHA512 2bb5193e4a6f114c277126fe32875431c04faf2a5ee7e7db6d065f876292824fde6ade2f4b7f6a631818ff62e79200d2c61201906583c641f69e259d4d9a6d8e WHIRLPOOL 4a038fb2c1d26b306bb2489a48b043c64e431dfe24ab04fe29d853517a9c8060a19bc65e9ae1d0d738ba9a387cbb29e6282204069e677f2b3c1ce15f60d4752e
-DIST firefox-40.0.3-fr.xpi 477148 SHA256 d1daead0f4dddf6b06959e32f601128cb2764fd20a58372c1e587ae9b5f3a754 SHA512 7fcd921a1e40d4caffce7b7e7ff29cc1ffe76575319fe95c87bef7148e33d08fb6182cc143c70c7e02cef571e0589d126cbb435589cf301df4c112d3c86a9e12 WHIRLPOOL ae2050dafd3c890bfd5fc4b6ec6663ecdc30faa3fcbe44f8a5a5d5617bf9b97219bdb4140ba8ad442e1ec281d3edc165fb9fc68d86a7f726029f82c314c05d81
-DIST firefox-40.0.3-fy-NL.xpi 471145 SHA256 511e4b459e7cd38236ef10bebcded90f360a30f08a3594815e298e1383b17453 SHA512 19a9b417506066224c0eba057126f437f4bb43ba0c80840242ab75bc8be799204736664680cf4239fd4677504405c24e99cbf4d76687201429b92aab4812480a WHIRLPOOL 6f04debd89581475c6c5f27f36cff980f8207e78c566271715bb6597ea19db898cf969115f83e88dbb5145ec4850d06b0cb2dd2f52eb59c516926a97010a1c35
-DIST firefox-40.0.3-ga-IE.xpi 485536 SHA256 6a9f8f72d0664c29214a7746aa83ac51fc5bd9c77b56d4048cd92b5bbcfaacf1 SHA512 7ec768eafa26186259aa3d8636fd45c653ca072d0c60fcf4c2a5d21c419aaab99efefd793e8150db8058cfba9c51f449d83db97e67b19c18b7ad2510b20225d6 WHIRLPOOL 3e2746cd3508e8a2980cfd014e98dd3d7c0e879e1970918f52b5d0a647a2affba512927adf12a027e120b9b680af2ace5d52a2e5fd8de90935f282f0382c7760
-DIST firefox-40.0.3-gd.xpi 469750 SHA256 9dc62003d7501e9234145e269d22ae647b9d6309005346294d438977c72be322 SHA512 3c612ea6ce0309d1edbe365c14eb2053176abed66b007b42dcf618e7864e1ce63e2175086ee80e4efe18616bea82c53e9f1bae4c0d307f057b60665724dad527 WHIRLPOOL bf31e36aca956396ceaf2c74678875360f96f2aab08520bdebb78f7c52f1ada57e3ad320fb0558e2188332ecc249eb35d1f5b8447b7464b35d0273874d9895c2
-DIST firefox-40.0.3-gl.xpi 463634 SHA256 59437020832a39a3314e9c6654ea79dd8cad9cb997a23e34e83697c27b92b821 SHA512 f93e162af07efbfa432fda2594a32ecac379b7b00d7aaf46e74ae57bfcc2e69d6589cdd641097ff00b6a83906a85b95fcc5c0d605626f91b44b62e027fb1f63e WHIRLPOOL 23ef0978e262a642f9f027d3749cd5e0c6bf626fe5ce12ec39c7d6649ed9cd45ccc3389ad65edfeaeda5a4b344a7f54c3aba281947fc84cb7f74ae1eea818b38
-DIST firefox-40.0.3-gu-IN.xpi 498591 SHA256 9eaef0ede53a662b592d489ee033c60edf93292adefa3c4ea3d24b5eeaa99ccc SHA512 1b4b50c72757de5b1ce5aa128d82d457864f96b02da302c33e55cafa5d9e7df05f03695de1651434fd9cbc1fb04a2dd7c3b89d455f189124ed63562ea06e47ce WHIRLPOOL 36d8bf04454daf3373b8cb1700aad10e3d0d08b1e38f5a407884f46758546ab80032451f1cb80052da5ebb3b0a6720d4ab603e2d4214bdf1f119af41314ed614
-DIST firefox-40.0.3-he.xpi 497110 SHA256 e058879bdeab1c86fde3e07a7ceb589604c40aaa8319c16b709222ae305d1466 SHA512 28981f412b532e30558d3b5dde02356b38899885b44acbaf11764d2dbab1c986a219388eaf7cb5cf452c5e1d138b171285da0bf64217602f7638bbd664473178 WHIRLPOOL eef94cac28d4abd245de43fd9cb4610f5a84b1dc9908e2c25dbb0367e66c36782092b6bb24fcb07bbc3e1f6ecd8354e0140a88c0bf3f4b4c25ed5a519fa16233
-DIST firefox-40.0.3-hi-IN.xpi 519929 SHA256 edf700377b3d384aacdc8a6a85fb9cad7385593d0689d6b0474b9a81782bbf80 SHA512 3990680b63ace6c44d0fdd3bfd2f95f43ec285e9ec911705d0af2bd5ddfe7268aea431e54ee9e63ad72b784d9c1724de3716f4f17bc4b51406c131576f85a4ef WHIRLPOOL a175bbd55d91a0a2f62d010763e5ae970d5377cbbde228418382a153d12b35636f2a8fd67b6918b19409591d8017ded73c7d742dd1cc11253f542c334f63b64c
-DIST firefox-40.0.3-hr.xpi 494492 SHA256 4b4cf824c97d6c4992905a13bbe4c16338c0524ce8f1ed762dc87dd830e91a55 SHA512 ef482e2bcba3429001b9179fb7809d184a3cdda144000e4c88c28ac28766087a8a3967e0724882cf2824218cd668446c23dca919a42e0c969198ad5994b50759 WHIRLPOOL 55135c162115c97c34132ba6745755d4b838d77eb39dc794022eb90610241e0556581aa73a5e76daca949a142fac831dc77b0f71097e6f3aeabcc6e9cee7b64e
-DIST firefox-40.0.3-hu.xpi 469054 SHA256 f5d5313195455272dba460ee8b29f887ac0acddc14461c69dacde89b884b71d0 SHA512 3c42c1fad403f315a47e9be29a16165e188cefaa9a4119e0552b32fb188b2eb471b698dd393f0e6c7170c74072e2ef8da22ec6245e39a1c24d101e6f130a7d8c WHIRLPOOL be1be6524a79aa67bb1ac2ab61de059e6df39ed20d12f2936bed2b2724242ab03cb127fa729a79a02d87ea45cd4e64074f15d65a27130538ca07d857f4618bdc
-DIST firefox-40.0.3-hy-AM.xpi 550065 SHA256 5a3d889d467a8d13bbe87b2e9fb8baafea19ba6730ce514ea953f52fadbba961 SHA512 f2d6697214c86b8ad704be63d1469146ba6e0342ddad89c5707765788e5d5ec9077f61b2b19434ea7531b17849a673abb772badf568064d6dc3410a1dd71f255 WHIRLPOOL 4d21f47b40dc2fe6c11a07f553cddfd35e1ef88107eb72021db0653a14310b70fa5f92e3f476d18d4e7861d1ec2d2efcb7a569f616649801c6a92d4e01953660
-DIST firefox-40.0.3-id.xpi 446092 SHA256 996a53ac0c9d6c826b0403b1520a1e8ea50b77bbb952784695602b56b0e93861 SHA512 46f4644dcb665a7690461d7b71b2f1e05f3786387c306e8acc2f6f003916e0a67fec015c96b608a8d77409bcb6b0fda337a3c5fd4ad11fc047283424e7d97474 WHIRLPOOL ecf4d85a856a0260d0620386be7bafc929d34315750bab0e5326ea3c2296c0a4621522cc85af48662f5fe6f64e543ad9c434e25bf057c74438133ddcc74182e8
-DIST firefox-40.0.3-is.xpi 499894 SHA256 c2f79f33d52b4d0cee20990cc497727b3cc69b3afa5bc031176d3bfcc8aa136f SHA512 f26440bd51ff9a4a5c19b83c1b0d2db574586157bee1484bda4f26f7535beeba71f1bd5cb58cba1175d6058edbb75c0c88343d3d243522856f0eacbd0cdfd992 WHIRLPOOL 94264b409a1096ec08de89c6e09700a6209be0b0dba60635d88bccb6f7a7f6bbf9aa51fc025e6e3fc98a8363da86f3d13f03010e423ae759d2aba82abecb81c9
-DIST firefox-40.0.3-it.xpi 377833 SHA256 7f2fe994fd74847bbc5de393954a526e9c17cef5089e506a616247541684b9f4 SHA512 e185111aa2453be345616c96dbba26d57bd48de63ecdb9504668018744967798f0dc244964bef8e6d2f80a510e0728fb845f2318bcd886b3e8f161b83e2bf0c5 WHIRLPOOL 57456beb6faf2993671d98e26e899c3262f67d617f1725411a433d6a0d4e6330cf699a55908a4028ca1b7ffab54530e9a4535467687ec53df9321ea63dfe9096
-DIST firefox-40.0.3-ja.xpi 495439 SHA256 6e3f6870ff749e14cf22ad82bdefedbb2b152c802b86ab7f9b588da382f2c88c SHA512 b6c39d1dd5899358fd557f56fd5140955270918e30248782412449fdc56b9674ccbc0205d0b733e71cc925cf52e793691566fdcda7e889594b4c556d67899a56 WHIRLPOOL 497eebd0f7cbaab7861f0f7362980940f87ba2e202bbb97c69fb559c141d377eaa20e4519a08889ed6c4fd417df95e3572ffb3a89147d9ed0a6c419bb3c55ab5
-DIST firefox-40.0.3-kk.xpi 520131 SHA256 dde3b84aab92cadf4b30c279781907fdf12796b7d2a91d4fbc68b2220e267189 SHA512 d2396d646dc568caff24cd559b18d1627bdfd00e2d1edac810e83df2527f066040046159ddbd9bc4c65cc2b361dfbc673ae19d27d5fb3f614c083c98b212aed1 WHIRLPOOL 31bb6c5405e64b93b34b92b064e20e023ec2c88bdee121ff064e587575a451fc4d36102f6e0394702a55c699f95895b34f1e1573962fdbfd80a5f3e2e02c7ae7
-DIST firefox-40.0.3-km.xpi 578734 SHA256 c6c2e8c52afebd11fa20f51e0ab38ed7c0fa08f6f00c31ed8258c322343d2435 SHA512 ac77816042333b3aa2b4fd9d011bdcb2eeb502dc46b902287032aba2d7629b94b81ce1a6236babcd86fed82e2daf59986ec2a7e2c88cf15efcfd6a3d406166ac WHIRLPOOL 72e0f021f6c550dfc8f5f2fd960264577ce2464a154d942d5c1c44ec3597dbd34d5994a2150d907b46afab238252b1dc1b33795fe75b40778472eb292f324b09
-DIST firefox-40.0.3-kn.xpi 550864 SHA256 eb28a17c7c34dba3a4792aacaad8d4b25553ccc4114e4f87e7fdb0de7cccd0b8 SHA512 9866a7b35d45183c4f5e91b964bdcb66fb35a8caf3d44b3c679cf169a28df0b0369c59515821f86a1d65b452ca6fc91919e031594e21662759ddbb6cfcf76e23 WHIRLPOOL 451932082c045c5c5da971bec3e255664cacca6a5f378e7a8e58512c28f4629db310fe3e92e32bb31a1c56100395de40adca552eca7c84fc096957bc77629d2e
-DIST firefox-40.0.3-ko.xpi 476892 SHA256 ac39a4c8ebc3d5b43d00b788bdf62c3de4a6fec74a0f8906d3e6fd14f8f62eac SHA512 1c44206ad054e7c308e664cb29bc8e54d54df8f6de8cf596d4f4ecdceec951c040e797149fb1364fb2b8d4b6dc45c02b7f9070ef36f95a552efa33e326bf11fc WHIRLPOOL 99269ee86ccbb9d808fbc5385ab1f8cb92d4754aab0bf2ff820ecff01931f896aba344cc7541934b3a763d43563aa94fc8fad5a8d5d07b92d917a0f68b347a3e
-DIST firefox-40.0.3-lt.xpi 502211 SHA256 d1c483d45096b8fb00d24057948197d4413c545b0e2a0cacf609fbfbb1f18bad SHA512 c42f69cb23f7ce428592599f87a32e26d7d6f457d7e662dd51ddd9f98ed8ef556ea88ef5392d2597930696335528af3b1b7108fd1f20b89e178adf5f3f10f623 WHIRLPOOL efa846f93260c7ffbb00401ce4103d023998755ca162d442b886fabf1b33ab0f5f898345593ac12142256b138195dfbe9569ce91a93f91abd25889b3dc7feb75
-DIST firefox-40.0.3-lv.xpi 482486 SHA256 1c5a49e3f40456c1a99a60376ec697a19ff82f25b79220df56e8b1c8fc5f9bfb SHA512 396ee47f495bf3fbc49c83ca0e1e774472a3bea88e8698e9e4328117a724fc2d71b4f243efecd2d84bd64f30b937a83610afdc20a8dee8f02ef327873ec024e2 WHIRLPOOL 71659d1c2e2e859c6810ae0bbe34580304f13652df8e2afb783f4817410042609efa98ca418384f901a7c4d638837341f6653bb116866babf65f4df17483015a
-DIST firefox-40.0.3-mai.xpi 527990 SHA256 ff0e82f02ddd321ecc7d0f07a5f5a9b09ed67f27381dc59595dfa27a818ed6ac SHA512 7bd2a2b59701c6bd936e4d1dabeb2afed4b012cd2f0934d5d9dc2bcadc8612b7ae75dd7394dfe8b9b8229d9c2f4f7f758d0e601795ad710bf845e3e53c9c6bbc WHIRLPOOL b076313ce20c8741ac59f5567140f8fcbd9568d441d4afc22f33886d9a8a72c853771e56f2e31d6462ea5542c252e2b27696673926cb88b6a164a7ab227766c5
-DIST firefox-40.0.3-mk.xpi 542563 SHA256 a8b9dd7940f6c269dbd428166bea9e1e71dd99de25756bf0ddacfc2ab2f71549 SHA512 420874421e4564e252c048f135a8a2eac127f86d433891cf7324d2e88567dc1d5ee7649657f0e7f326d8f39b2b26f0b5c3d78e54f653ee5a2ea04d6e0105fc95 WHIRLPOOL 30d8fcfc1c21427f4e49b05d466305b88975a46da584497e3fd1d14c0f3eefc5e5481ff0d022d1ab9a365e44347897a8db4c0ec41d92875745d5db55b7afd849
-DIST firefox-40.0.3-ml.xpi 540383 SHA256 f3d5b491a6c1d664ae1cf0717157e775a73049f457664ca4e131aa851ea02d2f SHA512 dd2f9e371f3629b5be9646b5e3392332627f01c42e4fb240dc56a3b12504d7fafa84cb20bb4d4537b2c5786c9abac6b2396dc45bafc99706a543e7197d65f981 WHIRLPOOL c06613e12aea8395ed4433afbf7c8101c29ce66fedef680cfd4c97467cf98f0ee9865956157a3f06c61a2c0ba1386e1036029793732624fc8da2a174edf318f5
-DIST firefox-40.0.3-mr.xpi 522286 SHA256 23bed23751ed673b6211d1421405b01814e895b341977bbfbcda146f263585a3 SHA512 516a0644e25a1c0aed080300aa9240d9f811de4572c50aaacd2281c7282c96738f08faad2bd706ee1b097d77c862e3af422ac95707632384d652272dea667801 WHIRLPOOL e5901bc84b583e35719df9f9415960785c8b108fd1482c90829be6560e4eb89289dd3f8a818f815202abcaa09001eda393e1ff6e5e6a7b54dd18157934b7c3cb
-DIST firefox-40.0.3-nb-NO.xpi 458941 SHA256 704280dc977a7d32c20416f2e9d7207e7ea05a0deb19368019b3120ddf480bc0 SHA512 31fd2c8bd508d001822c4786d7d05134d77e5d9f44deb7e3d5e32077c3ca050e9b541ef650c891de78dca399b0e6ddfc680af28cc0e2608bc1ddd1ce577c0cd1 WHIRLPOOL 8813a1200f6113454fe17da47afc998b49ba0216d6b35cf4af92b7c699bfee85d005a642165a70cb152e8aa90396df3f9d8b931a2e5bce7247183582e575b911
-DIST firefox-40.0.3-nl.xpi 458630 SHA256 f53d67db63953781fda06b72d3424acde9efdcf47e027316c27189ab5d1ec043 SHA512 2a20a4e974dc6a63fe25ed22d2d2a7f0ce0174741d291b82cca9d344beb482fd5840cfb42acb0c63084eccf278ae4e3a479e2eeec903ff76eb95beb9994a11e3 WHIRLPOOL 1705f7dd42f482ea704ceb245b183db481631679d8c9fc99813c553027cdddb550dadcca17b798d3fb1e1a703ac323567676ebb42a482a67c9dc2c5136d26086
-DIST firefox-40.0.3-nn-NO.xpi 453068 SHA256 362f3f09a036d190156293ffee2d5a548fdb65fb07618bc2f8b5dbf40c6c831a SHA512 02e202956ab80c047384b3d112d0515d5a043e9c7691334842cd82f4aca87130232039bc1adb55d8ae30b15b8e312e16e674369b72b90baaaf2819efc575d4e8 WHIRLPOOL 6f7858c7e613ea0ff197880bac816829596e24ecc1cddd3d689f1e7ea05d9e02507f30ee7fb99c8d499a33c57ac72a498b71e27d5a26b1cf2cd9060bfd928324
-DIST firefox-40.0.3-or.xpi 539212 SHA256 37d119640c4095e3afa53c1df2ca7b548f68793f281894ca47d7457688f55373 SHA512 59dae1f3beb901b3bcb5384d19e24ec4baaa046695ebf7a9cff130430819287921dfd22fc3ece1e8145069c7cc95bd8a0370652d43fd1e07c2701d80f3e08062 WHIRLPOOL 95707a13ec0902fbcd3833674ac761e04e3b5379e0f9886645b2802847e8c2a1767b8d68081dfd70328285bd423277c85ca38e2f7f1f356d051af7db72aa18d8
-DIST firefox-40.0.3-pa-IN.xpi 509122 SHA256 d70277e8b7d3805bb50ab1b6bb69b55dd84c871c567d7484b6c8a095d58730ef SHA512 57e783d06c7aa71ace289c8996c3c9e71c1691ad766b39de9e02136c20fe2d73cd2143cdaf8bd5ce841211d3c7b7c37faa602cb640b86c385e00081dadfa296d WHIRLPOOL 4250a9073cd3661b29084478f522d61206cddb58f83f37dbec9e2180564059b99ed99788d53971c72f81890855ef21d15242e3ea13a6b8388bb3cfe7ea9ec2a5
-DIST firefox-40.0.3-pl.xpi 415191 SHA256 4dca0edaef047cd54689e2ea4296598be5a86e098efb5347ad6fd5e307b6f213 SHA512 72ac25808a0bda95b9472c3a2a6bbfe0531d07b085ba7c298d8b0f2b37690c75b4e58b245bae35a63e55fbb0f7d023c20ae7411890c2b57bc8f911fd09744bfc WHIRLPOOL 5e2903ef36ce31961aaab124e3c7b2c6e13483c7dbeecfdc4d9057409641b47ee654927072221b677b2ab75b866a6d5ce086d1a0143f9c23b0af1ea19c90f169
-DIST firefox-40.0.3-pt-BR.xpi 475443 SHA256 419ebf4fc0d8d23b17b6ff0b971d18f0b94b33267d1bbbc6b4437fb6c3c3150f SHA512 efbd6f0a43b47c29cfec38cd0daccc1ffaea6f10feb0c270a4dd303faadbe52ddb00501e302a81cc86651e08c7336c1fe07661f689b380a96fdbcb70b62b61f1 WHIRLPOOL 96a2c82b7270bf723e579308cc3abc99e1762ea024db85ce3102a5497fa5d5dd685ae21fa82d7b9c88989703d65c8706e23dcfb7be1fe07086f5fd546ab7036f
-DIST firefox-40.0.3-pt-PT.xpi 456035 SHA256 1ba5b9fee35b1d35f4e7f4363056d379c016f1dc60f7ea03412bc29623ef60fc SHA512 5439552d25688eedb21b0391e755ac31f180160811c167fd27478129abe2f6cddc42354145d8bee5cafda713ccad77a041bfed9ddf8c15415cbd496c4f51f7d5 WHIRLPOOL 87a110be4a8add81f0fcbc1fcdf80681ed106db7509f1dcbd814d63303f7250c323b2263a8680381c7fb9b65b37fc258547505438a71d6225b12c50c4301acc8
-DIST firefox-40.0.3-rm.xpi 461466 SHA256 164438a83d9edd555aa39a4fed844c2520351b1ceb6e3a38786c89ff085acd57 SHA512 e6acb90fd24ef4bb252dfc167e3c84624a0ceb1bdc02152235da429356c19c81b2cebca2277845a45913ab40ded736cd79cf2e0b4f66e236e25b166ab0cae6f3 WHIRLPOOL 2b6dc755fd860e682dbe1cd7f0dc2b1aa32f7d227433aa3e3c9536041e4d5b4e4ca9611a28d0f6dc85409cbf498bcba77d993c5f246468d14ef716bceabb976b
-DIST firefox-40.0.3-ro.xpi 509716 SHA256 e6b69e1f86dfed31a103ae5f8b5c5bdc39abae0e10826177ef8d9118e37628ce SHA512 210e3a03eda8fd7a5586db0e89ee8730123487e6db79cac2294234f9e4679c045c026b171d35c57573a2535365041716f1f838e572c7dfcb7a59db4bff0795a9 WHIRLPOOL 26e5c4167cab6c3672d60af6594e4d200be4b9e077f022ace6d77cdea06e9db7a310a4fff5cd278dc09379051d10f6ad8992043a59b9cadb4739841cc52c2d9d
-DIST firefox-40.0.3-ru.xpi 425657 SHA256 2eb09947c80d43bcca12e30ff4320deb1f02dfaad8aa94f746a2088d362c8252 SHA512 25c0a064ecf34f9572bde6b9336e147e316384d735a747e6582ecaaf015d358d3ff801484f23a3c64c421b7ac92c7283e976dd1f025f397b3b6cdbec54ce912b WHIRLPOOL 626ed29554181adb2e60fd05434b170cfcfb7d05079ceb447bef584fa051432f991dcca5e7da759e7942f5da70cfd748290f9fb808bf1384381bd29fbb1b9626
-DIST firefox-40.0.3-si.xpi 548768 SHA256 a3fdc5a4aac6c0e7ded4cfa6a3bf0d84545a44b064c5df736422bc41923e91a0 SHA512 443e2929c4ff6d2d93e6b082eafe4381f37ece515aae8e907e10747c6bea07930b4d284445a6bff25bdc85ed43da73e8fd011b10dad2c8644618adddfa702377 WHIRLPOOL 94af62c8960594b5b3b5291b9e46af0769a0a7d36bf7290dfabfa61c8875d0d89e0e5242c14c91c10418932a1f1d512562e6aa2fd7e2ba2bc23d1b605f417310
-DIST firefox-40.0.3-sk.xpi 485121 SHA256 c379a93e531c2c412aa2e98c06a645c8e0b26b24d80d988966e23b2126c71358 SHA512 32156fde1640f06d5471991252f55303bba80a7e49cc0af141b91bdcf929eeaf081ea30f57bf8cdc1b4b78e2209b99b613387ff2ca84263c49153526d6b55f28 WHIRLPOOL 20457f8bd2276f3092835d32224d38f0ef1752886b20ce47627492b4342015f8aceea73ee758fdc2b0c984a7344e5f4c0abbea597ec9c78588ad23db3ac6e61d
-DIST firefox-40.0.3-sl.xpi 457940 SHA256 8fd09f59342a80843e53c34b0d9d9ca5c347a08c64beccb9386f5ba7cc3637c0 SHA512 643fe3898d52df0069ed9f70a3959013928f33e2a72152599b39b4a40e8f368997c77261f60ef3dadf9b5187ca050d3963af80d43fe7c3b5348a4d33595e1e7e WHIRLPOOL 9365288d0fbac809b53df80e127cdc756de5b2ea23a1863604f03b6bacfd412d5d9af606098affa8384e84c0696af9e1262140ed869d89750b48cbac8bf806e0
-DIST firefox-40.0.3-son.xpi 465948 SHA256 d0265a35389b89f79fe8a92af7eef67160edfc21ccaa9c68c0b71c1bb7d1c8bf SHA512 d3400f88f529c525fa03d9315efcaf4a889d3a531382991a5dcb195ef607d7c235d74c79d439851b37c3e4b358c617cefb4167a7e7470bbade008bdb2266df5b WHIRLPOOL f2137f0dd0d791075184306303f92a387ea528b5a84b7dd0bcdcaa0f622efc6d0820b1c833dbac1ec09bc9ab0de547ab1fa40d6cea21c4d17ddb4f1934b1283c
-DIST firefox-40.0.3-sq.xpi 501445 SHA256 afd42e2a29f28d6c601d962acf709b33a010ee2a7bef4b4e3bcbbb42354cfc07 SHA512 9fbaddb40b3ba2fc0558b66b762c9624271310759dd576a8800618361d298abc3c962ee9b6701b46e3f7c7b2e6061733748517ed554308566578c3cee5c5873c WHIRLPOOL f3ac4ccde5cf8f5e6794e0cc7d9e7e4bdc2b322481c3d9c2098f072abc575406f3c81d69a7e233c3a0391eb65191b87b6356fcb39f8c1860867479345794fc62
-DIST firefox-40.0.3-sr.xpi 494736 SHA256 c5981e3c19480f1fd3c9a4a952c734bf1b300d160fa03f05c56a1622b4676978 SHA512 5e1b58394367f9dfbf9f1390204ef2450617eda6308410e8c0fd057999c5dddff018e738efd1ebda885f7345b05b818c2c51d6574ac587cb0adb63f9a3711856 WHIRLPOOL 8408e2d83710e3a079dd2306771c9481ee83eef5a7f8e6d3864adf8bf5666dcae35585ef71544e82ced7da6de7fdb3ef88c3c29cc08a7814e253df93216e2d21
-DIST firefox-40.0.3-sv-SE.xpi 467791 SHA256 fde03b6f0869804b7624667b01d468503e9cdbc22c9112cef781760712a98298 SHA512 8e19ff0845c9d9eb33b75e5d07cd1ef57e3ca29efa58534e5c214f2d2f825541a8a34a152415091cb81f5cfdf8d4df848982e539f8bfe3e53fe634a95d498f76 WHIRLPOOL a9b6ec717bd6b514be306f93165c0ec3614745fa1ce90ec8e9776945b6ff9d6fb89e2c9969a2561c74ca615b2860e6d519137a2ff24deb26ce63d8c61d77c250
-DIST firefox-40.0.3-ta.xpi 521801 SHA256 18e0e398117e2b1b99431d534c8b709113173b4b57abfd61f66f216f8f7bba11 SHA512 dd08735106616f3b95fd8f4cfef595813f53d260efaf4da840f36e63e955d259a203f1eaa20827ccdbc73f2321885eb6c5bd65f570e58bf75a9347561fc2209a WHIRLPOOL 480d24a53d07a6deea90b4d69e7e09d4a8b22f10429611f8c33d5baf05bfef47ad1f722389311e7069dcb85bcfb1b1cc0c1a265767525e50d3ffdcac10e9a2ba
-DIST firefox-40.0.3-te.xpi 540972 SHA256 92543ca8942593ebc6c2033832136b411fffb3da5278727f766995245ecb6957 SHA512 1645be5a8a8f9d3ea6a8f45f41d7d21516d2af44538ee5df991d74e8f3315ce29cc70271eb43279d83da28befc32c900e7df970b5fa8fdff74356ee4eaf0cb82 WHIRLPOOL 74d74bcb71821cf5731bb19ffc2ca551546d8765472d2f0afd34d0e0f28e58ea39161d2bf67837632085fae0c6594ce6044fc918cbaff31c26d86d5fc8ae6cfa
-DIST firefox-40.0.3-th.xpi 550265 SHA256 24dcadec477da92d757f72598b434a1e59613681ff9bbeca2530d7b28d7227e0 SHA512 7cceb9a96b9317a125e9d0bb3f5e3405f451cf8417d7d1ba99edc873c868a1a5378bb3574be1c7df914ea0d90431ef2df01805afaa111055f4e053b31c420c05 WHIRLPOOL 6807b1880f2551e901926669dfebd304ac62bb3a2965622af2d918185da4054205c51304a1d234c6b45111441d12da077becc1bf04e57d02f3758ae33cf37dbc
-DIST firefox-40.0.3-tr.xpi 496254 SHA256 e0ee75872b49c201eb4b35f4e8bb877255c9b1af010641b3129672a409e64c77 SHA512 8868868a53e61a0745b4ccdf28d8a78016748df74c66e83eceb1be80f56add1b7aa141d872551171e133b07d956e673e1fe100e2d4470afea7f390c066f75b71 WHIRLPOOL 2a7bf357fe108da64f676fcaeb0ce3c6c7b8dc34c03370f40ea1db72d8d7a1ca80f14930e06646fb21185e51a76c27eae3743beb2052504facdadc4a293ebb0e
-DIST firefox-40.0.3-uk.xpi 511145 SHA256 67ab7024c3c29c6ce7e054a9c65362c942557aa636ffa673d05485ab717804fd SHA512 9ca5fb268983712f814baaa71ea16c65fcae8bc2a2ca4ec4dc45ec72a26f1fcf9b29355ecefe01ad331d6f5dcdff64f48160abeebe72c6644789167c4663487c WHIRLPOOL bc1de4395c02c6180a69dbd188dee707af17d607d7b44fecf4143a758bb83c02b54be327555ba2d9889e65e7e1b317407b0bbeadd44330e0969ccd3978d094c0
-DIST firefox-40.0.3-vi.xpi 481059 SHA256 f64479928fd58ebe2bff6d09ac26e54e3f56db7b37a465dbe4e6078a8989a117 SHA512 5fa4df0b9283446f82b317da5d2b2ca709795f6929d8f7344cfc97a46d41d6b66c195b3c0b7406c92217083e6176f9976d6d158ef7fd00a0bf152cbf66c84f12 WHIRLPOOL c9f61117acafc25cc58b86b11d0c1f332dd74db6d5ee98702893625f948f1ae1df855ce1b15b7804d0e2d8017465a2d469c37b5bb4e0c2c1f5a78a03d506cd73
-DIST firefox-40.0.3-xh.xpi 461039 SHA256 54948f041df5be3c074ba2bf2bf7769fa3b45751038dd61b94cf3fa09e0a9d72 SHA512 24cf779a800eb187d68f84b6e8fbabebcaba2787948fd7c2e6b5970a8fe72a6b25b8ff572246d254595dd1097744d079e46629b3ba0a7165b92b55f5b0f07482 WHIRLPOOL 93e7750fd2be27785470d72c52366ed3c21754cdd58fa1a955d991dfa79aace5023e339f53e7c4ad51500805a97ca6c03d9739ae9f6b8f046d57bbc648e5e91d
-DIST firefox-40.0.3-zh-CN.xpi 504409 SHA256 86346005557d217110e624e1d98037a5cf634228b4bd42b38fb2b9ba38411999 SHA512 9f8cdb81ec5851a6b5810be3c5882a24fa5e93b95889e453e97ea7e8de137470e9cb9717b40ee07ae9e930bbe2f5d0c41bd8692220a0256acf6c004909d4380e WHIRLPOOL 4687a90af21051baeb88e0d02cf52d8142d08111f226dbf7a3183408061aee91c7e270d8a7d72bdc20e1b517a81171623de96fa7a00f011d6f05177ba96b176f
-DIST firefox-40.0.3-zh-TW.xpi 491275 SHA256 36be93979c452610d01adafe926b05dd11d7e92211cea9f10bc697b70acb0a52 SHA512 2173044f0964c5237fb0092d0ac39abd175cd408ded2fe5724d72114e67c8a1be4b4e22312c31864cb45af34992bf4bacb104d2cf5a057dcb2e1b544e897d6a1 WHIRLPOOL 3abe8575b8b962b380d915efae52afcdb1cb3a55ae7e5a13c73041889868745d08742c43e13b9145333c0dd0a1c80228892a195441d00d4d94c2bb4d61552985
-DIST firefox-40.0.3.source.tar.bz2 178261482 SHA256 56ab32bfa070a1d86d356ad14ce74252b38dab9307948de8e4a3a2b7f3f22634 SHA512 8f0f3f3a38378b4a5c30e2a41888564f9eed3e8ec3571654849afbd8e8b46532777e15e148eb4820d14647b51adadf86ed77d80b359ebb289431ea31abfc5748 WHIRLPOOL 7816360081c5767b35da1629e9e08c05e645c53dcaad017bdaa5f30b4b321390adeb05d26621131e54a95f8ad1cf9a7a81d1387f430d072a2c92c772e871ece7
 DIST firefox-41.0-af.xpi 486121 SHA256 9a81d311727c1b393eb5a1d420c77a26cc01327b3c326a935b8b31b426977ab0 SHA512 7360b653fba4002ff08e19f955947ac4e5a581ddd93174ad468d1c53caaccf48596a9cc0d50455d2eaace12d8384955c50c23a84423221153c747b85f93a6d91 WHIRLPOOL 9766bc2c596e70f3bd7a672ba534c29d81aafa6f9f8f123d4dfb6ebb379a3767700a992142186840beb764046d77f4ee2fb5121442379830b0b99d0f53bdb485
 DIST firefox-41.0-ar.xpi 521159 SHA256 bb9ee3d703c10f9bc3e12e9f62ea95511955239a20fae81918f0c0529685baf8 SHA512 22a3e417d2cd1ff62e6e05929a1a6318074d3328b57abc34ed5ef07a3b634715d8b8a60092d7548c1ba34f1a63aff4213621b6cf0928ac52b28669ada270b01b WHIRLPOOL ce8a9a7dff478541577d52f84f6d0fbab59cde374e03878500b3976a2336b33a81f10e72d9e4fafa0a1d40e052250823d377973ee3e678c74fad8668f1a1c2de
 DIST firefox-41.0-as.xpi 511219 SHA256 2bb52d1a41ca3955a460f0f2d48efe3e2c99ab579d72f1c183faed70403bb869 SHA512 10f501ad24a4a94b154130f8edc1535e4cd8f0445255df7efe79daa5e0a57225a7a08709f94d6420076a9b417cf5eae9908fed34867eb2387eb86aaeb62647e1 WHIRLPOOL 7365bb0e4bf7647522cb3406a48c651b03479686583dc99d4f2ddcb05e863ea567dc95d2b0c0686442c794b7cb817c99e3b9101d976c2f0105d219ab7256a4d1

diff --git a/www-client/firefox/files/firefox-32.0-hppa-js-configure.patch b/www-client/firefox/files/firefox-32.0-hppa-js-configure.patch
deleted file mode 100644
index c37edda..0000000
--- a/www-client/firefox/files/firefox-32.0-hppa-js-configure.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/mozilla-release/js/src/configure.in
-+++ b/mozilla-release/js/src/configure.in
-@@ -958,7 +958,7 @@
-     CPU_ARCH=s390x
-     ;;
- 
--hppa* | parisc)
-+hppa* | parisc*)
-     CPU_ARCH=hppa
-     ;;
- 
-@@ -2009,6 +2009,9 @@
-     AC_DEFINE(JS_CPU_MIPS)
-     AC_DEFINE(JS_NUNBOX32)
-     ;;
-+hppa*)
-+    AC_DEFINE(JS_NUNBOX32)
-+    ;;
- esac
- 
- MOZ_ARG_DISABLE_BOOL(ion,

diff --git a/www-client/firefox/files/firefox-38-hppa-js-syntax-error.patch b/www-client/firefox/files/firefox-38-hppa-js-syntax-error.patch
deleted file mode 100644
index 719732e..0000000
--- a/www-client/firefox/files/firefox-38-hppa-js-syntax-error.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-# HG changeset patch
-# User Ian Stakenvicius <axs@gentoo.org>
-# Parent  2ee9895e032c492705adaf213706d4260ca172c8
-Fix JS_CHECK_STACK_SIZE define for stack-growing-up case (hppa)
-
-Upstream bug 1189011
-Gentoo bug 556196
-
-diff --git a/js/src/jsfriendapi.h b/js/src/jsfriendapi.h
---- a/js/src/jsfriendapi.h
-+++ b/js/src/jsfriendapi.h
-@@ -15,17 +15,17 @@
- #include "jsbytecode.h"
- #include "jspubtd.h"
- 
- #include "js/CallArgs.h"
- #include "js/CallNonGenericMethod.h"
- #include "js/Class.h"
- 
- #if JS_STACK_GROWTH_DIRECTION > 0
--# define JS_CHECK_STACK_SIZE(limit, sp) (MOZ_LIKELY(((uintptr_t)(sp) < (limit)))
-+# define JS_CHECK_STACK_SIZE(limit, sp) (MOZ_LIKELY((uintptr_t)(sp) < (limit)))
- #else
- # define JS_CHECK_STACK_SIZE(limit, sp) (MOZ_LIKELY((uintptr_t)(sp) > (limit)))
- #endif
- 
- class JSAtom;
- struct JSErrorFormatString;
- class JSLinearString;
- struct JSJitInfo;

diff --git a/www-client/firefox/firefox-38.2.1.ebuild b/www-client/firefox/firefox-38.2.1.ebuild
deleted file mode 100644
index 2c1fe1f..0000000
--- a/www-client/firefox/firefox-38.2.1.ebuild
+++ /dev/null
@@ -1,397 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-VIRTUALX_REQUIRED="pgo"
-WANT_AUTOCONF="2.1"
-MOZ_ESR=1
-
-# This list can be updated with scripts/get_langs.sh from the mozilla overlay
-# No official support as of fetch time
-# csb
-MOZ_LANGS=( af ar as ast be bg bn-BD bn-IN br bs ca cs cy da de el en
-en-GB en-US en-ZA eo es-AR es-CL es-ES es-MX et eu fa fi fr fy-NL ga-IE gd
-gl gu-IN he hi-IN hr hu hy-AM id is it ja kk km kn ko lt lv mai mk ml mr
-nb-NO nl nn-NO or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv-SE ta te
-th tr uk vi xh zh-CN zh-TW )
-
-# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
-MOZ_PV="${PV/_alpha/a}" # Handle alpha for SRC_URI
-MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
-MOZ_PV="${MOZ_PV/_rc/rc}" # Handle rc for SRC_URI
-
-if [[ ${MOZ_ESR} == 1 ]]; then
-	# ESR releases have slightly version numbers
-	MOZ_PV="${MOZ_PV}esr"
-fi
-
-# Patch version
-PATCH="${PN}-38.0-patches-0.3"
-MOZ_HTTP_URI="http://archive.mozilla.org/pub/${PN}/releases"
-
-MOZCONFIG_OPTIONAL_WIFI=1
-MOZCONFIG_OPTIONAL_JIT="enabled"
-
-inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils mozconfig-v6.38 multilib pax-utils fdo-mime autotools virtualx mozlinguas
-
-DESCRIPTION="Firefox Web Browser"
-HOMEPAGE="http://www.mozilla.com/firefox"
-
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ppc64 x86 ~amd64-linux ~x86-linux"
-
-SLOT="0"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-IUSE="bindist egl hardened +minimal neon pgo selinux +gmp-autoupdate test"
-RESTRICT="!bindist? ( bindist )"
-
-# More URIs appended below...
-SRC_URI="${SRC_URI}
-	https://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCH}.tar.xz
-	https://dev.gentoo.org/~axs/mozilla/patchsets/${PATCH}.tar.xz
-	https://dev.gentoo.org/~polynomial-c/mozilla/patchsets/${PATCH}.tar.xz"
-
-ASM_DEPEND=">=dev-lang/yasm-1.1"
-
-# Mesa 7.10 needed for WebGL + bugfixes
-RDEPEND="
-	>=dev-libs/nss-3.19.2
-	>=dev-libs/nspr-4.10.8
-	selinux? ( sec-policy/selinux-mozilla )"
-
-DEPEND="${RDEPEND}
-	pgo? (
-		>=sys-devel/gcc-4.5 )
-	amd64? ( ${ASM_DEPEND}
-		virtual/opengl )
-	x86? ( ${ASM_DEPEND}
-		virtual/opengl )"
-
-# No source releases for alpha|beta
-if [[ ${PV} =~ alpha ]]; then
-	CHANGESET="8a3042764de7"
-	SRC_URI="${SRC_URI}
-		https://dev.gentoo.org/~nirbheek/mozilla/firefox/firefox-${MOZ_PV}_${CHANGESET}.source.tar.bz2"
-	S="${WORKDIR}/mozilla-aurora-${CHANGESET}"
-elif [[ ${PV} =~ beta ]]; then
-	S="${WORKDIR}/mozilla-release"
-	SRC_URI="${SRC_URI}
-		${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2"
-else
-	SRC_URI="${SRC_URI}
-		${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2"
-	if [[ ${MOZ_ESR} == 1 ]]; then
-		S="${WORKDIR}/mozilla-esr${PV%%.*}"
-	else
-		S="${WORKDIR}/mozilla-release"
-	fi
-fi
-
-QA_PRESTRIPPED="usr/$(get_libdir)/${PN}/firefox"
-
-BUILD_OBJ_DIR="${S}/ff"
-
-pkg_setup() {
-	moz_pkgsetup
-
-	# 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 \
-		XDG_SESSION_COOKIE \
-		XAUTHORITY
-
-	if ! use bindist; then
-		einfo
-		elog "You are enabling official branding. You may not redistribute this build"
-		elog "to any users on your network or the internet. Doing so puts yourself into"
-		elog "a legal problem with Mozilla Foundation"
-		elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"
-	fi
-
-	if use pgo; then
-		einfo
-		ewarn "You will do a double build for profile guided optimization."
-		ewarn "This will result in your build taking at least twice as long as before."
-	fi
-}
-
-pkg_pretend() {
-	# Ensure we have enough disk space to compile
-	if use pgo || use debug || use test ; then
-		CHECKREQS_DISK_BUILD="8G"
-	else
-		CHECKREQS_DISK_BUILD="4G"
-	fi
-	check-reqs_pkg_setup
-}
-
-src_unpack() {
-	unpack ${A}
-
-	# Unpack language packs
-	mozlinguas_src_unpack
-}
-
-src_prepare() {
-	# Apply our patches
-	EPATCH_SUFFIX="patch" \
-	EPATCH_FORCE="yes" \
-	epatch "${WORKDIR}/firefox"
-	epatch "${FILESDIR}"/${PN}-38-dont-hardcode-libc-soname.patch
-
-	# Allow user to apply any additional patches without modifing ebuild
-	epatch_user
-
-	# Enable gnomebreakpad
-	if use debug ; then
-		sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
-			"${S}"/build/unix/run-mozilla.sh || die "sed failed!"
-	fi
-
-	# Ensure that our plugins dir is enabled as default
-	sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
-		"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
-	sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
-		"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
-
-	# Fix sandbox violations during make clean, bug 372817
-	sed -e "s:\(/no-such-file\):${T}\1:g" \
-		-i "${S}"/config/rules.mk \
-		-i "${S}"/nsprpub/configure{.in,} \
-		|| die
-
-	# Don't exit with error when some libs are missing which we have in
-	# system.
-	sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
-		-i "${S}"/browser/installer/Makefile.in || die
-
-	# Don't error out when there's no files to be removed:
-	sed 's@\(xargs rm\)$@\1 -f@' \
-		-i "${S}"/toolkit/mozapps/installer/packager.mk || die
-
-	eautoreconf
-
-	# Must run autoconf in js/src
-	cd "${S}"/js/src || die
-	eautoconf
-
-	# Need to update jemalloc's configure
-	cd "${S}"/memory/jemalloc/src || die
-	WANT_AUTOCONF= eautoconf
-}
-
-src_configure() {
-	MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
-	MEXTENSIONS="default"
-	# 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.
-	_google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
-
-	####################################
-	#
-	# mozconfig, CFLAGS and CXXFLAGS setup
-	#
-	####################################
-
-	mozconfig_init
-	mozconfig_config
-
-	# It doesn't compile on alpha without this LDFLAGS
-	use alpha && append-ldflags "-Wl,--no-relax"
-
-	# Add full relro support for hardened
-	use hardened && append-ldflags "-Wl,-z,relro,-z,now"
-
-	if use neon ; then
-		mozconfig_annotate '' --with-fpu=neon
-		mozconfig_annotate '' --with-thumb=yes
-		mozconfig_annotate '' --with-thumb-interwork=no
-	fi
-
-	if [[ ${CHOST} == armv* ]] ; then
-		mozconfig_annotate '' --with-float-abi=hard
-		mozconfig_annotate '' --enable-skia
-
-		if ! use system-libvpx ; then
-			sed -i -e "s|softfp|hard|" \
-				"${S}"/media/libvpx/moz.build
-		fi
-	fi
-
-	use egl && mozconfig_annotate 'Enable EGL as GL provider' --with-gl-provider=EGL
-
-	# Setup api key for location services
-	echo -n "${_google_api_key}" > "${S}"/google-api-key
-	mozconfig_annotate '' --with-google-api-keyfile="${S}/google-api-key"
-
-	mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
-	mozconfig_annotate '' --disable-mailnews
-
-	# Other ff-specific settings
-	mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}
-
-	# Allow for a proper pgo build
-	if use pgo; then
-		echo "mk_add_options PROFILE_GEN_SCRIPT='\$(PYTHON) \$(OBJDIR)/_profile/pgo/profileserver.py'" >> "${S}"/.mozconfig
-	fi
-
-	echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
-
-	# Finalize and report settings
-	mozconfig_final
-
-	if [[ $(gcc-major-version) -lt 4 ]]; then
-		append-cxxflags -fno-stack-protector
-	fi
-
-	# workaround for funky/broken upstream configure...
-	emake -f client.mk configure
-}
-
-src_compile() {
-	if use pgo; then
-		addpredict /root
-		addpredict /etc/gconf
-		# Reset and cleanup environment variables used by GNOME/XDG
-		gnome2_environment_reset
-
-		# Firefox tries to use dri stuff when it's run, see bug 380283
-		shopt -s nullglob
-		cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
-		if test -z "${cards}"; then
-			cards=$(echo -n /dev/ati/card* /dev/nvidiactl* | sed 's/ /:/g')
-			if test -n "${cards}"; then
-				# Binary drivers seem to cause access violations anyway, so
-				# let's use indirect rendering so that the device files aren't
-				# touched at all. See bug 394715.
-				export LIBGL_ALWAYS_INDIRECT=1
-			fi
-		fi
-		shopt -u nullglob
-		addpredict "${cards}"
-
-		CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
-		MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
-		Xemake -f client.mk profiledbuild || die "Xemake failed"
-	else
-		CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
-		MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
-		emake -f client.mk realbuild
-	fi
-
-}
-
-src_install() {
-	MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
-	DICTPATH="\"${EPREFIX}/usr/share/myspell\""
-
-	cd "${BUILD_OBJ_DIR}" || die
-
-	# Pax mark xpcshell for hardened support, only used for startupcache creation.
-	pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
-
-	# Add our default prefs for firefox
-	cp "${FILESDIR}"/gentoo-default-prefs.js-1 \
-		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-		|| die
-
-	# Set default path to search for dictionaries.
-	echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \
-		>> "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-		|| die
-
-	echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
-		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-		|| die
-
-	local plugin
-	use gmp-autoupdate || for plugin in \
-	gmp-gmpopenh264 ; do
-		echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
-			"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-			|| die
-	done
-
-	MOZ_MAKE_FLAGS="${MAKEOPTS}" \
-	emake DESTDIR="${D}" install
-
-	# Install language packs
-	mozlinguas_src_install
-
-	local size sizes icon_path icon name
-	if use bindist; then
-		sizes="16 32 48"
-		icon_path="${S}/browser/branding/aurora"
-		# Firefox's new rapid release cycle means no more codenames
-		# Let's just stick with this one...
-		icon="aurora"
-		name="Aurora"
-	else
-		sizes="16 22 24 32 256"
-		icon_path="${S}/browser/branding/official"
-		icon="${PN}"
-		name="Mozilla Firefox"
-	fi
-
-	# Install icons and .desktop for menu entry
-	for size in ${sizes}; do
-		insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
-		newins "${icon_path}/default${size}.png" "${icon}.png"
-	done
-	# The 128x128 icon has a different name
-	insinto "/usr/share/icons/hicolor/128x128/apps"
-	newins "${icon_path}/mozicon128.png" "${icon}.png"
-	# Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
-	newicon "${icon_path}/content/icon48.png" "${icon}.png"
-	newmenu "${FILESDIR}/icon/${PN}.desktop" "${PN}.desktop"
-	sed -i -e "s:@NAME@:${name}:" -e "s:@ICON@:${icon}:" \
-		"${ED}/usr/share/applications/${PN}.desktop" || die
-
-	# Add StartupNotify=true bug 237317
-	if use startup-notification ; then
-		echo "StartupNotify=true"\
-			 >> "${ED}/usr/share/applications/${PN}.desktop" \
-			|| die
-	fi
-
-	# Required in order to use plugins and even run firefox on hardened.
-	if use jit; then
-		pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/{firefox,firefox-bin,plugin-container}
-	else
-		pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/plugin-container
-	fi
-
-	if use minimal; then
-		rm -r "${ED}"/usr/include "${ED}${MOZILLA_FIVE_HOME}"/{idl,include,lib,sdk} \
-			|| die "Failed to remove sdk and headers"
-	fi
-
-	# very ugly hack to make firefox not sigbus on sparc
-	# FIXME: is this still needed??
-	use sparc && { sed -e 's/Firefox/FirefoxGentoo/g' \
-					 -i "${ED}/${MOZILLA_FIVE_HOME}/application.ini" \
-					|| die "sparc sed failed"; }
-
-	# revdep-rebuild entry
-	insinto /etc/revdep-rebuild
-	echo "SEARCH_DIRS_MASK=${MOZILLA_FIVE_HOME}" >> ${T}/10firefox
-	doins "${T}"/10${PN} || die
-}
-
-pkg_preinst() {
-	gnome2_icon_savelist
-}
-
-pkg_postinst() {
-	# Update mimedb for the new .desktop file
-	fdo-mime_desktop_database_update
-	gnome2_icon_cache_update
-}
-
-pkg_postrm() {
-	gnome2_icon_cache_update
-}

diff --git a/www-client/firefox/firefox-40.0.3.ebuild b/www-client/firefox/firefox-40.0.3.ebuild
deleted file mode 100644
index c71527a..0000000
--- a/www-client/firefox/firefox-40.0.3.ebuild
+++ /dev/null
@@ -1,399 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-VIRTUALX_REQUIRED="pgo"
-WANT_AUTOCONF="2.1"
-MOZ_ESR=""
-
-# This list can be updated with scripts/get_langs.sh from the mozilla overlay
-# No official support as of fetch time
-# csb
-MOZ_LANGS=( af ar as ast be bg bn-BD bn-IN br bs ca cs cy da de el en
-en-GB en-US en-ZA eo es-AR es-CL es-ES es-MX et eu fa fi fr fy-NL ga-IE gd
-gl gu-IN he hi-IN hr hu hy-AM id is it ja kk km kn ko lt lv mai mk ml mr
-nb-NO nl nn-NO or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv-SE ta te
-th tr uk vi xh zh-CN zh-TW )
-
-# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
-MOZ_PV="${PV/_alpha/a}" # Handle alpha for SRC_URI
-MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
-MOZ_PV="${MOZ_PV/_rc/rc}" # Handle rc for SRC_URI
-
-if [[ ${MOZ_ESR} == 1 ]]; then
-	# ESR releases have slightly version numbers
-	MOZ_PV="${MOZ_PV}esr"
-fi
-
-# Patch version
-PATCH="${PN}-40.0-patches-0.01"
-
-MOZ_HTTP_URI="http://archive.mozilla.org/pub/${PN}/releases"
-
-MOZCONFIG_OPTIONAL_WIFI=1
-MOZCONFIG_OPTIONAL_JIT="enabled"
-
-inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils mozconfig-v6.40 multilib pax-utils fdo-mime autotools virtualx mozlinguas
-
-DESCRIPTION="Firefox Web Browser"
-HOMEPAGE="http://www.mozilla.com/firefox"
-
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-
-SLOT="0"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-IUSE="bindist egl hardened +minimal neon pgo selinux +gmp-autoupdate test"
-RESTRICT="!bindist? ( bindist )"
-
-# More URIs appended below...
-SRC_URI="${SRC_URI}
-	https://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCH}.tar.xz
-	https://dev.gentoo.org/~axs/mozilla/patchsets/${PATCH}.tar.xz
-	https://dev.gentoo.org/~polynomial-c/mozilla/patchsets/${PATCH}.tar.xz"
-
-ASM_DEPEND=">=dev-lang/yasm-1.1"
-
-# Mesa 7.10 needed for WebGL + bugfixes
-RDEPEND="
-	>=dev-libs/nss-3.19.2
-	>=dev-libs/nspr-4.10.8
-	selinux? ( sec-policy/selinux-mozilla )"
-
-DEPEND="${RDEPEND}
-	pgo? (
-		>=sys-devel/gcc-4.5 )
-	amd64? ( ${ASM_DEPEND}
-		virtual/opengl )
-	x86? ( ${ASM_DEPEND}
-		virtual/opengl )"
-
-# No source releases for alpha|beta
-if [[ ${PV} =~ alpha ]]; then
-	CHANGESET="8a3042764de7"
-	SRC_URI="${SRC_URI}
-		https://dev.gentoo.org/~nirbheek/mozilla/firefox/firefox-${MOZ_PV}_${CHANGESET}.source.tar.bz2"
-	S="${WORKDIR}/mozilla-aurora-${CHANGESET}"
-elif [[ ${PV} =~ beta ]]; then
-	S="${WORKDIR}/mozilla-release"
-	SRC_URI="${SRC_URI}
-		${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2"
-else
-	SRC_URI="${SRC_URI}
-		${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.bz2"
-	if [[ ${MOZ_ESR} == 1 ]]; then
-		S="${WORKDIR}/mozilla-esr${PV%%.*}"
-	else
-		S="${WORKDIR}/mozilla-release"
-	fi
-fi
-
-QA_PRESTRIPPED="usr/$(get_libdir)/${PN}/firefox"
-
-BUILD_OBJ_DIR="${S}/ff"
-
-pkg_setup() {
-	moz_pkgsetup
-
-	# 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 \
-		XDG_SESSION_COOKIE \
-		XAUTHORITY
-
-	if ! use bindist; then
-		einfo
-		elog "You are enabling official branding. You may not redistribute this build"
-		elog "to any users on your network or the internet. Doing so puts yourself into"
-		elog "a legal problem with Mozilla Foundation"
-		elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"
-	fi
-
-	if use pgo; then
-		einfo
-		ewarn "You will do a double build for profile guided optimization."
-		ewarn "This will result in your build taking at least twice as long as before."
-	fi
-}
-
-pkg_pretend() {
-	# Ensure we have enough disk space to compile
-	if use pgo || use debug || use test ; then
-		CHECKREQS_DISK_BUILD="8G"
-	else
-		CHECKREQS_DISK_BUILD="4G"
-	fi
-	check-reqs_pkg_setup
-}
-
-src_unpack() {
-	unpack ${A}
-
-	# Unpack language packs
-	mozlinguas_src_unpack
-}
-
-src_prepare() {
-	# Apply our patches
-	EPATCH_SUFFIX="patch" \
-	EPATCH_FORCE="yes" \
-	EPATCH_EXCLUDE="8010_bug114311-freetype26.patch" \
-	epatch "${WORKDIR}/firefox"
-	epatch "${FILESDIR}"/${PN}-38-hppa-js-syntax-error.patch #556196
-	epatch "${FILESDIR}"/${PN}-38-dont-hardcode-libc-soname.patch #557956
-	# Allow user to apply any additional patches without modifing ebuild
-	epatch_user
-
-	# Enable gnomebreakpad
-	if use debug ; then
-		sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
-			"${S}"/build/unix/run-mozilla.sh || die "sed failed!"
-	fi
-
-	# Ensure that our plugins dir is enabled as default
-	sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
-		"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
-	sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
-		"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
-
-	# Fix sandbox violations during make clean, bug 372817
-	sed -e "s:\(/no-such-file\):${T}\1:g" \
-		-i "${S}"/config/rules.mk \
-		-i "${S}"/nsprpub/configure{.in,} \
-		|| die
-
-	# Don't exit with error when some libs are missing which we have in
-	# system.
-	sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
-		-i "${S}"/browser/installer/Makefile.in || die
-
-	# Don't error out when there's no files to be removed:
-	sed 's@\(xargs rm\)$@\1 -f@' \
-		-i "${S}"/toolkit/mozapps/installer/packager.mk || die
-
-	eautoreconf
-
-	# Must run autoconf in js/src
-	cd "${S}"/js/src || die
-	eautoconf
-
-	# Need to update jemalloc's configure
-	cd "${S}"/memory/jemalloc/src || die
-	WANT_AUTOCONF= eautoconf
-}
-
-src_configure() {
-	MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
-	MEXTENSIONS="default"
-	# 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.
-	_google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
-
-	####################################
-	#
-	# mozconfig, CFLAGS and CXXFLAGS setup
-	#
-	####################################
-
-	mozconfig_init
-	mozconfig_config
-
-	# It doesn't compile on alpha without this LDFLAGS
-	use alpha && append-ldflags "-Wl,--no-relax"
-
-	# Add full relro support for hardened
-	use hardened && append-ldflags "-Wl,-z,relro,-z,now"
-
-	if use neon ; then
-		mozconfig_annotate '' --with-fpu=neon
-		mozconfig_annotate '' --with-thumb=yes
-		mozconfig_annotate '' --with-thumb-interwork=no
-	fi
-
-	if [[ ${CHOST} == armv* ]] ; then
-		mozconfig_annotate '' --with-float-abi=hard
-		mozconfig_annotate '' --enable-skia
-
-		if ! use system-libvpx ; then
-			sed -i -e "s|softfp|hard|" \
-				"${S}"/media/libvpx/moz.build
-		fi
-	fi
-
-	use egl && mozconfig_annotate 'Enable EGL as GL provider' --with-gl-provider=EGL
-
-	# Setup api key for location services
-	echo -n "${_google_api_key}" > "${S}"/google-api-key
-	mozconfig_annotate '' --with-google-api-keyfile="${S}/google-api-key"
-
-	mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
-	mozconfig_annotate '' --disable-mailnews
-
-	# Other ff-specific settings
-	mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}
-
-	# Allow for a proper pgo build
-	if use pgo; then
-		echo "mk_add_options PROFILE_GEN_SCRIPT='\$(PYTHON) \$(OBJDIR)/_profile/pgo/profileserver.py'" >> "${S}"/.mozconfig
-	fi
-
-	echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
-
-	# Finalize and report settings
-	mozconfig_final
-
-	if [[ $(gcc-major-version) -lt 4 ]]; then
-		append-cxxflags -fno-stack-protector
-	fi
-
-	# workaround for funky/broken upstream configure...
-	emake -f client.mk configure
-}
-
-src_compile() {
-	if use pgo; then
-		addpredict /root
-		addpredict /etc/gconf
-		# Reset and cleanup environment variables used by GNOME/XDG
-		gnome2_environment_reset
-
-		# Firefox tries to use dri stuff when it's run, see bug 380283
-		shopt -s nullglob
-		cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
-		if test -z "${cards}"; then
-			cards=$(echo -n /dev/ati/card* /dev/nvidiactl* | sed 's/ /:/g')
-			if test -n "${cards}"; then
-				# Binary drivers seem to cause access violations anyway, so
-				# let's use indirect rendering so that the device files aren't
-				# touched at all. See bug 394715.
-				export LIBGL_ALWAYS_INDIRECT=1
-			fi
-		fi
-		shopt -u nullglob
-		addpredict "${cards}"
-
-		CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
-		MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
-		Xemake -f client.mk profiledbuild || die "Xemake failed"
-	else
-		CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
-		MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
-		emake -f client.mk realbuild
-	fi
-
-}
-
-src_install() {
-	MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
-	DICTPATH="\"${EPREFIX}/usr/share/myspell\""
-
-	cd "${BUILD_OBJ_DIR}" || die
-
-	# Pax mark xpcshell for hardened support, only used for startupcache creation.
-	pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
-
-	# Add our default prefs for firefox
-	cp "${FILESDIR}"/gentoo-default-prefs.js-1 \
-		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-		|| die
-
-	# Set default path to search for dictionaries.
-	echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \
-		>> "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-		|| die
-
-	echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
-		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-		|| die
-
-	local plugin
-	use gmp-autoupdate || for plugin in \
-	gmp-gmpopenh264 ; do
-		echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
-			"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-			|| die
-	done
-
-	MOZ_MAKE_FLAGS="${MAKEOPTS}" \
-	emake DESTDIR="${D}" install
-
-	# Install language packs
-	mozlinguas_src_install
-
-	local size sizes icon_path icon name
-	if use bindist; then
-		sizes="16 32 48"
-		icon_path="${S}/browser/branding/aurora"
-		# Firefox's new rapid release cycle means no more codenames
-		# Let's just stick with this one...
-		icon="aurora"
-		name="Aurora"
-	else
-		sizes="16 22 24 32 256"
-		icon_path="${S}/browser/branding/official"
-		icon="${PN}"
-		name="Mozilla Firefox"
-	fi
-
-	# Install icons and .desktop for menu entry
-	for size in ${sizes}; do
-		insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
-		newins "${icon_path}/default${size}.png" "${icon}.png"
-	done
-	# The 128x128 icon has a different name
-	insinto "/usr/share/icons/hicolor/128x128/apps"
-	newins "${icon_path}/mozicon128.png" "${icon}.png"
-	# Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
-	newicon "${icon_path}/content/icon48.png" "${icon}.png"
-	newmenu "${FILESDIR}/icon/${PN}.desktop" "${PN}.desktop"
-	sed -i -e "s:@NAME@:${name}:" -e "s:@ICON@:${icon}:" \
-		"${ED}/usr/share/applications/${PN}.desktop" || die
-
-	# Add StartupNotify=true bug 237317
-	if use startup-notification ; then
-		echo "StartupNotify=true"\
-			 >> "${ED}/usr/share/applications/${PN}.desktop" \
-			|| die
-	fi
-
-	# Required in order to use plugins and even run firefox on hardened.
-	if use jit; then
-		pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/{firefox,firefox-bin,plugin-container}
-	else
-		pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/plugin-container
-	fi
-
-	if use minimal; then
-		rm -r "${ED}"/usr/include "${ED}${MOZILLA_FIVE_HOME}"/{idl,include,lib,sdk} \
-			|| die "Failed to remove sdk and headers"
-	fi
-
-	# very ugly hack to make firefox not sigbus on sparc
-	# FIXME: is this still needed??
-	use sparc && { sed -e 's/Firefox/FirefoxGentoo/g' \
-					 -i "${ED}/${MOZILLA_FIVE_HOME}/application.ini" \
-					|| die "sparc sed failed"; }
-
-	# revdep-rebuild entry
-	insinto /etc/revdep-rebuild
-	echo "SEARCH_DIRS_MASK=${MOZILLA_FIVE_HOME}" >> ${T}/10firefox
-	doins "${T}"/10${PN} || die
-}
-
-pkg_preinst() {
-	gnome2_icon_savelist
-}
-
-pkg_postinst() {
-	# Update mimedb for the new .desktop file
-	fdo-mime_desktop_database_update
-	gnome2_icon_cache_update
-}
-
-pkg_postrm() {
-	gnome2_icon_cache_update
-}


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2015-11-27  0:08 Jory Pratt
  0 siblings, 0 replies; 25+ messages in thread
From: Jory Pratt @ 2015-11-27  0:08 UTC (permalink / raw
  To: gentoo-commits

commit:     efaac387ea54fd27e9d18c0e1a78624c3bbe22e8
Author:     Jory A. Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 27 00:07:22 2015 +0000
Commit:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Fri Nov 27 00:07:22 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=efaac387

www-client/firefox - Fix misc crash issues via cairo, add musl support

 www-client/firefox/Manifest                        |  2 +-
 www-client/firefox/files/gentoo-default-prefs.js-2 | 21 ++++++++++++++++
 ...{firefox-42.0.ebuild => firefox-42.0-r2.ebuild} | 29 +++++++++++++++-------
 3 files changed, 42 insertions(+), 10 deletions(-)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 51b89d1..669aa7f 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -297,7 +297,7 @@ DIST firefox-42.0-nl.xpi 451272 SHA256 a2470132d8b8a80b71471527a4c2468e7cd9e2440
 DIST firefox-42.0-nn-NO.xpi 447406 SHA256 4bff7cf5b4178a6d85da579ad1356af88d332d9b48cfbfaa067d51c8f190dd27 SHA512 0b6c8cc62dedbafe0d7e2010463d676908eb36f27045f0c8caa88ce9cf7315e919578d0b7b66fd523014ee5abf3f5162927e6af411eaf151ed35d3afcf67d303 WHIRLPOOL 1baef82c6956dd36a56f2021c1847ed90d8ad5f83e3bed6a7d5141ad4901b238650a5e01af266a5b54a56f447039c5fd07a1587a1efa253018da2996344dc85b
 DIST firefox-42.0-or.xpi 533314 SHA256 c3f211d325a7bac64c71b239ccc95918153f5d5ae987b29031245bf7475eb329 SHA512 f4a2fc595163a15ad787c39cac8f26a6802f51549dfbf74955bd659298dcd59298fd55d567ca751e6c98cdc87ef683b0627b3f44d025197ad4c14f5a127bfa87 WHIRLPOOL 895f9d419a92ceddb74fe884948006158886da1ef06a4f53ced6172a30a28edfeac37440a4b28b34444fb6da6e582b2e644e2f290c3bb218cd1ba22eb3ba5b58
 DIST firefox-42.0-pa-IN.xpi 507205 SHA256 af2e3dec61be29064b9a72846fd1148f0ff02e7e2290a3ed60077e932cdb614a SHA512 615c5940db69e973199fcf8d914bf6b099edd4b79f58aa3226f76eda9b0fd6e045e0936f278afb5f69c4dec0ffb88297281a26540a94d1a772701ad7ae89dc36 WHIRLPOOL bdd4a03fbafdf21fec296cf65b5576cf7fbdc3e2c6e2318739033acfe3ebbf9e0553d95e80f5b63067a66a35f2957824a0fbaac6054659838765e665275915b1
-DIST firefox-42.0-patches-02.tar.xz 6424 SHA256 6c8a89c75ea4a359bf720f011e1bb856b653cd6676767b33ccb9d2f807a089e3 SHA512 d40266c98aa5bfeed243e3bd42f9146bc73492bd20bd07ac4941df83793a7e3a832220b65fc8c9eeb5f3a00089087251a2b758df5fc0d3dd3403468ec0b9eb53 WHIRLPOOL 93356507e31a5dca653a5fcc844c24acc1de6b2a01f3dbd7227c1e23eda4e8799a59cf1a50bb49b721249cb82c744d49f4671bfb7188275101c6de955afdb149
+DIST firefox-42.0-patches-0.3.tar.xz 13360 SHA256 8f1b592454695a27cd8ab6a234705d73363af0a5ecc5e64c30072def05fd5fc8 SHA512 4aa1ab7b8482b2d6af35cc293443678eb3c33a6eb2577fc0553ec94b3c3a3cbd7c322d50c004ac646296491fe1f67f5d199635750b0c50cc4f0742af704a9cac WHIRLPOOL e755b9fd4da821e8d0490e138531dcc55e9c9dd6ebbbf33771fffda9fe932df79c1d26dc8ad6b6dc9e8a444ee47659f7ef90846dc076299793db4726be06b94e
 DIST firefox-42.0-pl.xpi 403227 SHA256 34498568481fc7d720742e2add62e0ea55c6150bf90abc3040186ca5d26881f2 SHA512 9faccaeb287eb5ba36d8303046bc36e6716d39766669821956e789fc8dfe830cb9985f0fc06f1566ff68498cfac6d0c1ff8622c404e79b2389b011d4e30fbeb4 WHIRLPOOL 29cbacd46f7fe86f8a62d1123baf8564de11aa8825ac04d66ef0f17fa838fb6b40cfd50fe0b232c6c451e2240b58f7fc50d7b99287876549151ae5cd55056133
 DIST firefox-42.0-pt-BR.xpi 468096 SHA256 b0c9a80cd76142fd9886fd70a141dc0d8e4203e8fbdb72b649c84ee3b0d373bf SHA512 7518e2fa20857a71156980c5e4e3884f89f6bf737596a667ef4d2168b7b0549bcd712a50c0a90123e858d5d63baf4cad8e769300c18e9d55c44837f1bcdb463c WHIRLPOOL 64387553add0cc66c9b518acc2b5c5d97b4dfb050d709972cc1d895eaf8c20d942c523ac44d927a44b45f6808e89427b5bad186226a64f3bdffb92270520968c
 DIST firefox-42.0-pt-PT.xpi 448920 SHA256 63b5e59bd240b67fe683618b9be9d824ae8f77133d8345889b32ba0930d77687 SHA512 d64c8a4d4eb6d541f20f288b332fea15d09d89153ac2e110942bcc8a753fc758ab643b52096fd77424c1f0a86fd517d1a3998f37b106976fe9b7abf0b033e74a WHIRLPOOL 93a1643c66bd92c00f1100a935404dc95d90b0d08fde99cf008815cd7d447a3b2308e5d37f38ad19f5eafaaba2343c2249259e8f668dad07ab3ec90cbf344441

diff --git a/www-client/firefox/files/gentoo-default-prefs.js-2 b/www-client/firefox/files/gentoo-default-prefs.js-2
new file mode 100644
index 0000000..ad8cbb5
--- /dev/null
+++ b/www-client/firefox/files/gentoo-default-prefs.js-2
@@ -0,0 +1,21 @@
+pref("app.update.enabled",                 false);
+pref("app.update.autoInstallEnabled",      false);
+pref("browser.display.use_system_colors",  true);
+pref("browser.link.open_external",         3);
+pref("general.smoothScroll",               true);
+pref("general.autoScroll",                 false);
+pref("browser.tabs.tabMinWidth",           15);
+pref("browser.backspace_action",           0);
+pref("browser.urlbar.hideGoButton",        true);
+pref("accessibility.typeaheadfind",        true);
+pref("browser.shell.checkDefaultBrowser",  false); 
+pref("browser.EULA.override",              true); 
+pref("general.useragent.vendor", "Gentoo");
+pref("intl.locale.matchOS", true);
+pref("general.useragent.locale", "chrome://global/locale/intl.properties");
+pref("extensions.autoDisableScopes", 0);
+pref("layout.css.dpi", 0);
+pref("layers.acceleration.force-enabled",              true);
+pref("webgl.force-enabled",              true);
+
+

diff --git a/www-client/firefox/firefox-42.0.ebuild b/www-client/firefox/firefox-42.0-r2.ebuild
similarity index 94%
rename from www-client/firefox/firefox-42.0.ebuild
rename to www-client/firefox/firefox-42.0-r2.ebuild
index dcbba24..4f7f2cd 100644
--- a/www-client/firefox/firefox-42.0.ebuild
+++ b/www-client/firefox/firefox-42.0-r2.ebuild
@@ -27,7 +27,7 @@ if [[ ${MOZ_ESR} == 1 ]]; then
 fi
 
 # Patch version
-PATCH="${PN}-42.0-patches-02"
+PATCH="${PN}-42.0-patches-0.3"
 MOZ_HTTP_URI="http://archive.mozilla.org/pub/${PN}/releases"
 
 MOZCONFIG_OPTIONAL_GTK3=1
@@ -57,7 +57,7 @@ ASM_DEPEND=">=dev-lang/yasm-1.1"
 # Mesa 7.10 needed for WebGL + bugfixes
 RDEPEND="
 	>=dev-libs/nss-3.20.1
-	>=dev-libs/nspr-4.10.10
+	>=dev-libs/nspr-4.10.10-r1
 	selinux? ( sec-policy/selinux-mozilla )"
 
 DEPEND="${RDEPEND}
@@ -68,7 +68,7 @@ DEPEND="${RDEPEND}
 	x86? ( ${ASM_DEPEND}
 		virtual/opengl )"
 
-# No source releases for alpha
+# No source releases for alpha|beta
 if [[ ${PV} =~ alpha ]]; then
 	CHANGESET="8a3042764de7"
 	SRC_URI="${SRC_URI}
@@ -79,6 +79,19 @@ else
 	SRC_URI="${SRC_URI}
 		${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz"
 fi
+#elif [[ ${PV} =~ beta ]]; then
+#	S="${WORKDIR}/mozilla-beta"
+#	SRC_URI="${SRC_URI}
+#		${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz"
+#else
+#	SRC_URI="${SRC_URI}
+#		${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz"
+#	if [[ ${MOZ_ESR} == 1 ]]; then
+#		S="${WORKDIR}/mozilla-esr${PV%%.*}"
+#	else
+#		S="${WORKDIR}/mozilla-release"
+#	fi
+#fi
 
 QA_PRESTRIPPED="usr/$(get_libdir)/${PN}/firefox"
 
@@ -196,6 +209,9 @@ src_configure() {
 	mozconfig_init
 	mozconfig_config
 
+	# We want rpath support to prevent unneeded hacks on different libc variants
+	append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}"
+
 	# It doesn't compile on alpha without this LDFLAGS
 	use alpha && append-ldflags "-Wl,--no-relax"
 
@@ -291,7 +307,7 @@ src_install() {
 	pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
 
 	# Add our default prefs for firefox
-	cp "${FILESDIR}"/gentoo-default-prefs.js-1 \
+	cp "${FILESDIR}"/gentoo-default-prefs.js-2 \
 		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
 		|| die
 
@@ -382,11 +398,6 @@ PROFILE_EOF
 	use sparc && { sed -e 's/Firefox/FirefoxGentoo/g' \
 					 -i "${ED}/${MOZILLA_FIVE_HOME}/application.ini" \
 					|| die "sparc sed failed"; }
-
-	# revdep-rebuild entry
-	insinto /etc/revdep-rebuild
-	echo "SEARCH_DIRS_MASK=${MOZILLA_FIVE_HOME}" >> ${T}/10firefox
-	doins "${T}"/10${PN} || die
 }
 
 pkg_preinst() {


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2017-01-08 21:42 Jory Pratt
  0 siblings, 0 replies; 25+ messages in thread
From: Jory Pratt @ 2017-01-08 21:42 UTC (permalink / raw
  To: gentoo-commits

commit:     7792f12a30bf5c99ed3348ec2eb4b8f53375c5d8
Author:     Jory A. Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Sun Jan  8 21:32:39 2017 +0000
Commit:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Sun Jan  8 21:40:26 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7792f12a

www-client/firefox - Fix sed-4.3 support, add support for >=nss-3.28

 .../firefox/files/mozilla_configure_regexp.patch   | 22 +++++++++++++++
 .../files/mozilla_configure_regexp_esr.patch       | 32 ++++++++++++++++++++++
 www-client/firefox/files/update_h2_curve.patch     | 30 ++++++++++++++++++++
 ...efox-45.6.0.ebuild => firefox-45.6.0-r1.ebuild} |  4 ++-
 ...efox-50.1.0.ebuild => firefox-50.1.0-r1.ebuild} |  2 ++
 5 files changed, 89 insertions(+), 1 deletion(-)

diff --git a/www-client/firefox/files/mozilla_configure_regexp.patch b/www-client/firefox/files/mozilla_configure_regexp.patch
new file mode 100644
index 00000000..f35e445
--- /dev/null
+++ b/www-client/firefox/files/mozilla_configure_regexp.patch
@@ -0,0 +1,22 @@
+From: Jory A. Pratt <anarchy@gentoo.org>
+
+Note: the first occurrence of :space: is [:space:] (with a single pair
+of []), where it should be [[:space:]] (with two pairs of []).
+
+This causes the sed command to fail (with the error message quoted in
+my original report), driving to failure the whole configure step.
+
+https://bugzilla.mozilla.org/show_bug.cgi?id=1329252
+
+diff --git a/build/autoconf/icu.m4 b/build/autoconf/icu.m4
+--- a/build/autoconf/icu.m4
++++ b/build/autoconf/icu.m4
+@@ -70,7 +70,7 @@
+         fi
+     fi
+ 
+-    version=`sed -n 's/^[[:space:]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
++    version=`sed -n 's/^[[[:space:]]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
+     if test x"$version" = x; then
+        AC_MSG_ERROR([cannot determine icu version number from uvernum.h header file $lineno])
+     fi
\ No newline at end of file

diff --git a/www-client/firefox/files/mozilla_configure_regexp_esr.patch b/www-client/firefox/files/mozilla_configure_regexp_esr.patch
new file mode 100644
index 00000000..9e165ff
--- /dev/null
+++ b/www-client/firefox/files/mozilla_configure_regexp_esr.patch
@@ -0,0 +1,32 @@
+From: Jory A. Pratt <anarchy@gentoo.org>
+
+Note: the first occurrence of :space: is [:space:] (with a single pair
+of []), where it should be [[:space:]] (with two pairs of []).
+
+This causes the sed command to fail (with the error message quoted in
+my original report), driving to failure the whole configure step.
+
+https://bugzilla.mozilla.org/show_bug.cgi?id=1329252
+
+diff --git a/build/autoconf/icu.m4 b/build/autoconf/icu.m4
+--- a/build/autoconf/icu.m4
++++ b/build/autoconf/icu.m4
+@@ -68,17 +68,17 @@ if test -n "$USE_ICU"; then
+     icudir="$_topsrcdir/intl/icu/source"
+     if test ! -d "$icudir"; then
+         icudir="$_topsrcdir/../../intl/icu/source"
+         if test ! -d "$icudir"; then
+             AC_MSG_ERROR([Cannot find the ICU directory])
+         fi
+     fi
+ 
+-    version=`sed -n 's/^[[:space:]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
++    version=`sed -n 's/^[[[:space:]]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
+     if test x"$version" = x; then
+        AC_MSG_ERROR([cannot determine icu version number from uvernum.h header file $lineno])
+     fi
+     MOZ_ICU_VERSION="$version"
+ 
+     if test "$OS_TARGET" = WINNT; then
+         MOZ_SHARED_ICU=1
+     fi

diff --git a/www-client/firefox/files/update_h2_curve.patch b/www-client/firefox/files/update_h2_curve.patch
new file mode 100644
index 00000000..a1f0ffa
--- /dev/null
+++ b/www-client/firefox/files/update_h2_curve.patch
@@ -0,0 +1,30 @@
+From: Franziskus Kiefer <franziskuskiefer@gmail.com>
+
+Update keybits in H2
+
+https://bugzilla.mozilla.org/show_bug.cgi?id=1290037
+
+diff --git a/netwerk/protocol/http/Http2Session.cpp b/netwerk/protocol/http/Http2Session.cpp
+--- a/netwerk/protocol/http/Http2Session.cpp
++++ b/netwerk/protocol/http/Http2Session.cpp
+@@ -3516,18 +3516,18 @@ Http2Session::ConfirmTLSProfile()
+     RETURN_SESSION_ERROR(this, INADEQUATE_SECURITY);
+   }
+ 
+   uint32_t keybits = ssl->GetKEAKeyBits();
+   if (kea == ssl_kea_dh && keybits < 2048) {
+     LOG3(("Http2Session::ConfirmTLSProfile %p FAILED due to DH %d < 2048\n",
+           this, keybits));
+     RETURN_SESSION_ERROR(this, INADEQUATE_SECURITY);
+-  } else if (kea == ssl_kea_ecdh && keybits < 256) { // 256 bits is "security level" of 128
+-    LOG3(("Http2Session::ConfirmTLSProfile %p FAILED due to ECDH %d < 256\n",
++  } else if (kea == ssl_kea_ecdh && keybits < 224) { // see rfc7540 9.2.1.
++    LOG3(("Http2Session::ConfirmTLSProfile %p FAILED due to ECDH %d < 224\n",
+           this, keybits));
+     RETURN_SESSION_ERROR(this, INADEQUATE_SECURITY);
+   }
+ 
+   int16_t macAlgorithm = ssl->GetMACAlgorithmUsed();
+   LOG3(("Http2Session::ConfirmTLSProfile %p MAC Algortihm (aead==6) %d\n",
+         this, macAlgorithm));
+   if (macAlgorithm != nsISSLSocketControl::SSL_MAC_AEAD) {

diff --git a/www-client/firefox/firefox-45.6.0.ebuild b/www-client/firefox/firefox-45.6.0-r1.ebuild
similarity index 98%
rename from www-client/firefox/firefox-45.6.0.ebuild
rename to www-client/firefox/firefox-45.6.0-r1.ebuild
index 444d977..9300e5a 100644
--- a/www-client/firefox/firefox-45.6.0.ebuild
+++ b/www-client/firefox/firefox-45.6.0-r1.ebuild
@@ -129,7 +129,9 @@ src_unpack() {
 
 src_prepare() {
 	# Apply our patches
-	eapply "${WORKDIR}/firefox"
+	eapply "${WORKDIR}/firefox" \
+		"${FILESDIR}"/mozilla_configure_regexp_esr.patch \
+		"${FILESDIR}"/update_h2_curve.patch
 
 	# Allow user to apply any additional patches without modifing ebuild
 	eapply_user

diff --git a/www-client/firefox/firefox-50.1.0.ebuild b/www-client/firefox/firefox-50.1.0-r1.ebuild
similarity index 99%
rename from www-client/firefox/firefox-50.1.0.ebuild
rename to www-client/firefox/firefox-50.1.0-r1.ebuild
index 5306657..6c11378 100644
--- a/www-client/firefox/firefox-50.1.0.ebuild
+++ b/www-client/firefox/firefox-50.1.0-r1.ebuild
@@ -120,6 +120,8 @@ src_unpack() {
 src_prepare() {
 	# Apply our patches
 	eapply "${WORKDIR}/firefox" \
+		"${FILESDIR}"/mozilla_configure_regexp.patch \
+		"${FILESDIR}"/update_h2_curve.patch \
 		"${FILESDIR}"/${PN}-48.0-pgo.patch
 
 	# Enable gnomebreakpad


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2017-01-30  3:02 Jory Pratt
  0 siblings, 0 replies; 25+ messages in thread
From: Jory Pratt @ 2017-01-30  3:02 UTC (permalink / raw
  To: gentoo-commits

commit:     50a543bdfe736ec8faa708c93471e1e31ef1e8eb
Author:     Jory A. Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 30 03:01:01 2017 +0000
Commit:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Mon Jan 30 03:01:01 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50a543bd

www-client/firefox: Fix pie detection on hardened toolchain, bug #607350

 .../firefox/files/fix_hardened_pie_detection.patch | 36 ++++++++++++++++++++++
 www-client/firefox/firefox-51.0.ebuild             |  3 +-
 2 files changed, 38 insertions(+), 1 deletion(-)

diff --git a/www-client/firefox/files/fix_hardened_pie_detection.patch b/www-client/firefox/files/fix_hardened_pie_detection.patch
new file mode 100644
index 00000000..7cc74cd
--- /dev/null
+++ b/www-client/firefox/files/fix_hardened_pie_detection.patch
@@ -0,0 +1,36 @@
+From: Jory A. Pratt <anarchy@gentoo.org>
+
+CFLAGS must contain -fPIC when checking the linker
+
+https://bugs.gentoo.org/show_bug.cgi?id=607350
+
+diff --git a/build/autoconf/compiler-opts.m4 b/build/autoconf/compiler-opts.m4
+--- a/build/autoconf/compiler-opts.m4
++++ b/build/autoconf/compiler-opts.m4
+@@ -263,23 +263,26 @@ fi
+ 
+ MOZ_ARG_ENABLE_BOOL(pie,
+ [  --enable-pie           Enable Position Independent Executables],
+     MOZ_PIE=1,
+     MOZ_PIE= )
+ 
+ if test "$GNU_CC" -a -n "$MOZ_PIE"; then
+     AC_MSG_CHECKING([for PIE support])
++    _SAVE_CFLAGS=$CFLAGS
++    CFLAGS="$CFLAGS -fPIC"
+     _SAVE_LDFLAGS=$LDFLAGS
+     LDFLAGS="$LDFLAGS -pie"
+     AC_TRY_LINK(,,AC_MSG_RESULT([yes])
+                   [MOZ_PROGRAM_LDFLAGS="$MOZ_PROGRAM_LDFLAGS -pie"],
+                   AC_MSG_RESULT([no])
+                   AC_MSG_ERROR([--enable-pie requires PIE support from the linker.]))
+     LDFLAGS=$_SAVE_LDFLAGS
++    CFLAGS=$_SAVE_CFLAGS
+ fi
+ 
+ AC_SUBST(MOZ_PROGRAM_LDFLAGS)
+ 
+ dnl ASan assumes no symbols are being interposed, and when that happens,
+ dnl it's not happy with it. Unconveniently, since Firefox is exporting
+ dnl libffi symbols and Gtk+3 pulls system libffi via libwayland-client,
+ dnl system libffi interposes libffi symbols that ASan assumes are in

diff --git a/www-client/firefox/firefox-51.0.ebuild b/www-client/firefox/firefox-51.0.ebuild
index f1f2b1c..579ef6e 100644
--- a/www-client/firefox/firefox-51.0.ebuild
+++ b/www-client/firefox/firefox-51.0.ebuild
@@ -127,7 +127,8 @@ src_unpack() {
 
 src_prepare() {
 	# Apply our patches
-	eapply "${WORKDIR}/firefox"
+	eapply "${WORKDIR}/firefox" \
+		"${FILESDIR}"/fix_hardened_pie_detection.patch
 
 	# Enable gnomebreakpad
 	if use debug ; then


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2017-05-19 19:44 Ian Stakenvicius
  0 siblings, 0 replies; 25+ messages in thread
From: Ian Stakenvicius @ 2017-05-19 19:44 UTC (permalink / raw
  To: gentoo-commits

commit:     fc0e8a516716dab4430d5fd44d603c61f415e6cb
Author:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Thu May 18 14:55:15 2017 +0000
Commit:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Fri May 19 19:44:28 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fc0e8a51

www-client/firefox: disable seccomp fatality so widevinecdm doesn't crash

This is a backport of a commit introduced to firefox-54.

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 ...firefox-53-turn_off_crash_on_seccomp_fail.patch | 100 +++++++++++++++++++++
 ...{firefox-53.0.ebuild => firefox-53.0-r1.ebuild} |   1 +
 2 files changed, 101 insertions(+)

diff --git a/www-client/firefox/files/firefox-53-turn_off_crash_on_seccomp_fail.patch b/www-client/firefox/files/firefox-53-turn_off_crash_on_seccomp_fail.patch
new file mode 100644
index 00000000000..2d0c06b3e76
--- /dev/null
+++ b/www-client/firefox/files/firefox-53-turn_off_crash_on_seccomp_fail.patch
@@ -0,0 +1,100 @@
+
+# HG changeset patch
+# User Jed Davis <jld@mozilla.com>
+# Date 1485552350 25200
+# Node ID 7781de08a1c6d84a92e9d54a78ac9f54f8c4c240
+# Parent  952f0a7824ad897dd0f76318b567341e7d8ad46d
+Bug 1286865 - Step 0: Turn off crash-on-seccomp-fail by default on non-nightly. r=gcp
+
+MozReview-Commit-ID: 1It6HNizbAc
+
+diff --git a/security/sandbox/linux/Sandbox.cpp b/security/sandbox/linux/Sandbox.cpp
+--- a/security/sandbox/linux/Sandbox.cpp
++++ b/security/sandbox/linux/Sandbox.cpp
+@@ -68,16 +68,18 @@ MOZ_IMPORT_API void
+ } // extern "C"
+ #endif // MOZ_ASAN
+ 
+ // Signal number used to enable seccomp on each thread.
+ int gSeccompTsyncBroadcastSignum = 0;
+ 
+ namespace mozilla {
+ 
++static bool gSandboxCrashOnError = false;
++
+ // This is initialized by SandboxSetCrashFunc().
+ SandboxCrashFunc gSandboxCrashFunc;
+ 
+ #ifdef MOZ_GMP_SANDBOX
+ // For media plugins, we can start the sandbox before we dlopen the
+ // module, so we have to pre-open the file and simulate the sandboxed
+ // open().
+ static SandboxOpenedFile gMediaPluginFile;
+@@ -143,25 +145,28 @@ SigSysHandler(int nr, siginfo_t *info, v
+   args[2] = SECCOMP_PARM3(&savedCtx);
+   args[3] = SECCOMP_PARM4(&savedCtx);
+   args[4] = SECCOMP_PARM5(&savedCtx);
+   args[5] = SECCOMP_PARM6(&savedCtx);
+ 
+   // TODO, someday when this is enabled on MIPS: include the two extra
+   // args in the error message.
+   SANDBOX_LOG_ERROR("seccomp sandbox violation: pid %d, syscall %d,"
+-                    " args %d %d %d %d %d %d.  Killing process.",
++                    " args %d %d %d %d %d %d.%s",
+                     pid, syscall_nr,
+-                    args[0], args[1], args[2], args[3], args[4], args[5]);
++                    args[0], args[1], args[2], args[3], args[4], args[5],
++                    gSandboxCrashOnError ? "  Killing process." : "");
+ 
+-  // Bug 1017393: record syscall number somewhere useful.
+-  info->si_addr = reinterpret_cast<void*>(syscall_nr);
++  if (gSandboxCrashOnError) {
++    // Bug 1017393: record syscall number somewhere useful.
++    info->si_addr = reinterpret_cast<void*>(syscall_nr);
+ 
+-  gSandboxCrashFunc(nr, info, &savedCtx);
+-  _exit(127);
++    gSandboxCrashFunc(nr, info, &savedCtx);
++    _exit(127);
++  }
+ }
+ 
+ /**
+  * This function installs the SIGSYS handler.  This is slightly
+  * complicated because we want to use Chromium's handler to dispatch
+  * to specific trap handlers defined in the policy, but we also need
+  * the full original signal context to give to Breakpad for crash
+  * dumps.  So we install Chromium's handler first, then retrieve its
+@@ -510,16 +515,31 @@ void
+ SandboxEarlyInit(GeckoProcessType aType)
+ {
+   const SandboxInfo info = SandboxInfo::Get();
+   if (info.Test(SandboxInfo::kUnexpectedThreads)) {
+     return;
+   }
+   MOZ_RELEASE_ASSERT(IsSingleThreaded());
+ 
++  // Set gSandboxCrashOnError if appropriate.  This doesn't need to
++  // happen this early, but for now it's here so that I don't need to
++  // add NSPR dependencies for PR_GetEnv.
++  //
++  // This also means that users with "unexpected threads" setups won't
++  // crash even on nightly.
++#ifdef NIGHTLY_BUILD
++  gSandboxCrashOnError = true;
++#endif
++  if (const char* envVar = getenv("MOZ_SANDBOX_CRASH_ON_ERROR")) {
++    if (envVar[0]) {
++      gSandboxCrashOnError = envVar[0] != '0';
++    }
++  }
++
+   // Which kinds of resource isolation (of those that need to be set
+   // up at this point) can be used by this process?
+   bool canChroot = false;
+   bool canUnshareNet = false;
+   bool canUnshareIPC = false;
+ 
+   switch (aType) {
+   case GeckoProcessType_Default:
+

diff --git a/www-client/firefox/firefox-53.0.ebuild b/www-client/firefox/firefox-53.0-r1.ebuild
similarity index 99%
rename from www-client/firefox/firefox-53.0.ebuild
rename to www-client/firefox/firefox-53.0-r1.ebuild
index a911896f0de..80f3c55995f 100644
--- a/www-client/firefox/firefox-53.0.ebuild
+++ b/www-client/firefox/firefox-53.0-r1.ebuild
@@ -125,6 +125,7 @@ src_prepare() {
 	# Apply our patches
 	eapply "${WORKDIR}/firefox"
 	eapply "${FILESDIR}"/musl_drop_hunspell_alloc_hooks.patch
+	eapply "${FILESDIR}"/${PN}-53-turn_off_crash_on_seccomp_fail.patch
 
 	# Enable gnomebreakpad
 	if use debug ; then


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2017-08-08 12:24 Lars Wendler
  0 siblings, 0 replies; 25+ messages in thread
From: Lars Wendler @ 2017-08-08 12:24 UTC (permalink / raw
  To: gentoo-commits

commit:     ed8c667047e68e37fd973a6d0f0800663c2c6e97
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Tue Aug  8 12:19:38 2017 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Tue Aug  8 12:23:56 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed8c6670

www-client/firefox: Removed old.

Package-Manager: Portage-2.3.6, Repoman-2.3.3

 www-client/firefox/Manifest                        | 180 ---------
 ...firefox-53-turn_off_crash_on_seccomp_fail.patch | 100 -----
 .../firefox/files/fix_hardened_pie_detection.patch |  36 --
 .../files/mozilla_configure_regexp_esr.patch       |  32 --
 .../files/musl_drop_hunspell_alloc_hooks.patch     |  13 -
 www-client/firefox/files/update_h2_curve.patch     |  30 --
 www-client/firefox/firefox-45.8.0.ebuild           | 369 -------------------
 www-client/firefox/firefox-52.1.0-r1.ebuild        | 405 ---------------------
 www-client/firefox/metadata.xml                    |   1 -
 9 files changed, 1166 deletions(-)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index d3f6e85529b..531b7cf3587 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -1,183 +1,3 @@
-DIST firefox-45.0-patches-12.tar.xz 22040 SHA256 563d7bbe67aa4379ab0a9b460aa397aa2a8e9d1cadcf776490beb7349230c6c1 SHA512 be9981818e549d79f8557427dd506b9c473922c0043384563c1fd92e4c6c96c91afb8bb01d4499a3a61b463ecf2875bc776fef0f279c0f2fc3625602cb47880b WHIRLPOOL 4f100eadb5aae49731344d526ba482c97dfecebfd20de533e4986e3a0463ebe31853bf1f9faf914a6fcfab82936a52cbda2add84c019fd6ab15ea086115e5bef
-DIST firefox-45.8.0esr-ach.xpi 426530 SHA256 e8337d1951aa8484bfade7a3157529a78a0d6882c4d332e880e1ac1063e028f1 SHA512 d28c5bed4cc0fe07825859e6b0894c45de183be642a0a1152faea336e323428ebba201add73ff4e4e44f4a9255ef4e579372f7aac1d70a10bad99d082179e663 WHIRLPOOL 43a3d9d9e3cee0f371218e87eab80fa87bf60c2df7c6f556aca3f616cadba8e149eea2f7bf7aeba9a6ded69d9f77773470e18b38c57d9ffcdf81a52757f6fc2d
-DIST firefox-45.8.0esr-af.xpi 439353 SHA256 b0d0ff680ae288fca3f319fa54a2607f980845c0384e153523b764fcf4d475b4 SHA512 262f715bd7e89a33a95755b79d84d446bdc1c614948129eeb82bc0c4314679e91309adf0e1c5a4a1b5eab19aafb15e738332113ff74b51a32f6a014b2c4980cd WHIRLPOOL 8713b616c58feb07ffb7a38c45342bab1f02957dcc1da57fc6a6213804171a332686fd2f0b07619d39318f101db5ffafe0768c2d92adf3c881a3721fafad657e
-DIST firefox-45.8.0esr-an.xpi 449036 SHA256 8897ebf779339512753770d00cafad01e514e8eec6f89e1887cde3c5c5256209 SHA512 3c12373e2c3ff3aacf0a1e1ccc768ca62a14489d9350cb9a1fcf818570587b25c08cb9388f1425f7fd569d6dfa46c75a336e12ead6b50fe47887d221c543e7f8 WHIRLPOOL e53e3827f728f1d73969d15ca75d83ec5fbab2f998ba4da16cbe614f77fb077ec92b31974b41b73c9562b22e57427fba57f354114045d555bf401695428d69a6
-DIST firefox-45.8.0esr-ar.xpi 474961 SHA256 7a2142e9eee1f9d798070da889301b0750b7c80aaea511fac6dfa38dc1e2e873 SHA512 2a685db116c88707b19077a03c966e0fd7e0b0d548c35c34c4c997133d757e58da10a438c840af712bbd7f04c10974b3ef0058a1370e62b717f914a5236f9047 WHIRLPOOL c0de95563be2c88271fad35fecc6e85e7469f284ba0976b12434f398a724ead1831f50901c6b234dca09684d1c3633324ed62d79aae0f5cd88a7b231b6509300
-DIST firefox-45.8.0esr-as.xpi 483096 SHA256 58a788699e8f2930085b72edbfa03939e82f170258db92bdc7d8b44a4ec695e6 SHA512 f974f57a3e5668ddc9806968dd17efc27f51138bdfaade9eddb29b84252c729599972c63ec7392c7637f28d62c27004b22877e889c2f83b2bcebfeb8b63807a5 WHIRLPOOL 47bca8425dc4b6fca2306e898189143753a88c2f891bec1bb0296de7cb048e5c8be76b192ded07febcaa683f78bbe98835c6177634a957da6479955dd9238c1d
-DIST firefox-45.8.0esr-ast.xpi 419250 SHA256 b0dabf6bd67b1bece44728ad600c919bfa0498bc593228b5a2ca46ad0574c7a5 SHA512 adb5956de20b336778e044a3f1886a47fab94d0ed75cd22d3ff6ff7efecc4e5258a80cda751ea61eaab0b9374af53b20bc566b6ef898c44a40a2d7f10db33e7a WHIRLPOOL e18f7e644518d26867559222d455137e232295a156aa48a7c5630ba254710aa32c96669cb89fa1dabe16d96c44b57582fbc13e41410b189c47bf02de91e8959a
-DIST firefox-45.8.0esr-az.xpi 464018 SHA256 e794b077c1a3e1d0c560dc95f69dcb90a03168032f34ab7822eb44c31ac5782a SHA512 fae45159368a162582cb29dd55d21d8de918d1f5a0145a84a28b7fb9b9e2543bd3eb603989059f9f6fb33bac4c99d65db886ccff307fbe3c84ef42977da14274 WHIRLPOOL 03d3c4e3829c832272f229289f529673fe9ead6d6c26288fef74584a413f0842a6e0000da695b2a07f712463d49b0dda2406c0d451d8d8c4f6e216a12565c527
-DIST firefox-45.8.0esr-be.xpi 442619 SHA256 42c9a3eaf47d5dc59a137b756f80bd8ee79771825f63c8edfdd8366e0a95b63b SHA512 7f65d1c81f1ce3b27a128b58b33c939450da29e4fdce4394b2e70f4353d898863da1bd2757a16e532aa633c772d5dbaacfe9a63195d60acdabb11e1baa6096ea WHIRLPOOL d2c50ce9c58f214b645813edc471b03b416a746fab397ca81c77d0a5f6d38b7d7c26eb7482d62eb7929e6c748a05dce1dcfa499dcca73a7e0742a3cee9c60bd7
-DIST firefox-45.8.0esr-bg.xpi 460809 SHA256 5972247e018f6b7165f5f2349a8693475aa046a0fbabd829a4b16d83170be637 SHA512 83c1e6ff149372a6fca37ca9afe579f6560dddd0f6fd48594b7f860c353ef4d98e5b5e32260597f0c11b0047f4ae8ad665a68f2c72ef3e24caf1c6118f650a8e WHIRLPOOL 950e382ade5466397cb6c2b7ade97383ee126191953230849a41ae62b831b4d7176651f3b02f8298b1bac998bcee15b5904bede1c015e140c26da576a39a31f0
-DIST firefox-45.8.0esr-bn-BD.xpi 515643 SHA256 2d8097d6bc4632a092cf93967998bb76323051cbeb54e8b448d51105dba2fddb SHA512 fbd2e608675bb553af94ab35e7b41092697deaa43ac9bcdc487658386d4151431f38d3a4565ee98f0b122d4b38b9dff09bf158379ec2355f78236550f1191d18 WHIRLPOOL e33e822aacf4d5dc4cbf45568bda7fe8e80e3e11260625b9351d89024519b1138839461ab8a8347de60902d8f9ef01f6316acf1fa7e30d274f1ff2e2f55058e7
-DIST firefox-45.8.0esr-bn-IN.xpi 494076 SHA256 9b9c18088bb7b93bfb305b7beb86d097372bddf2e2cf1b6a9bea3915f6553a9f SHA512 a49afbc72abd136ddc6b17775ec89eb0c1a5455470537abd42a88a56e1fc6b9d9560b7c62e75241e37086c6eea869141c142a6359be76da082ee37993987ad44 WHIRLPOOL e1b6eaa9a2321a475b754b506ef6c0f6f9dfa9f3c4bad5ce5baffe90f66323d87cbb38d0f1ba87ef25682c5ac847e3e8e2926f7b0c442a35e386aa3e8bca445b
-DIST firefox-45.8.0esr-br.xpi 436390 SHA256 907414ac6a4edd0aece6e855e5fcade6d95fb98bb838c9dbf5c6a7ff22ea2e8e SHA512 355832c442e77c9fe88ab5cd4e965a2546d15e7086f860ca47a623d7bb1f9dd41aec672d84b7917e7f0d2b93902a40246af86052a384c71c69add173c7d4777a WHIRLPOOL 28b2913c3a5b682217d04ef403bc840b6d1d836d22d8141c40d67a229f5dca81c50c28ef27534941cf9c44e7d47dcc44044741f0451aa3ceaea229e8598f4b30
-DIST firefox-45.8.0esr-bs.xpi 442998 SHA256 0a7547b87ff3b16977f12568fee06d50936e33cb60a343cde84ab8f4dcbf17eb SHA512 42a9004005f665567f8ff1712cb1352c358008ceecfe8ddcc0e65eee1bc73793dda1e5f5f333892a47bec95093999bc891a66bb4d7d2b3f34368ca2850c681b6 WHIRLPOOL 0c479bcd97260e6118ac08dcc33e7889aaf885ecabb28e8c6e5221d85120acc37db134e11f1fd58d2b14432fe02e8719bcd900b5d7cf051bd03d96591d00de8f
-DIST firefox-45.8.0esr-ca.xpi 436832 SHA256 c42c7517e9f16411407d437742c192538fa8996b460e697c455e62069d9e89e7 SHA512 26c397ab6f03d6c6ad83fe1d010e513d694bfb4982c9d27ffa381ef69772f732c5ee90e0c21125deb9bbbbcf913c2c12555603d040cbf5505885239693fb4c9f WHIRLPOOL 25f4e9c13272debb3247e15709b242601b9021fb0b9a2fa67cebbef0a3ba0f114df48d5699e8a8b0842727b117605d8442cf4038bb54033bdbb3f308db61258b
-DIST firefox-45.8.0esr-cs.xpi 443482 SHA256 18d5650dd4eaef469228a6fa1a67363b828b17ada1ad861d51db41d9096f51fd SHA512 6bee76152f06754f99cc649380bea533206a62aeef1560d1de6cd840a73672f5ebb90acea3a47f7f16adceff4a8116b36790df47235f8d1e8106048a16f3dd3a WHIRLPOOL c3ebbd7ddc5929e9347f6cd201dda9fb0a38d11b651058998ff1fa726d600f65c1385f3b5069bcb20d237c5ef68054be87d588eea3565349f2b33f78943c9469
-DIST firefox-45.8.0esr-cy.xpi 438907 SHA256 9b7882133ec2f3b87c6c89c3069d74093c971a8369cbec15a679a75cf6703ad5 SHA512 49c05907461a8df92a8e5f51c2d9029cbc9d14801d8824d03a687f97ea5b1db8904a9244911d49c3ec83e8a5eaa9bd59c582338631431f0cd0a1ebfb268b9eef WHIRLPOOL 76f4cb0353352c42ea64a409dc14cc43a652bf575e2a68e28ba4a799c66033cbb9adbd75bc8bd7c375c5bcc60679a73b4278bc67e1824a9b72bbd6c7028bbf1d
-DIST firefox-45.8.0esr-da.xpi 430078 SHA256 3cb7160d1197f4378f2d9e5a292d69db020f4de33fabf99f772ff1d7a014575f SHA512 daf2146a8101b344e69f4312f2e4dd405bf703519c15d5dda4d07251c1696a5e106b94bb91a9a50f6651b8e68ff4840d822fb14633c704095fff13a046424e89 WHIRLPOOL 348ebbf9300eecaf8de117e3ac372f0de4a6871e573930bec068e8484f99458b9b197d98a84a57243196386d2f3281142822ae202e5aa2addfe549aa43a3d76b
-DIST firefox-45.8.0esr-de.xpi 445482 SHA256 5fbbe236fe80d34c0791fcd8b7492c18ca19bc0b1b093c3888d5ed191739b83f SHA512 71a706443338b306cb924f99ae793e9ad22438ef0215ffe024a4c09fa3003e9eced11df480f9b92244d53482a17e05bd90f952c61abc0f84d49da2291eead120 WHIRLPOOL 333d27f25f178c4e9da9b8eae94f2dbde226e6316ea7b824bca6bd597fdb44c364a6b5811e87f6e7fd7528e0715dfdaa333c5ee4d622f415770f598f69e9bb74
-DIST firefox-45.8.0esr-el.xpi 470867 SHA256 440468020d2babb17f28b13e781adf6e94829dde7474edacac9a8b9b0c0a5037 SHA512 093342acdcbdf81b7345b37fae97f0d06d0b0065160b746fd93c3ca16cc2269203ce2c88c0775c2c8ece5f520fe5cc157abc8e06338570eeb1bb142db027c1b3 WHIRLPOOL 1ca314d78be4518759d7750f4fe253e2e7adce9b92ccb5d4796b9451d0b2d620299f4c02b9a90cfb9957f685d6d6d4156826e8099369b78430b7a3f18fe3ff9b
-DIST firefox-45.8.0esr-en-GB.xpi 423871 SHA256 7716fb13674dcff52cfa2d72ca3901e9d72a33f8c3af051bce89739daecf1f56 SHA512 2991fd0c99fa5d92c4f2274cf9f030c2101a3df3f4a0d66c8d0de0dac300e35475535b779f3a10ddee5964c627872fdfea3f1009de15efa7c490782dc1a58c53 WHIRLPOOL 92798474fb241981eaf6d160bf6e5fe9f87549b950d009f7be45cace64a3c8a9141fd4d26ab84462bc55e54c883443601b472a8eff0bcf56177dbb8cc31162c8
-DIST firefox-45.8.0esr-en-ZA.xpi 420776 SHA256 a9a1cf1e1e3cd9a89698a8b1da8fa868f43216783325974ef966b0b9f7ad17c2 SHA512 ff5b8811480fcf0090604ace45cc17ee90c93c67e7960810643e6296dbd5e684f8f80d41ab52d223094ac1643a68a1ff45877a26104a6ecb69fa3888ad46efc4 WHIRLPOOL 09c86c6d18d1ea99937b66853108367929b4cceab6e999336756c68ab0605a5e99be3d7a70a80f0626cad846880ad7a973197e5c2aca70fb8fffcf4e2eb53399
-DIST firefox-45.8.0esr-eo.xpi 440960 SHA256 61bae1e4100b1132eb534fd68e3889f5f683e65af7fd6165765a2c0203a92135 SHA512 5bbeb04d68eae7deaa48b7e10b7cc6e8e167218e7d803d0b01382354007dc0e5a94965023a1483cf9127ab41efdabb16c201eef294ac39c364d48c851e6cab79 WHIRLPOOL 38a2fa417c1e697e11d3346e9751929324b0ab3e429c37aa5ce7cca592722d95d0579a39316f015f48e785a83afd627b1541469e2475ae2eb37b8525ede2aa62
-DIST firefox-45.8.0esr-es-AR.xpi 441482 SHA256 1a87cf2b1e1f78c8b6ebf6bc5d6e659c9cec002e47f2db5cd8b0b49b7d0ec87f SHA512 2c9f15126b98934634348e9b6318f610ee0aa71589193aba4532a2c523fb78cbdf2bf3e8782d2bf8dbdeb6a96571d99b8d5852b2ee509b65a2556557717f60ca WHIRLPOOL f00c6e1f0cccd5c6c310fb0c2f3e842c68dfa638eaac99c5dbd2a6e9dde6e4e675a0f79b27aa0da09b85bbba60fbcbdc82e8eebbe2a29291040faf424491f261
-DIST firefox-45.8.0esr-es-CL.xpi 368763 SHA256 e05a6f9dcf53e32e8ee83e7350dbb6f0f1570ab0bb460fca5f7fbc884216cce9 SHA512 4550af2e12f690c101662ef94922bb8eeb70752efac309dabab4fe32617c6aea89059cc33138b45e18a51ab89aee9d6b6ee96a4ba537b03363bdc0fc564a0a86 WHIRLPOOL 101bc7eea20f10bb9ec32f9498ffa4dc869fc59d7141ca2591a468a034bcd31c674be961a68c3c99e9cb3e1976866abe093a8196119065f41224ea1a986e45d9
-DIST firefox-45.8.0esr-es-ES.xpi 353716 SHA256 829634f48d92d17c106bfdb58c054793b6016e61354d83e1c16f6c7cfee7a5a6 SHA512 480531e602e57aa64367531314548b264b17f691fdfa9cb0f5348b575ff444ac8b9352e1921ef066e6f6ae339aa94d8e2117a31e3d9a9b2a0682030002d41efb WHIRLPOOL 28e80f631ac50660b79d97b741ade608e1b3aa40341a07754c37771c2279aad53d9cae43a6d51cac50c9667b1a5e5b66911348a2f0f9734c2405709f55b2e564
-DIST firefox-45.8.0esr-es-MX.xpi 449395 SHA256 878fc31f44841162b748828a33cf0d5e906e0bff5bcf0295d1392395dae3e46d SHA512 f8c40adf1ffa170c04261f3053a3b072570b6f332c5c92d28fb95d6fe6bee92b368e3fe9b6996b5698f4b9fdeb0e7c3a435bc4094c75bcb77b1defb193c72420 WHIRLPOOL 916117622eb27892d81a6991155cda123d1ab90b7b4fd062cedf026a6a641de3c62ced0f24286728869e72e8fd3fa5180e248efdeefa214918952857977fdefe
-DIST firefox-45.8.0esr-et.xpi 433352 SHA256 400df3e8d025e106ff6217647bb9be03b75befa6446ef853b8638416665fde14 SHA512 ee0b74f42aa6c53aaa1ce437fb5578d4178e989e2eb41107396b25b8531dfc9b3f7df29b8360cb204842422fd6dfc473561910ea559b1f2c4c98e192f4e35fe0 WHIRLPOOL d750eceeed9726c496c54f251f9735b816bb82e8395e4a64344a27f8556e296c3aa0483e588d8af4346a915f84eb500dda379f02852f74f600afdb725d5cdba0
-DIST firefox-45.8.0esr-eu.xpi 441357 SHA256 650f66dd10372666747891e8ea4ce9a4bc749e9586b69e972517c2ae4a2c9fcd SHA512 12e1cd7abe2562d9ce8057f32cae8f4d9598a2532d992d4795d3926488002ee94420078ad3de87d05e59b32b816ef85e05d5e3e1cc3d0284b29d0e7d66e49abd WHIRLPOOL 25679bc5bc707e814547f486c0a2fba5a7c5b4950760db8293eb216dd7e50e4870ca96cc5476e9b3495b4d98308587caebf0247b2f54c6605740a024fcec03c7
-DIST firefox-45.8.0esr-fa.xpi 491941 SHA256 09d367036bde6791f39dbe8c33bb6f27c4de2c4c5378129e4eb61ce2635e3d25 SHA512 4504dc0f62ce35ecda99e59b2d441d635188338466ed3100d4d658f05aede4bff6a0bf308f3083f74437fd16085d369fbbc99c8c374970fa040dade48f47a226 WHIRLPOOL a9f380c50489cd1d6549fea6d7e0feef7fdb4b6059d7ce73c2d62cdceadeb827905bd8e3d7ff22acfb47fda6ee4260ced43193d910cebf36e09d215d9a8600f0
-DIST firefox-45.8.0esr-fi.xpi 438347 SHA256 ddfb255418d7592bcef68cae8897fc18fe5914829c7502d0ff92354fa3cb8aef SHA512 424cbb470afebf8cb23f154cda888074f1f774c13ac8f2fad64e70ad488759104626e0484628a232551e2a8158d9d8d9f3a9371fd2d0752ce78547edf5cf1254 WHIRLPOOL 79acf0e72c90b0311e52b989417da004d885f8cde7ac6c8f9b295b40f76fd07c91a4695bd227c5c02d57753c4da91a3899275336aa19ec135c4b0028a98b1947
-DIST firefox-45.8.0esr-fr.xpi 450037 SHA256 1ef78dde93358f09dcb596905669409f3b072a58dcc7fedc9187a64ff2dd7232 SHA512 e74d8c750622bd5ac408d9e7bb16388a8d8e09ed6facd92e629b44c1b3ae9ac9cb5c4ac5f1363212736460581855a6499e587a6135ad060d8a89306437f6c96e WHIRLPOOL defa61fbc523990c1a5acde23a405806bf8aafae349cf5ece27a11736f7bb0889a6830fb1b20b603ddff569204c30c6667f07b4945b606012a0a3b493e960b6f
-DIST firefox-45.8.0esr-fy-NL.xpi 447778 SHA256 6170e0272b70dd9cbd042d8521b154f87a39049ab4186c57f4ff01a35b240cb8 SHA512 21cba556319de63c9e8ba3942e32193b9cce4d1c338deffb8e8861febef34454e7db34228c2ba3748a8eb0dc9ba19563a15b51cec0f3ff391e57e6ff7c4fb771 WHIRLPOOL 1a38af9a4802304ef48b867ab769da4ef7b03b573b1d04d7bdf2b19ac6fd65e98c8a50ec677ffd74011d6ec1d1cff6a8b0204414280e9950627be4b9fe5cfd30
-DIST firefox-45.8.0esr-ga-IE.xpi 460055 SHA256 f1e8faf6df095894c5b615caa0df6f476cadfa68dc5f45dea7136c2dea323975 SHA512 31fc3ae32110bc857a3efc42e4cc0b1923e13da9045d040580c705a04d7a7c0cb5568609aa69e9ba061cbe80f98711e280520ec64bb927162563e9d5a275f371 WHIRLPOOL 01f9765ad25d7462d7d744808ce71c9c7a33a8fd867544efff7b04d8aa260f6b8ba8fca0a64a31ba430385b483dd0c3037ededd1a977f098f2fcc4601ea9f6f7
-DIST firefox-45.8.0esr-gd.xpi 449711 SHA256 a11c18d575fd3e572f7d3ee4a081516dab34390127387c73f524dc705a8c8c42 SHA512 3ab2f22947b883a467cbd61dca1be6c45d02f98b61f8bfcf23a4ad75c36400e21b1a0a36af645353ad514c461edef90ca3dd6489738897bc48b6e9cd68869105 WHIRLPOOL 91b21e1405885ea20859fc3bb38fff26eef5dee9707ffec966f4c735454fe8ed671efdeb708ca0381af0a227f1ad58df63c1f0e81241350639ebaf9926e18c42
-DIST firefox-45.8.0esr-gl.xpi 434804 SHA256 b8fb8d3c132d1f5d56bc6b3c24b6c285b9ada68e4c5760bf3356974969d7f8c4 SHA512 7980d21e14cbc053ec7daad9df86383e09c9e3af9a266330fcc093b3433f692d582a9d8d4661f95bc8b32842f5ba2b4316197f0ce228f62d7e22d0b344420366 WHIRLPOOL b9b2c21e2cd5b29dd4cc0a1e8561acf91e256e903ca0085e4dc319b9bb4712fed45bfab0206e616adeadb19b7a45840f3ad6fba4f92095829963af97065d357d
-DIST firefox-45.8.0esr-gu-IN.xpi 472566 SHA256 cb21847120c5c9bb389cf1f94b353d3b448b76296a3882104c516ede2005db9a SHA512 7486340084282d544a0d35f4fa8e4a49bea5ee5be5c313a49237154055ef0649e03b4381882a626bcd4dd207f26ead9006286b72f646f3d0b3fd988b5c80dfba WHIRLPOOL cd55dba2c977a87e1aa621b08d79f274a0dffb2c036e5725db633d8cff66bdebb28219b3b39632a99e5b32e30adae18cb378124245e1d5a0d3a4179e7dbbd134
-DIST firefox-45.8.0esr-he.xpi 454785 SHA256 865ecbbf980f14bd5d3341fff508c9af3c30130ebe31a78b1b331dec1cf30e6c SHA512 cf2996964208e6b774c58af5f3d1877440eca3f16c6ae76209f2487e0c6815224c838888a588bb4f276e5a525d055d332de7f79f8c9be986a584c9d1e445c7df WHIRLPOOL 5d2dadab2f97c0988aa034f1a29206255e4ca56fbbc354945f3bb0e76c812eedbb201217d9d4886ef9b7d4af265f072dcc8a61b84c637aee9e8a3c4c4cb2e72e
-DIST firefox-45.8.0esr-hi-IN.xpi 486991 SHA256 a531c8850809b576a5a363b33378f0a21284388317bf5d24a830d01080db810f SHA512 16e73b24237977f0d75e1e30b9f9e9213fc8957979f2c3d374f8e13e1f4d55384ee50facdf43f98739d6d73c2a025cb65c7f10f328bab2452c36d86b1dd015cb WHIRLPOOL 3b55bed3f74f258420fd0c310c0c6be6db5f76fcc6b1b964284279cf491f110d049e4cc80cc7e7a0b8c7d2752b04225f09d13a3f5797f3150910cd8db243cab8
-DIST firefox-45.8.0esr-hr.xpi 449068 SHA256 4e01fcfcac300d47cc7e7763d2ef10fec67bd24b5ac5a8916152910d2521fdd3 SHA512 486fe0ed3ca50670f680ac1a1c9d1398bd91235d835fd1d11c6dcb71a331e3fffa6c6886813160c951460d1f674b658fa2526865e246686de26dfeb1d00d3c7b WHIRLPOOL a7a9e76cc1599bae79f271b7a59ca3f4bc6d815d10e7cf177b2c667bd1eaa96b1e9c1b12d817255a53d345a6c3b9f6521e797edd340e515c4c28869bf894bdba
-DIST firefox-45.8.0esr-hsb.xpi 461454 SHA256 7643abcd9e9a4183082300215403f2b7a6483bdc3dded68068b68a5b96e8eae3 SHA512 0eed7d95c8678f7eeb84d8bf2cb40f15133152630eacf4555ac05ff69072d6e9c53cd7d166c6f98e824d7462d000bdae657fe3ea2b3af5b58a0d62b556f38fc6 WHIRLPOOL eb94b2e2b64af98a560cb9db0dd11948fbc77207b63507a7fad02a7052fead61acb54960e764aee8ef2c4b5945ba3a4da42a1d6e8088c1842103959e6bc6edd0
-DIST firefox-45.8.0esr-hu.xpi 449777 SHA256 af5f29ebe544af8d94d584b33b60c0aef2ada90b9832570b763cd4ecc8869428 SHA512 7b47f56c833085470120119239fc8674e6c6d3b499596e2407c819b1c8cc29a243e9b1b1b585c3bda54d558e9c562180e0759c8091ab49b9b8f73cffc3669b34 WHIRLPOOL 1cc2fa087802a24a54bb3a3e6efabe7909d4f757f824950c0e49c40f1e7863a193debed6b6d797fb5ac64ebb0b08af6e3ccff75104f72f1d94b3defec85bf64c
-DIST firefox-45.8.0esr-hy-AM.xpi 500040 SHA256 8c3d266ba6dbd0e25d0b24822f88f51daf1796ad72a5f329196f0a85f0c3d1e4 SHA512 e6574c4349ea9abdcf5019b4eaf57ffb99a81e2a7ab9b143bb6e55bcc1214c48c3db8d1f82518c8d7e3b0c5bb99c1f81322860a09f122897bf8a71853ea6cbd2 WHIRLPOOL f69069bb12052f424f7d2d75deb07c2804262f5ad2d282f276fa8d8b57c5d91a9c40c1fd6ffb08ecc0f7fc60439bfa990c4c70760ee7a040ecca72a57c4738c0
-DIST firefox-45.8.0esr-id.xpi 427175 SHA256 9d387769e3e1023768f4cf67d81e7f7952d33b6d821ba3f9cb4f41f87cf32727 SHA512 3776d702c7702598b1536d2b2099dc79b45d445d8982bf6906d5cf1d56606d19b2efa4011f4a29bf235c094691aa34f21d78dc0a098b4e1efe13369f175b4a21 WHIRLPOOL 62ddd4ac19f24896c48df85fc8429c61b10d607f5f9b15d3848292891cb46d3dd7e3ffdb7f590a8c8bfed76dde7a1ad2a3a0236c1cd4e83656fb2b0ba0df4933
-DIST firefox-45.8.0esr-is.xpi 443209 SHA256 3e4ce279d99fc0d13f153b03cbc2f65f55f7f5cf19116efb40304f36775d3063 SHA512 0d6fbded6d8e79445045a73bfc6e0b491825042da24ed186885fc1ef9958761d7a2553b7b5a78892b9c795938cf8e0c00a55681078d20f8a631b50de0ebffa1b WHIRLPOOL 8f05017291b35eb9b2bea25eaaaf079fd1c5c7656d2207936ba0a34158f3904e418b77416338cb422691dccddfb8ab39a97e5eb429fddb6b4b6d41434d629306
-DIST firefox-45.8.0esr-it.xpi 343724 SHA256 4ef4bf7762f371a600b483c0e1331983a5a61c0060df650f375027f782460e82 SHA512 36e2615609f5dbf58a811d9027491b7778f69b15185f8d959e019c8214fcfade1e7b466d8fd6d4444bce99f27a87bf429faa46d0c457f152de874b83b02b2b17 WHIRLPOOL 607dba10dc7133479f9cffcc2e4c3039ff4fbaf5a5a9049025d202975d1af3fc746c4afa0e64261f1c1dac62500b02e36d63ad78b0f29dc9da747801bb206e6a
-DIST firefox-45.8.0esr-ja.xpi 486331 SHA256 c4d19e2ac9b3067cd6fae506544467eac85f5364604a2e973db028f3058ab21d SHA512 2fafd60ffa2190b900a5d560bf1139276a100e9f19aa9b712921d0629b7babb4d56a5bad3126b36630709510a61712807659ffdafe664f5978e42614cd0d1e13 WHIRLPOOL fcd03f23db512908ad19d253f764a1e0b50fa454a8998c0f999a761a90de2bfa5e4a5af8426935e83007b1028ea4dfec18a9b45cdcfcc8451345611c6c2be422
-DIST firefox-45.8.0esr-kk.xpi 498895 SHA256 b8c6d314679d5cb13c86feca37277c0b8e84762bfc676f216ce2a22eb575b082 SHA512 2f9f654d96bcc55d3929c8c432738dedfcc3e1a038449c006d2c140a5948da21b36eb0e9c74a83b5f38cc2eae0dc686af508481d9d04af70af5a7fc0d613bd65 WHIRLPOOL 7ed8ef8eaa9112a2bf774ed06872e3b3564437bbaa17b77ae560c18457439eb670b9367ef25e362d9d2c781f086bba777a8d0a152aa023048289b5494353d042
-DIST firefox-45.8.0esr-km.xpi 504301 SHA256 d19c3611bd7ac7366eaf7d1d9cb29389542a7900769db01e06e87ca67c1b3800 SHA512 ee5e7aae0d259aa9b22e51fcd1c46d20f34030b3f4b1538f82fe56547b9e4c51cc23ac7c6387965abcbfeb5590155ac4add23925fd70098884006d40de9e93e1 WHIRLPOOL d4007cb3ae3a896a9857e48fb757cb30a1ccbbcb8b2c8aa07783b61616d49833a3b6df94fbf37e5220cca18b3407e2255c7c7219b3c4f12a256f7b389c51d863
-DIST firefox-45.8.0esr-kn.xpi 495881 SHA256 233f6358aabc171d80d4b153757400d41e2b412c69acb208e5e0c9ad128cd542 SHA512 1c96cac7922f384e92e244b53506a6f93dbae67c1baf102bfa9f961cfb4232475a20534375d9742f44592b3a6868dfbda25e2b7f4faa851fbf2580d8182cd1f5 WHIRLPOOL 4187cdc9d27e0583006c5566359b647865e0ee88d0c18476ff43df0599ccc97e4ffaef7c71ef262f7956bb5ea4766126cb01015c0295dcd20baa96c00848006b
-DIST firefox-45.8.0esr-ko.xpi 465289 SHA256 ab9a9a655b86ffe8fac739ceb72c9e65b5f765dc90964778d9a6d39b7f1e46f5 SHA512 72358a43d46bc46f0d86c50b1e9eda5baff30cbdca97eb682be627e7a46a34989bdcce20bcf4e1ff87df0a585a5c615b3b94ee70bd7848a2ae9aa8bd05dff30c WHIRLPOOL 0570693265a720481011c85741c6cd50883c32a605bc3cb21ae407d831db2442fad5967cf6ef3d0f1b4e29382a4983ffb144eb5461db2f3adf19b14a091b5f22
-DIST firefox-45.8.0esr-lt.xpi 454678 SHA256 0768f7d2596d33c66fd3d7d9cfeeb1dd91930fa48009c34079227537c436b74f SHA512 388d755cd3adf467c4e1aa3a867fa18a3436fc21f31e296bc3d00e2ad89fc17c8c4c1e9a9dfb7e0e0b598eed6a84b3fa4c9b8bab491c45bd2a78f3c6226990ba WHIRLPOOL 5a8b1ff8c9c06a708b749feb1f75c089614836168a63ee4a52c37a9a707a3926509eec8a7b6e9197d16b3edb1fc67a9e328b89fead1d70dcac40428b381125a5
-DIST firefox-45.8.0esr-lv.xpi 445720 SHA256 ff2ed673affc08ee4b5e65f701c082249990015dc32852e5055048f8a7a803c2 SHA512 bedfabe120870787c38bac69b9a330732d5ffd34fdda99aa68beceb029857a23e193c8bced6a8341ab3e8ff3b0e1598a5f38c76eeace90076c745a65f4611af5 WHIRLPOOL cd2823cf772fd77d547726be6548ab9c3b06636af2391971928cf3b31c57d5f3288546746ecd3720f82e7173d5e3a2b674ad2d6eb0d3eb01298e78aa8e6ff859
-DIST firefox-45.8.0esr-mai.xpi 492650 SHA256 0152e459d6d5192f45dc29935309bd42001e6035fef225b4f098b7434f55f5b4 SHA512 9c0a4f25377ad12d9fa4361681f73100bf5e891bc60fbc62bcdd76d982c9806052b7a8b7ea18ae7eea50e756ebad52a645809f0a3846f7bfb17d3676c23edcb8 WHIRLPOOL 82cd17760f8e4f62bb0433751e669b7cd825daaef843236197efe6f1fc3656e9f3700c8b10daa3d5f01e673374015b5ec18c10d5c5647100ab506bfa24af6db9
-DIST firefox-45.8.0esr-mk.xpi 476391 SHA256 4dfb44f42d1f2442f19c8b082c07f96470f9cc5135b6266957ee567436ee4ceb SHA512 f4b2ceb21f4c6cdf8473c380411f62a876555a8e488565bd902a20c4794a869b463a5d4d090ce34e4237da25ebb987352fb0813c3468c0e259cfcdf7e3e6584b WHIRLPOOL 4b244a4962c9844e7d5f9ae169242f3b5c6378aee156893056398c3b1f1533c133b4d20684594363eef1c650f082cad620a3b648f8022124c8cbf9ae643ff2c7
-DIST firefox-45.8.0esr-ml.xpi 498681 SHA256 c7a35ae74caec8c252339f0c65dcb406303fca35553e0b9665fb9ca87bd55ea8 SHA512 383a78fca9ae5ed8fc4a530d0057d7b5f36a2e85d28096baf267748e4bbadd3c2af3f8c5f4cee8dd26b4ea6b8c7b2e7b510df6b88fe6e41d1a333f1e62625eaf WHIRLPOOL c6a5d075420a2d7c6ca55dcecff07d1412329760abe506c092ed22fe3bf27af3e9bfde2ef22b04cefec821fe6735572640e266990a695599e405df0c41c8f06a
-DIST firefox-45.8.0esr-mr.xpi 503700 SHA256 c5c44dd20bdabdf92c1e5d7cce847d280f43182740c1d0a22ae392284a243b9f SHA512 c48605d86f879d35461f2acdcd75492dcb05ff5c2c73d2bca8457748fcb8cedd1e052770e50947d76e0ab01c7b257c39b7596ce264ec9f1afb7f70ff715af7c8 WHIRLPOOL 1628f4638a96882c2dcef1dd389a1516b2e6612f498b6598c95ff7fad6254d3c2478e1c6dc303f6a6c65f992538234dabe64b40bacb0493a3e3e85ef70a45c5a
-DIST firefox-45.8.0esr-ms.xpi 440065 SHA256 6d8b74dbafd3c490ed345d533c50963a0a5e9204c52d14a28bdda989d84d4c7a SHA512 a0f653d4fea6409180808fb3b5ac1bd39ecce9034c23a598ca1879cdd48ae756aca7bcf51cd13a31d0a2652558bc065f750f96ca7b831ad8ea6d71d7420b7d21 WHIRLPOOL 1e583ca84c51a69d6c1ee98c41bd8853b6fd4031bad5895d5c3834318fd1bca448ad4da54dca4ef874fc623393a7eb6f55140bbb3bc79e7d28abc21f2b8fefc2
-DIST firefox-45.8.0esr-nb-NO.xpi 435471 SHA256 7fc2e833da70c875aa7eaee49a750565ce663c060e3ac17b6cd88a5e9799fcd6 SHA512 f745628e8e84e069f11ec0cf3ef9d6163eaa048092cc9dc23d2968fbd5385544870f677cff47ff299255f0ec515efe60daceab0f0ed2cc0d33bf251df3b2c0b0 WHIRLPOOL 923fefd73828028ce9211ad496b4dee536cf4a2d315a17a9b559e863fee7ef4343bda342f5c26cb3e1d27418bc5f10cec2ba11019d5c09ffb01abbf1d3852272
-DIST firefox-45.8.0esr-nl.xpi 435202 SHA256 ec7725665e885272e51ab0986e19052af01c6179e32a17ca22b64eeb8f6a5d41 SHA512 340eba34141515298498f7fdcd9af42c734905d4db0e0c5427bec127febcf61c3973ca57eb90a2aeaf6ea88fe91dc6159816985185093398503dff3e4a99f920 WHIRLPOOL 84a2cf429e063449154ecfb7c1a090ee5a29d731929807cbebfe8aa9949652f0735b407e98e495297f7522d7bd23b37fb2de1e77be8d1d2af66f97f5e02d829a
-DIST firefox-45.8.0esr-nn-NO.xpi 432934 SHA256 61eb3e0d76ca7cbb69bbf6bb8c9552f469b71723a0cb4417171fe7b82b89fa3e SHA512 1fd4e2cc524eb0d0275f55c733dcf5b4287abd39b3e7b3b8e46187f7d7017fa0ea8011caa129f53752b2c9b2d3139274d24ea468ca0b0d9dc9bbca949804aa69 WHIRLPOOL a832b441fb481496715051e4f5ed4bde43b264b22bfc56fc4782f5e913463f47a8d051e8a2925f846fb8f366f97229069b294b40b1253f988743b8353e13cc2a
-DIST firefox-45.8.0esr-or.xpi 495922 SHA256 943c4c44d1bd776730e098180c08c15a89dceb88b4130a287b5c87ba74bff512 SHA512 4e1fd09f291b4f7d76c167f65348e833b0bd64013422e89d38bc16b18c68c352066975839dfd8beb380ee23ec300521df70ec89a18d377c24539c1153bb73c09 WHIRLPOOL 628921e423fb5dc35a9bcf50382d4e491d2fab3de700a345a3861c2170829fcb55da143f1277c0657fa9622f6fa18d41c03d97c58d49a93caa5e01a156079beb
-DIST firefox-45.8.0esr-pa-IN.xpi 489550 SHA256 bc6d13e6fe2c12b79f55f04f7e51c4bddcdae66696c669f49dac73285d3fd265 SHA512 9ab0649dd9922d7524da8208643e2ac680bfbdcdfb63e793b4ca19600b0deafee44ec95d405e97c29f2721c7702b0a33be9d22f2bed616dfb7f32a64a694014d WHIRLPOOL ae6940ccbacdb982d7b29c53d0c7e08f26cf69a4ecff52251a520950b3bfe9c72773782705fcac93021d6dab96227dc113cd36837c6f49d6c6f081ef370ecb27
-DIST firefox-45.8.0esr-pl.xpi 383929 SHA256 261b3c557ae6e53601504f9ad801489bc33fc2aa62ea6d1436e34b69c76c412a SHA512 aa47c2296db017db74c5c3554bbcc2596ca7492f164509fae3e2c30b43439ee6f0fda0f409a687d7a8ab5f7a7132c324034260db4664bbbe74ec08b71000b691 WHIRLPOOL 32aade7c9e1a9b9224097dbb5e368df3874764ef70fe2e273bfc1522f74c4a7f5a9e9226a4abc499f6ece683f62a7a5e77310d93c06ab29ef0ebf81e2187f0b1
-DIST firefox-45.8.0esr-pt-BR.xpi 450991 SHA256 0959e6b30ef9579b02f8f8ee6cfb148e581329195915d94c05b21489c7d856ff SHA512 2c3e3357d0ef7834e8f4cf4ba0138595ed8143c693e886ad8324b880c28b2e53055333bb039416ee6c996df4cb0f1e37b7d026c7736b604cd05f9b4aff53d92e WHIRLPOOL 1efae67341ee2255e66fd7707b64872e486c76e962f90f731f27fb14d1127dbe5f040f935430b501100822469439ac85b9a665253fbdb060dfd9943313541bd8
-DIST firefox-45.8.0esr-pt-PT.xpi 437022 SHA256 cb61aa1b149eacda43343368b699c0dcc9fd70ee292293ff82e65263edc6040a SHA512 4bf3749917d07734b9e67476d3b80eda0d1ca7dfb5c06804f14effa9eb4a0bbe3ad17755705326607076f2e30ce234a6296efc1bc10a4a6779aad9161b97a9ae WHIRLPOOL 5ad7729a173eebcd8c45e24d5abf3befc00c19aada1686e74b592dafbc0c430df410835012516b5ff2003ab8abd0fc1d4c82f433b7aa803b944f3fb480ab0586
-DIST firefox-45.8.0esr-rm.xpi 437717 SHA256 80b9a7da56be4b82d74ba97ee53fe78609942625a45769a93294a160f5a59c48 SHA512 c466e5d0bf952c88a3fb45a2e7ab29836e4cc01031538d062c4775d3b73d2d485d2d9c65b0a9ee6f46b89b3afb7a2be0f777e6d0662ced656846ed7ccd67a131 WHIRLPOOL b01489135b4837b147e7961ef8240790742405c6b674d19088b68a3bc6a9912d41ebf60d15124e082c685952f738d09fd35eb724666ca7fa3a5c946ef66b10d7
-DIST firefox-45.8.0esr-ro.xpi 444062 SHA256 de6e523e7730f0329a5b5753c467cbc8c38aa6628f0746a57febd36633fec9f6 SHA512 a13d55694517445567127cfc3f6fac57320d2f1bfa452060e908c1585adddae474b7d5df5783187cbaed3eba11177f3d69b1aeb5e73207e43527ebf92a5b8c86 WHIRLPOOL d51b1e4d6471ad0a6242ef7d4905962331a85f0dc89bf86a915e9619d03c6bbde0ce415c003cb49dc3a0704a0ead546f69e2670f23675e13b1ed19d9da6673e0
-DIST firefox-45.8.0esr-ru.xpi 392738 SHA256 0dce53178156223869dbc0a56dfeb203b94770ff32a7029de1af51f662c21363 SHA512 489ff8bdf1431595d01c9e24ed12b5ae9daf226cf4de3c8db21dd3f6b3f4cef5c0700731c5df2691a35bc856df425884f7f16ce4d1af5151e4653505509e4a86 WHIRLPOOL 1a8e31f4c9ef2f17cd69570f611fa69530f1e90d1a042e9a832d60086323949abfd3db5b29e209549bd35783a2ef22f2c89e218ee6294af8068441f55d48ca73
-DIST firefox-45.8.0esr-si.xpi 482248 SHA256 55a3ff30146341f0d1e6c86765248d5161d574cccaca1b5da69565d97604e43f SHA512 0dfe8d75bf1f4250978f2812b9f5305bed5ea7929209deae80bd50b9ba9177062b2fe6e36e5ddbd37f06f08b2fb66f8a659fbab9e8d2b3b7e2e381fd3d16a4f0 WHIRLPOOL b1c7fdfbdab27c3840f677cd74f1edac31c000fc6141086636dccabac5ac07e0e08823ec902318444565be583a368c8dbd1f4fd3f8b24bb2b35ab688429972d9
-DIST firefox-45.8.0esr-sk.xpi 453607 SHA256 b6e248955e8d37d5082664b20f6dddfbf0ee7f9b5151e43789086c6d59632438 SHA512 e9d8a2b983d7fd65de103a8ca511088ae35ef7f9366837ab1b8ec4a1a8106d11196b56fd4da4d8feb21d1003843642c2c8c17024c6992973979485adc50f8baa WHIRLPOOL 8d6a7a97cabb8e50d92c62e991920ae8fbdfa26845f9e7203ef3bd5a180e8d00006d1531a221082f46f2477a0b97a4ad655d96018662e1f8ca289ebbcb806775
-DIST firefox-45.8.0esr-sl.xpi 444963 SHA256 cb23d8e958701534794dedd3cc25fbf85a5238bc0a89ecb479a2550df3fe7f5e SHA512 3a082a0158767e4684e74cb1bb055c75484f8b76b2a1346a8395b4c84ee95962dc28b92332be635d500c1843212fcc738a419cfc27fc384524a8e8c61fd6d156 WHIRLPOOL 636d38c490695abb2663d9f78fb85507ede647c1a1f6e4b67094f2aca61ace673c7349a5cbc0d9874bcb41783f57f583b3e34e962efd09585a8bdaf78912a2f4
-DIST firefox-45.8.0esr-son.xpi 433513 SHA256 337fba617b16ada119fce0b07a6b8658656a65fd5b429e0b214654fadcdc91a5 SHA512 26f8db03991376a51e78f2384c195b1f50ad872bb7d695a3a10b969003265c1a4d8e9deb531a9f6ab70251b4bd038a85c302bb0cadcd61a9998a1c2f2e05d276 WHIRLPOOL b0ed5da7e27e3fd064dd844b610ab64fada3591fb891ec77069d21ced1b20de687a2f7f444f50f4225c30035f1cc4f432814ba977f1f03395838de1dc4dd9889
-DIST firefox-45.8.0esr-sq.xpi 452186 SHA256 c7a71597dc4ca54984200a0da3837100756dbe930eda21ad6ccfab0cc2700f1b SHA512 57efcd1e6cfb35d92dc6feab85dfba63d181cc99aa01f5305976cde846fe06f7f2df6f88632e608958f15b93ae2a0dffd5bbaf31351718b5ff18e86c64cb7049 WHIRLPOOL 7a5e3d4b9246ff726c4ca527bce44b34ba6109d2f3c172b3d385d96a3136e64bde450ec688ae0360b607ce53e6f1f4dd895af798391a7b5e8b4b48ce1f29f5f1
-DIST firefox-45.8.0esr-sr.xpi 464478 SHA256 7185fc946328646b1a80996df71a4f8d02c1033c5c84b546eca01851bc6df337 SHA512 07ec9f68611dea7d54f1a652c2ee884bcc3f0588f7b65c47cfd914c2be4d535781aa0881de2d405f3f09f5a918d5db2e6bf751249f9ac091e52c88545d88aecd WHIRLPOOL 6dc4926cb498c0cfc51f15bd5b1bfbe6cca98f1ee5c2b1807a1f6e664eb2eb38470618b1b4715e24a88ff1e4e765e9316b55298203d2a3c73d4585512bcc00f3
-DIST firefox-45.8.0esr-sv-SE.xpi 444213 SHA256 a9a9dacf53e510db5fb0476af2f16f3508bd955aecf5cce4b522d07f24c3cafd SHA512 39328af2752565fb7bcafefb77210d7e623cfd6df0006c9064466e52330162b758ca47c0a3fafdc531cf03c5e64b1dcfdc2bb1d023d7651d2276ef45f1957b1f WHIRLPOOL 0e7514c7f3b70ead658cf9d7a649991a65f675d81733120cc8c0869077fdad621a8d95f3cc684a82a3c6aa6946667f89f7e29a0c58cd09c820d57ef482d8a94b
-DIST firefox-45.8.0esr-ta.xpi 483118 SHA256 f3c24960f752a494a468d878da01e114b886da4b547c6bcf9fbb618a54c4fc93 SHA512 42beb40eaadb295b63dcc5eceef7bcfdc66ade7609d0a8ad81a15069f20047c502e67502a5ac93d59d50eedacc99b99aaacb2a0218090dd55cd2e39921ba3134 WHIRLPOOL 0c5a99fbd86a720160e9da66bbca3dded3c2561715860d866223cb7b49d49f38402f1b0d25a18d70f3f51cf55472e26e3d1757cb7ead9e593065645b52104472
-DIST firefox-45.8.0esr-te.xpi 492471 SHA256 b8d11b842d31c933e6e74fbad3eb443b7e053740d3d5d7fd1627da8415a0c17d SHA512 c1e35f7a2550b4f592a63ba3faac9f31272dd30e666ac2093c8fa1ac1b06401851c4aee61136f92030001e754bb45d5afad8bdec6d03132f61647065a44568e5 WHIRLPOOL 87be1112155381be281ffc4443d0a74cf7ced1267c0785a3e6bd8e755c5bb4554070b0491fed783777c41e3e88079a5425c2dc2284542e84b0d61947a69db18d
-DIST firefox-45.8.0esr-th.xpi 477650 SHA256 3fca54e4c7bb453f8000d87759a1ec5bcb63e30efc3d5fd6011a0b6eef890936 SHA512 d2534d2545914778ec10ffaaded83b7afb45a17df192ed03b06ebd69446ee7097878e00d27f216aba9cbdebde65a0b613552c63089fd4481fee3f8eac984e17e WHIRLPOOL 187030e7900f6ffd09edc24d47953334d31d515842af2cb7d8905477d9f61b75ef7b886042b00f5531f64b43de419fd4fd8bcf9183d1ab415cc98607b2373ce3
-DIST firefox-45.8.0esr-tr.xpi 451166 SHA256 17a30f0df5ea59969a7c8f12f81fe40db80281ffb45db770c2a6de5d7797b20c SHA512 148a9f8faeff30c52ebdff384cf0ee066d6919bad1e625a0ffa7f74e262bdd02ac675df082596760b35660418e52f7f8130ec88164ba7ffb72aa694491bec05e WHIRLPOOL a2dd0e665540a8f1c3fd20cfe34d261e694cad949d1ba61a84aae375eed9599894556379b1fc46d1b5df478bd8c12643e4fd022d600ba98e61d15b741aa17d67
-DIST firefox-45.8.0esr-uk.xpi 494780 SHA256 7fc8c0e84af1e730ec9cb93f18b889e7ca35445f04081f1fa00c2a19a00b7185 SHA512 af6f8b7b68067e34e2ae9d03da2728349ecd32cbe007e642af02b9bed31ebca052bec92e5edcb82e8fc2553cd6844f2493109b0e1b850b9e8df6c9ce1c310cd3 WHIRLPOOL ec83cdf2c4a02967f6521101daac2164bf9333c2dfbb48e05b60662ee33a0001d24d691f05a49cc734eb03c8cae2d24b95551cc1089f4f91c1b4e55a1a37d0db
-DIST firefox-45.8.0esr-uz.xpi 443803 SHA256 aeb237a07f02f7680c838518c1ab4c9450a2de87690e1d92b1ec5d317287e399 SHA512 14b90c16fbbc15b9656e71db746f6a749a16ed7693f2ca1dec8354e53f6457d721550395357e8a928b956b24e93fcbeaaa5bff9a8b68bb2a34be16a5a8af4d51 WHIRLPOOL 048834a3a1e22fa9a0545f6f8c1883eb38cd172279213c6869af70928af3e126489f42739991530f615fb7b27b9080f4395f3cb403ca2a473bdc6e782076e29d
-DIST firefox-45.8.0esr-vi.xpi 450778 SHA256 6112ea4ddeb60109f656f902886c2b59b8cb1f34e6c87b966fff558e5aa8561d SHA512 0dcd05212fda5d34436172ea148107a042815bf2d0df7dc8fb3ab575f4b1be4b10a10644ac14ee18b0cf1e7f021215e715765a750a14b271021e31e9c48f5176 WHIRLPOOL 1408995c2d1ce0456ee4771d92e48257bbec77df15e056518fbb648dc5af436b1b6e77bcfc57851e6c80ceca2ed5f9d47144d5067b31f2081264d349f347b66e
-DIST firefox-45.8.0esr-xh.xpi 432918 SHA256 d77e888447b44be1716f36f36f599823ea619e6b58673d21123b171402b05203 SHA512 67689b6515935ea58e8a38b700ab1eb73ddf2dc597ccf08d41267483342343101f757fb2be97eebaf561600d5bd5bd4166ad63d6081eccd07c8d0a1b06014de8 WHIRLPOOL d9e1dbae5da26b90654d136425256af688f4d910291b6cea70d934478be4bff59189ce9fb88f6860969d5c3a14d50578797a9947b0931f0a9c8dfb7731b1746b
-DIST firefox-45.8.0esr-zh-CN.xpi 475797 SHA256 295990f964e9926f20b6a5f06e06686a88a9199a7e4a48e9fa2132e6338cff0c SHA512 5060fae862325558a1965c17d40fc5dd106da92b07fe1d9e89858597d3251737667166d4df073ca701f633b5ec5f4a3f8321abb59c85a5829f2bcb58b75f08df WHIRLPOOL 00056c6e442134a0895da420ee18c07806d2c41658d396dea6e4917238cf2b7a1dc8cf51790dea46fa826b0b64c0cbe9a6fa0fca9600ae9160a6595dcafd9abf
-DIST firefox-45.8.0esr-zh-TW.xpi 466529 SHA256 004c22566602ef5c3905f0d8818018fc77d9f8022c97e15bb9f2841c9711fde3 SHA512 5cca12667ee2c283ed13912369c3cc20983c891be4e31a912c3167da7eaa9b6eee84d7ae2c67ae09c336d6e03360181d366575f89690d4c9761c5d80a9c7edc3 WHIRLPOOL 600d0e128284513b2e24bb951ce30769d27423290ac68b5e7309c46ac0c9fdb17bfc46317236e220145d950cb13c45ff02b808412496816750ef48a4e7dff889
-DIST firefox-45.8.0esr.source.tar.xz 185229628 SHA256 7e28decd81f78070b433c69ebd7498f2e46e7cc5c5c6bff9a8cd7380d09da17a SHA512 f7b5e0c659b2e824cee7f3784e2d72c562915af91c7e316ec1519305755d2126d91b74c47f96c8b4fc7377710f295545c58b2f989c65c268fc23677ef8cf5c85 WHIRLPOOL 75f04e3666cfca5eee698c1ee9724b6ffdc5fc71569e356385ddb9a161667b870f52f00dde5d914a81e39253a1db0574b31612507330d6c0f884db0b9a40732c
-DIST firefox-52.0-patches-08.tar.xz 10084 SHA256 2acdd54fd4268a1a1a12905fb3586981d55bad5269b8f380a54aa65fc4268a4f SHA512 974edc753230429a52c820c82d8b78ea727b1e42a10fcd562b9e4173920f369a78550e6517e32cfea64d19a92c658ef1cebb29c59165fe8aaa587ec20107c835 WHIRLPOOL ab2c1520bf795ef48e564fb81ce812e11e7f4f4a2fe472ad85b045011344f359c62ec0c4c83e4ad196d3d891eef8ef52b462a77b6f1485a75eeabc1487462410
-DIST firefox-52.1.0esr-ach.xpi 427640 SHA256 aaa528f7f394e4801aab21d0d6f0313fc8a4b786873dab9c004c2dd741095c7f SHA512 38cec34c38afcba34c6ef397ff0c54a318e905d8de9d8f321e689fe7c09d9da56e816e2e0dbd975611ca6fa43c32e73009043eeb61adfb3871af018555b21514 WHIRLPOOL 473ef1ada7e666f011239b6616ba8a9c950dd872699b90b2d24aece1be28e8c3361739e44714f7e51ad217aff5670003172de7256d493514d06c04c629bffb5f
-DIST firefox-52.1.0esr-af.xpi 436823 SHA256 2bda3bfc9b83a76df12234fb68db9bad1f836593b760bcc5dd8c831dff06c994 SHA512 6461e167020dba3659260f5d08737d3cb1eed5d8ae243697ea9e5ee0b20d97140658277c2b7a326d5d48749eec5e23bb3d187f66447a84633acbe81cf8f235b0 WHIRLPOOL 34db35bb2ae4957c666e5b502b1c3664b8701529d2ef66f638b6e79f360ffe3956c5ce0a065f771d180ada10e33d96a1733a4c8e43df97f95863880ecb899bd9
-DIST firefox-52.1.0esr-an.xpi 445142 SHA256 11984920e096e97b7defa905d749cebf4c4d5a8648bc9263cbd008f8bb9c9af5 SHA512 982f5c30751148f61913dfbe610e40111ba2c98a65023e6a483031bac311e7774338e348d5d3501494f2f35a6ad54ecd37c8990e95716e56dcf169f13b8c0707 WHIRLPOOL c062b279c75534a173f452853f51edda03a2e0e8552a84fad5138c266253ec52a567ff11315415e23843b8d5623128c3638e0f3c9367cfa310124dc4a5944b99
-DIST firefox-52.1.0esr-ar.xpi 473382 SHA256 6fedf28099b26244349b8cfd85c8c0d3c44b26e6fc888498413cfad923a8497b SHA512 d6296b46b8dc8aa769d7ff7384176b0c93335d4c796b4b1fde9cbc66a32c1838f345034cddaae6ab404d4a1c626c2c5ba2021da851b53db9ddb225627bb1bb59 WHIRLPOOL 6fe766b9335b66fc3e58c03ff407dc61a7a734aebd71f8b4d2fa47dede12e7e3050f4565df35dcef3fb568f2e490c25fe1e90327b5c0364d5b6e9e20f86d2ea6
-DIST firefox-52.1.0esr-as.xpi 486888 SHA256 9c64fa1854a0b8bceab3237b7f9516e1bd73cb24089fd4b422b3705958f847fc SHA512 4c1bc0a109b842d6442a318b8e804bb4e365eae512c63c057b29010a25a004abf6490de8fe33c29de9ab18e16db8e749dd4e17ef705019de46dfbba5e5d0c355 WHIRLPOOL a33d817bb1d0181464e235613d1fb325a758fea41d8a8704cd3373926dd9fff61b1d238b0876ef59c3b0117432bebd85dbc49188d1fae9acb513e733a799083a
-DIST firefox-52.1.0esr-ast.xpi 440033 SHA256 2feae76cbfc4a12f8c2ec4788bf16d0ccc1257b90f4d182e7c3d64ece636c0d5 SHA512 324f6e58ccabc7b3e48006ddf7ee78ab92b209a0109c5c5ba832c48a0ee1fcf529ae024c59556109d18351ab947deb4d2d1b821a25d30993a58fd01d7e88053d WHIRLPOOL c48c7c1833bb11fe3bd799b1a23b88e0dc5d2f8cc26b67426d71fa89a321e00ff174f9d570123f16c522a10ea4b145348afa5bbef0417846697b39800eac68a0
-DIST firefox-52.1.0esr-az.xpi 454923 SHA256 7dcc5b97f3ecf887f7372f39d050eab1163efa02463f2d689b50e458c75bf8d9 SHA512 87767c5b3ca06dba9aab951f68758e39821040b7c889118e2e2a9bf2f1374e6dacc95cec1da848195f4ef5e6e086b49128801575c7ab79aa5e18a7c355ad6d6e WHIRLPOOL 7014e9ae2c5dfee5cd4a8175b2029613ad5e053d67b9b2d28891cca796cfea4aea4c0082a93a226fce0a5a21f7976c4943bedb7424578fbd2a04bfd3b7c26324
-DIST firefox-52.1.0esr-bg.xpi 487891 SHA256 abbf23207d9704b2fdfb2fa3448d07640c4d185ec2a9d427ba37d6aa57886a37 SHA512 20ce676620691d7e7a3300c6c8ff0644b0571cbec14fe83dad95f8778e82188bddfe423b29dc1badd70fb74ec7b3ea6549313c777169fc0b041d8aa8c3eb6dd6 WHIRLPOOL f09890c3cbd0a6a2e6b26b1d46a790b5b7696e854f2de87ed274c93c1dc0266690559c29074f773b066003ff0bee28a1ecd863334e09bee5e22dcbe8ba56f970
-DIST firefox-52.1.0esr-bn-BD.xpi 511994 SHA256 d697f0eca8217f9e69738e513e82f02cd301ffb42ca1133c8ad464930404c554 SHA512 297eca633356cf6289df8412999a805c7fcc355a15b218fb5146e8c73f8d8f3368ea41c3472750bcdd9805d9a5d2cb20753167fb11edfa7c6d22abf453643b4c WHIRLPOOL 53d1221e238801e75df04b40b66d7a589d1d9d74050cf670d239d7b9f7d9abc4027683f885c28603516bb7974030b6619ae12f57fa2bbe870c39414761aa19f0
-DIST firefox-52.1.0esr-bn-IN.xpi 509375 SHA256 2669ff2c9c89fa4c10d0f95f08a677420c1a7eaf6e5980c1071e2086fe493990 SHA512 72da400468cf4e18efb312fe275e4652ca197ea3b05a0a3ca97af7d77e44bba5ce496e9a6ea8a4bee7d9d0ff7d5581345fa6450ecba568f8127b57e84d7e15d2 WHIRLPOOL 8d56e812b84635fe6193a3ce97c6f797664a3e5045dc4af613e7a564067c9666d538bea21ef2876e3acc848725365be3f408576302b6cdb862cdccc2b5fab165
-DIST firefox-52.1.0esr-br.xpi 435482 SHA256 97608859ead1b10dc1d2f05ac4bea632ccbe1aea3375a28b2dd36abfd2f6fdee SHA512 a97a988e20dbb788003668640818ee02a16ac8638de9cec9c2b2d6788c28ec94bf6333dc0dc8a53551518e710a409f26e8d052f4bc8784d1da0b68a829e43a2d WHIRLPOOL 02d7f23ad1bf502ba991a7fcd368f131ac5ec0ff7f9a6799b7cf22c014f33b9b3d1b413494429596cd5bb7357c5e2758f9365dce4ef767bfd7cb2e91a025fc6f
-DIST firefox-52.1.0esr-bs.xpi 441782 SHA256 3ad5709d451a32ef0ac51468588e41e3153bec352221b858c56f82d6cbef55ce SHA512 37cc8f907c69b5588bbb3e369d7f76156425beeea76985e910791e72fe67b299139e113c140bc96fc7e02ace885c7b978a501934ec4eb282a63e9d6ef34e5ffe WHIRLPOOL c04d46a79aaaf580c1e74c00f5de6cfbc0207b030f2fe41d73b1c50f4ac2ba590187c74d24c81caaca11334c445977ed3b3567d6759862e4953c9f78af0f1b8d
-DIST firefox-52.1.0esr-ca.xpi 443303 SHA256 69af86fe9453373c3b41dc9cd370917f563eeeeba750eb6d99bef31e6050de70 SHA512 497335a6d153ccec32a78fecbf3eed2f0f575cec86d86bb33ab0a96263a9f5280a33af2818efec0be655ef9e2b6469f80c870b9979d520faaae09c7f99fab60e WHIRLPOOL 66417fa92813f3ccc3edf0cb235517ec8ac3a83e53fac6e9486ac4db6af8ab3d486f23574b938cc7cc209a854b7e9f73e6f88bbf88ab7b17dd2f09f52e140fff
-DIST firefox-52.1.0esr-cak.xpi 459183 SHA256 d6fcb9ad56964e907f1eb9e12792152fcc15dda69658dd4e4191057b36dbb219 SHA512 26b25b071c63426ef1079899bd241b1ce3f3f952a353dbb352d0fffe895217d22c1c0759de07862ec300b1df35b84507bf1d411e391fd87ab6fc4ed47ee3fdad WHIRLPOOL 0173af9c8636f3a1810b01a1a57f1262f096f404082e1631ea567f3ce984d3909335b0446599e1f6e5fe6b701476fa5c7e0007ef21a86688a95c8d65c63dc93c
-DIST firefox-52.1.0esr-cs.xpi 444075 SHA256 0fd5d4786b639fc44fbb8b4d7bcdda883da58204f78fbc55b684139fd72a778a SHA512 ec2e74633218430be0badb387efe7a7ed2f4484b1f25339b58ca4b190aeaa209e9b01a013ca5c30b30b1aaf6d1c7f9b6fc0e0290819ce19fd832748083d5ac2f WHIRLPOOL 8f343361e23bb5f46f689d2837d60628bf62dfac2bb9f6c69064d9255bca718685fe1bbe2e22a50f40cfa1c588c3e912450cbd5f41a26a15ee9520522458d38d
-DIST firefox-52.1.0esr-cy.xpi 436583 SHA256 78e2c91debf309d1c69f86e1ec8df38a006c23853cee5de87c298167daa47213 SHA512 7fd54b1c60672e6789af8a10786538da97da4236d92df22aa5d001d6cedd3eb9b58a9ed2631c2eec53d10f558058a67768194d5ddf4946d3e2620831a08c1555 WHIRLPOOL 2ca242ede06cdcb7d917509f13116023c68566cbe3095dea95be861883acd87833c7699f6757a7f4b57cd823292aaa3875ca8f583f20d0c024f86db1d26b4b17
-DIST firefox-52.1.0esr-da.xpi 424394 SHA256 8c73cc13da9fddf78deba643976fb43d493af3e66cc7d0260ecce0674c517189 SHA512 3c94f6e45dacfc3db1eb80d9a4b09c3c65f54c8eeb38f4ef5c8db6d2d326c80777edb940ed774594ef77b9e883aa71d8932f7259abfdb76d2460c680e2dea1b1 WHIRLPOOL c56e1633822f759c7adf08a91036b383afb515525d1746765d8befe4ad9ec4a13f71825142e3b6ca6698d1b79111004527cf2900981a3353e4d589e5ac7cd26f
-DIST firefox-52.1.0esr-de.xpi 442478 SHA256 9a030a63136583c071cdf57c2d857ba1faa2e43c1fb146f0dde48cfb0563e3bb SHA512 3231bffd078676cbf3386f7f554b0ba877cb81ad127ec0d6fb0d66e81b8dfbff40f50a0e700e9c8c4c21c4e37fc3735b3e8da5fdda11677ce041680e2af01acb WHIRLPOOL 9daf2b84ca4e405ebc9bb38d612839beac0db91057aef77ed00a3f3c87948a0b629113c12642be07903dd56222849ac17b5447340b3517485821e8583d2d9560
-DIST firefox-52.1.0esr-dsb.xpi 459424 SHA256 7f5078ed137a74d6e441edfc09e2dae084443f292620b4ae37ea29b99ba004e8 SHA512 5d85345caf89ec1317e4587bee979a349df8a2a635c121a154f939bfb611fa3f28691c4a4c06f767fbf1f038107a1791202b0bb40d91dbc9a58386b95f4571a9 WHIRLPOOL b01671458dfd4d05ed6409cbf4f0d84a9b1a8a47c7d301cba750dbbbf179e859df28d9291352a66f06f2daef92ba330ee60b862852fa82f8e4c55930460925e2
-DIST firefox-52.1.0esr-el.xpi 516592 SHA256 dcb41271678ba967bb8f2df01906dae87e4d14386ef1880675212988d9e01722 SHA512 a07e013354da15ab20bf08c8741e2a10bb3dff1208aac6d807b593045f3e150609295920737e9e9e33ce19fd282b6f1b2335a4458c99e094d1e1b6dc9f967376 WHIRLPOOL 1997eb7f7112063433825682acd40221aa24e222ef909818f1c149f01f4cb25d3fcff7504679aa0f3b20db3aa078ffd8903cd63d1c30fb9bd5f3bdfebc6e3c18
-DIST firefox-52.1.0esr-en-GB.xpi 419323 SHA256 24df2612d92ea2ec9b69ac21f377b0061463c1025f5259221c18132b2ed9b627 SHA512 595dbd31eecc6d2134c951ee4524c8f9e35f2423ae3e8cb2c1b0e3198f475a180f0509c2a1ed3ee33ab03865247b3a8ae341914961aa5659d3e6f597da3177cc WHIRLPOOL 6902856e35a5180519e54f02ce1dcee630159af89d46f5e5d63c159f162ac2dea8c2b9911b620a2d457be7a2164eb863cba44b5a6b2149920d0fa9f1cbfd02c2
-DIST firefox-52.1.0esr-en-ZA.xpi 412211 SHA256 00c764b77d38eb66f1975dae4e7eb11c64bd908e08831c98aca1d8b128f75324 SHA512 4f99a37e5a89bde777412e5a17a65a56fe1a2dd776d67bd687c84a26af534bdc940091c7d3c4a908a1130d420debe5ffb23d173af07241108ea8542a427d09f5 WHIRLPOOL 771c619ef545d4231782ea69cc2915109657a0ab29400dee751d6d921ff83c604b51b3f2d40c2bfe7082dd5716605adc8b1a57074cee400b0e311d1d834beb97
-DIST firefox-52.1.0esr-eo.xpi 437473 SHA256 fb85aa82a8937bd36f722a31e47458e62dd74425172222c303408b3a7310aad4 SHA512 8c9087296a4653b3ad3d2f9fb505636d8280a6ceda432ff0446e8f333f0dbb6122914514cb1e451dc3d935337592e82be157d38ea8f2d149c28e627c8d8d31e8 WHIRLPOOL 4aeb69ecc7b349de73265ada108fa868a7541bd2eaaa85509dd02e5e12737f56a31930b8a369fb59335f4015ac71fbbcdbde8cbe249d5092fbe7ff4b8607bf70
-DIST firefox-52.1.0esr-es-AR.xpi 445925 SHA256 bbf6951dee0edd98af3a6817e80bbfcf263f1530abdf1c1305c607fccff9c4d7 SHA512 17d59ad181da6350e85abd7aaf50357d34fa70fccd193965b8e94c9321d2ac3e4c3d9fddd54221f1ef6166afe1a69f7814581d8670eae20e28f1f86f91ef4d14 WHIRLPOOL c990f6e3029a84ceaccdbd220f96f051b0e309f71779c2eff426855caff0b730c51091ae3147b048b834e528420ded2978f487130bd4bebaad83ec51f2356ed3
-DIST firefox-52.1.0esr-es-CL.xpi 445675 SHA256 b6e62a993c5927c99feeba35e932ba896a14c49c4a8fd1e7f8c606236f263df7 SHA512 10e1a7632a9df02ec10e3d4d52c87c1a314efdbc5fe26cfdd8138ed0d2fbdc21d4c51d78cfc8c1ff231d7f9e5f9bcccbf01004ac703dbdec29c643a4d021c458 WHIRLPOOL 6eaadeb982e70775a1b69354e5aa8ee75ff68d6ddfc3c0daf82dd22ee787d77ec943efa6d7a4815c9b055cd9a1647cbcf283a6bfaaf7c85d2a4332a0352d4912
-DIST firefox-52.1.0esr-es-ES.xpi 344875 SHA256 fbdf9804d4320a286ddbd75108537819f13979a45d1a16f31956f79bf01836f8 SHA512 b8734d55f29f557c868ad35519fda1acebabbaaee641b5cad3bae3ade7da96042becfeb575c387484e6c0017cbfd917e2de8e86f84f33ba9987f8a27a8610c70 WHIRLPOOL 203b83eb5ff5a52bfd18ae4724f82ebee9f36ae2e722b66f1ef96fc2246450dec62dacfb7ae67bdac8815ca1af0be3f16ec30cc48a0eb43f6828e7b908368816
-DIST firefox-52.1.0esr-es-MX.xpi 448384 SHA256 d118efbaaa7dd43b1e952691df8438f7243e8783444f66167ae33750919b73ce SHA512 5a25db02ddfe193f4e0141db8ecf61cdb18e19493611efcd893f7d681e83b2feffdbe0c32ace02bb0cf1c86ce16bd3c987a0b93792c5dee718ec4f5ff40c0acd WHIRLPOOL 4b72124302c4e67fc0905ba0ecc76c7ccb7cde9e4a7cc4ad151e2209947795043bdb7b5c10a84f760f8215f35c07252da3ed76eacb735a8f52c8eed1a224b436
-DIST firefox-52.1.0esr-et.xpi 425112 SHA256 991c77b981d6d1e4b4bfb6e236fd33bd814aca3212967c2e279d98915ffe3838 SHA512 d67c557c04e98304fd3c88def498fa133ecd6c42ea71a42071ba9e11bde89ce6bccf8db3ef98a5c1a00a447cbe35de10bf2d4118d22040cdc5f9327d5777ef2b WHIRLPOOL 50608b715177bf7ed7a73759dbb4ca2e4fbbfdc38db4a33885597f21eeb348fadf5979a1e32b338e4cf6939203ecc9daa3c4dcc09b7a2dc688e23eb09f121f40
-DIST firefox-52.1.0esr-eu.xpi 438478 SHA256 ac5d0468e00e9975b1ab7e79f73d662c185a2ab6f3976f67d8bac9b45663cc70 SHA512 59aec763c4d9145b1a227b6773293406819f405623bd7cf15c7d29dc6d8a13d6dee9e7be6f1f8de75918a86ee3d937aba446e1fae2556a98e9039d342d15eb71 WHIRLPOOL 9d5ec2879a159d391b2c15038941317b761943569ae8025db074d5c865bd4debe6aa577e62502b823fb9196c4ba1387392d71f08040fd846090a1641389bf333
-DIST firefox-52.1.0esr-fa.xpi 491343 SHA256 907622303642e0d5a09aa6fe4aa5eb5bdca70701ffd57255c1fc1083b89dde82 SHA512 2b78c756b1905e06f86e602907ed03edc16899ad18f3ac2393eacbddd97c8583db4a75b731b72ebb6a844b1f1a8d66ab8a1889b5053b8808f767ddafa9370ba5 WHIRLPOOL 277677237d46376946339202ef94143e2b1e914c25107697b535a747e97f3e3d3a31b7296684baac83a9996306db1d895e988bda97dda9fd0fc23318c2c1627b
-DIST firefox-52.1.0esr-ff.xpi 440928 SHA256 91be72df5b6a67b36c76a609cbfb4431fac3d1208e4423301bf4b14268200056 SHA512 a93a0f00b62d7e809b47e8871a6bad2d1ffabfac87d277c31451b7e6c7f01a98e4f2e2494d8f249806e9dc90b8c34c0d96c81b56b5e97a5defdadc333901c9e2 WHIRLPOOL d14c91708e717198805d89b3fa562644d00d92242a001d102da2c033d4e0026267e2171833135ba0629a565b9be4f2379e50203b50e4337d4d71e7c878ff8f4d
-DIST firefox-52.1.0esr-fi.xpi 430061 SHA256 26bf0fcb296bfaa95b4a773d5b24bf5591f67562b5526d4112e772247723210f SHA512 8eba59c760771a06f066b50fa2804c05fb97cc722d14bda09c79989a152b97fd5e090928f3f9293341a871c09a36144074cf1834cce24c8fa32ae54cd232b043 WHIRLPOOL 5a3c479f718e7e0826e6d799f8d2afe68d2d24c076faeacfba4ad73fb59d0e889c1888dcb0a8ac58d9bf94e70197234a8b6d145b41d286422a92db9a6290d38f
-DIST firefox-52.1.0esr-fr.xpi 450210 SHA256 871f861ed6dd9256efcbe0c37937a91323bc61344eac45ff96d35eda37cbc7f3 SHA512 2054a4cf1c5f89eda713a19fbcecedd62a92bfcbb16fc577270177086131bba3f85075268a3cf19280bb9a4a63235bec58fae6cec08083840c8e214b3b56d6da WHIRLPOOL f6fb48d45295194d0f8d1d98b860d7f5cd1db520d72807ab40b48f6694164f448438e8f78619664ce6b5c4a55f3898b5eaec993415ca6c741fc513643056499a
-DIST firefox-52.1.0esr-fy-NL.xpi 444973 SHA256 121e2d3d60f05b9715bc78c1abbc4da96d8433b800721ff54399afff6dbc49ca SHA512 91795dbf57fcd69eeb4fc056838f95a597b388fc9d0a3ecdb8a234da411b7fce8f3e64961b5e728b256b03a2449da5cbb757da351c9fa3e7fd5b0ad15c4f8adf WHIRLPOOL 6b78e88511370c1fb50c956f8af8949bcee218a01fc161383edcb4a3c86ccd521ad1d6008cbbbff7ce1727271bbdea951ceeee6b6a2e03e0cc8f10e2340664a8
-DIST firefox-52.1.0esr-ga-IE.xpi 458164 SHA256 302f5693f5be52c96e5261b6552d76f7010aa5db007d8956967d4aac5f94b095 SHA512 7e748bf15611a24739088387e0b40b929bced920adfd3454b458e695fe3f2384a8db55fa189d8468a238697de2f40b5ba7c82e40bd2bf4bc182079e168cc786b WHIRLPOOL f2a12017159d5ed83e45c5bbaa760bf398b596bbc4abbaadb93a984ed4ba9c282f9d885e0d56be28f464495fc8fa31cea2c822c7feb89621e88c560d03aac45c
-DIST firefox-52.1.0esr-gd.xpi 447267 SHA256 756e9e47cf0f5fbc16ee6e697182c1738e8aef303a4b240b82ac61cfccdbabbf SHA512 7993229820a45308711aa863c704dcbc28e4cac0440f5bd9fd47fd195269cf0e3a21776839a1515fbc94b9b38cb0f39d27090b85acdd1b3a7c5ab37399052dcf WHIRLPOOL 34d655cc2613c6d4af55406d55573e6ce97e096cc00c1208d9b3ec0c9e9e5ac819b8bbf6d9cc0688bd0104b9673428592e255f23c2d9adf2a1d6631faa1507cd
-DIST firefox-52.1.0esr-gl.xpi 447295 SHA256 c88a2ee3dfadc5a0ce92bedc81a0aee5f28b60ab6fc025a3252249809d26f630 SHA512 c255a5da38099bcd4dae9ae280effd2cbd688b5018b5f0cd585e596db93a67a93870b52528ab46cf14fa394e39ed968844056c3de56adfe6e8250659459fa8d8 WHIRLPOOL e79f7d9ca9f801e7b5b04d393b492796dd093106755eb2e3b64f04e9bf1fb115ce10291771c326b756417c9d41ebbcd154d797677f602a0ed0ca47623752003c
-DIST firefox-52.1.0esr-gn.xpi 456213 SHA256 66e621462c612b7857489511f888ea14645805d0eee9b679d04238999ab7f9b2 SHA512 a54fb90b7b4d2c6fb7cf63631da1ba7eb513b65bb9b5ca60944c60cd453e2a1c3c6e74d78d7db63169fbfa073dda6b074d887f62d562fe4422f67c7ace4a0dea WHIRLPOOL c63074d737068caaa2abcbb6cc06695cd38dca6e75808a4903f052d94d6aae0859cd56ba7455c32df7bd46e8760ac35b54440006b38e3584e297e54dcb2dc608
-DIST firefox-52.1.0esr-gu-IN.xpi 489365 SHA256 52908d8932a07738f6113a618628086e1a236da6aa34206f0fcac774632634c0 SHA512 3212f50dc72989e87c9c978abd73d926067ac3c47757a40a1a24a92824a4fefc733e613d703c1a11c8e6cb79748170f6d2108259bb542b4ff40bc69cabd5fb31 WHIRLPOOL 62c425ea797c9b9de4134a57c941af9020e763ca47117c5bb9cb9e2ed29dfdb4fd4700ec3c81daa7cd114bb3d93c2229f3ca3d3321de36a49dd9980e31249091
-DIST firefox-52.1.0esr-he.xpi 455282 SHA256 da75ac77f78d71d26ec4cf2dbce7c137d5fe4e78caea88577c550a95f20b9caf SHA512 ef883076a75813f231793d1c444fb25327632fff8240f8a01b087ae5a1ee82967d9374c8a725ad752dac2fc25288e92405f846c5ebe02c37867ee43932730020 WHIRLPOOL 20b93418063d3962c0fc4ce0aacb4bb46fd1cc6edcc9fc00a0773b4fd108ff77fb6bdd89c8d7cb4b1d094aee7099ab5cdf0f7cfe7948826b879dcf223b318d45
-DIST firefox-52.1.0esr-hi-IN.xpi 506518 SHA256 09db771f3b794ce51598cbece81a362a9401fcde8071898db8423ddc031b6f0e SHA512 254ea08e645526429bea72f98717674245e8dd8d8d8fa90dcf1cf32d68b55383156fd54d2db035ede29abe2c9e7b9b598ac3f88dbeb0fbe143c21a06b491f23d WHIRLPOOL 0cb4c12e6ce6a0da578b8e1f724dbb0e5475aeb7d97a1852478bd57cb8633d26ea94d9726a3bdedff1ab8f7fbce90363674bd52afc07206f13237015e1fffd77
-DIST firefox-52.1.0esr-hr.xpi 447502 SHA256 699db658924dbbb6c0b1f8d160e3c20a0357a6197a7fd6576ca1f3b5bd5ff438 SHA512 6843bc2c44de31d7805cafe4c21c76ec4bd6b37ce58e46c6c673776e4a22ffcad4b0fa321c91b3bc9dbeec10b01957df58780427d1afb85e235b326ddfb34460 WHIRLPOOL e140769f06866ec52f02c5a390e9e34b3cb2a2c251e55f928357317606b4c3b1eb7f25c38af41c8493117852836c3d6967848d4da1c23991ff49a7e51119df6b
-DIST firefox-52.1.0esr-hsb.xpi 457258 SHA256 e514e07c823bfccc003c7caa93e0d0af49bbcaa7f3f5ec2fd0e35add73ea040d SHA512 5ab8d8094fadeff0a2c326638ece687aa366c4f6055b0de324d7cf087f94b4be33ddb94495876487b4834c2222a119bfc2b021dea51f96578258be6b30ebdec9 WHIRLPOOL 6542e9693f0539dbd4ecb9d04cb82bd7fb7d68359d27061a04c09337e7c6682c9892c6b467d1b6366ae4a922e8696752f841ad7d0a3e281655c16ea4e1964d61
-DIST firefox-52.1.0esr-hu.xpi 451495 SHA256 62a65d6dabdc2370987735da7426ce5acc4325b3cbab31b1615d39f4a872d891 SHA512 a7fabb5dbd36ee7a75fccd493e2bfc062fdb29de0b2b0371c87cb2fa5800a6b56f8c5f2053be1a59ac35e0a2c5299172e309646292889873d2d6ef157eba3dad WHIRLPOOL 599fec24c7e37e2af040595c4ec5c4b483b64e818ab40abb886b6d20a19baf503a8ee0f83574f0f938990d884421edfe40ffc678887fe44d7ab2c5eea86b55a5
-DIST firefox-52.1.0esr-hy-AM.xpi 495773 SHA256 4987323930c67b85fee1f5a4d775a2ae0748eb6183656f2ff25375e06794f6b9 SHA512 5719044fa737ed6db8d82ddb65c029eac8cc8127bfd11ecb87a6bb7d30b6d3ec783e6b294631a2d7457410a56f0c77cff46129ab2ec105b6c475f11a3ac954db WHIRLPOOL bcef5de1b65dd4b3f5e2c854882f78b516f760f104369bf73aaa9ce9caed72ec8c81b1ca391cbb3e601eb3ce97e4ff1c98eab94ca5d96712c6707aee4bf4eda1
-DIST firefox-52.1.0esr-id.xpi 426023 SHA256 c1094fa40ca88e22526a1da963e6d3fedf03388701faf9b933869abf69b9a90c SHA512 5fbf68dab75ef1e888f5171c5115b0dd6446feaaebb136365567819620add3c2f2556c176490d87a463a8ba360041c3741c7f1613f4124642300af0eac07a498 WHIRLPOOL 8142b5b7f0aafd4a3dbfb48beca0e376704ff7accfd25bb45bedf737687cb5d5f7b2f1e0282e1cc998abe7e0c320c1f881ea40bff00c02560b418f2c1fcd1322
-DIST firefox-52.1.0esr-is.xpi 442693 SHA256 00c393fc58daf5fb57f3a289001e19cb28eda9716e07decd52d3d216a62a3584 SHA512 0c542f46d5d76bdbed133046e675a5fab070b7b398efa4bd94aedf403abb6e08cf693e3e5b6f395c8d9c360d579205dd7e0ab627bf8d4e54cde5e44d165c1f4e WHIRLPOOL aec34cbac26fa8c0103c18e73eb5f57f922807b6ba6793a7b820042f5e95fc18d0646cc82f2b02099b98be567ccd723906a4421a2dee7b321139874ad0b09efa
-DIST firefox-52.1.0esr-it.xpi 339220 SHA256 6bdc6d51dee1fd6a513caf6cc81ae5012d9d5c8639c25957a4019cbf8ab3c408 SHA512 c83fc0b3a6a6f6798cb2e1d97328550e671b6ccc59073e78e72064a265bacd8c555b07758b2b8bca8a6bd211fede84cfa868d790084207f5aef3c0c5d2d8c19f WHIRLPOOL 68d5a854767da6425f0af3f70f2428ffc18ad098f27f7990c74d6fcae824d9b29b9f31b55a8f04e3126750efebb7d6371c148efbebd80ef1027cafadbeb21fd0
-DIST firefox-52.1.0esr-ja.xpi 488342 SHA256 0d62b4f0485397a167c4432ee3acb7c6e80557d10cfd3a4734ad02b1b1f93061 SHA512 e9b4b32d126c63f770b2f7a2640a1582d1193da5f917a2b98f4bd6f8a32b7cb79cc8232b4f98aaba0d4485a318154bd95b38e56f6ca9c70a9420baf65c283620 WHIRLPOOL e03cedb1277e49c813bd76bf3288d04fb0595dc742b5d526ca9f9d21b70e66408e3ebe97d1d48d5f488ed11c5f8c8af93d0f35b27e021be1cefe702af051d25b
-DIST firefox-52.1.0esr-ka.xpi 475375 SHA256 084fafb269937c8362bff1c6494571fed38e4d218b910fe4351ba7b860039c1e SHA512 e0f132d69b7b0e7a686c31b2bdea19104264a1a548dbd1ebd0605151b4fd493c36fd36947726576626b166de15d715316886399e555b71f5065204c06ccbbf34 WHIRLPOOL 5af7404df9528174b3b65fb53af3746be794c1db23974b3092bbfcc84284b1e728e6498e80a3f2fd5819e5293f8f83771c8fd6dc93a01a1369233c511a99248b
-DIST firefox-52.1.0esr-kab.xpi 444519 SHA256 ba49b059c915838fc1862d780292f09f0f38cb19c2fadf9f4087998eb300650c SHA512 5acdb8529312338cdb391b1beb5d46c0aabc01f6c6a2ec6e3bdcb4e810d6bb9cfc626e41175bc83e3b734f8115a2449cb07d2126d8844fcffcf26fafe65c0b85 WHIRLPOOL 9586ca52db487b2ee940ee2a9a5cac28e6de1ed70d7bb97bed5b99a2c6a6db5c23c542b845ff027fd6a014b4f1b48f596243e3451c05caa3e970bf9b408f7cdf
-DIST firefox-52.1.0esr-kk.xpi 496939 SHA256 58c3f660493537076edb1e31b9f89b0492eb359794517bf5b2da511facb53cc3 SHA512 402f2b37ce01b02e9f93250937e98bed703f9509d52cd522cf62b616d7fd468c6c2f4f7e7b966944add797030b347bac3d46812e5a1b0dc29fda96765a0f6f25 WHIRLPOOL e20a1bf6dcbae9035cf43d9f042472154334fb6807e365c90c76f703f922d383298ef373604ecbaf0e8ed75ddf015f0a983bc4a0b0f930a53bff82c60f4b7f85
-DIST firefox-52.1.0esr-km.xpi 520343 SHA256 a9e06fb46b571de4e3e4de68b0e98f71818cbf3ed07e4e278ebf44d1cbf89eae SHA512 100e89eb8c92f95bff89faf9dd0479dd0c5576a0848b317ab718021567f7fbb7cc3722db9d9d8be6ff6f442d632ea44617227c3d89e53a565e3da4995d8eafb2 WHIRLPOOL af2d4b088732153ca43667e83f30c988de3229199471acd0d2f116d7437c7c9c0b66edc1c8e55660fa76fd5437d387025ab5632284188f0cb4a465c41982fe87
-DIST firefox-52.1.0esr-kn.xpi 519455 SHA256 52790b78f00d530afd06187196cf78004ae6506e8b0d4cc5c9e08b0b3b641dad SHA512 7c3062c0a9536e3b4c88370a1e49744af96429a096c08c8a557d682aeb900721c07d8f7a4dbc7085ace6b1e2fb3858d195f5a7d81403f4626cb4e77f6f5e2b99 WHIRLPOOL abea58cfb75d17ea5175c0fd0d451f67f29c78debbc1aef5cb3b3233a6c4a8ba04fdbe59c4b442ffdbfe52ca40f27579992f1e4ccf7373a7dba3cb752875894f
-DIST firefox-52.1.0esr-ko.xpi 463629 SHA256 15eeaa8a8dfe177aa65605abd8d06818142865a81f9a19bb39e46844da505931 SHA512 8a4bddb6fd476cfeb685960af54ea002033abd1654d952b8157c337d72e0c9e3b80870f6f6f518adc48da0858eeb762c8fff3349839236c2753e00e44c0d6fff WHIRLPOOL ec25d9313e0a4d5b69144c7addf9af3e947daef62c6c614896f5ad0ba2f98e2f5d38fb5a71a5aacce7e793ba8b07aaa481c3fea6a2bb9e85c8e7eeeeadf16702
-DIST firefox-52.1.0esr-lij.xpi 421070 SHA256 bb8647019b8a13ddfe48bda7a9bc5e6641d4c956f9aabfc0baf559fb9ba5d3a9 SHA512 be78d454c7a67beef336ef65e5329a25aa74cade4f4d24208a9afe20a5e641c088bb433275b7f83bb0853a30e26a8172526afc342fa01abcc599946cdb600047 WHIRLPOOL 0c968ad5650df8ffc94e0c4d0c33256adc97c0a736184c7273a7a71dc9c9049ca2713680e92605cf662cdd023d5b7ca0354d65c277f2b1c96043f7104bdcafe0
-DIST firefox-52.1.0esr-lt.xpi 452235 SHA256 579a850cf726c4e2cc0608218e25e45bd3bfc3f29c44f70e9c299810c3836412 SHA512 53db7b47ac420ed02dd2ade3eaec793124dc0ca503abffd39d847087bd6fb2f7bd2ae460ca6cfd74227e6efe1e41dd3002fe855977db4203ee2e68d79fc82afb WHIRLPOOL c5bca9ba80e6201a372ab95f913d4eb334a93dd2a4b88768db4baf29bcd81d496506346490859d75b90c2bdea321a8701dcf9a32adc16fdc7478163ffce88f59
-DIST firefox-52.1.0esr-lv.xpi 448450 SHA256 9e0d770ee4bc4eda603b27cc69dcbacf922fc58149039b53f715db232ed3891d SHA512 37bc8d0edb1dac9b2ab44ef82ac9eaf456b14ce63226946a8214438fbcd307c19bbc0ea95a690019d54d2e1442b2dc646ae515527a402653f28ca33c9c4e61bb WHIRLPOOL b5da718bbe81d65b120bc5f1ea33129f871d1562795eb5a7e3ab945641c29f6c4f5534c4cfb8726606b11bb0fead869156693f4f40d4b2f7f65b5370d6068c13
-DIST firefox-52.1.0esr-mai.xpi 499841 SHA256 25358f6508930d3960c5ae029bbc5414b93ccc9f21a3bc53268857970698d4ed SHA512 d5e22bdf465a99a57225f892bd64261120f0bfd3d4bd633f8eb9d02e314b7f83dd8846b45d07e624bfd851387179f9d765b7ec885a1b1aa6c6851a1011e55ffa WHIRLPOOL 1ecaa943ecdb18f24714d8603ea8485b1b8089e5b7b2e5321e6f48ce1fc263ace3d3ff5be1ec2356ec22182cedba1e93d31b2bba597dd335f1c1c0539e630082
-DIST firefox-52.1.0esr-mk.xpi 496199 SHA256 66518b2bf8f43caf02f8f46cdac906f92430b9e30b89f14ae48df8bd8132c4bd SHA512 d713ad2571692ffa5174810630020c274cb9d17d4b3cc77f97893faa6356a0ec8e53af82567f9f2e035bc61d63e3ad75270f807f1f3b57b051ebee4742c739ea WHIRLPOOL 821f7f2be30b33ca0094f5a05da006a1dcbc6826f1ee495eb57bc6e19aedfb0000fe4769a82cee7932a07e15676c950f92f5f437dd4686fa24b641788f0f77db
-DIST firefox-52.1.0esr-ml.xpi 516486 SHA256 d8c391910e955edf462a279524ca283a0111e57273e9a53467404a244cedda89 SHA512 0cb528bfc2fe15ecbf6b007e85253c8ffb763434acd7f1cc854bf2dc2ed5b0eccc95e3d8e1b5fec9f531224efa69fb4b30bc76dca478e92a59951db879ec520b WHIRLPOOL 16de1811f978fe5b518261a5973268dd53cbe1a0fb3e61943c3eeb40f8a1843c4a0e91afe0ffe653a6e7a3b39277e9aeb70880b3b1b761ef833ecadd27072100
-DIST firefox-52.1.0esr-mr.xpi 502430 SHA256 9152aa3cf23f576d5288b575d67c81b85a8a2059c10a955a08f0e6944c95d15e SHA512 0c55260e32dbac964dfd80017a220fa2914e782e4689de1d1641cb62cfa5fec79f06afcf495e2ddfbda93e88671ddacd89d2a66bf19de96d6dadb6e31dcf97c4 WHIRLPOOL d23f33bdc9c47db9533d1b0ccf848e6234a084d2bc9784f2ad858589e2c5cf8acc53e9729a6c4936c0fcd2ec9df280bb5ea4c8e966f31206e598f42b1f4323e4
-DIST firefox-52.1.0esr-ms.xpi 435990 SHA256 f653115354ba1fc458b4fe4d9b357a9b3f958ca7a68d1d93909c922837181ccc SHA512 930d596460a4a4c65371bbeb016538b54fa227d8b8c54d7975eceed6435dc0d179cfc9b3232f9eebe2f92459d637cbb3c6d14df2dd03ee4ecbbe3f5a8b9f3408 WHIRLPOOL 23a709c5310f0ea9c75d3d0e1967527166c7acb5a31868197c3c552ed2950070280ab538588e69111deacb4fe1041be10f21f311c8a3077c0251663cc125d0e7
-DIST firefox-52.1.0esr-nb-NO.xpi 434411 SHA256 f22e0d4f168946940e76648bf1f7490b18679caf7a4968387adcec3a6356e460 SHA512 90805a70139bd06ea798ef7a9e2407839db366f20ed6d38b00a0a528583a28478cc6dd61ccdb25ec18ee1db1dc33a5d809e127969b0d906035f92a508c2fa4d5 WHIRLPOOL 9045e6af3c3efb10f01e1831a44547534575f6970d2ea7b2eff42ed56c9ee2b8287a50eb0dfd497305ca1b52a19f43f9131db7340bc79081dcfdde722733d19d
-DIST firefox-52.1.0esr-nl.xpi 432007 SHA256 ea2d7b61f5d63d56b6cf825fea1c13f45049826446a4173f749b80849ed05643 SHA512 4b87e8651470a28b97ded72ec959a40831693ba67d39775ecdb87217d346e4f02440f38910d8fc33f015c3291e9a15a906375037248908f8fe90e3b167f7327d WHIRLPOOL bca31e5878116549917a29106bdaaa4808e9c5e0fce3863b95b5d34410d2f709346fbff524df60c580e77cf2bc65fbdd9883d093dee5cfd44733ce06cd112969
-DIST firefox-52.1.0esr-nn-NO.xpi 428644 SHA256 f2ff89745686fd069c2ace20af3e186c98e6a14516c04a84036fa868e704a778 SHA512 4ef57cd43b0a4fa0d843040ce2cb49774925930f3ffbf0a3b116439e418c674043ec22864ed5ef589833b31978c2106e5a70ebccaf61536f874e7bfebc9c9aa1 WHIRLPOOL 2d26c81945115081af30762a0ce9bbc774f1acc13b077ebcf1f9132d18cce6430fa7ee7807e246547300e9a3abaccfba4dea85ca2a7279a5543ca810b4ba1354
-DIST firefox-52.1.0esr-or.xpi 496917 SHA256 216f9e769a3617d1d64b82cbd6ca93cf6cbca87340c3102d27757a861288f434 SHA512 1b822686e46bc6be3ca47600a35a21f392af070ff62b2f6eec9ef5845211ff58eaf42cf3ad37ecf06b5212778bdb7fd17ccd6c80559e0ff66e62de0237a12619 WHIRLPOOL 681173d8d198b9a48d173cd1a94497d834867b2c30b3b9c84f0e85fb7608016ed799120e3ae633c264a590e18b9eb42548bae2781bd5b1559cbfd733b9d7419b
-DIST firefox-52.1.0esr-pa-IN.xpi 476587 SHA256 de2ab48f12e1ee79dd943a17b69c5f54e611de6f5262a3dc26dd44759f3110ac SHA512 3f0f86b6ee213d964ba668396f0242d67875731072c7b1d798514c0d48ccd331824797b3fd126d61de2b76d47447eb5d3f6b5ec2ff5329d5295158dd21390083 WHIRLPOOL 3f0c38c2c7be4df9aef3d591c9a3821bb6241a3f94403a90ab3af66724e8c60d8c44b166bba85e0390f74bfde02bc6d1587ee3c5ded9e1514c64ba7f51fd63c0
-DIST firefox-52.1.0esr-pl.xpi 352851 SHA256 dcbd1720686c17ed38f565c74e359e1eb3b10593eaf03d69e4c6cc828cba36c1 SHA512 f9e6e3aeca5e044e262b506953300e638cb0c90822abee3ccb1f4856c6d66ededc701088ba449b5f5076210235a1211bef89c3617599eea1fdcfb91c2465eef0 WHIRLPOOL 489706577b45eb4d15322df9de2e2ac68f7963c24185385c6b394f33907c5957b329cc156a391d221f8021eafdce2000a0dad58aa006428ee65354e39362964c
-DIST firefox-52.1.0esr-pt-BR.xpi 438169 SHA256 8f7c422d25eb13568802027a47fb544ac6df5274878859747b1d971722e16fbc SHA512 76817da4b0e9ea7362b8c89ccb8ded68f1fabf4b809e24e49ef66afa914dc970fc6e11ef3ef3b4ce98ee2998224b24bef6cf4dcb45230487439c51343cdb668e WHIRLPOOL 451e6e37c8bb37d40568012039ca185087d0f9996a69faba19d18542ee1b91277238faff66710f009390dc4c19fd601a185736dee48248ec61189f375368dc8b
-DIST firefox-52.1.0esr-pt-PT.xpi 436726 SHA256 c33221725e433dcf43576490054d2eab6508d1d7466a2219a50045fa2829bac5 SHA512 a5d20af3e83928973ac2f4ab565d069aa99a4e55130a0ed0b6563c639675bd2d74a3ddb7c21aeef85f255abd0e91fa57506c3e72363ae31ac736cbc4d0ac1f92 WHIRLPOOL 2509335cc4e7efff190e32ca2fea44992cf114b4883bb011dbf2669ac5028b3f4541f18c34ed7902a71a172f4c604bad8967fbd6e313c90bb6fd7684cb593f59
-DIST firefox-52.1.0esr-rm.xpi 434608 SHA256 32ffa2f6ec44a00673175e9b2fa9604311261b827752dec21a7b2852149ac714 SHA512 d3010bd736070d57d18b4481565384fa0fe7202c000ca5efd925c9dcde8fdfcaf55519363eb73af13d36e95f2629d74a4710cf0c25b86495a631f26f806b4bc8 WHIRLPOOL a176ffe6a0e320692f968d77344fc5ad5beda2ac5689f59c5f7636af7ba7a9c2f02ef49b959436704d2d09be91251952d75f44a69e75405850b35865dddbed51
-DIST firefox-52.1.0esr-ro.xpi 449937 SHA256 1716cb258768432d6e93725318baaf3dfbfef8e794ef45c175ae36a1ecd3b820 SHA512 a1d40915a584651276142bb69709dd9ce7881e690f30ecc589a72359a99ed72d095b65620eb8d5ba878122c527680b59e05b1b6c3efc3ffc867b23f8dd85997b WHIRLPOOL adfb906a3ba637c577fec6d1da5739f172ccce496da97347806c0e166d332a82c9c37707a33d061c2b1be459c2e5a6508e05b1d4e7a3a015ac0458759704b07e
-DIST firefox-52.1.0esr-ru.xpi 395363 SHA256 7f83816417cf538c922d8956e502afe63785971c9daed0f7612aa6cc7c2c2e45 SHA512 548472f82ba3c2100c3881e02aa83792baf53188eff63f73a7c18165e8970f9bf7a883597e82cb296bb00c0ae10791242ead3c0e3bc1315fd1303119013c671d WHIRLPOOL e99fccc4c50bb41925ab96c185978d5cbeffc911b85a9e1a0436835921207b29e9e6a7a5f4128da21b9a4ad44f06c22ecad699994512ffdeb59a9913cef4fd08
-DIST firefox-52.1.0esr-si.xpi 491958 SHA256 cf6f951b34148fba88ca4dff0bdbfae5d8e7db4be0e381caab2c3667d6a39c61 SHA512 6db9f727c72a7f5acaf6b28ee06f1079fd26c78b526e28ae00667255883a88c90907729705f2212f95afd6da81e4c31c66e9dee8429fd15506e449b3ea9bf090 WHIRLPOOL 10c71fe8e1ed22177116e19429ac449a7e3d7c6a5dfa237a1ef96ed88b76bc3f12ec3458edcfd9f78911fcd82f8c5dad28c20467073a068ed7b411ae8fcecd17
-DIST firefox-52.1.0esr-sk.xpi 455819 SHA256 21acf4974b6b130e7be2ddda6d68423c6204f360a5ccbb892ff0ce65b272a7ab SHA512 7b2cf45c527e5362807006126377046d1f0c2230f0dbb5703b3f936893b8053d3d9b734aaba34932043cba3a1696d81a5f7e436c2dda789d8cc67c9b6f7763ea WHIRLPOOL d19ac15d3fff131268c059e7ff5a07a6a5a7f89933e43721b891a9656dd6571a037d06a7004b321dda3cdb5f1f75dd6bbfc931fcf4bf15a61ffa5bb9ddb7b825
-DIST firefox-52.1.0esr-sl.xpi 433482 SHA256 3298e941c2ab1411e973d13a941edde04563675a9650c244782f89c9bc4138d6 SHA512 6e78752d3487d28c405ef851b37b45e96f8441cc890bb15ef78fb34f1398cc84e052a09432512f124c82b6d016501fb59f486b99c73413edb99b90ed54e2976a WHIRLPOOL f926631f63af06cc788a9c09b12b7c3853ae8072fae2bebb87133de8fbfe14b74ab02a5e557bc646fe908242a1d632f89ac8b4497b6733d79536feaa6bb06073
-DIST firefox-52.1.0esr-son.xpi 435127 SHA256 ecc893020de0603f2ee7accf53014740c3dfc0b05eacf11fae96cc36acf4ce73 SHA512 85af7834b8ea307c46dd2aaf995fdbe8285a04b346afbf395deaf4704a7302860a467afbe43b779e067111fd6e7cf5360e7d157d4dd47f7460fe004a53b22c56 WHIRLPOOL c39d25b2ab967e5742949ee0dc51ad64b12fae47f61c3b7c5053b9c59aec8870b30be6c14a2b7d12a50d0270fcc6530192770740681939ba7c7cf11cc2c05390
-DIST firefox-52.1.0esr-sq.xpi 448155 SHA256 e7bd223209d997b13addd48a316f93da5687cfd941d027ff1cbbf1ccbc0861eb SHA512 0cc3009d66f83799780d016b9fd1cee7889f01cdd18c47c1608753f00d0fa739a444ab9accd09105aee4a708aff3c2ce7a3054ed81fc6ccab2e6d45548d04779 WHIRLPOOL 83adb0199a07f96ffcd9c2046ffdc308e4b163782d2951988f952906e1555f454879a67669f44ae1aa52af9ccd3b5bf880e7246a9ad759301e5b18a56542d86e
-DIST firefox-52.1.0esr-sr.xpi 463394 SHA256 9b28684db2933399a0fd35ad66b938e9c72a445e73e6150928f91359ad399376 SHA512 1248f9f436ac1c07b4b9ed82655ea78e42f6c83c78d8cb9ba1f7130078e8a8eb346ae0e3692dea1b0fc337a3c14d3fafbfc527b5b0cd9e8e3f5af19ead58c11c WHIRLPOOL 644743c0a50416327b8e19c50b3537af52dae2a607e705f8d55b71f790f9a205f96745ae25edf8da7afc02c15bfeaf39a8baccb4d2cfbfb7f0186b89d54ef710
-DIST firefox-52.1.0esr-sv-SE.xpi 441180 SHA256 bf7280cd8f995868d7204d12de7f7444daabada8b8a748094d7c460072d551e1 SHA512 172c83e22a0255160ca0e0a15baf5ba8f944e2c6d16e8566b4cad4390be61c880eb8a69770e2643035c9598dbdd9b19d7cd9eda54ae039ed6307992288b94962 WHIRLPOOL 5dcf7fedc2599f68437243dcc42d46a57674da59d6b30f1f4741cf072ae14448c6542ef1f1667560917e5a2a6ef6e9d94571981aaad70aea424a7a37e2e7a1ca
-DIST firefox-52.1.0esr-ta.xpi 494797 SHA256 8a232709dcbc90fcf55c4245f86f2862c781fe1786076f91dcfc823aaf85e582 SHA512 2083b9ef5bdc3d5fb65aba65854373636e4277e52757defff3b505e3db076f87978750fb65eb78c78caee71f423ae1fac94aa700ec642e5f1d3225740bf2157b WHIRLPOOL ad8dc006108a73a2f4c7053fe19f54289b28706170062efa3474e874b08f4b1faff7d5c3997983a46f906d878a8953079e5808fc48ec382bcc1efcc7b3f967e4
-DIST firefox-52.1.0esr-te.xpi 515240 SHA256 5a4d385bac1db32e082b12c1176fe74990c182a3d80309599a0eefb5ec0ba43b SHA512 7f481a2d703f02099cd5729ff3847786f5fe5f7088216960a2212f8cbb5c3c04d97f309f60339d394d4026a132690a37efc22e27b6f0d6e3506b7088e68ef8bd WHIRLPOOL 400357b113f3b11c8e9214368069145562cddefba4162c052951b240d7cd55925546a69f04fad7b569b48e2d43a249464db6e614665f19c2aa93c6858cc4a12e
-DIST firefox-52.1.0esr-th.xpi 489378 SHA256 1497f40d9cfc182d864845ed07abd407334b4412a204620f3665b139ea31a190 SHA512 9bcd734021c1d5c7d8000d170862ad4b98e84b0b5d48c35699b05e748d3d241a2e9bf7ae2fdfa7ec916817e0afe61961a9e009cbe684e42425e64dc8a47e975f WHIRLPOOL c1df73d1a0ec931a8a808018cb62bb2b5952cfcd0cc1d996be66e26455c95626b77057175b665f9a6cd75db02b33bc96b282029f4190fe5a74c4473e7183c54d
-DIST firefox-52.1.0esr-tr.xpi 443673 SHA256 98c3189161b5388c807210c3df1fee39a1266752461c497064632d8e4bdaf17d SHA512 d43e1b069032c2b2850820f8a4140ebcc496eff39d79cde9e11c68f7a17b5a34589538350f7408d1717bd6eca8b7f9f4f5d3cb6761fe02b5bf8caa7c58879ef6 WHIRLPOOL 7f2690a9b9e45789bf6bf154237b4268e2c838efeff43921cfaab28ff4c0aa3b40ed935a696f5f1904d9ffc400f2a52ee883d260ad5b333f6a68530b04805c75
-DIST firefox-52.1.0esr-uk.xpi 495094 SHA256 7c3d3e674b14df5d34ebaa9acbd8246a5613dbd402c7eb6f9932faffe1feac72 SHA512 cd4c229caca0efd04b365fee5db001fe93088126ca35407e94ef112cd276837bee1fbe893ad7164a39c02980ebfbf22530e2c394ee65f43f2a65419340ca4d79 WHIRLPOOL 58418ef8e516e661994f615d43f872b16260b9d6b0f84d13e9c080a15ce8ee511903eb7680c04a0d88ee90f662c666ba81ff3f94e5ba505979ae5ffecae4d390
-DIST firefox-52.1.0esr-uz.xpi 447916 SHA256 dd662267de891c3c67f3ba83b679e2cd181f028a7d606f981411a0fd5568476d SHA512 67fb9817b4a23adad2f9d30a0b1f91d7ed2431b52f2dc54af9e42aba5f3992d3b2f09391520e0558a08291360c087b47f526497dc9638d7f601acbdcb5c65498 WHIRLPOOL 12767b6bede4292fa16170fe0cbd1760e4f2f0b750827348aaa5ff764c91754a264aa80cbc9ba30d29b31e27519e58b25dd83c1ca4741ac2d8f0e3e067fbd1fb
-DIST firefox-52.1.0esr-vi.xpi 450804 SHA256 b90a4c3845b328436eb908741d8308855cdc25b418553683fc271c31a570cf42 SHA512 cc25d48bc0ef943bacaa3cc27108ff5e9e90db10882975bd4bb15d45b94e57f5d9f2fd4f5ffdb615320029408bd8d2e1163c8ea8d860581993a96949e8397957 WHIRLPOOL d065b134eee5ec217e141525913dc5a885afbd63e78f1b69e175363ef1680566df0c963a4ab0361b2a15997a7e7f51c29645b063edf2ff2a120428b843025121
-DIST firefox-52.1.0esr-xh.xpi 441172 SHA256 f24de110815f6d50f70b71b4f59f5c2268d8a00593972ce9f9c9dda269d3f79c SHA512 c1c5fe35261ef339d7f7195ad55e256d48a11a94114155ddee7e6375db5dacb5a2f4d01f9dad1937e9b6aa4d9a715def26804509bc935daaf0fd08095414d926 WHIRLPOOL 396433c5cf263db4417a0509247f5e1e637446228b4fd36c1d0ff153461b5b6496ade299b8e62c1feece5568ad092484aafd40d7b6673f8ca45a1d28e4bc991b
-DIST firefox-52.1.0esr-zh-CN.xpi 461694 SHA256 ed4afe83bed6c76b8051a3b4972d2d0469e11e59ea41e38232a94decd8f8e399 SHA512 909cf0f2a51a0272ca7b8e6c2843e16fdbb232f3e0e7dce162eb7aae8977f208314a9e8511fd80db4c3f091f97eda5845b6fa29f02993df3b56ebed2a4a5415d WHIRLPOOL 5c06011f8f97eb8dfc6210a4ddb8a4a407cd134268e8d721971e0e2aec72c18c931527eb2ead9f9722effced2310d60b1a6616f2dda5681dbd119b544e792152
-DIST firefox-52.1.0esr-zh-TW.xpi 472533 SHA256 f2aa1acca0afb7de7ae5cb939267cbc71c9fcf5bbd2239f89e8901cbe83fd999 SHA512 a1e19a7a5c8860a4f68f241a1c536fc8de1f8452c0bc43a8bee1c5dcebd9d58b06fddb84f7f07f2ad99ef232cee494ddf041c86f9988a4baab1bb70f3963e1a3 WHIRLPOOL 28fe23a9b9aa3880540187dd586328fa902ad96ce5630a9eba16c4aaa208002ef5cf9e461d58e52a64464ab3d9bd94f38a08c90c2c2769d052e19cf0cdf2eaea
-DIST firefox-52.1.0esr.source.tar.xz 212348684 SHA256 da2ba9630b8b56c6f5d36d9f3da2d984ef7986dc8b4d804f6947fcea6c24637d SHA512 ba833904654eda347f83df77e04c8e81572772e8555f187b796ecc30e498b93fb729b6f60935731d9584169adc9d61329155364fddf635cbd11abebe4a600247 WHIRLPOOL d043a3c0617ea56ade7ed92a3ebc87cce25f1b7d423b45a1156bb29cb0b1034dc15472b54c6a30017a25a47136de88dedead5f8df39c9a2bfbe3080284055201
 DIST firefox-52.2-patches-01.tar.xz 10400 SHA256 18dbd0d6bbab50918ef3341b739710d45a45efb4aa6cee86b4b8a620cc590b93 SHA512 85cc57e27c46c3243deedcc21d248babbd9ac6c144332ac70dd6e00161fb46584d090683bc1e066c0e9136d6ede5a4e30ccb68d83cad448f6b0d8223c726dafc WHIRLPOOL 65d351f5919b897af516754df0df57b65789d8030280a35d9ab1c2e7790b2713aaac8ad1caaa1ee42007aed17f971355d7f478d134930d0e1a6148a254dd9bba
 DIST firefox-52.2-patches-02.tar.xz 12584 SHA256 3714ebf55a11cec435a42dad0e351a6648f345cda947cfdcce5d163e86af9c27 SHA512 e16d014c60f9c665e5bf1a5e9b7940b101a38f6af26970bd7c71cf0764a11d65816ad2fef2050fd6fc7b10835161d1babcb64c1b10eba1b0c7b3310fc40b57ef WHIRLPOOL 487a383e3db49c57e40c31524faf4d94fcd925b0680eb2ba5e2456a545c494625048f8894e48d4271ef7452ab538a249ac11d826fcf09b8e210fa831580a3b6b
 DIST firefox-52.2.0esr-ach.xpi 427640 SHA256 27118787ecf565c3a07101074f100eddcbc86d0a7dd62fd5f0e52ae4ceff4c7f SHA512 d7101b47d7de77e252edc43cae745be8884ae431caf4c8ea9ebb91af176ef145efc73264a196f967340b7ca6224384c75673b9883b35a1f6734d8f23bca3561a WHIRLPOOL 2f642320c9e83a55fe6b97888fe5156778b08400c23f57040fb30e639b590626c8f1852d4144a48134c05d384abd3708822235102930bcc98c337c5fafdba598

diff --git a/www-client/firefox/files/firefox-53-turn_off_crash_on_seccomp_fail.patch b/www-client/firefox/files/firefox-53-turn_off_crash_on_seccomp_fail.patch
deleted file mode 100644
index 2d0c06b3e76..00000000000
--- a/www-client/firefox/files/firefox-53-turn_off_crash_on_seccomp_fail.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-
-# HG changeset patch
-# User Jed Davis <jld@mozilla.com>
-# Date 1485552350 25200
-# Node ID 7781de08a1c6d84a92e9d54a78ac9f54f8c4c240
-# Parent  952f0a7824ad897dd0f76318b567341e7d8ad46d
-Bug 1286865 - Step 0: Turn off crash-on-seccomp-fail by default on non-nightly. r=gcp
-
-MozReview-Commit-ID: 1It6HNizbAc
-
-diff --git a/security/sandbox/linux/Sandbox.cpp b/security/sandbox/linux/Sandbox.cpp
---- a/security/sandbox/linux/Sandbox.cpp
-+++ b/security/sandbox/linux/Sandbox.cpp
-@@ -68,16 +68,18 @@ MOZ_IMPORT_API void
- } // extern "C"
- #endif // MOZ_ASAN
- 
- // Signal number used to enable seccomp on each thread.
- int gSeccompTsyncBroadcastSignum = 0;
- 
- namespace mozilla {
- 
-+static bool gSandboxCrashOnError = false;
-+
- // This is initialized by SandboxSetCrashFunc().
- SandboxCrashFunc gSandboxCrashFunc;
- 
- #ifdef MOZ_GMP_SANDBOX
- // For media plugins, we can start the sandbox before we dlopen the
- // module, so we have to pre-open the file and simulate the sandboxed
- // open().
- static SandboxOpenedFile gMediaPluginFile;
-@@ -143,25 +145,28 @@ SigSysHandler(int nr, siginfo_t *info, v
-   args[2] = SECCOMP_PARM3(&savedCtx);
-   args[3] = SECCOMP_PARM4(&savedCtx);
-   args[4] = SECCOMP_PARM5(&savedCtx);
-   args[5] = SECCOMP_PARM6(&savedCtx);
- 
-   // TODO, someday when this is enabled on MIPS: include the two extra
-   // args in the error message.
-   SANDBOX_LOG_ERROR("seccomp sandbox violation: pid %d, syscall %d,"
--                    " args %d %d %d %d %d %d.  Killing process.",
-+                    " args %d %d %d %d %d %d.%s",
-                     pid, syscall_nr,
--                    args[0], args[1], args[2], args[3], args[4], args[5]);
-+                    args[0], args[1], args[2], args[3], args[4], args[5],
-+                    gSandboxCrashOnError ? "  Killing process." : "");
- 
--  // Bug 1017393: record syscall number somewhere useful.
--  info->si_addr = reinterpret_cast<void*>(syscall_nr);
-+  if (gSandboxCrashOnError) {
-+    // Bug 1017393: record syscall number somewhere useful.
-+    info->si_addr = reinterpret_cast<void*>(syscall_nr);
- 
--  gSandboxCrashFunc(nr, info, &savedCtx);
--  _exit(127);
-+    gSandboxCrashFunc(nr, info, &savedCtx);
-+    _exit(127);
-+  }
- }
- 
- /**
-  * This function installs the SIGSYS handler.  This is slightly
-  * complicated because we want to use Chromium's handler to dispatch
-  * to specific trap handlers defined in the policy, but we also need
-  * the full original signal context to give to Breakpad for crash
-  * dumps.  So we install Chromium's handler first, then retrieve its
-@@ -510,16 +515,31 @@ void
- SandboxEarlyInit(GeckoProcessType aType)
- {
-   const SandboxInfo info = SandboxInfo::Get();
-   if (info.Test(SandboxInfo::kUnexpectedThreads)) {
-     return;
-   }
-   MOZ_RELEASE_ASSERT(IsSingleThreaded());
- 
-+  // Set gSandboxCrashOnError if appropriate.  This doesn't need to
-+  // happen this early, but for now it's here so that I don't need to
-+  // add NSPR dependencies for PR_GetEnv.
-+  //
-+  // This also means that users with "unexpected threads" setups won't
-+  // crash even on nightly.
-+#ifdef NIGHTLY_BUILD
-+  gSandboxCrashOnError = true;
-+#endif
-+  if (const char* envVar = getenv("MOZ_SANDBOX_CRASH_ON_ERROR")) {
-+    if (envVar[0]) {
-+      gSandboxCrashOnError = envVar[0] != '0';
-+    }
-+  }
-+
-   // Which kinds of resource isolation (of those that need to be set
-   // up at this point) can be used by this process?
-   bool canChroot = false;
-   bool canUnshareNet = false;
-   bool canUnshareIPC = false;
- 
-   switch (aType) {
-   case GeckoProcessType_Default:
-

diff --git a/www-client/firefox/files/fix_hardened_pie_detection.patch b/www-client/firefox/files/fix_hardened_pie_detection.patch
deleted file mode 100644
index 7cc74cd1eb7..00000000000
--- a/www-client/firefox/files/fix_hardened_pie_detection.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From: Jory A. Pratt <anarchy@gentoo.org>
-
-CFLAGS must contain -fPIC when checking the linker
-
-https://bugs.gentoo.org/show_bug.cgi?id=607350
-
-diff --git a/build/autoconf/compiler-opts.m4 b/build/autoconf/compiler-opts.m4
---- a/build/autoconf/compiler-opts.m4
-+++ b/build/autoconf/compiler-opts.m4
-@@ -263,23 +263,26 @@ fi
- 
- MOZ_ARG_ENABLE_BOOL(pie,
- [  --enable-pie           Enable Position Independent Executables],
-     MOZ_PIE=1,
-     MOZ_PIE= )
- 
- if test "$GNU_CC" -a -n "$MOZ_PIE"; then
-     AC_MSG_CHECKING([for PIE support])
-+    _SAVE_CFLAGS=$CFLAGS
-+    CFLAGS="$CFLAGS -fPIC"
-     _SAVE_LDFLAGS=$LDFLAGS
-     LDFLAGS="$LDFLAGS -pie"
-     AC_TRY_LINK(,,AC_MSG_RESULT([yes])
-                   [MOZ_PROGRAM_LDFLAGS="$MOZ_PROGRAM_LDFLAGS -pie"],
-                   AC_MSG_RESULT([no])
-                   AC_MSG_ERROR([--enable-pie requires PIE support from the linker.]))
-     LDFLAGS=$_SAVE_LDFLAGS
-+    CFLAGS=$_SAVE_CFLAGS
- fi
- 
- AC_SUBST(MOZ_PROGRAM_LDFLAGS)
- 
- dnl ASan assumes no symbols are being interposed, and when that happens,
- dnl it's not happy with it. Unconveniently, since Firefox is exporting
- dnl libffi symbols and Gtk+3 pulls system libffi via libwayland-client,
- dnl system libffi interposes libffi symbols that ASan assumes are in

diff --git a/www-client/firefox/files/mozilla_configure_regexp_esr.patch b/www-client/firefox/files/mozilla_configure_regexp_esr.patch
deleted file mode 100644
index 9e165ff9e88..00000000000
--- a/www-client/firefox/files/mozilla_configure_regexp_esr.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From: Jory A. Pratt <anarchy@gentoo.org>
-
-Note: the first occurrence of :space: is [:space:] (with a single pair
-of []), where it should be [[:space:]] (with two pairs of []).
-
-This causes the sed command to fail (with the error message quoted in
-my original report), driving to failure the whole configure step.
-
-https://bugzilla.mozilla.org/show_bug.cgi?id=1329252
-
-diff --git a/build/autoconf/icu.m4 b/build/autoconf/icu.m4
---- a/build/autoconf/icu.m4
-+++ b/build/autoconf/icu.m4
-@@ -68,17 +68,17 @@ if test -n "$USE_ICU"; then
-     icudir="$_topsrcdir/intl/icu/source"
-     if test ! -d "$icudir"; then
-         icudir="$_topsrcdir/../../intl/icu/source"
-         if test ! -d "$icudir"; then
-             AC_MSG_ERROR([Cannot find the ICU directory])
-         fi
-     fi
- 
--    version=`sed -n 's/^[[:space:]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
-+    version=`sed -n 's/^[[[:space:]]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
-     if test x"$version" = x; then
-        AC_MSG_ERROR([cannot determine icu version number from uvernum.h header file $lineno])
-     fi
-     MOZ_ICU_VERSION="$version"
- 
-     if test "$OS_TARGET" = WINNT; then
-         MOZ_SHARED_ICU=1
-     fi

diff --git a/www-client/firefox/files/musl_drop_hunspell_alloc_hooks.patch b/www-client/firefox/files/musl_drop_hunspell_alloc_hooks.patch
deleted file mode 100644
index f7997bc9533..00000000000
--- a/www-client/firefox/files/musl_drop_hunspell_alloc_hooks.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/extensions/spellcheck/hunspell/glue/hunspell_alloc_hooks.h.orig	2017-04-04 18:32:38.007556606 +0200
-+++ b/extensions/spellcheck/hunspell/glue/hunspell_alloc_hooks.h	2017-04-04 18:34:02.380234036 +0200
-@@ -51,8 +51,8 @@
- #include "mozHunspellAllocator.h"
- 
- #define malloc(size) HunspellAllocator::CountingMalloc(size)
--#define calloc(count, size) HunspellAllocator::CountingCalloc(count, size)
--#define free(ptr) HunspellAllocator::CountingFree(ptr)
-+//#define calloc(count, size) HunspellAllocator::CountingCalloc(count, size)
-+//#define free(ptr) HunspellAllocator::CountingFree(ptr)
- #define realloc(ptr, size) HunspellAllocator::CountingRealloc(ptr, size)
- 
- #endif

diff --git a/www-client/firefox/files/update_h2_curve.patch b/www-client/firefox/files/update_h2_curve.patch
deleted file mode 100644
index a1f0ffaeaf9..00000000000
--- a/www-client/firefox/files/update_h2_curve.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From: Franziskus Kiefer <franziskuskiefer@gmail.com>
-
-Update keybits in H2
-
-https://bugzilla.mozilla.org/show_bug.cgi?id=1290037
-
-diff --git a/netwerk/protocol/http/Http2Session.cpp b/netwerk/protocol/http/Http2Session.cpp
---- a/netwerk/protocol/http/Http2Session.cpp
-+++ b/netwerk/protocol/http/Http2Session.cpp
-@@ -3516,18 +3516,18 @@ Http2Session::ConfirmTLSProfile()
-     RETURN_SESSION_ERROR(this, INADEQUATE_SECURITY);
-   }
- 
-   uint32_t keybits = ssl->GetKEAKeyBits();
-   if (kea == ssl_kea_dh && keybits < 2048) {
-     LOG3(("Http2Session::ConfirmTLSProfile %p FAILED due to DH %d < 2048\n",
-           this, keybits));
-     RETURN_SESSION_ERROR(this, INADEQUATE_SECURITY);
--  } else if (kea == ssl_kea_ecdh && keybits < 256) { // 256 bits is "security level" of 128
--    LOG3(("Http2Session::ConfirmTLSProfile %p FAILED due to ECDH %d < 256\n",
-+  } else if (kea == ssl_kea_ecdh && keybits < 224) { // see rfc7540 9.2.1.
-+    LOG3(("Http2Session::ConfirmTLSProfile %p FAILED due to ECDH %d < 224\n",
-           this, keybits));
-     RETURN_SESSION_ERROR(this, INADEQUATE_SECURITY);
-   }
- 
-   int16_t macAlgorithm = ssl->GetMACAlgorithmUsed();
-   LOG3(("Http2Session::ConfirmTLSProfile %p MAC Algortihm (aead==6) %d\n",
-         this, macAlgorithm));
-   if (macAlgorithm != nsISSLSocketControl::SSL_MAC_AEAD) {

diff --git a/www-client/firefox/firefox-45.8.0.ebuild b/www-client/firefox/firefox-45.8.0.ebuild
deleted file mode 100644
index 7ca0710546f..00000000000
--- a/www-client/firefox/firefox-45.8.0.ebuild
+++ /dev/null
@@ -1,369 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-VIRTUALX_REQUIRED="pgo"
-WANT_AUTOCONF="2.1"
-MOZ_ESR=1
-
-# This list can be updated with scripts/get_langs.sh from the mozilla overlay
-MOZ_LANGS=( ach af an ar as ast az be bg bn-BD bn-IN br bs ca cs cy da de
-el en en-GB en-US en-ZA eo es-AR es-CL es-ES es-MX et eu fa fi fr
-fy-NL ga-IE gd gl gu-IN he hi-IN hr hsb hu hy-AM id is it ja kk km kn ko
-lt lv mai mk ml mr ms nb-NO nl nn-NO or pa-IN pl pt-BR pt-PT rm ro ru si
-sk sl son sq sr sv-SE ta te th tr uk uz vi xh zh-CN zh-TW )
-
-# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
-MOZ_PV="${PV/_alpha/a}" # Handle alpha for SRC_URI
-MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
-MOZ_PV="${MOZ_PV/_rc/rc}" # Handle rc for SRC_URI
-
-if [[ ${MOZ_ESR} == 1 ]]; then
-	# ESR releases have slightly different version numbers
-	MOZ_PV="${MOZ_PV}esr"
-fi
-
-# Patch version
-PATCH="${PN}-45.0-patches-12"
-MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases"
-
-# Kill gtk3 support since gtk+-3.20 breaks it hard prior to 48.0
-#MOZCONFIG_OPTIONAL_GTK3=1
-MOZCONFIG_OPTIONAL_WIFI=1
-MOZCONFIG_OPTIONAL_JIT="enabled"
-
-inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils mozconfig-v6.45 pax-utils fdo-mime autotools virtualx mozlinguas-v2
-
-DESCRIPTION="Firefox Web Browser"
-HOMEPAGE="http://www.mozilla.com/firefox"
-
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
-
-SLOT="0"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-IUSE="bindist hardened hwaccel pgo selinux +gmp-autoupdate test"
-RESTRICT="!bindist? ( bindist )"
-
-# More URIs appended below...
-SRC_URI="${SRC_URI}
-	https://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCH}.tar.xz
-	https://dev.gentoo.org/~axs/mozilla/patchsets/${PATCH}.tar.xz
-	https://dev.gentoo.org/~polynomial-c/mozilla/patchsets/${PATCH}.tar.xz"
-
-ASM_DEPEND=">=dev-lang/yasm-1.1"
-
-# Mesa 7.10 needed for WebGL + bugfixes
-RDEPEND="
-	>=dev-libs/nss-3.21.1
-	>=dev-libs/nspr-4.12
-	selinux? ( sec-policy/selinux-mozilla )"
-
-DEPEND="${RDEPEND}
-	pgo? (
-		>=sys-devel/gcc-4.5 )
-	amd64? ( ${ASM_DEPEND}
-		virtual/opengl )
-	x86? ( ${ASM_DEPEND}
-		virtual/opengl )"
-
-# No source releases for alpha|beta
-if [[ ${PV} =~ alpha ]]; then
-	CHANGESET="8a3042764de7"
-	SRC_URI="${SRC_URI}
-		https://dev.gentoo.org/~nirbheek/mozilla/firefox/firefox-${MOZ_PV}_${CHANGESET}.source.tar.xz"
-	S="${WORKDIR}/mozilla-aurora-${CHANGESET}"
-else
-	S="${WORKDIR}/firefox-${MOZ_PV}"
-	SRC_URI="${SRC_URI}
-		${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz"
-fi
-
-QA_PRESTRIPPED="usr/lib*/${PN}/firefox"
-
-BUILD_OBJ_DIR="${S}/ff"
-
-pkg_setup() {
-	moz_pkgsetup
-
-	# 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 \
-		XDG_SESSION_COOKIE \
-		XAUTHORITY
-
-	if ! use bindist; then
-		einfo
-		elog "You are enabling official branding. You may not redistribute this build"
-		elog "to any users on your network or the internet. Doing so puts yourself into"
-		elog "a legal problem with Mozilla Foundation"
-		elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"
-	fi
-
-	if use pgo; then
-		einfo
-		ewarn "You will do a double build for profile guided optimization."
-		ewarn "This will result in your build taking at least twice as long as before."
-	fi
-}
-
-pkg_pretend() {
-	# Ensure we have enough disk space to compile
-	if use pgo || use debug || use test ; then
-		CHECKREQS_DISK_BUILD="8G"
-	else
-		CHECKREQS_DISK_BUILD="4G"
-	fi
-	check-reqs_pkg_setup
-}
-
-src_unpack() {
-	unpack ${A}
-
-	# Unpack language packs
-	mozlinguas_src_unpack
-}
-
-src_prepare() {
-	# Apply our patches
-	eapply "${WORKDIR}/firefox"
-
-	# Allow user to apply any additional patches without modifing ebuild
-	eapply_user
-
-	# Enable gnomebreakpad
-	if use debug ; then
-		sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
-			"${S}"/build/unix/run-mozilla.sh || die "sed failed!"
-	fi
-
-	# Ensure that our plugins dir is enabled as default
-	sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
-		"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
-	sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
-		"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
-
-	# Fix sandbox violations during make clean, bug 372817
-	sed -e "s:\(/no-such-file\):${T}\1:g" \
-		-i "${S}"/config/rules.mk \
-		-i "${S}"/nsprpub/configure{.in,} \
-		|| die
-
-	# Don't exit with error when some libs are missing which we have in
-	# system.
-	sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
-		-i "${S}"/browser/installer/Makefile.in || die
-
-	# Don't error out when there's no files to be removed:
-	sed 's@\(xargs rm\)$@\1 -f@' \
-		-i "${S}"/toolkit/mozapps/installer/packager.mk || die
-
-	# Keep codebase the same even if not using official branding
-	sed '/^MOZ_DEV_EDITION=1/d' \
-		-i "${S}"/browser/branding/aurora/configure.sh || die
-
-	eautoreconf
-
-	# Must run autoconf in js/src
-	cd "${S}"/js/src || die
-	eautoconf
-
-	# Need to update jemalloc's configure
-	cd "${S}"/memory/jemalloc/src || die
-	WANT_AUTOCONF= eautoconf
-}
-
-src_configure() {
-	MEXTENSIONS="default"
-	# 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.
-	_google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
-
-	####################################
-	#
-	# mozconfig, CFLAGS and CXXFLAGS setup
-	#
-	####################################
-
-	mozconfig_init
-	mozconfig_config
-
-	# It doesn't compile on alpha without this LDFLAGS
-	use alpha && append-ldflags "-Wl,--no-relax"
-
-	# Add full relro support for hardened
-	use hardened && append-ldflags "-Wl,-z,relro,-z,now"
-
-	# Setup api key for location services
-	echo -n "${_google_api_key}" > "${S}"/google-api-key
-	mozconfig_annotate '' --with-google-api-keyfile="${S}/google-api-key"
-
-	mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
-	mozconfig_annotate '' --disable-mailnews
-
-	# Allow for a proper pgo build
-	if use pgo; then
-		echo "mk_add_options PROFILE_GEN_SCRIPT='\$(PYTHON) \$(OBJDIR)/_profile/pgo/profileserver.py'" >> "${S}"/.mozconfig
-	fi
-
-	echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
-
-	# Finalize and report settings
-	mozconfig_final
-
-	if [[ $(gcc-major-version) -lt 4 ]]; then
-		append-cxxflags -fno-stack-protector
-	fi
-
-	# workaround for funky/broken upstream configure...
-	SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
-	emake -f client.mk configure
-}
-
-src_compile() {
-	if use pgo; then
-		addpredict /root
-		addpredict /etc/gconf
-		# Reset and cleanup environment variables used by GNOME/XDG
-		gnome2_environment_reset
-
-		# Firefox tries to use dri stuff when it's run, see bug 380283
-		shopt -s nullglob
-		cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
-		if test -z "${cards}"; then
-			cards=$(echo -n /dev/ati/card* /dev/nvidiactl* | sed 's/ /:/g')
-			if test -n "${cards}"; then
-				# Binary drivers seem to cause access violations anyway, so
-				# let's use indirect rendering so that the device files aren't
-				# touched at all. See bug 394715.
-				export LIBGL_ALWAYS_INDIRECT=1
-			fi
-		fi
-		shopt -u nullglob
-		addpredict "${cards}"
-
-		MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
-		virtx emake -f client.mk profiledbuild || die "virtx emake failed"
-	else
-		MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
-		emake -f client.mk realbuild
-	fi
-
-}
-
-src_install() {
-	cd "${BUILD_OBJ_DIR}" || die
-
-	# Pax mark xpcshell for hardened support, only used for startupcache creation.
-	pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
-
-	# Add our default prefs for firefox
-	cp "${FILESDIR}"/gentoo-default-prefs.js-1 \
-		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-		|| die
-
-	mozconfig_install_prefs \
-		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js"
-
-	# Augment this with hwaccel prefs
-	if use hwaccel ; then
-		cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-1 >> \
-		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-		|| die
-	fi
-
-	echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
-		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-		|| die
-
-	local plugin
-	use gmp-autoupdate || for plugin in \
-	gmp-gmpopenh264 ; do
-		echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
-			"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-			|| die
-	done
-
-	MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
-	emake DESTDIR="${D}" install
-
-	# Install language packs
-	mozlinguas_src_install
-
-	local size sizes icon_path icon name
-	if use bindist; then
-		sizes="16 32 48"
-		icon_path="${S}/browser/branding/aurora"
-		# Firefox's new rapid release cycle means no more codenames
-		# Let's just stick with this one...
-		icon="aurora"
-		name="Aurora"
-
-		# Override preferences to set the MOZ_DEV_EDITION defaults, since we
-		# don't define MOZ_DEV_EDITION to avoid profile debaucles.
-		# (source: browser/app/profile/firefox.js)
-		cat >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" <<PROFILE_EOF
-pref("app.feedback.baseURL", "https://input.mozilla.org/%LOCALE%/feedback/firefoxdev/%VERSION%/");
-sticky_pref("lightweightThemes.selectedThemeID", "firefox-devedition@mozilla.org");
-sticky_pref("browser.devedition.theme.enabled", true);
-sticky_pref("devtools.theme", "dark");
-PROFILE_EOF
-
-	else
-		sizes="16 22 24 32 256"
-		icon_path="${S}/browser/branding/official"
-		icon="${PN}"
-		name="Mozilla Firefox"
-	fi
-
-	# Install icons and .desktop for menu entry
-	for size in ${sizes}; do
-		insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
-		newins "${icon_path}/default${size}.png" "${icon}.png"
-	done
-	# The 128x128 icon has a different name
-	insinto "/usr/share/icons/hicolor/128x128/apps"
-	newins "${icon_path}/mozicon128.png" "${icon}.png"
-	# Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
-	newicon "${icon_path}/content/icon48.png" "${icon}.png"
-	newmenu "${FILESDIR}/icon/${PN}.desktop" "${PN}.desktop"
-	sed -i -e "s:@NAME@:${name}:" -e "s:@ICON@:${icon}:" \
-		"${ED}/usr/share/applications/${PN}.desktop" || die
-
-	# Add StartupNotify=true bug 237317
-	if use startup-notification ; then
-		echo "StartupNotify=true"\
-			 >> "${ED}/usr/share/applications/${PN}.desktop" \
-			|| die
-	fi
-
-	# Required in order to use plugins and even run firefox on hardened, with jit useflag.
-	if use jit; then
-		pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/{firefox,firefox-bin,plugin-container}
-	else
-		pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/plugin-container
-	fi
-
-	# very ugly hack to make firefox not sigbus on sparc
-	# FIXME: is this still needed??
-	use sparc && { sed -e 's/Firefox/FirefoxGentoo/g' \
-					 -i "${ED}/${MOZILLA_FIVE_HOME}/application.ini" \
-					|| die "sparc sed failed"; }
-}
-
-pkg_preinst() {
-	gnome2_icon_savelist
-}
-
-pkg_postinst() {
-	# Update mimedb for the new .desktop file
-	fdo-mime_desktop_database_update
-	gnome2_icon_cache_update
-}
-
-pkg_postrm() {
-	gnome2_icon_cache_update
-}

diff --git a/www-client/firefox/firefox-52.1.0-r1.ebuild b/www-client/firefox/firefox-52.1.0-r1.ebuild
deleted file mode 100644
index 8ba5f01f36c..00000000000
--- a/www-client/firefox/firefox-52.1.0-r1.ebuild
+++ /dev/null
@@ -1,405 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-VIRTUALX_REQUIRED="pgo"
-WANT_AUTOCONF="2.1"
-MOZ_ESR=1
-
-# This list can be updated with scripts/get_langs.sh from the mozilla overlay
-MOZ_LANGS=( ach af an ar as ast az bg bn-BD bn-IN br bs ca cak cs cy da de dsb
-el en en-GB en-US en-ZA 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 id is it ja ka kab kk km kn ko lij lt lv
-mai mk ml mr ms nb-NO nl nn-NO or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq
-sr sv-SE ta te th tr uk uz vi xh zh-CN zh-TW )
-
-# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
-MOZ_PV="${PV/_alpha/a}" # Handle alpha for SRC_URI
-MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
-MOZ_PV="${MOZ_PV/_rc/rc}" # Handle rc for SRC_URI
-
-if [[ ${MOZ_ESR} == 1 ]]; then
-	# ESR releases have slightly different version numbers
-	MOZ_PV="${MOZ_PV}esr"
-fi
-
-# Patch version
-PATCH="${PN}-52.0-patches-08"
-MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases"
-
-MOZCONFIG_OPTIONAL_GTK2ONLY=1
-MOZCONFIG_OPTIONAL_WIFI=1
-
-inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils mozconfig-v6.52 pax-utils fdo-mime autotools virtualx mozlinguas-v2
-
-DESCRIPTION="Firefox Web Browser"
-HOMEPAGE="http://www.mozilla.com/firefox"
-
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
-
-SLOT="0"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-IUSE="bindist +gmp-autoupdate hardened hwaccel jack pgo rust selinux test"
-RESTRICT="!bindist? ( bindist )"
-
-PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c}/mozilla/patchsets/${PATCH}.tar.xz )
-SRC_URI="${SRC_URI}
-	${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz
-	${PATCH_URIS[@]}"
-
-ASM_DEPEND=">=dev-lang/yasm-1.1"
-
-RDEPEND="
-	jack? ( virtual/jack )
-	>=dev-libs/nss-3.28.3
-	>=dev-libs/nspr-4.13.1
-	selinux? ( sec-policy/selinux-mozilla )"
-
-DEPEND="${RDEPEND}
-	pgo? ( >=sys-devel/gcc-4.5 )
-	rust? ( dev-lang/rust )
-	amd64? ( ${ASM_DEPEND} virtual/opengl )
-	x86? ( ${ASM_DEPEND} virtual/opengl )"
-
-S="${WORKDIR}/firefox-${MOZ_PV}"
-
-QA_PRESTRIPPED="usr/lib*/${PN}/firefox"
-
-BUILD_OBJ_DIR="${S}/ff"
-
-# allow GMP_PLUGIN_LIST to be set in an eclass or
-# overridden in the enviromnent (advanced hackers only)
-if [[ -z $GMP_PLUGIN_LIST ]]; then
-	GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
-fi
-
-pkg_setup() {
-	moz_pkgsetup
-
-	# 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 \
-		XDG_SESSION_COOKIE \
-		XAUTHORITY
-
-	if ! use bindist; then
-		einfo
-		elog "You are enabling official branding. You may not redistribute this build"
-		elog "to any users on your network or the internet. Doing so puts yourself into"
-		elog "a legal problem with Mozilla Foundation"
-		elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"
-	fi
-
-	if use pgo; then
-		einfo
-		ewarn "You will do a double build for profile guided optimization."
-		ewarn "This will result in your build taking at least twice as long as before."
-	fi
-
-	if use rust; then
-		einfo
-		ewarn "This is very experimental, should only be used by those developing firefox."
-	fi
-}
-
-pkg_pretend() {
-	# Ensure we have enough disk space to compile
-	if use pgo || use debug || use test ; then
-		CHECKREQS_DISK_BUILD="8G"
-	else
-		CHECKREQS_DISK_BUILD="4G"
-	fi
-	check-reqs_pkg_setup
-}
-
-src_unpack() {
-	unpack ${A}
-
-	# Unpack language packs
-	mozlinguas_src_unpack
-}
-
-src_prepare() {
-	# Apply our patches
-	eapply "${WORKDIR}/firefox"
-	eapply "${FILESDIR}"/musl_drop_hunspell_alloc_hooks.patch
-
-	# Enable gnomebreakpad
-	if use debug ; then
-		sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
-			"${S}"/build/unix/run-mozilla.sh || die "sed failed!"
-	fi
-
-	# Drop -Wl,--as-needed related manipulation for ia64 as it causes ld sefgaults, bug #582432
-	if use ia64 ; then
-		sed -i \
-		-e '/^OS_LIBS += no_as_needed/d' \
-		-e '/^OS_LIBS += as_needed/d' \
-		"${S}"/widget/gtk/mozgtk/gtk2/moz.build \
-		"${S}"/widget/gtk/mozgtk/gtk3/moz.build \
-		|| die "sed failed to drop --as-needed for ia64"
-	fi
-
-	# Ensure that our plugins dir is enabled as default
-	sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
-		"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
-	sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
-		"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
-
-	# Fix sandbox violations during make clean, bug 372817
-	sed -e "s:\(/no-such-file\):${T}\1:g" \
-		-i "${S}"/config/rules.mk \
-		-i "${S}"/nsprpub/configure{.in,} \
-		|| die
-
-	# Don't exit with error when some libs are missing which we have in
-	# system.
-	sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
-		-i "${S}"/browser/installer/Makefile.in || die
-
-	# Don't error out when there's no files to be removed:
-	sed 's@\(xargs rm\)$@\1 -f@' \
-		-i "${S}"/toolkit/mozapps/installer/packager.mk || die
-
-	# Keep codebase the same even if not using official branding
-	sed '/^MOZ_DEV_EDITION=1/d' \
-		-i "${S}"/browser/branding/aurora/configure.sh || die
-
-	# Allow user to apply any additional patches without modifing ebuild
-	eapply_user
-
-	# Autotools configure is now called old-configure.in
-	# This works because there is still a configure.in that happens to be for the
-	# shell wrapper configure script
-	eautoreconf old-configure.in
-
-	# Must run autoconf in js/src
-	cd "${S}"/js/src || die
-	eautoconf old-configure.in
-
-	# Need to update jemalloc's configure
-	cd "${S}"/memory/jemalloc/src || die
-	WANT_AUTOCONF= eautoconf
-}
-
-src_configure() {
-	MEXTENSIONS="default"
-	# 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.
-	_google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
-
-	####################################
-	#
-	# mozconfig, CFLAGS and CXXFLAGS setup
-	#
-	####################################
-
-	mozconfig_init
-	mozconfig_config
-
-	# enable JACK, bug 600002
-	mozconfig_use_enable jack
-
-	# It doesn't compile on alpha without this LDFLAGS
-	use alpha && append-ldflags "-Wl,--no-relax"
-
-	# Add full relro support for hardened
-	use hardened && append-ldflags "-Wl,-z,relro,-z,now"
-
-	# Only available on mozilla-overlay for experimentation -- Removed in Gentoo repo per bug 571180
-	#use egl && mozconfig_annotate 'Enable EGL as GL provider' --with-gl-provider=EGL
-
-	# Setup api key for location services
-	echo -n "${_google_api_key}" > "${S}"/google-api-key
-	mozconfig_annotate '' --with-google-api-keyfile="${S}/google-api-key"
-
-	mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
-
-	mozconfig_use_enable rust
-
-	# Allow for a proper pgo build
-	if use pgo; then
-		echo "mk_add_options PROFILE_GEN_SCRIPT='EXTRA_TEST_ARGS=10 \$(MAKE) -C \$(MOZ_OBJDIR) pgo-profile-run'" >> "${S}"/.mozconfig
-	fi
-
-	echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
-	echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
-
-	# Finalize and report settings
-	mozconfig_final
-
-	if [[ $(gcc-major-version) -lt 4 ]]; then
-		append-cxxflags -fno-stack-protector
-	fi
-
-	# workaround for funky/broken upstream configure...
-	SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
-	emake -f client.mk configure
-}
-
-src_compile() {
-	if use pgo; then
-		addpredict /root
-		addpredict /etc/gconf
-		# Reset and cleanup environment variables used by GNOME/XDG
-		gnome2_environment_reset
-
-		# Firefox tries to use dri stuff when it's run, see bug 380283
-		shopt -s nullglob
-		cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
-		if test -z "${cards}"; then
-			cards=$(echo -n /dev/ati/card* /dev/nvidiactl* | sed 's/ /:/g')
-			if test -n "${cards}"; then
-				# Binary drivers seem to cause access violations anyway, so
-				# let's use indirect rendering so that the device files aren't
-				# touched at all. See bug 394715.
-				export LIBGL_ALWAYS_INDIRECT=1
-			fi
-		fi
-		shopt -u nullglob
-		[[ -n "${cards}" ]] && addpredict "${cards}"
-
-		MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
-		virtx emake -f client.mk profiledbuild || die "virtx emake failed"
-	else
-		MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
-		emake -f client.mk realbuild
-	fi
-
-}
-
-src_install() {
-	cd "${BUILD_OBJ_DIR}" || die
-
-	# Pax mark xpcshell for hardened support, only used for startupcache creation.
-	pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
-
-	# Add our default prefs for firefox
-	cp "${FILESDIR}"/gentoo-default-prefs.js-1 \
-		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-		|| die
-
-	mozconfig_install_prefs \
-		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js"
-
-	# Augment this with hwaccel prefs
-	if use hwaccel ; then
-		cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-1 >> \
-		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-		|| die
-	fi
-
-	echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
-		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-		|| die
-
-	local plugin
-	use gmp-autoupdate || for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
-		echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
-			"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-			|| die
-	done
-
-	MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
-	emake DESTDIR="${D}" install
-
-	# Install language packs
-	mozlinguas_src_install
-
-	local size sizes icon_path icon name
-	if use bindist; then
-		sizes="16 32 48"
-		icon_path="${S}/browser/branding/aurora"
-		# Firefox's new rapid release cycle means no more codenames
-		# Let's just stick with this one...
-		icon="aurora"
-		name="Aurora"
-
-		# Override preferences to set the MOZ_DEV_EDITION defaults, since we
-		# don't define MOZ_DEV_EDITION to avoid profile debaucles.
-		# (source: browser/app/profile/firefox.js)
-		cat >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" <<PROFILE_EOF
-pref("app.feedback.baseURL", "https://input.mozilla.org/%LOCALE%/feedback/firefoxdev/%VERSION%/");
-sticky_pref("lightweightThemes.selectedThemeID", "firefox-devedition@mozilla.org");
-sticky_pref("browser.devedition.theme.enabled", true);
-sticky_pref("devtools.theme", "dark");
-PROFILE_EOF
-
-	else
-		sizes="16 22 24 32 256"
-		icon_path="${S}/browser/branding/official"
-		icon="${PN}"
-		name="Mozilla Firefox"
-	fi
-
-	# Install icons and .desktop for menu entry
-	for size in ${sizes}; do
-		insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
-		newins "${icon_path}/default${size}.png" "${icon}.png"
-	done
-	# The 128x128 icon has a different name
-	insinto "/usr/share/icons/hicolor/128x128/apps"
-	newins "${icon_path}/mozicon128.png" "${icon}.png"
-	# Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
-	newicon "${icon_path}/content/icon48.png" "${icon}.png"
-	newmenu "${FILESDIR}/icon/${PN}.desktop" "${PN}.desktop"
-	sed -i -e "s:@NAME@:${name}:" -e "s:@ICON@:${icon}:" \
-		"${ED}/usr/share/applications/${PN}.desktop" || die
-
-	# Add StartupNotify=true bug 237317
-	if use startup-notification ; then
-		echo "StartupNotify=true"\
-			 >> "${ED}/usr/share/applications/${PN}.desktop" \
-			|| die
-	fi
-
-	# Required in order to use plugins and even run firefox on hardened.
-	pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/{firefox,firefox-bin,plugin-container}
-}
-
-pkg_preinst() {
-	gnome2_icon_savelist
-
-	# if the apulse libs are available in MOZILLA_FIVE_HOME then apulse
-	# doesn't need to be forced into the LD_LIBRARY_PATH
-	if use pulseaudio && has_version ">=media-sound/apulse-0.1.9" ; 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() {
-	# Update mimedb for the new .desktop file
-	fdo-mime_desktop_database_update
-	gnome2_icon_cache_update
-
-	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 "${GMP_PLUGIN_LIST[@]}"; do elog "\t ${plugin}" ; done
-	fi
-
-	if use pulseaudio && has_version ">=media-sound/apulse-0.1.9" ; 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."
-	fi
-}
-
-pkg_postrm() {
-	gnome2_icon_cache_update
-}

diff --git a/www-client/firefox/metadata.xml b/www-client/firefox/metadata.xml
index 47f0499d463..744cb0451a4 100644
--- a/www-client/firefox/metadata.xml
+++ b/www-client/firefox/metadata.xml
@@ -15,7 +15,6 @@
 	<flag name="gtk2">Use the cairo-gtk2 rendering engine</flag>
 	<flag name="hwaccel">Force-enable hardware-accelerated rendering (Mozilla bug 594876)</flag>
 	<flag name="jemalloc">Enable or disable jemalloc</flag>
-	<flag name="jemalloc3">Enable or disable jemalloc3 (forced-on when supported prior to 38.0)</flag>
 	<flag name="nsplugin">Enable support for NPAPI plugins other than flash</flag>
 	<flag name="pgo">Add support for profile-guided optimization using gcc-4.5,
 		for faster binaries. This option will double the compile time.</flag>


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2018-01-06  0:39 Ian Stakenvicius
  0 siblings, 0 replies; 25+ messages in thread
From: Ian Stakenvicius @ 2018-01-06  0:39 UTC (permalink / raw
  To: gentoo-commits

commit:     ffa4ef4e9136e1843a19b02ae71305fa1c328ef9
Author:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Fri Jan  5 17:44:19 2018 +0000
Commit:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Sat Jan  6 00:38:57 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ffa4ef4e

www-client/firefox: bump to 57.0.4 for Meltdown/Spectre, backport pkcs11 support

57.0.4 mitigates new timing-based attacks (Meltdown and Spectre), for more info
please see https://www.mozilla.org/en-US/firefox/57.0.4/releasenotes/

Also backported the pkcs11 support from 58 to 57 to support extensions that
require it, thanks to leio for the patch.

Package-Manager: Portage-2.3.13, Repoman-2.3.3

 www-client/firefox/Manifest                        | 184 +++----
 .../files/firefox-57.0-pkcs11-backport.patch       | 529 +++++++++++++++++++++
 ...firefox-57.0.1.ebuild => firefox-57.0.4.ebuild} |   3 +-
 3 files changed, 623 insertions(+), 93 deletions(-)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 453ec015328..b4c826e416c 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -278,95 +278,95 @@ DIST firefox-52.5.2esr-zh-CN.xpi 461694 BLAKE2B 63c39764c2ad138dba0849bc9a018309
 DIST firefox-52.5.2esr-zh-TW.xpi 472534 BLAKE2B 5ef9625facf35d4e220c0b2272c25786a21b0ee36ec2fb62f260168401979df50a90e41fb2e85ad963b426f08b27d52540f0eae4484a67b94a59d0a966ff76b8 SHA512 c64c65b31aa2e4f3534d394183e0dfa96672721f0d8e070daa142263fccdf71236b6a2ab7e45b88cc49b96bb46165cf6c36aaa981ee23385c19be54f2537fdfb
 DIST firefox-52.5.2esr.source.tar.xz 214094820 BLAKE2B f9eb9b5aa333d16639a59e6b36a4adef276d84b807868c671a464cb16060e275bdf7b0b45e1c72bc71930c71455fcfbff590df0f97ca3a97dfb651c3fefa0722 SHA512 bbc7dcc4cb392f06fe2e963a3b6372efcfbbcc1ca7218a3ef05885285fe00c9e87e0f8d307bd9363668327eb43542c0600443bd9e6744de64494b96dd00efa5a
 DIST firefox-57.0-patches-01.tar.xz 10964 BLAKE2B 207ad3ddbf924224efabc880e94a051076386102224dcc54e6f2b99466d87e9e5da29ba29d14d3f2024c9d50e3def1a39fceac5b3aac5f789a781c2ac3ab5039 SHA512 5f4c668eb1ae9b4067997973e7f5fcfa4d3de7b60520f7cc2a96b97b0814e921f777862e45fa0ffad231040d99e98f259e2482d4a5d7be096abc5d5860bfc593
-DIST firefox-57.0.1-ach.xpi 441113 BLAKE2B dbab6535791c08cff6dc6eacb2f76f285b2d932d6dfb49f48debb98657853ef4d05886c445ebbc4528b6ec5c15343456d23cca3c8912ee471ee97433749fd614 SHA512 239b67d8e1c9e26f2400dac57986eb352c20efc5a9319908418e65fcaf8b17e69f9416561b7e3d7f4bf86c333b292534c8b78be67167e11ce95771673da65480
-DIST firefox-57.0.1-af.xpi 442206 BLAKE2B f683812558cff77c68a5aec700bccc5d20b3126f5ab586195dd783b47400ae62f69a1144b8da2e94f32577838a274032b36fe7a814f3bd970680b2c47ecb9de2 SHA512 df4827d47773ee699c9abf81bff0931dd00b5a67c4253d50ea62cd5824feeacab832d4ea041c161d06a0b8947b0ea7dc4a01cf59282d5217588a52dfc57c1ed4
-DIST firefox-57.0.1-an.xpi 462778 BLAKE2B 41216564524bff884d3f278ab2363f93895f1e1077adcb79bfdfd6f83687743a1904f5f85e616599828b9b4074aa4aeebb1bf43e6a1c6980e47f527bc9299cb0 SHA512 8d646c564e4c07de4ac888e08eb182197850f6380f1b8d2ecdbcfabfa1edd9b86946e1f4dc5531fa0d22f26772c933f9787bc64c3df611f8e808e9f78adf5798
-DIST firefox-57.0.1-ar.xpi 488160 BLAKE2B 551bc6661572aa0041ab1fa0d42080e2eb14614b2708df4f82e77d08761070d715bb0bbc8ce38e42de44136df2b3e085c6432311e2364033dffdec7515c3602a SHA512 17ce0ac626f0b5acd2b1e093903a50373b748024c90ba1e2a7b95195ef4c76e2cc249a9b58ce8207c5861dff32a1f9fa67676d23b129139a53fec7456d2f889b
-DIST firefox-57.0.1-as.xpi 491075 BLAKE2B cff094f8915d66d50f31c00b571bf96959e29516a8846c056680105bfd095a31fed7bfb3c8d5a511d2d71e797a6b990240e389708e79b35883e881347a6b4491 SHA512 dfd888380fc99abc2aaac9be0e01576a090d624c4011b9f85386cfaef868c1db34bf821621164eab5e41e11977b1c16c2a9117ae88f868f757c60ca659291044
-DIST firefox-57.0.1-ast.xpi 455504 BLAKE2B 9a0c7ba2aa4ab8c356094e012202c32e876046588d27d7536357dc5876cec25ab469403e656e3c8f92b21c4fc04423f70d8075c61f18fc26e167a0e6b73b7a85 SHA512 6b6a907f2fa74c9dd748baed0e751df9a5f5ea55ea7b619501e8e0bb8065c0b284d0a6878249813a64b3e8c4aa5e7f8677c9b4901e869373cc36b179a8ea8e7a
-DIST firefox-57.0.1-az.xpi 466044 BLAKE2B 3f9585be3f94bd9274aeb53b7e3a334a043c428de889d1af29fa8ffea0b8621c88caae3f621d734a1a00fd3edbdb2b4b9ed7e430ee6becf14c5d0261f658ed96 SHA512 ec4f5530541f65e86ba8185009983e08f675980e4b090f55fb262718646fe979c4a1ac16939dd2c5977b397c7f882c9b9dc8bf6e4264dfb04106f730feb00748
-DIST firefox-57.0.1-bg.xpi 510352 BLAKE2B cbc3baaa1d34716f44dddf0ca1f966320f75eaef8b273617fc25c2efc8d01563939b804d4782fd975da7ef401d5e677f8ea4a19091f591c54c809ea844274d3c SHA512 3f8eca12a5d8c9f21ac773a14159f9042613b16126cd96859afbd623b4639e52b38cd4dfbb70a468ba8f324489fd2860777668bab04dbfa8b4d2257ab145e05b
-DIST firefox-57.0.1-bn-BD.xpi 527190 BLAKE2B 9db3d7248d78d7dce16bf1e9d09f631c40d6a4d431d5c20c3b7e6fbbbe32ad2b145a462f4937ea5d518d91f447ec66bf558c59aa82bd0dd1b71c010f4cf439e9 SHA512 d388817b7da7f4dd60373a5fed44a10f39c7ff3bd6244db5363b8225ead353e218e76ee4290966665ae0e6c75b55c0efddcbebb0dd9b81e615332164e1810d90
-DIST firefox-57.0.1-bn-IN.xpi 516180 BLAKE2B 33066f4da6350eb4b40d910032170e1f2ab737d6f0b125b57f247e7d0a0ba47832429d5100870293b2730c77f61fdb055ddaf511f4f3ea7b7d78b28688c42411 SHA512 eb552be90d3e13716e824aa03794b75a0906e6546985b06149c709a16fcdbe580e10cb5e8bcc79f89b198232ad0e19c7da12da5ed4f814286f5c318d9a3664f0
-DIST firefox-57.0.1-br.xpi 451867 BLAKE2B 50d9dd868b06e26674d900603576ad8b2e3433d5ddfa9d3a8f0dad72b8c0f32c01fdf0bb07365d4049e8433d49cfdb3544578bd6402bdddab43f0a5ddf9cdeab SHA512 fee1057b9a810a82058975fa2eeff97f6aa0191564413097b241b07987824a2ee7ca55b13a97526e94688beb3cf8952569badaae17ab04faac42cdbe0a6ab681
-DIST firefox-57.0.1-bs.xpi 459650 BLAKE2B fa0c58ca76b5ba6fcdfd73883a8e129f83018e2603ca96bd29a3e940f391606b7cc33fffd446b503932afb7dc09c2d727406b1f96405af465908c1d9dc09a4c9 SHA512 65b94db677945abc87f8ed601ba2a8537715cc3549ce12875acd9a9441759829e81aa7f1f0dbf3d6c362a51b199f7bb293f321859de4cddc6380c3312e002480
-DIST firefox-57.0.1-ca.xpi 466641 BLAKE2B ce2336b947c13bb8a1ebfa7e729f2e957add98dd99668c1771d4a0ca2e6f69142296b4d4c79e42e57f9c93059fc60b9b2dfb4563731931b0b5bbfc4a778e26bc SHA512 e43c4fd45b9bae0226b009032a1eeffba7be2387a29624a68f20f1a05f8a48e05fb5890be792d636ba2b896dc52e6f1945950d920efec040951a0b61ef80b74d
-DIST firefox-57.0.1-cak.xpi 475935 BLAKE2B 5eeff715ed9af6b1e2f6cb2cee42b02c9f449d5d4f20464d1f6386b6584b6eee39095d577cdc73e36bd996a723be9c96592d6003a86366d8dece8c417629f827 SHA512 0f45529b82247fda328fbf9c2c90f0f431513f2a1cc34dffc4673b4abaf15437c2a093de0f463fd9b2c60486c54c0c08f527affbb3a0da213a047254fa36c926
-DIST firefox-57.0.1-cs.xpi 469457 BLAKE2B cf51a03f5ca41d29dd84722002e76b84edf1b94f97c01b9903a9de01008dbf1cb2f9485fe7a6baa9e791578c1606ec224d212c024bcab64de26206c0a26c303e SHA512 2869b1609bd2ca05acaff847cacf61641a383edd6659b74f34d7fa66cc27b02be1a4efa3c46ae9dcafa28e1a57c344fea0a38fffb6d7ae723ccd50c5a3aa08eb
-DIST firefox-57.0.1-cy.xpi 455788 BLAKE2B d2d6df4012e0e2dd9087917c295d65260d3e11c276e809b689186a942b262be25ac201a138b6a271eb5b92107641afa49ca8bef136643f44f33c16a181d15b1f SHA512 f4cc0d88a068b1efc39c64fa9f52a1c09bf1d0d2e3dcd95a1b2ca61a953a7cf9a4ce27bf7d3ff82cb697d04b168bae47d663617c86cd2c98f7d78394ad1e6070
-DIST firefox-57.0.1-da.xpi 448416 BLAKE2B 61e317baceee3fe41084ca372456cedbd6ed310921c268243a725e6e5c9ed5a7f07d3a0b115d696e7149a8d376d6e72ab682b81484dae0d70f8a184cb8fd44e8 SHA512 891f129f850564905f6524f23c83b86031ea352320598a9853aeb914f8ed3726a42762668594c3e644d1fe647b21dbb279780e770861cbf973eb6c5bd07e111e
-DIST firefox-57.0.1-de.xpi 460814 BLAKE2B 0fc9be379ed1ba50329c6f8adca74ae2062f7808e9edf57320e861c60cea80e3a4a51c17eca226e8ada409af3c1c664a2f45d17a5a4e10d7917810637e3149c9 SHA512 f6f2a304ee9fdd79bde59d3cf0116e9ce81425c604670add18117bdc6f5bac3c212afe56b368d8b327aeb08117ca1e8adc6c4606e0cefb974f0b01f2b14b1ee2
-DIST firefox-57.0.1-dsb.xpi 479511 BLAKE2B f519e3c26a3b65b6bce8c870101de0464ce848c268760cd30aabebabae5f091e3c9f581d314c19def0174a5dcb08ff9942949e17b14b6ca44dfa809ddc9c95ac SHA512 5e955e9816c05f4b1305ef36837e7f07cfae68fdee027ce0ad3dde284cbd54f2c49b5630990c70421864f734ccf8659227b1cfb2562305d7e98af1163a28b533
-DIST firefox-57.0.1-el.xpi 534484 BLAKE2B b232ed5fea1632b229fcfcfff1bb3fd4014301692d5750e2f41fe5b0117a83ad5672e2e9f449c3632db3e2b47cd03285d8d28ed237d31aaba25248b6a354791f SHA512 2383d75ad30d19deb27337642369e09157035826251461efa0a671ca02842047ea34721da759e831bc6d26c59d04212647c409a96443eb874adc64fc904d5a6c
-DIST firefox-57.0.1-en-GB.xpi 435623 BLAKE2B 5b4b1a461775dbe1c0358769837262b9220698d0df62209fa01e8c886d250848c4683fcfdcc5fd8ea4b2bec0969b81080231e79d11fc07f56ba9c7ebb3693bd9 SHA512 3d51b7cadf826be8619314682e482890e0cc57fc34c0687a3760c4ca5af12620cdc9005d2e0c81f0371ef56ede12996ee9364336a89caeedc70e854650b28585
-DIST firefox-57.0.1-en-ZA.xpi 432020 BLAKE2B 4e78d36f28d6eaa4c2406a4fae993379fe8aa5d760ac5b370b3c21dab72a5620b38912d127f38fa60101d33609e733d0a013437fa3884fccd59da8bcf3634b1d SHA512 788e2e11a37ae4bb1bacc4021742534d35144227744112e94dda505ded81bcfdffed4d41f39b204e9e62fd69f52e6a8218bfb3ba2c78fa96fa44e7f416ddc178
-DIST firefox-57.0.1-eo.xpi 454910 BLAKE2B cb17b6de90432269c45e45e1edd7d74985efd916a355a99a8aeae98f19641465d1d2765aa65070113e46427f76c175f3b7e288a64517c3082b68174f09054f91 SHA512 b8d814192eddbb3bbd7953c27b14dd48d33d9e7d993d7c421f2383269bb7c78a663e67a3fc1f185fd14b6210a0c41dd77628b3a74d99b42bbad2f31bd5a9d68f
-DIST firefox-57.0.1-es-AR.xpi 462980 BLAKE2B b08cb6e335c638a09a4b082210e39d964f536b20e2f27f64a8b4644ff1b01a23b8ec88eb55d320404002b26b69390e8fef24ac8712c9a3684e96e23559acd21b SHA512 34082f39b5fd0eef577fd8463e8a12fbfb51a68f4347f08359e2d6a096e765e194337abbed634f5b84d9eef8c1d6433757ba3dd46056ce396cc88c0a5eb49c20
-DIST firefox-57.0.1-es-CL.xpi 465514 BLAKE2B f4d94b05db99fa955b61bfd6d5b56c3b1426404d1e6d5641e3d5532aafe69f0db763c6d74dc2b3d0bd2251d19517da330bb1f2e214758136537aa93dded90ee5 SHA512 c0ca0fdc3bbcb83d47b57b92c3d7e421983cec362b828b3e625ec717625b83a7457488b59640e530738de8413efa2802a06f0623e3ac3f62baf72ab14e0cd7a3
-DIST firefox-57.0.1-es-ES.xpi 353625 BLAKE2B 1195a957cdea21faa8c8acf921e83b6d07937cffe0c22744c045582dd914d0d1de4c474bb2cf8d928d557625f47c35cae680728dba88c9c344d0c57eee1b1dae SHA512 85dc945937e2c68b2919665d29914371f9f05e7ae9912b45e506ff74ec5639622edb614ef5d985fff8d72d9c1a3936462f03e979bf6ef56590c1a7f810251615
-DIST firefox-57.0.1-es-MX.xpi 468761 BLAKE2B a4b71581d1ec0826fec5bb9230dab79ef2cdf1e3143ec297d87742b69ae9c546f8a428fa871e4f8e1b7b38a5b4a60238fb8f3c1c059cc4aead113691d425df14 SHA512 d0bfc9d43e24863a54f3008627904b268e60dcb552be72c4c942eb478c4f22e0a7bc914e37ebf1cce2983eff096855cdc8a2414f9fd2a4b24c1b5ad8e03c2cc6
-DIST firefox-57.0.1-et.xpi 447279 BLAKE2B ab03143a7e85e141543c5ba15f2b475cb5af2111831da74afc519bf498d888ce79adcd7b82f99714b5576fa700f76f09f340cf28309ce378610d5cd7c5937e30 SHA512 cf6b1d8392797f44bb657d2675ef906c2d4da6ae5a634b3d9426fdcf5552db1411e88bdbe52f023f1c9290a41bcfb836598f412031c41a25b2ae0ad912d72c0a
-DIST firefox-57.0.1-eu.xpi 454673 BLAKE2B 205207ad8102f3b6ec25a41c66cb618dceb23836af16f391ec0c572177b02f6c4e0b1feb88a8f2613ac708b8e66b8a225ab3aba617f08a9727a76b4324ad94ab SHA512 6fd47c177ec9ca0d6b679cad7b5f36eed1f3a9d1e05477ef626a9052f8064c64ba2e3a2ac4ec7066a163995a9ec1db870bcdb054d49ff49f251a182abb95d0b6
-DIST firefox-57.0.1-fa.xpi 510829 BLAKE2B 59d0930e6525d35ba9201a8158db9b41e34f055acd1609b2c0bc56209a7eb87f060472c43ae19b74d966aafdf1d6a2e623770d6e259ae7e42c7bce640a877898 SHA512 dc6ddc4c6c0ba0fca510147def52f949221dead17e3ff0a6ded1b7db59fea3e55c76e4901e33e64b2c3897737360fa771bd8572c8c6090d02f99687e47c89c5b
-DIST firefox-57.0.1-ff.xpi 454015 BLAKE2B 577eab187e803d8e808698c5924078a12bb596894cb29fac01c51f9e237d173ccea2ea8318ad967efed48e8ecc5c640eac29cafa1871175dba5c5338cf05b0f2 SHA512 11e118ac52accbbf068912541e73bedcb8d94926f4f1b99a93b9da237487032c663ba987ebc790442e543f49993d0ac2f73a5b52838bd7b2b88fd24df1c68ce7
-DIST firefox-57.0.1-fi.xpi 446244 BLAKE2B 807aaf9b48c59c00f9afdfc83a7f89f0aaf2e3f8e87d0284edcb4260d490e953915734627c2dbf3e07d5a490d38a02b2d42d32639e9b9b541686ec6fa9ea4a18 SHA512 9a61a1d718171d344a590f85ff63b6cb533d7e288c32f031a36e7b3467353afda3345f7dc0bc6bb8e1be034cdae724f8441c3d65a578ff23d335cd0c9210c343
-DIST firefox-57.0.1-fr.xpi 472722 BLAKE2B 9b16832b4ca98f6c29a188e64d73cad8063eaafafe3b6a48535fa4a6b5fd8c67bda45f34c6ac15ebfc2d20ceabe4cefc18fd78f81d94493a97d4b451a55a1fdf SHA512 21b7d08ba5da393eb35f05bb7e977babbe38892226223aad3164a8888994ac06cc2d6e105f841e6a495118fdbcd1d2ed329fc473d6735b299088d4bd817bc3ee
-DIST firefox-57.0.1-fy-NL.xpi 465912 BLAKE2B 060abf49dc34a8a0607310d468cb4e7834e311867b528026b3b1bd796f6b85c5c6e5a4f894f1d86de3aef8041f270c1a52edc715c9a070835bbc2a1e73cc6de5 SHA512 ad5d6fe25bc1af5699f942434c45d7e12a7bd670a0c90010b722d320de9d5db4b2e07e4023fbd1c891932b6e90824949d2cb6fb8b6433df078aae4f5ea9a76d8
-DIST firefox-57.0.1-ga-IE.xpi 475963 BLAKE2B 54e9508bf513e61d3cfd70ae92dba838b87e8f894265be638f75e57a048916f8eb74cc25e87517087f26dd9d63c00eccb73954ad835061a6d29e37828eb19da7 SHA512 675600bdefdee315bfffd7f83fff84e61303e2e7766f32720f7f07e69a0d6b31ff435fb321abce231a4875e315b04cb55318bae387371525f8a6a8119ac7f3ad
-DIST firefox-57.0.1-gd.xpi 465123 BLAKE2B 30676a54c73eb7e590a8a21b50f58c890467bb66b1c43309a2c28df6df9a6e964e5673c6509db019f81feacebf0b08eaee29ae4143a4f0dd9ca0ea6d575cd4f4 SHA512 8695e6af135d0009bf100fdf95b175c9bc2ec8a71a7b9684fce4c2c32eebf29fa42f34fdc300ca7599c073dde6dbad65fc55a821a3a1a2dbbc1987d449182af0
-DIST firefox-57.0.1-gl.xpi 452032 BLAKE2B b1bfdf196404f156e8e8704d4c09d3fcb0c61aaa856700034123aa31762af56758bf3b89b4dbaa2615cbb39c4a3f36c2087cc47c6de05fcfbe6969d7ba42c8aa SHA512 43dba722d9ee42e7558b6100ca3609f8929156339f9cbe7049822cb5bdaa5b13365eb50319ab3bd329db46db7179b260de1d75a335a41e9a483b4c338a66a54b
-DIST firefox-57.0.1-gn.xpi 471956 BLAKE2B bf57d332d9352c44c74afab3ad267de11dfb75cd28986ffe777a58e19328037f6aee7962020c908e2d45d783b1b123b57694926a2d16407609a102437f40b67c SHA512 6e60aa050fb9dff4f5429cf6fa6167e0f44dde84f5cde537223f177277c92c174e93ae8d93d021f6bbaeb99fee444c336f8535a2d86845e6ad1cdf7bbba82e02
-DIST firefox-57.0.1-gu-IN.xpi 511990 BLAKE2B f79f69f45c4103412f117abe41e581e57093aae7c3bbe993b838a2cbe3bd4156cf0cfeced3987ed1f06de4447c11eacdee82b99ff9425286a15de79f6a8a5417 SHA512 282a8dfcee5087eced13bc8eec2c8eb0704514dcab6ceb012ed99dcbec454388ea1c25b3d5b66afd8c75550e2ca0573c1cb614ce6f589193fdd2fd94d6778582
-DIST firefox-57.0.1-he.xpi 471921 BLAKE2B 64eaad0e161701e82b41b6f3c65898e45ce25357349b2d1169fb41f1654fbbeec0e9165ac6ad2696b189a5c91c83150e4001ff909ccb553ac04bb6a218503ba7 SHA512 4d956d1e09908dc4a803d506d2de8cdceec143526298a98779a10757f53fa00b23017aae6d413b6bd885d8b2fc40dc9813728087092c484266894f560ab91f7b
-DIST firefox-57.0.1-hi-IN.xpi 526111 BLAKE2B babfea7d0abbdeb32b1e4c944d9b221ece1fc7bdf76cde5be026b58e75b662daa64517dc2be7878941e9c8877249de621587601e56f108fc5c72424edb28d2ad SHA512 3e60cbc650d3b0905ae7d90814dede5a017adb7dc3dfd10edfd5fe55f585279c2bea94d75805bfaef31dd6e2f02caf694497a08d342fc30631dd72dea4b12465
-DIST firefox-57.0.1-hr.xpi 460722 BLAKE2B d0c699910ccfb4d91bee152dea84321e0376bc7dc343e5f602032639f176a8dd8762ebea1230df48632f9c6870b2f2c7585e3c8b0c5537a9cf9994a6c84b5198 SHA512 dec2f0743c288f71def95716907996f191554a36782755dd77c90a05b1fbdab5c298f097a1e31586cbfe83fbde0018c4b521e4b7dc8ab05f03f10f4a790824d8
-DIST firefox-57.0.1-hsb.xpi 476505 BLAKE2B 8fe461f3b9b481043f481aa12aa06d9f389e9fb3fc09c168ea44c7cbb4e719a139b299955240fd4e4beb4c08e303ea9123b79721fd565c76d2f3174c48ed2b83 SHA512 9fed68ac79ce4e55ab7b2e06434f615cea12c52528be7e43dcc64aca06041817637f41221b712208b35a2c519862e095e2ee771f89c218474c473d18ede7ccd3
-DIST firefox-57.0.1-hu.xpi 476604 BLAKE2B 6d630d343de3a29d4ed6b7a1526421ac0c084d4c25c614a11252dd2255c0c17b9b8e850397e2caf30a772042d3b9cd7cd56fd0f063b5bc84ff758b1b0f4aa289 SHA512 48eb2d0deb0945219364727b872abdaa7249d95f809008157c475bd309d322ff3b8538400b0078dd3927789fe4fda1831aed66aadc0798bb0d2d0d205a292cf5
-DIST firefox-57.0.1-hy-AM.xpi 510825 BLAKE2B ed95c9b60a5c8105e9f2550c69d19ed1ed3bb8e557f3b7d529299a17f060c12303937ce91833521fdfe5c5c3e8feb529b9d79ee93d721a05b0ba3c5f19b89166 SHA512 54e52ba07a289a01a1c7f07911aa3df913736019d8282cabfebde0d8957fadf73382d4e9df1ad09844ac2180b8a6df397f5669b796abeebeaea9f65a7bcca1d6
-DIST firefox-57.0.1-id.xpi 444041 BLAKE2B e4bdc432abe77a159417c4ee63f0d0e9e5f00f05d60dbab8d65fc7ed00bed1142ecc57a3795b328aa3bdb8faf9f7e3b3e1d8185b68d2f559df6fa0e1a0167460 SHA512 2b0505613c0cedeab2bd3d04c6bff9e1e542f733f9b1b5b97f1de984c8e7f970849dd08613629fb05045ad3d33b16a3dd869e0ff61557f9d0acfa302985259e0
-DIST firefox-57.0.1-is.xpi 452660 BLAKE2B f751bd97469fb868adc290e2c9f8d0fe4d4cb9c79d6cf8c4a0914bf7313759b1b6e546f872cb7a712295decda070c3d100e9769ff56c7cd42c10b82c279069c3 SHA512 7ec005df6aade674609f0b6e86152f080a55f2bb273b352239af52d410619bddd5614dfe5ebea37d7a2c164ebabe329d9e62c4fa37bb53f8b7ce278eb86e99c0
-DIST firefox-57.0.1-it.xpi 347172 BLAKE2B 2bbcdc15c23319337226be9a579c61a6d0a3384d5ecc6cd447606e2b7a3d0f6d25f9842551dd4f23bdf16c63cea6df747072f43000426e689f60a6f4ccd8fea3 SHA512 7a9e7df4456d4997f7dbfe70d052d3c42aa83a205355d599462b384daa306251f7434a2aac55592c9c27d2c52c2e08a631c38e83d186a6213efde8fad249a83a
-DIST firefox-57.0.1-ja.xpi 508553 BLAKE2B 163d0e3a31cb0408d79445d62778e780c3444aff4e79d934e0c57dffbef0aea1a82b0811294710aacae41ac074d30dedba565efc0fa1c9b763ff5003782f721b SHA512 c3a3d71b790ae752d209df47b1f40b80a3ab549d95d6932e0c22d9c10ece26f8253d685d9c5baaf7e43593db0c180dff952197dd31aeb3326783aa0507098aa7
-DIST firefox-57.0.1-ka.xpi 492355 BLAKE2B 909c432e5c9d86f4a8ba8d61f03effcae1594654e12b26d5d91362e16af28ce89021e3afb10cc764395bccbcf407c881c4b995cd22f9be8a3806c37837f58c3b SHA512 640afa77b257ad262a603da13e455e5f350f5a18e8635c04610f7f7253bbbc72d872be619268ef4c5fd97743342f8dcda6ce6c3cc20ab3f8be5e064045d7f62d
-DIST firefox-57.0.1-kab.xpi 462531 BLAKE2B e88012afdab3edd2f04f590d1ff867e15c3661684efa7ab2295b838e8c9ca46d263790c25c1daa17fa7ce1430c2a8da8be7a39afce1572d882bf7308c3614af0 SHA512 d2cba33e8aefcf18f8a17613e0eb0ecf8e670c9899ac9fcbe6f236b355571e2d7c83c3bb0ed8ded4939b628d577617b45e85e001664b8584629553543c1fb99c
-DIST firefox-57.0.1-kk.xpi 519249 BLAKE2B bc6aa442d9db999a92bb15a246f991c9980ba5a08db6c6f2606e55487ca5e3c4e73b545cea539fd7b9f4e8ac9444bd999045273f7c2e8fde70712538f579826f SHA512 3de23fc326fb2db2df69d40754b9174eb1de0326e0da53f0082236088548573fadd70903dcf30e10186dfec146185380aeacf27cbb3dfa553fd146534b89da4b
-DIST firefox-57.0.1-km.xpi 530080 BLAKE2B 6a4a7055070e5b14d6525f1f3134d41a62cc7aa1f14b07eed193b427077c9fa8ea4a97bb23fffa8afafd64189d5341a3ec109691e7ec0f9663e0f5244784fe20 SHA512 38c8c18bb86d7e61b2c04260a8ef2ac14e04652fc4628c8f7b84533bf246c3df641123c11935b98bdbdf6b8f5fc91cb8494fe3f35b431c605f7212965d0e20d9
-DIST firefox-57.0.1-kn.xpi 531316 BLAKE2B cfe8c706aa95b6a271e59acbf5441771684fe9e4419665a205c705ac01e321bbf9fefa940c8997017be0a2ac6ff9f5edbbc997c8d703d996702a2efd45e64264 SHA512 ece70f05e9b4a3f8fedcaed5f57cf605b349ba664481ae448ba0f8ea51f1e795df427b7dd0bdda155d8e560b2fa1475ed75edc3c57b309c76fd2740205439536
-DIST firefox-57.0.1-ko.xpi 487306 BLAKE2B a3449003256b8bd8956552976fecf7592711ff458a5e4484006281a4a0de095741c788dfd8f5588143f78f2a8d7d4b07a1efbef812fe9e748da0dc5718e7d160 SHA512 0f88fc6eb1060ba2b5073a113511f5536bf15bbbf798995df5ca54f1265d77f196535c3db7e22dd946059a9d8d151a2e1163832638bb6fd9cf5585d0f786e028
-DIST firefox-57.0.1-lij.xpi 452343 BLAKE2B 502b91e6d7a5a92a78f103ad21251a8be9e820cb38697884a460c21b1ada687d3c9ceea7ed9586a6b67cd7ab54e2892f3300c9daad5aa6558e55f6227e915504 SHA512 9acdee87b68cbf214f9213535a83b83b24ce31acf645def88500f90158aefe9b005ab29afd6e97fe7294f0207f4113581a55f4608b0d07541a5e909858597e85
-DIST firefox-57.0.1-lt.xpi 474957 BLAKE2B 6c212ccbbd7b97b0f41209a29244ae1005ef2dc812b70d0ed54ac623b92fa010976c2b057584596d4ada3a5ce069ac485d18c477ec77ff7d72b495a17d19491d SHA512 1fdb0af3c8f6e143f776aa13cda8d6587c2b16917045ec8c0cea4781e2987f01cb25e83ae86b88aa5c257d36cc63edca4dad7cc1f88574a166e06007ce5221ce
-DIST firefox-57.0.1-lv.xpi 465243 BLAKE2B fb8f04afd9419df86bf5779952c7c7187ef4ca6d5da1857bee22bea2052dd64b63e61878c7b95543fb800e5b9a2ba372f0ee15be08486bce984eb583051fbf6e SHA512 0b7b2f106a1f6ed59342267c6831bd7fdac4e85d5c2b048652cad7c9038ac8b6f758b42eea0d0f79e9e48605d3aaf513a4bc28590c11e5336a50a977c7f808fe
-DIST firefox-57.0.1-mai.xpi 507396 BLAKE2B 0e8058ed7089229e30d398275b47a0c08cac973d63325ee58d89eaf890bd6d0a863d92be73e87118ccee377f918fd2282a36624c5f27d7c0ce1923fdf556d375 SHA512 e5a965dccd3c0aa4b39c7809b22e6a3663da3390a715cdc061a12ecb12faf5c2d385c5718e86fb854a2dd8ecd48fca2a4b5f5e5d55043909aaf268374d0ef665
-DIST firefox-57.0.1-mk.xpi 490853 BLAKE2B d99cac551f2239a9f261546237d87bbc741e12db7be40c99dd93c19dd6fca6ae00245231653ca2cb4acc2731c38c320da22d269bd652f94ed5fe8330feb4ae23 SHA512 8c42c32a5ff24ab6ea872caae53cd7c8663fb13e3dfcfdc1a09e1ca9535e7a1a37215241625501b5fb4155896a4eef72b03b46aa624400880a5ce0f366ad3a98
-DIST firefox-57.0.1-ml.xpi 528256 BLAKE2B 3c50c5bd22ee911b30fb406ec4720f1dc1d7def3d776f1b337dfc2891985c494d55d2d1b81a3c8908108a8b02480fc120e6930702cc4c0cb1d9e8aa383a63954 SHA512 abeb437ba5926ecaea48474a7e3a1ee4a0011aa7669eeea0bbe8409b96d699b1b469bf0c6702256165dbd26bba48eb158d14051a23e880fb4c470fbc27ba0b94
-DIST firefox-57.0.1-mr.xpi 521291 BLAKE2B 84ce36693ac01df47b6a252350a393c40a0a3358c16c88132340daca2a19cbc11cf85c808dc9bb2d61fb4b3e25a955ecc5439ec5dd7286b076c7dff57653e535 SHA512 46fa2586024c21b5c09212c6f2cb1908d442801fc4f1f325a529ad9378a7fe6fabcde9815c1a02cd0f617ad20c691c82a5800f5c2f4070513f34e4ef09ea1e9b
-DIST firefox-57.0.1-ms.xpi 451255 BLAKE2B 73099958c5d96399d8ef7103e6aabbcf88e477561b905e5f39f765010141a800dc3a26db5720bde165d794a8de1fa93e36a264958303c724ac55dc74196a98c1 SHA512 171c0fe3b6e94bb687645cd42e5aa7ca48a52dc7850a9b146e8ea158710abe34619381b3a5f4763c8bec2a3bf5f796ecb9e4c6ff250eeae81a6ec02a90361503
-DIST firefox-57.0.1-nb-NO.xpi 451557 BLAKE2B 8749e40433959b0504b6655b0ae0e3d301d2314423b3be59730f960da8a8e84c8e6a816748037c9de01c46f0f0e06be02cc13358ffeb87647d22259686d872f7 SHA512 48d606ab263f63c543078f1ac32b43374e0a28683177083f6fdb4bce8413679d786e57d880a716f7939a7f21781b85b4bce74db3f5a1a313fdd9175a25c3d045
-DIST firefox-57.0.1-nl.xpi 458319 BLAKE2B ccf42ec18078599cb5018a2327ef53c1db0bf0a863048839bf8a452790ae2b148d703b760059520f2775d9735d94f566d6948ea6bc8a6a7a326594ee2e81521c SHA512 81500df2ed6e99619495da3bf65c0870aec0c743ecf06a0c19db8023c2ddf0274492a6cbb395db1243b4e765891fa023d383dcdaa455b6661ae41bfc074774a3
-DIST firefox-57.0.1-nn-NO.xpi 452005 BLAKE2B c62ec09e19b4204e4d09b5f48987d7bcbc1e37b010323ed01b929888138cb74be3d5cf388a587d761fb74de3d69d54834a819493cc23cc4b2b4dfb4b956cde9e SHA512 e227c870e3f8629cde8c3118165f4f9aceef44fb6c344ecbe159c5ea4ea46495430545aeb6a74095a954f7eeac1aea04f9d858caef9a4c23dc7d30715f166174
-DIST firefox-57.0.1-or.xpi 500868 BLAKE2B 7c2cf66b8e1aed0e5e258a9a36a4036db864470ada587fcfbeea5e637b8b3d26befa33f7471799768dbb007830542183643709efd713b7a19b692430bd4e631f SHA512 3696bd7350d0dad42269d2c007da64b638ba8da6a6313f6f51b61e85ff201f2ad22c408328430921a887fdf3af98745609ec0a30f4a9c7ad19391707c026bd20
-DIST firefox-57.0.1-pa-IN.xpi 495271 BLAKE2B ed3b27fb44a3afdcea1c82ded67b58312b41f5f618a08714b6d298ae003256c20209fbe1c92bc4d12314864578294a31d4d6bc851719635426af894d2d702b0f SHA512 a73a1260ff5f7f39eccbc4de21fd17d5e41ceea666e7656784cc8ba6c7cf39f943158d6121c2cc67c440c1be66a80b7cbd6260529f07e889f1ff45cc5d18a22c
-DIST firefox-57.0.1-pl.xpi 364230 BLAKE2B 2b83187e5038e9f04ff2a708cafcf351bef9747dcd4ec83efd90a0b70a88c52d870bafbcf9e1ca4eeb76ee589e001e91f3451fdfd19bad3658a113a30b720165 SHA512 e4085646512d1718228018da723d5fa00841a2165a6a853a324210be53e508aaf04636101ed842238a21b7bf455ca119a0efffd98a43ca9aa322746bbf0e5d72
-DIST firefox-57.0.1-pt-BR.xpi 457155 BLAKE2B 1506c0497e1006f1f8d42c88ef54b129b0abce16e0cb3332b6df630d0c2fb5628d92b7d14f814bdb3a2694f8925cc3814cd336859190aa699147fd8768fe0fc6 SHA512 d713db70d4875cbabcc5001f4b87aa0df4a8ae3392a4377efe49fb373f04f265771c455078b58f0469e1de80c374194c2c86287e3679a806c827a8329733aa59
-DIST firefox-57.0.1-pt-PT.xpi 460000 BLAKE2B b12275b9e605a7cc20c18464ccd6ee74b32452afe820c4c02e9ee28cdad7c3dddf09356b0e11c51fc346f2f56e6be6d30361e417f95e8f0ce5ecebc443de53b2 SHA512 8840a9ff31b0dc5161f6836279590ecdde7e8e66d33599150137710ff1b710938eb6a3c7009a9003c8a5134cf3f61031bd3833327e3e922e874c29b63de386bb
-DIST firefox-57.0.1-rm.xpi 451059 BLAKE2B eaa3fc73039efa321ff53bc28395844ff86639c779ea764b22e806b0f853e6956785bd1e0ef57eeb352e36783e287cca60b7ec1a1f69be099b20d93ca5b5c7eb SHA512 6bf97d7a770aef3720153db47ecdc31c0e6d0fd52a5ac5f40921e056ea378ee0d394924bd8f4e36c0e62826c15b6db90c28384a9084811535ff8df5a5f9e59bc
-DIST firefox-57.0.1-ro.xpi 455511 BLAKE2B bec40c5c137b903f9d09094bd7c93548b27f84600fdc5a8d549052c6fdacc32d6033f9e2b2e0c0e1c1a979830326a991f431525a3e98673ac7bcf485cf21da2c SHA512 ce02a09b600f0a491b143dd73372952ccaab6cefd6a131559d426b5b056a22b29cf19178f772a8614d3156ba820cec7fa4e7147582ace6c6e9b3d0bb0ed06f95
-DIST firefox-57.0.1-ru.xpi 526955 BLAKE2B 818716e55e1ced157a149e8a6a572727e4dcc7ad6273c8426246a25cf37cf58ad068a29bdeb2ccecb79779b03d9f6a16ef2ad23482395851d67e70ace9581aa5 SHA512 e0e6290279c43df5d1384de17ebd4a34f6b3a524481c6aba3300b12f2faf316d5eb9427db609f677ff5f3d18119019a5f2ee758bb16d6bfd32d4eed9975d2e86
-DIST firefox-57.0.1-si.xpi 498324 BLAKE2B 4d6868bb5836277d9c3f06fec827ad32065b303a76c56c948cf07090762fb271f1c39af0049aa93919a3a572e0b0340b106417d30f6497a4b3b8a71c08a31b62 SHA512 87c591fc7e25408bf38977c004db55282c3ceddcc9c1a14dcd75492ccbf3a9cf7480d0fcaa4338d57a9534275129dc9bb4e781f2b7231b533b2d389d6202f334
-DIST firefox-57.0.1-sk.xpi 480397 BLAKE2B 1274bd682d9b345234d67289e2c0509bdea350b8b40b778e1fdf3af19c38cae2e3f315439636685447a38164777ccc0ab12975366347b1fcd6608798c6679d46 SHA512 14d907f83b13def0c81469d9047359587285a8ab540c616057bedcdff41f1809ed263a947fdcdd8371669e8d78760de0b24053aec9d27b075bb6aa2889d244b3
-DIST firefox-57.0.1-sl.xpi 459377 BLAKE2B 16d1be42524365e96d9814d0ed6e98f9406856ebda8cdd03843177ab28e52f897418c5b5bd293db7004b65b6637255775248a292f2dbf89791e0011e01ddd66e SHA512 aea4f95a2d06040371f51b51622dc88b9ece6643a570cb2b710da2dc1765ad8afb8f625f7104d17cdca812aa42f006bc0c9123832a1ac93a3109967f40571755
-DIST firefox-57.0.1-son.xpi 450931 BLAKE2B 2d33af17d798e9908c0f3d3546ec1349f433a086e88befd9ce175d797c20e89747fbbd59bc76b46545a7714b7685de27a7e29f116f37ed06a5a6386fc552f72f SHA512 ac924e84984d157e537dc088fd55f61119227b6757a042dfc7f7b091bdb56ff34a36417d1c82349e070fabb439fef0527554bef865620658b97983b11f4fbd8f
-DIST firefox-57.0.1-sq.xpi 465051 BLAKE2B e2030792ea67fd6dac1e030ce4bb87ee2064d39d60499c3e9814bd9da6bd8f2f33f6509d578968b90b70fa0aa5915e4c4d151727154375e793a1972c9f176110 SHA512 160c29874d119aedf12f3d2942d41ec24236b3fb4743ff54bcf6047f40ac1be17ebe66fa70c59a7b92aa716dd11d1824f9cc6d6ab738d5450c84a706ff16eff7
-DIST firefox-57.0.1-sr.xpi 487003 BLAKE2B cf1ccab3aecae10e1add7ceb15412b5bf136a38abe1fe1b71f3aaba9160ddd4278fdebabefc0bd8478720a936bf53461d6db263998061905533da6846a590d63 SHA512 125ece27543efb5538f897d40de01bba98d7b68a14df7d6a5b491f81d593b46c1bfd421d2e2a05957d674c04f4d2afdd517fb0c3e2e4fcc14d9fc0a4df31a322
-DIST firefox-57.0.1-sv-SE.xpi 459666 BLAKE2B c49e7bfd16e2b114a09a9341a3f421f82f825889e0f8bfab2b1463b896f7b8471cee99e475bf15825d8c2ed57e061dd64d59b4dc4c17b5a721ff03d3b110c348 SHA512 f3170bdefb3264062a8b012547d36e30cb622e593426c762a8f3e8395d5a9b5a8ef7e3480462b96019ebe3552028aca6aa73a4f1c796e612c058d4537e39dde8
-DIST firefox-57.0.1-ta.xpi 513228 BLAKE2B d6240ce4a0ef7e77711c26f76814eabc19794367a193171ab02196abf6ec8115de9b031c060de45e56e497dee5c4eb28be6ede4bf3e137b3fca39bb702a31177 SHA512 81190d3a7df3e0159cd5d9b2cca00348e2c43c3b90336850f7fed16329f4ad2f49dfcfa042ff694d71a7140937572bcd590e245d85654c7b44673420847c99c9
-DIST firefox-57.0.1-te.xpi 530693 BLAKE2B 2393f0b334afead3ccdc00aa95a363d0a2c8231b6d4d2661a9282aba2632d6b020c09e67589e2dff8d6dcd6e2ff61e2704b1aed447039664f1eb7bc2f6d3fc59 SHA512 9a6c1611244b20ca36f988b42f74fa64f47e5d520d514b490fd868a4d546fda9c6069bf8e4721e07ca1334af807217746031957c08c9f4442919b8fa4599111b
-DIST firefox-57.0.1-th.xpi 502451 BLAKE2B 316134820fe1a5473ff6f1242382e0965c0b9093bd672ecb600ecd6db599773f15976a411742622fc27c8e4efe4fd9c59abf87868837cd940932933bfb35950d SHA512 776c0a62dc136b0fcf585eee6920bf4cbc281f1df662be4d53aa7505af226ad0b2c7f58ae8deaeeaaaa7215ca9b48627a415f7d029a235dc806b138291de4ff9
-DIST firefox-57.0.1-tr.xpi 465580 BLAKE2B 159a7abc450fd8bbff719a6d19fd47d690e912d25892d3ac96fa61ec719c47daec6c1ecc7b89f827d9665eb516e57be0524e9c02ba468e883727e76d2713a797 SHA512 3d224506092252fe8bd80cd0c2889f514bbc9f0c47d742ae1d689dac4a735521fadc04e076164c4e7cf943eeaedd65b7c433665450f537b0fb10e2ad92158db8
-DIST firefox-57.0.1-uk.xpi 518138 BLAKE2B 140267d6422d6fc7950ab49ab0b9c7e1949c9d69d23823310509d16b813c68fe903db1352f4e39545a9ffda9d97ce34e7e8bf5d0ecbfa65ba4acd4764a29ea58 SHA512 374bedf8d7059a842cfc0feaf302eadd2d36c5126f186aa9683f6d802d62fc7f579fcb37109d9bac62ed20f5c68d9dec4cc693a7f4dacda441442a3536b2e3dd
-DIST firefox-57.0.1-uz.xpi 461694 BLAKE2B 78c9f83006c2bf3466c21e7c913cbe0166eb64ef011465ead911af313ea818153fd73e691c66a65cb688336b44a00c2e1cdacafe991b8ef6926af07a9be23bc0 SHA512 6c232ff97b3aa8c1cd1a181277fea29322b50f664a85c6d38637c83eb0a02866823821cca7ef92620046890ef1105d87605483f80eb1090a8c3c73d6305d73d2
-DIST firefox-57.0.1-vi.xpi 471320 BLAKE2B a342596956b4796c305ac0a85b099753892a7cc251653f0fc04787c8ed008cb80efcdc53d9d5ec0934a5d0b0d691ad3eec9ca4e5a922d7f53898e5bd8ec1555d SHA512 cc2d84c98b113b48631bd8e1a33cf424b113fc357b35996fc5379cdf85601df78367a62c505ef55c6adf82ff15de439ccfbaa6859609df8f3fa127ece97a23d9
-DIST firefox-57.0.1-xh.xpi 464461 BLAKE2B 59da14d94217b6111e663ae177ac80a19e18c7e11f70f218f6e3df614100a68b9f2b72ba11e662d91f5a0bc60a6cf0aef3a9ee1fe15f12700fe3aeb0e7f67d19 SHA512 42f98cca46a2eb92ab297137b6b9beb4565482c3102253f996f86093e5272ee7fbdf816b602d28a3baeab1696ce6cef49c5193f9347df2a302fbad285703e78e
-DIST firefox-57.0.1-zh-CN.xpi 483625 BLAKE2B 7fa0afe93ee44edbab7b118ba2b291e39fe8138c7d4a55ec7f1ed701b4b4383b96255068e10241e838c6c40bad5c7fe8c9d0441e9160550be3818e99aed99ab8 SHA512 70a37b29f8c410596f533ab8c19b6841bff2f86bd482937e238edad07f69391985fb11628753c56f29a52b41779771392c2b5d7789c94e4c0b5ae94d99718f31
-DIST firefox-57.0.1-zh-TW.xpi 482462 BLAKE2B ab3ac1b44ef51ef87bbef85db5a8fd3ddf54e6765561edfa5414afa44606113686273fb93b7be88117b8f43e8d60eff256bd4975e04160082a409c16cff77f14 SHA512 f514c8191c96c93363955d5700b81b14b1a463acbdd9dab7ac138cc584587d11b575ed66d813dfdbd99f8e9e8ffd5a3fa927c505654b01f9cf4f8100d9a81169
-DIST firefox-57.0.1.source.tar.xz 251048924 BLAKE2B ad1ec76f106d9ecda3a61023f5d97046646fb7c3ba7514539a02196c484e80ebe28dd46b49297da0df8fa1c6e788385dde30b0ae86dc98e8af9df8706d7b9d91 SHA512 8cbfe0ad2c0f935dbc3a0ac4e855c489c83bf8c4506815dbae6e27f5d6a262ecf19ac82b6e81d52782559834fa14403116ecbf3acc8e3bc56b6c319e68316edd
+DIST firefox-57.0.4-ach.xpi 441113 BLAKE2B 10940542eb83a3692ca2b9915192f9b0db28f78de7501688890ca3ca84ba8f26a6cd184f590eb5b796ea5c822d09ffc09b740938982874b63596889f3d4520a0 SHA512 1c269b5a8c98855f025e3d0d1df79803f633c79619b01b37b487888ce1ba96335c3117ed3fa11fe63a90f65e8c56eff142e9a1af1b76d1277ade42cb29d85b73
+DIST firefox-57.0.4-af.xpi 442206 BLAKE2B b05aee23bb88c225d72ebf3d1c4aecbc48216e17ae9a500d11870d04469c63a81a35be579db359d4daf872ce821883719432eb752e884084b14badba73eb70c4 SHA512 a62975f1cec946cb355cb35105cae68af104b70c6848e43bd1f6cd4f69ebe14d40ce349dbbfc3390d9181d0bb3eba12ac0b789cffa80939914f50bc4e72b6111
+DIST firefox-57.0.4-an.xpi 462778 BLAKE2B 969d19d3e81834c84bc2774cbef920dae2abf23548d659a373dfc0a938aba83b4ea72c96f7ccb759528d88217ae8b0aa2b0339a3ea7622dfde3359a4e3b4d655 SHA512 bdf98b67343515c9e0266eb0c6971dd7c2629a2062a76136616dda4933eea91ff71b9c730a42d0d9f6df05c5b9b78d99078e4b2f6e24ec92bfdf8637ad3e4f72
+DIST firefox-57.0.4-ar.xpi 488160 BLAKE2B 25d4d6b239ce2c3e200635208308b643701fad162fce730a2e325ae12f1c6023788028ed9816bc8a854d1d2365a5fc3c9d83ed509b9513403148ba558e491475 SHA512 516dcfe19f016df62674a0d0c816b92f64bc90fe0153a9bedb4685e3deddc29ac16d6ffcb186adf5d0f99931f3a7deec7c3ca66621822f59c85b487f0e542174
+DIST firefox-57.0.4-as.xpi 491075 BLAKE2B 31995f2a8b3bfb8c35a7816a7d296e9e40f9d103e26ed628928dd2e421d0922f5bd97b656ef1bbb55e1fcf9be46644b025217d3fbb5d0974b45c237003123286 SHA512 cb947973d9bc392f24224bf5103ef91f9e7c354a8fc4df079b3a1a00ab2e0d26443ed92fdb4d95f187c2a0137bacfe28f5ea83f0b44ab213461a9767b0f628d2
+DIST firefox-57.0.4-ast.xpi 455504 BLAKE2B 610454cfc6da881384d66a47fb59720f238e21c86d5d0c2e2f1fe622fce336a7cbdfceddc901897c1c179c763545eaeea12e2ffdd6dcb4ade2dd8fd21508d84a SHA512 46c3d9c543e23b897b1c6cd94b9cb96db722b73b66ad315bd249b60a27a8d4f221ef8ee0bc43de126e9abf572114242f11127617fc0791ab77c5c87ea98f3c41
+DIST firefox-57.0.4-az.xpi 466045 BLAKE2B 7afd401b46c9ce347052d9a4f3195e8064e089aa23a54d0bfa8878e5a52c2d6526a33d7eaa80bc64d9fb975941e9411da89fbdfcb91ae641c11ae36b8f987b3f SHA512 46f5719b2fcb585c418a5a42cbb92f5079340a3b75d8471f95d3ac0a9af491e7d2d5ef6d3b0d4e637208c74156583d7b38024cca7d8912187080f3c8923cc139
+DIST firefox-57.0.4-bg.xpi 510351 BLAKE2B f7fc7192f40a8b385da3435dea04a3efe85a546a04c236615b0f3403c97b917a4438925cf4f0b37a20b90f7c51652653414965bd6592e58c3abac1d611686558 SHA512 07bacfdf881b0461b2e2752cb9c89e488d8240c78264c664cc8ec8ada83804377aa762650eec1a1314d04b628f6ccd9996162377db43b2099b5fe8d49d1ea8d6
+DIST firefox-57.0.4-bn-BD.xpi 527189 BLAKE2B f6a4900654695eb843c45f83fc96a65e331f04144f86878d0fe2795f5ff09bb9474006dd7efc6e507c3886ce549725bb0da478de3d77c5b4fc1d7a540280cb2b SHA512 6ac599803f705435adafcdc7d25fd4b0ef0338a2f06d5bbd1c83e444d613289421a4e13b6dec770973cd037b6f5499fece77d0ee44d43f6e37b28796253c5edf
+DIST firefox-57.0.4-bn-IN.xpi 516180 BLAKE2B 6039ea94bc48ac630ad63f9f5a7f2d6a2f5a355dad2401118fa399e61e0e2c6336b3966cc0c78d681e5a898db34d5425039812c4f8d5921fcd67f234178df0d4 SHA512 0339097616104f337ed14c8be30e27994a8c20cdba3f138c50f6b8b5bae06803d6f4b4448cd6b4967a071c54e436b04be0c0c110e412fa21ebfcb5c35406ad94
+DIST firefox-57.0.4-br.xpi 451866 BLAKE2B 032a6b2e17a8128c164dee538fe353b2cd1d1981107c88083d5acda864ac59f0b302bb8571e9996674d14180ce380708a5928ffc9f688a81719401930b0da680 SHA512 2dd0c57ab848fdd2f9e18b226fe614aede91f330292a4bb35863123453812d1837bee31a8fe6364b16e02346d9ce065b7493b7171a89ea690120a96c8bc8b4c7
+DIST firefox-57.0.4-bs.xpi 459650 BLAKE2B 8aab9f1cfc53979d687622b8f125d2e2e47d6edbe7d726fdb1ec4c9976fccfda3a15a5ac62f82908d77e3cb405a0408370d6d2b3f7ed8e18b8f7d5ab6a209370 SHA512 0e14fb9649155ecf401d4659bd5c7483f1c767b2a9fa30c3bd881093b58a3680a8cbea78cc8e64aa98fc0d36aa483041d6f58a99dfb085f8b88bff6980b82f0a
+DIST firefox-57.0.4-ca.xpi 466641 BLAKE2B 17b6e462fd694a3954e3e8ec84c093a33eab32f56f6b0d4f472af1fbdd43c19f782d6513935276b1032bfdfa2f2741136b9f47b8de21469b81b580a0e7e847a7 SHA512 1469709cded36d797c4f613640a2cb784e0542dd27bc8adf4a467aafb803ff45685b61fb5aed1e1ef6424e1aa2bed0424ee4e4e04e6337468f232f48f9e4925d
+DIST firefox-57.0.4-cak.xpi 475935 BLAKE2B f7dea29f530b44d8f2f5c42a7f76d4ebe2fe682afc4a1f7b5fb052f8660b333020dea6ceec51c646b8fbaf8fbd59e6eedc53c8f209178a10429d75db0f712dcb SHA512 d18a62f9b772443b07a696de85f16f417655ef1d48051230e9ea44d1a5300d9005fd486a390400658270f4ddf8fad0a2f0295cec4835a23bc614e8e9ccfb70f6
+DIST firefox-57.0.4-cs.xpi 469457 BLAKE2B 80bf90022f4982ce947e2d10ff173ba94aded31b8e18c0283439fd465980a2cdd3da51959b8fcd4ad2091455b5957d38b9360289c187af9a5242d87f017eba72 SHA512 c89bb1b9af7672749ede46de11effc6d172a59e56049a07b116902309091536201a847401ca632f7e05b155b677c1a8c272d66672645cee1ae1007444471de6d
+DIST firefox-57.0.4-cy.xpi 455788 BLAKE2B e5497b22a22de6a224ad0ef9e1d019b7d78878ac79fe5408522a7a6ea87e085a3e4164056d520922764c8c2573559288386d55614212714f956d3c3f2a9910b8 SHA512 e770d35cb68a08c6b47b882d3333ea473e5b0d06a49a30914a14817376b2da6322553ac1f7aa7ed3807e649f9c1c94409e8642102d1d21c463d80e89be7d17bc
+DIST firefox-57.0.4-da.xpi 448416 BLAKE2B 8bb11a3afd92a7ec8e6c952369a1c8167279b9a1c7733eb891ab3e4ac27a4c997299b62e0925d7f54db9af86fe845532307b0476133d9a11c036761ccfb2f922 SHA512 005c9017c3f023a2557cb9fc0122829d65f673bea8d6c6ab57166bfac9127cdaf112c972257d7e5d680b5861b31411e109e76cbe40d13494f1abe97d0241cc88
+DIST firefox-57.0.4-de.xpi 460813 BLAKE2B e79a42722871f37ef66f12f2d88d6f1ec3bf4814dbae69f51545da91c38acd64a6e45878bd3f7a44ef22b493256c7b0575827c44c20a65ad315c594a29167c39 SHA512 ec6572ccf5dd0eb305ccd422c2c48d34bc05523cf917289a207c59c4181dff5c52ab97a9a1ab9c90a2fc3690a51a6748e7bb05ac45b9c11de7aeb5a9ea564bda
+DIST firefox-57.0.4-dsb.xpi 479509 BLAKE2B 11d93129266ba1aa06bea5dfadaf7df30d4b1eeb4f09dd8ff41483c2bc3418932234bac4d37485d04bdbf3d56a33b3d0129e05a754f31747a76a429cd5d0de89 SHA512 153b57cc7ee6cadad65dfec42b3b7e0b7f0ac1aed0c783dd810c344a9bd82adef26c893047ce689cc6d22077274f78cef19536d7b6bc0142dce66195a5cf7a31
+DIST firefox-57.0.4-el.xpi 534484 BLAKE2B 4c8d342c7e2222ce5d8f0c19fcdd6383220d9f419c8e5b36780964a581b2c20bbb48016e85089178a730dba3b4f49de0b5cb14249acc0e67138a9b462878a517 SHA512 5fdc5fbdf3841c6924a43480a4399294e42fe9b1942f2258505bd9daeb8292d0ef0987443bfd1c4a2a6b4a68ca46388cb185eb12ef81735327029ab7526f32c1
+DIST firefox-57.0.4-en-GB.xpi 435623 BLAKE2B 707301c8176ab7ddb31542f7392bd59d63ebac375ce824145bede45b3310a959610d7eacd941f2d4899088b33fa8cbc72ee38b9f065c73925c526049cf497afb SHA512 83a3e1d4e910d48f03b0170e1730c23fc33d57d9a286cf761604b169298453443387b5f31e945684bfffdd805f7445d6f55c87fdddfd1ea66a3a6e180eabd8c3
+DIST firefox-57.0.4-en-ZA.xpi 432020 BLAKE2B 64ec9fd7562151fbeb9590fdbef462d01720fd77a3b8168087e1b389a8b83a465953bf9d3c76243f31149e0f9e1a865d95d07b5bb0635e05a011db204de6e0f2 SHA512 18348569f2a32490933cf19910b23eddd26bef8059b7735bb16c40a9378e37ff7b6ef748428cb5fa989677aada09225daf8424f2faf1e8b42c3762a3dcd3744a
+DIST firefox-57.0.4-eo.xpi 454910 BLAKE2B 1ad97cf666410e4ef2f0b072f28508ff5039a8a1b79016c350002192a6e2dbf71ab38e63df22ff8114520d4f8e87231c72b3b522686e814570857e85579ad2ed SHA512 151c12d3e29afdde34d5b6dad73962077ec2853582e8ee318fc39f31022ad1495460a47ed84c1fe675a7567811f4c844a5564ba07f90f29f009f190c8f9a7eb0
+DIST firefox-57.0.4-es-AR.xpi 462980 BLAKE2B 0ffc5a48b79d60fa1762e3ee623c263c6af0a27075839fd4be3be5dde6017dbe1f31616aa1cabfb57dca3b02477853549038b8f11dea175694dc3882326655a7 SHA512 940e3984d23c4ae77cb7d66a08e59e4438ede0ef0ec6a8b12e3b5be6faad43261df2c373536444f92178548370d4b1a9f8db0b9976109c39aa4eb6fdfcf9e361
+DIST firefox-57.0.4-es-CL.xpi 465514 BLAKE2B 0b1ae10ce735cc273b4e3f6d2cd2a47dcdf7c7daddc021ef8930337d22461f2ac95e92d58ff13e2e2b50fb1beaba1e0fecabfdee1098e4cf2f2f3c432f172740 SHA512 3e3789de5e15e90afbe8ed8058449bd200d8872cf7b5991de52d5922051c8e909d4d6829f673066e3933b3d45791ab6609ae2006954c867fe98ae326fdd943e4
+DIST firefox-57.0.4-es-ES.xpi 353625 BLAKE2B 413faf457bacd630024fe7fe350b31a48a663fed15b9c2e487bbe11f44cd626c1488c97b345843e33a0593e6b6067c5d5446448e5a71cd6f51ba5548e57fdc42 SHA512 d2442e7ea5e00baef742f9074f188a9331b7cdaa8258812de92584b977e06ec10a71368c7aacaf1985b733dd80298049ed05532aad0d0235dbe003e6080cbbce
+DIST firefox-57.0.4-es-MX.xpi 468761 BLAKE2B 0437dd6799ea37248f276dfe5b18f29e291e8d0c37ef9403360cfff9c23a4d40c9a94a62b9b156b93e4c1942d8297e6692b5002425217132a088bc974dc930c3 SHA512 489410d5017f4098aac4905675eb7a0335a6edaccd47ace2dfa9fa24cf70f68afd266a6b0d649a06d69212b96496bec06d86b5afd6fd7ea1591343cd748d1f92
+DIST firefox-57.0.4-et.xpi 447279 BLAKE2B 6a5cfed2146ac47bcc23b1c998e5ee09a278c083aa3ecfa85629b5444bf0dcb7917f2138a71d96e43f70ad12ab3b3f209513b4e65959846a31e5989e19650184 SHA512 0c049577dfb12feffa9f9b65fc4762ad5ef3bf0e3fbfb0f0056bc37471121c10a07e45cccb436f80da7495a2f6937b13e244d9eda81fa7bce9c25d9eeea2e3ee
+DIST firefox-57.0.4-eu.xpi 454673 BLAKE2B 71e61d516873988a536c187222a272ff2094330b80b3437159bd5606a78f9fb7837cfce14ac05bd50dfa9cd2172926aeea9182e219a78890a45916b260cf5801 SHA512 056f0916dec50f6c8af5add42d851fb9dcf557f931391d4f9c9077cf692e879fbf27a66a3bf2b8a3afd5fbfb0a19ba1c1d8d12f54232312010db5549a2cb206c
+DIST firefox-57.0.4-fa.xpi 510829 BLAKE2B 9e32943ea5798f0fe2fbbaa4b8bd15f5981442465ec9cd48b646095b539693d1a350cdc5f9615025712083914f0c02e823ab4af62e5ce6fc80279488562a9e51 SHA512 b2f650b940c3e5804fee61fc82c26ac55405ef59f3c0f5f9673f18dd10a421270c626817da7ed436a535f574cd0b5413a2d71923d5c4b7e27f412f528f140798
+DIST firefox-57.0.4-ff.xpi 454015 BLAKE2B a68428bf95d2b93c1d0b1a1049815ba283cb6c3c63ac7256017327c6ee345bf560cbb050656fb184cab03f76631ebc5fa4d979595d972afb8659728175d0fc07 SHA512 b69ed99e5d7c312ed4eb941eb6bacab1211a136d947832c355a0fffc8bc24a1fec8811dba6760aeb0e269a9ee2f084aace1eb0008b69fb9f405d5791127edc36
+DIST firefox-57.0.4-fi.xpi 446244 BLAKE2B 7219e6f8f663155630f264659324199b70d9dd02583fd4e04b83a7532511217fe07906ac0fac64d98b09649f9bdc052270c59061fdc41826ab48636de5a7ee82 SHA512 a4816457ddcb4e6466111f5f0622f5644d9dcaa4053dc11aa8cdbbaf22ce17db97de6ba852bb8ca8ab823fe3c4b19148ad3d417c66a8687e5a6ae0c7001f94f5
+DIST firefox-57.0.4-fr.xpi 472722 BLAKE2B 21af89c94ee77f5ea7a8440596f96447e8e9331a3d8e30345df9c4bc374cc9805ed1528ec6aa14b78231d9ec714b641cd2e4b0439073722f958bcfb244252a46 SHA512 9a020647fe0a77f870fd4e70993c053862fa02fc27f7ee07b19822604edd298825cd0a2b31b94615f5a46494f55289028e5d5f4934f4d347975ce01053d58135
+DIST firefox-57.0.4-fy-NL.xpi 465911 BLAKE2B 115f6adb3ce37017d6a3c1da7d1f899d0313828b5cfd7904332c72060fe2f3752d4de52b044d259725290d4675ded5c84dff3b4799a1038efb2b190502d324f3 SHA512 672ccdf0c5f81bf2370c0ee38ac746876038dbed828dc4c7d3e08b3e7bcc384ba57c84eacc8182d5246c9d8d27fc1099eba775969040c7f65e760e6a7e31d3f9
+DIST firefox-57.0.4-ga-IE.xpi 475963 BLAKE2B 508815237c2da512133ea546b37ac473d92a0c1fc40b84faf7d69890ee8a81d03017b53ef04c09e38ae168811b037e42df26506747fe8ce24cfda565867eb14b SHA512 f2c9fd5d05466c7146e46fea43b5e4544a7dd28d8983341677f18b0877ec0911a13c6d7fb834268c4c93bb1ae072df0038f926043cfe2875ca736123b708327b
+DIST firefox-57.0.4-gd.xpi 465122 BLAKE2B 04b2b5a4e2f567712c09ec538b6f297b53ddeea5fa24b74f2866dce10ef8d70e93acdd8b77d79188a1422bb72da869d4fbb6e0908a59ea9899198e3b32f8dd32 SHA512 1386a650722b16ff287d981801d7718a9019cf233bb111c056da474b6a7ed39c297cc22dadcf538269aaa9fe49b8b0319b02e3293716a2fa6fa1c397fbe244d0
+DIST firefox-57.0.4-gl.xpi 452032 BLAKE2B 42f4a1196c06a42f9964e0e47f8e7fb46ceeb9cc6d8b8df1fda9224bd21c3dea8636d2639afb7a560f8034b142f15d432ca995ea4d5500b0be04eb5fea821df8 SHA512 e3501d004ede8f6de29819879a347c1af74e2eafa3a065892d11104eadcebbf4da87dfcf00e3f2c821d0bebe504c16440b5b21c69a270447b0f0ad37fe34d764
+DIST firefox-57.0.4-gn.xpi 471956 BLAKE2B 2a8c2cfde8c918b0a7b35e378804a7cf1b6b18279de26c7e6eb439fd56772ab81d7d36e6633976e57016c4cdc9beea27e42079b4c2fdba8c1ce3d19741338acb SHA512 90754d2262651190169abe4eb3e0176c9957f4f76a72301f7b8d7040bafc65fc7118ae61dde6498da4e855f907edea9177df78d38ed514e1f665ed84d021e87a
+DIST firefox-57.0.4-gu-IN.xpi 511990 BLAKE2B c0310ff22cb731fc6cfe83bf077c3f04d5d5d35a87ea094bb49997c3c3df45b06a7e8a3d91c7736573b4f3ecb9cff6e4da8349383003894f0ec8c35c2e5d55e8 SHA512 89a19cff9bcbef3cec925a6fc3c198aff02657bafcc0723751bfc714b5afbb25d510679ac6f6086d994342a8b588752b043b05223cb58d347ca2083298b98386
+DIST firefox-57.0.4-he.xpi 471921 BLAKE2B cdc099391d6e7e5b9198774155670ab8ea906f42470b0f355c3200d12a71bdf0fd3189cd86c17578d2ba13ce67a3f8fc972eca3672a860f65a9a171e068645c1 SHA512 1dacb313cca1e75fc76c124a766acb0943191b573640ad6e306b83993fcc232ec522314f81de14bf376c5bae0e6126a1c666f90d9dbd95ff6f1f31c67d5db316
+DIST firefox-57.0.4-hi-IN.xpi 526111 BLAKE2B 406959069a984d22e1f185c23cb65b3279e8fc4635153b7c70cbf11a76f77ce326506f1ab65513b7e54b64930d81fdaf02b2e0b0fc3ff76b91e74a721adeee4a SHA512 81e40459cfc7056a4538de41daf9403f67331279e795a180c2bcdb61b1e40e0158e82d9c0d161d0ddd7352492f84dfd42f5f4116461a125aebf3a235225994a1
+DIST firefox-57.0.4-hr.xpi 460722 BLAKE2B 930d7a485e005924d1aeb4625448533b08cf82803c0c5c96333d012c7876faac380ee0aa56a0f5afb757119ad27e998c50363d5a942b42d8f845e9b564a557a5 SHA512 c41ee4272fe6b228baf6a1aa017b28c28211c7136c01777b105d9e17da75f57e12b24784e4b9ef2e64a6e3fc5eca826dfd98eb8c5a17fb435324db5a6689df42
+DIST firefox-57.0.4-hsb.xpi 476505 BLAKE2B b6f736a47fdd9338e002005490ac8b1ec0fc4a42b8dda4d153cc060213bcf1fe90e5322201b4ed05aaf7aa36a2f2cc0ac48371573f0b7b53d0ffabca4c14c338 SHA512 b266d38bb640169d996eeed588acb8254ccabb8d4e28e61122db9af251b8ccf98f5935470e27cf2368e8654a128648d63b5330030a990ac82d3ae400bd133ba5
+DIST firefox-57.0.4-hu.xpi 476607 BLAKE2B e90b618878eda7c5fd9f124e4dd7fcf13d63a1aa439b5df44b4dea18ff5f8e980197d4d93059e0af28a95dfdb00004f9d3113f14e0da148d1b475c17273dd3af SHA512 9e8f31c4e618baf20b66ca22e6384eead80053bea72eb181e0e3452904d3c877fefa0273f66cdca84b979930c83a3c65161be336fbeae78442af1690f6102602
+DIST firefox-57.0.4-hy-AM.xpi 510825 BLAKE2B 9a6ae90e9f3a9abda9df78f3525d8e0010945e7811be8b075d3e84819f53265dd639c8d5762c87cc8008a919a3506a4cb114178e97e41f91656deb6ce0d82a8d SHA512 6804c1fd521e060ebeba06b968ecae455d59bd846c2ca9d86316f1100f59fa2a98973067c7d46cebded4f1103111712ee7c4a22b344d7ddcdabb0e5ee8b863b9
+DIST firefox-57.0.4-id.xpi 444041 BLAKE2B 68ec0ec9ccc78edb006c428dfdc6b40009dac3a3ada47689b33fe657f6f5ba094fd02de3bdbb1c22f2ea4e7c2fe39397dfe7fc83faf1253dc2a627ea8ba9e0ff SHA512 981b97f7ac720ed7d869cb1fb00854b35bbf4df8d83c05f0c92adfc47dc2fc942285519b32b2a8f39ddc0ce69d8b1480cdffb02843feda519b728e1b614c2686
+DIST firefox-57.0.4-is.xpi 452660 BLAKE2B f46573fe2d804f265da5efd579b7b5ea7381f1b8adf870993c68f5452a3535dce6a001f911df582e21b9e014f7bfa0ab469b2621286362965ec1dd93a8554928 SHA512 0fc415fc733e47949729697d95535b6c91703e627c0f41153d09f87ef4c4add103027b639b41eb00f6a2d22061dd9cb520d2a4add9d55f5fe93a996eb807db4b
+DIST firefox-57.0.4-it.xpi 347172 BLAKE2B e6dba45e4e3d3f244bf509085139b2d2c26ed92a1609dcdd97709faca2bc26ab90c3c0ce0fac43468169b5cd7f77a2f83f031452739264ca9cec7cb2aa7914c9 SHA512 5bc30a0c97408de828229e920f2a088412790d8dbd6fedf337494f9623999af15d57951cb0fe97fe5071be67effb662f4c82067d2833ce1de23981ac9d929a78
+DIST firefox-57.0.4-ja.xpi 508553 BLAKE2B 51894be6073e4a8622b5f6630c6dfffc37df895c1595e0992636f78b97dd8c3334450352f3efcc395fcd09b8158f8a387cdba652d5bbd0619393ac1d95128fab SHA512 8aa7dd80ecefc7cff2a2f930b5aa903a907e0c17aebc63fdf457e5e838c2479993d13906f8112e8b6d8df9d1a62e9853388b9460ddbb96638bf5264c3912bba2
+DIST firefox-57.0.4-ka.xpi 492356 BLAKE2B 4c18b67f96695b6b64665c07dcce3ccec6c0f6553bdc739fd4002aa963463c244667e510b6a8c1ff903bf149b01558cd3b6af0d6f68d12ef42e7d9cc0d310fbe SHA512 c88cbc3d19e2c358db74fdd2acd0e6274c8dec0eb0ba0acdef51938738265e4283504ff8396471ed11bbfaf605b3cc6f6728a6f55669d0c30c165b62b046d78e
+DIST firefox-57.0.4-kab.xpi 462530 BLAKE2B ac9a6dbdd29cfcc1db4cc473c85b0bb8a757300e02fd495cb818b963733a0dba041597027ae71aa1f97580843cebe13360c0bc33cf1360c3234227430aa04195 SHA512 951d3b59dee6fe395ca260f5b045a942d94da78eadc8e046c829e82f0e44c8b0c946b9a978aad3173fd3329ff6789f80c2312efaac03b66a25689ff0a55edd66
+DIST firefox-57.0.4-kk.xpi 519249 BLAKE2B 3bbcf59f0e6c490ab43767e56ab0d1296cc6ac9523a19743ae921a510378759fb67b885acc5f69bb5ba097e7576627d0c0ba73584eb52aa1bd9258735a4d386f SHA512 310499dd4b4a0adf4c343c677dbfee0f785e3fa1d4b13233a2a481560100297d10ace69ea4af75d9969ac1d3abd3595f644c294ed68a7909c98e120f4c2fdef4
+DIST firefox-57.0.4-km.xpi 530080 BLAKE2B 599df570289bc2ac7b0bd23b259956c1a4fe4549db27bafd09726ad55792b78841b662ae45b33c4aca0e76df2af364bd58c92ea7758bcbe7396d5dc2af505601 SHA512 0f78768601310879311654ec772dafeb3059ff8ffe5302ff20c7f4fcad3c624c6690a5d38024dc8f1fcf3e57957708cde73226bff1bfa1713b81903340eaf95f
+DIST firefox-57.0.4-kn.xpi 531316 BLAKE2B 98a06d0c99c5879391965242661d19ee1eb3930985fcd6aa42c5edd47fcdecd0afad443da36bfbe0eafcd32a37a36fd3c7b2a2af4dc06a6eabcc833a222af0b0 SHA512 99d274f0744455161da15f9fd127e8657a5c462bf3b28da5852b9bf361a254dcdc9b1a986571be95c4136b9a0c6b4ad3cbc5ef604431b2e07b3fbdc726a1f25b
+DIST firefox-57.0.4-ko.xpi 487305 BLAKE2B e4bd68dead6605fb1aa19c2dc621461250500814ea5e70fdbec8e252958b825e43d116faebf430426a47b9b5ae1b92d9586d49964f78acb5033f4cc1d8402344 SHA512 5eed124675c4f93aa172acb2aceaecd6300ee7d4a0021a16cd9e551247c5b0b120271f70aeab5e5dc9e2850f9e90e4a7ccfb59415e6eac11be0ec3a3594c8813
+DIST firefox-57.0.4-lij.xpi 452343 BLAKE2B 37e793307a4d016f61e12a8cde726d4a7be983cb4654cef76a3f892ed1a612a6fd5015527197582ef0c0527c35a45a6f09f13fe180dfda1c1dff2a5d09d4ef0a SHA512 593bd319c04bcc7785deaba36519c75ddb830987994aec8da9b9e5f74b8a37df2c52bdd1436955e085a7fdf169d18974abe229070eafe93b74aa866c8eb1f706
+DIST firefox-57.0.4-lt.xpi 474957 BLAKE2B ff24d8709812311dee857b18c0988294cea77c4050d51bf7b0415bd52d96a038e575080c1eca8c1f195be58be3bc4fe0542886de1e035182de716ba79dc823f1 SHA512 309ec6f41d3872c3c7be88e4b38a708c5747d90c39ec395bd038d73e4987a18afeea28b9739b7529a09e4288a5a9269623c7f6b32fd5805b8515a5ce40248d57
+DIST firefox-57.0.4-lv.xpi 465243 BLAKE2B ca0e5c4257a23f64db5f68da047996ef0e8f21bd9ee2fc7dfd097f7983fb102f7b303cd3c254a812c0580d83e136ac8746d2134249345ea296569d57a0a701b6 SHA512 ae0077dbda67ee887af820865c2d6958866f7849a9dcdb43dad50c67ea45f10eb09a401ea5a247d21c97da9677754c52b0a82d47caef2aa048b3b7b23d46c364
+DIST firefox-57.0.4-mai.xpi 507396 BLAKE2B 3588b1e808d532c1c73f94414ed7678307b16f6c336971016d3aae4c7901297d4004cf28b1fb384a69dc7ec0c702080f1abbdb51da6be7c0aed996541ed8f3fe SHA512 d1e814a8519aedb86a60832fb2fcf3ef3571ca5fde918b83c1ca34d112ebd510f8dbdd2b1be29b69df36932ae1b5f35d4c4d758d6a71a6a0027e1af4cb066533
+DIST firefox-57.0.4-mk.xpi 490853 BLAKE2B 75442e650b4483c7b7d70e9ac69e7a48f353f2d2bae593ed32366322b512d2e7dd48600a29dd780bf1f189b4a8da8ca04b7ccbc7b20a2cd65cc95835e7a39624 SHA512 8b23ab30ce9d55b713307c1f11413a6aab0b39ff243fceecc8340405c9d4de09ce278e30296633520412f68f431ac2a8d9c64e75cd1dc4499c46bed81d64d48d
+DIST firefox-57.0.4-ml.xpi 528255 BLAKE2B 5afd13b9d0441a0ac6151fc18d57406d48cf6c1dbee695d75d52b2260236e1f07df0c48b6535de7cb49374d1e139ba00595aaab74290ce4a592e43181415b888 SHA512 d9b894e9c8f311eec019eca1f45ef23689e2a776804a521c7eee405e9e66fba4727630ef739d2271769b68e229fa5a3f0d5b7cc0d4fc334b244cdf4de865ad28
+DIST firefox-57.0.4-mr.xpi 521290 BLAKE2B 313f289b28cf4c2abf1103141f920c7129b02164fcd512c5992fe26c2f632cdd3a91b35725d1076efbf08afff2f3d02248dbd60f3354578a777c1cb93e402bb8 SHA512 e3e9634544c02ecf76f667af61b22b786e86b29acfe47dedcded71ba156c77295efefd0211bbdf9af68d6ef996fd5051971a180d3cdee82da65bf723ecaf5fd5
+DIST firefox-57.0.4-ms.xpi 451255 BLAKE2B dbe75e93d6b11e8b6a57b94649cc02a26b5a665403868842335216a89eace74b2b7fba9089c50c352d4c732381edd9003f8326c6f3a093822b0116361e6ca26e SHA512 c7027e291ff99a78bb1680975d748e53e2bffa28b9ba0fc90ad2d84fda16e67a67c19239b794166cdc048d509a225ced7c91b2e758ead4ba0fd74b9215edd31a
+DIST firefox-57.0.4-nb-NO.xpi 451557 BLAKE2B 7e6155e3f24df1ea68a1f1d367fcbafdf22d786b716c66583e4d26c9b0b61171cbe6ef67b8c77c99501d59742ec6f417c7bc6939309d5f3ce93025fa971fcceb SHA512 17757897dbe7428cdba5d75de349770d63c8807cb78b0955e93159d968e220048ca977be222af7bad1d480b15f60386fad443fbb14bd277eecc4573c040c495b
+DIST firefox-57.0.4-nl.xpi 458319 BLAKE2B aeb53483951ef37459b09e1e7b983bfe7151249420c28385e13d2439d47f0d9cd0cfe3471803140ecbb711ab58ed6ed19c5b17f203b80cda2c708499d6db815a SHA512 f8dc480a35bd2784966d949321f4b79ab410fb0d4625c2e445fec836b890e463a3260fb96c9c7746e595be14332231ee046eb6beddd2c31a0b2495b666a76125
+DIST firefox-57.0.4-nn-NO.xpi 452004 BLAKE2B 7bc8d32e0934eb4cdc595b3e486d185889401253f5e53cb277f323ee233b4e45f4097cedffdce0db768790aed05d3aa84ae36947fe42aebc3df648770dbe2336 SHA512 552ce12168938e26f96f1148fb2273a44769db329018e7971a6c7da40ddabebb59efed7068cbff55ec624d5131e89e51fb8442e35fa2bb12602bcd040cababcb
+DIST firefox-57.0.4-or.xpi 500867 BLAKE2B 4aa44d4d3a379157af063e833c31bf71aecce6fa7fcd283c126b7b1d0df484279f4e23fa49264b32782aa32b5a78f2068bc71163597b4b9350c5b8a823a24975 SHA512 e44e8ff836a4b5fcded054d1d3b709b0abc73b198dec3e69e6d49e6046be78e463526ca269760a5be22bd49e2cdb4dd85c37dce880394dae1cd6d5d59cfd1ac6
+DIST firefox-57.0.4-pa-IN.xpi 495272 BLAKE2B 96ee15e1808ef9d7eb1772932f5e8f1fb314479ffbe35788a2fd0e0efbe7901e8e6ffe8a28baf6aed67e6dd6c849a42a9a002e42decf23e1dc9e68bc53e36c27 SHA512 5d50c845c71b387021dfa3921462c87c7c6bba09d3411813481684dc4d7a04544f0aa22874a2f714244b2dd3b4a124755897083dee9b4921b26d3373f57bfb33
+DIST firefox-57.0.4-pl.xpi 364230 BLAKE2B 1d69a9e51d95e21a6983337c3273c50bcd788b2c30423b90205fe734413d9e3d8c49de525acce11516dc8917d41d028ae685766bbb2dc6e1e26ce5e60f26440c SHA512 2ae924345df868ffac6a7f0ae17afdea57cbc8d32ba9dc46b978709cc8a092c62bcf091a4057402b00eeb713eeafee5092e40ce63e1f920da41a4a2eab172f48
+DIST firefox-57.0.4-pt-BR.xpi 457154 BLAKE2B a8ba9341e3c865e37e2051fdbb2d02c73c2ba44fbde5faea588404df5aa44fb7ca5ca435f10433f0db5d33c0945762f0cb1d5b1140aff4e8a902880651db1d66 SHA512 75d1be94f2a1f9a4abc485380ce61fde5ec9df796e9515eb521c42976063b4d91fec3874f27dd124fcf44102cde7b3d9f877020e537fb7cbc26979a8db976d86
+DIST firefox-57.0.4-pt-PT.xpi 460000 BLAKE2B 5caa0dc54f5b60cb831b49251b9bbc88eb2dcb26106891e6e59691685c8f5038e3523f9f5c08e3dc9ff1132b2442cbb254321052a98eda1232811f8fa221e66a SHA512 bbc851c4853d5bb77a4d9585e6279965cba82839386b3f55d8bdcf65332d9828243a21f4f3e358d383fec8dbe10ce11c62bc936b301b00ed1fff6648c6506591
+DIST firefox-57.0.4-rm.xpi 451059 BLAKE2B 17d9507ea448228a367bf065bffe640e94d0df4ad75667c0c2b8fff99fed8e6f0b49090e5ad5608d76db61457661f3d86cfcaa99d2a183e33073e7f8713a7a78 SHA512 7fee0fb1fa6f26075b9c29a7bc79d4fe09963eb244d1ef4317cbba4e2d8367baab4da3ca812574f44d37ea257a15a8528a8cda0fe03fe2305cbf93d14e5809eb
+DIST firefox-57.0.4-ro.xpi 455510 BLAKE2B 882ab35bf09e7413a90486fc115657009e89287ab41d8ecb83820d191a2442ba7a15b0ebca988c94a65e62e2d052084af07708963b1495ba4fffd228b2dc400e SHA512 29a499bdfb50e9d1a1d28e5b8cd45aca8333b5145570ebb6fa63c37b917785e23e626473e80d3ab1780ecccc5fe6f2e594b2ba576d65f31346fbfb7f64fec631
+DIST firefox-57.0.4-ru.xpi 527005 BLAKE2B 8f82d20d03ef9f55792d9b58f32ebe5f744165b071cd7e048dbb1c1fb489afa106e32a82656b357970b19523f4f65d78f113cf10a54a4ca05d7d8fa667ccf83c SHA512 e82bdd36d217a818653f429f4c1076c61b5b09faa2cbcb9156a8acc96bb8a420846657fdebeace6056619b9f2c052d197db0e5ec0e03c970ea312cd0c4a275a3
+DIST firefox-57.0.4-si.xpi 498324 BLAKE2B 879aa89cc3f69003349ebf87ef343f1f0bde284d90dd83948351f7b8169c0e03999efc43a2287bba48059f06fe1fde771b9399235a479eca22ad38a3e3aed63f SHA512 d215de76cacb3bae708aeb1e60d965f8218c38ed31acbcb711bb381e2d34d1aad5a080b3717fb1990d58e6070bad1d6f98c5bc41a78a54f0562c86e1e9fa6a00
+DIST firefox-57.0.4-sk.xpi 480397 BLAKE2B 69501dc40a9ede034b10a051d201948a8675e500c82e8202889a3297b48fd6f62515ab3e2562f96aebfa98c63f275f50872a51aeda35f7f2e7e18b1ea74971ef SHA512 6f7948573c782e79e1d8a47b2f3c43ba6d4ea8a517447086f3c934975e8575515a57c5f8f6553009c906fb32087bf12163744c5f5c5c50f95c714e1656339114
+DIST firefox-57.0.4-sl.xpi 459377 BLAKE2B e58534fb7c47430073d48b5fd8431fd35e8d99fae4568379e5a20834277dfca374c0585fadaabe5aaafc218781c5e3dba01413b11df250024a9ab5527097e454 SHA512 d32ef8fa4227885e7f416afd03bd18d788c279b489e08d6f97913bc7dbd9535d52dc773f4cde69554bb6dceac425ac992da45136b1da9bcb73455ee4db9920c1
+DIST firefox-57.0.4-son.xpi 450930 BLAKE2B fad4254c4feb685a38ca2b95c0fbd229a2af86e7a521cad99e67d81ce994e75b6e5b9aa0bb3cae820f0214b5177bb8db690557a0df09e79fef505d8e5e2555d0 SHA512 dfc9ffb20eabf418fbfa23ce120a6d7c54eb26046e4e68f4303a24b93357c848e2a8cd8ffe3f71638c1ac456d1d9054aa3dd7885aa6f00f1afe87d47837e34d6
+DIST firefox-57.0.4-sq.xpi 465051 BLAKE2B dad5f12062a565327c800cd26925ac638aa6405514a69edd2e2b624f7155812976e41e85d56d6b5531aa6779a1172456ea5c07ab9f772188e8bc2826688a88d7 SHA512 8b5b8bf94b72a6792b93dfae2274514a02565a4aa64f8bb38c6dc43e72b723f973b298ff32809fde22f6c7c67e339ed0f467c180f62b382bcf708ded421a46c2
+DIST firefox-57.0.4-sr.xpi 487004 BLAKE2B fa3117646d1e746ba08f8c8745cedd9352174591f86d952e654a984075d2e872c4c0523a7253548ce5ea8279b2a7589c058dc7b2fa12d0fc3635aa6c0364f696 SHA512 0106c97c201313d5eae54d1d76f317942ab8e09b3e9bfd278d6f5309427b139c9252d81656b923f1ed86e31f012b8da4eebd348dc54564ed67ed3f3dad815336
+DIST firefox-57.0.4-sv-SE.xpi 459665 BLAKE2B e19c4d58723c7fcfc21d769dc98ef83404b318de257c4e9fd9cd95145f125c935b3947868c3f1e5fde9145df92a6862c4f1c3a725658d44f400bd61175a92176 SHA512 8034976918ef1b77753e6e7106f03aca3c76944d7bd56b0e99a5411e0661c5ab6e380e52d5a14c8dacdc4a20d6b2477684d6ac27fe9e8a8199cf09a652b8a512
+DIST firefox-57.0.4-ta.xpi 513228 BLAKE2B 408600f794c9368ce08b3d4f85625137eae000f2761fd6d92a2d98ff74ad4b12ed2684b795d1dc953c25c58eaf859132be855ed44deaa155dd580cbbe82d773c SHA512 34d91119facf80b12dcf5fbac51989f46fec1fa4c752ab705e693aa38bbf841fc82ff272b47f972ef69bd4740a0d9a68825b3aa38487d4197128525333d89496
+DIST firefox-57.0.4-te.xpi 530693 BLAKE2B 258d7aa206125c441bb797351647440b0fab7924f299041fdfec7e1b492a94044c7529ad44bfcb67711149248419e0f0047cb14e9594749be616e38616fc4e2a SHA512 baed8762b874ab3bbe80d2361d8fc88bfe4424c22c6be86027439ca8b4b47f09188ca06fce2cba033d27ccdca51c122ce6006ec8706ec51a098a4192d14836c9
+DIST firefox-57.0.4-th.xpi 502452 BLAKE2B 4262657b4ac1f5bcfa01286941be8eefaf9c9448335a0be7d617a35896182be9098287cd72ec5a16a162a11f5b8a938e07c27985d13cbda07d169cb43b78f8ab SHA512 c4275d18ec42bcc9821b8e422f3f32664aea515f8b8e73a93c812905ae962268876554178db5fb82dc810d2fc388478465fe25ca7e1ff40dbc0bacc33ca6511d
+DIST firefox-57.0.4-tr.xpi 465581 BLAKE2B 7f107f1bb0d51bcd8a5f97e42572148306b4448d21ea885986e4d82c64711079f13c9c8abc57d1e1832f9721a9f07ab40038ee80c69fed49d9a903a0123572d0 SHA512 70c9f17bc34cbc2991fb5d3ff182a73aeabc0334b30af4b623aa392c464e8cd8297d93d0f167015063fc38ad26f80f062683a4a0a992e08d098b199ae57fe7d5
+DIST firefox-57.0.4-uk.xpi 518138 BLAKE2B e3ce7369317c2dcab61136ef1192fcddc00804e01d1b6845a48b48cc83f525d3fabe62b1f94a03e477634a33ada3feb58c2ce3614977be2cc38a0ea12d226508 SHA512 ab9cd22fb4a3996b7b57b7257c34ce64f20de2b734422b9d0303c9f80413a417adb3a16ec7911805fc6b028e74e655dd8437d6c803e7d9598c9b772702b0bbc2
+DIST firefox-57.0.4-uz.xpi 461694 BLAKE2B 99e239e4c5d9c1cc4540016fb5017fbaf3b0d07b976d71572d5f72383e1cbb3bc6467185f9a027c93153a861481ffdf68812cb40198008096cb716bf8fae2d86 SHA512 bc5e0109820267f5dedd46ba8522927bf081af44cd9edbf8806b04c24cd77434ed3f78b67e0b5ffea295ec42482f6251b2f43a7929b68eb04ca71fd7cb543dd4
+DIST firefox-57.0.4-vi.xpi 471320 BLAKE2B 1ff981f26985f32597d38d232f19d1b2c6f539a09bf3a9c993bd93633929a41f09aedf1fd2c9451fc452ea5c49ec6e8601ed18a2c720a8dffe722fff20502ee6 SHA512 184dedfe8a676f2409cb4c3ce45bb52ef1f952cda4bfb0a5cc0594bbf633c4c96f61b40eea5bbd6ab161b552928e1cee4f8c3d544e10edc38a3d6396e0da62fb
+DIST firefox-57.0.4-xh.xpi 464461 BLAKE2B ae75465ca965ba116999294563697d2b88b9a07734c41e6a1c6e38aa5192c46b1ed109e065ad01053017b8ba1a333bbd116a740afe526246680769e2970fe554 SHA512 cab336c5081974348341db82dbb053719bdc3f2547e8840c9e139afb8ebfefcc596c26ce692612b7d548429624e8a68973ff81fbdfe3a89764bd209957fc2199
+DIST firefox-57.0.4-zh-CN.xpi 483625 BLAKE2B 56f04e4b8a4f2aaebc33522ba422ff23d482f22008e10375455df480ef8e42e0d0d3ac618dcb84c362acaa750fc9f956c58914acef8bec553055632a7fe6d280 SHA512 4031b88d2fba17360abba9cc0cd4c88ca3d98a1a073bc94626c104559c993b3503a138cddb97ca285c6bdd231710dd60abafa8fdfb0e34fcbfaa1a55fd6fe86f
+DIST firefox-57.0.4-zh-TW.xpi 482348 BLAKE2B ca6cb3452682c0f5770660da22a77ec885e371fb6ab37276050d4fb506aac7e1f2c29f3b61e8adc76471e57b1299d565e7f19fb500e28ddf68d4683c8fc0357c SHA512 682316318346cb358dabd038815c94149e80d00d639ce5ede1952ac5b712165a7bc6e2b7ee33a79817915063ce5a02f595f85496e91fc1e172d1286453034f0f
+DIST firefox-57.0.4.source.tar.xz 250217612 BLAKE2B 59ccf9c52d3af0888e13996dba74555ccffd92949d708c09d594703cc7acc953c6608cab7895f974a61af01b56f946fa60bbb0c4a89363d472c530d6164e9395 SHA512 58846037aebbf14b85e6b3a46dbe617c780c6916e437ea4ee32a2502a6b55e3689921a0be28b920dedf2f966195df04ac8e45411caeb2601a168ec08b4827cf0

diff --git a/www-client/firefox/files/firefox-57.0-pkcs11-backport.patch b/www-client/firefox/files/firefox-57.0-pkcs11-backport.patch
new file mode 100644
index 00000000000..c07d185f915
--- /dev/null
+++ b/www-client/firefox/files/firefox-57.0-pkcs11-backport.patch
@@ -0,0 +1,529 @@
+
+# HG changeset patch
+# User Wouter Verhelst <wouter.verhelst@fedict.be>
+# Date 1503417578 -7200
+# Node ID 22374473d24f4b4877e50f0b49da3174a70f79ab
+# Parent  fcb1865dca35554b6d8e9afe017bc7b74c413c72
+Bug 1357391 - Implement a PKCS#11 management API r=kmag,zombie
+
+This WebExtensions API allows to install, remove, and query installed
+PKCS#11 modules as well as to query the the status of available PKCS#11
+"slots" for a given module.
+
+Reuses the native application manifests from the "Native Messaging" API,
+but using the "pkcs11" type rather than the "stdio" type.
+
+All calls expect an application name, which is not the PKCS#11 friendly
+name (the "description" field in the manifest file is used for that) but
+instead the application name in the manifest file.
+
+MozReview-Commit-ID: 8dHr5QfEaXv
+
+diff --git a/browser/components/extensions/ext-browser.json b/browser/components/extensions/ext-browser.json
+--- a/browser/components/extensions/ext-browser.json
++++ b/browser/components/extensions/ext-browser.json
+@@ -117,16 +117,24 @@
+     "url": "chrome://browser/content/ext-pageAction.js",
+     "schema": "chrome://browser/content/schemas/page_action.json",
+     "scopes": ["addon_parent"],
+     "manifest": ["page_action"],
+     "paths": [
+       ["pageAction"]
+     ]
+   },
++  "pkcs11": {
++    "url": "chrome://browser/content/ext-pkcs11.js",
++    "schema": "chrome://browser/content/schemas/pkcs11.json",
++    "scopes": ["addon_parent"],
++    "paths": [
++      ["pkcs11"]
++    ]
++  },
+   "geckoProfiler": {
+     "url": "chrome://browser/content/ext-geckoProfiler.js",
+     "schema": "chrome://browser/content/schemas/geckoProfiler.json",
+     "scopes": ["addon_parent"],
+     "paths": [
+       ["geckoProfiler"]
+     ]
+   },
+diff --git a/browser/components/extensions/ext-pkcs11.js b/browser/components/extensions/ext-pkcs11.js
+new file mode 100644
+--- /dev/null
++++ b/browser/components/extensions/ext-pkcs11.js
+@@ -0,0 +1,145 @@
++"use strict";
++
++XPCOMUtils.defineLazyModuleGetters(this, {
++  ctypes: "resource://gre/modules/ctypes.jsm",
++  NativeManifests: "resource://gre/modules/NativeManifests.jsm",
++  OS: "resource://gre/modules/osfile.jsm",
++});
++
++XPCOMUtils.defineLazyServiceGetter(this,
++  "pkcs11db",
++  "@mozilla.org/security/pkcs11moduledb;1",
++  "nsIPKCS11ModuleDB");
++
++var {DefaultMap} = ExtensionUtils;
++
++const findModuleByPath = function(path) {
++  let modules = pkcs11db.listModules();
++  for (let module of XPCOMUtils.IterSimpleEnumerator(modules, Ci.nsIPKCS11Module)) {
++    if (module && module.libName === path) {
++      return module;
++    }
++  }
++  return null;
++};
++
++this.pkcs11 = class extends ExtensionAPI {
++  getAPI(context) {
++    let manifestCache = new DefaultMap(async name => {
++      let hostInfo = await NativeManifests.lookupManifest("pkcs11", name, context);
++      if (hostInfo) {
++        if (AppConstants.platform === "win") {
++          hostInfo.manifest.path = OS.Path.join(OS.Path.dirname(hostInfo.path), hostInfo.manifest.path);
++        }
++        let manifestLib = OS.Path.basename(hostInfo.manifest.path);
++        if (AppConstants.platform !== "linux") {
++          manifestLib = manifestLib.toLowerCase(manifestLib);
++        }
++        if (manifestLib !== ctypes.libraryName("nssckbi")) {
++          return hostInfo.manifest;
++        }
++      }
++      return Promise.reject({message: `No such PKCS#11 module ${name}`});
++    });
++    return {
++      pkcs11: {
++        /**
++          * Verify whether a given PKCS#11 module is installed.
++          *
++          * @param {string} name The name of the module, as specified in
++          *                      the manifest file.
++          * @returns {Promise} A Promise that resolves to true if the package
++          *                    is installed, or false if it is not. May be
++          *                    rejected if the module could not be found.
++          */
++        async isModuleInstalled(name) {
++          let manifest = await manifestCache.get(name);
++          return findModuleByPath(manifest.path) !== null;
++        },
++        /**
++          * Install a PKCS#11 module
++          *
++          * @param {string} name The name of the module, as specified in
++          *                      the manifest file.
++          * @param {integer} [flags = 0] Any flags to be passed on to the
++          *                              nsIPKCS11ModuleDB.addModule method
++          * @returns {Promise} When the Promise resolves, the module will have
++          *                    been installed. When it is rejected, the module
++          *                    either is already installed or could not be
++          *                    installed for some reason.
++          */
++        async installModule(name, flags = 0) {
++          let manifest = await manifestCache.get(name);
++          if (!manifest.description) {
++            return Promise.reject({message: `The description field in the manifest for PKCS#11 module ${name} must have a value`});
++          }
++          pkcs11db.addModule(manifest.description, manifest.path, flags, 0);
++        },
++        /**
++          * Uninstall a PKCS#11 module
++          *
++          * @param {string} name The name of the module, as specified in
++          *                      the manifest file.
++          * @returns {Promise}. When the Promise resolves, the module will have
++          *                     been uninstalled. When it is rejected, the
++          *                     module either was not installed or could not be
++          *                     uninstalled for some reason.
++          */
++        async uninstallModule(name) {
++          let manifest = await manifestCache.get(name);
++          let module = findModuleByPath(manifest.path);
++          if (!module) {
++            return Promise.reject({message: `The PKCS#11 module ${name} is not loaded`});
++          }
++          pkcs11db.deleteModule(module.name);
++        },
++        /**
++         * Get a list of slots for a given PKCS#11 module, with
++         * information on the token (if any) in the slot.
++         *
++         * The PKCS#11 standard defines slots as an abstract concept
++         * that may or may not have at most one token. In practice, when
++         * using PKCS#11 for smartcards (the most likely use case of
++         * PKCS#11 for Firefox), a slot corresponds to a cardreader, and
++         * a token corresponds to a card.
++         *
++         * @param {string} name The name of the PKCS#11 module, as
++         *                 specified in the manifest file.
++         * @returns {Promise} A promise that resolves to an array of objects
++         *                    with two properties.  The `name` object contains
++         *                    the name of the slot; the `token` object is null
++         *                    if there is no token in the slot, or is an object
++         *                    describing various properties of the token if
++         *                    there is.
++         */
++        async getModuleSlots(name) {
++          let manifest = await manifestCache.get(name);
++          let module = findModuleByPath(manifest.path);
++          if (!module) {
++            return Promise.reject({message: `The module ${name} is not installed`});
++          }
++          let rv = [];
++          for (let slot of XPCOMUtils.IterSimpleEnumerator(module.listSlots(), Ci.nsIPKCS11Slot)) {
++            let token = slot.getToken();
++            let slotobj = {
++              name: slot.name,
++              token: null,
++            };
++            if (slot.status != 1 /* SLOT_NOT_PRESENT */) {
++              slotobj.token = {
++                name: token.tokenName,
++                manufacturer: token.tokenManID,
++                HWVersion: token.tokenHWVersion,
++                FWVersion: token.tokenFWVersion,
++                serial: token.tokenSerialNumber,
++                isLoggedIn: token.isLoggedIn(),
++              };
++            }
++            rv.push(slotobj);
++          }
++          return rv;
++        },
++      },
++    };
++  }
++};
+diff --git a/browser/components/extensions/jar.mn b/browser/components/extensions/jar.mn
+--- a/browser/components/extensions/jar.mn
++++ b/browser/components/extensions/jar.mn
+@@ -24,16 +24,17 @@ browser.jar:
+     content/browser/ext-devtools-network.js
+     content/browser/ext-devtools-panels.js
+     content/browser/ext-find.js
+     content/browser/ext-geckoProfiler.js
+     content/browser/ext-history.js
+     content/browser/ext-menus.js
+     content/browser/ext-omnibox.js
+     content/browser/ext-pageAction.js
++    content/browser/ext-pkcs11.js
+     content/browser/ext-sessions.js
+     content/browser/ext-sidebarAction.js
+     content/browser/ext-tabs.js
+     content/browser/ext-url-overrides.js
+     content/browser/ext-windows.js
+     content/browser/ext-c-browser.js
+     content/browser/ext-c-devtools-inspectedWindow.js
+     content/browser/ext-c-devtools-panels.js
+diff --git a/browser/components/extensions/schemas/jar.mn b/browser/components/extensions/schemas/jar.mn
+--- a/browser/components/extensions/schemas/jar.mn
++++ b/browser/components/extensions/schemas/jar.mn
+@@ -14,13 +14,14 @@ browser.jar:
+     content/browser/schemas/devtools_panels.json
+     content/browser/schemas/find.json
+     content/browser/schemas/geckoProfiler.json
+     content/browser/schemas/history.json
+     content/browser/schemas/menus.json
+     content/browser/schemas/menus_internal.json
+     content/browser/schemas/omnibox.json
+     content/browser/schemas/page_action.json
++    content/browser/schemas/pkcs11.json
+     content/browser/schemas/sessions.json
+     content/browser/schemas/sidebar_action.json
+     content/browser/schemas/tabs.json
+     content/browser/schemas/url_overrides.json
+     content/browser/schemas/windows.json
+diff --git a/browser/components/extensions/schemas/pkcs11.json b/browser/components/extensions/schemas/pkcs11.json
+new file mode 100644
+--- /dev/null
++++ b/browser/components/extensions/schemas/pkcs11.json
+@@ -0,0 +1,76 @@
++[
++  {
++    "namespace": "manifest",
++    "types": [
++      {
++        "$extend": "Permission",
++        "choices": [{
++          "type": "string",
++          "enum": [
++            "pkcs11"
++          ]
++        }]
++      }
++    ]
++  },
++  {
++    "namespace": "pkcs11",
++    "description": "PKCS#11 module management API",
++    "permissions": ["pkcs11"],
++    "functions": [
++      {
++        "name": "isModuleInstalled",
++        "type": "function",
++        "description": "checks whether a PKCS#11 module, given by name, is installed",
++        "async": true,
++        "parameters": [
++          {
++            "name": "name",
++            "type": "string"
++          }
++        ]
++      },
++      {
++        "name": "installModule",
++        "type": "function",
++        "description": "Install a PKCS#11 module with a given name",
++        "async": true,
++        "parameters": [
++          {
++            "name": "name",
++            "type": "string"
++          },
++          {
++            "name": "flags",
++            "type": "integer",
++            "optional": true
++          }
++        ]
++      },
++      {
++        "name": "uninstallModule",
++        "type": "function",
++        "description": "Remove an installed PKCS#11 module from firefox",
++        "async": true,
++        "parameters": [
++          {
++            "name": "name",
++            "type": "string"
++          }
++        ]
++      },
++      {
++        "name": "getModuleSlots",
++        "type": "function",
++        "description": "Enumerate a module's slots, each with their name and whether a token is present",
++        "async": true,
++        "parameters": [
++          {
++            "name": "name",
++            "type": "string"
++          }
++        ]
++      }
++    ]
++  }
++]
+diff --git a/browser/components/extensions/test/xpcshell/test_ext_pkcs11_management.js b/browser/components/extensions/test/xpcshell/test_ext_pkcs11_management.js
+new file mode 100644
+--- /dev/null
++++ b/browser/components/extensions/test/xpcshell/test_ext_pkcs11_management.js
+@@ -0,0 +1,168 @@
++"use strict";
++
++XPCOMUtils.defineLazyModuleGetters(this, {
++  ctypes: "resource://gre/modules/ctypes.jsm",
++  MockRegistry: "resource://testing-common/MockRegistry.jsm",
++  OS: "resource://gre/modules/osfile.jsm",
++});
++
++do_get_profile();
++let tmpDir = FileUtils.getDir("TmpD", ["PKCS11"]);
++let slug = AppConstants.platform === "linux" ? "pkcs11-modules" : "PKCS11Modules";
++tmpDir.createUnique(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
++let baseDir = OS.Path.join(tmpDir.path, slug);
++OS.File.makeDir(baseDir);
++
++do_register_cleanup(() => {
++  tmpDir.remove(true);
++});
++
++function getPath(filename) {
++  return OS.Path.join(baseDir, filename);
++}
++
++const testmodule = "../../../../../security/manager/ssl/tests/unit/pkcs11testmodule/" + ctypes.libraryName("pkcs11testmodule");
++
++// This function was inspired by the native messaging test under
++// toolkit/components/extensions
++
++async function setupManifests(modules) {
++  async function writeManifest(module) {
++    let manifest = {
++      name: module.name,
++      description: module.description,
++      path: module.path,
++      type: "pkcs11",
++      allowed_extensions: [module.id],
++    };
++
++    let manifestPath = getPath(`${module.name}.json`);
++    await OS.File.writeAtomic(manifestPath, JSON.stringify(manifest));
++
++    return manifestPath;
++  }
++
++  switch (AppConstants.platform) {
++    case "macosx":
++    case "linux":
++      let dirProvider = {
++        getFile(property) {
++          if (property == "XREUserNativeManifests") {
++            return tmpDir.clone();
++          } else if (property == "XRESysNativeManifests") {
++            return tmpDir.clone();
++          }
++          return null;
++        },
++      };
++
++      Services.dirsvc.registerProvider(dirProvider);
++      do_register_cleanup(() => {
++        Services.dirsvc.unregisterProvider(dirProvider);
++      });
++
++      for (let module of modules) {
++        await writeManifest(module);
++      }
++      break;
++
++    case "win":
++      const REGKEY = String.raw`Software\Mozilla\PKCS11Modules`;
++
++      let registry = new MockRegistry();
++      do_register_cleanup(() => {
++        registry.shutdown();
++      });
++
++      for (let module of modules) {
++        if (!OS.Path.winIsAbsolute(module.path)) {
++          let cwd = await OS.File.getCurrentDirectory();
++          module.path = OS.Path.join(cwd, module.path);
++        }
++        let manifestPath = await writeManifest(module);
++        registry.setValue(Ci.nsIWindowsRegKey.ROOT_KEY_CURRENT_USER,
++                          `${REGKEY}\\${module.name}`, "", manifestPath);
++      }
++      break;
++
++    default:
++      ok(false, `Loading of PKCS#11 modules is not supported on ${AppConstants.platform}`);
++  }
++}
++
++add_task(async function test_pkcs11() {
++  async function background() {
++    try {
++      let isInstalled = await browser.pkcs11.isModuleInstalled("testmodule");
++      browser.test.assertFalse(isInstalled, "PKCS#11 module is not installed before we install it");
++      await browser.pkcs11.installModule("testmodule", 0);
++      isInstalled = browser.pkcs11.isModuleInstalled("testmodule");
++      browser.test.assertTrue(isInstalled, "PKCS#11 module is installed after we install it");
++      let slots = await browser.pkcs11.getModuleSlots("testmodule");
++      browser.test.assertEq("Test PKCS11 Slot", slots[0].name, "The first slot name matches the expected name");
++      browser.test.assertEq("Test PKCS11 Slot 二", slots[1].name, "The second slot name matches the expected name");
++      browser.test.assertTrue(slots[1].token, "The second slot has a token");
++      browser.test.assertEq("Test PKCS11 Tokeñ 2 Label", slots[1].token.name, "The token name matches the expected name");
++      browser.test.assertEq("Test PKCS11 Manufacturer ID", slots[1].token.manufacturer, "The token manufacturer matches the expected manufacturer");
++      browser.test.assertEq("0.0", slots[1].token.HWVersion, "The token hardware version matches the expected version");
++      browser.test.assertEq("0.0", slots[1].token.FWVersion, "The token firmware version matches the expected version");
++      browser.test.assertEq("", slots[1].token.serial, "The token has no serial number");
++      browser.test.assertFalse(slots[1].token.isLoggedIn, "The token is not logged in");
++      await browser.pkcs11.uninstallModule("testmodule");
++      isInstalled = await browser.pkcs11.isModuleInstalled("testmodule");
++      browser.test.assertFalse(isInstalled, "PKCS#11 module is no longer installed after we uninstall it");
++      await browser.pkcs11.installModule("testmodule");
++      isInstalled = await browser.pkcs11.isModuleInstalled("testmodule");
++      browser.test.assertTrue(isInstalled, "Installing the PKCS#11 module without flags parameter succeeds");
++      await browser.pkcs11.uninstallModule("testmodule");
++      await browser.test.assertRejects(
++        browser.pkcs11.isModuleInstalled("nonexistingmodule"),
++        /No such PKCS#11 module nonexistingmodule/,
++        "We cannot access modules if no JSON file exists");
++      await browser.test.assertRejects(
++        browser.pkcs11.isModuleInstalled("othermodule"),
++        /No such PKCS#11 module othermodule/,
++        "We cannot access modules if we're not listed in the module's manifest file's allowed_extensions key");
++      await browser.test.assertRejects(
++        browser.pkcs11.uninstallModule("internalmodule"),
++        /No such PKCS#11 module internalmodule/,
++        "We cannot uninstall the NSS Builtin Roots Module");
++      browser.test.notifyPass("pkcs11");
++    } catch (e) {
++      browser.test.fail(`Error: ${String(e)} :: ${e.stack}`);
++      browser.test.notifyFail("pkcs11 failed");
++    }
++  }
++
++  await setupManifests([
++    {
++      name: "testmodule",
++      description: "PKCS#11 Test Module",
++      path: testmodule,
++      id: "pkcs11@tests.mozilla.org",
++    },
++    {
++      name: "othermodule",
++      description: "PKCS#11 Test Module",
++      path: testmodule,
++      id: "other@tests.mozilla.org",
++    },
++    {
++      name: "internalmodule",
++      description: "Builtin Roots Module",
++      path: ctypes.libraryName("nssckbi"),
++      id: "pkcs11@tests.mozilla.org",
++    },
++  ]);
++
++  let extension = ExtensionTestUtils.loadExtension({
++    manifest: {
++      permissions: ["pkcs11"],
++      applications: {"gecko": {id: "pkcs11@tests.mozilla.org"}},
++    },
++    background: background,
++  });
++  await extension.startup();
++  await extension.awaitFinish("pkcs11");
++  await extension.unload();
++});
+diff --git a/browser/components/extensions/test/xpcshell/xpcshell.ini b/browser/components/extensions/test/xpcshell/xpcshell.ini
+--- a/browser/components/extensions/test/xpcshell/xpcshell.ini
++++ b/browser/components/extensions/test/xpcshell/xpcshell.ini
+@@ -15,10 +15,11 @@ dupe-manifest =
+ #    For tests which should run in all configurations.
+ #  - xpcshell-remote.ini
+ #    For tests which should only run with both remote extensions and remote content.
+ 
+ [test_ext_manifest_commands.js]
+ [test_ext_manifest_omnibox.js]
+ [test_ext_manifest_permissions.js]
+ [test_ext_geckoProfiler_schema.js]
++[test_ext_pkcs11_management.js]
+ 
+ [include:xpcshell-common.ini]
+diff --git a/browser/locales/en-US/chrome/browser/browser.properties b/browser/locales/en-US/chrome/browser/browser.properties
+--- a/browser/locales/en-US/chrome/browser/browser.properties
++++ b/browser/locales/en-US/chrome/browser/browser.properties
+@@ -106,16 +106,17 @@ webextPerms.description.downloads.open=O
+ webextPerms.description.find=Read the text of all open tabs
+ webextPerms.description.geolocation=Access your location
+ webextPerms.description.history=Access browsing history
+ webextPerms.description.management=Monitor extension usage and manage themes
+ # LOCALIZATION NOTE (webextPerms.description.nativeMessaging)
+ # %S will be replaced with the name of the application
+ webextPerms.description.nativeMessaging=Exchange messages with programs other than %S
+ webextPerms.description.notifications=Display notifications to you
++webextPerms.description.pkcs11=Provide cryptographic authentication services
+ webextPerms.description.privacy=Read and modify privacy settings
+ webextPerms.description.proxy=Control browser proxy settings
+ webextPerms.description.sessions=Access recently closed tabs
+ webextPerms.description.tabs=Access browser tabs
+ webextPerms.description.topSites=Access browsing history
+ webextPerms.description.unlimitedStorage=Store unlimited amount of client-side data
+ webextPerms.description.webNavigation=Access browser activity during navigation
+ 
+

diff --git a/www-client/firefox/firefox-57.0.1.ebuild b/www-client/firefox/firefox-57.0.4.ebuild
similarity index 99%
rename from www-client/firefox/firefox-57.0.1.ebuild
rename to www-client/firefox/firefox-57.0.4.ebuild
index 57484d8aaa4..f02cc1c09ac 100644
--- a/www-client/firefox/firefox-57.0.1.ebuild
+++ b/www-client/firefox/firefox-57.0.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -123,6 +123,7 @@ src_unpack() {
 
 src_prepare() {
 	eapply "${WORKDIR}/firefox"
+	eapply "${FILESDIR}"/firefox-57.0-pkcs11-backport.patch
 
 	# Enable gnomebreakpad
 	if use debug ; then


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2018-04-25 10:21 Lars Wendler
  0 siblings, 0 replies; 25+ messages in thread
From: Lars Wendler @ 2018-04-25 10:21 UTC (permalink / raw
  To: gentoo-commits

commit:     5021e95a40c125ad5d78f8d8e499362bced9a4d2
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 25 10:19:13 2018 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Wed Apr 25 10:20:51 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5021e95a

www-client/firefox: Bump to version 59.0.2

Closes: https://bugs.gentoo.org/650472
Package-Manager: Portage-2.3.31, Repoman-2.3.9

 www-client/firefox/Manifest                        |  93 ++++++
 www-client/firefox/files/gentoo-default-prefs.js-2 |  17 +
 www-client/firefox/firefox-59.0.2.ebuild           | 370 +++++++++++++++++++++
 3 files changed, 480 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index ca721554584..ef9058cf00a 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -461,3 +461,96 @@ DIST firefox-58.0.1-xh.xpi 467880 BLAKE2B 1aa8d232b5d4bf8e14bb65bfae4da111cc71de
 DIST firefox-58.0.1-zh-CN.xpi 490106 BLAKE2B 80fa9939dbbe7a854edaedafca5a5afe68aef6ae76dec18d2e2d63b38aa1f0f65a589c3afa193afd17b26f5c3bc700d2b148bd4f6dd2e035619fc750a7e49c50 SHA512 6058b305983c055101878c928b5c7774e7c64f40b7839142308a49a53b953a41a3fcc13094a464106bb1e13abf881eb390da5fa48397565b48987994dc2edae0
 DIST firefox-58.0.1-zh-TW.xpi 488340 BLAKE2B 66285959b64e1551b2ca3ac5d63a628785169823254e0e2cd463ec7a60b804be988534965b04945ebcb8f450406309739fc6dc2c1d47f5aa96054dfd452da0e3 SHA512 6019a4b88c805145eb336446a8b9d808ec5f8a9bb6146ad44445757f767642753c882a1c17d4ecfc002eddc2e3b4658783f3677abb2e57d374002d6e7da36c42
 DIST firefox-58.0.1.source.tar.xz 248933088 BLAKE2B d0453766d51fcf0ace8041adc5ae3db8839be971d51ec4047412e15a807ad3e5bb174f185181a5e23895bf4618e86160379cd28b42b36666f75e76d80c6dc502 SHA512 65a6a68f95dac93fc68c4e240742b172a6417e7fafca2671ab13f398329ba0ef3195bbaaecea2d9f8b2992217cfaa7912af6c0351a1efe4cf2d2bba838ecd711
+DIST firefox-59.0-patches-01.tar.xz 10660 BLAKE2B 694417d544b565663ccd86b8d3c9745dbd0441e12525c4bf2e7e4592d3191609ac877fc513237f16c026a312fdfb5ea7d51b3febdd24dacfa87bc029e1e02e04 SHA512 211d80fac2d11b7beff93ba3f95b63b6795b8ab5711c1626ccc2e4084d3eb7e0394052fb0c300397892cb440b704c230d19fabdeae13b3617fdd48165964e0b0
+DIST firefox-59.0.2-ach.xpi 439227 BLAKE2B a1da5dc7cd2db53ca856e22ff4fb18ba48f567841b3feca16aeefd4ddb8037c8051904636b2b8e73701aa4743e157250f54f59178892ecef3d807b5cb9fb602b SHA512 907221e0434fe2735ab23f00508dc8d40fc2dc99caa64770ec8be2d5e1279fb44e624e4bd288ea11f3be5da33e9a62265c55891e52f800e5e76cf7325fc206dd
+DIST firefox-59.0.2-af.xpi 436731 BLAKE2B 87f179a4a0aae268e6ea4a0a79bab6d205ed97bb0b4de168c33cfdd154347b9e8f72c1f40d15386943d9d17eb9618baba8fb76d546d62fc130416542668b8839 SHA512 9f52af21dd832ba2ee718d6bd7df7e7330ba64687089ffa728468d29c1e627be1900738118cc31597a1202d22df229085c98f92142239cb5de17cd6288ee64c2
+DIST firefox-59.0.2-an.xpi 463405 BLAKE2B ca3444d106d27eb6c0745c30469a8f182030a5967998e5d23c472d0965398c76f0c10ec32ba7239b834db2b5419006754eada433c4bcf128ccc5a59b00ec71fa SHA512 e46be9045b8c5486ebc60866be0d3e0b2ea115985cfb7f4e6f3985ded611183fc9ca03602143b76f044899a6ada15b8f3c6eb2970e676c8ccc71ff78b40f10ec
+DIST firefox-59.0.2-ar.xpi 486633 BLAKE2B f889128dfe03ab3e5b718b8dc8e217481d5f80667d6be39dc88b43d4475b761298bc57fbc8fa20ce75933b0d3b0f9322547a30d3bbc6e306713ad7fe60b7af27 SHA512 027dec5f2e632bb63b0b8111697de0573c577bc59cdac4e0e7fd0bb466ad04e285b37135afc97ac7746d7dd53882d326976675c7f4256d3051a8f583c0e4ce52
+DIST firefox-59.0.2-as.xpi 483301 BLAKE2B 2a1c25b3cd5293580e7100d4cbe26241addf7c528946de66440801ee88e4c0d814300c5cfb436178fb33ec09036af73dceafb87fa86bbdb30fa068e1f61cf8a4 SHA512 484c9049851ae3c24138c65cd5f5b6a3c8a316675cdf83c161b5d4998992d26d74499b4427e2d5a062c05391735de5e2ced1806c1c1fafe057df9ca60791f708
+DIST firefox-59.0.2-ast.xpi 454343 BLAKE2B 7abd1292141cdd048c5bd35212661b1427047dfca20d945ac7a6faad20f83e6110a9175080bf0ba141eb243bcfa1386be859541d4d53b7a1e004c6addb075449 SHA512 43fe699036808f979bfbc8af99a7f56c6b3dc4a5b809b1aada3f72cdda102d16f7c0f067d9cdc22cdde93355e2d4984d12ce8cd64c75e025b45bfc0be78503fa
+DIST firefox-59.0.2-az.xpi 464270 BLAKE2B c9848311e2512f11a81093d456c4166fd35af70c7f8b6b809fe5c339ac0deb63d2bead6a2a177cafa89503393b0ad9bd047ddfc4b2e5928fdbd1f98fd6f32228 SHA512 04a2e5bd74f616650025540f592859346690aa4500927943fa41e70d44415a208a2fa2e05c821e80df4976eaae55cdf1d77cebe5b2abd84a4b190d7442d3c1f9
+DIST firefox-59.0.2-bg.xpi 508613 BLAKE2B 4fcf6fa28fbd1210335e744f555e065d1836d4f0307c2c3cf5415058ddd782ed77350ecda1a52b7f71e1e15aa2cfe0f4b11995c6f8995661a3171220e88ecc8e SHA512 d255045eac64ee8d58cc7865fb01599cdfc2faefd40be9fd64a6f2466230d38b0eaba234f9d24932977671a08727317310be4bdfda12c785becc7600531c1086
+DIST firefox-59.0.2-bn-BD.xpi 526352 BLAKE2B 7c35c4a34c5a4e8dae7d4233c9d4a790f02fb981aa48b4c1d9a75f8b6f4eb8877378f11e0624cb5996e45a9e39fbad54a778f853a2a967b1af4d0850ac947cac SHA512 f99727f5b5328e50a7a2637b534c293080a690683651c5e5f43c080a6bc6e0b8a038b811a39d8425f47c7a2ce5d4ba1b170ea61b0715d3a4fcc01c85e1a0e791
+DIST firefox-59.0.2-bn-IN.xpi 510797 BLAKE2B f9e778b783550384f68b34f183af6c131489237c00b86d3a3c8558e94a415d3e1dfe6e4bdaea177bdd330e4db7812f4b177d04bad7c8b77231af5538e80213af SHA512 a706166ef1635789dd37cc591fb4f1d25260122c3de9a7ea10e811bc360ff9a742b4a25969f87db4867e05f4e893655884b6c76da7f68085d4ac31ed001e595b
+DIST firefox-59.0.2-br.xpi 451719 BLAKE2B 12987d20211bf98ea7e6dc245664f764cbfd8c1f3a01cfa621e628932fce66b0fe86c67a219c608d34b3e1d534f845db1f91e95962603422a7dd24e0a5d67427 SHA512 aff0fa0dedf15f2d323015c886f16e60a12c41fd7ac7cd5c85204113708b66996abb894e3c6f7bc83b791068cc38a9c21d5c1d48fe4a5ac9292009d2a4093fe8
+DIST firefox-59.0.2-bs.xpi 457859 BLAKE2B 728dd64905368bb064d037de2cf4e62c90002d6ff191285438acd84320b4f8f363fcc93d5a728bef0e2c033f0bd83ae6dd7d67a6697e4dfcd49ada676b68bd4f SHA512 1d367eb5cf6a50669ab63a3fe6ee5395d40aa3ae8f8caec8b02c29968b7f7aeb83a43796599bf2294a2a76eaeb9410217109518cb8e50408859f8ed15a967e4f
+DIST firefox-59.0.2-ca.xpi 464912 BLAKE2B 9bdbc7227481d8c42301c9c6577854a56ba51ddac7d22a6e79d100a73f02386e30a1b41f95b294c7d74cae65bee37d9faa5ef2a314abba40208d4d927c2df8e8 SHA512 d37dcca5a19cb913ca13300fbed5127e6e82fa1342aa4af5d6d4f48019ce6300418022ee3e8ceea9980963db3126f69a58b74252773118d80e07343256b477c3
+DIST firefox-59.0.2-cak.xpi 475234 BLAKE2B 3117130e60da4ff4422656f1e2e6cc0cf3b079e11c0558eb64af31ecbb28c4fcc5c85975b8efbc01200e2f82ffcfbfae545cba852d5c37d6e4239707517273f5 SHA512 0e75441c40d867e818c1bd7325b59cef138001a1adff3a745366c4ba76a67fee50f9f8368b0468f4a5333d5c2aeb65886a5d6c6227921b0b18dc64d6e927a880
+DIST firefox-59.0.2-cs.xpi 471575 BLAKE2B 7982527aff5bda82a51b056caa06657d4c1a7593e1438b5cfd2f63707b0ce27427f1a5b1f7f70e3661528a8447079187282605146d1ff04ebec2b96f68cc1c3c SHA512 aad648c71e82e311b2d2432fcf93f77cade090b22ec9151b2dd5f0c005bfb80576d2279796b385f54e74e6a2ab00d08f2390e64943149a88d2697f0daf7e50c3
+DIST firefox-59.0.2-cy.xpi 454433 BLAKE2B f95452225bee896b1f46a1de5781eb57706cb2ca74cfbc12ddc7d96ccc755fa3a938f3c33e01a0380666d0d27e11e8a9e497641e5f11f94a68162ebd1a7830fb SHA512 7d838e28ab08c1450f9a99c110a3747f6232f7a62d8093be590e7e09c8719a30cc51f0d905ba340d541c5bf0f77913141ab7535ba32563ebf7c689ac1de9ff83
+DIST firefox-59.0.2-da.xpi 446948 BLAKE2B 6bc2ba322d4c858c279250f9d48b2d8a8e66bef40c01e06f935ec9000b7d18ec6480b83ce125d0f11ee4287ec5a7f8f5b98f0bc995be70d5d166531d5fe85148 SHA512 a3f0581bcfa1f69c3ff80f232375230583f6475d127944ac486abc378a8e2f26ac0df6f9bce6a565367133af88b71cdc1da52051095ac979a7f2636b93bf22a4
+DIST firefox-59.0.2-de.xpi 466272 BLAKE2B 6ee2093097d648dfb1a1eb3bf67191c13cc249832f4c00d759185dc9a3d1a46a8a78f8cb0f5a28c8af2d352564c6bab52b9aa61df66edb58ec08a54a080bbbbe SHA512 816aa2861c7247cc1ca9bd2afe1c81a182a82cbedd47a14b717560a195f4add122e4ecb2cd045bc905f0a7753177ccda8362ea4f5cab550b6dfd4ded977f5a96
+DIST firefox-59.0.2-dsb.xpi 478974 BLAKE2B 7924bd23a7ec2ba5e0b16803f6ed12876a3c25c2cca3f7ce724e7bab7d6eada6dc2360c2f59ee90e0acb11227d6e6daa937e2a11c8851c6d98b5c26767408ac7 SHA512 64f23a0b17140917d8f73faff67e1b665d532e40bf0cdee980124da0d6463e12605cbcce65659849806ae22319a9a33ac2730f954a06c5b67f1263bb9d7382b4
+DIST firefox-59.0.2-el.xpi 531408 BLAKE2B eacd77fa5b4b4f56b89d28c754914e2368c0d9b3ac60211aa2dba77791e8efbb4b450d93106bc92abe4908264941c35aff22a4728e849415702c09f01d6eb1f7 SHA512 f787681956242f589f89350ec4ecfc1d91f297cfbb4508e753cec112e733391c127fca33bef8b465916e55ec6c692588f4ba6b38004156eb7db22fef9a2f4f6b
+DIST firefox-59.0.2-en-GB.xpi 434300 BLAKE2B a02e0bfcd933d8ee9c0e823b03a7312d206b87c75f027c0301fdca169a03b2c341e115e79b8a76430926e28af1390829c11d1491cecbfdebc7fbf72f55508509 SHA512 4de2e0e3e8bf5aa152d6692ec5771b291c7c387a2903c4a61a5270c7ff99eb268b2bd768330c8b5200d47f04ca1b8793339369709086f04ecb33a0ad42b422b8
+DIST firefox-59.0.2-en-ZA.xpi 427365 BLAKE2B 420967a72e4f6a11b1192d30c14c9bdd6b4246be118996d1e85d5aadc1517f54012b5944747b163c1b73fad4266fa0247a22489da9d5fc9d28a4350a0d19c35c SHA512 1f7479aafe8a26ca3ab271487ed103f2b250672d79af2e946b7fc06dbea734f4575aae22617d03889b5922d19cbc884395fc36b669eb2e02584f2a8f55fd8c6f
+DIST firefox-59.0.2-eo.xpi 453366 BLAKE2B 644fe29ba3509dc8cf37ee86ad509ebb1550c4ffca88fb5170d97b4ce8f0a9aac97eb4924f118318fab8cc760b999ee9c160a4e12ebceca34ef0d9def7bd25bb SHA512 4ad411ddc1c1d8a33ae95fc8777351394dad2a3f9b24b4c601c38cd0fa26396818cbf52afaf6800531920c5e6d6f1b5880b93990ce93a2090b135ab08593291e
+DIST firefox-59.0.2-es-AR.xpi 461797 BLAKE2B aa45a397352d8254446c4de61d060a8069485ec57a07f7f222416c0c85bf07ee1a8cd01af016ec0bf278a85ee64133c81e119b8bfe07fabe431748adfc5c7eb1 SHA512 7e9ac2c74aa041bc9b8523612c7e0f47fafb3ac4c282d94faf46d76dea210cea825c72a4b33f3c58ac6fbee1f131a259ec89de577c9e3bdf98539f54cbeda0ab
+DIST firefox-59.0.2-es-CL.xpi 464654 BLAKE2B e3aa032feb1ee05e6e1dad6d312b6ca71173c3f2f60d482c8280da2dc6adc82b383762fcdfd35956811c56b4fdea6d4e2867565abde167172cf280f3b0d472f1 SHA512 9e3f5af9852f0f8324d2d36b3737c6b760fe31fe805ed44999eb339b416101c3158e4e4b367bbc6affb5b2c05ec89f2ff4a71127d4f926b3d66d8b1d8c192dce
+DIST firefox-59.0.2-es-ES.xpi 348463 BLAKE2B b0473ae1bb9b9b12aa63f7adcf54712c198100c3d6e3433b02ad24b427b88d9e53d20c5176cde3f0e9bb1fb00f2b9449c78e6b04cdc49d95fb8e65e139f8c04a SHA512 3c1d4430523c149103df99e7c872974ff22e0beb537424e4441ce2682c24656974fec060091f7647ba9a85c2c6e1464f99b9f65dfb9e5e9c75ddf8dc32802dc7
+DIST firefox-59.0.2-es-MX.xpi 466313 BLAKE2B 1b1ed0b89c0e3888767c4121949b7888e777dcfb382c5918bcce47b28b84a9f382c5b794e86216c4a4377c2a9979bfa1f66ccddb02160ecac2afe6497925cf5e SHA512 a9c5054aed849d7ea77f8d25d6625efa2d6e6f0c5709fd238e665f27cefc8e2d7597eeea26b572978b2984f23d6629ce3d2b806ee1068843797dbd7f8084312b
+DIST firefox-59.0.2-et.xpi 445394 BLAKE2B a0fb0a6c67adca0fa63b3104931d9f33ac365c341aabc771547b8126ce7598fc7922126913ff5f85c1befda44ba1725ebca5cc3c252bf04f7cfd32d4419c6209 SHA512 a31166eb3c5b54ca1485879a59530e6a05c5e79080f97b56b2d5b3fcbee7c5d8995ed76b0511df2ce97987f1d8dbae50ef7b1ad0397ac40fd50bf400760f53c2
+DIST firefox-59.0.2-eu.xpi 455236 BLAKE2B c4134ce8a81df0d93f258bc9303a1420c75850e8b9a5f81db665c03c5667e8af26ca3804515b75244665090865a52a491a0d22a5b0b48d09de55413fdc9e0c39 SHA512 abbdcf14c722f5cc18c0ebaa8c0093ed57985e7d6a0be9cfe0ad3b1ec9f8f394a04b6d963461a5ec4f457c9e072ec59bfcf0b005373f8bdb59c80ce2bb9af889
+DIST firefox-59.0.2-fa.xpi 508098 BLAKE2B 49e2a882cad57198ff250d07b2d39e74067080ff0a3106ed75f0bc83276df09c4c93a7509a1438fc65386454009be427a953e304762c31494f1a00a978d1a2df SHA512 bb6cd02740d919afbcdfdaacf19d5932566f6d3c0fd2dd1c0a22cbbae236c6f01e45e36fc253622b444d6510cb3f54935185a38f80647863d09805394015fb15
+DIST firefox-59.0.2-ff.xpi 455027 BLAKE2B dccbf755b30592606d006f0d7391ce9df7dc749ff0b6b7f062765a02c8c0d33840e4f1bf4aa120832ca5ae2419d72ccec1ee6d6110fea83dcf245f760bab4d3a SHA512 d0ac52a74f6f4e4c50050e09193758cd448f491d1ed1abbcaf8796b2bca9287f22d12880a36d675c0be7204faa370b6101e3a30f18031319846c347516b48f9d
+DIST firefox-59.0.2-fi.xpi 445182 BLAKE2B b89870329a03faa8a694df0fa57ce944fe540591b589856d222b58a238fcab51e6ca108aacc14149d0ff0a4720e5892269bc1def8e173abdb6351c36f2ce021c SHA512 4863a18269ab4eff591e4d3bfd5567e59d008944eefb4180dbbbfa79f35d9022040eba504fa0272639d9636a49cdb706d920386995e431dcfdb77dd118970167
+DIST firefox-59.0.2-fr.xpi 473593 BLAKE2B e243cba46ec795270c7d2f2654b161ad78a56c711d87e85c25285ddff5339da6e8ae3fa45f8cd89396f2300dbd5887cacf57b443f72edac92871d70c9d153d8e SHA512 d0fc8ce1a5933e50a18bd95d7789ee1aabc2950f3747d1d8b5299fcb6a52e07cce2f5f17f66f3f4ba585e5a95b45888108974237ceb8e5cf2deb0e6862c1481d
+DIST firefox-59.0.2-fy-NL.xpi 462918 BLAKE2B ddacf52b6753f9866ccc82b63e8db07913a4f59146a4421b895c15c20b0069568ea367ffacc28b292f84e9e7b6d607280b1a03c7a0d28b394edd1ba1de885914 SHA512 b8fa4d6c641354fb25f48528d26d2404f23ff1423a371c212d8e79e9fc06165a3ca4c4614be1bd38a7571e752c508481d2f4e374d2df6d69cc132f95e267de12
+DIST firefox-59.0.2-ga-IE.xpi 471909 BLAKE2B 2a2b4fd1a8926240776580c865cca11be3410b789e5c127d34abeaaa7b424897fd66cf97d92b840be04e5d0a1bfb50a3acf4607e9410d09a2d73a879ae5994e8 SHA512 0d85a5161dda221e8162ee78c9ca50cb34b00decb7be47b087c9208608cc0ef7153ceaf649adead09abe53da9423eebbe022e67b5ea7a44c42cc033ce30e039d
+DIST firefox-59.0.2-gd.xpi 461297 BLAKE2B e9a5c9c53c8797c60bea5b5c9012863d3c696afc66aded1f9f3fdf6bfae251a02ac4956e2337e9f2bdc5deda7281a6d50cd44a25fab445779233fdb32a73d5da SHA512 fd025006ca614a0c68f64942396312c3a1da284ace8fee829f9d9f160a5cc294cee8d6f2ebdec9aa4493ab6ce983e823f48646992413ed622a9c28041029b3c2
+DIST firefox-59.0.2-gl.xpi 441615 BLAKE2B 9fe368e2b96c064eba601f3bbe327bbb1689faa15999c7234107a0ac5e57e37d7cb166b7765f24912bb07153d258248c6e2ecc5403e513b2283ac38aea0b3c5f SHA512 fcee3e381eee53362fc0778c95c509f28574174e64703e747a9c9aeaa92c9eac9eecc3200fd14bfa5d15033ca1d9dda88ae125d103170fa8f1e944f6ebd8f7f4
+DIST firefox-59.0.2-gn.xpi 469397 BLAKE2B 904b70ee725db3175eb891cc5e6579f8cbdc3f99f92febefae636a7d9a94cafde0350920be1d12b2c4bb4f816ee6c0cb8091972663bc97dacc350202e9464e06 SHA512 d2fabec58e9392cfc2b024d34465fc7c216aa9f3584c2b714e34a5d2694bcd07d9947517f85bf8c64d047958c0ee8db85a92205b2651fd9984faf3c150b4e0d1
+DIST firefox-59.0.2-gu-IN.xpi 521804 BLAKE2B b7ab9e2134b48cd16633e012c08aa7efe71cbfa422b02c91e9df442715a10c2fefaf6feefe1af4cb07a622dcb168ea4c92b89df407a789a60cb7fa6b823feec3 SHA512 23681fe178020ee3326adbda72794e0aecd90d2f5509c5067738b43a6a1d4f9b3eaa0a7c315531ccaeb53851dce83ab936819fc13b1b50c2c5a26f85a8e00bca
+DIST firefox-59.0.2-he.xpi 472771 BLAKE2B b0f211fc509f85b973263116acc92b25eebe6564b4f02af8fb42dbf4afec40b59dc8cc6cb8f77924286988ad7c44cee4b457de583e16fe5e90928a80b39356d2 SHA512 036c0881541190bccd449fe08f938dce8006f65efe921baf424500a174a5338a7c47a7790a02f07d3c052c5f9ce5ddfadf53446be988218e9a940fbbced1f87a
+DIST firefox-59.0.2-hi-IN.xpi 524279 BLAKE2B c7798f0226f52d304ca6f2dcac621dbe7963566060ec19df9bc3e301bd03c716443ce304bde0a2f0740e19fb4a62aff488d068271e3aff30e573957f0fc74f75 SHA512 25a1cd0c3a62bd25c02515e812f13828e1afc7badc797b7ee904b999bc46c35831059ad2f5735cd8cf6741227b2bcb4846a7a175e03efa279315ce3898a81333
+DIST firefox-59.0.2-hr.xpi 459978 BLAKE2B e7eca25af49252a4b0c18564905bb43faed0d21d6711e54c3f157a1f404370a880cd811661367d0b5a558cba1829c72513eb75af460040323d751cc2d48f05e5 SHA512 0c8ca6e5d37744110068bb435daf724eaeed0c0acf679c1720321630b982db7be2f0a47b940913d8b91276d8d8523a8d29ee198e19e301a6c369eacf7851a494
+DIST firefox-59.0.2-hsb.xpi 475940 BLAKE2B 4802c871d2c6e8ef704c89cbe518d868672077fb7b56ca38a94b330274e97487d822599d8756ef36fa159a10e47c9edb1645da2f8a288fd29d7cce1dbac9e1b1 SHA512 63b73352e6099cc65ac15f8a9173d6f701044bc0df2cea97b8877c63912dccaac9077daa4074a5159d9de93cdea41a2a0be9fa3b7beb5197a878bade537b31d3
+DIST firefox-59.0.2-hu.xpi 476896 BLAKE2B 27d4865e75c4fd41c0ec9e27031089a4b8b30258c87c07f841ef8949755739e711185dd667ce7851e88df3f4244910a6863cd7cd5d0b69a8e4be51bddd92df8a SHA512 79444b489315a71b73c05f1d8567044aaefef1184cf5df46b31d76d549ef1ef961ce67822cc0f51c2363f5d3619fd4a7ff8de6e98b9f5439cb7bcf9d63316c13
+DIST firefox-59.0.2-hy-AM.xpi 508167 BLAKE2B baf6356b156420e7c39e43fd219fb3a26855df7efc63142ddb3f833c7ddf92198e906ae5cb5fda0ed3853fc3bd62157b4870a95ce24067ae8ce02ad58c59327e SHA512 e8d8dcc3aca16b14f2c7f6dd5bcb254d6ca043ccb49c744d28ec13bdead23fc975bfd5042c840549112ac70d60cda8f98f043299ddf2819ec302ebede4892095
+DIST firefox-59.0.2-id.xpi 441952 BLAKE2B 739a5adee6c54fd1b0b807d2ccf66df3de834129258c72f80ccfcecf922b7b12288315b087b4b0d46f683505db624846c263395e6b526522f4a48cc082dcf33b SHA512 5f34db816f01e9db5aae66d767053865fd4a1d2e0cfd9cee7e169c55d60d6f62183e6d103a18652ee09fd93d6080acdecdf29fa2c4c633fda52e80106c7c5c22
+DIST firefox-59.0.2-is.xpi 451373 BLAKE2B 9b56db67b4f57805d2d40c80d02eb8f1486a01e7d94e34e755554379298294f94c8726ff8d1b43fbafc7c8577030a3720a74c90656c123af87907c57ff25b093 SHA512 c42ad2dd8a42c36ddf20079c3086d8d5e0f19cbc1c81e703cda344f18f744aa10adb1e2b4ed8f3138536dda1a23afeb8a9c73177d9c0653a8cee3a300369d6da
+DIST firefox-59.0.2-it.xpi 342524 BLAKE2B 469bf8fab7c252f00cfd14cdb20b94257aab423c1882b24e5988f655387522642fb2d0379fa386e788828b7e8c49d4b520795c2ecff5941ce4cab4b97e0beea7 SHA512 58422e70ee414464736c941a2d27a4ebb08042cfb57cdcddd3c77d1e1f957e43bf53c21739972f5b441eab3ff19be7b837db434df6f290a98d45bac7f198e048
+DIST firefox-59.0.2-ja.xpi 508148 BLAKE2B 5d0d4fdf23bf2767d37fd660f7f996f70d350a38f3706ca3bff5446a5a86ebfc6f7e4efe3053729297234094ef85489670649479d193e71dfdc4a9d13cebe53c SHA512 4ff5dd46c1d238e5bdce58e6362e1d6c176722cde43a64fdd14c7138938c5b0bb6eaa48cbd5e6744eb7e1a4d9da97035f78acbebd7c9c3d17a3b39422422b070
+DIST firefox-59.0.2-ka.xpi 492569 BLAKE2B 67ec529a818b37be4e2b25b6610abdf2912b388f7875bb6d994ea2db1d3e5d936f851e4e4b15ebadd0dbd31c85915e2c0b89f7de83365a114b982843802e636c SHA512 41239a9cce4db16f50a57d03b1ff438bd2e84154bbe8e79b4cc00ab0dc615f2ef134b425bb6c3243b494daf22f4f9058d2c658cef4a798f860d6863ae65d179d
+DIST firefox-59.0.2-kab.xpi 461840 BLAKE2B 8b567a85ff054c2c7a6fb3f906f0c9f2f39414ba6894e1964eea275e45fa394d5bb4a5f171ece1ed4b974d110610afc8e8067a65edb19e48af010a3df888db2e SHA512 9acf055e77a7691f75cf9ef220075c53801972e37790ed37695681bc7be5efa1c8c97514e2805f7158b599a39bde9a6ddde5d6d05a1e1c028a35595d4dda5b78
+DIST firefox-59.0.2-kk.xpi 517583 BLAKE2B 159b60156fc5a4e722a4594f4cff04dd958b400206c26b1ce683f41cf433b31820a36a00f39c8b8854d712ba8a6c4005d8dd5a085a6742d3df917b0ce87c37ff SHA512 d1b0542ef20759e915a391d5bfbecc3c0069146bfd508506e14942b7f9804a066e5b61e2c9d14e501391e59b6b67130c2c1e7aee4cb62340583117e47aa0dc4c
+DIST firefox-59.0.2-km.xpi 526359 BLAKE2B 02872b7b178969a0293e4307b85f7c398618059eca6db2cc4d4fb93d41b1431a485c49a176899602fa769f50727446aea737d4df439e943c3b23ff5fc6272e32 SHA512 289331c1276a9ad784b3a995defd8ae5df23e191a2c76860f481563faebc15e6aaa5fa5b5daed9b66b0f13660e1ec4d1349342d3b783962bb83609b2f5e35643
+DIST firefox-59.0.2-kn.xpi 527879 BLAKE2B 3f074b0a756f5b4581447cf100071ca354de1df286c9a8c6540bb5308a90df05aa9567b4972d677812869a919656b3205d96aec642ee77318982bad19ea6d1a3 SHA512 022b166657c8fbb16783a326842547f3077f19fd2eac04aeeb364313dbc4f60cc21416b32fdab384cdae96081b2d3d82c348c0b8df540c12a3550bbb0ef14420
+DIST firefox-59.0.2-ko.xpi 487661 BLAKE2B a07788d61c8064f1ce13b43000e675e7d555f718db8652bdc2d2640c0a4c1392f9038801c723bc1992ad98602a1b475f28640a00fd5ac73269737cbc1969607c SHA512 ad7a0222947e4afab7c572a95d026918eba08e6b1e81337875474fc79366897a1a9dc06f6533eb1768a273f3af26bb37cb2d0f29672bd3daa306e83d866ffb4f
+DIST firefox-59.0.2-lij.xpi 446606 BLAKE2B f22c014258fec844ddb803b4ecda2eef35e393b1763bc57e24dc28f31c0d8b8ad8122d596095cd21597693ff1b4edb48764d7176296eb7a61b88f7b100678905 SHA512 f61defb36376a55eceb3922bfec9732cb234f6876859ba33a5326efa5bfa3d9694ced77c115b4782ada4550ef6b7f4db736e3987844d047f6b79c854debbfb66
+DIST firefox-59.0.2-lt.xpi 475142 BLAKE2B 7b2ccfd219355ffa9137ce3415897b2063cb267c55bcdfcdfbf5e32ce7707a76419ac546bbee4bbdacdee4ad764cd20b3b4c3f8a95b3335cdf9a1ec23098bd2c SHA512 cc1d31c3867a35ec8ae6435e2d0eba6f62310eb443a2d369f6db5346f208411d2b27fcb6286f1e66f9c57300c33a238d206fdbd0943cf1da80a4daa596453b68
+DIST firefox-59.0.2-lv.xpi 463655 BLAKE2B 1a9176117694c8968a995d1fe32c85f121c9e7c2c2b14759726f93d62726c2c86e755188fff95cd2daf5483bfca35f84e21a505a981a4489487729c56705336d SHA512 a447d243605b5ce1aa86b6af3ee5a70ed7cf38792523b761f71dd79aef0f9ec45ecda07305162242502049d50289d4a9c7ad447fe1f391a0f101af7ece1bba2d
+DIST firefox-59.0.2-mai.xpi 499910 BLAKE2B e38284fca1125309138fda1cc9e4f78bef75adab7af229c3d78b4c3eb9b6fff68a1bb3c6dca86d674d694ec09031f3c46b516d6b3e77786880ebc7fa142aa3d2 SHA512 298110644eb099702f60a168e9d5a5c30ee0bf42544c2e328109b0656235fd3cdc31647cb66bc61dd1dd8b5f8adfbbd9ca4d96d5d8c4559435c5c383f9bd9d67
+DIST firefox-59.0.2-mk.xpi 484076 BLAKE2B 246b8bbbfa9a71a82e18a16dfee6f94309d2e4f5a04ca3a816d82bfeb93c835d37e7bb3a45a5ab1fd4f286fc1b6475f2e956d9eede1e810ca3c938dc08a3b00d SHA512 650a043cb809e547c155ee610f034aac5a15385793086d467f505450acf08d239bd2f784ab7a937549c27abdce3c991db8e5b345c1e9473a4cc25443f0d995e6
+DIST firefox-59.0.2-ml.xpi 539735 BLAKE2B 9aa68826ca17c57785002c50b7dfd927a99334c00e7a283a900aef0f0cda54729c372d9dd791e840e7b2af445d0903c850022db657bc6fbd4b5e7fa749a337bc SHA512 40ab25e495a3c062cce82bed84387e717abf4f67dd6acf0c02b1b93540a02567854979fb94c99c842f5dfe7ecaab58f4a2cdfee06021e78dc2be5b1b44abaeaf
+DIST firefox-59.0.2-mr.xpi 517961 BLAKE2B efed27c2fe0f64c825b7536287a48addc12ad9b266533bbf5993545e69113123d8c00f71de563907ba0525ecaa8ba12d11e57beb8a53f7a7d285189b6bed4ffe SHA512 b9252f8c9e51c5d559b0459e62c9c2931a4d79ac28203b935eebd4656670e495320ddfe47064263ffef12263fe057d05f292ac182a0a7a6fd708976617e9e3f1
+DIST firefox-59.0.2-ms.xpi 450075 BLAKE2B 3d90cbd0a8abb22ee0e129af926df2b9eecc7c8d33c7bcedcb221d5fc557791fcb4900ece0512218ceb76f338f335e7dc9ca05171ad674f7b5798f6bf566cfcd SHA512 bdc4a0ad2069bcb26da925035535f4d63db00516383315b7b39dd274f39092bf3dc6efecd1ea7c760cdcb0def6d3bec52db17534bb99b3d8bf0f7647a74cb2c4
+DIST firefox-59.0.2-nb-NO.xpi 450276 BLAKE2B 4bb46c7edd554cb9cc1ce057953b4d7ea0a03daaa8d74cf5843139b9b388b3b49c83bebe86b773e09a154b05b2cdef27b5540d4b2a8da6bcfdd999c8d29d5693 SHA512 73c8bf10a5092da89208f8ee0babf7d182d3004f8eca5620afd804c96fbe6aab6c93cab84eb3963512eebb477aadd7f904ec870ba1b71d1382c3b57e26df7a88
+DIST firefox-59.0.2-nl.xpi 458128 BLAKE2B 75aacc07e59235d99fe174a2095d9069573f1c3d6f13f1c6a539023846d011037dd1b4f744dad83d71b4b03ca689c6818321d451e15afa0d5a8ee005969af220 SHA512 38a4b6b658c2dac609b560427608f11f904dd6d62b1861e657c259b649dfde858bf8d779e7d649a5486368f9b78ad7394a5d062cf5cb6fee54f95655f155f1d8
+DIST firefox-59.0.2-nn-NO.xpi 451470 BLAKE2B 2d476cfeb33a9f9fb8423c007707daa4768c1e1bcd120c071fe47f8a2488a330c8773587cebfb6201333aac77491c14ce363537952c7295911fc5993a5c54876 SHA512 d0b6659d83a2500544bd75500e88d4d81af25257fe52a49ecdb9db6fbb376488554b4ae4926b264da2f5dad00b3c36b7b104a3d4816ac7c7c975496e3e9edcbb
+DIST firefox-59.0.2-or.xpi 493181 BLAKE2B 6c9cfbde3355f12a4cb609ab7a30f5b2b9f7aed9db18ff4074ab26a47235a76d3219a7a5a6f88b16c281930c1988452660171ced3aba9f3bcef1a0600f74e767 SHA512 10d0c6a89a83800ace414a8c8ec9695b84f83d10d8a7fc4fd7c23c2f875a54f3821272895760c8d96a35876b9b640b414e247fe60a2d9564f5bf5c4b7ec75f71
+DIST firefox-59.0.2-pa-IN.xpi 492420 BLAKE2B 3e894a6c9bbeded81373ece6cdc66bec06647d1b5e35966aa20e37eacf24cc693f084771607eba631344f9fc7277839055c2abf4091c239912c649846ab42fa4 SHA512 c9f4374f5bf6da3e3be324bc30c42f9861464a8d195172b89ecbdcdd5a4352bb850c28e5fd1c7dcbfc2c63d9feb3897aad9c37c34c1c88b3c3005ee76bd6c818
+DIST firefox-59.0.2-pl.xpi 358511 BLAKE2B a3a97d8a45a60af106445a26687ce4aca96f9bea4677231fc3b05bf05cca9b1c7f4f1b776dc1d443c07ee36584c38bb6331ae34c0667e738f169b02b6f230453 SHA512 0e8bd53544bfb451dffd0d5470031aa11adde9accec03e89301d2866882af1e6d86cc67006d665a77dfac750bb0cfe06a40fe71df63f89a1deb1572356692afc
+DIST firefox-59.0.2-pt-BR.xpi 455916 BLAKE2B 3aafe1a79ef41bccca16eb6ea25baef695ef7c7d174bedd1576af8b7b499af42fb252f720ca18c1bd4dc3b444d89ed81d6a3b758cc864f0c0606eac40ecbf752 SHA512 3ddc1836e133f6522d0f70fbceead2eba28b7ed24d203103bb97b02dd00235e64579d5f37549ec50bb0c5bf6359d8bd443130332325285e8aa144b785c893384
+DIST firefox-59.0.2-pt-PT.xpi 459331 BLAKE2B 9ff41802a16fd19687a564bde59ba8991bc90fe8e7598dd730b112e9c3bd780e694f8056f3a509e0101b65f7ee977f3021affd6e0227e76b55192272cfda63b2 SHA512 8434f6cfa340575d9735352e9e1f3a071ff4f959defd1725ad87875e2439494c0559eff3e81064dc20e9c22219e20635f554d1d7a793d76403abeea34c733367
+DIST firefox-59.0.2-rm.xpi 449757 BLAKE2B b72726b2ffd5fec1ae08342737e7e63bc158d3149fb86ea24798fc1f20311b8e53f2328cacfa6648c34455351bc4f9d61d9d8a712b958a1d5c67eb68f0eb78f8 SHA512 0e7c16742ea14a5d1f21b9d3bded39b2eacaa2ec14c2748513a603e1b9cabfc99e52beb2c1c0e4b84b9e576769e4b66e883cc34c30c58b1a9ace09bff135e42f
+DIST firefox-59.0.2-ro.xpi 453403 BLAKE2B f4bd281522ab10bdf143d6d9a87f5994fce4080e10c562d41f17c31c9f79d471fedb1bfa5a2481fed307c9467e6e678f0162e7f294b5e34582e47720bc877bdb SHA512 1f1ff770b8bb5ecc74e7b882d119a39f676b92586779d90851a49cbc02214351d43834eb7aa44c8c506e5b768a2a3d796e8180ba5d7ffda17850f579efa824be
+DIST firefox-59.0.2-ru.xpi 526523 BLAKE2B 52d747bafefec1992ef8b1598dcca9f229a2e22f34d4138465bb25eaf2f929dc5a8024a90b66bfa098aea19b395ebabd1395377104096b616b5e41258689ab13 SHA512 bdca13c3c810dac43b36038628aa23325367ded516600a079487d84ff498fe9de78cbf16a7ce38baaaaa1e3b7da52010e833dd4212a7c5748c2a54b7342065e6
+DIST firefox-59.0.2-si.xpi 492588 BLAKE2B 11cfbb89514ec122dfdb5f3991106c276561304bf24828987b7be461bb0d84644f863ffbf84148ffd9acbad7c9cd399cdc54857120240674e4e97886bf77b2ad SHA512 85710014b75f6be545d8a992ffba568ae3454e80d965f4d50ff40c34a9a3e9afa5bf6bef14615f9c6186dc262ba84f3929347495d009c062562bd17fbeef9a2e
+DIST firefox-59.0.2-sk.xpi 480813 BLAKE2B 557b3d9da7d979971e6807b77195d7ba2037bbb56bcb00c440f6cbd26417dfdb6247453dfb5edb9d70feffd43c3d022510bc0498bbfe1cab2df321a9514f4b6c SHA512 b90512c901b2689e2597ba8d9ddbf49937e4cd1a814974f9663c2747b9458a1d476cefc330f7acb849a61cd1a07c31072a61c300d874dce69a1a5fdfddf615f4
+DIST firefox-59.0.2-sl.xpi 458824 BLAKE2B a5c4de68f106e84b350a95b2f4928d684855417091b1ab4726c89b50c3dda05158db09aa0a698c8d9b22942bf67e7e4303287b1613eb57733285828564df1de4 SHA512 d038e261f43c07eaf9810971a4db78cd987ee1c70afb60b82177127c9968320c475694dae71ddbe79f2f48b0f7599b57d9cf50d4a4fca5fb08a52e1322db756f
+DIST firefox-59.0.2-son.xpi 446400 BLAKE2B c822e03383251344c511628fd527667230240e7431583bee73d9b427f9b4b43dc2411a5a435adbaa7513b34d86411bdf0cbd36725d086b1149d5241e4bb0a0cd SHA512 0f2d0737fd6d63ead738985ce73f5a81587af98cb01bc4fd12f80fd8a170ce2366248a016723f6b68b5797610f0939866eb5521bf5bb32a7e7f098296b21e06d
+DIST firefox-59.0.2-sq.xpi 464463 BLAKE2B 98d2a3e4165c14370e6bbf503aa915a117c896a29af95318f93bcbd3e495a4ec63c1f181fa8772bb1f3138d0572edcb7288ab5324497fb26e629b50051b293a5 SHA512 33ae9dc9429bd6e64a4999099a4c6113f58fc60c1f4fee48e0a08f3fe4332cdd00e53e4a1a159d1bdba97815f43cc0ce179c930748d5d901d1434dd9ccf5d829
+DIST firefox-59.0.2-sr.xpi 486178 BLAKE2B f3fc75579567f471351f3f6f4f846caa819c41cf43aa453953c7bddebd0c2a2d8d14a8dc1236ad3b3244d5e9fb6cfe04a6f899e453b27672581198bd74ae3f9e SHA512 2db89e3849266324a9192d895a987742f4c18a36feb277b117320c1947ee124813f10ec3e5ad3eb4e007798b344223bf3c449f51c29dc1003fa83bb1ef2460dd
+DIST firefox-59.0.2-sv-SE.xpi 458659 BLAKE2B f945982038eb16166cc3fe505a860c2c56454e10afb3357bf91a495841f079cbef05bb4f4e00058db8a6dec68296134b9608131e11e7b0147502e1b586b64f89 SHA512 23ea9e5b880888de6070ffabe985208a82f3b0feb67d37dd2f205aacca6d3826ff77ba846c1024cb5492f88cd7fd19f8d4c1dc5dec256130afd6b981a33868b0
+DIST firefox-59.0.2-ta.xpi 512843 BLAKE2B 4ef2e279f1b5aaa4a5b960c83c9ff2f26933fcd6d786fe6e298acbd76f8a7198bb5dc2c8a418ef172dbd40b8a6b0b44c3c06a79f9941e3e39720566e09c8fba6 SHA512 6dca4dc75d6a65f539284b3d68611daac69499072b90a7a8c4d266157209c7b45bdaa6c93446ed220ee6bdae4e4098f3efcf6e2f98ff470853c70f11bc1f957e
+DIST firefox-59.0.2-te.xpi 527083 BLAKE2B 34b4d885780abc192d564fb1b9d7c786bc277be4b54e76de7aee296334d389fbb9f7dd7719cc99bf9eefb0f5c61f4fae1814798cbf0e98fcd515124faf9bea81 SHA512 9f4969d1ef404d6cbb608efc9cf1f80503de98a63d7743b98e8e6074fc623dd3996292736380ec75ae1443c1757859a61cc70d710352e6f9cad89e0799281b9b
+DIST firefox-59.0.2-th.xpi 498544 BLAKE2B 8342535494262529667ec6ba85712fd1a38bce1acb1a11880b149c710f8839f52c23b80eaeac39efab139bfd63464b2317f541dec489ab7eaf5929a995e48f83 SHA512 5f21f1a94e8bc04e34c908455703112cb10ee675b9007816e6d20fd71dfd8c41cd84f9be934e7d354a142776cc073f0c49cf69e8fb886e424734d605a93810f1
+DIST firefox-59.0.2-tr.xpi 463593 BLAKE2B ead9374829b77dd6bd01ec955b69c128314e5adff252fc16db227684a501cb927755bbd1e614913a4651033976165b7fcf92ae10a71c9ea8c14c0633e9ad3b55 SHA512 3f783a14d994f7fc40eff729fcfb95c319444ecb732ae398611ebedbf61a9d996479e14d7ea16c9e30a88d17e80adce53bd3d7237672aded6a2d90769f54edf5
+DIST firefox-59.0.2-uk.xpi 516926 BLAKE2B e73c79d0df788b29b02e6854a5d558aacaba8318082415cd5d6fccd8ebd6bf790c5c2e881a9d6e38802718bdf2128d3099b28b226a8f3e0abe0a6d7260aa7b77 SHA512 58e029b9a6e817078c7adec8132c7ad826d0bd8b1f40250ddc97b66b19469a14deb218c79365972eafffc1dcdf0fe6780e6cd97ad6bb19c81a6b23ff0a13e778
+DIST firefox-59.0.2-uz.xpi 456923 BLAKE2B b15e77966e275ed41f8603b7233a7af4daaa47c5b333c7fe83359f9b90426cf2c2c625eff086c2f16a09d67784e62fa49ff6b8fbc7c5cca7699b46fbfa0bde32 SHA512 a6ee52136bbf77ec9070496eded7afeb51b3aa22cbaefee70cbfef654d31b2013286d070559339367e5dc6b3f68267ba797086dd8895681f6fa228138ce7e660
+DIST firefox-59.0.2-vi.xpi 470069 BLAKE2B 2cae66032ec68e04650cb4104de227b63ed7cf87bb311438c69ee88f861f2eecc43a74cf45c0fe2737deeb88033d3bfd9ffbc8ad329ebf01572adfd2aa322587 SHA512 79bd5fec8fa8078f1e0d9c99c2d5ecf33da0bb796cb5d8cc541dad04d858c536d8ede538ebc3e4627881a719c424a4639a6811452417ada874d7ea801bec219b
+DIST firefox-59.0.2-xh.xpi 460772 BLAKE2B 8a6553e77cc8b81c93609edb939b3d1687dd1efed003f61dc1facb7db1bfd16fddfe9674bd849c46d5279bb1c081ecd5ac07915845c8752b82c4a638939ca4aa SHA512 27d6a30b0392dcc3fa8c2824bdfdba3961fbe3b42aa7572b7221d93403b97ae9bf4fcd286df1c58b180065d40071322df90ff51a49f8302d4169c3b30dced30b
+DIST firefox-59.0.2-zh-CN.xpi 483449 BLAKE2B 72df7408dc83d1f602178f4999ed91c90a44aa4982f16f55d9ad10fad2b2202df841d5578cc2d040dc329c1ab699dbad692d91222dd28e2a45c6f7e2376f9688 SHA512 fe63057e06573a304912c72f492a27d181c3d0195fcf433bf52e3aac91494ba4690c28dcc1da16fc8d9e0d6afe31fe88927367d9af8eec0036507a4aed1b66bf
+DIST firefox-59.0.2-zh-TW.xpi 477089 BLAKE2B e6561776645e1328bc605c0a4081ac0f5c92e4911301d73fa1ae3905c0b28d12a76e857127acb901d0537f2e80a6b401fe82377d3b0887a34778c2db0cea0c90 SHA512 203de7d3bec29e3cd8af3d9eaf7df19b7334bfbde7b00bc260da6d47c22106d436b1eb6973e482525b9bd3cba808e2f093704d6aee276c340900c6fed64ce57d
+DIST firefox-59.0.2.source.tar.bz2 304965099 BLAKE2B cf1657db483a8a20fa41a53edd2ca8b8692d56534f03bae4cdfdf3f6fc3a0ae9da2b3ccdaf6024bc868ab3ee943cfec7758a551a37834d70e661aee4196c87ad SHA512 db8f55954df3af554e7a614eaece4aed995794dac6e2d828b2f9c175d8a6b89e109c26ced41a43df9ad24e01d079cadf13d16c6a9bdd1887bc9898d34408e8e6

diff --git a/www-client/firefox/files/gentoo-default-prefs.js-2 b/www-client/firefox/files/gentoo-default-prefs.js-2
new file mode 100644
index 00000000000..ffd0d7dc8ee
--- /dev/null
+++ b/www-client/firefox/files/gentoo-default-prefs.js-2
@@ -0,0 +1,17 @@
+pref("app.update.enabled",                 false);
+pref("app.update.autoInstallEnabled",      false);
+pref("browser.display.use_system_colors",  true);
+pref("browser.link.open_external",         3);
+pref("general.smoothScroll",               true);
+pref("general.autoScroll",                 false);
+pref("browser.tabs.tabMinWidth",           15);
+pref("browser.backspace_action",           0);
+pref("browser.urlbar.hideGoButton",        true);
+pref("accessibility.typeaheadfind",        true);
+pref("browser.shell.checkDefaultBrowser",  false); 
+pref("browser.EULA.override",              true); 
+pref("general.useragent.vendor",           "Gentoo");
+pref("general.useragent.locale",           "chrome://global/locale/intl.properties");
+pref("intl.locale.requested",              "");
+pref("extensions.autoDisableScopes",       0);
+pref("layout.css.dpi",                     0);

diff --git a/www-client/firefox/firefox-59.0.2.ebuild b/www-client/firefox/firefox-59.0.2.ebuild
new file mode 100644
index 00000000000..545e1ab0204
--- /dev/null
+++ b/www-client/firefox/firefox-59.0.2.ebuild
@@ -0,0 +1,370 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+VIRTUALX_REQUIRED="pgo"
+WANT_AUTOCONF="2.1"
+MOZ_ESR=""
+
+# This list can be updated with scripts/get_langs.sh from the mozilla overlay
+MOZ_LANGS=( ach af an ar as ast az bg bn-BD bn-IN br bs ca cak cs cy da de dsb
+el en en-GB en-US en-ZA 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 id is it ja ka kab kk km kn ko lij lt lv
+mai mk ml mr ms nb-NO nl nn-NO or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq
+sr sv-SE ta te th tr uk uz vi xh zh-CN zh-TW )
+
+# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
+MOZ_PV="${PV/_alpha/a}" # Handle alpha for SRC_URI
+MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+MOZ_PV="${MOZ_PV/_rc/rc}" # Handle rc for SRC_URI
+
+if [[ ${MOZ_ESR} == 1 ]]; then
+	# ESR releases have slightly different version numbers
+	MOZ_PV="${MOZ_PV}esr"
+fi
+
+# Patch version
+PATCH="${PN}-59.0-patches-01"
+MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases"
+
+MOZCONFIG_OPTIONAL_WIFI=1
+
+inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils mozconfig-v6.58 \
+		pax-utils xdg-utils autotools mozlinguas-v2
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="http://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~x86"
+
+SLOT="0"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="bindist eme-free +gmp-autoupdate hardened hwaccel jack +screenshot selinux test"
+RESTRICT="!bindist? ( bindist )"
+
+SRCHASH=239e434d6d2b8e1e2b697c3416d1e96d48fe98e5
+SDIR="release"
+[[ ${PV} = *_beta* ]] && SDIR="beta"
+
+PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c}/mozilla/patchsets/${PATCH}.tar.xz )
+SRC_URI="${SRC_URI}
+	https://hg.mozilla.org/releases/mozilla-${SDIR}/archive/${SRCHASH}.tar.bz2 -> firefox-${MOZ_PV}.source.tar.bz2
+	${PATCH_URIS[@]}"
+
+ASM_DEPEND=">=dev-lang/yasm-1.1"
+
+RDEPEND="
+	system-icu? ( >=dev-libs/icu-60.2 )
+	jack? ( virtual/jack )
+	>=dev-libs/nss-3.35
+	>=dev-libs/nspr-4.18
+	selinux? ( sec-policy/selinux-mozilla )"
+
+DEPEND="${RDEPEND}
+	>=sys-devel/llvm-4.0.1
+	>=sys-devel/clang-4.0.1
+	amd64? ( ${ASM_DEPEND} virtual/opengl )
+	x86? ( ${ASM_DEPEND} virtual/opengl )"
+
+S="${WORKDIR}"/mozilla-${SDIR}-${SRCHASH}
+
+QA_PRESTRIPPED="usr/lib*/${PN}/firefox"
+
+BUILD_OBJ_DIR="${S}/ff"
+
+# allow GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z $GMP_PLUGIN_LIST ]]; then
+	GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+pkg_setup() {
+	moz_pkgsetup
+
+	# 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 \
+		XDG_SESSION_COOKIE \
+		XAUTHORITY
+
+	if ! use bindist; then
+		einfo
+		elog "You are enabling official branding. You may not redistribute this build"
+		elog "to any users on your network or the internet. Doing so puts yourself into"
+		elog "a legal problem with Mozilla Foundation"
+		elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"
+	fi
+
+	addpredict /proc/self/oom_score_adj
+}
+
+pkg_pretend() {
+	# Ensure we have enough disk space to compile
+	CHECKREQS_DISK_BUILD="4G"
+
+	check-reqs_pkg_setup
+}
+
+src_unpack() {
+	unpack ${A}
+
+	# Unpack language packs
+	mozlinguas_src_unpack
+}
+
+src_prepare() {
+	eapply "${WORKDIR}/firefox"
+
+	# Enable gnomebreakpad
+	if use debug ; then
+		sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
+			"${S}"/build/unix/run-mozilla.sh || die "sed failed!"
+	fi
+
+	# Drop -Wl,--as-needed related manipulation for ia64 as it causes ld sefgaults, bug #582432
+	if use ia64 ; then
+		sed -i \
+		-e '/^OS_LIBS += no_as_needed/d' \
+		-e '/^OS_LIBS += as_needed/d' \
+		"${S}"/widget/gtk/mozgtk/gtk2/moz.build \
+		"${S}"/widget/gtk/mozgtk/gtk3/moz.build \
+		|| die "sed failed to drop --as-needed for ia64"
+	fi
+
+	# Ensure that our plugins dir is enabled as default
+	sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
+		"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
+	sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
+		"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
+
+	# Fix sandbox violations during make clean, bug 372817
+	sed -e "s:\(/no-such-file\):${T}\1:g" \
+		-i "${S}"/config/rules.mk \
+		-i "${S}"/nsprpub/configure{.in,} \
+		|| die
+
+	# Don't exit with error when some libs are missing which we have in
+	# system.
+	sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
+		-i "${S}"/browser/installer/Makefile.in || die
+
+	# Don't error out when there's no files to be removed:
+	sed 's@\(xargs rm\)$@\1 -f@' \
+		-i "${S}"/toolkit/mozapps/installer/packager.mk || die
+
+	# Keep codebase the same even if not using official branding
+	sed '/^MOZ_DEV_EDITION=1/d' \
+		-i "${S}"/browser/branding/aurora/configure.sh || die
+
+	# Allow user to apply any additional patches without modifing ebuild
+	eapply_user
+
+	# Autotools configure is now called old-configure.in
+	# This works because there is still a configure.in that happens to be for the
+	# shell wrapper configure script
+	eautoreconf old-configure.in
+
+	# Must run autoconf in js/src
+	cd "${S}"/js/src || die
+	eautoconf old-configure.in
+}
+
+src_configure() {
+	MEXTENSIONS="default"
+	# 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.
+	_google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
+
+	####################################
+	#
+	# mozconfig, CFLAGS and CXXFLAGS setup
+	#
+	####################################
+
+	mozconfig_init
+	mozconfig_config
+
+	# enable JACK, bug 600002
+	mozconfig_use_enable jack
+
+	# Enable/Disable eme support
+	mozconfig_use_enable eme-free eme
+
+	# It doesn't compile on alpha without this LDFLAGS
+	use alpha && append-ldflags "-Wl,--no-relax"
+
+	# Add full relro support for hardened
+	if use hardened; then
+		append-ldflags "-Wl,-z,relro,-z,now"
+		mozconfig_use_enable hardened hardening
+	fi
+
+	# Only available on mozilla-overlay for experimentation -- Removed in Gentoo repo per bug 571180
+	#use egl && mozconfig_annotate 'Enable EGL as GL provider' --with-gl-provider=EGL
+
+	# Setup api key for location services
+	echo -n "${_google_api_key}" > "${S}"/google-api-key
+	mozconfig_annotate '' --with-google-api-keyfile="${S}/google-api-key"
+
+	mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
+
+	echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
+	echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
+
+	# Default mozilla_five_home no longer valid option
+	sed '/with-default-mozilla-five-home=/d' -i "${S}"/.mozconfig
+
+	# Finalize and report settings
+	mozconfig_final
+
+	# workaround for funky/broken upstream configure...
+	SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
+	./mach configure || die
+}
+
+src_compile() {
+	MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
+	./mach build || die
+}
+
+src_install() {
+	cd "${BUILD_OBJ_DIR}" || die
+
+	# Pax mark xpcshell for hardened support, only used for startupcache creation.
+	pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
+
+	# Add our default prefs for firefox
+	cp "${FILESDIR}"/gentoo-default-prefs.js-2 \
+		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+		|| die
+
+	mozconfig_install_prefs \
+		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js"
+
+	# Augment this with hwaccel prefs
+	if use hwaccel ; then
+		cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-1 >> \
+		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+		|| die
+	fi
+
+	if ! use screenshot; then
+		echo "pref(\"extensions.screenshots.disabled\", true);" >> \
+			"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+			|| die
+	fi
+
+	echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
+		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+		|| die
+
+	local plugin
+	use gmp-autoupdate || use eme-free || for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
+		echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
+			"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+			|| die
+	done
+
+	cd "${S}"
+	MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
+	DESTDIR="${D}" ./mach install
+
+	# Install language packs
+	mozlinguas_src_install
+
+	local size sizes icon_path icon name
+	if use bindist; then
+		sizes="16 32 48"
+		icon_path="${S}/browser/branding/aurora"
+		# Firefox's new rapid release cycle means no more codenames
+		# Let's just stick with this one...
+		icon="aurora"
+		name="Aurora"
+
+		# Override preferences to set the MOZ_DEV_EDITION defaults, since we
+		# don't define MOZ_DEV_EDITION to avoid profile debaucles.
+		# (source: browser/app/profile/firefox.js)
+		cat >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" <<PROFILE_EOF
+pref("app.feedback.baseURL", "https://input.mozilla.org/%LOCALE%/feedback/firefoxdev/%VERSION%/");
+sticky_pref("lightweightThemes.selectedThemeID", "firefox-devedition@mozilla.org");
+sticky_pref("browser.devedition.theme.enabled", true);
+sticky_pref("devtools.theme", "dark");
+PROFILE_EOF
+
+	else
+		sizes="16 22 24 32 48 64 128 256"
+		icon_path="${S}/browser/branding/official"
+		icon="${PN}"
+		name="Mozilla Firefox"
+	fi
+
+	# Install icons and .desktop for menu entry
+	for size in ${sizes}; do
+		insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
+		newins "${icon_path}/default${size}.png" "${icon}.png"
+	done
+	# Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
+	newicon "${icon_path}/default48.png" "${icon}.png"
+	newmenu "${FILESDIR}/icon/${PN}.desktop" "${PN}.desktop"
+	sed -i -e "s:@NAME@:${name}:" -e "s:@ICON@:${icon}:" \
+		"${ED}/usr/share/applications/${PN}.desktop" || die
+
+	# Add StartupNotify=true bug 237317
+	if use startup-notification ; then
+		echo "StartupNotify=true"\
+			 >> "${ED}/usr/share/applications/${PN}.desktop" \
+			|| die
+	fi
+
+	# Required in order to use plugins and even run firefox on hardened.
+	pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/{firefox,firefox-bin,plugin-container}
+}
+
+pkg_preinst() {
+	gnome2_icon_savelist
+
+	# if the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+	# doesn't need to be forced into the LD_LIBRARY_PATH
+	if use pulseaudio && has_version ">=media-sound/apulse-0.1.9" ; 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() {
+	# Update mimedb for the new .desktop file
+	xdg_desktop_database_update
+	gnome2_icon_cache_update
+
+	if ! use gmp-autoupdate && ! use eme-free ; then
+		elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+		elog "installing into new profiles:"
+		local plugin
+		for plugin in "${GMP_PLUGIN_LIST[@]}"; do elog "\t ${plugin}" ; done
+		elog
+	fi
+
+	if use pulseaudio && has_version ">=media-sound/apulse-0.1.9"; 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
+}
+
+pkg_postrm() {
+	gnome2_icon_cache_update
+}


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2018-07-08 22:03 Jory Pratt
  0 siblings, 0 replies; 25+ messages in thread
From: Jory Pratt @ 2018-07-08 22:03 UTC (permalink / raw
  To: gentoo-commits

commit:     290085ddf5cee5ebe06c91cc5db29a7e62dd2d5a
Author:     Jory A. Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Sun Jul  8 22:03:03 2018 +0000
Commit:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Sun Jul  8 22:03:41 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=290085dd

www-client/firefox: Fix mozHunspell, bug #660726

Package-Manager: Portage-2.3.41, Repoman-2.3.9

 .../firefox/files/firefox-61.0-mozHunspell.patch   | 25 ++++++++++++++++++++++
 www-client/firefox/firefox-61.0-r1.ebuild          |  1 +
 2 files changed, 26 insertions(+)

diff --git a/www-client/firefox/files/firefox-61.0-mozHunspell.patch b/www-client/firefox/files/firefox-61.0-mozHunspell.patch
new file mode 100644
index 00000000000..2002bd1da50
--- /dev/null
+++ b/www-client/firefox/files/firefox-61.0-mozHunspell.patch
@@ -0,0 +1,25 @@
+From 5bdc1dc7a4541338b13096ae52627ceecd0cca9e Mon Sep 17 00:00:00 2001
+From: nvinson234@gmail.com
+Date: Sun, 8 Jul 2018 16:52:04 -0500
+Subject: [PATCH] Add missing include of nsCOMPtr.h, bug #660726
+
+Signed-off-by: nvinson234@gmail.com
+---
+ extensions/spellcheck/hunspell/glue/mozHunspellFileMgr.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/extensions/spellcheck/hunspell/glue/mozHunspellFileMgr.h b/extensions/spellcheck/hunspell/glue/mozHunspellFileMgr.h
+index dc33fdfb3..415e00973 100644
+--- a/extensions/spellcheck/hunspell/glue/mozHunspellFileMgr.h
++++ b/extensions/spellcheck/hunspell/glue/mozHunspellFileMgr.h
+@@ -13,6 +13,7 @@
+ #include "mozilla/ResultExtensions.h"
+ #include "nsIInputStream.h"
+ #include "nsReadLine.h"
++#include "nsCOMPtr.h"
+ 
+ // Note: This class name and lack of namespacing terrible, but are necessary
+ // for Hunspell compatibility.
+-- 
+2.18.0
+

diff --git a/www-client/firefox/firefox-61.0-r1.ebuild b/www-client/firefox/firefox-61.0-r1.ebuild
index bdcf985eb99..fc312e57d18 100644
--- a/www-client/firefox/firefox-61.0-r1.ebuild
+++ b/www-client/firefox/firefox-61.0-r1.ebuild
@@ -125,6 +125,7 @@ src_prepare() {
 	eapply "${WORKDIR}/firefox"
 
 	eapply "${FILESDIR}/bug_1461221.patch"
+	eapply "${FILESDIR}/${PN}-61.0-mozHunspell.patch"
 
 	# Enable gnomebreakpad
 	if use debug ; then


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2018-09-23  1:31 Thomas Deutschmann
  0 siblings, 0 replies; 25+ messages in thread
From: Thomas Deutschmann @ 2018-09-23  1:31 UTC (permalink / raw
  To: gentoo-commits

commit:     59c9e92b639712d4c37ece540582db83afdc8608
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 23 00:51:42 2018 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun Sep 23 01:30:35 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59c9e92b

www-client/firefox: add explicit Clang and LTO support

- Set USE=lto to enable Link Time Optimization (LTO). It works with
  either GCC or Clang.

- When you want to use Clang to build Firefox you now have to set
  USE=clang. If not set, GCC will be used.

- Using Clang will require lld linker provided by sys-devel/lld.

Closes: https://bugs.gentoo.org/666580
Closes: https://bugs.gentoo.org/663846
Package-Manager: Portage-2.3.49, Repoman-2.3.10
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 .../files/firefox-60.0-do-not-force-lld.patch      | 262 +++++++++++++++++++++
 .../firefox/files/firefox-60.0-sandbox-lto.patch   |  13 +
 www-client/firefox/firefox-62.0.2.ebuild           |  53 ++++-
 www-client/firefox/metadata.xml                    |   3 +
 4 files changed, 323 insertions(+), 8 deletions(-)

diff --git a/www-client/firefox/files/firefox-60.0-do-not-force-lld.patch b/www-client/firefox/files/firefox-60.0-do-not-force-lld.patch
new file mode 100644
index 00000000000..a8325bc745b
--- /dev/null
+++ b/www-client/firefox/files/firefox-60.0-do-not-force-lld.patch
@@ -0,0 +1,262 @@
+https://hg.mozilla.org/mozilla-central/rev/e8c173a632a4
+https://hg.mozilla.org/mozilla-central/rev/dbeb248015cc
+https://hg.mozilla.org/mozilla-central/rev/de7abe2c2b3e
+
+--- a/build/moz.configure/toolchain.configure
++++ b/build/moz.configure/toolchain.configure
+@@ -1331,10 +1331,6 @@ def lto(value, c_compiler):
+ 
+     # clang and clang-cl
+     if c_compiler.type in ('clang', 'clang-cl'):
+-        # Until Bug 1457168 is fixed, we have to hardcode -fuse-ld=lld here
+-        if c_compiler.type == 'clang':
+-            flags.append("-fuse-ld=lld")
+-
+         if len(value) and value[0].lower() == 'full':
+             flags.append("-flto")
+             ldflags.append("-flto")
+@@ -1362,8 +1358,6 @@ add_old_configure_assignment('MOZ_LTO', lto.enabled)
+ add_old_configure_assignment('MOZ_LTO_CFLAGS', lto.flags)
+ add_old_configure_assignment('MOZ_LTO_LDFLAGS', lto.ldflags)
+ 
+-imply_option('--enable-linker', 'lld', when='--enable-lto')
+-
+ # ASAN
+ # ==============================================================
+ 
+@@ -1566,7 +1560,7 @@ set_config('CARGO_INCREMENTAL', cargo_incremental)
+ 
+ @depends(target)
+ def is_linker_option_enabled(target):
+-    if target.kernel not in ('Darwin', 'WINNT', 'SunOS'):
++    if target.kernel not in ('WINNT', 'SunOS'):
+         return True
+ 
+ 
+@@ -1578,21 +1572,40 @@ option('--enable-gold',
+ imply_option('--enable-linker', 'gold', when='--enable-gold')
+ 
+ js_option('--enable-linker', nargs=1,
+-          help='Select the linker {bfd, gold, lld, lld-*}',
++          help='Select the linker {bfd, gold, ld64, lld, lld-*}',
+           when=is_linker_option_enabled)
+ 
+ 
+ @depends('--enable-linker', c_compiler, developer_options, '--enable-gold',
+-         extra_toolchain_flags, when=is_linker_option_enabled)
++         extra_toolchain_flags, target, lto.enabled,
++         when=is_linker_option_enabled)
+ @checking('for linker', lambda x: x.KIND)
+ @imports('os')
+ @imports('shutil')
+ def select_linker(linker, c_compiler, developer_options, enable_gold,
+-                  toolchain_flags):
+-
+-    linker = linker[0] if linker else None
++                  toolchain_flags, target, lto):
++
++    if linker:
++        linker = linker[0]
++    elif lto and c_compiler.type == 'clang' and target.kernel != 'Darwin':
++        # If no linker was explicitly given, and building with clang for non-macOS,
++        # prefer lld. For macOS, we prefer ld64, or whatever the default linker is.
++        linker = 'lld'
++    else:
++        linker = None
+ 
+-    if linker not in ('bfd', 'gold', 'lld', None) and not linker.startswith("lld-"):
++    def is_valid_linker(linker):
++        if target.kernel == 'Darwin':
++            valid_linkers = ('ld64', 'lld')
++        else:
++            valid_linkers = ('bfd', 'gold', 'lld')
++        if linker in valid_linkers:
++            return True
++        if 'lld' in valid_linkers and linker.startswith('lld-'):
++            return True
++        return False
++
++    if linker and not is_valid_linker(linker):
+         # Check that we are trying to use a supported linker
+         die('Unsupported linker ' + linker)
+ 
+@@ -1602,13 +1615,34 @@ def select_linker(linker, c_compiler, developer_options, enable_gold,
+ 
+     def try_linker(linker):
+         # Generate the compiler flag
+-        linker_flag = ["-fuse-ld=" + linker] if linker else []
++        if linker == 'ld64':
++            linker_flag = ['-fuse-ld=ld']
++        elif linker:
++            linker_flag = ["-fuse-ld=" + linker]
++        else:
++            linker_flag = []
+         cmd = cmd_base + linker_flag + version_check
+         if toolchain_flags:
+             cmd += toolchain_flags
+ 
+-        cmd_output = check_cmd_output(*cmd).decode('utf-8')
+-        if 'GNU ld' in cmd_output:
++        # ld64 doesn't have anything to print out a version. It does print out
++        # "ld64: For information on command line options please use 'man ld'."
++        # but that would require doing two attempts, one with --version, that
++        # would fail, and another with --help.
++        # Instead, abuse its LD_PRINT_OPTIONS feature to detect a message
++        # specific to it on stderr when it fails to process --version.
++        env = dict(os.environ)
++        env['LD_PRINT_OPTIONS'] = '1'
++        retcode, stdout, stderr = get_cmd_output(*cmd, env=env)
++        cmd_output = stdout.decode('utf-8')
++        stderr = stderr.decode('utf-8')
++        if retcode == 1 and 'Logging ld64 options' in stderr:
++            kind = 'ld64'
++
++        elif retcode != 0:
++            return None
++
++        elif 'GNU ld' in cmd_output:
+             # We are using the normal linker
+             kind = 'bfd'
+ 
+@@ -1627,13 +1661,21 @@ def select_linker(linker, c_compiler, developer_options, enable_gold,
+         )
+ 
+     result = try_linker(linker)
++    if result is None:
++        if linker:
++            die("Could not use {} as linker".format(linker))
++        die("Failed to find a linker")
+ 
+     if (linker is None and enable_gold.origin == 'default' and
+             developer_options and result.KIND == 'bfd'):
+-        gold = try_linker('gold')
+-
+-        if gold.KIND == 'gold':
+-            result = gold
++        # try and use lld if available.
++        tried = try_linker('lld')
++        if tried is None or tried.KIND != 'lld':
++            tried = try_linker('gold')
++            if tried is None or tried.KIND != 'gold':
++                tried = None
++        if tried:
++            result = tried
+ 
+     # If an explicit linker was given, error out if what we found is different.
+     if linker and not linker.startswith(result.KIND):
+@@ -1644,7 +1686,7 @@ def select_linker(linker, c_compiler, developer_options, enable_gold,
+ 
+ set_config('LD_IS_BFD', depends(select_linker.KIND)
+            (lambda x: x == 'bfd' or None))
+-set_config('LINKER_LDFLAGS', select_linker.LINKER_FLAG)
++add_old_configure_assignment('LINKER_LDFLAGS', select_linker.LINKER_FLAG)
+ 
+ 
+ js_option('--enable-clang-plugin', env='ENABLE_CLANG_PLUGIN',
+--- a/build/moz.configure/util.configure
++++ b/build/moz.configure/util.configure
+@@ -19,20 +19,13 @@ def configure_error(message):
+     their inputs from moz.configure usage.'''
+     raise ConfigureError(message)
+ 
+-# A wrapper to obtain a process' output that returns the output generated
+-# by running the given command if it exits normally, and streams that
+-# output to log.debug and calls die or the given error callback if it
+-# does not.
+-
+ 
++# A wrapper to obtain a process' output and return code.
++# Returns a tuple (retcode, stdout, stderr).
+ @imports(_from='__builtin__', _import='unicode')
+ @imports('subprocess')
+-@imports('sys')
+-@imports(_from='mozbuild.configure.util', _import='LineIO')
+ @imports(_from='mozbuild.shellutil', _import='quote')
+-def check_cmd_output(*args, **kwargs):
+-    onerror = kwargs.pop('onerror', None)
+-
++def get_cmd_output(*args, **kwargs):
+     # subprocess on older Pythons can't handle unicode keys or values in
+     # environment dicts. Normalize automagically so callers don't have to
+     # deal with this.
+@@ -49,12 +42,24 @@ def check_cmd_output(*args, **kwargs):
+ 
+         kwargs['env'] = normalized_env
+ 
++    log.debug('Executing: `%s`', quote(*args))
++    proc = subprocess.Popen(args, stdout=subprocess.PIPE,
++                            stderr=subprocess.PIPE, **kwargs)
++    stdout, stderr = proc.communicate()
++    return proc.wait(), stdout, stderr
++
++
++# A wrapper to obtain a process' output that returns the output generated
++# by running the given command if it exits normally, and streams that
++# output to log.debug and calls die or the given error callback if it
++# does not.
++@imports(_from='mozbuild.configure.util', _import='LineIO')
++@imports(_from='mozbuild.shellutil', _import='quote')
++def check_cmd_output(*args, **kwargs):
++    onerror = kwargs.pop('onerror', None)
++
+     with log.queue_debug():
+-        log.debug('Executing: `%s`', quote(*args))
+-        proc = subprocess.Popen(args, stdout=subprocess.PIPE,
+-                                stderr=subprocess.PIPE, **kwargs)
+-        stdout, stderr = proc.communicate()
+-        retcode = proc.wait()
++        retcode, stdout, stderr = get_cmd_output(*args, **kwargs)
+         if retcode == 0:
+             return stdout
+ 
+--- a/js/src/old-configure.in
++++ b/js/src/old-configure.in
+@@ -63,6 +63,8 @@ dnl ========================================================
+ USE_PTHREADS=
+ _PTHREAD_LDFLAGS=""
+ 
++LDFLAGS="$LDFLAGS $LINKER_LDFLAGS"
++
+ MOZ_DEFAULT_COMPILER
+ 
+ if test -z "$JS_STANDALONE"; then
+--- a/old-configure.in
++++ b/old-configure.in
+@@ -78,6 +78,8 @@ dnl ========================================================
+ MOZ_USE_PTHREADS=
+ _PTHREAD_LDFLAGS=""
+ 
++LDFLAGS="$LDFLAGS $LINKER_LDFLAGS"
++
+ MOZ_DEFAULT_COMPILER
+ 
+ if test "$COMPILE_ENVIRONMENT"; then
+--- a/python/mozbuild/mozbuild/frontend/context.py
++++ b/python/mozbuild/mozbuild/frontend/context.py
+@@ -384,8 +384,6 @@ class LinkFlags(BaseCompileFlags):
+ 
+         self.flag_variables = (
+             ('OS', self._os_ldflags(), ('LDFLAGS',)),
+-            ('LINKER', context.config.substs.get('LINKER_LDFLAGS'),
+-             ('LDFLAGS',)),
+             ('DEFFILE', None, ('LDFLAGS',)),
+             ('MOZBUILD', None, ('LDFLAGS',)),
+             ('FIX_LINK_PATHS', context.config.substs.get('MOZ_FIX_LINK_PATHS'),
+--- a/python/mozbuild/mozbuild/test/frontend/test_emitter.py
++++ b/python/mozbuild/mozbuild/test/frontend/test_emitter.py
+@@ -242,7 +242,6 @@ class TestEmitterBasic(unittest.TestCase):
+     def test_link_flags(self):
+         reader = self.reader('link-flags', extra_substs={
+             'OS_LDFLAGS': ['-Wl,rpath-link=/usr/lib'],
+-            'LINKER_LDFLAGS': ['-fuse-ld=gold'],
+             'MOZ_OPTIMIZE': '',
+             'MOZ_OPTIMIZE_LDFLAGS': ['-Wl,-dead_strip'],
+             'MOZ_DEBUG_LDFLAGS': ['-framework ExceptionHandling'],
+@@ -250,7 +249,6 @@ class TestEmitterBasic(unittest.TestCase):
+         sources, ldflags, lib, compile_flags = self.read_topsrcdir(reader)
+         self.assertIsInstance(ldflags, ComputedFlags)
+         self.assertEqual(ldflags.flags['OS'], reader.config.substs['OS_LDFLAGS'])
+-        self.assertEqual(ldflags.flags['LINKER'], reader.config.substs['LINKER_LDFLAGS'])
+         self.assertEqual(ldflags.flags['MOZBUILD'], ['-Wl,-U_foo', '-framework Foo', '-x'])
+         self.assertEqual(ldflags.flags['OPTIMIZE'], [])
+ 

diff --git a/www-client/firefox/files/firefox-60.0-sandbox-lto.patch b/www-client/firefox/files/firefox-60.0-sandbox-lto.patch
new file mode 100644
index 00000000000..990cb4fbee7
--- /dev/null
+++ b/www-client/firefox/files/firefox-60.0-sandbox-lto.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/666580
+
+--- a/security/sandbox/linux/moz.build
++++ b/security/sandbox/linux/moz.build
+@@ -101,7 +101,7 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
+ # forcing there to be only one partition.
+ for f in CONFIG['OS_CXXFLAGS']:
+     if f.startswith('-flto') and CONFIG['CC_TYPE'] != 'clang':
+-        LDFLAGS += ['--param lto-partitions=1']
++        LDFLAGS += ['--param=lto-partitions=1']
+ 
+ DEFINES['NS_NO_XPCOM'] = True
+ DisableStlWrapping()

diff --git a/www-client/firefox/firefox-62.0.2.ebuild b/www-client/firefox/firefox-62.0.2.ebuild
index 7e8629aee9c..fa0ad02bc27 100644
--- a/www-client/firefox/firefox-62.0.2.ebuild
+++ b/www-client/firefox/firefox-62.0.2.ebuild
@@ -40,7 +40,7 @@ KEYWORDS="~amd64 ~x86"
 
 SLOT="0"
 LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-IUSE="bindist dbus debug eme-free +gmp-autoupdate hardened hwaccel jack neon
+IUSE="bindist clang dbus debug eme-free +gmp-autoupdate hardened hwaccel jack lto neon
 	pulseaudio +screenshot selinux startup-notification system-harfbuzz system-icu
 	system-jpeg system-libevent system-sqlite system-libvpx test wifi"
 RESTRICT="!bindist? ( bindist )"
@@ -103,8 +103,13 @@ RDEPEND="${CDEPEND}
 DEPEND="${CDEPEND}
 	app-arch/zip
 	app-arch/unzip
-	>=sys-devel/binutils-2.16.1
+	>=sys-devel/binutils-2.30
 	sys-apps/findutils
+	>=sys-devel/llvm-4.0.1
+	>=sys-devel/clang-4.0.1
+	clang? (
+		>=sys-devel/lld-4.0.1
+	)
 	pulseaudio? ( media-sound/pulseaudio )
 	elibc_glibc? (
 		virtual/cargo
@@ -114,8 +119,6 @@ DEPEND="${CDEPEND}
 		virtual/cargo
 		virtual/rust
 	)
-	>=sys-devel/llvm-4.0.1
-	>=sys-devel/clang-4.0.1
 	amd64? ( >=dev-lang/yasm-1.1 virtual/opengl )
 	x86? ( >=dev-lang/yasm-1.1 virtual/opengl )"
 
@@ -180,6 +183,8 @@ src_prepare() {
 	eapply "${WORKDIR}/firefox"
 
 	eapply "${FILESDIR}"/${PN}-60.0-blessings-TERM.patch # 654316
+	eapply "${FILESDIR}"/${PN}-60.0-do-not-force-lld.patch
+	eapply "${FILESDIR}"/${PN}-60.0-sandbox-lto.patch # 666580
 
 	# Enable gnomebreakpad
 	if use debug ; then
@@ -242,6 +247,20 @@ src_configure() {
 	# get your own set of keys.
 	_google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
 
+	if use clang && ! tc-is-clang ; then
+		# Force clang
+		einfo "Enforcing the use of clang due to USE=clang ..."
+		CC=${CHOST}-clang
+		CXX=${CHOST}-clang++
+		strip-unsupported-flags
+	elif ! use clang && ! tc-is-gcc ; then
+		# Force gcc
+		einfo "Enforcing the use of gcc due to USE=-clang ..."
+		CC=${CHOST}-gcc
+		CXX=${CHOST}-gcc++
+		strip-unsupported-flags
+	fi
+
 	####################################
 	#
 	# mozconfig, CFLAGS and CXXFLAGS setup
@@ -260,11 +279,29 @@ src_configure() {
 	# Must pass release in order to properly select linker
 	mozconfig_annotate 'Enable by Gentoo' --enable-release
 
-	# Must pass --enable-gold if using ld.gold
-	if tc-ld-is-gold ; then
-		mozconfig_annotate 'tc-ld-is-gold=true' --enable-gold
+	# Don't let user's LTO flags clash with upstream's flags
+	filter-flags -flto*
+
+	if use lto ; then
+		if use clang ; then
+			# Upstream only supports lld when using clang
+			mozconfig_annotate "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+		else
+			# Linking only works when using ld.gold when LTO is enabled
+			mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold
+		fi
+
+		mozconfig_annotate '+lto' --enable-lto=full
 	else
-		mozconfig_annotate 'tc-ld-is-gold=false' --disable-gold
+		# Avoid auto-magic on linker
+		if use clang ; then
+			# This is upstream's default
+			mozconfig_annotate "forcing ld=lld due to USE=clang" --enable-linker=lld
+		elif tc-ld-is-gold ; then
+			mozconfig_annotate "linker is set to gold" --enable-linker=gold
+		else
+			mozconfig_annotate "linker is set to bfd" --enable-linker=bfd
+		fi
 	fi
 
 	# It doesn't compile on alpha without this LDFLAGS

diff --git a/www-client/firefox/metadata.xml b/www-client/firefox/metadata.xml
index b0018ba7325..35cdb0ef1ea 100644
--- a/www-client/firefox/metadata.xml
+++ b/www-client/firefox/metadata.xml
@@ -8,6 +8,7 @@
 <use>
 	<flag name="bindist">Disable official Firefox branding (icons, name) which 
 		are not binary-redistributable according to upstream.</flag>
+	<flag name="clang">Use Clang compiler instead of GCC</flag>
 	<flag name="custom-optimization">Build with user-specified compiler optimizations
 		(-Os, -O0, -O1, -O2, -O3) from CFLAGS (unsupported)</flag>
 	<flag name="eme-free">Disable EME (DRM plugin) cabability at build time</flag>
@@ -16,6 +17,8 @@
 		downloaded and kept up-to-date in user profiles</flag>
 	<flag name="hwaccel">Force-enable hardware-accelerated rendering (Mozilla bug 594876)</flag>
 	<flag name="jemalloc">Enable or disable jemalloc</flag>
+	<flag name="lto">Enable Link Time Optimization (LTO). Requires Gold linker when using GCC
+		or LDD linker when using Clang</flag>
 	<flag name="pgo">Add support for profile-guided optimization using gcc-4.5,
 		for faster binaries. This option will double the compile time.</flag>
 	<flag name="rust">Enable support for using rust compiler  (experimental)</flag>


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2018-09-28 11:44 Thomas Deutschmann
  0 siblings, 0 replies; 25+ messages in thread
From: Thomas Deutschmann @ 2018-09-28 11:44 UTC (permalink / raw
  To: gentoo-commits

commit:     b1e7185593b8d3f4c46481d43da41176c5628126
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 28 11:39:43 2018 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Fri Sep 28 11:43:51 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b1e71855

www-client/firefox: add rust-1.29+ support

Closes: https://bugs.gentoo.org/666898
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
Package-Manager: Portage-2.3.50, Repoman-2.3.11

 .../files/firefox-60.0-rust-1.29-comp.patch        | 37 ++++++++++++++++++++++
 www-client/firefox/firefox-60.2.1-r1.ebuild        |  1 +
 www-client/firefox/firefox-62.0.2.ebuild           |  1 +
 3 files changed, 39 insertions(+)

diff --git a/www-client/firefox/files/firefox-60.0-rust-1.29-comp.patch b/www-client/firefox/files/firefox-60.0-rust-1.29-comp.patch
new file mode 100644
index 00000000000..6fbd13fe639
--- /dev/null
+++ b/www-client/firefox/files/firefox-60.0-rust-1.29-comp.patch
@@ -0,0 +1,37 @@
+https://bugs.gentoo.org/666898
+
+https://bugzilla.mozilla.org/show_bug.cgi?id=1479540
+--- a/build/moz.configure/init.configure
++++ b/build/moz.configure/init.configure
+@@ -572,17 +572,26 @@ option('--target', nargs=1,
+ @imports(_from='__builtin__', _import='KeyError')
+ @imports(_from='__builtin__', _import='ValueError')
+ def split_triplet(triplet, allow_unknown=False):
+     # The standard triplet is defined as
+     #   CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+     # There is also a quartet form:
+     #   CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+     # But we can consider the "KERNEL-OPERATING_SYSTEM" as one.
+-    cpu, manufacturer, os = triplet.split('-', 2)
++    # Additionally, some may omit "unknown" when the manufacturer
++    # is not specified and emit
++    #   CPU_TYPE-OPERATING_SYSTEM
++    parts = triplet.split('-', 2)
++    if len(parts) == 3:
++        cpu, _, os = parts
++    elif len(parts) == 2:
++        cpu, os = parts
++    else:
++        die("Unexpected triplet string: %s" % triplet)
+ 
+     # Autoconf uses config.sub to validate and canonicalize those triplets,
+     # but the granularity of its results has never been satisfying to our
+     # use, so we've had our own, different, canonicalization. We've also
+     # historically not been very consistent with how we use the canonicalized
+     # values. Hopefully, this will help us make things better.
+     # The tests are inherited from our decades-old autoconf-based configure,
+     # which can probably be improved/cleaned up because they are based on a
+
+
+
+

diff --git a/www-client/firefox/firefox-60.2.1-r1.ebuild b/www-client/firefox/firefox-60.2.1-r1.ebuild
index 03ffedb5a69..89ad061bccf 100644
--- a/www-client/firefox/firefox-60.2.1-r1.ebuild
+++ b/www-client/firefox/firefox-60.2.1-r1.ebuild
@@ -126,6 +126,7 @@ src_prepare() {
 
 	eapply "${FILESDIR}"/bug_1461221.patch
 	eapply "${FILESDIR}"/${PN}-60.0-blessings-TERM.patch # 654316
+	eapply "${FILESDIR}"/${PN}-60.0-rust-1.29-comp.patch
 
 	# Enable gnomebreakpad
 	if use debug ; then

diff --git a/www-client/firefox/firefox-62.0.2.ebuild b/www-client/firefox/firefox-62.0.2.ebuild
index 426d2ba9bc0..82a6728b4ee 100644
--- a/www-client/firefox/firefox-62.0.2.ebuild
+++ b/www-client/firefox/firefox-62.0.2.ebuild
@@ -187,6 +187,7 @@ src_prepare() {
 	eapply "${FILESDIR}"/${PN}-60.0-blessings-TERM.patch # 654316
 	eapply "${FILESDIR}"/${PN}-60.0-do-not-force-lld.patch
 	eapply "${FILESDIR}"/${PN}-60.0-sandbox-lto.patch # 666580
+	eapply "${FILESDIR}"/${PN}-60.0-rust-1.29-comp.patch
 
 	# Enable gnomebreakpad
 	if use debug ; then


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2018-09-28 12:00 Thomas Deutschmann
  0 siblings, 0 replies; 25+ messages in thread
From: Thomas Deutschmann @ 2018-09-28 12:00 UTC (permalink / raw
  To: gentoo-commits

commit:     1a9acbce822f8f8459f2cc8dfe187fd036cf116b
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 28 11:59:39 2018 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Fri Sep 28 12:00:09 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a9acbce

www-client/firefox: add missing "errno.h" include in SandboxOpenedFiles.cpp

In addition, patch "firefox-60.0-rust-1.29-comp.patch" was dropped from
firefox-62.x wchi was added in previous commit b1e7185593b8d3f4c46481d4
because patch is already present.

Closes: https://bugs.gentoo.org/667096
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
Package-Manager: Portage-2.3.50, Repoman-2.3.11

 ...missing-errno_h-in-SandboxOpenedFiles_cpp.patch | 27 ++++++++++++++++++++++
 www-client/firefox/firefox-60.2.1-r1.ebuild        |  1 +
 www-client/firefox/firefox-62.0.2.ebuild           |  2 +-
 3 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/www-client/firefox/files/firefox-60.0-missing-errno_h-in-SandboxOpenedFiles_cpp.patch b/www-client/firefox/files/firefox-60.0-missing-errno_h-in-SandboxOpenedFiles_cpp.patch
new file mode 100644
index 00000000000..c746c73940e
--- /dev/null
+++ b/www-client/firefox/files/firefox-60.0-missing-errno_h-in-SandboxOpenedFiles_cpp.patch
@@ -0,0 +1,27 @@
+https://bugs.gentoo.org/667096
+
+https://bugzilla.mozilla.org/show_bug.cgi?id=1480554
+--- a/security/sandbox/linux/SandboxOpenedFiles.cpp
++++ b/security/sandbox/linux/SandboxOpenedFiles.cpp
+@@ -4,16 +4,17 @@
+  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+  * You can obtain one at http://mozilla.org/MPL/2.0/. */
+ 
+ #include "SandboxOpenedFiles.h"
+ 
+ #include "mozilla/Move.h"
+ #include "SandboxLogging.h"
+ 
++#include <errno.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+ 
+ namespace mozilla {
+ 
+ // The default move constructor almost works, but Atomic isn't
+ // move-constructable and the fd needs some special handling.
+ SandboxOpenedFile::SandboxOpenedFile(SandboxOpenedFile&& aMoved)
+
+
+
+

diff --git a/www-client/firefox/firefox-60.2.1-r1.ebuild b/www-client/firefox/firefox-60.2.1-r1.ebuild
index 89ad061bccf..36964cc42d0 100644
--- a/www-client/firefox/firefox-60.2.1-r1.ebuild
+++ b/www-client/firefox/firefox-60.2.1-r1.ebuild
@@ -127,6 +127,7 @@ src_prepare() {
 	eapply "${FILESDIR}"/bug_1461221.patch
 	eapply "${FILESDIR}"/${PN}-60.0-blessings-TERM.patch # 654316
 	eapply "${FILESDIR}"/${PN}-60.0-rust-1.29-comp.patch
+	eapply "${FILESDIR}"/${PN}-60.0-missing-errno_h-in-SandboxOpenedFiles_cpp.patch
 
 	# Enable gnomebreakpad
 	if use debug ; then

diff --git a/www-client/firefox/firefox-62.0.2.ebuild b/www-client/firefox/firefox-62.0.2.ebuild
index 82a6728b4ee..bee2af62419 100644
--- a/www-client/firefox/firefox-62.0.2.ebuild
+++ b/www-client/firefox/firefox-62.0.2.ebuild
@@ -187,7 +187,7 @@ src_prepare() {
 	eapply "${FILESDIR}"/${PN}-60.0-blessings-TERM.patch # 654316
 	eapply "${FILESDIR}"/${PN}-60.0-do-not-force-lld.patch
 	eapply "${FILESDIR}"/${PN}-60.0-sandbox-lto.patch # 666580
-	eapply "${FILESDIR}"/${PN}-60.0-rust-1.29-comp.patch
+	eapply "${FILESDIR}"/${PN}-60.0-missing-errno_h-in-SandboxOpenedFiles_cpp.patch
 
 	# Enable gnomebreakpad
 	if use debug ; then


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2018-10-04 13:50 Thomas Deutschmann
  0 siblings, 0 replies; 25+ messages in thread
From: Thomas Deutschmann @ 2018-10-04 13:50 UTC (permalink / raw
  To: gentoo-commits

commit:     87ee38a17afd372982e6411cc9c22bbf3229ed0c
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Thu Oct  4 13:35:23 2018 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Thu Oct  4 13:35:39 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=87ee38a1

www-client/firefox: make rust cc honor CC env variable

Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1496270
Package-Manager: Portage-2.3.50, Repoman-2.3.11
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 .../files/firefox-60.0-update-cc-to-honor-CC.patch | 745 +++++++++++++++++++++
 www-client/firefox/firefox-60.2.2.ebuild           |   1 +
 2 files changed, 746 insertions(+)

diff --git a/www-client/firefox/files/firefox-60.0-update-cc-to-honor-CC.patch b/www-client/firefox/files/firefox-60.0-update-cc-to-honor-CC.patch
new file mode 100644
index 00000000000..9bca3f57a0a
--- /dev/null
+++ b/www-client/firefox/files/firefox-60.0-update-cc-to-honor-CC.patch
@@ -0,0 +1,745 @@
+https://bugzilla.mozilla.org/show_bug.cgi?id=1496270
+https://bugzilla.mozilla.org/show_bug.cgi?id=1445528
+
+--- a/third_party/rust/cc/.cargo-checksum.json
++++ b/third_party/rust/cc/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{".travis.yml":"1a4a3f7f90349924378e93acbb524b9127e37c02cfbc6dc59fd904bbdc1c8d0b","Cargo.toml":"623dd06a83bcbf2f292ab51af93e9b79b689e3be06a62968b79f4e36f1bb769f","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"186c5c8a62520cb7a3d90d77161c954b52ae8456fca0e0669bc3a5b889592a43","appveyor.yml":"ab45bfdcf2596f357225a54e730c34d518a8f3ad56c2ed33af682cfd45bddc02","src/bin/gcc-shim.rs":"d6be9137cb48b86891e7b263adbf492e1193ffe682db9ba4a88eb1079b874b58","src/com.rs":"0cb06f5db0fb70d27db0e5917ca337de6e7032119e6aabfea1bad9c719f5f34b","src/lib.rs":"996b650e19d5ccd6e64e741789427017c913644e980862a7286ec4ed53c14a17","src/registry.rs":"3876ef9573e3bbc050aef41a684b9a510cc1a91b15ae874fe032cf4377b4d116","src/setup_config.rs":"1a3eeb11c6847c31f2a4685b62ab35c76f0b6d5a17f7ed99e9df164283a771f7","src/winapi.rs":"cb5e6cab3eb570b0f97c660ca448ccfb5024262c0c7b245c181daad91a7
 9f211","src/windows_registry.rs":"6de548aa94215e449f0e58e9a3b1702939d7c2f7b63a9040901c948bf138201d","tests/cc_env.rs":"7402315eea7ffa23b29b393c1de8e236294ede9de562ff0a562704a157135341","tests/support/mod.rs":"092551f9f6e3a999fa0aa02f93314aac0bda2b09268f948c423df56a43575e0b","tests/test.rs":"b1164258714e13173f3861126e97bedf1e29aa24618993c4eb0edd57c431dcc7"},"package":"deaf9ec656256bb25b404c51ef50097207b9cbb29c933d31f92cae5a8a0ffee0"}
+\ No newline at end of file
++{"files":{".travis.yml":"1a4a3f7f90349924378e93acbb524b9127e37c02cfbc6dc59fd904bbdc1c8d0b","Cargo.toml":"623dd06a83bcbf2f292ab51af93e9b79b689e3be06a62968b79f4e36f1bb769f","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"186c5c8a62520cb7a3d90d77161c954b52ae8456fca0e0669bc3a5b889592a43","appveyor.yml":"ab45bfdcf2596f357225a54e730c34d518a8f3ad56c2ed33af682cfd45bddc02","src/bin/gcc-shim.rs":"d6be9137cb48b86891e7b263adbf492e1193ffe682db9ba4a88eb1079b874b58","src/com.rs":"0cb06f5db0fb70d27db0e5917ca337de6e7032119e6aabfea1bad9c719f5f34b","src/lib.rs":"6e8cea99f5fc8e5982b1ea9a336ee2f9a6158a9498c8f0c36f1e8cee8c99716e","src/registry.rs":"3876ef9573e3bbc050aef41a684b9a510cc1a91b15ae874fe032cf4377b4d116","src/setup_config.rs":"1a3eeb11c6847c31f2a4685b62ab35c76f0b6d5a17f7ed99e9df164283a771f7","src/winapi.rs":"cb5e6cab3eb570b0f97c660ca448ccfb5024262c0c7b245c181daad91a7
 9f211","src/windows_registry.rs":"6de548aa94215e449f0e58e9a3b1702939d7c2f7b63a9040901c948bf138201d","tests/cc_env.rs":"7402315eea7ffa23b29b393c1de8e236294ede9de562ff0a562704a157135341","tests/support/mod.rs":"092551f9f6e3a999fa0aa02f93314aac0bda2b09268f948c423df56a43575e0b","tests/test.rs":"b1164258714e13173f3861126e97bedf1e29aa24618993c4eb0edd57c431dcc7"},"package":"deaf9ec656256bb25b404c51ef50097207b9cbb29c933d31f92cae5a8a0ffee0"}
+\ No newline at end of file
+--- a/third_party/rust/cc/src/lib.rs
++++ b/third_party/rust/cc/src/lib.rs
+@@ -61,15 +61,14 @@
+ extern crate rayon;
+ 
+ use std::env;
+-use std::ffi::{OsString, OsStr};
++use std::ffi::{OsStr, OsString};
+ use std::fs;
+-use std::path::{PathBuf, Path};
+-use std::process::{Command, Stdio, Child};
+-use std::io::{self, BufReader, BufRead, Read, Write};
++use std::path::{Path, PathBuf};
++use std::process::{Child, Command, Stdio};
++use std::io::{self, BufRead, BufReader, Read, Write};
+ use std::thread::{self, JoinHandle};
+-
+-#[cfg(feature = "parallel")]
+-use std::sync::Mutex;
++use std::collections::HashMap;
++use std::sync::{Arc, Mutex};
+ 
+ // These modules are all glue to support reading the MSVC version from
+ // the registry and from COM interfaces
+@@ -97,6 +96,7 @@ pub struct Build {
+     objects: Vec<PathBuf>,
+     flags: Vec<String>,
+     flags_supported: Vec<String>,
++    known_flag_support_status: Arc<Mutex<HashMap<String, bool>>>,
+     files: Vec<PathBuf>,
+     cpp: bool,
+     cpp_link_stdlib: Option<Option<String>>,
+@@ -241,8 +241,7 @@ impl ToolFamily {
+     fn nvcc_debug_flag(&self) -> &'static str {
+         match *self {
+             ToolFamily::Msvc => unimplemented!(),
+-            ToolFamily::Gnu |
+-            ToolFamily::Clang => "-G",
++            ToolFamily::Gnu | ToolFamily::Clang => "-G",
+         }
+     }
+ 
+@@ -251,8 +250,7 @@ impl ToolFamily {
+     fn nvcc_redirect_flag(&self) -> &'static str {
+         match *self {
+             ToolFamily::Msvc => unimplemented!(),
+-            ToolFamily::Gnu |
+-            ToolFamily::Clang => "-Xcompiler",
++            ToolFamily::Gnu | ToolFamily::Clang => "-Xcompiler",
+         }
+     }
+ }
+@@ -269,10 +267,7 @@ struct Object {
+ impl Object {
+     /// Create a new source file -> object file pair.
+     fn new(src: PathBuf, dst: PathBuf) -> Object {
+-        Object {
+-            src: src,
+-            dst: dst,
+-        }
++        Object { src: src, dst: dst }
+     }
+ }
+ 
+@@ -289,6 +284,7 @@ impl Build {
+             objects: Vec::new(),
+             flags: Vec::new(),
+             flags_supported: Vec::new(),
++            known_flag_support_status: Arc::new(Mutex::new(HashMap::new())),
+             files: Vec::new(),
+             shared_flag: None,
+             static_flag: None,
+@@ -344,10 +340,8 @@ impl Build {
+     ///     .compile("foo");
+     /// ```
+     pub fn define<'a, V: Into<Option<&'a str>>>(&mut self, var: &str, val: V) -> &mut Build {
+-        self.definitions.push((
+-            var.to_string(),
+-            val.into().map(|s| s.to_string()),
+-        ));
++        self.definitions
++            .push((var.to_string(), val.into().map(|s| s.to_string())));
+         self
+     }
+ 
+@@ -398,7 +392,16 @@ impl Build {
+     ///
+     /// It may return error if it's unable to run the compilier with a test file
+     /// (e.g. the compiler is missing or a write to the `out_dir` failed).
++    ///
++    /// Note: Once computed, the result of this call is stored in the
++    /// `known_flag_support` field. If `is_flag_supported(flag)`
++    /// is called again, the result will be read from the hash table.
+     pub fn is_flag_supported(&self, flag: &str) -> Result<bool, Error> {
++        let mut known_status = self.known_flag_support_status.lock().unwrap();
++        if let Some(is_supported) = known_status.get(flag).cloned() {
++            return Ok(is_supported);
++        }
++
+         let out_dir = self.get_out_dir()?;
+         let src = self.ensure_check_file()?;
+         let obj = out_dir.join("flag_check");
+@@ -413,7 +416,8 @@ impl Build {
+             .cuda(self.cuda);
+         let compiler = cfg.try_get_compiler()?;
+         let mut cmd = compiler.to_command();
+-        command_add_output_file(&mut cmd, &obj, target.contains("msvc"), false);
++        let is_arm = target.contains("aarch64") || target.contains("arm");
++        command_add_output_file(&mut cmd, &obj, target.contains("msvc"), false, is_arm);
+ 
+         // We need to explicitly tell msvc not to link and create an exe
+         // in the root directory of the crate
+@@ -424,7 +428,10 @@ impl Build {
+         cmd.arg(&src);
+ 
+         let output = cmd.output()?;
+-        Ok(output.stderr.is_empty())
++        let is_supported = output.stderr.is_empty();
++
++        known_status.insert(flag.to_owned(), is_supported);
++        Ok(is_supported)
+     }
+ 
+     /// Add an arbitrary flag to the invocation of the compiler if it supports it
+@@ -777,9 +784,8 @@ impl Build {
+         A: AsRef<OsStr>,
+         B: AsRef<OsStr>,
+     {
+-        self.env.push(
+-            (a.as_ref().to_owned(), b.as_ref().to_owned()),
+-        );
++        self.env
++            .push((a.as_ref().to_owned(), b.as_ref().to_owned()));
+         self
+     }
+ 
+@@ -880,31 +886,19 @@ impl Build {
+     fn compile_objects(&self, objs: &[Object]) -> Result<(), Error> {
+         use self::rayon::prelude::*;
+ 
+-        let mut cfg = rayon::Configuration::new();
+         if let Ok(amt) = env::var("NUM_JOBS") {
+             if let Ok(amt) = amt.parse() {
+-                cfg = cfg.num_threads(amt);
++                let _ = rayon::ThreadPoolBuilder::new()
++                    .num_threads(amt)
++                    .build_global();
+             }
+         }
+-        drop(rayon::initialize(cfg));
+-
+-        let results: Mutex<Vec<Result<(), Error>>> = Mutex::new(Vec::new());
+-
+-        objs.par_iter().with_max_len(1).for_each(
+-            |obj| {
+-                let res = self.compile_object(obj);
+-                results.lock().unwrap().push(res)
+-            },
+-        );
+ 
+         // Check for any errors and return the first one found.
+-        for result in results.into_inner().unwrap().iter() {
+-            if result.is_err() {
+-                return result.clone();
+-            }
+-        }
+-
+-        Ok(())
++        objs.par_iter()
++            .with_max_len(1)
++            .map(|obj| self.compile_object(obj))
++            .collect()
+     }
+ 
+     #[cfg(not(feature = "parallel"))]
+@@ -917,7 +911,8 @@ impl Build {
+ 
+     fn compile_object(&self, obj: &Object) -> Result<(), Error> {
+         let is_asm = obj.src.extension().and_then(|s| s.to_str()) == Some("asm");
+-        let msvc = self.get_target()?.contains("msvc");
++        let target = self.get_target()?;
++        let msvc = target.contains("msvc");
+         let (mut cmd, name) = if msvc && is_asm {
+             self.msvc_macro_assembler()?
+         } else {
+@@ -931,15 +926,17 @@ impl Build {
+                 compiler
+                     .path
+                     .file_name()
+-                    .ok_or_else(|| {
+-                        Error::new(ErrorKind::IOError, "Failed to get compiler path.")
+-                    })?
++                    .ok_or_else(|| Error::new(ErrorKind::IOError, "Failed to get compiler path."))?
+                     .to_string_lossy()
+                     .into_owned(),
+             )
+         };
+-        command_add_output_file(&mut cmd, &obj.dst, msvc, is_asm);
+-        cmd.arg(if msvc { "/c" } else { "-c" });
++        let is_arm = target.contains("aarch64") || target.contains("arm");
++        command_add_output_file(&mut cmd, &obj.dst, msvc, is_asm, is_arm);
++        // armasm and armasm64 don't requrie -c option
++        if !msvc || !is_asm || !is_arm {
++            cmd.arg(if msvc { "/c" } else { "-c" });
++        }
+         cmd.arg(&obj.src);
+ 
+         run(&mut cmd, &name)?;
+@@ -967,9 +964,7 @@ impl Build {
+         let name = compiler
+             .path
+             .file_name()
+-            .ok_or_else(|| {
+-                Error::new(ErrorKind::IOError, "Failed to get compiler path.")
+-            })?
++            .ok_or_else(|| Error::new(ErrorKind::IOError, "Failed to get compiler path."))?
+             .to_string_lossy()
+             .into_owned();
+ 
+@@ -1054,8 +1049,8 @@ impl Build {
+                 cmd.args.push(crt_flag.into());
+ 
+                 match &opt_level[..] {
+-                    "z" | "s" => cmd.args.push("/Os".into()),
+-                    "1" => cmd.args.push("/O1".into()),
++                    // Msvc uses /O1 to enable all optimizations that minimize code size.
++                    "z" | "s" | "1" => cmd.args.push("/O1".into()),
+                     // -O3 is a valid value for gcc and clang compilers, but not msvc. Cap to /O2.
+                     "2" | "3" => cmd.args.push("/O2".into()),
+                     _ => {}
+@@ -1070,8 +1065,10 @@ impl Build {
+                     cmd.args.push(format!("-O{}", opt_level).into());
+                 }
+ 
+-                cmd.push_cc_arg("-ffunction-sections".into());
+-                cmd.push_cc_arg("-fdata-sections".into());
++                if !target.contains("-ios") {
++                    cmd.push_cc_arg("-ffunction-sections".into());
++                    cmd.push_cc_arg("-fdata-sections".into());
++                }
+                 if self.pic.unwrap_or(!target.contains("windows-gnu")) {
+                     cmd.push_cc_arg("-fPIC".into());
+                 }
+@@ -1169,7 +1166,7 @@ impl Build {
+                 // linker that we're generating 32-bit executables as well. This'll
+                 // typically only be used for build scripts which transitively use
+                 // these flags that try to compile executables.
+-                if target == "i686-unknown-linux-musl" {
++                if target == "i686-unknown-linux-musl" || target == "i586-unknown-linux-musl" {
+                     cmd.args.push("-Wl,-melf_i386".into());
+                 }
+ 
+@@ -1212,14 +1209,13 @@ impl Build {
+         if self.cpp {
+             match (self.cpp_set_stdlib.as_ref(), cmd.family) {
+                 (None, _) => {}
+-                (Some(stdlib), ToolFamily::Gnu) |
+-                (Some(stdlib), ToolFamily::Clang) => {
++                (Some(stdlib), ToolFamily::Gnu) | (Some(stdlib), ToolFamily::Clang) => {
+                     cmd.push_cc_arg(format!("-stdlib=lib{}", stdlib).into());
+                 }
+                 _ => {
+                     println!(
+                         "cargo:warning=cpp_set_stdlib is specified, but the {:?} compiler \
+-                              does not support this option, ignored",
++                         does not support this option, ignored",
+                         cmd.family
+                     );
+                 }
+@@ -1272,6 +1268,10 @@ impl Build {
+         let target = self.get_target()?;
+         let tool = if target.contains("x86_64") {
+             "ml64.exe"
++        } else if target.contains("arm") {
++            "armasm.exe"
++        } else if target.contains("aarch64") {
++            "armasm64.exe"
+         } else {
+             "ml.exe"
+         };
+@@ -1307,20 +1307,55 @@ impl Build {
+         if target.contains("msvc") {
+             let mut cmd = match self.archiver {
+                 Some(ref s) => self.cmd(s),
+-                None => {
+-                    windows_registry::find(&target, "lib.exe").unwrap_or_else(
+-                        || {
+-                            self.cmd("lib.exe")
+-                        },
+-                    )
+-                }
++                None => windows_registry::find(&target, "lib.exe")
++                    .unwrap_or_else(|| self.cmd("lib.exe")),
+             };
++
+             let mut out = OsString::from("/OUT:");
+             out.push(dst);
+-            run(
+-                cmd.arg(out).arg("/nologo").args(&objects).args(&self.objects),
+-                "lib.exe",
+-            )?;
++            cmd.arg(out).arg("/nologo");
++
++            // Similar to https://github.com/rust-lang/rust/pull/47507
++            // and https://github.com/rust-lang/rust/pull/48548
++            let estimated_command_line_len = objects
++                .iter()
++                .chain(&self.objects)
++                .map(|a| a.as_os_str().len())
++                .sum::<usize>();
++            if estimated_command_line_len > 1024 * 6 {
++                let mut args = String::from("\u{FEFF}"); // BOM
++                for arg in objects.iter().chain(&self.objects) {
++                    args.push('"');
++                    for c in arg.to_str().unwrap().chars() {
++                        if c == '"' {
++                            args.push('\\')
++                        }
++                        args.push(c)
++                    }
++                    args.push('"');
++                    args.push('\n');
++                }
++
++                let mut utf16le = Vec::new();
++                for code_unit in args.encode_utf16() {
++                    utf16le.push(code_unit as u8);
++                    utf16le.push((code_unit >> 8) as u8);
++                }
++
++                let mut args_file = OsString::from(dst);
++                args_file.push(".args");
++                fs::File::create(&args_file)
++                    .unwrap()
++                    .write_all(&utf16le)
++                    .unwrap();
++
++                let mut args_file_arg = OsString::from("@");
++                args_file_arg.push(args_file);
++                cmd.arg(args_file_arg);
++            } else {
++                cmd.args(&objects).args(&self.objects);
++            }
++            run(&mut cmd, "lib.exe")?;
+ 
+             // The Rust compiler will look for libfoo.a and foo.lib, but the
+             // MSVC linker will also be passed foo.lib, so be sure that both
+@@ -1412,6 +1447,18 @@ impl Build {
+ 
+         cmd.args.push("-isysroot".into());
+         cmd.args.push(sdk_path.trim().into());
++        cmd.args.push("-fembed-bitcode".into());
++        /*
++         * TODO we probably ultimatedly want the -fembed-bitcode-marker flag
++         * but can't have it now because of an issue in LLVM:
++         * https://github.com/alexcrichton/cc-rs/issues/301
++         * https://github.com/rust-lang/rust/pull/48896#comment-372192660
++         */
++        /*
++        if self.get_opt_level()? == "0" {
++            cmd.args.push("-fembed-bitcode-marker".into());
++        }
++        */
+ 
+         Ok(())
+     }
+@@ -1437,37 +1484,44 @@ impl Build {
+         };
+ 
+         // On Solaris, c++/cc unlikely to exist or be correct.
+-        let default = if host.contains("solaris") { gnu } else { traditional };
+-
+-        let tool_opt: Option<Tool> =
+-            self.env_tool(env)
+-                .map(|(tool, cc, args)| {
+-                    let mut t = Tool::new(PathBuf::from(tool));
+-                    if let Some(cc) = cc {
+-                        t.cc_wrapper_path = Some(PathBuf::from(cc));
+-                    }
+-                    for arg in args {
+-                        t.cc_wrapper_args.push(arg.into());
+-                    }
+-                    t
+-                })
+-                .or_else(|| {
+-                    if target.contains("emscripten") {
+-                        let tool = if self.cpp { "em++" } else { "emcc" };
+-                        // Windows uses bat file so we have to be a bit more specific
+-                        if cfg!(windows) {
+-                            let mut t = Tool::new(PathBuf::from("cmd"));
+-                            t.args.push("/c".into());
+-                            t.args.push(format!("{}.bat", tool).into());
+-                            Some(t)
+-                        } else {
+-                            Some(Tool::new(PathBuf::from(tool)))
+-                        }
++        let default = if host.contains("solaris") {
++            gnu
++        } else {
++            traditional
++        };
++
++        let tool_opt: Option<Tool> = self.env_tool(env)
++            .map(|(tool, cc, args)| {
++                // chop off leading/trailing whitespace to work around
++                // semi-buggy build scripts which are shared in
++                // makefiles/configure scripts (where spaces are far more
++                // lenient)
++                let mut t = Tool::new(PathBuf::from(tool.trim()));
++                if let Some(cc) = cc {
++                    t.cc_wrapper_path = Some(PathBuf::from(cc));
++                }
++                for arg in args {
++                    t.cc_wrapper_args.push(arg.into());
++                }
++                t
++            })
++            .or_else(|| {
++                if target.contains("emscripten") {
++                    let tool = if self.cpp { "em++" } else { "emcc" };
++                    // Windows uses bat file so we have to be a bit more specific
++                    if cfg!(windows) {
++                        let mut t = Tool::new(PathBuf::from("cmd"));
++                        t.args.push("/c".into());
++                        t.args.push(format!("{}.bat", tool).into());
++                        Some(t)
+                     } else {
+-                        None
++                        Some(Tool::new(PathBuf::from(tool)))
+                     }
+-                })
+-                .or_else(|| windows_registry::find_tool(&target, "cl.exe"));
++                } else {
++                    None
++                }
++            })
++            .or_else(|| windows_registry::find_tool(&target, "cl.exe"));
+ 
+         let tool = match tool_opt {
+             Some(t) => t,
+@@ -1501,6 +1555,7 @@ impl Build {
+                         "armv7-unknown-linux-gnueabihf" => Some("arm-linux-gnueabihf"),
+                         "armv7-unknown-linux-musleabihf" => Some("arm-linux-musleabihf"),
+                         "armv7-unknown-netbsd-eabihf" => Some("armv7--netbsdelf-eabihf"),
++                        "i586-unknown-linux-musl" => Some("musl"),
+                         "i686-pc-windows-gnu" => Some("i686-w64-mingw32"),
+                         "i686-unknown-linux-musl" => Some("musl"),
+                         "i686-unknown-netbsd" => Some("i486--netbsdelf"),
+@@ -1509,10 +1564,12 @@ impl Build {
+                         "mips64-unknown-linux-gnuabi64" => Some("mips64-linux-gnuabi64"),
+                         "mips64el-unknown-linux-gnuabi64" => Some("mips64el-linux-gnuabi64"),
+                         "powerpc-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
++                        "powerpc-unknown-linux-gnuspe" => Some("powerpc-linux-gnuspe"),
+                         "powerpc-unknown-netbsd" => Some("powerpc--netbsd"),
+                         "powerpc64-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
+                         "powerpc64le-unknown-linux-gnu" => Some("powerpc64le-linux-gnu"),
+                         "s390x-unknown-linux-gnu" => Some("s390x-linux-gnu"),
++                        "sparc-unknown-linux-gnu" => Some("sparc-linux-gnu"),
+                         "sparc64-unknown-linux-gnu" => Some("sparc64-linux-gnu"),
+                         "sparc64-unknown-netbsd" => Some("sparc64--netbsd"),
+                         "sparcv9-sun-solaris" => Some("sparcv9-sun-solaris"),
+@@ -1538,14 +1595,18 @@ impl Build {
+         };
+ 
+         let tool = if self.cuda {
+-            assert!(tool.args.is_empty(),
+-                "CUDA compilation currently assumes empty pre-existing args");
++            assert!(
++                tool.args.is_empty(),
++                "CUDA compilation currently assumes empty pre-existing args"
++            );
+             let nvcc = match self.get_var("NVCC") {
+                 Err(_) => "nvcc".into(),
+                 Ok(nvcc) => nvcc,
+             };
+             let mut nvcc_tool = Tool::with_features(PathBuf::from(nvcc), self.cuda);
+-            nvcc_tool.args.push(format!("-ccbin={}", tool.path.display()).into());
++            nvcc_tool
++                .args
++                .push(format!("-ccbin={}", tool.path.display()).into());
+             nvcc_tool
+         } else {
+             tool
+@@ -1568,10 +1629,7 @@ impl Build {
+             Some(res) => Ok(res),
+             None => Err(Error::new(
+                 ErrorKind::EnvVarNotFound,
+-                &format!(
+-                    "Could not find environment variable {}.",
+-                    var_base
+-                ),
++                &format!("Could not find environment variable {}.", var_base),
+             )),
+         }
+     }
+@@ -1585,21 +1643,68 @@ impl Build {
+             .collect()
+     }
+ 
+-
+     /// Returns compiler path, optional modifier name from whitelist, and arguments vec
+     fn env_tool(&self, name: &str) -> Option<(String, Option<String>, Vec<String>)> {
+-        self.get_var(name).ok().map(|tool| {
+-            let whitelist = ["ccache", "distcc", "sccache"];
++        let tool = match self.get_var(name) {
++            Ok(tool) => tool,
++            Err(_) => return None,
++        };
+ 
+-            for t in whitelist.iter() {
+-                if tool.starts_with(t) && tool[t.len()..].starts_with(' ')  {
+-                    let args = tool.split_whitespace().collect::<Vec<_>>();
++        // If this is an exact path on the filesystem we don't want to do any
++        // interpretation at all, just pass it on through. This'll hopefully get
++        // us to support spaces-in-paths.
++        if Path::new(&tool).exists() {
++            return Some((tool, None, Vec::new()));
++        }
++
++        // Ok now we want to handle a couple of scenarios. We'll assume from
++        // here on out that spaces are splitting separate arguments. Two major
++        // features we want to support are:
++        //
++        //      CC='sccache cc'
++        //
++        // aka using `sccache` or any other wrapper/caching-like-thing for
++        // compilations. We want to know what the actual compiler is still,
++        // though, because our `Tool` API support introspection of it to see
++        // what compiler is in use.
++        //
++        // additionally we want to support
++        //
++        //      CC='cc -flag'
++        //
++        // where the CC env var is used to also pass default flags to the C
++        // compiler.
++        //
++        // It's true that everything here is a bit of a pain, but apparently if
++        // you're not literally make or bash then you get a lot of bug reports.
++        let known_wrappers = ["ccache", "distcc", "sccache", "icecc"];
++
++        let mut parts = tool.split_whitespace();
++        let maybe_wrapper = match parts.next() {
++            Some(s) => s,
++            None => return None,
++        };
+ 
+-                    return (args[1].to_string(), Some(t.to_string()), args[2..].iter().map(|s| s.to_string()).collect());
+-                }
++        let file_stem = Path::new(maybe_wrapper)
++            .file_stem()
++            .unwrap()
++            .to_str()
++            .unwrap();
++        if known_wrappers.contains(&file_stem) {
++            if let Some(compiler) = parts.next() {
++                return Some((
++                    compiler.to_string(),
++                    Some(maybe_wrapper.to_string()),
++                    parts.map(|s| s.to_string()).collect(),
++                ));
+             }
+-            (tool, None, Vec::new())
+-        })
++        }
++
++        Some((
++            maybe_wrapper.to_string(),
++            None,
++            parts.map(|s| s.to_string()).collect(),
++        ))
+     }
+ 
+     /// Returns the default C++ standard library for the current target: `libc++`
+@@ -1611,7 +1716,7 @@ impl Build {
+                 let target = self.get_target()?;
+                 if target.contains("msvc") {
+                     Ok(None)
+-                } else if target.contains("darwin") {
++                } else if target.contains("apple") {
+                     Ok(Some("c++".to_string()))
+                 } else if target.contains("freebsd") {
+                     Ok(Some("c++".to_string()))
+@@ -1700,10 +1805,7 @@ impl Build {
+             Some(s) => Ok(s),
+             None => Err(Error::new(
+                 ErrorKind::EnvVarNotFound,
+-                &format!(
+-                    "Environment variable {} not defined.",
+-                    v.to_string()
+-                ),
++                &format!("Environment variable {} not defined.", v.to_string()),
+             )),
+         }
+     }
+@@ -1731,8 +1833,9 @@ impl Tool {
+         let family = if let Some(fname) = path.file_name().and_then(|p| p.to_str()) {
+             if fname.contains("clang") {
+                 ToolFamily::Clang
+-            } else if fname.contains("cl") && !fname.contains("cloudabi") &&
+-                      !fname.contains("uclibc") {
++            } else if fname.contains("cl") && !fname.contains("cloudabi")
++                && !fname.contains("uclibc")
++            {
+                 ToolFamily::Msvc
+             } else {
+                 ToolFamily::Gnu
+@@ -1775,8 +1878,8 @@ impl Tool {
+                 cmd.arg(&self.path);
+                 cmd.args(&self.cc_wrapper_args);
+                 cmd
+-            },
+-            None => Command::new(&self.path)
++            }
++            None => Command::new(&self.path),
+         };
+         cmd.args(&self.args);
+         for &(ref k, ref v) in self.env.iter() {
+@@ -1822,10 +1925,8 @@ impl Tool {
+                     cc_env.push(arg);
+                 }
+                 cc_env
+-            },
+-            None => {
+-                OsString::from("")
+             }
++            None => OsString::from(""),
+         }
+     }
+ 
+@@ -1868,8 +1969,7 @@ fn run(cmd: &mut Command, program: &str) -> Result<(), Error> {
+                 ErrorKind::ToolExecError,
+                 &format!(
+                     "Failed to wait on spawned child process, command {:?} with args {:?}.",
+-                    cmd,
+-                    program
++                    cmd, program
+                 ),
+             ))
+         }
+@@ -1884,9 +1984,7 @@ fn run(cmd: &mut Command, program: &str) -> Result<(), Error> {
+             ErrorKind::ToolExecError,
+             &format!(
+                 "Command {:?} with args {:?} did not execute successfully (status code {}).",
+-                cmd,
+-                program,
+-                status
++                cmd, program, status
+             ),
+         ))
+     }
+@@ -1909,8 +2007,7 @@ fn run_output(cmd: &mut Command, program: &str) -> Result<Vec<u8>, Error> {
+                 ErrorKind::ToolExecError,
+                 &format!(
+                     "Failed to wait on spawned child process, command {:?} with args {:?}.",
+-                    cmd,
+-                    program
++                    cmd, program
+                 ),
+             ))
+         }
+@@ -1925,9 +2022,7 @@ fn run_output(cmd: &mut Command, program: &str) -> Result<Vec<u8>, Error> {
+             ErrorKind::ToolExecError,
+             &format!(
+                 "Command {:?} with args {:?} did not execute successfully (status code {}).",
+-                cmd,
+-                program,
+-                status
++                cmd, program, status
+             ),
+         ))
+     }
+@@ -1943,39 +2038,30 @@ fn spawn(cmd: &mut Command, program: &str) -> Result<(Child, JoinHandle<()>), Er
+     match cmd.stderr(Stdio::piped()).spawn() {
+         Ok(mut child) => {
+             let stderr = BufReader::new(child.stderr.take().unwrap());
+-            let print = thread::spawn(move || for line in stderr.split(b'\n').filter_map(
+-                |l| l.ok(),
+-            )
+-            {
+-                print!("cargo:warning=");
+-                std::io::stdout().write_all(&line).unwrap();
+-                println!("");
++            let print = thread::spawn(move || {
++                for line in stderr.split(b'\n').filter_map(|l| l.ok()) {
++                    print!("cargo:warning=");
++                    std::io::stdout().write_all(&line).unwrap();
++                    println!("");
++                }
+             });
+             Ok((child, print))
+         }
+         Err(ref e) if e.kind() == io::ErrorKind::NotFound => {
+             let extra = if cfg!(windows) {
+                 " (see https://github.com/alexcrichton/cc-rs#compile-time-requirements \
+-                   for help)"
++                 for help)"
+             } else {
+                 ""
+             };
+             Err(Error::new(
+                 ErrorKind::ToolNotFound,
+-                &format!(
+-                    "Failed to find tool. Is `{}` installed?{}",
+-                    program,
+-                    extra
+-                ),
++                &format!("Failed to find tool. Is `{}` installed?{}", program, extra),
+             ))
+         }
+         Err(_) => Err(Error::new(
+             ErrorKind::ToolExecError,
+-            &format!(
+-                "Command {:?} with args {:?} failed to start.",
+-                cmd,
+-                program
+-            ),
++            &format!("Command {:?} with args {:?} failed to start.", cmd, program),
+         )),
+     }
+ }
+@@ -1984,9 +2070,10 @@ fn fail(s: &str) -> ! {
+     panic!("\n\nInternal error occurred: {}\n\n", s)
+ }
+ 
+-
+-fn command_add_output_file(cmd: &mut Command, dst: &Path, msvc: bool, is_asm: bool) {
+-    if msvc && is_asm {
++fn command_add_output_file(cmd: &mut Command, dst: &Path, msvc: bool, is_asm: bool, is_arm: bool) {
++    if msvc && is_asm && is_arm {
++        cmd.arg("-o").arg(&dst);
++    } else if msvc && is_asm {
+         cmd.arg("/Fo").arg(dst);
+     } else if msvc {
+         let mut s = OsString::from("/Fo");

diff --git a/www-client/firefox/firefox-60.2.2.ebuild b/www-client/firefox/firefox-60.2.2.ebuild
index 1923dd9db2b..5e93109b74c 100644
--- a/www-client/firefox/firefox-60.2.2.ebuild
+++ b/www-client/firefox/firefox-60.2.2.ebuild
@@ -130,6 +130,7 @@ src_prepare() {
 	eapply "${FILESDIR}"/bug_1461221.patch
 	eapply "${FILESDIR}"/${PN}-60.0-blessings-TERM.patch # 654316
 	eapply "${FILESDIR}"/${PN}-60.0-missing-errno_h-in-SandboxOpenedFiles_cpp.patch
+	eapply "${FILESDIR}"/${PN}-60.0-update-cc-to-honor-CC.patch
 
 	# Enable gnomebreakpad
 	if use debug ; then


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2018-10-31 21:29 Thomas Deutschmann
  0 siblings, 0 replies; 25+ messages in thread
From: Thomas Deutschmann @ 2018-10-31 21:29 UTC (permalink / raw
  To: gentoo-commits

commit:     d01d14fc67b3a1a4ead16e9235d72971d38ee843
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 31 21:29:00 2018 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Wed Oct 31 21:29:00 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d01d14fc

www-client/firefox: security cleanup (bug #669430)

Package-Manager: Portage-2.3.51, Repoman-2.3.11
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 www-client/firefox/Manifest                        | 185 -----
 www-client/firefox/files/bug_1461221.patch         |  36 -
 .../files/firefox-60.0-blessings-TERM.patch        |  70 --
 .../files/firefox-60.0-do-not-force-lld.patch      | 262 --------
 ...missing-errno_h-in-SandboxOpenedFiles_cpp.patch |  27 -
 .../files/firefox-60.0-rust-1.29-comp.patch        |  37 -
 .../firefox/files/firefox-60.0-sandbox-lto.patch   |  13 -
 .../files/firefox-60.0-update-cc-to-honor-CC.patch | 745 ---------------------
 www-client/firefox/firefox-60.2.2.ebuild           | 413 ------------
 www-client/firefox/firefox-62.0.3.ebuild           | 614 -----------------
 10 files changed, 2402 deletions(-)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 34c225376c5..88f3d85174b 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -92,98 +92,6 @@ DIST firefox-52.9.0esr-zh-CN.xpi 461679 BLAKE2B 745b2cfb86e93a379e13fa73b7e3721b
 DIST firefox-52.9.0esr-zh-TW.xpi 453068 BLAKE2B 84e08ea4fd119db1f1c6f84b212fbbb5d6999c5ac6010c0e7836d8734726d281107f3d91ba7bac1aeaf855dc36d3b018ae3913dccdbe2b11aad02a8d8aaa893c SHA512 a99042ef7d00820e341dfcf2c45a8b5bd77eaf2cc8ecf0ff5ee982b7bd9beac7cb4bf051c57ef3b7a5d9b67cd35858dca396d21e65718e248f3b1fdba5273999
 DIST firefox-52.9.0esr.source.tar.xz 214087304 BLAKE2B eba5305ae3fc9a4306cbcbcd8d4610272ca5b75e369367961e9d94919b003de8aae8f3c58fe1c628787d98105a85fab575ae2b051e92a0b35bbb8b402c100766 SHA512 bfca42668ca78a12a9fb56368f4aae5334b1f7a71966fbba4c32b9c5e6597aac79a6e340ac3966779d2d5563eb47c054ab33cc40bfb7306172138ccbd3adb2b9
 DIST firefox-60.0-patches-04.tar.xz 120496 BLAKE2B 4b4fd58a91d8fd9603c3a7bdb669f275f7cbd7b9add7c790a2e326f46a540e77a390e9da3f85e81feee8e5354cb25c93e140fb2f721cdcd0fe197b7c24ea0091 SHA512 d8aaa1fafe22dcef8cba609ba6e2d322c18b46f4d3b91897696651958108f887510a068295b55bb21d84b660bbe7574a6533a57d8e26f96d2877139864dba828
-DIST firefox-60.2.2esr-ach.xpi 496840 BLAKE2B 1419b3ee223a1e5505d6d596068f68c4d3f6df3152112b877926b23515d33f701aeeeac9ccc7a1d2fca828ceb314a6e1fd2fe4c1619283dbbe763ff05a3e35ac SHA512 765d6859e15189d410cb08d42ca565de42f56413e7d4fb88c1d500eaf199c32089e2dd4a567681e9ff083995378a8dc220a46ba7740847096572f4de7a49c1e2
-DIST firefox-60.2.2esr-af.xpi 487308 BLAKE2B f9cbbaa1d7ddd32f13d0d0181fc669bf2602dab285733e360d3304a3b19ef4e6d33330c1b58e3f8918a77050f2e0767e8acbd2baeafc4f645820d6a249f24dab SHA512 b272b4c3a032e11db1db44be0a2c3e0734b0a2029cf5cc130877ee6f288b4c7c47cd676da7ef369d2835025540c03f676f4906c6655b4e738f9b36635bc397dc
-DIST firefox-60.2.2esr-an.xpi 520494 BLAKE2B 304bc120fb2e1cc3dbf9ce138d9c69e27ddaa8680814d66a5e86c0ab1fe1ef24d684549f5bc71c8ab4bcad6285fdfb97b1683a2606305bc3ca7f07f1811cb3a9 SHA512 5263e17bb9ae3ae4bfdc8952a749508fca145a5f1fc80768df5ac69328d7f34d37ace69068b18010e91f300dc359b653d62a227c66b2f23716c97f53fb34ef5c
-DIST firefox-60.2.2esr-ar.xpi 547818 BLAKE2B 1f0e1645ad37b4f6b6a89b22d4af935ebb57edf73ee5b1e641dd03e12fe53a854d73ae8b9771d1a70e6b61870e1c0c70287428901587debed7e29afe41f376ab SHA512 e8748fe47580e41dd3f8f47a8d3d28a069b65f161340d4b183d60b3016c6822d559f7390c2b8eb09e9a83d005a93bdb7704997cbc5585d1bac97cf910ccf3077
-DIST firefox-60.2.2esr-as.xpi 530719 BLAKE2B 4f02b2671a8a8ebf65d8fcad68a706f9f607fc6d7eccfaed79eb7339c3a479b1476032478d2026ecd1815d9c783f4e11df09a2b2b4068942645051543c456ad3 SHA512 3ec556467464933c1060d3ec8e36189e205082d826f49c30f6e9d8c99049b7cea951cd9dcbbcff585a51c4badbf39495946310a01f4c35c9070cf2205f6ba157
-DIST firefox-60.2.2esr-ast.xpi 508650 BLAKE2B c0ca69499f4387ace206e214fc818f25f6a4bd3164ebeee4b3f092394141c82bfd80d454987c51287577b1b07ace82e23d6a19bd6830b62d260a7f239943f446 SHA512 08508a24513f51fed657904279aeb079bdb41484e4f8726b0bb096e53ca62a8e57aff82e7ca2484f521961ec107a600fb262307b5146de690021f1db7ccc3fe8
-DIST firefox-60.2.2esr-az.xpi 524745 BLAKE2B c952d62f4a40b572551ee07e9f4aded116ef28a27b94b112cff0f5a7440405b113a8a3c1755ba43291fc7e07810914d346aef303ba8fe563de25ba0d779a3269 SHA512 b94f5b8c53bd238776f5d7f3c8070541fa733e3bad7f8f3571707b5e74a004dfa797fb398f295d0b9198cf82b893313474ffa3beb276e9a5fdab9081949ba7f1
-DIST firefox-60.2.2esr-bg.xpi 573853 BLAKE2B 4272e4d2358ff2942f6ea7ef35ed2e38375df97de9c270959edeac4be26b6eaea25c49e162919a03a5744631ce331a9f919a2b0dfffae4882444c88e944c208a SHA512 274fd36bda8a851b60d3e060865336b01af76cc4f1b96b6398f7ba20c658e4632ade35c49c623abbddae518bbde6482f80bc4f035a776ec07587f38b98995370
-DIST firefox-60.2.2esr-bn-BD.xpi 590419 BLAKE2B f542129ffc5027a0ed30ef2f1cd06c0a736fee2d57533f70fb8e2bf373658f743d2872dbc5a612676a58adc0930f7e28551dd9585d86d8583f8caa257a9cdf1c SHA512 2bc208b71409b9238362ea894e4fa8c840d06720efb212145bc26431141cbf12ef1265f119ef9e01aa7f1edd42e362ab022c22c4fe7c883fe9cf676d06a96fda
-DIST firefox-60.2.2esr-bn-IN.xpi 570864 BLAKE2B eb5ff620b1da6785c7dda177567cd36aa7b9fcf927aa858a68a28e9ba3b7da48e233e165baa45709636bb28586ee4b42a9116f1758f588e2313c9b792d81607d SHA512 3c8c6bc67b20d81920740e50eaf3cc1e1de169321bad3cf4690a4466a95406b5fcdfb5bfa18902e224c05463f5a9e9e14ef18170b728875867cfeb644f4589ae
-DIST firefox-60.2.2esr-br.xpi 512027 BLAKE2B f1c14314b2c0958d72dfab2c885569fad6a1628e46d7daa4c01117c78340a650f45c4c63464d318b41ef5ba9fc7ae5683baf3924d67b5457564c8018affc7684 SHA512 b12a9d95f0751998ecee6c6f740bca5704c0a002b8845ba1508cc2e9fb7fd7f96a4122cb1745f7303832c2612a6d53c03c176e4a0660fe146b673025a6ac7e0b
-DIST firefox-60.2.2esr-bs.xpi 514715 BLAKE2B 4f9af6ca844cdc350a65e5765819335b1ef1220f6e390178bb672ae408ab8e1e847cd83978a666e52f9b98622f1b15e6b4dd9d06c38e7c23f671621bb07bb04a SHA512 6aab08b50e23e08a0fa4757aa882912ab0d72beed41fc1beda2f1fed2da151f4d886c77cab7fec4c19483af2b8c535fa5cada60b0eea651ed25d1248eb815f26
-DIST firefox-60.2.2esr-ca.xpi 525257 BLAKE2B 4033556092ad6d1ccb17a761f62ffd5363930fda364f4e16136e4527eba66bec84c50950fb08e3df946a091e0b4fb8952a5ff6ada2864801c3199eecaf1fbfc4 SHA512 c90dd9c3e7131c3a862b256c7e12ce9f87cdff8704ad7ad506f7e6a4b55abdcc6d11328348607b44af5b0bdd1dc95dcbd685effcdff3c05b85ea17c525751e8a
-DIST firefox-60.2.2esr-cak.xpi 536290 BLAKE2B e807f6c70e2d6117d2b4f8b3f6aefa0d7bcbb5f59f6c1290b54bbeb21cf62c563b69f518b78f57f2bba3b826cffadb96d75e4da077ce3832eeddeb45ae342c1a SHA512 ac5e589ed3bf915f595695d2c4d6904dca54cb3fba613e4a133300d8d23ce0a979d316918a6137457f2ec73fc81ae8fd68a4fa539156f5e8138606572e3345cb
-DIST firefox-60.2.2esr-cs.xpi 531798 BLAKE2B 978cf3a8d7744b46e5d45fda8b2e64f782dabdde8f7885b3c23209a136a86ee1cb7886ecb0d10b82cbe7c1518a8cb44a5fa53b5b63811541caf20c15a9721e69 SHA512 3d9cf4c3658d3c12930c9f6f7257136ec6039d8dd5c836ead013c1298b80fe3ac2d228b407d91ac3ab2b08f8468d654442d47754e0eabb9ac8d2daa470075006
-DIST firefox-60.2.2esr-cy.xpi 516642 BLAKE2B d52a497f74071e222e7ca840e7cc00f7ce9bbb51e88589bc6274cb020e29d510d1e62ae25020e8540339e1bb887d303c64ec2ee6c0edb51ab4c46b52435336f5 SHA512 4dab0a446c263048ab0049b0c47bcccb0d0b013f60aea4eceddde6f1f74e74a37135cefe019a45dba9f7b17322ac49851ac2813c7351efa8f1bb528ccd9280be
-DIST firefox-60.2.2esr-da.xpi 510753 BLAKE2B 0bbf6ec9fff43bf8a4b72fc0f5d50604ddb9ed79e3e51a010bb64130f8b2f798e65cc58081bab85325d02941e6acd0138efef9faa1282939a2062bcbcc7c7efd SHA512 582694115b423660b2b188e2cfa8609e8aa2e1b7095f0d111751944976ca98d068a34ec52a4590e8ffe7fb68ef92f9dff60911e9a0ab1e5d3fb873263b391be8
-DIST firefox-60.2.2esr-de.xpi 526515 BLAKE2B cabb9558d950185f6e2ef61e4d444b7d4d32970d2ca6072e29d47fefe124222812f588119298e5ecec267004f8b0781e68ad2a0edc7f86d2d2ef32f9f7c666a4 SHA512 db828f5d57453b297ab411f281c6cc860ccd002157dcf861cf064facf89b000c140eea4f2e16b6c95bf589d231ff01eb9837c4a9fb11f71edaed2cd25fc24606
-DIST firefox-60.2.2esr-dsb.xpi 539524 BLAKE2B 6b14736997d9bcaa849aba3772e1fade6db3d941bbaf84baa9dbccf184d4a2e1175224d4ae28932374abf191885aa510aa056cdab7476a42e564b4cfc27ce845 SHA512 97efc6252afa3998241408cc2bee39976a48063507b9128f8741e4f25ab0a294686b4e6def23de887165b5d804102c50dbccdf0aefd44d56cf6b1a0a8a2eb2eb
-DIST firefox-60.2.2esr-el.xpi 593691 BLAKE2B cd036f3f0416f72826131961877eee40cb560098392f13693b89aac08f7e80c3f93ac763ce33e55b5c9be076b034501649c84fd7a096b6c1cf1e8a31902c4af1 SHA512 bee9683a97114c8398ec962ee4f1eee58bb48c5fe677591415bcfbd1cd156f6d5283f366b9eb1d5b4d603bed4cc6f500616ea7850f807c55bd8350e7830b7999
-DIST firefox-60.2.2esr-en-GB.xpi 491694 BLAKE2B a51e0374dbaf356c99759fbe47ee1b9b05d08e2c9970e712ffdaf17fad3f4cb54fb03852fb5a810eb04a7cbf31d85376227514f903f48ec3c77c75c47660a19f SHA512 68b4f8ed5a155de5d296f51414d822335182bde0506c55d1b40adb46b5863c8f1c4f30566b715d261e997c0b83020e5b98b690cc73736b20ae35302222d1e21f
-DIST firefox-60.2.2esr-en-ZA.xpi 474679 BLAKE2B 2bebace02ad7a29532589d2031598db171780340001d4ff85cb322ebc0d4c2484085cbef4f8159f139e21905433827651d841d2def44b5a0b230e938a4aa0cf7 SHA512 89f1e74297b522d82ca709edf9b4db7059fa4c6c2661ac8e911a4522af1141beca5768eb3142053b045ca84f4b5cb02dd6d3d3066aa87f85d3ca3c8bdf8ee3e0
-DIST firefox-60.2.2esr-eo.xpi 511267 BLAKE2B 3ddc82f3882d32ec28fe45c9bed8f717ca5f79ec65bd26e37c33527cb471fc26ca282d90d8387e7a1d589f90289ce224321f753608b29abb75acb3b328952b4d SHA512 653c7607deb0d93ae20a3ca717889086e044d9db547a7f8ca8417b6f130880b4ae507d9d3edd00be93a4aa4afcef1f2660e10f6f0ad5705bb6bbe65f4cb0e6a8
-DIST firefox-60.2.2esr-es-AR.xpi 524650 BLAKE2B 6bed69f6e63cc55d97fc09127bd03c68da410500949b105c17adb54416ac4ff98c3977f107e546b21004be8c86ec1dbaf7390926e68ad879deaa65bb6c741474 SHA512 35e4a6e02058cb05f07d3b8b80865e093d6d78af8c75160289bac260ad0b4a7aba060c48c8242ac10905e36f86000822abb501438d2900ae0a714f19ebdc8ab3
-DIST firefox-60.2.2esr-es-CL.xpi 527320 BLAKE2B c8f9a35496831800fc1462e1714f29f78bb9f68ea69d9e215bf8efbd14f9bb100fe39a9dbe6b7e7b993dbf957024381e50dd2a9a65b294d5bd71a123ea830e8d SHA512 910abc2a339ecb9c95195b0dd2c3f2d1bf540e3c09241f58016559602871ed75a5c8c9404e2eb1eac72c99a481874802479f7aa968dbf4b058286a689883e228
-DIST firefox-60.2.2esr-es-ES.xpi 459958 BLAKE2B adff22340542af4ac47ead2a26eabd601620bde1087d4f80dff517b259904f2dd6c80491404176ec3f49769a0bbc77b65948a7d8cc538914bb3c47e722927ba9 SHA512 035212fc7f14a3efedb112a6cd4a3ecc77cd414eb2b056a37ab558d6f8fa3f6896a41f7a193b8bccb1d338f0baef7c1638ec34895bf8e34d74ac63f915c9d388
-DIST firefox-60.2.2esr-es-MX.xpi 528664 BLAKE2B 006ec7f57887c4b95a831e666c2f2960ac4853d31f05373cd4f3f499d7b820e776f5cfaff27b3202316eb005c9aace6bc9164a4bad4e9555f48c31cf8672b40a SHA512 43c39b80725f3c82908878260493c1c269230a53196d237604075e6a45b54d0764fbd6d049fa032f7a03c4902265ae38da0e9c1f8c9372fa8c4d873f24d82e27
-DIST firefox-60.2.2esr-et.xpi 504975 BLAKE2B 7927c499db43fbb58c1c5ce0811af6bd73359ae255144f09e76a3937b54a513b1f2221cb7107c7c868bc4f06d318b8d21f85ea805e1008c2a03554469f956b81 SHA512 7e2e41635e5b37b036f5f8205d98c077b698262b2a84284c165b5f9011b575af5b271570f91fa78997c256e2bfbe5bee091061bbf36710e21374548779e81c7e
-DIST firefox-60.2.2esr-eu.xpi 511710 BLAKE2B 5d421483f8fe8f952cf8bc1abe4331b6d929c61078660ec4b464b03a51010ae145d422b81dd671c19001e25f35726813a0e1c48013142f7c745f96f6d0453f77 SHA512 da8c25758c16f8d9c0161aa33e27b6e9f0481ff2bfbc7ee1d44da5800e18fe43225ec983a73793980559d53e40312399d98850943a9475994f0375a0b0d49966
-DIST firefox-60.2.2esr-fa.xpi 566262 BLAKE2B 25a67354c0a50272d8be4ce73f17f98b23f5b4dcd253b54f56da81ed263d809a211218ae1e7e967718b5f03b1e0e37f680bd257e9c0ea7a5b5be75844daa0637 SHA512 8de060ceb8fec5f5774dcf3822aa7614dc771db7907abddc56b7d55a998b7424978b8ad37b8307b8614307d3134279e11fb78093559347c431358c7e351c4edb
-DIST firefox-60.2.2esr-ff.xpi 512205 BLAKE2B 4e406f005e5373f208be15111794225995a918f4bd025d543bcb31a2e2c50e2a20800e99e26579e6b5e6fa8bb623e24ecb88efff1d9d9664427474a1df96d67a SHA512 7778c36392aafc558aa0e6fd4ab01b73ea6d6b151db9a1833275857f6dcc4fd164e7dc38aae20ba64d25dffde25c6e27c2510dcde3a764253fe15c4ccae97260
-DIST firefox-60.2.2esr-fi.xpi 506177 BLAKE2B 1121ce955b60a7e8ebaedbb5088f29ebbaf34c3d4337f5768493b883ee3d5565f559f071461a4ec58818997acc71a40f2d299bd866900b2586e0f7895edd1ad6 SHA512 656d84677627a38e8c4fe275d9f50aa6b702bedfad9a1668c2501a57d8e73a5315135a0fbeb78d41bf86bf15c1c85051d538ed7d50826dbcd6bbdd6c0a132d63
-DIST firefox-60.2.2esr-fr.xpi 536072 BLAKE2B 6132150464e929a8932423c3af286f4420352369fedc1ea227c92dc179c98235f7fb7354f5d911e5006a8ee9c1ec73d25dc4e8f9a0f92062e6e242073b883638 SHA512 18732efa9435225757ee42d72ffe52a63457ace9963f92f10ed16d1a4728f2b5d273bd1867c271ff3b6b74f4957ccf069ec1ae473011cb4ceb526b0a8f27c1ca
-DIST firefox-60.2.2esr-fy-NL.xpi 524520 BLAKE2B 118388ff5283d378cfc4584aa73a1ad83e768f255c0f653739dd3c5388b430413f069053a963076369c5e37c7f2166e4141b84a76bfa577b4305d1c301c661e7 SHA512 acd8ccd151f46c9df7a48b9ed27f2235411353f49027fa804dd87d92c9bcd641747d268e72848d282163d26100af17c8ca92fde70cc06e10e78a23c254c9cfe2
-DIST firefox-60.2.2esr-ga-IE.xpi 526986 BLAKE2B 6d5a9070e7c6ce303229b7a5fbc754593fd491468305713c3e29654c970a1a29a24baa3939c122c8a1791d6deea268e0310e11f8e9d0bf2e6e9ec2f8fe038339 SHA512 08b9c58fec687df3ba7e5d21542bcdceec7fef61e2d9af2e52bd4a79dfa4687bdc7f627d641da3acad893257ca5199a256bbf24491917330dc26d65ec8d4fae4
-DIST firefox-60.2.2esr-gd.xpi 520872 BLAKE2B 53af25e18039629b798edff6e4d2cbcd62380c561af0f0d99dca5c2caa979f8b5bffe94e57cddcb8bd11ccd3b01410a74c92afec6670f50fe0e642d1364f7f30 SHA512 128f1f6427fb1bbf7944560803981082e4a1b7ad023ef5a88612375201202f14da636294dd074de3c3250f569d2ac57c7462352a6d35f0a2bc98c3594fa679fe
-DIST firefox-60.2.2esr-gl.xpi 497371 BLAKE2B 6c99f56d2684ab6ba81356289fc664648cd370c2a8aa8c18831054ad65f5cbc1c8eef74130aa4d66a35a2f52de47c967f4e4b0ed342cff71319a14ccb88ca614 SHA512 c1ffad84b3c316cc3e7c80e13d5b8a6f4de2cdd012bd1eb17659adb8c8f355870baa9d9098899dbef4b44df40f644871fb12b5649823b1f62c9081cc00cca8c7
-DIST firefox-60.2.2esr-gn.xpi 533219 BLAKE2B 4af69b43c25d73910463fa13c332173f35eb478923db111c45fe802d90bff8ee727278452da019ae40ab6e7d11511b6d0cf8799114c77c6629b99eced7d29d5d SHA512 b9057b916bcb11a4ff7cba279e65079aca267c610806b24532238179b40788fcbf6e049be01e8373d1b094244b1e1cd9ad97d705ab7e1595516b21e92843d2c2
-DIST firefox-60.2.2esr-gu-IN.xpi 590266 BLAKE2B d35528b9cec4823a93b8de75f65357d3c92477ea850434f144083c8c4d54312ad0081944b5846ebbbf15b7453ebb66f4aa54eb4f0a53853e02466579c5fef99b SHA512 1952e6e48df6b12774d4fe489af2befe1be2302b6d8b66ff77015c2b327ebfefe32d2d7b77e47925d35da33acd6ea83769c02d0a039e719ecb92a1b9fbf01218
-DIST firefox-60.2.2esr-he.xpi 535979 BLAKE2B 6f97ff0c81ef500837cf1aea144eee374db7eeda06517171cd45e8944fcfded14df8778fa06ea609845102fab50cba457f624cca8c1e532816dce92bd02ef69b SHA512 a3011daf6e70eb93049f99f23c9202e4b8f14714fb01ec87b482fb243d1250baf573a8d769e6ff81c44eab9dc6b2ae712f984cced11b0c37c0f4bdc279b8c6b5
-DIST firefox-60.2.2esr-hi-IN.xpi 590870 BLAKE2B 2159373d4ff2ee878770b3779cf4ab900dac03c7310459c77ab5f8463d21f76b759fee78d6a1ba59256e3c49c3d96c82ee7d2bbfedd47d43e50d8a70e930923f SHA512 9cfa7a1ffba8aa18813bd98536462aded0f2e6d77721b933f6ab8924cdcaeb4f2998a0c86b742afd66fb26766250edecdcddd032ebeafe197c5305eaecaf0acf
-DIST firefox-60.2.2esr-hr.xpi 515960 BLAKE2B 94d89bff75d4d4c9ae2c1a0277285b47ab0c1c3d85f6f2485229f0ab3281622039ae4940c7a11c09dd4363d35bf8654e7aca4a2bc9ba94688cd4eb529ac47a11 SHA512 c2b7cd4f41e6f0f604e0be59dfcec25e39fa89d1753f53245d59a5f427b6ccc91333166e511437d4c23d7a1b7d6902391511caa4a2d0053d683e1a4a2845306b
-DIST firefox-60.2.2esr-hsb.xpi 537059 BLAKE2B 7bc112d977db006bb4c527dc35002fa1ec9f47b065ac9c5372382a5048b2c9edc6cf4914f8a1c42465d413a72089f9cafd6b2e6001065cf880a35832354c7b08 SHA512 41f08dfc6f0cc3ae1be34187d04c1cea5b12c8648b98af8f9ba63c944c75e61e9ddf8172bd514f00e403abd249bd8c4f2f89955426a7ef17ea95fbb5d4256a51
-DIST firefox-60.2.2esr-hu.xpi 538418 BLAKE2B 1c139cb48b3805a259bb120607ff098b77355f71a1c00512ba16849b7c58f236993dfc1faf82e63f649355998edcae60921722d668172f348288c219d86385b5 SHA512 29b00f4064001d829093a6d0570f69e3555c92f1d9a22d97d72d311da6b255c91f811ca436db3211e3f764db0512f225ba06591df4b766d469ce3dc614443bed
-DIST firefox-60.2.2esr-hy-AM.xpi 569415 BLAKE2B 29f5e0fbd7050d3e7a94f0923b9e8520e2e9ac48f6d5c1bf61d09d239f326d27731ddfa939c2ce78d921f0746917ed119f6cb6a4640feaaf35de4b6b6688650d SHA512 4912736ad06ea845ba6b7439176afa18b627527ab94ba66873a73b88884e8ad7af0e6cd0f22fd3ffb24d4c6d646fda0d51ad6581b0462c8657f218c12daf7ed1
-DIST firefox-60.2.2esr-id.xpi 502220 BLAKE2B f3f86a1f32e33095825f97effc4afeb12e6b3072739987e8614d7a7da5b715959ed63512092d40613621bbe1fe1a7f4d68c6f8d8108e44b1152fa715a3cd4039 SHA512 c5bf5527a10150db03588fdea0958cb3c332cbff730b9889f265e333ee652db1c12255242019a92d7f402e9252d62900228451c753fcbf391447e7a842f27632
-DIST firefox-60.2.2esr-is.xpi 513271 BLAKE2B 51d2f070e806afcc8b4d127d18e013214193a504d05a87ed32940df57afde6e1ecaa059928ad35cc9a02fb7065355306c1a69e50fe7e086c0f07eef6044e724c SHA512 b469007a2ae873dc483e4f62b2014cdaaa16e99b18112ccd8db338fb604e9291a0b87732b23cb94cd27ae291847195e99c3be5ef1f456fc402e8edc3c76a96e1
-DIST firefox-60.2.2esr-it.xpi 399096 BLAKE2B 7ee6d12d89c3f9e82427b23a8a8e20add5e68413222199f742333eabb64abfeb48e102e93ec38d260d37420ea6ec31437485845b6c2b4e4f17a89d04f9adc82e SHA512 62a4a45ed227757c4ffbceaef280976a9dc4f7cccbefc221705a2806a42d8f59a8c8d8a2d3cd45f12dcd0de103f2a3402549e4f376238566890ee65eb1d5ab47
-DIST firefox-60.2.2esr-ja.xpi 572015 BLAKE2B 2d01e5318bd27ed43373744e67d12a1c47f1dd377bb81e541c5eb7d3d952c1aa067caa397fc1d4fa3bc097c5096e63947fedfce4a85d8094c8ef1edcbe03e7ab SHA512 5b6e95abb652ed6ac143198646ef2214342d2c0686f4241aebf849ce1b419a40f62dbfb310d64ded325731f7e973ec00e1d61384e2cbcc5eeb2d510705e5bff7
-DIST firefox-60.2.2esr-ka.xpi 556846 BLAKE2B 6f9e6bfe2051ee3466f85be872fb758ae9df6fb552e5f07a333efb80e4c6eef54aa9ebb16ab58351494316b501117c7635768f8a2a9fb20047b3c7802981289c SHA512 d07566979d2fc608796dd34cb8af2d253c666a2af3436c894910b216906000b6eabc938ca839e67af2af08a58d4767038145d6ae852e06602b6683c95ae2f823
-DIST firefox-60.2.2esr-kab.xpi 520399 BLAKE2B 6beabc507e12f3cbf524a808d0de3133097aa1425c5dbdd6f0b100b8dba459fc342ff21fe34b3781ed32af8a4a7183765c5d4465a84428500febcbdd3764794d SHA512 48954ed39479de7620cee563316c3605a999c6e4ecdb42b7a874292c6f9b16266876befe906cf95313d6486221b23fb678bee64546eefbf82081c24853892c2f
-DIST firefox-60.2.2esr-kk.xpi 582980 BLAKE2B aebaa7e4eb0a4e6acd74ed3d892eee161d85ff62ea51218f0c2e61950f2c4247cfc3eee6b47097dd7674c73e3efc21d478cc11e5d9dbd56878825823a250c2a9 SHA512 b610071dbbaa7ac30b45022bd8a558f71451d0f2a72b8e2801ab3a57f40b524a41738197846c58955ccf4024bbe69adb4b506258e530f79da3c3470e9b93fb18
-DIST firefox-60.2.2esr-km.xpi 583116 BLAKE2B a9efe205c83486729f6bb642c64ac551c78755783cdcef57b213fea8dfc6f02348f180d5c1e1926748fe0f37bd673f8506263945a15b74b92984383fdc8c10da SHA512 2260342e18c9cf8dc33bd0622a249912d29d3466a960cca6f029e43436534919755a1b29de13725e73b1e0e9726719666eeb78293570542b12ffca5a42239c4c
-DIST firefox-60.2.2esr-kn.xpi 585873 BLAKE2B 72c0bef61647e1b770fe4677ef435140d4291d5a52d72e2cad904c004ce5657199aa6888ba9c477d02bff0dfea5d7491a23b43c0e3989b161bc076d842750ab1 SHA512 f55fbabcdcc0aa3269e33c0c7b03cb04cd1a26c54e78c8a29910d3108ed55ac1f9623f8fdb3b822fd586d5d798aa2d2306fe0d42a109360142e564b63869a9a8
-DIST firefox-60.2.2esr-ko.xpi 547826 BLAKE2B fd36278f959a63ac7904d2451cafaa3761a087beb955947eb4fc1b9061b4c68756a167cf9ecd5fbb1b6d891bdd7c2e0610ffd3754b0135ffce59c85adef746dc SHA512 6572453b84e57dcb8626b11a438e9b498400429fa60f3e63e4f40a10a4272a1fdc94798e3c6d4a7f58adc3ff0b442348e0da4b70e17002f5ee470e620d1d8c43
-DIST firefox-60.2.2esr-lij.xpi 513176 BLAKE2B 67a9785fe379dcdbd4553dec6056efced59ed58b9ba26b2dd1d08e13e4754a802fd183dd71524289a78f1a33c835cc807258421b0603d9a3cb2266610e64c4e3 SHA512 fc1a7d1eec6b49ffa8f9f2f6067fd2c207a6bf4b1f80211877f266102de342f19c75aaa931b463a20520a3df417b451cfd115868f15ad9560b1c4034b5c7bab8
-DIST firefox-60.2.2esr-lt.xpi 536464 BLAKE2B 6fb621867cf88de1d81f04f50e0bccf663d4163b8ab25d6a1452a2927b119e0825ee61a747cad931d7857714f3a2deaaed9543d6755d353930be9c6f63fb7f2c SHA512 257be3fb41cba7e12b4de8a1118fa3a33db68aae8f176651649cb39c4ccdf8986022f744d23f3998cbe14ff1bb4ab60d83e516d287f181b496a58662af476792
-DIST firefox-60.2.2esr-lv.xpi 526414 BLAKE2B 381106227a612310cf2ec4e65b509d0324d4e367100739f2ce1073946acf7979703c2f749929614f5b5338328355f446eb16d4c3ddd2b2c70fbccc9db3c21bdf SHA512 42aa2caa1eae883abe3a40c9e07ff61bde7f4f9a7c51962697b23fa3504399d792e0739efd88fc51a4e5c579f877a8f665a0268ae44b5bed122a539c88de9bd7
-DIST firefox-60.2.2esr-mai.xpi 549256 BLAKE2B 637ef1886a4c75c4816e6d7d231dd09863f8231c1514ba26ba2b257519af19b26536ad518d04129c2c84f57f03aebcc5d96cfa35543c1d9ebc9a39e99ef98e90 SHA512 f4d3b747cf3fddf11b00e764550d4dc28b896c04b130d2a3bd5841588444d843e7d51ef47fce71d90c110417ee74c6a6bf5b3f00dcca738b3cc44c8bc2fa91ca
-DIST firefox-60.2.2esr-mk.xpi 513807 BLAKE2B b94dc767c3bd7b000655e7471907f08d52b2b8c7530e15d25e2091d611818c2b9b65b16aceacd8591dc298ee056cb40162f2ce91d35a26b8ca29d287be02a8af SHA512 df84f8b3bce96b7307d82efb53adbdae4682996b6145009e19e8928a619aef13869046558592909722ececa8819f10b28c7438ea83ed021db648cc0cbf9f8651
-DIST firefox-60.2.2esr-ml.xpi 598976 BLAKE2B 2215a66ecd8bf5d21f92f3596985a211dae9491f3af093c927884fc55d345a2a16d1660f7aee628b7f1189a3f729dca9d7fda2bfec4d22373e575a9f678269f5 SHA512 504880af6117e2a5717468618a530093668589fafb269e893256c6c739f956b08ee75e9da97222878b783384b7f972d51df2d515e71365788a17355bc789836d
-DIST firefox-60.2.2esr-mr.xpi 579120 BLAKE2B a5fe2a820617ae33d2757fc0828517b40a2641ef2af0637e78418d7807498f3a8f8d35bad796322db90b0d89f4d984f8b305034f32ebb2839d2196e4b21b717d SHA512 e7039205e325ce0a7de414672c0766a336f599a49e30decb949c5779e6ccd2a86732454d6a0d6a9bb413a8cfa4b5428d931d47867d049cdf1acce380287d1618
-DIST firefox-60.2.2esr-ms.xpi 509552 BLAKE2B d6f3da9fffd81157fc3003d03d466b268fad1210484d6fd4b8afe29af1a79e1ad42d9ab2cc200b52e996c18ea254bbbf6198c13b587bd78a1b77dc8d78e787f5 SHA512 f2595e52f56cd4cea214ee21bb08b8bccd3f10de54c21391fd4ee5c8a56ea0a175c51d9f5a67df8a1b1e33e291c754dc1e73be1fd443f7abea19aca9592fa8a0
-DIST firefox-60.2.2esr-nb-NO.xpi 509890 BLAKE2B f6e675b493d9accfd89c563e7cc0c0e0add6607add2a3fdb7253b94f0897946ee6d3d0a72de03c6d1f7bfb8efb885b2d034820d50797e5995190331062d915cb SHA512 c7498353385587ed73308482ba576df03377bc8e51053de0eff08fcc0690d5bd3eedc674f42cffb1cfb39b3442c8b676e97aa9795e093d25014ec60d76311bdd
-DIST firefox-60.2.2esr-nl.xpi 517459 BLAKE2B 1b8515023a169527e82361399b0eb70b87108301a4f3f97180cf1b469f580d8195bc5582c3b8194682fcf53b55e8f09e18a797cc00d9eb8a014c2f9bf3f1a9c0 SHA512 8d6d09a4a62b095ceebdf4190850482650e933d606b1709b123e7e7255127bf8784cd582f6c3be005a2f043c87d45730a4bbcedb4ef3eae8377d8687f6f8b6e5
-DIST firefox-60.2.2esr-nn-NO.xpi 511429 BLAKE2B a009d8a6398c5a8b717ca719f99e06a58846a93822e3c63417904e91915754d98b93c8a3405bdbf5d8b2516cf4df8d92e38b75bdaddb6eaea43b4e8390ed474e SHA512 4aada7b3118afea2cd99c3a9c21b6208a482c384b3ef11cdb3c1bee2ee3ac27b59719e601c97cd5324586236771e208b46ac4c1c2619523f1982e8b7daf7bf04
-DIST firefox-60.2.2esr-or.xpi 540863 BLAKE2B a0f52161d610cb87934161cfb225dda4ef2ee68f933adb775d7fdb78f377e61548e38fc380dab31a9fb6097b6bf0b24806778c1b2d26bb9f0f88a8ae40cd0438 SHA512 b95c0a064870fca58d09a9c7036297a4e1f1b60cd9f80cb2b0d333a3f96aa229d34f354f4fb9ce16c83c82653e2ec6ea9b0322f2c1cf88e492f324d8c92f8b39
-DIST firefox-60.2.2esr-pa-IN.xpi 557877 BLAKE2B 02a1a25df3afaf36a5a033cf675a3a2ea5eb690d871f4ee5ee325b9760d85f36f40541b54665365df07bea609d1820cbe98bbbf2c02c87b998174b305a5a56c3 SHA512 0b00529af679ebcbac41192b84c7c2d1addf298d7a2c563724ccf14eef464730be912214f3f25eea60c774ee4150200aa938223ba50922e017e760bc091a998a
-DIST firefox-60.2.2esr-pl.xpi 419023 BLAKE2B f173e5cb75277f509cdfc2b82011d4f6308097675fb25263f416ffdf83ef4e351f2b2983f9c4fa3e032e8e50812ac7f2e83cbf4d4c0efa7ea87ef5b52ef06649 SHA512 c74869a5150572eee28e78f3da2bc563953afef10a55c38ec560d5cdd9f52f57704166fc86b03255699fc1273bbef2f701f130744a57fd0ecd081b48bce9d850
-DIST firefox-60.2.2esr-pt-BR.xpi 514759 BLAKE2B 8d16aa88cb3785e59652ff6323215cfe7bf1d150496dbd2e4af7411e85b86ea8289a13d1f76dcbe7d88d6b3d5741638b3d108dbd9a6a00b454d74377997f4748 SHA512 997b3488eb34ff71546794961144d80b24cc7c7f80e40aa5aad61456457ba2446ac6948456bbe441a3f01d87019fc561fbbfcf3c8219c84e3509148d09422ca3
-DIST firefox-60.2.2esr-pt-PT.xpi 519361 BLAKE2B b5bb415fd5160603dbf6adc203d5dd9727ede8559fc80f64ed3d13a24ec76d7a9bc31c29fc3a8a4a1b7af87166219a26a3f0054e0e777f9ce0de5e197b26fb52 SHA512 68f933a0eb131adc3977f945bd0f8344ceaab67686e303bb21ba633c2161ea27af353f71a23b33bf7c01a29ad777260ce3b688c66a6a69e72c001f63a3b5f80a
-DIST firefox-60.2.2esr-rm.xpi 506037 BLAKE2B cdb27e8a315eb85726fc629d2f8d6647df7819b0028d10f5a1c4e9a951554cfc4f26a72ec479aaf8cb3ac47e09bd46b1c4deed582c00f68c39f055d2eaac1b00 SHA512 8245f6b2abad18e4c8c81ff95b5a23d9a38d18ad22470773b02ddbb10bbdfe373838d7ddc6977acf9769a7ceef555ac6b8f80d0585a4e35bdd1151d184e4e0fc
-DIST firefox-60.2.2esr-ro.xpi 514050 BLAKE2B 60a21a7656dbd9bbbd98f450b32752f3de2d805b29653d1bdb7a6f70ebf3e1b9fc40aeb6a66c61d42058557e1d07e90ce3f3d3a648befad601c03d691547f59c SHA512 76c9298e0460c7460f71bb3d1b050b906808f4377bf1eee7832ca90f88fa0ec255e5b77da3d62999942fad24aa8acd921e56d39892889ad1202d6e70db365d4d
-DIST firefox-60.2.2esr-ru.xpi 591397 BLAKE2B 3467f438dc6dd3dae7d3bc6e3c842f17dce48fc2253796c9c8aead4d6e24536ecd5c5695f00ebe3a4fd1d572bd13d02f7cad2f8e1b3534a9b9dfba03e1338611 SHA512 cc17e4d3d5f10b89ab47967ee5f11ae7ef72fd84b595d6d7c4faffe9862fb02ba3882affa86e681d3e8eeafcd37f5b30030907a32c6a5803027a9597f038b8db
-DIST firefox-60.2.2esr-si.xpi 545572 BLAKE2B b0ebdc71d56cca6ef7f3e8be9583005096c9041c2f02df37cbc5fb62475befb6f7c100fa798d107dd10c8b7558e650e2c405ee5d7f19d55a0aedcb992e2f4c77 SHA512 d37c7a61e56a7fb5cd97621b3be8f6eb52257c2ddf148eb9af5848b8278d245f78a20e11d05696f6bd6d2d5ee649e4daf06b9c894bb7a7d2b44625f3a7db69dc
-DIST firefox-60.2.2esr-sk.xpi 541702 BLAKE2B c517271494f8c267ee3565119dde72dc34e860f37c04eb064b5d1f4ff426dd0c14b7d9157e59f52b64ef4d4448c5f5659b6f06062fca0eb4594c337faa7189b0 SHA512 647243724d899ee070b67f570b7cf6b4f12fa34d86a7b4c847c6a9061892b68f9553e5b481c6ca08771462cdd5f342475f25146a6cd3916afd19bb5550eeaea1
-DIST firefox-60.2.2esr-sl.xpi 519378 BLAKE2B 8f352a867ba0e4cddc4512df33448af376477c6f4f75f4983e319f1d60311a5cfc3e5d4f858e8686c8bd7f73df1141f6084d0ed9257a18f54174d0786753864e SHA512 d50e02e2b94fe6cff6c06b80b58c892b7297bf5390bfeb92598aabfdafc9bfb181b410f3e39db4fb17676a6edab79bd4f6d12ec3c741c7d19670b4de4bde5407
-DIST firefox-60.2.2esr-son.xpi 497699 BLAKE2B 85baf0da0078c799a6f4acb95a79fc146522d727588ab046099e84c7f1e333ad9cf8a35367ab0984d60f9b7c49e37c9fdad8a7cc118451264a0ef7b7326051c2 SHA512 40dc45bdaa45d3be1328f8c40af6d6ca5a5cac03aa91c8c96e043bdee5e19aae97e45570bd4d36bf5731d87e827e94a95af3002c0c0b0b6248e4d522cd708963
-DIST firefox-60.2.2esr-sq.xpi 521266 BLAKE2B 30d8e156a5e00a33adf790f4504a5b71420b7366b1da96074823e3d59f9b7c579d89b9a45cfe7f8478cda0b4859de0f35378097a7eb20b25c25a34c9a71cdbdc SHA512 b212928722deba9b53f860a25686b5d1778d98ce3a43e0dd6f75f5d9c5a6f87a7f36f1c920ea9110b798cf4783307d324c6f200ea925e2106d860de2425730ae
-DIST firefox-60.2.2esr-sr.xpi 548771 BLAKE2B 635c9f8e2893f68b15976bbbff7b511c87150ba3c5e3f1577cd8c9567950dbd5805a12edd124ead44bbfe32afe9558d7567d3ac682acbf427047281f8ca8853d SHA512 9cdde47b8df9bacdbb25b8907739e5919cc997773f50b9dc0dce2d75a89ac62069828e1fb31eb520970ed8d517ec6896f13accb7c2ed611a6497f4ad92e82375
-DIST firefox-60.2.2esr-sv-SE.xpi 518661 BLAKE2B d0a3d7a86fdff6f11e236591b9927bdfba10f836e6a504f9390a662cf106fb2daff50216de865a0ca0cf0acba60a5c392fd4a0311552dde401d3c4c6abeed544 SHA512 855a23807f65a01bf9437dd3fe6558f4167ecb1aed5bcfdb4ae712cf6fa169621989188ab01ff2e7b4db20f9c922f39298f1f7e16a067600f7f14a6346ed065e
-DIST firefox-60.2.2esr-ta.xpi 577920 BLAKE2B 631e58b7abe7ab4e7cc5a0e8ab5bdea44702ed0fa3c83cd8eede05f858bbbe5e9159f011e8fba6ecf3c111b8c16f7b34cad5c060cda3c922d0391b77d3a69f53 SHA512 f62e11112eb261f9ccea2bb8c139b3b3e8bd07c4dd473dc3d0b995edee9d59750375c0d2541da1740e9e9efc305b7f365f6f9fe3c1b78bb0b11d41ffa1bc8b09
-DIST firefox-60.2.2esr-te.xpi 590956 BLAKE2B 487532722507d3a5d3a881b87223c7b14ba41796e97e27afa487872259d193881bc1105bfc33b95e64261341242ce57edb5c3ea8f29cac29adc4701590f82c52 SHA512 1e7d29805274074cbd8d4bc32e65b29ae2b8eeee1f24a9c2a9c794ec09f2a4825bbb078819ec065aeb55688613cfc3ecaad3a8bf7da0c43d31f863f84fa680e5
-DIST firefox-60.2.2esr-th.xpi 562814 BLAKE2B e430665bf824c10152b87219011972b1f5a0f7bb562139db001fe232e2efb89f78cce437ae25476c0e7b0b7fa6ee720e2c944dc03eb2c48f3cd2a03a20030a92 SHA512 9dbc18e5338176b631fb7487521df3de6116777ff405e36b1cd6aa4513f5a2b3e61cd59e41539a6342e81fd9165fe0a537ac8a65dd38083f1a220af25ce5ef89
-DIST firefox-60.2.2esr-tr.xpi 525852 BLAKE2B dd868efc371c136bd23997f48c80ecfdff7fc7d78175ee3b18b2d23a1970e1f77e4e9d88e5cf33b67bb0b096da74d85269d148d0a1f645b574954ae199f63e9c SHA512 f397ee33cf8c4b7dd67e67a0d52a5d9fc2783beccc7e38f9e0f7303a237fb31949c4e368d27eb9ae8a623f5fe5b3faa40653ffa4ab1067f5e0ab2c18142e539b
-DIST firefox-60.2.2esr-uk.xpi 580921 BLAKE2B c423a2d1707c91f4b89501b101f7e6289b41b57ad42185c08c87583eb69ec9d8f17a86290a80a6e483bdd97e15c5b68eecbff8ac1268a54fe2d52093f4dbb9e3 SHA512 db48969a713a92226aedb18623a59b4f4ac65b54d36abf267dff476744cc4b35c62e03e2c5a79ec16847df473f57fc1b4fd2252e36b3d0c79f2ab479f01ce0ec
-DIST firefox-60.2.2esr-uz.xpi 513689 BLAKE2B ad18cfd6d3be7a6ced237713b67ccef04340aed712a9bb7bfcb784cb7ef7d009756cfff5b7a4de04fb343edd01282855cbd8cada2447b4bad6d21e81c67d8c66 SHA512 9eb1c8bf583677d39b3de8985cf908363f775c1c84af88fcf3dceb6fa14517efcb84c21f12c6fa18e5ab641a8c2480f3a81e15bdeef9341e68bdb50878559c80
-DIST firefox-60.2.2esr-vi.xpi 528190 BLAKE2B 27026450542b4c642a4ca29a79ef933dab1011b41e915395b60a4e1975fb085665ee4fd8d03ddb7c97ea5ad5f6058628542ac380d574ca8044542820aa2eb12d SHA512 281fb799dda1ce4a03a7fc704af82f9856a23f1182e7c014107d1ff53e45a43ebc0d889472e8bc0b08dfeaeb9a16a78735c3cfa91399eae3f0c7ec3a20f59f64
-DIST firefox-60.2.2esr-xh.xpi 511856 BLAKE2B 70194a17a8ef8dc0bdb37ddcc829cfc7ad6603c850868223afcf20b640bdf85956db53f760427618381800095bb2a2ed65784f007f35cc18b20548c15bba6548 SHA512 2b5eb358b21b5119f7aa7a421cc1cfd6ba3ea311559a9869ae2ffd1965584296671d0ce5539c4190849ef197c2e81a347d610b7857128794c23f5b180185b566
-DIST firefox-60.2.2esr-zh-CN.xpi 543584 BLAKE2B 95b242cb974b96613a76808f414d0a63c9a4b57c9b752463d80c65b0869645823bfab8478e52e859783b48e9632ecd65843ec5703498f3efdcf00dca0f0a866b SHA512 9f111eaa621799c7aa37f8a0788296582bd60b8bdd424ced70785d12f8653d957be2ce35dcaea8ae3a7c4fa8a54124b36484572e3b354a0c7ce48da34f7d4e0b
-DIST firefox-60.2.2esr-zh-TW.xpi 541908 BLAKE2B af43fe323f6113b6d9cdda1b3a106559648fbd52751bcc28df15f7de1189a36e3dce1810e213f494922639b75c44e504e3fd3df06e26258affc92810929c96d9 SHA512 991aaaae66bac24e92cbd00314caf9a226cc1a5509e0cb812e8bd7f14d21d842ed8ec2435cab0c36c4a785b397c15f98c70d92c83790a1ef5a47a97ad01b5200
-DIST firefox-60.2.2esr.source.tar.xz 267599268 BLAKE2B 2f5dc77e55905a0ff7dd8868862bb0586420e4037bb264abc5abfec14c48c7778612be169f137056eee433361971be836ba424916c9013d7fa19db657dabf097 SHA512 8149ad0c974a70d8cb18a9212540235089b2a3470edf4dab5eece68b2fab2c10ff426a8a8acde5543b81f847d751ef4a286c9aa8aa33bb7281b429e95d292ba0
 DIST firefox-60.3.0esr-ach.xpi 496841 BLAKE2B 32ed75ade30c50d8587c307da79d27ab1ac044f790218bcd006c71548c0c176b43c01cb965e71f55ad56cd33f2da931f22999ffa98f2f7f9ef680a0d54adc689 SHA512 9668e662a80be67da9d66240551adda595b4dbc88b7b2f8007bf50dd321d35ec98cc044da503c68b1bfabb3683bea9dbf5d1562efcfee7532b68673400da4856
 DIST firefox-60.3.0esr-af.xpi 487308 BLAKE2B 1e8fe670a7c7cb404cbf98c9ad6d7d19f35d7acb757dfee99f365f2f0ce676873d053ba1a07def796224f3d8bcfd35aab2fa2bd1c59e74da21fad78b2ecb01c3 SHA512 85372897e982a986ef426551f5d74e1da4dd0d6dcfa603de102674ddd885784b121b0028836f456efc1239c1d90edb41ebf34e5d2855d0397df5c4b2bfe376e7
 DIST firefox-60.3.0esr-an.xpi 520503 BLAKE2B 313ec2af94956f7333eb65df011b37d6ad4cd97aac8d650bcd6d139154a84124f9f15d700171ffeb17a37ddeceea5fced6b579ee66b4e7df533d1c7fb43e66a6 SHA512 41b7907a27c720d2946ad6269d67f36f377ec61abe5a10d16ad76e340c6a06123af00601658c97fb5d47f5fbc002dd940fb0e159cc29baaeac861fe802170d61
@@ -276,99 +184,6 @@ DIST firefox-60.3.0esr-xh.xpi 511853 BLAKE2B e40dfceeba27eeafbd757a14575215448d4
 DIST firefox-60.3.0esr-zh-CN.xpi 543582 BLAKE2B 1be96fa611ca6114d60d2a4f4e9164c33e46c127ac62ee500a2f1d027081b4b0f15c4cc50b6fa733f0ea196412bee691b8945294e243c87236b2fb114fab254b SHA512 a4bc406c2163ebaf00ba2b63466de9d2e5839bf28f011b85c7b0f89ba5ad1528511e524a3363ca58a90235a7976f99c05a0510c164b15993b80f962f4c546921
 DIST firefox-60.3.0esr-zh-TW.xpi 541908 BLAKE2B fe6f381d3f2949f3132dc125df597c4e135347933c52b681287f00b3eec2cfb1eea963953a08c0ece5de8d276c06b388692a53bb77c54bfa195709e7a59340fe SHA512 6743eb9442e28ee924230bc8acf2dd52448532ce76bb0d6d8ea89b6e5f4d1aa4fa9388a2012636d16ae976526f154052d51340b239c04cc42ce991186d0b3b33
 DIST firefox-60.3.0esr.source.tar.xz 268340600 BLAKE2B 5cf17a85b941d0f43bf3d714f289162cb0b0d979951cc0e1187163bc72be3504787cc4115f361c5331731a4481fd1fa8214d20245f08a4898442e964aac48506 SHA512 7ded25a38835fbd73a58085e24ad83308afee1784a3bf853d75093c1500ad46988f5865c106abdae938cfbd1fb10746cc1795ece7994fd7eba8a002158cf1bcd
-DIST firefox-62.0-patches-01.tar.xz 9696 BLAKE2B 4154162d2502378473d7dba37214a82ff146cb0be33f75c5c1bc9c1d344eba47e005df4b8512219f1b5467b5285405da284e29e86e2f773fe181c06c8cce6950 SHA512 f8a2469fc8b6094a44f396dbb87996a599ce6379c57507234d1ee87a82095809d4094fa89ce3a115dc3068c1a52056b4095941e9664646ef497c629f11c105cc
-DIST firefox-62.0.3-ach.xpi 446325 BLAKE2B b7722cf6f8a8de868fb9f283a7203d1c7d40690bb78b38f244c392714d7f232581d04c6e59f647135f8d315dca4ccd60c5340d1fa36671871eca6cb8e47445ea SHA512 eb79bec0b69b53cf1653d7498cc6a5701b1f898f89b90ae40a414201e460db5ed7141f0fb7032f5c212b1eafe2676a09b4954c5c4ce5857850c00ffc318cd019
-DIST firefox-62.0.3-af.xpi 432293 BLAKE2B 44780db3f4d9d6482dc48790620f128704d351bca138f0b1639c46e5840eb634d99406c5a64d924d6ef379297dfbd40eb8f06ab83cb18a317913d47b3d391f2f SHA512 8d16bf335c5ef120d72f1eb5a088860d0d25d3787f8e1099a40437658cb706d58aad64059bceea51aa958d64e1824227c43950ac6bca6e1df0cee4e60f809f2d
-DIST firefox-62.0.3-an.xpi 467499 BLAKE2B 7175b6470b157fa9a898d048c0b3c574a6ddd599c802adeb8c2d38bc473d58d521a9ccc7917824d3c56809d96da36e7b24cdba5229941e88f5dce475be9cbd07 SHA512 51d0cccdbc2f294fe9a4341c89f32ad3cd935afd84417f4f01f15090fc5834a3b386b9004ecb22db3a8abe83ea9c7b8b192f6106328b68b97df3dd4bae5d1385
-DIST firefox-62.0.3-ar.xpi 497996 BLAKE2B b164a06577240aaa09e8f37743606662178e5a506e3dd374800cb4b65f12710aaa83ef4d7d985f7a4a93c128c7263637bec6c825ef4baa6024f1a061f7192332 SHA512 c6c49171c78f311e000d8350885ccbbe9666666ceffc704840bbc598a70e7b39a597185194870545bc9abdc3f051ca47a64bfcfb14c129152c94cad873b40cc4
-DIST firefox-62.0.3-as.xpi 478315 BLAKE2B 49267e25a454feb4eaacd6785d385aa533525645029acf75ba8f4a3f82b1f71f272f1ba9a5687f1d2477b4eb4c754e4b857e5aa78026ec523028bd37fb2e3217 SHA512 4761ebbdbd908a29b3ce9509e1d5e1d3b10951bb78f4ad156d9e502580226e6d88ad5ccb70d4b689981afbe83ad95db047bd14c524897b9270636920e7558e2a
-DIST firefox-62.0.3-ast.xpi 455191 BLAKE2B a22f51f7573ceeaaea199f0ca760722e40066bc919a8c44b2e61312ba90c73514ff0fd587495a146ad60259e122eeef49c546e40b79f60e1cbcf07964e4e1559 SHA512 3d8c41c8f62926c09240fecda6c59a71ad58c2e6c25099b750fe3b9c7885a7eb4d2fc0cfaca6a1080b947b56df26e114299a99997e49730e369342cbc44726bd
-DIST firefox-62.0.3-az.xpi 477135 BLAKE2B 03293c53210257e89c5c905abcdbaee8331ed00b14862bdc5e7fdde8c230d8d7d335aed484defd0592bc0dde8e95589ec88ec5179a05b3598441cb6723c63eaa SHA512 40732afa8650e187efa769333dda574a1cc77dc8cd94c533e29029e8f919e0428dc23ff956bb8e39a2167489d54d05a888bc2e6642121c3d6c302b7e6539eda7
-DIST firefox-62.0.3-bg.xpi 524199 BLAKE2B 7cc8c0c88ef46001d36ceab58261b3758ebcf25800ca308a85086c78d5385737099bf436ea4d3d30e5973be4bcbf3207f57f94ac10234fe57f49a33b9c468b5a SHA512 ac6327f0956114596e79aaf145bba27813dab0a56689fd47e7fbb887942c1cc68f961a9094be83830b92ad4814ada2f91831ba409ac86c89f91700b0cbf3184d
-DIST firefox-62.0.3-bn-BD.xpi 538605 BLAKE2B 5b8e059dc4e610947bf1e9c143e87fb5c6f8efce0d59a7c59818fdb30a8cbe0b39599959f281dcb9123e05caf39854ff8c279c974df3f5f9d13c456192e32528 SHA512 3e0206b8ae2c0c9ef736646aa45b94d12d2f18f285cce826f4a3391fe8c8eee685a274cf67c335067880d1f4c95e41a124e1b8e8c5da582940e6ae86abd2388d
-DIST firefox-62.0.3-bn-IN.xpi 509953 BLAKE2B 2169e571fb1fbd17f88a9fe895ce564561a6a432874b0cbd2beb4feae4408928dc6c65bebee1dbfa7249e0780fcb2c2991dabf309177ca62e4d53a6c15a11ef4 SHA512 9c27baa07e824ae026cdf33ec702b47de29afd3cbbe6599706a8f13f1e2f1a73d6a42725bb511abac2164028f64e72d2b64fe11d18feb2790bdf9f77ce9024ec
-DIST firefox-62.0.3-br.xpi 464406 BLAKE2B 3e9f54745436eaa60ed872dcc0c0edeb40004ef1d3a3bede9c84b4e12bc479eeb04ec1c142d02f501f999a0bbbfd6f83436a46721e48f778a29f57853f6ab643 SHA512 f6b07034195faae1aa0d2413b7b4293fd948937d1439c5b9e76cbab00818aef898aae36d6f5023082232984fce7bfc0292e2a70f600e84d039246cecc2bf5e94
-DIST firefox-62.0.3-bs.xpi 466249 BLAKE2B abf2e1dca8cc0a4484ddd98a20e0325c622c627fe6f5519418c77d962562a6f9cbaec8d6cc4ce851b2ce27c6d9d59a490aae3c4f5728bafe4bed904233f4a571 SHA512 ebf626d49a3762da6fa1e3ea12073b2d3e02174a1cf2a4d1b5825a3ba05b9c2112adc8bd7997f058e46ba2d66655373c9ca7fd8b92b5f8700294a02a94538671
-DIST firefox-62.0.3-ca.xpi 470055 BLAKE2B 67af43041899cd1c8c127b5c75f6edba43f91a35ee2a9cd65142dab7dd5f8ac798090e04188854bec5d6ebcc7f3351a60e8d8d499b512f5bbabf372585c0ca88 SHA512 661ba8d03352fbae574c718076c3f5ad260a741c331e02bf2fb5e4add82c3ab8e61f3a441f40847272fd258537d6b36f7cd25bdd287bdb40d8d61ca37669feb5
-DIST firefox-62.0.3-cak.xpi 488840 BLAKE2B 9169fb32b2b432f86071376ef657fb09fc77e8fb18ed75f4682c63a51b30835085fe4c196f090b9d128982309e9101c8cb514739eec55da3bea970d924ceed91 SHA512 2b734ebc5ffa91d9a78ae4908d34d7c638ee323b8c4d8a5a2ed8f5370a3b47e04909331b9f8a3141b9248baee9fab1fec701d6548364ef1a4f794a248cd68ebf
-DIST firefox-62.0.3-cs.xpi 478354 BLAKE2B 22de5eb99ae94e741b6df4f085bc99024c7436998f4d959bada64d7fa90efc6077f8a16a8d4129ef5696b245bd9aa091e71aab2eb48f79ef17aacdf8e50858d4 SHA512 c82a959c0300ef01b7ef5001eb8c7adb65089200ed444cd7abdec62f00c9a12cbdbb209b29e828381c1c5768945d0d6d851ecb50d4b659d0715e62eec6a7508e
-DIST firefox-62.0.3-cy.xpi 468857 BLAKE2B 908235d7b594c7edf77eae004240ee26ef97199fe76bb3e8f37c38f0ca1aa97034c88bd615dbcc5e37b35a422cae83a568b04933f880b5314883b3520e7425d9 SHA512 3228f164fbebaf4272e2af778179a83751eb7ed5afcbefef739ad6a60da29e955117bc0456fd36c24b3036b3f95ce72bfe64ed131599e75925e6f9d78301007d
-DIST firefox-62.0.3-da.xpi 467290 BLAKE2B ad50b43550ba7714bee2fad72bfb0cfd4cae359c99dd92a94ed1715a57f500f24ee4513e9fac9599cf5865edbfaecfabe17b43ac82347d8da5ba57193979221e SHA512 8c9c48d3fb687bb5240f672968dec42f1b081592104dd921cf09102cccc06c4d662ed6032feace5d6d162544ad9021144f4efd1f52fe204a669fd199056a703a
-DIST firefox-62.0.3-de.xpi 475935 BLAKE2B 02d221c317406dd9f16c6b7a86d98589368c06ac1a411ead157cd3bbb22cca7e4157c1c6cb272b8f0f8f580453638fd0f457212a4c7284169a1d652a159bff1f SHA512 2f21533f5dc836a11d97db3856ae96e7725ea3d098e510a715eea8e5c572d7550d5be8afc733807641843d30ac4aa3442494d3d6205b837b7c8c7f7cacfc641a
-DIST firefox-62.0.3-dsb.xpi 488173 BLAKE2B 10c351cad7a73329657ebe36e1cc4c3fa50b4552887ff61a5560a9bea8ae1b668023d4538937c601ec6a68d14ede8fce75fe6a133091cf02a7251a27e4cbd637 SHA512 c39529c355521b5f28f11fd5f50acc48a4605408020cb5454d39e87fe98a1c8dfed45aa8d2dfd9b150b877f23a1296dd093e0c3fc3844a41193aeeaa22f5a050
-DIST firefox-62.0.3-el.xpi 546433 BLAKE2B a70227f90acf8826f72c6bd579ed497372d2cb391e2096ceece20aef830e5c5b58a704b40251baafc255e510ead78caf6451aba4ac8dfbc035acef2a05fa0949 SHA512 6e192e856cf370a49a16c2259d61bc22d9f2d681f56d49b72e68ec73ee72c0820eae95c82ded166c2b9d3ba73ed671b3d19089d26636e99c54184a6f97321279
-DIST firefox-62.0.3-en-GB.xpi 436177 BLAKE2B fb12520d027dfdf7681b4fb6b8ca9ca5314b52f31db8417c53d096fa27cf5f5cd8291e3e5cd72b4da31f05a17a2c80d157b0f01cbccec4b4fb26f4d73f761a92 SHA512 886333d113e94d63af08748ca0a599e8c2c05746de69297cfb30d020feed43bcbf5e4fa5327c940db5ecdddbc31738157c4b50b5ac57367f0096f106e99fa8e8
-DIST firefox-62.0.3-en-ZA.xpi 422871 BLAKE2B 0408a5edd61942b3613088b21871fb74c85490889d95623b25dd6bcc7e236b3f12f066677e0263a8ee02ed0f509c73ce047998d567c9f566661fdf2467903cba SHA512 40014af81a3bef8082e88102b84236514ecdc26bbf6a22a130beba5e5f12145492f557abacbdf072da695005ebc51de70bb8487cc777aa6c082b6ad1eb03639f
-DIST firefox-62.0.3-eo.xpi 466535 BLAKE2B fbaa93a513e1e464ca6a1f3c772fc17545a93e8458084bce869aae10a5befbcae5230ac515ce9dc6e5bd61fe253bc136e1491407fe2107d05e3c92fc38147ce5 SHA512 f7dbab432f6d48859115a46390681322f296d2a20daadd3d0a49def37194414b35d0b73f41485eb7636a43f27fee1a2b20e0d5b95ddcca582457b238ae2a63a4
-DIST firefox-62.0.3-es-AR.xpi 473522 BLAKE2B 783a8151664ebec02e9ee190ecb868f7e57a59ec5ea12c98f9cdea7ade8ab8ccbca2748222e5661dc272328363a2a150cc38fcf03f1d4ba0bf6bcd2051e5a86c SHA512 378477ff2b1d84653b8c0bb2483359b9ff7bd4fa7619aeaad18ab77286a82db647b4c41397557967599dc1b4a2f6560e49716b61aec16d7560e992197299926c
-DIST firefox-62.0.3-es-CL.xpi 473990 BLAKE2B 8d034ea71a81cf21f9441b8f00aa0056b62239441ff85f9dba0be23148b69b86333facdf01e7c92ae63e02388e86f2a591d03c4f6e83574305d446708d02fd72 SHA512 b64d123a9d7000320b98c563669d34a938de0ef9f9dfd2776348b1ed38b0f221e733d765473bc4fafd26f74e33db5adf73ed75985859d682595e48a1ac998908
-DIST firefox-62.0.3-es-ES.xpi 414987 BLAKE2B 45ef9e2a4baebc806b7380c33417ceadcedbd66311a1a1970a7a1e9d664880aaae89375cbb69ca466c7104b845ebddf8204a1a8c6f9aa5d702978f67a071a63c SHA512 9f8849f7977b245ae15e755315821b7487e988daf5bab3c4244df8643618fe5ebe10cfcc846d7b5783b55d4a2b283a15a9559cddb5aec7e49c7d83787207d08c
-DIST firefox-62.0.3-es-MX.xpi 477957 BLAKE2B 2edd11360258ffaff34f32c17847e7097a90d1e2a5fc0e888e029d641bd0ffe9f8539b56659287fd8a1b516459e80c829f953e95b124dfa28a556c4a6a1b12f7 SHA512 cbaf5b5dc4df636ce308cb1332a987eb44c1cc27673c5ad99c9bc66910bd896d503e92af867b6a3456956d3b70c997891283971190901dfcbb2bb7c48b4db43f
-DIST firefox-62.0.3-et.xpi 455377 BLAKE2B e5b98b9857319d673cac00c4195f76740b6cf1ca6b16fb7e7e22dede9ecc48aa4973d2b50bf9ff7742c7603861829c97db34fd9eb340507460693215757efb44 SHA512 6bdac58593cceb5e5f49a032482d7877857c67f2edd2c2da8fabdc80e7c2552a337cbc60bfe0439f062f901db8685e9f8b1c9e410d83dfbdae0fd9c0213b1a65
-DIST firefox-62.0.3-eu.xpi 465903 BLAKE2B abbccad102f65097b6a4e02dafadc6d75ec6ec83ea0b6cd8c3cef3b8cfedb9d0c3dd805bd37219dfbdc24eea1392d024a828db2992f67a7ca2c90bf87d373ddc SHA512 f54b3ab2508ef3638ee03c14575ca6f256c9c4310333577adb9a70198db4bd5b86feeac22c59e14cd2b750bbd6e7595b70317bbf2e597d3414a244c8988afab3
-DIST firefox-62.0.3-fa.xpi 514442 BLAKE2B d3b732e94b26f6816c86a31a2c680792f742ab5e99753b2fb049592e782d1e9c6273ed4de3c00825ae3afb6d593c51ae2b07b37d287125c445dc696cc0c4d9d6 SHA512 c1be98ab1590ea7000d0faef1f1ae8aafa2a7c925d8c621bc8085b433e8d957e8ee6689458683fa1ab6df38fd1329229cec41e474043a997e98273e2a00962e3
-DIST firefox-62.0.3-ff.xpi 459046 BLAKE2B 202a442fbc26ad5c54c39de75dfa14423141e61041056526bdbae4be4fcf3443fbf9b3e2dd4480e728f224454b1f0ac394cd086bed8324a5cc9f8b8c0cee835c SHA512 70bb37d4cf292bf3131870668aabb6ccca4ca96eb85cc72605b6b263304b2d8c041d1bd6b3977356c02c33c669413fe4373cfdde286a2aac3115ef016c15f181
-DIST firefox-62.0.3-fi.xpi 458677 BLAKE2B 7bf0690ff1683e06da4ff0c73a00c2789ca2ed491e7cff8d87b91243a502fd022117c378f9a2a6e2348315c27d4f64a4079077ca9108ce6331ae78c9cabaf117 SHA512 788d2d14f82c0134e15b341a56179a08ebf0dd3b1702a1d337f3faf31864bb2d9354329816beb430215503b7c2ee857aae19b3f4c9be38c763e18bae631a7a31
-DIST firefox-62.0.3-fr.xpi 482968 BLAKE2B 87dbef7e69b52c3c020588d3aa48ee4593d49fbb37660e70d9a230ad47a425789a5bfc4a3e8fe162814b14b5f23be13edfc9c0dc5f6d53b31717796ad38e988c SHA512 7db0be65c7eeb944b3ac1c2ddd4937b8728cf8a2342cacf5caca95182543cc398ab41454557d33a5b8743d190a7e852729c08e0d175bdeaf504993507bde0e0d
-DIST firefox-62.0.3-fy-NL.xpi 470422 BLAKE2B bd1b2754fedc8bfbb4ec08d20a941d6541514bef6ed50c817df6a820a1d66cfc4918507b3d4211037f4fc7b17d4bd2bc2f265fa0892f889f990a145f3fc92fcb SHA512 693064c9a81bd7c4d0aabed393a5c4978dd2ea1306441360d6c6f7e1f8312a94c475587dd2feb9924161b121648d1a1f2238f24492956dad74b6d19730300c07
-DIST firefox-62.0.3-ga-IE.xpi 472265 BLAKE2B 762f7f156fb1b505238db03ddc67eedb50bb1f7f5151f3a9274556578634181c5e5fb74b81dec8ef478ef9847d1b7290c6a149869e537fca10a19fbdb18b454e SHA512 4259d128b05d9412903401c8e240c309c656a24de0820befffcd60a77c94e22fd971a3bd31ac358e298819292d9f22714298800ca9663a814b70a43c88ffeaa0
-DIST firefox-62.0.3-gd.xpi 473970 BLAKE2B 9dea50da0b160eba4ac776e729ab41cbfc4f4cca0de822b652931412e9c8a6c61f61b142c1f78d6d63bea37ad2a37369049d8d451d51caf7fbb7a918674372be SHA512 329137fb59779263dc9fa7612af864a42686e3a494c81a000d3b0442c6a2b57a98a07a2a234a8ebfaf1bc4e797f0fb680634f8c937448bfcb516e5932bbc408d
-DIST firefox-62.0.3-gl.xpi 451816 BLAKE2B 85ddc2a190a6c91bee4a5f002050da7b7ff1b50e1528061c48a6fd32941735b6c643830d9209b094f97ba9ab5979f69b75560e997eefabd2bf0835103389f89e SHA512 6a898a8f80deef54d48fb76a13d90ecd687e3ecd53acba3d18e492559ec63d624d06633b5876a7126a69d42eb18756bc282ce86a3ebbe27c892a680a3bb4a966
-DIST firefox-62.0.3-gn.xpi 483149 BLAKE2B 535ace3a8bb655dff53e30d3116ef3c913964e5570732410fc0f60aeccee3d91c692738bf07cbe906f379f54e9137951bc3a7edfa641dcb6360a8f4ff436e719 SHA512 a1c94e52f881a36aa43841a2a197ad522b110f66d7055d88a84e3755afd941eb4e8e4d351120d68f03ebe0099c79c01397cb25695c8cc72c3da9cbe5119e14f3
-DIST firefox-62.0.3-gu-IN.xpi 539984 BLAKE2B 2672357f8ddc919f3448c87ff54f7c72f9f1a864ef271004847628d4fc4657ee703c1d6f0d97f934d0f0b84b8fd520706a2af20d305301ff634dbe799ca8dad1 SHA512 329f5308c615899dcd5c92b950b6b0162e45997ee1f5914ca5d920f3ae5d312a71e9b377f8cce38c9eae30c47b3c0cd5c912b1b3856d6f599efd7de78cbad881
-DIST firefox-62.0.3-he.xpi 484809 BLAKE2B 269748c0caa7645127745feac2c3a6a822d7f0084a794f0822b1de09131517ccc401f1a4b693a2aba0778249466d2154c4e64d4792cf276bf6bfa12dded618a3 SHA512 74f7c9ea2b1e3677b2db72aa095a78c17243bb9890f0a01b2be349513295d33dabf421373e44cfb6ab34c42080476a06a53213e01dda71e8330dac40afbbe2df
-DIST firefox-62.0.3-hi-IN.xpi 537121 BLAKE2B 3278a50efd70819821e15eb2a523574f056bb74f745027bb6aea216177104d9dbff606c1b2b1cc6f5c3aa59d590b2855c6417ba4621189ec511ee103a59b5344 SHA512 71c9c0bf91d7ac4b9fa0ef194ec86e6fc130cf2cda42681bdc265c6ff22cd8813dad7576ab5000264b10346d6a6a33675dd92902e4ac15c9daf82899d8ba627c
-DIST firefox-62.0.3-hr.xpi 459608 BLAKE2B 4b57920171717ba7ef30ff439b9cc5b8fa92791b5a88dd0f09552106dda7a39a143e2245d96172c5ff49422ab59f9f455fe1fe0da715d69d6fca1d05d04e6b49 SHA512 9e04eb814287c12cb490b3766498568d8bffce135a2aabed161dc9636c006f4bc95f35c95d769c044e7bbe059c3a92c5b6b41cfea7073aaa8158b847ec57baaa
-DIST firefox-62.0.3-hsb.xpi 488120 BLAKE2B f0849da6180587679facde1e170397e2717034a8c008421b4c988f61e0bef2e6e989c35bcb92612396d0982d694a9f720e91e8b14d87d9794de7d6d4c7e5de17 SHA512 0a944b415ea14ccb98ef5376911fe36f64a7c72f4a76a53b00e8e3f1e7c6024db3799a0f97c5aa28bdcd43ec8bae5942cf5283fa96438a448b70447b7d72be1f
-DIST firefox-62.0.3-hu.xpi 487428 BLAKE2B f5d53e55e355d1f8e4028cd7db565a250470eaafe36242defb794d1bb8cca03c150cedb8401bbb33c0dd36c0c99361a799b242cd9c0300653f1961cf2edde3e5 SHA512 8dad4828e2f270d1f8381226c974c632ec58f603028a350558351234e97fffb690ca9b50a68e0f82c2bd92c0cd32b107233df3f00bfea5f92526f8298520a631
-DIST firefox-62.0.3-hy-AM.xpi 518019 BLAKE2B 03dc18856fa0df24655cabde57ce0fc582b14fb2b77d3c5a02bb91fa0ab6f27b12292f88e25a57aea43ca72de28fca51540c433b6cda02e3774b5896bc6caebd SHA512 f613672f5b2d5da34d6b32832adb10d4c8841cb54570972d84e3d02fb16d99af182d75105dcf181bdf3b6eb1b072bd4c90f1bf5e1f19e6f8031e2efa0ebed293
-DIST firefox-62.0.3-id.xpi 458276 BLAKE2B 3ff19c62df09b34f3956f07c590fcb0d42aca156197ea227db11fe8a3b7d46e16ab96e79a3d7dce1aac28039b1b4205d5869c26e09a391f6c911ef51356a25d6 SHA512 d0f46596583a2f92ad3921e11cac0c6d970f38c98e4015ad17973a674d9bc5d1617cf3fe4e91e65239de4ad6035702dca48157e843a3150bd141f7471e46f7c8
-DIST firefox-62.0.3-is.xpi 459617 BLAKE2B a8e3bdbb7db3499b809ca1f43f2b153e16e07fd22519c926338f4d8ba9ff0284eca90f32a71bb208c1313e85c3270fe4a31186343be396bd54749c1584b0e8e9 SHA512 1c946d4fe58958a7589fc55781c5b11cba5ed7133df723af688efca52aa53226a64d812bd6685b06117e8c15cfa1465a8ae569288323253259e079e25251983c
-DIST firefox-62.0.3-it.xpi 347139 BLAKE2B 192f9f280e3bb33072ed4b7a2153b7cfe9b6c01c5e9e0ecb5ad7698fab8ed6380dd8b8cc8a76ea64e15f1e6bdb01e62ebcd78fba7a892a3b8541799bc89fd06a SHA512 02c2f89e9e5cd595b825a2239517333c47063e90e19dfc4505bacd8fc5d09f79ff8511129568895360b917192db01a78cdc1a970cb74947215dd3df7b0a7882d
-DIST firefox-62.0.3-ja.xpi 504031 BLAKE2B 9d80d68643268438cf93c7b1d0a8ce0c68f19d5a57053cf39520bf9600ac8deb971a20e89edfcf1fd5da564b26ffc284694d0a2c80df10aa143c47ad162f0710 SHA512 58be82999b4c42b0ab786d67b5f4cc4e63be8c84f4df227e4b94026b1e5c62a1bb9c2046c29a895caf3c086222e70b2e11d664babd1f259983e34d99436d3cf9
-DIST firefox-62.0.3-ka.xpi 503705 BLAKE2B af01b8875fd9438fd354dbabd13c6575456ed33a98189cf6db1c48af4d985bcc4c5f99193028fa737df4172d2dd10ed7bc96095046870a67bcddb5427c4733ed SHA512 0fe2988e2133093599be21ee9191b636c13e44ed1ed2fa859779e309b39614742ddb5ea0910890f2e237fe4e4c6b515fe83c809a20212e80248e7e17ca52af77
-DIST firefox-62.0.3-kab.xpi 478240 BLAKE2B 91f49b947cdbf0f0569ab5181e96f9e90bcb7a8231d3913f282f7a2736771d3af844eb30bcb20898f206383ac4e5e6f2914b233432aa8eef0569f1c5b0392b2e SHA512 337cd6267f282de4d18b23342018ff9f863a5c6b8c68a3ab63a551a859d3e780117fbe74edae50a92a75f2227bbba2fb3a2d0edb55dedda3d7f32e0199f2805d
-DIST firefox-62.0.3-kk.xpi 530654 BLAKE2B 147fc758e07a4f3b2b653e1fc12853273c954971e4e31bca639b109e182e860be4c754cd3c236dc6fbe40598e5dcd3bad9a3d1fd1c48c5259a31540294bcaf87 SHA512 54cf420717258954e219ce073fba3938ef959c7f4132bc621b0ef716d98e65c54345bdebce3f2584a5e6174fff44caa6c34550e8c8e4763e174626076470e15f
-DIST firefox-62.0.3-km.xpi 521445 BLAKE2B 3d62b7a3d3eba96f466c7ab6aa8aeb4de07201e046078f4d3dfcf216ee2c63c44f1c025db1941fb099218432964e5f4f2f078e8b7f325b494369c0bce28021ff SHA512 550670d9523b2a9d338586105081e5c150c2a0d2a9bd2c20ad670343760d28781c0fbb7bd56f3f88a9f9cf32f9e44279e7ad9c594a158769c631067db9d5ada1
-DIST firefox-62.0.3-kn.xpi 528103 BLAKE2B 60bfd6dd8a4cadd556a971dff5dc38b86e63e0ded9f2e884dad23f970daea299d2a07bc998d24dbb8ea8568d429d3ba681ba153d0155bfeb814559590dbf2cec SHA512 6398ebe1f32d927ad2c36487962f730efe8d1035c96b415218471975f5eadf379ccae5ea2bee8f694fd7b9164011b63ac12fd6647bdbb174415c27027ca4ebaa
-DIST firefox-62.0.3-ko.xpi 498342 BLAKE2B a1957b344169faab6d59366ff3eea2602d150ed71a1df918a64ee6f38541863b261bafaac491971dbf7435c11f9605d416b62abb28ede2b70141005ea1413e9a SHA512 65a3e637801588a77efd662cda3c0bbdb8de487e810f56d9323e0170623dc7da683cf517056784e0e839dc7908b2877e7ce8447d13842c7dde85620400703338
-DIST firefox-62.0.3-lij.xpi 463444 BLAKE2B 81a3245edb34bec066626629675d9d4d6e5c507fd7a09d6de80f41d5f4d43bc924f6b65e6d67f276dfb923a55676c0d63bae21ec9f603c48e19a153c921906ae SHA512 7bc2b72177a4be528f477d5fe9d36411baa1222bd92ef002465b957fbe3249a7a629eb39f76228964b071e4a9c21a15c722f1bdc42240c76a86966aabaa59225
-DIST firefox-62.0.3-lt.xpi 487650 BLAKE2B 20f5db09e5a7d01be430a69b63d234ee6d1dca8f6652238d3f65c17e2554cb4c978f3a64b67ca60b9e436379d262699c468b69c3d0294e7d2e49713a6efdb959 SHA512 dab852b7209f64a55c734fefa0238b7daa08b155efb5ff95a88a347164a06f58d55f1bd049a516309a724627ffd4329b021d473d29350e323713e62138e68101
-DIST firefox-62.0.3-lv.xpi 475710 BLAKE2B 434c2ba0267f7ccb1e6bd8d2f2efcc0e94026400254bdea320954408c4bf2bd9dcdff1e93ad43f32335a04777b1c9f2e513fda678b713e10197f8ea142b82172 SHA512 a887f82cac85051e599e5f728c7de908cc003dd9f0f3fb9ad838496cdfbaefb4151b5dec5f727aaa517793c6613b6ab7d3e84c8620f5654606dd7e7887ceb7f2
-DIST firefox-62.0.3-mai.xpi 494726 BLAKE2B a85a1b071a206d2918327e8f293cfd5b57a9872563fd2eba9a7e2235dab2655a8b5d63061c10079deaf75c5e0d0bfec4d246459d6e620cd48b6c1024e54437c4 SHA512 24aff560e303268148680c046413e067e64118826fedc426eec5742afded0f287adee35d156f617cb5ce22706f444d487af37eb7add691b34fccd467ac34dae6
-DIST firefox-62.0.3-mk.xpi 457532 BLAKE2B 622fd27e39ccb70a8bca5ea0d0444ad935ae342424cbdcaa7bad5db32f4bc9d27839a2778127a6d1f60eaf6af76f2452cd253c2a3c571ecd593d7ce2e1467fec SHA512 32d03bebe02c7f85cbea47970d6ec1ed72792ccafb9ead5f7fe74fca4ed722320ecc30c95b73ddb4338f1b9eae391939ba6ca60fb507b42304f092e045f2641e
-DIST firefox-62.0.3-ml.xpi 538825 BLAKE2B 57cb6512a6e36c08695c2f284d83cc9ddbed49f217dffd2b05c1f85661d36686fd4853a3dea95cc31ede5857026638a4bff3d735b70a5546b150fbb81971c68f SHA512 dc43cbaaf9f40b8b1b526a0301341f7e84eb78eba06b3450dfacd4d914ea31af47de4aae16dfe7dcb0e2f5653b80cfca0e31707fa77c8b8c6da456481340417f
-DIST firefox-62.0.3-mr.xpi 530350 BLAKE2B db928dfc0dd2a00b6093f674ab6fa4069f29837edb292167374f9276128c3e0efc68176d9500de622317376add496f95fdddf9cf4ed8dc8eb91eb7aabf2c0d14 SHA512 7f6bae467a939ce3bcf2a7d0b6339a03dc34815dca87f13359f54e615142414125da896f348bd7e9cc20cbb21b714eb38393ffc7614afc624801c77025f91133
-DIST firefox-62.0.3-ms.xpi 459916 BLAKE2B d285c47cd1c56c74009570e2be8844c4295093554bf202b8fbfc11eb6c72d3132d8119a1368f4266e1e2b3d0937cd9c8af21fa4ad0b3fdeeca7b495367ac9055 SHA512 58f7a3560616b6c69a6d6826ab4ca9c4fcb15bf9333887a8858f47135bc2a0881fc375a2c8c821714867dfbf9be02e64be848428463c1a8d6e90ded7fe16ef6d
-DIST firefox-62.0.3-nb-NO.xpi 458931 BLAKE2B b9bbfa8952788ebdfb1d2470ed95754c3eb14715e0dd73318099acc66f3a7e720bcde6a651c01e4b9aae9edbddd2e7b9af6e193eb10f169d6517af23836ef3e9 SHA512 b282a8177051cf803c9924ba0501b06f97d3d82fe98a3074c7b0fd72dfb1d0f548f85abaaa75d3c0613d1393c388279c0848c2d62445270d42a71f401d9400ef
-DIST firefox-62.0.3-nl.xpi 459511 BLAKE2B abf24bc016d93a6e41019f8fba737736c497047abc36a1b77f7a005751663e0da86721f09f7addd629022793d23c5e3da8058e63daa974aba16032f037296ca9 SHA512 b30723296f2c3d5aeef86702fe3231ea6b712e03bae498d2f34e730ca210ea5c0177db5d745db687ac9452ae7c0e980119a4d9f0577613944953aee64101a656
-DIST firefox-62.0.3-nn-NO.xpi 457054 BLAKE2B 55c46965787bd4811ae019144379db44c63bf3e610645c9b79881b7985ac2d98bcce5d645763154bbec17a4301b4991c83e26819c27b29c932c0696393760878 SHA512 80a5d23058ee70f1950405b58f106cc389a2a22b19079cb7ec9ce0a9875b95888d745048d44989ce59bfbeda78b7f66052269d36597b37df29148f73daa2a046
-DIST firefox-62.0.3-or.xpi 485373 BLAKE2B b7646941c6ff48aadec2080b396f9683942aff763cdd211662c64ef60637cc5d21e497897e1220224aadc51715f5cb685d6e2a1916de2d6eba466aa37ae1ed93 SHA512 1a553762f5d24b0aa258ea65644c1bef6041ed32e8ed8ed2a51c03a894c7505ed27994aa91b8114daa3228371e7ebabc713c454ece497ed183de5b36e149317c
-DIST firefox-62.0.3-pa-IN.xpi 496915 BLAKE2B 16a3fe36573ccae0e433d0617c193678b11fc9f2ffdf424d04f616d86ee94343b6a12e8a834f8ccd003ddb47d406d80312108664ebb62c2825307583a9db1c16 SHA512 b963d6a0d961557fbe3d35c14a321240a4d57474302672a670f71847ef45440b7373eff4f6820e111329d39383425f97b329aebcc7f729a56eed4ce6de22c4f6
-DIST firefox-62.0.3-pl.xpi 370890 BLAKE2B f7a91525896804d3e67a257a399d9e51b403220ac017ab36f55bd695f82506de2d781f70ba2cf55136e8d4563740a32da3b7648a9fbef668f604b311b8831055 SHA512 ab9a5a034f47af378b68b9511bea7aa8233d21f2e37dc087c30944f52c81eec29f114bf5a54238ab686b805f7a85bc5f76449bd2b582a1b4097ff886def378a9
-DIST firefox-62.0.3-pt-BR.xpi 460872 BLAKE2B 9984103ca60aa26191282ecee0281c41b2d345e40be6eb20a493d0aa75df8a720e1a2e80bfad0bc550780cc5c2512d1a0a90fb0a7e60e96c8754ed317a5f1fbd SHA512 7aa346872cb29ff0be1f05c8653079e712ca6757532bbfdddc10714e8c519e3c7a1eee10b00579d70f8472d48d228e1abe0d4172cee76490177f80684c9843e4
-DIST firefox-62.0.3-pt-PT.xpi 473528 BLAKE2B ee93c1367bbcb55c2c8ef388282043156163bf5dd90e6362e142af03d6bde93334859d82659e30ab2381791d1753ae7674062cfbe01712f4d396525a78a39a8d SHA512 cf1f1036f05763269ff759c5967d53ff93a4b2da8d4f6980c78406e519b6957be3b94c71a70e9d0323019d4183accc29b81e47ab08221b8a75ae84297aee9778
-DIST firefox-62.0.3-rm.xpi 462474 BLAKE2B b093695ade461a541f9d4f60a9f09f6904691ab84767cf314853712fb0006f84ff53f42a49f8e0d04babbba018d77e89b0d6f11112fe01b035583d92136f6d5b SHA512 dd400340cd22a38d20d9fe70d2f8b1de98fea3f3e91116f50b801b8fabbb8c05f30a9771ab621da92c77b6dff54379b0b684d9390d6de92bbfab44de6ab67d87
-DIST firefox-62.0.3-ro.xpi 463410 BLAKE2B a3bce065ac2d0369c3d264f933af89b8e97ca73355cee0fff7957efdaa2fd753b1271b316ad746c1c27005fc5096b04fa408e9aaa96857a6579c205c7fd7efbf SHA512 6faae43f4c595a38162267769a6e95b72def73c76176bbf9deb412f513a285830fb9a3fd68b675e043986595934e81068ab2ab5ab135b544a90a528abc73307d
-DIST firefox-62.0.3-ru.xpi 539883 BLAKE2B 2b373c5cd08e34b435d476fdf24a5a62512433e8fa8081f543171b2c29fb09f683171fd2cb7b9a738b2ae88d18bc7933ea868bf4d38568dca0bcc7a8de690d29 SHA512 61070ab84255daf4fb15060fb8b449b2f72050b30a359865b73810a1fda04da0cbada58e9542f28487f4d5a61313895b22498f610ba9f208369ee87ea9933d56
-DIST firefox-62.0.3-si.xpi 487601 BLAKE2B 1c342c1744d1fdca0eda79f469cacd9f95c0261d5d1c918c530a97821f722035cb01297863bf320064fb6f2948149fe5c36a372583ef11f38b9686f1d5622b61 SHA512 0c8f9c2860bd85c4fd0648049d75dc789f2a3b813876383309c84789e5f5c457187923cea3143b9bdb5bb2e05e7aadd94e804063249d8b28d8d1d7d275a00ec0
-DIST firefox-62.0.3-sk.xpi 488135 BLAKE2B ebc75309a6c7f288a6b0ed90096cc086b94465110ba12f1a58e2474cd8e89f7a36b7fc8fac166970d27f91d04007f0b3d7af10c3c2653314da54462e142e29bd SHA512 7d7114ddc7ee74f97019be69844f978f5a54480aa7a14880ec9017cc0ba18f11b8a42f02f057b53fb8171aeef05116dada458650bdf286fc07ed1bfb358d1527
-DIST firefox-62.0.3-sl.xpi 468413 BLAKE2B 021dee74eaa217a2c8e5dd7a21b4b2b17a684bb9dfe175e9eb932ca717cd0d6fbac2fa63269ab8e45fb660a934b3502d33d0e120e4a41509013fee3ee8cc71d6 SHA512 884a543d205ff86abc6ad200a82d9585c5e174ea80e7c1f322567061f42c38002ca5b28f70e1fde398c0ed2df47b7fcf9bc70ca8c482a4cc2761efc312176fcb
-DIST firefox-62.0.3-son.xpi 445942 BLAKE2B de503bfbbe8d9b9e158c8c32d8bb497431142e44270f8b7afb3a3e82f48e80aecc8fdb35a45d71da18fd142df62a9a2d508732065afe95a47059cb1bec9f5d52 SHA512 5da14a162b64528560c55a2d046491cca79d9de928a16aa95bc3a805f7202e4714001a32452655f414badd392268dc17dd6ed4af8b843dd2d924e42c6742c687
-DIST firefox-62.0.3-sq.xpi 475527 BLAKE2B ff434796651224a3bca8bc8696b1b44d1cb85f8ccdd3b18ce37a570c02d99235d9b09bf5330e2ced15593b8e28fef462bffd953f44fdf31c4b2d37be7cc984ef SHA512 25959f4d2ab19bba10070f411eacbe0aad8d6da2e096451e8db3a92b100b37ac082b59b19b5796d81477ed21a021ba61675ffd2e529cefa029f9280b6a512293
-DIST firefox-62.0.3-sr.xpi 498808 BLAKE2B 2f5e8f9c975643085fe5e256baa28721c709f709515bab167f4914c5b8d7c9921228f51ae1594ff09d23e3604a831f3e3534b5a011ff33db5cd9f88c79000119 SHA512 89b3cdc133a26a63b476df2a1c06b0fe1bac8eac8f5a6e4921d626d7905053121c13189196790cd31a3e175126eaac868ceb49c317f1746888fc28e15fb5b4d5
-DIST firefox-62.0.3-sv-SE.xpi 469502 BLAKE2B fd316fcbdd579cfac3735396bb2247350d5eb72282b1c03ac2d2ded744b14dbca5b4f6f19d0fe75747e1efc8f8bf5419c1c8a9ed4935aa0d2b6275a1e8b9f13c SHA512 d0f08048ccffdbed2987908b9e22afb36bf42bee957ecfd23245316f6ce2dffdc20b05dce982999cf31014ede618d83bda7e04603d23db00d8cf92b6cb70cecd
-DIST firefox-62.0.3-ta.xpi 526475 BLAKE2B 8c5c8d1862d6123bb804101ee9b1b8763600caff7c9ccafa7151ce8d037f8c7e2f0a76a34344574fb56181a79fcfe15537df5b35d4244c9a62bd66c589eefb5d SHA512 56a655b014be8c7c1df9054fe1ef065a8250248b1178022f3bc76d2d72f68a397ada668622e681d89ee73db6e25d3bc131d0812d90e08da306dd968fc6b8b5b1
-DIST firefox-62.0.3-te.xpi 536779 BLAKE2B 59d12c2cddbf76f7f154cb86acc7db05b35c198711d6bb4058c0da1e7376a650226f8c940bdd176a2c14ad7fb553ccac8d1ae2a58a9bb9755441c9229bddc9a9 SHA512 21c380a6c2c75ec2280ff8f759fd6b7f37a70aecc21bb64e357a1704a88eae6dba44c22209d48f76dbb75d5f243aab4e420af0518c49a462339d5093bfb1d557
-DIST firefox-62.0.3-th.xpi 507128 BLAKE2B bc671a33153c23688562ce77c10e0f1be25ac4b632165d4ff4b919bbc208e74f4bcab3992c65913ac96fd91874dfdfb5483725a66836d5d65adad35217ef99af SHA512 8815ec800faecad51296220179cbcbc6906c781b2b986cbb7dfebc8624211bb1146de1c44090218f2df1ae0eda5a5039ad08432d913081067a0bcc12851d50db
-DIST firefox-62.0.3-tr.xpi 477275 BLAKE2B e25948064e0f8a4f1f8476fdacc96c3467631743c068c3b80ad30ed5c9503e64069ef073944a0285e59e56cab63759aebda3751cd115dd5c120626e26e52bf18 SHA512 371be3fa55a14f46960a2e4d0fb349908c2c9bb9347868e1475ae57d233b4cc0d033e4366993fa3c49306765fc6c86b45e9015f7f7b74751ee99006b1f922052
-DIST firefox-62.0.3-uk.xpi 532597 BLAKE2B 91c44cdb09bd1f61356de74c6f5525b032009f55f5d6faf3a62226d824c0268b7f348827801198a0d325640ac42f852980ced2d08d6c835ddc6f2f180b242f3a SHA512 4f7460f81a6dd5428b4af3325cc4139b13af7ceaf485998ff156d30a962ed90fc093235b245aaca6e6371ae867aaa4175bdfd5de66edd6778027865fea9ccf07
-DIST firefox-62.0.3-uz.xpi 457999 BLAKE2B d715d38da8741a8850a2c186bad4bf741e8eae8e023d14c8a209e71480a90a55803530417fc0179d2c135ad5fe22daecd389a97889cc2d1ecaed211f6eea08a1 SHA512 e465ea3ef0c38b644cef099bea7fdb5e410c877a9eec8d153c750bebee5aad3e41bf1d7a1cd12f08d6c3587f575bf5bf554babecc35b5fd7a186280ec65b5a0e
-DIST firefox-62.0.3-vi.xpi 478333 BLAKE2B 5c492017759cba46a69b209a9b95f130a4749f2f25f347fd803763200552ff53f6badbeba082444bd37a4c3d53dcf3404a71811390cc096a145d62376aaa89b6 SHA512 d560446571fa3767af03f4e857c26b7caa59307961e44baccc82647de9395187321b8ddb47f854dc054475aa90d874fb70b9cba3c3fbb925bdb5ad61f67a982c
-DIST firefox-62.0.3-xh.xpi 461205 BLAKE2B 38682f7f0fe4bb99b54c05b0e042e66bb4932d6c289483a322b4d2bf25364bc7b676855ad4a0c5d68828b26907302a0bd7f4abeb09c54ab03c574f3e73758e1c SHA512 1dd1b16e9dcb468306a34b3d8b60bd1b1ab0c942d82c185a9caa1d33da3f32fe479fe548970de0799556b89db370a9522cd76558f4d0e2b15573eef9a88da435
-DIST firefox-62.0.3-zh-CN.xpi 491488 BLAKE2B 0540afcf3de006d39b8065335a2470245da51b18402dc51a1d84f047f57d7c0ba12b4c8a0c55cdab33fa1b82d158844e4c9f0e7073f309a486842c29b8dd3574 SHA512 4b1fb095b0f120b40cb72922df2d96e95eace516c4f18d311cabdcf1654110d7d8be588b4949f0918117d5fb72a3b09eb263f09ddca676822745d19daedb25ec
-DIST firefox-62.0.3-zh-TW.xpi 494524 BLAKE2B 491437706ecf92a563e79735ea7ddd91d60b177cd34f754ed40f54f2a130c307f0ae4f62665fffd56efb00da4ead24ebfdcf926d079e6fbb863e89d26ba3dc3e SHA512 e3beb785228264299b777724b19d98ee5ff40916a6f7fccf96b95e7040ac491afb9ddb48ef484053908b58edc8874f43c055bbbeb6937d7b10b70fb8c40200c3
-DIST firefox-62.0.3.source.tar.xz 259531444 BLAKE2B 94dc812e288054f230ec0faae44155e6a9d5e72fc5bcb78341d61f8391d17d72d3731c7fffb66c2a59cb572f8b18458c5fbabaa94779d48b5660db245aedba14 SHA512 487bb7791284367158c79cf7918fecf3d598627a6416e679aeb5d22626089aeffe07762fa2389819ba881c90ece1c5a83cf2d85b2def15b8d5ba0ed1c498b527
 DIST firefox-63.0-ach.xpi 455084 BLAKE2B 4dc0d05391912e97e6d91529882d3c9a5fcbb1f5ce5a6dafe39b4d2cb12563fbef45acb2b4763b7de42aafddcb0eb89d4d125469efe01a090c7abe3d855536d0 SHA512 0006110f7e5dc5d96c2d63799b9177de1109c5a7d34847187a29106db04d2846025241e9e13cbc88ec1ee8e1f62a498ef9672b73a0620d801e14ecdb2dd33ba6
 DIST firefox-63.0-af.xpi 437912 BLAKE2B bf8d3b20c37801d6f9b05c5bd352fd868ff58c953f75ed349d25d5f56684825e9567794b114174176b6d03afc5e1aaf57f01a717aecd39716484334a702a5a8d SHA512 ddf2b50bd8b867b66da2c7651e51926de646b5bc645cd5fc4e0a88667ed25106468489e0398da22ad9047eca3296ded7c144aaafd0f6f5a214e48f53d73d2465
 DIST firefox-63.0-an.xpi 474545 BLAKE2B 78044ddb72b3db1516b82edd44659603f2b9aeb494e222cf85860a0aba0008b9b6f9ecbcb457a32b099a8d517b4a61ea719d3a50a50049f9cca8696441552cf7 SHA512 186896321eeefad49a0240b0a9e94d5ba8e48a544aa69348a89843cd2c4045c05017def025a1bfaaf3844bb29422509a877bf51575891d2274ddc9a1f7b54fd9

diff --git a/www-client/firefox/files/bug_1461221.patch b/www-client/firefox/files/bug_1461221.patch
deleted file mode 100644
index 8ffa42c3eaf..00000000000
--- a/www-client/firefox/files/bug_1461221.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-
-# HG changeset patch
-# User Gregory Szorc <gps@mozilla.com>
-# Date 1526410966 25200
-# Node ID e4ce7b97291627f2186dc23be0dadd3c56dfe938
-# Parent  f288a2c9c4390898a17ad9f964218b52b87d8028
-Bug 1461221 - Account for psutil.disk_io_counters() returning None; r=mshal
-
-Apparently it can do this.
-
-MozReview-Commit-ID: 6gMTGtcRAw6
-
-diff --git a/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py b/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py
---- a/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py
-+++ b/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py
-@@ -60,16 +60,19 @@ except Exception:
-         psutil = None
- 
-     have_psutil = False
- 
- 
- def get_disk_io_counters():
-     try:
-         io_counters = psutil.disk_io_counters()
-+
-+        if io_counters is None:
-+            return PsutilStub().disk_io_counters()
-     except RuntimeError:
-         io_counters = PsutilStub().disk_io_counters()
- 
-     return io_counters
- 
- 
- def _collect(pipe, poll_interval):
-     """Collects system metrics.
-

diff --git a/www-client/firefox/files/firefox-60.0-blessings-TERM.patch b/www-client/firefox/files/firefox-60.0-blessings-TERM.patch
deleted file mode 100644
index 975e0cf6fe7..00000000000
--- a/www-client/firefox/files/firefox-60.0-blessings-TERM.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-https://github.com/erikrose/blessings/pull/137
-
-Fixes: https://bugs.gentoo.org/654316
-
-From 5fefc65c306cf9ec492e7b422d6bb4842385afbc Mon Sep 17 00:00:00 2001
-From: Jay Kamat <jaygkamat@gmail.com>
-Date: Fri, 24 Aug 2018 11:11:57 -0700
-Subject: [PATCH 1/2] Fix error when TERM is unset or improperly set
-
----
- blessings/__init__.py | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/blessings/__init__.py b/blessings/__init__.py
-index 98b75c3..3872b5f 100644
---- a/third_party/python/blessings/blessings/__init__.py
-+++ b/third_party/python/blessings/blessings/__init__.py
-@@ -94,8 +94,13 @@ def __init__(self, kind=None, stream=None, force_styling=False):
-             # init sequences to the stream if it has a file descriptor, and
-             # send them to stdout as a fallback, since they have to go
-             # somewhere.
--            setupterm(kind or environ.get('TERM', 'unknown'),
--                      self._init_descriptor)
-+            try:
-+                setupterm(kind or environ.get('TERM', 'dumb') or 'dumb',
-+                          self._init_descriptor)
-+            except:
-+                # There was an error setting up the terminal, either curses is
-+                # not supported or TERM is incorrectly set. Fall back to dumb.
-+                self._does_styling = False
- 
-         self.stream = stream
- 
-
-From d885df78c6f931abf3259343aaaa897e16c8cba1 Mon Sep 17 00:00:00 2001
-From: Jay Kamat <jaygkamat@gmail.com>
-Date: Sat, 1 Sep 2018 13:20:32 -0700
-Subject: [PATCH 2/2] Explicitly catch curses.error
-
----
- blessings/__init__.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/blessings/__init__.py b/blessings/__init__.py
-index 3872b5f..fdceb09 100644
---- a/third_party/python/blessings/blessings/__init__.py
-+++ b/third_party/python/blessings/blessings/__init__.py
-@@ -97,7 +97,7 @@ def __init__(self, kind=None, stream=None, force_styling=False):
-             try:
-                 setupterm(kind or environ.get('TERM', 'dumb'),
-                           self._init_descriptor)
--            except:
-+            except curses.error:
-                 # There was an error setting up the terminal, either curses is
-                 # not supported or TERM is incorrectly set. Fall back to dumb.
-                 self._does_styling = False
-
-
---- a/python/mach/mach/logging.py
-+++ b/python/mach/mach/logging.py
-@@ -93,7 +93,7 @@
- 
-     def set_terminal(self, terminal):
-         self.terminal = terminal
--        self._sgr0 = blessings.tigetstr('sgr0') or '' if terminal and blessings else ''
-+        self._sgr0 = terminal.normal if terminal and blessings else ''
- 
-     def format(self, record):
-         f = record.msg.format(**record.params)
- 

diff --git a/www-client/firefox/files/firefox-60.0-do-not-force-lld.patch b/www-client/firefox/files/firefox-60.0-do-not-force-lld.patch
deleted file mode 100644
index a8325bc745b..00000000000
--- a/www-client/firefox/files/firefox-60.0-do-not-force-lld.patch
+++ /dev/null
@@ -1,262 +0,0 @@
-https://hg.mozilla.org/mozilla-central/rev/e8c173a632a4
-https://hg.mozilla.org/mozilla-central/rev/dbeb248015cc
-https://hg.mozilla.org/mozilla-central/rev/de7abe2c2b3e
-
---- a/build/moz.configure/toolchain.configure
-+++ b/build/moz.configure/toolchain.configure
-@@ -1331,10 +1331,6 @@ def lto(value, c_compiler):
- 
-     # clang and clang-cl
-     if c_compiler.type in ('clang', 'clang-cl'):
--        # Until Bug 1457168 is fixed, we have to hardcode -fuse-ld=lld here
--        if c_compiler.type == 'clang':
--            flags.append("-fuse-ld=lld")
--
-         if len(value) and value[0].lower() == 'full':
-             flags.append("-flto")
-             ldflags.append("-flto")
-@@ -1362,8 +1358,6 @@ add_old_configure_assignment('MOZ_LTO', lto.enabled)
- add_old_configure_assignment('MOZ_LTO_CFLAGS', lto.flags)
- add_old_configure_assignment('MOZ_LTO_LDFLAGS', lto.ldflags)
- 
--imply_option('--enable-linker', 'lld', when='--enable-lto')
--
- # ASAN
- # ==============================================================
- 
-@@ -1566,7 +1560,7 @@ set_config('CARGO_INCREMENTAL', cargo_incremental)
- 
- @depends(target)
- def is_linker_option_enabled(target):
--    if target.kernel not in ('Darwin', 'WINNT', 'SunOS'):
-+    if target.kernel not in ('WINNT', 'SunOS'):
-         return True
- 
- 
-@@ -1578,21 +1572,40 @@ option('--enable-gold',
- imply_option('--enable-linker', 'gold', when='--enable-gold')
- 
- js_option('--enable-linker', nargs=1,
--          help='Select the linker {bfd, gold, lld, lld-*}',
-+          help='Select the linker {bfd, gold, ld64, lld, lld-*}',
-           when=is_linker_option_enabled)
- 
- 
- @depends('--enable-linker', c_compiler, developer_options, '--enable-gold',
--         extra_toolchain_flags, when=is_linker_option_enabled)
-+         extra_toolchain_flags, target, lto.enabled,
-+         when=is_linker_option_enabled)
- @checking('for linker', lambda x: x.KIND)
- @imports('os')
- @imports('shutil')
- def select_linker(linker, c_compiler, developer_options, enable_gold,
--                  toolchain_flags):
--
--    linker = linker[0] if linker else None
-+                  toolchain_flags, target, lto):
-+
-+    if linker:
-+        linker = linker[0]
-+    elif lto and c_compiler.type == 'clang' and target.kernel != 'Darwin':
-+        # If no linker was explicitly given, and building with clang for non-macOS,
-+        # prefer lld. For macOS, we prefer ld64, or whatever the default linker is.
-+        linker = 'lld'
-+    else:
-+        linker = None
- 
--    if linker not in ('bfd', 'gold', 'lld', None) and not linker.startswith("lld-"):
-+    def is_valid_linker(linker):
-+        if target.kernel == 'Darwin':
-+            valid_linkers = ('ld64', 'lld')
-+        else:
-+            valid_linkers = ('bfd', 'gold', 'lld')
-+        if linker in valid_linkers:
-+            return True
-+        if 'lld' in valid_linkers and linker.startswith('lld-'):
-+            return True
-+        return False
-+
-+    if linker and not is_valid_linker(linker):
-         # Check that we are trying to use a supported linker
-         die('Unsupported linker ' + linker)
- 
-@@ -1602,13 +1615,34 @@ def select_linker(linker, c_compiler, developer_options, enable_gold,
- 
-     def try_linker(linker):
-         # Generate the compiler flag
--        linker_flag = ["-fuse-ld=" + linker] if linker else []
-+        if linker == 'ld64':
-+            linker_flag = ['-fuse-ld=ld']
-+        elif linker:
-+            linker_flag = ["-fuse-ld=" + linker]
-+        else:
-+            linker_flag = []
-         cmd = cmd_base + linker_flag + version_check
-         if toolchain_flags:
-             cmd += toolchain_flags
- 
--        cmd_output = check_cmd_output(*cmd).decode('utf-8')
--        if 'GNU ld' in cmd_output:
-+        # ld64 doesn't have anything to print out a version. It does print out
-+        # "ld64: For information on command line options please use 'man ld'."
-+        # but that would require doing two attempts, one with --version, that
-+        # would fail, and another with --help.
-+        # Instead, abuse its LD_PRINT_OPTIONS feature to detect a message
-+        # specific to it on stderr when it fails to process --version.
-+        env = dict(os.environ)
-+        env['LD_PRINT_OPTIONS'] = '1'
-+        retcode, stdout, stderr = get_cmd_output(*cmd, env=env)
-+        cmd_output = stdout.decode('utf-8')
-+        stderr = stderr.decode('utf-8')
-+        if retcode == 1 and 'Logging ld64 options' in stderr:
-+            kind = 'ld64'
-+
-+        elif retcode != 0:
-+            return None
-+
-+        elif 'GNU ld' in cmd_output:
-             # We are using the normal linker
-             kind = 'bfd'
- 
-@@ -1627,13 +1661,21 @@ def select_linker(linker, c_compiler, developer_options, enable_gold,
-         )
- 
-     result = try_linker(linker)
-+    if result is None:
-+        if linker:
-+            die("Could not use {} as linker".format(linker))
-+        die("Failed to find a linker")
- 
-     if (linker is None and enable_gold.origin == 'default' and
-             developer_options and result.KIND == 'bfd'):
--        gold = try_linker('gold')
--
--        if gold.KIND == 'gold':
--            result = gold
-+        # try and use lld if available.
-+        tried = try_linker('lld')
-+        if tried is None or tried.KIND != 'lld':
-+            tried = try_linker('gold')
-+            if tried is None or tried.KIND != 'gold':
-+                tried = None
-+        if tried:
-+            result = tried
- 
-     # If an explicit linker was given, error out if what we found is different.
-     if linker and not linker.startswith(result.KIND):
-@@ -1644,7 +1686,7 @@ def select_linker(linker, c_compiler, developer_options, enable_gold,
- 
- set_config('LD_IS_BFD', depends(select_linker.KIND)
-            (lambda x: x == 'bfd' or None))
--set_config('LINKER_LDFLAGS', select_linker.LINKER_FLAG)
-+add_old_configure_assignment('LINKER_LDFLAGS', select_linker.LINKER_FLAG)
- 
- 
- js_option('--enable-clang-plugin', env='ENABLE_CLANG_PLUGIN',
---- a/build/moz.configure/util.configure
-+++ b/build/moz.configure/util.configure
-@@ -19,20 +19,13 @@ def configure_error(message):
-     their inputs from moz.configure usage.'''
-     raise ConfigureError(message)
- 
--# A wrapper to obtain a process' output that returns the output generated
--# by running the given command if it exits normally, and streams that
--# output to log.debug and calls die or the given error callback if it
--# does not.
--
- 
-+# A wrapper to obtain a process' output and return code.
-+# Returns a tuple (retcode, stdout, stderr).
- @imports(_from='__builtin__', _import='unicode')
- @imports('subprocess')
--@imports('sys')
--@imports(_from='mozbuild.configure.util', _import='LineIO')
- @imports(_from='mozbuild.shellutil', _import='quote')
--def check_cmd_output(*args, **kwargs):
--    onerror = kwargs.pop('onerror', None)
--
-+def get_cmd_output(*args, **kwargs):
-     # subprocess on older Pythons can't handle unicode keys or values in
-     # environment dicts. Normalize automagically so callers don't have to
-     # deal with this.
-@@ -49,12 +42,24 @@ def check_cmd_output(*args, **kwargs):
- 
-         kwargs['env'] = normalized_env
- 
-+    log.debug('Executing: `%s`', quote(*args))
-+    proc = subprocess.Popen(args, stdout=subprocess.PIPE,
-+                            stderr=subprocess.PIPE, **kwargs)
-+    stdout, stderr = proc.communicate()
-+    return proc.wait(), stdout, stderr
-+
-+
-+# A wrapper to obtain a process' output that returns the output generated
-+# by running the given command if it exits normally, and streams that
-+# output to log.debug and calls die or the given error callback if it
-+# does not.
-+@imports(_from='mozbuild.configure.util', _import='LineIO')
-+@imports(_from='mozbuild.shellutil', _import='quote')
-+def check_cmd_output(*args, **kwargs):
-+    onerror = kwargs.pop('onerror', None)
-+
-     with log.queue_debug():
--        log.debug('Executing: `%s`', quote(*args))
--        proc = subprocess.Popen(args, stdout=subprocess.PIPE,
--                                stderr=subprocess.PIPE, **kwargs)
--        stdout, stderr = proc.communicate()
--        retcode = proc.wait()
-+        retcode, stdout, stderr = get_cmd_output(*args, **kwargs)
-         if retcode == 0:
-             return stdout
- 
---- a/js/src/old-configure.in
-+++ b/js/src/old-configure.in
-@@ -63,6 +63,8 @@ dnl ========================================================
- USE_PTHREADS=
- _PTHREAD_LDFLAGS=""
- 
-+LDFLAGS="$LDFLAGS $LINKER_LDFLAGS"
-+
- MOZ_DEFAULT_COMPILER
- 
- if test -z "$JS_STANDALONE"; then
---- a/old-configure.in
-+++ b/old-configure.in
-@@ -78,6 +78,8 @@ dnl ========================================================
- MOZ_USE_PTHREADS=
- _PTHREAD_LDFLAGS=""
- 
-+LDFLAGS="$LDFLAGS $LINKER_LDFLAGS"
-+
- MOZ_DEFAULT_COMPILER
- 
- if test "$COMPILE_ENVIRONMENT"; then
---- a/python/mozbuild/mozbuild/frontend/context.py
-+++ b/python/mozbuild/mozbuild/frontend/context.py
-@@ -384,8 +384,6 @@ class LinkFlags(BaseCompileFlags):
- 
-         self.flag_variables = (
-             ('OS', self._os_ldflags(), ('LDFLAGS',)),
--            ('LINKER', context.config.substs.get('LINKER_LDFLAGS'),
--             ('LDFLAGS',)),
-             ('DEFFILE', None, ('LDFLAGS',)),
-             ('MOZBUILD', None, ('LDFLAGS',)),
-             ('FIX_LINK_PATHS', context.config.substs.get('MOZ_FIX_LINK_PATHS'),
---- a/python/mozbuild/mozbuild/test/frontend/test_emitter.py
-+++ b/python/mozbuild/mozbuild/test/frontend/test_emitter.py
-@@ -242,7 +242,6 @@ class TestEmitterBasic(unittest.TestCase):
-     def test_link_flags(self):
-         reader = self.reader('link-flags', extra_substs={
-             'OS_LDFLAGS': ['-Wl,rpath-link=/usr/lib'],
--            'LINKER_LDFLAGS': ['-fuse-ld=gold'],
-             'MOZ_OPTIMIZE': '',
-             'MOZ_OPTIMIZE_LDFLAGS': ['-Wl,-dead_strip'],
-             'MOZ_DEBUG_LDFLAGS': ['-framework ExceptionHandling'],
-@@ -250,7 +249,6 @@ class TestEmitterBasic(unittest.TestCase):
-         sources, ldflags, lib, compile_flags = self.read_topsrcdir(reader)
-         self.assertIsInstance(ldflags, ComputedFlags)
-         self.assertEqual(ldflags.flags['OS'], reader.config.substs['OS_LDFLAGS'])
--        self.assertEqual(ldflags.flags['LINKER'], reader.config.substs['LINKER_LDFLAGS'])
-         self.assertEqual(ldflags.flags['MOZBUILD'], ['-Wl,-U_foo', '-framework Foo', '-x'])
-         self.assertEqual(ldflags.flags['OPTIMIZE'], [])
- 

diff --git a/www-client/firefox/files/firefox-60.0-missing-errno_h-in-SandboxOpenedFiles_cpp.patch b/www-client/firefox/files/firefox-60.0-missing-errno_h-in-SandboxOpenedFiles_cpp.patch
deleted file mode 100644
index c746c73940e..00000000000
--- a/www-client/firefox/files/firefox-60.0-missing-errno_h-in-SandboxOpenedFiles_cpp.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-https://bugs.gentoo.org/667096
-
-https://bugzilla.mozilla.org/show_bug.cgi?id=1480554
---- a/security/sandbox/linux/SandboxOpenedFiles.cpp
-+++ b/security/sandbox/linux/SandboxOpenedFiles.cpp
-@@ -4,16 +4,17 @@
-  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
-  * You can obtain one at http://mozilla.org/MPL/2.0/. */
- 
- #include "SandboxOpenedFiles.h"
- 
- #include "mozilla/Move.h"
- #include "SandboxLogging.h"
- 
-+#include <errno.h>
- #include <fcntl.h>
- #include <unistd.h>
- 
- namespace mozilla {
- 
- // The default move constructor almost works, but Atomic isn't
- // move-constructable and the fd needs some special handling.
- SandboxOpenedFile::SandboxOpenedFile(SandboxOpenedFile&& aMoved)
-
-
-
-

diff --git a/www-client/firefox/files/firefox-60.0-rust-1.29-comp.patch b/www-client/firefox/files/firefox-60.0-rust-1.29-comp.patch
deleted file mode 100644
index 6fbd13fe639..00000000000
--- a/www-client/firefox/files/firefox-60.0-rust-1.29-comp.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-https://bugs.gentoo.org/666898
-
-https://bugzilla.mozilla.org/show_bug.cgi?id=1479540
---- a/build/moz.configure/init.configure
-+++ b/build/moz.configure/init.configure
-@@ -572,17 +572,26 @@ option('--target', nargs=1,
- @imports(_from='__builtin__', _import='KeyError')
- @imports(_from='__builtin__', _import='ValueError')
- def split_triplet(triplet, allow_unknown=False):
-     # The standard triplet is defined as
-     #   CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-     # There is also a quartet form:
-     #   CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-     # But we can consider the "KERNEL-OPERATING_SYSTEM" as one.
--    cpu, manufacturer, os = triplet.split('-', 2)
-+    # Additionally, some may omit "unknown" when the manufacturer
-+    # is not specified and emit
-+    #   CPU_TYPE-OPERATING_SYSTEM
-+    parts = triplet.split('-', 2)
-+    if len(parts) == 3:
-+        cpu, _, os = parts
-+    elif len(parts) == 2:
-+        cpu, os = parts
-+    else:
-+        die("Unexpected triplet string: %s" % triplet)
- 
-     # Autoconf uses config.sub to validate and canonicalize those triplets,
-     # but the granularity of its results has never been satisfying to our
-     # use, so we've had our own, different, canonicalization. We've also
-     # historically not been very consistent with how we use the canonicalized
-     # values. Hopefully, this will help us make things better.
-     # The tests are inherited from our decades-old autoconf-based configure,
-     # which can probably be improved/cleaned up because they are based on a
-
-
-
-

diff --git a/www-client/firefox/files/firefox-60.0-sandbox-lto.patch b/www-client/firefox/files/firefox-60.0-sandbox-lto.patch
deleted file mode 100644
index 990cb4fbee7..00000000000
--- a/www-client/firefox/files/firefox-60.0-sandbox-lto.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-https://bugs.gentoo.org/666580
-
---- a/security/sandbox/linux/moz.build
-+++ b/security/sandbox/linux/moz.build
-@@ -101,7 +101,7 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
- # forcing there to be only one partition.
- for f in CONFIG['OS_CXXFLAGS']:
-     if f.startswith('-flto') and CONFIG['CC_TYPE'] != 'clang':
--        LDFLAGS += ['--param lto-partitions=1']
-+        LDFLAGS += ['--param=lto-partitions=1']
- 
- DEFINES['NS_NO_XPCOM'] = True
- DisableStlWrapping()

diff --git a/www-client/firefox/files/firefox-60.0-update-cc-to-honor-CC.patch b/www-client/firefox/files/firefox-60.0-update-cc-to-honor-CC.patch
deleted file mode 100644
index 9bca3f57a0a..00000000000
--- a/www-client/firefox/files/firefox-60.0-update-cc-to-honor-CC.patch
+++ /dev/null
@@ -1,745 +0,0 @@
-https://bugzilla.mozilla.org/show_bug.cgi?id=1496270
-https://bugzilla.mozilla.org/show_bug.cgi?id=1445528
-
---- a/third_party/rust/cc/.cargo-checksum.json
-+++ b/third_party/rust/cc/.cargo-checksum.json
-@@ -1 +1 @@
--{"files":{".travis.yml":"1a4a3f7f90349924378e93acbb524b9127e37c02cfbc6dc59fd904bbdc1c8d0b","Cargo.toml":"623dd06a83bcbf2f292ab51af93e9b79b689e3be06a62968b79f4e36f1bb769f","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"186c5c8a62520cb7a3d90d77161c954b52ae8456fca0e0669bc3a5b889592a43","appveyor.yml":"ab45bfdcf2596f357225a54e730c34d518a8f3ad56c2ed33af682cfd45bddc02","src/bin/gcc-shim.rs":"d6be9137cb48b86891e7b263adbf492e1193ffe682db9ba4a88eb1079b874b58","src/com.rs":"0cb06f5db0fb70d27db0e5917ca337de6e7032119e6aabfea1bad9c719f5f34b","src/lib.rs":"996b650e19d5ccd6e64e741789427017c913644e980862a7286ec4ed53c14a17","src/registry.rs":"3876ef9573e3bbc050aef41a684b9a510cc1a91b15ae874fe032cf4377b4d116","src/setup_config.rs":"1a3eeb11c6847c31f2a4685b62ab35c76f0b6d5a17f7ed99e9df164283a771f7","src/winapi.rs":"cb5e6cab3eb570b0f97c660ca448ccfb5024262c0c7b245c181daad91a7
 9f211","src/windows_registry.rs":"6de548aa94215e449f0e58e9a3b1702939d7c2f7b63a9040901c948bf138201d","tests/cc_env.rs":"7402315eea7ffa23b29b393c1de8e236294ede9de562ff0a562704a157135341","tests/support/mod.rs":"092551f9f6e3a999fa0aa02f93314aac0bda2b09268f948c423df56a43575e0b","tests/test.rs":"b1164258714e13173f3861126e97bedf1e29aa24618993c4eb0edd57c431dcc7"},"package":"deaf9ec656256bb25b404c51ef50097207b9cbb29c933d31f92cae5a8a0ffee0"}
-\ No newline at end of file
-+{"files":{".travis.yml":"1a4a3f7f90349924378e93acbb524b9127e37c02cfbc6dc59fd904bbdc1c8d0b","Cargo.toml":"623dd06a83bcbf2f292ab51af93e9b79b689e3be06a62968b79f4e36f1bb769f","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"186c5c8a62520cb7a3d90d77161c954b52ae8456fca0e0669bc3a5b889592a43","appveyor.yml":"ab45bfdcf2596f357225a54e730c34d518a8f3ad56c2ed33af682cfd45bddc02","src/bin/gcc-shim.rs":"d6be9137cb48b86891e7b263adbf492e1193ffe682db9ba4a88eb1079b874b58","src/com.rs":"0cb06f5db0fb70d27db0e5917ca337de6e7032119e6aabfea1bad9c719f5f34b","src/lib.rs":"6e8cea99f5fc8e5982b1ea9a336ee2f9a6158a9498c8f0c36f1e8cee8c99716e","src/registry.rs":"3876ef9573e3bbc050aef41a684b9a510cc1a91b15ae874fe032cf4377b4d116","src/setup_config.rs":"1a3eeb11c6847c31f2a4685b62ab35c76f0b6d5a17f7ed99e9df164283a771f7","src/winapi.rs":"cb5e6cab3eb570b0f97c660ca448ccfb5024262c0c7b245c181daad91a7
 9f211","src/windows_registry.rs":"6de548aa94215e449f0e58e9a3b1702939d7c2f7b63a9040901c948bf138201d","tests/cc_env.rs":"7402315eea7ffa23b29b393c1de8e236294ede9de562ff0a562704a157135341","tests/support/mod.rs":"092551f9f6e3a999fa0aa02f93314aac0bda2b09268f948c423df56a43575e0b","tests/test.rs":"b1164258714e13173f3861126e97bedf1e29aa24618993c4eb0edd57c431dcc7"},"package":"deaf9ec656256bb25b404c51ef50097207b9cbb29c933d31f92cae5a8a0ffee0"}
-\ No newline at end of file
---- a/third_party/rust/cc/src/lib.rs
-+++ b/third_party/rust/cc/src/lib.rs
-@@ -61,15 +61,14 @@
- extern crate rayon;
- 
- use std::env;
--use std::ffi::{OsString, OsStr};
-+use std::ffi::{OsStr, OsString};
- use std::fs;
--use std::path::{PathBuf, Path};
--use std::process::{Command, Stdio, Child};
--use std::io::{self, BufReader, BufRead, Read, Write};
-+use std::path::{Path, PathBuf};
-+use std::process::{Child, Command, Stdio};
-+use std::io::{self, BufRead, BufReader, Read, Write};
- use std::thread::{self, JoinHandle};
--
--#[cfg(feature = "parallel")]
--use std::sync::Mutex;
-+use std::collections::HashMap;
-+use std::sync::{Arc, Mutex};
- 
- // These modules are all glue to support reading the MSVC version from
- // the registry and from COM interfaces
-@@ -97,6 +96,7 @@ pub struct Build {
-     objects: Vec<PathBuf>,
-     flags: Vec<String>,
-     flags_supported: Vec<String>,
-+    known_flag_support_status: Arc<Mutex<HashMap<String, bool>>>,
-     files: Vec<PathBuf>,
-     cpp: bool,
-     cpp_link_stdlib: Option<Option<String>>,
-@@ -241,8 +241,7 @@ impl ToolFamily {
-     fn nvcc_debug_flag(&self) -> &'static str {
-         match *self {
-             ToolFamily::Msvc => unimplemented!(),
--            ToolFamily::Gnu |
--            ToolFamily::Clang => "-G",
-+            ToolFamily::Gnu | ToolFamily::Clang => "-G",
-         }
-     }
- 
-@@ -251,8 +250,7 @@ impl ToolFamily {
-     fn nvcc_redirect_flag(&self) -> &'static str {
-         match *self {
-             ToolFamily::Msvc => unimplemented!(),
--            ToolFamily::Gnu |
--            ToolFamily::Clang => "-Xcompiler",
-+            ToolFamily::Gnu | ToolFamily::Clang => "-Xcompiler",
-         }
-     }
- }
-@@ -269,10 +267,7 @@ struct Object {
- impl Object {
-     /// Create a new source file -> object file pair.
-     fn new(src: PathBuf, dst: PathBuf) -> Object {
--        Object {
--            src: src,
--            dst: dst,
--        }
-+        Object { src: src, dst: dst }
-     }
- }
- 
-@@ -289,6 +284,7 @@ impl Build {
-             objects: Vec::new(),
-             flags: Vec::new(),
-             flags_supported: Vec::new(),
-+            known_flag_support_status: Arc::new(Mutex::new(HashMap::new())),
-             files: Vec::new(),
-             shared_flag: None,
-             static_flag: None,
-@@ -344,10 +340,8 @@ impl Build {
-     ///     .compile("foo");
-     /// ```
-     pub fn define<'a, V: Into<Option<&'a str>>>(&mut self, var: &str, val: V) -> &mut Build {
--        self.definitions.push((
--            var.to_string(),
--            val.into().map(|s| s.to_string()),
--        ));
-+        self.definitions
-+            .push((var.to_string(), val.into().map(|s| s.to_string())));
-         self
-     }
- 
-@@ -398,7 +392,16 @@ impl Build {
-     ///
-     /// It may return error if it's unable to run the compilier with a test file
-     /// (e.g. the compiler is missing or a write to the `out_dir` failed).
-+    ///
-+    /// Note: Once computed, the result of this call is stored in the
-+    /// `known_flag_support` field. If `is_flag_supported(flag)`
-+    /// is called again, the result will be read from the hash table.
-     pub fn is_flag_supported(&self, flag: &str) -> Result<bool, Error> {
-+        let mut known_status = self.known_flag_support_status.lock().unwrap();
-+        if let Some(is_supported) = known_status.get(flag).cloned() {
-+            return Ok(is_supported);
-+        }
-+
-         let out_dir = self.get_out_dir()?;
-         let src = self.ensure_check_file()?;
-         let obj = out_dir.join("flag_check");
-@@ -413,7 +416,8 @@ impl Build {
-             .cuda(self.cuda);
-         let compiler = cfg.try_get_compiler()?;
-         let mut cmd = compiler.to_command();
--        command_add_output_file(&mut cmd, &obj, target.contains("msvc"), false);
-+        let is_arm = target.contains("aarch64") || target.contains("arm");
-+        command_add_output_file(&mut cmd, &obj, target.contains("msvc"), false, is_arm);
- 
-         // We need to explicitly tell msvc not to link and create an exe
-         // in the root directory of the crate
-@@ -424,7 +428,10 @@ impl Build {
-         cmd.arg(&src);
- 
-         let output = cmd.output()?;
--        Ok(output.stderr.is_empty())
-+        let is_supported = output.stderr.is_empty();
-+
-+        known_status.insert(flag.to_owned(), is_supported);
-+        Ok(is_supported)
-     }
- 
-     /// Add an arbitrary flag to the invocation of the compiler if it supports it
-@@ -777,9 +784,8 @@ impl Build {
-         A: AsRef<OsStr>,
-         B: AsRef<OsStr>,
-     {
--        self.env.push(
--            (a.as_ref().to_owned(), b.as_ref().to_owned()),
--        );
-+        self.env
-+            .push((a.as_ref().to_owned(), b.as_ref().to_owned()));
-         self
-     }
- 
-@@ -880,31 +886,19 @@ impl Build {
-     fn compile_objects(&self, objs: &[Object]) -> Result<(), Error> {
-         use self::rayon::prelude::*;
- 
--        let mut cfg = rayon::Configuration::new();
-         if let Ok(amt) = env::var("NUM_JOBS") {
-             if let Ok(amt) = amt.parse() {
--                cfg = cfg.num_threads(amt);
-+                let _ = rayon::ThreadPoolBuilder::new()
-+                    .num_threads(amt)
-+                    .build_global();
-             }
-         }
--        drop(rayon::initialize(cfg));
--
--        let results: Mutex<Vec<Result<(), Error>>> = Mutex::new(Vec::new());
--
--        objs.par_iter().with_max_len(1).for_each(
--            |obj| {
--                let res = self.compile_object(obj);
--                results.lock().unwrap().push(res)
--            },
--        );
- 
-         // Check for any errors and return the first one found.
--        for result in results.into_inner().unwrap().iter() {
--            if result.is_err() {
--                return result.clone();
--            }
--        }
--
--        Ok(())
-+        objs.par_iter()
-+            .with_max_len(1)
-+            .map(|obj| self.compile_object(obj))
-+            .collect()
-     }
- 
-     #[cfg(not(feature = "parallel"))]
-@@ -917,7 +911,8 @@ impl Build {
- 
-     fn compile_object(&self, obj: &Object) -> Result<(), Error> {
-         let is_asm = obj.src.extension().and_then(|s| s.to_str()) == Some("asm");
--        let msvc = self.get_target()?.contains("msvc");
-+        let target = self.get_target()?;
-+        let msvc = target.contains("msvc");
-         let (mut cmd, name) = if msvc && is_asm {
-             self.msvc_macro_assembler()?
-         } else {
-@@ -931,15 +926,17 @@ impl Build {
-                 compiler
-                     .path
-                     .file_name()
--                    .ok_or_else(|| {
--                        Error::new(ErrorKind::IOError, "Failed to get compiler path.")
--                    })?
-+                    .ok_or_else(|| Error::new(ErrorKind::IOError, "Failed to get compiler path."))?
-                     .to_string_lossy()
-                     .into_owned(),
-             )
-         };
--        command_add_output_file(&mut cmd, &obj.dst, msvc, is_asm);
--        cmd.arg(if msvc { "/c" } else { "-c" });
-+        let is_arm = target.contains("aarch64") || target.contains("arm");
-+        command_add_output_file(&mut cmd, &obj.dst, msvc, is_asm, is_arm);
-+        // armasm and armasm64 don't requrie -c option
-+        if !msvc || !is_asm || !is_arm {
-+            cmd.arg(if msvc { "/c" } else { "-c" });
-+        }
-         cmd.arg(&obj.src);
- 
-         run(&mut cmd, &name)?;
-@@ -967,9 +964,7 @@ impl Build {
-         let name = compiler
-             .path
-             .file_name()
--            .ok_or_else(|| {
--                Error::new(ErrorKind::IOError, "Failed to get compiler path.")
--            })?
-+            .ok_or_else(|| Error::new(ErrorKind::IOError, "Failed to get compiler path."))?
-             .to_string_lossy()
-             .into_owned();
- 
-@@ -1054,8 +1049,8 @@ impl Build {
-                 cmd.args.push(crt_flag.into());
- 
-                 match &opt_level[..] {
--                    "z" | "s" => cmd.args.push("/Os".into()),
--                    "1" => cmd.args.push("/O1".into()),
-+                    // Msvc uses /O1 to enable all optimizations that minimize code size.
-+                    "z" | "s" | "1" => cmd.args.push("/O1".into()),
-                     // -O3 is a valid value for gcc and clang compilers, but not msvc. Cap to /O2.
-                     "2" | "3" => cmd.args.push("/O2".into()),
-                     _ => {}
-@@ -1070,8 +1065,10 @@ impl Build {
-                     cmd.args.push(format!("-O{}", opt_level).into());
-                 }
- 
--                cmd.push_cc_arg("-ffunction-sections".into());
--                cmd.push_cc_arg("-fdata-sections".into());
-+                if !target.contains("-ios") {
-+                    cmd.push_cc_arg("-ffunction-sections".into());
-+                    cmd.push_cc_arg("-fdata-sections".into());
-+                }
-                 if self.pic.unwrap_or(!target.contains("windows-gnu")) {
-                     cmd.push_cc_arg("-fPIC".into());
-                 }
-@@ -1169,7 +1166,7 @@ impl Build {
-                 // linker that we're generating 32-bit executables as well. This'll
-                 // typically only be used for build scripts which transitively use
-                 // these flags that try to compile executables.
--                if target == "i686-unknown-linux-musl" {
-+                if target == "i686-unknown-linux-musl" || target == "i586-unknown-linux-musl" {
-                     cmd.args.push("-Wl,-melf_i386".into());
-                 }
- 
-@@ -1212,14 +1209,13 @@ impl Build {
-         if self.cpp {
-             match (self.cpp_set_stdlib.as_ref(), cmd.family) {
-                 (None, _) => {}
--                (Some(stdlib), ToolFamily::Gnu) |
--                (Some(stdlib), ToolFamily::Clang) => {
-+                (Some(stdlib), ToolFamily::Gnu) | (Some(stdlib), ToolFamily::Clang) => {
-                     cmd.push_cc_arg(format!("-stdlib=lib{}", stdlib).into());
-                 }
-                 _ => {
-                     println!(
-                         "cargo:warning=cpp_set_stdlib is specified, but the {:?} compiler \
--                              does not support this option, ignored",
-+                         does not support this option, ignored",
-                         cmd.family
-                     );
-                 }
-@@ -1272,6 +1268,10 @@ impl Build {
-         let target = self.get_target()?;
-         let tool = if target.contains("x86_64") {
-             "ml64.exe"
-+        } else if target.contains("arm") {
-+            "armasm.exe"
-+        } else if target.contains("aarch64") {
-+            "armasm64.exe"
-         } else {
-             "ml.exe"
-         };
-@@ -1307,20 +1307,55 @@ impl Build {
-         if target.contains("msvc") {
-             let mut cmd = match self.archiver {
-                 Some(ref s) => self.cmd(s),
--                None => {
--                    windows_registry::find(&target, "lib.exe").unwrap_or_else(
--                        || {
--                            self.cmd("lib.exe")
--                        },
--                    )
--                }
-+                None => windows_registry::find(&target, "lib.exe")
-+                    .unwrap_or_else(|| self.cmd("lib.exe")),
-             };
-+
-             let mut out = OsString::from("/OUT:");
-             out.push(dst);
--            run(
--                cmd.arg(out).arg("/nologo").args(&objects).args(&self.objects),
--                "lib.exe",
--            )?;
-+            cmd.arg(out).arg("/nologo");
-+
-+            // Similar to https://github.com/rust-lang/rust/pull/47507
-+            // and https://github.com/rust-lang/rust/pull/48548
-+            let estimated_command_line_len = objects
-+                .iter()
-+                .chain(&self.objects)
-+                .map(|a| a.as_os_str().len())
-+                .sum::<usize>();
-+            if estimated_command_line_len > 1024 * 6 {
-+                let mut args = String::from("\u{FEFF}"); // BOM
-+                for arg in objects.iter().chain(&self.objects) {
-+                    args.push('"');
-+                    for c in arg.to_str().unwrap().chars() {
-+                        if c == '"' {
-+                            args.push('\\')
-+                        }
-+                        args.push(c)
-+                    }
-+                    args.push('"');
-+                    args.push('\n');
-+                }
-+
-+                let mut utf16le = Vec::new();
-+                for code_unit in args.encode_utf16() {
-+                    utf16le.push(code_unit as u8);
-+                    utf16le.push((code_unit >> 8) as u8);
-+                }
-+
-+                let mut args_file = OsString::from(dst);
-+                args_file.push(".args");
-+                fs::File::create(&args_file)
-+                    .unwrap()
-+                    .write_all(&utf16le)
-+                    .unwrap();
-+
-+                let mut args_file_arg = OsString::from("@");
-+                args_file_arg.push(args_file);
-+                cmd.arg(args_file_arg);
-+            } else {
-+                cmd.args(&objects).args(&self.objects);
-+            }
-+            run(&mut cmd, "lib.exe")?;
- 
-             // The Rust compiler will look for libfoo.a and foo.lib, but the
-             // MSVC linker will also be passed foo.lib, so be sure that both
-@@ -1412,6 +1447,18 @@ impl Build {
- 
-         cmd.args.push("-isysroot".into());
-         cmd.args.push(sdk_path.trim().into());
-+        cmd.args.push("-fembed-bitcode".into());
-+        /*
-+         * TODO we probably ultimatedly want the -fembed-bitcode-marker flag
-+         * but can't have it now because of an issue in LLVM:
-+         * https://github.com/alexcrichton/cc-rs/issues/301
-+         * https://github.com/rust-lang/rust/pull/48896#comment-372192660
-+         */
-+        /*
-+        if self.get_opt_level()? == "0" {
-+            cmd.args.push("-fembed-bitcode-marker".into());
-+        }
-+        */
- 
-         Ok(())
-     }
-@@ -1437,37 +1484,44 @@ impl Build {
-         };
- 
-         // On Solaris, c++/cc unlikely to exist or be correct.
--        let default = if host.contains("solaris") { gnu } else { traditional };
--
--        let tool_opt: Option<Tool> =
--            self.env_tool(env)
--                .map(|(tool, cc, args)| {
--                    let mut t = Tool::new(PathBuf::from(tool));
--                    if let Some(cc) = cc {
--                        t.cc_wrapper_path = Some(PathBuf::from(cc));
--                    }
--                    for arg in args {
--                        t.cc_wrapper_args.push(arg.into());
--                    }
--                    t
--                })
--                .or_else(|| {
--                    if target.contains("emscripten") {
--                        let tool = if self.cpp { "em++" } else { "emcc" };
--                        // Windows uses bat file so we have to be a bit more specific
--                        if cfg!(windows) {
--                            let mut t = Tool::new(PathBuf::from("cmd"));
--                            t.args.push("/c".into());
--                            t.args.push(format!("{}.bat", tool).into());
--                            Some(t)
--                        } else {
--                            Some(Tool::new(PathBuf::from(tool)))
--                        }
-+        let default = if host.contains("solaris") {
-+            gnu
-+        } else {
-+            traditional
-+        };
-+
-+        let tool_opt: Option<Tool> = self.env_tool(env)
-+            .map(|(tool, cc, args)| {
-+                // chop off leading/trailing whitespace to work around
-+                // semi-buggy build scripts which are shared in
-+                // makefiles/configure scripts (where spaces are far more
-+                // lenient)
-+                let mut t = Tool::new(PathBuf::from(tool.trim()));
-+                if let Some(cc) = cc {
-+                    t.cc_wrapper_path = Some(PathBuf::from(cc));
-+                }
-+                for arg in args {
-+                    t.cc_wrapper_args.push(arg.into());
-+                }
-+                t
-+            })
-+            .or_else(|| {
-+                if target.contains("emscripten") {
-+                    let tool = if self.cpp { "em++" } else { "emcc" };
-+                    // Windows uses bat file so we have to be a bit more specific
-+                    if cfg!(windows) {
-+                        let mut t = Tool::new(PathBuf::from("cmd"));
-+                        t.args.push("/c".into());
-+                        t.args.push(format!("{}.bat", tool).into());
-+                        Some(t)
-                     } else {
--                        None
-+                        Some(Tool::new(PathBuf::from(tool)))
-                     }
--                })
--                .or_else(|| windows_registry::find_tool(&target, "cl.exe"));
-+                } else {
-+                    None
-+                }
-+            })
-+            .or_else(|| windows_registry::find_tool(&target, "cl.exe"));
- 
-         let tool = match tool_opt {
-             Some(t) => t,
-@@ -1501,6 +1555,7 @@ impl Build {
-                         "armv7-unknown-linux-gnueabihf" => Some("arm-linux-gnueabihf"),
-                         "armv7-unknown-linux-musleabihf" => Some("arm-linux-musleabihf"),
-                         "armv7-unknown-netbsd-eabihf" => Some("armv7--netbsdelf-eabihf"),
-+                        "i586-unknown-linux-musl" => Some("musl"),
-                         "i686-pc-windows-gnu" => Some("i686-w64-mingw32"),
-                         "i686-unknown-linux-musl" => Some("musl"),
-                         "i686-unknown-netbsd" => Some("i486--netbsdelf"),
-@@ -1509,10 +1564,12 @@ impl Build {
-                         "mips64-unknown-linux-gnuabi64" => Some("mips64-linux-gnuabi64"),
-                         "mips64el-unknown-linux-gnuabi64" => Some("mips64el-linux-gnuabi64"),
-                         "powerpc-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
-+                        "powerpc-unknown-linux-gnuspe" => Some("powerpc-linux-gnuspe"),
-                         "powerpc-unknown-netbsd" => Some("powerpc--netbsd"),
-                         "powerpc64-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
-                         "powerpc64le-unknown-linux-gnu" => Some("powerpc64le-linux-gnu"),
-                         "s390x-unknown-linux-gnu" => Some("s390x-linux-gnu"),
-+                        "sparc-unknown-linux-gnu" => Some("sparc-linux-gnu"),
-                         "sparc64-unknown-linux-gnu" => Some("sparc64-linux-gnu"),
-                         "sparc64-unknown-netbsd" => Some("sparc64--netbsd"),
-                         "sparcv9-sun-solaris" => Some("sparcv9-sun-solaris"),
-@@ -1538,14 +1595,18 @@ impl Build {
-         };
- 
-         let tool = if self.cuda {
--            assert!(tool.args.is_empty(),
--                "CUDA compilation currently assumes empty pre-existing args");
-+            assert!(
-+                tool.args.is_empty(),
-+                "CUDA compilation currently assumes empty pre-existing args"
-+            );
-             let nvcc = match self.get_var("NVCC") {
-                 Err(_) => "nvcc".into(),
-                 Ok(nvcc) => nvcc,
-             };
-             let mut nvcc_tool = Tool::with_features(PathBuf::from(nvcc), self.cuda);
--            nvcc_tool.args.push(format!("-ccbin={}", tool.path.display()).into());
-+            nvcc_tool
-+                .args
-+                .push(format!("-ccbin={}", tool.path.display()).into());
-             nvcc_tool
-         } else {
-             tool
-@@ -1568,10 +1629,7 @@ impl Build {
-             Some(res) => Ok(res),
-             None => Err(Error::new(
-                 ErrorKind::EnvVarNotFound,
--                &format!(
--                    "Could not find environment variable {}.",
--                    var_base
--                ),
-+                &format!("Could not find environment variable {}.", var_base),
-             )),
-         }
-     }
-@@ -1585,21 +1643,68 @@ impl Build {
-             .collect()
-     }
- 
--
-     /// Returns compiler path, optional modifier name from whitelist, and arguments vec
-     fn env_tool(&self, name: &str) -> Option<(String, Option<String>, Vec<String>)> {
--        self.get_var(name).ok().map(|tool| {
--            let whitelist = ["ccache", "distcc", "sccache"];
-+        let tool = match self.get_var(name) {
-+            Ok(tool) => tool,
-+            Err(_) => return None,
-+        };
- 
--            for t in whitelist.iter() {
--                if tool.starts_with(t) && tool[t.len()..].starts_with(' ')  {
--                    let args = tool.split_whitespace().collect::<Vec<_>>();
-+        // If this is an exact path on the filesystem we don't want to do any
-+        // interpretation at all, just pass it on through. This'll hopefully get
-+        // us to support spaces-in-paths.
-+        if Path::new(&tool).exists() {
-+            return Some((tool, None, Vec::new()));
-+        }
-+
-+        // Ok now we want to handle a couple of scenarios. We'll assume from
-+        // here on out that spaces are splitting separate arguments. Two major
-+        // features we want to support are:
-+        //
-+        //      CC='sccache cc'
-+        //
-+        // aka using `sccache` or any other wrapper/caching-like-thing for
-+        // compilations. We want to know what the actual compiler is still,
-+        // though, because our `Tool` API support introspection of it to see
-+        // what compiler is in use.
-+        //
-+        // additionally we want to support
-+        //
-+        //      CC='cc -flag'
-+        //
-+        // where the CC env var is used to also pass default flags to the C
-+        // compiler.
-+        //
-+        // It's true that everything here is a bit of a pain, but apparently if
-+        // you're not literally make or bash then you get a lot of bug reports.
-+        let known_wrappers = ["ccache", "distcc", "sccache", "icecc"];
-+
-+        let mut parts = tool.split_whitespace();
-+        let maybe_wrapper = match parts.next() {
-+            Some(s) => s,
-+            None => return None,
-+        };
- 
--                    return (args[1].to_string(), Some(t.to_string()), args[2..].iter().map(|s| s.to_string()).collect());
--                }
-+        let file_stem = Path::new(maybe_wrapper)
-+            .file_stem()
-+            .unwrap()
-+            .to_str()
-+            .unwrap();
-+        if known_wrappers.contains(&file_stem) {
-+            if let Some(compiler) = parts.next() {
-+                return Some((
-+                    compiler.to_string(),
-+                    Some(maybe_wrapper.to_string()),
-+                    parts.map(|s| s.to_string()).collect(),
-+                ));
-             }
--            (tool, None, Vec::new())
--        })
-+        }
-+
-+        Some((
-+            maybe_wrapper.to_string(),
-+            None,
-+            parts.map(|s| s.to_string()).collect(),
-+        ))
-     }
- 
-     /// Returns the default C++ standard library for the current target: `libc++`
-@@ -1611,7 +1716,7 @@ impl Build {
-                 let target = self.get_target()?;
-                 if target.contains("msvc") {
-                     Ok(None)
--                } else if target.contains("darwin") {
-+                } else if target.contains("apple") {
-                     Ok(Some("c++".to_string()))
-                 } else if target.contains("freebsd") {
-                     Ok(Some("c++".to_string()))
-@@ -1700,10 +1805,7 @@ impl Build {
-             Some(s) => Ok(s),
-             None => Err(Error::new(
-                 ErrorKind::EnvVarNotFound,
--                &format!(
--                    "Environment variable {} not defined.",
--                    v.to_string()
--                ),
-+                &format!("Environment variable {} not defined.", v.to_string()),
-             )),
-         }
-     }
-@@ -1731,8 +1833,9 @@ impl Tool {
-         let family = if let Some(fname) = path.file_name().and_then(|p| p.to_str()) {
-             if fname.contains("clang") {
-                 ToolFamily::Clang
--            } else if fname.contains("cl") && !fname.contains("cloudabi") &&
--                      !fname.contains("uclibc") {
-+            } else if fname.contains("cl") && !fname.contains("cloudabi")
-+                && !fname.contains("uclibc")
-+            {
-                 ToolFamily::Msvc
-             } else {
-                 ToolFamily::Gnu
-@@ -1775,8 +1878,8 @@ impl Tool {
-                 cmd.arg(&self.path);
-                 cmd.args(&self.cc_wrapper_args);
-                 cmd
--            },
--            None => Command::new(&self.path)
-+            }
-+            None => Command::new(&self.path),
-         };
-         cmd.args(&self.args);
-         for &(ref k, ref v) in self.env.iter() {
-@@ -1822,10 +1925,8 @@ impl Tool {
-                     cc_env.push(arg);
-                 }
-                 cc_env
--            },
--            None => {
--                OsString::from("")
-             }
-+            None => OsString::from(""),
-         }
-     }
- 
-@@ -1868,8 +1969,7 @@ fn run(cmd: &mut Command, program: &str) -> Result<(), Error> {
-                 ErrorKind::ToolExecError,
-                 &format!(
-                     "Failed to wait on spawned child process, command {:?} with args {:?}.",
--                    cmd,
--                    program
-+                    cmd, program
-                 ),
-             ))
-         }
-@@ -1884,9 +1984,7 @@ fn run(cmd: &mut Command, program: &str) -> Result<(), Error> {
-             ErrorKind::ToolExecError,
-             &format!(
-                 "Command {:?} with args {:?} did not execute successfully (status code {}).",
--                cmd,
--                program,
--                status
-+                cmd, program, status
-             ),
-         ))
-     }
-@@ -1909,8 +2007,7 @@ fn run_output(cmd: &mut Command, program: &str) -> Result<Vec<u8>, Error> {
-                 ErrorKind::ToolExecError,
-                 &format!(
-                     "Failed to wait on spawned child process, command {:?} with args {:?}.",
--                    cmd,
--                    program
-+                    cmd, program
-                 ),
-             ))
-         }
-@@ -1925,9 +2022,7 @@ fn run_output(cmd: &mut Command, program: &str) -> Result<Vec<u8>, Error> {
-             ErrorKind::ToolExecError,
-             &format!(
-                 "Command {:?} with args {:?} did not execute successfully (status code {}).",
--                cmd,
--                program,
--                status
-+                cmd, program, status
-             ),
-         ))
-     }
-@@ -1943,39 +2038,30 @@ fn spawn(cmd: &mut Command, program: &str) -> Result<(Child, JoinHandle<()>), Er
-     match cmd.stderr(Stdio::piped()).spawn() {
-         Ok(mut child) => {
-             let stderr = BufReader::new(child.stderr.take().unwrap());
--            let print = thread::spawn(move || for line in stderr.split(b'\n').filter_map(
--                |l| l.ok(),
--            )
--            {
--                print!("cargo:warning=");
--                std::io::stdout().write_all(&line).unwrap();
--                println!("");
-+            let print = thread::spawn(move || {
-+                for line in stderr.split(b'\n').filter_map(|l| l.ok()) {
-+                    print!("cargo:warning=");
-+                    std::io::stdout().write_all(&line).unwrap();
-+                    println!("");
-+                }
-             });
-             Ok((child, print))
-         }
-         Err(ref e) if e.kind() == io::ErrorKind::NotFound => {
-             let extra = if cfg!(windows) {
-                 " (see https://github.com/alexcrichton/cc-rs#compile-time-requirements \
--                   for help)"
-+                 for help)"
-             } else {
-                 ""
-             };
-             Err(Error::new(
-                 ErrorKind::ToolNotFound,
--                &format!(
--                    "Failed to find tool. Is `{}` installed?{}",
--                    program,
--                    extra
--                ),
-+                &format!("Failed to find tool. Is `{}` installed?{}", program, extra),
-             ))
-         }
-         Err(_) => Err(Error::new(
-             ErrorKind::ToolExecError,
--            &format!(
--                "Command {:?} with args {:?} failed to start.",
--                cmd,
--                program
--            ),
-+            &format!("Command {:?} with args {:?} failed to start.", cmd, program),
-         )),
-     }
- }
-@@ -1984,9 +2070,10 @@ fn fail(s: &str) -> ! {
-     panic!("\n\nInternal error occurred: {}\n\n", s)
- }
- 
--
--fn command_add_output_file(cmd: &mut Command, dst: &Path, msvc: bool, is_asm: bool) {
--    if msvc && is_asm {
-+fn command_add_output_file(cmd: &mut Command, dst: &Path, msvc: bool, is_asm: bool, is_arm: bool) {
-+    if msvc && is_asm && is_arm {
-+        cmd.arg("-o").arg(&dst);
-+    } else if msvc && is_asm {
-         cmd.arg("/Fo").arg(dst);
-     } else if msvc {
-         let mut s = OsString::from("/Fo");

diff --git a/www-client/firefox/firefox-60.2.2.ebuild b/www-client/firefox/firefox-60.2.2.ebuild
deleted file mode 100644
index edc9c9cfc1b..00000000000
--- a/www-client/firefox/firefox-60.2.2.ebuild
+++ /dev/null
@@ -1,413 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-VIRTUALX_REQUIRED="pgo"
-WANT_AUTOCONF="2.1"
-MOZ_ESR="1"
-
-PYTHON_COMPAT=( python3_{5,6,7} )
-PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)'
-
-# This list can be updated with scripts/get_langs.sh from the mozilla overlay
-MOZ_LANGS=( ach af an ar as ast az bg bn-BD bn-IN br bs ca cak cs cy da de dsb
-el en en-GB en-US en-ZA 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 id is it ja ka kab kk km kn ko lij lt lv
-mai mk ml mr ms nb-NO nl nn-NO or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq
-sr sv-SE ta te th tr uk uz vi xh zh-CN zh-TW )
-
-# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
-MOZ_PV="${PV/_alpha/a}" # Handle alpha for SRC_URI
-MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
-MOZ_PV="${MOZ_PV/_rc/rc}" # Handle rc for SRC_URI
-
-if [[ ${MOZ_ESR} == 1 ]]; then
-	# ESR releases have slightly different version numbers
-	MOZ_PV="${MOZ_PV}esr"
-fi
-
-# Patch version
-PATCH="${PN}-60.0-patches-04"
-MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases"
-
-MOZCONFIG_OPTIONAL_WIFI=1
-
-inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils llvm \
-		mozconfig-v6.60 pax-utils xdg-utils autotools mozlinguas-v2
-
-DESCRIPTION="Firefox Web Browser"
-HOMEPAGE="https://www.mozilla.com/firefox"
-
-KEYWORDS="amd64 x86"
-
-SLOT="0"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-IUSE="bindist eme-free geckodriver +gmp-autoupdate hardened hwaccel jack +screenshot selinux test"
-RESTRICT="!bindist? ( bindist )"
-
-SDIR="release"
-[[ ${PV} = *_beta* ]] && SDIR="beta"
-
-PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c,whissi}/mozilla/patchsets/${PATCH}.tar.xz )
-SRC_URI="${SRC_URI}
-	${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz
-	${PATCH_URIS[@]}"
-
-ASM_DEPEND=">=dev-lang/yasm-1.1"
-
-RDEPEND="
-	system-icu? ( >=dev-libs/icu-60.2 )
-	jack? ( virtual/jack )
-	>=dev-libs/nss-3.36.4
-	>=dev-libs/nspr-4.19
-	selinux? ( sec-policy/selinux-mozilla )"
-
-DEPEND="${RDEPEND}
-	>=sys-devel/llvm-4.0.1
-	>=sys-devel/clang-4.0.1
-	amd64? ( ${ASM_DEPEND} virtual/opengl )
-	x86? ( ${ASM_DEPEND} virtual/opengl )"
-
-S="${WORKDIR}/firefox-${PV%_*}"
-
-QA_PRESTRIPPED="usr/lib*/${PN}/firefox"
-
-BUILD_OBJ_DIR="${S}/ff"
-
-# allow GMP_PLUGIN_LIST to be set in an eclass or
-# overridden in the enviromnent (advanced hackers only)
-if [[ -z $GMP_PLUGIN_LIST ]]; then
-	GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
-fi
-
-llvm_check_deps() {
-	has_version "sys-devel/clang:${LLVM_SLOT}"
-}
-
-pkg_setup() {
-	moz_pkgsetup
-
-	# 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 \
-		XDG_SESSION_COOKIE \
-		XAUTHORITY
-
-	if ! use bindist; then
-		einfo
-		elog "You are enabling official branding. You may not redistribute this build"
-		elog "to any users on your network or the internet. Doing so puts yourself into"
-		elog "a legal problem with Mozilla Foundation"
-		elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"
-	fi
-
-	addpredict /proc/self/oom_score_adj
-
-	llvm_pkg_setup
-}
-
-pkg_pretend() {
-	# Ensure we have enough disk space to compile
-	CHECKREQS_DISK_BUILD="4G"
-
-	check-reqs_pkg_setup
-}
-
-src_unpack() {
-	unpack ${A}
-
-	# Unpack language packs
-	mozlinguas_src_unpack
-}
-
-src_prepare() {
-	rm "${WORKDIR}/firefox/2005_ffmpeg4.patch"
-	eapply "${WORKDIR}/firefox"
-
-	# Enable gnomebreakpad
-	if use debug ; then
-		sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
-			"${S}"/build/unix/run-mozilla.sh || die "sed failed!"
-	fi
-
-	# Drop -Wl,--as-needed related manipulation for ia64 as it causes ld sefgaults, bug #582432
-	if use ia64 ; then
-		sed -i \
-		-e '/^OS_LIBS += no_as_needed/d' \
-		-e '/^OS_LIBS += as_needed/d' \
-		"${S}"/widget/gtk/mozgtk/gtk2/moz.build \
-		"${S}"/widget/gtk/mozgtk/gtk3/moz.build \
-		|| die "sed failed to drop --as-needed for ia64"
-	fi
-
-	# Ensure that our plugins dir is enabled as default
-	sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
-		"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
-	sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
-		"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
-
-	# Fix sandbox violations during make clean, bug 372817
-	sed -e "s:\(/no-such-file\):${T}\1:g" \
-		-i "${S}"/config/rules.mk \
-		-i "${S}"/nsprpub/configure{.in,} \
-		|| die
-
-	# Don't exit with error when some libs are missing which we have in
-	# system.
-	sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
-		-i "${S}"/browser/installer/Makefile.in || die
-
-	# Don't error out when there's no files to be removed:
-	sed 's@\(xargs rm\)$@\1 -f@' \
-		-i "${S}"/toolkit/mozapps/installer/packager.mk || die
-
-	# Keep codebase the same even if not using official branding
-	sed '/^MOZ_DEV_EDITION=1/d' \
-		-i "${S}"/browser/branding/aurora/configure.sh || die
-
-	# Allow user to apply any additional patches without modifing ebuild
-	eapply_user
-
-	# Autotools configure is now called old-configure.in
-	# This works because there is still a configure.in that happens to be for the
-	# shell wrapper configure script
-	eautoreconf old-configure.in
-
-	# Must run autoconf in js/src
-	cd "${S}"/js/src || die
-	eautoconf old-configure.in
-}
-
-src_configure() {
-	MEXTENSIONS="default"
-	# 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.
-	_google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
-
-	# Add information about TERM to output (build.log) to aid debugging
-	# blessings problems
-	if [[ -n "${TERM}" ]] ; then
-		einfo "TERM is set to: \"${TERM}\""
-	else
-		einfo "TERM is unset."
-	fi
-
-	####################################
-	#
-	# mozconfig, CFLAGS and CXXFLAGS setup
-	#
-	####################################
-
-	mozconfig_init
-	mozconfig_config
-
-	mozconfig_use_enable geckodriver
-
-	# enable JACK, bug 600002
-	mozconfig_use_enable jack
-
-	# Enable/Disable eme support
-	use eme-free && mozconfig_annotate '+eme-free' --disable-eme
-
-	# It doesn't compile on alpha without this LDFLAGS
-	use alpha && append-ldflags "-Wl,--no-relax"
-
-	# Add full relro support for hardened
-	if use hardened; then
-		append-ldflags "-Wl,-z,relro,-z,now"
-		mozconfig_use_enable hardened hardening
-	fi
-
-	# Disable built-in ccache support to avoid sandbox violation, #665420
-	# Use FEATURES=ccache instead!
-	mozconfig_annotate '' --without-ccache
-	sed -i -e 's/ccache_stats = None/return None/' \
-		python/mozbuild/mozbuild/controller/building.py || \
-		die "Failed to disable ccache stats call"
-
-	# Setup api key for location services
-	echo -n "${_google_api_key}" > "${S}"/google-api-key
-	mozconfig_annotate '' --with-google-api-keyfile="${S}/google-api-key"
-
-	mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
-
-	if use clang ; then
-		# https://bugzilla.mozilla.org/show_bug.cgi?id=1423822
-		mozconfig_annotate 'elf-hack is broken when using Clang' --disable-elf-hack
-	fi
-
-	echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
-	echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
-
-	# Default mozilla_five_home no longer valid option
-	sed '/with-default-mozilla-five-home=/d' -i "${S}"/.mozconfig
-
-	# Finalize and report settings
-	mozconfig_final
-
-	# workaround for funky/broken upstream configure...
-	SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
-	./mach configure || die
-}
-
-src_compile() {
-	MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
-	./mach build --verbose || die
-}
-
-src_install() {
-	cd "${BUILD_OBJ_DIR}" || die
-
-	# Pax mark xpcshell for hardened support, only used for startupcache creation.
-	pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
-
-	# Add our default prefs for firefox
-	cp "${FILESDIR}"/gentoo-default-prefs.js-2 \
-		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-		|| die
-
-	mozconfig_install_prefs \
-		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js"
-
-	# Augment this with hwaccel prefs
-	if use hwaccel ; then
-		cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-1 >> \
-		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-		|| die
-	fi
-
-	if ! use screenshot; then
-		echo "pref(\"extensions.screenshots.disabled\", true);" >> \
-			"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-			|| die
-	fi
-
-	echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
-		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-		|| die
-
-	local plugin
-	use gmp-autoupdate || use eme-free || for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
-		echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
-			"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-			|| die
-	done
-
-	cd "${S}"
-	MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
-	DESTDIR="${D}" ./mach install || die
-
-	if use geckodriver ; then
-		cp "${BUILD_OBJ_DIR}"/dist/bin/geckodriver "${ED%/}"${MOZILLA_FIVE_HOME} || die
-		pax-mark m "${ED%/}"${MOZILLA_FIVE_HOME}/geckodriver
-
-		dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
-	fi
-
-	# Install language packs
-	mozlinguas_src_install
-
-	local size sizes icon_path icon name
-	if use bindist; then
-		sizes="16 32 48"
-		icon_path="${S}/browser/branding/aurora"
-		# Firefox's new rapid release cycle means no more codenames
-		# Let's just stick with this one...
-		icon="aurora"
-		name="Aurora"
-
-		# Override preferences to set the MOZ_DEV_EDITION defaults, since we
-		# don't define MOZ_DEV_EDITION to avoid profile debaucles.
-		# (source: browser/app/profile/firefox.js)
-		cat >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" <<PROFILE_EOF
-pref("app.feedback.baseURL", "https://input.mozilla.org/%LOCALE%/feedback/firefoxdev/%VERSION%/");
-sticky_pref("lightweightThemes.selectedThemeID", "firefox-devedition@mozilla.org");
-sticky_pref("browser.devedition.theme.enabled", true);
-sticky_pref("devtools.theme", "dark");
-PROFILE_EOF
-
-	else
-		sizes="16 22 24 32 48 64 128 256"
-		icon_path="${S}/browser/branding/official"
-		icon="${PN}"
-		name="Mozilla Firefox"
-	fi
-
-	# Install icons and .desktop for menu entry
-	for size in ${sizes}; do
-		insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
-		newins "${icon_path}/default${size}.png" "${icon}.png"
-	done
-	# Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
-	newicon "${icon_path}/default48.png" "${icon}.png"
-	newmenu "${FILESDIR}/icon/${PN}.desktop" "${PN}.desktop"
-	sed -i -e "s:@NAME@:${name}:" -e "s:@ICON@:${icon}:" \
-		"${ED}/usr/share/applications/${PN}.desktop" || die
-
-	# Add StartupNotify=true bug 237317
-	if use startup-notification ; then
-		echo "StartupNotify=true"\
-			 >> "${ED}/usr/share/applications/${PN}.desktop" \
-			|| die
-	fi
-
-	# Don't install llvm-symbolizer from sys-devel/llvm package
-	[[ -f "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] && \
-		rm "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer"
-
-	# firefox and firefox-bin are identical
-	rm "${ED%/}"${MOZILLA_FIVE_HOME}/firefox-bin || die
-	dosym firefox ${MOZILLA_FIVE_HOME}/firefox-bin
-
-	# Required in order to use plugins and even run firefox on hardened.
-	pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/{firefox,plugin-container}
-}
-
-pkg_preinst() {
-	gnome2_icon_savelist
-
-	# if the apulse libs are available in MOZILLA_FIVE_HOME then apulse
-	# doesn't need to be forced into the LD_LIBRARY_PATH
-	if use pulseaudio && has_version ">=media-sound/apulse-0.1.9" ; 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() {
-	gnome2_icon_cache_update
-	xdg_desktop_database_update
-
-	if ! use gmp-autoupdate && ! use eme-free ; then
-		elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
-		elog "installing into new profiles:"
-		local plugin
-		for plugin in "${GMP_PLUGIN_LIST[@]}"; do elog "\t ${plugin}" ; done
-		elog
-	fi
-
-	if use pulseaudio && has_version ">=media-sound/apulse-0.1.9"; 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
-}
-
-pkg_postrm() {
-	gnome2_icon_cache_update
-	xdg_desktop_database_update
-}

diff --git a/www-client/firefox/firefox-62.0.3.ebuild b/www-client/firefox/firefox-62.0.3.ebuild
deleted file mode 100644
index 1b23c6994a0..00000000000
--- a/www-client/firefox/firefox-62.0.3.ebuild
+++ /dev/null
@@ -1,614 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-VIRTUALX_REQUIRED="pgo"
-WANT_AUTOCONF="2.1"
-MOZ_ESR=""
-
-PYTHON_COMPAT=( python3_{5,6,7} )
-PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)'
-
-# This list can be updated with scripts/get_langs.sh from the mozilla overlay
-MOZ_LANGS=( ach af an ar as ast az bg bn-BD bn-IN br bs ca cak cs cy da de dsb
-el en en-GB en-US en-ZA 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 id is it ja ka kab kk km kn ko lij lt lv
-mai mk ml mr ms nb-NO nl nn-NO or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq
-sr sv-SE ta te th tr uk uz vi xh zh-CN zh-TW )
-
-# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
-MOZ_PV="${PV/_alpha/a}" # Handle alpha for SRC_URI
-MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
-MOZ_PV="${MOZ_PV/_rc/rc}" # Handle rc for SRC_URI
-
-if [[ ${MOZ_ESR} == 1 ]]; then
-	# ESR releases have slightly different version numbers
-	MOZ_PV="${MOZ_PV}esr"
-fi
-
-# Patch version
-PATCH="${PN}-62.0-patches-01"
-MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases"
-
-inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils llvm \
-		mozcoreconf-v6 pax-utils xdg-utils autotools mozlinguas-v2
-
-DESCRIPTION="Firefox Web Browser"
-HOMEPAGE="https://www.mozilla.com/firefox"
-
-KEYWORDS="~amd64 ~x86"
-
-SLOT="0"
-LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-IUSE="bindist clang dbus debug eme-free geckodriver +gmp-autoupdate hardened hwaccel
-	jack lto neon pulseaudio +screenshot selinux startup-notification
-	system-harfbuzz system-icu system-jpeg system-libevent system-sqlite
-	system-libvpx test wifi"
-RESTRICT="!bindist? ( bindist )"
-
-PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c}/mozilla/patchsets/${PATCH}.tar.xz )
-SRC_URI="${SRC_URI}
-	${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz
-	${PATCH_URIS[@]}"
-
-CDEPEND="
-	>=dev-libs/nss-3.38
-	>=dev-libs/nspr-4.19
-	>=app-text/hunspell-1.5.4:=
-	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
-	x11-libs/gdk-pixbuf
-	>=x11-libs/pango-1.22.0
-	>=media-libs/libpng-1.6.34: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
-	dbus? ( >=sys-apps/dbus-0.60
-		>=dev-libs/dbus-glib-0.72 )
-	startup-notification? ( >=x11-libs/startup-notification-0.8 )
-	>=x11-libs/pixman-0.19.2
-	>=dev-libs/glib-2.26:2
-	>=sys-libs/zlib-1.2.3
-	>=virtual/libffi-3.0.10:=
-	virtual/ffmpeg
-	x11-libs/libX11
-	x11-libs/libXcomposite
-	x11-libs/libXdamage
-	x11-libs/libXext
-	x11-libs/libXfixes
-	x11-libs/libXrender
-	x11-libs/libXt
-	system-icu? ( >=dev-libs/icu-60.2:= )
-	system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
-	system-libevent? ( >=dev-libs/libevent-2.0:0= )
-	system-sqlite? ( >=dev-db/sqlite-3.24.0:3[secure-delete,debug=] )
-	system-libvpx? ( >=media-libs/libvpx-1.5.0:0=[postproc] )
-	system-harfbuzz? ( >=media-libs/harfbuzz-1.4.2:0= >=media-gfx/graphite2-1.3.9-r1 )
-	wifi? ( kernel_linux? ( >=sys-apps/dbus-0.60
-			>=dev-libs/dbus-glib-0.72
-			net-misc/networkmanager ) )
-	jack? ( virtual/jack )
-	selinux? ( sec-policy/selinux-mozilla )"
-
-RDEPEND="${CDEPEND}
-	jack? ( virtual/jack )
-	pulseaudio? ( || ( media-sound/pulseaudio
-		>=media-sound/apulse-0.1.9 ) )
-	selinux? ( sec-policy/selinux-mozilla )"
-
-DEPEND="${CDEPEND}
-	app-arch/zip
-	app-arch/unzip
-	>=sys-devel/binutils-2.30
-	sys-apps/findutils
-	>=sys-devel/llvm-4.0.1
-	>=sys-devel/clang-4.0.1
-	clang? (
-		>=sys-devel/llvm-4.0.1[gold]
-		>=sys-devel/lld-4.0.1
-	)
-	pulseaudio? ( media-sound/pulseaudio )
-	elibc_glibc? (
-		virtual/cargo
-		virtual/rust
-	)
-	elibc_musl? (
-		virtual/cargo
-		virtual/rust
-	)
-	amd64? ( >=dev-lang/yasm-1.1 virtual/opengl )
-	x86? ( >=dev-lang/yasm-1.1 virtual/opengl )"
-
-REQUIRED_USE="wifi? ( dbus )"
-
-S="${WORKDIR}/firefox-${PV%_*}"
-
-QA_PRESTRIPPED="usr/lib*/${PN}/firefox"
-
-BUILD_OBJ_DIR="${S}/ff"
-
-# allow GMP_PLUGIN_LIST to be set in an eclass or
-# overridden in the enviromnent (advanced hackers only)
-if [[ -z $GMP_PLUGIN_LIST ]]; then
-	GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
-fi
-
-llvm_check_deps() {
-	has_version "sys-devel/clang:${LLVM_SLOT}"
-}
-
-pkg_setup() {
-	moz_pkgsetup
-
-	# 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 \
-		XDG_SESSION_COOKIE \
-		XAUTHORITY
-
-	if ! use bindist; then
-		einfo
-		elog "You are enabling official branding. You may not redistribute this build"
-		elog "to any users on your network or the internet. Doing so puts yourself into"
-		elog "a legal problem with Mozilla Foundation."
-		elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag."
-	fi
-
-	addpredict /proc/self/oom_score_adj
-
-	llvm_pkg_setup
-}
-
-pkg_pretend() {
-	# Ensure we have enough disk space to compile
-	CHECKREQS_DISK_BUILD="4G"
-
-	check-reqs_pkg_setup
-}
-
-src_unpack() {
-	unpack ${A}
-
-	# Unpack language packs
-	mozlinguas_src_unpack
-}
-
-src_prepare() {
-	eapply "${WORKDIR}/firefox"
-
-	eapply "${FILESDIR}"/${PN}-60.0-blessings-TERM.patch # 654316
-	eapply "${FILESDIR}"/${PN}-60.0-do-not-force-lld.patch
-	eapply "${FILESDIR}"/${PN}-60.0-sandbox-lto.patch # 666580
-	eapply "${FILESDIR}"/${PN}-60.0-missing-errno_h-in-SandboxOpenedFiles_cpp.patch
-
-	# Enable gnomebreakpad
-	if use debug ; then
-		sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
-			"${S}"/build/unix/run-mozilla.sh || die "sed failed!"
-	fi
-
-	# Drop -Wl,--as-needed related manipulation for ia64 as it causes ld sefgaults, bug #582432
-	if use ia64 ; then
-		sed -i \
-		-e '/^OS_LIBS += no_as_needed/d' \
-		-e '/^OS_LIBS += as_needed/d' \
-		"${S}"/widget/gtk/mozgtk/gtk2/moz.build \
-		"${S}"/widget/gtk/mozgtk/gtk3/moz.build \
-		|| die "sed failed to drop --as-needed for ia64"
-	fi
-
-	# Ensure that our plugins dir is enabled as default
-	sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
-		"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
-	sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
-		"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
-
-	# Fix sandbox violations during make clean, bug 372817
-	sed -e "s:\(/no-such-file\):${T}\1:g" \
-		-i "${S}"/config/rules.mk \
-		-i "${S}"/nsprpub/configure{.in,} \
-		|| die
-
-	# Don't exit with error when some libs are missing which we have in
-	# system.
-	sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
-		-i "${S}"/browser/installer/Makefile.in || die
-
-	# Don't error out when there's no files to be removed:
-	sed 's@\(xargs rm\)$@\1 -f@' \
-		-i "${S}"/toolkit/mozapps/installer/packager.mk || die
-
-	# Keep codebase the same even if not using official branding
-	sed '/^MOZ_DEV_EDITION=1/d' \
-		-i "${S}"/browser/branding/aurora/configure.sh || die
-
-	# Allow user to apply any additional patches without modifing ebuild
-	eapply_user
-
-	# Autotools configure is now called old-configure.in
-	# This works because there is still a configure.in that happens to be for the
-	# shell wrapper configure script
-	eautoreconf old-configure.in
-
-	# Must run autoconf in js/src
-	cd "${S}"/js/src || die
-	eautoconf old-configure.in
-}
-
-src_configure() {
-	MEXTENSIONS="default"
-	# 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.
-	_google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
-
-	# Add information about TERM to output (build.log) to aid debugging
-	# blessings problems
-	if [[ -n "${TERM}" ]] ; then
-		einfo "TERM is set to: \"${TERM}\""
-	else
-		einfo "TERM is unset."
-	fi
-
-	if use clang && ! tc-is-clang ; then
-		# Force clang
-		einfo "Enforcing the use of clang due to USE=clang ..."
-		CC=${CHOST}-clang
-		CXX=${CHOST}-clang++
-		strip-unsupported-flags
-	elif ! use clang && ! tc-is-gcc ; then
-		# Force gcc
-		einfo "Enforcing the use of gcc due to USE=-clang ..."
-		CC=${CHOST}-gcc
-		CXX=${CHOST}-g++
-		strip-unsupported-flags
-	fi
-
-	####################################
-	#
-	# mozconfig, CFLAGS and CXXFLAGS setup
-	#
-	####################################
-
-	mozconfig_init
-	# common config components
-	mozconfig_annotate 'system_libs' \
-		--with-system-zlib \
-		--with-system-bz2
-
-	# Must pass release in order to properly select linker
-	mozconfig_annotate 'Enable by Gentoo' --enable-release
-
-	# Don't let user's LTO flags clash with upstream's flags
-	filter-flags -flto*
-
-	if use lto ; then
-		if use clang ; then
-			# Upstream only supports lld when using clang
-			mozconfig_annotate "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
-		else
-			# Linking only works when using ld.gold when LTO is enabled
-			mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold
-		fi
-
-		mozconfig_annotate '+lto' --enable-lto=thin
-	else
-		# Avoid auto-magic on linker
-		if use clang ; then
-			# This is upstream's default
-			mozconfig_annotate "forcing ld=lld due to USE=clang" --enable-linker=lld
-		elif tc-ld-is-gold ; then
-			mozconfig_annotate "linker is set to gold" --enable-linker=gold
-		else
-			mozconfig_annotate "linker is set to bfd" --enable-linker=bfd
-		fi
-	fi
-
-	# It doesn't compile on alpha without this LDFLAGS
-	use alpha && append-ldflags "-Wl,--no-relax"
-
-	# Add full relro support for hardened
-	if use hardened; then
-		append-ldflags "-Wl,-z,relro,-z,now"
-		mozconfig_use_enable hardened hardening
-	fi
-
-	# Modifications to better support ARM, bug 553364
-	if use neon ; then
-		mozconfig_annotate '' --with-fpu=neon
-
-		if ! tc-is-clang ; then
-			# thumb options aren't supported when using clang, bug 666966
-			mozconfig_annotate '' --with-thumb=yes
-			mozconfig_annotate '' --with-thumb-interwork=no
-		fi
-	fi
-	if [[ ${CHOST} == armv*h* ]] ; then
-		mozconfig_annotate '' --with-float-abi=hard
-		if ! use system-libvpx ; then
-			sed -i -e "s|softfp|hard|" \
-				"${S}"/media/libvpx/moz.build
-		fi
-	fi
-
-	mozconfig_use_enable !bindist official-branding
-	# Enable position independent executables
-	mozconfig_annotate 'enabled by Gentoo' --enable-pie
-
-	mozconfig_use_enable debug
-	mozconfig_use_enable debug tests
-	if ! use debug ; then
-		mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
-	else
-		mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
-	fi
-	# These are enabled by default in all mozilla applications
-	mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${SYSROOT}${EPREFIX}"/usr
-	mozconfig_annotate '' --with-system-nss --with-nss-prefix="${SYSROOT}${EPREFIX}"/usr
-	mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include \
-		--x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
-	mozconfig_annotate '' --prefix="${EPREFIX}"/usr
-	mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
-	mozconfig_annotate '' --disable-crashreporter
-	mozconfig_annotate 'Gentoo default' --with-system-png
-	mozconfig_annotate '' --enable-system-ffi
-	mozconfig_annotate '' --disable-gconf
-	mozconfig_annotate '' --with-intl-api
-	mozconfig_annotate '' --enable-system-pixman
-	# Instead of the standard --build= and --host=, mozilla uses --host instead
-	# of --build, and --target intstead of --host.
-	# Note, mozilla also has --build but it does not do what you think it does.
-	# Set both --target and --host as mozilla uses python to guess values otherwise
-	mozconfig_annotate '' --target="${CHOST}"
-	mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
-	if use system-libevent; then
-		mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
-	fi
-
-	# skia has no support for big-endian platforms
-	if [[ $(tc-endian) == "big" ]]; then
-		mozconfig_annotate 'big endian target' --disable-skia
-	else
-		mozconfig_annotate '' --enable-skia
-	fi
-
-	# use the gtk3 toolkit (the only one supported at this point)
-	mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3
-
-	mozconfig_use_enable startup-notification
-	mozconfig_use_enable system-sqlite
-	mozconfig_use_with system-jpeg
-	mozconfig_use_with system-icu
-	mozconfig_use_with system-libvpx
-	mozconfig_use_with system-harfbuzz
-	mozconfig_use_with system-harfbuzz system-graphite2
-	mozconfig_use_enable pulseaudio
-	# force the deprecated alsa sound code if pulseaudio is disabled
-	if use kernel_linux && ! use pulseaudio ; then
-		mozconfig_annotate '-pulseaudio' --enable-alsa
-	fi
-
-	# Disable built-in ccache support to avoid sandbox violation, #665420
-	# Use FEATURES=ccache instead!
-	mozconfig_annotate '' --without-ccache
-	sed -i -e 's/ccache_stats = None/return None/' \
-		python/mozbuild/mozbuild/controller/building.py || \
-		die "Failed to disable ccache stats call"
-
-	mozconfig_use_enable dbus
-
-	mozconfig_use_enable wifi necko-wifi
-
-	mozconfig_use_enable geckodriver
-
-	# enable JACK, bug 600002
-	mozconfig_use_enable jack
-
-	# Enable/Disable eme support
-	use eme-free && mozconfig_annotate '+eme-free' --disable-eme
-
-	# Setup api key for location services
-	echo -n "${_google_api_key}" > "${S}"/google-api-key
-	mozconfig_annotate '' --with-google-api-keyfile="${S}/google-api-key"
-
-	mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
-
-	# disable webrtc for now, bug 667642
-	use arm && mozconfig_annotate 'broken on arm' --disable-webrtc
-
-	if use clang ; then
-		# https://bugzilla.mozilla.org/show_bug.cgi?id=1423822
-		mozconfig_annotate 'elf-hack is broken when using Clang' --disable-elf-hack
-	fi
-
-	echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
-	echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
-
-	# Finalize and report settings
-	mozconfig_final
-
-	# workaround for funky/broken upstream configure...
-	SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
-	./mach configure || die
-}
-
-src_compile() {
-	MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
-	./mach build --verbose || die
-}
-
-src_install() {
-	cd "${BUILD_OBJ_DIR}" || die
-
-	# Pax mark xpcshell for hardened support, only used for startupcache creation.
-	pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
-
-	# Add our default prefs for firefox
-	cp "${FILESDIR}"/gentoo-default-prefs.js-2 \
-		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-		|| die
-
-	# set dictionary path, to use system hunspell
-	echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
-		>>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
-
-	# force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it
-	if use system-harfbuzz ; then
-		echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
-			>>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
-	fi
-
-	# force cairo as the canvas renderer on platforms without skia support
-	if [[ $(tc-endian) == "big" ]] ; then
-		echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
-			>>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
-		echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
-			>>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
-	fi
-
-	# Augment this with hwaccel prefs
-	if use hwaccel ; then
-		cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-1 >> \
-		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-		|| die
-	fi
-
-	if ! use screenshot; then
-		echo "pref(\"extensions.screenshots.disabled\", true);" >> \
-			"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-			|| die
-	fi
-
-	echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
-		"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-		|| die
-
-	local plugin
-	use gmp-autoupdate || use eme-free || for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
-		echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
-			"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
-			|| die
-	done
-
-	cd "${S}"
-	MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
-	DESTDIR="${D}" ./mach install || die
-
-	if use geckodriver ; then
-		cp "${BUILD_OBJ_DIR}"/dist/bin/geckodriver "${ED%/}"${MOZILLA_FIVE_HOME} || die
-		pax-mark m "${ED%/}"${MOZILLA_FIVE_HOME}/geckodriver
-
-		dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
-	fi
-
-	# Install language packs
-	MOZ_INSTALL_L10N_XPIFILE="1" mozlinguas_src_install
-
-	local size sizes icon_path icon name
-	if use bindist; then
-		sizes="16 32 48"
-		icon_path="${S}/browser/branding/aurora"
-		# Firefox's new rapid release cycle means no more codenames
-		# Let's just stick with this one...
-		icon="aurora"
-		name="Aurora"
-
-		# Override preferences to set the MOZ_DEV_EDITION defaults, since we
-		# don't define MOZ_DEV_EDITION to avoid profile debaucles.
-		# (source: browser/app/profile/firefox.js)
-		cat >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" <<PROFILE_EOF
-pref("app.feedback.baseURL", "https://input.mozilla.org/%LOCALE%/feedback/firefoxdev/%VERSION%/");
-sticky_pref("lightweightThemes.selectedThemeID", "firefox-devedition@mozilla.org");
-sticky_pref("browser.devedition.theme.enabled", true);
-sticky_pref("devtools.theme", "dark");
-PROFILE_EOF
-
-	else
-		sizes="16 22 24 32 48 64 128 256"
-		icon_path="${S}/browser/branding/official"
-		icon="${PN}"
-		name="Mozilla Firefox"
-	fi
-
-	# Install icons and .desktop for menu entry
-	for size in ${sizes}; do
-		insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
-		newins "${icon_path}/default${size}.png" "${icon}.png"
-	done
-	# Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
-	newicon "${icon_path}/default48.png" "${icon}.png"
-	newmenu "${FILESDIR}/icon/${PN}.desktop" "${PN}.desktop"
-	sed -i -e "s:@NAME@:${name}:" -e "s:@ICON@:${icon}:" \
-		"${ED}/usr/share/applications/${PN}.desktop" || die
-
-	# Add StartupNotify=true bug 237317
-	if use startup-notification ; then
-		echo "StartupNotify=true"\
-			 >> "${ED}/usr/share/applications/${PN}.desktop" \
-			|| die
-	fi
-
-	# Don't install llvm-symbolizer from sys-devel/llvm package
-	[[ -f "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] && \
-		rm "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer"
-
-	# firefox and firefox-bin are identical
-	rm "${ED%/}"${MOZILLA_FIVE_HOME}/firefox-bin || die
-	dosym firefox ${MOZILLA_FIVE_HOME}/firefox-bin
-
-	# Required in order to use plugins and even run firefox on hardened.
-	pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/{firefox,plugin-container}
-}
-
-pkg_preinst() {
-	gnome2_icon_savelist
-
-	# if the apulse libs are available in MOZILLA_FIVE_HOME then apulse
-	# doesn't need to be forced into the LD_LIBRARY_PATH
-	if use pulseaudio && has_version ">=media-sound/apulse-0.1.9" ; 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() {
-	gnome2_icon_cache_update
-	xdg_desktop_database_update
-
-	if ! use gmp-autoupdate && ! use eme-free ; then
-		elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
-		elog "installing into new profiles:"
-		local plugin
-		for plugin in "${GMP_PLUGIN_LIST[@]}"; do elog "\t ${plugin}" ; done
-		elog
-	fi
-
-	if use pulseaudio && has_version ">=media-sound/apulse-0.1.9"; 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
-}
-
-pkg_postrm() {
-	gnome2_icon_cache_update
-	xdg_desktop_database_update
-}


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2019-11-08 12:52 Thomas Deutschmann
  0 siblings, 0 replies; 25+ messages in thread
From: Thomas Deutschmann @ 2019-11-08 12:52 UTC (permalink / raw
  To: gentoo-commits

commit:     39b51a6c42517379eb2abe1ccf9db04780ca6ae0
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Fri Nov  8 12:46:14 2019 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Fri Nov  8 12:46:25 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39b51a6c

www-client/firefox: unbreak rust-1.39.0

Package-Manager: Portage-2.3.78, Repoman-2.3.17
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 .../firefox/files/firefox-68.2.0-rust-1.39+.patch  | 170 +++++++++++++++++++++
 .../firefox/files/firefox-70.0.1-rust-1.39+.patch  | 163 ++++++++++++++++++++
 www-client/firefox/firefox-68.2.0.ebuild           |   3 +-
 www-client/firefox/firefox-70.0.1.ebuild           |   3 +-
 4 files changed, 337 insertions(+), 2 deletions(-)

diff --git a/www-client/firefox/files/firefox-68.2.0-rust-1.39+.patch b/www-client/firefox/files/firefox-68.2.0-rust-1.39+.patch
new file mode 100644
index 00000000000..bfb71cbb788
--- /dev/null
+++ b/www-client/firefox/files/firefox-68.2.0-rust-1.39+.patch
@@ -0,0 +1,170 @@
+Based on https://github.com/rust-lang/rust/issues/64710
+
+--- a/third_party/rust/bindgen/.cargo-checksum.json
++++ b/third_party/rust/bindgen/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"Cargo.toml":"9af635e7bad9021a49742a312faf6178b757dbd48aabc998931d6f491f14c179","LICENSE":"c23953d9deb0a3312dbeaf6c128a657f3591acee45067612fa68405eaa4525db","README.md":"5a1f556c6a57c0a6ccc65e19c27718e0f4b32381a8efcc80f6601b33c58c5d59","build.rs":"a9f6915c54d75f357ce32f96327bf4df53dc81a505b70831978f9dac6f43841d","src/callbacks.rs":"b24d7982332c6a35928f134184ddf4072fe4545a45546b97b9b0e0c1fbb77c08","src/clang.rs":"e9203eb5a1b432efebafcd011896e35e8c9145037bf99e7bb3709dc1b8e8e783","src/codegen/bitfield_unit.rs":"88b0604322dc449fc9284850eadc1f5d14b42fa747d4258bae0b6b9535f52dfd","src/codegen/bitfield_unit_tests.rs":"2073ac6a36e0bc9afaef5b1207966817c8fb7a1a9f6368c3b1b8f79822efbfba","src/codegen/error.rs":"2613af1d833377fd4a70719f4a09951d9d45dc9227827b9a2a938a1bcaaea2dd","src/codegen/helpers.rs":"fbd23e68dd51ccaddeb9761394d5df2db49baded0e2dccf6bbc52a2d6de502eb","src/codegen/impl_debug.rs":"f82969461d522fb758eca552ceaf189122a404cbb47fcc16008bfe52fc62aefa","src/codegen/impl_partial
 eq.rs":"d40d9ee2849c4d3d557b033c4d3af5e6de4a44347f67c0f016198086338811af","src/codegen/mod.rs":"238d989e13b7556e5d120a2bfe85b43332fba56cbe8df886d4c32e650fff1247","src/codegen/struct_layout.rs":"3fa5524aff82365ce292b0cc85080514c85a6dbd31bce90f001773b995dda28e","src/extra_assertions.rs":"494534bd4f18b80d89b180c8a93733e6617edcf7deac413e9a73fd6e7bc9ced7","src/features.rs":"c5fd7149f4a3b41fd4f89ade08505170942f4bc791bcb6a34fdddd3ae61856f8","src/ir/analysis/derive.rs":"325d4c1c1e6194e743f42a2316f1501b0ef852fe309f2e9cac3434825ad235f0","src/ir/analysis/has_destructor.rs":"63644f479738df35e531d3324ff892614083c3656e0747aa34d9f20dada878ec","src/ir/analysis/has_float.rs":"76162a309e4285a806755a08c687a3e7bc894a100a63da4e88584035e215b11d","src/ir/analysis/has_type_param_in_array.rs":"fdbc0af28a144c88ea2de83e6e6da5e1ffb40e3dd63fd7a708095d085bb06f94","src/ir/analysis/has_vtable.rs":"5788372d27bdbaaf0454bc17be31a5480918bc41a8a1c4832e8c61185c07f9cd","src/ir/analysis/mod.rs":"1f218e15c19f6666512908abc8
 53fa7ff9ca5d0fafd94f026d9e4b0ce287ec3c","src/ir/analysis/sizedness.rs":"8dc10043d872e68e660ef96edca4d9733f95be45cdad4893462fa929b335014f","src/ir/analysis/template_params.rs":"6312c008bbc80f50e72a766756c8daddea0b6eeb31ec924b83a231df931e170e","src/ir/annotations.rs":"39a5ab19f4d5dfa617577e4a0d0d2b67b5369d480c7cca4b14d172458c9843f0","src/ir/comment.rs":"c48abe01c5af0f09f583a89f1394bc6c161b40f6c8f0f600bbfe3c907b47969b","src/ir/comp.rs":"ca439407faefbe3a198246f0a1dbdf4e40307e45eaaad317e85d1aab37bb31fc","src/ir/context.rs":"599226eb04d337a1b1b13af91af91bdb02dbd5f26f274cbc0ebc4489eb144fc0","src/ir/derive.rs":"34f9aa76b6c9c05136bb69dcd6455397faef571a567254d2c541d50a962994db","src/ir/dot.rs":"95ed2968fc3239d87892e9f1edf1ed6dd18630d949564961765967ea1d16960c","src/ir/enum_ty.rs":"9cc242d6b3c1866665594e8b306860ee39c0ea42d22198d46b7fded473fe3e84","src/ir/function.rs":"2d41d9df19f42b0c383f338be4c026c005853a8d1caf5f3e5a2f3a8dad202232","src/ir/int.rs":"07e0c7dbd2dd977177fae3acd2a14adf271c6cf9ff4b5
 7cddc11d50734fd4801","src/ir/item.rs":"3bcdb69b793350e5744aec3577cdbb1e5068ece5220c38763cecd82dfb5e8f03","src/ir/item_kind.rs":"dbeae8c4fd0e5c9485d325aea040e056a1f2cd6d43fc927dee8fe1c0c59a7197","src/ir/layout.rs":"d49582081f5f86f7595afbe4845f38fb3b969a840b568f4a49b265e7d790bb5b","src/ir/mod.rs":"2eae90f207fad2e45957ec9287064992a419e3fc916aba84faff2ea25cbeb5ee","src/ir/module.rs":"c4d90bf38fe3672e01923734ccbdb7951ea929949d5f413a9c2aee12395a5094","src/ir/objc.rs":"758aa955a0c5d6ad82606c88a1f4cd1d93e666b71e82d43b18b1aaae96cf888a","src/ir/template.rs":"c0f8570b927dfd6a421fc4ce3094ec837a3ed936445225dbfac961e8e0842ae5","src/ir/traversal.rs":"ea751379a5aec02f93f8d2c61e18232776b1f000dbeae64b9a7195ba21a19dd6","src/ir/ty.rs":"952fb04cd6a71a2bca5c509aecacb42a1de0cae75824941541a38dc589f0993a","src/ir/var.rs":"8bdafb6d02f2c55ae11c28d88b19fb7a65ba8466da12ff039ae4c16c790b291e","src/lib.rs":"d5c8b404c515d30fc2d78b28eb84cff6b256f1f1e2dbd6aca280529bb2af6879","src/log_stubs.rs":"6dfdd908b7c6453da416cf
 232893768f9480e551ca4add0858ef88bf71ee6ceb","src/main.rs":"e519053bcdde6bc88f60f955246a02d53b3db1cc5ccd1612e6675b790b7460b0","src/options.rs":"041d635c8f6712ca32676a68f06d0245faed5577d9513786e058540ea2a69a7f","src/parse.rs":"be7d13cc84fae79ec7b3aa9e77063fa475a48d74a854423e2c72d75006a25202","src/regex_set.rs":"5cb72fc3714c0d79e9e942d003349c0775fafd7cd0c9603c65f5261883bbf9cf","src/time.rs":"3b763e6fee51d0eb01228dfe28bc28a9f692aff73b2a7b90a030902e0238fca6"},"package":"6bd7710ac8399ae1ebe1e3aac7c9047c4f39f2c94b33c997f482f49e96991f7c"}
+\ No newline at end of file
++{"files":{"Cargo.toml":"9af635e7bad9021a49742a312faf6178b757dbd48aabc998931d6f491f14c179","LICENSE":"c23953d9deb0a3312dbeaf6c128a657f3591acee45067612fa68405eaa4525db","README.md":"5a1f556c6a57c0a6ccc65e19c27718e0f4b32381a8efcc80f6601b33c58c5d59","build.rs":"a9f6915c54d75f357ce32f96327bf4df53dc81a505b70831978f9dac6f43841d","src/callbacks.rs":"b24d7982332c6a35928f134184ddf4072fe4545a45546b97b9b0e0c1fbb77c08","src/clang.rs":"e9203eb5a1b432efebafcd011896e35e8c9145037bf99e7bb3709dc1b8e8e783","src/codegen/bitfield_unit.rs":"88b0604322dc449fc9284850eadc1f5d14b42fa747d4258bae0b6b9535f52dfd","src/codegen/bitfield_unit_tests.rs":"2073ac6a36e0bc9afaef5b1207966817c8fb7a1a9f6368c3b1b8f79822efbfba","src/codegen/error.rs":"2613af1d833377fd4a70719f4a09951d9d45dc9227827b9a2a938a1bcaaea2dd","src/codegen/helpers.rs":"fbd23e68dd51ccaddeb9761394d5df2db49baded0e2dccf6bbc52a2d6de502eb","src/codegen/impl_debug.rs":"f82969461d522fb758eca552ceaf189122a404cbb47fcc16008bfe52fc62aefa","src/codegen/impl_partial
 eq.rs":"d40d9ee2849c4d3d557b033c4d3af5e6de4a44347f67c0f016198086338811af","src/codegen/mod.rs":"238d989e13b7556e5d120a2bfe85b43332fba56cbe8df886d4c32e650fff1247","src/codegen/struct_layout.rs":"3fa5524aff82365ce292b0cc85080514c85a6dbd31bce90f001773b995dda28e","src/extra_assertions.rs":"494534bd4f18b80d89b180c8a93733e6617edcf7deac413e9a73fd6e7bc9ced7","src/features.rs":"c5fd7149f4a3b41fd4f89ade08505170942f4bc791bcb6a34fdddd3ae61856f8","src/ir/analysis/derive.rs":"325d4c1c1e6194e743f42a2316f1501b0ef852fe309f2e9cac3434825ad235f0","src/ir/analysis/has_destructor.rs":"63644f479738df35e531d3324ff892614083c3656e0747aa34d9f20dada878ec","src/ir/analysis/has_float.rs":"76162a309e4285a806755a08c687a3e7bc894a100a63da4e88584035e215b11d","src/ir/analysis/has_type_param_in_array.rs":"fdbc0af28a144c88ea2de83e6e6da5e1ffb40e3dd63fd7a708095d085bb06f94","src/ir/analysis/has_vtable.rs":"8c92a52c0f859c7bec7bfbc36b9d18f904baab0c8c9dc1b3e7af34de1a0b0da4","src/ir/analysis/mod.rs":"1f218e15c19f6666512908abc8
 53fa7ff9ca5d0fafd94f026d9e4b0ce287ec3c","src/ir/analysis/sizedness.rs":"71f1a37f75b971ea5b0d8457473cc410947dbf706cb6d2c0338916910b78a675","src/ir/analysis/template_params.rs":"6312c008bbc80f50e72a766756c8daddea0b6eeb31ec924b83a231df931e170e","src/ir/annotations.rs":"39a5ab19f4d5dfa617577e4a0d0d2b67b5369d480c7cca4b14d172458c9843f0","src/ir/comment.rs":"c48abe01c5af0f09f583a89f1394bc6c161b40f6c8f0f600bbfe3c907b47969b","src/ir/comp.rs":"ca439407faefbe3a198246f0a1dbdf4e40307e45eaaad317e85d1aab37bb31fc","src/ir/context.rs":"599226eb04d337a1b1b13af91af91bdb02dbd5f26f274cbc0ebc4489eb144fc0","src/ir/derive.rs":"e5581852eec87918901a129284b4965aefc8a19394187a8095779a084f28fabe","src/ir/dot.rs":"95ed2968fc3239d87892e9f1edf1ed6dd18630d949564961765967ea1d16960c","src/ir/enum_ty.rs":"9cc242d6b3c1866665594e8b306860ee39c0ea42d22198d46b7fded473fe3e84","src/ir/function.rs":"2d41d9df19f42b0c383f338be4c026c005853a8d1caf5f3e5a2f3a8dad202232","src/ir/int.rs":"07e0c7dbd2dd977177fae3acd2a14adf271c6cf9ff4b5
 7cddc11d50734fd4801","src/ir/item.rs":"3bcdb69b793350e5744aec3577cdbb1e5068ece5220c38763cecd82dfb5e8f03","src/ir/item_kind.rs":"dbeae8c4fd0e5c9485d325aea040e056a1f2cd6d43fc927dee8fe1c0c59a7197","src/ir/layout.rs":"d49582081f5f86f7595afbe4845f38fb3b969a840b568f4a49b265e7d790bb5b","src/ir/mod.rs":"2eae90f207fad2e45957ec9287064992a419e3fc916aba84faff2ea25cbeb5ee","src/ir/module.rs":"c4d90bf38fe3672e01923734ccbdb7951ea929949d5f413a9c2aee12395a5094","src/ir/objc.rs":"758aa955a0c5d6ad82606c88a1f4cd1d93e666b71e82d43b18b1aaae96cf888a","src/ir/template.rs":"c0f8570b927dfd6a421fc4ce3094ec837a3ed936445225dbfac961e8e0842ae5","src/ir/traversal.rs":"ea751379a5aec02f93f8d2c61e18232776b1f000dbeae64b9a7195ba21a19dd6","src/ir/ty.rs":"952fb04cd6a71a2bca5c509aecacb42a1de0cae75824941541a38dc589f0993a","src/ir/var.rs":"8bdafb6d02f2c55ae11c28d88b19fb7a65ba8466da12ff039ae4c16c790b291e","src/lib.rs":"d5c8b404c515d30fc2d78b28eb84cff6b256f1f1e2dbd6aca280529bb2af6879","src/log_stubs.rs":"6dfdd908b7c6453da416cf
 232893768f9480e551ca4add0858ef88bf71ee6ceb","src/main.rs":"e519053bcdde6bc88f60f955246a02d53b3db1cc5ccd1612e6675b790b7460b0","src/options.rs":"041d635c8f6712ca32676a68f06d0245faed5577d9513786e058540ea2a69a7f","src/parse.rs":"be7d13cc84fae79ec7b3aa9e77063fa475a48d74a854423e2c72d75006a25202","src/regex_set.rs":"5cb72fc3714c0d79e9e942d003349c0775fafd7cd0c9603c65f5261883bbf9cf","src/time.rs":"3b763e6fee51d0eb01228dfe28bc28a9f692aff73b2a7b90a030902e0238fca6"},"package":"6bd7710ac8399ae1ebe1e3aac7c9047c4f39f2c94b33c997f482f49e96991f7c"}
+\ No newline at end of file
+--- a/third_party/rust/bindgen/src/ir/analysis/has_vtable.rs
++++ b/third_party/rust/bindgen/src/ir/analysis/has_vtable.rs
+@@ -9,17 +9,17 @@ use std::ops;
+ use {HashMap, Entry};
+ 
+ /// The result of the `HasVtableAnalysis` for an individual item.
+-#[derive(Copy, Clone, Debug, PartialEq, Eq, Ord)]
++#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
+ pub enum HasVtableResult {
+-    /// The item has a vtable, but the actual vtable pointer is in a base
+-    /// member.
+-    BaseHasVtable,
++    /// The item does not have a vtable pointer.
++    No,
+ 
+     /// The item has a vtable and the actual vtable pointer is within this item.
+     SelfHasVtable,
+ 
+-    /// The item does not have a vtable pointer.
+-    No
++    /// The item has a vtable, but the actual vtable pointer is in a base
++    /// member.
++    BaseHasVtable,
+ }
+ 
+ impl Default for HasVtableResult {
+@@ -28,21 +28,6 @@ impl Default for HasVtableResult {
+     }
+ }
+ 
+-impl cmp::PartialOrd for HasVtableResult {
+-    fn partial_cmp(&self, rhs: &Self) -> Option<cmp::Ordering> {
+-        use self::HasVtableResult::*;
+-
+-        match (*self, *rhs) {
+-            (x, y) if x == y => Some(cmp::Ordering::Equal),
+-            (BaseHasVtable, _) => Some(cmp::Ordering::Greater),
+-            (_, BaseHasVtable) => Some(cmp::Ordering::Less),
+-            (SelfHasVtable, _) => Some(cmp::Ordering::Greater),
+-            (_, SelfHasVtable) => Some(cmp::Ordering::Less),
+-            _ => unreachable!(),
+-        }
+-    }
+-}
+-
+ impl HasVtableResult {
+     /// Take the least upper bound of `self` and `rhs`.
+     pub fn join(self, rhs: Self) -> Self {
+--- a/third_party/rust/bindgen/src/ir/analysis/sizedness.rs
++++ b/third_party/rust/bindgen/src/ir/analysis/sizedness.rs
+@@ -22,13 +22,14 @@ use {HashMap, Entry};
+ ///
+ /// We initially assume that all types are `ZeroSized` and then update our
+ /// understanding as we learn more about each type.
+-#[derive(Copy, Clone, Debug, PartialEq, Eq, Ord)]
++#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
+ pub enum SizednessResult {
+-    /// Has some size that is known to be greater than zero. That doesn't mean
+-    /// it has a static size, but it is not zero sized for sure. In other words,
+-    /// it might contain an incomplete array or some other dynamically sized
+-    /// type.
+-    NonZeroSized,
++    /// The type is zero-sized.
++    ///
++    /// This means that if it is a C++ type, and is not being used as a base
++    /// member, then we must add an `_address` byte to enforce the
++    /// unique-address-per-distinct-object-instance rule.
++    ZeroSized,
+ 
+     /// Whether this type is zero-sized or not depends on whether a type
+     /// parameter is zero-sized or not.
+@@ -52,12 +53,11 @@ pub enum SizednessResult {
+     /// https://github.com/rust-lang-nursery/rust-bindgen/issues/586
+     DependsOnTypeParam,
+ 
+-    /// The type is zero-sized.
+-    ///
+-    /// This means that if it is a C++ type, and is not being used as a base
+-    /// member, then we must add an `_address` byte to enforce the
+-    /// unique-address-per-distinct-object-instance rule.
+-    ZeroSized,
++    /// Has some size that is known to be greater than zero. That doesn't mean
++    /// it has a static size, but it is not zero sized for sure. In other words,
++    /// it might contain an incomplete array or some other dynamically sized
++    /// type.
++    NonZeroSized,
+ }
+ 
+ impl Default for SizednessResult {
+@@ -66,21 +66,6 @@ impl Default for SizednessResult {
+     }
+ }
+ 
+-impl cmp::PartialOrd for SizednessResult {
+-    fn partial_cmp(&self, rhs: &Self) -> Option<cmp::Ordering> {
+-        use self::SizednessResult::*;
+-
+-        match (*self, *rhs) {
+-            (x, y) if x == y => Some(cmp::Ordering::Equal),
+-            (NonZeroSized, _) => Some(cmp::Ordering::Greater),
+-            (_, NonZeroSized) => Some(cmp::Ordering::Less),
+-            (DependsOnTypeParam, _) => Some(cmp::Ordering::Greater),
+-            (_, DependsOnTypeParam) => Some(cmp::Ordering::Less),
+-            _ => unreachable!(),
+-        }
+-    }
+-}
+-
+ impl SizednessResult {
+     /// Take the least upper bound of `self` and `rhs`.
+     pub fn join(self, rhs: Self) -> Self {
+--- a/third_party/rust/bindgen/src/ir/derive.rs
++++ b/third_party/rust/bindgen/src/ir/derive.rs
+@@ -92,10 +92,10 @@ pub trait CanDeriveOrd {
+ ///
+ /// Initially we assume that we can derive trait for all types and then
+ /// update our understanding as we learn more about each type.
+-#[derive(Debug, Copy, Clone, PartialEq, Eq, Ord)]
++#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord)]
+ pub enum CanDerive {
+-    /// No, we cannot.
+-    No,
++    /// Yes, we can derive automatically.
++    Yes,
+ 
+     /// The only thing that stops us from automatically deriving is that
+     /// array with more than maximum number of elements is used.
+@@ -103,8 +103,8 @@ pub enum CanDerive {
+     /// This means we probably can "manually" implement such trait.
+     Manually,
+ 
+-    /// Yes, we can derive automatically.
+-    Yes,
++    /// No, we cannot.
++    No,
+ }
+ 
+ impl Default for CanDerive {
+@@ -113,22 +113,6 @@ impl Default for CanDerive {
+     }
+ }
+ 
+-impl cmp::PartialOrd for CanDerive {
+-    fn partial_cmp(&self, rhs: &Self) -> Option<cmp::Ordering> {
+-        use self::CanDerive::*;
+-
+-        let ordering = match (*self, *rhs) {
+-            (x, y) if x == y => cmp::Ordering::Equal,
+-            (No, _) => cmp::Ordering::Greater,
+-            (_, No) => cmp::Ordering::Less,
+-            (Manually, _) => cmp::Ordering::Greater,
+-            (_, Manually) => cmp::Ordering::Less,
+-            _ => unreachable!()
+-        };
+-        Some(ordering)
+-    }
+-}
+-
+ impl CanDerive {
+     /// Take the least upper bound of `self` and `rhs`.
+     pub fn join(self, rhs: Self) -> Self {

diff --git a/www-client/firefox/files/firefox-70.0.1-rust-1.39+.patch b/www-client/firefox/files/firefox-70.0.1-rust-1.39+.patch
new file mode 100644
index 00000000000..eb44c03daca
--- /dev/null
+++ b/www-client/firefox/files/firefox-70.0.1-rust-1.39+.patch
@@ -0,0 +1,163 @@
+Based on https://github.com/rust-lang/rust/issues/64710
+
+--- a/third_party/rust/bindgen/.cargo-checksum.json.orig
++++ b/third_party/rust/bindgen/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"Cargo.toml":"a970d1a9e47f029fe3e3ce43ae4292054ad60c4490e035b86b669fcf32015624","LICENSE":"c23953d9deb0a3312dbeaf6c128a657f3591acee45067612fa68405eaa4525db","README.md":"5a1f556c6a57c0a6ccc65e19c27718e0f4b32381a8efcc80f6601b33c58c5d59","build.rs":"a9f6915c54d75f357ce32f96327bf4df53dc81a505b70831978f9dac6f43841d","csmith-fuzzing/README.md":"7107b70fedb0c0a0cadb3c439a49c1bd0119a6d38dc63b1aecc74d1942256ef2","src/callbacks.rs":"b24d7982332c6a35928f134184ddf4072fe4545a45546b97b9b0e0c1fbb77c08","src/clang.rs":"0009b8b6e3f6c33ec2776ec4cb8de2625ae8be22c9f0433c39b06bdd9fc7db4d","src/codegen/bitfield_unit.rs":"87be2d7f7774327a1608c2c4d64df869e17fb34b7efdacb4030b6794d98e40f3","src/codegen/bitfield_unit_tests.rs":"2073ac6a36e0bc9afaef5b1207966817c8fb7a1a9f6368c3b1b8f79822efbfba","src/codegen/error.rs":"2613af1d833377fd4a70719f4a09951d9d45dc9227827b9a2a938a1bcaaea2dd","src/codegen/helpers.rs":"aa0daff2061c6de31acfbd113190889e0f7ca2d2b8d4f46740bfd5832c33e4d2","src/codegen/impl_debug.rs
 ":"f82969461d522fb758eca552ceaf189122a404cbb47fcc16008bfe52fc62aefa","src/codegen/impl_partialeq.rs":"d40d9ee2849c4d3d557b033c4d3af5e6de4a44347f67c0f016198086338811af","src/codegen/mod.rs":"ad116e2af755219bd556e8ee00ca48562f64a161d0b2c94846ae01297446ea0d","src/codegen/struct_layout.rs":"3fa5524aff82365ce292b0cc85080514c85a6dbd31bce90f001773b995dda28e","src/extra_assertions.rs":"494534bd4f18b80d89b180c8a93733e6617edcf7deac413e9a73fd6e7bc9ced7","src/features.rs":"82511f1bb8cbd04d98f57b000903b0264237962af93a72a58220437213eba1ef","src/ir/analysis/derive.rs":"325d4c1c1e6194e743f42a2316f1501b0ef852fe309f2e9cac3434825ad235f0","src/ir/analysis/has_destructor.rs":"63644f479738df35e531d3324ff892614083c3656e0747aa34d9f20dada878ec","src/ir/analysis/has_float.rs":"76162a309e4285a806755a08c687a3e7bc894a100a63da4e88584035e215b11d","src/ir/analysis/has_type_param_in_array.rs":"fdbc0af28a144c88ea2de83e6e6da5e1ffb40e3dd63fd7a708095d085bb06f94","src/ir/analysis/has_vtable.rs":"5788372d27bdbaaf0454bc17
 be31a5480918bc41a8a1c4832e8c61185c07f9cd","src/ir/analysis/mod.rs":"1f218e15c19f6666512908abc853fa7ff9ca5d0fafd94f026d9e4b0ce287ec3c","src/ir/analysis/sizedness.rs":"b73865b6689d4f3546edd91909a47c329c4ae630ea97715d29bc683ae1dc17ad","src/ir/analysis/template_params.rs":"6312c008bbc80f50e72a766756c8daddea0b6eeb31ec924b83a231df931e170e","src/ir/annotations.rs":"39a5ab19f4d5dfa617577e4a0d0d2b67b5369d480c7cca4b14d172458c9843f0","src/ir/comment.rs":"c48abe01c5af0f09f583a89f1394bc6c161b40f6c8f0f600bbfe3c907b47969b","src/ir/comp.rs":"78e245835efcd22b5cc878a8a7031171116c708408bdb48b0c9284a067041e56","src/ir/context.rs":"8fd64654343295e0e4a43efe5db6f64315dcd50a5015c3d86e90aae992e2fa9f","src/ir/derive.rs":"34f9aa76b6c9c05136bb69dcd6455397faef571a567254d2c541d50a962994db","src/ir/dot.rs":"95ed2968fc3239d87892e9f1edf1ed6dd18630d949564961765967ea1d16960c","src/ir/enum_ty.rs":"7658cf68c00b1732dfa599c2d6b6a93a82de8401142591c3afe5fcb27d901a66","src/ir/function.rs":"c2feb2e26d47aa96a74af9912ada26be07
 7e2b0c36d46fa10167da7109590500","src/ir/int.rs":"5b8d5bcedb04f39dc2d7e571bc04114b1f1e09cf294afe944c2e7879451c4378","src/ir/item.rs":"3bcdb69b793350e5744aec3577cdbb1e5068ece5220c38763cecd82dfb5e8f03","src/ir/item_kind.rs":"dbeae8c4fd0e5c9485d325aea040e056a1f2cd6d43fc927dee8fe1c0c59a7197","src/ir/layout.rs":"d49582081f5f86f7595afbe4845f38fb3b969a840b568f4a49b265e7d790bb5b","src/ir/mod.rs":"2eae90f207fad2e45957ec9287064992a419e3fc916aba84faff2ea25cbeb5ee","src/ir/module.rs":"c4d90bf38fe3672e01923734ccbdb7951ea929949d5f413a9c2aee12395a5094","src/ir/objc.rs":"758aa955a0c5d6ad82606c88a1f4cd1d93e666b71e82d43b18b1aaae96cf888a","src/ir/template.rs":"c0f8570b927dfd6a421fc4ce3094ec837a3ed936445225dbfac961e8e0842ae5","src/ir/traversal.rs":"ea751379a5aec02f93f8d2c61e18232776b1f000dbeae64b9a7195ba21a19dd6","src/ir/ty.rs":"e6771c8102b9f01b0c4b664bf1151b4773b599634a83895376ce122ca9f74f8b","src/ir/var.rs":"8bdafb6d02f2c55ae11c28d88b19fb7a65ba8466da12ff039ae4c16c790b291e","src/lib.rs":"a07ef7a3d09949
 3555ae5a58b7b4bf9106a978e38a23b5ff445a83b92727ab62","src/log_stubs.rs":"6dfdd908b7c6453da416cf232893768f9480e551ca4add0858ef88bf71ee6ceb","src/main.rs":"8c96cd2a051e3f09b1b87b75cd9ed77e82e889c8309ebd3e4bc782960cf63e58","src/options.rs":"5b309b225cc51e665bd42ed3e7965a7cd73d984e4455a2d76987fc42ab271ff8","src/parse.rs":"be7d13cc84fae79ec7b3aa9e77063fa475a48d74a854423e2c72d75006a25202","src/regex_set.rs":"5cb72fc3714c0d79e9e942d003349c0775fafd7cd0c9603c65f5261883bbf9cf","src/time.rs":"3b763e6fee51d0eb01228dfe28bc28a9f692aff73b2a7b90a030902e0238fca6"},"package":"18270cdd7065ec045a6bb4bdcd5144d14a78b3aedb3bc5111e688773ac8b9ad0"}
+\ No newline at end of file
++{"files":{},"package":"18270cdd7065ec045a6bb4bdcd5144d14a78b3aedb3bc5111e688773ac8b9ad0"}
+--- a/third_party/rust/bindgen/src/ir/analysis/has_vtable.rs.orig
++++ b/third_party/rust/bindgen/src/ir/analysis/has_vtable.rs
+@@ -9,37 +9,22 @@ use std::ops;
+ use {HashMap, Entry};
+ 
+ /// The result of the `HasVtableAnalysis` for an individual item.
+-#[derive(Copy, Clone, Debug, PartialEq, Eq, Ord)]
++#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
+ pub enum HasVtableResult {
+-    /// The item has a vtable, but the actual vtable pointer is in a base
+-    /// member.
+-    BaseHasVtable,
++    /// The item does not have a vtable pointer.
++    No,
+ 
+     /// The item has a vtable and the actual vtable pointer is within this item.
+     SelfHasVtable,
+ 
+-    /// The item does not have a vtable pointer.
+-    No
++    /// The item has a vtable, but the actual vtable pointer is in a base
++    /// member.
++    BaseHasVtable,
+ }
+ 
+ impl Default for HasVtableResult {
+     fn default() -> Self {
+         HasVtableResult::No
+-    }
+-}
+-
+-impl cmp::PartialOrd for HasVtableResult {
+-    fn partial_cmp(&self, rhs: &Self) -> Option<cmp::Ordering> {
+-        use self::HasVtableResult::*;
+-
+-        match (*self, *rhs) {
+-            (x, y) if x == y => Some(cmp::Ordering::Equal),
+-            (BaseHasVtable, _) => Some(cmp::Ordering::Greater),
+-            (_, BaseHasVtable) => Some(cmp::Ordering::Less),
+-            (SelfHasVtable, _) => Some(cmp::Ordering::Greater),
+-            (_, SelfHasVtable) => Some(cmp::Ordering::Less),
+-            _ => unreachable!(),
+-        }
+     }
+ }
+ 
+--- a/third_party/rust/bindgen/src/ir/analysis/sizedness.rs.orig
++++ b/third_party/rust/bindgen/src/ir/analysis/sizedness.rs
+@@ -22,13 +22,14 @@ use {HashMap, Entry};
+ ///
+ /// We initially assume that all types are `ZeroSized` and then update our
+ /// understanding as we learn more about each type.
+-#[derive(Copy, Clone, Debug, PartialEq, Eq, Ord)]
++#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
+ pub enum SizednessResult {
+-    /// Has some size that is known to be greater than zero. That doesn't mean
+-    /// it has a static size, but it is not zero sized for sure. In other words,
+-    /// it might contain an incomplete array or some other dynamically sized
+-    /// type.
+-    NonZeroSized,
++    /// The type is zero-sized.
++    ///
++    /// This means that if it is a C++ type, and is not being used as a base
++    /// member, then we must add an `_address` byte to enforce the
++    /// unique-address-per-distinct-object-instance rule.
++    ZeroSized,
+ 
+     /// Whether this type is zero-sized or not depends on whether a type
+     /// parameter is zero-sized or not.
+@@ -52,32 +53,16 @@ pub enum SizednessResult {
+     /// https://github.com/rust-lang/rust-bindgen/issues/586
+     DependsOnTypeParam,
+ 
+-    /// The type is zero-sized.
+-    ///
+-    /// This means that if it is a C++ type, and is not being used as a base
+-    /// member, then we must add an `_address` byte to enforce the
+-    /// unique-address-per-distinct-object-instance rule.
+-    ZeroSized,
++    /// Has some size that is known to be greater than zero. That doesn't mean
++    /// it has a static size, but it is not zero sized for sure. In other words,
++    /// it might contain an incomplete array or some other dynamically sized
++    /// type.
++    NonZeroSized,
+ }
+ 
+ impl Default for SizednessResult {
+     fn default() -> Self {
+         SizednessResult::ZeroSized
+-    }
+-}
+-
+-impl cmp::PartialOrd for SizednessResult {
+-    fn partial_cmp(&self, rhs: &Self) -> Option<cmp::Ordering> {
+-        use self::SizednessResult::*;
+-
+-        match (*self, *rhs) {
+-            (x, y) if x == y => Some(cmp::Ordering::Equal),
+-            (NonZeroSized, _) => Some(cmp::Ordering::Greater),
+-            (_, NonZeroSized) => Some(cmp::Ordering::Less),
+-            (DependsOnTypeParam, _) => Some(cmp::Ordering::Greater),
+-            (_, DependsOnTypeParam) => Some(cmp::Ordering::Less),
+-            _ => unreachable!(),
+-        }
+     }
+ }
+ 
+--- a/third_party/rust/bindgen/src/ir/derive.rs.orig
++++ b/third_party/rust/bindgen/src/ir/derive.rs
+@@ -92,10 +92,10 @@ pub trait CanDeriveOrd {
+ ///
+ /// Initially we assume that we can derive trait for all types and then
+ /// update our understanding as we learn more about each type.
+-#[derive(Debug, Copy, Clone, PartialEq, Eq, Ord)]
++#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord)]
+ pub enum CanDerive {
+-    /// No, we cannot.
+-    No,
++    /// Yes, we can derive automatically.
++    Yes,
+ 
+     /// The only thing that stops us from automatically deriving is that
+     /// array with more than maximum number of elements is used.
+@@ -103,29 +103,13 @@ pub enum CanDerive {
+     /// This means we probably can "manually" implement such trait.
+     Manually,
+ 
+-    /// Yes, we can derive automatically.
+-    Yes,
++    /// No, we cannot.
++    No,
+ }
+ 
+ impl Default for CanDerive {
+     fn default() -> CanDerive {
+         CanDerive::Yes
+-    }
+-}
+-
+-impl cmp::PartialOrd for CanDerive {
+-    fn partial_cmp(&self, rhs: &Self) -> Option<cmp::Ordering> {
+-        use self::CanDerive::*;
+-
+-        let ordering = match (*self, *rhs) {
+-            (x, y) if x == y => cmp::Ordering::Equal,
+-            (No, _) => cmp::Ordering::Greater,
+-            (_, No) => cmp::Ordering::Less,
+-            (Manually, _) => cmp::Ordering::Greater,
+-            (_, Manually) => cmp::Ordering::Less,
+-            _ => unreachable!()
+-        };
+-        Some(ordering)
+     }
+ }
+ 

diff --git a/www-client/firefox/firefox-68.2.0.ebuild b/www-client/firefox/firefox-68.2.0.ebuild
index 86d4afac639..7189196e69f 100644
--- a/www-client/firefox/firefox-68.2.0.ebuild
+++ b/www-client/firefox/firefox-68.2.0.ebuild
@@ -169,7 +169,6 @@ DEPEND="${CDEPEND}
 	)
 	pulseaudio? ( media-sound/pulseaudio )
 	>=virtual/rust-1.34.0
-	<virtual/rust-1.39.0
 	wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
 	amd64? ( >=dev-lang/yasm-1.1 virtual/opengl )
 	x86? ( >=dev-lang/yasm-1.1 virtual/opengl )
@@ -267,6 +266,8 @@ src_prepare() {
 	rm "${WORKDIR}"/firefox/2015_fix_cssparser.patch
 	eapply "${WORKDIR}/firefox"
 
+	eapply "${FILESDIR}"/${PN}-68.2.0-rust-1.39+.patch
+
 	# Allow user to apply any additional patches without modifing ebuild
 	eapply_user
 

diff --git a/www-client/firefox/firefox-70.0.1.ebuild b/www-client/firefox/firefox-70.0.1.ebuild
index 923b83b5007..99e92f2e5b2 100644
--- a/www-client/firefox/firefox-70.0.1.ebuild
+++ b/www-client/firefox/firefox-70.0.1.ebuild
@@ -170,7 +170,6 @@ DEPEND="${CDEPEND}
 	)
 	pulseaudio? ( media-sound/pulseaudio )
 	>=virtual/rust-1.36.0
-	<virtual/rust-1.39.0
 	wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
 	amd64? ( >=dev-lang/yasm-1.1 virtual/opengl )
 	x86? ( >=dev-lang/yasm-1.1 virtual/opengl )
@@ -268,6 +267,8 @@ src_prepare() {
 	eapply "${WORKDIR}/firefox"
 	eapply "${FILESDIR}/${PN}-69.0-lto-gcc-fix.patch"
 
+	eapply "${FILESDIR}"/${PN}-70.0.1-rust-1.39+.patch
+
 	# Allow user to apply any additional patches without modifing ebuild
 	eapply_user
 


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2019-12-09 23:52 Jory Pratt
  0 siblings, 0 replies; 25+ messages in thread
From: Jory Pratt @ 2019-12-09 23:52 UTC (permalink / raw
  To: gentoo-commits

commit:     c40cc87ed9378492d84a2c6c5e45fa3d399ba7a2
Author:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Mon Dec  9 23:51:50 2019 +0000
Commit:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Mon Dec  9 23:52:11 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c40cc87e

www-client/firefox: Fix segfault with gcc lto builds

Closes: https://bugs.gentoo.org/show_bug.cgi?id=701866
Package-Manager: Portage-2.3.81, Repoman-2.3.20
Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org>

 .../files/mozilla-bug1601707-gcc-fixup.patch       | 114 +++++++++++++++++++++
 www-client/firefox/firefox-71.0.ebuild             |   1 +
 2 files changed, 115 insertions(+)

diff --git a/www-client/firefox/files/mozilla-bug1601707-gcc-fixup.patch b/www-client/firefox/files/mozilla-bug1601707-gcc-fixup.patch
new file mode 100644
index 00000000000..7002c6d70b7
--- /dev/null
+++ b/www-client/firefox/files/mozilla-bug1601707-gcc-fixup.patch
@@ -0,0 +1,114 @@
+diff -up firefox-71.0/dom/indexedDB/ActorsParent.cpp.gcc-workaround firefox-71.0/dom/indexedDB/ActorsParent.cpp
+--- firefox-71.0/dom/indexedDB/ActorsParent.cpp.gcc-workaround	2019-12-02 13:22:58.000000000 +0100
++++ firefox-71.0/dom/indexedDB/ActorsParent.cpp	2019-12-08 21:52:54.449199120 +0100
+@@ -24311,11 +24311,11 @@ nsresult ObjectStoreAddOrPutRequestOp::D
+   // if we allow overwrite or not. By not allowing overwrite we raise
+   // detectable errors rather than corrupting data.
+   DatabaseConnection::CachedStatement stmt;
+-  const auto& optReplaceDirective = (!mOverwrite || keyUnset)
+-                                        ? NS_LITERAL_CSTRING("")
+-                                        : NS_LITERAL_CSTRING("OR REPLACE ");
+   rv = aConnection->GetCachedStatement(
+-      NS_LITERAL_CSTRING("INSERT ") + optReplaceDirective +
++      NS_LITERAL_CSTRING("INSERT ") +
++	  ((!mOverwrite || keyUnset)
++           ? NS_LITERAL_CSTRING("")
++           : NS_LITERAL_CSTRING("OR REPLACE ")) +
+           NS_LITERAL_CSTRING("INTO object_data "
+                              "(object_store_id, key, file_ids, data) "
+                              "VALUES (:") +
+@@ -25869,11 +25869,8 @@ void Cursor::OpenOp::PrepareIndexKeyCond
+     }
+   }
+ 
+-  const auto& comparisonChar =
+-      isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<");
+-
+   mCursor->mContinueToQuery =
+-      aQueryStart + NS_LITERAL_CSTRING(" AND sort_column ") + comparisonChar +
++      aQueryStart + NS_LITERAL_CSTRING(" AND sort_column ") + (isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<")) +
+       NS_LITERAL_CSTRING("= :") + kStmtParamNameCurrentKey;
+ 
+   switch (mCursor->mDirection) {
+@@ -25881,11 +25878,11 @@ void Cursor::OpenOp::PrepareIndexKeyCond
+     case IDBCursor::PREV:
+       mCursor->mContinueQuery =
+           aQueryStart + NS_LITERAL_CSTRING(" AND sort_column ") +
+-          comparisonChar + NS_LITERAL_CSTRING("= :") +
++          (isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<")) + NS_LITERAL_CSTRING("= :") +
+           kStmtParamNameCurrentKey + NS_LITERAL_CSTRING(" AND ( sort_column ") +
+-          comparisonChar + NS_LITERAL_CSTRING(" :") + kStmtParamNameCurrentKey +
++          (isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<")) + NS_LITERAL_CSTRING(" :") + kStmtParamNameCurrentKey +
+           NS_LITERAL_CSTRING(" OR ") + aObjectDataKeyPrefix +
+-          NS_LITERAL_CSTRING("object_data_key ") + comparisonChar +
++          NS_LITERAL_CSTRING("object_data_key ") + (isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<")) +
+           NS_LITERAL_CSTRING(" :") + kStmtParamNameObjectStorePosition +
+           NS_LITERAL_CSTRING(" ) ");
+ 
+@@ -25896,12 +25893,12 @@ void Cursor::OpenOp::PrepareIndexKeyCond
+               "(sort_column == :") +
+           kStmtParamNameCurrentKey + NS_LITERAL_CSTRING(" AND ") +
+           aObjectDataKeyPrefix + NS_LITERAL_CSTRING("object_data_key ") +
+-          comparisonChar + NS_LITERAL_CSTRING("= :") +
++          (isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<")) + NS_LITERAL_CSTRING("= :") +
+           kStmtParamNameObjectStorePosition +
+           NS_LITERAL_CSTRING(
+               ") OR "
+               "sort_column ") +
+-          comparisonChar + NS_LITERAL_CSTRING(" :") + kStmtParamNameCurrentKey +
++          (isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<")) + NS_LITERAL_CSTRING(" :") + kStmtParamNameCurrentKey +
+           NS_LITERAL_CSTRING(")");
+       break;
+ 
+@@ -25909,7 +25906,7 @@ void Cursor::OpenOp::PrepareIndexKeyCond
+     case IDBCursor::PREV_UNIQUE:
+       mCursor->mContinueQuery =
+           aQueryStart + NS_LITERAL_CSTRING(" AND sort_column ") +
+-          comparisonChar + NS_LITERAL_CSTRING(" :") + kStmtParamNameCurrentKey;
++          (isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<")) + NS_LITERAL_CSTRING(" :") + kStmtParamNameCurrentKey;
+       break;
+ 
+     default:
+@@ -26076,9 +26073,6 @@ nsresult Cursor::OpenOp::DoIndexDatabase
+ 
+   const bool usingKeyRange = mOptionalKeyRange.isSome();
+ 
+-  const auto& indexTable = mCursor->mUniqueIndex
+-                               ? NS_LITERAL_CSTRING("unique_index_data")
+-                               : NS_LITERAL_CSTRING("index_data");
+ 
+   NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
+ 
+@@ -26099,7 +26093,9 @@ nsresult Cursor::OpenOp::DoIndexDatabase
+                                  "object_data.file_ids, "
+                                  "object_data.data "
+                                  "FROM ") +
+-                             indexTable +
++                             (mCursor->mUniqueIndex
++                                 ? NS_LITERAL_CSTRING("unique_index_data")
++                                 : NS_LITERAL_CSTRING("index_data")) +
+                              NS_LITERAL_CSTRING(
+                                  " AS index_table "
+                                  "JOIN object_data "
+@@ -26198,9 +26194,6 @@ nsresult Cursor::OpenOp::DoIndexKeyDatab
+ 
+   const bool usingKeyRange = mOptionalKeyRange.isSome();
+ 
+-  const auto& table = mCursor->mUniqueIndex
+-                          ? NS_LITERAL_CSTRING("unique_index_data")
+-                          : NS_LITERAL_CSTRING("index_data");
+ 
+   NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
+ 
+@@ -26218,7 +26211,10 @@ nsresult Cursor::OpenOp::DoIndexKeyDatab
+                              NS_LITERAL_CSTRING(
+                                  "object_data_key "
+                                  " FROM ") +
+-                             table + NS_LITERAL_CSTRING(" WHERE index_id = :") +
++                             (mCursor->mUniqueIndex
++                                 ? NS_LITERAL_CSTRING("unique_index_data")
++                                 : NS_LITERAL_CSTRING("index_data")) +
++                             NS_LITERAL_CSTRING(" WHERE index_id = :") +
+                              kStmtParamNameId;
+ 
+   const auto keyRangeClause =

diff --git a/www-client/firefox/firefox-71.0.ebuild b/www-client/firefox/firefox-71.0.ebuild
index 889b6dec68a..431c1e1f9d7 100644
--- a/www-client/firefox/firefox-71.0.ebuild
+++ b/www-client/firefox/firefox-71.0.ebuild
@@ -270,6 +270,7 @@ src_prepare() {
 	use !wayland && rm -f "${WORKDIR}/firefox/2019_mozilla-bug1539471.patch"
 	eapply "${WORKDIR}/firefox"
 	eapply "${FILESDIR}/${PN}-69.0-lto-gcc-fix.patch"
+	eapply "${FILESDIR}/mozilla-bug1601707-gcc-fixup.patch"
 
 	# Allow user to apply any additional patches without modifing ebuild
 	eapply_user


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2020-02-16  3:07 Jory Pratt
  0 siblings, 0 replies; 25+ messages in thread
From: Jory Pratt @ 2020-02-16  3:07 UTC (permalink / raw
  To: gentoo-commits

commit:     1271c2e45284b16f2083fadbadaa57b405b94f1c
Author:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 16 03:05:42 2020 +0000
Commit:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Sun Feb 16 03:07:17 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1271c2e4

www-client/firefox: Fix llvm9 build failure

Closes: https://bugs.gentoo.org/704924
Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org>

 www-client/firefox/files/firefox-73.0_fix_llvm9.patch | 19 +++++++++++++++++++
 www-client/firefox/firefox-73.0.ebuild                |  1 +
 2 files changed, 20 insertions(+)

diff --git a/www-client/firefox/files/firefox-73.0_fix_llvm9.patch b/www-client/firefox/files/firefox-73.0_fix_llvm9.patch
new file mode 100644
index 00000000000..e12417e6a02
--- /dev/null
+++ b/www-client/firefox/files/firefox-73.0_fix_llvm9.patch
@@ -0,0 +1,19 @@
+diff --git a/config/gcc-stl-wrapper.template.h b/config/gcc-stl-wrapper.template.h
+--- a/config/gcc-stl-wrapper.template.h
++++ b/config/gcc-stl-wrapper.template.h
+@@ -32,6 +32,14 @@
+ #  define moz_dont_include_mozalloc_for_cstdlib
+ #endif
+ 
++#ifndef moz_dont_include_mozalloc_for_type_traits
++#  define moz_dont_include_mozalloc_for_type_traits
++#endif
++
++#ifndef moz_dont_include_mozalloc_for_limits
++#  define moz_dont_include_mozalloc_for_limits
++#endif
++
+ // Include mozalloc after the STL header and all other headers it includes
+ // have been preprocessed.
+ #if !defined(MOZ_INCLUDE_MOZALLOC_H) && \
+

diff --git a/www-client/firefox/firefox-73.0.ebuild b/www-client/firefox/firefox-73.0.ebuild
index c4fb0b23ad1..6e104cb56f9 100644
--- a/www-client/firefox/firefox-73.0.ebuild
+++ b/www-client/firefox/firefox-73.0.ebuild
@@ -258,6 +258,7 @@ src_prepare() {
 	eapply "${WORKDIR}/firefox"
 
 	eapply "${FILESDIR}/${PN}-73.0_fix_lto_pgo_builds.patch"
+	eapply "${FILESDIR}/${PN}-73.0_fix_llvm9.patch"
 
 	# Allow user to apply any additional patches without modifing ebuild
 	eapply_user


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2020-03-30 11:46 Thomas Deutschmann
  0 siblings, 0 replies; 25+ messages in thread
From: Thomas Deutschmann @ 2020-03-30 11:46 UTC (permalink / raw
  To: gentoo-commits

commit:     de3255e329bf23cd3e8247e475e75b374e53aec9
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 29 00:46:42 2020 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Mon Mar 30 11:45:10 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=de3255e3

www-client/firefox: use wrapper

This change will replace /usr/bin/firefox symlink with a
wrapper script:

- Using a wrapper will allow us to set additional variables
  more easily.

- The wrapper will address an issue that prevented external applications
  from opening links when a Firefox instance was already running.

- In general, the wrapper will allow user to execute 'firefox' from
  wherever and whenever they like without getting an error that an
  instance is already running.

Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 www-client/firefox/files/firefox-wayland.sh |   7 ++
 www-client/firefox/files/firefox-x11.sh     |   7 ++
 www-client/firefox/files/firefox.sh         | 105 ++++++++++++++++++++++++++++
 www-client/firefox/firefox-74.0-r2.ebuild   |  62 ++++++++++++++--
 4 files changed, 174 insertions(+), 7 deletions(-)

diff --git a/www-client/firefox/files/firefox-wayland.sh b/www-client/firefox/files/firefox-wayland.sh
new file mode 100644
index 00000000000..44280250fb9
--- /dev/null
+++ b/www-client/firefox/files/firefox-wayland.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+#
+# Run Mozilla Firefox under Wayland
+#
+export MOZ_ENABLE_WAYLAND=1
+exec @PREFIX@/bin/firefox "$@"

diff --git a/www-client/firefox/files/firefox-x11.sh b/www-client/firefox/files/firefox-x11.sh
new file mode 100644
index 00000000000..756556690cf
--- /dev/null
+++ b/www-client/firefox/files/firefox-x11.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+#
+# Run Mozilla Firefox on X11
+#
+export MOZ_DISABLE_WAYLAND=1
+exec @PREFIX@/bin/firefox "$@"

diff --git a/www-client/firefox/files/firefox.sh b/www-client/firefox/files/firefox.sh
new file mode 100644
index 00000000000..d942087ffa8
--- /dev/null
+++ b/www-client/firefox/files/firefox.sh
@@ -0,0 +1,105 @@
+#!/bin/bash
+
+##
+## Usage:
+##
+## $ firefox
+##
+## This script is meant to run Mozilla Firefox in Gentoo.
+
+cmdname=$(basename "$0")
+
+##
+## Variables
+##
+MOZ_ARCH=$(uname -m)
+case ${MOZ_ARCH} in
+	x86_64|s390x|sparc64)
+		MOZ_LIB_DIR="@PREFIX@/lib64"
+		SECONDARY_LIB_DIR="@PREFIX@/lib"
+		;;
+	*)
+		MOZ_LIB_DIR="@PREFIX@/lib"
+		SECONDARY_LIB_DIR="@PREFIX@/lib64"
+		;;
+esac
+
+MOZ_FIREFOX_FILE="firefox"
+
+if [[ ! -r ${MOZ_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} ]]; then
+	if [[ ! -r ${SECONDARY_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} ]]; then
+		echo "Error: ${MOZ_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} not found" >&2
+		if [[ -d $SECONDARY_LIB_DIR ]]; then
+			echo "       ${SECONDARY_LIB_DIR}/firefox/${MOZ_FIREFOX_FILE} not found" >&2
+		fi
+		exit 1
+	fi
+	MOZ_LIB_DIR="$SECONDARY_LIB_DIR"
+fi
+MOZILLA_FIVE_HOME="${MOZ_LIB_DIR}/firefox"
+MOZ_EXTENSIONS_PROFILE_DIR="${HOME}/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
+MOZ_PROGRAM="${MOZILLA_FIVE_HOME}/${MOZ_FIREFOX_FILE}"
+DESKTOP_FILE="firefox"
+
+##
+## Enable Wayland backend?
+##
+if @DEFAULT_WAYLAND@ && [[ -z ${MOZ_DISABLE_WAYLAND} ]]; then
+	if [[ -n "$WAYLAND_DISPLAY" ]]; then
+		DESKTOP_FILE="firefox-wayland"
+		export MOZ_ENABLE_WAYLAND=1
+	fi
+elif [[ -n ${MOZ_DISABLE_WAYLAND} ]]; then
+	DESKTOP_FILE="firefox-x11"
+fi
+
+##
+## Use D-Bus remote exclusively when there's Wayland display.
+##
+if [[ -n "${WAYLAND_DISPLAY}" ]]; then
+	export MOZ_DBUS_REMOTE=1
+fi
+
+##
+## Make sure that we set the plugin path
+##
+MOZ_PLUGIN_DIR="plugins"
+
+if [[ -n "${MOZ_PLUGIN_PATH}" ]]; then
+	MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}
+else
+	MOZ_PLUGIN_PATH=${MOZ_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}
+fi
+
+if [[ -d "${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}" ]]; then
+	MOZ_PLUGIN_PATH=${MOZ_PLUGIN_PATH}:${SECONDARY_LIB_DIR}/mozilla/${MOZ_PLUGIN_DIR}
+fi
+
+export MOZ_PLUGIN_PATH
+
+##
+## Set MOZ_APP_LAUNCHER for gnome-session
+##
+export MOZ_APP_LAUNCHER="@PREFIX@/bin/${cmdname}"
+
+##
+## Disable the GNOME crash dialog, Moz has it's own
+##
+if [[ "$XDG_CURRENT_DESKTOP" == "GNOME" ]]; then
+	GNOME_DISABLE_CRASH_DIALOG=1
+	export GNOME_DISABLE_CRASH_DIALOG
+fi
+
+# Don't throw "old profile" dialog box.
+export MOZ_ALLOW_DOWNGRADE=1
+
+##
+## Route to the correct .desktop file to get proper
+## names and contect menus
+##
+if [[ $@ != *"--name "* ]]; then
+	set -- "--name ${DESKTOP_FILE}" "$@"
+fi
+
+# Run the browser
+exec ${MOZ_PROGRAM} $@

diff --git a/www-client/firefox/firefox-74.0-r2.ebuild b/www-client/firefox/firefox-74.0-r2.ebuild
index f59e1224f9f..bd04eca22ba 100644
--- a/www-client/firefox/firefox-74.0-r2.ebuild
+++ b/www-client/firefox/firefox-74.0-r2.ebuild
@@ -757,7 +757,6 @@ PROFILE_EOF
 	done
 	# Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
 	newicon "${icon_path}/default48.png" "${icon}.png"
-	newmenu "${FILESDIR}/icon/${PN}-r1.desktop" "${PN}.desktop"
 
 	# Add StartupNotify=true bug 237317
 	local startup_notify="false"
@@ -765,12 +764,61 @@ PROFILE_EOF
 		startup_notify="true"
 	fi
 
-	sed -i \
-		-e "s:@NAME@:${name}:" \
-		-e "s:@EXEC@:firefox:" \
-		-e "s:@ICON@:${icon}:" \
-		-e "s:@STARTUP_NOTIFY@:${startup_notify}:" \
-		"${ED%/}/usr/share/applications/${PN}.desktop" || die
+	local display_protocols="auto X11" 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='firefox-wayland --name firefox-wayland'
+				newbin "${FILESDIR}"/firefox-wayland.sh firefox-wayland
+				;;
+			X11)
+				exec_command='firefox-x11 --name firefox-x11'
+				if use wayland ; then
+					# Only needed when there's actually a choice
+					newbin "${FILESDIR}"/firefox-x11.sh firefox-x11
+				fi
+				;;
+			*)
+				app_name="${name}"
+				desktop_filename="${PN}.desktop"
+				exec_command='firefox'
+				;;
+		esac
+
+		newmenu "${FILESDIR}/icon/${PN}-r1.desktop" "${desktop_filename}"
+		sed -i \
+			-e "s:@NAME@:${app_name}:" \
+			-e "s:@EXEC@:${exec_command}:" \
+			-e "s:@ICON@:${icon}:" \
+			-e "s:@STARTUP_NOTIFY@:${startup_notify}:" \
+			"${ED%/}/usr/share/applications/${desktop_filename}" || die
+	done
+
+	rm "${ED%/}"/usr/bin/firefox || die
+	newbin "${FILESDIR}"/firefox.sh firefox
+
+	local wrapper
+	for wrapper in \
+		"${ED%/}"/usr/bin/firefox \
+		"${ED%/}"/usr/bin/firefox-x11 \
+		"${ED%/}"/usr/bin/firefox-wayland \
+	; do
+		[[ ! -f "${wrapper}" ]] && continue
+
+		sed -i \
+			-e "s:@PREFIX@:${EPREFIX%/}/usr:" \
+			-e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+			"${wrapper}" || die
+	done
 
 	# Don't install llvm-symbolizer from sys-devel/llvm package
 	[[ -f "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] && \


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2020-10-23  0:53 Thomas Deutschmann
  0 siblings, 0 replies; 25+ messages in thread
From: Thomas Deutschmann @ 2020-10-23  0:53 UTC (permalink / raw
  To: gentoo-commits

commit:     4befbbed6fe0ac47b7276c672153b259251d140e
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 23 00:49:39 2020 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 00:49:39 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4befbbed

www-client/firefox: security cleanup

Bug: https://bugs.gentoo.org/750446
Package-Manager: Portage-3.0.8, Repoman-3.0.2
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 www-client/firefox/Manifest                        |  291 ------
 ...-hwaccel-prefs.js-1 => gentoo-hwaccel-prefs.js} |    0
 www-client/firefox/firefox-78.3.1.ebuild           | 1098 --------------------
 www-client/firefox/firefox-78.4.0.ebuild           |    2 +-
 www-client/firefox/firefox-81.0.1-r1.ebuild        | 1098 --------------------
 www-client/firefox/firefox-81.0.1.ebuild           | 1066 -------------------
 www-client/firefox/firefox-81.0.2.ebuild           | 1098 --------------------
 www-client/firefox/firefox-82.0.ebuild             |    2 +-
 8 files changed, 2 insertions(+), 4653 deletions(-)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 40a481ee89e..c2c2f7b02ac 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -1,99 +1,3 @@
-DIST firefox-78.3.1esr-ach.xpi 500661 BLAKE2B 30cd981557491e0e813182d8fe769a3f21209bb167b11977b09fcd3aa187fecb029833c1770d976b6ba8be3e4901fd4639e4768c5eb77d9082d61019c6d2f564 SHA512 b3eec643a380cf8768ae716955ed64938a18e259b7698a72ce4fa1eb1353c893785806cda73d4cd8908f3bd3f4bf640bbd4022be99291d1cc509da609541f83e
-DIST firefox-78.3.1esr-af.xpi 444078 BLAKE2B ec399291516e2d208439b088679386f97674399249f611b0d0af2db002e5067b9aa48fbbfae44ed210c1cf1205039029a2b6d665da0e011dab78c0a7297c91a3 SHA512 e46488de17fc1324c12aacb74fd9e6521a45ab5f201568379dd6e9c7aab019d7ee34b3313d27f88f33c4002ed84c1b8451a26c03878b03b1b06630e0c8ad76e1
-DIST firefox-78.3.1esr-an.xpi 511467 BLAKE2B e2683b61deef571f107add61dc770acd3adff706a01dadcc3e977cb6e515abbd5cb400296ac7dfb74b991aac5bc04384ccb3230b5a9960bd2cd4415dc603b27c SHA512 9990eb0989ec9841519157fb620e6c6cd8451657bc25a93cc127896215fa2d50a7734db7bfe2ef26890104eb97efbad8d8633e6b77a5ef15f830e2df42f7a662
-DIST firefox-78.3.1esr-ar.xpi 588717 BLAKE2B 704f76b835095f33fcf7eef7a23e4751ef2f101a91e95d42c15c997eaa557fad88524ff17257751bad6348f0266493d8f54cd88f7fbd69180f02554d5e10454f SHA512 d1e351c3a9f9dab9cb24400b3990babd969ba0b71ab33328e705261b2226675c6cf6872b43d2451ed323c17d31fe87a5f4ea0be1b4d4389476cbee4e4e3a6b84
-DIST firefox-78.3.1esr-ast.xpi 500543 BLAKE2B 6aae9c22c5b9d1f5b4da799b7193ecfd9a1be6275be90ad76ba0c166f7e3cda7a2cf3d6a48101136d63879d19be378a2dc2c3966d3c9395f11bf8b50ea5343a7 SHA512 390d149fdbf476dac1948cec93ca2de3282a647535a9419aafbd2358dec2e1e11d441e2f27e185eacaa31908621cfb1774b1befb6aa764143fd0dccc22f773be
-DIST firefox-78.3.1esr-az.xpi 537582 BLAKE2B 9d7520115cf5be099fcba4bea40025d73f172b358285e8fdef763545f4944355e6d70adad9df82b58a39d97abc7dc3d1d53a3decfe0d4924fe012c06faeb60b0 SHA512 15841ea6c5097acab8cbc367115a1740ae2428b09b83c505c1b3aa781a30b2240b580229d36686d5fa9bcceec5047eb9fe0f0b619a180425db10c06a48f0e1ff
-DIST firefox-78.3.1esr-be.xpi 647647 BLAKE2B db3240c1e18f105a8858b3c7bd4d14a37173dd0c26d94ff57cfd0f810748bcf8f64f516f1836d8965967f25a87de2b7d3371ddf0e59727bb8681e79a130a0727 SHA512 9c3b1d2dc91b0a62076fd7117c639c576ecdcea680e3a215c80ad15d0edbbd4853ef22607d66947ace057bb5cb747194f021865151e41887c932b9d63cf6b862
-DIST firefox-78.3.1esr-bg.xpi 608548 BLAKE2B a7c5eda7c5de02595037895fac7538635ee47fc281a7c5b3f67d269c8bc3b334c1b4114cf53abec5149a90f689783bc47cdae6124505ff968514c12534b7d072 SHA512 4904731f2a776ed6624587b2e445b5f5d924fa150fceb3d970c7c5feb62fe0eb57b0962b4c31de7e93f7a0d061dfeb417aeaeac442ab6bf37f7f82444e0eb53d
-DIST firefox-78.3.1esr-bn.xpi 634042 BLAKE2B dae606af60314263db1680008d5f46fe748b17cfb78211e1a20d635edb9fec7aad7293e45bdb4411df23a94a513a5e5f900a01eec35894afeed196ef38b3ad88 SHA512 741e742e49597b680dd8316aed5f8866debe0cc553d2890e978751321850a32b95f27360bb07f56c84d020f841c6aefe6f3a11d6092fcb0e854e0edf65d525bc
-DIST firefox-78.3.1esr-br.xpi 551255 BLAKE2B b2a478815c01399ad8db72c9e9cdacfaf6bb1de4d49ae4e82308ab5aad81b2cefbdc485abb29b10175d6c5cbbda9df63beb521e792d3b2205b436e05140093e5 SHA512 8afa4852706198f2f0d2f58f02f206acfe49e73d4748138d6f7e84724d95a47eb06759c75f12d645fa907b7e26f1d6e0ffca3b729b5543fac2a7cd8c53f75275
-DIST firefox-78.3.1esr-bs.xpi 506394 BLAKE2B 53764d4951ed0cd1a3bf8f06e8c8ee9cc2c42d7d143ec47eb4584e1ccc691bda42d50a6cece9495bc51a412532ef652b47f1081fe031c0f3973d74e1a7b85513 SHA512 5c28de30541544e8a8cafbb8d37d479701dac04d85eb3467834d89574098da64bfa2e8a58e8d694fc26a478771c0699b8ab131e306895323b142ae58f4ee6ce6
-DIST firefox-78.3.1esr-ca-valencia.xpi 558388 BLAKE2B cdb8feed00e774753e02fd985e2e1a502ce63ea8ec87c6a8b13524ea390d0ce4b6970b09e5a02b1d095948e1a7baf34b4da1de9080be0a0b1fac4c6feb9b2236 SHA512 fc627ea1be932a2f3718537a7f150960adf6fc5706138b620ccfd081ab9a7b8b0bc25792d49c3ea9c040e681825bd6acbce052e702c14ad1f063bab4f08e2a15
-DIST firefox-78.3.1esr-ca.xpi 552897 BLAKE2B 345822397e853dc04fab09eed4b1bc9c85e440d9ae1c5dba53a3a7095239f108d7162ae9968da769f110e3bf4c6fd0b804b0a170d2aafd7f91a6770983f8fadb SHA512 8355d76d93690acaa2761111b4e7859a639e7163f5d2b994953db062c7250a535330aaf247663333ec77487d99292efc5ce02f0b166ba9f7d8bd7561b92ffbdc
-DIST firefox-78.3.1esr-cak.xpi 584945 BLAKE2B 3c6b84e8d91f45253fbb1740cbfd0d10cf5598470b9a4e260de0565eae348090f39f2d89ea52e14941c2b410579d73c64634cdd866cf48cfc861740c4f16334b SHA512 c42343d7ee55d8fc5097b9def4bcd434b1ad0975335de3b81977cd92a715d9437a9c62ce9968e8fa82d5e59c7213cbdc9af4c935bcbf98fa936bbc6cb405b531
-DIST firefox-78.3.1esr-cs.xpi 585527 BLAKE2B 16387697ca66f17a7ce53eb738e3ae05f95716303b72a6cf8496c66d2fb42c673a98cf6a7e155c893a03e2f2839ec9fb273f716443d8ac98afa9c74929dc6720 SHA512 9d7214358940aedb19c909f3a0581b79ef863853dbdbbdae8c777ee743e8f116da34429ba31a70bdf045b5a3cde494626f06f5ee4e82ce1ac485c154ce771068
-DIST firefox-78.3.1esr-cy.xpi 563233 BLAKE2B 9446b680dbe1f7131e66960ff765cf6586455d033c1fbfd8f51deb01a902be8f2313bd69e23c112787be7d659409333e0702acd3b50ca037b74d9d58d2a41ee6 SHA512 8c8d8eb9a0d7877b2b6e31efccf81260abff01b098c70a04a3191661e945c667ff48ebd4124124ea572ce2e3c763612fe94bc479253eaff1c788f0525839056c
-DIST firefox-78.3.1esr-da.xpi 552319 BLAKE2B 42df6f0dde1ad61db5e0d96740bc5224c32e6a40a50e9d1646d4c699c50b948a0b9d02b657fe71769dc4de5d9f9434d23ab663f8792b4d45d9d3ef8a21f94936 SHA512 7516e33621bbd1b979e7b2ec74c238b52faa330d4371e496663eef095646afc01810286f72f5c3dc769caba83016947cc8198b9371092fc9c2de44846189e01a
-DIST firefox-78.3.1esr-de.xpi 576943 BLAKE2B 7d3f6f636201e8560f0d297c00850c01805cb2384cb0c6d899eb15bfa78afb2f52d9636d15ec9ccaaf9f46e7914694b3cb6dd0abc1337ef1caf3edc36e5f5fe5 SHA512 c46bee0071482ccc0885829eca49abb309d2554d88dc2b2281432df81de2b871a88561c8618896cbae7e91ec9b09368009b84564e747b4f8c700619994bad38f
-DIST firefox-78.3.1esr-dsb.xpi 589042 BLAKE2B b0e32e34d9f763b8fadf7a367db9b684af88bd1c8fa9f00616af05e5f3bf025a450a2201c77882b97fb7f4a334639651c66e329533cf7a7bae964b8b58c82361 SHA512 5417fbf1f64c135c5215c01ec7bc6643983f7fa74f8f932f235a2ab255b9d46e206442b3e2cc3132c304a51144b519750c8d96fe51d6713f13bd47c0cc869b92
-DIST firefox-78.3.1esr-el.xpi 665907 BLAKE2B 3dac220ae73713903ae55c2c110d8b73d3ba1df4596e9a2209eca9de6886e2e828cb94b30b08d3bc00ddbdeee29e3567997abaa41a252f135b79278e6468cbbd SHA512 c3d36218171e88d7da1f0955679af4f3b4132ac46855be33bb1c305387da479116e91998b8e7c5a4ef43961be94cc77ca6f6328e70d8f0e09f89a000362ff22a
-DIST firefox-78.3.1esr-en-CA.xpi 531425 BLAKE2B 4cbd2c7c9e2bf576663a4808983282297a6d1ffe6b1ce3969adfce515aa7e61267abe649c9943f7b345acffd1c8ac2e66eac3d3b0958d7e391e501f481611743 SHA512 1823dfd932cc9a89588b63561b577b4b36f3f7757fbdf961f2178ec47b4e5088873ab853087414ba0fca592d817c4d1a6c715ece9f22f60fa2330f6710cd1beb
-DIST firefox-78.3.1esr-en-GB.xpi 531200 BLAKE2B 37c2434341d0c0b2448ce5524b79bb999329115d409695c7c93434ba8a3310936eea8eab69ab583061c6090136d0dac8392583e0c8138d7a3ee79c15a2a5ab0f SHA512 2a4aba3bd33f67182755d4dc941f53d6b310c8206d84731ad140e5a04810b17aedb01c5678a4924468cffa9c99da9c68ee8157ab5ec45a80c03ce500591a182c
-DIST firefox-78.3.1esr-eo.xpi 558634 BLAKE2B 80bde407e78f3002d1b3bfda8fc3e0df37a7ca758a567c0bffb02bfe220efdec9dc50e62ecdec37f50f1dac30475cd0b672db34d551a3a140410f0eab677351b SHA512 4499d827718c5250e3c66895c754c04580527853594ab9710e52f1a9afc394736ff530806333b602808b47b0c47ce447c4b47f6d697ef022068fbfce7a437550
-DIST firefox-78.3.1esr-es-AR.xpi 568411 BLAKE2B 28742caece7b6b0167c4f4673d72276e75b7a91a68f30125ff4cfe7ad0cd02159df584551dbd0213695e9c93b343a7c5cfa2f331598012eeeb5bb1d320a36c99 SHA512 1f8b8d126a398a1488428ba0c0cd8533bd4e7c81b6fecdb8b947e6e2ba067cdb9133acf2f67d5f68ddb87f02771bfcc8c46dbab21f824abffce8eb60f16db366
-DIST firefox-78.3.1esr-es-CL.xpi 567591 BLAKE2B 1dce9d61ed71fbe01e0dfe1716a3f2d653841cd27067e44b2ffb14a63d1fe153ab2495379c420bd8725c35b7bd9cdd9363b37c361c550e65498c1ffd4804ed9c SHA512 ef69d019f140c7ff567ac0b4a8649afecfcee8f9e2d144ed58d6af6a78992c933579b6bcf66ab148738d4e3c876a44c7d2432c439e7da0675c516033f20c772f
-DIST firefox-78.3.1esr-es-ES.xpi 551505 BLAKE2B 11831a2a56a039161b88e0d4fffb6d0aaa506a60b59fda40cb96497dbff8810c88b5c3a439a7f3b9d04aa0cbeda7ac88054345052e23ded0ff0e95f068ef47e1 SHA512 6a0c160ac5c6ced871ed6efd75f7f5452b1f462ff3d5eaa38b5317fd38890ef2332f035cf196c8e5cdaf4c78d57d54c04fb81dbcafe73d9cab7681b2fa820ee4
-DIST firefox-78.3.1esr-es-MX.xpi 569772 BLAKE2B df2924068698b6e40000da0dff261281705eab3f9d3c96746c34a7838bb0087b4fa520a6d5ba3f375e9b31009fdcdb90d20d3703f6054f2cc5c9e14763709fd1 SHA512 a5b7c6de58819291a68a2f200ae6530ba2474dc36cb0e4c066d9a5e4ae530e3c4baa5cfe820dc14b92db9b08c005e6adcbf8d80593df7e1bb22e77efa21d36c8
-DIST firefox-78.3.1esr-et.xpi 535636 BLAKE2B a1ad7d576eeb6de67d4ec88c123a4456b1764803dd4d2db97b0af04373cf154a78bb870cfa0f6c8fa0f64ef58b3fe29a3b086bfdcc80df6366b935b50574f9a2 SHA512 de92e4faa4fdb14ef7b11753daf5c3eab44bddba8ea56ab5dd77788ef98c5f801866a17c4a2bc32645fa439d8d8cce878465452c068d37038023470126c2e17d
-DIST firefox-78.3.1esr-eu.xpi 556807 BLAKE2B 977a0269143e4427f4709374c2b198ef82b1d0b240406505e34514c43b41afc3f0bf0c432f0df0f2fb80aea57f722f294e9655b3799b63713eb91df7a69a9781 SHA512 20af5192800070aad843e2573f1e7876587008475f4c0dd43a0c9fc683fb7131ce94cd96ef366b8256ed47cc5c202ff2b78908e3e698a4754f6fa63f3299e3a8
-DIST firefox-78.3.1esr-fa.xpi 593501 BLAKE2B 326bb0b45f4b438670e8ae63094a17bc4bb5b64c138bcffd340ba04691799f4ab47899dc75bb50cc76b66cafb8780e7d19159ccc25daf57f5c7998e777551c4f SHA512 cbf740c5e03fa441f79046dd7e25acab727b7061ee1e5bfeeb9c9de9a19ce76bbfa8edc2ffd45787cd827acbeb7c328d9ef3af500d29b20d0cc426b78853842a
-DIST firefox-78.3.1esr-ff.xpi 531558 BLAKE2B fca8838c76fec67170533d8d6e2f0e3ff0b8fa0ad295cbe4839b8bc0cefba244de5b1c151d1bb6413cc79862432c756ef53b58763659536e50f3508700bdbf3b SHA512 95c8285e195ebcf172c76c45d594baba68d992235be1d53a0cef5da663f0c704065aabf567007a2b48a52f9fe368b657a886b3dccd7546b4a280de5abb2aafb5
-DIST firefox-78.3.1esr-fi.xpi 554033 BLAKE2B ceb5e0da2f89d7bd6bc2e315383bd4b9185af7f2c65ff9394771a5b8057e4aa3b3ed3bda84df8f6ae5067fcc3386e9b0cd2ced41837226ef1200c7ec6dd671ca SHA512 d0b0b3ca7aa088991fc1a636291d559f61a0bdba086e0faeebb4f81f58316995087ce2b1062607865da36b0c10e5211a427d35c7e12e8756d2c083b1bcecfd2c
-DIST firefox-78.3.1esr-fr.xpi 580682 BLAKE2B 0e777ff21fe18bb2992cdbafd6308c5a5ea772321749314fbbaf43a27ba4d176bb700fb352f8d1cc9737b47e0be6a6a1e550f5e6fb2162ab507c2821667e540a SHA512 5c9fcabde1dd48c16a05532feff57c69dbb0f4164e786d9cc38e7af9d876cc52a65ed5f5b77ad19c73dada69defa6d5b21a41a0d698c82dac3701c67194ea4b3
-DIST firefox-78.3.1esr-fy-NL.xpi 565455 BLAKE2B cb886d2bf8619edf806b567fa55c14edf0e7ee7de79798680bd6645523557c2b06686fbdf908b94450aa9a8e7ed1794f785338c648cbb62716d97fb21b9a4cb1 SHA512 141858dc10f740bd3e5664308cff1b7dc965281230b463081bf9beef3ea58b2e6cc933c5d89c0765a763d9502a9d5fba4d41299d253e23cf447cd4f9dd7c3ebf
-DIST firefox-78.3.1esr-ga-IE.xpi 514574 BLAKE2B eac1a27e631bb25a20216647115f553e83f5703f7d1b263913490d1a54c533430b39431f19ae11a549e0f878f6b96b119a3bed6df09e1c85db380a71bd12f327 SHA512 c35e2f5c9bb778acfdfeb9c3e6f77116156a4ffbbfc020bea4eb0a766d1546bc85d7e22f2011b716d046d03a28410c9375b8f6d56f84e711cf2a0ebce4ccb1cc
-DIST firefox-78.3.1esr-gd.xpi 544414 BLAKE2B ef0e278df95175e9b68caeaa6c51c7a15556de90a9c8f18c6ba25e123081a45996d3276eb46ea3426ffe07012022c065ebcf8eea6e4d5b3f5d50a14d7b12b0fb SHA512 c292b18f83e9dff4de257acb8bc639147f224000990b9c04a64a7e177e5a0ee1ffd53986ec8ad8ed1636de68c8710d891b0f4a445d433b57f574c09d701df8de
-DIST firefox-78.3.1esr-gl.xpi 508282 BLAKE2B 1f4ae4ff8e30a65f2e1eefde5972cc7df2f21d08591e4f3eba4f29ed97f587180b3064119b82d6a54d2ced4dd730fba12dfe35f1cc7629aa5db8acdaad6b441c SHA512 654c764db0f598b74c1b571c42dfd6bc59f74503431c56a85054e613cb8c4937020b1c6cdbb326b2af0b42ff474a0fbe0ef6bb5968ca950302a847821234c925
-DIST firefox-78.3.1esr-gn.xpi 582153 BLAKE2B 7977d919ece9ffdcf0dd6ec470081d387e00d167c67081885592f4656c68e3bca18c2ae44f7123d9f83bf28ecbab79020167e7f75fb454a55c7827338271ebb0 SHA512 68161546f3ab5ebf5848a74d53513fc7e71682b0338886b2138cec5c714ca499796ec21b3f735f14f372bce38c8fb7d7fafb3834b97179edbd8c8a7ce2d2762d
-DIST firefox-78.3.1esr-gu-IN.xpi 602922 BLAKE2B 2f1254226b706ec40532a58de8b5d8f0cacea6411dc197da58a2837dfb7c74333488c7f7f9d492251966763139a808fe852dc2575617faf25b3f5d753577e4c4 SHA512 2d37534b56f96bcc14d896d1ea39e3a9e42adecc5a747d2073799100a1542bd21069a69a9c936a95fc9dfc5afdd553da08bb1da6d0c502df0642646fc89d84da
-DIST firefox-78.3.1esr-he.xpi 582424 BLAKE2B 5bad10e358e3dc400172d548d4eaa79a37cae80cab03180e47f256763284143a916d87b412bbb6b49de31bf867c9b998223684dd046a06bc99d3fdd94d7c3e3b SHA512 7d54878695f4863b3d2bccb9159a89dba31d32b34c0dce51a393b31d95a58524e3aef0f0da3c24a416cf77d914f076929786dc1e4a24eeca429bc9a05ed2e9a2
-DIST firefox-78.3.1esr-hi-IN.xpi 622434 BLAKE2B f9f458b4a395cd17d1bc24737d280367436064fdd13aeee5165aeabcb9cef897711255916723c79654393762ca77995795c0f979e495be039b7b1599b68ae09d SHA512 8b25f43e06f3052d0b3683fec7971d0a7d1ada236f27d992fb862b9862982809c846139eaa2f1fd16ba42bb77010c48176eb62503950adc370fac0de4829c1b5
-DIST firefox-78.3.1esr-hr.xpi 560793 BLAKE2B 5a3034f92302993b003346a3bfd66301bc671c2497fed6365759f7336d8b057f38607008ba8266427a5d2388a2fc21e1129e68c80f821238a58b02d2dca98e3c SHA512 eaf482dd312c55923a7cd87f302753b56b5577db7bd0f183e018033086c9e6f4c2409780c9162878104a33a79ca40fea609d7e26fa0d1e154169c1886c610244
-DIST firefox-78.3.1esr-hsb.xpi 585292 BLAKE2B 7dcc32b1ca7b44e90612dab19c52b06edf5d624eb7c30afc03991f3b263d9ae091516410caabae92999a0d0014708cd31d2358d1cdcc881c17e130953d962747 SHA512 94fcfcd6b7ad7a309360802328dd145bdd9ed1d0b66b307c5ed1448933d2a6f557bee863e6a5b85568ca326eff9ab24f4dab6025a512fada925de12add29aa00
-DIST firefox-78.3.1esr-hu.xpi 588743 BLAKE2B 4aaa01c128cdc712380ed230651bbb3c8db2c8cffd0d3eb20bf8c92ca393368951a5acc87e43098e0cf7f907bf443470453ddb00f5ab91a21846d3d6b894f4f6 SHA512 02452cefdcab053795d11e9f7d1caf32c649e47f06fdfb605f54fcf72eb82f8e376290b0299eae2bc3cd18434d3821acfe2526800fdc0f0569db9837798d5c45
-DIST firefox-78.3.1esr-hy-AM.xpi 649339 BLAKE2B b2d32080405d8f8c6062519baab4649b2e57265c6e84867775e0a7392fa28958b28593d3c53e3d80e7d5db130a53df4b5a457953a441a254a3f90d390102672c SHA512 58e4a8507844601860c824199b8cace67d6df49ef30f001ec87fb291dcfb31ac415da1f0f3ab97905f8136f618c6aa5f4e994d8b1ca865c0b518add4aedece76
-DIST firefox-78.3.1esr-ia.xpi 554121 BLAKE2B 133381b67403725ff3bf0497e9b8e19cd3cb384bef03049b1968f95f0fc29e8ed5b4a11898fa2f12ef588b69413abd8a18bcaef5f32d68d6cb63001e645fa51a SHA512 ebb7a25334387c7ddcb87c9e50e7059125eac75789d0ad9b40de159a27427e5dfa50a2b9d1860e2c12625c729f4a0a203586fe65278f3f3a33c057dc36ebfc48
-DIST firefox-78.3.1esr-id.xpi 551957 BLAKE2B 4c7a3c5025baa8f08619edb10469a59d8e60be27bd6e1c855d2cd3a3b7f38655b5d9e7fee706dbedc62c7ada74611955fc139d7f0f96014daf95a8c01746a0c9 SHA512 bac93769485e1fbdc5deac0b7b3a3504dd8261e5455729c1f2245e0acfda35e369a02dc0e184b8c0c07856b19a9c97f666ff30a0d7bfccb4875227f24f32d673
-DIST firefox-78.3.1esr-is.xpi 527503 BLAKE2B 8ce2d802f59648b3b7751499d232bfba08316c7a4a333bfdc6e5b4606b648943b2a3dc91c618d5ff8fc587e24d154ccfd6b914844e3545a159ce8d3e8980610c SHA512 6b8810bf410de9965e4805b78de66a8bc05d5fd658b33644e28fd1b692f3e2b7eed1ae4c8823333237ddc951e1b52552cd06761b77287b58abc0a7469735371a
-DIST firefox-78.3.1esr-it.xpi 455018 BLAKE2B ef670dd1f640c763e96acd183c11346d269734887d99775b90c0ad30851a880bc1685515329b90ba2479560adc27d756a62076430c3d97e755b3324118d87804 SHA512 184461734ca2e13edc51b3c65f7920ec7ca37fd8823f8887a785ca0df08dc1da10e079153d506e60601d44434f9f1b9acb52bdfbe648bf48691442c18ba0b921
-DIST firefox-78.3.1esr-ja.xpi 615906 BLAKE2B 4bcced7e22517bfddbf368efb6e378df1aa2e9d5f82910cbb52bc41b23e9c76ff155839ecd7c520e2753bb46cdee811e8b2fe56f649608466c0b3414d24554da SHA512 a1f08cd71a0d0cd61f22efea92482d559f5f7eb015c7d01a6138a1631422728e640a0048098ff56922fa47abd8e723f480c5517f1b537a1a5a3c7ed45a4ea0a2
-DIST firefox-78.3.1esr-ka.xpi 612306 BLAKE2B a562bece3c6a6051531db0c74cfaba04d6b8c12773d7d167d1a61eb4d5f47e483a083347a868ba18266609ed2972ca5deb6714827e4b388c96fcca1158c571d9 SHA512 a7ef96a273ef60485853c6d47f4937cdd4ff3ad7a433c57481a9021b8528253b0bc7c7050fb5eef975f56191bc171e010a0f420e9a71823c9b2f697a4d2aac44
-DIST firefox-78.3.1esr-kab.xpi 574012 BLAKE2B f1054fc87a04d061fcb7e20320621ea53b1e2309b992fbaf30e0c4b95f78f705896514c0a24bc21535b46c45a5bf31cdef36a72a8b18e20b1047293da34e949f SHA512 1350663d993e1990a88c2cfa98b79edc2a5b082088c56b9a8666c160f34ea02b9f63c532f8c20c55612bc842487595ee3db8265b3a03905e2ea61bc59583e53c
-DIST firefox-78.3.1esr-kk.xpi 642148 BLAKE2B 424254adaf058038dd72ac9c61994ba28ec9f64f8aba668fd6ecc7da42d71f7ad31a7e02b3497c44d99a3d929fc5e8b860b845b94e06c4b1762d36c8a038e474 SHA512 b180bfc970d50df6f945bb2d6f760e0bfe35ba9880cdf3c23adeb100186f8463207ec1f28ff39f15d3c4f34a9dfcd7b591b439de8985c47dd0c73070cf1b4d3c
-DIST firefox-78.3.1esr-km.xpi 567224 BLAKE2B 1a5351eadbd7869dc79e0ada026b2361b506531e119409eea00f3629445c1061ace5b9ec697b0b7e2523a45e7cfa79f03277df5c956df371988f907935212482 SHA512 01973a2e6cb22da2741112cfbd5853064a9f648b3e6f33c2dce512a3e53c27d89a17d0cb58e19662f7092883b8d04978a1b1307b6b9f8d81fcc901392b836d7f
-DIST firefox-78.3.1esr-kn.xpi 558808 BLAKE2B 4f35cbd3826d73055f719b9eaca4173e4b1589be366f1f7a3c2df1b0bac32e1280aadfe3502da174bcc11f00d96049660cda20dc28863b45a9d469fc6e674dcc SHA512 14fbd3418fb4e2e071f169a3eec254854fead73ca2d18996b311cef2742f95c14deae710beaf5364689db51bcff941f4ec13883bfa42eed140ab5469670c3e41
-DIST firefox-78.3.1esr-ko.xpi 602764 BLAKE2B 60721eb4bcb4e1a6101393cb51831eef9585c7699e804f93610617cdfa69770bd963b1419cf04aa4a4f12d640fd37d857ef993bf8d3144bf17d03f2e036b3b75 SHA512 ea576a87ff5bb5657efdd8ad2c235b5bcb056c8f4f760349d707e15855cf5476428c65e713a750c28304b13b59443ec69230a27e6863a6e09260086d52d2dddf
-DIST firefox-78.3.1esr-lij.xpi 526117 BLAKE2B 57583f4f7bb23d29d07847aaeb87e36c36ab53a860030bdeef1bbc577073334b2037f48aab6555f405df5a6be515135ba90435f926afd0f8a96a40cf495f5322 SHA512 34f936486c5b92dee9e2b736ec2b6edae3d328e539f6c46a3159a4b5393f0b2e2b857b109433f987535d16f6e82100b5f0e6ec080055dca9cb8dcd252db8ec13
-DIST firefox-78.3.1esr-lt.xpi 579634 BLAKE2B e03438ca9b75c5b2cb71a04e873f614013296a47fe87ce7b041d34b8a4be3efa6b1f852fc7abec5c1cabedf86c0c4dad4b10a7dbcbbea29668f21e3bf617d86d SHA512 0855443aab798bfa0afc611efa92592ccb319fb5cdb02bae67e7e4f8040982dfe899909c52e5cb8507d83fb45d403792c8d948ef02778f545b53bd4a9dfb07c7
-DIST firefox-78.3.1esr-lv.xpi 516881 BLAKE2B 53e12d8afe4249ff8dffba48640184e460af9f0232795dc64a3348919a296b92c95d86db59bdb8d7a1b2ca0029293a1b53357a328b96df3a626a74ffd6605321 SHA512 8cc8290179deea44e71de4b0ddd225a167802ae048d2eb1be6b603cc28725b89861b83bb98a902104597ba1f2d2eff8f5f700d5acdb28760d658519ba5c832a7
-DIST firefox-78.3.1esr-mk.xpi 482940 BLAKE2B 5d2f0415485eafe67d66fb6778cefc5193ee7519d735a2fcc23ff6dfb3278844f1998e724b742a98686667adb6e981753ec60f82f67e0b35608b199c8f2d8291 SHA512 d86b435e97b6742704856b93f4109e44c17c7b30460e809d02b443f3020c59c7b22c6c06283618de79757ee786a86794d27180be7ff453efc6b85fe9b1733dcf
-DIST firefox-78.3.1esr-mr.xpi 599903 BLAKE2B f3a1585d83e46e1dca46f157dd7d642bf91f1770a3597904991a28517c9644105f2a7eab6f3f94d1b526480f23ec1602abf243dbff1aec6580285bd6a7665e67 SHA512 004d5cfbceab0819d13e20c0e134155ace3c5e015343c0b5b247b9b4a5e28bc7a740b112209a76cc1f55fa70ce7457e26665d8eb59e5c83ee182ae6a2d53779d
-DIST firefox-78.3.1esr-ms.xpi 500966 BLAKE2B 5412c54a8ddafc4095eb42cd2b4893e4c652bc6660caea7d45a12f6253c6f224f8fedc807ee6023953e90d09012fc7d4c5f525b306e9f2a5a3e530f854e35f00 SHA512 fc3e1efc1c45aa873dbbaf226346d723ce03dcb4a13d7c76030df7fe8627fd32f72b75ac8744807f6e741d41985f6ad9def17aa8fc1b2cef1ef15a224e7a3a79
-DIST firefox-78.3.1esr-my.xpi 557196 BLAKE2B 5b7f11747f695b75a179f0e21e1dcdd77fef5946a977e80d5be2887c5e20bcf1e20a2b1e96779cf43a098f40ed294f8ecdebf31d9f3169fa7865103b6ff7b292 SHA512 0605426a5d88b4c514bc5c32df281e9b55abd041479ed1474d2ad31b97dffde6546e298e1ca79edf9597db41935c900a1b504a31201a88150b47d67dd0bcf091
-DIST firefox-78.3.1esr-nb-NO.xpi 549579 BLAKE2B f397f09d7881c9a3a65e914bca245e6385338637ba74fd52a1cad674608d8591422f75d9408a917b64d1245044818acd99789372f4c9f5e18cfea248d61837e3 SHA512 ecf785090eab8502cf4ed6efd24316095c9c5a682d67663a579b2d1ec3b89ab93dd852032800e14a7ba7685f21f997dd64af5b7d2ed68c7c171969176575dc36
-DIST firefox-78.3.1esr-ne-NP.xpi 529257 BLAKE2B dfb7325cdc576d43fb68c24a39d03b9d2249441b2bd062a42b5b3554d029dcea59c6b514bc4b5b088bb092345f1167394c53ba236b9528eee2443cd308f7edc5 SHA512 96d55808d42e34d56fdd2d536ed2e6697efb01b1a70a32f37dedd95fac5ebb1bef154d85f1ee6d67cdeda023af91a3f1e47cbbed76ce3d1cc576beae507b2a67
-DIST firefox-78.3.1esr-nl.xpi 558804 BLAKE2B 808dc7fa5ae8128af600e9b03dbb458bc6e424424ace3eb1bcc19b32f3871eb7e7a94af5c15b66561c08006e4a9aba0a75cc0a5c476338fbb6f10352dd605715 SHA512 c80e57f111f14440d3d3bafbf2e12c33ef14e0a0d4c2f5bd453f77b2c46fbd375933d578cfa5d4083a55a54c504d82ff36b878f1fcddf7e5f8e61abccddf53d5
-DIST firefox-78.3.1esr-nn-NO.xpi 552157 BLAKE2B 0ff4170d288fa269e5bb35355aa577ad8eb3ea0b065b2375e8de1fa532aaeb49e30a605db09ee9e23ea90f391e87c8e05aba5819e660eff64bd1696b97819f5a SHA512 49ec441dfb8d977c4dca759495b22779fc6922f040564b16136fa9c0bd7663077a128e0c751ebffa0c20e57943f793962fa444a7924e5672afbb628cbed9cfac
-DIST firefox-78.3.1esr-oc.xpi 576278 BLAKE2B 7c390edf8df5c9b055bbb65e7ba5faf790757f1c8a2e4c38515cc9fc2e256a0a074a7b23d16e7e0daa3f830ed49fa5d143f4976bf463460c3ba098d19b30abd6 SHA512 dff559649797e891df0c867472c25cef9a5942542bf64bd995b2aa7a62190ebcb23757707b6f92e3f63fbf76545ee5d1e16ca4306e025ca807a01adfb3cd970c
-DIST firefox-78.3.1esr-pa-IN.xpi 606185 BLAKE2B 0eb2f6d08110b1aa5828a4746d966bb27bd2e9f450604ac91319aea44ee3d5b4ad161d8f2876fc61a526b9848b4df5c8a2fb7baddf1f820d7869db42dad5e1e7 SHA512 9ac1f801c36595e45658fc3307255b27a4b9741ac6e8cfc145ac4df1c6d37c43590dc52c72fcce4ff4cd00a2676323c39a2cc3a94b18cc0a2e2764e2231920e1
-DIST firefox-78.3.1esr-pl.xpi 574913 BLAKE2B d36c822b014c0473469213ed6ba8bca70cec7fb541239def32882090657f26c48495e684b9fe4877e0ba60d386cc1895d89ba894d563a9ed7df4556da24207a7 SHA512 2c10e42cb5ac8819ec49b4eeb5b4cc7e33faa0dabdcb353bd3662c84ff90eb640705010c3d61be98f3195e6f7935c73b4ead1eb76a3e39f2d7cb98973a257c14
-DIST firefox-78.3.1esr-pt-BR.xpi 558029 BLAKE2B b90153355dd748fcc6cf507a6f51ee58aafea5fa97198c5d3586f237a99d6ab15c173fd17f988aa16d0d446b744142b6379731df043256ddcfaa6121006c7aaa SHA512 9f5faacf156100330a3ada0be381a66db93a424428d70ea0ab1b3b9a667bb59c6554c319cc98e81d07f670cbf4d7b7667f562b6b27a87962e7b3f26dfc95a698
-DIST firefox-78.3.1esr-pt-PT.xpi 565639 BLAKE2B d02147aef9ae4af3addb471c6d83077fd47cbe527fa48966639881c8570546a878523ca35762cfdf5889e279706e701db3592c1574ff10cfd9b626559ab5713d SHA512 07caa1d8ab04aed7dcfebd47a7fcc7109de5ced93cf4757f70c299b63fcb49ba8a1a586cc579274c943ab35793e33fcc2d7a8bcbaf63a3b31122b277c360cff2
-DIST firefox-78.3.1esr-rm.xpi 557927 BLAKE2B e095b8bb254fe417b55823829752ccaab035ae0150bceaf7c5d9aaf42dbf166a01cc3e86f9c58f337a9d7cf9418ba43a8fe0e2016add52a37ac2bffcc678802f SHA512 40e0853e58ac4cd7ea7d0eaf42025efe7dd48d666af66f147e22f7c31c0aa9c30a39c2e6292d64d6e2410ffbf2fb30f0561d4c3211c835de7aad102df626244e
-DIST firefox-78.3.1esr-ro.xpi 569384 BLAKE2B 791d64c2f13f146b0ae524d553da7406f13fe7793a46d6a1211150d341126c9e51d189528e2f9c93d091bd7ff12c43d3b4307f0f1700434835501fa39b360174 SHA512 cf96277a218b05c2daf23ed1062e6c9f5d6cab7cb452df7757c1c1fe8d01127e2fa648de9341e9cb39d032d7534d208d513e0534688b6615fb70eaf0d3c649e3
-DIST firefox-78.3.1esr-ru.xpi 650707 BLAKE2B b4b6d947093f90eec92de94761abb108adeadff125a7d09aa750aaf3ba73997dbb311aa5b36d814dc2f567085ff8d6b0e1991e7f081033f163085ce38d1d2c74 SHA512 f8e9ffbabb3a38dd96404b5dc76945a95a67eda95018e2f5ef948c306ce122689aaf5997789147538af3537016d6301f77b58036c9123c6f47be5563b677f335
-DIST firefox-78.3.1esr-si.xpi 534204 BLAKE2B 096aa81d40f8624e711789b3297b93fc8879c67e869d526777da427028e7dfa698f9ce6f09da257140865432752f5ace71f5a1e946608f37e5145adfdeb370c4 SHA512 749863376204e9c30bfb4de9e0a698bdf2a1895dd4eea5ad880e43034271a1ea17ecdef18d443cb744c03c5a2c7aa579f637abeb5e36f4c5780898204ac2f259
-DIST firefox-78.3.1esr-sk.xpi 578533 BLAKE2B 6bb7c96d2431120e1a76021eb633565bc1511954689bd29ec2e5440bc8fc9735bcd9139b3ae01ab08dd8d0877ab1e7b61b5efc23c3867acf38996a656e688c85 SHA512 6712d7dfb19b2cb5b4c17de3e139d7244aeb2ec70f2e94ac06e14360a20d5d9146c3bf68e39c742809f31d4c633d07e8bf8d15036a832087c119447cb94baa2b
-DIST firefox-78.3.1esr-sl.xpi 563031 BLAKE2B a5b5e5509fdcbee419964ece345b0534f575a0ea30532318406c086de972b3db94d4a9d462be6c57575c92198c86c022b1ebaedb0721e439f3a046d74d62d27f SHA512 34f5e3d030779acb6b30bf054dbf3ebf7806dc3c0333f7185b309002f5b2849abf643ce2154b854129d9b694d4213b2cde371fc7bd4b9d93c92cff032e5921ff
-DIST firefox-78.3.1esr-son.xpi 454258 BLAKE2B ca8f06cafbba1e0bad6709b94117e25defd1808323d737d5baa25bcbfbb82cfeafe1d67c2b49f72f493c5315c3adbae14a1fa0f7a6b26d237b61ea0ea05fe30d SHA512 9e490c2e1260a7e2efd78c758d212213005b9a77fcd283ed3dc74d5eae3b8f862ecb323f002a99a74e5c8dcf7c873f47073a295230ca72341ad8975d2ff0dcb9
-DIST firefox-78.3.1esr-sq.xpi 580010 BLAKE2B c73261d80008b120ea76e63a7598d54bcd34cd2c9040ae5931421fab3120292879bd49916c701cfe0a38e7f750e06017749364f9d975ca685073ae19b4ec8fdb SHA512 3f30dec0675f848c3cf5ed3e4bbd075f1c82c5b428afeebb50ff570b4180f118e07b70de6424151dba0cf6f8fdb22d71a031ca90ed840cc9131705aecd6efb6c
-DIST firefox-78.3.1esr-sr.xpi 604546 BLAKE2B 90e17bb57df88acf08b893e460b84cf466289aeafbe63acee6bf0715d6171c65573de3cf89d99f6cff557e82c9b1caefed6b53c9bbb91bcb1a29052ce5b4e5a6 SHA512 8a1b35c6c4b9917731fd762df81520dc691418ff49fee805e145481ca39e4f0ba14c816f497d9eb515e6c0937bca64e017eb99b5f6b5acb9fe74b44d91c7cfcc
-DIST firefox-78.3.1esr-sv-SE.xpi 561865 BLAKE2B 0c81acfdd36748a0bc572fb3112b8e2a95b3087f78f1828e0d82567222085cc1a3b1cc01de1c4676c90f70ba66492e0990e16b386f82905fb94dd7afc386294d SHA512 95c037cd34ae971236bc8340784141fcc54b0861417f0ffd87317895ca8b1a9f77d7357041b9214cda7dc5a90a0b1463dc524c312aca9e8bcd3f2f0b76ae3061
-DIST firefox-78.3.1esr-ta.xpi 572357 BLAKE2B 4ae6edf5bf5d729fc77f1078a8b75fb6b38babe401ae1151ae5a1363c4c0a636529d76bd3dc5e152a4093e1d3ab5062174114357c58921f4d13bd14b51864e2d SHA512 6c87e5adca91f6ac4bb1eb1305f1ebdc09b96150797e312e8ca0fbfd8b8b54f8808e324c9f4f9d37b6e96cef16f64755cd809daf570f2f0658b02535d81c3367
-DIST firefox-78.3.1esr-te.xpi 591648 BLAKE2B 04dc7bd83605bae2a8e5abf622ab51fb85d5f46174d699b2d58f5cfa38dce8fafcc75ef40da37282729100b6cbd73aa3b1008ba154153f1f42d728d2d88d05fc SHA512 0b763aff6d6ab9728b39bb08729022bbea382476e04fd602b96ffafb108fd9f809b6c480a691bdc1aabcc7fea3fe64360a2a203bbdb4cb81bca79e45dfd8445c
-DIST firefox-78.3.1esr-th.xpi 628311 BLAKE2B b29a0c9c679bbece6df426b45f33a52a15456bd00189f84a082ecbcb0161879740cfcf25dfc325354022d0b0be0fa92274a2baf8b17c86f6e2e8b45d4569af9e SHA512 841a3ed65c00ad7f0adc5929f48369b4e180d9d688d9daf7603a66f4f1fca7d6241ef3366419d5d1484ad3537d7d6211094761f4ddb50f279906b892870cb2fe
-DIST firefox-78.3.1esr-tl.xpi 552301 BLAKE2B e3e5b61b66da57402c9e84f462e2c872dddd53b5557c2027262468eb52b2de43241eb7995b39ec49eb73be0a5d936446adb86609e184a5f7d10e1893b7e898b1 SHA512 7f2b8e995090e1f47845f33a56fa5e2c90a47c15edc075058c9311817ed59c1ab4b8630ef5d4e4f704a7a3028e1fa68d7460649ee664dd67024f8c162fd46296
-DIST firefox-78.3.1esr-tr.xpi 576357 BLAKE2B 819178995d8583ef39b0f8e56018e51e90fcd1182f5b09afecfa03281dcdc47d594d610eaebe7a12148ed002a2331c95d8f2e657c803d0ccff3ed34e4b614b80 SHA512 1abed7b61f2ac36f36a7e5355fa2191906b4d18c9869261c0573f476246ec04cbcc6e17c7618b8e1db58755c4623bb60c150e2d3af0f5368ed8dd661668c203c
-DIST firefox-78.3.1esr-trs.xpi 540188 BLAKE2B 74777716e0322e7070e05105d9e34db5752cf02caf82c978272734d9ce8bec708ea6c76bef7d8fd77f7eccbc006ff233e91a7d240aaafb02ffeb7c3b8596acfc SHA512 d6a2ee94ceeb996396f26b3186b6770548730970cdd4cc4d2bd01dd5b02ae9b85ab172f97b02d1007fb29f98c04b9a0eee47be6061211a42c96bc3f84ca8c1e1
-DIST firefox-78.3.1esr-uk.xpi 646858 BLAKE2B d211973652c8c88e48a3a09240bdaa878fccfaad0cad15d557da4a1ce5b763aad15bd9fe486ae85c4446f36f74520f9a1a9f5e89bd7b0575cdfe50ccc923dee1 SHA512 bcc86872e09c46a64b4812e99ffe48ec0c2d0632c6083b54249f2cc924e236a07e6892f5837bb243dbf1767200f4aad00ec93b65d510e20c33bb74363b5651b2
-DIST firefox-78.3.1esr-ur.xpi 608144 BLAKE2B 3e49e349758c1563036816cd4ccedb4ef35a3bf55248b9266732937d5a291c36e3ed6d313cdf44d2ca59c861989bed00b5a67760d8375c25f68e37a5012fd3de SHA512 a962642f676341b4413378dde0ad987dd51c1312e3f2f68dd214af5ab7c337435a7656fd66a4b0cfc1dbb1f2a6412379adbd6dbfb81bf9a56403c38598793b16
-DIST firefox-78.3.1esr-uz.xpi 521136 BLAKE2B d213a08e840b4f8250e113492fc22428808726dfc59d1143907087acc7b0cfa0ae335777e04d6370d151e526d52b091cb953ac784fb96497f9ae96acdb557e42 SHA512 c91be474be9b529d29ff373ae7384e6a1fef491c608f5e102bc8637967938d0724d991b314c9fddb9d66a7092d8b1e12af0d78ab4f4516915bb85f1db05e738c
-DIST firefox-78.3.1esr-vi.xpi 596829 BLAKE2B 7ab70a1d81743bf66caa689b91a722f9ea51010d5d30cb83b37f98bbc2db4973c4fbc1fac33f074af19b7a0c394bb83e1536ed944055dc3900d2d448092e32f7 SHA512 da8bec9d562d5898c15e28d847d65fdf9498d374f67478b6e0123b2d20426c0a4327d7bd7156084297561629e88040fda52061b31ae1f348b61f766379e66c5d
-DIST firefox-78.3.1esr-xh.xpi 458901 BLAKE2B 1dccd49ce244797fce31c0f458b15ba1364923f9e181ad9f98826d3d145652bedc28184e60e749354b87d88ff49cfba4fe96fcd712f6fec692842323b6942ccc SHA512 cc729323a144fbafc71d5858738829fb8336dc0d721a52552a85fa1f18a46df29d9dd9c55cab4f585e42af547d240faf9df0f3cf30f89d7b8ff642fbded81cc9
-DIST firefox-78.3.1esr-zh-CN.xpi 600192 BLAKE2B 548e795a21a05d7170b6221e9525ff378e87a6dc54c4e7393ae0328ddfb4402d7eead51be8a0029248230f084fb6e84651a0860820a96b0aa1393363d1ec94a4 SHA512 4f968ee70e6ddcff684adbc69e4baf24d74a5ae51b411b5c1ebcce7df43c49f9116decba1b5965d9089daeb6d879738d6066b1cfc992a1b95b6ae2177400038a
-DIST firefox-78.3.1esr-zh-TW.xpi 599272 BLAKE2B ee9a8c002688464e55fdfdaa3c49622638eeb206a21b3462dacb6255cc282026af12adc6799ef5f0565d411c7e3b0a24b1f45fc17fe8f4f1f52a5022ca3ad9fd SHA512 486a2f36a159ed429e0544c349dd07601b785db4a7882db592d89d9a64dffa1bc85b90770e8e800f1f2f4a6c91df497b09832dd04d7d44050f38263c49bf2696
-DIST firefox-78.3.1esr.source.tar.xz 339088596 BLAKE2B 27e594a23b111b937ed277ddafa99c07fa9ee003cbd6b7c6cbdc4428e54769ec9ec1961653c1ec127d7adf159ff8b3be08ebbdefb0d11f1ac21717ffde9461b3 SHA512 162860df8e4ef7322e91924bd4aae731a49dbd9829f02b306e4e5acc69c611f4a1e5727c3857b2f98e951745a3b1d8f550966105badc095205644d1ad7f5a340
 DIST firefox-78.4.0esr-ach.xpi 500658 BLAKE2B b9cfd9832a0156a2ab150eb3be427696a6e9ab910a8261b9952a4f55df7782f1fad91c01d6e71836cfd6dbf0b623b1064a03ab15565abd19d479927b0abefb25 SHA512 8ccc4d5b16af81e5d69562767c58eef1f2612d8748e658a30ada9d9b0a9229e330a53ebaae98e5daf22da446a54e50e997bcb2d365e31bb2a17f944bee708979
 DIST firefox-78.4.0esr-af.xpi 444081 BLAKE2B 6480813d227c4defc6c9548a76a58d5ef5ac6353a95e6226bff7112e21b0ced01f6244bc1f3386186e13e0145c58b500c99ddf31297fdfc25a0fc93f92c639e0 SHA512 4cd0f1256c9952c5af4737081d7957d20dd0c82d4af494fef23bf33fe3ee8aad1240c11e4cfc0448546730e04ac31e74b9293b3caf19596c64d207b0a0aa26a7
 DIST firefox-78.4.0esr-an.xpi 511462 BLAKE2B bd0d682e7addaaba52cbe58258181550ceb298fc8e0d19f2107d71c4c8ab132cff1886d848f357afb1b24178bb8a3a4bdef7d3cae0d0b9ab7f7454c613ebdb7d SHA512 d5df1ecd0f341491657ae50ef8bfe0ae0eb307fde5068ae9a832d4087b5566d27600811e364428ce23113ee0a17cf58082e0567f4a7525e8cfa4500c8fead1fc
@@ -191,200 +95,6 @@ DIST firefox-78.4.0esr-zh-CN.xpi 600179 BLAKE2B a03decf631d6c4809908844626749215
 DIST firefox-78.4.0esr-zh-TW.xpi 599271 BLAKE2B 77d79eb6a564779f9225de067745c91763941953d0cc03dff9160eaf10a8711afba64155c373942193cd11db6c395c578ddafe3762506a30f4046ccfc8c591c4 SHA512 82a916f480bf7d69354c56e8d967f1e95b0b37b32d0d2c642567e6d03663f3015f0e2c70a602e502b11996ca5cdd72859aaf7b95ffb13d64890315894cbca6ac
 DIST firefox-78.4.0esr.source.tar.xz 335094656 BLAKE2B 6c3e85353b52465e00393bed14dc067cf1663ce1d7d737de1d51ec6c747c465f998600ed5a03b1a5b116a65054f1addb31a23e8e0d8364a2763e3dab693d016b SHA512 d9de975e9acf7dab6186db877fe2df87a0e9e3c016e884473ecb188025a31032b1fe7f202598285970ed7a48268c7f3e265657708725da4eb7846db85a036246
 DIST firefox-78esr-patches-04.tar.xz 171504 BLAKE2B d51e55c255d1f5cfa0c7c030b1ea50cb54951bed3bc21b21f5cb3b1e4b8b2ad406b3d12db2baabd4a90e3c88a38f187f277e7a4afe441ea6cf82c48f84bb0ac5 SHA512 6f00ec898fafb34d7c7e0ff2a6fb5c1cbf1205458845e14eb39c131125c5bf6b2418fea1050bb72449ec40e18fd775fc844437ce0290281d66961de40a53235a
-DIST firefox-81-patches-01.tar.xz 27212 BLAKE2B ef544bf38ae2dcb3a385d68f6ecea016a4d0677af895fad8be2ab07a2dab313d953b764fd0390844444f743ae1a2f67fa6f3b67795b72823d9eb47f4ae10cc33 SHA512 88d0ca8f29574ac45afce3be4a59a9816b3761eb5e1741770927c26c4d4afae669ba8632bbef78479cb7ec892e581ef06e2a5da7c2e106a676dce886d2a14ebc
-DIST firefox-81-patches-02.tar.xz 167760 BLAKE2B b6b3e55057b8533614597f2284d0caf88dede2a3580dc3f4ed375449ff3d776248dc37256678d416d605f69498468a63ef662e500f11523def67ff8c7f71ad1b SHA512 2229553934163ba4d017a3da23526f4577383e6c4c434e73a17c4eeec5aa4bd612f3523e0de567369a94dc23ac273fa5f77a4cbbb2ff43af3ba4f960a48bcc47
-DIST firefox-81.0.1-ach.xpi 458702 BLAKE2B bc2bbb8174556aa91d8fe9149b5e7debedfbd8682207c62c8c1ca3ad86355bd522a2c08915094871ccb46c3c9b7a0a6dde4cc1a8dd296890176003a7eb349274 SHA512 04a2e8146fce327dfbe19a583c2d1ac45289a14dff7f29af17246d6bf8ae0c61363151cbea50da2a0ca06257c9b1ab4ef1b4d26086cea48b2121f059ca97d977
-DIST firefox-81.0.1-af.xpi 429009 BLAKE2B 529a751d6b4ff4e9e1c693cd3c409d199ba5db53f499200718f1dd17c726b4d45b9c4e9a2d4b0fa418afacfc4c2917dfec09f55e5b12db39353e0759b68a4101 SHA512 c704334d07496c5cb0fb7a9755bd53ecc9fcd447772f8d40ab1d601c5a8e7d9ef99a366f3dda287b4a0e11795b5b4b3e06e0da9cc5e09bdedab3ccb3979c32b4
-DIST firefox-81.0.1-an.xpi 506886 BLAKE2B 72b0b6d8aeabd3c0db9bdd3bd2e7015bc7245250c450a4844807c320228b3c3fd8423a0677c3b93f913e3acd2cc2d8752ab22a2fb78a5b8a62d4dc03e3e8edef SHA512 3da113ccdb5c219e1fa07b678056460687a2de57f783c5056e1572cbad0b2238fe1fbd5d36d463bebb1ec0ad2842bfd440a2995185e862ab51cb23ed5b1a8d3f
-DIST firefox-81.0.1-ar.xpi 548501 BLAKE2B 1518ba4f14f0609b5cf80b5f17545a0039256aca01fbcee0a0cfb1030539868421c118b0e4ca9171abfc3a261a831ad179f00fa115ba56624f827d5499730a4c SHA512 a6c66508dc002014ce6717b76c00cf9795f2e22930e5cb4d115aed08b64180d392fc9beb779c34732b5cdcfe1b96a0b4e82c1e3ff85c1d811a7180e595937634
-DIST firefox-81.0.1-ast.xpi 457248 BLAKE2B 8a1c0a8a5d2a6bd65c7e31f4e3551bf046f87ad5465f53331a8ce8d2f06ad1bd8bc698ac24fd0195d3e32295abe32104c3ac827df8ae929a931b47233254cbe8 SHA512 df0ebac9cbc3c5c2fa69339b0ced969fe9b799abe7ded20f796edf1498dc00c0fb0bf82cdf4018f15471cb0f50986d37ae6a287fa59d5361cc7f46b97ffd8127
-DIST firefox-81.0.1-az.xpi 492773 BLAKE2B 8021216cdc4407da8afc49e405eab70d744aeb84e312c31ae22a543889a54fa40e8d39fe588286663017db5b9fc8fa1a28cfa94427270f420baae16436733dd8 SHA512 ba1f3ee265e9995dd548e0be422a9c84a61cfaa763a99d5f34a1730f9a1eb5b5df9fd1bfcbb03e99a5377424cf8108d1734cd76af3da4ee5ffe591f3270f80cc
-DIST firefox-81.0.1-be.xpi 593034 BLAKE2B ec6524a976ea6e660420f529ee3262242f49e95a1e43273930516bbee0f393b00889a1914a15b7dd261b39ba93f95603fcc7d62834f4be4c8476ea0f27eb3b36 SHA512 34ed88ebc199494f664142d6bb7d7b25f6c708ce32b48b49932475321eee72f3d471e81d73903e4e5cbedf1d11e201cc9f83c334b1995079ade34ab475dac070
-DIST firefox-81.0.1-bg.xpi 554716 BLAKE2B f79bdccaa1aab3f2d951d20a720fcd6c3014e23851023c4d8158f471a8cd50597ae858fa423e5355a4b6d8947bfcbcaed7d2b3001ed59d2c398acaa139e7f2d9 SHA512 798122fe558a9eff34102a0cc828c0fa27094ad2d662a3399efd0d640ddad061c75fb5a2a2b8e9fe09fc97fec35d0846a41cbcf616f810d490b27b36b54a6c59
-DIST firefox-81.0.1-bn.xpi 572612 BLAKE2B afae8944a2cbd85b5610f9a536ca7e932a52fbe018162c9d2445ac831d10bd73ecda3c4400474583fa0357bbf8e2d4af95c2ed1b3a50229f140104809b3d71bd SHA512 4d10a170927dfa5d1e18d97519421f049aba3588f3c799a0eac67cdb01fe3250313bd9a3a1e99f02ad12afd150808a8117894179735b844e53c1cba08f400ec5
-DIST firefox-81.0.1-br.xpi 506642 BLAKE2B ccae77a0b63f89a5ea22a68480422ca290a6e91efbd9fddbf66a609af1e0c2fc80b719bdcd5723b66cc14a55c0dfb6d096d3c4247fcd894f5a6b286eb1f73886 SHA512 cfe6fee1dc52623956b42500a0b9715c6ae80e5cf86f42421706cddcd7e1dfcf54ae3984622c15477c39e805fc81b0125e54fecdf0f3bb22f28daf0b97b28bc9
-DIST firefox-81.0.1-bs.xpi 465225 BLAKE2B 01fef14022114da2dddfa7571584bad8505ec1889da64043a1d67ad137f25d4728d6d8e5d7cd38d8336eb49ee8d21918747b678ccf34eaaeb9c723aacc9ee83a SHA512 d0602fcb06ccc3a1ffa7209b5fa5ef3eeadbecad07ad078f4a83783c61590db7afbd60522129245b00784d10f94f272d589d5292d0ed38994a8ee30b8a4d3a40
-DIST firefox-81.0.1-ca-valencia.xpi 517388 BLAKE2B 8b999a86791d610875f6ad9289471d6eee3cf0ace1d26c3ea185a4161d06422265c4ccca149337362a00fecd63ee81d220cb14694a2b63e0dbe588578de569b5 SHA512 2661fbaf175acb30d09a284e7b7e6fddc320103daee7c58e9df669c5e9ae114a3c8302d8f93f245f345744e890a5c132e63b103f38bbb9d67bfdca4531a7c248
-DIST firefox-81.0.1-ca.xpi 513585 BLAKE2B e5d34ac74e0c0275ee87ae97af7eb3cc85fab68d44d89696a287df0b45264d57aee160ea652e19dde7caead65398f17a44ec26602595708ec4965a38c25afa77 SHA512 302c21e161097c465a099ce1fbb133f5a677823ce77dca5815086f379cbe8b1d0ce81dfa2000bff66fde9dfc61077b295a3778e187740e5dacc0a051564ae9f9
-DIST firefox-81.0.1-cak.xpi 541573 BLAKE2B 012ff816f64207594528f0558fde3351393d5b04dc96dbde0605f8ebdae628bb7e534cca663ddab101e0eec879664428fe413f86a36c8d99d7fee3c759331222 SHA512 ec34cf75ab27cb27a89cdc2496a75121c462e024660fdb7dbcc5fdb56088e94f204d9b125753bec13bc343d661298b40d7a324028c898341e8f147706cc64248
-DIST firefox-81.0.1-cs.xpi 539054 BLAKE2B 3bc5093f1d054f45165b485e3139bcf36533897c3ff7728f254d93ac10ff0f121658fc441a7d4b4c8a89348e5a41df0242e1266e9f32511fc44956ef1bde5f3b SHA512 3bc59aa13a7f2c1f78902f3fe47b0ae32ecbfc31f00c6fe4ad872e495a787869ed0832993ce15f5545cc4ac579bf3d66d90a5b752f774bd759e2470288d548da
-DIST firefox-81.0.1-cy.xpi 520847 BLAKE2B 7a6a826082bcedafceccb5133def527e109c276654bc4923243ef5601c04f10ebcce99497e1c8834b82c3c2c32de2621271b6a3ec0023f71e2313923f518d0e9 SHA512 224ab7db8d517e2ca65f28f0c4fe6f0c441196bc276427e6c47e4328245521565f188ec344c8ef40ef0bae32b948c9616ed8e6244de330d7e644f330d33c97ee
-DIST firefox-81.0.1-da.xpi 514314 BLAKE2B 928f3dca604284593bc5b18abc8f63e9cafffde66e7156a0ad3b00d9d27d48be66ca08d68f0c3e34c3386a08215d489be9a7566c7e36c360f3991e5ee1dd15b8 SHA512 a18dd8f49cf3bc6a8746f96ff9baa77128b309e53bc06be3c18ce5237aa08a09c8f2b589c3563c3d11ce77611f494b3cc8b491dbabe633b9bcb7f83b8e95ed89
-DIST firefox-81.0.1-de.xpi 533129 BLAKE2B 316284f7f65493529a6b490f70b5584c6e7f07aa4af861cd248d84c5f8c260b33f22ef2adde86fb9acac7badb0773113b5803ed683afde4653049a941e597656 SHA512 1d4d3fa8ae8133c4778fad07ef1d1a7d2942ecb6fd0a43ff457c3938767c36f182b5d84b508ae2bd189e5a6dcb0a509e4190e362c5fb73e5b54332324294faff
-DIST firefox-81.0.1-dsb.xpi 544444 BLAKE2B 0d8fe73c26f3f9520ddd4af85f9661a364be00c34837aa29076b8658cae356dc893ea0d25bb5a0318171daa6ff6d60d218c1ea2898b2be7ca0cd5714fe5f41bd SHA512 a74bce6d3109944e1ef585eeb4ea5765aff189ffad4cb8f454dfb54657ff25e3eef83bb301002298122f7aec26a213a099b1951002da9c5e11f8dbdb70ac953e
-DIST firefox-81.0.1-el.xpi 614652 BLAKE2B 51e840861b06c1cea025f03aad67ad3a457badf8e2e9d9dbb70843c2a72df926f1f96cc026f4d1d1e708c12c0849a03d77fab52357cb87975557dbc75f4509e6 SHA512 e4487d028c9540e206549adb2d336c931b4f01aa2b481366f8547638dc7aa93b2b4b4669af719b3e56a456da2df7499f96441413b6760ff1277a8d1cb36497f1
-DIST firefox-81.0.1-en-CA.xpi 491835 BLAKE2B 3dbe4a31f0175f18bafce95d01e6a4f0e3b98fa5c4acbd97d09de189c3cb1067f5d7d8b98f1c2688f4bd71d0de64376c7a7b7b7a7b8a5f2ed68c088d85fb3e3a SHA512 75f4c7cb61a1c02f5027c1e69a3565de876f120a9bba8d1e7440a6de40197cdd92df0fd8ec47b29f6b3121bc0b7fbe3f6aa64f4651a1460e319901d10f4976ce
-DIST firefox-81.0.1-en-GB.xpi 491772 BLAKE2B dcbe440e497a75f896c36388c1b12f4fdfa09692b587bcfbfd048254baa369bde989efc5b00940b50431f87e53bea008180700cbafb098d1dd143ff335f99d99 SHA512 222d3f7c3f802a023a9515a689b1983bb134552558379137934d91b68eb86c9990632e1f6e1b57051d85346bf067e8677dcf250b1796676a5dd0038b589c9cdf
-DIST firefox-81.0.1-eo.xpi 516401 BLAKE2B d10f37d42ed35001e9529823bae247886e29ccba2f31e627cf7866089135bade02a45ca19e014b3fb45a289ddf6672d9ca8205757c1a71382a16da66e43ce962 SHA512 3da9516ef83165770e197dd11147ce20217dd82e3ef56504f799c8b2e804b4db0be6f295c28d01c5998895caaeed04c31f233305c6ae98a7a1b77ef8fbbd0473
-DIST firefox-81.0.1-es-AR.xpi 525970 BLAKE2B 86559133e0e9398a15f65cbab35f6c5189eb76a4b5904aedadd9f399da3c801907c30e37380e4b08e413d646de04336dde93f0942c266b613a83e61a83fd0d1b SHA512 bbe60c6e2898f0702235c76429887e17cda1e44ffc9a212ad044c7080e7d4cd85159235b5965e782d82a35d772d698cebe06f4a8e6280df72bcd5395bb54b56b
-DIST firefox-81.0.1-es-CL.xpi 525527 BLAKE2B de52b7f04d91d3274a037a22ea31ad3876a6d79e4dc9ee96623e3f9f5d2584a9e7e3b250027275ae7286e4067284604b27b6264a0bb78795cecebf2dc3ae3c83 SHA512 75b09c5f64d7a4944eb8aa5a610ea60528e9d44f2e84bb6094e9d7a1a66d0ba7b885a0dc1077b011c18a77e36e16975be2775bc78cde69c5d44fc25a742a48c2
-DIST firefox-81.0.1-es-ES.xpi 515152 BLAKE2B 5b8fae1593b549c0e4de5b5274d1454bcdf95e8559350119043f4973e629e59ad64e6d9829202e2a59033fb0dcd509970699692ddcab90d45e514e6f7f487e0c SHA512 d23cd6c07d70826ceb432d392d23e46c2a76a070e08017ad472a9a0eb4bdeec154b69216d47c37212615f846897eee0fcc4327e3209a9cbfb26caf7eee178479
-DIST firefox-81.0.1-es-MX.xpi 529399 BLAKE2B 5b50fb38abbb1414039968e667e23c94d720ad9ed3a18a7d34012f9242b822d0a8265af91c9814271ce613b9655658e376d37cb7afa678d1be7be83b4a096a32 SHA512 8d8b2e4895ca05ebffbd3fac94ae3c9044cc9f616d99bff8395eee34ece06c6acf34d600f80ca0095eddf28bd46aa67ba82eba2fea6e77d51b297fa51fee1d5a
-DIST firefox-81.0.1-et.xpi 486326 BLAKE2B aee0e68886e077ea7f20a176286a6c0f2ff4ebe2cd42f1bf38ab6ca7c250657f1796ddd96d8d3c46ca6efd466ad3c0e5a9ee475282669a5893e7231387ee01bf SHA512 b497ac51558c0104a1363284e5bc3236c13b5c0b94be0205c22d874cae6c83f6623285dfeb94d67057264dc9a8e65109b0c2246b8fb4f1c74681c4d9dca3d50b
-DIST firefox-81.0.1-eu.xpi 505708 BLAKE2B c6bf2c29f643b13758590bdb51ebefdaedd4589cf6b5153e0bb077042f63745519f465555a6e47f533541ea9ea6959126e8bffe5bd860d95e3e0a023892c2c9a SHA512 87d0865c630f6efd4ba185f8c40f148eb621a2589b7848cb241952c7a8c51aae24a6c09ebbd5025455ea5db37f64bab6ac24910140bf2f7b00bbc7a1d9b2a6d8
-DIST firefox-81.0.1-fa.xpi 539095 BLAKE2B 5f1aef406f5083c0928fac013ae2a3577db7401405eb5dffcf475e146a50662a86d90c11383d35d16ebed29377f69b04b4d152c907008c2baeb8dfa0551be87d SHA512 c0092a7c4c3e952d91c902aab7039d5136946b972a7a208a6dacbab70f75ebca793f30bc51be6bf918d04f3cac2b7130cbb09dd398902db488a116c97e490d6f
-DIST firefox-81.0.1-ff.xpi 482665 BLAKE2B e128c7ce26c08cad2d82ff8fbc5d95e28735d5dec77b2fc548be383ad5d5e97ed2c901d276cf555d1d2dd1017a18315b09c90d0c28e658e54894cd25f97197fc SHA512 1856c318030d6c85af9c425699543d7fefde5e78c43781256ea8c28f9768ec11067dd38ad9ba1cf21c6d24d2823cb74c74aeb2dfec26c68e71e618b74b3bf523
-DIST firefox-81.0.1-fi.xpi 512552 BLAKE2B 9aee6fc63d300ff654c5aa923c02ea2a46b0c9f93d097946f76aef873b229a506aa31f0c44dd30295d434b7096aedda5f0e13369a645cf3a5db00bdd344c30ba SHA512 ac7c6a614a99d8527e7f910c9de1b21bcd7fed4fd4db309460dfec3f669a0fe2be3f3b2947a60ed667049334c041cacb4f898f0ee252d7ca143fe1272183e3ee
-DIST firefox-81.0.1-fr.xpi 536853 BLAKE2B c4f76a040daf7acfbf10c37942b053e4efc9f3b868bfb70e6da59f9ab6d4a793d558d239caa5ee7e846a9f9bf11c5ea946ab521c460f9b2ec5c529fa40234e82 SHA512 6b97f5f70d94dc9a4dd86c788635417b51f59b648a825ae2fbb39af4639d438c18e43f4e64c2032d666152a26c5995c937c8f005fa5ded07e754bb28e21411c6
-DIST firefox-81.0.1-fy-NL.xpi 522611 BLAKE2B 360be8d09b1179b1c31e730b4218c3c9096566d8b6f789d4cbb7f2b993592d243aca4221263f96b2413c99b0bc716de9cc74e988ec61482cb6aa2acbe0ed185d SHA512 be45706a1e5ca3884f18f3e33a455d00daf3b5e922d925b7bc1b7dd88998c969a7f3ead27c86d8f16c2130724c96a954a36765eb51da8f67d84fd6110b600650
-DIST firefox-81.0.1-ga-IE.xpi 467826 BLAKE2B 601d2ecc55e41ff7d90018e09b6f293dc81feb5d0f0570acf15478bb2940d82184780bd04c07a7242d8608249d71a3e85ce38e65e230320c4ae18a9c59f028fa SHA512 e1c5a404f8de0d196ddfaac4b0939585879100d066a3209b96e090a9dd727471af0f8b195ecf0345aee0f490a0a63f2e010d633f95022bed8c14f2a1313b79ba
-DIST firefox-81.0.1-gd.xpi 492745 BLAKE2B de6031d7dda197adcda0e5b877642c798ac316b1a6a67ed5b909ffde4158b2d183701447d5a9ef60d603c0f49e777432855a64fefbcacdd9ee919e7c28a849ce SHA512 23914d557d4a6db568d5de71071cf7607b6f4fab84a58407049201b6856155407dbaece0261b209fe4decfc490420d886c681dd7a958c6e549cc39b2d5f00706
-DIST firefox-81.0.1-gl.xpi 521910 BLAKE2B dbe72bbccbcf1a824469cbf41a0d4a3840e2c6c497762b0732d9db1d81d967ad94d210b1e184f9c335492d4e206f2fabb2e9fa032728dbd4bd828fe24f15a736 SHA512 513aa0f43df4dbe9a081d41f61f1b033914cb2c6252b11a4d5b7ebbcd14da4c1d84a628a542f29c96a768a8396d614c5e7a2556c31414639d97b5b4585319ee4
-DIST firefox-81.0.1-gn.xpi 536987 BLAKE2B f46e23a38a41c3f575f1ae58a93b4b3c0e743ca3f365656bd1ae772d2e03b1de3bd905ae05645c91e911acc516cc1adfc1b0e4c4e981c833f127be329f4ed950 SHA512 94564d60847a344c5d9db8cfa46fa14506b6bc880e4774930609ca051800f307d2a459d39ac39cade4ab8cd9fbe79723829f1c860f13c6a8abb751ece426924f
-DIST firefox-81.0.1-gu-IN.xpi 541540 BLAKE2B 2a0d63e5aad1072c4a2e7222c118cd048e7fbc8640e2a69b9ac252ee2f299e59bb5bcbb5774bc596fce7d485b56c4243e51f5bbd9b25fc17c050853f18e10787 SHA512 9f03c8f67b8b64f9d3bdf12cb307adfbd7feb2ed5833fd8048f1351e3cb7b3912b326d4ebc861ca591c0d2bfa72e8c081162a83d045553e7e0fd079a70839ba2
-DIST firefox-81.0.1-he.xpi 537118 BLAKE2B 25ce23cc590338dac97ce63e333ab080978baf11a0e3e69ed059e2f9fad074ae3c1af5f0fcc714fbde3c79822b7211ad94b765ba42f935af877896f94b740938 SHA512 aef21fda28ea36ce44e31adffb9aa1c9069eaca0269b5ef48aa697c80be2a3bc2248d9c33b9af90d912ff572858f35a4b4870b8f4bf7356bc6c4f932d81ce1fd
-DIST firefox-81.0.1-hi-IN.xpi 566851 BLAKE2B 04fcb8c218e041da12265fedd5acd452af2dc6d5c07057bce03b3676d0743742c77c7b922fd60fec021d852d07ef4d4a2d1b5700a569502d66a4d7a9471e7442 SHA512 49a94d7d5e82e9ecb74a576ac7cb69687c4d5303a7a569f709c1b1fc2b0a6ebca8ea7e6c31283c89ec1c2439137ee6da020671b64ff06469eee791ebab020771
-DIST firefox-81.0.1-hr.xpi 516898 BLAKE2B d31517e4e0e5ee7b01398f61a7322b4fc242a781baf841b19136d1cbfc58f6cc727a0fcea850e7d0fcc5f00a20aa75af02d41d81d8d63096cb44455ed73a31f7 SHA512 cc3222833590787bb3f0f10cd8a754e1e5df0c792de68c78b557b6140de934e05c6ee1fa6f6c589d865894ae3084243690e0a70a965af4da8e67ae194586a04b
-DIST firefox-81.0.1-hsb.xpi 540872 BLAKE2B fc38ca5be4436f7c23fb0e3dbebccf622cd8d56778249daa3d3cadf7d77636904e77d451400024f9fd8c5a25c1dd1177066ba924437020185bd36667479d4a70 SHA512 541b44b30e81582d503c79d34882c54677100b9dcf944b32704f8aef71129d353cd74eca0d7eb376f9005328d41a931e14611ada61808a912ef06b509d626459
-DIST firefox-81.0.1-hu.xpi 544582 BLAKE2B 97f2aa6eec8414b5ce751e611d6dc941011dab4976dac09df28b254df9150816eef292d664c41b8f21ac6db75cf93a579a7f192d358ce57a944fcbac6f00c514 SHA512 e798f4c57da00c54af68fbd82c3730e1dd7002b06180da05d23213d4d7709bffebda5b429a49436ab88a40dc83657f805e773299dbe86793c51acb4a586f6d15
-DIST firefox-81.0.1-hy-AM.xpi 588084 BLAKE2B 9bc4e79435b26d35c41a96c60341915583a748878505438ee94991d2449e0e85d1c9ccf07a369547bc2136bc9fbdf6c9dd5fc6efb8d5bd52800a75026d680801 SHA512 5e32707a16f4fffc3a9da188e903f5f5f25421416da246c4e4776d5756db3d8b2fb7b197aa2514392a5e9cadf01ce8343e48abc60587b4cd4eac5f19c246ed22
-DIST firefox-81.0.1-ia.xpi 512468 BLAKE2B cf56ccef326d914bb7ffe2d4c0112ae191fdc717d22350ea993fb891bbbc9931ae8126242af3fa1463fff37f64c9455e78acc544921bf40fa8b5a0cf758e86f9 SHA512 2c155a3c812aff94fb0613eb47a4aeaface23d6873d69f5d886d3251cecea90689fadfc9046b485d6d8491bbdf067c0923d3edf12b5a6114fa82ba82aaf481ad
-DIST firefox-81.0.1-id.xpi 506711 BLAKE2B 94bb8d6a710dc72832c7356d44d18e50ecc98105602dc96783849f4439ed970a48ef6f88b44af31d073f642fb2b04fdd8d8000f6c71b8db8ce97b6eed862ba2f SHA512 1c9c9fa588922f27c65740f5f4a778b09d847c61599bc1d69ebbb81b8d8c1eee3e704eddd89858dda3a8783237958b82cd86fc754818fa3cb54cd59b6f3de9f7
-DIST firefox-81.0.1-is.xpi 478162 BLAKE2B 4fb50ed266c98f2966b878d42d568728915840267f8a449175f43bd03474d77c2b6d767acc6e778149f57cd8cd49c3f8b8a9a0a946d22c8dc37d0de7bf038c40 SHA512 d2fd008ed985b5ccd3202cc990beabc8b4266091f01b7ebe9c4e4071497d79e38e61b35e7f15be6a4c2db5c400e9b4aa8f402594333e7af136829544346b97e6
-DIST firefox-81.0.1-it.xpi 441437 BLAKE2B 37e3263c7fa5b64a5516d5dec26269abf7245244d14b92041e59cc53c8c8c5ab3ffca95cc95964db6f491550ade0040a4783022e8e4fb67ca570bf270c01e353 SHA512 f62e2146eba0eb66dfb613e6008917a4c20fbd1f1c7edd6bc7fd8d2f42e3a63b0ffe8763e491d7ef851e111bef322d6f52e4ce449341eb4958e720d9b36afa63
-DIST firefox-81.0.1-ja.xpi 571738 BLAKE2B 373ae89fd2a959d2cfb4ec2af0ac2b7786199a790b3242e01b60be2b4e36e8ae0bc95a6d40891d1f9a59a52e1bedec155dd9833701b65e15ca05597718d5370e SHA512 6ebd0621d18074867c70f2427b9c55a3139cd73fdda35ca83f477116bad1b05354e8eef0b9b7ee505f26054f500a5dbc85a3451a75ed39c845339801fa410963
-DIST firefox-81.0.1-ka.xpi 570420 BLAKE2B 956ecaebb33b23d13fd0f5e202eff57e445e6d2479aec6f5f1c6558e3b1f890140246c66260f26797bf4f57116d67679d5ad28efd56ed36025edde415d79c969 SHA512 33fce8c610f92be9cffa91173f4a66e54b7ec1b0aa356b0c6b26a0b09481ca0fc6cdcd8956874580d5c5a087bbcdcbde1b7dbf5d417bfed2d0763bb08177b294
-DIST firefox-81.0.1-kab.xpi 530540 BLAKE2B 1037a54c2abdc16ffec491d6f54e4093bd553635e73590bef48391809035e197d5436c7814b3b2f46a8d7dadbfdf816e06dd64f73e2d4546414285640ee735dd SHA512 1acd42f4e31fb4b17c83e4d232a80ebd4932b786d4df16a4c7dfa4138f60cc099ffa185a08b80ca15c9e798e9eb948dbb3f18319c6341329452d567fd3d051d3
-DIST firefox-81.0.1-kk.xpi 588944 BLAKE2B 5ba27f74dd8662236365d9c2e4c6bcadea71b6706fe4f3b1e4f672a14ac838eeb25abe67ad240eb03174f45cc83d8dfff2a0c9e86dbeccf7f7c8e0feeb84f3f0 SHA512 f40eea64edd2381a2104d42929ec8cc28c856db7b22e36d5927ba0243826ddb5f4083e7a5f177dbb7ea3c12b29081848199cc39dc8299b5f8dcab72b240bb5a5
-DIST firefox-81.0.1-km.xpi 525939 BLAKE2B 1fcbdd14702e3665d32dc92c34b53fdbd2eff0903292dfbf35e07f8dcf664883a5449ee63a6e21353048517fccf923bda1ff1c09f2c9faa67187fce46e3bab86 SHA512 e0469fa0286f12bd57c5b0d0bc1bb6e55fd2a5d181053d235b98ca7d2c494e81d53d93cf1a1f30a5a59d5d14a42050300ad1b953343c975419d69336358b9ab6
-DIST firefox-81.0.1-kn.xpi 506728 BLAKE2B 863cb89c76409f3e272a2958654af3a5e2d3e9e3aa56bee0664b180160722fc0791ad53f12258d302968697f0c5d18bc16e422ed7d29cd7b1068b915c4bc5f81 SHA512 9ea9c6d27091d613c44cd86917f8015d107a8a8de647b8810e505ee31099618a589f0caa44fc199ca02d69acbce8dd348932b6b02fd989b78df82ff89dccf1cb
-DIST firefox-81.0.1-ko.xpi 556937 BLAKE2B 296810ce473a086b872d9b1a21a22d9603e55d7509ef15be91cb5630fd42759d4c2271c248e1c6a20f007b3d758c1817109bae40b347837de0a9204b25aee639 SHA512 1bf460c1aedc6390061779e00a0f0f054824192c742a121f21ad71731a1f7373a468aeff97f45517965264abfa540e882bde2105b551087b4e0c4d9b7522d6a6
-DIST firefox-81.0.1-lij.xpi 476222 BLAKE2B 52ed2823cc33514df7cf8445f24b6d04db7d70e15e7cc435e320864833ad01d1136923fc43cb20fb7f9eb6158d6c6fc21892307a2cb1affadef1d8422f72193f SHA512 e44c8b17520f300d4c2dcb8b62e90fbf60d56fbe78e4057cca4f7c3b75bee22cec7b6e1f1a6805ab74ee96e2a11b6d71705c884aeb2954ac22e04fb853e121b2
-DIST firefox-81.0.1-lt.xpi 536134 BLAKE2B c82d91a676e10bf5adfc6a7d8573386806644e37796b9358efe0f97e6291d555543daf625a7c01a0f65ff8798a01769351cdc91e6c99e0f2f55e6d9c64909b32 SHA512 488bfac1f9b64579ac5cb762e2b5cc1f2448922169470a97f5b5420b95e21b694ae0da5b4fd59a5da95b61ec42aef920bee45479efbc148552d3b14b3123bc71
-DIST firefox-81.0.1-lv.xpi 468500 BLAKE2B f03e10b997d21596cd137ac19faf43f0845c0a88aec5cf99e3d318f6ab12741331a097866332dbb67fd0cfbd43dc016bad125de1017304e3bf05c4bbdda34310 SHA512 5d7f182ac0346774b5f6b745fe639e10e3d65df4ed7a128ef0bc4455e5424058c8bfa949a58375551e721b09e476eb29c0ed999d35bc811b33ad6849b17f070e
-DIST firefox-81.0.1-mk.xpi 459801 BLAKE2B f37e404c0a8d42a4e34592842c72377819896387355b0235b003236b2fea85a2255638d2ca6611e8a0e4e953f928c8b4114922022fd39172856fe06a697a5f39 SHA512 a45f69ba548d99b90c63478ee1bc87ca0e440d3a29f0b55489ec66260e59649fa0eccb15c365b604904b4435e36dfbaf8dc50fa8de7737bfd77acb681aa96edd
-DIST firefox-81.0.1-mr.xpi 541693 BLAKE2B 90efc9faf145f826b1f49004b7e4cbca9b97f08afdb2dbdfe4331ce01b834c1eaa8c5570c51346fd936a5142b6b2db3ca084c2bd9de77533950064ad0916e902 SHA512 23acb81c4797dbe11a045f782e3bd28b5acd933ab8e7c155b442ccb4023826b7728380f7417b2ec71c2a45968d96fcef78e666859bd29c5853c581188bd35326
-DIST firefox-81.0.1-ms.xpi 454306 BLAKE2B d0931c26977f17d0742d737470bfaab274157e78594fef37fa68ae7ee792db0594277f582958ff9eaae6b449e5ac474d6f3259bb80d9fa3c2ff3e81e2242d9f7 SHA512 e7d8e8a974bc35e66a69e896979b3e5f073384969054ed4c31e7a62d341f74192a5001a48516161e9b1bd487aa7f16c29a614e73b10ce0630c441f7815d57180
-DIST firefox-81.0.1-my.xpi 526288 BLAKE2B 8329effee0e3bae49c9784183c3a94dfdba070bf50975abb72d630a34028542db87768c20abb58c802cb27dbe1eb6427423e1f05d61b878118920fb7d83007fc SHA512 f8a2d06643fca3f0fd72154596381f4c3b66f1437ad2a777df9e272a97610a40630fd6c912f44047d311c4c0a7d0f14ee291f640c3bf001e9657628600f3718a
-DIST firefox-81.0.1-nb-NO.xpi 509495 BLAKE2B 4232520ee84fcc923788293b76e6a0753c95a01607959e36695f698ed110eff493326fd98405804ec0b8dab19e55b0949817640a35cc08e0f1e74f137d32124a SHA512 353e054065cb3c8acd9ed2d16eada1c79d743de3df290f3343c4e9303aac0d9dc6c3c80b1f7cdff25c49600964e2d923b6123105b0570b8f0dcbd3af7a8dd044
-DIST firefox-81.0.1-ne-NP.xpi 483416 BLAKE2B eb74010d3e1942e0e3b99dd70503dbcbfd9b7fcbd12d029f4de4012b78e091827d0f63eaa461afd130acf239f62e5b5cd0aa0b4c1ab0e63f8de567cea9669bd4 SHA512 ae896009b470368a280f477a24d96d394605c51b2b2c934219e34077bed4b17e315d78c920b49e81cd11c61ff4277bfdd223a757c2bfed7ca2a89df858089c51
-DIST firefox-81.0.1-nl.xpi 516616 BLAKE2B cdacc46c3e006b3be536eaed0dcbe398728fb84b04b63c8b23e60de82995fd9c92a673cc0fc03e5c0d5d27c914a7eb9b88fcb0233512ac851141649cbf0f26ba SHA512 8447ec5b2e52b21e7ec5c51fd30e45c1b209f7504dbcf41444359650442ed92560d8b3a0c45f0cc483c893c3bab33cdb3280df0c67c2a486d7826a515bb0b23e
-DIST firefox-81.0.1-nn-NO.xpi 511950 BLAKE2B c39300d9b41aa7445748c9e2b6a387c52a64669ab365fb6b73b0b7b41ad8df42c941226894a920be01f25d0fee566accd4da7195dcb5b9f2b52731d1ee7ec96b SHA512 7b741eab3f41135428a83c8f63c911e3a1f1964c59a0f814ef01eb11fa3a24fde33eea05462eebb7b7ed0ce5f5bdf17b49979d9ef11284b68579056192669d28
-DIST firefox-81.0.1-oc.xpi 529763 BLAKE2B bbd95b55f0a6a0fe88ce56a968a891d8e521a25053c43cb916fbaa77a4f82e2514bfe0b76ff8a6ad88b521b4ca3499dbe1e849e4e20b61a1d9ee586eb39a5845 SHA512 cef97777a24f56048f33ef11e6d7370ed0b2187a8a5093a0077cdd413289ca4e2d3717200d2f9fda65a7585aaa348031a820cf1397996753466368871b242a7d
-DIST firefox-81.0.1-pa-IN.xpi 569872 BLAKE2B d303c4f77c94764739eb2bda3ef9528419a98e837f82a388cd3d47c2631dd6a0f4acc5f09774866a2c11329d81e67ef284e333ef8591a59ed45527771c5d85b5 SHA512 89420ab239c286e8d932549622b41de4428ec9784e981703ede5d8a9451107717c8e200957f33143a5f6f9128a7ca22794804757fcb02110154f5d2190a4227f
-DIST firefox-81.0.1-pl.xpi 535546 BLAKE2B 275c58a9b639dd4f348f57b90a38929c3f7519237919bf69adc7a377736a7b61d2063d96b411c3c91129530c9dd2575941af51b43e89dde899d97c73442d1f18 SHA512 4976f00a575ddb267a4244ce04fec0d0d7363865f9e5908d70750a13df361d73e9e66cfe5baf4fe0e0f09cb859d44115e6ff2139a365a5c5ca629b553b755f3d
-DIST firefox-81.0.1-pt-BR.xpi 517607 BLAKE2B 0438e442ea7c06bb333c71012badc935eec6c82b698e2c826ec64bf7d59bafec8ccb4b9eebf961c82af136dfe54a849c39767b36197c0f0872a7f6b5b995400e SHA512 3bde15eb790b29cd4aab7c448f102f4562456630ed152d535030f44da549d991b9cf2d37ecc63476c90ed37eabae0a33085d8f2ef669fd9f20b4e5ca0c72e530
-DIST firefox-81.0.1-pt-PT.xpi 525637 BLAKE2B 84674cfdd28f3ffe35d16adab4e18bec396130290c9e4c64ee874e113b025a8e487f70c7c419042afca30b1982e4f8d5b48f2e255f0a25e061558500e175936f SHA512 06e89b74a7ce531294353b3145cb54150abd353450e02a91281818403e28cfd0b6ab231215a026fc894db27ee9344d4e7610578fddcd7024bffefcb7a9292bfa
-DIST firefox-81.0.1-rm.xpi 514442 BLAKE2B 627b1b4c3ff2933536a45cacc269fbcc57eed74a5dafbe1f6718f607194319fe31466471f1022dc658afe41f6790b56d1057e7370c3dfe5706c1935d054c9025 SHA512 14960df5a447818c9a2de03e5df91afb0225a7985394691bc9e9e0fa4503957b854e4f4f2ba1c1790df87940d41b89349c643b11ebf3dfe62b2c5990fd0c7f16
-DIST firefox-81.0.1-ro.xpi 532727 BLAKE2B 5f30731a074af1ad8e17061b4d43edbe88dc5ab357bab71d8a8a668c600fe1aaa6186117d5bab5878a278db955665a1e9222812ea858a81404627f5cf8acdd7e SHA512 67365ca4e827a4d32d84e260755ec5cbbe766d2b1694e841fa6b9bcbffe79ccdd9e9c848bca9325fe260122c108df9909d325f7de85c54316f9fa7045e40bf13
-DIST firefox-81.0.1-ru.xpi 603110 BLAKE2B c61efe86700ea1a119948c24a4e33184cdf07bcb1ab3abc702fac9e39547dfc8a7c4a9778df457dda3b7bbee9d5dab40967323ea631ca52d3f86725dfa482949 SHA512 f3a9b32e27db07953002d337e9ff62569a3c9181e686ac3b7796d56165ca0425be9d1aeb08e174a291fa4518917929b859815a71d7a90bc3a5097ae904269693
-DIST firefox-81.0.1-si.xpi 492878 BLAKE2B ea771bb82692a7fdf0cde1e0ba64bae3bd512bef3ab01f9a3255e01a659eb67856b47e6b89ed93e52036c5a04f5cd49462958e709eed6b63fbe3cc5a3bf22df1 SHA512 0db46c780c78d0747685361bd47561ecdca2a5fd0b428b07af621d85de6680412a95ba6d663a56296464ea09e8660ba6405321ae6a9157c4588d524009dd598d
-DIST firefox-81.0.1-sk.xpi 533668 BLAKE2B 4e1c92b1016c2afb5bc547429f720921cf72e840ca1ece323e2dc7a2897ab3bc5c3f45cae4e29d58a4025fbc86a035af7d3ec30b811bc55290865302d66d4039 SHA512 b55bd2c23a132b9a0f799b40a593a8bd19075aecb6bd1a5844b76f724a889395d3b7af2a27b899f8b46253a1d0392a1bb149305acfab59342a465589140db207
-DIST firefox-81.0.1-sl.xpi 517961 BLAKE2B f51a79ce54cd07c0eab372dac9e64ac10a5a0b65ba556afee7ddf235f4cb3f272958cc95861f81caed4a46629f15ced2105aa4eb3a589bfa1a0b66f4495727ff SHA512 1a14ff1421fd368c0254077ae95a4a38c631273fd5924d54c245633b3a5e1ee7d64ed3d06211726c33d7feba80150ca97d21812936a88846c180604c3f0d8692
-DIST firefox-81.0.1-son.xpi 425677 BLAKE2B 5e8fad04c70b7a13a389ae4ef91e01773a2cbf35be0f7ff1bc2b1ba11728a078d7340b994251f98db85b0175ac1a64d2223d2808cbd60b054c80f467110696ee SHA512 d7bdce747856c32d144775d584c3cb1f68c8e6ecaf78520dc8a4177050028ddb25b1abcf941c30028f4f005ca0c2418c9e2092daca45260d40747dc582d82fcd
-DIST firefox-81.0.1-sq.xpi 533950 BLAKE2B 4aef947fce24f56157a41d5f59b19d045625595ba8322ec43cf0eefc547b621458a65e48fa3a77972a2f47a6de018c270376855dbf6473aa2a38f1e3e8122ecc SHA512 54d1fd54da5777a58ebbe8f7232f9ebe8c2bf35936215a1946dddb6cd77154b6bc6dbaf7f9aaa85ee4aa91565a5604b70a635ab23380ea05b39831fc2b952f2a
-DIST firefox-81.0.1-sr.xpi 561060 BLAKE2B 68444ec8d7aaf857459b92da19bdf0a0fbc190085a5b1f9b0d014a7df71422412f089a50ecd3e82274399abb8d665a665af94af4ea4334f36f10455af9a592f0 SHA512 76bfe7eb7e0ebc2adc1491753f507db21894520b28d53127bbb34f3de59e74187bf48f19e714be3610feb62f423e7fd4dfe3fe4efb0c74b0605fa5284d518da5
-DIST firefox-81.0.1-sv-SE.xpi 520267 BLAKE2B bd23047ca38dbaa1099b52816f4c88cf4291fe0e5d36b258185d46fd6357dab68ae1e48280cf633629f1bec005f792f10aa3642ae0b8949c2b39f186891f285f SHA512 fcee8ec2d3d9c6078d187f54700eb0ef4f2b8bc65a3594296631eb5141a7014dd3c71da4185c2ac7b3a915cddf610c431463535c725b4af70949774484b6648b
-DIST firefox-81.0.1-ta.xpi 521451 BLAKE2B d67134ea7819bd71da97827335c59adb88081c9eb8d84392c6883504aa2fbce1a05d0a763f43d674547630c7227c152709dba50731f4c8e3311a86d7e13cabf8 SHA512 8482c1d8c441869745b8e25e03f04f30dc68fb0aa5e7009e6622af374dc68a416876319f70f2ff2216295fd1de2dfc79023ab7f74fcac0853aba1baf1a20a574
-DIST firefox-81.0.1-te.xpi 557699 BLAKE2B 3348dbf4b3b9594c8950c576ee8350c434bbbc368ea12518395428cd71c492e27eef89858e5c7566a8ca2664a8bd0f86cebf9de2a063570686e7b61c04787f3b SHA512 6349bf3ca204dac215f0d4a5b66cdfe3caab924e9a141ea6422f318318fcec1be8b80e27ccc9427842ebcfce6660e68b75060271506306781597ed67590472aa
-DIST firefox-81.0.1-th.xpi 585295 BLAKE2B 294c9c2b3cdf00183222f5ec8107554177451685827ddcffe8987468c4807bf09c0b6440a928fe517ac8bfe97946ab62ba2939459bca603c3d90213d720ec210 SHA512 060ac92bc5ca3ed87ef0cc94262152dee10af458ddf7798dace799563732f4d9591641eb3746ac5c55b3ffa603badcbfbfbef3f119ef3b35038b06712a237970
-DIST firefox-81.0.1-tl.xpi 505740 BLAKE2B 057e7792629ae85204f47ffff48a9b06d8f0200ccdc71d4700cfde26523200522dfb9bf346de58f6a303cadb81eaef66951012282070700a2305caaaccc45b85 SHA512 9737ee804a016e23e01a1417b35a9268be9f76d84dad6484b328fbacef32f127c6f2476647ffa370fa7d3c3b00ad5c1b7cdd29c49a6d26d443108029a37c62b5
-DIST firefox-81.0.1-tr.xpi 530261 BLAKE2B 246dc5acdd204a434138263d4aa1f7e3a19bfef1a993d5c227b8274718ba5cb06c6cf37d22966fc2eb3d016a1175d904d4e539011c9a937da0d11127402ccd4e SHA512 05795f2f2a13dad8a2d9323ecee19d7255c9248c6f04c27172065a0aedd46820e9d2d07e084e8d0613d4444f8be1380365f99ac199363c8a88efd5e9d5859048
-DIST firefox-81.0.1-trs.xpi 500281 BLAKE2B 76d8e829536012dda64c078ba90b76c3ab124cd5ffcceda72261d36b5bb7ac3d7a7f11439e8250d54b6f9243a957552f235de3b561689498c8cabe6e57451a71 SHA512 b09e8ea2d4d6506569b15ba37707865513c2c999a916c1ab57ffb187826214b6eb10bbe65ba021e54884cc622b1735e7676a5a42a1a01f54bc9e364ae9ecfc4b
-DIST firefox-81.0.1-uk.xpi 597216 BLAKE2B f4412d0f7f4691e15e97943229e9673cf9c903c2e12b2c7f7c0c6b68d35c13564e6d961fb911299c76e2d9fb7c40088659fa837161126e1887c14ce0526b6019 SHA512 f23e01eba8f8cdda0025bcdbb58e94497a3e79d1d62b4a0db633739f7c59b1a96cf3020daeb4762451d96b84b4969f19febdd70e49b757e809c366c4e497503f
-DIST firefox-81.0.1-ur.xpi 558287 BLAKE2B 9a5a7ea7b8852799f0187cf1a145dd043e7cabef10020137bc2a78875ae4d8c18e76f2676e062c819553619e96dfbc2ed1bfa967c03ae01f8e7266b728a13d61 SHA512 d91e22c40b31c710ae1f0cb46d394d8355f827a4e487f8fb1a129ca458b67f0e74a6a09990bf66f4c109ef437ba07fb7e1bd69545b545c969b0cd166e2faae90
-DIST firefox-81.0.1-uz.xpi 478098 BLAKE2B 094792a7d5ab5201b198278277bcf0abf63298f1948fa3e8616715d4386eace40e5092fd20f1f3efb37e79a71077f718f2bdbbc2ca7925810b2baf379f58b772 SHA512 57fbbef092ce6b66246ca58a1e1f7f6e5aa4bba47fd7f42551ac99886241bea71e1b274003048726053a880f6eced2a1045fa68ccacfc785f4f40b3845725da8
-DIST firefox-81.0.1-vi.xpi 553764 BLAKE2B 5ce9ee4bac293989dd3841f429a13d4c6facbab5ae48f3048696e4b1a8da85558b68f495388878059ab66527a796725162a1da635c62a738c087a63a61cea13e SHA512 fe7fb5c6f045759b257cfb6b012cc320cd47a6ef50db91081ae2c21d289a86f00181326093b09c276e3556a493a22ac43c71d3d82144322e9bd25dac17f3ec6e
-DIST firefox-81.0.1-xh.xpi 427852 BLAKE2B 74955a6277dde525b39e9e851ad71eec5ddf4a5809d42c09dcd5b097d36ed7d20a51e204d5f7b819c6c351a81670073f11c1517411b97d06c68b8f643222d3cd SHA512 cfa51a01577b5e06fca1784633b029333cb4fa3e53e6d2843131088d1dcfe1123c7d3ed2a54608d41fd57e4fc6924ef96a848be0e5982e557e101138d64d1e6d
-DIST firefox-81.0.1-zh-CN.xpi 554382 BLAKE2B d58a750a62ac62c3f9ffd9807e2294d6140651b4d0984ef60f768902ad3e220a8df4f5f3a62a0b5f6f669ad0bc3903b8b721121ab67a4ee19637f707a86df192 SHA512 0a19521bdaa79dcb6693c397f0a35aba38a93431f747df50a71550943ffa886ce77390de8a5e82b5404050717c749a8659e357dfb2a0e1178fd80e3978c06a02
-DIST firefox-81.0.1-zh-TW.xpi 554155 BLAKE2B 384f9b2aae9c6e15155b9cea2c8680fff3bab2b7118551b51a084e3def1d7b9c49c8c8ca990441a98dae9af1017ae3c4ab817815e9d19059f349b1d1e34aab6b SHA512 c68e1a34e2899f45d576351debac6135a46c304732ae2a1b2c02386caf52404cb10b3f5975e841299444fa92c8b1eed3aa726541bccba93a34b44c6f96dadf33
-DIST firefox-81.0.1.source.tar.xz 338268036 BLAKE2B 47b4bcd59c90d28df89afb168c4cf2376b12ba020dc2ec6c3a899e9f8627eec2312ff5eb9ac07193c5487674e03c21a67f4a6927de9533da58a25ecc3a9b84f5 SHA512 3e7c4b95872d46fc21f4c55691a159fd2c245537e4e59072f7699da10eacd44fa4bbbab08a028e421bee46356bd02d157620ea040900305a93d6c21bbd695608
-DIST firefox-81.0.2-ach.xpi 458701 BLAKE2B 6629cd59f16de587e966548eb7dfbcc525f1798b4027dcd18c93e1e95cafeff0bcd2cc840accbbbde49b715f2d0d435ad577355bf950e68671f8d3ef2c3f2d40 SHA512 19ea209105366aaa634b23e53f0466b13758275b69ee358ee1111aef18909f02d690b781a72ffc2f5a8f6bcdce62e85b5f5d8e173cec6735206f3b8a1de002a4
-DIST firefox-81.0.2-af.xpi 429000 BLAKE2B c79e83030cbb707cbbecec405cc7dafd328a44affec1aa4207b89052153f39537bb0370a3a27c1a3db71b5d85a4d822ad71797e2955dddd38ca1120e8ed48322 SHA512 2e1fee0301b02011d704aa2cdd075ed80bd8604ea76a4db7ec36f7e947b665164598aaa746c2a78356da483710ef5cc9c711dc886d7494d50831a8c4d77750a9
-DIST firefox-81.0.2-an.xpi 506882 BLAKE2B f57bbb134ea59b95722d98c5d46be4e941a7415d74eeff8644cb0301c2a934c6a0909bbdcdf9725646ffe197c3a85c88e173d0ccee085389835f279979fbbcc5 SHA512 f15288b8ffa8208031d29786a2e9e6abb661e5eec7204f5b3334d38092c5b8e1417f015135ccf64b1fb3d96e46ac6bfc053ba413dc162fb0e578ed78a44ad789
-DIST firefox-81.0.2-ar.xpi 548505 BLAKE2B 997ed7aa76484223d58b66cbfaf19b903322163140a119f62046a1f9d8b2ae5dd8b7f41fdaafcd71ee1814ecf5f9d6f5556103025821e9a42791835c70eda93e SHA512 5bd87009e0f7074a120d25f1874dd8535263dc20692c1be15283faed49c3657c442e35569f6b0272b944567cc611a9c7d429902e7c690a8399ce3d9e7bfa0f53
-DIST firefox-81.0.2-ast.xpi 457247 BLAKE2B 722f3460c890052beba2aadfda9c7fdfb3fd355c32794590bce4282a40b269cf2c6a31b5fb3ea2d6560d355e528c5f2c9059ea86f0b3f1342113d4deb7a60998 SHA512 3869ebc5963f34663b120682f1e51f2eed2c0c672e7db5b3de68cea1fb846db918c4ed31e3dae0635dcbdb28cb8f48bfaef3d8d12655c142894e705298f257c0
-DIST firefox-81.0.2-az.xpi 492768 BLAKE2B 92194f2fe50ba0f561ecbc411d2571adcc22809377bb7a5f10425a69cbe2d37270ce0f22af16b171c07ee4d49334bb4e747175141f3442674ff96eb661327134 SHA512 335974364d292e1a0a14284d0c35137cfc90ddcb183f17c245e4b78c77645dfb0323c03108c97928c7b30fe87e2c298feb5f49ca5e7fe2fe3486c5489a8471bc
-DIST firefox-81.0.2-be.xpi 593043 BLAKE2B 802eba340e2a11b9882274587fff6602e00f64317e9b1a4bd618d0cf6a6939d74e89921f38a2cdeda54bef587e774f1ffa1f2d880de9dcb4246c0c93c10d6629 SHA512 ad4157a4bb03333c29ff3ca2a28a67242e709b01f9dd6adfe851bedca4286835349786ffe5da57915a1bbee763bb3c98555f4537f58a9cb4273e693150250190
-DIST firefox-81.0.2-bg.xpi 554697 BLAKE2B d85ffa34aac4d2e2dd6427ad299417fa52e3be345940103ae07699a7af5df51c99919773685e15aae38bda057f7a9735f6ffdc9101269df4b4e40e4349e4f11d SHA512 cf5de03fe3aa368f966803f0025aa20bbda3f4cd9938cac01003578d09fec4383f0e62a7d8b217b32cd3789672ab11d12c7891ce91b09d695bcf7b4a38fc4f5c
-DIST firefox-81.0.2-bn.xpi 572618 BLAKE2B aa2c6974843b706ffad49be4f3493aa9cb13c7ccf17033cd3b064f15d0e1e1ecf53cf531730340c494fb7b677a70484a4042050c5c257bd4a6343703533cd195 SHA512 c8a60a9240f58a0aa51fc5e01b4e27be967ac1fdca2757a0267f4b52fd40682dca741db28cc098f1750c576a6d78287e39741002ad22c0563ff86fb6aabf04b7
-DIST firefox-81.0.2-br.xpi 506644 BLAKE2B 14fbc748ed3a6c09d292c04d965f724b0e66d5c57e04484a3c83d9510d47d6bc70dd8ed0f00cc172c1303e693ad11178687bf49aee9c6b54556fc27256f21e90 SHA512 e2333c769dcffa03c1b0f24d20af6b38b9cb16396ed7e63a60e32d654847f6878d2c6ba1d95c74739ab391d7f430568e7ad62f559d2ba758712a814ae867bf13
-DIST firefox-81.0.2-bs.xpi 465224 BLAKE2B dafe704159ff90415b56ecbc2bd84b943b9626ec7c07712aec29d1c2185b24855bbb1afa1924b9397a0a0d698ee29455a0aa836e0c37bb9a14ed42fc541c5bcd SHA512 75635da437a446003d9e5580aa1e0ebb7a7eba4ccd08b53485cee3496073903f92e4c1b70d75e5c1cfeb4e21ad39d276f7fb4b6c30647c62c596653d2778f86e
-DIST firefox-81.0.2-ca-valencia.xpi 517387 BLAKE2B 3a083b04a07f6ad606fbc7635008b384c69a69d170b8d7879d5a55080243e6e738859fc0d4015ea9d28f037e0a2ae7c0d9c412027cbfbea8343c303b61cc1f66 SHA512 8afab9ba96e23de9c46c3d91551a724dfd33e0cf9d4627f695090d54f6143a1365f936e92203d3cecb74359dd7530733f988d218412a2211225f5b750e63792d
-DIST firefox-81.0.2-ca.xpi 513587 BLAKE2B e8b2ea70aad2740cd46fc11f591d5392b9f306d98d48ea298118d48a4945593b8b96e6f8a5c5bede28fb5b2ec9f4325dc504718f0d94e88ce3d6262974da8427 SHA512 d770f671ce18a15d10d7cee3160c2ff84452accdf735242ff946cc865abfe1115508ddae0be6f25840264dd2e388eb8f5bcfb16ef525a08af45ec2e03102a10f
-DIST firefox-81.0.2-cak.xpi 541584 BLAKE2B 28f52356a2ac8ea30ea3589e8747035c7cb30caf855eb88b9132b4932e168a2902fa7486b589e98546dfff8a2479082c9895b2825a98100f717ec36c0b61e39d SHA512 acadc5822a913a300a6d3de5eb5b3ce5fa6bba151532fb28e298fc8cd870bbf7e87a1144e10cc3c553b4ce8bb018e978517de01b193418373dadb2ccb5accc48
-DIST firefox-81.0.2-cs.xpi 539055 BLAKE2B 4aa75c4384f2054ab9d6504bbe4dc5b99ff4953234ceecf1e034d520e2c0f9697d14c42004538e749bae4f15b1c03a54e9b9b99aee83b24ae359820f90a23540 SHA512 ec2ad150388ad126799d121ab0002f6db085a540872649f5ff39cd434603eb3aed6ecc5a8aaf313c151711ac8ff164afc539bebeaf18d23601330b3e28184ff6
-DIST firefox-81.0.2-cy.xpi 520844 BLAKE2B 5fb843046ab21fe09e81833c823c7f1093d3eeb298b048d5fce19dac33d351e4e1efbe714cd8fbcbec0eb3cd970acc4d2ac97ea1579a1cd4f82cccb4bf5c11f4 SHA512 00037b20e36e71f7e01759b544f60e9086b1896ea228ee96a44081f4f515ac128380867e5941af96469ce9779caeb11bb695aa2b13d56ed678144944b155aa90
-DIST firefox-81.0.2-da.xpi 514325 BLAKE2B a36f84f578721c989f1eed0e4f622162c1d9979bb7df6c210f29e165a0d819f45c39ae462dd84ea846d3a170f959454353d8555cb8168e97a2054422d0e09553 SHA512 27c1daab6930f4965b9b3775e33df54da6cc3b2bfbc62d6f22b7c9f36baf5041fde45c223808864f4d1decf9058c332c71da2ca4b1064e1ff026f58d031227f3
-DIST firefox-81.0.2-de.xpi 533116 BLAKE2B 598dfd4369f351fce6d65687394b0c853e224c397931ea8185aa57b66477217dd2c4ac13b66729511d809b1a8889166d5b83865a569ec2bdcf1650901e1f6424 SHA512 b482affc6758302916141b2aaeebd0388365d779a4a29090fe985d5bf4aaf0580dddbecd4272dc8e3b361d655cdc89f619b0767b06eed76a416ebfbe8e1a85b6
-DIST firefox-81.0.2-dsb.xpi 544437 BLAKE2B 133102e0497cb5c37e88d3473f81af78145773442db6dfc78c17bc460673c058249e5be09878b1ef8ffd32301ccbb4449189875bd9d513e411f8e3a19c36494f SHA512 28f745abe69bdb24b8fb2e731decbc4d16a9662ece59a8c9346249c68b4e2ab0335b2a6805ed781c8cac21d1e33a35bbefca4b1b03f278efd64d419457e07b97
-DIST firefox-81.0.2-el.xpi 614651 BLAKE2B b70a096ea76211d13dc788154c7acdeb5293193ed02b669a8b4a940582e429f715de8d0671256efc53e28cc684743494fcee3a435d318e0bf1e6ed69ce840553 SHA512 198cfa2df3d840b4ca6952acbe988c05a2b32988aa08db43da56dc7011474c2002b9bea96cda231442397ea556c17224d71219108c5efff0cb5cdd01a68ab199
-DIST firefox-81.0.2-en-CA.xpi 491835 BLAKE2B c3c7562d4d02f73792239892e0183d07143092bc56cf86faa36c72f0d7d9f1e2fa156d774123768cc0f6ae82d87e6db775df8e91cbbab90bfcbba04a01664d33 SHA512 d31a623db8e02b9448b04020987a6210eb84d42242191e39e91f396e41d2bc323393e96a876e1af53d0d67ccc832368f210e0cf352ff04cd213c5fbc730372c8
-DIST firefox-81.0.2-en-GB.xpi 491780 BLAKE2B 3d6c8168f6cf30664862262eaf316c8e9e3d7847742a100c5331dbeb0f9f481983856e8dcf6ba9e5efef9f81e7c66f6a19fc702aef3c8da59d60a80a0ac5f4af SHA512 28e0373e3474bb0a58f4efb4e1889239cc6fc62c7b7890d48dbb2507cdcc05ec021da2f029b8dba0f5070e2b113d73da74e048945a1032ea077f070808adf624
-DIST firefox-81.0.2-eo.xpi 516395 BLAKE2B 4372f90e2aeccfcef36719bbc72be1ba952011da6d6d9ce1baee00169421b2ccd9c12979416883fd7569daa4da5723cacb4e2208be9cecd396db71f23e02e643 SHA512 58e62105bfae3c292eb8d780f6b668320d674f5d8e0c09abed728321a2a33f0779e44ac67b7ad1c6486d6edaeb83d1f2a8f6430304e40dacfa4e0362fae1323b
-DIST firefox-81.0.2-es-AR.xpi 525977 BLAKE2B 6a81c23da120a5b511ca16bdc66fdeefd2c011a12b5dc748c87d79005aaf8d6d9d6cf77a4ecd5aaf1d2cbd66e54217aa4e2688b957e8e4f1763a7a60ca7bbca1 SHA512 5d07d4f4b07a571b43f8f9d8dcc62761f95d1b273e7a59786f3b0c5f97536bbc3ef28f569c74f18a019c4b5d469c98f0d15eb12e2c862909a4d214e0b5551314
-DIST firefox-81.0.2-es-CL.xpi 525523 BLAKE2B a7b59650049ab262d3ab5db2815eacd84d2ad9038dd856de748abf9d73283ed1f8596a2b5821e504fbf25a7a51bca5b3ddcd8bc91a78c66f9c5564f06c939ddf SHA512 9c27179f73dae8ed9ada15bcf14a3653c29858fa4e4ca2efef37a44f1177c4cd7f8a2bde0d24586e9dd692e1e0a2325e12ac54495fb13e47f6da553ae9aebf7a
-DIST firefox-81.0.2-es-ES.xpi 515142 BLAKE2B aa943b5426d4eefee710fe5b95a0643a27935f58f3b897b1b066501be60e2135a4c456417d38d39c16e8863135b2dc73228d0226ceed31003f1982ff8fb91c1c SHA512 b939371b01a92871ba6c05c2c31538c572104750c472dcc28cfcac2d40a413ea2917dc66f1dd5668acec4f6f0da6017322addb9e134322b6a0dac47e86e80322
-DIST firefox-81.0.2-es-MX.xpi 529395 BLAKE2B 20c759d8257f290d5cf0b64eb894ecc9bbc18a7dff87947df76d96254cc8958a1c433f6670b13d2138fd2f2b98f904030b423422a65053d2d3fc6c054450e641 SHA512 442d13434097294fbed08fd47ae08278ea4c9dbcb2079a5d2353df677bf1271d69ad38501c6fc9411797da98e518249cdc35ba28372fc5fae632b985528a4ed6
-DIST firefox-81.0.2-et.xpi 486333 BLAKE2B 4d07aef559217dfe983dca12eb15a055a30955c36c784058e5537265a012bf79cb9549d4ba0feb34a73e9e5bf7b7e54e5b6cd7169e544f3ff69cd594d8e09b6f SHA512 c8a6e152ec92fef9a96eb2a93c6358cc1c6d5601e1012f1a0791e3e0e4289e5c32d4f88c7ab75d03eb768ad47f46e3f6fdd9418ed3dc6d92f3d878c0b0f8c138
-DIST firefox-81.0.2-eu.xpi 505709 BLAKE2B d0e5beedf5beca213bf78fdd8d67cba1454ffcb07d98284c412b42282e2453247a158b5d63272ea57ed7fc28d2afcb27d22390cfecbcce55b4d4e480b7df9252 SHA512 bf3652b18afcc15fff355f123e58a639a0ef57147b09cc92efac6d6914dbbae7c94498a684181790216e83d2917f42f1c31b9f8c851b1c85514a94863ed0f430
-DIST firefox-81.0.2-fa.xpi 539091 BLAKE2B 1245020672f888a0216f7e1775d40618fac9a6bba26a1fc89d7d06243f0ed2c0d3a948862545cf3cbf90a2f885a8eafe51d255565674747a4015ea32a3632a27 SHA512 ecf7a12435bd7ca47bb16d8750780cb9bae20d30f00d1b92862895fb48de74b26304f3f23f0586c28ed66ced7c77a27371ae6af24d9ae77501aa1d1be60db99d
-DIST firefox-81.0.2-ff.xpi 482659 BLAKE2B bb1d1f79ead06e9c8c1dd72dd9dfb76b7f0bce065bb8d6c27426e3007a485dd0fa27dbf480e5b9cd7fccd68c742beda4329e5630b2d2f3a7119695efc81ba266 SHA512 daf51f8158b2f3a4631e1c7bda363247009a96a53969ab8e89f75d8cc9e3702b3b365cd1db16420c538e5157ac78661fdf6eea321cdce7391ec94adfbee384bc
-DIST firefox-81.0.2-fi.xpi 512544 BLAKE2B c18976024be779ba90457ad3edaf48ef7791a738184e91de67ce67673555bb8d58b9cc345fcc14b4353b68f36d6b9bac8c1aa7b5cefa8a5cbc7d6373f3ee0437 SHA512 36729b8c64e090a777e4d132a64f55065c59de5b9eee40b98c5f8b9a111c4696270ef17e22ae6879da83c0b0caa4122878e07dd6831f62355d7f740338a05ee9
-DIST firefox-81.0.2-fr.xpi 536851 BLAKE2B 892d3f6fa55902431893d0d8ae8e0205add2c667e83b682dcac5a9a42c459ac6c6a452bf34aee9afb25acba4ba278397ea575043c20655868c653ac9ce28b9af SHA512 50e380a86db6aedc9645b105dcc00599cc50d88424feb8e1c61610c1dc15b16ad3e47b7a606dd470f89e0e4ae2b0acbd5a3c6d1ea70d5e2ea73452189b3b58e1
-DIST firefox-81.0.2-fy-NL.xpi 522610 BLAKE2B e79cd06278f24f136a035d8d6aeb77cf22f6308ef6f12c24c1a4f243817baf89ced644728629f0b7db26fbe52ec78147e1ee766ac695277e1c902c442e9fef54 SHA512 a64beddef786e58669913c63f59498b7ee3a51c47b09661be724398416dc6e0cc8c89b8951de8490435369e16bc8f1dbf76f9439676679c8b9c0f7ce0b9a757d
-DIST firefox-81.0.2-ga-IE.xpi 467829 BLAKE2B 63a364f63e93aaea08041ba50760dd9121b8898190a6047a0f931af55685b22e0b60351ce8e89ec29444a843c1936da11888141d38f25084e6bad5e2867a618f SHA512 fc3ab5223f36ff43920a69e7c66c801e111af8b542c29fd8df71cb7cb914a9a3eec2d810338d4cbde59104a1400a57f9643ad53c8e568d801489f562ad20db0c
-DIST firefox-81.0.2-gd.xpi 492744 BLAKE2B 2d564931c78e3cbe332b67f43bca756a7e1249af539101f820af3a8d387281127c3f1afb30dfe101d0f8621a535d9addde5266021a07fce0b3f3f8ed91cb8946 SHA512 00c0fc5f805fe73b6c6bc215b702a6ac102e969552f9b34a03768cfaa005b3ef060c10958a09dcd6f93f9c2f43069318364309d844964f519c24eda9528a0c1c
-DIST firefox-81.0.2-gl.xpi 521904 BLAKE2B c7ab7878d9b6bbd2d98e494063baa596ac2a597fea6978e01061c2868bc23ccc55a48cf81a441f6e34febe65ff6245160a801b77f9e24e18f4550c4bf6980572 SHA512 85ba01c578d1fbd5512290775a034e6500007a7529add5d26e19c6e7266cc50bdf91ebd69b0f2fae92c59ef49db4eff6f49bb74a0dd7bffa3871f125671cc310
-DIST firefox-81.0.2-gn.xpi 536990 BLAKE2B abc328d589feb13418823a88df589cbdd2d26790e9bb3e75357af85b97d348687139ade5a6eea972a4ba0a854058ce9940f00d122b9e28674b33606789f88aa9 SHA512 ebaca259f065310fe463a465d8bb8b99dd11d8cdcd01ead8aa20ce5ca8182ff715724df2d9b4c60dc47aacfb1d8d26a2712d154bca09642aa8c99e3bf7f62be0
-DIST firefox-81.0.2-gu-IN.xpi 541541 BLAKE2B c4179f0ea62f36286975d9f77b58e4690db95210a24aa0102e08257e090b8af8a7a17104dd1fb5245e55d60e6e11565d07f0a5eeef602b001f1a1aaa19b50406 SHA512 d8a4d2a1e64d3d84525c7a821da098022b966eed335f30352ed3d813876453cc1887f78d49b0591f1f2224ff84e9209ff392dd9502806933f758dbac35c0256c
-DIST firefox-81.0.2-he.xpi 537115 BLAKE2B 9191da8a4bf16d0d64b26d19530ed23879d29bdb75f6cf5d93d71852fcab6cd288283a600af7f506c5b4045d15cf9a94f300f4bccf3c51fbc0a620079561fdbc SHA512 012cae8d36f09ea49b99868ce0c1c7fb3afc01ae9b508e0621650f1e899bf8bf2d969df947b375ea3ccf836288a4c1b19c108a5e138ddda1c12b26bf4a9d5982
-DIST firefox-81.0.2-hi-IN.xpi 566851 BLAKE2B 49c6d04f42c6f0c4e227e10c853b88dd580bf4b7af69989448dfcb4cdabf4f9bd33638972c26a37fa3e847702ca4d923034658d153b1ce5fd34360c7c4bdee20 SHA512 6c7e98b21a3f8f4766c4908a01dc765b4ae47eafc2a4e6987e2b3510e04f9692ace95d5247a68b00aec9bbb0a8d9a529970779d6947a2a357efa998c9ce8d281
-DIST firefox-81.0.2-hr.xpi 516902 BLAKE2B 25cca7294c531d0c8cffcabc416f9fdab9a97f7a8f35a2bcfadd3e7808b8229fa4a62caa16c0e25f27863b815f650bbb77745d39b1b0e32890b4095ad4c698e5 SHA512 5adf33e63653bb5265a4f69ae421863366521d9a3cc667d6bd514dee8e0cd42ae751f5cf83c525f4574b3883d206adf2ccae1b40d22c28e433098d1a7b9934cd
-DIST firefox-81.0.2-hsb.xpi 540882 BLAKE2B d6bcce2e53bd449afefe2209b00411fdfc3f6472ce1427322e3a6a490c21390136b00e64084eea5db073f4344a132b551c684099d8e7c02cc4b746aca36e891b SHA512 4715c24aea918e198486c9e38e768901a920fc049587c93a0ccef82b9226b9955c40ce8286e3064f70b6f78a352c6b8b79d79793f42a89a0eafdbd5352dab1c9
-DIST firefox-81.0.2-hu.xpi 544585 BLAKE2B 773441705e17d88f7a1c19abff44e700d7a7a6de8c92ca35857ecfcee021920a8a9e9ff7ff804e7f55ba916c4ab67db65ee573cf43a5ed47bdd2b9149bb0d5a4 SHA512 3de8e88aa35b1c22981776eeeb7fa244e7492f4a1067cd9dd50811e62fb3f621a385c2e55398ad4656e4ecff10627e2dfbc302091ad2983369a27c13545e95c1
-DIST firefox-81.0.2-hy-AM.xpi 588077 BLAKE2B 2f92d0ec16d940de4e916711502417ce69b6eaadcd8946cb14a93cdb6b1880946b4ca0e78cc15184cb592825fcdf37764efd49ef9c0785b5cf8d7c629ce46a5b SHA512 a18defd23260a163933d9f73db2e2cff520533245014bc6133bed309f94871680bdf59d90811bc42f145340e63bffba782c3f976a4967b7522ca44f710e981b4
-DIST firefox-81.0.2-ia.xpi 512473 BLAKE2B 554fab5f3d2202366d8a5f2095070b1e9c68e12170cfdee792e0fbb1190f3b10ac8e7b3f5cad3317103a61c6cc8f3bbb0da434cac1e4c68af7d601c3521f31f6 SHA512 8bc817a1a7872637be74a67b0cd557a5b1bdae2beba88f78751f2b8da9d000c3fea0db7bac6e2190d00d31d179fe410366df4090d22588e8661006e9b942aac3
-DIST firefox-81.0.2-id.xpi 506714 BLAKE2B a8717c83cdedaa089e952d97cf32e6c9818873b4bcddb9c4d5158efaddf1c58ae74cda5b17e01d0ea5dafa08f44045a78d052c96c96b2d5c43ad423e3a088b35 SHA512 6af0149bbb9846a2bf3b3fbdca783da51eee3788b59189c3598900f36acecfafe8a078ed408dcd4445d802520fba733fce3a95dc75134575fa0f001cfeaa838f
-DIST firefox-81.0.2-is.xpi 478165 BLAKE2B e5f31157646188a874996b63546d5794e4849d34947920703a2deaabc463413051180bfbde490bd5c97608ab467c40dc9259af1d4760b653aae6fd1621694b8b SHA512 b16a1d16042bdeacac8f3906e1a5806fd2351c3059d8dd74dbb9fcf7e899ca4902e0d1394f7742e96e22ca8fa8772f9415163a50a5c7207931086420c870d072
-DIST firefox-81.0.2-it.xpi 441438 BLAKE2B 219ae2249be7c713fc7da6376b56a081c98701795d7748217cd772875898db40a89d21d5c414e33cd8305ef15141b1552755c49f1d02d58d5a0163d56d2cc2ba SHA512 b1cae52fa825a70140288c23115ca391a490e00a7a1082e0dde1b80d6671a67a3301dc12af4e487a63f57d0454d6ef5e03b81791a513bb882f1e94c559d65106
-DIST firefox-81.0.2-ja.xpi 571751 BLAKE2B 67d6fff8e7d49a58a41401cbbe4752a220a6439bca68687c1759026bd0be2b5c479038063c609cf583f5a33a522a3601ba1999f9d87fd9116e6727c4a529a995 SHA512 3491db9af842dc4f218952fe79d2f309cc524b3cf98275e90be4b46cfb11a8663e82ceabf2b6bbf47245c7c81fe2dbb23579ac57316bcc97854e089c74ae1e48
-DIST firefox-81.0.2-ka.xpi 570421 BLAKE2B 7abf8a59888773508242f0873aad9c7923121ea828aa29d63aba598d730af7dc4fdee0bfbb96f5436c52929227f538ecb2e616ab390b93e2f88fea0c65de4f23 SHA512 213f821dc4d1227d23e7079b32152d60b904c61df8760b7f1974de652d570e0afd9ae1ddbc93b1f1fe02e1a39b6f480be5d0bb9bc4af9b1bbd16718cc0f5c88a
-DIST firefox-81.0.2-kab.xpi 530527 BLAKE2B 5035f8dac4000aa8335e0b9e6bd034a6e3cc35455a775e8eee49246ccdcafcce5ec9e7a9e8ed664bc8bd10eec5c982982b962744c3437086f383e9190e3fa1cb SHA512 85d9cf22cd3dc48eb22a2141a1b1f27d9908f4a3c670633342dcff65028a78d16e18616e845d30d3837042ccf5eb954bc9139389addecabc11026ec30547a77d
-DIST firefox-81.0.2-kk.xpi 588941 BLAKE2B 1cd3a1a814b398ebb4e7da6afee1fc3242cf48cbf21093d110ab668af017fc096b24acedca59936756815a58411d0d9bbc7ead22dd6ef1f33dd9cae47c761b21 SHA512 c539bb6e1415d22417ebebf73245fc6757b52b3465824116b0ffc419b993bb06517b5615e1640991998d8cf33dc3173987004b1271febd2d06258a6ac7b18426
-DIST firefox-81.0.2-km.xpi 525937 BLAKE2B 4f8dd5298fa87feca87ce57b0af3b4dbf09812dbb651bf493dadc3656b7336791e5b16dd978a8b2f28b1a69ff14d275fed258710b62f7ae1aea19db55c03320d SHA512 acfe7e7e8f49991536bfd30dced3413c8246416b3c8b3ab86c7fcc9b849434679bff1cd662042ffc4f1980025f9cd5f1234f4ff87dc49d598fcc58cd8bb9a968
-DIST firefox-81.0.2-kn.xpi 506733 BLAKE2B e36d5f1f1000d79e16d9e82c270573246a380d5205e9e9343fd4d51b53e00c25820420d93d3852b5dfa64b37cd4abde1e9c48e3a8076994825027bee813ae57d SHA512 b34aba6684a9b84908ee41ca758965844a717b1584139315b31a35ed2457f439f74bb914e4704dd03ad5d94540f013f87fc68a3ccdc86867475762829ceff202
-DIST firefox-81.0.2-ko.xpi 556941 BLAKE2B ab9916bff7bcc985b3d33bc17d41ffd786e6d441871412fba0ceb157b80cf03493519fa7f6f94deb0065ff775c199119060c637f0f607aadb66fd0ece4d81668 SHA512 d90f5dd2a5b965ca043d51eb8c04cb2a5285d69a41d455e1102999dd4dd85a30305847d1f2d5268b2e4c7cf72fb5c24e249e92f9d2f7157b47844f0d0688d317
-DIST firefox-81.0.2-lij.xpi 476224 BLAKE2B f8c16d5b7e51acc8eb0c5cc01c5a7fbb836dcdd76e75155c919b0de2240efa8491b1143c7fa4af71cc7e1c12a11d6de690832678038ffe788b14578b32a6a6fa SHA512 e0dee7381336497fcc6d4fa7eb8d2f2f59e9e819cec35e3844460974328fbe3b435b02aecf283aec00d179d06c757fa0a9d9e2c713a9d0e225a479f7df8412f0
-DIST firefox-81.0.2-lt.xpi 536131 BLAKE2B 15b3e7ddf40a78b50967f6f9bf9bb30077bdc44be2c24dc2c5274e3526638be8497f5dfc131b27da3e7a1c9f819683ca32096e8660fbba880be45611705244c1 SHA512 f1572fa0e7db3d81a393d6cbd91858b7ee191ad4a5f79c26c5fce585689f0f47831836d87d60534f02e23de907f84eece5283afd7c9cdfc5622214d2271a2c09
-DIST firefox-81.0.2-lv.xpi 468501 BLAKE2B f54924ec08c3f5955f945865744ca4e70b1ac8d29cbb096703b3a7f50feffc29eed55b23427e22e4e2440f98c1f86dccf2c5d2cf23e28f0bfbbcd690ccfc26a3 SHA512 5ae7e6589a837a49982166f4381ac39645302a5c88f510aa3d5ccb7bec384719c77058614eaa147f3d354fb7a7080a3c7bec042ae7db92c64d0019265e7313cf
-DIST firefox-81.0.2-mk.xpi 459802 BLAKE2B b1f7e82ab4aa151b734eb19ec43f2dc1ac9e63fa816339a12129b757c5872363c2de26f85b331c7f7b8ba8491aecba2baba56a65e99b60285ca8c36feb66ef0b SHA512 7e3f1c0afafc84f0ae5fd6bd9c0de88672094a9ed3def5529bcfb7310f378f4dac8bf9f07e271662d915ae98bc2592eefe0af17bc4ac75ab5e3b09379912de3a
-DIST firefox-81.0.2-mr.xpi 541680 BLAKE2B 111f9b8478532ed128d8210ed8882f882dda9d163523f02ee6301e6230e22efc4f757c435fc4e7839f1a2d38cbbac9836899ec70d769bd248f23805e756cdf5c SHA512 0f917fea1c453433926ff67b9c03db47d188825339ae70fe3852d5ceaa9c9371edd1ca5481769196645de97763fe3e1dbb746283c9540625ea96377f0356393c
-DIST firefox-81.0.2-ms.xpi 454299 BLAKE2B 844b42cc122db982484832882e0f5e078134cfddf7c428edd1c339ec423bf29fd3a840c393ba701fb6a324649b81f4eb7f1e7abf2afa82be147de42057f28723 SHA512 bded0ff87b9cf7fa6a1c0496fc286f0835487a059563767d4138580692f527a7abd9190e4f87437273298c562abe8323d83861e5534edd7d241e8b2f3b47b754
-DIST firefox-81.0.2-my.xpi 526284 BLAKE2B 712cf7732637a7d613f5b6b9f32c10af70013374e5942ac852bcec1f6f2c8aa8c6f0828399701acc8aaa9e4ce5470c09c44c0d3546026768e66ac7d81be90890 SHA512 b4ed2da904abf0546ada95903295c9ce9b0a29bf49493ab2480b3297e29b427aff2b0a4e373299058e184bf923cf48c18b5d7ecddb5bbb11296be7264cba95bc
-DIST firefox-81.0.2-nb-NO.xpi 509491 BLAKE2B 0b254dca33a8c3ef43b34deccb4c8c9305f3b989451844ea65087cf1669cdd212914769ed9b75ecf08bdcc060093bd3c9ed201b81aa6f562abb9361772304d9c SHA512 f6605cce8c69e1e04bd2dc8f41d34cde85e4304fe6e6b4a76c5bbbc59494666b46445dc9a9b9034b76e591ef4fb46ce21173d679a61407578ad00b0ef4de5bcd
-DIST firefox-81.0.2-ne-NP.xpi 483416 BLAKE2B 16386768ab907b845e0fd7fa4da10169d27143a68c3c312c11993faf8918b1cc21465d99fc5bbda20e4b81ad30deffe07950ff468877dc54f7e2d97f114ee64e SHA512 ca85e8865a866f6489b6ef31fe291ee7bf59aae2aa9a0710ad8b6727a88001d62ddb7bc016af05e9b7b1d97a10c247f4637564b7a0f41a5e5c78dbb1b1789820
-DIST firefox-81.0.2-nl.xpi 516611 BLAKE2B 4af9f168b77a19a960df1ed77b6d944e8deb38ad711c5b08d2d324722d49955d4ccb1971a05b3b5910a31789338823b4586c678fbae9e99d7eca551d10df7596 SHA512 e9d359b206fc804a823c7c57529c01f01b214cf152e494e5e541ff446152b1fa6dd1aef7fe11acf0949128377db7ffe649f339c3b757781c1d9fcb817be83188
-DIST firefox-81.0.2-nn-NO.xpi 511956 BLAKE2B 2a805825c6ff37659ba59528952cc24198b35495d3d1495bf26f4dd78a6a2450d88df4886c1cf665412c71830751c4ee9287e12269508080d743f24e9723b305 SHA512 5d65da235ca7c5f355fd03e0fce359a45518429e483ca5f2d41a3a46779e42c6dca76f9f674d61453d5c10f2a7d22b0dbb35f17cc71b85fa4c169d2871f987a2
-DIST firefox-81.0.2-oc.xpi 529767 BLAKE2B fd2b1124e0dd47d29d3845c97d5d332cc478f08e6b7cb90758eb54c3a7b4f520e4fee0331d0a9697de9b33cb84c31fc7e9a13dea46816117fe5766cf6fd3b491 SHA512 073626d947c36dabdc1fb9e3231838bff73d191a389aac35172e086a61fc191ed8c1e6c9c533841200cff39baac83a5d740b5808dff431f7c5924309f0876c72
-DIST firefox-81.0.2-pa-IN.xpi 569882 BLAKE2B 97b8156318390e26dd42558615f13c318ca2a3e92af11f0c939e334d2411441448a7b971e65d71e10778d53b4e88f86ffb1d62be8490d82bc50064377b4730c1 SHA512 8dfa6cd0e3ef35bc62aef08cbda6a1e5fd58bd6195c68c6ea3df29ad16bae6fb5cc825d1d06c7da8b6291da7590ec542a82deeecf91a61ceec6daca9fa646ac8
-DIST firefox-81.0.2-pl.xpi 535546 BLAKE2B 84ca6c7453b2de13a9b48fbffa8767ba8106a88a9b1881e8afbda2a2337dcb0c0fd34b52e2d2698fe96f0ea65d0f6340d3599b708c312c9d3f5c89a8e3f9651b SHA512 766855d8548213d66b1945edf589c317486fd8ba39e596537c4bbc5ba827850c3807ae245d1eb375063310e0edb4ddc06cc735bbdc608a54613dcb6cf2a335f4
-DIST firefox-81.0.2-pt-BR.xpi 517603 BLAKE2B 7184b7e0b44ce1f9bc6d3f91260a9c89fc0c55c50505bb9f69cf7a9ecbfa3e20ba05b9ff228cf4775132c208377dc01615fd95dd24be249c276e1a4364ae87d5 SHA512 4d4194068d5427325b80bec667040d707a1e6f387af0968bbd6b70802012c1e837673ffbe3df01a503f7eef80866032a0e50e30f3f4ee0cf3aac654d97a6c940
-DIST firefox-81.0.2-pt-PT.xpi 525640 BLAKE2B e284a7c9e1154d781ba8846edc34552bafd217310d5adb37c59c21d0c00a34f94c75c2f95b68d07358b8fb28169adbdc1a73de8122a6eaf7f7250643beb87c93 SHA512 63ab8f92a000c85888e58ced78090bfaf293139194f4002df277283b65d7a353366b1fbc7c1f4184438c7345e276aa6d09fde58dc0d2fe256083a733c03a8e9e
-DIST firefox-81.0.2-rm.xpi 514442 BLAKE2B 2f88ac3d895626bf80a96c92b4cd2d9d0e95b16d89501e6ee8de87369bbd65e81d69f56814ea5fd88097d8ab8b5cc424bdd0d1639801e13fa06652cdea48e69a SHA512 76acd8583f7716863abc0ffe1f5f7b1cc5bb92d32e84141033fe5f829c1f0675016d2d1ec96ec8413ebb96b52f21fecce2f9e2d61d70230e7753b109e95acc0d
-DIST firefox-81.0.2-ro.xpi 532733 BLAKE2B e8e205c93cebf65f777e4cb2a7e7947aaeb4d2757482a375f1196cdbd0579f5a57c000f857e6a73d5f45fce00da86f8a408e75a97475bce454750d3ed0fdc42f SHA512 5615df827564743efacd43e049f10b93774a10f427f04ae9fafad06a31362dd0215882007f0fbae601de0ba680a0eecbd565b159c07dff6eaee977a098e2ce43
-DIST firefox-81.0.2-ru.xpi 603102 BLAKE2B aa598153c4b065d3c57e450368aa1ee86d8a8eef9fc78f92ad87723dc25b15675e9cb38a4bc86b2f2ac877e5dfb6cd3ab569160eb190c72d96781d49a8e0c39d SHA512 dd5967e15a170787771b461d6f1f359de770432966cf3a5414735b056885a06c94ed897ca3b3f4686d98cbe3ac3360546c9e98fb94ad649fac913c839b967e79
-DIST firefox-81.0.2-si.xpi 492871 BLAKE2B a3a6cff26ceebcf9610e47fc92cb3255ab032e9e3544e0163df539cc92dac1a9c81139e12fda13b727065a5bd6f7acb81ab249d3d3aa1f775556aa2c49f0d0b1 SHA512 41ddcf2c6678b976cdd362919f65ff1e055dac8b68494e9398dc2f1337da1616af29912bb415069c17719dd879363241a04ce5cd4560a7b1c7f628f885ea0ebe
-DIST firefox-81.0.2-sk.xpi 533658 BLAKE2B 5476b7753e980aac253ea675839ed2316375b6ee6f1896f1065b6b6be8430423a08b9d32fcc6df65bf32a6ecceaf9c32e75fb933652a132008ef095354692841 SHA512 fed99e0acd49b0cd02dae08a3c1a2339c84581da129396fa3a63726014390c3177e7f473ea81dbc61e2fa7284cca303dd0e048bfa17ced137132568288b81176
-DIST firefox-81.0.2-sl.xpi 517961 BLAKE2B ee48b3c26d8472d4b91f3ad1be269dd19e57973b9e7716397834de4eab90327b12539730e16eac8d6c3e1b0ca69cde7b9e78c28295b9eb46d72f0e3cbb1af08b SHA512 82472a1775b4001ed0e2a5e315c4cb30d947c34a6ab800b6a39fe0790fc634b5d8ab80df41d1bb0580de66822e5045d5c7af231a694ba277029479903541e43f
-DIST firefox-81.0.2-son.xpi 425675 BLAKE2B 17c83117759508430fd9e94fe2cc6d94361fd73dbfc63711712a5c12d9be562f7e6a94fb1ab616f31fb1632123a56290152535b7cdeb2b42ccfd0b178ec24cd8 SHA512 99116b605e72ef8ad2bfce508c29631feacfc65b7831cec8c1a8a1b114350a12d9deb170556ba01e63af6b1f1ceb71f8baf3973317c4d6c418bc86d5ac2e45d3
-DIST firefox-81.0.2-sq.xpi 533947 BLAKE2B 0284a741ce68b5f3dfa37bcf674369d8d58d0f37eecb55040d6e36068b85e0d01630b055b5a53ed9452a4faba23a3e68a48d47a9e3569d4ee897f3ca2f783c75 SHA512 04d0b9c617f478b7b4f29c0d6256bbb8c108129fbef966e20342a9d6a9f60c1e00665f4fa25ce2fab41ff28586fce6d725692189a98a7a2a6b2c69f7886fb256
-DIST firefox-81.0.2-sr.xpi 561059 BLAKE2B fce13e7eafcf805e36a77553cbe6fd833c717884114e69477c30ff401a99aec62ed77a166509731b47703a4a1cf98d89f87582b19e53e5e0f5bf0453e2f2d365 SHA512 e64330c98cc384f91a08b6a71d1884512216ae57e62e85d877516ed87453cb1191c74df03602f3936ca8eea544798af2a1a72bf8ec0be42a70eac0cd62b0aba0
-DIST firefox-81.0.2-sv-SE.xpi 520267 BLAKE2B 327adeee81a46639ac3fb5b1314fea580b888f9216010cfe916264bc1dcdbfd7bc6f64922a552f8f449281bf613efb4809aa3efa833df5736e1a1e580ab57a79 SHA512 4029b7e7aedea924fa834997bbce79be94b5cbb53fac96e15630676794b5d550ffc2965134aeec0b71044bb5d34a17ddacbebf8573a670e1315462fd750de949
-DIST firefox-81.0.2-ta.xpi 521452 BLAKE2B 45a27effc7e63625d0ba0ecbffd02786337a159fa9b227a045ed703f8eac8488f740082dce3f3da01a1be866313979688b729382c6dec8d4c8725b312bb7c599 SHA512 2252567cadc1b94e2c414458d66952fe1082238162d216547335fcd5e7b096805a60116aaec945b16145bcab055e21c4d55260cd1f93e1579102ca92e18bedbe
-DIST firefox-81.0.2-te.xpi 557692 BLAKE2B 773af2db88b437964d96b21ce46e68e597097f642435611ced9d788c11a15f64b8c6f21ac8a9b810aff84ace4570ca1c9e0972a6a9b9d373130bb528d039aa71 SHA512 f0cd5e5f1c0c610985567a999945c8e1f6682474150a213756a2c0d2187405bd6f8c8e89c763dd39223b75d0e9b45f2297e1c0877e93061ae3ae6bdf4778b11c
-DIST firefox-81.0.2-th.xpi 585301 BLAKE2B dfa93404e800a8905e0cb5a9fe3174711cee922adc33c7bf61d4b4fe7f6875fcab5edc07b36958debf205bb9e88351e7c575933ae74551a13c6bfa1610770c84 SHA512 e7d14d8fa4fd43b6e1407b916786b70e19075ad509a462f927febba84a4ce52e8ad6da88743ae895a1a5cdd9d1934cfffead53632b272f148470abd90fe71e9b
-DIST firefox-81.0.2-tl.xpi 505740 BLAKE2B 691d6da254c8783f1b5d0530a519873c7bf993b605bf4302d5b4c22ecc6a6a4087e7378a43a41b2f96ccaab69612c6d883d9961dd95d8f5901ead43bb13cb5ca SHA512 d29a49943dc103acd607ef4edc7f0889e761bc3e6b2750c675d28d52da12ffd0689ab20467612387f22ce8a3248126c072f4cc34e02415358ae72b521e070532
-DIST firefox-81.0.2-tr.xpi 530248 BLAKE2B 770a9eb713365634b9f5077c83e206ff736cd3425269845ece1adbd2d4631244ac5b1d7d3a8d16a35b35f74cca8175923fd508a9e5b48bc1be99832de0093548 SHA512 7a1df05a5313aff6188594eab0b2c926d1ab69475684dcdf0a5df5f4310f1669102d2086ea1dad4c89d95f1b3e0ab87c92f94207dd7a293cc439d81e7157bd1d
-DIST firefox-81.0.2-trs.xpi 500275 BLAKE2B 0e8ed6c1affa10875104bcf16ebd963b23d8edbfdecae2d6b3cae106ab0e80050e590045f0cf8f94087e6e5e8610837126ecda3b32a2e78b06fea1b79138fe05 SHA512 b9bb7c0caa9e6b805aded6f27f192baef7d9ad8290cc7f654a4e44f8ee02d7f06119c7782bd295aeede8d5c6b66ec8aa8736ee94b16a3cffb1fe6d24c4357194
-DIST firefox-81.0.2-uk.xpi 597212 BLAKE2B 4edce78b157892c52c0c922314a4bfe3f5eb405f83dd32d289b33423dcf192a0a245cea30b90a3290e577e7be9d6b4971b0e1e64892ad43b0d48fe3bdbca039c SHA512 92d1e6887de84cb5aad8ac6e49549a1d83b15bffb79de6470960e24104e29354b3acb90df8060f847ca2acab1018edb4fd787c2f1911da4b5e51936ae55fa129
-DIST firefox-81.0.2-ur.xpi 558278 BLAKE2B 21ee48377ca55476b3e8db7eec7963be73b5e6e7be62633fda0bd3a163ac42d7511da5a3f282a4de0783d44a6076d1caba6fee48271df6beeedffc73696caf35 SHA512 f1731336dd8589303d17587b0c2708b6d2c517c892b788da53eb92ce4d444ef3097faead437de9628a0048127b9bd4ab5926dbe1cb614265c894be913d15a78e
-DIST firefox-81.0.2-uz.xpi 478100 BLAKE2B 062b596d9ad244786bfbcf2653362f2a5c318b8ac28626e85b146715606ea6d7c84e3c883c6f6e36ec5eba63fda9a87ce9dc2961d2d8bb2a3c9be3bba08e4d20 SHA512 8c7c91ebb8aef8e50f231a57de56c4f67786364d9a8285cfaacf372594f48e61daa02ff8ce5e807268726e41e92d1952b30df9659ef7a8ee778ef1dd9b32c85e
-DIST firefox-81.0.2-vi.xpi 553773 BLAKE2B 1e01319c8af8b845a8bd58d88a441543c9d357d560f4373b3e43cb4a8357b267c5d41047d7e8a5ac706db1c3f4f0802a324c59dba24b3cf23b462f4daaef05de SHA512 0b2d16cf6bdd4c1953ca78f07d627dfb213b218c3f06c0837e279f54fe17f44b46a89e38a7c42ba5448e34a564c3102a93902c6ab959a40a34786a3d9eaaa94e
-DIST firefox-81.0.2-xh.xpi 427853 BLAKE2B 5d93dbf61b010824f264e151bb84b873cd2988af2f861175e1e18cf33305f4f941e3e72522fdd3e67d63008f2bf26c56d9e9640d329d2620065e14048f5f1378 SHA512 8bd1d082eb3a873fe56df78c8847e7db6779e0c71622815bd77af32a26271a9c40f6175d2a43d74c1e2348fe3319fa9ffa1dca7e420a340dd0dd99027ac27364
-DIST firefox-81.0.2-zh-CN.xpi 554377 BLAKE2B 75ec97232f9558a766e34e6cbb1ec193015dbafa6992d30a464c85190523228b3dd5dfdd055240ae42d74c96451eb9ae641a500f85334735370978e7d5ea0394 SHA512 66bff2c6fceb2731873e596eafe8d26a9c5eca5e9865c9acbf7e4fea9797ec599ac8c2035ff8b8b4e9052c1960d9bee23b956e59a5d107f709eb6a68e82f03c8
-DIST firefox-81.0.2-zh-TW.xpi 554162 BLAKE2B d2ccc9d7358374864f9936a37b78f05f7161d501a627fdaa3e777ddeab95df93a491fc7ba792e4814c3cdf43f27318c1273e97a269a7dece4c052cc07c9e29c7 SHA512 e2b2ccc71a72e47bdbd485465c7edd73575e5a54a25fca4a13acd72473ea648abdfb4e3e717efd6910ef9b05f5e6b99d90c84488321be87b2609068461d29a1f
-DIST firefox-81.0.2.source.tar.xz 337759612 BLAKE2B 18ba8f61b4ad5c42328d1938a36e6e438c528ba669ae841074bff0a3a40194836d818421b464051299fdd6e70af769177981550c66501e1ad242813e2c8f8426 SHA512 8a3ef4819120e93b860344ef05b4ef05262e3f127053ef66b3c1eb4b157932913f72fd4ba5500e86c2ef29f25be58e0c6e2c47a1c1ecde2abe77ece5f948fd75
 DIST firefox-82-patches-01.tar.xz 31208 BLAKE2B e36f2b27db38b5f2f2104c66d504aa8b495e261e0faef83c1a65c8d69face4296d4cfc122201c7f36dde1c3a401f71b75bbf22f3fc07d05e1fb1a5e21b459e66 SHA512 25b6ed1215f621f97480be1f7db97c6458527dbc8d92ec52968a6f6ba0ba9df14ec085440283064cd840057964b2d0570563497689b03c69ccd0635967e52790
 DIST firefox-82.0-ach.xpi 460143 BLAKE2B e84f40cd625090808c8b316e20639d2127e98da9d1840523a8b0f588c57970c0e860a87919d468ffeb44b0272f4d1cd79203a8fe4abb49c95ec45e91b6eeebe0 SHA512 2ccb9345398a88d336bfa7827109b19e8da8fcea840ab435cf3559534b8b6cc71977793333663cfb1fffd7e85532d961a6eaa8114e521f583303650cd4b9e0df
 DIST firefox-82.0-af.xpi 430109 BLAKE2B b2b68c38ac503422e7bc95b88381b10793189955069f549a54c64e55281e661a515f81abc16bdcc0f08ffc77a0ad616ff83fa12f4b0a45030e76f09d668bd7bd SHA512 130fef6e8aa2890876254d916c80fec88476241fadda53b6ed62278544ff3415ebd8427eaba007d5298df8ca20dc0e90ff656f7c2d8fd67952b08dc9b7de4382
@@ -482,4 +192,3 @@ DIST firefox-82.0-xh.xpi 428942 BLAKE2B 010aa9f82eca3136c746f0264fff012a52534a19
 DIST firefox-82.0-zh-CN.xpi 558345 BLAKE2B a512b5b46ba057e99da929e4c480b1a4fcf7986d6c7acf17ac3e4a7ee83b8c1f21bf705a52ab94399684457c931d629c716344906cb536d6eb8bd7f56bb87505 SHA512 f1cdd6ba7cb791b9c7b0663e8af79955490182491dcf4cb9bb126474af7ee9c627a1f4b4cae7e403d9ae931e872d90a6f2ed39de59bc23aa12546cacb1c89d3c
 DIST firefox-82.0-zh-TW.xpi 558253 BLAKE2B 8b726ace0335ae2ff8cd2b9aa8cf63ae1e25005f5b017f993ecab6c1603f9c398da1999233fd20c735e7d6df5107250847b7c5017e4a9592654ea8316131951c SHA512 139c6cdeb714099a59875984cc0e122974d6e3a98061b8aa504533ab3575233753b1bd542d2470aac3352f4efe0e15c6dd066873a7cfc34b1b9e5793c0ae48ef
 DIST firefox-82.0.source.tar.xz 334793772 BLAKE2B d70ab7e97774fe50a42161c434d4535e0cfdacf29daff560f6676583ca58db893304d8f87f546b435aa57f16ed7b4a9d7de7c492a58ecdf0639d7203b5f385ec SHA512 887bceb0fffe257534b53cd019d35087752042ee7e9db089e01b1a930a30deb0c3dc6b32167552362092bdcec794dd5698046548d3419e17ecd2def366d1bde8
-DIST firefox-esr-78-patches-03.tar.xz 172416 BLAKE2B 2d67e793e4f4bde447a3a3f3296d1c5ea6c92843439f87e0ab08b51d2f0dd74f0d37762807a1f24853e56f7987e18af65f010027602e32d40a3444c7e418ef47 SHA512 86f35b89ad573c10b839b1631149c6fce3374943d101a6496c40a69a813525826cb2bac4926fc7813dca334c9dcca534e0a963b0725ac3f95fbd3a1c2bf8dc3e

diff --git a/www-client/firefox/files/gentoo-hwaccel-prefs.js-1 b/www-client/firefox/files/gentoo-hwaccel-prefs.js
similarity index 100%
rename from www-client/firefox/files/gentoo-hwaccel-prefs.js-1
rename to www-client/firefox/files/gentoo-hwaccel-prefs.js

diff --git a/www-client/firefox/firefox-78.3.1.ebuild b/www-client/firefox/firefox-78.3.1.ebuild
deleted file mode 100644
index b5ee32cf3f7..00000000000
--- a/www-client/firefox/firefox-78.3.1.ebuild
+++ /dev/null
@@ -1,1098 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-FIREFOX_PATCHSET="firefox-esr-78-patches-03.tar.xz"
-
-LLVM_MAX_SLOT=11
-
-PYTHON_COMPAT=( python3_{7..9} )
-PYTHON_REQ_USE="ncurses,sqlite,ssl"
-
-WANT_AUTOCONF="2.1"
-
-VIRTUALX_REQUIRED="pgo"
-
-MOZ_ESR=yes
-
-# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
-MOZ_PV="${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
-
-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}"
-
-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
-	${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="screencast? ( wayland )"
-
-BDEPEND="${PYTHON_DEPS}
-	app-arch/unzip
-	app-arch/zip
-	>=dev-util/cbindgen-0.14.3
-	>=net-libs/nodejs-10.19.0
-	virtual/pkgconfig
-	>=virtual/rust-1.41.0
-	|| (
-		(
-			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] )
-			)
-		)
-		(
-			sys-devel/clang:9
-			sys-devel/llvm:9
-			clang? (
-				=sys-devel/lld-9*
-				pgo? ( =sys-libs/compiler-rt-sanitizers-9*[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}-${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="13G"
-		else
-			CHECKREQS_DISK_BUILD="5G"
-		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="13G"
-		else
-			CHECKREQS_DISK_BUILD="5G"
-		fi
-
-		check-reqs_pkg_setup
-
-		llvm_pkg_setup
-
-		if use clang && use lto ; then
-			local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
-			[[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
-			[[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
-
-			local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
-			[[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
-			[[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
-
-			if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
-				eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
-				eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
-				eerror "  - Manually switch rust version using 'eselect rust' to match used LLVM version"
-				eerror "  - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
-				eerror "  - Build ${CATEGORY}/${PN} without USE=lto"
-				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
-
-		# 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
-
-	xdg_src_prepare
-}
-
-src_configure() {
-	# Show flags set at the beginning
-	einfo "Current CFLAGS:    ${CFLAGS}"
-	einfo "Current LDFLAGS:   ${LDFLAGS}"
-	einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
-
-	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
-		CC=${CHOST}-clang
-		CXX=${CHOST}-clang++
-	elif ! use clang && ! tc-is-gcc ; then
-		# Force gcc
-		have_switched_compiler=yes
-		einfo "Enforcing the use of gcc due to USE=-clang ..."
-		CC=${CHOST}-gcc
-		CXX=${CHOST}-g++
-	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
-
-	# 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
-
-	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
-		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*'
-
-	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-location-service-api-keyfile="${S}/api-google.key" \
-			--with-google-safebrowsing-api-keyfile="${S}/api-google.key"
-	else
-		einfo "Building without Google 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
-
-	# 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
-	fi
-
-	# Additional ARCH support
-	case "${ARCH}" in
-		arm | ppc64)
-			# Reduce the memory requirements for linking
-			if use clang ; then
-				# Nothing to do
-				:;
-			elif tc-ld-is-gold ; 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 CFLAGS:    ${CFLAGS}"
-	einfo "Build LDFLAGS:   ${LDFLAGS}"
-	einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
-
-	# 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/firefox \
-		"${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}"/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-1 \
-		>>"${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-78.4.0.ebuild b/www-client/firefox/firefox-78.4.0.ebuild
index 4287ea374c2..366747a47d1 100644
--- a/www-client/firefox/firefox-78.4.0.ebuild
+++ b/www-client/firefox/firefox-78.4.0.ebuild
@@ -895,7 +895,7 @@ src_install() {
 
 	# Force hwaccel prefs if USE=hwaccel is enabled
 	if use hwaccel ; then
-		cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-1 \
+		cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
 		>>"${GENTOO_PREFS}" \
 		|| die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
 	fi

diff --git a/www-client/firefox/firefox-81.0.1-r1.ebuild b/www-client/firefox/firefox-81.0.1-r1.ebuild
deleted file mode 100644
index c16727cd8a0..00000000000
--- a/www-client/firefox/firefox-81.0.1-r1.ebuild
+++ /dev/null
@@ -1,1098 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-FIREFOX_PATCHSET="firefox-81-patches-02.tar.xz"
-
-LLVM_MAX_SLOT=11
-
-PYTHON_COMPAT=( python3_{7..9} )
-PYTHON_REQ_USE="ncurses,sqlite,ssl"
-
-WANT_AUTOCONF="2.1"
-
-VIRTUALX_REQUIRED="pgo"
-
-MOZ_ESR=
-
-# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
-MOZ_PV="${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
-
-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}"
-
-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
-	${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 selinux
-	+system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
-	+system-libvpx +system-webp wayland wifi"
-
-REQUIRED_USE="screencast? ( wayland )"
-
-BDEPEND="${PYTHON_DEPS}
-	app-arch/unzip
-	app-arch/zip
-	>=dev-util/cbindgen-0.14.3
-	>=net-libs/nodejs-10.19.0
-	virtual/pkgconfig
-	>=virtual/rust-1.43.0
-	|| (
-		(
-			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] )
-			)
-		)
-		(
-			sys-devel/clang:9
-			sys-devel/llvm:9
-			clang? (
-				=sys-devel/lld-9*
-				pgo? ( =sys-libs/compiler-rt-sanitizers-9*[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.56
-	>=dev-libs/nspr-4.28
-	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}-${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="13G"
-		else
-			CHECKREQS_DISK_BUILD="5G"
-		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="13G"
-		else
-			CHECKREQS_DISK_BUILD="5G"
-		fi
-
-		check-reqs_pkg_setup
-
-		llvm_pkg_setup
-
-		if use clang && use lto ; then
-			local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
-			[[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
-			[[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
-
-			local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
-			[[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
-			[[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
-
-			if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
-				eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
-				eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
-				eerror "  - Manually switch rust version using 'eselect rust' to match used LLVM version"
-				eerror "  - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
-				eerror "  - Build ${CATEGORY}/${PN} without USE=lto"
-				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
-
-		# 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
-
-	xdg_src_prepare
-}
-
-src_configure() {
-	# Show flags set at the beginning
-	einfo "Current CFLAGS:    ${CFLAGS}"
-	einfo "Current LDFLAGS:   ${LDFLAGS}"
-	einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
-
-	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
-		CC=${CHOST}-clang
-		CXX=${CHOST}-clang++
-	elif ! use clang && ! tc-is-gcc ; then
-		# Force gcc
-		have_switched_compiler=yes
-		einfo "Enforcing the use of gcc due to USE=-clang ..."
-		CC=${CHOST}-gcc
-		CXX=${CHOST}-g++
-	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
-
-	# 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
-
-	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
-		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*'
-
-	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-location-service-api-keyfile="${S}/api-google.key" \
-			--with-google-safebrowsing-api-keyfile="${S}/api-google.key"
-	else
-		einfo "Building without Google 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
-
-	# 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
-	fi
-
-	# Additional ARCH support
-	case "${ARCH}" in
-		arm | ppc64)
-			# Reduce the memory requirements for linking
-			if use clang ; then
-				# Nothing to do
-				:;
-			elif tc-ld-is-gold ; 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 CFLAGS:    ${CFLAGS}"
-	einfo "Build LDFLAGS:   ${LDFLAGS}"
-	einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
-
-	# 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/firefox \
-		"${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}"/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-1 \
-		>>"${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-81.0.1.ebuild b/www-client/firefox/firefox-81.0.1.ebuild
deleted file mode 100644
index bddadeb11f0..00000000000
--- a/www-client/firefox/firefox-81.0.1.ebuild
+++ /dev/null
@@ -1,1066 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-FIREFOX_PATCHSET="firefox-81-patches-01.tar.xz"
-
-LLVM_MAX_SLOT=11
-
-PYTHON_COMPAT=( python3_{7..9} )
-PYTHON_REQ_USE="ncurses,sqlite,ssl"
-
-WANT_AUTOCONF="2.1"
-
-VIRTUALX_REQUIRED="pgo"
-
-MOZ_ESR=
-
-# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
-MOZ_PV="${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
-
-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}"
-
-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
-	${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 selinux
-	+system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
-	+system-libvpx +system-webp wayland wifi"
-
-REQUIRED_USE="screencast? ( wayland )"
-
-BDEPEND="${PYTHON_DEPS}
-	app-arch/unzip
-	app-arch/zip
-	>=dev-util/cbindgen-0.14.3
-	>=net-libs/nodejs-10.19.0
-	virtual/pkgconfig
-	>=virtual/rust-1.43.0
-	|| (
-		(
-			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] )
-			)
-		)
-		(
-			sys-devel/clang:9
-			sys-devel/llvm:9
-			clang? (
-				=sys-devel/lld-9*
-				pgo? ( =sys-libs/compiler-rt-sanitizers-9*[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.56
-	>=dev-libs/nspr-4.28
-	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 "Will use LLVM slot ${LLVM_SLOT}!" >&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}-${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="13G"
-		else
-			CHECKREQS_DISK_BUILD="5G"
-		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="13G"
-		else
-			CHECKREQS_DISK_BUILD="5G"
-		fi
-
-		check-reqs_pkg_setup
-
-		llvm_pkg_setup
-
-		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
-
-		# 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
-
-	xdg_src_prepare
-}
-
-src_configure() {
-	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
-		CC=${CHOST}-clang
-		CXX=${CHOST}-clang++
-	elif ! use clang && ! tc-is-gcc ; then
-		# Force gcc
-		have_switched_compiler=yes
-		einfo "Enforcing the use of gcc due to USE=-clang ..."
-		CC=${CHOST}-gcc
-		CXX=${CHOST}-g++
-	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
-
-	# 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
-
-	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
-		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*'
-
-	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-location-service-api-keyfile="${S}/api-google.key" \
-			--with-google-safebrowsing-api-keyfile="${S}/api-google.key"
-	else
-		einfo "Building without Google 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
-
-	# 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
-	fi
-
-	# Additional ARCH support
-	case "${ARCH}" in
-		arm | ppc64)
-			# Reduce the memory requirements for linking
-			if use clang ; then
-				# Nothing to do
-				:;
-			elif tc-ld-is-gold ; 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"
-
-	# 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}"
-
-	# 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/firefox \
-		"${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}"/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-1 \
-		>>"${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-81.0.2.ebuild b/www-client/firefox/firefox-81.0.2.ebuild
deleted file mode 100644
index c16727cd8a0..00000000000
--- a/www-client/firefox/firefox-81.0.2.ebuild
+++ /dev/null
@@ -1,1098 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-FIREFOX_PATCHSET="firefox-81-patches-02.tar.xz"
-
-LLVM_MAX_SLOT=11
-
-PYTHON_COMPAT=( python3_{7..9} )
-PYTHON_REQ_USE="ncurses,sqlite,ssl"
-
-WANT_AUTOCONF="2.1"
-
-VIRTUALX_REQUIRED="pgo"
-
-MOZ_ESR=
-
-# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
-MOZ_PV="${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
-
-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}"
-
-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
-	${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 selinux
-	+system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent
-	+system-libvpx +system-webp wayland wifi"
-
-REQUIRED_USE="screencast? ( wayland )"
-
-BDEPEND="${PYTHON_DEPS}
-	app-arch/unzip
-	app-arch/zip
-	>=dev-util/cbindgen-0.14.3
-	>=net-libs/nodejs-10.19.0
-	virtual/pkgconfig
-	>=virtual/rust-1.43.0
-	|| (
-		(
-			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] )
-			)
-		)
-		(
-			sys-devel/clang:9
-			sys-devel/llvm:9
-			clang? (
-				=sys-devel/lld-9*
-				pgo? ( =sys-libs/compiler-rt-sanitizers-9*[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.56
-	>=dev-libs/nspr-4.28
-	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}-${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="13G"
-		else
-			CHECKREQS_DISK_BUILD="5G"
-		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="13G"
-		else
-			CHECKREQS_DISK_BUILD="5G"
-		fi
-
-		check-reqs_pkg_setup
-
-		llvm_pkg_setup
-
-		if use clang && use lto ; then
-			local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
-			[[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
-			[[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
-
-			local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
-			[[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
-			[[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
-
-			if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
-				eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
-				eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
-				eerror "  - Manually switch rust version using 'eselect rust' to match used LLVM version"
-				eerror "  - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
-				eerror "  - Build ${CATEGORY}/${PN} without USE=lto"
-				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
-
-		# 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
-
-	xdg_src_prepare
-}
-
-src_configure() {
-	# Show flags set at the beginning
-	einfo "Current CFLAGS:    ${CFLAGS}"
-	einfo "Current LDFLAGS:   ${LDFLAGS}"
-	einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
-
-	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
-		CC=${CHOST}-clang
-		CXX=${CHOST}-clang++
-	elif ! use clang && ! tc-is-gcc ; then
-		# Force gcc
-		have_switched_compiler=yes
-		einfo "Enforcing the use of gcc due to USE=-clang ..."
-		CC=${CHOST}-gcc
-		CXX=${CHOST}-g++
-	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
-
-	# 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
-
-	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
-		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*'
-
-	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-location-service-api-keyfile="${S}/api-google.key" \
-			--with-google-safebrowsing-api-keyfile="${S}/api-google.key"
-	else
-		einfo "Building without Google 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
-
-	# 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
-	fi
-
-	# Additional ARCH support
-	case "${ARCH}" in
-		arm | ppc64)
-			# Reduce the memory requirements for linking
-			if use clang ; then
-				# Nothing to do
-				:;
-			elif tc-ld-is-gold ; 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 CFLAGS:    ${CFLAGS}"
-	einfo "Build LDFLAGS:   ${LDFLAGS}"
-	einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
-
-	# 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/firefox \
-		"${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}"/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-1 \
-		>>"${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-82.0.ebuild b/www-client/firefox/firefox-82.0.ebuild
index 1f8bba10a71..8fbee71bc69 100644
--- a/www-client/firefox/firefox-82.0.ebuild
+++ b/www-client/firefox/firefox-82.0.ebuild
@@ -895,7 +895,7 @@ src_install() {
 
 	# Force hwaccel prefs if USE=hwaccel is enabled
 	if use hwaccel ; then
-		cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-1 \
+		cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
 		>>"${GENTOO_PREFS}" \
 		|| die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
 	fi


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2021-12-17  9:06 Joonas Niilola
  0 siblings, 0 replies; 25+ messages in thread
From: Joonas Niilola @ 2021-12-17  9:06 UTC (permalink / raw
  To: gentoo-commits

commit:     9b9c3e8c24ff1f44f62ddb98f5fb93d3eab323fa
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 17 08:47:50 2021 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Fri Dec 17 09:06:49 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9b9c3e8c

www-client/firefox: add 95.0.1

 - include a patch from mgorny to disable fatal pip invocation in
   case pip is found, and "pip check" fails sanity check.

Closes: https://bugs.gentoo.org/828999
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 www-client/firefox/Manifest                        |   98 ++
 .../firefox-95-fix-fatal-pip-invocation.patch      |   13 +
 www-client/firefox/firefox-95.0.1.ebuild           | 1240 ++++++++++++++++++++
 3 files changed, 1351 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 4e5b6a49b394..8dc62e059fdf 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -195,4 +195,102 @@ DIST firefox-95.0-vi.xpi 569408 BLAKE2B ea2d973c250c3a46621567bde9d6e9805dc22315
 DIST firefox-95.0-xh.xpi 424123 BLAKE2B 35ebded6af47343021066ff726501b1c5a36bf96c2d2805883ea7f0c27820807a7745a59c9e5a0ae7d0697935501ebcdd4ab26d4bc4ec27900d02562215331c7 SHA512 9335a43b2bcd62a8521c04c1698ef021b839b124a20c00ff8a8c3a4b641273fcbab5938b8f207fbc94e26c03a05e4a213f2a43e64814da1114178951068d2c66
 DIST firefox-95.0-zh-CN.xpi 571142 BLAKE2B ef68a507ae28c7fc9fdae15a3b2f760ed50889245dd3a3c463f170642deb14383feb0bd1a7dcd2806b6c88aca14101b0253879ddc85773a355667e98f8fc7b47 SHA512 006518e8c34db43fc96f371970737751df6a36b95a89172d2934f776c3eda3372cc4fcf674fd81b8a9f4471fe2be7a212a725ea9772dbd0d82b9a1fc56ba75e1
 DIST firefox-95.0-zh-TW.xpi 571955 BLAKE2B a41c01347771a0fe5609ebb61b2046695d9354c35f61e238db116401da8b8b50c31b07ee8455347f6f2714a2ad3fba5dacdaa8cc4b0794e90db16c8ec30741d1 SHA512 68395d78cb17ad8c9ce7b70e23b5f019bfda25e6aebaaaa615babfafdb715dc3c83cff049ae8b9d6c3520919a8fc46cc606b136276af1e86dfb5e82ba3978e7b
+DIST firefox-95.0.1-ach.xpi 450519 BLAKE2B 0b6dcb80640bf21a3c17c5ca531370873e15c7bb9252cf416779bcafbd006d3699f92c027766d11dbe0fe1594b3f78d06d6488f159dc54e17f9e8eb78b6be09a SHA512 a82a89ea29857e192e4265a4c48c7dd86eb20d10adc7d7a1e867d5452e049a8634c97b477520639b48e7fc65b092b4a0eb8dcb21f961895152d1edb75033eb12
+DIST firefox-95.0.1-af.xpi 421586 BLAKE2B a788cbcddba0f0ed130353766a8c020a22895c64dcf22bb7a160a4235beff98e9ad6297f67737dec00ff29921eb6df61d2ebae02e6b5ad635cb050acb7bdfcd1 SHA512 feaae211061edfeb2b5c010615cac3df6043429b694e65e0aa9f0314d7d115a5a90ef574ce2432f3e04c33d0661639d694943a3660a160059bf6a3b9a65b238e
+DIST firefox-95.0.1-an.xpi 497837 BLAKE2B 62af2f9fb8fd88fe1a8f23d7bb62dbdf850e2b6969e8b01a75fe752e563e440a4d43aa05f00ae0813813c96029c6aee5c95a3aa82d74f503578ca26a100ab0bc SHA512 8835c70622c56b348bccec6eb9745838ec356188326167af69825c80b144332930ab1b52ad8efe88d90e9fa20f878465309b1b05c9f45313b0dc258f58ce27a7
+DIST firefox-95.0.1-ar.xpi 556954 BLAKE2B 1c39c4fce341b86deb32eaf04d7310795ef6060d7fc5b4d0ff2b9e938fca87ff20614ba5eb4ff314d0bbfda6867a368939b7d6d0a366c041a66f06e7e7f5a4d1 SHA512 6fdd293e38f10b8686335d3e57914d674b40d6d52ed2d9801c5776d96778db03efa1743a9d9bc8e67d48b882d3d83708a4d2fbfcf0d5a3cf3e7a2a2bed4d749f
+DIST firefox-95.0.1-ast.xpi 495639 BLAKE2B fd34877069c2f0621042bb415b1fae7a5295932f86d673778ccb865ec65a2bafb20cdab0570c5a2d9106b9ca70006fb1a9b12d77545bfc0898a3cfd18d952603 SHA512 7ec1b2f5a6d3f946805bb19b89079a75cf795c43f16d8530141dc91128d242e1b6a4943d6d2f69078425af15ac63a95908b5ee4afd2a9646860de8e8b544ad06
+DIST firefox-95.0.1-az.xpi 486489 BLAKE2B af3d64bba8c6d2fdcfc4d4f3b078a6934e564875fa30d00e17013965d029d2d927eabb0360d0f2b8767241ff655bf7a46e00f81a0a61a57f21d5e6299291d304 SHA512 4b70feebd894a4c8ffe153f7480fe9178a1c88dae0a4e354ae94258b8c383378f997461ce5db67f6d106c825b8a77a5f8c46d020abb83bfd8f2ae111b4f139c3
+DIST firefox-95.0.1-be.xpi 617811 BLAKE2B a6e6b61e9db2e6403ce26c9209af4984b1d26172a2d4d82c6b55175f692ea7edd4d2de036358ddf2394b5df17c68dd3737b4d81d8e9a32240705927cb650fec7 SHA512 d0cee31b7ff312a98fb855a3c7905171641d656db4cac5c8d368bfc45d300c507c1a7665f957c36e2e0d2f281e8dfe1a245e0ad7cf6ea93e082626c3da2933d0
+DIST firefox-95.0.1-bg.xpi 564532 BLAKE2B d982253c25ba1be9c1c104ee2e45383bbdda414487a14c7d31a28f81768dca8a72b2fbed0a8a2d4f4317115875ad253825cb8faf970b0b38884a038697fadd29 SHA512 7669a8ee8f9d1e440904cd76281c5fb25da1cc83e3dd1b0a38d7a118b1d0083055f39489eff33fe3082dd5b1649f67e37a824955c37aea7f907623e957853fbb
+DIST firefox-95.0.1-bn.xpi 553376 BLAKE2B df7dce4de8665485f3df2a0ab550429e552e8fd8e33c464127d7fc832ccb295477831b9664e8b05761c69f0f86b87527b64db4ecbe8bcbbb2446734be19af073 SHA512 320039de296fb52f8ad50345c4f86044d62469c59be4c1de6ebd3aa9efad7e8e7226bd60aacc8f99eeaf78036282bd3fb44432d1e020c242b81779eae0f6d187
+DIST firefox-95.0.1-br.xpi 524083 BLAKE2B 7398e294b576ecb466680a5c5f846c66a9512d5b7ef49261f5c797268f7214fd3ffe817e9498ba8a887ba7c1b36e40cb28467dd7610064a70ef02eb8d7c36197 SHA512 efc67a9a3cf117f19f3b0251cf41596c0df9bf2413ea1a94150b2debe18035c6c053ede795bad584d1269c0a825b6a50c2251c64b39fb34d72bf0d144979faf0
+DIST firefox-95.0.1-bs.xpi 460944 BLAKE2B 44d932c35f007d9ff69374a910aa5a2d889a7fc9a65a3b6806d465a033d3ba4ac28ca7924764a22882ac3838910a54b567f40dd3c4a55c683dc764736b2fc9a1 SHA512 0e7b8f2cc9778777bcd2e49fc6c916fcc45e6456cbcd1c14d47506a1fe8f4d9ac32c251e76682cbc52705e0add40bdb088df6d9b8c50e873f7690639983eb1a6
+DIST firefox-95.0.1-ca-valencia.xpi 526570 BLAKE2B a8d42d609028e8cf833b541541a2b033f9269a07f01c69a0df54b170f20cf9ed7bd005a3e64940988c39cfe258e738657d4ba23894aba39a9f77573dd4365c33 SHA512 25a418be1788c62bed21e9323756a54cc33c28fbd32e36d8b52a0a1b17b3dc706a064fa3aa70911746183854f2d4ab60cbcda6281013e3e692b95bc549b27421
+DIST firefox-95.0.1-ca.xpi 529727 BLAKE2B b05a403369a96c950e55f4f504d31ce524c43ba951e090c0d287bd174cef1f80dd85c49b0e78b88629e73f2a994ed4445a45342454bd0f0436d8c4a31c4e5c2c SHA512 72b2531e7c5b18aecf3e3eb9ca604672819667fc11bdf621e46fa29f541810b76dc271aefb0a82b8a6f2b889ceb2c51d47f7a3cd0b11d087a951ecbb38b679d2
+DIST firefox-95.0.1-cak.xpi 550291 BLAKE2B 2cfdd03b818afcd7abd54f04b6348c03f46335fd460840256506786084b460ee4e91e47e2a3ad7ff3df78ae1e559f474f6c6bfaf77a53df58431d535dc6fabe5 SHA512 1cfc5c65dd6957bd41b469ea6e6373e86891267388e90bd4660666646d0876ebc0fa1f62adf33e6e760608cf7d3fef162435d054ce3ddaadc998255df9edd371
+DIST firefox-95.0.1-cs.xpi 560514 BLAKE2B 08dcb2c3688f3b4783fa51f82e8df5b8de4ef1a63573310b5c39114400c89e5a67e1f95cc900ae654ed37d607dc41c4e83d18e3069220eb31d78d2aa34cdf794 SHA512 aa7288cffd23c8dbe6f1a1082c30323134470988d4f71a7e629aa81295fb958dd214d0a6ab09dde099f7333d09c32f6c3f6c58b46795a182311fa76682bbda43
+DIST firefox-95.0.1-cy.xpi 538500 BLAKE2B d4cda5ff809d6f7953beaa7b57f66aeccbfd5cc489414eaeeb88f04286d2244fc1dd8781635973778b7e1843313c2f5e96d2e7f1fb5b5bc978ece5987b50cfce SHA512 e8f62b4ad396a7f921de486dcb72d85a785a6f0466313cd1d68937a617de178e868c807d336d981fb53cc713545e9a7a74741f3e42c1dda2b25a2a10bd568c52
+DIST firefox-95.0.1-da.xpi 530403 BLAKE2B 0b2a5eff9d24b87041aa3f2b45b35276d30cde9bece697118f68bd7ac6cb71069aec08930368b95cf2437c23d3c7e652d3ff264d8d3fd2307fbaf07ef499ca56 SHA512 a69c1fda4220c0e9939449f67abd66b87e2506d6fa72dbae5b83fac2cd1cab055a2046d05830992d79116c075723e284c3dc2dd702ccd40347309b51cc1df9f2
+DIST firefox-95.0.1-de.xpi 549564 BLAKE2B 51c49debbab39f18900670b1d63ff7f93166dc627b6d3a839b4404f8e68792d900b89b9a22b9863dd2b3181fdb5285e50db9ab4c378cf566be08dfffe13a3d28 SHA512 2bbbb760fc0dab18985a13a4b301a91d8f433088c99c4777c5f6f949581a7f3a7c2f935224154197bbb392844ed0bdeba533083b1625315b0970ded5cd800771
+DIST firefox-95.0.1-dsb.xpi 562324 BLAKE2B 10dc9b359f2b6336ce107d15e4d7b3496192481582e764e24c5836f61870a4423a85b4cb09d078fb8368c0b88992abe6f6ef6b9b10277469ee14a0c361c6a6a7 SHA512 d85a2d82024cec171b9f50bf96b44cbcbc10c9fb41eb48810c9256f41432580933b89a75f06fcf396866ef2b7bdb406f8037921a4b3d0d64fc399c9388adc75b
+DIST firefox-95.0.1-el.xpi 634234 BLAKE2B 5252c59dc3fee91a8915dcff5eb27a5697d837253d7b6b772197b2996dc7fbef4108007b397b20b761b63711433a27fac5acf01426d2f2602ae7d30564f72d5d SHA512 59d0cb44eb34d97718cc01224bf63a86230496d812371d6df920471f3290716587d2cac4174f49f2222e67a98e2a0d35528b6c18b91ec6bf326c6a16bc0b9a96
+DIST firefox-95.0.1-en-CA.xpi 506095 BLAKE2B f05c919d66f8ec9f738940dde511082ae735dc6d4bbc61547f94c0257ee735781014028f04ef9ce066f4978284d297310126ac47efdca203d19227e60fcb5543 SHA512 bc4884db6d34a0c6513874d0e7ec8c811c4f2a210530d5848ff551bcdd1ea8f90ee3559a35187cfd4c1055d0505553ee6753e0d91acce900623c47dfc69e7f0d
+DIST firefox-95.0.1-en-GB.xpi 507062 BLAKE2B 0b2fe1ca72db0a4cbb64359e618e80b554c375b960c8ca8e229d1b78ab3163458495830ae4d3d8fbe5ed838182c79cd26aca432dee779823880c9902fe3628ff SHA512 ea53469e4bbb3eddf2896243f87ba8975269bfb786e17cc4fdd727ddfbe1b9510175daa38f715bbd4d0f69fd0e1eba331cbeebe88cd6cb8c0643c86e3e66009b
+DIST firefox-95.0.1-eo.xpi 531430 BLAKE2B 0bc526f0fc5f2bbe1db79e6cd2e5da9bf03efb7b15fdb9543a649a89d46dd76a821fb03ff54522f49cccfdf632ebed3892f7c1fef83d076dd251fa7386499566 SHA512 24a0971eb61c3bf75379b20d6475842620e975e7393c9311b20d13e55c9d3aad0e965ef9ef8941deb2cd5e3a4001fc67bb10d84ac48713f5648b0c9834cd6b5f
+DIST firefox-95.0.1-es-AR.xpi 542823 BLAKE2B b973b011a688e501f2a40fdd31c40e33bd02dcc0aa5de08f86527b6a53cb32ac68c1c4db141c3cd10c33443a085ae863b1c712fc71c9a833d5c542629d94c72f SHA512 278edca66a2ab177a54d10c224450f65f3e8ee25efe764cf6e94df2bef5cefe608e133f1f0d007d30e9461d51b1fbfa6ce5c70da4aeb887b1da7a466df28a386
+DIST firefox-95.0.1-es-CL.xpi 542412 BLAKE2B 0f4603b44167cc5ab9bf9e2b3973c79fc41dc33dde80b4f0e431de1ca61b78b944ab79aec0ba4fb35586dc3f7d730ed0f59d3012f29526bbd60ad6d870244b82 SHA512 9a5589a0c4353a1448b7dbba1043b8b3584dc38c1feee687023853edac2d6cf369e31773258e4ee2f12cf5f0bf5eb34577016ecc0bbf972cf31fca2309b6dcc3
+DIST firefox-95.0.1-es-ES.xpi 533170 BLAKE2B e2dff4d6df54ce94a3b8126f7aaa5ddd3e30ea61022701b5520cd3584680eb2120c7479f608cf54fefc5e2c0838f32c135d64761d24ea31c4bc1f9437df3e889 SHA512 0497e249108e042b47c5ded5ce338e8c6159095b03efb20ef1ad3f6add3bccd40c0c876abff8c880af1a6cedecae1d1f4d016c35a54804c55ea6ec6b081d3867
+DIST firefox-95.0.1-es-MX.xpi 545982 BLAKE2B e894851f7c3638ae99ae602b296afa3278db4cba818c7eef5f383bdc294eb1d756a733bd5c2349bf6b00a1f1f7fde08acd77033c89d29d63a76e1081f4e332f0 SHA512 f8be381fabf80b2e38aa5df19bcfcbce3be3a8e1d276a667e83fb135755b22c2efed8ebc86259eb692081148369a010560ee19bc901f2a942ea751c0b768dc22
+DIST firefox-95.0.1-et.xpi 503974 BLAKE2B dbb49a4842cc2faa499aa7aee20b592442980f0a3b287bcf9e1e3ec99867b614dd02f7c2f4b61ed5dbdecb04678acf7e5c2372ba6dc1ce64563bdd705688512d SHA512 063d08f5b78ba3c0d07b7f08623332c05f6e176f0f1c18ede4c3a2087981ae668bbd4295f7a00a5fc359ef7788886eda934d44d0540fb1cb830fb84cfb26e9d2
+DIST firefox-95.0.1-eu.xpi 532585 BLAKE2B 20c5ea1f3ec59f3ed5fa2523ffe708638a3abcc8315c922a20685acf35670043aa54d57959b6c02322250e9244e0bcfb25d855a7a622563be6a006f162452db2 SHA512 bc4328451f80d80847a054d764cd168d8afec54e6299b26e8f61aaab9b2a6594feb8575522aeb70d9906fdbb974f2e4c39e7a4e026c2032e432973d18eb7f256
+DIST firefox-95.0.1-fa.xpi 556245 BLAKE2B 384b43dd3810244569698a081a192e97d15df2f15e172561dc8613c6875ae55c54b7a4eb11f001771db6e0512b7979fac56eac36252fbc93c0e81afad89ef6ab SHA512 ef4dac7b8f61cf716355aaf4410958668732be28af3e71d4211ff6127acb87ec4475d1f86d0feaf2cb80553acdd3c7d8bb77df8bdf452874778dbf6aba4dea7d
+DIST firefox-95.0.1-ff.xpi 468417 BLAKE2B 29bc9a90ad4b138297df47dcfcb8782a643a9d8e92d688dc8ce91ec1f9f152b8fd3a9012a4fa6c6f26693c882fd19fa1bb615ef3743734dafca99f94581ff508 SHA512 0829a0653f82ffc09394df8e669fe9a5e5ad746cb44850a82e30b5d0a3de89c1fc6ff260fac93d2fa6c6cd0dd0bfba95db0ba861e493271f2ab0e3c2c902e1c4
+DIST firefox-95.0.1-fi.xpi 527613 BLAKE2B 7a92a9284f1b3440cc57871156e8889c6aa6147ae91e7f96a033c78e629edd3e36bc40f67b055c956800a4fff4197451b8b74a71c05c96faa1340109ceb9cd2c SHA512 12063eac745817afc2410314e2075d46bd050587eacb8d20dcc4aa153f14670deff0019bcbd4133cb03a7e28a7793dd213aa0c3a78abf3bb8a659cdb328845e8
+DIST firefox-95.0.1-fr.xpi 553723 BLAKE2B 1940a6f5cb6d337e38b660c36d16f948ba4fcfca847859510363a520ac0ee06d81c064ee97850e857843f62ca9a703f2929ac9e46a6400d158ce11c003e3cdec SHA512 313e4320e83566105d461a134aaff4387147dd41748469f2e58b82783170875f04e1bcc715f0a9a2ef6f9064c0aace062194ad1d90c3cca59104a806cf8ffa1d
+DIST firefox-95.0.1-fy-NL.xpi 539298 BLAKE2B 11ec474519087cc3505350ab79e21b1a5e3aca049dc8ace8a88ac800707b4bfd7f6918a2eac88e663465da2fc1587554689cf2bce11eab11bdf2384c8fbeae7d SHA512 e9fcc73eb0fc57d60834136f4fb3e6a3d77d7dbd02ad07afad77b3f302d5069244dde8467143c6df921a7641f6a2a7ef914aedc0b01cfeee5832fdf7de2caab7
+DIST firefox-95.0.1-ga-IE.xpi 456366 BLAKE2B cbf2bbd4406e2392caf7087d86688201458ccb3a6ca4996a695fbb61145ce0ee82b81cc5a12418239f8d414eb6bb92a56db42c7bdf76b6decb17f9ad64f36af4 SHA512 c65cacc5a1d4518920af36e1583316da32082e16f9e8a4dc7750196b68599400cd34b15b4527b623a951fa22a150503e16fb108fd1d8732ba84436bdbd03f6e1
+DIST firefox-95.0.1-gd.xpi 528518 BLAKE2B 05ea0987263ec7ee001a44e1a013c6e89b35a6bb9003abc93adfb63db3072479fdbdb17265ea70ebac74da381d40346499b657d1f1bed0d94d9a1fcdad26a9f4 SHA512 545c1cfca30e077eac604ec1d0ff6cc798db094bc03c6a2cdcc44f02f7c3e2a14b6784b38d16bb8815adbbae5ceda6011fd3d817c0b11ec0fc0455fb7778a463
+DIST firefox-95.0.1-gl.xpi 537660 BLAKE2B 21fe531d173fd87dc93df58fed1b035a181915a13c89e421a46f5605279b19b6d024d4a9b4b99ae0592a39cb2b883b8ef9a23301cca18130e8aa703dee2ddd09 SHA512 65ed5565ccd1be631d6eb8f0da44793afbeaf7fe5a1e0106df8117085faccba2b4a5a23c8f0d81941add9fb72780e0b1b0f5955a230545416aa366a32a9ec3b1
+DIST firefox-95.0.1-gn.xpi 553601 BLAKE2B dc39daf1fd798517d6ab2fff2dc9a6cdc86fbe979d6646a1b14180b9ed4f6f43aeaffacc3eb85632a7d3ecab8b1d1d2b7333b72fbb11d76bdd6d35b4a5703a57 SHA512 07455bc89665996b08b07212a42d201c4f66fa5c9b6c130f86ef8f830924f19f6706e9d570cd5ca0df6bdb34f3054bbd3afd1d04500f3627f881ee82032d424d
+DIST firefox-95.0.1-gu-IN.xpi 525939 BLAKE2B 3f3271990203f457bb559f9433fb9735c263c05a635b012793b2e21a3119faf9a829d44caef67ef519d18d5b46f6351bfb4cbcc0e8f9e6212893ebb1dbca6225 SHA512 b709bc7157acc948acfb34b41f1f2d89f2639338a06e8f8db91644d9e7874ce17e8ecb5df5ec629e300e83528d1e6f3b13b9ff531b294c562183c07d3fe9f31e
+DIST firefox-95.0.1-he.xpi 553661 BLAKE2B 356af9c002c8e1291b0b0615f18bbdfaa868e0f9f3824356c51d35c4d16c1c52d0dca7bebd6443909a025c71719b5f0d023028ab117ea034ffcb8375b53ece82 SHA512 9e68b9f99535aa20d81dd79e05575e67ddc84dacdd116add6c3fab1068a6eb2cb25e15185f5654bc12df876d49dcf0eda18b0185836bc0cf4375db5592d454fc
+DIST firefox-95.0.1-hi-IN.xpi 557072 BLAKE2B 8b5d4887921c060af04ed96b17616cb9dbe74da98af7c0d65802cd645de8725f5dedde3769e3c4e9fa9463db456b57ace5608ec6072d26ff79c0b6b4664bc149 SHA512 0e17b69dae93688e2972b3cecfa2c6d343c3697269834c4a586fd49238b035e93b5a64c4fa66ad347cc8c0b37b234876043489a2fe8da4ab690e5b0e8ccf1f7a
+DIST firefox-95.0.1-hr.xpi 527711 BLAKE2B d4ac0f421c2cf11abadad3f81f961e5fba6ac124dd91e0cf543e0e25a629b312c9d382262aca7e7d7a12dedce00840f8fad4510e50f57861d39c5a17ab777d08 SHA512 b1441766530a29492872337a77a2f4060244815fd057301bd751fe7c772e041e2d6397085f522cd1872e4a938feb9f0697cdd39f0ba4fa8ca12cf9cee65b7495
+DIST firefox-95.0.1-hsb.xpi 558442 BLAKE2B 4d7a15c01e263c6919877767b95aea328f1c642452ed4d928847b762e91278c83d0413b7706dc3abdb8361b1a3683a833d7cc36d049290121570f2e537b1f34d SHA512 75fae654d71263a557f2469f128e9e833435858fc53191893401e7ed8231bb0aced7d17ec6a86c76e575b266edc2835a302b268b31440f4ac5535434d9de2a54
+DIST firefox-95.0.1-hu.xpi 561844 BLAKE2B 6d2607df52cdd15473b4b0c79db650349160dd4764452da72300fb2a0e1bfd425626bd564cd1cd1a41cecec55ee0503af9e2fa490d4d5865a6569d9bf1c132a4 SHA512 3f17f99e1a682049a07b8cb53dc2e60c01a80b6a8a8db4eea0a402c87db2d313cb86f3531060e0ef8072d25e9c163351e131312b7418ba0f2a2013e7d0306e6f
+DIST firefox-95.0.1-hy-AM.xpi 576868 BLAKE2B 472046bb2d7409dfad2446e56f9d40f4c7015cede7c82a7bfa0070aefed91657328e1eee9ccb6c4debe1c5024034b8d75c8c4639c3a184fe53a7ff9aeefe0a25 SHA512 9d2f0f97f4257858a7bc618e813de49e0d6bc8056ad32b4dc4d756e06eaa5f71e72413dc487dacad629daa3ad19aa72b619a06d99c1ea77cdf8ab9863a1167c5
+DIST firefox-95.0.1-ia.xpi 528441 BLAKE2B 566feef2c28d7c7357e7db11bf228ea6d0fab7fb5aee4f29c35ab78815aad6ec5950ad0e45565bac0347c6524e98457ca9e44dedfcb30ef4d30df0fd9c70b3b6 SHA512 56eef44fa840f839b55ed5b8d1a16a6710d6595934e2a9357f3335029f6102de94bbb53f390ca9e4287db6654fb85418f39c4956414abc6620c6d5d18c42cb7e
+DIST firefox-95.0.1-id.xpi 518127 BLAKE2B bea031f46fc845ddcab0d1f4436f03e4639278483a215bef2390405263541653f50a54920a2f765bb5f8c67f26221194edf8bbfa67c5ec98d210520122214b0e SHA512 bb65d3f435f79f7e6927e1ddaf76f199029da092dbcbdab4f776004d882523524da8a99833b8e355a8aa215dafe7353e9e4699fbc2eb44b9a48d37dc29558d5d
+DIST firefox-95.0.1-is.xpi 467518 BLAKE2B 76f0641219ccdb6cc5caef4b82acbbb6ce5428e920952a29f1c0226c6d253e92a6371966bc3b640041737cb0a54d3ec5622a554ccf44f60f6dc909cd3643d4bd SHA512 94f51fc494188205c7ffd9633f5291dd13cddc03db39834ec45ef68b9e2aa4bff203b0a038a1304e7beb277f5cee4ec46f0d4fcae120250d168efd6103b971b2
+DIST firefox-95.0.1-it.xpi 456468 BLAKE2B 62eea1c0434a5c5895fb6d7d5e0db6fc755605cb6cf3dcc5119fce6e3dcb328d8be6b988934fc3cd028487ec4dbcf840cfd7850e9bb85a72fc5336011d4edef2 SHA512 5921a8090394af7fb4a210936ea11fbba7b20b75d63d2830bdd43f1084503bbc0512672f7363c62b53f71ce39f506e57a6a05127f69b9174b54e6fd054d170ab
+DIST firefox-95.0.1-ja.xpi 583406 BLAKE2B 4205dcd77daf1fa4649dbcef72871f6f2770bdcc2be59bc30d336f61e583cce98dc4d9eb892a6f05627323e956b19c34f7de48be68ef6e69c4e1a5fa41cb6e27 SHA512 aa688e5920add12239f4d7d8d90b9218c6df0551dd13f171528357b0ea5308458e81164472025ea6ab34b727dbb8f4cb1324f50f8232c07b6d07d5f76cdf965b
+DIST firefox-95.0.1-ka.xpi 587675 BLAKE2B a583c33a8f9142ce612cc43bb111b2befc0050ff758be8967ab4d6f38edc14930a2ae3fe1b878a9316735bc2ff887994971ee488703417d576e280c992b1b5b4 SHA512 ea64cf59659295311ca122ceb7c310b682e6a8e90a1f2a6ec4c28a793a184ccb379d9c3df5129d0d5488635d4d412e6a3928c44a977dbef82740439486c83054
+DIST firefox-95.0.1-kab.xpi 543123 BLAKE2B d01c87ff6ee1f5e512b3ab076cd7b21938b604b7a25cd2c5c1e4426c96b45fc8dfa3479faf73cc622f6cc2f47e14e6c307d9b4ca2580d99c6bb7f57eafe1d380 SHA512 3217bc52a16972e77b497966d332c971b9bdc98e42c8094f5b01c2bd0da7e3e1589e2f0ec914d863aa2cc248f444cc5f8c126b51e436ea233da3a167d222fed4
+DIST firefox-95.0.1-kk.xpi 601962 BLAKE2B 43e16e4f63c650547543796e6a5e412002249c627409e23b6570f1b7fc81a5f3049a6521bd13e672f0b69c2cbb5f53eca4f442e6ec2b6fd52fd79c77b2b7a10c SHA512 11f6fea2d7d020e72dadbf60d3da9ff9d80631eadafec8c74fabd6cfae8f639665e7a56b7427cf4f4593c11765794da04d9341ed1380cb3d30c7e0fbbec2ccc0
+DIST firefox-95.0.1-km.xpi 528933 BLAKE2B 3d1dee2e5e65d9fb248b4d04c6d4e23ab820968bd97e91774861a73c1cf1d56d81a171d28a9d72e34ddbc03d6db6ea218d337c2d34d39f1ffedae6690d7f8fc3 SHA512 02ea54a155407727d41441833a46f6782856b898ae239f1a0a9e35346a2438d24b4d658c4eeb1da4b02072fd50558ce10d6b2e75a25de60219d8e89b0deccf59
+DIST firefox-95.0.1-kn.xpi 494304 BLAKE2B 75b9c0119423935576376c2330c19ab5ffe8c3f510078bd4c51ca43e7d3d2a150d499d70494a87b2ed2ecf19a050caeb312a5646b96200bad108d398cf0d50d7 SHA512 0be1c2cb574209eb434549674813fb0db6ad39a77ff3b8ea1abc2e3a67c8ef58297d0f60eb0dd6017b39c4dea3e4e5f8e392c4bdca52e6742ccce4db4a641856
+DIST firefox-95.0.1-ko.xpi 574792 BLAKE2B 7c09c4682bed6db4ec7d4f53adabe665a11aa4988329832e96c2e7eaca30db756dab938559a3d2784922d7eddbf201975aa1c74ae1dc3ec694c793b5d64395d6 SHA512 b470c0ed21c421b3c748290125fa52d4b4625838d334bd55fd1e0110129310d5ba9946b4d95be00b19559ab6cb08a928923d386cc589ddf7d8cd3178cb39f6cc
+DIST firefox-95.0.1-lij.xpi 467374 BLAKE2B e18be8b8d90704247c51e5f02a7efcb6a7e37e18b4b61c80de955a18c14f5d528791f6265a67ce3d42b7116531f1b6b7e0fd400ce3017584f3c0798d84bf6d92 SHA512 e9658484c0b5b7c4917f7df6820ac7c523e4363655531bf45cbfab9b2452b17ed8bc7beafeb034a1716e5b22128d33f51341eef6d0e501ad8ebf3010b44bd2b5
+DIST firefox-95.0.1-lt.xpi 556119 BLAKE2B ff016fbd85d8bd117d3fde8b75a97672ad100eb5bf2810dcc0c6c797c102664429a0c1e4344a6f36220e119dd3bb46bc0effaa6ceb4db3c5000e20774e399bae SHA512 7474edeb8456bc318d8113c55f7cf80ff6cee06c574a4783a0148ba2c7403b62e4baf869d5e8115d52484112c806006bc7a2e715626155105d305cf19311c023
+DIST firefox-95.0.1-lv.xpi 459575 BLAKE2B 2e0e216db6fd845ba498b1110cfc9d0cbd75254e58b6b092e19301014f2582bddfcd044ee7a840e790c3c8130eac7f3afa2282ecc4f53d865e0399cc46c137bd SHA512 7c76972a1a4c457760cca787bfccd5624188ee755ea2ab2092bfcc42e2a00fa7734ffddf54b86d4f5e9c6dca37298e4be0c3301f388acb22f1e6b605330c9f29
+DIST firefox-95.0.1-mk.xpi 460722 BLAKE2B 95f80462eb6cca4fef40188a8887a4a9751d599d9ace349fe0a528a3d97df24b33211c4ff0eaa65fdba4968afb2e685f50ed55fefa21271115840cf0745f7711 SHA512 fdc08551457d56a4d4455b144b752a699a628d4f566e7e699d843e2cf9dc8b1f0397433088cc4464e89016bf50252ce3e73b29b156ff4070527fd8d7b3715d56
+DIST firefox-95.0.1-mr.xpi 528740 BLAKE2B f508437ae4392cd52286ef490ef9f403ef142a7dc64d5a4e8e5fb3b985f5534e31dda59a565591806d908a450eb378935192ad75df3fe126998175b00c0df35b SHA512 b1c9b2748738cf212b5ecac2024712d557c5869b77e789b288700180f0fed585a9627b73bbb7a52aba25233b694765309532ec8fcfdac7726ce8ab85b4bc652e
+DIST firefox-95.0.1-ms.xpi 444657 BLAKE2B 122105b560f86db152a1c88d85c96f5838da8da8c0e23deb367ce0f2ee241f41f4cebd4d1d70442635dc7383ca33bd658086353915cd68da99d3bde2413da27c SHA512 43c6e8a1607b468e744253efc6aa4757c109dacf8e173c4c33524a09eebbfe875f404cd4145956c438446783b0370998a50b6e89a92ceab5a6f7e390091c5534
+DIST firefox-95.0.1-my.xpi 512518 BLAKE2B 0d763b939d3ac612ac78fbda8da0137fbf9134c058ba37a6aaf684fbb7f0049658fef394501dfa67fff59e7e435e29dc44fb7bdfa1bb1e85e2b22f64adb5523a SHA512 42e63e345d7443de6aff41f472cb2b30802578ae86c0a6d5dedc0319dd46d51d50166b8bd6f93f4139f020e9748dd2f423f04c9dad4125d467888c1b0b793767
+DIST firefox-95.0.1-nb-NO.xpi 525742 BLAKE2B 517f3d4c349617b82ddcd9d8b642eb3ed7f5cd880d5a08deef081709ae8a3b7ac8e5fef9634f71260476a478164c6f20daf6def5eef2e616da5380f90e7daa62 SHA512 49158f42d67235dcbdcdba408c10deece2db08ac0cc2098e0dad8e462da103b785058cd96af3e4b2ec16f745e4e806ada6c09260230fd327b6d315ae67c64b50
+DIST firefox-95.0.1-ne-NP.xpi 481250 BLAKE2B a95b40b76c00eead3a5f3ce80df1d2fc3ecfedb0d4e0abd63047bb33d78ce6657b77971b70e76543eb9602b187ef12f0f753f65be7757513659ebf5c32c2a693 SHA512 277f46e32c674cf24291a610c28183ff2bd86ca26b28b5697a571de1efdd4d8bcb9c1fbc23d76dd8f3b359e6f002110dc7c6569fba628aaca07b2df5280a9637
+DIST firefox-95.0.1-nl.xpi 533457 BLAKE2B 839b250477a363a658b29447cfe9588d7bbb0ad9b84361f013099b1ff6e6849a3196f308ca05b7ded5ef40f8a0110558237d6250b527bc1cb0fc25d2c59645a7 SHA512 eecaff46702eba4e760f4a70b87fc56753ace9d302e38010a24ebda8431101ae27c724ee78f05d80950c2cc7d838855f8251368015d182bea9ac0e72f73d5577
+DIST firefox-95.0.1-nn-NO.xpi 527939 BLAKE2B 859fa6f7cda5ff5db91a35902dbaccb3e2056bc297c171e66c46f8c510d776a71afc9af1de3b04f44d4a20ca4767a14f3e1a115fe13043895152c8d13662b327 SHA512 e4a97cc172938b92344d24f7959922bf111131d7d31ab7ac38944121bffb2dbcee562dbb895926f4f756280c31643a48f73bd275043929d71113266081c715ea
+DIST firefox-95.0.1-oc.xpi 549085 BLAKE2B 3fa5a45f1eba8220946392183667c9c0211859237648fddc86a817f1fc615b38d02d230a9160cdb08fe8b37afc436ff867b67e19205ff56c64b601b7be5aea79 SHA512 6d86a27c9e0060fb8e9ddadb140f63e5b791663be6c7ff9bc5fd5bee791570a7b5e8ac64bde84d3fd78470f00f39929f0b45c9d81cd60ed389f93976bd9b036d
+DIST firefox-95.0.1-pa-IN.xpi 592190 BLAKE2B c14629aa1b8f1400c27cc6eea313bbf46adb0ef70a955f74e50d2eaacc7b018b513432012e9efddf0cdf6ae0ecc8e46a2531aa12b2e75dceaab1e0e365e2f824 SHA512 5bb4973502f5bd03f33d30b05a44b3ed721293056e31b9c4000130e8d999e1e9cf3af9b94541ebe46f694a3419ede2f92a9bd745e257eb3a8442245d125fc344
+DIST firefox-95.0.1-pl.xpi 551776 BLAKE2B 1e2216ff49142a97dfa3f3a25e5b5762fc5b1b56acd85324f15935b031a9f786a2265916e14b682a8a0fc3fd9c9f84478f7bf8f47f6acc43bcc93d4cf76dd90e SHA512 235f633cec1e55937850680c91d5b9ea53db19dba58078524cb91b1159db9a4d012686959c914b298ec3df475057f7d4d239739515ba601e22094e9b5b571f10
+DIST firefox-95.0.1-pt-BR.xpi 538829 BLAKE2B b61ad2660937ed50f2acbdd682ca8d2d7d7abb1995b712318237092e4f464e63f20c49754e6cd2dfc7f8a595c482ce14941cb1111e8249dad2d6b23c1875323a SHA512 b6929323e44f7e041bdb986cbae5795a871f1cf848067edd93dd843af461d8fd9d47cd7b5c0588a3d0b597093a8b7832b06cf5a68c4c70ee23b4a5cdf5e3856a
+DIST firefox-95.0.1-pt-PT.xpi 542292 BLAKE2B 077cc4c3670c8d0e1d676e6daa1f30cba288be40e934fda11251a465098ac9e6b3d2df88543f9832edbbe95dcd56559ddb117bed2b43b5c78e615881d115f295 SHA512 b64d8ad52cd7a28a014040fa730de6788f12c919474d971ca11f0f290a5910336dea1286991142c14a164286bcd4f9a6195b26b423c0379248b0c57f6fc65709
+DIST firefox-95.0.1-rm.xpi 533363 BLAKE2B b7d104a30bd76b72cbd8fa6413a004d4e983eee677941b9f96eb55daefbe37e1236f1dcd39db64bcd9ff3dc6ea72ba8930bcdb41e90aa73941df4e1333f894e8 SHA512 bb2e4fcf1a1e9af184be87350ceb9a4c4c8e0250e7feb485f711013807a7df6c35d7415b3ef9072c59d885255d3916ca0446c2c0e05334a6551c80d6f9d6349c
+DIST firefox-95.0.1-ro.xpi 526938 BLAKE2B f35c6d19711d9b7ad1182537bf5cebaa55a63f40cead52da017cc3c8fdeba97abcb5b33def9a02f1d92cffe240765c9526919b1bf327427f23b9abb656280287 SHA512 330c47fb34ea1d9318731322eb430124870924f412a1764bae653ec2a8145cf47d035b26d9a91c9cf4625bfe545e23350420f2ed75634c93b1dbbcb673770ee7
+DIST firefox-95.0.1-ru.xpi 622430 BLAKE2B 6088c55cfc382d236896b34350fad9ed5f78c2435cf4f9ad7e497172da4dc748e4b042e69da0f28759e9adc0bf8a0157cf547104d26b079dd62bc30c646f1aa1 SHA512 d90da2fdab3190558bd99e45d3139b1a7f86e2a59e647438b71fa866ad3bcb49333a45455963fd3225ac8fedd34fe3feee6ecf950262f7b462f7c7b3426ef0ea
+DIST firefox-95.0.1-sco.xpi 502275 BLAKE2B 4a085e9c486451a244bde54501c6e8b32773782a8de2e54ada6d2ac44b1507f8932b311331e8e5ba056c8516ac155bbf37772494aa292d5c790790eb90ec206f SHA512 3fccf0b470dc048e2dd0005ea2c3a60a03067654edd174631717837d47db2e46386d45f7a9ef44d0d0a5be79dc84ea9abeaba0966b5ddb89b79c2a93facc17f8
+DIST firefox-95.0.1-si.xpi 484213 BLAKE2B b494152917b398212da03267b80fe4ccb262e17b9a456cb1c0023b5648105686ee2317f2cc315308e8db9e54977f69f50ff9658c2bd245ca780c70beb971c7b3 SHA512 3fcaf2697a33f7b9c1418526718dc591823e2403a4ff7af09788aa9a8db267a478203fc198744cb1b4562c7c5110934eb0af21c0460d76d725a39eadce0d7f73
+DIST firefox-95.0.1-sk.xpi 562412 BLAKE2B b014c3b7cd541e925ee4b1b809f8b4b161827774ba7006cf45bcf0a6bf7602502577f3182ced3801a7b21489b29f7fca50ae8db506e1298dff90006c7214f7a6 SHA512 81d6a28b2ecff02d75069c7b8a1b40e8d94b20c9663bc0483a39cac50615308aa1b38955de3314adbdf85f45f2c0faf1df51823fc300f5ec8f7c39680bc5924b
+DIST firefox-95.0.1-sl.xpi 534351 BLAKE2B 0cd09a6dc7fd8838b66902123e86d8c38fb1cd652d06d97031593a4cf51f69b6b136f3ea2f3a4ac1ff6f195ed4bf4d3a20d6c7cd5755f4c02c81cfff134224f8 SHA512 39a500bf41ad001a0f2c1919386b214d7de2eb3598b02eeca189823f71c707edb1b5f23247b15386c84d03f84c0a58d49896e801c66ad80303d6eec86bb5d742
+DIST firefox-95.0.1-son.xpi 420615 BLAKE2B e0db7d54efc086c203cfd8f4f074db425847ef4f87721a82e2f4116a34318d56ac7098ef1270333ed2a6f6f3de1ff210db8038aa67e07e9fa080ec875f953b53 SHA512 bb214b858cbb51c278aa81350bc0598e66aece1fd02868a94ad5acbc2ec85e4a2221efe9c7edf1e795d9b61065927ce6fcdaf2074195c04603d827674e889dea
+DIST firefox-95.0.1-sq.xpi 552434 BLAKE2B 3e31e9e0429fc777e409993f6c179d466fea4c1c49db55f391190b281cb6203708e08caf7a36f8116afd49dbf554fc70abbbd14128363b6efcb990902a1c9839 SHA512 599ccc7c45ed5602d7925d681166297def13f556c468f20704b1b61389ea72ebec63aa44ca867abc6027fd69f22b3d9256ba08c93f0834d7499712357fde21cf
+DIST firefox-95.0.1-sr.xpi 582870 BLAKE2B 764ac46aa1d2a4535fb343e8819ac8b47849f4780ee209cd6c7b0fc3c82c111aa926bdb7666116de0e313f9943b9fd10dbda8eb2f7f96499de63a0a4e5c29df9 SHA512 e0d2be54d5cc17edb47581c2d311b6b3471bc8b70fb7421e64accd1e5fa3a6c762307e13cd0fb80ce9657aa8cea2f4de8cfa86918fd8814e2020af2376803e42
+DIST firefox-95.0.1-sv-SE.xpi 536151 BLAKE2B 7156da113d5fb1f5dfb720ac3e3f9c7d329aeb9a78c73a4e2b9e8a7408aa461dd1bcf82e63f02b5fe0a34b6b5400b21495de6569fa1b0ade47ffe76277652828 SHA512 72fc32b6eefbdbc8b0c17f41bb3313b4b03f3cd86eb28ef4f300a1fba4c5b40b4d57f9722c20d3ce94e8d63f6782cd53077c43f59b7dce9ccb6882761c2f65e5
+DIST firefox-95.0.1-szl.xpi 507033 BLAKE2B 8343cddc67dd5d85fff0e92aa65aaa2e9d17830e3aed866f67bee2270386f7b42251cf745136aeeb53cc774ae35a6aff46a74c2c77c7a88338c8f520abf96b5d SHA512 d7f7228c02eeb14b9152e25b8fdc33cb3ac84bbe4102b9868b9378aa3214b24529f6976a2f528296f9eee7aa5175cbc0c186f5a7944aeda0e24e0de7860b9b7e
+DIST firefox-95.0.1-ta.xpi 509397 BLAKE2B 21bd44fbbb66e1425211acd80f7b075dc9a5d441d84b1a88ade653ceb33be94eb46699f9527a3dbfb1162536b10bc6a2edf0c898f09bb2803a911654f6e5da51 SHA512 d34757455711f5e25a2ae1a22446c65a85d6da58e41d196fd7352ec28682f54d08f57ce92a6791c040cf59a5f7131ff1ed34e24b749aeab8c2d34a54b83ca711
+DIST firefox-95.0.1-te.xpi 546764 BLAKE2B ca4dfeb99fb5a4302ce9d0f3d548c40d61a5d06240e0c62ef4d00ebd92355189af14b4c64a3021b1d084ec3e0e2142ee2a377a193031c8ca71447888cccbaf55 SHA512 1fa8f3f5b4f3bd22a103970283ed3aa822762bb287f62ca6561519250fa6bfe9fce5abdb0d2d96904bf0ecdbd509ce3d94370b0d046da28c1bcfed1f3f4079ad
+DIST firefox-95.0.1-th.xpi 602707 BLAKE2B fb6c505b4bc16a70667ee3bcbe0511079b1c4a8080917e75cc5bf138e2a093e38111d67bc1967d1e144abcb559c4593cc46703ddfba040656c0d40645a70dc0a SHA512 10068d0c1dc56f96281300a673469dcdd19e842d8a408f2af16ee064132e5260dddfccb849ca9141897cbd35385da7676ec7329ac7c95446259030392218e3d6
+DIST firefox-95.0.1-tl.xpi 514079 BLAKE2B d59182c669fbb3a0a42d97d55ff17a980e6ae288ae350548cec8f2864712877574376c8993c849985be1a583f879b534b79b9c3c510fcbf5d796ca8a23931f61 SHA512 9bfc3067ca5b2a1ed4decfe476871654416808124bcb3a705a36ee694cde62b94e2179c1ae0a036ceb0288d11bcb74b81f3f081a9be834ac95a75286ce523696
+DIST firefox-95.0.1-tr.xpi 549762 BLAKE2B ac4c43c88c8f9d96ae87b5a2b396f7fd9c2191d1f71610296f3effff8c8b915f59628ae9acf05e13393f9a5c18bc56b55f16815c7557328d29c08c0d7296c392 SHA512 5ab4ad640f5cc083141e582fa81e886d7d05446cb81a04096f787dec53e9679fcc5d093db758bee5b7a5ae64784b861483cce4d75a3082aa2c30a29d5d865f38
+DIST firefox-95.0.1-trs.xpi 487969 BLAKE2B 871d050d3050fd7e630ec734bd4988b7aae3ada220f239cbb59d7777683bbbfc044bd0403d204c73d43f72d41d8dfb10bf06e6fa3d6d838ad156a5896b057458 SHA512 792aaa157ed0552dfbe1608e872da00f786dce493b48ecba0432af40ddfc2f3ffb2b11b6a6081563948626f677683e3267d04719e5c2753a69f9b0a64a69ab90
+DIST firefox-95.0.1-uk.xpi 615803 BLAKE2B d6c6230cd71c5e5997b987359ad819356d7baf9c3451864ce0dd4f40bb154bfd731060b30ea62473a97ff8545cf55bcd8458cdcf2755211495e4e6b9cd6ca683 SHA512 ce464fc2caa17b08cbbe66c9b16b966c47d709b4b71994071e7555e48fa7f67fb694d25e371646f27d6160d5d76f8422089247bd7c22ea81829d2025dd695e4a
+DIST firefox-95.0.1-ur.xpi 554243 BLAKE2B 806544101c99212196c6b996e7935c960086c18a4ba5234729123cb87aa0e764911997b987d2e6b4d58a274396015942652692a8658114384d5151f18e3893cb SHA512 0ce56a774252f31371c54443277530b35de3bc0a519527203e563260cd53a1b77f7b6f6ad35a91b41b3a899ac067e1dab27113f001a52c07e2ca8fc2bdeaabbd
+DIST firefox-95.0.1-uz.xpi 463754 BLAKE2B 07eb91a21da907cb144d6c3962e880b99590e40a149177364660f615dc3a6383443dcec7662c9be7a21f47c4895d2708d88ed8d6b5caadc584d990576a7fd63b SHA512 2f4b633065c6a498aa12cbf38817972bbb17ca8bb83a7296f2484de2d7ffd0ae1929f10c566c0ad10bd0673b4b747d600c6904a1dc80c7db3f560a7d9d7f219a
+DIST firefox-95.0.1-vi.xpi 569425 BLAKE2B 2f5df22c7739e80c1b74ce8791685033e5d8659368e4b7a9111807d8ccd94fa9ad7e159859205237c5cd285c74f30809fd2d78dcdd7fb43769ef408c6d65fd40 SHA512 f67dfe441c584dea2fa2240bacfcfaf1c5cf895d312bbee8eb9c59fd7d7f3a3cfebb768bb2d7d7494cee190113dcc34c324651a3b003e75029eab473806929a3
+DIST firefox-95.0.1-xh.xpi 424124 BLAKE2B dd7fce7450c6bbbe0f23287fec584845cbb761ba95b6b442a9d5446fe5d619890fa6d11a711faed6721fbe84a5fc3a3bcb76cb82b3a8442f22d5bdba656c26fc SHA512 bbff3ae8a9de8155d1d9853a2ac69353ccb4db28a18e6a1bf744a7630d1e288a1cc8036db561031f816629dfcf6fa8d6768489e62dfb7530184542573a6bea1f
+DIST firefox-95.0.1-zh-CN.xpi 571143 BLAKE2B 68a55217e070104b8405f60c6b7dd329f582777289584e2dec342f7a7088f1ba122788df6c8f7a2b18989153fe63e82aecb3c8f9f76921b441d963a97365e651 SHA512 4fc8d6fdf084972e9b0f2a6a02185fe85d234ca54c73db8c127ada7fb757ef050be05f23468238c6aee12732901f9fb267a59bff1fec16d954a0a596665020b2
+DIST firefox-95.0.1-zh-TW.xpi 571960 BLAKE2B 4879e8cf4df8c6b216bd326f7d8adff184607d62f4b8538513494f892d4a264621ed97cc0e6944c7e05e1472b7e76130bd5b125bddf139b27f7acffa18e76162 SHA512 19d9a2df1c64fe8e9755669905b4cbcebfa7ee1578c77b0138937b618aa064ac90a0be852ebf389ec79b1047db5fbed33c056429ef8fc86642b8ae16f8e44f36
+DIST firefox-95.0.1.source.tar.xz 385073408 BLAKE2B de14e696d8b30b67e6dd976e14fe49e1fff38edfb31560485fbb6253ae755b080e64b6bd866b2b68b19294843bff0f9b7f05837d63a952e59a1dee35e26c9d1e SHA512 54887c3adbf7202b835ae1ac928c3c95516ef11f9894456561dad500a1a61623f926b37f6e02fef0898e7ee0fd9147a71e5432634e6e0a2c2fecd08509799c37
 DIST firefox-95.0.source.tar.xz 382853940 BLAKE2B 64ff056f2e8a21731a920a5bc4580d3bc8805b40ac1c0ab3d6cf3811cc1e058ee9363f85a9c8bb086b1bc87462b7feaae565c459edf37417b44cba6e0727dd94 SHA512 350672a2cd99195c67dafc0e71c6eaf1e23e85a5fe92775697119a054f17c34a736035e23d7f2bb404b544f0f144efef3843cfc293596a6e61d1ea36efc3a724

diff --git a/www-client/firefox/files/firefox-95-fix-fatal-pip-invocation.patch b/www-client/firefox/files/firefox-95-fix-fatal-pip-invocation.patch
new file mode 100644
index 000000000000..d39a6e1f72bc
--- /dev/null
+++ b/www-client/firefox/files/firefox-95-fix-fatal-pip-invocation.patch
@@ -0,0 +1,13 @@
+diff --git a/build/mach_initialize.py b/build/mach_initialize.py
+index 32f3011..5e6e2b4 100644
+--- a/build/mach_initialize.py
++++ b/build/mach_initialize.py
+@@ -207,7 +207,7 @@ def _activate_python_environment(topsrcdir):
+             else "MACH_USE_SYSTEM_PYTHON"
+         )
+ 
+-        has_pip = (
++        has_pip = False and (
+             subprocess.run(
+                 [sys.executable, "-c", "import pip"], stderr=subprocess.DEVNULL
+             ).returncode

diff --git a/www-client/firefox/firefox-95.0.1.ebuild b/www-client/firefox/firefox-95.0.1.ebuild
new file mode 100644
index 000000000000..c94e31f56b4c
--- /dev/null
+++ b/www-client/firefox/firefox-95.0.1.ebuild
@@ -0,0 +1,1240 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-95-patches-02.tar.xz"
+
+LLVM_MAX_SLOT=13
+
+PYTHON_COMPAT=( python3_{7..10} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+	MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+	# Convert the ebuild version to the upstream Mozilla version
+	MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+	MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+	MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+	# ESR releases have slightly different version numbers
+	MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
+	llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
+	virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+	MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+	https://dev.gentoo.org/~{polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+	${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="0/$(ver_cut 1)"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack lto +openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp"
+IUSE+=" wayland wifi"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver"
+IUSE+=" +gmp-autoupdate"
+IUSE+=" screencast"
+
+REQUIRED_USE="debug? ( !system-av1 )
+	pgo? ( lto )
+	wayland? ( dbus )
+	wifi? ( dbus )"
+
+# Firefox-only REQUIRED_USE flags
+REQUIRED_USE+=" screencast? ( wayland )"
+
+BDEPEND="${PYTHON_DEPS}
+	app-arch/unzip
+	app-arch/zip
+	>=dev-util/cbindgen-0.19.0
+	>=net-libs/nodejs-10.23.1
+	virtual/pkgconfig
+	>=virtual/rust-1.53.0
+	|| (
+		(
+			sys-devel/clang:13
+			sys-devel/llvm:13
+			clang? (
+				=sys-devel/lld-13*
+				pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
+			)
+		)
+		(
+			sys-devel/clang:12
+			sys-devel/llvm:12
+			clang? (
+				=sys-devel/lld-12*
+				pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
+			)
+		)
+		(
+			sys-devel/clang:11
+			sys-devel/llvm:11
+			clang? (
+				=sys-devel/lld-11*
+				pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
+			)
+		)
+	)
+	amd64? ( >=dev-lang/nasm-2.13 )
+	x86? ( >=dev-lang/nasm-2.13 )"
+
+CDEPEND="
+	>=dev-libs/nss-3.72.1
+	>=dev-libs/nspr-4.32
+	dev-libs/atk
+	dev-libs/expat
+	>=x11-libs/cairo-1.10[X]
+	>=x11-libs/gtk+-3.4.0:3[X]
+	x11-libs/gdk-pixbuf
+	>=x11-libs/pango-1.22.0
+	>=media-libs/mesa-10.2:*
+	media-libs/fontconfig
+	>=media-libs/freetype-2.4.10
+	kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
+	virtual/freedesktop-icon-theme
+	>=x11-libs/pixman-0.19.2
+	>=dev-libs/glib-2.26:2
+	>=sys-libs/zlib-1.2.3
+	>=dev-libs/libffi-3.0.10:=
+	media-video/ffmpeg
+	x11-libs/libX11
+	x11-libs/libxcb
+	x11-libs/libXcomposite
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	dbus? (
+		sys-apps/dbus
+		dev-libs/dbus-glib
+	)
+	screencast? ( media-video/pipewire:0/0.3 )
+	system-av1? (
+		>=media-libs/dav1d-0.9.3:=
+		>=media-libs/libaom-1.0.0:=
+	)
+	system-harfbuzz? (
+		>=media-libs/harfbuzz-2.8.1:0=
+		>=media-gfx/graphite2-1.3.13
+	)
+	system-icu? ( >=dev-libs/icu-69.1:= )
+	system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+	system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
+	system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+	system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+	system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+	wifi? (
+		kernel_linux? (
+			sys-apps/dbus
+			dev-libs/dbus-glib
+			net-misc/networkmanager
+		)
+	)
+	jack? ( virtual/jack )
+	selinux? ( sec-policy/selinux-mozilla )
+	sndio? ( media-sound/sndio )"
+
+RDEPEND="${CDEPEND}
+	jack? ( virtual/jack )
+	openh264? ( media-libs/openh264:*[plugin] )
+	pulseaudio? (
+		|| (
+			media-sound/pulseaudio
+			>=media-sound/apulse-0.1.12-r4
+		)
+	)
+	selinux? ( sec-policy/selinux-mozilla )"
+
+DEPEND="${CDEPEND}
+	x11-libs/libICE
+	x11-libs/libSM
+	pulseaudio? (
+		|| (
+			media-sound/pulseaudio
+			>=media-sound/apulse-0.1.12-r4[sdk]
+		)
+	)
+	wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
+	amd64? ( virtual/opengl )
+	x86? ( virtual/opengl )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+	MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+	if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+		einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+		return 1
+	fi
+
+	if use clang ; then
+		if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+			einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+			return 1
+		fi
+
+		if use pgo ; then
+			if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
+				einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+				return 1
+			fi
+		fi
+	fi
+
+	einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+	af ar ast be bg br ca cak cs cy da de dsb
+	el en-CA en-GB en-US es-AR es-ES et eu
+	fi fr fy-NL ga-IE gd gl he hr hsb hu
+	id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+	pa-IN pl pt-BR pt-PT rm ro ru
+	sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+	# https://bugs.gentoo.org/587334
+	local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+		fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+	)
+
+	local lang xflag
+	for lang in "${MOZ_LANGS[@]}" ; do
+		# en and en_US are handled internally
+		if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+			continue
+		fi
+
+		# strip region subtag if $lang is in the list
+		if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+			xflag=${lang%%-*}
+		else
+			xflag=${lang}
+		fi
+
+		SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+		SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+		SRC_URI+=" )"
+		IUSE+=" l10n_${xflag/[_@]/-}"
+	done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	if [[ ${#} -ne 1 ]] ; then
+		die "${FUNCNAME} requires exact one argument"
+	fi
+
+	einfo "Clearing cargo checksums for ${1} ..."
+
+	sed -i \
+		-e 's/\("files":{\)[^}]*/\1/' \
+		"${S}"/third_party/rust/${1}/.cargo-checksum.json \
+		|| die
+}
+
+moz_install_xpi() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	if [[ ${#} -lt 2 ]] ; then
+		die "${FUNCNAME} requires at least two arguments"
+	fi
+
+	local DESTDIR=${1}
+	shift
+
+	insinto "${DESTDIR}"
+
+	local emid xpi_file xpi_tmp_dir
+	for xpi_file in "${@}" ; do
+		emid=
+		xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+		# Unpack XPI
+		unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+		# Determine extension ID
+		if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+			emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+			[[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+		elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+			emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+			[[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+		else
+			die "failed to determine extension id"
+		fi
+
+		einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+		newins "${xpi_file}" "${emid}.xpi"
+	done
+}
+
+mozconfig_add_options_ac() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	if [[ ${#} -lt 2 ]] ; then
+		die "${FUNCNAME} requires at least two arguments"
+	fi
+
+	local reason=${1}
+	shift
+
+	local option
+	for option in ${@} ; do
+		echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+	done
+}
+
+mozconfig_add_options_mk() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	if [[ ${#} -lt 2 ]] ; then
+		die "${FUNCNAME} requires at least two arguments"
+	fi
+
+	local reason=${1}
+	shift
+
+	local option
+	for option in ${@} ; do
+		echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+	done
+}
+
+mozconfig_use_enable() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	if [[ ${#} -lt 1 ]] ; then
+		die "${FUNCNAME} requires at least one arguments"
+	fi
+
+	local flag=$(use_enable "${@}")
+	mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	if [[ ${#} -lt 1 ]] ; then
+		die "${FUNCNAME} requires at least one arguments"
+	fi
+
+	local flag=$(use_with "${@}")
+	mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+pkg_pretend() {
+	if [[ ${MERGE_TYPE} != binary ]] ; then
+		if use pgo ; then
+			if ! has usersandbox $FEATURES ; then
+				die "You must enable usersandbox as X server can not run as root!"
+			fi
+		fi
+
+		# Ensure we have enough disk space to compile
+		if use pgo || use lto || use debug ; then
+			CHECKREQS_DISK_BUILD="13500M"
+		else
+			CHECKREQS_DISK_BUILD="6400M"
+		fi
+
+		check-reqs_pkg_pretend
+	fi
+}
+
+pkg_setup() {
+	if [[ ${MERGE_TYPE} != binary ]] ; then
+		if use pgo ; then
+			if ! has userpriv ${FEATURES} ; then
+				eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+			fi
+		fi
+
+		# Ensure we have enough disk space to compile
+		if use pgo || use lto || use debug ; then
+			CHECKREQS_DISK_BUILD="13500M"
+		else
+			CHECKREQS_DISK_BUILD="6400M"
+		fi
+
+		check-reqs_pkg_setup
+
+		llvm_pkg_setup
+
+		if use clang && use lto ; then
+			local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+			[[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+			[[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+			# temp fix for https://bugs.gentoo.org/768543
+			# we can assume that rust 1.{49,50}.0 always uses llvm 11
+			local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
+			[[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
+			[[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
+
+			if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
+				local version_llvm_rust="11"
+			else
+				local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+				[[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+				[[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+			fi
+
+			if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+				eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+				eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+				eerror "  - Manually switch rust version using 'eselect rust' to match used LLVM version"
+				eerror "  - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+				eerror "  - Build ${CATEGORY}/${PN} without USE=lto"
+				die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+			fi
+		fi
+
+		if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
+			&& ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
+			# bug 792705
+			eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
+			die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
+		fi
+
+		python-any-r1_pkg_setup
+
+		# Avoid PGO profiling problems due to enviroment leakage
+		# These should *always* be cleaned up anyway
+		unset \
+			DBUS_SESSION_BUS_ADDRESS \
+			DISPLAY \
+			ORBIT_SOCKETDIR \
+			SESSION_MANAGER \
+			XAUTHORITY \
+			XDG_CACHE_HOME \
+			XDG_SESSION_COOKIE
+
+		# Build system is using /proc/self/oom_score_adj, bug #604394
+		addpredict /proc/self/oom_score_adj
+
+		if use pgo ; then
+			# Allow access to GPU during PGO run
+			local ati_cards mesa_cards nvidia_cards render_cards
+			shopt -s nullglob
+
+			ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+			if [[ -n "${ati_cards}" ]] ; then
+				addpredict "${ati_cards}"
+			fi
+
+			mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+			if [[ -n "${mesa_cards}" ]] ; then
+				addpredict "${mesa_cards}"
+			fi
+
+			nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
+			if [[ -n "${nvidia_cards}" ]] ; then
+				addpredict "${nvidia_cards}"
+			fi
+
+			render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
+			if [[ -n "${render_cards}" ]] ; then
+				addpredict "${render_cards}"
+			fi
+
+			shopt -u nullglob
+		fi
+
+		if ! mountpoint -q /dev/shm ; then
+			# If /dev/shm is not available, configure is known to fail with
+			# a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+			ewarn "/dev/shm is not mounted -- expect build failures!"
+		fi
+
+		# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+		# Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+		# get your own set of keys.
+		if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+			MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+		fi
+
+		if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+			MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+		fi
+
+		# Mozilla API keys (see https://location.services.mozilla.com/api)
+		# Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+		# get your own set of keys.
+		if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+			MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+		fi
+
+		# Ensure we use C locale when building, bug #746215
+		export LC_ALL=C
+	fi
+
+	CONFIG_CHECK="~SECCOMP"
+	WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+	linux-info_pkg_setup
+}
+
+src_unpack() {
+	local _lp_dir="${WORKDIR}/language_packs"
+	local _src_file
+
+	if [[ ! -d "${_lp_dir}" ]] ; then
+		mkdir "${_lp_dir}" || die
+	fi
+
+	for _src_file in ${A} ; do
+		if [[ ${_src_file} == *.xpi ]]; then
+			cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+		else
+			unpack ${_src_file}
+		fi
+	done
+}
+
+src_prepare() {
+	use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+	eapply "${WORKDIR}/firefox-patches"
+
+	# Temporary fix to fatal pip check run, #828999
+	eapply "${FILESDIR}"/firefox-95-fix-fatal-pip-invocation.patch
+
+	# Allow user to apply any additional patches without modifing ebuild
+	eapply_user
+
+	# Make LTO respect MAKEOPTS
+	sed -i \
+		-e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+		"${S}"/build/moz.configure/lto-pgo.configure \
+		|| die "sed failed to set num_cores"
+
+	# Make ICU respect MAKEOPTS
+	sed -i \
+		-e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+		"${S}"/intl/icu_sources_data.py \
+		|| die "sed failed to set num_cores"
+
+	# sed-in toolchain prefix
+	sed -i \
+		-e "s/objdump/${CHOST}-objdump/" \
+		"${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+		|| die "sed failed to set toolchain prefix"
+
+	sed -i \
+		-e 's/ccache_stats = None/return None/' \
+		"${S}"/python/mozbuild/mozbuild/controller/building.py \
+		|| die "sed failed to disable ccache stats call"
+
+	einfo "Removing pre-built binaries ..."
+	find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+	# Clearing checksums where we have applied patches
+	moz_clear_vendor_checksums target-lexicon-0.9.0
+
+	# Create build dir
+	BUILD_DIR="${WORKDIR}/${PN}_build"
+	mkdir -p "${BUILD_DIR}" || die
+
+	# Write API keys to disk
+	echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+	echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+	echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+	xdg_src_prepare
+}
+
+src_configure() {
+	# Show flags set at the beginning
+	einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+	einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+	einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+	einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+	einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+	local have_switched_compiler=
+	if use clang && ! tc-is-clang ; then
+		# Force clang
+		einfo "Enforcing the use of clang due to USE=clang ..."
+		have_switched_compiler=yes
+		AR=llvm-ar
+		CC=${CHOST}-clang
+		CXX=${CHOST}-clang++
+		NM=llvm-nm
+		RANLIB=llvm-ranlib
+	elif ! use clang && ! tc-is-gcc ; then
+		# Force gcc
+		have_switched_compiler=yes
+		einfo "Enforcing the use of gcc due to USE=-clang ..."
+		AR=gcc-ar
+		CC=${CHOST}-gcc
+		CXX=${CHOST}-g++
+		NM=gcc-nm
+		RANLIB=gcc-ranlib
+	fi
+
+	if [[ -n "${have_switched_compiler}" ]] ; then
+		# Because we switched active compiler we have to ensure
+		# that no unsupported flags are set
+		strip-unsupported-flags
+	fi
+
+	# Ensure we use correct toolchain
+	export HOST_CC="$(tc-getBUILD_CC)"
+	export HOST_CXX="$(tc-getBUILD_CXX)"
+	tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+	# Pass the correct toolchain paths through cbindgen
+	if tc-is-cross-compiler ; then
+		export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+	fi
+
+	# Set MOZILLA_FIVE_HOME
+	export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+	# python/mach/mach/mixin/process.py fails to detect SHELL
+	export SHELL="${EPREFIX}/bin/bash"
+
+	# Set state path
+	export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+	# Set MOZCONFIG
+	export MOZCONFIG="${S}/.mozconfig"
+
+	# Initialize MOZCONFIG
+	mozconfig_add_options_ac '' --enable-application=browser
+
+	# Set Gentoo defaults
+	export MOZILLA_OFFICIAL=1
+
+	mozconfig_add_options_ac 'Gentoo default' \
+		--allow-addon-sideload \
+		--disable-cargo-incremental \
+		--disable-crashreporter \
+		--disable-install-strip \
+		--disable-strip \
+		--disable-updater \
+		--enable-official-branding \
+		--enable-release \
+		--enable-system-ffi \
+		--enable-system-pixman \
+		--host="${CBUILD:-${CHOST}}" \
+		--libdir="${EPREFIX}/usr/$(get_libdir)" \
+		--prefix="${EPREFIX}/usr" \
+		--target="${CHOST}" \
+		--without-ccache \
+		--without-wasm-sandboxed-libraries \
+		--with-intl-api \
+		--with-libclang-path="$(llvm-config --libdir)" \
+		--with-system-nspr \
+		--with-system-nss \
+		--with-system-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-png
+	mozconfig_use_with system-webp
+
+	mozconfig_use_enable dbus
+
+	use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+	mozconfig_use_enable geckodriver
+
+	if use hardened ; then
+		mozconfig_add_options_ac "+hardened" --enable-hardening
+		append-ldflags "-Wl,-z,relro -Wl,-z,now"
+	fi
+
+	mozconfig_use_enable jack
+
+	mozconfig_use_enable pulseaudio
+	# force the deprecated alsa sound code if pulseaudio is disabled
+	if use kernel_linux && ! use pulseaudio ; then
+		mozconfig_add_options_ac '-pulseaudio' --enable-alsa
+	fi
+
+	mozconfig_use_enable sndio
+
+	mozconfig_use_enable wifi necko-wifi
+
+	if use wayland ; then
+		mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland
+	else
+		mozconfig_add_options_ac '' --enable-default-toolkit=cairo-gtk3
+	fi
+
+	if use lto ; then
+		if use clang ; then
+			# Upstream only supports lld when using clang
+			mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+
+			mozconfig_add_options_ac '+lto' --enable-lto=cross
+		else
+			# ld.gold is known to fail:
+			# /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld.gold: internal error in set_xindex, at /var/tmp/portage/sys-devel/binutils-2.37_p1-r1/work/binutils-2.37/gold/object.h:1050
+
+			# ThinLTO is currently broken, see bmo#1644409
+			mozconfig_add_options_ac '+lto' --enable-lto=full
+			mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+		fi
+
+		if use pgo ; then
+			mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+			if use clang ; then
+				# Used in build/pgo/profileserver.py
+				export LLVM_PROFDATA="llvm-profdata"
+			fi
+		fi
+	else
+		# Avoid auto-magic on linker
+		if use clang ; then
+			# This is upstream's default
+			mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+		else
+			mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+		fi
+	fi
+
+	# LTO flag was handled via configure
+	filter-flags '-flto*'
+
+	mozconfig_use_enable debug
+	if use debug ; then
+		mozconfig_add_options_ac '+debug' --disable-optimize
+	else
+		if is-flag '-g*' ; then
+			if use clang ; then
+				mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+			else
+				mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+			fi
+		else
+			mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+		fi
+
+		if is-flag '-O0' ; then
+			mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+		elif is-flag '-O4' ; then
+			mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+		elif is-flag '-O3' ; then
+			mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+		elif is-flag '-O1' ; then
+			mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+		elif is-flag '-Os' ; then
+			mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+		else
+			mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+		fi
+	fi
+
+	# Debug flag was handled via configure
+	filter-flags '-g*'
+
+	# Optimization flag was handled via configure
+	filter-flags '-O*'
+
+	# Modifications to better support ARM, bug #553364
+	if use cpu_flags_arm_neon ; then
+		mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+		if ! tc-is-clang ; then
+			# thumb options aren't supported when using clang, bug 666966
+			mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+				--with-thumb=yes \
+				--with-thumb-interwork=no
+		fi
+	fi
+
+	if [[ ${CHOST} == armv*h* ]] ; then
+		mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+		if ! use system-libvpx ; then
+			sed -i \
+				-e "s|softfp|hard|" \
+				"${S}"/media/libvpx/moz.build \
+				|| die
+		fi
+	fi
+
+	if use clang ; then
+		# https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+		# https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+		# toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
+		local disable_elf_hack=
+		if use amd64 ; then
+			disable_elf_hack=yes
+		elif use x86 ; then
+			disable_elf_hack=yes
+		elif use arm ; then
+			disable_elf_hack=yes
+		fi
+
+		if [[ -n ${disable_elf_hack} ]] ; then
+			mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
+		fi
+	elif tc-is-gcc ; then
+		if ver_test $(gcc-fullversion) -ge 10 ; then
+			einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
+			append-cxxflags -fno-tree-loop-vectorize
+		fi
+	fi
+
+	# Additional ARCH support
+	case "${ARCH}" in
+		arm)
+			# Reduce the memory requirements for linking
+			if use clang ; then
+				# Nothing to do
+				:;
+			elif tc-ld-is-gold || use lto ; then
+				append-ldflags -Wl,--no-keep-memory
+			else
+				append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+			fi
+			;;
+	esac
+
+	if ! use elibc_glibc ; then
+		mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+	fi
+
+	# Allow elfhack to work in combination with unstripped binaries
+	# when they would normally be larger than 2GiB.
+	append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+	# Make revdep-rebuild.sh happy; Also required for musl
+	append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+	# Pass $MAKEOPTS to build system
+	export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+	# Use system's Python environment
+	export MACH_USE_SYSTEM_PYTHON=1
+	export PIP_NO_CACHE_DIR=off
+
+	# Disable notification when build system has finished
+	export MOZ_NOSPAM=1
+
+	# Portage sets XARGS environment variable to "xargs -r" by default which
+	# breaks build system's check_prog() function which doesn't support arguments
+	mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+	# Set build dir
+	mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+	# Show flags we will use
+	einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+	einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+	einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+	einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+	einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+	# Handle EXTRA_CONF and show summary
+	local ac opt hash reason
+
+	# Apply EXTRA_ECONF entries to $MOZCONFIG
+	if [[ -n ${EXTRA_ECONF} ]] ; then
+		IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+		for opt in "${ac[@]}"; do
+			mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+		done
+	fi
+
+	echo
+	echo "=========================================================="
+	echo "Building ${PF} with the following configuration"
+	grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+		[[ -z ${hash} || ${hash} == \# ]] \
+			|| die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+		printf "    %-30s  %s\n" "${opt}" "${reason:-mozilla.org default}"
+	done
+	echo "=========================================================="
+	echo
+
+	./mach configure || die
+}
+
+src_compile() {
+	local virtx_cmd=
+
+	if use pgo ; then
+		virtx_cmd=virtx
+
+		# Reset and cleanup environment variables used by GNOME/XDG
+		gnome2_environment_reset
+
+		addpredict /root
+	fi
+
+	local -x GDK_BACKEND=x11
+
+	${virtx_cmd} ./mach build --verbose \
+		|| die
+}
+
+src_install() {
+	# xpcshell is getting called during install
+	pax-mark m \
+		"${BUILD_DIR}"/dist/bin/xpcshell \
+		"${BUILD_DIR}"/dist/bin/${PN} \
+		"${BUILD_DIR}"/dist/bin/plugin-container
+
+	DESTDIR="${D}" ./mach install || die
+
+	# Upstream cannot ship symlink but we can (bmo#658850)
+	rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+	dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+	# Don't install llvm-symbolizer from sys-devel/llvm package
+	if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+		rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+	fi
+
+	# Install policy (currently only used to disable application updates)
+	insinto "${MOZILLA_FIVE_HOME}/distribution"
+	newins "${FILESDIR}"/distribution.ini distribution.ini
+	newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+	# Install system-wide preferences
+	local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+	insinto "${PREFS_DIR}"
+	newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+	local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+	# Set dictionary path to use system hunspell
+	cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+	pref("spellchecker.dictionary_path",       "${EPREFIX}/usr/share/myspell");
+	EOF
+
+	# Force hwaccel prefs if USE=hwaccel is enabled
+	if use hwaccel ; then
+		cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \
+		>>"${GENTOO_PREFS}" \
+		|| die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+	fi
+
+	if ! use gmp-autoupdate ; then
+		local plugin
+		for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+			einfo "Disabling auto-update for ${plugin} plugin ..."
+			cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+			pref("media.${plugin}.autoupdate",   false);
+			EOF
+		done
+	fi
+
+	# Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+	if use system-harfbuzz ; then
+		cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+		sticky_pref("gfx.font_rendering.graphite.enabled", true);
+		EOF
+	fi
+
+	# Install language packs
+	local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+	if [[ -n "${langpacks}" ]] ; then
+		moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+	fi
+
+	# Install geckodriver
+	if use geckodriver ; then
+		einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
+		pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+		exeinto "${MOZILLA_FIVE_HOME}"
+		doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+		dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+	fi
+
+	# Install icons
+	local icon_srcdir="${S}/browser/branding/official"
+	local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+	insinto /usr/share/icons/hicolor/symbolic/apps
+	newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+	local icon size
+	for icon in "${icon_srcdir}"/default*.png ; do
+		size=${icon%.png}
+		size=${size##*/default}
+
+		if [[ ${size} -eq 48 ]] ; then
+			newicon "${icon}" ${PN}.png
+		fi
+
+		newicon -s ${size} "${icon}" ${PN}.png
+	done
+
+	# Install menu
+	local app_name="Mozilla ${MOZ_PN^}"
+	local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+	local desktop_filename="${PN}.desktop"
+	local exec_command="${PN}"
+	local icon="${PN}"
+	local use_wayland="false"
+
+	if use wayland ; then
+		use_wayland="true"
+	fi
+
+	cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+	sed -i \
+		-e "s:@NAME@:${app_name}:" \
+		-e "s:@EXEC@:${exec_command}:" \
+		-e "s:@ICON@:${icon}:" \
+		"${WORKDIR}/${PN}.desktop-template" \
+		|| die
+
+	newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+	rm "${WORKDIR}/${PN}.desktop-template" || die
+
+	# Install wrapper script
+	[[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+	newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+	# Update wrapper
+	sed -i \
+		-e "s:@PREFIX@:${EPREFIX}/usr:" \
+		-e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+		-e "s:@APULSELIB_DIR@:${apulselib}:" \
+		-e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+		"${ED}/usr/bin/${PN}" \
+		|| die
+}
+
+pkg_preinst() {
+	xdg_pkg_preinst
+
+	# If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+	# does not need to be forced into the LD_LIBRARY_PATH
+	if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+		einfo "APULSE found; Generating library symlinks for sound support ..."
+		local lib
+		pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+		for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+			# A quickpkg rolled by hand will grab symlinks as part of the package,
+			# so we need to avoid creating them if they already exist.
+			if [[ ! -L ${lib##*/} ]] ; then
+				ln -s "${lib}" ${lib##*/} || die
+			fi
+		done
+		popd &>/dev/null || die
+	fi
+}
+
+pkg_postinst() {
+	xdg_pkg_postinst
+
+	if ! use gmp-autoupdate ; then
+		elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+		elog "installing into new profiles:"
+		local plugin
+		for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+			elog "\t ${plugin}"
+		done
+		elog
+	fi
+
+	if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+		elog "Apulse was detected at merge time on this system and so it will always be"
+		elog "used for sound.  If you wish to use pulseaudio instead please unmerge"
+		elog "media-sound/apulse."
+		elog
+	fi
+
+	local show_doh_information
+	local show_normandy_information
+	local show_shortcut_information
+
+	if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+		# New install; Tell user that DoH is disabled by default
+		show_doh_information=yes
+		show_normandy_information=yes
+		show_shortcut_information=no
+	else
+		local replacing_version
+		for replacing_version in ${REPLACING_VERSIONS} ; do
+			if ver_test "${replacing_version}" -lt 91.0 ; then
+				# Tell user that we no longer install a shortcut
+				# per supported display protocol
+				show_shortcut_information=yes
+			fi
+		done
+	fi
+
+	if [[ -n "${show_doh_information}" ]] ; then
+		elog
+		elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+		elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+		elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+		elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+		elog "(\"Off by choice\") by default."
+		elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+	fi
+
+	# bug 713782
+	if [[ -n "${show_normandy_information}" ]] ; then
+		elog
+		elog "Upstream operates a service named Normandy which allows Mozilla to"
+		elog "push changes for default settings or even install new add-ons remotely."
+		elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+		elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+		elog "concerns prevail, which is why we have switched off the use of this"
+		elog "service by default."
+		elog
+		elog "To re-enable this service set"
+		elog
+		elog "    app.normandy.enabled=true"
+		elog
+		elog "in about:config."
+	fi
+
+	if [[ -n "${show_shortcut_information}" ]] ; then
+		elog
+		elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
+		elog "each supported display protocol.  Instead we will only install"
+		elog "one generic Mozilla ${PN^} shortcut."
+		elog "If you still want to be able to select between running Mozilla ${PN^}"
+		elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
+	fi
+}


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2022-02-09 23:21 Piotr Karbowski
  0 siblings, 0 replies; 25+ messages in thread
From: Piotr Karbowski @ 2022-02-09 23:21 UTC (permalink / raw
  To: gentoo-commits

commit:     2ecd527b97c3966044d4828ac44cfcbc882ad789
Author:     Piotr Karbowski <slashbeast <AT> gentoo <DOT> org>
AuthorDate: Wed Feb  9 23:19:27 2022 +0000
Commit:     Piotr Karbowski <slashbeast <AT> gentoo <DOT> org>
CommitDate: Wed Feb  9 23:20:33 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2ecd527b

www-client/firefox: 97.0: stub pip check.

Closes: https://bugs.gentoo.org/828999
Signed-off-by: Piotr Karbowski <slashbeast <AT> gentoo.org>

 www-client/firefox/files/firefox-skip-pip-check.patch | 14 ++++++++++++++
 www-client/firefox/firefox-97.0.ebuild                |  3 +++
 2 files changed, 17 insertions(+)

diff --git a/www-client/firefox/files/firefox-skip-pip-check.patch b/www-client/firefox/files/firefox-skip-pip-check.patch
new file mode 100644
index 000000000000..dba1056baf94
--- /dev/null
+++ b/www-client/firefox/files/firefox-skip-pip-check.patch
@@ -0,0 +1,14 @@
+diff --git a/python/mach/mach/site.py b/python/mach/mach/site.py
+index 8fef9bfaf8..61c3101c11 100644
+--- a/python/mach/mach/site.py
++++ b/python/mach/mach/site.py
+@@ -940,6 +940,9 @@ def _assert_pip_check(topsrcdir, pthfile_lines, virtualenv_name):
+     If there's an incompatibility, raise an exception and allow it to bubble up since
+     it will require user intervention to resolve.
+     """
++
++    return True
++
+     if os.environ.get(
+         f"MACH_SYSTEM_ASSERTED_COMPATIBLE_WITH_{virtualenv_name.upper()}_SITE", None
+     ):

diff --git a/www-client/firefox/firefox-97.0.ebuild b/www-client/firefox/firefox-97.0.ebuild
index 065a1f5c089e..1e4506d759ef 100644
--- a/www-client/firefox/firefox-97.0.ebuild
+++ b/www-client/firefox/firefox-97.0.ebuild
@@ -579,6 +579,9 @@ src_unpack() {
 }
 
 src_prepare() {
+	# Don't run pip check on the host that builds firefox.
+	eapply "${FILESDIR}"/firefox-skip-pip-check.patch
+
 	use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
 	eapply "${WORKDIR}/firefox-patches"
 


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2022-02-10 17:10 Joonas Niilola
  0 siblings, 0 replies; 25+ messages in thread
From: Joonas Niilola @ 2022-02-10 17:10 UTC (permalink / raw
  To: gentoo-commits

commit:     87e4d048cf7c2c53963be2a7224791c8a28218a3
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 10 17:01:12 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Thu Feb 10 17:09:08 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=87e4d048

www-client/firefox: 97.0 fixes

 - also export the 2nd MACH_SYSTEM_ASSERTED_COMPATIBLE variable,
 - disable sandbox feature with ppc64, as it's currently only
   supported for amd64, arm, arm64 and x86,
 - include the skip-pip-check.patch in the full patch set.

Bug: https://bugs.gentoo.org/832975
Bug: https://bugs.gentoo.org/828999
Closes: https://bugs.gentoo.org/833001
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 www-client/firefox/Manifest                           |  2 +-
 www-client/firefox/files/firefox-skip-pip-check.patch | 14 --------------
 www-client/firefox/firefox-97.0.ebuild                | 16 +++++++++++-----
 3 files changed, 12 insertions(+), 20 deletions(-)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 35b0432339fe..b6f0256c2718 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -393,7 +393,7 @@ DIST firefox-96.0.3-xh.xpi 424482 BLAKE2B 992b037fb299c6fb9a4336e5f0c42180e31db8
 DIST firefox-96.0.3-zh-CN.xpi 576718 BLAKE2B 5f3f90d0b882284e7792837fdf69a0013318a1f620f2ee6cc808b8978073a939e62082050876ae84c553470b699fef04994a37436db1b7b1bb3578ee0cf84823 SHA512 ffdba2148ddda29ce31a5bc550cb1a520de5e3b4be21a324d28ae5259175dc034293380b84bb1cc89a6b3dc2aa866aeed916f1785029bb861ed538225721b43f
 DIST firefox-96.0.3-zh-TW.xpi 577835 BLAKE2B 6e7dcd8ee056afd73f3270d1d337b4900134241fc14ba1f0c0850f61a7196912b0b7de59869fd6bf7712aabcfcb043c5e161d159bc4c72b2b22b2242b4c8d966 SHA512 aaa2b1cfec87e2fc6450b427ebbe4474320acd6a54b16a15a9d8118528f7856155e01acca884afedf75b9b98e13fab81f10c2fb85d9f899f417f5cfdcc02acc2
 DIST firefox-96.0.3.source.tar.xz 406721708 BLAKE2B 93f5f6258fb76323c45b21d15415d30069bcf2347d37b939b90d0f51d592224bd811972844848f1e1f9dab0f055e140b07693b4d9bb9e9f375358d2a56d00fcb SHA512 3dd5fbc96e369d5f4fb3eca778c2bd3e2313d089f867de9fac3556810a797e9b5629ef1b8840fb2f22a18df7de95ea1993eee052f691d861a555cea544b05966
-DIST firefox-97-patches-01j.tar.xz 16772 BLAKE2B adc0370358cfee820a8a74f81aca35591f6e61e7795b786f357fb93b1972c8b5f4506224a499560cb4d7ba3adee88a8b46a64aa411b4eef80c6789df25d69be9 SHA512 f82996a07d6218f9a507a42fb079d8d8e0c3ca661d8ea554b50f7a08989e130f42082b57b248eecfd6bb6a25febcf67657c6a31df89883031463053e9cc6ae8c
+DIST firefox-97-patches-02j.tar.xz 17004 BLAKE2B ecf13fcf814de06e6e93f6f81e3ac3046c51ed576eed13386299630f4a3fb171d380c6dc955a2d785916714a8e8b53919449d1dfffa5d82e786fec4080f92cef SHA512 5dc145f026893180ab07c46a4fedc5885ff08d7212a5bc59fab7bdd4edf29f6b8ab244e32a1ac8d9dd528fa0f146f20aa00b1c0631f55f9d23509de8dbdf6efd
 DIST firefox-97.0-ach.xpi 453065 BLAKE2B ae6a2ff0b39659d8b6367388bbbeadef61ea7cf91ae85fe594a87476a2402af5500d93f07d6bf1edf24da22de0198050b8fd44bd905cb840e971099be64a0c25 SHA512 82ccb67bfca8e402467d7cfe3b0c95e5eece0b85625a2232cb8c21df8ec8d6a91c9643736dac4cbcac8a54de87b7bf7a22586e1d89a798a7c4b1246d60870361
 DIST firefox-97.0-af.xpi 419749 BLAKE2B 6efd866c643327868539d500aa51ebe0a044033a9be9cf1465f63c60b6e99a4c090574379b6f7fb917b4b3348696e47c640fcea37a4e90866f09753c4aa29715 SHA512 f1e3e016dd880f65600c3c161dd56a3d1cf9014c7eaee87eb58e294213df30aa12fbb65745861418bd05bb71098db42264cfd7e3f2314dbeb98fd07ce930b4fc
 DIST firefox-97.0-an.xpi 499584 BLAKE2B 8696e412eb40458a90a590247ebee524a8713091277f2d4c8fe8a8fbd74b7ffe97cca85993435ef5b8eee6ef724b14004762cc8033391627699dd061d27afa8f SHA512 0651eb1b317dba01b5954741bbe3319a693e58be91216b730423c6fb4b9ab2a7463900bfe007e9b232daaea17e5f9bfbadde3fa1e87ff8db1555060cf9f462e3

diff --git a/www-client/firefox/files/firefox-skip-pip-check.patch b/www-client/firefox/files/firefox-skip-pip-check.patch
deleted file mode 100644
index dba1056baf94..000000000000
--- a/www-client/firefox/files/firefox-skip-pip-check.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/python/mach/mach/site.py b/python/mach/mach/site.py
-index 8fef9bfaf8..61c3101c11 100644
---- a/python/mach/mach/site.py
-+++ b/python/mach/mach/site.py
-@@ -940,6 +940,9 @@ def _assert_pip_check(topsrcdir, pthfile_lines, virtualenv_name):
-     If there's an incompatibility, raise an exception and allow it to bubble up since
-     it will require user intervention to resolve.
-     """
-+
-+    return True
-+
-     if os.environ.get(
-         f"MACH_SYSTEM_ASSERTED_COMPATIBLE_WITH_{virtualenv_name.upper()}_SITE", None
-     ):

diff --git a/www-client/firefox/firefox-97.0.ebuild b/www-client/firefox/firefox-97.0.ebuild
index 1e4506d759ef..89c1930260dc 100644
--- a/www-client/firefox/firefox-97.0.ebuild
+++ b/www-client/firefox/firefox-97.0.ebuild
@@ -3,7 +3,7 @@
 
 EAPI="7"
 
-FIREFOX_PATCHSET="firefox-97-patches-01j.tar.xz"
+FIREFOX_PATCHSET="firefox-97-patches-02j.tar.xz"
 
 LLVM_MAX_SLOT=13
 
@@ -579,9 +579,6 @@ src_unpack() {
 }
 
 src_prepare() {
-	# Don't run pip check on the host that builds firefox.
-	eapply "${FILESDIR}"/firefox-skip-pip-check.patch
-
 	use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
 	eapply "${WORKDIR}/firefox-patches"
 
@@ -707,7 +704,6 @@ src_configure() {
 		--enable-new-pass-manager \
 		--enable-official-branding \
 		--enable-release \
-		--enable-sandbox \
 		--enable-system-ffi \
 		--enable-system-pixman \
 		--host="${CBUILD:-${CHOST}}" \
@@ -735,6 +731,15 @@ src_configure() {
 		mozconfig_add_options_ac '' --enable-rust-simd
 	fi
 
+	# For future keywording: This is currently (97.0) only supported on:
+	# amd64, arm, arm64 & x86.
+	# Might want to flip the logic around if Firefox is to support more arches.
+	if use ppc64; then
+		mozconfig_add_options_ac '' --disable-sandbox
+	else
+		mozconfig_add_options_ac '' --enable-sandbox
+	fi
+
 	if [[ -s "${S}/api-google.key" ]] ; then
 		local key_origin="Gentoo default"
 		if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
@@ -968,6 +973,7 @@ src_configure() {
 	# Use system's Python environment
 	export MACH_USE_SYSTEM_PYTHON=1
 	export MACH_SYSTEM_ASSERTED_COMPATIBLE_WITH_MACH_SITE=1
+	export MACH_SYSTEM_ASSERTED_COMPATIBLE_WITH_BUILD_SITE=1
 	export PIP_NO_CACHE_DIR=off
 
 	# Disable notification when build system has finished


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2022-03-12 18:55 Piotr Karbowski
  0 siblings, 0 replies; 25+ messages in thread
From: Piotr Karbowski @ 2022-03-12 18:55 UTC (permalink / raw
  To: gentoo-commits

commit:     37e6804880a2d52fdd8426a93bfcf8171395dfbe
Author:     Piotr Karbowski <slashbeast <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 12 18:52:53 2022 +0000
Commit:     Piotr Karbowski <slashbeast <AT> gentoo <DOT> org>
CommitDate: Sat Mar 12 18:55:25 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=37e68048

www-client/firefox: 98 version bump; more hwaccel flags.

This release enables Quantum WebRender and forces EGL when running
under X11 for USE=hwaccel flag.

Signed-off-by: Piotr Karbowski <slashbeast <AT> gentoo.org>

 www-client/firefox/Manifest                        |   99 ++
 .../firefox/files/gentoo-hwaccel-prefs.js-r1       |    5 +
 www-client/firefox/firefox-98.0.ebuild             | 1248 ++++++++++++++++++++
 3 files changed, 1352 insertions(+)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 1cc5da841bc1..cffa4576745e 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -294,3 +294,102 @@ DIST firefox-97.0.2-xh.xpi 423176 BLAKE2B afa607e090c77fc00db80e7b74f1f88af61e9c
 DIST firefox-97.0.2-zh-CN.xpi 580065 BLAKE2B e2fe09fdaa8b9a6704b4190ce19037b9d588c9ab86dbafeb5fda3cc4b9874e28b95ba2477ed1146189d43d9b89daf6129dff856de34c2e8cc64171f9ace81447 SHA512 e48476858a687bedecb8da7b0f8a192fd179b1b0c86bd53ac29571819cd1fb41406172c90e695330bc3975f9851a6b8f8b0ea35e4a797f73b929514877913b0b
 DIST firefox-97.0.2-zh-TW.xpi 581184 BLAKE2B a34a30f759d18a5aa999914eecc2d7b7445a0a5f6f39720f10631d33d664ea831cc3cc84bfda6742dadfe438d80dd058ed4b281208db826109a80eb89de28051 SHA512 2b704f0f190bc749ebff8ac230ed984dc3a198de06b10a6bedf4e89b14ef8dd69b3abdb259ea1cbd6f8c5cb5567c093194eff82817c1805b92c402ddb1055180
 DIST firefox-97.0.2.source.tar.xz 491844932 BLAKE2B de90887882d35278b5dc0e9520511fd67fdf58338a64955caa893222fa7aa9ed5af4e581d7ed1dacba376dbdad6ba22edb2b1186ebf89622a54d174eff0f14ee SHA512 efbf33723f5979025454b6cc183927afb4bc72a51c00b5d45940122da596b8ac99080f3a6a59f5dd85a725e356349ec57e7eba1c36cdab7d55a28b04895d274c
+DIST firefox-98-patches-03j.tar.xz 17340 BLAKE2B d1c9ff486510cfebc0cad708657203e3bdf9007e150af603a4625b29421f983ca1f3b1c6468d07fb7f1ebb967f4bd03ba6fa545a5ca420e957480a0b27c04632 SHA512 f4d9f95d7b88efd1b3f19957c7a1b1f971ce0f25fdd461cda701a4d8adf6d1733eaf055624342b79531f84ebc46c9c4edd4f0f23204b7fae9cdd6f9708c6ba41
+DIST firefox-98.0-ach.xpi 449119 BLAKE2B d4a47310862e17beb810346eb67f5884f1570273515196121e3d26d3b515b9491ac3020aabd49dfeb2e7961792893aa1b3150ddaec96d426f116cddc6d15e2f4 SHA512 3a4edcc0cc74653f6bb8dff1118f469cbd729af57dd6b67bf675200db57ffeb31e06f4dccbc551a7878ebb820636cecb7a3eb2e0b4d351667e913e41520c2e22
+DIST firefox-98.0-af.xpi 415414 BLAKE2B ba219310384e23e7a20ef59b280035087980f73fb1d729ef359d9432235afc13185869b8b0545993460e29e57e7006caaca894d878797781954c399a368a81de SHA512 defa5a73f1de658824a7ce13c43e3d240b1c4a3babf4fd265c60ccace775e6f775afe6607c6a17768182d8a9d140e3a4cf3d7a29a692ca52812342c02d1fbfed
+DIST firefox-98.0-an.xpi 495401 BLAKE2B 4cabaccebc1f73229c7234b85c237c3e26a05dd9acdb4aa90bbdc3c075ca39fe48690a196c95f0d60e29e78a47e2b8dd04201280136dc505c9cee505c22b2118 SHA512 c8fd61cd3a51f8a3825df5a928d2dc25e5ad819e0e0ecf98db46495e8653b37349ea0171327783671a9ae39c4cea35b2f45506d8a1d8ef6faf9266487346cc7f
+DIST firefox-98.0-ar.xpi 564944 BLAKE2B b49e31c611b798f65eef08c05dbd2b0979031844ed3961a2f9996a16bd291c9e9afda9377dcc8cba670b3b8a693fe8b90ccf0b79fd17b8198827c7d9a5e20096 SHA512 aee9d84b81a2cc496c69d3101d8760f8549fe876ede01098dabf33d5bf1141b9730c32600807c725f684b9d73201a0e611d2ae01e571ab322528474ad89d8060
+DIST firefox-98.0-ast.xpi 493525 BLAKE2B d272ac586db16dd2f7a5d2c12d3713423c96ff71897b6b935ff7b3971528964f09b00fae2e4883cc6eaea2d01ca009d347fa40dee15e7368f5ee3b3d70d4c071 SHA512 962fabec757886421d07319c86b0aa80101edb52445a7a11623eec920baebead7f5884a459deb4f803bce085e3128dcbc7e70a983665db4947b9ad2e64879c22
+DIST firefox-98.0-az.xpi 484504 BLAKE2B 35e54332419c111485a935e69c2e54c40c2bba41422e82ba0240d7a69584f356ec8c860b74442312714e674a22eafd1544beb51910423360c01072bddb5c2ada SHA512 483ba85bf5a5c301cf34baa5717c411014b9fe14eb8ebe893459e3aef84b3bc0575aa5ff15bf640869a94c2aa2b7eac98e2103c6a505a7d7740efa77a6641759
+DIST firefox-98.0-be.xpi 622390 BLAKE2B a5fffdcd96692b0113084f4fadb33b6fb8de0defd45e76f9fcf621d8ddbe043f3a0fe635f39eb6d1f4c1f1be334ff6bcb7bc0c916435cb97763b8add085c3ca1 SHA512 3147dd5cdd5a1764aeef5a860ff8aba02618ec45dd1a8a8f1aee6556b672f5af14c1a49ffbdd202fec19dfe6044cb78ad92dd0a668eb7313696fd27950b9ea83
+DIST firefox-98.0-bg.xpi 564850 BLAKE2B 31f4f3b08805319826279acdde1d601c788978aca5082d62b75878447198ec045b99cb055c68751489b41d69a3b951e4905bb53f76a8410154bd1e18345b06ff SHA512 18ff9588ff06011f2e97c76ed1a97b7b7dff27cd49e7a63c824a5366b66af3f78208ff46310e1341d2eb67c77e28b76db3662415bfa8af3423ea477df7a1548e
+DIST firefox-98.0-bn.xpi 554267 BLAKE2B bfb6e28d98ab761b24674d225ddfcd7576e961a26b606ecf74f61a513044230e11c12c6d9345c0d3e21f139046bfba4eecf9fd4b8128b06a6e21f6f2d4255d38 SHA512 bfc6c7d20626c7cf498e270c4e250d9215ec8647405cfed99e53e4ed4f957df5c370bac7c91fb50635a76fc54a6f367766ba1a582d233d15c2ab3260028d2c66
+DIST firefox-98.0-br.xpi 529008 BLAKE2B 9c2ddaf830e3e3e235b86906a72cfcef3771b8a8ca257a3ff3cf047d7f1a97b8a18f17c7b702a00b7ac56c84ba72b9f5328d1ef39063d5eee0b070faa121595b SHA512 19777a56ccf7855b6aa361e28b7efb1d1e96129ef15b09701f9434b606eddb25997ad424878daf2c3697cc54c8e2c93e8854e5cdc25a5575720d8cf43c8601d0
+DIST firefox-98.0-bs.xpi 459061 BLAKE2B 4af05adea9c451df448e76abf0beba8947ed32c2b631960cc754e074172cf014f931227b2d654416c578fc9a8d6e8e1f5021995ad3458583ae58c7c5c678032f SHA512 cd76d74052e2383cc708e0c22eb7caf94f451a02b990706899a5712093ba68e98097bb1abe77d36319b3302b406a43fa5bfc04e9f5753cccb10cedba24500072
+DIST firefox-98.0-ca-valencia.xpi 536655 BLAKE2B 1118ab508329f87f1fd789368166173f931161ef195523341fe397746c69432631b084e045f1a1cee3b6f52afeb7e3a82e9a688971e6d3ed7bc71f730132a022 SHA512 770845560fdf9cb5dabba6a73565e5de76398e39fdbd3f2743be208c3a390a5a5cfb2f17e60ffa0ad0d0a73b84d5eeb067e0638f62e2bb4418c10467adbcf4d1
+DIST firefox-98.0-ca.xpi 529099 BLAKE2B 87ae8118f727a182908a75b01874e9193e35ef0195bab73205218fe91fb9c0d78154e89bb78566513952e1e429db3dff9803782d6b4c87c6455a46ef3bd3a94e SHA512 b6c449b70f6d29cdb3488aa56ac254689badf38a8b22d0c09aba302a7bad950e1351c6c31a4465641470f822d0c3ac9410e0aac99202b3b3e78058de589bb82a
+DIST firefox-98.0-cak.xpi 552670 BLAKE2B d977bc654b9802b3275cfcca76f4db9e1f3565b47975eea6faefd16963d6afc759f2f498149120b075d0811f5dab4418da4da4ecfa704626a152dd67164586ba SHA512 7009dfaba949ec265c4f0ec8bc9dd7e431eaa1ad1bb999796b4afdf93b94b0c7853a38aa9cd5d69612108704e6b004debcb0bd2e12ca2903f72ac133757733b9
+DIST firefox-98.0-cs.xpi 563947 BLAKE2B 8ed2e8e4d2987ff65710b1ec1238ee6a7c74f6d51fb370a90a156331ae8414ddb63226e1b61f4f05ffd2e00c05b8aedacfa505847b0e47f170be0b2f89754bbd SHA512 3cd53680cbff515851a8a19fac021a9ed889954c9b60b1d57928d4031ed7873dcee8d2b4646e88d7cb176218bf59491f024344c247fed83c5ad961b51be89920
+DIST firefox-98.0-cy.xpi 543640 BLAKE2B 952519832827eabfed45b228e683d6e057ceacf76835ba4bd94045618f1f371cb6de47a16e2cd1d2ccd80b6b608eb4428a198906a85e19ff75dc5ca72d0662de SHA512 71ca9e12a7cc7b6b4e942b45e41adf288275d63577e69cba6d2d9d81174953045822a25d034e05f2df8312873c91c1bfb013b486b99bc65b795bc23305fbbfdd
+DIST firefox-98.0-da.xpi 535626 BLAKE2B 56b9f51a2cf0ddf26dac001c5dfef7d34bad0db661dd61148836d6f081477aa3e7fc8d991652dfe3ce5e3beb5bb307db0e1491786a8baff7b402b910fc9c00f8 SHA512 8a0bb662d59cb21578e106891d9b9e069b39e195dfdc0dd320d74e7d5519a2705efd82a0eef17bbe394a5761f3ce183bde8b6bebe00abac6a82edcbe993be81f
+DIST firefox-98.0-de.xpi 555197 BLAKE2B a0f9d639561326620b9c942b3ab39b53e939e59661bf7c01718d97d5270a14cf1219e257cdd9fbd8aa5e904c8e6a53bc1ff562ca28b60bf3e7fd2c6d55c271d8 SHA512 409502cec259f8e38943df7612549156b750a627c0f83b250ea285e12fc7a68ca26a030f96fe18499e36ff4c4ca420a78d38bbfe5f3324e7ed808fabdd74524c
+DIST firefox-98.0-dsb.xpi 568155 BLAKE2B c4b0604812908c2b59da48dcb4a701419edeb93cd660368cb58f586405a30a8a431bb29e9765e2ea28fc1bf5ad4f17087065189edc433da70019043e9f6c92ef SHA512 21e5a61843a898da870af872f2c4aadfb1106fd467f2977900f1a9cdaae811078780e81f3db3ce98f088e9ffa037d69e39d7235ed04fd8128de630ebb89d3152
+DIST firefox-98.0-el.xpi 641162 BLAKE2B 4352822ae9c3a389221ffd62d5f46a983c689d112e96a24c64744d44f57c3d5775b53e5ecd3f3c0ad83ca710b8f70c8b6c1e6ddc4e90c1c497f333b3aace61a1 SHA512 65b11e190a81aecfad73dc5afe7a8d46052c8825d52fdd27e99a1c7851fd733532ceb8b7dc5df178bbc22b1abe0e55144968377ca33f0a8ff1617cfc19a240ff
+DIST firefox-98.0-en-CA.xpi 511340 BLAKE2B 4b0621ebcb9f47388fc02b92c3c7630990e1266dd4221d2b293e6bb2f5bc3e5e65ad1bdd95b12e2d705f3c7fb962df00830eba1a86a4d663f3bcad3420e22561 SHA512 86a64bb49602ac2dae10e0366b7d82dc6eff2e30882d2d9c24a495007a2e4bfa41cf33ff958e29d514de00aef7e1c9eb938eee86c800398d90e8f92f4dc37de3
+DIST firefox-98.0-en-GB.xpi 511713 BLAKE2B e364737003c2435089409cf06648175c663e8dc40085b7344fe2aef72c60d6eae5e3319b4a648e6615e5f2c71fd0485ecc7c4f6cc3bdba05e2bfaa2928a83c37 SHA512 72de6ecd7fca6625fe70862e8b53a0a2dffa73662176af2eeddf74bc56aab977a6ad5c5544aa7aa13628a3f33315cd749d8b308f3549b49cdec4fecd96b89ea9
+DIST firefox-98.0-eo.xpi 534794 BLAKE2B 7b4e1cc2eb17233ed238a673f2f9f2fb5d648c37130420f35f1b1c4158433d530631cdf55ed48b806032afd1e63c9d1be674c7a1d47f69f198bbb5e39c8e4d84 SHA512 a23bb44f22c92cc2f5bd58b60d859d838db3b5b1533ed26460e3eb4c03db7cb7f0487eabb09dd9a97b023357faeb604675ddb29bc691f108f83b60defc72a89d
+DIST firefox-98.0-es-AR.xpi 548268 BLAKE2B afa6ebcde29b173419b6cfaca5f1deb4157fb6cc58280d310a0fec550f9d269c1c98f2d0a8d39d67e0dd502201433ccefd3f606fdb2bfea3967c48bf1b61284b SHA512 905652a1da1539b7d35c54ab8331263f0c927d085555625e8b2ad1bd722b80acf996e4a60a101f335ef7fcf0177de0727911fd1084beb2b7219756a4906e8872
+DIST firefox-98.0-es-CL.xpi 547618 BLAKE2B fea8f8af126718ceebf8bfdd47fff6c7a9a07b602749963cea75f994db6b84f7b63fb6db7b048b2f0d9d474bab81b923270f99c7ea006ef0f8c73527540c8337 SHA512 e3d083ac5486b0784c6304a5884529d289f6a440241df04a4d8fd96797c4623ef3f11a5a0be9149eb98010abeac9760e79f36ace9196eecae2ef5047d32611cf
+DIST firefox-98.0-es-ES.xpi 538893 BLAKE2B 1d1f167fea49bed69b6754d16439eb8d43b33a4517f51ca2b0992652c227d24f87ff853b6859cff4047126a150716cfab38d26d8e69d4ae78e79a79e58ad0143 SHA512 4d1ebdc001959929e00f6a8efb1a8dc686cd31d38ca3c85964dbd09c08b10f245a27602c53d488967a4c436cbb36b301c6b608c73ab7d21aabf1b100558ab6fc
+DIST firefox-98.0-es-MX.xpi 551617 BLAKE2B ec304d647f8ad4e97d409adf54da3f51ec6d8df916de6021471b2527865b43c8008d8a83a12672efb66331ae537c0a66704b89d2d3a7b82285045f763d7ff3b0 SHA512 8f9f09f28fbd044816582f54b648f4ddeec0aa571fb2c1df27b55ae11b20e64d303311f7f006f9981ae2ad9c3003172ee262fb14a7290dbdeed97a84677010a0
+DIST firefox-98.0-et.xpi 529513 BLAKE2B fdcaf7ba9336cc9a821d641ad4ea770a32ea0058309e97a3a356f0671817397fe3e729025e18738bf142a70e07cb6c553668f77ca8f5530452e136be93cfd99f SHA512 9dcf5d4201a5fb95b2dbfba173930471eb1d883bc180a9e0c5375d754d501991032a3139f85245dd06e075e3cc18a7e8f677caaf5fbad95e307e00edc8faf0c9
+DIST firefox-98.0-eu.xpi 537989 BLAKE2B 9889a9394643e10350d03d3bf139a4229986534fbd934c29cd97aaf71fac16a4100894bdbf4d059553d2bab9d0dde1a5aefce7a9fea62c55679256cb9b46b9cc SHA512 747e00b7883a8e82f85d55e6719f7a0f802eb617ca8f86df57c0016fbcb6baffe8afb26160c4b817c81393a8303afaf125b989a831eaf29428793b36ad9f5d6f
+DIST firefox-98.0-fa.xpi 561229 BLAKE2B ab47b0cc0a8de5601c81d86687e42df7d11687aba7281a6ebca0e5d10b4ed75018c3b7f703cc82b320a2b7c4bd635a53174a5a17606165efb2cd40a4632416b8 SHA512 d9ef075226c3918f1c5257caa118292f84566771d60d8a36b3c1b99e5754563878fe9b6247f04fd8cb4ccbb826ed9563ca29adeec7a44e423a644f7b5d2c0440
+DIST firefox-98.0-ff.xpi 468215 BLAKE2B 915e037bfbe705fc67138742db277da728ea619c1f4d1a7f3bf96b97001a0a1b7673c068935ef9e4e9eb9bf190716760304ff5654b04dbe856ab3aee50add09f SHA512 5ccc67a43fac6c9e0acc1c9505f412d1d91f505111c024560cbf910600307d0dfca53ff53bbae6ba0153ff83a296c31aab5a9d864086b608c702e3d4bd5f0e9e
+DIST firefox-98.0-fi.xpi 532686 BLAKE2B 95ae6b83a2799afb1a54e5fc2e3b492c7ad1cc71b5096675901f88a429dff2117215cda2aceeca2c4354f21e0a90f173064206a7662c1b053423e5b9be83ebbd SHA512 ba276050e5105d55015a8a6622c31f19fd32b48571b75453af4a47f95f7102916a6b1e05100573de51f1de42ea8b7e236c6e24184398a3c270dc897486255545
+DIST firefox-98.0-fr.xpi 559532 BLAKE2B 84cdedb85770b3b07b850ed8536ffc5c6699a2e2c6153b48cab16d14ee10702ec85efc519f5017af63ff758c45de3d85506b346957be3fe7dd1272ab915edf73 SHA512 3fe4130ed384005327d377cabd9e2411d39a94206c6afbd9310d0a7037d4573dab19a6ae7d6cc4f53850cae4caffc5e570dad147fc267d2c93e18615955e73ea
+DIST firefox-98.0-fy-NL.xpi 544629 BLAKE2B 2d55bc7d3a46cd273d145286e0a899a271aa80d6ef733d496c36dce1af9299cee2ccaa01e6d7e514e972709ae64f9ac07e4e87c28c68d02c60b7a77c05e141d0 SHA512 4871825f4ddec561cab5a2205e1e5ad66cf198f253bbce8c75a384707a5ab16c92feffa37f0818869f66fd78695af826403aa9d1edc67c2923e9095b295a671c
+DIST firefox-98.0-ga-IE.xpi 465491 BLAKE2B df15165b3a0e779b3c66bf3e6f983c6bdbacb9498056e26d5a4670af0e4d5aeba08d51cf5850d5b1a5855b5200ada15f7c61fc866658e8da0b66e13906a8c75c SHA512 81a36d1ffa406b2302022c61bf1b59c2114b0dcc8e73e98c617bd94492327ffd0b893eed74d21cc2b9cd123a106eab19b02cdfcdf7a14fedbb767fc4a084aac4
+DIST firefox-98.0-gd.xpi 528866 BLAKE2B 1bfe37ffa87953f672824aaa6b2b1cdf6037d8a8af507212577d0b5b934a5dc1893f68179a464098841510a01453f0fd6adf8a49fd8616a7304fa76993c9726f SHA512 a665b85780aba7aa49d04356b17b1a06fe5b76b3017f661aff31f1318d1c9fba205d2593c8d95fac2298b12a64da2c58c4b1806077dabcb2af07640f146df051
+DIST firefox-98.0-gl.xpi 541876 BLAKE2B 8acdf0530559e5f98f54eb1316d8ebef4f1c316a165727e74227e8dc45f0c6acdf718839c960bda3056f1615b66180f4baa5d510eb68351a7c2690118464a29c SHA512 8ac31b06ddaf5ee599508ccd711864dfaebf0173e25c79f944a17b1bb92142e40ab1fbe9cd4bc806a0d633756293a1abbc114dcc4465252cc255a7b80ea2bc4c
+DIST firefox-98.0-gn.xpi 559398 BLAKE2B b7ba573054ea04683fe3168d5f878415d5cb0a6cefbac0d5ec4d5cd2af4e4a503f026e4363a31f5bb389a41004090ab65719b7fbbf10afec298362b78b728ff8 SHA512 aab91264f201902f737e285c247c638b4a00514f429a22f6e37d976b8445c391d49deb2471713548bd702072ae170f2a8a6d7b487830e4166af02edf979dc389
+DIST firefox-98.0-gu-IN.xpi 525487 BLAKE2B 83030e2d087df6a00e908919374275fc0c828a93e2220c2850cc7823ea32a1ac004d36b2840c73a373b675b11fe52ac625561f76c198e26b3a96ec24f4ed0e67 SHA512 cfdf85f824c6d98650085c595fcfb1ef01342cdd3e3f45675b73104a09f021888dc91f604e24cf355be1009c137867114566f8a54db4e838eb6df3452611299e
+DIST firefox-98.0-he.xpi 558301 BLAKE2B 6a6e12058152636e0e03c63fdd74d7650d58cbd0ca7af0af8ed3770b73d0b7f4e80d8088756a0855f2305a249453a0633744bb49f68979e7758b7c697420bbdb SHA512 238fcac2dc0f4ee2ca87e8fa43b75ea944905d79994d8781242f56dc5e3466cc6fa3ab2c0ce29aa57d87c9886a40f3c14543719415e14fb96ff4c07b3e287335
+DIST firefox-98.0-hi-IN.xpi 555956 BLAKE2B b0da084fb6ba3cde862a406e9a0b8e836cf9be61e45c448209d1853e2a88c947873f0573f8d9f662546fada676c882a76b53a81a951e3aa37b5a98b2ca3c1c6b SHA512 eb168f99c882733cd5c5cc173c6211c2a43c3c32ac9e138660c7954a695cc32ea5bbfcf40e52c2c26660cbf8d67968dd1d414203d5c61b6e13aab2f8a62e3cfc
+DIST firefox-98.0-hr.xpi 530081 BLAKE2B d6c5ee517eb4f4c2f0ffd27d75be8252d10e8533f9739a74e913faef384a4447b9736e51bf38a781ba8c588c3c03f1a00f4e8af618cb35b474a51fd624246e84 SHA512 31c6863e5e62f230f86b70e32518897eefc0d265c33f586dfecd984070a2ca00cb0342e637a09289c1ba618f9dde52efea8bfff180531c45be61b6e818db1833
+DIST firefox-98.0-hsb.xpi 564236 BLAKE2B 7d6f241749b06be628cd0ea1de28a93d1176aebe6b6ab37029b07d101e8f04411dc137547f764eec90d21091fa0a9b5f6636bdefc56d946bdba532140975b7d6 SHA512 9d36fe8e9898a35bddc52d4d1aa030ba45b73160a337401014a3886952d5543ae8f89844f5c2848b997d6dae817ef389064d796a56771511d8141c5864861862
+DIST firefox-98.0-hu.xpi 567458 BLAKE2B f802ce01bfdb7b79c415c036eb858521bf80e810f30dcbf95868d74731c3e7e54b22d2887ebfcfcd08668cb9abeb1b52c48b71b2fff7746b0b0a56dde148c3af SHA512 4694944725c59bf38b05a021f2f27f7b172ea79a6290f988a68c10a49360e6aaec8df7864a9f7577f69b41a05a5011d3295d1277caffa0cf41bb5cd4e31e4e08
+DIST firefox-98.0-hy-AM.xpi 578957 BLAKE2B ac8a565c3078f4d843927661e22c642b15da65a653be99f3288f11976dbe5a0faf233d46693e16badd425d3246a72debb5c03421aa24d820ea960fa5183d3fa3 SHA512 eb2e1dbd49a20d844f4e39f25df62307794230e676a76eb2c9ca9d400c85af9cbc270ce021c0324878a174d2df908b794fa0fb2e9b19e383fed61897f6435868
+DIST firefox-98.0-ia.xpi 533683 BLAKE2B d89442867b5d171ca44bac37c048ba998abd9f0d155f5c8c97f627f03efb30149584546c505450a4402751062119c6b0092e8f81274696216bdfef1a2b656cff SHA512 4f712e399d8fc355efc9a9ae94409aa1d2a6bee6ee4a85a8fcc9e559bc6da6c10f1c8deeb6ad2f2df816e83ee42bad44d4ca488fc2027e82e468d30e0d6d136a
+DIST firefox-98.0-id.xpi 528730 BLAKE2B e6ca50a432ed0aced9238b48ae86c593c384c50cb4a3a38fb1bb75b902c07f67467956c96482e50d82680eaf3d67c4f455728bb9497971d97fb55e836d502d05 SHA512 d98c0d74d631353b860f4d617d4bdd5fe4731977b911ed99e4229eb8e2fca7949d9cb1cdf3f00da9f7719facde1c2266f4b579fdfe505da9a7c06df17410db46
+DIST firefox-98.0-is.xpi 536080 BLAKE2B 87097762c32f2b88ee1dfa7cc6ced4e8b4b293f576b0856c08a9f3100ca2f947dcf6e1669f5e3f7ea854d3b4e91e2bc1d1924fabd661296d25e8a4f71fefed42 SHA512 db45372b70ffbc91182983b45fcbecc0ee4ae062c43463b309fdbb6d916ff29cf47d8b00e286be413fa310c6e8019fe2b9b43a1031321a1dc525c034da1e6aee
+DIST firefox-98.0-it.xpi 460863 BLAKE2B 487ddfc7ea9065a8f3befd601a7f935f1124d24786e5050b654172e1725bbd149340a3fa658fb8261eccb5ecd0ccfa616c0b51be5eb5b5adf9b7e949c2bd7371 SHA512 ee9d8e037954d115b5b58edc852f5ae798166d2d479e4944da181d4bc924e158a9ed8b587e33a72ae763efc0b5fdc1fca5233096cd982be6bf14505365b17b00
+DIST firefox-98.0-ja.xpi 589745 BLAKE2B 1866dbad02aa5bdc877a90b4a3db2457ff1c8603751825aa1dee24c4274cf49bd04fe35c3be89cca8a6ad2e66651f38080a0a38220da42e20082d33a29b6d841 SHA512 8dc60224593840f9627159f56ddcb4251777504c47ab7b22349e45bb5d3dad8dd478abe07586df5591f5256a68c8087dbc5bd199d351adb1794f46ffd0bb1ae7
+DIST firefox-98.0-ka.xpi 592743 BLAKE2B 72c9fbeca5922bb47d67a1729e08e0ab489827b4f9f4554d137742fa4591e005eb46f662c8605afec74679c409419ffbff1c5e5d015b11f3babfc8cb2c34c6a0 SHA512 c349c468445f587572f025bc166d45fb050c4c4dfe000a256f517d180a5c9b94ac7fca741e06f54f21470450c334472fdd976774cfb0ab5811791dc3b0365c47
+DIST firefox-98.0-kab.xpi 546504 BLAKE2B fc75a3eb652059932f072f4dacde55155f61f54ea17654a8fcbc2256ee0e9bda3d8b86f3e31709c88087c000f422d57eef67b014f6655d1087fa95b77d572bcc SHA512 bef6dda2520a4a6e608e80b230e8ddba2caa7b8ae3792de0a0f1aba6d9a731f51e890d2178678386a0c28b60c570964b18b150b90beeb24be588063e86afa452
+DIST firefox-98.0-kk.xpi 614175 BLAKE2B 9ebea992e25ef0cf6fdfba227c8d32b0ccf36ee0dfa9f5eca7bb701a75abbd3ed9ce1ba1c11249d2d4128bf7639ee66f1a101229d32283cd85bc4ca96ab14a42 SHA512 ebdac506b8b6ef1175f2860c8579c3c1ce47ec1e1f4f9421cad50786ee32074c2a42c9245952c05517e72cb101f4dc1caa6549387b0034990fdf11de9f8485a8
+DIST firefox-98.0-km.xpi 525545 BLAKE2B 03a5ecf8ecece4cb31377e5edea19d9081efb4553f4f3d5e9a1d26769a29114bdc868227aafa8e90f237dbc12328759221c7c2cf2488e14de82a220bfccb1d72 SHA512 4f5428dd6f62a19aa52ee79fd4d77daa56f97b572717d11e6009ee46e3213a5ce96bb57bdf19f290bf4aaec42ffda4e65999a6f64a48f9e32f6e2a28fc0cf4cc
+DIST firefox-98.0-kn.xpi 491251 BLAKE2B 548959b1341a3465ab58358dbb3c9c49077519cafbbce3f3a3f05a8f2983e5695042a655ce3ac3ff93c9389afdef10f06ed7749dbd71097cbb1e25a0b6a2c481 SHA512 8be7a7525b6ad5fc959c9e76b6a34822f3a8d44867edf953e20f2e58d262c6922b3385a1843e037554004977150a0afb11e16d65960d7cb8cf2b51849d4f7734
+DIST firefox-98.0-ko.xpi 580656 BLAKE2B 3efab4ac66fcc6d49dce372c108f644aebdd67fde7a907c3e7106b67c4bdab4724646ecdb542001038fe326733de40bc59f2e2c3e5106eab0aabf6f166ec6d28 SHA512 6ef883b9cd365b2cac79074f16551306b4489db3e90413c745f81cf31c4d705c4f3b9210724b68e2264d44b1b5cea75e4a48b71767b5df86128ee1fbe7e452e0
+DIST firefox-98.0-lij.xpi 467057 BLAKE2B 3317221d4fa4db727424ebc3daf9efd9ae0a368092d20433a10e73ccf33bf49c678ab5983c9cc8015cc6289128838ff54013560d4f866f46172bcec94edecfe8 SHA512 7c450a4ce7718e74d0aeb98eb8e866fc5d9595b68f0469259721f7d4670b4fbc6d3dbcdbca1e2305cc5de6baf6b91fcb35b2cdfed9886851828be5069dfe3007
+DIST firefox-98.0-lt.xpi 559741 BLAKE2B 981fb791ba9b23559d5cba60037bd3161222a5b25c56087e0de3fc41e66aa41ef8c73c5cfcef19b842a7988e01c9c17dadc7d0f344494121f227b50eb3957250 SHA512 ab6935a672ce080bcc1919ea1517bc87a5b44cd2dee4b2d32f93a191003644630dd20cf6673cdb4818496604bfa957e8882a6ce705e805a3e02457715a4570be
+DIST firefox-98.0-lv.xpi 459222 BLAKE2B bad556fd3581d6ce27b960c8f3859f443df941169ce1d5c1abb90ba9f368396123135dd2d016a1804a335f49dd521d5cfe9edb8c881b78cb6aba6a7efcac8bca SHA512 311e6424eb582dbd40dcf6f853c562df1bfaf4390b0672956ae71d882a398886e73ef68a0a5cacfb77df5fda14b5ce941679b905ac73aed03756243faf7bf6c2
+DIST firefox-98.0-mk.xpi 458851 BLAKE2B 24f8a568c2c2e11613c1b28196dd9f6d3b4af4103c1dbb1e911b8a7c7f66a8a26b854447ddc62159c42a62780242e2d04f0a68a6654fb1bcad2790e1457c344f SHA512 cda4a31404603e901acda695af1c1b33fd91a79177c8d938b7950a1c1337b0cc959a6e011578c355405709ef714f2c002ed812ffafdca46871b5f24069d037f5
+DIST firefox-98.0-mr.xpi 528072 BLAKE2B fd281fd6c86e90cfb33f205c1eb3a35783cf5f0b55d498c98bf98ce5b409523c18a393b515a6dbef594dfee389ad0df146829c17cd2edd0e5d5b9e3841e4fbff SHA512 5d45c8fab0d65abfe3e42c5332b1487cb81be6bcc9b9f1527e8ccbad391bf39fe895d05a041fc4f1cd9b27c37b6b4273fc63056ba000de8bf9c0b3124516bc2a
+DIST firefox-98.0-ms.xpi 444228 BLAKE2B af3d64f4b0fd8feb5b95a36f0800d4ec3fca44da18df484f85b95b26296a336a1d92af97518f45de3b76a74fd0f5d6285ec04ddb098c5e18cebff855f4c206f9 SHA512 fa21f60874e93faea65877425a2758fe01ae42a37353d0894295e683d2ae7704e01a66d0100adc98722e015b57b73236424202f274a436098918b00f2d1b74b4
+DIST firefox-98.0-my.xpi 507135 BLAKE2B 876e15af2267b6a84f28321ac8c280a35075d2af3e538218a21831f24d8152dab7c29efff13770d1af7f23201020199cf579d148a616f9e829f167c66fd79b27 SHA512 5bcfe6492fef146592cc12d02d757d3221759aa3d5638ec08e0e99afb25ceb920d0d03b440e0111a9ef2c3642dc459be14f51179508c4eefb183d80cdea7925c
+DIST firefox-98.0-nb-NO.xpi 530492 BLAKE2B 7d64970121972846e0f41bcb50824f43b51f9cfa75ab74a7874b19cc3862499f75f982750fbafffd10a0d83dbb922b59c0cf93f018f96497f1e40e09fe6f2857 SHA512 12a71a04b01bf7e838374f2f8dab6649f3cfef4c1d5f7d0dee9abab665c16a75554a523aaf2b80c77d2c739996c14ccf5a95ebaf7ea7b911ca16ea18378f92f8
+DIST firefox-98.0-ne-NP.xpi 477719 BLAKE2B 75a81d292955f1c2e37fa6282a5066c3eac14e2adf9905fa8425d4ed63f1cc894102d0b5dc26198005d80c0a392766c409b128dbe61d8623136bf830cf24770e SHA512 338184ce279cd1e0014550653940d9c706ae6e8c7342078a5f7af01caaa3cc590be01d5ec2ff1489886631b7793d15a406d48341352dca8af68d7ec144f6c0c0
+DIST firefox-98.0-nl.xpi 538883 BLAKE2B 8f286f5d9b66ff0b9da55957e458339a38f96c05f3c47e7a5ccc691fdff14494502fa1b9ad94154ff68b708bc714dbc01765881313b924e74522f17f8ce8240f SHA512 853712b41b26fa78bb8ec59c0604f750eea528393de50f8467b5f134c3175035505ff35ebaeeb782f925000ffb018b2936f839af5ce0bbd9b83e4f8c284e33cc
+DIST firefox-98.0-nn-NO.xpi 532916 BLAKE2B 8024e9005e87c76cbacde64348abbc9e7bce5970bb52bc0b95bb08c21287abd25cf6026018867282d31713627ad10feebcebf550e00903fa410c222274e96d09 SHA512 9018ab813a36ff667a1c94b9dd8005ccfd72789517c379931d26134904d148460edd7b8603cc32c409b774306ac26b733a74894b57665ed70d2a0a860337460d
+DIST firefox-98.0-oc.xpi 553362 BLAKE2B c8e20deb05fc68c725b8744d782bf48ff31f7ddd34b23ebf83fa88b4dd6d18534b8eb3166de5ff5d09649f32ce6a4dd09c614da32bb5b00b8ae1bdb9b3b15abf SHA512 df482341f20475132f88d3f19d87d2a034d48251b3a6663ce8ad7958d7fb54d186cbb428821cb18aba2c75eeade08fa823a9079ea63858a76faffaca49018b17
+DIST firefox-98.0-pa-IN.xpi 594948 BLAKE2B 9792b2b38ddd09308e5385454d9bd0262b8206d0045da3f85f624787246df6c30f172342c27b7aa9d777a08e5031ee9459dbf2de171e1fe260efe4cebfd60dbd SHA512 2a764c06e11b2fde84e192f15c1a63eedfafa1cd53359ee864cf8c45389a10e0a257a6c4db511bfd8969495c4497ead96f99e51e78493974fbe30123f99e128d
+DIST firefox-98.0-pl.xpi 558261 BLAKE2B d420e27454d7dd9bca493d97335299d70f1e2d56f2b8d7dfcecf0890ad07b0c40c184b9605227704331f814eeb3c586138abaeedac542c3085d27f4c493f7261 SHA512 85c88eb0901aaf530846019a643e354796134a68c12337cead487667fbf9f73d8cb0e813eb51b06a6b793181df5ce19198a353152de9d13d8342f08357a8a270
+DIST firefox-98.0-pt-BR.xpi 544096 BLAKE2B 5a7e130c265c1134aab4981d92133f29764ba4b281a86bbaffdfdaed1d010a1ff53d6f404ce7655e6d94bf043cd71eb4600791ccedaf5f223f41d8e455e8d9dd SHA512 f6abeb0f490ee66e2475616462c67653d86a5945cafcc9d0178e0ea43495545eab80b473a263afb65f07a54bd85bc2d7695ae45778dfd1a01c4c2b67fa31e98b
+DIST firefox-98.0-pt-PT.xpi 547533 BLAKE2B 4a0227055d064d04a3ade6f703ff5a03d8eaf77b133fab4d9bdbbf74f9ece9468e2333c6733d5918ebd428f385cbef425e2a058edd4340fbf670b2658f838a83 SHA512 c8310f958364d63d3e9b4cfb7bc830d1589bac56146cdf10705ed88e64806309489b2a7a97b267a06f7c9f02f83002e3d02ab2aba13b12536acb662c46813ab9
+DIST firefox-98.0-rm.xpi 538500 BLAKE2B d7634f95ca229c73f67b5b77cddf68242e0ccf3d7a64fbc37d6a24a255b535d6fecdfce45cd1443273d3672065704aeaed92e7094d78a5f8c8f21cf0da819b36 SHA512 8fc96fc873ac0391a636928622310a9a59435c42e2a0141d45e0d2f0a2919196d57a33442572e07564eab5367fa54d9bc33630921b6be685069629f769bac261
+DIST firefox-98.0-ro.xpi 527823 BLAKE2B da59727010b5e198a19a968c47f7cea2465b5b3ee4dd0c9084e4c4eaa12b9cb38571745651d09ffc322e7c950fb77463b7f309203be43e58836b9fb8e5dbd926 SHA512 6cc6ee4f2a86ccc07e22daf1ffb238616c0f5c7d384bc4e6aad2a94dc9fbc6f82c3e85ee1f15255f266bfa679bf169fdae437cdbe70c3bf3db66cdbcf51cb056
+DIST firefox-98.0-ru.xpi 629175 BLAKE2B 7e41266af1d27b4cafc263250fedcb38879b971c62084eddc8f8d2eabc7d1d0f998be34679edb0d700170d089e79a9fb1aad91aed3ffffff3489fa7bc3533bb8 SHA512 d2ec592251fbd9ed851d88293c1a94afe08640ccd184303e3d4c26b79e6346dc8c8c6f5aed353878411e121c67f89c2550288afd4762f3764233e20ee13a9ddb
+DIST firefox-98.0-sco.xpi 500791 BLAKE2B 6408f1933314aa1f5d5de40a7346d5cdb43eb1fe57b23579506fa788da92b2a0b36e8da1321bdaaa4ca5c4195d56790b24add0e46a229e7e2cdba1174d1daff4 SHA512 6298d6084c1c76ad247c9ba0fb61162f25869dd8f115c65d5e4d7ce01f65284d18813c918b0ca29684a3b5fbb8c1c02207a8d0d4592da0f8eb56f42aeb29cfc5
+DIST firefox-98.0-si.xpi 481255 BLAKE2B a999aef7bcd47dcec7fbd5e9af7ed15cffc4c8cbd710543c1bc7b5349533bc7d6bf08e8a088eecfdcc71e57f92e561ee7e7e35acf5e68f8aa4b84e8549de9d6c SHA512 58364b6803c649aa46383b14b97921428819ef4258856ec9f5c50b498307910f85b6ca4557629bb1d18d018971cddaf689c7dc1a8fd2d3fff971b63ec334848d
+DIST firefox-98.0-sk.xpi 568207 BLAKE2B 27d08b03da5beeeefe644477d42829c50f74be6142999917a862e5df71627fbcfd691d9af168ceac28b63421189330c1d0989f2a5f1e734d5f535291ceb97c96 SHA512 bb6e356713e76d0ed6efa18c8aef46ba05a86b8f7661422f8bfe1f65fb58090963c02d672c4c91ef99e620e586dcd83e50a2812eca0073bcc727cb85ba42dc16
+DIST firefox-98.0-sl.xpi 539532 BLAKE2B b0513a452caf8c0bba3c660a3f4451f7c0bb0ba7b0d2116763a49056d298db5d160f52317420b0da4ffd4c9f7c3b5728ebb2f62e5df8b62d70587310e885bbb7 SHA512 eb787767d5ab68731d34aca59512324311b8c2e06c21bf1a89faa9ed6ed12b0197bdd6595d83c4de511682397cad908704dcd70cc507c3910953b8f03a47945b
+DIST firefox-98.0-son.xpi 416602 BLAKE2B ba74321f4dbc60700f5355fbf5ddf7a9e5e28c7f5a00b551084628490e17c8ff6e4aa132f5f759c44f425ff4e7dc47fd0f8bdb0e788bd27fabb88accb8b8aeaf SHA512 8ec6a016bff7bb5da88fc2cc22a27bf708eec8f6a55b758c04efa83c8b312046e405468f44b19970742220479d91c3e70dea946e4f09b4b7a69d6ffb894f1241
+DIST firefox-98.0-sq.xpi 557454 BLAKE2B 2a154647f21eec026da0505d9e499449cf63abc8d9ffe769a44ba6ac8bd39772472d0c90b39f8134370d20cff3d47642f6c735013fd7479afb395e7ca24fbc68 SHA512 d8ed40daaf4cc15f8decf6c0c3dabf8dd7cc91f8115a8cfc1f975cff97578c9aee1678c522641e8888890b45ea8b0941b4f1159e9fe9b79383c2ac9b130bacab
+DIST firefox-98.0-sr.xpi 584455 BLAKE2B 9487058933a135e2880def3c380ca7166bf9ee7c00f5a4daf1c2bc5a229b402095553066391ac22a35715b559aba284d5989ef5f13ca1eaafe451cd09a460f27 SHA512 bc8148dd9e95767c3341454eca796d2ea597e171851b7095a68e28f61cafd5ea5d350513eac73f1a78355d9cae9a6573ae6888af7fbc765dff185099e16bc245
+DIST firefox-98.0-sv-SE.xpi 541387 BLAKE2B c7ec407fc7cde7cac489334cfa8d7f3bf24b1f6841637fe92e2c483af4d70f7cd16e532d1555b07080c0f6b9a795befd4b9aa812f1e9f351fde4c39cf6a9141d SHA512 a89b8174e32dcc771263518d9fd7fe982b9215e8816ec0929a57e783a3002d7f92ad159d1dd206deb913ed9c613fb579b220a21edda7f3962713f35d4aa9f405
+DIST firefox-98.0-szl.xpi 503388 BLAKE2B 083c61366335e8a025b61ea9f34dbf8c8c185dd4182840ca1c0353ce6543d503ffacfe63eadfef46ab4a975951d82dd6e022b029a1649b4f8b44b3970c35d325 SHA512 91177a48850fb421d4d2fa44af7acc64160687e60d6880b75a64524c1aca38515b5575dabf7fe6ae52f9ffcfef93cf6bc820ce961f42e79e744358708599379e
+DIST firefox-98.0-ta.xpi 508271 BLAKE2B 2bfabf94c280cd8690a580049084e0ffecea34be843a3fb6c154fbc9e4c8c054ce1008a66011031965fa7e2d9b92a6f4643b62788cdefd9e958262a1699be418 SHA512 5a4599d45a81b7e3b06f1df71f43498dc4d8831fc7a4a521998558b1eec3bb5433ab037a600e3cc4679a41aa23818e7102fb3dbc5d354b1b23c3490f15afbc4c
+DIST firefox-98.0-te.xpi 546048 BLAKE2B 69fbd6c3c74e4a525865f59aca5e44c74449f5f7764d5f278dcde951038450fb084bb279ad6633c3555df8a85ab4d69987b00ca34aecdacda23d7ddcd7e26637 SHA512 326f3b21cab1d67d3bd225392a5ede5b4739ea8094e8a42cc1d817ae3fe1aea7b42d7bec12b64d7195da671da2256fe236238e952ebaae08189efdd6be986a95
+DIST firefox-98.0-th.xpi 606207 BLAKE2B fbcc78c3967a750601aa1a6835b10104726f2eaa9b13a00f5a14bf7c55dff349acdb8ce8f08f8da5ecaa1264e3693b4c3ebe081c078dab012ac2aa6b3110e576 SHA512 f31e53692dc75b4f6f4996fa1dbd63a56707010918039ed1bfa76bebfa371dd96ae9a3285f7033e29c48d09425228301a43691de7d9e935658253fd9f2b24b07
+DIST firefox-98.0-tl.xpi 517831 BLAKE2B 1ecc19dae3f057f6cda7e5d5dbcf985b97516aaf414e4ab69e9044add336c763de370601a88dfbe3f879277c06cd9f862cf83cd72845c6a06bf0049b879046d5 SHA512 062e14080e9d46cea365b2ac55912af7508703e6e6f55382effda7eb0886cc8d2c3f31ce6716ff1a1869cbf7863d74d192f9e4a808a4f3de75df6d08962e9496
+DIST firefox-98.0-tr.xpi 554937 BLAKE2B ae7b811b4cc1c0da5855db970d2a389106ff5fce8304a728b6888f2744530fba783e5770e2c3c0d3d0d850f5ed1fa5ef6ae529ce0d1d10b09132f9b5fb78d2d4 SHA512 303b5c1540472856a1b318118b8c95232b52abfe3157c455fb82330c1cdb18817ce5770c415977d4ddee31f3632e1ccf57d18b325a7bce5d261311a44b5c6d16
+DIST firefox-98.0-trs.xpi 486917 BLAKE2B 3f8328c6fa0fc29507d266430c885d2128c90339f552c0acd8f066ff7efcdebd26413fcd202c57df10f2521ad23db27d1075dc0bd3ddbfe133bc361df42e87e0 SHA512 8f730f86894637ac056fcdab39bd7d7b60c23efbc5e3922b0cb5343a9f406160ee9c1aa42f525e9422a4ae6acb79250fbd3e93dcda8ceec76943975a2ebb61bf
+DIST firefox-98.0-uk.xpi 622817 BLAKE2B 338254751eb359d5f1b5a4984ed433a2ead00abbc8be0c138e504b863ef5e9987148e0274d0d1189acbb31432ca5d646105e3cc90e345e42d81848bbfb316d77 SHA512 4141ac29e91947f95005a083f748a9ed5c0e403498b30cdd089c33a6665c8443e464ac64c67876c8320ca26e25aa27f5fabeb2042cb7cc4f33f0775e715a936c
+DIST firefox-98.0-ur.xpi 555129 BLAKE2B 965e1c747573af7b75cfe6f520599150cd9356d0bfd7c3e8707c9410dbe06d28a858a6fae6772ad3ca4c074f636af39a4fe610e318869e1a3a84c05cb0259c81 SHA512 9a1c985d910d181e89b304f783fcba2523388ab95706693173421a7824fb2583749ef6531cbff4abb89dbf04b6a8dd950b3370b7cb0307defd4958778f1117fa
+DIST firefox-98.0-uz.xpi 473457 BLAKE2B 52532fe1c1f3eabd04cdb10d7ef34d6e10d9c0c1bf6371f5df2cae5e6b78efc5811195d04e1659519b0fc09d2823059de1dea198516935d5e7e577ad210e3882 SHA512 1d2bbe1066853912bd6170564dbe56d392edc10572aefc2c660a2d5bf23ca3de832e155e464208c28dd53cc59f003cc97318e76678996a6d19c62041b7042ab8
+DIST firefox-98.0-vi.xpi 575125 BLAKE2B e996e59a5f71a6f655b0c56f49c635dba3a3e764dba19d79742198d4776357a9f0005437e48e1d7432e1e5a1bba651e6570915d5a610decc9a7f5a653df17e31 SHA512 6dd004330c3a9e3eb4ec27ef20514d90f9aabfce7c891cd1df39d925370d30adb3139a36631da7161a5b1facbc9a04b25a217d8618d68b30dfabb96d4ee34457
+DIST firefox-98.0-xh.xpi 418707 BLAKE2B 03bc835446859494f5f976c253718bf43f8ba48d8b954a514c5ce9aea7320ecf74ae2bc5cd82b2fffe65ab72dee3bc9a67ac1a6ad25a8d559b4f7dc434d5272a SHA512 cdad7ed754af89419de8a8eba31ca741057681322c6ee57220f1d0576382852629ad9943ef24a0d5d6cb66ee2d0fdeccbc14bdb54916949c6a803c037f895791
+DIST firefox-98.0-zh-CN.xpi 576897 BLAKE2B ad79391d382fb4763f5a4f7d0e6185d9acead561721d93db8df841e30a758a9fe92342a4b58a421a108cd7d5ab5027ba6424d6a87cd5180f95036a20f80d5816 SHA512 ecea9db5ceef5ed40bf1e873a31ec965e3d3788f8e5507b6ab07e840eb2d680e37ffc5444563baaa802aef2e98d44afac93b7bbe95cdb1a773f853c92366e550
+DIST firefox-98.0-zh-TW.xpi 577899 BLAKE2B 4bd84e3596280c52b6f33c88b5078d7229e0987f7661d3ab1a97fe6586432f0edcb6a9a9d5b66e8741838295b40a1c3f6a36db766b64521b1cf6b848dc83e242 SHA512 e075a0c92a6b1887e3f352b74fb1f19f58da716785e476c1b5a9a7f8d4b96d1ad3e512bc9b2736c96e9f70ff04b10a753597d3e0d2ed2d68c61e9de01533ad18
+DIST firefox-98.0.source.tar.xz 480141332 BLAKE2B a0c3e1677647f9e428dc02620631092c1df22a36b03210cc127827be899eb92cb0fe6d742518ebcf344401e7a2ffaa8dd1c57de3f4b452a1d8993ab56a217804 SHA512 5b9186dd2a5dee5f2d2a2ce156fc06e2073cf71a70891a294cf3358218592f19ec3413d33b68d6f38e3cc5f940213e590a188e2b6efc39f416e90a55f89bfd9b

diff --git a/www-client/firefox/files/gentoo-hwaccel-prefs.js-r1 b/www-client/firefox/files/gentoo-hwaccel-prefs.js-r1
new file mode 100644
index 000000000000..ae0eb5c67e80
--- /dev/null
+++ b/www-client/firefox/files/gentoo-hwaccel-prefs.js-r1
@@ -0,0 +1,5 @@
+/* Force hardware accelerated rendering due to USE=hwaccel */
+pref("layers.acceleration.force-enabled",  true);
+pref("webgl.force-enabled",                true);
+pref("gfx.webrender.all",                  true);
+pref("gfx.x11-egl.force-enabled",          true);

diff --git a/www-client/firefox/firefox-98.0.ebuild b/www-client/firefox/firefox-98.0.ebuild
new file mode 100644
index 000000000000..eccbe717ffe4
--- /dev/null
+++ b/www-client/firefox/firefox-98.0.ebuild
@@ -0,0 +1,1248 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+FIREFOX_PATCHSET="firefox-98-patches-03j.tar.xz"
+
+LLVM_MAX_SLOT=13
+
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="pgo"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+	MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+	# Convert the ebuild version to the upstream Mozilla version
+	MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+	MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+	MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+	# ESR releases have slightly different version numbers
+	MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info \
+	llvm multiprocessing pax-utils python-any-r1 toolchain-funcs \
+	virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+	MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+	https://dev.gentoo.org/~{juippis,polynomial-c,whissi,slashbeast}/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+	${PATCH_URIS[@]}"
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.com/firefox"
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+SLOT="rapid"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel"
+IUSE+=" jack libproxy lto +openh264 pgo pulseaudio sndio selinux"
+IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png +system-webp"
+IUSE+=" wayland wifi"
+
+# Firefox-only IUSE
+IUSE+=" geckodriver"
+IUSE+=" +gmp-autoupdate"
+IUSE+=" screencast"
+
+REQUIRED_USE="debug? ( !system-av1 )
+	pgo? ( lto )
+	wayland? ( dbus )
+	wifi? ( dbus )"
+
+# Firefox-only REQUIRED_USE flags
+REQUIRED_USE+=" screencast? ( wayland )"
+
+BDEPEND="${PYTHON_DEPS}
+	app-arch/unzip
+	app-arch/zip
+	>=dev-util/cbindgen-0.19.0
+	>=net-libs/nodejs-10.23.1
+	virtual/pkgconfig
+	>=virtual/rust-1.57.0
+	|| (
+		(
+			sys-devel/clang:13
+			sys-devel/llvm:13
+			clang? (
+				=sys-devel/lld-13*
+				pgo? ( =sys-libs/compiler-rt-sanitizers-13*[profile] )
+			)
+		)
+		(
+			sys-devel/clang:12
+			sys-devel/llvm:12
+			clang? (
+				=sys-devel/lld-12*
+				pgo? ( =sys-libs/compiler-rt-sanitizers-12*[profile] )
+			)
+		)
+		(
+			sys-devel/clang:11
+			sys-devel/llvm:11
+			clang? (
+				=sys-devel/lld-11*
+				pgo? ( =sys-libs/compiler-rt-sanitizers-11*[profile] )
+			)
+		)
+	)
+	amd64? ( >=dev-lang/nasm-2.14 )
+	x86? ( >=dev-lang/nasm-2.14 )"
+
+COMMON_DEPEND="
+	>=dev-libs/nss-3.75
+	>=dev-libs/nspr-4.32
+	dev-libs/atk
+	dev-libs/expat
+	>=x11-libs/cairo-1.10[X]
+	>=x11-libs/gtk+-3.4.0:3[X]
+	x11-libs/gdk-pixbuf
+	>=x11-libs/pango-1.22.0
+	>=media-libs/mesa-10.2:*
+	media-libs/fontconfig
+	>=media-libs/freetype-2.9
+	kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
+	virtual/freedesktop-icon-theme
+	>=x11-libs/pixman-0.19.2
+	>=dev-libs/glib-2.42: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/libXrandr
+	x11-libs/libXrender
+	x11-libs/libXtst
+	x11-libs/libxcb
+	dbus? (
+		sys-apps/dbus
+		dev-libs/dbus-glib
+	)
+	libproxy? ( net-libs/libproxy )
+	screencast? ( media-video/pipewire:= )
+	system-av1? (
+		>=media-libs/dav1d-0.9.3:=
+		>=media-libs/libaom-1.0.0:=
+	)
+	system-harfbuzz? (
+		>=media-libs/harfbuzz-2.8.1:0=
+		>=media-gfx/graphite2-1.3.13
+	)
+	system-icu? ( >=dev-libs/icu-70.1:= )
+	system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+	system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
+	system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+	system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+	system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+	wifi? (
+		kernel_linux? (
+			sys-apps/dbus
+			dev-libs/dbus-glib
+			net-misc/networkmanager
+		)
+	)
+	jack? ( virtual/jack )
+	selinux? ( sec-policy/selinux-mozilla )
+	sndio? ( media-sound/sndio )"
+
+RDEPEND="${COMMON_DEPEND}
+	!www-client/firefox:0
+	!www-client/firefox:esr
+	jack? ( virtual/jack )
+	openh264? ( media-libs/openh264:*[plugin] )
+	pulseaudio? (
+		|| (
+			media-sound/pulseaudio
+			>=media-sound/apulse-0.1.12-r4
+		)
+	)
+	selinux? ( sec-policy/selinux-mozilla )"
+
+DEPEND="${COMMON_DEPEND}
+	x11-libs/libICE
+	x11-libs/libSM
+	pulseaudio? (
+		|| (
+			media-sound/pulseaudio
+			>=media-sound/apulse-0.1.12-r4[sdk]
+		)
+	)
+	wayland? ( >=x11-libs/gtk+-3.11:3[wayland] )
+	amd64? ( virtual/opengl )
+	x86? ( virtual/opengl )"
+
+S="${WORKDIR}/${PN}-${PV%_*}"
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+	MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+	if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+		einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+		return 1
+	fi
+
+	if use clang ; then
+		if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+			einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+			return 1
+		fi
+
+		if use pgo ; then
+			if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*" ; then
+				einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+				return 1
+			fi
+		fi
+	fi
+
+	einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+	af ar ast be bg br ca cak cs cy da de dsb
+	el en-CA en-GB en-US es-AR es-ES et eu
+	fi fr fy-NL ga-IE gd gl he hr hsb hu
+	id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+	pa-IN pl pt-BR pt-PT rm ro ru
+	sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+	# https://bugs.gentoo.org/587334
+	local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+		fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+	)
+
+	local lang xflag
+	for lang in "${MOZ_LANGS[@]}" ; do
+		# en and en_US are handled internally
+		if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+			continue
+		fi
+
+		# strip region subtag if $lang is in the list
+		if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+			xflag=${lang%%-*}
+		else
+			xflag=${lang}
+		fi
+
+		SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+		SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+		SRC_URI+=" )"
+		IUSE+=" l10n_${xflag/[_@]/-}"
+	done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	if [[ ${#} -ne 1 ]] ; then
+		die "${FUNCNAME} requires exact one argument"
+	fi
+
+	einfo "Clearing cargo checksums for ${1} ..."
+
+	sed -i \
+		-e 's/\("files":{\)[^}]*/\1/' \
+		"${S}"/third_party/rust/${1}/.cargo-checksum.json \
+		|| die
+}
+
+moz_install_xpi() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	if [[ ${#} -lt 2 ]] ; then
+		die "${FUNCNAME} requires at least two arguments"
+	fi
+
+	local DESTDIR=${1}
+	shift
+
+	insinto "${DESTDIR}"
+
+	local emid xpi_file xpi_tmp_dir
+	for xpi_file in "${@}" ; do
+		emid=
+		xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+		# Unpack XPI
+		unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+		# Determine extension ID
+		if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+			emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+			[[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+		elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+			emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+			[[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+		else
+			die "failed to determine extension id"
+		fi
+
+		einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+		newins "${xpi_file}" "${emid}.xpi"
+	done
+}
+
+mozconfig_add_options_ac() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	if [[ ${#} -lt 2 ]] ; then
+		die "${FUNCNAME} requires at least two arguments"
+	fi
+
+	local reason=${1}
+	shift
+
+	local option
+	for option in ${@} ; do
+		echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+	done
+}
+
+mozconfig_add_options_mk() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	if [[ ${#} -lt 2 ]] ; then
+		die "${FUNCNAME} requires at least two arguments"
+	fi
+
+	local reason=${1}
+	shift
+
+	local option
+	for option in ${@} ; do
+		echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+	done
+}
+
+mozconfig_use_enable() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	if [[ ${#} -lt 1 ]] ; then
+		die "${FUNCNAME} requires at least one arguments"
+	fi
+
+	local flag=$(use_enable "${@}")
+	mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	if [[ ${#} -lt 1 ]] ; then
+		die "${FUNCNAME} requires at least one arguments"
+	fi
+
+	local flag=$(use_with "${@}")
+	mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+pkg_pretend() {
+	if [[ ${MERGE_TYPE} != binary ]] ; then
+		if use pgo ; then
+			if ! has usersandbox $FEATURES ; then
+				die "You must enable usersandbox as X server can not run as root!"
+			fi
+		fi
+
+		# Ensure we have enough disk space to compile
+		if use pgo || use lto || use debug ; then
+			CHECKREQS_DISK_BUILD="13500M"
+		else
+			CHECKREQS_DISK_BUILD="6500M"
+		fi
+
+		check-reqs_pkg_pretend
+	fi
+}
+
+pkg_setup() {
+	if [[ ${MERGE_TYPE} != binary ]] ; then
+		if use pgo ; then
+			if ! has userpriv ${FEATURES} ; then
+				eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+			fi
+		fi
+
+		# Ensure we have enough disk space to compile
+		if use pgo || use lto || use debug ; then
+			CHECKREQS_DISK_BUILD="13500M"
+		else
+			CHECKREQS_DISK_BUILD="6400M"
+		fi
+
+		check-reqs_pkg_setup
+
+		llvm_pkg_setup
+
+		if use clang && use lto ; then
+			local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+			[[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+			[[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+			local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+			[[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+			[[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+			if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+				eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+				eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+				eerror "  - Manually switch rust version using 'eselect rust' to match used LLVM version"
+				eerror "  - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+				eerror "  - Build ${CATEGORY}/${PN} without USE=lto"
+				die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+			fi
+		fi
+
+		if ! use clang && [[ $(gcc-major-version) -eq 11 ]] \
+			&& ! has_version -b ">sys-devel/gcc-11.1.0:11" ; then
+			# bug 792705
+			eerror "Using GCC 11 to compile firefox is currently known to be broken (see bug #792705)."
+			die "Set USE=clang or select <gcc-11 to build ${CATEGORY}/${P}."
+		fi
+
+		python-any-r1_pkg_setup
+
+		# Avoid PGO profiling problems due to enviroment leakage
+		# These should *always* be cleaned up anyway
+		unset \
+			DBUS_SESSION_BUS_ADDRESS \
+			DISPLAY \
+			ORBIT_SOCKETDIR \
+			SESSION_MANAGER \
+			XAUTHORITY \
+			XDG_CACHE_HOME \
+			XDG_SESSION_COOKIE
+
+		# Build system is using /proc/self/oom_score_adj, bug #604394
+		addpredict /proc/self/oom_score_adj
+
+		if use pgo ; then
+			# Allow access to GPU during PGO run
+			local ati_cards mesa_cards nvidia_cards render_cards
+			shopt -s nullglob
+
+			ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
+			if [[ -n "${ati_cards}" ]] ; then
+				addpredict "${ati_cards}"
+			fi
+
+			mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+			if [[ -n "${mesa_cards}" ]] ; then
+				addpredict "${mesa_cards}"
+			fi
+
+			nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
+			if [[ -n "${nvidia_cards}" ]] ; then
+				addpredict "${nvidia_cards}"
+			fi
+
+			render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
+			if [[ -n "${render_cards}" ]] ; then
+				addpredict "${render_cards}"
+			fi
+
+			shopt -u nullglob
+		fi
+
+		if ! mountpoint -q /dev/shm ; then
+			# If /dev/shm is not available, configure is known to fail with
+			# a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+			ewarn "/dev/shm is not mounted -- expect build failures!"
+		fi
+
+		# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+		# Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+		# get your own set of keys.
+		if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+			MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+		fi
+
+		if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+			MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+		fi
+
+		# Mozilla API keys (see https://location.services.mozilla.com/api)
+		# Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+		# get your own set of keys.
+		if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+			MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+		fi
+
+		# Ensure we use C locale when building, bug #746215
+		export LC_ALL=C
+	fi
+
+	CONFIG_CHECK="~SECCOMP"
+	WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+	linux-info_pkg_setup
+}
+
+src_unpack() {
+	local _lp_dir="${WORKDIR}/language_packs"
+	local _src_file
+
+	if [[ ! -d "${_lp_dir}" ]] ; then
+		mkdir "${_lp_dir}" || die
+	fi
+
+	for _src_file in ${A} ; do
+		if [[ ${_src_file} == *.xpi ]]; then
+			cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+		else
+			unpack ${_src_file}
+		fi
+	done
+}
+
+src_prepare() {
+	use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+	eapply "${WORKDIR}/firefox-patches"
+
+	# Allow user to apply any additional patches without modifing ebuild
+	eapply_user
+
+	# Make cargo respect MAKEOPTS
+	export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+	# Make LTO respect MAKEOPTS
+	sed -i \
+		-e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+		"${S}"/build/moz.configure/lto-pgo.configure \
+		|| die "sed failed to set num_cores"
+
+	# Make ICU respect MAKEOPTS
+	sed -i \
+		-e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+		"${S}"/intl/icu_sources_data.py \
+		|| die "sed failed to set num_cores"
+
+	# sed-in toolchain prefix
+	sed -i \
+		-e "s/objdump/${CHOST}-objdump/" \
+		"${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+		|| die "sed failed to set toolchain prefix"
+
+	sed -i \
+		-e 's/ccache_stats = None/return None/' \
+		"${S}"/python/mozbuild/mozbuild/controller/building.py \
+		|| die "sed failed to disable ccache stats call"
+
+	einfo "Removing pre-built binaries ..."
+	find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+	# Clearing checksums where we have applied patches
+	moz_clear_vendor_checksums 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
+		AS=llvm-as
+		CC=${CHOST}-clang
+		CXX=${CHOST}-clang++
+		NM=llvm-nm
+		RANLIB=llvm-ranlib
+	elif ! use clang && ! tc-is-gcc ; then
+		# Force gcc
+		have_switched_compiler=yes
+		einfo "Enforcing the use of gcc due to USE=-clang ..."
+		AR=gcc-ar
+		CC=${CHOST}-gcc
+		CXX=${CHOST}-g++
+		NM=gcc-nm
+		RANLIB=gcc-ranlib
+	fi
+
+	if [[ -n "${have_switched_compiler}" ]] ; then
+		# Because we switched active compiler we have to ensure
+		# that no unsupported flags are set
+		strip-unsupported-flags
+	fi
+
+	# Ensure we use correct toolchain
+	export HOST_CC="$(tc-getBUILD_CC)"
+	export HOST_CXX="$(tc-getBUILD_CXX)"
+	tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+	# Pass the correct toolchain paths through cbindgen
+	if tc-is-cross-compiler ; then
+		export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+	fi
+
+	# Set MOZILLA_FIVE_HOME
+	export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+	# python/mach/mach/mixin/process.py fails to detect SHELL
+	export SHELL="${EPREFIX}/bin/bash"
+
+	# Set state path
+	export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+	# Set MOZCONFIG
+	export MOZCONFIG="${S}/.mozconfig"
+
+	# Initialize MOZCONFIG
+	mozconfig_add_options_ac '' --enable-application=browser
+
+	# Set Gentoo defaults
+	export MOZILLA_OFFICIAL=1
+
+	mozconfig_add_options_ac 'Gentoo default' \
+		--allow-addon-sideload \
+		--disable-cargo-incremental \
+		--disable-crashreporter \
+		--disable-install-strip \
+		--disable-parental-controls \
+		--disable-strip \
+		--disable-updater \
+		--enable-negotiateauth \
+		--enable-new-pass-manager \
+		--enable-official-branding \
+		--enable-release \
+		--enable-system-ffi \
+		--enable-system-pixman \
+		--host="${CBUILD:-${CHOST}}" \
+		--libdir="${EPREFIX}/usr/$(get_libdir)" \
+		--prefix="${EPREFIX}/usr" \
+		--target="${CHOST}" \
+		--without-ccache \
+		--without-wasm-sandboxed-libraries \
+		--with-intl-api \
+		--with-libclang-path="$(llvm-config --libdir)" \
+		--with-system-nspr \
+		--with-system-nss \
+		--with-system-zlib \
+		--with-toolchain-prefix="${CHOST}-" \
+		--with-unsigned-addon-scopes=app,system \
+		--x-includes="${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
+
+	# For future keywording: This is currently (97.0) only supported on:
+	# amd64, arm, arm64 & x86.
+	# Might want to flip the logic around if Firefox is to support more arches.
+	if use ppc64; then
+		mozconfig_add_options_ac '' --disable-sandbox
+	else
+		mozconfig_add_options_ac '' --enable-sandbox
+	fi
+
+	if [[ -s "${S}/api-google.key" ]] ; then
+		local key_origin="Gentoo default"
+		if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+			key_origin="User value"
+		fi
+
+		mozconfig_add_options_ac "${key_origin}" \
+			--with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+	else
+		einfo "Building without Google API key ..."
+	fi
+
+	if [[ -s "${S}/api-location.key" ]] ; then
+		local key_origin="Gentoo default"
+		if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+			key_origin="User value"
+		fi
+
+		mozconfig_add_options_ac "${key_origin}" \
+			--with-google-location-service-api-keyfile="${S}/api-location.key"
+	else
+		einfo "Building without Location API key ..."
+	fi
+
+	if [[ -s "${S}/api-mozilla.key" ]] ; then
+		local key_origin="Gentoo default"
+		if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+			key_origin="User value"
+		fi
+
+		mozconfig_add_options_ac "${key_origin}" \
+			--with-mozilla-api-keyfile="${S}/api-mozilla.key"
+	else
+		einfo "Building without Mozilla API key ..."
+	fi
+
+	mozconfig_use_with system-av1
+	mozconfig_use_with system-harfbuzz
+	mozconfig_use_with system-harfbuzz system-graphite2
+	mozconfig_use_with system-icu
+	mozconfig_use_with system-jpeg
+	mozconfig_use_with system-libevent
+	mozconfig_use_with system-libvpx
+	mozconfig_use_with system-png
+	mozconfig_use_with system-webp
+
+	mozconfig_use_enable dbus
+	mozconfig_use_enable libproxy
+
+	use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+	mozconfig_use_enable geckodriver
+
+	if use hardened ; then
+		mozconfig_add_options_ac "+hardened" --enable-hardening
+		append-ldflags "-Wl,-z,relro -Wl,-z,now"
+	fi
+
+	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
+			mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+		fi
+
+		if use pgo ; then
+			mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+			if use clang ; then
+				# Used in build/pgo/profileserver.py
+				export LLVM_PROFDATA="llvm-profdata"
+			fi
+		fi
+	else
+		# Avoid auto-magic on linker
+		if use clang ; then
+			# This is upstream's default
+			mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+		else
+			mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+		fi
+	fi
+
+	# LTO flag was handled via configure
+	filter-flags '-flto*'
+
+	mozconfig_use_enable debug
+	if use debug ; then
+		mozconfig_add_options_ac '+debug' --disable-optimize
+	else
+		if is-flag '-g*' ; then
+			if use clang ; then
+				mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+			else
+				mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+			fi
+		else
+			mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+		fi
+
+		if is-flag '-O0' ; then
+			mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+		elif is-flag '-O4' ; then
+			mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+		elif is-flag '-O3' ; then
+			mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+		elif is-flag '-O1' ; then
+			mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+		elif is-flag '-Os' ; then
+			mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+		else
+			mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+		fi
+	fi
+
+	# Debug flag was handled via configure
+	filter-flags '-g*'
+
+	# Optimization flag was handled via configure
+	filter-flags '-O*'
+
+	# Modifications to better support ARM, bug #553364
+	if use cpu_flags_arm_neon ; then
+		mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
+
+		if ! tc-is-clang ; then
+			# thumb options aren't supported when using clang, bug 666966
+			mozconfig_add_options_ac '+cpu_flags_arm_neon' \
+				--with-thumb=yes \
+				--with-thumb-interwork=no
+		fi
+	fi
+
+	if [[ ${CHOST} == armv*h* ]] ; then
+		mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard
+
+		if ! use system-libvpx ; then
+			sed -i \
+				-e "s|softfp|hard|" \
+				"${S}"/media/libvpx/moz.build \
+				|| die
+		fi
+	fi
+
+	if use clang ; then
+		# https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
+		# https://bugzilla.mozilla.org/show_bug.cgi?id=1483822
+		# toolkit/moz.configure Elfhack section: target.cpu in ('arm', 'x86', 'x86_64')
+		local disable_elf_hack=
+		if use amd64 ; then
+			disable_elf_hack=yes
+		elif use x86 ; then
+			disable_elf_hack=yes
+		elif use arm ; then
+			disable_elf_hack=yes
+		fi
+
+		if [[ -n ${disable_elf_hack} ]] ; then
+			mozconfig_add_options_ac 'elf-hack is broken when using Clang' --disable-elf-hack
+		fi
+	elif tc-is-gcc ; then
+		if ver_test $(gcc-fullversion) -ge 10 ; then
+			einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
+			append-cxxflags -fno-tree-loop-vectorize
+		fi
+	fi
+
+	# Additional ARCH support
+	case "${ARCH}" in
+		arm)
+			# Reduce the memory requirements for linking
+			if use clang ; then
+				# Nothing to do
+				:;
+			elif use lto ; then
+				append-ldflags -Wl,--no-keep-memory
+			else
+				append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+			fi
+			;;
+	esac
+
+	if ! use elibc_glibc ; then
+		mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+	fi
+
+	# Allow elfhack to work in combination with unstripped binaries
+	# when they would normally be larger than 2GiB.
+	append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+	# Make revdep-rebuild.sh happy; Also required for musl
+	append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+	# Pass $MAKEOPTS to build system
+	export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+	# Use system's Python environment
+	export MACH_USE_SYSTEM_PYTHON=1
+	export MACH_SYSTEM_ASSERTED_COMPATIBLE_WITH_MACH_SITE=1
+	export MACH_SYSTEM_ASSERTED_COMPATIBLE_WITH_BUILD_SITE=1
+	export PIP_NO_CACHE_DIR=off
+
+	# Disable notification when build system has finished
+	export MOZ_NOSPAM=1
+
+	# Portage sets XARGS environment variable to "xargs -r" by default which
+	# breaks build system's check_prog() function which doesn't support arguments
+	mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+	# Set build dir
+	mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+	# Show flags we will use
+	einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+	einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+	einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+	einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+	einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+	# Handle EXTRA_CONF and show summary
+	local ac opt hash reason
+
+	# Apply EXTRA_ECONF entries to $MOZCONFIG
+	if [[ -n ${EXTRA_ECONF} ]] ; then
+		IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+		for opt in "${ac[@]}"; do
+			mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+		done
+	fi
+
+	echo
+	echo "=========================================================="
+	echo "Building ${PF} with the following configuration"
+	grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+		[[ -z ${hash} || ${hash} == \# ]] \
+			|| die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+		printf "    %-30s  %s\n" "${opt}" "${reason:-mozilla.org default}"
+	done
+	echo "=========================================================="
+	echo
+
+	./mach configure || die
+}
+
+src_compile() {
+	local virtx_cmd=
+
+	if use pgo ; then
+		virtx_cmd=virtx
+
+		# Reset and cleanup environment variables used by GNOME/XDG
+		gnome2_environment_reset
+
+		addpredict /root
+	fi
+
+	local -x GDK_BACKEND=x11
+
+	${virtx_cmd} ./mach build --verbose \
+		|| die
+}
+
+src_install() {
+	# xpcshell is getting called during install
+	pax-mark m \
+		"${BUILD_DIR}"/dist/bin/xpcshell \
+		"${BUILD_DIR}"/dist/bin/${PN} \
+		"${BUILD_DIR}"/dist/bin/plugin-container
+
+	DESTDIR="${D}" ./mach install || die
+
+	# Upstream cannot ship symlink but we can (bmo#658850)
+	rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+	dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+	# Don't install llvm-symbolizer from sys-devel/llvm package
+	if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+		rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+	fi
+
+	# Install policy (currently only used to disable application updates)
+	insinto "${MOZILLA_FIVE_HOME}/distribution"
+	newins "${FILESDIR}"/distribution.ini distribution.ini
+	newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+	# Install system-wide preferences
+	local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+	insinto "${PREFS_DIR}"
+	newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+	local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+	# Set dictionary path to use system hunspell
+	cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+	pref("spellchecker.dictionary_path",       "${EPREFIX}/usr/share/myspell");
+	EOF
+
+	# Force hwaccel prefs if USE=hwaccel is enabled
+	if use hwaccel ; then
+		cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r1 \
+		>>"${GENTOO_PREFS}" \
+		|| die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+	fi
+
+	if ! use gmp-autoupdate ; then
+		local plugin
+		for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+			einfo "Disabling auto-update for ${plugin} plugin ..."
+			cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+			pref("media.${plugin}.autoupdate",   false);
+			EOF
+		done
+	fi
+
+	# Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+	if use system-harfbuzz ; then
+		cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+		sticky_pref("gfx.font_rendering.graphite.enabled", true);
+		EOF
+	fi
+
+	# Install language packs
+	local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') )
+	if [[ -n "${langpacks}" ]] ; then
+		moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}"
+	fi
+
+	# Install geckodriver
+	if use geckodriver ; then
+		einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..."
+		pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver
+		exeinto "${MOZILLA_FIVE_HOME}"
+		doexe "${BUILD_DIR}"/dist/bin/geckodriver
+
+		dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
+	fi
+
+	# Install icons
+	local icon_srcdir="${S}/browser/branding/official"
+	local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+	insinto /usr/share/icons/hicolor/symbolic/apps
+	newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+	local icon size
+	for icon in "${icon_srcdir}"/default*.png ; do
+		size=${icon%.png}
+		size=${size##*/default}
+
+		if [[ ${size} -eq 48 ]] ; then
+			newicon "${icon}" ${PN}.png
+		fi
+
+		newicon -s ${size} "${icon}" ${PN}.png
+	done
+
+	# Install menu
+	local app_name="Mozilla ${MOZ_PN^}"
+	local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+	local desktop_filename="${PN}.desktop"
+	local exec_command="${PN}"
+	local icon="${PN}"
+	local use_wayland="false"
+
+	if use wayland ; then
+		use_wayland="true"
+	fi
+
+	cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+	sed -i \
+		-e "s:@NAME@:${app_name}:" \
+		-e "s:@EXEC@:${exec_command}:" \
+		-e "s:@ICON@:${icon}:" \
+		"${WORKDIR}/${PN}.desktop-template" \
+		|| die
+
+	newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+	rm "${WORKDIR}/${PN}.desktop-template" || die
+
+	# Install wrapper script
+	[[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+	newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+	# Update wrapper
+	sed -i \
+		-e "s:@PREFIX@:${EPREFIX}/usr:" \
+		-e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+		-e "s:@APULSELIB_DIR@:${apulselib}:" \
+		-e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+		"${ED}/usr/bin/${PN}" \
+		|| die
+}
+
+pkg_preinst() {
+	xdg_pkg_preinst
+
+	# If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+	# does not need to be forced into the LD_LIBRARY_PATH
+	if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+		einfo "APULSE found; Generating library symlinks for sound support ..."
+		local lib
+		pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+		for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+			# A quickpkg rolled by hand will grab symlinks as part of the package,
+			# so we need to avoid creating them if they already exist.
+			if [[ ! -L ${lib##*/} ]] ; then
+				ln -s "${lib}" ${lib##*/} || die
+			fi
+		done
+		popd &>/dev/null || die
+	fi
+}
+
+pkg_postinst() {
+	xdg_pkg_postinst
+
+	if ! use gmp-autoupdate ; then
+		elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+		elog "installing into new profiles:"
+		local plugin
+		for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+			elog "\t ${plugin}"
+		done
+		elog
+	fi
+
+	if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+		elog "Apulse was detected at merge time on this system and so it will always be"
+		elog "used for sound.  If you wish to use pulseaudio instead please unmerge"
+		elog "media-sound/apulse."
+		elog
+	fi
+
+	local show_doh_information
+	local show_normandy_information
+	local show_shortcut_information
+
+	if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+		# New install; Tell user that DoH is disabled by default
+		show_doh_information=yes
+		show_normandy_information=yes
+		show_shortcut_information=no
+	else
+		local replacing_version
+		for replacing_version in ${REPLACING_VERSIONS} ; do
+			if ver_test "${replacing_version}" -lt 91.0 ; then
+				# Tell user that we no longer install a shortcut
+				# per supported display protocol
+				show_shortcut_information=yes
+			fi
+		done
+	fi
+
+	if [[ -n "${show_doh_information}" ]] ; then
+		elog
+		elog "Note regarding Trusted Recursive Resolver aka DNS-over-HTTPS (DoH):"
+		elog "Due to privacy concerns (encrypting DNS might be a good thing, sending all"
+		elog "DNS traffic to Cloudflare by default is not a good idea and applications"
+		elog "should respect OS configured settings), \"network.trr.mode\" was set to 5"
+		elog "(\"Off by choice\") by default."
+		elog "You can enable DNS-over-HTTPS in ${PN^}'s preferences."
+	fi
+
+	# bug 713782
+	if [[ -n "${show_normandy_information}" ]] ; then
+		elog
+		elog "Upstream operates a service named Normandy which allows Mozilla to"
+		elog "push changes for default settings or even install new add-ons remotely."
+		elog "While this can be useful to address problems like 'Armagadd-on 2.0' or"
+		elog "revert previous decisions to disable TLS 1.0/1.1, privacy and security"
+		elog "concerns prevail, which is why we have switched off the use of this"
+		elog "service by default."
+		elog
+		elog "To re-enable this service set"
+		elog
+		elog "    app.normandy.enabled=true"
+		elog
+		elog "in about:config."
+	fi
+
+	if [[ -n "${show_shortcut_information}" ]] ; then
+		elog
+		elog "Since ${PN}-91.0 we no longer install multiple shortcuts for"
+		elog "each supported display protocol.  Instead we will only install"
+		elog "one generic Mozilla ${PN^} shortcut."
+		elog "If you still want to be able to select between running Mozilla ${PN^}"
+		elog "on X11 or Wayland, you have to re-create these shortcuts on your own."
+	fi
+}


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2023-06-20 21:16 Georgy Yakovlev
  0 siblings, 0 replies; 25+ messages in thread
From: Georgy Yakovlev @ 2023-06-20 21:16 UTC (permalink / raw
  To: gentoo-commits

commit:     9aab476a565acfa2270a22c92d1efa129c3f8693
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 20 19:31:12 2023 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Tue Jun 20 21:16:20 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9aab476a

www-client/firefox: fix/keyword 114.0 on ppc64

Bug: https://bugs.gentoo.org/908297
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 .../firefox/files/firefox-114-ppc64-webrtc.patch   | 35 ++++++++++++++++++++++
 www-client/firefox/firefox-114.0.ebuild            |  7 ++++-
 2 files changed, 41 insertions(+), 1 deletion(-)

diff --git a/www-client/firefox/files/firefox-114-ppc64-webrtc.patch b/www-client/firefox/files/firefox-114-ppc64-webrtc.patch
new file mode 100644
index 000000000000..14e8c4a6baaa
--- /dev/null
+++ b/www-client/firefox/files/firefox-114-ppc64-webrtc.patch
@@ -0,0 +1,35 @@
+#https://www.talospace.com/2023/06/firefox-114-on-power.html
+#https://gist.github.com/classilla/95b5dd53627528448f8512a82205672c
+
+diff -r 954df08c7f0b third_party/libwebrtc/moz.build
+--- a/third_party/libwebrtc/moz.build	Tue Jun 06 08:55:21 2023 +0000
++++ b/third_party/libwebrtc/moz.build	Mon Jun 19 09:33:12 2023 -0700
+@@ -595,16 +595,28 @@
+         "/third_party/libwebrtc/modules/desktop_capture/primitives_gn",
+         "/third_party/libwebrtc/modules/portal/portal_gn",
+         "/third_party/libwebrtc/third_party/drm/drm_gn",
+         "/third_party/libwebrtc/third_party/gbm/gbm_gn",
+         "/third_party/libwebrtc/third_party/libepoxy/libepoxy_gn",
+         "/third_party/libwebrtc/third_party/pipewire/pipewire_gn"
+     ]
+ 
++if CONFIG["CPU_ARCH"] == "ppc64" and CONFIG["OS_TARGET"] == "Linux":
++
++    DIRS += [
++        "/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn",
++        "/third_party/libwebrtc/modules/desktop_capture/primitives_gn",
++        "/third_party/libwebrtc/modules/portal/portal_gn",
++        "/third_party/libwebrtc/third_party/drm/drm_gn",
++        "/third_party/libwebrtc/third_party/gbm/gbm_gn",
++        "/third_party/libwebrtc/third_party/libepoxy/libepoxy_gn",
++        "/third_party/libwebrtc/third_party/pipewire/pipewire_gn"
++    ]
++
+ if CONFIG["CPU_ARCH"] == "aarch64" and CONFIG["OS_TARGET"] == "OpenBSD":
+ 
+     DIRS += [
+         "/third_party/libwebrtc/common_audio/common_audio_neon_c_gn",
+         "/third_party/libwebrtc/common_audio/common_audio_neon_gn"
+     ]
+ 
+ if CONFIG["CPU_ARCH"] == "x86_64" and CONFIG["OS_TARGET"] == "OpenBSD":

diff --git a/www-client/firefox/firefox-114.0.ebuild b/www-client/firefox/firefox-114.0.ebuild
index bdf003b7fd5c..2c6e7a02b3f9 100644
--- a/www-client/firefox/firefox-114.0.ebuild
+++ b/www-client/firefox/firefox-114.0.ebuild
@@ -647,7 +647,12 @@ src_unpack() {
 
 src_prepare() {
 	use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
-	! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch
+	#! use ppc64 && rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch
+
+	# temp workaround for https://bugs.gentoo.org/908297 until patch added to tarball
+	rm -v "${WORKDIR}"/firefox-patches/*bmo-1775202-ppc64*.patch
+	use ppc64 && eapply "${FILESDIR}"/firefox-114-ppc64-webrtc.patch
+	# end temp workaround
 
 	eapply "${WORKDIR}/firefox-patches"
 


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
@ 2024-08-14 12:40 Joonas Niilola
  0 siblings, 0 replies; 25+ messages in thread
From: Joonas Niilola @ 2024-08-14 12:40 UTC (permalink / raw
  To: gentoo-commits

commit:     e39d91b9104b277de6f6713db0da07afce4beb9c
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 14 12:36:18 2024 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Wed Aug 14 12:36:18 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e39d91b9

www-client/firefox: add 129.0.1

 - attempt to install working search provider files for Gnome - I don't have
   Gnome to test it, but everything should be in place,
 - removed firefox-100.0 user agent information for new installs,
 - synced MOZ_ESR conditions and nearly all ebuild updates between 128esr and
   129.0.1 to unify the ebuilds and ease up maintenance for both.

Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 www-client/firefox/Manifest               |  101 +++
 www-client/firefox/files/README.gentoo    |    8 -
 www-client/firefox/firefox-129.0.1.ebuild | 1401 +++++++++++++++++++++++++++++
 3 files changed, 1502 insertions(+), 8 deletions(-)

diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 2f5c1291418a..cbc9ba199ca0 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -403,4 +403,105 @@ DIST firefox-129.0-vi.xpi 658017 BLAKE2B 817db5f6931bfec8555210ba4c123156ea6517c
 DIST firefox-129.0-xh.xpi 419346 BLAKE2B 43b17550b6d5e43d9eab54e8a5be693754b8752c69071af37588fbe37df5c34f430cb12e1b786d55657492a879a09431f7cbcf03b9f15931f5b425d6b672995d SHA512 aef6ebeff017792264624ba3826184bed07d5b50b3b187458cd6bec40f3c801e48835777e1604cddb7383f1e1b49b70cb652177ff75ea334a07887b5e3608270
 DIST firefox-129.0-zh-CN.xpi 659751 BLAKE2B a3e42fd166f3e53e257a01867a39b5968205fc1776039a90a313ec83172cbf01a56ebe03822df187a6858ab68d0b2771aa279b069433f0f1a775601cdb394844 SHA512 864b97371898740eb9f3d73e43b00c493da2c613279d05b4ac4a65e3e65be2ff88ca6d8e04f44a07ee752ce518d1350227f9c43161081303c30e08498847f3e7
 DIST firefox-129.0-zh-TW.xpi 661606 BLAKE2B 55a5662cbec90c5a4813ed7540cded88b50560d226b17b43c9b8454ee901a269b974ced3f9babb8b46fdcf0a51d4871a36e33d3ff0969597aeda34690c4a5863 SHA512 6d225f14c65f0a9dd08dd716199eae640d8e2a3f52026d43a46d07c4f48a5f7bd18b4a2ad8167c5b33e1eb17307ccbba80c05b5e2753d191779d7c115dc45b27
+DIST firefox-129.0.1-ach.xpi 466203 BLAKE2B 1bf400d04a11d92e935f39ff1d0d667337e4f3467d3c23afc83eac072c876fa3ce27ef094e37386e700a484e6a85313c24608bda4f3aeb6e0347b9974cda3825 SHA512 0de41cffc794d0bd239173a77b8299e56863620c5e9855836e16539fe22a364a59c61293815f3d599bce0713226eb9b0cbc3ac75530edb143c5f1ff5b7098216
+DIST firefox-129.0.1-af.xpi 419658 BLAKE2B af551df18aa2d22702084c5a3d44b2d13e95908723973b3f9013693a464b030890a05f8368eaf20ca566a71f5ed74512a298a877453f76913f9aae886c8da227 SHA512 e370fc32822c5cc24ee5f4c02f862db8a368de8eb7f2782f77ee76192ec7a59717d8aedbc0b13e2237daf2189bac6e9ff63b62343c456cc60bdf67a0549ce8df
+DIST firefox-129.0.1-an.xpi 508147 BLAKE2B 528f5baf0c7aad059c486c83f94333edf24f2b4b38987f23cae90ff0ba4f64ce9fc3fc933dc1b29f3cc9023a14de7a62e4211733354a1bd0713d2fc7c7a465e7 SHA512 614bdc01c051a37431aa9bbf913e40acc7dc2751ef9f0bd8ece2c6e859958d4c01b5bd70da613b904fdecf021b13c774de094edc3b1d4a700bbd8cd83f210e70
+DIST firefox-129.0.1-ar.xpi 613072 BLAKE2B fd315b78f59e3637b1633dc2311ad13e5d524b441f1faf8d1cca199bc456339174a386d627decfe561da600fcf7fbfad3564169b42bd3c50a13b680197cc2343 SHA512 f5005e8dd336d6274eb4e1424a5b5acdb1152c127fdded95c41ebd864f87acff04fc965d842c038281fde702e5f18ba5875244deef30ad2357c56fe6dc8d7ba8
+DIST firefox-129.0.1-ast.xpi 498510 BLAKE2B c6f1e430609e2188ffdde33f6205477a75422480499919eb12c51547ef2239b778671fb2e2e7ec4a544b26e5c1e055624104d0596656f3a9bccd35342417e38b SHA512 07ba30cb97968856b51e6d47d42b9f7df86db55d4517cd2ee08f8c7987eb85fbd406dadec21ffc6dcae616dd91419376a41211476ec6fb21c55b8a906d58ec8a
+DIST firefox-129.0.1-az.xpi 492957 BLAKE2B 7bba0415ffba2b4b40aaafcf40af859421aec43ce0df6fa07e65315650da4525e4c0f609b0a8ce4a0b2944fe31ca0eb5fc5d1d052b7024bcee832008ce6e32c1 SHA512 f26b5ba52db0237e7a376a606fc7d417ae7ea77c04b741b4d12ffab76f1a0c21bab29377ab07243a57d9f3262ccfefa55dfea84fc34f1aff02b67cb7aae4ed8d
+DIST firefox-129.0.1-be.xpi 718010 BLAKE2B 4b53dc0ae6353911dfae66864cf254dd4113a37a8605b66cebda8f4be3800b1c95c2daa054f230ebab6715726356ac10aa65e82f0143c10a41b9f30e6b96b684 SHA512 e6fc6b006317ef5d3bba1cf9087b93e59907fa1e0a854dbbc4d68c28769b034b8c09968b8e3a5027f54a5d12bacfe80f7b26af864a7e6bc2a119f3b7a90dec4d
+DIST firefox-129.0.1-bg.xpi 624115 BLAKE2B a0dd3973ccf6468ff0f10e68c2c85525edfc49fa9e85c391db7360ea19430cf3edeb01eb3f8c09f3cd09a8e2670b61abb0d1fc10233e5cf8cf887277b1f43de8 SHA512 f357c258c278944f5759de2bf4b84101667d1758559dff797b51b3f8d5b08231724527d7e8acd2da6acf92fffbcfe72dbca4d084e3590c0a3891a2b6117520cd
+DIST firefox-129.0.1-bn.xpi 583730 BLAKE2B 30807365f0d737a1887b33c94ca78cf8cc1200bfdc3a0d66d03ea45ad1fbccd0a204ab3dc0858ff80552e1cc9615fc765026914cd31a9fe02f16bea5ef198ade SHA512 7cb3e87211064a05f0d2b64933f56d8cdcea6359bc3d6951d3b4d35f2ad72bd752efe08dda076f10c6f918f8883e13351958ed7d71563f6326214414b8e373c2
+DIST firefox-129.0.1-br.xpi 591227 BLAKE2B dda4d91c881a795ee6ab2d0188ca4c8be4042d1c2b9c4c23577cea1b3b642cd484a1a90a354100612bd913fbae9ce15438539c9772c51569754dcaaa0df3ae72 SHA512 00f50d8216c719f5d13a72c403669629bb1b9ddd9980bb034590f146f26bbe598c35862dea58c973a0977f60c8ee43aff8dc8c0faf203c9f83dde5adf9199331
+DIST firefox-129.0.1-bs.xpi 504168 BLAKE2B b0d9897a2d987b3f20d6ed165d41c8982f2a63c0ce1837fc4e0f41ddc8516002bee6d7d565d403ed8fa96189d505eaebf879049c77ea04b92c2a5ca810d35a23 SHA512 6a551074fa4246a24f2f0f338b76644009a42b0da45ae9b80562d0fd2991c4a73ec0d70b9d57dae1578fc9a9513b30726da611326cb9291490c46c5468f5a4e9
+DIST firefox-129.0.1-ca-valencia.xpi 548456 BLAKE2B de03d04d8b09651fd8329a6979f27ed7c88ee2e003010f6723fc9fc81ec72cf7c4e8a349f5744fc1f1fd67653d769c365c3c86f8f9f7058278fc285fac065ed0 SHA512 758af61677f2b9df14c6a91c9b7b74043fa2e42d45637abf695c01dd4d4b5627a359d279a755214d55c1b1cf12aec0485092fcb1b82d9dff5276a887de08c7ce
+DIST firefox-129.0.1-ca.xpi 599335 BLAKE2B 5a17782d69e50e9388c5aef3e3376381bec44a8a5d64f3ca3e49a9f4ca4dc3aec3765b156cfce6ac358faa679fc3c233c736553c8d08a4114719a645ce244366 SHA512 63bcb2b0c4cb2668645e5c31765c680b4f10d86fb4dc89239821a0b8f3f4a87e38019147eab21f7731399141942074456aaa3e86e6293b8bc9d04429d4de4b5e
+DIST firefox-129.0.1-cak.xpi 595443 BLAKE2B cb7f40cee94b1cfede1f3e0509e3c073b7323ff2e7405d473a88a606a8886e47b4c4b3307dccc9db40bffc325dcb02dd5d95df23ffaa84b3b60ceb4f2bea07f3 SHA512 26855b6d785f2478a227e859f9049d30bd5616b4d9301264b2441ac150d54577dad3cf17037d274f8136f7e25185835b0de5a3873240bfad3d52fc299d56eb2d
+DIST firefox-129.0.1-cs.xpi 662050 BLAKE2B 3e3a51161026e1713f721a12e7131af95404ad36049837e955cbdae05c2e913483155383f1bd8b77ad8143e7b9bccf9806b899c12bbe6bf56ac71662260552cc SHA512 db42e9e6c519177b56ea01a77bda6973728af1cc9dafce78fe6c2aa8f57314a9ba475645e2bf6fd4dadc84c5278c6e5df726325b4db34fe8a95db68448005189
+DIST firefox-129.0.1-cy.xpi 626691 BLAKE2B e99299a027e7c8594fa6194b5b1fbe256c933d383fd2100938568b35d3a7c1851196ab4eae1e8584517e6368bed5a653cded04fbe6fc3b7bea0888bd3d5a734e SHA512 bb8718f2ab590187cd918506447f9c8209e423e147a6c4236f70dc8dec7d3c1f5e2070092d455124e4b2f6aaa90567859edd6311e2b6347b6656ab34194f4b60
+DIST firefox-129.0.1-da.xpi 615343 BLAKE2B 5c5df91ad11df90d8cacd5a4cff3f0cd3c6f125d7edd54fcf60072c584c82488f6020bd86196d3eb5f74767430872580737beef4400e9cd285560eab6fa06cda SHA512 9829e5ecaa614c018de5187ae15481068dcba3720bd864faea7ccca561beed6444404aed503b38cd50ee372e44f5878164dfc0264495a7939aa3a60d0321244f
+DIST firefox-129.0.1-de.xpi 636708 BLAKE2B 854b59464263b31886d58116a2563cdd4398eb1efd448508db71909981b5b75fe06aaa295d39bdeecafcaf64fbab7cf4f66229fc8d91ef7e9076bd34a3eaa185 SHA512 04920db4d1c297d5bd3bf3ea6cf370f346b309c1e4cc3a77da72488b029c9611a84b38f890c4ef4c9bfc86ca57055085514d06e5b48b8f19c19d2368dbf8a6b9
+DIST firefox-129.0.1-dsb.xpi 653382 BLAKE2B c140321c20059ec8c00c9871f89bfdaf7474889936496c4eb44d0b580548c29fb75b270fe92d6cd409805ce27fbb62f4d8a990cb0eca0e55210aac0c470a48b6 SHA512 e886b76cfdc05503c364a2fd2b6a75f1e755747300dff13a83e3ac034607241f3350bc53e5f705958eaae9f7670ae55d0a63a865fb7d3894b8d57aab71c78daf
+DIST firefox-129.0.1-el.xpi 735568 BLAKE2B 43c751c24341c0cacab30d88faacd7f85fb2098c62ac39fbf89e8a56f037fe60e44a0f971613249c89da83f7388d410e15a0c0f564bba0fa3a684a90fc1921ef SHA512 3c050bf0d324b5d0656ef9e1ac65e28dc457c6956fc124ccd25aa20c9d075a3bb7ff8e334e99836f920b5295dd899d9590ce40bbd34ad9ed65b75883e308fb04
+DIST firefox-129.0.1-en-CA.xpi 587144 BLAKE2B e5729f83a9420b4d4b30c8d7e1af810c940a96fe21beb80817c569a40258ba626861823ce9684ab7acf89d706284d267513bf6e038345fa637db8eb0e12afded SHA512 8a18deede7e788587aa8443d32ce71e12f1b6f35d9acbf474370f607f249cde828f161ba9a57f0554b2950937f4e08eec3a3ad6cb2eaa31068c12f37e2a13de4
+DIST firefox-129.0.1-en-GB.xpi 587528 BLAKE2B 6c86c26037ad3655bee98d7c4a561d43dd7fb1ab740fba559758d89e694574ea92c2b1a0d5e10d6a7b1ae15e8561310e0bfa8995e94ad784aa78c3e0f46580cc SHA512 8b268502bdea7d4312a7afe8c38b565a559c73290b074fad45acbc2489618ca9524786c087c092458a046cd7366181bdc2ca7bb8f6675f91517e47d33e57170e
+DIST firefox-129.0.1-eo.xpi 616014 BLAKE2B f171ad8a71b30089f8e9685264f94a2b4c2ac37fc22896a472084152f368ce251adfcf7b09868c74730e92ecdb1225aa22837576fafbf38ca470bf67a5846f11 SHA512 64c896b3b22211fd808c3c47368383518f4752fcd0028835652bed4a67c37e782c80d636eed2da513821c31e65ef3c3acfab793adbb42c6f80a50d227f02341a
+DIST firefox-129.0.1-es-AR.xpi 630369 BLAKE2B 1b486eabd8cf09e33603c2dd0c515cc5442917367dbf79198d1bef0fa39c4b6cb8d28f826796755fc45d453b278493c6c0de6a77984945b945a222673959c41d SHA512 b3baf877bb36ba3b0adcdaaa257a466704eba707970117788c87f6972f1dcd311446c9e67b66034118327dc629c8ab40525fcce51b9db32562b5574251446af2
+DIST firefox-129.0.1-es-CL.xpi 629637 BLAKE2B a8c07e26cb529a486de0fef592e76e08a24fff5df853aed110f45c1c70002e446fe21a8098428b4b0a944ffb2ba6645737068b5e5d4499c71f73dbd4e440bb97 SHA512 6045d2b0b263814894652d386a18b01cfffb8aea8f7ac6613e468d59e18db1dc49fd29bbac5d11e780e15e30e1d993979e36263616e688932e59fed84876418e
+DIST firefox-129.0.1-es-ES.xpi 622865 BLAKE2B 7e29a50f2e8a7c83ce12a46257a8b7e252a6d1f2491adfd22ccc52b8abac4c5fed41272eba9ce749a2403987d52c68b99f74de2b140603eae875909767e2050b SHA512 9f47b5fcbcd567bf923f5114effe1eac4fdf317a14dbf9fb83907640a2469f09988f03a9eff8dacdc55246e4bcc0bf9527baf4174cf2504684d502413ee52945
+DIST firefox-129.0.1-es-MX.xpi 611602 BLAKE2B b0121faa225b09c0993b9d55940af36e6fa4ebca1edb06a8dff5e4beb20791d5e5157333781dda890f10424f63124b0e5d357907b62e2df10eb95a2dfbaba2d0 SHA512 6246482066cae080096fbc4ecb294db027f80b156fd76bd52bbf8d5a7ca182f120a309599a8b97bb4ba1a7ceded0adf3b2457378ae9766b856e6024a13b1dc1e
+DIST firefox-129.0.1-et.xpi 541839 BLAKE2B 2c6abd2d1f0e130981fcd1ac39eb0264a6cd5f495950e406698decbd5f8842a8e4fd8000a43ac9aed0a07abb51118bedc33041f455448e776c4d5a44940c1def SHA512 5cdbd66b9cfc61cbc06c9b136e875fb0a8f191a5d8b9fba30d95e13195bae1c2613abc2cf4f521762e5170190d74111f7f6d727de982c93efc39814d3795a4f8
+DIST firefox-129.0.1-eu.xpi 601685 BLAKE2B 6a215d0f29cc57264fda64b633b97caf90def36b9d30ff9542eb336f750366cf02240970430a58fd9b9dd83991442fc23e2b7e09aab6f420c5b4b83e28da07eb SHA512 6d86bfe4ff8f054a28d9974089315aa165f429548342100c399863c6930fd95b10229c2888453290dbafd116d2bc337431bc4b57cc147c841a16873d7ca31a82
+DIST firefox-129.0.1-fa.xpi 592244 BLAKE2B 2a3bc28ceb76ab5ea94f524b1b2b3003ac02e04297b19212b011e57a4453be6618ba0531e3809cd8d094f4deaa39e48e2f1b28411fa9bf681ac64c8419142b41 SHA512 9d5680baf01b60c00ffadc60848b2347634141e05ff7cc44297388398709ed204101ac7f9ea7d0041e63b12b2c286685e004f089078bb843a11f94971625b47c
+DIST firefox-129.0.1-ff.xpi 478248 BLAKE2B ca1d42bdb9e7f181e01d1f09ff8d2cc4a82d243fbbf7c99c3e03dbed62a6c3ff9476b3f428e21650fe112cad7c95383af173afa4fd624866b916235defbf6453 SHA512 f079bf3a8de935c1c53eaea12483e6099c03fb413991b8f0d9662a2f50103ffaefc2178a485a3602ecaea517aa18521052821777a7e2669588449683f3727892
+DIST firefox-129.0.1-fi.xpi 610113 BLAKE2B 3db7001071af69865efc7388d8dc3afa387d8897bbf87a843512a51d5f17bbd72efc6da22bdc22e19f9e01bb8f3cb0fdcb91a5c625f2e52224e12e977e46570c SHA512 d60c889e8cd3bf4b649326e47e5dcaa902b21bb3666b2f8bc6130829c9c5692b13c915d59f4043b681302c8d5c1b4c969f06c70682c5a8a74d51189994d45e66
+DIST firefox-129.0.1-fr.xpi 643417 BLAKE2B 075e85a273a8702c13a57c57596424852c462d85c8132ccbe9d1fe4bf5d75592304b1d9b554f84d008e8055cff0cd8ff05f50d58dae4d1de63f17b0c70ce2b92 SHA512 5b3afbd1918e2bf37c3b3ea26e35a86d1b1585ae0ca0190a3b531075221ab8d0dabae7ea8b4f7fe9b4a27e3944d7727a1328fb9c0af0ffcfac62dd350f31e51f
+DIST firefox-129.0.1-fur.xpi 635774 BLAKE2B f23236c24d9b50377bdcb5825999e6c4b855503b302a43169fdf5443e07e24804291ec7001480cc3d6ad564c97f9fb4bed198b72f4833a0d53bb5cef7dc70848 SHA512 117e48ea85eb2d4f3b60318e0316274879d8059f62135fa436466785e8c76154a5b2f437b1426e881548ac89c180504ae4be8522ba6b9b9522db2a0e965214e9
+DIST firefox-129.0.1-fy-NL.xpi 626047 BLAKE2B 58842827f65cbb3758bc3073752da321ed801e3509ab118820077a1df7d04cefe9c0bd1c310fd0e5083d1029704ff9abde7288d6bd4660e65b4676f355537b95 SHA512 9cc1ce773347b0955d77c9a0f5b3064722c455feb05982c0f18690e62795d8105c604ff3e7548e8f143766fb48bc4511900aac289e8a9bcc93ccab266361eca1
+DIST firefox-129.0.1-ga-IE.xpi 473209 BLAKE2B e5f9224cba4e3db16773ca6152a8c0693b0bb6bd1942eb159492651cc5f1282eb5808c35c3b02346f38486d50c8ed3e743e8cdd0c43db92e5b2d16d50b25d89d SHA512 ec23242f28d69d094ab20540fe69e99f8ae4fa8a093d39e492f560a7d07458ec6493dac3cf00933080884882192ebf9e73a3df577bc4ed28738a2458a6c12db2
+DIST firefox-129.0.1-gd.xpi 598877 BLAKE2B af2dc2be23ba83b28604d924b3bb45a112a66e714637a1fba8a67dfc5c83d83905ad953f92d84bf85bfacb1a4d26e01dfda32e5aee0be507b78622f08126cb69 SHA512 051c3b47da3d8a33a2fc08f628a487e67ea6ff2b58702881ba8560182bd526e1ea1c8c79019cf072f3cdbd1a5bd54e0a6611fc35c8d6e37806d550abf7462ed7
+DIST firefox-129.0.1-gl.xpi 606451 BLAKE2B 84ed6dd3a5310d4b9a0c6070ccc757a306f864a26ea93e4efd2e17eda6e1080b5ff19fd75a99780684f2a7ec99afc757263b758ff8dc20964e6e2b32e2a44538 SHA512 f07a63e3cd4de6bc64049c8d6494240cd4a20844f67821159c7a7369e6e9fae4d23c21764b5ca661bbf100c7430003c2f5b0b374989c1657db4eb4478186d336
+DIST firefox-129.0.1-gn.xpi 640315 BLAKE2B 27726aca9297137f0a65939b49379485f48692fa05b9b170869452057e342c125348312dfce07a34f5a02912cec3cd5bf2ef75218ca728e9354ed54e811f3fa4 SHA512 b1909c1f20202c075f89f29c4b6ea005d75d16281681df44475ab46805a570c4be05eb8fd7cca962fe9e6a3fb02432aca3a0b7ea751c9450422c922d80670b4e
+DIST firefox-129.0.1-gu-IN.xpi 529499 BLAKE2B d7be7ea6ef906f633a4ec60c6954764879a3fb25129c928ed7806f97c28d15f1c6ece9dbb63410f3d7a3632a9ada509876801b6c546ba71253dc1a83c76f7a69 SHA512 1a8effeca6bae103f1b3d6dd0ef4e033e42b169e6988cd8c6d6d06ea94ea1e14e3ed4ac385389764e592abcd764a7d7d6648b6663dd809701410532da29804d9
+DIST firefox-129.0.1-he.xpi 634002 BLAKE2B 6b1019925046ac1885358896b169625c2b1317b96f0259f4d2eb2a964a913a70ab85b3218aedbff19a5443aeb57e5102d6a4b9bf985c251eb79cb14b6d15ba82 SHA512 cd92d44c1100f1f9fc933303c716ef963a77e4714a4e920fdc42f41e24a35e2caeb629caecc00a783def0130a27dc692f407d863ca489adef496d7c610a20f46
+DIST firefox-129.0.1-hi-IN.xpi 568983 BLAKE2B 55e37a33508edbb3e22bb9f34cf92436a110b2d7651df01232a894621ed653b08614540b148f0f500f03fd40169726e0f658525b3d11b81e023ccbc719a51e24 SHA512 f3ce9f4a5e5129b6e0d16e6f86563ef3b4877b3e2e508b34039bda4fd4281169136aed9a21d9dc2ac7ee007a5800ab6f1a8b012fbc4e1b9dbe373e80415b5357
+DIST firefox-129.0.1-hr.xpi 610557 BLAKE2B 5d95ae7470fa1af451dab642251e620e99727ed9d5f5c2664d1c72c5ac35ed49a7646c4029e450a7666df8087c147b5d3d849f90ca5ddb04649a8d219eca43ad SHA512 1eba5bb1f5ee5a48c61920af137d71db937d3ce63c839b129e308a209bb1c2f53670775f6e671d2c7adee68e468bbad7e215d2ba98c7e595e4cd5b8bf83ae97a
+DIST firefox-129.0.1-hsb.xpi 649228 BLAKE2B 802f8fd9d9f2e1c5ede6f162000fc3bd49afe9a4ebf2cc816351b4a3339155c911565021c25663687cce420355c3313537c058c136e39e19b6b21af948fe51db SHA512 c4f2a325ee20ba192af024d43f5ef5f34f877986fdbb247795ba19922c5c8fbe30a6a5b6a42e066669865e634e0d891e120fb006b1e634793f5c88ab98516d1a
+DIST firefox-129.0.1-hu.xpi 651238 BLAKE2B 34fb48e146aec439944849560837cd3541c1e3bd4d4588e9aef01f3dd5e009fcf2b3ddbffe0c570367f281f143fad862c5338dd099bb3e40f1761901427f152f SHA512 1e643547997cdeca0cea8a61064040a37306d7c62a03e14effcb23e05938e91401456155428f37bc5681c1cbf8100a09a2672f1aee7f430ab3069a84978bc3d6
+DIST firefox-129.0.1-hy-AM.xpi 653906 BLAKE2B 23140d16794aae5b0ed9dc1fa1244dd60d62d0a9c995e7154d4c7af8276b453ee5effd5f8412a7189596fda95e84087218835864188c5e81a51ff429b2dd3765 SHA512 a9a541b5e52a1f0f815203d94fe1d2368af11f5ccf84231ac6b0e8bf093c56658646461f2d4379fd8f3b9d539eb043ee1e539bfa5a26e905c9e88a6397c554a8
+DIST firefox-129.0.1-ia.xpi 613523 BLAKE2B 4b0d1cda70a3a5298c173516a29ac645b18b1660c4ce752b100f3d87c952080313306a8abd8fd36ecdb540a32f7336619613f9b4038b6c6c9c604479bedd0f26 SHA512 680bd5e781899034b11eec808c542f0428991d534b8ce06894877817c0cd8ed97f988f582ed08e9f11bd7e93a873f6003381117d9942b3fc0d7df0ff77eb4d0b
+DIST firefox-129.0.1-id.xpi 585302 BLAKE2B 0d958a1a8f728c70097e8393b831b234ce5774fee6478601b2997286638014c4a716e2e7a814a99c1f3beb76cdec628c57c72d9102c22d31e104975e74a62349 SHA512 c4ac6e977f4d172016e98ca4faf973a1ac745d2f613513c015792a74cbf53de689893a10d192efc0f0b999d64973a78ef61454d4117adc10cf3f629f76ef92c0
+DIST firefox-129.0.1-is.xpi 619024 BLAKE2B 3394a770de2b98452cc58b98ca9d00b6390c773e9483270235d26445bdb9256f471d7ad7202d1f856e1a6103be0e637277f76ad02938ff928ef7c6f8d1b5b5ff SHA512 f03c8fc1305098afd7581774e29962645fba4def8abcb9c7bc97315af7089ea2c801157e2692a0224d308222e217048a13ffc15b6e30cd4f98f80a1b2bed07db
+DIST firefox-129.0.1-it.xpi 569518 BLAKE2B ec6cff3f29c867cccb1ba97b3ecaf25fc623e644fc05a9fb059094ed6d1e7b6f89413115f1cf8c497a082f7007364a06ac33ea655ff69fc4f43436aea224ffea SHA512 6b33032580e3cab4785ef5284345082fc93409e363e814b8c2641261db491c8485272b34384b846929c5f7438ce248852f2d4bdc506df36c445048b7104f3141
+DIST firefox-129.0.1-ja.xpi 679731 BLAKE2B 0faa398029ed46d1edc73972be8a2303adac5ae0134ea0f0d717ef12db3fa17d1119ee370b71265634af62fbe95971ba1a4bed0eddc3bf8490906de5ed79c6ea SHA512 fdc5f3ce5552c802d82e2054b4375f74f5ecd8d858a76d2ee4331868709166326e2a23322190c0c2a251908e903b4ab8a60e6ed1442a4dcb27111a155105b171
+DIST firefox-129.0.1-ka.xpi 663166 BLAKE2B da553f260971ccbbbab99122faa816dc304a438eaf7edac083cfc99bce17fb63ab7f864e1a1cd5126ef7a8d89a25610cc8deb280ead21fafb4d7d465878c19c9 SHA512 3b00538d7457a2c807dac9ddbbfcca2e710bc923c02b5ef48810c69ffb80f437306d7cf4883738c85a9118c002e4715c16045387aa87698267255a6a41e95787
+DIST firefox-129.0.1-kab.xpi 612857 BLAKE2B e1826f655870243a973f3054cb79afff27c3f7548035bb5ed7083fcd3bb0dcaaa21e478e7ac7588fa7f4199df76289494ebdbad1d0a1721fc7bd8ef5879bcb3a SHA512 3f822493b40187c1c9609cc985ec79a7e2af062632c7ebf5989d551098f2a6309ed8848cf6c3fe91b2f55b6091b5c1b06538bc002a5463c02b0cf55aa8aaabe6
+DIST firefox-129.0.1-kk.xpi 710252 BLAKE2B f927b7c58b91a8f1ac94f3f0c6e48b8efed8eddc4af3960d69a7fb3d17de1c4540a982e0b9ab5cb4c92c358573b83c0553568ed3be89b3119d3bed4f73dd5483 SHA512 aeb4593085f24e33a39544447e1039ab477041e7b3290b80a68c881cec91ad634c89579fbc9b1b0ca46ad8bf6876ff2c8d31ec64d4e662a7f8e74029f2749bb1
+DIST firefox-129.0.1-km.xpi 528065 BLAKE2B 1b8074b0b870a6a66637d8851422613d95119694bdf525160d155b519a18f85a1b8678a4b3d5e091ff61ff728a9d0cbf90496669ab1af3de5177509512065113 SHA512 cbca71def35d8db1cef6bcf2bbf07397c9767e16f504fe8ac10bc44e2bfd2b80b967c4da74b5b43f08935727429e2bde1da3562025c51c6fe2786659b0cf5d8d
+DIST firefox-129.0.1-kn.xpi 493383 BLAKE2B 341e75a230c26d3ee7623b0b6afbac15b36200d6f919624159600a3394cd8127af8ed77a47310bf895bbed721b00020d8831e05a1315678755bde7b2a328d9e0 SHA512 c7077e2a2c6dbf9bb55dfd10a20b91ab58b9078b8bc8b05ab0511db53e8499a0f4c9bebad0e904af90527b4ec90f10832e582b79579701a240233e53ca365328
+DIST firefox-129.0.1-ko.xpi 663933 BLAKE2B a68c441db4d9e2a1cf84cce9e46283269336282a2bfcc7cc1ebfcbeeabdd6f5ee1557fb624b5dfa8bb7365eec6c1f00874cc67a4745f5721f46d71742f0a1198 SHA512 efb6a11d8f6c19da16e7aca0bd53e3e9e88bb6b77fc45c3089ad52e55a29bb4badb8060da24d8ead1b13df850580b0d7b19f3c1a8eb3fc8ca58b99fd68b58647
+DIST firefox-129.0.1-lij.xpi 486307 BLAKE2B a412bb332132e2805842d9bdc716d9323f732b3ccaeb8e612dd6a4a576dde57768e6cc026477c618d6ea4bf79601cfb0fce909834e4196152efd7aac6765a27b SHA512 1c00d4d12c9958f57dba2c518b1c036b4e0de0beceb622846020f9ee209cb58a4bba9be6d559a76299e4bdf1657baabfbc89e652c59510474ed6afb7b05f00c0
+DIST firefox-129.0.1-lt.xpi 575016 BLAKE2B 352543b71ea1aec10fd127997437f81f07d0b7d55142fddc4da5c8246a860c51e15f2c0953aa65a64a5fb276152cfdc719047e4065ff370d3b52d258f134479d SHA512 2df572bfeddde2fa95572e5c75d5ad64fcbdf0f8b9dd3d3633767c423a1adc00220b5b9445602035c28633d6fa10acf3f3478c645f2f9c5353c8fff4dc90f2db
+DIST firefox-129.0.1-lv.xpi 576564 BLAKE2B d869d4011e9b26c72283be3a7e439efbcd716f3ac7f619d1020711b2a2ca300bf2313d5def1b9666f0e9e14397684f3eaf66c61f49929c9aa1e256eafb257c0c SHA512 c1862f848cda6cc0fa180312baeeeab6c84935b008034c51f7ecdd23b4db1ddc681bd49eff2c5047876078f6255ac39d88005417f2aaff8ac3278e69c8b5f7ca
+DIST firefox-129.0.1-mk.xpi 496012 BLAKE2B 7ca49f40963320653ad8b2600dbf160f15d5bf9a7837a2367643b633840afb278a0d2ac99276e3c888b7d422e1dae26776510f335f7f46250cedc3f022708e90 SHA512 07d0d1a9098b7f586f14a3ba6c17e8f1c54d4e36e25bdb0e8a3c442ed09d450af3c32a7a6a5eaf1681b7d3763b6efcf90d2e166456195b3326a46ef7a8e3104e
+DIST firefox-129.0.1-mr.xpi 534248 BLAKE2B 7e15b0bc6ce1566a2d311f2f761be31d892ddf3d0e00cefd54072352ab887d93ece496ba6c8deea92ced91795731e9e61b8ddf98bf0350629fa86e1104868aa3 SHA512 b33e73c529cbe7c6bb523501962ca41185c873524c1e0b096a94aabff4005120b828cd1a4b0ef9ce9ecafed7c9bd54b2970595c2203c2676daea697ca46f05d4
+DIST firefox-129.0.1-ms.xpi 451897 BLAKE2B a5c0ac2d1d714f51459faa8287d18db33c7938a780b391c1a510c935ec6031838716fb42d842e202354e18f516f2b9dbd9b93870a85bd69b34aa53108c28cd10 SHA512 da2899a70e2ac4beb0d4e73caaa03f58b48c993e47d563812d98c7a1ce580ea871be23aeeeadc2e0075138c9468a21beb4250ad7e8d8b9027cd0b920b5c7316a
+DIST firefox-129.0.1-my.xpi 520803 BLAKE2B cbebb504804e3493d62e43be9d99be2e296ac38c5984d1ef26e4bec1e89bbdef76b0abbc5a1cfa5b07bf6b7c6ed51ab98d984ed79f9c2803ec9841edd66f966e SHA512 06d7414d8973c938392897ae0f9868e8a1997887980403d4bd64e6d1ea9ba10a79478c01f150d70eae8f70b4e27be547335b5ae7a2b40064ec1d58deefdfa702
+DIST firefox-129.0.1-nb-NO.xpi 610252 BLAKE2B 04787e8c149b24d9d0e7f1f70dcbf464b28eec830fe269405f6a14eeade139afd5b1ef1fdb2bf5f561246e0736eac771a5ac35dbdf8f04de2ad863514ccbbc08 SHA512 c172886b13ebbbd9274206beda81013cded10a6d092860b3eb04409d816c73680703f9e1a771bdd54b2f1a59c36c72e640999a4ade7f4685b7ec73da6b66768a
+DIST firefox-129.0.1-ne-NP.xpi 516319 BLAKE2B 2f1c45451c9a7803f478af15d4e04c0868d8d98f7ebc483f863f87acfaebb7759b3f060761fcdbba941b7f4978086d1614ac0cb2a9aae88c83ca56265f619587 SHA512 b635c714cd929b6a83e1a078f2c3ae74ea3c84e036112f40cd33dcecb3812c6a0ea15f5f7c2123a1cb6abf2182df86cf5f1ee5bd14a52e2e5a6b0f502b606704
+DIST firefox-129.0.1-nl.xpi 619714 BLAKE2B f9f09451f35efa1950f4470644b6ad9396e4c073af80c8b10335e82c43c98bafb138defdf4837b21d6c182095492368577b33ae7d60503a3ef17ad2d078dee27 SHA512 a76ebc96607f872224b1876a110e68fd21fa257bd9c7597cfa4f37e9313a022498996f946daffce6b92828ebf235dd129ea0c50b518bc5ab0f41f9ac3c9cb4c1
+DIST firefox-129.0.1-nn-NO.xpi 613167 BLAKE2B 8b306a92cbb8c3359af0d550979598c5416355c12264e26dfc961aeb6d3901290d70aef99e3e49f391dc8b8eb8ae3983a8df32b2abac1810562e3a4428002753 SHA512 f7ed8514fff416a911162d2b749883364b6ad12b4378ef8ba559ae56a14ee3f574961d587bb7396ee6a232c1dda1dcae6228c47aa05c2038b77128deaf40e7df
+DIST firefox-129.0.1-oc.xpi 615147 BLAKE2B 233686ef25b00d5bc552c40f126df33310793abf29504c57a0d42e0a2846636ce55ad2d905bfb16aff3aed2927a750808cb6c12de3982f994f6c63cd3566937b SHA512 abc9b46de5b1837ad5a9c26c9692d013b70aa1f5baf9abaeecefa4ed2b068e857d7bc1f2aaec822551fbe21b59fbea1ae0f5fc2aa14c3fb1d440871d0342fc89
+DIST firefox-129.0.1-pa-IN.xpi 694799 BLAKE2B 8e3a1036a7913942a040caa75472238dcacbdfc1eef6984f750350a2d5af006cc205b3eef8dd5d0033fcf92bdace993d7992a24bfa863d06cc293261632c71eb SHA512 c1ae902b26121ebf17ece0e7766d3d459c621b9c58728e6f8f722ec22b72469d40d2d083ba43cc15b17103a361c43743bf3960faf8c94e351f0542f95498be6c
+DIST firefox-129.0.1-pl.xpi 640500 BLAKE2B 5028addd444102cc3beb15f1fbfcb7a32925fa5104eb1b0a9e125c115c0da77bbf8e26119485ff86fc966b80200a43c925b457e3f0dc0b6492de122ba7ed4cd9 SHA512 4b98a686ae6fa0b48bd7d3b5b8bbd749ab1ab97c91618ad9770de6dad5430ce47a44414b0562778e20ab67fb9847eed4d0db4f040bc3de5815de17d4c0f9f6b2
+DIST firefox-129.0.1-pt-BR.xpi 624480 BLAKE2B 3aedbae07d5b7988b3bc997b8255fceac60a4b884425d7a9ffa9b2edd179f68ba7771c7de1eb88c58058b0d35b5136489a4abdfde0ce54bc8d0f2672cd27153a SHA512 07d4d38b282035c8907e57fb94056f129dad0115de811943e9af68d6b00b91ee9265869547bb386ddc2e45529fb245ee0d113cb3c16165c46fa5a6b69c55b273
+DIST firefox-129.0.1-pt-PT.xpi 630814 BLAKE2B 28fa48ce6e89de74a3cb7e9499089d339023cf86ff2205bb6a2fb9ffa05573199fe7783f8a4ac2a453381a006df782cf18ebcffc4816eb2ebeb32019321333b9 SHA512 9baf8ec72f784768a395148cd216ce6c88d8531063b76def054bb64daab4e0706f1b779da418cd450e8849d543f2f8b1ac527c4a95cc4cd9ec778159fbd35609
+DIST firefox-129.0.1-rm.xpi 620388 BLAKE2B 3feb509d7ece9aafede83d3f92021eac119b8b615b35dd5434a098613241e1f00bf68dceac0a4a8e9e9faec88ea80312392a808e9693325caa8dd8923836849e SHA512 d3d929e1e12885759993b010074a5e57bfbc89adedbaf131d201ceb581b99f82ed92d5b2e932a1091bf82b64b8e5c848c95f50629729edf3c19308b6c9a35e42
+DIST firefox-129.0.1-ro.xpi 552115 BLAKE2B 8358651d9bcda9d9ca044e92f775f0c53f8ea0865e725f67933b8a5283785bdb512c7c10b6d66c65303964b996ed0868bfdf121d8f9bdef7d73d0da3ed89cb0d SHA512 5529b5e04d22940ed9a5cb2dca28f73f0615cc1222d991a00a67c4892ed3cb367d36460827de1911dba371376a68843cda09571f2cbd6706399f39110c448c1e
+DIST firefox-129.0.1-ru.xpi 722859 BLAKE2B 1f84ccc179be0fc91e65cd3567535afa90ec32cf5fd06fc72d900028b7145c01ee3c750a36b25b8b06b3ac23a7f271286432e027a068f7093ea1389b8f057388 SHA512 e18e770d357705d3dc64df02ee7849f04ab211d4326c87e8fff6ce1b5eee0ff7ae1eee8986a661e1bb320e1978c8c2db075c2c20c4d60f210e7668aa2f7178cc
+DIST firefox-129.0.1-sc.xpi 590063 BLAKE2B 3f86c784cff3f7c8ea063d3fc662b2bd37ee4d96b5d019d4cf228b7c62a68dabaa6dd028dc3404eb9df275e3c6b4973b8e628eef5e7a080b58484cc9a51f8d97 SHA512 d22b050e0c92114a4effc3adf899771da0ab2103d59fc0843e5c3c720233ba38363bafb340d0a607fa6cf1578a3a868da03b4bf42071948ecdb70abbdc7c352c
+DIST firefox-129.0.1-sco.xpi 513483 BLAKE2B fbbd3f18175203e2ba014e4b968e6e69d2a8dd7e1cd8ddf7884873ce8b36c0574ac4bbc2307fa64cfffef86b800dace882e34dcdc8b0eb77aa5587dfd5a92884 SHA512 651eab4ae77ca4f1356d59a8a5958e1f10b3d58c5898aeb42d185a7bb729f3f187598343b7e1569943aae9853c1d04d2a92e78e1b9e63cbd47a0252b4d00335b
+DIST firefox-129.0.1-si.xpi 615443 BLAKE2B c4f017139a9cdcd1a7aa512fccd3a31646d5b5c19123368860b2d70157d98ddc72d2a1c353c23cd5c79a5e9e63f84726b7263efb67e4c864a3796f7f4cae8284 SHA512 0361a5d19c8a0fea509218ccd2764594b09c7e0837a57d8e10d21acec29056fe19de5f41f43963c07f6a8c0dc21d3f0676765e5874301b8a2c58fa8bbe0b960f
+DIST firefox-129.0.1-sk.xpi 654954 BLAKE2B ead6474886f1b1de2120a131ee0d4233e831d4d5328fed2aceecf6c741197a904dcb0b7e4e9e714ad1302a68065eb6fa021d1bba3ec0f44c2a4e444f2ef78fa4 SHA512 302b46ba67ea06381a25ed107978d3e186da204f2dc6736d858b7f7b49f4d17e00da57b6fa53756961e7e3aaa2258bac0a55ef522c1029e23f79fd3899abe261
+DIST firefox-129.0.1-skr.xpi 710323 BLAKE2B 75e9796f333f8bada8cd74858a1934177e68e0d0e8b0c1ec7c264372bc197726e2a877e1be40d4fdba5f4c186a360e62e2e599801f946ed5be129b05afc3c33e SHA512 6b808e3fa16d5350d6a3b5684041c489183db5a543cfd799e88b2d2e55e98b867aa93cc18091715e356cc8335396d2c07d8994f333381acf4d7d63e06c529fca
+DIST firefox-129.0.1-sl.xpi 619635 BLAKE2B 42b431b7e1baf3a53c2612f965832b43063f6ead342de9259f0a4e8a922bb2555135266027e858616477f580c08b4ba3e7948fd6d0fa90f4627aa0aabdc49cf8 SHA512 9bd20e0a7fb66c00693c14612405ac1647b9a2bdda0056d444d7ffbd240c73890edb1ab16464ea0e33bafb242bc5ae005c78d9c1f7cfc23d7715435cd3ee166a
+DIST firefox-129.0.1-son.xpi 418559 BLAKE2B fa9cd55cb6fa0ac7c784aba1612446e1b202b82c61a21e97c53b0f38f3ca6b773cadb849d625561f72f2f9343fa06744baf6cf599e62e53365eecb2c90942908 SHA512 16a6308fe84a70b9a0d80fdfcb81aca0a089aa6ec633389eafc9ee52fc88db084bf6622fab12778e0a7f60c5f38ad02f9aad2f1d12e1862387b2fa9c937c25c4
+DIST firefox-129.0.1-sq.xpi 639105 BLAKE2B 03b4398710c0f2125456c5c3845d53666954b9d61f498f1019319467000af62859b0ddef3f5296e9b57103568165e5ef1f07268fcb549356ad6370c48bd38def SHA512 09fb629a3f3bd294c497b71d8d87b6817fd5a5dadff04f5e4b284693c0cced78bbdfa335ee0e4f38ffe18c96448e4411a19ce32393fd47ae46311a11675f9360
+DIST firefox-129.0.1-sr.xpi 641682 BLAKE2B 0a4e2407a1cdb527921bf4d76bf2d2b7495ca7cb0ef29aaeef7dcb4588ca5a92b782f786b202e08f85750604ca3efa75210a47ca4d2a5885824d3a92bc51ab83 SHA512 a89fae23ef52b44d88ae17d23458cf07705e17906e8cab955985dd8b6e80ff05539c86141ec495ac44099f25963fdfe40705e483f43299bdf3d2f55f84eeeca4
+DIST firefox-129.0.1-sv-SE.xpi 621422 BLAKE2B 8fcc866c3b2dc29230b78854185350dfbab0a0e977b788e56a86f2307718b3ded9e550e7eaadcf93d0a562068d7613ebed017a99f0ee4a82511979ab3c339d7b SHA512 2635c84bde494f13a8fed0ae461bfa727e671b6f97e243fb88846e30dbe2d4891a1421ecb9e1f152fd111373003b249a25a53f690394f51ba0556ae972d0ccd3
+DIST firefox-129.0.1-szl.xpi 528575 BLAKE2B 3ab91fc172d934e6beaab8cee50aea44a816f3d10d9bde40f1adb9b6d542e4c35fdfcc7bc97aaa279a7c4e3a97dd2ef19c554a7f11ed541ad8d42e20d6ffb732 SHA512 53f980c7a27831151aef24a1b44b24c9e7f03ae119311d0c4fe87ee8980045fd7295258d023b5013e41ea1cea69648e98c0b11f24ab0d05eededec5d5946f00a
+DIST firefox-129.0.1-ta.xpi 509681 BLAKE2B bce4f91dc8583dfc1eb2f1e4fbbaaae79a2fc27468f52dd6928eb0ebc2c22c121b63bfdf6f434ba9755d601beee0aed579e6a82044bc013c6f24c3c7b4645eae SHA512 996423a58f5b34b8b5f8a9f96af268734e67b5f94c9dd93071a3e1f9f75b563067494ff2b31905ba2ebf093ec1be87ad36b0628513872c1613577c91637de97f
+DIST firefox-129.0.1-te.xpi 563252 BLAKE2B a95d7efaed3d917c5ad1dc429965cfccfdb7c02a169257bd228a47e97d7caf1b83e0e8e5365f5ad6d4a98c46a1185e51719464195f2d79af9fd8e3d6afd979e8 SHA512 6dd2de9e1971e194537af147cdbb9528ce78282923154f371112933f9e4f91029fbfeac74e365445af516602f3e3a8a520c6b6885e07e88c152c7aeefa38559a
+DIST firefox-129.0.1-th.xpi 700412 BLAKE2B d2832b0e8610a5eb774186fd3f99e4904107f7c8dbbb62608530a9ac2e0924d07882a29cd346a3cdb67aa67cb1aa9a9e2f260280013126ed131e09cbd4a86d89 SHA512 d9b047bdb56e8c38a18ca0a8cd95d1881177560dfa838867ec0c2822d52296f10cdf090b0d522e11942f52c57816e6c85780a5bedde89430453bff8469b1d3f6
+DIST firefox-129.0.1-tl.xpi 536471 BLAKE2B 520a3a743665621e05606be0de18a6360e167f447fdf83d3271fcd034059188650321ad464fb4cda0f92260c5b25ed9d9dd068c66e744d6e16b63d5ab79849ae SHA512 c8b512d526d22719cde9cca3e9efdf28e0ac810a6c74dc8ef164cb45d95e3a53a44f5671391462e0a19243898c312e0f83064a0e9f317895e3c9ddb3e3945c7e
+DIST firefox-129.0.1-tr.xpi 634864 BLAKE2B 8fe509b61b32e57a483e01b39a303a87e6555a3fcce70f6ba19834499e82c5cbcbe1e308257b1d5459e915207940c4c5ab4bdc243a5bfac0e4197933865c43cd SHA512 e7f01acaa34d43cc3a770bab2afa0b3fd76c35041216721871bb72fd317b26df40d88693afcb5921fac5b311095bfb840426c09fdac1c53981054f82cb0ee8c5
+DIST firefox-129.0.1-trs.xpi 506182 BLAKE2B 1031164022990dca404c6ab5199c94c5bc730810c499b0a332ac5e4a1e411b97f7e531958f9b0448ac755d830dddfe7ce093cf97517dc18bbf9ba084a1fd8a10 SHA512 d690bcba7abc1a49c0ab7525e91637737aacb7f548760b7517b7f871179deee254aafcfe658d09ad25d3f8166f1cc8b01caf28de69da453694b7392a6009d597
+DIST firefox-129.0.1-uk.xpi 709787 BLAKE2B c6e06569b6bceb41ddb9da28c722d2a542549d3a227740e73d3a6fdee8bee3519dbb45d854b19d3488a193c59c6f90428ca5f573620c294097c968fd88b6336c SHA512 ac556723aeb270678b1cc5a6ab0f5288a0a25069c3e1f356ea37db0f1b176d28e08febf01b603bbdf81e41b9628069f36aea5deabdd91bbd76ad6531301c17b7
+DIST firefox-129.0.1-ur.xpi 562718 BLAKE2B e3dd2b0bf06e060faea6dab6ba5b89a5f841b946d0637a5603269eb31b39f00352f754acad3609eae4b244d94ec717a3e9b6750ba71fd30508f0cf301b2f3623 SHA512 c18af11fa0a748944131f586770f07820c2da9196bb7abf437dc2ccf8ac2d3877adbc7bd7c53ae09acc461f75f3cd3aad30bf95b2849cf47ba749f0e9deeb0f0
+DIST firefox-129.0.1-uz.xpi 480950 BLAKE2B d4f217f97b1562f3ac371ff0631219659b3dc32851ebbc7960f4645f23b25b341577b53d6731f713f44a95e45954c03edb7c05e1e9087324d8f5b0f4f94b8fe7 SHA512 85a3a2595a3244afb07ec3e4e5b57174d9ba70d0ad3b8c527077d8de2c5fc86ff3d996231b5bdd57793c45e4533bf982391a93b18ac5761fedf6a57be4d9defc
+DIST firefox-129.0.1-vi.xpi 658029 BLAKE2B 953ff69fc4a9020458b49c0a016957af071105896f571643352a87afaf52c6a533c4d6e8755a1d2ae36bd29bfaf19d9bb52516b083835ad2cfcb2ca144447cd3 SHA512 58619cc0786203e5c9eaf78ce4ef90093de43fe77c13b0bdaf8c96778c24bec70b8576773d9a6db1fec8cd62bb78f13c5d563029140b50c0b8ba30807217f56e
+DIST firefox-129.0.1-xh.xpi 419344 BLAKE2B 882dfe172ee101d73e8f1d4766721ebb9bd9c50ebb2e8a20f395368b9bb170406d8e775e3e3ac754e8d7fa7610f1a2a2114a11b2e22b7c6c7d3633927503a075 SHA512 481c749e6a53a0eff4ff0cefb47d1b5025b3c4e41cc0bcba5a15222343d2adfb1788ad24e38c1f85c6d7827d8a7db6f0b4e103875e19fd8245f59aa753c397fd
+DIST firefox-129.0.1-zh-CN.xpi 659746 BLAKE2B 5dae54b24daa3bf7edc91cd5f1c06522a148312f9e9e79926464743dfb6d83ac940b6dc72c0ac7261b79da9b92af0f3b534b12f0c36e2631268e80592691ac8d SHA512 7c621834110cdf41a05c8712f5c3621d77667670d45f0916ab249e4cf64b60db25764161427968bb2ada9aa66d1632b4542c272faa1555166794aa44a973a0d9
+DIST firefox-129.0.1-zh-TW.xpi 661607 BLAKE2B 7b1132f1472ba56fa5ad8b090da4d275dd6aa6e00ad2c26dbac42ae2beac1209cb70d79232dd9aa2991bede17f71967d4bac48064757120f53c473d7b2546a35 SHA512 f7232e3d7995c8eafc3ad260d2207788eba67221383bfa1c8c62641957d884bd9fde4a139ae3349cd74ef6c3d7b8a51847e45164cc6fbc9f9d24b7dbfc236f03
+DIST firefox-129.0.1.source.tar.xz 561709736 BLAKE2B e3c1a3db5a481839c862bef6ace6f977e601fc85f308980f7d0073a3ab04b5ac611ed3edf3fc4b71c09008e0f54009f78b64e64c5d0cb63c86798138031bfee1 SHA512 27c463e8277994c62bab85cf0e2f0cea16a9b272694b61fa56a6b3bd7c70d6481774288386094836a54df54c1b1144d61be67f4f5eac418c05479d452221c027
 DIST firefox-129.0.source.tar.xz 568302640 BLAKE2B abd8b0008dfd0948234baf7c307c42051e2f58a9c7ebd07b3b0dec9bdb6d8d78e4e1ae25d552aba8685e8b307dbdeb1360d873fef98ac108671dbbbc53c2a3af SHA512 e406d00dc53c66a1ee6b56e7001efcdd8b323caa3676d66d874d39a99f44ac7cebf4c60d76b5d239ebcf834a75cecabf801a74a1d08a97a66ea5e8ec6c8f7c5b

diff --git a/www-client/firefox/files/README.gentoo b/www-client/firefox/files/README.gentoo
index a9d724c458b4..56eb1fd88bb0 100644
--- a/www-client/firefox/files/README.gentoo
+++ b/www-client/firefox/files/README.gentoo
@@ -18,11 +18,3 @@ have switched off the use of this service by default.
 To re-enable this service set the following in "about:config":
   app.normandy.enabled=true
 
-
-## Firefox >100 compatibility
-Unfortunately Firefox-100.0 breaks compatibility with some sites using 
-useragent checks. To temporarily fix this, enter about:config and modify 
-network.http.useragent.forceVersion preference to "99" Or install an addon to 
-change your useragent. 
-See: https://support.mozilla.org/en-US/kb/difficulties-opening-or-using-website-firefox-100
-

diff --git a/www-client/firefox/firefox-129.0.1.ebuild b/www-client/firefox/firefox-129.0.1.ebuild
new file mode 100644
index 000000000000..60d216dd53e7
--- /dev/null
+++ b/www-client/firefox/firefox-129.0.1.ebuild
@@ -0,0 +1,1401 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FIREFOX_PATCHSET="firefox-129-patches-01.tar.xz"
+
+LLVM_COMPAT=( 17 18 )
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses,sqlite,ssl"
+
+WANT_AUTOCONF="2.1"
+
+VIRTUALX_REQUIRED="manual"
+
+MOZ_ESR=
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+	MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+	# Convert the ebuild version to the upstream Mozilla version
+	MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+	MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+	MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+	# ESR releases have slightly different version numbers
+	MOZ_PV="${MOZ_PV}esr"
+	HOMEPAGE="https://www.mozilla.com/firefox https://www.mozilla.org/firefox/enterprise/"
+	SLOT="esr"
+else
+	HOMEPAGE="https://www.mozilla.com/firefox"
+	SLOT="rapid"
+fi
+
+MOZ_PN="${PN%-bin}"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+inherit autotools check-reqs desktop flag-o-matic gnome2-utils linux-info llvm-r1 multiprocessing \
+	optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+	MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+	https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+)
+
+DESCRIPTION="Firefox Web Browser"
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+	${PATCH_URIS[@]}"
+S="${WORKDIR}/${PN}-${PV%_*}"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel jack +jumbo-build libproxy lto"
+IUSE+=" openh264 pgo pulseaudio sndio selinux +system-av1 +system-harfbuzz +system-icu"
+IUSE+=" +system-jpeg +system-libevent +system-libvpx system-png +system-webp +telemetry valgrind"
+IUSE+=" wayland wifi +X"
+
+# Firefox-only IUSE
+IUSE+=" +gmp-autoupdate"
+
+REQUIRED_USE="|| ( X wayland )
+	debug? ( !system-av1 )
+	pgo? ( lto )
+	wayland? ( dbus )
+	wifi? ( dbus )"
+
+FF_ONLY_DEPEND="!www-client/firefox:0
+	selinux? ( sec-policy/selinux-mozilla )"
+BDEPEND="${PYTHON_DEPS}
+	$(llvm_gen_dep '
+		sys-devel/clang:${LLVM_SLOT}
+		sys-devel/llvm:${LLVM_SLOT}
+		clang? (
+			sys-devel/lld:${LLVM_SLOT}
+			virtual/rust:0/llvm-${LLVM_SLOT}
+		)
+		pgo? ( sys-libs/compiler-rt-sanitizers:${LLVM_SLOT}[profile] )
+	')
+	app-alternatives/awk
+	app-arch/unzip
+	app-arch/zip
+	>=dev-util/cbindgen-0.26.0
+	net-libs/nodejs
+	virtual/pkgconfig
+	!clang? ( >=virtual/rust-1.76 )
+	!elibc_glibc? ( dev-lang/rust )
+	amd64? ( >=dev-lang/nasm-2.14 )
+	x86? ( >=dev-lang/nasm-2.14 )
+	pgo? (
+		X? (
+			sys-devel/gettext
+			x11-base/xorg-server[xvfb]
+			x11-apps/xhost
+		)
+		!X? (
+			|| (
+				gui-wm/tinywl
+				<gui-libs/wlroots-0.17.3[tinywl(-)]
+			)
+			x11-misc/xkeyboard-config
+		)
+	)"
+COMMON_DEPEND="${FF_ONLY_DEPEND}
+	>=app-accessibility/at-spi2-core-2.46.0:2
+	dev-libs/expat
+	dev-libs/glib:2
+	dev-libs/libffi:=
+	>=dev-libs/nss-3.102
+	>=dev-libs/nspr-4.35
+	media-libs/alsa-lib
+	media-libs/fontconfig
+	media-libs/freetype
+	media-libs/mesa
+	media-video/ffmpeg
+	sys-libs/zlib
+	virtual/freedesktop-icon-theme
+	x11-libs/cairo
+	x11-libs/gdk-pixbuf:2
+	x11-libs/pango
+	x11-libs/pixman
+	dbus? (
+		sys-apps/dbus
+	)
+	jack? ( virtual/jack )
+	pulseaudio? (
+		|| (
+			media-libs/libpulse
+			>=media-sound/apulse-0.1.12-r4[sdk]
+		)
+	)
+	libproxy? ( net-libs/libproxy )
+	selinux? ( sec-policy/selinux-mozilla )
+	sndio? ( >=media-sound/sndio-1.8.0-r1 )
+	system-av1? (
+		>=media-libs/dav1d-1.0.0:=
+		>=media-libs/libaom-1.0.0:=
+	)
+	system-harfbuzz? (
+		>=media-gfx/graphite2-1.3.13
+		>=media-libs/harfbuzz-2.8.1:0=
+	)
+	system-icu? ( >=dev-libs/icu-73.1:= )
+	system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1:= )
+	system-libevent? ( >=dev-libs/libevent-2.1.12:0=[threads(+)] )
+	system-libvpx? ( >=media-libs/libvpx-1.8.2:0=[postproc] )
+	system-png? ( >=media-libs/libpng-1.6.35:0=[apng] )
+	system-webp? ( >=media-libs/libwebp-1.1.0:0= )
+	valgrind? ( dev-debug/valgrind )
+	wayland? (
+		>=media-libs/libepoxy-1.5.10-r1
+		x11-libs/gtk+:3[wayland]
+	)
+	wifi? (
+		kernel_linux? (
+			net-misc/networkmanager
+			sys-apps/dbus
+		)
+	)
+	X? (
+		virtual/opengl
+		x11-libs/cairo[X]
+		x11-libs/gtk+:3[X]
+		x11-libs/libX11
+		x11-libs/libXcomposite
+		x11-libs/libXdamage
+		x11-libs/libXext
+		x11-libs/libXfixes
+		x11-libs/libXrandr
+		x11-libs/libxcb:=
+	)"
+RDEPEND="${COMMON_DEPEND}
+	hwaccel? (
+		media-video/libva-utils
+		sys-apps/pciutils
+	)
+	jack? ( virtual/jack )
+	openh264? ( media-libs/openh264:*[plugin] )"
+DEPEND="${COMMON_DEPEND}
+	X? (
+		x11-base/xorg-proto
+		x11-libs/libICE
+		x11-libs/libSM
+	)"
+
+# ESR and rapid dependencies.
+if [[ -n ${MOZ_ESR} ]] ; then
+	RDEPEND+=" !www-client/firefox:rapid"
+else
+	RDEPEND+=" !www-client/firefox:esr"
+fi
+
+# Allow MOZ_GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z "${MOZ_GMP_PLUGIN_LIST+set}" ]] ; then
+	MOZ_GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+llvm_check_deps() {
+	if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+		einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+		return 1
+	fi
+
+	if use clang && ! tc-ld-is-mold ; then
+		if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+			einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+			return 1
+		fi
+
+		if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+			einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+			return 1
+		fi
+
+		if use pgo ; then
+			if ! has_version -b "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile]" ; then
+				einfo "=sys-libs/compiler-rt-sanitizers-${LLVM_SLOT}*[profile] is missing!" >&2
+				einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+				return 1
+			fi
+		fi
+	fi
+
+	einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+MOZ_LANGS=(
+	af ar ast be bg br ca cak cs cy da de dsb
+	el en-CA en-GB en-US es-AR es-ES et eu
+	fi fr fy-NL ga-IE gd gl he hr hsb hu
+	id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO
+	pa-IN pl pt-BR pt-PT rm ro ru
+	sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW
+)
+
+# Firefox-only LANGS
+MOZ_LANGS+=( ach )
+MOZ_LANGS+=( an )
+MOZ_LANGS+=( az )
+MOZ_LANGS+=( bn )
+MOZ_LANGS+=( bs )
+MOZ_LANGS+=( ca-valencia )
+MOZ_LANGS+=( eo )
+MOZ_LANGS+=( es-CL )
+MOZ_LANGS+=( es-MX )
+MOZ_LANGS+=( fa )
+MOZ_LANGS+=( ff )
+MOZ_LANGS+=( fur )
+MOZ_LANGS+=( gn )
+MOZ_LANGS+=( gu-IN )
+MOZ_LANGS+=( hi-IN )
+MOZ_LANGS+=( hy-AM )
+MOZ_LANGS+=( ia )
+MOZ_LANGS+=( km )
+MOZ_LANGS+=( kn )
+MOZ_LANGS+=( lij )
+MOZ_LANGS+=( mk )
+MOZ_LANGS+=( mr )
+MOZ_LANGS+=( my )
+MOZ_LANGS+=( ne-NP )
+MOZ_LANGS+=( oc )
+MOZ_LANGS+=( sc )
+MOZ_LANGS+=( sco )
+MOZ_LANGS+=( si )
+MOZ_LANGS+=( skr )
+MOZ_LANGS+=( son )
+MOZ_LANGS+=( szl )
+MOZ_LANGS+=( ta )
+MOZ_LANGS+=( te )
+MOZ_LANGS+=( tl )
+MOZ_LANGS+=( trs )
+MOZ_LANGS+=( ur )
+MOZ_LANGS+=( xh )
+
+mozilla_set_globals() {
+	# https://bugs.gentoo.org/587334
+	local MOZ_TOO_REGIONALIZED_FOR_L10N=(
+		fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE
+	)
+
+	local lang xflag
+	for lang in "${MOZ_LANGS[@]}" ; do
+		# en and en_US are handled internally
+		if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then
+			continue
+		fi
+
+		# strip region subtag if $lang is in the list
+		if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then
+			xflag=${lang%%-*}
+		else
+			xflag=${lang}
+		fi
+
+		SRC_URI+=" l10n_${xflag/[_@]/-}? ("
+		SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi"
+		SRC_URI+=" )"
+		IUSE+=" l10n_${xflag/[_@]/-}"
+	done
+}
+mozilla_set_globals
+
+moz_clear_vendor_checksums() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	if [[ ${#} -ne 1 ]] ; then
+		die "${FUNCNAME} requires exact one argument"
+	fi
+
+	einfo "Clearing cargo checksums for ${1} ..."
+
+	sed -i \
+		-e 's/\("files":{\)[^}]*/\1/' \
+		"${S}"/third_party/rust/${1}/.cargo-checksum.json \
+		|| die
+}
+
+moz_install_xpi() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	if [[ ${#} -lt 2 ]] ; then
+		die "${FUNCNAME} requires at least two arguments"
+	fi
+
+	local DESTDIR=${1}
+	shift
+
+	insinto "${DESTDIR}"
+
+	local emid xpi_file xpi_tmp_dir
+	for xpi_file in "${@}" ; do
+		emid=
+		xpi_tmp_dir=$(mktemp -d --tmpdir="${T}")
+
+		# Unpack XPI
+		unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die
+
+		# Determine extension ID
+		if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then
+			emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf")
+			[[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf"
+		elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then
+			emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json")
+			[[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json"
+		else
+			die "failed to determine extension id"
+		fi
+
+		einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..."
+		newins "${xpi_file}" "${emid}.xpi"
+	done
+}
+
+mozconfig_add_options_ac() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	if [[ ${#} -lt 2 ]] ; then
+		die "${FUNCNAME} requires at least two arguments"
+	fi
+
+	local reason=${1}
+	shift
+
+	local option
+	for option in ${@} ; do
+		echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
+	done
+}
+
+mozconfig_add_options_mk() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	if [[ ${#} -lt 2 ]] ; then
+		die "${FUNCNAME} requires at least two arguments"
+	fi
+
+	local reason=${1}
+	shift
+
+	local option
+	for option in ${@} ; do
+		echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
+	done
+}
+
+mozconfig_use_enable() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	if [[ ${#} -lt 1 ]] ; then
+		die "${FUNCNAME} requires at least one arguments"
+	fi
+
+	local flag=$(use_enable "${@}")
+	mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+mozconfig_use_with() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	if [[ ${#} -lt 1 ]] ; then
+		die "${FUNCNAME} requires at least one arguments"
+	fi
+
+	local flag=$(use_with "${@}")
+	mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}"
+}
+
+# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily
+# placed here until toolchain-funcs.eclass gets an official support for mold linker.
+# Please see:
+# https://github.com/gentoo/gentoo/pull/28366 ||
+# https://github.com/gentoo/gentoo/pull/28355
+tc-ld-is-mold() {
+	local out
+
+	# Ensure ld output is in English.
+	local -x LC_ALL=C
+
+	# First check the linker directly.
+	out=$($(tc-getLD "$@") --version 2>&1)
+	if [[ ${out} == *"mold"* ]] ; then
+		return 0
+	fi
+
+	# Then see if they're selecting mold via compiler flags.
+	# Note: We're assuming they're using LDFLAGS to hold the
+	# options and not CFLAGS/CXXFLAGS.
+	local base="${T}/test-tc-linker"
+	cat <<-EOF > "${base}.c"
+	int main() { return 0; }
+	EOF
+	out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
+	rm -f "${base}"*
+	if [[ ${out} == *"mold"* ]] ; then
+		return 0
+	fi
+
+	# No mold here!
+	return 1
+}
+
+virtwl() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	[[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument"
+	[[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset"
+	tinywl -h >/dev/null || die 'tinywl -h failed'
+
+	local VIRTWL VIRTWL_PID
+	coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; }
+	local -x WAYLAND_DISPLAY
+	read WAYLAND_DISPLAY <&${VIRTWL[0]}
+
+	debug-print "${FUNCNAME}: $@"
+	"$@"
+	local r=$?
+
+	[[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly"
+	exec {VIRTWL[0]}<&- {VIRTWL[1]}>&-
+	return $r
+}
+
+pkg_pretend() {
+	if [[ ${MERGE_TYPE} != binary ]] ; then
+		if use pgo ; then
+			if ! has usersandbox $FEATURES ; then
+				die "You must enable usersandbox as X server can not run as root!"
+			fi
+		fi
+
+		# Ensure we have enough disk space to compile
+		if use pgo || use lto || use debug ; then
+			CHECKREQS_DISK_BUILD="13500M"
+		else
+			CHECKREQS_DISK_BUILD="6600M"
+		fi
+
+		check-reqs_pkg_pretend
+	fi
+}
+
+pkg_setup() {
+	if [[ ${MERGE_TYPE} != binary ]] ; then
+		if use pgo ; then
+			if ! has userpriv ${FEATURES} ; then
+				eerror "Building ${PN} with USE=pgo and FEATURES=-userpriv is not supported!"
+			fi
+		fi
+
+		# Ensure we have enough disk space to compile
+		if use pgo || use lto || use debug ; then
+			CHECKREQS_DISK_BUILD="13500M"
+		else
+			CHECKREQS_DISK_BUILD="6400M"
+		fi
+
+		check-reqs_pkg_setup
+
+		llvm-r1_pkg_setup
+
+		if use clang && use lto && tc-ld-is-lld ; then
+			local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+			[[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+			[[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+			local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+			[[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+			[[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+			if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+				eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+				eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+				eerror "  - Manually switch rust version using 'eselect rust' to match used LLVM version"
+				eerror "  - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+				eerror "  - Build ${CATEGORY}/${PN} without USE=lto"
+				eerror "  - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+				eerror "    llvm/clang/lld/rust chain depending on your @world updates)"
+				die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+			fi
+		fi
+
+		python-any-r1_pkg_setup
+
+		# Avoid PGO profiling problems due to enviroment leakage
+		# These should *always* be cleaned up anyway
+		unset \
+			DBUS_SESSION_BUS_ADDRESS \
+			DISPLAY \
+			ORBIT_SOCKETDIR \
+			SESSION_MANAGER \
+			XAUTHORITY \
+			XDG_CACHE_HOME \
+			XDG_SESSION_COOKIE
+
+		# Build system is using /proc/self/oom_score_adj, bug #604394
+		addpredict /proc/self/oom_score_adj
+
+		if use pgo ; then
+			# Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure
+			# whether that's due to better OOM handling by Firefox (bmo#1771712), or portage
+			# (PORTAGE_SCHEDULING_POLICY) update...
+			addpredict /proc
+
+			# Clear tons of conditions, since PGO is hardware-dependant.
+			addpredict /dev
+		fi
+
+		if ! mountpoint -q /dev/shm ; then
+			# If /dev/shm is not available, configure is known to fail with
+			# a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+			ewarn "/dev/shm is not mounted -- expect build failures!"
+		fi
+
+		# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+		# Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+		# get your own set of keys.
+		if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then
+			MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc"
+		fi
+
+		if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then
+			MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ"
+		fi
+
+		# Mozilla API keys (see https://location.services.mozilla.com/api)
+		# Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+		# get your own set of keys.
+		if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then
+			MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005"
+		fi
+
+		# Ensure we use C locale when building, bug #746215
+		export LC_ALL=C
+	fi
+
+	CONFIG_CHECK="~SECCOMP"
+	WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content."
+	linux-info_pkg_setup
+}
+
+src_unpack() {
+	local _lp_dir="${WORKDIR}/language_packs"
+	local _src_file
+
+	if [[ ! -d "${_lp_dir}" ]] ; then
+		mkdir "${_lp_dir}" || die
+	fi
+
+	for _src_file in ${A} ; do
+		if [[ ${_src_file} == *.xpi ]]; then
+			cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!"
+		else
+			unpack ${_src_file}
+		fi
+	done
+}
+
+src_prepare() {
+	if use lto; then
+		rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die
+	fi
+
+	# Workaround for bgo#917599
+	if has_version ">=dev-libs/icu-74.1" && use system-icu ; then
+		eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch
+	fi
+	rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die
+
+	# Workaround for bgo#915651 on musl
+	if use elibc_glibc ; then
+		rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+	fi
+
+	eapply "${WORKDIR}/firefox-patches"
+
+	# Allow user to apply any additional patches without modifing ebuild
+	eapply_user
+
+	# Make cargo respect MAKEOPTS
+	export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+	# Workaround for bgo#915651
+	if ! use elibc_glibc ; then
+		if use amd64 ; then
+			export RUST_TARGET="x86_64-unknown-linux-musl"
+		elif use x86 ; then
+			export RUST_TARGET="i686-unknown-linux-musl"
+		elif use arm64 ; then
+			export RUST_TARGET="aarch64-unknown-linux-musl"
+		elif use ppc64 ; then
+			export RUST_TARGET="powerpc64le-unknown-linux-musl"
+		else
+			die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651"
+		fi
+	fi
+
+	# Make LTO respect MAKEOPTS
+	sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+		"${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count"
+
+	# Make ICU respect MAKEOPTS
+	sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+		"${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count"
+
+	# Respect MAKEOPTS all around (maybe some find+sed is better)
+	sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+		"${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count"
+
+	sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+		"${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count"
+
+	sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+		"${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py ||
+			die "Failed sedding multiprocessing.cpu_count"
+
+	sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+		"${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count"
+
+	sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+		"${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count"
+
+	# sed-in toolchain prefix
+	sed -i \
+		-e "s/objdump/${CHOST}-objdump/" \
+		"${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+		|| die "sed failed to set toolchain prefix"
+
+	sed -i \
+		-e 's/ccache_stats = None/return None/' \
+		"${S}"/python/mozbuild/mozbuild/controller/building.py \
+		|| die "sed failed to disable ccache stats call"
+
+	einfo "Removing pre-built binaries ..."
+
+	find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+	# Clear checksums from cargo crates we've manually patched.
+	# moz_clear_vendor_checksums xyz
+
+	# Respect choice for "jumbo-build"
+	# Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431
+	if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then
+		local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16}
+		elog ""
+		elog "jumbo-build defaults modified to ${my_files_per_unified_file}."
+		elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE,"
+		elog "if that fails try -jumbo-build before opening a bug report."
+		elog ""
+
+		sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \
+			python/mozbuild/mozbuild/frontend/data.py ||
+				die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py"
+		sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \
+			js/src/moz.build ||
+				die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build"
+	fi
+
+	# Create build dir
+	BUILD_DIR="${WORKDIR}/${PN}_build"
+	mkdir -p "${BUILD_DIR}" || die
+
+	# Write API keys to disk
+	echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die
+	echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die
+	echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die
+
+	xdg_environment_reset
+}
+
+src_configure() {
+	# Show flags set at the beginning
+	einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+	einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}"
+	einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+	einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}"
+	einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+	local have_switched_compiler=
+	if use clang; then
+		# Force clang
+		einfo "Enforcing the use of clang due to USE=clang ..."
+
+		local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+		[[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+		[[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+		if tc-is-gcc; then
+			have_switched_compiler=yes
+		fi
+
+		AR=llvm-ar
+		CC=${CHOST}-clang-${version_clang}
+		CXX=${CHOST}-clang++-${version_clang}
+		NM=llvm-nm
+		RANLIB=llvm-ranlib
+	elif ! use clang && ! tc-is-gcc ; then
+		# Force gcc
+		have_switched_compiler=yes
+		einfo "Enforcing the use of gcc due to USE=-clang ..."
+		AR=gcc-ar
+		CC=${CHOST}-gcc
+		CXX=${CHOST}-g++
+		NM=gcc-nm
+		RANLIB=gcc-ranlib
+	fi
+
+	if [[ -n "${have_switched_compiler}" ]] ; then
+		# Because we switched active compiler we have to ensure
+		# that no unsupported flags are set
+		strip-unsupported-flags
+	fi
+
+	# Ensure we use correct toolchain,
+	# AS is used in a non-standard way by upstream, #bmo1654031
+	export HOST_CC="$(tc-getBUILD_CC)"
+	export HOST_CXX="$(tc-getBUILD_CXX)"
+	export AS="$(tc-getCC) -c"
+
+	# Configuration tests expect llvm-readelf output, bug 913130
+	READELF="llvm-readelf"
+
+	tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG
+
+	# Pass the correct toolchain paths through cbindgen
+	if tc-is-cross-compiler ; then
+		export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}"
+	fi
+
+	# Set MOZILLA_FIVE_HOME
+	export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+	# python/mach/mach/mixin/process.py fails to detect SHELL
+	export SHELL="${EPREFIX}/bin/bash"
+
+	# Set state path
+	export MOZBUILD_STATE_PATH="${BUILD_DIR}"
+
+	# Set MOZCONFIG
+	export MOZCONFIG="${S}/.mozconfig"
+
+	# Initialize MOZCONFIG
+	mozconfig_add_options_ac '' --enable-application=browser
+	mozconfig_add_options_ac '' --enable-project=browser
+
+	# Set Gentoo defaults
+	if use telemetry; then
+		export MOZILLA_OFFICIAL=1
+	fi
+
+	mozconfig_add_options_ac 'Gentoo default' \
+		--allow-addon-sideload \
+		--disable-cargo-incremental \
+		--disable-crashreporter \
+		--disable-disk-remnant-avoidance \
+		--disable-geckodriver \
+		--disable-gpsd \
+		--disable-install-strip \
+		--disable-legacy-profile-creation \
+		--disable-parental-controls \
+		--disable-strip \
+		--disable-tests \
+		--disable-updater \
+		--disable-wmf \
+		--enable-negotiateauth \
+		--enable-new-pass-manager \
+		--enable-official-branding \
+		--enable-release \
+		--enable-system-ffi \
+		--enable-system-pixman \
+		--enable-system-policies \
+		--host="${CBUILD:-${CHOST}}" \
+		--libdir="${EPREFIX}/usr/$(get_libdir)" \
+		--prefix="${EPREFIX}/usr" \
+		--target="${CHOST}" \
+		--without-ccache \
+		--without-wasm-sandboxed-libraries \
+		--with-intl-api \
+		--with-libclang-path="$(llvm-config --libdir)" \
+		--with-system-nspr \
+		--with-system-nss \
+		--with-system-zlib \
+		--with-toolchain-prefix="${CHOST}-" \
+		--with-unsigned-addon-scopes=app,system \
+		--x-includes="${ESYSROOT}/usr/include" \
+		--x-libraries="${ESYSROOT}/usr/$(get_libdir)"
+
+	# Set update channel
+	local update_channel=release
+	[[ -n ${MOZ_ESR} ]] && update_channel=esr
+	mozconfig_add_options_ac '' --update-channel=${update_channel}
+
+	if ! use x86 ; then
+		mozconfig_add_options_ac '' --enable-rust-simd
+	fi
+
+	# For future keywording: This is currently (97.0) only supported on:
+	# amd64, arm, arm64 & x86.
+	# Might want to flip the logic around if Firefox is to support more arches.
+	# bug 833001, bug 903411#c8
+	if use ppc64 || use riscv; then
+		mozconfig_add_options_ac '' --disable-sandbox
+	elif use valgrind; then
+		mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox
+	else
+		mozconfig_add_options_ac '' --enable-sandbox
+	fi
+
+	# Enable JIT on riscv64 explicitly
+	# Can be removed once upstream enable it by default in the future.
+	use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit
+
+	if [[ -s "${S}/api-google.key" ]] ; then
+		local key_origin="Gentoo default"
+		if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then
+			key_origin="User value"
+		fi
+
+		mozconfig_add_options_ac "${key_origin}" \
+			--with-google-safebrowsing-api-keyfile="${S}/api-google.key"
+	else
+		einfo "Building without Google API key ..."
+	fi
+
+	if [[ -s "${S}/api-location.key" ]] ; then
+		local key_origin="Gentoo default"
+		if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then
+			key_origin="User value"
+		fi
+
+		mozconfig_add_options_ac "${key_origin}" \
+			--with-google-location-service-api-keyfile="${S}/api-location.key"
+	else
+		einfo "Building without Location API key ..."
+	fi
+
+	if [[ -s "${S}/api-mozilla.key" ]] ; then
+		local key_origin="Gentoo default"
+		if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then
+			key_origin="User value"
+		fi
+
+		mozconfig_add_options_ac "${key_origin}" \
+			--with-mozilla-api-keyfile="${S}/api-mozilla.key"
+	else
+		einfo "Building without Mozilla API key ..."
+	fi
+
+	mozconfig_use_with system-av1
+	mozconfig_use_with system-harfbuzz
+	mozconfig_use_with system-harfbuzz system-graphite2
+	mozconfig_use_with system-icu
+	mozconfig_use_with system-jpeg
+	mozconfig_use_with system-libevent
+	mozconfig_use_with system-libvpx
+	mozconfig_use_with system-png
+	mozconfig_use_with system-webp
+
+	mozconfig_use_enable dbus
+	mozconfig_use_enable libproxy
+	mozconfig_use_enable valgrind
+
+	use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme
+
+	if use hardened ; then
+		mozconfig_add_options_ac "+hardened" --enable-hardening
+		append-ldflags "-Wl,-z,relro -Wl,-z,now"
+
+		# Increase the FORTIFY_SOURCE value, #910071.
+		sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die
+	fi
+
+	local myaudiobackends=""
+	use jack && myaudiobackends+="jack,"
+	use sndio && myaudiobackends+="sndio,"
+	use pulseaudio && myaudiobackends+="pulseaudio,"
+	! use pulseaudio && myaudiobackends+="alsa,"
+
+	mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}"
+
+	mozconfig_use_enable wifi necko-wifi
+
+	! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build
+
+	if use X && use wayland ; then
+		mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland
+	elif ! use X && use wayland ; then
+		mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only
+	else
+		mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only
+	fi
+
+	# LTO is handled via configure
+	filter-lto
+
+	if use lto ; then
+		if use clang ; then
+			# Upstream only supports lld or mold when using clang.
+			if tc-ld-is-mold ; then
+				# mold expects the -flto line from *FLAGS configuration, bgo#923119
+				append-ldflags "-flto=thin"
+				mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+			else
+				mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
+			fi
+
+			mozconfig_add_options_ac '+lto' --enable-lto=cross
+
+		else
+			# ThinLTO is currently broken, see bmo#1644409.
+			# mold does not support gcc+lto combination.
+			mozconfig_add_options_ac '+lto' --enable-lto=full
+			mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd
+		fi
+
+		if use pgo ; then
+			mozconfig_add_options_ac '+pgo' MOZ_PGO=1
+
+			if use clang ; then
+				# Used in build/pgo/profileserver.py
+				export LLVM_PROFDATA="llvm-profdata"
+			fi
+		fi
+	else
+		# Avoid auto-magic on linker
+		if use clang ; then
+			# lld is upstream's default
+			if tc-ld-is-mold ; then
+				mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+			else
+				mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld
+			fi
+
+		else
+			if tc-ld-is-mold ; then
+				mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold
+			else
+				mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd
+			fi
+		fi
+	fi
+
+	mozconfig_use_enable debug
+	if use debug ; then
+		mozconfig_add_options_ac '+debug' --disable-optimize
+		mozconfig_add_options_ac '+debug' --enable-jemalloc
+		mozconfig_add_options_ac '+debug' --enable-real-time-tracing
+	else
+		mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing
+
+		if is-flag '-g*' ; then
+			if use clang ; then
+				mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*')
+			else
+				mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols
+			fi
+		else
+			mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols
+		fi
+
+		if is-flag '-O0' ; then
+			mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0
+		elif is-flag '-O4' ; then
+			mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4
+		elif is-flag '-O3' ; then
+			mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3
+		elif is-flag '-O1' ; then
+			mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1
+		elif is-flag '-Os' ; then
+			mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os
+		else
+			mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2
+		fi
+	fi
+
+	# Debug flag was handled via configure
+	filter-flags '-g*'
+
+	# Optimization flag was handled via configure
+	filter-flags '-O*'
+
+	# elf-hack
+	# Filter "-z,pack-relative-relocs" and let the build system handle it instead.
+	if use amd64 || use x86 ; then
+		filter-flags "-z,pack-relative-relocs"
+
+		if tc-ld-is-mold ; then
+			# relr-elf-hack is currently broken with mold, bgo#916259
+			mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack
+		else
+			mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr
+		fi
+	elif use ppc64 || use riscv ; then
+		# '--disable-elf-hack' is not recognized on ppc64/riscv,
+		# see bgo #917049, #930046
+		:;
+	else
+		mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack
+	fi
+
+	if ! use elibc_glibc; then
+		mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc
+	fi
+
+	if use valgrind; then
+		mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc
+	fi
+
+	# System-av1 fix
+	use system-av1 && append-ldflags "-Wl,--undefined-version"
+
+	# Allow elfhack to work in combination with unstripped binaries
+	# when they would normally be larger than 2GiB.
+	append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+	# Make revdep-rebuild.sh happy; Also required for musl
+	append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+
+	# Pass $MAKEOPTS to build system
+	export MOZ_MAKE_FLAGS="${MAKEOPTS}"
+
+	# Use system's Python environment
+	export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+	export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+
+	if ! use telemetry; then
+		mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0"
+		mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0"
+		mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0"
+		mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0"
+	fi
+
+	# Disable notification when build system has finished
+	export MOZ_NOSPAM=1
+
+	# Portage sets XARGS environment variable to "xargs -r" by default which
+	# breaks build system's check_prog() function which doesn't support arguments
+	mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs"
+
+	# Set build dir
+	mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
+
+	# Show flags we will use
+	einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
+	einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}"
+	einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}"
+	einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}"
+	einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}"
+
+	# Handle EXTRA_CONF and show summary
+	local ac opt hash reason
+
+	# Apply EXTRA_ECONF entries to $MOZCONFIG
+	if [[ -n ${EXTRA_ECONF} ]] ; then
+		IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+		for opt in "${ac[@]}"; do
+			mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--}
+		done
+	fi
+
+	echo
+	echo "=========================================================="
+	echo "Building ${PF} with the following configuration"
+	grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do
+		[[ -z ${hash} || ${hash} == \# ]] \
+			|| die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+		printf "    %-30s  %s\n" "${opt}" "${reason:-mozilla.org default}"
+	done
+	echo "=========================================================="
+	echo
+
+	if use valgrind; then
+		sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die
+	fi
+
+	./mach configure || die
+}
+
+src_compile() {
+	local virtx_cmd=
+
+	if tc-ld-is-mold && use lto; then
+		# increase ulimit with mold+lto, bugs #892641, #907485
+		if ! ulimit -n 16384 1>/dev/null 2>&1 ; then
+			ewarn "Unable to modify ulimits - building with mold+lto might fail due to low ulimit -n resources."
+			ewarn "Please see bugs #892641 & #907485."
+		else
+			ulimit -n 16384
+		fi
+	fi
+
+	if use pgo; then
+		# Reset and cleanup environment variables used by GNOME/XDG
+		gnome2_environment_reset
+
+		addpredict /root
+
+		if ! use X; then
+			virtx_cmd=virtwl
+		else
+			virtx_cmd=virtx
+		fi
+	fi
+
+	if ! use X; then
+		local -x GDK_BACKEND=wayland
+	else
+		local -x GDK_BACKEND=x11
+	fi
+
+	${virtx_cmd} ./mach build --verbose || die
+}
+
+src_install() {
+	# xpcshell is getting called during install
+	pax-mark m \
+		"${BUILD_DIR}"/dist/bin/xpcshell \
+		"${BUILD_DIR}"/dist/bin/${PN} \
+		"${BUILD_DIR}"/dist/bin/plugin-container
+
+	DESTDIR="${D}" ./mach install || die
+
+	# Upstream cannot ship symlink but we can (bmo#658850)
+	rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die
+	dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin
+
+	# Don't install llvm-symbolizer from sys-devel/llvm package
+	if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then
+		rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die
+	fi
+
+	# Install policy (currently only used to disable application updates)
+	insinto "${MOZILLA_FIVE_HOME}/distribution"
+	newins "${FILESDIR}"/distribution.ini distribution.ini
+	newins "${FILESDIR}"/disable-auto-update.policy.json policies.json
+
+	# Install system-wide preferences
+	local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences"
+	insinto "${PREFS_DIR}"
+	newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js
+
+	local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js"
+
+	# Set dictionary path to use system hunspell
+	cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref"
+	pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell");
+	EOF
+
+	# Force hwaccel prefs if USE=hwaccel is enabled
+	if use hwaccel ; then
+		cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \
+		>>"${GENTOO_PREFS}" \
+		|| die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js"
+
+		if use wayland; then
+			cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs"
+			pref("gfx.x11-egl.force-enabled", false);
+			EOF
+		else
+			cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs"
+			pref("gfx.x11-egl.force-enabled", true);
+			EOF
+		fi
+
+		# Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969)
+		exeinto "${MOZILLA_FIVE_HOME}"
+		doexe "${BUILD_DIR}"/dist/bin/vaapitest
+
+		# Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded)
+		if use arm64 ; then
+			exeinto "${MOZILLA_FIVE_HOME}"
+			doexe "${BUILD_DIR}"/dist/bin/v4l2test
+		fi
+	fi
+
+	if ! use gmp-autoupdate ; then
+		local plugin
+		for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+			einfo "Disabling auto-update for ${plugin} plugin ..."
+			cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin"
+			pref("media.${plugin}.autoupdate", false);
+			EOF
+		done
+	fi
+
+	# Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it
+	if use system-harfbuzz ; then
+		cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref"
+		sticky_pref("gfx.font_rendering.graphite.enabled", true);
+		EOF
+	fi
+
+	# Add telemetry config prefs, just in case something happens in future and telemetry build
+	# options stop working.
+	if ! use telemetry ; then
+		cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs"
+		sticky_pref("toolkit.telemetry.dap_enabled", false);
+		pref("toolkit.telemetry.dap_helper", "");
+		pref("toolkit.telemetry.dap_leader", "");
+		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 icons
+	local icon_srcdir="${S}/browser/branding/official"
+	local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg"
+
+	insinto /usr/share/icons/hicolor/symbolic/apps
+	newins "${icon_symbolic_file}" ${PN}-symbolic.svg
+
+	local icon size
+	for icon in "${icon_srcdir}"/default*.png ; do
+		size=${icon%.png}
+		size=${size##*/default}
+
+		if [[ ${size} -eq 48 ]] ; then
+			newicon "${icon}" ${PN}.png
+		fi
+
+		newicon -s ${size} "${icon}" ${PN}.png
+	done
+
+	# Install menu
+	local app_name="Mozilla ${MOZ_PN^}"
+	local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop"
+	local exec_command="${PN}"
+	local icon="${PN}"
+	local use_wayland="false"
+
+	if [[ -n ${MOZ_ESR} ]] ; then
+		local desktop_filename="${PN}-esr.desktop"
+	else
+		local desktop_filename="${PN}.desktop"
+	fi
+
+	if use wayland ; then
+		use_wayland="true"
+	fi
+
+	cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
+
+	sed -i \
+		-e "s:@NAME@:${app_name}:" \
+		-e "s:@EXEC@:${exec_command}:" \
+		-e "s:@ICON@:${icon}:" \
+		"${WORKDIR}/${PN}.desktop-template" \
+		|| die
+
+	newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}"
+
+	rm "${WORKDIR}/${PN}.desktop-template" || die
+
+	# Install search provider for Gnome
+	insinto /usr/share/gnome-shell/search-providers/
+	doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini
+
+	insinto /usr/share/dbus-1/services/
+	doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service
+
+	sed -e "s/firefox.desktop/${desktop_filename}/g" \
+		-i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" \
+			die "Failed to sed search-provider file."
+
+	# Install wrapper script
+	[[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}"
+	newbin "${FILESDIR}/${PN}-r1.sh" ${PN}
+
+	# Update wrapper
+	sed -i \
+		-e "s:@PREFIX@:${EPREFIX}/usr:" \
+		-e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \
+		-e "s:@APULSELIB_DIR@:${apulselib}:" \
+		-e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \
+		"${ED}/usr/bin/${PN}" \
+		|| die
+
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	xdg_pkg_preinst
+
+	# If the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+	# does not need to be forced into the LD_LIBRARY_PATH
+	if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+		einfo "APULSE found; Generating library symlinks for sound support ..."
+		local lib
+		pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die
+		for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+			# A quickpkg rolled by hand will grab symlinks as part of the package,
+			# so we need to avoid creating them if they already exist.
+			if [[ ! -L ${lib##*/} ]] ; then
+				ln -s "${lib}" ${lib##*/} || die
+			fi
+		done
+		popd &>/dev/null || die
+	fi
+}
+
+pkg_postinst() {
+	xdg_pkg_postinst
+
+	if ! use gmp-autoupdate ; then
+		elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+		elog "installing into new profiles:"
+		local plugin
+		for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do
+			elog "\t ${plugin}"
+		done
+		elog
+	fi
+
+	if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then
+		elog "Apulse was detected at merge time on this system and so it will always be"
+		elog "used for sound.  If you wish to use pulseaudio instead please unmerge"
+		elog "media-sound/apulse."
+		elog
+	fi
+
+	# bug 835078
+	if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then
+		ewarn "You have nouveau drivers installed in your system and 'hwaccel' "
+		ewarn "enabled for Firefox. Nouveau / your GPU might not support the "
+		ewarn "required EGL, so either disable 'hwaccel' or try the workaround "
+		ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes."
+	fi
+
+	readme.gentoo_print_elog
+
+	optfeature_header "Optional programs for extra features:"
+	optfeature "desktop notifications" x11-libs/libnotify
+	optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas
+	optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal
+	if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then
+		optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver
+	fi
+
+	if ! has_version "sys-libs/glibc"; then
+		elog
+		elog "glibc not found! You won't be able to play DRM content."
+		elog "See Gentoo bug #910309 or upstream bug #1843683."
+		elog
+	fi
+}


^ permalink raw reply related	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2024-08-14 12:40 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-06  0:39 [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/ Ian Stakenvicius
  -- strict thread matches above, loose matches on Subject: below --
2024-08-14 12:40 Joonas Niilola
2023-06-20 21:16 Georgy Yakovlev
2022-03-12 18:55 Piotr Karbowski
2022-02-10 17:10 Joonas Niilola
2022-02-09 23:21 Piotr Karbowski
2021-12-17  9:06 Joonas Niilola
2020-10-23  0:53 Thomas Deutschmann
2020-03-30 11:46 Thomas Deutschmann
2020-02-16  3:07 Jory Pratt
2019-12-09 23:52 Jory Pratt
2019-11-08 12:52 Thomas Deutschmann
2018-10-31 21:29 Thomas Deutschmann
2018-10-04 13:50 Thomas Deutschmann
2018-09-28 12:00 Thomas Deutschmann
2018-09-28 11:44 Thomas Deutschmann
2018-09-23  1:31 Thomas Deutschmann
2018-07-08 22:03 Jory Pratt
2018-04-25 10:21 Lars Wendler
2017-08-08 12:24 Lars Wendler
2017-05-19 19:44 Ian Stakenvicius
2017-01-30  3:02 Jory Pratt
2017-01-08 21:42 Jory Pratt
2015-11-27  0:08 Jory Pratt
2015-10-06 17:21 Ian Stakenvicius

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox