FreeBSD Bugzilla – Attachment 186384 Details for
Bug 221335
www/firefox: update to 56.0
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
beta12
ff56.diff (text/plain), 89.91 KB, created by
Jan Beich
on 2017-09-14 18:25:00 UTC
(
hide
)
Description:
beta12
Filename:
MIME Type:
Creator:
Jan Beich
Created:
2017-09-14 18:25:00 UTC
Size:
89.91 KB
patch
obsolete
>From 561bd16337f11c08bc60b3e32d1dda1c70e79eeb Mon Sep 17 00:00:00 2001 >From: jbeich <jbeich@35697150-7ecd-e111-bb59-0022644237b5> >Date: Mon, 7 Aug 2017 18:22:51 +0000 >Subject: [PATCH] www/firefox: update to 56.0 > >Changes: https://www.mozilla.org/firefox/56.0/releasenotes/ >PR: 221335 >Security: 1098a15b-b0f6-42b7-b5c7-8a8646e8be07 >MFH: 2017Q3 not possible: requires r447450 and bug 218788 >--- > Mk/Uses/gecko.mk | 4 +- > Mk/bsd.gecko.mk | 11 +- > www/firefox-i18n/Makefile | 6 +- > www/firefox-i18n/distinfo | 382 ++++++++--------- > www/firefox/Makefile | 26 +- > www/firefox/distinfo | 6 +- > www/firefox/files/patch-bug1144632 | 26 +- > www/firefox/files/patch-bug1312182 | 376 ----------------- > www/firefox/files/patch-bug1366050 | 11 + > www/firefox/files/patch-bug1376268 | 61 --- > www/firefox/files/patch-bug1376277 | 22 - > www/firefox/files/patch-bug1385597 | 24 -- > www/firefox/files/patch-bug826985 | 16 +- > www/firefox/files/patch-bug847568 | 2 +- > www/firefox/files/patch-rust-option | 816 ------------------------------------ > www/firefox/files/patch-z-bug517422 | 8 +- > 16 files changed, 247 insertions(+), 1550 deletions(-) > delete mode 100644 www/firefox/files/patch-bug1312182 > create mode 100644 www/firefox/files/patch-bug1366050 > delete mode 100644 www/firefox/files/patch-bug1376268 > delete mode 100644 www/firefox/files/patch-bug1376277 > delete mode 100644 www/firefox/files/patch-bug1385597 > delete mode 100644 www/firefox/files/patch-rust-option > >diff --git a/Mk/Uses/gecko.mk b/Mk/Uses/gecko.mk >index 691bd5aaa827..a2975447daf2 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 55 >+_GECKO_VERSIONS= 52 56 > _GECKO_TYPE= firefox > > # Dependence lines for different Firefox versions > 52_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:www/firefox-esr >-55_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:www/firefox >+56_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/Mk/bsd.gecko.mk b/Mk/bsd.gecko.mk >index 0978fd690aba..00426b4713f5 100644 >--- a/Mk/bsd.gecko.mk >+++ b/Mk/bsd.gecko.mk >@@ -388,13 +388,15 @@ post-patch-SNDIO-on: > ${MOZSRC}/media/webrtc/signaling/test/common.build > .endif > >-.if ${PORT_OPTIONS:MRUST} >-BUILD_DEPENDS+= rust>=1.15.1:${RUST_PORT} >+.if ${PORT_OPTIONS:MRUST} || ${MOZILLA_VER:R:R} >= 54 >+BUILD_DEPENDS+= rust>=1.17.0:${RUST_PORT} > . if ${MOZILLA_VER:R:R} >= 51 >-BUILD_DEPENDS+= cargo>=0.16.0:devel/cargo >+BUILD_DEPENDS+= cargo>=0.18.0:devel/cargo > . endif > RUST_PORT?= lang/rust >+. if ${MOZILLA_VER:R:R} < 54 > MOZ_OPTIONS+= --enable-rust >+. endif > .else > MOZ_OPTIONS+= --disable-rust > .endif >@@ -404,6 +406,9 @@ MOZ_OPTIONS+= --enable-debug --disable-release > STRIP= # ports/184285 > .else > MOZ_OPTIONS+= --disable-debug --disable-debug-symbols --enable-release >+. if ${MOZILLA_VER:R:R} >= 56 >+MOZ_OPTIONS+= --enable-rust-simd >+. endif > .endif > > .if ${PORT_OPTIONS:MDTRACE} >diff --git a/www/firefox-i18n/Makefile b/www/firefox-i18n/Makefile >index 13f3f8905634..408c6bb5c575 100644 >--- a/www/firefox-i18n/Makefile >+++ b/www/firefox-i18n/Makefile >@@ -2,10 +2,10 @@ > # $FreeBSD$ > > PORTNAME= firefox-i18n >-PORTVERSION= 55.0.3 >+PORTVERSION= 56.0b12 > CATEGORIES= www > MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${DISTVERSION}/linux-i686/xpi \ >- MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build2/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,55,build >+USES= zip:infozip gecko:firefox,56,build > USE_XPI= firefox > > NO_ARCH= yes >diff --git a/www/firefox-i18n/distinfo b/www/firefox-i18n/distinfo >index 1ac902a0c4c4..966ae245e6eb 100644 >--- a/www/firefox-i18n/distinfo >+++ b/www/firefox-i18n/distinfo >@@ -1,191 +1,191 @@ >-TIMESTAMP = 1503590171 >-SHA256 (xpi/firefox-i18n-55.0.3/ach.xpi) = 57e804fe2d2ecfce6f57406985d74d05b1bb6a4b0dccd3fcee8c3d9d36ce753d >-SIZE (xpi/firefox-i18n-55.0.3/ach.xpi) = 447504 >-SHA256 (xpi/firefox-i18n-55.0.3/af.xpi) = 4f676b98ab4198a36ed1ac3cb9f357e6b59110d1d86f756adcb675a86ab2069d >-SIZE (xpi/firefox-i18n-55.0.3/af.xpi) = 448924 >-SHA256 (xpi/firefox-i18n-55.0.3/an.xpi) = 33ac2d10ce013952bcb50e7f3769641d029dbdfe8c624a3a3bc2c8aa1ba70660 >-SIZE (xpi/firefox-i18n-55.0.3/an.xpi) = 468638 >-SHA256 (xpi/firefox-i18n-55.0.3/ar.xpi) = 0ee1a5d9b6f03a7b65840f1257fcabbe7637951d1051fb830820f11ac34dba04 >-SIZE (xpi/firefox-i18n-55.0.3/ar.xpi) = 492759 >-SHA256 (xpi/firefox-i18n-55.0.3/as.xpi) = 993d5f49b51453869b5ff75c1ba4f16dd8fd59beb62bffed33cf4fc7024f6129 >-SIZE (xpi/firefox-i18n-55.0.3/as.xpi) = 501507 >-SHA256 (xpi/firefox-i18n-55.0.3/ast.xpi) = e969a3716c0659b3c313f73f29ce3ffbab296ef81734ff9f4410982dc4830c8a >-SIZE (xpi/firefox-i18n-55.0.3/ast.xpi) = 460841 >-SHA256 (xpi/firefox-i18n-55.0.3/az.xpi) = 2708ec4d49a06b727e4a06d920b3cc4e68fcff0c10bf269ccba8a60f82312ff0 >-SIZE (xpi/firefox-i18n-55.0.3/az.xpi) = 475368 >-SHA256 (xpi/firefox-i18n-55.0.3/be.xpi) = ca95866a02a0ccacd2c00a8ff69540fd2e6967a35b25f215aca6e372f11569d0 >-SIZE (xpi/firefox-i18n-55.0.3/be.xpi) = 522575 >-SHA256 (xpi/firefox-i18n-55.0.3/bg.xpi) = 846cbd821bbea4e6a83ff7d391d4e286508925bd7c0089c42026fd13332dcf01 >-SIZE (xpi/firefox-i18n-55.0.3/bg.xpi) = 520012 >-SHA256 (xpi/firefox-i18n-55.0.3/bn-BD.xpi) = fb61c9008ba7b82230f925af5e37db806b1af20b772a5091558421e43bd6a572 >-SIZE (xpi/firefox-i18n-55.0.3/bn-BD.xpi) = 535107 >-SHA256 (xpi/firefox-i18n-55.0.3/bn-IN.xpi) = 11cb288dbcf601403ca2dde29a6ac394b12cb4841016788cc5efdd7db1d524f3 >-SIZE (xpi/firefox-i18n-55.0.3/bn-IN.xpi) = 526354 >-SHA256 (xpi/firefox-i18n-55.0.3/br.xpi) = 008ee7d4781834f7520f0b3459089ca1d97eb6518c670144279562094862dcd9 >-SIZE (xpi/firefox-i18n-55.0.3/br.xpi) = 457060 >-SHA256 (xpi/firefox-i18n-55.0.3/bs.xpi) = dd243f01e59854112f48b8a3683d840173aee994ba532496ee2a06b10fada878 >-SIZE (xpi/firefox-i18n-55.0.3/bs.xpi) = 465026 >-SHA256 (xpi/firefox-i18n-55.0.3/ca.xpi) = 25c6e4bdb355f6d116be23d241a62ffe7853a971e461c56a1ab586433743bffe >-SIZE (xpi/firefox-i18n-55.0.3/ca.xpi) = 473018 >-SHA256 (xpi/firefox-i18n-55.0.3/cak.xpi) = 5df85a9d3fb158eece6118ff9d6493928b4a846f6c0e5c8178dea6b5f878b8d3 >-SIZE (xpi/firefox-i18n-55.0.3/cak.xpi) = 481774 >-SHA256 (xpi/firefox-i18n-55.0.3/cs.xpi) = e5ba4844b9ced4c6a6cfd75853b6000fe2eabb9b33fffa73cc19e9562475d95c >-SIZE (xpi/firefox-i18n-55.0.3/cs.xpi) = 476809 >-SHA256 (xpi/firefox-i18n-55.0.3/cy.xpi) = 7a80d417cde600be304f1d7b59840ea62706509183515b5191d703ce59a668a0 >-SIZE (xpi/firefox-i18n-55.0.3/cy.xpi) = 458725 >-SHA256 (xpi/firefox-i18n-55.0.3/da.xpi) = 38bf51be7d418b67a69366f20aa1fe9b0c22fcf769757a0aefbcd60ac59240b9 >-SIZE (xpi/firefox-i18n-55.0.3/da.xpi) = 452604 >-SHA256 (xpi/firefox-i18n-55.0.3/de.xpi) = 1b815ec21a24870acb7a84171ef7b64cff8d718c666c70b986ea8594da3dd95a >-SIZE (xpi/firefox-i18n-55.0.3/de.xpi) = 465990 >-SHA256 (xpi/firefox-i18n-55.0.3/dsb.xpi) = 33f12a4322495be14a67a28c5b9518d9757dbf39a733e229cf3b9f28b64a6ddf >-SIZE (xpi/firefox-i18n-55.0.3/dsb.xpi) = 482081 >-SHA256 (xpi/firefox-i18n-55.0.3/el.xpi) = a6d1aefe768a046f9ba79b8b287d4e4656004556de9f2306af44b901c169ff9f >-SIZE (xpi/firefox-i18n-55.0.3/el.xpi) = 539777 >-SHA256 (xpi/firefox-i18n-55.0.3/en-GB.xpi) = 07474847b08f035f977013a0c7a5e42e07636901251207ba3d21300985d0eff9 >-SIZE (xpi/firefox-i18n-55.0.3/en-GB.xpi) = 439269 >-SHA256 (xpi/firefox-i18n-55.0.3/en-US.xpi) = f57cda45b8c6e177bbc705fb5db21878d5297c57281c8fba810c6cbb6b095ae8 >-SIZE (xpi/firefox-i18n-55.0.3/en-US.xpi) = 439814 >-SHA256 (xpi/firefox-i18n-55.0.3/en-ZA.xpi) = bf5e3fac34d5ccc83af7c5b60e6d2077c27ded688d3e37efcfbf6386459a3f39 >-SIZE (xpi/firefox-i18n-55.0.3/en-ZA.xpi) = 438621 >-SHA256 (xpi/firefox-i18n-55.0.3/eo.xpi) = 4dffe19fb6787d5b2795066618532bb4951695ac10dbca20c17ccedadff2334b >-SIZE (xpi/firefox-i18n-55.0.3/eo.xpi) = 461140 >-SHA256 (xpi/firefox-i18n-55.0.3/es-AR.xpi) = 1b4b1ca27e4265a7868858a9f9822384908b87f567808b7253cc49be7616c036 >-SIZE (xpi/firefox-i18n-55.0.3/es-AR.xpi) = 467619 >-SHA256 (xpi/firefox-i18n-55.0.3/es-CL.xpi) = 6dcd97412618233b7d82d4f8b614da267010e2d5af3a736209bd0179c1f5ea35 >-SIZE (xpi/firefox-i18n-55.0.3/es-CL.xpi) = 471599 >-SHA256 (xpi/firefox-i18n-55.0.3/es-ES.xpi) = 8f29eab7fcea76fb16fddbc6bc1505373b414f07e1678f231c8dd77fcd7c2dbb >-SIZE (xpi/firefox-i18n-55.0.3/es-ES.xpi) = 359824 >-SHA256 (xpi/firefox-i18n-55.0.3/es-MX.xpi) = c5cc49fb974401edcfd58b114d0d4f7d2a528522f89d50d393677fab7d586fac >-SIZE (xpi/firefox-i18n-55.0.3/es-MX.xpi) = 474245 >-SHA256 (xpi/firefox-i18n-55.0.3/et.xpi) = 155bdfe2c508b68c4a23a362158cd84d3be3080f3396b1fa060aed117bad89b7 >-SIZE (xpi/firefox-i18n-55.0.3/et.xpi) = 454471 >-SHA256 (xpi/firefox-i18n-55.0.3/eu.xpi) = c32de1d149e2f33cdee8a58e226d00cff29a78d783e6360e7715a006e74aeeec >-SIZE (xpi/firefox-i18n-55.0.3/eu.xpi) = 460419 >-SHA256 (xpi/firefox-i18n-55.0.3/fa.xpi) = ae990f77aea02c797fb14e2e10f736109888735cee39e39b1bfcec9c9add5c46 >-SIZE (xpi/firefox-i18n-55.0.3/fa.xpi) = 511561 >-SHA256 (xpi/firefox-i18n-55.0.3/ff.xpi) = 14f8217883d80c32c08f38284f42e5978c3d6cf077dcc6065e8d2d954c3640d5 >-SIZE (xpi/firefox-i18n-55.0.3/ff.xpi) = 455294 >-SHA256 (xpi/firefox-i18n-55.0.3/fi.xpi) = d00ebd2bc119a6f78c29701cfaa9434d51a14d62e0c3be7e271c143fc87bf1ce >-SIZE (xpi/firefox-i18n-55.0.3/fi.xpi) = 453945 >-SHA256 (xpi/firefox-i18n-55.0.3/fr.xpi) = a2ea34fa62fb6b83f77843d7284ad96491af8700aaa4f2df5cba6a5058ddc47c >-SIZE (xpi/firefox-i18n-55.0.3/fr.xpi) = 476667 >-SHA256 (xpi/firefox-i18n-55.0.3/fy-NL.xpi) = 0fe4964412a415c03c09ef320e299a9a361a41c84f317dee795e36b7f5612115 >-SIZE (xpi/firefox-i18n-55.0.3/fy-NL.xpi) = 469971 >-SHA256 (xpi/firefox-i18n-55.0.3/ga-IE.xpi) = 7e2e87dd6d25934dfc66d804531320ca71b53933245c361c8dd6404688b8ef39 >-SIZE (xpi/firefox-i18n-55.0.3/ga-IE.xpi) = 481440 >-SHA256 (xpi/firefox-i18n-55.0.3/gd.xpi) = 6c45c76ff5a0ae373f6ec8c0d81859f345cc31ad55471e702704c434797cca07 >-SIZE (xpi/firefox-i18n-55.0.3/gd.xpi) = 469055 >-SHA256 (xpi/firefox-i18n-55.0.3/gl.xpi) = b1b699a2f9134d951d704c1b42f6677004c2cede354881b9b96438323ccbcb33 >-SIZE (xpi/firefox-i18n-55.0.3/gl.xpi) = 459111 >-SHA256 (xpi/firefox-i18n-55.0.3/gn.xpi) = af4389f4028790c393fd9623b13b8ea9587d25918c2b1635743d18de09f6269f >-SIZE (xpi/firefox-i18n-55.0.3/gn.xpi) = 476201 >-SHA256 (xpi/firefox-i18n-55.0.3/gu-IN.xpi) = 547e37eca8d5a45fce201c550a4aca379b9bb006d7ff83b71971afedb641a3f4 >-SIZE (xpi/firefox-i18n-55.0.3/gu-IN.xpi) = 498986 >-SHA256 (xpi/firefox-i18n-55.0.3/he.xpi) = 451c0b7cb95accda6f8bca275f4d4a19c39be7160cce08975c6d751d11405255 >-SIZE (xpi/firefox-i18n-55.0.3/he.xpi) = 479882 >-SHA256 (xpi/firefox-i18n-55.0.3/hi-IN.xpi) = 77fd9e88268d1bb3f42b99af29e87c666e7a1ebaa26fafaad3afa55aab6ea1ce >-SIZE (xpi/firefox-i18n-55.0.3/hi-IN.xpi) = 530571 >-SHA256 (xpi/firefox-i18n-55.0.3/hr.xpi) = d36986ce628ebeddc28a56713f1444ec8aa99ffa297d4bc1b3478a92c3e6a8f0 >-SIZE (xpi/firefox-i18n-55.0.3/hr.xpi) = 467992 >-SHA256 (xpi/firefox-i18n-55.0.3/hsb.xpi) = 0200e7ad91f8ae46cbd63e1b865f8fc8a58353aa189001b58a38da079bf9f02a >-SIZE (xpi/firefox-i18n-55.0.3/hsb.xpi) = 479798 >-SHA256 (xpi/firefox-i18n-55.0.3/hu.xpi) = c60d25907f159b1a59475682a55a8afa9f899e93a739c5f721b46c3bd7f63012 >-SIZE (xpi/firefox-i18n-55.0.3/hu.xpi) = 481645 >-SHA256 (xpi/firefox-i18n-55.0.3/hy-AM.xpi) = 2564f7fa81cc2d0e2fa87e7199e62afd3174b9f0339001d730da1a6255a8782a >-SIZE (xpi/firefox-i18n-55.0.3/hy-AM.xpi) = 520878 >-SHA256 (xpi/firefox-i18n-55.0.3/id.xpi) = 13ee8d82e28f13d6e29555dd261dd1bacf1db930889eecb594bbb0ee214a9d9f >-SIZE (xpi/firefox-i18n-55.0.3/id.xpi) = 450290 >-SHA256 (xpi/firefox-i18n-55.0.3/is.xpi) = 77fa1716d95bef9ff32e5e554df1a6f74638ebe3e679a8239a5209a7ad6c3551 >-SIZE (xpi/firefox-i18n-55.0.3/is.xpi) = 464372 >-SHA256 (xpi/firefox-i18n-55.0.3/it.xpi) = 0bdd8bf97c9c3880d1f002d647450487cf21fc003067469f2b9eda8301bd9f13 >-SIZE (xpi/firefox-i18n-55.0.3/it.xpi) = 352941 >-SHA256 (xpi/firefox-i18n-55.0.3/ja.xpi) = c907bbf1efde7e601ec2ff6fb528896c8b2c3b70783dfa309e7d8aa54c45e655 >-SIZE (xpi/firefox-i18n-55.0.3/ja.xpi) = 519764 >-SHA256 (xpi/firefox-i18n-55.0.3/ka.xpi) = ab9bec8018935ba426f04a96e23b93e0f0d633f26f84a34c6553b883c6dd3c17 >-SIZE (xpi/firefox-i18n-55.0.3/ka.xpi) = 493535 >-SHA256 (xpi/firefox-i18n-55.0.3/kab.xpi) = 5e13da854fb8fdcfef8f760c9bb1cbfb7571856b933c181d41d09f36a7449dfb >-SIZE (xpi/firefox-i18n-55.0.3/kab.xpi) = 470044 >-SHA256 (xpi/firefox-i18n-55.0.3/kk.xpi) = 5edae7dba33d4369d529f3f965851798e31fd701c792c575de42602cf91eaee0 >-SIZE (xpi/firefox-i18n-55.0.3/kk.xpi) = 526707 >-SHA256 (xpi/firefox-i18n-55.0.3/km.xpi) = 8c741376968bc5145cf808c715c5dc92f7cf2a7134d3c1eaa9bc66e96d1b3ff0 >-SIZE (xpi/firefox-i18n-55.0.3/km.xpi) = 540646 >-SHA256 (xpi/firefox-i18n-55.0.3/kn.xpi) = d387a3a29d621d2e1163cd6d1728861f6344c370950124cfce754f4ff5fe37d8 >-SIZE (xpi/firefox-i18n-55.0.3/kn.xpi) = 538859 >-SHA256 (xpi/firefox-i18n-55.0.3/ko.xpi) = 524eca8be7b4ec0c04dfc09376d18479a9ddf677b006155b3b8c889f1d1c7425 >-SIZE (xpi/firefox-i18n-55.0.3/ko.xpi) = 494547 >-SHA256 (xpi/firefox-i18n-55.0.3/lij.xpi) = 79cfb9142d836ffda39039205e72f52eba8d09a61d6d77382267320a3dc4d984 >-SIZE (xpi/firefox-i18n-55.0.3/lij.xpi) = 458698 >-SHA256 (xpi/firefox-i18n-55.0.3/lt.xpi) = b8c979f9259ce409ff26af1beddd004fa90420021f5d98f2c069beb362f92160 >-SIZE (xpi/firefox-i18n-55.0.3/lt.xpi) = 481082 >-SHA256 (xpi/firefox-i18n-55.0.3/lv.xpi) = d58361769c078859d65aba27d79a93fc839871a14f026d73e607facf49373a84 >-SIZE (xpi/firefox-i18n-55.0.3/lv.xpi) = 473736 >-SHA256 (xpi/firefox-i18n-55.0.3/mai.xpi) = a3ab546aad483b92e5d2757d46654d89b2593097624052a1638cc8f0c2caee41 >-SIZE (xpi/firefox-i18n-55.0.3/mai.xpi) = 517894 >-SHA256 (xpi/firefox-i18n-55.0.3/mk.xpi) = aba046611289624c02c1d3c81fe8a4ea50a96088ece2bd7fb2be40df882ac795 >-SIZE (xpi/firefox-i18n-55.0.3/mk.xpi) = 500207 >-SHA256 (xpi/firefox-i18n-55.0.3/ml.xpi) = b40dd990aa6b36924279bb9af0a0e4ce5c8497b275244794b200e5815ac42b48 >-SIZE (xpi/firefox-i18n-55.0.3/ml.xpi) = 540982 >-SHA256 (xpi/firefox-i18n-55.0.3/mr.xpi) = bebcf5b465fc9e33955cdf4343c479f7b998819667ba3a23e298d38f833d2ead >-SIZE (xpi/firefox-i18n-55.0.3/mr.xpi) = 528249 >-SHA256 (xpi/firefox-i18n-55.0.3/ms.xpi) = 06d40cc6207dfd452fb12a3429b0bdf85c4fc196d51e66e6197ede9e9e5c9a82 >-SIZE (xpi/firefox-i18n-55.0.3/ms.xpi) = 459191 >-SHA256 (xpi/firefox-i18n-55.0.3/my.xpi) = 48e005f6558c13ad0f3f73afc81489c0cb384b00589bf2b3cd03569e6bd2a82c >-SIZE (xpi/firefox-i18n-55.0.3/my.xpi) = 528097 >-SHA256 (xpi/firefox-i18n-55.0.3/nb-NO.xpi) = 00e8ac31e0597ef4a1928b05b4d199563fcb249b3368d9bb63b8539174eafd5c >-SIZE (xpi/firefox-i18n-55.0.3/nb-NO.xpi) = 457645 >-SHA256 (xpi/firefox-i18n-55.0.3/nl.xpi) = 358bd38888586ae4498b41ea6bd7417939cc828cce78be80ffef3a32741458bf >-SIZE (xpi/firefox-i18n-55.0.3/nl.xpi) = 461510 >-SHA256 (xpi/firefox-i18n-55.0.3/nn-NO.xpi) = 11dbe5bce47e3829a7b5d43c12178fc2ff750495f6aa0209c69fc7b6b96f6b8e >-SIZE (xpi/firefox-i18n-55.0.3/nn-NO.xpi) = 458457 >-SHA256 (xpi/firefox-i18n-55.0.3/or.xpi) = 64d1c4205a8e249bbb8604efac83b73251fadfc23daee75f40a51d9e2a9ca6a1 >-SIZE (xpi/firefox-i18n-55.0.3/or.xpi) = 511354 >-SHA256 (xpi/firefox-i18n-55.0.3/pa-IN.xpi) = c2fa26e5fe2400c6890aea2722ab010265cd7541653092d190e45a6805d9ec13 >-SIZE (xpi/firefox-i18n-55.0.3/pa-IN.xpi) = 498453 >-SHA256 (xpi/firefox-i18n-55.0.3/pl.xpi) = c4973aa40a75f371d0c85a1e1d9c6fc5184eac38313ed50ea9c7189590a3d416 >-SIZE (xpi/firefox-i18n-55.0.3/pl.xpi) = 372429 >-SHA256 (xpi/firefox-i18n-55.0.3/pt-BR.xpi) = 3555d0e761bbe2ba1035f62960344836b9ad1b2cb55edc07b215d826385c8d5b >-SIZE (xpi/firefox-i18n-55.0.3/pt-BR.xpi) = 462717 >-SHA256 (xpi/firefox-i18n-55.0.3/pt-PT.xpi) = be15f048d135f364a7605527b9569ae81cc819cf38c7ed933298b3d4c58b5eef >-SIZE (xpi/firefox-i18n-55.0.3/pt-PT.xpi) = 465239 >-SHA256 (xpi/firefox-i18n-55.0.3/rm.xpi) = 588239d7468d46d5eae7ac832eb48ba3630fd9da4cc1d4fd35a2f32c28f62f10 >-SIZE (xpi/firefox-i18n-55.0.3/rm.xpi) = 458265 >-SHA256 (xpi/firefox-i18n-55.0.3/ro.xpi) = 70b05f40b253b9fb63081db12e8675873fe45eda3a1a180e77e15ae215a62216 >-SIZE (xpi/firefox-i18n-55.0.3/ro.xpi) = 462973 >-SHA256 (xpi/firefox-i18n-55.0.3/ru.xpi) = 0c0d0296dd9d62ba86203b1b21476ff064f9d74d512bb6ffefe6f74ddf549352 >-SIZE (xpi/firefox-i18n-55.0.3/ru.xpi) = 530901 >-SHA256 (xpi/firefox-i18n-55.0.3/si.xpi) = f1f196f5523254940d10938c5c974a3d4128ec777fc1e8fb1399e24014b21fef >-SIZE (xpi/firefox-i18n-55.0.3/si.xpi) = 508353 >-SHA256 (xpi/firefox-i18n-55.0.3/sk.xpi) = dcdc24e7411113728f6485465493cb5ee4c82981823c83edebe3e43257d8bf1a >-SIZE (xpi/firefox-i18n-55.0.3/sk.xpi) = 487582 >-SHA256 (xpi/firefox-i18n-55.0.3/sl.xpi) = a1e7c731478f11da9f6f9f3c6b4f18787a04bd62c1636cdaa60c765b907cbc46 >-SIZE (xpi/firefox-i18n-55.0.3/sl.xpi) = 465760 >-SHA256 (xpi/firefox-i18n-55.0.3/son.xpi) = 61cc16ef2218aee4e58b4bd8bba3dea83bd362c5fccbe368d04b325bf875cf9e >-SIZE (xpi/firefox-i18n-55.0.3/son.xpi) = 456958 >-SHA256 (xpi/firefox-i18n-55.0.3/sq.xpi) = 61ee5ee3e418d4a5098e94c22f646555f8b69f3cd1042b7e50fe0b9d28336c31 >-SIZE (xpi/firefox-i18n-55.0.3/sq.xpi) = 470630 >-SHA256 (xpi/firefox-i18n-55.0.3/sr.xpi) = f2d1fc0ca15e814210306ce2b1777c91c64444f79ea1431e4663eb5476c713b1 >-SIZE (xpi/firefox-i18n-55.0.3/sr.xpi) = 494878 >-SHA256 (xpi/firefox-i18n-55.0.3/sv-SE.xpi) = 9a68ef76d1ba8b94238f7d724eb57ba9c94984e8b440f6068811cb8eb9853000 >-SIZE (xpi/firefox-i18n-55.0.3/sv-SE.xpi) = 466011 >-SHA256 (xpi/firefox-i18n-55.0.3/ta.xpi) = 8d5f997e93cca5083d7d7196cd8f1524097ae6c6471bd373717c87dd1a5d4f2e >-SIZE (xpi/firefox-i18n-55.0.3/ta.xpi) = 519998 >-SHA256 (xpi/firefox-i18n-55.0.3/te.xpi) = 77e8558ae06366ee01252b37c756b42a77a013b85ccad1baa0ce69f0d7fa1831 >-SIZE (xpi/firefox-i18n-55.0.3/te.xpi) = 542539 >-SHA256 (xpi/firefox-i18n-55.0.3/th.xpi) = 5c35f335847368570b196fc470de14bfa10a9a63c0b27facedbf7e9ab3aef436 >-SIZE (xpi/firefox-i18n-55.0.3/th.xpi) = 511903 >-SHA256 (xpi/firefox-i18n-55.0.3/tr.xpi) = a2790b948e050421d209b5802bb388664b75ae2d5c69175e0c84ab01b2b2a0c4 >-SIZE (xpi/firefox-i18n-55.0.3/tr.xpi) = 472160 >-SHA256 (xpi/firefox-i18n-55.0.3/uk.xpi) = 379ed1579d3f4cf9d149eb3906491505898f846f0e9476bd7562a07981baecf6 >-SIZE (xpi/firefox-i18n-55.0.3/uk.xpi) = 526436 >-SHA256 (xpi/firefox-i18n-55.0.3/ur.xpi) = 8924709d63a5476f31e2a67031bd3020ff73884f6879aeace68b6ab41abb4076 >-SIZE (xpi/firefox-i18n-55.0.3/ur.xpi) = 520753 >-SHA256 (xpi/firefox-i18n-55.0.3/uz.xpi) = 5cb211b260f5a781e28ab841618423e0662b48742fec2c1a2156cbdc9a7c5676 >-SIZE (xpi/firefox-i18n-55.0.3/uz.xpi) = 467671 >-SHA256 (xpi/firefox-i18n-55.0.3/vi.xpi) = 4c546bbf624f6416c6c094965a00db675beb014500b55cf96fba8d1f4c03adbb >-SIZE (xpi/firefox-i18n-55.0.3/vi.xpi) = 476527 >-SHA256 (xpi/firefox-i18n-55.0.3/xh.xpi) = 9c8eed4ed4947dbf6f6518f731e18a00cfe26d031f429222d5ae037814c4034e >-SIZE (xpi/firefox-i18n-55.0.3/xh.xpi) = 470719 >-SHA256 (xpi/firefox-i18n-55.0.3/zh-CN.xpi) = b5ce9d67f7df55aff43f3bb3bb2d8bf8fa7ea15c1c40f94c1a331e3082cdcd88 >-SIZE (xpi/firefox-i18n-55.0.3/zh-CN.xpi) = 490383 >-SHA256 (xpi/firefox-i18n-55.0.3/zh-TW.xpi) = dfb0e10364b058869bcf832b01f586645f2c3c0fc647049f76c3c14561b2000e >-SIZE (xpi/firefox-i18n-55.0.3/zh-TW.xpi) = 489347 >+TIMESTAMP = 1505364819 >+SHA256 (xpi/firefox-i18n-56.0b12/ach.xpi) = bf06f3d7d424c767d2eb5b40e17abf8b30d24e0dea722f1d413bf66b5a285773 >+SIZE (xpi/firefox-i18n-56.0b12/ach.xpi) = 454894 >+SHA256 (xpi/firefox-i18n-56.0b12/af.xpi) = 52f421bc0a2ceb149a11788e5fa87052716a11be1d82e5d41aa0868613ecdaba >+SIZE (xpi/firefox-i18n-56.0b12/af.xpi) = 456214 >+SHA256 (xpi/firefox-i18n-56.0b12/an.xpi) = f5fb68a46cc8e7827d3bbe9afef8656f89345c72e22e849ba2dbd3e26f7efd0f >+SIZE (xpi/firefox-i18n-56.0b12/an.xpi) = 475861 >+SHA256 (xpi/firefox-i18n-56.0b12/ar.xpi) = df7080f56c924560093f4a19ccb2f2136f074176456e5c331f639a7769d999e3 >+SIZE (xpi/firefox-i18n-56.0b12/ar.xpi) = 500711 >+SHA256 (xpi/firefox-i18n-56.0b12/as.xpi) = 5fe04f4cc9590edbc3e1fb79e8f02149b16a78f4ae503874e3f81d291e222b2b >+SIZE (xpi/firefox-i18n-56.0b12/as.xpi) = 508237 >+SHA256 (xpi/firefox-i18n-56.0b12/ast.xpi) = 306ad76a8c5be97f28e4f1f2d3a0b3c7ee334fac4203a8d9f9b01e96ce9b50af >+SIZE (xpi/firefox-i18n-56.0b12/ast.xpi) = 469156 >+SHA256 (xpi/firefox-i18n-56.0b12/az.xpi) = 2503c91dc38644aa1014a9728ccb3139c6ca541eb6a0f1055d6130c40d35346b >+SIZE (xpi/firefox-i18n-56.0b12/az.xpi) = 484982 >+SHA256 (xpi/firefox-i18n-56.0b12/be.xpi) = 75e5536ed86d4a90ba00ce41fa51f7124422c24365f760ce0b48f83e3843a890 >+SIZE (xpi/firefox-i18n-56.0b12/be.xpi) = 531383 >+SHA256 (xpi/firefox-i18n-56.0b12/bg.xpi) = d8c2a2880242ffbf3edc86db84f56fc3e0107f269a8a0a27bc7f47ab51014e5b >+SIZE (xpi/firefox-i18n-56.0b12/bg.xpi) = 528786 >+SHA256 (xpi/firefox-i18n-56.0b12/bn-BD.xpi) = 26c1d5444b09d9e816b78d3ce0e22deb940a5aea9c7043b7471a2157fd359866 >+SIZE (xpi/firefox-i18n-56.0b12/bn-BD.xpi) = 542770 >+SHA256 (xpi/firefox-i18n-56.0b12/bn-IN.xpi) = c7446a13e8ac61a57556038adafb4f2357789d3a5df1914d16a9da82ad2a9164 >+SIZE (xpi/firefox-i18n-56.0b12/bn-IN.xpi) = 534449 >+SHA256 (xpi/firefox-i18n-56.0b12/br.xpi) = 753ca5fc7d1ff4ac3ea852bf9f59d7fd1b648be9b519635f651831d2142df766 >+SIZE (xpi/firefox-i18n-56.0b12/br.xpi) = 464254 >+SHA256 (xpi/firefox-i18n-56.0b12/bs.xpi) = 004eca930ebd7c680a13fd971ec25a3742496f66dc8c216b2ef2402942f281e6 >+SIZE (xpi/firefox-i18n-56.0b12/bs.xpi) = 472253 >+SHA256 (xpi/firefox-i18n-56.0b12/ca.xpi) = 6ecc0326d6c0f5eedc33956236c0b0dfa365576aa78d8c830f2c864069888873 >+SIZE (xpi/firefox-i18n-56.0b12/ca.xpi) = 480363 >+SHA256 (xpi/firefox-i18n-56.0b12/cak.xpi) = 04ac1e86d7ba5f21ade3f99a308d3e3bc22c1f1ec03b6f71824ea7cf1726fbb5 >+SIZE (xpi/firefox-i18n-56.0b12/cak.xpi) = 489505 >+SHA256 (xpi/firefox-i18n-56.0b12/cs.xpi) = 71a1d7200412b19e4c86571c36577400d613d8546786b44551c065e532f87120 >+SIZE (xpi/firefox-i18n-56.0b12/cs.xpi) = 485090 >+SHA256 (xpi/firefox-i18n-56.0b12/cy.xpi) = 36eda029998d9b9f511e37680b63b2761836e5c01b478330cd53e7beaee8f390 >+SIZE (xpi/firefox-i18n-56.0b12/cy.xpi) = 466288 >+SHA256 (xpi/firefox-i18n-56.0b12/da.xpi) = d99a55909d23b6106b39bca28b5f21a439b8aed121658d0de32866f464455c78 >+SIZE (xpi/firefox-i18n-56.0b12/da.xpi) = 460091 >+SHA256 (xpi/firefox-i18n-56.0b12/de.xpi) = 86206bf84747595ee7631ee749cdfb8d5380e927f6b6f1711a2c2209224cd5e7 >+SIZE (xpi/firefox-i18n-56.0b12/de.xpi) = 473854 >+SHA256 (xpi/firefox-i18n-56.0b12/dsb.xpi) = 4b8906fcf1f6c7c5ad40f0f589339364f9bca7fbcc1a70ee49dee0210a83cf8d >+SIZE (xpi/firefox-i18n-56.0b12/dsb.xpi) = 489895 >+SHA256 (xpi/firefox-i18n-56.0b12/el.xpi) = c4538e299d39c976d5e0e64804d6bd827927bcdd95d704c4a85c37b1af559ff5 >+SIZE (xpi/firefox-i18n-56.0b12/el.xpi) = 554120 >+SHA256 (xpi/firefox-i18n-56.0b12/en-GB.xpi) = cfb5aab47ab4aa7e8a914fb47333d6bfef7fc1eadb153a4aef4ec49b588683b1 >+SIZE (xpi/firefox-i18n-56.0b12/en-GB.xpi) = 447372 >+SHA256 (xpi/firefox-i18n-56.0b12/en-US.xpi) = 0e01e320c38e7707a1db73a070401c2c7807fda106bde89b7f2d93826497e395 >+SIZE (xpi/firefox-i18n-56.0b12/en-US.xpi) = 446950 >+SHA256 (xpi/firefox-i18n-56.0b12/en-ZA.xpi) = 5ba0971011b48eafbd50a8601a829ae31633b602f2dcdaa98eb3ae548457c4d2 >+SIZE (xpi/firefox-i18n-56.0b12/en-ZA.xpi) = 445915 >+SHA256 (xpi/firefox-i18n-56.0b12/eo.xpi) = d789af5ba40de490918df9573e455327ca3529389cf67b29da19190b42a6ef10 >+SIZE (xpi/firefox-i18n-56.0b12/eo.xpi) = 468949 >+SHA256 (xpi/firefox-i18n-56.0b12/es-AR.xpi) = 36100458667c1060e644774e6e5efbd3ba9a984652dadde90178206b39b8d4fd >+SIZE (xpi/firefox-i18n-56.0b12/es-AR.xpi) = 475446 >+SHA256 (xpi/firefox-i18n-56.0b12/es-CL.xpi) = f942722226eb636cabd44701103bcdee25e8add6d569fa3e3904461b611f2ee5 >+SIZE (xpi/firefox-i18n-56.0b12/es-CL.xpi) = 479920 >+SHA256 (xpi/firefox-i18n-56.0b12/es-ES.xpi) = 71fff00650a9774e793b26244287fb36d4d1bd68c5b37912f4feedc7f2cf7915 >+SIZE (xpi/firefox-i18n-56.0b12/es-ES.xpi) = 365628 >+SHA256 (xpi/firefox-i18n-56.0b12/es-MX.xpi) = deb9eb67ef12cfa7e9634b8391a4a4dcbfbfbcfeda24a72e8fdba5c9ef0acb43 >+SIZE (xpi/firefox-i18n-56.0b12/es-MX.xpi) = 482563 >+SHA256 (xpi/firefox-i18n-56.0b12/et.xpi) = f4ee1167fd534548183ef0a67edfea30c42d899004a040d282203e8cb7d5e5aa >+SIZE (xpi/firefox-i18n-56.0b12/et.xpi) = 462102 >+SHA256 (xpi/firefox-i18n-56.0b12/eu.xpi) = fe838e59eb540485766199a6aa6b19e8f91d7c6656ef8d92d4023607ccf7bdb4 >+SIZE (xpi/firefox-i18n-56.0b12/eu.xpi) = 467882 >+SHA256 (xpi/firefox-i18n-56.0b12/fa.xpi) = 39755b67a0543e013cb3b4eb12378eaeba58d0ae5b152edb5fb0c2af1c0f18bc >+SIZE (xpi/firefox-i18n-56.0b12/fa.xpi) = 522906 >+SHA256 (xpi/firefox-i18n-56.0b12/ff.xpi) = e9e42522cb1a3987c84955336f93c194368be6801cf708cc501cc038087ac0ef >+SIZE (xpi/firefox-i18n-56.0b12/ff.xpi) = 463097 >+SHA256 (xpi/firefox-i18n-56.0b12/fi.xpi) = 2c917f074fa7c708649b969c1d7e07e6f782c25f13e3d3173d3f6e7a8750f17b >+SIZE (xpi/firefox-i18n-56.0b12/fi.xpi) = 461923 >+SHA256 (xpi/firefox-i18n-56.0b12/fr.xpi) = 3355a4b3c32d8418cd9ee2ecee22edd3193f4094365c6db052768947d9fc2d33 >+SIZE (xpi/firefox-i18n-56.0b12/fr.xpi) = 484561 >+SHA256 (xpi/firefox-i18n-56.0b12/fy-NL.xpi) = ec33dbfe6d593b928c2692d6b11705497ac2fc704fcceea48077cefcc94c5699 >+SIZE (xpi/firefox-i18n-56.0b12/fy-NL.xpi) = 478038 >+SHA256 (xpi/firefox-i18n-56.0b12/ga-IE.xpi) = 9ea948cdff24aef26486acb8655b36c9a5756c4cef26d001524cb7ba4089e0a3 >+SIZE (xpi/firefox-i18n-56.0b12/ga-IE.xpi) = 489377 >+SHA256 (xpi/firefox-i18n-56.0b12/gd.xpi) = 4e3f4689759423784df30e3aa3ccd9dc5550fded4a2aa0ab0637d2dfd7367dc0 >+SIZE (xpi/firefox-i18n-56.0b12/gd.xpi) = 476925 >+SHA256 (xpi/firefox-i18n-56.0b12/gl.xpi) = 30f2c0b42121582e8a59c4da0f6a198ab284b2791716d50a934e95d8bfeec555 >+SIZE (xpi/firefox-i18n-56.0b12/gl.xpi) = 466467 >+SHA256 (xpi/firefox-i18n-56.0b12/gn.xpi) = b8123e83fe31089d444b61d4127f0c570505e544f190fcaa9f89793a7111c79e >+SIZE (xpi/firefox-i18n-56.0b12/gn.xpi) = 485788 >+SHA256 (xpi/firefox-i18n-56.0b12/gu-IN.xpi) = 074c6e675db12ea9e4283730f2be98ca1782d48edbfd3f248dc491425d688609 >+SIZE (xpi/firefox-i18n-56.0b12/gu-IN.xpi) = 513734 >+SHA256 (xpi/firefox-i18n-56.0b12/he.xpi) = ae037f7d4d3ba8cf7d4b9807e25f323d55dd1990e83288d4b1d7fe2c4b346a36 >+SIZE (xpi/firefox-i18n-56.0b12/he.xpi) = 488494 >+SHA256 (xpi/firefox-i18n-56.0b12/hi-IN.xpi) = d2c5010ecfcca00d242911eca8d685c6d949dc9cd87c1e0a12e8d0d77089ff0d >+SIZE (xpi/firefox-i18n-56.0b12/hi-IN.xpi) = 538302 >+SHA256 (xpi/firefox-i18n-56.0b12/hr.xpi) = 17f669e1993a8bb39ababa01048bfe76e55248f783d8ca1edb3a44f411d3a36e >+SIZE (xpi/firefox-i18n-56.0b12/hr.xpi) = 475057 >+SHA256 (xpi/firefox-i18n-56.0b12/hsb.xpi) = c5b176b7b10c880e0d1f3c3cd40d8447a449df2710dae25984c183f14352b3bb >+SIZE (xpi/firefox-i18n-56.0b12/hsb.xpi) = 487594 >+SHA256 (xpi/firefox-i18n-56.0b12/hu.xpi) = 5f3b4fd888a7970d9d5cb631ee2c01a1dfb78f88db37249746d63e41a812f222 >+SIZE (xpi/firefox-i18n-56.0b12/hu.xpi) = 490102 >+SHA256 (xpi/firefox-i18n-56.0b12/hy-AM.xpi) = 58c8a2f69bf40ae3577faa0f616d10843b68c538199bf80d6f039ab020627ad7 >+SIZE (xpi/firefox-i18n-56.0b12/hy-AM.xpi) = 527709 >+SHA256 (xpi/firefox-i18n-56.0b12/id.xpi) = e24ac16c8e36d026f9652c7b42e41f68808e44e892de60acf915de328559496c >+SIZE (xpi/firefox-i18n-56.0b12/id.xpi) = 459066 >+SHA256 (xpi/firefox-i18n-56.0b12/is.xpi) = 1355ba3e55fc2d413306b3856fa3bd2588a2e75720ed60ebdf6f08e4aba784ce >+SIZE (xpi/firefox-i18n-56.0b12/is.xpi) = 467443 >+SHA256 (xpi/firefox-i18n-56.0b12/it.xpi) = f6570051a28328d2a06fce1c3cee5a7819d5a3d9863d1f35e2a5b5200c846028 >+SIZE (xpi/firefox-i18n-56.0b12/it.xpi) = 358694 >+SHA256 (xpi/firefox-i18n-56.0b12/ja.xpi) = e3720b1e6de41f355f7b91114a89ac37fb8e94abac62a453f19c3a3e7edb8624 >+SIZE (xpi/firefox-i18n-56.0b12/ja.xpi) = 527957 >+SHA256 (xpi/firefox-i18n-56.0b12/ka.xpi) = 7085b96c48f0dcf087cf1a3e623da86894a7c9b993f1b1f01f95ac0c38dac329 >+SIZE (xpi/firefox-i18n-56.0b12/ka.xpi) = 509096 >+SHA256 (xpi/firefox-i18n-56.0b12/kab.xpi) = aefb6fecdc983adefec5b546ab762815f00f063f4ee559124248eb9271949c64 >+SIZE (xpi/firefox-i18n-56.0b12/kab.xpi) = 477418 >+SHA256 (xpi/firefox-i18n-56.0b12/kk.xpi) = b2cd2b95bb40bc7ffed3e09040a2dd16ea8254991b1b6fb1d2d1e9e15774313a >+SIZE (xpi/firefox-i18n-56.0b12/kk.xpi) = 534931 >+SHA256 (xpi/firefox-i18n-56.0b12/km.xpi) = 548a4c248d5eddfd8c7d998d118338a1db107b36d2226172acf0aefd8e674391 >+SIZE (xpi/firefox-i18n-56.0b12/km.xpi) = 549344 >+SHA256 (xpi/firefox-i18n-56.0b12/kn.xpi) = 0be304c526ccc73bfd27cd52d96a78336a02057dad7b80699fd71820357bf5ac >+SIZE (xpi/firefox-i18n-56.0b12/kn.xpi) = 545516 >+SHA256 (xpi/firefox-i18n-56.0b12/ko.xpi) = a7fb2400685e1c42b80ae1be1c8edea8ed2152b1382f6cc77e6531a961c27071 >+SIZE (xpi/firefox-i18n-56.0b12/ko.xpi) = 502894 >+SHA256 (xpi/firefox-i18n-56.0b12/lij.xpi) = 39b48e4f34a1a0c0d97e74c2fc2a3449c5642d3644597f7100f7cb43035f6f57 >+SIZE (xpi/firefox-i18n-56.0b12/lij.xpi) = 467274 >+SHA256 (xpi/firefox-i18n-56.0b12/lt.xpi) = 30f2f4c55de0d25aeaca95446976d3951ff8fee16bddf298e794aee8ba6aa1fd >+SIZE (xpi/firefox-i18n-56.0b12/lt.xpi) = 488751 >+SHA256 (xpi/firefox-i18n-56.0b12/lv.xpi) = d656809c0c074ed5078658fcf8d05adba765cf522ae539349e52332ae575f261 >+SIZE (xpi/firefox-i18n-56.0b12/lv.xpi) = 481627 >+SHA256 (xpi/firefox-i18n-56.0b12/mai.xpi) = 6631cb32f38aed61ec910faa67a0dcd510e0f3b253fa6e53050c17084a9ea85c >+SIZE (xpi/firefox-i18n-56.0b12/mai.xpi) = 524701 >+SHA256 (xpi/firefox-i18n-56.0b12/mk.xpi) = dd9da62cf407d5c5ae17790c246d5cea78016bf4eb4f03c01459eaab55343524 >+SIZE (xpi/firefox-i18n-56.0b12/mk.xpi) = 507817 >+SHA256 (xpi/firefox-i18n-56.0b12/ml.xpi) = fa8ec4caecc0f8a1975992e10ef95f0d36b8d0be406ee0e68b8dab5e2e6f036f >+SIZE (xpi/firefox-i18n-56.0b12/ml.xpi) = 547545 >+SHA256 (xpi/firefox-i18n-56.0b12/mr.xpi) = 8795f145bbf6ba2e91e16dde87e66649be2c6a11570f4b39a2667e2c5270d6bb >+SIZE (xpi/firefox-i18n-56.0b12/mr.xpi) = 536671 >+SHA256 (xpi/firefox-i18n-56.0b12/ms.xpi) = 8317416bcd40c8ea10bad089672207549c20ed4c7e04d84d418f8f141373d4e7 >+SIZE (xpi/firefox-i18n-56.0b12/ms.xpi) = 466107 >+SHA256 (xpi/firefox-i18n-56.0b12/my.xpi) = 7dd9782eba3fc06cf09768851adf58666c6e47fce3c8bdd66545737ccea40c24 >+SIZE (xpi/firefox-i18n-56.0b12/my.xpi) = 536722 >+SHA256 (xpi/firefox-i18n-56.0b12/nb-NO.xpi) = 29c2e8ba0045134635f4239df77e5dbc18bcea398bccddbbaacbf4a6c1964ac1 >+SIZE (xpi/firefox-i18n-56.0b12/nb-NO.xpi) = 465575 >+SHA256 (xpi/firefox-i18n-56.0b12/nl.xpi) = 88465f6a7b3d40a0bf1fac7834c2511d64c1e5562369dac8390c3f0de7c2de30 >+SIZE (xpi/firefox-i18n-56.0b12/nl.xpi) = 469053 >+SHA256 (xpi/firefox-i18n-56.0b12/nn-NO.xpi) = 4f39bc4b8367cc1f72aa1447e7541178c5cea7d5e0523bc8d69231f674661733 >+SIZE (xpi/firefox-i18n-56.0b12/nn-NO.xpi) = 466207 >+SHA256 (xpi/firefox-i18n-56.0b12/or.xpi) = e5efcbb5202f1a92906244f536293386f614169988c5182689e9dee1095bc328 >+SIZE (xpi/firefox-i18n-56.0b12/or.xpi) = 518165 >+SHA256 (xpi/firefox-i18n-56.0b12/pa-IN.xpi) = 994150434a792665b9fad5d6b46dec84842378c13bf377aa207d050662a6927e >+SIZE (xpi/firefox-i18n-56.0b12/pa-IN.xpi) = 509045 >+SHA256 (xpi/firefox-i18n-56.0b12/pl.xpi) = 96dd0ac3ad448e389f23560f4e28be1033c950fac4446b9b7c8d54eb7d00f022 >+SIZE (xpi/firefox-i18n-56.0b12/pl.xpi) = 377523 >+SHA256 (xpi/firefox-i18n-56.0b12/pt-BR.xpi) = 16d1424022694533d47029f8f734d2a079209c27d8153369c28f6a621a8ae1cc >+SIZE (xpi/firefox-i18n-56.0b12/pt-BR.xpi) = 470952 >+SHA256 (xpi/firefox-i18n-56.0b12/pt-PT.xpi) = b25e493ff3421a67382a740b43cb6e6768bb8ce683f0f9749b8684327dae398a >+SIZE (xpi/firefox-i18n-56.0b12/pt-PT.xpi) = 472801 >+SHA256 (xpi/firefox-i18n-56.0b12/rm.xpi) = f173456c2656fc50c50caa8b449dd3736875311c67ec90c7ff2b32491b21856b >+SIZE (xpi/firefox-i18n-56.0b12/rm.xpi) = 467017 >+SHA256 (xpi/firefox-i18n-56.0b12/ro.xpi) = 6f84ba5894d6a4b907247a9b0ef72c879e9fcc5068e22480d8c5ca4b34f095ce >+SIZE (xpi/firefox-i18n-56.0b12/ro.xpi) = 470784 >+SHA256 (xpi/firefox-i18n-56.0b12/ru.xpi) = 554bb4bd294229d55225b11a996e82e8979857a2ce28989b7e749fa277aace9b >+SIZE (xpi/firefox-i18n-56.0b12/ru.xpi) = 541436 >+SHA256 (xpi/firefox-i18n-56.0b12/si.xpi) = c4121152c5a48c2e64a525752a0b1fd90e964af5a1c08aff3270d2f478e15a3e >+SIZE (xpi/firefox-i18n-56.0b12/si.xpi) = 515919 >+SHA256 (xpi/firefox-i18n-56.0b12/sk.xpi) = 98b9f3a038faae2e1f4ff6fd73e11e2ca0c0e381dedeceae518bef140f7c5e41 >+SIZE (xpi/firefox-i18n-56.0b12/sk.xpi) = 495563 >+SHA256 (xpi/firefox-i18n-56.0b12/sl.xpi) = 48acc639af46e81eec23f0e7e5309ade71d63c3c78bfe3efc37f38b0fbcabc41 >+SIZE (xpi/firefox-i18n-56.0b12/sl.xpi) = 473805 >+SHA256 (xpi/firefox-i18n-56.0b12/son.xpi) = 2369e4a584b989bf39693fed9f61f9a8cb7e07a581bc8dac47360b9499513a7f >+SIZE (xpi/firefox-i18n-56.0b12/son.xpi) = 464321 >+SHA256 (xpi/firefox-i18n-56.0b12/sq.xpi) = cc07ab647bfb324fa40ca4e8ce35fc4365cb18ef08c0aea2488ef0bf05819901 >+SIZE (xpi/firefox-i18n-56.0b12/sq.xpi) = 479512 >+SHA256 (xpi/firefox-i18n-56.0b12/sr.xpi) = 48cda9ed84360cff191ee0d9d4d98a8941ca3743495fa20698735f536c76da9f >+SIZE (xpi/firefox-i18n-56.0b12/sr.xpi) = 504486 >+SHA256 (xpi/firefox-i18n-56.0b12/sv-SE.xpi) = 6727779d3bbfc81b0afccaa9eec6d3a9c2f49874c62abd15c827febf03f50cec >+SIZE (xpi/firefox-i18n-56.0b12/sv-SE.xpi) = 473945 >+SHA256 (xpi/firefox-i18n-56.0b12/ta.xpi) = f6ff43680372d1d1ece78049b00282ce90d98ddff77e8c702f58f603d8896e42 >+SIZE (xpi/firefox-i18n-56.0b12/ta.xpi) = 530643 >+SHA256 (xpi/firefox-i18n-56.0b12/te.xpi) = 71f1d9939d60a86bae26a58ae6a96a48978990ee721058f53eafb6154d79c683 >+SIZE (xpi/firefox-i18n-56.0b12/te.xpi) = 549583 >+SHA256 (xpi/firefox-i18n-56.0b12/th.xpi) = 5dd713ff1901e62887294e5c5d06f7f0200ef8f10844ee8355d9c4440a2b0f87 >+SIZE (xpi/firefox-i18n-56.0b12/th.xpi) = 520295 >+SHA256 (xpi/firefox-i18n-56.0b12/tr.xpi) = 60adaa12dc36cebd35da64a442eee091f005c0f948cd5eeb88473ff77f3aa8b3 >+SIZE (xpi/firefox-i18n-56.0b12/tr.xpi) = 480549 >+SHA256 (xpi/firefox-i18n-56.0b12/uk.xpi) = f522e89320c0273aaa3bfd177abb74da22a107684e4b604cb60c84372c88599b >+SIZE (xpi/firefox-i18n-56.0b12/uk.xpi) = 535436 >+SHA256 (xpi/firefox-i18n-56.0b12/ur.xpi) = 71602c86ba4a3b20deb567d86d78e2c57b98a407e33d0c91c199dc6f283143a5 >+SIZE (xpi/firefox-i18n-56.0b12/ur.xpi) = 527347 >+SHA256 (xpi/firefox-i18n-56.0b12/uz.xpi) = 9deddf574a8d164e23536876c8f43d724d0673094962bbd029cc3dfd9a0a3415 >+SIZE (xpi/firefox-i18n-56.0b12/uz.xpi) = 475099 >+SHA256 (xpi/firefox-i18n-56.0b12/vi.xpi) = 5096dd3c413bc0d7643c4dd08baea62c60189e5479d0ea8a0693e8fc03262b84 >+SIZE (xpi/firefox-i18n-56.0b12/vi.xpi) = 487149 >+SHA256 (xpi/firefox-i18n-56.0b12/xh.xpi) = 1a42da85b2edda98806a1d8c76bd7eb421fccafb1a826380ea07330984519240 >+SIZE (xpi/firefox-i18n-56.0b12/xh.xpi) = 477838 >+SHA256 (xpi/firefox-i18n-56.0b12/zh-CN.xpi) = b97c7d6f483671d8d0f9120340dfc4ab0ff2aebc6643915e684dc17dcc0dfc0d >+SIZE (xpi/firefox-i18n-56.0b12/zh-CN.xpi) = 498979 >+SHA256 (xpi/firefox-i18n-56.0b12/zh-TW.xpi) = 0bfff738240fe0d34875ec9927820ed003d69157ff85250076a9b8a82e220eab >+SIZE (xpi/firefox-i18n-56.0b12/zh-TW.xpi) = 497763 >diff --git a/www/firefox/Makefile b/www/firefox/Makefile >index 3777f1653704..cac5c5094b67 100644 >--- a/www/firefox/Makefile >+++ b/www/firefox/Makefile >@@ -2,30 +2,31 @@ > # $FreeBSD$ > > PORTNAME= firefox >-DISTVERSION= 55.0.3 >+DISTVERSION= 56.0b12 > DISTVERSIONSUFFIX=.source >-PORTREVISION= 1 > PORTEPOCH= 1 > CATEGORIES= www ipv6 > MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ >- MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build2/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.15:devel/nspr \ >- nss>=3.31.1:security/nss \ >- libevent>=2.0.22:devel/libevent \ >- harfbuzz>=1.4.6:print/harfbuzz \ >+BUILD_DEPENDS= nspr>=4.16:devel/nspr \ >+ nss>=3.32.1:security/nss \ >+ icu>=59.1,1:devel/icu \ >+ libevent>=2.1.8:devel/libevent \ >+ harfbuzz>=1.4.7:print/harfbuzz \ > graphite2>=1.3.10:graphics/graphite2 \ >- png>=1.6.28:graphics/png \ >+ png>=1.6.31:graphics/png \ > libvorbis>=1.3.5,3:audio/libvorbis \ > libvpx>=1.5.0:multimedia/libvpx \ >- sqlite3>=3.19.2:databases/sqlite3 \ >+ sqlite3>=3.19.3:databases/sqlite3 \ > ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \ > v4l_compat>0:multimedia/v4l_compat \ > autoconf-2.13:devel/autoconf213 \ > yasm:devel/yasm \ >+ llvm40>0:devel/llvm40 \ > zip:archivers/zip > # soundtouch>=1.9.0:audio/soundtouch \ > >@@ -42,16 +43,13 @@ USES= tar:xz > > FIREFOX_ICON= ${MOZILLA}.png > FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png >+MOZ_EXPORT= BINDGEN_CFLAGS="-isystem${LOCALBASE}/include/nspr \ >+ -isystem${LOCALBASE}/include/pixman-1" # XXX bug 1341234 > MOZ_OPTIONS= --enable-application=browser \ > --enable-official-branding > >-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 >-OPTIONS_DEFAULT_i386= RUST > > .include "${.CURDIR}/../../www/firefox/Makefile.options" > >diff --git a/www/firefox/distinfo b/www/firefox/distinfo >index d0f11e5f9fd8..8b08641bf96f 100644 >--- a/www/firefox/distinfo >+++ b/www/firefox/distinfo >@@ -1,3 +1,3 @@ >-TIMESTAMP = 1503590171 >-SHA256 (firefox-55.0.3.source.tar.xz) = 891836df85f8798c49f7b25661820f64d1311d59703c716eda471819b93ccda2 >-SIZE (firefox-55.0.3.source.tar.xz) = 236010652 >+TIMESTAMP = 1505364819 >+SHA256 (firefox-56.0b12.source.tar.xz) = 997ef749e03bb2abb602fe79297fff9458007d3e91cdbb756563e124f6f86a76 >+SIZE (firefox-56.0b12.source.tar.xz) = 255397032 >diff --git a/www/firefox/files/patch-bug1144632 b/www/firefox/files/patch-bug1144632 >index f6416f85589e..fee10b5db317 100644 >--- a/www/firefox/files/patch-bug1144632 >+++ b/www/firefox/files/patch-bug1144632 >@@ -1,8 +1,10 @@ > Revert bug 1323303 to unbreak build on big-endian architectures. > >---- toolkit/moz.configure.orig 2017-07-31 16:20:54 UTC >+diff --git toolkit/moz.configure toolkit/moz.configure >+index 67fcbc39d075..c117fd11a358 100644 >+--- toolkit/moz.configure > +++ toolkit/moz.configure >-@@ -771,11 +771,11 @@ >+@@ -1032,11 +1032,11 @@ add_old_configure_assignment('NECKO_PROTOCOLS', necko_protocols) > # ============================================================== > option('--disable-skia', help='Disable use of Skia') > >@@ -19,23 +21,3 @@ Revert bug 1323303 to unbreak build on big-endian architectures. > return True > > set_config('MOZ_ENABLE_SKIA', skia) >---- gfx/2d/ScaledFontBase.cpp.orig 2017-07-31 16:20:54 UTC >-+++ gfx/2d/ScaledFontBase.cpp >-@@ -212,14 +212,16 @@ ScaledFontBase::CopyGlyphsToBuilder(const GlyphBuffer >- cairoPath->AppendPathToBuilder(builder); >- return; >- } >-+#endif >-+#ifdef USE_SKIA >- if (backendType == BackendType::RECORDING) { >- SkPath skPath = GetSkiaPathForGlyphs(aBuffer); >- RefPtr<Path> path = MakeAndAddRef<PathSkia>(skPath, FillRule::FILL_WINDING); >- path->StreamToSink(aBuilder); >- return; >- } >-- MOZ_ASSERT(false, "Path not being copied"); >- #endif >-+ MOZ_ASSERT(false, "Path not being copied"); >- } >- >- void >diff --git a/www/firefox/files/patch-bug1312182 b/www/firefox/files/patch-bug1312182 >deleted file mode 100644 >index 9c2b65f06d65..000000000000 >--- a/www/firefox/files/patch-bug1312182 >+++ /dev/null >@@ -1,376 +0,0 @@ >-commit 0d02dac1638ad >-Author: Alessio Placitelli <alessio.placitelli@gmail.com> >-Date: Tue May 30 10:42:42 2017 +0200 >- >- Bug 1312182 - Consolidate the uses of MOZ_TELEMETRY_REPORTING in the code. r=flod,gfritzsche,jaws >- >- The MOZ_TELEMETRY_REPORTING define does not control whether or not Telemetry is enabled >- but rather if it will send the gathered data to Mozilla servers. We still want to >- display the about:preferences options and let developers know about this behaviour. >- Please note that this patch is not changing any behaviour: it's only making it explicit >- by showing the options as disabled rather than hiding them. >- >- MozReview-Commit-ID: 7A0y0E0hm0Q >- >- --HG-- >- extra : rebase_source : 36d1a7f5ec5c05b43731daf9507d3068fe7674ee >---- >- browser/base/content/baseMenuOverlay.xul | 2 +- >- browser/components/nsBrowserGlue.js | 8 +-- >- .../components/preferences/in-content-new/main.xul | 2 - >- .../preferences/in-content-new/privacy.js | 32 +++++------ >- .../preferences/in-content-new/privacy.xul | 14 ++--- >- .../components/preferences/in-content/advanced.js | 63 +++++++++++----------- >- .../components/preferences/in-content/advanced.xul | 7 ++- >- .../chrome/browser/preferences-old/advanced.dtd | 5 ++ >- .../en-US/chrome/browser/preferences/advanced.dtd | 5 ++ >- 9 files changed, 67 insertions(+), 71 deletions(-) >- >-diff --git browser/base/content/baseMenuOverlay.xul browser/base/content/baseMenuOverlay.xul >-index 1befa2bb66cc..804bbdebb797 100644 >---- browser/base/content/baseMenuOverlay.xul >-+++ browser/base/content/baseMenuOverlay.xul >-@@ -61,7 +61,7 @@ >- onclick="checkForMiddleClick(this, event);" >- label="&helpKeyboardShortcuts.label;" >- accesskey="&helpKeyboardShortcuts.accesskey;"/> >--#ifdef MOZ_TELEMETRY_REPORTING >-+#ifdef MOZ_SERVICES_HEALTHREPORT >- <menuitem id="healthReport" >- label="&healthReport2.label;" >- accesskey="&healthReport2.accesskey;" >-diff --git browser/components/nsBrowserGlue.js browser/components/nsBrowserGlue.js >-index 554c279356b9..1c21bf4c4323 100644 >---- browser/components/nsBrowserGlue.js >-+++ browser/components/nsBrowserGlue.js >-@@ -528,9 +528,7 @@ BrowserGlue.prototype = { >- os.addObserver(this, "distribution-customization-complete"); >- os.addObserver(this, "handle-xul-text-link"); >- os.addObserver(this, "profile-before-change"); >-- if (AppConstants.MOZ_TELEMETRY_REPORTING) { >-- os.addObserver(this, "keyword-search"); >-- } >-+ os.addObserver(this, "keyword-search"); >- os.addObserver(this, "browser-search-engine-modified"); >- os.addObserver(this, "restart-in-safe-mode"); >- os.addObserver(this, "flash-plugin-hang"); >-@@ -583,9 +581,7 @@ BrowserGlue.prototype = { >- os.removeObserver(this, "places-database-locked"); >- os.removeObserver(this, "handle-xul-text-link"); >- os.removeObserver(this, "profile-before-change"); >-- if (AppConstants.MOZ_TELEMETRY_REPORTING) { >-- os.removeObserver(this, "keyword-search"); >-- } >-+ os.removeObserver(this, "keyword-search"); >- os.removeObserver(this, "browser-search-engine-modified"); >- os.removeObserver(this, "flash-plugin-hang"); >- os.removeObserver(this, "xpi-signature-changed"); >-diff --git browser/components/preferences/in-content-new/main.xul browser/components/preferences/in-content-new/main.xul >-index e89ee1891c91..8672557bede2 100644 >---- browser/components/preferences/in-content-new/main.xul >-+++ browser/components/preferences/in-content-new/main.xul >-@@ -183,11 +183,9 @@ >- name="layout.spellcheckDefault" >- type="int"/> >- >--#ifdef MOZ_TELEMETRY_REPORTING >- <preference id="toolkit.telemetry.enabled" >- name="toolkit.telemetry.enabled" >- type="bool"/> >--#endif >- >- <preference id="browser.preferences.defaultPerformanceSettings.enabled" >- name="browser.preferences.defaultPerformanceSettings.enabled" >-diff --git browser/components/preferences/in-content-new/privacy.js browser/components/preferences/in-content-new/privacy.js >-index be057bfad611..73f72391b991 100644 >---- browser/components/preferences/in-content-new/privacy.js >-+++ browser/components/preferences/in-content-new/privacy.js >-@@ -321,11 +321,9 @@ var gPrivacyPane = { >- this.initSubmitCrashes(); >- } >- this.initTelemetry(); >-- if (AppConstants.MOZ_TELEMETRY_REPORTING) { >-- this.initSubmitHealthReport(); >-- setEventListener("submitHealthReportBox", "command", >-- gPrivacyPane.updateSubmitHealthReport); >-- } >-+ this.initSubmitHealthReport(); >-+ setEventListener("submitHealthReportBox", "command", >-+ gPrivacyPane.updateSubmitHealthReport); >- >- // Append search keywords into the elements could open subdialogs. >- let bundlePrefs = document.getElementById("bundlePreferences"); >-@@ -1414,8 +1412,10 @@ var gPrivacyPane = { >- * In all cases, set up the Learn More link sanely. >- */ >- initTelemetry() { >-- if (AppConstants.MOZ_TELEMETRY_REPORTING) { >-- this._setupLearnMoreLink("toolkit.telemetry.infoURL", "telemetryLearnMore"); >-+ this._setupLearnMoreLink("toolkit.telemetry.infoURL", "telemetryLearnMore"); >-+ // If we're not sending any Telemetry, disable the telemetry upload checkbox as well. >-+ if (!AppConstants.MOZ_TELEMETRY_REPORTING) { >-+ document.getElementById("submitTelemetryBox").setAttribute("disabled", "true"); >- } >- }, >- >-@@ -1439,9 +1439,6 @@ var gPrivacyPane = { >- * @param {Boolean} aEnabled False disables the controls, true enables them. >- */ >- setTelemetrySectionEnabled(aEnabled) { >-- if (!AppConstants.MOZ_TELEMETRY_REPORTING) { >-- return; >-- } >- // If FHR is disabled, additional data sharing should be disabled as well. >- let disabled = !aEnabled; >- document.getElementById("submitTelemetryBox").disabled = disabled; >-@@ -1456,19 +1453,21 @@ var gPrivacyPane = { >- * Initialize the health report service reference and checkbox. >- */ >- initSubmitHealthReport() { >-- if (!AppConstants.MOZ_TELEMETRY_REPORTING) { >-- return; >-- } >- this._setupLearnMoreLink("datareporting.healthreport.infoURL", "FHRLearnMore"); >- >- let checkbox = document.getElementById("submitHealthReportBox"); >- >-- if (Services.prefs.prefIsLocked(PREF_UPLOAD_ENABLED)) { >-+ // Telemetry is only sending data if MOZ_TELEMETRY_REPORTING is defined. >-+ // We still want to display the preferences panel if that's not the case, but >-+ // we want it to be disabled and unchecked. >-+ if (Services.prefs.prefIsLocked(PREF_UPLOAD_ENABLED) || >-+ !AppConstants.MOZ_TELEMETRY_REPORTING) { >- checkbox.setAttribute("disabled", "true"); >- return; >- } >- >-- checkbox.checked = Services.prefs.getBoolPref(PREF_UPLOAD_ENABLED); >-+ checkbox.checked = Services.prefs.getBoolPref(PREF_UPLOAD_ENABLED) && >-+ AppConstants.MOZ_TELEMETRY_REPORTING; >- this.setTelemetrySectionEnabled(checkbox.checked); >- }, >- >-@@ -1476,9 +1475,6 @@ var gPrivacyPane = { >- * Update the health report preference with state from checkbox. >- */ >- updateSubmitHealthReport() { >-- if (!AppConstants.MOZ_TELEMETRY_REPORTING) { >-- return; >-- } >- let checkbox = document.getElementById("submitHealthReportBox"); >- Services.prefs.setBoolPref(PREF_UPLOAD_ENABLED, checkbox.checked); >- this.setTelemetrySectionEnabled(checkbox.checked); >-diff --git browser/components/preferences/in-content-new/privacy.xul browser/components/preferences/in-content-new/privacy.xul >-index 9d531bd8274b..8030567573f8 100644 >---- browser/components/preferences/in-content-new/privacy.xul >-+++ browser/components/preferences/in-content-new/privacy.xul >-@@ -760,9 +760,14 @@ >- </groupbox> >- >- <!-- Data Choices --> >--#ifdef MOZ_TELEMETRY_REPORTING >--<groupbox id="historyGroup" data-category="panePrivacy" data-subcategory="reports" hidden="true"> >-+#ifdef MOZ_DATA_REPORTING >-+ >-+<groupbox id="telemetryGroup" data-category="panePrivacy" data-subcategory="reports" hidden="true"> >- <caption><label>&reports.label;</label></caption> >-+#ifndef MOZ_TELEMETRY_REPORTING >-+ <description id="TelemetryDisabledDesc" control="telemetryGroup">&healthReportingDisabled.label;</description> >-+#endif >-+ >- <hbox align="center"> >- <checkbox id="submitHealthReportBox" label="&enableHealthReport.label;" >- accesskey="&enableHealthReport.accesskey;"/> >-@@ -782,14 +787,9 @@ >- class="indent">&telemetryDesc.label;</description> >- </vbox> >- </groupbox> >--#endif >- >--#ifdef MOZ_DATA_REPORTING >- #ifdef MOZ_CRASHREPORTER >- <groupbox id="crashReporterGroup" data-category="panePrivacy" data-subcategory="reports" hidden="true"> >--#ifndef MOZ_TELEMETRY_REPORTING >--<caption><label>&reports.label;</label></caption> >--#endif >- <hbox align="center"> >- <checkbox id="automaticallySubmitCrashesBox" >- preference="browser.crashReports.unsubmittedCheck.autoSubmit" >-diff --git browser/components/preferences/in-content/advanced.js browser/components/preferences/in-content/advanced.js >-index a6a2abaad9cf..9c7a2e716403 100644 >---- browser/components/preferences/in-content/advanced.js >-+++ browser/components/preferences/in-content/advanced.js >-@@ -46,9 +46,7 @@ var gAdvancedPane = { >- this.initSubmitCrashes(); >- } >- this.initTelemetry(); >-- if (AppConstants.MOZ_TELEMETRY_REPORTING) { >-- this.initSubmitHealthReport(); >-- } >-+ this.initSubmitHealthReport(); >- this.updateOnScreenKeyboardVisibility(); >- this.updateCacheSizeInputField(); >- this.updateActualCacheSize(); >-@@ -78,10 +76,8 @@ var gAdvancedPane = { >- gAdvancedPane.updateHardwareAcceleration); >- setEventListener("advancedPrefs", "select", >- gAdvancedPane.tabSelectionChanged); >-- if (AppConstants.MOZ_TELEMETRY_REPORTING) { >-- setEventListener("submitHealthReportBox", "command", >-- gAdvancedPane.updateSubmitHealthReport); >-- } >-+ setEventListener("submitHealthReportBox", "command", >-+ gAdvancedPane.updateSubmitHealthReport); >- >- setEventListener("connectionSettings", "command", >- gAdvancedPane.showConnections); >-@@ -293,8 +289,10 @@ var gAdvancedPane = { >- * In all cases, set up the Learn More link sanely. >- */ >- initTelemetry() { >-- if (AppConstants.MOZ_TELEMETRY_REPORTING) { >-- this._setupLearnMoreLink("toolkit.telemetry.infoURL", "telemetryLearnMore"); >-+ this._setupLearnMoreLink("toolkit.telemetry.infoURL", "telemetryLearnMore"); >-+ // If we're not sending any Telemetry, disable the telemetry upload checkbox as well. >-+ if (!AppConstants.MOZ_TELEMETRY_REPORTING) { >-+ document.getElementById("submitTelemetryBox").setAttribute("disabled", "true"); >- } >- }, >- >-@@ -303,46 +301,45 @@ var gAdvancedPane = { >- * @param {Boolean} aEnabled False disables the controls, true enables them. >- */ >- setTelemetrySectionEnabled(aEnabled) { >-- if (AppConstants.MOZ_TELEMETRY_REPORTING) { >-- // If FHR is disabled, additional data sharing should be disabled as well. >-- let disabled = !aEnabled; >-- document.getElementById("submitTelemetryBox").disabled = disabled; >-- if (disabled) { >-- // If we disable FHR, untick the telemetry checkbox. >-- Services.prefs.setBoolPref("toolkit.telemetry.enabled", false); >-- } >-- document.getElementById("telemetryDataDesc").disabled = disabled; >-+ // If FHR is disabled, additional data sharing should be disabled as well. >-+ let disabled = !aEnabled; >-+ document.getElementById("submitTelemetryBox").disabled = disabled; >-+ if (disabled) { >-+ // If we disable FHR, untick the telemetry checkbox. >-+ Services.prefs.setBoolPref("toolkit.telemetry.enabled", false); >- } >-+ document.getElementById("telemetryDataDesc").disabled = disabled; >- }, >- >- /** >- * Initialize the health report service reference and checkbox. >- */ >- initSubmitHealthReport() { >-- if (AppConstants.MOZ_TELEMETRY_REPORTING) { >-- this._setupLearnMoreLink("datareporting.healthreport.infoURL", "FHRLearnMore"); >-- >-- let checkbox = document.getElementById("submitHealthReportBox"); >-+ this._setupLearnMoreLink("datareporting.healthreport.infoURL", "FHRLearnMore"); >- >-- if (Services.prefs.prefIsLocked(PREF_UPLOAD_ENABLED)) { >-- checkbox.setAttribute("disabled", "true"); >-- return; >-- } >-+ let checkbox = document.getElementById("submitHealthReportBox"); >- >-- checkbox.checked = Services.prefs.getBoolPref(PREF_UPLOAD_ENABLED); >-- this.setTelemetrySectionEnabled(checkbox.checked); >-+ // Telemetry is only sending data if MOZ_TELEMETRY_REPORTING is defined. >-+ // We still want to display the preferences panel if that's not the case, but >-+ // we want it to be disabled and unchecked. >-+ if (Services.prefs.prefIsLocked(PREF_UPLOAD_ENABLED) || >-+ !AppConstants.MOZ_TELEMETRY_REPORTING) { >-+ checkbox.setAttribute("disabled", "true"); >-+ return; >- } >-+ >-+ checkbox.checked = Services.prefs.getBoolPref(PREF_UPLOAD_ENABLED) && >-+ AppConstants.MOZ_TELEMETRY_REPORTING; >-+ this.setTelemetrySectionEnabled(checkbox.checked); >- }, >- >- /** >- * Update the health report preference with state from checkbox. >- */ >- updateSubmitHealthReport() { >-- if (AppConstants.MOZ_TELEMETRY_REPORTING) { >-- let checkbox = document.getElementById("submitHealthReportBox"); >-- Services.prefs.setBoolPref(PREF_UPLOAD_ENABLED, checkbox.checked); >-- this.setTelemetrySectionEnabled(checkbox.checked); >-- } >-+ let checkbox = document.getElementById("submitHealthReportBox"); >-+ Services.prefs.setBoolPref(PREF_UPLOAD_ENABLED, checkbox.checked); >-+ this.setTelemetrySectionEnabled(checkbox.checked); >- }, >- >- updateOnScreenKeyboardVisibility() { >-diff --git browser/components/preferences/in-content/advanced.xul browser/components/preferences/in-content/advanced.xul >-index f2330223fb18..1b2c62168a59 100644 >---- browser/components/preferences/in-content/advanced.xul >-+++ browser/components/preferences/in-content/advanced.xul >-@@ -37,12 +37,9 @@ >- <preference id="layout.spellcheckDefault" >- name="layout.spellcheckDefault" >- type="int"/> >-- >--#ifdef MOZ_TELEMETRY_REPORTING >- <preference id="toolkit.telemetry.enabled" >- name="toolkit.telemetry.enabled" >- type="bool"/> >--#endif >- >- <!-- Data Choices tab --> >- #ifdef MOZ_CRASHREPORTER >-@@ -189,6 +186,9 @@ >- <!-- Data Choices --> >- <tabpanel id="dataChoicesPanel" orient="vertical"> >- #ifdef MOZ_TELEMETRY_REPORTING >-+ <description>&healthReportingDisabled.label;</description> >-+ <separator class="thin"/> >-+#endif >- <groupbox> >- <caption> >- <checkbox id="submitHealthReportBox" label="&enableHealthReport.label;" >-@@ -216,7 +216,6 @@ >- </hbox> >- </vbox> >- </groupbox> >--#endif >- #ifdef MOZ_CRASHREPORTER >- <groupbox> >- <caption> >-diff --git browser/locales/en-US/chrome/browser/preferences-old/advanced.dtd browser/locales/en-US/chrome/browser/preferences-old/advanced.dtd >-index 215b800d3385..bf23c4fd251f 100644 >---- browser/locales/en-US/chrome/browser/preferences-old/advanced.dtd >-+++ browser/locales/en-US/chrome/browser/preferences-old/advanced.dtd >-@@ -28,6 +28,11 @@ >- >- <!ENTITY dataChoicesTab.label "Data Choices"> >- >-+<!-- LOCALIZATION NOTE (healthReportingDisabled.label): This message is displayed above >-+disabled data sharing options in developer builds or builds with no Telemetry support >-+available. --> >-+<!ENTITY healthReportingDisabled.label "Data reporting is disabled for this build configuration"> >-+ >- <!ENTITY healthReportDesc.label "Helps you understand your browser performance and shares data with &vendorShortName; about your browser health"> >- <!ENTITY enableHealthReport.label "Enable &brandShortName; Health Report"> >- <!ENTITY enableHealthReport.accesskey "R"> >-diff --git browser/locales/en-US/chrome/browser/preferences/advanced.dtd browser/locales/en-US/chrome/browser/preferences/advanced.dtd >-index 58a6b38630cf..6c478e48244a 100644 >---- browser/locales/en-US/chrome/browser/preferences/advanced.dtd >-+++ browser/locales/en-US/chrome/browser/preferences/advanced.dtd >-@@ -28,6 +28,11 @@ >- >- <!ENTITY dataChoicesTab.label "Data Choices"> >- >-+<!-- LOCALIZATION NOTE (healthReportingDisabled.label): This message is displayed above >-+disabled data sharing options in developer builds or builds with no Telemetry support >-+available. --> >-+<!ENTITY healthReportingDisabled.label "Data reporting is disabled for this build configuration"> >-+ >- <!ENTITY healthReportDesc.label "Helps you understand your browser performance and shares data with &vendorShortName; about your browser health"> >- <!ENTITY enableHealthReport.label "Enable &brandShortName; Health Report"> >- <!ENTITY enableHealthReport.accesskey "R"> >diff --git a/www/firefox/files/patch-bug1366050 b/www/firefox/files/patch-bug1366050 >new file mode 100644 >index 000000000000..a573d678dd11 >--- /dev/null >+++ b/www/firefox/files/patch-bug1366050 >@@ -0,0 +1,11 @@ >+--- toolkit/moz.configure.orig 2017-08-08 06:07:58 UTC >++++ toolkit/moz.configure >+@@ -620,7 +620,7 @@ def stylo_config(value, _, target): >+ >+ # If nothing is specified, default to building stylo where possible. >+ if value.origin == 'default': >+- if target.os == 'GNU' and target.bitness == 32: >++ if target.os != 'WINNT' and target.bitness == 32: >+ # The clang setup we use in automation is a little unusual, and >+ # doesn't play well with bindgen on 32-bit Linux. >+ pass >diff --git a/www/firefox/files/patch-bug1376268 b/www/firefox/files/patch-bug1376268 >deleted file mode 100644 >index 716bdb42e658..000000000000 >--- a/www/firefox/files/patch-bug1376268 >+++ /dev/null >@@ -1,61 +0,0 @@ >-commit ec31e574ed81 >-Author: Petr Sumbera <petr.sumbera@oracle.com> >-Date: Mon Jun 26 06:54:12 2017 -0700 >- >- Bug 1376268 - Fix Spidermonkey build with no jit backend; r=bbouvier >- >- MozReview-Commit-ID: DgANwcf8oUh >- >- --HG-- >- extra : amend_source : 1c3efbe975e93ee996e6b84d3fc073781740156d >---- >- js/src/jit/ExecutableAllocator.h | 2 +- >- js/src/jit/none/MacroAssembler-none.h | 8 ++++---- >- 2 files changed, 5 insertions(+), 5 deletions(-) >- >-diff --git js/src/jit/ExecutableAllocator.h js/src/jit/ExecutableAllocator.h >-index 570a25ff0dc3..d106b31ba906 100644 >---- js/src/jit/ExecutableAllocator.h >-+++ js/src/jit/ExecutableAllocator.h >-@@ -219,7 +219,7 @@ class ExecutableAllocator >- >- static void poisonCode(JSRuntime* rt, JitPoisonRangeVector& ranges); >- >--#if defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64) || defined(JS_SIMULATOR_ARM64) >-+#if defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64) || defined(JS_SIMULATOR_ARM64) || defined(JS_CODEGEN_NONE) >- static void cacheFlush(void*, size_t) >- { >- } >-diff --git js/src/jit/none/MacroAssembler-none.h js/src/jit/none/MacroAssembler-none.h >-index 9a40ec8a8f64..71ddca8b9f1c 100644 >---- js/src/jit/none/MacroAssembler-none.h >-+++ js/src/jit/none/MacroAssembler-none.h >-@@ -48,7 +48,7 @@ static constexpr Register WasmIonExitRegE1 { Registers::invalid_reg }; >- >- static constexpr Register WasmIonExitRegReturnData { Registers::invalid_reg }; >- static constexpr Register WasmIonExitRegReturnType { Registers::invalid_reg }; >--static constexpr Register WasmIonExitTlsReg = { Registers::invalid_reg }; >-+static constexpr Register WasmIonExitTlsReg { Registers::invalid_reg }; >- static constexpr Register WasmIonExitRegD0 { Registers::invalid_reg }; >- static constexpr Register WasmIonExitRegD1 { Registers::invalid_reg }; >- static constexpr Register WasmIonExitRegD2 { Registers::invalid_reg }; >-@@ -153,6 +153,8 @@ class Assembler : public AssemblerShared >- >- static uintptr_t GetPointer(uint8_t*) { MOZ_CRASH(); } >- >-+ static bool HasRoundInstruction(RoundingMode) { return false; } >-+ >- void verifyHeapAccessDisassembly(uint32_t begin, uint32_t end, >- const Disassembler::HeapAccess& heapAccess) >- { >-@@ -196,9 +198,7 @@ class MacroAssemblerNone : public Assembler >- static bool SupportsSimd() { return false; } >- static bool SupportsUnalignedAccesses() { return false; } >- >-- static bool HasRoundInstruction(RoundingMode) { return false; } >-- >-- void executableCopy(void*, bool) { MOZ_CRASH(); } >-+ void executableCopy(void*, bool = true) { MOZ_CRASH(); } >- void copyJumpRelocationTable(uint8_t*) { MOZ_CRASH(); } >- void copyDataRelocationTable(uint8_t*) { MOZ_CRASH(); } >- void copyPreBarrierTable(uint8_t*) { MOZ_CRASH(); } >diff --git a/www/firefox/files/patch-bug1376277 b/www/firefox/files/patch-bug1376277 >deleted file mode 100644 >index 77164834a9bd..000000000000 >--- a/www/firefox/files/patch-bug1376277 >+++ /dev/null >@@ -1,22 +0,0 @@ >-commit ac723ae99f3a >-Author: Petr Sumbera <petr.sumbera@oracle.com> >-Date: Tue Jun 27 01:33:49 2017 -0700 >- >- Bug 1376277 - nsWrapperCache.h: add support for 64bits sparc build. r=glandium >---- >- dom/base/nsWrapperCache.h | 2 +- >- 1 file changed, 1 insertion(+), 1 deletion(-) >- >-diff --git dom/base/nsWrapperCache.h dom/base/nsWrapperCache.h >-index b00d7aceb5c8..994ed73332ff 100644 >---- dom/base/nsWrapperCache.h >-+++ dom/base/nsWrapperCache.h >-@@ -41,7 +41,7 @@ class nsWindowRoot; >- // This may waste space for some other nsWrapperCache-derived objects that have >- // a 32-bit field as their first member, but those objects are unlikely to be as >- // numerous or performance-critical as DOM nodes. >--#if defined(_M_X64) || defined(__x86_64__) || defined(__aarch64__) >-+#if defined(_M_X64) || defined(__LP64__) >- static_assert(sizeof(void*) == 8, "These architectures should be 64-bit"); >- #define BOOL_FLAGS_ON_WRAPPER_CACHE >- #else >diff --git a/www/firefox/files/patch-bug1385597 b/www/firefox/files/patch-bug1385597 >deleted file mode 100644 >index c04746e89449..000000000000 >--- a/www/firefox/files/patch-bug1385597 >+++ /dev/null >@@ -1,24 +0,0 @@ >-Properly restore system timezone on other POSIX systems. r?ehsan >- >---- toolkit/components/resistfingerprinting/nsRFPService.cpp >-+++ toolkit/components/resistfingerprinting/nsRFPService.cpp >-@@ -162,14 +162,14 @@ nsRFPService::UpdatePref() >- PR_SetEnv(tz); >- } >- } else { >--#if defined(XP_LINUX) || defined (XP_MACOSX) >-- // For POSIX like system, we reset the TZ to the /etc/localtime, which is the >-- // system timezone. >-- PR_SetEnv("TZ=:/etc/localtime"); >--#else >-+#if defined(XP_WIN) >- // For Windows, we reset the TZ to an empty string. This will make Windows to use >- // its system timezone. >- PR_SetEnv("TZ="); >-+#else >-+ // For POSIX like system, we reset the TZ to the /etc/localtime, which is the >-+ // system timezone. >-+ PR_SetEnv("TZ=:/etc/localtime"); >- #endif >- } >- } >diff --git a/www/firefox/files/patch-bug826985 b/www/firefox/files/patch-bug826985 >index 8e23b9382748..8e9e7d24a024 100644 >--- a/www/firefox/files/patch-bug826985 >+++ b/www/firefox/files/patch-bug826985 >@@ -107,10 +107,11 @@ index 12df1b3..e9863ba 100644 > > #include <new> > >-@@ -26,6 +31,15 @@ >- #include "critical_section_wrapper.h" >- #include "video_capture_linux.h" >- >+@@ -32,6 +35,15 @@ >+ #include "webrtc/modules/video_capture/linux/video_capture_linux.h" >+ #include "webrtc/system_wrappers/include/critical_section_wrapper.h" >+ #include "webrtc/system_wrappers/include/trace.h" >++ > +#ifdef HAVE_LIBV4L2 > +#define open v4l2_open > +#define close v4l2_close >@@ -119,10 +120,9 @@ index 12df1b3..e9863ba 100644 > +#define mmap v4l2_mmap > +#define munmap v4l2_munmap > +#endif >-+ >- namespace webrtc >- { >- namespace videocapturemodule >+ >+ namespace webrtc { >+ namespace videocapturemodule { > diff --git media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi > index d46b5aa..e452223 100644 > --- media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi >diff --git a/www/firefox/files/patch-bug847568 b/www/firefox/files/patch-bug847568 >index 0deb5a504f56..c2c40cc26b26 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.6', >++system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.4.7', > + when='--with-system-harfbuzz') > + > +set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True)) >diff --git a/www/firefox/files/patch-rust-option b/www/firefox/files/patch-rust-option >deleted file mode 100644 >index e60e11b111ee..000000000000 >--- a/www/firefox/files/patch-rust-option >+++ /dev/null >@@ -1,816 +0,0 @@ >-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 >---- browser/confvars.sh >-+++ browser/confvars.sh >-@@ -30,6 +30,7 @@ if test "$OS_ARCH" = "WINNT"; then >- fi >- fi >- >-+MOZ_RUST_MP4PARSE=1 >- if test "$NIGHTLY_BUILD"; then >- MOZ_RUST_URLPARSE=1 >- fi >-diff --git build/moz.configure/rust.configure build/moz.configure/rust.configure >-index 267d989f1597..f709820e60ae 100644 >---- build/moz.configure/rust.configure >-+++ build/moz.configure/rust.configure >-@@ -4,10 +4,20 @@ >- # 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/. >- >--# Rust is required by `rust_compiler` below. We allow_missing here >--# to propagate failures to the better error message there. >--rustc = check_prog('RUSTC', ['rustc'], allow_missing=True) >--cargo = check_prog('CARGO', ['cargo'], allow_missing=True) >-+option('--disable-rust', help='Don\'t include Rust language sources') >-+ >-+@depends('--enable-rust') >-+def rust_compiler_names(value): >-+ if value: >-+ return ['rustc'] >-+ >-+@depends('--enable-rust') >-+def cargo_binary_names(value): >-+ if value: >-+ return ['cargo'] >-+ >-+rustc = check_prog('RUSTC', rust_compiler_names, allow_missing=True) >-+cargo = check_prog('CARGO', cargo_binary_names, allow_missing=True) >- >- @depends_if(rustc) >- @checking('rustc version', lambda info: info.version) >-@@ -43,9 +53,12 @@ def cargo_info(cargo): >- version=Version(version), >- ) >- >--@depends(rustc_info, cargo_info) >-+@depends('--enable-rust', rustc_info, cargo_info) >- @imports(_from='textwrap', _import='dedent') >--def rust_compiler(rustc_info, cargo_info): >-+def rust_compiler(value, rustc_info, cargo_info): >-+ if not value: >-+ return None >-+ >- 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 >-@@ -183,7 +183,7 @@ private: >- DECL_MEDIA_PREF("media.ogg.flac.enabled", FlacInOgg, bool, false); >- DECL_MEDIA_PREF("media.flac.enabled", FlacEnabled, bool, true); >- >--#if !defined(RELEASE_OR_BETA) >-+#if defined(MOZ_RUST_MP4PARSE) && !defined(RELEASE_OR_BETA) >- 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 >-+++ media/libstagefright/binding/DecoderData.cpp >-@@ -13,9 +13,11 @@ >- #include "mozilla/ArrayUtils.h" >- #include "include/ESDS.h" >- >-+#ifdef MOZ_RUST_MP4PARSE >- // OpusDecoder header is really needed only by MP4 in rust >- #include "OpusDecoder.h" >- #include "mp4parse.h" >-+#endif // MOZ_RUST_MP4PARSE >- >- using namespace stagefright; >- 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) >-@@ -263,6 +266,7 @@ MP4VideoInfo::Update(const mp4parse_track_info* track, >- mExtraData->AppendElements(video->extra_data.data, video->extra_data.length); >- } >- } >-+#endif // MOZ_RUST_MP4PARSE >- >- bool >- MP4VideoInfo::IsValid() const >-diff --git media/libstagefright/binding/MP4Metadata.cpp media/libstagefright/binding/MP4Metadata.cpp >-index 5c3810d99a38..5d14dfd8b8a9 100644 >---- media/libstagefright/binding/MP4Metadata.cpp >-+++ media/libstagefright/binding/MP4Metadata.cpp >-@@ -20,14 +20,18 @@ >- #include "mp4_demuxer/MP4Metadata.h" >- #include "mp4_demuxer/Stream.h" >- #include "MediaPrefs.h" >-+#ifdef MOZ_RUST_MP4PARSE >- #include "mp4parse.h" >-+#endif // MOZ_RUST_MP4PARSE >- >- #include <limits> >- #include <stdint.h> >- #include <vector> >- >- >-+#ifdef MOZ_RUST_MP4PARSE >- struct FreeMP4Parser { void operator()(mp4parse_parser* aPtr) { mp4parse_free(aPtr); } }; >-+#endif // MOZ_RUST_MP4PARSE >- >- using namespace stagefright; >- using mozilla::media::TimeUnit; >-@@ -105,6 +109,7 @@ private: >- bool mCanSeek; >- }; >- >-+#ifdef MOZ_RUST_MP4PARSE >- // Wrap an mp4_demuxer::Stream to remember the read offset. >- >- class RustStreamAdaptor { >-@@ -151,6 +156,7 @@ private: >- RustStreamAdaptor mRustSource; >- mozilla::UniquePtr<mp4parse_parser, FreeMP4Parser> 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<MP4MetadataStagefright>(aSource)) >-+#ifdef MOZ_RUST_MP4PARSE >- , mRust(MakeUnique<MP4MetadataRust>(aSource)) >- , mPreferRust(MediaPrefs::EnableRustMP4Parser()) >- , mReportedAudioTrackTelemetry(false) >-@@ -242,6 +251,7 @@ MP4Metadata::MP4Metadata(Stream* aSource) >- #ifndef RELEASE_OR_BETA >- , mRustTestMode(MediaPrefs::RustTestMode()) >- #endif >-+#endif // MOZ_RUST_MP4PARSE >- { >- } >- >-@@ -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 >- } >- >- 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; >-@@ -389,6 +404,7 @@ bool MP4Metadata::ShouldPreferRust() const { >- // Otherwise, fall back. >- return false; >- } >-+#endif // MOZ_RUST_MP4PARSE >- >- 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; >- } >-@@ -514,6 +531,7 @@ MP4Metadata::GetTrackInfo(mozilla::TrackInfo::TrackType aType, >- if (mPreferRust) { >- return infoRust; >- } >-+#endif // MOZ_RUST_MP4PARSE >- >- return info; >- } >-@@ -528,6 +546,7 @@ MP4Metadata::ResultAndCryptoFile >- MP4Metadata::Crypto() const >- { >- MP4Metadata::ResultAndCryptoFile crypto = mStagefright->Crypto(); >-+#ifdef MOZ_RUST_MP4PARSE >- MP4Metadata::ResultAndCryptoFile rustCrypto = mRust->Crypto(); >- >- #ifndef RELEASE_OR_BETA >-@@ -548,6 +567,7 @@ MP4Metadata::Crypto() const >- if (mPreferRust) { >- return rustCrypto; >- } >-+#endif // MOZ_RUST_MP4PARSE >- >- return crypto; >- } >-@@ -556,17 +576,22 @@ MP4Metadata::ResultAndIndice >- MP4Metadata::GetTrackIndice(mozilla::TrackID aTrackID) >- { >- FallibleTArray<Index::Indice> 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<IndiceWrapper> indice; >-+#ifdef MOZ_RUST_MP4PARSE >- if (mPreferRust) { >- indice = mozilla::MakeUnique<IndiceWrapperRust>(indiceRust); >- } else { >-+#endif // MOZ_RUST_MP4PARSE >- indice = mozilla::MakeUnique<IndiceWrapperStagefright>(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) >- { >-@@ -1152,5 +1183,6 @@ MP4MetadataRust::Metadata(Stream* aSource) >- MOZ_ASSERT(false, "Not yet implemented"); >- return {NS_ERROR_NOT_IMPLEMENTED, nullptr}; >- } >-+#endif // MOZ_RUST_MP4PARSE >- >- } // namespace mp4_demuxer >-diff --git media/libstagefright/binding/include/mp4_demuxer/DecoderData.h media/libstagefright/binding/include/mp4_demuxer/DecoderData.h >-index 3cd4b7c142f4..dc25ddf03b10 100644 >---- media/libstagefright/binding/include/mp4_demuxer/DecoderData.h >-+++ media/libstagefright/binding/include/mp4_demuxer/DecoderData.h >-@@ -19,11 +19,13 @@ namespace stagefright >- class MetaData; >- } >- >-+#ifdef MOZ_RUST_MP4PARSE >- extern "C" { >- typedef struct mp4parse_track_info mp4parse_track_info; >- typedef struct mp4parse_track_audio_info mp4parse_track_audio_info; >- typedef struct mp4parse_track_video_info mp4parse_track_video_info; >- } >-+#endif // MOZ_RUST_MP4PARSE >- >- namespace mp4_demuxer >- { >-@@ -71,8 +73,10 @@ public: >- void Update(const stagefright::MetaData* aMetaData, >- const char* aMimeType); >- >-+#ifdef MOZ_RUST_MP4PARSE >- void Update(const mp4parse_track_info* track, >- const mp4parse_track_audio_info* audio); >-+#endif // MOZ_RUST_MP4PARSE >- >- virtual bool IsValid() const override; >- }; >-@@ -85,8 +89,10 @@ public: >- void Update(const stagefright::MetaData* aMetaData, >- const char* aMimeType); >- >-+#ifdef MOZ_RUST_MP4PARSE >- void Update(const mp4parse_track_info* track, >- const mp4parse_track_video_info* video); >-+#endif // MOZ_RUST_MP4PARSE >- >- virtual bool IsValid() const override; >- }; >-diff --git media/libstagefright/binding/include/mp4_demuxer/MP4Metadata.h media/libstagefright/binding/include/mp4_demuxer/MP4Metadata.h >-index 492c9c1c1bc3..e16dbbd1155e 100644 >---- media/libstagefright/binding/include/mp4_demuxer/MP4Metadata.h >-+++ media/libstagefright/binding/include/mp4_demuxer/MP4Metadata.h >-@@ -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<MP4MetadataStagefright> mStagefright; >-+#ifdef MOZ_RUST_MP4PARSE >- UniquePtr<MP4MetadataRust> mRust; >- mutable bool mPreferRust; >- mutable bool mReportedAudioTrackTelemetry; >-@@ -90,6 +93,7 @@ private: >- mutable bool mRustTestMode; >- #endif >- bool ShouldPreferRust() const; >-+#endif // MOZ_RUST_MP4PARSE >- }; >- >- } // 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 >-+++ mobile/android/confvars.sh >-@@ -30,6 +30,8 @@ MOZ_XULRUNNER= >- MOZ_CAPTURE=1 >- MOZ_RAW=1 >- >-+MOZ_RUST_MP4PARSE=1 >-+ >- # 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 >-@@ -8320,7 +8320,8 @@ >- "expires_in_version": "60", >- "kind": "boolean", >- "bug_numbers": [1220885], >-- "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": { >- "record_in_processes": ["main", "content"], >-@@ -8329,7 +8330,8 @@ >- "kind": "enumerated", >- "n_values": 32, >- "bug_numbers": [1238420], >-- "description": "The error code reported when an MP4 parse attempt has failed.0 = OK, 1 = bad argument, 2 = invalid data, 3 = unsupported, 4 = unexpected end of file, 5 = read error." >-+ "description": "The error code reported when an MP4 parse attempt has failed.0 = OK, 1 = bad argument, 2 = invalid data, 3 = unsupported, 4 = unexpected end of file, 5 = read error.", >-+ "cpp_guard": "MOZ_RUST_MP4PARSE" >- }, >- "MEDIA_RUST_MP4PARSE_TRACK_MATCH_AUDIO": { >- "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." >-+ "description": "Whether rust and stagefight mp4 parser audio track results match.", >-+ "cpp_guard": "MOZ_RUST_MP4PARSE" >- }, >- "MEDIA_RUST_MP4PARSE_TRACK_MATCH_VIDEO": { >- "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." >-+ "description": "Whether rust and stagefight mp4 parser video track results match.", >-+ "cpp_guard": "MOZ_RUST_MP4PARSE" >- }, >- "MEDIA_WMF_DECODE_ERROR": { >- "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-z-bug517422 b/www/firefox/files/patch-z-bug517422 >index e3c4c41fbc6f..debf8d5a7afd 100644 >--- a/www/firefox/files/patch-z-bug517422 >+++ b/www/firefox/files/patch-z-bug517422 >@@ -110,7 +110,7 @@ index 93ecda4319af..ff674c64ea07 100644 > , mDumpFile(nullptr) > , mState(INITIALIZED) > , mDataSource(aSource) >-@@ -130,9 +132,11 @@ AudioStream::~AudioStream() >+@@ -135,9 +137,11 @@ AudioStream::~AudioStream() > if (mDumpFile) { > fclose(mDumpFile); > } >@@ -119,9 +119,9 @@ index 93ecda4319af..ff674c64ea07 100644 > soundtouch::destroySoundTouchObj(mTimeStretcher); > } > +#endif >- } >- >- size_t >+ #if defined(XP_WIN) >+ if (XRE_IsContentProcess()) { >+ audio::AudioNotificationReceiver::Unregister(this); > @@ -151,7 +155,11 @@ nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked() > { > mMonitor.AssertCurrentThreadOwns();
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 221335
:
185156
|
185288
|
185463
|
185588
|
185814
|
186106
|
186160
|
186289
|
186384
|
186557