aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MOVED4
-rw-r--r--Mk/bsd.gecko.mk100
-rw-r--r--UPDATING22
-rw-r--r--mail/Makefile4
-rw-r--r--mail/enigmail-seamonkey/Makefile16
-rw-r--r--mail/enigmail-thunderbird-esr/Makefile20
-rw-r--r--mail/enigmail-thunderbird/Makefile16
-rw-r--r--mail/enigmail/Makefile108
-rw-r--r--mail/enigmail/distinfo2
-rw-r--r--mail/enigmail/pkg-descr10
-rw-r--r--mail/linux-thunderbird/Makefile2
-rw-r--r--mail/linux-thunderbird/distinfo4
-rw-r--r--mail/thunderbird-esr-i18n/Makefile2
-rw-r--r--mail/thunderbird-esr-i18n/distinfo100
-rw-r--r--mail/thunderbird-esr/Makefile71
-rw-r--r--mail/thunderbird-esr/distinfo6
-rw-r--r--mail/thunderbird-esr/files/patch-bug35118128
-rw-r--r--mail/thunderbird-esr/files/patch-bug54324111
-rw-r--r--mail/thunderbird-esr/files/patch-bug7530463
-rw-r--r--mail/thunderbird-esr/files/patch-bug78147411
-rw-r--r--mail/thunderbird-esr/files/patch-bug785638168
-rw-r--r--mail/thunderbird-esr/files/patch-bug78810820
-rw-r--r--mail/thunderbird-esr/files/patch-bug78943627
-rw-r--r--mail/thunderbird-esr/files/patch-bug789693108
-rw-r--r--mail/thunderbird-esr/files/patch-bug791305107
-rw-r--r--mail/thunderbird-esr/files/patch-bug791366124
-rw-r--r--mail/thunderbird-esr/files/patch-clang32-libc++-visibility-hack57
-rw-r--r--mail/thunderbird-esr/files/patch-clang32-visibility-hack30
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-extensions-spellcheck-hunspell-src-mozHunspell.cpp15
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla_toolkit_xre_glxtest.cpp25
-rw-r--r--mail/thunderbird-i18n/Makefile4
-rw-r--r--mail/thunderbird-i18n/distinfo168
-rw-r--r--mail/thunderbird/Makefile71
-rw-r--r--mail/thunderbird/distinfo6
-rw-r--r--mail/thunderbird/files/extra-bug78053110
-rw-r--r--mail/thunderbird/files/patch-bug35118131
-rw-r--r--mail/thunderbird/files/patch-bug54324111
-rw-r--r--mail/thunderbird/files/patch-bug72386054
-rw-r--r--mail/thunderbird/files/patch-bug75304654
-rw-r--r--mail/thunderbird/files/patch-bug75945924
-rw-r--r--mail/thunderbird/files/patch-bug76089954
-rw-r--r--mail/thunderbird/files/patch-bug76103025
-rw-r--r--mail/thunderbird/files/patch-bug76141922
-rw-r--r--mail/thunderbird/files/patch-bug77467131
-rw-r--r--mail/thunderbird/files/patch-bug7780564
-rw-r--r--mail/thunderbird/files/patch-bug7780784
-rw-r--r--mail/thunderbird/files/patch-bug78147411
-rw-r--r--mail/thunderbird/files/patch-bug78477617
-rw-r--r--mail/thunderbird/files/patch-bug785638168
-rw-r--r--mail/thunderbird/files/patch-bug78810820
-rw-r--r--mail/thunderbird/files/patch-bug788955309
-rw-r--r--mail/thunderbird/files/patch-bug78943627
-rw-r--r--mail/thunderbird/files/patch-bug78965611
-rw-r--r--mail/thunderbird/files/patch-bug789693109
-rw-r--r--mail/thunderbird/files/patch-bug791305107
-rw-r--r--mail/thunderbird/files/patch-bug79136695
-rw-r--r--mail/thunderbird/files/patch-config-baseconfig.mk16
-rw-r--r--mail/thunderbird/files/patch-mozilla-config_autoconf.mk.in22
-rw-r--r--mail/thunderbird/files/patch-mozilla-content-media-nsAudioStream.cpp14
-rw-r--r--mail/thunderbird/files/patch-mozilla-extensions-spellcheck-hunspell-src-mozHunspell.cpp15
-rw-r--r--mail/thunderbird/files/patch-mozilla_toolkit_xre_glxtest.cpp25
-rw-r--r--security/ca_root_nss/Makefile7
-rw-r--r--security/nss/Makefile1
-rw-r--r--security/nss/files/nss-config.in2
-rw-r--r--security/nss/files/patch-..::coreconf::ruleset.mk11
-rw-r--r--security/vuxml/vuln.xml108
-rw-r--r--www/firefox-esr-i18n/Makefile2
-rw-r--r--www/firefox-esr-i18n/distinfo328
-rw-r--r--www/firefox-esr/Makefile5
-rw-r--r--www/firefox-esr/distinfo4
-rw-r--r--www/firefox-esr/files/patch-bug35118131
-rw-r--r--www/firefox-esr/files/patch-bug54324111
-rw-r--r--www/firefox-esr/files/patch-bug69603034
-rw-r--r--www/firefox-esr/files/patch-bug713802176
-rw-r--r--www/firefox-esr/files/patch-bug7530463
-rw-r--r--www/firefox-esr/files/patch-bug78147411
-rw-r--r--www/firefox-esr/files/patch-bug785638168
-rw-r--r--www/firefox-esr/files/patch-bug78810820
-rw-r--r--www/firefox-esr/files/patch-bug78943627
-rw-r--r--www/firefox-esr/files/patch-bug789693108
-rw-r--r--www/firefox-esr/files/patch-bug791305107
-rw-r--r--www/firefox-esr/files/patch-bug791366124
-rw-r--r--www/firefox-esr/files/patch-clang32-libc++-visibility-hack38
-rw-r--r--www/firefox-esr/files/patch-clang32-visibility-hack20
-rw-r--r--www/firefox-esr/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp15
-rw-r--r--www/firefox-esr/pkg-message4
-rw-r--r--www/firefox-i18n/Makefile4
-rw-r--r--www/firefox-i18n/distinfo328
-rw-r--r--www/firefox/Makefile8
-rw-r--r--www/firefox/Makefile.options10
-rw-r--r--www/firefox/distinfo4
-rw-r--r--www/firefox/files/extra-bug78053110
-rw-r--r--www/firefox/files/patch-bug35118131
-rw-r--r--www/firefox/files/patch-bug54324111
-rw-r--r--www/firefox/files/patch-bug713802176
-rw-r--r--www/firefox/files/patch-bug72386054
-rw-r--r--www/firefox/files/patch-bug75289571
-rw-r--r--www/firefox/files/patch-bug75304654
-rw-r--r--www/firefox/files/patch-bug75945924
-rw-r--r--www/firefox/files/patch-bug76089954
-rw-r--r--www/firefox/files/patch-bug76103025
-rw-r--r--www/firefox/files/patch-bug76141922
-rw-r--r--www/firefox/files/patch-bug77467131
-rw-r--r--www/firefox/files/patch-bug7780564
-rw-r--r--www/firefox/files/patch-bug7780784
-rw-r--r--www/firefox/files/patch-bug78147411
-rw-r--r--www/firefox/files/patch-bug78477617
-rw-r--r--www/firefox/files/patch-bug785638168
-rw-r--r--www/firefox/files/patch-bug78810820
-rw-r--r--www/firefox/files/patch-bug788955309
-rw-r--r--www/firefox/files/patch-bug78943627
-rw-r--r--www/firefox/files/patch-bug78965611
-rw-r--r--www/firefox/files/patch-bug789693109
-rw-r--r--www/firefox/files/patch-bug791305107
-rw-r--r--www/firefox/files/patch-bug79136695
-rw-r--r--www/firefox/files/patch-config-baseconfig.mk16
-rw-r--r--www/firefox/files/patch-content-media-nsAudioStream.cpp14
-rw-r--r--www/firefox/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp15
-rw-r--r--www/firefox/files/pkg-deinstall.in (renamed from www/seamonkey/pkg-deinstall.in)0
-rw-r--r--www/firefox/files/pkg-install.in (renamed from www/seamonkey/pkg-install.in)0
-rw-r--r--www/firefox/pkg-message4
-rw-r--r--www/kompozer/Makefile3
-rw-r--r--www/libxul/Makefile6
-rw-r--r--www/libxul/distinfo4
-rw-r--r--www/libxul/files/patch-bug54324111
-rw-r--r--www/libxul/files/patch-bug69603034
-rw-r--r--www/libxul/files/patch-bug713802176
-rw-r--r--www/libxul/files/patch-bug7530463
-rw-r--r--www/libxul/files/patch-bug785638168
-rw-r--r--www/libxul/files/patch-bug789693108
-rw-r--r--www/libxul/files/patch-bug791305107
-rw-r--r--www/libxul/files/patch-bug791366124
-rw-r--r--www/libxul/files/patch-clang32-libc++-visibility-hack38
-rw-r--r--www/libxul/files/patch-clang32-visibility-hack20
-rw-r--r--www/libxul/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp15
-rw-r--r--www/libxul19/Makefile6
-rw-r--r--www/libxul19/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp15
-rw-r--r--www/linux-firefox/Makefile2
-rw-r--r--www/linux-firefox/distinfo4
-rw-r--r--www/linux-seamonkey/Makefile2
-rw-r--r--www/linux-seamonkey/distinfo4
-rw-r--r--www/seamonkey-i18n/Makefile4
-rw-r--r--www/seamonkey-i18n/distinfo92
-rw-r--r--www/seamonkey/Makefile77
-rw-r--r--www/seamonkey/distinfo6
-rw-r--r--www/seamonkey/files/extra-bug78053110
-rw-r--r--www/seamonkey/files/patch-bug35118131
-rw-r--r--www/seamonkey/files/patch-bug54324111
-rw-r--r--www/seamonkey/files/patch-bug713802201
-rw-r--r--www/seamonkey/files/patch-bug72386054
-rw-r--r--www/seamonkey/files/patch-bug75304654
-rw-r--r--www/seamonkey/files/patch-bug75945924
-rw-r--r--www/seamonkey/files/patch-bug76089954
-rw-r--r--www/seamonkey/files/patch-bug76103025
-rw-r--r--www/seamonkey/files/patch-bug76141922
-rw-r--r--www/seamonkey/files/patch-bug77467131
-rw-r--r--www/seamonkey/files/patch-bug7780564
-rw-r--r--www/seamonkey/files/patch-bug7780784
-rw-r--r--www/seamonkey/files/patch-bug78147411
-rw-r--r--www/seamonkey/files/patch-bug78477617
-rw-r--r--www/seamonkey/files/patch-bug785638168
-rw-r--r--www/seamonkey/files/patch-bug78810820
-rw-r--r--www/seamonkey/files/patch-bug788955309
-rw-r--r--www/seamonkey/files/patch-bug78943627
-rw-r--r--www/seamonkey/files/patch-bug78965611
-rw-r--r--www/seamonkey/files/patch-bug789693109
-rw-r--r--www/seamonkey/files/patch-bug791305107
-rw-r--r--www/seamonkey/files/patch-bug79136695
-rw-r--r--www/seamonkey/files/patch-config-autoconf.mk.in (renamed from www/firefox/files/patch-config_autoconf.mk.in)0
-rw-r--r--www/seamonkey/files/patch-config-baseconfig.mk16
-rw-r--r--www/seamonkey/files/patch-config_autoconf.mk.in21
-rw-r--r--www/seamonkey/files/patch-mozilla-content-media-nsAudioStream.cpp14
-rw-r--r--www/seamonkey/files/patch-mozilla-extensions-spellcheck-hunspell-src-mozHunspell.cpp15
173 files changed, 5347 insertions, 3120 deletions
diff --git a/MOVED b/MOVED
index e38011ece544..c5ca52d42fd9 100644
--- a/MOVED
+++ b/MOVED
@@ -3717,3 +3717,7 @@ www/jakarta-jmeter|www/jmeter|2012-09-25|Former Jakarta projects now live on the
www/smarty|www/smarty2|2012-09-26|Renamed to prepare for addition of Smarty 3.x to the tree
devel/p5-Devel-Mallinfo||2012-10-08|Has expired: Does not work on FreeBSD, mallinfo() is a GNU libc function and is not available on FreeBSD
multimedia/vdpau-video|multimedia/libva-vdpau-driver|2012-10-09|Project renamed
+mail/enigmail||2012-10-10|Enigmail is now an option in the thunderbird/seamonkey port
+mail/enigmail-seamonkey||2012-10-10|Enigmail is now an option in the seamonkey port
+mail/enigmail-thunderbird||2012-10-10|Enigmail is now an option in the thunderbird port
+mail/enigmail-thunderbird-esr||2012-10-10|Enigmail is now an option in the thunderbird-esr port
diff --git a/Mk/bsd.gecko.mk b/Mk/bsd.gecko.mk
index 4110956b3af5..c7763c4e1bb2 100644
--- a/Mk/bsd.gecko.mk
+++ b/Mk/bsd.gecko.mk
@@ -79,8 +79,8 @@ Gecko_Pre_Include= bsd.gecko.mk
_GECKO_ALL= libxul libxul19
-libxul_PLIST= ${LOCALBASE}/lib/libxul/libxul.so
-libxul19_PLIST= ${LOCALBASE}/lib/libxul/libxul.so
+libxul_PLIST= libxul>=10
+libxul19_PLIST= libxul<2
.for gecko in ${_GECKO_ALL}
${gecko}_PORTSDIR?= www
@@ -179,7 +179,7 @@ Gecko_Pre_Include= bsd.gecko.mk
# is given by the maintainer via the port or by the
# user via defined variable try to find the highest
# stable installed version.
-# Available values: yes 10+ 15+ 10 15+
+# Available values: yes 10+ 16+ 10 16+
# NOTE:
# default value 10 is used in case of USE_FIREFOX=yes
#
@@ -190,9 +190,9 @@ Gecko_Pre_Include= bsd.gecko.mk
# version is given by the maintainer via the port
# or by the user via defined variable try to find
# the highest stable installed version.
-# Available values: yes 12+ 12
+# Available values: yes 13+ 13
# NOTE:
-# default value 12 is used in case of USE_SEAMONKEY=yes
+# default value 13 is used in case of USE_SEAMONKEY=yes
#
# USE_SEAMONKEY_BUILD Add buildtime dependency on SeaMonkey.
# Available values: see USE_SEAMONKEY
@@ -201,7 +201,7 @@ Gecko_Pre_Include= bsd.gecko.mk
# version is given by the maintainer via the port
# or by the user via defined variable try to find
# the highest stable installed version.
-# Available values: yes 10+ 15+ 10 15
+# Available values: yes 10+ 16+ 10 16
# NOTE:
# default value 10 is used in case of USE_THUNDERBIRD=yes
#
@@ -221,11 +221,11 @@ _FIREFOX_BUILD_DEPENDS= yes
.endif
_FIREFOX_DEFAULT_VERSION= 10
-_FIREFOX_VERSIONS= 10 15
-_FIREFOX_RANGE_VERSIONS= 10+ 15+
+_FIREFOX_VERSIONS= 10 16
+_FIREFOX_RANGE_VERSIONS= 10+ 16+
# For specifying [10, ..]+
-_FIREFOX_15P= 15 ${_FIREFOX_10P}
+_FIREFOX_16P= 16 ${_FIREFOX_10P}
_FIREFOX_10P= 10
# Set the default Firefox version and check if USE_FIREFOX=yes was given
@@ -272,7 +272,7 @@ IGNORE= cannot install: unknown Firefox version: firefox-${USE_FIREFOX:C/([0-9
# Dependence lines for different Firefox versions
10_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox-esr
-15_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox
+16_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox
# Add dependencies
.if defined(USE_FIREFOX)
@@ -294,12 +294,12 @@ USE_SEAMONKEY:= ${USE_SEAMONKEY_BUILD}
_SEAMONKEY_BUILD_DEPENDS= yes
.endif
-_SEAMONKEY_DEFAULT_VERSION= 12
-_SEAMONKEY_VERSIONS= 12
-_SEAMONKEY_RANGE_VERSIONS= 12+
+_SEAMONKEY_DEFAULT_VERSION= 13
+_SEAMONKEY_VERSIONS= 13
+_SEAMONKEY_RANGE_VERSIONS= 13+
-# For specifying [12, ..]+
-_SEAMONKEY_12P= 12
+# For specifying [13, ..]+
+_SEAMONKEY_13P= 13
# Set the default SeaMonkey version and check if USE_SEAMONKEY=yes was given
.if ${USE_SEAMONKEY} == "yes"
@@ -341,7 +341,7 @@ IGNORE= cannot install: unknown SeaMonkey version: seamonkey-2.${USE_SEAMONKEY
.endif
# Dependence lines for different SeaMonkey versions
-12_DEPENDS= ${LOCALBASE}/lib/seamonkey/seamonkey:${PORTSDIR}/www/seamonkey
+13_DEPENDS= ${LOCALBASE}/lib/seamonkey/seamonkey:${PORTSDIR}/www/seamonkey
# Add dependencies
.if defined(USE_SEAMONKEY)
@@ -364,11 +364,11 @@ _THUNDERBIRD_BUILD_DEPENDS= yes
.endif
_THUNDERBIRD_DEFAULT_VERSION= 10
-_THUNDERBIRD_VERSIONS= 10 15
-_THUNDERBIRD_RANGE_VERSIONS= 10+ 15+
+_THUNDERBIRD_VERSIONS= 10 16
+_THUNDERBIRD_RANGE_VERSIONS= 10+ 16+
# For specifying [10, ..]+
-_THUNDERBIRD_15P= 15 ${_THUNDERBIRD_10P}
+_THUNDERBIRD_16P= 16 ${_THUNDERBIRD_10P}
_THUNDERBIRD_10P= 10
# Set the default Thunderbird version and check if USE_THUNDERBIRD=yes was given
@@ -414,7 +414,7 @@ IGNORE= cannot install: unknown Thunderbird version: thunderbird-${USE_THUNDER
# Dependence lines for different Thunderbird versions
10_DEPENDS= ${LOCALBASE}/lib/thunderbird/thunderbird:${PORTSDIR}/mail/thunderbird-esr
-15_DEPENDS= ${LOCALBASE}/lib/thunderbird/thunderbird:${PORTSDIR}/mail/thunderbird
+16_DEPENDS= ${LOCALBASE}/lib/thunderbird/thunderbird:${PORTSDIR}/mail/thunderbird
# Add dependencies
.if defined(USE_THUNDERBIRD)
@@ -519,7 +519,6 @@ FAKEDIR?= ${WRKDIR}/fake
PLIST?= ${WRKDIR}/plist
PLISTD?= ${WRKDIR}/plist_dirs
PLISTF?= ${WRKDIR}/plist_files
-MASTER_DIR?= ${.CURDIR}/../../www/seamonkey
MOZ_PIS_DIR?= lib/${MOZILLA}/init.d
@@ -528,9 +527,8 @@ MOZCONFIG?= ${WRKSRC}/.mozconfig
MOZILLA_PLIST_DIRS?= bin lib
PKGINSTALL?= ${WRKDIR}/pkg-install
PKGDEINSTALL?= ${WRKDIR}/pkg-deinstall
-MASTER_MOZDIR?= ${PORTSDIR}/www/seamonkey
-PKGINSTALL_INC?= ${MASTER_MOZDIR}/pkg-install.in
-PKGDEINSTALL_INC?= ${MASTER_MOZDIR}/pkg-deinstall.in
+PKGINSTALL_INC?= ${.CURDIR}/../../www/firefox/files/pkg-install.in
+PKGDEINSTALL_INC?= ${.CURDIR}/../../www/firefox/files/pkg-deinstall.in
EXTRACT_AFTER_ARGS?= | ${TAR} -xf - --exclude */CVS/* \
--exclude */macbuild/* \
@@ -547,6 +545,25 @@ MOZ_OPTIONS+= --prefix="${FAKEDIR}"
CPPFLAGS+= -isystem${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
+.if ${OSVERSION} > 800072
+LDFLAGS+= -Wl,-z,origin -Wl,-rpath,\\\$$\$$ORIGIN
+.else
+LDFLAGS+= -Wl,-rpath,${PREFIX}/lib/${MOZ_RPATH}
+.endif
+
+.if ${MOZILLA_VER:R:R} >= 16 || exists(${.CURDIR}/files/patch-bug788955)
+.if ${OSVERSION} > 1000011
+# use jemalloc 3.0.0 API in libc
+MOZ_EXPORT+= MOZ_JEMALLOC=1
+.elif ${OSVERSION} > 800004
+MOZ_OPTIONS+= --enable-jemalloc
+MOZ_EXPORT+= MOZ_JEMALLOC=1
+.elif ${OSVERSION} > 700101
+# has _pthread_mutex_init_calloc_cb but firefox crashes when jemalloc
+# configured without --enable-debug
+.endif
+.endif
+
# Standard depends
_ALL_DEPENDS= cairo dbm event ffi hunspell jpeg nspr nss png sqlite vpx zip
@@ -567,6 +584,8 @@ ffi_EXTRACT_AFTER_ARGS= --exclude mozilla*/js/src/ctypes/libffi
hunspell_LIB_DEPENDS= hunspell-1.3:${PORTSDIR}/textproc/hunspell
hunspell_MOZ_OPTIONS= --enable-system-hunspell
+# XXX: depends on pkgng package flavor support
+#jpeg_LIB_DEPENDS= jpeg:${PORTSDIR}/graphics/libjpeg-turbo
jpeg_LIB_DEPENDS= jpeg:${PORTSDIR}/graphics/jpeg
jpeg_MOZ_OPTIONS= --with-system-jpeg=${LOCALBASE}
jpeg_EXTRACT_AFTER_ARGS= --exclude mozilla*/media/libjpeg
@@ -578,8 +597,6 @@ nss_LIB_DEPENDS= nss3:${PORTSDIR}/security/nss
nss_MOZ_OPTIONS= --with-system-nss
nss_EXTRACT_AFTER_ARGS= --exclude mozilla*/security/coreconf \
--exclude mozilla*/security/nss
-nss_CPPFLAGS+= -I${LOCALBASE}/include/nss -I${LOCALBASE}/include/nss/nss
-nss_LDFLAGS+= -L${LOCALBASE}/lib/nss -Wl,-rpath,${PREFIX}/lib/${MOZ_RPATH}
png_LIB_DEPENDS= png15:${PORTSDIR}/graphics/png
png_MOZ_OPTIONS= --with-system-png=${LOCALBASE}
@@ -590,7 +607,7 @@ sqlite_MOZ_OPTIONS= --enable-system-sqlite
vpx_LIB_DEPENDS= vpx:${PORTSDIR}/multimedia/libvpx
vpx_MOZ_OPTIONS= --with-system-libvpx
-#vpx_EXTRACT_AFTER_ARGS= --exclude mozilla*/media/libvpx
+vpx_EXTRACT_AFTER_ARGS= --exclude mozilla*/media/libvpx
zip_BUILD_DEPENDS= zip:${PORTSDIR}/archivers/zip
zip_RUN_DEPENDS= ${zip_BUILD_DEPENDS}
@@ -606,8 +623,6 @@ LIB_DEPENDS+= ${${dep}_LIB_DEPENDS}
RUN_DEPENDS+= ${${dep}_RUN_DEPENDS}
MOZ_OPTIONS+= ${${dep}_MOZ_OPTIONS}
EXTRACT_AFTER_ARGS+= ${${dep}_EXTRACT_AFTER_ARGS}
-CPPFLAGS+= ${${dep}_CPPFLAGS}
-LDFLAGS+= ${${dep}_LDFLAGS}
.endif
.endfor
@@ -617,7 +632,6 @@ MOZ_TOOLKIT?= cairo-gtk2
MOZ_OPTIONS+= --disable-tests \
--enable-chrome-format=${MOZ_CHROME} \
--enable-default-toolkit=${MOZ_TOOLKIT} \
- --with-default-mozilla-five-home=${PREFIX}/lib/${MOZILLA} \
--with-pthreads
# Configure options for install
.if !defined(MOZ_EXTENSIONS)
@@ -690,7 +704,7 @@ MOZ_OPTIONS+= --enable-gconf
MOZ_OPTIONS+= --disable-gconf
.endif
-.if ${PORT_OPTIONS:MGIO}
+.if ${PORT_OPTIONS:MGIO} && ! ${PORT_OPTIONS:MQT4}
MOZ_OPTIONS+= --enable-gio
.else
MOZ_OPTIONS+= --disable-gio
@@ -818,6 +832,18 @@ gecko-post-patch:
s|"%FULL_NSPR_LIBS%"|`nspr-config --libs`|g' \
${MOZSRC}/build/unix/mozilla-config.in
.endif
+.if ${USE_MOZILLA:M-nspr}
+ @${ECHO_MSG} "===> Applying NSPR patches"
+ @for i in ${.CURDIR}/../../devel/nspr/files/patch-*; do \
+ ${PATCH} ${PATCH_ARGS} -d ${MOZSRC}/nsprpub/build < $$i; \
+ done
+.endif
+.if ${USE_MOZILLA:M-nss}
+ @${ECHO_MSG} "===> Applying NSS patches"
+ @for i in ${.CURDIR}/../../security/nss/files/patch-*; do \
+ ${PATCH} ${PATCH_ARGS} -d ${MOZSRC}/security/nss < $$i; \
+ done
+.endif
.for subdir in "" nsprpub js/src
@if [ -f ${MOZSRC}/${subdir}/config/system-headers ] ; then \
for f in \
@@ -863,9 +889,19 @@ gecko-post-patch:
${MOZSRC}/build/unix/run-mozilla.sh
@${REINPLACE_CMD} -e 's|/usr/local/netscape|${LOCALBASE}|g ; \
s|/usr/local/lib/netscape|${LOCALBASE}/lib|g' \
- ${MOZSRC}/xpcom/*/SpecialSystemDirectory.cpp
+ ${MOZSRC}/xpcom/io/SpecialSystemDirectory.cpp
+ @${REINPLACE_CMD} -e 's|/etc|${PREFIX}&|g' \
+ ${MOZSRC}/xpcom/build/nsXPCOMPrivate.h
+ @${REINPLACE_CMD} -e 's|/usr|${LOCALBASE}|g' \
+ -e 's|mozilla/plugins|browser_plugins|g' \
+ ${MOZSRC}/xpcom/io/nsAppFileLocationProvider.cpp \
+ ${MOZSRC}/toolkit/xre/nsXREDirProvider.cpp
@${GREP} -lr 'PR_LoadLibrary.*\.so\.[0-9]' ${WRKSRC} | ${XARGS} \
${REINPLACE_CMD} -Ee '/PR_LoadLibrary/s/(\.so)\.[0-9]+/\1/'
+.if ${MOZILLA} != "kompozer"
+ @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
+ ${MOZSRC}/extensions/spellcheck/hunspell/src/mozHunspell.cpp
+.endif
# handles mozilla pis scripts.
gecko-moz-pis-patch:
diff --git a/UPDATING b/UPDATING
index e1505a74810d..f6f83b1cd428 100644
--- a/UPDATING
+++ b/UPDATING
@@ -6,6 +6,28 @@ You should get into the habit of checking this file for changes each time
you update your ports collection, before attempting any port upgrades.
20121010:
+ AFFECTS: users of mail/enigmail*
+ AUTHOR: gecko@FreeBSD.org
+
+ Enigmail has been integrated into the Thunderbird / SeaMonkey build and
+ is available as option ENIGMAIL (enabled by default)
+
+ Before upgrading Thunderbird or SeaMonkey delete all installed enigmail
+ ports by running e.g.
+
+ # pkg_delete -f seamonkey-enigmail-1.4.3 thunderbird-esr-enigmail-1.4.3 \
+ thunderbird-enigmail-1.4.3
+
+20121010:
+ AFFECTS: users of www/firefox and www/seamonkey
+ AUTHOR: gecko@FreeBSD.org
+
+ When using Firefox or SeaMonkey compiled with ALSA option ON it may
+ crash on assert in cubeb_refill_stream as described in ports/170473.
+ To fix either set media.use_cubeb -> false in about:config or rebuild
+ audio/alsa-plugins with ARIFF_OSS option disabled (default).
+
+20121010:
AFFECTS: users of CURRENT (OSVERSION >= 1000017)
AUTHOR: bapt@FreeBSD.org
diff --git a/mail/Makefile b/mail/Makefile
index 76f72655eacf..51f69284c5eb 100644
--- a/mail/Makefile
+++ b/mail/Makefile
@@ -114,10 +114,6 @@
SUBDIR += emh
SUBDIR += emh-xemacs21-mule
SUBDIR += emil
- SUBDIR += enigmail
- SUBDIR += enigmail-seamonkey
- SUBDIR += enigmail-thunderbird
- SUBDIR += enigmail-thunderbird-esr
SUBDIR += enma
SUBDIR += eps
SUBDIR += epstools
diff --git a/mail/enigmail-seamonkey/Makefile b/mail/enigmail-seamonkey/Makefile
deleted file mode 100644
index 3941c0b1209f..000000000000
--- a/mail/enigmail-seamonkey/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-# New ports collection makefile for: enigmail
-# Date created: 15 January 2006
-# Whom: Alex Dupre <ale@FreeBSD.org>
-#
-# $FreeBSD$
-#
-
-COMMENT= A GnuPG extension for the Seamonkey mail client
-
-MASTERDIR= ${.CURDIR}/../enigmail
-
-GECKO= seamonkey
-GECKO_PORTDIR= www/${GECKO}
-GECKO_EXTDIR= comm-release
-
-.include "${MASTERDIR}/Makefile"
diff --git a/mail/enigmail-thunderbird-esr/Makefile b/mail/enigmail-thunderbird-esr/Makefile
deleted file mode 100644
index ff72e3ffd191..000000000000
--- a/mail/enigmail-thunderbird-esr/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# New ports collection makefile for: enigmail
-# Date created: 19 April 2012
-# Whom: Alex Dupre <ale@FreeBSD.org>
-#
-# $FreeBSD$
-#
-
-PKGNAMEPREFIX= ${GECKO}-esr-
-
-COMMENT= A GnuPG extension for the Thunderbird mail client
-
-MASTERDIR= ${.CURDIR}/../enigmail
-
-GECKO= thunderbird
-GECKO_PORTDIR= mail/${GECKO}-esr
-GECKO_EXTDIR= comm-esr10
-
-PORTSCOUT= ignore:1
-
-.include "${MASTERDIR}/Makefile"
diff --git a/mail/enigmail-thunderbird/Makefile b/mail/enigmail-thunderbird/Makefile
deleted file mode 100644
index 6754e5c0f8e9..000000000000
--- a/mail/enigmail-thunderbird/Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
-# New ports collection makefile for: enigmail
-# Date created: 20 January 2004
-# Whom: Alex Dupre <ale@FreeBSD.org>
-#
-# $FreeBSD$
-#
-
-COMMENT= A GnuPG extension for the Thunderbird mail client
-
-MASTERDIR= ${.CURDIR}/../enigmail
-
-GECKO= thunderbird
-GECKO_PORTDIR= mail/${GECKO}
-GECKO_EXTDIR= comm-release
-
-.include "${MASTERDIR}/Makefile"
diff --git a/mail/enigmail/Makefile b/mail/enigmail/Makefile
deleted file mode 100644
index 66b23eb6a7f8..000000000000
--- a/mail/enigmail/Makefile
+++ /dev/null
@@ -1,108 +0,0 @@
-# New ports collection makefile for: enigmail
-# Date created: 20 January 2004
-# Whom: Alex Dupre <ale@FreeBSD.org>
-#
-# $FreeBSD$
-#
-
-PORTNAME= enigmail
-PORTVERSION?= 1.4.3
-PORTREVISION?= 0
-CATEGORIES= mail security
-MASTER_SITES= http://www.mozilla-enigmail.org/download/source/
-PKGNAMEPREFIX?= ${GECKO}-
-
-MAINTAINER= ale@FreeBSD.org
-COMMENT?= A GnuPG extension for the Mozilla mail clients
-
-.if defined(PACKAGE_BUILDING)
-FETCH_DEPENDS= ${GECKO_DEPENDS}
-.endif
-EXTRACT_DEPENDS=${GECKO_DEPENDS}
-BUILD_DEPENDS= ${GECKO}:${PORTSDIR}/${GECKO_PORTDIR}
-RUN_DEPENDS= ${GECKO}:${PORTSDIR}/${GECKO_PORTDIR} \
- gpg:${PORTSDIR}/security/gnupg
-
-.if !defined(GECKO)
-GECKO= libxul
-GECKO_PORTDIR= www/${GECKO}
-IGNORE= is an abstract port: use one of the slave ports
-.endif
-
-GECKO_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/${GECKO_PORTDIR}:build \
- ${GECKO}:${PORTSDIR}/${GECKO_PORTDIR} \
- autoconf-2.13:${PORTSDIR}/devel/autoconf213 \
- gmake:${PORTSDIR}/devel/gmake \
- intltool-extract:${PORTSDIR}/textproc/intltool \
- ${LOCALBASE}/libdata/pkgconfig/printproto.pc:${PORTSDIR}/x11/printproto \
- unzip:${PORTSDIR}/archivers/unzip \
- yasm:${PORTSDIR}/devel/yasm
-
-GECKO_WRKSRC= ${WRKDIR}/../../../${GECKO_PORTDIR}/work/${GECKO_EXTDIR}
-WRKSRC= ${WRKDIR}/${GECKO_EXTDIR}
-MOZOBJ= ${WRKSRC}
-
-USE_GMAKE= yes
-
-.include <bsd.port.pre.mk>
-
-XPI_FILE= ${MOZOBJ}/mozilla/dist/bin/${DISTNAME}-freebsd-${ARCH:S/amd64/x86_64/}.xpi
-XPI_LIBDIR= ${PREFIX}/lib/xpi
-XPI_ORIG_ID= {847b3a00-7ab1-11d4-8f02-006008948af5}
-XPI_ID= ${GECKO}@mozilla-enigmail.org
-XPI_ID_RFILES= ${XPI_LIBDIR}/${XPI_ID}/install.rdf \
- ${XPI_LIBDIR}/${XPI_ID}/components/enigmail.js \
- ${XPI_LIBDIR}/${XPI_ID}/modules/enigmailCommon.jsm
-
-do-extract:
- @${RM} -rf ${WRKDIR}
- @${MKDIR} ${WRKDIR}
- @${CP} -Rp ${GECKO_WRKSRC} ${WRKDIR}
- @for f in ${EXTRACT_ONLY}; do \
- cd ${WRKSRC}/mailnews/extensions && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/$$f ${EXTRACT_AFTER_ARGS}; \
- done
-
-pre-patch:
- @${REINPLACE_CMD} -e "s|${GECKO_PORTDIR}|${GECKO_PORTDIR:S/www/mail/:S/\//\/enigmail-/}|g" \
- `${FIND} ${WRKSRC} -name autoconf.mk`
-
-post-patch:
- ${REINPLACE_CMD} "s,/usr/bin/perl,${PERL}," \
- ${WRKSRC}/mailnews/extensions/enigmail/makemake
- ${REINPLACE_CMD} "s/^XPI_MODULE_VERS = [0-9.]*/XPI_MODULE_VERS = ${PORTVERSION}/" \
- ${WRKSRC}/mailnews/extensions/enigmail/Makefile.in
- ${REINPLACE_CMD} "s,<em:version>[0-9.a-z]*</em:version>,<em:version>${PORTVERSION}</em:version>," \
- ${WRKSRC}/mailnews/extensions/enigmail/package/install.rdf
-.if ${GECKO_PORTDIR:M*-esr}
- ${REINPLACE_CMD} "s,<em:minVersion>12.0</em:minVersion>,<em:minVersion>10.0</em:minVersion>," \
- ${WRKSRC}/mailnews/extensions/enigmail/package/install.rdf
-.endif
-
-do-build:
- cd ${WRKSRC}/mailnews/extensions/enigmail && \
- ./makemake -r -o ${MOZOBJ} && \
- ${SETENV} ${MAKE_ENV} ${GMAKE} ${_MAKE_JOBS} \
- -C ${MOZOBJ}/mailnews/extensions/enigmail && \
- ${SETENV} ${MAKE_ENV} ${GMAKE} ${_MAKE_JOBS} xpi \
- -C ${MOZOBJ}/mailnews/extensions/enigmail
-
-do-install:
- @${MKDIR} ${XPI_LIBDIR}/${XPI_ID} ${XPI_LIBDIR}/symlinks/${GECKO}
- @(cd ${XPI_LIBDIR}/${XPI_ID}; ${TAR} -xf ${XPI_FILE})
- @${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${XPI_LIBDIR}/${XPI_ID}
- @${REINPLACE_CMD} -i "" "s/${XPI_ORIG_ID}/${XPI_ID}/" ${XPI_ID_RFILES}
- @${CHMOD} -R a+rX,go-w ${XPI_LIBDIR}/${XPI_ID}
- @${LN} -sf ${XPI_LIBDIR}/${XPI_ID} ${LOCALBASE}/lib/${GECKO}/extensions 2>/dev/null || true
- @${LN} -sf ${XPI_LIBDIR}/${XPI_ID} ${XPI_LIBDIR}/symlinks/${GECKO} 2>/dev/null || true
- @(cd ${XPI_LIBDIR}; ${FIND} ${XPI_ID} -not -type d) | ${SORT} | \
- ${SED} -ne 's,^,lib/xpi/,p' >> ${TMPPLIST}
- @${ECHO_CMD} 'lib/xpi/symlinks/${GECKO}/${XPI_ID}' >> ${TMPPLIST}
- @${ECHO_CMD} '@exec ${LN} -sf %D/lib/xpi/${XPI_ID} ${LOCALBASE}/lib/${GECKO}/extensions 2>/dev/null || true' >> ${TMPPLIST}
- @${ECHO_CMD} '@unexec ${RM} -f ${LOCALBASE}/lib/${GECKO}/extensions/${XPI_ID}' >> ${TMPPLIST}
- @(cd ${XPI_LIBDIR}; ${FIND} ${XPI_ID} -type d) | ${SORT} -r | \
- ${SED} -ne 's,^,@dirrm lib/xpi/,p' >> ${TMPPLIST}
- @${ECHO_CMD} '@unexec rmdir %D/lib/xpi/symlinks/${GECKO} 2>/dev/null || true' >> ${TMPPLIST}
- @${ECHO_CMD} '@unexec rmdir %D/lib/xpi/symlinks 2>/dev/null || true' >> ${TMPPLIST}
- @${ECHO_CMD} '@unexec rmdir %D/lib/xpi 2>/dev/null || true' >> ${TMPPLIST}
-
-.include <bsd.port.post.mk>
diff --git a/mail/enigmail/distinfo b/mail/enigmail/distinfo
deleted file mode 100644
index 6ff43a391b3e..000000000000
--- a/mail/enigmail/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (enigmail-1.4.3.tar.gz) = 440035f19a22e8e234c530a0e78fb9ee74bb934fcf721777868de79324636d27
-SIZE (enigmail-1.4.3.tar.gz) = 1337811
diff --git a/mail/enigmail/pkg-descr b/mail/enigmail/pkg-descr
deleted file mode 100644
index 6dffe70a436d..000000000000
--- a/mail/enigmail/pkg-descr
+++ /dev/null
@@ -1,10 +0,0 @@
-Enigmail is an extension to the Thunderbird / Seamonkey mail client
-which allows users to access the authentication and encryption features
-provided by the popular GnuPG software.
-
-Enigmail can encrypt/sign mail when sending, and also decrypt/authenticate
-received mail. It can also import/export public keys. Enigmail supports
-both the inline PGP format, and the PGP/MIME format (RFC 3156), which can
-be used to encrypt attachments.
-
-WWW: http://enigmail.mozdev.org/
diff --git a/mail/linux-thunderbird/Makefile b/mail/linux-thunderbird/Makefile
index 011fc4cf24fb..b8ccccd73589 100644
--- a/mail/linux-thunderbird/Makefile
+++ b/mail/linux-thunderbird/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= thunderbird
-PORTVERSION= 10.0.7
+PORTVERSION= 10.0.8
CATEGORIES= mail
MASTER_SITE_SUBDIR?= ${PORTNAME}/releases/${PORTVERSION}esr/linux-i686/en-US
DISTNAME= ${PORTNAME}-${DISTVERSION}esr
diff --git a/mail/linux-thunderbird/distinfo b/mail/linux-thunderbird/distinfo
index 23f242ac90b4..2f6dc8ef059c 100644
--- a/mail/linux-thunderbird/distinfo
+++ b/mail/linux-thunderbird/distinfo
@@ -1,2 +1,2 @@
-SHA256 (thunderbird-10.0.7esr.tar.bz2) = 2b1fd99bcaa6b4288f86eba7bdf80fe467cde0cf2899a7ec106ba1e4fee0625c
-SIZE (thunderbird-10.0.7esr.tar.bz2) = 18582085
+SHA256 (thunderbird-10.0.8esr.tar.bz2) = 7cf3daaf391864a265e8a0e17c49aee61fe63b3f92eba701f5a547216968330b
+SIZE (thunderbird-10.0.8esr.tar.bz2) = 18579071
diff --git a/mail/thunderbird-esr-i18n/Makefile b/mail/thunderbird-esr-i18n/Makefile
index 723022a7dc92..d7a3b53feec4 100644
--- a/mail/thunderbird-esr-i18n/Makefile
+++ b/mail/thunderbird-esr-i18n/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= thunderbird-i18n
-PORTVERSION= 10.0.7
+PORTVERSION= 10.0.8
CATEGORIES= mail
MASTER_SITE_SUBDIR= thunderbird/releases/${PORTVERSION}esr/linux-i686/xpi
PKGNAMEPREFIX=
diff --git a/mail/thunderbird-esr-i18n/distinfo b/mail/thunderbird-esr-i18n/distinfo
index a4bbb304f9b5..1bb05952e1d1 100644
--- a/mail/thunderbird-esr-i18n/distinfo
+++ b/mail/thunderbird-esr-i18n/distinfo
@@ -1,84 +1,16 @@
-SHA256 (xpi/thunderbird-i18n-10.0.7/ar.xpi) = fe218825ba239511ebf490896fcd85416bf93867d12077afa2061087d9718e85
-SIZE (xpi/thunderbird-i18n-10.0.7/ar.xpi) = 441466
-SHA256 (xpi/thunderbird-i18n-10.0.7/br.xpi) = f560a951a8c6eb7ca89126cbb09a78f075379fc1af7ed8ff2f6bbe882030fc0d
-SIZE (xpi/thunderbird-i18n-10.0.7/br.xpi) = 415527
-SHA256 (xpi/thunderbird-i18n-10.0.7/ca.xpi) = a8b00ba4f84055b54e03ae82a35836e6cd9c7d07a16b1940286b026aeb3e6be1
-SIZE (xpi/thunderbird-i18n-10.0.7/ca.xpi) = 416069
-SHA256 (xpi/thunderbird-i18n-10.0.7/cs.xpi) = 7cced93d103ae1775b064dc0c256494c3cda1971b4e4391f7f6f596c01df6171
-SIZE (xpi/thunderbird-i18n-10.0.7/cs.xpi) = 419419
-SHA256 (xpi/thunderbird-i18n-10.0.7/da.xpi) = ae3a98db9393ff020c6795b0fe3418258119299485569bd9d18210e8690b9781
-SIZE (xpi/thunderbird-i18n-10.0.7/da.xpi) = 363376
-SHA256 (xpi/thunderbird-i18n-10.0.7/de.xpi) = 8d94b8000182a52e93a3fcc04f4830f858bfbe95f1e08074f2b576b69468e61c
-SIZE (xpi/thunderbird-i18n-10.0.7/de.xpi) = 418266
-SHA256 (xpi/thunderbird-i18n-10.0.7/en-GB.xpi) = 00a9e65eb3a1ca5194dbee9acf1fff84fc9ee3b1050dacbc42db04bf25532917
-SIZE (xpi/thunderbird-i18n-10.0.7/en-GB.xpi) = 391743
-SHA256 (xpi/thunderbird-i18n-10.0.7/en-US.xpi) = 410e503c93bc65fd26423f2afc440e42fbbaf2fb30d71a9ddb0bf992a464451d
-SIZE (xpi/thunderbird-i18n-10.0.7/en-US.xpi) = 391242
-SHA256 (xpi/thunderbird-i18n-10.0.7/es-AR.xpi) = ca5002269cb602cac293da5e18c0c6d3273146afbd7a496deec2edccf8e87f16
-SIZE (xpi/thunderbird-i18n-10.0.7/es-AR.xpi) = 410726
-SHA256 (xpi/thunderbird-i18n-10.0.7/es-ES.xpi) = f3948a633ab98dc3ce233b5cd97eb84a2a40475336e8b4d31a9dd892832c2dda
-SIZE (xpi/thunderbird-i18n-10.0.7/es-ES.xpi) = 355143
-SHA256 (xpi/thunderbird-i18n-10.0.7/et.xpi) = 6ce8c3a922a3ce944d4a125938081d032ce61776680e3d6f205a62f5f9441550
-SIZE (xpi/thunderbird-i18n-10.0.7/et.xpi) = 410724
-SHA256 (xpi/thunderbird-i18n-10.0.7/eu.xpi) = 4258ef8ceef02bcfd6e95f59198b67572e97023ac2558790d18acde5c5f7e2d1
-SIZE (xpi/thunderbird-i18n-10.0.7/eu.xpi) = 406387
-SHA256 (xpi/thunderbird-i18n-10.0.7/fi.xpi) = 2d2212368adac818ca5e2569f0d8c8a83f47ac8285584e7525de4add85fe3bd4
-SIZE (xpi/thunderbird-i18n-10.0.7/fi.xpi) = 411928
-SHA256 (xpi/thunderbird-i18n-10.0.7/fr.xpi) = 664b23ff9eeda1f9c7c073574e31bb33e8cb7ac3beeb888251f007fe87e97163
-SIZE (xpi/thunderbird-i18n-10.0.7/fr.xpi) = 414749
-SHA256 (xpi/thunderbird-i18n-10.0.7/fy-NL.xpi) = 62ae77f3a07becc2fb5444d0a39ff383c06690891b5560e24e9ba5b355bf42d6
-SIZE (xpi/thunderbird-i18n-10.0.7/fy-NL.xpi) = 413985
-SHA256 (xpi/thunderbird-i18n-10.0.7/ga-IE.xpi) = 1e1dc0f5d5603f70c08d0a42bf46f111e6881933f3622471f8311f635eac611c
-SIZE (xpi/thunderbird-i18n-10.0.7/ga-IE.xpi) = 423261
-SHA256 (xpi/thunderbird-i18n-10.0.7/gd.xpi) = 85d57a2f5928b46a55b8fb94bddd0af18332a5c0c181f53f82db1bdb8fc8ca20
-SIZE (xpi/thunderbird-i18n-10.0.7/gd.xpi) = 425876
-SHA256 (xpi/thunderbird-i18n-10.0.7/gl.xpi) = 444afe24e82c6957e32d720fe786d2514a083af60401992631fb0cb5887704be
-SIZE (xpi/thunderbird-i18n-10.0.7/gl.xpi) = 409229
-SHA256 (xpi/thunderbird-i18n-10.0.7/he.xpi) = 963b51119331019d01f6d3866a0919c900e6c478ba83a68d0b5c030706d38e32
-SIZE (xpi/thunderbird-i18n-10.0.7/he.xpi) = 439206
-SHA256 (xpi/thunderbird-i18n-10.0.7/hu.xpi) = 126ad900c30a335654f769bf59bcb56bfbefff21d865c0bf76bd0b3469036439
-SIZE (xpi/thunderbird-i18n-10.0.7/hu.xpi) = 426356
-SHA256 (xpi/thunderbird-i18n-10.0.7/is.xpi) = f3feeb6a0547f9ad1a9a80a155cdbcdd9c99fb7ada5f87e58e8611533058b031
-SIZE (xpi/thunderbird-i18n-10.0.7/is.xpi) = 412634
-SHA256 (xpi/thunderbird-i18n-10.0.7/it.xpi) = 7c02ef5f947e6fcaf75dd7aa08471bfc74700402d50cec5caaef51bdf72b4222
-SIZE (xpi/thunderbird-i18n-10.0.7/it.xpi) = 347634
-SHA256 (xpi/thunderbird-i18n-10.0.7/ja.xpi) = 90ca263411c5fe34a4ca09a32a26e4fcc59c697d5421f52a9bba1a491b5c72db
-SIZE (xpi/thunderbird-i18n-10.0.7/ja.xpi) = 459031
-SHA256 (xpi/thunderbird-i18n-10.0.7/ko.xpi) = 4125d21e5490689a58cfa28d31bd82d3b26b08cbbcc57b70fc1944def3bc29bd
-SIZE (xpi/thunderbird-i18n-10.0.7/ko.xpi) = 372016
-SHA256 (xpi/thunderbird-i18n-10.0.7/lt.xpi) = a69679f4fde548307cbc0da41cfe0d76f24d52cdc482fbb9fb35419886c2f135
-SIZE (xpi/thunderbird-i18n-10.0.7/lt.xpi) = 531022
-SHA256 (xpi/thunderbird-i18n-10.0.7/nb-NO.xpi) = d827073f2a1ef8d8789a02e99827dbfda5ed52aa8d10d1acfd3743ebc048d1a8
-SIZE (xpi/thunderbird-i18n-10.0.7/nb-NO.xpi) = 407729
-SHA256 (xpi/thunderbird-i18n-10.0.7/nl.xpi) = 063a650298c7eb33bf1e2317cd1d7cd88c5fa6070393de190eda4826108d0389
-SIZE (xpi/thunderbird-i18n-10.0.7/nl.xpi) = 407985
-SHA256 (xpi/thunderbird-i18n-10.0.7/nn-NO.xpi) = ece5f50981dd386346db2d0f2d75817d09389ae5c18ba43be1b075c823c06276
-SIZE (xpi/thunderbird-i18n-10.0.7/nn-NO.xpi) = 409459
-SHA256 (xpi/thunderbird-i18n-10.0.7/pl.xpi) = a45a9ebcea735a49960c3135a6b96a93f2e0186143c8b69df8b608cbfea52576
-SIZE (xpi/thunderbird-i18n-10.0.7/pl.xpi) = 393578
-SHA256 (xpi/thunderbird-i18n-10.0.7/pt-BR.xpi) = 8f616f2f40011ce1452282bde4527852ffc52f0a97a00e9139db2177a3e32549
-SIZE (xpi/thunderbird-i18n-10.0.7/pt-BR.xpi) = 417229
-SHA256 (xpi/thunderbird-i18n-10.0.7/pt-PT.xpi) = 6e92c09d7c4fecbcd9c5c54a44401ce571fab14216fa7f5a4c3484327cf3104e
-SIZE (xpi/thunderbird-i18n-10.0.7/pt-PT.xpi) = 414266
-SHA256 (xpi/thunderbird-i18n-10.0.7/rm.xpi) = 52a6ecf1840e80b6bf4ac8bf0a7188c891f42606049f3fc1472fd107a0c1be77
-SIZE (xpi/thunderbird-i18n-10.0.7/rm.xpi) = 414709
-SHA256 (xpi/thunderbird-i18n-10.0.7/ru.xpi) = 80a78cb74462394387f85b7efbf94a5d1112419ba9ac891c3db8360624fa2f07
-SIZE (xpi/thunderbird-i18n-10.0.7/ru.xpi) = 411634
-SHA256 (xpi/thunderbird-i18n-10.0.7/si.xpi) = 97a8f425d2a37736235543e06338d8bde9b238d49b22b260fedd611fcb4a5fcc
-SIZE (xpi/thunderbird-i18n-10.0.7/si.xpi) = 456607
-SHA256 (xpi/thunderbird-i18n-10.0.7/sk.xpi) = fec10c4f96780eb6c14f3d70e730cfb63f9cf285db4ec515c69160cd51e89926
-SIZE (xpi/thunderbird-i18n-10.0.7/sk.xpi) = 425029
-SHA256 (xpi/thunderbird-i18n-10.0.7/sl.xpi) = 58ef94c1badb82b5d7b236900d57290431bd72b7d8e0e63c43c46eca7a1f9e5a
-SIZE (xpi/thunderbird-i18n-10.0.7/sl.xpi) = 410432
-SHA256 (xpi/thunderbird-i18n-10.0.7/sq.xpi) = 25e971347e1cc1fea876135eabb904f356396ade11f29a9a3151934d86c23ffc
-SIZE (xpi/thunderbird-i18n-10.0.7/sq.xpi) = 360480
-SHA256 (xpi/thunderbird-i18n-10.0.7/sv-SE.xpi) = 66d4b30a2cafdfa9e384f301c0ba7f5999d9c4c3e8f035ed378909b23dbecf06
-SIZE (xpi/thunderbird-i18n-10.0.7/sv-SE.xpi) = 478281
-SHA256 (xpi/thunderbird-i18n-10.0.7/ta-LK.xpi) = f42cb0e4034c217dfdc7e86bd280805657374965037690f101a37bf8c0778575
-SIZE (xpi/thunderbird-i18n-10.0.7/ta-LK.xpi) = 475718
-SHA256 (xpi/thunderbird-i18n-10.0.7/tr.xpi) = 768c15d8bb6609655fecbc720ebde9834962730c82ff32f4d0dd6df1f880c046
-SIZE (xpi/thunderbird-i18n-10.0.7/tr.xpi) = 418210
-SHA256 (xpi/thunderbird-i18n-10.0.7/uk.xpi) = 00e09bd289a3a1bf569e4d13cb3f012052f8f36d4f852e1fe0b6a1d69d1ac1cf
-SIZE (xpi/thunderbird-i18n-10.0.7/uk.xpi) = 463925
-SHA256 (xpi/thunderbird-i18n-10.0.7/zh-TW.xpi) = 3597c44d938c300eacab2de3a67f242a83d32b30ba9257f955740de480bad8b6
-SIZE (xpi/thunderbird-i18n-10.0.7/zh-TW.xpi) = 431827
+SHA256 (xpi/thunderbird-i18n-10.0.8/es-ES.xpi) = b2d651cf8e46979637b5e5c5a0ec95fb8d12e9f2f20c660504b0a509e42978cf
+SIZE (xpi/thunderbird-i18n-10.0.8/es-ES.xpi) = 355142
+SHA256 (xpi/thunderbird-i18n-10.0.8/pt-BR.xpi) = d5604357b65b20a1e6acd4aa4eb9cb02154156b1836e90c4c18ac36fcbd3889f
+SIZE (xpi/thunderbird-i18n-10.0.8/pt-BR.xpi) = 417229
+SHA256 (xpi/thunderbird-i18n-10.0.8/ru.xpi) = 675475afefed4ab8e8ac29bd74bd6b2619d403519db7a3b5159458a71e1138cc
+SIZE (xpi/thunderbird-i18n-10.0.8/ru.xpi) = 411633
+SHA256 (xpi/thunderbird-i18n-10.0.8/ja.xpi) = 20c7b247db1b04b9c6299a13b348fdeaf320e683d6f36427cd468c30e4b102df
+SIZE (xpi/thunderbird-i18n-10.0.8/ja.xpi) = 459030
+SHA256 (xpi/thunderbird-i18n-10.0.8/de.xpi) = 200c48b132653c1e72e580d73e471399cfd4e22ac3ef3f1df77c48840d0558f7
+SIZE (xpi/thunderbird-i18n-10.0.8/de.xpi) = 418265
+SHA256 (xpi/thunderbird-i18n-10.0.8/fr.xpi) = 4b00df0f3fa1092137b8735e86149183f7bcad9f97b3f36dd1f84aea430d1af6
+SIZE (xpi/thunderbird-i18n-10.0.8/fr.xpi) = 414748
+SHA256 (xpi/thunderbird-i18n-10.0.8/ko.xpi) = 3c60709ef8536f77be75b2659467d3e22ed327254c23e4812a5c756c59949ec0
+SIZE (xpi/thunderbird-i18n-10.0.8/ko.xpi) = 372015
+SHA256 (xpi/thunderbird-i18n-10.0.8/it.xpi) = 0bb9413db267342fbf8cea6abf180ab9aec174e98a1d59f3ed3b371f6ca54ae3
+SIZE (xpi/thunderbird-i18n-10.0.8/it.xpi) = 347632
diff --git a/mail/thunderbird-esr/Makefile b/mail/thunderbird-esr/Makefile
index b9299623ddf5..0930420585ac 100644
--- a/mail/thunderbird-esr/Makefile
+++ b/mail/thunderbird-esr/Makefile
@@ -6,21 +6,24 @@
#
PORTNAME= thunderbird
-DISTVERSION= 10.0.7
+DISTVERSION= 10.0.8
CATEGORIES= mail ipv6
MASTER_SITES= ${MASTER_SITE_MOZILLA}
MASTER_SITE_SUBDIR= ${PORTNAME}/releases/${DISTVERSION}esr/source
-DISTNAME= ${PORTNAME}-${DISTVERSION}esr.source
+DISTFILES= ${PORTNAME}-${DISTVERSION}esr.source${EXTRACT_SUFX}
+EXTRACT_ONLY= ${PORTNAME}-${DISTVERSION}esr.source${EXTRACT_SUFX}
MAINTAINER= gecko@FreeBSD.org
COMMENT= Mozilla Thunderbird is standalone mail and news that stands above
BUILD_DEPENDS= nspr>=4.8.8:${PORTSDIR}/devel/nspr \
- nss>=3.13.1:${PORTSDIR}/security/nss \
+ nss>=3.13.6_1:${PORTSDIR}/security/nss \
sqlite3>=3.7.7.1:${PORTSDIR}/databases/sqlite3 \
cairo>=1.10.2_1,1:${PORTSDIR}/graphics/cairo \
unzip:${PORTSDIR}/archivers/unzip
+EM_VERSION= 1.4.5
+
USE_AUTOTOOLS= autoconf213:env
LATEST_LINK= thunderbird-esr
USE_GECKO= gecko
@@ -51,7 +54,8 @@ PORTNAME_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/chrome/icons/default/default48.png
SYSTEM_PREFS= ${FAKEDIR}/lib/${PORTNAME}/defaults/pref/${PORTNAME}.js
MOZ_PIS_SCRIPTS=moz_pis_S50cleanhome
-OPTIONS_DEFINE= LIGHTNING
+OPTIONS_DEFINE= ENIGMAIL LIGHTNING
+OPTIONS_DEFAULT=ENIGMAIL LIGHTNING
.include "${.CURDIR}/../../www/firefox/Makefile.options"
.include <bsd.port.pre.mk>
@@ -59,6 +63,8 @@ OPTIONS_DEFINE= LIGHTNING
WRKSRC= ${WRKDIR}/comm-esr10
MOZSRC:= ${WRKSRC}/mozilla
+XPI_LIBDIR= ${PREFIX}/lib/xpi
+
.if ${ARCH} == amd64
CONFIGURE_TARGET=x86_64-portbld-freebsd${OSREL}
.elif ${ARCH} == powerpc64
@@ -78,12 +84,25 @@ BUILD_DEPENDS+= yasm:${PORTSDIR}/devel/yasm
CFLAGS+= -Wno-return-type-c-linkage
.endif
+.if ${PORT_OPTIONS:MENIGMAIL}
+MASTER_SITES+= http://www.enigmail.net/download/source/:enigmail
+DISTFILES+= ${EM_DISTFILE}:enigmail
+RUN_DEPENDS+= gpg:${PORTSDIR}/security/gnupg
+EM_DISTNAME= enigmail-${EM_VERSION}
+EM_DISTFILE= ${EM_DISTNAME}.tar.gz
+EM_XPI_FILE= ${MOZ_OBJDIR}/mozilla/dist/bin/${EM_DISTNAME}-freebsd-${ARCH:S/amd64/x86_64/}.xpi
+EM_ORIG_ID= {847b3a00-7ab1-11d4-8f02-006008948af5}
+EM_ID= ${PORTNAME}@mozilla-enigmail.org
+EM_ID_RFILES= ${XPI_LIBDIR}/${EM_ID}/install.rdf \
+ ${XPI_LIBDIR}/${EM_ID}/components/enigmail.js \
+ ${XPI_LIBDIR}/${EM_ID}/modules/enigmailCommon.jsm
+.endif
+
.if ${PORT_OPTIONS:MLIGHTNING}
MOZ_OPTIONS+= --enable-calendar
MOZ_MK_OPTIONS+= MOZ_CO_PROJECT=calendar
LIGHTNING_DIR= share/lightning
XPI_FILE= ${MOZ_OBJDIR}/mozilla/dist/xpi-stage/lightning.xpi
-XPI_LIBDIR= ${PREFIX}/lib/xpi
XPI_ORIG_ID= {e2fda1a4-762b-4020-b5ad-a41df1933103}
XPI_ID= lightning@thunderbird.mozilla.org
.else
@@ -93,16 +112,38 @@ MOZ_OPTIONS+= --disable-calendar
post-extract:
@${SED} -e 's|@PORTNAME_ICON@|${PORTNAME_ICON}|;s|@MOZILLA@|${MOZILLA}|' \
<${FILESDIR}/thunderbird.desktop.in >${WRKDIR}/${MOZILLA_EXEC_NAME}.desktop
+.if ${PORT_OPTIONS:MENIGMAIL}
+ @${TAR} -xf ${_DISTDIR}/${EM_DISTFILE} \
+ -C ${WRKSRC}/mailnews/extensions
+.endif
post-patch:
@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
${WRKSRC}/mail/app/nsMailApp.cpp
+.if ${PORT_OPTIONS:MENIGMAIL}
+ @${REINPLACE_CMD} -e 's,/usr/bin/perl,${PERL},' \
+ ${WRKSRC}/mailnews/extensions/enigmail/makemake
+ @${REINPLACE_CMD} -e '/^xpi/s/$$/ all/' \
+ -e '/^XPI_MODULE_VERS/s/= .*/= ${EM_VERSION}/' \
+ ${WRKSRC}/mailnews/extensions/enigmail/Makefile.in
+ @${REINPLACE_CMD} -e '/em:version/s,>[^<]*<,>${EM_VERSION}<,' \
+ -e '/em:maxVersion/s/pre//' \
+ ${WRKSRC}/mailnews/extensions/enigmail/package/install.rdf
+.endif
pre-configure:
(cd ${WRKSRC} && ${AUTOCONF})
(cd ${MOZSRC} && ${AUTOCONF})
(cd ${MOZSRC}/js/src/ && ${AUTOCONF})
+.if ${PORT_OPTIONS:MENIGMAIL}
+post-build:
+ cd ${WRKSRC}/mailnews/extensions/enigmail && \
+ ./makemake -r -o ${MOZ_OBJDIR}
+ ${SETENV} ${MAKE_ENV} ${GMAKE} ${_MAKE_JOBS} all xpi \
+ -C ${MOZ_OBJDIR}/mailnews/extensions/enigmail
+.endif
+
port-pre-install:
${MKDIR} ${FAKEDIR}/lib/${PORTNAME}/defaults
@@ -130,7 +171,25 @@ post-install:
@${ECHO_CMD} '@unexec ${RM} -f ${LOCALBASE}/lib/thunderbird/extensions/${XPI_ID}' >> ${TMPPLIST}
@(cd ${XPI_LIBDIR}; ${FIND} ${XPI_ID} -type d) | ${SORT} -r | \
${SED} -ne 's,^,@dirrm lib/xpi/,p' >> ${TMPPLIST}
- @${ECHO_CMD} '@unexec rmdir %D/lib/xpi/symlinks/thunderbird 2>/dev/null || true' >> ${TMPPLIST}
+.endif
+.if ${PORT_OPTIONS:MENIGMAIL}
+ @${MKDIR} ${XPI_LIBDIR}/${EM_ID} ${XPI_LIBDIR}/symlinks/${PORTNAME}
+ @(cd ${XPI_LIBDIR}/${EM_ID}; ${TAR} -xf ${EM_XPI_FILE})
+ @${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${XPI_LIBDIR}/${EM_ID}
+ @${REINPLACE_CMD} -i "" "s/${EM_ORIG_ID}/${EM_ID}/" ${EM_ID_RFILES}
+ @${CHMOD} -R a+rX,go-w ${XPI_LIBDIR}/${EM_ID}
+ @${LN} -sf ${XPI_LIBDIR}/${EM_ID} ${LOCALBASE}/lib/${PORTNAME}/extensions 2>/dev/null || true
+ @${LN} -sf ${XPI_LIBDIR}/${EM_ID} ${XPI_LIBDIR}/symlinks/${PORTNAME} 2>/dev/null || true
+ @(cd ${XPI_LIBDIR}; ${FIND} ${EM_ID} -not -type d) | ${SORT} | \
+ ${SED} -ne 's,^,lib/xpi/,p' >> ${TMPPLIST}
+ @${ECHO_CMD} 'lib/xpi/symlinks/${PORTNAME}/${EM_ID}' >> ${TMPPLIST}
+ @${ECHO_CMD} '@exec ${LN} -sf %D/lib/xpi/${EM_ID} ${LOCALBASE}/lib/${PORTNAME}/extensions 2>/dev/null || true' >> ${TMPPLIST}
+ @${ECHO_CMD} '@unexec ${RM} -f ${LOCALBASE}/lib/${PORTNAME}/extensions/${EM_ID}' >> ${TMPPLIST}
+ @(cd ${XPI_LIBDIR}; ${FIND} ${EM_ID} -type d) | ${SORT} -r | \
+ ${SED} -ne 's,^,@dirrm lib/xpi/,p' >> ${TMPPLIST}
+.endif
+.if ${PORT_OPTIONS:MLIGHTNING} || ${PORT_OPTIONS:MENIGMAIL}
+ @${ECHO_CMD} '@unexec rmdir %D/lib/xpi/symlinks/${PORTNAME} 2>/dev/null || true' >> ${TMPPLIST}
@${ECHO_CMD} '@unexec rmdir %D/lib/xpi/symlinks 2>/dev/null || true' >> ${TMPPLIST}
@${ECHO_CMD} '@unexec rmdir %D/lib/xpi 2>/dev/null || true' >> ${TMPPLIST}
.endif
diff --git a/mail/thunderbird-esr/distinfo b/mail/thunderbird-esr/distinfo
index b9363cb1d1a8..5daa78ce2bd4 100644
--- a/mail/thunderbird-esr/distinfo
+++ b/mail/thunderbird-esr/distinfo
@@ -1,2 +1,4 @@
-SHA256 (thunderbird-10.0.7esr.source.tar.bz2) = 994ca16a01e4446747b54b1b5fb2bda11aec2c92359571bffa0f6c8e45f27c35
-SIZE (thunderbird-10.0.7esr.source.tar.bz2) = 97590919
+SHA256 (thunderbird-10.0.8esr.source.tar.bz2) = 9575f9f97fab48d36b3a24040db83fb9b92de913b3689e9910afaf39a486fbbd
+SIZE (thunderbird-10.0.8esr.source.tar.bz2) = 97594384
+SHA256 (enigmail-1.4.5.tar.gz) = fa59491fba21de9414a003933349074a8ec1833a1d64cac9f0a9f7020ed6c020
+SIZE (enigmail-1.4.5.tar.gz) = 1269207
diff --git a/mail/thunderbird-esr/files/patch-bug351181 b/mail/thunderbird-esr/files/patch-bug351181
deleted file mode 100644
index c52535eaca09..000000000000
--- a/mail/thunderbird-esr/files/patch-bug351181
+++ /dev/null
@@ -1,28 +0,0 @@
---- mozilla/js/src/jsnum.cpp.orig Sun Nov 5 18:37:07 2006
-+++ mozilla/js/src/jsnum.cpp Sun Nov 5 18:42:31 2006
-@@ -45,6 +45,9 @@
- #if defined(XP_WIN) || defined(XP_OS2)
- #include <float.h>
- #endif
-+#if defined(__FreeBSD__)
-+#include <sys/param.h>
-+#endif
- #include <locale.h>
- #include <limits.h>
- #include <math.h>
-@@ -532,7 +535,15 @@ static jsdouble NaN;
-
- #else
-
-+#if defined(__FreeBSD__) && __FreeBSD_version >= 601000
-+#include <fenv.h>
-+#define FIX_FPU() (fedisableexcept(FE_ALL_EXCEPT))
-+
-+#else
-+
- #define FIX_FPU() ((void)0)
-+
-+#endif /* defined(__FreeBSD__) && __FreeBSD_version >= 503000 */
-
- #endif
-
diff --git a/mail/thunderbird-esr/files/patch-bug543241 b/mail/thunderbird-esr/files/patch-bug543241
index 36f97229af92..6e4afce640ae 100644
--- a/mail/thunderbird-esr/files/patch-bug543241
+++ b/mail/thunderbird-esr/files/patch-bug543241
@@ -1,5 +1,16 @@
--- ./mozilla/xpcom/threads/nsThreadManager.cpp.orig 2011-08-25 02:37:45.000000000 +0200
+++ ./mozilla/xpcom/threads/nsThreadManager.cpp 2011-08-28 17:14:14.000000000 +0200
+@@ -12,6 +12,10 @@
+ #include "nsAutoPtr.h"
+ #include "nsCycleCollectorUtils.h"
+
++#if defined(__FreeBSD__)
++#include <osreldate.h>
++#endif
++
+ using namespace mozilla;
+
+ #ifdef XP_WIN
@@ -89,6 +89,11 @@
nsresult
nsThreadManager::Init()
diff --git a/mail/thunderbird-esr/files/patch-bug753046 b/mail/thunderbird-esr/files/patch-bug753046
index 7aff5f1c2a22..63700c2f41d8 100644
--- a/mail/thunderbird-esr/files/patch-bug753046
+++ b/mail/thunderbird-esr/files/patch-bug753046
@@ -451,7 +451,7 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread.h,v 1.1 2012/03/06 12:34:0
--- mozilla/ipc/chromium/src/base/platform_thread.h.orig 2011-12-20 23:28:19.000000000 +0000
+++ mozilla/ipc/chromium/src/base/platform_thread.h
-@@ -22,9 +22,11 @@ typedef void* PlatformThreadHandle; // HANDLE
+@@ -22,9 +22,12 @@ typedef void* PlatformThreadHandle; // HANDLE
#elif defined(OS_POSIX)
#include <pthread.h>
typedef pthread_t PlatformThreadHandle;
@@ -460,6 +460,7 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread.h,v 1.1 2012/03/06 12:34:0
#include <unistd.h>
typedef pid_t PlatformThreadId;
+#elif defined(OS_BSD)
++#include <sys/types.h>
+typedef lwpid_t PlatformThreadId;
#elif defined(OS_MACOSX)
#include <mach/mach.h>
diff --git a/mail/thunderbird-esr/files/patch-bug781474 b/mail/thunderbird-esr/files/patch-bug781474
deleted file mode 100644
index 358d40c1f988..000000000000
--- a/mail/thunderbird-esr/files/patch-bug781474
+++ /dev/null
@@ -1,11 +0,0 @@
---- mozilla/content/base/public/nsContentUtils.h.orig 2011-07-07 10:44:49.000000000 +0200
-+++ mozilla/content/base/public/nsContentUtils.h 2011-07-07 10:46:12.000000000 +0200
-@@ -54,7 +54,7 @@
- //A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
- #ifdef __FreeBSD__
- #include <ieeefp.h>
--#ifdef __alpha__
-+#if !defined(__amd64__) && !defined(__i386__)
- static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
- #else
- static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP|FP_X_DNML;
diff --git a/mail/thunderbird-esr/files/patch-bug785638 b/mail/thunderbird-esr/files/patch-bug785638
deleted file mode 100644
index 99632c6b496f..000000000000
--- a/mail/thunderbird-esr/files/patch-bug785638
+++ /dev/null
@@ -1,168 +0,0 @@
-diff --git configure.in configure.in
-index cef992b..3bd39ca 100644
---- mozilla/configure.in
-+++ mozilla/configure.in
-@@ -5353,22 +5353,6 @@ if test -n "$MOZ_VP8" -a -z "$MOZ_NATIVE_LIBVPX"; then
-
- dnl See if we have assembly on this platform.
- case "$OS_ARCH:$CPU_ARCH" in
-- Linux:x86)
-- VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
-- VPX_X86_ASM=1
-- ;;
-- Linux:x86_64)
-- VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
-- VPX_X86_ASM=1
-- ;;
-- SunOS:x86)
-- VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
-- VPX_X86_ASM=1
-- ;;
-- SunOS:x86_64)
-- VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
-- VPX_X86_ASM=1
-- ;;
- Darwin:x86)
- VPX_ASFLAGS="-f macho32 -rnasm -pnasm -DPIC"
- VPX_X86_ASM=1
-@@ -5412,6 +5388,19 @@ if test -n "$MOZ_VP8" -a -z "$MOZ_NATIVE_LIBVPX"; then
- VPX_ASM_SUFFIX="$ASM_SUFFIX"
- VPX_ARM_ASM=1
- fi
-+ ;;
-+ *:x86)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
-+ VPX_X86_ASM=1
-+ fi
-+ ;;
-+ *:x86_64)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
-+ VPX_X86_ASM=1
-+ fi
-+ ;;
- esac
-
- if test -n "$COMPILE_ENVIRONMENT" -a -n "$VPX_X86_ASM" -a -z "$VPX_AS"; then
-@@ -5843,22 +5832,6 @@ if test -n "$MOZ_LIBJPEG_TURBO"; then
-
- dnl Do we support libjpeg-turbo on this platform?
- case "$OS_ARCH:$OS_TEST" in
-- Linux:x86|Linux:i?86)
-- LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
-- LIBJPEG_TURBO_X86_ASM=1
-- ;;
-- Linux:x86_64)
-- LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
-- LIBJPEG_TURBO_X64_ASM=1
-- ;;
-- SunOS:i?86)
-- LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
-- LIBJPEG_TURBO_X86_ASM=1
-- ;;
-- SunOS:x86_64)
-- LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
-- LIBJPEG_TURBO_X64_ASM=1
-- ;;
- Darwin:i?86)
- LIBJPEG_TURBO_ASFLAGS="-f macho32 -rnasm -pnasm -DPIC -DMACHO"
- LIBJPEG_TURBO_X86_ASM=1
-@@ -5879,6 +5852,18 @@ if test -n "$MOZ_LIBJPEG_TURBO"; then
- LIBJPEG_TURBO_ASFLAGS="-march=armv7-a -mfpu=neon"
- LIBJPEG_TURBO_ARM_ASM=1
- ;;
-+ *:x86|*:i?86)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
-+ LIBJPEG_TURBO_X86_ASM=1
-+ fi
-+ ;;
-+ *:x86_64)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
-+ LIBJPEG_TURBO_X64_ASM=1
-+ fi
-+ ;;
- esac
-
- fi
-diff --git media/libvpx/update.sh media/libvpx/update.sh
-index 79e0fb1..51956af 100755
---- mozilla/media/libvpx/update.sh
-+++ mozilla/media/libvpx/update.sh
-@@ -363,12 +363,12 @@ cp $1/objdir/x86-win32-vs8/vpx_config.h vpx_config_x86-win32-vs8.h
- # Should be same for all platforms...
- cp $1/objdir/x86-win32-vs8/vpx_version.h vpx_version.h
-
--# Config files for x86-linux-gcc and Solaris x86
-+# Config files for x86-linux-gcc and other x86 elf platforms
- cp $1/objdir/x86-linux-gcc/vpx_config.c vpx_config_x86-linux-gcc.c
- cp $1/objdir/x86-linux-gcc/vpx_config.asm vpx_config_x86-linux-gcc.asm
- cp $1/objdir/x86-linux-gcc/vpx_config.h vpx_config_x86-linux-gcc.h
-
--# Config files for x86_64-linux-gcc and Solaris x86_64
-+# Config files for x86_64-linux-gcc and other x86_64 elf platforms
- cp $1/objdir/x86_64-linux-gcc/vpx_config.c vpx_config_x86_64-linux-gcc.c
- cp $1/objdir/x86_64-linux-gcc/vpx_config.asm vpx_config_x86_64-linux-gcc.asm
- cp $1/objdir/x86_64-linux-gcc/vpx_config.h vpx_config_x86_64-linux-gcc.h
-diff --git media/libvpx/vpx_config.h media/libvpx/vpx_config.h
-index 55433f3..36e1780 100644
---- mozilla/media/libvpx/vpx_config.h
-+++ mozilla/media/libvpx/vpx_config.h
-@@ -16,20 +16,12 @@
- /* 32 bit MacOS. */
- #include "vpx_config_x86-darwin9-gcc.h"
-
--#elif defined(__linux__) && defined(__i386__)
--/* 32 bit Linux. */
-+#elif defined(__ELF__) && (defined(__i386) || defined(__i386__))
-+/* 32 bit ELF platforms. */
- #include "vpx_config_x86-linux-gcc.h"
-
--#elif defined(__linux__) && defined(__x86_64__)
--/* 64 bit Linux. */
--#include "vpx_config_x86_64-linux-gcc.h"
--
--#elif defined(__sun) && defined(__i386)
--/* 32 bit Solaris. */
--#include "vpx_config_x86-linux-gcc.h"
--
--#elif defined(__sun) && defined(__x86_64)
--/* 64 bit Solaris. */
-+#elif defined(__ELF__) && (defined(__x86_64) || defined(__x86_64__))
-+/* 64 bit ELF platforms. */
- #include "vpx_config_x86_64-linux-gcc.h"
-
- #else
-diff --git media/libvpx/vpx_config_c.c media/libvpx/vpx_config_c.c
-index eedd515..c8b5375 100644
---- mozilla/media/libvpx/vpx_config_c.c
-+++ mozilla/media/libvpx/vpx_config_c.c
-@@ -12,22 +12,14 @@
- /* 32 bit MacOS. */
- #include "vpx_config_x86-darwin9-gcc.c"
-
--#elif defined(__linux__) && defined(__i386__)
--/* 32 bit Linux. */
-+#elif defined(__ELF__) && (defined(__i386) || defined(__i386__))
-+/* 32 bit ELF platforms. */
- #include "vpx_config_x86-linux-gcc.c"
-
--#elif defined(__linux__) && defined(__x86_64__)
--/* 64 bit Linux. */
-+#elif defined(__ELF__) && (defined(__x86_64) || defined(__x86_64__))
-+/* 64 bit ELF platforms. */
- #include "vpx_config_x86_64-linux-gcc.c"
-
--#elif defined(__sun) && defined(__i386)
--/* 32 bit Solaris. */
--#include "vpx_config_x86-linux-gcc.h"
--
--#elif defined(__sun) && defined(__x86_64)
--/* 64 bit Solaris. */
--#include "vpx_config_x86_64-linux-gcc.h"
--
- #elif defined(_MSC_VER) && defined(_M_X64)
- #include "vpx_config_x86_64-win64-vs8.c"
-
diff --git a/mail/thunderbird-esr/files/patch-bug788108 b/mail/thunderbird-esr/files/patch-bug788108
new file mode 100644
index 000000000000..db2399499397
--- /dev/null
+++ b/mail/thunderbird-esr/files/patch-bug788108
@@ -0,0 +1,20 @@
+--- mozilla/content/base/public/nsContentUtils.h~
++++ mozilla/content/base/public/nsContentUtils.h
+@@ -18,17 +18,6 @@
+ #include <ieeefp.h>
+ #endif
+
+-//A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
+-#ifdef __FreeBSD__
+-#include <ieeefp.h>
+-#ifdef __alpha__
+-static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
+-#else
+-static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP|FP_X_DNML;
+-#endif
+-static fp_except_t oldmask = fpsetmask(~allmask);
+-#endif
+-
+ #include "nsAString.h"
+ #include "nsIStatefulFrame.h"
+ #include "nsNodeInfoManager.h"
diff --git a/mail/thunderbird-esr/files/patch-bug789436 b/mail/thunderbird-esr/files/patch-bug789436
new file mode 100644
index 000000000000..2479d8e69c78
--- /dev/null
+++ b/mail/thunderbird-esr/files/patch-bug789436
@@ -0,0 +1,27 @@
+--- mozilla/toolkit/xre/nsAppRunner.cpp~
++++ mozilla/toolkit/xre/nsAppRunner.cpp
+@@ -1388,11 +1388,6 @@ static int MSCRTReportHook( int aReportType, char *aMessage, int *oReturnValue)
+
+ #endif
+
+-#if defined(FREEBSD)
+-// pick up fpsetmask prototype.
+-#include <ieeefp.h>
+-#endif
+-
+ static inline void
+ DumpVersion()
+ {
+@@ -4136,12 +4131,5 @@ SetupErrorHandling(const char* progname)
+
+ // Unbuffer stdout, needed for tinderbox tests.
+ setbuf(stdout, 0);
+-
+-#if defined(FREEBSD)
+- // Disable all SIGFPE's on FreeBSD, as it has non-IEEE-conformant fp
+- // trap behavior that trips up on floating-point tests performed by
+- // the JS engine. See bugzilla bug 9967 details.
+- fpsetmask(0);
+-#endif
+ }
+
diff --git a/mail/thunderbird-esr/files/patch-bug789693 b/mail/thunderbird-esr/files/patch-bug789693
new file mode 100644
index 000000000000..82b76c8d0a7c
--- /dev/null
+++ b/mail/thunderbird-esr/files/patch-bug789693
@@ -0,0 +1,108 @@
+--- mozilla/toolkit/components/startup/nsAppStartup.cpp
++++ mozilla/toolkit/components/startup/nsAppStartup.cpp
+@@ -50,17 +50,40 @@
+ #include <sys/syscall.h>
+ #endif
+
+-#ifdef XP_MACOSX
++#if defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
++#include <sys/param.h>
+ #include <sys/sysctl.h>
+ #endif
+
+-#ifdef __OpenBSD__
+-#include <sys/param.h>
+-#include <sys/sysctl.h>
++#if defined(__DragonFly__) || defined(__FreeBSD__)
++#include <sys/user.h>
+ #endif
+
+ #include "mozilla/Telemetry.h"
+
++#if defined(__NetBSD__)
++#undef KERN_PROC
++#define KERN_PROC KERN_PROC2
++#define KINFO_PROC struct kinfo_proc2
++#else
++#define KINFO_PROC struct kinfo_proc
++#endif
++
++#if defined(XP_MACOSX)
++#define KP_START_SEC kp_proc.p_un.__p_starttime.tv_sec
++#define KP_START_USEC kp_proc.p_un.__p_starttime.tv_usec
++#elif defined(__DragonFly__)
++#define KP_START_SEC kp_start.tv_sec
++#define KP_START_USEC kp_start.tv_usec
++#elif defined(__FreeBSD__)
++#define KP_START_SEC ki_start.tv_sec
++#define KP_START_USEC ki_start.tv_usec
++#else
++#define KP_START_SEC p_ustart_sec
++#define KP_START_USEC p_ustart_usec
++#endif
++
+ static NS_DEFINE_CID(kAppShellCID, NS_APPSHELL_CID);
+
+ using namespace mozilla;
+@@ -836,42 +859,30 @@ CalculateProcessCreationTimestamp()
+ #endif
+ return timestamp;
+ }
+-#elif defined(XP_MACOSX)
++#elif defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
+ static PRTime
+ CalculateProcessCreationTimestamp()
+ {
+- int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid() };
+- size_t buffer_size;
+- if (sysctl(mib, 4, NULL, &buffer_size, NULL, 0))
+- return 0;
++ int mib[] = {
++ CTL_KERN,
++ KERN_PROC,
++ KERN_PROC_PID,
++ getpid(),
++#if defined(__NetBSD__) || defined(__OpenBSD__)
++ sizeof(KINFO_PROC),
++ 1,
++#endif
++ };
++ u_int miblen = sizeof(mib) / sizeof(mib[0]);
+
+- struct kinfo_proc *proc = (kinfo_proc*) malloc(buffer_size);
+- if (sysctl(mib, 4, proc, &buffer_size, NULL, 0)) {
+- free(proc);
+- return 0;
+- }
+- PRTime starttime = static_cast<PRTime>(proc->kp_proc.p_un.__p_starttime.tv_sec) * PR_USEC_PER_SEC;
+- starttime += proc->kp_proc.p_un.__p_starttime.tv_usec;
+- free(proc);
+- return starttime;
+-}
+-#elif defined(__OpenBSD__)
+-static PRTime
+-CalculateProcessCreationTimestamp()
+-{
+- int mib[6] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid(), sizeof(struct kinfo_proc), 1 };
+- size_t buffer_size;
+- if (sysctl(mib, 6, NULL, &buffer_size, NULL, 0))
++ KINFO_PROC proc;
++ size_t buffer_size = sizeof(proc);
++ if (sysctl(mib, miblen, &proc, &buffer_size, NULL, 0))
+ return 0;
+
+- struct kinfo_proc *proc = (struct kinfo_proc*) malloc(buffer_size);
+- if (sysctl(mib, 6, proc, &buffer_size, NULL, 0)) {
+- free(proc);
+- return 0;
+- }
+- PRTime starttime = static_cast<PRTime>(proc->p_ustart_sec) * PR_USEC_PER_SEC;
+- starttime += proc->p_ustart_usec;
+- free(proc);
++ PRTime starttime = static_cast<PRTime>(proc.KP_START_SEC) * PR_USEC_PER_SEC;
++ starttime += proc.KP_START_USEC;
+ return starttime;
+ }
+ #else
diff --git a/mail/thunderbird-esr/files/patch-bug791305 b/mail/thunderbird-esr/files/patch-bug791305
new file mode 100644
index 000000000000..e4c44a405f57
--- /dev/null
+++ b/mail/thunderbird-esr/files/patch-bug791305
@@ -0,0 +1,107 @@
+commit c269a16
+Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
+Date: Fri Sep 14 15:54:55 2012 -0400
+
+ Bug 791305. Use libjpeg's color conversion code instead of our own. r=joe,r=khuey
+
+ libjpeg-turbo supports converting directly to a format compatible with cairo's
+ FORMAT_RGB24. Use that instead of our own handcoded function. This also gives
+ us SSE2 and NEON version of this function.
+
+ --HG--
+ extra : rebase_source : 18f48925f023a33ec2a097d4f4e5cc2ab40be1e9
+---
+ configure.in | 6 +-
+ image/decoders/nsJPEGDecoder.cpp | 311 ++-------------------------------------
+ 2 files changed, 20 insertions(+), 297 deletions(-)
+
+diff --git mozilla/image/decoders/nsJPEGDecoder.cpp mozilla/image/decoders/nsJPEGDecoder.cpp
+index c1fb515..1d2a259 100644
+--- mozilla/image/decoders/nsJPEGDecoder.cpp
++++ mozilla/image/decoders/nsJPEGDecoder.cpp
+@@ -22,6 +22,13 @@
+ extern "C" {
+ #include "iccjpeg.h"
+
++#ifdef JCS_EXTENSIONS
++#if defined(IS_BIG_ENDIAN)
++#define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_XRGB
++#else
++#define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_BGRX
++#endif
++#else
+ /* Colorspace conversion (copied from jpegint.h) */
+ struct jpeg_color_deconverter {
+ JMETHOD(void, start_pass, (j_decompress_ptr cinfo));
+@@ -34,6 +41,7 @@ METHODDEF(void)
+ ycc_rgb_convert_argb (j_decompress_ptr cinfo,
+ JSAMPIMAGE input_buf, JDIMENSION input_row,
+ JSAMPARRAY output_buf, int num_rows);
++#endif
+ }
+
+ static void cmyk_convert_rgb(JSAMPROW row, JDIMENSION width);
+@@ -329,7 +340,18 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount)
+ case JCS_GRAYSCALE:
+ case JCS_RGB:
+ case JCS_YCbCr:
++#ifdef JCS_EXTENSIONS
++ // if we're not color managing we can decode directly to
++ // MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB
++ if (mCMSMode != eCMSMode_All) {
++ mInfo.out_color_space = MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB;
++ mInfo.out_color_components = 4;
++ } else {
++ mInfo.out_color_space = JCS_RGB;
++ }
++#else
+ mInfo.out_color_space = JCS_RGB;
++#endif
+ break;
+ case JCS_CMYK:
+ case JCS_YCCK:
+@@ -397,6 +419,7 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount)
+ return; /* I/O suspension */
+ }
+
++#ifndef JCS_EXTENSIONS
+ /* Force to use our YCbCr to Packed RGB converter when possible */
+ if (!mTransform && (mCMSMode != eCMSMode_All) &&
+ mInfo.jpeg_color_space == JCS_YCbCr && mInfo.out_color_space == JCS_RGB) {
+@@ -404,6 +427,7 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount)
+ mInfo.out_color_components = 4; /* Packed ARGB pixels are always 4 bytes...*/
+ mInfo.cconvert->color_convert = ycc_rgb_convert_argb;
+ }
++#endif
+
+ /* If this is a progressive JPEG ... */
+ mState = mInfo.buffered_image ? JPEG_DECOMPRESS_PROGRESSIVE : JPEG_DECOMPRESS_SEQUENTIAL;
+@@ -542,7 +566,11 @@ nsJPEGDecoder::OutputScanlines(bool* suspend)
+ PRUint32 *imageRow = ((PRUint32*)mImageData) +
+ (mInfo.output_scanline * mInfo.output_width);
+
++#ifdef JCS_EXTENSIONS
++ if (mInfo.out_color_space == MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB) {
++#else
+ if (mInfo.cconvert->color_convert == ycc_rgb_convert_argb) {
++#endif
+ /* Special case: scanline will be directly converted into packed ARGB */
+ if (jpeg_read_scanlines(&mInfo, (JSAMPARRAY)&imageRow, 1) != 1) {
+ *suspend = true; /* suspend */
+@@ -858,6 +887,7 @@ term_source (j_decompress_ptr jd)
+ } // namespace mozilla
+
+
++#ifndef JCS_EXTENSIONS
+ /**************** YCbCr -> Cairo's RGB24/ARGB32 conversion: most common case **************/
+
+ /*
+@@ -1130,7 +1160,8 @@ ycc_rgb_convert_argb (j_decompress_ptr cinfo,
+ }
+ }
+ }
++#endif
+
+
+ /**************** Inverted CMYK -> RGB conversion **************/
+ /*
diff --git a/mail/thunderbird-esr/files/patch-bug791366 b/mail/thunderbird-esr/files/patch-bug791366
new file mode 100644
index 000000000000..f7eb443b9a26
--- /dev/null
+++ b/mail/thunderbird-esr/files/patch-bug791366
@@ -0,0 +1,124 @@
+diff --git mozilla/xpcom/base/nsMemoryReporterManager.cpp mozilla/xpcom/base/nsMemoryReporterManager.cpp
+index a9aff58..674e757 100644
+--- mozilla/xpcom/base/nsMemoryReporterManager.cpp
++++ mozilla/xpcom/base/nsMemoryReporterManager.cpp
+@@ -64,7 +64,7 @@ extern void jemalloc_stats(jemalloc_stat
+ # endif // XP_LINUX
+ #endif // MOZ_MEMORY
+
+-#if defined(XP_LINUX) || defined(XP_MACOSX)
++#ifdef XP_UNIX
+
+ #include <sys/time.h>
+ #include <sys/resource.h>
+@@ -122,6 +122,78 @@ static PRInt64 GetResident()
+ return GetProcSelfStatmField(1);
+ }
+
++#elif defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
++
++#include <sys/param.h>
++#include <sys/sysctl.h>
++#if defined(__DragonFly__) || defined(__FreeBSD__)
++#include <sys/user.h>
++#endif
++
++#include <unistd.h>
++
++#if defined(__NetBSD__)
++#undef KERN_PROC
++#define KERN_PROC KERN_PROC2
++#define KINFO_PROC struct kinfo_proc2
++#else
++#define KINFO_PROC struct kinfo_proc
++#endif
++
++#if defined(__DragonFly__)
++#define KP_SIZE(kp) (kp.kp_vm_map_size)
++#define KP_RSS(kp) (kp.kp_vm_rssize * getpagesize())
++#elif defined(__FreeBSD__)
++#define KP_SIZE(kp) (kp.ki_size)
++#define KP_RSS(kp) (kp.ki_rssize * getpagesize())
++#elif defined(__NetBSD__)
++#define KP_SIZE(kp) (kp.p_vm_msize * getpagesize())
++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize())
++#elif defined(__OpenBSD__)
++#define KP_SIZE(kp) ((kp.p_vm_dsize + kp.p_vm_ssize \
++ + kp.p_vm_tsize) * getpagesize())
++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize())
++#endif
++
++static nsresult GetKinfoProcSelf(KINFO_PROC *proc)
++{
++ int mib[] = {
++ CTL_KERN,
++ KERN_PROC,
++ KERN_PROC_PID,
++ getpid(),
++#if defined(__NetBSD__) || defined(__OpenBSD__)
++ sizeof(KINFO_PROC),
++ 1,
++#endif
++ };
++ u_int miblen = sizeof(mib) / sizeof(mib[0]);
++ size_t size = sizeof(KINFO_PROC);
++ if (sysctl(mib, miblen, proc, &size, NULL, 0))
++ return NS_ERROR_FAILURE;
++
++ return NS_OK;
++}
++
++static PRInt64 GetVsize()
++{
++ KINFO_PROC proc;
++ if (NS_SUCCEEDED(GetKinfoProcSelf(&proc)))
++ return KP_SIZE(proc);
++
++ return -1;
++}
++
++static PRInt64 GetResident()
++{
++ KINFO_PROC proc;
++ if (NS_SUCCEEDED(GetKinfoProcSelf(&proc)))
++ return KP_RSS(proc);
++
++ return -1;
++}
++
+ #elif defined(XP_MACOSX)
+
+ #include <mach/mach_init.h>
+@@ -224,7 +297,7 @@ static PRInt64 GetResident()
+
+ #endif
+
+-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(XP_WIN)
++#if defined(XP_UNIX) || defined(XP_WIN)
+ NS_MEMORY_REPORTER_IMPLEMENT(Vsize,
+ "vsize",
+ KIND_OTHER,
+@@ -239,7 +312,7 @@ NS_MEMORY_REPORTER_IMPLEMENT(Vsize,
+ "measure of the memory resources used by the process.")
+ #endif
+
+-#if defined(XP_LINUX) || defined(XP_MACOSX)
++#if defined(XP_UNIX)
+ NS_MEMORY_REPORTER_IMPLEMENT(PageFaultsSoft,
+ "page-faults-soft",
+ KIND_OTHER,
+@@ -457,11 +530,11 @@ nsMemoryReporterManager::Init()
+ REGISTER(HeapUnallocated);
+ REGISTER(Resident);
+
+-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(XP_WIN)
++#if defined(XP_UNIX) || defined(XP_WIN)
+ REGISTER(Vsize);
+ #endif
+
+-#if defined(XP_LINUX) || defined(XP_MACOSX)
++#if defined(XP_UNIX)
+ REGISTER(PageFaultsSoft);
+ REGISTER(PageFaultsHard);
+ #endif
diff --git a/mail/thunderbird-esr/files/patch-clang32-libc++-visibility-hack b/mail/thunderbird-esr/files/patch-clang32-libc++-visibility-hack
deleted file mode 100644
index 9b920f63be0f..000000000000
--- a/mail/thunderbird-esr/files/patch-clang32-libc++-visibility-hack
+++ /dev/null
@@ -1,57 +0,0 @@
---- configure.in~
-+++ configure.in
-@@ -2855,6 +2855,7 @@ EOF
- #pragma GCC visibility push(hidden)
- #pragma GCC visibility push(default)
- #include <string.h>
-+#include <iterator>
- #pragma GCC visibility pop
-
- __attribute__ ((visibility ("default"))) void Func() {
-@@ -2863,7 +2864,7 @@ __attribute__ ((visibility ("default"))) void Func() {
- }
- EOF
- ac_cv_have_visibility_builtin_bug=no
-- if ! ${CC-cc} ${CFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
-+ if ! ${CXX-c++} ${CXXFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
- ac_cv_have_visibility_builtin_bug=yes
- else
- if test `grep -c "@PLT" conftest.S` = 0; then
---- mozilla/configure.in~
-+++ mozilla/configure.in
-@@ -2855,6 +2855,7 @@ EOF
- #pragma GCC visibility push(hidden)
- #pragma GCC visibility push(default)
- #include <string.h>
-+#include <iterator>
- #pragma GCC visibility pop
-
- __attribute__ ((visibility ("default"))) void Func() {
-@@ -2863,7 +2864,7 @@ __attribute__ ((visibility ("default"))) void Func() {
- }
- EOF
- ac_cv_have_visibility_builtin_bug=no
-- if ! ${CC-cc} ${CFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
-+ if ! ${CXX-c++} ${CXXFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
- ac_cv_have_visibility_builtin_bug=yes
- else
- if test `grep -c "@PLT" conftest.S` = 0; then
---- mozilla/js/src/configure.in~
-+++ mozilla/js/src/configure.in
-@@ -2855,6 +2855,7 @@ EOF
- #pragma GCC visibility push(hidden)
- #pragma GCC visibility push(default)
- #include <string.h>
-+#include <iterator>
- #pragma GCC visibility pop
-
- __attribute__ ((visibility ("default"))) void Func() {
-@@ -2863,7 +2864,7 @@ __attribute__ ((visibility ("default"))) void Func() {
- }
- EOF
- ac_cv_have_visibility_builtin_bug=no
-- if ! ${CC-cc} ${CFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
-+ if ! ${CXX-c++} ${CXXFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
- ac_cv_have_visibility_builtin_bug=yes
- else
- if test `grep -c "@PLT" conftest.S` = 0; then
diff --git a/mail/thunderbird-esr/files/patch-clang32-visibility-hack b/mail/thunderbird-esr/files/patch-clang32-visibility-hack
new file mode 100644
index 000000000000..010130bc7a44
--- /dev/null
+++ b/mail/thunderbird-esr/files/patch-clang32-visibility-hack
@@ -0,0 +1,30 @@
+--- configure.in~
++++ configure.in
+@@ -3230,6 +3230,7 @@ EOF
+ ac_cv_have_visibility_class_bug,
+ [cat > conftest.c <<EOF
+ #pragma GCC visibility push(hidden)
++struct TestStruct;
+ struct __attribute__ ((visibility ("default"))) TestStruct {
+ static void Init();
+ };
+--- mozilla/configure.in~
++++ mozilla/configure.in
+@@ -3230,6 +3230,7 @@ EOF
+ ac_cv_have_visibility_class_bug,
+ [cat > conftest.c <<EOF
+ #pragma GCC visibility push(hidden)
++struct TestStruct;
+ struct __attribute__ ((visibility ("default"))) TestStruct {
+ static void Init();
+ };
+--- mozilla/js/src/configure.in~
++++ mozilla/js/src/configure.in
+@@ -3230,6 +3230,7 @@ EOF
+ ac_cv_have_visibility_class_bug,
+ [cat > conftest.c <<EOF
+ #pragma GCC visibility push(hidden)
++struct TestStruct;
+ struct __attribute__ ((visibility ("default"))) TestStruct {
+ static void Init();
+ };
diff --git a/mail/thunderbird-esr/files/patch-mozilla-extensions-spellcheck-hunspell-src-mozHunspell.cpp b/mail/thunderbird-esr/files/patch-mozilla-extensions-spellcheck-hunspell-src-mozHunspell.cpp
new file mode 100644
index 000000000000..165e7f647be3
--- /dev/null
+++ b/mail/thunderbird-esr/files/patch-mozilla-extensions-spellcheck-hunspell-src-mozHunspell.cpp
@@ -0,0 +1,15 @@
+--- mozilla/extensions/spellcheck/hunspell/src/mozHunspell.cpp~
++++ mozilla/extensions/spellcheck/hunspell/src/mozHunspell.cpp
+@@ -400,6 +400,12 @@ mozHunspell::LoadDictionaryList()
+ }
+ }
+
++ // load system hunspell dictionaries
++ nsIFile* hunDir;
++ NS_NewNativeLocalFile(NS_LITERAL_CSTRING("%%LOCALBASE%%/share/hunspell"),
++ true, (nsILocalFile**)&hunDir);
++ LoadDictionariesFromDir(hunDir);
++
+ // find dictionaries from extensions requiring restart
+ nsCOMPtr<nsISimpleEnumerator> dictDirs;
+ rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST,
diff --git a/mail/thunderbird-esr/files/patch-mozilla_toolkit_xre_glxtest.cpp b/mail/thunderbird-esr/files/patch-mozilla_toolkit_xre_glxtest.cpp
deleted file mode 100644
index f338b4bdedb5..000000000000
--- a/mail/thunderbird-esr/files/patch-mozilla_toolkit_xre_glxtest.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
---- mozilla/toolkit/xre/glxtest.cpp.orig 2011-08-19 18:57:10.604870746 +0300
-+++ mozilla/toolkit/xre/glxtest.cpp 2011-08-19 18:59:43.620447963 +0300
-@@ -51,6 +51,8 @@
- // which runs the glxtest() static function. This creates a X connection, a GLX context, calls glGetString, and writes that
- // to the 'write' end of the pipe.
-
-+#include <sys/types.h>
-+#include <sys/wait.h>
- #include <cstdio>
- #include <cstdlib>
- #include <unistd.h>
-@@ -224,6 +226,7 @@
- void fire_glxtest_process()
- {
- int pfd[2];
-+ int status;
- if (pipe(pfd) == -1) {
- perror("pipe");
- exit(EXIT_FAILURE);
-@@ -244,4 +247,5 @@
- close(pfd[1]);
- mozilla::widget::glxtest_pipe = pfd[0];
- mozilla::widget::glxtest_pid = pid;
-+ waitpid(pid, &status, 0);
- }
diff --git a/mail/thunderbird-i18n/Makefile b/mail/thunderbird-i18n/Makefile
index d328aebc3567..70182a0d80cf 100644
--- a/mail/thunderbird-i18n/Makefile
+++ b/mail/thunderbird-i18n/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= thunderbird-i18n
-PORTVERSION= 15.0.1
+PORTVERSION= 16.0
CATEGORIES= mail
MASTER_SITE_SUBDIR= thunderbird/releases/${PORTVERSION}/linux-i686/xpi
PKGNAMEPREFIX=
@@ -27,7 +27,7 @@ RUN_DEPENDS+= xpi-quick-locale-switcher>=0:${PORTSDIR}/www/xpi-quick-locale-swit
.endif
NO_BUILD= yes
-USE_THUNDERBIRD= 15
+USE_THUNDERBIRD= 16
USE_XPI= thunderbird linux-thunderbird
THUNDERBIRD_I18N_ALL= ar br ca cs da de en-GB en-US es-AR es-ES et eu fi fr \
diff --git a/mail/thunderbird-i18n/distinfo b/mail/thunderbird-i18n/distinfo
index 5057aa31e4ce..f59e08bbdc03 100644
--- a/mail/thunderbird-i18n/distinfo
+++ b/mail/thunderbird-i18n/distinfo
@@ -1,84 +1,84 @@
-SHA256 (xpi/thunderbird-i18n-15.0.1/ar.xpi) = 9af683a899abd10a3a4ff17bd5a797c60641c9da58cf01a4019b7c7c4f445194
-SIZE (xpi/thunderbird-i18n-15.0.1/ar.xpi) = 435262
-SHA256 (xpi/thunderbird-i18n-15.0.1/br.xpi) = 90fe132c2c1767595711a4536c2c93304bbea7c42fa6b0710b3bac49ddffa372
-SIZE (xpi/thunderbird-i18n-15.0.1/br.xpi) = 438660
-SHA256 (xpi/thunderbird-i18n-15.0.1/ca.xpi) = 8470c05da1c423fd38da9837f76c189971bb537381f0c0cb65ca95fca43b1556
-SIZE (xpi/thunderbird-i18n-15.0.1/ca.xpi) = 407348
-SHA256 (xpi/thunderbird-i18n-15.0.1/cs.xpi) = 90ca43eb261e99041fe2bd64f67e196dc1821de16b4b3f7f4024c991c2a8cba7
-SIZE (xpi/thunderbird-i18n-15.0.1/cs.xpi) = 434947
-SHA256 (xpi/thunderbird-i18n-15.0.1/da.xpi) = 0476b760f8d39cf7af512812e8d04eb51a4cc8c443b3ad0dd3aa230575a258f2
-SIZE (xpi/thunderbird-i18n-15.0.1/da.xpi) = 389626
-SHA256 (xpi/thunderbird-i18n-15.0.1/de.xpi) = 980032ab7db317ed04da3db5b3c631fb51d2436e027a12b1889f2b252bdfccc5
-SIZE (xpi/thunderbird-i18n-15.0.1/de.xpi) = 409788
-SHA256 (xpi/thunderbird-i18n-15.0.1/en-GB.xpi) = 06cb10c47703220689bc370c1897cc1fb94d74842982aa3d6274711e27e95901
-SIZE (xpi/thunderbird-i18n-15.0.1/en-GB.xpi) = 412989
-SHA256 (xpi/thunderbird-i18n-15.0.1/en-US.xpi) = b4f02ead4d9ff92b00f6fb979d510b1c0bbc562b8e0f363e54946ee07377e192
-SIZE (xpi/thunderbird-i18n-15.0.1/en-US.xpi) = 381215
-SHA256 (xpi/thunderbird-i18n-15.0.1/es-AR.xpi) = 1a7009430732bc38bc506d6138060e2bb0843a3f891ebc7b90479cfcfa24a651
-SIZE (xpi/thunderbird-i18n-15.0.1/es-AR.xpi) = 408795
-SHA256 (xpi/thunderbird-i18n-15.0.1/es-ES.xpi) = c41dc7e0bbc99cd54a18b1f9e465074a75a1441abe46413f3042d5375007eb0f
-SIZE (xpi/thunderbird-i18n-15.0.1/es-ES.xpi) = 367306
-SHA256 (xpi/thunderbird-i18n-15.0.1/et.xpi) = 0604f6c45a049d51404dfaa5e8917c784c9661f6f083011bd5bb828165bcbe86
-SIZE (xpi/thunderbird-i18n-15.0.1/et.xpi) = 433783
-SHA256 (xpi/thunderbird-i18n-15.0.1/eu.xpi) = 24d546b00b6b93b7a36ab5d9b722a4f11042dd5730b941fcbc51e41acd3c4542
-SIZE (xpi/thunderbird-i18n-15.0.1/eu.xpi) = 396428
-SHA256 (xpi/thunderbird-i18n-15.0.1/fi.xpi) = 52232c71f8174d764aeae052dad31684a029924734c6dbd94641fe50ec42516c
-SIZE (xpi/thunderbird-i18n-15.0.1/fi.xpi) = 435059
-SHA256 (xpi/thunderbird-i18n-15.0.1/fr.xpi) = 46c1d995b26b6d0caa23bcd5e568fe316f79d7700513fccafc649282782eed05
-SIZE (xpi/thunderbird-i18n-15.0.1/fr.xpi) = 433614
-SHA256 (xpi/thunderbird-i18n-15.0.1/fy-NL.xpi) = fcb869c52fae47cb6369b942e047157ddbe84f385b7c05d3f1356037788f4f21
-SIZE (xpi/thunderbird-i18n-15.0.1/fy-NL.xpi) = 437192
-SHA256 (xpi/thunderbird-i18n-15.0.1/ga-IE.xpi) = 78d5f0d549197fa0eb42f858423c357573f2d96ad9c9861a8b80bcab1dbf2d91
-SIZE (xpi/thunderbird-i18n-15.0.1/ga-IE.xpi) = 415281
-SHA256 (xpi/thunderbird-i18n-15.0.1/gd.xpi) = 7c4ab77458cbcb430f3fe2b822e278a1e4303fef0f32c77932a2acb3f57c4eb5
-SIZE (xpi/thunderbird-i18n-15.0.1/gd.xpi) = 440848
-SHA256 (xpi/thunderbird-i18n-15.0.1/gl.xpi) = c570c00bfb921ed45ef0139b61345c031028892424e0e114d0e6ef90a81da6bb
-SIZE (xpi/thunderbird-i18n-15.0.1/gl.xpi) = 435423
-SHA256 (xpi/thunderbird-i18n-15.0.1/he.xpi) = c8bc1e2dce2ecc85c339d336031d82e1ec1b07881801cba5be95c406e04af4c0
-SIZE (xpi/thunderbird-i18n-15.0.1/he.xpi) = 469275
-SHA256 (xpi/thunderbird-i18n-15.0.1/hu.xpi) = f32b5368cd899d594a7865f385c3917f8eec47b81b799898e61d31f6d36e3d62
-SIZE (xpi/thunderbird-i18n-15.0.1/hu.xpi) = 421987
-SHA256 (xpi/thunderbird-i18n-15.0.1/is.xpi) = 0b60ebea597ab79cac7714bad836943cda8c50aa00ecb15763d737c60cb4e065
-SIZE (xpi/thunderbird-i18n-15.0.1/is.xpi) = 403711
-SHA256 (xpi/thunderbird-i18n-15.0.1/it.xpi) = d5696cb46497fc029c64a91166b0c5c3ec63155defeac8262a38099fd34e1d22
-SIZE (xpi/thunderbird-i18n-15.0.1/it.xpi) = 357249
-SHA256 (xpi/thunderbird-i18n-15.0.1/ja.xpi) = d8b98fb4d0212dd6273ede351736d4e2c746ab3cc5585ddc21e412dd0f8b1b8c
-SIZE (xpi/thunderbird-i18n-15.0.1/ja.xpi) = 490588
-SHA256 (xpi/thunderbird-i18n-15.0.1/ko.xpi) = 80b098bf5a467e339ead3463d9a22b2041e899f73f1cfecddb51960ac5a516ba
-SIZE (xpi/thunderbird-i18n-15.0.1/ko.xpi) = 401190
-SHA256 (xpi/thunderbird-i18n-15.0.1/lt.xpi) = 3f52a194b6db7539ddfb5a9111168de7c29668807a8973edfe89d1bb12a0fd72
-SIZE (xpi/thunderbird-i18n-15.0.1/lt.xpi) = 520468
-SHA256 (xpi/thunderbird-i18n-15.0.1/nb-NO.xpi) = 33576f29675c9caa8382fc567d52c7cc77664dc7ca64c220563e27e20a652ba6
-SIZE (xpi/thunderbird-i18n-15.0.1/nb-NO.xpi) = 430654
-SHA256 (xpi/thunderbird-i18n-15.0.1/nl.xpi) = df63c3d13bf1e659de4d044745e4047dd0643045c37d7c0c76072579d5347a51
-SIZE (xpi/thunderbird-i18n-15.0.1/nl.xpi) = 430881
-SHA256 (xpi/thunderbird-i18n-15.0.1/nn-NO.xpi) = bfae4cf04d4c798742e4b4731b074c6380595fc283112bc759e1b7cc0c4dfe04
-SIZE (xpi/thunderbird-i18n-15.0.1/nn-NO.xpi) = 436707
-SHA256 (xpi/thunderbird-i18n-15.0.1/pl.xpi) = ff4f8ca29f3aedaa9144ab9579d75e57e5ecec4d8ba6815d2e9fa7730f076bc8
-SIZE (xpi/thunderbird-i18n-15.0.1/pl.xpi) = 390140
-SHA256 (xpi/thunderbird-i18n-15.0.1/pt-BR.xpi) = 93eb71b913c8ea974c48ca7067b655131fd7900ac9941fb6f90862e0350e6830
-SIZE (xpi/thunderbird-i18n-15.0.1/pt-BR.xpi) = 427393
-SHA256 (xpi/thunderbird-i18n-15.0.1/pt-PT.xpi) = ebed48091fcfe4181d3e5a28a4faf0d6c21bf4672b8387c6a9e0d52717eb7ac8
-SIZE (xpi/thunderbird-i18n-15.0.1/pt-PT.xpi) = 438011
-SHA256 (xpi/thunderbird-i18n-15.0.1/rm.xpi) = b0d1d250f6721d6ad91a8439872a1b5593dcbb8efc7f00af0f9236e711ccd51d
-SIZE (xpi/thunderbird-i18n-15.0.1/rm.xpi) = 440886
-SHA256 (xpi/thunderbird-i18n-15.0.1/ru.xpi) = d6dfb01e920c5806080c4739c034a9a7de3c44a6c88b92d612b39299f7ae667c
-SIZE (xpi/thunderbird-i18n-15.0.1/ru.xpi) = 406859
-SHA256 (xpi/thunderbird-i18n-15.0.1/si.xpi) = 41e853d72f94369d236b69054e6b71309da48b8b207ab2f961fd7a5b4a7a43a7
-SIZE (xpi/thunderbird-i18n-15.0.1/si.xpi) = 485346
-SHA256 (xpi/thunderbird-i18n-15.0.1/sk.xpi) = c3ff8958a2440928d7a08b1721aa11bd630cbb1263c8f717508852b20c09704e
-SIZE (xpi/thunderbird-i18n-15.0.1/sk.xpi) = 420003
-SHA256 (xpi/thunderbird-i18n-15.0.1/sl.xpi) = 58c4affe96600869e152f4acf881bbd6fa4e8f5be77185f263386151326d0307
-SIZE (xpi/thunderbird-i18n-15.0.1/sl.xpi) = 434000
-SHA256 (xpi/thunderbird-i18n-15.0.1/sq.xpi) = c19bae7063b858a3ce76c4c0eeb1fdcb697f3edf6de204ff93a37144ec9d6563
-SIZE (xpi/thunderbird-i18n-15.0.1/sq.xpi) = 388800
-SHA256 (xpi/thunderbird-i18n-15.0.1/sv-SE.xpi) = 6d885b7307e3beccf82b4aa151a83ce555bd3c6669995db288d93e99f1aa0a89
-SIZE (xpi/thunderbird-i18n-15.0.1/sv-SE.xpi) = 508104
-SHA256 (xpi/thunderbird-i18n-15.0.1/ta-LK.xpi) = 1eae23920ef5c604fc40ba61b3c0d0b0092ca8b5e61f85ea0ad818f2f827472b
-SIZE (xpi/thunderbird-i18n-15.0.1/ta-LK.xpi) = 505280
-SHA256 (xpi/thunderbird-i18n-15.0.1/tr.xpi) = 217e02a366a0585a01d2cbacccce8a2db5a71cfd3dff67cce6607d8ceca47b7a
-SIZE (xpi/thunderbird-i18n-15.0.1/tr.xpi) = 436085
-SHA256 (xpi/thunderbird-i18n-15.0.1/uk.xpi) = 92873d76263c4064927102a57ce8cf4834e0ac557b19c291794eebc8fa3ec64c
-SIZE (xpi/thunderbird-i18n-15.0.1/uk.xpi) = 475372
-SHA256 (xpi/thunderbird-i18n-15.0.1/zh-TW.xpi) = 6d1b2e937d4aa4fa07f7654ea38725bd3c461915d8f3d297da748571cb5bf2bb
-SIZE (xpi/thunderbird-i18n-15.0.1/zh-TW.xpi) = 426399
+SHA256 (xpi/thunderbird-i18n-16.0/ar.xpi) = f23ae8565cfdbcb1a133efebb5090c217edc98f6aa98c9c79b92899250a81a49
+SIZE (xpi/thunderbird-i18n-16.0/ar.xpi) = 442486
+SHA256 (xpi/thunderbird-i18n-16.0/br.xpi) = c09f9122eeb63a7fd9639906a39f09f8ff94ac2bc96b7e92807a351e7032418a
+SIZE (xpi/thunderbird-i18n-16.0/br.xpi) = 444719
+SHA256 (xpi/thunderbird-i18n-16.0/ca.xpi) = 3fac11c76ca48a5696b07589bf8caf083adc64474a8c041431b3b1910ca27f0a
+SIZE (xpi/thunderbird-i18n-16.0/ca.xpi) = 413617
+SHA256 (xpi/thunderbird-i18n-16.0/cs.xpi) = a3f038fe3b34bf257941c9b701310d3e4a743cdca24bd5a98e44ca383a573d9c
+SIZE (xpi/thunderbird-i18n-16.0/cs.xpi) = 417486
+SHA256 (xpi/thunderbird-i18n-16.0/da.xpi) = ecd1dc1cf4ecc6897cd7176cd15de843190db28920975d606367e3b56242e949
+SIZE (xpi/thunderbird-i18n-16.0/da.xpi) = 400021
+SHA256 (xpi/thunderbird-i18n-16.0/de.xpi) = 1ace053d4505b7c430b6e204dec7f62bbbd396dae476700e267d81c5492ed0c7
+SIZE (xpi/thunderbird-i18n-16.0/de.xpi) = 389181
+SHA256 (xpi/thunderbird-i18n-16.0/en-GB.xpi) = 1a5ffdf73129290873e4ab8a37ef593592c90d79e197f849e8b76da59a92299c
+SIZE (xpi/thunderbird-i18n-16.0/en-GB.xpi) = 418453
+SHA256 (xpi/thunderbird-i18n-16.0/en-US.xpi) = 1023c8e56c4ce882c9db89c120be32cccec79de774c65629501b91494267b41c
+SIZE (xpi/thunderbird-i18n-16.0/en-US.xpi) = 388053
+SHA256 (xpi/thunderbird-i18n-16.0/es-AR.xpi) = 315f073af2a7a93141205698abc57dbd021e16eb150439e8f879a4665baf891f
+SIZE (xpi/thunderbird-i18n-16.0/es-AR.xpi) = 413819
+SHA256 (xpi/thunderbird-i18n-16.0/es-ES.xpi) = 08f24f9ef17e82fac8d431544d1cf33fe5ac7ba03ac31fe2d55986c100a787ba
+SIZE (xpi/thunderbird-i18n-16.0/es-ES.xpi) = 372048
+SHA256 (xpi/thunderbird-i18n-16.0/et.xpi) = 5d2ec3e11af2e9b28405f3d5fb0cbad55f12316040a929732c17ecb9bc4f6f68
+SIZE (xpi/thunderbird-i18n-16.0/et.xpi) = 438666
+SHA256 (xpi/thunderbird-i18n-16.0/eu.xpi) = 4cce51d26602f826a643a76d497e123302c9808e7fa8c75a8f423a6149882347
+SIZE (xpi/thunderbird-i18n-16.0/eu.xpi) = 402953
+SHA256 (xpi/thunderbird-i18n-16.0/fi.xpi) = cc94f6fc5687b6445eb9936218221f6c651a8a04ce684d736837a77a15507eab
+SIZE (xpi/thunderbird-i18n-16.0/fi.xpi) = 440314
+SHA256 (xpi/thunderbird-i18n-16.0/fr.xpi) = 7d1e6882e843c9fdc3d892fcbb9d7d8d3d450b94479d3a812792e20c7678d573
+SIZE (xpi/thunderbird-i18n-16.0/fr.xpi) = 439396
+SHA256 (xpi/thunderbird-i18n-16.0/fy-NL.xpi) = 0fab7274cde2a3bbf66c3b20ad34b2acc68ee8a36fb7fad1bd8b2fec7e5f60ee
+SIZE (xpi/thunderbird-i18n-16.0/fy-NL.xpi) = 438193
+SHA256 (xpi/thunderbird-i18n-16.0/ga-IE.xpi) = 67cbb3cbca84197f4633ca7c458e9c259cd32c723eedffc04dea457a8f3c0d4d
+SIZE (xpi/thunderbird-i18n-16.0/ga-IE.xpi) = 422254
+SHA256 (xpi/thunderbird-i18n-16.0/gd.xpi) = 14a2bc29126768d4bfb68f1cf968116ba705013253df2e615656897268fd8333
+SIZE (xpi/thunderbird-i18n-16.0/gd.xpi) = 447082
+SHA256 (xpi/thunderbird-i18n-16.0/gl.xpi) = b597b26108c034235a748585ff7834dfdcec98e707951ef26c4c97b08d59b38c
+SIZE (xpi/thunderbird-i18n-16.0/gl.xpi) = 444884
+SHA256 (xpi/thunderbird-i18n-16.0/he.xpi) = 841fc237f5e374eb9628711feba6f49a6bc8e760fab7e24d8f15705bad1eca6e
+SIZE (xpi/thunderbird-i18n-16.0/he.xpi) = 479155
+SHA256 (xpi/thunderbird-i18n-16.0/hu.xpi) = a0493ee57ca31d7c7054e3c240e5524c4c81cee4f71bd0579333621ef773d3f8
+SIZE (xpi/thunderbird-i18n-16.0/hu.xpi) = 429235
+SHA256 (xpi/thunderbird-i18n-16.0/is.xpi) = 1f9e113df9b086e150ba04d3b5b5d99bd3adff2fb67b132c570e87253e99db34
+SIZE (xpi/thunderbird-i18n-16.0/is.xpi) = 410929
+SHA256 (xpi/thunderbird-i18n-16.0/it.xpi) = 0d3f4af52ed22b66a97777604c2eabd6c9ae86ebc7043051cf84cbe9e82354c6
+SIZE (xpi/thunderbird-i18n-16.0/it.xpi) = 362260
+SHA256 (xpi/thunderbird-i18n-16.0/ja.xpi) = 8f3f1972cc7dcdccf7efe14a355e890d95234ec597426d532023945eb01ca2ea
+SIZE (xpi/thunderbird-i18n-16.0/ja.xpi) = 460276
+SHA256 (xpi/thunderbird-i18n-16.0/ko.xpi) = bd5a6789be2969452b4f05d2f914b4c9b889dad506d1f96612423f3ef1cd14c1
+SIZE (xpi/thunderbird-i18n-16.0/ko.xpi) = 406180
+SHA256 (xpi/thunderbird-i18n-16.0/lt.xpi) = ec5544cffdd9a7557a1f5f9f638d3991900af3c6fb99d59dc6c9aecac39a5a2c
+SIZE (xpi/thunderbird-i18n-16.0/lt.xpi) = 518234
+SHA256 (xpi/thunderbird-i18n-16.0/nb-NO.xpi) = eed1cbfe6aa57dbf516a1d07e618cf896e4a83e9b3c4a3cfe7f68e41760a5517
+SIZE (xpi/thunderbird-i18n-16.0/nb-NO.xpi) = 423719
+SHA256 (xpi/thunderbird-i18n-16.0/nl.xpi) = 2ea0d533613e39baed8db853445d24e30aa385e013148f99043e3a183bea38e1
+SIZE (xpi/thunderbird-i18n-16.0/nl.xpi) = 436518
+SHA256 (xpi/thunderbird-i18n-16.0/nn-NO.xpi) = 94b0f3d8730c4a09de0cc3b1ba5bbc239c5526b0a10826d67b7bc38f0acb1f8a
+SIZE (xpi/thunderbird-i18n-16.0/nn-NO.xpi) = 428330
+SHA256 (xpi/thunderbird-i18n-16.0/pl.xpi) = f0e113d40ab6fcca36686efd6d564ecf2dd04616d856d2795bc86579efde8fa4
+SIZE (xpi/thunderbird-i18n-16.0/pl.xpi) = 400418
+SHA256 (xpi/thunderbird-i18n-16.0/pt-BR.xpi) = c4ab438acdf82154611c58986d0849ba25265856cc80b38bacdd185f8b8e06ef
+SIZE (xpi/thunderbird-i18n-16.0/pt-BR.xpi) = 433901
+SHA256 (xpi/thunderbird-i18n-16.0/pt-PT.xpi) = c7218a6b2177396544a71371a1dacaa9f186b5bbd98753f4742fc7174b5a87d6
+SIZE (xpi/thunderbird-i18n-16.0/pt-PT.xpi) = 447507
+SHA256 (xpi/thunderbird-i18n-16.0/rm.xpi) = b77d811a832b8dce0c38e3a95017bc7a4d514006f7544cb98775fe3f2d3e76bd
+SIZE (xpi/thunderbird-i18n-16.0/rm.xpi) = 450394
+SHA256 (xpi/thunderbird-i18n-16.0/ru.xpi) = cb0ff7917a63fcfabf54827f14658294c2b74859b6a7a012d60ac8add92a9754
+SIZE (xpi/thunderbird-i18n-16.0/ru.xpi) = 412751
+SHA256 (xpi/thunderbird-i18n-16.0/si.xpi) = 54b7288d80e0e760c4d80467bd958d8f0d6dbd47096c4586052ebb8915f1833f
+SIZE (xpi/thunderbird-i18n-16.0/si.xpi) = 490680
+SHA256 (xpi/thunderbird-i18n-16.0/sk.xpi) = 2275b50042e20b77cae11b2e28e138dd239fc31a87564c304ad1b8401424704e
+SIZE (xpi/thunderbird-i18n-16.0/sk.xpi) = 426652
+SHA256 (xpi/thunderbird-i18n-16.0/sl.xpi) = d48ae3d4127c7964da9dd5ea2e5cc2185980d155af28bd18671147cb5c17357a
+SIZE (xpi/thunderbird-i18n-16.0/sl.xpi) = 439713
+SHA256 (xpi/thunderbird-i18n-16.0/sq.xpi) = 75c9df6ad4485f71546f577788ad2d2811d3493766a78f80efb3f394ac01b74c
+SIZE (xpi/thunderbird-i18n-16.0/sq.xpi) = 395077
+SHA256 (xpi/thunderbird-i18n-16.0/sv-SE.xpi) = 171c348454f67a3961ccc96e4037cb8fdbaef4ebff3b4ea7665bc0721beeea28
+SIZE (xpi/thunderbird-i18n-16.0/sv-SE.xpi) = 516902
+SHA256 (xpi/thunderbird-i18n-16.0/ta-LK.xpi) = 469a5e6c4367f52f5f247ba577b70d028d36927e211edf0cb015dbc7195ce287
+SIZE (xpi/thunderbird-i18n-16.0/ta-LK.xpi) = 514905
+SHA256 (xpi/thunderbird-i18n-16.0/tr.xpi) = 684679710231f230b9ddb7d0a7eda87b25d9e0146f3671f8ef16e32ba2865711
+SIZE (xpi/thunderbird-i18n-16.0/tr.xpi) = 441867
+SHA256 (xpi/thunderbird-i18n-16.0/uk.xpi) = 3dec6654cc6a045f906a8620d8b4fd829d9a7d68cdf578c668e0d0051ef72099
+SIZE (xpi/thunderbird-i18n-16.0/uk.xpi) = 481713
+SHA256 (xpi/thunderbird-i18n-16.0/zh-TW.xpi) = 33b0f09d1126b42baf0266f3e6382c28329e76ae100920601ef435dc107fc3e0
+SIZE (xpi/thunderbird-i18n-16.0/zh-TW.xpi) = 433957
diff --git a/mail/thunderbird/Makefile b/mail/thunderbird/Makefile
index af83f3bca19d..0c8ec0cd9367 100644
--- a/mail/thunderbird/Makefile
+++ b/mail/thunderbird/Makefile
@@ -6,22 +6,25 @@
#
PORTNAME= thunderbird
-DISTVERSION= 15.0.1
+DISTVERSION= 16.0
CATEGORIES= mail ipv6
MASTER_SITES= ${MASTER_SITE_MOZILLA}
MASTER_SITE_SUBDIR= ${PORTNAME}/releases/${DISTVERSION}/source
-DISTNAME= ${PORTNAME}-${DISTVERSION}.source
+DISTFILES= ${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX}
+EXTRACT_ONLY= ${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX}
MAINTAINER= gecko@FreeBSD.org
COMMENT= Mozilla Thunderbird is standalone mail and news that stands above
BUILD_DEPENDS= nspr>=4.9:${PORTSDIR}/devel/nspr \
- nss>=3.13.2:${PORTSDIR}/security/nss \
+ nss>=3.13.6_1:${PORTSDIR}/security/nss \
sqlite3>=3.7.12.1:${PORTSDIR}/databases/sqlite3 \
${PYTHON_SITELIBDIR}/_sqlite3.so:${PORTSDIR}/databases/py-sqlite3 \
cairo>=1.10.2_1,1:${PORTSDIR}/graphics/cairo \
unzip:${PORTSDIR}/archivers/unzip
+EM_VERSION= 1.4.5
+
USE_AUTOTOOLS= autoconf213:env
USE_PYTHON_BUILD=yes
USE_GECKO= gecko
@@ -52,7 +55,8 @@ PORTNAME_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/chrome/icons/default/default48.png
SYSTEM_PREFS= ${FAKEDIR}/lib/${PORTNAME}/defaults/pref/${PORTNAME}.js
MOZ_PIS_SCRIPTS=moz_pis_S50cleanhome
-OPTIONS_DEFINE= GSTREAMER LIGHTNING
+OPTIONS_DEFINE= ENIGMAIL GSTREAMER LIGHTNING
+OPTIONS_DEFAULT=ENIGMAIL LIGHTNING
.include "${.CURDIR}/../../www/firefox/Makefile.options"
.include <bsd.port.pre.mk>
@@ -60,6 +64,8 @@ OPTIONS_DEFINE= GSTREAMER LIGHTNING
WRKSRC= ${WRKDIR}/comm-release
MOZSRC:= ${WRKSRC}/mozilla
+XPI_LIBDIR= ${PREFIX}/lib/xpi
+
.if ${ARCH} == amd64
CONFIGURE_TARGET=x86_64-portbld-freebsd${OSREL}
.elif ${ARCH} == powerpc64
@@ -75,12 +81,25 @@ CFLAGS+= -mminimal-toc
BUILD_DEPENDS+= yasm:${PORTSDIR}/devel/yasm
.endif
+.if ${PORT_OPTIONS:MENIGMAIL}
+MASTER_SITES+= http://www.enigmail.net/download/source/:enigmail
+DISTFILES+= ${EM_DISTFILE}:enigmail
+RUN_DEPENDS+= gpg:${PORTSDIR}/security/gnupg
+EM_DISTNAME= enigmail-${EM_VERSION}
+EM_DISTFILE= ${EM_DISTNAME}.tar.gz
+EM_XPI_FILE= ${MOZ_OBJDIR}/mozilla/dist/bin/${EM_DISTNAME}-freebsd-${ARCH:S/amd64/x86_64/}.xpi
+EM_ORIG_ID= {847b3a00-7ab1-11d4-8f02-006008948af5}
+EM_ID= ${PORTNAME}@mozilla-enigmail.org
+EM_ID_RFILES= ${XPI_LIBDIR}/${EM_ID}/install.rdf \
+ ${XPI_LIBDIR}/${EM_ID}/components/enigmail.js \
+ ${XPI_LIBDIR}/${EM_ID}/modules/enigmailCommon.jsm
+.endif
+
.if ${PORT_OPTIONS:MLIGHTNING}
MOZ_OPTIONS+= --enable-calendar
MOZ_MK_OPTIONS+= MOZ_CO_PROJECT=calendar
LIGHTNING_DIR= share/lightning
XPI_FILE= ${MOZ_OBJDIR}/mozilla/dist/xpi-stage/lightning.xpi
-XPI_LIBDIR= ${PREFIX}/lib/xpi
XPI_ORIG_ID= {e2fda1a4-762b-4020-b5ad-a41df1933103}
XPI_ID= lightning@thunderbird.mozilla.org
.else
@@ -90,16 +109,38 @@ MOZ_OPTIONS+= --disable-calendar
post-extract:
@${SED} -e 's|@PORTNAME_ICON@|${PORTNAME_ICON}|;s|@MOZILLA@|${MOZILLA}|' \
<${FILESDIR}/thunderbird.desktop.in >${WRKDIR}/${MOZILLA_EXEC_NAME}.desktop
+.if ${PORT_OPTIONS:MENIGMAIL}
+ @${TAR} -xf ${_DISTDIR}/${EM_DISTFILE} \
+ -C ${WRKSRC}/mailnews/extensions
+.endif
post-patch:
@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
${WRKSRC}/mail/app/nsMailApp.cpp
+.if ${PORT_OPTIONS:MENIGMAIL}
+ @${REINPLACE_CMD} -e 's,/usr/bin/perl,${PERL},' \
+ ${WRKSRC}/mailnews/extensions/enigmail/makemake
+ @${REINPLACE_CMD} -e '/^xpi/s/$$/ all/' \
+ -e '/^XPI_MODULE_VERS/s/= .*/= ${EM_VERSION}/' \
+ ${WRKSRC}/mailnews/extensions/enigmail/Makefile.in
+ @${REINPLACE_CMD} -e '/em:version/s,>[^<]*<,>${EM_VERSION}<,' \
+ -e '/em:maxVersion/s/pre//' \
+ ${WRKSRC}/mailnews/extensions/enigmail/package/install.rdf
+.endif
pre-configure:
(cd ${WRKSRC} && ${AUTOCONF})
(cd ${MOZSRC} && ${AUTOCONF})
(cd ${MOZSRC}/js/src/ && ${AUTOCONF})
+.if ${PORT_OPTIONS:MENIGMAIL}
+post-build:
+ cd ${WRKSRC}/mailnews/extensions/enigmail && \
+ ./makemake -r -o ${MOZ_OBJDIR}
+ ${SETENV} ${MAKE_ENV} ${GMAKE} ${_MAKE_JOBS} all xpi \
+ -C ${MOZ_OBJDIR}/mailnews/extensions/enigmail
+.endif
+
port-pre-install:
${MKDIR} ${FAKEDIR}/lib/${PORTNAME}/defaults
@@ -127,7 +168,25 @@ post-install:
@${ECHO_CMD} '@unexec ${RM} -f ${LOCALBASE}/lib/thunderbird/extensions/${XPI_ID}' >> ${TMPPLIST}
@(cd ${XPI_LIBDIR}; ${FIND} ${XPI_ID} -type d) | ${SORT} -r | \
${SED} -ne 's,^,@dirrm lib/xpi/,p' >> ${TMPPLIST}
- @${ECHO_CMD} '@unexec rmdir %D/lib/xpi/symlinks/thunderbird 2>/dev/null || true' >> ${TMPPLIST}
+.endif
+.if ${PORT_OPTIONS:MENIGMAIL}
+ @${MKDIR} ${XPI_LIBDIR}/${EM_ID} ${XPI_LIBDIR}/symlinks/${PORTNAME}
+ @(cd ${XPI_LIBDIR}/${EM_ID}; ${TAR} -xf ${EM_XPI_FILE})
+ @${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${XPI_LIBDIR}/${EM_ID}
+ @${REINPLACE_CMD} -i "" "s/${EM_ORIG_ID}/${EM_ID}/" ${EM_ID_RFILES}
+ @${CHMOD} -R a+rX,go-w ${XPI_LIBDIR}/${EM_ID}
+ @${LN} -sf ${XPI_LIBDIR}/${EM_ID} ${LOCALBASE}/lib/${PORTNAME}/extensions 2>/dev/null || true
+ @${LN} -sf ${XPI_LIBDIR}/${EM_ID} ${XPI_LIBDIR}/symlinks/${PORTNAME} 2>/dev/null || true
+ @(cd ${XPI_LIBDIR}; ${FIND} ${EM_ID} -not -type d) | ${SORT} | \
+ ${SED} -ne 's,^,lib/xpi/,p' >> ${TMPPLIST}
+ @${ECHO_CMD} 'lib/xpi/symlinks/${PORTNAME}/${EM_ID}' >> ${TMPPLIST}
+ @${ECHO_CMD} '@exec ${LN} -sf %D/lib/xpi/${EM_ID} ${LOCALBASE}/lib/${PORTNAME}/extensions 2>/dev/null || true' >> ${TMPPLIST}
+ @${ECHO_CMD} '@unexec ${RM} -f ${LOCALBASE}/lib/${PORTNAME}/extensions/${EM_ID}' >> ${TMPPLIST}
+ @(cd ${XPI_LIBDIR}; ${FIND} ${EM_ID} -type d) | ${SORT} -r | \
+ ${SED} -ne 's,^,@dirrm lib/xpi/,p' >> ${TMPPLIST}
+.endif
+.if ${PORT_OPTIONS:MLIGHTNING} || ${PORT_OPTIONS:MENIGMAIL}
+ @${ECHO_CMD} '@unexec rmdir %D/lib/xpi/symlinks/${PORTNAME} 2>/dev/null || true' >> ${TMPPLIST}
@${ECHO_CMD} '@unexec rmdir %D/lib/xpi/symlinks 2>/dev/null || true' >> ${TMPPLIST}
@${ECHO_CMD} '@unexec rmdir %D/lib/xpi 2>/dev/null || true' >> ${TMPPLIST}
.endif
diff --git a/mail/thunderbird/distinfo b/mail/thunderbird/distinfo
index c853790998fd..e44280bdd031 100644
--- a/mail/thunderbird/distinfo
+++ b/mail/thunderbird/distinfo
@@ -1,2 +1,4 @@
-SHA256 (thunderbird-15.0.1.source.tar.bz2) = bfa24c3595dae6c3ee3cbaca789e8b81bb47096127a7149c571d553f538cefc7
-SIZE (thunderbird-15.0.1.source.tar.bz2) = 105942872
+SHA256 (thunderbird-16.0.source.tar.bz2) = 868f8f0e333a363170f61074a92b2ee102ab8901077783a5d941424b51284d6b
+SIZE (thunderbird-16.0.source.tar.bz2) = 111414218
+SHA256 (enigmail-1.4.5.tar.gz) = fa59491fba21de9414a003933349074a8ec1833a1d64cac9f0a9f7020ed6c020
+SIZE (enigmail-1.4.5.tar.gz) = 1269207
diff --git a/mail/thunderbird/files/extra-bug780531 b/mail/thunderbird/files/extra-bug780531
index a63bcaed35fa..a035ce397cc7 100644
--- a/mail/thunderbird/files/extra-bug780531
+++ b/mail/thunderbird/files/extra-bug780531
@@ -1,13 +1,12 @@
--- mozilla/configure.in~
+++ mozilla/configure.in
-@@ -5585,10 +5585,13 @@ if test -n "$MOZ_OGG"; then
+@@ -5282,10 +5282,13 @@ if test -n "$MOZ_OGG"; then
MOZ_SYDNEYAUDIO=1
MOZ_CUBEB=1
MOZ_MEDIA=1
- case "$target_cpu" in
-- arm*)
+ case "$target" in
-+ arm-*-linux*)
+ arm*)
MOZ_TREMOR=1
;;
+ *-freebsd*)
@@ -16,14 +15,13 @@
*)
MOZ_VORBIS=1
;;
-@@ -5715,10 +5720,13 @@ if test -n "$MOZ_WEBM" -a -z "$MOZ_NATIV
+@@ -5417,10 +5420,13 @@ if test "$MOZ_WEBM"; then
MOZ_SYDNEYAUDIO=1
MOZ_CUBEB=1
MOZ_MEDIA=1
- case "$target_cpu" in
-- arm*)
+ case "$target" in
-+ arm-*-linux*)
+ arm*)
MOZ_TREMOR=1
;;
+ *-freebsd*)
diff --git a/mail/thunderbird/files/patch-bug351181 b/mail/thunderbird/files/patch-bug351181
deleted file mode 100644
index fdf4840c1441..000000000000
--- a/mail/thunderbird/files/patch-bug351181
+++ /dev/null
@@ -1,31 +0,0 @@
---- mozilla/js/src/jsnum.cpp.orig 2010-01-05 22:35:17.000000000 -0500
-+++ mozilla/js/src/jsnum.cpp 2010-01-11 05:10:19.000000000 -0500
-@@ -49,6 +49,9 @@
- // Avoid warnings about ASSERT being defined by the assembler as well.
- #undef ASSERT
-
-+#if defined(__FreeBSD__)
-+#include <sys/param.h>
-+#endif
- #ifdef XP_OS2
- #define _PC_53 PC_53
- #define _MCW_EM MCW_EM
-@@ -691,8 +694,18 @@
-
- #else
-
-+#if defined(__FreeBSD__)
-+#if __BSD_VISIBLE == 0
-+#error __BSD_VISIBLE is zero, so fedisableexcept is not defined
-+#endif
-+#include <fenv.h>
-+#define FIX_FPU() ((void)fedisableexcept(FE_ALL_EXCEPT))
-+#else
-+
- #define FIX_FPU() ((void)0)
-
-+#endif /* defined(__FreeBSD__) && __FreeBSD_version >= 503000 */
-+
- #endif
-
- JSBool
diff --git a/mail/thunderbird/files/patch-bug543241 b/mail/thunderbird/files/patch-bug543241
index 3cb45f175317..2aac3bb44466 100644
--- a/mail/thunderbird/files/patch-bug543241
+++ b/mail/thunderbird/files/patch-bug543241
@@ -1,5 +1,16 @@
--- ./mozilla/xpcom/threads/nsThreadManager.cpp.orig 2011-08-25 02:37:45.000000000 +0200
+++ ./mozilla/xpcom/threads/nsThreadManager.cpp 2011-08-28 17:14:14.000000000 +0200
+@@ -12,6 +12,10 @@
+ #include "nsAutoPtr.h"
+ #include "nsCycleCollectorUtils.h"
+
++#if defined(__FreeBSD__)
++#include <osreldate.h>
++#endif
++
+ using namespace mozilla;
+
+ #ifdef XP_WIN
@@ -57,6 +57,11 @@
nsresult
nsThreadManager::Init()
diff --git a/mail/thunderbird/files/patch-bug723860 b/mail/thunderbird/files/patch-bug723860
deleted file mode 100644
index d76dbfe6d20c..000000000000
--- a/mail/thunderbird/files/patch-bug723860
+++ /dev/null
@@ -1,54 +0,0 @@
-commit 4e07587
-Author: Matthew Gregan <kinetik@flim.org>
-Date: Wed Jun 6 17:58:07 2012 +1200
-
- Bug 723860 - Early bail from reader's GetBuffered() if not yet initialized. r=doublec
----
- content/media/gstreamer/nsGStreamerReader.cpp | 4 ++++
- content/media/ogg/nsOggReader.cpp | 3 +--
- content/media/wave/nsWaveReader.cpp | 3 +++
- 3 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git mozilla/content/media/gstreamer/nsGStreamerReader.cpp mozilla/content/media/gstreamer/nsGStreamerReader.cpp
-index 164fb2e..06a09b5 100644
---- mozilla/content/media/gstreamer/nsGStreamerReader.cpp
-+++ mozilla/content/media/gstreamer/nsGStreamerReader.cpp
-@@ -505,6 +505,10 @@ nsresult nsGStreamerReader::Seek(PRInt64 aTarget,
- nsresult nsGStreamerReader::GetBuffered(nsTimeRanges* aBuffered,
- PRInt64 aStartTime)
- {
-+ if (!mInfo.mHasVideo && !mInfo.mHasAudio) {
-+ return NS_OK;
-+ }
-+
- GstFormat format = GST_FORMAT_TIME;
- MediaResource* resource = mDecoder->GetResource();
- gint64 resourceLength = resource->GetLength();
-diff --git mozilla/content/media/ogg/nsOggReader.cpp mozilla/content/media/ogg/nsOggReader.cpp
-index c6ff008..8d40e2c 100644
---- mozilla/content/media/ogg/nsOggReader.cpp
-+++ mozilla/content/media/ogg/nsOggReader.cpp
-@@ -1532,8 +1532,7 @@ nsresult nsOggReader::GetBuffered(nsTimeRanges* aBuffered, PRInt64 aStartTime)
- {
- // HasAudio and HasVideo are not used here as they take a lock and cause
- // a deadlock. Accessing mInfo doesn't require a lock - it doesn't change
-- // after metadata is read and GetBuffered isn't called before metadata is
-- // read.
-+ // after metadata is read.
- if (!mInfo.mHasVideo && !mInfo.mHasAudio) {
- // No need to search through the file if there are no audio or video tracks
- return NS_OK;
-diff --git mozilla/content/media/wave/nsWaveReader.cpp mozilla/content/media/wave/nsWaveReader.cpp
-index 7242eb5..60fc1e1 100644
---- mozilla/content/media/wave/nsWaveReader.cpp
-+++ mozilla/content/media/wave/nsWaveReader.cpp
-@@ -239,6 +239,9 @@ static double RoundToUsecs(double aSeconds) {
-
- nsresult nsWaveReader::GetBuffered(nsTimeRanges* aBuffered, PRInt64 aStartTime)
- {
-+ if (!mInfo.mHasAudio) {
-+ return NS_OK;
-+ }
- PRInt64 startOffset = mDecoder->GetResource()->GetNextCachedData(mWavePCMOffset);
- while (startOffset >= 0) {
- PRInt64 endOffset = mDecoder->GetResource()->GetCachedDataEnd(startOffset);
diff --git a/mail/thunderbird/files/patch-bug753046 b/mail/thunderbird/files/patch-bug753046
index d20eebb42a3c..658d47f827bb 100644
--- a/mail/thunderbird/files/patch-bug753046
+++ b/mail/thunderbird/files/patch-bug753046
@@ -456,7 +456,7 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread.h,v 1.1 2012/03/06 12:34:0
--- mozilla/ipc/chromium/src/base/platform_thread.h.orig 2011-12-20 23:28:19.000000000 +0000
+++ mozilla/ipc/chromium/src/base/platform_thread.h
-@@ -22,9 +22,11 @@ typedef void* PlatformThreadHandle; // HANDLE
+@@ -22,9 +22,12 @@ typedef void* PlatformThreadHandle; // HANDLE
#elif defined(OS_POSIX)
#include <pthread.h>
typedef pthread_t PlatformThreadHandle;
@@ -465,6 +465,7 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread.h,v 1.1 2012/03/06 12:34:0
#include <unistd.h>
typedef pid_t PlatformThreadId;
+#elif defined(OS_BSD)
++#include <sys/types.h>
+typedef lwpid_t PlatformThreadId;
#elif defined(OS_MACOSX)
#include <mach/mach.h>
@@ -978,57 +979,6 @@ $NetBSD: patch-ipc_chromium_src_base_sys__info__posix.cc,v 1.2 2011/11/27 13:09:
#else
long pages = sysconf(_SC_PHYS_PAGES);
long page_size = sysconf(_SC_PAGE_SIZE);
-$NetBSD: patch-ipc_chromium_src_base_third__party_nspr_prcpucfg.h,v 1.2 2012/03/06 12:34:09 ryoon Exp $
-
---- mozilla/ipc/chromium/src/base/third_party/nspr/prcpucfg.h.orig 2011-12-20 23:28:19.000000000 +0000
-+++ mozilla/ipc/chromium/src/base/third_party/nspr/prcpucfg.h
-@@ -34,7 +34,7 @@
- #include "base/third_party/nspr/prcpucfg_win.h"
- #elif defined(__APPLE__)
- #include "base/third_party/nspr/prcpucfg_mac.h"
--#elif defined(__linux__) || defined(ANDROID)
-+#elif defined(__linux__) || defined(ANDROID) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
- #include "base/third_party/nspr/prcpucfg_linux.h"
- #elif defined(__OpenBSD__)
- #include "base/third_party/nspr/prcpucfg_openbsd.h"
-$NetBSD: patch-ipc_chromium_src_base_third__party_nspr_prtime.cc,v 1.1 2012/03/06 12:34:09 ryoon Exp $
-
---- mozilla/ipc/chromium/src/base/third_party/nspr/prtime.cc.orig 2011-12-20 23:28:19.000000000 +0000
-+++ mozilla/ipc/chromium/src/base/third_party/nspr/prtime.cc
-@@ -212,7 +212,7 @@ PR_ImplodeTime(const PRExplodedTime *exp
- LL_ADD(retVal, retVal, temp);
-
- return retVal;
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_DRAGONFLY)
- struct tm exp_tm = {0};
- exp_tm.tm_sec = exploded->tm_sec;
- exp_tm.tm_min = exploded->tm_min;
-@@ -245,6 +245,24 @@ PR_ImplodeTime(const PRExplodedTime *exp
- result *= kSecondsToMicroseconds;
- result += exploded->tm_usec;
- return result;
-+#elif defined(OS_FREEBSD) || defined(OS_NETBSD)
-+ struct tm exp_tm = {0};
-+ exp_tm.tm_sec = exploded->tm_sec;
-+ exp_tm.tm_min = exploded->tm_min;
-+ exp_tm.tm_hour = exploded->tm_hour;
-+ exp_tm.tm_mday = exploded->tm_mday;
-+ exp_tm.tm_mon = exploded->tm_month;
-+ exp_tm.tm_year = exploded->tm_year - 1900;
-+
-+ // time_t is 64bit
-+ time_t absolute_time = timegm(&exp_tm);
-+
-+ PRTime result = static_cast<PRTime>(absolute_time);
-+ result -= exploded->tm_params.tp_gmt_offset +
-+ exploded->tm_params.tp_dst_offset;
-+ result *= kSecondsToMicroseconds;
-+ result += exploded->tm_usec;
-+ return result;
- #else
- #error No PR_ImplodeTime implemented on your platform.
- #endif
diff --git ipc/chromium/src/base/time_posix.cc ipc/chromium/src/base/time_posix.cc
index abf2a56..48791f6 100644
--- mozilla/ipc/chromium/src/base/time_posix.cc
diff --git a/mail/thunderbird/files/patch-bug759459 b/mail/thunderbird/files/patch-bug759459
deleted file mode 100644
index 5434a759b353..000000000000
--- a/mail/thunderbird/files/patch-bug759459
+++ /dev/null
@@ -1,24 +0,0 @@
-commit 4d0c5b9
-Author: Marco Perez <bugmail@millibyte.net>
-Date: Sat Jun 9 12:24:56 2012 -0400
-
- Bug 759459 - Build broken on FreeBSD since patch for bug 745034 landed. r=terrence
----
- js/src/gc/Memory.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git js/src/gc/Memory.cpp js/src/gc/Memory.cpp
-index 815e90b..10c1a91 100644
---- mozilla/js/src/gc/Memory.cpp
-+++ mozilla/js/src/gc/Memory.cpp
-@@ -292,9 +292,9 @@ GetPageFaultCount()
- #elif defined(XP_UNIX) || defined(XP_MACOSX) || defined(DARWIN)
-
- #include <sys/mman.h>
--#include <unistd.h>
- #include <sys/time.h>
- #include <sys/resource.h>
-+#include <unistd.h>
-
- void
- InitMemorySubsystem()
diff --git a/mail/thunderbird/files/patch-bug760899 b/mail/thunderbird/files/patch-bug760899
deleted file mode 100644
index c81b855e7fc2..000000000000
--- a/mail/thunderbird/files/patch-bug760899
+++ /dev/null
@@ -1,54 +0,0 @@
-commit 667daed
-Author: Stephen Moehle <stephen.moehle@gmail.com>
-Date: Tue Jun 5 11:32:36 2012 +1200
-
- Bug 760899 - Fix debug builds with gstreamer enabled - r=kinetik
-
- --HG--
- extra : rebase_source : 22598bc470d35d94991ea9f1b14df11ba19a461a
----
- content/media/gstreamer/nsGStreamerReader.cpp | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git content/media/gstreamer/nsGStreamerReader.cpp content/media/gstreamer/nsGStreamerReader.cpp
-index 6a50e09..164fb2e 100644
---- mozilla/content/media/gstreamer/nsGStreamerReader.cpp
-+++ mozilla/content/media/gstreamer/nsGStreamerReader.cpp
-@@ -278,7 +278,7 @@ nsresult nsGStreamerReader::ReadMetadata(nsVideoInfo* aInfo)
- if (gst_element_query_duration(GST_ELEMENT(mPlayBin),
- &format, &duration) && format == GST_FORMAT_TIME) {
- ReentrantMonitorAutoEnter mon(mDecoder->GetReentrantMonitor());
-- LOG(PR_LOG_DEBUG, ("returning duration %"GST_TIME_FORMAT,
-+ LOG(PR_LOG_DEBUG, ("returning duration %" GST_TIME_FORMAT,
- GST_TIME_ARGS (duration)));
- duration = GST_TIME_AS_USECONDS (duration);
- mDecoder->GetStateMachine()->SetDuration(duration);
-@@ -422,8 +422,8 @@ bool nsGStreamerReader::DecodeVideoFrame(bool &aKeyFrameSkip,
- nextTimestamp += gst_util_uint64_scale(GST_USECOND, fpsNum, fpsDen);
-
- if (timestamp < aTimeThreshold) {
-- LOG(PR_LOG_DEBUG, ("skipping frame %"GST_TIME_FORMAT
-- " threshold %"GST_TIME_FORMAT,
-+ LOG(PR_LOG_DEBUG, ("skipping frame %" GST_TIME_FORMAT
-+ " threshold %" GST_TIME_FORMAT,
- GST_TIME_ARGS(timestamp), GST_TIME_ARGS(aTimeThreshold)));
- gst_buffer_unref(buffer);
- buffer = NULL;
-@@ -489,7 +489,7 @@ nsresult nsGStreamerReader::Seek(PRInt64 aTarget,
- NS_ASSERTION(mDecoder->OnDecodeThread(), "Should be on decode thread.");
-
- gint64 seekPos = aTarget * GST_USECOND;
-- LOG(PR_LOG_DEBUG, ("%p About to seek to %"GST_TIME_FORMAT,
-+ LOG(PR_LOG_DEBUG, ("%p About to seek to %" GST_TIME_FORMAT,
- mDecoder, GST_TIME_ARGS(seekPos)));
-
- if (!gst_element_seek_simple(mPlayBin, GST_FORMAT_TIME,
-@@ -592,7 +592,7 @@ PRInt64 nsGStreamerReader::QueryDuration()
- if (gst_element_query_duration(GST_ELEMENT(mPlayBin),
- &format, &duration)) {
- if (format == GST_FORMAT_TIME) {
-- LOG(PR_LOG_DEBUG, ("pipeline duration %"GST_TIME_FORMAT,
-+ LOG(PR_LOG_DEBUG, ("pipeline duration %" GST_TIME_FORMAT,
- GST_TIME_ARGS (duration)));
- duration = GST_TIME_AS_USECONDS (duration);
- }
diff --git a/mail/thunderbird/files/patch-bug761030 b/mail/thunderbird/files/patch-bug761030
deleted file mode 100644
index d6b96cc697f3..000000000000
--- a/mail/thunderbird/files/patch-bug761030
+++ /dev/null
@@ -1,25 +0,0 @@
-commit 8bc9e15
-Author: Stephen Moehle <stephen.moehle@gmail.com>
-Date: Tue Jun 5 11:31:13 2012 +1200
-
- Bug 761030 - Fix crash with HTML 5 video with GStreamer enabled - r=kinetik
-
- --HG--
- extra : rebase_source : 5e884550f9870bd2fda247d50bebd472e8368588
----
- content/media/gstreamer/nsGStreamerReader.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git mozilla/content/media/gstreamer/nsGStreamerReader.cpp mozilla/content/media/gstreamer/nsGStreamerReader.cpp
-index 17374a3..6a50e09 100644
---- mozilla/content/media/gstreamer/nsGStreamerReader.cpp
-+++ mozilla/content/media/gstreamer/nsGStreamerReader.cpp
-@@ -452,6 +452,8 @@ bool nsGStreamerReader::DecodeVideoFrame(bool &aKeyFrameSkip,
- i, height);
- b.mPlanes[i].mWidth = gst_video_format_get_component_width(format,
- i, width);
-+ b.mPlanes[i].mOffset = 0;
-+ b.mPlanes[i].mSkip = 0;
- }
-
- bool isKeyframe = !GST_BUFFER_FLAG_IS_SET(buffer,
diff --git a/mail/thunderbird/files/patch-bug761419 b/mail/thunderbird/files/patch-bug761419
deleted file mode 100644
index 0c8c3d1d155a..000000000000
--- a/mail/thunderbird/files/patch-bug761419
+++ /dev/null
@@ -1,22 +0,0 @@
-commit f0a73aa
-Author: Paul Adenot <paul@paul.cx>
-Date: Thu Jun 21 20:44:39 2012 -0400
-
- Bug 761419 - Build failure in content/media/gstreamer/nsGStreamerReader.cpp when using clang r=kinetik
----
- content/media/gstreamer/nsGStreamerReader.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git content/media/gstreamer/nsGStreamerReader.cpp content/media/gstreamer/nsGStreamerReader.cpp
-index 06a09b5..c48f92e 100644
---- mozilla/content/media/gstreamer/nsGStreamerReader.cpp
-+++ mozilla/content/media/gstreamer/nsGStreamerReader.cpp
-@@ -191,7 +191,7 @@ nsresult nsGStreamerReader::ReadMetadata(nsVideoInfo* aInfo)
- * stream but that are otherwise decodeable.
- */
- guint flags[3] = {GST_PLAY_FLAG_VIDEO|GST_PLAY_FLAG_AUDIO,
-- ~GST_PLAY_FLAG_AUDIO, ~GST_PLAY_FLAG_VIDEO};
-+ static_cast<guint>(~GST_PLAY_FLAG_AUDIO), static_cast<guint>(~GST_PLAY_FLAG_VIDEO)};
- guint default_flags, current_flags;
- g_object_get(mPlayBin, "flags", &default_flags, NULL);
-
diff --git a/mail/thunderbird/files/patch-bug774671 b/mail/thunderbird/files/patch-bug774671
index 35fbe946041c..bc1c63bc2245 100644
--- a/mail/thunderbird/files/patch-bug774671
+++ b/mail/thunderbird/files/patch-bug774671
@@ -1,6 +1,31 @@
---- mozilla/js/src/jsprvtd.h.orig 2012-08-25 02:31:13.000000000 +0200
-+++ mozilla/js/src/jsprvtd.h 2012-09-06 17:14:09.000000000 +0200
-@@ -149,9 +149,9 @@
+commit 7e9eda2
+Author: Rafael Ávila de Espíndola <respindola@mozilla.com>
+Date: Tue Jul 17 12:54:41 2012 -0400
+
+ Bug 774671 - Fix mismatched declarations. r=luke.
+---
+ mozilla/js/src/jsproxy.h | 2 +-
+ mozilla/js/src/jsprvtd.h | 6 +++---
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git mozilla/js/src/jsproxy.h mozilla/js/src/jsproxy.h
+index ec26e3a..aa0e782 100644
+--- mozilla/js/src/jsproxy.h
++++ mozilla/js/src/jsproxy.h
+@@ -13,7 +13,7 @@
+
+ namespace js {
+
+-class Wrapper;
++class JS_FRIEND_API(Wrapper);
+
+ /*
+ * A proxy is a JSObject that implements generic behavior by providing custom
+diff --git mozilla/js/src/jsprvtd.h mozilla/js/src/jsprvtd.h
+index 19b5aef..93e1216 100644
+--- mozilla/js/src/jsprvtd.h
++++ mozilla/js/src/jsprvtd.h
+@@ -146,9 +146,9 @@ struct TreeContext;
class UpvarCookie;
class Proxy;
diff --git a/mail/thunderbird/files/patch-bug778056 b/mail/thunderbird/files/patch-bug778056
index 72eba848047d..468c103e4bf5 100644
--- a/mail/thunderbird/files/patch-bug778056
+++ b/mail/thunderbird/files/patch-bug778056
@@ -4,9 +4,9 @@
#if defined(XP_UNIX)
# include <unistd.h> // for valloc on *BSD
#endif //if defined(XP_UNIX)
-+#ifdef __FreeBSD__
++#if defined(__FreeBSD__)
+# include <malloc_np.h> // for malloc_usable_size
-+#endif
++#endif // if defined(__FreeBSD__)
#if defined(XP_WIN) || (defined(XP_OS2) && defined(__declspec))
# define MOZALLOC_EXPORT __declspec(dllexport)
diff --git a/mail/thunderbird/files/patch-bug778078 b/mail/thunderbird/files/patch-bug778078
index fc29c1ca5ecb..27be88312b95 100644
--- a/mail/thunderbird/files/patch-bug778078
+++ b/mail/thunderbird/files/patch-bug778078
@@ -1,9 +1,9 @@
--- mozilla/toolkit/xre/nsAppRunner.cpp~
+++ mozilla/toolkit/xre/nsAppRunner.cpp
-@@ -3819,7 +3819,7 @@ XREMain::XRE_main(int argc, char* argv[]
+@@ -3833,7 +3833,7 @@ XREMain::XRE_main(int argc, char* argv[]
ScopedLogging log;
- #if defined(MOZ_WIDGET_GTK2)
+ #if defined(MOZ_WIDGET_GTK)
-#ifdef MOZ_MEMORY
+#if defined(MOZ_MEMORY) || defined(__FreeBSD__) || defined(__NetBSD__)
// Disable the slice allocator, since jemalloc already uses similar layout
diff --git a/mail/thunderbird/files/patch-bug781474 b/mail/thunderbird/files/patch-bug781474
deleted file mode 100644
index 358d40c1f988..000000000000
--- a/mail/thunderbird/files/patch-bug781474
+++ /dev/null
@@ -1,11 +0,0 @@
---- mozilla/content/base/public/nsContentUtils.h.orig 2011-07-07 10:44:49.000000000 +0200
-+++ mozilla/content/base/public/nsContentUtils.h 2011-07-07 10:46:12.000000000 +0200
-@@ -54,7 +54,7 @@
- //A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
- #ifdef __FreeBSD__
- #include <ieeefp.h>
--#ifdef __alpha__
-+#if !defined(__amd64__) && !defined(__i386__)
- static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
- #else
- static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP|FP_X_DNML;
diff --git a/mail/thunderbird/files/patch-bug784776 b/mail/thunderbird/files/patch-bug784776
index fbc597902017..95d60a104809 100644
--- a/mail/thunderbird/files/patch-bug784776
+++ b/mail/thunderbird/files/patch-bug784776
@@ -1,20 +1,3 @@
---- mozilla/content/media/MediaEngineDefault.cpp~
-+++ mozilla/content/media/MediaEngineDefault.cpp
-@@ -232,12 +232,12 @@ nsresult
- MediaEngineDefaultAudioSource::Start(SourceMediaStream* aStream, TrackID aID)
- {
- if (mState != kAllocated) {
-- return NULL;
-+ return 0;
- }
-
- mTimer = do_CreateInstance(NS_TIMER_CONTRACTID);
- if (!mTimer) {
-- return NULL;
-+ return 0;
- }
-
- mSource = aStream;
--- mozilla/gfx/layers/opengl/ImageLayerOGL.cpp~
+++ mozilla/gfx/layers/opengl/ImageLayerOGL.cpp
@@ -936,7 +936,7 @@ ShadowImageLayerOGL::CleanupResources()
diff --git a/mail/thunderbird/files/patch-bug785638 b/mail/thunderbird/files/patch-bug785638
deleted file mode 100644
index 2ce1cd35a78a..000000000000
--- a/mail/thunderbird/files/patch-bug785638
+++ /dev/null
@@ -1,168 +0,0 @@
-diff --git configure.in configure.in
-index cef992b..3bd39ca 100644
---- mozilla/configure.in
-+++ mozilla/configure.in
-@@ -5353,22 +5353,6 @@ if test -n "$MOZ_VP8" -a -z "$MOZ_NATIVE_LIBVPX"; then
-
- dnl See if we have assembly on this platform.
- case "$OS_ARCH:$CPU_ARCH" in
-- Linux:x86)
-- VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
-- VPX_X86_ASM=1
-- ;;
-- Linux:x86_64)
-- VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
-- VPX_X86_ASM=1
-- ;;
-- SunOS:x86)
-- VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
-- VPX_X86_ASM=1
-- ;;
-- SunOS:x86_64)
-- VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
-- VPX_X86_ASM=1
-- ;;
- Darwin:x86)
- VPX_ASFLAGS="-f macho32 -rnasm -pnasm -DPIC"
- VPX_X86_ASM=1
-@@ -5412,6 +5388,19 @@ if test -n "$MOZ_VP8" -a -z "$MOZ_NATIVE_LIBVPX"; then
- VPX_ASM_SUFFIX="$ASM_SUFFIX"
- VPX_ARM_ASM=1
- fi
-+ ;;
-+ *:x86)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
-+ VPX_X86_ASM=1
-+ fi
-+ ;;
-+ *:x86_64)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
-+ VPX_X86_ASM=1
-+ fi
-+ ;;
- esac
-
- if test -n "$COMPILE_ENVIRONMENT" -a -n "$VPX_X86_ASM" -a -z "$VPX_AS"; then
-@@ -5843,22 +5832,6 @@ if test -n "$MOZ_LIBJPEG_TURBO"; then
-
- dnl Do we support libjpeg-turbo on this platform?
- case "$OS_ARCH:$OS_TEST" in
-- Linux:x86|Linux:i?86)
-- LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
-- LIBJPEG_TURBO_X86_ASM=1
-- ;;
-- Linux:x86_64)
-- LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
-- LIBJPEG_TURBO_X64_ASM=1
-- ;;
-- SunOS:i?86)
-- LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
-- LIBJPEG_TURBO_X86_ASM=1
-- ;;
-- SunOS:x86_64)
-- LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
-- LIBJPEG_TURBO_X64_ASM=1
-- ;;
- Darwin:i?86)
- LIBJPEG_TURBO_ASFLAGS="-f macho32 -rnasm -pnasm -DPIC -DMACHO"
- LIBJPEG_TURBO_X86_ASM=1
-@@ -5879,6 +5852,18 @@ if test -n "$MOZ_LIBJPEG_TURBO"; then
- LIBJPEG_TURBO_ASFLAGS="-march=armv7-a -mfpu=neon"
- LIBJPEG_TURBO_ARM_ASM=1
- ;;
-+ *:x86|*:i?86)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
-+ LIBJPEG_TURBO_X86_ASM=1
-+ fi
-+ ;;
-+ *:x86_64)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
-+ LIBJPEG_TURBO_X64_ASM=1
-+ fi
-+ ;;
- esac
-
- fi
-diff --git media/libvpx/update.sh media/libvpx/update.sh
-index 79e0fb1..51956af 100755
---- mozilla/media/libvpx/update.sh
-+++ mozilla/media/libvpx/update.sh
-@@ -363,12 +363,12 @@ cp $1/objdir/x86-win32-vs8/vpx_config.h vpx_config_x86-win32-vs8.h
- # Should be same for all platforms...
- cp $1/objdir/x86-win32-vs8/vpx_version.h vpx_version.h
-
--# Config files for x86-linux-gcc and Solaris x86
-+# Config files for x86-linux-gcc and other x86 elf platforms
- cp $1/objdir/x86-linux-gcc/vpx_config.c vpx_config_x86-linux-gcc.c
- cp $1/objdir/x86-linux-gcc/vpx_config.asm vpx_config_x86-linux-gcc.asm
- cp $1/objdir/x86-linux-gcc/vpx_config.h vpx_config_x86-linux-gcc.h
-
--# Config files for x86_64-linux-gcc and Solaris x86_64
-+# Config files for x86_64-linux-gcc and other x86_64 elf platforms
- cp $1/objdir/x86_64-linux-gcc/vpx_config.c vpx_config_x86_64-linux-gcc.c
- cp $1/objdir/x86_64-linux-gcc/vpx_config.asm vpx_config_x86_64-linux-gcc.asm
- cp $1/objdir/x86_64-linux-gcc/vpx_config.h vpx_config_x86_64-linux-gcc.h
-diff --git media/libvpx/vpx_config.h media/libvpx/vpx_config.h
-index 55433f3..36e1780 100644
---- mozilla/media/libvpx/vpx_config.h
-+++ mozilla/media/libvpx/vpx_config.h
-@@ -16,20 +16,12 @@
- /* 32 bit MacOS. */
- #include "vpx_config_x86-darwin9-gcc.h"
-
--#elif defined(__linux__) && defined(__i386__)
--/* 32 bit Linux. */
-+#elif defined(__ELF__) && (defined(__i386) || defined(__i386__))
-+/* 32 bit ELF platforms. */
- #include "vpx_config_x86-linux-gcc.h"
-
--#elif defined(__linux__) && defined(__x86_64__)
--/* 64 bit Linux. */
--#include "vpx_config_x86_64-linux-gcc.h"
--
--#elif defined(__sun) && defined(__i386)
--/* 32 bit Solaris. */
--#include "vpx_config_x86-linux-gcc.h"
--
--#elif defined(__sun) && defined(__x86_64)
--/* 64 bit Solaris. */
-+#elif defined(__ELF__) && (defined(__x86_64) || defined(__x86_64__))
-+/* 64 bit ELF platforms. */
- #include "vpx_config_x86_64-linux-gcc.h"
-
- #else
-diff --git media/libvpx/vpx_config_c.c media/libvpx/vpx_config_c.c
-index eedd515..c8b5375 100644
---- mozilla/media/libvpx/vpx_config_c.c
-+++ mozilla/media/libvpx/vpx_config_c.c
-@@ -15,22 +15,14 @@
- /* 32 bit MacOS. */
- #include "vpx_config_x86-darwin9-gcc.c"
-
--#elif defined(__linux__) && defined(__i386__)
--/* 32 bit Linux. */
-+#elif defined(__ELF__) && (defined(__i386) || defined(__i386__))
-+/* 32 bit ELF platforms. */
- #include "vpx_config_x86-linux-gcc.c"
-
--#elif defined(__linux__) && defined(__x86_64__)
--/* 64 bit Linux. */
-+#elif defined(__ELF__) && (defined(__x86_64) || defined(__x86_64__))
-+/* 64 bit ELF platforms. */
- #include "vpx_config_x86_64-linux-gcc.c"
-
--#elif defined(__sun) && defined(__i386)
--/* 32 bit Solaris. */
--#include "vpx_config_x86-linux-gcc.h"
--
--#elif defined(__sun) && defined(__x86_64)
--/* 64 bit Solaris. */
--#include "vpx_config_x86_64-linux-gcc.h"
--
- #else
- #error VPX_X86_ASM is defined, but assembly not supported on this platform!
- #endif
diff --git a/mail/thunderbird/files/patch-bug788108 b/mail/thunderbird/files/patch-bug788108
new file mode 100644
index 000000000000..db2399499397
--- /dev/null
+++ b/mail/thunderbird/files/patch-bug788108
@@ -0,0 +1,20 @@
+--- mozilla/content/base/public/nsContentUtils.h~
++++ mozilla/content/base/public/nsContentUtils.h
+@@ -18,17 +18,6 @@
+ #include <ieeefp.h>
+ #endif
+
+-//A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
+-#ifdef __FreeBSD__
+-#include <ieeefp.h>
+-#ifdef __alpha__
+-static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
+-#else
+-static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP|FP_X_DNML;
+-#endif
+-static fp_except_t oldmask = fpsetmask(~allmask);
+-#endif
+-
+ #include "nsAString.h"
+ #include "nsIStatefulFrame.h"
+ #include "nsNodeInfoManager.h"
diff --git a/mail/thunderbird/files/patch-bug788955 b/mail/thunderbird/files/patch-bug788955
new file mode 100644
index 000000000000..3f6263c901b6
--- /dev/null
+++ b/mail/thunderbird/files/patch-bug788955
@@ -0,0 +1,309 @@
+diff --git Makefile.in Makefile.in
+index e341462..f75bd55 100644
+--- mozilla/Makefile.in
++++ mozilla/Makefile.in
+@@ -48,8 +48,10 @@ endif
+ ifdef MOZ_MEMORY
+ tier_base_dirs += memory/mozjemalloc
+ ifdef MOZ_JEMALLOC
++ifndef MOZ_NATIVE_JEMALLOC
+ tier_base_dirs += memory/jemalloc
+ endif
++endif
+ tier_base_dirs += memory/build
+ endif
+ ifndef MOZ_NATIVE_ZLIB
+diff --git allmakefiles.sh allmakefiles.sh
+index 6a9be4b..d2e49e3 100755
+--- mozilla/allmakefiles.sh
++++ mozilla/allmakefiles.sh
+@@ -59,7 +59,7 @@ if [ ! "$LIBXUL_SDK" ]; then
+ mozglue/Makefile
+ mozglue/build/Makefile
+ "
+- if [ "$MOZ_JEMALLOC" ]; then
++ if [ "$MOZ_JEMALLOC" -a -z "$MOZ_NATIVE_JEMALLOC" ]; then
+ add_makefiles "
+ memory/jemalloc/Makefile
+ "
+--- mozilla/config/autoconf.mk.in
++++ mozilla/config/autoconf.mk.in
+@@ -74,6 +74,7 @@ MOZ_JSDEBUGGER = @MOZ_JSDEBUGGER@
+ MOZ_IPDL_TESTS = @MOZ_IPDL_TESTS@
+ MOZ_MEMORY = @MOZ_MEMORY@
+ MOZ_JEMALLOC = @MOZ_JEMALLOC@
++MOZ_NATIVE_JEMALLOC = @MOZ_NATIVE_JEMALLOC@
+ MOZ_PROFILING = @MOZ_PROFILING@
+ MOZ_ENABLE_PROFILER_SPS = @MOZ_ENABLE_PROFILER_SPS@
+ MOZ_JPROF = @MOZ_JPROF@
+diff --git configure.in configure.in
+index bb05782..2f32516 100644
+--- mozilla/configure.in
++++ mozilla/configure.in
+@@ -3711,21 +3711,22 @@ fi
+
+ dnl Check for the existence of various allocation headers/functions
+
++MALLOC_HEADERS="malloc.h malloc_np.h malloc/malloc.h sys/malloc.h"
+ MALLOC_H=
+-MOZ_CHECK_HEADER(malloc.h, [MALLOC_H=malloc.h])
+-if test "$MALLOC_H" = ""; then
+- MOZ_CHECK_HEADER(malloc/malloc.h, [MALLOC_H=malloc/malloc.h])
+- if test "$MALLOC_H" = ""; then
+- MOZ_CHECK_HEADER(sys/malloc.h, [MALLOC_H=sys/malloc.h])
++
++for file in $MALLOC_HEADERS; do
++ MOZ_CHECK_HEADER($file, [MALLOC_H=$file])
++ if test "$MALLOC_H" != ""; then
++ AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>)
++ break
+ fi
+-fi
+-if test "$MALLOC_H" != ""; then
+- AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>)
+-fi
++done
+
+ MOZ_ALLOCATING_FUNCS="strndup posix_memalign memalign valloc"
+ AC_CHECK_FUNCS(strndup posix_memalign memalign valloc)
+
++AC_CHECK_FUNCS(malloc_usable_size)
++
+ dnl See if compiler supports some gcc-style attributes
+
+ AC_CACHE_CHECK(for __attribute__((always_inline)),
+@@ -6939,6 +6940,18 @@ else
+ fi
+
+ if test -z "$MOZ_MEMORY"; then
++ if test -n "$MOZ_JEMALLOC"; then
++ MOZ_NATIVE_JEMALLOC=1
++ AC_CHECK_FUNCS(mallctl nallocm,,
++ [MOZ_NATIVE_JEMALLOC=
++ break])
++ if test -n "$MOZ_NATIVE_JEMALLOC"; then
++ MOZ_MEMORY=1
++ AC_DEFINE(MOZ_MEMORY)
++ AC_DEFINE(MOZ_JEMALLOC)
++ AC_DEFINE(MOZ_NATIVE_JEMALLOC)
++ fi
++ fi
+ case "${target}" in
+ *-mingw*)
+ if test -z "$WIN32_REDIST_DIR" -a -z "$MOZ_DEBUG"; then
+@@ -7033,6 +7046,7 @@ else
+ fi # MOZ_MEMORY
+ AC_SUBST(MOZ_MEMORY)
+ AC_SUBST(MOZ_JEMALLOC)
++AC_SUBST(MOZ_NATIVE_JEMALLOC)
+ AC_SUBST(MOZ_GLUE_LDFLAGS)
+ AC_SUBST(MOZ_GLUE_PROGRAM_LDFLAGS)
+ AC_SUBST(WIN32_CRT_LIBS)
+@@ -8820,10 +8834,22 @@ fi
+
+ # Run jemalloc configure script
+
+-if test "$MOZ_JEMALLOC" -a "$MOZ_MEMORY"; then
++if test -z "$MOZ_NATIVE_JEMALLOC" -a "$MOZ_JEMALLOC" -a "$MOZ_MEMORY" ; then
+ ac_configure_args="$_SUBDIR_CONFIG_ARGS --build=$build --host=$target --enable-stats --with-jemalloc-prefix=je_"
+- if test "$OS_ARCH" = "Linux"; then
+- MANGLE="malloc calloc valloc free realloc memalign posix_memalign malloc_usable_size"
++ case "$OS_ARCH" in
++ Linux|DragonFly|FreeBSD|NetBSD|OpenBSD)
++ MANGLE="malloc calloc valloc free realloc posix_memalign"
++ case "$OS_ARCH" in
++ Linux)
++ MANGLE="$MANGLE memalign malloc_usable_size"
++ ;;
++ FreeBSD)
++ MANGLE="$MANGLE malloc_usable_size"
++ ;;
++ esac
++ ;;
++ esac
++ if test -n "$MANGLE"; then
+ MANGLED=
+ JEMALLOC_WRAPPER=
+ if test -n "$_WRAP_MALLOC"; then
+diff --git memory/build/Makefile.in memory/build/Makefile.in
+index dca0f48..af93ee0 100644
+--- mozilla/memory/build/Makefile.in
++++ mozilla/memory/build/Makefile.in
+@@ -22,7 +22,9 @@ CSRCS = extraMallocFuncs.c
+
+ ifdef MOZ_JEMALLOC
+ CSRCS += mozjemalloc_compat.c
++ifndef MOZ_NATIVE_JEMALLOC
+ SHARED_LIBRARY_LIBS += $(call EXPAND_LIBNAME_PATH,jemalloc,$(DEPTH)/memory/jemalloc)
++endif
+ else
+ SHARED_LIBRARY_LIBS += $(call EXPAND_LIBNAME_PATH,jemalloc,$(DEPTH)/memory/mozjemalloc)
+ endif
+diff --git memory/build/extraMallocFuncs.c memory/build/extraMallocFuncs.c
+index 9d87629..03c8320 100644
+--- mozilla/memory/build/extraMallocFuncs.c
++++ mozilla/memory/build/extraMallocFuncs.c
+@@ -94,8 +94,16 @@ wrap(wcsdup)(const wchar_t *src)
+ #endif
+
+ #ifdef MOZ_JEMALLOC
++
++#undef wrap
++#if defined(MOZ_NATIVE_JEMALLOC)
++#define wrap(a) a
++#else
++#define wrap(a) je_ ## a
++#endif
++
+ /* Override some jemalloc defaults */
+-const char *je_malloc_conf = "narenas:1,lg_chunk:20";
++MOZ_EXPORT_DATA(const char *) wrap(malloc_conf) = "narenas:1,lg_chunk:20";
+
+ #ifdef ANDROID
+ #include <android/log.h>
+diff --git memory/build/mozjemalloc_compat.c memory/build/mozjemalloc_compat.c
+index 10a845a..94ad96e 100644
+--- mozilla/memory/build/mozjemalloc_compat.c
++++ mozilla/memory/build/mozjemalloc_compat.c
+@@ -5,14 +5,21 @@
+ #include "mozilla/Types.h"
+ #include "jemalloc_types.h"
+
+-extern int je_mallctl(const char*, void*, size_t*, void*, size_t);
++#if defined(MOZ_NATIVE_JEMALLOC)
++#define wrap(a) a
++#else
++#define wrap(a) je_ ## a
++#endif
+
+-MOZ_EXPORT_API (void)
++extern MOZ_IMPORT_API(int)
++wrap(mallctl)(const char*, void*, size_t*, void*, size_t);
++
++MOZ_EXPORT_API(void)
+ jemalloc_stats(jemalloc_stats_t *stats)
+ {
+ size_t size = sizeof(stats->mapped);
+- je_mallctl("stats.mapped", &stats->mapped, &size, NULL, 0);
+- je_mallctl("stats.allocated", &stats->allocated, &size, NULL, 0);
++ wrap(mallctl)("stats.mapped", &stats->mapped, &size, NULL, 0);
++ wrap(mallctl)("stats.allocated", &stats->allocated, &size, NULL, 0);
+ stats->committed = -1;
+ stats->dirty = -1;
+ }
+diff --git memory/jemalloc/src/src/mutex.c memory/jemalloc/src/src/mutex.c
+index 37a843e..55e18c2 100644
+--- mozilla/memory/jemalloc/src/src/mutex.c
++++ mozilla/memory/jemalloc/src/src/mutex.c
+@@ -64,7 +64,7 @@ pthread_create(pthread_t *__restrict thread,
+ /******************************************************************************/
+
+ #ifdef JEMALLOC_MUTEX_INIT_CB
+-int _pthread_mutex_init_calloc_cb(pthread_mutex_t *mutex,
++JEMALLOC_EXPORT int _pthread_mutex_init_calloc_cb(pthread_mutex_t *mutex,
+ void *(calloc_cb)(size_t, size_t));
+ #endif
+
+diff --git memory/mozalloc/mozalloc.cpp memory/mozalloc/mozalloc.cpp
+index 5b61050b..5b3399a 100644
+--- mozilla/memory/mozalloc/mozalloc.cpp
++++ mozilla/memory/mozalloc/mozalloc.cpp
+@@ -12,16 +12,13 @@
+ #include <sys/types.h>
+
+ #if defined(MALLOC_H)
+-# include MALLOC_H // for memalign, valloc where available
++# include MALLOC_H // for memalign, valloc, malloc_size, malloc_usable_size
+ #endif // if defined(MALLOC_H)
+ #include <stddef.h> // for size_t
+ #include <stdlib.h> // for malloc, free
+ #if defined(XP_UNIX)
+ # include <unistd.h> // for valloc on *BSD
+ #endif //if defined(XP_UNIX)
+-#if defined(__FreeBSD__)
+-# include <malloc_np.h> // for malloc_usable_size
+-#endif // if defined(__FreeBSD__)
+
+ #if defined(XP_WIN) || (defined(XP_OS2) && defined(__declspec))
+ # define MOZALLOC_EXPORT __declspec(dllexport)
+@@ -213,8 +210,7 @@ moz_malloc_usable_size(void *ptr)
+
+ #if defined(XP_MACOSX)
+ return malloc_size(ptr);
+-#elif defined(MOZ_MEMORY) || (defined(XP_LINUX) && !defined(ANDROID)) || defined(__FreeBSD__)
+- // Android bionic libc doesn't have malloc_usable_size.
++#elif defined(HAVE_MALLOC_USABLE_SIZE) || defined(MOZ_MEMORY)
+ return malloc_usable_size(ptr);
+ #elif defined(XP_WIN)
+ return _msize(ptr);
+diff --git memory/mozjemalloc/jemalloc.h memory/mozjemalloc/jemalloc.h
+index f0e0878..2486e83 100644
+--- mozilla/memory/mozjemalloc/jemalloc.h
++++ mozilla/memory/mozjemalloc/jemalloc.h
+@@ -37,22 +37,29 @@
+ #endif
+ #include "jemalloc_types.h"
+
++#if defined(MOZ_NATIVE_JEMALLOC)
++#define wrap(a) a
++#else
++#define wrap(a) je_ ## a
++#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+-#if defined(MOZ_MEMORY_LINUX)
++#if defined(MOZ_NATIVE_JEMALLOC) \
++ || defined(MOZ_MEMORY_LINUX) || defined(MOZ_MEMORY_BSD)
+ __attribute__((weak))
+ #endif
+ void jemalloc_stats(jemalloc_stats_t *stats);
+
+ /* Computes the usable size in advance. */
+ #if !defined(MOZ_MEMORY_DARWIN)
+-#if defined(MOZ_MEMORY_LINUX)
++#if defined(MOZ_MEMORY_LINUX) || defined(MOZ_MEMORY_BSD)
+ __attribute__((weak))
+ #endif
+ #if defined(MOZ_JEMALLOC)
+-int je_nallocm(size_t *rsize, size_t size, int flags);
++MOZ_IMPORT_API(int) wrap(nallocm)(size_t *rsize, size_t size, int flags);
+ #else
+ size_t je_malloc_good_size(size_t size);
+ #endif
+@@ -62,11 +69,11 @@ static inline size_t je_malloc_usable_size_in_advance(size_t size) {
+ #if defined(MOZ_MEMORY_DARWIN)
+ return malloc_good_size(size);
+ #elif defined(MOZ_JEMALLOC)
+- if (je_nallocm) {
++ if (wrap(nallocm)) {
+ size_t ret;
+ if (size == 0)
+ size = 1;
+- if (!je_nallocm(&ret, size, 0))
++ if (!wrap(nallocm)(&ret, size, 0))
+ return ret;
+ }
+ return size;
+@@ -113,4 +120,6 @@ void jemalloc_purge_freed_pages();
+ } /* extern "C" */
+ #endif
+
++#undef wrap
++
+ #endif /* _JEMALLOC_H_ */
+diff --git mozglue/build/Makefile.in mozglue/build/Makefile.in
+index c333647..15ba505 100644
+--- mozilla/mozglue/build/Makefile.in
++++ mozilla/mozglue/build/Makefile.in
+@@ -23,7 +23,7 @@ FORCE_STATIC_LIB = 1
+ endif
+
+ # Keep jemalloc separated when mozglue is statically linked
+-ifeq (1_1,$(MOZ_MEMORY)_$(FORCE_SHARED_LIB))
++ifeq (1_1,$(MOZ_MEMORY)_$(or $(MOZ_NATIVE_JEMALLOC),$(FORCE_SHARED_LIB)))
+ SHARED_LIBRARY_LIBS = $(call EXPAND_LIBNAME_PATH,memory,$(DEPTH)/memory/build)
+ else
+ # Temporary, until bug 662814 lands
diff --git a/mail/thunderbird/files/patch-bug789436 b/mail/thunderbird/files/patch-bug789436
new file mode 100644
index 000000000000..2479d8e69c78
--- /dev/null
+++ b/mail/thunderbird/files/patch-bug789436
@@ -0,0 +1,27 @@
+--- mozilla/toolkit/xre/nsAppRunner.cpp~
++++ mozilla/toolkit/xre/nsAppRunner.cpp
+@@ -1388,11 +1388,6 @@ static int MSCRTReportHook( int aReportType, char *aMessage, int *oReturnValue)
+
+ #endif
+
+-#if defined(FREEBSD)
+-// pick up fpsetmask prototype.
+-#include <ieeefp.h>
+-#endif
+-
+ static inline void
+ DumpVersion()
+ {
+@@ -4136,12 +4131,5 @@ SetupErrorHandling(const char* progname)
+
+ // Unbuffer stdout, needed for tinderbox tests.
+ setbuf(stdout, 0);
+-
+-#if defined(FREEBSD)
+- // Disable all SIGFPE's on FreeBSD, as it has non-IEEE-conformant fp
+- // trap behavior that trips up on floating-point tests performed by
+- // the JS engine. See bugzilla bug 9967 details.
+- fpsetmask(0);
+-#endif
+ }
+
diff --git a/mail/thunderbird/files/patch-bug789656 b/mail/thunderbird/files/patch-bug789656
new file mode 100644
index 000000000000..17f1419897cc
--- /dev/null
+++ b/mail/thunderbird/files/patch-bug789656
@@ -0,0 +1,11 @@
+--- mozilla/media/libopus/Makefile.in~
++++ mozilla/media/libopus/Makefile.in
+@@ -20,7 +20,7 @@ DEFINES += \
+ -Drestrict= \
+ $(NULL)
+
+-ifneq ($(filter $(OS_ARCH),Linux Darwin),)
++ifneq ($(filter $(OS_ARCH),Linux Darwin DragonFly FreeBSD NetBSD OpenBSD),)
+ DEFINES += -DHAVE_LRINTF
+ endif
+ ifeq ($(OS_ARCH), WINNT)
diff --git a/mail/thunderbird/files/patch-bug789693 b/mail/thunderbird/files/patch-bug789693
new file mode 100644
index 000000000000..f88228f5498b
--- /dev/null
+++ b/mail/thunderbird/files/patch-bug789693
@@ -0,0 +1,109 @@
+--- mozilla/toolkit/components/startup/nsAppStartup.cpp
++++ mozilla/toolkit/components/startup/nsAppStartup.cpp
+@@ -50,18 +50,41 @@
+ #include <sys/syscall.h>
+ #endif
+
+-#ifdef XP_MACOSX
++#if defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
++#include <sys/param.h>
+ #include <sys/sysctl.h>
+ #endif
+
+-#ifdef __OpenBSD__
+-#include <sys/param.h>
+-#include <sys/sysctl.h>
++#if defined(__DragonFly__) || defined(__FreeBSD__)
++#include <sys/user.h>
+ #endif
+
+ #include "mozilla/Telemetry.h"
+ #include "mozilla/StartupTimeline.h"
+
++#if defined(__NetBSD__)
++#undef KERN_PROC
++#define KERN_PROC KERN_PROC2
++#define KINFO_PROC struct kinfo_proc2
++#else
++#define KINFO_PROC struct kinfo_proc
++#endif
++
++#if defined(XP_MACOSX)
++#define KP_START_SEC kp_proc.p_un.__p_starttime.tv_sec
++#define KP_START_USEC kp_proc.p_un.__p_starttime.tv_usec
++#elif defined(__DragonFly__)
++#define KP_START_SEC kp_start.tv_sec
++#define KP_START_USEC kp_start.tv_usec
++#elif defined(__FreeBSD__)
++#define KP_START_SEC ki_start.tv_sec
++#define KP_START_USEC ki_start.tv_usec
++#else
++#define KP_START_SEC p_ustart_sec
++#define KP_START_USEC p_ustart_usec
++#endif
++
+ static NS_DEFINE_CID(kAppShellCID, NS_APPSHELL_CID);
+
+ #define kPrefLastSuccess "toolkit.startup.last_success"
+@@ -836,42 +859,30 @@ CalculateProcessCreationTimestamp()
+ #endif
+ return timestamp;
+ }
+-#elif defined(XP_MACOSX)
++#elif defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
+ static PRTime
+ CalculateProcessCreationTimestamp()
+ {
+- int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid() };
+- size_t buffer_size;
+- if (sysctl(mib, 4, NULL, &buffer_size, NULL, 0))
+- return 0;
++ int mib[] = {
++ CTL_KERN,
++ KERN_PROC,
++ KERN_PROC_PID,
++ getpid(),
++#if defined(__NetBSD__) || defined(__OpenBSD__)
++ sizeof(KINFO_PROC),
++ 1,
++#endif
++ };
++ u_int miblen = sizeof(mib) / sizeof(mib[0]);
+
+- struct kinfo_proc *proc = (kinfo_proc*) malloc(buffer_size);
+- if (sysctl(mib, 4, proc, &buffer_size, NULL, 0)) {
+- free(proc);
+- return 0;
+- }
+- PRTime starttime = static_cast<PRTime>(proc->kp_proc.p_un.__p_starttime.tv_sec) * PR_USEC_PER_SEC;
+- starttime += proc->kp_proc.p_un.__p_starttime.tv_usec;
+- free(proc);
+- return starttime;
+-}
+-#elif defined(__OpenBSD__)
+-static PRTime
+-CalculateProcessCreationTimestamp()
+-{
+- int mib[6] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid(), sizeof(struct kinfo_proc), 1 };
+- size_t buffer_size;
+- if (sysctl(mib, 6, NULL, &buffer_size, NULL, 0))
++ KINFO_PROC proc;
++ size_t buffer_size = sizeof(proc);
++ if (sysctl(mib, miblen, &proc, &buffer_size, NULL, 0))
+ return 0;
+
+- struct kinfo_proc *proc = (struct kinfo_proc*) malloc(buffer_size);
+- if (sysctl(mib, 6, proc, &buffer_size, NULL, 0)) {
+- free(proc);
+- return 0;
+- }
+- PRTime starttime = static_cast<PRTime>(proc->p_ustart_sec) * PR_USEC_PER_SEC;
+- starttime += proc->p_ustart_usec;
+- free(proc);
++ PRTime starttime = static_cast<PRTime>(proc.KP_START_SEC) * PR_USEC_PER_SEC;
++ starttime += proc.KP_START_USEC;
+ return starttime;
+ }
+ #else
diff --git a/mail/thunderbird/files/patch-bug791305 b/mail/thunderbird/files/patch-bug791305
new file mode 100644
index 000000000000..e4c44a405f57
--- /dev/null
+++ b/mail/thunderbird/files/patch-bug791305
@@ -0,0 +1,107 @@
+commit c269a16
+Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
+Date: Fri Sep 14 15:54:55 2012 -0400
+
+ Bug 791305. Use libjpeg's color conversion code instead of our own. r=joe,r=khuey
+
+ libjpeg-turbo supports converting directly to a format compatible with cairo's
+ FORMAT_RGB24. Use that instead of our own handcoded function. This also gives
+ us SSE2 and NEON version of this function.
+
+ --HG--
+ extra : rebase_source : 18f48925f023a33ec2a097d4f4e5cc2ab40be1e9
+---
+ configure.in | 6 +-
+ image/decoders/nsJPEGDecoder.cpp | 311 ++-------------------------------------
+ 2 files changed, 20 insertions(+), 297 deletions(-)
+
+diff --git mozilla/image/decoders/nsJPEGDecoder.cpp mozilla/image/decoders/nsJPEGDecoder.cpp
+index c1fb515..1d2a259 100644
+--- mozilla/image/decoders/nsJPEGDecoder.cpp
++++ mozilla/image/decoders/nsJPEGDecoder.cpp
+@@ -22,6 +22,13 @@
+ extern "C" {
+ #include "iccjpeg.h"
+
++#ifdef JCS_EXTENSIONS
++#if defined(IS_BIG_ENDIAN)
++#define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_XRGB
++#else
++#define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_BGRX
++#endif
++#else
+ /* Colorspace conversion (copied from jpegint.h) */
+ struct jpeg_color_deconverter {
+ JMETHOD(void, start_pass, (j_decompress_ptr cinfo));
+@@ -34,6 +41,7 @@ METHODDEF(void)
+ ycc_rgb_convert_argb (j_decompress_ptr cinfo,
+ JSAMPIMAGE input_buf, JDIMENSION input_row,
+ JSAMPARRAY output_buf, int num_rows);
++#endif
+ }
+
+ static void cmyk_convert_rgb(JSAMPROW row, JDIMENSION width);
+@@ -329,7 +340,18 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount)
+ case JCS_GRAYSCALE:
+ case JCS_RGB:
+ case JCS_YCbCr:
++#ifdef JCS_EXTENSIONS
++ // if we're not color managing we can decode directly to
++ // MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB
++ if (mCMSMode != eCMSMode_All) {
++ mInfo.out_color_space = MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB;
++ mInfo.out_color_components = 4;
++ } else {
++ mInfo.out_color_space = JCS_RGB;
++ }
++#else
+ mInfo.out_color_space = JCS_RGB;
++#endif
+ break;
+ case JCS_CMYK:
+ case JCS_YCCK:
+@@ -397,6 +419,7 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount)
+ return; /* I/O suspension */
+ }
+
++#ifndef JCS_EXTENSIONS
+ /* Force to use our YCbCr to Packed RGB converter when possible */
+ if (!mTransform && (mCMSMode != eCMSMode_All) &&
+ mInfo.jpeg_color_space == JCS_YCbCr && mInfo.out_color_space == JCS_RGB) {
+@@ -404,6 +427,7 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount)
+ mInfo.out_color_components = 4; /* Packed ARGB pixels are always 4 bytes...*/
+ mInfo.cconvert->color_convert = ycc_rgb_convert_argb;
+ }
++#endif
+
+ /* If this is a progressive JPEG ... */
+ mState = mInfo.buffered_image ? JPEG_DECOMPRESS_PROGRESSIVE : JPEG_DECOMPRESS_SEQUENTIAL;
+@@ -542,7 +566,11 @@ nsJPEGDecoder::OutputScanlines(bool* suspend)
+ PRUint32 *imageRow = ((PRUint32*)mImageData) +
+ (mInfo.output_scanline * mInfo.output_width);
+
++#ifdef JCS_EXTENSIONS
++ if (mInfo.out_color_space == MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB) {
++#else
+ if (mInfo.cconvert->color_convert == ycc_rgb_convert_argb) {
++#endif
+ /* Special case: scanline will be directly converted into packed ARGB */
+ if (jpeg_read_scanlines(&mInfo, (JSAMPARRAY)&imageRow, 1) != 1) {
+ *suspend = true; /* suspend */
+@@ -858,6 +887,7 @@ term_source (j_decompress_ptr jd)
+ } // namespace mozilla
+
+
++#ifndef JCS_EXTENSIONS
+ /**************** YCbCr -> Cairo's RGB24/ARGB32 conversion: most common case **************/
+
+ /*
+@@ -1130,7 +1160,8 @@ ycc_rgb_convert_argb (j_decompress_ptr cinfo,
+ }
+ }
+ }
++#endif
+
+
+ /**************** Inverted CMYK -> RGB conversion **************/
+ /*
diff --git a/mail/thunderbird/files/patch-bug791366 b/mail/thunderbird/files/patch-bug791366
new file mode 100644
index 000000000000..90e9e523bbbe
--- /dev/null
+++ b/mail/thunderbird/files/patch-bug791366
@@ -0,0 +1,95 @@
+diff --git mozilla/xpcom/base/nsMemoryReporterManager.cpp mozilla/xpcom/base/nsMemoryReporterManager.cpp
+index a9aff58..674e757 100644
+--- mozilla/xpcom/base/nsMemoryReporterManager.cpp
++++ mozilla/xpcom/base/nsMemoryReporterManager.cpp
+@@ -32,7 +32,7 @@ using namespace mozilla;
+ # include "jemalloc.h"
+ #endif // MOZ_MEMORY
+
+-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(SOLARIS)
++#ifdef XP_UNIX
+
+ #include <sys/time.h>
+ #include <sys/resource.h>
+@@ -95,6 +95,81 @@ static nsresult GetResident(PRInt64 *n)
+ return GetProcSelfStatmField(1, n);
+ }
+
++#elif defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
++
++#include <sys/param.h>
++#include <sys/sysctl.h>
++#if defined(__DragonFly__) || defined(__FreeBSD__)
++#include <sys/user.h>
++#endif
++
++#include <unistd.h>
++
++#if defined(__NetBSD__)
++#undef KERN_PROC
++#define KERN_PROC KERN_PROC2
++#define KINFO_PROC struct kinfo_proc2
++#else
++#define KINFO_PROC struct kinfo_proc
++#endif
++
++#if defined(__DragonFly__)
++#define KP_SIZE(kp) (kp.kp_vm_map_size)
++#define KP_RSS(kp) (kp.kp_vm_rssize * getpagesize())
++#elif defined(__FreeBSD__)
++#define KP_SIZE(kp) (kp.ki_size)
++#define KP_RSS(kp) (kp.ki_rssize * getpagesize())
++#elif defined(__NetBSD__)
++#define KP_SIZE(kp) (kp.p_vm_msize * getpagesize())
++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize())
++#elif defined(__OpenBSD__)
++#define KP_SIZE(kp) ((kp.p_vm_dsize + kp.p_vm_ssize \
++ + kp.p_vm_tsize) * getpagesize())
++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize())
++#endif
++
++static nsresult GetKinfoProcSelf(KINFO_PROC *proc)
++{
++ int mib[] = {
++ CTL_KERN,
++ KERN_PROC,
++ KERN_PROC_PID,
++ getpid(),
++#if defined(__NetBSD__) || defined(__OpenBSD__)
++ sizeof(KINFO_PROC),
++ 1,
++#endif
++ };
++ u_int miblen = sizeof(mib) / sizeof(mib[0]);
++ size_t size = sizeof(KINFO_PROC);
++ if (sysctl(mib, miblen, proc, &size, NULL, 0))
++ return NS_ERROR_FAILURE;
++
++ return NS_OK;
++}
++
++#define HAVE_VSIZE_AND_RESIDENT_REPORTERS 1
++static nsresult GetVsize(PRInt64 *n)
++{
++ KINFO_PROC proc;
++ nsresult rv = GetKinfoProcSelf(&proc);
++ if (NS_SUCCEEDED(rv))
++ *n = KP_SIZE(proc);
++
++ return rv;
++}
++
++static nsresult GetResident(PRInt64 *n)
++{
++ KINFO_PROC proc;
++ nsresult rv = GetKinfoProcSelf(&proc);
++ if (NS_SUCCEEDED(rv))
++ *n = KP_RSS(proc);
++
++ return rv;
++}
++
+ #elif defined(SOLARIS)
+
+ #include <procfs.h>
diff --git a/mail/thunderbird/files/patch-config-baseconfig.mk b/mail/thunderbird/files/patch-config-baseconfig.mk
new file mode 100644
index 000000000000..f789129c3ba4
--- /dev/null
+++ b/mail/thunderbird/files/patch-config-baseconfig.mk
@@ -0,0 +1,16 @@
+--- mozilla/config/baseconfig.mk~
++++ mozilla/config/baseconfig.mk
+@@ -1,9 +1,9 @@
+ INCLUDED_AUTOCONF_MK = 1
+
+-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)
+-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
++includedir := $(includedir)/%%MOZILLA%%
++idldir = $(datadir)/idl/%%MOZILLA%%
++installdir = $(libdir)/%%MOZILLA%%
++sdkdir = $(libdir)/%%MOZILLA%%
+ DIST = $(DEPTH)/dist
+
+ # We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't
diff --git a/mail/thunderbird/files/patch-mozilla-config_autoconf.mk.in b/mail/thunderbird/files/patch-mozilla-config_autoconf.mk.in
deleted file mode 100644
index 7d3316500fa7..000000000000
--- a/mail/thunderbird/files/patch-mozilla-config_autoconf.mk.in
+++ /dev/null
@@ -1,22 +0,0 @@
---- mozilla/config/autoconf.mk.in.orig 2007-08-28 12:02:43.000000000 -0400
-+++ mozilla/config/autoconf.mk.in 2007-09-26 14:21:51.000000000 -0400
-@@ -58,14 +58,14 @@
- prefix = @prefix@
- exec_prefix = @exec_prefix@
- bindir = @bindir@
--includedir = @includedir@/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-+includedir = @includedir@/%%MOZILLA%%
- libdir = @libdir@
- datadir = @datadir@
- mandir = @mandir@
--idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-+idldir = $(datadir)/idl/%%MOZILLA%%
-
--installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
--sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
-+installdir = $(libdir)/%%MOZILLA%%
-+sdkdir = $(libdir)/%%MOZILLA%%
-
- DIST = $(DEPTH)/dist
- LIBXUL_SDK = @LIBXUL_SDK@
-
diff --git a/mail/thunderbird/files/patch-mozilla-content-media-nsAudioStream.cpp b/mail/thunderbird/files/patch-mozilla-content-media-nsAudioStream.cpp
new file mode 100644
index 000000000000..f31ba356b0ab
--- /dev/null
+++ b/mail/thunderbird/files/patch-mozilla-content-media-nsAudioStream.cpp
@@ -0,0 +1,14 @@
+--- mozilla/content/media/nsAudioStream.cpp~
++++ mozilla/content/media/nsAudioStream.cpp
+@@ -298,7 +298,11 @@ static int PrefChanged(const char* aPref
+ gVolumeScale = NS_MAX<double>(0, PR_strtod(utf8.get(), nsnull));
+ }
+ } else if (strcmp(aPref, PREF_USE_CUBEB) == 0) {
++#if defined(__FreeBSD__) && __FreeBSD_version < 800097
++ bool value = Preferences::GetBool(aPref, false);
++#else
+ bool value = Preferences::GetBool(aPref, true);
++#endif
+ mozilla::MutexAutoLock lock(*gAudioPrefsLock);
+ gUseCubeb = value;
+ } else if (strcmp(aPref, PREF_CUBEB_LATENCY) == 0) {
diff --git a/mail/thunderbird/files/patch-mozilla-extensions-spellcheck-hunspell-src-mozHunspell.cpp b/mail/thunderbird/files/patch-mozilla-extensions-spellcheck-hunspell-src-mozHunspell.cpp
new file mode 100644
index 000000000000..32241fdfe270
--- /dev/null
+++ b/mail/thunderbird/files/patch-mozilla-extensions-spellcheck-hunspell-src-mozHunspell.cpp
@@ -0,0 +1,15 @@
+--- mozilla/extensions/spellcheck/hunspell/src/mozHunspell.cpp~
++++ mozilla/extensions/spellcheck/hunspell/src/mozHunspell.cpp
+@@ -400,6 +400,12 @@ mozHunspell::LoadDictionaryList()
+ }
+ }
+
++ // load system hunspell dictionaries
++ nsIFile* hunDir;
++ NS_NewNativeLocalFile(NS_LITERAL_CSTRING("%%LOCALBASE%%/share/hunspell"),
++ true, &hunDir);
++ LoadDictionariesFromDir(hunDir);
++
+ // find dictionaries from extensions requiring restart
+ nsCOMPtr<nsISimpleEnumerator> dictDirs;
+ rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST,
diff --git a/mail/thunderbird/files/patch-mozilla_toolkit_xre_glxtest.cpp b/mail/thunderbird/files/patch-mozilla_toolkit_xre_glxtest.cpp
deleted file mode 100644
index f338b4bdedb5..000000000000
--- a/mail/thunderbird/files/patch-mozilla_toolkit_xre_glxtest.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
---- mozilla/toolkit/xre/glxtest.cpp.orig 2011-08-19 18:57:10.604870746 +0300
-+++ mozilla/toolkit/xre/glxtest.cpp 2011-08-19 18:59:43.620447963 +0300
-@@ -51,6 +51,8 @@
- // which runs the glxtest() static function. This creates a X connection, a GLX context, calls glGetString, and writes that
- // to the 'write' end of the pipe.
-
-+#include <sys/types.h>
-+#include <sys/wait.h>
- #include <cstdio>
- #include <cstdlib>
- #include <unistd.h>
-@@ -224,6 +226,7 @@
- void fire_glxtest_process()
- {
- int pfd[2];
-+ int status;
- if (pipe(pfd) == -1) {
- perror("pipe");
- exit(EXIT_FAILURE);
-@@ -244,4 +247,5 @@
- close(pfd[1]);
- mozilla::widget::glxtest_pipe = pfd[0];
- mozilla::widget::glxtest_pid = pid;
-+ waitpid(pid, &status, 0);
- }
diff --git a/security/ca_root_nss/Makefile b/security/ca_root_nss/Makefile
index a752c114a0a7..27701168300c 100644
--- a/security/ca_root_nss/Makefile
+++ b/security/ca_root_nss/Makefile
@@ -25,12 +25,11 @@ CERTDIR?= share/certs
PLIST_SUB+= CERTDIR=${CERTDIR}
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-# !!! These versions are indented to track security/nss and !!!
-# !!! www/apache13-modssl. Please DO NOT submit patches for !!!
-# !!! new versions until they have been committed there first. !!!
+# !!! These versions are indented to track security/nss. !!!
+# !!! Please DO NOT submit patches for new version until it has !!!
+# !!! been committed there first. !!!
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
VERSION_NSS= 3.13.6
-VERSION_APACHE= 1.3.41
CERTDATA_TXT_PATH= nss-${VERSION_NSS}/mozilla/security/nss/lib/ckfw/builtins/certdata.txt
BUNDLE_PROCESSOR= MAca-bundle.pl
diff --git a/security/nss/Makefile b/security/nss/Makefile
index 1c7689d895f0..ae20f16c7342 100644
--- a/security/nss/Makefile
+++ b/security/nss/Makefile
@@ -7,6 +7,7 @@
PORTNAME= nss
PORTVERSION= ${_MAJOR}.${_MINOR}.${_PATCH}
+PORTREVISION= 1
CATEGORIES= security
MASTER_SITES= ${MASTER_SITE_MOZILLA}
MASTER_SITE_SUBDIR= security/nss/releases/NSS_${PORTVERSION:S/./_/g}_RTM/src
diff --git a/security/nss/files/nss-config.in b/security/nss/files/nss-config.in
index c826fc6aea69..4e7f19737940 100644
--- a/security/nss/files/nss-config.in
+++ b/security/nss/files/nss-config.in
@@ -123,7 +123,7 @@ if test "$echo_libdir" = "yes"; then
fi
if test "$echo_cflags" = "yes"; then
- echo -I$includedir
+ echo -I$includedir -I$includedir/nss
fi
if test "$echo_libs" = "yes"; then
diff --git a/security/nss/files/patch-..::coreconf::ruleset.mk b/security/nss/files/patch-..::coreconf::ruleset.mk
new file mode 100644
index 000000000000..fd21eb0ca2fc
--- /dev/null
+++ b/security/nss/files/patch-..::coreconf::ruleset.mk
@@ -0,0 +1,11 @@
+--- ../coreconf/ruleset.mk~
++++ ../coreconf/ruleset.mk
+@@ -85,7 +85,7 @@
+ #
+
+ ifndef COMPILER_TAG
+- ifneq ($(DEFAULT_COMPILER), $(notdir $(firstword $(CC))))
++ ifneq ($(DEFAULT_COMPILER), $(CC))
+ #
+ # Temporary define for the Client; to be removed when binary release is used
+ #
diff --git a/security/vuxml/vuln.xml b/security/vuxml/vuln.xml
index c4513a90d7e1..5dfb954b9a45 100644
--- a/security/vuxml/vuln.xml
+++ b/security/vuxml/vuln.xml
@@ -51,6 +51,114 @@ Note: Please add new entries to the beginning of this file.
-->
<vuxml xmlns="http://www.vuxml.org/apps/vuxml-1">
+ <vuln vid="6e5a9afd-12d3-11e2-b47d-c8600054b392">
+ <topic>mozilla -- multiple vulnerabilities</topic>
+ <affects>
+ <package>
+ <name>firefox</name>
+ <range><gt>11.0,1</gt><lt>16.0,1</lt></range>
+ <range><lt>10.0.7,1</lt></range>
+ </package>
+ <package>
+ <name>linux-firefox</name>
+ <range><lt>10.0.8,1</lt></range>
+ </package>
+ <package>
+ <name>linux-seamonkey</name>
+ <range><lt>2.13</lt></range>
+ </package>
+ <package>
+ <name>linux-thunderbird</name>
+ <range><lt>10.0.8</lt></range>
+ </package>
+ <package>
+ <name>seamonkey</name>
+ <range><lt>2.13</lt></range>
+ </package>
+ <package>
+ <name>thunderbird</name>
+ <range><gt>11.0</gt><lt>16.0</lt></range>
+ <range><lt>10.0.8</lt></range>
+ </package>
+ <package>
+ <name>libxul</name>
+ <range><gt>1.9.2.*</gt><lt>10.0.8</lt></range>
+ </package>
+ </affects>
+ <description>
+ <body xmlns="http://www.w3.org/1999/xhtml">
+ <p>The Mozilla Project reports:</p>
+ <blockquote cite="http://www.mozilla.org/security/known-vulnerabilities/">
+ <p> MFSA 2012-74 Miscellaneous memory safety hazards (rv:16.0/
+ rv:10.0.8)</p>
+ <p>MFSA 2012-75 select element persistance allows for attacks</p>
+ <p>MFSA 2012-76 Continued access to initial origin after setting
+ document.domain</p>
+ <p>MFSA 2012-77 Some DOMWindowUtils methods bypass security checks</p>
+ <p>MFSA 2012-78 Reader Mode pages have chrome privileges</p>
+ <p>MFSA 2012-79 DOS and crash with full screen and history navigation</p>
+ <p>MFSA 2012-80 Crash with invalid cast when using instanceof
+ operator</p>
+ <p>MFSA 2012-81 GetProperty function can bypass security checks</p>
+ <p>MFSA 2012-82 top object and location property accessible by
+ plugins</p>
+ <p>MFSA 2012-83 Chrome Object Wrapper (COW) does not disallow acces
+ to privileged functions or properties</p>
+ <p>MFSA 2012-84 Spoofing and script injection through location.hash</p>
+ <p>MFSA 2012-85 Use-after-free, buffer overflow, and out of bounds
+ read issues found using Address Sanitizer</p>
+ <p>MFSA 2012-86 Heap memory corruption issues found using Address
+ Sanitizer</p>
+ <p>MFSA 2012-87 Use-after-free in the IME State Manager</p>
+ </blockquote>
+ </body>
+ </description>
+ <references>
+ <cvename>CVE-2012-3982</cvename>
+ <cvename>CVE-2012-3983</cvename>
+ <cvename>CVE-2012-3984</cvename>
+ <cvename>CVE-2012-3985</cvename>
+ <cvename>CVE-2012-3986</cvename>
+ <cvename>CVE-2012-3987</cvename>
+ <cvename>CVE-2012-3988</cvename>
+ <cvename>CVE-2012-3989</cvename>
+ <cvename>CVE-2012-3990</cvename>
+ <cvename>CVE-2012-3991</cvename>
+ <cvename>CVE-2012-3992</cvename>
+ <cvename>CVE-2012-3993</cvename>
+ <cvename>CVE-2012-3994</cvename>
+ <cvename>CVE-2012-3995</cvename>
+ <cvename>CVE-2012-4179</cvename>
+ <cvename>CVE-2012-4180</cvename>
+ <cvename>CVE-2012-4181</cvename>
+ <cvename>CVE-2012-4182</cvename>
+ <cvename>CVE-2012-4183</cvename>
+ <cvename>CVE-2012-4184</cvename>
+ <cvename>CVE-2012-4186</cvename>
+ <cvename>CVE-2012-4187</cvename>
+ <cvename>CVE-2012-4188</cvename>
+ <url>http://www.mozilla.org/security/known-vulnerabilities/</url>
+ <url>http://www.mozilla.org/security/announce/2012/mfsa2012-74.html</url>
+ <url>http://www.mozilla.org/security/announce/2012/mfsa2012-75.html</url>
+ <url>http://www.mozilla.org/security/announce/2012/mfsa2012-76.html</url>
+ <url>http://www.mozilla.org/security/announce/2012/mfsa2012-77.html</url>
+ <url>http://www.mozilla.org/security/announce/2012/mfsa2012-78.html</url>
+ <url>http://www.mozilla.org/security/announce/2012/mfsa2012-79.html</url>
+ <url>http://www.mozilla.org/security/announce/2012/mfsa2012-80.html</url>
+ <url>http://www.mozilla.org/security/announce/2012/mfsa2012-81.html</url>
+ <url>http://www.mozilla.org/security/announce/2012/mfsa2012-82.html</url>
+ <url>http://www.mozilla.org/security/announce/2012/mfsa2012-83.html</url>
+ <url>http://www.mozilla.org/security/announce/2012/mfsa2012-84.html</url>
+ <url>http://www.mozilla.org/security/announce/2012/mfsa2012-85.html</url>
+ <url>http://www.mozilla.org/security/announce/2012/mfsa2012-86.html</url>
+ <url>http://www.mozilla.org/security/announce/2012/mfsa2012-87.html</url>
+ </references>
+ <dates>
+ <discovery>2012-10-09</discovery>
+ <entry>2012-10-10</entry>
+ </dates>
+ </vuln>
+
<vuln vid="57a700f9-12c0-11e2-9f86-001d923933b6">
<topic>dns/bind9* -- crash on deliberately constructed combination of records</topic>
<affects>
diff --git a/www/firefox-esr-i18n/Makefile b/www/firefox-esr-i18n/Makefile
index d4eca4dc5932..8a36bde452a8 100644
--- a/www/firefox-esr-i18n/Makefile
+++ b/www/firefox-esr-i18n/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= firefox-i18n
-PORTVERSION= 10.0.7
+PORTVERSION= 10.0.8
CATEGORIES= www
MASTER_SITE_SUBDIR= firefox/releases/${PORTVERSION}esr/linux-i686/xpi
PKGNAMEPREFIX=
diff --git a/www/firefox-esr-i18n/distinfo b/www/firefox-esr-i18n/distinfo
index 654e35e872af..7535575d66c0 100644
--- a/www/firefox-esr-i18n/distinfo
+++ b/www/firefox-esr-i18n/distinfo
@@ -1,164 +1,164 @@
-SHA256 (xpi/firefox-i18n-10.0.7/af.xpi) = 9b1d55555de4c4ba192e7267b2a3580d5c72c02d264bf769d5cf5941dc5073bc
-SIZE (xpi/firefox-i18n-10.0.7/af.xpi) = 238744
-SHA256 (xpi/firefox-i18n-10.0.7/ak.xpi) = dc654681229024ddb55bef9d695e7dee095252af7937e3e91dd811f9e1bbf16d
-SIZE (xpi/firefox-i18n-10.0.7/ak.xpi) = 240572
-SHA256 (xpi/firefox-i18n-10.0.7/ar.xpi) = b129533b324cdb14506620b2930b3fb19dc43b6e3fa2877d3c455f81e5239cc7
-SIZE (xpi/firefox-i18n-10.0.7/ar.xpi) = 263703
-SHA256 (xpi/firefox-i18n-10.0.7/ast.xpi) = e72c721e68e10844cb731f424e46fa9a3cf155db7cf0eeff58d45f9eb4953d36
-SIZE (xpi/firefox-i18n-10.0.7/ast.xpi) = 237975
-SHA256 (xpi/firefox-i18n-10.0.7/be.xpi) = 1350c18fd62ee8a3aff20b669d12c738cad4c0f5d2796371422c91bd23ff14ce
-SIZE (xpi/firefox-i18n-10.0.7/be.xpi) = 245757
-SHA256 (xpi/firefox-i18n-10.0.7/bg.xpi) = e48a67e65ec3085021b3a3a83a0dbc8c808c555c2da23d26378525eb74f0ac17
-SIZE (xpi/firefox-i18n-10.0.7/bg.xpi) = 276757
-SHA256 (xpi/firefox-i18n-10.0.7/bn-BD.xpi) = 80d80907f1b4fad336b08285446b2bfd362cd360f2a74bcbde09a6e9c7570a09
-SIZE (xpi/firefox-i18n-10.0.7/bn-BD.xpi) = 288293
-SHA256 (xpi/firefox-i18n-10.0.7/bn-IN.xpi) = 2363c0fab01a49cb8dcc9f09e19515a8bd7161bbc1837a256d7dd28fb6aa59d8
-SIZE (xpi/firefox-i18n-10.0.7/bn-IN.xpi) = 319305
-SHA256 (xpi/firefox-i18n-10.0.7/br.xpi) = 8f35bfd22ba015f38a2e6cdfe672900399e01205450dd4be0fd7bb74ec32930e
-SIZE (xpi/firefox-i18n-10.0.7/br.xpi) = 247652
-SHA256 (xpi/firefox-i18n-10.0.7/bs.xpi) = 93c384ca5d2d8ca5a131d29f6d9ad4e51e3eba12807cb6a8e324445e26a589ed
-SIZE (xpi/firefox-i18n-10.0.7/bs.xpi) = 245309
-SHA256 (xpi/firefox-i18n-10.0.7/ca.xpi) = aa30dfc276fc90c5cdac4c4b53ddc3131bcb23ecd81c27f3fad9e1d4a381138f
-SIZE (xpi/firefox-i18n-10.0.7/ca.xpi) = 248222
-SHA256 (xpi/firefox-i18n-10.0.7/cs.xpi) = dd8ed750dee9ff4f90dc320191efc24e354f440f6f63a14de06e1295370d3ca9
-SIZE (xpi/firefox-i18n-10.0.7/cs.xpi) = 248770
-SHA256 (xpi/firefox-i18n-10.0.7/cy.xpi) = 2aa3c66d864e861fb52ac52a652cfa43095ed3b1844b0f079ad21d249fc59846
-SIZE (xpi/firefox-i18n-10.0.7/cy.xpi) = 244197
-SHA256 (xpi/firefox-i18n-10.0.7/da.xpi) = 80a2fbd2e6092199a6e59507cf43582129c58b571f6750997318df9776519faa
-SIZE (xpi/firefox-i18n-10.0.7/da.xpi) = 240328
-SHA256 (xpi/firefox-i18n-10.0.7/de.xpi) = 1b543c9942ba2c98a6ec0e307c6c12600de021c3402a6d992c0053748af4edff
-SIZE (xpi/firefox-i18n-10.0.7/de.xpi) = 249298
-SHA256 (xpi/firefox-i18n-10.0.7/el.xpi) = 2c1992ddbe059c67bae113d56d76279d24436167c2fa7b46935856b5e39fcb12
-SIZE (xpi/firefox-i18n-10.0.7/el.xpi) = 264380
-SHA256 (xpi/firefox-i18n-10.0.7/en-GB.xpi) = 0cecb64b475e661cd659f51540a22a9273e0e5cbbbc1b6cd8b43c7a8b4e291f8
-SIZE (xpi/firefox-i18n-10.0.7/en-GB.xpi) = 231194
-SHA256 (xpi/firefox-i18n-10.0.7/en-US.xpi) = da378bf4be6785bcd1fbe6285578af69528dafff4adb587b214e776076710439
-SIZE (xpi/firefox-i18n-10.0.7/en-US.xpi) = 230681
-SHA256 (xpi/firefox-i18n-10.0.7/en-ZA.xpi) = fb8b217fe8b96f0b9091af03f720a42f7d2d50dac52df054d699ba075cf1ced1
-SIZE (xpi/firefox-i18n-10.0.7/en-ZA.xpi) = 233919
-SHA256 (xpi/firefox-i18n-10.0.7/eo.xpi) = 59d8cab2c36c489e69f4e879177adfed367293e2cf89d1b29282fee5af6119af
-SIZE (xpi/firefox-i18n-10.0.7/eo.xpi) = 240903
-SHA256 (xpi/firefox-i18n-10.0.7/es-AR.xpi) = 272479971d91f2659a5d43572784a3142bf29750f71c09035f9f4c3e62938935
-SIZE (xpi/firefox-i18n-10.0.7/es-AR.xpi) = 245347
-SHA256 (xpi/firefox-i18n-10.0.7/es-CL.xpi) = d9ddf207e774888eb51c43a9ce27b5f59ea6992e7b8758fac4ece5467691b1e3
-SIZE (xpi/firefox-i18n-10.0.7/es-CL.xpi) = 250206
-SHA256 (xpi/firefox-i18n-10.0.7/es-ES.xpi) = 9cdc6c00adbc89eb7701f9a6cf007bc2b9c66590d7a3f6ea458927df6b184e1f
-SIZE (xpi/firefox-i18n-10.0.7/es-ES.xpi) = 215379
-SHA256 (xpi/firefox-i18n-10.0.7/es-MX.xpi) = 1425fba6c1307ace6ead6655f99a55908a0a28eac8d3b34e4df42c7de331eaf5
-SIZE (xpi/firefox-i18n-10.0.7/es-MX.xpi) = 224152
-SHA256 (xpi/firefox-i18n-10.0.7/et.xpi) = 4849d05a5ed93b42937b2793a6c4d0fa23dc022c8248953acc161aa0e0b45c6b
-SIZE (xpi/firefox-i18n-10.0.7/et.xpi) = 242631
-SHA256 (xpi/firefox-i18n-10.0.7/eu.xpi) = 37e130868396b12b132a5c3c3435f4ccb1f0c8180ec6800fb8c2ee25b77f216e
-SIZE (xpi/firefox-i18n-10.0.7/eu.xpi) = 240252
-SHA256 (xpi/firefox-i18n-10.0.7/fa.xpi) = ee491601405c293f5bda16b08ffcdf053639e3d4deec4bfcb4fc510fd723decb
-SIZE (xpi/firefox-i18n-10.0.7/fa.xpi) = 272853
-SHA256 (xpi/firefox-i18n-10.0.7/fi.xpi) = 459124222e825d3de647e0cc100e353c70a737a4879566097eda096408d160b3
-SIZE (xpi/firefox-i18n-10.0.7/fi.xpi) = 243630
-SHA256 (xpi/firefox-i18n-10.0.7/fr.xpi) = 5ae21783a4c5641d4d4b81eed0448402f434ad5e4fdd028c83acb2dec47ee425
-SIZE (xpi/firefox-i18n-10.0.7/fr.xpi) = 249569
-SHA256 (xpi/firefox-i18n-10.0.7/fy-NL.xpi) = 875df35099a97296c9777edb33bc3ee304246eccb9af2891d955240cbe78892f
-SIZE (xpi/firefox-i18n-10.0.7/fy-NL.xpi) = 249344
-SHA256 (xpi/firefox-i18n-10.0.7/ga-IE.xpi) = 7de925d9df77d5a64cdc9ef35f487d30993294db72b4c88505930e44b637079a
-SIZE (xpi/firefox-i18n-10.0.7/ga-IE.xpi) = 252023
-SHA256 (xpi/firefox-i18n-10.0.7/gl.xpi) = 1e049a6c250c3b11603e29592a852f49b4c710a4378ad0153c8236e6d8b5f74f
-SIZE (xpi/firefox-i18n-10.0.7/gl.xpi) = 243250
-SHA256 (xpi/firefox-i18n-10.0.7/gu-IN.xpi) = 7cf8cb1a81a7e3655368f2e9c7d39a5327b8d0f0a830c0649bbe24fd2e1ad1cd
-SIZE (xpi/firefox-i18n-10.0.7/gu-IN.xpi) = 275223
-SHA256 (xpi/firefox-i18n-10.0.7/he.xpi) = 643ebdf36a7c8c77e59e6214cfeedd76a9a3a5485c9e05a5977a80616d130464
-SIZE (xpi/firefox-i18n-10.0.7/he.xpi) = 264936
-SHA256 (xpi/firefox-i18n-10.0.7/hi-IN.xpi) = 944c8e5c4ca2ed6cfa720a8525a95f8a6f5e7d39db57f45b949b7e64d217dfb8
-SIZE (xpi/firefox-i18n-10.0.7/hi-IN.xpi) = 280001
-SHA256 (xpi/firefox-i18n-10.0.7/hr.xpi) = 29f0d39a79b73aa17da86462c5cf1569e5dd2c193540bbc83ac0e9514698fa27
-SIZE (xpi/firefox-i18n-10.0.7/hr.xpi) = 249334
-SHA256 (xpi/firefox-i18n-10.0.7/hu.xpi) = 962add2e75e93b10e2985798809a7ace215939b9c2da13bc0b2b16410c4bd28f
-SIZE (xpi/firefox-i18n-10.0.7/hu.xpi) = 253774
-SHA256 (xpi/firefox-i18n-10.0.7/hy-AM.xpi) = c11bc7a7408b3ed28bb8ea149c62e0c2b198df6ecaa0b233419679e8d5b0aee5
-SIZE (xpi/firefox-i18n-10.0.7/hy-AM.xpi) = 445453
-SHA256 (xpi/firefox-i18n-10.0.7/id.xpi) = 4ad16b0956a81dd5df744226b60c345edd228ae6d48d1bc582c8444d8f7990ab
-SIZE (xpi/firefox-i18n-10.0.7/id.xpi) = 236824
-SHA256 (xpi/firefox-i18n-10.0.7/is.xpi) = cd3836f93949d43922123d9e5d944587077b28a68f01ce0f9ab8f2b28090c523
-SIZE (xpi/firefox-i18n-10.0.7/is.xpi) = 243068
-SHA256 (xpi/firefox-i18n-10.0.7/it.xpi) = 5e9b774f4a721eb48b516323ec7c0b998e7c732b32022f3790cfe00b697cc7ae
-SIZE (xpi/firefox-i18n-10.0.7/it.xpi) = 212717
-SHA256 (xpi/firefox-i18n-10.0.7/ja.xpi) = c6febfa49571180b0fdedc5ad889e6c095585a4ecc3b406fb36fe0f32b38ed51
-SIZE (xpi/firefox-i18n-10.0.7/ja.xpi) = 273116
-SHA256 (xpi/firefox-i18n-10.0.7/kk.xpi) = 8586fe598dbee8fe90d127c8a440df5a788202f53af6a2c78c858e99ef18663e
-SIZE (xpi/firefox-i18n-10.0.7/kk.xpi) = 279779
-SHA256 (xpi/firefox-i18n-10.0.7/kn.xpi) = 9f90eadf9a0cfccaeb5ec6be5bfcd1fec02755de6ae3ea6aabbbf2712ca52ccb
-SIZE (xpi/firefox-i18n-10.0.7/kn.xpi) = 299831
-SHA256 (xpi/firefox-i18n-10.0.7/ko.xpi) = 67a98a1756a76075bccd6b5828d0c68120f4251a4af61304a9903d72772195f9
-SIZE (xpi/firefox-i18n-10.0.7/ko.xpi) = 227946
-SHA256 (xpi/firefox-i18n-10.0.7/ku.xpi) = 34e09f46e60bc5221b85473914a1891a330b5525b565a6fdea44262dee9f53d5
-SIZE (xpi/firefox-i18n-10.0.7/ku.xpi) = 254711
-SHA256 (xpi/firefox-i18n-10.0.7/lg.xpi) = 35be3ee1f04799fbff1478a0a26f3caa904fe931f7d9232372179b6aa1d6482a
-SIZE (xpi/firefox-i18n-10.0.7/lg.xpi) = 247674
-SHA256 (xpi/firefox-i18n-10.0.7/lt.xpi) = b84a1e12035d5e3f4b7c248e2f1bd54e52749c5c150c43fff5398e87a817d418
-SIZE (xpi/firefox-i18n-10.0.7/lt.xpi) = 330632
-SHA256 (xpi/firefox-i18n-10.0.7/lv.xpi) = 80db8149989623b9011b3d460b36effe3b95dccea972ce442ed64b71661b9df0
-SIZE (xpi/firefox-i18n-10.0.7/lv.xpi) = 244353
-SHA256 (xpi/firefox-i18n-10.0.7/mai.xpi) = 8a35d226dad386a049c3fc2481a868fc75544a38a1c7c20f5b079cdded3796f0
-SIZE (xpi/firefox-i18n-10.0.7/mai.xpi) = 279253
-SHA256 (xpi/firefox-i18n-10.0.7/mk.xpi) = 5517af241028c802fb0d14dd9c17fb8e6c75e1b16d0a8d93277279476ee70750
-SIZE (xpi/firefox-i18n-10.0.7/mk.xpi) = 272940
-SHA256 (xpi/firefox-i18n-10.0.7/ml.xpi) = 3799026d79645755e1aa3340407c16578f2037910550776e1d78c56a18c18f56
-SIZE (xpi/firefox-i18n-10.0.7/ml.xpi) = 306676
-SHA256 (xpi/firefox-i18n-10.0.7/mr.xpi) = 06d6da54de467475fd006323fabbcdfe2a015e7a0156c1f7098e9d91fa58a5ed
-SIZE (xpi/firefox-i18n-10.0.7/mr.xpi) = 281458
-SHA256 (xpi/firefox-i18n-10.0.7/nb-NO.xpi) = efc505ca46745843d5c20e13a4d744c1246aece71a794f5313a3816e30ebb72c
-SIZE (xpi/firefox-i18n-10.0.7/nb-NO.xpi) = 241211
-SHA256 (xpi/firefox-i18n-10.0.7/nl.xpi) = 3abbe4145f9f8ddaa7e9e2e08cb3d58e78f4c04d31bfbca42d1dcb208f968523
-SIZE (xpi/firefox-i18n-10.0.7/nl.xpi) = 242401
-SHA256 (xpi/firefox-i18n-10.0.7/nn-NO.xpi) = 7623fc038a2e59f8f6201f3f4ca9f6161b50d53482ea695391e5ff8f672b3188
-SIZE (xpi/firefox-i18n-10.0.7/nn-NO.xpi) = 242454
-SHA256 (xpi/firefox-i18n-10.0.7/nso.xpi) = efa5b65056248586520c79f875d18747a3142cff9a64f7332dc0c6b19516b890
-SIZE (xpi/firefox-i18n-10.0.7/nso.xpi) = 245696
-SHA256 (xpi/firefox-i18n-10.0.7/or.xpi) = 49a4426d6bba6dce494bb7618e6d6bd5b2e22dbca1e5e4e8bd87d5d9f592825b
-SIZE (xpi/firefox-i18n-10.0.7/or.xpi) = 281686
-SHA256 (xpi/firefox-i18n-10.0.7/pa-IN.xpi) = f287c257353ad268e28e18e50da1d907b6cc908403cc9b6d10feb7d205ea356b
-SIZE (xpi/firefox-i18n-10.0.7/pa-IN.xpi) = 282146
-SHA256 (xpi/firefox-i18n-10.0.7/pl.xpi) = b193c806d5cbbb78600ffe06f0d3a02dd32a72e2a78b3756ac8b8afcc97e400c
-SIZE (xpi/firefox-i18n-10.0.7/pl.xpi) = 252047
-SHA256 (xpi/firefox-i18n-10.0.7/pt-BR.xpi) = ee10ef80f74999655453ef1360c686e731e261ec3738609cd063496aedae8315
-SIZE (xpi/firefox-i18n-10.0.7/pt-BR.xpi) = 246849
-SHA256 (xpi/firefox-i18n-10.0.7/pt-PT.xpi) = 24bbe57d5cfc29b5da617b2b46ca874c672a62ece767c8f8cb620ec604a56d64
-SIZE (xpi/firefox-i18n-10.0.7/pt-PT.xpi) = 246477
-SHA256 (xpi/firefox-i18n-10.0.7/rm.xpi) = 5fc8d7472a56937d6b42eb72d50368b7afe7ed03036f901b66aa5828fdf85175
-SIZE (xpi/firefox-i18n-10.0.7/rm.xpi) = 245772
-SHA256 (xpi/firefox-i18n-10.0.7/ro.xpi) = 93ce61b2a42665211e03a719f335aec5dcf0e03ae2b363013a9c48900e6e705e
-SIZE (xpi/firefox-i18n-10.0.7/ro.xpi) = 263252
-SHA256 (xpi/firefox-i18n-10.0.7/ru.xpi) = 4db26813b6b0737c5c716ab5500d83c01cf470377a76512a151581a4a5c3981e
-SIZE (xpi/firefox-i18n-10.0.7/ru.xpi) = 254985
-SHA256 (xpi/firefox-i18n-10.0.7/si.xpi) = 2b56646eac624568b63627631a7a2c4bea56c76209e9edb86d0e9b1088c14657
-SIZE (xpi/firefox-i18n-10.0.7/si.xpi) = 271990
-SHA256 (xpi/firefox-i18n-10.0.7/sk.xpi) = 09be69e73aee27c595f33eaafea81fce88206c9fd84c15ecbdec216f53f53418
-SIZE (xpi/firefox-i18n-10.0.7/sk.xpi) = 254289
-SHA256 (xpi/firefox-i18n-10.0.7/sl.xpi) = fa80d530d881cad89325b9c35941187667762abcf1d61beb634f921f78cfd5c4
-SIZE (xpi/firefox-i18n-10.0.7/sl.xpi) = 241036
-SHA256 (xpi/firefox-i18n-10.0.7/son.xpi) = e70a5f2ba41b71c1e8fbd63b6d0872bcaf89d2cf97005b20bec3767ccfa0a088
-SIZE (xpi/firefox-i18n-10.0.7/son.xpi) = 239061
-SHA256 (xpi/firefox-i18n-10.0.7/sq.xpi) = 13e6c16bc90271bee1436451ce1e7ab65fddfec1d633efdd8335d3957a222eaa
-SIZE (xpi/firefox-i18n-10.0.7/sq.xpi) = 227698
-SHA256 (xpi/firefox-i18n-10.0.7/sr.xpi) = 50359e09855bf39e42648ad5afb11d2e982e27e3afd058c8444dfd463818610d
-SIZE (xpi/firefox-i18n-10.0.7/sr.xpi) = 277745
-SHA256 (xpi/firefox-i18n-10.0.7/sv-SE.xpi) = 20146c531c7b1f854ed322584093ffffcb3c95286e322ab2d0f20e6515a652b6
-SIZE (xpi/firefox-i18n-10.0.7/sv-SE.xpi) = 278881
-SHA256 (xpi/firefox-i18n-10.0.7/ta-LK.xpi) = 70531a3b5883d39de0ef1f891a9ea923bc306339e3fa064c892f47e5971dbf70
-SIZE (xpi/firefox-i18n-10.0.7/ta-LK.xpi) = 290619
-SHA256 (xpi/firefox-i18n-10.0.7/ta.xpi) = fff4cdf1f675ff59bfc87ca2b28466b10b9e617cd6619bf38ac741a15636c8d3
-SIZE (xpi/firefox-i18n-10.0.7/ta.xpi) = 274057
-SHA256 (xpi/firefox-i18n-10.0.7/te.xpi) = 538c3b0fc716ebf846d0844fd9af5292c6c0caadb97c9d0d54006f9f4ebd6593
-SIZE (xpi/firefox-i18n-10.0.7/te.xpi) = 289046
-SHA256 (xpi/firefox-i18n-10.0.7/th.xpi) = 6fa5d1d7f3eaed3b338d5ac109050a8d681d75f796bd8af5bbd783d74fe951e9
-SIZE (xpi/firefox-i18n-10.0.7/th.xpi) = 272423
-SHA256 (xpi/firefox-i18n-10.0.7/tr.xpi) = e246203187d58ededa2d52fbb48ff02b04c190632aa7793b9efee0b76dd379c0
-SIZE (xpi/firefox-i18n-10.0.7/tr.xpi) = 249918
-SHA256 (xpi/firefox-i18n-10.0.7/uk.xpi) = 5af8e98430dc2fda14720350ad5056ff5a0332d3b7b027b4e1504b692530eb9f
-SIZE (xpi/firefox-i18n-10.0.7/uk.xpi) = 279133
-SHA256 (xpi/firefox-i18n-10.0.7/vi.xpi) = 7ba320ab0a52cab45834db007502598afd4d3da029b924a0957f0d069d7956e2
-SIZE (xpi/firefox-i18n-10.0.7/vi.xpi) = 262786
-SHA256 (xpi/firefox-i18n-10.0.7/zh-CN.xpi) = ba531a5357c0bc0eaf51da3e4faa5490155f37329b477654ee0a1623601d539d
-SIZE (xpi/firefox-i18n-10.0.7/zh-CN.xpi) = 256547
-SHA256 (xpi/firefox-i18n-10.0.7/zh-TW.xpi) = 88ed992ff277ae9652cdd6e877fd060b44af2b80fe2c04a4381e1ffc232d5b72
-SIZE (xpi/firefox-i18n-10.0.7/zh-TW.xpi) = 257493
-SHA256 (xpi/firefox-i18n-10.0.7/zu.xpi) = 58cee12ab9daa8ce6c6c3a6b4b608255d16810952ee9b3ccf5d7d6fb7905278a
-SIZE (xpi/firefox-i18n-10.0.7/zu.xpi) = 246396
+SHA256 (xpi/firefox-i18n-10.0.8/af.xpi) = e65b94d7a08d5701bdeb6e1f4c18df19600eb85d45d28d0345ca1bdabe2c234c
+SIZE (xpi/firefox-i18n-10.0.8/af.xpi) = 238744
+SHA256 (xpi/firefox-i18n-10.0.8/ak.xpi) = 845e94ac1c466e46dd5575504ce6651a01fd465bbe2f9de1975c50d0a5cd1c50
+SIZE (xpi/firefox-i18n-10.0.8/ak.xpi) = 240571
+SHA256 (xpi/firefox-i18n-10.0.8/ar.xpi) = 6b0ac89dec757e14763927cb29098027a5a80d0ff222fd0497e4fdef2d158f6c
+SIZE (xpi/firefox-i18n-10.0.8/ar.xpi) = 263702
+SHA256 (xpi/firefox-i18n-10.0.8/ast.xpi) = 1edc5e1f521ed0113948d87948f0ac20f20cddf6b4b351dea353a86963b30108
+SIZE (xpi/firefox-i18n-10.0.8/ast.xpi) = 237974
+SHA256 (xpi/firefox-i18n-10.0.8/be.xpi) = c04459e3cde9d84eefbc346356e52777099436b88d5f0e96dbd0c14d80c2d6bc
+SIZE (xpi/firefox-i18n-10.0.8/be.xpi) = 245757
+SHA256 (xpi/firefox-i18n-10.0.8/bg.xpi) = f27c7461197f856e93127d32235f01b41a4a246c366ff22b13a90e7569e3a2bd
+SIZE (xpi/firefox-i18n-10.0.8/bg.xpi) = 276756
+SHA256 (xpi/firefox-i18n-10.0.8/bn-BD.xpi) = 858551675beeaf45744c82a45e8f6f80fa4512affd0a465b0f28ddd4098a51d7
+SIZE (xpi/firefox-i18n-10.0.8/bn-BD.xpi) = 288293
+SHA256 (xpi/firefox-i18n-10.0.8/bn-IN.xpi) = bd971eafe783495da710be875acabbd839631406394521e54219dd51061b4be2
+SIZE (xpi/firefox-i18n-10.0.8/bn-IN.xpi) = 319304
+SHA256 (xpi/firefox-i18n-10.0.8/br.xpi) = 869faf87071ad2b157bbb577d6e31db62e9047fc0feb7dacb8000af6fd71c9a0
+SIZE (xpi/firefox-i18n-10.0.8/br.xpi) = 247651
+SHA256 (xpi/firefox-i18n-10.0.8/bs.xpi) = c6c26340e5d3034e7ef6a4c6924670ba0ef5b27926bfc2ae39104e652a2639bb
+SIZE (xpi/firefox-i18n-10.0.8/bs.xpi) = 245308
+SHA256 (xpi/firefox-i18n-10.0.8/ca.xpi) = 3f2fb584b1b966412ad5967aa71f2874fae9c85cd017beb8b17a083064c3f1f6
+SIZE (xpi/firefox-i18n-10.0.8/ca.xpi) = 248221
+SHA256 (xpi/firefox-i18n-10.0.8/cs.xpi) = ba4c18820c7ad628cd4293186101829ba6abb702806114c07377f9f3bac9829f
+SIZE (xpi/firefox-i18n-10.0.8/cs.xpi) = 248769
+SHA256 (xpi/firefox-i18n-10.0.8/cy.xpi) = 1e0b86a4a6d8e8d03066f4e9380b44dd55ed1f848993593f13171f5397b18b54
+SIZE (xpi/firefox-i18n-10.0.8/cy.xpi) = 244197
+SHA256 (xpi/firefox-i18n-10.0.8/da.xpi) = 2d81c6106390e66e0f226c8f4e3ef0d85874b5e6328115b61ba94f94e06b2021
+SIZE (xpi/firefox-i18n-10.0.8/da.xpi) = 240328
+SHA256 (xpi/firefox-i18n-10.0.8/de.xpi) = 932dab4efa1fdc0beec4df0dde7b7630395723339d6ce8915586f4eadcfa27db
+SIZE (xpi/firefox-i18n-10.0.8/de.xpi) = 249297
+SHA256 (xpi/firefox-i18n-10.0.8/el.xpi) = 891d86cb6ed89f15a4e9dc8718344228e628dc3d8be85e5211bae0fc2559d29f
+SIZE (xpi/firefox-i18n-10.0.8/el.xpi) = 264379
+SHA256 (xpi/firefox-i18n-10.0.8/en-GB.xpi) = 25c368952d9e6dc03178a76412c4e798606a04dc0b7b6209dbd10d9aa1673683
+SIZE (xpi/firefox-i18n-10.0.8/en-GB.xpi) = 231193
+SHA256 (xpi/firefox-i18n-10.0.8/en-US.xpi) = bc9376ebfe8caae2caf598cbfd5cdd958aa467b9c26d194caef7b4cb3b57eeac
+SIZE (xpi/firefox-i18n-10.0.8/en-US.xpi) = 230680
+SHA256 (xpi/firefox-i18n-10.0.8/en-ZA.xpi) = 1f41f270cb2c1142461f7f347d2c9365fcf0bc7ae2312555c63909af040b871c
+SIZE (xpi/firefox-i18n-10.0.8/en-ZA.xpi) = 233919
+SHA256 (xpi/firefox-i18n-10.0.8/eo.xpi) = cd40b09e15cc4575d51105f1662f7451c5cc681f22ce0060c2b736bd283e2b03
+SIZE (xpi/firefox-i18n-10.0.8/eo.xpi) = 240902
+SHA256 (xpi/firefox-i18n-10.0.8/es-AR.xpi) = 1e306d293b061189822fa979d05345692dfe03d620688d30c1412db4c17422e7
+SIZE (xpi/firefox-i18n-10.0.8/es-AR.xpi) = 245346
+SHA256 (xpi/firefox-i18n-10.0.8/es-CL.xpi) = 4a06f5228897d66dab526e431393fc9a4d9c99851ecf4c3793f08afce5a70312
+SIZE (xpi/firefox-i18n-10.0.8/es-CL.xpi) = 250205
+SHA256 (xpi/firefox-i18n-10.0.8/es-ES.xpi) = 088a8a4fd1d0b1c3356650e6341b404672ddd3a5ab49255961caa593d5228ccc
+SIZE (xpi/firefox-i18n-10.0.8/es-ES.xpi) = 215378
+SHA256 (xpi/firefox-i18n-10.0.8/es-MX.xpi) = c5a039f7b9c87b841da53eadda83926bc8a133869d7acee1cc6d65af7cde41b7
+SIZE (xpi/firefox-i18n-10.0.8/es-MX.xpi) = 224151
+SHA256 (xpi/firefox-i18n-10.0.8/et.xpi) = 0bf5ef0aa1008d0f4c3baa8b701ec20eacbf54bcdb78c3b08c0c4c764c28fb93
+SIZE (xpi/firefox-i18n-10.0.8/et.xpi) = 242630
+SHA256 (xpi/firefox-i18n-10.0.8/eu.xpi) = db669a3df857c2b6f1c4ba68e7c8f52358b741aeba4a26e95333757bb37a650b
+SIZE (xpi/firefox-i18n-10.0.8/eu.xpi) = 240251
+SHA256 (xpi/firefox-i18n-10.0.8/fa.xpi) = da16d2a0d1dec4b3f8d9e09afbd887682bd821801ab536c939caddab885b84f7
+SIZE (xpi/firefox-i18n-10.0.8/fa.xpi) = 272852
+SHA256 (xpi/firefox-i18n-10.0.8/fi.xpi) = 8ef47995cfc5d93c0a4058606e6a7bd70cf9dda8f290e06e66bfd060c05f918f
+SIZE (xpi/firefox-i18n-10.0.8/fi.xpi) = 243629
+SHA256 (xpi/firefox-i18n-10.0.8/fr.xpi) = ce6959c1b9766943fd6c27b10673ae93b8df5bd890e9db4bb7c2a0cbb94fc574
+SIZE (xpi/firefox-i18n-10.0.8/fr.xpi) = 249568
+SHA256 (xpi/firefox-i18n-10.0.8/fy-NL.xpi) = 26aed5af8e255de4ad0b6da25551116670b51f86d40d1523a467c7272cb8b4b5
+SIZE (xpi/firefox-i18n-10.0.8/fy-NL.xpi) = 249343
+SHA256 (xpi/firefox-i18n-10.0.8/ga-IE.xpi) = d06dfe44a749feef65056989d828b1df5a008f8c71f6746365af2027c35700d1
+SIZE (xpi/firefox-i18n-10.0.8/ga-IE.xpi) = 252022
+SHA256 (xpi/firefox-i18n-10.0.8/gl.xpi) = 2562fa6c9258eaace0e4107e0a1ea05eadbbfd477143acdcfcafd2909d1f2a5f
+SIZE (xpi/firefox-i18n-10.0.8/gl.xpi) = 243249
+SHA256 (xpi/firefox-i18n-10.0.8/gu-IN.xpi) = 002a7ccd57b89d0c063936dfd4be269cedb803167994637ce3c5ccf6dbef6afc
+SIZE (xpi/firefox-i18n-10.0.8/gu-IN.xpi) = 275221
+SHA256 (xpi/firefox-i18n-10.0.8/he.xpi) = 200106afc6f5c23a0a98dddb3e8ac145b6481399aafa02a1b52cd80ae50bde7a
+SIZE (xpi/firefox-i18n-10.0.8/he.xpi) = 264935
+SHA256 (xpi/firefox-i18n-10.0.8/hi-IN.xpi) = 8f68a4d116ad511fc3081b2ff2dbeb77ebfea48014d6f8734ee4e4396fca38ab
+SIZE (xpi/firefox-i18n-10.0.8/hi-IN.xpi) = 280000
+SHA256 (xpi/firefox-i18n-10.0.8/hr.xpi) = 13429959a13cf5153955b18a89077a6df113005a75d97e929143fd236b1292c2
+SIZE (xpi/firefox-i18n-10.0.8/hr.xpi) = 249333
+SHA256 (xpi/firefox-i18n-10.0.8/hu.xpi) = 042ce9afd0d7289c72856f88a7819571a6d0e2be737bdf9a586980a9612c6a19
+SIZE (xpi/firefox-i18n-10.0.8/hu.xpi) = 253773
+SHA256 (xpi/firefox-i18n-10.0.8/hy-AM.xpi) = 449b184e72b851f9c7d1b7a2d7d2a3bd43689252526b06703a46da16da7893c2
+SIZE (xpi/firefox-i18n-10.0.8/hy-AM.xpi) = 445452
+SHA256 (xpi/firefox-i18n-10.0.8/id.xpi) = 6f148c8f7e67b958b206c331064b7c12b8f0c6c0a5b021a210f513f98c831d3e
+SIZE (xpi/firefox-i18n-10.0.8/id.xpi) = 236824
+SHA256 (xpi/firefox-i18n-10.0.8/is.xpi) = 169f139f55c0fdb4d87131f81a19d15da846d8bb218aceac29309e5b9cd34f1b
+SIZE (xpi/firefox-i18n-10.0.8/is.xpi) = 243067
+SHA256 (xpi/firefox-i18n-10.0.8/it.xpi) = 1e0eb506be163e07b8a2e9c68b9bd749d2b4d4d179e5999b515b06dee8f256e8
+SIZE (xpi/firefox-i18n-10.0.8/it.xpi) = 212716
+SHA256 (xpi/firefox-i18n-10.0.8/ja.xpi) = 723c26ff672b7886b6f1f8bbabdef7df832beabb90ac0164eb6124b06115187a
+SIZE (xpi/firefox-i18n-10.0.8/ja.xpi) = 273115
+SHA256 (xpi/firefox-i18n-10.0.8/kk.xpi) = b507fa124a6d62123f68ef53e8ae1522a9672d6d4426ad97873d67ae5ae6225c
+SIZE (xpi/firefox-i18n-10.0.8/kk.xpi) = 279777
+SHA256 (xpi/firefox-i18n-10.0.8/kn.xpi) = a3477b01061921b7996e6a4449b62734ba72e500921878511f5abe768cf185d6
+SIZE (xpi/firefox-i18n-10.0.8/kn.xpi) = 299830
+SHA256 (xpi/firefox-i18n-10.0.8/ko.xpi) = 70aaf965078c10d8c2d176358e124f13308abe6895daa41890aed0c2174315fc
+SIZE (xpi/firefox-i18n-10.0.8/ko.xpi) = 227945
+SHA256 (xpi/firefox-i18n-10.0.8/ku.xpi) = 382fda1bc8ac9de310d7ac75f59bde607ff5064aee9783d1b67e7587837804e5
+SIZE (xpi/firefox-i18n-10.0.8/ku.xpi) = 254709
+SHA256 (xpi/firefox-i18n-10.0.8/lg.xpi) = ba04c687567000ae0d2893587983165f3809f34aa43d13af3a0f855cd46c4f89
+SIZE (xpi/firefox-i18n-10.0.8/lg.xpi) = 247673
+SHA256 (xpi/firefox-i18n-10.0.8/lt.xpi) = fd0e4f28026d7f94d9b7d311f375ccf4134653f2900b2cf01e50791fc2247225
+SIZE (xpi/firefox-i18n-10.0.8/lt.xpi) = 330631
+SHA256 (xpi/firefox-i18n-10.0.8/lv.xpi) = 3d4337a9db929af1fe1482cdd499fa95cee021a80b99f7b7f90afa5669201d0a
+SIZE (xpi/firefox-i18n-10.0.8/lv.xpi) = 244352
+SHA256 (xpi/firefox-i18n-10.0.8/mai.xpi) = ef97a34fc330cf6e2fb886302d122278ce96a1cdc98b22ed0767c423b17feb13
+SIZE (xpi/firefox-i18n-10.0.8/mai.xpi) = 279253
+SHA256 (xpi/firefox-i18n-10.0.8/mk.xpi) = 8ae09cb016c4359729ed4c9f27c0f99c062beb2b2b522d055c5057c514507052
+SIZE (xpi/firefox-i18n-10.0.8/mk.xpi) = 272939
+SHA256 (xpi/firefox-i18n-10.0.8/ml.xpi) = a1ca0631aadafc3964846e33de9cd5efc9b8d795ef1bb5d025db0e554184247a
+SIZE (xpi/firefox-i18n-10.0.8/ml.xpi) = 306675
+SHA256 (xpi/firefox-i18n-10.0.8/mr.xpi) = 997605c6ecbae4302f413c4bf008c71bbaf0191e5e72f01f8461628e197061d8
+SIZE (xpi/firefox-i18n-10.0.8/mr.xpi) = 281457
+SHA256 (xpi/firefox-i18n-10.0.8/nb-NO.xpi) = 27b83b14a6d6d728832c4330dd0ce2fff333c53acf46091c12d13557807d439a
+SIZE (xpi/firefox-i18n-10.0.8/nb-NO.xpi) = 241210
+SHA256 (xpi/firefox-i18n-10.0.8/nl.xpi) = efeb8b6ce044e6254b6b271d2f6b9998b24e4a6b1799a4d7f22ad76416f2e322
+SIZE (xpi/firefox-i18n-10.0.8/nl.xpi) = 242400
+SHA256 (xpi/firefox-i18n-10.0.8/nn-NO.xpi) = 6ccc73f8ddcb17e68af28efe3fde44cbe050b8260fa68a44f179d4f7a60e4271
+SIZE (xpi/firefox-i18n-10.0.8/nn-NO.xpi) = 242453
+SHA256 (xpi/firefox-i18n-10.0.8/nso.xpi) = 401ff8179dc295dc09f958bd2c2d8e16441db8b9baac5ca63ecbba42d60f7694
+SIZE (xpi/firefox-i18n-10.0.8/nso.xpi) = 245695
+SHA256 (xpi/firefox-i18n-10.0.8/or.xpi) = 870aa1fb88415e378b473f7de656d8e5064b3f0285978da9540dfaea9f6cf1b3
+SIZE (xpi/firefox-i18n-10.0.8/or.xpi) = 281685
+SHA256 (xpi/firefox-i18n-10.0.8/pa-IN.xpi) = 71ee499e44149a1ae3ecb8c7cd69115ea8695b6d4ab16550ab0fc7f27bf3acd7
+SIZE (xpi/firefox-i18n-10.0.8/pa-IN.xpi) = 282145
+SHA256 (xpi/firefox-i18n-10.0.8/pl.xpi) = c30a48b98c726487126b686bd37685e22d9188b8951b4c9c471cf5dfbe029e91
+SIZE (xpi/firefox-i18n-10.0.8/pl.xpi) = 252046
+SHA256 (xpi/firefox-i18n-10.0.8/pt-BR.xpi) = 135323c4878a1263e3f86df2ebc3fb0ffd60e55084dc86f26932bbae7eff842a
+SIZE (xpi/firefox-i18n-10.0.8/pt-BR.xpi) = 246849
+SHA256 (xpi/firefox-i18n-10.0.8/pt-PT.xpi) = 5f61b533f01107ac4af9daf6ee9960444d4aa5220154bad313a1e0044d164d0b
+SIZE (xpi/firefox-i18n-10.0.8/pt-PT.xpi) = 246476
+SHA256 (xpi/firefox-i18n-10.0.8/rm.xpi) = 8f14beed486558ab7437ad6a405767f12ab8bc397871f94038d8df8f8a72fa05
+SIZE (xpi/firefox-i18n-10.0.8/rm.xpi) = 245771
+SHA256 (xpi/firefox-i18n-10.0.8/ro.xpi) = ca2945e49010f1348daa789eb1d4188e3ab0759e415008508c0cad15f1098d1b
+SIZE (xpi/firefox-i18n-10.0.8/ro.xpi) = 263251
+SHA256 (xpi/firefox-i18n-10.0.8/ru.xpi) = b983a189c8da322a70333760640bfe8f664e250d460b8b69c27ad0fdfa0d1e07
+SIZE (xpi/firefox-i18n-10.0.8/ru.xpi) = 254984
+SHA256 (xpi/firefox-i18n-10.0.8/si.xpi) = d9577555b4ef34c934eb42ffe09a60001478f440714894092da8625248a2e413
+SIZE (xpi/firefox-i18n-10.0.8/si.xpi) = 271989
+SHA256 (xpi/firefox-i18n-10.0.8/sk.xpi) = 572496f3be73a19250e3360b91a01c7fd4580575725560233421d31bc963a7d2
+SIZE (xpi/firefox-i18n-10.0.8/sk.xpi) = 254288
+SHA256 (xpi/firefox-i18n-10.0.8/sl.xpi) = 51e24c6fe627ce3bbdac585106cdfcf67e74ba8cf580e165988dce0aba674544
+SIZE (xpi/firefox-i18n-10.0.8/sl.xpi) = 241035
+SHA256 (xpi/firefox-i18n-10.0.8/son.xpi) = 359eebfe63245255bb4988d2823f3141d763ff88ed4d97531fc9f3a9c056eecb
+SIZE (xpi/firefox-i18n-10.0.8/son.xpi) = 239060
+SHA256 (xpi/firefox-i18n-10.0.8/sq.xpi) = 1b4229ad0f1a9a24d64deb21589b6906f581a0c88bf8c55383c4aa985ebbb3dd
+SIZE (xpi/firefox-i18n-10.0.8/sq.xpi) = 227697
+SHA256 (xpi/firefox-i18n-10.0.8/sr.xpi) = 200eda813c393e7b276ed7cafb5a49bc6dc0d6266200ef5702989e5ab5244bfd
+SIZE (xpi/firefox-i18n-10.0.8/sr.xpi) = 277744
+SHA256 (xpi/firefox-i18n-10.0.8/sv-SE.xpi) = 8f25c7aedd3f64733c2161c94c3b99ae3498cc4e79728f4d8945a847dcf3777c
+SIZE (xpi/firefox-i18n-10.0.8/sv-SE.xpi) = 278880
+SHA256 (xpi/firefox-i18n-10.0.8/ta-LK.xpi) = fa188d4767123b938480469617588273943baadb30cf19d5564fccd6d2e75c65
+SIZE (xpi/firefox-i18n-10.0.8/ta-LK.xpi) = 290618
+SHA256 (xpi/firefox-i18n-10.0.8/ta.xpi) = 3e401e75dbe3414209da783dbd6ed95196d42a78f9e46bc31bd7d15004544d6e
+SIZE (xpi/firefox-i18n-10.0.8/ta.xpi) = 274056
+SHA256 (xpi/firefox-i18n-10.0.8/te.xpi) = 034dcd346ce8ec5cfcd7072bf7cbb5018a72f3fc2247a9ade8859ac0eb07f169
+SIZE (xpi/firefox-i18n-10.0.8/te.xpi) = 289045
+SHA256 (xpi/firefox-i18n-10.0.8/th.xpi) = 263b0969d012db0a53c6e2d5e28c2e1b8fb50ff9aa18a8e5b2ca82fec5c62707
+SIZE (xpi/firefox-i18n-10.0.8/th.xpi) = 272422
+SHA256 (xpi/firefox-i18n-10.0.8/tr.xpi) = 14debc5200c40a30815219586f839b2db9023f6dce7f2e47317f511c9eaa94af
+SIZE (xpi/firefox-i18n-10.0.8/tr.xpi) = 249917
+SHA256 (xpi/firefox-i18n-10.0.8/uk.xpi) = 14570c5911adc294157b0b47a5e792c6b7ec77f224fd3a44ec2ffa031f867e11
+SIZE (xpi/firefox-i18n-10.0.8/uk.xpi) = 279132
+SHA256 (xpi/firefox-i18n-10.0.8/vi.xpi) = 5a6db88669951f4bea809571ffbe15e55feec07c3276f9e797009e2ea01c4ca0
+SIZE (xpi/firefox-i18n-10.0.8/vi.xpi) = 262786
+SHA256 (xpi/firefox-i18n-10.0.8/zh-CN.xpi) = 336f096686ac0e928abe98031007a82dd9557edba8c77279b319b884babe5655
+SIZE (xpi/firefox-i18n-10.0.8/zh-CN.xpi) = 256546
+SHA256 (xpi/firefox-i18n-10.0.8/zh-TW.xpi) = e48ab0fea8d208b48db9a1fdc8c22439854c57f33e240007c2d587fdcf0de879
+SIZE (xpi/firefox-i18n-10.0.8/zh-TW.xpi) = 257492
+SHA256 (xpi/firefox-i18n-10.0.8/zu.xpi) = 2f08939f0ced3e5c59308829af376928ff9775ee4cf674cefb138abd7f6451ab
+SIZE (xpi/firefox-i18n-10.0.8/zu.xpi) = 246395
diff --git a/www/firefox-esr/Makefile b/www/firefox-esr/Makefile
index c8c98bf4ba4b..3a01bc177eb9 100644
--- a/www/firefox-esr/Makefile
+++ b/www/firefox-esr/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= firefox
-DISTVERSION= 10.0.7
+DISTVERSION= 10.0.8
PORTEPOCH= 1
CATEGORIES= www ipv6
MASTER_SITES= ${MASTER_SITE_MOZILLA}
@@ -17,7 +17,7 @@ MAINTAINER= gecko@FreeBSD.org
COMMENT= Web browser based on the browser portion of Mozilla
BUILD_DEPENDS= nspr>=4.8.8:${PORTSDIR}/devel/nspr \
- nss>=3.13.1:${PORTSDIR}/security/nss \
+ nss>=3.13.6_1:${PORTSDIR}/security/nss \
sqlite3>=3.7.7.1:${PORTSDIR}/databases/sqlite3 \
cairo>=1.10.2_1,1:${PORTSDIR}/graphics/cairo \
unzip:${PORTSDIR}/archivers/unzip
@@ -48,6 +48,7 @@ MOZ_OPTIONS= --program-transform-name='s/firefox/${MOZILLA}/' \
--enable-official-branding
OPTIONS_DEFINE= PGO
+OPTIONS_DEFAULT=GIO
.include "${.CURDIR}/../../www/firefox/Makefile.options"
.include <bsd.port.pre.mk>
diff --git a/www/firefox-esr/distinfo b/www/firefox-esr/distinfo
index 4302c68e47ba..83c24e982d11 100644
--- a/www/firefox-esr/distinfo
+++ b/www/firefox-esr/distinfo
@@ -1,2 +1,2 @@
-SHA256 (firefox-10.0.7esr.source.tar.bz2) = 91b0dab3168d75a4f157dabfdf6a95367cd3a8767298d88fb43be251f37f4423
-SIZE (firefox-10.0.7esr.source.tar.bz2) = 75624327
+SHA256 (firefox-10.0.8esr.source.tar.bz2) = e908c51761b0143b9f5e8b045b8c91b624357eee8786cd861028e1df60da52f9
+SIZE (firefox-10.0.8esr.source.tar.bz2) = 75620783
diff --git a/www/firefox-esr/files/patch-bug351181 b/www/firefox-esr/files/patch-bug351181
deleted file mode 100644
index ea2515a74d94..000000000000
--- a/www/firefox-esr/files/patch-bug351181
+++ /dev/null
@@ -1,31 +0,0 @@
---- js/src/jsnum.cpp.orig 2010-01-05 22:35:17.000000000 -0500
-+++ js/src/jsnum.cpp 2010-01-11 05:10:19.000000000 -0500
-@@ -43,6 +43,9 @@
- /*
- * JS number type and wrapper class.
- */
-+#if defined(__FreeBSD__)
-+#include <sys/param.h>
-+#endif
- #ifdef XP_OS2
- #define _PC_53 PC_53
- #define _MCW_EM MCW_EM
-@@ -691,8 +694,18 @@
-
- #else
-
-+#if defined(__FreeBSD__)
-+#if __BSD_VISIBLE == 0
-+#error __BSD_VISIBLE is zero, so fedisableexcept is not defined
-+#endif
-+#include <fenv.h>
-+#define FIX_FPU() ((void)fedisableexcept(FE_ALL_EXCEPT))
-+#else
-+
- #define FIX_FPU() ((void)0)
-
-+#endif /* defined(__FreeBSD__) && __FreeBSD_version >= 503000 */
-+
- #endif
-
- JSBool
diff --git a/www/firefox-esr/files/patch-bug543241 b/www/firefox-esr/files/patch-bug543241
index 73db2c3a785e..7cc0736c14b6 100644
--- a/www/firefox-esr/files/patch-bug543241
+++ b/www/firefox-esr/files/patch-bug543241
@@ -1,5 +1,16 @@
--- ./xpcom/threads/nsThreadManager.cpp.orig 2011-08-25 02:37:45.000000000 +0200
+++ ./xpcom/threads/nsThreadManager.cpp 2011-08-28 17:14:14.000000000 +0200
+@@ -12,6 +12,10 @@
+ #include "nsAutoPtr.h"
+ #include "nsCycleCollectorUtils.h"
+
++#if defined(__FreeBSD__)
++#include <osreldate.h>
++#endif
++
+ using namespace mozilla;
+
+ #ifdef XP_WIN
@@ -89,6 +89,11 @@
nsresult
nsThreadManager::Init()
diff --git a/www/firefox-esr/files/patch-bug696030 b/www/firefox-esr/files/patch-bug696030
new file mode 100644
index 000000000000..6845651544d7
--- /dev/null
+++ b/www/firefox-esr/files/patch-bug696030
@@ -0,0 +1,34 @@
+commit 5e354b9
+Author: Chris Coulson <chris.coulson@canonical.com>
+Date: Thu Jan 5 11:19:50 2012 +1300
+
+ Bug 696030 - Use MonitorAutoLock rather than MonitorAutoEnter in nsGIOProtocolHandler r=karlt
+
+ --HG--
+ extra : rebase_source : 6f3d1a49a07affab679e41cd8cf968d62c072299
+---
+ extensions/gio/nsGIOProtocolHandler.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git extensions/gio/nsGIOProtocolHandler.cpp extensions/gio/nsGIOProtocolHandler.cpp
+index 9347b6e..e8f153d 100644
+--- extensions/gio/nsGIOProtocolHandler.cpp
++++ extensions/gio/nsGIOProtocolHandler.cpp
+@@ -238,7 +238,7 @@ class nsGIOInputStream : public nsIInputStream
+ void
+ nsGIOInputStream::SetMountResult(MountOperationResult result, gint error_code)
+ {
+- mozilla::MonitorAutoEnter mon(mMonitorMountInProgress);
++ mozilla::MonitorAutoLock mon(mMonitorMountInProgress);
+ mMountRes = result;
+ mMountErrorCode = error_code;
+ mon.Notify();
+@@ -263,7 +263,7 @@ nsGIOInputStream::MountVolume() {
+ NULL,
+ mount_enclosing_volume_finished,
+ this);
+- mozilla::MonitorAutoEnter mon(mMonitorMountInProgress);
++ mozilla::MonitorAutoLock mon(mMonitorMountInProgress);
+ /* Waiting for finish of mount operation thread */
+ while (mMountRes == MOUNT_OPERATION_IN_PROGRESS)
+ mon.Wait();
diff --git a/www/firefox-esr/files/patch-bug713802 b/www/firefox-esr/files/patch-bug713802
new file mode 100644
index 000000000000..956ed1cc8e97
--- /dev/null
+++ b/www/firefox-esr/files/patch-bug713802
@@ -0,0 +1,176 @@
+commit 20586fa
+Author: Karl Tomlinson <karlt+@karlt.net>
+Date: Thu Sep 27 18:35:06 2012 +1200
+
+ b=713802 default enable GIO support and disable GnomeVFS r=glandium
+
+ --HG--
+ extra : transplant_source : wk%ADr%CA%8EN%AE%C93p/p%0A%26%0E%1D0%F20
+---
+ browser/confvars.sh | 2 +-
+ configure.in | 20 ++++++++++----------
+ xulrunner/confvars.sh | 2 +-
+ 3 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git browser/confvars.sh browser/confvars.sh
+index 40ab494..eae5645 100755
+--- browser/confvars.sh
++++ browser/confvars.sh
+@@ -21,7 +21,7 @@ MOZ_SERVICES_AITC=1
+ MOZ_SERVICES_NOTIFICATIONS=1
+ MOZ_SERVICES_SYNC=1
+ MOZ_APP_VERSION=$FIREFOX_VERSION
+-MOZ_EXTENSIONS_DEFAULT=" gnomevfs"
++MOZ_EXTENSIONS_DEFAULT=" gio"
+ # MOZ_APP_DISPLAYNAME will be set by branding/configure.sh
+ # Changing MOZ_*BRANDING_DIRECTORY requires a clobber to ensure correct results,
+ # because branding dependencies are broken.
+--- browser/installer/package-manifest.in~
++++ browser/installer/package-manifest.in
+@@ -679,6 +679,10 @@ bin/libfreebl_32int64_3.so
+
+ ; [Extensions]
+ ;
++#ifdef MOZ_ENABLE_GIO
++bin/components/@DLL_PREFIX@nkgio@DLL_SUFFIX@
++#endif
++
+ #ifdef MOZ_ENABLE_GNOMEVFS
+ bin/components/@DLL_PREFIX@nkgnomevfs@DLL_SUFFIX@
+ #endif
+diff --git configure.in configure.in
+index 87a9391..2118651 100644
+--- configure.in
++++ configure.in
+@@ -4846,21 +4846,21 @@ dnl ========================================================
+
+ if test "$MOZ_X11"
+ then
+- dnl build the gnomevfs extension by default only when the
++ dnl build the GIO extension by default only when the
+ dnl GTK2 toolkit is in use.
+ if test "$MOZ_ENABLE_GTK2"
+ then
+- MOZ_ENABLE_GNOMEVFS=1
++ MOZ_ENABLE_GIO=1
+ MOZ_ENABLE_GCONF=1
+ fi
+
+ dnl ========================================================
+ dnl = GnomeVFS support module
+ dnl ========================================================
+- MOZ_ARG_DISABLE_BOOL(gnomevfs,
+- [ --disable-gnomevfs Disable GnomeVFS support ],
+- MOZ_ENABLE_GNOMEVFS=,
+- MOZ_ENABLE_GNOMEVFS=force)
++ MOZ_ARG_ENABLE_BOOL(gnomevfs,
++ [ --enable-gnomevfs Enable GnomeVFS support (default: disabled)],
++ MOZ_ENABLE_GNOMEVFS=force,
++ MOZ_ENABLE_GNOMEVFS=)
+
+ if test "$MOZ_ENABLE_GNOMEVFS"
+ then
+@@ -4884,10 +4884,10 @@ then
+ dnl ========================================================
+ dnl = GIO support module
+ dnl ========================================================
+- MOZ_ARG_ENABLE_BOOL(gio,
+- [ --enable-gio Enable GIO support (default: disabled)],
+- MOZ_ENABLE_GIO=force,
+- MOZ_ENABLE_GIO=)
++ MOZ_ARG_DISABLE_BOOL(gio,
++ [ --disable-gio Disable GIO support],
++ MOZ_ENABLE_GIO=,
++ MOZ_ENABLE_GIO=force)
+
+ if test "$MOZ_ENABLE_GIO" -a "$MOZ_ENABLE_GTK2"
+ then
+diff --git xulrunner/confvars.sh xulrunner/confvars.sh
+index 2fa6ead..5fe2c3d 100755
+--- xulrunner/confvars.sh
++++ xulrunner/confvars.sh
+@@ -10,5 +10,5 @@ MOZ_XULRUNNER=1
+ MOZ_CHROME_FILE_FORMAT=omni
+ MOZ_APP_VERSION=$MOZILLA_VERSION
+ MOZ_PLACES=1
+-MOZ_EXTENSIONS_DEFAULT=" gnomevfs"
++MOZ_EXTENSIONS_DEFAULT=" gio"
+ MOZ_URL_CLASSIFIER=1
+
+commit d884d75
+Author: Karl Tomlinson <karlt+@karlt.net>
+Date: Thu Sep 27 18:34:44 2012 +1200
+
+ b=713802 disable gnomevfs extension without --enable-gnomevfs r=glandium
+
+ --HG--
+ extra : transplant_source : i%07%81%E9%90_%C1%05b%194%9B%1E%93%FC%03%279%F9%8A
+---
+ configure.in | 12 +++---------
+ 1 file changed, 3 insertions(+), 9 deletions(-)
+
+diff --git configure.in configure.in
+index f2b4041..87a9391 100644
+--- configure.in
++++ configure.in
+@@ -4875,12 +4875,6 @@ then
+ fi
+ MOZ_ENABLE_GNOMEVFS=
+ ])
+- else
+- if test `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then
+- PKG_CHECK_MODULES(MOZ_GNOMEVFS, gnome-vfs-2.0 >= $GNOMEVFS_VERSION gnome-vfs-module-2.0 >= $GNOMEVFS_VERSION,[
+- MOZ_GNOMEVFS_LIBS=`echo $MOZ_GNOMEVFS_LIBS | sed 's/-llinc\>//'`
+- ])
+- fi
+ fi
+
+ AC_SUBST(MOZ_ENABLE_GNOMEVFS)
+@@ -5967,10 +5961,10 @@ MOZ_ARG_ENABLE_STRING(extensions,
+ done],
+ MOZ_EXTENSIONS="$MOZ_EXTENSIONS_DEFAULT")
+
+-if test -z "$MOZ_ENABLE_GNOMEVFS" -a -z "$MOZ_GNOMEVFS_LIBS" -a `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then
++if test -z "$MOZ_ENABLE_GNOMEVFS" -a `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then
+ # Suppress warning on non-X11 platforms
+ if test -n "$MOZ_X11"; then
+- AC_MSG_WARN([Cannot build gnomevfs without required libraries. Removing gnomevfs from MOZ_EXTENSIONS.])
++ AC_MSG_WARN([Removing gnomevfs from MOZ_EXTENSIONS due to no --enable-gnomevfs.])
+ fi
+ MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gnomevfs||'`
+ fi
+@@ -5983,7 +5977,7 @@ fi
+ if test -z "$MOZ_ENABLE_GIO" -a `echo "$MOZ_EXTENSIONS" | grep -c gio` -ne 0; then
+ # Suppress warning on non-X11 platforms
+ if test -n "$MOZ_X11"; then
+- AC_MSG_WARN([Cannot build gio without required libraries. Removing gio from MOZ_EXTENSIONS.])
++ AC_MSG_WARN([Removing gio from MOZ_EXTENSIONS due to --disable-gio.])
+ fi
+ MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gio||'`
+ fi
+
+commit ddedeea
+Author: Karl Tomlinson <karlt+@karlt.net>
+Date: Thu Sep 27 13:47:19 2012 +1200
+
+ b=713802 link gio extension against libxul for tracemalloc stack functions r=bsmedberg
+
+ --HG--
+ extra : transplant_source : %C8%A3o%BE%A0z%F7%C8%8A%E6%0E%D4s%7D%90%9C%D9%0F%06%7E
+---
+ extensions/gio/Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git extensions/gio/Makefile.in extensions/gio/Makefile.in
+index 46412c4..ccf2846 100644
+--- extensions/gio/Makefile.in
++++ extensions/gio/Makefile.in
+@@ -23,7 +23,7 @@ LOCAL_INCLUDES = $(MOZ_GIO_CFLAGS)
+
+ EXTRA_DSO_LDOPTS = \
+ $(XPCOM_GLUE_LDOPTS) \
+- $(NSPR_LIBS) \
++ $(MOZ_COMPONENT_LIBS) \
+ $(MOZ_GIO_LIBS) \
+ $(NULL)
+
diff --git a/www/firefox-esr/files/patch-bug753046 b/www/firefox-esr/files/patch-bug753046
index 48c16e5db2e1..c606ab1f58bc 100644
--- a/www/firefox-esr/files/patch-bug753046
+++ b/www/firefox-esr/files/patch-bug753046
@@ -451,7 +451,7 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread.h,v 1.1 2012/03/06 12:34:0
--- ipc/chromium/src/base/platform_thread.h.orig 2011-12-20 23:28:19.000000000 +0000
+++ ipc/chromium/src/base/platform_thread.h
-@@ -22,9 +22,11 @@ typedef void* PlatformThreadHandle; // HANDLE
+@@ -22,9 +22,12 @@ typedef void* PlatformThreadHandle; // HANDLE
#elif defined(OS_POSIX)
#include <pthread.h>
typedef pthread_t PlatformThreadHandle;
@@ -460,6 +460,7 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread.h,v 1.1 2012/03/06 12:34:0
#include <unistd.h>
typedef pid_t PlatformThreadId;
+#elif defined(OS_BSD)
++#include <sys/types.h>
+typedef lwpid_t PlatformThreadId;
#elif defined(OS_MACOSX)
#include <mach/mach.h>
diff --git a/www/firefox-esr/files/patch-bug781474 b/www/firefox-esr/files/patch-bug781474
deleted file mode 100644
index 8239b2e8b8fd..000000000000
--- a/www/firefox-esr/files/patch-bug781474
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/base/public/nsContentUtils.h.orig 2011-07-07 10:44:49.000000000 +0200
-+++ content/base/public/nsContentUtils.h 2011-07-07 10:46:12.000000000 +0200
-@@ -54,7 +54,7 @@
- //A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
- #ifdef __FreeBSD__
- #include <ieeefp.h>
--#ifdef __alpha__
-+#if !defined(__amd64__) && !defined(__i386__)
- static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
- #else
- static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP|FP_X_DNML;
diff --git a/www/firefox-esr/files/patch-bug785638 b/www/firefox-esr/files/patch-bug785638
deleted file mode 100644
index 6e1f63d64971..000000000000
--- a/www/firefox-esr/files/patch-bug785638
+++ /dev/null
@@ -1,168 +0,0 @@
-diff --git configure.in configure.in
-index cef992b..3bd39ca 100644
---- configure.in
-+++ configure.in
-@@ -5353,22 +5353,6 @@ if test -n "$MOZ_VP8" -a -z "$MOZ_NATIVE_LIBVPX"; then
-
- dnl See if we have assembly on this platform.
- case "$OS_ARCH:$CPU_ARCH" in
-- Linux:x86)
-- VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
-- VPX_X86_ASM=1
-- ;;
-- Linux:x86_64)
-- VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
-- VPX_X86_ASM=1
-- ;;
-- SunOS:x86)
-- VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
-- VPX_X86_ASM=1
-- ;;
-- SunOS:x86_64)
-- VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
-- VPX_X86_ASM=1
-- ;;
- Darwin:x86)
- VPX_ASFLAGS="-f macho32 -rnasm -pnasm -DPIC"
- VPX_X86_ASM=1
-@@ -5412,6 +5388,19 @@ if test -n "$MOZ_VP8" -a -z "$MOZ_NATIVE_LIBVPX"; then
- VPX_ASM_SUFFIX="$ASM_SUFFIX"
- VPX_ARM_ASM=1
- fi
-+ ;;
-+ *:x86)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
-+ VPX_X86_ASM=1
-+ fi
-+ ;;
-+ *:x86_64)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
-+ VPX_X86_ASM=1
-+ fi
-+ ;;
- esac
-
- if test -n "$COMPILE_ENVIRONMENT" -a -n "$VPX_X86_ASM" -a -z "$VPX_AS"; then
-@@ -5843,22 +5832,6 @@ if test -n "$MOZ_LIBJPEG_TURBO"; then
-
- dnl Do we support libjpeg-turbo on this platform?
- case "$OS_ARCH:$OS_TEST" in
-- Linux:x86|Linux:i?86)
-- LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
-- LIBJPEG_TURBO_X86_ASM=1
-- ;;
-- Linux:x86_64)
-- LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
-- LIBJPEG_TURBO_X64_ASM=1
-- ;;
-- SunOS:i?86)
-- LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
-- LIBJPEG_TURBO_X86_ASM=1
-- ;;
-- SunOS:x86_64)
-- LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
-- LIBJPEG_TURBO_X64_ASM=1
-- ;;
- Darwin:i?86)
- LIBJPEG_TURBO_ASFLAGS="-f macho32 -rnasm -pnasm -DPIC -DMACHO"
- LIBJPEG_TURBO_X86_ASM=1
-@@ -5879,6 +5852,18 @@ if test -n "$MOZ_LIBJPEG_TURBO"; then
- LIBJPEG_TURBO_ASFLAGS="-march=armv7-a -mfpu=neon"
- LIBJPEG_TURBO_ARM_ASM=1
- ;;
-+ *:x86|*:i?86)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
-+ LIBJPEG_TURBO_X86_ASM=1
-+ fi
-+ ;;
-+ *:x86_64)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
-+ LIBJPEG_TURBO_X64_ASM=1
-+ fi
-+ ;;
- esac
-
- fi
-diff --git media/libvpx/update.sh media/libvpx/update.sh
-index 79e0fb1..51956af 100755
---- media/libvpx/update.sh
-+++ media/libvpx/update.sh
-@@ -363,12 +363,12 @@ cp $1/objdir/x86-win32-vs8/vpx_config.h vpx_config_x86-win32-vs8.h
- # Should be same for all platforms...
- cp $1/objdir/x86-win32-vs8/vpx_version.h vpx_version.h
-
--# Config files for x86-linux-gcc and Solaris x86
-+# Config files for x86-linux-gcc and other x86 elf platforms
- cp $1/objdir/x86-linux-gcc/vpx_config.c vpx_config_x86-linux-gcc.c
- cp $1/objdir/x86-linux-gcc/vpx_config.asm vpx_config_x86-linux-gcc.asm
- cp $1/objdir/x86-linux-gcc/vpx_config.h vpx_config_x86-linux-gcc.h
-
--# Config files for x86_64-linux-gcc and Solaris x86_64
-+# Config files for x86_64-linux-gcc and other x86_64 elf platforms
- cp $1/objdir/x86_64-linux-gcc/vpx_config.c vpx_config_x86_64-linux-gcc.c
- cp $1/objdir/x86_64-linux-gcc/vpx_config.asm vpx_config_x86_64-linux-gcc.asm
- cp $1/objdir/x86_64-linux-gcc/vpx_config.h vpx_config_x86_64-linux-gcc.h
-diff --git media/libvpx/vpx_config.h media/libvpx/vpx_config.h
-index 55433f3..36e1780 100644
---- media/libvpx/vpx_config.h
-+++ media/libvpx/vpx_config.h
-@@ -16,20 +16,12 @@
- /* 32 bit MacOS. */
- #include "vpx_config_x86-darwin9-gcc.h"
-
--#elif defined(__linux__) && defined(__i386__)
--/* 32 bit Linux. */
-+#elif defined(__ELF__) && (defined(__i386) || defined(__i386__))
-+/* 32 bit ELF platforms. */
- #include "vpx_config_x86-linux-gcc.h"
-
--#elif defined(__linux__) && defined(__x86_64__)
--/* 64 bit Linux. */
--#include "vpx_config_x86_64-linux-gcc.h"
--
--#elif defined(__sun) && defined(__i386)
--/* 32 bit Solaris. */
--#include "vpx_config_x86-linux-gcc.h"
--
--#elif defined(__sun) && defined(__x86_64)
--/* 64 bit Solaris. */
-+#elif defined(__ELF__) && (defined(__x86_64) || defined(__x86_64__))
-+/* 64 bit ELF platforms. */
- #include "vpx_config_x86_64-linux-gcc.h"
-
- #else
-diff --git media/libvpx/vpx_config_c.c media/libvpx/vpx_config_c.c
-index eedd515..c8b5375 100644
---- media/libvpx/vpx_config_c.c
-+++ media/libvpx/vpx_config_c.c
-@@ -12,22 +12,14 @@
- /* 32 bit MacOS. */
- #include "vpx_config_x86-darwin9-gcc.c"
-
--#elif defined(__linux__) && defined(__i386__)
--/* 32 bit Linux. */
-+#elif defined(__ELF__) && (defined(__i386) || defined(__i386__))
-+/* 32 bit ELF platforms. */
- #include "vpx_config_x86-linux-gcc.c"
-
--#elif defined(__linux__) && defined(__x86_64__)
--/* 64 bit Linux. */
-+#elif defined(__ELF__) && (defined(__x86_64) || defined(__x86_64__))
-+/* 64 bit ELF platforms. */
- #include "vpx_config_x86_64-linux-gcc.c"
-
--#elif defined(__sun) && defined(__i386)
--/* 32 bit Solaris. */
--#include "vpx_config_x86-linux-gcc.h"
--
--#elif defined(__sun) && defined(__x86_64)
--/* 64 bit Solaris. */
--#include "vpx_config_x86_64-linux-gcc.h"
--
- #elif defined(_MSC_VER) && defined(_M_X64)
- #include "vpx_config_x86_64-win64-vs8.c"
-
diff --git a/www/firefox-esr/files/patch-bug788108 b/www/firefox-esr/files/patch-bug788108
new file mode 100644
index 000000000000..746146760c62
--- /dev/null
+++ b/www/firefox-esr/files/patch-bug788108
@@ -0,0 +1,20 @@
+--- content/base/public/nsContentUtils.h~
++++ content/base/public/nsContentUtils.h
+@@ -18,17 +18,6 @@
+ #include <ieeefp.h>
+ #endif
+
+-//A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
+-#ifdef __FreeBSD__
+-#include <ieeefp.h>
+-#ifdef __alpha__
+-static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
+-#else
+-static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP|FP_X_DNML;
+-#endif
+-static fp_except_t oldmask = fpsetmask(~allmask);
+-#endif
+-
+ #include "nsAString.h"
+ #include "nsIStatefulFrame.h"
+ #include "nsNodeInfoManager.h"
diff --git a/www/firefox-esr/files/patch-bug789436 b/www/firefox-esr/files/patch-bug789436
new file mode 100644
index 000000000000..6d1e7069b858
--- /dev/null
+++ b/www/firefox-esr/files/patch-bug789436
@@ -0,0 +1,27 @@
+--- toolkit/xre/nsAppRunner.cpp~
++++ toolkit/xre/nsAppRunner.cpp
+@@ -1388,11 +1388,6 @@ static int MSCRTReportHook( int aReportType, char *aMessage, int *oReturnValue)
+
+ #endif
+
+-#if defined(FREEBSD)
+-// pick up fpsetmask prototype.
+-#include <ieeefp.h>
+-#endif
+-
+ static inline void
+ DumpVersion()
+ {
+@@ -4136,12 +4131,5 @@ SetupErrorHandling(const char* progname)
+
+ // Unbuffer stdout, needed for tinderbox tests.
+ setbuf(stdout, 0);
+-
+-#if defined(FREEBSD)
+- // Disable all SIGFPE's on FreeBSD, as it has non-IEEE-conformant fp
+- // trap behavior that trips up on floating-point tests performed by
+- // the JS engine. See bugzilla bug 9967 details.
+- fpsetmask(0);
+-#endif
+ }
+
diff --git a/www/firefox-esr/files/patch-bug789693 b/www/firefox-esr/files/patch-bug789693
new file mode 100644
index 000000000000..dee137ab64fe
--- /dev/null
+++ b/www/firefox-esr/files/patch-bug789693
@@ -0,0 +1,108 @@
+--- toolkit/components/startup/nsAppStartup.cpp
++++ toolkit/components/startup/nsAppStartup.cpp
+@@ -50,17 +50,40 @@
+ #include <sys/syscall.h>
+ #endif
+
+-#ifdef XP_MACOSX
++#if defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
++#include <sys/param.h>
+ #include <sys/sysctl.h>
+ #endif
+
+-#ifdef __OpenBSD__
+-#include <sys/param.h>
+-#include <sys/sysctl.h>
++#if defined(__DragonFly__) || defined(__FreeBSD__)
++#include <sys/user.h>
+ #endif
+
+ #include "mozilla/Telemetry.h"
+
++#if defined(__NetBSD__)
++#undef KERN_PROC
++#define KERN_PROC KERN_PROC2
++#define KINFO_PROC struct kinfo_proc2
++#else
++#define KINFO_PROC struct kinfo_proc
++#endif
++
++#if defined(XP_MACOSX)
++#define KP_START_SEC kp_proc.p_un.__p_starttime.tv_sec
++#define KP_START_USEC kp_proc.p_un.__p_starttime.tv_usec
++#elif defined(__DragonFly__)
++#define KP_START_SEC kp_start.tv_sec
++#define KP_START_USEC kp_start.tv_usec
++#elif defined(__FreeBSD__)
++#define KP_START_SEC ki_start.tv_sec
++#define KP_START_USEC ki_start.tv_usec
++#else
++#define KP_START_SEC p_ustart_sec
++#define KP_START_USEC p_ustart_usec
++#endif
++
+ static NS_DEFINE_CID(kAppShellCID, NS_APPSHELL_CID);
+
+ using namespace mozilla;
+@@ -836,42 +859,30 @@ CalculateProcessCreationTimestamp()
+ #endif
+ return timestamp;
+ }
+-#elif defined(XP_MACOSX)
++#elif defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
+ static PRTime
+ CalculateProcessCreationTimestamp()
+ {
+- int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid() };
+- size_t buffer_size;
+- if (sysctl(mib, 4, NULL, &buffer_size, NULL, 0))
+- return 0;
++ int mib[] = {
++ CTL_KERN,
++ KERN_PROC,
++ KERN_PROC_PID,
++ getpid(),
++#if defined(__NetBSD__) || defined(__OpenBSD__)
++ sizeof(KINFO_PROC),
++ 1,
++#endif
++ };
++ u_int miblen = sizeof(mib) / sizeof(mib[0]);
+
+- struct kinfo_proc *proc = (kinfo_proc*) malloc(buffer_size);
+- if (sysctl(mib, 4, proc, &buffer_size, NULL, 0)) {
+- free(proc);
+- return 0;
+- }
+- PRTime starttime = static_cast<PRTime>(proc->kp_proc.p_un.__p_starttime.tv_sec) * PR_USEC_PER_SEC;
+- starttime += proc->kp_proc.p_un.__p_starttime.tv_usec;
+- free(proc);
+- return starttime;
+-}
+-#elif defined(__OpenBSD__)
+-static PRTime
+-CalculateProcessCreationTimestamp()
+-{
+- int mib[6] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid(), sizeof(struct kinfo_proc), 1 };
+- size_t buffer_size;
+- if (sysctl(mib, 6, NULL, &buffer_size, NULL, 0))
++ KINFO_PROC proc;
++ size_t buffer_size = sizeof(proc);
++ if (sysctl(mib, miblen, &proc, &buffer_size, NULL, 0))
+ return 0;
+
+- struct kinfo_proc *proc = (struct kinfo_proc*) malloc(buffer_size);
+- if (sysctl(mib, 6, proc, &buffer_size, NULL, 0)) {
+- free(proc);
+- return 0;
+- }
+- PRTime starttime = static_cast<PRTime>(proc->p_ustart_sec) * PR_USEC_PER_SEC;
+- starttime += proc->p_ustart_usec;
+- free(proc);
++ PRTime starttime = static_cast<PRTime>(proc.KP_START_SEC) * PR_USEC_PER_SEC;
++ starttime += proc.KP_START_USEC;
+ return starttime;
+ }
+ #else
diff --git a/www/firefox-esr/files/patch-bug791305 b/www/firefox-esr/files/patch-bug791305
new file mode 100644
index 000000000000..534e7f2d9cac
--- /dev/null
+++ b/www/firefox-esr/files/patch-bug791305
@@ -0,0 +1,107 @@
+commit c269a16
+Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
+Date: Fri Sep 14 15:54:55 2012 -0400
+
+ Bug 791305. Use libjpeg's color conversion code instead of our own. r=joe,r=khuey
+
+ libjpeg-turbo supports converting directly to a format compatible with cairo's
+ FORMAT_RGB24. Use that instead of our own handcoded function. This also gives
+ us SSE2 and NEON version of this function.
+
+ --HG--
+ extra : rebase_source : 18f48925f023a33ec2a097d4f4e5cc2ab40be1e9
+---
+ configure.in | 6 +-
+ image/decoders/nsJPEGDecoder.cpp | 311 ++-------------------------------------
+ 2 files changed, 20 insertions(+), 297 deletions(-)
+
+diff --git image/decoders/nsJPEGDecoder.cpp image/decoders/nsJPEGDecoder.cpp
+index c1fb515..1d2a259 100644
+--- image/decoders/nsJPEGDecoder.cpp
++++ image/decoders/nsJPEGDecoder.cpp
+@@ -22,6 +22,13 @@
+ extern "C" {
+ #include "iccjpeg.h"
+
++#ifdef JCS_EXTENSIONS
++#if defined(IS_BIG_ENDIAN)
++#define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_XRGB
++#else
++#define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_BGRX
++#endif
++#else
+ /* Colorspace conversion (copied from jpegint.h) */
+ struct jpeg_color_deconverter {
+ JMETHOD(void, start_pass, (j_decompress_ptr cinfo));
+@@ -34,6 +41,7 @@ METHODDEF(void)
+ ycc_rgb_convert_argb (j_decompress_ptr cinfo,
+ JSAMPIMAGE input_buf, JDIMENSION input_row,
+ JSAMPARRAY output_buf, int num_rows);
++#endif
+ }
+
+ static void cmyk_convert_rgb(JSAMPROW row, JDIMENSION width);
+@@ -329,7 +340,18 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount)
+ case JCS_GRAYSCALE:
+ case JCS_RGB:
+ case JCS_YCbCr:
++#ifdef JCS_EXTENSIONS
++ // if we're not color managing we can decode directly to
++ // MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB
++ if (mCMSMode != eCMSMode_All) {
++ mInfo.out_color_space = MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB;
++ mInfo.out_color_components = 4;
++ } else {
++ mInfo.out_color_space = JCS_RGB;
++ }
++#else
+ mInfo.out_color_space = JCS_RGB;
++#endif
+ break;
+ case JCS_CMYK:
+ case JCS_YCCK:
+@@ -397,6 +419,7 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount)
+ return; /* I/O suspension */
+ }
+
++#ifndef JCS_EXTENSIONS
+ /* Force to use our YCbCr to Packed RGB converter when possible */
+ if (!mTransform && (mCMSMode != eCMSMode_All) &&
+ mInfo.jpeg_color_space == JCS_YCbCr && mInfo.out_color_space == JCS_RGB) {
+@@ -404,6 +427,7 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount)
+ mInfo.out_color_components = 4; /* Packed ARGB pixels are always 4 bytes...*/
+ mInfo.cconvert->color_convert = ycc_rgb_convert_argb;
+ }
++#endif
+
+ /* If this is a progressive JPEG ... */
+ mState = mInfo.buffered_image ? JPEG_DECOMPRESS_PROGRESSIVE : JPEG_DECOMPRESS_SEQUENTIAL;
+@@ -542,7 +566,11 @@ nsJPEGDecoder::OutputScanlines(bool* suspend)
+ PRUint32 *imageRow = ((PRUint32*)mImageData) +
+ (mInfo.output_scanline * mInfo.output_width);
+
++#ifdef JCS_EXTENSIONS
++ if (mInfo.out_color_space == MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB) {
++#else
+ if (mInfo.cconvert->color_convert == ycc_rgb_convert_argb) {
++#endif
+ /* Special case: scanline will be directly converted into packed ARGB */
+ if (jpeg_read_scanlines(&mInfo, (JSAMPARRAY)&imageRow, 1) != 1) {
+ *suspend = true; /* suspend */
+@@ -858,6 +887,7 @@ term_source (j_decompress_ptr jd)
+ } // namespace mozilla
+
+
++#ifndef JCS_EXTENSIONS
+ /**************** YCbCr -> Cairo's RGB24/ARGB32 conversion: most common case **************/
+
+ /*
+@@ -1130,7 +1160,8 @@ ycc_rgb_convert_argb (j_decompress_ptr cinfo,
+ }
+ }
+ }
++#endif
+
+
+ /**************** Inverted CMYK -> RGB conversion **************/
+ /*
diff --git a/www/firefox-esr/files/patch-bug791366 b/www/firefox-esr/files/patch-bug791366
new file mode 100644
index 000000000000..08a9181a33a7
--- /dev/null
+++ b/www/firefox-esr/files/patch-bug791366
@@ -0,0 +1,124 @@
+diff --git xpcom/base/nsMemoryReporterManager.cpp xpcom/base/nsMemoryReporterManager.cpp
+index a9aff58..674e757 100644
+--- xpcom/base/nsMemoryReporterManager.cpp
++++ xpcom/base/nsMemoryReporterManager.cpp
+@@ -64,7 +64,7 @@ extern void jemalloc_stats(jemalloc_stat
+ # endif // XP_LINUX
+ #endif // MOZ_MEMORY
+
+-#if defined(XP_LINUX) || defined(XP_MACOSX)
++#ifdef XP_UNIX
+
+ #include <sys/time.h>
+ #include <sys/resource.h>
+@@ -122,6 +122,78 @@ static PRInt64 GetResident()
+ return GetProcSelfStatmField(1);
+ }
+
++#elif defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
++
++#include <sys/param.h>
++#include <sys/sysctl.h>
++#if defined(__DragonFly__) || defined(__FreeBSD__)
++#include <sys/user.h>
++#endif
++
++#include <unistd.h>
++
++#if defined(__NetBSD__)
++#undef KERN_PROC
++#define KERN_PROC KERN_PROC2
++#define KINFO_PROC struct kinfo_proc2
++#else
++#define KINFO_PROC struct kinfo_proc
++#endif
++
++#if defined(__DragonFly__)
++#define KP_SIZE(kp) (kp.kp_vm_map_size)
++#define KP_RSS(kp) (kp.kp_vm_rssize * getpagesize())
++#elif defined(__FreeBSD__)
++#define KP_SIZE(kp) (kp.ki_size)
++#define KP_RSS(kp) (kp.ki_rssize * getpagesize())
++#elif defined(__NetBSD__)
++#define KP_SIZE(kp) (kp.p_vm_msize * getpagesize())
++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize())
++#elif defined(__OpenBSD__)
++#define KP_SIZE(kp) ((kp.p_vm_dsize + kp.p_vm_ssize \
++ + kp.p_vm_tsize) * getpagesize())
++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize())
++#endif
++
++static nsresult GetKinfoProcSelf(KINFO_PROC *proc)
++{
++ int mib[] = {
++ CTL_KERN,
++ KERN_PROC,
++ KERN_PROC_PID,
++ getpid(),
++#if defined(__NetBSD__) || defined(__OpenBSD__)
++ sizeof(KINFO_PROC),
++ 1,
++#endif
++ };
++ u_int miblen = sizeof(mib) / sizeof(mib[0]);
++ size_t size = sizeof(KINFO_PROC);
++ if (sysctl(mib, miblen, proc, &size, NULL, 0))
++ return NS_ERROR_FAILURE;
++
++ return NS_OK;
++}
++
++static PRInt64 GetVsize()
++{
++ KINFO_PROC proc;
++ if (NS_SUCCEEDED(GetKinfoProcSelf(&proc)))
++ return KP_SIZE(proc);
++
++ return -1;
++}
++
++static PRInt64 GetResident()
++{
++ KINFO_PROC proc;
++ if (NS_SUCCEEDED(GetKinfoProcSelf(&proc)))
++ return KP_RSS(proc);
++
++ return -1;
++}
++
+ #elif defined(XP_MACOSX)
+
+ #include <mach/mach_init.h>
+@@ -224,7 +297,7 @@ static PRInt64 GetResident()
+
+ #endif
+
+-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(XP_WIN)
++#if defined(XP_UNIX) || defined(XP_WIN)
+ NS_MEMORY_REPORTER_IMPLEMENT(Vsize,
+ "vsize",
+ KIND_OTHER,
+@@ -239,7 +312,7 @@ NS_MEMORY_REPORTER_IMPLEMENT(Vsize,
+ "measure of the memory resources used by the process.")
+ #endif
+
+-#if defined(XP_LINUX) || defined(XP_MACOSX)
++#if defined(XP_UNIX)
+ NS_MEMORY_REPORTER_IMPLEMENT(PageFaultsSoft,
+ "page-faults-soft",
+ KIND_OTHER,
+@@ -457,11 +530,11 @@ nsMemoryReporterManager::Init()
+ REGISTER(HeapUnallocated);
+ REGISTER(Resident);
+
+-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(XP_WIN)
++#if defined(XP_UNIX) || defined(XP_WIN)
+ REGISTER(Vsize);
+ #endif
+
+-#if defined(XP_LINUX) || defined(XP_MACOSX)
++#if defined(XP_UNIX)
+ REGISTER(PageFaultsSoft);
+ REGISTER(PageFaultsHard);
+ #endif
diff --git a/www/firefox-esr/files/patch-clang32-libc++-visibility-hack b/www/firefox-esr/files/patch-clang32-libc++-visibility-hack
deleted file mode 100644
index ccada32cbee3..000000000000
--- a/www/firefox-esr/files/patch-clang32-libc++-visibility-hack
+++ /dev/null
@@ -1,38 +0,0 @@
---- configure.in~
-+++ configure.in
-@@ -2855,6 +2855,7 @@ EOF
- #pragma GCC visibility push(hidden)
- #pragma GCC visibility push(default)
- #include <string.h>
-+#include <iterator>
- #pragma GCC visibility pop
-
- __attribute__ ((visibility ("default"))) void Func() {
-@@ -2863,7 +2864,7 @@ __attribute__ ((visibility ("default"))) void Func() {
- }
- EOF
- ac_cv_have_visibility_builtin_bug=no
-- if ! ${CC-cc} ${CFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
-+ if ! ${CXX-c++} ${CXXFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
- ac_cv_have_visibility_builtin_bug=yes
- else
- if test `grep -c "@PLT" conftest.S` = 0; then
---- js/src/configure.in~
-+++ js/src/configure.in
-@@ -2855,6 +2855,7 @@ EOF
- #pragma GCC visibility push(hidden)
- #pragma GCC visibility push(default)
- #include <string.h>
-+#include <iterator>
- #pragma GCC visibility pop
-
- __attribute__ ((visibility ("default"))) void Func() {
-@@ -2863,7 +2864,7 @@ __attribute__ ((visibility ("default"))) void Func() {
- }
- EOF
- ac_cv_have_visibility_builtin_bug=no
-- if ! ${CC-cc} ${CFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
-+ if ! ${CXX-c++} ${CXXFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
- ac_cv_have_visibility_builtin_bug=yes
- else
- if test `grep -c "@PLT" conftest.S` = 0; then
diff --git a/www/firefox-esr/files/patch-clang32-visibility-hack b/www/firefox-esr/files/patch-clang32-visibility-hack
new file mode 100644
index 000000000000..7744fed5e17e
--- /dev/null
+++ b/www/firefox-esr/files/patch-clang32-visibility-hack
@@ -0,0 +1,20 @@
+--- configure.in~
++++ configure.in
+@@ -3230,6 +3230,7 @@ EOF
+ ac_cv_have_visibility_class_bug,
+ [cat > conftest.c <<EOF
+ #pragma GCC visibility push(hidden)
++struct TestStruct;
+ struct __attribute__ ((visibility ("default"))) TestStruct {
+ static void Init();
+ };
+--- js/src/configure.in~
++++ js/src/configure.in
+@@ -3230,6 +3230,7 @@ EOF
+ ac_cv_have_visibility_class_bug,
+ [cat > conftest.c <<EOF
+ #pragma GCC visibility push(hidden)
++struct TestStruct;
+ struct __attribute__ ((visibility ("default"))) TestStruct {
+ static void Init();
+ };
diff --git a/www/firefox-esr/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp b/www/firefox-esr/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp
new file mode 100644
index 000000000000..419955d77ff1
--- /dev/null
+++ b/www/firefox-esr/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp
@@ -0,0 +1,15 @@
+--- extensions/spellcheck/hunspell/src/mozHunspell.cpp~
++++ extensions/spellcheck/hunspell/src/mozHunspell.cpp
+@@ -400,6 +400,12 @@ mozHunspell::LoadDictionaryList()
+ }
+ }
+
++ // load system hunspell dictionaries
++ nsIFile* hunDir;
++ NS_NewNativeLocalFile(NS_LITERAL_CSTRING("%%LOCALBASE%%/share/hunspell"),
++ true, (nsILocalFile**)&hunDir);
++ LoadDictionariesFromDir(hunDir);
++
+ // find dictionaries from extensions requiring restart
+ nsCOMPtr<nsISimpleEnumerator> dictDirs;
+ rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST,
diff --git a/www/firefox-esr/pkg-message b/www/firefox-esr/pkg-message
index 541e7771f224..b282c9ce33a1 100644
--- a/www/firefox-esr/pkg-message
+++ b/www/firefox-esr/pkg-message
@@ -1,9 +1,9 @@
======================================================================
-smb:// issues (GNOMEVFS2 option):
+smb:// issues (Gvfs/GIO or GNOMEVFS2 option):
Network group, machine, and share browsing does not work correctly.
-sftp:// (GNOMEVFS2 option):
+sftp:// (Gvfs/GIO or GNOMEVFS2 option):
Only sftp access using public key authentication works. To easily
setup public key authentication to "remote_host":
diff --git a/www/firefox-i18n/Makefile b/www/firefox-i18n/Makefile
index 9654db7be24c..8eba7e5e9a27 100644
--- a/www/firefox-i18n/Makefile
+++ b/www/firefox-i18n/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= firefox-i18n
-PORTVERSION= 15.0.1
+PORTVERSION= 16.0
CATEGORIES= www
MASTER_SITE_SUBDIR= firefox/releases/${PORTVERSION}/linux-i686/xpi
PKGNAMEPREFIX=
@@ -18,7 +18,7 @@ COMMENT= Localized interface for Firefox
EXTRACT_DEPENDS= zip:${PORTSDIR}/archivers/zip
-USE_FIREFOX= 15
+USE_FIREFOX= 16
USE_XPI= firefox linux-firefox
USE_SUBMAKE= yes
diff --git a/www/firefox-i18n/distinfo b/www/firefox-i18n/distinfo
index 3c2d694566d2..997369fd9b89 100644
--- a/www/firefox-i18n/distinfo
+++ b/www/firefox-i18n/distinfo
@@ -1,164 +1,164 @@
-SHA256 (xpi/firefox-i18n-15.0.1/af.xpi) = bbd465ca09b058af6578f4e69f6f402fafc6cbffeca3715584a89d4303a5736a
-SIZE (xpi/firefox-i18n-15.0.1/af.xpi) = 268864
-SHA256 (xpi/firefox-i18n-15.0.1/ak.xpi) = 5973ba7e56592a4af61efbaa1cf74a0530d15efcd8b8b42c5e6b4dd417028418
-SIZE (xpi/firefox-i18n-15.0.1/ak.xpi) = 271020
-SHA256 (xpi/firefox-i18n-15.0.1/ar.xpi) = 5ea59cc631c2953d918883a28556c558584940c4c0266d7cb16a25311aa75d58
-SIZE (xpi/firefox-i18n-15.0.1/ar.xpi) = 298351
-SHA256 (xpi/firefox-i18n-15.0.1/ast.xpi) = d34092b157bcac840afabb5e5a90ac5941be4d750ea7380a112fb42ff7d1f53e
-SIZE (xpi/firefox-i18n-15.0.1/ast.xpi) = 248048
-SHA256 (xpi/firefox-i18n-15.0.1/be.xpi) = 982dd4969aaffbae8ccc4b69b4a3d3d8c475df10581f4f79d95f6a7c7f0cc41c
-SIZE (xpi/firefox-i18n-15.0.1/be.xpi) = 271388
-SHA256 (xpi/firefox-i18n-15.0.1/bg.xpi) = 3e227ed4ec5f033fa5aedf801033679da7d651ce81e11d9918bf6010695b51f5
-SIZE (xpi/firefox-i18n-15.0.1/bg.xpi) = 312375
-SHA256 (xpi/firefox-i18n-15.0.1/bn-BD.xpi) = bcc11bad1193efc3e8eefe4a8159ce1198384f4b4b74711995f38c1c7d951f4a
-SIZE (xpi/firefox-i18n-15.0.1/bn-BD.xpi) = 320571
-SHA256 (xpi/firefox-i18n-15.0.1/bn-IN.xpi) = 9801664c82452fcde5cd5eda172cdd41e6b41b051e9ed8a4c7b76ea615ea29f3
-SIZE (xpi/firefox-i18n-15.0.1/bn-IN.xpi) = 350007
-SHA256 (xpi/firefox-i18n-15.0.1/br.xpi) = 37a2ac25bc77ef5e78492d070a801960b9765b43812bd4786443ceb7f784eaef
-SIZE (xpi/firefox-i18n-15.0.1/br.xpi) = 278805
-SHA256 (xpi/firefox-i18n-15.0.1/bs.xpi) = 2faf7bba10ed9b72af229c333f1c43ed9a22f1001f74a5bfa2c535a8c29b288d
-SIZE (xpi/firefox-i18n-15.0.1/bs.xpi) = 274156
-SHA256 (xpi/firefox-i18n-15.0.1/ca.xpi) = 05c4bfbfd444c7f4a6b2dc4173481c02044ca91225e0c4849ecbda8548d8c821
-SIZE (xpi/firefox-i18n-15.0.1/ca.xpi) = 279477
-SHA256 (xpi/firefox-i18n-15.0.1/cs.xpi) = 0d81da0d8f8fd334fbef7077d324346ebd00e38fe84ae970648303a5adfefcfb
-SIZE (xpi/firefox-i18n-15.0.1/cs.xpi) = 279346
-SHA256 (xpi/firefox-i18n-15.0.1/cy.xpi) = a92e9776dfc4e484799e749618a259ea4a35e4acb7a5280cd479aec567226f4e
-SIZE (xpi/firefox-i18n-15.0.1/cy.xpi) = 272154
-SHA256 (xpi/firefox-i18n-15.0.1/da.xpi) = 6438e1f4ab2a7d881e22e078be114e7ee13cec10f144cb8d2f046b64ad6ffdac
-SIZE (xpi/firefox-i18n-15.0.1/da.xpi) = 269302
-SHA256 (xpi/firefox-i18n-15.0.1/de.xpi) = af29cdfb59d73a59f5a4d7a0c60d185c62a116ea4977794a26614d58437fe91f
-SIZE (xpi/firefox-i18n-15.0.1/de.xpi) = 263532
-SHA256 (xpi/firefox-i18n-15.0.1/el.xpi) = 60e314d42c6449b6b9515a2a10cc32f9a1901439848d3d06d51bd1024941f8f9
-SIZE (xpi/firefox-i18n-15.0.1/el.xpi) = 293559
-SHA256 (xpi/firefox-i18n-15.0.1/en-GB.xpi) = e6a487f80ec886040c69010fa6a81c34c0d03589d92bed3512c6af311de8c8dd
-SIZE (xpi/firefox-i18n-15.0.1/en-GB.xpi) = 260758
-SHA256 (xpi/firefox-i18n-15.0.1/en-US.xpi) = 2d5ae5b1f0dbaee322a02ee3f1a069e19a6edc13ce5cdf72b3ae1604f17455ca
-SIZE (xpi/firefox-i18n-15.0.1/en-US.xpi) = 260389
-SHA256 (xpi/firefox-i18n-15.0.1/en-ZA.xpi) = 86286a9e70bdfff9dce5e3affce95d664ec4fe81cb921df3d5456518d6583093
-SIZE (xpi/firefox-i18n-15.0.1/en-ZA.xpi) = 260075
-SHA256 (xpi/firefox-i18n-15.0.1/eo.xpi) = 75ace121f5bb559d9ac636c8dc2640a59d8484d4b254503181e3fa7c9d44720d
-SIZE (xpi/firefox-i18n-15.0.1/eo.xpi) = 271983
-SHA256 (xpi/firefox-i18n-15.0.1/es-AR.xpi) = af01d5a5950e9aecdca6eff67219b08d7f78e58d521a960b346c883cd58373ab
-SIZE (xpi/firefox-i18n-15.0.1/es-AR.xpi) = 279497
-SHA256 (xpi/firefox-i18n-15.0.1/es-CL.xpi) = 9fa93867c3053d0355f2b3326c86a1e472f004c2e4b02e709bad442f103154af
-SIZE (xpi/firefox-i18n-15.0.1/es-CL.xpi) = 277438
-SHA256 (xpi/firefox-i18n-15.0.1/es-ES.xpi) = ff1e0ebc5df2cd4d66eb8ee548a794b03b2b448edfb0b47250a791c2dbc972f5
-SIZE (xpi/firefox-i18n-15.0.1/es-ES.xpi) = 234447
-SHA256 (xpi/firefox-i18n-15.0.1/es-MX.xpi) = 95cb41a02f456970a32296a6ee8977eaf069c996e98097d3eb1f19dd9f72f524
-SIZE (xpi/firefox-i18n-15.0.1/es-MX.xpi) = 232426
-SHA256 (xpi/firefox-i18n-15.0.1/et.xpi) = 5eafb33780f2fb469b3374a8efabaa363bdc28337daba95e1525dd40050a6d73
-SIZE (xpi/firefox-i18n-15.0.1/et.xpi) = 272454
-SHA256 (xpi/firefox-i18n-15.0.1/eu.xpi) = b6e07ba910ba15466bbe0fa99a276a8bbcdc4131670b9f6867d9a61a56259fda
-SIZE (xpi/firefox-i18n-15.0.1/eu.xpi) = 270789
-SHA256 (xpi/firefox-i18n-15.0.1/fa.xpi) = 71f7833a228c14d00ab13cee1d91a09a09ec24aedb1a8acf6229b8d80348d2a1
-SIZE (xpi/firefox-i18n-15.0.1/fa.xpi) = 304777
-SHA256 (xpi/firefox-i18n-15.0.1/fi.xpi) = edc3eda8aa9b659168fb65f3e181d344b0db902cf06657d36fd899742ef9b700
-SIZE (xpi/firefox-i18n-15.0.1/fi.xpi) = 275691
-SHA256 (xpi/firefox-i18n-15.0.1/fr.xpi) = c187106ad86d8040f5c3d0c3636c301e1e9c6ad1b942b80c5cf82b9e206f97f1
-SIZE (xpi/firefox-i18n-15.0.1/fr.xpi) = 273755
-SHA256 (xpi/firefox-i18n-15.0.1/fy-NL.xpi) = 91f9d3a9b06cbcec76ffd7471cce7c919b09cfd0d1817481c36dfc709ec87a58
-SIZE (xpi/firefox-i18n-15.0.1/fy-NL.xpi) = 275753
-SHA256 (xpi/firefox-i18n-15.0.1/ga-IE.xpi) = 60377c95117cab68a6cdf53f43df43e604eb16bae5b8eab6debb5c57e1002d47
-SIZE (xpi/firefox-i18n-15.0.1/ga-IE.xpi) = 284178
-SHA256 (xpi/firefox-i18n-15.0.1/gl.xpi) = f80c6ab81095dcf2acf5751bc6029eaf9d62fddaea7d7ef300c3b76207abb5f6
-SIZE (xpi/firefox-i18n-15.0.1/gl.xpi) = 272640
-SHA256 (xpi/firefox-i18n-15.0.1/gu-IN.xpi) = 5c7c98784f00a5ffbb01ca6641435c4f725af35d9b85fe5997bb47357ebec60c
-SIZE (xpi/firefox-i18n-15.0.1/gu-IN.xpi) = 302336
-SHA256 (xpi/firefox-i18n-15.0.1/he.xpi) = 9b7c53c2418de3e4470d1d14f087606dc1d5d79ddc419ed255fcc485f7be66f3
-SIZE (xpi/firefox-i18n-15.0.1/he.xpi) = 287915
-SHA256 (xpi/firefox-i18n-15.0.1/hi-IN.xpi) = 429cfdb8dc09ce6f243a5dea881d52fc7ae22c08ebe5201201429280c3a15417
-SIZE (xpi/firefox-i18n-15.0.1/hi-IN.xpi) = 316192
-SHA256 (xpi/firefox-i18n-15.0.1/hr.xpi) = 329f725ab912697a0d4182cfd0c8c0735003aea503a8d2ffacc8f33bdbc4470f
-SIZE (xpi/firefox-i18n-15.0.1/hr.xpi) = 274797
-SHA256 (xpi/firefox-i18n-15.0.1/hu.xpi) = 82c7bb85bb7d0b3de004f28b1a2215517742554c0e120d0f83a944c101731385
-SIZE (xpi/firefox-i18n-15.0.1/hu.xpi) = 288899
-SHA256 (xpi/firefox-i18n-15.0.1/hy-AM.xpi) = 0e7e58afc169b7a6e9ff4c088d580e20f33c7323ea87d787c5924a2f9c0c72d0
-SIZE (xpi/firefox-i18n-15.0.1/hy-AM.xpi) = 315710
-SHA256 (xpi/firefox-i18n-15.0.1/id.xpi) = 694a39878d7e8f5d9bd4ccf134001095e4c4906a67c867dee2a586a72d72ce53
-SIZE (xpi/firefox-i18n-15.0.1/id.xpi) = 264725
-SHA256 (xpi/firefox-i18n-15.0.1/is.xpi) = 517b0ab54a54a36f16ce97fbdd47342794203d1e5df016264803a0406a8e6d50
-SIZE (xpi/firefox-i18n-15.0.1/is.xpi) = 274360
-SHA256 (xpi/firefox-i18n-15.0.1/it.xpi) = 6b6fce65b0ebcbfbb58897d27be038e3d0a6e293346222aba341dc3962a13577
-SIZE (xpi/firefox-i18n-15.0.1/it.xpi) = 230878
-SHA256 (xpi/firefox-i18n-15.0.1/ja.xpi) = 64b9097e8f606a5229f56a0abfc3093aabe2a2cb18f50dbe4863c3fada100550
-SIZE (xpi/firefox-i18n-15.0.1/ja.xpi) = 307018
-SHA256 (xpi/firefox-i18n-15.0.1/kk.xpi) = c5023af435987c995b082226d470b6cad05510eee063f0858b5fab6b8fc13ecb
-SIZE (xpi/firefox-i18n-15.0.1/kk.xpi) = 314274
-SHA256 (xpi/firefox-i18n-15.0.1/kn.xpi) = 56cac3ea6676d4b42a12bc70076e822b70c65a94309ba3fc6d9939aeacffc992
-SIZE (xpi/firefox-i18n-15.0.1/kn.xpi) = 334105
-SHA256 (xpi/firefox-i18n-15.0.1/ko.xpi) = 628e1077e86cdbfca7a99405e5c6363afd546a11e162b41bf3aa2822dcd5a69a
-SIZE (xpi/firefox-i18n-15.0.1/ko.xpi) = 257656
-SHA256 (xpi/firefox-i18n-15.0.1/ku.xpi) = bcfafa0400434015347fe48da27aa2a11a62ff1e6ed8600886f8a42c6e9b5db4
-SIZE (xpi/firefox-i18n-15.0.1/ku.xpi) = 285701
-SHA256 (xpi/firefox-i18n-15.0.1/lg.xpi) = 74e1d6f16e142c670c6ca028269bb6f98aad2d75e36885f9dc1f7fd4a03ba189
-SIZE (xpi/firefox-i18n-15.0.1/lg.xpi) = 278168
-SHA256 (xpi/firefox-i18n-15.0.1/lt.xpi) = 3c3fdc8191264583f164c9ba61f406bc3991d3cd968407ca2cdd3e4ba392aed0
-SIZE (xpi/firefox-i18n-15.0.1/lt.xpi) = 337513
-SHA256 (xpi/firefox-i18n-15.0.1/lv.xpi) = 07a01a95c5c40ee8bcb2804851cb9d529669e877a7d9d646af039edcbd3a55bf
-SIZE (xpi/firefox-i18n-15.0.1/lv.xpi) = 272061
-SHA256 (xpi/firefox-i18n-15.0.1/mai.xpi) = 58e02afe8a9144a74606249928c840294ec3a1d04fe1e2c11e3992534359370c
-SIZE (xpi/firefox-i18n-15.0.1/mai.xpi) = 314156
-SHA256 (xpi/firefox-i18n-15.0.1/mk.xpi) = d5495ebf8b5abd09dd00a740fb2af106150ff3c65cc772b03790e28c770fab1b
-SIZE (xpi/firefox-i18n-15.0.1/mk.xpi) = 303390
-SHA256 (xpi/firefox-i18n-15.0.1/ml.xpi) = 725c4bac0c4afe8350ce051a6511fc606ea0de3b58f4d21adca4fcfd2fdaca2e
-SIZE (xpi/firefox-i18n-15.0.1/ml.xpi) = 345460
-SHA256 (xpi/firefox-i18n-15.0.1/mr.xpi) = ebad2e9d8092562c0eef057940e63dd7b057a6d05c2455b9bfcbf9b770966957
-SIZE (xpi/firefox-i18n-15.0.1/mr.xpi) = 313722
-SHA256 (xpi/firefox-i18n-15.0.1/nb-NO.xpi) = 5897670d37659be8bec111397269a9438feea6a1d7386ca340b46e411ea53569
-SIZE (xpi/firefox-i18n-15.0.1/nb-NO.xpi) = 272400
-SHA256 (xpi/firefox-i18n-15.0.1/nl.xpi) = af592804b073bb3dd8704cf64314e9679ff003345f97138b9a6113775eaa85de
-SIZE (xpi/firefox-i18n-15.0.1/nl.xpi) = 275340
-SHA256 (xpi/firefox-i18n-15.0.1/nn-NO.xpi) = 391696b232f3177619cec89ad71f3ff0442fc79558dace0f293e471e991c1416
-SIZE (xpi/firefox-i18n-15.0.1/nn-NO.xpi) = 272503
-SHA256 (xpi/firefox-i18n-15.0.1/nso.xpi) = 0605e771be2aa99dae245e4f05df079098bb25b6bd6241c7c2065daee7d79837
-SIZE (xpi/firefox-i18n-15.0.1/nso.xpi) = 275795
-SHA256 (xpi/firefox-i18n-15.0.1/or.xpi) = 128301e7fcc396e16c58df8985adaea7a2e43cbd3c66791a45252a8dfeb77f99
-SIZE (xpi/firefox-i18n-15.0.1/or.xpi) = 311896
-SHA256 (xpi/firefox-i18n-15.0.1/pa-IN.xpi) = 2da5c4b08afd2727c98edb687337bb710c2ad59dc00d029a298a37d01824db7a
-SIZE (xpi/firefox-i18n-15.0.1/pa-IN.xpi) = 305968
-SHA256 (xpi/firefox-i18n-15.0.1/pl.xpi) = 29f1553538ae41103fad4d5c4dd03644e1c46adc4038aef1380ad045df270a52
-SIZE (xpi/firefox-i18n-15.0.1/pl.xpi) = 282657
-SHA256 (xpi/firefox-i18n-15.0.1/pt-BR.xpi) = 2587fd18d8032811669a0a82b0a471bd80cdf8ab40cae8a25f4d4d0a84234246
-SIZE (xpi/firefox-i18n-15.0.1/pt-BR.xpi) = 276745
-SHA256 (xpi/firefox-i18n-15.0.1/pt-PT.xpi) = e090ae93a1193b5c7d32292479b5a9ac0a59a3440c81907836c1ccd6ada6a0df
-SIZE (xpi/firefox-i18n-15.0.1/pt-PT.xpi) = 276975
-SHA256 (xpi/firefox-i18n-15.0.1/rm.xpi) = d6b3007e4c27fe266b98134bcdae3e4b2fe35da98378ab9197c611a6065cdffc
-SIZE (xpi/firefox-i18n-15.0.1/rm.xpi) = 274237
-SHA256 (xpi/firefox-i18n-15.0.1/ro.xpi) = e7f8c39750a235b3f9068dca36114b4097275866fc6598037f5b6e7c95808838
-SIZE (xpi/firefox-i18n-15.0.1/ro.xpi) = 295295
-SHA256 (xpi/firefox-i18n-15.0.1/ru.xpi) = ee7e1709039b4cc7baeada0b230caeb60813a11cd73c13b787876a0753425c8d
-SIZE (xpi/firefox-i18n-15.0.1/ru.xpi) = 275713
-SHA256 (xpi/firefox-i18n-15.0.1/si.xpi) = 854aedfbb45ec2fcad8d6ac68ef739bb313f7e9fbd5a36bc849ad58c62058fcc
-SIZE (xpi/firefox-i18n-15.0.1/si.xpi) = 304019
-SHA256 (xpi/firefox-i18n-15.0.1/sk.xpi) = 19dd573580e732b3c00aa70826954731b38501eb5185612e4feccfbe2492fffa
-SIZE (xpi/firefox-i18n-15.0.1/sk.xpi) = 289319
-SHA256 (xpi/firefox-i18n-15.0.1/sl.xpi) = 53545bed270d1bd406f784ebab2d03be79d1cf389929ad8a7d2357556dfee267
-SIZE (xpi/firefox-i18n-15.0.1/sl.xpi) = 272803
-SHA256 (xpi/firefox-i18n-15.0.1/son.xpi) = 81877c6d98482d8be5cd976dbbf42795fd9478c90a8d53112d45e85463546dbd
-SIZE (xpi/firefox-i18n-15.0.1/son.xpi) = 270403
-SHA256 (xpi/firefox-i18n-15.0.1/sq.xpi) = b7bd196dcb04aefd25512a2da99c78d3de631ffc8f086e7c47dd4782d8b76580
-SIZE (xpi/firefox-i18n-15.0.1/sq.xpi) = 257659
-SHA256 (xpi/firefox-i18n-15.0.1/sr.xpi) = 48a24a8e00feb371176ab73ec42f80081ba6aafa88ab297584eb9b5e27bedd14
-SIZE (xpi/firefox-i18n-15.0.1/sr.xpi) = 314229
-SHA256 (xpi/firefox-i18n-15.0.1/sv-SE.xpi) = 7e3bcad8a84777d95f2d491f0c27253eed0c4557684180b08665de5cc7d6c709
-SIZE (xpi/firefox-i18n-15.0.1/sv-SE.xpi) = 276161
-SHA256 (xpi/firefox-i18n-15.0.1/ta-LK.xpi) = 626abf707b0e8c46674e7e5c940482f22eee67aa8379068bbfa3010ab280a8cf
-SIZE (xpi/firefox-i18n-15.0.1/ta-LK.xpi) = 323325
-SHA256 (xpi/firefox-i18n-15.0.1/ta.xpi) = 943bd161e4bf20b16484667f28ee799b5ec56c52d3046d783b58be2866baec04
-SIZE (xpi/firefox-i18n-15.0.1/ta.xpi) = 306301
-SHA256 (xpi/firefox-i18n-15.0.1/te.xpi) = dd626cb4d8053997e4961631ffca9371be171e15521844e918b978ca7fe9425a
-SIZE (xpi/firefox-i18n-15.0.1/te.xpi) = 321390
-SHA256 (xpi/firefox-i18n-15.0.1/th.xpi) = 0293c617723099f0c8f144f5547bfccc494b0a3609cafba1c71f0e31d20023c4
-SIZE (xpi/firefox-i18n-15.0.1/th.xpi) = 303855
-SHA256 (xpi/firefox-i18n-15.0.1/tr.xpi) = 14c28c115eaf83e1832c797afe115877875affca21641373141f2ce71055f6f1
-SIZE (xpi/firefox-i18n-15.0.1/tr.xpi) = 281933
-SHA256 (xpi/firefox-i18n-15.0.1/uk.xpi) = 24ef1023fd036b203ca1624d188d84574c73602d846138e5788e726bc383861f
-SIZE (xpi/firefox-i18n-15.0.1/uk.xpi) = 311425
-SHA256 (xpi/firefox-i18n-15.0.1/vi.xpi) = 219b2e5b86d0f525df77c115e018eaf3c334e5b10be00c7a4ec3e14388e4d4c8
-SIZE (xpi/firefox-i18n-15.0.1/vi.xpi) = 294952
-SHA256 (xpi/firefox-i18n-15.0.1/zh-CN.xpi) = 3f46939dfa27182f7c13944f9d4f188abae9620890b60e4171494b27c8544920
-SIZE (xpi/firefox-i18n-15.0.1/zh-CN.xpi) = 290962
-SHA256 (xpi/firefox-i18n-15.0.1/zh-TW.xpi) = bee8adb2dd6a1634eb3ad3474af56b2aab76dabaca90078b66cb7de2c80a0c5b
-SIZE (xpi/firefox-i18n-15.0.1/zh-TW.xpi) = 291947
-SHA256 (xpi/firefox-i18n-15.0.1/zu.xpi) = 308ee298af63d3a8ceec734ba0d8df4098a9eec1cbaf7566adc30816d64ec170
-SIZE (xpi/firefox-i18n-15.0.1/zu.xpi) = 277290
+SHA256 (xpi/firefox-i18n-16.0/af.xpi) = 639becd9952d18d0c8177b352af3fa915558cc5f8a4af7779e2239d28a7cfd52
+SIZE (xpi/firefox-i18n-16.0/af.xpi) = 278055
+SHA256 (xpi/firefox-i18n-16.0/ak.xpi) = 5bd1b10050191248c247e48363543febe057eb6e84cffa398e9501949cf1d484
+SIZE (xpi/firefox-i18n-16.0/ak.xpi) = 280149
+SHA256 (xpi/firefox-i18n-16.0/ar.xpi) = 729bffee07d6a346366ca31c90ede529615c3f447d7a0cf9499132c558c65bbf
+SIZE (xpi/firefox-i18n-16.0/ar.xpi) = 308217
+SHA256 (xpi/firefox-i18n-16.0/ast.xpi) = ba21f15f31a6de930da8ba38f99169056ece43e2066363290361e5c744c34b1f
+SIZE (xpi/firefox-i18n-16.0/ast.xpi) = 256863
+SHA256 (xpi/firefox-i18n-16.0/be.xpi) = a808b42dc89452c4db6e7c27c0714a719ba79e6e792749edc7ea82ee4972513f
+SIZE (xpi/firefox-i18n-16.0/be.xpi) = 280505
+SHA256 (xpi/firefox-i18n-16.0/bg.xpi) = 8a4a2d3715d19f9d6bc50eaa404d373f5581753641a7cb815e3358e4af2335d2
+SIZE (xpi/firefox-i18n-16.0/bg.xpi) = 323170
+SHA256 (xpi/firefox-i18n-16.0/bn-BD.xpi) = aa673dd60efc61e61299cf18bdc8084f98dd26b0a60e91796699fa2a552606b0
+SIZE (xpi/firefox-i18n-16.0/bn-BD.xpi) = 333014
+SHA256 (xpi/firefox-i18n-16.0/bn-IN.xpi) = dbf6fa9dc65aabca0575a5ef1aa2a5beec5e0fe31d8254302c7ea1ede88b6029
+SIZE (xpi/firefox-i18n-16.0/bn-IN.xpi) = 365381
+SHA256 (xpi/firefox-i18n-16.0/br.xpi) = 060a593798aa0f46821788801da86b3b637e4b3d431b4db2004d18af0a4f6e68
+SIZE (xpi/firefox-i18n-16.0/br.xpi) = 288764
+SHA256 (xpi/firefox-i18n-16.0/bs.xpi) = 5c1513a40bbf0637b9b0ce556e663b36c369d0a024bf9badb660ac7ba4fb1ed5
+SIZE (xpi/firefox-i18n-16.0/bs.xpi) = 286864
+SHA256 (xpi/firefox-i18n-16.0/ca.xpi) = 4c29d1d9afe7f77254d7a2cca2a2d11ee67508b26e78edf86a9a20a18ef308c2
+SIZE (xpi/firefox-i18n-16.0/ca.xpi) = 288248
+SHA256 (xpi/firefox-i18n-16.0/cs.xpi) = 08f6ae0adaa1d84fed8d0bc82a14e9d13f5fe715e793566d3c31d30ad9ea21ed
+SIZE (xpi/firefox-i18n-16.0/cs.xpi) = 291456
+SHA256 (xpi/firefox-i18n-16.0/cy.xpi) = fb851e970215f5658f21096ddb850fb9df3671afcccbb0e8915a626e7a62c276
+SIZE (xpi/firefox-i18n-16.0/cy.xpi) = 281768
+SHA256 (xpi/firefox-i18n-16.0/da.xpi) = 5a03e13e17d8233011167adb4969e1f331a5ab44d33a8a2fb0c8b60762e5d492
+SIZE (xpi/firefox-i18n-16.0/da.xpi) = 280976
+SHA256 (xpi/firefox-i18n-16.0/de.xpi) = dcb2bfc93e6ac7e703e3ef06edc9931113fd036264e0c2477bf2b0083724dbd6
+SIZE (xpi/firefox-i18n-16.0/de.xpi) = 267035
+SHA256 (xpi/firefox-i18n-16.0/el.xpi) = d36d1f877d7e9799fbe8a8a9eeacc23878c585be855e6ef11e9cd1fa458b357e
+SIZE (xpi/firefox-i18n-16.0/el.xpi) = 304320
+SHA256 (xpi/firefox-i18n-16.0/en-GB.xpi) = 275e89b89f6ec73228bc0250d67e6a3eae810c5e56c44802a1c17ab4438ce891
+SIZE (xpi/firefox-i18n-16.0/en-GB.xpi) = 269394
+SHA256 (xpi/firefox-i18n-16.0/en-US.xpi) = bdabcef422fc96e0fe8e78791dd53ec20c2a5261716810598892cad05209c2c6
+SIZE (xpi/firefox-i18n-16.0/en-US.xpi) = 269411
+SHA256 (xpi/firefox-i18n-16.0/en-ZA.xpi) = 0c54182d35dc57e251ffa0e45c2fcd810235c98d953715a00239d00f3d20d614
+SIZE (xpi/firefox-i18n-16.0/en-ZA.xpi) = 269268
+SHA256 (xpi/firefox-i18n-16.0/eo.xpi) = a7ee813771cb2740d571689cc911d73b628c392e03873f52f8e8631aa3cf0d7b
+SIZE (xpi/firefox-i18n-16.0/eo.xpi) = 281892
+SHA256 (xpi/firefox-i18n-16.0/es-AR.xpi) = cb0295d379e44d1c16c40116b36537b86924220de6381ba4696350522949caab
+SIZE (xpi/firefox-i18n-16.0/es-AR.xpi) = 287619
+SHA256 (xpi/firefox-i18n-16.0/es-CL.xpi) = ccf81d5b2b7b09c367ca371d3b7d127ff8b0da070498f1af51235044ebf9e9bd
+SIZE (xpi/firefox-i18n-16.0/es-CL.xpi) = 289748
+SHA256 (xpi/firefox-i18n-16.0/es-ES.xpi) = 9da293ef8af0c4fb617071b906c7d3f63fd6b66a49946ab4ced94f9cc37ac4db
+SIZE (xpi/firefox-i18n-16.0/es-ES.xpi) = 240009
+SHA256 (xpi/firefox-i18n-16.0/es-MX.xpi) = 2a2bd7e0b2f886eccdb2a6fe11bc09d1f2e47e0360bf046228b8af2ccc88abfb
+SIZE (xpi/firefox-i18n-16.0/es-MX.xpi) = 241868
+SHA256 (xpi/firefox-i18n-16.0/et.xpi) = 38c7087fd13965d8cf0dfc5de2b8a29f49873745fdf5055301d7d8b6910dcac4
+SIZE (xpi/firefox-i18n-16.0/et.xpi) = 281628
+SHA256 (xpi/firefox-i18n-16.0/eu.xpi) = 401e7c28518d61aab87c8d62fdc808af1d4aa4f2ed9cef92056423d74d03962a
+SIZE (xpi/firefox-i18n-16.0/eu.xpi) = 279862
+SHA256 (xpi/firefox-i18n-16.0/fa.xpi) = dd9c56b234648bb80cbe058e4a1da13745c6b02693cd786b7776272248a1dde3
+SIZE (xpi/firefox-i18n-16.0/fa.xpi) = 317208
+SHA256 (xpi/firefox-i18n-16.0/fi.xpi) = be3bbffe1995532ca26bf128cf7b33950b29e5963cd6b5ec6a7fa8408e87273f
+SIZE (xpi/firefox-i18n-16.0/fi.xpi) = 284820
+SHA256 (xpi/firefox-i18n-16.0/fr.xpi) = b15a5214b5fef83e4c44e3be9f1a2cb61ca35d6b7ac4fc98f4278aea17cd432b
+SIZE (xpi/firefox-i18n-16.0/fr.xpi) = 282880
+SHA256 (xpi/firefox-i18n-16.0/fy-NL.xpi) = 784ff7b6ce9a449c6559b2823e6c22484a1f87ea714d7588d564a3440d15b284
+SIZE (xpi/firefox-i18n-16.0/fy-NL.xpi) = 280260
+SHA256 (xpi/firefox-i18n-16.0/ga-IE.xpi) = c8331c7b018ef2392885640f20d975a2150ed45f36574cdcbc50d24ddf9f36fc
+SIZE (xpi/firefox-i18n-16.0/ga-IE.xpi) = 293834
+SHA256 (xpi/firefox-i18n-16.0/gl.xpi) = 7f042785d5cc11579c1b2b87cf288306182c0a16b6f7a4f33ba462b3542408a1
+SIZE (xpi/firefox-i18n-16.0/gl.xpi) = 285281
+SHA256 (xpi/firefox-i18n-16.0/gu-IN.xpi) = 3825b092ef525991695d8726b54b5469180e3275cc7bed9453c6a640edbf980a
+SIZE (xpi/firefox-i18n-16.0/gu-IN.xpi) = 311765
+SHA256 (xpi/firefox-i18n-16.0/he.xpi) = 8439dabff294ddc04fbfbb65dde0394badbad89a23bc43c5ecf17b23fb27e754
+SIZE (xpi/firefox-i18n-16.0/he.xpi) = 297589
+SHA256 (xpi/firefox-i18n-16.0/hi-IN.xpi) = 124f31c3e2e4024b26a9e6fed93b28e58a487e56ad4f2b2069b9461e18508243
+SIZE (xpi/firefox-i18n-16.0/hi-IN.xpi) = 327162
+SHA256 (xpi/firefox-i18n-16.0/hr.xpi) = 9fad2c38a797140f9fb97f837c80ca325cc6aec452df0d120861b48ed20551ed
+SIZE (xpi/firefox-i18n-16.0/hr.xpi) = 287883
+SHA256 (xpi/firefox-i18n-16.0/hu.xpi) = 72170b9100b943e3a5125070f61ab08b97169aeb004bca82c02c2bb42365c3b6
+SIZE (xpi/firefox-i18n-16.0/hu.xpi) = 298915
+SHA256 (xpi/firefox-i18n-16.0/hy-AM.xpi) = 16b198815865b63dfa39b636ede98ecb0e4983e969ced57fab35b5ddd8f9c70d
+SIZE (xpi/firefox-i18n-16.0/hy-AM.xpi) = 324512
+SHA256 (xpi/firefox-i18n-16.0/id.xpi) = 609505d86ac4d27b13305ac44d50c8f0b6c36cdf5fcade47194869c418e71554
+SIZE (xpi/firefox-i18n-16.0/id.xpi) = 277127
+SHA256 (xpi/firefox-i18n-16.0/is.xpi) = 69d1a1dc68a2fca243f22d4c261b6483eed52c8cf50ec8233a38a8b4c1617480
+SIZE (xpi/firefox-i18n-16.0/is.xpi) = 281846
+SHA256 (xpi/firefox-i18n-16.0/it.xpi) = 0bd99ea4b7156383fe01cf452fb7f734f50abbb697d1e5c8854e42d8148dcf50
+SIZE (xpi/firefox-i18n-16.0/it.xpi) = 236238
+SHA256 (xpi/firefox-i18n-16.0/ja.xpi) = 8ea0872ff90a36220ace65fed40868a99a7fe3e16d36e535d9bd9285d05d9ddf
+SIZE (xpi/firefox-i18n-16.0/ja.xpi) = 319469
+SHA256 (xpi/firefox-i18n-16.0/kk.xpi) = 01c77bd32ca7d56c67849c4ca4e71f30fda980ec23a4540706dfc82dfa12789b
+SIZE (xpi/firefox-i18n-16.0/kk.xpi) = 326254
+SHA256 (xpi/firefox-i18n-16.0/kn.xpi) = 6d42ca2505622f2e19b02e9e5f67c5720e3b63e01d7f9b78329873ecf6ca75fb
+SIZE (xpi/firefox-i18n-16.0/kn.xpi) = 347220
+SHA256 (xpi/firefox-i18n-16.0/ko.xpi) = 5d8405fdb91fe20f154d9ddad9c783bc06541ed1a42ffadd71a256120369b5c3
+SIZE (xpi/firefox-i18n-16.0/ko.xpi) = 269732
+SHA256 (xpi/firefox-i18n-16.0/ku.xpi) = 66beb91e39da2b45e68e5baad3deb9ebc6936f3c87f7ec5f999c5de260287824
+SIZE (xpi/firefox-i18n-16.0/ku.xpi) = 297997
+SHA256 (xpi/firefox-i18n-16.0/lg.xpi) = ce2db20c51278df7c6af16c2f4f695637f0ef1752e82ea8c680db47eda969de7
+SIZE (xpi/firefox-i18n-16.0/lg.xpi) = 287622
+SHA256 (xpi/firefox-i18n-16.0/lt.xpi) = 66cd14f21cdf8ed16759183c6444b299287662c75739d560b3754dbcd6f4a89f
+SIZE (xpi/firefox-i18n-16.0/lt.xpi) = 344064
+SHA256 (xpi/firefox-i18n-16.0/lv.xpi) = 7b1b75b873bf123df2f6d06da1f281c8c70c9c045427abd0404b5931d06fe956
+SIZE (xpi/firefox-i18n-16.0/lv.xpi) = 284885
+SHA256 (xpi/firefox-i18n-16.0/mai.xpi) = 607fc627e402169f6f7b4776cdab19af45edd4f3df2265ecc1553eff7f7c0ceb
+SIZE (xpi/firefox-i18n-16.0/mai.xpi) = 324331
+SHA256 (xpi/firefox-i18n-16.0/mk.xpi) = fe043cb22ba4a974ca6eda8ac31f6d629446d9c24c655dbaf7dcd4ed67658363
+SIZE (xpi/firefox-i18n-16.0/mk.xpi) = 312147
+SHA256 (xpi/firefox-i18n-16.0/ml.xpi) = 0d3eb260b84f477f1bb8d998236212118b378ead555f93f9925dd1b35726ffff
+SIZE (xpi/firefox-i18n-16.0/ml.xpi) = 354416
+SHA256 (xpi/firefox-i18n-16.0/mr.xpi) = 8b7aa94dddd20afc122c09278045c28ab966aeb93d2bbf9b4d9c7d946d7e53cb
+SIZE (xpi/firefox-i18n-16.0/mr.xpi) = 324387
+SHA256 (xpi/firefox-i18n-16.0/nb-NO.xpi) = 558635d1d622790c5cf4af24d18ff53c156c5c59fdb900384240f0c7e9dc367b
+SIZE (xpi/firefox-i18n-16.0/nb-NO.xpi) = 269088
+SHA256 (xpi/firefox-i18n-16.0/nl.xpi) = 685328faf8d3587fbc9692f0778c9892a74be00359f0fdb7828acc5a0617992f
+SIZE (xpi/firefox-i18n-16.0/nl.xpi) = 284464
+SHA256 (xpi/firefox-i18n-16.0/nn-NO.xpi) = f2d1364dcf6351cd0db8a93ccb14fe2b61ba3351bba416c5f6839356573ac872
+SIZE (xpi/firefox-i18n-16.0/nn-NO.xpi) = 283252
+SHA256 (xpi/firefox-i18n-16.0/nso.xpi) = c929386d8799c0008678e97f440083302fc27448270e11fe7affa4a6bd78d7b2
+SIZE (xpi/firefox-i18n-16.0/nso.xpi) = 284405
+SHA256 (xpi/firefox-i18n-16.0/or.xpi) = 4eda1b8231854f4be4e633c48d065bed3b41fd7f6703aa9e9e7c9f9d15af90ea
+SIZE (xpi/firefox-i18n-16.0/or.xpi) = 321593
+SHA256 (xpi/firefox-i18n-16.0/pa-IN.xpi) = cebbeea0942fc86f0e9e5376899d78f1dbfd5bc7415f49e7e79ee023ad12931b
+SIZE (xpi/firefox-i18n-16.0/pa-IN.xpi) = 314700
+SHA256 (xpi/firefox-i18n-16.0/pl.xpi) = 45dd1dffee2f8b85c010575a668d869df6e9829aa423d558d454e2d7f78094d6
+SIZE (xpi/firefox-i18n-16.0/pl.xpi) = 295729
+SHA256 (xpi/firefox-i18n-16.0/pt-BR.xpi) = e6b46219b7383d98294a5ab49a9c4b6481ae384f19e2c0e96dc8d1f65a153a24
+SIZE (xpi/firefox-i18n-16.0/pt-BR.xpi) = 286315
+SHA256 (xpi/firefox-i18n-16.0/pt-PT.xpi) = 4ad11bb8a4899d58516c61d6819c00bd8af918bb3af6b69bdaeb849afae603b7
+SIZE (xpi/firefox-i18n-16.0/pt-PT.xpi) = 286520
+SHA256 (xpi/firefox-i18n-16.0/rm.xpi) = 3e4552ad940d539eb07c26491a76fd9f09d564bb27fe891770301b2386ee158b
+SIZE (xpi/firefox-i18n-16.0/rm.xpi) = 286907
+SHA256 (xpi/firefox-i18n-16.0/ro.xpi) = 947ea38ebdc6879b7a11afb972c675c976416456ee7f56912ac40c238fbd57da
+SIZE (xpi/firefox-i18n-16.0/ro.xpi) = 308189
+SHA256 (xpi/firefox-i18n-16.0/ru.xpi) = ea8710ef96d4c3d1fac2496e3a3d4c7e9befc3ed437ebe374c57355a1ac119c2
+SIZE (xpi/firefox-i18n-16.0/ru.xpi) = 282174
+SHA256 (xpi/firefox-i18n-16.0/si.xpi) = d360b907d2c1399aec475e9d93e1dc20c0f7f642b90a4a9be30b5db9b0987bb4
+SIZE (xpi/firefox-i18n-16.0/si.xpi) = 312447
+SHA256 (xpi/firefox-i18n-16.0/sk.xpi) = dc93b69aa11558bd0eb1e1cdcedcbc410f7d259fa7f28d6e8211edfc836ac97f
+SIZE (xpi/firefox-i18n-16.0/sk.xpi) = 298466
+SHA256 (xpi/firefox-i18n-16.0/sl.xpi) = e3cb194843eadab85ba94036619f68e007da049703c70bf81dcbecd6b1edba1b
+SIZE (xpi/firefox-i18n-16.0/sl.xpi) = 282148
+SHA256 (xpi/firefox-i18n-16.0/son.xpi) = f5b31e004b2f81cbc479f02e72565ee3763ac08d93b31bfa0a090f9879f40127
+SIZE (xpi/firefox-i18n-16.0/son.xpi) = 279777
+SHA256 (xpi/firefox-i18n-16.0/sq.xpi) = 67c21a7333ded844012b07c19489d78f9835d8e71bfbfe90318f458e1ffd7a7c
+SIZE (xpi/firefox-i18n-16.0/sq.xpi) = 266111
+SHA256 (xpi/firefox-i18n-16.0/sr.xpi) = 9bb4d54bd2d95042cf623246b3b96504a4140459431767dffbaac75063a8a524
+SIZE (xpi/firefox-i18n-16.0/sr.xpi) = 326906
+SHA256 (xpi/firefox-i18n-16.0/sv-SE.xpi) = fba0161e6d1021dfe78099fa0d118d4a3f88116c92673ac05871c00e8908a0aa
+SIZE (xpi/firefox-i18n-16.0/sv-SE.xpi) = 285754
+SHA256 (xpi/firefox-i18n-16.0/ta-LK.xpi) = 15ebcefb03c389860e457d0cf84d73a8949c2f8ba8010526c153909cfd5b2de0
+SIZE (xpi/firefox-i18n-16.0/ta-LK.xpi) = 335847
+SHA256 (xpi/firefox-i18n-16.0/ta.xpi) = 4e2f58ebbd93789468c638a114b44a83099f7ee1b8cd0d32014a1f3d49476999
+SIZE (xpi/firefox-i18n-16.0/ta.xpi) = 318907
+SHA256 (xpi/firefox-i18n-16.0/te.xpi) = dcaf6ebc79f1a057d4f2e8964d03f70b6b2138bc9ef6486898b0fed8ecc39c01
+SIZE (xpi/firefox-i18n-16.0/te.xpi) = 335041
+SHA256 (xpi/firefox-i18n-16.0/th.xpi) = 19d7e5a1366aa7262b05747ae7a8f3cefae63d8d1b900e7039443f8dbd30a166
+SIZE (xpi/firefox-i18n-16.0/th.xpi) = 316434
+SHA256 (xpi/firefox-i18n-16.0/tr.xpi) = 326b2f77c4f5bed310b449f0d871daee2f632045bf93161cb03d4e926026a87f
+SIZE (xpi/firefox-i18n-16.0/tr.xpi) = 291805
+SHA256 (xpi/firefox-i18n-16.0/uk.xpi) = c084865e32af461d22ede44821db93143f060ae3d22d1f690fec7285ea9981fb
+SIZE (xpi/firefox-i18n-16.0/uk.xpi) = 320796
+SHA256 (xpi/firefox-i18n-16.0/vi.xpi) = 29e34ca8077ef008a949ef4b94a886f4150913874b30f21689b942f57dffeac9
+SIZE (xpi/firefox-i18n-16.0/vi.xpi) = 307314
+SHA256 (xpi/firefox-i18n-16.0/zh-CN.xpi) = b001550852eb2d0bf4c02e7a2e5889847826e8d984d061cefd075acafc30afde
+SIZE (xpi/firefox-i18n-16.0/zh-CN.xpi) = 301145
+SHA256 (xpi/firefox-i18n-16.0/zh-TW.xpi) = 73d1dca1d2136d7f22e22efed099243a2265f6996aaa7a55af8a7c61f3129025
+SIZE (xpi/firefox-i18n-16.0/zh-TW.xpi) = 302070
+SHA256 (xpi/firefox-i18n-16.0/zu.xpi) = 20f478e8ea84194ee17b32cc7a9aca2b054c2e936df376abf6cd21b8f0223772
+SIZE (xpi/firefox-i18n-16.0/zu.xpi) = 289543
diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index 7d46def9c4f9..9f061567eff5 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= firefox
-DISTVERSION= 15.0.1
+DISTVERSION= 16.0
PORTEPOCH= 1
CATEGORIES= www ipv6
MASTER_SITES= ${MASTER_SITE_MOZILLA}
@@ -17,7 +17,7 @@ MAINTAINER= gecko@FreeBSD.org
COMMENT= Web browser based on the browser portion of Mozilla
BUILD_DEPENDS= nspr>=4.9:${PORTSDIR}/devel/nspr \
- nss>=3.13.2:${PORTSDIR}/security/nss \
+ nss>=3.13.6_1:${PORTSDIR}/security/nss \
sqlite3>=3.7.12.1:${PORTSDIR}/databases/sqlite3 \
${PYTHON_SITELIBDIR}/_sqlite3.so:${PORTSDIR}/databases/py-sqlite3 \
cairo>=1.10.2_1,1:${PORTSDIR}/graphics/cairo \
@@ -49,8 +49,12 @@ MOZ_OPTIONS= --program-transform-name='s/firefox/${MOZILLA}/' \
--enable-official-branding
OPTIONS_DEFINE= GSTREAMER PGO
+OPTIONS_DEFAULT=GIO
.include "${.CURDIR}/../../www/firefox/Makefile.options"
+
+OPTIONS_DEFAULT:=${OPTIONS_DEFAULT:S/OSS/ALSA/}
+
.include <bsd.port.pre.mk>
WRKSRC:= ${WRKDIR}/mozilla-release
diff --git a/www/firefox/Makefile.options b/www/firefox/Makefile.options
index 93b811fc1ffd..20937f22314d 100644
--- a/www/firefox/Makefile.options
+++ b/www/firefox/Makefile.options
@@ -1,6 +1,7 @@
# -*- makefile-bsdmake -*-
-OPTIONS_DEFINE+= DBUS DEBUG GNOME LIBPROXY LOGGING OPTIMIZED_CFLAGS
+OPTIONS_DEFINE+= DBUS DEBUG GCONF GIO GNOMEUI GNOMEVFS2 LIBPROXY \
+ LOGGING OPTIMIZED_CFLAGS
OPTIONS_DEFAULT+= DBUS GTK2 LOGGING OSS
OPTIONS_SINGLE+= AUDIO
@@ -9,12 +10,9 @@ OPTIONS_SINGLE_AUDIO= ALSA OSS PULSEAUDIO
OPTIONS_SINGLE+= TOOLKIT
OPTIONS_SINGLE_TOOLKIT= GTK2 QT4
-OPTIONS_MULTI+= GNOME
-OPTIONS_MULTI_GNOME= GCONF GIO GNOMEUI GNOMEVFS2
-
+ENIGMAIL_DESC?= Enigmail extension
GIO_DESC?= GIO for file I/O # move to bsd.options.desc.mk
GNOMEUI_DESC?= libgnomeui support module
+LIBPROXY_DESC?= Proxy support via libproxy
LIGHTNING_DESC?= Calendar extension
LOGGING_DESC?= Additional log messages
-PGO_DESC?= Profile-Guided Optimization # move to bsd.options.desc.mk
-LIBPROXY_DESC?= Proxy support via libproxy
diff --git a/www/firefox/distinfo b/www/firefox/distinfo
index 80a71d06a9d3..a852ad685cfc 100644
--- a/www/firefox/distinfo
+++ b/www/firefox/distinfo
@@ -1,2 +1,2 @@
-SHA256 (firefox-15.0.1.source.tar.bz2) = d5b245e3f16933edf49bc9754d38013f0f82c855f164f429b92697e14ae0c3bf
-SIZE (firefox-15.0.1.source.tar.bz2) = 83710112
+SHA256 (firefox-16.0.source.tar.bz2) = 60d4e73a5ff2f796d8c9f3d0650a15afe6c140e017d0678ccf16c968e2c5ff55
+SIZE (firefox-16.0.source.tar.bz2) = 89461772
diff --git a/www/firefox/files/extra-bug780531 b/www/firefox/files/extra-bug780531
index 54843c752c81..c237bd26e509 100644
--- a/www/firefox/files/extra-bug780531
+++ b/www/firefox/files/extra-bug780531
@@ -1,13 +1,12 @@
--- configure.in~
+++ configure.in
-@@ -5585,10 +5585,13 @@ if test -n "$MOZ_OGG"; then
+@@ -5282,10 +5282,13 @@ if test -n "$MOZ_OGG"; then
MOZ_SYDNEYAUDIO=1
MOZ_CUBEB=1
MOZ_MEDIA=1
- case "$target_cpu" in
-- arm*)
+ case "$target" in
-+ arm-*-linux*)
+ arm*)
MOZ_TREMOR=1
;;
+ *-freebsd*)
@@ -16,14 +15,13 @@
*)
MOZ_VORBIS=1
;;
-@@ -5715,10 +5720,13 @@ if test -n "$MOZ_WEBM" -a -z "$MOZ_NATIV
+@@ -5417,10 +5420,13 @@ if test "$MOZ_WEBM"; then
MOZ_SYDNEYAUDIO=1
MOZ_CUBEB=1
MOZ_MEDIA=1
- case "$target_cpu" in
-- arm*)
+ case "$target" in
-+ arm-*-linux*)
+ arm*)
MOZ_TREMOR=1
;;
+ *-freebsd*)
diff --git a/www/firefox/files/patch-bug351181 b/www/firefox/files/patch-bug351181
deleted file mode 100644
index f47838638257..000000000000
--- a/www/firefox/files/patch-bug351181
+++ /dev/null
@@ -1,31 +0,0 @@
---- js/src/jsnum.cpp.orig 2010-01-05 22:35:17.000000000 -0500
-+++ js/src/jsnum.cpp 2010-01-11 05:10:19.000000000 -0500
-@@ -49,6 +49,9 @@
- // Avoid warnings about ASSERT being defined by the assembler as well.
- #undef ASSERT
-
-+#if defined(__FreeBSD__)
-+#include <sys/param.h>
-+#endif
- #ifdef XP_OS2
- #define _PC_53 PC_53
- #define _MCW_EM MCW_EM
-@@ -691,8 +694,18 @@
-
- #else
-
-+#if defined(__FreeBSD__)
-+#if __BSD_VISIBLE == 0
-+#error __BSD_VISIBLE is zero, so fedisableexcept is not defined
-+#endif
-+#include <fenv.h>
-+#define FIX_FPU() ((void)fedisableexcept(FE_ALL_EXCEPT))
-+#else
-+
- #define FIX_FPU() ((void)0)
-
-+#endif /* defined(__FreeBSD__) && __FreeBSD_version >= 503000 */
-+
- #endif
-
- JSBool
diff --git a/www/firefox/files/patch-bug543241 b/www/firefox/files/patch-bug543241
index af9e0ad7ba15..362e47ffe2d6 100644
--- a/www/firefox/files/patch-bug543241
+++ b/www/firefox/files/patch-bug543241
@@ -1,5 +1,16 @@
--- ./xpcom/threads/nsThreadManager.cpp.orig 2011-08-25 02:37:45.000000000 +0200
+++ ./xpcom/threads/nsThreadManager.cpp 2011-08-28 17:14:14.000000000 +0200
+@@ -12,6 +12,10 @@
+ #include "nsAutoPtr.h"
+ #include "nsCycleCollectorUtils.h"
+
++#if defined(__FreeBSD__)
++#include <osreldate.h>
++#endif
++
+ using namespace mozilla;
+
+ #ifdef XP_WIN
@@ -57,6 +57,11 @@
nsresult
nsThreadManager::Init()
diff --git a/www/firefox/files/patch-bug713802 b/www/firefox/files/patch-bug713802
new file mode 100644
index 000000000000..956ed1cc8e97
--- /dev/null
+++ b/www/firefox/files/patch-bug713802
@@ -0,0 +1,176 @@
+commit 20586fa
+Author: Karl Tomlinson <karlt+@karlt.net>
+Date: Thu Sep 27 18:35:06 2012 +1200
+
+ b=713802 default enable GIO support and disable GnomeVFS r=glandium
+
+ --HG--
+ extra : transplant_source : wk%ADr%CA%8EN%AE%C93p/p%0A%26%0E%1D0%F20
+---
+ browser/confvars.sh | 2 +-
+ configure.in | 20 ++++++++++----------
+ xulrunner/confvars.sh | 2 +-
+ 3 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git browser/confvars.sh browser/confvars.sh
+index 40ab494..eae5645 100755
+--- browser/confvars.sh
++++ browser/confvars.sh
+@@ -21,7 +21,7 @@ MOZ_SERVICES_AITC=1
+ MOZ_SERVICES_NOTIFICATIONS=1
+ MOZ_SERVICES_SYNC=1
+ MOZ_APP_VERSION=$FIREFOX_VERSION
+-MOZ_EXTENSIONS_DEFAULT=" gnomevfs"
++MOZ_EXTENSIONS_DEFAULT=" gio"
+ # MOZ_APP_DISPLAYNAME will be set by branding/configure.sh
+ # Changing MOZ_*BRANDING_DIRECTORY requires a clobber to ensure correct results,
+ # because branding dependencies are broken.
+--- browser/installer/package-manifest.in~
++++ browser/installer/package-manifest.in
+@@ -679,6 +679,10 @@ bin/libfreebl_32int64_3.so
+
+ ; [Extensions]
+ ;
++#ifdef MOZ_ENABLE_GIO
++bin/components/@DLL_PREFIX@nkgio@DLL_SUFFIX@
++#endif
++
+ #ifdef MOZ_ENABLE_GNOMEVFS
+ bin/components/@DLL_PREFIX@nkgnomevfs@DLL_SUFFIX@
+ #endif
+diff --git configure.in configure.in
+index 87a9391..2118651 100644
+--- configure.in
++++ configure.in
+@@ -4846,21 +4846,21 @@ dnl ========================================================
+
+ if test "$MOZ_X11"
+ then
+- dnl build the gnomevfs extension by default only when the
++ dnl build the GIO extension by default only when the
+ dnl GTK2 toolkit is in use.
+ if test "$MOZ_ENABLE_GTK2"
+ then
+- MOZ_ENABLE_GNOMEVFS=1
++ MOZ_ENABLE_GIO=1
+ MOZ_ENABLE_GCONF=1
+ fi
+
+ dnl ========================================================
+ dnl = GnomeVFS support module
+ dnl ========================================================
+- MOZ_ARG_DISABLE_BOOL(gnomevfs,
+- [ --disable-gnomevfs Disable GnomeVFS support ],
+- MOZ_ENABLE_GNOMEVFS=,
+- MOZ_ENABLE_GNOMEVFS=force)
++ MOZ_ARG_ENABLE_BOOL(gnomevfs,
++ [ --enable-gnomevfs Enable GnomeVFS support (default: disabled)],
++ MOZ_ENABLE_GNOMEVFS=force,
++ MOZ_ENABLE_GNOMEVFS=)
+
+ if test "$MOZ_ENABLE_GNOMEVFS"
+ then
+@@ -4884,10 +4884,10 @@ then
+ dnl ========================================================
+ dnl = GIO support module
+ dnl ========================================================
+- MOZ_ARG_ENABLE_BOOL(gio,
+- [ --enable-gio Enable GIO support (default: disabled)],
+- MOZ_ENABLE_GIO=force,
+- MOZ_ENABLE_GIO=)
++ MOZ_ARG_DISABLE_BOOL(gio,
++ [ --disable-gio Disable GIO support],
++ MOZ_ENABLE_GIO=,
++ MOZ_ENABLE_GIO=force)
+
+ if test "$MOZ_ENABLE_GIO" -a "$MOZ_ENABLE_GTK2"
+ then
+diff --git xulrunner/confvars.sh xulrunner/confvars.sh
+index 2fa6ead..5fe2c3d 100755
+--- xulrunner/confvars.sh
++++ xulrunner/confvars.sh
+@@ -10,5 +10,5 @@ MOZ_XULRUNNER=1
+ MOZ_CHROME_FILE_FORMAT=omni
+ MOZ_APP_VERSION=$MOZILLA_VERSION
+ MOZ_PLACES=1
+-MOZ_EXTENSIONS_DEFAULT=" gnomevfs"
++MOZ_EXTENSIONS_DEFAULT=" gio"
+ MOZ_URL_CLASSIFIER=1
+
+commit d884d75
+Author: Karl Tomlinson <karlt+@karlt.net>
+Date: Thu Sep 27 18:34:44 2012 +1200
+
+ b=713802 disable gnomevfs extension without --enable-gnomevfs r=glandium
+
+ --HG--
+ extra : transplant_source : i%07%81%E9%90_%C1%05b%194%9B%1E%93%FC%03%279%F9%8A
+---
+ configure.in | 12 +++---------
+ 1 file changed, 3 insertions(+), 9 deletions(-)
+
+diff --git configure.in configure.in
+index f2b4041..87a9391 100644
+--- configure.in
++++ configure.in
+@@ -4875,12 +4875,6 @@ then
+ fi
+ MOZ_ENABLE_GNOMEVFS=
+ ])
+- else
+- if test `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then
+- PKG_CHECK_MODULES(MOZ_GNOMEVFS, gnome-vfs-2.0 >= $GNOMEVFS_VERSION gnome-vfs-module-2.0 >= $GNOMEVFS_VERSION,[
+- MOZ_GNOMEVFS_LIBS=`echo $MOZ_GNOMEVFS_LIBS | sed 's/-llinc\>//'`
+- ])
+- fi
+ fi
+
+ AC_SUBST(MOZ_ENABLE_GNOMEVFS)
+@@ -5967,10 +5961,10 @@ MOZ_ARG_ENABLE_STRING(extensions,
+ done],
+ MOZ_EXTENSIONS="$MOZ_EXTENSIONS_DEFAULT")
+
+-if test -z "$MOZ_ENABLE_GNOMEVFS" -a -z "$MOZ_GNOMEVFS_LIBS" -a `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then
++if test -z "$MOZ_ENABLE_GNOMEVFS" -a `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then
+ # Suppress warning on non-X11 platforms
+ if test -n "$MOZ_X11"; then
+- AC_MSG_WARN([Cannot build gnomevfs without required libraries. Removing gnomevfs from MOZ_EXTENSIONS.])
++ AC_MSG_WARN([Removing gnomevfs from MOZ_EXTENSIONS due to no --enable-gnomevfs.])
+ fi
+ MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gnomevfs||'`
+ fi
+@@ -5983,7 +5977,7 @@ fi
+ if test -z "$MOZ_ENABLE_GIO" -a `echo "$MOZ_EXTENSIONS" | grep -c gio` -ne 0; then
+ # Suppress warning on non-X11 platforms
+ if test -n "$MOZ_X11"; then
+- AC_MSG_WARN([Cannot build gio without required libraries. Removing gio from MOZ_EXTENSIONS.])
++ AC_MSG_WARN([Removing gio from MOZ_EXTENSIONS due to --disable-gio.])
+ fi
+ MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gio||'`
+ fi
+
+commit ddedeea
+Author: Karl Tomlinson <karlt+@karlt.net>
+Date: Thu Sep 27 13:47:19 2012 +1200
+
+ b=713802 link gio extension against libxul for tracemalloc stack functions r=bsmedberg
+
+ --HG--
+ extra : transplant_source : %C8%A3o%BE%A0z%F7%C8%8A%E6%0E%D4s%7D%90%9C%D9%0F%06%7E
+---
+ extensions/gio/Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git extensions/gio/Makefile.in extensions/gio/Makefile.in
+index 46412c4..ccf2846 100644
+--- extensions/gio/Makefile.in
++++ extensions/gio/Makefile.in
+@@ -23,7 +23,7 @@ LOCAL_INCLUDES = $(MOZ_GIO_CFLAGS)
+
+ EXTRA_DSO_LDOPTS = \
+ $(XPCOM_GLUE_LDOPTS) \
+- $(NSPR_LIBS) \
++ $(MOZ_COMPONENT_LIBS) \
+ $(MOZ_GIO_LIBS) \
+ $(NULL)
+
diff --git a/www/firefox/files/patch-bug723860 b/www/firefox/files/patch-bug723860
deleted file mode 100644
index ee7b355912fe..000000000000
--- a/www/firefox/files/patch-bug723860
+++ /dev/null
@@ -1,54 +0,0 @@
-commit 4e07587
-Author: Matthew Gregan <kinetik@flim.org>
-Date: Wed Jun 6 17:58:07 2012 +1200
-
- Bug 723860 - Early bail from reader's GetBuffered() if not yet initialized. r=doublec
----
- content/media/gstreamer/nsGStreamerReader.cpp | 4 ++++
- content/media/ogg/nsOggReader.cpp | 3 +--
- content/media/wave/nsWaveReader.cpp | 3 +++
- 3 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git content/media/gstreamer/nsGStreamerReader.cpp content/media/gstreamer/nsGStreamerReader.cpp
-index 164fb2e..06a09b5 100644
---- content/media/gstreamer/nsGStreamerReader.cpp
-+++ content/media/gstreamer/nsGStreamerReader.cpp
-@@ -505,6 +505,10 @@ nsresult nsGStreamerReader::Seek(PRInt64 aTarget,
- nsresult nsGStreamerReader::GetBuffered(nsTimeRanges* aBuffered,
- PRInt64 aStartTime)
- {
-+ if (!mInfo.mHasVideo && !mInfo.mHasAudio) {
-+ return NS_OK;
-+ }
-+
- GstFormat format = GST_FORMAT_TIME;
- MediaResource* resource = mDecoder->GetResource();
- gint64 resourceLength = resource->GetLength();
-diff --git content/media/ogg/nsOggReader.cpp content/media/ogg/nsOggReader.cpp
-index c6ff008..8d40e2c 100644
---- content/media/ogg/nsOggReader.cpp
-+++ content/media/ogg/nsOggReader.cpp
-@@ -1532,8 +1532,7 @@ nsresult nsOggReader::GetBuffered(nsTimeRanges* aBuffered, PRInt64 aStartTime)
- {
- // HasAudio and HasVideo are not used here as they take a lock and cause
- // a deadlock. Accessing mInfo doesn't require a lock - it doesn't change
-- // after metadata is read and GetBuffered isn't called before metadata is
-- // read.
-+ // after metadata is read.
- if (!mInfo.mHasVideo && !mInfo.mHasAudio) {
- // No need to search through the file if there are no audio or video tracks
- return NS_OK;
-diff --git content/media/wave/nsWaveReader.cpp content/media/wave/nsWaveReader.cpp
-index 7242eb5..60fc1e1 100644
---- content/media/wave/nsWaveReader.cpp
-+++ content/media/wave/nsWaveReader.cpp
-@@ -239,6 +239,9 @@ static double RoundToUsecs(double aSeconds) {
-
- nsresult nsWaveReader::GetBuffered(nsTimeRanges* aBuffered, PRInt64 aStartTime)
- {
-+ if (!mInfo.mHasAudio) {
-+ return NS_OK;
-+ }
- PRInt64 startOffset = mDecoder->GetResource()->GetNextCachedData(mWavePCMOffset);
- while (startOffset >= 0) {
- PRInt64 endOffset = mDecoder->GetResource()->GetCachedDataEnd(startOffset);
diff --git a/www/firefox/files/patch-bug752895 b/www/firefox/files/patch-bug752895
deleted file mode 100644
index 0942b8b247b8..000000000000
--- a/www/firefox/files/patch-bug752895
+++ /dev/null
@@ -1,71 +0,0 @@
-commit de14ddd
-Author: Andrew Benton <b3nton@gmail.com>
-Date: Tue Jun 12 09:10:09 2012 +0200
-
- Bug 752895 - Don't try to install nspr, nss and sqlite when using system libraries. r=glandium
----
- browser/installer/Makefile.in | 8 ++++++++
- browser/installer/package-manifest.in | 6 ++++++
- 2 files changed, 14 insertions(+)
-
-diff --git browser/installer/Makefile.in browser/installer/Makefile.in
-index 975b1f4..c791872 100644
---- browser/installer/Makefile.in
-+++ browser/installer/Makefile.in
-@@ -44,6 +44,14 @@ ifeq (gtk2, $(MOZ_WIDGET_TOOLKIT))
- DEFINES += -DMOZ_GTK2=1
- endif
-
-+ifdef MOZ_NATIVE_NSPR
-+DEFINES += -DMOZ_NATIVE_NSPR=1
-+endif
-+
-+ifdef MOZ_NATIVE_NSS
-+DEFINES += -DMOZ_NATIVE_NSS=1
-+endif
-+
- ifdef NSS_DISABLE_DBM
- DEFINES += -DNSS_DISABLE_DBM=1
- endif
-diff --git browser/installer/package-manifest.in browser/installer/package-manifest.in
-index 2969643..b8fddf0 100644
---- browser/installer/package-manifest.in
-+++ browser/installer/package-manifest.in
-@@ -58,9 +58,11 @@
- #ifndef MOZ_STATIC_JS
- @BINPATH@/@DLL_PREFIX@mozjs@DLL_SUFFIX@
- #endif
-+#ifndef MOZ_NATIVE_NSPR
- @BINPATH@/@DLL_PREFIX@nspr4@DLL_SUFFIX@
- @BINPATH@/@DLL_PREFIX@plc4@DLL_SUFFIX@
- @BINPATH@/@DLL_PREFIX@plds4@DLL_SUFFIX@
-+#endif
- @BINPATH@/@DLL_PREFIX@xpcom@DLL_SUFFIX@
- #ifdef XP_MACOSX
- @BINPATH@/XUL
-@@ -109,7 +111,9 @@
- #endif
- @BINPATH@/platform.ini
- #ifndef XP_OS2
-+#ifndef MOZ_NATIVE_SQLITE
- @BINPATH@/@DLL_PREFIX@mozsqlite3@DLL_SUFFIX@
-+#endif
- #else
- @BINPATH@/mozsqlt3@DLL_SUFFIX@
- #endif
-@@ -583,6 +587,7 @@
- ; NSS libraries are signed in the staging directory,
- ; meaning their .chk files are created there directly.
- ;
-+#ifndef MOZ_NATIVE_NSS
- @BINPATH@/@DLL_PREFIX@freebl3@DLL_SUFFIX@
- @BINPATH@/@DLL_PREFIX@nss3@DLL_SUFFIX@
- @BINPATH@/@DLL_PREFIX@nssckbi@DLL_SUFFIX@
-@@ -593,6 +598,7 @@
- @BINPATH@/@DLL_PREFIX@smime3@DLL_SUFFIX@
- @BINPATH@/@DLL_PREFIX@softokn3@DLL_SUFFIX@
- @BINPATH@/@DLL_PREFIX@ssl3@DLL_SUFFIX@
-+#endif
- @BINPATH@/chrome/pippki@JAREXT@
- @BINPATH@/chrome/pippki.manifest
- @BINPATH@/components/pipboot.xpt
diff --git a/www/firefox/files/patch-bug753046 b/www/firefox/files/patch-bug753046
index f520e1118f6d..601e0c13e948 100644
--- a/www/firefox/files/patch-bug753046
+++ b/www/firefox/files/patch-bug753046
@@ -456,7 +456,7 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread.h,v 1.1 2012/03/06 12:34:0
--- ipc/chromium/src/base/platform_thread.h.orig 2011-12-20 23:28:19.000000000 +0000
+++ ipc/chromium/src/base/platform_thread.h
-@@ -22,9 +22,11 @@ typedef void* PlatformThreadHandle; // HANDLE
+@@ -22,9 +22,12 @@ typedef void* PlatformThreadHandle; // HANDLE
#elif defined(OS_POSIX)
#include <pthread.h>
typedef pthread_t PlatformThreadHandle;
@@ -465,6 +465,7 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread.h,v 1.1 2012/03/06 12:34:0
#include <unistd.h>
typedef pid_t PlatformThreadId;
+#elif defined(OS_BSD)
++#include <sys/types.h>
+typedef lwpid_t PlatformThreadId;
#elif defined(OS_MACOSX)
#include <mach/mach.h>
@@ -978,57 +979,6 @@ $NetBSD: patch-ipc_chromium_src_base_sys__info__posix.cc,v 1.2 2011/11/27 13:09:
#else
long pages = sysconf(_SC_PHYS_PAGES);
long page_size = sysconf(_SC_PAGE_SIZE);
-$NetBSD: patch-ipc_chromium_src_base_third__party_nspr_prcpucfg.h,v 1.2 2012/03/06 12:34:09 ryoon Exp $
-
---- ipc/chromium/src/base/third_party/nspr/prcpucfg.h.orig 2011-12-20 23:28:19.000000000 +0000
-+++ ipc/chromium/src/base/third_party/nspr/prcpucfg.h
-@@ -34,7 +34,7 @@
- #include "base/third_party/nspr/prcpucfg_win.h"
- #elif defined(__APPLE__)
- #include "base/third_party/nspr/prcpucfg_mac.h"
--#elif defined(__linux__) || defined(ANDROID)
-+#elif defined(__linux__) || defined(ANDROID) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
- #include "base/third_party/nspr/prcpucfg_linux.h"
- #elif defined(__OpenBSD__)
- #include "base/third_party/nspr/prcpucfg_openbsd.h"
-$NetBSD: patch-ipc_chromium_src_base_third__party_nspr_prtime.cc,v 1.1 2012/03/06 12:34:09 ryoon Exp $
-
---- ipc/chromium/src/base/third_party/nspr/prtime.cc.orig 2011-12-20 23:28:19.000000000 +0000
-+++ ipc/chromium/src/base/third_party/nspr/prtime.cc
-@@ -212,7 +212,7 @@ PR_ImplodeTime(const PRExplodedTime *exp
- LL_ADD(retVal, retVal, temp);
-
- return retVal;
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_DRAGONFLY)
- struct tm exp_tm = {0};
- exp_tm.tm_sec = exploded->tm_sec;
- exp_tm.tm_min = exploded->tm_min;
-@@ -245,6 +245,24 @@ PR_ImplodeTime(const PRExplodedTime *exp
- result *= kSecondsToMicroseconds;
- result += exploded->tm_usec;
- return result;
-+#elif defined(OS_FREEBSD) || defined(OS_NETBSD)
-+ struct tm exp_tm = {0};
-+ exp_tm.tm_sec = exploded->tm_sec;
-+ exp_tm.tm_min = exploded->tm_min;
-+ exp_tm.tm_hour = exploded->tm_hour;
-+ exp_tm.tm_mday = exploded->tm_mday;
-+ exp_tm.tm_mon = exploded->tm_month;
-+ exp_tm.tm_year = exploded->tm_year - 1900;
-+
-+ // time_t is 64bit
-+ time_t absolute_time = timegm(&exp_tm);
-+
-+ PRTime result = static_cast<PRTime>(absolute_time);
-+ result -= exploded->tm_params.tp_gmt_offset +
-+ exploded->tm_params.tp_dst_offset;
-+ result *= kSecondsToMicroseconds;
-+ result += exploded->tm_usec;
-+ return result;
- #else
- #error No PR_ImplodeTime implemented on your platform.
- #endif
diff --git ipc/chromium/src/base/time_posix.cc ipc/chromium/src/base/time_posix.cc
index abf2a56..48791f6 100644
--- ipc/chromium/src/base/time_posix.cc
diff --git a/www/firefox/files/patch-bug759459 b/www/firefox/files/patch-bug759459
deleted file mode 100644
index efd253baff13..000000000000
--- a/www/firefox/files/patch-bug759459
+++ /dev/null
@@ -1,24 +0,0 @@
-commit 4d0c5b9
-Author: Marco Perez <bugmail@millibyte.net>
-Date: Sat Jun 9 12:24:56 2012 -0400
-
- Bug 759459 - Build broken on FreeBSD since patch for bug 745034 landed. r=terrence
----
- js/src/gc/Memory.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git js/src/gc/Memory.cpp js/src/gc/Memory.cpp
-index 815e90b..10c1a91 100644
---- js/src/gc/Memory.cpp
-+++ js/src/gc/Memory.cpp
-@@ -292,9 +292,9 @@ GetPageFaultCount()
- #elif defined(XP_UNIX) || defined(XP_MACOSX) || defined(DARWIN)
-
- #include <sys/mman.h>
--#include <unistd.h>
- #include <sys/time.h>
- #include <sys/resource.h>
-+#include <unistd.h>
-
- void
- InitMemorySubsystem()
diff --git a/www/firefox/files/patch-bug760899 b/www/firefox/files/patch-bug760899
deleted file mode 100644
index 460c1393bdbc..000000000000
--- a/www/firefox/files/patch-bug760899
+++ /dev/null
@@ -1,54 +0,0 @@
-commit 667daed
-Author: Stephen Moehle <stephen.moehle@gmail.com>
-Date: Tue Jun 5 11:32:36 2012 +1200
-
- Bug 760899 - Fix debug builds with gstreamer enabled - r=kinetik
-
- --HG--
- extra : rebase_source : 22598bc470d35d94991ea9f1b14df11ba19a461a
----
- content/media/gstreamer/nsGStreamerReader.cpp | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git content/media/gstreamer/nsGStreamerReader.cpp content/media/gstreamer/nsGStreamerReader.cpp
-index 6a50e09..164fb2e 100644
---- content/media/gstreamer/nsGStreamerReader.cpp
-+++ content/media/gstreamer/nsGStreamerReader.cpp
-@@ -278,7 +278,7 @@ nsresult nsGStreamerReader::ReadMetadata(nsVideoInfo* aInfo)
- if (gst_element_query_duration(GST_ELEMENT(mPlayBin),
- &format, &duration) && format == GST_FORMAT_TIME) {
- ReentrantMonitorAutoEnter mon(mDecoder->GetReentrantMonitor());
-- LOG(PR_LOG_DEBUG, ("returning duration %"GST_TIME_FORMAT,
-+ LOG(PR_LOG_DEBUG, ("returning duration %" GST_TIME_FORMAT,
- GST_TIME_ARGS (duration)));
- duration = GST_TIME_AS_USECONDS (duration);
- mDecoder->GetStateMachine()->SetDuration(duration);
-@@ -422,8 +422,8 @@ bool nsGStreamerReader::DecodeVideoFrame(bool &aKeyFrameSkip,
- nextTimestamp += gst_util_uint64_scale(GST_USECOND, fpsNum, fpsDen);
-
- if (timestamp < aTimeThreshold) {
-- LOG(PR_LOG_DEBUG, ("skipping frame %"GST_TIME_FORMAT
-- " threshold %"GST_TIME_FORMAT,
-+ LOG(PR_LOG_DEBUG, ("skipping frame %" GST_TIME_FORMAT
-+ " threshold %" GST_TIME_FORMAT,
- GST_TIME_ARGS(timestamp), GST_TIME_ARGS(aTimeThreshold)));
- gst_buffer_unref(buffer);
- buffer = NULL;
-@@ -489,7 +489,7 @@ nsresult nsGStreamerReader::Seek(PRInt64 aTarget,
- NS_ASSERTION(mDecoder->OnDecodeThread(), "Should be on decode thread.");
-
- gint64 seekPos = aTarget * GST_USECOND;
-- LOG(PR_LOG_DEBUG, ("%p About to seek to %"GST_TIME_FORMAT,
-+ LOG(PR_LOG_DEBUG, ("%p About to seek to %" GST_TIME_FORMAT,
- mDecoder, GST_TIME_ARGS(seekPos)));
-
- if (!gst_element_seek_simple(mPlayBin, GST_FORMAT_TIME,
-@@ -592,7 +592,7 @@ PRInt64 nsGStreamerReader::QueryDuration()
- if (gst_element_query_duration(GST_ELEMENT(mPlayBin),
- &format, &duration)) {
- if (format == GST_FORMAT_TIME) {
-- LOG(PR_LOG_DEBUG, ("pipeline duration %"GST_TIME_FORMAT,
-+ LOG(PR_LOG_DEBUG, ("pipeline duration %" GST_TIME_FORMAT,
- GST_TIME_ARGS (duration)));
- duration = GST_TIME_AS_USECONDS (duration);
- }
diff --git a/www/firefox/files/patch-bug761030 b/www/firefox/files/patch-bug761030
deleted file mode 100644
index 5a0829e6c2f0..000000000000
--- a/www/firefox/files/patch-bug761030
+++ /dev/null
@@ -1,25 +0,0 @@
-commit 8bc9e15
-Author: Stephen Moehle <stephen.moehle@gmail.com>
-Date: Tue Jun 5 11:31:13 2012 +1200
-
- Bug 761030 - Fix crash with HTML 5 video with GStreamer enabled - r=kinetik
-
- --HG--
- extra : rebase_source : 5e884550f9870bd2fda247d50bebd472e8368588
----
- content/media/gstreamer/nsGStreamerReader.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git content/media/gstreamer/nsGStreamerReader.cpp content/media/gstreamer/nsGStreamerReader.cpp
-index 17374a3..6a50e09 100644
---- content/media/gstreamer/nsGStreamerReader.cpp
-+++ content/media/gstreamer/nsGStreamerReader.cpp
-@@ -452,6 +452,8 @@ bool nsGStreamerReader::DecodeVideoFrame(bool &aKeyFrameSkip,
- i, height);
- b.mPlanes[i].mWidth = gst_video_format_get_component_width(format,
- i, width);
-+ b.mPlanes[i].mOffset = 0;
-+ b.mPlanes[i].mSkip = 0;
- }
-
- bool isKeyframe = !GST_BUFFER_FLAG_IS_SET(buffer,
diff --git a/www/firefox/files/patch-bug761419 b/www/firefox/files/patch-bug761419
deleted file mode 100644
index 222e3053d489..000000000000
--- a/www/firefox/files/patch-bug761419
+++ /dev/null
@@ -1,22 +0,0 @@
-commit f0a73aa
-Author: Paul Adenot <paul@paul.cx>
-Date: Thu Jun 21 20:44:39 2012 -0400
-
- Bug 761419 - Build failure in content/media/gstreamer/nsGStreamerReader.cpp when using clang r=kinetik
----
- content/media/gstreamer/nsGStreamerReader.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git content/media/gstreamer/nsGStreamerReader.cpp content/media/gstreamer/nsGStreamerReader.cpp
-index 06a09b5..c48f92e 100644
---- content/media/gstreamer/nsGStreamerReader.cpp
-+++ content/media/gstreamer/nsGStreamerReader.cpp
-@@ -191,7 +191,7 @@ nsresult nsGStreamerReader::ReadMetadata(nsVideoInfo* aInfo)
- * stream but that are otherwise decodeable.
- */
- guint flags[3] = {GST_PLAY_FLAG_VIDEO|GST_PLAY_FLAG_AUDIO,
-- ~GST_PLAY_FLAG_AUDIO, ~GST_PLAY_FLAG_VIDEO};
-+ static_cast<guint>(~GST_PLAY_FLAG_AUDIO), static_cast<guint>(~GST_PLAY_FLAG_VIDEO)};
- guint default_flags, current_flags;
- g_object_get(mPlayBin, "flags", &default_flags, NULL);
-
diff --git a/www/firefox/files/patch-bug774671 b/www/firefox/files/patch-bug774671
index 9c2cd0f7c0f1..97ad3415e4d0 100644
--- a/www/firefox/files/patch-bug774671
+++ b/www/firefox/files/patch-bug774671
@@ -1,6 +1,31 @@
---- js/src/jsprvtd.h.orig 2012-08-25 00:55:40.000000000 +0200
-+++ js/src/jsprvtd.h 2012-09-06 15:20:48.000000000 +0200
-@@ -149,9 +149,9 @@
+commit 7e9eda2
+Author: Rafael Ávila de Espíndola <respindola@mozilla.com>
+Date: Tue Jul 17 12:54:41 2012 -0400
+
+ Bug 774671 - Fix mismatched declarations. r=luke.
+---
+ js/src/jsproxy.h | 2 +-
+ js/src/jsprvtd.h | 6 +++---
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git js/src/jsproxy.h js/src/jsproxy.h
+index ec26e3a..aa0e782 100644
+--- js/src/jsproxy.h
++++ js/src/jsproxy.h
+@@ -13,7 +13,7 @@
+
+ namespace js {
+
+-class Wrapper;
++class JS_FRIEND_API(Wrapper);
+
+ /*
+ * A proxy is a JSObject that implements generic behavior by providing custom
+diff --git js/src/jsprvtd.h js/src/jsprvtd.h
+index 19b5aef..93e1216 100644
+--- js/src/jsprvtd.h
++++ js/src/jsprvtd.h
+@@ -146,9 +146,9 @@ struct TreeContext;
class UpvarCookie;
class Proxy;
diff --git a/www/firefox/files/patch-bug778056 b/www/firefox/files/patch-bug778056
index e03a02bfc3f1..9515b967764e 100644
--- a/www/firefox/files/patch-bug778056
+++ b/www/firefox/files/patch-bug778056
@@ -4,9 +4,9 @@
#if defined(XP_UNIX)
# include <unistd.h> // for valloc on *BSD
#endif //if defined(XP_UNIX)
-+#ifdef __FreeBSD__
++#if defined(__FreeBSD__)
+# include <malloc_np.h> // for malloc_usable_size
-+#endif
++#endif // if defined(__FreeBSD__)
#if defined(XP_WIN) || (defined(XP_OS2) && defined(__declspec))
# define MOZALLOC_EXPORT __declspec(dllexport)
diff --git a/www/firefox/files/patch-bug778078 b/www/firefox/files/patch-bug778078
index 232b32509a33..f7bedeb8053c 100644
--- a/www/firefox/files/patch-bug778078
+++ b/www/firefox/files/patch-bug778078
@@ -1,9 +1,9 @@
--- toolkit/xre/nsAppRunner.cpp~
+++ toolkit/xre/nsAppRunner.cpp
-@@ -3819,7 +3819,7 @@ XREMain::XRE_main(int argc, char* argv[]
+@@ -3833,7 +3833,7 @@ XREMain::XRE_main(int argc, char* argv[]
ScopedLogging log;
- #if defined(MOZ_WIDGET_GTK2)
+ #if defined(MOZ_WIDGET_GTK)
-#ifdef MOZ_MEMORY
+#if defined(MOZ_MEMORY) || defined(__FreeBSD__) || defined(__NetBSD__)
// Disable the slice allocator, since jemalloc already uses similar layout
diff --git a/www/firefox/files/patch-bug781474 b/www/firefox/files/patch-bug781474
deleted file mode 100644
index 8239b2e8b8fd..000000000000
--- a/www/firefox/files/patch-bug781474
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/base/public/nsContentUtils.h.orig 2011-07-07 10:44:49.000000000 +0200
-+++ content/base/public/nsContentUtils.h 2011-07-07 10:46:12.000000000 +0200
-@@ -54,7 +54,7 @@
- //A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
- #ifdef __FreeBSD__
- #include <ieeefp.h>
--#ifdef __alpha__
-+#if !defined(__amd64__) && !defined(__i386__)
- static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
- #else
- static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP|FP_X_DNML;
diff --git a/www/firefox/files/patch-bug784776 b/www/firefox/files/patch-bug784776
index 417043931ee2..3fe665e7140c 100644
--- a/www/firefox/files/patch-bug784776
+++ b/www/firefox/files/patch-bug784776
@@ -1,20 +1,3 @@
---- content/media/MediaEngineDefault.cpp~
-+++ content/media/MediaEngineDefault.cpp
-@@ -232,12 +232,12 @@ nsresult
- MediaEngineDefaultAudioSource::Start(SourceMediaStream* aStream, TrackID aID)
- {
- if (mState != kAllocated) {
-- return NULL;
-+ return 0;
- }
-
- mTimer = do_CreateInstance(NS_TIMER_CONTRACTID);
- if (!mTimer) {
-- return NULL;
-+ return 0;
- }
-
- mSource = aStream;
--- gfx/layers/opengl/ImageLayerOGL.cpp~
+++ gfx/layers/opengl/ImageLayerOGL.cpp
@@ -936,7 +936,7 @@ ShadowImageLayerOGL::CleanupResources()
diff --git a/www/firefox/files/patch-bug785638 b/www/firefox/files/patch-bug785638
deleted file mode 100644
index 0cf60e4eb1fe..000000000000
--- a/www/firefox/files/patch-bug785638
+++ /dev/null
@@ -1,168 +0,0 @@
-diff --git configure.in configure.in
-index cef992b..3bd39ca 100644
---- configure.in
-+++ configure.in
-@@ -5353,22 +5353,6 @@ if test -n "$MOZ_VP8" -a -z "$MOZ_NATIVE_LIBVPX"; then
-
- dnl See if we have assembly on this platform.
- case "$OS_ARCH:$CPU_ARCH" in
-- Linux:x86)
-- VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
-- VPX_X86_ASM=1
-- ;;
-- Linux:x86_64)
-- VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
-- VPX_X86_ASM=1
-- ;;
-- SunOS:x86)
-- VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
-- VPX_X86_ASM=1
-- ;;
-- SunOS:x86_64)
-- VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
-- VPX_X86_ASM=1
-- ;;
- Darwin:x86)
- VPX_ASFLAGS="-f macho32 -rnasm -pnasm -DPIC"
- VPX_X86_ASM=1
-@@ -5412,6 +5388,19 @@ if test -n "$MOZ_VP8" -a -z "$MOZ_NATIVE_LIBVPX"; then
- VPX_ASM_SUFFIX="$ASM_SUFFIX"
- VPX_ARM_ASM=1
- fi
-+ ;;
-+ *:x86)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
-+ VPX_X86_ASM=1
-+ fi
-+ ;;
-+ *:x86_64)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
-+ VPX_X86_ASM=1
-+ fi
-+ ;;
- esac
-
- if test -n "$COMPILE_ENVIRONMENT" -a -n "$VPX_X86_ASM" -a -z "$VPX_AS"; then
-@@ -5843,22 +5832,6 @@ if test -n "$MOZ_LIBJPEG_TURBO"; then
-
- dnl Do we support libjpeg-turbo on this platform?
- case "$OS_ARCH:$OS_TEST" in
-- Linux:x86|Linux:i?86)
-- LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
-- LIBJPEG_TURBO_X86_ASM=1
-- ;;
-- Linux:x86_64)
-- LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
-- LIBJPEG_TURBO_X64_ASM=1
-- ;;
-- SunOS:i?86)
-- LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
-- LIBJPEG_TURBO_X86_ASM=1
-- ;;
-- SunOS:x86_64)
-- LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
-- LIBJPEG_TURBO_X64_ASM=1
-- ;;
- Darwin:i?86)
- LIBJPEG_TURBO_ASFLAGS="-f macho32 -rnasm -pnasm -DPIC -DMACHO"
- LIBJPEG_TURBO_X86_ASM=1
-@@ -5879,6 +5852,18 @@ if test -n "$MOZ_LIBJPEG_TURBO"; then
- LIBJPEG_TURBO_ASFLAGS="-march=armv7-a -mfpu=neon"
- LIBJPEG_TURBO_ARM_ASM=1
- ;;
-+ *:x86|*:i?86)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
-+ LIBJPEG_TURBO_X86_ASM=1
-+ fi
-+ ;;
-+ *:x86_64)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
-+ LIBJPEG_TURBO_X64_ASM=1
-+ fi
-+ ;;
- esac
-
- fi
-diff --git media/libvpx/update.sh media/libvpx/update.sh
-index 79e0fb1..51956af 100755
---- media/libvpx/update.sh
-+++ media/libvpx/update.sh
-@@ -363,12 +363,12 @@ cp $1/objdir/x86-win32-vs8/vpx_config.h vpx_config_x86-win32-vs8.h
- # Should be same for all platforms...
- cp $1/objdir/x86-win32-vs8/vpx_version.h vpx_version.h
-
--# Config files for x86-linux-gcc and Solaris x86
-+# Config files for x86-linux-gcc and other x86 elf platforms
- cp $1/objdir/x86-linux-gcc/vpx_config.c vpx_config_x86-linux-gcc.c
- cp $1/objdir/x86-linux-gcc/vpx_config.asm vpx_config_x86-linux-gcc.asm
- cp $1/objdir/x86-linux-gcc/vpx_config.h vpx_config_x86-linux-gcc.h
-
--# Config files for x86_64-linux-gcc and Solaris x86_64
-+# Config files for x86_64-linux-gcc and other x86_64 elf platforms
- cp $1/objdir/x86_64-linux-gcc/vpx_config.c vpx_config_x86_64-linux-gcc.c
- cp $1/objdir/x86_64-linux-gcc/vpx_config.asm vpx_config_x86_64-linux-gcc.asm
- cp $1/objdir/x86_64-linux-gcc/vpx_config.h vpx_config_x86_64-linux-gcc.h
-diff --git media/libvpx/vpx_config.h media/libvpx/vpx_config.h
-index 55433f3..36e1780 100644
---- media/libvpx/vpx_config.h
-+++ media/libvpx/vpx_config.h
-@@ -16,20 +16,12 @@
- /* 32 bit MacOS. */
- #include "vpx_config_x86-darwin9-gcc.h"
-
--#elif defined(__linux__) && defined(__i386__)
--/* 32 bit Linux. */
-+#elif defined(__ELF__) && (defined(__i386) || defined(__i386__))
-+/* 32 bit ELF platforms. */
- #include "vpx_config_x86-linux-gcc.h"
-
--#elif defined(__linux__) && defined(__x86_64__)
--/* 64 bit Linux. */
--#include "vpx_config_x86_64-linux-gcc.h"
--
--#elif defined(__sun) && defined(__i386)
--/* 32 bit Solaris. */
--#include "vpx_config_x86-linux-gcc.h"
--
--#elif defined(__sun) && defined(__x86_64)
--/* 64 bit Solaris. */
-+#elif defined(__ELF__) && (defined(__x86_64) || defined(__x86_64__))
-+/* 64 bit ELF platforms. */
- #include "vpx_config_x86_64-linux-gcc.h"
-
- #else
-diff --git media/libvpx/vpx_config_c.c media/libvpx/vpx_config_c.c
-index eedd515..c8b5375 100644
---- media/libvpx/vpx_config_c.c
-+++ media/libvpx/vpx_config_c.c
-@@ -15,22 +15,14 @@
- /* 32 bit MacOS. */
- #include "vpx_config_x86-darwin9-gcc.c"
-
--#elif defined(__linux__) && defined(__i386__)
--/* 32 bit Linux. */
-+#elif defined(__ELF__) && (defined(__i386) || defined(__i386__))
-+/* 32 bit ELF platforms. */
- #include "vpx_config_x86-linux-gcc.c"
-
--#elif defined(__linux__) && defined(__x86_64__)
--/* 64 bit Linux. */
-+#elif defined(__ELF__) && (defined(__x86_64) || defined(__x86_64__))
-+/* 64 bit ELF platforms. */
- #include "vpx_config_x86_64-linux-gcc.c"
-
--#elif defined(__sun) && defined(__i386)
--/* 32 bit Solaris. */
--#include "vpx_config_x86-linux-gcc.h"
--
--#elif defined(__sun) && defined(__x86_64)
--/* 64 bit Solaris. */
--#include "vpx_config_x86_64-linux-gcc.h"
--
- #else
- #error VPX_X86_ASM is defined, but assembly not supported on this platform!
- #endif
diff --git a/www/firefox/files/patch-bug788108 b/www/firefox/files/patch-bug788108
new file mode 100644
index 000000000000..746146760c62
--- /dev/null
+++ b/www/firefox/files/patch-bug788108
@@ -0,0 +1,20 @@
+--- content/base/public/nsContentUtils.h~
++++ content/base/public/nsContentUtils.h
+@@ -18,17 +18,6 @@
+ #include <ieeefp.h>
+ #endif
+
+-//A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
+-#ifdef __FreeBSD__
+-#include <ieeefp.h>
+-#ifdef __alpha__
+-static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
+-#else
+-static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP|FP_X_DNML;
+-#endif
+-static fp_except_t oldmask = fpsetmask(~allmask);
+-#endif
+-
+ #include "nsAString.h"
+ #include "nsIStatefulFrame.h"
+ #include "nsNodeInfoManager.h"
diff --git a/www/firefox/files/patch-bug788955 b/www/firefox/files/patch-bug788955
new file mode 100644
index 000000000000..39a8cd7ff70d
--- /dev/null
+++ b/www/firefox/files/patch-bug788955
@@ -0,0 +1,309 @@
+diff --git Makefile.in Makefile.in
+index e341462..f75bd55 100644
+--- Makefile.in
++++ Makefile.in
+@@ -48,8 +48,10 @@ endif
+ ifdef MOZ_MEMORY
+ tier_base_dirs += memory/mozjemalloc
+ ifdef MOZ_JEMALLOC
++ifndef MOZ_NATIVE_JEMALLOC
+ tier_base_dirs += memory/jemalloc
+ endif
++endif
+ tier_base_dirs += memory/build
+ endif
+ ifndef MOZ_NATIVE_ZLIB
+diff --git allmakefiles.sh allmakefiles.sh
+index 6a9be4b..d2e49e3 100755
+--- allmakefiles.sh
++++ allmakefiles.sh
+@@ -59,7 +59,7 @@ if [ ! "$LIBXUL_SDK" ]; then
+ mozglue/Makefile
+ mozglue/build/Makefile
+ "
+- if [ "$MOZ_JEMALLOC" ]; then
++ if [ "$MOZ_JEMALLOC" -a -z "$MOZ_NATIVE_JEMALLOC" ]; then
+ add_makefiles "
+ memory/jemalloc/Makefile
+ "
+--- config/autoconf.mk.in
++++ config/autoconf.mk.in
+@@ -74,6 +74,7 @@ MOZ_JSDEBUGGER = @MOZ_JSDEBUGGER@
+ MOZ_IPDL_TESTS = @MOZ_IPDL_TESTS@
+ MOZ_MEMORY = @MOZ_MEMORY@
+ MOZ_JEMALLOC = @MOZ_JEMALLOC@
++MOZ_NATIVE_JEMALLOC = @MOZ_NATIVE_JEMALLOC@
+ MOZ_PROFILING = @MOZ_PROFILING@
+ MOZ_ENABLE_PROFILER_SPS = @MOZ_ENABLE_PROFILER_SPS@
+ MOZ_JPROF = @MOZ_JPROF@
+diff --git configure.in configure.in
+index bb05782..2f32516 100644
+--- configure.in
++++ configure.in
+@@ -3711,21 +3711,22 @@ fi
+
+ dnl Check for the existence of various allocation headers/functions
+
++MALLOC_HEADERS="malloc.h malloc_np.h malloc/malloc.h sys/malloc.h"
+ MALLOC_H=
+-MOZ_CHECK_HEADER(malloc.h, [MALLOC_H=malloc.h])
+-if test "$MALLOC_H" = ""; then
+- MOZ_CHECK_HEADER(malloc/malloc.h, [MALLOC_H=malloc/malloc.h])
+- if test "$MALLOC_H" = ""; then
+- MOZ_CHECK_HEADER(sys/malloc.h, [MALLOC_H=sys/malloc.h])
++
++for file in $MALLOC_HEADERS; do
++ MOZ_CHECK_HEADER($file, [MALLOC_H=$file])
++ if test "$MALLOC_H" != ""; then
++ AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>)
++ break
+ fi
+-fi
+-if test "$MALLOC_H" != ""; then
+- AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>)
+-fi
++done
+
+ MOZ_ALLOCATING_FUNCS="strndup posix_memalign memalign valloc"
+ AC_CHECK_FUNCS(strndup posix_memalign memalign valloc)
+
++AC_CHECK_FUNCS(malloc_usable_size)
++
+ dnl See if compiler supports some gcc-style attributes
+
+ AC_CACHE_CHECK(for __attribute__((always_inline)),
+@@ -6939,6 +6940,18 @@ else
+ fi
+
+ if test -z "$MOZ_MEMORY"; then
++ if test -n "$MOZ_JEMALLOC"; then
++ MOZ_NATIVE_JEMALLOC=1
++ AC_CHECK_FUNCS(mallctl nallocm,,
++ [MOZ_NATIVE_JEMALLOC=
++ break])
++ if test -n "$MOZ_NATIVE_JEMALLOC"; then
++ MOZ_MEMORY=1
++ AC_DEFINE(MOZ_MEMORY)
++ AC_DEFINE(MOZ_JEMALLOC)
++ AC_DEFINE(MOZ_NATIVE_JEMALLOC)
++ fi
++ fi
+ case "${target}" in
+ *-mingw*)
+ if test -z "$WIN32_REDIST_DIR" -a -z "$MOZ_DEBUG"; then
+@@ -7033,6 +7046,7 @@ else
+ fi # MOZ_MEMORY
+ AC_SUBST(MOZ_MEMORY)
+ AC_SUBST(MOZ_JEMALLOC)
++AC_SUBST(MOZ_NATIVE_JEMALLOC)
+ AC_SUBST(MOZ_GLUE_LDFLAGS)
+ AC_SUBST(MOZ_GLUE_PROGRAM_LDFLAGS)
+ AC_SUBST(WIN32_CRT_LIBS)
+@@ -8820,10 +8834,22 @@ fi
+
+ # Run jemalloc configure script
+
+-if test "$MOZ_JEMALLOC" -a "$MOZ_MEMORY"; then
++if test -z "$MOZ_NATIVE_JEMALLOC" -a "$MOZ_JEMALLOC" -a "$MOZ_MEMORY" ; then
+ ac_configure_args="$_SUBDIR_CONFIG_ARGS --build=$build --host=$target --enable-stats --with-jemalloc-prefix=je_"
+- if test "$OS_ARCH" = "Linux"; then
+- MANGLE="malloc calloc valloc free realloc memalign posix_memalign malloc_usable_size"
++ case "$OS_ARCH" in
++ Linux|DragonFly|FreeBSD|NetBSD|OpenBSD)
++ MANGLE="malloc calloc valloc free realloc posix_memalign"
++ case "$OS_ARCH" in
++ Linux)
++ MANGLE="$MANGLE memalign malloc_usable_size"
++ ;;
++ FreeBSD)
++ MANGLE="$MANGLE malloc_usable_size"
++ ;;
++ esac
++ ;;
++ esac
++ if test -n "$MANGLE"; then
+ MANGLED=
+ JEMALLOC_WRAPPER=
+ if test -n "$_WRAP_MALLOC"; then
+diff --git memory/build/Makefile.in memory/build/Makefile.in
+index dca0f48..af93ee0 100644
+--- memory/build/Makefile.in
++++ memory/build/Makefile.in
+@@ -22,7 +22,9 @@ CSRCS = extraMallocFuncs.c
+
+ ifdef MOZ_JEMALLOC
+ CSRCS += mozjemalloc_compat.c
++ifndef MOZ_NATIVE_JEMALLOC
+ SHARED_LIBRARY_LIBS += $(call EXPAND_LIBNAME_PATH,jemalloc,$(DEPTH)/memory/jemalloc)
++endif
+ else
+ SHARED_LIBRARY_LIBS += $(call EXPAND_LIBNAME_PATH,jemalloc,$(DEPTH)/memory/mozjemalloc)
+ endif
+diff --git memory/build/extraMallocFuncs.c memory/build/extraMallocFuncs.c
+index 9d87629..03c8320 100644
+--- memory/build/extraMallocFuncs.c
++++ memory/build/extraMallocFuncs.c
+@@ -94,8 +94,16 @@ wrap(wcsdup)(const wchar_t *src)
+ #endif
+
+ #ifdef MOZ_JEMALLOC
++
++#undef wrap
++#if defined(MOZ_NATIVE_JEMALLOC)
++#define wrap(a) a
++#else
++#define wrap(a) je_ ## a
++#endif
++
+ /* Override some jemalloc defaults */
+-const char *je_malloc_conf = "narenas:1,lg_chunk:20";
++MOZ_EXPORT_DATA(const char *) wrap(malloc_conf) = "narenas:1,lg_chunk:20";
+
+ #ifdef ANDROID
+ #include <android/log.h>
+diff --git memory/build/mozjemalloc_compat.c memory/build/mozjemalloc_compat.c
+index 10a845a..94ad96e 100644
+--- memory/build/mozjemalloc_compat.c
++++ memory/build/mozjemalloc_compat.c
+@@ -5,14 +5,21 @@
+ #include "mozilla/Types.h"
+ #include "jemalloc_types.h"
+
+-extern int je_mallctl(const char*, void*, size_t*, void*, size_t);
++#if defined(MOZ_NATIVE_JEMALLOC)
++#define wrap(a) a
++#else
++#define wrap(a) je_ ## a
++#endif
+
+-MOZ_EXPORT_API (void)
++extern MOZ_IMPORT_API(int)
++wrap(mallctl)(const char*, void*, size_t*, void*, size_t);
++
++MOZ_EXPORT_API(void)
+ jemalloc_stats(jemalloc_stats_t *stats)
+ {
+ size_t size = sizeof(stats->mapped);
+- je_mallctl("stats.mapped", &stats->mapped, &size, NULL, 0);
+- je_mallctl("stats.allocated", &stats->allocated, &size, NULL, 0);
++ wrap(mallctl)("stats.mapped", &stats->mapped, &size, NULL, 0);
++ wrap(mallctl)("stats.allocated", &stats->allocated, &size, NULL, 0);
+ stats->committed = -1;
+ stats->dirty = -1;
+ }
+diff --git memory/jemalloc/src/src/mutex.c memory/jemalloc/src/src/mutex.c
+index 37a843e..55e18c2 100644
+--- memory/jemalloc/src/src/mutex.c
++++ memory/jemalloc/src/src/mutex.c
+@@ -64,7 +64,7 @@ pthread_create(pthread_t *__restrict thread,
+ /******************************************************************************/
+
+ #ifdef JEMALLOC_MUTEX_INIT_CB
+-int _pthread_mutex_init_calloc_cb(pthread_mutex_t *mutex,
++JEMALLOC_EXPORT int _pthread_mutex_init_calloc_cb(pthread_mutex_t *mutex,
+ void *(calloc_cb)(size_t, size_t));
+ #endif
+
+diff --git memory/mozalloc/mozalloc.cpp memory/mozalloc/mozalloc.cpp
+index 5b61050b..5b3399a 100644
+--- memory/mozalloc/mozalloc.cpp
++++ memory/mozalloc/mozalloc.cpp
+@@ -12,16 +12,13 @@
+ #include <sys/types.h>
+
+ #if defined(MALLOC_H)
+-# include MALLOC_H // for memalign, valloc where available
++# include MALLOC_H // for memalign, valloc, malloc_size, malloc_usable_size
+ #endif // if defined(MALLOC_H)
+ #include <stddef.h> // for size_t
+ #include <stdlib.h> // for malloc, free
+ #if defined(XP_UNIX)
+ # include <unistd.h> // for valloc on *BSD
+ #endif //if defined(XP_UNIX)
+-#if defined(__FreeBSD__)
+-# include <malloc_np.h> // for malloc_usable_size
+-#endif // if defined(__FreeBSD__)
+
+ #if defined(XP_WIN) || (defined(XP_OS2) && defined(__declspec))
+ # define MOZALLOC_EXPORT __declspec(dllexport)
+@@ -213,8 +210,7 @@ moz_malloc_usable_size(void *ptr)
+
+ #if defined(XP_MACOSX)
+ return malloc_size(ptr);
+-#elif defined(MOZ_MEMORY) || (defined(XP_LINUX) && !defined(ANDROID)) || defined(__FreeBSD__)
+- // Android bionic libc doesn't have malloc_usable_size.
++#elif defined(HAVE_MALLOC_USABLE_SIZE) || defined(MOZ_MEMORY)
+ return malloc_usable_size(ptr);
+ #elif defined(XP_WIN)
+ return _msize(ptr);
+diff --git memory/mozjemalloc/jemalloc.h memory/mozjemalloc/jemalloc.h
+index f0e0878..2486e83 100644
+--- memory/mozjemalloc/jemalloc.h
++++ memory/mozjemalloc/jemalloc.h
+@@ -37,22 +37,29 @@
+ #endif
+ #include "jemalloc_types.h"
+
++#if defined(MOZ_NATIVE_JEMALLOC)
++#define wrap(a) a
++#else
++#define wrap(a) je_ ## a
++#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+-#if defined(MOZ_MEMORY_LINUX)
++#if defined(MOZ_NATIVE_JEMALLOC) \
++ || defined(MOZ_MEMORY_LINUX) || defined(MOZ_MEMORY_BSD)
+ __attribute__((weak))
+ #endif
+ void jemalloc_stats(jemalloc_stats_t *stats);
+
+ /* Computes the usable size in advance. */
+ #if !defined(MOZ_MEMORY_DARWIN)
+-#if defined(MOZ_MEMORY_LINUX)
++#if defined(MOZ_MEMORY_LINUX) || defined(MOZ_MEMORY_BSD)
+ __attribute__((weak))
+ #endif
+ #if defined(MOZ_JEMALLOC)
+-int je_nallocm(size_t *rsize, size_t size, int flags);
++MOZ_IMPORT_API(int) wrap(nallocm)(size_t *rsize, size_t size, int flags);
+ #else
+ size_t je_malloc_good_size(size_t size);
+ #endif
+@@ -62,11 +69,11 @@ static inline size_t je_malloc_usable_size_in_advance(size_t size) {
+ #if defined(MOZ_MEMORY_DARWIN)
+ return malloc_good_size(size);
+ #elif defined(MOZ_JEMALLOC)
+- if (je_nallocm) {
++ if (wrap(nallocm)) {
+ size_t ret;
+ if (size == 0)
+ size = 1;
+- if (!je_nallocm(&ret, size, 0))
++ if (!wrap(nallocm)(&ret, size, 0))
+ return ret;
+ }
+ return size;
+@@ -113,4 +120,6 @@ void jemalloc_purge_freed_pages();
+ } /* extern "C" */
+ #endif
+
++#undef wrap
++
+ #endif /* _JEMALLOC_H_ */
+diff --git mozglue/build/Makefile.in mozglue/build/Makefile.in
+index c333647..15ba505 100644
+--- mozglue/build/Makefile.in
++++ mozglue/build/Makefile.in
+@@ -23,7 +23,7 @@ FORCE_STATIC_LIB = 1
+ endif
+
+ # Keep jemalloc separated when mozglue is statically linked
+-ifeq (1_1,$(MOZ_MEMORY)_$(FORCE_SHARED_LIB))
++ifeq (1_1,$(MOZ_MEMORY)_$(or $(MOZ_NATIVE_JEMALLOC),$(FORCE_SHARED_LIB)))
+ SHARED_LIBRARY_LIBS = $(call EXPAND_LIBNAME_PATH,memory,$(DEPTH)/memory/build)
+ else
+ # Temporary, until bug 662814 lands
diff --git a/www/firefox/files/patch-bug789436 b/www/firefox/files/patch-bug789436
new file mode 100644
index 000000000000..6d1e7069b858
--- /dev/null
+++ b/www/firefox/files/patch-bug789436
@@ -0,0 +1,27 @@
+--- toolkit/xre/nsAppRunner.cpp~
++++ toolkit/xre/nsAppRunner.cpp
+@@ -1388,11 +1388,6 @@ static int MSCRTReportHook( int aReportType, char *aMessage, int *oReturnValue)
+
+ #endif
+
+-#if defined(FREEBSD)
+-// pick up fpsetmask prototype.
+-#include <ieeefp.h>
+-#endif
+-
+ static inline void
+ DumpVersion()
+ {
+@@ -4136,12 +4131,5 @@ SetupErrorHandling(const char* progname)
+
+ // Unbuffer stdout, needed for tinderbox tests.
+ setbuf(stdout, 0);
+-
+-#if defined(FREEBSD)
+- // Disable all SIGFPE's on FreeBSD, as it has non-IEEE-conformant fp
+- // trap behavior that trips up on floating-point tests performed by
+- // the JS engine. See bugzilla bug 9967 details.
+- fpsetmask(0);
+-#endif
+ }
+
diff --git a/www/firefox/files/patch-bug789656 b/www/firefox/files/patch-bug789656
new file mode 100644
index 000000000000..ebc567ef27ac
--- /dev/null
+++ b/www/firefox/files/patch-bug789656
@@ -0,0 +1,11 @@
+--- media/libopus/Makefile.in~
++++ media/libopus/Makefile.in
+@@ -20,7 +20,7 @@ DEFINES += \
+ -Drestrict= \
+ $(NULL)
+
+-ifneq ($(filter $(OS_ARCH),Linux Darwin),)
++ifneq ($(filter $(OS_ARCH),Linux Darwin DragonFly FreeBSD NetBSD OpenBSD),)
+ DEFINES += -DHAVE_LRINTF
+ endif
+ ifeq ($(OS_ARCH), WINNT)
diff --git a/www/firefox/files/patch-bug789693 b/www/firefox/files/patch-bug789693
new file mode 100644
index 000000000000..1d2b790a35d5
--- /dev/null
+++ b/www/firefox/files/patch-bug789693
@@ -0,0 +1,109 @@
+--- toolkit/components/startup/nsAppStartup.cpp
++++ toolkit/components/startup/nsAppStartup.cpp
+@@ -50,18 +50,41 @@
+ #include <sys/syscall.h>
+ #endif
+
+-#ifdef XP_MACOSX
++#if defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
++#include <sys/param.h>
+ #include <sys/sysctl.h>
+ #endif
+
+-#ifdef __OpenBSD__
+-#include <sys/param.h>
+-#include <sys/sysctl.h>
++#if defined(__DragonFly__) || defined(__FreeBSD__)
++#include <sys/user.h>
+ #endif
+
+ #include "mozilla/Telemetry.h"
+ #include "mozilla/StartupTimeline.h"
+
++#if defined(__NetBSD__)
++#undef KERN_PROC
++#define KERN_PROC KERN_PROC2
++#define KINFO_PROC struct kinfo_proc2
++#else
++#define KINFO_PROC struct kinfo_proc
++#endif
++
++#if defined(XP_MACOSX)
++#define KP_START_SEC kp_proc.p_un.__p_starttime.tv_sec
++#define KP_START_USEC kp_proc.p_un.__p_starttime.tv_usec
++#elif defined(__DragonFly__)
++#define KP_START_SEC kp_start.tv_sec
++#define KP_START_USEC kp_start.tv_usec
++#elif defined(__FreeBSD__)
++#define KP_START_SEC ki_start.tv_sec
++#define KP_START_USEC ki_start.tv_usec
++#else
++#define KP_START_SEC p_ustart_sec
++#define KP_START_USEC p_ustart_usec
++#endif
++
+ static NS_DEFINE_CID(kAppShellCID, NS_APPSHELL_CID);
+
+ #define kPrefLastSuccess "toolkit.startup.last_success"
+@@ -836,42 +859,30 @@ CalculateProcessCreationTimestamp()
+ #endif
+ return timestamp;
+ }
+-#elif defined(XP_MACOSX)
++#elif defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
+ static PRTime
+ CalculateProcessCreationTimestamp()
+ {
+- int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid() };
+- size_t buffer_size;
+- if (sysctl(mib, 4, NULL, &buffer_size, NULL, 0))
+- return 0;
++ int mib[] = {
++ CTL_KERN,
++ KERN_PROC,
++ KERN_PROC_PID,
++ getpid(),
++#if defined(__NetBSD__) || defined(__OpenBSD__)
++ sizeof(KINFO_PROC),
++ 1,
++#endif
++ };
++ u_int miblen = sizeof(mib) / sizeof(mib[0]);
+
+- struct kinfo_proc *proc = (kinfo_proc*) malloc(buffer_size);
+- if (sysctl(mib, 4, proc, &buffer_size, NULL, 0)) {
+- free(proc);
+- return 0;
+- }
+- PRTime starttime = static_cast<PRTime>(proc->kp_proc.p_un.__p_starttime.tv_sec) * PR_USEC_PER_SEC;
+- starttime += proc->kp_proc.p_un.__p_starttime.tv_usec;
+- free(proc);
+- return starttime;
+-}
+-#elif defined(__OpenBSD__)
+-static PRTime
+-CalculateProcessCreationTimestamp()
+-{
+- int mib[6] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid(), sizeof(struct kinfo_proc), 1 };
+- size_t buffer_size;
+- if (sysctl(mib, 6, NULL, &buffer_size, NULL, 0))
++ KINFO_PROC proc;
++ size_t buffer_size = sizeof(proc);
++ if (sysctl(mib, miblen, &proc, &buffer_size, NULL, 0))
+ return 0;
+
+- struct kinfo_proc *proc = (struct kinfo_proc*) malloc(buffer_size);
+- if (sysctl(mib, 6, proc, &buffer_size, NULL, 0)) {
+- free(proc);
+- return 0;
+- }
+- PRTime starttime = static_cast<PRTime>(proc->p_ustart_sec) * PR_USEC_PER_SEC;
+- starttime += proc->p_ustart_usec;
+- free(proc);
++ PRTime starttime = static_cast<PRTime>(proc.KP_START_SEC) * PR_USEC_PER_SEC;
++ starttime += proc.KP_START_USEC;
+ return starttime;
+ }
+ #else
diff --git a/www/firefox/files/patch-bug791305 b/www/firefox/files/patch-bug791305
new file mode 100644
index 000000000000..534e7f2d9cac
--- /dev/null
+++ b/www/firefox/files/patch-bug791305
@@ -0,0 +1,107 @@
+commit c269a16
+Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
+Date: Fri Sep 14 15:54:55 2012 -0400
+
+ Bug 791305. Use libjpeg's color conversion code instead of our own. r=joe,r=khuey
+
+ libjpeg-turbo supports converting directly to a format compatible with cairo's
+ FORMAT_RGB24. Use that instead of our own handcoded function. This also gives
+ us SSE2 and NEON version of this function.
+
+ --HG--
+ extra : rebase_source : 18f48925f023a33ec2a097d4f4e5cc2ab40be1e9
+---
+ configure.in | 6 +-
+ image/decoders/nsJPEGDecoder.cpp | 311 ++-------------------------------------
+ 2 files changed, 20 insertions(+), 297 deletions(-)
+
+diff --git image/decoders/nsJPEGDecoder.cpp image/decoders/nsJPEGDecoder.cpp
+index c1fb515..1d2a259 100644
+--- image/decoders/nsJPEGDecoder.cpp
++++ image/decoders/nsJPEGDecoder.cpp
+@@ -22,6 +22,13 @@
+ extern "C" {
+ #include "iccjpeg.h"
+
++#ifdef JCS_EXTENSIONS
++#if defined(IS_BIG_ENDIAN)
++#define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_XRGB
++#else
++#define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_BGRX
++#endif
++#else
+ /* Colorspace conversion (copied from jpegint.h) */
+ struct jpeg_color_deconverter {
+ JMETHOD(void, start_pass, (j_decompress_ptr cinfo));
+@@ -34,6 +41,7 @@ METHODDEF(void)
+ ycc_rgb_convert_argb (j_decompress_ptr cinfo,
+ JSAMPIMAGE input_buf, JDIMENSION input_row,
+ JSAMPARRAY output_buf, int num_rows);
++#endif
+ }
+
+ static void cmyk_convert_rgb(JSAMPROW row, JDIMENSION width);
+@@ -329,7 +340,18 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount)
+ case JCS_GRAYSCALE:
+ case JCS_RGB:
+ case JCS_YCbCr:
++#ifdef JCS_EXTENSIONS
++ // if we're not color managing we can decode directly to
++ // MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB
++ if (mCMSMode != eCMSMode_All) {
++ mInfo.out_color_space = MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB;
++ mInfo.out_color_components = 4;
++ } else {
++ mInfo.out_color_space = JCS_RGB;
++ }
++#else
+ mInfo.out_color_space = JCS_RGB;
++#endif
+ break;
+ case JCS_CMYK:
+ case JCS_YCCK:
+@@ -397,6 +419,7 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount)
+ return; /* I/O suspension */
+ }
+
++#ifndef JCS_EXTENSIONS
+ /* Force to use our YCbCr to Packed RGB converter when possible */
+ if (!mTransform && (mCMSMode != eCMSMode_All) &&
+ mInfo.jpeg_color_space == JCS_YCbCr && mInfo.out_color_space == JCS_RGB) {
+@@ -404,6 +427,7 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount)
+ mInfo.out_color_components = 4; /* Packed ARGB pixels are always 4 bytes...*/
+ mInfo.cconvert->color_convert = ycc_rgb_convert_argb;
+ }
++#endif
+
+ /* If this is a progressive JPEG ... */
+ mState = mInfo.buffered_image ? JPEG_DECOMPRESS_PROGRESSIVE : JPEG_DECOMPRESS_SEQUENTIAL;
+@@ -542,7 +566,11 @@ nsJPEGDecoder::OutputScanlines(bool* suspend)
+ PRUint32 *imageRow = ((PRUint32*)mImageData) +
+ (mInfo.output_scanline * mInfo.output_width);
+
++#ifdef JCS_EXTENSIONS
++ if (mInfo.out_color_space == MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB) {
++#else
+ if (mInfo.cconvert->color_convert == ycc_rgb_convert_argb) {
++#endif
+ /* Special case: scanline will be directly converted into packed ARGB */
+ if (jpeg_read_scanlines(&mInfo, (JSAMPARRAY)&imageRow, 1) != 1) {
+ *suspend = true; /* suspend */
+@@ -858,6 +887,7 @@ term_source (j_decompress_ptr jd)
+ } // namespace mozilla
+
+
++#ifndef JCS_EXTENSIONS
+ /**************** YCbCr -> Cairo's RGB24/ARGB32 conversion: most common case **************/
+
+ /*
+@@ -1130,7 +1160,8 @@ ycc_rgb_convert_argb (j_decompress_ptr cinfo,
+ }
+ }
+ }
++#endif
+
+
+ /**************** Inverted CMYK -> RGB conversion **************/
+ /*
diff --git a/www/firefox/files/patch-bug791366 b/www/firefox/files/patch-bug791366
new file mode 100644
index 000000000000..2be866d928cd
--- /dev/null
+++ b/www/firefox/files/patch-bug791366
@@ -0,0 +1,95 @@
+diff --git xpcom/base/nsMemoryReporterManager.cpp xpcom/base/nsMemoryReporterManager.cpp
+index a9aff58..674e757 100644
+--- xpcom/base/nsMemoryReporterManager.cpp
++++ xpcom/base/nsMemoryReporterManager.cpp
+@@ -32,7 +32,7 @@ using namespace mozilla;
+ # include "jemalloc.h"
+ #endif // MOZ_MEMORY
+
+-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(SOLARIS)
++#ifdef XP_UNIX
+
+ #include <sys/time.h>
+ #include <sys/resource.h>
+@@ -95,6 +95,81 @@ static nsresult GetResident(PRInt64 *n)
+ return GetProcSelfStatmField(1, n);
+ }
+
++#elif defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
++
++#include <sys/param.h>
++#include <sys/sysctl.h>
++#if defined(__DragonFly__) || defined(__FreeBSD__)
++#include <sys/user.h>
++#endif
++
++#include <unistd.h>
++
++#if defined(__NetBSD__)
++#undef KERN_PROC
++#define KERN_PROC KERN_PROC2
++#define KINFO_PROC struct kinfo_proc2
++#else
++#define KINFO_PROC struct kinfo_proc
++#endif
++
++#if defined(__DragonFly__)
++#define KP_SIZE(kp) (kp.kp_vm_map_size)
++#define KP_RSS(kp) (kp.kp_vm_rssize * getpagesize())
++#elif defined(__FreeBSD__)
++#define KP_SIZE(kp) (kp.ki_size)
++#define KP_RSS(kp) (kp.ki_rssize * getpagesize())
++#elif defined(__NetBSD__)
++#define KP_SIZE(kp) (kp.p_vm_msize * getpagesize())
++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize())
++#elif defined(__OpenBSD__)
++#define KP_SIZE(kp) ((kp.p_vm_dsize + kp.p_vm_ssize \
++ + kp.p_vm_tsize) * getpagesize())
++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize())
++#endif
++
++static nsresult GetKinfoProcSelf(KINFO_PROC *proc)
++{
++ int mib[] = {
++ CTL_KERN,
++ KERN_PROC,
++ KERN_PROC_PID,
++ getpid(),
++#if defined(__NetBSD__) || defined(__OpenBSD__)
++ sizeof(KINFO_PROC),
++ 1,
++#endif
++ };
++ u_int miblen = sizeof(mib) / sizeof(mib[0]);
++ size_t size = sizeof(KINFO_PROC);
++ if (sysctl(mib, miblen, proc, &size, NULL, 0))
++ return NS_ERROR_FAILURE;
++
++ return NS_OK;
++}
++
++#define HAVE_VSIZE_AND_RESIDENT_REPORTERS 1
++static nsresult GetVsize(PRInt64 *n)
++{
++ KINFO_PROC proc;
++ nsresult rv = GetKinfoProcSelf(&proc);
++ if (NS_SUCCEEDED(rv))
++ *n = KP_SIZE(proc);
++
++ return rv;
++}
++
++static nsresult GetResident(PRInt64 *n)
++{
++ KINFO_PROC proc;
++ nsresult rv = GetKinfoProcSelf(&proc);
++ if (NS_SUCCEEDED(rv))
++ *n = KP_RSS(proc);
++
++ return rv;
++}
++
+ #elif defined(SOLARIS)
+
+ #include <procfs.h>
diff --git a/www/firefox/files/patch-config-baseconfig.mk b/www/firefox/files/patch-config-baseconfig.mk
new file mode 100644
index 000000000000..e6fd78f35e7b
--- /dev/null
+++ b/www/firefox/files/patch-config-baseconfig.mk
@@ -0,0 +1,16 @@
+--- config/baseconfig.mk~
++++ config/baseconfig.mk
+@@ -1,9 +1,9 @@
+ INCLUDED_AUTOCONF_MK = 1
+
+-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)
+-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
++includedir := $(includedir)/%%MOZILLA%%
++idldir = $(datadir)/idl/%%MOZILLA%%
++installdir = $(libdir)/%%MOZILLA%%
++sdkdir = $(libdir)/%%MOZILLA%%
+ DIST = $(DEPTH)/dist
+
+ # We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't
diff --git a/www/firefox/files/patch-content-media-nsAudioStream.cpp b/www/firefox/files/patch-content-media-nsAudioStream.cpp
new file mode 100644
index 000000000000..bd0f0d4963db
--- /dev/null
+++ b/www/firefox/files/patch-content-media-nsAudioStream.cpp
@@ -0,0 +1,14 @@
+--- content/media/nsAudioStream.cpp~
++++ content/media/nsAudioStream.cpp
+@@ -298,7 +298,11 @@ static int PrefChanged(const char* aPref
+ gVolumeScale = NS_MAX<double>(0, PR_strtod(utf8.get(), nsnull));
+ }
+ } else if (strcmp(aPref, PREF_USE_CUBEB) == 0) {
++#if defined(__FreeBSD__) && __FreeBSD_version < 800097
++ bool value = Preferences::GetBool(aPref, false);
++#else
+ bool value = Preferences::GetBool(aPref, true);
++#endif
+ mozilla::MutexAutoLock lock(*gAudioPrefsLock);
+ gUseCubeb = value;
+ } else if (strcmp(aPref, PREF_CUBEB_LATENCY) == 0) {
diff --git a/www/firefox/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp b/www/firefox/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp
new file mode 100644
index 000000000000..161feb2ca7b5
--- /dev/null
+++ b/www/firefox/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp
@@ -0,0 +1,15 @@
+--- extensions/spellcheck/hunspell/src/mozHunspell.cpp~
++++ extensions/spellcheck/hunspell/src/mozHunspell.cpp
+@@ -400,6 +400,12 @@ mozHunspell::LoadDictionaryList()
+ }
+ }
+
++ // load system hunspell dictionaries
++ nsIFile* hunDir;
++ NS_NewNativeLocalFile(NS_LITERAL_CSTRING("%%LOCALBASE%%/share/hunspell"),
++ true, &hunDir);
++ LoadDictionariesFromDir(hunDir);
++
+ // find dictionaries from extensions requiring restart
+ nsCOMPtr<nsISimpleEnumerator> dictDirs;
+ rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST,
diff --git a/www/seamonkey/pkg-deinstall.in b/www/firefox/files/pkg-deinstall.in
index 2544ee4ed3a2..2544ee4ed3a2 100644
--- a/www/seamonkey/pkg-deinstall.in
+++ b/www/firefox/files/pkg-deinstall.in
diff --git a/www/seamonkey/pkg-install.in b/www/firefox/files/pkg-install.in
index b2c8186701c4..b2c8186701c4 100644
--- a/www/seamonkey/pkg-install.in
+++ b/www/firefox/files/pkg-install.in
diff --git a/www/firefox/pkg-message b/www/firefox/pkg-message
index 541e7771f224..b282c9ce33a1 100644
--- a/www/firefox/pkg-message
+++ b/www/firefox/pkg-message
@@ -1,9 +1,9 @@
======================================================================
-smb:// issues (GNOMEVFS2 option):
+smb:// issues (Gvfs/GIO or GNOMEVFS2 option):
Network group, machine, and share browsing does not work correctly.
-sftp:// (GNOMEVFS2 option):
+sftp:// (Gvfs/GIO or GNOMEVFS2 option):
Only sftp access using public key authentication works. To easily
setup public key authentication to "remote_host":
diff --git a/www/kompozer/Makefile b/www/kompozer/Makefile
index 92f14d3e3ec4..9a1cc02ba665 100644
--- a/www/kompozer/Makefile
+++ b/www/kompozer/Makefile
@@ -16,6 +16,8 @@ DISTNAME= ${PORTNAME}-${DISTVERSION}-src
MAINTAINER= gecko@FreeBSD.org
COMMENT= Complete Web Authoring Suite
+BUILD_DEPENDS= nss>=3.13.6_1:${PORTSDIR}/security/nss
+
WANT_GNOME= yes
WANT_PERL= yes
USE_BZIP2= yes
@@ -44,7 +46,6 @@ NOT_FOR_ARCHS_REASON_ia64= does not build
OPTIONS_DEFINE:=${OPTIONS_DEFINE:NDBUS:NGIO:NLIBPROXY}
OPTIONS_SINGLE:=${OPTIONS_SINGLE:NAUDIO:NTOOLKIT}
-OPTIONS_MULTI_GNOME:=${OPTIONS_MULTI_GNOME:NGIO}
.include <bsd.port.pre.mk>
diff --git a/www/libxul/Makefile b/www/libxul/Makefile
index 27adaa856207..21d1f8eb2ed5 100644
--- a/www/libxul/Makefile
+++ b/www/libxul/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= libxul
-DISTVERSION= 10.0.7
+DISTVERSION= 10.0.8
CATEGORIES?= www devel
MASTER_SITES= ${MASTER_SITE_MOZILLA}
MASTER_SITE_SUBDIR= firefox/releases/${DISTVERSION}esr/source
@@ -16,7 +16,7 @@ MAINTAINER?= gecko@FreeBSD.org
COMMENT?= Mozilla runtime package that can be used to bootstrap XUL+XPCOM apps
BUILD_DEPENDS= nspr>=4.8.8:${PORTSDIR}/devel/nspr \
- nss>=3.13.1:${PORTSDIR}/security/nss \
+ nss>=3.13.6_1:${PORTSDIR}/security/nss \
sqlite3>=3.7.7.1:${PORTSDIR}/databases/sqlite3 \
cairo>=1.10.2_1,1:${PORTSDIR}/graphics/cairo \
unzip:${PORTSDIR}/archivers/unzip
@@ -49,6 +49,8 @@ PLIST_DIRSTRY= share/idl
MOZ_PKGCONFIG_FILES= libxul-embedding libxul mozilla-js \
mozilla-plugin
+OPTIONS_DEFAULT=GIO
+
.include "${.CURDIR}/../../www/firefox/Makefile.options"
.include <bsd.port.pre.mk>
diff --git a/www/libxul/distinfo b/www/libxul/distinfo
index 4302c68e47ba..83c24e982d11 100644
--- a/www/libxul/distinfo
+++ b/www/libxul/distinfo
@@ -1,2 +1,2 @@
-SHA256 (firefox-10.0.7esr.source.tar.bz2) = 91b0dab3168d75a4f157dabfdf6a95367cd3a8767298d88fb43be251f37f4423
-SIZE (firefox-10.0.7esr.source.tar.bz2) = 75624327
+SHA256 (firefox-10.0.8esr.source.tar.bz2) = e908c51761b0143b9f5e8b045b8c91b624357eee8786cd861028e1df60da52f9
+SIZE (firefox-10.0.8esr.source.tar.bz2) = 75620783
diff --git a/www/libxul/files/patch-bug543241 b/www/libxul/files/patch-bug543241
index 73db2c3a785e..7cc0736c14b6 100644
--- a/www/libxul/files/patch-bug543241
+++ b/www/libxul/files/patch-bug543241
@@ -1,5 +1,16 @@
--- ./xpcom/threads/nsThreadManager.cpp.orig 2011-08-25 02:37:45.000000000 +0200
+++ ./xpcom/threads/nsThreadManager.cpp 2011-08-28 17:14:14.000000000 +0200
+@@ -12,6 +12,10 @@
+ #include "nsAutoPtr.h"
+ #include "nsCycleCollectorUtils.h"
+
++#if defined(__FreeBSD__)
++#include <osreldate.h>
++#endif
++
+ using namespace mozilla;
+
+ #ifdef XP_WIN
@@ -89,6 +89,11 @@
nsresult
nsThreadManager::Init()
diff --git a/www/libxul/files/patch-bug696030 b/www/libxul/files/patch-bug696030
new file mode 100644
index 000000000000..6845651544d7
--- /dev/null
+++ b/www/libxul/files/patch-bug696030
@@ -0,0 +1,34 @@
+commit 5e354b9
+Author: Chris Coulson <chris.coulson@canonical.com>
+Date: Thu Jan 5 11:19:50 2012 +1300
+
+ Bug 696030 - Use MonitorAutoLock rather than MonitorAutoEnter in nsGIOProtocolHandler r=karlt
+
+ --HG--
+ extra : rebase_source : 6f3d1a49a07affab679e41cd8cf968d62c072299
+---
+ extensions/gio/nsGIOProtocolHandler.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git extensions/gio/nsGIOProtocolHandler.cpp extensions/gio/nsGIOProtocolHandler.cpp
+index 9347b6e..e8f153d 100644
+--- extensions/gio/nsGIOProtocolHandler.cpp
++++ extensions/gio/nsGIOProtocolHandler.cpp
+@@ -238,7 +238,7 @@ class nsGIOInputStream : public nsIInputStream
+ void
+ nsGIOInputStream::SetMountResult(MountOperationResult result, gint error_code)
+ {
+- mozilla::MonitorAutoEnter mon(mMonitorMountInProgress);
++ mozilla::MonitorAutoLock mon(mMonitorMountInProgress);
+ mMountRes = result;
+ mMountErrorCode = error_code;
+ mon.Notify();
+@@ -263,7 +263,7 @@ nsGIOInputStream::MountVolume() {
+ NULL,
+ mount_enclosing_volume_finished,
+ this);
+- mozilla::MonitorAutoEnter mon(mMonitorMountInProgress);
++ mozilla::MonitorAutoLock mon(mMonitorMountInProgress);
+ /* Waiting for finish of mount operation thread */
+ while (mMountRes == MOUNT_OPERATION_IN_PROGRESS)
+ mon.Wait();
diff --git a/www/libxul/files/patch-bug713802 b/www/libxul/files/patch-bug713802
new file mode 100644
index 000000000000..956ed1cc8e97
--- /dev/null
+++ b/www/libxul/files/patch-bug713802
@@ -0,0 +1,176 @@
+commit 20586fa
+Author: Karl Tomlinson <karlt+@karlt.net>
+Date: Thu Sep 27 18:35:06 2012 +1200
+
+ b=713802 default enable GIO support and disable GnomeVFS r=glandium
+
+ --HG--
+ extra : transplant_source : wk%ADr%CA%8EN%AE%C93p/p%0A%26%0E%1D0%F20
+---
+ browser/confvars.sh | 2 +-
+ configure.in | 20 ++++++++++----------
+ xulrunner/confvars.sh | 2 +-
+ 3 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git browser/confvars.sh browser/confvars.sh
+index 40ab494..eae5645 100755
+--- browser/confvars.sh
++++ browser/confvars.sh
+@@ -21,7 +21,7 @@ MOZ_SERVICES_AITC=1
+ MOZ_SERVICES_NOTIFICATIONS=1
+ MOZ_SERVICES_SYNC=1
+ MOZ_APP_VERSION=$FIREFOX_VERSION
+-MOZ_EXTENSIONS_DEFAULT=" gnomevfs"
++MOZ_EXTENSIONS_DEFAULT=" gio"
+ # MOZ_APP_DISPLAYNAME will be set by branding/configure.sh
+ # Changing MOZ_*BRANDING_DIRECTORY requires a clobber to ensure correct results,
+ # because branding dependencies are broken.
+--- browser/installer/package-manifest.in~
++++ browser/installer/package-manifest.in
+@@ -679,6 +679,10 @@ bin/libfreebl_32int64_3.so
+
+ ; [Extensions]
+ ;
++#ifdef MOZ_ENABLE_GIO
++bin/components/@DLL_PREFIX@nkgio@DLL_SUFFIX@
++#endif
++
+ #ifdef MOZ_ENABLE_GNOMEVFS
+ bin/components/@DLL_PREFIX@nkgnomevfs@DLL_SUFFIX@
+ #endif
+diff --git configure.in configure.in
+index 87a9391..2118651 100644
+--- configure.in
++++ configure.in
+@@ -4846,21 +4846,21 @@ dnl ========================================================
+
+ if test "$MOZ_X11"
+ then
+- dnl build the gnomevfs extension by default only when the
++ dnl build the GIO extension by default only when the
+ dnl GTK2 toolkit is in use.
+ if test "$MOZ_ENABLE_GTK2"
+ then
+- MOZ_ENABLE_GNOMEVFS=1
++ MOZ_ENABLE_GIO=1
+ MOZ_ENABLE_GCONF=1
+ fi
+
+ dnl ========================================================
+ dnl = GnomeVFS support module
+ dnl ========================================================
+- MOZ_ARG_DISABLE_BOOL(gnomevfs,
+- [ --disable-gnomevfs Disable GnomeVFS support ],
+- MOZ_ENABLE_GNOMEVFS=,
+- MOZ_ENABLE_GNOMEVFS=force)
++ MOZ_ARG_ENABLE_BOOL(gnomevfs,
++ [ --enable-gnomevfs Enable GnomeVFS support (default: disabled)],
++ MOZ_ENABLE_GNOMEVFS=force,
++ MOZ_ENABLE_GNOMEVFS=)
+
+ if test "$MOZ_ENABLE_GNOMEVFS"
+ then
+@@ -4884,10 +4884,10 @@ then
+ dnl ========================================================
+ dnl = GIO support module
+ dnl ========================================================
+- MOZ_ARG_ENABLE_BOOL(gio,
+- [ --enable-gio Enable GIO support (default: disabled)],
+- MOZ_ENABLE_GIO=force,
+- MOZ_ENABLE_GIO=)
++ MOZ_ARG_DISABLE_BOOL(gio,
++ [ --disable-gio Disable GIO support],
++ MOZ_ENABLE_GIO=,
++ MOZ_ENABLE_GIO=force)
+
+ if test "$MOZ_ENABLE_GIO" -a "$MOZ_ENABLE_GTK2"
+ then
+diff --git xulrunner/confvars.sh xulrunner/confvars.sh
+index 2fa6ead..5fe2c3d 100755
+--- xulrunner/confvars.sh
++++ xulrunner/confvars.sh
+@@ -10,5 +10,5 @@ MOZ_XULRUNNER=1
+ MOZ_CHROME_FILE_FORMAT=omni
+ MOZ_APP_VERSION=$MOZILLA_VERSION
+ MOZ_PLACES=1
+-MOZ_EXTENSIONS_DEFAULT=" gnomevfs"
++MOZ_EXTENSIONS_DEFAULT=" gio"
+ MOZ_URL_CLASSIFIER=1
+
+commit d884d75
+Author: Karl Tomlinson <karlt+@karlt.net>
+Date: Thu Sep 27 18:34:44 2012 +1200
+
+ b=713802 disable gnomevfs extension without --enable-gnomevfs r=glandium
+
+ --HG--
+ extra : transplant_source : i%07%81%E9%90_%C1%05b%194%9B%1E%93%FC%03%279%F9%8A
+---
+ configure.in | 12 +++---------
+ 1 file changed, 3 insertions(+), 9 deletions(-)
+
+diff --git configure.in configure.in
+index f2b4041..87a9391 100644
+--- configure.in
++++ configure.in
+@@ -4875,12 +4875,6 @@ then
+ fi
+ MOZ_ENABLE_GNOMEVFS=
+ ])
+- else
+- if test `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then
+- PKG_CHECK_MODULES(MOZ_GNOMEVFS, gnome-vfs-2.0 >= $GNOMEVFS_VERSION gnome-vfs-module-2.0 >= $GNOMEVFS_VERSION,[
+- MOZ_GNOMEVFS_LIBS=`echo $MOZ_GNOMEVFS_LIBS | sed 's/-llinc\>//'`
+- ])
+- fi
+ fi
+
+ AC_SUBST(MOZ_ENABLE_GNOMEVFS)
+@@ -5967,10 +5961,10 @@ MOZ_ARG_ENABLE_STRING(extensions,
+ done],
+ MOZ_EXTENSIONS="$MOZ_EXTENSIONS_DEFAULT")
+
+-if test -z "$MOZ_ENABLE_GNOMEVFS" -a -z "$MOZ_GNOMEVFS_LIBS" -a `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then
++if test -z "$MOZ_ENABLE_GNOMEVFS" -a `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then
+ # Suppress warning on non-X11 platforms
+ if test -n "$MOZ_X11"; then
+- AC_MSG_WARN([Cannot build gnomevfs without required libraries. Removing gnomevfs from MOZ_EXTENSIONS.])
++ AC_MSG_WARN([Removing gnomevfs from MOZ_EXTENSIONS due to no --enable-gnomevfs.])
+ fi
+ MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gnomevfs||'`
+ fi
+@@ -5983,7 +5977,7 @@ fi
+ if test -z "$MOZ_ENABLE_GIO" -a `echo "$MOZ_EXTENSIONS" | grep -c gio` -ne 0; then
+ # Suppress warning on non-X11 platforms
+ if test -n "$MOZ_X11"; then
+- AC_MSG_WARN([Cannot build gio without required libraries. Removing gio from MOZ_EXTENSIONS.])
++ AC_MSG_WARN([Removing gio from MOZ_EXTENSIONS due to --disable-gio.])
+ fi
+ MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gio||'`
+ fi
+
+commit ddedeea
+Author: Karl Tomlinson <karlt+@karlt.net>
+Date: Thu Sep 27 13:47:19 2012 +1200
+
+ b=713802 link gio extension against libxul for tracemalloc stack functions r=bsmedberg
+
+ --HG--
+ extra : transplant_source : %C8%A3o%BE%A0z%F7%C8%8A%E6%0E%D4s%7D%90%9C%D9%0F%06%7E
+---
+ extensions/gio/Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git extensions/gio/Makefile.in extensions/gio/Makefile.in
+index 46412c4..ccf2846 100644
+--- extensions/gio/Makefile.in
++++ extensions/gio/Makefile.in
+@@ -23,7 +23,7 @@ LOCAL_INCLUDES = $(MOZ_GIO_CFLAGS)
+
+ EXTRA_DSO_LDOPTS = \
+ $(XPCOM_GLUE_LDOPTS) \
+- $(NSPR_LIBS) \
++ $(MOZ_COMPONENT_LIBS) \
+ $(MOZ_GIO_LIBS) \
+ $(NULL)
+
diff --git a/www/libxul/files/patch-bug753046 b/www/libxul/files/patch-bug753046
index 48c16e5db2e1..c606ab1f58bc 100644
--- a/www/libxul/files/patch-bug753046
+++ b/www/libxul/files/patch-bug753046
@@ -451,7 +451,7 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread.h,v 1.1 2012/03/06 12:34:0
--- ipc/chromium/src/base/platform_thread.h.orig 2011-12-20 23:28:19.000000000 +0000
+++ ipc/chromium/src/base/platform_thread.h
-@@ -22,9 +22,11 @@ typedef void* PlatformThreadHandle; // HANDLE
+@@ -22,9 +22,12 @@ typedef void* PlatformThreadHandle; // HANDLE
#elif defined(OS_POSIX)
#include <pthread.h>
typedef pthread_t PlatformThreadHandle;
@@ -460,6 +460,7 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread.h,v 1.1 2012/03/06 12:34:0
#include <unistd.h>
typedef pid_t PlatformThreadId;
+#elif defined(OS_BSD)
++#include <sys/types.h>
+typedef lwpid_t PlatformThreadId;
#elif defined(OS_MACOSX)
#include <mach/mach.h>
diff --git a/www/libxul/files/patch-bug785638 b/www/libxul/files/patch-bug785638
deleted file mode 100644
index 6e1f63d64971..000000000000
--- a/www/libxul/files/patch-bug785638
+++ /dev/null
@@ -1,168 +0,0 @@
-diff --git configure.in configure.in
-index cef992b..3bd39ca 100644
---- configure.in
-+++ configure.in
-@@ -5353,22 +5353,6 @@ if test -n "$MOZ_VP8" -a -z "$MOZ_NATIVE_LIBVPX"; then
-
- dnl See if we have assembly on this platform.
- case "$OS_ARCH:$CPU_ARCH" in
-- Linux:x86)
-- VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
-- VPX_X86_ASM=1
-- ;;
-- Linux:x86_64)
-- VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
-- VPX_X86_ASM=1
-- ;;
-- SunOS:x86)
-- VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
-- VPX_X86_ASM=1
-- ;;
-- SunOS:x86_64)
-- VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
-- VPX_X86_ASM=1
-- ;;
- Darwin:x86)
- VPX_ASFLAGS="-f macho32 -rnasm -pnasm -DPIC"
- VPX_X86_ASM=1
-@@ -5412,6 +5388,19 @@ if test -n "$MOZ_VP8" -a -z "$MOZ_NATIVE_LIBVPX"; then
- VPX_ASM_SUFFIX="$ASM_SUFFIX"
- VPX_ARM_ASM=1
- fi
-+ ;;
-+ *:x86)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
-+ VPX_X86_ASM=1
-+ fi
-+ ;;
-+ *:x86_64)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
-+ VPX_X86_ASM=1
-+ fi
-+ ;;
- esac
-
- if test -n "$COMPILE_ENVIRONMENT" -a -n "$VPX_X86_ASM" -a -z "$VPX_AS"; then
-@@ -5843,22 +5832,6 @@ if test -n "$MOZ_LIBJPEG_TURBO"; then
-
- dnl Do we support libjpeg-turbo on this platform?
- case "$OS_ARCH:$OS_TEST" in
-- Linux:x86|Linux:i?86)
-- LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
-- LIBJPEG_TURBO_X86_ASM=1
-- ;;
-- Linux:x86_64)
-- LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
-- LIBJPEG_TURBO_X64_ASM=1
-- ;;
-- SunOS:i?86)
-- LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
-- LIBJPEG_TURBO_X86_ASM=1
-- ;;
-- SunOS:x86_64)
-- LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
-- LIBJPEG_TURBO_X64_ASM=1
-- ;;
- Darwin:i?86)
- LIBJPEG_TURBO_ASFLAGS="-f macho32 -rnasm -pnasm -DPIC -DMACHO"
- LIBJPEG_TURBO_X86_ASM=1
-@@ -5879,6 +5852,18 @@ if test -n "$MOZ_LIBJPEG_TURBO"; then
- LIBJPEG_TURBO_ASFLAGS="-march=armv7-a -mfpu=neon"
- LIBJPEG_TURBO_ARM_ASM=1
- ;;
-+ *:x86|*:i?86)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
-+ LIBJPEG_TURBO_X86_ASM=1
-+ fi
-+ ;;
-+ *:x86_64)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
-+ LIBJPEG_TURBO_X64_ASM=1
-+ fi
-+ ;;
- esac
-
- fi
-diff --git media/libvpx/update.sh media/libvpx/update.sh
-index 79e0fb1..51956af 100755
---- media/libvpx/update.sh
-+++ media/libvpx/update.sh
-@@ -363,12 +363,12 @@ cp $1/objdir/x86-win32-vs8/vpx_config.h vpx_config_x86-win32-vs8.h
- # Should be same for all platforms...
- cp $1/objdir/x86-win32-vs8/vpx_version.h vpx_version.h
-
--# Config files for x86-linux-gcc and Solaris x86
-+# Config files for x86-linux-gcc and other x86 elf platforms
- cp $1/objdir/x86-linux-gcc/vpx_config.c vpx_config_x86-linux-gcc.c
- cp $1/objdir/x86-linux-gcc/vpx_config.asm vpx_config_x86-linux-gcc.asm
- cp $1/objdir/x86-linux-gcc/vpx_config.h vpx_config_x86-linux-gcc.h
-
--# Config files for x86_64-linux-gcc and Solaris x86_64
-+# Config files for x86_64-linux-gcc and other x86_64 elf platforms
- cp $1/objdir/x86_64-linux-gcc/vpx_config.c vpx_config_x86_64-linux-gcc.c
- cp $1/objdir/x86_64-linux-gcc/vpx_config.asm vpx_config_x86_64-linux-gcc.asm
- cp $1/objdir/x86_64-linux-gcc/vpx_config.h vpx_config_x86_64-linux-gcc.h
-diff --git media/libvpx/vpx_config.h media/libvpx/vpx_config.h
-index 55433f3..36e1780 100644
---- media/libvpx/vpx_config.h
-+++ media/libvpx/vpx_config.h
-@@ -16,20 +16,12 @@
- /* 32 bit MacOS. */
- #include "vpx_config_x86-darwin9-gcc.h"
-
--#elif defined(__linux__) && defined(__i386__)
--/* 32 bit Linux. */
-+#elif defined(__ELF__) && (defined(__i386) || defined(__i386__))
-+/* 32 bit ELF platforms. */
- #include "vpx_config_x86-linux-gcc.h"
-
--#elif defined(__linux__) && defined(__x86_64__)
--/* 64 bit Linux. */
--#include "vpx_config_x86_64-linux-gcc.h"
--
--#elif defined(__sun) && defined(__i386)
--/* 32 bit Solaris. */
--#include "vpx_config_x86-linux-gcc.h"
--
--#elif defined(__sun) && defined(__x86_64)
--/* 64 bit Solaris. */
-+#elif defined(__ELF__) && (defined(__x86_64) || defined(__x86_64__))
-+/* 64 bit ELF platforms. */
- #include "vpx_config_x86_64-linux-gcc.h"
-
- #else
-diff --git media/libvpx/vpx_config_c.c media/libvpx/vpx_config_c.c
-index eedd515..c8b5375 100644
---- media/libvpx/vpx_config_c.c
-+++ media/libvpx/vpx_config_c.c
-@@ -12,22 +12,14 @@
- /* 32 bit MacOS. */
- #include "vpx_config_x86-darwin9-gcc.c"
-
--#elif defined(__linux__) && defined(__i386__)
--/* 32 bit Linux. */
-+#elif defined(__ELF__) && (defined(__i386) || defined(__i386__))
-+/* 32 bit ELF platforms. */
- #include "vpx_config_x86-linux-gcc.c"
-
--#elif defined(__linux__) && defined(__x86_64__)
--/* 64 bit Linux. */
-+#elif defined(__ELF__) && (defined(__x86_64) || defined(__x86_64__))
-+/* 64 bit ELF platforms. */
- #include "vpx_config_x86_64-linux-gcc.c"
-
--#elif defined(__sun) && defined(__i386)
--/* 32 bit Solaris. */
--#include "vpx_config_x86-linux-gcc.h"
--
--#elif defined(__sun) && defined(__x86_64)
--/* 64 bit Solaris. */
--#include "vpx_config_x86_64-linux-gcc.h"
--
- #elif defined(_MSC_VER) && defined(_M_X64)
- #include "vpx_config_x86_64-win64-vs8.c"
-
diff --git a/www/libxul/files/patch-bug789693 b/www/libxul/files/patch-bug789693
new file mode 100644
index 000000000000..dee137ab64fe
--- /dev/null
+++ b/www/libxul/files/patch-bug789693
@@ -0,0 +1,108 @@
+--- toolkit/components/startup/nsAppStartup.cpp
++++ toolkit/components/startup/nsAppStartup.cpp
+@@ -50,17 +50,40 @@
+ #include <sys/syscall.h>
+ #endif
+
+-#ifdef XP_MACOSX
++#if defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
++#include <sys/param.h>
+ #include <sys/sysctl.h>
+ #endif
+
+-#ifdef __OpenBSD__
+-#include <sys/param.h>
+-#include <sys/sysctl.h>
++#if defined(__DragonFly__) || defined(__FreeBSD__)
++#include <sys/user.h>
+ #endif
+
+ #include "mozilla/Telemetry.h"
+
++#if defined(__NetBSD__)
++#undef KERN_PROC
++#define KERN_PROC KERN_PROC2
++#define KINFO_PROC struct kinfo_proc2
++#else
++#define KINFO_PROC struct kinfo_proc
++#endif
++
++#if defined(XP_MACOSX)
++#define KP_START_SEC kp_proc.p_un.__p_starttime.tv_sec
++#define KP_START_USEC kp_proc.p_un.__p_starttime.tv_usec
++#elif defined(__DragonFly__)
++#define KP_START_SEC kp_start.tv_sec
++#define KP_START_USEC kp_start.tv_usec
++#elif defined(__FreeBSD__)
++#define KP_START_SEC ki_start.tv_sec
++#define KP_START_USEC ki_start.tv_usec
++#else
++#define KP_START_SEC p_ustart_sec
++#define KP_START_USEC p_ustart_usec
++#endif
++
+ static NS_DEFINE_CID(kAppShellCID, NS_APPSHELL_CID);
+
+ using namespace mozilla;
+@@ -836,42 +859,30 @@ CalculateProcessCreationTimestamp()
+ #endif
+ return timestamp;
+ }
+-#elif defined(XP_MACOSX)
++#elif defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
+ static PRTime
+ CalculateProcessCreationTimestamp()
+ {
+- int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid() };
+- size_t buffer_size;
+- if (sysctl(mib, 4, NULL, &buffer_size, NULL, 0))
+- return 0;
++ int mib[] = {
++ CTL_KERN,
++ KERN_PROC,
++ KERN_PROC_PID,
++ getpid(),
++#if defined(__NetBSD__) || defined(__OpenBSD__)
++ sizeof(KINFO_PROC),
++ 1,
++#endif
++ };
++ u_int miblen = sizeof(mib) / sizeof(mib[0]);
+
+- struct kinfo_proc *proc = (kinfo_proc*) malloc(buffer_size);
+- if (sysctl(mib, 4, proc, &buffer_size, NULL, 0)) {
+- free(proc);
+- return 0;
+- }
+- PRTime starttime = static_cast<PRTime>(proc->kp_proc.p_un.__p_starttime.tv_sec) * PR_USEC_PER_SEC;
+- starttime += proc->kp_proc.p_un.__p_starttime.tv_usec;
+- free(proc);
+- return starttime;
+-}
+-#elif defined(__OpenBSD__)
+-static PRTime
+-CalculateProcessCreationTimestamp()
+-{
+- int mib[6] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid(), sizeof(struct kinfo_proc), 1 };
+- size_t buffer_size;
+- if (sysctl(mib, 6, NULL, &buffer_size, NULL, 0))
++ KINFO_PROC proc;
++ size_t buffer_size = sizeof(proc);
++ if (sysctl(mib, miblen, &proc, &buffer_size, NULL, 0))
+ return 0;
+
+- struct kinfo_proc *proc = (struct kinfo_proc*) malloc(buffer_size);
+- if (sysctl(mib, 6, proc, &buffer_size, NULL, 0)) {
+- free(proc);
+- return 0;
+- }
+- PRTime starttime = static_cast<PRTime>(proc->p_ustart_sec) * PR_USEC_PER_SEC;
+- starttime += proc->p_ustart_usec;
+- free(proc);
++ PRTime starttime = static_cast<PRTime>(proc.KP_START_SEC) * PR_USEC_PER_SEC;
++ starttime += proc.KP_START_USEC;
+ return starttime;
+ }
+ #else
diff --git a/www/libxul/files/patch-bug791305 b/www/libxul/files/patch-bug791305
new file mode 100644
index 000000000000..534e7f2d9cac
--- /dev/null
+++ b/www/libxul/files/patch-bug791305
@@ -0,0 +1,107 @@
+commit c269a16
+Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
+Date: Fri Sep 14 15:54:55 2012 -0400
+
+ Bug 791305. Use libjpeg's color conversion code instead of our own. r=joe,r=khuey
+
+ libjpeg-turbo supports converting directly to a format compatible with cairo's
+ FORMAT_RGB24. Use that instead of our own handcoded function. This also gives
+ us SSE2 and NEON version of this function.
+
+ --HG--
+ extra : rebase_source : 18f48925f023a33ec2a097d4f4e5cc2ab40be1e9
+---
+ configure.in | 6 +-
+ image/decoders/nsJPEGDecoder.cpp | 311 ++-------------------------------------
+ 2 files changed, 20 insertions(+), 297 deletions(-)
+
+diff --git image/decoders/nsJPEGDecoder.cpp image/decoders/nsJPEGDecoder.cpp
+index c1fb515..1d2a259 100644
+--- image/decoders/nsJPEGDecoder.cpp
++++ image/decoders/nsJPEGDecoder.cpp
+@@ -22,6 +22,13 @@
+ extern "C" {
+ #include "iccjpeg.h"
+
++#ifdef JCS_EXTENSIONS
++#if defined(IS_BIG_ENDIAN)
++#define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_XRGB
++#else
++#define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_BGRX
++#endif
++#else
+ /* Colorspace conversion (copied from jpegint.h) */
+ struct jpeg_color_deconverter {
+ JMETHOD(void, start_pass, (j_decompress_ptr cinfo));
+@@ -34,6 +41,7 @@ METHODDEF(void)
+ ycc_rgb_convert_argb (j_decompress_ptr cinfo,
+ JSAMPIMAGE input_buf, JDIMENSION input_row,
+ JSAMPARRAY output_buf, int num_rows);
++#endif
+ }
+
+ static void cmyk_convert_rgb(JSAMPROW row, JDIMENSION width);
+@@ -329,7 +340,18 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount)
+ case JCS_GRAYSCALE:
+ case JCS_RGB:
+ case JCS_YCbCr:
++#ifdef JCS_EXTENSIONS
++ // if we're not color managing we can decode directly to
++ // MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB
++ if (mCMSMode != eCMSMode_All) {
++ mInfo.out_color_space = MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB;
++ mInfo.out_color_components = 4;
++ } else {
++ mInfo.out_color_space = JCS_RGB;
++ }
++#else
+ mInfo.out_color_space = JCS_RGB;
++#endif
+ break;
+ case JCS_CMYK:
+ case JCS_YCCK:
+@@ -397,6 +419,7 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount)
+ return; /* I/O suspension */
+ }
+
++#ifndef JCS_EXTENSIONS
+ /* Force to use our YCbCr to Packed RGB converter when possible */
+ if (!mTransform && (mCMSMode != eCMSMode_All) &&
+ mInfo.jpeg_color_space == JCS_YCbCr && mInfo.out_color_space == JCS_RGB) {
+@@ -404,6 +427,7 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount)
+ mInfo.out_color_components = 4; /* Packed ARGB pixels are always 4 bytes...*/
+ mInfo.cconvert->color_convert = ycc_rgb_convert_argb;
+ }
++#endif
+
+ /* If this is a progressive JPEG ... */
+ mState = mInfo.buffered_image ? JPEG_DECOMPRESS_PROGRESSIVE : JPEG_DECOMPRESS_SEQUENTIAL;
+@@ -542,7 +566,11 @@ nsJPEGDecoder::OutputScanlines(bool* suspend)
+ PRUint32 *imageRow = ((PRUint32*)mImageData) +
+ (mInfo.output_scanline * mInfo.output_width);
+
++#ifdef JCS_EXTENSIONS
++ if (mInfo.out_color_space == MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB) {
++#else
+ if (mInfo.cconvert->color_convert == ycc_rgb_convert_argb) {
++#endif
+ /* Special case: scanline will be directly converted into packed ARGB */
+ if (jpeg_read_scanlines(&mInfo, (JSAMPARRAY)&imageRow, 1) != 1) {
+ *suspend = true; /* suspend */
+@@ -858,6 +887,7 @@ term_source (j_decompress_ptr jd)
+ } // namespace mozilla
+
+
++#ifndef JCS_EXTENSIONS
+ /**************** YCbCr -> Cairo's RGB24/ARGB32 conversion: most common case **************/
+
+ /*
+@@ -1130,7 +1160,8 @@ ycc_rgb_convert_argb (j_decompress_ptr cinfo,
+ }
+ }
+ }
++#endif
+
+
+ /**************** Inverted CMYK -> RGB conversion **************/
+ /*
diff --git a/www/libxul/files/patch-bug791366 b/www/libxul/files/patch-bug791366
new file mode 100644
index 000000000000..08a9181a33a7
--- /dev/null
+++ b/www/libxul/files/patch-bug791366
@@ -0,0 +1,124 @@
+diff --git xpcom/base/nsMemoryReporterManager.cpp xpcom/base/nsMemoryReporterManager.cpp
+index a9aff58..674e757 100644
+--- xpcom/base/nsMemoryReporterManager.cpp
++++ xpcom/base/nsMemoryReporterManager.cpp
+@@ -64,7 +64,7 @@ extern void jemalloc_stats(jemalloc_stat
+ # endif // XP_LINUX
+ #endif // MOZ_MEMORY
+
+-#if defined(XP_LINUX) || defined(XP_MACOSX)
++#ifdef XP_UNIX
+
+ #include <sys/time.h>
+ #include <sys/resource.h>
+@@ -122,6 +122,78 @@ static PRInt64 GetResident()
+ return GetProcSelfStatmField(1);
+ }
+
++#elif defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
++
++#include <sys/param.h>
++#include <sys/sysctl.h>
++#if defined(__DragonFly__) || defined(__FreeBSD__)
++#include <sys/user.h>
++#endif
++
++#include <unistd.h>
++
++#if defined(__NetBSD__)
++#undef KERN_PROC
++#define KERN_PROC KERN_PROC2
++#define KINFO_PROC struct kinfo_proc2
++#else
++#define KINFO_PROC struct kinfo_proc
++#endif
++
++#if defined(__DragonFly__)
++#define KP_SIZE(kp) (kp.kp_vm_map_size)
++#define KP_RSS(kp) (kp.kp_vm_rssize * getpagesize())
++#elif defined(__FreeBSD__)
++#define KP_SIZE(kp) (kp.ki_size)
++#define KP_RSS(kp) (kp.ki_rssize * getpagesize())
++#elif defined(__NetBSD__)
++#define KP_SIZE(kp) (kp.p_vm_msize * getpagesize())
++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize())
++#elif defined(__OpenBSD__)
++#define KP_SIZE(kp) ((kp.p_vm_dsize + kp.p_vm_ssize \
++ + kp.p_vm_tsize) * getpagesize())
++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize())
++#endif
++
++static nsresult GetKinfoProcSelf(KINFO_PROC *proc)
++{
++ int mib[] = {
++ CTL_KERN,
++ KERN_PROC,
++ KERN_PROC_PID,
++ getpid(),
++#if defined(__NetBSD__) || defined(__OpenBSD__)
++ sizeof(KINFO_PROC),
++ 1,
++#endif
++ };
++ u_int miblen = sizeof(mib) / sizeof(mib[0]);
++ size_t size = sizeof(KINFO_PROC);
++ if (sysctl(mib, miblen, proc, &size, NULL, 0))
++ return NS_ERROR_FAILURE;
++
++ return NS_OK;
++}
++
++static PRInt64 GetVsize()
++{
++ KINFO_PROC proc;
++ if (NS_SUCCEEDED(GetKinfoProcSelf(&proc)))
++ return KP_SIZE(proc);
++
++ return -1;
++}
++
++static PRInt64 GetResident()
++{
++ KINFO_PROC proc;
++ if (NS_SUCCEEDED(GetKinfoProcSelf(&proc)))
++ return KP_RSS(proc);
++
++ return -1;
++}
++
+ #elif defined(XP_MACOSX)
+
+ #include <mach/mach_init.h>
+@@ -224,7 +297,7 @@ static PRInt64 GetResident()
+
+ #endif
+
+-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(XP_WIN)
++#if defined(XP_UNIX) || defined(XP_WIN)
+ NS_MEMORY_REPORTER_IMPLEMENT(Vsize,
+ "vsize",
+ KIND_OTHER,
+@@ -239,7 +312,7 @@ NS_MEMORY_REPORTER_IMPLEMENT(Vsize,
+ "measure of the memory resources used by the process.")
+ #endif
+
+-#if defined(XP_LINUX) || defined(XP_MACOSX)
++#if defined(XP_UNIX)
+ NS_MEMORY_REPORTER_IMPLEMENT(PageFaultsSoft,
+ "page-faults-soft",
+ KIND_OTHER,
+@@ -457,11 +530,11 @@ nsMemoryReporterManager::Init()
+ REGISTER(HeapUnallocated);
+ REGISTER(Resident);
+
+-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(XP_WIN)
++#if defined(XP_UNIX) || defined(XP_WIN)
+ REGISTER(Vsize);
+ #endif
+
+-#if defined(XP_LINUX) || defined(XP_MACOSX)
++#if defined(XP_UNIX)
+ REGISTER(PageFaultsSoft);
+ REGISTER(PageFaultsHard);
+ #endif
diff --git a/www/libxul/files/patch-clang32-libc++-visibility-hack b/www/libxul/files/patch-clang32-libc++-visibility-hack
deleted file mode 100644
index ccada32cbee3..000000000000
--- a/www/libxul/files/patch-clang32-libc++-visibility-hack
+++ /dev/null
@@ -1,38 +0,0 @@
---- configure.in~
-+++ configure.in
-@@ -2855,6 +2855,7 @@ EOF
- #pragma GCC visibility push(hidden)
- #pragma GCC visibility push(default)
- #include <string.h>
-+#include <iterator>
- #pragma GCC visibility pop
-
- __attribute__ ((visibility ("default"))) void Func() {
-@@ -2863,7 +2864,7 @@ __attribute__ ((visibility ("default"))) void Func() {
- }
- EOF
- ac_cv_have_visibility_builtin_bug=no
-- if ! ${CC-cc} ${CFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
-+ if ! ${CXX-c++} ${CXXFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
- ac_cv_have_visibility_builtin_bug=yes
- else
- if test `grep -c "@PLT" conftest.S` = 0; then
---- js/src/configure.in~
-+++ js/src/configure.in
-@@ -2855,6 +2855,7 @@ EOF
- #pragma GCC visibility push(hidden)
- #pragma GCC visibility push(default)
- #include <string.h>
-+#include <iterator>
- #pragma GCC visibility pop
-
- __attribute__ ((visibility ("default"))) void Func() {
-@@ -2863,7 +2864,7 @@ __attribute__ ((visibility ("default"))) void Func() {
- }
- EOF
- ac_cv_have_visibility_builtin_bug=no
-- if ! ${CC-cc} ${CFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
-+ if ! ${CXX-c++} ${CXXFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
- ac_cv_have_visibility_builtin_bug=yes
- else
- if test `grep -c "@PLT" conftest.S` = 0; then
diff --git a/www/libxul/files/patch-clang32-visibility-hack b/www/libxul/files/patch-clang32-visibility-hack
new file mode 100644
index 000000000000..7744fed5e17e
--- /dev/null
+++ b/www/libxul/files/patch-clang32-visibility-hack
@@ -0,0 +1,20 @@
+--- configure.in~
++++ configure.in
+@@ -3230,6 +3230,7 @@ EOF
+ ac_cv_have_visibility_class_bug,
+ [cat > conftest.c <<EOF
+ #pragma GCC visibility push(hidden)
++struct TestStruct;
+ struct __attribute__ ((visibility ("default"))) TestStruct {
+ static void Init();
+ };
+--- js/src/configure.in~
++++ js/src/configure.in
+@@ -3230,6 +3230,7 @@ EOF
+ ac_cv_have_visibility_class_bug,
+ [cat > conftest.c <<EOF
+ #pragma GCC visibility push(hidden)
++struct TestStruct;
+ struct __attribute__ ((visibility ("default"))) TestStruct {
+ static void Init();
+ };
diff --git a/www/libxul/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp b/www/libxul/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp
new file mode 100644
index 000000000000..419955d77ff1
--- /dev/null
+++ b/www/libxul/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp
@@ -0,0 +1,15 @@
+--- extensions/spellcheck/hunspell/src/mozHunspell.cpp~
++++ extensions/spellcheck/hunspell/src/mozHunspell.cpp
+@@ -400,6 +400,12 @@ mozHunspell::LoadDictionaryList()
+ }
+ }
+
++ // load system hunspell dictionaries
++ nsIFile* hunDir;
++ NS_NewNativeLocalFile(NS_LITERAL_CSTRING("%%LOCALBASE%%/share/hunspell"),
++ true, (nsILocalFile**)&hunDir);
++ LoadDictionariesFromDir(hunDir);
++
+ // find dictionaries from extensions requiring restart
+ nsCOMPtr<nsISimpleEnumerator> dictDirs;
+ rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST,
diff --git a/www/libxul19/Makefile b/www/libxul19/Makefile
index 337602259376..ec4a35eb5315 100644
--- a/www/libxul19/Makefile
+++ b/www/libxul19/Makefile
@@ -16,6 +16,9 @@ DISTNAME= firefox-3.6.28.source
MAINTAINER?= gecko@FreeBSD.org
COMMENT?= Mozilla runtime package that can be used to bootstrap XUL+XPCOM apps
+BUILD_DEPENDS= nspr>=4.8.6:${PORTSDIR}/devel/nspr \
+ nss>=3.13.6_1:${PORTSDIR}/security/nss
+
WRKSRC= ${WRKDIR}/mozilla-1.9.2
CONFLICTS= mozilla-[0-9]* libxul-[0-9][0-9].*
GECKO_PLIST_PRE_DIRS= lib/${MOZILLA}/bin lib/${MOZILLA}/idl \
@@ -23,7 +26,6 @@ GECKO_PLIST_PRE_DIRS= lib/${MOZILLA}/bin lib/${MOZILLA}/idl \
LATEST_LINK= libxul19
USE_AUTOTOOLS= autoconf213:env
-USE_GCC= any
WANT_GNOME= yes
WANT_PERL= yes
ALL_TARGET= default
@@ -52,7 +54,7 @@ JAVA_DESC?= JAVA xpcom
.include "${.CURDIR}/../../www/firefox/Makefile.options"
-OPTIONS_DEFINE:=${OPTIONS_DEFINE:NLIBPROXY}
+OPTIONS_DEFINE:=${OPTIONS_DEFINE:NLIBPROXY:NGIO}
OPTIONS_SINGLE:=${OPTIONS_SINGLE:NTOOLKIT}
.include <bsd.port.pre.mk>
diff --git a/www/libxul19/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp b/www/libxul19/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp
new file mode 100644
index 000000000000..ef4484ea6eb9
--- /dev/null
+++ b/www/libxul19/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp
@@ -0,0 +1,15 @@
+--- extensions/spellcheck/hunspell/src/mozHunspell.cpp~
++++ extensions/spellcheck/hunspell/src/mozHunspell.cpp
+@@ -344,6 +344,12 @@ mozHunspell::LoadDictionaryList()
+ }
+ }
+
++ // load system hunspell dictionaries
++ nsIFile* hunDir;
++ NS_NewNativeLocalFile(NS_LITERAL_CSTRING("%%LOCALBASE%%/share/hunspell"),
++ true, (nsILocalFile**)&hunDir);
++ LoadDictionariesFromDir(hunDir);
++
+ nsCOMPtr<nsISimpleEnumerator> dictDirs;
+ rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST,
+ NS_GET_IID(nsISimpleEnumerator), getter_AddRefs(dictDirs));
diff --git a/www/linux-firefox/Makefile b/www/linux-firefox/Makefile
index 145971ae36ce..1b8da33de364 100644
--- a/www/linux-firefox/Makefile
+++ b/www/linux-firefox/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= firefox
-PORTVERSION= 10.0.7
+PORTVERSION= 10.0.8
PORTEPOCH= 1
CATEGORIES= www
MASTER_SITE_SUBDIR?= firefox/releases/${PORTVERSION}esr/linux-i686/en-US
diff --git a/www/linux-firefox/distinfo b/www/linux-firefox/distinfo
index 748be6da7f14..3ee04f49ed45 100644
--- a/www/linux-firefox/distinfo
+++ b/www/linux-firefox/distinfo
@@ -1,2 +1,2 @@
-SHA256 (firefox-10.0.7esr.tar.bz2) = 86d7b4eacead16e34cd58631c84a15d67dcdf8ef457ed6a140e2abe76fe703a8
-SIZE (firefox-10.0.7esr.tar.bz2) = 17303135
+SHA256 (firefox-10.0.8esr.tar.bz2) = 2996117c8370835a8cccb4dabf3c77779d405301d2e0fc36805f8d58592a7b16
+SIZE (firefox-10.0.8esr.tar.bz2) = 17302746
diff --git a/www/linux-seamonkey/Makefile b/www/linux-seamonkey/Makefile
index d4f29ec5f169..8fd8dd61b5bc 100644
--- a/www/linux-seamonkey/Makefile
+++ b/www/linux-seamonkey/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= seamonkey
-PORTVERSION= 2.12
+PORTVERSION= 2.13
CATEGORIES= www
MASTER_SITE_SUBDIR= ${PORTNAME}/releases/${PORTVERSION}/linux-i686/en-US
diff --git a/www/linux-seamonkey/distinfo b/www/linux-seamonkey/distinfo
index de0c2dd6f305..d40dae1dbbbc 100644
--- a/www/linux-seamonkey/distinfo
+++ b/www/linux-seamonkey/distinfo
@@ -1,2 +1,2 @@
-SHA256 (seamonkey-2.12.tar.bz2) = 52854628b4324ca27f2b5f5f5a1794ae4559eea03dfc000350973a0bc96c071f
-SIZE (seamonkey-2.12.tar.bz2) = 22987660
+SHA256 (seamonkey-2.13.tar.bz2) = f9db50cf91182994c3c95e234aa11036e41e3733cea87e450aca0aed6a501391
+SIZE (seamonkey-2.13.tar.bz2) = 23351370
diff --git a/www/seamonkey-i18n/Makefile b/www/seamonkey-i18n/Makefile
index 0cf75dadc806..0f03a0182a60 100644
--- a/www/seamonkey-i18n/Makefile
+++ b/www/seamonkey-i18n/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= seamonkey-i18n
-PORTVERSION= 2.12.1
+PORTVERSION= 2.13
CATEGORIES= www
MASTER_SITE_SUBDIR= seamonkey/releases/${PORTVERSION}/langpack
PKGNAMEPREFIX=
@@ -22,7 +22,7 @@ PLIST?= ${WRKDIR}/plist
PLISTD?= ${WRKDIR}/plist_dirs
PLISTF?= ${WRKDIR}/plist_files
-USE_SEAMONKEY= 12
+USE_SEAMONKEY= 13
USE_XPI= seamonkey linux-seamonkey
USE_SUBMAKE= yes
diff --git a/www/seamonkey-i18n/distinfo b/www/seamonkey-i18n/distinfo
index c942ec0c8424..e72682cdd88f 100644
--- a/www/seamonkey-i18n/distinfo
+++ b/www/seamonkey-i18n/distinfo
@@ -1,46 +1,46 @@
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.ca.langpack.xpi) = 871b1e7b1dc33e1d7922abc9c6ba6eb222c3bcffe515eb8a7e84a635b8bb4a4b
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.ca.langpack.xpi) = 758728
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.cs.langpack.xpi) = 01d1b69cb79027aea8ea80651b0c7b30582b11d3434beb6bc9bff1221f74b888
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.cs.langpack.xpi) = 824462
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.de.langpack.xpi) = 550afd1c4ef5b1e0c4d4cac34e7a9dd918a47ff4ba94c330592f6bf70b81322d
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.de.langpack.xpi) = 799408
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.en-GB.langpack.xpi) = 251fc20c7a2eac4a575727016898852330dcd07e8509e4e85363527042a3524c
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.en-GB.langpack.xpi) = 794977
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.en-US.langpack.xpi) = 6be016f4d4b53d7f3d7dcff566b70379f46c86505f342a6d5635f28f372365db
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.en-US.langpack.xpi) = 739906
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.es-AR.langpack.xpi) = ce93eccdc887bd64ae62ac402bdb98ddef4e0759ad89aaf5c8470d0a06630a8b
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.es-AR.langpack.xpi) = 840166
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.es-ES.langpack.xpi) = b867ce3004dd666227e88eaee7e1646a84522f29cea8c27b631537781f8b0a91
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.es-ES.langpack.xpi) = 787253
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.fi.langpack.xpi) = 532f6754878b0d408273c4aad54814d446697809b23e0f8351e553ffa5356178
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.fi.langpack.xpi) = 817770
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.fr.langpack.xpi) = 197e2427a7779d555c74ea74e7402926cf53f17889e2621e19847c9e7d8a1be2
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.fr.langpack.xpi) = 816962
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.hu.langpack.xpi) = 268dd9f0c77b6949a00f8b100e80356ec4c4df68fa2752f2c7148ae9636adb5e
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.hu.langpack.xpi) = 801909
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.it.langpack.xpi) = bcd5ef97b79b2dbea9611c3c2b96c7c60c443f4f9e7cfb120a146e2258d77ad0
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.it.langpack.xpi) = 736600
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.ja-JP-mac.langpack.xpi) = 455769e77155093e38aebd318bf02f82de1ecfce63df5eac560830d819c41069
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.ja-JP-mac.langpack.xpi) = 899213
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.ja.langpack.xpi) = ab47aca10ac711a5bc31b8b5d00fd2f652124d58d7198b301c05580197e07da8
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.ja.langpack.xpi) = 874587
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.lt.langpack.xpi) = 4f29505d4ba61e0c43bd66ec0440956488a9e3feb1a1361298d328a8a2eaa4e9
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.lt.langpack.xpi) = 930504
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.nb-NO.langpack.xpi) = bbbf2f6ac86a266833e857cb1a6e89f3c92faae4d049f34e086deb145c59dfcf
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.nb-NO.langpack.xpi) = 813442
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.nl.langpack.xpi) = a8cd29da47254656f23f062d83df785a28e7efdc88b4ec69df7544d144da92bd
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.nl.langpack.xpi) = 812798
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.pl.langpack.xpi) = 018d411c7b2fc2faec9ae8d538f14bb6acdf7d2acf222a4ef96d8998aa568534
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.pl.langpack.xpi) = 821808
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.pt-PT.langpack.xpi) = 4590689bd241614967a4f350d4d0fd8c699d5f0ece436ee766a446657228ee7f
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.pt-PT.langpack.xpi) = 851396
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.ru.langpack.xpi) = 4c41ca90a9e196292b34b629222b7d080311d3cdaa2bd02447e439f1d4c5b8c9
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.ru.langpack.xpi) = 864619
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.sk.langpack.xpi) = 0d78b36826b523630f5b1d19cce16cf3405e917f68ce81f8c06a9b6cc85b6b87
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.sk.langpack.xpi) = 797603
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.sv-SE.langpack.xpi) = 1c6a39b6401e2531bf4074d71ddf9b46ac512d6cdf44050ff436e4f1ab3d336e
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.sv-SE.langpack.xpi) = 839344
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.tr.langpack.xpi) = 12dfba8f00cfbd986557bd1d6a3b7d2afa42bbbba0dceec4c922608afb880a8f
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.tr.langpack.xpi) = 818974
-SHA256 (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.uk.langpack.xpi) = 2129693123145ca3f293ba78f4d5daee21809788684d1b7424fd24cd8cacc1bc
-SIZE (xpi/seamonkey-i18n-2.12.1/seamonkey-2.12.1.uk.langpack.xpi) = 883901
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.ca.langpack.xpi) = ff340266c851f4b7c54d64c6449d5da43757c3b4754746de08f047b5cf321bea
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.ca.langpack.xpi) = 764168
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.cs.langpack.xpi) = 34eb53b4f3afe2e68ae2c634033cdca4da7eaf954c9bf76223798d5f252fcb4e
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.cs.langpack.xpi) = 777294
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.de.langpack.xpi) = aaec0a3bac8b45e6df2c94dee94e04975d9b0e1cd0db879a6502eb9e226df6e1
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.de.langpack.xpi) = 798915
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.en-GB.langpack.xpi) = 4976f28dfd7ecc2f80a3b1017c18adc8d2de699e6adab8f3ed016998a040533b
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.en-GB.langpack.xpi) = 795991
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.en-US.langpack.xpi) = b856a1286425d1c7308bbd8946986dc0a3d565a716ee20901c7eedeb72b8996c
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.en-US.langpack.xpi) = 745767
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.es-AR.langpack.xpi) = cd8acb4096a6e2dbf616ed4ec1920605787f89064b43af2ddae03fc112cd5820
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.es-AR.langpack.xpi) = 840121
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.es-ES.langpack.xpi) = 2d3d84c45821ae7f1557d62e1186213183bae291d0c75b7ab0e2c9eb27fef97b
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.es-ES.langpack.xpi) = 790855
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.fi.langpack.xpi) = 93014c1a526ca1d6c9721d80eeea36bc966895ff33728ae0820e31b0c6c0bead
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.fi.langpack.xpi) = 818063
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.fr.langpack.xpi) = 8e0e1357dfa31bce4a7ec32a7ed95e78acb9d110ed64673b61c2b80514707592
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.fr.langpack.xpi) = 821612
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.hu.langpack.xpi) = 41eb473b4d2862d9075e32f1ce5667516611d9eae11a6a662e27febd12133017
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.hu.langpack.xpi) = 807443
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.it.langpack.xpi) = 68adba886d7553d0bfa2f595d33454ae0f6764b58bcb642252ac3b850d25facf
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.it.langpack.xpi) = 740095
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.ja-JP-mac.langpack.xpi) = 30d244083b0cfa1dd8af712169c21df81d9efd13307672e4e05118b47386e07d
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.ja-JP-mac.langpack.xpi) = 847021
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.ja.langpack.xpi) = c2980f76a21fa56625f62c04560c7962dd1aa3505c6eb872ba705c3ccdc84939
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.ja.langpack.xpi) = 822314
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.lt.langpack.xpi) = 895d739eb250768df539da35b3dfe72ca5179d647d02257134fc5069812883cb
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.lt.langpack.xpi) = 922674
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.nb-NO.langpack.xpi) = 65a6476b4fca1290dc2d84b5391e94e4a958fa5dfb95fe72848352f1c38f79c3
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.nb-NO.langpack.xpi) = 806714
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.nl.langpack.xpi) = a4e8e8c8c28a7029d85d47d368e0f82197495ab64f5fb3f52a6688f809919e94
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.nl.langpack.xpi) = 813844
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.pl.langpack.xpi) = a3865d15f31351bb8b96f6e7bf190eb48e7beafa4679c77ea50514136e2a9692
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.pl.langpack.xpi) = 801731
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.pt-PT.langpack.xpi) = 7c28d0556f92e8142545d701def46d83f0e6ebb594bf28f0dbb31cd648e3e807
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.pt-PT.langpack.xpi) = 852497
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.ru.langpack.xpi) = 0ab6cbaa4b4532014abbc6f37482dd893cfc70c74f32faf8acc061cd1707d83b
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.ru.langpack.xpi) = 868945
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.sk.langpack.xpi) = 3f0be378698f6034d9cf854c5d77ef7f54a3a01adfd1682e91ceb482f9c933f0
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.sk.langpack.xpi) = 803212
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.sv-SE.langpack.xpi) = e71b406e6c876e4dc160a68103d40c50f2651be61592ff875bca0039ba8f0a58
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.sv-SE.langpack.xpi) = 840531
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.tr.langpack.xpi) = e83426d253cbe1d312de2e43914d35e09c4d87c35ea9d2a69dff19562342acc1
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.tr.langpack.xpi) = 827524
+SHA256 (xpi/seamonkey-i18n-2.13/seamonkey-2.13.uk.langpack.xpi) = 96eb66046d9fe574b8e9ba50730a9159caf7afa9caff1bc8bb8607f8da26f603
+SIZE (xpi/seamonkey-i18n-2.13/seamonkey-2.13.uk.langpack.xpi) = 892596
diff --git a/www/seamonkey/Makefile b/www/seamonkey/Makefile
index 7bc4d9d1e010..84a5621ecfd0 100644
--- a/www/seamonkey/Makefile
+++ b/www/seamonkey/Makefile
@@ -6,21 +6,24 @@
#
PORTNAME= seamonkey
-DISTVERSION= 2.12.1
+DISTVERSION= 2.13
CATEGORIES?= www ipv6
MASTER_SITES= ${MASTER_SITE_MOZILLA_EXTENDED}
MASTER_SITE_SUBDIR= seamonkey/releases/${DISTVERSION}/source
-DISTNAME= seamonkey-${DISTVERSION}.source
+DISTFILES= seamonkey-${DISTVERSION}.source${EXTRACT_SUFX}
+EXTRACT_ONLY= seamonkey-${DISTVERSION}.source${EXTRACT_SUFX}
MAINTAINER= gecko@FreeBSD.org
COMMENT= The open source, standards compliant web browser
BUILD_DEPENDS= nspr>=4.9:${PORTSDIR}/devel/nspr \
- nss>=3.13.2:${PORTSDIR}/security/nss \
+ nss>=3.13.6_1:${PORTSDIR}/security/nss \
sqlite3>=3.7.12.1:${PORTSDIR}/databases/sqlite3 \
${PYTHON_SITELIBDIR}/_sqlite3.so:${PORTSDIR}/databases/py-sqlite3 \
unzip:${PORTSDIR}/archivers/unzip
+EM_VERSION= 1.4.5
+
USE_AUTOTOOLS= autoconf213:env
USE_PYTHON_BUILD=yes
USE_BZIP2= yes
@@ -45,8 +48,8 @@ MOZ_PKGCONFIG_FILES=
NOT_FOR_ARCHS= ia64
-OPTIONS_DEFINE= CHATZILLA COMPOSER GSTREAMER LDAP LIGHTNING MAILNEWS
-OPTIONS_DEFAULT=CHATZILLA COMPOSER LDAP MAILNEWS
+OPTIONS_DEFINE= CHATZILLA COMPOSER ENIGMAIL GSTREAMER LDAP LIGHTNING MAILNEWS
+OPTIONS_DEFAULT=CHATZILLA COMPOSER ENIGMAIL GIO LDAP LIGHTNING MAILNEWS
CHATZILLA_DESC?=Chatzilla IRC module
COMPOSER_DESC?= HTML Composer module
@@ -54,11 +57,16 @@ LDAP_DESC?= LDAP support for Mailnews
MAILNEWS_DESC?= Mail and News modules
.include "${.CURDIR}/../../www/firefox/Makefile.options"
+
+OPTIONS_DEFAULT:=${OPTIONS_DEFAULT:S/OSS/ALSA/}
+
.include <bsd.port.pre.mk>
WRKSRC= ${WRKDIR}/comm-release
MOZSRC:= ${WRKSRC}/mozilla
+XPI_LIBDIR= ${PREFIX}/lib/xpi
+
.if ${ARCH} == amd64
CONFIGURE_TARGET=x86_64-portbld-freebsd${OSREL}
.elif ${ARCH} == powerpc64
@@ -81,6 +89,19 @@ MOZ_OPTIONS+= --disable-ldap --enable-mailnews
.else
MOZ_OPTIONS+= --enable-ldap --enable-mailnews
.endif
+.if ${PORT_OPTIONS:MENIGMAIL}
+MASTER_SITES+= http://www.enigmail.net/download/source/:enigmail
+DISTFILES+= ${EM_DISTFILE}:enigmail
+RUN_DEPENDS+= gpg:${PORTSDIR}/security/gnupg
+EM_DISTNAME= enigmail-${EM_VERSION}
+EM_DISTFILE= ${EM_DISTNAME}.tar.gz
+EM_XPI_FILE= ${MOZ_OBJDIR}/mozilla/dist/bin/${EM_DISTNAME}-freebsd-${ARCH:S/amd64/x86_64/}.xpi
+EM_ORIG_ID= {847b3a00-7ab1-11d4-8f02-006008948af5}
+EM_ID= ${PORTNAME}@mozilla-enigmail.org
+EM_ID_RFILES= ${XPI_LIBDIR}/${EM_ID}/install.rdf \
+ ${XPI_LIBDIR}/${EM_ID}/components/enigmail.js \
+ ${XPI_LIBDIR}/${EM_ID}/modules/enigmailCommon.jsm
+.endif
.endif
.if ${PORT_OPTIONS:MCHATZILLA}
MOZ_EXTENSIONS:= ${MOZ_EXTENSIONS},irc
@@ -99,13 +120,18 @@ MOZ_OPTIONS+= --enable-calendar
MOZ_MK_OPTIONS+= MOZ_CO_PROJECT=calendar
LIGHTNING_DIR= share/lightning
XPI_FILE= ${MOZ_OBJDIR}/mozilla/dist/xpi-stage/lightning.xpi
-XPI_LIBDIR= ${PREFIX}/lib/xpi
XPI_ORIG_ID= {e2fda1a4-762b-4020-b5ad-a41df1933103}
XPI_ID= lightning@seamonkey.mozilla.org
.else
MOZ_OPTIONS+= --disable-calendar
.endif
+.if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL}
+post-extract:
+ @${TAR} -xf ${_DISTDIR}/${EM_DISTFILE} \
+ -C ${WRKSRC}/mailnews/extensions
+.endif
+
post-patch:
@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
${WRKSRC}/suite/app/nsSuiteApp.cpp
@@ -114,11 +140,30 @@ post-patch:
@${SED} -e 's|%%MOZILLA%%|${MOZILLA}|g' \
< ${FILESDIR}/seamonkey.desktop.in > \
${WRKDIR}/${MOZILLA}.desktop
+.if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL}
+ @${REINPLACE_CMD} -e 's,/usr/bin/perl,${PERL},' \
+ ${WRKSRC}/mailnews/extensions/enigmail/makemake
+ @${REINPLACE_CMD} -e '/^xpi/s/$$/ all/' \
+ -e '/^XPI_MODULE_VERS/s/= .*/= ${EM_VERSION}/' \
+ ${WRKSRC}/mailnews/extensions/enigmail/Makefile.in
+ @${REINPLACE_CMD} -e '/em:version/s,>[^<]*<,>${EM_VERSION}<,' \
+ -e '/em:maxVersion/s/pre//' \
+ ${WRKSRC}/mailnews/extensions/enigmail/package/install.rdf
+.endif
+
pre-configure:
(cd ${WRKSRC} && ${AUTOCONF})
(cd ${MOZSRC} && ${AUTOCONF})
(cd ${MOZSRC}/js/src/ && ${AUTOCONF})
+.if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL}
+post-build:
+ cd ${WRKSRC}/mailnews/extensions/enigmail && \
+ ./makemake -r -o ${MOZ_OBJDIR}
+ ${SETENV} ${MAKE_ENV} ${GMAKE} ${_MAKE_JOBS} all xpi \
+ -C ${MOZ_OBJDIR}/mailnews/extensions/enigmail
+.endif
+
pre-install:
${ECHO_CMD} share/applications/${MOZILLA}.desktop >> ${PLIST}
${ECHO_CMD} "@unexec ${RMDIR} %D/share/applications 2>/dev/null || ${TRUE}" >> ${PLIST}
@@ -146,7 +191,25 @@ post-install:
@${ECHO_CMD} '@unexec ${RM} -f ${LOCALBASE}/lib/seamonkey/extensions/${XPI_ID}' >> ${TMPPLIST}
@(cd ${XPI_LIBDIR}; ${FIND} ${XPI_ID} -type d) | ${SORT} -r | \
${SED} -ne 's,^,@dirrm lib/xpi/,p' >> ${TMPPLIST}
- @${ECHO_CMD} '@unexec rmdir %D/lib/xpi/symlinks/seamonkey 2>/dev/null || true' >> ${TMPPLIST}
+.endif
+.if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL}
+ @${MKDIR} ${XPI_LIBDIR}/${EM_ID} ${XPI_LIBDIR}/symlinks/${PORTNAME}
+ @(cd ${XPI_LIBDIR}/${EM_ID}; ${TAR} -xf ${EM_XPI_FILE})
+ @${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${XPI_LIBDIR}/${EM_ID}
+ @${REINPLACE_CMD} -i "" "s/${EM_ORIG_ID}/${EM_ID}/" ${EM_ID_RFILES}
+ @${CHMOD} -R a+rX,go-w ${XPI_LIBDIR}/${EM_ID}
+ @${LN} -sf ${XPI_LIBDIR}/${EM_ID} ${LOCALBASE}/lib/${PORTNAME}/extensions 2>/dev/null || true
+ @${LN} -sf ${XPI_LIBDIR}/${EM_ID} ${XPI_LIBDIR}/symlinks/${PORTNAME} 2>/dev/null || true
+ @(cd ${XPI_LIBDIR}; ${FIND} ${EM_ID} -not -type d) | ${SORT} | \
+ ${SED} -ne 's,^,lib/xpi/,p' >> ${TMPPLIST}
+ @${ECHO_CMD} 'lib/xpi/symlinks/${PORTNAME}/${EM_ID}' >> ${TMPPLIST}
+ @${ECHO_CMD} '@exec ${LN} -sf %D/lib/xpi/${EM_ID} ${LOCALBASE}/lib/${PORTNAME}/extensions 2>/dev/null || true' >> ${TMPPLIST}
+ @${ECHO_CMD} '@unexec ${RM} -f ${LOCALBASE}/lib/${PORTNAME}/extensions/${EM_ID}' >> ${TMPPLIST}
+ @(cd ${XPI_LIBDIR}; ${FIND} ${EM_ID} -type d) | ${SORT} -r | \
+ ${SED} -ne 's,^,@dirrm lib/xpi/,p' >> ${TMPPLIST}
+.endif
+.if ${PORT_OPTIONS:MLIGHTNING} || ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL}
+ @${ECHO_CMD} '@unexec rmdir %D/lib/xpi/symlinks/${PORTNAME} 2>/dev/null || true' >> ${TMPPLIST}
@${ECHO_CMD} '@unexec rmdir %D/lib/xpi/symlinks 2>/dev/null || true' >> ${TMPPLIST}
@${ECHO_CMD} '@unexec rmdir %D/lib/xpi 2>/dev/null || true' >> ${TMPPLIST}
.endif
diff --git a/www/seamonkey/distinfo b/www/seamonkey/distinfo
index 32ae6eb6e9d5..bf5e8d40d7ec 100644
--- a/www/seamonkey/distinfo
+++ b/www/seamonkey/distinfo
@@ -1,2 +1,4 @@
-SHA256 (seamonkey-2.12.1.source.tar.bz2) = 7c816fba65ccd0f4233409eee05cc534c77fcbdf46f49e9ba17d382a77278e62
-SIZE (seamonkey-2.12.1.source.tar.bz2) = 106859727
+SHA256 (seamonkey-2.13.source.tar.bz2) = d48016bc7dfeebc882189475704bd050c4a4fddd421fc42b321749b33b13d0b1
+SIZE (seamonkey-2.13.source.tar.bz2) = 112149304
+SHA256 (enigmail-1.4.5.tar.gz) = fa59491fba21de9414a003933349074a8ec1833a1d64cac9f0a9f7020ed6c020
+SIZE (enigmail-1.4.5.tar.gz) = 1269207
diff --git a/www/seamonkey/files/extra-bug780531 b/www/seamonkey/files/extra-bug780531
index a63bcaed35fa..a035ce397cc7 100644
--- a/www/seamonkey/files/extra-bug780531
+++ b/www/seamonkey/files/extra-bug780531
@@ -1,13 +1,12 @@
--- mozilla/configure.in~
+++ mozilla/configure.in
-@@ -5585,10 +5585,13 @@ if test -n "$MOZ_OGG"; then
+@@ -5282,10 +5282,13 @@ if test -n "$MOZ_OGG"; then
MOZ_SYDNEYAUDIO=1
MOZ_CUBEB=1
MOZ_MEDIA=1
- case "$target_cpu" in
-- arm*)
+ case "$target" in
-+ arm-*-linux*)
+ arm*)
MOZ_TREMOR=1
;;
+ *-freebsd*)
@@ -16,14 +15,13 @@
*)
MOZ_VORBIS=1
;;
-@@ -5715,10 +5720,13 @@ if test -n "$MOZ_WEBM" -a -z "$MOZ_NATIV
+@@ -5417,10 +5420,13 @@ if test "$MOZ_WEBM"; then
MOZ_SYDNEYAUDIO=1
MOZ_CUBEB=1
MOZ_MEDIA=1
- case "$target_cpu" in
-- arm*)
+ case "$target" in
-+ arm-*-linux*)
+ arm*)
MOZ_TREMOR=1
;;
+ *-freebsd*)
diff --git a/www/seamonkey/files/patch-bug351181 b/www/seamonkey/files/patch-bug351181
deleted file mode 100644
index fdf4840c1441..000000000000
--- a/www/seamonkey/files/patch-bug351181
+++ /dev/null
@@ -1,31 +0,0 @@
---- mozilla/js/src/jsnum.cpp.orig 2010-01-05 22:35:17.000000000 -0500
-+++ mozilla/js/src/jsnum.cpp 2010-01-11 05:10:19.000000000 -0500
-@@ -49,6 +49,9 @@
- // Avoid warnings about ASSERT being defined by the assembler as well.
- #undef ASSERT
-
-+#if defined(__FreeBSD__)
-+#include <sys/param.h>
-+#endif
- #ifdef XP_OS2
- #define _PC_53 PC_53
- #define _MCW_EM MCW_EM
-@@ -691,8 +694,18 @@
-
- #else
-
-+#if defined(__FreeBSD__)
-+#if __BSD_VISIBLE == 0
-+#error __BSD_VISIBLE is zero, so fedisableexcept is not defined
-+#endif
-+#include <fenv.h>
-+#define FIX_FPU() ((void)fedisableexcept(FE_ALL_EXCEPT))
-+#else
-+
- #define FIX_FPU() ((void)0)
-
-+#endif /* defined(__FreeBSD__) && __FreeBSD_version >= 503000 */
-+
- #endif
-
- JSBool
diff --git a/www/seamonkey/files/patch-bug543241 b/www/seamonkey/files/patch-bug543241
index 3cb45f175317..2aac3bb44466 100644
--- a/www/seamonkey/files/patch-bug543241
+++ b/www/seamonkey/files/patch-bug543241
@@ -1,5 +1,16 @@
--- ./mozilla/xpcom/threads/nsThreadManager.cpp.orig 2011-08-25 02:37:45.000000000 +0200
+++ ./mozilla/xpcom/threads/nsThreadManager.cpp 2011-08-28 17:14:14.000000000 +0200
+@@ -12,6 +12,10 @@
+ #include "nsAutoPtr.h"
+ #include "nsCycleCollectorUtils.h"
+
++#if defined(__FreeBSD__)
++#include <osreldate.h>
++#endif
++
+ using namespace mozilla;
+
+ #ifdef XP_WIN
@@ -57,6 +57,11 @@
nsresult
nsThreadManager::Init()
diff --git a/www/seamonkey/files/patch-bug713802 b/www/seamonkey/files/patch-bug713802
new file mode 100644
index 000000000000..17e7226cd96d
--- /dev/null
+++ b/www/seamonkey/files/patch-bug713802
@@ -0,0 +1,201 @@
+commit 20586fa
+Author: Karl Tomlinson <karlt+@karlt.net>
+Date: Thu Sep 27 18:35:06 2012 +1200
+
+ b=713802 default enable GIO support and disable GnomeVFS r=glandium
+
+ --HG--
+ extra : transplant_source : wk%ADr%CA%8EN%AE%C93p/p%0A%26%0E%1D0%F20
+---
+ browser/confvars.sh | 2 +-
+ configure.in | 20 ++++++++++----------
+ xulrunner/confvars.sh | 2 +-
+ 3 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git mozilla/browser/confvars.sh mozilla/browser/confvars.sh
+index 40ab494..eae5645 100755
+--- mozilla/browser/confvars.sh
++++ mozilla/browser/confvars.sh
+@@ -21,7 +21,7 @@ MOZ_SERVICES_AITC=1
+ MOZ_SERVICES_NOTIFICATIONS=1
+ MOZ_SERVICES_SYNC=1
+ MOZ_APP_VERSION=$FIREFOX_VERSION
+-MOZ_EXTENSIONS_DEFAULT=" gnomevfs"
++MOZ_EXTENSIONS_DEFAULT=" gio"
+ # MOZ_APP_DISPLAYNAME will be set by branding/configure.sh
+ # Changing MOZ_*BRANDING_DIRECTORY requires a clobber to ensure correct results,
+ # because branding dependencies are broken.
+--- mozilla/browser/installer/package-manifest.in~
++++ mozilla/browser/installer/package-manifest.in
+@@ -679,6 +679,10 @@ bin/libfreebl_32int64_3.so
+
+ ; [Extensions]
+ ;
++#ifdef MOZ_ENABLE_GIO
++bin/components/@DLL_PREFIX@nkgio@DLL_SUFFIX@
++#endif
++
+ #ifdef MOZ_ENABLE_GNOMEVFS
+ bin/components/@DLL_PREFIX@nkgnomevfs@DLL_SUFFIX@
+ #endif
+diff --git mozilla/configure.in mozilla/configure.in
+index 87a9391..2118651 100644
+--- mozilla/configure.in
++++ mozilla/configure.in
+@@ -4846,21 +4846,21 @@ dnl ========================================================
+
+ if test "$MOZ_X11"
+ then
+- dnl build the gnomevfs extension by default only when the
++ dnl build the GIO extension by default only when the
+ dnl GTK2 toolkit is in use.
+ if test "$MOZ_ENABLE_GTK2"
+ then
+- MOZ_ENABLE_GNOMEVFS=1
++ MOZ_ENABLE_GIO=1
+ MOZ_ENABLE_GCONF=1
+ fi
+
+ dnl ========================================================
+ dnl = GnomeVFS support module
+ dnl ========================================================
+- MOZ_ARG_DISABLE_BOOL(gnomevfs,
+- [ --disable-gnomevfs Disable GnomeVFS support ],
+- MOZ_ENABLE_GNOMEVFS=,
+- MOZ_ENABLE_GNOMEVFS=force)
++ MOZ_ARG_ENABLE_BOOL(gnomevfs,
++ [ --enable-gnomevfs Enable GnomeVFS support (default: disabled)],
++ MOZ_ENABLE_GNOMEVFS=force,
++ MOZ_ENABLE_GNOMEVFS=)
+
+ if test "$MOZ_ENABLE_GNOMEVFS"
+ then
+@@ -4884,10 +4884,10 @@ then
+ dnl ========================================================
+ dnl = GIO support module
+ dnl ========================================================
+- MOZ_ARG_ENABLE_BOOL(gio,
+- [ --enable-gio Enable GIO support (default: disabled)],
+- MOZ_ENABLE_GIO=force,
+- MOZ_ENABLE_GIO=)
++ MOZ_ARG_DISABLE_BOOL(gio,
++ [ --disable-gio Disable GIO support],
++ MOZ_ENABLE_GIO=,
++ MOZ_ENABLE_GIO=force)
+
+ if test "$MOZ_ENABLE_GIO" -a "$MOZ_ENABLE_GTK2"
+ then
+diff --git mozilla/xulrunner/confvars.sh mozilla/xulrunner/confvars.sh
+index 2fa6ead..5fe2c3d 100755
+--- mozilla/xulrunner/confvars.sh
++++ mozilla/xulrunner/confvars.sh
+@@ -10,5 +10,5 @@ MOZ_XULRUNNER=1
+ MOZ_CHROME_FILE_FORMAT=omni
+ MOZ_APP_VERSION=$MOZILLA_VERSION
+ MOZ_PLACES=1
+-MOZ_EXTENSIONS_DEFAULT=" gnomevfs"
++MOZ_EXTENSIONS_DEFAULT=" gio"
+ MOZ_URL_CLASSIFIER=1
+diff --git suite/confvars.sh suite/confvars.sh
+index 8c13a33..cdedd30 100755
+--- suite/confvars.sh
++++ suite/confvars.sh
+@@ -15,7 +15,7 @@ MOZ_COMPOSER=1
+ MOZ_SUITE=1
+ MOZ_BRANDING_DIRECTORY=suite/branding/nightly
+ MOZ_OFFICIAL_BRANDING_DIRECTORY=suite/branding/nightly
+-MOZ_EXTENSIONS_DEFAULT=" venkman inspector irc gnomevfs"
++MOZ_EXTENSIONS_DEFAULT=" venkman inspector irc gio"
+ MOZ_UPDATER=1
+ # This should usually be the same as the value MAR_CHANNEL_ID.
+ # If more than one ID is needed, then you should use a comma separated list
+--- suite/installer/package-manifest.in~
++++ suite/installer/package-manifest.in
+@@ -265,6 +265,9 @@
+ @BINPATH@/components/necko_wifi.xpt
+ #endif
+ @BINPATH@/components/necko_wyciwyg.xpt
++#ifdef MOZ_ENABLE_GIO
++@BINPATH@/components/@DLL_PREFIX@nkgio@DLL_SUFFIX@
++#endif
+ #ifdef MOZ_ENABLE_GNOMEVFS
+ @BINPATH@/components/@DLL_PREFIX@nkgnomevfs@DLL_SUFFIX@
+ #endif
+
+commit d884d75
+Author: Karl Tomlinson <karlt+@karlt.net>
+Date: Thu Sep 27 18:34:44 2012 +1200
+
+ b=713802 disable gnomevfs extension without --enable-gnomevfs r=glandium
+
+ --HG--
+ extra : transplant_source : i%07%81%E9%90_%C1%05b%194%9B%1E%93%FC%03%279%F9%8A
+---
+ configure.in | 12 +++---------
+ 1 file changed, 3 insertions(+), 9 deletions(-)
+
+diff --git mozilla/configure.in mozilla/configure.in
+index f2b4041..87a9391 100644
+--- mozilla/configure.in
++++ mozilla/configure.in
+@@ -4875,12 +4875,6 @@ then
+ fi
+ MOZ_ENABLE_GNOMEVFS=
+ ])
+- else
+- if test `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then
+- PKG_CHECK_MODULES(MOZ_GNOMEVFS, gnome-vfs-2.0 >= $GNOMEVFS_VERSION gnome-vfs-module-2.0 >= $GNOMEVFS_VERSION,[
+- MOZ_GNOMEVFS_LIBS=`echo $MOZ_GNOMEVFS_LIBS | sed 's/-llinc\>//'`
+- ])
+- fi
+ fi
+
+ AC_SUBST(MOZ_ENABLE_GNOMEVFS)
+@@ -5967,10 +5961,10 @@ MOZ_ARG_ENABLE_STRING(extensions,
+ done],
+ MOZ_EXTENSIONS="$MOZ_EXTENSIONS_DEFAULT")
+
+-if test -z "$MOZ_ENABLE_GNOMEVFS" -a -z "$MOZ_GNOMEVFS_LIBS" -a `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then
++if test -z "$MOZ_ENABLE_GNOMEVFS" -a `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then
+ # Suppress warning on non-X11 platforms
+ if test -n "$MOZ_X11"; then
+- AC_MSG_WARN([Cannot build gnomevfs without required libraries. Removing gnomevfs from MOZ_EXTENSIONS.])
++ AC_MSG_WARN([Removing gnomevfs from MOZ_EXTENSIONS due to no --enable-gnomevfs.])
+ fi
+ MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gnomevfs||'`
+ fi
+@@ -5983,7 +5977,7 @@ fi
+ if test -z "$MOZ_ENABLE_GIO" -a `echo "$MOZ_EXTENSIONS" | grep -c gio` -ne 0; then
+ # Suppress warning on non-X11 platforms
+ if test -n "$MOZ_X11"; then
+- AC_MSG_WARN([Cannot build gio without required libraries. Removing gio from MOZ_EXTENSIONS.])
++ AC_MSG_WARN([Removing gio from MOZ_EXTENSIONS due to --disable-gio.])
+ fi
+ MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gio||'`
+ fi
+
+commit ddedeea
+Author: Karl Tomlinson <karlt+@karlt.net>
+Date: Thu Sep 27 13:47:19 2012 +1200
+
+ b=713802 link gio extension against libxul for tracemalloc stack functions r=bsmedberg
+
+ --HG--
+ extra : transplant_source : %C8%A3o%BE%A0z%F7%C8%8A%E6%0E%D4s%7D%90%9C%D9%0F%06%7E
+---
+ extensions/gio/Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git mozilla/extensions/gio/Makefile.in mozilla/extensions/gio/Makefile.in
+index 46412c4..ccf2846 100644
+--- mozilla/extensions/gio/Makefile.in
++++ mozilla/extensions/gio/Makefile.in
+@@ -23,7 +23,7 @@ LOCAL_INCLUDES = $(MOZ_GIO_CFLAGS)
+
+ EXTRA_DSO_LDOPTS = \
+ $(XPCOM_GLUE_LDOPTS) \
+- $(NSPR_LIBS) \
++ $(MOZ_COMPONENT_LIBS) \
+ $(MOZ_GIO_LIBS) \
+ $(NULL)
+
diff --git a/www/seamonkey/files/patch-bug723860 b/www/seamonkey/files/patch-bug723860
deleted file mode 100644
index d76dbfe6d20c..000000000000
--- a/www/seamonkey/files/patch-bug723860
+++ /dev/null
@@ -1,54 +0,0 @@
-commit 4e07587
-Author: Matthew Gregan <kinetik@flim.org>
-Date: Wed Jun 6 17:58:07 2012 +1200
-
- Bug 723860 - Early bail from reader's GetBuffered() if not yet initialized. r=doublec
----
- content/media/gstreamer/nsGStreamerReader.cpp | 4 ++++
- content/media/ogg/nsOggReader.cpp | 3 +--
- content/media/wave/nsWaveReader.cpp | 3 +++
- 3 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git mozilla/content/media/gstreamer/nsGStreamerReader.cpp mozilla/content/media/gstreamer/nsGStreamerReader.cpp
-index 164fb2e..06a09b5 100644
---- mozilla/content/media/gstreamer/nsGStreamerReader.cpp
-+++ mozilla/content/media/gstreamer/nsGStreamerReader.cpp
-@@ -505,6 +505,10 @@ nsresult nsGStreamerReader::Seek(PRInt64 aTarget,
- nsresult nsGStreamerReader::GetBuffered(nsTimeRanges* aBuffered,
- PRInt64 aStartTime)
- {
-+ if (!mInfo.mHasVideo && !mInfo.mHasAudio) {
-+ return NS_OK;
-+ }
-+
- GstFormat format = GST_FORMAT_TIME;
- MediaResource* resource = mDecoder->GetResource();
- gint64 resourceLength = resource->GetLength();
-diff --git mozilla/content/media/ogg/nsOggReader.cpp mozilla/content/media/ogg/nsOggReader.cpp
-index c6ff008..8d40e2c 100644
---- mozilla/content/media/ogg/nsOggReader.cpp
-+++ mozilla/content/media/ogg/nsOggReader.cpp
-@@ -1532,8 +1532,7 @@ nsresult nsOggReader::GetBuffered(nsTimeRanges* aBuffered, PRInt64 aStartTime)
- {
- // HasAudio and HasVideo are not used here as they take a lock and cause
- // a deadlock. Accessing mInfo doesn't require a lock - it doesn't change
-- // after metadata is read and GetBuffered isn't called before metadata is
-- // read.
-+ // after metadata is read.
- if (!mInfo.mHasVideo && !mInfo.mHasAudio) {
- // No need to search through the file if there are no audio or video tracks
- return NS_OK;
-diff --git mozilla/content/media/wave/nsWaveReader.cpp mozilla/content/media/wave/nsWaveReader.cpp
-index 7242eb5..60fc1e1 100644
---- mozilla/content/media/wave/nsWaveReader.cpp
-+++ mozilla/content/media/wave/nsWaveReader.cpp
-@@ -239,6 +239,9 @@ static double RoundToUsecs(double aSeconds) {
-
- nsresult nsWaveReader::GetBuffered(nsTimeRanges* aBuffered, PRInt64 aStartTime)
- {
-+ if (!mInfo.mHasAudio) {
-+ return NS_OK;
-+ }
- PRInt64 startOffset = mDecoder->GetResource()->GetNextCachedData(mWavePCMOffset);
- while (startOffset >= 0) {
- PRInt64 endOffset = mDecoder->GetResource()->GetCachedDataEnd(startOffset);
diff --git a/www/seamonkey/files/patch-bug753046 b/www/seamonkey/files/patch-bug753046
index d20eebb42a3c..658d47f827bb 100644
--- a/www/seamonkey/files/patch-bug753046
+++ b/www/seamonkey/files/patch-bug753046
@@ -456,7 +456,7 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread.h,v 1.1 2012/03/06 12:34:0
--- mozilla/ipc/chromium/src/base/platform_thread.h.orig 2011-12-20 23:28:19.000000000 +0000
+++ mozilla/ipc/chromium/src/base/platform_thread.h
-@@ -22,9 +22,11 @@ typedef void* PlatformThreadHandle; // HANDLE
+@@ -22,9 +22,12 @@ typedef void* PlatformThreadHandle; // HANDLE
#elif defined(OS_POSIX)
#include <pthread.h>
typedef pthread_t PlatformThreadHandle;
@@ -465,6 +465,7 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread.h,v 1.1 2012/03/06 12:34:0
#include <unistd.h>
typedef pid_t PlatformThreadId;
+#elif defined(OS_BSD)
++#include <sys/types.h>
+typedef lwpid_t PlatformThreadId;
#elif defined(OS_MACOSX)
#include <mach/mach.h>
@@ -978,57 +979,6 @@ $NetBSD: patch-ipc_chromium_src_base_sys__info__posix.cc,v 1.2 2011/11/27 13:09:
#else
long pages = sysconf(_SC_PHYS_PAGES);
long page_size = sysconf(_SC_PAGE_SIZE);
-$NetBSD: patch-ipc_chromium_src_base_third__party_nspr_prcpucfg.h,v 1.2 2012/03/06 12:34:09 ryoon Exp $
-
---- mozilla/ipc/chromium/src/base/third_party/nspr/prcpucfg.h.orig 2011-12-20 23:28:19.000000000 +0000
-+++ mozilla/ipc/chromium/src/base/third_party/nspr/prcpucfg.h
-@@ -34,7 +34,7 @@
- #include "base/third_party/nspr/prcpucfg_win.h"
- #elif defined(__APPLE__)
- #include "base/third_party/nspr/prcpucfg_mac.h"
--#elif defined(__linux__) || defined(ANDROID)
-+#elif defined(__linux__) || defined(ANDROID) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
- #include "base/third_party/nspr/prcpucfg_linux.h"
- #elif defined(__OpenBSD__)
- #include "base/third_party/nspr/prcpucfg_openbsd.h"
-$NetBSD: patch-ipc_chromium_src_base_third__party_nspr_prtime.cc,v 1.1 2012/03/06 12:34:09 ryoon Exp $
-
---- mozilla/ipc/chromium/src/base/third_party/nspr/prtime.cc.orig 2011-12-20 23:28:19.000000000 +0000
-+++ mozilla/ipc/chromium/src/base/third_party/nspr/prtime.cc
-@@ -212,7 +212,7 @@ PR_ImplodeTime(const PRExplodedTime *exp
- LL_ADD(retVal, retVal, temp);
-
- return retVal;
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_DRAGONFLY)
- struct tm exp_tm = {0};
- exp_tm.tm_sec = exploded->tm_sec;
- exp_tm.tm_min = exploded->tm_min;
-@@ -245,6 +245,24 @@ PR_ImplodeTime(const PRExplodedTime *exp
- result *= kSecondsToMicroseconds;
- result += exploded->tm_usec;
- return result;
-+#elif defined(OS_FREEBSD) || defined(OS_NETBSD)
-+ struct tm exp_tm = {0};
-+ exp_tm.tm_sec = exploded->tm_sec;
-+ exp_tm.tm_min = exploded->tm_min;
-+ exp_tm.tm_hour = exploded->tm_hour;
-+ exp_tm.tm_mday = exploded->tm_mday;
-+ exp_tm.tm_mon = exploded->tm_month;
-+ exp_tm.tm_year = exploded->tm_year - 1900;
-+
-+ // time_t is 64bit
-+ time_t absolute_time = timegm(&exp_tm);
-+
-+ PRTime result = static_cast<PRTime>(absolute_time);
-+ result -= exploded->tm_params.tp_gmt_offset +
-+ exploded->tm_params.tp_dst_offset;
-+ result *= kSecondsToMicroseconds;
-+ result += exploded->tm_usec;
-+ return result;
- #else
- #error No PR_ImplodeTime implemented on your platform.
- #endif
diff --git ipc/chromium/src/base/time_posix.cc ipc/chromium/src/base/time_posix.cc
index abf2a56..48791f6 100644
--- mozilla/ipc/chromium/src/base/time_posix.cc
diff --git a/www/seamonkey/files/patch-bug759459 b/www/seamonkey/files/patch-bug759459
deleted file mode 100644
index 5434a759b353..000000000000
--- a/www/seamonkey/files/patch-bug759459
+++ /dev/null
@@ -1,24 +0,0 @@
-commit 4d0c5b9
-Author: Marco Perez <bugmail@millibyte.net>
-Date: Sat Jun 9 12:24:56 2012 -0400
-
- Bug 759459 - Build broken on FreeBSD since patch for bug 745034 landed. r=terrence
----
- js/src/gc/Memory.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git js/src/gc/Memory.cpp js/src/gc/Memory.cpp
-index 815e90b..10c1a91 100644
---- mozilla/js/src/gc/Memory.cpp
-+++ mozilla/js/src/gc/Memory.cpp
-@@ -292,9 +292,9 @@ GetPageFaultCount()
- #elif defined(XP_UNIX) || defined(XP_MACOSX) || defined(DARWIN)
-
- #include <sys/mman.h>
--#include <unistd.h>
- #include <sys/time.h>
- #include <sys/resource.h>
-+#include <unistd.h>
-
- void
- InitMemorySubsystem()
diff --git a/www/seamonkey/files/patch-bug760899 b/www/seamonkey/files/patch-bug760899
deleted file mode 100644
index c81b855e7fc2..000000000000
--- a/www/seamonkey/files/patch-bug760899
+++ /dev/null
@@ -1,54 +0,0 @@
-commit 667daed
-Author: Stephen Moehle <stephen.moehle@gmail.com>
-Date: Tue Jun 5 11:32:36 2012 +1200
-
- Bug 760899 - Fix debug builds with gstreamer enabled - r=kinetik
-
- --HG--
- extra : rebase_source : 22598bc470d35d94991ea9f1b14df11ba19a461a
----
- content/media/gstreamer/nsGStreamerReader.cpp | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git content/media/gstreamer/nsGStreamerReader.cpp content/media/gstreamer/nsGStreamerReader.cpp
-index 6a50e09..164fb2e 100644
---- mozilla/content/media/gstreamer/nsGStreamerReader.cpp
-+++ mozilla/content/media/gstreamer/nsGStreamerReader.cpp
-@@ -278,7 +278,7 @@ nsresult nsGStreamerReader::ReadMetadata(nsVideoInfo* aInfo)
- if (gst_element_query_duration(GST_ELEMENT(mPlayBin),
- &format, &duration) && format == GST_FORMAT_TIME) {
- ReentrantMonitorAutoEnter mon(mDecoder->GetReentrantMonitor());
-- LOG(PR_LOG_DEBUG, ("returning duration %"GST_TIME_FORMAT,
-+ LOG(PR_LOG_DEBUG, ("returning duration %" GST_TIME_FORMAT,
- GST_TIME_ARGS (duration)));
- duration = GST_TIME_AS_USECONDS (duration);
- mDecoder->GetStateMachine()->SetDuration(duration);
-@@ -422,8 +422,8 @@ bool nsGStreamerReader::DecodeVideoFrame(bool &aKeyFrameSkip,
- nextTimestamp += gst_util_uint64_scale(GST_USECOND, fpsNum, fpsDen);
-
- if (timestamp < aTimeThreshold) {
-- LOG(PR_LOG_DEBUG, ("skipping frame %"GST_TIME_FORMAT
-- " threshold %"GST_TIME_FORMAT,
-+ LOG(PR_LOG_DEBUG, ("skipping frame %" GST_TIME_FORMAT
-+ " threshold %" GST_TIME_FORMAT,
- GST_TIME_ARGS(timestamp), GST_TIME_ARGS(aTimeThreshold)));
- gst_buffer_unref(buffer);
- buffer = NULL;
-@@ -489,7 +489,7 @@ nsresult nsGStreamerReader::Seek(PRInt64 aTarget,
- NS_ASSERTION(mDecoder->OnDecodeThread(), "Should be on decode thread.");
-
- gint64 seekPos = aTarget * GST_USECOND;
-- LOG(PR_LOG_DEBUG, ("%p About to seek to %"GST_TIME_FORMAT,
-+ LOG(PR_LOG_DEBUG, ("%p About to seek to %" GST_TIME_FORMAT,
- mDecoder, GST_TIME_ARGS(seekPos)));
-
- if (!gst_element_seek_simple(mPlayBin, GST_FORMAT_TIME,
-@@ -592,7 +592,7 @@ PRInt64 nsGStreamerReader::QueryDuration()
- if (gst_element_query_duration(GST_ELEMENT(mPlayBin),
- &format, &duration)) {
- if (format == GST_FORMAT_TIME) {
-- LOG(PR_LOG_DEBUG, ("pipeline duration %"GST_TIME_FORMAT,
-+ LOG(PR_LOG_DEBUG, ("pipeline duration %" GST_TIME_FORMAT,
- GST_TIME_ARGS (duration)));
- duration = GST_TIME_AS_USECONDS (duration);
- }
diff --git a/www/seamonkey/files/patch-bug761030 b/www/seamonkey/files/patch-bug761030
deleted file mode 100644
index d6b96cc697f3..000000000000
--- a/www/seamonkey/files/patch-bug761030
+++ /dev/null
@@ -1,25 +0,0 @@
-commit 8bc9e15
-Author: Stephen Moehle <stephen.moehle@gmail.com>
-Date: Tue Jun 5 11:31:13 2012 +1200
-
- Bug 761030 - Fix crash with HTML 5 video with GStreamer enabled - r=kinetik
-
- --HG--
- extra : rebase_source : 5e884550f9870bd2fda247d50bebd472e8368588
----
- content/media/gstreamer/nsGStreamerReader.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git mozilla/content/media/gstreamer/nsGStreamerReader.cpp mozilla/content/media/gstreamer/nsGStreamerReader.cpp
-index 17374a3..6a50e09 100644
---- mozilla/content/media/gstreamer/nsGStreamerReader.cpp
-+++ mozilla/content/media/gstreamer/nsGStreamerReader.cpp
-@@ -452,6 +452,8 @@ bool nsGStreamerReader::DecodeVideoFrame(bool &aKeyFrameSkip,
- i, height);
- b.mPlanes[i].mWidth = gst_video_format_get_component_width(format,
- i, width);
-+ b.mPlanes[i].mOffset = 0;
-+ b.mPlanes[i].mSkip = 0;
- }
-
- bool isKeyframe = !GST_BUFFER_FLAG_IS_SET(buffer,
diff --git a/www/seamonkey/files/patch-bug761419 b/www/seamonkey/files/patch-bug761419
deleted file mode 100644
index 0c8c3d1d155a..000000000000
--- a/www/seamonkey/files/patch-bug761419
+++ /dev/null
@@ -1,22 +0,0 @@
-commit f0a73aa
-Author: Paul Adenot <paul@paul.cx>
-Date: Thu Jun 21 20:44:39 2012 -0400
-
- Bug 761419 - Build failure in content/media/gstreamer/nsGStreamerReader.cpp when using clang r=kinetik
----
- content/media/gstreamer/nsGStreamerReader.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git content/media/gstreamer/nsGStreamerReader.cpp content/media/gstreamer/nsGStreamerReader.cpp
-index 06a09b5..c48f92e 100644
---- mozilla/content/media/gstreamer/nsGStreamerReader.cpp
-+++ mozilla/content/media/gstreamer/nsGStreamerReader.cpp
-@@ -191,7 +191,7 @@ nsresult nsGStreamerReader::ReadMetadata(nsVideoInfo* aInfo)
- * stream but that are otherwise decodeable.
- */
- guint flags[3] = {GST_PLAY_FLAG_VIDEO|GST_PLAY_FLAG_AUDIO,
-- ~GST_PLAY_FLAG_AUDIO, ~GST_PLAY_FLAG_VIDEO};
-+ static_cast<guint>(~GST_PLAY_FLAG_AUDIO), static_cast<guint>(~GST_PLAY_FLAG_VIDEO)};
- guint default_flags, current_flags;
- g_object_get(mPlayBin, "flags", &default_flags, NULL);
-
diff --git a/www/seamonkey/files/patch-bug774671 b/www/seamonkey/files/patch-bug774671
index 8ae5cddf029b..bc1c63bc2245 100644
--- a/www/seamonkey/files/patch-bug774671
+++ b/www/seamonkey/files/patch-bug774671
@@ -1,6 +1,31 @@
---- mozilla/js/src/jsprvtd.h.orig 2012-08-27 06:49:16.000000000 +0200
-+++ mozilla/js/src/jsprvtd.h 2012-09-06 22:21:52.000000000 +0200
-@@ -149,9 +149,9 @@
+commit 7e9eda2
+Author: Rafael Ávila de Espíndola <respindola@mozilla.com>
+Date: Tue Jul 17 12:54:41 2012 -0400
+
+ Bug 774671 - Fix mismatched declarations. r=luke.
+---
+ mozilla/js/src/jsproxy.h | 2 +-
+ mozilla/js/src/jsprvtd.h | 6 +++---
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git mozilla/js/src/jsproxy.h mozilla/js/src/jsproxy.h
+index ec26e3a..aa0e782 100644
+--- mozilla/js/src/jsproxy.h
++++ mozilla/js/src/jsproxy.h
+@@ -13,7 +13,7 @@
+
+ namespace js {
+
+-class Wrapper;
++class JS_FRIEND_API(Wrapper);
+
+ /*
+ * A proxy is a JSObject that implements generic behavior by providing custom
+diff --git mozilla/js/src/jsprvtd.h mozilla/js/src/jsprvtd.h
+index 19b5aef..93e1216 100644
+--- mozilla/js/src/jsprvtd.h
++++ mozilla/js/src/jsprvtd.h
+@@ -146,9 +146,9 @@ struct TreeContext;
class UpvarCookie;
class Proxy;
diff --git a/www/seamonkey/files/patch-bug778056 b/www/seamonkey/files/patch-bug778056
index 72eba848047d..468c103e4bf5 100644
--- a/www/seamonkey/files/patch-bug778056
+++ b/www/seamonkey/files/patch-bug778056
@@ -4,9 +4,9 @@
#if defined(XP_UNIX)
# include <unistd.h> // for valloc on *BSD
#endif //if defined(XP_UNIX)
-+#ifdef __FreeBSD__
++#if defined(__FreeBSD__)
+# include <malloc_np.h> // for malloc_usable_size
-+#endif
++#endif // if defined(__FreeBSD__)
#if defined(XP_WIN) || (defined(XP_OS2) && defined(__declspec))
# define MOZALLOC_EXPORT __declspec(dllexport)
diff --git a/www/seamonkey/files/patch-bug778078 b/www/seamonkey/files/patch-bug778078
index fc29c1ca5ecb..27be88312b95 100644
--- a/www/seamonkey/files/patch-bug778078
+++ b/www/seamonkey/files/patch-bug778078
@@ -1,9 +1,9 @@
--- mozilla/toolkit/xre/nsAppRunner.cpp~
+++ mozilla/toolkit/xre/nsAppRunner.cpp
-@@ -3819,7 +3819,7 @@ XREMain::XRE_main(int argc, char* argv[]
+@@ -3833,7 +3833,7 @@ XREMain::XRE_main(int argc, char* argv[]
ScopedLogging log;
- #if defined(MOZ_WIDGET_GTK2)
+ #if defined(MOZ_WIDGET_GTK)
-#ifdef MOZ_MEMORY
+#if defined(MOZ_MEMORY) || defined(__FreeBSD__) || defined(__NetBSD__)
// Disable the slice allocator, since jemalloc already uses similar layout
diff --git a/www/seamonkey/files/patch-bug781474 b/www/seamonkey/files/patch-bug781474
deleted file mode 100644
index 358d40c1f988..000000000000
--- a/www/seamonkey/files/patch-bug781474
+++ /dev/null
@@ -1,11 +0,0 @@
---- mozilla/content/base/public/nsContentUtils.h.orig 2011-07-07 10:44:49.000000000 +0200
-+++ mozilla/content/base/public/nsContentUtils.h 2011-07-07 10:46:12.000000000 +0200
-@@ -54,7 +54,7 @@
- //A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
- #ifdef __FreeBSD__
- #include <ieeefp.h>
--#ifdef __alpha__
-+#if !defined(__amd64__) && !defined(__i386__)
- static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
- #else
- static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP|FP_X_DNML;
diff --git a/www/seamonkey/files/patch-bug784776 b/www/seamonkey/files/patch-bug784776
index fbc597902017..95d60a104809 100644
--- a/www/seamonkey/files/patch-bug784776
+++ b/www/seamonkey/files/patch-bug784776
@@ -1,20 +1,3 @@
---- mozilla/content/media/MediaEngineDefault.cpp~
-+++ mozilla/content/media/MediaEngineDefault.cpp
-@@ -232,12 +232,12 @@ nsresult
- MediaEngineDefaultAudioSource::Start(SourceMediaStream* aStream, TrackID aID)
- {
- if (mState != kAllocated) {
-- return NULL;
-+ return 0;
- }
-
- mTimer = do_CreateInstance(NS_TIMER_CONTRACTID);
- if (!mTimer) {
-- return NULL;
-+ return 0;
- }
-
- mSource = aStream;
--- mozilla/gfx/layers/opengl/ImageLayerOGL.cpp~
+++ mozilla/gfx/layers/opengl/ImageLayerOGL.cpp
@@ -936,7 +936,7 @@ ShadowImageLayerOGL::CleanupResources()
diff --git a/www/seamonkey/files/patch-bug785638 b/www/seamonkey/files/patch-bug785638
deleted file mode 100644
index 2ce1cd35a78a..000000000000
--- a/www/seamonkey/files/patch-bug785638
+++ /dev/null
@@ -1,168 +0,0 @@
-diff --git configure.in configure.in
-index cef992b..3bd39ca 100644
---- mozilla/configure.in
-+++ mozilla/configure.in
-@@ -5353,22 +5353,6 @@ if test -n "$MOZ_VP8" -a -z "$MOZ_NATIVE_LIBVPX"; then
-
- dnl See if we have assembly on this platform.
- case "$OS_ARCH:$CPU_ARCH" in
-- Linux:x86)
-- VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
-- VPX_X86_ASM=1
-- ;;
-- Linux:x86_64)
-- VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
-- VPX_X86_ASM=1
-- ;;
-- SunOS:x86)
-- VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
-- VPX_X86_ASM=1
-- ;;
-- SunOS:x86_64)
-- VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
-- VPX_X86_ASM=1
-- ;;
- Darwin:x86)
- VPX_ASFLAGS="-f macho32 -rnasm -pnasm -DPIC"
- VPX_X86_ASM=1
-@@ -5412,6 +5388,19 @@ if test -n "$MOZ_VP8" -a -z "$MOZ_NATIVE_LIBVPX"; then
- VPX_ASM_SUFFIX="$ASM_SUFFIX"
- VPX_ARM_ASM=1
- fi
-+ ;;
-+ *:x86)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
-+ VPX_X86_ASM=1
-+ fi
-+ ;;
-+ *:x86_64)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
-+ VPX_X86_ASM=1
-+ fi
-+ ;;
- esac
-
- if test -n "$COMPILE_ENVIRONMENT" -a -n "$VPX_X86_ASM" -a -z "$VPX_AS"; then
-@@ -5843,22 +5832,6 @@ if test -n "$MOZ_LIBJPEG_TURBO"; then
-
- dnl Do we support libjpeg-turbo on this platform?
- case "$OS_ARCH:$OS_TEST" in
-- Linux:x86|Linux:i?86)
-- LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
-- LIBJPEG_TURBO_X86_ASM=1
-- ;;
-- Linux:x86_64)
-- LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
-- LIBJPEG_TURBO_X64_ASM=1
-- ;;
-- SunOS:i?86)
-- LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
-- LIBJPEG_TURBO_X86_ASM=1
-- ;;
-- SunOS:x86_64)
-- LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
-- LIBJPEG_TURBO_X64_ASM=1
-- ;;
- Darwin:i?86)
- LIBJPEG_TURBO_ASFLAGS="-f macho32 -rnasm -pnasm -DPIC -DMACHO"
- LIBJPEG_TURBO_X86_ASM=1
-@@ -5879,6 +5852,18 @@ if test -n "$MOZ_LIBJPEG_TURBO"; then
- LIBJPEG_TURBO_ASFLAGS="-march=armv7-a -mfpu=neon"
- LIBJPEG_TURBO_ARM_ASM=1
- ;;
-+ *:x86|*:i?86)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
-+ LIBJPEG_TURBO_X86_ASM=1
-+ fi
-+ ;;
-+ *:x86_64)
-+ if $CC -E -dM -</dev/null | grep -q __ELF__; then
-+ LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
-+ LIBJPEG_TURBO_X64_ASM=1
-+ fi
-+ ;;
- esac
-
- fi
-diff --git media/libvpx/update.sh media/libvpx/update.sh
-index 79e0fb1..51956af 100755
---- mozilla/media/libvpx/update.sh
-+++ mozilla/media/libvpx/update.sh
-@@ -363,12 +363,12 @@ cp $1/objdir/x86-win32-vs8/vpx_config.h vpx_config_x86-win32-vs8.h
- # Should be same for all platforms...
- cp $1/objdir/x86-win32-vs8/vpx_version.h vpx_version.h
-
--# Config files for x86-linux-gcc and Solaris x86
-+# Config files for x86-linux-gcc and other x86 elf platforms
- cp $1/objdir/x86-linux-gcc/vpx_config.c vpx_config_x86-linux-gcc.c
- cp $1/objdir/x86-linux-gcc/vpx_config.asm vpx_config_x86-linux-gcc.asm
- cp $1/objdir/x86-linux-gcc/vpx_config.h vpx_config_x86-linux-gcc.h
-
--# Config files for x86_64-linux-gcc and Solaris x86_64
-+# Config files for x86_64-linux-gcc and other x86_64 elf platforms
- cp $1/objdir/x86_64-linux-gcc/vpx_config.c vpx_config_x86_64-linux-gcc.c
- cp $1/objdir/x86_64-linux-gcc/vpx_config.asm vpx_config_x86_64-linux-gcc.asm
- cp $1/objdir/x86_64-linux-gcc/vpx_config.h vpx_config_x86_64-linux-gcc.h
-diff --git media/libvpx/vpx_config.h media/libvpx/vpx_config.h
-index 55433f3..36e1780 100644
---- mozilla/media/libvpx/vpx_config.h
-+++ mozilla/media/libvpx/vpx_config.h
-@@ -16,20 +16,12 @@
- /* 32 bit MacOS. */
- #include "vpx_config_x86-darwin9-gcc.h"
-
--#elif defined(__linux__) && defined(__i386__)
--/* 32 bit Linux. */
-+#elif defined(__ELF__) && (defined(__i386) || defined(__i386__))
-+/* 32 bit ELF platforms. */
- #include "vpx_config_x86-linux-gcc.h"
-
--#elif defined(__linux__) && defined(__x86_64__)
--/* 64 bit Linux. */
--#include "vpx_config_x86_64-linux-gcc.h"
--
--#elif defined(__sun) && defined(__i386)
--/* 32 bit Solaris. */
--#include "vpx_config_x86-linux-gcc.h"
--
--#elif defined(__sun) && defined(__x86_64)
--/* 64 bit Solaris. */
-+#elif defined(__ELF__) && (defined(__x86_64) || defined(__x86_64__))
-+/* 64 bit ELF platforms. */
- #include "vpx_config_x86_64-linux-gcc.h"
-
- #else
-diff --git media/libvpx/vpx_config_c.c media/libvpx/vpx_config_c.c
-index eedd515..c8b5375 100644
---- mozilla/media/libvpx/vpx_config_c.c
-+++ mozilla/media/libvpx/vpx_config_c.c
-@@ -15,22 +15,14 @@
- /* 32 bit MacOS. */
- #include "vpx_config_x86-darwin9-gcc.c"
-
--#elif defined(__linux__) && defined(__i386__)
--/* 32 bit Linux. */
-+#elif defined(__ELF__) && (defined(__i386) || defined(__i386__))
-+/* 32 bit ELF platforms. */
- #include "vpx_config_x86-linux-gcc.c"
-
--#elif defined(__linux__) && defined(__x86_64__)
--/* 64 bit Linux. */
-+#elif defined(__ELF__) && (defined(__x86_64) || defined(__x86_64__))
-+/* 64 bit ELF platforms. */
- #include "vpx_config_x86_64-linux-gcc.c"
-
--#elif defined(__sun) && defined(__i386)
--/* 32 bit Solaris. */
--#include "vpx_config_x86-linux-gcc.h"
--
--#elif defined(__sun) && defined(__x86_64)
--/* 64 bit Solaris. */
--#include "vpx_config_x86_64-linux-gcc.h"
--
- #else
- #error VPX_X86_ASM is defined, but assembly not supported on this platform!
- #endif
diff --git a/www/seamonkey/files/patch-bug788108 b/www/seamonkey/files/patch-bug788108
new file mode 100644
index 000000000000..db2399499397
--- /dev/null
+++ b/www/seamonkey/files/patch-bug788108
@@ -0,0 +1,20 @@
+--- mozilla/content/base/public/nsContentUtils.h~
++++ mozilla/content/base/public/nsContentUtils.h
+@@ -18,17 +18,6 @@
+ #include <ieeefp.h>
+ #endif
+
+-//A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
+-#ifdef __FreeBSD__
+-#include <ieeefp.h>
+-#ifdef __alpha__
+-static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
+-#else
+-static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP|FP_X_DNML;
+-#endif
+-static fp_except_t oldmask = fpsetmask(~allmask);
+-#endif
+-
+ #include "nsAString.h"
+ #include "nsIStatefulFrame.h"
+ #include "nsNodeInfoManager.h"
diff --git a/www/seamonkey/files/patch-bug788955 b/www/seamonkey/files/patch-bug788955
new file mode 100644
index 000000000000..3f6263c901b6
--- /dev/null
+++ b/www/seamonkey/files/patch-bug788955
@@ -0,0 +1,309 @@
+diff --git Makefile.in Makefile.in
+index e341462..f75bd55 100644
+--- mozilla/Makefile.in
++++ mozilla/Makefile.in
+@@ -48,8 +48,10 @@ endif
+ ifdef MOZ_MEMORY
+ tier_base_dirs += memory/mozjemalloc
+ ifdef MOZ_JEMALLOC
++ifndef MOZ_NATIVE_JEMALLOC
+ tier_base_dirs += memory/jemalloc
+ endif
++endif
+ tier_base_dirs += memory/build
+ endif
+ ifndef MOZ_NATIVE_ZLIB
+diff --git allmakefiles.sh allmakefiles.sh
+index 6a9be4b..d2e49e3 100755
+--- mozilla/allmakefiles.sh
++++ mozilla/allmakefiles.sh
+@@ -59,7 +59,7 @@ if [ ! "$LIBXUL_SDK" ]; then
+ mozglue/Makefile
+ mozglue/build/Makefile
+ "
+- if [ "$MOZ_JEMALLOC" ]; then
++ if [ "$MOZ_JEMALLOC" -a -z "$MOZ_NATIVE_JEMALLOC" ]; then
+ add_makefiles "
+ memory/jemalloc/Makefile
+ "
+--- mozilla/config/autoconf.mk.in
++++ mozilla/config/autoconf.mk.in
+@@ -74,6 +74,7 @@ MOZ_JSDEBUGGER = @MOZ_JSDEBUGGER@
+ MOZ_IPDL_TESTS = @MOZ_IPDL_TESTS@
+ MOZ_MEMORY = @MOZ_MEMORY@
+ MOZ_JEMALLOC = @MOZ_JEMALLOC@
++MOZ_NATIVE_JEMALLOC = @MOZ_NATIVE_JEMALLOC@
+ MOZ_PROFILING = @MOZ_PROFILING@
+ MOZ_ENABLE_PROFILER_SPS = @MOZ_ENABLE_PROFILER_SPS@
+ MOZ_JPROF = @MOZ_JPROF@
+diff --git configure.in configure.in
+index bb05782..2f32516 100644
+--- mozilla/configure.in
++++ mozilla/configure.in
+@@ -3711,21 +3711,22 @@ fi
+
+ dnl Check for the existence of various allocation headers/functions
+
++MALLOC_HEADERS="malloc.h malloc_np.h malloc/malloc.h sys/malloc.h"
+ MALLOC_H=
+-MOZ_CHECK_HEADER(malloc.h, [MALLOC_H=malloc.h])
+-if test "$MALLOC_H" = ""; then
+- MOZ_CHECK_HEADER(malloc/malloc.h, [MALLOC_H=malloc/malloc.h])
+- if test "$MALLOC_H" = ""; then
+- MOZ_CHECK_HEADER(sys/malloc.h, [MALLOC_H=sys/malloc.h])
++
++for file in $MALLOC_HEADERS; do
++ MOZ_CHECK_HEADER($file, [MALLOC_H=$file])
++ if test "$MALLOC_H" != ""; then
++ AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>)
++ break
+ fi
+-fi
+-if test "$MALLOC_H" != ""; then
+- AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>)
+-fi
++done
+
+ MOZ_ALLOCATING_FUNCS="strndup posix_memalign memalign valloc"
+ AC_CHECK_FUNCS(strndup posix_memalign memalign valloc)
+
++AC_CHECK_FUNCS(malloc_usable_size)
++
+ dnl See if compiler supports some gcc-style attributes
+
+ AC_CACHE_CHECK(for __attribute__((always_inline)),
+@@ -6939,6 +6940,18 @@ else
+ fi
+
+ if test -z "$MOZ_MEMORY"; then
++ if test -n "$MOZ_JEMALLOC"; then
++ MOZ_NATIVE_JEMALLOC=1
++ AC_CHECK_FUNCS(mallctl nallocm,,
++ [MOZ_NATIVE_JEMALLOC=
++ break])
++ if test -n "$MOZ_NATIVE_JEMALLOC"; then
++ MOZ_MEMORY=1
++ AC_DEFINE(MOZ_MEMORY)
++ AC_DEFINE(MOZ_JEMALLOC)
++ AC_DEFINE(MOZ_NATIVE_JEMALLOC)
++ fi
++ fi
+ case "${target}" in
+ *-mingw*)
+ if test -z "$WIN32_REDIST_DIR" -a -z "$MOZ_DEBUG"; then
+@@ -7033,6 +7046,7 @@ else
+ fi # MOZ_MEMORY
+ AC_SUBST(MOZ_MEMORY)
+ AC_SUBST(MOZ_JEMALLOC)
++AC_SUBST(MOZ_NATIVE_JEMALLOC)
+ AC_SUBST(MOZ_GLUE_LDFLAGS)
+ AC_SUBST(MOZ_GLUE_PROGRAM_LDFLAGS)
+ AC_SUBST(WIN32_CRT_LIBS)
+@@ -8820,10 +8834,22 @@ fi
+
+ # Run jemalloc configure script
+
+-if test "$MOZ_JEMALLOC" -a "$MOZ_MEMORY"; then
++if test -z "$MOZ_NATIVE_JEMALLOC" -a "$MOZ_JEMALLOC" -a "$MOZ_MEMORY" ; then
+ ac_configure_args="$_SUBDIR_CONFIG_ARGS --build=$build --host=$target --enable-stats --with-jemalloc-prefix=je_"
+- if test "$OS_ARCH" = "Linux"; then
+- MANGLE="malloc calloc valloc free realloc memalign posix_memalign malloc_usable_size"
++ case "$OS_ARCH" in
++ Linux|DragonFly|FreeBSD|NetBSD|OpenBSD)
++ MANGLE="malloc calloc valloc free realloc posix_memalign"
++ case "$OS_ARCH" in
++ Linux)
++ MANGLE="$MANGLE memalign malloc_usable_size"
++ ;;
++ FreeBSD)
++ MANGLE="$MANGLE malloc_usable_size"
++ ;;
++ esac
++ ;;
++ esac
++ if test -n "$MANGLE"; then
+ MANGLED=
+ JEMALLOC_WRAPPER=
+ if test -n "$_WRAP_MALLOC"; then
+diff --git memory/build/Makefile.in memory/build/Makefile.in
+index dca0f48..af93ee0 100644
+--- mozilla/memory/build/Makefile.in
++++ mozilla/memory/build/Makefile.in
+@@ -22,7 +22,9 @@ CSRCS = extraMallocFuncs.c
+
+ ifdef MOZ_JEMALLOC
+ CSRCS += mozjemalloc_compat.c
++ifndef MOZ_NATIVE_JEMALLOC
+ SHARED_LIBRARY_LIBS += $(call EXPAND_LIBNAME_PATH,jemalloc,$(DEPTH)/memory/jemalloc)
++endif
+ else
+ SHARED_LIBRARY_LIBS += $(call EXPAND_LIBNAME_PATH,jemalloc,$(DEPTH)/memory/mozjemalloc)
+ endif
+diff --git memory/build/extraMallocFuncs.c memory/build/extraMallocFuncs.c
+index 9d87629..03c8320 100644
+--- mozilla/memory/build/extraMallocFuncs.c
++++ mozilla/memory/build/extraMallocFuncs.c
+@@ -94,8 +94,16 @@ wrap(wcsdup)(const wchar_t *src)
+ #endif
+
+ #ifdef MOZ_JEMALLOC
++
++#undef wrap
++#if defined(MOZ_NATIVE_JEMALLOC)
++#define wrap(a) a
++#else
++#define wrap(a) je_ ## a
++#endif
++
+ /* Override some jemalloc defaults */
+-const char *je_malloc_conf = "narenas:1,lg_chunk:20";
++MOZ_EXPORT_DATA(const char *) wrap(malloc_conf) = "narenas:1,lg_chunk:20";
+
+ #ifdef ANDROID
+ #include <android/log.h>
+diff --git memory/build/mozjemalloc_compat.c memory/build/mozjemalloc_compat.c
+index 10a845a..94ad96e 100644
+--- mozilla/memory/build/mozjemalloc_compat.c
++++ mozilla/memory/build/mozjemalloc_compat.c
+@@ -5,14 +5,21 @@
+ #include "mozilla/Types.h"
+ #include "jemalloc_types.h"
+
+-extern int je_mallctl(const char*, void*, size_t*, void*, size_t);
++#if defined(MOZ_NATIVE_JEMALLOC)
++#define wrap(a) a
++#else
++#define wrap(a) je_ ## a
++#endif
+
+-MOZ_EXPORT_API (void)
++extern MOZ_IMPORT_API(int)
++wrap(mallctl)(const char*, void*, size_t*, void*, size_t);
++
++MOZ_EXPORT_API(void)
+ jemalloc_stats(jemalloc_stats_t *stats)
+ {
+ size_t size = sizeof(stats->mapped);
+- je_mallctl("stats.mapped", &stats->mapped, &size, NULL, 0);
+- je_mallctl("stats.allocated", &stats->allocated, &size, NULL, 0);
++ wrap(mallctl)("stats.mapped", &stats->mapped, &size, NULL, 0);
++ wrap(mallctl)("stats.allocated", &stats->allocated, &size, NULL, 0);
+ stats->committed = -1;
+ stats->dirty = -1;
+ }
+diff --git memory/jemalloc/src/src/mutex.c memory/jemalloc/src/src/mutex.c
+index 37a843e..55e18c2 100644
+--- mozilla/memory/jemalloc/src/src/mutex.c
++++ mozilla/memory/jemalloc/src/src/mutex.c
+@@ -64,7 +64,7 @@ pthread_create(pthread_t *__restrict thread,
+ /******************************************************************************/
+
+ #ifdef JEMALLOC_MUTEX_INIT_CB
+-int _pthread_mutex_init_calloc_cb(pthread_mutex_t *mutex,
++JEMALLOC_EXPORT int _pthread_mutex_init_calloc_cb(pthread_mutex_t *mutex,
+ void *(calloc_cb)(size_t, size_t));
+ #endif
+
+diff --git memory/mozalloc/mozalloc.cpp memory/mozalloc/mozalloc.cpp
+index 5b61050b..5b3399a 100644
+--- mozilla/memory/mozalloc/mozalloc.cpp
++++ mozilla/memory/mozalloc/mozalloc.cpp
+@@ -12,16 +12,13 @@
+ #include <sys/types.h>
+
+ #if defined(MALLOC_H)
+-# include MALLOC_H // for memalign, valloc where available
++# include MALLOC_H // for memalign, valloc, malloc_size, malloc_usable_size
+ #endif // if defined(MALLOC_H)
+ #include <stddef.h> // for size_t
+ #include <stdlib.h> // for malloc, free
+ #if defined(XP_UNIX)
+ # include <unistd.h> // for valloc on *BSD
+ #endif //if defined(XP_UNIX)
+-#if defined(__FreeBSD__)
+-# include <malloc_np.h> // for malloc_usable_size
+-#endif // if defined(__FreeBSD__)
+
+ #if defined(XP_WIN) || (defined(XP_OS2) && defined(__declspec))
+ # define MOZALLOC_EXPORT __declspec(dllexport)
+@@ -213,8 +210,7 @@ moz_malloc_usable_size(void *ptr)
+
+ #if defined(XP_MACOSX)
+ return malloc_size(ptr);
+-#elif defined(MOZ_MEMORY) || (defined(XP_LINUX) && !defined(ANDROID)) || defined(__FreeBSD__)
+- // Android bionic libc doesn't have malloc_usable_size.
++#elif defined(HAVE_MALLOC_USABLE_SIZE) || defined(MOZ_MEMORY)
+ return malloc_usable_size(ptr);
+ #elif defined(XP_WIN)
+ return _msize(ptr);
+diff --git memory/mozjemalloc/jemalloc.h memory/mozjemalloc/jemalloc.h
+index f0e0878..2486e83 100644
+--- mozilla/memory/mozjemalloc/jemalloc.h
++++ mozilla/memory/mozjemalloc/jemalloc.h
+@@ -37,22 +37,29 @@
+ #endif
+ #include "jemalloc_types.h"
+
++#if defined(MOZ_NATIVE_JEMALLOC)
++#define wrap(a) a
++#else
++#define wrap(a) je_ ## a
++#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+-#if defined(MOZ_MEMORY_LINUX)
++#if defined(MOZ_NATIVE_JEMALLOC) \
++ || defined(MOZ_MEMORY_LINUX) || defined(MOZ_MEMORY_BSD)
+ __attribute__((weak))
+ #endif
+ void jemalloc_stats(jemalloc_stats_t *stats);
+
+ /* Computes the usable size in advance. */
+ #if !defined(MOZ_MEMORY_DARWIN)
+-#if defined(MOZ_MEMORY_LINUX)
++#if defined(MOZ_MEMORY_LINUX) || defined(MOZ_MEMORY_BSD)
+ __attribute__((weak))
+ #endif
+ #if defined(MOZ_JEMALLOC)
+-int je_nallocm(size_t *rsize, size_t size, int flags);
++MOZ_IMPORT_API(int) wrap(nallocm)(size_t *rsize, size_t size, int flags);
+ #else
+ size_t je_malloc_good_size(size_t size);
+ #endif
+@@ -62,11 +69,11 @@ static inline size_t je_malloc_usable_size_in_advance(size_t size) {
+ #if defined(MOZ_MEMORY_DARWIN)
+ return malloc_good_size(size);
+ #elif defined(MOZ_JEMALLOC)
+- if (je_nallocm) {
++ if (wrap(nallocm)) {
+ size_t ret;
+ if (size == 0)
+ size = 1;
+- if (!je_nallocm(&ret, size, 0))
++ if (!wrap(nallocm)(&ret, size, 0))
+ return ret;
+ }
+ return size;
+@@ -113,4 +120,6 @@ void jemalloc_purge_freed_pages();
+ } /* extern "C" */
+ #endif
+
++#undef wrap
++
+ #endif /* _JEMALLOC_H_ */
+diff --git mozglue/build/Makefile.in mozglue/build/Makefile.in
+index c333647..15ba505 100644
+--- mozilla/mozglue/build/Makefile.in
++++ mozilla/mozglue/build/Makefile.in
+@@ -23,7 +23,7 @@ FORCE_STATIC_LIB = 1
+ endif
+
+ # Keep jemalloc separated when mozglue is statically linked
+-ifeq (1_1,$(MOZ_MEMORY)_$(FORCE_SHARED_LIB))
++ifeq (1_1,$(MOZ_MEMORY)_$(or $(MOZ_NATIVE_JEMALLOC),$(FORCE_SHARED_LIB)))
+ SHARED_LIBRARY_LIBS = $(call EXPAND_LIBNAME_PATH,memory,$(DEPTH)/memory/build)
+ else
+ # Temporary, until bug 662814 lands
diff --git a/www/seamonkey/files/patch-bug789436 b/www/seamonkey/files/patch-bug789436
new file mode 100644
index 000000000000..2479d8e69c78
--- /dev/null
+++ b/www/seamonkey/files/patch-bug789436
@@ -0,0 +1,27 @@
+--- mozilla/toolkit/xre/nsAppRunner.cpp~
++++ mozilla/toolkit/xre/nsAppRunner.cpp
+@@ -1388,11 +1388,6 @@ static int MSCRTReportHook( int aReportType, char *aMessage, int *oReturnValue)
+
+ #endif
+
+-#if defined(FREEBSD)
+-// pick up fpsetmask prototype.
+-#include <ieeefp.h>
+-#endif
+-
+ static inline void
+ DumpVersion()
+ {
+@@ -4136,12 +4131,5 @@ SetupErrorHandling(const char* progname)
+
+ // Unbuffer stdout, needed for tinderbox tests.
+ setbuf(stdout, 0);
+-
+-#if defined(FREEBSD)
+- // Disable all SIGFPE's on FreeBSD, as it has non-IEEE-conformant fp
+- // trap behavior that trips up on floating-point tests performed by
+- // the JS engine. See bugzilla bug 9967 details.
+- fpsetmask(0);
+-#endif
+ }
+
diff --git a/www/seamonkey/files/patch-bug789656 b/www/seamonkey/files/patch-bug789656
new file mode 100644
index 000000000000..17f1419897cc
--- /dev/null
+++ b/www/seamonkey/files/patch-bug789656
@@ -0,0 +1,11 @@
+--- mozilla/media/libopus/Makefile.in~
++++ mozilla/media/libopus/Makefile.in
+@@ -20,7 +20,7 @@ DEFINES += \
+ -Drestrict= \
+ $(NULL)
+
+-ifneq ($(filter $(OS_ARCH),Linux Darwin),)
++ifneq ($(filter $(OS_ARCH),Linux Darwin DragonFly FreeBSD NetBSD OpenBSD),)
+ DEFINES += -DHAVE_LRINTF
+ endif
+ ifeq ($(OS_ARCH), WINNT)
diff --git a/www/seamonkey/files/patch-bug789693 b/www/seamonkey/files/patch-bug789693
new file mode 100644
index 000000000000..f88228f5498b
--- /dev/null
+++ b/www/seamonkey/files/patch-bug789693
@@ -0,0 +1,109 @@
+--- mozilla/toolkit/components/startup/nsAppStartup.cpp
++++ mozilla/toolkit/components/startup/nsAppStartup.cpp
+@@ -50,18 +50,41 @@
+ #include <sys/syscall.h>
+ #endif
+
+-#ifdef XP_MACOSX
++#if defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
++#include <sys/param.h>
+ #include <sys/sysctl.h>
+ #endif
+
+-#ifdef __OpenBSD__
+-#include <sys/param.h>
+-#include <sys/sysctl.h>
++#if defined(__DragonFly__) || defined(__FreeBSD__)
++#include <sys/user.h>
+ #endif
+
+ #include "mozilla/Telemetry.h"
+ #include "mozilla/StartupTimeline.h"
+
++#if defined(__NetBSD__)
++#undef KERN_PROC
++#define KERN_PROC KERN_PROC2
++#define KINFO_PROC struct kinfo_proc2
++#else
++#define KINFO_PROC struct kinfo_proc
++#endif
++
++#if defined(XP_MACOSX)
++#define KP_START_SEC kp_proc.p_un.__p_starttime.tv_sec
++#define KP_START_USEC kp_proc.p_un.__p_starttime.tv_usec
++#elif defined(__DragonFly__)
++#define KP_START_SEC kp_start.tv_sec
++#define KP_START_USEC kp_start.tv_usec
++#elif defined(__FreeBSD__)
++#define KP_START_SEC ki_start.tv_sec
++#define KP_START_USEC ki_start.tv_usec
++#else
++#define KP_START_SEC p_ustart_sec
++#define KP_START_USEC p_ustart_usec
++#endif
++
+ static NS_DEFINE_CID(kAppShellCID, NS_APPSHELL_CID);
+
+ #define kPrefLastSuccess "toolkit.startup.last_success"
+@@ -836,42 +859,30 @@ CalculateProcessCreationTimestamp()
+ #endif
+ return timestamp;
+ }
+-#elif defined(XP_MACOSX)
++#elif defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
+ static PRTime
+ CalculateProcessCreationTimestamp()
+ {
+- int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid() };
+- size_t buffer_size;
+- if (sysctl(mib, 4, NULL, &buffer_size, NULL, 0))
+- return 0;
++ int mib[] = {
++ CTL_KERN,
++ KERN_PROC,
++ KERN_PROC_PID,
++ getpid(),
++#if defined(__NetBSD__) || defined(__OpenBSD__)
++ sizeof(KINFO_PROC),
++ 1,
++#endif
++ };
++ u_int miblen = sizeof(mib) / sizeof(mib[0]);
+
+- struct kinfo_proc *proc = (kinfo_proc*) malloc(buffer_size);
+- if (sysctl(mib, 4, proc, &buffer_size, NULL, 0)) {
+- free(proc);
+- return 0;
+- }
+- PRTime starttime = static_cast<PRTime>(proc->kp_proc.p_un.__p_starttime.tv_sec) * PR_USEC_PER_SEC;
+- starttime += proc->kp_proc.p_un.__p_starttime.tv_usec;
+- free(proc);
+- return starttime;
+-}
+-#elif defined(__OpenBSD__)
+-static PRTime
+-CalculateProcessCreationTimestamp()
+-{
+- int mib[6] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid(), sizeof(struct kinfo_proc), 1 };
+- size_t buffer_size;
+- if (sysctl(mib, 6, NULL, &buffer_size, NULL, 0))
++ KINFO_PROC proc;
++ size_t buffer_size = sizeof(proc);
++ if (sysctl(mib, miblen, &proc, &buffer_size, NULL, 0))
+ return 0;
+
+- struct kinfo_proc *proc = (struct kinfo_proc*) malloc(buffer_size);
+- if (sysctl(mib, 6, proc, &buffer_size, NULL, 0)) {
+- free(proc);
+- return 0;
+- }
+- PRTime starttime = static_cast<PRTime>(proc->p_ustart_sec) * PR_USEC_PER_SEC;
+- starttime += proc->p_ustart_usec;
+- free(proc);
++ PRTime starttime = static_cast<PRTime>(proc.KP_START_SEC) * PR_USEC_PER_SEC;
++ starttime += proc.KP_START_USEC;
+ return starttime;
+ }
+ #else
diff --git a/www/seamonkey/files/patch-bug791305 b/www/seamonkey/files/patch-bug791305
new file mode 100644
index 000000000000..e4c44a405f57
--- /dev/null
+++ b/www/seamonkey/files/patch-bug791305
@@ -0,0 +1,107 @@
+commit c269a16
+Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
+Date: Fri Sep 14 15:54:55 2012 -0400
+
+ Bug 791305. Use libjpeg's color conversion code instead of our own. r=joe,r=khuey
+
+ libjpeg-turbo supports converting directly to a format compatible with cairo's
+ FORMAT_RGB24. Use that instead of our own handcoded function. This also gives
+ us SSE2 and NEON version of this function.
+
+ --HG--
+ extra : rebase_source : 18f48925f023a33ec2a097d4f4e5cc2ab40be1e9
+---
+ configure.in | 6 +-
+ image/decoders/nsJPEGDecoder.cpp | 311 ++-------------------------------------
+ 2 files changed, 20 insertions(+), 297 deletions(-)
+
+diff --git mozilla/image/decoders/nsJPEGDecoder.cpp mozilla/image/decoders/nsJPEGDecoder.cpp
+index c1fb515..1d2a259 100644
+--- mozilla/image/decoders/nsJPEGDecoder.cpp
++++ mozilla/image/decoders/nsJPEGDecoder.cpp
+@@ -22,6 +22,13 @@
+ extern "C" {
+ #include "iccjpeg.h"
+
++#ifdef JCS_EXTENSIONS
++#if defined(IS_BIG_ENDIAN)
++#define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_XRGB
++#else
++#define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_BGRX
++#endif
++#else
+ /* Colorspace conversion (copied from jpegint.h) */
+ struct jpeg_color_deconverter {
+ JMETHOD(void, start_pass, (j_decompress_ptr cinfo));
+@@ -34,6 +41,7 @@ METHODDEF(void)
+ ycc_rgb_convert_argb (j_decompress_ptr cinfo,
+ JSAMPIMAGE input_buf, JDIMENSION input_row,
+ JSAMPARRAY output_buf, int num_rows);
++#endif
+ }
+
+ static void cmyk_convert_rgb(JSAMPROW row, JDIMENSION width);
+@@ -329,7 +340,18 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount)
+ case JCS_GRAYSCALE:
+ case JCS_RGB:
+ case JCS_YCbCr:
++#ifdef JCS_EXTENSIONS
++ // if we're not color managing we can decode directly to
++ // MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB
++ if (mCMSMode != eCMSMode_All) {
++ mInfo.out_color_space = MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB;
++ mInfo.out_color_components = 4;
++ } else {
++ mInfo.out_color_space = JCS_RGB;
++ }
++#else
+ mInfo.out_color_space = JCS_RGB;
++#endif
+ break;
+ case JCS_CMYK:
+ case JCS_YCCK:
+@@ -397,6 +419,7 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount)
+ return; /* I/O suspension */
+ }
+
++#ifndef JCS_EXTENSIONS
+ /* Force to use our YCbCr to Packed RGB converter when possible */
+ if (!mTransform && (mCMSMode != eCMSMode_All) &&
+ mInfo.jpeg_color_space == JCS_YCbCr && mInfo.out_color_space == JCS_RGB) {
+@@ -404,6 +427,7 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, PRUint32 aCount)
+ mInfo.out_color_components = 4; /* Packed ARGB pixels are always 4 bytes...*/
+ mInfo.cconvert->color_convert = ycc_rgb_convert_argb;
+ }
++#endif
+
+ /* If this is a progressive JPEG ... */
+ mState = mInfo.buffered_image ? JPEG_DECOMPRESS_PROGRESSIVE : JPEG_DECOMPRESS_SEQUENTIAL;
+@@ -542,7 +566,11 @@ nsJPEGDecoder::OutputScanlines(bool* suspend)
+ PRUint32 *imageRow = ((PRUint32*)mImageData) +
+ (mInfo.output_scanline * mInfo.output_width);
+
++#ifdef JCS_EXTENSIONS
++ if (mInfo.out_color_space == MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB) {
++#else
+ if (mInfo.cconvert->color_convert == ycc_rgb_convert_argb) {
++#endif
+ /* Special case: scanline will be directly converted into packed ARGB */
+ if (jpeg_read_scanlines(&mInfo, (JSAMPARRAY)&imageRow, 1) != 1) {
+ *suspend = true; /* suspend */
+@@ -858,6 +887,7 @@ term_source (j_decompress_ptr jd)
+ } // namespace mozilla
+
+
++#ifndef JCS_EXTENSIONS
+ /**************** YCbCr -> Cairo's RGB24/ARGB32 conversion: most common case **************/
+
+ /*
+@@ -1130,7 +1160,8 @@ ycc_rgb_convert_argb (j_decompress_ptr cinfo,
+ }
+ }
+ }
++#endif
+
+
+ /**************** Inverted CMYK -> RGB conversion **************/
+ /*
diff --git a/www/seamonkey/files/patch-bug791366 b/www/seamonkey/files/patch-bug791366
new file mode 100644
index 000000000000..90e9e523bbbe
--- /dev/null
+++ b/www/seamonkey/files/patch-bug791366
@@ -0,0 +1,95 @@
+diff --git mozilla/xpcom/base/nsMemoryReporterManager.cpp mozilla/xpcom/base/nsMemoryReporterManager.cpp
+index a9aff58..674e757 100644
+--- mozilla/xpcom/base/nsMemoryReporterManager.cpp
++++ mozilla/xpcom/base/nsMemoryReporterManager.cpp
+@@ -32,7 +32,7 @@ using namespace mozilla;
+ # include "jemalloc.h"
+ #endif // MOZ_MEMORY
+
+-#if defined(XP_LINUX) || defined(XP_MACOSX) || defined(SOLARIS)
++#ifdef XP_UNIX
+
+ #include <sys/time.h>
+ #include <sys/resource.h>
+@@ -95,6 +95,81 @@ static nsresult GetResident(PRInt64 *n)
+ return GetProcSelfStatmField(1, n);
+ }
+
++#elif defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
++
++#include <sys/param.h>
++#include <sys/sysctl.h>
++#if defined(__DragonFly__) || defined(__FreeBSD__)
++#include <sys/user.h>
++#endif
++
++#include <unistd.h>
++
++#if defined(__NetBSD__)
++#undef KERN_PROC
++#define KERN_PROC KERN_PROC2
++#define KINFO_PROC struct kinfo_proc2
++#else
++#define KINFO_PROC struct kinfo_proc
++#endif
++
++#if defined(__DragonFly__)
++#define KP_SIZE(kp) (kp.kp_vm_map_size)
++#define KP_RSS(kp) (kp.kp_vm_rssize * getpagesize())
++#elif defined(__FreeBSD__)
++#define KP_SIZE(kp) (kp.ki_size)
++#define KP_RSS(kp) (kp.ki_rssize * getpagesize())
++#elif defined(__NetBSD__)
++#define KP_SIZE(kp) (kp.p_vm_msize * getpagesize())
++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize())
++#elif defined(__OpenBSD__)
++#define KP_SIZE(kp) ((kp.p_vm_dsize + kp.p_vm_ssize \
++ + kp.p_vm_tsize) * getpagesize())
++#define KP_RSS(kp) (kp.p_vm_rssize * getpagesize())
++#endif
++
++static nsresult GetKinfoProcSelf(KINFO_PROC *proc)
++{
++ int mib[] = {
++ CTL_KERN,
++ KERN_PROC,
++ KERN_PROC_PID,
++ getpid(),
++#if defined(__NetBSD__) || defined(__OpenBSD__)
++ sizeof(KINFO_PROC),
++ 1,
++#endif
++ };
++ u_int miblen = sizeof(mib) / sizeof(mib[0]);
++ size_t size = sizeof(KINFO_PROC);
++ if (sysctl(mib, miblen, proc, &size, NULL, 0))
++ return NS_ERROR_FAILURE;
++
++ return NS_OK;
++}
++
++#define HAVE_VSIZE_AND_RESIDENT_REPORTERS 1
++static nsresult GetVsize(PRInt64 *n)
++{
++ KINFO_PROC proc;
++ nsresult rv = GetKinfoProcSelf(&proc);
++ if (NS_SUCCEEDED(rv))
++ *n = KP_SIZE(proc);
++
++ return rv;
++}
++
++static nsresult GetResident(PRInt64 *n)
++{
++ KINFO_PROC proc;
++ nsresult rv = GetKinfoProcSelf(&proc);
++ if (NS_SUCCEEDED(rv))
++ *n = KP_RSS(proc);
++
++ return rv;
++}
++
+ #elif defined(SOLARIS)
+
+ #include <procfs.h>
diff --git a/www/firefox/files/patch-config_autoconf.mk.in b/www/seamonkey/files/patch-config-autoconf.mk.in
index 877c48294fc6..877c48294fc6 100644
--- a/www/firefox/files/patch-config_autoconf.mk.in
+++ b/www/seamonkey/files/patch-config-autoconf.mk.in
diff --git a/www/seamonkey/files/patch-config-baseconfig.mk b/www/seamonkey/files/patch-config-baseconfig.mk
new file mode 100644
index 000000000000..f789129c3ba4
--- /dev/null
+++ b/www/seamonkey/files/patch-config-baseconfig.mk
@@ -0,0 +1,16 @@
+--- mozilla/config/baseconfig.mk~
++++ mozilla/config/baseconfig.mk
+@@ -1,9 +1,9 @@
+ INCLUDED_AUTOCONF_MK = 1
+
+-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)
+-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
++includedir := $(includedir)/%%MOZILLA%%
++idldir = $(datadir)/idl/%%MOZILLA%%
++installdir = $(libdir)/%%MOZILLA%%
++sdkdir = $(libdir)/%%MOZILLA%%
+ DIST = $(DEPTH)/dist
+
+ # We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't
diff --git a/www/seamonkey/files/patch-config_autoconf.mk.in b/www/seamonkey/files/patch-config_autoconf.mk.in
deleted file mode 100644
index ee718ec2a181..000000000000
--- a/www/seamonkey/files/patch-config_autoconf.mk.in
+++ /dev/null
@@ -1,21 +0,0 @@
---- config/autoconf.mk.in.orig 2011-08-17 10:26:35.000000000 +0200
-+++ config/autoconf.mk.in 2011-08-17 10:27:16.000000000 +0200
-@@ -60,14 +60,14 @@
- prefix = @prefix@
- exec_prefix = @exec_prefix@
- bindir = @bindir@
--includedir = @includedir@/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-+includedir = @includedir@/%%MOZILLA%%
- libdir = @libdir@
- datadir = @datadir@
- mandir = @mandir@
--idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-+idldir = $(datadir)/idl/%%MOZILLA%%
-
--installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
--sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
-+installdir = $(libdir)/%%MOZILLA%%
-+sdkdir = $(libdir)/%%MOZILLA%%
-
- MOZDEPTH = $(DEPTH)/mozilla
- DIST = $(MOZDEPTH)/dist
diff --git a/www/seamonkey/files/patch-mozilla-content-media-nsAudioStream.cpp b/www/seamonkey/files/patch-mozilla-content-media-nsAudioStream.cpp
new file mode 100644
index 000000000000..f31ba356b0ab
--- /dev/null
+++ b/www/seamonkey/files/patch-mozilla-content-media-nsAudioStream.cpp
@@ -0,0 +1,14 @@
+--- mozilla/content/media/nsAudioStream.cpp~
++++ mozilla/content/media/nsAudioStream.cpp
+@@ -298,7 +298,11 @@ static int PrefChanged(const char* aPref
+ gVolumeScale = NS_MAX<double>(0, PR_strtod(utf8.get(), nsnull));
+ }
+ } else if (strcmp(aPref, PREF_USE_CUBEB) == 0) {
++#if defined(__FreeBSD__) && __FreeBSD_version < 800097
++ bool value = Preferences::GetBool(aPref, false);
++#else
+ bool value = Preferences::GetBool(aPref, true);
++#endif
+ mozilla::MutexAutoLock lock(*gAudioPrefsLock);
+ gUseCubeb = value;
+ } else if (strcmp(aPref, PREF_CUBEB_LATENCY) == 0) {
diff --git a/www/seamonkey/files/patch-mozilla-extensions-spellcheck-hunspell-src-mozHunspell.cpp b/www/seamonkey/files/patch-mozilla-extensions-spellcheck-hunspell-src-mozHunspell.cpp
new file mode 100644
index 000000000000..32241fdfe270
--- /dev/null
+++ b/www/seamonkey/files/patch-mozilla-extensions-spellcheck-hunspell-src-mozHunspell.cpp
@@ -0,0 +1,15 @@
+--- mozilla/extensions/spellcheck/hunspell/src/mozHunspell.cpp~
++++ mozilla/extensions/spellcheck/hunspell/src/mozHunspell.cpp
+@@ -400,6 +400,12 @@ mozHunspell::LoadDictionaryList()
+ }
+ }
+
++ // load system hunspell dictionaries
++ nsIFile* hunDir;
++ NS_NewNativeLocalFile(NS_LITERAL_CSTRING("%%LOCALBASE%%/share/hunspell"),
++ true, &hunDir);
++ LoadDictionariesFromDir(hunDir);
++
+ // find dictionaries from extensions requiring restart
+ nsCOMPtr<nsISimpleEnumerator> dictDirs;
+ rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST,