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 (-2 / +2 lines)
Lines 2-8 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	firefox-i18n
4
PORTNAME=	firefox-i18n
5
PORTVERSION=	55.0.2
5
PORTVERSION=	56.0b4
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/build1/linux-i686/xpi
8
		MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build1/linux-i686/xpi
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 = 1502835004
1
TIMESTAMP = 1503084173
2
SHA256 (xpi/firefox-i18n-55.0.2/ach.xpi) = bfb4a7cdabd4de84f0fb9afd7088c63a5bf9fabcf029043ce29ca31e5445aa99
2
SHA256 (xpi/firefox-i18n-56.0b4/ach.xpi) = 412d590806c83a0048e0e0fe90b55a05feb225f98d7ab7bd17ccbc8da4ea5d22
3
SIZE (xpi/firefox-i18n-55.0.2/ach.xpi) = 447504
3
SIZE (xpi/firefox-i18n-56.0b4/ach.xpi) = 453652
4
SHA256 (xpi/firefox-i18n-55.0.2/af.xpi) = 9a184de60398afbb2ebc295bdeab3d380d279f10058e740f24a3698f58352ff9
4
SHA256 (xpi/firefox-i18n-56.0b4/af.xpi) = 492a985216b9991620c70a4aa67083afb27e5861821cca8c967e72cf0d50eab9
5
SIZE (xpi/firefox-i18n-55.0.2/af.xpi) = 448924
5
SIZE (xpi/firefox-i18n-56.0b4/af.xpi) = 454977
6
SHA256 (xpi/firefox-i18n-55.0.2/an.xpi) = 0a2c0635cb5c93ee19f1349ee030deda1eb8424712139ea7dac907c6802163a5
6
SHA256 (xpi/firefox-i18n-56.0b4/an.xpi) = 6894dd02211ddce20a4805eb5bbbbb469815599397f3df298c542f6e5275e4e6
7
SIZE (xpi/firefox-i18n-55.0.2/an.xpi) = 468638
7
SIZE (xpi/firefox-i18n-56.0b4/an.xpi) = 474624
8
SHA256 (xpi/firefox-i18n-55.0.2/ar.xpi) = 59fec790b299d60a79ff1c65f33badbc72ec35996415e556886c89c8eabf162f
8
SHA256 (xpi/firefox-i18n-56.0b4/ar.xpi) = d43ba5d761c86f6f72df9ba56fe8228490546cb41aff2efcdb1e0d465ccb8b5f
9
SIZE (xpi/firefox-i18n-55.0.2/ar.xpi) = 492759
9
SIZE (xpi/firefox-i18n-56.0b4/ar.xpi) = 499454
10
SHA256 (xpi/firefox-i18n-55.0.2/as.xpi) = d86959041861745cf4ab092099a4589efc0e92c1e108fa4742a6df38d68bbf62
10
SHA256 (xpi/firefox-i18n-56.0b4/as.xpi) = 2299695121e34d4b55c62107d1ff7ddcf32a63aaf3f145fdeb461d1a8ddeac54
11
SIZE (xpi/firefox-i18n-55.0.2/as.xpi) = 501507
11
SIZE (xpi/firefox-i18n-56.0b4/as.xpi) = 507000
12
SHA256 (xpi/firefox-i18n-55.0.2/ast.xpi) = dd59a8c8f8b98da06f4d396e7fda15321b4997cd56b74a68ad92d99bc587c9cc
12
SHA256 (xpi/firefox-i18n-56.0b4/ast.xpi) = eeb3ea046af00cab26633a3a4d370e704dd9ce8a0a8fd50deb3907bb24997acd
13
SIZE (xpi/firefox-i18n-55.0.2/ast.xpi) = 460841
13
SIZE (xpi/firefox-i18n-56.0b4/ast.xpi) = 467915
14
SHA256 (xpi/firefox-i18n-55.0.2/az.xpi) = afc69881d209ee9fbb6132ae6fa6aeb419d97ef59ff11947b49a1639b8ecd7d0
14
SHA256 (xpi/firefox-i18n-56.0b4/az.xpi) = 8945fa6a28ee498cb23c401e7e4458cb007857fea7bace6cf6c890b5517497bc
15
SIZE (xpi/firefox-i18n-55.0.2/az.xpi) = 475368
15
SIZE (xpi/firefox-i18n-56.0b4/az.xpi) = 483745
16
SHA256 (xpi/firefox-i18n-55.0.2/be.xpi) = c6bf8ca17e8fd12fa043c2467ee64aff590c30afa8739479faff4b1cffe1da38
16
SHA256 (xpi/firefox-i18n-56.0b4/be.xpi) = 2c9df8ad9115952d87af9ffe6612e79c630ea7fe8310afa74e20699b8ab0bb76
17
SIZE (xpi/firefox-i18n-55.0.2/be.xpi) = 522575
17
SIZE (xpi/firefox-i18n-56.0b4/be.xpi) = 530147
18
SHA256 (xpi/firefox-i18n-55.0.2/bg.xpi) = 40a1381e347e117dc1bdf153ac5edd58b4afd9326dcebc7305f795e2ec87c3dc
18
SHA256 (xpi/firefox-i18n-56.0b4/bg.xpi) = bcf026ee35b13a6f696777fb5a8b8fd7257def01bce6f4c87cc505f9425679b1
19
SIZE (xpi/firefox-i18n-55.0.2/bg.xpi) = 520012
19
SIZE (xpi/firefox-i18n-56.0b4/bg.xpi) = 527550
20
SHA256 (xpi/firefox-i18n-55.0.2/bn-BD.xpi) = b005201e63d39f880940e925e3b3d4b3db2ceedcf778568ddbf56547a3570e10
20
SHA256 (xpi/firefox-i18n-56.0b4/bn-BD.xpi) = a8b4fff82480a173a0d20969e427bb9c5c30ec7dcac21ca56cc334c1e3674bec
21
SIZE (xpi/firefox-i18n-55.0.2/bn-BD.xpi) = 535107
21
SIZE (xpi/firefox-i18n-56.0b4/bn-BD.xpi) = 541521
22
SHA256 (xpi/firefox-i18n-55.0.2/bn-IN.xpi) = 762820b3c1761f164a4fdd19988f12469804d79b01baf1acdfc72aca1ff279cf
22
SHA256 (xpi/firefox-i18n-56.0b4/bn-IN.xpi) = edf7026aed76ecb633357cd5ccb6febdc54284a65a12f9cc6380fff2ef04b22f
23
SIZE (xpi/firefox-i18n-55.0.2/bn-IN.xpi) = 526354
23
SIZE (xpi/firefox-i18n-56.0b4/bn-IN.xpi) = 533200
24
SHA256 (xpi/firefox-i18n-55.0.2/br.xpi) = 93f2788cf935f8e911f36f83762a31c28b01acddff46061cc0aab9124fe4909a
24
SHA256 (xpi/firefox-i18n-56.0b4/br.xpi) = 5c16c2b88700918bb472a21c97d0a5734a53beacbcc0af4c11ac2c818f22b6ad
25
SIZE (xpi/firefox-i18n-55.0.2/br.xpi) = 457060
25
SIZE (xpi/firefox-i18n-56.0b4/br.xpi) = 463042
26
SHA256 (xpi/firefox-i18n-55.0.2/bs.xpi) = b999ef74b583a07afaf37f9287ac71a571fbc18b0575220f2a45c55b5ccd785c
26
SHA256 (xpi/firefox-i18n-56.0b4/bs.xpi) = dc52da64489e662d76877d87e92cdedc15ff74795a5862bc2c09bfa88a7bafcb
27
SIZE (xpi/firefox-i18n-55.0.2/bs.xpi) = 465026
27
SIZE (xpi/firefox-i18n-56.0b4/bs.xpi) = 471016
28
SHA256 (xpi/firefox-i18n-55.0.2/ca.xpi) = 9659631f5e6758339352b709393c449bb64b83313bb8d7884d260dff9bd03a6d
28
SHA256 (xpi/firefox-i18n-56.0b4/ca.xpi) = 8908a3e4bce9cbbe8ba2b6cc0665aa94d67a86f403401f4f54854e8a5257fec2
29
SIZE (xpi/firefox-i18n-55.0.2/ca.xpi) = 473018
29
SIZE (xpi/firefox-i18n-56.0b4/ca.xpi) = 478874
30
SHA256 (xpi/firefox-i18n-55.0.2/cak.xpi) = afe2e530b011c42c6016b29a275393f6cc2f5759f77fda142d0cebf9656f5549
30
SHA256 (xpi/firefox-i18n-56.0b4/cak.xpi) = 7baf225b38756d018421bb2348cb6b0a9b05332b7b66c5fa79b6fcf43ff96188
31
SIZE (xpi/firefox-i18n-55.0.2/cak.xpi) = 481774
31
SIZE (xpi/firefox-i18n-56.0b4/cak.xpi) = 488264
32
SHA256 (xpi/firefox-i18n-55.0.2/cs.xpi) = 747555a52c9a2730b1758bdb6b292e0763f348b8edd63981de5359edfda64a66
32
SHA256 (xpi/firefox-i18n-56.0b4/cs.xpi) = 9bfc529442743cf8774aede1ca0453a39d815d9db359789e162956464689575a
33
SIZE (xpi/firefox-i18n-55.0.2/cs.xpi) = 476809
33
SIZE (xpi/firefox-i18n-56.0b4/cs.xpi) = 483852
34
SHA256 (xpi/firefox-i18n-55.0.2/cy.xpi) = 05c9a6af92169e3c96e6ec086f9208701ab343e4ae2bd5e9cab2ef2e1847063d
34
SHA256 (xpi/firefox-i18n-56.0b4/cy.xpi) = 0990c4c95b2aa02815dc9f0977ac0df444d1fa1f2610a9449c79f1b77392539f
35
SIZE (xpi/firefox-i18n-55.0.2/cy.xpi) = 458725
35
SIZE (xpi/firefox-i18n-56.0b4/cy.xpi) = 465056
36
SHA256 (xpi/firefox-i18n-55.0.2/da.xpi) = 9e51e34764588b9568d1bae8c10a78bd093af240707fd1da99bdbcc73ca24891
36
SHA256 (xpi/firefox-i18n-56.0b4/da.xpi) = 63981fb0f02d05855b8b96fcac3d86c2ffaacb332f606117f44bc36198bcfa7b
37
SIZE (xpi/firefox-i18n-55.0.2/da.xpi) = 452604
37
SIZE (xpi/firefox-i18n-56.0b4/da.xpi) = 458855
38
SHA256 (xpi/firefox-i18n-55.0.2/de.xpi) = f976be213b1bd161a3dc8429580e2565490781c6dfe63d7660a9c929680dbda0
38
SHA256 (xpi/firefox-i18n-56.0b4/de.xpi) = 480cb992987c94577f7f0fb1aa522b24dbaca357ae00f1390b132b8875b0e350
39
SIZE (xpi/firefox-i18n-55.0.2/de.xpi) = 465990
39
SIZE (xpi/firefox-i18n-56.0b4/de.xpi) = 472957
40
SHA256 (xpi/firefox-i18n-55.0.2/dsb.xpi) = f9b1e337d9bd37392729dcea8817c57091bc651b9725cb5f283ac803a3bc1a90
40
SHA256 (xpi/firefox-i18n-56.0b4/dsb.xpi) = 8872d7e4a4e8ef858db9ffdbdf49dbb022a2a9df18904581544ab492dd22966e
41
SIZE (xpi/firefox-i18n-55.0.2/dsb.xpi) = 482081
41
SIZE (xpi/firefox-i18n-56.0b4/dsb.xpi) = 488655
42
SHA256 (xpi/firefox-i18n-55.0.2/el.xpi) = f850003853c1c93c560ba48df4f208292c2a6b7e69d3b24ca4fdb54c03d11023
42
SHA256 (xpi/firefox-i18n-56.0b4/el.xpi) = 7729999f17bc385901ffdaa8c063434b62306a36619c1cc49ab2bf15b3d30453
43
SIZE (xpi/firefox-i18n-55.0.2/el.xpi) = 539777
43
SIZE (xpi/firefox-i18n-56.0b4/el.xpi) = 552883
44
SHA256 (xpi/firefox-i18n-55.0.2/en-GB.xpi) = f2e5be6fef803229bd6d46bbf6ac6a53cd48995aecb4089055846a2116a09875
44
SHA256 (xpi/firefox-i18n-56.0b4/en-GB.xpi) = 81a4f78ef57b46b705fed1d6ed7679fb5bd5fdc764125ebc8184b491458a0040
45
SIZE (xpi/firefox-i18n-55.0.2/en-GB.xpi) = 439269
45
SIZE (xpi/firefox-i18n-56.0b4/en-GB.xpi) = 446124
46
SHA256 (xpi/firefox-i18n-55.0.2/en-US.xpi) = 4821f12b5a7543d4284a091425b8edbde0877d7c58ec5bea8483e055f2a4f695
46
SHA256 (xpi/firefox-i18n-56.0b4/en-US.xpi) = 4c176fa8afd30fe128ab7165488f13e5d6e03836f10148b5cd58714ad012c6ee
47
SIZE (xpi/firefox-i18n-55.0.2/en-US.xpi) = 439814
47
SIZE (xpi/firefox-i18n-56.0b4/en-US.xpi) = 445701
48
SHA256 (xpi/firefox-i18n-55.0.2/en-ZA.xpi) = 3d9ae4ae510bac83e8afd780b392648d840a668daa6c8aaa053239c0aeb08cd9
48
SHA256 (xpi/firefox-i18n-56.0b4/en-ZA.xpi) = 7e4984f7f32c7699b9ff30417b51eda74d16b7b2bab3601738bf5d964ee39b60
49
SIZE (xpi/firefox-i18n-55.0.2/en-ZA.xpi) = 438621
49
SIZE (xpi/firefox-i18n-56.0b4/en-ZA.xpi) = 444667
50
SHA256 (xpi/firefox-i18n-55.0.2/eo.xpi) = 8b5aec1fa22944e6b03f0afc3a20ead5068c3a11331c36e6648f19d3d9f8bd49
50
SHA256 (xpi/firefox-i18n-56.0b4/eo.xpi) = 0bd84a11d460b64b207b0b9ae5645f796f7dcc497dec202774daaa3b89f7f8e7
51
SIZE (xpi/firefox-i18n-55.0.2/eo.xpi) = 461140
51
SIZE (xpi/firefox-i18n-56.0b4/eo.xpi) = 467843
52
SHA256 (xpi/firefox-i18n-55.0.2/es-AR.xpi) = 35d65264214e1ec2fd29a63657d83bfb0f5c39e494414e6188572457244daec6
52
SHA256 (xpi/firefox-i18n-56.0b4/es-AR.xpi) = 1991f29026474146746ee71a5ef86cbb1356cb598342e329f93aad3ff4615fe1
53
SIZE (xpi/firefox-i18n-55.0.2/es-AR.xpi) = 467619
53
SIZE (xpi/firefox-i18n-56.0b4/es-AR.xpi) = 474190
54
SHA256 (xpi/firefox-i18n-55.0.2/es-CL.xpi) = 8832427bf10acdc2862b7c40b188da515969644347b789834b762fe48e40eddb
54
SHA256 (xpi/firefox-i18n-56.0b4/es-CL.xpi) = b00006c35422638864ab2ba0d159e0a23cab15c2781af4a3ed3cf34e3bdaa747
55
SIZE (xpi/firefox-i18n-55.0.2/es-CL.xpi) = 471599
55
SIZE (xpi/firefox-i18n-56.0b4/es-CL.xpi) = 478668
56
SHA256 (xpi/firefox-i18n-55.0.2/es-ES.xpi) = ca9c14ff64cf4e4350d1fa3988cd62ff2af9442fd3b9f29db27717acd1f2048b
56
SHA256 (xpi/firefox-i18n-56.0b4/es-ES.xpi) = d741a9d9099364d5b2c92c86f80a0c09dd3b78c6404097b007c74906a2f6a33d
57
SIZE (xpi/firefox-i18n-55.0.2/es-ES.xpi) = 359824
57
SIZE (xpi/firefox-i18n-56.0b4/es-ES.xpi) = 364379
58
SHA256 (xpi/firefox-i18n-55.0.2/es-MX.xpi) = de81730bc1342b46f1b4efd492e1ad34f68d87d8b08fd6c18a9ef7d593f9d950
58
SHA256 (xpi/firefox-i18n-56.0b4/es-MX.xpi) = b6b8b8e0647232d712151b32e5efb355249808f5bd47a3aee103296cce719c6c
59
SIZE (xpi/firefox-i18n-55.0.2/es-MX.xpi) = 474245
59
SIZE (xpi/firefox-i18n-56.0b4/es-MX.xpi) = 481315
60
SHA256 (xpi/firefox-i18n-55.0.2/et.xpi) = 82528a4430d928f43fb22e230d84f40ad2dce69a1de05167911dc34f40f161ae
60
SHA256 (xpi/firefox-i18n-56.0b4/et.xpi) = 25b5f1a98d5fe4c6dc81d412d976dc79f7da9d0a2ed62fe6df21ef4691b4af1c
61
SIZE (xpi/firefox-i18n-55.0.2/et.xpi) = 454471
61
SIZE (xpi/firefox-i18n-56.0b4/et.xpi) = 462028
62
SHA256 (xpi/firefox-i18n-55.0.2/eu.xpi) = 408570b28e435c5a13fd680cfd5c935ce7e368366ff1ad8d83b1a36153b5797a
62
SHA256 (xpi/firefox-i18n-56.0b4/eu.xpi) = 0e2ff3ebfc6e495c6108127701d18f73934dcc685f45a76efcbfd2be8e1ef789
63
SIZE (xpi/firefox-i18n-55.0.2/eu.xpi) = 460419
63
SIZE (xpi/firefox-i18n-56.0b4/eu.xpi) = 466673
64
SHA256 (xpi/firefox-i18n-55.0.2/fa.xpi) = d0e74715212faa1aec8802830bb2a7345be88cbf9e40e809a0dd3dc9dd5f70ea
64
SHA256 (xpi/firefox-i18n-56.0b4/fa.xpi) = 898110bc2bd25a1f9fcda81b02c95b9a464993e12b44bcc21c3abb415ddf8184
65
SIZE (xpi/firefox-i18n-55.0.2/fa.xpi) = 511561
65
SIZE (xpi/firefox-i18n-56.0b4/fa.xpi) = 517415
66
SHA256 (xpi/firefox-i18n-55.0.2/ff.xpi) = 7d1f12435a321403c4126455ac765ae672d38f9b7de7e712dde01b1a36be032b
66
SHA256 (xpi/firefox-i18n-56.0b4/ff.xpi) = 760b1035bf7d29ade6b31a848cf791b366957203ce49ab774998f45eabce05f0
67
SIZE (xpi/firefox-i18n-55.0.2/ff.xpi) = 455294
67
SIZE (xpi/firefox-i18n-56.0b4/ff.xpi) = 461860
68
SHA256 (xpi/firefox-i18n-55.0.2/fi.xpi) = 508a3b31e1640ad526679fc88f8a4880e961702647e69a1a729c59be6aa508a1
68
SHA256 (xpi/firefox-i18n-56.0b4/fi.xpi) = 30315cc2d4ce493c1462dfe3d1d97fbdceea331a155c2b2fead2322a6b11db16
69
SIZE (xpi/firefox-i18n-55.0.2/fi.xpi) = 453945
69
SIZE (xpi/firefox-i18n-56.0b4/fi.xpi) = 461135
70
SHA256 (xpi/firefox-i18n-55.0.2/fr.xpi) = f7a9ae993e3ddba9059ca908feb09c789f589c849144d97e0510796fd9698401
70
SHA256 (xpi/firefox-i18n-56.0b4/fr.xpi) = a3f4f53aae25570f6d316a60cfe735a5bb1acad6222f18ed776813fc87e6ae2f
71
SIZE (xpi/firefox-i18n-55.0.2/fr.xpi) = 476667
71
SIZE (xpi/firefox-i18n-56.0b4/fr.xpi) = 483323
72
SHA256 (xpi/firefox-i18n-55.0.2/fy-NL.xpi) = c6195293c22ee63afc93c013b6812d5b8916e5bfcb5d69d435c96cf767aa6c4e
72
SHA256 (xpi/firefox-i18n-56.0b4/fy-NL.xpi) = 8700c551364f445fbda68e5e97f4926a15c4da32d0f238aee2ca5eb2b96238dc
73
SIZE (xpi/firefox-i18n-55.0.2/fy-NL.xpi) = 469971
73
SIZE (xpi/firefox-i18n-56.0b4/fy-NL.xpi) = 476804
74
SHA256 (xpi/firefox-i18n-55.0.2/ga-IE.xpi) = f30b15373157cc539e337edbad29b79e0397049bb00eff6cdbbbbc5bc22ab15d
74
SHA256 (xpi/firefox-i18n-56.0b4/ga-IE.xpi) = 489847a798fe28c3333c1d6d225ee0c87ac6d389ccbd2cd04b2092eb2b87ce62
75
SIZE (xpi/firefox-i18n-55.0.2/ga-IE.xpi) = 481440
75
SIZE (xpi/firefox-i18n-56.0b4/ga-IE.xpi) = 488128
76
SHA256 (xpi/firefox-i18n-55.0.2/gd.xpi) = e0ef3361910c4c78ad273be5a3169619d6aac11d47b9aba94d5e526aea920b75
76
SHA256 (xpi/firefox-i18n-56.0b4/gd.xpi) = a321811a4f5b051cc021d96516f6e2e104bccbeecf5ecc4913f62aa305cf0746
77
SIZE (xpi/firefox-i18n-55.0.2/gd.xpi) = 469055
77
SIZE (xpi/firefox-i18n-56.0b4/gd.xpi) = 475688
78
SHA256 (xpi/firefox-i18n-55.0.2/gl.xpi) = 412cebca178f8c1ebef5da9d55051ade5ca61f57d298ed97d1f83e23d3d786b1
78
SHA256 (xpi/firefox-i18n-56.0b4/gl.xpi) = 2bd25e6a349b56045f5bc14247022908a92b5d7c6e42edd6c3b502569e1bbf9d
79
SIZE (xpi/firefox-i18n-55.0.2/gl.xpi) = 459111
79
SIZE (xpi/firefox-i18n-56.0b4/gl.xpi) = 465231
80
SHA256 (xpi/firefox-i18n-55.0.2/gn.xpi) = 6f6e6db35e1dfd8e9d321fea75ad2e263f78d66119d0fc57639fb83aa6ba6373
80
SHA256 (xpi/firefox-i18n-56.0b4/gn.xpi) = 5ac7af26986fbda50aeae171acf60c6d3a067f7421f765aed76087a76dbebe4f
81
SIZE (xpi/firefox-i18n-55.0.2/gn.xpi) = 476201
81
SIZE (xpi/firefox-i18n-56.0b4/gn.xpi) = 484550
82
SHA256 (xpi/firefox-i18n-55.0.2/gu-IN.xpi) = d64031df09998b827aa09977ee9c07b50054f4caf864608077eeeddef2f4a8d3
82
SHA256 (xpi/firefox-i18n-56.0b4/gu-IN.xpi) = 1b9c99da6217394db4117fc6af62ec380ff8bbbb2aee58ad5c85fd1bf76aee8d
83
SIZE (xpi/firefox-i18n-55.0.2/gu-IN.xpi) = 498986
83
SIZE (xpi/firefox-i18n-56.0b4/gu-IN.xpi) = 512486
84
SHA256 (xpi/firefox-i18n-55.0.2/he.xpi) = f692107175337753f8cd153576142211d0ac380539a660481dc2fd15883390c9
84
SHA256 (xpi/firefox-i18n-56.0b4/he.xpi) = ba17825233eddb38378ccc6d65f8f06c9e5d0c1a63c00cf9b14c5adaf8738edb
85
SIZE (xpi/firefox-i18n-55.0.2/he.xpi) = 479882
85
SIZE (xpi/firefox-i18n-56.0b4/he.xpi) = 487257
86
SHA256 (xpi/firefox-i18n-55.0.2/hi-IN.xpi) = 766c2eaa8cf73a033b6beb9001b8e19f97e7c4464aa543fc25ea53eb41c19514
86
SHA256 (xpi/firefox-i18n-56.0b4/hi-IN.xpi) = c460aac15419564e5622f0fbec5584543fb75ceb0dc5e5edf41522e3590ec9d1
87
SIZE (xpi/firefox-i18n-55.0.2/hi-IN.xpi) = 530572
87
SIZE (xpi/firefox-i18n-56.0b4/hi-IN.xpi) = 535965
88
SHA256 (xpi/firefox-i18n-55.0.2/hr.xpi) = 69c20124670aafdd216f7b4982f55771603a72efd007420a1baec299d6fc616d
88
SHA256 (xpi/firefox-i18n-56.0b4/hr.xpi) = bef1b02de45ff7890b33ce139c6452ea04e3d45e670950020462438f9d1566c9
89
SIZE (xpi/firefox-i18n-55.0.2/hr.xpi) = 467992
89
SIZE (xpi/firefox-i18n-56.0b4/hr.xpi) = 473820
90
SHA256 (xpi/firefox-i18n-55.0.2/hsb.xpi) = 22723b8195eeb0d93d98e8b47f296982e6b34021b7313107b1f14200d4ba6fc8
90
SHA256 (xpi/firefox-i18n-56.0b4/hsb.xpi) = 2835c02a078f136b55287ecb498458200684642ed7f2c766ae6ebb186aaa3cbe
91
SIZE (xpi/firefox-i18n-55.0.2/hsb.xpi) = 479798
91
SIZE (xpi/firefox-i18n-56.0b4/hsb.xpi) = 486353
92
SHA256 (xpi/firefox-i18n-55.0.2/hu.xpi) = b6813598a6018f993bf69b0a507d3f66986a36c47987d6068a305afa3ae85ef3
92
SHA256 (xpi/firefox-i18n-56.0b4/hu.xpi) = d6c073f52cd2f89cdc8f0390249f13db3892555e444d3d870f1ccc56be20561a
93
SIZE (xpi/firefox-i18n-55.0.2/hu.xpi) = 481645
93
SIZE (xpi/firefox-i18n-56.0b4/hu.xpi) = 487561
94
SHA256 (xpi/firefox-i18n-55.0.2/hy-AM.xpi) = aae9cfb28813295d1d511dc26c790dc88b13f8781612c8f14556ff01505df73e
94
SHA256 (xpi/firefox-i18n-56.0b4/hy-AM.xpi) = 85212c4296fa801f048afa441eac2862f4fba0a366e633d6ea4d1edc9d4b1fb6
95
SIZE (xpi/firefox-i18n-55.0.2/hy-AM.xpi) = 520878
95
SIZE (xpi/firefox-i18n-56.0b4/hy-AM.xpi) = 526460
96
SHA256 (xpi/firefox-i18n-55.0.2/id.xpi) = ac15a346d6f85d96e9df737346f5103955d72ef3ead75676ab228e4c208c35af
96
SHA256 (xpi/firefox-i18n-56.0b4/id.xpi) = 67584ac2610826d818cf514ad19dc2a4dd8f12368fecec9d442c9cd608e8fd25
97
SIZE (xpi/firefox-i18n-55.0.2/id.xpi) = 450290
97
SIZE (xpi/firefox-i18n-56.0b4/id.xpi) = 457829
98
SHA256 (xpi/firefox-i18n-55.0.2/is.xpi) = 4247bb15e96239ec7c04020b3581afd573b2700a1e36180f296b4b182f984cae
98
SHA256 (xpi/firefox-i18n-56.0b4/is.xpi) = 127e543846495b445b0b30f945167ac96d70d259b72ce5940ae566e261afe7ff
99
SIZE (xpi/firefox-i18n-55.0.2/is.xpi) = 464372
99
SIZE (xpi/firefox-i18n-56.0b4/is.xpi) = 466205
100
SHA256 (xpi/firefox-i18n-55.0.2/it.xpi) = 2d80c0646508e0b8c7ca749fd5d48a9ccd585a5f8a0f4d50bc37826dfd37fcb2
100
SHA256 (xpi/firefox-i18n-56.0b4/it.xpi) = b23dc0a8f78e02c1240f977f92243e981ef4c42bb7679508d7a920d78b356f5f
101
SIZE (xpi/firefox-i18n-55.0.2/it.xpi) = 352941
101
SIZE (xpi/firefox-i18n-56.0b4/it.xpi) = 357457
102
SHA256 (xpi/firefox-i18n-55.0.2/ja.xpi) = 32453552cb85c7507bfec4ddddbe6eedc11edd73a816d49f3c7c6ac37b5cc294
102
SHA256 (xpi/firefox-i18n-56.0b4/ja.xpi) = 00009bda21d876d30a903d2a3a214c0d8dc1efbc0c6c3ad75528830fd61e904c
103
SIZE (xpi/firefox-i18n-55.0.2/ja.xpi) = 519764
103
SIZE (xpi/firefox-i18n-56.0b4/ja.xpi) = 527910
104
SHA256 (xpi/firefox-i18n-55.0.2/ka.xpi) = a4b6a2ddb9a6136e989370d7f350d44b96e2f19336bc0d7e53e15261cc7a733a
104
SHA256 (xpi/firefox-i18n-56.0b4/ka.xpi) = 9124e0792edfee04b48d0674704f667a561a5c3162f00a0a08e12f38efab1081
105
SIZE (xpi/firefox-i18n-55.0.2/ka.xpi) = 493535
105
SIZE (xpi/firefox-i18n-56.0b4/ka.xpi) = 507862
106
SHA256 (xpi/firefox-i18n-55.0.2/kab.xpi) = 436e7b2ef41c8737b1ed6f2d962ed8f57b15a4f3f69ac7c1c016d7dae919fb67
106
SHA256 (xpi/firefox-i18n-56.0b4/kab.xpi) = 36487938f36d9226dd49f867b1f3828e6d179ae3cd8fea3099b36dd63da87a64
107
SIZE (xpi/firefox-i18n-55.0.2/kab.xpi) = 470044
107
SIZE (xpi/firefox-i18n-56.0b4/kab.xpi) = 476177
108
SHA256 (xpi/firefox-i18n-55.0.2/kk.xpi) = 2f4e1c23eb506e12e43097c7338896c0bbab3c31508ffb393bcedb0a5e3318b8
108
SHA256 (xpi/firefox-i18n-56.0b4/kk.xpi) = 46e085732ef0f3b81c688ccfd9153bf997846ad2da6d37ff4c6a4b28d96761a2
109
SIZE (xpi/firefox-i18n-55.0.2/kk.xpi) = 526707
109
SIZE (xpi/firefox-i18n-56.0b4/kk.xpi) = 533694
110
SHA256 (xpi/firefox-i18n-55.0.2/km.xpi) = 052c64e85a5c8f212de6b2a2343949ed9fc71d0b576af9e758ed1a6d7aac6180
110
SHA256 (xpi/firefox-i18n-56.0b4/km.xpi) = 06dc4d42f14a882d12778d3e924d2078dd412e997b118345d02208a27748641e
111
SIZE (xpi/firefox-i18n-55.0.2/km.xpi) = 540646
111
SIZE (xpi/firefox-i18n-56.0b4/km.xpi) = 548107
112
SHA256 (xpi/firefox-i18n-55.0.2/kn.xpi) = 2769feec48f1e8d5c4102c9c7178e021df31c38229c293f2ba54502b6adbddac
112
SHA256 (xpi/firefox-i18n-56.0b4/kn.xpi) = a25f35cc2d6b3cf120edde1a87155cc225cf8f377049abb4a8f29219138aed95
113
SIZE (xpi/firefox-i18n-55.0.2/kn.xpi) = 538859
113
SIZE (xpi/firefox-i18n-56.0b4/kn.xpi) = 544237
114
SHA256 (xpi/firefox-i18n-55.0.2/ko.xpi) = b4e1eb8a9f1f97e04c929f3068c5bc5d6915747b8680aa8bdd22cdb82cebb775
114
SHA256 (xpi/firefox-i18n-56.0b4/ko.xpi) = 6e857e42d809e4093fbbe609c056a2693a857658b04cbadcdbc0df392198a4de
115
SIZE (xpi/firefox-i18n-55.0.2/ko.xpi) = 494547
115
SIZE (xpi/firefox-i18n-56.0b4/ko.xpi) = 501657
116
SHA256 (xpi/firefox-i18n-55.0.2/lij.xpi) = ce352cbea0b218e852d09f7c644ddd4470906d8a6dc69fc91f1a20fd915788a0
116
SHA256 (xpi/firefox-i18n-56.0b4/lij.xpi) = 712a0a2be68a5ea95059eac7c4cfd6fa570836aa1ce1fa91581d918ad3a29988
117
SIZE (xpi/firefox-i18n-55.0.2/lij.xpi) = 458698
117
SIZE (xpi/firefox-i18n-56.0b4/lij.xpi) = 466033
118
SHA256 (xpi/firefox-i18n-55.0.2/lt.xpi) = b8ecfbdad46ce8ecdf6dd3c640010873ea0dfffaf8709a9a9a5b09c47e417e34
118
SHA256 (xpi/firefox-i18n-56.0b4/lt.xpi) = ab6f39c8353ed98241047491e813bf6436b7bc525df7c4ef0b45723b4136b067
119
SIZE (xpi/firefox-i18n-55.0.2/lt.xpi) = 481082
119
SIZE (xpi/firefox-i18n-56.0b4/lt.xpi) = 487514
120
SHA256 (xpi/firefox-i18n-55.0.2/lv.xpi) = 1fdf44120ccac809cef11e96e2ab905bcb2cdd299bfb0ef47f86dba7bed10779
120
SHA256 (xpi/firefox-i18n-56.0b4/lv.xpi) = c0a68ae27c424e700a4e0f469797aa10037afa25a061e8de0cf2a1d25682e512
121
SIZE (xpi/firefox-i18n-55.0.2/lv.xpi) = 473736
121
SIZE (xpi/firefox-i18n-56.0b4/lv.xpi) = 481006
122
SHA256 (xpi/firefox-i18n-55.0.2/mai.xpi) = e5821456e92e43fb5a4e55d1fb9ed5233ea73c5d00fda1dac7c3aa79d41ca78b
122
SHA256 (xpi/firefox-i18n-56.0b4/mai.xpi) = 7139c3526d615b8049c250cea8e9265d3a3e5f43553b79c4062fa3d00f6a40af
123
SIZE (xpi/firefox-i18n-55.0.2/mai.xpi) = 517894
123
SIZE (xpi/firefox-i18n-56.0b4/mai.xpi) = 523460
124
SHA256 (xpi/firefox-i18n-55.0.2/mk.xpi) = 3ec887c7024eb954f0c89edf51e521ed57e209f388bcbab4b79c8fccc18e4d8e
124
SHA256 (xpi/firefox-i18n-56.0b4/mk.xpi) = 9ba15fd658cee023ce6fc8bdd8a4272380b95c5669c3302c3e24e22c796a22fb
125
SIZE (xpi/firefox-i18n-55.0.2/mk.xpi) = 500207
125
SIZE (xpi/firefox-i18n-56.0b4/mk.xpi) = 506580
126
SHA256 (xpi/firefox-i18n-55.0.2/ml.xpi) = 2a704d9f28bf3b2b08bc4bcfbdcd452d0400d7823ec0e727f3040519264b76be
126
SHA256 (xpi/firefox-i18n-56.0b4/ml.xpi) = dc49a4a04e31df5bb6ddf97c8e57c207ea45d8bdec7748db88a8bae3c768254d
127
SIZE (xpi/firefox-i18n-55.0.2/ml.xpi) = 540982
127
SIZE (xpi/firefox-i18n-56.0b4/ml.xpi) = 546308
128
SHA256 (xpi/firefox-i18n-55.0.2/mr.xpi) = fc983bfffff3f06b43f3c8104dcb1f828a28e312696f428e74ab9756fcdb7cea
128
SHA256 (xpi/firefox-i18n-56.0b4/mr.xpi) = 19ce1cfe5644aa27057a0b1493534d02d3f042620112028ffacab8a275885564
129
SIZE (xpi/firefox-i18n-55.0.2/mr.xpi) = 528249
129
SIZE (xpi/firefox-i18n-56.0b4/mr.xpi) = 535356
130
SHA256 (xpi/firefox-i18n-55.0.2/ms.xpi) = 0763c540529962b74bd829eab79d56a126a57002f00b65a7b4ddeb429c4b6b96
130
SHA256 (xpi/firefox-i18n-56.0b4/ms.xpi) = fe0daf6ec109a46c6b92c5bab31bf68d94c4e2af2073bac6c34444dbfcb543be
131
SIZE (xpi/firefox-i18n-55.0.2/ms.xpi) = 459191
131
SIZE (xpi/firefox-i18n-56.0b4/ms.xpi) = 465346
132
SHA256 (xpi/firefox-i18n-55.0.2/my.xpi) = c9f07b8943758282bcadea50afca33c8a63ded415e2649b0ca18166ef066f966
132
SHA256 (xpi/firefox-i18n-56.0b4/my.xpi) = 3c2ba0009e2af5f16b53b19291e156d42dba42e6e60352c1d111c203f1c279f7
133
SIZE (xpi/firefox-i18n-55.0.2/my.xpi) = 528097
133
SIZE (xpi/firefox-i18n-56.0b4/my.xpi) = 535485
134
SHA256 (xpi/firefox-i18n-55.0.2/nb-NO.xpi) = 0d81e93a7a696677a6a0acf390ffce22de063919e7e1aa3ceaf83692685f0e38
134
SHA256 (xpi/firefox-i18n-56.0b4/nb-NO.xpi) = c30f9792dad9f3dc3bc58d09ceb182ee16950c21bf7240102672fd27f00ead2c
135
SIZE (xpi/firefox-i18n-55.0.2/nb-NO.xpi) = 457645
135
SIZE (xpi/firefox-i18n-56.0b4/nb-NO.xpi) = 464328
136
SHA256 (xpi/firefox-i18n-55.0.2/nl.xpi) = ae947b30da46fd27b36257aa021dad16810ad053195aa0e5e6e7e353fc3caf94
136
SHA256 (xpi/firefox-i18n-56.0b4/nl.xpi) = dd801df2eca1c3d066b10a11be6f4cac923b55e1c3ebe005a88219a27c41f405
137
SIZE (xpi/firefox-i18n-55.0.2/nl.xpi) = 461510
137
SIZE (xpi/firefox-i18n-56.0b4/nl.xpi) = 467817
138
SHA256 (xpi/firefox-i18n-55.0.2/nn-NO.xpi) = e5b7c72907e19605a1415d2c3787e9fd36409545e7189b4afa7311db061e0923
138
SHA256 (xpi/firefox-i18n-56.0b4/nn-NO.xpi) = 520f5d3c4d3fb14f8be937ef244e23a151b600566d721dbf2cc4952a3ada2e0c
139
SIZE (xpi/firefox-i18n-55.0.2/nn-NO.xpi) = 458457
139
SIZE (xpi/firefox-i18n-56.0b4/nn-NO.xpi) = 464961
140
SHA256 (xpi/firefox-i18n-55.0.2/or.xpi) = 277b31996462cfd1a001a333b99c538b409b89643aff7649090d37b14ea5ca44
140
SHA256 (xpi/firefox-i18n-56.0b4/or.xpi) = 10b34d93c44f289062ea509aa98491680ecf70c80631ab1b13e3b4b15307e5f3
141
SIZE (xpi/firefox-i18n-55.0.2/or.xpi) = 511354
141
SIZE (xpi/firefox-i18n-56.0b4/or.xpi) = 516928
142
SHA256 (xpi/firefox-i18n-55.0.2/pa-IN.xpi) = a2f6eacf6f683c01b74adaab8335db7d2aeb38829f0129b8b3bd22a2c5ccbc35
142
SHA256 (xpi/firefox-i18n-56.0b4/pa-IN.xpi) = 527c19109c2e15f3fa21632af7c30c39390ca20379ca79589e129b26737115dd
143
SIZE (xpi/firefox-i18n-55.0.2/pa-IN.xpi) = 498453
143
SIZE (xpi/firefox-i18n-56.0b4/pa-IN.xpi) = 507796
144
SHA256 (xpi/firefox-i18n-55.0.2/pl.xpi) = b308601a27898eb4cceeb6ca853fbc34bf152ee805921d05a17e72fb9dfa091b
144
SHA256 (xpi/firefox-i18n-56.0b4/pl.xpi) = 03a9e4ddf37a47565881d2546961c964867148c733658dc2c4674f8ca01b7b45
145
SIZE (xpi/firefox-i18n-55.0.2/pl.xpi) = 372429
145
SIZE (xpi/firefox-i18n-56.0b4/pl.xpi) = 376286
146
SHA256 (xpi/firefox-i18n-55.0.2/pt-BR.xpi) = 44f369e06bc35ad5c99d01fac8852e8c1ae0597a3355814e8f1bd3430ed38434
146
SHA256 (xpi/firefox-i18n-56.0b4/pt-BR.xpi) = d2ed8e4fb87aefbd13c765d3606bf02c7d67eee7ef8c0231f60d761a64fd6cea
147
SIZE (xpi/firefox-i18n-55.0.2/pt-BR.xpi) = 462717
147
SIZE (xpi/firefox-i18n-56.0b4/pt-BR.xpi) = 469703
148
SHA256 (xpi/firefox-i18n-55.0.2/pt-PT.xpi) = 24d9d9bd2264331368d7e384ea48d3ab2f5c5083e74b33a45c3e377c036276c4
148
SHA256 (xpi/firefox-i18n-56.0b4/pt-PT.xpi) = 91fba72d70f5c8df568f303a633c1993d731dd3baad71a649ee689685ff5715c
149
SIZE (xpi/firefox-i18n-55.0.2/pt-PT.xpi) = 465239
149
SIZE (xpi/firefox-i18n-56.0b4/pt-PT.xpi) = 471545
150
SHA256 (xpi/firefox-i18n-55.0.2/rm.xpi) = 2cbd0b9bd38b563dd3a95b0e687992efbbc0d4370fe3cebdb10a782fff4669c7
150
SHA256 (xpi/firefox-i18n-56.0b4/rm.xpi) = 7f5ba090ffb44f57e23bfc34fc8f82019a84019758d0080cc95a74c172b03ace
151
SIZE (xpi/firefox-i18n-55.0.2/rm.xpi) = 458265
151
SIZE (xpi/firefox-i18n-56.0b4/rm.xpi) = 466932
152
SHA256 (xpi/firefox-i18n-55.0.2/ro.xpi) = 1e0d626207c035571e8af87245b71aa236f16546d96588af624558fe04754248
152
SHA256 (xpi/firefox-i18n-56.0b4/ro.xpi) = 8a3767f202f9dba561fef11940a85da509deea9024214862547294ae916e1ac4
153
SIZE (xpi/firefox-i18n-55.0.2/ro.xpi) = 462973
153
SIZE (xpi/firefox-i18n-56.0b4/ro.xpi) = 469271
154
SHA256 (xpi/firefox-i18n-55.0.2/ru.xpi) = 9c800ccd0779e7b07fc8f9752c6555671c0debc234989ceac982529b1caba112
154
SHA256 (xpi/firefox-i18n-56.0b4/ru.xpi) = 79dc589f689b5809ff4411259214db6b8681dc5526ab0885c741697bb01b0eef
155
SIZE (xpi/firefox-i18n-55.0.2/ru.xpi) = 530901
155
SIZE (xpi/firefox-i18n-56.0b4/ru.xpi) = 540181
156
SHA256 (xpi/firefox-i18n-55.0.2/si.xpi) = c177b9c277b2ae3d127fc5dea23bf1de78885a2305c7a336c15201adac858f1b
156
SHA256 (xpi/firefox-i18n-56.0b4/si.xpi) = 81a80d73e28a7cdfa4aad3fe1a2a5339b47de72986671164b258e48fab1a3fd3
157
SIZE (xpi/firefox-i18n-55.0.2/si.xpi) = 508353
157
SIZE (xpi/firefox-i18n-56.0b4/si.xpi) = 514681
158
SHA256 (xpi/firefox-i18n-55.0.2/sk.xpi) = d7c6e8ee51b34e4de7a71f74f000f10318ba7198906f879ae3c722d0502aefa9
158
SHA256 (xpi/firefox-i18n-56.0b4/sk.xpi) = c629771b649d636da592e4de1c452f384f100ad97578085f42ff578c3aeed92d
159
SIZE (xpi/firefox-i18n-55.0.2/sk.xpi) = 487582
159
SIZE (xpi/firefox-i18n-56.0b4/sk.xpi) = 494327
160
SHA256 (xpi/firefox-i18n-55.0.2/sl.xpi) = 6730ca8f59d766b368a233a5fef21833b2a577ec9d08191820ee499fc64badb3
160
SHA256 (xpi/firefox-i18n-56.0b4/sl.xpi) = 8cb86b85f61d966a34a50f0aa03b1fb457369a6c59cda342089d63ec106e47d3
161
SIZE (xpi/firefox-i18n-55.0.2/sl.xpi) = 465760
161
SIZE (xpi/firefox-i18n-56.0b4/sl.xpi) = 472568
162
SHA256 (xpi/firefox-i18n-55.0.2/son.xpi) = 43f3607e7945c355048feed882b5368f8711d06d8b4b91940dc47368d9c861e6
162
SHA256 (xpi/firefox-i18n-56.0b4/son.xpi) = e34c7e0333bf7484b6eaba7868025707d3ac6d88fdabff38f5e8a6207f5e1e2a
163
SIZE (xpi/firefox-i18n-55.0.2/son.xpi) = 456958
163
SIZE (xpi/firefox-i18n-56.0b4/son.xpi) = 463080
164
SHA256 (xpi/firefox-i18n-55.0.2/sq.xpi) = 0b6613125d4a4bb9b48727f4b01f9d457ff90cf7456fc2b8fa3a460e0aa9e0a1
164
SHA256 (xpi/firefox-i18n-56.0b4/sq.xpi) = afc266e4047dee27345c0a6444b4ca92ab52c22981fe221ea85771bde3728bc6
165
SIZE (xpi/firefox-i18n-55.0.2/sq.xpi) = 470630
165
SIZE (xpi/firefox-i18n-56.0b4/sq.xpi) = 478090
166
SHA256 (xpi/firefox-i18n-55.0.2/sr.xpi) = 1eca19fd55f485b4536bb3c09da1427f6def8a8e04d202259abc396e73188997
166
SHA256 (xpi/firefox-i18n-56.0b4/sr.xpi) = bcefd7cb107a92ebb36b5ed80679adce44cff27b484ac5a5dc0a9d10fd1162ce
167
SIZE (xpi/firefox-i18n-55.0.2/sr.xpi) = 494878
167
SIZE (xpi/firefox-i18n-56.0b4/sr.xpi) = 503249
168
SHA256 (xpi/firefox-i18n-55.0.2/sv-SE.xpi) = 97fe6567c451504c4fd09ffba935ec7baa9c0d484f17b82b930ffbb43d601bb7
168
SHA256 (xpi/firefox-i18n-56.0b4/sv-SE.xpi) = 6b2d69feff4257739dcbdb120b72c1a00affac56cf3f9de79c125b35c7a2961c
169
SIZE (xpi/firefox-i18n-55.0.2/sv-SE.xpi) = 466011
169
SIZE (xpi/firefox-i18n-56.0b4/sv-SE.xpi) = 472697
170
SHA256 (xpi/firefox-i18n-55.0.2/ta.xpi) = b8caa6fdb34281b2d71cf05d4dc15e0982cb26b2aaa83e3f7057e84a5034e13a
170
SHA256 (xpi/firefox-i18n-56.0b4/ta.xpi) = 6c58721853c044a51a57da6296b434757443a731954127dc000ee93195344cd0
171
SIZE (xpi/firefox-i18n-55.0.2/ta.xpi) = 519998
171
SIZE (xpi/firefox-i18n-56.0b4/ta.xpi) = 529407
172
SHA256 (xpi/firefox-i18n-55.0.2/te.xpi) = c44d952fa3c941d9670b677c8dcd41ecb589b9cb258df7e397c0df5c982ce1d6
172
SHA256 (xpi/firefox-i18n-56.0b4/te.xpi) = 491cb796456943f09a07efa52975e9d6168767ce0cf1b74a75eda48a9257a470
173
SIZE (xpi/firefox-i18n-55.0.2/te.xpi) = 542539
173
SIZE (xpi/firefox-i18n-56.0b4/te.xpi) = 548348
174
SHA256 (xpi/firefox-i18n-55.0.2/th.xpi) = f9f873e91f5254e265bae5203d8b49494d68111ca2f45d3a71388c5c1c0eb266
174
SHA256 (xpi/firefox-i18n-56.0b4/th.xpi) = 3d0527bf8d4e123e99fc9dc27e3e5ef44706fa4d03e3cebb3ef29ddf327fcc44
175
SIZE (xpi/firefox-i18n-55.0.2/th.xpi) = 511903
175
SIZE (xpi/firefox-i18n-56.0b4/th.xpi) = 519059
176
SHA256 (xpi/firefox-i18n-55.0.2/tr.xpi) = 634f87351c726dd08127d7e6687b2d86cf255806fc98be9505e50080e4330d33
176
SHA256 (xpi/firefox-i18n-56.0b4/tr.xpi) = 11586e465484b5590370f22483ed1418ba1b4d5ba649543addc60a19a4830cca
177
SIZE (xpi/firefox-i18n-55.0.2/tr.xpi) = 472160
177
SIZE (xpi/firefox-i18n-56.0b4/tr.xpi) = 479826
178
SHA256 (xpi/firefox-i18n-55.0.2/uk.xpi) = 08e005c5cc4b7c8b61e3a2df65119c3e4e3239b557af1386997bf75d27935e22
178
SHA256 (xpi/firefox-i18n-56.0b4/uk.xpi) = fe544ee562f63790d7e8e4b6b3191fbc78e8e0842781908ce69e8d5423315846
179
SIZE (xpi/firefox-i18n-55.0.2/uk.xpi) = 526436
179
SIZE (xpi/firefox-i18n-56.0b4/uk.xpi) = 534199
180
SHA256 (xpi/firefox-i18n-55.0.2/ur.xpi) = 8079eb4e652f56773bad1470eaf383f45be4808ff0baa141138539d67af555c7
180
SHA256 (xpi/firefox-i18n-56.0b4/ur.xpi) = a25c8ed3d6cb5d9d0e42f107e01561d04f07d1976c4d3f9101578780404f245a
181
SIZE (xpi/firefox-i18n-55.0.2/ur.xpi) = 520753
181
SIZE (xpi/firefox-i18n-56.0b4/ur.xpi) = 526109
182
SHA256 (xpi/firefox-i18n-55.0.2/uz.xpi) = 61c08b0f2c59e5709caff710265fe854e540c8d1bb4da1e5505f59a3f9dd5cff
182
SHA256 (xpi/firefox-i18n-56.0b4/uz.xpi) = 8cca61c59f1153b82bcf88bae6e308154ca923fb46e2726d4fe62eb07043637c
183
SIZE (xpi/firefox-i18n-55.0.2/uz.xpi) = 467671
183
SIZE (xpi/firefox-i18n-56.0b4/uz.xpi) = 473862
184
SHA256 (xpi/firefox-i18n-55.0.2/vi.xpi) = 6fd1f6e564b23a91a34667bfca528696b09e4aa4adcfa168286de55eb7f938cb
184
SHA256 (xpi/firefox-i18n-56.0b4/vi.xpi) = 9a63fc963e4ab52a456772f3e97724fd982209dc08f52a4bb4bb0d492a7e8c92
185
SIZE (xpi/firefox-i18n-55.0.2/vi.xpi) = 476527
185
SIZE (xpi/firefox-i18n-56.0b4/vi.xpi) = 485055
186
SHA256 (xpi/firefox-i18n-55.0.2/xh.xpi) = 0a8c5541b5e084e64ded93f94c19b5ad483cea9425cbc7519082f3fd6886a377
186
SHA256 (xpi/firefox-i18n-56.0b4/xh.xpi) = 7321e4b31ece1a339f3cd57f23c8fa69686974ae6b8c0b42c5ee85b7b2a60abf
187
SIZE (xpi/firefox-i18n-55.0.2/xh.xpi) = 470719
187
SIZE (xpi/firefox-i18n-56.0b4/xh.xpi) = 476601
188
SHA256 (xpi/firefox-i18n-55.0.2/zh-CN.xpi) = a77bff1d91123cf255192e6d9998a879af2c4e8fff8bb228ff9c3df9229d62fe
188
SHA256 (xpi/firefox-i18n-56.0b4/zh-CN.xpi) = c504c88a732df0ef57e6edbfc9af7e32d45c1e05c0963f37e623b2477dc13ce2
189
SIZE (xpi/firefox-i18n-55.0.2/zh-CN.xpi) = 490383
189
SIZE (xpi/firefox-i18n-56.0b4/zh-CN.xpi) = 497730
190
SHA256 (xpi/firefox-i18n-55.0.2/zh-TW.xpi) = 5f3ed7ac4cd06305dab1b484716eecc067a97d2b6f2cfe16f82108b991b1a943
190
SHA256 (xpi/firefox-i18n-56.0b4/zh-TW.xpi) = 91023d2106965109401f3ee28064714229af2a5bd37bbc3852a8e6459fe73756
191
SIZE (xpi/firefox-i18n-55.0.2/zh-TW.xpi) = 489347
191
SIZE (xpi/firefox-i18n-56.0b4/zh-TW.xpi) = 496509
(-)b/www/firefox/Makefile (-14 / +12 lines)
Lines 2-10 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	firefox
4
PORTNAME=	firefox
5
DISTVERSION=	55.0.2
5
DISTVERSION=	56.0b4
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 \
Lines 13-32 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ Link Here
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:security/nss \
18
		libevent>=2.0.22:devel/libevent \
