From 1551ff6759de7c7fbae48c9c6b026ac73c85e7dc Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Tue, 11 Apr 2017 14:17:57 +0000 Subject: [PATCH] www/firefox: update to 55.0 Changes: https://www.mozilla.org/firefox/55.0/releasenotes/ PR: 219963 Tested by: ? Security: 555b244e-6b20-4546-851f-d8eb7d6c1ffa MFH: 2017Q3 --- Mk/Uses/gecko.mk | 4 +- www/firefox-esr-i18n/distinfo | 2 +- www/firefox-i18n/Makefile | 6 +- www/firefox-i18n/Makefile.lang | 5 +- www/firefox-i18n/Makefile.option | 1 + www/firefox-i18n/distinfo | 380 +++++++------- www/firefox/Makefile | 11 +- www/firefox/distinfo | 6 +- www/firefox/files/patch-bug1021761 | 40 +- www/firefox/files/patch-bug1356709 | 170 ------ www/firefox/files/patch-bug1357874 | 43 -- www/firefox/files/patch-bug1360321 | 49 -- www/firefox/files/patch-bug702179 | 17 +- www/firefox/files/patch-bug826985 | 12 - www/firefox/files/patch-bug847568 | 2 +- www/firefox/files/patch-bug981348 | 61 --- ...ch-python_futures_concurrent_futures_process.py | 15 - www/firefox/files/patch-rust-option | 569 +++++++++++++++++++-- ...ty_python_futures_concurrent_futures_process.py | 15 + 19 files changed, 773 insertions(+), 635 deletions(-) delete mode 100644 www/firefox/files/patch-bug1356709 delete mode 100644 www/firefox/files/patch-bug1357874 delete mode 100644 www/firefox/files/patch-bug1360321 delete mode 100644 www/firefox/files/patch-bug981348 delete mode 100644 www/firefox/files/patch-python_futures_concurrent_futures_process.py create mode 100644 www/firefox/files/patch-third__party_python_futures_concurrent_futures_process.py diff --git a/Mk/Uses/gecko.mk b/Mk/Uses/gecko.mk index c895b04979de..0fbc2d3e4bf2 100644 --- a/Mk/Uses/gecko.mk +++ b/Mk/Uses/gecko.mk @@ -37,12 +37,12 @@ RUN_DEPENDS+= libxul>=45:www/libxul .elif ${gecko_ARGS:Mfirefox} _GECKO_DEFAULT_VERSION= 52 -_GECKO_VERSIONS= 52 54 +_GECKO_VERSIONS= 52 55 _GECKO_TYPE= firefox # Dependence lines for different Firefox versions 52_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:www/firefox-esr -54_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:www/firefox +55_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:www/firefox .if exists(${LOCALBASE}/bin/firefox) _GECKO_INSTALLED_VER!= ${LOCALBASE}/bin/firefox --version 2>/dev/null diff --git a/www/firefox-esr-i18n/distinfo b/www/firefox-esr-i18n/distinfo index fe1a1cae9deb..48253dbed123 100644 --- a/www/firefox-esr-i18n/distinfo +++ b/www/firefox-esr-i18n/distinfo @@ -1,4 +1,4 @@ -TIMESTAMP = 1496872508 +TIMESTAMP = 1498164297 SHA256 (xpi/firefox-52.2.0/ach.xpi) = 27118787ecf565c3a07101074f100eddcbc86d0a7dd62fd5f0e52ae4ceff4c7f SIZE (xpi/firefox-52.2.0/ach.xpi) = 427640 SHA256 (xpi/firefox-52.2.0/af.xpi) = 61d338f0cb09da9fdcef7addb8122a8eb231185681eb84b33799818ab3372120 diff --git a/www/firefox-i18n/Makefile b/www/firefox-i18n/Makefile index 1fb3bc84c9cb..874a2cfb003b 100644 --- a/www/firefox-i18n/Makefile +++ b/www/firefox-i18n/Makefile @@ -2,10 +2,10 @@ # $FreeBSD$ PORTNAME= firefox-i18n -PORTVERSION= 54.0 +PORTVERSION= 55.0b4 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${DISTVERSION}/linux-i686/xpi \ - MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build3/linux-i686/xpi + MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build1/linux-i686/xpi PKGNAMEPREFIX= DISTFILES= ${FIREFOX_I18N_:S/$/.xpi/} DIST_SUBDIR= xpi/${DISTNAME} @@ -15,7 +15,7 @@ COMMENT= Localized interface for Firefox EXTRACT_DEPENDS= zip:archivers/zip -USES= zip:infozip gecko:firefox,54,build +USES= zip:infozip gecko:firefox,55,build USE_XPI= firefox NO_ARCH= yes diff --git a/www/firefox-i18n/Makefile.lang b/www/firefox-i18n/Makefile.lang index dd9c4962df11..20d45f4ce03e 100644 --- a/www/firefox-i18n/Makefile.lang +++ b/www/firefox-i18n/Makefile.lang @@ -1,7 +1,7 @@ # Created by: Koji Yokota # $FreeBSD$ -FIREFOX_I18N_ALL_= ach af an ar as ast az bg bn-BD bn-IN br bs ca cak \ +FIREFOX_I18N_ALL_= ach af an ar as ast az be bg bn-BD bn-IN br bs ca cak \ cs cy da de dsb el en-GB en-US en-ZA eo es-AR es-CL \ es-ES es-MX et eu fa ff fi fr fy-NL ga-IE gd gl gn \ gu-IN he hi-IN hr hsb hu hy-AM id is it ja ka kab \ @@ -33,6 +33,9 @@ FIREFOX_I18N+= ast .if ${PORT_OPTIONS:MLANG_AZ} FIREFOX_I18N+= az .endif +.if ${PORT_OPTIONS:MLANG_BE} +FIREFOX_I18N+= be +.endif .if ${PORT_OPTIONS:MLANG_BG} FIREFOX_I18N+= bg .endif diff --git a/www/firefox-i18n/Makefile.option b/www/firefox-i18n/Makefile.option index 16f86ebc6c3e..bc2035278e9d 100644 --- a/www/firefox-i18n/Makefile.option +++ b/www/firefox-i18n/Makefile.option @@ -9,6 +9,7 @@ OPTIONS_DEFINE= LANG_ACH \ LANG_AS \ LANG_AST \ LANG_AZ \ + LANG_BE \ LANG_BG \ LANG_BB \ LANG_BN \ diff --git a/www/firefox-i18n/distinfo b/www/firefox-i18n/distinfo index d2793a064a47..d083dc1c1c8c 100644 --- a/www/firefox-i18n/distinfo +++ b/www/firefox-i18n/distinfo @@ -1,189 +1,191 @@ -TIMESTAMP = 1496961575 -SHA256 (xpi/firefox-i18n-54.0/ach.xpi) = 7f783745298e65c347f39576d7f4da212d9adbba7fef8e90bd0038af906b4f31 -SIZE (xpi/firefox-i18n-54.0/ach.xpi) = 426784 -SHA256 (xpi/firefox-i18n-54.0/af.xpi) = 8f21ffd7cd10fd05c738a8bd7bf6b4d2f6ff12510385055bc3d81ceb7f0af882 -SIZE (xpi/firefox-i18n-54.0/af.xpi) = 436584 -SHA256 (xpi/firefox-i18n-54.0/an.xpi) = 1d315794e2cb960ea6c2eadca06ddfadd657eb85497f3b294837d1ff6b1da2da -SIZE (xpi/firefox-i18n-54.0/an.xpi) = 445342 -SHA256 (xpi/firefox-i18n-54.0/ar.xpi) = 6292715c142f1be1254f643fe4a75c17539bb4b075bfc3d38b3a1e74dee4753c -SIZE (xpi/firefox-i18n-54.0/ar.xpi) = 473123 -SHA256 (xpi/firefox-i18n-54.0/as.xpi) = f51af18c50e6a167127f702356adc5de6c6d05f732c139b255888349fbeb647e -SIZE (xpi/firefox-i18n-54.0/as.xpi) = 484170 -SHA256 (xpi/firefox-i18n-54.0/ast.xpi) = 40fad9c18ba04550705eb8edad2b0335314613a70ab529f79d003ead0e6e086c -SIZE (xpi/firefox-i18n-54.0/ast.xpi) = 440269 -SHA256 (xpi/firefox-i18n-54.0/az.xpi) = 451b7c74701d02232623b577270b1df32c0651215484bc22213dcb303972634a -SIZE (xpi/firefox-i18n-54.0/az.xpi) = 454242 -SHA256 (xpi/firefox-i18n-54.0/bg.xpi) = 4502e3f5cc05a3f21a4dc51370fcf5f2f895f28bb3af9e1046f62ea6963fdd14 -SIZE (xpi/firefox-i18n-54.0/bg.xpi) = 485834 -SHA256 (xpi/firefox-i18n-54.0/bn-BD.xpi) = e53170b49837a6d50ac01a9c66117911aa70af80a8c5f6a27e9c7b54c608e25c -SIZE (xpi/firefox-i18n-54.0/bn-BD.xpi) = 508866 -SHA256 (xpi/firefox-i18n-54.0/bn-IN.xpi) = 4b5bdfca1440d6b6bd32ada162d0434ad1f1ad29b4b6862a9d04e70fc435d821 -SIZE (xpi/firefox-i18n-54.0/bn-IN.xpi) = 506163 -SHA256 (xpi/firefox-i18n-54.0/br.xpi) = b53d4a2f4006ba6c10d169cb8e22ae3477f67b2ae5de0f42f3cf59dbe977136a -SIZE (xpi/firefox-i18n-54.0/br.xpi) = 434371 -SHA256 (xpi/firefox-i18n-54.0/bs.xpi) = e90f46df8efe339966cdba9779fb10489c2a85eabeab888c59360e67d9b44283 -SIZE (xpi/firefox-i18n-54.0/bs.xpi) = 441130 -SHA256 (xpi/firefox-i18n-54.0/ca.xpi) = 297fe08327c58e76beced92ef3d99662e616cff4f13b48f4a88fae010488cffa -SIZE (xpi/firefox-i18n-54.0/ca.xpi) = 443025 -SHA256 (xpi/firefox-i18n-54.0/cak.xpi) = b06f1e9b47ec9bb6fcfee5c6f63285bb46daef5bafe4dfc6a1bddf7083a2c825 -SIZE (xpi/firefox-i18n-54.0/cak.xpi) = 458230 -SHA256 (xpi/firefox-i18n-54.0/cs.xpi) = ac29ec8e63bb16482cdcf868f879aa91d9f896766d7ad799ed20eed0b6fca054 -SIZE (xpi/firefox-i18n-54.0/cs.xpi) = 443928 -SHA256 (xpi/firefox-i18n-54.0/cy.xpi) = 7181795e00673ed6a47a08f7823c9ff08060be9db32f7a2be8990aa87a2eb9f8 -SIZE (xpi/firefox-i18n-54.0/cy.xpi) = 436309 -SHA256 (xpi/firefox-i18n-54.0/da.xpi) = 56778ce556670dffd2d5baf1396e991b19cba494bb30c4a6f82ed2b78c52cf36 -SIZE (xpi/firefox-i18n-54.0/da.xpi) = 423764 -SHA256 (xpi/firefox-i18n-54.0/de.xpi) = 44775ef605e4d57c41eed99613d2eae2b9d0e53c642be91a90ebf8f43d0eb50a -SIZE (xpi/firefox-i18n-54.0/de.xpi) = 442813 -SHA256 (xpi/firefox-i18n-54.0/dsb.xpi) = 95ed7b67a85bc1e937db3c1bf8a9041697bf8cadf90a2533a60cf40b9305080d -SIZE (xpi/firefox-i18n-54.0/dsb.xpi) = 458687 -SHA256 (xpi/firefox-i18n-54.0/el.xpi) = 6bb35d24d1262b65f5a1d39d0f629ce51202197ae5585d708750d243083da869 -SIZE (xpi/firefox-i18n-54.0/el.xpi) = 511227 -SHA256 (xpi/firefox-i18n-54.0/en-GB.xpi) = b33babbb6bfbf6d740158bdc576b4f1d8c3fdd4d8fb23aa2f0cdc1fe9051b179 -SIZE (xpi/firefox-i18n-54.0/en-GB.xpi) = 419544 -SHA256 (xpi/firefox-i18n-54.0/en-US.xpi) = 0b03dac051a6a82165882106094e1bfa0ba9f6b31f17f033575dd9683cc032a9 -SIZE (xpi/firefox-i18n-54.0/en-US.xpi) = 425756 -SHA256 (xpi/firefox-i18n-54.0/en-ZA.xpi) = 406e1109a9eb58c5c10fbcd329414ab731900c98199d0873e7cfd4a321e0e878 -SIZE (xpi/firefox-i18n-54.0/en-ZA.xpi) = 413430 -SHA256 (xpi/firefox-i18n-54.0/eo.xpi) = e02532f575b2fca711119812e733c657c5456993d4f046fed88cdf88d88443d6 -SIZE (xpi/firefox-i18n-54.0/eo.xpi) = 437025 -SHA256 (xpi/firefox-i18n-54.0/es-AR.xpi) = ad52c7efdf58d8a690c7db4d1cb19c5d5ac1bfd435ade9eff6125ba129bd257b -SIZE (xpi/firefox-i18n-54.0/es-AR.xpi) = 445557 -SHA256 (xpi/firefox-i18n-54.0/es-CL.xpi) = 55fcffd87b1b481b86f5cbfe3415241b69eb384a296a59e8a47cc009841fb0cd -SIZE (xpi/firefox-i18n-54.0/es-CL.xpi) = 445583 -SHA256 (xpi/firefox-i18n-54.0/es-ES.xpi) = 925cb493c9a773b3b90de7adaa8adaecc0ac416dcfc0dfcfa7bbe631d5d89d9c -SIZE (xpi/firefox-i18n-54.0/es-ES.xpi) = 341279 -SHA256 (xpi/firefox-i18n-54.0/es-MX.xpi) = 0433d137dcd0efb5372623f091c5dd6214cff27b39d1e2717957881c41a288fb -SIZE (xpi/firefox-i18n-54.0/es-MX.xpi) = 447975 -SHA256 (xpi/firefox-i18n-54.0/et.xpi) = 10f27527f61337929a89caa36a5680839e4d9b446fc3098db921747778e1c663 -SIZE (xpi/firefox-i18n-54.0/et.xpi) = 423853 -SHA256 (xpi/firefox-i18n-54.0/eu.xpi) = a90e8bc05e12809763efc89b36d8b141d979b7a243ddd666495ea69c5b7ca969 -SIZE (xpi/firefox-i18n-54.0/eu.xpi) = 438024 -SHA256 (xpi/firefox-i18n-54.0/fa.xpi) = 0722a962e8e96db6fdc0272ed95bc76396c040eac60ea19b846b4e913a879e42 -SIZE (xpi/firefox-i18n-54.0/fa.xpi) = 490359 -SHA256 (xpi/firefox-i18n-54.0/ff.xpi) = bd29a7aef898c7f784682a6dc7832d7464f3dea7a44a1a3bf06e826996b6c938 -SIZE (xpi/firefox-i18n-54.0/ff.xpi) = 441538 -SHA256 (xpi/firefox-i18n-54.0/fi.xpi) = 481b6a5c9526622f2e2deec64a671146d8085bf22c9e43d54ed0ae3a5c1560a8 -SIZE (xpi/firefox-i18n-54.0/fi.xpi) = 428996 -SHA256 (xpi/firefox-i18n-54.0/fr.xpi) = daff81d6ca8bc10a2577461b64454cb8d9ddf4c64672ef131bee614d13a157c8 -SIZE (xpi/firefox-i18n-54.0/fr.xpi) = 451594 -SHA256 (xpi/firefox-i18n-54.0/fy-NL.xpi) = c51621608972a81f032bbbfaab0a7f203201c3c7eae5ad5237733db5b133252a -SIZE (xpi/firefox-i18n-54.0/fy-NL.xpi) = 444472 -SHA256 (xpi/firefox-i18n-54.0/ga-IE.xpi) = 021a86749b08b16ef6c2812a280675703f72a696112caa65172370b00a0acb0a -SIZE (xpi/firefox-i18n-54.0/ga-IE.xpi) = 457482 -SHA256 (xpi/firefox-i18n-54.0/gd.xpi) = ca7601a3b8c20477072681af474958af447c0e771bd15a796212d58bcbaccd70 -SIZE (xpi/firefox-i18n-54.0/gd.xpi) = 446083 -SHA256 (xpi/firefox-i18n-54.0/gl.xpi) = eef6b1e2f5889799a9ca4f42ffc9a5943b1b7a3e0aff6d2b679f3845afdf0686 -SIZE (xpi/firefox-i18n-54.0/gl.xpi) = 443275 -SHA256 (xpi/firefox-i18n-54.0/gn.xpi) = 965632ef1b87528cec4b22d21340a938b86554c63187dc062c14b295ee04b976 -SIZE (xpi/firefox-i18n-54.0/gn.xpi) = 456066 -SHA256 (xpi/firefox-i18n-54.0/gu-IN.xpi) = 2d89112472e65ad8801393aab669e7ccbcc83a54205113f5f00dcccf3ed46789 -SIZE (xpi/firefox-i18n-54.0/gu-IN.xpi) = 487117 -SHA256 (xpi/firefox-i18n-54.0/he.xpi) = 769e7c50cea5e8bd1d3214c1c0c509ab7f6edeee19e587846fc1b9905eb82404 -SIZE (xpi/firefox-i18n-54.0/he.xpi) = 454286 -SHA256 (xpi/firefox-i18n-54.0/hi-IN.xpi) = 45069a5493735e4b8856c1f34c00d543b11405aec9eb6744e861035fc5e6e315 -SIZE (xpi/firefox-i18n-54.0/hi-IN.xpi) = 504631 -SHA256 (xpi/firefox-i18n-54.0/hr.xpi) = 7555bbbf2e060acbdb2538b12c857743a7abbc5e3ca0a3a868545f61698a5f5d -SIZE (xpi/firefox-i18n-54.0/hr.xpi) = 447779 -SHA256 (xpi/firefox-i18n-54.0/hsb.xpi) = 4bb60b51acac017c3c3cc0524182a6d791acba8b5a9601d78fa1d882acbd5258 -SIZE (xpi/firefox-i18n-54.0/hsb.xpi) = 456525 -SHA256 (xpi/firefox-i18n-54.0/hu.xpi) = 59eeef5917e20a80d76f3fcfb73fbce6f1fabaf3856eb76c42084831d095bf4f -SIZE (xpi/firefox-i18n-54.0/hu.xpi) = 451119 -SHA256 (xpi/firefox-i18n-54.0/hy-AM.xpi) = 08cd87b9bd9ec8962be05fd183dc81c88cd869a316a78e37f4349423bf637e1c -SIZE (xpi/firefox-i18n-54.0/hy-AM.xpi) = 496019 -SHA256 (xpi/firefox-i18n-54.0/id.xpi) = e90873350cc4629e6291059f347c13c494b087b02d24c71978f7dcb55a4cebc3 -SIZE (xpi/firefox-i18n-54.0/id.xpi) = 425282 -SHA256 (xpi/firefox-i18n-54.0/is.xpi) = 85f8e6b62f8f095eb5aadd53297b00156db484bacbbfa8cfc8e9858ca9b97a5c -SIZE (xpi/firefox-i18n-54.0/is.xpi) = 441707 -SHA256 (xpi/firefox-i18n-54.0/it.xpi) = 2c4a202e18abb9a6ca440b7a1c95dd702644f4146b5c5e6ed01fbbd2ebb7d4d2 -SIZE (xpi/firefox-i18n-54.0/it.xpi) = 335499 -SHA256 (xpi/firefox-i18n-54.0/ja.xpi) = 9a2a44a59a3baebfdba32a6acce42a9d0e191b510d8b85a63dd4b8df80fff935 -SIZE (xpi/firefox-i18n-54.0/ja.xpi) = 486805 -SHA256 (xpi/firefox-i18n-54.0/ka.xpi) = 57b4243c229990a1c7e077cc4cddc1b39b70ad8222cefb3a5ee31b331386ddd6 -SIZE (xpi/firefox-i18n-54.0/ka.xpi) = 473230 -SHA256 (xpi/firefox-i18n-54.0/kab.xpi) = 23a2efabc88655768036218c1810308ba83a5fb4236dba548b67ad9aa5e3f08d -SIZE (xpi/firefox-i18n-54.0/kab.xpi) = 443915 -SHA256 (xpi/firefox-i18n-54.0/kk.xpi) = 1aebc18f5eaa33119c04d573b2292a4879398798c7e1e13a27bb06204df81236 -SIZE (xpi/firefox-i18n-54.0/kk.xpi) = 493047 -SHA256 (xpi/firefox-i18n-54.0/km.xpi) = cc763200afaf9dc8ea905df9cece16107b9de18ad287ac649cba2d5f49f5f0d3 -SIZE (xpi/firefox-i18n-54.0/km.xpi) = 517239 -SHA256 (xpi/firefox-i18n-54.0/kn.xpi) = d0f50369a6ac5da6ea463c4aef2923f3a9ee6b7ef7c456ef98a6219a54cf60d0 -SIZE (xpi/firefox-i18n-54.0/kn.xpi) = 516491 -SHA256 (xpi/firefox-i18n-54.0/ko.xpi) = 37a44a4e8bfebe5dd1f1bef894606176aa993c1d68b4b062dc0315d10ac16e64 -SIZE (xpi/firefox-i18n-54.0/ko.xpi) = 460422 -SHA256 (xpi/firefox-i18n-54.0/lij.xpi) = 3a7933758f05dfaed5f8ef3db85f2a24542346f766b6606b54d44992ee450645 -SIZE (xpi/firefox-i18n-54.0/lij.xpi) = 431673 -SHA256 (xpi/firefox-i18n-54.0/lt.xpi) = 355d7ac647cfa17ab2ca89e5429f98f5da0983e9a060c6f6e9cc17c8d9eb2dc2 -SIZE (xpi/firefox-i18n-54.0/lt.xpi) = 451193 -SHA256 (xpi/firefox-i18n-54.0/lv.xpi) = 69ee0ea0b565e923e738268341f25b3529dd99f9366cbd00abeab695eaa0d1a0 -SIZE (xpi/firefox-i18n-54.0/lv.xpi) = 447752 -SHA256 (xpi/firefox-i18n-54.0/mai.xpi) = cd475bcd0aa8bb981804cd6eb3365ba9187029ea70e1f1c96d5dde1c3ae7b980 -SIZE (xpi/firefox-i18n-54.0/mai.xpi) = 497011 -SHA256 (xpi/firefox-i18n-54.0/mk.xpi) = 377294d926f09e59667f2acf0ac867f3fc1f12668f320f448b672109eab99d01 -SIZE (xpi/firefox-i18n-54.0/mk.xpi) = 493117 -SHA256 (xpi/firefox-i18n-54.0/ml.xpi) = cb110e4a1b55a190a875e00bc08efabf9d52228c9ab12238c771af2157d414f2 -SIZE (xpi/firefox-i18n-54.0/ml.xpi) = 512264 -SHA256 (xpi/firefox-i18n-54.0/mr.xpi) = 64d18d7927d4bfae2ffaddb559ad5e74b642e72dabc3cb60052804807891b015 -SIZE (xpi/firefox-i18n-54.0/mr.xpi) = 501033 -SHA256 (xpi/firefox-i18n-54.0/ms.xpi) = 5950945e46e21891ab53f3bf5828888f132a056ffe5933a1acae94c031139015 -SIZE (xpi/firefox-i18n-54.0/ms.xpi) = 435500 -SHA256 (xpi/firefox-i18n-54.0/my.xpi) = efcafc7036d9080da42b37ff7b6461003b355d984ae1d87bb3d63c3ef328066d -SIZE (xpi/firefox-i18n-54.0/my.xpi) = 511254 -SHA256 (xpi/firefox-i18n-54.0/nb-NO.xpi) = efafebc209ef2d81e09ddc36809071064ab0ce2cbbed77adb621341d9d66962c -SIZE (xpi/firefox-i18n-54.0/nb-NO.xpi) = 433680 -SHA256 (xpi/firefox-i18n-54.0/nl.xpi) = aa9fe3c007e84bb12267d789a41fff32caa235d6f242fc9ba7ed86da8d942968 -SIZE (xpi/firefox-i18n-54.0/nl.xpi) = 431500 -SHA256 (xpi/firefox-i18n-54.0/nn-NO.xpi) = 882a058faf72685ea0ff41900b57ff5eb0d97e892072ae0521ffbb05e4a0ccff -SIZE (xpi/firefox-i18n-54.0/nn-NO.xpi) = 427869 -SHA256 (xpi/firefox-i18n-54.0/or.xpi) = 708a93f11bc6f71c1309da18e29ea18fd5be7daceb908909788766e22e336ae0 -SIZE (xpi/firefox-i18n-54.0/or.xpi) = 494076 -SHA256 (xpi/firefox-i18n-54.0/pa-IN.xpi) = 55e98f21d75ebe69b57eefa4ae2a1a32f60d108fc7ab4177138c77bdc32ae314 -SIZE (xpi/firefox-i18n-54.0/pa-IN.xpi) = 473515 -SHA256 (xpi/firefox-i18n-54.0/pl.xpi) = 3012752259b1043d55b71418eb23c69ee74230d39c0f5c336c6471b41ac2a60d -SIZE (xpi/firefox-i18n-54.0/pl.xpi) = 347203 -SHA256 (xpi/firefox-i18n-54.0/pt-BR.xpi) = ef23036aedc70ff1c7b35890c9e8bd738da7df44d71f91a4bfe3d5c4206d6cad -SIZE (xpi/firefox-i18n-54.0/pt-BR.xpi) = 437172 -SHA256 (xpi/firefox-i18n-54.0/pt-PT.xpi) = 9da6b5aa0f36e94ff7fb7bba94c9caf43614a985e07cf64544a92596a3acd874 -SIZE (xpi/firefox-i18n-54.0/pt-PT.xpi) = 436177 -SHA256 (xpi/firefox-i18n-54.0/rm.xpi) = 0d8e67d5650d7331640ea54c20572e75af24f08011ed4d10d9362a4ca64c1c61 -SIZE (xpi/firefox-i18n-54.0/rm.xpi) = 433404 -SHA256 (xpi/firefox-i18n-54.0/ro.xpi) = 7d48ec24b3edfce6da4182ab194cbc3051cea3898aef66cf8ceee20f50b275a3 -SIZE (xpi/firefox-i18n-54.0/ro.xpi) = 449473 -SHA256 (xpi/firefox-i18n-54.0/ru.xpi) = c4d107b88feef02fa1a510389102f6de58c372ecb7600c51b4cb6782f277b91e -SIZE (xpi/firefox-i18n-54.0/ru.xpi) = 487731 -SHA256 (xpi/firefox-i18n-54.0/si.xpi) = 653e6314e92b9c7f156b5e57153eb4002dc6e8826c4c5fd7904a2cb8c0b37963 -SIZE (xpi/firefox-i18n-54.0/si.xpi) = 491068 -SHA256 (xpi/firefox-i18n-54.0/sk.xpi) = 478effe7b9e5e2328f47d9eeca2373af9bfc34293a715da482d89e7cba732379 -SIZE (xpi/firefox-i18n-54.0/sk.xpi) = 455015 -SHA256 (xpi/firefox-i18n-54.0/sl.xpi) = 5b2d34ddefda99b5420f94dd2bc1f52765a28cf949e317e9f2d2580bb78cebcd -SIZE (xpi/firefox-i18n-54.0/sl.xpi) = 433174 -SHA256 (xpi/firefox-i18n-54.0/son.xpi) = a6ebc9f018ebff9ba6d7cf5302da772f8ad118489b05e44d64dc86331a521150 -SIZE (xpi/firefox-i18n-54.0/son.xpi) = 435052 -SHA256 (xpi/firefox-i18n-54.0/sq.xpi) = a19a8faeb8a28599dac9a0d2ca7432c72b12d5efabc9e5e4a696a46c5b8756d5 -SIZE (xpi/firefox-i18n-54.0/sq.xpi) = 448157 -SHA256 (xpi/firefox-i18n-54.0/sr.xpi) = a706281a42662db287adb9351df8a8d0b516368442063d5722a31cedd2d49044 -SIZE (xpi/firefox-i18n-54.0/sr.xpi) = 461354 -SHA256 (xpi/firefox-i18n-54.0/sv-SE.xpi) = 6055191f2b0aa12202630d98de3068e19675b05aa3ee063aec39d00a02892dad -SIZE (xpi/firefox-i18n-54.0/sv-SE.xpi) = 440478 -SHA256 (xpi/firefox-i18n-54.0/ta.xpi) = ed574652254367b061ffcdb6a802ab8a6ccd7c3a30827ba90a3d141aa202c86f -SIZE (xpi/firefox-i18n-54.0/ta.xpi) = 493956 -SHA256 (xpi/firefox-i18n-54.0/te.xpi) = 9e6e718564ddafd81b0dbc52cf9e91c06889ef5b8b1b270644985e6d02fd1f4d -SIZE (xpi/firefox-i18n-54.0/te.xpi) = 513337 -SHA256 (xpi/firefox-i18n-54.0/th.xpi) = d25d08b7179a994b49dd6c90ecd2f88782b5fe16ade39b61be0a5e17461d7bc8 -SIZE (xpi/firefox-i18n-54.0/th.xpi) = 487217 -SHA256 (xpi/firefox-i18n-54.0/tr.xpi) = 57d9f03344ddc87bf4ec33406f5f22b31acc5d9ee821fcbe64fd288805c52038 -SIZE (xpi/firefox-i18n-54.0/tr.xpi) = 440412 -SHA256 (xpi/firefox-i18n-54.0/uk.xpi) = cfed556b32924b48084a0645bd30ec12c5de463edcb4bec1f349be08f55ba1e0 -SIZE (xpi/firefox-i18n-54.0/uk.xpi) = 490755 -SHA256 (xpi/firefox-i18n-54.0/ur.xpi) = 4bfee58e41a7d25320ed42473b97b7b52caa02ed566da484b75bff7053e9c3c9 -SIZE (xpi/firefox-i18n-54.0/ur.xpi) = 496583 -SHA256 (xpi/firefox-i18n-54.0/uz.xpi) = a7d2c2182b873c694a19d48638cd72ff11c2a9c0dce12ccd486727bbf71c5ac1 -SIZE (xpi/firefox-i18n-54.0/uz.xpi) = 448113 -SHA256 (xpi/firefox-i18n-54.0/vi.xpi) = eb8a9f2177b5649a1227f1e850d1bf546bc3943ab5b5b19d587de49761522146 -SIZE (xpi/firefox-i18n-54.0/vi.xpi) = 449653 -SHA256 (xpi/firefox-i18n-54.0/xh.xpi) = bf99aaa4576ed39eb62ab8ffdd889833fb97c3d827bb374d2b71aa09fec8c04e -SIZE (xpi/firefox-i18n-54.0/xh.xpi) = 440801 -SHA256 (xpi/firefox-i18n-54.0/zh-CN.xpi) = f066b94bc64a66d64848ccfea5989cf729c90023dd16a472a9f88a40fde1d493 -SIZE (xpi/firefox-i18n-54.0/zh-CN.xpi) = 458332 -SHA256 (xpi/firefox-i18n-54.0/zh-TW.xpi) = d2eee4a98157a120c112eb3a06a4bafd154938f8190d63ff1de48cf5e8f94a5e -SIZE (xpi/firefox-i18n-54.0/zh-TW.xpi) = 469164 +TIMESTAMP = 1497557490 +SHA256 (xpi/firefox-i18n-55.0b4/ach.xpi) = d9e3383b8e2f45491f3b429c51810f7b89961d1c73d8c7f5522e87e273b28b36 +SIZE (xpi/firefox-i18n-55.0b4/ach.xpi) = 447506 +SHA256 (xpi/firefox-i18n-55.0b4/af.xpi) = 9cee3e9c6fe77c2449018f1c2ff210b9308ad6b02d4acf5a4afc15869bd70070 +SIZE (xpi/firefox-i18n-55.0b4/af.xpi) = 448927 +SHA256 (xpi/firefox-i18n-55.0b4/an.xpi) = 743aa0d3b4900b0d3fbf9424811079bba083113e7fa5c3069da8d929d1112248 +SIZE (xpi/firefox-i18n-55.0b4/an.xpi) = 468639 +SHA256 (xpi/firefox-i18n-55.0b4/ar.xpi) = dc0b2970d1a78716ff5ebcea7c657c0392cf9c97a9d17ad844f85758772477d5 +SIZE (xpi/firefox-i18n-55.0b4/ar.xpi) = 492757 +SHA256 (xpi/firefox-i18n-55.0b4/as.xpi) = 9ae1c0a2681a42412b1939e3ae78bc49fd00c45be07ae94fce1fd5e5c6fbf8c4 +SIZE (xpi/firefox-i18n-55.0b4/as.xpi) = 501510 +SHA256 (xpi/firefox-i18n-55.0b4/ast.xpi) = 7b81e42d5cd8924aa6633da2d6c1090a2975794907dc23254d7a94364e2312b1 +SIZE (xpi/firefox-i18n-55.0b4/ast.xpi) = 460843 +SHA256 (xpi/firefox-i18n-55.0b4/az.xpi) = 196bfd443e2ed7b16d507abce0a6b3fb2969d1ce0c0c479b1a51332af2b36011 +SIZE (xpi/firefox-i18n-55.0b4/az.xpi) = 475369 +SHA256 (xpi/firefox-i18n-55.0b4/be.xpi) = 3bf65a2e19618cd53085a9530619d10f8df44cd94ba87ca230f97aa3c8fd9ccd +SIZE (xpi/firefox-i18n-55.0b4/be.xpi) = 522577 +SHA256 (xpi/firefox-i18n-55.0b4/bg.xpi) = f0c33195d12d746b8c49d82a3fae540ea8ae65af4994662d80f9bb13ce5b8d39 +SIZE (xpi/firefox-i18n-55.0b4/bg.xpi) = 520013 +SHA256 (xpi/firefox-i18n-55.0b4/bn-BD.xpi) = cda2110c2c745d734f4c854ea36384fd48543f8d87a8befe628e65dde0e62937 +SIZE (xpi/firefox-i18n-55.0b4/bn-BD.xpi) = 535155 +SHA256 (xpi/firefox-i18n-55.0b4/bn-IN.xpi) = 9da03fc9aef3722c6be39c16f486a7f8d65bdc5e64df4839689659c3305ce372 +SIZE (xpi/firefox-i18n-55.0b4/bn-IN.xpi) = 526356 +SHA256 (xpi/firefox-i18n-55.0b4/br.xpi) = ad0000dec558c7cac4e3c8c66c707b7f4edfa6ac6be7c22c6740aa2f56479bf0 +SIZE (xpi/firefox-i18n-55.0b4/br.xpi) = 457068 +SHA256 (xpi/firefox-i18n-55.0b4/bs.xpi) = c60d2e21621be1b1cf671100b16746f3f18216055c2c823ac9db76684b511a1f +SIZE (xpi/firefox-i18n-55.0b4/bs.xpi) = 465027 +SHA256 (xpi/firefox-i18n-55.0b4/ca.xpi) = e8b22987facda25bf30530a0128722e5bb6964e1e8be3714e3a44ab6dd3e9d97 +SIZE (xpi/firefox-i18n-55.0b4/ca.xpi) = 472851 +SHA256 (xpi/firefox-i18n-55.0b4/cak.xpi) = df0342bbded84bdb8cbcfc594751089b00324e9de9d2264cf67418234ed296a6 +SIZE (xpi/firefox-i18n-55.0b4/cak.xpi) = 481824 +SHA256 (xpi/firefox-i18n-55.0b4/cs.xpi) = 1c4645945579f5fb689dd10919abac5931e32833c62ea3cde998a8cde6bd876a +SIZE (xpi/firefox-i18n-55.0b4/cs.xpi) = 476812 +SHA256 (xpi/firefox-i18n-55.0b4/cy.xpi) = b6fb5acc15c542bead3d89503dfce70fc05abd2e7ad5203dee003b92f5ab93bf +SIZE (xpi/firefox-i18n-55.0b4/cy.xpi) = 458741 +SHA256 (xpi/firefox-i18n-55.0b4/da.xpi) = f59ce3f901112b1bac2c4e8c69568b50e2a7a46dfbc13d4c73606bad009defb4 +SIZE (xpi/firefox-i18n-55.0b4/da.xpi) = 452520 +SHA256 (xpi/firefox-i18n-55.0b4/de.xpi) = 317ab0cc5c877f42b7d08053843421ec0315ddb2d4722f547446d443bb3e084e +SIZE (xpi/firefox-i18n-55.0b4/de.xpi) = 465462 +SHA256 (xpi/firefox-i18n-55.0b4/dsb.xpi) = 3e024740c3fbac5e926333f1de69fb80d6094c229ea244fef69bac156c4bdcf7 +SIZE (xpi/firefox-i18n-55.0b4/dsb.xpi) = 482082 +SHA256 (xpi/firefox-i18n-55.0b4/el.xpi) = 70a800178d02af136d01078671f881ff0ac894e70d2e41ca79b614a75c56452e +SIZE (xpi/firefox-i18n-55.0b4/el.xpi) = 539781 +SHA256 (xpi/firefox-i18n-55.0b4/en-GB.xpi) = 9c6cd3d0b09169250795ae6a40efbe65ec703be37e0a8ffd67550d82721688bf +SIZE (xpi/firefox-i18n-55.0b4/en-GB.xpi) = 439573 +SHA256 (xpi/firefox-i18n-55.0b4/en-US.xpi) = 5caf8ec0abed31549af6d2033d47af428898c3d45d31bc7d1d7968f3a8a2c150 +SIZE (xpi/firefox-i18n-55.0b4/en-US.xpi) = 439815 +SHA256 (xpi/firefox-i18n-55.0b4/en-ZA.xpi) = 3712d5010c2294bed961182777aa9b710381ccd18a8689d9c9ca47070469fc26 +SIZE (xpi/firefox-i18n-55.0b4/en-ZA.xpi) = 438623 +SHA256 (xpi/firefox-i18n-55.0b4/eo.xpi) = f37150f3d4a32f6dd295d956bd9b00f49d7ef9e50d7dad5d2bf2cf14345a1177 +SIZE (xpi/firefox-i18n-55.0b4/eo.xpi) = 459159 +SHA256 (xpi/firefox-i18n-55.0b4/es-AR.xpi) = 61357d88d81cb738cffbb0a2b0661ab098366c3d195706b98ea96dc3427ddda2 +SIZE (xpi/firefox-i18n-55.0b4/es-AR.xpi) = 467584 +SHA256 (xpi/firefox-i18n-55.0b4/es-CL.xpi) = 4886dadb81e24257b418f2439b54959b139dac4296549fbbeb0ea7828b12e04d +SIZE (xpi/firefox-i18n-55.0b4/es-CL.xpi) = 471602 +SHA256 (xpi/firefox-i18n-55.0b4/es-ES.xpi) = ea9719950f42b7fbc62d24158388d12f4eafa335ac1d4f67706d101123eb72bd +SIZE (xpi/firefox-i18n-55.0b4/es-ES.xpi) = 359825 +SHA256 (xpi/firefox-i18n-55.0b4/es-MX.xpi) = 879dd25a93c0d4eaa52add7337cb1a6805da3b626b5500137f2824e03d7bf7fd +SIZE (xpi/firefox-i18n-55.0b4/es-MX.xpi) = 474246 +SHA256 (xpi/firefox-i18n-55.0b4/et.xpi) = 7e4bf4cee9dc632b6de4f390c93c16e5991c75077cec343a7601b109ba8d3727 +SIZE (xpi/firefox-i18n-55.0b4/et.xpi) = 454473 +SHA256 (xpi/firefox-i18n-55.0b4/eu.xpi) = 1c22b8f512572f01617cc674024d23820f2e8f1751001ab3073b1bd20fcc7641 +SIZE (xpi/firefox-i18n-55.0b4/eu.xpi) = 460417 +SHA256 (xpi/firefox-i18n-55.0b4/fa.xpi) = ef7ec2f65f39197e94655a45e5131046a4fe261e04f2dcaadf4ea79359fdfa6a +SIZE (xpi/firefox-i18n-55.0b4/fa.xpi) = 511562 +SHA256 (xpi/firefox-i18n-55.0b4/ff.xpi) = bbecf3289401b722a200923ff15b3504b762a082a425e5a7dcd41daa49d8fe63 +SIZE (xpi/firefox-i18n-55.0b4/ff.xpi) = 455333 +SHA256 (xpi/firefox-i18n-55.0b4/fi.xpi) = 419b49709b58b20efe5afeb4a52c395511b25a34d18059807975a83e1a9a1be3 +SIZE (xpi/firefox-i18n-55.0b4/fi.xpi) = 453636 +SHA256 (xpi/firefox-i18n-55.0b4/fr.xpi) = 1f5fb2631956d2ac91b2b14782d833a45e3f50ccb015b5aa93780aeced47509c +SIZE (xpi/firefox-i18n-55.0b4/fr.xpi) = 476671 +SHA256 (xpi/firefox-i18n-55.0b4/fy-NL.xpi) = 3a866da87ca7d1e419afb94863eed6209897b748f6844d57ed707f6afbfb526a +SIZE (xpi/firefox-i18n-55.0b4/fy-NL.xpi) = 469969 +SHA256 (xpi/firefox-i18n-55.0b4/ga-IE.xpi) = 72a25cea22bde83c7d16fdaf2dc4d0b8497565bab0a028fac4defbab9fe15b21 +SIZE (xpi/firefox-i18n-55.0b4/ga-IE.xpi) = 481485 +SHA256 (xpi/firefox-i18n-55.0b4/gd.xpi) = ec27bdb0129d14ea21249cb80f46e6bf639cd6a7b0ebd09b4c20e9064a2ebced +SIZE (xpi/firefox-i18n-55.0b4/gd.xpi) = 469057 +SHA256 (xpi/firefox-i18n-55.0b4/gl.xpi) = 8597d98d51774bcd81c8f22b4edfbf9fee8e76e18c0695892a7f858fa2815f45 +SIZE (xpi/firefox-i18n-55.0b4/gl.xpi) = 459113 +SHA256 (xpi/firefox-i18n-55.0b4/gn.xpi) = d23208ec658adfbae1694050cf9b2f134a5d710035b5d5cf858ea3fe918cf595 +SIZE (xpi/firefox-i18n-55.0b4/gn.xpi) = 476202 +SHA256 (xpi/firefox-i18n-55.0b4/gu-IN.xpi) = 98c96f42d2ffd4dce34b70b85ae3969edb12588736d2cf29e47f9f83bd01b82b +SIZE (xpi/firefox-i18n-55.0b4/gu-IN.xpi) = 498747 +SHA256 (xpi/firefox-i18n-55.0b4/he.xpi) = b729f53c7ed86fdc65ad700d70eee0da8674558b13ce809c43b319c05f385160 +SIZE (xpi/firefox-i18n-55.0b4/he.xpi) = 479884 +SHA256 (xpi/firefox-i18n-55.0b4/hi-IN.xpi) = 7a7a49cc48b7a113b6a21d040d1fdb91820d4304edfcf550170e1a418bcfa8ea +SIZE (xpi/firefox-i18n-55.0b4/hi-IN.xpi) = 530525 +SHA256 (xpi/firefox-i18n-55.0b4/hr.xpi) = cf723a591824833db35d3c7982589d56d54b3948f52080d9b3e508694d1cafba +SIZE (xpi/firefox-i18n-55.0b4/hr.xpi) = 467994 +SHA256 (xpi/firefox-i18n-55.0b4/hsb.xpi) = c3fe484e5c44cbe3e984a07f5128276a6d5a09eae6afb15a234ae8957327d0c2 +SIZE (xpi/firefox-i18n-55.0b4/hsb.xpi) = 479801 +SHA256 (xpi/firefox-i18n-55.0b4/hu.xpi) = 9ed57541dc657311b58b13de8bc76d245d54f895469d9ca5928c8d3876579c3e +SIZE (xpi/firefox-i18n-55.0b4/hu.xpi) = 481406 +SHA256 (xpi/firefox-i18n-55.0b4/hy-AM.xpi) = ec2fab1b89512d6d202a6b4e0dd03a4533ed65a275aac04d8e02e2c49130df29 +SIZE (xpi/firefox-i18n-55.0b4/hy-AM.xpi) = 520884 +SHA256 (xpi/firefox-i18n-55.0b4/id.xpi) = 024a10512561c126a761295e1384b570318b683594225bc5d04d9ac77af10fd4 +SIZE (xpi/firefox-i18n-55.0b4/id.xpi) = 450293 +SHA256 (xpi/firefox-i18n-55.0b4/is.xpi) = bda2d8f23dd7f6ab286ad865d98d3aa222553c60b21010f00373798c355fcbcd +SIZE (xpi/firefox-i18n-55.0b4/is.xpi) = 464422 +SHA256 (xpi/firefox-i18n-55.0b4/it.xpi) = 123cdd890540b723e6b675ba8dee0e081117bfce99b7f92cbaa347de156d3838 +SIZE (xpi/firefox-i18n-55.0b4/it.xpi) = 352978 +SHA256 (xpi/firefox-i18n-55.0b4/ja.xpi) = efec79900949cda39fd76e24e5b7b935ac23828f8e2fc2d62111ed8fcfcbe5fd +SIZE (xpi/firefox-i18n-55.0b4/ja.xpi) = 521621 +SHA256 (xpi/firefox-i18n-55.0b4/ka.xpi) = aa167ea5d8643d3591d1a53d17c42b8a5461492aae1d62bd65a4924514aa282f +SIZE (xpi/firefox-i18n-55.0b4/ka.xpi) = 493506 +SHA256 (xpi/firefox-i18n-55.0b4/kab.xpi) = 28154778e4b8c091d6c3c70c7400b9241259c67a612c4b82e5eb5381c299dd83 +SIZE (xpi/firefox-i18n-55.0b4/kab.xpi) = 470045 +SHA256 (xpi/firefox-i18n-55.0b4/kk.xpi) = 3938d7ab311a3e88792d8a8bbadb90a70cd2fd4ee1cb4203b764e0f0addba9f5 +SIZE (xpi/firefox-i18n-55.0b4/kk.xpi) = 526712 +SHA256 (xpi/firefox-i18n-55.0b4/km.xpi) = 6c2c5cb9a92900b88b7dccc8cdfa02a6e8122cf652153887a335d7ef4d3cf6de +SIZE (xpi/firefox-i18n-55.0b4/km.xpi) = 540650 +SHA256 (xpi/firefox-i18n-55.0b4/kn.xpi) = 3af51007d753bb58d202a48e50845e240abe20634bb75c658f503adad5ebe28b +SIZE (xpi/firefox-i18n-55.0b4/kn.xpi) = 538863 +SHA256 (xpi/firefox-i18n-55.0b4/ko.xpi) = e7ef5a6d1d1fea439c012e0ea39179357a20c09a07de26c7eb2ce0c13594bc7b +SIZE (xpi/firefox-i18n-55.0b4/ko.xpi) = 494549 +SHA256 (xpi/firefox-i18n-55.0b4/lij.xpi) = 4e93b68af7f1540fdf0eebce9990ec7f57c7ba2e1a2fb6777727aa9793c203c2 +SIZE (xpi/firefox-i18n-55.0b4/lij.xpi) = 458701 +SHA256 (xpi/firefox-i18n-55.0b4/lt.xpi) = 19dcf321eeb4e69197b5f1d23d2e30a2ee12aae74a737a1a32cfd2a5b72c25dd +SIZE (xpi/firefox-i18n-55.0b4/lt.xpi) = 481083 +SHA256 (xpi/firefox-i18n-55.0b4/lv.xpi) = e18044f962a8656b6e1d5497518bab73674632a77042efcca894184dea54313e +SIZE (xpi/firefox-i18n-55.0b4/lv.xpi) = 473112 +SHA256 (xpi/firefox-i18n-55.0b4/mai.xpi) = 06a22bd790edb768363b2f446c626b0674f4067f9bc8b0ceb973a832b104a06b +SIZE (xpi/firefox-i18n-55.0b4/mai.xpi) = 517897 +SHA256 (xpi/firefox-i18n-55.0b4/mk.xpi) = c46db01460f3bde0b2d2421dd8640a10f70548107172e6ee1b981ed95fa53a04 +SIZE (xpi/firefox-i18n-55.0b4/mk.xpi) = 500209 +SHA256 (xpi/firefox-i18n-55.0b4/ml.xpi) = 98c3bf1f1c851fd9a46fc2bef602f6de4b75197f21b79e5da23cab2c436fdc70 +SIZE (xpi/firefox-i18n-55.0b4/ml.xpi) = 540984 +SHA256 (xpi/firefox-i18n-55.0b4/mr.xpi) = 7f43d422c262c8b4dc1f5647f0dcd64ee0e5c9573d7af67cc48d25b0dd7ced63 +SIZE (xpi/firefox-i18n-55.0b4/mr.xpi) = 528275 +SHA256 (xpi/firefox-i18n-55.0b4/ms.xpi) = c1d9de2123b82f4420daded17f164f56eaaff9dd739bd66f88cd3b6e60f49174 +SIZE (xpi/firefox-i18n-55.0b4/ms.xpi) = 459507 +SHA256 (xpi/firefox-i18n-55.0b4/my.xpi) = 04e0ff8a32e4a62006aa924251d67aecb7296fd7c016a36fdcc295cd9c0d5b55 +SIZE (xpi/firefox-i18n-55.0b4/my.xpi) = 528101 +SHA256 (xpi/firefox-i18n-55.0b4/nb-NO.xpi) = 9e8841bf9461349a758083c92a29af905cb4cc9b6b3b96ba43ad2e36808fac78 +SIZE (xpi/firefox-i18n-55.0b4/nb-NO.xpi) = 457649 +SHA256 (xpi/firefox-i18n-55.0b4/nl.xpi) = 2584e4557f075f8f26ae2eaea9ed0de8e63f6b942467501f32b875d3123ca06e +SIZE (xpi/firefox-i18n-55.0b4/nl.xpi) = 461513 +SHA256 (xpi/firefox-i18n-55.0b4/nn-NO.xpi) = fe1649ccd3f90035fba24b4dea0adda0246dcd984bcb16868f946a579f05d554 +SIZE (xpi/firefox-i18n-55.0b4/nn-NO.xpi) = 458459 +SHA256 (xpi/firefox-i18n-55.0b4/or.xpi) = 384ce93c67a564813688ac981040c3deaae9cd5f13729c4d27f86445287d144d +SIZE (xpi/firefox-i18n-55.0b4/or.xpi) = 511357 +SHA256 (xpi/firefox-i18n-55.0b4/pa-IN.xpi) = 74f89d6c7868b55503cd8e3ec0dac561ac86a08676f650d80a486e58709c38f8 +SIZE (xpi/firefox-i18n-55.0b4/pa-IN.xpi) = 498455 +SHA256 (xpi/firefox-i18n-55.0b4/pl.xpi) = 78b2f86f7a56658b3a852d1e09ef6de25f37193e21c05d50d72664944e6852cd +SIZE (xpi/firefox-i18n-55.0b4/pl.xpi) = 376265 +SHA256 (xpi/firefox-i18n-55.0b4/pt-BR.xpi) = 9566eca306c31c5e96ceb88e485636f3c8af94b103f9c710fe6bcf1f279dbb4c +SIZE (xpi/firefox-i18n-55.0b4/pt-BR.xpi) = 462719 +SHA256 (xpi/firefox-i18n-55.0b4/pt-PT.xpi) = 62e7de31997c1b81bd3741e2202ae029470e05ab2e785180c3a11c2d2ec4b4a8 +SIZE (xpi/firefox-i18n-55.0b4/pt-PT.xpi) = 465294 +SHA256 (xpi/firefox-i18n-55.0b4/rm.xpi) = 5011a71d8f5d42412a94427bdd07094c280c4143c0c86cd345f48fbd737f41c0 +SIZE (xpi/firefox-i18n-55.0b4/rm.xpi) = 458267 +SHA256 (xpi/firefox-i18n-55.0b4/ro.xpi) = 882f45563d22dbfe160541ca65061cd3f2b4c723e4e2d1135cec467797b82e2e +SIZE (xpi/firefox-i18n-55.0b4/ro.xpi) = 462977 +SHA256 (xpi/firefox-i18n-55.0b4/ru.xpi) = a98adcef40783b35a4859f48552df0de226d4f7e3bdec7991ee855f865757879 +SIZE (xpi/firefox-i18n-55.0b4/ru.xpi) = 530903 +SHA256 (xpi/firefox-i18n-55.0b4/si.xpi) = 44f834eb59d09f1c6dec2afa092a3540023273eb941eb19d2eb0b34a1224c2ec +SIZE (xpi/firefox-i18n-55.0b4/si.xpi) = 508354 +SHA256 (xpi/firefox-i18n-55.0b4/sk.xpi) = 8d8b71fe0b9bc8133470840746cfd0c0bb9c357c2e1576a172d8f74ded36d810 +SIZE (xpi/firefox-i18n-55.0b4/sk.xpi) = 487554 +SHA256 (xpi/firefox-i18n-55.0b4/sl.xpi) = be3a710c017af33f76efdbb2e1389131fc0a938dd76ee71220a9883bca74464c +SIZE (xpi/firefox-i18n-55.0b4/sl.xpi) = 465769 +SHA256 (xpi/firefox-i18n-55.0b4/son.xpi) = 801217151d6c1fb14875435be1404643a9ebd9aba86066792d9421b94e33284c +SIZE (xpi/firefox-i18n-55.0b4/son.xpi) = 456961 +SHA256 (xpi/firefox-i18n-55.0b4/sq.xpi) = 8b3364c04114fe2726856fdb25e0a2e6e11b9f7d78154e33221b9622794ff5c5 +SIZE (xpi/firefox-i18n-55.0b4/sq.xpi) = 470634 +SHA256 (xpi/firefox-i18n-55.0b4/sr.xpi) = 4aa34cf8cbf8afad6c431372be3fb45139a064ebc9a284a80154b750ac0769ba +SIZE (xpi/firefox-i18n-55.0b4/sr.xpi) = 494881 +SHA256 (xpi/firefox-i18n-55.0b4/sv-SE.xpi) = 2cb7ddd298a99cad6486a6147c93ef511af24ecce5b2e6670b9b427d01c2e32e +SIZE (xpi/firefox-i18n-55.0b4/sv-SE.xpi) = 466011 +SHA256 (xpi/firefox-i18n-55.0b4/ta.xpi) = 75ad6ad085d67f47e5c26d240c2e9308ae91589a8a2b3b737934f02dc4603a2c +SIZE (xpi/firefox-i18n-55.0b4/ta.xpi) = 519927 +SHA256 (xpi/firefox-i18n-55.0b4/te.xpi) = f92ab2191ab83692412c00560316cb1014e6db9f51b757d8d54b971be8453756 +SIZE (xpi/firefox-i18n-55.0b4/te.xpi) = 540118 +SHA256 (xpi/firefox-i18n-55.0b4/th.xpi) = f566fa675c3b1198bcf02bb476081dc0dad93741511ca714112790f3596ff697 +SIZE (xpi/firefox-i18n-55.0b4/th.xpi) = 511879 +SHA256 (xpi/firefox-i18n-55.0b4/tr.xpi) = a9a0321da699b8e096194c9865fa92ddc83e1dc2d0b9b2c692ff6e285c587b46 +SIZE (xpi/firefox-i18n-55.0b4/tr.xpi) = 472163 +SHA256 (xpi/firefox-i18n-55.0b4/uk.xpi) = 2ca922162673551507ef938dc6e9c5f6c8026c702207e76c75de8839f9e03c4d +SIZE (xpi/firefox-i18n-55.0b4/uk.xpi) = 526439 +SHA256 (xpi/firefox-i18n-55.0b4/ur.xpi) = 68512194641db6bf7ceb34a387ada41a791a89166edd34502bd28e8d27b97985 +SIZE (xpi/firefox-i18n-55.0b4/ur.xpi) = 520737 +SHA256 (xpi/firefox-i18n-55.0b4/uz.xpi) = ac1e4d70587334dadb1dc5bd876c0cd0b0ae9db313e70981fe808be0f91d05ba +SIZE (xpi/firefox-i18n-55.0b4/uz.xpi) = 467673 +SHA256 (xpi/firefox-i18n-55.0b4/vi.xpi) = 7fd4dc72ab78a13c43cd5c4a5172c7b7529dc2927872e2f77f1ce68d7393ad46 +SIZE (xpi/firefox-i18n-55.0b4/vi.xpi) = 474773 +SHA256 (xpi/firefox-i18n-55.0b4/xh.xpi) = 990cfea918c879b0dfb465fcc7d74ed1094e9dc0b1eba9e1a8fe9ba58d65d820 +SIZE (xpi/firefox-i18n-55.0b4/xh.xpi) = 470722 +SHA256 (xpi/firefox-i18n-55.0b4/zh-CN.xpi) = a58a883827be06aeb5bb73b909c75a163e3e40fc30e3fa8c5f993d5fdedeaf7b +SIZE (xpi/firefox-i18n-55.0b4/zh-CN.xpi) = 490381 +SHA256 (xpi/firefox-i18n-55.0b4/zh-TW.xpi) = 102be0c4f6cedbf8ce003d91c64df82d2d53abe9af47a9ffc505c7285f7731e8 +SIZE (xpi/firefox-i18n-55.0b4/zh-TW.xpi) = 489349 diff --git a/www/firefox/Makefile b/www/firefox/Makefile index ba927894f6c3..eceabadc1717 100644 --- a/www/firefox/Makefile +++ b/www/firefox/Makefile @@ -2,25 +2,25 @@ # $FreeBSD$ PORTNAME= firefox -DISTVERSION= 54.0 +DISTVERSION= 55.0b4 DISTVERSIONSUFFIX=.source PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ - MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build3/source + MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source MAINTAINER= gecko@FreeBSD.org COMMENT= Web browser based on the browser portion of Mozilla BUILD_DEPENDS= nspr>=4.14:devel/nspr \ - nss>=3.30.2:security/nss \ + nss>=3.31:security/nss \ libevent>=2.0.22:devel/libevent \ - harfbuzz>=1.4.3:print/harfbuzz \ + harfbuzz>=1.4.6:print/harfbuzz \ graphite2>=1.3.10:graphics/graphite2 \ png>=1.6.28:graphics/png \ libvorbis>=1.3.5,3:audio/libvorbis \ libvpx>=1.5.0:multimedia/libvpx \ - sqlite3>=3.17.0:databases/sqlite3 \ + sqlite3>=3.19.2:databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \ v4l_compat>0:multimedia/v4l_compat \ autoconf-2.13:devel/autoconf213 \ @@ -46,6 +46,7 @@ MOZ_OPTIONS= --enable-application=browser \ OPTIONS_DEFINE= RUST OPTIONS_DEFAULT= BUNDLED_CAIRO +OPTIONS_EXCLUDE= GNOMEUI # XXX lang/rust and devel/cargo currently build only on these platforms OPTIONS_DEFAULT_aarch64=RUST OPTIONS_DEFAULT_amd64= RUST diff --git a/www/firefox/distinfo b/www/firefox/distinfo index d46cc9b64188..3e05963dce71 100644 --- a/www/firefox/distinfo +++ b/www/firefox/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1496961575 -SHA256 (firefox-54.0.source.tar.xz) = 08a9ff6870d904a2af1d03c17c6c44f67413608efb66bb280894d7b92c336a77 -SIZE (firefox-54.0.source.tar.xz) = 229178564 +TIMESTAMP = 1498164297 +SHA256 (firefox-55.0b4.source.tar.xz) = 45c7e41de3a1782bf9ccb16096973340ac463dc82e8b75c2cb42cd693d9a58e0 +SIZE (firefox-55.0b4.source.tar.xz) = 236210340 diff --git a/www/firefox/files/patch-bug1021761 b/www/firefox/files/patch-bug1021761 index e59fce618f00..f0764a8c4b22 100644 --- a/www/firefox/files/patch-bug1021761 +++ b/www/firefox/files/patch-bug1021761 @@ -122,7 +122,18 @@ index 57bcb4c13652..68be024f4a68 100644 static int validate_stream_params(cubeb_stream_params * input_stream_params, -@@ -138,6 +141,9 @@ cubeb_init(cubeb ** context, char const * context_name) +@@ -155,6 +158,10 @@ cubeb_init(cubeb ** context, char const * context_name, char const * backend_nam + #if defined(USE_KAI) + init_oneshot = kai_init; + #endif ++ } else if (!strcmp(backend_name, "oss")) { ++#if defined(USE_OSS) ++ init_oneshot = oss_init; ++#endif + } else { + /* Already set */ + } +@@ -196,6 +203,9 @@ cubeb_init(cubeb ** context, char const * context_name, char const * backend_nam #if defined(USE_KAI) kai_init, #endif @@ -246,7 +257,7 @@ index 05ad27fef53b..3ea78e994f59 100644 + char * buftail = stm->buffer + WRAP(snd_pcm_frames_to_bytes)(stm->pcm, stm->bufframes); /* Correct read size to the other stream available frames */ - if (stm->other_stream && got > stm->other_stream->bufframes) { + if (stm->other_stream && got > (snd_pcm_sframes_t) stm->other_stream->bufframes) { @@ -372,8 +421,8 @@ alsa_process_stream(cubeb_stream * stm) long drain_frames = avail - stm->bufframes; double drain_time = (double) drain_frames / stm->params.rate; @@ -579,7 +590,7 @@ index 05ad27fef53b..3ea78e994f59 100644 + r = WRAP(snd_pcm_poll_descriptors)(stm->pcm, stm->saved_fds, stm->nfds); assert((nfds_t) r == stm->nfds); - r = pthread_cond_init(&stm->cond, NULL); + if (alsa_register_stream(ctx, stm) != 0) { @@ -1048,7 +1156,7 @@ alsa_stream_destroy(cubeb_stream * stm) pthread_mutex_lock(&stm->mutex); if (stm->pcm) { @@ -1182,29 +1193,14 @@ diff --git media/libcubeb/update.sh media/libcubeb/update.sh index b139b8f497fd..d1f8a223c6d8 100755 --- media/libcubeb/update.sh +++ media/libcubeb/update.sh -@@ -17,6 +17,7 @@ cp $1/src/cubeb_audiounit.cpp src - cp $1/src/cubeb_osx_run_loop.h src - cp $1/src/cubeb_jack.cpp src +@@ -20,6 +20,7 @@ cp $1/src/cubeb_log.h src + cp $1/src/cubeb_mixer.cpp src + cp $1/src/cubeb_mixer.h src cp $1/src/cubeb_opensl.c src +cp $1/src/cubeb_oss.c src - cp $1/src/cubeb_array_queue.h src + cp $1/src/cubeb_osx_run_loop.h src cp $1/src/cubeb_panner.cpp src cp $1/src/cubeb_panner.h src -diff --git media/webrtc/signaling/test/common.build media/webrtc/signaling/test/common.build -index 3e5450f5d63a..dd45427f655a 100644 ---- media/webrtc/signaling/test/common.build -+++ media/webrtc/signaling/test/common.build -@@ -99,8 +99,8 @@ USE_LIBS += ['mozglue'] - OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS'] - OS_LIBS += CONFIG['REALTIME_LIBS'] - --if CONFIG['MOZ_ALSA']: -- OS_LIBS += CONFIG['MOZ_ALSA_LIBS'] -+if CONFIG['MOZ_OSS']: -+ OS_LIBS += CONFIG['MOZ_OSS_LIBS'] - - if CONFIG['MOZ_SYSTEM_JPEG']: - OS_LIBS += CONFIG['MOZ_JPEG_LIBS'] diff --git toolkit/library/moz.build toolkit/library/moz.build index a61c689c83c3..7764df6f8a6b 100644 --- toolkit/library/moz.build diff --git a/www/firefox/files/patch-bug1356709 b/www/firefox/files/patch-bug1356709 deleted file mode 100644 index b795836a4ad4..000000000000 --- a/www/firefox/files/patch-bug1356709 +++ /dev/null @@ -1,170 +0,0 @@ -commit acc36099bfc1 -Author: Steve Fink -Date: Mon Apr 17 21:04:08 2017 -0700 - - Bug 1356709 - Fix uses of uninitialized values in arm64 code, r=sstangl - - --HG-- - extra : rebase_source : 2f9a59c88f21dd467fbc4232e2f6b20850fd53ed - extra : histedit_source : b5110806cf04a3ca056ea89709bcc707368a2e57 ---- - js/src/jit/arm64/MacroAssembler-arm64.cpp | 4 +++- - js/src/jit/arm64/vixl/Debugger-vixl.cpp | 10 ++++++---- - js/src/jit/arm64/vixl/Decoder-vixl.cpp | 12 ++++++------ - js/src/jit/arm64/vixl/Instrument-vixl.cpp | 4 +++- - js/src/jit/arm64/vixl/MozSimulator-vixl.cpp | 8 ++++++-- - 5 files changed, 24 insertions(+), 14 deletions(-) - -diff --git js/src/jit/arm64/MacroAssembler-arm64.cpp js/src/jit/arm64/MacroAssembler-arm64.cpp -index 013fefd85e9b..f1704c622cb6 100644 ---- js/src/jit/arm64/MacroAssembler-arm64.cpp -+++ js/src/jit/arm64/MacroAssembler-arm64.cpp -@@ -682,7 +682,9 @@ MacroAssembler::callWithABIPre(uint32_t* stackAdjust, bool callFromWasm) - *stackAdjust = stackForCall; - reserveStack(*stackAdjust); - { -- moveResolver_.resolve(); -+ enoughMemory_ &= moveResolver_.resolve(); -+ if (!enoughMemory_) -+ return; - MoveEmitter emitter(*this); - emitter.emit(moveResolver_); - emitter.finish(); -diff --git js/src/jit/arm64/vixl/Debugger-vixl.cpp js/src/jit/arm64/vixl/Debugger-vixl.cpp -index 85097ed5a086..2f4966fbef15 100644 ---- js/src/jit/arm64/vixl/Debugger-vixl.cpp -+++ js/src/jit/arm64/vixl/Debugger-vixl.cpp -@@ -30,6 +30,7 @@ - - #include "jit/arm64/vixl/Debugger-vixl.h" - -+#include "mozilla/Unused.h" - #include "mozilla/Vector.h" - - #include "jsalloc.h" -@@ -1109,6 +1110,7 @@ bool DebugCommand::Match(const char* name, const char** aliases) { - - - DebugCommand* DebugCommand::Parse(char* line) { -+ using mozilla::Unused; - TokenVector args; - - for (char* chunk = strtok(line, " \t"); -@@ -1120,15 +1122,15 @@ DebugCommand* DebugCommand::Parse(char* line) { - Token* format = FormatToken::Tokenize(dot + 1); - if (format != NULL) { - *dot = '\0'; -- args.append(Token::Tokenize(chunk)); -- args.append(format); -+ Unused << args.append(Token::Tokenize(chunk)); -+ Unused << args.append(format); - } else { - // Error while parsing the format, push the UnknownToken so an error - // can be accurately reported. -- args.append(Token::Tokenize(chunk)); -+ Unused << args.append(Token::Tokenize(chunk)); - } - } else { -- args.append(Token::Tokenize(chunk)); -+ Unused << args.append(Token::Tokenize(chunk)); - } - } - -diff --git js/src/jit/arm64/vixl/Decoder-vixl.cpp js/src/jit/arm64/vixl/Decoder-vixl.cpp -index 5865689ae6fa..c74f71a11b24 100644 ---- js/src/jit/arm64/vixl/Decoder-vixl.cpp -+++ js/src/jit/arm64/vixl/Decoder-vixl.cpp -@@ -112,12 +112,12 @@ void Decoder::DecodeInstruction(const Instruction *instr) { - } - - void Decoder::AppendVisitor(DecoderVisitor* new_visitor) { -- visitors_.append(new_visitor); -+ MOZ_ALWAYS_TRUE(visitors_.append(new_visitor)); - } - - - void Decoder::PrependVisitor(DecoderVisitor* new_visitor) { -- visitors_.insert(visitors_.begin(), new_visitor); -+ MOZ_ALWAYS_TRUE(visitors_.insert(visitors_.begin(), new_visitor)); - } - - -@@ -125,12 +125,12 @@ void Decoder::InsertVisitorBefore(DecoderVisitor* new_visitor, - DecoderVisitor* registered_visitor) { - for (auto it = visitors_.begin(); it != visitors_.end(); it++) { - if (*it == registered_visitor) { -- visitors_.insert(it, new_visitor); -+ MOZ_ALWAYS_TRUE(visitors_.insert(it, new_visitor)); - return; - } - } - // We reached the end of the list without finding registered_visitor. -- visitors_.append(new_visitor); -+ MOZ_ALWAYS_TRUE(visitors_.append(new_visitor)); - } - - -@@ -139,12 +139,12 @@ void Decoder::InsertVisitorAfter(DecoderVisitor* new_visitor, - for (auto it = visitors_.begin(); it != visitors_.end(); it++) { - if (*it == registered_visitor) { - it++; -- visitors_.insert(it, new_visitor); -+ MOZ_ALWAYS_TRUE(visitors_.insert(it, new_visitor)); - return; - } - } - // We reached the end of the list without finding registered_visitor. -- visitors_.append(new_visitor); -+ MOZ_ALWAYS_TRUE(visitors_.append(new_visitor)); - } - - -diff --git js/src/jit/arm64/vixl/Instrument-vixl.cpp js/src/jit/arm64/vixl/Instrument-vixl.cpp -index 7653e0856281..15d143c8ec13 100644 ---- js/src/jit/arm64/vixl/Instrument-vixl.cpp -+++ js/src/jit/arm64/vixl/Instrument-vixl.cpp -@@ -26,6 +26,8 @@ - - #include "jit/arm64/vixl/Instrument-vixl.h" - -+#include "mozilla/Unused.h" -+ - namespace vixl { - - Counter::Counter(const char* name, CounterType type) -@@ -139,7 +141,7 @@ Instrument::Instrument(const char* datafile, uint64_t sample_period) - // Construct Counter objects from counter description array. - for (int i = 0; i < num_counters; i++) { - if (Counter* counter = js_new(kCounterList[i].name, kCounterList[i].type)) -- counters_.append(counter); -+ mozilla::Unused << counters_.append(counter); - } - - DumpCounterNames(); -diff --git js/src/jit/arm64/vixl/MozSimulator-vixl.cpp js/src/jit/arm64/vixl/MozSimulator-vixl.cpp -index 0f8acebf9de6..284413bc5875 100644 ---- js/src/jit/arm64/vixl/MozSimulator-vixl.cpp -+++ js/src/jit/arm64/vixl/MozSimulator-vixl.cpp -@@ -29,6 +29,7 @@ - #include "jit/arm64/vixl/Debugger-vixl.h" - #include "jit/arm64/vixl/Simulator-vixl.h" - #include "jit/IonTypes.h" -+#include "js/Utility.h" - #include "threading/LockGuard.h" - #include "vm/Runtime.h" - #include "wasm/WasmCode.h" -@@ -427,9 +428,12 @@ void Simulator::VisitException(const Instruction* instr) { - case kCallRtRedirected: - VisitCallRedirection(instr); - return; -- case kMarkStackPointer: -- spStack_.append(xreg(31, Reg31IsStackPointer)); -+ case kMarkStackPointer: { -+ js::AutoEnterOOMUnsafeRegion oomUnsafe; -+ if (!spStack_.append(xreg(31, Reg31IsStackPointer))) -+ oomUnsafe.crash("tracking stack for ARM64 simulator"); - return; -+ } - case kCheckStackPointer: { - int64_t current = xreg(31, Reg31IsStackPointer); - int64_t expected = spStack_.popCopy(); diff --git a/www/firefox/files/patch-bug1357874 b/www/firefox/files/patch-bug1357874 deleted file mode 100644 index a4c69d2571dd..000000000000 --- a/www/firefox/files/patch-bug1357874 +++ /dev/null @@ -1,43 +0,0 @@ -commit 50d30e203b35 -Author: Jim Chen -Date: Mon May 1 14:46:00 2017 -0400 - - Bug 1357874 - Add more AArch64 support to JS code; r=luke - - * Fix a parentheses warning when compiling testGCAllocator.cpp. - - * Enable trace logging in TraceLogging.cpp. ---- - js/src/jsapi-tests/testGCAllocator.cpp | 2 +- - js/src/jsmath.cpp | 2 ++ - js/src/jsnativestack.cpp | 10 +++++----- - js/src/vm/TraceLogging.cpp | 2 +- - js/src/wasm/WasmSignalHandlers.cpp | 2 ++ - 5 files changed, 11 insertions(+), 7 deletions(-) - -diff --git js/src/jsapi-tests/testGCAllocator.cpp js/src/jsapi-tests/testGCAllocator.cpp -index 229e56422fdf..ec5407e8cca1 100644 ---- js/src/jsapi-tests/testGCAllocator.cpp -+++ js/src/jsapi-tests/testGCAllocator.cpp -@@ -315,7 +315,7 @@ mapMemoryAt(void* desired, size_t length) - - #if defined(__ia64__) || defined(__aarch64__) || \ - (defined(__sparc__) && defined(__arch64__) && (defined(__NetBSD__) || defined(__linux__))) -- MOZ_RELEASE_ASSERT(0xffff800000000000ULL & (uintptr_t(desired) + length - 1) == 0); -+ MOZ_RELEASE_ASSERT((0xffff800000000000ULL & (uintptr_t(desired) + length - 1)) == 0); - #endif - void* region = mmap(desired, length, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0); - if (region == MAP_FAILED) -diff --git js/src/vm/TraceLogging.cpp js/src/vm/TraceLogging.cpp -index c7bc6a84b2e9..82fdf7c77e8a 100644 ---- js/src/vm/TraceLogging.cpp -+++ js/src/vm/TraceLogging.cpp -@@ -61,7 +61,7 @@ rdtsc(void) - return result; - - } --#elif defined(__arm__) -+#elif defined(__arm__) || defined(__aarch64__) - - #include - diff --git a/www/firefox/files/patch-bug1360321 b/www/firefox/files/patch-bug1360321 deleted file mode 100644 index b9989ef7c099..000000000000 --- a/www/firefox/files/patch-bug1360321 +++ /dev/null @@ -1,49 +0,0 @@ -commit a2dff5ad917b -Author: Jim Chen -Date: Wed May 17 13:06:23 2017 -0400 - - Bug 1360321 - 10. Fix opt build warnings in VIXL; r=me - - Fix an unused variable warning for `visitor` because it's only used in - the assertion macro. - - Fix several no-return-value errors because the compiler cannot assume - the VIXL_UNREACHABLE() macro is actually unreachable. - - r=me for trivial patch. - - MozReview-Commit-ID: 13IlMyUsXUN ---- - js/src/jit/arm64/vixl/Decoder-vixl.h | 2 ++ - js/src/jit/arm64/vixl/Globals-vixl.h | 2 +- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git js/src/jit/arm64/vixl/Decoder-vixl.h js/src/jit/arm64/vixl/Decoder-vixl.h -index 95dd589e8ab0..742c6f954c72 100644 ---- js/src/jit/arm64/vixl/Decoder-vixl.h -+++ js/src/jit/arm64/vixl/Decoder-vixl.h -@@ -151,9 +151,11 @@ class Decoder { - - // Top-level wrappers around the actual decoding function. - void Decode(const Instruction* instr) { -+#ifdef DEBUG - for (auto visitor : visitors_) { - VIXL_ASSERT(visitor->IsConstVisitor()); - } -+#endif - DecodeInstruction(instr); - } - void Decode(Instruction* instr) { -diff --git js/src/jit/arm64/vixl/Globals-vixl.h js/src/jit/arm64/vixl/Globals-vixl.h -index 8a7418eb8c47..39d9c1d3f37d 100644 ---- js/src/jit/arm64/vixl/Globals-vixl.h -+++ js/src/jit/arm64/vixl/Globals-vixl.h -@@ -76,7 +76,7 @@ const int MBytes = 1024 * KBytes; - #define VIXL_ASSERT(condition) ((void) 0) - #define VIXL_CHECK(condition) ((void) 0) - #define VIXL_UNIMPLEMENTED() ((void) 0) -- #define VIXL_UNREACHABLE() ((void) 0) -+ #define VIXL_UNREACHABLE() MOZ_MAKE_COMPILER_ASSUME_IS_UNREACHABLE() - #endif - // This is not as powerful as template based assertions, but it is simple. - // It assumes that the descriptions are unique. If this starts being a problem, diff --git a/www/firefox/files/patch-bug702179 b/www/firefox/files/patch-bug702179 index bb642382dfd8..0c998526736e 100644 --- a/www/firefox/files/patch-bug702179 +++ b/www/firefox/files/patch-bug702179 @@ -1,13 +1,12 @@ ---- js/src/moz.build.orig 2015-12-16 12:32:04.574425000 +0100 -+++ js/src/moz.build 2015-12-16 12:32:09.032032000 +0100 -@@ -671,10 +671,6 @@ CFLAGS += CONFIG['MOZ_ICU_CFLAGS'] - CXXFLAGS += CONFIG['MOZ_ICU_CFLAGS'] - LOCAL_INCLUDES += CONFIG['MOZ_ICU_INCLUDES'] +Don't build static JS lib to make sure DTrace probes are picked up. + +--- js/src/build/moz.build.orig 2017-04-16 18:00:50 UTC ++++ js/src/build/moz.build +@@ -71,7 +71,3 @@ if CONFIG['OS_ARCH'] == 'SunOS': + ] + OS_LIBS += CONFIG['REALTIME_LIBS'] +- -NO_EXPAND_LIBS = True - -DIST_INSTALL = True -- - # Prepare self-hosted JS code for embedding - GENERATED_FILES += ['selfhosted.out.h'] - selfhosted = GENERATED_FILES['selfhosted.out.h'] diff --git a/www/firefox/files/patch-bug826985 b/www/firefox/files/patch-bug826985 index 1f21f8f960cd..8e23b9382748 100644 --- a/www/firefox/files/patch-bug826985 +++ b/www/firefox/files/patch-bug826985 @@ -51,18 +51,6 @@ index b483cd1..f1dd1f0 100644 # basic stuff for everything 'include_internal_video_render': 0, 'clang_use_chrome_plugins': 0, -diff --git media/webrtc/signaling/test/common.build media/webrtc/signaling/test/common.build -index b483cd1..f1dd1f0 100644 ---- media/webrtc/signaling/test/common.build -+++ media/webrtc/signaling/test/common.build -@@ -99,6 +99,7 @@ if CONFIG['JS_SHARED_LIBRARY']: - - USE_LIBS += ['mozglue'] - -+OS_LIBS += CONFIG['MOZ_LIBV4L2_LIBS'] - OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS'] - OS_LIBS += CONFIG['REALTIME_LIBS'] - diff --git media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc index 239a292..bab496c 100644 --- media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc diff --git a/www/firefox/files/patch-bug847568 b/www/firefox/files/patch-bug847568 index 9ef2dbadd362..0deb5a504f56 100644 --- a/www/firefox/files/patch-bug847568 +++ b/www/firefox/files/patch-bug847568 @@ -261,7 +261,7 @@ index 9297e4d6f501..d8e273887e4b 100644 +option('--with-system-harfbuzz', + help="Use system harfbuzz (located with pkgconfig)") + -+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.4.3', ++system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.4.6', + when='--with-system-harfbuzz') + +set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True)) diff --git a/www/firefox/files/patch-bug981348 b/www/firefox/files/patch-bug981348 deleted file mode 100644 index 0c2ffea1ef7b..000000000000 --- a/www/firefox/files/patch-bug981348 +++ /dev/null @@ -1,61 +0,0 @@ -diff --git dom/system/OSFileConstants.cpp dom/system/OSFileConstants.cpp -index 88bba9baa401..99f240952dfe 100644 ---- dom/system/OSFileConstants.cpp -+++ dom/system/OSFileConstants.cpp -@@ -16,14 +16,17 @@ - #include "dirent.h" - #include "poll.h" - #include "sys/stat.h" --#if defined(ANDROID) -+#if defined(XP_LINUX) - #include - #define statvfs statfs -+#define f_frsize f_bsize - #else - #include "sys/statvfs.h" -+#endif // defined(XP_LINUX) -+#if !defined(ANDROID) - #include "sys/wait.h" - #include --#endif // defined(ANDROID) -+#endif // !defined(ANDROID) - #endif // defined(XP_UNIX) - - #if defined(XP_LINUX) -@@ -699,7 +702,7 @@ static const dom::ConstantSpec gLibcProperties[] = - - { "OSFILE_SIZEOF_STATVFS", JS::Int32Value(sizeof (struct statvfs)) }, - -- { "OSFILE_OFFSETOF_STATVFS_F_BSIZE", JS::Int32Value(offsetof (struct statvfs, f_bsize)) }, -+ { "OSFILE_OFFSETOF_STATVFS_F_FRSIZE", JS::Int32Value(offsetof (struct statvfs, f_frsize)) }, - { "OSFILE_OFFSETOF_STATVFS_F_BAVAIL", JS::Int32Value(offsetof (struct statvfs, f_bavail)) }, - - #endif // defined(XP_UNIX) -diff --git toolkit/components/osfile/modules/osfile_unix_back.jsm toolkit/components/osfile/modules/osfile_unix_back.jsm -index a028dda7d5ec..f5c632e3d7e5 100644 ---- toolkit/components/osfile/modules/osfile_unix_back.jsm -+++ toolkit/components/osfile/modules/osfile_unix_back.jsm -@@ -228,8 +228,8 @@ - let statvfs = new SharedAll.HollowStructure("statvfs", - Const.OSFILE_SIZEOF_STATVFS); - -- statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_BSIZE, -- "f_bsize", Type.unsigned_long.implementation); -+ statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_FRSIZE, -+ "f_frsize", Type.unsigned_long.implementation); - statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_BAVAIL, - "f_bavail", Type.fsblkcnt_t.implementation); - -diff --git toolkit/components/osfile/modules/osfile_unix_front.jsm toolkit/components/osfile/modules/osfile_unix_front.jsm -index bd60d4d8419c..a8cd6b546b0e 100644 ---- toolkit/components/osfile/modules/osfile_unix_front.jsm -+++ toolkit/components/osfile/modules/osfile_unix_front.jsm -@@ -399,7 +399,7 @@ - throw_on_negative("statvfs", (UnixFile.statvfs || UnixFile.statfs)(sourcePath, fileSystemInfoPtr)); - - let bytes = new Type.uint64_t.implementation( -- fileSystemInfo.f_bsize * fileSystemInfo.f_bavail); -+ fileSystemInfo.f_frsize * fileSystemInfo.f_bavail); - - return bytes.value; - }; diff --git a/www/firefox/files/patch-python_futures_concurrent_futures_process.py b/www/firefox/files/patch-python_futures_concurrent_futures_process.py deleted file mode 100644 index 5327af944b8b..000000000000 --- a/www/firefox/files/patch-python_futures_concurrent_futures_process.py +++ /dev/null @@ -1,15 +0,0 @@ ---- python/futures/concurrent/futures/process.py.orig 2017-04-11 04:15:19 UTC -+++ python/futures/concurrent/futures/process.py -@@ -247,7 +247,11 @@ def _check_system_limits(): - _system_limits_checked = True - try: - import os -- nsems_max = os.sysconf("SC_SEM_NSEMS_MAX") -+ if sys.platform.startswith('freebsd'): -+ # sem(4) confuses sysconf(3) on FreeBSD < 11.1 -+ nsems_max = -1 -+ else: -+ nsems_max = os.sysconf("SC_SEM_NSEMS_MAX") - except (AttributeError, ValueError): - # sysconf not available or setting not available - return diff --git a/www/firefox/files/patch-rust-option b/www/firefox/files/patch-rust-option index 57da0de6038e..e60e11b111ee 100644 --- a/www/firefox/files/patch-rust-option +++ b/www/firefox/files/patch-rust-option @@ -1,4 +1,4 @@ -Revert bug 1284816 and bug 1341967 to postpone bustage on non-x86 archs. +Revert bug 1284816, bug 1341967, bug 1336153 to postpone bustage on non-x86 archs. diff --git browser/confvars.sh browser/confvars.sh index d8dcd99c2757..740d9d3e5fcf 100755 @@ -56,11 +56,58 @@ index 267d989f1597..f709820e60ae 100644 if not rustc_info: die(dedent('''\ Rust compiler not found. +@@ -97,6 +110,9 @@ def rust_compiler(rustc_info, cargo_info): + + return True + ++set_define('MOZ_RUST', rust_compiler) ++set_config('MOZ_RUST', rust_compiler) ++ + @template + def rust_triple_alias(host_or_target): + """Template defining the alias used for rustc's --target flag. +@@ -227,7 +243,8 @@ set_config('RUST_HOST_TARGET', rust_host_triple) + + @depends(rust_target_triple) + def rust_target_env_name(triple): +- return triple.upper().replace('-','_') ++ if triple: ++ return triple.upper().replace('-','_') + + # We need this to form various Cargo environment variables, as there is no + # uppercase function in make, and we don't want to shell out just for +@@ -235,5 +252,6 @@ def rust_target_env_name(triple): + set_config('RUST_TARGET_ENV_NAME', rust_target_env_name) + + # Until we remove all the other Rust checks in old-configure. ++add_old_configure_assignment('MOZ_RUST', rust_compiler) + add_old_configure_assignment('RUSTC', rustc) + add_old_configure_assignment('RUST_TARGET', rust_target_triple) +diff --git config/rules.mk config/rules.mk +index 94cc5556e3d0..7b143ebc5146 100644 +--- config/rules.mk ++++ config/rules.mk +@@ -900,6 +900,7 @@ endif + + $(foreach file,$(DUMP_SYMS_TARGETS),$(eval $(call syms_template,$(file),$(file)_syms.track))) + ++ifdef MOZ_RUST + cargo_host_flag := --target=$(RUST_HOST_TARGET) + cargo_target_flag := --target=$(RUST_TARGET) + +@@ -1055,6 +1056,7 @@ force-cargo-host-program-build: + + $(HOST_RUST_PROGRAMS): force-cargo-host-program-build + endif # HOST_RUST_PROGRAMS ++endif # MOZ_RUST + + $(SOBJS): + $(REPORT_BUILD) diff --git dom/media/MediaPrefs.h dom/media/MediaPrefs.h index 4dcc659222a4..559334d89fd1 100644 --- dom/media/MediaPrefs.h +++ dom/media/MediaPrefs.h -@@ -165,7 +165,7 @@ private: +@@ -183,7 +183,7 @@ private: DECL_MEDIA_PREF("media.ogg.flac.enabled", FlacInOgg, bool, false); DECL_MEDIA_PREF("media.flac.enabled", FlacEnabled, bool, true); @@ -69,6 +116,42 @@ index 4dcc659222a4..559334d89fd1 100644 DECL_MEDIA_PREF("media.rust.test_mode", RustTestMode, bool, false); #endif +diff --git dom/media/gtest/moz.build dom/media/gtest/moz.build +index c66ac4a9437f..e2203c0a4321 100644 +--- dom/media/gtest/moz.build ++++ dom/media/gtest/moz.build +@@ -22,7 +22,6 @@ UNIFIED_SOURCES += [ + 'TestMozPromise.cpp', + 'TestMP3Demuxer.cpp', + 'TestMP4Demuxer.cpp', +- 'TestRust.cpp', + 'TestTrackEncoder.cpp', + 'TestVideoSegment.cpp', + 'TestVideoUtils.cpp', +@@ -36,6 +35,9 @@ if CONFIG['MOZ_WEBM_ENCODER']: + 'TestWebMWriter.cpp', + ] + ++if CONFIG['MOZ_RUST']: ++ UNIFIED_SOURCES += ['TestRust.cpp',] ++ + TEST_HARNESS_FILES.gtest += [ + '../test/gizmo-frag.mp4', + '../test/gizmo.mp4', +diff --git media/libcubeb/src/moz.build media/libcubeb/src/moz.build +index c65b53b80f63..8953f646e831 100644 +--- media/libcubeb/src/moz.build ++++ media/libcubeb/src/moz.build +@@ -32,7 +32,8 @@ if CONFIG['MOZ_PULSEAUDIO']: + 'cubeb_pulse.c', + ] + DEFINES['USE_PULSE'] = True +- DEFINES['USE_PULSE_RUST'] = True ++ if CONFIG['MOZ_RUST']: ++ DEFINES['USE_PULSE_RUST'] = True + + if CONFIG['MOZ_JACK']: + SOURCES += [ diff --git media/libstagefright/binding/DecoderData.cpp media/libstagefright/binding/DecoderData.cpp index 109ea329d154..a06e533b1e62 100644 --- media/libstagefright/binding/DecoderData.cpp @@ -84,16 +167,16 @@ index 109ea329d154..a06e533b1e62 100644 +#endif // MOZ_RUST_MP4PARSE using namespace stagefright; - -@@ -187,6 +189,7 @@ MP4VideoInfo::Update(const MetaData* aMetaData, const char* aMimeType) - + using mozilla::media::TimeUnit; +@@ -177,6 +179,7 @@ MP4VideoInfo::Update(const MetaData* aMetaData, const char* aMimeType) + FindData(aMetaData, kKeyAVCC, mExtraData); } +#ifdef MOZ_RUST_MP4PARSE static void UpdateTrackProtectedInfo(mozilla::TrackInfo& aConfig, const mp4parse_sinf_info& aSinf) -@@ -266,6 +269,7 @@ MP4VideoInfo::Update(const mp4parse_track_info* track, +@@ -263,6 +266,7 @@ MP4VideoInfo::Update(const mp4parse_track_info* track, mExtraData->AppendElements(video->extra_data.data, video->extra_data.length); } } @@ -105,7 +188,7 @@ diff --git media/libstagefright/binding/MP4Metadata.cpp media/libstagefright/bin index 5c3810d99a38..5d14dfd8b8a9 100644 --- media/libstagefright/binding/MP4Metadata.cpp +++ media/libstagefright/binding/MP4Metadata.cpp -@@ -19,14 +19,18 @@ +@@ -20,14 +20,18 @@ #include "mp4_demuxer/MP4Metadata.h" #include "mp4_demuxer/Stream.h" #include "MediaPrefs.h" @@ -123,8 +206,8 @@ index 5c3810d99a38..5d14dfd8b8a9 100644 +#endif // MOZ_RUST_MP4PARSE using namespace stagefright; - -@@ -101,6 +103,7 @@ private: + using mozilla::media::TimeUnit; +@@ -105,6 +109,7 @@ private: bool mCanSeek; }; @@ -132,19 +215,35 @@ index 5c3810d99a38..5d14dfd8b8a9 100644 // Wrap an mp4_demuxer::Stream to remember the read offset. class RustStreamAdaptor { -@@ -145,9 +149,11 @@ private: +@@ -151,6 +156,7 @@ private: RustStreamAdaptor mRustSource; mozilla::UniquePtr mRustParser; }; +#endif // MOZ_RUST_MP4PARSE + class IndiceWrapperStagefright : public IndiceWrapper { + public: +@@ -187,6 +193,7 @@ IndiceWrapperStagefright::GetIndice(size_t aIndex, Index::Indice& aIndice) const + return true; + } + ++#ifdef MOZ_RUST_MP4PARSE + // the owner of mIndice is rust mp4 paser, so lifetime of this class + // SHOULD NOT longer than rust parser. + class IndiceWrapperRust : public IndiceWrapper +@@ -232,9 +239,11 @@ IndiceWrapperRust::GetIndice(size_t aIndex, Index::Indice& aIndice) const + aIndice.sync = indice->sync; + return true; + } ++#endif // MOZ_RUST_MP4PARSE + MP4Metadata::MP4Metadata(Stream* aSource) : mStagefright(MakeUnique(aSource)) +#ifdef MOZ_RUST_MP4PARSE , mRust(MakeUnique(aSource)) - , mPreferRust(false) + , mPreferRust(MediaPrefs::EnableRustMP4Parser()) , mReportedAudioTrackTelemetry(false) -@@ -155,6 +161,7 @@ MP4Metadata::MP4Metadata(Stream* aSource) +@@ -242,6 +251,7 @@ MP4Metadata::MP4Metadata(Stream* aSource) #ifndef RELEASE_OR_BETA , mRustTestMode(MediaPrefs::RustTestMode()) #endif @@ -152,44 +251,46 @@ index 5c3810d99a38..5d14dfd8b8a9 100644 { } -@@ -186,6 +193,7 @@ MP4Metadata::GetNumberTracks(mozilla::TrackInfo::TrackType aType) const - { - uint32_t numTracks = mStagefright->GetNumberTracks(aType); +@@ -274,8 +284,11 @@ MP4Metadata::GetNumberTracks(mozilla::TrackInfo::TrackType aType) const + MP4Metadata::ResultAndTrackCount numTracks = + mStagefright->GetNumberTracks(aType); +#ifdef MOZ_RUST_MP4PARSE if (!mRust) { ++#endif // MOZ_RUST_MP4PARSE return numTracks; ++#ifdef MOZ_RUST_MP4PARSE } -@@ -211,10 +219,12 @@ MP4Metadata::GetNumberTracks(mozilla::TrackInfo::TrackType aType) const - mPreferRust = true; - return numTracksRust; - } -+#endif // MOZ_RUST_MP4PARSE - return numTracks; + MP4Metadata::ResultAndTrackCount numTracksRust = +@@ -350,8 +363,10 @@ MP4Metadata::GetNumberTracks(mozilla::TrackInfo::TrackType aType) const + // Same non-error numbers, just return any. + // (Choosing Rust here, in case it carries a warning, we'd want to know that.) + return numTracksRust; ++#endif // MOZ_RUST_MP4PARSE } +#ifdef MOZ_RUST_MP4PARSE bool MP4Metadata::ShouldPreferRust() const { if (!mRust) { return false; -@@ -245,6 +255,7 @@ bool MP4Metadata::ShouldPreferRust() const { +@@ -389,6 +404,7 @@ bool MP4Metadata::ShouldPreferRust() const { // Otherwise, fall back. return false; } +#endif // MOZ_RUST_MP4PARSE - mozilla::UniquePtr - MP4Metadata::GetTrackInfo(mozilla::TrackInfo::TrackType aType, -@@ -253,6 +264,7 @@ MP4Metadata::GetTrackInfo(mozilla::TrackInfo::TrackType aType, - mozilla::UniquePtr info = - mStagefright->GetTrackInfo(aType, aTrackNumber); + static const char* + GetDifferentField(const mozilla::TrackInfo& info, +@@ -443,6 +459,7 @@ MP4Metadata::GetTrackInfo(mozilla::TrackInfo::TrackType aType, + MP4Metadata::ResultAndTrackInfo info = + mStagefright->GetTrackInfo(aType, aTrackNumber); +#ifdef MOZ_RUST_MP4PARSE if (!mRust) { return info; } -@@ -305,6 +317,7 @@ MP4Metadata::GetTrackInfo(mozilla::TrackInfo::TrackTyp +@@ -514,6 +531,7 @@ MP4Metadata::GetTrackInfo(mozilla::TrackInfo::TrackType aType, if (mPreferRust) { return infoRust; } @@ -197,15 +298,15 @@ index 5c3810d99a38..5d14dfd8b8a9 100644 return info; } -@@ -319,6 +334,7 @@ const CryptoFile& +@@ -528,6 +546,7 @@ MP4Metadata::ResultAndCryptoFile MP4Metadata::Crypto() const { - const CryptoFile& crypto = mStagefright->Crypto(); + MP4Metadata::ResultAndCryptoFile crypto = mStagefright->Crypto(); +#ifdef MOZ_RUST_MP4PARSE - const CryptoFile& rustCrypto = mRust->Crypto(); + MP4Metadata::ResultAndCryptoFile rustCrypto = mRust->Crypto(); #ifndef RELEASE_OR_BETA -@@ -330,6 +347,7 @@ MP4Metadata::Crypto() const +@@ -548,6 +567,7 @@ MP4Metadata::Crypto() const if (mPreferRust) { return rustCrypto; } @@ -213,17 +314,59 @@ index 5c3810d99a38..5d14dfd8b8a9 100644 return crypto; } -@@ -594,6 +612,7 @@ MP4MetadataStagefright::Metadata(Stream* aSource) - return parser->Metadata(); +@@ -556,17 +576,22 @@ MP4Metadata::ResultAndIndice + MP4Metadata::GetTrackIndice(mozilla::TrackID aTrackID) + { + FallibleTArray indiceSF; ++#ifdef MOZ_RUST_MP4PARSE + if (!mPreferRust + #ifndef RELEASE_OR_BETA + || mRustTestMode + #endif + ) { ++#endif // MOZ_RUST_MP4PARSE + MediaResult rv = mStagefright->ReadTrackIndex(indiceSF, aTrackID); + if (NS_FAILED(rv)) { + return {Move(rv), nullptr}; + } ++#ifdef MOZ_RUST_MP4PARSE + } ++#endif // MOZ_RUST_MP4PARSE + ++#ifdef MOZ_RUST_MP4PARSE + mp4parse_byte_data indiceRust = {}; + if (mPreferRust + #ifndef RELEASE_OR_BETA +@@ -592,13 +617,18 @@ MP4Metadata::GetTrackIndice(mozilla::TrackID aTrackID) + } + } + #endif ++#endif // MOZ_RUST_MP4PARSE + + UniquePtr indice; ++#ifdef MOZ_RUST_MP4PARSE + if (mPreferRust) { + indice = mozilla::MakeUnique(indiceRust); + } else { ++#endif // MOZ_RUST_MP4PARSE + indice = mozilla::MakeUnique(indiceSF); ++#ifdef MOZ_RUST_MP4PARSE + } ++#endif // MOZ_RUST_MP4PARSE + + return {NS_OK, Move(indice)}; + } +@@ -856,6 +886,7 @@ MP4MetadataStagefright::Metadata(Stream* aSource) + return {NS_OK, Move(buffer)}; } +#ifdef MOZ_RUST_MP4PARSE bool RustStreamAdaptor::Read(uint8_t* buffer, uintptr_t size, size_t* bytes_read) { -@@ -859,5 +878,6 @@ MP4MetadataRust::Metadata(Stream* aSource) +@@ -1152,5 +1183,6 @@ MP4MetadataRust::Metadata(Stream* aSource) MOZ_ASSERT(false, "Not yet implemented"); - return nullptr; + return {NS_ERROR_NOT_IMPLEMENTED, nullptr}; } +#endif // MOZ_RUST_MP4PARSE @@ -272,7 +415,17 @@ diff --git media/libstagefright/binding/include/mp4_demuxer/MP4Metadata.h media/ index 492c9c1c1bc3..e16dbbd1155e 100644 --- media/libstagefright/binding/include/mp4_demuxer/MP4Metadata.h +++ media/libstagefright/binding/include/mp4_demuxer/MP4Metadata.h -@@ -36,6 +36,7 @@ public: +@@ -13,7 +13,9 @@ + #include "MediaInfo.h" + #include "MediaResult.h" + #include "Stream.h" ++#ifdef MOZ_RUST_MP4PARSE + #include "mp4parse.h" ++#endif // MOZ_RUST_MP4PARSE + + namespace mp4_demuxer { + +@@ -82,6 +84,7 @@ public: private: UniquePtr mStagefright; @@ -280,7 +433,7 @@ index 492c9c1c1bc3..e16dbbd1155e 100644 UniquePtr mRust; mutable bool mPreferRust; mutable bool mReportedAudioTrackTelemetry; -@@ -44,6 +45,7 @@ private: +@@ -90,6 +93,7 @@ private: mutable bool mRustTestMode; #endif bool ShouldPreferRust() const; @@ -288,6 +441,49 @@ index 492c9c1c1bc3..e16dbbd1155e 100644 }; } // namespace mp4_demuxer +diff --git media/libstagefright/gtest/moz.build media/libstagefright/gtest/moz.build +index be4d56fc93f7..66fdd365f8f3 100644 +--- media/libstagefright/gtest/moz.build ++++ media/libstagefright/gtest/moz.build +@@ -38,12 +38,13 @@ TEST_HARNESS_FILES.gtest += [ + 'test_case_1351094.mp4', + ] + +-UNIFIED_SOURCES += ['TestMP4Rust.cpp',] +-TEST_HARNESS_FILES.gtest += [ +- '../../../dom/media/test/street.mp4', +-] +-LOCAL_INCLUDES += [ +- '../binding/include', +-] ++if CONFIG['MOZ_RUST']: ++ UNIFIED_SOURCES += ['TestMP4Rust.cpp',] ++ TEST_HARNESS_FILES.gtest += [ ++ '../../../dom/media/test/street.mp4', ++ ] ++ LOCAL_INCLUDES += [ ++ '../binding/include', ++ ] + + FINAL_LIBRARY = 'xul-gtest' +diff --git media/libstagefright/moz.build media/libstagefright/moz.build +index af5d1194d621..6725a0179989 100644 +--- media/libstagefright/moz.build ++++ media/libstagefright/moz.build +@@ -83,9 +83,10 @@ SOURCES += [ + 'system/core/libutils/VectorImpl.cpp', + ] + +-EXPORTS += [ +- 'binding/include/mp4parse.h', +-] ++if CONFIG['MOZ_RUST']: ++ EXPORTS += [ ++ 'binding/include/mp4parse.h', ++ ] + + UNIFIED_SOURCES += [ + 'binding/Adts.cpp', diff --git mobile/android/confvars.sh mobile/android/confvars.sh index e79b6f5c0707..eb62763acaf7 100644 --- mobile/android/confvars.sh @@ -301,21 +497,98 @@ index e79b6f5c0707..eb62763acaf7 100644 # use custom widget for html:select MOZ_USE_NATIVE_POPUP_WINDOWS=1 +diff --git netwerk/base/moz.build netwerk/base/moz.build +index 61d022a9660e..e5ca1d77d859 100644 +--- netwerk/base/moz.build ++++ netwerk/base/moz.build +@@ -256,7 +256,7 @@ UNIFIED_SOURCES += [ + 'TLSServerSocket.cpp', + ] + +-if CONFIG['MOZ_RUST_URLPARSE']: ++if CONFIG['MOZ_RUST'] and CONFIG['MOZ_RUST_URLPARSE']: + EXPORTS.mozilla.net += [ 'RustURL.h' ] + UNIFIED_SOURCES += [ 'RustURL.cpp' ] + +diff --git netwerk/base/nsStandardURL.cpp netwerk/base/nsStandardURL.cpp +index 608b918a4ecf..20bcdeb34ab8 100644 +--- netwerk/base/nsStandardURL.cpp ++++ netwerk/base/nsStandardURL.cpp +@@ -858,6 +858,7 @@ nsStandardURL::BuildNormalizedSpec(const char *spec) + if (!SegmentIs(spec, mScheme, "resource") && + !SegmentIs(spec, mScheme, "chrome")) { + nsAutoCString ipString; ++#ifdef MOZ_RUST + if (encHost.Length() > 0 && + encHost.First() == '[' && encHost.Last() == ']' && + ValidIPv6orHostname(encHost.get(), encHost.Length())) { +@@ -866,7 +867,9 @@ nsStandardURL::BuildNormalizedSpec(const char *spec) + return rv; + } + encHost = ipString; +- } else if (NS_SUCCEEDED(NormalizeIPv4(encHost, ipString))) { ++ } else ++#endif ++ if (NS_SUCCEEDED(NormalizeIPv4(encHost, ipString))) { + encHost = ipString; + } + } +@@ -2112,6 +2115,7 @@ nsStandardURL::SetHost(const nsACString &input) + + if (!SegmentIs(mScheme, "resource") && !SegmentIs(mScheme, "chrome")) { + nsAutoCString ipString; ++#ifdef MOZ_RUST + if (hostBuf.Length() > 0 && + hostBuf.First() == '[' && hostBuf.Last() == ']' && + ValidIPv6orHostname(hostBuf.get(), hostBuf.Length())) { +@@ -2120,7 +2124,9 @@ nsStandardURL::SetHost(const nsACString &input) + return rv; + } + hostBuf = ipString; +- } else if (NS_SUCCEEDED(NormalizeIPv4(hostBuf, ipString))) { ++ } else ++#endif ++ if (NS_SUCCEEDED(NormalizeIPv4(hostBuf, ipString))) { + hostBuf = ipString; + } + } +diff --git old-configure.in old-configure.in +index 717a94fcc692..54b29d737cc1 100644 +--- old-configure.in ++++ old-configure.in +@@ -2330,9 +2330,14 @@ if test -n "$MOZ_MULET"; then + fi + + # Propagate feature switches for code written in rust from confvars.sh +-if test -n "$MOZ_RUST_URLPARSE"; then +- AC_DEFINE(MOZ_RUST_URLPARSE) +- AC_SUBST(MOZ_RUST_URLPARSE) ++if test -n "$MOZ_RUST"; then ++ if test -n "$MOZ_RUST_MP4PARSE"; then ++ AC_DEFINE(MOZ_RUST_MP4PARSE) ++ fi ++ if test -n "$MOZ_RUST_URLPARSE"; then ++ AC_DEFINE(MOZ_RUST_URLPARSE) ++ AC_SUBST(MOZ_RUST_URLPARSE) ++ fi + fi + + AC_SUBST(MOZ_PHOENIX) diff --git toolkit/components/telemetry/Histograms.json toolkit/components/telemetry/Histograms.json index 061c55f6a5b6..e49dfd176952 100644 --- toolkit/components/telemetry/Histograms.json +++ toolkit/components/telemetry/Histograms.json -@@ -6996,7 +6996,8 @@ - "expires_in_version": "55", +@@ -8320,7 +8320,8 @@ + "expires_in_version": "60", "kind": "boolean", "bug_numbers": [1220885], -- "description": "(Bug 1220885) Whether the rust mp4 demuxer successfully parsed a stream segment." -+ "description": "(Bug 1220885) Whether the rust mp4 demuxer successfully parsed a stream segment.", +- "description": "Whether the rust mp4 demuxer successfully parsed a stream segment." ++ "description": "Whether the rust mp4 demuxer successfully parsed a stream segment.", + "cpp_guard": "MOZ_RUST_MP4PARSE" }, "MEDIA_RUST_MP4PARSE_ERROR_CODE": { - "alert_emails": ["giles@mozilla.com", "kinetik@flim.org"], -@@ -7004,21 +7005,24 @@ + "record_in_processes": ["main", "content"], +@@ -8329,7 +8330,8 @@ "kind": "enumerated", "n_values": 32, "bug_numbers": [1238420], @@ -324,8 +597,9 @@ index 061c55f6a5b6..e49dfd176952 100644 + "cpp_guard": "MOZ_RUST_MP4PARSE" }, "MEDIA_RUST_MP4PARSE_TRACK_MATCH_AUDIO": { - "alert_emails": ["giles@mozilla.com", "kinetik@flim.org"], - "expires_in_version": "55", + "record_in_processes": ["main", "content"], +@@ -8337,7 +8339,8 @@ + "expires_in_version": "60", "kind": "boolean", "bug_numbers": [1231169], - "description": "Whether rust and stagefight mp4 parser audio track results match." @@ -333,8 +607,9 @@ index 061c55f6a5b6..e49dfd176952 100644 + "cpp_guard": "MOZ_RUST_MP4PARSE" }, "MEDIA_RUST_MP4PARSE_TRACK_MATCH_VIDEO": { - "alert_emails": ["giles@mozilla.com", "kinetik@flim.org"], - "expires_in_version": "55", + "record_in_processes": ["main", "content"], +@@ -8345,7 +8348,8 @@ + "expires_in_version": "60", "kind": "boolean", "bug_numbers": [1231169], - "description": "Whether rust and stagefight mp4 parser video track results match." @@ -342,4 +617,200 @@ index 061c55f6a5b6..e49dfd176952 100644 + "cpp_guard": "MOZ_RUST_MP4PARSE" }, "MEDIA_WMF_DECODE_ERROR": { - "expires_in_version": "55", + "record_in_processes": ["main", "content", "gpu"], +diff --git toolkit/library/gtest/moz.build toolkit/library/gtest/moz.build +index 69a8fb1f4893..c684f48e456e 100644 +--- toolkit/library/gtest/moz.build ++++ toolkit/library/gtest/moz.build +@@ -7,7 +7,6 @@ + FINAL_TARGET = 'dist/bin/gtest' + + USE_LIBS += [ +- 'gkrust-gtest', + 'static:xul', + # xul-gtest is an intermediate static library. It is used as FINAL_TARGET + # for gtest code. +@@ -21,6 +20,11 @@ USE_LIBS += [ + # before StaticXULComponentStart. + Libxul('xul-gtest-real') + ++if CONFIG['MOZ_RUST']: ++ USE_LIBS += [ ++ 'gkrust-gtest', ++ ] ++ + DIRS += [ + 'static', + ] +diff --git toolkit/library/moz.build toolkit/library/moz.build +index 650f6eaba980..191e90ceb09a 100644 +--- toolkit/library/moz.build ++++ toolkit/library/moz.build +@@ -63,7 +63,7 @@ def Libxul(name): + + # This option should go away in bug 1290972, but we need to wait until + # Rust 1.12 has been released. +- if CONFIG['OS_ARCH'] == 'Darwin': ++ if CONFIG['MOZ_RUST'] and CONFIG['OS_ARCH'] == 'Darwin': + LDFLAGS += ['-Wl,-no_compact_unwind'] + + Libxul('xul') +@@ -343,4 +343,5 @@ USE_LIBS += ['StaticXULComponentsEnd'] + # The above library needs to be last for C++ purposes. This library, + # however, is entirely composed of Rust code, and needs to come after + # all the C++ code so any possible C++ -> Rust calls can be resolved. +-USE_LIBS += ['gkrust'] ++if CONFIG['MOZ_RUST']: ++ USE_LIBS += ['gkrust'] +diff --git toolkit/moz.configure toolkit/moz.configure +index ac9d123224ce..e90da70f0fa5 100644 +--- toolkit/moz.configure ++++ toolkit/moz.configure +@@ -88,8 +88,7 @@ include('../js/moz.configure') + + # Rust + # ============================================================== +-include('../build/moz.configure/rust.configure', +- when='--enable-compile-environment') ++include('../build/moz.configure/rust.configure') + + + # L10N +@@ -623,13 +622,13 @@ id_and_secret_keyfile('Leanplum SDK') + option('--enable-stylo', nargs='?', choices=('build',), + help='Include Stylo in the build and/or enable it at runtime') + +-@depends('--enable-stylo') +-def stylo_config(value): ++@depends('--enable-stylo', '--enable-rust') ++def stylo_config(value, rust_enabled): + build_stylo = None + enable_stylo = None + + # The default is to not build Stylo at all. +- if value.origin == 'default': ++ if not rust_enabled or value.origin == 'default': + pass + elif value == 'build': + build_stylo = True +@@ -769,12 +768,14 @@ set_config('SERVO_TARGET_DIR', servo_target_dir) + option('--enable-webrender', nargs='?', choices=('build',), + help='Include WebRender in the build and/or enable it at runtime') + +-@depends('--enable-webrender', milestone) +-def webrender(value, milestone): ++@depends('--enable-webrender', '--enable-rust', milestone) ++def webrender(value, rust_enabled, milestone): + build_webrender = None + enable_webrender = None + +- if value.origin == 'default': ++ if not rust_enabled: ++ pass ++ elif value.origin == 'default': + # if nothing is specified, default to just building on Nightly + build_webrender = milestone.is_nightly + elif value == 'build': +diff --git toolkit/toolkit.mozbuild toolkit/toolkit.mozbuild +index b845aab48023..9215afc6dd2d 100644 +--- toolkit/toolkit.mozbuild ++++ toolkit/toolkit.mozbuild +@@ -133,16 +133,23 @@ if CONFIG['MOZ_PREF_EXTENSIONS']: + + DIRS += [ + '/devtools', +- '/toolkit/library', +- '/toolkit/library/gtest/rust', +- '/toolkit/library/rust', +- '/toolkit/library/StaticXULComponentsEnd', + '/services', + '/startupcache', + '/js/ductwork/debugger', + '/other-licenses/snappy', + ] + ++if CONFIG['MOZ_RUST']: ++ DIRS += [ ++ '/toolkit/library/gtest/rust', ++ '/toolkit/library/rust', ++ ] ++ ++DIRS += [ ++ '/toolkit/library/StaticXULComponentsEnd', ++ '/toolkit/library', ++] ++ + if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']: + DIRS += ['/toolkit/system/gnome'] + +diff --git toolkit/xre/nsAppRunner.cpp toolkit/xre/nsAppRunner.cpp +index 667c2eb1b365..6fb6cf102baa 100644 +--- toolkit/xre/nsAppRunner.cpp ++++ toolkit/xre/nsAppRunner.cpp +@@ -227,11 +227,13 @@ + extern uint32_t gRestartMode; + extern void InstallSignalHandlers(const char *ProgramName); + ++#ifdef MOZ_RUST + // This workaround is fixed in Rust 1.19. For details, see bug 1358151. + // Implementation in toolkit/library/rust/shared/lib.rs + extern "C" { + void rust_init_please_remove_this_after_updating_rust_1_19(); + } ++#endif + + #define FILE_COMPATIBILITY_INFO NS_LITERAL_CSTRING("compatibility.ini") + #define FILE_INVALIDATE_CACHES NS_LITERAL_CSTRING(".purgecaches") +@@ -3122,8 +3124,10 @@ XREMain::XRE_mainInit(bool* aExitFlag) + return 1; + *aExitFlag = false; + ++#ifdef MOZ_RUST + // This workaround is fixed in Rust 1.19. For details, see bug 1358151. + rust_init_please_remove_this_after_updating_rust_1_19(); ++#endif + + atexit(UnexpectedExit); + auto expectedShutdown = mozilla::MakeScopeExit([&] { +diff --git xpcom/base/nsDebugImpl.cpp xpcom/base/nsDebugImpl.cpp +index e6bb623c258b..c49d61dce605 100644 +--- xpcom/base/nsDebugImpl.cpp ++++ xpcom/base/nsDebugImpl.cpp +@@ -148,14 +148,20 @@ nsDebugImpl::Abort(const char* aFile, int32_t aLine) + return NS_OK; + } + ++#ifdef MOZ_RUST + // From toolkit/library/rust/lib.rs + extern "C" void intentional_panic(const char* message); ++#endif + + NS_IMETHODIMP + nsDebugImpl::RustPanic(const char* aMessage) + { ++#ifdef MOZ_RUST + intentional_panic(aMessage); + return NS_OK; ++#else ++ return NS_ERROR_NOT_IMPLEMENTED; ++#endif + } + + NS_IMETHODIMP +diff --git xpcom/rust/nsstring/gtest/moz.build xpcom/rust/nsstring/gtest/moz.build +index 197411678815..5bed9e57e57d 100644 +--- xpcom/rust/nsstring/gtest/moz.build ++++ xpcom/rust/nsstring/gtest/moz.build +@@ -4,8 +4,9 @@ + # 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/. + +-UNIFIED_SOURCES += [ +- 'Test.cpp' +-] ++if CONFIG['MOZ_RUST']: ++ UNIFIED_SOURCES += [ ++ 'Test.cpp' ++ ] + + FINAL_LIBRARY = 'xul-gtest' diff --git a/www/firefox/files/patch-third__party_python_futures_concurrent_futures_process.py b/www/firefox/files/patch-third__party_python_futures_concurrent_futures_process.py new file mode 100644 index 000000000000..0f584dbca8e5 --- /dev/null +++ b/www/firefox/files/patch-third__party_python_futures_concurrent_futures_process.py @@ -0,0 +1,15 @@ +--- third_party/python/futures/concurrent/futures/process.py.orig 2017-04-11 04:15:19 UTC ++++ third_party/python/futures/concurrent/futures/process.py +@@ -247,7 +247,11 @@ def _check_system_limits(): + _system_limits_checked = True + try: + import os +- nsems_max = os.sysconf("SC_SEM_NSEMS_MAX") ++ if sys.platform.startswith('freebsd'): ++ # sem(4) confuses sysconf(3) on FreeBSD < 11.1 ++ nsems_max = -1 ++ else: ++ nsems_max = os.sysconf("SC_SEM_NSEMS_MAX") + except (AttributeError, ValueError): + # sysconf not available or setting not available + return