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

Package-Manager: Portage-2.3.51, Repoman-2.3.11
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
This commit is contained in:
Thomas Deutschmann
2018-10-31 22:29:00 +01:00
parent cf4b8d6c6a
commit d01d14fc67
10 changed files with 0 additions and 2402 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,13 +0,0 @@
https://bugs.gentoo.org/666580
--- a/security/sandbox/linux/moz.build
+++ b/security/sandbox/linux/moz.build
@@ -101,7 +101,7 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
# forcing there to be only one partition.
for f in CONFIG['OS_CXXFLAGS']:
if f.startswith('-flto') and CONFIG['CC_TYPE'] != 'clang':
- LDFLAGS += ['--param lto-partitions=1']
+ LDFLAGS += ['--param=lto-partitions=1']
DEFINES['NS_NO_XPCOM'] = True
DisableStlWrapping()

View File

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

View File

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

View File

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