17
		libevent>=2.1.8:devel/libevent \
19
		harfbuzz>=1.4.6:print/harfbuzz \
18
		harfbuzz>=1.4.7:print/harfbuzz \
20
		graphite2>=1.3.10:graphics/graphite2 \
19
		graphite2>=1.3.10:graphics/graphite2 \
21
		png>=1.6.28:graphics/png \
20
		png>=1.6.31:graphics/png \
22
		libvorbis>=1.3.5,3:audio/libvorbis \
21
		libvorbis>=1.3.5,3:audio/libvorbis \
23
		libvpx>=1.5.0:multimedia/libvpx \
22
		libvpx>=1.5.0:multimedia/libvpx \
24
		sqlite3>=3.19.2:databases/sqlite3 \
23
		sqlite3>=3.19.3:databases/sqlite3 \
25
		${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \
24
		${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \
26
		v4l_compat>0:multimedia/v4l_compat \
25
		v4l_compat>0:multimedia/v4l_compat \
27
		autoconf-2.13:devel/autoconf213 \
26
		autoconf-2.13:devel/autoconf213 \
28
		yasm:devel/yasm \
27
		yasm:devel/yasm \
28
		llvm40>0:devel/llvm40 \
29
		zip:archivers/zip
29
		zip:archivers/zip
30
#		icu>=59.1,1:devel/icu \
30
#		soundtouch>=1.9.0:audio/soundtouch \
31
#		soundtouch>=1.9.0:audio/soundtouch \
31
32
32
LIB_DEPENDS=	libv4l2.so:multimedia/libv4l
33
LIB_DEPENDS=	libv4l2.so:multimedia/libv4l
Lines 34-40 LIB_DEPENDS= libv4l2.so:multimedia/libv4l Link Here
34
USE_GECKO=	gecko
35
USE_GECKO=	gecko
35
CONFLICTS_INSTALL=	firefox-esr-45.* firefox-esr-3[18].* firefox-esr-24.*
36
CONFLICTS_INSTALL=	firefox-esr-45.* firefox-esr-3[18].* firefox-esr-24.*
36
MOZ_PKGCONFIG_FILES=	# empty
37
MOZ_PKGCONFIG_FILES=	# empty
37
USE_MOZILLA=	-soundtouch
38
USE_MOZILLA=	-icu -soundtouch # XXX ports/218788
38
MOZILLA_NAME=	Firefox
39
MOZILLA_NAME=	Firefox
39
40
40
USE_GL=		gl
41
USE_GL=		gl
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 = 1502835004
1
TIMESTAMP = 1503084173
2
SHA256 (firefox-55.0.2.source.tar.xz) = 0b747822063dc4d7cbbbfccb44e5e7865441378c524032d4de7e94bfa1f475b7
2
SHA256 (firefox-56.0b4.source.tar.xz) = 5dee14f18efb12f9879809753294e39b49f75603241715d10dbc83597b1d231d
3
SIZE (firefox-55.0.2.source.tar.xz) = 234450696
3
SIZE (firefox-56.0b4.source.tar.xz) = 254293960
(-)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">
(-)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-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-bug1389133 (+26 lines)
Added Link Here
1
commit 9c5239adc7cf
2
Author: Martin Stransky <stransky@redhat.com>
3
Date:   Thu Aug 10 18:07:41 2017 +0200
4
5
    Bug 1389133 - don't invalidate style content for missing widgets, r=karlt
6
    
7
    MozReview-Commit-ID: 2KfjYGvsiVv
8
---
9
 widget/gtk/WidgetStyleCache.cpp | 4 ++++
10
 1 file changed, 4 insertions(+)
11
12
diff --git widget/gtk/WidgetStyleCache.cpp widget/gtk/WidgetStyleCache.cpp
13
index a1fa92bf57b8..bf0c2d080c17 100644
14
--- widget/gtk/WidgetStyleCache.cpp
15
+++ widget/gtk/WidgetStyleCache.cpp
16
@@ -622,6 +622,10 @@ GetWidget(WidgetNodeType aWidgetType)
17
   GtkWidget* widget = sWidgetStorage[aWidgetType];
18
   if (!widget) {
19
     widget = CreateWidget(aWidgetType);
20
+    // Some widgets (MOZ_GTK_COMBOBOX_SEPARATOR for instance) may not be
21
+    // available or implemented.
22
+    if (!widget)
23
+      return nullptr;
24
     // In GTK versions prior to 3.18, automatic invalidation of style contexts
25
     // for widgets was delayed until the next resize event.  Gecko however,
26
     // typically uses the style context before the resize event runs and so an
(-)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-toolkit_moz.configure (+13 lines)
Added Link Here
1
Bindgen crashes on i386
2
3
--- toolkit/moz.configure.orig	2017-08-08 06:07:58 UTC
4
+++ toolkit/moz.configure
5
@@ -620,7 +620,7 @@ def stylo_config(value, _, target):
6
 
7
     # If nothing is specified, default to building stylo where possible.
8
     if value.origin == 'default':
9
-        if target.os == 'GNU' and target.bitness == 32:
10
+        if target.os != 'WINNT' and target.bitness == 32:
11
             # The clang setup we use in automation is a little unusual, and
12
             # doesn't play well with bindgen on 32-bit Linux.
13
             pass

Return to bug 221335