View | Details | Raw Unified | Return to bug 221335 | Differences between
and this patch

Collapse All | Expand All

(-)b/Mk/Uses/gecko.mk (-2 / +2 lines)
Lines 37-48 RUN_DEPENDS+= libxul>=45:www/libxul Link Here
37
.elif ${gecko_ARGS:Mfirefox}
37
.elif ${gecko_ARGS:Mfirefox}
38
38
39
_GECKO_DEFAULT_VERSION=	52
39
_GECKO_DEFAULT_VERSION=	52
40
_GECKO_VERSIONS=		52 55
40
_GECKO_VERSIONS=		52 56
41
_GECKO_TYPE=	firefox
41
_GECKO_TYPE=	firefox
42
42
43
# Dependence lines for different Firefox versions
43
# Dependence lines for different Firefox versions
44
52_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:www/firefox-esr
44
52_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:www/firefox-esr
45
55_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:www/firefox
45
56_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:www/firefox
46
46
47
.if exists(${LOCALBASE}/bin/firefox)
47
.if exists(${LOCALBASE}/bin/firefox)
48
_GECKO_INSTALLED_VER!=	${LOCALBASE}/bin/firefox --version 2>/dev/null
48
_GECKO_INSTALLED_VER!=	${LOCALBASE}/bin/firefox --version 2>/dev/null
(-)b/Mk/bsd.gecko.mk (-3 / +8 lines)
Lines 388-400 post-patch-SNDIO-on: Link Here
388
		${MOZSRC}/media/webrtc/signaling/test/common.build
388
		${MOZSRC}/media/webrtc/signaling/test/common.build
389
.endif
389
.endif
390
390
391
.if ${PORT_OPTIONS:MRUST}
391
.if ${PORT_OPTIONS:MRUST} || ${MOZILLA_VER:R:R} >= 54
392
BUILD_DEPENDS+=	rust>=1.15.1:${RUST_PORT}
392
BUILD_DEPENDS+=	rust>=1.17.0:${RUST_PORT}
393
. if ${MOZILLA_VER:R:R} >= 51
393
. if ${MOZILLA_VER:R:R} >= 51
394
BUILD_DEPENDS+=	cargo>=0.16.0:devel/cargo
394
BUILD_DEPENDS+=	cargo>=0.18.0:devel/cargo
395
. endif
395
. endif
396
RUST_PORT?=		lang/rust
396
RUST_PORT?=		lang/rust
397
. if ${MOZILLA_VER:R:R} < 54
397
MOZ_OPTIONS+=	--enable-rust
398
MOZ_OPTIONS+=	--enable-rust
399
. endif
398
.else
400
.else
399
MOZ_OPTIONS+=	--disable-rust
401
MOZ_OPTIONS+=	--disable-rust
400
.endif
402
.endif
Lines 404-409 MOZ_OPTIONS+= --enable-debug --disable-release Link Here
404
STRIP=	# ports/184285
406
STRIP=	# ports/184285
405
.else
407
.else
406
MOZ_OPTIONS+=	--disable-debug --disable-debug-symbols --enable-release
408
MOZ_OPTIONS+=	--disable-debug --disable-debug-symbols --enable-release
409
. if ${MOZILLA_VER:R:R} >= 56
410
MOZ_OPTIONS+=	--enable-rust-simd
411
. endif
407
.endif
412
.endif
408
413
409
.if ${PORT_OPTIONS:MDTRACE}
414
.if ${PORT_OPTIONS:MDTRACE}
(-)b/www/firefox-i18n/Makefile (-3 / +3 lines)
Lines 2-11 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	firefox-i18n
4
PORTNAME=	firefox-i18n
5
PORTVERSION=	55.0.3
5
PORTVERSION=	56.0b12
6
CATEGORIES=	www
6
CATEGORIES=	www
7
MASTER_SITES=	MOZILLA/${PORTNAME:S|-i18n||}/releases/${DISTVERSION}/linux-i686/xpi \
7
MASTER_SITES=	MOZILLA/${PORTNAME:S|-i18n||}/releases/${DISTVERSION}/linux-i686/xpi \
8
		MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build2/linux-i686/xpi
8
		MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build1/linux-i686/xpi
