aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2017-03-07 18:38:54 +0000
committerJan Beich <jbeich@FreeBSD.org>2017-03-07 18:38:54 +0000
commit3a1face15676fd263cb2ca5327f13883320e85a3 (patch)
treeb450f6f026c4be015359be00adf7b3fe2de1595b
parent725bd77544e1451f330b2168fb87e50b691ce3b9 (diff)
downloadports-3a1face15676fd263cb2ca5327f13883320e85a3.tar.gz
ports-3a1face15676fd263cb2ca5327f13883320e85a3.zip
MFH: r434999 r435317
www/firefox: update to 52.0 Changes: https://www.mozilla.org/firefox/52.0/releasenotes/ Changes: https://hg.mozilla.org/releases/mozilla-release/shortlog/ Security: 96eca031-1313-4daf-9be2-9d6e1c4f1eb5 Approved by: ports-secteam (junovitch)
Notes
Notes: svn path=/branches/2017Q1/; revision=435634
-rw-r--r--Mk/Uses/gecko.mk4
-rw-r--r--www/firefox-i18n/Makefile6
-rw-r--r--www/firefox-i18n/distinfo358
-rw-r--r--www/firefox/Makefile11
-rw-r--r--www/firefox/distinfo6
-rw-r--r--www/firefox/files/patch-bug114205664
-rw-r--r--www/firefox/files/patch-bug130338026
-rw-r--r--www/firefox/files/patch-bug131598649
-rw-r--r--www/firefox/files/patch-bug1316879114
-rw-r--r--www/firefox/files/patch-bug132099155
-rw-r--r--www/firefox/files/patch-bug1329520154
-rw-r--r--www/firefox/files/patch-bug132989513
-rw-r--r--www/firefox/files/patch-bug133011913
-rw-r--r--www/firefox/files/patch-bug75736658
-rw-r--r--www/firefox/files/patch-bug82698510
-rw-r--r--www/firefox/files/patch-bug847568151
-rw-r--r--www/firefox/files/patch-bug98134832
-rw-r--r--www/firefox/files/patch-z-bug517422379
18 files changed, 521 insertions, 982 deletions
diff --git a/Mk/Uses/gecko.mk b/Mk/Uses/gecko.mk
index 6c6cadeb5c47..b9d752ac9fcd 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= 45
-_GECKO_VERSIONS= 45 51
+_GECKO_VERSIONS= 45 52
_GECKO_TYPE= firefox
# Dependence lines for different Firefox versions
45_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:www/firefox-esr
-51_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:www/firefox
+52_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/www/firefox-i18n/Makefile b/www/firefox-i18n/Makefile
index acd43d6adea4..8297bffb935a 100644
--- a/www/firefox-i18n/Makefile
+++ b/www/firefox-i18n/Makefile
@@ -2,10 +2,10 @@
# $FreeBSD$
PORTNAME= firefox-i18n
-PORTVERSION= 51.0.1
+PORTVERSION= 52.0
CATEGORIES= www
MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${DISTVERSION}/linux-i686/xpi \
- MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build3/linux-i686/xpi
+ MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build2/linux-i686/xpi
PKGNAMEPREFIX=
DISTFILES= ${FIREFOX_I18N_:S/$/.xpi/}
DIST_SUBDIR= xpi/${DISTNAME}
@@ -15,7 +15,7 @@ COMMENT= Localized interface for Firefox
EXTRACT_DEPENDS= zip:archivers/zip
-USES= zip:infozip gecko:firefox,51,build
+USES= zip:infozip gecko:firefox,52,build
USE_XPI= firefox
NO_ARCH= yes
diff --git a/www/firefox-i18n/distinfo b/www/firefox-i18n/distinfo
index 1937aece0e8b..e18c9dfd3ccd 100644
--- a/www/firefox-i18n/distinfo
+++ b/www/firefox-i18n/distinfo
@@ -1,179 +1,179 @@
-TIMESTAMP = 1485379956
-SHA256 (xpi/firefox-i18n-51.0.1/ach.xpi) = 2d0f554d524dfbd552f513a59eca728f87f2dc63871ea05d45e50dc62f98d0f4
-SIZE (xpi/firefox-i18n-51.0.1/ach.xpi) = 422479
-SHA256 (xpi/firefox-i18n-51.0.1/af.xpi) = 1bea00a4beb2c08eeff01386f119954d166cfe108e6b9053ff84923071cc70c1
-SIZE (xpi/firefox-i18n-51.0.1/af.xpi) = 430609
-SHA256 (xpi/firefox-i18n-51.0.1/an.xpi) = 4f05a2800d1eb7c65d7f4fc731c90a798e55a414e425938ed9f2a4aab2574bb8
-SIZE (xpi/firefox-i18n-51.0.1/an.xpi) = 439499
-SHA256 (xpi/firefox-i18n-51.0.1/ar.xpi) = ba9f424d03b292b7428c37104c9f367d1cfeb4c1cb70f01a3a3468ab8261a5a5
-SIZE (xpi/firefox-i18n-51.0.1/ar.xpi) = 467366
-SHA256 (xpi/firefox-i18n-51.0.1/as.xpi) = 525a14db543a0f80840e399d579ffbd8703f0b7ef75d4e3fc6c2ad7ce783d1f9
-SIZE (xpi/firefox-i18n-51.0.1/as.xpi) = 481206
-SHA256 (xpi/firefox-i18n-51.0.1/ast.xpi) = 4465abc44e515d39ead8cc7e072b225d5bec080e370129d5861eece6b348b2a9
-SIZE (xpi/firefox-i18n-51.0.1/ast.xpi) = 433415
-SHA256 (xpi/firefox-i18n-51.0.1/az.xpi) = 86beaf681270b0465b3a06d381866ed951f80d5d78f98217cb7e859f8dbb2705
-SIZE (xpi/firefox-i18n-51.0.1/az.xpi) = 448403
-SHA256 (xpi/firefox-i18n-51.0.1/bg.xpi) = c4824b49257cff76ed34b0cb1a0f6747dc24b500f40d464b8696a5cc18f6ff0d
-SIZE (xpi/firefox-i18n-51.0.1/bg.xpi) = 481421
-SHA256 (xpi/firefox-i18n-51.0.1/bn-BD.xpi) = 9284871e91d84b39567b803ca75eb89d77d2a9dd0a3b25960ace88d5f13947ff
-SIZE (xpi/firefox-i18n-51.0.1/bn-BD.xpi) = 506133
-SHA256 (xpi/firefox-i18n-51.0.1/bn-IN.xpi) = 642e8676e25ae1cd933f77be1d1ec30e80e8561be8856b8cd92e78866cd49870
-SIZE (xpi/firefox-i18n-51.0.1/bn-IN.xpi) = 503272
-SHA256 (xpi/firefox-i18n-51.0.1/br.xpi) = 09b4cb3d86fcd3e3f6eb1a38b366c9fe6412deeb67d01479f43a87543e137af1
-SIZE (xpi/firefox-i18n-51.0.1/br.xpi) = 429718
-SHA256 (xpi/firefox-i18n-51.0.1/bs.xpi) = 4022af94e170fc94d80250389b2e7b61a4a0f046b70ba2d3d51efb842b9e4834
-SIZE (xpi/firefox-i18n-51.0.1/bs.xpi) = 435979
-SHA256 (xpi/firefox-i18n-51.0.1/ca.xpi) = 26e5c545322ccfe6b923445daba906ed66671387a899c96c902e5bcc705c0ca3
-SIZE (xpi/firefox-i18n-51.0.1/ca.xpi) = 437597
-SHA256 (xpi/firefox-i18n-51.0.1/cs.xpi) = be37d732ad896c548523efcd097f45a8d16b3a0f1f1d086d0ed07c772e2969cb
-SIZE (xpi/firefox-i18n-51.0.1/cs.xpi) = 437011
-SHA256 (xpi/firefox-i18n-51.0.1/cy.xpi) = 3e38992a09904b134d53c3bc27924ce7a10273ef47c0e8773960ac6937577fd3
-SIZE (xpi/firefox-i18n-51.0.1/cy.xpi) = 430768
-SHA256 (xpi/firefox-i18n-51.0.1/da.xpi) = d8c21c45cac8ef9ecf891ae400151a2a8b65e0b1828049dc4094dc43269ad687
-SIZE (xpi/firefox-i18n-51.0.1/da.xpi) = 418407
-SHA256 (xpi/firefox-i18n-51.0.1/de.xpi) = c10becdcbedda89442a7e2783e2622ae154e467d7b3a6573dce0a8d156f39605
-SIZE (xpi/firefox-i18n-51.0.1/de.xpi) = 435630
-SHA256 (xpi/firefox-i18n-51.0.1/dsb.xpi) = 51f535695c5cf6a5ac8672b4bc56b62e1fd8d8f85c4142da7db5e61d2b951222
-SIZE (xpi/firefox-i18n-51.0.1/dsb.xpi) = 453124
-SHA256 (xpi/firefox-i18n-51.0.1/el.xpi) = af4998b5514bf808c86bb0aa9e11a342e43c785e7d408c202a99ccc89cabc483
-SIZE (xpi/firefox-i18n-51.0.1/el.xpi) = 498857
-SHA256 (xpi/firefox-i18n-51.0.1/en-GB.xpi) = 91004f483701c7a830cf08edde0e2afabff57238f6b90d0391c8ec0e113e3f6e
-SIZE (xpi/firefox-i18n-51.0.1/en-GB.xpi) = 412809
-SHA256 (xpi/firefox-i18n-51.0.1/en-US.xpi) = 11eb16fe5c971ca539d378bbb3a40322c26758495c97acdfc4f626326a465b18
-SIZE (xpi/firefox-i18n-51.0.1/en-US.xpi) = 422548
-SHA256 (xpi/firefox-i18n-51.0.1/en-ZA.xpi) = 37d7ae2f16415195c65d50bb1baa527fd9636aab1d3e105fd6a435af0fa38070
-SIZE (xpi/firefox-i18n-51.0.1/en-ZA.xpi) = 406318
-SHA256 (xpi/firefox-i18n-51.0.1/eo.xpi) = 0be96d097d93caedf404cc719c5938ea6f7937d57094a5018c4890fa13fbe2c1
-SIZE (xpi/firefox-i18n-51.0.1/eo.xpi) = 431477
-SHA256 (xpi/firefox-i18n-51.0.1/es-AR.xpi) = 5c366f99807bf1c419f7bf78db6da27c2ec472c8e739849ce410d26ab0a34c3d
-SIZE (xpi/firefox-i18n-51.0.1/es-AR.xpi) = 436851
-SHA256 (xpi/firefox-i18n-51.0.1/es-CL.xpi) = 62c0b31c29ed61620c80125b8e65281b1ad09e453189d05b53a196a202df0092
-SIZE (xpi/firefox-i18n-51.0.1/es-CL.xpi) = 439571
-SHA256 (xpi/firefox-i18n-51.0.1/es-ES.xpi) = a03558ac33f3d28b9ed7a1a131f982bab4f1b7bae1bb1305d80670ef5387e520
-SIZE (xpi/firefox-i18n-51.0.1/es-ES.xpi) = 340417
-SHA256 (xpi/firefox-i18n-51.0.1/es-MX.xpi) = c07d399f058d3f02bb7b69ebe10f4ffbb44247d3559328359c1d87895f15d28d
-SIZE (xpi/firefox-i18n-51.0.1/es-MX.xpi) = 442427
-SHA256 (xpi/firefox-i18n-51.0.1/et.xpi) = fb31e7547ce748abf8181604a35db93885719dd6fddc8fde7b7e56d8b83a35fc
-SIZE (xpi/firefox-i18n-51.0.1/et.xpi) = 419372
-SHA256 (xpi/firefox-i18n-51.0.1/eu.xpi) = 9ed3f4aab20cd9e3d7efd53394efb7a5d097d05e659a8af3d37422fbea5c6f7f
-SIZE (xpi/firefox-i18n-51.0.1/eu.xpi) = 432702
-SHA256 (xpi/firefox-i18n-51.0.1/fa.xpi) = 8f0c4430424e1e3f20f35f012d690860aeb68379b77309db93d30ff4d1e2ed6d
-SIZE (xpi/firefox-i18n-51.0.1/fa.xpi) = 484368
-SHA256 (xpi/firefox-i18n-51.0.1/ff.xpi) = 8075823f986dd63c624566c32524154791c2e8288562dad20e873e968537002c
-SIZE (xpi/firefox-i18n-51.0.1/ff.xpi) = 435445
-SHA256 (xpi/firefox-i18n-51.0.1/fi.xpi) = 54f70d1122cc3a391dc41e180cae223c8d1bad3f788b6722f552b968e7c4ae2a
-SIZE (xpi/firefox-i18n-51.0.1/fi.xpi) = 424026
-SHA256 (xpi/firefox-i18n-51.0.1/fr.xpi) = e5feac2a5aba883defdd74a07c5644d61b262df822d5168f79a451f76696e5d5
-SIZE (xpi/firefox-i18n-51.0.1/fr.xpi) = 444128
-SHA256 (xpi/firefox-i18n-51.0.1/fy-NL.xpi) = 6b381e3bcb6b989605f4f5d94dd0d22aecfcee65b415a61be6cb32edd953a525
-SIZE (xpi/firefox-i18n-51.0.1/fy-NL.xpi) = 439356
-SHA256 (xpi/firefox-i18n-51.0.1/ga-IE.xpi) = 30ad7e4fb9d8c8b4b3445ffc1ed744f2b9d5dd03bc5909d4e69685ff4b8cc89e
-SIZE (xpi/firefox-i18n-51.0.1/ga-IE.xpi) = 452113
-SHA256 (xpi/firefox-i18n-51.0.1/gd.xpi) = fcc9251174c1b1cee14277e7fcfa0abdeaa993e9c2fcb46c9ca9bebb64a2bb04
-SIZE (xpi/firefox-i18n-51.0.1/gd.xpi) = 441392
-SHA256 (xpi/firefox-i18n-51.0.1/gl.xpi) = 537bd4735417db61f2198cebb27ed55d813f4c1bb2fc7046978a51218eff6647
-SIZE (xpi/firefox-i18n-51.0.1/gl.xpi) = 444052
-SHA256 (xpi/firefox-i18n-51.0.1/gn.xpi) = bc356b73e51d63255afb1bcafa880bf44ecf40a7be494edc1c1aff2c55c479a9
-SIZE (xpi/firefox-i18n-51.0.1/gn.xpi) = 450228
-SHA256 (xpi/firefox-i18n-51.0.1/gu-IN.xpi) = a9c15003d2c1252631be89ac1b3c722ea330b7e898934a73464371e3d91295e1
-SIZE (xpi/firefox-i18n-51.0.1/gu-IN.xpi) = 483516
-SHA256 (xpi/firefox-i18n-51.0.1/he.xpi) = 9c429782701846b294751ea0f0786370ae7870cedff75a6f08a618301eb0f9ff
-SIZE (xpi/firefox-i18n-51.0.1/he.xpi) = 452770
-SHA256 (xpi/firefox-i18n-51.0.1/hi-IN.xpi) = 9978df7459b5d46592bf135acbe3577900b395e67914e4b00a08dacebaf4da7d
-SIZE (xpi/firefox-i18n-51.0.1/hi-IN.xpi) = 499949
-SHA256 (xpi/firefox-i18n-51.0.1/hr.xpi) = d674d2355f82cd552d7944a3128331305524ec3fa3a9ea089cad014848bbb1aa
-SIZE (xpi/firefox-i18n-51.0.1/hr.xpi) = 441582
-SHA256 (xpi/firefox-i18n-51.0.1/hsb.xpi) = e26772b5472bd981bad41408dcf9ea18d6e43fdfb26eed411395b1d24c300b81
-SIZE (xpi/firefox-i18n-51.0.1/hsb.xpi) = 451004
-SHA256 (xpi/firefox-i18n-51.0.1/hu.xpi) = e664b47e69ad12bf1a2284e1ae0ec5dbad5c79551df2eb4c9954455d1232cf1c
-SIZE (xpi/firefox-i18n-51.0.1/hu.xpi) = 445380
-SHA256 (xpi/firefox-i18n-51.0.1/hy-AM.xpi) = 74903ef5dc36292073e05552df15a5fd17dbab09520bdd3102f77bbdf65eb220
-SIZE (xpi/firefox-i18n-51.0.1/hy-AM.xpi) = 489195
-SHA256 (xpi/firefox-i18n-51.0.1/id.xpi) = 5e240651a6f0d0ecb7ceaf099872c0996da5b7e6dee8293184ae0a200a72caae
-SIZE (xpi/firefox-i18n-51.0.1/id.xpi) = 420115
-SHA256 (xpi/firefox-i18n-51.0.1/is.xpi) = aed5cb9a82cf11fe4520a1889bc3ed587aa9976e3e62ac63060db7042ac1ee29
-SIZE (xpi/firefox-i18n-51.0.1/is.xpi) = 432634
-SHA256 (xpi/firefox-i18n-51.0.1/it.xpi) = d3c7f1bee0fc3d12d77af3282685250e26761f260998fe68ebb2540f6b07f950
-SIZE (xpi/firefox-i18n-51.0.1/it.xpi) = 334922
-SHA256 (xpi/firefox-i18n-51.0.1/ja.xpi) = 02ad8db63da2a4dcf50a15f4d32496fffdccfad53509553c97f256454f31d589
-SIZE (xpi/firefox-i18n-51.0.1/ja.xpi) = 481876
-SHA256 (xpi/firefox-i18n-51.0.1/kk.xpi) = bb9e27875466a9c3bc86b51ac5e2676156a7b22c689826c1ae460712b20d1eba
-SIZE (xpi/firefox-i18n-51.0.1/kk.xpi) = 490749
-SHA256 (xpi/firefox-i18n-51.0.1/km.xpi) = e6fc90fc9656a8f9f440e657e63f1e6977391d4a1410f82d9fff58cc536b0e4a
-SIZE (xpi/firefox-i18n-51.0.1/km.xpi) = 514272
-SHA256 (xpi/firefox-i18n-51.0.1/kn.xpi) = 244ee834654706623bbd3e014c2445223eecbd0ada0e24cb0d424417cab93769
-SIZE (xpi/firefox-i18n-51.0.1/kn.xpi) = 514063
-SHA256 (xpi/firefox-i18n-51.0.1/ko.xpi) = d277aa5c16362193f791ce6205b52da8b26a7c377fe6abbec081e7543a909733
-SIZE (xpi/firefox-i18n-51.0.1/ko.xpi) = 457537
-SHA256 (xpi/firefox-i18n-51.0.1/lij.xpi) = c39631927409e9b2941df66a98083ab89b553e6500c7a3ad74c9b614ef9b3f66
-SIZE (xpi/firefox-i18n-51.0.1/lij.xpi) = 410714
-SHA256 (xpi/firefox-i18n-51.0.1/lt.xpi) = 92c23c54580787cc7f67fc85845f4a205f02522414d248342782d4b3258876e8
-SIZE (xpi/firefox-i18n-51.0.1/lt.xpi) = 446154
-SHA256 (xpi/firefox-i18n-51.0.1/lv.xpi) = d7c019a96ec31f925c95520e59329448a39e661d9ba89716cb7b4f484293a8cc
-SIZE (xpi/firefox-i18n-51.0.1/lv.xpi) = 442271
-SHA256 (xpi/firefox-i18n-51.0.1/mai.xpi) = cd434a775f7ed822a683ba3aa45f5f3773eaf615d7d6b1aec855ec9bcd9528e2
-SIZE (xpi/firefox-i18n-51.0.1/mai.xpi) = 494294
-SHA256 (xpi/firefox-i18n-51.0.1/mk.xpi) = ece6e3bd27ede475f944b297626913919f2d3ab150e3ab28e036fc7e14a7f4cb
-SIZE (xpi/firefox-i18n-51.0.1/mk.xpi) = 490961
-SHA256 (xpi/firefox-i18n-51.0.1/ml.xpi) = 865c224ad0f42cfde172207a939b25068db5da7ae0399ccb4d78376bb215e22c
-SIZE (xpi/firefox-i18n-51.0.1/ml.xpi) = 510897
-SHA256 (xpi/firefox-i18n-51.0.1/mr.xpi) = 3afd8693af84ee9e2fcc7b23e80b5488a1e0a9d454d4a53a6da76a76ccfffb7f
-SIZE (xpi/firefox-i18n-51.0.1/mr.xpi) = 495860
-SHA256 (xpi/firefox-i18n-51.0.1/ms.xpi) = 5d8e25bbe48fe65212b7b6c699d1568a407ce6a2f686bf07465200958be45b14
-SIZE (xpi/firefox-i18n-51.0.1/ms.xpi) = 430332
-SHA256 (xpi/firefox-i18n-51.0.1/nb-NO.xpi) = c9024d64f9cc6bbc9e3c82b2ef755a1e70f70a2875ba2f6538b31c8cdc2a54de
-SIZE (xpi/firefox-i18n-51.0.1/nb-NO.xpi) = 428674
-SHA256 (xpi/firefox-i18n-51.0.1/nl.xpi) = d958f7dba5974eb759754d41c7576e43f955434b06bd446b8879ffb1587b291f
-SIZE (xpi/firefox-i18n-51.0.1/nl.xpi) = 426237
-SHA256 (xpi/firefox-i18n-51.0.1/nn-NO.xpi) = f5ab46bfdaf504d7d49acd76ed046664eb975997aa40adff4002eb4d49346112
-SIZE (xpi/firefox-i18n-51.0.1/nn-NO.xpi) = 422803
-SHA256 (xpi/firefox-i18n-51.0.1/or.xpi) = 3b326f65c0e804c43048a78051caa9bbf6f790baaf25194a2a92a9a9d5c3eaab
-SIZE (xpi/firefox-i18n-51.0.1/or.xpi) = 491272
-SHA256 (xpi/firefox-i18n-51.0.1/pa-IN.xpi) = bfd3eebdb10fb8923bcad9b519f3eff5a23b413dd493a23b07c493b3649e5974
-SIZE (xpi/firefox-i18n-51.0.1/pa-IN.xpi) = 471454
-SHA256 (xpi/firefox-i18n-51.0.1/pl.xpi) = d74bdfa2707a663d7a1ed3f02fe0f9a3e529becea7463cc24b6e198be07522d9
-SIZE (xpi/firefox-i18n-51.0.1/pl.xpi) = 349711
-SHA256 (xpi/firefox-i18n-51.0.1/pt-BR.xpi) = afac5c77a0e98178206fa111c3bba50f665f551aed07e9f66b500c069c0a9926
-SIZE (xpi/firefox-i18n-51.0.1/pt-BR.xpi) = 431875
-SHA256 (xpi/firefox-i18n-51.0.1/pt-PT.xpi) = 5a3ee9b1fb44852c12e19a4b0129d9f02103796b256a8d5e0b2b80fd47520002
-SIZE (xpi/firefox-i18n-51.0.1/pt-PT.xpi) = 430722
-SHA256 (xpi/firefox-i18n-51.0.1/rm.xpi) = 63c6446866f65e768c181217b89c184a86e164b0432265b06ac800d039eb82ad
-SIZE (xpi/firefox-i18n-51.0.1/rm.xpi) = 428938
-SHA256 (xpi/firefox-i18n-51.0.1/ro.xpi) = 23fa86a9f896d2d83fd3892ffbe5a6d7a4edeb47faf7e450d7f46ece0854ca72
-SIZE (xpi/firefox-i18n-51.0.1/ro.xpi) = 442676
-SHA256 (xpi/firefox-i18n-51.0.1/ru.xpi) = bd2ca4ce51a824fb4f5d8804df9405565f9af7fffcb74ece1149c759f70a6558
-SIZE (xpi/firefox-i18n-51.0.1/ru.xpi) = 390303
-SHA256 (xpi/firefox-i18n-51.0.1/si.xpi) = d8c67ba6af47d46eb2a6da306ee93e3125f863251da6f9f96c44fc3742cfa45d
-SIZE (xpi/firefox-i18n-51.0.1/si.xpi) = 486608
-SHA256 (xpi/firefox-i18n-51.0.1/sk.xpi) = 6584f6c3c5f085981d4c902b03411638ba85c69388f84b71fdfa238d4876e0bf
-SIZE (xpi/firefox-i18n-51.0.1/sk.xpi) = 449706
-SHA256 (xpi/firefox-i18n-51.0.1/sl.xpi) = ac5985b8ec241f18443e568b96771b838870a0818c1d1cdced9b9a6fd72a33c1
-SIZE (xpi/firefox-i18n-51.0.1/sl.xpi) = 427697
-SHA256 (xpi/firefox-i18n-51.0.1/son.xpi) = 2751e3e600e6a59a7c52ccb7351dc6ffbd3ca04c91b3142af02e8fb8adebb16e
-SIZE (xpi/firefox-i18n-51.0.1/son.xpi) = 430450
-SHA256 (xpi/firefox-i18n-51.0.1/sq.xpi) = 3e1a06e2285a0193326657bbd24511bf303963ae62b22a50e22a762e721f249e
-SIZE (xpi/firefox-i18n-51.0.1/sq.xpi) = 441710
-SHA256 (xpi/firefox-i18n-51.0.1/sr.xpi) = 6e63165b89eecb7eb3028304221d4e0837caa6f7f5a6e2c9677e89897a475b35
-SIZE (xpi/firefox-i18n-51.0.1/sr.xpi) = 457267
-SHA256 (xpi/firefox-i18n-51.0.1/sv-SE.xpi) = 35a146434984c428813547643980eaa7b0410c99dc4b762fb547b87eff4e705f
-SIZE (xpi/firefox-i18n-51.0.1/sv-SE.xpi) = 435422
-SHA256 (xpi/firefox-i18n-51.0.1/ta.xpi) = 628813583a138c7b8de289f9b149e7450aa1724b20879aa550796996a8ebf470
-SIZE (xpi/firefox-i18n-51.0.1/ta.xpi) = 487837
-SHA256 (xpi/firefox-i18n-51.0.1/te.xpi) = 6bbbf58d2c33ab5ace35f5814b18527fbe08ad21215d3ea11fd2e7243852e988
-SIZE (xpi/firefox-i18n-51.0.1/te.xpi) = 509509
-SHA256 (xpi/firefox-i18n-51.0.1/th.xpi) = 3b73d2293a895aab282e7bf38604f78dec1f0354f3e276ef5c7156bc872f8159
-SIZE (xpi/firefox-i18n-51.0.1/th.xpi) = 483237
-SHA256 (xpi/firefox-i18n-51.0.1/tr.xpi) = f9c9b53310b64c629079c4c29fe9854f824e81b631c9bb402ab4fbd612648738
-SIZE (xpi/firefox-i18n-51.0.1/tr.xpi) = 437681
-SHA256 (xpi/firefox-i18n-51.0.1/uk.xpi) = f0eb25000bea0bb2497f30f234b57ef54300b56f94248685dbfe4be26a060535
-SIZE (xpi/firefox-i18n-51.0.1/uk.xpi) = 488161
-SHA256 (xpi/firefox-i18n-51.0.1/uz.xpi) = a42b58f2f1c3adaf00f5ba3b426c31bda6349b99b06a7a57cb337f38c12ddf13
-SIZE (xpi/firefox-i18n-51.0.1/uz.xpi) = 441921
-SHA256 (xpi/firefox-i18n-51.0.1/vi.xpi) = 4fbc9625c635e5ed714977d16278fc1633f541edda6293328c7b27f16b771216
-SIZE (xpi/firefox-i18n-51.0.1/vi.xpi) = 444517
-SHA256 (xpi/firefox-i18n-51.0.1/xh.xpi) = e69cda2b59bd4f28e3a2d0379d867b7d8511ca50df167e7821e2d1e9409b586e
-SIZE (xpi/firefox-i18n-51.0.1/xh.xpi) = 435395
-SHA256 (xpi/firefox-i18n-51.0.1/zh-CN.xpi) = e518d6f191ba77e358139875e1a06d17ff673dad4b30cd7c794659606ed5a89a
-SIZE (xpi/firefox-i18n-51.0.1/zh-CN.xpi) = 455760
-SHA256 (xpi/firefox-i18n-51.0.1/zh-TW.xpi) = 623dfce59eacbc8d58b4899fa95d5539360f45783f6a6f438048f44778ffe34e
-SIZE (xpi/firefox-i18n-51.0.1/zh-TW.xpi) = 466461
+TIMESTAMP = 1488235265
+SHA256 (xpi/firefox-i18n-52.0/ach.xpi) = 3cbbcf4422b7789f28e3086ef788fc1a44db2f6a9ce4a5629a3d4c8287a3dcad
+SIZE (xpi/firefox-i18n-52.0/ach.xpi) = 427636
+SHA256 (xpi/firefox-i18n-52.0/af.xpi) = fcf4684463e6476dd26686d7b7c6196fd1310a0df317fbcc88f9e9147d947864
+SIZE (xpi/firefox-i18n-52.0/af.xpi) = 436820
+SHA256 (xpi/firefox-i18n-52.0/an.xpi) = 78436260d053e966c9b663d26c72122bace217a56a15d181f551d45add1601d5
+SIZE (xpi/firefox-i18n-52.0/an.xpi) = 445139
+SHA256 (xpi/firefox-i18n-52.0/ar.xpi) = 95fa9333298e64c9c9943bcc455126a483d3904b5ade6810f2deed091234ed76
+SIZE (xpi/firefox-i18n-52.0/ar.xpi) = 473379
+SHA256 (xpi/firefox-i18n-52.0/as.xpi) = b66741a77e99c5021a7fa4e0e780223829ae53829a0947493f9fbbbf7f5319c2
+SIZE (xpi/firefox-i18n-52.0/as.xpi) = 486885
+SHA256 (xpi/firefox-i18n-52.0/ast.xpi) = 5ad2fbddf728a165e4b7434aa544bbc0b8e718d29fd813ec432573d2dd78e317
+SIZE (xpi/firefox-i18n-52.0/ast.xpi) = 440030
+SHA256 (xpi/firefox-i18n-52.0/az.xpi) = 811b652d13fea215dc1c94e74002a0fa1655a257c2dad122a47ce89eaa6c40bc
+SIZE (xpi/firefox-i18n-52.0/az.xpi) = 454919
+SHA256 (xpi/firefox-i18n-52.0/bg.xpi) = 709755aa3a5b100e5cc1acd2a7feb18f8e0a6f8e2b632b5b3c0f90b0ad781c2e
+SIZE (xpi/firefox-i18n-52.0/bg.xpi) = 487888
+SHA256 (xpi/firefox-i18n-52.0/bn-BD.xpi) = 433d795e02809300d24d5b391209457e96eaa9d636d63c03f22b38a706a7a382
+SIZE (xpi/firefox-i18n-52.0/bn-BD.xpi) = 511991
+SHA256 (xpi/firefox-i18n-52.0/bn-IN.xpi) = e5a2fa91eabece076fb0963ca6b4361c05ffa4b15dfd1763f6ba524c4ec01059
+SIZE (xpi/firefox-i18n-52.0/bn-IN.xpi) = 509372
+SHA256 (xpi/firefox-i18n-52.0/br.xpi) = b72bea1dcddc797e0c45e1dfa6b0a0fd77d845ac61afe14dd47d76dee4b01e7f
+SIZE (xpi/firefox-i18n-52.0/br.xpi) = 435480
+SHA256 (xpi/firefox-i18n-52.0/bs.xpi) = ff83002b983a02a2a5b1775034124e8b1e7b16e6e944f571ea9c8042b19a24e7
+SIZE (xpi/firefox-i18n-52.0/bs.xpi) = 441780
+SHA256 (xpi/firefox-i18n-52.0/ca.xpi) = 73cb168de30734c68690e3ed12391342c5d4a7d5360d714a863b258ad06f8421
+SIZE (xpi/firefox-i18n-52.0/ca.xpi) = 443301
+SHA256 (xpi/firefox-i18n-52.0/cs.xpi) = 31f5687aa5084d04c46790654f23044569ffd19996f41d27e2bab464083fb3dc
+SIZE (xpi/firefox-i18n-52.0/cs.xpi) = 444071
+SHA256 (xpi/firefox-i18n-52.0/cy.xpi) = a4db85bb05fc0b974ce735987b586cb90c42f1e1b4b02126d71f5b48341799e7
+SIZE (xpi/firefox-i18n-52.0/cy.xpi) = 436580
+SHA256 (xpi/firefox-i18n-52.0/da.xpi) = b7f06549c9ac38c4c27832cd5697f7c1303aef19e893b4a05c88c3e6efe58cb3
+SIZE (xpi/firefox-i18n-52.0/da.xpi) = 424390
+SHA256 (xpi/firefox-i18n-52.0/de.xpi) = 94d58d7e8173e55614f2fd203b02309000c21b121a9d114379c237b6a06e2329
+SIZE (xpi/firefox-i18n-52.0/de.xpi) = 442476
+SHA256 (xpi/firefox-i18n-52.0/dsb.xpi) = 2ff9d70cc9265842ef3c1867a6b5b9d082717607eff28c0968cd86741ff1037f
+SIZE (xpi/firefox-i18n-52.0/dsb.xpi) = 459421
+SHA256 (xpi/firefox-i18n-52.0/el.xpi) = feabe455b70b2a3ac41da4f4149bc8eb49b0b0789ce22366a60742c26dd920ef
+SIZE (xpi/firefox-i18n-52.0/el.xpi) = 516589
+SHA256 (xpi/firefox-i18n-52.0/en-GB.xpi) = 7fb581a3cbef3940067bd09edc0bc18c14a9e48ceeeea915982e3753d20ef771
+SIZE (xpi/firefox-i18n-52.0/en-GB.xpi) = 419321
+SHA256 (xpi/firefox-i18n-52.0/en-US.xpi) = b7a5d481c5f250a19ea17ff1e967d3e99b2b07dab8372463d4d3eaa4b38421e8
+SIZE (xpi/firefox-i18n-52.0/en-US.xpi) = 428627
+SHA256 (xpi/firefox-i18n-52.0/en-ZA.xpi) = 6bf4ffa1c7240975feaa8a71abf6a85d62386281e5ef66ee0feb7f6803685686
+SIZE (xpi/firefox-i18n-52.0/en-ZA.xpi) = 412209
+SHA256 (xpi/firefox-i18n-52.0/eo.xpi) = c776830c4c4b30ff789d2c86134194ccf6924e3f7695bb98618ab302c2837cc0
+SIZE (xpi/firefox-i18n-52.0/eo.xpi) = 437470
+SHA256 (xpi/firefox-i18n-52.0/es-AR.xpi) = 48a4bd97e2aaee0315e5243c56fb7c3a491c22ab25a79dc47e59ac3f0523525c
+SIZE (xpi/firefox-i18n-52.0/es-AR.xpi) = 445922
+SHA256 (xpi/firefox-i18n-52.0/es-CL.xpi) = 1b369f6fb6bc6b503e1fcbf83a2a8f5e6e4d0f424996fe3dea2b99228890f196
+SIZE (xpi/firefox-i18n-52.0/es-CL.xpi) = 445673
+SHA256 (xpi/firefox-i18n-52.0/es-ES.xpi) = fa98cce058736cddb439aeb28bf7324c03366089503d7075fa4b627b028f54ca
+SIZE (xpi/firefox-i18n-52.0/es-ES.xpi) = 344873
+SHA256 (xpi/firefox-i18n-52.0/es-MX.xpi) = c10eb860a82220b37e656a7a4c51115c5e30956ee838c1aee9b75c8e0eaa1482
+SIZE (xpi/firefox-i18n-52.0/es-MX.xpi) = 448381
+SHA256 (xpi/firefox-i18n-52.0/et.xpi) = 7f2f4a5f20445a84c1e81657e6912ea10fbc82903c3e62f9e4f3ed6a6adc38a4
+SIZE (xpi/firefox-i18n-52.0/et.xpi) = 425110
+SHA256 (xpi/firefox-i18n-52.0/eu.xpi) = cb482735ccbfdb1c882f8de5b46fce92254e1873dbb38959220e646381130549
+SIZE (xpi/firefox-i18n-52.0/eu.xpi) = 438475
+SHA256 (xpi/firefox-i18n-52.0/fa.xpi) = 4f48ed709c82ad98ea5c0e7d3620eb5376a07d5ca7d94e9fee7c96ff7ed3040b
+SIZE (xpi/firefox-i18n-52.0/fa.xpi) = 491341
+SHA256 (xpi/firefox-i18n-52.0/ff.xpi) = c4f5f351abb7ea25109ef0d60d9c3cca0d22884263d2b44f932e91c40dc6a2d9
+SIZE (xpi/firefox-i18n-52.0/ff.xpi) = 440924
+SHA256 (xpi/firefox-i18n-52.0/fi.xpi) = 20646e6250569d948e84622c7c9023dba780f3c69d7f1fc109b96feb450a9761
+SIZE (xpi/firefox-i18n-52.0/fi.xpi) = 430056
+SHA256 (xpi/firefox-i18n-52.0/fr.xpi) = fe61890275424ed0837e3c8f0541005281b66db64695b6c58bb88c413eca9ce6
+SIZE (xpi/firefox-i18n-52.0/fr.xpi) = 450207
+SHA256 (xpi/firefox-i18n-52.0/fy-NL.xpi) = db6aa16a44912bcfa3412db2090f501197286231863b76572ec27ac5dbce68fb
+SIZE (xpi/firefox-i18n-52.0/fy-NL.xpi) = 444967
+SHA256 (xpi/firefox-i18n-52.0/ga-IE.xpi) = 684a72d30d1d58f80bbfa40516ec125badedf85793fbb37ed51ee5c26cbf76f4
+SIZE (xpi/firefox-i18n-52.0/ga-IE.xpi) = 458162
+SHA256 (xpi/firefox-i18n-52.0/gd.xpi) = 71881534ee499dd440c271edb3bd9f1e508ee3b5d24d24b1bb71ea9f5b284c43
+SIZE (xpi/firefox-i18n-52.0/gd.xpi) = 447264
+SHA256 (xpi/firefox-i18n-52.0/gl.xpi) = 43ef6180ba6b13f29406231f820f13dc6044138bc9308419b981838fc12cf244
+SIZE (xpi/firefox-i18n-52.0/gl.xpi) = 447292
+SHA256 (xpi/firefox-i18n-52.0/gn.xpi) = 20c34d2d25a8e24bafe71313870f56ce35827e9b17d3fc57a9ece6eb7efc5778
+SIZE (xpi/firefox-i18n-52.0/gn.xpi) = 456211
+SHA256 (xpi/firefox-i18n-52.0/gu-IN.xpi) = 92fe2775b244c1e02af6e65b26b0081538366c019bc6cae4be0b0cd83de002dd
+SIZE (xpi/firefox-i18n-52.0/gu-IN.xpi) = 489360
+SHA256 (xpi/firefox-i18n-52.0/he.xpi) = 3c796b5a1fe2fddb8d50f808329977bb93363dfff6935b26e271c9b8aed23bf8
+SIZE (xpi/firefox-i18n-52.0/he.xpi) = 455278
+SHA256 (xpi/firefox-i18n-52.0/hi-IN.xpi) = 8add42335e4ba75e98b6aa228f88d41a0dd803c75621666b12f43f89a5b986cb
+SIZE (xpi/firefox-i18n-52.0/hi-IN.xpi) = 506515
+SHA256 (xpi/firefox-i18n-52.0/hr.xpi) = 60b5548a5c352ff9fb9d6854d28d857415657c3d5a0c7439255a466bfdd560b2
+SIZE (xpi/firefox-i18n-52.0/hr.xpi) = 447500
+SHA256 (xpi/firefox-i18n-52.0/hsb.xpi) = 82ac035db1fab91141971f6d02df5d895959164489a666fabc0d248323c25cd2
+SIZE (xpi/firefox-i18n-52.0/hsb.xpi) = 457255
+SHA256 (xpi/firefox-i18n-52.0/hu.xpi) = 21302994edf657035817e7e47c29011a20d06578283bdd0050b3c2cc50d42c6f
+SIZE (xpi/firefox-i18n-52.0/hu.xpi) = 451493
+SHA256 (xpi/firefox-i18n-52.0/hy-AM.xpi) = 0c282eae390a992f1e94a96cb74cab3b9692f91d8fcf1d03fbc5e3fa2babd545
+SIZE (xpi/firefox-i18n-52.0/hy-AM.xpi) = 495770
+SHA256 (xpi/firefox-i18n-52.0/id.xpi) = a00004dda0e17fe82535e44ec498be8e5074b019a0f72896c931f0521957d8b0
+SIZE (xpi/firefox-i18n-52.0/id.xpi) = 426021
+SHA256 (xpi/firefox-i18n-52.0/is.xpi) = 144f666efa1367714acc058781cb104af51957375ea2a11f536d8d74007e6753
+SIZE (xpi/firefox-i18n-52.0/is.xpi) = 442690
+SHA256 (xpi/firefox-i18n-52.0/it.xpi) = 8585ce8f41462998863d1fa486def6fd8875d64f4335abedd8f2afb85602969a
+SIZE (xpi/firefox-i18n-52.0/it.xpi) = 339218
+SHA256 (xpi/firefox-i18n-52.0/ja.xpi) = 51936f803cdfa6c47353d63b053a59d2e9ce67fbce3d2a59c063a3465e956d3f
+SIZE (xpi/firefox-i18n-52.0/ja.xpi) = 488340
+SHA256 (xpi/firefox-i18n-52.0/kk.xpi) = 3ed27bb2ce0547f6c7c8f83e1be7cb83e054406e042c33ef607df6d5a364f0bf
+SIZE (xpi/firefox-i18n-52.0/kk.xpi) = 496936
+SHA256 (xpi/firefox-i18n-52.0/km.xpi) = c0a8d9abea5d22b2f3dc613a3bd07a6b007a795c938dbce6caa3efd14cf94f43
+SIZE (xpi/firefox-i18n-52.0/km.xpi) = 520341
+SHA256 (xpi/firefox-i18n-52.0/kn.xpi) = c3a6d1e0ef0649ca5c653dbba85bdfca1a2cbbe02f09de86ffd91fce371b28ab
+SIZE (xpi/firefox-i18n-52.0/kn.xpi) = 519452
+SHA256 (xpi/firefox-i18n-52.0/ko.xpi) = 59e9bc347be988faf6828ecacb8176f625e4e55230fcfcb168246ae69495d80c
+SIZE (xpi/firefox-i18n-52.0/ko.xpi) = 463627
+SHA256 (xpi/firefox-i18n-52.0/lij.xpi) = 8832e70d6527c02516b6ec7f218fa257088c711a8ced0c82b8fd29e499e35b73
+SIZE (xpi/firefox-i18n-52.0/lij.xpi) = 421067
+SHA256 (xpi/firefox-i18n-52.0/lt.xpi) = 199fe4661af40d7a45a7aec4d9bafa38d42dc5ef54bf0a74bd94cd45f47ecc86
+SIZE (xpi/firefox-i18n-52.0/lt.xpi) = 452233
+SHA256 (xpi/firefox-i18n-52.0/lv.xpi) = d517cb0b639246b8e5de0acc8d67c98e0cb13bbff065241b750bee101180faff
+SIZE (xpi/firefox-i18n-52.0/lv.xpi) = 448447
+SHA256 (xpi/firefox-i18n-52.0/mai.xpi) = 69ded775bde17871ceda765367a117a83507b96766aca449aa53545b76725143
+SIZE (xpi/firefox-i18n-52.0/mai.xpi) = 499837
+SHA256 (xpi/firefox-i18n-52.0/mk.xpi) = 98857fa0d0ee508c8f3b1671ab28a9cecfccb74d9e29f464debc96ef5b141120
+SIZE (xpi/firefox-i18n-52.0/mk.xpi) = 496196
+SHA256 (xpi/firefox-i18n-52.0/ml.xpi) = 202200292cfeda1f2bb3707d0571173fc53508da23ec7dd264376dbcef21ffc1
+SIZE (xpi/firefox-i18n-52.0/ml.xpi) = 516483
+SHA256 (xpi/firefox-i18n-52.0/mr.xpi) = 5fce2e7f647b391becd55c2cb2dbc9ff3fe0ae8d9fb691bd225f29ee123a88b1
+SIZE (xpi/firefox-i18n-52.0/mr.xpi) = 502428
+SHA256 (xpi/firefox-i18n-52.0/ms.xpi) = 7629049a8a35248b3b97d3cec97f359e0547aac09f1f95699840c621a37866a8
+SIZE (xpi/firefox-i18n-52.0/ms.xpi) = 435987
+SHA256 (xpi/firefox-i18n-52.0/nb-NO.xpi) = c4b752feac174081c9faf05c49b504a1b4040118d8b162f8975285d950be3903
+SIZE (xpi/firefox-i18n-52.0/nb-NO.xpi) = 434408
+SHA256 (xpi/firefox-i18n-52.0/nl.xpi) = 560cfb8a281d6ae1bb6f21e57196604d20e95206395eba74d7cb09ac5ec39e9e
+SIZE (xpi/firefox-i18n-52.0/nl.xpi) = 432004
+SHA256 (xpi/firefox-i18n-52.0/nn-NO.xpi) = db5f957188bee2039f9041c57c5183474f9863490395002d3d2be5b595b81253
+SIZE (xpi/firefox-i18n-52.0/nn-NO.xpi) = 428641
+SHA256 (xpi/firefox-i18n-52.0/or.xpi) = a943ce941a1d000d80b7fad146070e754a5000a311fd7359fdd38bfe9e155c89
+SIZE (xpi/firefox-i18n-52.0/or.xpi) = 496913
+SHA256 (xpi/firefox-i18n-52.0/pa-IN.xpi) = 5f822cf59bbfc93c3c3b3525d19a316b062248ad61f03da3f9c34d3e8600dee7
+SIZE (xpi/firefox-i18n-52.0/pa-IN.xpi) = 476584
+SHA256 (xpi/firefox-i18n-52.0/pl.xpi) = d27c4526f818c18f54d79626b456ca1a051a94a0f57cd3ed16600f39ecc3c318
+SIZE (xpi/firefox-i18n-52.0/pl.xpi) = 352849
+SHA256 (xpi/firefox-i18n-52.0/pt-BR.xpi) = 65ab415fb4bc953a3ef4e6647daed7548b5d35c8f98cc1f0da38c44eb9009ca5
+SIZE (xpi/firefox-i18n-52.0/pt-BR.xpi) = 438166
+SHA256 (xpi/firefox-i18n-52.0/pt-PT.xpi) = 73d3309d4ab26bd0c3f50985a367aabd90e573d883ebdac9badd37fbeeeb3eee
+SIZE (xpi/firefox-i18n-52.0/pt-PT.xpi) = 436723
+SHA256 (xpi/firefox-i18n-52.0/rm.xpi) = 0c0c043cd190983b6729afa847c229f6a83467335e09653a6304fbeaa167bdb9
+SIZE (xpi/firefox-i18n-52.0/rm.xpi) = 434604
+SHA256 (xpi/firefox-i18n-52.0/ro.xpi) = a88faf248640285f31f9d6734dd1c1af6536a9780680c6eb6e3f8c12c11e3cc4
+SIZE (xpi/firefox-i18n-52.0/ro.xpi) = 449934
+SHA256 (xpi/firefox-i18n-52.0/ru.xpi) = 6fcc516b09f2cca47ac5dd3108bd819357fdb9555c94a74f00f2e3b268418f92
+SIZE (xpi/firefox-i18n-52.0/ru.xpi) = 395361
+SHA256 (xpi/firefox-i18n-52.0/si.xpi) = ca8e11d3d1c14ebed7e328bdb593765b6f71140d9cb173fd11e76520dd52b89a
+SIZE (xpi/firefox-i18n-52.0/si.xpi) = 491956
+SHA256 (xpi/firefox-i18n-52.0/sk.xpi) = fe947ccd6a25968b1422974b16892f4ddcb208769294c8634cb55adf491cf6cd
+SIZE (xpi/firefox-i18n-52.0/sk.xpi) = 455815
+SHA256 (xpi/firefox-i18n-52.0/sl.xpi) = 24fbfb12d60604640533ac0073c36a1f956da2a1ae9853bc8ce88544e16e0b75
+SIZE (xpi/firefox-i18n-52.0/sl.xpi) = 433480
+SHA256 (xpi/firefox-i18n-52.0/son.xpi) = b67823f59a936ffa80ad8d99ebc583844ab888f18cfb968ea4d22cc1c49a16d6
+SIZE (xpi/firefox-i18n-52.0/son.xpi) = 435125
+SHA256 (xpi/firefox-i18n-52.0/sq.xpi) = ac1137b10f8280a73eea91be59fd8176b9be9d8bf18dffb6887be0330812f898
+SIZE (xpi/firefox-i18n-52.0/sq.xpi) = 448154
+SHA256 (xpi/firefox-i18n-52.0/sr.xpi) = 997f428456718f37919c2dd5a32bece00e9ac4d8bce29a07d5c6e1c0d5baa6fe
+SIZE (xpi/firefox-i18n-52.0/sr.xpi) = 463390
+SHA256 (xpi/firefox-i18n-52.0/sv-SE.xpi) = 09cda0230d06867a0332e12d0cf7e1dded0412aaca5493d1f671c25f917f31d5
+SIZE (xpi/firefox-i18n-52.0/sv-SE.xpi) = 441178
+SHA256 (xpi/firefox-i18n-52.0/ta.xpi) = 8eac60c6ffed27d9ef9335722b105737a6848a953852bd64a77d06bcda810d79
+SIZE (xpi/firefox-i18n-52.0/ta.xpi) = 494795
+SHA256 (xpi/firefox-i18n-52.0/te.xpi) = 0af427eb3a234fc167b34c316426da0a0463670cc7295a4b4e8619e28b593dbf
+SIZE (xpi/firefox-i18n-52.0/te.xpi) = 515237
+SHA256 (xpi/firefox-i18n-52.0/th.xpi) = 2cb0ae512a2f1f730be13a7bd6856c0c8d2113353281243a8489455a45ac8e56
+SIZE (xpi/firefox-i18n-52.0/th.xpi) = 489375
+SHA256 (xpi/firefox-i18n-52.0/tr.xpi) = 50b719beae4712e1981fe5fd1f8cd15df81217d6a7036e20cebd8435ebc3c02b
+SIZE (xpi/firefox-i18n-52.0/tr.xpi) = 443670
+SHA256 (xpi/firefox-i18n-52.0/uk.xpi) = 83e43d7f26727940de5e3ae400eb4a2a8f425a24a183b0c0d952208cba172468
+SIZE (xpi/firefox-i18n-52.0/uk.xpi) = 495091
+SHA256 (xpi/firefox-i18n-52.0/uz.xpi) = 946b81ca738ca75b2d2407842c8d969e85832e30ce8280c4ef485b334cca7949
+SIZE (xpi/firefox-i18n-52.0/uz.xpi) = 447913
+SHA256 (xpi/firefox-i18n-52.0/vi.xpi) = 00ffdeb1d95c1bbcead080c6126c2a75155c4ffc3df0039ddd1b536eb4918aef
+SIZE (xpi/firefox-i18n-52.0/vi.xpi) = 450802
+SHA256 (xpi/firefox-i18n-52.0/xh.xpi) = f3d57861c64f59c4250ff5450b9386e8ef96676783aa9828f688cc261eb864a6
+SIZE (xpi/firefox-i18n-52.0/xh.xpi) = 441169
+SHA256 (xpi/firefox-i18n-52.0/zh-CN.xpi) = 9c7347fd70d7b554670c2408dd1509cbe30a7b6a11ae4597278b6bf9cdeedc23
+SIZE (xpi/firefox-i18n-52.0/zh-CN.xpi) = 461691
+SHA256 (xpi/firefox-i18n-52.0/zh-TW.xpi) = 8ade0de0ee62fc690328b56866ec33137a77989d588071bb453bce5e6a938379
+SIZE (xpi/firefox-i18n-52.0/zh-TW.xpi) = 472530
diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index 22580d2ab2d3..98943fefc804 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -2,25 +2,26 @@
# $FreeBSD$
PORTNAME= firefox
-DISTVERSION= 51.0.1
+DISTVERSION= 52.0
DISTVERSIONSUFFIX=.source
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= www ipv6
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
- MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build3/source
+ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build2/source
MAINTAINER= gecko@FreeBSD.org
COMMENT= Web browser based on the browser portion of Mozilla
BUILD_DEPENDS= nspr>=4.13.1:devel/nspr \
- nss>=3.28.1:security/nss \
+ nss>=3.28.3:security/nss \
libevent2>=2.0.21_2:devel/libevent2 \
- harfbuzz>=1.3.3:print/harfbuzz \
+ harfbuzz>=1.4.1:print/harfbuzz \
graphite2>=1.3.8:graphics/graphite2 \
png>=1.6.25:graphics/png \
libvorbis>=1.3.5,3:audio/libvorbis \
libvpx>=1.5.0:multimedia/libvpx \
- sqlite3>=3.14.1:databases/sqlite3 \
+ sqlite3>=3.17.0:databases/sqlite3 \
${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \
v4l_compat>0:multimedia/v4l_compat \
autoconf-2.13:devel/autoconf213 \
diff --git a/www/firefox/distinfo b/www/firefox/distinfo
index f5671145ec17..3556a39f0ab5 100644
--- a/www/firefox/distinfo
+++ b/www/firefox/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1485379956
-SHA256 (firefox-51.0.1.source.tar.xz) = 30ba00ba716ea1eeda526e2ccc8642f8d18a836793fde50e87a4fcb9d9fccca9
-SIZE (firefox-51.0.1.source.tar.xz) = 202142716
+TIMESTAMP = 1488494439
+SHA256 (firefox-52.0.source.tar.xz) = 494ec86875ea60043658e402b664ccd5af4709acc3a478de8729f7cbac9ea3c1
+SIZE (firefox-52.0.source.tar.xz) = 212356732
diff --git a/www/firefox/files/patch-bug1142056 b/www/firefox/files/patch-bug1142056
deleted file mode 100644
index bf453501eda3..000000000000
--- a/www/firefox/files/patch-bug1142056
+++ /dev/null
@@ -1,64 +0,0 @@
-commit ef0d953d9e2d
-Author: Makoto Kato <m_kato@ga2.so-net.ne.jp>
-Date: Tue Aug 23 16:54:06 2016 +0900
-
- Bug 1142056 - Add aarch64 configuration on Skia's moz.build. r=gw280
-
- MozReview-Commit-ID: 60iAZjFg6W6
-
- --HG--
- extra : histedit_source : b3bb5a3e556393ba49f43dc4ab8bdaa9be40fb0c
----
- gfx/skia/generate_mozbuild.py | 6 ++++--
- gfx/skia/moz.build | 12 ++++++++++--
- 2 files changed, 14 insertions(+), 4 deletions(-)
-
-diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py
-index 2088b729d476..1eb04c1d7f57 100755
---- gfx/skia/generate_mozbuild.py
-+++ gfx/skia/generate_mozbuild.py
-@@ -429,10 +429,12 @@ def write_mozbuild(sources):
- f.write("if CONFIG['INTEL_ARCHITECTURE']:\n")
- write_sources(f, sources['intel'], 4)
-
-- f.write("elif CONFIG['CPU_ARCH'] == 'arm' and CONFIG['GNU_CC']:\n")
-+ f.write("elif CONFIG['CPU_ARCH'] in ('arm', 'aarch64') and CONFIG['GNU_CC']:\n")
- write_sources(f, sources['arm'], 4)
-
-- f.write(" if CONFIG['BUILD_ARM_NEON']:\n")
-+ f.write(" if CONFIG['CPU_ARCH'] == 'aarch64':\n")
-+ write_sources(f, sources['neon'], 8)
-+ f.write(" elif CONFIG['BUILD_ARM_NEON']:\n")
- write_list(f, 'SOURCES', sources['neon'], 8)
- write_cflags(f, sources['neon'], 'neon', "CONFIG['NEON_FLAGS']", 8)
-
-diff --git gfx/skia/moz.build gfx/skia/moz.build
-index b33f1cdbee54..9dba87978dd3 100644
---- gfx/skia/moz.build
-+++ gfx/skia/moz.build
-@@ -519,7 +519,7 @@ if CONFIG['INTEL_ARCHITECTURE']:
- 'skia/src/opts/SkOpts_sse41.cpp',
- 'skia/src/opts/SkOpts_ssse3.cpp',
- ]
--elif CONFIG['CPU_ARCH'] == 'arm' and CONFIG['GNU_CC']:
-+elif CONFIG['CPU_ARCH'] in ('arm', 'aarch64') and CONFIG['GNU_CC']:
- UNIFIED_SOURCES += [
- 'skia/src/core/SkUtilsArm.cpp',
- 'skia/src/opts/SkBitmapProcState_opts_arm.cpp',
-@@ -528,7 +528,15 @@ elif CONFIG['CPU_ARCH'] == 'arm' and CONFIG['GNU_CC']:
- SOURCES += [
- 'skia/src/opts/SkBlitRow_opts_arm.cpp',
- ]
-- if CONFIG['BUILD_ARM_NEON']:
-+ if CONFIG['CPU_ARCH'] == 'aarch64':
-+ SOURCES += [
-+ 'skia/src/opts/SkBitmapProcState_arm_neon.cpp',
-+ 'skia/src/opts/SkBitmapProcState_matrixProcs_neon.cpp',
-+ 'skia/src/opts/SkBlitMask_opts_arm_neon.cpp',
-+ 'skia/src/opts/SkBlitRow_opts_arm_neon.cpp',
-+ 'skia/src/opts/SkOpts_neon.cpp',
-+ ]
-+ elif CONFIG['BUILD_ARM_NEON']:
- SOURCES += [
- 'skia/src/opts/SkBitmapProcState_arm_neon.cpp',
- 'skia/src/opts/SkBitmapProcState_matrixProcs_neon.cpp',
diff --git a/www/firefox/files/patch-bug1303380 b/www/firefox/files/patch-bug1303380
deleted file mode 100644
index 5753fc87030f..000000000000
--- a/www/firefox/files/patch-bug1303380
+++ /dev/null
@@ -1,26 +0,0 @@
-commit c0fd0d3
-Author: Jared Wein <jwein@mozilla.com>
-Date: Mon Sep 19 15:40:28 2016 -0400
-
- Bug 1303380 - Wrap the telemetry code in _firstWindowLoaded with a try/catch to allow startup and migration code to run to completion if there is an exception writing to Telemetry. r=gijs
-
- MozReview-Commit-ID: DPfq6lZ4fM3
----
- browser/components/nsBrowserGlue.js | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git browser/components/nsBrowserGlue.js browser/components/nsBrowserGlue.js
-index eebbef2..20706fd 100644
---- browser/components/nsBrowserGlue.js
-+++ browser/components/nsBrowserGlue.js
-@@ -931,7 +931,9 @@ BrowserGlue.prototype = {
- }
- if (SCALING_PROBE_NAME) {
- let scaling = aWindow.devicePixelRatio * 100;
-- Services.telemetry.getHistogramById(SCALING_PROBE_NAME).add(scaling);
-+ try {
-+ Services.telemetry.getHistogramById(SCALING_PROBE_NAME).add(scaling);
-+ } catch (ex) {}
- }
- },
-
diff --git a/www/firefox/files/patch-bug1315986 b/www/firefox/files/patch-bug1315986
deleted file mode 100644
index 3d5e81bf2584..000000000000
--- a/www/firefox/files/patch-bug1315986
+++ /dev/null
@@ -1,49 +0,0 @@
-commit c0d2685148b5
-Author: Jonathan Kew <jkew@mozilla.com>
-Date: Wed Nov 9 15:07:54 2016 +0000
-
- Bug 1315986 - Update line-break class mapping in nsJISx4051LineBreaker to handle new classes in ICU58/Unicode 9, and add assertions to detect any future additions that will require further updates. r=masayuki
----
- intl/lwbrk/nsJISx4051LineBreaker.cpp | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
-
-diff --git intl/lwbrk/nsJISx4051LineBreaker.cpp intl/lwbrk/nsJISx4051LineBreaker.cpp
-index 0d89e91..1b262fa 100644
---- intl/lwbrk/nsJISx4051LineBreaker.cpp
-+++ intl/lwbrk/nsJISx4051LineBreaker.cpp
-@@ -12,6 +12,10 @@
- #include "nsTArray.h"
- #include "nsUnicodeProperties.h"
-
-+#if ENABLE_INTL_API
-+#include "unicode/uchar.h" // for U_LB_COUNT until bug 1305700
-+#endif
-+
- /*
-
- Simplification of Pair Table in JIS X 4051
-@@ -547,10 +551,22 @@ GetClass(uint32_t u)
- /* CLOSE_PARENTHESIS = 36, [CP] */ CLASS_CLOSE_LIKE_CHARACTER,
- /* CONDITIONAL_JAPANESE_STARTER = 37, [CJ] */ CLASS_CLOSE,
- /* HEBREW_LETTER = 38, [HL] */ CLASS_CHARACTER,
-- /* REGIONAL_INDICATOR = 39, [RI] */ CLASS_CHARACTER
-+ /* REGIONAL_INDICATOR = 39, [RI] */ CLASS_CHARACTER,
-+#if U_ICU_VERSION_MAJOR_NUM > 57
-+ /* E_BASE = 40, [EB] */ CLASS_BREAKABLE,
-+ /* E_MODIFIER = 41, [EM] */ CLASS_CHARACTER,
-+ /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER,
-+#endif
- };
-
-- return sUnicodeLineBreakToClass[mozilla::unicode::GetLineBreakClass(u)];
-+#if ENABLE_INTL_API
-+ static_assert(U_LB_COUNT == mozilla::ArrayLength(sUnicodeLineBreakToClass),
-+ "Gecko vs ICU LineBreak class mismatch");
-+#endif
-+
-+ auto cls = mozilla::unicode::GetLineBreakClass(u);
-+ MOZ_ASSERT(cls < mozilla::ArrayLength(sUnicodeLineBreakToClass));
-+ return sUnicodeLineBreakToClass[cls];
- }
-
- static bool
diff --git a/www/firefox/files/patch-bug1316879 b/www/firefox/files/patch-bug1316879
index e484c55d8860..7641984a8092 100644
--- a/www/firefox/files/patch-bug1316879
+++ b/www/firefox/files/patch-bug1316879
@@ -1,103 +1,11 @@
-Revert bug 1299919 due to a failure building with CPP in environemnt.
-
-diff --git build/autoconf/toolchain.m4 build/autoconf/toolchain.m4
-index 8353967a180c..c8503e5d63f5 100644
---- build/autoconf/toolchain.m4
-+++ build/autoconf/toolchain.m4
-@@ -2,14 +2,6 @@
- dnl License, v. 2.0. If a copy of the MPL was not distributed with this
- dnl file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--dnl Several autoconf functions AC_REQUIRE AC_PROG_CPP/AC_PROG_CXXCPP,
--dnl meaning they are called even when we don't call them explicitly.
--dnl However, theses checks are not necessary and python configure sets
--dnl the corresponding variables already, so just skip those tests
--dnl entirely.
--define([AC_PROG_CPP],[])
--define([AC_PROG_CXXCPP],[])
--
- AC_DEFUN([MOZ_TOOL_VARIABLES],
- [
- GNU_AS=
-diff --git build/moz.configure/toolchain.configure build/moz.configure/toolchain.configure
-index c69b5d12daf4..bba62023c836 100644
---- build/moz.configure/toolchain.configure
-+++ build/moz.configure/toolchain.configure
-@@ -754,23 +754,6 @@
- valid_compiler.try_compile(check_msg='%s works' % what,
- onerror=compiler_error)
-
--
-- # Set CPP/CXXCPP for both the build system and old-configure. We don't
-- # need to check this works for preprocessing, because we already relied
-- # on $CC -E/$CXX -E doing preprocessing work to validate the compiler
-- # in the first place.
-- if host_or_target == target:
-- pp_var = {
-- 'C': 'CPP',
-- 'C++': 'CXXCPP',
-- }[language]
--
-- preprocessor = depends_if(valid_compiler)(
-- lambda x: list(x.wrapper) + [x.compiler, '-E'] + list(x.flags))
--
-- set_config(pp_var, preprocessor)
-- add_old_configure_assignment(pp_var, preprocessor)
--
- return valid_compiler
-
-
-diff --git dom/bindings/GenerateCSS2PropertiesWebIDL.py dom/bindings/GenerateCSS2PropertiesWebIDL.py
-index 73e1541c13b0..58ec60c29b10 100644
---- dom/bindings/GenerateCSS2PropertiesWebIDL.py
-+++ dom/bindings/GenerateCSS2PropertiesWebIDL.py
-@@ -16,7 +16,7 @@
- return " [%s] attribute DOMString %s;\n" % (", ".join(extendedAttrs),
- propName)
- def generate(output, idlFilename, preprocessorHeader):
-- cpp = list(buildconfig.substs['CPP'])
-+ cpp = shellutil.split(buildconfig.substs['CPP'])
- cpp += shellutil.split(buildconfig.substs['ACDEFINES'])
- cpp.append(preprocessorHeader)
- preprocessed = subprocess.check_output(cpp)
-diff --git js/src/old-configure.in js/src/old-configure.in
-index 79541bdeb986..1cb4204aeeb3 100644
---- js/src/old-configure.in
-+++ js/src/old-configure.in
-@@ -140,6 +140,9 @@
-
- MOZ_TOOL_VARIABLES
-
-+AC_PROG_CPP
-+AC_PROG_CXXCPP
-+
- dnl Special win32 checks
- dnl ========================================================
-
-diff --git layout/style/GenerateCSSPropsGenerated.py layout/style/GenerateCSSPropsGenerated.py
-index 4dc2a253a811..5038e9afe726 100644
---- layout/style/GenerateCSSPropsGenerated.py
-+++ layout/style/GenerateCSSPropsGenerated.py
-@@ -10,7 +10,7 @@
- from mozbuild import shellutil
-
- def get_properties(preprocessorHeader):
-- cpp = list(buildconfig.substs['CPP'])
-+ cpp = shellutil.split(buildconfig.substs['CPP'])
- cpp += shellutil.split(buildconfig.substs['ACDEFINES'])
- cpp.append(preprocessorHeader)
- preprocessed = subprocess.check_output(cpp)
-diff --git old-configure.in old-configure.in
-index 863235e13176..545e82f83d56 100644
---- old-configure.in
-+++ old-configure.in
-@@ -241,6 +241,9 @@
-
- MOZ_TOOL_VARIABLES
-
-+AC_PROG_CPP
-+AC_PROG_CXXCPP
-+
- dnl ========================================================
- dnl Special win32 checks
- dnl ========================================================
+diff --git build/buildconfig.py build/buildconfig.py
+index bb12114b2f4a..e73903a1a981 100644
+--- build/buildconfig.py
++++ build/buildconfig.py
+@@ -16,5 +16,5 @@ for var in ('topsrcdir', 'topobjdir', 'defines', 'non_global_defines',
+ substs = dict(substs)
+
+ for var in os.environ:
+- if var != 'SHELL' and var in substs:
++ if var not in ('CPP', 'CXXCPP', 'SHELL') and var in substs:
+ substs[var] = os.environ[var]
diff --git a/www/firefox/files/patch-bug1320991 b/www/firefox/files/patch-bug1320991
deleted file mode 100644
index 3c2daff9428f..000000000000
--- a/www/firefox/files/patch-bug1320991
+++ /dev/null
@@ -1,55 +0,0 @@
-commit 454e2dbe1b4f
-Author: Mike Shal <mshal@mozilla.com>
-Date: Tue Dec 20 16:37:18 2016 -0500
-
- Bug 1320991 - Support --with-system-{nss,nspr} in modules/libmar; r?glandium
-
- The problem with the modules/libmar/tests/moz.build file when building
- --with-system-nspr and --with-system-nss is that the nss libraries don't
- exist in the tree, so they fail when trying to copy into the test
- directory.
-
- However, it turns out that the libraries copied into the test directory
- aren't even used when building with an in-tree copy, because the
- xpcshell launcher sets LD_LIBRARY_PATH to point to dist/bin. Since we
- use the dist/bin copies anyway for an in-tree build, we can stop copying
- them into the test directory and simultaneously fix the --with-system
- build.
-
- The DEFINES can also go away since this directory doesn't actually build
- anything.
-
- MozReview-Commit-ID: Bk2f28wc9ZJ
----
- modules/libmar/tests/moz.build | 17 -----------------
- 1 file changed, 17 deletions(-)
-
-diff --git modules/libmar/tests/moz.build modules/libmar/tests/moz.build
-index ee72571b0c6b..9642553e8aa2 100644
---- modules/libmar/tests/moz.build
-+++ modules/libmar/tests/moz.build
-@@ -6,24 +6,7 @@
-
- XPCSHELL_TESTS_MANIFESTS += ['unit/xpcshell.ini']
-
--DEFINES['BIN_SUFFIX'] = CONFIG['BIN_SUFFIX']
--
- if CONFIG['OS_TARGET'] != 'Android':
-- nss_files = ['nss3']
-- if not CONFIG['MOZ_FOLD_LIBS']:
-- nss_files.extend([
-- 'nssutil3',
-- 'plc4',
-- 'nspr4',
-- 'plds4',
-- ])
-- TEST_HARNESS_FILES.xpcshell.modules.libmar.tests.unit += sorted(
-- ['!/dist/bin/%s%s%s' % (
-- CONFIG['DLL_PREFIX'],
-- name,
-- CONFIG['DLL_SUFFIX'],
-- ) for name in nss_files]
-- )
- TEST_HARNESS_FILES.xpcshell.modules.libmar.tests.unit += [
- '!../tool/signmar%s' % CONFIG['BIN_SUFFIX'],
- ]
diff --git a/www/firefox/files/patch-bug1329520 b/www/firefox/files/patch-bug1329520
deleted file mode 100644
index 892a338dc8c3..000000000000
--- a/www/firefox/files/patch-bug1329520
+++ /dev/null
@@ -1,154 +0,0 @@
-commit 8b0557b033b9
-Author: Dimitry Andric <dimitry>
-Date: Fri Jan 27 13:55:00 2017 +0100
-
- Bug 1329520 - Fix "memory/mozalloc/throw_gcc.h:35:1: note: declaration missing '[[noreturn]]' (libc++ 4.0)" r=nfroyd
----
- memory/mozalloc/throw_gcc.h | 47 ++++++++++++++++++++++++++++++---------------
- 1 file changed, 31 insertions(+), 16 deletions(-)
-
-diff --git memory/mozalloc/throw_gcc.h memory/mozalloc/throw_gcc.h
-index 18027e04a4a3..4264df63d493 100644
---- memory/mozalloc/throw_gcc.h
-+++ memory/mozalloc/throw_gcc.h
-@@ -19,104 +19,117 @@
-
- #include "mozilla/mozalloc_abort.h"
-
-+// libc++ 4.0.0 and higher use C++11 [[noreturn]] attributes for the functions
-+// below, and since clang does not allow mixing __attribute__((noreturn)) and
-+// [[noreturn]], we have to explicitly use the latter here. See bug 1329520.
-+#if defined(__clang__)
-+# if __has_feature(cxx_attributes) && \
-+ defined(_LIBCPP_VERSION) && _LIBCPP_VERSION >= 4000
-+# define MOZ_THROW_NORETURN [[noreturn]]
-+# endif
-+#endif
-+#ifndef MOZ_THROW_NORETURN
-+# define MOZ_THROW_NORETURN MOZ_NORETURN
-+#endif
-+
- namespace std {
-
- // NB: user code is not supposed to touch the std:: namespace. We're
- // doing this after careful review because we want to define our own
- // exception throwing semantics. Don't try this at home!
-
--MOZ_EXPORT MOZ_NORETURN MOZ_ALWAYS_INLINE void
-+MOZ_THROW_NORETURN MOZ_EXPORT MOZ_ALWAYS_INLINE void
- __throw_bad_exception(void)
- {
- mozalloc_abort("fatal: STL threw bad_exception");
- }
-
--MOZ_EXPORT MOZ_NORETURN MOZ_ALWAYS_INLINE void
-+MOZ_THROW_NORETURN MOZ_EXPORT MOZ_ALWAYS_INLINE void
- __throw_bad_alloc(void)
- {
- mozalloc_abort("fatal: STL threw bad_alloc");
- }
-
--MOZ_EXPORT MOZ_NORETURN MOZ_ALWAYS_INLINE void
-+MOZ_THROW_NORETURN MOZ_EXPORT MOZ_ALWAYS_INLINE void
- __throw_bad_cast(void)
- {
- mozalloc_abort("fatal: STL threw bad_cast");
- }
-
--MOZ_EXPORT MOZ_NORETURN MOZ_ALWAYS_INLINE void
-+MOZ_THROW_NORETURN MOZ_EXPORT MOZ_ALWAYS_INLINE void
- __throw_bad_typeid(void)
- {
- mozalloc_abort("fatal: STL threw bad_typeid");
- }
-
- // used by <functional>
--MOZ_EXPORT MOZ_NORETURN MOZ_ALWAYS_INLINE void
-+MOZ_THROW_NORETURN MOZ_EXPORT MOZ_ALWAYS_INLINE void
- __throw_bad_function_call(void)
- {
- mozalloc_abort("fatal: STL threw bad_function_call");
- }
-
--MOZ_EXPORT MOZ_NORETURN MOZ_ALWAYS_INLINE void
-+MOZ_THROW_NORETURN MOZ_EXPORT MOZ_ALWAYS_INLINE void
- __throw_logic_error(const char* msg)
- {
- mozalloc_abort(msg);
- }
-
--MOZ_EXPORT MOZ_NORETURN MOZ_ALWAYS_INLINE void
-+MOZ_THROW_NORETURN MOZ_EXPORT MOZ_ALWAYS_INLINE void
- __throw_domain_error(const char* msg)
- {
- mozalloc_abort(msg);
- }
-
--MOZ_EXPORT MOZ_NORETURN MOZ_ALWAYS_INLINE void
-+MOZ_THROW_NORETURN MOZ_EXPORT MOZ_ALWAYS_INLINE void
- __throw_invalid_argument(const char* msg)
- {
- mozalloc_abort(msg);
- }
-
--MOZ_EXPORT MOZ_NORETURN MOZ_ALWAYS_INLINE void
-+MOZ_THROW_NORETURN MOZ_EXPORT MOZ_ALWAYS_INLINE void
- __throw_length_error(const char* msg)
- {
- mozalloc_abort(msg);
- }
-
--MOZ_EXPORT MOZ_NORETURN MOZ_ALWAYS_INLINE void
-+MOZ_THROW_NORETURN MOZ_EXPORT MOZ_ALWAYS_INLINE void
- __throw_out_of_range(const char* msg)
- {
- mozalloc_abort(msg);
- }
-
--MOZ_EXPORT MOZ_NORETURN MOZ_ALWAYS_INLINE void
-+MOZ_THROW_NORETURN MOZ_EXPORT MOZ_ALWAYS_INLINE void
- __throw_runtime_error(const char* msg)
- {
- mozalloc_abort(msg);
- }
-
--MOZ_EXPORT MOZ_NORETURN MOZ_ALWAYS_INLINE void
-+MOZ_THROW_NORETURN MOZ_EXPORT MOZ_ALWAYS_INLINE void
- __throw_range_error(const char* msg)
- {
- mozalloc_abort(msg);
- }
-
--MOZ_EXPORT MOZ_NORETURN MOZ_ALWAYS_INLINE void
-+MOZ_THROW_NORETURN MOZ_EXPORT MOZ_ALWAYS_INLINE void
- __throw_overflow_error(const char* msg)
- {
- mozalloc_abort(msg);
- }
-
--MOZ_EXPORT MOZ_NORETURN MOZ_ALWAYS_INLINE void
-+MOZ_THROW_NORETURN MOZ_EXPORT MOZ_ALWAYS_INLINE void
- __throw_underflow_error(const char* msg)
- {
- mozalloc_abort(msg);
- }
-
--MOZ_EXPORT MOZ_NORETURN MOZ_ALWAYS_INLINE void
-+MOZ_THROW_NORETURN MOZ_EXPORT MOZ_ALWAYS_INLINE void
- __throw_ios_failure(const char* msg)
- {
- mozalloc_abort(msg);
- }
-
--MOZ_EXPORT MOZ_NORETURN MOZ_ALWAYS_INLINE void
-+MOZ_THROW_NORETURN MOZ_EXPORT MOZ_ALWAYS_INLINE void
- __throw_system_error(int err)
- {
- char error[128];
-@@ -127,4 +140,6 @@ __throw_system_error(int err)
-
- } // namespace std
-
-+#undef MOZ_THROW_NORETURN
-+
- #endif // mozilla_throw_gcc_h
diff --git a/www/firefox/files/patch-bug1329895 b/www/firefox/files/patch-bug1329895
deleted file mode 100644
index 4467cd9c759f..000000000000
--- a/www/firefox/files/patch-bug1329895
+++ /dev/null
@@ -1,13 +0,0 @@
-Apply Linux fieldtext opacity for all GTK platforms. r=dao
-
---- browser/themes/shared/icon-colors.inc.svg
-+++ browser/themes/shared/icon-colors.inc.svg
-@@ -2,7 +2,7 @@
-
- .fieldtext {
- fill: -moz-fieldtext;
--#ifdef XP_LINUX
-+#ifdef MOZ_WIDGET_GTK
- /* The fill-opacity needs to be sufficient for high-contrast settings, and
- pathological Gtk themes where -moz-fieldtext provides low contrast by
- default. */
diff --git a/www/firefox/files/patch-bug1330119 b/www/firefox/files/patch-bug1330119
deleted file mode 100644
index 012282795220..000000000000
--- a/www/firefox/files/patch-bug1330119
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git xpcom/reflect/xptcall/md/unix/moz.build xpcom/reflect/xptcall/md/unix/moz.build
-index 019487bd69a2..a54026e70412 100644
---- xpcom/reflect/xptcall/md/unix/moz.build
-+++ xpcom/reflect/xptcall/md/unix/moz.build
-@@ -151,7 +151,7 @@ if CONFIG['OS_ARCH'] == 'NetBSD':
- 'xptcstubs_netbsd_m68k.cpp'
- ]
-
--if CONFIG['OS_ARCH'] == 'Linux':
-+if CONFIG['OS_ARCH'] in ('Linux', 'FreeBSD', 'NetBSD', 'OpenBSD'):
- if CONFIG['OS_TEST'] == 'aarch64':
- SOURCES += [
- 'xptcinvoke_aarch64.cpp',
diff --git a/www/firefox/files/patch-bug757366 b/www/firefox/files/patch-bug757366
deleted file mode 100644
index 20be9013276d..000000000000
--- a/www/firefox/files/patch-bug757366
+++ /dev/null
@@ -1,58 +0,0 @@
-commit 2a3be4b384b9
-Author: Jonathan Kew <jkew@mozilla.com>
-Date: Mon Sep 26 18:05:14 2016 +0100
-
- Bug 757366 - Don't cast pointers to 'name'-table data to uint16_t*, as they may not be 16-bit-aligned. r=jrmuizel
----
- gfx/thebes/gfxFontUtils.cpp | 26 ++++++++++++++------------
- 1 file changed, 14 insertions(+), 12 deletions(-)
-
-diff --git gfx/thebes/gfxFontUtils.cpp gfx/thebes/gfxFontUtils.cpp
-index 526e17d..cb505e8 100644
---- gfx/thebes/gfxFontUtils.cpp
-+++ gfx/thebes/gfxFontUtils.cpp
-@@ -918,16 +918,18 @@ IsValidSFNTVersion(uint32_t version)
- version == TRUETYPE_TAG('t','r','u','e');
- }
-
--// copy and swap UTF-16 values, assume no surrogate pairs, can be in place
-+// Copy and swap UTF-16 values, assume no surrogate pairs, can be in place.
-+// aInBuf and aOutBuf are NOT necessarily 16-bit-aligned, so we should avoid
-+// accessing them directly as uint16_t* values.
-+// aLen is count of UTF-16 values, so the byte buffers are twice that.
- static void
--CopySwapUTF16(const uint16_t *aInBuf, uint16_t *aOutBuf, uint32_t aLen)
-+CopySwapUTF16(const char* aInBuf, char* aOutBuf, uint32_t aLen)
- {
-- const uint16_t *end = aInBuf + aLen;
-+ const char* end = aInBuf + aLen * 2;
- while (aInBuf < end) {
-- uint16_t value = *aInBuf;
-- *aOutBuf = (value >> 8) | (value & 0xff) << 8;
-- aOutBuf++;
-- aInBuf++;
-+ uint8_t b0 = *aInBuf++;
-+ *aOutBuf++ = *aInBuf++;
-+ *aOutBuf++ = b0;
- }
- }
-
-@@ -1446,13 +1448,13 @@ gfxFontUtils::DecodeFontName(const char *aNameData, int32_t aByteLen,
- if (csName[0] == 0) {
- // empty charset name: data is utf16be, no need to instantiate a converter
- uint32_t strLen = aByteLen / 2;
--#ifdef IS_LITTLE_ENDIAN
- aName.SetLength(strLen);
-- CopySwapUTF16(reinterpret_cast<const uint16_t*>(aNameData),
-- reinterpret_cast<uint16_t*>(aName.BeginWriting()), strLen);
-+#ifdef IS_LITTLE_ENDIAN
-+ CopySwapUTF16(aNameData, reinterpret_cast<char*>(aName.BeginWriting()),
-+ strLen);
- #else
-- aName.Assign(reinterpret_cast<const char16_t*>(aNameData), strLen);
--#endif
-+ memcpy(aName.BeginWriting(), aNameData, strLen * 2);
-+#endif
- return true;
- }
-
diff --git a/www/firefox/files/patch-bug826985 b/www/firefox/files/patch-bug826985
index 42514af9226f..1ba4dece14d1 100644
--- a/www/firefox/files/patch-bug826985
+++ b/www/firefox/files/patch-bug826985
@@ -67,7 +67,7 @@ diff --git media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_lin
index 239a292..bab496c 100644
--- media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc
+++ media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc
-@@ -25,10 +25,21 @@
+@@ -25,6 +25,9 @@
#else
#include <linux/videodev2.h>
#endif
@@ -77,6 +77,9 @@ index 239a292..bab496c 100644
#include "webrtc/system_wrappers/interface/ref_count.h"
#include "webrtc/system_wrappers/interface/trace.h"
+@@ -34,6 +37,15 @@
+ #define BUF_LEN ( 1024 * ( EVENT_SIZE + 16 ) )
+ #endif
+#ifdef HAVE_LIBV4L2
+#define open v4l2_open
@@ -86,10 +89,11 @@ index 239a292..bab496c 100644
+#define mmap v4l2_mmap
+#define munmap v4l2_munmap
+#endif
-
++
namespace webrtc
{
-@@ -130,6 +142,11 @@ WebRtc_Word32 DeviceInfoLinux::GetDeviceName(
+ namespace videocapturemodule
+@@ -274,6 +286,11 @@ int32_t DeviceInfoLinux::GetDeviceName(
memset(deviceNameUTF8, 0, deviceNameLength);
memcpy(cameraName, cap.card, sizeof(cap.card));
diff --git a/www/firefox/files/patch-bug847568 b/www/firefox/files/patch-bug847568
index 493eb3910155..9588ce5df654 100644
--- a/www/firefox/files/patch-bug847568
+++ b/www/firefox/files/patch-bug847568
@@ -1,26 +1,26 @@
# Allow building against system-wide graphite2/harfbuzz.
diff --git config/Makefile.in config/Makefile.in
-index 10807cf..f4b8587 100644
+index e2e11dc0e27e..a6206bb0ff30 100644
--- config/Makefile.in
+++ config/Makefile.in
-@@ -49,6 +49,8 @@ export:: $(export-preqs)
- -DMOZ_SYSTEM_LIBEVENT=$(MOZ_SYSTEM_LIBEVENT) \
- -DMOZ_SYSTEM_LIBVPX=$(MOZ_SYSTEM_LIBVPX) \
- -DMOZ_SYSTEM_ICU=$(MOZ_SYSTEM_ICU) \
+@@ -41,6 +41,8 @@ export:: $(export-preqs)
+ $(PYTHON) -m mozbuild.action.preprocessor $(DEFINES) $(ACDEFINES) \
+ -DMOZ_TREE_CAIRO=$(MOZ_TREE_CAIRO) \
+ -DMOZ_TREE_PIXMAN=$(MOZ_TREE_PIXMAN) \
+ -DMOZ_SYSTEM_GRAPHITE2=$(MOZ_SYSTEM_GRAPHITE2) \
+ -DMOZ_SYSTEM_HARFBUZZ=$(MOZ_SYSTEM_HARFBUZZ) \
- $(srcdir)/system-headers $(srcdir)/stl-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers
- $(INSTALL) system_wrappers $(DIST)
-
+ -DMOZ_SYSTEM_HUNSPELL=$(MOZ_SYSTEM_HUNSPELL) \
+ -DMOZ_SYSTEM_BZ2=$(MOZ_SYSTEM_BZ2) \
+ -DMOZ_SYSTEM_ZLIB=$(MOZ_SYSTEM_ZLIB) \
diff --git config/system-headers config/system-headers
-index 48afa0f..61612f6 100644
+index a0c53c651a3e..5ee7f71f9634 100644
--- config/system-headers
+++ config/system-headers
-@@ -1331,3 +1331,12 @@ unicode/utypes.h
+@@ -1269,6 +1269,15 @@ libsn/sn-launcher.h
+ libsn/sn-monitor.h
+ libsn/sn-util.h
#endif
- libutil.h
- unwind.h
+#if MOZ_SYSTEM_GRAPHITE2==1
+graphite2/Font.h
+graphite2/Segment.h
@@ -30,11 +30,14 @@ index 48afa0f..61612f6 100644
+harfbuzz/hb-ot.h
+harfbuzz/hb.h
+#endif
+ #if MOZ_SYSTEM_HUNSPELL==1
+ hunspell.hxx
+ #endif
diff --git dom/base/moz.build dom/base/moz.build
-index 6e0d4f5..0770717 100644
+index 8e19020315ae..2fcdbb6f7b42 100644
--- dom/base/moz.build
+++ dom/base/moz.build
-@@ -457,6 +457,9 @@ if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']:
+@@ -464,6 +464,9 @@ if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']:
if CONFIG['MOZ_X11']:
CXXFLAGS += CONFIG['TK_CFLAGS']
@@ -45,7 +48,7 @@ index 6e0d4f5..0770717 100644
'PropertyUseCounterMap.inc',
'UseCounterList.h',
diff --git gfx/graphite2/moz-gr-update.sh gfx/graphite2/moz-gr-update.sh
-index faaab1b..04eff5f 100644
+index faaab1b17971..04eff5f09882 100644
--- gfx/graphite2/moz-gr-update.sh
+++ gfx/graphite2/moz-gr-update.sh
@@ -1,6 +1,7 @@
@@ -75,23 +78,23 @@ index faaab1b..04eff5f 100644
echo
echo If gfx/graphite2/src/files.mk has changed, please make corresponding
diff --git gfx/harfbuzz/README-mozilla gfx/harfbuzz/README-mozilla
-index 24e6cbb..0b7a5df 100644
+index 22c76a7df020..a01490bd49ee 100644
--- gfx/harfbuzz/README-mozilla
+++ gfx/harfbuzz/README-mozilla
-@@ -20,3 +20,8 @@ the mozilla tree.
+@@ -19,3 +19,8 @@ the mozilla tree.
If the collection of source files changes, manual updates to moz.build may be
needed, as we don't use the upstream makefiles.
+
+The in-tree copy may be omitted during build by --with-system-harfbuzz.
-+Make sure to keep pkg-config version check within old-configure.in in sync
++Make sure to keep pkg-config version check within toolkit/moz.configure in sync
+with checkout version or increment latest tag by one if it's not based
+on upstream release.
diff --git gfx/moz.build gfx/moz.build
-index 2509198..5cc4663 100644
+index 771f652e837a..3b358d84e384 100644
--- gfx/moz.build
+++ gfx/moz.build
-@@ -7,6 +7,12 @@
+@@ -10,6 +10,12 @@ with Files('**'):
if CONFIG['MOZ_TREE_CAIRO']:
DIRS += ['cairo']
@@ -104,7 +107,7 @@ index 2509198..5cc4663 100644
DIRS += [
'2d',
'ycbcr',
-@@ -15,8 +21,6 @@ DIRS += [
+@@ -18,8 +24,6 @@ DIRS += [
'qcms',
'gl',
'layers',
@@ -114,57 +117,57 @@ index 2509198..5cc4663 100644
'thebes',
'ipc',
diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py
-index ab1365f..8897c27 100755
+index e06ae3457a47..93faa61594a3 100755
--- gfx/skia/generate_mozbuild.py
+++ gfx/skia/generate_mozbuild.py
-@@ -140,6 +140,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
+@@ -143,6 +143,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
'-Wno-unused-private-field',
]
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
- if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk'):
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android'):
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
diff --git gfx/skia/moz.build gfx/skia/moz.build
-index a2f914b..d3759b0 100644
+index 2118677ca3a8..e4978b413784 100644
--- gfx/skia/moz.build
+++ gfx/skia/moz.build
-@@ -664,6 +664,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
+@@ -753,6 +753,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
'-Wno-unused-private-field',
]
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
- if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk'):
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android'):
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
diff --git gfx/thebes/moz.build gfx/thebes/moz.build
-index bbbce6fd..db0ceb1 100644
+index dee9b7bfa2cb..bd801f3a468e 100644
--- gfx/thebes/moz.build
+++ gfx/thebes/moz.build
-@@ -289,7 +289,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
+@@ -273,7 +273,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
-DEFINES['GRAPHITE2_STATIC'] = True
-+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
-+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
-+
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
+ CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS']
+else:
+ DEFINES['GRAPHITE2_STATIC'] = True
++
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
if CONFIG['CLANG_CXX']:
# Suppress warnings from Skia header files.
diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build
-index 9754753..768cc7d 100644
+index cb1233c56d7e..06fb1f9f174b 100644
--- intl/unicharutil/util/moz.build
+++ intl/unicharutil/util/moz.build
-@@ -42,4 +42,7 @@ if CONFIG['_MSC_VER']:
+@@ -40,4 +40,7 @@ if CONFIG['_MSC_VER']:
if CONFIG['ENABLE_INTL_API']:
USE_LIBS += ['icu']
@@ -172,46 +175,11 @@ index 9754753..768cc7d 100644
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
DIST_INSTALL = True
-diff --git moz.configure moz.configure
-index e762576..196dafd 100644
---- moz.configure
-+++ moz.configure
-@@ -216,6 +216,30 @@ check_prog('GENISOIMAGE', delayed_getattr(extra_programs, 'GENISOIMAGE'),
- check_prog('RPMBUILD', delayed_getattr(extra_programs, 'RPMBUILD'),
- allow_missing=True)
-
-+option('--with-system-graphite2',
-+ help="Use system graphite2 (located with pkgconfig)")
-+
-+@depends('--with-system-graphite2', compile_environment)
-+def check_for_graphite2(value, compile_env):
-+ return value and compile_env
-+
-+system_graphite2 = pkg_check_modules('MOZ_GRAPHITE2', 'graphite2',
-+ check_for_graphite2)
-+
-+set_config('MOZ_SYSTEM_GRAPHITE2', system_graphite2)
-+
-+option('--with-system-harfbuzz',
-+ help="Use system harfbuzz (located with pkgconfig)")
-+
-+@depends('--with-system-harfbuzz', compile_environment)
-+def check_for_harfbuzz(value, compile_env):
-+ return value and compile_env
-+
-+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.3.3',
-+ check_for_harfbuzz)
-+
-+set_config('MOZ_SYSTEM_HARFBUZZ', system_harfbuzz)
-+
- option('--enable-system-hunspell',
- help="Use system hunspell (located with pkgconfig)")
-
diff --git netwerk/dns/moz.build netwerk/dns/moz.build
-index f788d9a..5662301 100644
+index 79c26e3e7001..c4d93bc5f7dc 100644
--- netwerk/dns/moz.build
+++ netwerk/dns/moz.build
-@@ -66,6 +66,9 @@ LOCAL_INCLUDES += [
+@@ -69,6 +69,9 @@ LOCAL_INCLUDES += [
'/netwerk/base',
]
@@ -222,11 +190,11 @@ index f788d9a..5662301 100644
DEFINES['IDNA2008'] = True
USE_LIBS += ['icu']
diff --git old-configure.in old-configure.in
-index 0070d48..9d1129f 100644
+index 95a58b634593..b614eef85c89 100644
--- old-configure.in
+++ old-configure.in
-@@ -5764,6 +5764,27 @@ if test "$USE_FC_FREETYPE"; then
- fi
+@@ -4888,6 +4888,27 @@ dnl ========================================================
+ AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR)
dnl ========================================================
+dnl Check for graphite2
@@ -254,10 +222,10 @@ index 0070d48..9d1129f 100644
dnl ========================================================
diff --git toolkit/library/moz.build toolkit/library/moz.build
-index a3d5450..2c684a7e 100644
+index 24f940e1ed7e..079a575adec3 100644
--- toolkit/library/moz.build
+++ toolkit/library/moz.build
-@@ -217,6 +217,12 @@ if CONFIG['MOZ_SYSTEM_JPEG']:
+@@ -228,6 +228,12 @@ if CONFIG['MOZ_SYSTEM_JPEG']:
if CONFIG['MOZ_SYSTEM_PNG']:
OS_LIBS += CONFIG['MOZ_PNG_LIBS']
@@ -270,3 +238,34 @@ index a3d5450..2c684a7e 100644
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
+diff --git toolkit/moz.configure toolkit/moz.configure
+index 9297e4d6f501..d8e273887e4b 100644
+--- toolkit/moz.configure
++++ toolkit/moz.configure
+@@ -343,6 +343,26 @@ add_old_configure_assignment('FT2_LIBS',
+ add_old_configure_assignment('FT2_CFLAGS',
+ delayed_getattr(ft2_info, 'cflags'))
+
++# Graphite2
++# ==============================================================
++option('--with-system-graphite2',
++ help="Use system graphite2 (located with pkgconfig)")
++
++system_graphite2 = pkg_check_modules('MOZ_GRAPHITE2', 'graphite2',
++ when='--with-system-graphite2')
++
++set_config('MOZ_SYSTEM_GRAPHITE2', depends_if(system_graphite2)(lambda _: True))
++
++# HarfBuzz
++# ==============================================================
++option('--with-system-harfbuzz',
++ help="Use system harfbuzz (located with pkgconfig)")
++
++system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.4.1',
++ when='--with-system-harfbuzz')
++
++set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True))
++
+ # Apple platform decoder support
+ # ==============================================================
+ @depends(toolkit)
diff --git a/www/firefox/files/patch-bug981348 b/www/firefox/files/patch-bug981348
index e4b7edfd9b03..0c2ffea1ef7b 100644
--- a/www/firefox/files/patch-bug981348
+++ b/www/firefox/files/patch-bug981348
@@ -1,8 +1,28 @@
diff --git dom/system/OSFileConstants.cpp dom/system/OSFileConstants.cpp
-index 4b21361..cb3be32 100644
+index 88bba9baa401..99f240952dfe 100644
--- dom/system/OSFileConstants.cpp
+++ dom/system/OSFileConstants.cpp
-@@ -662,7 +662,7 @@
+@@ -16,14 +16,17 @@
+ #include "dirent.h"
+ #include "poll.h"
+ #include "sys/stat.h"
+-#if defined(ANDROID)
++#if defined(XP_LINUX)
+ #include <sys/vfs.h>
+ #define statvfs statfs
++#define f_frsize f_bsize
+ #else
+ #include "sys/statvfs.h"
++#endif // defined(XP_LINUX)
++#if !defined(ANDROID)
+ #include "sys/wait.h"
+ #include <spawn.h>
+-#endif // defined(ANDROID)
++#endif // !defined(ANDROID)
+ #endif // defined(XP_UNIX)
+
+ #if defined(XP_LINUX)
+@@ -699,7 +702,7 @@ static const dom::ConstantSpec gLibcProperties[] =
{ "OSFILE_SIZEOF_STATVFS", JS::Int32Value(sizeof (struct statvfs)) },
@@ -12,7 +32,7 @@ index 4b21361..cb3be32 100644
#endif // defined(XP_UNIX)
diff --git toolkit/components/osfile/modules/osfile_unix_back.jsm toolkit/components/osfile/modules/osfile_unix_back.jsm
-index b59fca4..0cf220b 100644
+index a028dda7d5ec..f5c632e3d7e5 100644
--- toolkit/components/osfile/modules/osfile_unix_back.jsm
+++ toolkit/components/osfile/modules/osfile_unix_back.jsm
@@ -228,8 +228,8 @@
@@ -27,11 +47,11 @@ index b59fca4..0cf220b 100644
"f_bavail", Type.fsblkcnt_t.implementation);
diff --git toolkit/components/osfile/modules/osfile_unix_front.jsm toolkit/components/osfile/modules/osfile_unix_front.jsm
-index 99e5e9b..de642c5 100644
+index bd60d4d8419c..a8cd6b546b0e 100644
--- toolkit/components/osfile/modules/osfile_unix_front.jsm
+++ toolkit/components/osfile/modules/osfile_unix_front.jsm
-@@ -373,7 +373,7 @@
- throw_on_negative("statvfs", UnixFile.statvfs(sourcePath, fileSystemInfoPtr));
+@@ -399,7 +399,7 @@
+ throw_on_negative("statvfs", (UnixFile.statvfs || UnixFile.statfs)(sourcePath, fileSystemInfoPtr));
let bytes = new Type.uint64_t.implementation(
- fileSystemInfo.f_bsize * fileSystemInfo.f_bavail);
diff --git a/www/firefox/files/patch-z-bug517422 b/www/firefox/files/patch-z-bug517422
index 482d6eba07d8..e3c4c41fbc6f 100644
--- a/www/firefox/files/patch-z-bug517422
+++ b/www/firefox/files/patch-z-bug517422
@@ -1,10 +1,10 @@
# Allow more config/external/ libs built against system-wide version.
diff --git build/moz.configure/old.configure build/moz.configure/old.configure
-index 42ab554..c91df3d 100644
+index d0fe7accffe6..c46bdd023225 100644
--- build/moz.configure/old.configure
+++ build/moz.configure/old.configure
-@@ -320,7 +320,12 @@ def old_configure_options(*options):
+@@ -288,7 +288,12 @@ def old_configure_options(*options):
'--with-system-libvpx',
'--with-system-nspr',
'--with-system-nss',
@@ -18,13 +18,13 @@ index 42ab554..c91df3d 100644
'--with-thumb',
'--with-thumb-interwork',
diff --git config/Makefile.in config/Makefile.in
-index 5383399..0410004 100644
+index a6206bb0ff30..f20987c61754 100644
--- config/Makefile.in
+++ config/Makefile.in
@@ -51,6 +51,11 @@ export:: $(export-preqs)
+ -DMOZ_SYSTEM_LIBEVENT=$(MOZ_SYSTEM_LIBEVENT) \
+ -DMOZ_SYSTEM_LIBVPX=$(MOZ_SYSTEM_LIBVPX) \
-DMOZ_SYSTEM_ICU=$(MOZ_SYSTEM_ICU) \
- -DMOZ_SYSTEM_GRAPHITE2=$(MOZ_SYSTEM_GRAPHITE2) \
- -DMOZ_SYSTEM_HARFBUZZ=$(MOZ_SYSTEM_HARFBUZZ) \
+ -DMOZ_SYSTEM_OGG=$(MOZ_SYSTEM_OGG) \
+ -DMOZ_SYSTEM_THEORA=$(MOZ_SYSTEM_THEORA) \
+ -DMOZ_SYSTEM_VORBIS=$(MOZ_SYSTEM_VORBIS) \
@@ -34,12 +34,12 @@ index 5383399..0410004 100644
$(INSTALL) system_wrappers $(DIST)
diff --git config/external/moz.build config/external/moz.build
-index f67c5c7..eb909ce 100644
+index 029ff8504795..2c3a40caa1ba 100644
--- config/external/moz.build
+++ config/external/moz.build
-@@ -20,12 +20,21 @@ if CONFIG['MOZ_UPDATER']:
- # There's no "native brotli" yet, but probably in the future...
+@@ -21,12 +21,21 @@ if CONFIG['MOZ_UPDATER']:
external_dirs += ['modules/brotli']
+ external_dirs += ['modules/woff2']
-if CONFIG['MOZ_VORBIS']:
+if not CONFIG['MOZ_SYSTEM_OGG']:
@@ -61,7 +61,7 @@ index f67c5c7..eb909ce 100644
if CONFIG['MOZ_WEBM_ENCODER']:
external_dirs += ['media/libmkv']
-@@ -51,12 +60,9 @@ external_dirs += [
+@@ -52,12 +61,9 @@ external_dirs += [
'media/kiss_fft',
'media/libcubeb',
'media/libnestegg',
@@ -71,17 +71,17 @@ index f67c5c7..eb909ce 100644
'media/libspeex_resampler',
'media/libstagefright',
- 'media/libsoundtouch',
+ 'media/psshparser'
]
- DIRS += ['../../' + i for i in external_dirs]
diff --git config/system-headers config/system-headers
-index bef567c..9807c29 100644
+index 5ee7f71f9634..13178ac3b3ab 100644
--- config/system-headers
+++ config/system-headers
-@@ -1364,3 +1363,17 @@ graphite2/Segment.h
- harfbuzz/hb-ot.h
- harfbuzz/hb.h
- #endif
+@@ -1348,3 +1348,17 @@ unicode/utypes.h
+ libutil.h
+ unwind.h
+ fenv.h
+#if MOZ_SYSTEM_OGG==1
+ogg/ogg.h
+ogg/os_types.h
@@ -96,128 +96,12 @@ index bef567c..9807c29 100644
+#if MOZ_SYSTEM_TREMOR==1
+tremor/ivorbiscodec.h
+#endif
-diff --git old-configure.in configure.in
-index 87db361..7947626 100644
---- old-configure.in
-+++ old-configure.in
-@@ -5401,6 +5401,111 @@ if test -n "$MOZ_OMX_PLUGIN"; then
- fi
- fi
-
-+dnl ========================================================
-+dnl Check for libogg
-+dnl ========================================================
-+
-+MOZ_ARG_WITH_BOOL(system-ogg,
-+[ --with-system-ogg Use system libogg (located with pkgconfig)],
-+MOZ_SYSTEM_OGG=1,
-+MOZ_SYSTEM_OGG=)
-+
-+if test -n "$MOZ_SYSTEM_OGG"; then
-+ PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.2.1)
-+
-+ _SAVE_LIBS=$LIBS
-+ LIBS="$LIBS $MOZ_OGG_LIBS"
-+ AC_CHECK_FUNC(ogg_set_mem_functions, [],
-+ [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)])
-+ LIBS=$_SAVE_LIBS
-+fi
-+
-+AC_SUBST(MOZ_SYSTEM_OGG)
-+
-+dnl ========================================================
-+dnl Check for libvorbis
-+dnl ========================================================
-+
-+MOZ_ARG_WITH_BOOL(system-vorbis,
-+[ --with-system-vorbis Use system libvorbis (located with pkgconfig)],
-+MOZ_SYSTEM_VORBIS=1,
-+MOZ_SYSTEM_VORBIS=)
-+
-+if test -n "$MOZ_SYSTEM_VORBIS"; then
-+ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.5)
-+fi
-+
-+AC_SUBST(MOZ_SYSTEM_VORBIS)
-+
-+dnl ========================================================
-+dnl Check for integer-only libvorbis aka tremor
-+dnl ========================================================
-+
-+MOZ_ARG_WITH_BOOL(system-tremor,
-+[ --with-system-tremor Use system libtremor (located with pkgconfig)],
-+MOZ_SYSTEM_TREMOR=1,
-+MOZ_SYSTEM_TREMOR=)
-+
-+if test -n "$MOZ_SYSTEM_TREMOR"; then
-+ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1)
-+fi
-+
-+AC_SUBST(MOZ_SYSTEM_TREMOR)
-+
-+dnl ========================================================
-+dnl Check for libtheora
-+dnl ========================================================
-+
-+MOZ_ARG_WITH_BOOL(system-theora,
-+[ --with-system-theora Use system libtheora (located with pkgconfig)],
-+MOZ_SYSTEM_THEORA=1,
-+MOZ_SYSTEM_THEORA=)
-+
-+if test -n "$MOZ_SYSTEM_THEORA"; then
-+ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2)
-+fi
-+
-+AC_SUBST(MOZ_SYSTEM_THEORA)
-+
-+dnl ========================================================
-+dnl Check for libSoundTouch
-+dnl ========================================================
-+
-+MOZ_ARG_WITH_BOOL(system-soundtouch,
-+[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)],
-+MOZ_SYSTEM_SOUNDTOUCH=1,
-+MOZ_SYSTEM_SOUNDTOUCH=)
-+
-+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
-+ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0)
-+
-+ AC_LANG_SAVE
-+ AC_LANG_CPLUSPLUS
-+ _SAVE_CXXFLAGS=$CXXFLAGS
-+ CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS"
-+ AC_CACHE_CHECK(for soundtouch sample type,
-+ ac_cv_soundtouch_sample_type,
-+ [AC_TRY_COMPILE([#include <SoundTouch.h>
-+ #ifndef SOUNDTOUCH_INTEGER_SAMPLES
-+ #error soundtouch expects float samples
-+ #endif],
-+ [],
-+ [ac_cv_soundtouch_sample_type=short],
-+ [ac_cv_soundtouch_sample_type=float])])
-+ CXXFLAGS=$_SAVE_CXXFLAGS
-+ AC_LANG_RESTORE
-+
-+ if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \
-+ -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then
-+ AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.])
-+ fi
-+fi
-+
-+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
-+ AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH)
-+fi
-+AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH)
-+
- dnl system libvpx Support
- dnl ========================================================
- MOZ_ARG_WITH_BOOL(system-libvpx,
diff --git dom/media/AudioStream.cpp dom/media/AudioStream.cpp
-index 2127256..1ec09fe 100644
+index 93ecda4319af..ff674c64ea07 100644
--- dom/media/AudioStream.cpp
+++ dom/media/AudioStream.cpp
-@@ -125,7 +125,9 @@ AudioStream::AudioStream(DataSource& aSo
- , mOutRate(0)
+@@ -115,7 +115,9 @@ AudioStream::AudioStream(DataSource& aSource)
+ : mMonitor("AudioStream")
, mChannels(0)
, mOutChannels(0)
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
@@ -226,7 +110,7 @@ index 2127256..1ec09fe 100644
, mDumpFile(nullptr)
, mState(INITIALIZED)
, mDataSource(aSource)
-@@ -152,9 +154,11 @@ AudioStream::~AudioStream()
+@@ -130,9 +132,11 @@ AudioStream::~AudioStream()
if (mDumpFile) {
fclose(mDumpFile);
}
@@ -238,7 +122,7 @@ index 2127256..1ec09fe 100644
}
size_t
-@@ -151,7 +155,11 @@ nsresult AudioStream::EnsureTimeStretche
+@@ -151,7 +155,11 @@ nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked()
{
mMonitor.AssertCurrentThreadOwns();
if (!mTimeStretcher) {
@@ -251,11 +135,11 @@ index 2127256..1ec09fe 100644
mTimeStretcher->setChannels(mOutChannels);
mTimeStretcher->setPitch(1.0);
diff --git dom/media/AudioStream.h dom/media/AudioStream.h
-index a552e3e..02b80b1 100644
+index 7dc1f60f95cc..67d402a4117f 100644
--- dom/media/AudioStream.h
+++ dom/media/AudioStream.h
-@@ -15,7 +15,11 @@
- #include "mozilla/RefPtr.h"
+@@ -16,7 +16,11 @@
+ #include "mozilla/TimeStamp.h"
#include "mozilla/UniquePtr.h"
#include "CubebUtils.h"
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
@@ -266,9 +150,9 @@ index a552e3e..02b80b1 100644
namespace mozilla {
-@@ -277,7 +277,11 @@ private:
- // Number of frames written to the buffers.
- int64_t mWritten;
+@@ -287,7 +291,11 @@ private:
+ uint32_t mChannels;
+ uint32_t mOutChannels;
AudioClock mAudioClock;
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
+ nsAutoPtr<soundtouch::SoundTouch> mTimeStretcher;
@@ -276,13 +160,13 @@ index a552e3e..02b80b1 100644
soundtouch::SoundTouch* mTimeStretcher;
+#endif
- // Stream start time for stream open delay telemetry.
- TimeStamp mStartTime;
+ // Output file for dumping audio
+ FILE* mDumpFile;
diff --git dom/media/moz.build dom/media/moz.build
-index 7526cff..e0a0ca0 100644
+index 86b051c58d33..fb6186dce78b 100644
--- dom/media/moz.build
+++ dom/media/moz.build
-@@ -300,6 +300,21 @@ if CONFIG['MOZ_WEBRTC']:
+@@ -308,6 +308,21 @@ if CONFIG['MOZ_WEBRTC']:
DEFINES['MOZILLA_INTERNAL_API'] = True
@@ -304,11 +188,50 @@ index 7526cff..e0a0ca0 100644
if CONFIG['OS_TARGET'] == 'WINNT':
DEFINES['WEBRTC_WIN'] = True
else:
+diff --git dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
+index 078f6ea5ef60..c600db067539 100644
+--- dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
++++ dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
+@@ -11,9 +11,13 @@
+ #include "prmem.h"
+ #include "prlink.h"
+
++#ifdef MOZ_SYSTEM_SOUNDTOUCH
++#include "nsXPCOMPrivate.h" // for XUL_DLL
++#else
+ // We use a known symbol located in lgpllibs to determine its location.
+ // soundtouch happens to be always included in lgpllibs
+ #include "soundtouch/SoundTouch.h"
++#endif
+
+ namespace mozilla {
+
+@@ -50,6 +54,12 @@ FFVPXRuntimeLinker::Init()
+
+ sLinkStatus = LinkStatus_FAILED;
+
++#ifdef MOZ_SYSTEM_SOUNDTOUCH
++ // We retrieve the path of the XUL library as this is where mozavcodec and
++ // mozavutil libs are located.
++ char* path =
++ PR_GetLibraryFilePathname(XUL_DLL, (PRFuncPtr)&FFVPXRuntimeLinker::Init);
++#else
+ // We retrieve the path of the lgpllibs library as this is where mozavcodec
+ // and mozavutil libs are located.
+ char* lgpllibsname = PR_GetLibraryName(nullptr, "lgpllibs");
+@@ -60,6 +70,7 @@ FFVPXRuntimeLinker::Init()
+ PR_GetLibraryFilePathname(lgpllibsname,
+ (PRFuncPtr)&soundtouch::SoundTouch::getVersionId);
+ PR_FreeLibraryName(lgpllibsname);
++#endif
+ if (!path) {
+ return false;
+ }
diff --git media/libogg/README_MOZILLA media/libogg/README_MOZILLA
-index 0833e4d..7ece97b 100644
+index 6213fdc7770c..ada799916a17 100644
--- media/libogg/README_MOZILLA
+++ media/libogg/README_MOZILLA
-@@ -6,3 +6,6 @@ The svn revision number used was r17287.
+@@ -6,3 +6,6 @@ package downloaded from xiph.org and copied using the update.sh script.
The int-types.patch address a bug that config_types.h generated from
Linux platform can't be used on OpenSolaris directly see Mozilla bug
449754
@@ -316,7 +239,7 @@ index 0833e4d..7ece97b 100644
+The in-tree copy may be omitted during build by --with-system-ogg.
+Keep version in old-configure.in in sync on updates.
diff --git media/libsoundtouch/README_MOZILLA media/libsoundtouch/README_MOZILLA
-index bfd4b1a..15b158d 100644
+index dc0dbe8f6886..ea73b55e3e39 100644
--- media/libsoundtouch/README_MOZILLA
+++ media/libsoundtouch/README_MOZILLA
@@ -6,3 +6,5 @@ The whole library is not used, only the relevant files are imported in the tree,
@@ -326,7 +249,7 @@ index bfd4b1a..15b158d 100644
+The in-tree copy may be omitted during build by --with-system-soundtouch.
+Keep version in old-configure.in in sync on updates.
diff --git media/libsoundtouch/src/soundtouch_perms.h media/libsoundtouch/src/soundtouch_perms.h
-index 0af2fe6..d80c145 100644
+index 0af2fe618311..10973564e7a4 100644
--- media/libsoundtouch/src/soundtouch_perms.h
+++ media/libsoundtouch/src/soundtouch_perms.h
@@ -12,7 +12,9 @@
@@ -340,7 +263,7 @@ index 0af2fe6..d80c145 100644
#endif // MOZILLA_SOUNDTOUCH_PERMS_H
diff --git media/libtheora/README_MOZILLA media/libtheora/README_MOZILLA
-index d48dbfa..f08a2ed 100644
+index d48dbfa6f63d..6f30f250220e 100644
--- media/libtheora/README_MOZILLA
+++ media/libtheora/README_MOZILLA
@@ -3,3 +3,6 @@ using the update.sh script. The changes made were those applied by update.sh,
@@ -351,10 +274,10 @@ index d48dbfa..f08a2ed 100644
+The in-tree copy may be omitted during build by --with-system-theora.
+Keep version in old-configure.in in sync on updates.
diff --git media/libtheora/moz.build media/libtheora/moz.build
-index 14265b1..3069e99 100644
+index c7f85eebff95..aae7b814adb5 100644
--- media/libtheora/moz.build
+++ media/libtheora/moz.build
-@@ -21,6 +21,9 @@ if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
+@@ -21,6 +21,9 @@ FINAL_LIBRARY = 'gkmedias'
# The encoder is currently not included.
DEFINES['THEORA_DISABLE_ENCODE'] = True
@@ -362,10 +285,10 @@ index 14265b1..3069e99 100644
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
+
# Suppress warnings in third-party code.
- if CONFIG['GNU_CC']:
+ if CONFIG['GNU_CC'] or CONFIG['CLANG_CL']:
CFLAGS += ['-Wno-type-limits']
diff --git media/libtremor/README_MOZILLA media/libtremor/README_MOZILLA
-index ee67b53..3f34a09 100644
+index ee67b53a05c5..81c971773d55 100644
--- media/libtremor/README_MOZILLA
+++ media/libtremor/README_MOZILLA
@@ -5,3 +5,6 @@ Makefile.in files for the Mozilla build system.
@@ -376,20 +299,20 @@ index ee67b53..3f34a09 100644
+The in-tree copy may be omitted during build by --with-system-tremor.
+Keep version in old-configure.in in sync on updates.
diff --git media/libtremor/moz.build media/libtremor/moz.build
-index 31831ba..a03d576 100644
+index 83afc8e37c64..71ef159da3d7 100644
--- media/libtremor/moz.build
+++ media/libtremor/moz.build
-@@ -6,3 +6,5 @@
+@@ -9,3 +9,5 @@ with Files('*'):
DIRS += ['include/tremor', 'lib']
+if CONFIG['MOZ_SYSTEM_OGG']:
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
diff --git media/libvorbis/README_MOZILLA media/libvorbis/README_MOZILLA
-index 7c7454c..55baedd 100644
+index 1211ac074b33..eb31084aed25 100644
--- media/libvorbis/README_MOZILLA
+++ media/libvorbis/README_MOZILLA
-@@ -8,3 +8,6 @@ https://svn.xiph.org/tags/vorbis/libvorbis-1.3.4@19059
+@@ -8,3 +8,6 @@ https://svn.xiph.org/tags/vorbis/libvorbis-1.3.5@19464
Some files are renamed during the copy to prevent clashes with object
file names with other Mozilla libraries.
@@ -397,21 +320,137 @@ index 7c7454c..55baedd 100644
+The in-tree copy may be omitted during build by --with-system-vorbis.
+Keep version in old-configure.in in sync on updates.
diff --git media/libvorbis/moz.build media/libvorbis/moz.build
-index 919b99e..cc776f7 100644
+index adf393782cc9..923b76231107 100644
--- media/libvorbis/moz.build
+++ media/libvorbis/moz.build
-@@ -55,3 +55,6 @@ FINAL_LIBRARY = 'gkmedias'
+@@ -56,3 +56,6 @@ FINAL_LIBRARY = 'gkmedias'
# Suppress warnings in third-party code.
if CONFIG['GNU_CC']:
CFLAGS += ['-Wno-uninitialized']
+
+if CONFIG['MOZ_SYSTEM_OGG']:
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
+diff --git old-configure.in old-configure.in
+index b614eef85c89..85f9099dba4d 100644
+--- old-configure.in
++++ old-configure.in
+@@ -2941,6 +2941,111 @@ if test -n "$MOZ_OMX_PLUGIN"; then
+ fi
+ fi
+
++dnl ========================================================
++dnl Check for libogg
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-ogg,
++[ --with-system-ogg Use system libogg (located with pkgconfig)],
++MOZ_SYSTEM_OGG=1,
++MOZ_SYSTEM_OGG=)
++
++if test -n "$MOZ_SYSTEM_OGG"; then
++ PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.3.0)
++
++ _SAVE_LIBS=$LIBS
++ LIBS="$LIBS $MOZ_OGG_LIBS"
++ AC_CHECK_FUNC(ogg_set_mem_functions, [],
++ [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)])
++ LIBS=$_SAVE_LIBS
++fi
++
++AC_SUBST(MOZ_SYSTEM_OGG)
++
++dnl ========================================================
++dnl Check for libvorbis
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-vorbis,
++[ --with-system-vorbis Use system libvorbis (located with pkgconfig)],
++MOZ_SYSTEM_VORBIS=1,
++MOZ_SYSTEM_VORBIS=)
++
++if test -n "$MOZ_SYSTEM_VORBIS"; then
++ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.5)
++fi
++
++AC_SUBST(MOZ_SYSTEM_VORBIS)
++
++dnl ========================================================
++dnl Check for integer-only libvorbis aka tremor
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-tremor,
++[ --with-system-tremor Use system libtremor (located with pkgconfig)],
++MOZ_SYSTEM_TREMOR=1,
++MOZ_SYSTEM_TREMOR=)
++
++if test -n "$MOZ_SYSTEM_TREMOR"; then
++ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1)
++fi
++
++AC_SUBST(MOZ_SYSTEM_TREMOR)
++
++dnl ========================================================
++dnl Check for libtheora
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-theora,
++[ --with-system-theora Use system libtheora (located with pkgconfig)],
++MOZ_SYSTEM_THEORA=1,
++MOZ_SYSTEM_THEORA=)
++
++if test -n "$MOZ_SYSTEM_THEORA"; then
++ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2)
++fi
++
++AC_SUBST(MOZ_SYSTEM_THEORA)
++
++dnl ========================================================
++dnl Check for libSoundTouch
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-soundtouch,
++[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)],
++MOZ_SYSTEM_SOUNDTOUCH=1,
++MOZ_SYSTEM_SOUNDTOUCH=)
++
++if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
++ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0)
++
++ AC_LANG_SAVE
++ AC_LANG_CPLUSPLUS
++ _SAVE_CXXFLAGS=$CXXFLAGS
++ CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS"
++ AC_CACHE_CHECK(for soundtouch sample type,
++ ac_cv_soundtouch_sample_type,
++ [AC_TRY_COMPILE([#include <SoundTouch.h>
++ #ifndef SOUNDTOUCH_INTEGER_SAMPLES
++ #error soundtouch expects float samples
++ #endif],
++ [],
++ [ac_cv_soundtouch_sample_type=short],
++ [ac_cv_soundtouch_sample_type=float])])
++ CXXFLAGS=$_SAVE_CXXFLAGS
++ AC_LANG_RESTORE
++
++ if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \
++ -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then
++ AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.])
++ fi
++fi
++
++if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
++ AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH)
++fi
++AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH)
++
+ dnl system libvpx Support
+ dnl ========================================================
+ MOZ_ARG_WITH_BOOL(system-libvpx,
diff --git toolkit/library/moz.build toolkit/library/moz.build
-index d42137a..695e75a8 100644
+index 079a575adec3..514d901195de 100644
--- toolkit/library/moz.build
+++ toolkit/library/moz.build
-@@ -178,6 +178,21 @@ if CONFIG['MOZ_SYSTEM_PNG']:
+@@ -237,6 +237,21 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
@@ -434,20 +473,20 @@ index d42137a..695e75a8 100644
OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
diff --git xpcom/build/XPCOMInit.cpp xpcom/build/XPCOMInit.cpp
-index 2cf281e..6d7af0e 100644
+index c083ab4bc4f3..62b917043a2c 100644
--- xpcom/build/XPCOMInit.cpp
+++ xpcom/build/XPCOMInit.cpp
-@@ -138,7 +138,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports*, REFNSIID, void**);
- #include "mozilla/VisualEventTracer.h"
- #endif
+@@ -154,7 +154,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports*, REFNSIID, void**);
+
+ #include "mozilla/ipc/GeckoChildProcessHost.h"
+#ifndef MOZ_OGG_NO_MEM_REPORTING
#include "ogg/ogg.h"
+#endif
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
- #include "vpx_mem/vpx_mem.h"
- #endif
-@@ -651,11 +653,13 @@ NS_InitXPCOM2(nsIServiceManager** aResult,
+ #if defined(HAVE_STDINT_H)
+ // mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in
+@@ -664,11 +666,13 @@ NS_InitXPCOM2(nsIServiceManager** aResult,
// this oddness.
mozilla::SetICUMemoryFunctions();