FreeBSD Bugzilla – Attachment 185588 Details for
Bug 221335
www/firefox: update to 56.0
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
beta4
ff56.diff (text/plain), 89.20 KB, created by
Jan Beich
on 2017-08-19 20:34:10 UTC
(
hide
)
Description:
beta4
Filename:
MIME Type:
Creator:
Jan Beich
Created:
2017-08-19 20:34:10 UTC
Size:
89.20 KB
patch
obsolete
>From 77153062b8cd342cf2b945eb8df385a8b0e220f1 Mon Sep 17 00:00:00 2001 >From: jbeich <jbeich@35697150-7ecd-e111-bb59-0022644237b5> >Date: Mon, 7 Aug 2017 18:22:51 +0000 >Subject: [PATCH] www/firefox: update to 56.0 > >Changes: https://www.mozilla.org/firefox/56.0/releasenotes/ >PR: 221335 >Security: 1098a15b-b0f6-42b7-b5c7-8a8646e8be07 >MFH: 2017Q3 (requires r447450 and r447538) >--- > Mk/Uses/gecko.mk | 4 +- > Mk/bsd.gecko.mk | 11 +- > www/firefox-i18n/Makefile | 4 +- > www/firefox-i18n/distinfo | 382 ++++++------ > www/firefox/Makefile | 26 +- > www/firefox/distinfo | 6 +- > www/firefox/files/patch-bug1144632 | 26 +- > www/firefox/files/patch-bug1312182 | 376 ------------ > www/firefox/files/patch-bug1376268 | 61 -- > www/firefox/files/patch-bug1385597 | 24 - > www/firefox/files/patch-bug1389133 | 26 + > www/firefox/files/patch-bug826985 | 16 +- > www/firefox/files/patch-bug847568 | 2 +- > www/firefox/files/patch-rust-option | 816 -------------------------- > www/firefox/files/patch-toolkit_moz.configure | 13 + > 15 files changed, 270 insertions(+), 1523 deletions(-) > delete mode 100644 www/firefox/files/patch-bug1312182 > delete mode 100644 www/firefox/files/patch-bug1376268 > delete mode 100644 www/firefox/files/patch-bug1385597 > create mode 100644 www/firefox/files/patch-bug1389133 > delete mode 100644 www/firefox/files/patch-rust-option > create mode 100644 www/firefox/files/patch-toolkit_moz.configure > >diff --git a/Mk/Uses/gecko.mk b/Mk/Uses/gecko.mk >index 691bd5aaa827..a2975447daf2 100644 >--- a/Mk/Uses/gecko.mk >+++ b/Mk/Uses/gecko.mk >@@ -37,12 +37,12 @@ RUN_DEPENDS+= libxul>=45:www/libxul > .elif ${gecko_ARGS:Mfirefox} > > _GECKO_DEFAULT_VERSION= 52 >-_GECKO_VERSIONS= 52 55 >+_GECKO_VERSIONS= 52 56 > _GECKO_TYPE= firefox > > # Dependence lines for different Firefox versions > 52_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:www/firefox-esr >-55_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:www/firefox >+56_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:www/firefox > > .if exists(${LOCALBASE}/bin/firefox) > _GECKO_INSTALLED_VER!= ${LOCALBASE}/bin/firefox --version 2>/dev/null >diff --git a/Mk/bsd.gecko.mk b/Mk/bsd.gecko.mk >index 0978fd690aba..00426b4713f5 100644 >--- a/Mk/bsd.gecko.mk >+++ b/Mk/bsd.gecko.mk >@@ -388,13 +388,15 @@ post-patch-SNDIO-on: > ${MOZSRC}/media/webrtc/signaling/test/common.build > .endif > >-.if ${PORT_OPTIONS:MRUST} >-BUILD_DEPENDS+= rust>=1.15.1:${RUST_PORT} >+.if ${PORT_OPTIONS:MRUST} || ${MOZILLA_VER:R:R} >= 54 >+BUILD_DEPENDS+= rust>=1.17.0:${RUST_PORT} > . if ${MOZILLA_VER:R:R} >= 51 >-BUILD_DEPENDS+= cargo>=0.16.0:devel/cargo >+BUILD_DEPENDS+= cargo>=0.18.0:devel/cargo > . endif > RUST_PORT?= lang/rust >+. if ${MOZILLA_VER:R:R} < 54 > MOZ_OPTIONS+= --enable-rust >+. endif > .else > MOZ_OPTIONS+= --disable-rust > .endif >@@ -404,6 +406,9 @@ MOZ_OPTIONS+= --enable-debug --disable-release > STRIP= # ports/184285 > .else > MOZ_OPTIONS+= --disable-debug --disable-debug-symbols --enable-release >+. if ${MOZILLA_VER:R:R} >= 56 >+MOZ_OPTIONS+= --enable-rust-simd >+. endif > .endif > > .if ${PORT_OPTIONS:MDTRACE} >diff --git a/www/firefox-i18n/Makefile b/www/firefox-i18n/Makefile >index fb30b038484a..76bad8117d29 100644 >--- a/www/firefox-i18n/Makefile >+++ b/www/firefox-i18n/Makefile >@@ -2,7 +2,7 @@ > # $FreeBSD$ > > PORTNAME= firefox-i18n >-PORTVERSION= 55.0.2 >+PORTVERSION= 56.0b4 > CATEGORIES= www > MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${DISTVERSION}/linux-i686/xpi \ > MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build1/linux-i686/xpi >@@ -15,7 +15,7 @@ COMMENT= Localized interface for Firefox > > EXTRACT_DEPENDS= zip:archivers/zip > >-USES= zip:infozip gecko:firefox,55,build >+USES= zip:infozip gecko:firefox,56,build > USE_XPI= firefox > > NO_ARCH= yes >diff --git a/www/firefox-i18n/distinfo b/www/firefox-i18n/distinfo >index df66b7f5f1fc..600633af6d72 100644 >--- a/www/firefox-i18n/distinfo >+++ b/www/firefox-i18n/distinfo >@@ -1,191 +1,191 @@ >-TIMESTAMP = 1502835004 >-SHA256 (xpi/firefox-i18n-55.0.2/ach.xpi) = bfb4a7cdabd4de84f0fb9afd7088c63a5bf9fabcf029043ce29ca31e5445aa99 >-SIZE (xpi/firefox-i18n-55.0.2/ach.xpi) = 447504 >-SHA256 (xpi/firefox-i18n-55.0.2/af.xpi) = 9a184de60398afbb2ebc295bdeab3d380d279f10058e740f24a3698f58352ff9 >-SIZE (xpi/firefox-i18n-55.0.2/af.xpi) = 448924 >-SHA256 (xpi/firefox-i18n-55.0.2/an.xpi) = 0a2c0635cb5c93ee19f1349ee030deda1eb8424712139ea7dac907c6802163a5 >-SIZE (xpi/firefox-i18n-55.0.2/an.xpi) = 468638 >-SHA256 (xpi/firefox-i18n-55.0.2/ar.xpi) = 59fec790b299d60a79ff1c65f33badbc72ec35996415e556886c89c8eabf162f >-SIZE (xpi/firefox-i18n-55.0.2/ar.xpi) = 492759 >-SHA256 (xpi/firefox-i18n-55.0.2/as.xpi) = d86959041861745cf4ab092099a4589efc0e92c1e108fa4742a6df38d68bbf62 >-SIZE (xpi/firefox-i18n-55.0.2/as.xpi) = 501507 >-SHA256 (xpi/firefox-i18n-55.0.2/ast.xpi) = dd59a8c8f8b98da06f4d396e7fda15321b4997cd56b74a68ad92d99bc587c9cc >-SIZE (xpi/firefox-i18n-55.0.2/ast.xpi) = 460841 >-SHA256 (xpi/firefox-i18n-55.0.2/az.xpi) = afc69881d209ee9fbb6132ae6fa6aeb419d97ef59ff11947b49a1639b8ecd7d0 >-SIZE (xpi/firefox-i18n-55.0.2/az.xpi) = 475368 >-SHA256 (xpi/firefox-i18n-55.0.2/be.xpi) = c6bf8ca17e8fd12fa043c2467ee64aff590c30afa8739479faff4b1cffe1da38 >-SIZE (xpi/firefox-i18n-55.0.2/be.xpi) = 522575 >-SHA256 (xpi/firefox-i18n-55.0.2/bg.xpi) = 40a1381e347e117dc1bdf153ac5edd58b4afd9326dcebc7305f795e2ec87c3dc >-SIZE (xpi/firefox-i18n-55.0.2/bg.xpi) = 520012 >-SHA256 (xpi/firefox-i18n-55.0.2/bn-BD.xpi) = b005201e63d39f880940e925e3b3d4b3db2ceedcf778568ddbf56547a3570e10 >-SIZE (xpi/firefox-i18n-55.0.2/bn-BD.xpi) = 535107 >-SHA256 (xpi/firefox-i18n-55.0.2/bn-IN.xpi) = 762820b3c1761f164a4fdd19988f12469804d79b01baf1acdfc72aca1ff279cf >-SIZE (xpi/firefox-i18n-55.0.2/bn-IN.xpi) = 526354 >-SHA256 (xpi/firefox-i18n-55.0.2/br.xpi) = 93f2788cf935f8e911f36f83762a31c28b01acddff46061cc0aab9124fe4909a >-SIZE (xpi/firefox-i18n-55.0.2/br.xpi) = 457060 >-SHA256 (xpi/firefox-i18n-55.0.2/bs.xpi) = b999ef74b583a07afaf37f9287ac71a571fbc18b0575220f2a45c55b5ccd785c >-SIZE (xpi/firefox-i18n-55.0.2/bs.xpi) = 465026 >-SHA256 (xpi/firefox-i18n-55.0.2/ca.xpi) = 9659631f5e6758339352b709393c449bb64b83313bb8d7884d260dff9bd03a6d >-SIZE (xpi/firefox-i18n-55.0.2/ca.xpi) = 473018 >-SHA256 (xpi/firefox-i18n-55.0.2/cak.xpi) = afe2e530b011c42c6016b29a275393f6cc2f5759f77fda142d0cebf9656f5549 >-SIZE (xpi/firefox-i18n-55.0.2/cak.xpi) = 481774 >-SHA256 (xpi/firefox-i18n-55.0.2/cs.xpi) = 747555a52c9a2730b1758bdb6b292e0763f348b8edd63981de5359edfda64a66 >-SIZE (xpi/firefox-i18n-55.0.2/cs.xpi) = 476809 >-SHA256 (xpi/firefox-i18n-55.0.2/cy.xpi) = 05c9a6af92169e3c96e6ec086f9208701ab343e4ae2bd5e9cab2ef2e1847063d >-SIZE (xpi/firefox-i18n-55.0.2/cy.xpi) = 458725 >-SHA256 (xpi/firefox-i18n-55.0.2/da.xpi) = 9e51e34764588b9568d1bae8c10a78bd093af240707fd1da99bdbcc73ca24891 >-SIZE (xpi/firefox-i18n-55.0.2/da.xpi) = 452604 >-SHA256 (xpi/firefox-i18n-55.0.2/de.xpi) = f976be213b1bd161a3dc8429580e2565490781c6dfe63d7660a9c929680dbda0 >-SIZE (xpi/firefox-i18n-55.0.2/de.xpi) = 465990 >-SHA256 (xpi/firefox-i18n-55.0.2/dsb.xpi) = f9b1e337d9bd37392729dcea8817c57091bc651b9725cb5f283ac803a3bc1a90 >-SIZE (xpi/firefox-i18n-55.0.2/dsb.xpi) = 482081 >-SHA256 (xpi/firefox-i18n-55.0.2/el.xpi) = f850003853c1c93c560ba48df4f208292c2a6b7e69d3b24ca4fdb54c03d11023 >-SIZE (xpi/firefox-i18n-55.0.2/el.xpi) = 539777 >-SHA256 (xpi/firefox-i18n-55.0.2/en-GB.xpi) = f2e5be6fef803229bd6d46bbf6ac6a53cd48995aecb4089055846a2116a09875 >-SIZE (xpi/firefox-i18n-55.0.2/en-GB.xpi) = 439269 >-SHA256 (xpi/firefox-i18n-55.0.2/en-US.xpi) = 4821f12b5a7543d4284a091425b8edbde0877d7c58ec5bea8483e055f2a4f695 >-SIZE (xpi/firefox-i18n-55.0.2/en-US.xpi) = 439814 >-SHA256 (xpi/firefox-i18n-55.0.2/en-ZA.xpi) = 3d9ae4ae510bac83e8afd780b392648d840a668daa6c8aaa053239c0aeb08cd9 >-SIZE (xpi/firefox-i18n-55.0.2/en-ZA.xpi) = 438621 >-SHA256 (xpi/firefox-i18n-55.0.2/eo.xpi) = 8b5aec1fa22944e6b03f0afc3a20ead5068c3a11331c36e6648f19d3d9f8bd49 >-SIZE (xpi/firefox-i18n-55.0.2/eo.xpi) = 461140 >-SHA256 (xpi/firefox-i18n-55.0.2/es-AR.xpi) = 35d65264214e1ec2fd29a63657d83bfb0f5c39e494414e6188572457244daec6 >-SIZE (xpi/firefox-i18n-55.0.2/es-AR.xpi) = 467619 >-SHA256 (xpi/firefox-i18n-55.0.2/es-CL.xpi) = 8832427bf10acdc2862b7c40b188da515969644347b789834b762fe48e40eddb >-SIZE (xpi/firefox-i18n-55.0.2/es-CL.xpi) = 471599 >-SHA256 (xpi/firefox-i18n-55.0.2/es-ES.xpi) = ca9c14ff64cf4e4350d1fa3988cd62ff2af9442fd3b9f29db27717acd1f2048b >-SIZE (xpi/firefox-i18n-55.0.2/es-ES.xpi) = 359824 >-SHA256 (xpi/firefox-i18n-55.0.2/es-MX.xpi) = de81730bc1342b46f1b4efd492e1ad34f68d87d8b08fd6c18a9ef7d593f9d950 >-SIZE (xpi/firefox-i18n-55.0.2/es-MX.xpi) = 474245 >-SHA256 (xpi/firefox-i18n-55.0.2/et.xpi) = 82528a4430d928f43fb22e230d84f40ad2dce69a1de05167911dc34f40f161ae >-SIZE (xpi/firefox-i18n-55.0.2/et.xpi) = 454471 >-SHA256 (xpi/firefox-i18n-55.0.2/eu.xpi) = 408570b28e435c5a13fd680cfd5c935ce7e368366ff1ad8d83b1a36153b5797a >-SIZE (xpi/firefox-i18n-55.0.2/eu.xpi) = 460419 >-SHA256 (xpi/firefox-i18n-55.0.2/fa.xpi) = d0e74715212faa1aec8802830bb2a7345be88cbf9e40e809a0dd3dc9dd5f70ea >-SIZE (xpi/firefox-i18n-55.0.2/fa.xpi) = 511561 >-SHA256 (xpi/firefox-i18n-55.0.2/ff.xpi) = 7d1f12435a321403c4126455ac765ae672d38f9b7de7e712dde01b1a36be032b >-SIZE (xpi/firefox-i18n-55.0.2/ff.xpi) = 455294 >-SHA256 (xpi/firefox-i18n-55.0.2/fi.xpi) = 508a3b31e1640ad526679fc88f8a4880e961702647e69a1a729c59be6aa508a1 >-SIZE (xpi/firefox-i18n-55.0.2/fi.xpi) = 453945 >-SHA256 (xpi/firefox-i18n-55.0.2/fr.xpi) = f7a9ae993e3ddba9059ca908feb09c789f589c849144d97e0510796fd9698401 >-SIZE (xpi/firefox-i18n-55.0.2/fr.xpi) = 476667 >-SHA256 (xpi/firefox-i18n-55.0.2/fy-NL.xpi) = c6195293c22ee63afc93c013b6812d5b8916e5bfcb5d69d435c96cf767aa6c4e >-SIZE (xpi/firefox-i18n-55.0.2/fy-NL.xpi) = 469971 >-SHA256 (xpi/firefox-i18n-55.0.2/ga-IE.xpi) = f30b15373157cc539e337edbad29b79e0397049bb00eff6cdbbbbc5bc22ab15d >-SIZE (xpi/firefox-i18n-55.0.2/ga-IE.xpi) = 481440 >-SHA256 (xpi/firefox-i18n-55.0.2/gd.xpi) = e0ef3361910c4c78ad273be5a3169619d6aac11d47b9aba94d5e526aea920b75 >-SIZE (xpi/firefox-i18n-55.0.2/gd.xpi) = 469055 >-SHA256 (xpi/firefox-i18n-55.0.2/gl.xpi) = 412cebca178f8c1ebef5da9d55051ade5ca61f57d298ed97d1f83e23d3d786b1 >-SIZE (xpi/firefox-i18n-55.0.2/gl.xpi) = 459111 >-SHA256 (xpi/firefox-i18n-55.0.2/gn.xpi) = 6f6e6db35e1dfd8e9d321fea75ad2e263f78d66119d0fc57639fb83aa6ba6373 >-SIZE (xpi/firefox-i18n-55.0.2/gn.xpi) = 476201 >-SHA256 (xpi/firefox-i18n-55.0.2/gu-IN.xpi) = d64031df09998b827aa09977ee9c07b50054f4caf864608077eeeddef2f4a8d3 >-SIZE (xpi/firefox-i18n-55.0.2/gu-IN.xpi) = 498986 >-SHA256 (xpi/firefox-i18n-55.0.2/he.xpi) = f692107175337753f8cd153576142211d0ac380539a660481dc2fd15883390c9 >-SIZE (xpi/firefox-i18n-55.0.2/he.xpi) = 479882 >-SHA256 (xpi/firefox-i18n-55.0.2/hi-IN.xpi) = 766c2eaa8cf73a033b6beb9001b8e19f97e7c4464aa543fc25ea53eb41c19514 >-SIZE (xpi/firefox-i18n-55.0.2/hi-IN.xpi) = 530572 >-SHA256 (xpi/firefox-i18n-55.0.2/hr.xpi) = 69c20124670aafdd216f7b4982f55771603a72efd007420a1baec299d6fc616d >-SIZE (xpi/firefox-i18n-55.0.2/hr.xpi) = 467992 >-SHA256 (xpi/firefox-i18n-55.0.2/hsb.xpi) = 22723b8195eeb0d93d98e8b47f296982e6b34021b7313107b1f14200d4ba6fc8 >-SIZE (xpi/firefox-i18n-55.0.2/hsb.xpi) = 479798 >-SHA256 (xpi/firefox-i18n-55.0.2/hu.xpi) = b6813598a6018f993bf69b0a507d3f66986a36c47987d6068a305afa3ae85ef3 >-SIZE (xpi/firefox-i18n-55.0.2/hu.xpi) = 481645 >-SHA256 (xpi/firefox-i18n-55.0.2/hy-AM.xpi) = aae9cfb28813295d1d511dc26c790dc88b13f8781612c8f14556ff01505df73e >-SIZE (xpi/firefox-i18n-55.0.2/hy-AM.xpi) = 520878 >-SHA256 (xpi/firefox-i18n-55.0.2/id.xpi) = ac15a346d6f85d96e9df737346f5103955d72ef3ead75676ab228e4c208c35af >-SIZE (xpi/firefox-i18n-55.0.2/id.xpi) = 450290 >-SHA256 (xpi/firefox-i18n-55.0.2/is.xpi) = 4247bb15e96239ec7c04020b3581afd573b2700a1e36180f296b4b182f984cae >-SIZE (xpi/firefox-i18n-55.0.2/is.xpi) = 464372 >-SHA256 (xpi/firefox-i18n-55.0.2/it.xpi) = 2d80c0646508e0b8c7ca749fd5d48a9ccd585a5f8a0f4d50bc37826dfd37fcb2 >-SIZE (xpi/firefox-i18n-55.0.2/it.xpi) = 352941 >-SHA256 (xpi/firefox-i18n-55.0.2/ja.xpi) = 32453552cb85c7507bfec4ddddbe6eedc11edd73a816d49f3c7c6ac37b5cc294 >-SIZE (xpi/firefox-i18n-55.0.2/ja.xpi) = 519764 >-SHA256 (xpi/firefox-i18n-55.0.2/ka.xpi) = a4b6a2ddb9a6136e989370d7f350d44b96e2f19336bc0d7e53e15261cc7a733a >-SIZE (xpi/firefox-i18n-55.0.2/ka.xpi) = 493535 >-SHA256 (xpi/firefox-i18n-55.0.2/kab.xpi) = 436e7b2ef41c8737b1ed6f2d962ed8f57b15a4f3f69ac7c1c016d7dae919fb67 >-SIZE (xpi/firefox-i18n-55.0.2/kab.xpi) = 470044 >-SHA256 (xpi/firefox-i18n-55.0.2/kk.xpi) = 2f4e1c23eb506e12e43097c7338896c0bbab3c31508ffb393bcedb0a5e3318b8 >-SIZE (xpi/firefox-i18n-55.0.2/kk.xpi) = 526707 >-SHA256 (xpi/firefox-i18n-55.0.2/km.xpi) = 052c64e85a5c8f212de6b2a2343949ed9fc71d0b576af9e758ed1a6d7aac6180 >-SIZE (xpi/firefox-i18n-55.0.2/km.xpi) = 540646 >-SHA256 (xpi/firefox-i18n-55.0.2/kn.xpi) = 2769feec48f1e8d5c4102c9c7178e021df31c38229c293f2ba54502b6adbddac >-SIZE (xpi/firefox-i18n-55.0.2/kn.xpi) = 538859 >-SHA256 (xpi/firefox-i18n-55.0.2/ko.xpi) = b4e1eb8a9f1f97e04c929f3068c5bc5d6915747b8680aa8bdd22cdb82cebb775 >-SIZE (xpi/firefox-i18n-55.0.2/ko.xpi) = 494547 >-SHA256 (xpi/firefox-i18n-55.0.2/lij.xpi) = ce352cbea0b218e852d09f7c644ddd4470906d8a6dc69fc91f1a20fd915788a0 >-SIZE (xpi/firefox-i18n-55.0.2/lij.xpi) = 458698 >-SHA256 (xpi/firefox-i18n-55.0.2/lt.xpi) = b8ecfbdad46ce8ecdf6dd3c640010873ea0dfffaf8709a9a9a5b09c47e417e34 >-SIZE (xpi/firefox-i18n-55.0.2/lt.xpi) = 481082 >-SHA256 (xpi/firefox-i18n-55.0.2/lv.xpi) = 1fdf44120ccac809cef11e96e2ab905bcb2cdd299bfb0ef47f86dba7bed10779 >-SIZE (xpi/firefox-i18n-55.0.2/lv.xpi) = 473736 >-SHA256 (xpi/firefox-i18n-55.0.2/mai.xpi) = e5821456e92e43fb5a4e55d1fb9ed5233ea73c5d00fda1dac7c3aa79d41ca78b >-SIZE (xpi/firefox-i18n-55.0.2/mai.xpi) = 517894 >-SHA256 (xpi/firefox-i18n-55.0.2/mk.xpi) = 3ec887c7024eb954f0c89edf51e521ed57e209f388bcbab4b79c8fccc18e4d8e >-SIZE (xpi/firefox-i18n-55.0.2/mk.xpi) = 500207 >-SHA256 (xpi/firefox-i18n-55.0.2/ml.xpi) = 2a704d9f28bf3b2b08bc4bcfbdcd452d0400d7823ec0e727f3040519264b76be >-SIZE (xpi/firefox-i18n-55.0.2/ml.xpi) = 540982 >-SHA256 (xpi/firefox-i18n-55.0.2/mr.xpi) = fc983bfffff3f06b43f3c8104dcb1f828a28e312696f428e74ab9756fcdb7cea >-SIZE (xpi/firefox-i18n-55.0.2/mr.xpi) = 528249 >-SHA256 (xpi/firefox-i18n-55.0.2/ms.xpi) = 0763c540529962b74bd829eab79d56a126a57002f00b65a7b4ddeb429c4b6b96 >-SIZE (xpi/firefox-i18n-55.0.2/ms.xpi) = 459191 >-SHA256 (xpi/firefox-i18n-55.0.2/my.xpi) = c9f07b8943758282bcadea50afca33c8a63ded415e2649b0ca18166ef066f966 >-SIZE (xpi/firefox-i18n-55.0.2/my.xpi) = 528097 >-SHA256 (xpi/firefox-i18n-55.0.2/nb-NO.xpi) = 0d81e93a7a696677a6a0acf390ffce22de063919e7e1aa3ceaf83692685f0e38 >-SIZE (xpi/firefox-i18n-55.0.2/nb-NO.xpi) = 457645 >-SHA256 (xpi/firefox-i18n-55.0.2/nl.xpi) = ae947b30da46fd27b36257aa021dad16810ad053195aa0e5e6e7e353fc3caf94 >-SIZE (xpi/firefox-i18n-55.0.2/nl.xpi) = 461510 >-SHA256 (xpi/firefox-i18n-55.0.2/nn-NO.xpi) = e5b7c72907e19605a1415d2c3787e9fd36409545e7189b4afa7311db061e0923 >-SIZE (xpi/firefox-i18n-55.0.2/nn-NO.xpi) = 458457 >-SHA256 (xpi/firefox-i18n-55.0.2/or.xpi) = 277b31996462cfd1a001a333b99c538b409b89643aff7649090d37b14ea5ca44 >-SIZE (xpi/firefox-i18n-55.0.2/or.xpi) = 511354 >-SHA256 (xpi/firefox-i18n-55.0.2/pa-IN.xpi) = a2f6eacf6f683c01b74adaab8335db7d2aeb38829f0129b8b3bd22a2c5ccbc35 >-SIZE (xpi/firefox-i18n-55.0.2/pa-IN.xpi) = 498453 >-SHA256 (xpi/firefox-i18n-55.0.2/pl.xpi) = b308601a27898eb4cceeb6ca853fbc34bf152ee805921d05a17e72fb9dfa091b >-SIZE (xpi/firefox-i18n-55.0.2/pl.xpi) = 372429 >-SHA256 (xpi/firefox-i18n-55.0.2/pt-BR.xpi) = 44f369e06bc35ad5c99d01fac8852e8c1ae0597a3355814e8f1bd3430ed38434 >-SIZE (xpi/firefox-i18n-55.0.2/pt-BR.xpi) = 462717 >-SHA256 (xpi/firefox-i18n-55.0.2/pt-PT.xpi) = 24d9d9bd2264331368d7e384ea48d3ab2f5c5083e74b33a45c3e377c036276c4 >-SIZE (xpi/firefox-i18n-55.0.2/pt-PT.xpi) = 465239 >-SHA256 (xpi/firefox-i18n-55.0.2/rm.xpi) = 2cbd0b9bd38b563dd3a95b0e687992efbbc0d4370fe3cebdb10a782fff4669c7 >-SIZE (xpi/firefox-i18n-55.0.2/rm.xpi) = 458265 >-SHA256 (xpi/firefox-i18n-55.0.2/ro.xpi) = 1e0d626207c035571e8af87245b71aa236f16546d96588af624558fe04754248 >-SIZE (xpi/firefox-i18n-55.0.2/ro.xpi) = 462973 >-SHA256 (xpi/firefox-i18n-55.0.2/ru.xpi) = 9c800ccd0779e7b07fc8f9752c6555671c0debc234989ceac982529b1caba112 >-SIZE (xpi/firefox-i18n-55.0.2/ru.xpi) = 530901 >-SHA256 (xpi/firefox-i18n-55.0.2/si.xpi) = c177b9c277b2ae3d127fc5dea23bf1de78885a2305c7a336c15201adac858f1b >-SIZE (xpi/firefox-i18n-55.0.2/si.xpi) = 508353 >-SHA256 (xpi/firefox-i18n-55.0.2/sk.xpi) = d7c6e8ee51b34e4de7a71f74f000f10318ba7198906f879ae3c722d0502aefa9 >-SIZE (xpi/firefox-i18n-55.0.2/sk.xpi) = 487582 >-SHA256 (xpi/firefox-i18n-55.0.2/sl.xpi) = 6730ca8f59d766b368a233a5fef21833b2a577ec9d08191820ee499fc64badb3 >-SIZE (xpi/firefox-i18n-55.0.2/sl.xpi) = 465760 >-SHA256 (xpi/firefox-i18n-55.0.2/son.xpi) = 43f3607e7945c355048feed882b5368f8711d06d8b4b91940dc47368d9c861e6 >-SIZE (xpi/firefox-i18n-55.0.2/son.xpi) = 456958 >-SHA256 (xpi/firefox-i18n-55.0.2/sq.xpi) = 0b6613125d4a4bb9b48727f4b01f9d457ff90cf7456fc2b8fa3a460e0aa9e0a1 >-SIZE (xpi/firefox-i18n-55.0.2/sq.xpi) = 470630 >-SHA256 (xpi/firefox-i18n-55.0.2/sr.xpi) = 1eca19fd55f485b4536bb3c09da1427f6def8a8e04d202259abc396e73188997 >-SIZE (xpi/firefox-i18n-55.0.2/sr.xpi) = 494878 >-SHA256 (xpi/firefox-i18n-55.0.2/sv-SE.xpi) = 97fe6567c451504c4fd09ffba935ec7baa9c0d484f17b82b930ffbb43d601bb7 >-SIZE (xpi/firefox-i18n-55.0.2/sv-SE.xpi) = 466011 >-SHA256 (xpi/firefox-i18n-55.0.2/ta.xpi) = b8caa6fdb34281b2d71cf05d4dc15e0982cb26b2aaa83e3f7057e84a5034e13a >-SIZE (xpi/firefox-i18n-55.0.2/ta.xpi) = 519998 >-SHA256 (xpi/firefox-i18n-55.0.2/te.xpi) = c44d952fa3c941d9670b677c8dcd41ecb589b9cb258df7e397c0df5c982ce1d6 >-SIZE (xpi/firefox-i18n-55.0.2/te.xpi) = 542539 >-SHA256 (xpi/firefox-i18n-55.0.2/th.xpi) = f9f873e91f5254e265bae5203d8b49494d68111ca2f45d3a71388c5c1c0eb266 >-SIZE (xpi/firefox-i18n-55.0.2/th.xpi) = 511903 >-SHA256 (xpi/firefox-i18n-55.0.2/tr.xpi) = 634f87351c726dd08127d7e6687b2d86cf255806fc98be9505e50080e4330d33 >-SIZE (xpi/firefox-i18n-55.0.2/tr.xpi) = 472160 >-SHA256 (xpi/firefox-i18n-55.0.2/uk.xpi) = 08e005c5cc4b7c8b61e3a2df65119c3e4e3239b557af1386997bf75d27935e22 >-SIZE (xpi/firefox-i18n-55.0.2/uk.xpi) = 526436 >-SHA256 (xpi/firefox-i18n-55.0.2/ur.xpi) = 8079eb4e652f56773bad1470eaf383f45be4808ff0baa141138539d67af555c7 >-SIZE (xpi/firefox-i18n-55.0.2/ur.xpi) = 520753 >-SHA256 (xpi/firefox-i18n-55.0.2/uz.xpi) = 61c08b0f2c59e5709caff710265fe854e540c8d1bb4da1e5505f59a3f9dd5cff >-SIZE (xpi/firefox-i18n-55.0.2/uz.xpi) = 467671 >-SHA256 (xpi/firefox-i18n-55.0.2/vi.xpi) = 6fd1f6e564b23a91a34667bfca528696b09e4aa4adcfa168286de55eb7f938cb >-SIZE (xpi/firefox-i18n-55.0.2/vi.xpi) = 476527 >-SHA256 (xpi/firefox-i18n-55.0.2/xh.xpi) = 0a8c5541b5e084e64ded93f94c19b5ad483cea9425cbc7519082f3fd6886a377 >-SIZE (xpi/firefox-i18n-55.0.2/xh.xpi) = 470719 >-SHA256 (xpi/firefox-i18n-55.0.2/zh-CN.xpi) = a77bff1d91123cf255192e6d9998a879af2c4e8fff8bb228ff9c3df9229d62fe >-SIZE (xpi/firefox-i18n-55.0.2/zh-CN.xpi) = 490383 >-SHA256 (xpi/firefox-i18n-55.0.2/zh-TW.xpi) = 5f3ed7ac4cd06305dab1b484716eecc067a97d2b6f2cfe16f82108b991b1a943 >-SIZE (xpi/firefox-i18n-55.0.2/zh-TW.xpi) = 489347 >+TIMESTAMP = 1503084173 >+SHA256 (xpi/firefox-i18n-56.0b4/ach.xpi) = 412d590806c83a0048e0e0fe90b55a05feb225f98d7ab7bd17ccbc8da4ea5d22 >+SIZE (xpi/firefox-i18n-56.0b4/ach.xpi) = 453652 >+SHA256 (xpi/firefox-i18n-56.0b4/af.xpi) = 492a985216b9991620c70a4aa67083afb27e5861821cca8c967e72cf0d50eab9 >+SIZE (xpi/firefox-i18n-56.0b4/af.xpi) = 454977 >+SHA256 (xpi/firefox-i18n-56.0b4/an.xpi) = 6894dd02211ddce20a4805eb5bbbbb469815599397f3df298c542f6e5275e4e6 >+SIZE (xpi/firefox-i18n-56.0b4/an.xpi) = 474624 >+SHA256 (xpi/firefox-i18n-56.0b4/ar.xpi) = d43ba5d761c86f6f72df9ba56fe8228490546cb41aff2efcdb1e0d465ccb8b5f >+SIZE (xpi/firefox-i18n-56.0b4/ar.xpi) = 499454 >+SHA256 (xpi/firefox-i18n-56.0b4/as.xpi) = 2299695121e34d4b55c62107d1ff7ddcf32a63aaf3f145fdeb461d1a8ddeac54 >+SIZE (xpi/firefox-i18n-56.0b4/as.xpi) = 507000 >+SHA256 (xpi/firefox-i18n-56.0b4/ast.xpi) = eeb3ea046af00cab26633a3a4d370e704dd9ce8a0a8fd50deb3907bb24997acd >+SIZE (xpi/firefox-i18n-56.0b4/ast.xpi) = 467915 >+SHA256 (xpi/firefox-i18n-56.0b4/az.xpi) = 8945fa6a28ee498cb23c401e7e4458cb007857fea7bace6cf6c890b5517497bc >+SIZE (xpi/firefox-i18n-56.0b4/az.xpi) = 483745 >+SHA256 (xpi/firefox-i18n-56.0b4/be.xpi) = 2c9df8ad9115952d87af9ffe6612e79c630ea7fe8310afa74e20699b8ab0bb76 >+SIZE (xpi/firefox-i18n-56.0b4/be.xpi) = 530147 >+SHA256 (xpi/firefox-i18n-56.0b4/bg.xpi) = bcf026ee35b13a6f696777fb5a8b8fd7257def01bce6f4c87cc505f9425679b1 >+SIZE (xpi/firefox-i18n-56.0b4/bg.xpi) = 527550 >+SHA256 (xpi/firefox-i18n-56.0b4/bn-BD.xpi) = a8b4fff82480a173a0d20969e427bb9c5c30ec7dcac21ca56cc334c1e3674bec >+SIZE (xpi/firefox-i18n-56.0b4/bn-BD.xpi) = 541521 >+SHA256 (xpi/firefox-i18n-56.0b4/bn-IN.xpi) = edf7026aed76ecb633357cd5ccb6febdc54284a65a12f9cc6380fff2ef04b22f >+SIZE (xpi/firefox-i18n-56.0b4/bn-IN.xpi) = 533200 >+SHA256 (xpi/firefox-i18n-56.0b4/br.xpi) = 5c16c2b88700918bb472a21c97d0a5734a53beacbcc0af4c11ac2c818f22b6ad >+SIZE (xpi/firefox-i18n-56.0b4/br.xpi) = 463042 >+SHA256 (xpi/firefox-i18n-56.0b4/bs.xpi) = dc52da64489e662d76877d87e92cdedc15ff74795a5862bc2c09bfa88a7bafcb >+SIZE (xpi/firefox-i18n-56.0b4/bs.xpi) = 471016 >+SHA256 (xpi/firefox-i18n-56.0b4/ca.xpi) = 8908a3e4bce9cbbe8ba2b6cc0665aa94d67a86f403401f4f54854e8a5257fec2 >+SIZE (xpi/firefox-i18n-56.0b4/ca.xpi) = 478874 >+SHA256 (xpi/firefox-i18n-56.0b4/cak.xpi) = 7baf225b38756d018421bb2348cb6b0a9b05332b7b66c5fa79b6fcf43ff96188 >+SIZE (xpi/firefox-i18n-56.0b4/cak.xpi) = 488264 >+SHA256 (xpi/firefox-i18n-56.0b4/cs.xpi) = 9bfc529442743cf8774aede1ca0453a39d815d9db359789e162956464689575a >+SIZE (xpi/firefox-i18n-56.0b4/cs.xpi) = 483852 >+SHA256 (xpi/firefox-i18n-56.0b4/cy.xpi) = 0990c4c95b2aa02815dc9f0977ac0df444d1fa1f2610a9449c79f1b77392539f >+SIZE (xpi/firefox-i18n-56.0b4/cy.xpi) = 465056 >+SHA256 (xpi/firefox-i18n-56.0b4/da.xpi) = 63981fb0f02d05855b8b96fcac3d86c2ffaacb332f606117f44bc36198bcfa7b >+SIZE (xpi/firefox-i18n-56.0b4/da.xpi) = 458855 >+SHA256 (xpi/firefox-i18n-56.0b4/de.xpi) = 480cb992987c94577f7f0fb1aa522b24dbaca357ae00f1390b132b8875b0e350 >+SIZE (xpi/firefox-i18n-56.0b4/de.xpi) = 472957 >+SHA256 (xpi/firefox-i18n-56.0b4/dsb.xpi) = 8872d7e4a4e8ef858db9ffdbdf49dbb022a2a9df18904581544ab492dd22966e >+SIZE (xpi/firefox-i18n-56.0b4/dsb.xpi) = 488655 >+SHA256 (xpi/firefox-i18n-56.0b4/el.xpi) = 7729999f17bc385901ffdaa8c063434b62306a36619c1cc49ab2bf15b3d30453 >+SIZE (xpi/firefox-i18n-56.0b4/el.xpi) = 552883 >+SHA256 (xpi/firefox-i18n-56.0b4/en-GB.xpi) = 81a4f78ef57b46b705fed1d6ed7679fb5bd5fdc764125ebc8184b491458a0040 >+SIZE (xpi/firefox-i18n-56.0b4/en-GB.xpi) = 446124 >+SHA256 (xpi/firefox-i18n-56.0b4/en-US.xpi) = 4c176fa8afd30fe128ab7165488f13e5d6e03836f10148b5cd58714ad012c6ee >+SIZE (xpi/firefox-i18n-56.0b4/en-US.xpi) = 445701 >+SHA256 (xpi/firefox-i18n-56.0b4/en-ZA.xpi) = 7e4984f7f32c7699b9ff30417b51eda74d16b7b2bab3601738bf5d964ee39b60 >+SIZE (xpi/firefox-i18n-56.0b4/en-ZA.xpi) = 444667 >+SHA256 (xpi/firefox-i18n-56.0b4/eo.xpi) = 0bd84a11d460b64b207b0b9ae5645f796f7dcc497dec202774daaa3b89f7f8e7 >+SIZE (xpi/firefox-i18n-56.0b4/eo.xpi) = 467843 >+SHA256 (xpi/firefox-i18n-56.0b4/es-AR.xpi) = 1991f29026474146746ee71a5ef86cbb1356cb598342e329f93aad3ff4615fe1 >+SIZE (xpi/firefox-i18n-56.0b4/es-AR.xpi) = 474190 >+SHA256 (xpi/firefox-i18n-56.0b4/es-CL.xpi) = b00006c35422638864ab2ba0d159e0a23cab15c2781af4a3ed3cf34e3bdaa747 >+SIZE (xpi/firefox-i18n-56.0b4/es-CL.xpi) = 478668 >+SHA256 (xpi/firefox-i18n-56.0b4/es-ES.xpi) = d741a9d9099364d5b2c92c86f80a0c09dd3b78c6404097b007c74906a2f6a33d >+SIZE (xpi/firefox-i18n-56.0b4/es-ES.xpi) = 364379 >+SHA256 (xpi/firefox-i18n-56.0b4/es-MX.xpi) = b6b8b8e0647232d712151b32e5efb355249808f5bd47a3aee103296cce719c6c >+SIZE (xpi/firefox-i18n-56.0b4/es-MX.xpi) = 481315 >+SHA256 (xpi/firefox-i18n-56.0b4/et.xpi) = 25b5f1a98d5fe4c6dc81d412d976dc79f7da9d0a2ed62fe6df21ef4691b4af1c >+SIZE (xpi/firefox-i18n-56.0b4/et.xpi) = 462028 >+SHA256 (xpi/firefox-i18n-56.0b4/eu.xpi) = 0e2ff3ebfc6e495c6108127701d18f73934dcc685f45a76efcbfd2be8e1ef789 >+SIZE (xpi/firefox-i18n-56.0b4/eu.xpi) = 466673 >+SHA256 (xpi/firefox-i18n-56.0b4/fa.xpi) = 898110bc2bd25a1f9fcda81b02c95b9a464993e12b44bcc21c3abb415ddf8184 >+SIZE (xpi/firefox-i18n-56.0b4/fa.xpi) = 517415 >+SHA256 (xpi/firefox-i18n-56.0b4/ff.xpi) = 760b1035bf7d29ade6b31a848cf791b366957203ce49ab774998f45eabce05f0 >+SIZE (xpi/firefox-i18n-56.0b4/ff.xpi) = 461860 >+SHA256 (xpi/firefox-i18n-56.0b4/fi.xpi) = 30315cc2d4ce493c1462dfe3d1d97fbdceea331a155c2b2fead2322a6b11db16 >+SIZE (xpi/firefox-i18n-56.0b4/fi.xpi) = 461135 >+SHA256 (xpi/firefox-i18n-56.0b4/fr.xpi) = a3f4f53aae25570f6d316a60cfe735a5bb1acad6222f18ed776813fc87e6ae2f >+SIZE (xpi/firefox-i18n-56.0b4/fr.xpi) = 483323 >+SHA256 (xpi/firefox-i18n-56.0b4/fy-NL.xpi) = 8700c551364f445fbda68e5e97f4926a15c4da32d0f238aee2ca5eb2b96238dc >+SIZE (xpi/firefox-i18n-56.0b4/fy-NL.xpi) = 476804 >+SHA256 (xpi/firefox-i18n-56.0b4/ga-IE.xpi) = 489847a798fe28c3333c1d6d225ee0c87ac6d389ccbd2cd04b2092eb2b87ce62 >+SIZE (xpi/firefox-i18n-56.0b4/ga-IE.xpi) = 488128 >+SHA256 (xpi/firefox-i18n-56.0b4/gd.xpi) = a321811a4f5b051cc021d96516f6e2e104bccbeecf5ecc4913f62aa305cf0746 >+SIZE (xpi/firefox-i18n-56.0b4/gd.xpi) = 475688 >+SHA256 (xpi/firefox-i18n-56.0b4/gl.xpi) = 2bd25e6a349b56045f5bc14247022908a92b5d7c6e42edd6c3b502569e1bbf9d >+SIZE (xpi/firefox-i18n-56.0b4/gl.xpi) = 465231 >+SHA256 (xpi/firefox-i18n-56.0b4/gn.xpi) = 5ac7af26986fbda50aeae171acf60c6d3a067f7421f765aed76087a76dbebe4f >+SIZE (xpi/firefox-i18n-56.0b4/gn.xpi) = 484550 >+SHA256 (xpi/firefox-i18n-56.0b4/gu-IN.xpi) = 1b9c99da6217394db4117fc6af62ec380ff8bbbb2aee58ad5c85fd1bf76aee8d >+SIZE (xpi/firefox-i18n-56.0b4/gu-IN.xpi) = 512486 >+SHA256 (xpi/firefox-i18n-56.0b4/he.xpi) = ba17825233eddb38378ccc6d65f8f06c9e5d0c1a63c00cf9b14c5adaf8738edb >+SIZE (xpi/firefox-i18n-56.0b4/he.xpi) = 487257 >+SHA256 (xpi/firefox-i18n-56.0b4/hi-IN.xpi) = c460aac15419564e5622f0fbec5584543fb75ceb0dc5e5edf41522e3590ec9d1 >+SIZE (xpi/firefox-i18n-56.0b4/hi-IN.xpi) = 535965 >+SHA256 (xpi/firefox-i18n-56.0b4/hr.xpi) = bef1b02de45ff7890b33ce139c6452ea04e3d45e670950020462438f9d1566c9 >+SIZE (xpi/firefox-i18n-56.0b4/hr.xpi) = 473820 >+SHA256 (xpi/firefox-i18n-56.0b4/hsb.xpi) = 2835c02a078f136b55287ecb498458200684642ed7f2c766ae6ebb186aaa3cbe >+SIZE (xpi/firefox-i18n-56.0b4/hsb.xpi) = 486353 >+SHA256 (xpi/firefox-i18n-56.0b4/hu.xpi) = d6c073f52cd2f89cdc8f0390249f13db3892555e444d3d870f1ccc56be20561a >+SIZE (xpi/firefox-i18n-56.0b4/hu.xpi) = 487561 >+SHA256 (xpi/firefox-i18n-56.0b4/hy-AM.xpi) = 85212c4296fa801f048afa441eac2862f4fba0a366e633d6ea4d1edc9d4b1fb6 >+SIZE (xpi/firefox-i18n-56.0b4/hy-AM.xpi) = 526460 >+SHA256 (xpi/firefox-i18n-56.0b4/id.xpi) = 67584ac2610826d818cf514ad19dc2a4dd8f12368fecec9d442c9cd608e8fd25 >+SIZE (xpi/firefox-i18n-56.0b4/id.xpi) = 457829 >+SHA256 (xpi/firefox-i18n-56.0b4/is.xpi) = 127e543846495b445b0b30f945167ac96d70d259b72ce5940ae566e261afe7ff >+SIZE (xpi/firefox-i18n-56.0b4/is.xpi) = 466205 >+SHA256 (xpi/firefox-i18n-56.0b4/it.xpi) = b23dc0a8f78e02c1240f977f92243e981ef4c42bb7679508d7a920d78b356f5f >+SIZE (xpi/firefox-i18n-56.0b4/it.xpi) = 357457 >+SHA256 (xpi/firefox-i18n-56.0b4/ja.xpi) = 00009bda21d876d30a903d2a3a214c0d8dc1efbc0c6c3ad75528830fd61e904c >+SIZE (xpi/firefox-i18n-56.0b4/ja.xpi) = 527910 >+SHA256 (xpi/firefox-i18n-56.0b4/ka.xpi) = 9124e0792edfee04b48d0674704f667a561a5c3162f00a0a08e12f38efab1081 >+SIZE (xpi/firefox-i18n-56.0b4/ka.xpi) = 507862 >+SHA256 (xpi/firefox-i18n-56.0b4/kab.xpi) = 36487938f36d9226dd49f867b1f3828e6d179ae3cd8fea3099b36dd63da87a64 >+SIZE (xpi/firefox-i18n-56.0b4/kab.xpi) = 476177 >+SHA256 (xpi/firefox-i18n-56.0b4/kk.xpi) = 46e085732ef0f3b81c688ccfd9153bf997846ad2da6d37ff4c6a4b28d96761a2 >+SIZE (xpi/firefox-i18n-56.0b4/kk.xpi) = 533694 >+SHA256 (xpi/firefox-i18n-56.0b4/km.xpi) = 06dc4d42f14a882d12778d3e924d2078dd412e997b118345d02208a27748641e >+SIZE (xpi/firefox-i18n-56.0b4/km.xpi) = 548107 >+SHA256 (xpi/firefox-i18n-56.0b4/kn.xpi) = a25f35cc2d6b3cf120edde1a87155cc225cf8f377049abb4a8f29219138aed95 >+SIZE (xpi/firefox-i18n-56.0b4/kn.xpi) = 544237 >+SHA256 (xpi/firefox-i18n-56.0b4/ko.xpi) = 6e857e42d809e4093fbbe609c056a2693a857658b04cbadcdbc0df392198a4de >+SIZE (xpi/firefox-i18n-56.0b4/ko.xpi) = 501657 >+SHA256 (xpi/firefox-i18n-56.0b4/lij.xpi) = 712a0a2be68a5ea95059eac7c4cfd6fa570836aa1ce1fa91581d918ad3a29988 >+SIZE (xpi/firefox-i18n-56.0b4/lij.xpi) = 466033 >+SHA256 (xpi/firefox-i18n-56.0b4/lt.xpi) = ab6f39c8353ed98241047491e813bf6436b7bc525df7c4ef0b45723b4136b067 >+SIZE (xpi/firefox-i18n-56.0b4/lt.xpi) = 487514 >+SHA256 (xpi/firefox-i18n-56.0b4/lv.xpi) = c0a68ae27c424e700a4e0f469797aa10037afa25a061e8de0cf2a1d25682e512 >+SIZE (xpi/firefox-i18n-56.0b4/lv.xpi) = 481006 >+SHA256 (xpi/firefox-i18n-56.0b4/mai.xpi) = 7139c3526d615b8049c250cea8e9265d3a3e5f43553b79c4062fa3d00f6a40af >+SIZE (xpi/firefox-i18n-56.0b4/mai.xpi) = 523460 >+SHA256 (xpi/firefox-i18n-56.0b4/mk.xpi) = 9ba15fd658cee023ce6fc8bdd8a4272380b95c5669c3302c3e24e22c796a22fb >+SIZE (xpi/firefox-i18n-56.0b4/mk.xpi) = 506580 >+SHA256 (xpi/firefox-i18n-56.0b4/ml.xpi) = dc49a4a04e31df5bb6ddf97c8e57c207ea45d8bdec7748db88a8bae3c768254d >+SIZE (xpi/firefox-i18n-56.0b4/ml.xpi) = 546308 >+SHA256 (xpi/firefox-i18n-56.0b4/mr.xpi) = 19ce1cfe5644aa27057a0b1493534d02d3f042620112028ffacab8a275885564 >+SIZE (xpi/firefox-i18n-56.0b4/mr.xpi) = 535356 >+SHA256 (xpi/firefox-i18n-56.0b4/ms.xpi) = fe0daf6ec109a46c6b92c5bab31bf68d94c4e2af2073bac6c34444dbfcb543be >+SIZE (xpi/firefox-i18n-56.0b4/ms.xpi) = 465346 >+SHA256 (xpi/firefox-i18n-56.0b4/my.xpi) = 3c2ba0009e2af5f16b53b19291e156d42dba42e6e60352c1d111c203f1c279f7 >+SIZE (xpi/firefox-i18n-56.0b4/my.xpi) = 535485 >+SHA256 (xpi/firefox-i18n-56.0b4/nb-NO.xpi) = c30f9792dad9f3dc3bc58d09ceb182ee16950c21bf7240102672fd27f00ead2c >+SIZE (xpi/firefox-i18n-56.0b4/nb-NO.xpi) = 464328 >+SHA256 (xpi/firefox-i18n-56.0b4/nl.xpi) = dd801df2eca1c3d066b10a11be6f4cac923b55e1c3ebe005a88219a27c41f405 >+SIZE (xpi/firefox-i18n-56.0b4/nl.xpi) = 467817 >+SHA256 (xpi/firefox-i18n-56.0b4/nn-NO.xpi) = 520f5d3c4d3fb14f8be937ef244e23a151b600566d721dbf2cc4952a3ada2e0c >+SIZE (xpi/firefox-i18n-56.0b4/nn-NO.xpi) = 464961 >+SHA256 (xpi/firefox-i18n-56.0b4/or.xpi) = 10b34d93c44f289062ea509aa98491680ecf70c80631ab1b13e3b4b15307e5f3 >+SIZE (xpi/firefox-i18n-56.0b4/or.xpi) = 516928 >+SHA256 (xpi/firefox-i18n-56.0b4/pa-IN.xpi) = 527c19109c2e15f3fa21632af7c30c39390ca20379ca79589e129b26737115dd >+SIZE (xpi/firefox-i18n-56.0b4/pa-IN.xpi) = 507796 >+SHA256 (xpi/firefox-i18n-56.0b4/pl.xpi) = 03a9e4ddf37a47565881d2546961c964867148c733658dc2c4674f8ca01b7b45 >+SIZE (xpi/firefox-i18n-56.0b4/pl.xpi) = 376286 >+SHA256 (xpi/firefox-i18n-56.0b4/pt-BR.xpi) = d2ed8e4fb87aefbd13c765d3606bf02c7d67eee7ef8c0231f60d761a64fd6cea >+SIZE (xpi/firefox-i18n-56.0b4/pt-BR.xpi) = 469703 >+SHA256 (xpi/firefox-i18n-56.0b4/pt-PT.xpi) = 91fba72d70f5c8df568f303a633c1993d731dd3baad71a649ee689685ff5715c >+SIZE (xpi/firefox-i18n-56.0b4/pt-PT.xpi) = 471545 >+SHA256 (xpi/firefox-i18n-56.0b4/rm.xpi) = 7f5ba090ffb44f57e23bfc34fc8f82019a84019758d0080cc95a74c172b03ace >+SIZE (xpi/firefox-i18n-56.0b4/rm.xpi) = 466932 >+SHA256 (xpi/firefox-i18n-56.0b4/ro.xpi) = 8a3767f202f9dba561fef11940a85da509deea9024214862547294ae916e1ac4 >+SIZE (xpi/firefox-i18n-56.0b4/ro.xpi) = 469271 >+SHA256 (xpi/firefox-i18n-56.0b4/ru.xpi) = 79dc589f689b5809ff4411259214db6b8681dc5526ab0885c741697bb01b0eef >+SIZE (xpi/firefox-i18n-56.0b4/ru.xpi) = 540181 >+SHA256 (xpi/firefox-i18n-56.0b4/si.xpi) = 81a80d73e28a7cdfa4aad3fe1a2a5339b47de72986671164b258e48fab1a3fd3 >+SIZE (xpi/firefox-i18n-56.0b4/si.xpi) = 514681 >+SHA256 (xpi/firefox-i18n-56.0b4/sk.xpi) = c629771b649d636da592e4de1c452f384f100ad97578085f42ff578c3aeed92d >+SIZE (xpi/firefox-i18n-56.0b4/sk.xpi) = 494327 >+SHA256 (xpi/firefox-i18n-56.0b4/sl.xpi) = 8cb86b85f61d966a34a50f0aa03b1fb457369a6c59cda342089d63ec106e47d3 >+SIZE (xpi/firefox-i18n-56.0b4/sl.xpi) = 472568 >+SHA256 (xpi/firefox-i18n-56.0b4/son.xpi) = e34c7e0333bf7484b6eaba7868025707d3ac6d88fdabff38f5e8a6207f5e1e2a >+SIZE (xpi/firefox-i18n-56.0b4/son.xpi) = 463080 >+SHA256 (xpi/firefox-i18n-56.0b4/sq.xpi) = afc266e4047dee27345c0a6444b4ca92ab52c22981fe221ea85771bde3728bc6 >+SIZE (xpi/firefox-i18n-56.0b4/sq.xpi) = 478090 >+SHA256 (xpi/firefox-i18n-56.0b4/sr.xpi) = bcefd7cb107a92ebb36b5ed80679adce44cff27b484ac5a5dc0a9d10fd1162ce >+SIZE (xpi/firefox-i18n-56.0b4/sr.xpi) = 503249 >+SHA256 (xpi/firefox-i18n-56.0b4/sv-SE.xpi) = 6b2d69feff4257739dcbdb120b72c1a00affac56cf3f9de79c125b35c7a2961c >+SIZE (xpi/firefox-i18n-56.0b4/sv-SE.xpi) = 472697 >+SHA256 (xpi/firefox-i18n-56.0b4/ta.xpi) = 6c58721853c044a51a57da6296b434757443a731954127dc000ee93195344cd0 >+SIZE (xpi/firefox-i18n-56.0b4/ta.xpi) = 529407 >+SHA256 (xpi/firefox-i18n-56.0b4/te.xpi) = 491cb796456943f09a07efa52975e9d6168767ce0cf1b74a75eda48a9257a470 >+SIZE (xpi/firefox-i18n-56.0b4/te.xpi) = 548348 >+SHA256 (xpi/firefox-i18n-56.0b4/th.xpi) = 3d0527bf8d4e123e99fc9dc27e3e5ef44706fa4d03e3cebb3ef29ddf327fcc44 >+SIZE (xpi/firefox-i18n-56.0b4/th.xpi) = 519059 >+SHA256 (xpi/firefox-i18n-56.0b4/tr.xpi) = 11586e465484b5590370f22483ed1418ba1b4d5ba649543addc60a19a4830cca >+SIZE (xpi/firefox-i18n-56.0b4/tr.xpi) = 479826 >+SHA256 (xpi/firefox-i18n-56.0b4/uk.xpi) = fe544ee562f63790d7e8e4b6b3191fbc78e8e0842781908ce69e8d5423315846 >+SIZE (xpi/firefox-i18n-56.0b4/uk.xpi) = 534199 >+SHA256 (xpi/firefox-i18n-56.0b4/ur.xpi) = a25c8ed3d6cb5d9d0e42f107e01561d04f07d1976c4d3f9101578780404f245a >+SIZE (xpi/firefox-i18n-56.0b4/ur.xpi) = 526109 >+SHA256 (xpi/firefox-i18n-56.0b4/uz.xpi) = 8cca61c59f1153b82bcf88bae6e308154ca923fb46e2726d4fe62eb07043637c >+SIZE (xpi/firefox-i18n-56.0b4/uz.xpi) = 473862 >+SHA256 (xpi/firefox-i18n-56.0b4/vi.xpi) = 9a63fc963e4ab52a456772f3e97724fd982209dc08f52a4bb4bb0d492a7e8c92 >+SIZE (xpi/firefox-i18n-56.0b4/vi.xpi) = 485055 >+SHA256 (xpi/firefox-i18n-56.0b4/xh.xpi) = 7321e4b31ece1a339f3cd57f23c8fa69686974ae6b8c0b42c5ee85b7b2a60abf >+SIZE (xpi/firefox-i18n-56.0b4/xh.xpi) = 476601 >+SHA256 (xpi/firefox-i18n-56.0b4/zh-CN.xpi) = c504c88a732df0ef57e6edbfc9af7e32d45c1e05c0963f37e623b2477dc13ce2 >+SIZE (xpi/firefox-i18n-56.0b4/zh-CN.xpi) = 497730 >+SHA256 (xpi/firefox-i18n-56.0b4/zh-TW.xpi) = 91023d2106965109401f3ee28064714229af2a5bd37bbc3852a8e6459fe73756 >+SIZE (xpi/firefox-i18n-56.0b4/zh-TW.xpi) = 496509 >diff --git a/www/firefox/Makefile b/www/firefox/Makefile >index 9c457238d2f3..33659e134bf4 100644 >--- a/www/firefox/Makefile >+++ b/www/firefox/Makefile >@@ -2,9 +2,8 @@ > # $FreeBSD$ > > PORTNAME= firefox >-DISTVERSION= 55.0.2 >+DISTVERSION= 56.0b4 > DISTVERSIONSUFFIX=.source >-PORTREVISION= 1 > PORTEPOCH= 1 > CATEGORIES= www ipv6 > MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ >@@ -13,20 +12,22 @@ MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ > MAINTAINER= gecko@FreeBSD.org > COMMENT= Web browser based on the browser portion of Mozilla > >-BUILD_DEPENDS= nspr>=4.15:devel/nspr \ >- nss>=3.31.1:security/nss \ >- libevent>=2.0.22:devel/libevent \ >- harfbuzz>=1.4.6:print/harfbuzz \ >+BUILD_DEPENDS= nspr>=4.16:devel/nspr \ >+ nss>=3.32:security/nss \ >+ libevent>=2.1.8:devel/libevent \ >+ harfbuzz>=1.4.7:print/harfbuzz \ > graphite2>=1.3.10:graphics/graphite2 \ >- png>=1.6.28:graphics/png \ >+ png>=1.6.31:graphics/png \ > libvorbis>=1.3.5,3:audio/libvorbis \ > libvpx>=1.5.0:multimedia/libvpx \ >- sqlite3>=3.19.2:databases/sqlite3 \ >+ sqlite3>=3.19.3:databases/sqlite3 \ > ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \ > v4l_compat>0:multimedia/v4l_compat \ > autoconf-2.13:devel/autoconf213 \ > yasm:devel/yasm \ >+ llvm40>0:devel/llvm40 \ > zip:archivers/zip >+# icu>=59.1,1:devel/icu \ > # soundtouch>=1.9.0:audio/soundtouch \ > > LIB_DEPENDS= libv4l2.so:multimedia/libv4l >@@ -34,7 +35,7 @@ LIB_DEPENDS= libv4l2.so:multimedia/libv4l > USE_GECKO= gecko > CONFLICTS_INSTALL= firefox-esr-45.* firefox-esr-3[18].* firefox-esr-24.* > MOZ_PKGCONFIG_FILES= # empty >-USE_MOZILLA= -soundtouch >+USE_MOZILLA= -icu -soundtouch # XXX ports/218788 > MOZILLA_NAME= Firefox > > USE_GL= gl >@@ -42,16 +43,13 @@ USES= tar:xz > > FIREFOX_ICON= ${MOZILLA}.png > FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png >+MOZ_EXPORT= BINDGEN_CFLAGS="-isystem${LOCALBASE}/include/nspr \ >+ -isystem${LOCALBASE}/include/pixman-1" # XXX bug 1341234 > MOZ_OPTIONS= --enable-application=browser \ > --enable-official-branding > >-OPTIONS_DEFINE= RUST > OPTIONS_DEFAULT= BUNDLED_CAIRO > OPTIONS_EXCLUDE= GNOMEUI >-# XXX lang/rust and devel/cargo currently build only on these platforms >-OPTIONS_DEFAULT_aarch64=RUST >-OPTIONS_DEFAULT_amd64= RUST >-OPTIONS_DEFAULT_i386= RUST > > .include "${.CURDIR}/../../www/firefox/Makefile.options" > >diff --git a/www/firefox/distinfo b/www/firefox/distinfo >index 05643441cf71..b0b5ba4b3ccf 100644 >--- a/www/firefox/distinfo >+++ b/www/firefox/distinfo >@@ -1,3 +1,3 @@ >-TIMESTAMP = 1502835004 >-SHA256 (firefox-55.0.2.source.tar.xz) = 0b747822063dc4d7cbbbfccb44e5e7865441378c524032d4de7e94bfa1f475b7 >-SIZE (firefox-55.0.2.source.tar.xz) = 234450696 >+TIMESTAMP = 1503084173 >+SHA256 (firefox-56.0b4.source.tar.xz) = 5dee14f18efb12f9879809753294e39b49f75603241715d10dbc83597b1d231d >+SIZE (firefox-56.0b4.source.tar.xz) = 254293960 >diff --git a/www/firefox/files/patch-bug1144632 b/www/firefox/files/patch-bug1144632 >index f6416f85589e..fee10b5db317 100644 >--- a/www/firefox/files/patch-bug1144632 >+++ b/www/firefox/files/patch-bug1144632 >@@ -1,8 +1,10 @@ > Revert bug 1323303 to unbreak build on big-endian architectures. > >---- toolkit/moz.configure.orig 2017-07-31 16:20:54 UTC >+diff --git toolkit/moz.configure toolkit/moz.configure >+index 67fcbc39d075..c117fd11a358 100644 >+--- toolkit/moz.configure > +++ toolkit/moz.configure >-@@ -771,11 +771,11 @@ >+@@ -1032,11 +1032,11 @@ add_old_configure_assignment('NECKO_PROTOCOLS', necko_protocols) > # ============================================================== > option('--disable-skia', help='Disable use of Skia') > >@@ -19,23 +21,3 @@ Revert bug 1323303 to unbreak build on big-endian architectures. > return True > > set_config('MOZ_ENABLE_SKIA', skia) >---- gfx/2d/ScaledFontBase.cpp.orig 2017-07-31 16:20:54 UTC >-+++ gfx/2d/ScaledFontBase.cpp >-@@ -212,14 +212,16 @@ ScaledFontBase::CopyGlyphsToBuilder(const GlyphBuffer >- cairoPath->AppendPathToBuilder(builder); >- return; >- } >-+#endif >-+#ifdef USE_SKIA >- if (backendType == BackendType::RECORDING) { >- SkPath skPath = GetSkiaPathForGlyphs(aBuffer); >- RefPtr<Path> path = MakeAndAddRef<PathSkia>(skPath, FillRule::FILL_WINDING); >- path->StreamToSink(aBuilder); >- return; >- } >-- MOZ_ASSERT(false, "Path not being copied"); >- #endif >-+ MOZ_ASSERT(false, "Path not being copied"); >- } >- >- void >diff --git a/www/firefox/files/patch-bug1312182 b/www/firefox/files/patch-bug1312182 >deleted file mode 100644 >index 9c2b65f06d65..000000000000 >--- a/www/firefox/files/patch-bug1312182 >+++ /dev/null >@@ -1,376 +0,0 @@ >-commit 0d02dac1638ad >-Author: Alessio Placitelli <alessio.placitelli@gmail.com> >-Date: Tue May 30 10:42:42 2017 +0200 >- >- Bug 1312182 - Consolidate the uses of MOZ_TELEMETRY_REPORTING in the code. r=flod,gfritzsche,jaws >- >- The MOZ_TELEMETRY_REPORTING define does not control whether or not Telemetry is enabled >- but rather if it will send the gathered data to Mozilla servers. We still want to >- display the about:preferences options and let developers know about this behaviour. >- Please note that this patch is not changing any behaviour: it's only making it explicit >- by showing the options as disabled rather than hiding them. >- >- MozReview-Commit-ID: 7A0y0E0hm0Q >- >- --HG-- >- extra : rebase_source : 36d1a7f5ec5c05b43731daf9507d3068fe7674ee >---- >- browser/base/content/baseMenuOverlay.xul | 2 +- >- browser/components/nsBrowserGlue.js | 8 +-- >- .../components/preferences/in-content-new/main.xul | 2 - >- .../preferences/in-content-new/privacy.js | 32 +++++------ >- .../preferences/in-content-new/privacy.xul | 14 ++--- >- .../components/preferences/in-content/advanced.js | 63 +++++++++++----------- >- .../components/preferences/in-content/advanced.xul | 7 ++- >- .../chrome/browser/preferences-old/advanced.dtd | 5 ++ >- .../en-US/chrome/browser/preferences/advanced.dtd | 5 ++ >- 9 files changed, 67 insertions(+), 71 deletions(-) >- >-diff --git browser/base/content/baseMenuOverlay.xul browser/base/content/baseMenuOverlay.xul >-index 1befa2bb66cc..804bbdebb797 100644 >---- browser/base/content/baseMenuOverlay.xul >-+++ browser/base/content/baseMenuOverlay.xul >-@@ -61,7 +61,7 @@ >- onclick="checkForMiddleClick(this, event);" >- label="&helpKeyboardShortcuts.label;" >- accesskey="&helpKeyboardShortcuts.accesskey;"/> >--#ifdef MOZ_TELEMETRY_REPORTING >-+#ifdef MOZ_SERVICES_HEALTHREPORT >- <menuitem id="healthReport" >- label="&healthReport2.label;" >- accesskey="&healthReport2.accesskey;" >-diff --git browser/components/nsBrowserGlue.js browser/components/nsBrowserGlue.js >-index 554c279356b9..1c21bf4c4323 100644 >---- browser/components/nsBrowserGlue.js >-+++ browser/components/nsBrowserGlue.js >-@@ -528,9 +528,7 @@ BrowserGlue.prototype = { >- os.addObserver(this, "distribution-customization-complete"); >- os.addObserver(this, "handle-xul-text-link"); >- os.addObserver(this, "profile-before-change"); >-- if (AppConstants.MOZ_TELEMETRY_REPORTING) { >-- os.addObserver(this, "keyword-search"); >-- } >-+ os.addObserver(this, "keyword-search"); >- os.addObserver(this, "browser-search-engine-modified"); >- os.addObserver(this, "restart-in-safe-mode"); >- os.addObserver(this, "flash-plugin-hang"); >-@@ -583,9 +581,7 @@ BrowserGlue.prototype = { >- os.removeObserver(this, "places-database-locked"); >- os.removeObserver(this, "handle-xul-text-link"); >- os.removeObserver(this, "profile-before-change"); >-- if (AppConstants.MOZ_TELEMETRY_REPORTING) { >-- os.removeObserver(this, "keyword-search"); >-- } >-+ os.removeObserver(this, "keyword-search"); >- os.removeObserver(this, "browser-search-engine-modified"); >- os.removeObserver(this, "flash-plugin-hang"); >- os.removeObserver(this, "xpi-signature-changed"); >-diff --git browser/components/preferences/in-content-new/main.xul browser/components/preferences/in-content-new/main.xul >-index e89ee1891c91..8672557bede2 100644 >---- browser/components/preferences/in-content-new/main.xul >-+++ browser/components/preferences/in-content-new/main.xul >-@@ -183,11 +183,9 @@ >- name="layout.spellcheckDefault" >- type="int"/> >- >--#ifdef MOZ_TELEMETRY_REPORTING >- <preference id="toolkit.telemetry.enabled" >- name="toolkit.telemetry.enabled" >- type="bool"/> >--#endif >- >- <preference id="browser.preferences.defaultPerformanceSettings.enabled" >- name="browser.preferences.defaultPerformanceSettings.enabled" >-diff --git browser/components/preferences/in-content-new/privacy.js browser/components/preferences/in-content-new/privacy.js >-index be057bfad611..73f72391b991 100644 >---- browser/components/preferences/in-content-new/privacy.js >-+++ browser/components/preferences/in-content-new/privacy.js >-@@ -321,11 +321,9 @@ var gPrivacyPane = { >- this.initSubmitCrashes(); >- } >- this.initTelemetry(); >-- if (AppConstants.MOZ_TELEMETRY_REPORTING) { >-- this.initSubmitHealthReport(); >-- setEventListener("submitHealthReportBox", "command", >-- gPrivacyPane.updateSubmitHealthReport); >-- } >-+ this.initSubmitHealthReport(); >-+ setEventListener("submitHealthReportBox", "command", >-+ gPrivacyPane.updateSubmitHealthReport); >- >- // Append search keywords into the elements could open subdialogs. >- let bundlePrefs = document.getElementById("bundlePreferences"); >-@@ -1414,8 +1412,10 @@ var gPrivacyPane = { >- * In all cases, set up the Learn More link sanely. >- */ >- initTelemetry() { >-- if (AppConstants.MOZ_TELEMETRY_REPORTING) { >-- this._setupLearnMoreLink("toolkit.telemetry.infoURL", "telemetryLearnMore"); >-+ this._setupLearnMoreLink("toolkit.telemetry.infoURL", "telemetryLearnMore"); >-+ // If we're not sending any Telemetry, disable the telemetry upload checkbox as well. >-+ if (!AppConstants.MOZ_TELEMETRY_REPORTING) { >-+ document.getElementById("submitTelemetryBox").setAttribute("disabled", "true"); >- } >- }, >- >-@@ -1439,9 +1439,6 @@ var gPrivacyPane = { >- * @param {Boolean} aEnabled False disables the controls, true enables them. >- */ >- setTelemetrySectionEnabled(aEnabled) { >-- if (!AppConstants.MOZ_TELEMETRY_REPORTING) { >-- return; >-- } >- // If FHR is disabled, additional data sharing should be disabled as well. >- let disabled = !aEnabled; >- document.getElementById("submitTelemetryBox").disabled = disabled; >-@@ -1456,19 +1453,21 @@ var gPrivacyPane = { >- * Initialize the health report service reference and checkbox. >- */ >- initSubmitHealthReport() { >-- if (!AppConstants.MOZ_TELEMETRY_REPORTING) { >-- return; >-- } >- this._setupLearnMoreLink("datareporting.healthreport.infoURL", "FHRLearnMore"); >- >- let checkbox = document.getElementById("submitHealthReportBox"); >- >-- if (Services.prefs.prefIsLocked(PREF_UPLOAD_ENABLED)) { >-+ // Telemetry is only sending data if MOZ_TELEMETRY_REPORTING is defined. >-+ // We still want to display the preferences panel if that's not the case, but >-+ // we want it to be disabled and unchecked. >-+ if (Services.prefs.prefIsLocked(PREF_UPLOAD_ENABLED) || >-+ !AppConstants.MOZ_TELEMETRY_REPORTING) { >- checkbox.setAttribute("disabled", "true"); >- return; >- } >- >-- checkbox.checked = Services.prefs.getBoolPref(PREF_UPLOAD_ENABLED); >-+ checkbox.checked = Services.prefs.getBoolPref(PREF_UPLOAD_ENABLED) && >-+ AppConstants.MOZ_TELEMETRY_REPORTING; >- this.setTelemetrySectionEnabled(checkbox.checked); >- }, >- >-@@ -1476,9 +1475,6 @@ var gPrivacyPane = { >- * Update the health report preference with state from checkbox. >- */ >- updateSubmitHealthReport() { >-- if (!AppConstants.MOZ_TELEMETRY_REPORTING) { >-- return; >-- } >- let checkbox = document.getElementById("submitHealthReportBox"); >- Services.prefs.setBoolPref(PREF_UPLOAD_ENABLED, checkbox.checked); >- this.setTelemetrySectionEnabled(checkbox.checked); >-diff --git browser/components/preferences/in-content-new/privacy.xul browser/components/preferences/in-content-new/privacy.xul >-index 9d531bd8274b..8030567573f8 100644 >---- browser/components/preferences/in-content-new/privacy.xul >-+++ browser/components/preferences/in-content-new/privacy.xul >-@@ -760,9 +760,14 @@ >- </groupbox> >- >- <!-- Data Choices --> >--#ifdef MOZ_TELEMETRY_REPORTING >--<groupbox id="historyGroup" data-category="panePrivacy" data-subcategory="reports" hidden="true"> >-+#ifdef MOZ_DATA_REPORTING >-+ >-+<groupbox id="telemetryGroup" data-category="panePrivacy" data-subcategory="reports" hidden="true"> >- <caption><label>&reports.label;</label></caption> >-+#ifndef MOZ_TELEMETRY_REPORTING >-+ <description id="TelemetryDisabledDesc" control="telemetryGroup">&healthReportingDisabled.label;</description> >-+#endif >-+ >- <hbox align="center"> >- <checkbox id="submitHealthReportBox" label="&enableHealthReport.label;" >- accesskey="&enableHealthReport.accesskey;"/> >-@@ -782,14 +787,9 @@ >- class="indent">&telemetryDesc.label;</description> >- </vbox> >- </groupbox> >--#endif >- >--#ifdef MOZ_DATA_REPORTING >- #ifdef MOZ_CRASHREPORTER >- <groupbox id="crashReporterGroup" data-category="panePrivacy" data-subcategory="reports" hidden="true"> >--#ifndef MOZ_TELEMETRY_REPORTING >--<caption><label>&reports.label;</label></caption> >--#endif >- <hbox align="center"> >- <checkbox id="automaticallySubmitCrashesBox" >- preference="browser.crashReports.unsubmittedCheck.autoSubmit" >-diff --git browser/components/preferences/in-content/advanced.js browser/components/preferences/in-content/advanced.js >-index a6a2abaad9cf..9c7a2e716403 100644 >---- browser/components/preferences/in-content/advanced.js >-+++ browser/components/preferences/in-content/advanced.js >-@@ -46,9 +46,7 @@ var gAdvancedPane = { >- this.initSubmitCrashes(); >- } >- this.initTelemetry(); >-- if (AppConstants.MOZ_TELEMETRY_REPORTING) { >-- this.initSubmitHealthReport(); >-- } >-+ this.initSubmitHealthReport(); >- this.updateOnScreenKeyboardVisibility(); >- this.updateCacheSizeInputField(); >- this.updateActualCacheSize(); >-@@ -78,10 +76,8 @@ var gAdvancedPane = { >- gAdvancedPane.updateHardwareAcceleration); >- setEventListener("advancedPrefs", "select", >- gAdvancedPane.tabSelectionChanged); >-- if (AppConstants.MOZ_TELEMETRY_REPORTING) { >-- setEventListener("submitHealthReportBox", "command", >-- gAdvancedPane.updateSubmitHealthReport); >-- } >-+ setEventListener("submitHealthReportBox", "command", >-+ gAdvancedPane.updateSubmitHealthReport); >- >- setEventListener("connectionSettings", "command", >- gAdvancedPane.showConnections); >-@@ -293,8 +289,10 @@ var gAdvancedPane = { >- * In all cases, set up the Learn More link sanely. >- */ >- initTelemetry() { >-- if (AppConstants.MOZ_TELEMETRY_REPORTING) { >-- this._setupLearnMoreLink("toolkit.telemetry.infoURL", "telemetryLearnMore"); >-+ this._setupLearnMoreLink("toolkit.telemetry.infoURL", "telemetryLearnMore"); >-+ // If we're not sending any Telemetry, disable the telemetry upload checkbox as well. >-+ if (!AppConstants.MOZ_TELEMETRY_REPORTING) { >-+ document.getElementById("submitTelemetryBox").setAttribute("disabled", "true"); >- } >- }, >- >-@@ -303,46 +301,45 @@ var gAdvancedPane = { >- * @param {Boolean} aEnabled False disables the controls, true enables them. >- */ >- setTelemetrySectionEnabled(aEnabled) { >-- if (AppConstants.MOZ_TELEMETRY_REPORTING) { >-- // If FHR is disabled, additional data sharing should be disabled as well. >-- let disabled = !aEnabled; >-- document.getElementById("submitTelemetryBox").disabled = disabled; >-- if (disabled) { >-- // If we disable FHR, untick the telemetry checkbox. >-- Services.prefs.setBoolPref("toolkit.telemetry.enabled", false); >-- } >-- document.getElementById("telemetryDataDesc").disabled = disabled; >-+ // If FHR is disabled, additional data sharing should be disabled as well. >-+ let disabled = !aEnabled; >-+ document.getElementById("submitTelemetryBox").disabled = disabled; >-+ if (disabled) { >-+ // If we disable FHR, untick the telemetry checkbox. >-+ Services.prefs.setBoolPref("toolkit.telemetry.enabled", false); >- } >-+ document.getElementById("telemetryDataDesc").disabled = disabled; >- }, >- >- /** >- * Initialize the health report service reference and checkbox. >- */ >- initSubmitHealthReport() { >-- if (AppConstants.MOZ_TELEMETRY_REPORTING) { >-- this._setupLearnMoreLink("datareporting.healthreport.infoURL", "FHRLearnMore"); >-- >-- let checkbox = document.getElementById("submitHealthReportBox"); >-+ this._setupLearnMoreLink("datareporting.healthreport.infoURL", "FHRLearnMore"); >- >-- if (Services.prefs.prefIsLocked(PREF_UPLOAD_ENABLED)) { >-- checkbox.setAttribute("disabled", "true"); >-- return; >-- } >-+ let checkbox = document.getElementById("submitHealthReportBox"); >- >-- checkbox.checked = Services.prefs.getBoolPref(PREF_UPLOAD_ENABLED); >-- this.setTelemetrySectionEnabled(checkbox.checked); >-+ // Telemetry is only sending data if MOZ_TELEMETRY_REPORTING is defined. >-+ // We still want to display the preferences panel if that's not the case, but >-+ // we want it to be disabled and unchecked. >-+ if (Services.prefs.prefIsLocked(PREF_UPLOAD_ENABLED) || >-+ !AppConstants.MOZ_TELEMETRY_REPORTING) { >-+ checkbox.setAttribute("disabled", "true"); >-+ return; >- } >-+ >-+ checkbox.checked = Services.prefs.getBoolPref(PREF_UPLOAD_ENABLED) && >-+ AppConstants.MOZ_TELEMETRY_REPORTING; >-+ this.setTelemetrySectionEnabled(checkbox.checked); >- }, >- >- /** >- * Update the health report preference with state from checkbox. >- */ >- updateSubmitHealthReport() { >-- if (AppConstants.MOZ_TELEMETRY_REPORTING) { >-- let checkbox = document.getElementById("submitHealthReportBox"); >-- Services.prefs.setBoolPref(PREF_UPLOAD_ENABLED, checkbox.checked); >-- this.setTelemetrySectionEnabled(checkbox.checked); >-- } >-+ let checkbox = document.getElementById("submitHealthReportBox"); >-+ Services.prefs.setBoolPref(PREF_UPLOAD_ENABLED, checkbox.checked); >-+ this.setTelemetrySectionEnabled(checkbox.checked); >- }, >- >- updateOnScreenKeyboardVisibility() { >-diff --git browser/components/preferences/in-content/advanced.xul browser/components/preferences/in-content/advanced.xul >-index f2330223fb18..1b2c62168a59 100644 >---- browser/components/preferences/in-content/advanced.xul >-+++ browser/components/preferences/in-content/advanced.xul >-@@ -37,12 +37,9 @@ >- <preference id="layout.spellcheckDefault" >- name="layout.spellcheckDefault" >- type="int"/> >-- >--#ifdef MOZ_TELEMETRY_REPORTING >- <preference id="toolkit.telemetry.enabled" >- name="toolkit.telemetry.enabled" >- type="bool"/> >--#endif >- >- <!-- Data Choices tab --> >- #ifdef MOZ_CRASHREPORTER >-@@ -189,6 +186,9 @@ >- <!-- Data Choices --> >- <tabpanel id="dataChoicesPanel" orient="vertical"> >- #ifdef MOZ_TELEMETRY_REPORTING >-+ <description>&healthReportingDisabled.label;</description> >-+ <separator class="thin"/> >-+#endif >- <groupbox> >- <caption> >- <checkbox id="submitHealthReportBox" label="&enableHealthReport.label;" >-@@ -216,7 +216,6 @@ >- </hbox> >- </vbox> >- </groupbox> >--#endif >- #ifdef MOZ_CRASHREPORTER >- <groupbox> >- <caption> >-diff --git browser/locales/en-US/chrome/browser/preferences-old/advanced.dtd browser/locales/en-US/chrome/browser/preferences-old/advanced.dtd >-index 215b800d3385..bf23c4fd251f 100644 >---- browser/locales/en-US/chrome/browser/preferences-old/advanced.dtd >-+++ browser/locales/en-US/chrome/browser/preferences-old/advanced.dtd >-@@ -28,6 +28,11 @@ >- >- <!ENTITY dataChoicesTab.label "Data Choices"> >- >-+<!-- LOCALIZATION NOTE (healthReportingDisabled.label): This message is displayed above >-+disabled data sharing options in developer builds or builds with no Telemetry support >-+available. --> >-+<!ENTITY healthReportingDisabled.label "Data reporting is disabled for this build configuration"> >-+ >- <!ENTITY healthReportDesc.label "Helps you understand your browser performance and shares data with &vendorShortName; about your browser health"> >- <!ENTITY enableHealthReport.label "Enable &brandShortName; Health Report"> >- <!ENTITY enableHealthReport.accesskey "R"> >-diff --git browser/locales/en-US/chrome/browser/preferences/advanced.dtd browser/locales/en-US/chrome/browser/preferences/advanced.dtd >-index 58a6b38630cf..6c478e48244a 100644 >---- browser/locales/en-US/chrome/browser/preferences/advanced.dtd >-+++ browser/locales/en-US/chrome/browser/preferences/advanced.dtd >-@@ -28,6 +28,11 @@ >- >- <!ENTITY dataChoicesTab.label "Data Choices"> >- >-+<!-- LOCALIZATION NOTE (healthReportingDisabled.label): This message is displayed above >-+disabled data sharing options in developer builds or builds with no Telemetry support >-+available. --> >-+<!ENTITY healthReportingDisabled.label "Data reporting is disabled for this build configuration"> >-+ >- <!ENTITY healthReportDesc.label "Helps you understand your browser performance and shares data with &vendorShortName; about your browser health"> >- <!ENTITY enableHealthReport.label "Enable &brandShortName; Health Report"> >- <!ENTITY enableHealthReport.accesskey "R"> >diff --git a/www/firefox/files/patch-bug1376268 b/www/firefox/files/patch-bug1376268 >deleted file mode 100644 >index 716bdb42e658..000000000000 >--- a/www/firefox/files/patch-bug1376268 >+++ /dev/null >@@ -1,61 +0,0 @@ >-commit ec31e574ed81 >-Author: Petr Sumbera <petr.sumbera@oracle.com> >-Date: Mon Jun 26 06:54:12 2017 -0700 >- >- Bug 1376268 - Fix Spidermonkey build with no jit backend; r=bbouvier >- >- MozReview-Commit-ID: DgANwcf8oUh >- >- --HG-- >- extra : amend_source : 1c3efbe975e93ee996e6b84d3fc073781740156d >---- >- js/src/jit/ExecutableAllocator.h | 2 +- >- js/src/jit/none/MacroAssembler-none.h | 8 ++++---- >- 2 files changed, 5 insertions(+), 5 deletions(-) >- >-diff --git js/src/jit/ExecutableAllocator.h js/src/jit/ExecutableAllocator.h >-index 570a25ff0dc3..d106b31ba906 100644 >---- js/src/jit/ExecutableAllocator.h >-+++ js/src/jit/ExecutableAllocator.h >-@@ -219,7 +219,7 @@ class ExecutableAllocator >- >- static void poisonCode(JSRuntime* rt, JitPoisonRangeVector& ranges); >- >--#if defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64) || defined(JS_SIMULATOR_ARM64) >-+#if defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64) || defined(JS_SIMULATOR_ARM64) || defined(JS_CODEGEN_NONE) >- static void cacheFlush(void*, size_t) >- { >- } >-diff --git js/src/jit/none/MacroAssembler-none.h js/src/jit/none/MacroAssembler-none.h >-index 9a40ec8a8f64..71ddca8b9f1c 100644 >---- js/src/jit/none/MacroAssembler-none.h >-+++ js/src/jit/none/MacroAssembler-none.h >-@@ -48,7 +48,7 @@ static constexpr Register WasmIonExitRegE1 { Registers::invalid_reg }; >- >- static constexpr Register WasmIonExitRegReturnData { Registers::invalid_reg }; >- static constexpr Register WasmIonExitRegReturnType { Registers::invalid_reg }; >--static constexpr Register WasmIonExitTlsReg = { Registers::invalid_reg }; >-+static constexpr Register WasmIonExitTlsReg { Registers::invalid_reg }; >- static constexpr Register WasmIonExitRegD0 { Registers::invalid_reg }; >- static constexpr Register WasmIonExitRegD1 { Registers::invalid_reg }; >- static constexpr Register WasmIonExitRegD2 { Registers::invalid_reg }; >-@@ -153,6 +153,8 @@ class Assembler : public AssemblerShared >- >- static uintptr_t GetPointer(uint8_t*) { MOZ_CRASH(); } >- >-+ static bool HasRoundInstruction(RoundingMode) { return false; } >-+ >- void verifyHeapAccessDisassembly(uint32_t begin, uint32_t end, >- const Disassembler::HeapAccess& heapAccess) >- { >-@@ -196,9 +198,7 @@ class MacroAssemblerNone : public Assembler >- static bool SupportsSimd() { return false; } >- static bool SupportsUnalignedAccesses() { return false; } >- >-- static bool HasRoundInstruction(RoundingMode) { return false; } >-- >-- void executableCopy(void*, bool) { MOZ_CRASH(); } >-+ void executableCopy(void*, bool = true) { MOZ_CRASH(); } >- void copyJumpRelocationTable(uint8_t*) { MOZ_CRASH(); } >- void copyDataRelocationTable(uint8_t*) { MOZ_CRASH(); } >- void copyPreBarrierTable(uint8_t*) { MOZ_CRASH(); } >diff --git a/www/firefox/files/patch-bug1385597 b/www/firefox/files/patch-bug1385597 >deleted file mode 100644 >index c04746e89449..000000000000 >--- a/www/firefox/files/patch-bug1385597 >+++ /dev/null >@@ -1,24 +0,0 @@ >-Properly restore system timezone on other POSIX systems. r?ehsan >- >---- toolkit/components/resistfingerprinting/nsRFPService.cpp >-+++ toolkit/components/resistfingerprinting/nsRFPService.cpp >-@@ -162,14 +162,14 @@ nsRFPService::UpdatePref() >- PR_SetEnv(tz); >- } >- } else { >--#if defined(XP_LINUX) || defined (XP_MACOSX) >-- // For POSIX like system, we reset the TZ to the /etc/localtime, which is the >-- // system timezone. >-- PR_SetEnv("TZ=:/etc/localtime"); >--#else >-+#if defined(XP_WIN) >- // For Windows, we reset the TZ to an empty string. This will make Windows to use >- // its system timezone. >- PR_SetEnv("TZ="); >-+#else >-+ // For POSIX like system, we reset the TZ to the /etc/localtime, which is the >-+ // system timezone. >-+ PR_SetEnv("TZ=:/etc/localtime"); >- #endif >- } >- } >diff --git a/www/firefox/files/patch-bug1389133 b/www/firefox/files/patch-bug1389133 >new file mode 100644 >index 000000000000..2b24941e7025 >--- /dev/null >+++ b/www/firefox/files/patch-bug1389133 >@@ -0,0 +1,26 @@ >+commit 9c5239adc7cf >+Author: Martin Stransky <stransky@redhat.com> >+Date: Thu Aug 10 18:07:41 2017 +0200 >+ >+ Bug 1389133 - don't invalidate style content for missing widgets, r=karlt >+ >+ MozReview-Commit-ID: 2KfjYGvsiVv >+--- >+ widget/gtk/WidgetStyleCache.cpp | 4 ++++ >+ 1 file changed, 4 insertions(+) >+ >+diff --git widget/gtk/WidgetStyleCache.cpp widget/gtk/WidgetStyleCache.cpp >+index a1fa92bf57b8..bf0c2d080c17 100644 >+--- widget/gtk/WidgetStyleCache.cpp >++++ widget/gtk/WidgetStyleCache.cpp >+@@ -622,6 +622,10 @@ GetWidget(WidgetNodeType aWidgetType) >+ GtkWidget* widget = sWidgetStorage[aWidgetType]; >+ if (!widget) { >+ widget = CreateWidget(aWidgetType); >++ // Some widgets (MOZ_GTK_COMBOBOX_SEPARATOR for instance) may not be >++ // available or implemented. >++ if (!widget) >++ return nullptr; >+ // In GTK versions prior to 3.18, automatic invalidation of style contexts >+ // for widgets was delayed until the next resize event. Gecko however, >+ // typically uses the style context before the resize event runs and so an >diff --git a/www/firefox/files/patch-bug826985 b/www/firefox/files/patch-bug826985 >index 8e23b9382748..8e9e7d24a024 100644 >--- a/www/firefox/files/patch-bug826985 >+++ b/www/firefox/files/patch-bug826985 >@@ -107,10 +107,11 @@ index 12df1b3..e9863ba 100644 > > #include <new> > >-@@ -26,6 +31,15 @@ >- #include "critical_section_wrapper.h" >- #include "video_capture_linux.h" >- >+@@ -32,6 +35,15 @@ >+ #include "webrtc/modules/video_capture/linux/video_capture_linux.h" >+ #include "webrtc/system_wrappers/include/critical_section_wrapper.h" >+ #include "webrtc/system_wrappers/include/trace.h" >++ > +#ifdef HAVE_LIBV4L2 > +#define open v4l2_open > +#define close v4l2_close >@@ -119,10 +120,9 @@ index 12df1b3..e9863ba 100644 > +#define mmap v4l2_mmap > +#define munmap v4l2_munmap > +#endif >-+ >- namespace webrtc >- { >- namespace videocapturemodule >+ >+ namespace webrtc { >+ namespace videocapturemodule { > diff --git media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi > index d46b5aa..e452223 100644 > --- media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi >diff --git a/www/firefox/files/patch-bug847568 b/www/firefox/files/patch-bug847568 >index 0deb5a504f56..c2c40cc26b26 100644 >--- a/www/firefox/files/patch-bug847568 >+++ b/www/firefox/files/patch-bug847568 >@@ -261,7 +261,7 @@ index 9297e4d6f501..d8e273887e4b 100644 > +option('--with-system-harfbuzz', > + help="Use system harfbuzz (located with pkgconfig)") > + >-+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.4.6', >++system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.4.7', > + when='--with-system-harfbuzz') > + > +set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True)) >diff --git a/www/firefox/files/patch-rust-option b/www/firefox/files/patch-rust-option >deleted file mode 100644 >index e60e11b111ee..000000000000 >--- a/www/firefox/files/patch-rust-option >+++ /dev/null >@@ -1,816 +0,0 @@ >-Revert bug 1284816, bug 1341967, bug 1336153 to postpone bustage on non-x86 archs. >- >-diff --git browser/confvars.sh browser/confvars.sh >-index d8dcd99c2757..740d9d3e5fcf 100755 >---- browser/confvars.sh >-+++ browser/confvars.sh >-@@ -30,6 +30,7 @@ if test "$OS_ARCH" = "WINNT"; then >- fi >- fi >- >-+MOZ_RUST_MP4PARSE=1 >- if test "$NIGHTLY_BUILD"; then >- MOZ_RUST_URLPARSE=1 >- fi >-diff --git build/moz.configure/rust.configure build/moz.configure/rust.configure >-index 267d989f1597..f709820e60ae 100644 >---- build/moz.configure/rust.configure >-+++ build/moz.configure/rust.configure >-@@ -4,10 +4,20 @@ >- # License, v. 2.0. If a copy of the MPL was not distributed with this >- # file, You can obtain one at http://mozilla.org/MPL/2.0/. >- >--# Rust is required by `rust_compiler` below. We allow_missing here >--# to propagate failures to the better error message there. >--rustc = check_prog('RUSTC', ['rustc'], allow_missing=True) >--cargo = check_prog('CARGO', ['cargo'], allow_missing=True) >-+option('--disable-rust', help='Don\'t include Rust language sources') >-+ >-+@depends('--enable-rust') >-+def rust_compiler_names(value): >-+ if value: >-+ return ['rustc'] >-+ >-+@depends('--enable-rust') >-+def cargo_binary_names(value): >-+ if value: >-+ return ['cargo'] >-+ >-+rustc = check_prog('RUSTC', rust_compiler_names, allow_missing=True) >-+cargo = check_prog('CARGO', cargo_binary_names, allow_missing=True) >- >- @depends_if(rustc) >- @checking('rustc version', lambda info: info.version) >-@@ -43,9 +53,12 @@ def cargo_info(cargo): >- version=Version(version), >- ) >- >--@depends(rustc_info, cargo_info) >-+@depends('--enable-rust', rustc_info, cargo_info) >- @imports(_from='textwrap', _import='dedent') >--def rust_compiler(rustc_info, cargo_info): >-+def rust_compiler(value, rustc_info, cargo_info): >-+ if not value: >-+ return None >-+ >- if not rustc_info: >- die(dedent('''\ >- Rust compiler not found. >-@@ -97,6 +110,9 @@ def rust_compiler(rustc_info, cargo_info): >- >- return True >- >-+set_define('MOZ_RUST', rust_compiler) >-+set_config('MOZ_RUST', rust_compiler) >-+ >- @template >- def rust_triple_alias(host_or_target): >- """Template defining the alias used for rustc's --target flag. >-@@ -227,7 +243,8 @@ set_config('RUST_HOST_TARGET', rust_host_triple) >- >- @depends(rust_target_triple) >- def rust_target_env_name(triple): >-- return triple.upper().replace('-','_') >-+ if triple: >-+ return triple.upper().replace('-','_') >- >- # We need this to form various Cargo environment variables, as there is no >- # uppercase function in make, and we don't want to shell out just for >-@@ -235,5 +252,6 @@ def rust_target_env_name(triple): >- set_config('RUST_TARGET_ENV_NAME', rust_target_env_name) >- >- # Until we remove all the other Rust checks in old-configure. >-+add_old_configure_assignment('MOZ_RUST', rust_compiler) >- add_old_configure_assignment('RUSTC', rustc) >- add_old_configure_assignment('RUST_TARGET', rust_target_triple) >-diff --git config/rules.mk config/rules.mk >-index 94cc5556e3d0..7b143ebc5146 100644 >---- config/rules.mk >-+++ config/rules.mk >-@@ -900,6 +900,7 @@ endif >- >- $(foreach file,$(DUMP_SYMS_TARGETS),$(eval $(call syms_template,$(file),$(file)_syms.track))) >- >-+ifdef MOZ_RUST >- cargo_host_flag := --target=$(RUST_HOST_TARGET) >- cargo_target_flag := --target=$(RUST_TARGET) >- >-@@ -1055,6 +1056,7 @@ force-cargo-host-program-build: >- >- $(HOST_RUST_PROGRAMS): force-cargo-host-program-build >- endif # HOST_RUST_PROGRAMS >-+endif # MOZ_RUST >- >- $(SOBJS): >- $(REPORT_BUILD) >-diff --git dom/media/MediaPrefs.h dom/media/MediaPrefs.h >-index 4dcc659222a4..559334d89fd1 100644 >---- dom/media/MediaPrefs.h >-+++ dom/media/MediaPrefs.h >-@@ -183,7 +183,7 @@ private: >- DECL_MEDIA_PREF("media.ogg.flac.enabled", FlacInOgg, bool, false); >- DECL_MEDIA_PREF("media.flac.enabled", FlacEnabled, bool, true); >- >--#if !defined(RELEASE_OR_BETA) >-+#if defined(MOZ_RUST_MP4PARSE) && !defined(RELEASE_OR_BETA) >- DECL_MEDIA_PREF("media.rust.test_mode", RustTestMode, bool, false); >- #endif >- >-diff --git dom/media/gtest/moz.build dom/media/gtest/moz.build >-index c66ac4a9437f..e2203c0a4321 100644 >---- dom/media/gtest/moz.build >-+++ dom/media/gtest/moz.build >-@@ -22,7 +22,6 @@ UNIFIED_SOURCES += [ >- 'TestMozPromise.cpp', >- 'TestMP3Demuxer.cpp', >- 'TestMP4Demuxer.cpp', >-- 'TestRust.cpp', >- 'TestTrackEncoder.cpp', >- 'TestVideoSegment.cpp', >- 'TestVideoUtils.cpp', >-@@ -36,6 +35,9 @@ if CONFIG['MOZ_WEBM_ENCODER']: >- 'TestWebMWriter.cpp', >- ] >- >-+if CONFIG['MOZ_RUST']: >-+ UNIFIED_SOURCES += ['TestRust.cpp',] >-+ >- TEST_HARNESS_FILES.gtest += [ >- '../test/gizmo-frag.mp4', >- '../test/gizmo.mp4', >-diff --git media/libcubeb/src/moz.build media/libcubeb/src/moz.build >-index c65b53b80f63..8953f646e831 100644 >---- media/libcubeb/src/moz.build >-+++ media/libcubeb/src/moz.build >-@@ -32,7 +32,8 @@ if CONFIG['MOZ_PULSEAUDIO']: >- 'cubeb_pulse.c', >- ] >- DEFINES['USE_PULSE'] = True >-- DEFINES['USE_PULSE_RUST'] = True >-+ if CONFIG['MOZ_RUST']: >-+ DEFINES['USE_PULSE_RUST'] = True >- >- if CONFIG['MOZ_JACK']: >- SOURCES += [ >-diff --git media/libstagefright/binding/DecoderData.cpp media/libstagefright/binding/DecoderData.cpp >-index 109ea329d154..a06e533b1e62 100644 >---- media/libstagefright/binding/DecoderData.cpp >-+++ media/libstagefright/binding/DecoderData.cpp >-@@ -13,9 +13,11 @@ >- #include "mozilla/ArrayUtils.h" >- #include "include/ESDS.h" >- >-+#ifdef MOZ_RUST_MP4PARSE >- // OpusDecoder header is really needed only by MP4 in rust >- #include "OpusDecoder.h" >- #include "mp4parse.h" >-+#endif // MOZ_RUST_MP4PARSE >- >- using namespace stagefright; >- using mozilla::media::TimeUnit; >-@@ -177,6 +179,7 @@ MP4VideoInfo::Update(const MetaData* aMetaData, const char* aMimeType) >- FindData(aMetaData, kKeyAVCC, mExtraData); >- } >- >-+#ifdef MOZ_RUST_MP4PARSE >- static void >- UpdateTrackProtectedInfo(mozilla::TrackInfo& aConfig, >- const mp4parse_sinf_info& aSinf) >-@@ -263,6 +266,7 @@ MP4VideoInfo::Update(const mp4parse_track_info* track, >- mExtraData->AppendElements(video->extra_data.data, video->extra_data.length); >- } >- } >-+#endif // MOZ_RUST_MP4PARSE >- >- bool >- MP4VideoInfo::IsValid() const >-diff --git media/libstagefright/binding/MP4Metadata.cpp media/libstagefright/binding/MP4Metadata.cpp >-index 5c3810d99a38..5d14dfd8b8a9 100644 >---- media/libstagefright/binding/MP4Metadata.cpp >-+++ media/libstagefright/binding/MP4Metadata.cpp >-@@ -20,14 +20,18 @@ >- #include "mp4_demuxer/MP4Metadata.h" >- #include "mp4_demuxer/Stream.h" >- #include "MediaPrefs.h" >-+#ifdef MOZ_RUST_MP4PARSE >- #include "mp4parse.h" >-+#endif // MOZ_RUST_MP4PARSE >- >- #include <limits> >- #include <stdint.h> >- #include <vector> >- >- >-+#ifdef MOZ_RUST_MP4PARSE >- struct FreeMP4Parser { void operator()(mp4parse_parser* aPtr) { mp4parse_free(aPtr); } }; >-+#endif // MOZ_RUST_MP4PARSE >- >- using namespace stagefright; >- using mozilla::media::TimeUnit; >-@@ -105,6 +109,7 @@ private: >- bool mCanSeek; >- }; >- >-+#ifdef MOZ_RUST_MP4PARSE >- // Wrap an mp4_demuxer::Stream to remember the read offset. >- >- class RustStreamAdaptor { >-@@ -151,6 +156,7 @@ private: >- RustStreamAdaptor mRustSource; >- mozilla::UniquePtr<mp4parse_parser, FreeMP4Parser> mRustParser; >- }; >-+#endif // MOZ_RUST_MP4PARSE >- >- class IndiceWrapperStagefright : public IndiceWrapper { >- public: >-@@ -187,6 +193,7 @@ IndiceWrapperStagefright::GetIndice(size_t aIndex, Index::Indice& aIndice) const >- return true; >- } >- >-+#ifdef MOZ_RUST_MP4PARSE >- // the owner of mIndice is rust mp4 paser, so lifetime of this class >- // SHOULD NOT longer than rust parser. >- class IndiceWrapperRust : public IndiceWrapper >-@@ -232,9 +239,11 @@ IndiceWrapperRust::GetIndice(size_t aIndex, Index::Indice& aIndice) const >- aIndice.sync = indice->sync; >- return true; >- } >-+#endif // MOZ_RUST_MP4PARSE >- >- MP4Metadata::MP4Metadata(Stream* aSource) >- : mStagefright(MakeUnique<MP4MetadataStagefright>(aSource)) >-+#ifdef MOZ_RUST_MP4PARSE >- , mRust(MakeUnique<MP4MetadataRust>(aSource)) >- , mPreferRust(MediaPrefs::EnableRustMP4Parser()) >- , mReportedAudioTrackTelemetry(false) >-@@ -242,6 +251,7 @@ MP4Metadata::MP4Metadata(Stream* aSource) >- #ifndef RELEASE_OR_BETA >- , mRustTestMode(MediaPrefs::RustTestMode()) >- #endif >-+#endif // MOZ_RUST_MP4PARSE >- { >- } >- >-@@ -274,8 +284,11 @@ MP4Metadata::GetNumberTracks(mozilla::TrackInfo::TrackType aType) const >- MP4Metadata::ResultAndTrackCount numTracks = >- mStagefright->GetNumberTracks(aType); >- >-+#ifdef MOZ_RUST_MP4PARSE >- if (!mRust) { >-+#endif // MOZ_RUST_MP4PARSE >- return numTracks; >-+#ifdef MOZ_RUST_MP4PARSE >- } >- >- MP4Metadata::ResultAndTrackCount numTracksRust = >-@@ -350,8 +363,10 @@ MP4Metadata::GetNumberTracks(mozilla::TrackInfo::TrackType aType) const >- // Same non-error numbers, just return any. >- // (Choosing Rust here, in case it carries a warning, we'd want to know that.) >- return numTracksRust; >-+#endif // MOZ_RUST_MP4PARSE >- } >- >-+#ifdef MOZ_RUST_MP4PARSE >- bool MP4Metadata::ShouldPreferRust() const { >- if (!mRust) { >- return false; >-@@ -389,6 +404,7 @@ bool MP4Metadata::ShouldPreferRust() const { >- // Otherwise, fall back. >- return false; >- } >-+#endif // MOZ_RUST_MP4PARSE >- >- static const char* >- GetDifferentField(const mozilla::TrackInfo& info, >-@@ -443,6 +459,7 @@ MP4Metadata::GetTrackInfo(mozilla::TrackInfo::TrackType aType, >- MP4Metadata::ResultAndTrackInfo info = >- mStagefright->GetTrackInfo(aType, aTrackNumber); >- >-+#ifdef MOZ_RUST_MP4PARSE >- if (!mRust) { >- return info; >- } >-@@ -514,6 +531,7 @@ MP4Metadata::GetTrackInfo(mozilla::TrackInfo::TrackType aType, >- if (mPreferRust) { >- return infoRust; >- } >-+#endif // MOZ_RUST_MP4PARSE >- >- return info; >- } >-@@ -528,6 +546,7 @@ MP4Metadata::ResultAndCryptoFile >- MP4Metadata::Crypto() const >- { >- MP4Metadata::ResultAndCryptoFile crypto = mStagefright->Crypto(); >-+#ifdef MOZ_RUST_MP4PARSE >- MP4Metadata::ResultAndCryptoFile rustCrypto = mRust->Crypto(); >- >- #ifndef RELEASE_OR_BETA >-@@ -548,6 +567,7 @@ MP4Metadata::Crypto() const >- if (mPreferRust) { >- return rustCrypto; >- } >-+#endif // MOZ_RUST_MP4PARSE >- >- return crypto; >- } >-@@ -556,17 +576,22 @@ MP4Metadata::ResultAndIndice >- MP4Metadata::GetTrackIndice(mozilla::TrackID aTrackID) >- { >- FallibleTArray<Index::Indice> indiceSF; >-+#ifdef MOZ_RUST_MP4PARSE >- if (!mPreferRust >- #ifndef RELEASE_OR_BETA >- || mRustTestMode >- #endif >- ) { >-+#endif // MOZ_RUST_MP4PARSE >- MediaResult rv = mStagefright->ReadTrackIndex(indiceSF, aTrackID); >- if (NS_FAILED(rv)) { >- return {Move(rv), nullptr}; >- } >-+#ifdef MOZ_RUST_MP4PARSE >- } >-+#endif // MOZ_RUST_MP4PARSE >- >-+#ifdef MOZ_RUST_MP4PARSE >- mp4parse_byte_data indiceRust = {}; >- if (mPreferRust >- #ifndef RELEASE_OR_BETA >-@@ -592,13 +617,18 @@ MP4Metadata::GetTrackIndice(mozilla::TrackID aTrackID) >- } >- } >- #endif >-+#endif // MOZ_RUST_MP4PARSE >- >- UniquePtr<IndiceWrapper> indice; >-+#ifdef MOZ_RUST_MP4PARSE >- if (mPreferRust) { >- indice = mozilla::MakeUnique<IndiceWrapperRust>(indiceRust); >- } else { >-+#endif // MOZ_RUST_MP4PARSE >- indice = mozilla::MakeUnique<IndiceWrapperStagefright>(indiceSF); >-+#ifdef MOZ_RUST_MP4PARSE >- } >-+#endif // MOZ_RUST_MP4PARSE >- >- return {NS_OK, Move(indice)}; >- } >-@@ -856,6 +886,7 @@ MP4MetadataStagefright::Metadata(Stream* aSource) >- return {NS_OK, Move(buffer)}; >- } >- >-+#ifdef MOZ_RUST_MP4PARSE >- bool >- RustStreamAdaptor::Read(uint8_t* buffer, uintptr_t size, size_t* bytes_read) >- { >-@@ -1152,5 +1183,6 @@ MP4MetadataRust::Metadata(Stream* aSource) >- MOZ_ASSERT(false, "Not yet implemented"); >- return {NS_ERROR_NOT_IMPLEMENTED, nullptr}; >- } >-+#endif // MOZ_RUST_MP4PARSE >- >- } // namespace mp4_demuxer >-diff --git media/libstagefright/binding/include/mp4_demuxer/DecoderData.h media/libstagefright/binding/include/mp4_demuxer/DecoderData.h >-index 3cd4b7c142f4..dc25ddf03b10 100644 >---- media/libstagefright/binding/include/mp4_demuxer/DecoderData.h >-+++ media/libstagefright/binding/include/mp4_demuxer/DecoderData.h >-@@ -19,11 +19,13 @@ namespace stagefright >- class MetaData; >- } >- >-+#ifdef MOZ_RUST_MP4PARSE >- extern "C" { >- typedef struct mp4parse_track_info mp4parse_track_info; >- typedef struct mp4parse_track_audio_info mp4parse_track_audio_info; >- typedef struct mp4parse_track_video_info mp4parse_track_video_info; >- } >-+#endif // MOZ_RUST_MP4PARSE >- >- namespace mp4_demuxer >- { >-@@ -71,8 +73,10 @@ public: >- void Update(const stagefright::MetaData* aMetaData, >- const char* aMimeType); >- >-+#ifdef MOZ_RUST_MP4PARSE >- void Update(const mp4parse_track_info* track, >- const mp4parse_track_audio_info* audio); >-+#endif // MOZ_RUST_MP4PARSE >- >- virtual bool IsValid() const override; >- }; >-@@ -85,8 +89,10 @@ public: >- void Update(const stagefright::MetaData* aMetaData, >- const char* aMimeType); >- >-+#ifdef MOZ_RUST_MP4PARSE >- void Update(const mp4parse_track_info* track, >- const mp4parse_track_video_info* video); >-+#endif // MOZ_RUST_MP4PARSE >- >- virtual bool IsValid() const override; >- }; >-diff --git media/libstagefright/binding/include/mp4_demuxer/MP4Metadata.h media/libstagefright/binding/include/mp4_demuxer/MP4Metadata.h >-index 492c9c1c1bc3..e16dbbd1155e 100644 >---- media/libstagefright/binding/include/mp4_demuxer/MP4Metadata.h >-+++ media/libstagefright/binding/include/mp4_demuxer/MP4Metadata.h >-@@ -13,7 +13,9 @@ >- #include "MediaInfo.h" >- #include "MediaResult.h" >- #include "Stream.h" >-+#ifdef MOZ_RUST_MP4PARSE >- #include "mp4parse.h" >-+#endif // MOZ_RUST_MP4PARSE >- >- namespace mp4_demuxer { >- >-@@ -82,6 +84,7 @@ public: >- >- private: >- UniquePtr<MP4MetadataStagefright> mStagefright; >-+#ifdef MOZ_RUST_MP4PARSE >- UniquePtr<MP4MetadataRust> mRust; >- mutable bool mPreferRust; >- mutable bool mReportedAudioTrackTelemetry; >-@@ -90,6 +93,7 @@ private: >- mutable bool mRustTestMode; >- #endif >- bool ShouldPreferRust() const; >-+#endif // MOZ_RUST_MP4PARSE >- }; >- >- } // namespace mp4_demuxer >-diff --git media/libstagefright/gtest/moz.build media/libstagefright/gtest/moz.build >-index be4d56fc93f7..66fdd365f8f3 100644 >---- media/libstagefright/gtest/moz.build >-+++ media/libstagefright/gtest/moz.build >-@@ -38,12 +38,13 @@ TEST_HARNESS_FILES.gtest += [ >- 'test_case_1351094.mp4', >- ] >- >--UNIFIED_SOURCES += ['TestMP4Rust.cpp',] >--TEST_HARNESS_FILES.gtest += [ >-- '../../../dom/media/test/street.mp4', >--] >--LOCAL_INCLUDES += [ >-- '../binding/include', >--] >-+if CONFIG['MOZ_RUST']: >-+ UNIFIED_SOURCES += ['TestMP4Rust.cpp',] >-+ TEST_HARNESS_FILES.gtest += [ >-+ '../../../dom/media/test/street.mp4', >-+ ] >-+ LOCAL_INCLUDES += [ >-+ '../binding/include', >-+ ] >- >- FINAL_LIBRARY = 'xul-gtest' >-diff --git media/libstagefright/moz.build media/libstagefright/moz.build >-index af5d1194d621..6725a0179989 100644 >---- media/libstagefright/moz.build >-+++ media/libstagefright/moz.build >-@@ -83,9 +83,10 @@ SOURCES += [ >- 'system/core/libutils/VectorImpl.cpp', >- ] >- >--EXPORTS += [ >-- 'binding/include/mp4parse.h', >--] >-+if CONFIG['MOZ_RUST']: >-+ EXPORTS += [ >-+ 'binding/include/mp4parse.h', >-+ ] >- >- UNIFIED_SOURCES += [ >- 'binding/Adts.cpp', >-diff --git mobile/android/confvars.sh mobile/android/confvars.sh >-index e79b6f5c0707..eb62763acaf7 100644 >---- mobile/android/confvars.sh >-+++ mobile/android/confvars.sh >-@@ -30,6 +30,8 @@ MOZ_XULRUNNER= >- MOZ_CAPTURE=1 >- MOZ_RAW=1 >- >-+MOZ_RUST_MP4PARSE=1 >-+ >- # use custom widget for html:select >- MOZ_USE_NATIVE_POPUP_WINDOWS=1 >- >-diff --git netwerk/base/moz.build netwerk/base/moz.build >-index 61d022a9660e..e5ca1d77d859 100644 >---- netwerk/base/moz.build >-+++ netwerk/base/moz.build >-@@ -256,7 +256,7 @@ UNIFIED_SOURCES += [ >- 'TLSServerSocket.cpp', >- ] >- >--if CONFIG['MOZ_RUST_URLPARSE']: >-+if CONFIG['MOZ_RUST'] and CONFIG['MOZ_RUST_URLPARSE']: >- EXPORTS.mozilla.net += [ 'RustURL.h' ] >- UNIFIED_SOURCES += [ 'RustURL.cpp' ] >- >-diff --git netwerk/base/nsStandardURL.cpp netwerk/base/nsStandardURL.cpp >-index 608b918a4ecf..20bcdeb34ab8 100644 >---- netwerk/base/nsStandardURL.cpp >-+++ netwerk/base/nsStandardURL.cpp >-@@ -858,6 +858,7 @@ nsStandardURL::BuildNormalizedSpec(const char *spec) >- if (!SegmentIs(spec, mScheme, "resource") && >- !SegmentIs(spec, mScheme, "chrome")) { >- nsAutoCString ipString; >-+#ifdef MOZ_RUST >- if (encHost.Length() > 0 && >- encHost.First() == '[' && encHost.Last() == ']' && >- ValidIPv6orHostname(encHost.get(), encHost.Length())) { >-@@ -866,7 +867,9 @@ nsStandardURL::BuildNormalizedSpec(const char *spec) >- return rv; >- } >- encHost = ipString; >-- } else if (NS_SUCCEEDED(NormalizeIPv4(encHost, ipString))) { >-+ } else >-+#endif >-+ if (NS_SUCCEEDED(NormalizeIPv4(encHost, ipString))) { >- encHost = ipString; >- } >- } >-@@ -2112,6 +2115,7 @@ nsStandardURL::SetHost(const nsACString &input) >- >- if (!SegmentIs(mScheme, "resource") && !SegmentIs(mScheme, "chrome")) { >- nsAutoCString ipString; >-+#ifdef MOZ_RUST >- if (hostBuf.Length() > 0 && >- hostBuf.First() == '[' && hostBuf.Last() == ']' && >- ValidIPv6orHostname(hostBuf.get(), hostBuf.Length())) { >-@@ -2120,7 +2124,9 @@ nsStandardURL::SetHost(const nsACString &input) >- return rv; >- } >- hostBuf = ipString; >-- } else if (NS_SUCCEEDED(NormalizeIPv4(hostBuf, ipString))) { >-+ } else >-+#endif >-+ if (NS_SUCCEEDED(NormalizeIPv4(hostBuf, ipString))) { >- hostBuf = ipString; >- } >- } >-diff --git old-configure.in old-configure.in >-index 717a94fcc692..54b29d737cc1 100644 >---- old-configure.in >-+++ old-configure.in >-@@ -2330,9 +2330,14 @@ if test -n "$MOZ_MULET"; then >- fi >- >- # Propagate feature switches for code written in rust from confvars.sh >--if test -n "$MOZ_RUST_URLPARSE"; then >-- AC_DEFINE(MOZ_RUST_URLPARSE) >-- AC_SUBST(MOZ_RUST_URLPARSE) >-+if test -n "$MOZ_RUST"; then >-+ if test -n "$MOZ_RUST_MP4PARSE"; then >-+ AC_DEFINE(MOZ_RUST_MP4PARSE) >-+ fi >-+ if test -n "$MOZ_RUST_URLPARSE"; then >-+ AC_DEFINE(MOZ_RUST_URLPARSE) >-+ AC_SUBST(MOZ_RUST_URLPARSE) >-+ fi >- fi >- >- AC_SUBST(MOZ_PHOENIX) >-diff --git toolkit/components/telemetry/Histograms.json toolkit/components/telemetry/Histograms.json >-index 061c55f6a5b6..e49dfd176952 100644 >---- toolkit/components/telemetry/Histograms.json >-+++ toolkit/components/telemetry/Histograms.json >-@@ -8320,7 +8320,8 @@ >- "expires_in_version": "60", >- "kind": "boolean", >- "bug_numbers": [1220885], >-- "description": "Whether the rust mp4 demuxer successfully parsed a stream segment." >-+ "description": "Whether the rust mp4 demuxer successfully parsed a stream segment.", >-+ "cpp_guard": "MOZ_RUST_MP4PARSE" >- }, >- "MEDIA_RUST_MP4PARSE_ERROR_CODE": { >- "record_in_processes": ["main", "content"], >-@@ -8329,7 +8330,8 @@ >- "kind": "enumerated", >- "n_values": 32, >- "bug_numbers": [1238420], >-- "description": "The error code reported when an MP4 parse attempt has failed.0 = OK, 1 = bad argument, 2 = invalid data, 3 = unsupported, 4 = unexpected end of file, 5 = read error." >-+ "description": "The error code reported when an MP4 parse attempt has failed.0 = OK, 1 = bad argument, 2 = invalid data, 3 = unsupported, 4 = unexpected end of file, 5 = read error.", >-+ "cpp_guard": "MOZ_RUST_MP4PARSE" >- }, >- "MEDIA_RUST_MP4PARSE_TRACK_MATCH_AUDIO": { >- "record_in_processes": ["main", "content"], >-@@ -8337,7 +8339,8 @@ >- "expires_in_version": "60", >- "kind": "boolean", >- "bug_numbers": [1231169], >-- "description": "Whether rust and stagefight mp4 parser audio track results match." >-+ "description": "Whether rust and stagefight mp4 parser audio track results match.", >-+ "cpp_guard": "MOZ_RUST_MP4PARSE" >- }, >- "MEDIA_RUST_MP4PARSE_TRACK_MATCH_VIDEO": { >- "record_in_processes": ["main", "content"], >-@@ -8345,7 +8348,8 @@ >- "expires_in_version": "60", >- "kind": "boolean", >- "bug_numbers": [1231169], >-- "description": "Whether rust and stagefight mp4 parser video track results match." >-+ "description": "Whether rust and stagefight mp4 parser video track results match.", >-+ "cpp_guard": "MOZ_RUST_MP4PARSE" >- }, >- "MEDIA_WMF_DECODE_ERROR": { >- "record_in_processes": ["main", "content", "gpu"], >-diff --git toolkit/library/gtest/moz.build toolkit/library/gtest/moz.build >-index 69a8fb1f4893..c684f48e456e 100644 >---- toolkit/library/gtest/moz.build >-+++ toolkit/library/gtest/moz.build >-@@ -7,7 +7,6 @@ >- FINAL_TARGET = 'dist/bin/gtest' >- >- USE_LIBS += [ >-- 'gkrust-gtest', >- 'static:xul', >- # xul-gtest is an intermediate static library. It is used as FINAL_TARGET >- # for gtest code. >-@@ -21,6 +20,11 @@ USE_LIBS += [ >- # before StaticXULComponentStart. >- Libxul('xul-gtest-real') >- >-+if CONFIG['MOZ_RUST']: >-+ USE_LIBS += [ >-+ 'gkrust-gtest', >-+ ] >-+ >- DIRS += [ >- 'static', >- ] >-diff --git toolkit/library/moz.build toolkit/library/moz.build >-index 650f6eaba980..191e90ceb09a 100644 >---- toolkit/library/moz.build >-+++ toolkit/library/moz.build >-@@ -63,7 +63,7 @@ def Libxul(name): >- >- # This option should go away in bug 1290972, but we need to wait until >- # Rust 1.12 has been released. >-- if CONFIG['OS_ARCH'] == 'Darwin': >-+ if CONFIG['MOZ_RUST'] and CONFIG['OS_ARCH'] == 'Darwin': >- LDFLAGS += ['-Wl,-no_compact_unwind'] >- >- Libxul('xul') >-@@ -343,4 +343,5 @@ USE_LIBS += ['StaticXULComponentsEnd'] >- # The above library needs to be last for C++ purposes. This library, >- # however, is entirely composed of Rust code, and needs to come after >- # all the C++ code so any possible C++ -> Rust calls can be resolved. >--USE_LIBS += ['gkrust'] >-+if CONFIG['MOZ_RUST']: >-+ USE_LIBS += ['gkrust'] >-diff --git toolkit/moz.configure toolkit/moz.configure >-index ac9d123224ce..e90da70f0fa5 100644 >---- toolkit/moz.configure >-+++ toolkit/moz.configure >-@@ -88,8 +88,7 @@ include('../js/moz.configure') >- >- # Rust >- # ============================================================== >--include('../build/moz.configure/rust.configure', >-- when='--enable-compile-environment') >-+include('../build/moz.configure/rust.configure') >- >- >- # L10N >-@@ -623,13 +622,13 @@ id_and_secret_keyfile('Leanplum SDK') >- option('--enable-stylo', nargs='?', choices=('build',), >- help='Include Stylo in the build and/or enable it at runtime') >- >--@depends('--enable-stylo') >--def stylo_config(value): >-+@depends('--enable-stylo', '--enable-rust') >-+def stylo_config(value, rust_enabled): >- build_stylo = None >- enable_stylo = None >- >- # The default is to not build Stylo at all. >-- if value.origin == 'default': >-+ if not rust_enabled or value.origin == 'default': >- pass >- elif value == 'build': >- build_stylo = True >-@@ -769,12 +768,14 @@ set_config('SERVO_TARGET_DIR', servo_target_dir) >- option('--enable-webrender', nargs='?', choices=('build',), >- help='Include WebRender in the build and/or enable it at runtime') >- >--@depends('--enable-webrender', milestone) >--def webrender(value, milestone): >-+@depends('--enable-webrender', '--enable-rust', milestone) >-+def webrender(value, rust_enabled, milestone): >- build_webrender = None >- enable_webrender = None >- >-- if value.origin == 'default': >-+ if not rust_enabled: >-+ pass >-+ elif value.origin == 'default': >- # if nothing is specified, default to just building on Nightly >- build_webrender = milestone.is_nightly >- elif value == 'build': >-diff --git toolkit/toolkit.mozbuild toolkit/toolkit.mozbuild >-index b845aab48023..9215afc6dd2d 100644 >---- toolkit/toolkit.mozbuild >-+++ toolkit/toolkit.mozbuild >-@@ -133,16 +133,23 @@ if CONFIG['MOZ_PREF_EXTENSIONS']: >- >- DIRS += [ >- '/devtools', >-- '/toolkit/library', >-- '/toolkit/library/gtest/rust', >-- '/toolkit/library/rust', >-- '/toolkit/library/StaticXULComponentsEnd', >- '/services', >- '/startupcache', >- '/js/ductwork/debugger', >- '/other-licenses/snappy', >- ] >- >-+if CONFIG['MOZ_RUST']: >-+ DIRS += [ >-+ '/toolkit/library/gtest/rust', >-+ '/toolkit/library/rust', >-+ ] >-+ >-+DIRS += [ >-+ '/toolkit/library/StaticXULComponentsEnd', >-+ '/toolkit/library', >-+] >-+ >- if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']: >- DIRS += ['/toolkit/system/gnome'] >- >-diff --git toolkit/xre/nsAppRunner.cpp toolkit/xre/nsAppRunner.cpp >-index 667c2eb1b365..6fb6cf102baa 100644 >---- toolkit/xre/nsAppRunner.cpp >-+++ toolkit/xre/nsAppRunner.cpp >-@@ -227,11 +227,13 @@ >- extern uint32_t gRestartMode; >- extern void InstallSignalHandlers(const char *ProgramName); >- >-+#ifdef MOZ_RUST >- // This workaround is fixed in Rust 1.19. For details, see bug 1358151. >- // Implementation in toolkit/library/rust/shared/lib.rs >- extern "C" { >- void rust_init_please_remove_this_after_updating_rust_1_19(); >- } >-+#endif >- >- #define FILE_COMPATIBILITY_INFO NS_LITERAL_CSTRING("compatibility.ini") >- #define FILE_INVALIDATE_CACHES NS_LITERAL_CSTRING(".purgecaches") >-@@ -3122,8 +3124,10 @@ XREMain::XRE_mainInit(bool* aExitFlag) >- return 1; >- *aExitFlag = false; >- >-+#ifdef MOZ_RUST >- // This workaround is fixed in Rust 1.19. For details, see bug 1358151. >- rust_init_please_remove_this_after_updating_rust_1_19(); >-+#endif >- >- atexit(UnexpectedExit); >- auto expectedShutdown = mozilla::MakeScopeExit([&] { >-diff --git xpcom/base/nsDebugImpl.cpp xpcom/base/nsDebugImpl.cpp >-index e6bb623c258b..c49d61dce605 100644 >---- xpcom/base/nsDebugImpl.cpp >-+++ xpcom/base/nsDebugImpl.cpp >-@@ -148,14 +148,20 @@ nsDebugImpl::Abort(const char* aFile, int32_t aLine) >- return NS_OK; >- } >- >-+#ifdef MOZ_RUST >- // From toolkit/library/rust/lib.rs >- extern "C" void intentional_panic(const char* message); >-+#endif >- >- NS_IMETHODIMP >- nsDebugImpl::RustPanic(const char* aMessage) >- { >-+#ifdef MOZ_RUST >- intentional_panic(aMessage); >- return NS_OK; >-+#else >-+ return NS_ERROR_NOT_IMPLEMENTED; >-+#endif >- } >- >- NS_IMETHODIMP >-diff --git xpcom/rust/nsstring/gtest/moz.build xpcom/rust/nsstring/gtest/moz.build >-index 197411678815..5bed9e57e57d 100644 >---- xpcom/rust/nsstring/gtest/moz.build >-+++ xpcom/rust/nsstring/gtest/moz.build >-@@ -4,8 +4,9 @@ >- # License, v. 2.0. If a copy of the MPL was not distributed with this >- # file, You can obtain one at http://mozilla.org/MPL/2.0/. >- >--UNIFIED_SOURCES += [ >-- 'Test.cpp' >--] >-+if CONFIG['MOZ_RUST']: >-+ UNIFIED_SOURCES += [ >-+ 'Test.cpp' >-+ ] >- >- FINAL_LIBRARY = 'xul-gtest' >diff --git a/www/firefox/files/patch-toolkit_moz.configure b/www/firefox/files/patch-toolkit_moz.configure >new file mode 100644 >index 000000000000..03c2d4f868a0 >--- /dev/null >+++ b/www/firefox/files/patch-toolkit_moz.configure >@@ -0,0 +1,13 @@ >+Bindgen crashes on i386 >+ >+--- toolkit/moz.configure.orig 2017-08-08 06:07:58 UTC >++++ toolkit/moz.configure >+@@ -620,7 +620,7 @@ def stylo_config(value, _, target): >+ >+ # If nothing is specified, default to building stylo where possible. >+ if value.origin == 'default': >+- if target.os == 'GNU' and target.bitness == 32: >++ if target.os != 'WINNT' and target.bitness == 32: >+ # The clang setup we use in automation is a little unusual, and >+ # doesn't play well with bindgen on 32-bit Linux. >+ pass
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 221335
:
185156
|
185288
|
185463
|
185588
|
185814
|
186106
|
186160
|
186289
|
186384
|
186557