9
PKGNAMEPREFIX=
9
PKGNAMEPREFIX=
10
DISTFILES=	${FIREFOX_I18N_:S/$/.xpi/}
10
DISTFILES=	${FIREFOX_I18N_:S/$/.xpi/}
11
DIST_SUBDIR=	xpi/${DISTNAME}
11
DIST_SUBDIR=	xpi/${DISTNAME}
Lines 15-21 COMMENT= Localized interface for Firefox Link Here
15
15
16
EXTRACT_DEPENDS=	zip:archivers/zip
16
EXTRACT_DEPENDS=	zip:archivers/zip
17
17
18
USES=		zip:infozip gecko:firefox,55,build
18
USES=		zip:infozip gecko:firefox,56,build
19
USE_XPI=	firefox
19
USE_XPI=	firefox
20
20
21
NO_ARCH=	yes
21
NO_ARCH=	yes
(-)b/www/firefox-i18n/distinfo (-191 / +191 lines)
Lines 1-191 Link Here
1
TIMESTAMP = 1503590171
1
TIMESTAMP = 1505364819
2
SHA256 (xpi/firefox-i18n-55.0.3/ach.xpi) = 57e804fe2d2ecfce6f57406985d74d05b1bb6a4b0dccd3fcee8c3d9d36ce753d
2
SHA256 (xpi/firefox-i18n-56.0b12/ach.xpi) = bf06f3d7d424c767d2eb5b40e17abf8b30d24e0dea722f1d413bf66b5a285773
3
SIZE (xpi/firefox-i18n-55.0.3/ach.xpi) = 447504
3
SIZE (xpi/firefox-i18n-56.0b12/ach.xpi) = 454894
4
SHA256 (xpi/firefox-i18n-55.0.3/af.xpi) = 4f676b98ab4198a36ed1ac3cb9f357e6b59110d1d86f756adcb675a86ab2069d
4
SHA256 (xpi/firefox-i18n-56.0b12/af.xpi) = 52f421bc0a2ceb149a11788e5fa87052716a11be1d82e5d41aa0868613ecdaba
5
SIZE (xpi/firefox-i18n-55.0.3/af.xpi) = 448924
5
SIZE (xpi/firefox-i18n-56.0b12/af.xpi) = 456214
6
SHA256 (xpi/firefox-i18n-55.0.3/an.xpi) = 33ac2d10ce013952bcb50e7f3769641d029dbdfe8c624a3a3bc2c8aa1ba70660
6
SHA256 (xpi/firefox-i18n-56.0b12/an.xpi) = f5fb68a46cc8e7827d3bbe9afef8656f89345c72e22e849ba2dbd3e26f7efd0f
7
SIZE (xpi/firefox-i18n-55.0.3/an.xpi) = 468638
7
SIZE (xpi/firefox-i18n-56.0b12/an.xpi) = 475861
8
SHA256 (xpi/firefox-i18n-55.0.3/ar.xpi) = 0ee1a5d9b6f03a7b65840f1257fcabbe7637951d1051fb830820f11ac34dba04
8
SHA256 (xpi/firefox-i18n-56.0b12/ar.xpi) = df7080f56c924560093f4a19ccb2f2136f074176456e5c331f639a7769d999e3
9
SIZE (xpi/firefox-i18n-55.0.3/ar.xpi) = 492759
9
SIZE (xpi/firefox-i18n-56.0b12/ar.xpi) = 500711
10
SHA256 (xpi/firefox-i18n-55.0.3/as.xpi) = 993d5f49b51453869b5ff75c1ba4f16dd8fd59beb62bffed33cf4fc7024f6129
10
SHA256 (xpi/firefox-i18n-56.0b12/as.xpi) = 5fe04f4cc9590edbc3e1fb79e8f02149b16a78f4ae503874e3f81d291e222b2b
11
SIZE (xpi/firefox-i18n-55.0.3/as.xpi) = 501507
11
SIZE (xpi/firefox-i18n-56.0b12/as.xpi) = 508237
12
SHA256 (xpi/firefox-i18n-55.0.3/ast.xpi) = e969a3716c0659b3c313f73f29ce3ffbab296ef81734ff9f4410982dc4830c8a
12
SHA256 (xpi/firefox-i18n-56.0b12/ast.xpi) = 306ad76a8c5be97f28e4f1f2d3a0b3c7ee334fac4203a8d9f9b01e96ce9b50af
13
SIZE (xpi/firefox-i18n-55.0.3/ast.xpi) = 460841
13
SIZE (xpi/firefox-i18n-56.0b12/ast.xpi) = 469156
14
SHA256 (xpi/firefox-i18n-55.0.3/az.xpi) = 2708ec4d49a06b727e4a06d920b3cc4e68fcff0c10bf269ccba8a60f82312ff0
14
SHA256 (xpi/firefox-i18n-56.0b12/az.xpi) = 2503c91dc38644aa1014a9728ccb3139c6ca541eb6a0f1055d6130c40d35346b
15
SIZE (xpi/firefox-i18n-55.0.3/az.xpi) = 475368
15
SIZE (xpi/firefox-i18n-56.0b12/az.xpi) = 484982
16
SHA256 (xpi/firefox-i18n-55.0.3/be.xpi) = ca95866a02a0ccacd2c00a8ff69540fd2e6967a35b25f215aca6e372f11569d0
16
SHA256 (xpi/firefox-i18n-56.0b12/be.xpi) = 75e5536ed86d4a90ba00ce41fa51f7124422c24365f760ce0b48f83e3843a890
17
SIZE (xpi/firefox-i18n-55.0.3/be.xpi) = 522575
17
SIZE (xpi/firefox-i18n-56.0b12/be.xpi) = 531383
18
SHA256 (xpi/firefox-i18n-55.0.3/bg.xpi) = 846cbd821bbea4e6a83ff7d391d4e286508925bd7c0089c42026fd13332dcf01
18
SHA256 (xpi/firefox-i18n-56.0b12/bg.xpi) = d8c2a2880242ffbf3edc86db84f56fc3e0107f269a8a0a27bc7f47ab51014e5b
19
SIZE (xpi/firefox-i18n-55.0.3/bg.xpi) = 520012
19
SIZE (xpi/firefox-i18n-56.0b12/bg.xpi) = 528786
20
SHA256 (xpi/firefox-i18n-55.0.3/bn-BD.xpi) = fb61c9008ba7b82230f925af5e37db806b1af20b772a5091558421e43bd6a572
20
SHA256 (xpi/firefox-i18n-56.0b12/bn-BD.xpi) = 26c1d5444b09d9e816b78d3ce0e22deb940a5aea9c7043b7471a2157fd359866
21
SIZE (xpi/firefox-i18n-55.0.3/bn-BD.xpi) = 535107
21
SIZE (xpi/firefox-i18n-56.0b12/bn-BD.xpi) = 542770
22
SHA256 (xpi/firefox-i18n-55.0.3/bn-IN.xpi) = 11cb288dbcf601403ca2dde29a6ac394b12cb4841016788cc5efdd7db1d524f3
22
SHA256 (xpi/firefox-i18n-56.0b12/bn-IN.xpi) = c7446a13e8ac61a57556038adafb4f2357789d3a5df1914d16a9da82ad2a9164
23
SIZE (xpi/firefox-i18n-55.0.3/bn-IN.xpi) = 526354
23
SIZE (xpi/firefox-i18n-56.0b12/bn-IN.xpi) = 534449
24
SHA256 (xpi/firefox-i18n-55.0.3/br.xpi) = 008ee7d4781834f7520f0b3459089ca1d97eb6518c670144279562094862dcd9
24
SHA256 (xpi/firefox-i18n-56.0b12/br.xpi) = 753ca5fc7d1ff4ac3ea852bf9f59d7fd1b648be9b519635f651831d2142df766
25
SIZE (xpi/firefox-i18n-55.0.3/br.xpi) = 457060
25
SIZE (xpi/firefox-i18n-56.0b12/br.xpi) = 464254
26
SHA256 (xpi/firefox-i18n-55.0.3/bs.xpi) = dd243f01e59854112f48b8a3683d840173aee994ba532496ee2a06b10fada878
26
SHA256 (xpi/firefox-i18n-56.0b12/bs.xpi) = 004eca930ebd7c680a13fd971ec25a3742496f66dc8c216b2ef2402942f281e6
27
SIZE (xpi/firefox-i18n-55.0.3/bs.xpi) = 465026
27
SIZE (xpi/firefox-i18n-56.0b12/bs.xpi) = 472253
28
SHA256 (xpi/firefox-i18n-55.0.3/ca.xpi) = 25c6e4bdb355f6d116be23d241a62ffe7853a971e461c56a1ab586433743bffe
28
SHA256 (xpi/firefox-i18n-56.0b12/ca.xpi) = 6ecc0326d6c0f5eedc33956236c0b0dfa365576aa78d8c830f2c864069888873
29
SIZE (xpi/firefox-i18n-55.0.3/ca.xpi) = 473018
29
SIZE (xpi/firefox-i18n-56.0b12/ca.xpi) = 480363
30
SHA256 (xpi/firefox-i18n-55.0.3/cak.xpi) = 5df85a9d3fb158eece6118ff9d6493928b4a846f6c0e5c8178dea6b5f878b8d3
30
SHA256 (xpi/firefox-i18n-56.0b12/cak.xpi) = 04ac1e86d7ba5f21ade3f99a308d3e3bc22c1f1ec03b6f71824ea7cf1726fbb5
31
SIZE (xpi/firefox-i18n-55.0.3/cak.xpi) = 481774
31
SIZE (xpi/firefox-i18n-56.0b12/cak.xpi) = 489505
32
SHA256 (xpi/firefox-i18n-55.0.3/cs.xpi) = e5ba4844b9ced4c6a6cfd75853b6000fe2eabb9b33fffa73cc19e9562475d95c
32
SHA256 (xpi/firefox-i18n-56.0b12/cs.xpi) = 71a1d7200412b19e4c86571c36577400d613d8546786b44551c065e532f87120
33
SIZE (xpi/firefox-i18n-55.0.3/cs.xpi) = 476809
33
SIZE (xpi/firefox-i18n-56.0b12/cs.xpi) = 485090
34
SHA256 (xpi/firefox-i18n-55.0.3/cy.xpi) = 7a80d417cde600be304f1d7b59840ea62706509183515b5191d703ce59a668a0
34
SHA256 (xpi/firefox-i18n-56.0b12/cy.xpi) = 36eda029998d9b9f511e37680b63b2761836e5c01b478330cd53e7beaee8f390
35
SIZE (xpi/firefox-i18n-55.0.3/cy.xpi) = 458725
35
SIZE (xpi/firefox-i18n-56.0b12/cy.xpi) = 466288
36
SHA256 (xpi/firefox-i18n-55.0.3/da.xpi) = 38bf51be7d418b67a69366f20aa1fe9b0c22fcf769757a0aefbcd60ac59240b9
36
SHA256 (xpi/firefox-i18n-56.0b12/da.xpi) = d99a55909d23b6106b39bca28b5f21a439b8aed121658d0de32866f464455c78
37
SIZE (xpi/firefox-i18n-55.0.3/da.xpi) = 452604
37
SIZE (xpi/firefox-i18n-56.0b12/da.xpi) = 460091
38
SHA256 (xpi/firefox-i18n-55.0.3/de.xpi) = 1b815ec21a24870acb7a84171ef7b64cff8d718c666c70b986ea8594da3dd95a
38
SHA256 (xpi/firefox-i18n-56.0b12/de.xpi) = 86206bf84747595ee7631ee749cdfb8d5380e927f6b6f1711a2c2209224cd5e7
39
SIZE (xpi/firefox-i18n-55.0.3/de.xpi) = 465990
39
SIZE (xpi/firefox-i18n-56.0b12/de.xpi) = 473854
40
SHA256 (xpi/firefox-i18n-55.0.3/dsb.xpi) = 33f12a4322495be14a67a28c5b9518d9757dbf39a733e229cf3b9f28b64a6ddf
40
SHA256 (xpi/firefox-i18n-56.0b12/dsb.xpi) = 4b8906fcf1f6c7c5ad40f0f589339364f9bca7fbcc1a70ee49dee0210a83cf8d
41
SIZE (xpi/firefox-i18n-55.0.3/dsb.xpi) = 482081
41
SIZE (xpi/firefox-i18n-56.0b12/dsb.xpi) = 489895
42
SHA256 (xpi/firefox-i18n-55.0.3/el.xpi) = a6d1aefe768a046f9ba79b8b287d4e4656004556de9f2306af44b901c169ff9f
42
SHA256 (xpi/firefox-i18n-56.0b12/el.xpi) = c4538e299d39c976d5e0e64804d6bd827927bcdd95d704c4a85c37b1af559ff5
43
SIZE (xpi/firefox-i18n-55.0.3/el.xpi) = 539777
43
SIZE (xpi/firefox-i18n-56.0b12/el.xpi) = 554120
44
SHA256 (xpi/firefox-i18n-55.0.3/en-GB.xpi) = 07474847b08f035f977013a0c7a5e42e07636901251207ba3d21300985d0eff9
44
SHA256 (xpi/firefox-i18n-56.0b12/en-GB.xpi) = cfb5aab47ab4aa7e8a914fb47333d6bfef7fc1eadb153a4aef4ec49b588683b1
45
SIZE (xpi/firefox-i18n-55.0.3/en-GB.xpi) = 439269
45
SIZE (xpi/firefox-i18n-56.0b12/en-GB.xpi) = 447372
46
SHA256 (xpi/firefox-i18n-55.0.3/en-US.xpi) = f57cda45b8c6e177bbc705fb5db21878d5297c57281c8fba810c6cbb6b095ae8
46
SHA256 (xpi/firefox-i18n-56.0b12/en-US.xpi) = 0e01e320c38e7707a1db73a070401c2c7807fda106bde89b7f2d93826497e395
47
SIZE (xpi/firefox-i18n-55.0.3/en-US.xpi) = 439814
47
SIZE (xpi/firefox-i18n-56.0b12/en-US.xpi) = 446950
48
SHA256 (xpi/firefox-i18n-55.0.3/en-ZA.xpi) = bf5e3fac34d5ccc83af7c5b60e6d2077c27ded688d3e37efcfbf6386459a3f39
48
SHA256 (xpi/firefox-i18n-56.0b12/en-ZA.xpi) = 5ba0971011b48eafbd50a8601a829ae31633b602f2dcdaa98eb3ae548457c4d2
49
SIZE (xpi/firefox-i18n-55.0.3/en-ZA.xpi) = 438621
49
SIZE (xpi/firefox-i18n-56.0b12/en-ZA.xpi) = 445915
50
SHA256 (xpi/firefox-i18n-55.0.3/eo.xpi) = 4dffe19fb6787d5b2795066618532bb4951695ac10dbca20c17ccedadff2334b
50
SHA256 (xpi/firefox-i18n-56.0b12/eo.xpi) = d789af5ba40de490918df9573e455327ca3529389cf67b29da19190b42a6ef10
51
SIZE (xpi/firefox-i18n-55.0.3/eo.xpi) = 461140
51
SIZE (xpi/firefox-i18n-56.0b12/eo.xpi) = 468949
52
SHA256 (xpi/firefox-i18n-55.0.3/es-AR.xpi) = 1b4b1ca27e4265a7868858a9f9822384908b87f567808b7253cc49be7616c036
52
SHA256 (xpi/firefox-i18n-56.0b12/es-AR.xpi) = 36100458667c1060e644774e6e5efbd3ba9a984652dadde90178206b39b8d4fd
53
SIZE (xpi/firefox-i18n-55.0.3/es-AR.xpi) = 467619
53
SIZE (xpi/firefox-i18n-56.0b12/es-AR.xpi) = 475446
54
SHA256 (xpi/firefox-i18n-55.0.3/es-CL.xpi) = 6dcd97412618233b7d82d4f8b614da267010e2d5af3a736209bd0179c1f5ea35
54
SHA256 (xpi/firefox-i18n-56.0b12/es-CL.xpi) = f942722226eb636cabd44701103bcdee25e8add6d569fa3e3904461b611f2ee5
55
SIZE (xpi/firefox-i18n-55.0.3/es-CL.xpi) = 471599
55
SIZE (xpi/firefox-i18n-56.0b12/es-CL.xpi) = 479920
56
SHA256 (xpi/firefox-i18n-55.0.3/es-ES.xpi) = 8f29eab7fcea76fb16fddbc6bc1505373b414f07e1678f231c8dd77fcd7c2dbb
56
SHA256 (xpi/firefox-i18n-56.0b12/es-ES.xpi) = 71fff00650a9774e793b26244287fb36d4d1bd68c5b37912f4feedc7f2cf7915
57
SIZE (xpi/firefox-i18n-55.0.3/es-ES.xpi) = 359824
57
SIZE (xpi/firefox-i18n-56.0b12/es-ES.xpi) = 365628
58
SHA256 (xpi/firefox-i18n-55.0.3/es-MX.xpi) = c5cc49fb974401edcfd58b114d0d4f7d2a528522f89d50d393677fab7d586fac
58
SHA256 (xpi/firefox-i18n-56.0b12/es-MX.xpi) = deb9eb67ef12cfa7e9634b8391a4a4dcbfbfbcfeda24a72e8fdba5c9ef0acb43
59
SIZE (xpi/firefox-i18n-55.0.3/es-MX.xpi) = 474245
59
SIZE (xpi/firefox-i18n-56.0b12/es-MX.xpi) = 482563
60
SHA256 (xpi/firefox-i18n-55.0.3/et.xpi) = 155bdfe2c508b68c4a23a362158cd84d3be3080f3396b1fa060aed117bad89b7
60
SHA256 (xpi/firefox-i18n-56.0b12/et.xpi) = f4ee1167fd534548183ef0a67edfea30c42d899004a040d282203e8cb7d5e5aa
61
SIZE (xpi/firefox-i18n-55.0.3/et.xpi) = 454471
61
SIZE (xpi/firefox-i18n-56.0b12/et.xpi) = 462102
62
SHA256 (xpi/firefox-i18n-55.0.3/eu.xpi) = c32de1d149e2f33cdee8a58e226d00cff29a78d783e6360e7715a006e74aeeec
62
SHA256 (xpi/firefox-i18n-56.0b12/eu.xpi) = fe838e59eb540485766199a6aa6b19e8f91d7c6656ef8d92d4023607ccf7bdb4
63
SIZE (xpi/firefox-i18n-55.0.3/eu.xpi) = 460419
63
SIZE (xpi/firefox-i18n-56.0b12/eu.xpi) = 467882
64
SHA256 (xpi/firefox-i18n-55.0.3/fa.xpi) = ae990f77aea02c797fb14e2e10f736109888735cee39e39b1bfcec9c9add5c46
64
SHA256 (xpi/firefox-i18n-56.0b12/fa.xpi) = 39755b67a0543e013cb3b4eb12378eaeba58d0ae5b152edb5fb0c2af1c0f18bc
65
SIZE (xpi/firefox-i18n-55.0.3/fa.xpi) = 511561
65
SIZE (xpi/firefox-i18n-56.0b12/fa.xpi) = 522906
66
SHA256 (xpi/firefox-i18n-55.0.3/ff.xpi) = 14f8217883d80c32c08f38284f42e5978c3d6cf077dcc6065e8d2d954c3640d5
66
SHA256 (xpi/firefox-i18n-56.0b12/ff.xpi) = e9e42522cb1a3987c84955336f93c194368be6801cf708cc501cc038087ac0ef
67
SIZE (xpi/firefox-i18n-55.0.3/ff.xpi) = 455294
67
SIZE (xpi/firefox-i18n-56.0b12/ff.xpi) = 463097
68
SHA256 (xpi/firefox-i18n-55.0.3/fi.xpi) = d00ebd2bc119a6f78c29701cfaa9434d51a14d62e0c3be7e271c143fc87bf1ce
68
SHA256 (xpi/firefox-i18n-56.0b12/fi.xpi) = 2c917f074fa7c708649b969c1d7e07e6f782c25f13e3d3173d3f6e7a8750f17b
69
SIZE (xpi/firefox-i18n-55.0.3/fi.xpi) = 453945
69
SIZE (xpi/firefox-i18n-56.0b12/fi.xpi) = 461923
70
SHA256 (xpi/firefox-i18n-55.0.3/fr.xpi) = a2ea34fa62fb6b83f77843d7284ad96491af8700aaa4f2df5cba6a5058ddc47c
70
SHA256 (xpi/firefox-i18n-56.0b12/fr.xpi) = 3355a4b3c32d8418cd9ee2ecee22edd3193f4094365c6db052768947d9fc2d33
71
SIZE (xpi/firefox-i18n-55.0.3/fr.xpi) = 476667
71
SIZE (xpi/firefox-i18n-56.0b12/fr.xpi) = 484561
72
SHA256 (xpi/firefox-i18n-55.0.3/fy-NL.xpi) = 0fe4964412a415c03c09ef320e299a9a361a41c84f317dee795e36b7f5612115
72
SHA256 (xpi/firefox-i18n-56.0b12/fy-NL.xpi) = ec33dbfe6d593b928c2692d6b11705497ac2fc704fcceea48077cefcc94c5699
73
SIZE (xpi/firefox-i18n-55.0.3/fy-NL.xpi) = 469971
73
SIZE (xpi/firefox-i18n-56.0b12/fy-NL.xpi) = 478038
74
SHA256 (xpi/firefox-i18n-55.0.3/ga-IE.xpi) = 7e2e87dd6d25934dfc66d804531320ca71b53933245c361c8dd6404688b8ef39
74
SHA256 (xpi/firefox-i18n-56.0b12/ga-IE.xpi) = 9ea948cdff24aef26486acb8655b36c9a5756c4cef26d001524cb7ba4089e0a3
75
SIZE (xpi/firefox-i18n-55.0.3/ga-IE.xpi) = 481440
75
SIZE (xpi/firefox-i18n-56.0b12/ga-IE.xpi) = 489377
76
SHA256 (xpi/firefox-i18n-55.0.3/gd.xpi) = 6c45c76ff5a0ae373f6ec8c0d81859f345cc31ad55471e702704c434797cca07
76
SHA256 (xpi/firefox-i18n-56.0b12/gd.xpi) = 4e3f4689759423784df30e3aa3ccd9dc5550fded4a2aa0ab0637d2dfd7367dc0
77
SIZE (xpi/firefox-i18n-55.0.3/gd.xpi) = 469055
77
SIZE (xpi/firefox-i18n-56.0b12/gd.xpi) = 476925
78
SHA256 (xpi/firefox-i18n-55.0.3/gl.xpi) = b1b699a2f9134d951d704c1b42f6677004c2cede354881b9b96438323ccbcb33
78
SHA256 (xpi/firefox-i18n-56.0b12/gl.xpi) = 30f2c0b42121582e8a59c4da0f6a198ab284b2791716d50a934e95d8bfeec555
79
SIZE (xpi/firefox-i18n-55.0.3/gl.xpi) = 459111
79
SIZE (xpi/firefox-i18n-56.0b12/gl.xpi) = 466467
80
SHA256 (xpi/firefox-i18n-55.0.3/gn.xpi) = af4389f4028790c393fd9623b13b8ea9587d25918c2b1635743d18de09f6269f
80
SHA256 (xpi/firefox-i18n-56.0b12/gn.xpi) = b8123e83fe31089d444b61d4127f0c570505e544f190fcaa9f89793a7111c79e
81
SIZE (xpi/firefox-i18n-55.0.3/gn.xpi) = 476201
81
SIZE (xpi/firefox-i18n-56.0b12/gn.xpi) = 485788
82
SHA256 (xpi/firefox-i18n-55.0.3/gu-IN.xpi) = 547e37eca8d5a45fce201c550a4aca379b9bb006d7ff83b71971afedb641a3f4
82
SHA256 (xpi/firefox-i18n-56.0b12/gu-IN.xpi) = 074c6e675db12ea9e4283730f2be98ca1782d48edbfd3f248dc491425d688609
83
SIZE (xpi/firefox-i18n-55.0.3/gu-IN.xpi) = 498986
83
SIZE (xpi/firefox-i18n-56.0b12/gu-IN.xpi) = 513734
84
SHA256 (xpi/firefox-i18n-55.0.3/he.xpi) = 451c0b7cb95accda6f8bca275f4d4a19c39be7160cce08975c6d751d11405255
84
SHA256 (xpi/firefox-i18n-56.0b12/he.xpi) = ae037f7d4d3ba8cf7d4b9807e25f323d55dd1990e83288d4b1d7fe2c4b346a36
85
SIZE (xpi/firefox-i18n-55.0.3/he.xpi) = 479882
85
SIZE (xpi/firefox-i18n-56.0b12/he.xpi) = 488494
86
SHA256 (xpi/firefox-i18n-55.0.3/hi-IN.xpi) = 77fd9e88268d1bb3f42b99af29e87c666e7a1ebaa26fafaad3afa55aab6ea1ce
86
SHA256 (xpi/firefox-i18n-56.0b12/hi-IN.xpi) = d2c5010ecfcca00d242911eca8d685c6d949dc9cd87c1e0a12e8d0d77089ff0d
87
SIZE (xpi/firefox-i18n-55.0.3/hi-IN.xpi) = 530571
87
SIZE (xpi/firefox-i18n-56.0b12/hi-IN.xpi) = 538302
88
SHA256 (xpi/firefox-i18n-55.0.3/hr.xpi) = d36986ce628ebeddc28a56713f1444ec8aa99ffa297d4bc1b3478a92c3e6a8f0
88
SHA256 (xpi/firefox-i18n-56.0b12/hr.xpi) = 17f669e1993a8bb39ababa01048bfe76e55248f783d8ca1edb3a44f411d3a36e
89
SIZE (xpi/firefox-i18n-55.0.3/hr.xpi) = 467992
89
SIZE (xpi/firefox-i18n-56.0b12/hr.xpi) = 475057
90
SHA256 (xpi/firefox-i18n-55.0.3/hsb.xpi) = 0200e7ad91f8ae46cbd63e1b865f8fc8a58353aa189001b58a38da079bf9f02a
90
SHA256 (xpi/firefox-i18n-56.0b12/hsb.xpi) = c5b176b7b10c880e0d1f3c3cd40d8447a449df2710dae25984c183f14352b3bb
91
SIZE (xpi/firefox-i18n-55.0.3/hsb.xpi) = 479798
91
SIZE (xpi/firefox-i18n-56.0b12/hsb.xpi) = 487594
92
SHA256 (xpi/firefox-i18n-55.0.3/hu.xpi) = c60d25907f159b1a59475682a55a8afa9f899e93a739c5f721b46c3bd7f63012
92
SHA256 (xpi/firefox-i18n-56.0b12/hu.xpi) = 5f3b4fd888a7970d9d5cb631ee2c01a1dfb78f88db37249746d63e41a812f222
93
SIZE (xpi/firefox-i18n-55.0.3/hu.xpi) = 481645
93
SIZE (xpi/firefox-i18n-56.0b12/hu.xpi) = 490102
94
SHA256 (xpi/firefox-i18n-55.0.3/hy-AM.xpi) = 2564f7fa81cc2d0e2fa87e7199e62afd3174b9f0339001d730da1a6255a8782a
94
SHA256 (xpi/firefox-i18n-56.0b12/hy-AM.xpi) = 58c8a2f69bf40ae3577faa0f616d10843b68c538199bf80d6f039ab020627ad7
95
SIZE (xpi/firefox-i18n-55.0.3/hy-AM.xpi) = 520878
95
SIZE (xpi/firefox-i18n-56.0b12/hy-AM.xpi) = 527709
96
SHA256 (xpi/firefox-i18n-55.0.3/id.xpi) = 13ee8d82e28f13d6e29555dd261dd1bacf1db930889eecb594bbb0ee214a9d9f
96
SHA256 (xpi/firefox-i18n-56.0b12/id.xpi) = e24ac16c8e36d026f9652c7b42e41f68808e44e892de60acf915de328559496c
97
SIZE (xpi/firefox-i18n-55.0.3/id.xpi) = 450290
97
SIZE (xpi/firefox-i18n-56.0b12/id.xpi) = 459066
98
SHA256 (xpi/firefox-i18n-55.0.3/is.xpi) = 77fa1716d95bef9ff32e5e554df1a6f74638ebe3e679a8239a5209a7ad6c3551
98
SHA256 (xpi/firefox-i18n-56.0b12/is.xpi) = 1355ba3e55fc2d413306b3856fa3bd2588a2e75720ed60ebdf6f08e4aba784ce
99
SIZE (xpi/firefox-i18n-55.0.3/is.xpi) = 464372
99
SIZE (xpi/firefox-i18n-56.0b12/is.xpi) = 467443
100
SHA256 (xpi/firefox-i18n-55.0.3/it.xpi) = 0bdd8bf97c9c3880d1f002d647450487cf21fc003067469f2b9eda8301bd9f13
100
SHA256 (xpi/firefox-i18n-56.0b12/it.xpi) = f6570051a28328d2a06fce1c3cee5a7819d5a3d9863d1f35e2a5b5200c846028
101
SIZE (xpi/firefox-i18n-55.0.3/it.xpi) = 352941
101
SIZE (xpi/firefox-i18n-56.0b12/it.xpi) = 358694
102
SHA256 (xpi/firefox-i18n-55.0.3/ja.xpi) = c907bbf1efde7e601ec2ff6fb528896c8b2c3b70783dfa309e7d8aa54c45e655
102
SHA256 (xpi/firefox-i18n-56.0b12/ja.xpi) = e3720b1e6de41f355f7b91114a89ac37fb8e94abac62a453f19c3a3e7edb8624
103
SIZE (xpi/firefox-i18n-55.0.3/ja.xpi) = 519764
103
SIZE (xpi/firefox-i18n-56.0b12/ja.xpi) = 527957
104
SHA256 (xpi/firefox-i18n-55.0.3/ka.xpi) = ab9bec8018935ba426f04a96e23b93e0f0d633f26f84a34c6553b883c6dd3c17
104
SHA256 (xpi/firefox-i18n-56.0b12/ka.xpi) = 7085b96c48f0dcf087cf1a3e623da86894a7c9b993f1b1f01f95ac0c38dac329
105
SIZE (xpi/firefox-i18n-55.0.3/ka.xpi) = 493535
105
SIZE (xpi/firefox-i18n-56.0b12/ka.xpi) = 509096
106
SHA256 (xpi/firefox-i18n-55.0.3/kab.xpi) = 5e13da854fb8fdcfef8f760c9bb1cbfb7571856b933c181d41d09f36a7449dfb
106
SHA256 (xpi/firefox-i18n-56.0b12/kab.xpi) = aefb6fecdc983adefec5b546ab762815f00f063f4ee559124248eb9271949c64
107
SIZE (xpi/firefox-i18n-55.0.3/kab.xpi) = 470044
107
SIZE (xpi/firefox-i18n-56.0b12/kab.xpi) = 477418
108
SHA256 (xpi/firefox-i18n-55.0.3/kk.xpi) = 5edae7dba33d4369d529f3f965851798e31fd701c792c575de42602cf91eaee0
108
SHA256 (xpi/firefox-i18n-56.0b12/kk.xpi) = b2cd2b95bb40bc7ffed3e09040a2dd16ea8254991b1b6fb1d2d1e9e15774313a
109
SIZE (xpi/firefox-i18n-55.0.3/kk.xpi) = 526707
109
SIZE (xpi/firefox-i18n-56.0b12/kk.xpi) = 534931
110
SHA256 (xpi/firefox-i18n-55.0.3/km.xpi) = 8c741376968bc5145cf808c715c5dc92f7cf2a7134d3c1eaa9bc66e96d1b3ff0
110
SHA256 (xpi/firefox-i18n-56.0b12/km.xpi) = 548a4c248d5eddfd8c7d998d118338a1db107b36d2226172acf0aefd8e674391
111
SIZE (xpi/firefox-i18n-55.0.3/km.xpi) = 540646
111
SIZE (xpi/firefox-i18n-56.0b12/km.xpi) = 549344
112
SHA256 (xpi/firefox-i18n-55.0.3/kn.xpi) = d387a3a29d621d2e1163cd6d1728861f6344c370950124cfce754f4ff5fe37d8
112
SHA256 (xpi/firefox-i18n-56.0b12/kn.xpi) = 0be304c526ccc73bfd27cd52d96a78336a02057dad7b80699fd71820357bf5ac
113
SIZE (xpi/firefox-i18n-55.0.3/kn.xpi) = 538859
113
SIZE (xpi/firefox-i18n-56.0b12/kn.xpi) = 545516
114
SHA256 (xpi/firefox-i18n-55.0.3/ko.xpi) = 524eca8be7b4ec0c04dfc09376d18479a9ddf677b006155b3b8c889f1d1c7425
114
SHA256 (xpi/firefox-i18n-56.0b12/ko.xpi) = a7fb2400685e1c42b80ae1be1c8edea8ed2152b1382f6cc77e6531a961c27071
115
SIZE (xpi/firefox-i18n-55.0.3/ko.xpi) = 494547
115
SIZE (xpi/firefox-i18n-56.0b12/ko.xpi) = 502894
116
SHA256 (xpi/firefox-i18n-55.0.3/lij.xpi) = 79cfb9142d836ffda39039205e72f52eba8d09a61d6d77382267320a3dc4d984
116
SHA256 (xpi/firefox-i18n-56.0b12/lij.xpi) = 39b48e4f34a1a0c0d97e74c2fc2a3449c5642d3644597f7100f7cb43035f6f57
117
SIZE (xpi/firefox-i18n-55.0.3/lij.xpi) = 458698
117
SIZE (xpi/firefox-i18n-56.0b12/lij.xpi) = 467274
118
SHA256 (xpi/firefox-i18n-55.0.3/lt.xpi) = b8c979f9259ce409ff26af1beddd004fa90420021f5d98f2c069beb362f92160
118
SHA256 (xpi/firefox-i18n-56.0b12/lt.xpi) = 30f2f4c55de0d25aeaca95446976d3951ff8fee16bddf298e794aee8ba6aa1fd
119
SIZE (xpi/firefox-i18n-55.0.3/lt.xpi) = 481082
119
SIZE (xpi/firefox-i18n-56.0b12/lt.xpi) = 488751
120
SHA256 (xpi/firefox-i18n-55.0.3/lv.xpi) = d58361769c078859d65aba27d79a93fc839871a14f026d73e607facf49373a84
120
SHA256 (xpi/firefox-i18n-56.0b12/lv.xpi) = d656809c0c074ed5078658fcf8d05adba765cf522ae539349e52332ae575f261
121
SIZE (xpi/firefox-i18n-55.0.3/lv.xpi) = 473736
121
SIZE (xpi/firefox-i18n-56.0b12/lv.xpi) = 481627
122
SHA256 (xpi/firefox-i18n-55.0.3/mai.xpi) = a3ab546aad483b92e5d2757d46654d89b2593097624052a1638cc8f0c2caee41
122
SHA256 (xpi/firefox-i18n-56.0b12/mai.xpi) = 6631cb32f38aed61ec910faa67a0dcd510e0f3b253fa6e53050c17084a9ea85c
123
SIZE (xpi/firefox-i18n-55.0.3/mai.xpi) = 517894
123
SIZE (xpi/firefox-i18n-56.0b12/mai.xpi) = 524701
124
SHA256 (xpi/firefox-i18n-55.0.3/mk.xpi) = aba046611289624c02c1d3c81fe8a4ea50a96088ece2bd7fb2be40df882ac795
124
SHA256 (xpi/firefox-i18n-56.0b12/mk.xpi) = dd9da62cf407d5c5ae17790c246d5cea78016bf4eb4f03c01459eaab55343524
125
SIZE (xpi/firefox-i18n-55.0.3/mk.xpi) = 500207
125
SIZE (xpi/firefox-i18n-56.0b12/mk.xpi) = 507817
126
SHA256 (xpi/firefox-i18n-55.0.3/ml.xpi) = b40dd990aa6b36924279bb9af0a0e4ce5c8497b275244794b200e5815ac42b48
126
SHA256 (xpi/firefox-i18n-56.0b12/ml.xpi) = fa8ec4caecc0f8a1975992e10ef95f0d36b8d0be406ee0e68b8dab5e2e6f036f
127
SIZE (xpi/firefox-i18n-55.0.3/ml.xpi) = 540982
127
SIZE (xpi/firefox-i18n-56.0b12/ml.xpi) = 547545
128
SHA256 (xpi/firefox-i18n-55.0.3/mr.xpi) = bebcf5b465fc9e33955cdf4343c479f7b998819667ba3a23e298d38f833d2ead
128
SHA256 (xpi/firefox-i18n-56.0b12/mr.xpi) = 8795f145bbf6ba2e91e16dde87e66649be2c6a11570f4b39a2667e2c5270d6bb
129
SIZE (xpi/firefox-i18n-55.0.3/mr.xpi) = 528249
129
SIZE (xpi/firefox-i18n-56.0b12/mr.xpi) = 536671
130
SHA256 (xpi/firefox-i18n-55.0.3/ms.xpi) = 06d40cc6207dfd452fb12a3429b0bdf85c4fc196d51e66e6197ede9e9e5c9a82
130
SHA256 (xpi/firefox-i18n-56.0b12/ms.xpi) = 8317416bcd40c8ea10bad089672207549c20ed4c7e04d84d418f8f141373d4e7
131
SIZE (xpi/firefox-i18n-55.0.3/ms.xpi) = 459191
131
SIZE (xpi/firefox-i18n-56.0b12/ms.xpi) = 466107
132
SHA256 (xpi/firefox-i18n-55.0.3/my.xpi) = 48e005f6558c13ad0f3f73afc81489c0cb384b00589bf2b3cd03569e6bd2a82c
132
SHA256 (xpi/firefox-i18n-56.0b12/my.xpi) = 7dd9782eba3fc06cf09768851adf58666c6e47fce3c8bdd66545737ccea40c24
133
SIZE (xpi/firefox-i18n-55.0.3/my.xpi) = 528097
133
SIZE (xpi/firefox-i18n-56.0b12/my.xpi) = 536722
134
SHA256 (xpi/firefox-i18n-55.0.3/nb-NO.xpi) = 00e8ac31e0597ef4a1928b05b4d199563fcb249b3368d9bb63b8539174eafd5c
134
SHA256 (xpi/firefox-i18n-56.0b12/nb-NO.xpi) = 29c2e8ba0045134635f4239df77e5dbc18bcea398bccddbbaacbf4a6c1964ac1
135
SIZE (xpi/firefox-i18n-55.0.3/nb-NO.xpi) = 457645
135
SIZE (xpi/firefox-i18n-56.0b12/nb-NO.xpi) = 465575
136
SHA256 (xpi/firefox-i18n-55.0.3/nl.xpi) = 358bd38888586ae4498b41ea6bd7417939cc828cce78be80ffef3a32741458bf
136
SHA256 (xpi/firefox-i18n-56.0b12/nl.xpi) = 88465f6a7b3d40a0bf1fac7834c2511d64c1e5562369dac8390c3f0de7c2de30
137
SIZE (xpi/firefox-i18n-55.0.3/nl.xpi) = 461510
137
SIZE (xpi/firefox-i18n-56.0b12/nl.xpi) = 469053
138
SHA256 (xpi/firefox-i18n-55.0.3/nn-NO.xpi) = 11dbe5bce47e3829a7b5d43c12178fc2ff750495f6aa0209c69fc7b6b96f6b8e
138
SHA256 (xpi/firefox-i18n-56.0b12/nn-NO.xpi) = 4f39bc4b8367cc1f72aa1447e7541178c5cea7d5e0523bc8d69231f674661733
139
SIZE (xpi/firefox-i18n-55.0.3/nn-NO.xpi) = 458457
139
SIZE (xpi/firefox-i18n-56.0b12/nn-NO.xpi) = 466207
140
SHA256 (xpi/firefox-i18n-55.0.3/or.xpi) = 64d1c4205a8e249bbb8604efac83b73251fadfc23daee75f40a51d9e2a9ca6a1
140
SHA256 (xpi/firefox-i18n-56.0b12/or.xpi) = e5efcbb5202f1a92906244f536293386f614169988c5182689e9dee1095bc328
141
SIZE (xpi/firefox-i18n-55.0.3/or.xpi) = 511354
141
SIZE (xpi/firefox-i18n-56.0b12/or.xpi) = 518165
142
SHA256 (xpi/firefox-i18n-55.0.3/pa-IN.xpi) = c2fa26e5fe2400c6890aea2722ab010265cd7541653092d190e45a6805d9ec13
142
SHA256 (xpi/firefox-i18n-56.0b12/pa-IN.xpi) = 994150434a792665b9fad5d6b46dec84842378c13bf377aa207d050662a6927e
143
SIZE (xpi/firefox-i18n-55.0.3/pa-IN.xpi) = 498453
143
SIZE (xpi/firefox-i18n-56.0b12/pa-IN.xpi) = 509045
144
SHA256 (xpi/firefox-i18n-55.0.3/pl.xpi) = c4973aa40a75f371d0c85a1e1d9c6fc5184eac38313ed50ea9c7189590a3d416
144
SHA256 (xpi/firefox-i18n-56.0b12/pl.xpi) = 96dd0ac3ad448e389f23560f4e28be1033c950fac4446b9b7c8d54eb7d00f022
145
SIZE (xpi/firefox-i18n-55.0.3/pl.xpi) = 372429
145
SIZE (xpi/firefox-i18n-56.0b12/pl.xpi) = 377523
146
SHA256 (xpi/firefox-i18n-55.0.3/pt-BR.xpi) = 3555d0e761bbe2ba1035f62960344836b9ad1b2cb55edc07b215d826385c8d5b
146
SHA256 (xpi/firefox-i18n-56.0b12/pt-BR.xpi) = 16d1424022694533d47029f8f734d2a079209c27d8153369c28f6a621a8ae1cc
147
SIZE (xpi/firefox-i18n-55.0.3/pt-BR.xpi) = 462717
147
SIZE (xpi/firefox-i18n-56.0b12/pt-BR.xpi) = 470952
148
SHA256 (xpi/firefox-i18n-55.0.3/pt-PT.xpi) = be15f048d135f364a7605527b9569ae81cc819cf38c7ed933298b3d4c58b5eef
148
SHA256 (xpi/firefox-i18n-56.0b12/pt-PT.xpi) = b25e493ff3421a67382a740b43cb6e6768bb8ce683f0f9749b8684327dae398a
149
SIZE (xpi/firefox-i18n-55.0.3/pt-PT.xpi) = 465239
149
SIZE (xpi/firefox-i18n-56.0b12/pt-PT.xpi) = 472801
150
SHA256 (xpi/firefox-i18n-55.0.3/rm.xpi) = 588239d7468d46d5eae7ac832eb48ba3630fd9da4cc1d4fd35a2f32c28f62f10
150
SHA256 (xpi/firefox-i18n-56.0b12/rm.xpi) = f173456c2656fc50c50caa8b449dd3736875311c67ec90c7ff2b32491b21856b
151
SIZE (xpi/firefox-i18n-55.0.3/rm.xpi) = 458265
151
SIZE (xpi/firefox-i18n-56.0b12/rm.xpi) = 467017
152
SHA256 (xpi/firefox-i18n-55.0.3/ro.xpi) = 70b05f40b253b9fb63081db12e8675873fe45eda3a1a180e77e15ae215a62216
152
SHA256 (xpi/firefox-i18n-56.0b12/ro.xpi) = 6f84ba5894d6a4b907247a9b0ef72c879e9fcc5068e22480d8c5ca4b34f095ce
153
SIZE (xpi/firefox-i18n-55.0.3/ro.xpi) = 462973
153
SIZE (xpi/firefox-i18n-56.0b12/ro.xpi) = 470784
154
SHA256 (xpi/firefox-i18n-55.0.3/ru.xpi) = 0c0d0296dd9d62ba86203b1b21476ff064f9d74d512bb6ffefe6f74ddf549352
154
SHA256 (xpi/firefox-i18n-56.0b12/ru.xpi) = 554bb4bd294229d55225b11a996e82e8979857a2ce28989b7e749fa277aace9b
155
SIZE (xpi/firefox-i18n-55.0.3/ru.xpi) = 530901
155
SIZE (xpi/firefox-i18n-56.0b12/ru.xpi) = 541436
156
SHA256 (xpi/firefox-i18n-55.0.3/si.xpi) = f1f196f5523254940d10938c5c974a3d4128ec777fc1e8fb1399e24014b21fef
156
SHA256 (xpi/firefox-i18n-56.0b12/si.xpi) = c4121152c5a48c2e64a525752a0b1fd90e964af5a1c08aff3270d2f478e15a3e
157
SIZE (xpi/firefox-i18n-55.0.3/si.xpi) = 508353
157
SIZE (xpi/firefox-i18n-56.0b12/si.xpi) = 515919
158
SHA256 (xpi/firefox-i18n-55.0.3/sk.xpi) = dcdc24e7411113728f6485465493cb5ee4c82981823c83edebe3e43257d8bf1a
158
SHA256 (xpi/firefox-i18n-56.0b12/sk.xpi) = 98b9f3a038faae2e1f4ff6fd73e11e2ca0c0e381dedeceae518bef140f7c5e41
159
SIZE (xpi/firefox-i18n-55.0.3/sk.xpi) = 487582
159
SIZE (xpi/firefox-i18n-56.0b12/sk.xpi) = 495563
160
SHA256 (xpi/firefox-i18n-55.0.3/sl.xpi) = a1e7c731478f11da9f6f9f3c6b4f18787a04bd62c1636cdaa60c765b907cbc46
160
SHA256 (xpi/firefox-i18n-56.0b12/sl.xpi) = 48acc639af46e81eec23f0e7e5309ade71d63c3c78bfe3efc37f38b0fbcabc41
161
SIZE (xpi/firefox-i18n-55.0.3/sl.xpi) = 465760
161
SIZE (xpi/firefox-i18n-56.0b12/sl.xpi) = 473805
162
SHA256 (xpi/firefox-i18n-55.0.3/son.xpi) = 61cc16ef2218aee4e58b4bd8bba3dea83bd362c5fccbe368d04b325bf875cf9e
162
SHA256 (xpi/firefox-i18n-56.0b12/son.xpi) = 2369e4a584b989bf39693fed9f61f9a8cb7e07a581bc8dac47360b9499513a7f
163
SIZE (xpi/firefox-i18n-55.0.3/son.xpi) = 456958
163
SIZE (xpi/firefox-i18n-56.0b12/son.xpi) = 464321
164
SHA256 (xpi/firefox-i18n-55.0.3/sq.xpi) = 61ee5ee3e418d4a5098e94c22f646555f8b69f3cd1042b7e50fe0b9d28336c31
164
SHA256 (xpi/firefox-i18n-56.0b12/sq.xpi) = cc07ab647bfb324fa40ca4e8ce35fc4365cb18ef08c0aea2488ef0bf05819901
165
SIZE (xpi/firefox-i18n-55.0.3/sq.xpi) = 470630
165
SIZE (xpi/firefox-i18n-56.0b12/sq.xpi) = 479512
166
SHA256 (xpi/firefox-i18n-55.0.3/sr.xpi) = f2d1fc0ca15e814210306ce2b1777c91c64444f79ea1431e4663eb5476c713b1
166
SHA256 (xpi/firefox-i18n-56.0b12/sr.xpi) = 48cda9ed84360cff191ee0d9d4d98a8941ca3743495fa20698735f536c76da9f
167
SIZE (xpi/firefox-i18n-55.0.3/sr.xpi) = 494878
167
SIZE (xpi/firefox-i18n-56.0b12/sr.xpi) = 504486
168
SHA256 (xpi/firefox-i18n-55.0.3/sv-SE.xpi) = 9a68ef76d1ba8b94238f7d724eb57ba9c94984e8b440f6068811cb8eb9853000
168
SHA256 (xpi/firefox-i18n-56.0b12/sv-SE.xpi) = 6727779d3bbfc81b0afccaa9eec6d3a9c2f49874c62abd15c827febf03f50cec
169
SIZE (xpi/firefox-i18n-55.0.3/sv-SE.xpi) = 466011
169
SIZE (xpi/firefox-i18n-56.0b12/sv-SE.xpi) = 473945
170
SHA256 (xpi/firefox-i18n-55.0.3/ta.xpi) = 8d5f997e93cca5083d7d7196cd8f1524097ae6c6471bd373717c87dd1a5d4f2e
170
SHA256 (xpi/firefox-i18n-56.0b12/ta.xpi) = f6ff43680372d1d1ece78049b00282ce90d98ddff77e8c702f58f603d8896e42
171
SIZE (xpi/firefox-i18n-55.0.3/ta.xpi) = 519998
171
SIZE (xpi/firefox-i18n-56.0b12/ta.xpi) = 530643
172
SHA256 (xpi/firefox-i18n-55.0.3/te.xpi) = 77e8558ae06366ee01252b37c756b42a77a013b85ccad1baa0ce69f0d7fa1831
172
SHA256 (xpi/firefox-i18n-56.0b12/te.xpi) = 71f1d9939d60a86bae26a58ae6a96a48978990ee721058f53eafb6154d79c683
173
SIZE (xpi/firefox-i18n-55.0.3/te.xpi) = 542539
173
SIZE (xpi/firefox-i18n-56.0b12/te.xpi) = 549583
174
SHA256 (xpi/firefox-i18n-55.0.3/th.xpi) = 5c35f335847368570b196fc470de14bfa10a9a63c0b27facedbf7e9ab3aef436
174
SHA256 (xpi/firefox-i18n-56.0b12/th.xpi) = 5dd713ff1901e62887294e5c5d06f7f0200ef8f10844ee8355d9c4440a2b0f87
175
SIZE (xpi/firefox-i18n-55.0.3/th.xpi) = 511903
175
SIZE (xpi/firefox-i18n-56.0b12/th.xpi) = 520295
176
SHA256 (xpi/firefox-i18n-55.0.3/tr.xpi) = a2790b948e050421d209b5802bb388664b75ae2d5c69175e0c84ab01b2b2a0c4
176
SHA256 (xpi/firefox-i18n-56.0b12/tr.xpi) = 60adaa12dc36cebd35da64a442eee091f005c0f948cd5eeb88473ff77f3aa8b3
177
SIZE (xpi/firefox-i18n-55.0.3/tr.xpi) = 472160
177
SIZE (xpi/firefox-i18n-56.0b12/tr.xpi) = 480549
178
SHA256 (xpi/firefox-i18n-55.0.3/uk.xpi) = 379ed1579d3f4cf9d149eb3906491505898f846f0e9476bd7562a07981baecf6
178
SHA256 (xpi/firefox-i18n-56.0b12/uk.xpi) = f522e89320c0273aaa3bfd177abb74da22a107684e4b604cb60c84372c88599b
179
SIZE (xpi/firefox-i18n-55.0.3/uk.xpi) = 526436
179
SIZE (xpi/firefox-i18n-56.0b12/uk.xpi) = 535436
180
SHA256 (xpi/firefox-i18n-55.0.3/ur.xpi) = 8924709d63a5476f31e2a67031bd3020ff73884f6879aeace68b6ab41abb4076
180
SHA256 (xpi/firefox-i18n-56.0b12/ur.xpi) = 71602c86ba4a3b20deb567d86d78e2c57b98a407e33d0c91c199dc6f283143a5
181
SIZE (xpi/firefox-i18n-55.0.3/ur.xpi) = 520753
181
SIZE (xpi/firefox-i18n-56.0b12/ur.xpi) = 527347
182
SHA256 (xpi/firefox-i18n-55.0.3/uz.xpi) = 5cb211b260f5a781e28ab841618423e0662b48742fec2c1a2156cbdc9a7c5676
182
SHA256 (xpi/firefox-i18n-56.0b12/uz.xpi) = 9deddf574a8d164e23536876c8f43d724d0673094962bbd029cc3dfd9a0a3415
183
SIZE (xpi/firefox-i18n-55.0.3/uz.xpi) = 467671
183
SIZE (xpi/firefox-i18n-56.0b12/uz.xpi) = 475099
184
SHA256 (xpi/firefox-i18n-55.0.3/vi.xpi) = 4c546bbf624f6416c6c094965a00db675beb014500b55cf96fba8d1f4c03adbb
184
SHA256 (xpi/firefox-i18n-56.0b12/vi.xpi) = 5096dd3c413bc0d7643c4dd08baea62c60189e5479d0ea8a0693e8fc03262b84
185
SIZE (xpi/firefox-i18n-55.0.3/vi.xpi) = 476527
185
SIZE (xpi/firefox-i18n-56.0b12/vi.xpi) = 487149
186
SHA256 (xpi/firefox-i18n-55.0.3/xh.xpi) = 9c8eed4ed4947dbf6f6518f731e18a00cfe26d031f429222d5ae037814c4034e
186
SHA256 (xpi/firefox-i18n-56.0b12/xh.xpi) = 1a42da85b2edda98806a1d8c76bd7eb421fccafb1a826380ea07330984519240
187
SIZE (xpi/firefox-i18n-55.0.3/xh.xpi) = 470719
187
SIZE (xpi/firefox-i18n-56.0b12/xh.xpi) = 477838
188
SHA256 (xpi/firefox-i18n-55.0.3/zh-CN.xpi) = b5ce9d67f7df55aff43f3bb3bb2d8bf8fa7ea15c1c40f94c1a331e3082cdcd88
188
SHA256 (xpi/firefox-i18n-56.0b12/zh-CN.xpi) = b97c7d6f483671d8d0f9120340dfc4ab0ff2aebc6643915e684dc17dcc0dfc0d
189
SIZE (xpi/firefox-i18n-55.0.3/zh-CN.xpi) = 490383
189
SIZE (xpi/firefox-i18n-56.0b12/zh-CN.xpi) = 498979
190
SHA256 (xpi/firefox-i18n-55.0.3/zh-TW.xpi) = dfb0e10364b058869bcf832b01f586645f2c3c0fc647049f76c3c14561b2000e
190
SHA256 (xpi/firefox-i18n-56.0b12/zh-TW.xpi) = 0bfff738240fe0d34875ec9927820ed003d69157ff85250076a9b8a82e220eab
191
SIZE (xpi/firefox-i18n-55.0.3/zh-TW.xpi) = 489347
191
SIZE (xpi/firefox-i18n-56.0b12/zh-TW.xpi) = 497763
(-)b/www/firefox/Makefile (-14 / +12 lines)
Lines 2-31 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	firefox
4
PORTNAME=	firefox
5
DISTVERSION=	55.0.3
5
DISTVERSION=	56.0b12
6
DISTVERSIONSUFFIX=.source
6
DISTVERSIONSUFFIX=.source
7
PORTREVISION=	1
8
PORTEPOCH=	1
7
PORTEPOCH=	1
9
CATEGORIES=	www ipv6
8
CATEGORIES=	www ipv6
10
MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
9
MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
11
		MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build2/source
