Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/firefox/files/, www-client/firefox/
Date: Wed, 31 Oct 2018 21:29:44
Message-Id: 1541021340.d01d14fc67b3a1a4ead16e9235d72971d38ee843.whissi@gentoo
1 commit: d01d14fc67b3a1a4ead16e9235d72971d38ee843
2 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
3 AuthorDate: Wed Oct 31 21:29:00 2018 +0000
4 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
5 CommitDate: Wed Oct 31 21:29:00 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d01d14fc
7
8 www-client/firefox: security cleanup (bug #669430)
9
10 Package-Manager: Portage-2.3.51, Repoman-2.3.11
11 Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
12
13 www-client/firefox/Manifest | 185 -----
14 www-client/firefox/files/bug_1461221.patch | 36 -
15 .../files/firefox-60.0-blessings-TERM.patch | 70 --
16 .../files/firefox-60.0-do-not-force-lld.patch | 262 --------
17 ...missing-errno_h-in-SandboxOpenedFiles_cpp.patch | 27 -
18 .../files/firefox-60.0-rust-1.29-comp.patch | 37 -
19 .../firefox/files/firefox-60.0-sandbox-lto.patch | 13 -
20 .../files/firefox-60.0-update-cc-to-honor-CC.patch | 745 ---------------------
21 www-client/firefox/firefox-60.2.2.ebuild | 413 ------------
22 www-client/firefox/firefox-62.0.3.ebuild | 614 -----------------
23 10 files changed, 2402 deletions(-)
24
25 diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
26 index 34c225376c5..88f3d85174b 100644
27 --- a/www-client/firefox/Manifest
28 +++ b/www-client/firefox/Manifest
29 @@ -92,98 +92,6 @@ DIST firefox-52.9.0esr-zh-CN.xpi 461679 BLAKE2B 745b2cfb86e93a379e13fa73b7e3721b
30 DIST firefox-52.9.0esr-zh-TW.xpi 453068 BLAKE2B 84e08ea4fd119db1f1c6f84b212fbbb5d6999c5ac6010c0e7836d8734726d281107f3d91ba7bac1aeaf855dc36d3b018ae3913dccdbe2b11aad02a8d8aaa893c SHA512 a99042ef7d00820e341dfcf2c45a8b5bd77eaf2cc8ecf0ff5ee982b7bd9beac7cb4bf051c57ef3b7a5d9b67cd35858dca396d21e65718e248f3b1fdba5273999
31 DIST firefox-52.9.0esr.source.tar.xz 214087304 BLAKE2B eba5305ae3fc9a4306cbcbcd8d4610272ca5b75e369367961e9d94919b003de8aae8f3c58fe1c628787d98105a85fab575ae2b051e92a0b35bbb8b402c100766 SHA512 bfca42668ca78a12a9fb56368f4aae5334b1f7a71966fbba4c32b9c5e6597aac79a6e340ac3966779d2d5563eb47c054ab33cc40bfb7306172138ccbd3adb2b9
32 DIST firefox-60.0-patches-04.tar.xz 120496 BLAKE2B 4b4fd58a91d8fd9603c3a7bdb669f275f7cbd7b9add7c790a2e326f46a540e77a390e9da3f85e81feee8e5354cb25c93e140fb2f721cdcd0fe197b7c24ea0091 SHA512 d8aaa1fafe22dcef8cba609ba6e2d322c18b46f4d3b91897696651958108f887510a068295b55bb21d84b660bbe7574a6533a57d8e26f96d2877139864dba828
33 -DIST firefox-60.2.2esr-ach.xpi 496840 BLAKE2B 1419b3ee223a1e5505d6d596068f68c4d3f6df3152112b877926b23515d33f701aeeeac9ccc7a1d2fca828ceb314a6e1fd2fe4c1619283dbbe763ff05a3e35ac SHA512 765d6859e15189d410cb08d42ca565de42f56413e7d4fb88c1d500eaf199c32089e2dd4a567681e9ff083995378a8dc220a46ba7740847096572f4de7a49c1e2
34 -DIST firefox-60.2.2esr-af.xpi 487308 BLAKE2B f9cbbaa1d7ddd32f13d0d0181fc669bf2602dab285733e360d3304a3b19ef4e6d33330c1b58e3f8918a77050f2e0767e8acbd2baeafc4f645820d6a249f24dab SHA512 b272b4c3a032e11db1db44be0a2c3e0734b0a2029cf5cc130877ee6f288b4c7c47cd676da7ef369d2835025540c03f676f4906c6655b4e738f9b36635bc397dc
35 -DIST firefox-60.2.2esr-an.xpi 520494 BLAKE2B 304bc120fb2e1cc3dbf9ce138d9c69e27ddaa8680814d66a5e86c0ab1fe1ef24d684549f5bc71c8ab4bcad6285fdfb97b1683a2606305bc3ca7f07f1811cb3a9 SHA512 5263e17bb9ae3ae4bfdc8952a749508fca145a5f1fc80768df5ac69328d7f34d37ace69068b18010e91f300dc359b653d62a227c66b2f23716c97f53fb34ef5c
36 -DIST firefox-60.2.2esr-ar.xpi 547818 BLAKE2B 1f0e1645ad37b4f6b6a89b22d4af935ebb57edf73ee5b1e641dd03e12fe53a854d73ae8b9771d1a70e6b61870e1c0c70287428901587debed7e29afe41f376ab SHA512 e8748fe47580e41dd3f8f47a8d3d28a069b65f161340d4b183d60b3016c6822d559f7390c2b8eb09e9a83d005a93bdb7704997cbc5585d1bac97cf910ccf3077
37 -DIST firefox-60.2.2esr-as.xpi 530719 BLAKE2B 4f02b2671a8a8ebf65d8fcad68a706f9f607fc6d7eccfaed79eb7339c3a479b1476032478d2026ecd1815d9c783f4e11df09a2b2b4068942645051543c456ad3 SHA512 3ec556467464933c1060d3ec8e36189e205082d826f49c30f6e9d8c99049b7cea951cd9dcbbcff585a51c4badbf39495946310a01f4c35c9070cf2205f6ba157
38 -DIST firefox-60.2.2esr-ast.xpi 508650 BLAKE2B c0ca69499f4387ace206e214fc818f25f6a4bd3164ebeee4b3f092394141c82bfd80d454987c51287577b1b07ace82e23d6a19bd6830b62d260a7f239943f446 SHA512 08508a24513f51fed657904279aeb079bdb41484e4f8726b0bb096e53ca62a8e57aff82e7ca2484f521961ec107a600fb262307b5146de690021f1db7ccc3fe8
39 -DIST firefox-60.2.2esr-az.xpi 524745 BLAKE2B c952d62f4a40b572551ee07e9f4aded116ef28a27b94b112cff0f5a7440405b113a8a3c1755ba43291fc7e07810914d346aef303ba8fe563de25ba0d779a3269 SHA512 b94f5b8c53bd238776f5d7f3c8070541fa733e3bad7f8f3571707b5e74a004dfa797fb398f295d0b9198cf82b893313474ffa3beb276e9a5fdab9081949ba7f1
40 -DIST firefox-60.2.2esr-bg.xpi 573853 BLAKE2B 4272e4d2358ff2942f6ea7ef35ed2e38375df97de9c270959edeac4be26b6eaea25c49e162919a03a5744631ce331a9f919a2b0dfffae4882444c88e944c208a SHA512 274fd36bda8a851b60d3e060865336b01af76cc4f1b96b6398f7ba20c658e4632ade35c49c623abbddae518bbde6482f80bc4f035a776ec07587f38b98995370
41 -DIST firefox-60.2.2esr-bn-BD.xpi 590419 BLAKE2B f542129ffc5027a0ed30ef2f1cd06c0a736fee2d57533f70fb8e2bf373658f743d2872dbc5a612676a58adc0930f7e28551dd9585d86d8583f8caa257a9cdf1c SHA512 2bc208b71409b9238362ea894e4fa8c840d06720efb212145bc26431141cbf12ef1265f119ef9e01aa7f1edd42e362ab022c22c4fe7c883fe9cf676d06a96fda
42 -DIST firefox-60.2.2esr-bn-IN.xpi 570864 BLAKE2B eb5ff620b1da6785c7dda177567cd36aa7b9fcf927aa858a68a28e9ba3b7da48e233e165baa45709636bb28586ee4b42a9116f1758f588e2313c9b792d81607d SHA512 3c8c6bc67b20d81920740e50eaf3cc1e1de169321bad3cf4690a4466a95406b5fcdfb5bfa18902e224c05463f5a9e9e14ef18170b728875867cfeb644f4589ae
43 -DIST firefox-60.2.2esr-br.xpi 512027 BLAKE2B f1c14314b2c0958d72dfab2c885569fad6a1628e46d7daa4c01117c78340a650f45c4c63464d318b41ef5ba9fc7ae5683baf3924d67b5457564c8018affc7684 SHA512 b12a9d95f0751998ecee6c6f740bca5704c0a002b8845ba1508cc2e9fb7fd7f96a4122cb1745f7303832c2612a6d53c03c176e4a0660fe146b673025a6ac7e0b
44 -DIST firefox-60.2.2esr-bs.xpi 514715 BLAKE2B 4f9af6ca844cdc350a65e5765819335b1ef1220f6e390178bb672ae408ab8e1e847cd83978a666e52f9b98622f1b15e6b4dd9d06c38e7c23f671621bb07bb04a SHA512 6aab08b50e23e08a0fa4757aa882912ab0d72beed41fc1beda2f1fed2da151f4d886c77cab7fec4c19483af2b8c535fa5cada60b0eea651ed25d1248eb815f26
45 -DIST firefox-60.2.2esr-ca.xpi 525257 BLAKE2B 4033556092ad6d1ccb17a761f62ffd5363930fda364f4e16136e4527eba66bec84c50950fb08e3df946a091e0b4fb8952a5ff6ada2864801c3199eecaf1fbfc4 SHA512 c90dd9c3e7131c3a862b256c7e12ce9f87cdff8704ad7ad506f7e6a4b55abdcc6d11328348607b44af5b0bdd1dc95dcbd685effcdff3c05b85ea17c525751e8a
46 -DIST firefox-60.2.2esr-cak.xpi 536290 BLAKE2B e807f6c70e2d6117d2b4f8b3f6aefa0d7bcbb5f59f6c1290b54bbeb21cf62c563b69f518b78f57f2bba3b826cffadb96d75e4da077ce3832eeddeb45ae342c1a SHA512 ac5e589ed3bf915f595695d2c4d6904dca54cb3fba613e4a133300d8d23ce0a979d316918a6137457f2ec73fc81ae8fd68a4fa539156f5e8138606572e3345cb
47 -DIST firefox-60.2.2esr-cs.xpi 531798 BLAKE2B 978cf3a8d7744b46e5d45fda8b2e64f782dabdde8f7885b3c23209a136a86ee1cb7886ecb0d10b82cbe7c1518a8cb44a5fa53b5b63811541caf20c15a9721e69 SHA512 3d9cf4c3658d3c12930c9f6f7257136ec6039d8dd5c836ead013c1298b80fe3ac2d228b407d91ac3ab2b08f8468d654442d47754e0eabb9ac8d2daa470075006
48 -DIST firefox-60.2.2esr-cy.xpi 516642 BLAKE2B d52a497f74071e222e7ca840e7cc00f7ce9bbb51e88589bc6274cb020e29d510d1e62ae25020e8540339e1bb887d303c64ec2ee6c0edb51ab4c46b52435336f5 SHA512 4dab0a446c263048ab0049b0c47bcccb0d0b013f60aea4eceddde6f1f74e74a37135cefe019a45dba9f7b17322ac49851ac2813c7351efa8f1bb528ccd9280be
49 -DIST firefox-60.2.2esr-da.xpi 510753 BLAKE2B 0bbf6ec9fff43bf8a4b72fc0f5d50604ddb9ed79e3e51a010bb64130f8b2f798e65cc58081bab85325d02941e6acd0138efef9faa1282939a2062bcbcc7c7efd SHA512 582694115b423660b2b188e2cfa8609e8aa2e1b7095f0d111751944976ca98d068a34ec52a4590e8ffe7fb68ef92f9dff60911e9a0ab1e5d3fb873263b391be8
50 -DIST firefox-60.2.2esr-de.xpi 526515 BLAKE2B cabb9558d950185f6e2ef61e4d444b7d4d32970d2ca6072e29d47fefe124222812f588119298e5ecec267004f8b0781e68ad2a0edc7f86d2d2ef32f9f7c666a4 SHA512 db828f5d57453b297ab411f281c6cc860ccd002157dcf861cf064facf89b000c140eea4f2e16b6c95bf589d231ff01eb9837c4a9fb11f71edaed2cd25fc24606
51 -DIST firefox-60.2.2esr-dsb.xpi 539524 BLAKE2B 6b14736997d9bcaa849aba3772e1fade6db3d941bbaf84baa9dbccf184d4a2e1175224d4ae28932374abf191885aa510aa056cdab7476a42e564b4cfc27ce845 SHA512 97efc6252afa3998241408cc2bee39976a48063507b9128f8741e4f25ab0a294686b4e6def23de887165b5d804102c50dbccdf0aefd44d56cf6b1a0a8a2eb2eb
52 -DIST firefox-60.2.2esr-el.xpi 593691 BLAKE2B cd036f3f0416f72826131961877eee40cb560098392f13693b89aac08f7e80c3f93ac763ce33e55b5c9be076b034501649c84fd7a096b6c1cf1e8a31902c4af1 SHA512 bee9683a97114c8398ec962ee4f1eee58bb48c5fe677591415bcfbd1cd156f6d5283f366b9eb1d5b4d603bed4cc6f500616ea7850f807c55bd8350e7830b7999
53 -DIST firefox-60.2.2esr-en-GB.xpi 491694 BLAKE2B a51e0374dbaf356c99759fbe47ee1b9b05d08e2c9970e712ffdaf17fad3f4cb54fb03852fb5a810eb04a7cbf31d85376227514f903f48ec3c77c75c47660a19f SHA512 68b4f8ed5a155de5d296f51414d822335182bde0506c55d1b40adb46b5863c8f1c4f30566b715d261e997c0b83020e5b98b690cc73736b20ae35302222d1e21f
54 -DIST firefox-60.2.2esr-en-ZA.xpi 474679 BLAKE2B 2bebace02ad7a29532589d2031598db171780340001d4ff85cb322ebc0d4c2484085cbef4f8159f139e21905433827651d841d2def44b5a0b230e938a4aa0cf7 SHA512 89f1e74297b522d82ca709edf9b4db7059fa4c6c2661ac8e911a4522af1141beca5768eb3142053b045ca84f4b5cb02dd6d3d3066aa87f85d3ca3c8bdf8ee3e0
55 -DIST firefox-60.2.2esr-eo.xpi 511267 BLAKE2B 3ddc82f3882d32ec28fe45c9bed8f717ca5f79ec65bd26e37c33527cb471fc26ca282d90d8387e7a1d589f90289ce224321f753608b29abb75acb3b328952b4d SHA512 653c7607deb0d93ae20a3ca717889086e044d9db547a7f8ca8417b6f130880b4ae507d9d3edd00be93a4aa4afcef1f2660e10f6f0ad5705bb6bbe65f4cb0e6a8
56 -DIST firefox-60.2.2esr-es-AR.xpi 524650 BLAKE2B 6bed69f6e63cc55d97fc09127bd03c68da410500949b105c17adb54416ac4ff98c3977f107e546b21004be8c86ec1dbaf7390926e68ad879deaa65bb6c741474 SHA512 35e4a6e02058cb05f07d3b8b80865e093d6d78af8c75160289bac260ad0b4a7aba060c48c8242ac10905e36f86000822abb501438d2900ae0a714f19ebdc8ab3
57 -DIST firefox-60.2.2esr-es-CL.xpi 527320 BLAKE2B c8f9a35496831800fc1462e1714f29f78bb9f68ea69d9e215bf8efbd14f9bb100fe39a9dbe6b7e7b993dbf957024381e50dd2a9a65b294d5bd71a123ea830e8d SHA512 910abc2a339ecb9c95195b0dd2c3f2d1bf540e3c09241f58016559602871ed75a5c8c9404e2eb1eac72c99a481874802479f7aa968dbf4b058286a689883e228
58 -DIST firefox-60.2.2esr-es-ES.xpi 459958 BLAKE2B adff22340542af4ac47ead2a26eabd601620bde1087d4f80dff517b259904f2dd6c80491404176ec3f49769a0bbc77b65948a7d8cc538914bb3c47e722927ba9 SHA512 035212fc7f14a3efedb112a6cd4a3ecc77cd414eb2b056a37ab558d6f8fa3f6896a41f7a193b8bccb1d338f0baef7c1638ec34895bf8e34d74ac63f915c9d388
59 -DIST firefox-60.2.2esr-es-MX.xpi 528664 BLAKE2B 006ec7f57887c4b95a831e666c2f2960ac4853d31f05373cd4f3f499d7b820e776f5cfaff27b3202316eb005c9aace6bc9164a4bad4e9555f48c31cf8672b40a SHA512 43c39b80725f3c82908878260493c1c269230a53196d237604075e6a45b54d0764fbd6d049fa032f7a03c4902265ae38da0e9c1f8c9372fa8c4d873f24d82e27
60 -DIST firefox-60.2.2esr-et.xpi 504975 BLAKE2B 7927c499db43fbb58c1c5ce0811af6bd73359ae255144f09e76a3937b54a513b1f2221cb7107c7c868bc4f06d318b8d21f85ea805e1008c2a03554469f956b81 SHA512 7e2e41635e5b37b036f5f8205d98c077b698262b2a84284c165b5f9011b575af5b271570f91fa78997c256e2bfbe5bee091061bbf36710e21374548779e81c7e
61 -DIST firefox-60.2.2esr-eu.xpi 511710 BLAKE2B 5d421483f8fe8f952cf8bc1abe4331b6d929c61078660ec4b464b03a51010ae145d422b81dd671c19001e25f35726813a0e1c48013142f7c745f96f6d0453f77 SHA512 da8c25758c16f8d9c0161aa33e27b6e9f0481ff2bfbc7ee1d44da5800e18fe43225ec983a73793980559d53e40312399d98850943a9475994f0375a0b0d49966
62 -DIST firefox-60.2.2esr-fa.xpi 566262 BLAKE2B 25a67354c0a50272d8be4ce73f17f98b23f5b4dcd253b54f56da81ed263d809a211218ae1e7e967718b5f03b1e0e37f680bd257e9c0ea7a5b5be75844daa0637 SHA512 8de060ceb8fec5f5774dcf3822aa7614dc771db7907abddc56b7d55a998b7424978b8ad37b8307b8614307d3134279e11fb78093559347c431358c7e351c4edb
63 -DIST firefox-60.2.2esr-ff.xpi 512205 BLAKE2B 4e406f005e5373f208be15111794225995a918f4bd025d543bcb31a2e2c50e2a20800e99e26579e6b5e6fa8bb623e24ecb88efff1d9d9664427474a1df96d67a SHA512 7778c36392aafc558aa0e6fd4ab01b73ea6d6b151db9a1833275857f6dcc4fd164e7dc38aae20ba64d25dffde25c6e27c2510dcde3a764253fe15c4ccae97260
64 -DIST firefox-60.2.2esr-fi.xpi 506177 BLAKE2B 1121ce955b60a7e8ebaedbb5088f29ebbaf34c3d4337f5768493b883ee3d5565f559f071461a4ec58818997acc71a40f2d299bd866900b2586e0f7895edd1ad6 SHA512 656d84677627a38e8c4fe275d9f50aa6b702bedfad9a1668c2501a57d8e73a5315135a0fbeb78d41bf86bf15c1c85051d538ed7d50826dbcd6bbdd6c0a132d63
65 -DIST firefox-60.2.2esr-fr.xpi 536072 BLAKE2B 6132150464e929a8932423c3af286f4420352369fedc1ea227c92dc179c98235f7fb7354f5d911e5006a8ee9c1ec73d25dc4e8f9a0f92062e6e242073b883638 SHA512 18732efa9435225757ee42d72ffe52a63457ace9963f92f10ed16d1a4728f2b5d273bd1867c271ff3b6b74f4957ccf069ec1ae473011cb4ceb526b0a8f27c1ca
66 -DIST firefox-60.2.2esr-fy-NL.xpi 524520 BLAKE2B 118388ff5283d378cfc4584aa73a1ad83e768f255c0f653739dd3c5388b430413f069053a963076369c5e37c7f2166e4141b84a76bfa577b4305d1c301c661e7 SHA512 acd8ccd151f46c9df7a48b9ed27f2235411353f49027fa804dd87d92c9bcd641747d268e72848d282163d26100af17c8ca92fde70cc06e10e78a23c254c9cfe2
67 -DIST firefox-60.2.2esr-ga-IE.xpi 526986 BLAKE2B 6d5a9070e7c6ce303229b7a5fbc754593fd491468305713c3e29654c970a1a29a24baa3939c122c8a1791d6deea268e0310e11f8e9d0bf2e6e9ec2f8fe038339 SHA512 08b9c58fec687df3ba7e5d21542bcdceec7fef61e2d9af2e52bd4a79dfa4687bdc7f627d641da3acad893257ca5199a256bbf24491917330dc26d65ec8d4fae4
68 -DIST firefox-60.2.2esr-gd.xpi 520872 BLAKE2B 53af25e18039629b798edff6e4d2cbcd62380c561af0f0d99dca5c2caa979f8b5bffe94e57cddcb8bd11ccd3b01410a74c92afec6670f50fe0e642d1364f7f30 SHA512 128f1f6427fb1bbf7944560803981082e4a1b7ad023ef5a88612375201202f14da636294dd074de3c3250f569d2ac57c7462352a6d35f0a2bc98c3594fa679fe
69 -DIST firefox-60.2.2esr-gl.xpi 497371 BLAKE2B 6c99f56d2684ab6ba81356289fc664648cd370c2a8aa8c18831054ad65f5cbc1c8eef74130aa4d66a35a2f52de47c967f4e4b0ed342cff71319a14ccb88ca614 SHA512 c1ffad84b3c316cc3e7c80e13d5b8a6f4de2cdd012bd1eb17659adb8c8f355870baa9d9098899dbef4b44df40f644871fb12b5649823b1f62c9081cc00cca8c7
70 -DIST firefox-60.2.2esr-gn.xpi 533219 BLAKE2B 4af69b43c25d73910463fa13c332173f35eb478923db111c45fe802d90bff8ee727278452da019ae40ab6e7d11511b6d0cf8799114c77c6629b99eced7d29d5d SHA512 b9057b916bcb11a4ff7cba279e65079aca267c610806b24532238179b40788fcbf6e049be01e8373d1b094244b1e1cd9ad97d705ab7e1595516b21e92843d2c2
71 -DIST firefox-60.2.2esr-gu-IN.xpi 590266 BLAKE2B d35528b9cec4823a93b8de75f65357d3c92477ea850434f144083c8c4d54312ad0081944b5846ebbbf15b7453ebb66f4aa54eb4f0a53853e02466579c5fef99b SHA512 1952e6e48df6b12774d4fe489af2befe1be2302b6d8b66ff77015c2b327ebfefe32d2d7b77e47925d35da33acd6ea83769c02d0a039e719ecb92a1b9fbf01218
72 -DIST firefox-60.2.2esr-he.xpi 535979 BLAKE2B 6f97ff0c81ef500837cf1aea144eee374db7eeda06517171cd45e8944fcfded14df8778fa06ea609845102fab50cba457f624cca8c1e532816dce92bd02ef69b SHA512 a3011daf6e70eb93049f99f23c9202e4b8f14714fb01ec87b482fb243d1250baf573a8d769e6ff81c44eab9dc6b2ae712f984cced11b0c37c0f4bdc279b8c6b5
73 -DIST firefox-60.2.2esr-hi-IN.xpi 590870 BLAKE2B 2159373d4ff2ee878770b3779cf4ab900dac03c7310459c77ab5f8463d21f76b759fee78d6a1ba59256e3c49c3d96c82ee7d2bbfedd47d43e50d8a70e930923f SHA512 9cfa7a1ffba8aa18813bd98536462aded0f2e6d77721b933f6ab8924cdcaeb4f2998a0c86b742afd66fb26766250edecdcddd032ebeafe197c5305eaecaf0acf
74 -DIST firefox-60.2.2esr-hr.xpi 515960 BLAKE2B 94d89bff75d4d4c9ae2c1a0277285b47ab0c1c3d85f6f2485229f0ab3281622039ae4940c7a11c09dd4363d35bf8654e7aca4a2bc9ba94688cd4eb529ac47a11 SHA512 c2b7cd4f41e6f0f604e0be59dfcec25e39fa89d1753f53245d59a5f427b6ccc91333166e511437d4c23d7a1b7d6902391511caa4a2d0053d683e1a4a2845306b
75 -DIST firefox-60.2.2esr-hsb.xpi 537059 BLAKE2B 7bc112d977db006bb4c527dc35002fa1ec9f47b065ac9c5372382a5048b2c9edc6cf4914f8a1c42465d413a72089f9cafd6b2e6001065cf880a35832354c7b08 SHA512 41f08dfc6f0cc3ae1be34187d04c1cea5b12c8648b98af8f9ba63c944c75e61e9ddf8172bd514f00e403abd249bd8c4f2f89955426a7ef17ea95fbb5d4256a51
76 -DIST firefox-60.2.2esr-hu.xpi 538418 BLAKE2B 1c139cb48b3805a259bb120607ff098b77355f71a1c00512ba16849b7c58f236993dfc1faf82e63f649355998edcae60921722d668172f348288c219d86385b5 SHA512 29b00f4064001d829093a6d0570f69e3555c92f1d9a22d97d72d311da6b255c91f811ca436db3211e3f764db0512f225ba06591df4b766d469ce3dc614443bed
77 -DIST firefox-60.2.2esr-hy-AM.xpi 569415 BLAKE2B 29f5e0fbd7050d3e7a94f0923b9e8520e2e9ac48f6d5c1bf61d09d239f326d27731ddfa939c2ce78d921f0746917ed119f6cb6a4640feaaf35de4b6b6688650d SHA512 4912736ad06ea845ba6b7439176afa18b627527ab94ba66873a73b88884e8ad7af0e6cd0f22fd3ffb24d4c6d646fda0d51ad6581b0462c8657f218c12daf7ed1
78 -DIST firefox-60.2.2esr-id.xpi 502220 BLAKE2B f3f86a1f32e33095825f97effc4afeb12e6b3072739987e8614d7a7da5b715959ed63512092d40613621bbe1fe1a7f4d68c6f8d8108e44b1152fa715a3cd4039 SHA512 c5bf5527a10150db03588fdea0958cb3c332cbff730b9889f265e333ee652db1c12255242019a92d7f402e9252d62900228451c753fcbf391447e7a842f27632
79 -DIST firefox-60.2.2esr-is.xpi 513271 BLAKE2B 51d2f070e806afcc8b4d127d18e013214193a504d05a87ed32940df57afde6e1ecaa059928ad35cc9a02fb7065355306c1a69e50fe7e086c0f07eef6044e724c SHA512 b469007a2ae873dc483e4f62b2014cdaaa16e99b18112ccd8db338fb604e9291a0b87732b23cb94cd27ae291847195e99c3be5ef1f456fc402e8edc3c76a96e1
80 -DIST firefox-60.2.2esr-it.xpi 399096 BLAKE2B 7ee6d12d89c3f9e82427b23a8a8e20add5e68413222199f742333eabb64abfeb48e102e93ec38d260d37420ea6ec31437485845b6c2b4e4f17a89d04f9adc82e SHA512 62a4a45ed227757c4ffbceaef280976a9dc4f7cccbefc221705a2806a42d8f59a8c8d8a2d3cd45f12dcd0de103f2a3402549e4f376238566890ee65eb1d5ab47
81 -DIST firefox-60.2.2esr-ja.xpi 572015 BLAKE2B 2d01e5318bd27ed43373744e67d12a1c47f1dd377bb81e541c5eb7d3d952c1aa067caa397fc1d4fa3bc097c5096e63947fedfce4a85d8094c8ef1edcbe03e7ab SHA512 5b6e95abb652ed6ac143198646ef2214342d2c0686f4241aebf849ce1b419a40f62dbfb310d64ded325731f7e973ec00e1d61384e2cbcc5eeb2d510705e5bff7
82 -DIST firefox-60.2.2esr-ka.xpi 556846 BLAKE2B 6f9e6bfe2051ee3466f85be872fb758ae9df6fb552e5f07a333efb80e4c6eef54aa9ebb16ab58351494316b501117c7635768f8a2a9fb20047b3c7802981289c SHA512 d07566979d2fc608796dd34cb8af2d253c666a2af3436c894910b216906000b6eabc938ca839e67af2af08a58d4767038145d6ae852e06602b6683c95ae2f823
83 -DIST firefox-60.2.2esr-kab.xpi 520399 BLAKE2B 6beabc507e12f3cbf524a808d0de3133097aa1425c5dbdd6f0b100b8dba459fc342ff21fe34b3781ed32af8a4a7183765c5d4465a84428500febcbdd3764794d SHA512 48954ed39479de7620cee563316c3605a999c6e4ecdb42b7a874292c6f9b16266876befe906cf95313d6486221b23fb678bee64546eefbf82081c24853892c2f
84 -DIST firefox-60.2.2esr-kk.xpi 582980 BLAKE2B aebaa7e4eb0a4e6acd74ed3d892eee161d85ff62ea51218f0c2e61950f2c4247cfc3eee6b47097dd7674c73e3efc21d478cc11e5d9dbd56878825823a250c2a9 SHA512 b610071dbbaa7ac30b45022bd8a558f71451d0f2a72b8e2801ab3a57f40b524a41738197846c58955ccf4024bbe69adb4b506258e530f79da3c3470e9b93fb18
85 -DIST firefox-60.2.2esr-km.xpi 583116 BLAKE2B a9efe205c83486729f6bb642c64ac551c78755783cdcef57b213fea8dfc6f02348f180d5c1e1926748fe0f37bd673f8506263945a15b74b92984383fdc8c10da SHA512 2260342e18c9cf8dc33bd0622a249912d29d3466a960cca6f029e43436534919755a1b29de13725e73b1e0e9726719666eeb78293570542b12ffca5a42239c4c
86 -DIST firefox-60.2.2esr-kn.xpi 585873 BLAKE2B 72c0bef61647e1b770fe4677ef435140d4291d5a52d72e2cad904c004ce5657199aa6888ba9c477d02bff0dfea5d7491a23b43c0e3989b161bc076d842750ab1 SHA512 f55fbabcdcc0aa3269e33c0c7b03cb04cd1a26c54e78c8a29910d3108ed55ac1f9623f8fdb3b822fd586d5d798aa2d2306fe0d42a109360142e564b63869a9a8
87 -DIST firefox-60.2.2esr-ko.xpi 547826 BLAKE2B fd36278f959a63ac7904d2451cafaa3761a087beb955947eb4fc1b9061b4c68756a167cf9ecd5fbb1b6d891bdd7c2e0610ffd3754b0135ffce59c85adef746dc SHA512 6572453b84e57dcb8626b11a438e9b498400429fa60f3e63e4f40a10a4272a1fdc94798e3c6d4a7f58adc3ff0b442348e0da4b70e17002f5ee470e620d1d8c43
88 -DIST firefox-60.2.2esr-lij.xpi 513176 BLAKE2B 67a9785fe379dcdbd4553dec6056efced59ed58b9ba26b2dd1d08e13e4754a802fd183dd71524289a78f1a33c835cc807258421b0603d9a3cb2266610e64c4e3 SHA512 fc1a7d1eec6b49ffa8f9f2f6067fd2c207a6bf4b1f80211877f266102de342f19c75aaa931b463a20520a3df417b451cfd115868f15ad9560b1c4034b5c7bab8
89 -DIST firefox-60.2.2esr-lt.xpi 536464 BLAKE2B 6fb621867cf88de1d81f04f50e0bccf663d4163b8ab25d6a1452a2927b119e0825ee61a747cad931d7857714f3a2deaaed9543d6755d353930be9c6f63fb7f2c SHA512 257be3fb41cba7e12b4de8a1118fa3a33db68aae8f176651649cb39c4ccdf8986022f744d23f3998cbe14ff1bb4ab60d83e516d287f181b496a58662af476792
90 -DIST firefox-60.2.2esr-lv.xpi 526414 BLAKE2B 381106227a612310cf2ec4e65b509d0324d4e367100739f2ce1073946acf7979703c2f749929614f5b5338328355f446eb16d4c3ddd2b2c70fbccc9db3c21bdf SHA512 42aa2caa1eae883abe3a40c9e07ff61bde7f4f9a7c51962697b23fa3504399d792e0739efd88fc51a4e5c579f877a8f665a0268ae44b5bed122a539c88de9bd7
91 -DIST firefox-60.2.2esr-mai.xpi 549256 BLAKE2B 637ef1886a4c75c4816e6d7d231dd09863f8231c1514ba26ba2b257519af19b26536ad518d04129c2c84f57f03aebcc5d96cfa35543c1d9ebc9a39e99ef98e90 SHA512 f4d3b747cf3fddf11b00e764550d4dc28b896c04b130d2a3bd5841588444d843e7d51ef47fce71d90c110417ee74c6a6bf5b3f00dcca738b3cc44c8bc2fa91ca
92 -DIST firefox-60.2.2esr-mk.xpi 513807 BLAKE2B b94dc767c3bd7b000655e7471907f08d52b2b8c7530e15d25e2091d611818c2b9b65b16aceacd8591dc298ee056cb40162f2ce91d35a26b8ca29d287be02a8af SHA512 df84f8b3bce96b7307d82efb53adbdae4682996b6145009e19e8928a619aef13869046558592909722ececa8819f10b28c7438ea83ed021db648cc0cbf9f8651
93 -DIST firefox-60.2.2esr-ml.xpi 598976 BLAKE2B 2215a66ecd8bf5d21f92f3596985a211dae9491f3af093c927884fc55d345a2a16d1660f7aee628b7f1189a3f729dca9d7fda2bfec4d22373e575a9f678269f5 SHA512 504880af6117e2a5717468618a530093668589fafb269e893256c6c739f956b08ee75e9da97222878b783384b7f972d51df2d515e71365788a17355bc789836d
94 -DIST firefox-60.2.2esr-mr.xpi 579120 BLAKE2B a5fe2a820617ae33d2757fc0828517b40a2641ef2af0637e78418d7807498f3a8f8d35bad796322db90b0d89f4d984f8b305034f32ebb2839d2196e4b21b717d SHA512 e7039205e325ce0a7de414672c0766a336f599a49e30decb949c5779e6ccd2a86732454d6a0d6a9bb413a8cfa4b5428d931d47867d049cdf1acce380287d1618
95 -DIST firefox-60.2.2esr-ms.xpi 509552 BLAKE2B d6f3da9fffd81157fc3003d03d466b268fad1210484d6fd4b8afe29af1a79e1ad42d9ab2cc200b52e996c18ea254bbbf6198c13b587bd78a1b77dc8d78e787f5 SHA512 f2595e52f56cd4cea214ee21bb08b8bccd3f10de54c21391fd4ee5c8a56ea0a175c51d9f5a67df8a1b1e33e291c754dc1e73be1fd443f7abea19aca9592fa8a0
96 -DIST firefox-60.2.2esr-nb-NO.xpi 509890 BLAKE2B f6e675b493d9accfd89c563e7cc0c0e0add6607add2a3fdb7253b94f0897946ee6d3d0a72de03c6d1f7bfb8efb885b2d034820d50797e5995190331062d915cb SHA512 c7498353385587ed73308482ba576df03377bc8e51053de0eff08fcc0690d5bd3eedc674f42cffb1cfb39b3442c8b676e97aa9795e093d25014ec60d76311bdd
97 -DIST firefox-60.2.2esr-nl.xpi 517459 BLAKE2B 1b8515023a169527e82361399b0eb70b87108301a4f3f97180cf1b469f580d8195bc5582c3b8194682fcf53b55e8f09e18a797cc00d9eb8a014c2f9bf3f1a9c0 SHA512 8d6d09a4a62b095ceebdf4190850482650e933d606b1709b123e7e7255127bf8784cd582f6c3be005a2f043c87d45730a4bbcedb4ef3eae8377d8687f6f8b6e5
98 -DIST firefox-60.2.2esr-nn-NO.xpi 511429 BLAKE2B a009d8a6398c5a8b717ca719f99e06a58846a93822e3c63417904e91915754d98b93c8a3405bdbf5d8b2516cf4df8d92e38b75bdaddb6eaea43b4e8390ed474e SHA512 4aada7b3118afea2cd99c3a9c21b6208a482c384b3ef11cdb3c1bee2ee3ac27b59719e601c97cd5324586236771e208b46ac4c1c2619523f1982e8b7daf7bf04
99 -DIST firefox-60.2.2esr-or.xpi 540863 BLAKE2B a0f52161d610cb87934161cfb225dda4ef2ee68f933adb775d7fdb78f377e61548e38fc380dab31a9fb6097b6bf0b24806778c1b2d26bb9f0f88a8ae40cd0438 SHA512 b95c0a064870fca58d09a9c7036297a4e1f1b60cd9f80cb2b0d333a3f96aa229d34f354f4fb9ce16c83c82653e2ec6ea9b0322f2c1cf88e492f324d8c92f8b39
100 -DIST firefox-60.2.2esr-pa-IN.xpi 557877 BLAKE2B 02a1a25df3afaf36a5a033cf675a3a2ea5eb690d871f4ee5ee325b9760d85f36f40541b54665365df07bea609d1820cbe98bbbf2c02c87b998174b305a5a56c3 SHA512 0b00529af679ebcbac41192b84c7c2d1addf298d7a2c563724ccf14eef464730be912214f3f25eea60c774ee4150200aa938223ba50922e017e760bc091a998a
101 -DIST firefox-60.2.2esr-pl.xpi 419023 BLAKE2B f173e5cb75277f509cdfc2b82011d4f6308097675fb25263f416ffdf83ef4e351f2b2983f9c4fa3e032e8e50812ac7f2e83cbf4d4c0efa7ea87ef5b52ef06649 SHA512 c74869a5150572eee28e78f3da2bc563953afef10a55c38ec560d5cdd9f52f57704166fc86b03255699fc1273bbef2f701f130744a57fd0ecd081b48bce9d850
102 -DIST firefox-60.2.2esr-pt-BR.xpi 514759 BLAKE2B 8d16aa88cb3785e59652ff6323215cfe7bf1d150496dbd2e4af7411e85b86ea8289a13d1f76dcbe7d88d6b3d5741638b3d108dbd9a6a00b454d74377997f4748 SHA512 997b3488eb34ff71546794961144d80b24cc7c7f80e40aa5aad61456457ba2446ac6948456bbe441a3f01d87019fc561fbbfcf3c8219c84e3509148d09422ca3
103 -DIST firefox-60.2.2esr-pt-PT.xpi 519361 BLAKE2B b5bb415fd5160603dbf6adc203d5dd9727ede8559fc80f64ed3d13a24ec76d7a9bc31c29fc3a8a4a1b7af87166219a26a3f0054e0e777f9ce0de5e197b26fb52 SHA512 68f933a0eb131adc3977f945bd0f8344ceaab67686e303bb21ba633c2161ea27af353f71a23b33bf7c01a29ad777260ce3b688c66a6a69e72c001f63a3b5f80a
104 -DIST firefox-60.2.2esr-rm.xpi 506037 BLAKE2B cdb27e8a315eb85726fc629d2f8d6647df7819b0028d10f5a1c4e9a951554cfc4f26a72ec479aaf8cb3ac47e09bd46b1c4deed582c00f68c39f055d2eaac1b00 SHA512 8245f6b2abad18e4c8c81ff95b5a23d9a38d18ad22470773b02ddbb10bbdfe373838d7ddc6977acf9769a7ceef555ac6b8f80d0585a4e35bdd1151d184e4e0fc
105 -DIST firefox-60.2.2esr-ro.xpi 514050 BLAKE2B 60a21a7656dbd9bbbd98f450b32752f3de2d805b29653d1bdb7a6f70ebf3e1b9fc40aeb6a66c61d42058557e1d07e90ce3f3d3a648befad601c03d691547f59c SHA512 76c9298e0460c7460f71bb3d1b050b906808f4377bf1eee7832ca90f88fa0ec255e5b77da3d62999942fad24aa8acd921e56d39892889ad1202d6e70db365d4d
106 -DIST firefox-60.2.2esr-ru.xpi 591397 BLAKE2B 3467f438dc6dd3dae7d3bc6e3c842f17dce48fc2253796c9c8aead4d6e24536ecd5c5695f00ebe3a4fd1d572bd13d02f7cad2f8e1b3534a9b9dfba03e1338611 SHA512 cc17e4d3d5f10b89ab47967ee5f11ae7ef72fd84b595d6d7c4faffe9862fb02ba3882affa86e681d3e8eeafcd37f5b30030907a32c6a5803027a9597f038b8db
107 -DIST firefox-60.2.2esr-si.xpi 545572 BLAKE2B b0ebdc71d56cca6ef7f3e8be9583005096c9041c2f02df37cbc5fb62475befb6f7c100fa798d107dd10c8b7558e650e2c405ee5d7f19d55a0aedcb992e2f4c77 SHA512 d37c7a61e56a7fb5cd97621b3be8f6eb52257c2ddf148eb9af5848b8278d245f78a20e11d05696f6bd6d2d5ee649e4daf06b9c894bb7a7d2b44625f3a7db69dc
108 -DIST firefox-60.2.2esr-sk.xpi 541702 BLAKE2B c517271494f8c267ee3565119dde72dc34e860f37c04eb064b5d1f4ff426dd0c14b7d9157e59f52b64ef4d4448c5f5659b6f06062fca0eb4594c337faa7189b0 SHA512 647243724d899ee070b67f570b7cf6b4f12fa34d86a7b4c847c6a9061892b68f9553e5b481c6ca08771462cdd5f342475f25146a6cd3916afd19bb5550eeaea1
109 -DIST firefox-60.2.2esr-sl.xpi 519378 BLAKE2B 8f352a867ba0e4cddc4512df33448af376477c6f4f75f4983e319f1d60311a5cfc3e5d4f858e8686c8bd7f73df1141f6084d0ed9257a18f54174d0786753864e SHA512 d50e02e2b94fe6cff6c06b80b58c892b7297bf5390bfeb92598aabfdafc9bfb181b410f3e39db4fb17676a6edab79bd4f6d12ec3c741c7d19670b4de4bde5407
110 -DIST firefox-60.2.2esr-son.xpi 497699 BLAKE2B 85baf0da0078c799a6f4acb95a79fc146522d727588ab046099e84c7f1e333ad9cf8a35367ab0984d60f9b7c49e37c9fdad8a7cc118451264a0ef7b7326051c2 SHA512 40dc45bdaa45d3be1328f8c40af6d6ca5a5cac03aa91c8c96e043bdee5e19aae97e45570bd4d36bf5731d87e827e94a95af3002c0c0b0b6248e4d522cd708963
111 -DIST firefox-60.2.2esr-sq.xpi 521266 BLAKE2B 30d8e156a5e00a33adf790f4504a5b71420b7366b1da96074823e3d59f9b7c579d89b9a45cfe7f8478cda0b4859de0f35378097a7eb20b25c25a34c9a71cdbdc SHA512 b212928722deba9b53f860a25686b5d1778d98ce3a43e0dd6f75f5d9c5a6f87a7f36f1c920ea9110b798cf4783307d324c6f200ea925e2106d860de2425730ae
112 -DIST firefox-60.2.2esr-sr.xpi 548771 BLAKE2B 635c9f8e2893f68b15976bbbff7b511c87150ba3c5e3f1577cd8c9567950dbd5805a12edd124ead44bbfe32afe9558d7567d3ac682acbf427047281f8ca8853d SHA512 9cdde47b8df9bacdbb25b8907739e5919cc997773f50b9dc0dce2d75a89ac62069828e1fb31eb520970ed8d517ec6896f13accb7c2ed611a6497f4ad92e82375
113 -DIST firefox-60.2.2esr-sv-SE.xpi 518661 BLAKE2B d0a3d7a86fdff6f11e236591b9927bdfba10f836e6a504f9390a662cf106fb2daff50216de865a0ca0cf0acba60a5c392fd4a0311552dde401d3c4c6abeed544 SHA512 855a23807f65a01bf9437dd3fe6558f4167ecb1aed5bcfdb4ae712cf6fa169621989188ab01ff2e7b4db20f9c922f39298f1f7e16a067600f7f14a6346ed065e
114 -DIST firefox-60.2.2esr-ta.xpi 577920 BLAKE2B 631e58b7abe7ab4e7cc5a0e8ab5bdea44702ed0fa3c83cd8eede05f858bbbe5e9159f011e8fba6ecf3c111b8c16f7b34cad5c060cda3c922d0391b77d3a69f53 SHA512 f62e11112eb261f9ccea2bb8c139b3b3e8bd07c4dd473dc3d0b995edee9d59750375c0d2541da1740e9e9efc305b7f365f6f9fe3c1b78bb0b11d41ffa1bc8b09
115 -DIST firefox-60.2.2esr-te.xpi 590956 BLAKE2B 487532722507d3a5d3a881b87223c7b14ba41796e97e27afa487872259d193881bc1105bfc33b95e64261341242ce57edb5c3ea8f29cac29adc4701590f82c52 SHA512 1e7d29805274074cbd8d4bc32e65b29ae2b8eeee1f24a9c2a9c794ec09f2a4825bbb078819ec065aeb55688613cfc3ecaad3a8bf7da0c43d31f863f84fa680e5
116 -DIST firefox-60.2.2esr-th.xpi 562814 BLAKE2B e430665bf824c10152b87219011972b1f5a0f7bb562139db001fe232e2efb89f78cce437ae25476c0e7b0b7fa6ee720e2c944dc03eb2c48f3cd2a03a20030a92 SHA512 9dbc18e5338176b631fb7487521df3de6116777ff405e36b1cd6aa4513f5a2b3e61cd59e41539a6342e81fd9165fe0a537ac8a65dd38083f1a220af25ce5ef89
117 -DIST firefox-60.2.2esr-tr.xpi 525852 BLAKE2B dd868efc371c136bd23997f48c80ecfdff7fc7d78175ee3b18b2d23a1970e1f77e4e9d88e5cf33b67bb0b096da74d85269d148d0a1f645b574954ae199f63e9c SHA512 f397ee33cf8c4b7dd67e67a0d52a5d9fc2783beccc7e38f9e0f7303a237fb31949c4e368d27eb9ae8a623f5fe5b3faa40653ffa4ab1067f5e0ab2c18142e539b
118 -DIST firefox-60.2.2esr-uk.xpi 580921 BLAKE2B c423a2d1707c91f4b89501b101f7e6289b41b57ad42185c08c87583eb69ec9d8f17a86290a80a6e483bdd97e15c5b68eecbff8ac1268a54fe2d52093f4dbb9e3 SHA512 db48969a713a92226aedb18623a59b4f4ac65b54d36abf267dff476744cc4b35c62e03e2c5a79ec16847df473f57fc1b4fd2252e36b3d0c79f2ab479f01ce0ec
119 -DIST firefox-60.2.2esr-uz.xpi 513689 BLAKE2B ad18cfd6d3be7a6ced237713b67ccef04340aed712a9bb7bfcb784cb7ef7d009756cfff5b7a4de04fb343edd01282855cbd8cada2447b4bad6d21e81c67d8c66 SHA512 9eb1c8bf583677d39b3de8985cf908363f775c1c84af88fcf3dceb6fa14517efcb84c21f12c6fa18e5ab641a8c2480f3a81e15bdeef9341e68bdb50878559c80
120 -DIST firefox-60.2.2esr-vi.xpi 528190 BLAKE2B 27026450542b4c642a4ca29a79ef933dab1011b41e915395b60a4e1975fb085665ee4fd8d03ddb7c97ea5ad5f6058628542ac380d574ca8044542820aa2eb12d SHA512 281fb799dda1ce4a03a7fc704af82f9856a23f1182e7c014107d1ff53e45a43ebc0d889472e8bc0b08dfeaeb9a16a78735c3cfa91399eae3f0c7ec3a20f59f64
121 -DIST firefox-60.2.2esr-xh.xpi 511856 BLAKE2B 70194a17a8ef8dc0bdb37ddcc829cfc7ad6603c850868223afcf20b640bdf85956db53f760427618381800095bb2a2ed65784f007f35cc18b20548c15bba6548 SHA512 2b5eb358b21b5119f7aa7a421cc1cfd6ba3ea311559a9869ae2ffd1965584296671d0ce5539c4190849ef197c2e81a347d610b7857128794c23f5b180185b566
122 -DIST firefox-60.2.2esr-zh-CN.xpi 543584 BLAKE2B 95b242cb974b96613a76808f414d0a63c9a4b57c9b752463d80c65b0869645823bfab8478e52e859783b48e9632ecd65843ec5703498f3efdcf00dca0f0a866b SHA512 9f111eaa621799c7aa37f8a0788296582bd60b8bdd424ced70785d12f8653d957be2ce35dcaea8ae3a7c4fa8a54124b36484572e3b354a0c7ce48da34f7d4e0b
123 -DIST firefox-60.2.2esr-zh-TW.xpi 541908 BLAKE2B af43fe323f6113b6d9cdda1b3a106559648fbd52751bcc28df15f7de1189a36e3dce1810e213f494922639b75c44e504e3fd3df06e26258affc92810929c96d9 SHA512 991aaaae66bac24e92cbd00314caf9a226cc1a5509e0cb812e8bd7f14d21d842ed8ec2435cab0c36c4a785b397c15f98c70d92c83790a1ef5a47a97ad01b5200
124 -DIST firefox-60.2.2esr.source.tar.xz 267599268 BLAKE2B 2f5dc77e55905a0ff7dd8868862bb0586420e4037bb264abc5abfec14c48c7778612be169f137056eee433361971be836ba424916c9013d7fa19db657dabf097 SHA512 8149ad0c974a70d8cb18a9212540235089b2a3470edf4dab5eece68b2fab2c10ff426a8a8acde5543b81f847d751ef4a286c9aa8aa33bb7281b429e95d292ba0
125 DIST firefox-60.3.0esr-ach.xpi 496841 BLAKE2B 32ed75ade30c50d8587c307da79d27ab1ac044f790218bcd006c71548c0c176b43c01cb965e71f55ad56cd33f2da931f22999ffa98f2f7f9ef680a0d54adc689 SHA512 9668e662a80be67da9d66240551adda595b4dbc88b7b2f8007bf50dd321d35ec98cc044da503c68b1bfabb3683bea9dbf5d1562efcfee7532b68673400da4856
126 DIST firefox-60.3.0esr-af.xpi 487308 BLAKE2B 1e8fe670a7c7cb404cbf98c9ad6d7d19f35d7acb757dfee99f365f2f0ce676873d053ba1a07def796224f3d8bcfd35aab2fa2bd1c59e74da21fad78b2ecb01c3 SHA512 85372897e982a986ef426551f5d74e1da4dd0d6dcfa603de102674ddd885784b121b0028836f456efc1239c1d90edb41ebf34e5d2855d0397df5c4b2bfe376e7
127 DIST firefox-60.3.0esr-an.xpi 520503 BLAKE2B 313ec2af94956f7333eb65df011b37d6ad4cd97aac8d650bcd6d139154a84124f9f15d700171ffeb17a37ddeceea5fced6b579ee66b4e7df533d1c7fb43e66a6 SHA512 41b7907a27c720d2946ad6269d67f36f377ec61abe5a10d16ad76e340c6a06123af00601658c97fb5d47f5fbc002dd940fb0e159cc29baaeac861fe802170d61
128 @@ -276,99 +184,6 @@ DIST firefox-60.3.0esr-xh.xpi 511853 BLAKE2B e40dfceeba27eeafbd757a14575215448d4
129 DIST firefox-60.3.0esr-zh-CN.xpi 543582 BLAKE2B 1be96fa611ca6114d60d2a4f4e9164c33e46c127ac62ee500a2f1d027081b4b0f15c4cc50b6fa733f0ea196412bee691b8945294e243c87236b2fb114fab254b SHA512 a4bc406c2163ebaf00ba2b63466de9d2e5839bf28f011b85c7b0f89ba5ad1528511e524a3363ca58a90235a7976f99c05a0510c164b15993b80f962f4c546921
130 DIST firefox-60.3.0esr-zh-TW.xpi 541908 BLAKE2B fe6f381d3f2949f3132dc125df597c4e135347933c52b681287f00b3eec2cfb1eea963953a08c0ece5de8d276c06b388692a53bb77c54bfa195709e7a59340fe SHA512 6743eb9442e28ee924230bc8acf2dd52448532ce76bb0d6d8ea89b6e5f4d1aa4fa9388a2012636d16ae976526f154052d51340b239c04cc42ce991186d0b3b33
131 DIST firefox-60.3.0esr.source.tar.xz 268340600 BLAKE2B 5cf17a85b941d0f43bf3d714f289162cb0b0d979951cc0e1187163bc72be3504787cc4115f361c5331731a4481fd1fa8214d20245f08a4898442e964aac48506 SHA512 7ded25a38835fbd73a58085e24ad83308afee1784a3bf853d75093c1500ad46988f5865c106abdae938cfbd1fb10746cc1795ece7994fd7eba8a002158cf1bcd
132 -DIST firefox-62.0-patches-01.tar.xz 9696 BLAKE2B 4154162d2502378473d7dba37214a82ff146cb0be33f75c5c1bc9c1d344eba47e005df4b8512219f1b5467b5285405da284e29e86e2f773fe181c06c8cce6950 SHA512 f8a2469fc8b6094a44f396dbb87996a599ce6379c57507234d1ee87a82095809d4094fa89ce3a115dc3068c1a52056b4095941e9664646ef497c629f11c105cc
133 -DIST firefox-62.0.3-ach.xpi 446325 BLAKE2B b7722cf6f8a8de868fb9f283a7203d1c7d40690bb78b38f244c392714d7f232581d04c6e59f647135f8d315dca4ccd60c5340d1fa36671871eca6cb8e47445ea SHA512 eb79bec0b69b53cf1653d7498cc6a5701b1f898f89b90ae40a414201e460db5ed7141f0fb7032f5c212b1eafe2676a09b4954c5c4ce5857850c00ffc318cd019
134 -DIST firefox-62.0.3-af.xpi 432293 BLAKE2B 44780db3f4d9d6482dc48790620f128704d351bca138f0b1639c46e5840eb634d99406c5a64d924d6ef379297dfbd40eb8f06ab83cb18a317913d47b3d391f2f SHA512 8d16bf335c5ef120d72f1eb5a088860d0d25d3787f8e1099a40437658cb706d58aad64059bceea51aa958d64e1824227c43950ac6bca6e1df0cee4e60f809f2d
135 -DIST firefox-62.0.3-an.xpi 467499 BLAKE2B 7175b6470b157fa9a898d048c0b3c574a6ddd599c802adeb8c2d38bc473d58d521a9ccc7917824d3c56809d96da36e7b24cdba5229941e88f5dce475be9cbd07 SHA512 51d0cccdbc2f294fe9a4341c89f32ad3cd935afd84417f4f01f15090fc5834a3b386b9004ecb22db3a8abe83ea9c7b8b192f6106328b68b97df3dd4bae5d1385
136 -DIST firefox-62.0.3-ar.xpi 497996 BLAKE2B b164a06577240aaa09e8f37743606662178e5a506e3dd374800cb4b65f12710aaa83ef4d7d985f7a4a93c128c7263637bec6c825ef4baa6024f1a061f7192332 SHA512 c6c49171c78f311e000d8350885ccbbe9666666ceffc704840bbc598a70e7b39a597185194870545bc9abdc3f051ca47a64bfcfb14c129152c94cad873b40cc4
137 -DIST firefox-62.0.3-as.xpi 478315 BLAKE2B 49267e25a454feb4eaacd6785d385aa533525645029acf75ba8f4a3f82b1f71f272f1ba9a5687f1d2477b4eb4c754e4b857e5aa78026ec523028bd37fb2e3217 SHA512 4761ebbdbd908a29b3ce9509e1d5e1d3b10951bb78f4ad156d9e502580226e6d88ad5ccb70d4b689981afbe83ad95db047bd14c524897b9270636920e7558e2a
138 -DIST firefox-62.0.3-ast.xpi 455191 BLAKE2B a22f51f7573ceeaaea199f0ca760722e40066bc919a8c44b2e61312ba90c73514ff0fd587495a146ad60259e122eeef49c546e40b79f60e1cbcf07964e4e1559 SHA512 3d8c41c8f62926c09240fecda6c59a71ad58c2e6c25099b750fe3b9c7885a7eb4d2fc0cfaca6a1080b947b56df26e114299a99997e49730e369342cbc44726bd
139 -DIST firefox-62.0.3-az.xpi 477135 BLAKE2B 03293c53210257e89c5c905abcdbaee8331ed00b14862bdc5e7fdde8c230d8d7d335aed484defd0592bc0dde8e95589ec88ec5179a05b3598441cb6723c63eaa SHA512 40732afa8650e187efa769333dda574a1cc77dc8cd94c533e29029e8f919e0428dc23ff956bb8e39a2167489d54d05a888bc2e6642121c3d6c302b7e6539eda7
140 -DIST firefox-62.0.3-bg.xpi 524199 BLAKE2B 7cc8c0c88ef46001d36ceab58261b3758ebcf25800ca308a85086c78d5385737099bf436ea4d3d30e5973be4bcbf3207f57f94ac10234fe57f49a33b9c468b5a SHA512 ac6327f0956114596e79aaf145bba27813dab0a56689fd47e7fbb887942c1cc68f961a9094be83830b92ad4814ada2f91831ba409ac86c89f91700b0cbf3184d
141 -DIST firefox-62.0.3-bn-BD.xpi 538605 BLAKE2B 5b8e059dc4e610947bf1e9c143e87fb5c6f8efce0d59a7c59818fdb30a8cbe0b39599959f281dcb9123e05caf39854ff8c279c974df3f5f9d13c456192e32528 SHA512 3e0206b8ae2c0c9ef736646aa45b94d12d2f18f285cce826f4a3391fe8c8eee685a274cf67c335067880d1f4c95e41a124e1b8e8c5da582940e6ae86abd2388d
142 -DIST firefox-62.0.3-bn-IN.xpi 509953 BLAKE2B 2169e571fb1fbd17f88a9fe895ce564561a6a432874b0cbd2beb4feae4408928dc6c65bebee1dbfa7249e0780fcb2c2991dabf309177ca62e4d53a6c15a11ef4 SHA512 9c27baa07e824ae026cdf33ec702b47de29afd3cbbe6599706a8f13f1e2f1a73d6a42725bb511abac2164028f64e72d2b64fe11d18feb2790bdf9f77ce9024ec
143 -DIST firefox-62.0.3-br.xpi 464406 BLAKE2B 3e9f54745436eaa60ed872dcc0c0edeb40004ef1d3a3bede9c84b4e12bc479eeb04ec1c142d02f501f999a0bbbfd6f83436a46721e48f778a29f57853f6ab643 SHA512 f6b07034195faae1aa0d2413b7b4293fd948937d1439c5b9e76cbab00818aef898aae36d6f5023082232984fce7bfc0292e2a70f600e84d039246cecc2bf5e94
144 -DIST firefox-62.0.3-bs.xpi 466249 BLAKE2B abf2e1dca8cc0a4484ddd98a20e0325c622c627fe6f5519418c77d962562a6f9cbaec8d6cc4ce851b2ce27c6d9d59a490aae3c4f5728bafe4bed904233f4a571 SHA512 ebf626d49a3762da6fa1e3ea12073b2d3e02174a1cf2a4d1b5825a3ba05b9c2112adc8bd7997f058e46ba2d66655373c9ca7fd8b92b5f8700294a02a94538671
145 -DIST firefox-62.0.3-ca.xpi 470055 BLAKE2B 67af43041899cd1c8c127b5c75f6edba43f91a35ee2a9cd65142dab7dd5f8ac798090e04188854bec5d6ebcc7f3351a60e8d8d499b512f5bbabf372585c0ca88 SHA512 661ba8d03352fbae574c718076c3f5ad260a741c331e02bf2fb5e4add82c3ab8e61f3a441f40847272fd258537d6b36f7cd25bdd287bdb40d8d61ca37669feb5
146 -DIST firefox-62.0.3-cak.xpi 488840 BLAKE2B 9169fb32b2b432f86071376ef657fb09fc77e8fb18ed75f4682c63a51b30835085fe4c196f090b9d128982309e9101c8cb514739eec55da3bea970d924ceed91 SHA512 2b734ebc5ffa91d9a78ae4908d34d7c638ee323b8c4d8a5a2ed8f5370a3b47e04909331b9f8a3141b9248baee9fab1fec701d6548364ef1a4f794a248cd68ebf
147 -DIST firefox-62.0.3-cs.xpi 478354 BLAKE2B 22de5eb99ae94e741b6df4f085bc99024c7436998f4d959bada64d7fa90efc6077f8a16a8d4129ef5696b245bd9aa091e71aab2eb48f79ef17aacdf8e50858d4 SHA512 c82a959c0300ef01b7ef5001eb8c7adb65089200ed444cd7abdec62f00c9a12cbdbb209b29e828381c1c5768945d0d6d851ecb50d4b659d0715e62eec6a7508e
148 -DIST firefox-62.0.3-cy.xpi 468857 BLAKE2B 908235d7b594c7edf77eae004240ee26ef97199fe76bb3e8f37c38f0ca1aa97034c88bd615dbcc5e37b35a422cae83a568b04933f880b5314883b3520e7425d9 SHA512 3228f164fbebaf4272e2af778179a83751eb7ed5afcbefef739ad6a60da29e955117bc0456fd36c24b3036b3f95ce72bfe64ed131599e75925e6f9d78301007d
149 -DIST firefox-62.0.3-da.xpi 467290 BLAKE2B ad50b43550ba7714bee2fad72bfb0cfd4cae359c99dd92a94ed1715a57f500f24ee4513e9fac9599cf5865edbfaecfabe17b43ac82347d8da5ba57193979221e SHA512 8c9c48d3fb687bb5240f672968dec42f1b081592104dd921cf09102cccc06c4d662ed6032feace5d6d162544ad9021144f4efd1f52fe204a669fd199056a703a
150 -DIST firefox-62.0.3-de.xpi 475935 BLAKE2B 02d221c317406dd9f16c6b7a86d98589368c06ac1a411ead157cd3bbb22cca7e4157c1c6cb272b8f0f8f580453638fd0f457212a4c7284169a1d652a159bff1f SHA512 2f21533f5dc836a11d97db3856ae96e7725ea3d098e510a715eea8e5c572d7550d5be8afc733807641843d30ac4aa3442494d3d6205b837b7c8c7f7cacfc641a
151 -DIST firefox-62.0.3-dsb.xpi 488173 BLAKE2B 10c351cad7a73329657ebe36e1cc4c3fa50b4552887ff61a5560a9bea8ae1b668023d4538937c601ec6a68d14ede8fce75fe6a133091cf02a7251a27e4cbd637 SHA512 c39529c355521b5f28f11fd5f50acc48a4605408020cb5454d39e87fe98a1c8dfed45aa8d2dfd9b150b877f23a1296dd093e0c3fc3844a41193aeeaa22f5a050
152 -DIST firefox-62.0.3-el.xpi 546433 BLAKE2B a70227f90acf8826f72c6bd579ed497372d2cb391e2096ceece20aef830e5c5b58a704b40251baafc255e510ead78caf6451aba4ac8dfbc035acef2a05fa0949 SHA512 6e192e856cf370a49a16c2259d61bc22d9f2d681f56d49b72e68ec73ee72c0820eae95c82ded166c2b9d3ba73ed671b3d19089d26636e99c54184a6f97321279
153 -DIST firefox-62.0.3-en-GB.xpi 436177 BLAKE2B fb12520d027dfdf7681b4fb6b8ca9ca5314b52f31db8417c53d096fa27cf5f5cd8291e3e5cd72b4da31f05a17a2c80d157b0f01cbccec4b4fb26f4d73f761a92 SHA512 886333d113e94d63af08748ca0a599e8c2c05746de69297cfb30d020feed43bcbf5e4fa5327c940db5ecdddbc31738157c4b50b5ac57367f0096f106e99fa8e8
154 -DIST firefox-62.0.3-en-ZA.xpi 422871 BLAKE2B 0408a5edd61942b3613088b21871fb74c85490889d95623b25dd6bcc7e236b3f12f066677e0263a8ee02ed0f509c73ce047998d567c9f566661fdf2467903cba SHA512 40014af81a3bef8082e88102b84236514ecdc26bbf6a22a130beba5e5f12145492f557abacbdf072da695005ebc51de70bb8487cc777aa6c082b6ad1eb03639f
155 -DIST firefox-62.0.3-eo.xpi 466535 BLAKE2B fbaa93a513e1e464ca6a1f3c772fc17545a93e8458084bce869aae10a5befbcae5230ac515ce9dc6e5bd61fe253bc136e1491407fe2107d05e3c92fc38147ce5 SHA512 f7dbab432f6d48859115a46390681322f296d2a20daadd3d0a49def37194414b35d0b73f41485eb7636a43f27fee1a2b20e0d5b95ddcca582457b238ae2a63a4
156 -DIST firefox-62.0.3-es-AR.xpi 473522 BLAKE2B 783a8151664ebec02e9ee190ecb868f7e57a59ec5ea12c98f9cdea7ade8ab8ccbca2748222e5661dc272328363a2a150cc38fcf03f1d4ba0bf6bcd2051e5a86c SHA512 378477ff2b1d84653b8c0bb2483359b9ff7bd4fa7619aeaad18ab77286a82db647b4c41397557967599dc1b4a2f6560e49716b61aec16d7560e992197299926c
157 -DIST firefox-62.0.3-es-CL.xpi 473990 BLAKE2B 8d034ea71a81cf21f9441b8f00aa0056b62239441ff85f9dba0be23148b69b86333facdf01e7c92ae63e02388e86f2a591d03c4f6e83574305d446708d02fd72 SHA512 b64d123a9d7000320b98c563669d34a938de0ef9f9dfd2776348b1ed38b0f221e733d765473bc4fafd26f74e33db5adf73ed75985859d682595e48a1ac998908
158 -DIST firefox-62.0.3-es-ES.xpi 414987 BLAKE2B 45ef9e2a4baebc806b7380c33417ceadcedbd66311a1a1970a7a1e9d664880aaae89375cbb69ca466c7104b845ebddf8204a1a8c6f9aa5d702978f67a071a63c SHA512 9f8849f7977b245ae15e755315821b7487e988daf5bab3c4244df8643618fe5ebe10cfcc846d7b5783b55d4a2b283a15a9559cddb5aec7e49c7d83787207d08c
159 -DIST firefox-62.0.3-es-MX.xpi 477957 BLAKE2B 2edd11360258ffaff34f32c17847e7097a90d1e2a5fc0e888e029d641bd0ffe9f8539b56659287fd8a1b516459e80c829f953e95b124dfa28a556c4a6a1b12f7 SHA512 cbaf5b5dc4df636ce308cb1332a987eb44c1cc27673c5ad99c9bc66910bd896d503e92af867b6a3456956d3b70c997891283971190901dfcbb2bb7c48b4db43f
160 -DIST firefox-62.0.3-et.xpi 455377 BLAKE2B e5b98b9857319d673cac00c4195f76740b6cf1ca6b16fb7e7e22dede9ecc48aa4973d2b50bf9ff7742c7603861829c97db34fd9eb340507460693215757efb44 SHA512 6bdac58593cceb5e5f49a032482d7877857c67f2edd2c2da8fabdc80e7c2552a337cbc60bfe0439f062f901db8685e9f8b1c9e410d83dfbdae0fd9c0213b1a65
161 -DIST firefox-62.0.3-eu.xpi 465903 BLAKE2B abbccad102f65097b6a4e02dafadc6d75ec6ec83ea0b6cd8c3cef3b8cfedb9d0c3dd805bd37219dfbdc24eea1392d024a828db2992f67a7ca2c90bf87d373ddc SHA512 f54b3ab2508ef3638ee03c14575ca6f256c9c4310333577adb9a70198db4bd5b86feeac22c59e14cd2b750bbd6e7595b70317bbf2e597d3414a244c8988afab3
162 -DIST firefox-62.0.3-fa.xpi 514442 BLAKE2B d3b732e94b26f6816c86a31a2c680792f742ab5e99753b2fb049592e782d1e9c6273ed4de3c00825ae3afb6d593c51ae2b07b37d287125c445dc696cc0c4d9d6 SHA512 c1be98ab1590ea7000d0faef1f1ae8aafa2a7c925d8c621bc8085b433e8d957e8ee6689458683fa1ab6df38fd1329229cec41e474043a997e98273e2a00962e3
163 -DIST firefox-62.0.3-ff.xpi 459046 BLAKE2B 202a442fbc26ad5c54c39de75dfa14423141e61041056526bdbae4be4fcf3443fbf9b3e2dd4480e728f224454b1f0ac394cd086bed8324a5cc9f8b8c0cee835c SHA512 70bb37d4cf292bf3131870668aabb6ccca4ca96eb85cc72605b6b263304b2d8c041d1bd6b3977356c02c33c669413fe4373cfdde286a2aac3115ef016c15f181
164 -DIST firefox-62.0.3-fi.xpi 458677 BLAKE2B 7bf0690ff1683e06da4ff0c73a00c2789ca2ed491e7cff8d87b91243a502fd022117c378f9a2a6e2348315c27d4f64a4079077ca9108ce6331ae78c9cabaf117 SHA512 788d2d14f82c0134e15b341a56179a08ebf0dd3b1702a1d337f3faf31864bb2d9354329816beb430215503b7c2ee857aae19b3f4c9be38c763e18bae631a7a31
165 -DIST firefox-62.0.3-fr.xpi 482968 BLAKE2B 87dbef7e69b52c3c020588d3aa48ee4593d49fbb37660e70d9a230ad47a425789a5bfc4a3e8fe162814b14b5f23be13edfc9c0dc5f6d53b31717796ad38e988c SHA512 7db0be65c7eeb944b3ac1c2ddd4937b8728cf8a2342cacf5caca95182543cc398ab41454557d33a5b8743d190a7e852729c08e0d175bdeaf504993507bde0e0d
166 -DIST firefox-62.0.3-fy-NL.xpi 470422 BLAKE2B bd1b2754fedc8bfbb4ec08d20a941d6541514bef6ed50c817df6a820a1d66cfc4918507b3d4211037f4fc7b17d4bd2bc2f265fa0892f889f990a145f3fc92fcb SHA512 693064c9a81bd7c4d0aabed393a5c4978dd2ea1306441360d6c6f7e1f8312a94c475587dd2feb9924161b121648d1a1f2238f24492956dad74b6d19730300c07
167 -DIST firefox-62.0.3-ga-IE.xpi 472265 BLAKE2B 762f7f156fb1b505238db03ddc67eedb50bb1f7f5151f3a9274556578634181c5e5fb74b81dec8ef478ef9847d1b7290c6a149869e537fca10a19fbdb18b454e SHA512 4259d128b05d9412903401c8e240c309c656a24de0820befffcd60a77c94e22fd971a3bd31ac358e298819292d9f22714298800ca9663a814b70a43c88ffeaa0
168 -DIST firefox-62.0.3-gd.xpi 473970 BLAKE2B 9dea50da0b160eba4ac776e729ab41cbfc4f4cca0de822b652931412e9c8a6c61f61b142c1f78d6d63bea37ad2a37369049d8d451d51caf7fbb7a918674372be SHA512 329137fb59779263dc9fa7612af864a42686e3a494c81a000d3b0442c6a2b57a98a07a2a234a8ebfaf1bc4e797f0fb680634f8c937448bfcb516e5932bbc408d
169 -DIST firefox-62.0.3-gl.xpi 451816 BLAKE2B 85ddc2a190a6c91bee4a5f002050da7b7ff1b50e1528061c48a6fd32941735b6c643830d9209b094f97ba9ab5979f69b75560e997eefabd2bf0835103389f89e SHA512 6a898a8f80deef54d48fb76a13d90ecd687e3ecd53acba3d18e492559ec63d624d06633b5876a7126a69d42eb18756bc282ce86a3ebbe27c892a680a3bb4a966
170 -DIST firefox-62.0.3-gn.xpi 483149 BLAKE2B 535ace3a8bb655dff53e30d3116ef3c913964e5570732410fc0f60aeccee3d91c692738bf07cbe906f379f54e9137951bc3a7edfa641dcb6360a8f4ff436e719 SHA512 a1c94e52f881a36aa43841a2a197ad522b110f66d7055d88a84e3755afd941eb4e8e4d351120d68f03ebe0099c79c01397cb25695c8cc72c3da9cbe5119e14f3
171 -DIST firefox-62.0.3-gu-IN.xpi 539984 BLAKE2B 2672357f8ddc919f3448c87ff54f7c72f9f1a864ef271004847628d4fc4657ee703c1d6f0d97f934d0f0b84b8fd520706a2af20d305301ff634dbe799ca8dad1 SHA512 329f5308c615899dcd5c92b950b6b0162e45997ee1f5914ca5d920f3ae5d312a71e9b377f8cce38c9eae30c47b3c0cd5c912b1b3856d6f599efd7de78cbad881
172 -DIST firefox-62.0.3-he.xpi 484809 BLAKE2B 269748c0caa7645127745feac2c3a6a822d7f0084a794f0822b1de09131517ccc401f1a4b693a2aba0778249466d2154c4e64d4792cf276bf6bfa12dded618a3 SHA512 74f7c9ea2b1e3677b2db72aa095a78c17243bb9890f0a01b2be349513295d33dabf421373e44cfb6ab34c42080476a06a53213e01dda71e8330dac40afbbe2df
173 -DIST firefox-62.0.3-hi-IN.xpi 537121 BLAKE2B 3278a50efd70819821e15eb2a523574f056bb74f745027bb6aea216177104d9dbff606c1b2b1cc6f5c3aa59d590b2855c6417ba4621189ec511ee103a59b5344 SHA512 71c9c0bf91d7ac4b9fa0ef194ec86e6fc130cf2cda42681bdc265c6ff22cd8813dad7576ab5000264b10346d6a6a33675dd92902e4ac15c9daf82899d8ba627c
174 -DIST firefox-62.0.3-hr.xpi 459608 BLAKE2B 4b57920171717ba7ef30ff439b9cc5b8fa92791b5a88dd0f09552106dda7a39a143e2245d96172c5ff49422ab59f9f455fe1fe0da715d69d6fca1d05d04e6b49 SHA512 9e04eb814287c12cb490b3766498568d8bffce135a2aabed161dc9636c006f4bc95f35c95d769c044e7bbe059c3a92c5b6b41cfea7073aaa8158b847ec57baaa
175 -DIST firefox-62.0.3-hsb.xpi 488120 BLAKE2B f0849da6180587679facde1e170397e2717034a8c008421b4c988f61e0bef2e6e989c35bcb92612396d0982d694a9f720e91e8b14d87d9794de7d6d4c7e5de17 SHA512 0a944b415ea14ccb98ef5376911fe36f64a7c72f4a76a53b00e8e3f1e7c6024db3799a0f97c5aa28bdcd43ec8bae5942cf5283fa96438a448b70447b7d72be1f
176 -DIST firefox-62.0.3-hu.xpi 487428 BLAKE2B f5d53e55e355d1f8e4028cd7db565a250470eaafe36242defb794d1bb8cca03c150cedb8401bbb33c0dd36c0c99361a799b242cd9c0300653f1961cf2edde3e5 SHA512 8dad4828e2f270d1f8381226c974c632ec58f603028a350558351234e97fffb690ca9b50a68e0f82c2bd92c0cd32b107233df3f00bfea5f92526f8298520a631
177 -DIST firefox-62.0.3-hy-AM.xpi 518019 BLAKE2B 03dc18856fa0df24655cabde57ce0fc582b14fb2b77d3c5a02bb91fa0ab6f27b12292f88e25a57aea43ca72de28fca51540c433b6cda02e3774b5896bc6caebd SHA512 f613672f5b2d5da34d6b32832adb10d4c8841cb54570972d84e3d02fb16d99af182d75105dcf181bdf3b6eb1b072bd4c90f1bf5e1f19e6f8031e2efa0ebed293
178 -DIST firefox-62.0.3-id.xpi 458276 BLAKE2B 3ff19c62df09b34f3956f07c590fcb0d42aca156197ea227db11fe8a3b7d46e16ab96e79a3d7dce1aac28039b1b4205d5869c26e09a391f6c911ef51356a25d6 SHA512 d0f46596583a2f92ad3921e11cac0c6d970f38c98e4015ad17973a674d9bc5d1617cf3fe4e91e65239de4ad6035702dca48157e843a3150bd141f7471e46f7c8
179 -DIST firefox-62.0.3-is.xpi 459617 BLAKE2B a8e3bdbb7db3499b809ca1f43f2b153e16e07fd22519c926338f4d8ba9ff0284eca90f32a71bb208c1313e85c3270fe4a31186343be396bd54749c1584b0e8e9 SHA512 1c946d4fe58958a7589fc55781c5b11cba5ed7133df723af688efca52aa53226a64d812bd6685b06117e8c15cfa1465a8ae569288323253259e079e25251983c
180 -DIST firefox-62.0.3-it.xpi 347139 BLAKE2B 192f9f280e3bb33072ed4b7a2153b7cfe9b6c01c5e9e0ecb5ad7698fab8ed6380dd8b8cc8a76ea64e15f1e6bdb01e62ebcd78fba7a892a3b8541799bc89fd06a SHA512 02c2f89e9e5cd595b825a2239517333c47063e90e19dfc4505bacd8fc5d09f79ff8511129568895360b917192db01a78cdc1a970cb74947215dd3df7b0a7882d
181 -DIST firefox-62.0.3-ja.xpi 504031 BLAKE2B 9d80d68643268438cf93c7b1d0a8ce0c68f19d5a57053cf39520bf9600ac8deb971a20e89edfcf1fd5da564b26ffc284694d0a2c80df10aa143c47ad162f0710 SHA512 58be82999b4c42b0ab786d67b5f4cc4e63be8c84f4df227e4b94026b1e5c62a1bb9c2046c29a895caf3c086222e70b2e11d664babd1f259983e34d99436d3cf9
182 -DIST firefox-62.0.3-ka.xpi 503705 BLAKE2B af01b8875fd9438fd354dbabd13c6575456ed33a98189cf6db1c48af4d985bcc4c5f99193028fa737df4172d2dd10ed7bc96095046870a67bcddb5427c4733ed SHA512 0fe2988e2133093599be21ee9191b636c13e44ed1ed2fa859779e309b39614742ddb5ea0910890f2e237fe4e4c6b515fe83c809a20212e80248e7e17ca52af77
183 -DIST firefox-62.0.3-kab.xpi 478240 BLAKE2B 91f49b947cdbf0f0569ab5181e96f9e90bcb7a8231d3913f282f7a2736771d3af844eb30bcb20898f206383ac4e5e6f2914b233432aa8eef0569f1c5b0392b2e SHA512 337cd6267f282de4d18b23342018ff9f863a5c6b8c68a3ab63a551a859d3e780117fbe74edae50a92a75f2227bbba2fb3a2d0edb55dedda3d7f32e0199f2805d
184 -DIST firefox-62.0.3-kk.xpi 530654 BLAKE2B 147fc758e07a4f3b2b653e1fc12853273c954971e4e31bca639b109e182e860be4c754cd3c236dc6fbe40598e5dcd3bad9a3d1fd1c48c5259a31540294bcaf87 SHA512 54cf420717258954e219ce073fba3938ef959c7f4132bc621b0ef716d98e65c54345bdebce3f2584a5e6174fff44caa6c34550e8c8e4763e174626076470e15f
185 -DIST firefox-62.0.3-km.xpi 521445 BLAKE2B 3d62b7a3d3eba96f466c7ab6aa8aeb4de07201e046078f4d3dfcf216ee2c63c44f1c025db1941fb099218432964e5f4f2f078e8b7f325b494369c0bce28021ff SHA512 550670d9523b2a9d338586105081e5c150c2a0d2a9bd2c20ad670343760d28781c0fbb7bd56f3f88a9f9cf32f9e44279e7ad9c594a158769c631067db9d5ada1
186 -DIST firefox-62.0.3-kn.xpi 528103 BLAKE2B 60bfd6dd8a4cadd556a971dff5dc38b86e63e0ded9f2e884dad23f970daea299d2a07bc998d24dbb8ea8568d429d3ba681ba153d0155bfeb814559590dbf2cec SHA512 6398ebe1f32d927ad2c36487962f730efe8d1035c96b415218471975f5eadf379ccae5ea2bee8f694fd7b9164011b63ac12fd6647bdbb174415c27027ca4ebaa
187 -DIST firefox-62.0.3-ko.xpi 498342 BLAKE2B a1957b344169faab6d59366ff3eea2602d150ed71a1df918a64ee6f38541863b261bafaac491971dbf7435c11f9605d416b62abb28ede2b70141005ea1413e9a SHA512 65a3e637801588a77efd662cda3c0bbdb8de487e810f56d9323e0170623dc7da683cf517056784e0e839dc7908b2877e7ce8447d13842c7dde85620400703338
188 -DIST firefox-62.0.3-lij.xpi 463444 BLAKE2B 81a3245edb34bec066626629675d9d4d6e5c507fd7a09d6de80f41d5f4d43bc924f6b65e6d67f276dfb923a55676c0d63bae21ec9f603c48e19a153c921906ae SHA512 7bc2b72177a4be528f477d5fe9d36411baa1222bd92ef002465b957fbe3249a7a629eb39f76228964b071e4a9c21a15c722f1bdc42240c76a86966aabaa59225
189 -DIST firefox-62.0.3-lt.xpi 487650 BLAKE2B 20f5db09e5a7d01be430a69b63d234ee6d1dca8f6652238d3f65c17e2554cb4c978f3a64b67ca60b9e436379d262699c468b69c3d0294e7d2e49713a6efdb959 SHA512 dab852b7209f64a55c734fefa0238b7daa08b155efb5ff95a88a347164a06f58d55f1bd049a516309a724627ffd4329b021d473d29350e323713e62138e68101
190 -DIST firefox-62.0.3-lv.xpi 475710 BLAKE2B 434c2ba0267f7ccb1e6bd8d2f2efcc0e94026400254bdea320954408c4bf2bd9dcdff1e93ad43f32335a04777b1c9f2e513fda678b713e10197f8ea142b82172 SHA512 a887f82cac85051e599e5f728c7de908cc003dd9f0f3fb9ad838496cdfbaefb4151b5dec5f727aaa517793c6613b6ab7d3e84c8620f5654606dd7e7887ceb7f2
191 -DIST firefox-62.0.3-mai.xpi 494726 BLAKE2B a85a1b071a206d2918327e8f293cfd5b57a9872563fd2eba9a7e2235dab2655a8b5d63061c10079deaf75c5e0d0bfec4d246459d6e620cd48b6c1024e54437c4 SHA512 24aff560e303268148680c046413e067e64118826fedc426eec5742afded0f287adee35d156f617cb5ce22706f444d487af37eb7add691b34fccd467ac34dae6
192 -DIST firefox-62.0.3-mk.xpi 457532 BLAKE2B 622fd27e39ccb70a8bca5ea0d0444ad935ae342424cbdcaa7bad5db32f4bc9d27839a2778127a6d1f60eaf6af76f2452cd253c2a3c571ecd593d7ce2e1467fec SHA512 32d03bebe02c7f85cbea47970d6ec1ed72792ccafb9ead5f7fe74fca4ed722320ecc30c95b73ddb4338f1b9eae391939ba6ca60fb507b42304f092e045f2641e
193 -DIST firefox-62.0.3-ml.xpi 538825 BLAKE2B 57cb6512a6e36c08695c2f284d83cc9ddbed49f217dffd2b05c1f85661d36686fd4853a3dea95cc31ede5857026638a4bff3d735b70a5546b150fbb81971c68f SHA512 dc43cbaaf9f40b8b1b526a0301341f7e84eb78eba06b3450dfacd4d914ea31af47de4aae16dfe7dcb0e2f5653b80cfca0e31707fa77c8b8c6da456481340417f
194 -DIST firefox-62.0.3-mr.xpi 530350 BLAKE2B db928dfc0dd2a00b6093f674ab6fa4069f29837edb292167374f9276128c3e0efc68176d9500de622317376add496f95fdddf9cf4ed8dc8eb91eb7aabf2c0d14 SHA512 7f6bae467a939ce3bcf2a7d0b6339a03dc34815dca87f13359f54e615142414125da896f348bd7e9cc20cbb21b714eb38393ffc7614afc624801c77025f91133
195 -DIST firefox-62.0.3-ms.xpi 459916 BLAKE2B d285c47cd1c56c74009570e2be8844c4295093554bf202b8fbfc11eb6c72d3132d8119a1368f4266e1e2b3d0937cd9c8af21fa4ad0b3fdeeca7b495367ac9055 SHA512 58f7a3560616b6c69a6d6826ab4ca9c4fcb15bf9333887a8858f47135bc2a0881fc375a2c8c821714867dfbf9be02e64be848428463c1a8d6e90ded7fe16ef6d
196 -DIST firefox-62.0.3-nb-NO.xpi 458931 BLAKE2B b9bbfa8952788ebdfb1d2470ed95754c3eb14715e0dd73318099acc66f3a7e720bcde6a651c01e4b9aae9edbddd2e7b9af6e193eb10f169d6517af23836ef3e9 SHA512 b282a8177051cf803c9924ba0501b06f97d3d82fe98a3074c7b0fd72dfb1d0f548f85abaaa75d3c0613d1393c388279c0848c2d62445270d42a71f401d9400ef
197 -DIST firefox-62.0.3-nl.xpi 459511 BLAKE2B abf24bc016d93a6e41019f8fba737736c497047abc36a1b77f7a005751663e0da86721f09f7addd629022793d23c5e3da8058e63daa974aba16032f037296ca9 SHA512 b30723296f2c3d5aeef86702fe3231ea6b712e03bae498d2f34e730ca210ea5c0177db5d745db687ac9452ae7c0e980119a4d9f0577613944953aee64101a656
198 -DIST firefox-62.0.3-nn-NO.xpi 457054 BLAKE2B 55c46965787bd4811ae019144379db44c63bf3e610645c9b79881b7985ac2d98bcce5d645763154bbec17a4301b4991c83e26819c27b29c932c0696393760878 SHA512 80a5d23058ee70f1950405b58f106cc389a2a22b19079cb7ec9ce0a9875b95888d745048d44989ce59bfbeda78b7f66052269d36597b37df29148f73daa2a046
199 -DIST firefox-62.0.3-or.xpi 485373 BLAKE2B b7646941c6ff48aadec2080b396f9683942aff763cdd211662c64ef60637cc5d21e497897e1220224aadc51715f5cb685d6e2a1916de2d6eba466aa37ae1ed93 SHA512 1a553762f5d24b0aa258ea65644c1bef6041ed32e8ed8ed2a51c03a894c7505ed27994aa91b8114daa3228371e7ebabc713c454ece497ed183de5b36e149317c
200 -DIST firefox-62.0.3-pa-IN.xpi 496915 BLAKE2B 16a3fe36573ccae0e433d0617c193678b11fc9f2ffdf424d04f616d86ee94343b6a12e8a834f8ccd003ddb47d406d80312108664ebb62c2825307583a9db1c16 SHA512 b963d6a0d961557fbe3d35c14a321240a4d57474302672a670f71847ef45440b7373eff4f6820e111329d39383425f97b329aebcc7f729a56eed4ce6de22c4f6
201 -DIST firefox-62.0.3-pl.xpi 370890 BLAKE2B f7a91525896804d3e67a257a399d9e51b403220ac017ab36f55bd695f82506de2d781f70ba2cf55136e8d4563740a32da3b7648a9fbef668f604b311b8831055 SHA512 ab9a5a034f47af378b68b9511bea7aa8233d21f2e37dc087c30944f52c81eec29f114bf5a54238ab686b805f7a85bc5f76449bd2b582a1b4097ff886def378a9
202 -DIST firefox-62.0.3-pt-BR.xpi 460872 BLAKE2B 9984103ca60aa26191282ecee0281c41b2d345e40be6eb20a493d0aa75df8a720e1a2e80bfad0bc550780cc5c2512d1a0a90fb0a7e60e96c8754ed317a5f1fbd SHA512 7aa346872cb29ff0be1f05c8653079e712ca6757532bbfdddc10714e8c519e3c7a1eee10b00579d70f8472d48d228e1abe0d4172cee76490177f80684c9843e4
203 -DIST firefox-62.0.3-pt-PT.xpi 473528 BLAKE2B ee93c1367bbcb55c2c8ef388282043156163bf5dd90e6362e142af03d6bde93334859d82659e30ab2381791d1753ae7674062cfbe01712f4d396525a78a39a8d SHA512 cf1f1036f05763269ff759c5967d53ff93a4b2da8d4f6980c78406e519b6957be3b94c71a70e9d0323019d4183accc29b81e47ab08221b8a75ae84297aee9778
204 -DIST firefox-62.0.3-rm.xpi 462474 BLAKE2B b093695ade461a541f9d4f60a9f09f6904691ab84767cf314853712fb0006f84ff53f42a49f8e0d04babbba018d77e89b0d6f11112fe01b035583d92136f6d5b SHA512 dd400340cd22a38d20d9fe70d2f8b1de98fea3f3e91116f50b801b8fabbb8c05f30a9771ab621da92c77b6dff54379b0b684d9390d6de92bbfab44de6ab67d87
205 -DIST firefox-62.0.3-ro.xpi 463410 BLAKE2B a3bce065ac2d0369c3d264f933af89b8e97ca73355cee0fff7957efdaa2fd753b1271b316ad746c1c27005fc5096b04fa408e9aaa96857a6579c205c7fd7efbf SHA512 6faae43f4c595a38162267769a6e95b72def73c76176bbf9deb412f513a285830fb9a3fd68b675e043986595934e81068ab2ab5ab135b544a90a528abc73307d
206 -DIST firefox-62.0.3-ru.xpi 539883 BLAKE2B 2b373c5cd08e34b435d476fdf24a5a62512433e8fa8081f543171b2c29fb09f683171fd2cb7b9a738b2ae88d18bc7933ea868bf4d38568dca0bcc7a8de690d29 SHA512 61070ab84255daf4fb15060fb8b449b2f72050b30a359865b73810a1fda04da0cbada58e9542f28487f4d5a61313895b22498f610ba9f208369ee87ea9933d56
207 -DIST firefox-62.0.3-si.xpi 487601 BLAKE2B 1c342c1744d1fdca0eda79f469cacd9f95c0261d5d1c918c530a97821f722035cb01297863bf320064fb6f2948149fe5c36a372583ef11f38b9686f1d5622b61 SHA512 0c8f9c2860bd85c4fd0648049d75dc789f2a3b813876383309c84789e5f5c457187923cea3143b9bdb5bb2e05e7aadd94e804063249d8b28d8d1d7d275a00ec0
208 -DIST firefox-62.0.3-sk.xpi 488135 BLAKE2B ebc75309a6c7f288a6b0ed90096cc086b94465110ba12f1a58e2474cd8e89f7a36b7fc8fac166970d27f91d04007f0b3d7af10c3c2653314da54462e142e29bd SHA512 7d7114ddc7ee74f97019be69844f978f5a54480aa7a14880ec9017cc0ba18f11b8a42f02f057b53fb8171aeef05116dada458650bdf286fc07ed1bfb358d1527
209 -DIST firefox-62.0.3-sl.xpi 468413 BLAKE2B 021dee74eaa217a2c8e5dd7a21b4b2b17a684bb9dfe175e9eb932ca717cd0d6fbac2fa63269ab8e45fb660a934b3502d33d0e120e4a41509013fee3ee8cc71d6 SHA512 884a543d205ff86abc6ad200a82d9585c5e174ea80e7c1f322567061f42c38002ca5b28f70e1fde398c0ed2df47b7fcf9bc70ca8c482a4cc2761efc312176fcb
210 -DIST firefox-62.0.3-son.xpi 445942 BLAKE2B de503bfbbe8d9b9e158c8c32d8bb497431142e44270f8b7afb3a3e82f48e80aecc8fdb35a45d71da18fd142df62a9a2d508732065afe95a47059cb1bec9f5d52 SHA512 5da14a162b64528560c55a2d046491cca79d9de928a16aa95bc3a805f7202e4714001a32452655f414badd392268dc17dd6ed4af8b843dd2d924e42c6742c687
211 -DIST firefox-62.0.3-sq.xpi 475527 BLAKE2B ff434796651224a3bca8bc8696b1b44d1cb85f8ccdd3b18ce37a570c02d99235d9b09bf5330e2ced15593b8e28fef462bffd953f44fdf31c4b2d37be7cc984ef SHA512 25959f4d2ab19bba10070f411eacbe0aad8d6da2e096451e8db3a92b100b37ac082b59b19b5796d81477ed21a021ba61675ffd2e529cefa029f9280b6a512293
212 -DIST firefox-62.0.3-sr.xpi 498808 BLAKE2B 2f5e8f9c975643085fe5e256baa28721c709f709515bab167f4914c5b8d7c9921228f51ae1594ff09d23e3604a831f3e3534b5a011ff33db5cd9f88c79000119 SHA512 89b3cdc133a26a63b476df2a1c06b0fe1bac8eac8f5a6e4921d626d7905053121c13189196790cd31a3e175126eaac868ceb49c317f1746888fc28e15fb5b4d5
213 -DIST firefox-62.0.3-sv-SE.xpi 469502 BLAKE2B fd316fcbdd579cfac3735396bb2247350d5eb72282b1c03ac2d2ded744b14dbca5b4f6f19d0fe75747e1efc8f8bf5419c1c8a9ed4935aa0d2b6275a1e8b9f13c SHA512 d0f08048ccffdbed2987908b9e22afb36bf42bee957ecfd23245316f6ce2dffdc20b05dce982999cf31014ede618d83bda7e04603d23db00d8cf92b6cb70cecd
214 -DIST firefox-62.0.3-ta.xpi 526475 BLAKE2B 8c5c8d1862d6123bb804101ee9b1b8763600caff7c9ccafa7151ce8d037f8c7e2f0a76a34344574fb56181a79fcfe15537df5b35d4244c9a62bd66c589eefb5d SHA512 56a655b014be8c7c1df9054fe1ef065a8250248b1178022f3bc76d2d72f68a397ada668622e681d89ee73db6e25d3bc131d0812d90e08da306dd968fc6b8b5b1
215 -DIST firefox-62.0.3-te.xpi 536779 BLAKE2B 59d12c2cddbf76f7f154cb86acc7db05b35c198711d6bb4058c0da1e7376a650226f8c940bdd176a2c14ad7fb553ccac8d1ae2a58a9bb9755441c9229bddc9a9 SHA512 21c380a6c2c75ec2280ff8f759fd6b7f37a70aecc21bb64e357a1704a88eae6dba44c22209d48f76dbb75d5f243aab4e420af0518c49a462339d5093bfb1d557
216 -DIST firefox-62.0.3-th.xpi 507128 BLAKE2B bc671a33153c23688562ce77c10e0f1be25ac4b632165d4ff4b919bbc208e74f4bcab3992c65913ac96fd91874dfdfb5483725a66836d5d65adad35217ef99af SHA512 8815ec800faecad51296220179cbcbc6906c781b2b986cbb7dfebc8624211bb1146de1c44090218f2df1ae0eda5a5039ad08432d913081067a0bcc12851d50db
217 -DIST firefox-62.0.3-tr.xpi 477275 BLAKE2B e25948064e0f8a4f1f8476fdacc96c3467631743c068c3b80ad30ed5c9503e64069ef073944a0285e59e56cab63759aebda3751cd115dd5c120626e26e52bf18 SHA512 371be3fa55a14f46960a2e4d0fb349908c2c9bb9347868e1475ae57d233b4cc0d033e4366993fa3c49306765fc6c86b45e9015f7f7b74751ee99006b1f922052
218 -DIST firefox-62.0.3-uk.xpi 532597 BLAKE2B 91c44cdb09bd1f61356de74c6f5525b032009f55f5d6faf3a62226d824c0268b7f348827801198a0d325640ac42f852980ced2d08d6c835ddc6f2f180b242f3a SHA512 4f7460f81a6dd5428b4af3325cc4139b13af7ceaf485998ff156d30a962ed90fc093235b245aaca6e6371ae867aaa4175bdfd5de66edd6778027865fea9ccf07
219 -DIST firefox-62.0.3-uz.xpi 457999 BLAKE2B d715d38da8741a8850a2c186bad4bf741e8eae8e023d14c8a209e71480a90a55803530417fc0179d2c135ad5fe22daecd389a97889cc2d1ecaed211f6eea08a1 SHA512 e465ea3ef0c38b644cef099bea7fdb5e410c877a9eec8d153c750bebee5aad3e41bf1d7a1cd12f08d6c3587f575bf5bf554babecc35b5fd7a186280ec65b5a0e
220 -DIST firefox-62.0.3-vi.xpi 478333 BLAKE2B 5c492017759cba46a69b209a9b95f130a4749f2f25f347fd803763200552ff53f6badbeba082444bd37a4c3d53dcf3404a71811390cc096a145d62376aaa89b6 SHA512 d560446571fa3767af03f4e857c26b7caa59307961e44baccc82647de9395187321b8ddb47f854dc054475aa90d874fb70b9cba3c3fbb925bdb5ad61f67a982c
221 -DIST firefox-62.0.3-xh.xpi 461205 BLAKE2B 38682f7f0fe4bb99b54c05b0e042e66bb4932d6c289483a322b4d2bf25364bc7b676855ad4a0c5d68828b26907302a0bd7f4abeb09c54ab03c574f3e73758e1c SHA512 1dd1b16e9dcb468306a34b3d8b60bd1b1ab0c942d82c185a9caa1d33da3f32fe479fe548970de0799556b89db370a9522cd76558f4d0e2b15573eef9a88da435
222 -DIST firefox-62.0.3-zh-CN.xpi 491488 BLAKE2B 0540afcf3de006d39b8065335a2470245da51b18402dc51a1d84f047f57d7c0ba12b4c8a0c55cdab33fa1b82d158844e4c9f0e7073f309a486842c29b8dd3574 SHA512 4b1fb095b0f120b40cb72922df2d96e95eace516c4f18d311cabdcf1654110d7d8be588b4949f0918117d5fb72a3b09eb263f09ddca676822745d19daedb25ec
223 -DIST firefox-62.0.3-zh-TW.xpi 494524 BLAKE2B 491437706ecf92a563e79735ea7ddd91d60b177cd34f754ed40f54f2a130c307f0ae4f62665fffd56efb00da4ead24ebfdcf926d079e6fbb863e89d26ba3dc3e SHA512 e3beb785228264299b777724b19d98ee5ff40916a6f7fccf96b95e7040ac491afb9ddb48ef484053908b58edc8874f43c055bbbeb6937d7b10b70fb8c40200c3
224 -DIST firefox-62.0.3.source.tar.xz 259531444 BLAKE2B 94dc812e288054f230ec0faae44155e6a9d5e72fc5bcb78341d61f8391d17d72d3731c7fffb66c2a59cb572f8b18458c5fbabaa94779d48b5660db245aedba14 SHA512 487bb7791284367158c79cf7918fecf3d598627a6416e679aeb5d22626089aeffe07762fa2389819ba881c90ece1c5a83cf2d85b2def15b8d5ba0ed1c498b527
225 DIST firefox-63.0-ach.xpi 455084 BLAKE2B 4dc0d05391912e97e6d91529882d3c9a5fcbb1f5ce5a6dafe39b4d2cb12563fbef45acb2b4763b7de42aafddcb0eb89d4d125469efe01a090c7abe3d855536d0 SHA512 0006110f7e5dc5d96c2d63799b9177de1109c5a7d34847187a29106db04d2846025241e9e13cbc88ec1ee8e1f62a498ef9672b73a0620d801e14ecdb2dd33ba6
226 DIST firefox-63.0-af.xpi 437912 BLAKE2B bf8d3b20c37801d6f9b05c5bd352fd868ff58c953f75ed349d25d5f56684825e9567794b114174176b6d03afc5e1aaf57f01a717aecd39716484334a702a5a8d SHA512 ddf2b50bd8b867b66da2c7651e51926de646b5bc645cd5fc4e0a88667ed25106468489e0398da22ad9047eca3296ded7c144aaafd0f6f5a214e48f53d73d2465
227 DIST firefox-63.0-an.xpi 474545 BLAKE2B 78044ddb72b3db1516b82edd44659603f2b9aeb494e222cf85860a0aba0008b9b6f9ecbcb457a32b099a8d517b4a61ea719d3a50a50049f9cca8696441552cf7 SHA512 186896321eeefad49a0240b0a9e94d5ba8e48a544aa69348a89843cd2c4045c05017def025a1bfaaf3844bb29422509a877bf51575891d2274ddc9a1f7b54fd9
228
229 diff --git a/www-client/firefox/files/bug_1461221.patch b/www-client/firefox/files/bug_1461221.patch
230 deleted file mode 100644
231 index 8ffa42c3eaf..00000000000
232 --- a/www-client/firefox/files/bug_1461221.patch
233 +++ /dev/null
234 @@ -1,36 +0,0 @@
235 -
236 -# HG changeset patch
237 -# User Gregory Szorc <gps@×××××××.com>
238 -# Date 1526410966 25200
239 -# Node ID e4ce7b97291627f2186dc23be0dadd3c56dfe938
240 -# Parent f288a2c9c4390898a17ad9f964218b52b87d8028
241 -Bug 1461221 - Account for psutil.disk_io_counters() returning None; r=mshal
242 -
243 -Apparently it can do this.
244 -
245 -MozReview-Commit-ID: 6gMTGtcRAw6
246 -
247 -diff --git a/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py b/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py
248 ---- a/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py
249 -+++ b/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py
250 -@@ -60,16 +60,19 @@ except Exception:
251 - psutil = None
252 -
253 - have_psutil = False
254 -
255 -
256 - def get_disk_io_counters():
257 - try:
258 - io_counters = psutil.disk_io_counters()
259 -+
260 -+ if io_counters is None:
261 -+ return PsutilStub().disk_io_counters()
262 - except RuntimeError:
263 - io_counters = PsutilStub().disk_io_counters()
264 -
265 - return io_counters
266 -
267 -
268 - def _collect(pipe, poll_interval):
269 - """Collects system metrics.
270 -
271
272 diff --git a/www-client/firefox/files/firefox-60.0-blessings-TERM.patch b/www-client/firefox/files/firefox-60.0-blessings-TERM.patch
273 deleted file mode 100644
274 index 975e0cf6fe7..00000000000
275 --- a/www-client/firefox/files/firefox-60.0-blessings-TERM.patch
276 +++ /dev/null
277 @@ -1,70 +0,0 @@
278 -https://github.com/erikrose/blessings/pull/137
279 -
280 -Fixes: https://bugs.gentoo.org/654316
281 -
282 -From 5fefc65c306cf9ec492e7b422d6bb4842385afbc Mon Sep 17 00:00:00 2001
283 -From: Jay Kamat <jaygkamat@×××××.com>
284 -Date: Fri, 24 Aug 2018 11:11:57 -0700
285 -Subject: [PATCH 1/2] Fix error when TERM is unset or improperly set
286 -
287 ----
288 - blessings/__init__.py | 9 +++++++--
289 - 1 file changed, 7 insertions(+), 2 deletions(-)
290 -
291 -diff --git a/blessings/__init__.py b/blessings/__init__.py
292 -index 98b75c3..3872b5f 100644
293 ---- a/third_party/python/blessings/blessings/__init__.py
294 -+++ b/third_party/python/blessings/blessings/__init__.py
295 -@@ -94,8 +94,13 @@ def __init__(self, kind=None, stream=None, force_styling=False):
296 - # init sequences to the stream if it has a file descriptor, and
297 - # send them to stdout as a fallback, since they have to go
298 - # somewhere.
299 -- setupterm(kind or environ.get('TERM', 'unknown'),
300 -- self._init_descriptor)
301 -+ try:
302 -+ setupterm(kind or environ.get('TERM', 'dumb') or 'dumb',
303 -+ self._init_descriptor)
304 -+ except:
305 -+ # There was an error setting up the terminal, either curses is
306 -+ # not supported or TERM is incorrectly set. Fall back to dumb.
307 -+ self._does_styling = False
308 -
309 - self.stream = stream
310 -
311 -
312 -From d885df78c6f931abf3259343aaaa897e16c8cba1 Mon Sep 17 00:00:00 2001
313 -From: Jay Kamat <jaygkamat@×××××.com>
314 -Date: Sat, 1 Sep 2018 13:20:32 -0700
315 -Subject: [PATCH 2/2] Explicitly catch curses.error
316 -
317 ----
318 - blessings/__init__.py | 2 +-
319 - 1 file changed, 1 insertion(+), 1 deletion(-)
320 -
321 -diff --git a/blessings/__init__.py b/blessings/__init__.py
322 -index 3872b5f..fdceb09 100644
323 ---- a/third_party/python/blessings/blessings/__init__.py
324 -+++ b/third_party/python/blessings/blessings/__init__.py
325 -@@ -97,7 +97,7 @@ def __init__(self, kind=None, stream=None, force_styling=False):
326 - try:
327 - setupterm(kind or environ.get('TERM', 'dumb'),
328 - self._init_descriptor)
329 -- except:
330 -+ except curses.error:
331 - # There was an error setting up the terminal, either curses is
332 - # not supported or TERM is incorrectly set. Fall back to dumb.
333 - self._does_styling = False
334 -
335 -
336 ---- a/python/mach/mach/logging.py
337 -+++ b/python/mach/mach/logging.py
338 -@@ -93,7 +93,7 @@
339 -
340 - def set_terminal(self, terminal):
341 - self.terminal = terminal
342 -- self._sgr0 = blessings.tigetstr('sgr0') or '' if terminal and blessings else ''
343 -+ self._sgr0 = terminal.normal if terminal and blessings else ''
344 -
345 - def format(self, record):
346 - f = record.msg.format(**record.params)
347 -
348
349 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
350 deleted file mode 100644
351 index a8325bc745b..00000000000
352 --- a/www-client/firefox/files/firefox-60.0-do-not-force-lld.patch
353 +++ /dev/null
354 @@ -1,262 +0,0 @@
355 -https://hg.mozilla.org/mozilla-central/rev/e8c173a632a4
356 -https://hg.mozilla.org/mozilla-central/rev/dbeb248015cc
357 -https://hg.mozilla.org/mozilla-central/rev/de7abe2c2b3e
358 -
359 ---- a/build/moz.configure/toolchain.configure
360 -+++ b/build/moz.configure/toolchain.configure
361 -@@ -1331,10 +1331,6 @@ def lto(value, c_compiler):
362 -
363 - # clang and clang-cl
364 - if c_compiler.type in ('clang', 'clang-cl'):
365 -- # Until Bug 1457168 is fixed, we have to hardcode -fuse-ld=lld here
366 -- if c_compiler.type == 'clang':
367 -- flags.append("-fuse-ld=lld")
368 --
369 - if len(value) and value[0].lower() == 'full':
370 - flags.append("-flto")
371 - ldflags.append("-flto")
372 -@@ -1362,8 +1358,6 @@ add_old_configure_assignment('MOZ_LTO', lto.enabled)
373 - add_old_configure_assignment('MOZ_LTO_CFLAGS', lto.flags)
374 - add_old_configure_assignment('MOZ_LTO_LDFLAGS', lto.ldflags)
375 -
376 --imply_option('--enable-linker', 'lld', when='--enable-lto')
377 --
378 - # ASAN
379 - # ==============================================================
380 -
381 -@@ -1566,7 +1560,7 @@ set_config('CARGO_INCREMENTAL', cargo_incremental)
382 -
383 - @depends(target)
384 - def is_linker_option_enabled(target):
385 -- if target.kernel not in ('Darwin', 'WINNT', 'SunOS'):
386 -+ if target.kernel not in ('WINNT', 'SunOS'):
387 - return True
388 -
389 -
390 -@@ -1578,21 +1572,40 @@ option('--enable-gold',
391 - imply_option('--enable-linker', 'gold', when='--enable-gold')
392 -
393 - js_option('--enable-linker', nargs=1,
394 -- help='Select the linker {bfd, gold, lld, lld-*}',
395 -+ help='Select the linker {bfd, gold, ld64, lld, lld-*}',
396 - when=is_linker_option_enabled)
397 -
398 -
399 - @depends('--enable-linker', c_compiler, developer_options, '--enable-gold',
400 -- extra_toolchain_flags, when=is_linker_option_enabled)
401 -+ extra_toolchain_flags, target, lto.enabled,
402 -+ when=is_linker_option_enabled)
403 - @checking('for linker', lambda x: x.KIND)
404 - @imports('os')
405 - @imports('shutil')
406 - def select_linker(linker, c_compiler, developer_options, enable_gold,
407 -- toolchain_flags):
408 --
409 -- linker = linker[0] if linker else None
410 -+ toolchain_flags, target, lto):
411 -+
412 -+ if linker:
413 -+ linker = linker[0]
414 -+ elif lto and c_compiler.type == 'clang' and target.kernel != 'Darwin':
415 -+ # If no linker was explicitly given, and building with clang for non-macOS,
416 -+ # prefer lld. For macOS, we prefer ld64, or whatever the default linker is.
417 -+ linker = 'lld'
418 -+ else:
419 -+ linker = None
420 -
421 -- if linker not in ('bfd', 'gold', 'lld', None) and not linker.startswith("lld-"):
422 -+ def is_valid_linker(linker):
423 -+ if target.kernel == 'Darwin':
424 -+ valid_linkers = ('ld64', 'lld')
425 -+ else:
426 -+ valid_linkers = ('bfd', 'gold', 'lld')
427 -+ if linker in valid_linkers:
428 -+ return True
429 -+ if 'lld' in valid_linkers and linker.startswith('lld-'):
430 -+ return True
431 -+ return False
432 -+
433 -+ if linker and not is_valid_linker(linker):
434 - # Check that we are trying to use a supported linker
435 - die('Unsupported linker ' + linker)
436 -
437 -@@ -1602,13 +1615,34 @@ def select_linker(linker, c_compiler, developer_options, enable_gold,
438 -
439 - def try_linker(linker):
440 - # Generate the compiler flag
441 -- linker_flag = ["-fuse-ld=" + linker] if linker else []
442 -+ if linker == 'ld64':
443 -+ linker_flag = ['-fuse-ld=ld']
444 -+ elif linker:
445 -+ linker_flag = ["-fuse-ld=" + linker]
446 -+ else:
447 -+ linker_flag = []
448 - cmd = cmd_base + linker_flag + version_check
449 - if toolchain_flags:
450 - cmd += toolchain_flags
451 -
452 -- cmd_output = check_cmd_output(*cmd).decode('utf-8')
453 -- if 'GNU ld' in cmd_output:
454 -+ # ld64 doesn't have anything to print out a version. It does print out
455 -+ # "ld64: For information on command line options please use 'man ld'."
456 -+ # but that would require doing two attempts, one with --version, that
457 -+ # would fail, and another with --help.
458 -+ # Instead, abuse its LD_PRINT_OPTIONS feature to detect a message
459 -+ # specific to it on stderr when it fails to process --version.
460 -+ env = dict(os.environ)
461 -+ env['LD_PRINT_OPTIONS'] = '1'
462 -+ retcode, stdout, stderr = get_cmd_output(*cmd, env=env)
463 -+ cmd_output = stdout.decode('utf-8')
464 -+ stderr = stderr.decode('utf-8')
465 -+ if retcode == 1 and 'Logging ld64 options' in stderr:
466 -+ kind = 'ld64'
467 -+
468 -+ elif retcode != 0:
469 -+ return None
470 -+
471 -+ elif 'GNU ld' in cmd_output:
472 - # We are using the normal linker
473 - kind = 'bfd'
474 -
475 -@@ -1627,13 +1661,21 @@ def select_linker(linker, c_compiler, developer_options, enable_gold,
476 - )
477 -
478 - result = try_linker(linker)
479 -+ if result is None:
480 -+ if linker:
481 -+ die("Could not use {} as linker".format(linker))
482 -+ die("Failed to find a linker")
483 -
484 - if (linker is None and enable_gold.origin == 'default' and
485 - developer_options and result.KIND == 'bfd'):
486 -- gold = try_linker('gold')
487 --
488 -- if gold.KIND == 'gold':
489 -- result = gold
490 -+ # try and use lld if available.
491 -+ tried = try_linker('lld')
492 -+ if tried is None or tried.KIND != 'lld':
493 -+ tried = try_linker('gold')
494 -+ if tried is None or tried.KIND != 'gold':
495 -+ tried = None
496 -+ if tried:
497 -+ result = tried
498 -
499 - # If an explicit linker was given, error out if what we found is different.
500 - if linker and not linker.startswith(result.KIND):
501 -@@ -1644,7 +1686,7 @@ def select_linker(linker, c_compiler, developer_options, enable_gold,
502 -
503 - set_config('LD_IS_BFD', depends(select_linker.KIND)
504 - (lambda x: x == 'bfd' or None))
505 --set_config('LINKER_LDFLAGS', select_linker.LINKER_FLAG)
506 -+add_old_configure_assignment('LINKER_LDFLAGS', select_linker.LINKER_FLAG)
507 -
508 -
509 - js_option('--enable-clang-plugin', env='ENABLE_CLANG_PLUGIN',
510 ---- a/build/moz.configure/util.configure
511 -+++ b/build/moz.configure/util.configure
512 -@@ -19,20 +19,13 @@ def configure_error(message):
513 - their inputs from moz.configure usage.'''
514 - raise ConfigureError(message)
515 -
516 --# A wrapper to obtain a process' output that returns the output generated
517 --# by running the given command if it exits normally, and streams that
518 --# output to log.debug and calls die or the given error callback if it
519 --# does not.
520 --
521 -
522 -+# A wrapper to obtain a process' output and return code.
523 -+# Returns a tuple (retcode, stdout, stderr).
524 - @imports(_from='__builtin__', _import='unicode')
525 - @imports('subprocess')
526 --@imports('sys')
527 --@imports(_from='mozbuild.configure.util', _import='LineIO')
528 - @imports(_from='mozbuild.shellutil', _import='quote')
529 --def check_cmd_output(*args, **kwargs):
530 -- onerror = kwargs.pop('onerror', None)
531 --
532 -+def get_cmd_output(*args, **kwargs):
533 - # subprocess on older Pythons can't handle unicode keys or values in
534 - # environment dicts. Normalize automagically so callers don't have to
535 - # deal with this.
536 -@@ -49,12 +42,24 @@ def check_cmd_output(*args, **kwargs):
537 -
538 - kwargs['env'] = normalized_env
539 -
540 -+ log.debug('Executing: `%s`', quote(*args))
541 -+ proc = subprocess.Popen(args, stdout=subprocess.PIPE,
542 -+ stderr=subprocess.PIPE, **kwargs)
543 -+ stdout, stderr = proc.communicate()
544 -+ return proc.wait(), stdout, stderr
545 -+
546 -+
547 -+# A wrapper to obtain a process' output that returns the output generated
548 -+# by running the given command if it exits normally, and streams that
549 -+# output to log.debug and calls die or the given error callback if it
550 -+# does not.
551 -+@imports(_from='mozbuild.configure.util', _import='LineIO')
552 -+@imports(_from='mozbuild.shellutil', _import='quote')
553 -+def check_cmd_output(*args, **kwargs):
554 -+ onerror = kwargs.pop('onerror', None)
555 -+
556 - with log.queue_debug():
557 -- log.debug('Executing: `%s`', quote(*args))
558 -- proc = subprocess.Popen(args, stdout=subprocess.PIPE,
559 -- stderr=subprocess.PIPE, **kwargs)
560 -- stdout, stderr = proc.communicate()
561 -- retcode = proc.wait()
562 -+ retcode, stdout, stderr = get_cmd_output(*args, **kwargs)
563 - if retcode == 0:
564 - return stdout
565 -
566 ---- a/js/src/old-configure.in
567 -+++ b/js/src/old-configure.in
568 -@@ -63,6 +63,8 @@ dnl ========================================================
569 - USE_PTHREADS=
570 - _PTHREAD_LDFLAGS=""
571 -
572 -+LDFLAGS="$LDFLAGS $LINKER_LDFLAGS"
573 -+
574 - MOZ_DEFAULT_COMPILER
575 -
576 - if test -z "$JS_STANDALONE"; then
577 ---- a/old-configure.in
578 -+++ b/old-configure.in
579 -@@ -78,6 +78,8 @@ dnl ========================================================
580 - MOZ_USE_PTHREADS=
581 - _PTHREAD_LDFLAGS=""
582 -
583 -+LDFLAGS="$LDFLAGS $LINKER_LDFLAGS"
584 -+
585 - MOZ_DEFAULT_COMPILER
586 -
587 - if test "$COMPILE_ENVIRONMENT"; then
588 ---- a/python/mozbuild/mozbuild/frontend/context.py
589 -+++ b/python/mozbuild/mozbuild/frontend/context.py
590 -@@ -384,8 +384,6 @@ class LinkFlags(BaseCompileFlags):
591 -
592 - self.flag_variables = (
593 - ('OS', self._os_ldflags(), ('LDFLAGS',)),
594 -- ('LINKER', context.config.substs.get('LINKER_LDFLAGS'),
595 -- ('LDFLAGS',)),
596 - ('DEFFILE', None, ('LDFLAGS',)),
597 - ('MOZBUILD', None, ('LDFLAGS',)),
598 - ('FIX_LINK_PATHS', context.config.substs.get('MOZ_FIX_LINK_PATHS'),
599 ---- a/python/mozbuild/mozbuild/test/frontend/test_emitter.py
600 -+++ b/python/mozbuild/mozbuild/test/frontend/test_emitter.py
601 -@@ -242,7 +242,6 @@ class TestEmitterBasic(unittest.TestCase):
602 - def test_link_flags(self):
603 - reader = self.reader('link-flags', extra_substs={
604 - 'OS_LDFLAGS': ['-Wl,rpath-link=/usr/lib'],
605 -- 'LINKER_LDFLAGS': ['-fuse-ld=gold'],
606 - 'MOZ_OPTIMIZE': '',
607 - 'MOZ_OPTIMIZE_LDFLAGS': ['-Wl,-dead_strip'],
608 - 'MOZ_DEBUG_LDFLAGS': ['-framework ExceptionHandling'],
609 -@@ -250,7 +249,6 @@ class TestEmitterBasic(unittest.TestCase):
610 - sources, ldflags, lib, compile_flags = self.read_topsrcdir(reader)
611 - self.assertIsInstance(ldflags, ComputedFlags)
612 - self.assertEqual(ldflags.flags['OS'], reader.config.substs['OS_LDFLAGS'])
613 -- self.assertEqual(ldflags.flags['LINKER'], reader.config.substs['LINKER_LDFLAGS'])
614 - self.assertEqual(ldflags.flags['MOZBUILD'], ['-Wl,-U_foo', '-framework Foo', '-x'])
615 - self.assertEqual(ldflags.flags['OPTIMIZE'], [])
616 -
617
618 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
619 deleted file mode 100644
620 index c746c73940e..00000000000
621 --- a/www-client/firefox/files/firefox-60.0-missing-errno_h-in-SandboxOpenedFiles_cpp.patch
622 +++ /dev/null
623 @@ -1,27 +0,0 @@
624 -https://bugs.gentoo.org/667096
625 -
626 -https://bugzilla.mozilla.org/show_bug.cgi?id=1480554
627 ---- a/security/sandbox/linux/SandboxOpenedFiles.cpp
628 -+++ b/security/sandbox/linux/SandboxOpenedFiles.cpp
629 -@@ -4,16 +4,17 @@
630 - * License, v. 2.0. If a copy of the MPL was not distributed with this file,
631 - * You can obtain one at http://mozilla.org/MPL/2.0/. */
632 -
633 - #include "SandboxOpenedFiles.h"
634 -
635 - #include "mozilla/Move.h"
636 - #include "SandboxLogging.h"
637 -
638 -+#include <errno.h>
639 - #include <fcntl.h>
640 - #include <unistd.h>
641 -
642 - namespace mozilla {
643 -
644 - // The default move constructor almost works, but Atomic isn't
645 - // move-constructable and the fd needs some special handling.
646 - SandboxOpenedFile::SandboxOpenedFile(SandboxOpenedFile&& aMoved)
647 -
648 -
649 -
650 -
651
652 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
653 deleted file mode 100644
654 index 6fbd13fe639..00000000000
655 --- a/www-client/firefox/files/firefox-60.0-rust-1.29-comp.patch
656 +++ /dev/null
657 @@ -1,37 +0,0 @@
658 -https://bugs.gentoo.org/666898
659 -
660 -https://bugzilla.mozilla.org/show_bug.cgi?id=1479540
661 ---- a/build/moz.configure/init.configure
662 -+++ b/build/moz.configure/init.configure
663 -@@ -572,17 +572,26 @@ option('--target', nargs=1,
664 - @imports(_from='__builtin__', _import='KeyError')
665 - @imports(_from='__builtin__', _import='ValueError')
666 - def split_triplet(triplet, allow_unknown=False):
667 - # The standard triplet is defined as
668 - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
669 - # There is also a quartet form:
670 - # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
671 - # But we can consider the "KERNEL-OPERATING_SYSTEM" as one.
672 -- cpu, manufacturer, os = triplet.split('-', 2)
673 -+ # Additionally, some may omit "unknown" when the manufacturer
674 -+ # is not specified and emit
675 -+ # CPU_TYPE-OPERATING_SYSTEM
676 -+ parts = triplet.split('-', 2)
677 -+ if len(parts) == 3:
678 -+ cpu, _, os = parts
679 -+ elif len(parts) == 2:
680 -+ cpu, os = parts
681 -+ else:
682 -+ die("Unexpected triplet string: %s" % triplet)
683 -
684 - # Autoconf uses config.sub to validate and canonicalize those triplets,
685 - # but the granularity of its results has never been satisfying to our
686 - # use, so we've had our own, different, canonicalization. We've also
687 - # historically not been very consistent with how we use the canonicalized
688 - # values. Hopefully, this will help us make things better.
689 - # The tests are inherited from our decades-old autoconf-based configure,
690 - # which can probably be improved/cleaned up because they are based on a
691 -
692 -
693 -
694 -
695
696 diff --git a/www-client/firefox/files/firefox-60.0-sandbox-lto.patch b/www-client/firefox/files/firefox-60.0-sandbox-lto.patch
697 deleted file mode 100644
698 index 990cb4fbee7..00000000000
699 --- a/www-client/firefox/files/firefox-60.0-sandbox-lto.patch
700 +++ /dev/null
701 @@ -1,13 +0,0 @@
702 -https://bugs.gentoo.org/666580
703 -
704 ---- a/security/sandbox/linux/moz.build
705 -+++ b/security/sandbox/linux/moz.build
706 -@@ -101,7 +101,7 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
707 - # forcing there to be only one partition.
708 - for f in CONFIG['OS_CXXFLAGS']:
709 - if f.startswith('-flto') and CONFIG['CC_TYPE'] != 'clang':
710 -- LDFLAGS += ['--param lto-partitions=1']
711 -+ LDFLAGS += ['--param=lto-partitions=1']
712 -
713 - DEFINES['NS_NO_XPCOM'] = True
714 - DisableStlWrapping()
715
716 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
717 deleted file mode 100644
718 index 9bca3f57a0a..00000000000
719 --- a/www-client/firefox/files/firefox-60.0-update-cc-to-honor-CC.patch
720 +++ /dev/null
721 @@ -1,745 +0,0 @@
722 -https://bugzilla.mozilla.org/show_bug.cgi?id=1496270
723 -https://bugzilla.mozilla.org/show_bug.cgi?id=1445528
724 -
725 ---- a/third_party/rust/cc/.cargo-checksum.json
726 -+++ b/third_party/rust/cc/.cargo-checksum.json
727 -@@ -1 +1 @@
728 --{"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
729 9f211","src/windows_registry.rs":"6de548aa94215e449f0e58e9a3b1702939d7c2f7b63a9040901c948bf138201d","tests/cc_env.rs":"7402315eea7ffa23b29b393c1de8e236294ede9de562ff0a562704a157135341","tests/support/mod.rs":"092551f9f6e3a999fa0aa02f93314aac0bda2b09268f948c423df56a43575e0b","tests/test.rs":"b1164258714e13173f3861126e97bedf1e29aa24618993c4eb0edd57c431dcc7"},"package":"deaf9ec656256bb25b404c51ef50097207b9cbb29c933d31f92cae5a8a0ffee0"}
730 -\ No newline at end of file
731 -+{"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
732 9f211","src/windows_registry.rs":"6de548aa94215e449f0e58e9a3b1702939d7c2f7b63a9040901c948bf138201d","tests/cc_env.rs":"7402315eea7ffa23b29b393c1de8e236294ede9de562ff0a562704a157135341","tests/support/mod.rs":"092551f9f6e3a999fa0aa02f93314aac0bda2b09268f948c423df56a43575e0b","tests/test.rs":"b1164258714e13173f3861126e97bedf1e29aa24618993c4eb0edd57c431dcc7"},"package":"deaf9ec656256bb25b404c51ef50097207b9cbb29c933d31f92cae5a8a0ffee0"}
733 -\ No newline at end of file
734 ---- a/third_party/rust/cc/src/lib.rs
735 -+++ b/third_party/rust/cc/src/lib.rs
736 -@@ -61,15 +61,14 @@
737 - extern crate rayon;
738 -
739 - use std::env;
740 --use std::ffi::{OsString, OsStr};
741 -+use std::ffi::{OsStr, OsString};
742 - use std::fs;
743 --use std::path::{PathBuf, Path};
744 --use std::process::{Command, Stdio, Child};
745 --use std::io::{self, BufReader, BufRead, Read, Write};
746 -+use std::path::{Path, PathBuf};
747 -+use std::process::{Child, Command, Stdio};
748 -+use std::io::{self, BufRead, BufReader, Read, Write};
749 - use std::thread::{self, JoinHandle};
750 --
751 --#[cfg(feature = "parallel")]
752 --use std::sync::Mutex;
753 -+use std::collections::HashMap;
754 -+use std::sync::{Arc, Mutex};
755 -
756 - // These modules are all glue to support reading the MSVC version from
757 - // the registry and from COM interfaces
758 -@@ -97,6 +96,7 @@ pub struct Build {
759 - objects: Vec<PathBuf>,
760 - flags: Vec<String>,
761 - flags_supported: Vec<String>,
762 -+ known_flag_support_status: Arc<Mutex<HashMap<String, bool>>>,
763 - files: Vec<PathBuf>,
764 - cpp: bool,
765 - cpp_link_stdlib: Option<Option<String>>,
766 -@@ -241,8 +241,7 @@ impl ToolFamily {
767 - fn nvcc_debug_flag(&self) -> &'static str {
768 - match *self {
769 - ToolFamily::Msvc => unimplemented!(),
770 -- ToolFamily::Gnu |
771 -- ToolFamily::Clang => "-G",
772 -+ ToolFamily::Gnu | ToolFamily::Clang => "-G",
773 - }
774 - }
775 -
776 -@@ -251,8 +250,7 @@ impl ToolFamily {
777 - fn nvcc_redirect_flag(&self) -> &'static str {
778 - match *self {
779 - ToolFamily::Msvc => unimplemented!(),
780 -- ToolFamily::Gnu |
781 -- ToolFamily::Clang => "-Xcompiler",
782 -+ ToolFamily::Gnu | ToolFamily::Clang => "-Xcompiler",
783 - }
784 - }
785 - }
786 -@@ -269,10 +267,7 @@ struct Object {
787 - impl Object {
788 - /// Create a new source file -> object file pair.
789 - fn new(src: PathBuf, dst: PathBuf) -> Object {
790 -- Object {
791 -- src: src,
792 -- dst: dst,
793 -- }
794 -+ Object { src: src, dst: dst }
795 - }
796 - }
797 -
798 -@@ -289,6 +284,7 @@ impl Build {
799 - objects: Vec::new(),
800 - flags: Vec::new(),
801 - flags_supported: Vec::new(),
802 -+ known_flag_support_status: Arc::new(Mutex::new(HashMap::new())),
803 - files: Vec::new(),
804 - shared_flag: None,
805 - static_flag: None,
806 -@@ -344,10 +340,8 @@ impl Build {
807 - /// .compile("foo");
808 - /// ```
809 - pub fn define<'a, V: Into<Option<&'a str>>>(&mut self, var: &str, val: V) -> &mut Build {
810 -- self.definitions.push((
811 -- var.to_string(),
812 -- val.into().map(|s| s.to_string()),
813 -- ));
814 -+ self.definitions
815 -+ .push((var.to_string(), val.into().map(|s| s.to_string())));
816 - self
817 - }
818 -
819 -@@ -398,7 +392,16 @@ impl Build {
820 - ///
821 - /// It may return error if it's unable to run the compilier with a test file
822 - /// (e.g. the compiler is missing or a write to the `out_dir` failed).
823 -+ ///
824 -+ /// Note: Once computed, the result of this call is stored in the
825 -+ /// `known_flag_support` field. If `is_flag_supported(flag)`
826 -+ /// is called again, the result will be read from the hash table.
827 - pub fn is_flag_supported(&self, flag: &str) -> Result<bool, Error> {
828 -+ let mut known_status = self.known_flag_support_status.lock().unwrap();
829 -+ if let Some(is_supported) = known_status.get(flag).cloned() {
830 -+ return Ok(is_supported);
831 -+ }
832 -+
833 - let out_dir = self.get_out_dir()?;
834 - let src = self.ensure_check_file()?;
835 - let obj = out_dir.join("flag_check");
836 -@@ -413,7 +416,8 @@ impl Build {
837 - .cuda(self.cuda);
838 - let compiler = cfg.try_get_compiler()?;
839 - let mut cmd = compiler.to_command();
840 -- command_add_output_file(&mut cmd, &obj, target.contains("msvc"), false);
841 -+ let is_arm = target.contains("aarch64") || target.contains("arm");
842 -+ command_add_output_file(&mut cmd, &obj, target.contains("msvc"), false, is_arm);
843 -
844 - // We need to explicitly tell msvc not to link and create an exe
845 - // in the root directory of the crate
846 -@@ -424,7 +428,10 @@ impl Build {
847 - cmd.arg(&src);
848 -
849 - let output = cmd.output()?;
850 -- Ok(output.stderr.is_empty())
851 -+ let is_supported = output.stderr.is_empty();
852 -+
853 -+ known_status.insert(flag.to_owned(), is_supported);
854 -+ Ok(is_supported)
855 - }
856 -
857 - /// Add an arbitrary flag to the invocation of the compiler if it supports it
858 -@@ -777,9 +784,8 @@ impl Build {
859 - A: AsRef<OsStr>,
860 - B: AsRef<OsStr>,
861 - {
862 -- self.env.push(
863 -- (a.as_ref().to_owned(), b.as_ref().to_owned()),
864 -- );
865 -+ self.env
866 -+ .push((a.as_ref().to_owned(), b.as_ref().to_owned()));
867 - self
868 - }
869 -
870 -@@ -880,31 +886,19 @@ impl Build {
871 - fn compile_objects(&self, objs: &[Object]) -> Result<(), Error> {
872 - use self::rayon::prelude::*;
873 -
874 -- let mut cfg = rayon::Configuration::new();
875 - if let Ok(amt) = env::var("NUM_JOBS") {
876 - if let Ok(amt) = amt.parse() {
877 -- cfg = cfg.num_threads(amt);
878 -+ let _ = rayon::ThreadPoolBuilder::new()
879 -+ .num_threads(amt)
880 -+ .build_global();
881 - }
882 - }
883 -- drop(rayon::initialize(cfg));
884 --
885 -- let results: Mutex<Vec<Result<(), Error>>> = Mutex::new(Vec::new());
886 --
887 -- objs.par_iter().with_max_len(1).for_each(
888 -- |obj| {
889 -- let res = self.compile_object(obj);
890 -- results.lock().unwrap().push(res)
891 -- },
892 -- );
893 -
894 - // Check for any errors and return the first one found.
895 -- for result in results.into_inner().unwrap().iter() {
896 -- if result.is_err() {
897 -- return result.clone();
898 -- }
899 -- }
900 --
901 -- Ok(())
902 -+ objs.par_iter()
903 -+ .with_max_len(1)
904 -+ .map(|obj| self.compile_object(obj))
905 -+ .collect()
906 - }
907 -
908 - #[cfg(not(feature = "parallel"))]
909 -@@ -917,7 +911,8 @@ impl Build {
910 -
911 - fn compile_object(&self, obj: &Object) -> Result<(), Error> {
912 - let is_asm = obj.src.extension().and_then(|s| s.to_str()) == Some("asm");
913 -- let msvc = self.get_target()?.contains("msvc");
914 -+ let target = self.get_target()?;
915 -+ let msvc = target.contains("msvc");
916 - let (mut cmd, name) = if msvc && is_asm {
917 - self.msvc_macro_assembler()?
918 - } else {
919 -@@ -931,15 +926,17 @@ impl Build {
920 - compiler
921 - .path
922 - .file_name()
923 -- .ok_or_else(|| {
924 -- Error::new(ErrorKind::IOError, "Failed to get compiler path.")
925 -- })?
926 -+ .ok_or_else(|| Error::new(ErrorKind::IOError, "Failed to get compiler path."))?
927 - .to_string_lossy()
928 - .into_owned(),
929 - )
930 - };
931 -- command_add_output_file(&mut cmd, &obj.dst, msvc, is_asm);
932 -- cmd.arg(if msvc { "/c" } else { "-c" });
933 -+ let is_arm = target.contains("aarch64") || target.contains("arm");
934 -+ command_add_output_file(&mut cmd, &obj.dst, msvc, is_asm, is_arm);
935 -+ // armasm and armasm64 don't requrie -c option
936 -+ if !msvc || !is_asm || !is_arm {
937 -+ cmd.arg(if msvc { "/c" } else { "-c" });
938 -+ }
939 - cmd.arg(&obj.src);
940 -
941 - run(&mut cmd, &name)?;
942 -@@ -967,9 +964,7 @@ impl Build {
943 - let name = compiler
944 - .path
945 - .file_name()
946 -- .ok_or_else(|| {
947 -- Error::new(ErrorKind::IOError, "Failed to get compiler path.")
948 -- })?
949 -+ .ok_or_else(|| Error::new(ErrorKind::IOError, "Failed to get compiler path."))?
950 - .to_string_lossy()
951 - .into_owned();
952 -
953 -@@ -1054,8 +1049,8 @@ impl Build {
954 - cmd.args.push(crt_flag.into());
955 -
956 - match &opt_level[..] {
957 -- "z" | "s" => cmd.args.push("/Os".into()),
958 -- "1" => cmd.args.push("/O1".into()),
959 -+ // Msvc uses /O1 to enable all optimizations that minimize code size.
960 -+ "z" | "s" | "1" => cmd.args.push("/O1".into()),
961 - // -O3 is a valid value for gcc and clang compilers, but not msvc. Cap to /O2.
962 - "2" | "3" => cmd.args.push("/O2".into()),
963 - _ => {}
964 -@@ -1070,8 +1065,10 @@ impl Build {
965 - cmd.args.push(format!("-O{}", opt_level).into());
966 - }
967 -
968 -- cmd.push_cc_arg("-ffunction-sections".into());
969 -- cmd.push_cc_arg("-fdata-sections".into());
970 -+ if !target.contains("-ios") {
971 -+ cmd.push_cc_arg("-ffunction-sections".into());
972 -+ cmd.push_cc_arg("-fdata-sections".into());
973 -+ }
974 - if self.pic.unwrap_or(!target.contains("windows-gnu")) {
975 - cmd.push_cc_arg("-fPIC".into());
976 - }
977 -@@ -1169,7 +1166,7 @@ impl Build {
978 - // linker that we're generating 32-bit executables as well. This'll
979 - // typically only be used for build scripts which transitively use
980 - // these flags that try to compile executables.
981 -- if target == "i686-unknown-linux-musl" {
982 -+ if target == "i686-unknown-linux-musl" || target == "i586-unknown-linux-musl" {
983 - cmd.args.push("-Wl,-melf_i386".into());
984 - }
985 -
986 -@@ -1212,14 +1209,13 @@ impl Build {
987 - if self.cpp {
988 - match (self.cpp_set_stdlib.as_ref(), cmd.family) {
989 - (None, _) => {}
990 -- (Some(stdlib), ToolFamily::Gnu) |
991 -- (Some(stdlib), ToolFamily::Clang) => {
992 -+ (Some(stdlib), ToolFamily::Gnu) | (Some(stdlib), ToolFamily::Clang) => {
993 - cmd.push_cc_arg(format!("-stdlib=lib{}", stdlib).into());
994 - }
995 - _ => {
996 - println!(
997 - "cargo:warning=cpp_set_stdlib is specified, but the {:?} compiler \
998 -- does not support this option, ignored",
999 -+ does not support this option, ignored",
1000 - cmd.family
1001 - );
1002 - }
1003 -@@ -1272,6 +1268,10 @@ impl Build {
1004 - let target = self.get_target()?;
1005 - let tool = if target.contains("x86_64") {
1006 - "ml64.exe"
1007 -+ } else if target.contains("arm") {
1008 -+ "armasm.exe"
1009 -+ } else if target.contains("aarch64") {
1010 -+ "armasm64.exe"
1011 - } else {
1012 - "ml.exe"
1013 - };
1014 -@@ -1307,20 +1307,55 @@ impl Build {
1015 - if target.contains("msvc") {
1016 - let mut cmd = match self.archiver {
1017 - Some(ref s) => self.cmd(s),
1018 -- None => {
1019 -- windows_registry::find(&target, "lib.exe").unwrap_or_else(
1020 -- || {
1021 -- self.cmd("lib.exe")
1022 -- },
1023 -- )
1024 -- }
1025 -+ None => windows_registry::find(&target, "lib.exe")
1026 -+ .unwrap_or_else(|| self.cmd("lib.exe")),
1027 - };
1028 -+
1029 - let mut out = OsString::from("/OUT:");
1030 - out.push(dst);
1031 -- run(
1032 -- cmd.arg(out).arg("/nologo").args(&objects).args(&self.objects),
1033 -- "lib.exe",
1034 -- )?;
1035 -+ cmd.arg(out).arg("/nologo");
1036 -+
1037 -+ // Similar to https://github.com/rust-lang/rust/pull/47507
1038 -+ // and https://github.com/rust-lang/rust/pull/48548
1039 -+ let estimated_command_line_len = objects
1040 -+ .iter()
1041 -+ .chain(&self.objects)
1042 -+ .map(|a| a.as_os_str().len())
1043 -+ .sum::<usize>();
1044 -+ if estimated_command_line_len > 1024 * 6 {
1045 -+ let mut args = String::from("\u{FEFF}"); // BOM
1046 -+ for arg in objects.iter().chain(&self.objects) {
1047 -+ args.push('"');
1048 -+ for c in arg.to_str().unwrap().chars() {
1049 -+ if c == '"' {
1050 -+ args.push('\\')
1051 -+ }
1052 -+ args.push(c)
1053 -+ }
1054 -+ args.push('"');
1055 -+ args.push('\n');
1056 -+ }
1057 -+
1058 -+ let mut utf16le = Vec::new();
1059 -+ for code_unit in args.encode_utf16() {
1060 -+ utf16le.push(code_unit as u8);
1061 -+ utf16le.push((code_unit >> 8) as u8);
1062 -+ }
1063 -+
1064 -+ let mut args_file = OsString::from(dst);
1065 -+ args_file.push(".args");
1066 -+ fs::File::create(&args_file)
1067 -+ .unwrap()
1068 -+ .write_all(&utf16le)
1069 -+ .unwrap();
1070 -+
1071 -+ let mut args_file_arg = OsString::from("@");
1072 -+ args_file_arg.push(args_file);
1073 -+ cmd.arg(args_file_arg);
1074 -+ } else {
1075 -+ cmd.args(&objects).args(&self.objects);
1076 -+ }
1077 -+ run(&mut cmd, "lib.exe")?;
1078 -
1079 - // The Rust compiler will look for libfoo.a and foo.lib, but the
1080 - // MSVC linker will also be passed foo.lib, so be sure that both
1081 -@@ -1412,6 +1447,18 @@ impl Build {
1082 -
1083 - cmd.args.push("-isysroot".into());
1084 - cmd.args.push(sdk_path.trim().into());
1085 -+ cmd.args.push("-fembed-bitcode".into());
1086 -+ /*
1087 -+ * TODO we probably ultimatedly want the -fembed-bitcode-marker flag
1088 -+ * but can't have it now because of an issue in LLVM:
1089 -+ * https://github.com/alexcrichton/cc-rs/issues/301
1090 -+ * https://github.com/rust-lang/rust/pull/48896#comment-372192660
1091 -+ */
1092 -+ /*
1093 -+ if self.get_opt_level()? == "0" {
1094 -+ cmd.args.push("-fembed-bitcode-marker".into());
1095 -+ }
1096 -+ */
1097 -
1098 - Ok(())
1099 - }
1100 -@@ -1437,37 +1484,44 @@ impl Build {
1101 - };
1102 -
1103 - // On Solaris, c++/cc unlikely to exist or be correct.
1104 -- let default = if host.contains("solaris") { gnu } else { traditional };
1105 --
1106 -- let tool_opt: Option<Tool> =
1107 -- self.env_tool(env)
1108 -- .map(|(tool, cc, args)| {
1109 -- let mut t = Tool::new(PathBuf::from(tool));
1110 -- if let Some(cc) = cc {
1111 -- t.cc_wrapper_path = Some(PathBuf::from(cc));
1112 -- }
1113 -- for arg in args {
1114 -- t.cc_wrapper_args.push(arg.into());
1115 -- }
1116 -- t
1117 -- })
1118 -- .or_else(|| {
1119 -- if target.contains("emscripten") {
1120 -- let tool = if self.cpp { "em++" } else { "emcc" };
1121 -- // Windows uses bat file so we have to be a bit more specific
1122 -- if cfg!(windows) {
1123 -- let mut t = Tool::new(PathBuf::from("cmd"));
1124 -- t.args.push("/c".into());
1125 -- t.args.push(format!("{}.bat", tool).into());
1126 -- Some(t)
1127 -- } else {
1128 -- Some(Tool::new(PathBuf::from(tool)))
1129 -- }
1130 -+ let default = if host.contains("solaris") {
1131 -+ gnu
1132 -+ } else {
1133 -+ traditional
1134 -+ };
1135 -+
1136 -+ let tool_opt: Option<Tool> = self.env_tool(env)
1137 -+ .map(|(tool, cc, args)| {
1138 -+ // chop off leading/trailing whitespace to work around
1139 -+ // semi-buggy build scripts which are shared in
1140 -+ // makefiles/configure scripts (where spaces are far more
1141 -+ // lenient)
1142 -+ let mut t = Tool::new(PathBuf::from(tool.trim()));
1143 -+ if let Some(cc) = cc {
1144 -+ t.cc_wrapper_path = Some(PathBuf::from(cc));
1145 -+ }
1146 -+ for arg in args {
1147 -+ t.cc_wrapper_args.push(arg.into());
1148 -+ }
1149 -+ t
1150 -+ })
1151 -+ .or_else(|| {
1152 -+ if target.contains("emscripten") {
1153 -+ let tool = if self.cpp { "em++" } else { "emcc" };
1154 -+ // Windows uses bat file so we have to be a bit more specific
1155 -+ if cfg!(windows) {
1156 -+ let mut t = Tool::new(PathBuf::from("cmd"));
1157 -+ t.args.push("/c".into());
1158 -+ t.args.push(format!("{}.bat", tool).into());
1159 -+ Some(t)
1160 - } else {
1161 -- None
1162 -+ Some(Tool::new(PathBuf::from(tool)))
1163 - }
1164 -- })
1165 -- .or_else(|| windows_registry::find_tool(&target, "cl.exe"));
1166 -+ } else {
1167 -+ None
1168 -+ }
1169 -+ })
1170 -+ .or_else(|| windows_registry::find_tool(&target, "cl.exe"));
1171 -
1172 - let tool = match tool_opt {
1173 - Some(t) => t,
1174 -@@ -1501,6 +1555,7 @@ impl Build {
1175 - "armv7-unknown-linux-gnueabihf" => Some("arm-linux-gnueabihf"),
1176 - "armv7-unknown-linux-musleabihf" => Some("arm-linux-musleabihf"),
1177 - "armv7-unknown-netbsd-eabihf" => Some("armv7--netbsdelf-eabihf"),
1178 -+ "i586-unknown-linux-musl" => Some("musl"),
1179 - "i686-pc-windows-gnu" => Some("i686-w64-mingw32"),
1180 - "i686-unknown-linux-musl" => Some("musl"),
1181 - "i686-unknown-netbsd" => Some("i486--netbsdelf"),
1182 -@@ -1509,10 +1564,12 @@ impl Build {
1183 - "mips64-unknown-linux-gnuabi64" => Some("mips64-linux-gnuabi64"),
1184 - "mips64el-unknown-linux-gnuabi64" => Some("mips64el-linux-gnuabi64"),
1185 - "powerpc-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
1186 -+ "powerpc-unknown-linux-gnuspe" => Some("powerpc-linux-gnuspe"),
1187 - "powerpc-unknown-netbsd" => Some("powerpc--netbsd"),
1188 - "powerpc64-unknown-linux-gnu" => Some("powerpc-linux-gnu"),
1189 - "powerpc64le-unknown-linux-gnu" => Some("powerpc64le-linux-gnu"),
1190 - "s390x-unknown-linux-gnu" => Some("s390x-linux-gnu"),
1191 -+ "sparc-unknown-linux-gnu" => Some("sparc-linux-gnu"),
1192 - "sparc64-unknown-linux-gnu" => Some("sparc64-linux-gnu"),
1193 - "sparc64-unknown-netbsd" => Some("sparc64--netbsd"),
1194 - "sparcv9-sun-solaris" => Some("sparcv9-sun-solaris"),
1195 -@@ -1538,14 +1595,18 @@ impl Build {
1196 - };
1197 -
1198 - let tool = if self.cuda {
1199 -- assert!(tool.args.is_empty(),
1200 -- "CUDA compilation currently assumes empty pre-existing args");
1201 -+ assert!(
1202 -+ tool.args.is_empty(),
1203 -+ "CUDA compilation currently assumes empty pre-existing args"
1204 -+ );
1205 - let nvcc = match self.get_var("NVCC") {
1206 - Err(_) => "nvcc".into(),
1207 - Ok(nvcc) => nvcc,
1208 - };
1209 - let mut nvcc_tool = Tool::with_features(PathBuf::from(nvcc), self.cuda);
1210 -- nvcc_tool.args.push(format!("-ccbin={}", tool.path.display()).into());
1211 -+ nvcc_tool
1212 -+ .args
1213 -+ .push(format!("-ccbin={}", tool.path.display()).into());
1214 - nvcc_tool
1215 - } else {
1216 - tool
1217 -@@ -1568,10 +1629,7 @@ impl Build {
1218 - Some(res) => Ok(res),
1219 - None => Err(Error::new(
1220 - ErrorKind::EnvVarNotFound,
1221 -- &format!(
1222 -- "Could not find environment variable {}.",
1223 -- var_base
1224 -- ),
1225 -+ &format!("Could not find environment variable {}.", var_base),
1226 - )),
1227 - }
1228 - }
1229 -@@ -1585,21 +1643,68 @@ impl Build {
1230 - .collect()
1231 - }
1232 -
1233 --
1234 - /// Returns compiler path, optional modifier name from whitelist, and arguments vec
1235 - fn env_tool(&self, name: &str) -> Option<(String, Option<String>, Vec<String>)> {
1236 -- self.get_var(name).ok().map(|tool| {
1237 -- let whitelist = ["ccache", "distcc", "sccache"];
1238 -+ let tool = match self.get_var(name) {
1239 -+ Ok(tool) => tool,
1240 -+ Err(_) => return None,
1241 -+ };
1242 -
1243 -- for t in whitelist.iter() {
1244 -- if tool.starts_with(t) && tool[t.len()..].starts_with(' ') {
1245 -- let args = tool.split_whitespace().collect::<Vec<_>>();
1246 -+ // If this is an exact path on the filesystem we don't want to do any
1247 -+ // interpretation at all, just pass it on through. This'll hopefully get
1248 -+ // us to support spaces-in-paths.
1249 -+ if Path::new(&tool).exists() {
1250 -+ return Some((tool, None, Vec::new()));
1251 -+ }
1252 -+
1253 -+ // Ok now we want to handle a couple of scenarios. We'll assume from
1254 -+ // here on out that spaces are splitting separate arguments. Two major
1255 -+ // features we want to support are:
1256 -+ //
1257 -+ // CC='sccache cc'
1258 -+ //
1259 -+ // aka using `sccache` or any other wrapper/caching-like-thing for
1260 -+ // compilations. We want to know what the actual compiler is still,
1261 -+ // though, because our `Tool` API support introspection of it to see
1262 -+ // what compiler is in use.
1263 -+ //
1264 -+ // additionally we want to support
1265 -+ //
1266 -+ // CC='cc -flag'
1267 -+ //
1268 -+ // where the CC env var is used to also pass default flags to the C
1269 -+ // compiler.
1270 -+ //
1271 -+ // It's true that everything here is a bit of a pain, but apparently if
1272 -+ // you're not literally make or bash then you get a lot of bug reports.
1273 -+ let known_wrappers = ["ccache", "distcc", "sccache", "icecc"];
1274 -+
1275 -+ let mut parts = tool.split_whitespace();
1276 -+ let maybe_wrapper = match parts.next() {
1277 -+ Some(s) => s,
1278 -+ None => return None,
1279 -+ };
1280 -
1281 -- return (args[1].to_string(), Some(t.to_string()), args[2..].iter().map(|s| s.to_string()).collect());
1282 -- }
1283 -+ let file_stem = Path::new(maybe_wrapper)
1284 -+ .file_stem()
1285 -+ .unwrap()
1286 -+ .to_str()
1287 -+ .unwrap();
1288 -+ if known_wrappers.contains(&file_stem) {
1289 -+ if let Some(compiler) = parts.next() {
1290 -+ return Some((
1291 -+ compiler.to_string(),
1292 -+ Some(maybe_wrapper.to_string()),
1293 -+ parts.map(|s| s.to_string()).collect(),
1294 -+ ));
1295 - }
1296 -- (tool, None, Vec::new())
1297 -- })
1298 -+ }
1299 -+
1300 -+ Some((
1301 -+ maybe_wrapper.to_string(),
1302 -+ None,
1303 -+ parts.map(|s| s.to_string()).collect(),
1304 -+ ))
1305 - }
1306 -
1307 - /// Returns the default C++ standard library for the current target: `libc++`
1308 -@@ -1611,7 +1716,7 @@ impl Build {
1309 - let target = self.get_target()?;
1310 - if target.contains("msvc") {
1311 - Ok(None)
1312 -- } else if target.contains("darwin") {
1313 -+ } else if target.contains("apple") {
1314 - Ok(Some("c++".to_string()))
1315 - } else if target.contains("freebsd") {
1316 - Ok(Some("c++".to_string()))
1317 -@@ -1700,10 +1805,7 @@ impl Build {
1318 - Some(s) => Ok(s),
1319 - None => Err(Error::new(
1320 - ErrorKind::EnvVarNotFound,
1321 -- &format!(
1322 -- "Environment variable {} not defined.",
1323 -- v.to_string()
1324 -- ),
1325 -+ &format!("Environment variable {} not defined.", v.to_string()),
1326 - )),
1327 - }
1328 - }
1329 -@@ -1731,8 +1833,9 @@ impl Tool {
1330 - let family = if let Some(fname) = path.file_name().and_then(|p| p.to_str()) {
1331 - if fname.contains("clang") {
1332 - ToolFamily::Clang
1333 -- } else if fname.contains("cl") && !fname.contains("cloudabi") &&
1334 -- !fname.contains("uclibc") {
1335 -+ } else if fname.contains("cl") && !fname.contains("cloudabi")
1336 -+ && !fname.contains("uclibc")
1337 -+ {
1338 - ToolFamily::Msvc
1339 - } else {
1340 - ToolFamily::Gnu
1341 -@@ -1775,8 +1878,8 @@ impl Tool {
1342 - cmd.arg(&self.path);
1343 - cmd.args(&self.cc_wrapper_args);
1344 - cmd
1345 -- },
1346 -- None => Command::new(&self.path)
1347 -+ }
1348 -+ None => Command::new(&self.path),
1349 - };
1350 - cmd.args(&self.args);
1351 - for &(ref k, ref v) in self.env.iter() {
1352 -@@ -1822,10 +1925,8 @@ impl Tool {
1353 - cc_env.push(arg);
1354 - }
1355 - cc_env
1356 -- },
1357 -- None => {
1358 -- OsString::from("")
1359 - }
1360 -+ None => OsString::from(""),
1361 - }
1362 - }
1363 -
1364 -@@ -1868,8 +1969,7 @@ fn run(cmd: &mut Command, program: &str) -> Result<(), Error> {
1365 - ErrorKind::ToolExecError,
1366 - &format!(
1367 - "Failed to wait on spawned child process, command {:?} with args {:?}.",
1368 -- cmd,
1369 -- program
1370 -+ cmd, program
1371 - ),
1372 - ))
1373 - }
1374 -@@ -1884,9 +1984,7 @@ fn run(cmd: &mut Command, program: &str) -> Result<(), Error> {
1375 - ErrorKind::ToolExecError,
1376 - &format!(
1377 - "Command {:?} with args {:?} did not execute successfully (status code {}).",
1378 -- cmd,
1379 -- program,
1380 -- status
1381 -+ cmd, program, status
1382 - ),
1383 - ))
1384 - }
1385 -@@ -1909,8 +2007,7 @@ fn run_output(cmd: &mut Command, program: &str) -> Result<Vec<u8>, Error> {
1386 - ErrorKind::ToolExecError,
1387 - &format!(
1388 - "Failed to wait on spawned child process, command {:?} with args {:?}.",
1389 -- cmd,
1390 -- program
1391 -+ cmd, program
1392 - ),
1393 - ))
1394 - }
1395 -@@ -1925,9 +2022,7 @@ fn run_output(cmd: &mut Command, program: &str) -> Result<Vec<u8>, Error> {
1396 - ErrorKind::ToolExecError,
1397 - &format!(
1398 - "Command {:?} with args {:?} did not execute successfully (status code {}).",
1399 -- cmd,
1400 -- program,
1401 -- status
1402 -+ cmd, program, status
1403 - ),
1404 - ))
1405 - }
1406 -@@ -1943,39 +2038,30 @@ fn spawn(cmd: &mut Command, program: &str) -> Result<(Child, JoinHandle<()>), Er
1407 - match cmd.stderr(Stdio::piped()).spawn() {
1408 - Ok(mut child) => {
1409 - let stderr = BufReader::new(child.stderr.take().unwrap());
1410 -- let print = thread::spawn(move || for line in stderr.split(b'\n').filter_map(
1411 -- |l| l.ok(),
1412 -- )
1413 -- {
1414 -- print!("cargo:warning=");
1415 -- std::io::stdout().write_all(&line).unwrap();
1416 -- println!("");
1417 -+ let print = thread::spawn(move || {
1418 -+ for line in stderr.split(b'\n').filter_map(|l| l.ok()) {
1419 -+ print!("cargo:warning=");
1420 -+ std::io::stdout().write_all(&line).unwrap();
1421 -+ println!("");
1422 -+ }
1423 - });
1424 - Ok((child, print))
1425 - }
1426 - Err(ref e) if e.kind() == io::ErrorKind::NotFound => {
1427 - let extra = if cfg!(windows) {
1428 - " (see https://github.com/alexcrichton/cc-rs#compile-time-requirements \
1429 -- for help)"
1430 -+ for help)"
1431 - } else {
1432 - ""
1433 - };
1434 - Err(Error::new(
1435 - ErrorKind::ToolNotFound,
1436 -- &format!(
1437 -- "Failed to find tool. Is `{}` installed?{}",
1438 -- program,
1439 -- extra
1440 -- ),
1441 -+ &format!("Failed to find tool. Is `{}` installed?{}", program, extra),
1442 - ))
1443 - }
1444 - Err(_) => Err(Error::new(
1445 - ErrorKind::ToolExecError,
1446 -- &format!(
1447 -- "Command {:?} with args {:?} failed to start.",
1448 -- cmd,
1449 -- program
1450 -- ),
1451 -+ &format!("Command {:?} with args {:?} failed to start.", cmd, program),
1452 - )),
1453 - }
1454 - }
1455 -@@ -1984,9 +2070,10 @@ fn fail(s: &str) -> ! {
1456 - panic!("\n\nInternal error occurred: {}\n\n", s)
1457 - }
1458 -
1459 --
1460 --fn command_add_output_file(cmd: &mut Command, dst: &Path, msvc: bool, is_asm: bool) {
1461 -- if msvc && is_asm {
1462 -+fn command_add_output_file(cmd: &mut Command, dst: &Path, msvc: bool, is_asm: bool, is_arm: bool) {
1463 -+ if msvc && is_asm && is_arm {
1464 -+ cmd.arg("-o").arg(&dst);
1465 -+ } else if msvc && is_asm {
1466 - cmd.arg("/Fo").arg(dst);
1467 - } else if msvc {
1468 - let mut s = OsString::from("/Fo");
1469
1470 diff --git a/www-client/firefox/firefox-60.2.2.ebuild b/www-client/firefox/firefox-60.2.2.ebuild
1471 deleted file mode 100644
1472 index edc9c9cfc1b..00000000000
1473 --- a/www-client/firefox/firefox-60.2.2.ebuild
1474 +++ /dev/null
1475 @@ -1,413 +0,0 @@
1476 -# Copyright 1999-2018 Gentoo Authors
1477 -# Distributed under the terms of the GNU General Public License v2
1478 -
1479 -EAPI=6
1480 -VIRTUALX_REQUIRED="pgo"
1481 -WANT_AUTOCONF="2.1"
1482 -MOZ_ESR="1"
1483 -
1484 -PYTHON_COMPAT=( python3_{5,6,7} )
1485 -PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)'
1486 -
1487 -# This list can be updated with scripts/get_langs.sh from the mozilla overlay
1488 -MOZ_LANGS=( ach af an ar as ast az bg bn-BD bn-IN br bs ca cak cs cy da de dsb
1489 -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
1490 -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
1491 -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
1492 -sr sv-SE ta te th tr uk uz vi xh zh-CN zh-TW )
1493 -
1494 -# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
1495 -MOZ_PV="${PV/_alpha/a}" # Handle alpha for SRC_URI
1496 -MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
1497 -MOZ_PV="${MOZ_PV/_rc/rc}" # Handle rc for SRC_URI
1498 -
1499 -if [[ ${MOZ_ESR} == 1 ]]; then
1500 - # ESR releases have slightly different version numbers
1501 - MOZ_PV="${MOZ_PV}esr"
1502 -fi
1503 -
1504 -# Patch version
1505 -PATCH="${PN}-60.0-patches-04"
1506 -MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases"
1507 -
1508 -MOZCONFIG_OPTIONAL_WIFI=1
1509 -
1510 -inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils llvm \
1511 - mozconfig-v6.60 pax-utils xdg-utils autotools mozlinguas-v2
1512 -
1513 -DESCRIPTION="Firefox Web Browser"
1514 -HOMEPAGE="https://www.mozilla.com/firefox"
1515 -
1516 -KEYWORDS="amd64 x86"
1517 -
1518 -SLOT="0"
1519 -LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
1520 -IUSE="bindist eme-free geckodriver +gmp-autoupdate hardened hwaccel jack +screenshot selinux test"
1521 -RESTRICT="!bindist? ( bindist )"
1522 -
1523 -SDIR="release"
1524 -[[ ${PV} = *_beta* ]] && SDIR="beta"
1525 -
1526 -PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c,whissi}/mozilla/patchsets/${PATCH}.tar.xz )
1527 -SRC_URI="${SRC_URI}
1528 - ${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz
1529 - ${PATCH_URIS[@]}"
1530 -
1531 -ASM_DEPEND=">=dev-lang/yasm-1.1"
1532 -
1533 -RDEPEND="
1534 - system-icu? ( >=dev-libs/icu-60.2 )
1535 - jack? ( virtual/jack )
1536 - >=dev-libs/nss-3.36.4
1537 - >=dev-libs/nspr-4.19
1538 - selinux? ( sec-policy/selinux-mozilla )"
1539 -
1540 -DEPEND="${RDEPEND}
1541 - >=sys-devel/llvm-4.0.1
1542 - >=sys-devel/clang-4.0.1
1543 - amd64? ( ${ASM_DEPEND} virtual/opengl )
1544 - x86? ( ${ASM_DEPEND} virtual/opengl )"
1545 -
1546 -S="${WORKDIR}/firefox-${PV%_*}"
1547 -
1548 -QA_PRESTRIPPED="usr/lib*/${PN}/firefox"
1549 -
1550 -BUILD_OBJ_DIR="${S}/ff"
1551 -
1552 -# allow GMP_PLUGIN_LIST to be set in an eclass or
1553 -# overridden in the enviromnent (advanced hackers only)
1554 -if [[ -z $GMP_PLUGIN_LIST ]]; then
1555 - GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
1556 -fi
1557 -
1558 -llvm_check_deps() {
1559 - has_version "sys-devel/clang:${LLVM_SLOT}"
1560 -}
1561 -
1562 -pkg_setup() {
1563 - moz_pkgsetup
1564 -
1565 - # Avoid PGO profiling problems due to enviroment leakage
1566 - # These should *always* be cleaned up anyway
1567 - unset DBUS_SESSION_BUS_ADDRESS \
1568 - DISPLAY \
1569 - ORBIT_SOCKETDIR \
1570 - SESSION_MANAGER \
1571 - XDG_SESSION_COOKIE \
1572 - XAUTHORITY
1573 -
1574 - if ! use bindist; then
1575 - einfo
1576 - elog "You are enabling official branding. You may not redistribute this build"
1577 - elog "to any users on your network or the internet. Doing so puts yourself into"
1578 - elog "a legal problem with Mozilla Foundation"
1579 - elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"
1580 - fi
1581 -
1582 - addpredict /proc/self/oom_score_adj
1583 -
1584 - llvm_pkg_setup
1585 -}
1586 -
1587 -pkg_pretend() {
1588 - # Ensure we have enough disk space to compile
1589 - CHECKREQS_DISK_BUILD="4G"
1590 -
1591 - check-reqs_pkg_setup
1592 -}
1593 -
1594 -src_unpack() {
1595 - unpack ${A}
1596 -
1597 - # Unpack language packs
1598 - mozlinguas_src_unpack
1599 -}
1600 -
1601 -src_prepare() {
1602 - rm "${WORKDIR}/firefox/2005_ffmpeg4.patch"
1603 - eapply "${WORKDIR}/firefox"
1604 -
1605 - # Enable gnomebreakpad
1606 - if use debug ; then
1607 - sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
1608 - "${S}"/build/unix/run-mozilla.sh || die "sed failed!"
1609 - fi
1610 -
1611 - # Drop -Wl,--as-needed related manipulation for ia64 as it causes ld sefgaults, bug #582432
1612 - if use ia64 ; then
1613 - sed -i \
1614 - -e '/^OS_LIBS += no_as_needed/d' \
1615 - -e '/^OS_LIBS += as_needed/d' \
1616 - "${S}"/widget/gtk/mozgtk/gtk2/moz.build \
1617 - "${S}"/widget/gtk/mozgtk/gtk3/moz.build \
1618 - || die "sed failed to drop --as-needed for ia64"
1619 - fi
1620 -
1621 - # Ensure that our plugins dir is enabled as default
1622 - sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
1623 - "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
1624 - sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
1625 - "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
1626 -
1627 - # Fix sandbox violations during make clean, bug 372817
1628 - sed -e "s:\(/no-such-file\):${T}\1:g" \
1629 - -i "${S}"/config/rules.mk \
1630 - -i "${S}"/nsprpub/configure{.in,} \
1631 - || die
1632 -
1633 - # Don't exit with error when some libs are missing which we have in
1634 - # system.
1635 - sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
1636 - -i "${S}"/browser/installer/Makefile.in || die
1637 -
1638 - # Don't error out when there's no files to be removed:
1639 - sed 's@\(xargs rm\)$@\1 -f@' \
1640 - -i "${S}"/toolkit/mozapps/installer/packager.mk || die
1641 -
1642 - # Keep codebase the same even if not using official branding
1643 - sed '/^MOZ_DEV_EDITION=1/d' \
1644 - -i "${S}"/browser/branding/aurora/configure.sh || die
1645 -
1646 - # Allow user to apply any additional patches without modifing ebuild
1647 - eapply_user
1648 -
1649 - # Autotools configure is now called old-configure.in
1650 - # This works because there is still a configure.in that happens to be for the
1651 - # shell wrapper configure script
1652 - eautoreconf old-configure.in
1653 -
1654 - # Must run autoconf in js/src
1655 - cd "${S}"/js/src || die
1656 - eautoconf old-configure.in
1657 -}
1658 -
1659 -src_configure() {
1660 - MEXTENSIONS="default"
1661 - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
1662 - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
1663 - # get your own set of keys.
1664 - _google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
1665 -
1666 - # Add information about TERM to output (build.log) to aid debugging
1667 - # blessings problems
1668 - if [[ -n "${TERM}" ]] ; then
1669 - einfo "TERM is set to: \"${TERM}\""
1670 - else
1671 - einfo "TERM is unset."
1672 - fi
1673 -
1674 - ####################################
1675 - #
1676 - # mozconfig, CFLAGS and CXXFLAGS setup
1677 - #
1678 - ####################################
1679 -
1680 - mozconfig_init
1681 - mozconfig_config
1682 -
1683 - mozconfig_use_enable geckodriver
1684 -
1685 - # enable JACK, bug 600002
1686 - mozconfig_use_enable jack
1687 -
1688 - # Enable/Disable eme support
1689 - use eme-free && mozconfig_annotate '+eme-free' --disable-eme
1690 -
1691 - # It doesn't compile on alpha without this LDFLAGS
1692 - use alpha && append-ldflags "-Wl,--no-relax"
1693 -
1694 - # Add full relro support for hardened
1695 - if use hardened; then
1696 - append-ldflags "-Wl,-z,relro,-z,now"
1697 - mozconfig_use_enable hardened hardening
1698 - fi
1699 -
1700 - # Disable built-in ccache support to avoid sandbox violation, #665420
1701 - # Use FEATURES=ccache instead!
1702 - mozconfig_annotate '' --without-ccache
1703 - sed -i -e 's/ccache_stats = None/return None/' \
1704 - python/mozbuild/mozbuild/controller/building.py || \
1705 - die "Failed to disable ccache stats call"
1706 -
1707 - # Setup api key for location services
1708 - echo -n "${_google_api_key}" > "${S}"/google-api-key
1709 - mozconfig_annotate '' --with-google-api-keyfile="${S}/google-api-key"
1710 -
1711 - mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
1712 -
1713 - if use clang ; then
1714 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1423822
1715 - mozconfig_annotate 'elf-hack is broken when using Clang' --disable-elf-hack
1716 - fi
1717 -
1718 - echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
1719 - echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
1720 -
1721 - # Default mozilla_five_home no longer valid option
1722 - sed '/with-default-mozilla-five-home=/d' -i "${S}"/.mozconfig
1723 -
1724 - # Finalize and report settings
1725 - mozconfig_final
1726 -
1727 - # workaround for funky/broken upstream configure...
1728 - SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
1729 - ./mach configure || die
1730 -}
1731 -
1732 -src_compile() {
1733 - MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
1734 - ./mach build --verbose || die
1735 -}
1736 -
1737 -src_install() {
1738 - cd "${BUILD_OBJ_DIR}" || die
1739 -
1740 - # Pax mark xpcshell for hardened support, only used for startupcache creation.
1741 - pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
1742 -
1743 - # Add our default prefs for firefox
1744 - cp "${FILESDIR}"/gentoo-default-prefs.js-2 \
1745 - "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
1746 - || die
1747 -
1748 - mozconfig_install_prefs \
1749 - "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js"
1750 -
1751 - # Augment this with hwaccel prefs
1752 - if use hwaccel ; then
1753 - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-1 >> \
1754 - "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
1755 - || die
1756 - fi
1757 -
1758 - if ! use screenshot; then
1759 - echo "pref(\"extensions.screenshots.disabled\", true);" >> \
1760 - "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
1761 - || die
1762 - fi
1763 -
1764 - echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
1765 - "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
1766 - || die
1767 -
1768 - local plugin
1769 - use gmp-autoupdate || use eme-free || for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
1770 - echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
1771 - "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
1772 - || die
1773 - done
1774 -
1775 - cd "${S}"
1776 - MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
1777 - DESTDIR="${D}" ./mach install || die
1778 -
1779 - if use geckodriver ; then
1780 - cp "${BUILD_OBJ_DIR}"/dist/bin/geckodriver "${ED%/}"${MOZILLA_FIVE_HOME} || die
1781 - pax-mark m "${ED%/}"${MOZILLA_FIVE_HOME}/geckodriver
1782 -
1783 - dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
1784 - fi
1785 -
1786 - # Install language packs
1787 - mozlinguas_src_install
1788 -
1789 - local size sizes icon_path icon name
1790 - if use bindist; then
1791 - sizes="16 32 48"
1792 - icon_path="${S}/browser/branding/aurora"
1793 - # Firefox's new rapid release cycle means no more codenames
1794 - # Let's just stick with this one...
1795 - icon="aurora"
1796 - name="Aurora"
1797 -
1798 - # Override preferences to set the MOZ_DEV_EDITION defaults, since we
1799 - # don't define MOZ_DEV_EDITION to avoid profile debaucles.
1800 - # (source: browser/app/profile/firefox.js)
1801 - cat >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" <<PROFILE_EOF
1802 -pref("app.feedback.baseURL", "https://input.mozilla.org/%LOCALE%/feedback/firefoxdev/%VERSION%/");
1803 -sticky_pref("lightweightThemes.selectedThemeID", "firefox-devedition@×××××××.org");
1804 -sticky_pref("browser.devedition.theme.enabled", true);
1805 -sticky_pref("devtools.theme", "dark");
1806 -PROFILE_EOF
1807 -
1808 - else
1809 - sizes="16 22 24 32 48 64 128 256"
1810 - icon_path="${S}/browser/branding/official"
1811 - icon="${PN}"
1812 - name="Mozilla Firefox"
1813 - fi
1814 -
1815 - # Install icons and .desktop for menu entry
1816 - for size in ${sizes}; do
1817 - insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
1818 - newins "${icon_path}/default${size}.png" "${icon}.png"
1819 - done
1820 - # Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
1821 - newicon "${icon_path}/default48.png" "${icon}.png"
1822 - newmenu "${FILESDIR}/icon/${PN}.desktop" "${PN}.desktop"
1823 - sed -i -e "s:@NAME@:${name}:" -e "s:@ICON@:${icon}:" \
1824 - "${ED}/usr/share/applications/${PN}.desktop" || die
1825 -
1826 - # Add StartupNotify=true bug 237317
1827 - if use startup-notification ; then
1828 - echo "StartupNotify=true"\
1829 - >> "${ED}/usr/share/applications/${PN}.desktop" \
1830 - || die
1831 - fi
1832 -
1833 - # Don't install llvm-symbolizer from sys-devel/llvm package
1834 - [[ -f "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] && \
1835 - rm "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer"
1836 -
1837 - # firefox and firefox-bin are identical
1838 - rm "${ED%/}"${MOZILLA_FIVE_HOME}/firefox-bin || die
1839 - dosym firefox ${MOZILLA_FIVE_HOME}/firefox-bin
1840 -
1841 - # Required in order to use plugins and even run firefox on hardened.
1842 - pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/{firefox,plugin-container}
1843 -}
1844 -
1845 -pkg_preinst() {
1846 - gnome2_icon_savelist
1847 -
1848 - # if the apulse libs are available in MOZILLA_FIVE_HOME then apulse
1849 - # doesn't need to be forced into the LD_LIBRARY_PATH
1850 - if use pulseaudio && has_version ">=media-sound/apulse-0.1.9" ; then
1851 - einfo "APULSE found - Generating library symlinks for sound support"
1852 - local lib
1853 - pushd "${ED}"${MOZILLA_FIVE_HOME} &>/dev/null || die
1854 - for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
1855 - # a quickpkg rolled by hand will grab symlinks as part of the package,
1856 - # so we need to avoid creating them if they already exist.
1857 - if ! [ -L ${lib##*/} ]; then
1858 - ln -s "${lib}" ${lib##*/} || die
1859 - fi
1860 - done
1861 - popd &>/dev/null || die
1862 - fi
1863 -}
1864 -
1865 -pkg_postinst() {
1866 - gnome2_icon_cache_update
1867 - xdg_desktop_database_update
1868 -
1869 - if ! use gmp-autoupdate && ! use eme-free ; then
1870 - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
1871 - elog "installing into new profiles:"
1872 - local plugin
1873 - for plugin in "${GMP_PLUGIN_LIST[@]}"; do elog "\t ${plugin}" ; done
1874 - elog
1875 - fi
1876 -
1877 - if use pulseaudio && has_version ">=media-sound/apulse-0.1.9"; then
1878 - elog "Apulse was detected at merge time on this system and so it will always be"
1879 - elog "used for sound. If you wish to use pulseaudio instead please unmerge"
1880 - elog "media-sound/apulse."
1881 - elog
1882 - fi
1883 -}
1884 -
1885 -pkg_postrm() {
1886 - gnome2_icon_cache_update
1887 - xdg_desktop_database_update
1888 -}
1889
1890 diff --git a/www-client/firefox/firefox-62.0.3.ebuild b/www-client/firefox/firefox-62.0.3.ebuild
1891 deleted file mode 100644
1892 index 1b23c6994a0..00000000000
1893 --- a/www-client/firefox/firefox-62.0.3.ebuild
1894 +++ /dev/null
1895 @@ -1,614 +0,0 @@
1896 -# Copyright 1999-2018 Gentoo Authors
1897 -# Distributed under the terms of the GNU General Public License v2
1898 -
1899 -EAPI="6"
1900 -VIRTUALX_REQUIRED="pgo"
1901 -WANT_AUTOCONF="2.1"
1902 -MOZ_ESR=""
1903 -
1904 -PYTHON_COMPAT=( python3_{5,6,7} )
1905 -PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)'
1906 -
1907 -# This list can be updated with scripts/get_langs.sh from the mozilla overlay
1908 -MOZ_LANGS=( ach af an ar as ast az bg bn-BD bn-IN br bs ca cak cs cy da de dsb
1909 -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
1910 -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
1911 -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
1912 -sr sv-SE ta te th tr uk uz vi xh zh-CN zh-TW )
1913 -
1914 -# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
1915 -MOZ_PV="${PV/_alpha/a}" # Handle alpha for SRC_URI
1916 -MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
1917 -MOZ_PV="${MOZ_PV/_rc/rc}" # Handle rc for SRC_URI
1918 -
1919 -if [[ ${MOZ_ESR} == 1 ]]; then
1920 - # ESR releases have slightly different version numbers
1921 - MOZ_PV="${MOZ_PV}esr"
1922 -fi
1923 -
1924 -# Patch version
1925 -PATCH="${PN}-62.0-patches-01"
1926 -MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases"
1927 -
1928 -inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils llvm \
1929 - mozcoreconf-v6 pax-utils xdg-utils autotools mozlinguas-v2
1930 -
1931 -DESCRIPTION="Firefox Web Browser"
1932 -HOMEPAGE="https://www.mozilla.com/firefox"
1933 -
1934 -KEYWORDS="~amd64 ~x86"
1935 -
1936 -SLOT="0"
1937 -LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
1938 -IUSE="bindist clang dbus debug eme-free geckodriver +gmp-autoupdate hardened hwaccel
1939 - jack lto neon pulseaudio +screenshot selinux startup-notification
1940 - system-harfbuzz system-icu system-jpeg system-libevent system-sqlite
1941 - system-libvpx test wifi"
1942 -RESTRICT="!bindist? ( bindist )"
1943 -
1944 -PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c}/mozilla/patchsets/${PATCH}.tar.xz )
1945 -SRC_URI="${SRC_URI}
1946 - ${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz
1947 - ${PATCH_URIS[@]}"
1948 -
1949 -CDEPEND="
1950 - >=dev-libs/nss-3.38
1951 - >=dev-libs/nspr-4.19
1952 - >=app-text/hunspell-1.5.4:=
1953 - dev-libs/atk
1954 - dev-libs/expat
1955 - >=x11-libs/cairo-1.10[X]
1956 - >=x11-libs/gtk+-2.18:2
1957 - >=x11-libs/gtk+-3.4.0:3
1958 - x11-libs/gdk-pixbuf
1959 - >=x11-libs/pango-1.22.0
1960 - >=media-libs/libpng-1.6.34:0=[apng]
1961 - >=media-libs/mesa-10.2:*
1962 - media-libs/fontconfig
1963 - >=media-libs/freetype-2.4.10
1964 - kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
1965 - virtual/freedesktop-icon-theme
1966 - dbus? ( >=sys-apps/dbus-0.60
1967 - >=dev-libs/dbus-glib-0.72 )
1968 - startup-notification? ( >=x11-libs/startup-notification-0.8 )
1969 - >=x11-libs/pixman-0.19.2
1970 - >=dev-libs/glib-2.26:2
1971 - >=sys-libs/zlib-1.2.3
1972 - >=virtual/libffi-3.0.10:=
1973 - virtual/ffmpeg
1974 - x11-libs/libX11
1975 - x11-libs/libXcomposite
1976 - x11-libs/libXdamage
1977 - x11-libs/libXext
1978 - x11-libs/libXfixes
1979 - x11-libs/libXrender
1980 - x11-libs/libXt
1981 - system-icu? ( >=dev-libs/icu-60.2:= )
1982 - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
1983 - system-libevent? ( >=dev-libs/libevent-2.0:0= )
1984 - system-sqlite? ( >=dev-db/sqlite-3.24.0:3[secure-delete,debug=] )
1985 - system-libvpx? ( >=media-libs/libvpx-1.5.0:0=[postproc] )
1986 - system-harfbuzz? ( >=media-libs/harfbuzz-1.4.2:0= >=media-gfx/graphite2-1.3.9-r1 )
1987 - wifi? ( kernel_linux? ( >=sys-apps/dbus-0.60
1988 - >=dev-libs/dbus-glib-0.72
1989 - net-misc/networkmanager ) )
1990 - jack? ( virtual/jack )
1991 - selinux? ( sec-policy/selinux-mozilla )"
1992 -
1993 -RDEPEND="${CDEPEND}
1994 - jack? ( virtual/jack )
1995 - pulseaudio? ( || ( media-sound/pulseaudio
1996 - >=media-sound/apulse-0.1.9 ) )
1997 - selinux? ( sec-policy/selinux-mozilla )"
1998 -
1999 -DEPEND="${CDEPEND}
2000 - app-arch/zip
2001 - app-arch/unzip
2002 - >=sys-devel/binutils-2.30
2003 - sys-apps/findutils
2004 - >=sys-devel/llvm-4.0.1
2005 - >=sys-devel/clang-4.0.1
2006 - clang? (
2007 - >=sys-devel/llvm-4.0.1[gold]
2008 - >=sys-devel/lld-4.0.1
2009 - )
2010 - pulseaudio? ( media-sound/pulseaudio )
2011 - elibc_glibc? (
2012 - virtual/cargo
2013 - virtual/rust
2014 - )
2015 - elibc_musl? (
2016 - virtual/cargo
2017 - virtual/rust
2018 - )
2019 - amd64? ( >=dev-lang/yasm-1.1 virtual/opengl )
2020 - x86? ( >=dev-lang/yasm-1.1 virtual/opengl )"
2021 -
2022 -REQUIRED_USE="wifi? ( dbus )"
2023 -
2024 -S="${WORKDIR}/firefox-${PV%_*}"
2025 -
2026 -QA_PRESTRIPPED="usr/lib*/${PN}/firefox"
2027 -
2028 -BUILD_OBJ_DIR="${S}/ff"
2029 -
2030 -# allow GMP_PLUGIN_LIST to be set in an eclass or
2031 -# overridden in the enviromnent (advanced hackers only)
2032 -if [[ -z $GMP_PLUGIN_LIST ]]; then
2033 - GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
2034 -fi
2035 -
2036 -llvm_check_deps() {
2037 - has_version "sys-devel/clang:${LLVM_SLOT}"
2038 -}
2039 -
2040 -pkg_setup() {
2041 - moz_pkgsetup
2042 -
2043 - # Avoid PGO profiling problems due to enviroment leakage
2044 - # These should *always* be cleaned up anyway
2045 - unset DBUS_SESSION_BUS_ADDRESS \
2046 - DISPLAY \
2047 - ORBIT_SOCKETDIR \
2048 - SESSION_MANAGER \
2049 - XDG_SESSION_COOKIE \
2050 - XAUTHORITY
2051 -
2052 - if ! use bindist; then
2053 - einfo
2054 - elog "You are enabling official branding. You may not redistribute this build"
2055 - elog "to any users on your network or the internet. Doing so puts yourself into"
2056 - elog "a legal problem with Mozilla Foundation."
2057 - elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag."
2058 - fi
2059 -
2060 - addpredict /proc/self/oom_score_adj
2061 -
2062 - llvm_pkg_setup
2063 -}
2064 -
2065 -pkg_pretend() {
2066 - # Ensure we have enough disk space to compile
2067 - CHECKREQS_DISK_BUILD="4G"
2068 -
2069 - check-reqs_pkg_setup
2070 -}
2071 -
2072 -src_unpack() {
2073 - unpack ${A}
2074 -
2075 - # Unpack language packs
2076 - mozlinguas_src_unpack
2077 -}
2078 -
2079 -src_prepare() {
2080 - eapply "${WORKDIR}/firefox"
2081 -
2082 - eapply "${FILESDIR}"/${PN}-60.0-blessings-TERM.patch # 654316
2083 - eapply "${FILESDIR}"/${PN}-60.0-do-not-force-lld.patch
2084 - eapply "${FILESDIR}"/${PN}-60.0-sandbox-lto.patch # 666580
2085 - eapply "${FILESDIR}"/${PN}-60.0-missing-errno_h-in-SandboxOpenedFiles_cpp.patch
2086 -
2087 - # Enable gnomebreakpad
2088 - if use debug ; then
2089 - sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
2090 - "${S}"/build/unix/run-mozilla.sh || die "sed failed!"
2091 - fi
2092 -
2093 - # Drop -Wl,--as-needed related manipulation for ia64 as it causes ld sefgaults, bug #582432
2094 - if use ia64 ; then
2095 - sed -i \
2096 - -e '/^OS_LIBS += no_as_needed/d' \
2097 - -e '/^OS_LIBS += as_needed/d' \
2098 - "${S}"/widget/gtk/mozgtk/gtk2/moz.build \
2099 - "${S}"/widget/gtk/mozgtk/gtk3/moz.build \
2100 - || die "sed failed to drop --as-needed for ia64"
2101 - fi
2102 -
2103 - # Ensure that our plugins dir is enabled as default
2104 - sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
2105 - "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
2106 - sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
2107 - "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
2108 -
2109 - # Fix sandbox violations during make clean, bug 372817
2110 - sed -e "s:\(/no-such-file\):${T}\1:g" \
2111 - -i "${S}"/config/rules.mk \
2112 - -i "${S}"/nsprpub/configure{.in,} \
2113 - || die
2114 -
2115 - # Don't exit with error when some libs are missing which we have in
2116 - # system.
2117 - sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
2118 - -i "${S}"/browser/installer/Makefile.in || die
2119 -
2120 - # Don't error out when there's no files to be removed:
2121 - sed 's@\(xargs rm\)$@\1 -f@' \
2122 - -i "${S}"/toolkit/mozapps/installer/packager.mk || die
2123 -
2124 - # Keep codebase the same even if not using official branding
2125 - sed '/^MOZ_DEV_EDITION=1/d' \
2126 - -i "${S}"/browser/branding/aurora/configure.sh || die
2127 -
2128 - # Allow user to apply any additional patches without modifing ebuild
2129 - eapply_user
2130 -
2131 - # Autotools configure is now called old-configure.in
2132 - # This works because there is still a configure.in that happens to be for the
2133 - # shell wrapper configure script
2134 - eautoreconf old-configure.in
2135 -
2136 - # Must run autoconf in js/src
2137 - cd "${S}"/js/src || die
2138 - eautoconf old-configure.in
2139 -}
2140 -
2141 -src_configure() {
2142 - MEXTENSIONS="default"
2143 - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
2144 - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
2145 - # get your own set of keys.
2146 - _google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
2147 -
2148 - # Add information about TERM to output (build.log) to aid debugging
2149 - # blessings problems
2150 - if [[ -n "${TERM}" ]] ; then
2151 - einfo "TERM is set to: \"${TERM}\""
2152 - else
2153 - einfo "TERM is unset."
2154 - fi
2155 -
2156 - if use clang && ! tc-is-clang ; then
2157 - # Force clang
2158 - einfo "Enforcing the use of clang due to USE=clang ..."
2159 - CC=${CHOST}-clang
2160 - CXX=${CHOST}-clang++
2161 - strip-unsupported-flags
2162 - elif ! use clang && ! tc-is-gcc ; then
2163 - # Force gcc
2164 - einfo "Enforcing the use of gcc due to USE=-clang ..."
2165 - CC=${CHOST}-gcc
2166 - CXX=${CHOST}-g++
2167 - strip-unsupported-flags
2168 - fi
2169 -
2170 - ####################################
2171 - #
2172 - # mozconfig, CFLAGS and CXXFLAGS setup
2173 - #
2174 - ####################################
2175 -
2176 - mozconfig_init
2177 - # common config components
2178 - mozconfig_annotate 'system_libs' \
2179 - --with-system-zlib \
2180 - --with-system-bz2
2181 -
2182 - # Must pass release in order to properly select linker
2183 - mozconfig_annotate 'Enable by Gentoo' --enable-release
2184 -
2185 - # Don't let user's LTO flags clash with upstream's flags
2186 - filter-flags -flto*
2187 -
2188 - if use lto ; then
2189 - if use clang ; then
2190 - # Upstream only supports lld when using clang
2191 - mozconfig_annotate "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld
2192 - else
2193 - # Linking only works when using ld.gold when LTO is enabled
2194 - mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold
2195 - fi
2196 -
2197 - mozconfig_annotate '+lto' --enable-lto=thin
2198 - else
2199 - # Avoid auto-magic on linker
2200 - if use clang ; then
2201 - # This is upstream's default
2202 - mozconfig_annotate "forcing ld=lld due to USE=clang" --enable-linker=lld
2203 - elif tc-ld-is-gold ; then
2204 - mozconfig_annotate "linker is set to gold" --enable-linker=gold
2205 - else
2206 - mozconfig_annotate "linker is set to bfd" --enable-linker=bfd
2207 - fi
2208 - fi
2209 -
2210 - # It doesn't compile on alpha without this LDFLAGS
2211 - use alpha && append-ldflags "-Wl,--no-relax"
2212 -
2213 - # Add full relro support for hardened
2214 - if use hardened; then
2215 - append-ldflags "-Wl,-z,relro,-z,now"
2216 - mozconfig_use_enable hardened hardening
2217 - fi
2218 -
2219 - # Modifications to better support ARM, bug 553364
2220 - if use neon ; then
2221 - mozconfig_annotate '' --with-fpu=neon
2222 -
2223 - if ! tc-is-clang ; then
2224 - # thumb options aren't supported when using clang, bug 666966
2225 - mozconfig_annotate '' --with-thumb=yes
2226 - mozconfig_annotate '' --with-thumb-interwork=no
2227 - fi
2228 - fi
2229 - if [[ ${CHOST} == armv*h* ]] ; then
2230 - mozconfig_annotate '' --with-float-abi=hard
2231 - if ! use system-libvpx ; then
2232 - sed -i -e "s|softfp|hard|" \
2233 - "${S}"/media/libvpx/moz.build
2234 - fi
2235 - fi
2236 -
2237 - mozconfig_use_enable !bindist official-branding
2238 - # Enable position independent executables
2239 - mozconfig_annotate 'enabled by Gentoo' --enable-pie
2240 -
2241 - mozconfig_use_enable debug
2242 - mozconfig_use_enable debug tests
2243 - if ! use debug ; then
2244 - mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
2245 - else
2246 - mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
2247 - fi
2248 - # These are enabled by default in all mozilla applications
2249 - mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${SYSROOT}${EPREFIX}"/usr
2250 - mozconfig_annotate '' --with-system-nss --with-nss-prefix="${SYSROOT}${EPREFIX}"/usr
2251 - mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include \
2252 - --x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
2253 - mozconfig_annotate '' --prefix="${EPREFIX}"/usr
2254 - mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
2255 - mozconfig_annotate '' --disable-crashreporter
2256 - mozconfig_annotate 'Gentoo default' --with-system-png
2257 - mozconfig_annotate '' --enable-system-ffi
2258 - mozconfig_annotate '' --disable-gconf
2259 - mozconfig_annotate '' --with-intl-api
2260 - mozconfig_annotate '' --enable-system-pixman
2261 - # Instead of the standard --build= and --host=, mozilla uses --host instead
2262 - # of --build, and --target intstead of --host.
2263 - # Note, mozilla also has --build but it does not do what you think it does.
2264 - # Set both --target and --host as mozilla uses python to guess values otherwise
2265 - mozconfig_annotate '' --target="${CHOST}"
2266 - mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
2267 - if use system-libevent; then
2268 - mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
2269 - fi
2270 -
2271 - # skia has no support for big-endian platforms
2272 - if [[ $(tc-endian) == "big" ]]; then
2273 - mozconfig_annotate 'big endian target' --disable-skia
2274 - else
2275 - mozconfig_annotate '' --enable-skia
2276 - fi
2277 -
2278 - # use the gtk3 toolkit (the only one supported at this point)
2279 - mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3
2280 -
2281 - mozconfig_use_enable startup-notification
2282 - mozconfig_use_enable system-sqlite
2283 - mozconfig_use_with system-jpeg
2284 - mozconfig_use_with system-icu
2285 - mozconfig_use_with system-libvpx
2286 - mozconfig_use_with system-harfbuzz
2287 - mozconfig_use_with system-harfbuzz system-graphite2
2288 - mozconfig_use_enable pulseaudio
2289 - # force the deprecated alsa sound code if pulseaudio is disabled
2290 - if use kernel_linux && ! use pulseaudio ; then
2291 - mozconfig_annotate '-pulseaudio' --enable-alsa
2292 - fi
2293 -
2294 - # Disable built-in ccache support to avoid sandbox violation, #665420
2295 - # Use FEATURES=ccache instead!
2296 - mozconfig_annotate '' --without-ccache
2297 - sed -i -e 's/ccache_stats = None/return None/' \
2298 - python/mozbuild/mozbuild/controller/building.py || \
2299 - die "Failed to disable ccache stats call"
2300 -
2301 - mozconfig_use_enable dbus
2302 -
2303 - mozconfig_use_enable wifi necko-wifi
2304 -
2305 - mozconfig_use_enable geckodriver
2306 -
2307 - # enable JACK, bug 600002
2308 - mozconfig_use_enable jack
2309 -
2310 - # Enable/Disable eme support
2311 - use eme-free && mozconfig_annotate '+eme-free' --disable-eme
2312 -
2313 - # Setup api key for location services
2314 - echo -n "${_google_api_key}" > "${S}"/google-api-key
2315 - mozconfig_annotate '' --with-google-api-keyfile="${S}/google-api-key"
2316 -
2317 - mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
2318 -
2319 - # disable webrtc for now, bug 667642
2320 - use arm && mozconfig_annotate 'broken on arm' --disable-webrtc
2321 -
2322 - if use clang ; then
2323 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1423822
2324 - mozconfig_annotate 'elf-hack is broken when using Clang' --disable-elf-hack
2325 - fi
2326 -
2327 - echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
2328 - echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
2329 -
2330 - # Finalize and report settings
2331 - mozconfig_final
2332 -
2333 - # workaround for funky/broken upstream configure...
2334 - SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
2335 - ./mach configure || die
2336 -}
2337 -
2338 -src_compile() {
2339 - MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
2340 - ./mach build --verbose || die
2341 -}
2342 -
2343 -src_install() {
2344 - cd "${BUILD_OBJ_DIR}" || die
2345 -
2346 - # Pax mark xpcshell for hardened support, only used for startupcache creation.
2347 - pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
2348 -
2349 - # Add our default prefs for firefox
2350 - cp "${FILESDIR}"/gentoo-default-prefs.js-2 \
2351 - "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
2352 - || die
2353 -
2354 - # set dictionary path, to use system hunspell
2355 - echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
2356 - >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
2357 -
2358 - # force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it
2359 - if use system-harfbuzz ; then
2360 - echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
2361 - >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
2362 - fi
2363 -
2364 - # force cairo as the canvas renderer on platforms without skia support
2365 - if [[ $(tc-endian) == "big" ]] ; then
2366 - echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
2367 - >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
2368 - echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
2369 - >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
2370 - fi
2371 -
2372 - # Augment this with hwaccel prefs
2373 - if use hwaccel ; then
2374 - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-1 >> \
2375 - "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
2376 - || die
2377 - fi
2378 -
2379 - if ! use screenshot; then
2380 - echo "pref(\"extensions.screenshots.disabled\", true);" >> \
2381 - "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
2382 - || die
2383 - fi
2384 -
2385 - echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
2386 - "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
2387 - || die
2388 -
2389 - local plugin
2390 - use gmp-autoupdate || use eme-free || for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
2391 - echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
2392 - "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
2393 - || die
2394 - done
2395 -
2396 - cd "${S}"
2397 - MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
2398 - DESTDIR="${D}" ./mach install || die
2399 -
2400 - if use geckodriver ; then
2401 - cp "${BUILD_OBJ_DIR}"/dist/bin/geckodriver "${ED%/}"${MOZILLA_FIVE_HOME} || die
2402 - pax-mark m "${ED%/}"${MOZILLA_FIVE_HOME}/geckodriver
2403 -
2404 - dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver
2405 - fi
2406 -
2407 - # Install language packs
2408 - MOZ_INSTALL_L10N_XPIFILE="1" mozlinguas_src_install
2409 -
2410 - local size sizes icon_path icon name
2411 - if use bindist; then
2412 - sizes="16 32 48"
2413 - icon_path="${S}/browser/branding/aurora"
2414 - # Firefox's new rapid release cycle means no more codenames
2415 - # Let's just stick with this one...
2416 - icon="aurora"
2417 - name="Aurora"
2418 -
2419 - # Override preferences to set the MOZ_DEV_EDITION defaults, since we
2420 - # don't define MOZ_DEV_EDITION to avoid profile debaucles.
2421 - # (source: browser/app/profile/firefox.js)
2422 - cat >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" <<PROFILE_EOF
2423 -pref("app.feedback.baseURL", "https://input.mozilla.org/%LOCALE%/feedback/firefoxdev/%VERSION%/");
2424 -sticky_pref("lightweightThemes.selectedThemeID", "firefox-devedition@×××××××.org");
2425 -sticky_pref("browser.devedition.theme.enabled", true);
2426 -sticky_pref("devtools.theme", "dark");
2427 -PROFILE_EOF
2428 -
2429 - else
2430 - sizes="16 22 24 32 48 64 128 256"
2431 - icon_path="${S}/browser/branding/official"
2432 - icon="${PN}"
2433 - name="Mozilla Firefox"
2434 - fi
2435 -
2436 - # Install icons and .desktop for menu entry
2437 - for size in ${sizes}; do
2438 - insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
2439 - newins "${icon_path}/default${size}.png" "${icon}.png"
2440 - done
2441 - # Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
2442 - newicon "${icon_path}/default48.png" "${icon}.png"
2443 - newmenu "${FILESDIR}/icon/${PN}.desktop" "${PN}.desktop"
2444 - sed -i -e "s:@NAME@:${name}:" -e "s:@ICON@:${icon}:" \
2445 - "${ED}/usr/share/applications/${PN}.desktop" || die
2446 -
2447 - # Add StartupNotify=true bug 237317
2448 - if use startup-notification ; then
2449 - echo "StartupNotify=true"\
2450 - >> "${ED}/usr/share/applications/${PN}.desktop" \
2451 - || die
2452 - fi
2453 -
2454 - # Don't install llvm-symbolizer from sys-devel/llvm package
2455 - [[ -f "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] && \
2456 - rm "${ED%/}${MOZILLA_FIVE_HOME}/llvm-symbolizer"
2457 -
2458 - # firefox and firefox-bin are identical
2459 - rm "${ED%/}"${MOZILLA_FIVE_HOME}/firefox-bin || die
2460 - dosym firefox ${MOZILLA_FIVE_HOME}/firefox-bin
2461 -
2462 - # Required in order to use plugins and even run firefox on hardened.
2463 - pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/{firefox,plugin-container}
2464 -}
2465 -
2466 -pkg_preinst() {
2467 - gnome2_icon_savelist
2468 -
2469 - # if the apulse libs are available in MOZILLA_FIVE_HOME then apulse
2470 - # doesn't need to be forced into the LD_LIBRARY_PATH
2471 - if use pulseaudio && has_version ">=media-sound/apulse-0.1.9" ; then
2472 - einfo "APULSE found - Generating library symlinks for sound support"
2473 - local lib
2474 - pushd "${ED}"${MOZILLA_FIVE_HOME} &>/dev/null || die
2475 - for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
2476 - # a quickpkg rolled by hand will grab symlinks as part of the package,
2477 - # so we need to avoid creating them if they already exist.
2478 - if ! [ -L ${lib##*/} ]; then
2479 - ln -s "${lib}" ${lib##*/} || die
2480 - fi
2481 - done
2482 - popd &>/dev/null || die
2483 - fi
2484 -}
2485 -
2486 -pkg_postinst() {
2487 - gnome2_icon_cache_update
2488 - xdg_desktop_database_update
2489 -
2490 - if ! use gmp-autoupdate && ! use eme-free ; then
2491 - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
2492 - elog "installing into new profiles:"
2493 - local plugin
2494 - for plugin in "${GMP_PLUGIN_LIST[@]}"; do elog "\t ${plugin}" ; done
2495 - elog
2496 - fi
2497 -
2498 - if use pulseaudio && has_version ">=media-sound/apulse-0.1.9"; then
2499 - elog "Apulse was detected at merge time on this system and so it will always be"
2500 - elog "used for sound. If you wish to use pulseaudio instead please unmerge"
2501 - elog "media-sound/apulse."
2502 - elog
2503 - fi
2504 -}
2505 -
2506 -pkg_postrm() {
2507 - gnome2_icon_cache_update
2508 - xdg_desktop_database_update
2509 -}