summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Mk/Uses/gecko.mk4
-rw-r--r--Mk/bsd.gecko.mk7
-rw-r--r--www/firefox-i18n/Makefile6
-rw-r--r--www/firefox-i18n/distinfo382
-rw-r--r--www/firefox/Makefile26
-rw-r--r--www/firefox/distinfo6
-rw-r--r--www/firefox/files/patch-bug114463226
-rw-r--r--www/firefox/files/patch-bug1312182376
-rw-r--r--www/firefox/files/patch-bug137626861
-rw-r--r--www/firefox/files/patch-bug137627722
-rw-r--r--www/firefox/files/patch-bug138559724
-rw-r--r--www/firefox/files/patch-bug140109311
-rw-r--r--www/firefox/files/patch-bug82698516
-rw-r--r--www/firefox/files/patch-bug8475682
-rw-r--r--www/firefox/files/patch-rust-option816
-rw-r--r--www/firefox/files/patch-z-bug5174228
-rw-r--r--www/firefox/pkg-message1
17 files changed, 246 insertions, 1548 deletions
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 8ac7cbab8167..0ce3e026e001 100644
--- a/Mk/bsd.gecko.mk
+++ b/Mk/bsd.gecko.mk
@@ -388,10 +388,12 @@ post-patch-SNDIO-on:
${MOZSRC}/media/webrtc/signaling/test/common.build
.endif
-.if ${PORT_OPTIONS:MRUST}
+.if ${PORT_OPTIONS:MRUST} || ${MOZILLA_VER:R:R} >= 54
BUILD_DEPENDS+= rust>=1.19.0_2:${RUST_PORT}
RUST_PORT?= lang/rust
+. if ${MOZILLA_VER:R:R} < 54
MOZ_OPTIONS+= --enable-rust
+. endif
.else
MOZ_OPTIONS+= --disable-rust
.endif
@@ -401,6 +403,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..fc208def14bb 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.0
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/build6/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..63562c7e4e76 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 = 1505781928
+SHA256 (xpi/firefox-i18n-56.0/ach.xpi) = 9f284521955c5288b00a9cf9b43408814217da3b69ac4153602e21f5a98708b4
+SIZE (xpi/firefox-i18n-56.0/ach.xpi) = 454895
+SHA256 (xpi/firefox-i18n-56.0/af.xpi) = 708ec52153122ebcdaf73c50588cf40e211cf8735dd81689d319e57b4a0432ba
+SIZE (xpi/firefox-i18n-56.0/af.xpi) = 456213
+SHA256 (xpi/firefox-i18n-56.0/an.xpi) = 66987c4c963db384953755d1d6c6896221da8a62574692b0f52d6ff713aaded6
+SIZE (xpi/firefox-i18n-56.0/an.xpi) = 475862
+SHA256 (xpi/firefox-i18n-56.0/ar.xpi) = 0bd9dfd95767c6e03403b38f06f3e0cd0bf9c4168fef8c65c451aaef19b38d82
+SIZE (xpi/firefox-i18n-56.0/ar.xpi) = 500711
+SHA256 (xpi/firefox-i18n-56.0/as.xpi) = abb9088fde31eab8a4c7e15c0241a1dd6f018b4c3027515ee890954a5ae49739
+SIZE (xpi/firefox-i18n-56.0/as.xpi) = 508236
+SHA256 (xpi/firefox-i18n-56.0/ast.xpi) = 4559c2201594ef2b2243e71f98a7f1a245cc5bfae9e1a958c762fc2b40db3dee
+SIZE (xpi/firefox-i18n-56.0/ast.xpi) = 469156
+SHA256 (xpi/firefox-i18n-56.0/az.xpi) = 53d71852e952d764163bbc97991bf15edd5ce035f3c97ce8ea364382cc9b7a9b
+SIZE (xpi/firefox-i18n-56.0/az.xpi) = 484983
+SHA256 (xpi/firefox-i18n-56.0/be.xpi) = eb8211b25dca43482cf85e121fd5f4397f0f368d0a2400f393b7abb288f697fc
+SIZE (xpi/firefox-i18n-56.0/be.xpi) = 531383
+SHA256 (xpi/firefox-i18n-56.0/bg.xpi) = 8bedb8067912eddf59a19d203f4dcd6dcb6aa2ac368f8a5ad8838d3b42bb9887
+SIZE (xpi/firefox-i18n-56.0/bg.xpi) = 528787
+SHA256 (xpi/firefox-i18n-56.0/bn-BD.xpi) = f3549198626f6c9c55dfdd59f0d73bfd71cc7a378938f98650914d6e8d993ea3
+SIZE (xpi/firefox-i18n-56.0/bn-BD.xpi) = 542770
+SHA256 (xpi/firefox-i18n-56.0/bn-IN.xpi) = dbdc23f2e5b8630e1e2fb217a3a3c846c99095e5ae0e1a275dbf1609b9644a98
+SIZE (xpi/firefox-i18n-56.0/bn-IN.xpi) = 534449
+SHA256 (xpi/firefox-i18n-56.0/br.xpi) = 0d6c272e49ef57ce00da2bcf612fd4b7b8aefb6d4391cbd28fe1ba979b34cc4c
+SIZE (xpi/firefox-i18n-56.0/br.xpi) = 464254
+SHA256 (xpi/firefox-i18n-56.0/bs.xpi) = 8016af6c04fa76e03e8f9446fcf199f3e9f7f6985da78c57152b8e72750d054e
+SIZE (xpi/firefox-i18n-56.0/bs.xpi) = 472254
+SHA256 (xpi/firefox-i18n-56.0/ca.xpi) = 5f76ae9d5ad7646adabd9fd41577b74db909121ef0c30be324b7d1689f6d9d74
+SIZE (xpi/firefox-i18n-56.0/ca.xpi) = 480362
+SHA256 (xpi/firefox-i18n-56.0/cak.xpi) = 587ff3f26a8ef7582bcb5a6392917bf586818970e8d01e488dce90ed7ca73420
+SIZE (xpi/firefox-i18n-56.0/cak.xpi) = 489506
+SHA256 (xpi/firefox-i18n-56.0/cs.xpi) = fc85604d385fe84c270142259cade851b52737f2a26bdfe594177ab5fdd411bb
+SIZE (xpi/firefox-i18n-56.0/cs.xpi) = 485089
+SHA256 (xpi/firefox-i18n-56.0/cy.xpi) = 93ac985b804780f762d317fa375d3cf38585bb6d758ead31fce25ea29ad19dd7
+SIZE (xpi/firefox-i18n-56.0/cy.xpi) = 466287
+SHA256 (xpi/firefox-i18n-56.0/da.xpi) = 8e05141c5dbb72a19140c4c849ad0531c5318daa1c8540a7816882dfdc1762ce
+SIZE (xpi/firefox-i18n-56.0/da.xpi) = 460090
+SHA256 (xpi/firefox-i18n-56.0/de.xpi) = b269327762cf43a89567ed15ab43235da513270012486e30e5b5d13dfb0df211
+SIZE (xpi/firefox-i18n-56.0/de.xpi) = 473854
+SHA256 (xpi/firefox-i18n-56.0/dsb.xpi) = 7198dee15dce499491b2934b7e8c93352d06058a8aaa09e2c31834618d4c55f3
+SIZE (xpi/firefox-i18n-56.0/dsb.xpi) = 489896
+SHA256 (xpi/firefox-i18n-56.0/el.xpi) = 6b6541d02b37c1a0ffaf425f26fc67d829eb8b0ffc9c77a7a14d9e70cd1f1095
+SIZE (xpi/firefox-i18n-56.0/el.xpi) = 554119
+SHA256 (xpi/firefox-i18n-56.0/en-GB.xpi) = 20a67d7425f4fc854e02870a4a495a16009ac7c04e0c6320c505f3ba3aff08ea
+SIZE (xpi/firefox-i18n-56.0/en-GB.xpi) = 447373
+SHA256 (xpi/firefox-i18n-56.0/en-US.xpi) = 0e01e320c38e7707a1db73a070401c2c7807fda106bde89b7f2d93826497e395
+SIZE (xpi/firefox-i18n-56.0/en-US.xpi) = 446950
+SHA256 (xpi/firefox-i18n-56.0/en-ZA.xpi) = 13a8422c2f770ed2234be39f7fdfcd66ea2e755213359e43586abbe0a9b2181d
+SIZE (xpi/firefox-i18n-56.0/en-ZA.xpi) = 445915
+SHA256 (xpi/firefox-i18n-56.0/eo.xpi) = 184eb2a2deffc09449f1a245ffd6ad1a0487d784e04e424676d1ae5463ef0ea7
+SIZE (xpi/firefox-i18n-56.0/eo.xpi) = 468950
+SHA256 (xpi/firefox-i18n-56.0/es-AR.xpi) = 9c7c1728ac939ccbf2d6b6e0964ff2ca15bd580c8de2c356f999326aba976a39
+SIZE (xpi/firefox-i18n-56.0/es-AR.xpi) = 475447
+SHA256 (xpi/firefox-i18n-56.0/es-CL.xpi) = 569a062a0c0d28ed1b8f5d53bd934ea3bf307134b7f6684b3694018b98056472
+SIZE (xpi/firefox-i18n-56.0/es-CL.xpi) = 479921
+SHA256 (xpi/firefox-i18n-56.0/es-ES.xpi) = 6995892b26fee06bc81e287fcd3ccd0a4a9730ced181c60b97f2af44661b5f4b
+SIZE (xpi/firefox-i18n-56.0/es-ES.xpi) = 365629
+SHA256 (xpi/firefox-i18n-56.0/es-MX.xpi) = 101efa0972578b9866768b833f16d2c8b7f080094576a9ddbf0d91eeeb57332e
+SIZE (xpi/firefox-i18n-56.0/es-MX.xpi) = 482563
+SHA256 (xpi/firefox-i18n-56.0/et.xpi) = f4d5851ec8492344eb03d7c3f266df4223eb35cca7414306a3b57f3d4be96919
+SIZE (xpi/firefox-i18n-56.0/et.xpi) = 462102
+SHA256 (xpi/firefox-i18n-56.0/eu.xpi) = 775ee6afb9776266c0eccb03013c4bf90e70e604d6b1e6a23e554c04629a906c
+SIZE (xpi/firefox-i18n-56.0/eu.xpi) = 467883
+SHA256 (xpi/firefox-i18n-56.0/fa.xpi) = e4ef465cd8cea694a77df077e4dce457c2e27bf98f600e94e9ba75e559b74aa4
+SIZE (xpi/firefox-i18n-56.0/fa.xpi) = 522907
+SHA256 (xpi/firefox-i18n-56.0/ff.xpi) = 0c9907334c78a0df391b723586ec9251ceddf703b6e395c524131d1d718c8388
+SIZE (xpi/firefox-i18n-56.0/ff.xpi) = 463097
+SHA256 (xpi/firefox-i18n-56.0/fi.xpi) = e868307c543675f4c7f9bc04a108be7e65de1db81041055f366e9c05209c5c90
+SIZE (xpi/firefox-i18n-56.0/fi.xpi) = 461922
+SHA256 (xpi/firefox-i18n-56.0/fr.xpi) = aae90b0ebe74d7545c8e320072af88c37f0032de01d3f5a9f76c54902ea617ad
+SIZE (xpi/firefox-i18n-56.0/fr.xpi) = 484560
+SHA256 (xpi/firefox-i18n-56.0/fy-NL.xpi) = 22f1ff599aebdc20d70e8e4f4ad30118c4462fed68b13c9f001bb271bfa7c989
+SIZE (xpi/firefox-i18n-56.0/fy-NL.xpi) = 478039
+SHA256 (xpi/firefox-i18n-56.0/ga-IE.xpi) = e051897700eebd6b350e549df50a74771cc7ea2face2bcd6233205c3ab6eda7d
+SIZE (xpi/firefox-i18n-56.0/ga-IE.xpi) = 489378
+SHA256 (xpi/firefox-i18n-56.0/gd.xpi) = 25dd90c80e9350cdce653a6208af2010457f4c2acac8ab91d5665c6235b8da51
+SIZE (xpi/firefox-i18n-56.0/gd.xpi) = 476925
+SHA256 (xpi/firefox-i18n-56.0/gl.xpi) = d17de05fa14e3024b86cff5ac9c536eb94eb6065f5696819e1e849364d048054
+SIZE (xpi/firefox-i18n-56.0/gl.xpi) = 466467
+SHA256 (xpi/firefox-i18n-56.0/gn.xpi) = 16c7db01979b1d672a65ed617145b50450a2b3c38eb736a268c799555064d344
+SIZE (xpi/firefox-i18n-56.0/gn.xpi) = 485789
+SHA256 (xpi/firefox-i18n-56.0/gu-IN.xpi) = 831400812cc60e615278be8a3327f6f34581d83c246c3b5a7a583c02bdf4dc48
+SIZE (xpi/firefox-i18n-56.0/gu-IN.xpi) = 513735
+SHA256 (xpi/firefox-i18n-56.0/he.xpi) = ba6f1edfbc307a45b80c17962ac3a8ffcc2ea270d00f80d8ccee806bb1cd1248
+SIZE (xpi/firefox-i18n-56.0/he.xpi) = 488493
+SHA256 (xpi/firefox-i18n-56.0/hi-IN.xpi) = 99f3944940ceaca067e1d03875bfd42284f270ddf2bfafc84a0aec9b4976aec5
+SIZE (xpi/firefox-i18n-56.0/hi-IN.xpi) = 538302
+SHA256 (xpi/firefox-i18n-56.0/hr.xpi) = 9bfb9ef6e15d01b58a1274513f8cccc06e2726e9e4fb61790f9206836bbe4eb5
+SIZE (xpi/firefox-i18n-56.0/hr.xpi) = 475056
+SHA256 (xpi/firefox-i18n-56.0/hsb.xpi) = 7a060735c524d21eb9eccfa669d358f65cb570d3a8cd2adf6bea580e6e56e4cf
+SIZE (xpi/firefox-i18n-56.0/hsb.xpi) = 487595
+SHA256 (xpi/firefox-i18n-56.0/hu.xpi) = d2b6b38c43088db0ce58923bceaedbe6eaa8d55c3df2272276a875b3a9bde0b3
+SIZE (xpi/firefox-i18n-56.0/hu.xpi) = 490101
+SHA256 (xpi/firefox-i18n-56.0/hy-AM.xpi) = ac82ec57693d4cac9f275ec563c99c5810a1f68564d767723867fb10ba816042
+SIZE (xpi/firefox-i18n-56.0/hy-AM.xpi) = 527710
+SHA256 (xpi/firefox-i18n-56.0/id.xpi) = 265ca0ba0ba4b0088272e65d320c829e844b2837da39bfe68f86111b6b430d09
+SIZE (xpi/firefox-i18n-56.0/id.xpi) = 459065
+SHA256 (xpi/firefox-i18n-56.0/is.xpi) = 7f69bc3bf4c304c5813a981ba06fd70e9bbeaf5e31559ab4b1781c239d7d98a5
+SIZE (xpi/firefox-i18n-56.0/is.xpi) = 467442
+SHA256 (xpi/firefox-i18n-56.0/it.xpi) = 9f6be0fca35d4503c91e3b67c3511c0dcc2c08e272658b8a73676425cc0e4c9a
+SIZE (xpi/firefox-i18n-56.0/it.xpi) = 358693
+SHA256 (xpi/firefox-i18n-56.0/ja.xpi) = ca20531c885dfdccc51df5db8825960acd297e8a0bce75ed669b201d8fb31ac4
+SIZE (xpi/firefox-i18n-56.0/ja.xpi) = 527924
+SHA256 (xpi/firefox-i18n-56.0/ka.xpi) = dedf5f7f8176d04ad6f9b0514787465a68f31c269fb92b3ea2b26637c876b5cf
+SIZE (xpi/firefox-i18n-56.0/ka.xpi) = 509095
+SHA256 (xpi/firefox-i18n-56.0/kab.xpi) = 8c942b66ee4a9568a0fe694d91cac659b81c356ac95b4b3e230debb63eb7937b
+SIZE (xpi/firefox-i18n-56.0/kab.xpi) = 477419
+SHA256 (xpi/firefox-i18n-56.0/kk.xpi) = dba606bedf12452db5650e955de23c7c4ac0d2d418e17fa8af6cbc032c44d784
+SIZE (xpi/firefox-i18n-56.0/kk.xpi) = 534931
+SHA256 (xpi/firefox-i18n-56.0/km.xpi) = 839454b15e12552a2229f246592aa1be9ee29c75540f3f10a82b17b8c02252e7
+SIZE (xpi/firefox-i18n-56.0/km.xpi) = 549343
+SHA256 (xpi/firefox-i18n-56.0/kn.xpi) = f2432182ec92846499e98120e859b31e800b8e01a45acbebc5de50ea92c0fbf7
+SIZE (xpi/firefox-i18n-56.0/kn.xpi) = 545515
+SHA256 (xpi/firefox-i18n-56.0/ko.xpi) = b4b3d2b1d873899b4a77bd21fe006bab4cf19b9bf41c4914e406bbaf4c1d9f0b
+SIZE (xpi/firefox-i18n-56.0/ko.xpi) = 502893
+SHA256 (xpi/firefox-i18n-56.0/lij.xpi) = 45c23550a79c4f061fdc9b1e563766c266e8d5d4b0ad4101b328ef91bb442b24
+SIZE (xpi/firefox-i18n-56.0/lij.xpi) = 467274
+SHA256 (xpi/firefox-i18n-56.0/lt.xpi) = ddb6c1e7af036bdc4735cf57d299e294ca83d8c47e04b13a5cd326fffdfb109b
+SIZE (xpi/firefox-i18n-56.0/lt.xpi) = 488751
+SHA256 (xpi/firefox-i18n-56.0/lv.xpi) = 3f040de2f2be8e7fb3b07877ccbda2779110953881f03f1813dffcfce6621479
+SIZE (xpi/firefox-i18n-56.0/lv.xpi) = 481627
+SHA256 (xpi/firefox-i18n-56.0/mai.xpi) = 08eda83db69cff2f80f94daf3f5923ca8185bc95ba03550abeadba85b29f233a
+SIZE (xpi/firefox-i18n-56.0/mai.xpi) = 524701
+SHA256 (xpi/firefox-i18n-56.0/mk.xpi) = e7c3c394f6cf12cb96debea660462a700f49c9009cfe55a6a2fa593b3d546832
+SIZE (xpi/firefox-i18n-56.0/mk.xpi) = 507816
+SHA256 (xpi/firefox-i18n-56.0/ml.xpi) = a4a2a260eefc3d63333a1080b15e260cc144490c177bffb10bb820d20c9973f8
+SIZE (xpi/firefox-i18n-56.0/ml.xpi) = 547545
+SHA256 (xpi/firefox-i18n-56.0/mr.xpi) = a77a1c09a13009826113e5970ca22e6468956eb86db48b58f0e82aab0fa1080f
+SIZE (xpi/firefox-i18n-56.0/mr.xpi) = 536672
+SHA256 (xpi/firefox-i18n-56.0/ms.xpi) = d6d1a0d6cdef33f45d3c19a99e0e052f80eec34a8e1c23025e80b4e663095801
+SIZE (xpi/firefox-i18n-56.0/ms.xpi) = 466106
+SHA256 (xpi/firefox-i18n-56.0/my.xpi) = 4ed3bd9b0eaa9ce313cad1607fd5cf5a12f5ce39f7d5fbc18da5311dfb5958dd
+SIZE (xpi/firefox-i18n-56.0/my.xpi) = 536721
+SHA256 (xpi/firefox-i18n-56.0/nb-NO.xpi) = 67898a380d324fc7b3e676621de695de8cf926ebc90c4a3f2f07b4ebd2c6a810
+SIZE (xpi/firefox-i18n-56.0/nb-NO.xpi) = 465574
+SHA256 (xpi/firefox-i18n-56.0/nl.xpi) = 0f3d94f7f7b93d516656160d6bfa589bd77813e4fa6906fb38a5b11da3297727
+SIZE (xpi/firefox-i18n-56.0/nl.xpi) = 469052
+SHA256 (xpi/firefox-i18n-56.0/nn-NO.xpi) = 4778700a808a7155b967e585578e41fab71e671c9dc3c0f5331c40bfe5e323f9
+SIZE (xpi/firefox-i18n-56.0/nn-NO.xpi) = 466206
+SHA256 (xpi/firefox-i18n-56.0/or.xpi) = 39ee3d9f5b8c0e0ba24fe2a9e14ce6c8470a28f362c5d7e4bcf3835e7728f234
+SIZE (xpi/firefox-i18n-56.0/or.xpi) = 518164
+SHA256 (xpi/firefox-i18n-56.0/pa-IN.xpi) = 1c89fc9e307bfe597d91648bdcae9bf528e43b260770bef23315c9e9c359287c
+SIZE (xpi/firefox-i18n-56.0/pa-IN.xpi) = 509045
+SHA256 (xpi/firefox-i18n-56.0/pl.xpi) = 8e38c9f5ec52a6138c882455db5ddbe4efa7f846fbbcddfa53055953abef989d
+SIZE (xpi/firefox-i18n-56.0/pl.xpi) = 377523
+SHA256 (xpi/firefox-i18n-56.0/pt-BR.xpi) = 407dc8e947de858814c551426cf67af0757b0348caa97703bd25ed136cd06f4c
+SIZE (xpi/firefox-i18n-56.0/pt-BR.xpi) = 470952
+SHA256 (xpi/firefox-i18n-56.0/pt-PT.xpi) = afd9bb70a2f3567c3ee16e3f2291c1757f2645891210ba027188710ef1bcde30
+SIZE (xpi/firefox-i18n-56.0/pt-PT.xpi) = 472802
+SHA256 (xpi/firefox-i18n-56.0/rm.xpi) = abd278a93cb03bfe79347f6d4ffd37b1248f910c6faec53cd33d159c4806be11
+SIZE (xpi/firefox-i18n-56.0/rm.xpi) = 467017
+SHA256 (xpi/firefox-i18n-56.0/ro.xpi) = 3f1893a6fb817b53af75cfc0af48c83f4c265f267e60e9e5ea0d26a729eb54d7
+SIZE (xpi/firefox-i18n-56.0/ro.xpi) = 470784
+SHA256 (xpi/firefox-i18n-56.0/ru.xpi) = 96258cc88b1587330e1cc72046cd0cb067bc0bbe3f55fd4fc06b6f3659feb493
+SIZE (xpi/firefox-i18n-56.0/ru.xpi) = 541436
+SHA256 (xpi/firefox-i18n-56.0/si.xpi) = 226c7cf365572c9ceb6f54b345bc575913b6c8456d6026d927a4077a90864c36
+SIZE (xpi/firefox-i18n-56.0/si.xpi) = 515920
+SHA256 (xpi/firefox-i18n-56.0/sk.xpi) = 231ce8d9d071bb9798f0b4678a69213f1e6fe528205ddac9a1edb907871d97a3
+SIZE (xpi/firefox-i18n-56.0/sk.xpi) = 495562
+SHA256 (xpi/firefox-i18n-56.0/sl.xpi) = 6eed457874c8709c72a36034b335dac000aa3ee9b6e6bc2523dd85ead47ba5fa
+SIZE (xpi/firefox-i18n-56.0/sl.xpi) = 473805
+SHA256 (xpi/firefox-i18n-56.0/son.xpi) = a8431ff1336941ed17b84f1124f14bac4f5697a0e129f4155c2535e82e2b703c
+SIZE (xpi/firefox-i18n-56.0/son.xpi) = 464322
+SHA256 (xpi/firefox-i18n-56.0/sq.xpi) = 95163819b78538153713dfd0c20a3a53c73c658498f3406afa1462b3ccf874fa
+SIZE (xpi/firefox-i18n-56.0/sq.xpi) = 479511
+SHA256 (xpi/firefox-i18n-56.0/sr.xpi) = b8f55b2ded9f6be98ca18521435875a68dd3b49b9bd5a23d0c0c04588a0ce4fa
+SIZE (xpi/firefox-i18n-56.0/sr.xpi) = 504485
+SHA256 (xpi/firefox-i18n-56.0/sv-SE.xpi) = 38a83647c52aeea3bfdcb4e3d7e0413e97bac892cf820391349a65126c1cc3ef
+SIZE (xpi/firefox-i18n-56.0/sv-SE.xpi) = 473946
+SHA256 (xpi/firefox-i18n-56.0/ta.xpi) = 8ef4c84fd34279b71608161c761f57dd308802d614d1b7bb12aef630d3c7dd03
+SIZE (xpi/firefox-i18n-56.0/ta.xpi) = 530643
+SHA256 (xpi/firefox-i18n-56.0/te.xpi) = cabd063c306339300479f671a24987f871d66842f21664b9823f6e7dfa6638fc
+SIZE (xpi/firefox-i18n-56.0/te.xpi) = 549584
+SHA256 (xpi/firefox-i18n-56.0/th.xpi) = b013e2295535e4d45fe969565d6d984c3887685e51865c8e2fd0676108974712
+SIZE (xpi/firefox-i18n-56.0/th.xpi) = 520296
+SHA256 (xpi/firefox-i18n-56.0/tr.xpi) = e47a48132a51f1616c8a3991a8b5e9dbb2801b94a93e33d4d78f533ddf710aaa
+SIZE (xpi/firefox-i18n-56.0/tr.xpi) = 480549
+SHA256 (xpi/firefox-i18n-56.0/uk.xpi) = a3c5450a4dcd55de8942c118b69e5c52c5930ecf0c6d0bd0f35805e71cd920f1
+SIZE (xpi/firefox-i18n-56.0/uk.xpi) = 535435
+SHA256 (xpi/firefox-i18n-56.0/ur.xpi) = 0e27c60be0a06f30b57a14b209293f17f98212536d496048a99eefd298aa1a9b
+SIZE (xpi/firefox-i18n-56.0/ur.xpi) = 527347
+SHA256 (xpi/firefox-i18n-56.0/uz.xpi) = 8fb7b22d001da8cd442d0a269c4aed11c96a4a5bfa9443cc67569340ea9d2e97
+SIZE (xpi/firefox-i18n-56.0/uz.xpi) = 475100
+SHA256 (xpi/firefox-i18n-56.0/vi.xpi) = e3dbe47980fda1a504f7c4bda02be3a66680684bf599b4511de68693b749ac06
+SIZE (xpi/firefox-i18n-56.0/vi.xpi) = 487148
+SHA256 (xpi/firefox-i18n-56.0/xh.xpi) = bac603f5117493d0abb645efa8a63adabafb970f1847e013a46e703e32c6691b
+SIZE (xpi/firefox-i18n-56.0/xh.xpi) = 477837
+SHA256 (xpi/firefox-i18n-56.0/zh-CN.xpi) = 91e2e7ca6b338bed8df0fdea0d4d773f5d7ca3f2749f0aa0617f622b4df8cff1
+SIZE (xpi/firefox-i18n-56.0/zh-CN.xpi) = 498978
+SHA256 (xpi/firefox-i18n-56.0/zh-TW.xpi) = 92f2d02297eb2cc688fabe0d5e3e62e70648292d0895fb564a27b906762435c6
+SIZE (xpi/firefox-i18n-56.0/zh-TW.xpi) = 497763
diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index a52cfd1d6927..1588abed9380 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -2,30 +2,31 @@
# $FreeBSD$
PORTNAME= firefox
-DISTVERSION= 55.0.3
+DISTVERSION= 56.0
DISTVERSIONSUFFIX=.source
-PORTREVISION= 3
PORTEPOCH= 1
CATEGORIES= www ipv6
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
- MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build2/source
+ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build6/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 currently builds 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..ee44bb96b2c8 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 = 1506460173
+SHA256 (firefox-56.0.source.tar.xz) = 0d8b7e91429f622c25509b7e73530807506ef3ff9f749d962251a35ed2bfed7e
+SIZE (firefox-56.0.source.tar.xz) = 255389204
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-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-bug1401093 b/www/firefox/files/patch-bug1401093
new file mode 100644
index 000000000000..a573d678dd11
--- /dev/null
+++ b/www/firefox/files/patch-bug1401093
@@ -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-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();
diff --git a/www/firefox/pkg-message b/www/firefox/pkg-message
index 7ff1f03ed8c8..ac314d3c0fcf 100644
--- a/www/firefox/pkg-message
+++ b/www/firefox/pkg-message
@@ -8,6 +8,7 @@ Some features available on other platforms are not implemented:
- Performance profiling (requires GeckoProfiler)
- Gamepad API (requires libusbhid backend)
- WebVR (requires open source runtime)
+- U2F Security Keys (requires libusbhid backend)
======================================================================