aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2016-12-23 04:39:47 +0000
committerJan Beich <jbeich@FreeBSD.org>2016-12-23 04:39:47 +0000
commitd703b6c6ee60e049be717dca26615731ac79d928 (patch)
tree5e793e88734be9e84786c395ed6fca795b5639bb
parent7bd265346d0ff0ebb5aa87286a3e81be7c276c52 (diff)
downloadports-d703b6c6ee60e049be717dca26615731ac79d928.tar.gz
ports-d703b6c6ee60e049be717dca26615731ac79d928.zip
Notes
-rw-r--r--Mk/Uses/gecko.mk6
-rw-r--r--www/linux-seamonkey/Makefile4
-rw-r--r--www/linux-seamonkey/distinfo6
-rw-r--r--www/linux-seamonkey/pkg-plist8
-rw-r--r--www/seamonkey-i18n/Makefile4
-rw-r--r--www/seamonkey-i18n/distinfo106
-rw-r--r--www/seamonkey/Makefile64
-rw-r--r--www/seamonkey/distinfo10
-rw-r--r--www/seamonkey/files/patch-bug102176156
-rw-r--r--www/seamonkey/files/patch-bug1209410169
-rw-r--r--www/seamonkey/files/patch-bug122825539
-rw-r--r--www/seamonkey/files/patch-bug122874213
-rw-r--r--www/seamonkey/files/patch-bug123134916
-rw-r--r--www/seamonkey/files/patch-bug123327540
-rw-r--r--www/seamonkey/files/patch-bug123403313
-rw-r--r--www/seamonkey/files/patch-bug124331221
-rw-r--r--www/seamonkey/files/patch-bug124507674
-rw-r--r--www/seamonkey/files/patch-bug125613621
-rw-r--r--www/seamonkey/files/patch-bug126881650
-rw-r--r--www/seamonkey/files/patch-bug126916524
-rw-r--r--www/seamonkey/files/patch-bug1269171258
-rw-r--r--www/seamonkey/files/patch-bug128550122
-rw-r--r--www/seamonkey/files/patch-bug128858767
-rw-r--r--www/seamonkey/files/patch-bug129969431
-rw-r--r--www/seamonkey/files/patch-bug131598649
-rw-r--r--www/seamonkey/files/patch-bug13206214
-rw-r--r--www/seamonkey/files/patch-bug132099124
-rw-r--r--www/seamonkey/files/patch-bug132187742
-rw-r--r--www/seamonkey/files/patch-bug132211223
-rw-r--r--www/seamonkey/files/patch-bug132266080
-rw-r--r--www/seamonkey/files/patch-bug70217915
-rw-r--r--www/seamonkey/files/patch-bug82698550
-rw-r--r--www/seamonkey/files/patch-bug847568145
-rw-r--r--www/seamonkey/files/patch-config-baseconfig.mk11
-rw-r--r--www/seamonkey/files/patch-ijg-libjpeg10
-rw-r--r--www/seamonkey/files/patch-media-mtransport-third_party-nICEr-src-util-mbslen.c16
-rw-r--r--www/seamonkey/files/patch-modules-libpref-init-all.js15
-rw-r--r--www/seamonkey/files/patch-mozilla-dom-events-MessageEvent.h11
-rw-r--r--www/seamonkey/files/patch-sample-type4
-rw-r--r--www/seamonkey/files/patch-z-bug517422418
40 files changed, 732 insertions, 1307 deletions
diff --git a/Mk/Uses/gecko.mk b/Mk/Uses/gecko.mk
index d7c236b90e50..a5f99b1c3e01 100644
--- a/Mk/Uses/gecko.mk
+++ b/Mk/Uses/gecko.mk
@@ -51,8 +51,8 @@ _GECKO_INSTALLED_VER:= ${_GECKO_INSTALLED_VER:M[0-9][0-9]*:C/([0-9][0-9]).*/\1/g
.elif ${gecko_ARGS:Mseamonkey}
-_GECKO_DEFAULT_VERSION= 40
-_GECKO_VERSIONS= 40
+_GECKO_DEFAULT_VERSION= 46
+_GECKO_VERSIONS= 46
_GECKO_TYPE= seamonkey
.if exists(${LOCALBASE}/bin/seamonkey)
@@ -61,7 +61,7 @@ _GECKO_INSTALLED_VER:= ${_GECKO_INSTALLED_VER:M[0-9]*:C/[0-9].([0-9][0-9]).*/\1/
.endif
# Dependence lines for different Seamonkey versions
-40_DEPENDS= ${LOCALBASE}/lib/seamonkey/seamonkey:www/seamonkey
+46_DEPENDS= ${LOCALBASE}/lib/seamonkey/seamonkey:www/seamonkey
.elif ${gecko_ARGS:Mthunderbird}
diff --git a/www/linux-seamonkey/Makefile b/www/linux-seamonkey/Makefile
index 73946868cc8d..8f85f58a5317 100644
--- a/www/linux-seamonkey/Makefile
+++ b/www/linux-seamonkey/Makefile
@@ -2,10 +2,10 @@
# $FreeBSD$
PORTNAME= seamonkey
-DISTVERSION= 2.40
+DISTVERSION= 2.46
CATEGORIES= www mail news editors irc ipv6
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US \
- MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/linux-i686/en-US
+ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build9/linux-i686/en-US
MAINTAINER= gecko@FreeBSD.org
COMMENT= The open source, standards compliant web browser
diff --git a/www/linux-seamonkey/distinfo b/www/linux-seamonkey/distinfo
index 51de0060f106..2a7cbffa2439 100644
--- a/www/linux-seamonkey/distinfo
+++ b/www/linux-seamonkey/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1475123784
-SHA256 (seamonkey-2.40.tar.bz2) = dc42044206fe4f3d2f2c797ef1516635e27789d6983293a56c6557626e1841be
-SIZE (seamonkey-2.40.tar.bz2) = 50683245
+TIMESTAMP = 1481682190
+SHA256 (seamonkey-2.46.tar.bz2) = 096a1a8e229eaa05c2db5ae0661f856aceae58f1cae406cf52d2b270ca8a9957
+SIZE (seamonkey-2.46.tar.bz2) = 48816262
SHA256 (glib2-2.22.2-2.fc12.i686.rpm) = e3b459c245ec14e7248e9de4b506963a4773407f3e58835db5070d0ed02ecc99
SIZE (glib2-2.22.2-2.fc12.i686.rpm) = 1162908
SHA256 (gtk2-2.18.3-19.fc12.i686.rpm) = aea9cf7ffe9c8dae0faa2bf3d2aa1b2117c55dce03da72dcce8c268279ec0a4b
diff --git a/www/linux-seamonkey/pkg-plist b/www/linux-seamonkey/pkg-plist
index 3201ad2ed758..e688ab6566f6 100644
--- a/www/linux-seamonkey/pkg-plist
+++ b/www/linux-seamonkey/pkg-plist
@@ -51,7 +51,6 @@ lib/%%APP_NAME%%/chrome/icons/default/places16.png
lib/%%APP_NAME%%/chrome/icons/default/places48.png
lib/%%APP_NAME%%/chrome/icons/default/seamonkey.png
lib/%%APP_NAME%%/components/components.manifest
-lib/%%APP_NAME%%/components/libmozgnome.so
lib/%%APP_NAME%%/components/libsuite.so
lib/%%APP_NAME%%/crashreporter
lib/%%APP_NAME%%/crashreporter-override.ini
@@ -66,11 +65,10 @@ lib/%%APP_NAME%%/defaults/profile/panels.rdf
lib/%%APP_NAME%%/dependentlibs.list
lib/%%APP_NAME%%/dictionaries/en-US.aff
lib/%%APP_NAME%%/dictionaries/en-US.dic
-lib/%%APP_NAME%%/distribution/extensions/inspector@mozilla.org.xpi
-lib/%%APP_NAME%%/distribution/extensions/{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}.xpi
lib/%%APP_NAME%%/extensions/modern@themes.mozilla.org.xpi
lib/%%APP_NAME%%/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi
lib/%%APP_NAME%%/icons/updater.png
+lib/%%APP_NAME%%/icudt56l.dat
lib/%%APP_NAME%%/isp/Bogofilter.sfd
lib/%%APP_NAME%%/isp/DSPAM.sfd
lib/%%APP_NAME%%/isp/POPFile.sfd
@@ -78,8 +76,8 @@ lib/%%APP_NAME%%/isp/SpamAssassin.sfd
lib/%%APP_NAME%%/isp/SpamPal.sfd
lib/%%APP_NAME%%/isp/movemail.rdf
lib/%%APP_NAME%%/isp/rss.rdf
-lib/%%APP_NAME%%/libfreebl3.chk
-lib/%%APP_NAME%%/libfreebl3.so
+lib/%%APP_NAME%%/libfreeblpriv3.chk
+lib/%%APP_NAME%%/libfreeblpriv3.so
lib/%%APP_NAME%%/libldap60.so
lib/%%APP_NAME%%/libldif60.so
lib/%%APP_NAME%%/liblgpllibs.so
diff --git a/www/seamonkey-i18n/Makefile b/www/seamonkey-i18n/Makefile
index 2d81820fee69..2ef69d5d0cdd 100644
--- a/www/seamonkey-i18n/Makefile
+++ b/www/seamonkey-i18n/Makefile
@@ -2,10 +2,10 @@
# $FreeBSD$
PORTNAME= seamonkey-i18n
-PORTVERSION= 2.40
+PORTVERSION= 2.46
CATEGORIES= www mail news editors irc
MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${DISTVERSION}/langpack \
- MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build1/langpack
+ MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build9/langpack
PKGNAMEPREFIX=
DISTFILES= ${SEAMONKEY_I18N_:S/$/.langpack.xpi/:S/^/seamonkey-${PORTVERSION}./}
DIST_SUBDIR= xpi/${DISTNAME}
diff --git a/www/seamonkey-i18n/distinfo b/www/seamonkey-i18n/distinfo
index 60f3210d95eb..fbfdf859b730 100644
--- a/www/seamonkey-i18n/distinfo
+++ b/www/seamonkey-i18n/distinfo
@@ -1,53 +1,53 @@
-TIMESTAMP = 1475123784
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.be.langpack.xpi) = 257bd56c3db3d62600e8fcb4e621df1cb3cede2e73354a0f588516152598e9b8
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.be.langpack.xpi) = 846940
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.ca.langpack.xpi) = 06d423fc182c0d6b674572a94c0628febbe314883dc0be7f481583ae21ce9485
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.ca.langpack.xpi) = 838972
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.cs.langpack.xpi) = b2485aaed83ad46edb565fd6d35b785fc350ae96a7c32df91eb028807d8f442e
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.cs.langpack.xpi) = 831462
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.de.langpack.xpi) = 8d72d02bcec01e63a6b4630bcfd092fa1dcdf21b8424f4de878d4460e6ba1865
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.de.langpack.xpi) = 839670
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.en-GB.langpack.xpi) = b19890d7c446ffd98a9c94f95986cbbed9842f4149ce549d3463128957f1ed9f
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.en-GB.langpack.xpi) = 801900
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.en-US.langpack.xpi) = 45c6f3aee27022a7523268d21f38924dbfa3553f2dfca25e8e11ef41c1119392
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.en-US.langpack.xpi) = 801237
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.es-AR.langpack.xpi) = 096bfcbd124463398d1776955587036f7d8d969582053d8980dde18e34e21738
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.es-AR.langpack.xpi) = 850745
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.es-ES.langpack.xpi) = 8d95036953298f880de663961a4b686bed9b233dfdc247a5107465d97d671b68
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.es-ES.langpack.xpi) = 819863
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.fi.langpack.xpi) = fbbca3abdc2fca3a7d18500e606ef75e3ee4ecbaefce3fc6bec211422521ac0e
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.fi.langpack.xpi) = 806026
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.fr.langpack.xpi) = faed1301c6f7eebf6999521feb7a8161f4ec5c6dab01ae717f9bb7df360a6382
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.fr.langpack.xpi) = 812115
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.gl.langpack.xpi) = 36d8a69aa1a526dd8ecc6a2fe2da55b5b4d3e4bcbbd2d13af0f76fa79ae21fc4
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.gl.langpack.xpi) = 817071
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.hu.langpack.xpi) = b259e45414ea7247c586605797064743efd203ad22ef4a6ca734d9d39ea0ddcd
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.hu.langpack.xpi) = 849367
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.it.langpack.xpi) = 6818ac8634aa959c049791bd96e228ee68fb4af214d73b2ded67cdf9e8fba159
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.it.langpack.xpi) = 730855
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.ja.langpack.xpi) = 73c868aad2fdcc3ddf3cbb84bdca2ec7e43c7fcf0ac1d5ec243717123dcaf353
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.ja.langpack.xpi) = 888099
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.lt.langpack.xpi) = eb99109e0b25415e460c31fe6be35d41ada6040ca91bb90fb29af951f0b21b6a
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.lt.langpack.xpi) = 858221
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.nb-NO.langpack.xpi) = 2762bcddb6b4d36b2d14bb961e6b3604420e099216d5efc60b8835bc2709251d
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.nb-NO.langpack.xpi) = 829131
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.nl.langpack.xpi) = fa6f780f2fec5b43c75bc46778ddcfa983c989fe16a0c1995c0bc65a375188f9
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.nl.langpack.xpi) = 796595
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.pl.langpack.xpi) = 96d1eaf1bafce2a4b11abfc7b3cccc3409b073e7353416ec7eaec48f61d0ed83
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.pl.langpack.xpi) = 861834
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.pt-PT.langpack.xpi) = 1ef665be4063a864564ac13d6cf87892bc5c3c57a9e4115efd03403382e14b8b
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.pt-PT.langpack.xpi) = 831873
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.ru.langpack.xpi) = 68f6ca318be2cd1f78245db311ac9c0e0ae877697c0e310284615b352338a61e
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.ru.langpack.xpi) = 892052
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.sk.langpack.xpi) = af8c126fe02cb3a8b9783c4a1f8d4bdec8b684195a2a8b5be537df88e2ec2861
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.sk.langpack.xpi) = 858148
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.sv-SE.langpack.xpi) = fc970bfc8b52119c147d564076904df9b3722fb922bc9703709ceb5be2bd6144
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.sv-SE.langpack.xpi) = 824804
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.tr.langpack.xpi) = c5dce74507307008127e3402e0c9a877f333f2b1085b1c912c77969f4a433632
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.tr.langpack.xpi) = 814264
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.uk.langpack.xpi) = 9932ca0ac00312a9fd9bab3199f7e55564beb6f5f339647c7a6c0cdd4cd82241
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.uk.langpack.xpi) = 875815
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.zh-CN.langpack.xpi) = 28f634be2ed10526dbf6bf310b28f4da921d5809bce8216418c34ad07ac75443
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.zh-CN.langpack.xpi) = 839892
-SHA256 (xpi/seamonkey-i18n-2.40/seamonkey-2.40.zh-TW.langpack.xpi) = eaec998d922789be13cfc42660ab96abd0b1ec47cb4394b8a9f725969141ba89
-SIZE (xpi/seamonkey-i18n-2.40/seamonkey-2.40.zh-TW.langpack.xpi) = 861767
+TIMESTAMP = 1481640594
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.be.langpack.xpi) = d97376ff92ffcdf04ec08273b60b8750d2c4f65edd71eed734313f72885f45db
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.be.langpack.xpi) = 936650
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.ca.langpack.xpi) = 11adc88aab13826dbb7dd9374f877b80c87a085d75712c976173f243950292a6
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.ca.langpack.xpi) = 937577
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.cs.langpack.xpi) = 4fae0f46a8ba83a72e6c7a50b7ba73153f153055b874fa3e857ebf6867a48ff3
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.cs.langpack.xpi) = 936101
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.de.langpack.xpi) = e6d000492fbb3aa1f7624dbb3a546742bd9badb67a9cee8a95fd8b8ead7ac0eb
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.de.langpack.xpi) = 942796
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.en-GB.langpack.xpi) = be1e956e11c4e36def6af6ee0c0795f5ec19e4370d811b6f3fdf60ed38f184c4
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.en-GB.langpack.xpi) = 900232
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.en-US.langpack.xpi) = ff188a86cebac99fa25575b8f8a2eb01d0f6ee009485c826dd9fbf3701839eb4
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.en-US.langpack.xpi) = 900829
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.es-AR.langpack.xpi) = 5b7a9da73fe69c9004487f844f97f5f18d3db79e49dd151ae9a6229545ef7d2c
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.es-AR.langpack.xpi) = 952318
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.es-ES.langpack.xpi) = da0c4b4e156965310ad4280c5ab461abd778b89e55d16a1f1ee78f692bbb76cb
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.es-ES.langpack.xpi) = 881728
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.fi.langpack.xpi) = 9242710c283628b6e9f68eee0425e1f7b81d81be27c1d5c3dc441018751b1511
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.fi.langpack.xpi) = 905048
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.fr.langpack.xpi) = e8e01037b879fe49e9dc042f27e08737083ac2bd7f9652ec2216d69f3de84ac9
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.fr.langpack.xpi) = 945990
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.gl.langpack.xpi) = e10ed62becc1e090c1734434d4a48b403dadb75b2231b70b33e2f34666fa42fa
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.gl.langpack.xpi) = 915640
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.hu.langpack.xpi) = 7366d80af72e1e5c46275b0f3f4efa36290b59ac2c24dc4b2debf06dbdc469fe
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.hu.langpack.xpi) = 950137
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.it.langpack.xpi) = 939162085a89575988fc44251f6f484bce087433bf06220fe94a3a3ef31a4279
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.it.langpack.xpi) = 788290
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.ja.langpack.xpi) = b3f8a0e23cbd3e235d33d1fb083ff6b5b4d0abdd4697d89be444f90e657afea5
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.ja.langpack.xpi) = 1000175
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.lt.langpack.xpi) = 32ca1b4668234c96c161512e6e7a444d864229d86efdc89caafff5e1d882bd0d
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.lt.langpack.xpi) = 951611
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.nb-NO.langpack.xpi) = 20b93b1f9475fc97a9f86f48d2bbcdeca43015c2cfe62a5a7b4d204dee1d7e0f
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.nb-NO.langpack.xpi) = 921937
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.nl.langpack.xpi) = eb9e84781c9c70411ccc199b8ccd6bf96729763ac09210d67d2dbe9178f9b8c4
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.nl.langpack.xpi) = 926891
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.pl.langpack.xpi) = 47a18be4d673bc8ef172b358512390d5bcfc6f81d1c2d327669aa135b2aec482
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.pl.langpack.xpi) = 918214
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.pt-PT.langpack.xpi) = 0ba281071038143950c64a03edaab7a37a4d284ed1583b50633ab58e393c7743
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.pt-PT.langpack.xpi) = 934340
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.ru.langpack.xpi) = fd50c7fd8f291530f68af88424dffd15e59340cb854a1edc915d2d5dc548ec78
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.ru.langpack.xpi) = 960162
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.sk.langpack.xpi) = 124d643a414d595941cc5fd72c0529629df8f3ea15c0f16186e7e3d5550dca22
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.sk.langpack.xpi) = 962527
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.sv-SE.langpack.xpi) = 6cadce5a8b40aaf1cc39157f5a9be3de5890d4b298082c11f9da1bdf43638869
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.sv-SE.langpack.xpi) = 935346
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.tr.langpack.xpi) = 1ad81e539c119d4bcc9b4c15dc1a54d604ae8d999c3e7dbc112c2633dd914409
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.tr.langpack.xpi) = 912742
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.uk.langpack.xpi) = 50be5f1fc5bf46133308185fee7f6761eca90550bbbb6d27ded3a0f81e2cfb81
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.uk.langpack.xpi) = 995478
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.zh-CN.langpack.xpi) = 19e835ebb01e3c7c8bdd3aeee9105f18187fb7c588bf2e329db45c39acb4e5dc
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.zh-CN.langpack.xpi) = 942579
+SHA256 (xpi/seamonkey-i18n-2.46/seamonkey-2.46.zh-TW.langpack.xpi) = 2fe7403370d70d4daa6a302fc24fc72a062cb9777acc672faf20f51f2ed73955
+SIZE (xpi/seamonkey-i18n-2.46/seamonkey-2.46.zh-TW.langpack.xpi) = 970970
diff --git a/www/seamonkey/Makefile b/www/seamonkey/Makefile
index 61e8793348c6..3c96c6c8701e 100644
--- a/www/seamonkey/Makefile
+++ b/www/seamonkey/Makefile
@@ -2,28 +2,27 @@
# $FreeBSD$
PORTNAME= seamonkey
-DISTVERSION= 2.40
-MOZILLA_VER= 43 # above + 3
-PORTREVISION= 2
+DISTVERSION= 2.46
+MOZILLA_VER= 49 # above + 3
CATEGORIES?= www mail news editors irc ipv6
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
- MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source
+ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build9/source
DISTFILES= ${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX}
EXTRACT_ONLY= ${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX}
MAINTAINER= gecko@FreeBSD.org
COMMENT= The open source, standards compliant web browser
-BUILD_DEPENDS= nspr>=4.10.10:devel/nspr \
- nss>=3.20.1:security/nss \
+BUILD_DEPENDS= nspr>=4.12:devel/nspr \
+ nss>=3.25:security/nss \
libevent2>=2.0.21_2:devel/libevent2 \
soundtouch>=1.9.0:audio/soundtouch \
- harfbuzz>=1.0.3:print/harfbuzz \
- graphite2>=1.3.4:graphics/graphite2 \
- png>=1.6.17:graphics/png \
+ harfbuzz>=1.2.6:print/harfbuzz \
+ graphite2>=1.3.8:graphics/graphite2 \
+ png>=1.6.21:graphics/png \
libvorbis>=1.3.5,3:audio/libvorbis \
libvpx>=1.5.0:multimedia/libvpx \
- sqlite3>=3.8.11.1:databases/sqlite3 \
+ sqlite3>=3.13:databases/sqlite3 \
${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \
v4l_compat>0:multimedia/v4l_compat \
autoconf-2.13:devel/autoconf213 \
@@ -32,8 +31,8 @@ BUILD_DEPENDS= nspr>=4.10.10:devel/nspr \
LIB_DEPENDS= libv4l2.so:multimedia/libv4l
-EM_VERSION= 1.9.5
-L_VERSION= 4.5
+EM_VERSION= 1.9.6.1
+L_VERSION= 5.1
SSP_UNSAFE= yes
USE_GECKO= gecko
@@ -42,46 +41,32 @@ USES= tar:xz
MOZ_PIS_SCRIPTS= moz_pis_S50cleanhome
MOZ_EXTENSIONS= default
-MOZ_OPTIONS+= --program-transform-name='s/seamonkey/${MOZILLA}/' \
- --enable-application=suite
+MOZ_OPTIONS+= --enable-application=suite
USE_MOZILLA= # empty
MOZ_PKGCONFIG_FILES=
NOT_FOR_ARCHS= ia64
-OPTIONS_DEFINE= CHATZILLA COMPOSER ENIGMAIL LDAP LIGHTNING MAILNEWS RUST
+OPTIONS_DEFINE= ENIGMAIL LDAP LIGHTNING RUST
OPTIONS_SINGLE= TOOLKIT
OPTIONS_SINGLE_TOOLKIT= GTK2 GTK3
-OPTIONS_DEFAULT=CANBERRA CHATZILLA COMPOSER ENIGMAIL GTK2 LDAP LIGHTNING MAILNEWS
+OPTIONS_DEFAULT=CANBERRA ENIGMAIL GTK2 LDAP LIGHTNING
-CHATZILLA_DESC?=Chatzilla IRC module
-COMPOSER_DESC?= HTML Composer module
LDAP_DESC?= LDAP support for Mailnews
-MAILNEWS_DESC?= Mail and News modules
.include "${.CURDIR}/../../www/firefox/Makefile.options"
.include <bsd.port.options.mk>
-.if ${PORT_OPTIONS:MCHATZILLA}
-MOZ_EXTENSIONS:= ${MOZ_EXTENSIONS},irc
-.endif
-
-.include <bsd.port.pre.mk>
-
WRKSRC:= ${WRKDIR}/${PORTNAME}-${DISTVERSION}
MOZSRC:= ${WRKSRC}/mozilla
XPI_LIBDIR= ${PREFIX}/lib/xpi
-.if ! ${PORT_OPTIONS:MMAILNEWS}
-MOZ_OPTIONS+= --disable-ldap --disable-mailnews
-.else
-# mail and news desired, but not LDAP
.if ! ${PORT_OPTIONS:MLDAP}
-MOZ_OPTIONS+= --disable-ldap --enable-mailnews
+MOZ_OPTIONS+= --disable-ldap
.else
-MOZ_OPTIONS+= --enable-ldap --enable-mailnews
+MOZ_OPTIONS+= --enable-ldap
.endif
.if ${PORT_OPTIONS:MENIGMAIL}
MASTER_SITES+= https://www.enigmail.net/download/source/:enigmail
@@ -96,11 +81,6 @@ EM_ID_RFILES= ${XPI_LIBDIR}/${EM_ID}/install.rdf \
${XPI_LIBDIR}/${EM_ID}/components/enigmail.js \
${XPI_LIBDIR}/${EM_ID}/modules/app.jsm
.endif
-.endif
-
-.if ! ${PORT_OPTIONS:MCOMPOSER}
-MOZ_OPTIONS+= --disable-composer
-.endif
.if ${PORT_OPTIONS:MLIGHTNING}
MOZ_OPTIONS+= --enable-calendar
@@ -113,7 +93,7 @@ XPI_ID= lightning@seamonkey.mozilla.org
MOZ_OPTIONS+= --disable-calendar
.endif
-.if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL}
+.if ${PORT_OPTIONS:MENIGMAIL}
post-extract:
@${TAR} -xf ${_DISTDIR}/${EM_DISTFILE} \
-C ${WRKSRC}/mailnews/extensions
@@ -127,7 +107,7 @@ post-patch:
@${SED} -e 's|%%MOZILLA%%|${MOZILLA}|g' \
< ${FILESDIR}/seamonkey.desktop.in > \
${WRKDIR}/${MOZILLA}.desktop
-.if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL}
+.if ${PORT_OPTIONS:MENIGMAIL}
@${REINPLACE_CMD} -e 's,/usr/bin/perl,${PERL},' \
${WRKSRC}/mailnews/extensions/enigmail/util/fixlang.pl \
${WRKSRC}/mailnews/extensions/enigmail/util/make-lang-xpi.pl
@@ -145,13 +125,13 @@ pre-configure:
(cd ${MOZSRC} && ${LOCALBASE}/bin/autoconf-2.13)
(cd ${MOZSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13)
-.if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL}
+.if ${PORT_OPTIONS:MENIGMAIL}
post-configure:
cd ${WRKSRC}/mailnews/extensions/enigmail/ && \
${SETENV} ${CONFIGURE_ENV} ${MAKE_ENV} ./configure
.endif
-.if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL}
+.if ${PORT_OPTIONS:MENIGMAIL}
post-build:
${DO_MAKE_BUILD:N-j*:S,${MAKEFILE},Makefile,} all xpi \
-C ${WRKSRC}/mailnews/extensions/enigmail
@@ -170,7 +150,7 @@ post-install:
@${ECHO_CMD} '@exec ${LN} -sf %D/lib/xpi/${XPI_ID} ${LOCALBASE}/lib/seamonkey/extensions 2>/dev/null || true' >> ${TMPPLIST}
@${ECHO_CMD} '@unexec ${RM} -f ${LOCALBASE}/lib/seamonkey/extensions/${XPI_ID}' >> ${TMPPLIST}
.endif
-.if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL}
+.if ${PORT_OPTIONS:MENIGMAIL}
@${MKDIR} ${STAGEDIR}${XPI_LIBDIR}/${EM_ID} ${STAGEDIR}${XPI_LIBDIR}/symlinks/${PORTNAME}
@(cd ${STAGEDIR}${XPI_LIBDIR}/${EM_ID}; ${TAR} -xf ${EM_XPI_FILE})
@${REINPLACE_CMD} -i "" "s/${EM_ORIG_ID}/${EM_ID}/" ${EM_ID_RFILES:S/^/${STAGEDIR}/g}
@@ -180,4 +160,4 @@ post-install:
@${ECHO_CMD} '@unexec ${RM} -f ${LOCALBASE}/lib/${PORTNAME}/extensions/${EM_ID}' >> ${TMPPLIST}
.endif
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/www/seamonkey/distinfo b/www/seamonkey/distinfo
index 36f90b97147a..046a15ba382b 100644
--- a/www/seamonkey/distinfo
+++ b/www/seamonkey/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1475123784
-SHA256 (seamonkey-2.40.source.tar.xz) = 7ecccc039d03f38d197b123b59ea42eac4c0c10e4bdec779b3665d79b435fa01
-SIZE (seamonkey-2.40.source.tar.xz) = 193702432
-SHA256 (enigmail-1.9.5.tar.gz) = 831e53a4add0f465241f075be9475103367aa1452675adae054d8fb272e5d3ad
-SIZE (enigmail-1.9.5.tar.gz) = 1744278
+TIMESTAMP = 1481682190
+SHA256 (seamonkey-2.46.source.tar.xz) = 39c84ce6fa1ed7c30152473e0dcd858df07437e84b29e5a18973db437a28a912
+SIZE (seamonkey-2.46.source.tar.xz) = 204913776
+SHA256 (enigmail-1.9.6.1.tar.gz) = 3874331e981aed864443d3c965d856e003fd84f73e5a89fd5004ced9dc29b96f
+SIZE (enigmail-1.9.6.1.tar.gz) = 1745021
diff --git a/www/seamonkey/files/patch-bug1021761 b/www/seamonkey/files/patch-bug1021761
index f65f852007ed..b339560a42fa 100644
--- a/www/seamonkey/files/patch-bug1021761
+++ b/www/seamonkey/files/patch-bug1021761
@@ -1,7 +1,19 @@
-diff --git configure.in configure.in
+diff --git build/moz.configure/old.configure build/moz.configure/old.configure
+index b95dd2b..4cbefd5 100644
+--- mozilla/build/moz.configure/old.configure
++++ mozilla/build/moz.configure/old.configure
+@@ -305,6 +305,7 @@ def old_configure_options(*options):
+ '--with-nspr-prefix',
+ '--with-nss-exec-prefix',
+ '--with-nss-prefix',
++ '--with-oss',
+ '--with-pthreads',
+ '--with-qemu-exe',
+ '--with-servo',
+diff --git old-configure.in configure.in
index 48e60c0..ec08417 100644
---- mozilla/configure.in
-+++ mozilla/configure.in
+--- mozilla/old-configure.in
++++ mozilla/old-configure.in
@@ -5591,6 +5591,67 @@ fi
AC_SUBST(MOZ_WEBM_ENCODER)
@@ -503,23 +515,21 @@ index a962553..1f780f4 100644
assert(r == 0);
/* Ugly hack: the PA ALSA plugin allows buffer configurations that can't
-@@ -848,23 +954,23 @@ alsa_stream_init(cubeb * ctx, cubeb_stream ** stream, char const * stream_name,
+@@ -859,7 +965,7 @@ alsa_stream_init(cubeb * ctx, cubeb_stre
latency = latency < 500 ? 500 : latency;
}
- r = snd_pcm_set_params(stm->pcm, format, SND_PCM_ACCESS_RW_INTERLEAVED,
-- stm->params.channels, stm->params.rate, 1,
-- latency * 1000);
+ r = WRAP(snd_pcm_set_params)(stm->pcm, format, SND_PCM_ACCESS_RW_INTERLEAVED,
-+ stm->params.channels, stm->params.rate, 1,
-+ latency * 1000);
+ stm->params.channels, stm->params.rate, 1,
+ latency * 1000);
if (r < 0) {
- alsa_stream_destroy(stm);
+@@ -867,15 +973,15 @@ alsa_stream_init(cubeb * ctx, cubeb_stre
return CUBEB_ERROR_INVALID_FORMAT;
}
-- r = snd_pcm_get_params(stm->pcm, &stm->buffer_size, &stm->period_size);
-+ r = WRAP(snd_pcm_get_params)(stm->pcm, &stm->buffer_size, &stm->period_size);
+- r = snd_pcm_get_params(stm->pcm, &stm->buffer_size, &period_size);
++ r = WRAP(snd_pcm_get_params)(stm->pcm, &stm->buffer_size, &period_size);
assert(r == 0);
- stm->nfds = snd_pcm_poll_descriptors_count(stm->pcm);
@@ -561,7 +571,7 @@ index a962553..1f780f4 100644
/* get a pcm, disabling resampling, so we get a rate the
* hardware/dmix/pulse/etc. supports. */
-- r = snd_pcm_open(&pcm, "default", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0);
+- r = snd_pcm_open(&pcm, CUBEB_ALSA_PCM_NAME, SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0);
+ r = WRAP(snd_pcm_open)(&pcm, CUBEB_ALSA_PCM_NAME, SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0);
if (r < 0) {
return CUBEB_ERROR;
@@ -643,7 +653,7 @@ new file mode 100644
index 0000000..5e38e27
--- /dev/null
+++ mozilla/media/libcubeb/src/cubeb_oss.c
-@@ -0,0 +1,432 @@
+@@ -0,0 +1,442 @@
+/*
+ * Copyright © 2014 Mozilla Foundation
+ *
@@ -664,6 +674,7 @@ index 0000000..5e38e27
+#include <errno.h>
+#include <pthread.h>
+#include <stdio.h>
++#include <assert.h>
+
+#include "cubeb/cubeb.h"
+#include "cubeb-internal.h"
@@ -762,7 +773,7 @@ index 0000000..5e38e27
+ pthread_mutex_lock(&stream->state_mutex);
+ if (stream->data_callback && stream->running && !stream->stopped) {
+ pthread_mutex_unlock(&stream->state_mutex);
-+ got = stream->data_callback(stream, stream->user_ptr, buffer, nframes);
++ got = stream->data_callback(stream, stream->user_ptr, NULL, buffer, nframes);
+ } else {
+ pthread_mutex_unlock(&stream->state_mutex);
+ }
@@ -892,7 +903,10 @@ index 0000000..5e38e27
+
+static int oss_stream_init(cubeb * context, cubeb_stream ** stm,
+ char const * stream_name,
-+ cubeb_stream_params stream_params,
++ cubeb_devid input_device,
++ cubeb_stream_params * input_stream_params,
++ cubeb_devid output_device,
++ cubeb_stream_params * output_stream_params,
+ unsigned int latency,
+ cubeb_data_callback data_callback,
+ cubeb_state_callback state_callback, void * user_ptr)
@@ -903,6 +917,12 @@ index 0000000..5e38e27
+ stream->state_callback = state_callback;
+ stream->user_ptr = user_ptr;
+
++ assert(!input_stream_params && "not supported.");
++ if (input_device || output_device) {
++ /* Device selection not yet implemented. */
++ return CUBEB_ERROR_DEVICE_UNAVAILABLE;
++ }
++
+ if ((stream->fd = open(CUBEB_OSS_DEFAULT_OUTPUT, O_WRONLY)) == -1) {
+ free(stream);
+ return CUBEB_ERROR;
@@ -914,7 +934,7 @@ index 0000000..5e38e27
+ free(stream); \
+ return CUBEB_ERROR_INVALID_FORMAT; } } while (0)
+
-+ stream->params = stream_params;
++ stream->params = *output_stream_params;
+ stream->volume = 1.0;
+ stream->panning = 0.0;
+
@@ -1138,13 +1158,13 @@ index 991f03f..3d99eb5 100644
+if CONFIG['MOZ_OSS']:
+ OS_LIBS += CONFIG['MOZ_OSS_LIBS']
- if CONFIG['MOZ_NATIVE_JPEG']:
+ if CONFIG['MOZ_SYSTEM_JPEG']:
OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
diff --git toolkit/library/moz.build toolkit/library/moz.build
index e191f13..4fb268a 100644
--- mozilla/toolkit/library/moz.build
+++ mozilla/toolkit/library/moz.build
-@@ -234,8 +234,8 @@ if CONFIG['MOZ_NATIVE_LIBVPX']:
+@@ -234,8 +234,8 @@ if CONFIG['MOZ_SYSTEM_LIBVPX']:
if not CONFIG['MOZ_TREE_PIXMAN']:
OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS']
diff --git a/www/seamonkey/files/patch-bug1209410 b/www/seamonkey/files/patch-bug1209410
deleted file mode 100644
index c20dda7fcac7..000000000000
--- a/www/seamonkey/files/patch-bug1209410
+++ /dev/null
@@ -1,169 +0,0 @@
-# Use MP3Demuxer/MediaFormatReader by default when available
-
-diff --git a/dom/media/DecoderTraits.cpp b/dom/media/DecoderTraits.cpp
---- mozilla/dom/media/DecoderTraits.cpp
-+++ mozilla/dom/media/DecoderTraits.cpp
-@@ -200,10 +200,10 @@ DecoderTraits::IsWebMTypeAndEnabled(cons
- static bool
- IsGStreamerSupportedType(const nsACString& aMimeType)
- {
-- if (!MediaDecoder::IsGStreamerEnabled())
-+ if (DecoderTraits::IsWebMTypeAndEnabled(aMimeType))
- return false;
-
-- if (DecoderTraits::IsWebMTypeAndEnabled(aMimeType) && !Preferences::GetBool("media.prefer-gstreamer", false))
-+ if (!MediaDecoder::IsGStreamerEnabled())
- return false;
-
- if (IsOggType(aMimeType) && !Preferences::GetBool("media.prefer-gstreamer", false))
-@@ -366,7 +366,7 @@ static bool
- IsMP3SupportedType(const nsACString& aType,
- const nsAString& aCodecs = EmptyString())
- {
-- return aType.EqualsASCII("audio/mpeg") && MP3Decoder::IsEnabled();
-+ return MP3Decoder::CanHandleMediaType(aType, aCodecs);
- }
-
- #ifdef MOZ_APPLEMEDIA
-diff --git a/dom/media/MP3Decoder.cpp b/dom/media/MP3Decoder.cpp
---- mozilla/dom/media/MP3Decoder.cpp
-+++ mozilla/dom/media/MP3Decoder.cpp
-@@ -10,10 +10,7 @@
- #include "MediaFormatReader.h"
- #include "MP3Demuxer.h"
- #include "mozilla/Preferences.h"
--
--#ifdef MOZ_WIDGET_ANDROID
--#include "AndroidBridge.h"
--#endif
-+#include "PlatformDecoderModule.h"
-
- namespace mozilla {
-
-@@ -32,14 +29,61 @@ MP3Decoder::CreateStateMachine() {
- return new MediaDecoderStateMachine(this, reader);
- }
-
-+static already_AddRefed<MediaDataDecoder>
-+CreateTestMP3Decoder(AudioInfo& aConfig)
-+{
-+ PlatformDecoderModule::Init();
-+
-+ nsRefPtr<PlatformDecoderModule> platform = PlatformDecoderModule::Create();
-+ if (!platform || !platform->SupportsMimeType(aConfig.mMimeType)) {
-+ return nullptr;
-+ }
-+
-+ nsRefPtr<MediaDataDecoder> decoder(
-+ platform->CreateDecoder(aConfig, nullptr, nullptr));
-+ if (!decoder) {
-+ return nullptr;
-+ }
-+
-+ return decoder.forget();
-+}
-+
-+static bool
-+CanCreateMP3Decoder()
-+{
-+ static bool haveCachedResult = false;
-+ static bool result = false;
-+ if (haveCachedResult) {
-+ return result;
-+ }
-+ AudioInfo config;
-+ config.mMimeType = "audio/mpeg";
-+ config.mRate = 48000;
-+ config.mChannels = 2;
-+ config.mBitDepth = 16;
-+ nsRefPtr<MediaDataDecoder> decoder(CreateTestMP3Decoder(config));
-+ if (decoder) {
-+ result = true;
-+ }
-+ haveCachedResult = true;
-+ return result;
-+}
-+
-+/* static */
- bool
- MP3Decoder::IsEnabled() {
--#ifdef MOZ_WIDGET_ANDROID
-- // We need android.media.MediaCodec which exists in API level 16 and higher.
-- return AndroidBridge::Bridge()->GetAPIVersion() >= 16;
--#else
-- return Preferences::GetBool("media.mp3.enabled");
--#endif
-+ return CanCreateMP3Decoder();
-+}
-+
-+/* static */
-+bool MP3Decoder::CanHandleMediaType(const nsACString& aType,
-+ const nsAString& aCodecs)
-+{
-+ if (aType.EqualsASCII("audio/mp3") || aType.EqualsASCII("audio/mpeg")) {
-+ return CanCreateMP3Decoder() &&
-+ (aCodecs.IsEmpty() || aCodecs.EqualsASCII("mp3"));
-+ }
-+ return false;
- }
-
- } // namespace mozilla
-diff --git a/dom/media/MP3Decoder.h b/dom/media/MP3Decoder.h
---- mozilla/dom/media/MP3Decoder.h
-+++ mozilla/dom/media/MP3Decoder.h
-@@ -19,6 +19,8 @@ public:
- // Returns true if the MP3 backend is preffed on, and we're running on a
- // platform that is likely to have decoders for the format.
- static bool IsEnabled();
-+ static bool CanHandleMediaType(const nsACString& aType,
-+ const nsAString& aCodecs);
- };
-
- } // namespace mozilla
-diff --git a/dom/media/test/manifest.js b/dom/media/test/manifest.js
---- mozilla/dom/media/test/manifest.js
-+++ mozilla/dom/media/test/manifest.js
-@@ -76,7 +76,7 @@ var gPlayedTests = [
- { name:"seek.ogv", type:"video/ogg", duration:3.966 },
- { name:"seek.webm", type:"video/webm", duration:3.966 },
- { name:"gizmo.mp4", type:"video/mp4", duration:5.56 },
-- { name:"owl.mp3", type:"audio/mpeg", duration:3.29 },
-+ { name:"owl.mp3", type:"audio/mpeg", duration:3.343 },
- // Disable vbr.mp3 to see if it reduces the error of AUDCLNT_E_CPUUSAGE_EXCEEDED.
- // See bug 1110922 comment 26.
- //{ name:"vbr.mp3", type:"audio/mpeg", duration:10.0 },
-@@ -237,13 +237,13 @@ var gPlayTests = [
-
- { name:"small-shot.m4a", type:"audio/mp4", duration:0.29 },
- { name:"small-shot.mp3", type:"audio/mpeg", duration:0.27 },
-- { name:"owl.mp3", type:"audio/mpeg", duration:3.29 },
-+ { name:"owl.mp3", type:"audio/mpeg", duration:3.343 },
- // owl.mp3 as above, but with something funny going on in the ID3v2 tag
- // that causes DirectShow to fail.
-- { name:"owl-funny-id3.mp3", type:"audio/mpeg", duration:3.29 },
-+ { name:"owl-funny-id3.mp3", type:"audio/mpeg", duration:3.343 },
- // owl.mp3 as above, but with something even funnier going on in the ID3v2 tag
- // that causes DirectShow to fail.
-- { name:"owl-funnier-id3.mp3", type:"audio/mpeg", duration:3.29 },
-+ { name:"owl-funnier-id3.mp3", type:"audio/mpeg", duration:3.343 },
- // One second of silence with ~140KB of ID3 tags. Usually when the first MP3
- // frame is at such a high offset into the file, MP3FrameParser will give up
- // and report that the stream is not MP3. However, it does not count ID3 tags
-@@ -469,7 +469,7 @@ var gSeekTests = [
- { name:"split.webm", type:"video/webm", duration:1.967 },
- { name:"detodos.opus", type:"audio/ogg; codecs=opus", duration:2.9135 },
- { name:"gizmo.mp4", type:"video/mp4", duration:5.56 },
-- { name:"owl.mp3", type:"audio/mpeg", duration:3.29 },
-+ { name:"owl.mp3", type:"audio/mpeg", duration:3.343 },
- { name:"bogus.duh", type:"bogus/duh", duration:123 }
- ];
-
-@@ -523,7 +523,7 @@ if (getAndroidVersion() >= 18) {
- var gAudioTests = [
- { name:"r11025_s16_c1.wav", type:"audio/x-wav", duration:1.0 },
- { name:"sound.ogg", type:"audio/ogg" },
-- { name:"owl.mp3", type:"audio/mpeg", duration:3.29 },
-+ { name:"owl.mp3", type:"audio/mpeg", duration:3.343 },
- { name:"small-shot.m4a", type:"audio/mp4", duration:0.29 },
- { name:"bogus.duh", type:"bogus/duh", duration:123 }
- ];
diff --git a/www/seamonkey/files/patch-bug1228255 b/www/seamonkey/files/patch-bug1228255
deleted file mode 100644
index 6c76ef937aee..000000000000
--- a/www/seamonkey/files/patch-bug1228255
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/test/test_audio.cpp b/test/test_audio.cpp
-index 0158fb7..6a6ebf5 100644
---- mozilla/media/libcubeb/tests/test_audio.cpp
-+++ mozilla/media/libcubeb/tests/test_audio.cpp
-@@ -10,7 +10,7 @@
- #ifdef NDEBUG
- #undef NDEBUG
- #endif
--#define _XOPEN_SOURCE 500
-+#define _XOPEN_SOURCE 600
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
-diff --git a/test/test_sanity.cpp b/test/test_sanity.cpp
-index 8c80f80..ff31a96 100644
---- mozilla/media/libcubeb/tests/test_sanity.cpp
-+++ mozilla/media/libcubeb/tests/test_sanity.cpp
-@@ -7,7 +7,7 @@
- #ifdef NDEBUG
- #undef NDEBUG
- #endif
--#define _XOPEN_SOURCE 500
-+#define _XOPEN_SOURCE 600
- #include "cubeb/cubeb.h"
- #include <assert.h>
- #include <stdio.h>
-diff --git a/test/test_tone.cpp b/test/test_tone.cpp
-index 023c46f..a0bb287 100644
---- mozilla/media/libcubeb/tests/test_tone.cpp
-+++ mozilla/media/libcubeb/tests/test_tone.cpp
-@@ -9,7 +9,7 @@
- #ifdef NDEBUG
- #undef NDEBUG
- #endif
--#define _XOPEN_SOURCE 500
-+#define _XOPEN_SOURCE 600
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
diff --git a/www/seamonkey/files/patch-bug1228742 b/www/seamonkey/files/patch-bug1228742
deleted file mode 100644
index a8f69e30331e..000000000000
--- a/www/seamonkey/files/patch-bug1228742
+++ /dev/null
@@ -1,13 +0,0 @@
---- mozilla/toolkit/crashreporter/test/moz.build.orig 2015-12-16 16:15:25.278076000 +0100
-+++ mozilla/toolkit/crashreporter/test/moz.build 2015-12-16 16:15:35.254959000 +0100
-@@ -19,10 +19,6 @@
-
- GeckoSharedLibrary('testcrasher')
-
--EXTRA_JS_MODULES += [
-- 'CrashTestUtils.jsm',
--]
--
- DEFINES['SHARED_LIBRARY'] = '%s%s%s' % (
- CONFIG['DLL_PREFIX'],
- LIBRARY_NAME,
diff --git a/www/seamonkey/files/patch-bug1231349 b/www/seamonkey/files/patch-bug1231349
new file mode 100644
index 000000000000..da25be5b1992
--- /dev/null
+++ b/www/seamonkey/files/patch-bug1231349
@@ -0,0 +1,16 @@
+diff --git a/suite/installer/package-manifest.in b/suite/installer/package-manifest.in
+--- suite/installer/package-manifest.in
++++ suite/installer/package-manifest.in
+@@ -911,3 +956,12 @@
+ @RESPATH@/extensions/debugQA@mozilla.org/chrome/debugqa@JAREXT@
+ #endif
+ #endif
++
++#ifdef MOZ_CALENDAR
++[calendar]
++#ifdef NIGHTLY_BUILD
++@RESPATH@/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/
++#else
++@RESPATH@/distribution/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/
++#endif
++#endif
diff --git a/www/seamonkey/files/patch-bug1233275 b/www/seamonkey/files/patch-bug1233275
deleted file mode 100644
index 949558662729..000000000000
--- a/www/seamonkey/files/patch-bug1233275
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copy environment for IPC using NSPR to avoid race
-
-diff --git a/ipc/chromium/src/base/process_util_bsd.cc b/ipc/chromium/src/base/process_util_bsd.cc
---- mozilla/ipc/chromium/src/base/process_util_bsd.cc
-+++ mozilla/ipc/chromium/src/base/process_util_bsd.cc
-@@ -13,6 +13,7 @@
-
- #include <string>
-
-+#include "nspr.h"
- #include "base/eintr_wrapper.h"
- #include "base/file_util.h"
- #include "base/logging.h"
-@@ -48,7 +49,6 @@
-
- #ifdef HAVE_POSIX_SPAWN
- #include <spawn.h>
--extern "C" char **environ __dso_public;
- #endif
-
- namespace {
-@@ -114,6 +114,7 @@ bool LaunchApp(const std::vector<std::st
- // Existing variables are overwritten by env_vars_to_set.
- int pos = 0;
- environment_map combined_env_vars = env_vars_to_set;
-+ char **environ = PR_DuplicateEnvironment();
- while(environ[pos] != NULL) {
- std::string varString = environ[pos];
- std::string varName = varString.substr(0, varString.find_first_of('='));
-@@ -121,8 +122,9 @@ bool LaunchApp(const std::vector<std::st
- if (combined_env_vars.find(varName) == combined_env_vars.end()) {
- combined_env_vars[varName] = varValue;
- }
-- pos++;
-+ PR_Free(environ[pos++]);
- }
-+ PR_Free(environ);
- int varsLen = combined_env_vars.size() + 1;
-
- char** vars = new char*[varsLen];
diff --git a/www/seamonkey/files/patch-bug1234033 b/www/seamonkey/files/patch-bug1234033
deleted file mode 100644
index 4e5b8c79041a..000000000000
--- a/www/seamonkey/files/patch-bug1234033
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git toolkit/mozapps/update/updater/updater.cpp toolkit/mozapps/update/updater/updater.cpp
-index bb0834c..6ef82a1 100644
---- mozilla/toolkit/mozapps/update/updater/updater.cpp
-+++ mozilla/toolkit/mozapps/update/updater/updater.cpp
-@@ -157,7 +157,7 @@ BOOL PathGetSiblingFilePath(LPWSTR destinationBuffer,
- // declare it here to avoid including that entire header file.
- #define BZ2_CRC32TABLE_UNDECLARED
-
--#if MOZ_IS_GCC
-+#if MOZ_IS_GCC || defined(__clang__)
- extern "C" __attribute__((visibility("default"))) unsigned int BZ2_crc32Table[256];
- #undef BZ2_CRC32TABLE_UNDECLARED
- #elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
diff --git a/www/seamonkey/files/patch-bug1243312 b/www/seamonkey/files/patch-bug1243312
deleted file mode 100644
index 43304b2750cb..000000000000
--- a/www/seamonkey/files/patch-bug1243312
+++ /dev/null
@@ -1,21 +0,0 @@
-commit a5c6f19
-Author: Dragana Damjanovic <dd.mozilla@gmail.com>
-Date: Wed Jan 27 01:47:00 2016 +0100
-
- Bug 1243312 - nsNetCID is missing in toolkit/system/unixproxy/nsLibProxySettings.cpp. r=jduell
----
- toolkit/system/unixproxy/nsLibProxySettings.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git toolkit/system/unixproxy/nsLibProxySettings.cpp toolkit/system/unixproxy/nsLibProxySettings.cpp
-index f6ec377..e9179c1 100644
---- mozilla/toolkit/system/unixproxy/nsLibProxySettings.cpp
-+++ mozilla/toolkit/system/unixproxy/nsLibProxySettings.cpp
-@@ -9,6 +9,7 @@
- #include "nsIURI.h"
- #include "nsString.h"
- #include "nsCOMPtr.h"
-+#include "nsNetCID.h"
- #include "nspr.h"
-
- extern "C" {
diff --git a/www/seamonkey/files/patch-bug1245076 b/www/seamonkey/files/patch-bug1245076
deleted file mode 100644
index 0e16b3e10fe5..000000000000
--- a/www/seamonkey/files/patch-bug1245076
+++ /dev/null
@@ -1,74 +0,0 @@
-
-# HG changeset patch
-# User Mike Hommey <mh+mozilla@glandium.org>
-# Date 1457596445 -32400
-# Node ID 55212130f19da3079167a6b0a5a0ed6689c9a71d
-# Parent 27c94617d7064d566c24a42e11cd4c7ef725923d
-Bug 1245076 - Don't include mozalloc.h from the cstdlib wrapper. r=froydnj
-
-Our STL wrappers do various different things, one of which is including
-mozalloc.h for infallible operator new. mozalloc.h includes stdlib.h,
-which, in libstdc++ >= 6 is now itself a wrapper around cstdlib, which
-circles back to our STL wrapper.
-
-But of the things our STL wrappers do, including mozalloc.h is not one
-that is necessary for cstdlib. So skip including mozalloc.h in our
-cstdlib wrapper.
-
-Additionally, some C++ sources (in media/mtransport) are including
-headers in an extern "C" block, which end up including stdlib.h, which
-ends up including cstdlib because really, this is all C++, and our
-wrapper pre-includes <new> for mozalloc.h, which fails because templates
-don't work inside extern "C". So, don't pre-include <new> when we're not
-including mozalloc.h.
-
-
-diff --git config/gcc-stl-wrapper.template.h config/gcc-stl-wrapper.template.h
---- mozilla/config/gcc-stl-wrapper.template.h
-+++ mozilla/config/gcc-stl-wrapper.template.h
-@@ -12,33 +12,40 @@
- // compiling ObjC.
- #if defined(__EXCEPTIONS) && __EXCEPTIONS && !(__OBJC__ && __GNUC__ && XP_IOS)
- # error "STL code can only be used with -fno-exceptions"
- #endif
-
- // Silence "warning: #include_next is a GCC extension"
- #pragma GCC system_header
-
-+// Don't include mozalloc for cstdlib. See bug 1245076.
-+#ifndef moz_dont_include_mozalloc_for_cstdlib
-+# define moz_dont_include_mozalloc_for_cstdlib
-+#endif
-+#ifndef moz_dont_include_mozalloc_for_${HEADER}
- // mozalloc.h wants <new>; break the cycle by always explicitly
- // including <new> here. NB: this is a tad sneaky. Sez the gcc docs:
- //
- // `#include_next' does not distinguish between <file> and "file"
- // inclusion, nor does it check that the file you specify has the
- // same name as the current file. It simply looks for the file
- // named, starting with the directory in the search path after the
- // one where the current file was found.
--#include_next <new>
-+# include_next <new>
-
- // See if we're in code that can use mozalloc. NB: this duplicates
- // code in nscore.h because nscore.h pulls in prtypes.h, and chromium
- // can't build with that being included before base/basictypes.h.
--#if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
--# include "mozilla/mozalloc.h"
--#else
--# error "STL code can only be used with infallible ::operator new()"
-+# if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
-+# include "mozilla/mozalloc.h"
-+# else
-+# error "STL code can only be used with infallible ::operator new()"
-+# endif
-+
- #endif
-
- #if defined(DEBUG) && !defined(_GLIBCXX_DEBUG)
- // Enable checked iterators and other goodies
- //
- // FIXME/bug 551254: gcc's debug STL implementation requires -frtti.
- // Figure out how to resolve this with -fno-rtti. Maybe build with
- // -frtti in DEBUG builds?
diff --git a/www/seamonkey/files/patch-bug1256136 b/www/seamonkey/files/patch-bug1256136
new file mode 100644
index 000000000000..952044732538
--- /dev/null
+++ b/www/seamonkey/files/patch-bug1256136
@@ -0,0 +1,21 @@
+diff --git xpcom/glue/nsISupportsImpl.h xpcom/glue/nsISupportsImpl.h
+index 9102102..e1f34c0 100644
+--- mozilla/xpcom/glue/nsISupportsImpl.h
++++ mozilla/xpcom/glue/nsISupportsImpl.h
+@@ -32,11 +32,11 @@
+ #include "mozilla/TypeTraits.h"
+
+ #if defined(__clang__)
+- // bug 1028428 shows that at least in FreeBSD 10.0 with Clang 3.4 and libc++ 3.4,
+- // std::is_destructible is buggy in that it returns false when it should return true
+- // on ipc::SharedMemory. On the other hand, all Clang versions currently in use
+- // seem to handle the fallback just fine.
+-# define MOZ_CAN_USE_IS_DESTRUCTIBLE_FALLBACK
++# if MOZ_USING_LIBCXX && __has_include(<type_traits>)
++# define MOZ_HAVE_STD_IS_DESTRUCTIBLE
++# else
++# define MOZ_CAN_USE_IS_DESTRUCTIBLE_FALLBACK
++# endif
+ #elif defined(__GNUC__)
+ // GCC 4.7 is has buggy std::is_destructible
+ # if MOZ_USING_LIBSTDCXX && MOZ_GCC_VERSION_AT_LEAST(4, 8, 0)
diff --git a/www/seamonkey/files/patch-bug1268816 b/www/seamonkey/files/patch-bug1268816
deleted file mode 100644
index ff3a879cbdf8..000000000000
--- a/www/seamonkey/files/patch-bug1268816
+++ /dev/null
@@ -1,50 +0,0 @@
-
-# HG changeset patch
-# User Lee Salzman <lsalzman@mozilla.com>
-# Date 1461978185 14400
-# Node ID b622cbd9ba13d01abcb1d04684dcb39c22a08590
-# Parent f3a5c8b5e17073a1e68f079da93f8dbe10e454a9
-Bug 1268816 - allow Skia to use C++11 features on platforms that have them. r=froydnj
-
-diff --git config/stl-headers config/stl-headers
---- mozilla/config/stl-headers
-+++ mozilla/config/stl-headers
-@@ -27,16 +27,17 @@ iterator
- limits
- list
- map
- memory
- ostream
- set
- stack
- string
-+type_traits
- utility
- vector
- cassert
- climits
- cmath
- cstdarg
- cstdio
- cstdlib
-diff --git config/system-headers config/system-headers
---- mozilla/config/system-headers
-+++ mozilla/config/system-headers
-@@ -1109,16 +1109,17 @@ ThreadManagerTests.h
- Threads.h
- time.h
- Timer.h
- tlhelp32.h
- ToolUtils.h
- tr1/functional
- trace.h
- Traps.h
-+type_traits
- typeinfo
- types.h
- Types.h
- UAppleEventsMgr.h
- UAttachments.h
- ucontext.h
- uconv.h
- UCursor.h
diff --git a/www/seamonkey/files/patch-bug1269165 b/www/seamonkey/files/patch-bug1269165
deleted file mode 100644
index 829af431046b..000000000000
--- a/www/seamonkey/files/patch-bug1269165
+++ /dev/null
@@ -1,24 +0,0 @@
-# getUserMedia fails to enumerate ALSA plugins
-
---- mozilla/media/webrtc/trunk/webrtc/modules/audio_device/linux/audio_device_alsa_linux.cc.orig 2016-04-22 00:37:17 UTC
-+++ mozilla/media/webrtc/trunk/webrtc/modules/audio_device/linux/audio_device_alsa_linux.cc
-@@ -1752,7 +1752,9 @@ int32_t AudioDeviceLinuxALSA::GetDevices
- // Don't use snd_device_name_hint(-1,..) since there is a access violation
- // inside this ALSA API with libasound.so.2.0.0.
- int card = -1;
-+#ifdef WEBRTC_LINUX
- while (!(LATE(snd_card_next)(&card)) && (card >= 0) && keepSearching) {
-+#endif
- void **hints;
- err = LATE(snd_device_name_hint)(card, "pcm", &hints);
- if (err != 0)
-@@ -1878,7 +1880,9 @@ int32_t AudioDeviceLinuxALSA::GetDevices
- LATE(snd_strerror)(err));
- // Continue and return true anyway, since we did get the whole list.
- }
-+#ifdef WEBRTC_LINUX
- }
-+#endif
-
- if (FUNC_GET_NUM_OF_DEVICE == function)
- {
diff --git a/www/seamonkey/files/patch-bug1269171 b/www/seamonkey/files/patch-bug1269171
deleted file mode 100644
index 3f0d1bba6d24..000000000000
--- a/www/seamonkey/files/patch-bug1269171
+++ /dev/null
@@ -1,258 +0,0 @@
-
-# HG changeset patch
-# User Mike Hommey <mh+mozilla@glandium.org>
-# Date 1463557039 -32400
-# Node ID 68da139d0866977c0ada86319fa94388f2255446
-# Parent a640e6fa8ab9977fb6c5bcf63dc4daca6699477b
-Bug 1269171 - Change how mozalloc.h is hooked in STL wrappers. r=froydnj
-
-Since the introduction of the STL wrappers, they have included
-mozalloc.h, and multiple times, we've hit header reentrancy problems,
-and worked around them as best as we could.
-
-Taking a step back, all mozalloc.h does is:
-- declare moz_* allocator functions.
-- define inline implementations of various operator new/delete variants.
-
-The first only requires the functions to be declared before they are used,
-so mozalloc.h only needs to be included before anything that would use
-those functions.
-
-The second doesn't actually require a specific order, as long as the
-declaration for those functions comes before their use, and they are
-either declared in <new> or implicitly by the C++ compiler.
-
-So all in all, it doesn't matter that mozalloc.h is included before the
-wrapped STL headers. What matters is that it's included when STL headers
-are included. So arrange things such that mozalloc.h is included after
-the first wrapped STL header is fully preprocessed (and all its includes
-have been included).
-
-
-diff --git config/gcc-stl-wrapper.template.h config/gcc-stl-wrapper.template.h
---- mozilla/config/gcc-stl-wrapper.template.h
-+++ mozilla/config/gcc-stl-wrapper.template.h
-@@ -12,56 +12,54 @@
- // compiling ObjC.
- #if defined(__EXCEPTIONS) && __EXCEPTIONS && !(__OBJC__ && __GNUC__ && XP_IOS)
- # error "STL code can only be used with -fno-exceptions"
- #endif
-
- // Silence "warning: #include_next is a GCC extension"
- #pragma GCC system_header
-
--// Don't include mozalloc for cstdlib. See bug 1245076.
--#ifndef moz_dont_include_mozalloc_for_cstdlib
--# define moz_dont_include_mozalloc_for_cstdlib
--#endif
--#ifndef moz_dont_include_mozalloc_for_${HEADER}
--// mozalloc.h wants <new>; break the cycle by always explicitly
--// including <new> here. NB: this is a tad sneaky. Sez the gcc docs:
--//
--// `#include_next' does not distinguish between <file> and "file"
--// inclusion, nor does it check that the file you specify has the
--// same name as the current file. It simply looks for the file
--// named, starting with the directory in the search path after the
--// one where the current file was found.
--# include_next <new>
--
--// See if we're in code that can use mozalloc. NB: this duplicates
--// code in nscore.h because nscore.h pulls in prtypes.h, and chromium
--// can't build with that being included before base/basictypes.h.
--# if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
--# include "mozilla/mozalloc.h"
--# else
--# error "STL code can only be used with infallible ::operator new()"
--# endif
--
--#endif
--
- #if defined(DEBUG) && !defined(_GLIBCXX_DEBUG)
- // Enable checked iterators and other goodies
- //
- // FIXME/bug 551254: gcc's debug STL implementation requires -frtti.
- // Figure out how to resolve this with -fno-rtti. Maybe build with
- // -frtti in DEBUG builds?
- //
- // # define _GLIBCXX_DEBUG 1
- #endif
-
-+// Don't include mozalloc for cstdlib. See bug 1245076.
-+#ifndef moz_dont_include_mozalloc_for_cstdlib
-+# define moz_dont_include_mozalloc_for_cstdlib
-+#endif
-+
-+// Include mozalloc after the STL header and all other headers it includes
-+// have been preprocessed.
-+#if !defined(MOZ_INCLUDE_MOZALLOC_H) && \
-+ !defined(moz_dont_include_mozalloc_for_${HEADER})
-+# define MOZ_INCLUDE_MOZALLOC_H
-+# define MOZ_INCLUDE_MOZALLOC_H_FROM_${HEADER}
-+#endif
-+
- #pragma GCC visibility push(default)
- #include_next <${HEADER}>
- #pragma GCC visibility pop
-
-+#ifdef MOZ_INCLUDE_MOZALLOC_H_FROM_${HEADER}
-+// See if we're in code that can use mozalloc. NB: this duplicates
-+// code in nscore.h because nscore.h pulls in prtypes.h, and chromium
-+// can't build with that being included before base/basictypes.h.
-+# if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
-+# include "mozilla/mozalloc.h"
-+# else
-+# error "STL code can only be used with infallible ::operator new()"
-+# endif
-+#endif
-+
- // gcc calls a __throw_*() function from bits/functexcept.h when it
- // wants to "throw an exception". functexcept exists nominally to
- // support -fno-exceptions, but since we'll always use the system
- // libstdc++, and it's compiled with exceptions, then in practice
- // these __throw_*() functions will always throw exceptions (shades of
- // -fshort-wchar). We don't want that and so define our own inlined
- // __throw_*().
- #ifndef mozilla_throw_gcc_h
-diff --git config/make-stl-wrappers.py config/make-stl-wrappers.py
---- mozilla/config/make-stl-wrappers.py
-+++ mozilla/config/make-stl-wrappers.py
-@@ -25,28 +25,26 @@ def header_path(header, compiler):
- def is_comment(line):
- return re.match(r'\s*#.*', line)
-
- def main(outdir, compiler, template_file, header_list_file):
- if not os.path.isdir(outdir):
- os.mkdir(outdir)
-
- template = open(template_file, 'r').read()
-- path_to_new = header_path('new', compiler)
-
- for header in open(header_list_file, 'r'):
- header = header.rstrip()
- if 0 == len(header) or is_comment(header):
- continue
-
- path = header_path(header, compiler)
- with FileAvoidWrite(os.path.join(outdir, header)) as f:
- f.write(string.Template(template).substitute(HEADER=header,
-- HEADER_PATH=path,
-- NEW_HEADER_PATH=path_to_new))
-+ HEADER_PATH=path))
-
-
- if __name__ == '__main__':
- if 5 != len(sys.argv):
- print("""Usage:
- python {0} OUT_DIR ('msvc'|'gcc') TEMPLATE_FILE HEADER_LIST_FILE
- """.format(sys.argv[0]), file=sys.stderr)
- sys.exit(1)
-diff --git config/msvc-stl-wrapper.template.h config/msvc-stl-wrapper.template.h
---- mozilla/config/msvc-stl-wrapper.template.h
-+++ mozilla/config/msvc-stl-wrapper.template.h
-@@ -3,45 +3,33 @@
- */
- /* This Source Code Form is subject to the terms of the Mozilla Public
- * 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/. */
-
- #ifndef mozilla_${HEADER}_h
- #define mozilla_${HEADER}_h
-
--#ifndef MOZ_HAVE_INCLUDED_ALLOC
--#define MOZ_HAVE_INCLUDED_ALLOC
--
- #if _HAS_EXCEPTIONS
- # error "STL code can only be used with -fno-exceptions"
- #endif
-
-+// Include mozalloc after the STL header and all other headers it includes
-+// have been preprocessed.
-+#if !defined(MOZ_INCLUDE_MOZALLOC_H)
-+# define MOZ_INCLUDE_MOZALLOC_H
-+# define MOZ_INCLUDE_MOZALLOC_H_FROM_${HEADER}
-+#endif
-+
- // Code built with !_HAS_EXCEPTIONS calls std::_Throw(), but the win2k
- // CRT doesn't export std::_Throw(). So we define it.
- #ifndef mozilla_Throw_h
- # include "mozilla/throw_msvc.h"
- #endif
-
--// Code might include <new> before other wrapped headers, but <new>
--// includes <exception> and so we want to wrap it. But mozalloc.h
--// wants <new> also, so we break the cycle by always explicitly
--// including <new> here.
--#include <${NEW_HEADER_PATH}>
--
--// See if we're in code that can use mozalloc. NB: this duplicates
--// code in nscore.h because nscore.h pulls in prtypes.h, and chromium
--// can't build with that being included before base/basictypes.h.
--#if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
--# include "mozilla/mozalloc.h"
--#else
--# error "STL code can only be used with infallible ::operator new()"
--#endif
--#endif /* MOZ_HAVE_INCLUDED_ALLOC */
--
- #ifdef _DEBUG
- // From
- // http://msdn.microsoft.com/en-us/library/aa985982%28VS.80%29.aspx
- // and
- // http://msdn.microsoft.com/en-us/library/aa985965%28VS.80%29.aspx
- // there appear to be two types of STL container checking. The
- // former is enabled by -D_DEBUG (which is implied by -MDd or -MTd), and
- // looks to be full generation/mutation checked iterators as done by
-@@ -70,9 +58,20 @@
- // but that's OK because we're not throwing them.
- #pragma warning( push )
- #pragma warning( disable : 4275 4530 )
-
- #include <${HEADER_PATH}>
-
- #pragma warning( pop )
-
-+#ifdef MOZ_INCLUDE_MOZALLOC_H_FROM_${HEADER}
-+// See if we're in code that can use mozalloc. NB: this duplicates
-+// code in nscore.h because nscore.h pulls in prtypes.h, and chromium
-+// can't build with that being included before base/basictypes.h.
-+# if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
-+# include "mozilla/mozalloc.h"
-+# else
-+# error "STL code can only be used with infallible ::operator new()"
-+# endif
-+#endif
-+
- #endif // if mozilla_${HEADER}_h
-diff --git memory/mozalloc/mozalloc.h memory/mozalloc/mozalloc.h
---- mozilla/memory/mozalloc/mozalloc.h
-+++ mozilla/memory/mozalloc/mozalloc.h
-@@ -7,20 +7,27 @@
-
- #ifndef mozilla_mozalloc_h
- #define mozilla_mozalloc_h
-
- /*
- * https://bugzilla.mozilla.org/show_bug.cgi?id=427099
- */
-
--#include <stdlib.h>
--#include <string.h>
- #if defined(__cplusplus)
- # include <new>
-+// Since libstdc++ 6, including the C headers (e.g. stdlib.h) instead of the
-+// corresponding C++ header (e.g. cstdlib) can cause confusion in C++ code
-+// using things defined there. Specifically, with stdlib.h, the use of abs()
-+// in gfx/graphite2/src/inc/UtfCodec.h somehow ends up picking the wrong abs()
-+# include <cstdlib>
-+# include <cstring>
-+#else
-+# include <stdlib.h>
-+# include <string.h>
- #endif
-
- #if defined(__cplusplus)
- #include "mozilla/fallible.h"
- #include "mozilla/TemplateLib.h"
- #endif
- #include "mozilla/Attributes.h"
- #include "mozilla/Types.h"
diff --git a/www/seamonkey/files/patch-bug1285501 b/www/seamonkey/files/patch-bug1285501
deleted file mode 100644
index b0e7cb65bdc7..000000000000
--- a/www/seamonkey/files/patch-bug1285501
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git media/webrtc/trunk/build/filename_rules.gypi media/webrtc/trunk/build/filename_rules.gypi
-index 844d5c5..7b16a15 100644
---- mozilla/media/webrtc/trunk/build/filename_rules.gypi
-+++ mozilla/media/webrtc/trunk/build/filename_rules.gypi
-@@ -29,7 +29,7 @@
- # In case a file is not needed, it is going to be excluded later on.
- # TODO(evan): the above is not correct; we shouldn't build _linux
- # files on non-linux.
-- ['OS!="linux" and OS!="openbsd" and OS!="freebsd" or >(nacl_untrusted_build)==1', {
-+ ['OS!="linux" and OS!="solaris" and <(os_bsd)!=1 or >(nacl_untrusted_build)==1', {
- 'sources/': [
- ['exclude', '_linux(_unittest)?\\.(h|cc)$'],
- ['exclude', '(^|/)linux/'],
-@@ -55,7 +55,7 @@
- ['exclude', '_nacl(_unittest)?\\.(h|cc)$'],
- ],
- }],
-- ['OS!="linux" and OS!="openbsd" and OS!="freebsd" or >(nacl_untrusted_build)==1', {
-+ ['OS!="linux" and OS!="solaris" and <(os_bsd)!=1 or >(nacl_untrusted_build)==1', {
- 'sources/': [
- ['exclude', '_xdg(_unittest)?\\.(h|cc)$'],
- ],
diff --git a/www/seamonkey/files/patch-bug1288587 b/www/seamonkey/files/patch-bug1288587
new file mode 100644
index 000000000000..6d8138fa57ba
--- /dev/null
+++ b/www/seamonkey/files/patch-bug1288587
@@ -0,0 +1,67 @@
+diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
+index 855214a..1e91d51 100644
+--- mozilla/build/moz.configure/init.configure
++++ mozilla/build/moz.configure/init.configure
+@@ -165,16 +165,17 @@ option(env='PYTHON', nargs=1, help='Python interpreter')
+ # ==============================================================
+ @depends('PYTHON', check_build_environment, mozconfig, '--help')
+ @imports('os')
+ @imports('sys')
+ @imports('subprocess')
+ @imports(_from='mozbuild.configure.util', _import='LineIO')
+ @imports(_from='mozbuild.virtualenv', _import='VirtualenvManager')
+ @imports(_from='mozbuild.virtualenv', _import='verify_python_version')
++@imports(_from='__builtin__', _import='KeyError')
+ @imports('distutils.sysconfig')
+ def virtualenv_python(env_python, build_env, mozconfig, help):
+ if help:
+ return
+
+ python = env_python[0] if env_python else None
+
+ # Ideally we'd rely on the mozconfig injection from mozconfig_options,
+@@ -184,16 +185,22 @@ def virtualenv_python(env_python, build_env, mozconfig, help):
+ if 'PYTHON' in mozconfig['env']['added']:
+ python = mozconfig['env']['added']['PYTHON']
+ elif 'PYTHON' in mozconfig['env']['modified']:
+ python = mozconfig['env']['modified']['PYTHON'][1]
+ elif 'PYTHON' in mozconfig['vars']['added']:
+ python = mozconfig['vars']['added']['PYTHON']
+ elif 'PYTHON' in mozconfig['vars']['modified']:
+ python = mozconfig['vars']['modified']['PYTHON'][1]
++ for i in ('env', 'vars'):
++ for j in ('added', 'modified'):
++ try:
++ del mozconfig[i][j]['PYTHON']
++ except KeyError:
++ pass
+
+ with LineIO(lambda l: log.error(l)) as out:
+ verify_python_version(out)
+ topsrcdir, topobjdir = build_env.topsrcdir, build_env.topobjdir
+ if topobjdir.endswith('/js/src'):
+ topobjdir = topobjdir[:-7]
+
+ with LineIO(lambda l: log.info(l)) as out:
+@@ -219,17 +226,20 @@ def virtualenv_python(env_python, build_env, mozconfig, help):
+ log.info('Creating Python environment')
+ manager.build(python)
+
+ python = normsep(manager.python_path)
+
+ if python != normsep(sys.executable):
+ log.info('Reexecuting in the virtualenv')
+ if env_python:
+- del os.environ['PYTHON']
++ try:
++ del os.environ['PYTHON']
++ except KeyError:
++ pass
+ # One would prefer to use os.execl, but that's completely borked on
+ # Windows.
+ sys.exit(subprocess.call([python] + sys.argv))
+
+ # We are now in the virtualenv
+ if not distutils.sysconfig.get_python_lib():
+ die('Could not determine python site packages directory')
+
diff --git a/www/seamonkey/files/patch-bug1299694 b/www/seamonkey/files/patch-bug1299694
new file mode 100644
index 000000000000..7132ae95755b
--- /dev/null
+++ b/www/seamonkey/files/patch-bug1299694
@@ -0,0 +1,31 @@
+commit 6ab2496
+Author: Chris Pearce <cpearce@mozilla.com>
+Date: Mon Sep 5 13:54:37 2016 +1200
+
+ Bug 1299694 - Ensure we don't enable Widevine unintentionally. r=glandium
+
+ On FreeBSD the target.kernel etc checks in enable_eme are failing,
+ but we're still falling through to |return value|, and so Widevine
+ is being enabled. If we remove the |return value| from enable_eme
+ we at least make Widevine disabled where it's not supposed to be
+ enabled.
+
+ MozReview-Commit-ID: D1h0IUidxhv
+---
+ toolkit/moz.configure | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git toolkit/moz.configure toolkit/moz.configure
+index 0c98c7a..a00b6eb 100644
+--- mozilla/toolkit/moz.configure
++++ mozilla/toolkit/moz.configure
+@@ -366,7 +366,8 @@ def enable_eme(value, target):
+ return value
+ elif value and value.origin != 'default':
+ die('%s is not supported on %s' % (value.format('--enable-eme'), target.alias))
+- return value
++ # Return the same type of OptionValue (Positive or Negative), with an empty tuple.
++ return value.__class__(())
+
+ @depends(enable_eme, fmp4)
+ def eme(value, fmp4):
diff --git a/www/seamonkey/files/patch-bug1315986 b/www/seamonkey/files/patch-bug1315986
new file mode 100644
index 000000000000..70e74b7ac981
--- /dev/null
+++ b/www/seamonkey/files/patch-bug1315986
@@ -0,0 +1,49 @@
+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
+--- mozilla/intl/lwbrk/nsJISx4051LineBreaker.cpp
++++ mozilla/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/seamonkey/files/patch-bug1320621 b/www/seamonkey/files/patch-bug1320621
index 170d2eba8baf..26484019c0fd 100644
--- a/www/seamonkey/files/patch-bug1320621
+++ b/www/seamonkey/files/patch-bug1320621
@@ -10,7 +10,7 @@ Make sure --enable-system-hunspell picks up system headers
-
FINAL_LIBRARY = 'xul'
-+if CONFIG['MOZ_NATIVE_HUNSPELL']:
++if CONFIG['MOZ_SYSTEM_HUNSPELL']:
+ CXXFLAGS += CONFIG['MOZ_HUNSPELL_CFLAGS']
+else:
+ LOCAL_INCLUDES += ['../src']
@@ -26,7 +26,7 @@ Make sure --enable-system-hunspell picks up system headers
FINAL_LIBRARY = 'xul'
-+if CONFIG['MOZ_NATIVE_HUNSPELL']:
++if CONFIG['MOZ_SYSTEM_HUNSPELL']:
+ CXXFLAGS += CONFIG['MOZ_HUNSPELL_CFLAGS']
+else:
+ LOCAL_INCLUDES += ['../hunspell/src']
diff --git a/www/seamonkey/files/patch-bug1320991 b/www/seamonkey/files/patch-bug1320991
new file mode 100644
index 000000000000..400b8ad43e8d
--- /dev/null
+++ b/www/seamonkey/files/patch-bug1320991
@@ -0,0 +1,24 @@
+--- mozilla/modules/libmar/tests/moz.build.orig 2016-10-31 20:15:26 UTC
++++ mozilla/modules/libmar/tests/moz.build
+@@ -9,21 +9,6 @@ XPCSHELL_TESTS_MANIFESTS += ['unit/xpcsh
+ 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/seamonkey/files/patch-bug1321877 b/www/seamonkey/files/patch-bug1321877
new file mode 100644
index 000000000000..f7f79285a328
--- /dev/null
+++ b/www/seamonkey/files/patch-bug1321877
@@ -0,0 +1,42 @@
+commit a13d95795217
+Author: <tharvik@gmail.com>
+Date: Thu Dec 8 18:20:12 2016 -0600
+
+ Bug 1321877. Fix compiler warnings in Downscaler.h when skia is not enabled. r=tnikkel
+---
+ image/Downscaler.h | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git image/Downscaler.h image/Downscaler.h
+index 21179a38f200..0bdef0eaa646 100644
+--- mozilla/image/Downscaler.h
++++ mozilla/image/Downscaler.h
+@@ -154,14 +154,14 @@ private:
+ class Downscaler
+ {
+ public:
+- explicit Downscaler(const nsIntSize&)
++ explicit Downscaler(const nsIntSize&) : mScale(1.0, 1.0)
+ {
+ MOZ_RELEASE_ASSERT(false, "Skia is not enabled");
+ }
+
+- const nsIntSize& OriginalSize() const { return nsIntSize(); }
+- const nsIntSize& TargetSize() const { return nsIntSize(); }
+- const gfxSize& Scale() const { return gfxSize(1.0, 1.0); }
++ const nsIntSize& OriginalSize() const { return mSize; }
++ const nsIntSize& TargetSize() const { return mSize; }
++ const gfxSize& Scale() const { return mScale; }
+
+ nsresult BeginFrame(const nsIntSize&, const Maybe<nsIntRect>&, uint8_t*, bool, bool = false)
+ {
+@@ -177,6 +177,9 @@ public:
+ DownscalerInvalidRect TakeInvalidRect() { return DownscalerInvalidRect(); }
+ void ResetForNextProgressivePass() { }
+ const nsIntSize FrameSize() const { return nsIntSize(0, 0); }
++private:
++ nsIntSize mSize;
++ gfxSize mScale;
+ };
+
+ #endif // MOZ_ENABLE_SKIA
diff --git a/www/seamonkey/files/patch-bug1322112 b/www/seamonkey/files/patch-bug1322112
new file mode 100644
index 000000000000..684a79556518
--- /dev/null
+++ b/www/seamonkey/files/patch-bug1322112
@@ -0,0 +1,23 @@
+--- mozilla/image/decoders/nsIconDecoder.cpp
++++ mozilla/image/decoders/nsIconDecoder.cpp
+@@ -89,17 +89,18 @@ nsIconDecoder::ReadRowOfPixels(const cha
+ {
+ MOZ_ASSERT(aLength % 4 == 0, "Rows should contain a multiple of four bytes");
+
+ auto result = mPipe.WritePixels<uint32_t>([&]() -> NextPixel<uint32_t> {
+ if (aLength == 0) {
+ return AsVariant(WriteState::NEED_MORE_DATA); // Done with this row.
+ }
+
+- uint32_t pixel = *reinterpret_cast<const uint32_t*>(aData);
++ uint32_t pixel;
++ memcpy(&pixel, aData, 4);
+ aData += 4;
+ aLength -= 4;
+
+ return AsVariant(pixel);
+ });
+
+ MOZ_ASSERT(result != WriteState::FAILURE);
+
+
diff --git a/www/seamonkey/files/patch-bug1322660 b/www/seamonkey/files/patch-bug1322660
new file mode 100644
index 000000000000..9944ae4109ce
--- /dev/null
+++ b/www/seamonkey/files/patch-bug1322660
@@ -0,0 +1,80 @@
+--- mozilla/modules/woff2/src/store_bytes.h
++++ mozilla/modules/woff2/src/store_bytes.h
+@@ -29,41 +29,44 @@ inline size_t StoreU32(uint8_t* dst, size_t offset, uint32_t x) {
+ dst[offset + 1] = x >> 16;
+ dst[offset + 2] = x >> 8;
+ dst[offset + 3] = x;
+ return offset + 4;
+ }
+
+ inline size_t Store16(uint8_t* dst, size_t offset, int x) {
+ #if (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__))
+- *reinterpret_cast<uint16_t*>(dst + offset) =
+- ((x & 0xFF) << 8) | ((x & 0xFF00) >> 8);
++ uint16_t v = ((x & 0xFF) << 8) | ((x & 0xFF00) >> 8);
++ memcpy(dst + offset, &v, 2);
+ #elif (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__))
+- *reinterpret_cast<uint16_t*>(dst + offset) = static_cast<uint16_t>(x);
++ uint16_t v = static_cast<uint16_t>(x);
++ memcpy(dst + offset, &v, 2);
+ #else
+ dst[offset] = x >> 8;
+ dst[offset + 1] = x;
+ #endif
+ return offset + 2;
+ }
+
+ inline void StoreU32(uint32_t val, size_t* offset, uint8_t* dst) {
+ dst[(*offset)++] = val >> 24;
+ dst[(*offset)++] = val >> 16;
+ dst[(*offset)++] = val >> 8;
+ dst[(*offset)++] = val;
+ }
+
+ inline void Store16(int val, size_t* offset, uint8_t* dst) {
+ #if (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__))
+- *reinterpret_cast<uint16_t*>(dst + *offset) =
++ uint16_t v = ((val & 0xFF) << 8) | ((val & 0xFF00) >> 8);
++ memcpy(dst + *offset, &v, 2);
+ ((val & 0xFF) << 8) | ((val & 0xFF00) >> 8);
+ *offset += 2;
+ #elif (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__))
+- *reinterpret_cast<uint16_t*>(dst + *offset) = static_cast<uint16_t>(val);
++ uint16_t v = static_cast<uint16_t>(val);
++ memcpy(dst + *offset, &v, 2);
+ *offset += 2;
+ #else
+ dst[(*offset)++] = val >> 8;
+ dst[(*offset)++] = val;
+ #endif
+ }
+
+ inline void StoreBytes(const uint8_t* data, size_t len,
+--- mozilla/modules/woff2/src/woff2_common.cc
++++ mozilla/modules/woff2/src/woff2_common.cc
+@@ -20,22 +20,23 @@
+
+ namespace woff2 {
+
+
+ uint32_t ComputeULongSum(const uint8_t* buf, size_t size) {
+ uint32_t checksum = 0;
+ size_t aligned_size = size & ~3;
+ for (size_t i = 0; i < aligned_size; i += 4) {
++ uint32_t v;
++ memcpy(&v, buf + i, 4);
+ #if (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__))
+- uint32_t v = *reinterpret_cast<const uint32_t*>(buf + i);
+ checksum += (((v & 0xFF) << 24) | ((v & 0xFF00) << 8) |
+ ((v & 0xFF0000) >> 8) | ((v & 0xFF000000) >> 24));
+ #elif (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__))
+- checksum += *reinterpret_cast<const uint32_t*>(buf + i);
++ checksum += v;
+ #else
+ checksum += (buf[i] << 24) | (buf[i + 1] << 16) |
+ (buf[i + 2] << 8) | buf[i + 3];
+ #endif
+ }
+
+ // treat size not aligned on 4 as if it were padded to 4 with 0's
+ if (size != aligned_size) {
diff --git a/www/seamonkey/files/patch-bug702179 b/www/seamonkey/files/patch-bug702179
index 1a2ca9195f0e..66997a59198b 100644
--- a/www/seamonkey/files/patch-bug702179
+++ b/www/seamonkey/files/patch-bug702179
@@ -1,10 +1,13 @@
---- mozilla/js/src/moz.build.orig 2015-10-29 22:17:54 UTC
-+++ mozilla/js/src/moz.build
-@@ -637,7 +637,3 @@
+--- mozilla/js/src/moz.build.orig 2015-12-16 12:32:04.574425000 +0100
++++ mozilla/js/src/moz.build 2015-12-16 12:32:09.032032000 +0100
+@@ -671,10 +671,6 @@ CFLAGS += CONFIG['MOZ_ICU_CFLAGS']
+ CXXFLAGS += CONFIG['MOZ_ICU_CFLAGS']
+ LOCAL_INCLUDES += CONFIG['MOZ_ICU_INCLUDES']
- if not CONFIG['GNU_CXX']:
- ALLOW_COMPILER_WARNINGS = True
--
-NO_EXPAND_LIBS = True
-
-DIST_INSTALL = True
+-
+ # Prepare self-hosted JS code for embedding
+ GENERATED_FILES += ['selfhosted.out.h']
+ selfhosted = GENERATED_FILES['selfhosted.out.h']
diff --git a/www/seamonkey/files/patch-bug826985 b/www/seamonkey/files/patch-bug826985
index bcb14e344493..6ce9a296e1a3 100644
--- a/www/seamonkey/files/patch-bug826985
+++ b/www/seamonkey/files/patch-bug826985
@@ -5,7 +5,7 @@ Date: Fri Jan 4 13:49:22 2013 +0100
Bug 826985 - Support more video formats for WebRTC via libv4l2 on Linux.
---
config/system-headers | 1 +
- configure.in | 7 +++++++
+ old-configure.in | 7 +++++++
media/webrtc/signaling/test/Makefile.in | 1 +
.../modules/video_capture/linux/device_info_linux.cc | 17 +++++++++++++++++
.../modules/video_capture/linux/video_capture_linux.cc | 16 +++++++++++++++-
@@ -17,18 +17,18 @@ diff --git config/system-headers config/system-headers
index 55e4cd1..76567b3 100644
--- mozilla/config/system-headers
+++ mozilla/config/system-headers
-@@ -627,6 +627,7 @@ libgnome/libgnome.h
+@@ -629,6 +629,7 @@ libgnome/libgnome.h
libgnomeui/gnome-icon-lookup.h
libgnomeui/gnome-icon-theme.h
libgnomeui/gnome-ui-init.h
+libv4l2.h
- lib$routines.h
limits
limits.h
-diff --git configure.in configure.in
+ link.h
+diff --git old-configure.in configure.in
index 55e4cd1..76567b3 100644
---- mozilla/configure.in
-+++ mozilla/configure.in
+--- mozilla/old-configure.in
++++ mozilla/old-configure.in
@@ -5309,6 +5309,9 @@ if test -n "$MOZ_WEBRTC"; then
MOZ_VP8_ENCODER=1
MOZ_VP8_ERROR_CONCEALMENT=1
@@ -145,26 +145,26 @@ index d46b5aa..e452223 100644
'targets': [
{
'target_name': 'video_capture_module',
-@@ -69,6 +72,19 @@
- 'linux/video_capture_linux.cc',
- 'linux/video_capture_linux.h',
- ],
-+ 'conditions': [
-+ ['use_libv4l2==1', {
-+ 'defines': [
-+ 'HAVE_LIBV4L2',
+@@ -75,6 +78,19 @@
+ 'linux/video_capture_linux.cc',
+ 'linux/video_capture_linux.h',
+ ],
++ 'conditions': [
++ ['use_libv4l2==1', {
++ 'defines': [
++ 'HAVE_LIBV4L2',
++ ],
++ 'cflags_mozilla': [
++ '$(MOZ_LIBV4L2_CFLAGS)',
++ ],
++ 'libraries': [
++ '-lv4l2',
++ ],
++ }],
+ ],
-+ 'cflags_mozilla': [
-+ '$(MOZ_LIBV4L2_CFLAGS)',
-+ ],
-+ 'libraries': [
-+ '-lv4l2',
-+ ],
-+ }],
-+ ],
- }], # linux
- ['OS=="mac"', {
- 'sources': [
+ }], # linux
+ ['OS=="mac"', {
+ 'sources': [
diff --git toolkit/library/moz.build toolkit/library/moz.build
index 9c16ffa..1db3794 100644
--- mozilla/toolkit/library/moz.build
diff --git a/www/seamonkey/files/patch-bug847568 b/www/seamonkey/files/patch-bug847568
index f10f2763a819..deb963e97ae6 100644
--- a/www/seamonkey/files/patch-bug847568
+++ b/www/seamonkey/files/patch-bug847568
@@ -1,15 +1,28 @@
# Allow building against system-wide graphite2/harfbuzz.
+diff --git build/moz.configure/old.configure build/moz.configure/old.configure
+index 4cbefd5..42ab554 100644
+--- mozilla/build/moz.configure/old.configure
++++ mozilla/build/moz.configure/old.configure
+@@ -312,6 +312,8 @@ def old_configure_options(*options):
+ '--with-sixgill',
+ '--with-soft-float',
+ '--with-system-bz2',
++ '--with-system-graphite2',
++ '--with-system-harfbuzz',
+ '--with-system-icu',
+ '--with-system-jpeg',
+ '--with-system-libevent',
diff --git config/Makefile.in config/Makefile.in
index 14bfc0d..5383399 100644
--- mozilla/config/Makefile.in
+++ mozilla/config/Makefile.in
-@@ -75,6 +75,8 @@ export:: $(export-preqs)
- -DMOZ_NATIVE_LIBEVENT=$(MOZ_NATIVE_LIBEVENT) \
- -DMOZ_NATIVE_LIBVPX=$(MOZ_NATIVE_LIBVPX) \
- -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \
-+ -DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \
-+ -DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \
+@@ -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) \
++ -DMOZ_SYSTEM_GRAPHITE2=$(MOZ_SYSTEM_GRAPHITE2) \
++ -DMOZ_SYSTEM_HARFBUZZ=$(MOZ_SYSTEM_HARFBUZZ) \
$(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers
$(INSTALL) system_wrappers $(DIST)
@@ -17,23 +30,24 @@ diff --git config/system-headers config/system-headers
index 18e8703..bdc5f82 100644
--- mozilla/config/system-headers
+++ mozilla/config/system-headers
-@@ -1350,3 +1350,11 @@ unicode/utypes.h
+@@ -1344,3 +1344,12 @@ unicode/utypes.h
#endif
libutil.h
unwind.h
-+#if MOZ_NATIVE_GRAPHITE2==1
++#if MOZ_SYSTEM_GRAPHITE2==1
+graphite2/Font.h
+graphite2/Segment.h
+#endif
-+#if MOZ_NATIVE_HARFBUZZ==1
++#if MOZ_SYSTEM_HARFBUZZ==1
++harfbuzz/hb-glib.h
+harfbuzz/hb-ot.h
+harfbuzz/hb.h
+#endif
-diff --git configure.in configure.in
+diff --git old-configure.in configure.in
index ac38f40..87536b7 100644
---- mozilla/configure.in
-+++ mozilla/configure.in
-@@ -7986,6 +7986,49 @@ if test "$USE_FC_FREETYPE"; then
+--- mozilla/old-configure.in
++++ mozilla/old-configure.in
+@@ -7989,6 +7989,49 @@ if test "$USE_FC_FREETYPE"; then
fi
dnl ========================================================
@@ -42,14 +56,14 @@ index ac38f40..87536b7 100644
+
+MOZ_ARG_WITH_BOOL(system-harfbuzz,
+[ --with-system-harfbuzz Use system harfbuzz (located with pkgconfig)],
-+MOZ_NATIVE_HARFBUZZ=1,
-+MOZ_NATIVE_HARFBUZZ=)
++MOZ_SYSTEM_HARFBUZZ=1,
++MOZ_SYSTEM_HARFBUZZ=)
+
-+if test -n "$MOZ_NATIVE_HARFBUZZ"; then
-+ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 1.0.3)
++if test -n "$MOZ_SYSTEM_HARFBUZZ"; then
++ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 1.2.6)
+fi
+
-+AC_SUBST(MOZ_NATIVE_HARFBUZZ)
++AC_SUBST(MOZ_SYSTEM_HARFBUZZ)
+
+dnl ========================================================
+dnl Check for graphite2
@@ -57,10 +71,10 @@ index ac38f40..87536b7 100644
+
+MOZ_ARG_WITH_BOOL(system-graphite2,
+[ --with-system-graphite2 Use system graphite2 (located with pkgconfig)],
-+MOZ_NATIVE_GRAPHITE2=1,
-+MOZ_NATIVE_GRAPHITE2=)
++MOZ_SYSTEM_GRAPHITE2=1,
++MOZ_SYSTEM_GRAPHITE2=)
+
-+if test -n "$MOZ_NATIVE_GRAPHITE2"; then
++if test -n "$MOZ_SYSTEM_GRAPHITE2"; then
+ PKG_CHECK_MODULES(MOZ_GRAPHITE2, graphite2)
+
+ dnl graphite2.pc has bogus version, check manually
@@ -70,14 +84,14 @@ index ac38f40..87536b7 100644
+ * 100 + GR2_VERSION_BUGFIX >= \
+ (major) * 10000 + (minor) * 100 + (bugfix) )
+ ], [
-+ #if !GR2_VERSION_REQUIRE(1,3,4)
++ #if !GR2_VERSION_REQUIRE(1,3,8)
+ #error "Insufficient graphite2 version."
+ #endif
+ ], [],
+ [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])])
+fi
+
-+AC_SUBST(MOZ_NATIVE_GRAPHITE2)
++AC_SUBST(MOZ_SYSTEM_GRAPHITE2)
+
+dnl ========================================================
dnl Check for pixman and cairo
@@ -87,11 +101,11 @@ diff --git dom/base/moz.build dom/base/moz.build
index a660ba4..6b2f602 100644
--- mozilla/dom/base/moz.build
+++ mozilla/dom/base/moz.build
-@@ -375,6 +375,9 @@ if CONFIG['INTEL_ARCHITECTURE']:
+@@ -397,6 +397,9 @@ if CONFIG['INTEL_ARCHITECTURE']:
SOURCES += ['nsTextFragmentSSE2.cpp']
SOURCES['nsTextFragmentSSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
-+if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ SOURCES['nsContentUtils.cpp'].flags += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
EXTRA_COMPONENTS += [
@@ -101,19 +115,32 @@ diff --git gfx/graphite2/moz-gr-update.sh gfx/graphite2/moz-gr-update.sh
index f3d76ea..a9e7fb6 100644
--- mozilla/gfx/graphite2/moz-gr-update.sh
+++ mozilla/gfx/graphite2/moz-gr-update.sh
-@@ -37,6 +37,12 @@
+@@ -1,6 +1,7 @@
+ #!/bin/bash
+
+ # Script used to update the Graphite2 library in the mozilla source tree
++# and bump version for --with-system-graphite2
+
+ # This script lives in gfx/graphite2, along with the library source,
+ # but must be run from the top level of the mozilla-central tree.
+@@ -37,12 +38,16 @@ echo "See" $0 "for update procedure." >>
#find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
#find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
-+# closest tag/release to require for system version
-+TAG=$(cd ../graphitedev/ && hg parents --template {latesttag})
-+
-+perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$TAG/ and tr/./,/ \
-+ if /GR2_VERSION_REQUIRE/" configure.in
++# chase version for --with-system-graphite2
++perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$RELEASE/ and tr/./,/ \
++ if /GR2_VERSION_REQUIRE/" old-configure.in
+
# summarize what's been touched
echo Updated to $RELEASE.
echo Here is what changed in the gfx/graphite2 directory:
+ echo
+
+-hg stat gfx/graphite2
++hg stat old-configure.in gfx/graphite2
+
+ echo
+ echo If gfx/graphite2/src/files.mk has changed, please make corresponding
diff --git gfx/harfbuzz/README-mozilla gfx/harfbuzz/README-mozilla
index ca57d16..1ce21fe 100644
--- mozilla/gfx/harfbuzz/README-mozilla
@@ -124,7 +151,7 @@ index ca57d16..1ce21fe 100644
specific makefile that is maintained by hand.
+
+The in-tree copy may be omitted during build by --with-system-harfbuzz.
-+Make sure to keep pkg-config version check within configure.in in sync
++Make sure to keep pkg-config version check within old-configure.in 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
@@ -135,10 +162,10 @@ index 519aa46..6929751 100644
if CONFIG['MOZ_TREE_CAIRO']:
DIRS += ['cairo']
-+if not CONFIG['MOZ_NATIVE_GRAPHITE2']:
++if not CONFIG['MOZ_SYSTEM_GRAPHITE2']:
+ DIRS += ['graphite2/src' ]
+
-+if not CONFIG['MOZ_NATIVE_HARFBUZZ']:
++if not CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ DIRS += ['harfbuzz/src']
+
DIRS += [
@@ -157,11 +184,11 @@ diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py
index 28fa6b5..240dced 100755
--- mozilla/gfx/skia/generate_mozbuild.py
+++ mozilla/gfx/skia/generate_mozbuild.py
-@@ -142,6 +142,9 @@ if CONFIG['GNU_CXX']:
- if CONFIG['CPU_ARCH'] == 'arm':
- SOURCES['trunk/src/opts/SkBlitRow_opts_arm.cpp'].flags += ['-fomit-frame-pointer']
+@@ -134,6 +134,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_
+ '-Wno-unused-private-field',
+ ]
-+if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk', 'qt'):
@@ -171,11 +198,11 @@ diff --git gfx/skia/moz.build gfx/skia/moz.build
index 1d0c2f9..adb8941 100644
--- mozilla/gfx/skia/moz.build
+++ mozilla/gfx/skia/moz.build
-@@ -970,6 +970,9 @@ if CONFIG['GNU_CXX']:
- if CONFIG['CPU_ARCH'] == 'arm':
- SOURCES['trunk/src/opts/SkBlitRow_opts_arm.cpp'].flags += ['-fomit-frame-pointer']
+@@ -752,6 +752,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_
+ '-Wno-unused-private-field',
+ ]
-+if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk', 'qt'):
@@ -185,30 +212,29 @@ diff --git gfx/thebes/moz.build gfx/thebes/moz.build
index d5852fa..aeeab25 100644
--- mozilla/gfx/thebes/moz.build
+++ mozilla/gfx/thebes/moz.build
-@@ -294,7 +294,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'andr
- if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'qt'):
- CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
+@@ -306,7 +306,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk
+
+ LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
-DEFINES['GRAPHITE2_STATIC'] = True
-+if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
-+if CONFIG['MOZ_NATIVE_GRAPHITE2']:
++if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
+ CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS']
+else:
+ DEFINES['GRAPHITE2_STATIC'] = True
- if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
- DEFINES['OTS_DLL'] = True
-diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build
+ if CONFIG['CLANG_CXX']:
+ # Suppress warnings from Skia header files.
index d736943..41a931f 100644
--- mozilla/intl/unicharutil/util/moz.build
+++ mozilla/intl/unicharutil/util/moz.build
-@@ -43,4 +43,7 @@
- CXXFLAGS += CONFIG['MOZ_ICU_CFLAGS']
+@@ -44,4 +44,7 @@ if CONFIG['ENABLE_INTL_API']:
+ LOCAL_INCLUDES += CONFIG['MOZ_ICU_INCLUDES']
USE_LIBS += ['icu']
-+if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
DIST_INSTALL = True
@@ -216,27 +242,28 @@ diff --git netwerk/dns/moz.build netwerk/dns/moz.build
index 0b0717a..2e665c9 100644
--- mozilla/netwerk/dns/moz.build
+++ mozilla/netwerk/dns/moz.build
-@@ -66,5 +66,8 @@ LOCAL_INCLUDES += [
+@@ -66,6 +66,9 @@ LOCAL_INCLUDES += [
'/netwerk/base',
]
-+if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk' and CONFIG['ANDROID_VERSION'] > '19':
- CXXFLAGS += ['-I%s/bionic/libc/dns/include' % CONFIG['ANDROID_SOURCE']]
+ LOCAL_INCLUDES += ['%' + '%s/bionic/libc/dns/include' % CONFIG['ANDROID_SOURCE']]
+
diff --git toolkit/library/moz.build toolkit/library/moz.build
index 67f0db9..d42137a 100644
--- mozilla/toolkit/library/moz.build
+++ mozilla/toolkit/library/moz.build
-@@ -187,6 +187,12 @@ if CONFIG['MOZ_NATIVE_LIBVPX']:
+@@ -231,6 +231,12 @@ if CONFIG['MOZ_SYSTEM_LIBVPX']:
if not CONFIG['MOZ_TREE_PIXMAN']:
OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS']
-+if CONFIG['MOZ_NATIVE_GRAPHITE2']:
++if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
+ OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS']
+
-+if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
+
if CONFIG['MOZ_OSS']:
diff --git a/www/seamonkey/files/patch-config-baseconfig.mk b/www/seamonkey/files/patch-config-baseconfig.mk
index 21c5eb9a1a20..8899c0c21844 100644
--- a/www/seamonkey/files/patch-config-baseconfig.mk
+++ b/www/seamonkey/files/patch-config-baseconfig.mk
@@ -1,6 +1,9 @@
--- mozilla/config/baseconfig.mk~
+++ mozilla/config/baseconfig.mk
-@@ -1,7 +1,7 @@
+@@ -2,10 +2,10 @@
+ # directly in python/mozbuild/mozbuild/base.py for gmake validation.
+ # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending
+ # whether a normal build is happening or whether the check is running.
-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
@@ -9,6 +12,6 @@
+idldir = $(datadir)/idl/%%MOZILLA%%
+installdir = $(libdir)/%%MOZILLA%%
+sdkdir = $(libdir)/%%MOZILLA%%
- ifndef TOP_DIST
- TOP_DIST = dist
- endif
+ ifeq (.,$(DEPTH))
+ DIST = dist
+ else
diff --git a/www/seamonkey/files/patch-ijg-libjpeg b/www/seamonkey/files/patch-ijg-libjpeg
index 1743c02c0d34..1d0010dbb930 100644
--- a/www/seamonkey/files/patch-ijg-libjpeg
+++ b/www/seamonkey/files/patch-ijg-libjpeg
@@ -1,10 +1,10 @@
# Partially revert bug 791305 to allow building with system IJG jpeg library
-diff --git configure.in configure.in
+diff --git old-configure.in configure.in
index f0aeb5d..1c01010 100644
---- mozilla/configure.in
-+++ mozilla/configure.in
-@@ -4027,11 +4027,7 @@ if test "$MOZ_NATIVE_JPEG" = 1; then
+--- mozilla/old-configure.in
++++ mozilla/old-configure.in
+@@ -4027,11 +4027,7 @@ if test "$MOZ_SYSTEM_JPEG" = 1; then
#include <jpeglib.h> ],
[ #if JPEG_LIB_VERSION < $MOZJPEG
#error "Insufficient JPEG library version ($MOZJPEG required)."
@@ -14,7 +14,7 @@ index f0aeb5d..1c01010 100644
- #endif
- ],
+ #endif ],
- MOZ_NATIVE_JPEG=1,
+ MOZ_SYSTEM_JPEG=1,
AC_MSG_ERROR([Insufficient JPEG library version for --with-system-jpeg]))
fi
diff --git image/decoders/nsJPEGDecoder.cpp image/decoders/nsJPEGDecoder.cpp
diff --git a/www/seamonkey/files/patch-media-mtransport-third_party-nICEr-src-util-mbslen.c b/www/seamonkey/files/patch-media-mtransport-third_party-nICEr-src-util-mbslen.c
deleted file mode 100644
index 149bf0b40182..000000000000
--- a/www/seamonkey/files/patch-media-mtransport-third_party-nICEr-src-util-mbslen.c
+++ /dev/null
@@ -1,16 +0,0 @@
---- mozilla/media/mtransport/third_party/nICEr/src/util/mbslen.c~
-+++ mozilla/media/mtransport/third_party/nICEr/src/util/mbslen.c
-@@ -54,6 +54,13 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- # endif
- #endif
-
-+#ifdef __DragonFly__
-+#include <osreldate.h>
-+# if __DragonFly_version > 300502
-+# define HAVE_XLOCALE
-+# endif
-+#endif
-+
- #ifdef HAVE_XLOCALE
- #include <xlocale.h>
- #endif /* HAVE_XLOCALE */
diff --git a/www/seamonkey/files/patch-modules-libpref-init-all.js b/www/seamonkey/files/patch-modules-libpref-init-all.js
deleted file mode 100644
index 63ed0f46a29a..000000000000
--- a/www/seamonkey/files/patch-modules-libpref-init-all.js
+++ /dev/null
@@ -1,15 +0,0 @@
---- mozilla/modules/libpref/init/all.js.orig 2015-08-06 22:39:34 UTC
-+++ mozilla/modules/libpref/init/all.js
-@@ -4052,7 +4052,12 @@ pref("layers.max-active", -1);
- pref("layers.tiles.adjust", true);
-
- // Set the default values, and then override per-platform as needed
-+#ifdef MOZ_TREE_CAIRO
- pref("layers.offmainthreadcomposition.enabled", true);
-+#else
-+// Disable for system cairo on suspicion of causing random crashes
-+pref("layers.offmainthreadcomposition.enabled", false);
-+#endif
- // Compositor target frame rate. NOTE: If vsync is enabled the compositor
- // frame rate will still be capped.
- // -1 -> default (match layout.frame_rate or 60 FPS)
diff --git a/www/seamonkey/files/patch-mozilla-dom-events-MessageEvent.h b/www/seamonkey/files/patch-mozilla-dom-events-MessageEvent.h
deleted file mode 100644
index 0d3fe474865a..000000000000
--- a/www/seamonkey/files/patch-mozilla-dom-events-MessageEvent.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- mozilla/dom/events/MessageEvent.h.orig 2015-11-04 02:56:28.000000000 +0100
-+++ mozilla/dom/events/MessageEvent.h 2016-01-24 16:47:37.869781000 +0100
-@@ -16,8 +16,6 @@
- namespace dom {
-
- struct MessageEventInit;
--class MessagePort;
--class MessagePortList;
- class OwningWindowProxyOrMessagePortOrClient;
-
- namespace workers {
diff --git a/www/seamonkey/files/patch-sample-type b/www/seamonkey/files/patch-sample-type
index fff99f4b1e3e..4e51c6ccf935 100644
--- a/www/seamonkey/files/patch-sample-type
+++ b/www/seamonkey/files/patch-sample-type
@@ -1,7 +1,7 @@
# Let ports handle default sample type
---- mozilla/configure.in~
-+++ mozilla/configure.in
+--- mozilla/old-configure.in~
++++ mozilla/old-configure.in
@@ -5144,7 +5144,7 @@ dnl Use integers over floats for audio o
dnl (regarless of the CPU architecture, because audio
dnl backends for those platforms don't support floats. We also
diff --git a/www/seamonkey/files/patch-z-bug517422 b/www/seamonkey/files/patch-z-bug517422
index 60c81dd58eae..984de749af89 100644
--- a/www/seamonkey/files/patch-z-bug517422
+++ b/www/seamonkey/files/patch-z-bug517422
@@ -1,21 +1,35 @@
# 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
+--- mozilla/build/moz.configure/old.configure
++++ mozilla/build/moz.configure/old.configure
+@@ -320,7 +320,12 @@ def old_configure_options(*options):
+ '--with-system-libvpx',
+ '--with-system-nspr',
+ '--with-system-nss',
++ '--with-system-ogg',
+ '--with-system-png',
++ '--with-system-soundtouch',
++ '--with-system-theora',
++ '--with-system-tremor',
++ '--with-system-vorbis',
+ '--with-system-zlib',
+ '--with-thumb',
+ '--with-thumb-interwork',
diff --git config/Makefile.in config/Makefile.in
index 5383399..0410004 100644
--- mozilla/config/Makefile.in
+++ mozilla/config/Makefile.in
-@@ -77,6 +77,14 @@ export:: $(export-preqs)
- -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \
- -DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \
- -DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \
-+ -DMOZ_NATIVE_OGG=$(MOZ_NATIVE_OGG) \
-+ -DMOZ_NATIVE_THEORA=$(MOZ_NATIVE_THEORA) \
-+ -DMOZ_NATIVE_VORBIS=$(MOZ_NATIVE_VORBIS) \
-+ -DMOZ_NATIVE_TREMOR=$(MOZ_NATIVE_TREMOR) \
-+ -DMOZ_NATIVE_CELT=$(MOZ_NATIVE_CELT) \
-+ -DMOZ_NATIVE_OPUS=$(MOZ_NATIVE_OPUS) \
-+ -DMOZ_NATIVE_SPEEX=$(MOZ_NATIVE_SPEEX) \
-+ -DMOZ_NATIVE_SOUNDTOUCH=$(MOZ_NATIVE_SOUNDTOUCH) \
+@@ -77,6 +77,11 @@ export:: $(export-preqs)
+ -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) \
++ -DMOZ_SYSTEM_TREMOR=$(MOZ_SYSTEM_TREMOR) \
++ -DMOZ_SYSTEM_SOUNDTOUCH=$(MOZ_SYSTEM_SOUNDTOUCH) \
$(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers
$(INSTALL) system_wrappers $(DIST)
@@ -23,45 +37,38 @@ diff --git config/external/moz.build config/external/moz.build
index f67c5c7..eb909ce 100644
--- mozilla/config/external/moz.build
+++ mozilla/config/external/moz.build
-@@ -19,10 +19,19 @@ if CONFIG['MOZ_UPDATER']:
+@@ -20,12 +20,21 @@ if CONFIG['MOZ_UPDATER']:
# There's no "native brotli" yet, but probably in the future...
external_dirs += ['modules/brotli']
-if CONFIG['MOZ_VORBIS']:
-+if not CONFIG['MOZ_NATIVE_OGG']:
++if not CONFIG['MOZ_SYSTEM_OGG']:
+ external_dirs += ['media/libogg']
+
-+if not CONFIG['MOZ_NATIVE_CELT'] or not CONFIG['MOZ_NATIVE_OPUS']:
-+ external_dirs += ['media/libopus']
-+
-+if not CONFIG['MOZ_NATIVE_THEORA']:
-+ external_dirs += ['media/libtheora']
-+
-+if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_NATIVE_VORBIS']:
++if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_SYSTEM_VORBIS']:
external_dirs += ['media/libvorbis']
-if CONFIG['MOZ_TREMOR']:
-+if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_NATIVE_TREMOR']:
++if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_SYSTEM_TREMOR']:
external_dirs += ['media/libtremor']
- if CONFIG['MOZ_WEBM']:
-@@ -37,15 +46,16 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ
- if not CONFIG['MOZ_NATIVE_PNG']:
- external_dirs += ['media/libpng']
-
-+if not CONFIG['MOZ_NATIVE_SPEEX']:
-+ external_dirs += ['media/libspeex_resampler']
++if not CONFIG['MOZ_SYSTEM_THEORA']:
++ external_dirs += ['media/libtheora']
+
-+if not CONFIG['MOZ_NATIVE_SOUNDTOUCH']:
++if not CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
+ external_dirs += ['media/libsoundtouch']
+
- external_dirs += [
+ if CONFIG['MOZ_WEBM_ENCODER']:
+ external_dirs += ['media/libmkv']
+
+@@ -51,12 +60,9 @@ external_dirs += [
'media/kiss_fft',
'media/libcubeb',
+ 'media/libnestegg',
- 'media/libogg',
-- 'media/libopus',
+ 'media/libopus',
- 'media/libtheora',
-- 'media/libspeex_resampler',
+ 'media/libspeex_resampler',
'media/libstagefright',
- 'media/libsoundtouch',
]
@@ -71,76 +78,42 @@ diff --git config/system-headers config/system-headers
index bef567c..9807c29 100644
--- mozilla/config/system-headers
+++ mozilla/config/system-headers
-@@ -1257,8 +1257,10 @@ X11/Xlocale.h
- X11/Xos.h
- X11/Xutil.h
- zmouse.h
-+#if MOZ_NATIVE_SOUNDTOUCH==1
- soundtouch/SoundTouch.h
- soundtouch/SoundTouchFactory.h
-+#endif
- #if MOZ_LIBAV_FFT==1
- libavcodec/avfft.h
- #endif
-@@ -1313,6 +1315,8 @@ vpx/vp8dx.h
- vpx_mem/vpx_mem.h
- #endif
- #ifdef GKMEDIAS_SHARED_LIBRARY
-+soundtouch/SoundTouch.h
-+soundtouch/SoundTouchFactory.h
- vpx/vpx_codec.h
- vpx/vpx_decoder.h
- vpx/vpx_encoder.h
-@@ -1364,3 +1363,32 @@ graphite2/Segment.h
+@@ -1364,3 +1363,17 @@ graphite2/Segment.h
harfbuzz/hb-ot.h
harfbuzz/hb.h
#endif
-+#if MOZ_NATIVE_OGG==1
++#if MOZ_SYSTEM_OGG==1
+ogg/ogg.h
+ogg/os_types.h
+#endif
-+#if MOZ_NATIVE_THEORA==1
++#if MOZ_SYSTEM_THEORA==1
+theora/theoradec.h
+#endif
-+#if MOZ_NATIVE_VORBIS==1
++#if MOZ_SYSTEM_VORBIS==1
+vorbis/codec.h
+vorbis/vorbisenc.h
+#endif
-+#if MOZ_NATIVE_TREMOR==1
++#if MOZ_SYSTEM_TREMOR==1
+tremor/ivorbiscodec.h
+#endif
-+#if MOZ_NATIVE_CELT==1
-+celt.h
-+celt_header.h
-+celt/celt.h
-+celt/celt_header.h
-+#endif
-+#if MOZ_NATIVE_OPUS==1
-+opus.h
-+opus_multistream.h
-+opus/opus.h
-+opus/opus_multistream.h
-+#endif
-+#if MOZ_NATIVE_SPEEX==1
-+speex/speex_resampler.h
-+#endif
-diff --git configure.in configure.in
+diff --git old-configure.in configure.in
index 87db361..7947626 100644
---- mozilla/configure.in
-+++ mozilla/configure.in
-@@ -5223,6 +5223,160 @@ if test "${ac_cv_c_attribute_aligned}" !
+--- mozilla/old-configure.in
++++ mozilla/old-configure.in
+@@ -5401,6 +5401,111 @@ if test -n "$MOZ_OMX_PLUGIN"; then
+ fi
fi
- dnl ========================================================
++dnl ========================================================
+dnl Check for libogg
+dnl ========================================================
+
+MOZ_ARG_WITH_BOOL(system-ogg,
+[ --with-system-ogg Use system libogg (located with pkgconfig)],
-+MOZ_NATIVE_OGG=1,
-+MOZ_NATIVE_OGG=)
++MOZ_SYSTEM_OGG=1,
++MOZ_SYSTEM_OGG=)
+
-+if test -n "$MOZ_NATIVE_OGG"; then
++if test -n "$MOZ_SYSTEM_OGG"; then
+ PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.2.1)
+
+ _SAVE_LIBS=$LIBS
@@ -150,7 +123,7 @@ index 87db361..7947626 100644
+ LIBS=$_SAVE_LIBS
+fi
+
-+AC_SUBST(MOZ_NATIVE_OGG)
++AC_SUBST(MOZ_SYSTEM_OGG)
+
+dnl ========================================================
+dnl Check for libvorbis
@@ -158,14 +131,14 @@ index 87db361..7947626 100644
+
+MOZ_ARG_WITH_BOOL(system-vorbis,
+[ --with-system-vorbis Use system libvorbis (located with pkgconfig)],
-+MOZ_NATIVE_VORBIS=1,
-+MOZ_NATIVE_VORBIS=)
++MOZ_SYSTEM_VORBIS=1,
++MOZ_SYSTEM_VORBIS=)
+
-+if test -n "$MOZ_NATIVE_VORBIS"; then
++if test -n "$MOZ_SYSTEM_VORBIS"; then
+ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.5)
+fi
+
-+AC_SUBST(MOZ_NATIVE_VORBIS)
++AC_SUBST(MOZ_SYSTEM_VORBIS)
+
+dnl ========================================================
+dnl Check for integer-only libvorbis aka tremor
@@ -173,48 +146,14 @@ index 87db361..7947626 100644
+
+MOZ_ARG_WITH_BOOL(system-tremor,
+[ --with-system-tremor Use system libtremor (located with pkgconfig)],
-+MOZ_NATIVE_TREMOR=1,
-+MOZ_NATIVE_TREMOR=)
++MOZ_SYSTEM_TREMOR=1,
++MOZ_SYSTEM_TREMOR=)
+
-+if test -n "$MOZ_NATIVE_TREMOR"; then
++if test -n "$MOZ_SYSTEM_TREMOR"; then
+ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1)
+fi
+
-+AC_SUBST(MOZ_NATIVE_TREMOR)
-+
-+dnl ========================================================
-+dnl Check for libcelt
-+dnl ========================================================
-+
-+MOZ_ARG_WITH_BOOL(system-celt,
-+[ --with-system-celt Use system libcelt (located with pkgconfig)],
-+MOZ_NATIVE_CELT=1,
-+MOZ_NATIVE_CELT=)
-+
-+if test -n "$MOZ_NATIVE_CELT"; then
-+ PKG_CHECK_MODULES(MOZ_CELT, celt)
-+else
-+ MOZ_CELT_CFLAGS='-I$(topsrcdir)/media/libopus'
-+fi
-+
-+AC_SUBST(MOZ_NATIVE_CELT)
-+
-+dnl ========================================================
-+dnl Check for libopus
-+dnl ========================================================
-+
-+MOZ_ARG_WITH_BOOL(system-opus,
-+[ --with-system-opus Use system libopus (located with pkgconfig)],
-+MOZ_NATIVE_OPUS=1,
-+MOZ_NATIVE_OPUS=)
-+
-+if test -n "$MOZ_NATIVE_OPUS"; then
-+ PKG_CHECK_MODULES(MOZ_OPUS, opus >= 1.1)
-+else
-+ MOZ_OPUS_CFLAGS='-I$(topsrcdir)/media/libopus/include'
-+fi
-+
-+AC_SUBST(MOZ_NATIVE_OPUS)
++AC_SUBST(MOZ_SYSTEM_TREMOR)
+
+dnl ========================================================
+dnl Check for libtheora
@@ -222,29 +161,14 @@ index 87db361..7947626 100644
+
+MOZ_ARG_WITH_BOOL(system-theora,
+[ --with-system-theora Use system libtheora (located with pkgconfig)],
-+MOZ_NATIVE_THEORA=1,
-+MOZ_NATIVE_THEORA=)
++MOZ_SYSTEM_THEORA=1,
++MOZ_SYSTEM_THEORA=)
+
-+if test -n "$MOZ_NATIVE_THEORA"; then
++if test -n "$MOZ_SYSTEM_THEORA"; then
+ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2)
+fi
+
-+AC_SUBST(MOZ_NATIVE_THEORA)
-+
-+dnl ========================================================
-+dnl Check for libspeex resampler
-+dnl ========================================================
-+
-+MOZ_ARG_WITH_BOOL(system-speex,
-+[ --with-system-speex Use system libspeex (located with pkgconfig)],
-+MOZ_NATIVE_SPEEX=1,
-+MOZ_NATIVE_SPEEX=)
-+
-+if test -n "$MOZ_NATIVE_SPEEX"; then
-+ PKG_CHECK_MODULES(MOZ_SPEEX, speexdsp >= 1.2)
-+fi
-+
-+AC_SUBST(MOZ_NATIVE_SPEEX)
++AC_SUBST(MOZ_SYSTEM_THEORA)
+
+dnl ========================================================
+dnl Check for libSoundTouch
@@ -252,10 +176,10 @@ index 87db361..7947626 100644
+
+MOZ_ARG_WITH_BOOL(system-soundtouch,
+[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)],
-+MOZ_NATIVE_SOUNDTOUCH=1,
-+MOZ_NATIVE_SOUNDTOUCH=)
++MOZ_SYSTEM_SOUNDTOUCH=1,
++MOZ_SYSTEM_SOUNDTOUCH=)
+
-+if test -n "$MOZ_NATIVE_SOUNDTOUCH"; then
++if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
+ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0)
+
+ AC_LANG_SAVE
@@ -280,34 +204,33 @@ index 87db361..7947626 100644
+ fi
+fi
+
-+if test -n "$MOZ_NATIVE_SOUNDTOUCH"; then
-+ AC_DEFINE(MOZ_NATIVE_SOUNDTOUCH)
++if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
++ AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH)
+fi
-+AC_SUBST(MOZ_NATIVE_SOUNDTOUCH)
++AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH)
+
-+dnl ========================================================
- dnl = Disable VP8 decoder support
+ dnl system libvpx Support
dnl ========================================================
- MOZ_ARG_DISABLE_BOOL(webm,
+ MOZ_ARG_WITH_BOOL(system-libvpx,
diff --git dom/media/AudioStream.cpp dom/media/AudioStream.cpp
index 2127256..1ec09fe 100644
--- mozilla/dom/media/AudioStream.cpp
+++ mozilla/dom/media/AudioStream.cpp
-@@ -129,7 +129,9 @@ AudioStream::AudioStream()
+@@ -125,7 +125,9 @@ AudioStream::AudioStream(DataSource& aSo
+ , mOutRate(0)
+ , mChannels(0)
, mOutChannels(0)
- , mWritten(0)
- , mAudioClock(this)
-+#ifndef MOZ_NATIVE_SOUNDTOUCH
++#ifndef MOZ_SYSTEM_SOUNDTOUCH
, mTimeStretcher(nullptr)
+#endif
, mDumpFile(nullptr)
- , mBytesPerFrame(0)
, mState(INITIALIZED)
+ , mDataSource(aSource)
@@ -152,9 +154,11 @@ AudioStream::~AudioStream()
if (mDumpFile) {
fclose(mDumpFile);
}
-+#ifndef MOZ_NATIVE_SOUNDTOUCH
++#ifndef MOZ_SYSTEM_SOUNDTOUCH
if (mTimeStretcher) {
soundtouch::destroySoundTouchObj(mTimeStretcher);
}
@@ -319,7 +242,7 @@ index 2127256..1ec09fe 100644
{
mMonitor.AssertCurrentThreadOwns();
if (!mTimeStretcher) {
-+#ifdef MOZ_NATIVE_SOUNDTOUCH
++#ifdef MOZ_SYSTEM_SOUNDTOUCH
+ mTimeStretcher = new soundtouch::SoundTouch();
+#else
mTimeStretcher = soundtouch::createSoundTouchObj();
@@ -335,7 +258,7 @@ index a552e3e..02b80b1 100644
#include "mozilla/RefPtr.h"
#include "mozilla/UniquePtr.h"
#include "CubebUtils.h"
-+#ifdef MOZ_NATIVE_SOUNDTOUCH
++#ifdef MOZ_SYSTEM_SOUNDTOUCH
+#include "soundtouch/SoundTouch.h"
+#else
#include "soundtouch/SoundTouchFactory.h"
@@ -347,7 +270,7 @@ index a552e3e..02b80b1 100644
// Number of frames written to the buffers.
int64_t mWritten;
AudioClock mAudioClock;
-+#ifdef MOZ_NATIVE_SOUNDTOUCH
++#ifdef MOZ_SYSTEM_SOUNDTOUCH
+ nsAutoPtr<soundtouch::SoundTouch> mTimeStretcher;
+#else
soundtouch::SoundTouch* mTimeStretcher;
@@ -359,45 +282,28 @@ diff --git dom/media/moz.build dom/media/moz.build
index 7526cff..e0a0ca0 100644
--- mozilla/dom/media/moz.build
+++ mozilla/dom/media/moz.build
-@@ -212,3 +212,24 @@ if CONFIG['ANDROID_VERSION'] > '15':
+@@ -300,6 +300,21 @@ if CONFIG['MOZ_WEBRTC']:
- CFLAGS += CONFIG['GSTREAMER_CFLAGS']
- CXXFLAGS += CONFIG['GSTREAMER_CFLAGS']
-+
-+if CONFIG['MOZ_NATIVE_OGG']:
+ DEFINES['MOZILLA_INTERNAL_API'] = True
+
++if CONFIG['MOZ_SYSTEM_OGG']:
+ CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS']
+
-+if CONFIG['MOZ_NATIVE_THEORA']:
++if CONFIG['MOZ_SYSTEM_THEORA']:
+ CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS']
+
-+if CONFIG['MOZ_NATIVE_VORBIS']:
++if CONFIG['MOZ_SYSTEM_VORBIS']:
+ CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS']
+
-+if CONFIG['MOZ_NATIVE_TREMOR']:
++if CONFIG['MOZ_SYSTEM_TREMOR']:
+ CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS']
+
-+if CONFIG['MOZ_NATIVE_OPUS']:
-+ CXXFLAGS += CONFIG['MOZ_OPUS_CFLAGS']
-+
-+if CONFIG['MOZ_NATIVE_SPEEX']:
-+ CXXFLAGS += CONFIG['MOZ_SPEEX_CFLAGS']
-+
-+if CONFIG['MOZ_NATIVE_SOUNDTOUCH']:
++if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
+ CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS']
-diff --git media/libcubeb/src/moz.build media/libcubeb/src/moz.build
-index 944744d..9a7c8c0 100644
---- mozilla/media/libcubeb/src/moz.build
-+++ mozilla/media/libcubeb/src/moz.build
-@@ -65,6 +65,9 @@ if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
-
- FINAL_LIBRARY = 'gkmedias'
-
-+if CONFIG['MOZ_NATIVE_SPEEX']:
-+ SOURCES['cubeb_resampler.cpp'].flags += CONFIG['MOZ_SPEEX_CFLAGS']
+
- if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
- CFLAGS += [
- '-I%s/%s' % (CONFIG['ANDROID_SOURCE'], d) for d in [
+ if CONFIG['OS_TARGET'] == 'WINNT':
+ DEFINES['WEBRTC_WIN'] = True
+ else:
diff --git media/libogg/README_MOZILLA media/libogg/README_MOZILLA
index 0833e4d..7ece97b 100644
--- mozilla/media/libogg/README_MOZILLA
@@ -408,18 +314,7 @@ index 0833e4d..7ece97b 100644
449754
+
+The in-tree copy may be omitted during build by --with-system-ogg.
-+Keep version in configure.in in sync on updates.
-diff --git media/libopus/README_MOZILLA media/libopus/README_MOZILLA
-index 2d85c9f..d3fb9f8 100644
---- mozilla/media/libopus/README_MOZILLA
-+++ mozilla/media/libopus/README_MOZILLA
-@@ -9,3 +9,6 @@ files after the copy step.
- The upstream repository is https://git.xiph.org/opus.git
-
- The git tag/revision used was v1.1.
-+
-+The in-tree copy may be omitted during build by --with-system-opus.
-+So, keep its pkg-config version check within configure.in in sync on updates.
++Keep version in old-configure.in in sync on updates.
diff --git media/libsoundtouch/README_MOZILLA media/libsoundtouch/README_MOZILLA
index bfd4b1a..15b158d 100644
--- mozilla/media/libsoundtouch/README_MOZILLA
@@ -429,7 +324,7 @@ index bfd4b1a..15b158d 100644
the patch `moz-libsoundtouch.patch`. We also use a custom soundtouch_config.h.
+The in-tree copy may be omitted during build by --with-system-soundtouch.
-+Keep version in configure.in in sync on updates.
++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
--- mozilla/media/libsoundtouch/src/soundtouch_perms.h
@@ -438,23 +333,12 @@ index 0af2fe6..d80c145 100644
#pragma GCC visibility push(default)
#include "SoundTouch.h"
-+#ifndef MOZ_NATIVE_SOUNDTOUCH
++#ifndef MOZ_SYSTEM_SOUNDTOUCH
#include "SoundTouchFactory.h"
+#endif
#pragma GCC visibility pop
#endif // MOZILLA_SOUNDTOUCH_PERMS_H
-diff --git media/libspeex_resampler/README_MOZILLA media/libspeex_resampler/README_MOZILLA
-index 7f6b1bb..e830300 100644
---- mozilla/media/libspeex_resampler/README_MOZILLA
-+++ mozilla/media/libspeex_resampler/README_MOZILLA
-@@ -3,3 +3,6 @@ This source is from the Speex DSP library
-
- It consists in the audio resampling code (resampler.c) and its header files
- dependancies, imported into the tree using the update.sh script.
-+
-+The in-tree copy may be omitted during build by --with-system-speex.
-+Keep version in configure.in in sync on updates.
diff --git media/libtheora/README_MOZILLA media/libtheora/README_MOZILLA
index d48dbfa..f08a2ed 100644
--- mozilla/media/libtheora/README_MOZILLA
@@ -465,7 +349,7 @@ index d48dbfa..f08a2ed 100644
The subversion revision used was r17578.
+
+The in-tree copy may be omitted during build by --with-system-theora.
-+Keep version in configure.in in sync on updates.
++Keep version in old-configure.in in sync on updates.
diff --git media/libtheora/moz.build media/libtheora/moz.build
index 14265b1..3069e99 100644
--- mozilla/media/libtheora/moz.build
@@ -474,7 +358,7 @@ index 14265b1..3069e99 100644
# The encoder is currently not included.
DEFINES['THEORA_DISABLE_ENCODE'] = True
-+if CONFIG['MOZ_NATIVE_OGG']:
++if CONFIG['MOZ_SYSTEM_OGG']:
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
+
# Suppress warnings in third-party code.
@@ -490,7 +374,7 @@ index ee67b53..3f34a09 100644
The subversion revision used was r17547.
+
+The in-tree copy may be omitted during build by --with-system-tremor.
-+Keep version in configure.in in sync on updates.
++Keep version in old-configure.in in sync on updates.
diff --git media/libtremor/moz.build media/libtremor/moz.build
index 31831ba..a03d576 100644
--- mozilla/media/libtremor/moz.build
@@ -499,7 +383,7 @@ index 31831ba..a03d576 100644
DIRS += ['include/tremor', 'lib']
-+if CONFIG['MOZ_NATIVE_OGG']:
++if CONFIG['MOZ_SYSTEM_OGG']:
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
diff --git media/libvorbis/README_MOZILLA media/libvorbis/README_MOZILLA
index 7c7454c..55baedd 100644
@@ -511,7 +395,7 @@ index 7c7454c..55baedd 100644
file names with other Mozilla libraries.
+
+The in-tree copy may be omitted during build by --with-system-vorbis.
-+Keep version in configure.in in sync on updates.
++Keep version in old-configure.in in sync on updates.
diff --git media/libvorbis/moz.build media/libvorbis/moz.build
index 919b99e..cc776f7 100644
--- mozilla/media/libvorbis/moz.build
@@ -521,110 +405,32 @@ index 919b99e..cc776f7 100644
if CONFIG['GNU_CC']:
CFLAGS += ['-Wno-uninitialized']
+
-+if CONFIG['MOZ_NATIVE_OGG']:
++if CONFIG['MOZ_SYSTEM_OGG']:
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
-diff --git media/webrtc/signaling/test/common.build media/webrtc/signaling/test/common.build
-index bbc971c..6ed7e41 100644
---- mozilla/media/webrtc/signaling/test/common.build
-+++ mozilla/media/webrtc/signaling/test/common.build
-@@ -108,6 +109,9 @@ if CONFIG['MOZ_OSS']:
- if CONFIG['MOZ_NATIVE_JPEG']:
- OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
-
-+if CONFIG['MOZ_NATIVE_OPUS']:
-+ OS_LIBS += CONFIG['MOZ_OPUS_LIBS']
-+
- if CONFIG['MOZ_NATIVE_LIBVPX']:
- OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS']
-
-diff --git media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi
-index 00e77e7..55f48ab 100644
---- mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi
-+++ mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi
-@@ -17,18 +17,11 @@
- 'conditions': [
- ['build_with_mozilla==1', {
- # Mozilla provides its own build of the opus library.
-- 'include_dirs': [
-- '/media/libopus/include',
-- '/media/libopus/src',
-- '/media/libopus/celt',
-+ 'cflags_mozilla': [
-+ '$(filter -I%, $(MOZ_CELT_CFLAGS))/celt',
-+ '$(MOZ_OPUS_CFLAGS)',
-+ '$(filter -I%, $(MOZ_OPUS_CFLAGS))/../src',
- ],
-- 'direct_dependent_settings': {
-- 'include_dirs': [
-- '/media/libopus/include',
-- '/media/libopus/src',
-- '/media/libopus/celt',
-- ],
-- },
- }, {
- 'dependencies': [
- '<(DEPTH)/third_party/opus/opus.gyp:opus'
-diff --git media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi
-index 00e77e7..55f48ab 100644
---- mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi
-+++ mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi
-@@ -84,19 +84,11 @@
- ],
- }],
- ['build_with_mozilla==1', {
-- 'include_dirs': [
-- # Need Opus header files for the audio classifier.
-- '<(DEPTH)/../../../media/opus/celt',
--# '<(DEPTH)/third_party/opus/src/src',
-+ 'cflags_mozilla': [
-+ '$(filter -I%, $(MOZ_CELT_CFLAGS))/celt',
-+ '$(MOZ_OPUS_CFLAGS)',
-+ '$(filter -I%, $(MOZ_OPUS_CFLAGS))/../src',
- ],
-- 'direct_dependent_settings': {
-- 'include_dirs': [
-- '../../../../../../media/opus/celt',
-- # Need Opus header files for the audio classifier.
-- '<(DEPTH)/../../../media/opus/celt',
--# '<(DEPTH)/third_party/opus/src/src',
-- ],
-- },
- }],
- ],
- 'sources': [
diff --git toolkit/library/moz.build toolkit/library/moz.build
index d42137a..695e75a8 100644
--- mozilla/toolkit/library/moz.build
+++ mozilla/toolkit/library/moz.build
-@@ -178,6 +178,30 @@ if CONFIG['MOZ_NATIVE_PNG']:
- if CONFIG['MOZ_NATIVE_HUNSPELL']:
+@@ -178,6 +178,21 @@ if CONFIG['MOZ_SYSTEM_PNG']:
+ if CONFIG['MOZ_SYSTEM_HUNSPELL']:
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
-+if CONFIG['MOZ_NATIVE_OGG']:
++if CONFIG['MOZ_SYSTEM_OGG']:
+ OS_LIBS += CONFIG['MOZ_OGG_LIBS']
+
-+if CONFIG['MOZ_NATIVE_THEORA']:
++if CONFIG['MOZ_SYSTEM_THEORA']:
+ OS_LIBS += CONFIG['MOZ_THEORA_LIBS']
+
-+if CONFIG['MOZ_NATIVE_VORBIS']:
++if CONFIG['MOZ_SYSTEM_VORBIS']:
+ OS_LIBS += CONFIG['MOZ_VORBIS_LIBS']
+
-+if CONFIG['MOZ_NATIVE_TREMOR']:
++if CONFIG['MOZ_SYSTEM_TREMOR']:
+ OS_LIBS += CONFIG['MOZ_TREMOR_LIBS']
+
-+if CONFIG['MOZ_NATIVE_CELT']:
-+ OS_LIBS += CONFIG['MOZ_CELT_LIBS']
-+
-+if CONFIG['MOZ_NATIVE_OPUS']:
-+ OS_LIBS += CONFIG['MOZ_OPUS_LIBS']
-+
-+if CONFIG['MOZ_NATIVE_SPEEX']:
-+ OS_LIBS += CONFIG['MOZ_SPEEX_LIBS']
-+
-+if CONFIG['MOZ_NATIVE_SOUNDTOUCH']:
++if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
+ OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS']
+
- if CONFIG['MOZ_NATIVE_LIBEVENT']:
+ if CONFIG['MOZ_SYSTEM_LIBEVENT']:
OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
diff --git xpcom/build/XPCOMInit.cpp xpcom/build/XPCOMInit.cpp