10
		MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source
12
11
13
MAINTAINER=	gecko@FreeBSD.org
12
MAINTAINER=	gecko@FreeBSD.org
14
COMMENT=	Web browser based on the browser portion of Mozilla
13
COMMENT=	Web browser based on the browser portion of Mozilla
15
14
16
BUILD_DEPENDS=	nspr>=4.15:devel/nspr \
15
BUILD_DEPENDS=	nspr>=4.16:devel/nspr \
17
		nss>=3.31.1:security/nss \
16
		nss>=3.32.1:security/nss \
18
		libevent>=2.0.22:devel/libevent \
17
		icu>=59.1,1:devel/icu \
19
		harfbuzz>=1.4.6:print/harfbuzz \
18
		libevent>=2.1.8:devel/libevent \
19
		harfbuzz>=1.4.7:print/harfbuzz \
20
		graphite2>=1.3.10:graphics/graphite2 \
20
		graphite2>=1.3.10:graphics/graphite2 \
21
		png>=1.6.28:graphics/png \
21
		png>=1.6.31:graphics/png \
22
		libvorbis>=1.3.5,3:audio/libvorbis \
22
		libvorbis>=1.3.5,3:audio/libvorbis \
23
		libvpx>=1.5.0:multimedia/libvpx \
23
		libvpx>=1.5.0:multimedia/libvpx \
