summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2018-11-04 15:58:51 +0100
committerThomas Deutschmann <whissi@gentoo.org>2018-11-04 15:58:51 +0100
commit024d909331852111122e78c935882ef5c579465a (patch)
tree7f6326643b61eb4f4ce61ed6eb0dc613b7a73da9
parentthunderbird: fix manifest for 60.3.0 (diff)
downloadmozilla-024d909331852111122e78c935882ef5c579465a.tar.gz
mozilla-024d909331852111122e78c935882ef5c579465a.tar.bz2
mozilla-024d909331852111122e78c935882ef5c579465a.zip
www-client/firefox: synchronize with Gentoo repository
Package-Manager: Portage-2.3.51, Repoman-2.3.11 Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
-rw-r--r--www-client/firefox/Manifest184
-rw-r--r--www-client/firefox/files/bug_1461221.patch36
-rw-r--r--www-client/firefox/files/firefox-60.0-blessings-TERM.patch70
-rw-r--r--www-client/firefox/files/firefox-60.0-do-not-force-lld.patch262
-rw-r--r--www-client/firefox/files/firefox-60.0-missing-errno_h-in-SandboxOpenedFiles_cpp.patch27
-rw-r--r--www-client/firefox/files/firefox-60.0-rust-1.29-comp.patch37
-rw-r--r--www-client/firefox/files/firefox-60.0-sandbox-lto.patch13
-rw-r--r--www-client/firefox/files/firefox-60.0-update-cc-to-honor-CC.patch745
-rw-r--r--www-client/firefox/files/firefox-61.0-mozHunspell.patch25
-rw-r--r--www-client/firefox/files/firefox-63.0.1-support-latest-cbindgen.patch29
-rw-r--r--www-client/firefox/firefox-63.0.1.ebuild (renamed from www-client/firefox/firefox-63.0.ebuild)2
11 files changed, 123 insertions, 1307 deletions
diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest
index 576532e..ecac3f7 100644
--- a/www-client/firefox/Manifest
+++ b/www-client/firefox/Manifest
@@ -184,96 +184,96 @@ 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-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
-DIST firefox-63.0-ar.xpi 513464 BLAKE2B 6eae7b5feeb91906ae05c7a71fd2e8a77ff6c5d63ddfee0726e198c8573b6ef8edcf04d28e59a51af94d8023dcedcfd11bb70d065252c902955c466297bb95bd SHA512 36285e94dde3bbb2167c5190a109adc9c6f3f07c50f7881dab52e3a8050b5df59bd8adf1378f902f27cf16027b185ef0eb8d8cf9724458a841206b7bc6d61d6f
-DIST firefox-63.0-as.xpi 482195 BLAKE2B c15e8c8881adb0053707f5d7dc39f026185faa2020a3459fdeb3b8a4cd526d6c90224ed04011caf1d6827f14788d8ba33ff4937d9536132dbeba6fcf628a9ae8 SHA512 846ccad1ad967dace61590c10390e1814cf0d9078d009951c4549498c417603f11a417f05da11e7ec1f3be15e87527bc9c31c948e758fd48deefe98b3e9f7d92
-DIST firefox-63.0-ast.xpi 465656 BLAKE2B 52d45aaa2873111ae32df642d68de9a0eaf7745fba7c4b23d537923fd35e53f5a29414449beb3181f23d78db41f20f9e3662465210554692e858bf90d442b109 SHA512 3344428c74708e8e21338bfe24ac4271994e9a6eb11632048601bbfaa5fc5b0ffd6563beedddfb9d9648a3b08c96fdd15f6d9eb24e11b8dc55a642cca45a76e1
-DIST firefox-63.0-az.xpi 490944 BLAKE2B 6d1c2a394ebb2a3e520b137545c4feead196b1e59f413d52ebae05b9773b31d133954f4ef9571176cea75e3d5084fb5778410ecf366bb42976c7df3fb8963a85 SHA512 7515d96d1866cf603ed08dddf5fbfceab89ff7ecdc40c4dfe4ce83f0673358b76e5120a61f42c7fbfc1293063e270ec7ca4f9d620349a9dfe51ee125528d1bce
-DIST firefox-63.0-bg.xpi 523523 BLAKE2B d0faadbf781c085c62684d6c38bca8e55e2e4cad5151c1c05b14f2760e2a6b65d2b0dae56e112535d2e8a98faa4d17116dfd5ea501a43dcccb36fa91a365ca64 SHA512 1c3b1cc454d750550a3a1c4d3eb302a0d4a8a69e75c15cf7104ed311894faaad82ee436f9e3cb686cfc15d092a43781a9d433b0f11ec7b7e71d910875c6be44e
-DIST firefox-63.0-bn-BD.xpi 548594 BLAKE2B 2d344bf2d1459cdb7bc24f03b7d15388a6af388ba2573c1dbcf81b545ff8e21ab8c92da822847b872311999712cd736f24a3295af4e324d17f35d6a6f102da8a SHA512 f1f93dec43da6a12aa7ded4ed560a322f5ccf281c8994dd6183aeb7b1e85015b24174b3ce6e917a13e180e4e509dc7088c4d5a59ff283a514ff21ac5780f95e9
-DIST firefox-63.0-bn-IN.xpi 516020 BLAKE2B b67c118924740e92fbdf16862f2d41d3ee123faff23b83575b57727b69129a74b4b2c369b414f1655b5fae40d063edb853cf52d6a6fdd14579bb1641c7c2c6d6 SHA512 b52a114cc07777d2cac1557196213039f7d5348f3c7b2987221673c6556dde9679e7ad34ccdaf12c1f937b2f922850756854ceb0d0aa4854b9d3188ffd98222f
-DIST firefox-63.0-br.xpi 474388 BLAKE2B 1a3f1d4928de288681e7c5a8f342ae77f8ddef8fd086e6eb298832031fdc1e48154111bc0a70412a827fb22238a3736da509b643aa1db09fc493efc6ee0b90d4 SHA512 38c88aa469e715d4e08a738abba2ec06a22740cc38a7652d47938a84b66fc2bbcef22e156874ce9cae3f06b1bffd0f7a3a5d833c8968f559b9104279cf2ba78a
-DIST firefox-63.0-bs.xpi 472888 BLAKE2B 1c96d6f9f840cb0dbd497c44be92a01ead1cb1efb88be4e841b55e2c7fe7e20798642fa6859a4dc99c5bed97179233ea92f2f26c749dcef670c7ba0522e7db02 SHA512 c328c4396792f26463ba9747ba744d462696e9aec141fd41e0ffb8ead5c171480f1604bf2121bf6ea50d6930f96ace8e7cf658ae366c8a13fb868134c35da3fd
-DIST firefox-63.0-ca.xpi 469245 BLAKE2B 4cbe83f5f45c921c71db836e685878121b8e2b5e758b145232dd26302b7f4c0595ed65a70629ccd1e60814a43e127d1824505122ea7ad25fd355df78f735bef5 SHA512 f707e8f9548a0f493a4a563fb633d9c3aef5080e64169610760222b2c1752bb1e8596ad0fbe87b1a83150a3d65acb21f939be6fcfac374d1559632f001e5a860
-DIST firefox-63.0-cak.xpi 502728 BLAKE2B e8114d33c7990266af717118da9bff9a24816bfc5ff3c4ed3182712014e101780e30a798f37ea0e99c92b95a7ba6f00fd8e4bb7c83e51f1e2b3ffcdcb8cb9482 SHA512 7f15bab33ed98996fa91a04866331f6512607c39372cd37e3ac2e1820754e38c60cadb21e19d96e84df0b1c713471f634119666aba4f08f55fa025132ff384fd
-DIST firefox-63.0-cs.xpi 489306 BLAKE2B 3f3834e971b94e8567823403c6c1aef08fd0553e8950e191333adfc6c7b400ec100b435ea731c18ea63f920abbf69138fc79365134af4091e98341467d212aaf SHA512 010d7244f990b970385e943adf8999bfb1cffd7fb91c2e8d4d7399df66d1765ab924a8fd582a5f315f096b7d70ce745936fe3f299fe1241e57c1ca32d35a46d7
-DIST firefox-63.0-cy.xpi 481078 BLAKE2B fb4a423092ad799fad63843d9ac75c8f24c5bfa0527d708f4939d661e72cc708c73d9ab057fae6b358ac44eb6829f535ffc32f0057ee5da936ab44116401b151 SHA512 f453161c1679ac99dfb897db7bedaf00e49ad92613057d73b6f2de4fb714cd00bb5526a18e37773c217be7d21aa450e874bd71ebf3ab8dd3ccbd529375f8058e
-DIST firefox-63.0-da.xpi 481835 BLAKE2B 1dbf68caa58a6763d6c06ce8a9bc0e6b99e1636daf824eb35ac6927b50146926236afdb25756075fae82a02cbe205cc8703713239745f5185b196863dc630b23 SHA512 1d2bcaa0f0fab5d37dc42d3d7ca548694ce8352013991b3841b3b6e5546d67d5b28aacdad9e03fda7400494a2a7e74296e233ee2e10b6da65f5bc17ae2a16ac6
-DIST firefox-63.0-de.xpi 491998 BLAKE2B 25935204a4fe192a66162b584f0b6ed84079678280ce777047eb3a135f4fe81c8660ec83da13dcff70b0fcef7a79abf0ec3edeaf09bd9e6137a3a068a8a00749 SHA512 b69fafb6b21f6e36218d7fb8ba83643fa16570ce993bb52e8a09b775875f63ac5e9f239ef6cfc30d211d3b7f0f903da1b1cba8c6b1411d61f792d7a9b7777340
-DIST firefox-63.0-dsb.xpi 500887 BLAKE2B a3f046bd1ff8ef4375d095efd8a7bc93a2f02318fcb70e2c665bebbd84c58aa87b5c9f9bf270b8c0f4589fc371511730f739275d35bf9c482af20c3e045effae SHA512 6b306dc0d59da1dc7c5465e16a25cb6712eed83409a00fb996d25db8f184021441c7add280752af696183d4d3b0675fcdada3898ba5fd05d9837fc6b5b6de33e
-DIST firefox-63.0-el.xpi 558442 BLAKE2B f70a93d5f94d86ee511b2402ee7bb101d83b40380e97d65ea4957d5831897cd43ab21ce8328ba757adc06a754d8938706af45315381db87b50369ab5900b8e49 SHA512 0fd25a5392e12dd29e4a67b29620fd79dec1eb3565936bd34d25695548aadf81c5e4a55a09971d4fdf80e2790643b8b8be44b3a9ba97e26780d4f02de8f8fcc5
-DIST firefox-63.0-en-GB.xpi 442413 BLAKE2B 3414c895cd5a815fabc9a9ccbeaf650edea19883bd81c5d21cb007d610048bc4f378c7f02eba117f6565ecd65195d7af6f5ec3c3eca57cf9c36a884b155e9f1a SHA512 0b074833fe2b11c4aa2526f8303b2fc6395d71f99b222173917c4fe04afe6f63000c73f22cadeb907245dfd86cf33cf093c3c886c7e27682f93be07a3f65741d
-DIST firefox-63.0-en-ZA.xpi 427845 BLAKE2B 0b604e3a8d860d46fb34cd3cc3fcddacf99266da763b921c150068ceb921e2578700177695663e761410f8d3e739ad5ddf899fa31d5941e2ebf31b20eed05007 SHA512 f7c5359117d5bbb83c525770cf864dcc92698ac41626e899d0c522c11bff9dc3e143d7dcc8c4bd89db0c170fb05cbb197265ead7e0cc4691a5ae3d1e6c4c5c51
-DIST firefox-63.0-eo.xpi 478961 BLAKE2B 2d8c6a010c8c0725679fc0ee4f71fcced2c7bfe3b364688144e6f537298510decaf539a29539f9ad9e4b7382f4e17566150767006dd60216429db119d98d6fca SHA512 d0084c4dab83f975bfa1060d5178757d91ea4797d432a9dc923adc04ef539f35b2d9208de58ab440fdbe145f0e302da6c06d1d12111478e45e291a528ca923cc
-DIST firefox-63.0-es-AR.xpi 486912 BLAKE2B 77418140d5f32b28c87d8f034930008d833d1173685f7e390a3c33af39a28836ca126ee585c3ccc6190f970093b8e9124071720408e48d4e11d6ae0a308aadd4 SHA512 e3cda4f2ba9d5d2de44889a6ae6d1a428e5c927b7dd8c5e5a55efe58ed49b87dfb968ad30a19eab9213cb310b6d509077d15e4666f6bb8f65d7012ef5b43dbeb
-DIST firefox-63.0-es-CL.xpi 487567 BLAKE2B 51627814499ed5611a0134eadc044e98880587c76566bc41daa4c3f071c9474995f8fda3fa580989ac851b7daadb18d731353343acf93033f5082cf3b9c1e5e9 SHA512 c58ff50f5513325e152f00fde250026b378ce338a6f79e7001ce50deba531fd211fcd2dbf9e0dc7afddcd6c7720baee38f8230184c912bc5147a7855a5177e3b
-DIST firefox-63.0-es-ES.xpi 431428 BLAKE2B 0b3b666126b8d9704dd8ce26a90464d4fa07294cd6bf61e7f97e129c5cd84d84ec241bf6ff2b2221dbf5429555e76b96309bf6846b5d7aae633378abd66b6886 SHA512 cdf9858c00e63e4b3749ac4a742bbfddace313852498d37c2ffb076e72540fd0b60e6feeb9effd1ddfb7d3d781129caf8980ffd7eaed4bca7c3734d97d1ca8dc
-DIST firefox-63.0-es-MX.xpi 490502 BLAKE2B 9d5fa539b6a6ba9ff1b27f89c8e6d403aa76e50c6b34c0496aacd2cf870fdde998f94e47cb4a2124a9bdf6c1ff9be58486a542095dc3890610a56e956432ad31 SHA512 acb032d594e7b8c0aa758bafc5f6729b471fab147138f6c91b501fb6176c28da7a714ac441c37bfcce64f1969591f4217f772bc63b0ed377e3599b46098381cb
-DIST firefox-63.0-et.xpi 469981 BLAKE2B 29e8a99f183594dcbd455b9caf69144eed3af8db3ea7e4cafdef0f2314b77b9fe7e186e7ffd34c50ca94c347c044bf325a205101c46cefc00bca86eb7aec729e SHA512 18a19664422b23d533bb0f2757555dde8466e7ca9d087623ad28bb96b1626ca78c4bdc22cb286090073e3ade743e55c4893f075f5b7e33f7643706bb1448b033
-DIST firefox-63.0-eu.xpi 478606 BLAKE2B aa07c26cd60ac1c4991a7902f78ca24849e32a6c80e342bf397437bd486b927d62a6e5f84b0358e7a6221e84568e8116e1501a322f74260301c67f25cfa2ecdc SHA512 714da4ddeb97993240d7ce6137112fc38f88afac11913dcb808c19108f9eee11937035dffb3d9625e78f80c2403b26969289c6954bd2c7729761aeaf1fa12368
-DIST firefox-63.0-fa.xpi 529588 BLAKE2B ffab7d8bbe7fe8222f9bc994bc7ab7352b7e2d85fa3dc1e13f293d3ea83b153f7627cdf68122b6bf5a3eb4a587110e70eb5250607cf8eaddcfd79e1e6b9dc459 SHA512 5e91a95d446401f9dd7745627814f4430b5e755448f8aeadaa995476dd0eb568381ece5ba6397b232c50d866c6c8d9b34784e5f1ba5481cfd7616d905b78aeda
-DIST firefox-63.0-ff.xpi 467968 BLAKE2B 9acdc18aa45fb122694c2f89218b244d1bfc570513a9b8df8610380b7d4766f574c14af87212b8f5b40e1828c2dd19a9733bd9c40aaeb0c876dff931d94c9e0c SHA512 98a4f7d7876dcbbd36b54b38a779cb811eb2520b5e24ab0400dd65a98fd71e27360f436b657ae77895096bd82702d9ec0490ebe54e900e837de6507c8c9264a9
-DIST firefox-63.0-fi.xpi 467882 BLAKE2B e8e4954302db97ef6a3071ecb63845ae584a7bb3532a4e6285c488c2d0605e95b5ca566c174f7798168e0efae2320a005c509eb708f832b7169caa26e4a0cc55 SHA512 142b42e4f8aad26842c8d56a13f3e9cb45001d75111828a658fdc5351dce7bfee219deb0ab786b410d0bc82d037e6a20ffa1a216b6a2dfce9fb2f859ebfd7f11
-DIST firefox-63.0-fr.xpi 496627 BLAKE2B 91ba042c1e0a76232044ad0ef94699041b630e4930fc4d64ac8e3cfc66630398f00b68dd9c627b84a3d36347c95fa828e6a06873e18fd7b08bf75c14e4d32293 SHA512 239191610045547ec4a612e775fe2e664dc248c6b0ae573f62769a549f5912d6edb23200e5d852a669ab52b071605e88937da058f3b9ce4b3b52aae57c323257
-DIST firefox-63.0-fy-NL.xpi 485367 BLAKE2B 69ab63a012676708962c6d93a37ee360ad18863fbd855f59bc35400fd329bab7cd932796b34021bb5a1285c0dbfe8cfc401047c9c1c5f42b4b8b43d70212c6a3 SHA512 66b008fb3c1d5264e52a0d6ddeee27bde5b940c14d15d168dd7bd2d99869ed35c7b3ae018cb0a0f4f301167dffe612405de0918eb8e023d6043e8e993999e1a0
-DIST firefox-63.0-ga-IE.xpi 479146 BLAKE2B 723589411459886a977eef24e1d7f14d89e1c0dc41e17713ac323d5575128ddc8249417b3c8d89f67746166fad7861ee8f6e3aa75ed2f6e25807e01b5b350846 SHA512 6f82f871f47b09dab1b8f9bd2b54a2587023594d3b3304ad2060c0f6bed8da0b7eceefddcfe5e1d4e287759dbdc1dc6769cacb16b74ab70305525bccea0da94b
-DIST firefox-63.0-gd.xpi 484600 BLAKE2B 8eeb511c26116a2607d755cf91b3904c8b4ea3d12c2802f1bfd1108abd21dfee8c867cfe545fdb230feb468296d6687db92f87355a5192cd810588ec5cb22aa9 SHA512 a09433dde09f4f8cc74776042a2ccb158d81693acdddbeba69f27d2dca7d82cedbd6e172149dc638d4b7bc7b1b9ecea6f412df941b0206a067c20b9a99f1c819
-DIST firefox-63.0-gl.xpi 455900 BLAKE2B 19bdae4247a9ce8d0790911577672a1bc1872810baeae9bb25b356877ed8e64f0e9dbb6c54a1fa1c33743e29fe6df43c306e7cc1d1b974d6933285f2597db581 SHA512 9c56008253e22d70797954d49d724fe6e1f385188a246e20c5f3a9d308e726fea290109ae0877bb4c347cf606d00ccfcf7dcacd5c5943bacd5cba5639adcd64b
-DIST firefox-63.0-gn.xpi 496363 BLAKE2B 27c1b89067cb0cb66558cbdc05527688993fc9fe2d586ef14161fc86357a058602125c280f29e6c2dc553150b1a09894527ac355c028643397c36124975981c4 SHA512 6861517171bbf0bad27da445dda258d11a61d5ec336d67132afb13e06007abdac82ea3fe5f664c6d0fd77561ce5a4be7ede8aada7ad23dc4a8b449ff78ef8382
-DIST firefox-63.0-gu-IN.xpi 556299 BLAKE2B 98f9a5768e991bf4f11cf26d5829df55f3f419de2e14281f7a684d027582dbe821a67afad6133a6870af7c2a43b0c617cb739dd3e5f6ced2cbd4b19148154037 SHA512 2b71166bb9bc89aa25e37997a25fcfc500b0d16b68b107facee4b175a057f236e5a48d2522f17b13572c5fe9f0808baf9cf7148fb36437cf9f6b50395eb412db
-DIST firefox-63.0-he.xpi 486232 BLAKE2B 03b0d5c7d967c72db2ad4664a23351b1f9a29d3cf9d2ecddbf67c69b485e2c416c2710052ed0986f824e0a14c908d43cc79f85d3e92a6f66c379bffc69482291 SHA512 65857ad3b966883aa4005f44a1dc4bfef042c72657475462abf6fe7748e3708a09bb234546adeb447052e3954d732e4b1ffb4194650ef7cb485f5cf2a40143ee
-DIST firefox-63.0-hi-IN.xpi 545388 BLAKE2B fc08ecdc1871566aa49919c987c3f72b62dda96c7b02d009f106e39397a27effc83e5c98985ba46c96338029fb3f1b0b567273262acbeb5d4b4659db1ec4f802 SHA512 3a541e6066147d380c46fabfce115c651fd19e59672c64578ef0d39098d81708f76b4edc3e73b36f29a224df1e2ceef022d449c2d744eb853d66e351967f9fa2
-DIST firefox-63.0-hr.xpi 468490 BLAKE2B fc4f91248cfc8fbf3f9518d2bbe8ed701441e40993657c3d6093339d13a57f146452ab8b0ec7dc8dd6eff81911ddfecb53e166c3ecf0c73bcc34bcf885538556 SHA512 79a64551608f57975e3bf6127973c6c5d4f55cf0f0922401469b9102284ad0d59876c5c29b9d6afe352a87bb371a218bbc6c92e5753f3f07b9a8fc0a341125fd
-DIST firefox-63.0-hsb.xpi 500688 BLAKE2B 319120fb781e66d2d8c9e580b1d604527cb0bf35e5ddb4a00313617a4cb9008edf36bb6257fb16f773abf6648baab24c088b36e8373b243dcb4b65ec921e77a6 SHA512 d36105fc657ad82d3c4ec3b9a53481b98bda13b4f7eaa6cdb8369725802e29c410077f7b021fcdb21c92023b3163156acfb28d8c946f9e98f8ffde81281b89d3
-DIST firefox-63.0-hu.xpi 497767 BLAKE2B 054650b2281dfd6843ec7c7c5b5334e88a1858a098a4c9832658e28639aab30b504ea792687185cd954c8f220bb443d452ff34d89eb2c1e1ac718a8b5298f80d SHA512 91a10579467b5e9b2b2fa41d50330f947c24734eda3e61c09b2901451395b238c9106bf27ac550d54e9e91e04020023391816f38f13eca6e1e1e8712f7dfb053
-DIST firefox-63.0-hy-AM.xpi 525183 BLAKE2B 3810caf2cdfa4a599b9562d1cc4dfccbca95665cbd34bc0c3b7e98628e478fc213b4314645f1f36416daecd20954b4336fefe14228435dc5976192f291a30816 SHA512 a43b3024187cabd239e9ed838dc2e15078cabe9e5a40480639d7dbc3fef69d559c6e94c1aaa9870f280f6175389fb9adfbebe89379b5796b697f63ffa5100762
-DIST firefox-63.0-id.xpi 468258 BLAKE2B fa58da4bed97c0c01c4c289cfa5a0fb4813e4a7658105cddb2bfe12792eff0c5810109295d899685ec3843ef112415d07e05a261c1c773c9cff177832c928489 SHA512 56d03a13715be634938a3f5296f9cc7a6fa9206857ee70bca2250494e571985dfee408c9f374ba640cb7d9592e71dd1cae0ee604e9b363b3f8aa6049f17140b1
-DIST firefox-63.0-is.xpi 467334 BLAKE2B 9fb44b042bb829ed75a62b0462c8d90b644882f57cca0c4823fb7cc9f30043a5be2474584ce254267411f7eb423b62220515f4809d3d2a3d5d5f167cc1657972 SHA512 93286997a1c084328422761b4a44d2b7a5ac8364cf6ce80347a4004a7b474341315ba24a9b864c09f118ff766f3cf40f1a6fa0f70454663530e88cc42ef2f1fc
-DIST firefox-63.0-it.xpi 351091 BLAKE2B 40c60d03dfa749c068deab11023a840cc9a460e3027be457dc1d34fc4688bfeeb1d79eb677b78414843d04c776407989cb909150c7d5aa8d56314a798ce2d0dc SHA512 83e711db8d3fcb04df93c7ce6a0296f439d82302ac2a1d1573742599833c5207d87eb0892c0d1ba87cbb5ad53a4094a849b7d65805f28f6c5049039f4cefef0c
-DIST firefox-63.0-ja.xpi 502001 BLAKE2B b9d380cf09bf0ff5954b3c29acc3b172fa708cf8a6ab810d04a72731f6ec5e7644056c0e3d3bd7e733f52f3db66ce67cadf0ed42f80c040a8c10ded977baa247 SHA512 63e3e132f23aab9d91f49bc471c2a6d7e2da2f2404aba4da7d67dcad08f046cd0c1aa8ef4d7d3c89a5d1ed75f1364a3d20247fee2549e56f88e62b84a011b6a4
-DIST firefox-63.0-ka.xpi 517228 BLAKE2B c6f7245d6929995e585ba9ebd0d72ebad147287a07081c3354032faecdb5c49ee1a7557da16317463338fa9d20f449e02a7dd484b44153afbfb73ca125f2434e SHA512 786b66765acd398d683bf13bbd45c1b123e4357ccc46521bb55b0fc183fb84b8c525cc3a45680287d8de36f1cd0fad60f6d2d6bcc839b129d2a364fb3688ec9e
-DIST firefox-63.0-kab.xpi 490513 BLAKE2B 0c776ba991b8234b1ceabadd2202c82941a0d8bdffeb1ddd26a335f99a0c36c873b73002ce44e94103f0fa81dc89e92f5c428cec4d26b921d1f74a6cd6a01c1c SHA512 fa4ee6c29a7d19268d0e8cd747ca4b8f2abbe54b75413855e63aa289b35af244446b5c44424691b4ecbd74ded3ffac606e1250b9e62556ec668b97a2cab93362
-DIST firefox-63.0-kk.xpi 546399 BLAKE2B 22e695b7b9f5b659d846ed57a1b31a70711dad664757d62c1492a94735e449bc20194f8b08ad251f7776b68ba16fa2ad3adbb990ef05418b72fe7e629f70c79b SHA512 3f9c3664eabcde201d6e5e31d34b4301d2518955a7443de67c60400e7fcc434752bc65e90ddc428acbd965d9954a276a0b590193542841ca0c85b1cacc6d06af
-DIST firefox-63.0-km.xpi 530622 BLAKE2B 9c9c7ebc3eda2d154e633e34b9b9956b3a5c3b3f48f7a32f8c919ff2d61264aa1d4c195ce7a8b482db620f45ce8cb0254634e2ded32aeb49a727f037c3c3d4d3 SHA512 a0589f4921444f2ef99939146013def2e6239a2e6bea377dca7e69a3839aac8b8c8a30363b6ecdc8bee709ab7865009e4b25b8dc7955415b7da900b5d72c5b82
-DIST firefox-63.0-kn.xpi 536458 BLAKE2B 6bca2a2bfa059f93b727dad91592d7f840fe9d07cf29186621a3423f6de4a5b6c5daeec7c03200f6134bb1b022bb539f40a094f6c6ac1e3caa7bd76914334ddd SHA512 14a164a0de395fc8a648ff8aa8bfc9739c92d18c5d7e713a65bce0c00f33ba6cb8974e104423b4830cbe203cfa9815229acf9ca8c742ef1c853fe7e4b1eac386
-DIST firefox-63.0-ko.xpi 496524 BLAKE2B 5f238db50549d8a1d79df79aecdcbe878cc0f0f1ad7cbf189d7110ab0fd5c98b4d8b14c0b3fa32f5717f4883ef9bd92bfcb010e264286f721a1b6feac3f2db57 SHA512 f445245fe04777fc58947a75a907dd9a8ab5ce4d60d66d020ad29303c0cfd7fc82d13fcd65152ef1118d59ff982236a5ec58211d19bb15c2fbddc14868bf81b3
-DIST firefox-63.0-lij.xpi 478454 BLAKE2B 38a4335534961ec77c9cefaf3b6d8cd0524d255684e7fadddf7d8989e239b3dc855b78dd3b707026aa6a2b8338e82afae1c4b1aeaf4ed87ed0fd07e1f4396bdb SHA512 f1cf0ec7e065525f3f8202dd30dc49f3d3dacd1bf23dd0c3b542354b6a6baed07256a5878a5ac2bfd94b4253341e608166f07b026815960fc329ead002bc2c29
-DIST firefox-63.0-lt.xpi 501126 BLAKE2B 9ff5d2e3171d82500794d7875ac890d1c71a4f320832646b2e8c6c6999b7a96e32726e8ac36434cc64faa41e7d4c3ee60e9a4db3d25b13f237580ac5bad4792c SHA512 f4da076489276ac890ee48b553daa0e64443bd8aade477c90acb6373560fb492632fe007bcde1832396cb6bf6316a24d9458dd9146a10908ce1ea93a5a943907
-DIST firefox-63.0-lv.xpi 489159 BLAKE2B 1c1414d0fb5d83747a094ee3ebe294ae7385700441c4b427f21395a5d37e408a15aa667401b58e26e1a7c9e4e0cc754f84a8c4d0b309b634d82a08f88980b9a7 SHA512 8e92df695c969c094b743b4d36a51fb0bb4e85379c2af6f48c9073d9fd9824770ba34342b98a239677b4bfe7e7f8b1d03f8de622f0c4bc23d0c699e9a7d3f353
-DIST firefox-63.0-mai.xpi 498749 BLAKE2B 419c0f62c8965594599b5eae2658e4d7af4b833ada39c7c7a63b3866d6af334614881c582332396308150e4fb35a2dbc37fd4037c4d5e1c2ed45b80d34ad3543 SHA512 f19e5cd79c5bbc426d0476dd2e2828efe46a0132ba51ed9df3e6a2691064cd50d455f1e5343f75bdf1f480e63d6f6b1f5132d5c791c537a415809699e1fbb10f
-DIST firefox-63.0-mk.xpi 463726 BLAKE2B 09bf37693ba765eba6303513578ee827fbda36c39d9a429be28fbba9bebe2bf179430e67ac6a41c69e5c97edb4910466cff80c89d4d3dc589f82b131274e3fc9 SHA512 07fd859c9ba9a61833f8cea1346b1b826292be3275e28e1ba752d33e314722db39158df29235b2c5a812fdd71b9c18ab19f88f1c155818deded407e6f8feb105
-DIST firefox-63.0-ml.xpi 546422 BLAKE2B 08300eb4cd28233319bcb4a45274e61bec88dc7095e905a17982b765432ee339538898eaf61eed2b590fcd79e23bd9a335cefe2cefce26f66de10d7a88c58d5c SHA512 026a56a6ecba6964aecd4dd8d9a811d4da5f794cc307aabdc06fd364c6e57460a88ae234327db4fec1895a3e448fd6fd17361a8fdcaed5d26ad784f943df5b61
-DIST firefox-63.0-mr.xpi 538968 BLAKE2B 2b104616d080da0f0ae7c2a6af604ed39270042eb05f4a137d06b6b653077a1aeeb129ea91e681516c5c9210d2979731959f8e4b76104a917b0855adec7318a4 SHA512 6a19687e96f30c6749c27f8fdf132867101c78e5e604bd384305e017eef4fda17d9e69db4b51dd6536626e63e7cbac8c05da9e6e44e87c3a03c81aafd0a968a4
-DIST firefox-63.0-ms.xpi 471525 BLAKE2B 001cf23507c4ecb28510db1c3fbf867b1bce942de5b29a47ababf9c054007ade5ac9ca6d6b1883d2783467c1e1438b57691e408d0618eb56cf4d4195a8f485fb SHA512 d40ae2d6f8c7b9f851e5207350928ae42e6c92790780d97985184bb4da7dd81f2478879e9784cef75d465c70b9ee2751ab97a3709e1fc45913468cd42489d7b4
-DIST firefox-63.0-nb-NO.xpi 470897 BLAKE2B ae0046a256612a063afcc4ddc08dde7cbd1d9892d91b51f19d888d377956b66c1e3bfac7b41c0888cd308b620bdfeed200a91c617fa53dddfda013951eae8a3e SHA512 35a8186e0bec339938f8e433c505cf18b896d129f800b577b8cb2eb739d7d256ad904781ac6de8640169ac83cfbb75ef0426cb5ef7cc088f32b66f2e1cb37110
-DIST firefox-63.0-nl.xpi 460037 BLAKE2B 5944fe36781ce4537b55ce51aa554b5c6ff8ccea7b25cd3a09eec1f942a8c299a7de21caf5183cfba37ef7213b2c23592abb9f27ad250fee5012cf748d2d6308 SHA512 47408951dfd5345f63ab86bddf66d1b01ee4b4f0746f6d2a7e50193aab1e545c97b0d9817a7cd66ddfb47ee9a0d1fa22efc85d0d3ade9c4f164927f1b688c60a
-DIST firefox-63.0-nn-NO.xpi 469109 BLAKE2B 78e385f69f3d8f77934a188faa5e0dc51c3c600417d741c543fff2cef9593cdbbccbfe0f106e8225b7ec90d84cdd14946b0ab4ae71450a14adda0e6aa29c5b96 SHA512 9650220e126f47154762f1b12e19157e91f53844198d7bb47bd5691140a4bedfb3c0dd4e773012692483b4c285ce4bbcea3e174643b554f616475e1c873596c4
-DIST firefox-63.0-or.xpi 489354 BLAKE2B d1038fcc3a6f2c7e0e7805040f40a448c531d1dcfa92ef22b76349f582ba41c8340f52fafacf9f25846aef0a30e5e4326f22ffb8923eed994a7bf48db2b5a481 SHA512 293850a64951a0b1c0f47085bb5cf81c997b5a9cb67028545ac9ad7fc08b38607f9b51f44161eef8e5f2af2a89ebd4008c855ece0e8579fb614fba2ea4932b9e
-DIST firefox-63.0-pa-IN.xpi 508197 BLAKE2B c0623247f3a1229e1ed8cce037d83880cac33a78e8e7c6169358d9f2789d3ea2f12c7bce00f123b3a5f7de5ec1e06c3eb9c436a90a925658d46682a5da391c74 SHA512 5cc07e41af080e6dd3d7cb23f287e66227c8839259ac5b27e8a414856615d6ffe89e1d0fe798fad2e22005c47e09c8331e80ada02e346b7ffc163aa3c6226b7d
DIST firefox-63.0-patches-01.tar.xz 10228 BLAKE2B 1c44d3f59da75e92a8ee9b3d1d1b017503ff4126a0a8990137904b7c25dedd5c967e80d1d927640797f9eab00a3e7a0a8774b233ccaf286290f80cb2840b1cff SHA512 d6149a82c139ec6bb1120c2a09e470755fa852e7a45846df2ee02d278ad391a8af4b46f6e9a34eafdcdd522467e365e5181de6b5ada0cf26ea4fd34aaef44bd5
-DIST firefox-63.0-pl.xpi 379299 BLAKE2B 0b09421805eec1cb1d9f12a1dd2c9800a6372d1ab7f82eb0f02598586f524faaf4b5a7784beadfdf207769b89a2b723832e39e73f90a108897a114ef98989cd0 SHA512 c7074fc4ae170fb65cf10d8a9a71940043abaf5dbb79c349b2b996a323fc7ae1dee4edb47eae16117c194f36c887e62435d61b72c878b25e3f871ec7ec89e9fc
-DIST firefox-63.0-pt-BR.xpi 471906 BLAKE2B c3f40f9327a9b31a07251e98218d3c1afff6f0df3e7653b646beb2bacc55925912c128bb04bcc30a2794b385a7744f68bc0dde34edcd1a7e446a833a09af6cb8 SHA512 64d7b1b6817f27ae75a9e4b146ccaa441945373cec69ba8a6af322c8cb6dcf7bf555ef34c1d95c9aa76a1a57d89c9328db51a357a530d2822f24ebd02e5c3210
-DIST firefox-63.0-pt-PT.xpi 485591 BLAKE2B bdd99f4c9e6fabca0e3fb7c5a470f06e666cc133a3a90c8be4222400b19ffb6fda22cd8587d4825acd6d52334f2df607ba727f5da0b623bd28e5717284603d5e SHA512 f9727760805a28779df72b4a7a6427a17dcc230813d8bfb401ea304aee5fedd4854e6c1a67fd4f87d3f55f45bbd402f77d592f98e9dfe4a3109cc43b2d64b4b8
-DIST firefox-63.0-rm.xpi 475831 BLAKE2B 29a61d790506d510f2e7ff8444b7b9e341182a74041ce9b81a31dd07eb236d0b62455a9fac43bf8b97166cdfe9c7daec43a7c248a1bb48eb091dbc1b3c1441ce SHA512 20f5eb5bc5e11e64a7b285c92ef7888b0bb0a78943ceb5d3cb1f9268645b51e6f68c17d10c1b0a49062be17b33e29f35f765584c076d3411e1d09dbd4515460b
-DIST firefox-63.0-ro.xpi 472561 BLAKE2B ffef37f615808b380cfa178ba28a6065e9d8e2bb78aed9e3f8421346e5a1c14d6953697d5991e348090e8840f55146c83e32b325c6f9deb06e817ef18be20389 SHA512 797ca07b207a715ea0a5401e14e070f8da7d48c1d85789238787bc3c8670b9da93b349d08996f934c01579bbbfa351e9d4ac64915b9d3b6d2c7fe03421f41c07
-DIST firefox-63.0-ru.xpi 543422 BLAKE2B 44cb34e82740c43386b02e63fe2ab66900d31882d8e352a1d5a36c9145dec092dc834a0761eb59803de47ac8ee46b9e8a3d9c1be7cc3257d81c08ed3a7fd3cd2 SHA512 0364367b3ba79935fb818dbe3b5076e7f51243abf95ee2bff7651ecc71bd16b66f3487583b2fc943d073a66b605f2be34fca3d5680cfe08ac96f93f8c01a866f
-DIST firefox-63.0-si.xpi 492571 BLAKE2B 7ef6f28a3cced629e4e2850fb9fbe117163849d1dec74f76b7d271a7c86c74f56d1830378d8c6dfe4962e684e8c81c9a909c2b60d7016a67ac43ad6e9554042f SHA512 76fb1545e3d5005368e7b7af1970987373061011c83224fa4d5f1c9db0ac0c4cb5a7eb9e794d54436d1487ca6c176675cc2153642a39357b2b5c159ce330f983
-DIST firefox-63.0-sk.xpi 500222 BLAKE2B 4d4155f40408d93a60cbf4bc56c4862cc9717c9a4a8c20004f244397fad1ced1f7c7f969c625800e2f814782a815c45545d34bd4e41b7ed2bbc4d567eee31361 SHA512 2c2874d19fb6d335be9b35c9c812e8c3828ba78430a0d1d462e17af8ac26b7185dae1d58faee2a4afddbfd04c7079d688397b6dc07c72e7ea82648c6e8a15068
-DIST firefox-63.0-sl.xpi 481996 BLAKE2B 888af4ac6337ec70323ecb7bb493aa24865ac72208fb1bf0eaaa786e661dfe7c095c8cc616effcdf73727dc0ef0f22c8a1117945fdd471154ecfe4d31c02e421 SHA512 2b36a3607ccf1be1830da1302f595b020ed95da3de60b861c54d62f109f4b6757801b95e1d0687d11c178d5fb095f91ebc4bed2f0c8f3b26e3f439449a253ec6
-DIST firefox-63.0-son.xpi 452801 BLAKE2B b3e902342e7b4f6ec0a6ac1c2c3e097b85fddc2c564c6f430cd486d18b9a41928314378a29a70875dd28f511840a8500485a0d1583eedd24e7042a7d4046f547 SHA512 b167b929e5fd6c28f98f8538b8e835ea79ff5e16f4bf31bfc2fecf21532922822ca4badd0f287702cf2cc539d978a7162f7304ea7dc94c0e9a389f4c895f5eea
-DIST firefox-63.0-sq.xpi 492310 BLAKE2B 7b3edb3649dce7a14a39bb94730b47e4e4ec563149646226b7c779f547ab9b7568fc07778a38289a901d3d8a99d665f2db35778ae27c323b1774192634a771f3 SHA512 3911063a664ba79e6cc78473c55ac80757ba847a88002e99cde4d626b822ef9a2b428e793096526999c485bc26a4f21e21025935510dac5875bf8aa445529335
-DIST firefox-63.0-sr.xpi 507258 BLAKE2B bd426a61dadd74857357111c8eb48e723f7dd9750503bc5728f9685639c075525f24ad400595fdb3022bcac360a400509ef8d849290bbe354f314018f9be442c SHA512 18f7eec86048eb9ec0ab29ca5fe9b660b1096659fefe5734d02427d54140a4d3d739e88e9220be282e90005b2478e5bee588c67a43a7839944cc4156918f5750
-DIST firefox-63.0-sv-SE.xpi 481626 BLAKE2B b039c6ff84f398df939e14e26e4040233406fa460fb836256d8e724fa0d0ecc80cca838f2e1f8c6df3028e4015976c6fe346cb752c432c55e63cf2e63afa8561 SHA512 a88f03277e638090b4505601b7eba0ccd2449b4575cee42dcc7cb1bc0e1c2270bcdade68f4540fc9202d8c14a7d4c268ab0073d53bc06fe7a70add831dded08c
-DIST firefox-63.0-ta.xpi 533414 BLAKE2B 2fec0dcfa9d4215009faaabb12ae5688098f2e5ca91925ef8225a5ca81b14bbeac6383d4df3bac257379ac3444faf32249d3428338f9fe2eb17bd0067970f99d SHA512 1cdd488c05fd50ad965a8a585cb5bba884dd0c91a80beab80d5b943d3e3734c115c4b663091b0d4d667e6e6bf31ea5805d1e5b14f642ea629188737b4c2d5a9a
-DIST firefox-63.0-te.xpi 545784 BLAKE2B 96269f87e16058a950821418de3b23fd63ea5fe4ce4e17f0fc82e239f34f6b0f28b1195631da9886a74eb0fe4265f86b119a87575c45de5f187ea3965097ce66 SHA512 494c14c1d0b19fc193cf724b055f138e7ecb5a88db6f57bb37e66526acefa339f1a666535a993acb38a959e8fff171478d2822710e6d3f55645ca0da62f0610a
-DIST firefox-63.0-th.xpi 519005 BLAKE2B cbfc56230a495ac00c6ab364251e22d1eaa765d4fbd5f08a80a94338c0cfc94221f85e99ab1180686f6ddf58d4de4071859345f6f357992e5c7395aafaf0963d SHA512 55435c8ba381cbeed82474710dfd7c899f0742e8b9736695ce237588fc5a6329cc4a7be3ec0c56ed0790542d71050469b67ed9dd2ceb3699f574ccfb1b14ae07
-DIST firefox-63.0-tr.xpi 491287 BLAKE2B 76f67b8ba3f6ab667cd94b04cbdddbf3a4e558cc8f373c7a91d5ecd4d6face4b32d94a71dfd8c7e5219e108a59ac9941116200091387bb7117b70b6a65d1e940 SHA512 02566442a20c9a670c46ff300e9c107d9ca61a5780b5414512c95adc0115118570572959301babf88d13341f1cad1f781f1b4364e031c592bf710fe34060a2cf
-DIST firefox-63.0-uk.xpi 548370 BLAKE2B 9f50b234e3256d544620708a7ac032b6e4e19d94a4b1735cbc9363f3f1a4f01d1270043f0372f19a5520f00d2e5efc4c0f9ba83a8395aff3c17b3de0e7f13247 SHA512 9bf1d20e0a9a7d6507d485fb63b4ad2e898873fc3e7e737de8860dede04c0f80e0af6c602a8521485f79eac0825a5e62de9eafd72d333f2ea92b71dae89d16cd
-DIST firefox-63.0-uz.xpi 469357 BLAKE2B b16efb9e4f1a0d5365118887fe09d9241b7ff4702025cc731e5aafa0931900d2ff081618a538593e82c6d1e12571baa012f030ffec0e0a87494ddef3e08a04de SHA512 c7404210178b4fc28f4d967a7480fdc90f3981d67e0a34006c3918af57d9a8c4ffcbee5aa1fdbc1db86ffa823d54e394ed563fbd528889a455c7305e4cdbccef
-DIST firefox-63.0-vi.xpi 489043 BLAKE2B 29ba9352b2e72f56cc012503f7d5b6bb17cc65d67f525aaf46685eb47e82f53319dc595f53320ecfad8dca4cbbf8488e738e1ded0c72433767c298bc3bc42a72 SHA512 6055d84b4ddd963f50500a005c07a498027c992b51c2f784caa73c4b792c95f218d84d92855d8de15926b8fec9d69ae3978997be98879a5eeca609fdee77d3e2
-DIST firefox-63.0-xh.xpi 466845 BLAKE2B 67abb87b3068845264ba19275032850f7e40caf9131b491716cb9a52e74bff0071534ea809e8d31bad0b497049c09f923c47a5aed9c7fbbb8c441fed049ef126 SHA512 0d0707441bca9b4f7efd43c80d1bba3bc1960425295cb2ea91a42482b0fbeb8a9e21129f523ba430a4d6239aa53c79ae89ee89f72c1c945c9a1bcadbc3b9ad57
-DIST firefox-63.0-zh-CN.xpi 504058 BLAKE2B c8fcacad8e44b34aa959cf36112f13f28ba96eff4b909d13ef02c19939275afa4a06c3afd404070b43a6cc4806ccc1345522788210f79972005ef42a7afeaa5c SHA512 f1abfbb85ca29a6f71ab4ca7de7309a6c36e31bb51e922aedf9707152e7f980aeab411b293285b251f9a778283737dc17703725df08a6bc961655d0ec736139e
-DIST firefox-63.0-zh-TW.xpi 507002 BLAKE2B 5bde979473a53e0bdd7b3547786e367e8ae604509ffe2a29151392121ccf7444d83b2c9ffb17e1f2701b4ae2d7290bfc0778076d73d9867a147ce54f12ae9cce SHA512 6613944ef49266072f78921169b94b0163aa3f331997e730fd9d0d97eaddd91e4b5f8b14602c3608e1995f58ec85c7dc9924c1c50f1d986ae1d375b198e21dee
-DIST firefox-63.0.source.tar.xz 265957640 BLAKE2B 180a08178bd39231ebb4a7d4ab886ca1ce1d8182ce258737d1c032e6bfec7bee74a47277e26db4d4506683b1dccaa8f1cb7d9ae165fccaf0b0788f185b8183be SHA512 a206ea2968a6feec11eb4d03c294de29478f2f586145235c3beeba1f1233f0de13a50a20f56933eff6d4dd3729ad5aa8c89342638c8dd80b4642c579a0585b12
+DIST firefox-63.0.1-ach.xpi 455078 BLAKE2B debdf9bd1c12395f8385d377590465ad63c240db79be62f28e23171f1227124e30318105921885b86d6ef3e332e84aea8e38072cb7088f71bff8866523e5ddf0 SHA512 59331ccf9a46bbe6193ec9cd1f40d1ef3f14f4e55ec78d949efc79fa7062767a84532137703aa0c6563cd36f4744f23f608ea01d3b85dda03d69f131494bd3db
+DIST firefox-63.0.1-af.xpi 437918 BLAKE2B ee6258c86dc1cb2a6249d996741313b68007f93ae4bc7098060ee958d8946c4ab19a1d79119740be8d5c6c6762878b22ba413943a443c523fd223b9905cca485 SHA512 4d1e6d32e756e5db1556d35a1b72e1a6c0a0d729416f3c4dc5d86b001454bbf527b5a1c909a0191fe8434cc151e8d7d46257cc73f45407b62e01c53e09af75e2
+DIST firefox-63.0.1-an.xpi 474545 BLAKE2B acc44f8c99af8ac402a8b96efa3c96472024c7053fcb104b33051165f542fd287a97bd13b85980a26be73fe776e8445f2aa3769bb2a669855574a8b96c660a1e SHA512 268e7dfe4d9cb4c86c9f7dbb34e2bf72a17719afc248cb13129e2a34b9a5ef3bc170150a5710a8a7439b6a71b69506d66ad75d19ac3b97a793403eeb419098b4
+DIST firefox-63.0.1-ar.xpi 513464 BLAKE2B 272ea8a95a653f3a14885bda21e64266cf26f447447e5253c523dac4f330bdf8adaa6e9b21575937010136cdafa9c92c52c496743de8ede62ac8b86830d7376d SHA512 65d8611ba5774d112debdbbbd0c00e77cc4de45fb5db637e2a6cd09d904d0e210cde1da74eb547dea62cb022e7ea4fe4abcd93c4b491599abeec746a583b424c
+DIST firefox-63.0.1-as.xpi 482192 BLAKE2B 6194a2af8f51b2754a7700505a7ca9944a2534633808721c90b976371daa7fe883404374d4b0ea375f0b0bc4dfafc56a486202dd0f7f7386baf9a0d8e3224059 SHA512 0896c5dbb21866029ef5e14d97870fed1acd2b18650b7a03c494f31810fdd0adecb69ca6860a6ef272e7d357a201bb226c97d760fd5a8e411c40961e58dd273f
+DIST firefox-63.0.1-ast.xpi 465657 BLAKE2B 3e4a7737fb1333effac80a1dcd203e3eaef8743efaa3ca76e07b51697899eb3c3e5e5187912de975a003e00fc7be4fec53c68357ff6baa0018f3f1a55c57ffe1 SHA512 a3104145e32c3e932baace5fa5564ed5bd7d9aa0ab847feba05f173877ac1a9023a51d9cb1f80586263c32b3c648aea6e54ecc7812e3c2102047ecdd2cb9776e
+DIST firefox-63.0.1-az.xpi 490940 BLAKE2B 92dd952b43f8cb968f5a2f631ae4f02919a68c3c62291b5d79a097356d310731fbf76b3e2f213ecde11223e98e5fc9e3fb92dafa43ed90aec59c190a140aa6d7 SHA512 13f2e0179f15ea8038871f4743521adb2ea1acc70c30828ee87f9f33f133c4c4cd3185dae76006c3be98e2ac8e23a44371c3f42a95bd8b042ca08822d234308f
+DIST firefox-63.0.1-bg.xpi 523520 BLAKE2B ded33ac375437a670cc8726d006f7210a51be9412a98bacae4983922b7a6b45be62d3e363441e13d734a9c559319d7ecefced3df6c03d2cfa20abc1d5676f766 SHA512 e954f67ab2fa1067803416f1b870913e6fa4c4b02017fdba0a23b015f531469db5464266c1a78aae79c0e23beb961703208ff3094211234b17e41edbe1a5f1f7
+DIST firefox-63.0.1-bn-BD.xpi 548602 BLAKE2B c332c457f86e4dd504490a9b718e2d05dbff3f60b60f174032b6e3b7fb5e75843535f5dbd331ded1e2c50bc661fe26b5f38e18146a0a452c982365bf97a5b955 SHA512 ec784af9433ca92bb6e6846e5a11e26db2cd6f602211662588491efafd094c6d5135a3d0da6bb0a3427142a094568ddec9959603c13b38524a12678568beae80
+DIST firefox-63.0.1-bn-IN.xpi 516021 BLAKE2B 7b69f70455920d4ce5129b7d64cda9b0599cc224c0dde3c4b76410c455a61f7dac85aa2def238f97acf856844e3778fa995bcda54fbd82ae53fe8b33b60a7318 SHA512 ed0c85e30db05872635ec9336d5ed182c7a63f222661a22e7dd5070abf04fe27d1db0cd4ae8dcc55e99c5c935778035b3deb11ac3dc78f60e6ccc645ddb15f11
+DIST firefox-63.0.1-br.xpi 474387 BLAKE2B dc01a6fa2cf1feb0c237098ce7365d2d53b727307eef53d2ee0e5e08b4758d6f252e7feeb819576eb8815eb985152fc946db2ffe9e78736571ef9f1864a6db3c SHA512 07dda0c7821f60a6364a2e18f800f42d8e9c1114565eb02ae7c0264d35dd97070b284a50c0b34e6abf36fe77f1b759923141c6bed39edddcc3f51de4e3c2869d
+DIST firefox-63.0.1-bs.xpi 472879 BLAKE2B 4ac1d101bbafa5cdbd86d57e7730f50ce716773d0bd4803669509e7324baa938fcf3fda9d54953c420e0a1c6256d348a49b2a3a4f58c91e90569fce21f706fdc SHA512 6779581fd228d11a064f9ebd7c99edf0877a09f5e8c1906c10f0cff0501c1627873a9446ba957d341b4552dc8caa8adf891048d81862a7d61821815c2fa52a30
+DIST firefox-63.0.1-ca.xpi 469248 BLAKE2B 4c2f6e5228a98f6d14a2d8829305609a06f7fc71453ba67871a00e06dfae4d59fffaad87c2352b937eda50d287e09678f1d4ec24d6c69b7d008a11193a5dbc74 SHA512 5ba44ddfbc50f17741dd05838a68c53f128df07a54c53c7a3405a6d7fd1c46e31a4a3c78e1d33478e804fcc70407214e77221a7a0a97f5f239ec10aaa68a0558
+DIST firefox-63.0.1-cak.xpi 502723 BLAKE2B 2ef56c01a6b4410427ceed602143e72f8ae10af8b52f8e11062ab75920469fb216d59e78a72c6653ea15c5b2897184acd09b9b95d9bac04258ea88e5246f94d2 SHA512 ebc0482b17e50846a2354308564eb8e7311a5b94581417c3d86390a1e4c75eb97a64740b29fe457b30dd557618bf9da7b9eb927228ae4faf5e90825c29aa742f
+DIST firefox-63.0.1-cs.xpi 489306 BLAKE2B 6733a534049ca80cbfa82d591f12123e3c82746341e9dc8ba7a0b5547870fa17286ae943fec3a4786eaacaa4724f5e52bf62bfac75e1a04a6472bfadce537a1a SHA512 249d226bafb2a63e62392edd487a335f516903f727c6231858b736491f78ed8cd58427ff5c725d011aead07a760f0db03f80f37276da10bec206cda7ba60e308
+DIST firefox-63.0.1-cy.xpi 481078 BLAKE2B bbc829e3cc60810a07e229140db8d2cbddf2b02286bf9bda01f65d8fc2ceb875e2de53be50b6d82533209ae5fafbce650680ce6e3166acc9c5cab0dbafbdc278 SHA512 24d219baf51248a548b8c647774927d6e62b727bd46ee1d31ca1057d751fa0c7bc221135019b336420763cd1a7213d24cc158238027a0e3dcab74d90f42da724
+DIST firefox-63.0.1-da.xpi 481843 BLAKE2B 07d21d53fd1cc4901edd6cf9df66ec0f1eecae0a6859f86d6e215fd9434604e324f01fd64af0e2d8f6111dedd6f5ad745e8770bd3c48ea6cf3460133415ada6a SHA512 6e4f0ac482f6835bca680ffd69805c78fe9071c73f527fbcc5713ba7aff6b6e5174c522ed1ef620e9bb79eecd7734d17cb555edf82e5e4eb463a824e4a934782
+DIST firefox-63.0.1-de.xpi 491997 BLAKE2B 51bf3108014502b856efbfee837d90b193557783c6a2045a94af1be88488531f5e4ea1b2adab92abb293017a87056ff8f204afc57b803bcd2bf2e5b890753820 SHA512 adb94c5414b9dde2530ac11139ef531b26135785b51fed4209f2a18f6cda520d97e3375b217ef78a2ba8b28a3075108a5898206a084630e39d627fae8f78773e
+DIST firefox-63.0.1-dsb.xpi 500882 BLAKE2B 50bb924df3ff28c74b21433e3dc964800151cf0c434ecd87d7f49fe6d4b1e21a4eda267357e73b37e8c5427998f75f3ad139fbaa539b33947876e309a3963ca1 SHA512 69a0b9746febf3f8c15223988d80c994712ef5a5b3f54aa2ef6a81390284d04dce55c7236d8383b3c4a30ef8283985ae3e11f801332bf6aab10602b868abc8de
+DIST firefox-63.0.1-el.xpi 558437 BLAKE2B 1ca15c1dbdd98e7ec80ea720185d63088f2f714113082d0b03fdf059ced4e19cab126bf8853681f3a326a6c24ae21e611a7c7f8916e0d3660c2cc87e03b7a9f4 SHA512 c8e4aae4aff0ac617b1a4cff4819fc01735aa62a9ddc443f620f27b831a2a942704d0ab78fe3c3e2f29924d7ade53eb4cdeea035df3a89314875b667cdc6c66e
+DIST firefox-63.0.1-en-GB.xpi 442422 BLAKE2B 84934d3186fb12d3c93691dbe2ffb29cc80003d1059dfa0b02b5151ccedd3de48e377f18a7bfd68523690cbcc2ef91f2bebcc4ed2aa09f8d28bee82c15bb7ac5 SHA512 5d9acd673727f3a0e4e57426cf5468468d1e3067ef6268c9df34388970ae26dd80bdbeda0e78adcb7fbfe5d6b2028c4bb517d0799eae0fef6902b88e7b897497
+DIST firefox-63.0.1-en-ZA.xpi 427849 BLAKE2B a6c801ef34f13f08ac17b0502807c99752a34d704318fa97ee87c1a6fe38557b075628400acb8ab1b31964e15e9fbde985309a8c329454ec96a8ce6976a06a1c SHA512 3294273a943cff13f868be336656f26f29297904fcabaf3be7f140d180790d5371293aba6cda2fa560600f73996feafdc067e4279bba78039c719b9dcd38ffad
+DIST firefox-63.0.1-eo.xpi 478962 BLAKE2B 154f71b20602db8cfec855a6b0182ce771e01b3e5103a5d5c5cf54cd13c95fd4a22c97283967681c04c865d7bcc741aeaf8fb9af13b2ac12686a64e36bc3dade SHA512 c0515c90d8a212db89060531f05c530e96e29bb33a6f889f887012050930b40b60448a8b5e031b3c28038828fc565fe68a758ded1eab0c2d0b223460700b4d2e
+DIST firefox-63.0.1-es-AR.xpi 486912 BLAKE2B 36e412eeed77b03df0694bdb93c844c86dd31f9ecea8568eb4e8081033bfee42aa10fe00a6c73ccb10eb390ba545fea115a6b6136005fd676e7f4c4a9f94203d SHA512 19f43341f2d2173ce42fe7bac602bd7bce66a2649147abe9d2aa2cda0c50c7a91b523c1f4b468e3d112b5948489515e32e8b423f3532c8d5cb54798ad6ff217a
+DIST firefox-63.0.1-es-CL.xpi 487571 BLAKE2B a60cef9c76a0c2744d91616504465f353fb3d3929398b88280f7b64d1f11882f28a0ade27ce11438c64151430150df942cbc0e5ae718e45f1d6843dfa575ab7c SHA512 706a4c30f0598a8b19d5eba4536d9eb4aff0c56ffbbe08a2b63032bb9bcc13f71768df4608a58528663d2a71577136684ff80b00f13c6cb08396889d399617ee
+DIST firefox-63.0.1-es-ES.xpi 431434 BLAKE2B fdc3115703759224c9cfd3058385aaefbfbe46c0f46a8d3e3d4663d9a5eed613fbf433b3d2f179e6230f0649c25a8791625ed09dece093188db647cf3639264f SHA512 facef942498565b55f6b6914c0948306145d1eeb04535758b2c6e8aa83e6fc8aef72cc5bb3fcd7e1512d7b1bc9c5502fbbf65def874a7b98b8ed8f2f85c9092a
+DIST firefox-63.0.1-es-MX.xpi 490502 BLAKE2B df9407d54fdc10b54b3850e86a4d70674b3cfa4ab1d7b76b071585588abfcb6850b3304733d293c99468c9dd2d0edbaddba6f15ccabc927e903f0c1d8dfeb530 SHA512 1f0a209e868490e85bb2de5b87cac3fbed8f482a25d5573c4aa5e70f657829590de6425b0b1cac4abd70257c7f41965b0197aaa52bd2cdc5b053368ea560e445
+DIST firefox-63.0.1-et.xpi 469972 BLAKE2B d7a0751c2d3b89896eb297b9999b6d1a834c971bef5244ca5519723337700db8ccd6fd96ec29a25018c0ac09c2ade807a2b2852a68f656b7eea06e0ed502a039 SHA512 e868d7b207e6840039d5152307cba0cecf8ff7c6707d9ea298625a0ffeb7524b63791434547004303e782fa6007d7bc3708566eefb9fa4e32cd52a21d630cc5c
+DIST firefox-63.0.1-eu.xpi 478608 BLAKE2B be7638e62f2b19d6242e9bddbeca325dcb6b1650f46eadf614ebd9cd147278d40018c6e2bf8dc93618f5ebb27f9cf07007fa80b65f4ee406d4369eec77358d8c SHA512 a8f91f9e916c837632c345c72cd49f1f0e7bc7dd991f1daa175b009f409aec396abf3af05a0b535cab63be952a5f50a73add06b1052d4398274a739b269ec515
+DIST firefox-63.0.1-fa.xpi 529581 BLAKE2B 034273e7e6d7597d67875cf72249b0315988b1c233b063524f34ad6bd68d3d127b0428a3dde78979312e0ba444f54b6881da8d2194218d7bcc8c5efc88fee9a2 SHA512 7ef2f84caf64dccaf806de1564ba2baa82f334ae3058236aff086145de46a021a0c4fc78c63fdf059dcb7ac454dcf3604620ac794120f147f7ee842aaf73164c
+DIST firefox-63.0.1-ff.xpi 467974 BLAKE2B b4f437682d841c7a50ee2f09db75e8c7aeccec5105b811887a1d88e37faf4db5b3a2cc018ef4a9ab123eb13a1d65e558d7cbd23835fc88905a340c4ed82b0e31 SHA512 1636e39305c6e692ce054e74856f6b61c5d35615f5dedea2dde813fad497c1e6560d4fef8fa6b1e95f1078e9cb8565a2aea6fac9157e5fcbc9ace71479940cf8
+DIST firefox-63.0.1-fi.xpi 467886 BLAKE2B 698069159b4ea039e07eb2daff23c9494c3ed3060897e6907401f4e154caaa841f3f92467daf3ca30cff022b65b2a5f1c254df6aeacb739bde53339d003f660c SHA512 ffba6a5251cfe6494e0624cb276596ecf8eb7c5fbfa304758d8d8b27c429be362feef65c25610f830084c36fb9282eb2f5c29062a89fda4620817f8358e1c152
+DIST firefox-63.0.1-fr.xpi 496625 BLAKE2B 42eff06e92aab50f2bc6258b03975ecedc133d8ad9283ba80c86de326e8f9469d5870702c509639d808bd9f7e3ddf86e76bf20ffa95003bd2b56f86e541d565d SHA512 f2aa43f6cbeeefe1956306f8d7d06cec68b0e061abb9d523c791cb30ff3362f01d9b68cad664d3cf075d4fe880b0a8dcc53bb376c21283a0a4b48680fc171986
+DIST firefox-63.0.1-fy-NL.xpi 485373 BLAKE2B 30db807975fe1f32c75260f862ec43523b560cbabdf62cbcf49515629d966be3cceaa3a7cd16ff543380d377f55212559bc5d23c2fa5a5b9849adbf0386b8acb SHA512 0c42fdfce29f4c3595a6ae46918e790961c2a5cc773442f76a3a739969f4583c742b259451cfe6ff18833654b4d8d2d6e0bb2da9f46f54f307debe0b464f777b
+DIST firefox-63.0.1-ga-IE.xpi 479147 BLAKE2B a976ba566348669d40d25f65ae0dcac38e35a624c58cbdedf650188843a306a79149ec105200879e63d423da16d53c0fecaba8034efccafc26aaaa790c5c4ce7 SHA512 e4e18a0a6b9ff4def5f8d60d7e29cc3f938d90562e3611b789fbaefb211e2d0a1f3040d318d1f77499a8ae1ce5ea539cfd64bd87ae7baab0dca396377624b263
+DIST firefox-63.0.1-gd.xpi 484600 BLAKE2B 91040e7147b37226ca517e9107fb6c294af7d80fc0ae941c613d7fa2e86f90182665ca042e34ff1e0aa241fed4a8e8a183a581116775848032a59960fd4bca1d SHA512 4491ad6e44529e377f470c1ddae1101dba9e1e483f8e90d28ed46ff5d5d58dcde6e5b7436a493af7de21bc8a6532ef0503cadebdb25de74c2874585b3a916edd
+DIST firefox-63.0.1-gl.xpi 455902 BLAKE2B 3ab97f0fabe158e158f1d0c65bbd79232705b72c355d9fd127e36049f5693a8bcc3c4928b95d6b06fa2323e63a7bd5f8a35e2f7f580ee12ec4d72a9e7a78c2b3 SHA512 62ef63faac1dc1f3a7365d8f1de37498328371405c517b6c2d32c5b2afb52056def44dd83b5156113c51003a56003ef3706c946602a114b58cb3668fe7c3ce3a
+DIST firefox-63.0.1-gn.xpi 496363 BLAKE2B 0bf8c33567c2a3c59d944316f5b0694572017b73f8ed999a3aa85e37a33ece0ba5d6ea1c1ef176bc13aafd4e3781fc4595c7c5d639411eec8401400dce4bac50 SHA512 7ad0d0d9be31c046dfebc94a3034ac6e6683abcd6e3453671c16cdf89693ba712934427a78ea83a772091da9f4a4d9436029a3978e6650b1b658570776a94046
+DIST firefox-63.0.1-gu-IN.xpi 556301 BLAKE2B 905d0198919fd0379aa99303b8236dda7e05e0a2c9f2a556fc327f9b0fd82ab39ae74a9221267e85030f8ad10e30bc7c82c06e04a52b56db7480781934cff950 SHA512 c2a6701bd8726933bd620661dba06389c8e40bcf454e6635358e97687f98702f7f90f1c160262d7c480cc25953844d353d363dd13c98a6e81df5195d208224a5
+DIST firefox-63.0.1-he.xpi 486236 BLAKE2B 1604f5d423e5c9f23c2952e32718c04859f2e7e77a5db110258ac6d23a9ff853a1b95bb6cbbd0b49d5eec43f720adc6affdac1407f77f0cd71bb1c88fcf7a74f SHA512 6ba8bc9429d06e90c2b470e8f28a4b3b0ac3906a9793177064dee8f05392a365f9c9e69897281f3096606369a2d12cb77b73a6a142ef16264f1bdf54d10e3bc2
+DIST firefox-63.0.1-hi-IN.xpi 545386 BLAKE2B 963232ff419ca23db6e86d1f6bcb4470430a3a1b942a5e91fa84a1b16a02b655c4d9f6b80590a0cabda8c68ab81c3ec386e762b645aa1cbbade4b7d82df4ff6c SHA512 2c169d656ed49258947dad9108edb376903663d12c5b92f5a3dca8d720f71d43999d36b022b4935217ddd27f92495a5efcdc3a204be05d0bc26737935fa3112a
+DIST firefox-63.0.1-hr.xpi 468495 BLAKE2B fcc492378938d19c18ba555a1dc6a6e08b353ee795a97b3749c57fda9e68e0653891bba2e1fbcdf297717a5e9c4d63dde6fef3264eca01bf746f9203af612c7d SHA512 361663adebb5d777be926696db42e5210a155a49dfc1f4f608ada884552551a2ec4c2f74be8fcf43b0ea84f3daf35352b343366d3aa1dcb5ca4c941db369186c
+DIST firefox-63.0.1-hsb.xpi 500686 BLAKE2B 667e79d8e09ab5c8ddd8f6dd9114b7ace81729a60ad459015e65fbccd3654d451946fa1c55c2661dc24ba54cc397ff2b67f95d0d31be5e4a36721644c92aa0bd SHA512 23118d842963b8eb3fd642e28c101642294289375d5d4125a2fc22dfa67b1873da20f84299e694afdb39cf3beff9d78484bfbdd220fb17c295b4f74119d09b97
+DIST firefox-63.0.1-hu.xpi 497766 BLAKE2B 9a429113edd6d3b18f13c95774354450902ca2db9b75967868f541076bdfcee3c66f661f249659727227645ef169e46a40422b6c1cde8336c305b65ebc3bbd0b SHA512 7c2e078626c5f02c577a35d866695700be73cf526260b282e2cd910d77750b065ea895a08ebe8e2620456b26c6ec3df44c39c338719aa351fa7e297e8bdf1e51
+DIST firefox-63.0.1-hy-AM.xpi 525185 BLAKE2B a994037b6e525eb765a2b69d46cab9b769f58ad7972bdae585cfe81c5718be73682f0d9caa27f1ad05ec3605161af56307c06f5f038404ad4ca3b8b54bf62b2c SHA512 0493a0dd30caa270fdfefacbf53d522920df9f8746c8213096ee67bbd5925269b4c169e87126c7a6387a54defb70732b507a523bfda6a0cea4087b4d4961d48a
+DIST firefox-63.0.1-id.xpi 468252 BLAKE2B b3878bf16f192ca371597620257314f970afe969136012448c162541dc2f5194c4a8b75ccdd09164eb4547601bfb6f5574659444f56130860c9e6aed0629880c SHA512 31aed3fd551142c597f9a7c80922756a67b2060573b97fcb003ef06601ce0bf5ad6d7e9e1f3c32418e3f6e2e72134863e35f93701b9f5818a2d813c38d01470c
+DIST firefox-63.0.1-is.xpi 467339 BLAKE2B 043d579bd7a595991af04715f1a78e8834b848eb074e09b5c44d876dc40652ca18589b58e683c70774001fa66127aa37c436f4ea3d466bf062143dd313a23e6b SHA512 449b99d3b9047571335aea37bea095502f9cd9d30ee52d6224afca7d7f62044bdc46504ad78d26781d0027ee9e524dc9b36c567fa69d8c0dd75584e842592968
+DIST firefox-63.0.1-it.xpi 351090 BLAKE2B c6ece08d892d52a85c97a1ad7bd039f70f748c78cde9ab91653535fcbde8196d681e0c5c403adea0de91b3ee50b815da3536cdd3944c54428e46ce1053b85f00 SHA512 6f5f7dd9c34092954af2c31f19270c7321e085874c81e4f8229c84ccf8e0a05500b00cc68191ffc151085f0fee653dc776fc8a4514353995a63ae25a623482e7
+DIST firefox-63.0.1-ja.xpi 501997 BLAKE2B 99922111e49c243cb2a940652e7db5790c2f84f14d4b4c2e0d23ee432a3ce008b72d60d55cb2097f262de40b0d98d360402bd881dc053f4e7be05833478e967f SHA512 d65fb324010c4270a56ebf66f557c51ce91f7fd5449da49d0e991e102118e576553bab3be59d235db8c31552526e55e72ebc1facceeeb23d98dfc2dd6e34b90f
+DIST firefox-63.0.1-ka.xpi 517232 BLAKE2B 3e1d89f0aca3e34d4e81c87b7836feb0af363cbd4aa4693a3a7a03f74d213ee49e39a691d3ddf09e224fd166dd5d7abb4c055071a198b6582cfef17b98e8a190 SHA512 d562c05382611cccabc5af98a67e9c37204d72340961c99091f32b8b54c60e462f3650f84e288c879f97504e41f31b4e539d7c49e21d03bb15ae77ec1c5e66e4
+DIST firefox-63.0.1-kab.xpi 490515 BLAKE2B db5d8b776ce73aba0e69a828c7532ebc225efff562aa515211adf56d0fb2194114460ba5c9b0b811ad44e373ad4ea58478fb5255218f0a26ac196852643d541b SHA512 0f2cb901362bed80f121e013f5c11919dd135b7d178de4c9cb080043de1a5c0dfd4faf945a2524c698f20302c530cd8843cbb80e3794e2cc5a2764418df46464
+DIST firefox-63.0.1-kk.xpi 546396 BLAKE2B 231f72fd73360f91803343f161e6474492d8581a98ffe821737246e136e3b7a1d41d932bcf2a7a342168b5f9664d5fb8460dfdc1ad456ab91a0beb75813e95af SHA512 38e057be2dc4b0c0bf07ed0736b785f829572e393413e8bfa9aed590bcf9d91cd11dfa650cf179e7e4424fe9102bcdd293ee8030f07d275198615e6d9da9ff84
+DIST firefox-63.0.1-km.xpi 530624 BLAKE2B 2305a68e3afc6a123ec3d3e8d81385f591f3d6ef61acf6c54fc029b1ec2ac29f80348e88a06de7000c45814777ebfa5dd1c2e8328037bacf7f24cffd34d9b2c6 SHA512 21336e3147f0fb1fa614bb3aeb9e3be20bf6a6b593c9fc12a76640cf0e6a0fc9a3a76569b783c6d5fa5afd1b0e6a8f82c3266be30a867c004fc20d3f3274e09f
+DIST firefox-63.0.1-kn.xpi 536457 BLAKE2B 1e7ca8f1fbccac5255ce4e7609b571d46784b4263a11cfaa14310c2125cecd532ebf2978b22e852860a0f9d70c109c15ea7a4da8be4fe9dff432a20e54cc59a0 SHA512 81d5b6f3c4ae2721f2448be2d0378e147004ae176c8fd6039fdc2ca4e37786ed3c6339638b4324de87ede7fdb97bcb13b9fd410c7c3a978efdac8b4f3173d4ca
+DIST firefox-63.0.1-ko.xpi 496528 BLAKE2B 9b4b40e48970abfea943159e8e2f5f0bc0d5845a0e4fab7107d0da8234ec9f0330665c5ce72f018b4e6ccf49f3311f9c8fb558987509d3471c6cbc0248447d81 SHA512 7a02a4aae6cc20058bca252e20b5badfdfb893d0197f161fbc27d0fb2455b42f2f3d9b417fc6bed9e1428f2ef896aa57f74ff65c6c38a4c4c057e2020235c3be
+DIST firefox-63.0.1-lij.xpi 478452 BLAKE2B 82db92648ad7137034b7b13a5f8d8f5d3ddd8141976de803a85274b7185dd47d2ee0d57e4b14cecb8adda5ba4a42c7fe70200a944b0a15a5e442460ca2ff724a SHA512 f683d2de57e69e778426bfd0c691976876f0bdc27105dd53f4d7e9c1f835d91f562e79ff6f3a8d038fcb968d37e0060b44ad05628508adba169440ffd8a8ee5f
+DIST firefox-63.0.1-lt.xpi 501124 BLAKE2B 39284a212a4fa9cc8e321939df8a918e5bb1f0ee0801e6cd8ab17dd063512b707bac0580c850cf2c97065d88cc7bdc8678a7b32d69ff2b2f6af0d7f2702a1187 SHA512 5658481db0e9daea82792abec6f3a56f6e966ddbaaaf15e886e790390756e275695011edfbdf4b03d58c2f2f806ae2a5d9dfc098117a2f75901c21295484f1a5
+DIST firefox-63.0.1-lv.xpi 489153 BLAKE2B cf20326020c733e93f039430eb6b5c770ce5513ffe8a2132cd8047a8e99f9babec6e99a7ed8a80288c7a45eb1888f883ada949154d3dd7ca116129c64907fce2 SHA512 38c789fde8ea5ba5c610fb7207f5ec5c01143ae995cac3bafee7cf08ba5239eaab32f05a0d8036f38ca75d12a38519a09ec03a5f7318e67b5e783d846a31403c
+DIST firefox-63.0.1-mai.xpi 498745 BLAKE2B 550c1f1db0359a91df27fd67903ca98fc7326fba4fca6e1bbe65cc88906fddf2e1f82b79841ecab9fe9c51a3587434e590ca04dd126a64a9e18258b737c464e2 SHA512 5b89bc316a09dbe67d4c300bb51be33d8ced300485e23232058143ff52aea40a90e94357dabffc89b67a9ba3b54fcd507836dcc1e1bc3043634dfc8344f4f3b6
+DIST firefox-63.0.1-mk.xpi 463723 BLAKE2B b991fef570e5287553c26948e7b8bba13ecb49feb9adef6c2c7ed4b551309e9b86990df98f3d4f4bb161417f16a1b92da0bedc7eb8bbf86dc368f8ea2a081b34 SHA512 3bca3389def15399a2c8b780d15513fd3d07dae01fbb74d34684d5ae22b1967ab4c84bbecb50dc96758b4c5d3e31fd60201351eb2b8f7531054603bd03baf9f1
+DIST firefox-63.0.1-ml.xpi 546430 BLAKE2B e5452597046cf73bb6f0559a5811c6979af0a69461b651e05bb5be15ebf5793994acf7bee7fa05c38f8d6636b9cd7d74ec0238a2d9f7d3454564346f1e08aa51 SHA512 b315372ae11de36bd8f635097404acdad4c24eef6db6da20283c0c57f1a94e28983fb72f0af2bfa3b8eebacbfd26f601c134f80da9fca70b10d68184b53d41b8
+DIST firefox-63.0.1-mr.xpi 538969 BLAKE2B 89de13bdff090294ea89f763ac9c3f8eb2c8de0cb778a840d19f06fcdeff1008fea7ee2bf444f2458c701b7c5a63110e7e16b4fe23235ef19416280d4e59c327 SHA512 a64bf0dc0585185252684ed8ea3e46e78701b5c04aa99c0f2b899f371e75a8e4a8f9f3e34e7d9ea99c41a29710a4d8232e071cb4eb05ed79a933dd62ff62f262
+DIST firefox-63.0.1-ms.xpi 471523 BLAKE2B 14b83670da9dc08b1bb1682ebe3d0457d94b08a04448342a1895e47fbf62d92989df310a97737a3cf78a62adb08d7b433bfe24a403e5d93b512ae442429839f6 SHA512 05dafcf7c8459b8ba10ef9f7daab32546d5f2aa0773740605e1108ae65e6c64147c0de999897a1327967994a95053493df25ec53e5df145272919813df7c647e
+DIST firefox-63.0.1-nb-NO.xpi 470898 BLAKE2B 22b85698a7b07d2c9edc6d6200678b839cff1b508c5bb04ce621633ba23c849f6c5c817631dad5c8eeee17775ec48b35c3a574f1db25564fcab20b6ade2fcf99 SHA512 5e6ac6e8a86403b33ee71c8fa0c834f931d89d3fbf094218a24cacea97443775d8d3c806782f2fe1ce74f53dcc751063b71db9d08b462a48eb8eec90a1ab7332
+DIST firefox-63.0.1-nl.xpi 460034 BLAKE2B fdc1b06092ed7ce1b7d6a7d4d2964c83fdfdf5081fd8431f84f40cf2e1b524048d8d3af7ad0865e2c74f8f36a9c3d9f7ca64eaf3e64ea4c948cf56dfd2649c85 SHA512 6ad468d96a5dc2d0dce0baecd1eff472b3ca39b5753f04717c72d521220ead50a3466141e72b2cf553c7c5adb7e7f1a37b3a133a4847fc3918b23c19dd6381de
+DIST firefox-63.0.1-nn-NO.xpi 469117 BLAKE2B 42d0f26d777b81f4cc6cd7fdcb6748d7dfd751a1c684f92fbd6cdcbec91b52852608545b5541b5149918f22a655c6de567d20c28b60cabe426b0bfd28f27e3d9 SHA512 efa155ac5507caeff911b45e23d7999254c2359e46c6496e9564ea4dc94de122b0156b99d2497302fdb2db6f7e1077ea7d6776244d67151d15986a76dca7fdf4
+DIST firefox-63.0.1-or.xpi 489356 BLAKE2B f499de59f7600c222df0135b76933c8faa3002e5c5f8ffd34b4f62cde8bd963a3172120c9fb6c54945a5f7e3b0a3907b66288e70c2b624169cd93bc78481c23a SHA512 0da0e6086b797d00db63bfbfc74f072d2a849404ea63e8a0cbd3f96c2c376ace4d49ee60f9248a8b4c614d4ce42584477daa683fd9b52d71f2d941fbe3ef1440
+DIST firefox-63.0.1-pa-IN.xpi 508197 BLAKE2B fb7fad9b0ef4b3090e795ec7ed94a32ba2fb9c463658c0156b3f8d8fec74f29c6948353cd86314f5688370e49eeba92d19d7c8147e2288af82db85cd882c4151 SHA512 f4e60363b0cce8f0a3203037bc550058e770c7da3a441688ee651375cde83d52cba558b4a59eae5124f34097dbb0e90b9d876bf1082e91d73bedc246d4489b41
+DIST firefox-63.0.1-pl.xpi 379298 BLAKE2B 6bdc09e6e4152299f578fa2455e995a2508a7a77ba23be8914f6a242e5609d5d808a47f8c28877872b13bd2599c501cfcf4dde87ba74576bcf8bf0182cb3d02a SHA512 b42bdbdf5e0b0d76eb60adb5984763b1885157709f35ca782975e2b3aaa61bf806da5a32b8be09275a8f34295ff169c6a14fe8efc8648c5c9f2776514ef3358c
+DIST firefox-63.0.1-pt-BR.xpi 471903 BLAKE2B f602c7a70a0354a0b1db80fc545bf281da0414833bb56a6786ef4de3fe0de3e5c0b5e10f99d28e3758552acb33eb4bc145c1da72874c4b1efc73a13d26516e82 SHA512 29b1bf5c11b54c8cfc519fddc0011efdf601520b47cd442c26243c1d9811503186c820bd2ffd027336f3b730934dbe8d296e2f30a9b2a8acf7fbbaf900a1da66
+DIST firefox-63.0.1-pt-PT.xpi 485600 BLAKE2B 07db5f7f63b3712cad34f94071f9faca09f7ef19871c9b91d568457df4dec4da72accb20fd534abe16c93812b7d9054e312a4ea2bb29c2f3d2f56887a310ad86 SHA512 131d6994cbab8fbf34c61198223e03fb7c317289bafe8b7920909fc1a15fc78c0c0116d718458b217eddceb6ba187fa9b33fa1850be35013ddc91a6ec6d39abf
+DIST firefox-63.0.1-rm.xpi 475829 BLAKE2B 3d68b3387e0cb5507ef07a46957c4ad6a4ff691f09b99f10e0bc85910ffb804f3ca0f376b2a7869afbfa46a931b89e5f2a6a39e472aa447524044bdd4924e0d7 SHA512 e2eb65e9c40816e9cda917c2dcb56d8584d6e103a5fb6e137adcf7a59e5470c47e98f225068e8d837b7148451bf3ed10a6bc9236a50a01810f7a695246a88e86
+DIST firefox-63.0.1-ro.xpi 472563 BLAKE2B c884e7ad3c43318ca4535d7af13def84bc9e664b7c63f04d72a831da77b32be329b399b8014e363f0dc5a6fda20891c54419d29c2d90f68d324e5a1206f8c72f SHA512 ce865af107bf4ce6eb3a84e7dc8b7ff237afe4f6ad13470d89cf32cb5db44533a8f951c02d34914314ae119a4527cdeb64d0524e02197d2db5333b1927b68b1c
+DIST firefox-63.0.1-ru.xpi 543427 BLAKE2B 314a7a94343ff8f6dd578321df2d4bdd689d27dcf8102f7b341640688ea8cb8ebe3b8731a65202f854cb24c8a13972dc781ab30baec2513885fbe9f8c363198f SHA512 dbc847c72f0349fe9cd7b1ac5691f88a4311641cba90ef7cfe060eb41af5b57e0e7f37590486cfcfa87af2650d857265bbca2a20d019e7217b963abcbe5ce814
+DIST firefox-63.0.1-si.xpi 492578 BLAKE2B 39b115bacbd07218c7ed3dac48bdf235dbd94b4634f9e71f5ddad6b9bb97e43dace4998769e819816c258c4db1517b092a61210e7de03bffeae52bc8d1c2bf4f SHA512 b6034ed966099b18172eb9090cd0bdc426651d83a7918c95a8f45d697436ccf03215288ae3b702b5f04829d03ad6a8e46ca8ab7749398fdd055b804acbe0741d
+DIST firefox-63.0.1-sk.xpi 500222 BLAKE2B 1f089d42a506139c68d8e68b87371357d5c8ffce4c50ea7b5f1986a952fdfb507620e34d50210f63dfbde8f37432842779b7c4863f69ce75ece6fe49a98b5c4e SHA512 69a9fa7eadbe94e05119ddac29edf8f7e5bec47e4629c5bc42e070e2aec7f99ef23c88e7c3cde17fcd06d490348b604c513bf0e7a52f7e00c9989f443d4af523
+DIST firefox-63.0.1-sl.xpi 481997 BLAKE2B 50859a6d002adea87b94078c9f618cf2836aa5a332f79fa6860368bf9bcc0776e91488f2f8f882780bc556d1cc2762d6b29fdaa56ff70079d110368a2af84d23 SHA512 5d22e48a317f9da14f2e53405bbf2e4c4c2f725b044cec5b837eba8fca528cde239cc0fe18792a269ec4ee607027b9dd7ed9206d8ca0c32b42ae1bf32c100187
+DIST firefox-63.0.1-son.xpi 452805 BLAKE2B d9739c12b6b87a048cfb0a54ccae33c013a792e1cf92393869d0f49ba7aebb5745501aee10d302504bbe8a010428e23cec159109513b1d7fbd338fc47bd4b018 SHA512 2b4b6937137f826eebb42e35d25de63d786c1657ae5562465e8eff9884b700d64da9179b0673e28c63f3a449cdd39584610ff61cca9fd103a23834060c0ab849
+DIST firefox-63.0.1-sq.xpi 492303 BLAKE2B bcca23170c65d9d66da623e29fe88ea51519b23ae71854ec394467493e594bb9cddb887245d7584dc0588d3b3422cbb7224443625af302d7ba7736abcccf6349 SHA512 6495dfade9e360e2113246c2e429f97c60872f1b7b000fb998792699ce341f01d3ae8ec0e3dd8239201c29142f5fb79c075272a106475bc64739583ea7bc2b13
+DIST firefox-63.0.1-sr.xpi 507260 BLAKE2B e2987fbcbdd6bcb000dbd4ce5bcdfebaf910fb28c8aafc8388a908cf70a6000008fb23a178b2dfa37f78cf91f8165d0d22b42262861d51a5b6f01ca9e7f5fcce SHA512 3dd995c5562b3156687ca0fc8deadd5f8ba89e1d3053d9ed4fcb683e72d15656f16f5acda30f160763fb1d916a953d80323f98fb2948c36f0e0284999d516389
+DIST firefox-63.0.1-sv-SE.xpi 481622 BLAKE2B 34d29b4930392d53b2b029fa1ec34337334a8fc1394c6af4d33cdb8340af1b3f71c68aada2d36654d20b4751286068ebeb449bdcbc35da461f1d8bf791b577bd SHA512 c9306ff250fa7252587e81a9d634356fa8b115345d625201966cb249799bacd774b1b9d81f42fb034049a6b04016e2e6c1ae16639a9dae3efaf8767a21ad9730
+DIST firefox-63.0.1-ta.xpi 533413 BLAKE2B 4b4449e3151aa177a9015c2f5c90ac6a1a5f0062463f2ea2e8a8f720a53c8d5370303d2156d0fd320fa1e61b3e145c5aa3affcdda61b9b9266fa3582fd6ce730 SHA512 9c786d4b80d9acbe9d8a2e2c81833b732b56c9c28910c02f4516a8ae51fe9ba4ce5a7e14e3e654867e7ac246f9aae5a8f879ae100cb1836cb3c43960b0dc7773
+DIST firefox-63.0.1-te.xpi 545793 BLAKE2B 04ce45b5345399c45d3a9651aa5c1069bac0e71e1e0ec7e7a994e95f1c907847f127a874b9f91f920972bb484d1d7c2b46b03f23ed85a041a2fdf9c1f5714330 SHA512 b29eeceb703a411782c6abb39ad13ee8fcf10184126010818e2ac391cb42655312d339544890b3799d7480714321d26dace6e788d65edf2a008b4c363905a04b
+DIST firefox-63.0.1-th.xpi 519000 BLAKE2B d6cec8f85b5df48d6bceb8a1fe1793ee68edb0250a16db28587dd4e08a2af022959309114503d48c199b7bbb2590cbe4b06758d7c3c77e171a821b462d801a59 SHA512 ca19c0037a2d1bae950b002123ad704cd318e6e2f106fe0642507a25a41a5fc86d4706ca0d361c572356a03add3c78e5ac1d0374eb96cd7ad8eb7057171d5e3e
+DIST firefox-63.0.1-tr.xpi 491285 BLAKE2B e27542c20de7946f729ba52b1b8030d8ddac96a386ce22f13ea28df41b817dbf7f3503016719c5e10ba7b3940c4e4f76cf99de5f351bd2112e7376b7f008c20c SHA512 0837fb80a87d5c0be1cb77ba753cfc931e464abb0bccf40b9bef0aaf3e9593d500de87482fe3f2d82734e9a4d60ad7472c5f5e8840404a08b1d1cbd31c817359
+DIST firefox-63.0.1-uk.xpi 548372 BLAKE2B bdd9d83e913db12ffcbafef2c5ccf03d2074ccd850af5aa61f46e6e95f9dfb942e9f605cea5664691c883484f56ea5d7bb0c1dbf94350a5db5cce6c2e19fff50 SHA512 fdd8badf4dfc444f3369b6ffd4ab6686380e0388fc41ec4616183ad6adf1d2b203c1365b25be64d3f9f47b8c913536b6313a1ad6fea73eb64e1e13ef338c26a4
+DIST firefox-63.0.1-uz.xpi 469366 BLAKE2B bbdb2da259c434ce055f0b2a97dedd6b0a6f5c48d8e6ea51ded6f488b4c8a1ac243c865cf6feb38b2f007f15bf94de2fa0c1be9970e265b0648cd33410e734e1 SHA512 7faec935a5b7a6f63b555a824881c83b9f8d5f8ec8d21803143f6cba2772641acd6c1dac485b1dfd3e1d8432f33cc15c5878ab57c22b1428d576d7acb234b1c2
+DIST firefox-63.0.1-vi.xpi 489047 BLAKE2B c7b22d97bb12e1b3d51f78c3ff998ac59e1dbe4eaeca34b9fe358ffc58fdf5c0f9757a7680d2fffe1ad7b67835be86009904f609a62c429ed8abb951d5b6e38e SHA512 42c277e99c623751856e6a86c63131b11b4dfe318b4a3870db0f5c9985248eb232a7a922162a513398589c2916c454b3431572445589abe02f7e03bbfb215e3a
+DIST firefox-63.0.1-xh.xpi 466849 BLAKE2B 7296889c11342d5404a18aa050202b14521508b1813da5d398be19999435ed4b771e012ce3bc4df5e2317062d3d1991a9e67155bf38c0dbe1c07ccc2c6e96ea4 SHA512 222a2ba28edbafd2b899011dccf2315f208f6d8729787c782349ba5a13d5d3ddf3ed254339a7eb25a8334a12735368a7f49e939578f191ec15688efab228d989
+DIST firefox-63.0.1-zh-CN.xpi 504058 BLAKE2B f3a2ae6963c4119f6938f97b8f65fff25630b25157e3731fd01a946a066d3caece86ca880c2c2ae8473386c9145be769f67ba7e483018bc47ecabde32f5fda65 SHA512 e7f6ff4f2d86669e0040b3fc0a508b4b1ddecc870be8e8eb2dc182c37adc66218729d635a1fab1c6dc72d4b64c859672a3a5704820db28afe9847b8eca239aa4
+DIST firefox-63.0.1-zh-TW.xpi 507003 BLAKE2B 14fddc256936cf9718ebac818c799004df2ce3ff6a445e3ddbb2f50e4ceec68f7da7707c1fbecb3630c36611898fbfc8c2393db69727b38adb5c2e64fe598057 SHA512 77efebbdcdcde77d87d733dc43edef96517b8e533f542d706ed4241e265acf41aa587f131ff18789c975b18cbfc48a2ef504db1f1a2d94d1ed935853423071e3
+DIST firefox-63.0.1.source.tar.xz 265358784 BLAKE2B 45cfab151eebe9cd0161c258573b7866d519ca8b5e43894e5f4732fc9eb7c167b8696d989683df3c8e09d0e6d76e2804049d67e8e5bf9e60da2d1d538d53d7c5 SHA512 29acad70259d71a924cbaf4c2f01fb034cf8090759b3a2d74a5eabc2823f83b6508434e619d8501d3930702e2bbad373581a70e2ce57aead9af77fc42766fbe2
diff --git a/www-client/firefox/files/bug_1461221.patch b/www-client/firefox/files/bug_1461221.patch
deleted file mode 100644
index 8ffa42c..0000000
--- a/www-client/firefox/files/bug_1461221.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-
-# HG changeset patch
-# User Gregory Szorc <gps@mozilla.com>
-# Date 1526410966 25200
-# Node ID e4ce7b97291627f2186dc23be0dadd3c56dfe938
-# Parent f288a2c9c4390898a17ad9f964218b52b87d8028
-Bug 1461221 - Account for psutil.disk_io_counters() returning None; r=mshal
-
-Apparently it can do this.
-
-MozReview-Commit-ID: 6gMTGtcRAw6
-
-diff --git a/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py b/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py
---- a/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py
-+++ b/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py
-@@ -60,16 +60,19 @@ except Exception:
- psutil = None
-
- have_psutil = False
-
-
- def get_disk_io_counters():
- try:
- io_counters = psutil.disk_io_counters()
-+
-+ if io_counters is None:
-+ return PsutilStub().disk_io_counters()
- except RuntimeError:
- io_counters = PsutilStub().disk_io_counters()
-
- return io_counters
-
-
- def _collect(pipe, poll_interval):
- """Collects system metrics.
-
diff --git a/www-client/firefox/files/firefox-60.0-blessings-TERM.patch b/www-client/firefox/files/firefox-60.0-blessings-TERM.patch
deleted file mode 100644
index 975e0cf..0000000
--- a/www-client/firefox/files/firefox-60.0-blessings-TERM.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-https://github.com/erikrose/blessings/pull/137
-
-Fixes: https://bugs.gentoo.org/654316
-
-From 5fefc65c306cf9ec492e7b422d6bb4842385afbc Mon Sep 17 00:00:00 2001
-From: Jay Kamat <jaygkamat@gmail.com>
-Date: Fri, 24 Aug 2018 11:11:57 -0700
-Subject: [PATCH 1/2] Fix error when TERM is unset or improperly set
-
----
- blessings/__init__.py | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/blessings/__init__.py b/blessings/__init__.py
-index 98b75c3..3872b5f 100644
---- a/third_party/python/blessings/blessings/__init__.py
-+++ b/third_party/python/blessings/blessings/__init__.py
-@@ -94,8 +94,13 @@ def __init__(self, kind=None, stream=None, force_styling=False):
- # init sequences to the stream if it has a file descriptor, and
- # send them to stdout as a fallback, since they have to go
- # somewhere.
-- setupterm(kind or environ.get('TERM', 'unknown'),
-- self._init_descriptor)
-+ try:
-+ setupterm(kind or environ.get('TERM', 'dumb') or 'dumb',
-+ self._init_descriptor)
-+ except:
-+ # There was an error setting up the terminal, either curses is
-+ # not supported or TERM is incorrectly set. Fall back to dumb.
-+ self._does_styling = False
-
- self.stream = stream
-
-
-From d885df78c6f931abf3259343aaaa897e16c8cba1 Mon Sep 17 00:00:00 2001
-From: Jay Kamat <jaygkamat@gmail.com>
-Date: Sat, 1 Sep 2018 13:20:32 -0700
-Subject: [PATCH 2/2] Explicitly catch curses.error
-
----
- blessings/__init__.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/blessings/__init__.py b/blessings/__init__.py
-index 3872b5f..fdceb09 100644
---- a/third_party/python/blessings/blessings/__init__.py
-+++ b/third_party/python/blessings/blessings/__init__.py
-@@ -97,7 +97,7 @@ def __init__(self, kind=None, stream=None, force_styling=False):
- try:
- setupterm(kind or environ.get('TERM', 'dumb'),
- self._init_descriptor)
-- except:
-+ except curses.error:
- # There was an error setting up the terminal, either curses is
- # not supported or TERM is incorrectly set. Fall back to dumb.
- self._does_styling = False
-
-
---- a/python/mach/mach/logging.py
-+++ b/python/mach/mach/logging.py
-@@ -93,7 +93,7 @@
-
- def set_terminal(self, terminal):
- self.terminal = terminal
-- self._sgr0 = blessings.tigetstr('sgr0') or '' if terminal and blessings else ''
-+ self._sgr0 = terminal.normal if terminal and blessings else ''
-
- def format(self, record):
- f = record.msg.format(**record.params)
-
diff --git a/www-client/firefox/files/firefox-60.0-do-not-force-lld.patch b/www-client/firefox/files/firefox-60.0-do-not-force-lld.patch
deleted file mode 100644
index a8325bc..0000000
--- a/www-client/firefox/files/firefox-60.0-do-not-force-lld.patch
+++ /dev/null
@@ -1,262 +0,0 @@
-https://hg.mozilla.org/mozilla-central/rev/e8c173a632a4
-https://hg.mozilla.org/mozilla-central/rev/dbeb248015cc
-https://hg.mozilla.org/mozilla-central/rev/de7abe2c2b3e
-
---- a/build/moz.configure/toolchain.configure
-+++ b/build/moz.configure/toolchain.configure
-@@ -1331,10 +1331,6 @@ def lto(value, c_compiler):
-
- # clang and clang-cl
- if c_compiler.type in ('clang', 'clang-cl'):
-- # Until Bug 1457168 is fixed, we have to hardcode -fuse-ld=lld here
-- if c_compiler.type == 'clang':
-- flags.append("-fuse-ld=lld")
--
- if len(value) and value[0].lower() == 'full':
- flags.append("-flto")
- ldflags.append("-flto")
-@@ -1362,8 +1358,6 @@ add_old_configure_assignment('MOZ_LTO', lto.enabled)
- add_old_configure_assignment('MOZ_LTO_CFLAGS', lto.flags)
- add_old_configure_assignment('MOZ_LTO_LDFLAGS', lto.ldflags)
-
--imply_option('--enable-linker', 'lld', when='--enable-lto')
--
- # ASAN
- # ==============================================================
-
-@@ -1566,7 +1560,7 @@ set_config('CARGO_INCREMENTAL', cargo_incremental)
-
- @depends(target)
- def is_linker_option_enabled(target):
-- if target.kernel not in ('Darwin', 'WINNT', 'SunOS'):
-+ if target.kernel not in ('WINNT', 'SunOS'):
- return True
-
-
-@@ -1578,21 +1572,40 @@ option('--enable-gold',
- imply_option('--enable-linker', 'gold', when='--enable-gold')
-
- js_option('--enable-linker', nargs=1,
-- help='Select the linker {bfd, gold, lld, lld-*}',
-+ help='Select the linker {bfd, gold, ld64, lld, lld-*}',
- when=is_linker_option_enabled)
-
-
- @depends('--enable-linker', c_compiler, developer_options, '--enable-gold',
-- extra_toolchain_flags, when=is_linker_option_enabled)
-+ extra_toolchain_flags, target, lto.enabled,
-+ when=is_linker_option_enabled)
- @checking('for linker', lambda x: x.KIND)
- @imports('os')
- @imports('shutil')
- def select_linker(linker, c_compiler, developer_options, enable_gold,
-- toolchain_flags):
--
-- linker = linker[0] if linker else None
-+ toolchain_flags, target, lto):
-+
-+ if linker:
-+ linker = linker[0]
-+ elif lto and c_compiler.type == 'clang' and target.kernel != 'Darwin':
-+ # If no linker was explicitly given, and building with clang for non-macOS,
-+ # prefer lld. For macOS, we prefer ld64, or whatever the default linker is.
-+ linker = 'lld'
-+ else:
-+ linker = None
-
-- if linker not in ('bfd', 'gold', 'lld', None) and not linker.startswith("lld-"):
-+ def is_valid_linker(linker):
-+ if target.kernel == 'Darwin':
-+ valid_linkers = ('ld64', 'lld')
-+ else:
-+ valid_linkers = ('bfd', 'gold', 'lld')
-+ if linker in valid_linkers:
-+ return True
-+ if 'lld' in valid_linkers and linker.startswith('lld-'):
-+ return True
-+ return False
-+
-+ if linker and not is_valid_linker(linker):
- # Check that we are trying to use a supported linker
- die('Unsupported linker ' + linker)
-
-@@ -1602,13 +1615,34 @@ def select_linker(linker, c_compiler, developer_options, enable_gold,
-
- def try_linker(linker):
- # Generate the compiler flag
-- linker_flag = ["-fuse-ld=" + linker] if linker else []
-+ if linker == 'ld64':
-+ linker_flag = ['-fuse-ld=ld']
-+ elif linker:
-+ linker_flag = ["-fuse-ld=" + linker]
-+ else:
-+ linker_flag = []
- cmd = cmd_base + linker_flag + version_check
- if toolchain_flags:
- cmd += toolchain_flags
-
-- cmd_output = check_cmd_output(*cmd).decode('utf-8')
-- if 'GNU ld' in cmd_output:
-+ # ld64 doesn't have anything to print out a version. It does print out
-+ # "ld64: For information on command line options please use 'man ld'."
-+ # but that would require doing two attempts, one with --version, that
-+ # would fail, and another with --help.
-+ # Instead, abuse its LD_PRINT_OPTIONS feature to detect a message
-+ # specific to it on stderr when it fails to process --version.
-+ env = dict(os.environ)
-+ env['LD_PRINT_OPTIONS'] = '1'
-+ retcode, stdout, stderr = get_cmd_output(*cmd, env=env)
-+ cmd_output = stdout.decode('utf-8')
-+ stderr = stderr.decode('utf-8')
-+ if retcode == 1 and 'Logging ld64 options' in stderr:
-+ kind = 'ld64'
-+
-+ elif retcode != 0:
-+ return None
-+
-+ elif 'GNU ld' in cmd_output:
- # We are using the normal linker
- kind = 'bfd'
-
-@@ -1627,13 +1661,21 @@ def select_linker(linker, c_compiler, developer_options, enable_gold,
- )
-
- result = try_linker(linker)
-+ if result is None:
-+ if linker:
-+ die("Could not use {} as linker".format(linker))
-+ die("Failed to find a linker")
-
- if (linker is None and enable_gold.origin == 'default' and
- developer_options and result.KIND == 'bfd'):
-- gold = try_linker('gold')
--
-- if gold.KIND == 'gold':
-- result = gold
-+ # try and use lld if available.
-+ tried = try_linker('lld')
-+ if tried is None or tried.KIND != 'lld':
-+ tried = try_linker('gold')
-+ if tried is None or tried.KIND != 'gold':
-+ tried = None
-+ if tried:
-+ result = tried
-
- # If an explicit linker was given, error out if what we found is different.
- if linker and not linker.startswith(result.KIND):
-@@ -1644,7 +1686,7 @@ def select_linker(linker, c_compiler, developer_options, enable_gold,
-
- set_config('LD_IS_BFD', depends(select_linker.KIND)
- (lambda x: x == 'bfd' or None))
--set_config('LINKER_LDFLAGS', select_linker.LINKER_FLAG)
-+add_old_configure_assignment('LINKER_LDFLAGS', select_linker.LINKER_FLAG)
-
-
- js_option('--enable-clang-plugin', env='ENABLE_CLANG_PLUGIN',
---- a/build/moz.configure/util.configure
-+++ b/build/moz.configure/util.configure
-@@ -19,20 +19,13 @@ def configure_error(message):
- their inputs from moz.configure usage.'''
- raise ConfigureError(message)
-
--# A wrapper to obtain a process' output that returns the output generated
--# by running the given command if it exits normally, and streams that
--# output to log.debug and calls die or the given error callback if it
--# does not.
--
-
-+# A wrapper to obtain a process' output and return code.
-+# Returns a tuple (retcode, stdout, stderr).
- @imports(_from='__builtin__', _import='unicode')
- @imports('subprocess')
--@imports('sys')
--@imports(_from='mozbuild.configure.util', _import='LineIO')
- @imports(_from='mozbuild.shellutil', _import='quote')
--def check_cmd_output(*args, **kwargs):
-- onerror = kwargs.pop('onerror', None)
--
-+def get_cmd_output(*args, **kwargs):
- # subprocess on older Pythons can't handle unicode keys or values in
- # environment dicts. Normalize automagically so callers don't have to
- # deal with this.
-@@ -49,12 +42,24 @@ def check_cmd_output(*args, **kwargs):
-
- kwargs['env'] = normalized_env
-
-+ log.debug('Executing: `%s`', quote(*args))
-+ proc = subprocess.Popen(args, stdout=subprocess.PIPE,
-+ stderr=subprocess.PIPE, **kwargs)
-+ stdout, stderr = proc.communicate()
-+ return proc.wait(), stdout, stderr
-+
-+
-+# A wrapper to obtain a process' output that returns the output generated
-+# by running the given command if it exits normally, and streams that
-+# output to log.debug and calls die or the given error callback if it
-+# does not.
-+@imports(_from='mozbuild.configure.util', _import='LineIO')
-+@imports(_from='mozbuild.shellutil', _import='quote')
-+def check_cmd_output(*args, **kwargs):
-+ onerror = kwargs.pop('onerror', None)
-+
- with log.queue_debug():
-- log.debug('Executing: `%s`', quote(*args))
-- proc = subprocess.Popen(args, stdout=subprocess.PIPE,
-- stderr=subprocess.PIPE, **kwargs)
-- stdout, stderr = proc.communicate()
-- retcode = proc.wait()
-+ retcode, stdout, stderr = get_cmd_output(*args, **kwargs)
- if retcode == 0:
- return stdout
-
---- a/js/src/old-configure.in
-+++ b/js/src/old-configure.in
-@@ -63,6 +63,8 @@ dnl ========================================================
- USE_PTHREADS=
- _PTHREAD_LDFLAGS=""
-
-+LDFLAGS="$LDFLAGS $LINKER_LDFLAGS"
-+
- MOZ_DEFAULT_COMPILER
-
- if test -z "$JS_STANDALONE"; then
---- a/old-configure.in
-+++ b/old-configure.in
-@@ -78,6 +78,8 @@ dnl ========================================================
- MOZ_USE_PTHREADS=
- _PTHREAD_LDFLAGS=""
-
-+LDFLAGS="$LDFLAGS $LINKER_LDFLAGS"
-+
- MOZ_DEFAULT_COMPILER
-
- if test "$COMPILE_ENVIRONMENT"; then
---- a/python/mozbuild/mozbuild/frontend/context.py
-+++ b/python/mozbuild/mozbuild/frontend/context.py
-@@ -384,8 +384,6 @@ class LinkFlags(BaseCompileFlags):
-
- self.flag_variables = (
- ('OS', self._os_ldflags(), ('LDFLAGS',)),
-- ('LINKER', context.config.substs.get('LINKER_LDFLAGS'),
-- ('LDFLAGS',)),
- ('DEFFILE', None, ('LDFLAGS',)),
- ('MOZBUILD', None, ('LDFLAGS',)),
- ('FIX_LINK_PATHS', context.config.substs.get('MOZ_FIX_LINK_PATHS'),
---- a/python/mozbuild/mozbuild/test/frontend/test_emitter.py
-+++ b/python/mozbuild/mozbuild/test/frontend/test_emitter.py
-@@ -242,7 +242,6 @@ class TestEmitterBasic(unittest.TestCase):
- def test_link_flags(self):
- reader = self.reader('link-flags', extra_substs={
- 'OS_LDFLAGS': ['-Wl,rpath-link=/usr/lib'],
-- 'LINKER_LDFLAGS': ['-fuse-ld=gold'],
- 'MOZ_OPTIMIZE': '',
- 'MOZ_OPTIMIZE_LDFLAGS': ['-Wl,-dead_strip'],
- 'MOZ_DEBUG_LDFLAGS': ['-framework ExceptionHandling'],
-@@ -250,7 +249,6 @@ class TestEmitterBasic(unittest.TestCase):
- sources, ldflags, lib, compile_flags = self.read_topsrcdir(reader)
- self.assertIsInstance(ldflags, ComputedFlags)
- self.assertEqual(ldflags.flags['OS'], reader.config.substs['OS_LDFLAGS'])
-- self.assertEqual(ldflags.flags['LINKER'], reader.config.substs['LINKER_LDFLAGS'])
- self.assertEqual(ldflags.flags['MOZBUILD'], ['-Wl,-U_foo', '-framework Foo', '-x'])
- self.assertEqual(ldflags.flags['OPTIMIZE'], [])
-
diff --git a/www-client/firefox/files/firefox-60.0-missing-errno_h-in-SandboxOpenedFiles_cpp.patch b/www-client/firefox/files/firefox-60.0-missing-errno_h-in-SandboxOpenedFiles_cpp.patch
deleted file mode 100644
index c746c73..0000000
--- a/www-client/firefox/files/firefox-60.0-missing-errno_h-in-SandboxOpenedFiles_cpp.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-https://bugs.gentoo.org/667096
-
-https://bugzilla.mozilla.org/show_bug.cgi?id=1480554
---- a/security/sandbox/linux/SandboxOpenedFiles.cpp
-+++ b/security/sandbox/linux/SandboxOpenedFiles.cpp
-@@ -4,16 +4,17 @@
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
-
- #include "SandboxOpenedFiles.h"
-
- #include "mozilla/Move.h"
- #include "SandboxLogging.h"
-
-+#include <errno.h>
- #include <fcntl.h>
- #include <unistd.h>
-
- namespace mozilla {
-
- // The default move constructor almost works, but Atomic isn't
- // move-constructable and the fd needs some special handling.
- SandboxOpenedFile::SandboxOpenedFile(SandboxOpenedFile&& aMoved)
-
-
-
-
diff --git a/www-client/firefox/files/firefox-60.0-rust-1.29-comp.patch b/www-client/firefox/files/firefox-60.0-rust-1.29-comp.patch
deleted file mode 100644
index 6fbd13f..0000000
--- a/www-client/firefox/files/firefox-60.0-rust-1.29-comp.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-https://bugs.gentoo.org/666898
-
-https://bugzilla.mozilla.org/show_bug.cgi?id=1479540
---- a/build/moz.configure/init.configure
-+++ b/build/moz.configure/init.configure
-@@ -572,17 +572,26 @@ option('--target', nargs=1,
- @imports(_from='__builtin__', _import='KeyError')
- @imports(_from='__builtin__', _import='ValueError')
- def split_triplet(triplet, allow_unknown=False):
- # The standard triplet is defined as
- # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
- # There is also a quartet form:
- # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
- # But we can consider the "KERNEL-OPERATING_SYSTEM" as one.
-- cpu, manufacturer, os = triplet.split('-', 2)
-+ # Additionally, some may omit "unknown" when the manufacturer
-+ # is not specified and emit
-+ # CPU_TYPE-OPERATING_SYSTEM
-+ parts = triplet.split('-', 2)
-+ if len(parts) == 3:
-+ cpu, _, os = parts
-+ elif len(parts) == 2:
-+ cpu, os = parts
-+ else:
-+ die("Unexpected triplet string: %s" % triplet)
-
- # Autoconf uses config.sub to validate and canonicalize those triplets,
- # but the granularity of its results has never been satisfying to our
- # use, so we've had our own, different, canonicalization. We've also
- # historically not been very consistent with how we use the canonicalized
- # values. Hopefully, this will help us make things better.
- # The tests are inherited from our decades-old autoconf-based configure,
- # which can probably be improved/cleaned up because they are based on a
-
-
-
-
diff --git a/www-client/firefox/files/firefox-60.0-sandbox-lto.patch b/www-client/firefox/files/firefox-60.0-sandbox-lto.patch
deleted file mode 100644
index 990cb4f..0000000
--- a/www-client/firefox/files/firefox-60.0-sandbox-lto.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-https://bugs.gentoo.org/666580
-
---- a/security/sandbox/linux/moz.build
-+++ b/security/sandbox/linux/moz.build
-@@ -101,7 +101,7 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
- # forcing there to be only one partition.
- for f in CONFIG['OS_CXXFLAGS']:
- if f.startswith('-flto') and CONFIG['CC_TYPE'] != 'clang':
-- LDFLAGS += ['--param lto-partitions=1']
-+ LDFLAGS += ['--param=lto-partitions=1']
-
- DEFINES['NS_NO_XPCOM'] = True
- DisableStlWrapping()
diff --git a/www-client/firefox/files/firefox-60.0-update-cc-to-honor-CC.patch b/www-client/firefox/files/firefox-60.0-update-cc-to-honor-CC.patch
deleted file mode 100644
index 9bca3f5..0000000
--- a/www-client/firefox/files/firefox-60.0-update-cc-to-honor-CC.patch
+++ /dev/null
@@ -1,745 +0,0 @@
-https://bugzilla.mozilla.org/show_bug.cgi?id=1496270
-https://bugzilla.mozilla.org/show_bug.cgi?id=1445528
-
---- a/third_party/rust/cc/.cargo-checksum.json
-+++ b/third_party/rust/cc/.cargo-checksum.json
-@@ -1 +1 @@
--{"files":{".travis.yml":"1a4a3f7f90349924378e93acbb524b9127e37c02cfbc6dc59fd904bbdc1c8d0b","Cargo.toml":"623dd06a83bcbf2f292ab51af93e9b79b689e3be06a62968b79f4e36f1bb769f","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"186c5c8a62520cb7a3d90d77161c954b52ae8456fca0e0669bc3a5b889592a43","appveyor.yml":"ab45bfdcf2596f357225a54e730c34d518a8f3ad56c2ed33af682cfd45bddc02","src/bin/gcc-shim.rs":"d6be9137cb48b86891e7b263adbf492e1193ffe682db9ba4a88eb1079b874b58","src/com.rs":"0cb06f5db0fb70d27db0e5917ca337de6e7032119e6aabfea1bad9c719f5f34b","src/lib.rs":"996b650e19d5ccd6e64e741789427017c913644e980862a7286ec4ed53c14a17","src/registry.rs":"3876ef9573e3bbc050aef41a684b9a510cc1a91b15ae874fe032cf4377b4d116","src/setup_config.rs":"1a3eeb11c6847c31f2a4685b62ab35c76f0b6d5a17f7ed99e9df164283a771f7","src/winapi.rs":"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");
diff --git a/www-client/firefox/files/firefox-61.0-mozHunspell.patch b/www-client/firefox/files/firefox-61.0-mozHunspell.patch
deleted file mode 100644
index 2002bd1..0000000
--- a/www-client/firefox/files/firefox-61.0-mozHunspell.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 5bdc1dc7a4541338b13096ae52627ceecd0cca9e Mon Sep 17 00:00:00 2001
-From: nvinson234@gmail.com
-Date: Sun, 8 Jul 2018 16:52:04 -0500
-Subject: [PATCH] Add missing include of nsCOMPtr.h, bug #660726
-
-Signed-off-by: nvinson234@gmail.com
----
- extensions/spellcheck/hunspell/glue/mozHunspellFileMgr.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/extensions/spellcheck/hunspell/glue/mozHunspellFileMgr.h b/extensions/spellcheck/hunspell/glue/mozHunspellFileMgr.h
-index dc33fdfb3..415e00973 100644
---- a/extensions/spellcheck/hunspell/glue/mozHunspellFileMgr.h
-+++ b/extensions/spellcheck/hunspell/glue/mozHunspellFileMgr.h
-@@ -13,6 +13,7 @@
- #include "mozilla/ResultExtensions.h"
- #include "nsIInputStream.h"
- #include "nsReadLine.h"
-+#include "nsCOMPtr.h"
-
- // Note: This class name and lack of namespacing terrible, but are necessary
- // for Hunspell compatibility.
---
-2.18.0
-
diff --git a/www-client/firefox/files/firefox-63.0.1-support-latest-cbindgen.patch b/www-client/firefox/files/firefox-63.0.1-support-latest-cbindgen.patch
new file mode 100644
index 0000000..7b75e21
--- /dev/null
+++ b/www-client/firefox/files/firefox-63.0.1-support-latest-cbindgen.patch
@@ -0,0 +1,29 @@
+https://bugzilla.mozilla.org/show_bug.cgi?id=1503401
+
+commit b85791110fe6
+Author: Emilio Cobos Álvarez <emilio@crisal.io>
+Date: Tue Oct 30 22:21:52 2018 +0100
+
+ Keep mozilla-release building with newer cbindgen versions.
+---
+ servo/components/style/cbindgen.toml | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git servo/components/style/cbindgen.toml servo/components/style/cbindgen.toml
+index 46162e43db5e..49872e88b7d9 100644
+--- a/servo/components/style/cbindgen.toml
++++ b/servo/components/style/cbindgen.toml
+@@ -28,6 +28,12 @@ include = [
+ "StyleDisplay",
+ "StyleDisplayMode",
+ "StyleFillRule",
+- "StylePathCommand"
++ "StylePathCommand",
++
++ "Appearance",
++ "Display",
++ "DisplayMode",
++ "FillRule",
++ "PathCommand"
+ ]
+ item_types = ["enums", "structs", "typedefs"]
diff --git a/www-client/firefox/firefox-63.0.ebuild b/www-client/firefox/firefox-63.0.1.ebuild
index 3b7c9d2..5f0eeff 100644
--- a/www-client/firefox/firefox-63.0.ebuild
+++ b/www-client/firefox/firefox-63.0.1.ebuild
@@ -180,6 +180,8 @@ src_unpack() {
src_prepare() {
eapply "${WORKDIR}/firefox"
+ eapply "${FILESDIR}"/${P}-support-latest-cbindgen.patch
+
# Allow user to apply any additional patches without modifing ebuild
eapply_user