24
		sqlite3>=3.19.2:databases/sqlite3 \
24
		sqlite3>=3.19.3:databases/sqlite3 \
25
		${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \
25
		${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \
26
		v4l_compat>0:multimedia/v4l_compat \
26
		v4l_compat>0:multimedia/v4l_compat \
27
		autoconf-2.13:devel/autoconf213 \
27
		autoconf-2.13:devel/autoconf213 \
28
		yasm:devel/yasm \
28
		yasm:devel/yasm \
29
		llvm40>0:devel/llvm40 \
29
		zip:archivers/zip
30
		zip:archivers/zip
30
#		soundtouch>=1.9.0:audio/soundtouch \
31
#		soundtouch>=1.9.0:audio/soundtouch \
31
32
Lines 42-57 USES= tar:xz Link Here
42
43
43
FIREFOX_ICON=		${MOZILLA}.png
44
FIREFOX_ICON=		${MOZILLA}.png
44
FIREFOX_ICON_SRC=	${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png
45
FIREFOX_ICON_SRC=	${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png
46
MOZ_EXPORT=	BINDGEN_CFLAGS="-isystem${LOCALBASE}/include/nspr \
47
			-isystem${LOCALBASE}/include/pixman-1" # XXX bug 1341234
45
MOZ_OPTIONS=	--enable-application=browser \
48
MOZ_OPTIONS=	--enable-application=browser \
46
		--enable-official-branding
49
		--enable-official-branding
47
50
48
OPTIONS_DEFINE=		RUST
49
OPTIONS_DEFAULT=	BUNDLED_CAIRO
51
OPTIONS_DEFAULT=	BUNDLED_CAIRO
50
OPTIONS_EXCLUDE=	GNOMEUI
52
OPTIONS_EXCLUDE=	GNOMEUI
51
# XXX lang/rust and devel/cargo currently build only on these platforms
52
OPTIONS_DEFAULT_aarch64=RUST
53
OPTIONS_DEFAULT_amd64=	RUST
54
OPTIONS_DEFAULT_i386=	RUST
55
53
56
.include "${.CURDIR}/../../www/firefox/Makefile.options"
54
.include "${.CURDIR}/../../www/firefox/Makefile.options"
57
55
(-)b/www/firefox/distinfo (-3 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1503590171
1
TIMESTAMP = 1505364819
2
SHA256 (firefox-55.0.3.source.tar.xz) = 891836df85f8798c49f7b25661820f64d1311d59703c716eda471819b93ccda2
2
SHA256 (firefox-56.0b12.source.tar.xz) = 997ef749e03bb2abb602fe79297fff9458007d3e91cdbb756563e124f6f86a76
3
SIZE (firefox-55.0.3.source.tar.xz) = 236010652
3
SIZE (firefox-56.0b12.source.tar.xz) = 255397032
(-)b/www/firefox/files/patch-bug1144632 (-22 / +4 lines)
Lines 1-8 Link Here
1
Revert bug 1323303 to unbreak build on big-endian architectures.
1
Revert bug 1323303 to unbreak build on big-endian architectures.
2
2
3
--- toolkit/moz.configure.orig	2017-07-31 16:20:54 UTC
3
diff --git toolkit/moz.configure toolkit/moz.configure
4
index 67fcbc39d075..c117fd11a358 100644
5
--- toolkit/moz.configure
4
+++ toolkit/moz.configure
6
+++ toolkit/moz.configure
5
@@ -771,11 +771,11 @@
7
@@ -1032,11 +1032,11 @@ add_old_configure_assignment('NECKO_PROTOCOLS', necko_protocols)
6
 # ==============================================================
8
 # ==============================================================
7
 option('--disable-skia', help='Disable use of Skia')
9
 option('--disable-skia', help='Disable use of Skia')
8
 
10
 
Lines 19-41 Revert bug 1323303 to unbreak build on big-endian architectures. Link Here
19
         return True
21
         return True
20
 
22
 
21
 set_config('MOZ_ENABLE_SKIA', skia)
23
 set_config('MOZ_ENABLE_SKIA', skia)
22
--- gfx/2d/ScaledFontBase.cpp.orig	2017-07-31 16:20:54 UTC
23
+++ gfx/2d/ScaledFontBase.cpp
24
@@ -212,14 +212,16 @@ ScaledFontBase::CopyGlyphsToBuilder(const GlyphBuffer 
25
     cairoPath->AppendPathToBuilder(builder);
26
     return;
27
   }
28
+#endif
29
+#ifdef USE_SKIA
30
   if (backendType == BackendType::RECORDING) {
31
     SkPath skPath = GetSkiaPathForGlyphs(aBuffer);
32
     RefPtr<Path> path = MakeAndAddRef<PathSkia>(skPath, FillRule::FILL_WINDING);
33
     path->StreamToSink(aBuilder);
34
     return;
35
   }
36
-  MOZ_ASSERT(false, "Path not being copied");
37
 #endif
38
+  MOZ_ASSERT(false, "Path not being copied");
39
 }
40
 
41
 void
(-)a/www/firefox/files/patch-bug1312182 (-376 lines)
Removed Link Here
1
commit 0d02dac1638ad
2
Author: Alessio Placitelli <alessio.placitelli@gmail.com>
3
Date:   Tue May 30 10:42:42 2017 +0200
4
5
    Bug 1312182 - Consolidate the uses of MOZ_TELEMETRY_REPORTING in the code. r=flod,gfritzsche,jaws
6
    
7
    The MOZ_TELEMETRY_REPORTING define does not control whether or not Telemetry is enabled
8
    but rather if it will send the gathered data to Mozilla servers. We still want to
9
    display the about:preferences options and let developers know about this behaviour.
10
    Please note that this patch is not changing any behaviour: it's only making it explicit
11
    by showing the options as disabled rather than hiding them.
12
    
13
    MozReview-Commit-ID: 7A0y0E0hm0Q
14
    
15
    --HG--
16
    extra : rebase_source : 36d1a7f5ec5c05b43731daf9507d3068fe7674ee
17
---
18
 browser/base/content/baseMenuOverlay.xul           |  2 +-
19
 browser/components/nsBrowserGlue.js                |  8 +--
20
 .../components/preferences/in-content-new/main.xul |  2 -
21
 .../preferences/in-content-new/privacy.js          | 32 +++++------
22
 .../preferences/in-content-new/privacy.xul         | 14 ++---
23
 .../components/preferences/in-content/advanced.js  | 63 +++++++++++-----------
24
 .../components/preferences/in-content/advanced.xul |  7 ++-
25
 .../chrome/browser/preferences-old/advanced.dtd    |  5 ++
26
 .../en-US/chrome/browser/preferences/advanced.dtd  |  5 ++
27
 9 files changed, 67 insertions(+), 71 deletions(-)
28
29
diff --git browser/base/content/baseMenuOverlay.xul browser/base/content/baseMenuOverlay.xul
30
index 1befa2bb66cc..804bbdebb797 100644
31
--- browser/base/content/baseMenuOverlay.xul
32
+++ browser/base/content/baseMenuOverlay.xul
33
@@ -61,7 +61,7 @@
34
                   onclick="checkForMiddleClick(this, event);"
35
                   label="&helpKeyboardShortcuts.label;"
36
                   accesskey="&helpKeyboardShortcuts.accesskey;"/>
37
-#ifdef MOZ_TELEMETRY_REPORTING
38
+#ifdef MOZ_SERVICES_HEALTHREPORT
39
         <menuitem id="healthReport"
40
                   label="&healthReport2.label;"
41
                   accesskey="&healthReport2.accesskey;"
42
diff --git browser/components/nsBrowserGlue.js browser/components/nsBrowserGlue.js
43
index 554c279356b9..1c21bf4c4323 100644
44
--- browser/components/nsBrowserGlue.js
45
+++ browser/components/nsBrowserGlue.js
46
@@ -528,9 +528,7 @@ BrowserGlue.prototype = {
47
     os.addObserver(this, "distribution-customization-complete");
48
     os.addObserver(this, "handle-xul-text-link");
49
     os.addObserver(this, "profile-before-change");
50
-    if (AppConstants.MOZ_TELEMETRY_REPORTING) {
51
-      os.addObserver(this, "keyword-search");
52
-    }
53
+    os.addObserver(this, "keyword-search");
54
     os.addObserver(this, "browser-search-engine-modified");
55
     os.addObserver(this, "restart-in-safe-mode");
56
     os.addObserver(this, "flash-plugin-hang");
57
@@ -583,9 +581,7 @@ BrowserGlue.prototype = {
58
       os.removeObserver(this, "places-database-locked");
59
     os.removeObserver(this, "handle-xul-text-link");
60
     os.removeObserver(this, "profile-before-change");
61
-    if (AppConstants.MOZ_TELEMETRY_REPORTING) {
62
-      os.removeObserver(this, "keyword-search");
63
-    }
64
+    os.removeObserver(this, "keyword-search");
65
     os.removeObserver(this, "browser-search-engine-modified");
66
     os.removeObserver(this, "flash-plugin-hang");
67
     os.removeObserver(this, "xpi-signature-changed");
68
diff --git browser/components/preferences/in-content-new/main.xul browser/components/preferences/in-content-new/main.xul
69
index e89ee1891c91..8672557bede2 100644
70
--- browser/components/preferences/in-content-new/main.xul
71
+++ browser/components/preferences/in-content-new/main.xul
72
@@ -183,11 +183,9 @@
73
               name="layout.spellcheckDefault"
74
               type="int"/>
75
 
76
-#ifdef MOZ_TELEMETRY_REPORTING
77
   <preference id="toolkit.telemetry.enabled"
78
               name="toolkit.telemetry.enabled"
79
               type="bool"/>
80
-#endif
81
 
82
   <preference id="browser.preferences.defaultPerformanceSettings.enabled"
83
               name="browser.preferences.defaultPerformanceSettings.enabled"
84
diff --git browser/components/preferences/in-content-new/privacy.js browser/components/preferences/in-content-new/privacy.js
85
index be057bfad611..73f72391b991 100644
86
--- browser/components/preferences/in-content-new/privacy.js
87
+++ browser/components/preferences/in-content-new/privacy.js
88
@@ -321,11 +321,9 @@ var gPrivacyPane = {
89
       this.initSubmitCrashes();
90
     }
91
     this.initTelemetry();
92
-    if (AppConstants.MOZ_TELEMETRY_REPORTING) {
93
-      this.initSubmitHealthReport();
94
-      setEventListener("submitHealthReportBox", "command",
95
-                       gPrivacyPane.updateSubmitHealthReport);
96
-    }
97
+    this.initSubmitHealthReport();
98
+    setEventListener("submitHealthReportBox", "command",
99
+                     gPrivacyPane.updateSubmitHealthReport);
100
 
101
     // Append search keywords into the elements could open subdialogs.
102
     let bundlePrefs = document.getElementById("bundlePreferences");
103
@@ -1414,8 +1412,10 @@ var gPrivacyPane = {
104
    * In all cases, set up the Learn More link sanely.
105
    */
106
   initTelemetry() {
107
-    if (AppConstants.MOZ_TELEMETRY_REPORTING) {
108
-      this._setupLearnMoreLink("toolkit.telemetry.infoURL", "telemetryLearnMore");
109
+    this._setupLearnMoreLink("toolkit.telemetry.infoURL", "telemetryLearnMore");
110
+    // If we're not sending any Telemetry, disable the telemetry upload checkbox as well.
111
+    if (!AppConstants.MOZ_TELEMETRY_REPORTING) {
112
+      document.getElementById("submitTelemetryBox").setAttribute("disabled", "true");
113
     }
114
   },
115
 
116
@@ -1439,9 +1439,6 @@ var gPrivacyPane = {
117
    * @param {Boolean} aEnabled False disables the controls, true enables them.
118
    */
119
   setTelemetrySectionEnabled(aEnabled) {
120
-    if (!AppConstants.MOZ_TELEMETRY_REPORTING) {
121
-      return;
122
-    }
123
     // If FHR is disabled, additional data sharing should be disabled as well.
124
     let disabled = !aEnabled;
125
     document.getElementById("submitTelemetryBox").disabled = disabled;
126
@@ -1456,19 +1453,21 @@ var gPrivacyPane = {
127
    * Initialize the health report service reference and checkbox.
128
    */
129
   initSubmitHealthReport() {
130
-    if (!AppConstants.MOZ_TELEMETRY_REPORTING) {
131
-      return;
132
-    }
133
     this._setupLearnMoreLink("datareporting.healthreport.infoURL", "FHRLearnMore");
134
 
135
     let checkbox = document.getElementById("submitHealthReportBox");
136
 
137
-    if (Services.prefs.prefIsLocked(PREF_UPLOAD_ENABLED)) {
138
+    // Telemetry is only sending data if MOZ_TELEMETRY_REPORTING is defined.
139
+    // We still want to display the preferences panel if that's not the case, but
140
+    // we want it to be disabled and unchecked.
141
+    if (Services.prefs.prefIsLocked(PREF_UPLOAD_ENABLED) ||
142
+        !AppConstants.MOZ_TELEMETRY_REPORTING) {
143
       checkbox.setAttribute("disabled", "true");
144
       return;
145
     }
146
 
147
-    checkbox.checked = Services.prefs.getBoolPref(PREF_UPLOAD_ENABLED);
148
+    checkbox.checked = Services.prefs.getBoolPref(PREF_UPLOAD_ENABLED) &&
149
+                       AppConstants.MOZ_TELEMETRY_REPORTING;
150
     this.setTelemetrySectionEnabled(checkbox.checked);
151
   },
152
 
153
@@ -1476,9 +1475,6 @@ var gPrivacyPane = {
154
    * Update the health report preference with state from checkbox.
155
    */
156
   updateSubmitHealthReport() {
157
-    if (!AppConstants.MOZ_TELEMETRY_REPORTING) {
158
-      return;
159
-    }
160
     let checkbox = document.getElementById("submitHealthReportBox");
161
     Services.prefs.setBoolPref(PREF_UPLOAD_ENABLED, checkbox.checked);
162
     this.setTelemetrySectionEnabled(checkbox.checked);
163
diff --git browser/components/preferences/in-content-new/privacy.xul browser/components/preferences/in-content-new/privacy.xul
164
index 9d531bd8274b..8030567573f8 100644
165
--- browser/components/preferences/in-content-new/privacy.xul
166
+++ browser/components/preferences/in-content-new/privacy.xul
167
@@ -760,9 +760,14 @@
168
 </groupbox>
169
 
170
 <!-- Data Choices -->
171
-#ifdef MOZ_TELEMETRY_REPORTING
172
-<groupbox id="historyGroup" data-category="panePrivacy" data-subcategory="reports" hidden="true">
173
+#ifdef MOZ_DATA_REPORTING
174
+
175
+<groupbox id="telemetryGroup" data-category="panePrivacy" data-subcategory="reports" hidden="true">
176
 <caption><label>&reports.label;</label></caption>
177
+#ifndef MOZ_TELEMETRY_REPORTING
178
+  <description id="TelemetryDisabledDesc" control="telemetryGroup">&healthReportingDisabled.label;</description>
179
+#endif
180
+
181
   <hbox align="center">
182
     <checkbox id="submitHealthReportBox" label="&enableHealthReport.label;"
183
               accesskey="&enableHealthReport.accesskey;"/>
184
@@ -782,14 +787,9 @@
185
                  class="indent">&telemetryDesc.label;</description>
186
   </vbox>
187
 </groupbox>
188
-#endif
189
 
190
-#ifdef MOZ_DATA_REPORTING
191
 #ifdef MOZ_CRASHREPORTER
192
 <groupbox id="crashReporterGroup" data-category="panePrivacy" data-subcategory="reports" hidden="true">
193
-#ifndef MOZ_TELEMETRY_REPORTING
194
-<caption><label>&reports.label;</label></caption>
195
-#endif
196
   <hbox align="center">
197
     <checkbox id="automaticallySubmitCrashesBox"
198
               preference="browser.crashReports.unsubmittedCheck.autoSubmit"
199
diff --git browser/components/preferences/in-content/advanced.js browser/components/preferences/in-content/advanced.js
200
index a6a2abaad9cf..9c7a2e716403 100644
201
--- browser/components/preferences/in-content/advanced.js
202
+++ browser/components/preferences/in-content/advanced.js
203
@@ -46,9 +46,7 @@ var gAdvancedPane = {
204
       this.initSubmitCrashes();
205
     }
206
     this.initTelemetry();
207
-    if (AppConstants.MOZ_TELEMETRY_REPORTING) {
208
-      this.initSubmitHealthReport();
209
-    }
210
+    this.initSubmitHealthReport();
211
     this.updateOnScreenKeyboardVisibility();
212
     this.updateCacheSizeInputField();
213
     this.updateActualCacheSize();
214
@@ -78,10 +76,8 @@ var gAdvancedPane = {
215
                      gAdvancedPane.updateHardwareAcceleration);
216
     setEventListener("advancedPrefs", "select",
217
                      gAdvancedPane.tabSelectionChanged);
218
-    if (AppConstants.MOZ_TELEMETRY_REPORTING) {
219
-      setEventListener("submitHealthReportBox", "command",
220
-                       gAdvancedPane.updateSubmitHealthReport);
221
-    }
222
+    setEventListener("submitHealthReportBox", "command",
223
+                     gAdvancedPane.updateSubmitHealthReport);
224
 
225
     setEventListener("connectionSettings", "command",
226
                      gAdvancedPane.showConnections);
227
@@ -293,8 +289,10 @@ var gAdvancedPane = {
228
    * In all cases, set up the Learn More link sanely.
229
    */
230
   initTelemetry() {
231
-    if (AppConstants.MOZ_TELEMETRY_REPORTING) {
232
-      this._setupLearnMoreLink("toolkit.telemetry.infoURL", "telemetryLearnMore");
233
+    this._setupLearnMoreLink("toolkit.telemetry.infoURL", "telemetryLearnMore");
234
+    // If we're not sending any Telemetry, disable the telemetry upload checkbox as well.
235
+    if (!AppConstants.MOZ_TELEMETRY_REPORTING) {
236
+      document.getElementById("submitTelemetryBox").setAttribute("disabled", "true");
237
     }
238
   },
239
 
240
@@ -303,46 +301,45 @@ var gAdvancedPane = {
241
    * @param {Boolean} aEnabled False disables the controls, true enables them.
242
    */
243
   setTelemetrySectionEnabled(aEnabled) {
244
-    if (AppConstants.MOZ_TELEMETRY_REPORTING) {
245
-      // If FHR is disabled, additional data sharing should be disabled as well.
246
-      let disabled = !aEnabled;
247
-      document.getElementById("submitTelemetryBox").disabled = disabled;
248
-      if (disabled) {
249
-        // If we disable FHR, untick the telemetry checkbox.
250
-        Services.prefs.setBoolPref("toolkit.telemetry.enabled", false);
251
-      }
252
-      document.getElementById("telemetryDataDesc").disabled = disabled;
253
+    // If FHR is disabled, additional data sharing should be disabled as well.
254
+    let disabled = !aEnabled;
255
+    document.getElementById("submitTelemetryBox").disabled = disabled;
256
+    if (disabled) {
257
+      // If we disable FHR, untick the telemetry checkbox.
258
+      Services.prefs.setBoolPref("toolkit.telemetry.enabled", false);
259
     }
260
+    document.getElementById("telemetryDataDesc").disabled = disabled;
261
   },
262
 
263
   /**
264
    * Initialize the health report service reference and checkbox.
265
    */
266
   initSubmitHealthReport() {
267
-    if (AppConstants.MOZ_TELEMETRY_REPORTING) {
268
-      this._setupLearnMoreLink("datareporting.healthreport.infoURL", "FHRLearnMore");
269
-
270
-      let checkbox = document.getElementById("submitHealthReportBox");
271
+    this._setupLearnMoreLink("datareporting.healthreport.infoURL", "FHRLearnMore");
272
 
273
-      if (Services.prefs.prefIsLocked(PREF_UPLOAD_ENABLED)) {
274
-        checkbox.setAttribute("disabled", "true");
275
-        return;
276
-      }
277
+    let checkbox = document.getElementById("submitHealthReportBox");
278
 
279
-      checkbox.checked = Services.prefs.getBoolPref(PREF_UPLOAD_ENABLED);
280
-      this.setTelemetrySectionEnabled(checkbox.checked);
281
+    // Telemetry is only sending data if MOZ_TELEMETRY_REPORTING is defined.
282
+    // We still want to display the preferences panel if that's not the case, but
283
+    // we want it to be disabled and unchecked.
284
+    if (Services.prefs.prefIsLocked(PREF_UPLOAD_ENABLED) ||
285
+        !AppConstants.MOZ_TELEMETRY_REPORTING) {
286
+      checkbox.setAttribute("disabled", "true");
287
+      return;
288
     }
289
+
290
+    checkbox.checked = Services.prefs.getBoolPref(PREF_UPLOAD_ENABLED) &&
291
+                       AppConstants.MOZ_TELEMETRY_REPORTING;
292
+    this.setTelemetrySectionEnabled(checkbox.checked);
293
   },
294
 
295
   /**
296
    * Update the health report preference with state from checkbox.
297
    */
298
   updateSubmitHealthReport() {
299
-    if (AppConstants.MOZ_TELEMETRY_REPORTING) {
300
-      let checkbox = document.getElementById("submitHealthReportBox");
301
-      Services.prefs.setBoolPref(PREF_UPLOAD_ENABLED, checkbox.checked);
302
-      this.setTelemetrySectionEnabled(checkbox.checked);
303
-    }
304
+    let checkbox = document.getElementById("submitHealthReportBox");
305
+    Services.prefs.setBoolPref(PREF_UPLOAD_ENABLED, checkbox.checked);
306
+    this.setTelemetrySectionEnabled(checkbox.checked);
307
   },
308
 
309
   updateOnScreenKeyboardVisibility() {
310
diff --git browser/components/preferences/in-content/advanced.xul browser/components/preferences/in-content/advanced.xul
311
index f2330223fb18..1b2c62168a59 100644
312
--- browser/components/preferences/in-content/advanced.xul
313
+++ browser/components/preferences/in-content/advanced.xul
314
@@ -37,12 +37,9 @@
315
   <preference id="layout.spellcheckDefault"
316
               name="layout.spellcheckDefault"
317
               type="int"/>
318
-
319
-#ifdef MOZ_TELEMETRY_REPORTING
320
   <preference id="toolkit.telemetry.enabled"
321
               name="toolkit.telemetry.enabled"
322
               type="bool"/>
323
-#endif
324
 
325
   <!-- Data Choices tab -->
326
 #ifdef MOZ_CRASHREPORTER
327
@@ -189,6 +186,9 @@
328
     <!-- Data Choices -->
329
     <tabpanel id="dataChoicesPanel" orient="vertical">
330
 #ifdef MOZ_TELEMETRY_REPORTING
331
+      <description>&healthReportingDisabled.label;</description>
332
+      <separator class="thin"/>
333
+#endif
334
       <groupbox>
335
         <caption>
336
           <checkbox id="submitHealthReportBox" label="&enableHealthReport.label;"
337
@@ -216,7 +216,6 @@
338
           </hbox>
339
         </vbox>
340
       </groupbox>
341
-#endif
342
 #ifdef MOZ_CRASHREPORTER
343
       <groupbox>
344
         <caption>
345
diff --git browser/locales/en-US/chrome/browser/preferences-old/advanced.dtd browser/locales/en-US/chrome/browser/preferences-old/advanced.dtd
346
index 215b800d3385..bf23c4fd251f 100644
347
--- browser/locales/en-US/chrome/browser/preferences-old/advanced.dtd
348
+++ browser/locales/en-US/chrome/browser/preferences-old/advanced.dtd
349
@@ -28,6 +28,11 @@
350
 
351
 <!ENTITY dataChoicesTab.label            "Data Choices">
352
 
353
+<!-- LOCALIZATION NOTE (healthReportingDisabled.label): This message is displayed above
354
+disabled data sharing options in developer builds or builds with no Telemetry support
355
+available. -->
356
+<!ENTITY healthReportingDisabled.label   "Data reporting is disabled for this build configuration">
357
+
358
 <!ENTITY healthReportDesc.label          "Helps you understand your browser performance and shares data with &vendorShortName; about your browser health">
359
 <!ENTITY enableHealthReport.label        "Enable &brandShortName; Health Report">
360
 <!ENTITY enableHealthReport.accesskey    "R">
361
diff --git browser/locales/en-US/chrome/browser/preferences/advanced.dtd browser/locales/en-US/chrome/browser/preferences/advanced.dtd
362
index 58a6b38630cf..6c478e48244a 100644
363
--- browser/locales/en-US/chrome/browser/preferences/advanced.dtd
364
+++ browser/locales/en-US/chrome/browser/preferences/advanced.dtd
365
@@ -28,6 +28,11 @@
366
 
367
 <!ENTITY dataChoicesTab.label            "Data Choices">
368
 
369
+<!-- LOCALIZATION NOTE (healthReportingDisabled.label): This message is displayed above
370
+disabled data sharing options in developer builds or builds with no Telemetry support
371
+available. -->
372
+<!ENTITY healthReportingDisabled.label   "Data reporting is disabled for this build configuration">
373
+
374
 <!ENTITY healthReportDesc.label          "Helps you understand your browser performance and shares data with &vendorShortName; about your browser health">
375
 <!ENTITY enableHealthReport.label        "Enable &brandShortName; Health Report">
376
 <!ENTITY enableHealthReport.accesskey    "R">
(-)b/www/firefox/files/patch-bug1366050 (+11 lines)
Added Link Here
1
--- toolkit/moz.configure.orig	2017-08-08 06:07:58 UTC
2
+++ toolkit/moz.configure
3
@@ -620,7 +620,7 @@ def stylo_config(value, _, target):
4
 
5
     # If nothing is specified, default to building stylo where possible.
6
     if value.origin == 'default':
7
-        if target.os == 'GNU' and target.bitness == 32:
8
+        if target.os != 'WINNT' and target.bitness == 32:
9
             # The clang setup we use in automation is a little unusual, and
10
             # doesn't play well with bindgen on 32-bit Linux.
11
             pass
(-)a/www/firefox/files/patch-bug1376268 (-61 lines)
Removed Link Here
1
commit ec31e574ed81
2
Author: Petr Sumbera <petr.sumbera@oracle.com>
3
Date:   Mon Jun 26 06:54:12 2017 -0700
4
5
    Bug 1376268 - Fix Spidermonkey build with no jit backend; r=bbouvier
6
    
7
    MozReview-Commit-ID: DgANwcf8oUh
8
    
9
    --HG--
10
    extra : amend_source : 1c3efbe975e93ee996e6b84d3fc073781740156d
11
---
12
 js/src/jit/ExecutableAllocator.h      | 2 +-
13
 js/src/jit/none/MacroAssembler-none.h | 8 ++++----
14
 2 files changed, 5 insertions(+), 5 deletions(-)
15
16
diff --git js/src/jit/ExecutableAllocator.h js/src/jit/ExecutableAllocator.h
17
index 570a25ff0dc3..d106b31ba906 100644
18
--- js/src/jit/ExecutableAllocator.h
19
+++ js/src/jit/ExecutableAllocator.h
20
@@ -219,7 +219,7 @@ class ExecutableAllocator
21
 
22
     static void poisonCode(JSRuntime* rt, JitPoisonRangeVector& ranges);
23
 
24
-#if defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64) || defined(JS_SIMULATOR_ARM64)
25
+#if defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64) || defined(JS_SIMULATOR_ARM64) || defined(JS_CODEGEN_NONE)
26
     static void cacheFlush(void*, size_t)
27
     {
28
     }
29
diff --git js/src/jit/none/MacroAssembler-none.h js/src/jit/none/MacroAssembler-none.h
30
index 9a40ec8a8f64..71ddca8b9f1c 100644
31
--- js/src/jit/none/MacroAssembler-none.h
32
+++ js/src/jit/none/MacroAssembler-none.h
33
@@ -48,7 +48,7 @@ static constexpr Register WasmIonExitRegE1 { Registers::invalid_reg };
34
 
35
 static constexpr Register WasmIonExitRegReturnData { Registers::invalid_reg };
36
 static constexpr Register WasmIonExitRegReturnType { Registers::invalid_reg };
37
-static constexpr Register WasmIonExitTlsReg = { Registers::invalid_reg };
38
+static constexpr Register WasmIonExitTlsReg { Registers::invalid_reg };
39
 static constexpr Register WasmIonExitRegD0 { Registers::invalid_reg };
40
 static constexpr Register WasmIonExitRegD1 { Registers::invalid_reg };
41
 static constexpr Register WasmIonExitRegD2 { Registers::invalid_reg };
42
@@ -153,6 +153,8 @@ class Assembler : public AssemblerShared
43
 
44
     static uintptr_t GetPointer(uint8_t*) { MOZ_CRASH(); }
45
 
46
+    static bool HasRoundInstruction(RoundingMode) { return false; }
47
+
48
     void verifyHeapAccessDisassembly(uint32_t begin, uint32_t end,
49
                                      const Disassembler::HeapAccess& heapAccess)
50
     {
51
@@ -196,9 +198,7 @@ class MacroAssemblerNone : public Assembler
52
     static bool SupportsSimd() { return false; }
53
     static bool SupportsUnalignedAccesses() { return false; }
54
 
55
-    static bool HasRoundInstruction(RoundingMode) { return false; }
56
-
57
-    void executableCopy(void*, bool) { MOZ_CRASH(); }
58
+    void executableCopy(void*, bool = true) { MOZ_CRASH(); }
59
     void copyJumpRelocationTable(uint8_t*) { MOZ_CRASH(); }
60
     void copyDataRelocationTable(uint8_t*) { MOZ_CRASH(); }
61
     void copyPreBarrierTable(uint8_t*) { MOZ_CRASH(); }
(-)a/www/firefox/files/patch-bug1376277 (-22 lines)
Removed Link Here
1
commit ac723ae99f3a
2
Author: Petr Sumbera <petr.sumbera@oracle.com>
3
Date:   Tue Jun 27 01:33:49 2017 -0700
4
5
    Bug 1376277 - nsWrapperCache.h: add support for 64bits sparc build. r=glandium
6
---
7
 dom/base/nsWrapperCache.h | 2 +-
8
 1 file changed, 1 insertion(+), 1 deletion(-)
9
10
diff --git dom/base/nsWrapperCache.h dom/base/nsWrapperCache.h
11
index b00d7aceb5c8..994ed73332ff 100644
12
--- dom/base/nsWrapperCache.h
13
+++ dom/base/nsWrapperCache.h
14
@@ -41,7 +41,7 @@ class nsWindowRoot;
15
 // This may waste space for some other nsWrapperCache-derived objects that have
16
 // a 32-bit field as their first member, but those objects are unlikely to be as
17
 // numerous or performance-critical as DOM nodes.
18
-#if defined(_M_X64) || defined(__x86_64__) || defined(__aarch64__)
19
+#if defined(_M_X64) || defined(__LP64__)
20
 static_assert(sizeof(void*) == 8, "These architectures should be 64-bit");
21
 #define BOOL_FLAGS_ON_WRAPPER_CACHE
22
 #else
(-)a/www/firefox/files/patch-bug1385597 (-24 lines)
Removed Link Here
1
Properly restore system timezone on other POSIX systems. r?ehsan
2
    
3
--- toolkit/components/resistfingerprinting/nsRFPService.cpp
4
+++ toolkit/components/resistfingerprinting/nsRFPService.cpp
5
@@ -162,14 +162,14 @@ nsRFPService::UpdatePref()
6
         PR_SetEnv(tz);
7
       }
8
     } else {
9
-#if defined(XP_LINUX) || defined (XP_MACOSX)
10
-      // For POSIX like system, we reset the TZ to the /etc/localtime, which is the
11
-      // system timezone.
12
-      PR_SetEnv("TZ=:/etc/localtime");
13
-#else
14
+#if defined(XP_WIN)
15
       // For Windows, we reset the TZ to an empty string. This will make Windows to use
16
       // its system timezone.
17
       PR_SetEnv("TZ=");
18
+#else
19
+      // For POSIX like system, we reset the TZ to the /etc/localtime, which is the
20
+      // system timezone.
21
+      PR_SetEnv("TZ=:/etc/localtime");
22
 #endif
23
     }
24
   }
(-)b/www/firefox/files/patch-bug826985 (-8 / +8 lines)
Lines 107-116 index 12df1b3..e9863ba 100644 Link Here
107
 
107
 
108
 #include <new>
108
 #include <new>
109
 
109
 
110
@@ -26,6 +31,15 @@
110
@@ -32,6 +35,15 @@
111
 #include "critical_section_wrapper.h"
111
 #include "webrtc/modules/video_capture/linux/video_capture_linux.h"
112
 #include "video_capture_linux.h"
112
 #include "webrtc/system_wrappers/include/critical_section_wrapper.h"
113
 
113
 #include "webrtc/system_wrappers/include/trace.h"
114
+
114
+#ifdef HAVE_LIBV4L2
115
+#ifdef HAVE_LIBV4L2
115
+#define open	v4l2_open
116
+#define open	v4l2_open
116
+#define close	v4l2_close
117
+#define close	v4l2_close
Lines 119-128 index 12df1b3..e9863ba 100644 Link Here
119
+#define mmap	v4l2_mmap
120
+#define mmap	v4l2_mmap
120
+#define munmap	v4l2_munmap
121
+#define munmap	v4l2_munmap
121
+#endif
122
+#endif
122
+
123
 
123
 namespace webrtc
124
 namespace webrtc {
124
 {
125
 namespace videocapturemodule {
125
 namespace videocapturemodule
126
diff --git media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi
126
diff --git media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi
127
index d46b5aa..e452223 100644
127
index d46b5aa..e452223 100644
128
--- media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi
128
--- media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi
(-)b/www/firefox/files/patch-bug847568 (-1 / +1 lines)
Lines 261-267 index 9297e4d6f501..d8e273887e4b 100644 Link Here
261
+option('--with-system-harfbuzz',
261
+option('--with-system-harfbuzz',
262
+       help="Use system harfbuzz (located with pkgconfig)")
262
+       help="Use system harfbuzz (located with pkgconfig)")
263
+
263
+
264
+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.4.6',
264
+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.4.7',
265
+                                    when='--with-system-harfbuzz')
265
+                                    when='--with-system-harfbuzz')
266
+
266
+
267
+set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True))
267
+set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True))
(-)a/www/firefox/files/patch-rust-option (-816 lines)
Removed Link Here
1
Revert bug 1284816, bug 1341967, bug 1336153 to postpone bustage on non-x86 archs.
2
3
diff --git browser/confvars.sh browser/confvars.sh
4
index d8dcd99c2757..740d9d3e5fcf 100755
5
--- browser/confvars.sh
6
+++ browser/confvars.sh
7
@@ -30,6 +30,7 @@ if test "$OS_ARCH" = "WINNT"; then
8
   fi
9
 fi
10
 
11
+MOZ_RUST_MP4PARSE=1
12
 if test "$NIGHTLY_BUILD"; then
13
   MOZ_RUST_URLPARSE=1
14
 fi
15
diff --git build/moz.configure/rust.configure build/moz.configure/rust.configure
16
index 267d989f1597..f709820e60ae 100644
17
--- build/moz.configure/rust.configure
18
+++ build/moz.configure/rust.configure
19
@@ -4,10 +4,20 @@
20
 # License, v. 2.0. If a copy of the MPL was not distributed with this
21
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
22
 
23
-# Rust is required by `rust_compiler` below. We allow_missing here
24
-# to propagate failures to the better error message there.
25
-rustc = check_prog('RUSTC', ['rustc'], allow_missing=True)
26
-cargo = check_prog('CARGO', ['cargo'], allow_missing=True)
27
+option('--disable-rust', help='Don\'t include Rust language sources')
28
+
29
+@depends('--enable-rust')
30
+def rust_compiler_names(value):
31
+    if value:
32
+        return ['rustc']
33
+
34
+@depends('--enable-rust')
35
+def cargo_binary_names(value):
36
+    if value:
37
+        return ['cargo']
38
+
39
+rustc = check_prog('RUSTC', rust_compiler_names, allow_missing=True)
40
+cargo = check_prog('CARGO', cargo_binary_names, allow_missing=True)
41
 
42
 @depends_if(rustc)
43
 @checking('rustc version', lambda info: info.version)
44
@@ -43,9 +53,12 @@ def cargo_info(cargo):
45
         version=Version(version),
46
     )
47
 
48
-@depends(rustc_info, cargo_info)
49
+@depends('--enable-rust', rustc_info, cargo_info)
50
 @imports(_from='textwrap', _import='dedent')
51
-def rust_compiler(rustc_info, cargo_info):
52
+def rust_compiler(value, rustc_info, cargo_info):
53
+    if not value:
54
+        return None
55
+
56
     if not rustc_info:
57
         die(dedent('''\
58
         Rust compiler not found.
59
@@ -97,6 +110,9 @@ def rust_compiler(rustc_info, cargo_info):
60
 
61
     return True
62
 
63
+set_define('MOZ_RUST', rust_compiler)
64
+set_config('MOZ_RUST', rust_compiler)
65
+
66
 @template
67
 def rust_triple_alias(host_or_target):
68
     """Template defining the alias used for rustc's --target flag.
69
@@ -227,7 +243,8 @@ set_config('RUST_HOST_TARGET', rust_host_triple)
70
 
71
 @depends(rust_target_triple)
72
 def rust_target_env_name(triple):
73
-    return triple.upper().replace('-','_')
74
+    if triple:
75
+        return triple.upper().replace('-','_')
76
 
77
 # We need this to form various Cargo environment variables, as there is no
78
 # uppercase function in make, and we don't want to shell out just for
79
@@ -235,5 +252,6 @@ def rust_target_env_name(triple):
80
 set_config('RUST_TARGET_ENV_NAME', rust_target_env_name)
81
 
82
 # Until we remove all the other Rust checks in old-configure.
83
+add_old_configure_assignment('MOZ_RUST', rust_compiler)
84
 add_old_configure_assignment('RUSTC', rustc)
85
 add_old_configure_assignment('RUST_TARGET', rust_target_triple)
86
diff --git config/rules.mk config/rules.mk
87
index 94cc5556e3d0..7b143ebc5146 100644
88
--- config/rules.mk
89
+++ config/rules.mk
90
@@ -900,6 +900,7 @@ endif
91
 
92
 $(foreach file,$(DUMP_SYMS_TARGETS),$(eval $(call syms_template,$(file),$(file)_syms.track)))
93
 
94
+ifdef MOZ_RUST
95
 cargo_host_flag := --target=$(RUST_HOST_TARGET)
96
 cargo_target_flag := --target=$(RUST_TARGET)
97
 
98
@@ -1055,6 +1056,7 @@ force-cargo-host-program-build:
99
 
100
 $(HOST_RUST_PROGRAMS): force-cargo-host-program-build
101
 endif # HOST_RUST_PROGRAMS
102
+endif # MOZ_RUST
103
 
104
 $(SOBJS):
105
 	$(REPORT_BUILD)
106
diff --git dom/media/MediaPrefs.h dom/media/MediaPrefs.h
107
index 4dcc659222a4..559334d89fd1 100644
108
--- dom/media/MediaPrefs.h
109
+++ dom/media/MediaPrefs.h
110
@@ -183,7 +183,7 @@ private:
111
   DECL_MEDIA_PREF("media.ogg.flac.enabled",                   FlacInOgg, bool, false);
112
   DECL_MEDIA_PREF("media.flac.enabled",                       FlacEnabled, bool, true);
113
 
114
-#if !defined(RELEASE_OR_BETA)
115
+#if defined(MOZ_RUST_MP4PARSE) && !defined(RELEASE_OR_BETA)
116
   DECL_MEDIA_PREF("media.rust.test_mode",                     RustTestMode, bool, false);
117
 #endif
118
 
119
diff --git dom/media/gtest/moz.build dom/media/gtest/moz.build
120
index c66ac4a9437f..e2203c0a4321 100644
121
--- dom/media/gtest/moz.build
122
+++ dom/media/gtest/moz.build
123
@@ -22,7 +22,6 @@ UNIFIED_SOURCES += [
124
     'TestMozPromise.cpp',
125
     'TestMP3Demuxer.cpp',
126
     'TestMP4Demuxer.cpp',
127
-    'TestRust.cpp',
128
     'TestTrackEncoder.cpp',
129
     'TestVideoSegment.cpp',
130
     'TestVideoUtils.cpp',
131
@@ -36,6 +35,9 @@ if CONFIG['MOZ_WEBM_ENCODER']:
132
         'TestWebMWriter.cpp',
133
     ]
134
 
135
+if CONFIG['MOZ_RUST']:
136
+    UNIFIED_SOURCES += ['TestRust.cpp',]
137
+
138
 TEST_HARNESS_FILES.gtest += [
139
     '../test/gizmo-frag.mp4',
140
     '../test/gizmo.mp4',
141
diff --git media/libcubeb/src/moz.build media/libcubeb/src/moz.build
142
index c65b53b80f63..8953f646e831 100644
143
--- media/libcubeb/src/moz.build
144
+++ media/libcubeb/src/moz.build
145
@@ -32,7 +32,8 @@ if CONFIG['MOZ_PULSEAUDIO']:
146
         'cubeb_pulse.c',
147
     ]
148
     DEFINES['USE_PULSE'] = True
149
-    DEFINES['USE_PULSE_RUST'] = True
150
+    if CONFIG['MOZ_RUST']:
151
+        DEFINES['USE_PULSE_RUST'] = True
152
 
153
 if CONFIG['MOZ_JACK']:
154
     SOURCES += [
155
diff --git media/libstagefright/binding/DecoderData.cpp media/libstagefright/binding/DecoderData.cpp
156
index 109ea329d154..a06e533b1e62 100644
157
--- media/libstagefright/binding/DecoderData.cpp
158
+++ media/libstagefright/binding/DecoderData.cpp
159
@@ -13,9 +13,11 @@
160
 #include "mozilla/ArrayUtils.h"
161
 #include "include/ESDS.h"
162
 
163
+#ifdef MOZ_RUST_MP4PARSE
164
 // OpusDecoder header is really needed only by MP4 in rust
165
 #include "OpusDecoder.h"
166
 #include "mp4parse.h"
167
+#endif // MOZ_RUST_MP4PARSE
168
 
169
 using namespace stagefright;
170
 using mozilla::media::TimeUnit;
171
@@ -177,6 +179,7 @@ MP4VideoInfo::Update(const MetaData* aMetaData, const char* aMimeType)
172
   FindData(aMetaData, kKeyAVCC, mExtraData);
173
 }
174
 
175
+#ifdef MOZ_RUST_MP4PARSE
176
 static void
177
 UpdateTrackProtectedInfo(mozilla::TrackInfo& aConfig,
178
                          const mp4parse_sinf_info& aSinf)
179
@@ -263,6 +266,7 @@ MP4VideoInfo::Update(const mp4parse_track_info* track,
180
     mExtraData->AppendElements(video->extra_data.data, video->extra_data.length);
181
   }
182
 }
183
+#endif // MOZ_RUST_MP4PARSE
184
 
185
 bool
186
 MP4VideoInfo::IsValid() const
187
diff --git media/libstagefright/binding/MP4Metadata.cpp media/libstagefright/binding/MP4Metadata.cpp
188
index 5c3810d99a38..5d14dfd8b8a9 100644
189
--- media/libstagefright/binding/MP4Metadata.cpp
190
+++ media/libstagefright/binding/MP4Metadata.cpp
191
@@ -20,14 +20,18 @@
192
 #include "mp4_demuxer/MP4Metadata.h"
193
 #include "mp4_demuxer/Stream.h"
194
 #include "MediaPrefs.h"
195
+#ifdef MOZ_RUST_MP4PARSE
196
 #include "mp4parse.h"
197
+#endif // MOZ_RUST_MP4PARSE
198
 
199
 #include <limits>
200
 #include <stdint.h>
201
 #include <vector>
202
 
203
 
204
+#ifdef MOZ_RUST_MP4PARSE
205
 struct FreeMP4Parser { void operator()(mp4parse_parser* aPtr) { mp4parse_free(aPtr); } };
206
+#endif // MOZ_RUST_MP4PARSE
207
 
208
 using namespace stagefright;
209
 using mozilla::media::TimeUnit;
210
@@ -105,6 +109,7 @@ private:
211
   bool mCanSeek;
212
 };
213
 
214
+#ifdef MOZ_RUST_MP4PARSE
215
 // Wrap an mp4_demuxer::Stream to remember the read offset.
216
 
217
 class RustStreamAdaptor {
218
@@ -151,6 +156,7 @@ private:
219
   RustStreamAdaptor mRustSource;
220
   mozilla::UniquePtr<mp4parse_parser, FreeMP4Parser> mRustParser;
221
 };
222
+#endif // MOZ_RUST_MP4PARSE
223
 
224
 class IndiceWrapperStagefright : public IndiceWrapper {
225
 public:
226
@@ -187,6 +193,7 @@ IndiceWrapperStagefright::GetIndice(size_t aIndex, Index::Indice& aIndice) const
227
   return true;
228
 }
229
 
230
+#ifdef MOZ_RUST_MP4PARSE
231
 // the owner of mIndice is rust mp4 paser, so lifetime of this class
232
 // SHOULD NOT longer than rust parser.
233
 class IndiceWrapperRust : public IndiceWrapper
234
@@ -232,9 +239,11 @@ IndiceWrapperRust::GetIndice(size_t aIndex, Index::Indice& aIndice) const
235
   aIndice.sync = indice->sync;
236
   return true;
237
 }
238
+#endif // MOZ_RUST_MP4PARSE
239
 
240
 MP4Metadata::MP4Metadata(Stream* aSource)
241
  : mStagefright(MakeUnique<MP4MetadataStagefright>(aSource))
242
+#ifdef MOZ_RUST_MP4PARSE
243
  , mRust(MakeUnique<MP4MetadataRust>(aSource))
244
  , mPreferRust(MediaPrefs::EnableRustMP4Parser())
245
  , mReportedAudioTrackTelemetry(false)
246
@@ -242,6 +251,7 @@ MP4Metadata::MP4Metadata(Stream* aSource)
247
 #ifndef RELEASE_OR_BETA
248
  , mRustTestMode(MediaPrefs::RustTestMode())
249
 #endif
250
+#endif // MOZ_RUST_MP4PARSE
251
 {
252
 }
253
 
254
@@ -274,8 +284,11 @@ MP4Metadata::GetNumberTracks(mozilla::TrackInfo::TrackType aType) const
255
   MP4Metadata::ResultAndTrackCount numTracks =
256
     mStagefright->GetNumberTracks(aType);
257
 
258
+#ifdef MOZ_RUST_MP4PARSE
259
   if (!mRust) {
260
+#endif // MOZ_RUST_MP4PARSE
261
     return numTracks;
262
+#ifdef MOZ_RUST_MP4PARSE
263
   }
264
 
265
   MP4Metadata::ResultAndTrackCount numTracksRust =
266
@@ -350,8 +363,10 @@ MP4Metadata::GetNumberTracks(mozilla::TrackInfo::TrackType aType) const
267
   // Same non-error numbers, just return any.
268
   // (Choosing Rust here, in case it carries a warning, we'd want to know that.)
269
   return numTracksRust;
270
+#endif // MOZ_RUST_MP4PARSE
271
 }
272
 
273
+#ifdef MOZ_RUST_MP4PARSE
274
 bool MP4Metadata::ShouldPreferRust() const {
275
   if (!mRust) {
276
     return false;
277
@@ -389,6 +404,7 @@ bool MP4Metadata::ShouldPreferRust() const {
278
   // Otherwise, fall back.
279
   return false;
280
 }
281
+#endif // MOZ_RUST_MP4PARSE
282
 
283
 static const char*
284
 GetDifferentField(const mozilla::TrackInfo& info,
285
@@ -443,6 +459,7 @@ MP4Metadata::GetTrackInfo(mozilla::TrackInfo::TrackType aType,
286
   MP4Metadata::ResultAndTrackInfo info =
287
     mStagefright->GetTrackInfo(aType, aTrackNumber);
288
 
289
+#ifdef MOZ_RUST_MP4PARSE
290
   if (!mRust) {
291
     return info;
292
   }
293
@@ -514,6 +531,7 @@ MP4Metadata::GetTrackInfo(mozilla::TrackInfo::TrackType aType,
294
   if (mPreferRust) {
295
     return infoRust;
296
   }
297
+#endif // MOZ_RUST_MP4PARSE
298
 
299
   return info;
300
 }
301
@@ -528,6 +546,7 @@ MP4Metadata::ResultAndCryptoFile
302
 MP4Metadata::Crypto() const
303
 {
304
   MP4Metadata::ResultAndCryptoFile crypto = mStagefright->Crypto();
305
+#ifdef MOZ_RUST_MP4PARSE
306
   MP4Metadata::ResultAndCryptoFile rustCrypto = mRust->Crypto();
307
 
308
 #ifndef RELEASE_OR_BETA
309
@@ -548,6 +567,7 @@ MP4Metadata::Crypto() const
310
   if (mPreferRust) {
311
     return rustCrypto;
312
   }
313
+#endif // MOZ_RUST_MP4PARSE
314
 
315
   return crypto;
316
 }
317
@@ -556,17 +576,22 @@ MP4Metadata::ResultAndIndice
318
 MP4Metadata::GetTrackIndice(mozilla::TrackID aTrackID)
319
 {
320
   FallibleTArray<Index::Indice> indiceSF;
321
+#ifdef MOZ_RUST_MP4PARSE
322
   if (!mPreferRust
323
 #ifndef RELEASE_OR_BETA
324
       || mRustTestMode
325
 #endif
326
      ) {
327
+#endif // MOZ_RUST_MP4PARSE
328
     MediaResult rv = mStagefright->ReadTrackIndex(indiceSF, aTrackID);
329
     if (NS_FAILED(rv)) {
330
       return {Move(rv), nullptr};
331
     }
332
+#ifdef MOZ_RUST_MP4PARSE
333
   }
334
+#endif // MOZ_RUST_MP4PARSE
335
 
336
+#ifdef MOZ_RUST_MP4PARSE
337
   mp4parse_byte_data indiceRust = {};
338
   if (mPreferRust
339
 #ifndef RELEASE_OR_BETA
340
@@ -592,13 +617,18 @@ MP4Metadata::GetTrackIndice(mozilla::TrackID aTrackID)
341
     }
342
   }
343
 #endif
344
+#endif // MOZ_RUST_MP4PARSE
345
 
346
   UniquePtr<IndiceWrapper> indice;
347
+#ifdef MOZ_RUST_MP4PARSE
348
   if (mPreferRust) {
349
     indice = mozilla::MakeUnique<IndiceWrapperRust>(indiceRust);
350
   } else {
351
+#endif // MOZ_RUST_MP4PARSE
352
     indice = mozilla::MakeUnique<IndiceWrapperStagefright>(indiceSF);
353
+#ifdef MOZ_RUST_MP4PARSE
354
   }
355
+#endif // MOZ_RUST_MP4PARSE
356
 
357
   return {NS_OK, Move(indice)};
358
 }
359
@@ -856,6 +886,7 @@ MP4MetadataStagefright::Metadata(Stream* aSource)
360
   return {NS_OK, Move(buffer)};
361
 }
362
 
363
+#ifdef MOZ_RUST_MP4PARSE
364
 bool
365
 RustStreamAdaptor::Read(uint8_t* buffer, uintptr_t size, size_t* bytes_read)
366
 {
367
@@ -1152,5 +1183,6 @@ MP4MetadataRust::Metadata(Stream* aSource)
368
   MOZ_ASSERT(false, "Not yet implemented");
369
   return {NS_ERROR_NOT_IMPLEMENTED, nullptr};
370
 }
371
+#endif // MOZ_RUST_MP4PARSE
372
 
373
 } // namespace mp4_demuxer
374
diff --git media/libstagefright/binding/include/mp4_demuxer/DecoderData.h media/libstagefright/binding/include/mp4_demuxer/DecoderData.h
375
index 3cd4b7c142f4..dc25ddf03b10 100644
376
--- media/libstagefright/binding/include/mp4_demuxer/DecoderData.h
377
+++ media/libstagefright/binding/include/mp4_demuxer/DecoderData.h
378
@@ -19,11 +19,13 @@ namespace stagefright
379
 class MetaData;
380
 }
381
 
382
+#ifdef MOZ_RUST_MP4PARSE
383
 extern "C" {
384
 typedef struct mp4parse_track_info mp4parse_track_info;
385
 typedef struct mp4parse_track_audio_info mp4parse_track_audio_info;
386
 typedef struct mp4parse_track_video_info mp4parse_track_video_info;
387
 }
388
+#endif // MOZ_RUST_MP4PARSE
389
 
390
 namespace mp4_demuxer
391
 {
392
@@ -71,8 +73,10 @@ public:
393
   void Update(const stagefright::MetaData* aMetaData,
394
               const char* aMimeType);
395
 
396
+#ifdef MOZ_RUST_MP4PARSE
397
   void Update(const mp4parse_track_info* track,
398
               const mp4parse_track_audio_info* audio);
399
+#endif // MOZ_RUST_MP4PARSE
400
 
401
   virtual bool IsValid() const override;
402
 };
403
@@ -85,8 +89,10 @@ public:
404
   void Update(const stagefright::MetaData* aMetaData,
405
               const char* aMimeType);
406
 
407
+#ifdef MOZ_RUST_MP4PARSE
408
   void Update(const mp4parse_track_info* track,
409
               const mp4parse_track_video_info* video);
410
+#endif // MOZ_RUST_MP4PARSE
411
 
412
   virtual bool IsValid() const override;
413
 };
414
diff --git media/libstagefright/binding/include/mp4_demuxer/MP4Metadata.h media/libstagefright/binding/include/mp4_demuxer/MP4Metadata.h
415
index 492c9c1c1bc3..e16dbbd1155e 100644
416
--- media/libstagefright/binding/include/mp4_demuxer/MP4Metadata.h
417
+++ media/libstagefright/binding/include/mp4_demuxer/MP4Metadata.h
418
@@ -13,7 +13,9 @@
419
 #include "MediaInfo.h"
420
 #include "MediaResult.h"
421
 #include "Stream.h"
422
+#ifdef MOZ_RUST_MP4PARSE
423
 #include "mp4parse.h"
424
+#endif // MOZ_RUST_MP4PARSE
425
 
426
 namespace mp4_demuxer {
427
 
428
@@ -82,6 +84,7 @@ public:
429
 
430
 private:
431
   UniquePtr<MP4MetadataStagefright> mStagefright;
432
+#ifdef MOZ_RUST_MP4PARSE
433
   UniquePtr<MP4MetadataRust> mRust;
434
   mutable bool mPreferRust;
435
   mutable bool mReportedAudioTrackTelemetry;
436
@@ -90,6 +93,7 @@ private:
437
   mutable bool mRustTestMode;
438
 #endif
439
   bool ShouldPreferRust() const;
440
+#endif // MOZ_RUST_MP4PARSE
441
 };
442
 
443
 } // namespace mp4_demuxer
444
diff --git media/libstagefright/gtest/moz.build media/libstagefright/gtest/moz.build
445
index be4d56fc93f7..66fdd365f8f3 100644
446
--- media/libstagefright/gtest/moz.build
447
+++ media/libstagefright/gtest/moz.build
448
@@ -38,12 +38,13 @@ TEST_HARNESS_FILES.gtest += [
449
     'test_case_1351094.mp4',
450
 ]
451
 
452
-UNIFIED_SOURCES += ['TestMP4Rust.cpp',]
453
-TEST_HARNESS_FILES.gtest += [
454
-    '../../../dom/media/test/street.mp4',
455
-]
456
-LOCAL_INCLUDES += [
457
-    '../binding/include',
458
-]
459
+if CONFIG['MOZ_RUST']:
460
+    UNIFIED_SOURCES += ['TestMP4Rust.cpp',]
461
+    TEST_HARNESS_FILES.gtest += [
462
+        '../../../dom/media/test/street.mp4',
463
+    ]
464
+    LOCAL_INCLUDES += [
465
+        '../binding/include',
466
+    ]
467
 
468
 FINAL_LIBRARY = 'xul-gtest'
469
diff --git media/libstagefright/moz.build media/libstagefright/moz.build
470
index af5d1194d621..6725a0179989 100644
471
--- media/libstagefright/moz.build
472
+++ media/libstagefright/moz.build
473
@@ -83,9 +83,10 @@ SOURCES += [
474
     'system/core/libutils/VectorImpl.cpp',
475
 ]
476
 
477
-EXPORTS += [
478
-    'binding/include/mp4parse.h',
479
-]
480
+if CONFIG['MOZ_RUST']:
481
+    EXPORTS += [
482
+        'binding/include/mp4parse.h',
483
+    ]
484
 
485
 UNIFIED_SOURCES += [
486
     'binding/Adts.cpp',
487
diff --git mobile/android/confvars.sh mobile/android/confvars.sh
488
index e79b6f5c0707..eb62763acaf7 100644
489
--- mobile/android/confvars.sh
490
+++ mobile/android/confvars.sh
491
@@ -30,6 +30,8 @@ MOZ_XULRUNNER=
492
 MOZ_CAPTURE=1
493
 MOZ_RAW=1
494
 
495
+MOZ_RUST_MP4PARSE=1
496
+
497
 # use custom widget for html:select
498
 MOZ_USE_NATIVE_POPUP_WINDOWS=1
499
 
500
diff --git netwerk/base/moz.build netwerk/base/moz.build
501
index 61d022a9660e..e5ca1d77d859 100644
502
--- netwerk/base/moz.build
503
+++ netwerk/base/moz.build
504
@@ -256,7 +256,7 @@ UNIFIED_SOURCES += [
505
     'TLSServerSocket.cpp',
506
 ]
507
 
508
-if CONFIG['MOZ_RUST_URLPARSE']:
509
+if CONFIG['MOZ_RUST'] and CONFIG['MOZ_RUST_URLPARSE']:
510
     EXPORTS.mozilla.net += [ 'RustURL.h' ]
511
     UNIFIED_SOURCES += [ 'RustURL.cpp' ]
512
 
513
diff --git netwerk/base/nsStandardURL.cpp netwerk/base/nsStandardURL.cpp
514
index 608b918a4ecf..20bcdeb34ab8 100644
515
--- netwerk/base/nsStandardURL.cpp
516
+++ netwerk/base/nsStandardURL.cpp
517
@@ -858,6 +858,7 @@ nsStandardURL::BuildNormalizedSpec(const char *spec)
518
         if (!SegmentIs(spec, mScheme, "resource") &&
519
             !SegmentIs(spec, mScheme, "chrome")) {
520
             nsAutoCString ipString;
521
+#ifdef MOZ_RUST
522
             if (encHost.Length() > 0 &&
523
                 encHost.First() == '[' && encHost.Last() == ']' &&
524
                 ValidIPv6orHostname(encHost.get(), encHost.Length())) {
525
@@ -866,7 +867,9 @@ nsStandardURL::BuildNormalizedSpec(const char *spec)
526
                     return rv;
527
                 }
528
                 encHost = ipString;
529
-            } else if (NS_SUCCEEDED(NormalizeIPv4(encHost, ipString))) {
530
+            } else
531
+#endif
532
+            if (NS_SUCCEEDED(NormalizeIPv4(encHost, ipString))) {
533
                 encHost = ipString;
534
             }
535
         }
536
@@ -2112,6 +2115,7 @@ nsStandardURL::SetHost(const nsACString &input)
537
 
538
     if (!SegmentIs(mScheme, "resource") && !SegmentIs(mScheme, "chrome")) {
539
         nsAutoCString ipString;
540
+#ifdef MOZ_RUST
541
         if (hostBuf.Length() > 0 &&
542
             hostBuf.First() == '[' && hostBuf.Last() == ']' &&
543
             ValidIPv6orHostname(hostBuf.get(), hostBuf.Length())) {
544
@@ -2120,7 +2124,9 @@ nsStandardURL::SetHost(const nsACString &input)
545
                 return rv;
546
             }
547
             hostBuf = ipString;
548
-        } else if (NS_SUCCEEDED(NormalizeIPv4(hostBuf, ipString))) {
549
+        } else
550
+#endif
551
+        if (NS_SUCCEEDED(NormalizeIPv4(hostBuf, ipString))) {
552
           hostBuf = ipString;
553
         }
554
     }
555
diff --git old-configure.in old-configure.in
556
index 717a94fcc692..54b29d737cc1 100644
557
--- old-configure.in
558
+++ old-configure.in
559
@@ -2330,9 +2330,14 @@ if test -n "$MOZ_MULET"; then
560
 fi
561
 
562
 # Propagate feature switches for code written in rust from confvars.sh
563
-if test -n "$MOZ_RUST_URLPARSE"; then
564
-    AC_DEFINE(MOZ_RUST_URLPARSE)
565
-    AC_SUBST(MOZ_RUST_URLPARSE)
566
+if test -n "$MOZ_RUST"; then
567
+    if test -n "$MOZ_RUST_MP4PARSE"; then
568
+        AC_DEFINE(MOZ_RUST_MP4PARSE)
569
+    fi
570
+    if test -n "$MOZ_RUST_URLPARSE"; then
571
+        AC_DEFINE(MOZ_RUST_URLPARSE)
572
+        AC_SUBST(MOZ_RUST_URLPARSE)
573
+    fi
574
 fi
575
 
576
 AC_SUBST(MOZ_PHOENIX)
577
diff --git toolkit/components/telemetry/Histograms.json toolkit/components/telemetry/Histograms.json
578
index 061c55f6a5b6..e49dfd176952 100644
579
--- toolkit/components/telemetry/Histograms.json
580
+++ toolkit/components/telemetry/Histograms.json
581
@@ -8320,7 +8320,8 @@
582
     "expires_in_version": "60",
583
     "kind": "boolean",
584
     "bug_numbers": [1220885],
585
-    "description": "Whether the rust mp4 demuxer successfully parsed a stream segment."
586
+    "description": "Whether the rust mp4 demuxer successfully parsed a stream segment.",
587
+    "cpp_guard": "MOZ_RUST_MP4PARSE"
588
   },
589
   "MEDIA_RUST_MP4PARSE_ERROR_CODE": {
590
     "record_in_processes": ["main", "content"],
591
@@ -8329,7 +8330,8 @@
592
     "kind": "enumerated",
593
     "n_values": 32,
594
     "bug_numbers": [1238420],
595
-    "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."
596
+    "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.",
597
+    "cpp_guard": "MOZ_RUST_MP4PARSE"
598
   },
599
   "MEDIA_RUST_MP4PARSE_TRACK_MATCH_AUDIO": {
600
     "record_in_processes": ["main", "content"],
601
@@ -8337,7 +8339,8 @@
602
     "expires_in_version": "60",
603
     "kind": "boolean",
604
     "bug_numbers": [1231169],
605
-    "description": "Whether rust and stagefight mp4 parser audio track results match."
606
+    "description": "Whether rust and stagefight mp4 parser audio track results match.",
607
+    "cpp_guard": "MOZ_RUST_MP4PARSE"
608
   },
609
   "MEDIA_RUST_MP4PARSE_TRACK_MATCH_VIDEO": {
610
     "record_in_processes": ["main", "content"],
611
@@ -8345,7 +8348,8 @@
612
     "expires_in_version": "60",
613
     "kind": "boolean",
614
     "bug_numbers": [1231169],
615
-    "description": "Whether rust and stagefight mp4 parser video track results match."
616
+    "description": "Whether rust and stagefight mp4 parser video track results match.",
617
+    "cpp_guard": "MOZ_RUST_MP4PARSE"
618
   },
619
   "MEDIA_WMF_DECODE_ERROR": {
620
     "record_in_processes": ["main", "content", "gpu"],
621
diff --git toolkit/library/gtest/moz.build toolkit/library/gtest/moz.build
622
index 69a8fb1f4893..c684f48e456e 100644
623
--- toolkit/library/gtest/moz.build
624
+++ toolkit/library/gtest/moz.build
625
@@ -7,7 +7,6 @@
626
 FINAL_TARGET = 'dist/bin/gtest'
627
 
628
 USE_LIBS += [
629
-    'gkrust-gtest',
630
     'static:xul',
631
     # xul-gtest is an intermediate static library. It is used as FINAL_TARGET
632
     # for gtest code.
633
@@ -21,6 +20,11 @@ USE_LIBS += [
634
 # before StaticXULComponentStart.
635
 Libxul('xul-gtest-real')
636
 
637
+if CONFIG['MOZ_RUST']:
638
+    USE_LIBS += [
639
+        'gkrust-gtest',
640
+    ]
641
+
642
 DIRS += [
643
     'static',
644
 ]
645
diff --git toolkit/library/moz.build toolkit/library/moz.build
646
index 650f6eaba980..191e90ceb09a 100644
647
--- toolkit/library/moz.build
648
+++ toolkit/library/moz.build
649
@@ -63,7 +63,7 @@ def Libxul(name):
650
 
651
     # This option should go away in bug 1290972, but we need to wait until
652
     # Rust 1.12 has been released.
653
-    if CONFIG['OS_ARCH'] == 'Darwin':
654
+    if CONFIG['MOZ_RUST'] and CONFIG['OS_ARCH'] == 'Darwin':
655
         LDFLAGS += ['-Wl,-no_compact_unwind']
656
 
657
 Libxul('xul')
658
@@ -343,4 +343,5 @@ USE_LIBS += ['StaticXULComponentsEnd']
659
 # The above library needs to be last for C++ purposes.  This library,
660
 # however, is entirely composed of Rust code, and needs to come after
661
 # all the C++ code so any possible C++ -> Rust calls can be resolved.
662
-USE_LIBS += ['gkrust']
663
+if CONFIG['MOZ_RUST']:
664
+    USE_LIBS += ['gkrust']
665
diff --git toolkit/moz.configure toolkit/moz.configure
666
index ac9d123224ce..e90da70f0fa5 100644
667
--- toolkit/moz.configure
668
+++ toolkit/moz.configure
669
@@ -88,8 +88,7 @@ include('../js/moz.configure')
670
 
671
 # Rust
672
 # ==============================================================
673
-include('../build/moz.configure/rust.configure',
674
-        when='--enable-compile-environment')
675
+include('../build/moz.configure/rust.configure')
676
 
677
 
678
 # L10N
679
@@ -623,13 +622,13 @@ id_and_secret_keyfile('Leanplum SDK')
680
 option('--enable-stylo', nargs='?', choices=('build',),
681
        help='Include Stylo in the build and/or enable it at runtime')
682
 
683
-@depends('--enable-stylo')
684
-def stylo_config(value):
685
+@depends('--enable-stylo', '--enable-rust')
686
+def stylo_config(value, rust_enabled):
687
     build_stylo = None
688
     enable_stylo = None
689
 
690
     # The default is to not build Stylo at all.
691
-    if value.origin == 'default':
692
+    if not rust_enabled or value.origin == 'default':
693
         pass
694
     elif value == 'build':
695
         build_stylo = True
696
@@ -769,12 +768,14 @@ set_config('SERVO_TARGET_DIR', servo_target_dir)
697
 option('--enable-webrender', nargs='?', choices=('build',),
698
        help='Include WebRender in the build and/or enable it at runtime')
699
 
700
-@depends('--enable-webrender', milestone)
701
-def webrender(value, milestone):
702
+@depends('--enable-webrender', '--enable-rust', milestone)
703
+def webrender(value, rust_enabled, milestone):
704
     build_webrender = None
705
     enable_webrender = None
706
 
707
-    if value.origin == 'default':
708
+    if not rust_enabled:
709
+        pass
710
+    elif value.origin == 'default':
711
         # if nothing is specified, default to just building on Nightly
712
         build_webrender = milestone.is_nightly
713
     elif value == 'build':
714
diff --git toolkit/toolkit.mozbuild toolkit/toolkit.mozbuild
715
index b845aab48023..9215afc6dd2d 100644
716
--- toolkit/toolkit.mozbuild
717
+++ toolkit/toolkit.mozbuild
718
@@ -133,16 +133,23 @@ if CONFIG['MOZ_PREF_EXTENSIONS']:
719
 
720
 DIRS += [
721
     '/devtools',
722
-    '/toolkit/library',
723
-    '/toolkit/library/gtest/rust',
724
-    '/toolkit/library/rust',
725
-    '/toolkit/library/StaticXULComponentsEnd',
726
     '/services',
727
     '/startupcache',
728
     '/js/ductwork/debugger',
729
     '/other-licenses/snappy',
730
 ]
731
 
732
+if CONFIG['MOZ_RUST']:
733
+    DIRS += [
734
+        '/toolkit/library/gtest/rust',
735
+        '/toolkit/library/rust',
736
+    ]
737
+
738
+DIRS += [
739
+    '/toolkit/library/StaticXULComponentsEnd',
740
+    '/toolkit/library',
741
+]
742
+
743
 if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
744
     DIRS += ['/toolkit/system/gnome']
745
 
746
diff --git toolkit/xre/nsAppRunner.cpp toolkit/xre/nsAppRunner.cpp
747
index 667c2eb1b365..6fb6cf102baa 100644
748
--- toolkit/xre/nsAppRunner.cpp
749
+++ toolkit/xre/nsAppRunner.cpp
750
@@ -227,11 +227,13 @@
751
 extern uint32_t gRestartMode;
752
 extern void InstallSignalHandlers(const char *ProgramName);
753
 
754
+#ifdef MOZ_RUST
755
 // This workaround is fixed in Rust 1.19. For details, see bug 1358151.
756
 // Implementation in toolkit/library/rust/shared/lib.rs
757
 extern "C" {
758
   void rust_init_please_remove_this_after_updating_rust_1_19();
759
 }
760
+#endif
761
 
762
 #define FILE_COMPATIBILITY_INFO NS_LITERAL_CSTRING("compatibility.ini")
763
 #define FILE_INVALIDATE_CACHES NS_LITERAL_CSTRING(".purgecaches")
764
@@ -3122,8 +3124,10 @@ XREMain::XRE_mainInit(bool* aExitFlag)
765
     return 1;
766
   *aExitFlag = false;
767
 
768
+#ifdef MOZ_RUST
769
   // This workaround is fixed in Rust 1.19. For details, see bug 1358151.
770
   rust_init_please_remove_this_after_updating_rust_1_19();
771
+#endif
772
 
773
   atexit(UnexpectedExit);
774
   auto expectedShutdown = mozilla::MakeScopeExit([&] {
775
diff --git xpcom/base/nsDebugImpl.cpp xpcom/base/nsDebugImpl.cpp
776
index e6bb623c258b..c49d61dce605 100644
777
--- xpcom/base/nsDebugImpl.cpp
778
+++ xpcom/base/nsDebugImpl.cpp
779
@@ -148,14 +148,20 @@ nsDebugImpl::Abort(const char* aFile, int32_t aLine)
780
   return NS_OK;
781
 }
782
 
783
+#ifdef MOZ_RUST
784
 // From toolkit/library/rust/lib.rs
785
 extern "C" void intentional_panic(const char* message);
786
+#endif
787
 
788
 NS_IMETHODIMP
789
 nsDebugImpl::RustPanic(const char* aMessage)
790
 {
791
+#ifdef MOZ_RUST
792
   intentional_panic(aMessage);
793
   return NS_OK;
794
+#else
795
+  return NS_ERROR_NOT_IMPLEMENTED;
796
+#endif
797
 }
798
 
799
 NS_IMETHODIMP
800
diff --git xpcom/rust/nsstring/gtest/moz.build xpcom/rust/nsstring/gtest/moz.build
801
index 197411678815..5bed9e57e57d 100644
802
--- xpcom/rust/nsstring/gtest/moz.build
803
+++ xpcom/rust/nsstring/gtest/moz.build
804
@@ -4,8 +4,9 @@
805
 # License, v. 2.0. If a copy of the MPL was not distributed with this
806
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
807
 
808
-UNIFIED_SOURCES += [
809
-    'Test.cpp'
810
-]
811
+if CONFIG['MOZ_RUST']:
812
+    UNIFIED_SOURCES += [
813
+        'Test.cpp'
814
+    ]
815
 
816
 FINAL_LIBRARY = 'xul-gtest'
(-)b/www/firefox/files/patch-z-bug517422 (-4 / +4 lines)
Lines 110-116 index 93ecda4319af..ff674c64ea07 100644 Link Here
110
   , mDumpFile(nullptr)
110
   , mDumpFile(nullptr)
111
   , mState(INITIALIZED)
111
   , mState(INITIALIZED)
112
   , mDataSource(aSource)
112
   , mDataSource(aSource)
113
@@ -130,9 +132,11 @@ AudioStream::~AudioStream()
113
@@ -135,9 +137,11 @@ AudioStream::~AudioStream()
114
   if (mDumpFile) {
114
   if (mDumpFile) {
115
     fclose(mDumpFile);
115
     fclose(mDumpFile);
116
   }
116
   }
Lines 119-127 index 93ecda4319af..ff674c64ea07 100644 Link Here
119
     soundtouch::destroySoundTouchObj(mTimeStretcher);
119
     soundtouch::destroySoundTouchObj(mTimeStretcher);
120
   }
120
   }
121
+#endif
121
+#endif
122
 }
122
 #if defined(XP_WIN)
123
 
123
   if (XRE_IsContentProcess()) {
124
 size_t
124
     audio::AudioNotificationReceiver::Unregister(this);
125
@@ -151,7 +155,11 @@ nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked()
125
@@ -151,7 +155,11 @@ nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked()
126
 {
126
 {
127
   mMonitor.AssertCurrentThreadOwns();
127
   mMonitor.AssertCurrentThreadOwns();

Return to bug 221335