aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeat Gaetzi <beat@FreeBSD.org>2014-12-08 15:19:42 +0000
committerBeat Gaetzi <beat@FreeBSD.org>2014-12-08 15:19:42 +0000
commit09dc6e3e6889b79166aa1921c70862e797292fe7 (patch)
tree20a7f079cfe699e5a0470a20835a49e36e906795
parent7f3ae38faf52ffeeabd1fec13b3bdd24d3e4c890 (diff)
downloadports-09dc6e3e6889b79166aa1921c70862e797292fe7.tar.gz
ports-09dc6e3e6889b79166aa1921c70862e797292fe7.zip
MFH: r373830
- Update Thunderbird to 31.3.0 - Update gmp-api to 35.0 - Update openh264 to 1.2 - Update NSS to 3.17.3 - Update Firefox to 34.0.5 - Update Firefox ESR 31.3.0 - Update libxul to 31.3.0 - Improve CONFIGURE_TARGET handling - Always build using client.mk - Switch to clang by default on systems without libc++ (/stable/8 and /stable/9) - Drop lang/python2 dependency, only lang/python27 is required to build - Use DuckDuckGo searchplugin from upstream (has suggestions and purposes) - Backport a few about:memory fixes - Backport Web Notifications libnotify integration - Add GTK3 option for www/firefox. Adwaita is a bit broken since Gtk 3.14, see: https://bugzilla.mozilla.org/show_bug.cgi?id=1073117 PR: 195559 Submitted by: Jan Beich Security: http://vuxml.org/freebsd/7ae61870-9dd2-4884-a2f2-f19bb5784d09.html Approved by: portmgr (bapt)
Notes
Notes: svn path=/branches/2014Q4/; revision=374273
-rw-r--r--Mk/Uses/gecko.mk6
-rw-r--r--Mk/bsd.gecko.mk45
-rw-r--r--mail/linux-thunderbird/Makefile2
-rw-r--r--mail/linux-thunderbird/distinfo4
-rw-r--r--mail/thunderbird-i18n/Makefile2
-rw-r--r--mail/thunderbird-i18n/distinfo220
-rw-r--r--mail/thunderbird/Makefile35
-rw-r--r--mail/thunderbird/distinfo4
-rw-r--r--mail/thunderbird/files/patch-bug107698345
-rw-r--r--mail/thunderbird/files/patch-bug108219926
-rw-r--r--mail/thunderbird/files/patch-bug110385842
-rw-r--r--mail/thunderbird/files/patch-bug858919391
-rw-r--r--multimedia/gmp-api/Makefile4
-rw-r--r--multimedia/gmp-api/distinfo4
-rw-r--r--multimedia/openh264/Makefile8
-rw-r--r--multimedia/openh264/distinfo4
-rw-r--r--multimedia/openh264/files/patch-Makefile12
-rw-r--r--security/ca_root_nss/Makefile2
-rw-r--r--security/ca_root_nss/distinfo4
-rw-r--r--security/nss/Makefile2
-rw-r--r--security/nss/distinfo4
-rw-r--r--www/firefox-esr-i18n/Makefile2
-rw-r--r--www/firefox-esr-i18n/distinfo356
-rw-r--r--www/firefox-esr/Makefile25
-rw-r--r--www/firefox-esr/distinfo4
-rw-r--r--www/firefox-esr/files/patch-bug106173650
-rw-r--r--www/firefox-esr/files/patch-bug107698345
-rw-r--r--www/firefox-esr/files/patch-bug108219926
-rw-r--r--www/firefox-esr/files/patch-bug110385842
-rw-r--r--www/firefox-esr/files/patch-bug858919391
-rw-r--r--www/firefox-esr/files/patch-duckduckgo47
-rw-r--r--www/firefox-i18n/Makefile4
-rw-r--r--www/firefox-i18n/Makefile.lang14
-rw-r--r--www/firefox-i18n/Makefile.option5
-rw-r--r--www/firefox-i18n/distinfo356
-rw-r--r--www/firefox/Makefile42
-rw-r--r--www/firefox/distinfo4
-rw-r--r--www/firefox/files/patch-bug102176148
-rw-r--r--www/firefox/files/patch-bug104138112
-rw-r--r--www/firefox/files/patch-bug104622426
-rw-r--r--www/firefox/files/patch-bug107698345
-rw-r--r--www/firefox/files/patch-bug108219926
-rw-r--r--www/firefox/files/patch-bug109759241
-rw-r--r--www/firefox/files/patch-bug110385842
-rw-r--r--www/firefox/files/patch-bug70217934
-rw-r--r--www/firefox/files/patch-bug82698543
-rw-r--r--www/firefox/files/patch-bug847568196
-rw-r--r--www/firefox/files/patch-bug858919394
-rw-r--r--www/firefox/files/patch-bug877605305
-rw-r--r--www/firefox/files/patch-bug89912698
-rw-r--r--www/firefox/files/patch-duckduckgo47
-rw-r--r--www/firefox/files/patch-system-openh2646
-rw-r--r--www/firefox/files/patch-z-bug517422395
-rw-r--r--www/libxul/Makefile25
-rw-r--r--www/libxul/distinfo4
-rw-r--r--www/libxul/files/patch-bug106173650
-rw-r--r--www/libxul/files/patch-bug107698345
-rw-r--r--www/libxul/files/patch-bug108219926
-rw-r--r--www/libxul/files/patch-bug110385842
-rw-r--r--www/libxul/files/patch-bug858919391
-rw-r--r--www/libxul/files/patch-duckduckgo47
-rw-r--r--www/linux-firefox/Makefile2
-rw-r--r--www/linux-firefox/distinfo4
-rw-r--r--www/linux-firefox/pkg-plist2
64 files changed, 3338 insertions, 1337 deletions
diff --git a/Mk/Uses/gecko.mk b/Mk/Uses/gecko.mk
index caa755ec9109..2b0e2abd2418 100644
--- a/Mk/Uses/gecko.mk
+++ b/Mk/Uses/gecko.mk
@@ -37,12 +37,12 @@ RUN_DEPENDS+= libxul>=31:${PORTSDIR}/www/libxul
.elif ${gecko_ARGS:Mfirefox}
_GECKO_DEFAULT_VERSION= 31
-_GECKO_VERSIONS= 31 33
+_GECKO_VERSIONS= 31 34
_GECKO_TYPE= firefox
# Dependence lines for different Firefox versions
31_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox-esr
-33_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox
+34_DEPENDS= ${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox
.if exists(${LOCALBASE}/bin/firefox)
_GECKO_INSTALLED_VER!= ${LOCALBASE}/bin/firefox --version 2>/dev/null
@@ -94,7 +94,7 @@ _GECKO_WANTED_VERSIONS:= ${_GECKO_VERSION:M[0-9][0-9]}
_GECKO_WANTED_VERSIONS?= ${_GECKO_DEFAULT_VERSION}
.if defined(_GECKO_MIN_VERSION)
-. for _v in _GECKO_VERSIONS
+. for _v in ${_GECKO_VERSIONS}
. if ${_GECKO_MIN_VERSION} <= ${_v}
_GECKO_WANTED_VERSIONS+= ${_v}
. endif
diff --git a/Mk/bsd.gecko.mk b/Mk/bsd.gecko.mk
index d9e7b0464e00..5fd363d5e122 100644
--- a/Mk/bsd.gecko.mk
+++ b/Mk/bsd.gecko.mk
@@ -85,8 +85,8 @@ MOZILLA_VER?= ${PORTVERSION}
MOZILLA_BIN?= ${PORTNAME}-bin
MOZILLA_EXEC_NAME?=${MOZILLA}
MOZ_RPATH?= ${MOZILLA}
-USES+= cpe compiler:c++11-lib gmake iconv perl5 pkgconfig \
- python:2,build desktop-file-utils
+USES+= cpe compiler:c++11-lang gmake iconv perl5 pkgconfig \
+ python:2.7,build desktop-file-utils
CPE_VENDOR?=mozilla
USE_PERL5= build
USE_XORG= xext xrender xt
@@ -96,10 +96,14 @@ MOZSRC?= ${WRKSRC}
WRKSRC?= ${WRKDIR}/mozilla
PLISTF?= ${WRKDIR}/plist_files
+MOZ_OBJDIR?= ${WRKSRC}/obj-${CONFIGURE_TARGET}
+
MOZ_PIS_DIR?= lib/${MOZILLA}/init.d
PORT_MOZCONFIG?= ${FILESDIR}/mozconfig.in
MOZCONFIG?= ${WRKSRC}/.mozconfig
+# XXX Not ?= because fmake uses MAKEFILE internally
+MAKEFILE= ${WRKSRC}/client.mk
MOZILLA_PLIST_DIRS?= bin lib share/pixmaps share/applications
PKGINSTALL?= ${WRKDIR}/pkg-install
PKGDEINSTALL?= ${WRKDIR}/pkg-deinstall
@@ -109,9 +113,13 @@ PKGDEINSTALL_INC?= ${.CURDIR}/../../www/firefox/files/pkg-deinstall.in
MOZ_PKGCONFIG_FILES?= ${MOZILLA}-gtkmozembed ${MOZILLA}-js \
${MOZILLA}-xpcom ${MOZILLA}-plugin
+ALL_TARGET?= build
+
+CONFIGURE_TARGET:=${ARCH:C/amd64/x86_64/}-portbld-${OPSYS:tl}${OSREL}
MOZ_EXPORT+= ${CONFIGURE_ENV} \
PERL="${PERL}"
-MOZ_OPTIONS+= --prefix="${PREFIX}"
+MOZ_OPTIONS+= ${CONFIGURE_TARGET} --prefix="${PREFIX}"
+MOZ_MK_OPTIONS+=MOZ_OBJDIR="${MOZ_OBJDIR}"
CPPFLAGS+= -isystem${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib -Wl,-rpath,${PREFIX}/lib/${MOZILLA}
@@ -330,8 +338,6 @@ MOZ_OPTIONS+= --disable-libproxy
USES:= compiler:gcc-c++11-lib ${USES:Ncompiler*c++11*}
USE_DISPLAY=yes
-.undef GNU_CONFIGURE
-MAKEFILE= ${WRKSRC}/client.mk
ALL_TARGET= profiledbuild
MOZ_EXPORT+=MOZ_OPTIMIZE_FLAGS="-Os" MOZ_PGO_OPTIMIZE_FLAGS="${CFLAGS:M-O*}"
.endif
@@ -428,7 +434,6 @@ MOZ_SED_ARGS+= -e's|@CPPFLAGS@|${CPPFLAGS}|g' \
MOZCONFIG_SED?= ${SED} ${MOZ_SED_ARGS}
.if ${ARCH} == amd64
-CONFIGURE_TARGET=x86_64-unknown-${OPSYS:tl}${OSREL}
. if ${USE_MOZILLA:M-nss}
USE_BINUTILS= # intel-gcm.s
CFLAGS+= -B${LOCALBASE}/bin
@@ -450,17 +455,6 @@ CFLAGS+= -mminimal-toc
MOZ_OPTIONS+= --disable-v1-string-abi
.endif
-.if defined(OBJDIR_BUILD)
-CONFIGURE_SCRIPT=../configure
-
-MOZ_OBJDIR= ${WRKSRC}/obj-${CONFIGURE_TARGET}
-CONFIGURE_WRKSRC=${MOZ_OBJDIR}
-BUILD_WRKSRC= ${MOZ_OBJDIR}
-INSTALL_WRKSRC= ${MOZ_OBJDIR}
-.else
-MOZ_OBJDIR= ${WRKSRC}
-.endif
-
.else # bsd.port.post.mk
pre-extract: gecko-pre-extract
@@ -566,17 +560,14 @@ gecko-moz-pis-patch:
@${MOZCONFIG_SED} < ${FILESDIR}/${moz} > ${WRKDIR}/${moz}
.endfor
-pre-configure: gecko-pre-configure
-
-gecko-pre-configure:
-.if defined(OBJDIR_BUILD)
- ${MKDIR} ${MOZ_OBJDIR}
-.endif
-
-post-configure: gecko-post-configure
+do-configure: gecko-do-configure
-gecko-post-configure:
- @${ECHO_CMD} "#define JNIIMPORT" >> ${MOZSRC}/mozilla-config.h
+gecko-do-configure:
+ @(if ! ${CONFIGURE_ENV} ${DO_MAKE_BUILD} configure; then \
+ ${ECHO_MSG} "===> Script \"${CONFIGURE_SCRIPT}\" failed unexpectedly."; \
+ (${ECHO_CMD} ${CONFIGURE_FAIL_MESSAGE}) | ${FMT} 75 79 ; \
+ ${FALSE}; \
+ fi)
pre-install: gecko-moz-pis-pre-install
post-install-script: gecko-create-plist
diff --git a/mail/linux-thunderbird/Makefile b/mail/linux-thunderbird/Makefile
index 9e93133f6064..6c54f77e4ead 100644
--- a/mail/linux-thunderbird/Makefile
+++ b/mail/linux-thunderbird/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= thunderbird
-DISTVERSION= 31.2.0
+DISTVERSION= 31.3.0
CATEGORIES= mail news net-im ipv6
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US
diff --git a/mail/linux-thunderbird/distinfo b/mail/linux-thunderbird/distinfo
index cd6b5336f427..228f097cafa8 100644
--- a/mail/linux-thunderbird/distinfo
+++ b/mail/linux-thunderbird/distinfo
@@ -1,5 +1,5 @@
-SHA256 (thunderbird-31.2.0.tar.bz2) = 4c4da90f383d7b43e97e471656a6cfbbd44d1b80d57b8b2405497678aced46b5
-SIZE (thunderbird-31.2.0.tar.bz2) = 33559450
+SHA256 (thunderbird-31.3.0.tar.bz2) = fe6ade66ad90c811a5c3832bd9b0bb61f25835f43acdf150d9dda866fbe331dd
+SIZE (thunderbird-31.3.0.tar.bz2) = 33397719
SHA256 (glib2-2.22.2-2.fc12.i686.rpm) = e3b459c245ec14e7248e9de4b506963a4773407f3e58835db5070d0ed02ecc99
SIZE (glib2-2.22.2-2.fc12.i686.rpm) = 1162908
SHA256 (gtk2-2.18.3-19.fc12.i686.rpm) = aea9cf7ffe9c8dae0faa2bf3d2aa1b2117c55dce03da72dcce8c268279ec0a4b
diff --git a/mail/thunderbird-i18n/Makefile b/mail/thunderbird-i18n/Makefile
index 11dd8bcc67ec..559417516d41 100644
--- a/mail/thunderbird-i18n/Makefile
+++ b/mail/thunderbird-i18n/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= thunderbird-i18n
-PORTVERSION= 31.2.0
+PORTVERSION= 31.3.0
CATEGORIES= mail news net-im
MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}/linux-i686/xpi
PKGNAMEPREFIX=
diff --git a/mail/thunderbird-i18n/distinfo b/mail/thunderbird-i18n/distinfo
index 094926733cba..0561b88bd209 100644
--- a/mail/thunderbird-i18n/distinfo
+++ b/mail/thunderbird-i18n/distinfo
@@ -1,110 +1,110 @@
-SHA256 (xpi/thunderbird-i18n-31.2.0/ar.xpi) = de2222b5edbe334c323086d2f4742b3d89abf53ea9d04e7b145b56e06203490a
-SIZE (xpi/thunderbird-i18n-31.2.0/ar.xpi) = 472812
-SHA256 (xpi/thunderbird-i18n-31.2.0/ast.xpi) = 5d8a3d7cf8a8777595d9427f9ef9fa50af9e42d3c02fb0eaf23bc98ee5fc673d
-SIZE (xpi/thunderbird-i18n-31.2.0/ast.xpi) = 393049
-SHA256 (xpi/thunderbird-i18n-31.2.0/be.xpi) = f8228331079c95d98aff60c49039b41bc494c10074b19d92850d0abc88b94da2
-SIZE (xpi/thunderbird-i18n-31.2.0/be.xpi) = 427488
-SHA256 (xpi/thunderbird-i18n-31.2.0/bg.xpi) = 4c7ec26c111e810476f8308a2b65c1fd754c9a970eec04440a186cab9487dd5b
-SIZE (xpi/thunderbird-i18n-31.2.0/bg.xpi) = 493734
-SHA256 (xpi/thunderbird-i18n-31.2.0/bn-BD.xpi) = 41cd06883895d4813f140aeb2c9592ded5c1971e035373a79ff9484dc731e8de
-SIZE (xpi/thunderbird-i18n-31.2.0/bn-BD.xpi) = 555613
-SHA256 (xpi/thunderbird-i18n-31.2.0/br.xpi) = a4fbe64d4b4e2c4a0c92a1679459b774b6f19838203661c97bfdd4bd132e0918
-SIZE (xpi/thunderbird-i18n-31.2.0/br.xpi) = 441444
-SHA256 (xpi/thunderbird-i18n-31.2.0/ca.xpi) = ff37b69e48d8fe429a981bce805cf6470f21ccfb9718762aa49fbe16246e0e6a
-SIZE (xpi/thunderbird-i18n-31.2.0/ca.xpi) = 441713
-SHA256 (xpi/thunderbird-i18n-31.2.0/cs.xpi) = 11c4d4d9aa51b4db454ea0aa3164d62ed17c6b108be18b28bf2eacf626546737
-SIZE (xpi/thunderbird-i18n-31.2.0/cs.xpi) = 444701
-SHA256 (xpi/thunderbird-i18n-31.2.0/da.xpi) = c11a949b9e20375542b72dfd631091db3ae29040cf32f15cf661c141b72d9503
-SIZE (xpi/thunderbird-i18n-31.2.0/da.xpi) = 422051
-SHA256 (xpi/thunderbird-i18n-31.2.0/de.xpi) = c5a529579a4884a9efd7dade99fda51fb17f1918e68439719c4d4cb9f303d908
-SIZE (xpi/thunderbird-i18n-31.2.0/de.xpi) = 424665
-SHA256 (xpi/thunderbird-i18n-31.2.0/el.xpi) = 3a60bd9b6d3806794ae7a45f5ed51ddaed0cc7d3d4eefb32e1a048e92e3bd617
-SIZE (xpi/thunderbird-i18n-31.2.0/el.xpi) = 484855
-SHA256 (xpi/thunderbird-i18n-31.2.0/en-GB.xpi) = 2d96c8962746fe12c42d6d161d0993c317344b6ce236689a33554f432832922b
-SIZE (xpi/thunderbird-i18n-31.2.0/en-GB.xpi) = 412515
-SHA256 (xpi/thunderbird-i18n-31.2.0/en-US.xpi) = b3ce584db1780e96d42284945d5accde989ee747bbe5d56fa26df500a4f8655d
-SIZE (xpi/thunderbird-i18n-31.2.0/en-US.xpi) = 413660
-SHA256 (xpi/thunderbird-i18n-31.2.0/es-AR.xpi) = 24b5ce7d75676056103ae24c589b19e707c94ad1e79dc5cb8d9aa85abeef40a2
-SIZE (xpi/thunderbird-i18n-31.2.0/es-AR.xpi) = 438531
-SHA256 (xpi/thunderbird-i18n-31.2.0/es-ES.xpi) = 2d879a455caac1fb21cf7f4cbedd0a685e8a13c4048d9182c0027ee7b947f398
-SIZE (xpi/thunderbird-i18n-31.2.0/es-ES.xpi) = 374979
-SHA256 (xpi/thunderbird-i18n-31.2.0/et.xpi) = 1f7a2196700782542290c7c28d0da7c6f9e958f8ff9c2e00318c4bfe4fa26f97
-SIZE (xpi/thunderbird-i18n-31.2.0/et.xpi) = 434364
-SHA256 (xpi/thunderbird-i18n-31.2.0/eu.xpi) = 006bc0dad91e8ed9d5b1b0b812171a147bc34fb5b8159f5b990a14b34e426941
-SIZE (xpi/thunderbird-i18n-31.2.0/eu.xpi) = 431448
-SHA256 (xpi/thunderbird-i18n-31.2.0/fi.xpi) = 0ee12f069f1ca5e36873b5ed7ddf42539358dbee321dd2c60c9d86c0b099ad87
-SIZE (xpi/thunderbird-i18n-31.2.0/fi.xpi) = 435632
-SHA256 (xpi/thunderbird-i18n-31.2.0/fr.xpi) = db6cc05b0c2ba94130cf065e4ee9c0440c5583bed557e46453a1cbc0df3c2cb4
-SIZE (xpi/thunderbird-i18n-31.2.0/fr.xpi) = 444144
-SHA256 (xpi/thunderbird-i18n-31.2.0/fy-NL.xpi) = 041ade3e98acdcb4ef5589aea49c9c8cd49730fd117d7fc0f45c4a24db9235d9
-SIZE (xpi/thunderbird-i18n-31.2.0/fy-NL.xpi) = 438545
-SHA256 (xpi/thunderbird-i18n-31.2.0/ga-IE.xpi) = f25ca1b71b9ab326a08a74492de3bf7ab276751e79ac3bba97e017b6d63b35a0
-SIZE (xpi/thunderbird-i18n-31.2.0/ga-IE.xpi) = 449362
-SHA256 (xpi/thunderbird-i18n-31.2.0/gd.xpi) = f520c4ffff9903ae8277f59c90e3d0a8f7c3dbdfcf08f7a09eed5e52be28ab75
-SIZE (xpi/thunderbird-i18n-31.2.0/gd.xpi) = 453171
-SHA256 (xpi/thunderbird-i18n-31.2.0/gl.xpi) = 49e151a0e9fb797534095177a36c8323f4b21af7c3b0cd119cddb5c8c3991a38
-SIZE (xpi/thunderbird-i18n-31.2.0/gl.xpi) = 446788
-SHA256 (xpi/thunderbird-i18n-31.2.0/he.xpi) = db3ec6a406074229b5d470147ed18c195d1c83ff002c9c6692e5a974fce68109
-SIZE (xpi/thunderbird-i18n-31.2.0/he.xpi) = 476111
-SHA256 (xpi/thunderbird-i18n-31.2.0/hr.xpi) = a79194cb6a188515b02591bb4d10aab2f0a4f51ad7d9de880e5f97b0d824b6bb
-SIZE (xpi/thunderbird-i18n-31.2.0/hr.xpi) = 436980
-SHA256 (xpi/thunderbird-i18n-31.2.0/hu.xpi) = 57ee1d724aed1a7afc67fcc58905f74c2d5694602ccc54218266a608611e90b8
-SIZE (xpi/thunderbird-i18n-31.2.0/hu.xpi) = 454542
-SHA256 (xpi/thunderbird-i18n-31.2.0/hy-AM.xpi) = 2626af0ff4cd8023c599abb158a5f61e4e507112f1c7ccf470bef16896a3224c
-SIZE (xpi/thunderbird-i18n-31.2.0/hy-AM.xpi) = 492765
-SHA256 (xpi/thunderbird-i18n-31.2.0/id.xpi) = a053c4935b4088c8fbb0850a73b4177ae854462f8ad37d130581879969fad498
-SIZE (xpi/thunderbird-i18n-31.2.0/id.xpi) = 475876
-SHA256 (xpi/thunderbird-i18n-31.2.0/is.xpi) = 63a39a88a75fabc271e09f8a8bed08388a1c3aa1fbb6b8a3e2946f7ba3ba008d
-SIZE (xpi/thunderbird-i18n-31.2.0/is.xpi) = 437959
-SHA256 (xpi/thunderbird-i18n-31.2.0/it.xpi) = b7a9c9454d038bda5138bbf73c30af650d79aa5de017c3d4eefd039cbfa6ca27
-SIZE (xpi/thunderbird-i18n-31.2.0/it.xpi) = 368001
-SHA256 (xpi/thunderbird-i18n-31.2.0/ja.xpi) = 128c6413771d621a80840f26d9248f52ca6d16456e032f2f754058dca233eab3
-SIZE (xpi/thunderbird-i18n-31.2.0/ja.xpi) = 489267
-SHA256 (xpi/thunderbird-i18n-31.2.0/ko.xpi) = 949d6bbc2c35c4fa2751a4efdd21d253f60c30e7ff975fd4b5806d89d1737a3c
-SIZE (xpi/thunderbird-i18n-31.2.0/ko.xpi) = 448920
-SHA256 (xpi/thunderbird-i18n-31.2.0/lt.xpi) = c6eb3433657dab7ebb01cbb86d0024aa49598a4fca61f500ed9e44c4e74fdc95
-SIZE (xpi/thunderbird-i18n-31.2.0/lt.xpi) = 456351
-SHA256 (xpi/thunderbird-i18n-31.2.0/nb-NO.xpi) = 2779fff656aaebaa852aa79c0685a801159a5d5b296bc239a871e0ca3b77558f
-SIZE (xpi/thunderbird-i18n-31.2.0/nb-NO.xpi) = 430941
-SHA256 (xpi/thunderbird-i18n-31.2.0/nl.xpi) = 21da7b7403d3c3746ff560a541dc87fdce9537fd14bfaee3904e936c426d4400
-SIZE (xpi/thunderbird-i18n-31.2.0/nl.xpi) = 431888
-SHA256 (xpi/thunderbird-i18n-31.2.0/nn-NO.xpi) = c79700f36907cde8d2a5788b121a7d0118f8b2471c72eda8f6aaf41f6049293b
-SIZE (xpi/thunderbird-i18n-31.2.0/nn-NO.xpi) = 433198
-SHA256 (xpi/thunderbird-i18n-31.2.0/pa-IN.xpi) = 899c8f1dc900280a44869bd5c4be649f30186c361b717a9e996d269c744fce7e
-SIZE (xpi/thunderbird-i18n-31.2.0/pa-IN.xpi) = 525323
-SHA256 (xpi/thunderbird-i18n-31.2.0/pl.xpi) = 489f30d45340cc7fdfc3a84d7459f464404ad5abd4cc72d4091c1e1c167f2533
-SIZE (xpi/thunderbird-i18n-31.2.0/pl.xpi) = 410872
-SHA256 (xpi/thunderbird-i18n-31.2.0/pt-BR.xpi) = 2459b15a8277d9c636f7380201f9636a98f7be66e695567bb545af21bed3f581
-SIZE (xpi/thunderbird-i18n-31.2.0/pt-BR.xpi) = 450477
-SHA256 (xpi/thunderbird-i18n-31.2.0/pt-PT.xpi) = f44efe77338e3bac23eb4e266a22e7e21c977db0b1740e2e2bb8978cb2724d75
-SIZE (xpi/thunderbird-i18n-31.2.0/pt-PT.xpi) = 439604
-SHA256 (xpi/thunderbird-i18n-31.2.0/rm.xpi) = b0f7e929ebe3e1c88b304e7df9cc3f5fc185effe1666bf5bebaab5874d1706d7
-SIZE (xpi/thunderbird-i18n-31.2.0/rm.xpi) = 439185
-SHA256 (xpi/thunderbird-i18n-31.2.0/ro.xpi) = 4c60b7a9233ed19b79f38f2c1acdd3c3c421e83866986720d36bc2dd5852c5ab
-SIZE (xpi/thunderbird-i18n-31.2.0/ro.xpi) = 479747
-SHA256 (xpi/thunderbird-i18n-31.2.0/ru.xpi) = 8098a2085dc282b70d5f2ec44a51676086d7e930c45056b8be8225529c0a93bd
-SIZE (xpi/thunderbird-i18n-31.2.0/ru.xpi) = 436156
-SHA256 (xpi/thunderbird-i18n-31.2.0/si.xpi) = 07a599cddff30ebdb245b03cf7fb3f10fd7dab77c7d5f72043a348147d9561b1
-SIZE (xpi/thunderbird-i18n-31.2.0/si.xpi) = 528812
-SHA256 (xpi/thunderbird-i18n-31.2.0/sk.xpi) = c2a10018d3a697735368112b957f84bfb1033567a04897e744e1a4d25cb91e1b
-SIZE (xpi/thunderbird-i18n-31.2.0/sk.xpi) = 452995
-SHA256 (xpi/thunderbird-i18n-31.2.0/sl.xpi) = 03391be8d12577f9e733e137818fdda4f4f28724ddbd4d9548e4ad26da94296a
-SIZE (xpi/thunderbird-i18n-31.2.0/sl.xpi) = 433874
-SHA256 (xpi/thunderbird-i18n-31.2.0/sq.xpi) = be5ba55ce94531b3dc84056e0433f78d341fe3b4f8ba5c68f67795aca44c8490
-SIZE (xpi/thunderbird-i18n-31.2.0/sq.xpi) = 454694
-SHA256 (xpi/thunderbird-i18n-31.2.0/sr.xpi) = e8f23cffa3b76f867dd0209f1f65a2b55d3f80245dbba9946b0f1993c1759791
-SIZE (xpi/thunderbird-i18n-31.2.0/sr.xpi) = 537335
-SHA256 (xpi/thunderbird-i18n-31.2.0/sv-SE.xpi) = 1760e8023cb00f33111279f25b60604613b682385aa735c2286fdd3d909853e2
-SIZE (xpi/thunderbird-i18n-31.2.0/sv-SE.xpi) = 436105
-SHA256 (xpi/thunderbird-i18n-31.2.0/ta-LK.xpi) = 1fe61ab35f687cd2389296783b7896b191bcc3ce02f7229404e1adc46360fe0e
-SIZE (xpi/thunderbird-i18n-31.2.0/ta-LK.xpi) = 553508
-SHA256 (xpi/thunderbird-i18n-31.2.0/tr.xpi) = a44cfd98890ab255a21b54991de71eca5f06a17e5cf825c01f8b7874ff2b2edd
-SIZE (xpi/thunderbird-i18n-31.2.0/tr.xpi) = 457360
-SHA256 (xpi/thunderbird-i18n-31.2.0/uk.xpi) = 7942f621505ce2270dbac9aecded2be7457aedf8ae345ffa776dfa5f3e524cb6
-SIZE (xpi/thunderbird-i18n-31.2.0/uk.xpi) = 499656
-SHA256 (xpi/thunderbird-i18n-31.2.0/vi.xpi) = 132981f1bdcf48ffb630965052713425d93fed862d0a87e9878c2196f64fd684
-SIZE (xpi/thunderbird-i18n-31.2.0/vi.xpi) = 513835
-SHA256 (xpi/thunderbird-i18n-31.2.0/zh-CN.xpi) = d6382bf21c901de5301a2ce4f2aaba839ba4ea3171bb2b965fca6876703c79cf
-SIZE (xpi/thunderbird-i18n-31.2.0/zh-CN.xpi) = 462668
-SHA256 (xpi/thunderbird-i18n-31.2.0/zh-TW.xpi) = 7704b9a4ed6f20c94b1390349614e18af643bf6d58b9cef38664afcc7048346f
-SIZE (xpi/thunderbird-i18n-31.2.0/zh-TW.xpi) = 463408
+SHA256 (xpi/thunderbird-i18n-31.3.0/ar.xpi) = 961c958edcb33301c6459c12a2589333c6e993cdd93be4511ecaf9ea575f8bf3
+SIZE (xpi/thunderbird-i18n-31.3.0/ar.xpi) = 472812
+SHA256 (xpi/thunderbird-i18n-31.3.0/ast.xpi) = 1582a7be9ac87115d5866ca72559018b7ce93ef6ffc3accc6c347d38dbb22bc4
+SIZE (xpi/thunderbird-i18n-31.3.0/ast.xpi) = 393049
+SHA256 (xpi/thunderbird-i18n-31.3.0/be.xpi) = e2c9c3d0ab8ce123d388aabe8b075805c95f4733dca1ae9eff7464eb23aed083
+SIZE (xpi/thunderbird-i18n-31.3.0/be.xpi) = 427488
+SHA256 (xpi/thunderbird-i18n-31.3.0/bg.xpi) = 37ce4d7cc4012171b26d83a5d77f30838e9d5a4058b18c7796da3c78cf3fcec9
+SIZE (xpi/thunderbird-i18n-31.3.0/bg.xpi) = 493734
+SHA256 (xpi/thunderbird-i18n-31.3.0/bn-BD.xpi) = 0d8a5ae252428c229c0c949d59e206d2fc82382a7128425a0194af6459f29ab2
+SIZE (xpi/thunderbird-i18n-31.3.0/bn-BD.xpi) = 555613
+SHA256 (xpi/thunderbird-i18n-31.3.0/br.xpi) = b9ad663e315abe792fc034e46f7cc01d690249d5f600ad860f73929d521619de
+SIZE (xpi/thunderbird-i18n-31.3.0/br.xpi) = 441444
+SHA256 (xpi/thunderbird-i18n-31.3.0/ca.xpi) = 396760bcb133041e1b52acba598941ff627bd6fd7c1632b129a545418755f845
+SIZE (xpi/thunderbird-i18n-31.3.0/ca.xpi) = 441713
+SHA256 (xpi/thunderbird-i18n-31.3.0/cs.xpi) = 8895b7c250f5f270c6e34e109b9e9b7b795d0a0855050af2c56adc89e2b9d1d1
+SIZE (xpi/thunderbird-i18n-31.3.0/cs.xpi) = 444701
+SHA256 (xpi/thunderbird-i18n-31.3.0/da.xpi) = e9a75204f486a49599d8570423365517d4df7c497150cee8d95574982a47885f
+SIZE (xpi/thunderbird-i18n-31.3.0/da.xpi) = 422051
+SHA256 (xpi/thunderbird-i18n-31.3.0/de.xpi) = 5773e8a308e6b30974e9eb3fa40b5b11d9fa9ace480686f86a5654f72c84a373
+SIZE (xpi/thunderbird-i18n-31.3.0/de.xpi) = 424665
+SHA256 (xpi/thunderbird-i18n-31.3.0/el.xpi) = 68b5c38d0c58283acb5f2f6b574bcc2573a47e7371f66b1e6b4c6bac3e29cd52
+SIZE (xpi/thunderbird-i18n-31.3.0/el.xpi) = 484855
+SHA256 (xpi/thunderbird-i18n-31.3.0/en-GB.xpi) = cb9c5f83e7925181c75065a8eb2db466641219e02ffae9f38c9c5532a422d53c
+SIZE (xpi/thunderbird-i18n-31.3.0/en-GB.xpi) = 412515
+SHA256 (xpi/thunderbird-i18n-31.3.0/en-US.xpi) = 87235667cfb9c91186f551f0113410fefca3eac6d42e42715423c6a1fc93964d
+SIZE (xpi/thunderbird-i18n-31.3.0/en-US.xpi) = 413660
+SHA256 (xpi/thunderbird-i18n-31.3.0/es-AR.xpi) = 57d4d3385193bd1c3b9c479efbbc3b01c53981e1824a7373841fa13f53ac5de0
+SIZE (xpi/thunderbird-i18n-31.3.0/es-AR.xpi) = 438531
+SHA256 (xpi/thunderbird-i18n-31.3.0/es-ES.xpi) = 6d35a449cffec11afe297e8084e75ca073acaec6b12a187128eac45a7fa7abb4
+SIZE (xpi/thunderbird-i18n-31.3.0/es-ES.xpi) = 374979
+SHA256 (xpi/thunderbird-i18n-31.3.0/et.xpi) = 008116d438ce76722ed9b466aa4d822b5c073ca063b4b25539d8690c92e1cfff
+SIZE (xpi/thunderbird-i18n-31.3.0/et.xpi) = 434364
+SHA256 (xpi/thunderbird-i18n-31.3.0/eu.xpi) = 666528eb407334a4e8a6b3b00b2ccc9f3586f81bcb7ac80374823b65f9ac6742
+SIZE (xpi/thunderbird-i18n-31.3.0/eu.xpi) = 431448
+SHA256 (xpi/thunderbird-i18n-31.3.0/fi.xpi) = bfdcbcaaba90a65b5aa37c4feb37d6026ff1cbe915924abfe4c150f0d9c55430
+SIZE (xpi/thunderbird-i18n-31.3.0/fi.xpi) = 435632
+SHA256 (xpi/thunderbird-i18n-31.3.0/fr.xpi) = e7896408afc9c68eef3194ad512929c4b61d60ab2287e1ef9464d1de29ed6f1f
+SIZE (xpi/thunderbird-i18n-31.3.0/fr.xpi) = 444144
+SHA256 (xpi/thunderbird-i18n-31.3.0/fy-NL.xpi) = d3552a76b606e12e4f524458376deeff330194b332b17ccf8d853b5b77357d68
+SIZE (xpi/thunderbird-i18n-31.3.0/fy-NL.xpi) = 438545
+SHA256 (xpi/thunderbird-i18n-31.3.0/ga-IE.xpi) = 502302b8177fbd196fde6ad0ff65367c3a5940d944e593adc20072bbbe1dfda6
+SIZE (xpi/thunderbird-i18n-31.3.0/ga-IE.xpi) = 449362
+SHA256 (xpi/thunderbird-i18n-31.3.0/gd.xpi) = b052fdb7a37c5082844fd7a136d5db3eab616f096e11e0f56158554be52c1da9
+SIZE (xpi/thunderbird-i18n-31.3.0/gd.xpi) = 453171
+SHA256 (xpi/thunderbird-i18n-31.3.0/gl.xpi) = ceffb5e73f89001b46b82fde8f42aac548214148ce7bb480a1824a6cf452e781
+SIZE (xpi/thunderbird-i18n-31.3.0/gl.xpi) = 446788
+SHA256 (xpi/thunderbird-i18n-31.3.0/he.xpi) = 879efda7c448bff7b93757e0edbf983021f190dc8f1cccdf1d03141a39b1596d
+SIZE (xpi/thunderbird-i18n-31.3.0/he.xpi) = 476111
+SHA256 (xpi/thunderbird-i18n-31.3.0/hr.xpi) = 4263d0bc96b51c93a2ac69e5b0707c755f592e656ab1a827bec0f823c2d58c4e
+SIZE (xpi/thunderbird-i18n-31.3.0/hr.xpi) = 436980
+SHA256 (xpi/thunderbird-i18n-31.3.0/hu.xpi) = 237941d22d98607fcbc40a1abed257fdcc93cae8fea799e90de29895c936bbdf
+SIZE (xpi/thunderbird-i18n-31.3.0/hu.xpi) = 454542
+SHA256 (xpi/thunderbird-i18n-31.3.0/hy-AM.xpi) = ca895d9350a24d3fed16c6743ced1526e6a2cf0dbf24cb3f740a841d5cf203a3
+SIZE (xpi/thunderbird-i18n-31.3.0/hy-AM.xpi) = 492765
+SHA256 (xpi/thunderbird-i18n-31.3.0/id.xpi) = 55257017268da8bc3ad47cf754d3e943a96c1d1e5966aa9b12e312991322e4b4
+SIZE (xpi/thunderbird-i18n-31.3.0/id.xpi) = 475876
+SHA256 (xpi/thunderbird-i18n-31.3.0/is.xpi) = 986bf8d578652c00ba1735f714cc52632044d655263c3a408c804729b874e373
+SIZE (xpi/thunderbird-i18n-31.3.0/is.xpi) = 437959
+SHA256 (xpi/thunderbird-i18n-31.3.0/it.xpi) = ee00ccf84f655d57ec7622f1b8b52f22d0fe7d1313115a09a2c5377285e286dc
+SIZE (xpi/thunderbird-i18n-31.3.0/it.xpi) = 368001
+SHA256 (xpi/thunderbird-i18n-31.3.0/ja.xpi) = 6fb40bcc1a2a3d1c18c298a8c582a7940201baafa1d0c15d46cd819990c200b4
+SIZE (xpi/thunderbird-i18n-31.3.0/ja.xpi) = 489267
+SHA256 (xpi/thunderbird-i18n-31.3.0/ko.xpi) = 1af67a385b3d4dfeb99ba57851ed113b6d10e1eb48aadcd1d03510c8faef9aea
+SIZE (xpi/thunderbird-i18n-31.3.0/ko.xpi) = 448920
+SHA256 (xpi/thunderbird-i18n-31.3.0/lt.xpi) = 3415f9915ecce765d0104f8f37c85346579e55e2edc4f75955e9acb4e4599755
+SIZE (xpi/thunderbird-i18n-31.3.0/lt.xpi) = 456351
+SHA256 (xpi/thunderbird-i18n-31.3.0/nb-NO.xpi) = 7c58e207a9e627ea7e74b5126df4f1495170602217b12ba83ba6cb454b5648e8
+SIZE (xpi/thunderbird-i18n-31.3.0/nb-NO.xpi) = 430941
+SHA256 (xpi/thunderbird-i18n-31.3.0/nl.xpi) = fb0934635ce55901c9c43382ab2214952b926e1d5ee2c966c44ab883ee5adcb3
+SIZE (xpi/thunderbird-i18n-31.3.0/nl.xpi) = 431888
+SHA256 (xpi/thunderbird-i18n-31.3.0/nn-NO.xpi) = e2c3077b6497c153f581b24b1ca1b4bec27687c4d328c477484357aec295f42a
+SIZE (xpi/thunderbird-i18n-31.3.0/nn-NO.xpi) = 433198
+SHA256 (xpi/thunderbird-i18n-31.3.0/pa-IN.xpi) = 7dc4048eb5e9166a855e4c819380036354841173a77c2a68a1784c3bf31b9949
+SIZE (xpi/thunderbird-i18n-31.3.0/pa-IN.xpi) = 525323
+SHA256 (xpi/thunderbird-i18n-31.3.0/pl.xpi) = 90533d8a111ada96d263d6125baf273fe1410c22c272e7170274b0c11e98c45a
+SIZE (xpi/thunderbird-i18n-31.3.0/pl.xpi) = 410872
+SHA256 (xpi/thunderbird-i18n-31.3.0/pt-BR.xpi) = 2e8a412d12a850e3f011533287245cf5a6a3a124e85ac0c651057605d12d2b12
+SIZE (xpi/thunderbird-i18n-31.3.0/pt-BR.xpi) = 450477
+SHA256 (xpi/thunderbird-i18n-31.3.0/pt-PT.xpi) = 0c70f96167c6d84dccf933af218f5eeae218c0f2cb991dd084481e0a2e7905f3
+SIZE (xpi/thunderbird-i18n-31.3.0/pt-PT.xpi) = 439604
+SHA256 (xpi/thunderbird-i18n-31.3.0/rm.xpi) = cec2dd8a3a4ac8c74e36b1faa2487a93f9550f35f2476c0f048d825c2088bc8c
+SIZE (xpi/thunderbird-i18n-31.3.0/rm.xpi) = 439185
+SHA256 (xpi/thunderbird-i18n-31.3.0/ro.xpi) = 6aa936dfe30286ebfecfd19255017e1456ac43ae02a7cef033ca3f744fff366c
+SIZE (xpi/thunderbird-i18n-31.3.0/ro.xpi) = 479747
+SHA256 (xpi/thunderbird-i18n-31.3.0/ru.xpi) = 6f1c9f2810d42a9167fe0b74139d5a0df7695db1fb720b6e0b776997e807284e
+SIZE (xpi/thunderbird-i18n-31.3.0/ru.xpi) = 436156
+SHA256 (xpi/thunderbird-i18n-31.3.0/si.xpi) = 0583537d4cda5b5ba01bdf76004de491e18475c8f19d9d0d419be155abb0365d
+SIZE (xpi/thunderbird-i18n-31.3.0/si.xpi) = 528812
+SHA256 (xpi/thunderbird-i18n-31.3.0/sk.xpi) = 6342d9f60ee5a7e378e31e0c46784bc68e2f021913e9286366f15093e9cd6246
+SIZE (xpi/thunderbird-i18n-31.3.0/sk.xpi) = 452995
+SHA256 (xpi/thunderbird-i18n-31.3.0/sl.xpi) = 8abad28471f5838d775d7b5c23ef01cd1443b265ba8a957f96653bebfc96309f
+SIZE (xpi/thunderbird-i18n-31.3.0/sl.xpi) = 433874
+SHA256 (xpi/thunderbird-i18n-31.3.0/sq.xpi) = e695bfe8c3b397d82253c6e933b3bf4c60adbd4c184250d73f5f307ffe045df6
+SIZE (xpi/thunderbird-i18n-31.3.0/sq.xpi) = 454694
+SHA256 (xpi/thunderbird-i18n-31.3.0/sr.xpi) = 8a05e47be44411d349f56fc72f81b1b95106c92628a906aa9b5d43282e81b977
+SIZE (xpi/thunderbird-i18n-31.3.0/sr.xpi) = 537335
+SHA256 (xpi/thunderbird-i18n-31.3.0/sv-SE.xpi) = 1039ad1c9c8f038a079d64f688e3da7a708e7dd5854dbe8aaf49fb9589e93d50
+SIZE (xpi/thunderbird-i18n-31.3.0/sv-SE.xpi) = 436105
+SHA256 (xpi/thunderbird-i18n-31.3.0/ta-LK.xpi) = 0eb91f1a539dab98b005210c06f4db9f628cc3bba9e2dabc82451c6e4a5c29c6
+SIZE (xpi/thunderbird-i18n-31.3.0/ta-LK.xpi) = 553508
+SHA256 (xpi/thunderbird-i18n-31.3.0/tr.xpi) = 7353950261d2272cd79a7d81e1f1d144fd1060c8c179dcb13b1f89c2dbd7d71e
+SIZE (xpi/thunderbird-i18n-31.3.0/tr.xpi) = 457360
+SHA256 (xpi/thunderbird-i18n-31.3.0/uk.xpi) = 59450065564a275731211b1372329c1e7719dafeb185999d36dededcc112c7f4
+SIZE (xpi/thunderbird-i18n-31.3.0/uk.xpi) = 499656
+SHA256 (xpi/thunderbird-i18n-31.3.0/vi.xpi) = c2a3399b1853884cdfb8ba64366210c48ec32b3f7ff03eaf0368b7cfe0b79f99
+SIZE (xpi/thunderbird-i18n-31.3.0/vi.xpi) = 513835
+SHA256 (xpi/thunderbird-i18n-31.3.0/zh-CN.xpi) = 77b77f0d9f537a302c2f7868a962ff4178480247dc6253ff107fa9595adbed8b
+SIZE (xpi/thunderbird-i18n-31.3.0/zh-CN.xpi) = 462668
+SHA256 (xpi/thunderbird-i18n-31.3.0/zh-TW.xpi) = 884e3ada592a3c543b3b03d0d185e20a9bf86aa9a2e8809df9e9e5e7316a9d53
+SIZE (xpi/thunderbird-i18n-31.3.0/zh-TW.xpi) = 463408
diff --git a/mail/thunderbird/Makefile b/mail/thunderbird/Makefile
index 425bfff57fc8..4f42958323ae 100644
--- a/mail/thunderbird/Makefile
+++ b/mail/thunderbird/Makefile
@@ -2,10 +2,10 @@
# $FreeBSD$
PORTNAME= thunderbird
-DISTVERSION= 31.2.0
+DISTVERSION= 31.3.0
CATEGORIES= mail news net-im ipv6
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
- https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME}/candidates/${DISTVERSION}-candidates/build2/source/
+ https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source/
DISTFILES= ${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX}
EXTRACT_ONLY= ${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX}
@@ -31,18 +31,14 @@ BUILD_DEPENDS= nspr>=4.10.6:${PORTSDIR}/devel/nspr \
LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l
EM_VERSION= 1.7.2
-L_VERSION= 3.3.2
+L_VERSION= 3.3.3
SSP_UNSAFE= yes
-USE_AUTOTOOLS= autoconf213:env
-OBJDIR_BUILD= # in-tree build broken after bug 789837
USE_GECKO= gecko
USE_MOZILLA= # empty
-WANT_GNOME= yes
USE_QT5= # empty
QT_NONSTANDARD= yes
-ALL_TARGET= default
USE_GL= gl
USES= dos2unix tar:bzip2
DOS2UNIX_FILES= mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp
@@ -63,11 +59,6 @@ MOZ_PIS_SCRIPTS=moz_pis_S50cleanhome
OPTIONS_DEFINE= ENIGMAIL LIGHTNING
OPTIONS_DEFAULT=ENIGMAIL LIGHTNING
-# non-client.mk objdir build broken after bug 846540
-.undef GNU_CONFIGURE
-ALL_TARGET= build
-MAKEFILE= ${WRKSRC}/client.mk
-
.include "${.CURDIR}/../../www/firefox/Makefile.options"
OPTIONS_DEFAULT:=${OPTIONS_DEFAULT:S/GSTREAMER//}
@@ -79,21 +70,9 @@ MOZSRC:= ${WRKSRC}/mozilla
XPI_LIBDIR= ${PREFIX}/lib/xpi
-# avoid clang 3.2/3.3 crash in js/src/jsgc.cpp on refillFreeList<(js::AllowGC)1>
-# To be removed when 9.2R goes EOL. http://llvm.org/PR15840
-.if ${ARCH} == i386 && ${CHOSEN_COMPILER_TYPE} == clang && ${COMPILER_VERSION:M3[23]}
-. if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS}
-BROKEN= Cannot build with OPTIMIZED_CFLAGS option due to \
- a ${CHOSEN_COMPILER_TYPE} bug: unset the option or \
- use FAVORITE_COMPILER=gcc in Makefile.local/make.conf
-# apply workaround only for -O2 or greater
-. elif ${CXXFLAGS:M-O*} && ! ${CXXFLAGS:M-O[01]}
-. if ${MACHINE_CPU:Msse2}
-CXXFLAGS+= -msse2
-. else
-CXXFLAGS+= -O1
-. endif
-. endif
+.if ${PORTVERSION:R:R} < 33
+CONFIGURE_TARGET:=${CONFIGURE_TARGET:S/portbld/unknown/}
+MOZ_OPTIONS:= ${MOZ_OPTIONS:S/${CONFIGURE_TARGET}//}
.endif
.if ${PORT_OPTIONS:MALSA}
@@ -163,7 +142,7 @@ pre-configure:
.if ${PORT_OPTIONS:MENIGMAIL}
post-configure:
cd ${WRKSRC}/mailnews/extensions/enigmail/ && \
- ${SETENV} ${MAKE_ENV} ./configure
+ ${SETENV} ${CONFIGURE_ENV} ${MAKE_ENV} ./configure
post-build:
${DO_MAKE_BUILD:S/${MAKEFILE}/Makefile/} all xpi \
diff --git a/mail/thunderbird/distinfo b/mail/thunderbird/distinfo
index 18cb22c174eb..08fa8fde9536 100644
--- a/mail/thunderbird/distinfo
+++ b/mail/thunderbird/distinfo
@@ -1,4 +1,4 @@
-SHA256 (thunderbird-31.2.0.source.tar.bz2) = 48130bbd9102303167aa832ea80970201777ee65b91fbab515332527850749b4
-SIZE (thunderbird-31.2.0.source.tar.bz2) = 171047372
+SHA256 (thunderbird-31.3.0.source.tar.bz2) = b742782965ce9c65b69c1dc470497ea456f11caeb8fda3ea593ee31ad496f556
+SIZE (thunderbird-31.3.0.source.tar.bz2) = 171213377
SHA256 (enigmail-1.7.2.tar.gz) = 7b3a62e83961bafec1cdac60075aa6c317c8f655a837e31a7d1f3ce6a49fc7d6
SIZE (enigmail-1.7.2.tar.gz) = 1420346
diff --git a/mail/thunderbird/files/patch-bug1076983 b/mail/thunderbird/files/patch-bug1076983
deleted file mode 100644
index ff764be7398f..000000000000
--- a/mail/thunderbird/files/patch-bug1076983
+++ /dev/null
@@ -1,45 +0,0 @@
-commit e10ee74
-Author: Martin Thomson <martin.thomson@gmail.com>
-Date: Tue Oct 14 17:17:35 2014 -0700
-
- Bug 1076983 - Disabling SSL 3.0 with pref
----
- netwerk/base/public/security-prefs.js | 2 +-
- security/manager/ssl/src/nsNSSComponent.cpp | 7 +++----
- 2 files changed, 4 insertions(+), 5 deletions(-)
-
-diff --git netwerk/base/public/security-prefs.js netwerk/base/public/security-prefs.js
-index 352552e..c12731b 100644
---- mozilla/netwerk/base/public/security-prefs.js
-+++ mozilla/netwerk/base/public/security-prefs.js
-@@ -2,7 +2,7 @@
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
--pref("security.tls.version.min", 0);
-+pref("security.tls.version.min", 1);
- pref("security.tls.version.max", 3);
-
- pref("security.ssl.allow_unrestricted_renego_everywhere__temporarily_available_pref", false);
-diff --git security/manager/ssl/src/nsNSSComponent.cpp security/manager/ssl/src/nsNSSComponent.cpp
-index 8cab67b..772959d 100644
---- mozilla/security/manager/ssl/src/nsNSSComponent.cpp
-+++ mozilla/security/manager/ssl/src/nsNSSComponent.cpp
-@@ -829,14 +829,13 @@ void nsNSSComponent::setValidationOptions(bool isInitialSetting,
- mDefaultCertVerifier = new SharedCertVerifier(odc, osc, ogc, pinningMode);
- }
-
--// Enable the TLS versions given in the prefs, defaulting to SSL 3.0 (min
--// version) and TLS 1.2 (max version) when the prefs aren't set or set to
--// invalid values.
-+// Enable the TLS versions given in the prefs, defaulting to TLS 1.0 (min) and
-+// TLS 1.2 (max) when the prefs aren't set or set to invalid values.
- nsresult
- nsNSSComponent::setEnabledTLSVersions()
- {
- // keep these values in sync with security-prefs.js
-- static const int32_t PSM_DEFAULT_MIN_TLS_VERSION = 0;
-+ static const int32_t PSM_DEFAULT_MIN_TLS_VERSION = 1;
- static const int32_t PSM_DEFAULT_MAX_TLS_VERSION = 3;
-
- int32_t minVersion = Preferences::GetInt("security.tls.version.min",
diff --git a/mail/thunderbird/files/patch-bug1082199 b/mail/thunderbird/files/patch-bug1082199
new file mode 100644
index 000000000000..e24fe4726c2c
--- /dev/null
+++ b/mail/thunderbird/files/patch-bug1082199
@@ -0,0 +1,26 @@
+commit 258ec90
+Author: Guilherme Goncalves <guilherme.p.gonc@gmail.com>
+Date: Fri Oct 17 15:55:00 2014 +0200
+
+ Bug 1082199 - Recompute stats in jemalloc_stats when using jemalloc3. r=glandium
+---
+ memory/build/mozjemalloc_compat.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git memory/build/mozjemalloc_compat.c memory/build/mozjemalloc_compat.c
+index 78bb13a..70265a7 100644
+--- mozilla/memory/build/mozjemalloc_compat.c
++++ mozilla/memory/build/mozjemalloc_compat.c
+@@ -68,6 +68,12 @@ jemalloc_stats_impl(jemalloc_stats_t *stats)
+ size_t active, allocated, mapped, page, pdirty;
+ size_t lg_chunk;
+
++ // Refresh jemalloc's stats by updating its epoch, see ctl_refresh in
++ // src/ctl.c
++ uint64_t epoch = 0;
++ size_t esz = sizeof(epoch);
++ int ret = je_(mallctl)("epoch", &epoch, &esz, &epoch, esz);
++
+ CTL_GET("arenas.narenas", narenas);
+ CTL_GET("arenas.page", page);
+ CTL_GET("stats.active", active);
diff --git a/mail/thunderbird/files/patch-bug1103858 b/mail/thunderbird/files/patch-bug1103858
new file mode 100644
index 000000000000..71ce13eb116e
--- /dev/null
+++ b/mail/thunderbird/files/patch-bug1103858
@@ -0,0 +1,42 @@
+diff --git configure.in configure.in
+index b2b45e7..dcfdfb7 100644
+--- mozilla/configure.in
++++ mozilla/configure.in
+@@ -8346,7 +8346,7 @@ case "$OS_TARGET" in
+ NECKO_WIFI=1
+ fi
+ ;;
+- Darwin|FreeBSD|SunOS|WINNT)
++ Darwin|DragonFly|FreeBSD|SunOS|WINNT)
+ NECKO_WIFI=1
+ ;;
+ Linux)
+diff --git netwerk/wifi/moz.build netwerk/wifi/moz.build
+index d4de063..3949380 100644
+--- mozilla/netwerk/wifi/moz.build
++++ mozilla/netwerk/wifi/moz.build
+@@ -35,7 +35,7 @@ if CONFIG['OS_ARCH'] == 'Darwin':
+ UNIFIED_SOURCES += [
+ 'osx_corewlan.mm',
+ ]
+-elif CONFIG['OS_ARCH'] == 'FreeBSD':
++elif CONFIG['OS_ARCH'] in ('DragonFly', 'FreeBSD'):
+ UNIFIED_SOURCES += [
+ 'nsWifiScannerFreeBSD.cpp',
+ ]
+diff --git netwerk/wifi/nsWifiScannerFreeBSD.cpp netwerk/wifi/nsWifiScannerFreeBSD.cpp
+index bdf171e..4185d69 100644
+--- mozilla/netwerk/wifi/nsWifiScannerFreeBSD.cpp
++++ mozilla/netwerk/wifi/nsWifiScannerFreeBSD.cpp
+@@ -13,7 +13,11 @@
+ #include <sys/socket.h>
+ #include <net/if.h>
+ #include <net/if_media.h>
++#ifdef __DragonFly__
++#include <netproto/802_11/ieee80211_ioctl.h>
++#else
+ #include <net80211/ieee80211_ioctl.h>
++#endif
+
+ #include <ifaddrs.h>
+ #include <string.h>
diff --git a/mail/thunderbird/files/patch-bug858919 b/mail/thunderbird/files/patch-bug858919
new file mode 100644
index 000000000000..04dd48deee22
--- /dev/null
+++ b/mail/thunderbird/files/patch-bug858919
@@ -0,0 +1,391 @@
+commit a33d4f7
+Author: Martin Stransky <stransky@redhat.com>
+Date: Fri Nov 14 04:04:00 2014 +0100
+
+ Bug 858919 - Add support for libnotify calls which was removed for new notification API. r=karlt
+---
+ toolkit/components/alerts/nsAlertsService.cpp | 10 +--
+ toolkit/system/gnome/moz.build | 2 +
+ toolkit/system/gnome/nsAlertsIconListener.cpp | 64 ++++++++++++------
+ toolkit/system/gnome/nsAlertsIconListener.h | 89 ++++++++++++++++++++++++++
+ toolkit/system/gnome/nsGnomeModule.cpp | 5 ++
+ toolkit/system/gnome/nsSystemAlertsService.cpp | 54 ++++++++++++++++
+ toolkit/system/gnome/nsSystemAlertsService.h | 27 ++++++++
+ 7 files changed, 226 insertions(+), 25 deletions(-)
+
+diff --git toolkit/components/alerts/nsAlertsService.cpp toolkit/components/alerts/nsAlertsService.cpp
+index 93f4536..f8b5e07 100644
+--- mozilla/toolkit/components/alerts/nsAlertsService.cpp
++++ mozilla/toolkit/components/alerts/nsAlertsService.cpp
+@@ -100,9 +100,11 @@ NS_IMETHODIMP nsAlertsService::ShowAlertNotification(const nsAString & aImageUrl
+ nsCOMPtr<nsIAlertsService> sysAlerts(do_GetService(NS_SYSTEMALERTSERVICE_CONTRACTID));
+ nsresult rv;
+ if (sysAlerts) {
+- return sysAlerts->ShowAlertNotification(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable,
+- aAlertCookie, aAlertListener, aAlertName,
+- aBidi, aLang, IPC::Principal(aPrincipal));
++ rv = sysAlerts->ShowAlertNotification(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable,
++ aAlertCookie, aAlertListener, aAlertName,
++ aBidi, aLang, IPC::Principal(aPrincipal));
++ if (NS_SUCCEEDED(rv))
++ return NS_OK;
+ }
+
+ if (!ShouldShowAlert()) {
+diff --git toolkit/system/gnome/moz.build toolkit/system/gnome/moz.build
+index c033f8b..9242209 100644
+--- mozilla/toolkit/system/gnome/moz.build
++++ mozilla/toolkit/system/gnome/moz.build
+@@ -5,7 +5,9 @@
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ SOURCES += [
++ 'nsAlertsIconListener.cpp',
+ 'nsGnomeModule.cpp',
++ 'nsSystemAlertsService.cpp',
+ ]
+
+ if CONFIG['MOZ_ENABLE_GCONF']:
+diff --git toolkit/system/gnome/nsAlertsIconListener.cpp toolkit/system/gnome/nsAlertsIconListener.cpp
+index f39335e..55f4356 100644
+--- mozilla/toolkit/system/gnome/nsAlertsIconListener.cpp
++++ mozilla/toolkit/system/gnome/nsAlertsIconListener.cpp
+@@ -51,6 +51,21 @@ static void notify_closed_marshal(GClosure* closure,
+ NS_RELEASE(alert);
+ }
+
++static GdkPixbuf*
++GetPixbufFromImgRequest(imgIRequest* aRequest)
++{
++ nsCOMPtr<imgIContainer> image;
++ nsresult rv = aRequest->GetImage(getter_AddRefs(image));
++ if (NS_FAILED(rv)) {
++ return nullptr;
++ }
++
++ nsCOMPtr<nsIImageToPixbuf> imgToPixbuf =
++ do_GetService("@mozilla.org/widget/image-to-gdk-pixbuf;1");
++
++ return imgToPixbuf->ConvertImageToPixbuf(image);
++}
++
+ NS_IMPL_ISUPPORTS(nsAlertsIconListener, imgINotificationObserver,
+ nsIObserver, nsISupportsWeakReference)
+
+@@ -106,47 +121,45 @@ nsAlertsIconListener::Notify(imgIRequest *aRequest, int32_t aType, const nsIntRe
+ nsresult
+ nsAlertsIconListener::OnStopRequest(imgIRequest* aRequest)
+ {
++ NS_ASSERTION(mIconRequest == aRequest, "aRequest does not match!");
++
+ uint32_t imgStatus = imgIRequest::STATUS_ERROR;
+ nsresult rv = aRequest->GetImageStatus(&imgStatus);
+ NS_ENSURE_SUCCESS(rv, rv);
+ if (imgStatus == imgIRequest::STATUS_ERROR && !mLoadedFrame) {
+ // We have an error getting the image. Display the notification with no icon.
+ ShowAlert(nullptr);
+- }
+
+- if (mIconRequest) {
++ // Cancel any pending request
+ mIconRequest->Cancel(NS_BINDING_ABORTED);
+ mIconRequest = nullptr;
+ }
++
+ return NS_OK;
+ }
+
+ nsresult
+ nsAlertsIconListener::OnStopFrame(imgIRequest* aRequest)
+ {
+- if (aRequest != mIconRequest)
+- return NS_ERROR_FAILURE;
++ NS_ASSERTION(mIconRequest == aRequest, "aRequest does not match!");
+
+ if (mLoadedFrame)
+ return NS_OK; // only use one frame
+
+- nsCOMPtr<imgIContainer> image;
+- nsresult rv = aRequest->GetImage(getter_AddRefs(image));
+- if (NS_FAILED(rv))
+- return rv;
+-
+- nsCOMPtr<nsIImageToPixbuf> imgToPixbuf =
+- do_GetService("@mozilla.org/widget/image-to-gdk-pixbuf;1");
+-
+- GdkPixbuf* imagePixbuf = imgToPixbuf->ConvertImageToPixbuf(image);
+- if (!imagePixbuf)
+- return NS_ERROR_FAILURE;
++ GdkPixbuf* imagePixbuf = GetPixbufFromImgRequest(aRequest);
++ if (!imagePixbuf) {
++ ShowAlert(nullptr);
++ } else {
++ ShowAlert(imagePixbuf);
++ g_object_unref(imagePixbuf);
++ }
+
+- ShowAlert(imagePixbuf);
++ mLoadedFrame = true;
+
+- g_object_unref(imagePixbuf);
++ // Cancel any pending request (multipart image loading/decoding for instance)
++ mIconRequest->Cancel(NS_BINDING_ABORTED);
++ mIconRequest = nullptr;
+
+- mLoadedFrame = true;
+ return NS_OK;
+ }
+
+@@ -180,6 +193,9 @@ nsAlertsIconListener::ShowAlert(GdkPixbuf* aPixbuf)
+ mClosureHandler = g_signal_connect_closure(mNotification, "closed", closure, FALSE);
+ gboolean result = notify_notification_show(mNotification, nullptr);
+
++ if (result && mAlertListener)
++ mAlertListener->Observe(nullptr, "alertshow", mAlertCookie.get());
++
+ return result ? NS_OK : NS_ERROR_FAILURE;
+ }
+
+@@ -201,9 +217,15 @@ nsAlertsIconListener::StartRequest(const nsAString & aImageUrl)
+ if (!il)
+ return ShowAlert(nullptr);
+
+- return il->LoadImageXPCOM(imageUri, nullptr, nullptr, nullptr, nullptr,
+- this, nullptr, nsIRequest::LOAD_NORMAL, nullptr,
+- nullptr, getter_AddRefs(mIconRequest));
++ nsresult rv = il->LoadImageXPCOM(imageUri, nullptr, nullptr, nullptr, nullptr,
++ this, nullptr, nsIRequest::LOAD_NORMAL, nullptr,
++ 0 /* use default */, getter_AddRefs(mIconRequest));
++ if (NS_FAILED(rv))
++ return rv;
++
++ mIconRequest->StartDecoding();
++
++ return NS_OK;
+ }
+
+ void
+diff --git toolkit/system/gnome/nsAlertsIconListener.h toolkit/system/gnome/nsAlertsIconListener.h
+new file mode 100644
+index 0000000..ac96db9
+--- /dev/null
++++ mozilla/toolkit/system/gnome/nsAlertsIconListener.h
+@@ -0,0 +1,89 @@
++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
++/* This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++#ifndef nsAlertsIconListener_h__
++#define nsAlertsIconListener_h__
++
++#include "nsCOMPtr.h"
++#include "imgINotificationObserver.h"
++#include "nsStringAPI.h"
++#include "nsIObserver.h"
++#include "nsWeakReference.h"
++
++#include <gdk-pixbuf/gdk-pixbuf.h>
++
++class imgIRequest;
++
++struct NotifyNotification;
++
++class nsAlertsIconListener : public imgINotificationObserver,
++ public nsIObserver,
++ public nsSupportsWeakReference
++{
++public:
++ NS_DECL_ISUPPORTS
++ NS_DECL_IMGINOTIFICATIONOBSERVER
++ NS_DECL_NSIOBSERVER
++
++ nsAlertsIconListener();
++
++ nsresult InitAlertAsync(const nsAString & aImageUrl,
++ const nsAString & aAlertTitle,
++ const nsAString & aAlertText,
++ bool aAlertTextClickable,
++ const nsAString & aAlertCookie,
++ nsIObserver * aAlertListener);
++
++ void SendCallback();
++ void SendClosed();
++
++protected:
++ virtual ~nsAlertsIconListener();
++
++ nsresult OnStopRequest(imgIRequest* aRequest);
++ nsresult OnStopFrame(imgIRequest* aRequest);
++
++ /**
++ * The only difference between libnotify.so.4 and libnotify.so.1 for these symbols
++ * is that notify_notification_new takes three arguments in libnotify.so.4 and
++ * four in libnotify.so.1.
++ * Passing the fourth argument as NULL is binary compatible.
++ */
++ typedef void (*NotifyActionCallback)(NotifyNotification*, char*, gpointer);
++ typedef bool (*notify_is_initted_t)(void);
++ typedef bool (*notify_init_t)(const char*);
++ typedef GList* (*notify_get_server_caps_t)(void);
++ typedef NotifyNotification* (*notify_notification_new_t)(const char*, const char*, const char*, const char*);
++ typedef bool (*notify_notification_show_t)(void*, char*);
++ typedef void (*notify_notification_set_icon_from_pixbuf_t)(void*, GdkPixbuf*);
++ typedef void (*notify_notification_add_action_t)(void*, const char*, const char*, NotifyActionCallback, gpointer, GFreeFunc);
++
++ nsCOMPtr<imgIRequest> mIconRequest;
++ nsCString mAlertTitle;
++ nsCString mAlertText;
++
++ nsCOMPtr<nsIObserver> mAlertListener;
++ nsString mAlertCookie;
++
++ bool mLoadedFrame;
++ bool mAlertHasAction;
++
++ static void* libNotifyHandle;
++ static bool libNotifyNotAvail;
++ static notify_is_initted_t notify_is_initted;
++ static notify_init_t notify_init;
++ static notify_get_server_caps_t notify_get_server_caps;
++ static notify_notification_new_t notify_notification_new;
++ static notify_notification_show_t notify_notification_show;
++ static notify_notification_set_icon_from_pixbuf_t notify_notification_set_icon_from_pixbuf;
++ static notify_notification_add_action_t notify_notification_add_action;
++ NotifyNotification* mNotification;
++ gulong mClosureHandler;
++
++ nsresult StartRequest(const nsAString & aImageUrl);
++ nsresult ShowAlert(GdkPixbuf* aPixbuf);
++};
++
++#endif
+diff --git toolkit/system/gnome/nsGnomeModule.cpp toolkit/system/gnome/nsGnomeModule.cpp
+index 5ccc8e5..f893893 100644
+--- mozilla/toolkit/system/gnome/nsGnomeModule.cpp
++++ mozilla/toolkit/system/gnome/nsGnomeModule.cpp
+@@ -22,6 +22,8 @@ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGnomeVFSService, Init)
+ NS_GENERIC_FACTORY_CONSTRUCTOR(nsGIOService)
+ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGSettingsService, Init)
+ #endif
++#include "nsSystemAlertsService.h"
++NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsSystemAlertsService, Init)
+
+ #ifdef MOZ_ENABLE_GCONF
+ NS_DEFINE_NAMED_CID(NS_GCONFSERVICE_CID);
+@@ -33,6 +35,7 @@ NS_DEFINE_NAMED_CID(NS_GNOMEVFSSERVICE_CID);
+ NS_DEFINE_NAMED_CID(NS_GIOSERVICE_CID);
+ NS_DEFINE_NAMED_CID(NS_GSETTINGSSERVICE_CID);
+ #endif
++NS_DEFINE_NAMED_CID(NS_SYSTEMALERTSSERVICE_CID);
+
+ static const mozilla::Module::CIDEntry kGnomeCIDs[] = {
+ #ifdef MOZ_ENABLE_GCONF
+@@ -45,6 +48,7 @@ static const mozilla::Module::CIDEntry kGnomeCIDs[] = {
+ { &kNS_GIOSERVICE_CID, false, nullptr, nsGIOServiceConstructor },
+ { &kNS_GSETTINGSSERVICE_CID, false, nullptr, nsGSettingsServiceConstructor },
+ #endif
++ { &kNS_SYSTEMALERTSSERVICE_CID, false, nullptr, nsSystemAlertsServiceConstructor },
+ { nullptr }
+ };
+
+@@ -59,6 +63,7 @@ static const mozilla::Module::ContractIDEntry kGnomeContracts[] = {
+ { NS_GIOSERVICE_CONTRACTID, &kNS_GIOSERVICE_CID },
+ { NS_GSETTINGSSERVICE_CONTRACTID, &kNS_GSETTINGSSERVICE_CID },
+ #endif
++ { NS_SYSTEMALERTSERVICE_CONTRACTID, &kNS_SYSTEMALERTSSERVICE_CID },
+ { nullptr }
+ };
+
+diff --git toolkit/system/gnome/nsSystemAlertsService.cpp toolkit/system/gnome/nsSystemAlertsService.cpp
+new file mode 100644
+index 0000000..b91b402
+--- /dev/null
++++ mozilla/toolkit/system/gnome/nsSystemAlertsService.cpp
+@@ -0,0 +1,53 @@
++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode:nil; c-basic-offset: 2 -*- */
++/* This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++#include "nsXULAppAPI.h"
++#include "nsSystemAlertsService.h"
++#include "nsAlertsIconListener.h"
++#include "nsAutoPtr.h"
++
++NS_IMPL_ADDREF(nsSystemAlertsService)
++NS_IMPL_RELEASE(nsSystemAlertsService)
++
++NS_INTERFACE_MAP_BEGIN(nsSystemAlertsService)
++ NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIAlertsService)
++ NS_INTERFACE_MAP_ENTRY(nsIAlertsService)
++NS_INTERFACE_MAP_END_THREADSAFE
++
++nsSystemAlertsService::nsSystemAlertsService()
++{
++}
++
++nsSystemAlertsService::~nsSystemAlertsService()
++{}
++
++nsresult
++nsSystemAlertsService::Init()
++{
++ return NS_OK;
++}
++
++NS_IMETHODIMP nsSystemAlertsService::ShowAlertNotification(const nsAString & aImageUrl, const nsAString & aAlertTitle,
++ const nsAString & aAlertText, bool aAlertTextClickable,
++ const nsAString & aAlertCookie,
++ nsIObserver * aAlertListener,
++ const nsAString & aAlertName,
++ const nsAString & aBidi,
++ const nsAString & aLang,
++ nsIPrincipal * aPrincipal)
++{
++ nsRefPtr<nsAlertsIconListener> alertListener = new nsAlertsIconListener();
++ if (!alertListener)
++ return NS_ERROR_OUT_OF_MEMORY;
++
++ return alertListener->InitAlertAsync(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable,
++ aAlertCookie, aAlertListener);
++}
++
++NS_IMETHODIMP nsSystemAlertsService::CloseAlert(const nsAString& aAlertName,
++ nsIPrincipal* aPrincipal)
++{
++ return NS_ERROR_NOT_IMPLEMENTED;
++}
+diff --git toolkit/system/gnome/nsSystemAlertsService.h toolkit/system/gnome/nsSystemAlertsService.h
+new file mode 100644
+index 0000000..b0bd625
+--- /dev/null
++++ mozilla/toolkit/system/gnome/nsSystemAlertsService.h
+@@ -0,0 +1,27 @@
++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
++/* This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++#ifndef nsSystemAlertsService_h__
++#define nsSystemAlertsService_h__
++
++#include "nsIAlertsService.h"
++#include "nsCOMPtr.h"
++
++class nsSystemAlertsService : public nsIAlertsService
++{
++public:
++ NS_DECL_NSIALERTSSERVICE
++ NS_DECL_ISUPPORTS
++
++ nsSystemAlertsService();
++
++ nsresult Init();
++
++protected:
++ virtual ~nsSystemAlertsService();
++
++};
++
++#endif /* nsSystemAlertsService_h__ */
diff --git a/multimedia/gmp-api/Makefile b/multimedia/gmp-api/Makefile
index 361b5b88e51d..c90e76a84f50 100644
--- a/multimedia/gmp-api/Makefile
+++ b/multimedia/gmp-api/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= gmp-api
-PORTVERSION= 33.0
+PORTVERSION= 35.0
CATEGORIES= multimedia
MAINTAINER= gecko@FreeBSD.org
@@ -13,7 +13,7 @@ USE_GITHUB= yes
GH_ACCOUNT= mozilla
GH_PROJECT= ${PORTNAME}
GH_TAGNAME= ${GH_COMMIT}
-GH_COMMIT= 92ac670
+GH_COMMIT= f582a56
NO_BUILD= yes
NO_ARCH= yes
diff --git a/multimedia/gmp-api/distinfo b/multimedia/gmp-api/distinfo
index e3124abe3b87..a1a5fef0755a 100644
--- a/multimedia/gmp-api/distinfo
+++ b/multimedia/gmp-api/distinfo
@@ -1,2 +1,2 @@
-SHA256 (gmp-api-33.0.tar.gz) = 6e3e63746680fc867c359605c321bb7b6a6ea9b992760aa36dab6cef9dabbf20
-SIZE (gmp-api-33.0.tar.gz) = 12769
+SHA256 (gmp-api-35.0.tar.gz) = 450c4d4b48cb525a62012ee470062918b6bdaa7e13200071159832cc7a5c91ec
+SIZE (gmp-api-35.0.tar.gz) = 14652
diff --git a/multimedia/openh264/Makefile b/multimedia/openh264/Makefile
index d9d23819a5d3..da9770ec30b8 100644
--- a/multimedia/openh264/Makefile
+++ b/multimedia/openh264/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= openh264
-PORTVERSION= 1.1
+PORTVERSION= 1.2
CATEGORIES= multimedia
MAINTAINER= gecko@FreeBSD.org
@@ -13,7 +13,7 @@ USE_GITHUB= yes
GH_ACCOUNT= cisco
GH_PROJECT= ${PORTNAME}
GH_TAGNAME= ${GH_COMMIT} # v${PORTVERSION}
-GH_COMMIT= c79be44 # v1.1-Firefox33
+GH_COMMIT= ca0ed2a # openh264v1.2
USES= gmake
USE_LDCONFIG= yes
@@ -26,8 +26,8 @@ OPTIONS_DEFINE= PLUGINS TEST
OPTIONS_DEFAULT=PLUGINS
OPTIONS_SUB= yes
-PLUGINS_BUILD_DEPENDS=gmp-api>=33.0:${PORTSDIR}/multimedia/gmp-api \
- gmp-api<34.0:${PORTSDIR}/multimedia/gmp-api
+PLUGINS_BUILD_DEPENDS=gmp-api>=34.0:${PORTSDIR}/multimedia/gmp-api
+# gmp-api<36.0:${PORTSDIR}/multimedia/gmp-api
PLUGINS_CFLAGS= -I${LOCALBASE}/include/gmp-api
PLUGINS_MAKE_ARGS=HAVE_GMP_API=Yes
PLUGINS_ALL_TARGET=plugin
diff --git a/multimedia/openh264/distinfo b/multimedia/openh264/distinfo
index 59e2ab622313..e97efd9baacb 100644
--- a/multimedia/openh264/distinfo
+++ b/multimedia/openh264/distinfo
@@ -1,2 +1,2 @@
-SHA256 (openh264-1.1.tar.gz) = 447502018fea40ef47a1fcc0ef7f4aeca3364ad42db63840ab1bb0bd2910a44e
-SIZE (openh264-1.1.tar.gz) = 13193769
+SHA256 (openh264-1.2.tar.gz) = 88ab5baf463c99cb6c546884ae91a42e774bf5c3cf248c4e247b5cf8d2908301
+SIZE (openh264-1.2.tar.gz) = 13338846
diff --git a/multimedia/openh264/files/patch-Makefile b/multimedia/openh264/files/patch-Makefile
index cca1682a4b50..ab63611ae991 100644
--- a/multimedia/openh264/files/patch-Makefile
+++ b/multimedia/openh264/files/patch-Makefile
@@ -1,6 +1,6 @@
--- Makefile~
+++ Makefile
-@@ -184,7 +184,7 @@ plugin:
+@@ -202,7 +202,7 @@ plugin:
@echo "You do not have gmp-api. Run make gmp-bootstrap to get the gmp-api headers."
endif
@@ -9,11 +9,11 @@
$(QUIET)rm -f $@
$(QUIET_CXX)$(CXX) $(SHARED) $(LDFLAGS) $(CXX_LINK_O) $+ $(SHLDFLAGS) $(MODULE_LDFLAGS)
-@@ -207,7 +207,6 @@ install: install-static install-shared
+@@ -225,7 +225,6 @@ install: install-static install-shared
@:
ifeq ($(HAVE_GTEST),Yes)
--include build/gtest-targets.mk
- include test/api/targets.mk
- include test/decoder/targets.mk
- include test/encoder/targets.mk
+-include $(SRC_PATH)build/gtest-targets.mk
+ include $(SRC_PATH)test/api/targets.mk
+ include $(SRC_PATH)test/decoder/targets.mk
+ include $(SRC_PATH)test/encoder/targets.mk
diff --git a/security/ca_root_nss/Makefile b/security/ca_root_nss/Makefile
index 05697332d82c..8aab0845a34b 100644
--- a/security/ca_root_nss/Makefile
+++ b/security/ca_root_nss/Makefile
@@ -25,7 +25,7 @@ PLIST_SUB+= CERTDIR=${CERTDIR}
# !!! Please DO NOT submit patches for new version until it has !!!
# !!! been committed there first. !!!
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-VERSION_NSS= 3.17.2
+VERSION_NSS= 3.17.3
#NSS_SUFFIX= .with.ckbi.1.93
CERTDATA_TXT_PATH= nss-${VERSION_NSS}/nss/lib/ckfw/builtins/certdata.txt
BUNDLE_PROCESSOR= MAca-bundle.pl
diff --git a/security/ca_root_nss/distinfo b/security/ca_root_nss/distinfo
index a159ea298054..2bd69ccd68fd 100644
--- a/security/ca_root_nss/distinfo
+++ b/security/ca_root_nss/distinfo
@@ -1,2 +1,2 @@
-SHA256 (nss-3.17.2.tar.gz) = 134929e44e44b968a4883f4ee513a71ae45d55b486cee41ee8e26c3cc84dab8b
-SIZE (nss-3.17.2.tar.gz) = 6927414
+SHA256 (nss-3.17.3.tar.gz) = f4d5e9035a2f84f25f35c283de3b0ff60d72e918748de25eaf017ed201fa21d5
+SIZE (nss-3.17.3.tar.gz) = 6932021
diff --git a/security/nss/Makefile b/security/nss/Makefile
index 4453d936c093..d10ecedc26ee 100644
--- a/security/nss/Makefile
+++ b/security/nss/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= nss
-PORTVERSION= 3.17.2
+PORTVERSION= 3.17.3
#DISTVERSIONSUFFIX= .with.ckbi.1.93
CATEGORIES= security
MASTER_SITES= MOZILLA/security/${PORTNAME}/releases/${DISTNAME:tu:C/[-.]/_/g}_RTM/src
diff --git a/security/nss/distinfo b/security/nss/distinfo
index a159ea298054..2bd69ccd68fd 100644
--- a/security/nss/distinfo
+++ b/security/nss/distinfo
@@ -1,2 +1,2 @@
-SHA256 (nss-3.17.2.tar.gz) = 134929e44e44b968a4883f4ee513a71ae45d55b486cee41ee8e26c3cc84dab8b
-SIZE (nss-3.17.2.tar.gz) = 6927414
+SHA256 (nss-3.17.3.tar.gz) = f4d5e9035a2f84f25f35c283de3b0ff60d72e918748de25eaf017ed201fa21d5
+SIZE (nss-3.17.3.tar.gz) = 6932021
diff --git a/www/firefox-esr-i18n/Makefile b/www/firefox-esr-i18n/Makefile
index 1f8551e7bcf7..585d0c214b8f 100644
--- a/www/firefox-esr-i18n/Makefile
+++ b/www/firefox-esr-i18n/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= firefox
-PORTVERSION= 31.2.0
+PORTVERSION= 31.3.0
CATEGORIES= www
MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}esr/linux-i686/xpi
PKGNAMEPREFIX=
diff --git a/www/firefox-esr-i18n/distinfo b/www/firefox-esr-i18n/distinfo
index be84c552ea8d..d21aef7c79f5 100644
--- a/www/firefox-esr-i18n/distinfo
+++ b/www/firefox-esr-i18n/distinfo
@@ -1,178 +1,178 @@
-SHA256 (xpi/firefox-31.2.0/ach.xpi) = c769e86035a60f576525823a7a36607a411b202c3d7604ebc5da5bed2124bed9
-SIZE (xpi/firefox-31.2.0/ach.xpi) = 445523
-SHA256 (xpi/firefox-31.2.0/af.xpi) = 57cdf7f14b5a005b701168f5b00921d6969462e44432547f1654b58c377c0b77
-SIZE (xpi/firefox-31.2.0/af.xpi) = 431286
-SHA256 (xpi/firefox-31.2.0/an.xpi) = dbb32e0247988d700b1d3a92bf88d477252c655aabcc014fc5ed4f6809368e82
-SIZE (xpi/firefox-31.2.0/an.xpi) = 407348
-SHA256 (xpi/firefox-31.2.0/ar.xpi) = b06fa502bc99c5a9e92540a1520c0978d05806520a91a9bb3d7c10888b32ccb9
-SIZE (xpi/firefox-31.2.0/ar.xpi) = 460021
-SHA256 (xpi/firefox-31.2.0/as.xpi) = bb6f9a5102f1f38ac6f234fc0c767d732bf97baa0e419d78bf9b75b1a9bd12b0
-SIZE (xpi/firefox-31.2.0/as.xpi) = 448765
-SHA256 (xpi/firefox-31.2.0/ast.xpi) = 0fe5e881a60cb60cade90c708710ec56270e188ede4b39e06fd7b505fe823a0b
-SIZE (xpi/firefox-31.2.0/ast.xpi) = 352537
-SHA256 (xpi/firefox-31.2.0/be.xpi) = 0355ee81c6feb0df5c088099841d86ba05050fd9e79eca62170457b79757b4c6
-SIZE (xpi/firefox-31.2.0/be.xpi) = 378865
-SHA256 (xpi/firefox-31.2.0/bg.xpi) = e4246b7a7278974dad4c6bb60eea2984d436e1cca839dd3b8d583c447a03615c
-SIZE (xpi/firefox-31.2.0/bg.xpi) = 438257
-SHA256 (xpi/firefox-31.2.0/bn-BD.xpi) = 38d5e7e6d9f7835ca764213bbd2a31346358cbb61bb8dd3789e16798a112ddb7
-SIZE (xpi/firefox-31.2.0/bn-BD.xpi) = 472823
-SHA256 (xpi/firefox-31.2.0/bn-IN.xpi) = 1afeea551763b587256421a601ff4b6ce60e53b287bf712a835e7b17fed875e8
-SIZE (xpi/firefox-31.2.0/bn-IN.xpi) = 462789
-SHA256 (xpi/firefox-31.2.0/br.xpi) = d8ddd888288ab49b6904c1f4abb7ce4c38acae1efaa46759938d81b047cc83b6
-SIZE (xpi/firefox-31.2.0/br.xpi) = 389901
-SHA256 (xpi/firefox-31.2.0/bs.xpi) = 837e4a8889ff6c1d017e5ae5b1dede1d7a5cb3d0d083aecbc7b21a88a0cff2ae
-SIZE (xpi/firefox-31.2.0/bs.xpi) = 429211
-SHA256 (xpi/firefox-31.2.0/ca.xpi) = 537a4711f2a142014fbccfaf3bc31ba42af643544d0125cf06778acd4abe4e07
-SIZE (xpi/firefox-31.2.0/ca.xpi) = 403772
-SHA256 (xpi/firefox-31.2.0/cs.xpi) = 482090ca325690abd77eef212824869a87654231f02f23bae50bbb7a2fafdf87
-SIZE (xpi/firefox-31.2.0/cs.xpi) = 391176
-SHA256 (xpi/firefox-31.2.0/csb.xpi) = ea225f7b951d602ade09b2542a5c0784b604709207f4cf5433ac83e1698b1eb3
-SIZE (xpi/firefox-31.2.0/csb.xpi) = 383891
-SHA256 (xpi/firefox-31.2.0/cy.xpi) = 510150d21176fb7f643b7e14cdd70673d5013b3a0e609d2ca384ca094ef69f76
-SIZE (xpi/firefox-31.2.0/cy.xpi) = 390924
-SHA256 (xpi/firefox-31.2.0/da.xpi) = 0132e0748a0cc5f7e43ae61b070b9c4112dce750878ddc2aa27dfc2c72b035f3
-SIZE (xpi/firefox-31.2.0/da.xpi) = 397944
-SHA256 (xpi/firefox-31.2.0/de.xpi) = 1465a28db347e3c0df9e01739e345035335f6490ca7518b198b1a63dee60d5f5
-SIZE (xpi/firefox-31.2.0/de.xpi) = 395361
-SHA256 (xpi/firefox-31.2.0/el.xpi) = 78c1461e87834b59ac58125e01d3687e058ab302d01569a5bf2807856977bac4
-SIZE (xpi/firefox-31.2.0/el.xpi) = 443179
-SHA256 (xpi/firefox-31.2.0/en-GB.xpi) = 54965babb2213abf774d42888f6e2f6f2edaa22d4694879d883cf4fcf2e40364
-SIZE (xpi/firefox-31.2.0/en-GB.xpi) = 390315
-SHA256 (xpi/firefox-31.2.0/en-US.xpi) = 1a3749346ca21a483e251fe6e481a20164f872c1b12a5346924d9f22c9d54aac
-SIZE (xpi/firefox-31.2.0/en-US.xpi) = 422984
-SHA256 (xpi/firefox-31.2.0/en-ZA.xpi) = 9368f89b995028edc2862bce1d63dc513bc0e48bb6fe8f5db103abdc1dabfd2b
-SIZE (xpi/firefox-31.2.0/en-ZA.xpi) = 388725
-SHA256 (xpi/firefox-31.2.0/eo.xpi) = 5e4931c8f711c2425600736aa8aa09a43e198d407ce895ec9e99ebd052789a59
-SIZE (xpi/firefox-31.2.0/eo.xpi) = 432028
-SHA256 (xpi/firefox-31.2.0/es-AR.xpi) = 3fb090888018f4af3adecaaa1784d0e2d4f7951caac9ab043cfeb8f8a9332958
-SIZE (xpi/firefox-31.2.0/es-AR.xpi) = 400134
-SHA256 (xpi/firefox-31.2.0/es-CL.xpi) = a02fe5632557dc92508b6c320a14b7020d5dde0e7932e3b4f4aad18bedd318b7
-SIZE (xpi/firefox-31.2.0/es-CL.xpi) = 343005
-SHA256 (xpi/firefox-31.2.0/es-ES.xpi) = a32e7bfb38a3ac4be877f9633a8c66c7aacb8ef46da2efa560b624460f4565bd
-SIZE (xpi/firefox-31.2.0/es-ES.xpi) = 336077
-SHA256 (xpi/firefox-31.2.0/es-MX.xpi) = ff372bfa355b8ef259fd99fce95c4125cc28f5095c8f7a08c769517dda557ed3
-SIZE (xpi/firefox-31.2.0/es-MX.xpi) = 402869
-SHA256 (xpi/firefox-31.2.0/et.xpi) = 2c28f96ff32ad93b8b1f44c7fafeffeae7d1d6c659dca1b21d12fa486e90f143
-SIZE (xpi/firefox-31.2.0/et.xpi) = 390557
-SHA256 (xpi/firefox-31.2.0/eu.xpi) = b24004437d622122bb8d4bfd54334c6d89e4ef5640d3abd047459d8fd9d7425d
-SIZE (xpi/firefox-31.2.0/eu.xpi) = 413196
-SHA256 (xpi/firefox-31.2.0/fa.xpi) = 7827842cd6534550afae0152c35744e12a9d6db21aa74677aff3978bc941319f
-SIZE (xpi/firefox-31.2.0/fa.xpi) = 461054
-SHA256 (xpi/firefox-31.2.0/ff.xpi) = 074b0141d94be2fb03d0dd2842c0797cc575e0c87ca6ab3715c82b79738d4649
-SIZE (xpi/firefox-31.2.0/ff.xpi) = 400340
-SHA256 (xpi/firefox-31.2.0/fi.xpi) = 006ec627541f25c5e5f7dafc867145537fae603ed284f8f8b60d581631b41199
-SIZE (xpi/firefox-31.2.0/fi.xpi) = 392936
-SHA256 (xpi/firefox-31.2.0/fr.xpi) = 5a9cffccefd8ddf04f3272cb2f4b7572fece6a18f7c3668e409acdbd6286e977
-SIZE (xpi/firefox-31.2.0/fr.xpi) = 406659
-SHA256 (xpi/firefox-31.2.0/fy-NL.xpi) = 9881d96cc165c9d9a2df59ce4727d755ca621ea8611121ff08fbdd3fb69fc5ac
-SIZE (xpi/firefox-31.2.0/fy-NL.xpi) = 402126
-SHA256 (xpi/firefox-31.2.0/ga-IE.xpi) = bca393f87d5fd0924837765f64541742e0863ec7e79aad080ecbfa89a53f1104
-SIZE (xpi/firefox-31.2.0/ga-IE.xpi) = 410274
-SHA256 (xpi/firefox-31.2.0/gd.xpi) = 255ee1279267c7272290884a578b5481e1a69541dfc25429da7947d6d9fc8bff
-SIZE (xpi/firefox-31.2.0/gd.xpi) = 403210
-SHA256 (xpi/firefox-31.2.0/gl.xpi) = 1568276d2872d6d8b723e42947604290951702aea9316a9d38fc77a15613913a
-SIZE (xpi/firefox-31.2.0/gl.xpi) = 390796
-SHA256 (xpi/firefox-31.2.0/gu-IN.xpi) = 0dd85acebb39393984549eefeb5b499cdd10c5bb1512221458cac759032f2245
-SIZE (xpi/firefox-31.2.0/gu-IN.xpi) = 423699
-SHA256 (xpi/firefox-31.2.0/he.xpi) = 823c801d00be4aa28a8bb58449cfc236f3d3451c34636a9343fd3c608999a3e9
-SIZE (xpi/firefox-31.2.0/he.xpi) = 427827
-SHA256 (xpi/firefox-31.2.0/hi-IN.xpi) = dc46b295b2b3effac251006b2288f8879c0660fb7e34cb018ffbdf76113849ba
-SIZE (xpi/firefox-31.2.0/hi-IN.xpi) = 441599
-SHA256 (xpi/firefox-31.2.0/hr.xpi) = 9d1d4043ec2a9582944e6b3bd1cf530c552c3f2b5ed311167e95c86486deb9c4
-SIZE (xpi/firefox-31.2.0/hr.xpi) = 424568
-SHA256 (xpi/firefox-31.2.0/hsb.xpi) = 48b13132f0f31fb9f0841b3af14928813deb04a7dbdd12318433b730e38f161c
-SIZE (xpi/firefox-31.2.0/hsb.xpi) = 413273
-SHA256 (xpi/firefox-31.2.0/hu.xpi) = 37ab26915267e7e18e6fc319a15ac3024035e33ff176cef87b9c0322e23e799a
-SIZE (xpi/firefox-31.2.0/hu.xpi) = 398841
-SHA256 (xpi/firefox-31.2.0/hy-AM.xpi) = 56a0495127d8afe15dde6ec9405d4ffcfbed3fe1fbea916eaae716d135566a96
-SIZE (xpi/firefox-31.2.0/hy-AM.xpi) = 478940
-SHA256 (xpi/firefox-31.2.0/id.xpi) = 51f32b7cf43083a7c9a4909c87ac5708f0d4095e1b88b576fa00531b45639576
-SIZE (xpi/firefox-31.2.0/id.xpi) = 378498
-SHA256 (xpi/firefox-31.2.0/is.xpi) = 211287e74680cff1f0f2ff98666ae3e794ce8b20e2d278b2fe0a9c2e9b8c5e1b
-SIZE (xpi/firefox-31.2.0/is.xpi) = 427524
-SHA256 (xpi/firefox-31.2.0/it.xpi) = 050ef8be24f69022fc9d06a34288ae7f531c0a8e341d959ccde1338298c16e0e
-SIZE (xpi/firefox-31.2.0/it.xpi) = 331102
-SHA256 (xpi/firefox-31.2.0/ja.xpi) = 6782829c967cdd70dfeffc682e5d4964e4e3c6171ce3b98ab5fdb315d4e3aa5c
-SIZE (xpi/firefox-31.2.0/ja.xpi) = 421664
-SHA256 (xpi/firefox-31.2.0/kk.xpi) = faf857b0f39559d0a462f1f7a9eda0e82ceaafb26d261107ff737c3df9fcf94b
-SIZE (xpi/firefox-31.2.0/kk.xpi) = 439313
-SHA256 (xpi/firefox-31.2.0/km.xpi) = 34f832f39ec8e76c89ad27a9eaf2b98d4023b16b28f8b8f4a8e7dc072f865656
-SIZE (xpi/firefox-31.2.0/km.xpi) = 506673
-SHA256 (xpi/firefox-31.2.0/kn.xpi) = d8f70817729b91a823b133ac4e44f3a93e4acb47bde85e97212de636e16f203b
-SIZE (xpi/firefox-31.2.0/kn.xpi) = 459088
-SHA256 (xpi/firefox-31.2.0/ko.xpi) = 2ebc4178fd8e3f2a4ad270994413bb72e5242b6933b941a5c2b5ddc30ee7bd45
-SIZE (xpi/firefox-31.2.0/ko.xpi) = 403011
-SHA256 (xpi/firefox-31.2.0/ku.xpi) = a706dc8164911ffd151670deb5b39310065915ff90ab00b332442d790d728fc0
-SIZE (xpi/firefox-31.2.0/ku.xpi) = 420260
-SHA256 (xpi/firefox-31.2.0/lij.xpi) = 3893fc559cc1c5ebee0b82034cb87b17140231d47e3ddb9c89b6c011fdc7b8dd
-SIZE (xpi/firefox-31.2.0/lij.xpi) = 386061
-SHA256 (xpi/firefox-31.2.0/lt.xpi) = b5183c5874ca9df14343eb1c818de9d3ae5cf190d0f299d0ac6dd791f1c5922d
-SIZE (xpi/firefox-31.2.0/lt.xpi) = 435628
-SHA256 (xpi/firefox-31.2.0/lv.xpi) = 78674c9deb360ac74425cda52c5acb9ea7358fd08a7145ad02379209a695c66b
-SIZE (xpi/firefox-31.2.0/lv.xpi) = 398773
-SHA256 (xpi/firefox-31.2.0/mai.xpi) = 37be09e55574343c15f7dbdb0d175dbc6d08c5a98d3c0d806ea93168db2d2bfd
-SIZE (xpi/firefox-31.2.0/mai.xpi) = 445082
-SHA256 (xpi/firefox-31.2.0/mk.xpi) = 4d1e11edc32d66753c9474403b66cfada750b1093ec888d94c01fb5a5be33148
-SIZE (xpi/firefox-31.2.0/mk.xpi) = 475680
-SHA256 (xpi/firefox-31.2.0/ml.xpi) = 2329f4af84513c928e401cb40614ecc18ad041ec60d42832ec5d14c0f5204580
-SIZE (xpi/firefox-31.2.0/ml.xpi) = 466451
-SHA256 (xpi/firefox-31.2.0/mr.xpi) = daf65260a17f6b83834b1d5c377af999810a1c7bed3a5b4aa40e183fbd733314
-SIZE (xpi/firefox-31.2.0/mr.xpi) = 451488
-SHA256 (xpi/firefox-31.2.0/ms.xpi) = 5568d4cdf4574ab6e4b60aa6d83a3ef80bd62699a2ba1c6a78dbc11f34c2f1b6
-SIZE (xpi/firefox-31.2.0/ms.xpi) = 436427
-SHA256 (xpi/firefox-31.2.0/nb-NO.xpi) = 8a313933ad2b47d73fcd8039831fcde57c628d129e63d67fd2a620f9fbcc2fc0
-SIZE (xpi/firefox-31.2.0/nb-NO.xpi) = 392203
-SHA256 (xpi/firefox-31.2.0/nl.xpi) = d2d787673e4be5b54569bb6a4bed3b6353a01bcaf6626cd6cd7caf10424432c8
-SIZE (xpi/firefox-31.2.0/nl.xpi) = 391082
-SHA256 (xpi/firefox-31.2.0/nn-NO.xpi) = 23babb9300e18e16e9cebacca00a2cc33685dafde3ad3d331ab40e820a94fa26
-SIZE (xpi/firefox-31.2.0/nn-NO.xpi) = 386478
-SHA256 (xpi/firefox-31.2.0/or.xpi) = 1d7ab1bc8ba86d19f84ad04f26edfe1dd029b5a49baaaddf946f083012e0b934
-SIZE (xpi/firefox-31.2.0/or.xpi) = 464946
-SHA256 (xpi/firefox-31.2.0/pa-IN.xpi) = 2b5ca7f0a23d671a72f4df7b204791d6c492c4d883d53b708568600f6578baee
-SIZE (xpi/firefox-31.2.0/pa-IN.xpi) = 439523
-SHA256 (xpi/firefox-31.2.0/pl.xpi) = 407985b06154518eb72b0f1da73c87c068d5da4dca539ec8b8bca9add870d6bf
-SIZE (xpi/firefox-31.2.0/pl.xpi) = 374944
-SHA256 (xpi/firefox-31.2.0/pt-BR.xpi) = e763c07a6b80ed36c5747f1a32d111021bd17fc1ef2cd9e1aa12c1c90951cace
-SIZE (xpi/firefox-31.2.0/pt-BR.xpi) = 405762
-SHA256 (xpi/firefox-31.2.0/pt-PT.xpi) = 381e2a663c660ed9cf63eaed262b396d65f2c70854beb3fbec89ddcc972762f4
-SIZE (xpi/firefox-31.2.0/pt-PT.xpi) = 386541
-SHA256 (xpi/firefox-31.2.0/rm.xpi) = da3e9f63941cc72c0cc070217bf2fa71801098e990a16165710aadb1a285547d
-SIZE (xpi/firefox-31.2.0/rm.xpi) = 399482
-SHA256 (xpi/firefox-31.2.0/ro.xpi) = 4b1d62a87be63f08318274c256ae282900b917b175d1502d2f2556fee93b3ddb
-SIZE (xpi/firefox-31.2.0/ro.xpi) = 439584
-SHA256 (xpi/firefox-31.2.0/ru.xpi) = e8732b5b096db9dc60eb6a9ebae9e78a5e7c9997ddf2fb97f3b62ddbb15cecff
-SIZE (xpi/firefox-31.2.0/ru.xpi) = 368094
-SHA256 (xpi/firefox-31.2.0/si.xpi) = 27872434fa0ae19d1044229af86aca23cb6b02f033ccd9228920689b2d71e060
-SIZE (xpi/firefox-31.2.0/si.xpi) = 463420
-SHA256 (xpi/firefox-31.2.0/sk.xpi) = a631838713bf217783d0ed83337a778569afb94e13735a70925d0c5079db151e
-SIZE (xpi/firefox-31.2.0/sk.xpi) = 413999
-SHA256 (xpi/firefox-31.2.0/sl.xpi) = 855e46b2b49d02809dc068dee1e98ee51394ec3549fffd5cdc0dad93409c453d
-SIZE (xpi/firefox-31.2.0/sl.xpi) = 387331
-SHA256 (xpi/firefox-31.2.0/son.xpi) = 41c3d4322c383f203506ce3bda188119cc1cdce0bcdcd4185ec0f51c75297267
-SIZE (xpi/firefox-31.2.0/son.xpi) = 395340
-SHA256 (xpi/firefox-31.2.0/sq.xpi) = e450cf0d2cb0cd42522ab6a5d070e95388095f6e7e3403a424af2d7119cf007a
-SIZE (xpi/firefox-31.2.0/sq.xpi) = 431332
-SHA256 (xpi/firefox-31.2.0/sr.xpi) = cbb505263e8e6c6108cbe0105cbd183c5b8ba5495c66739ea441ab56982e0189
-SIZE (xpi/firefox-31.2.0/sr.xpi) = 426099
-SHA256 (xpi/firefox-31.2.0/sv-SE.xpi) = 362c6eac4236deab720557af6a90fdd28bae7360f67a7384e0b62aa1af0c73ab
-SIZE (xpi/firefox-31.2.0/sv-SE.xpi) = 399223
-SHA256 (xpi/firefox-31.2.0/ta.xpi) = 8dfa72d8d5eaf474ff1a00e398df2a6749b6e4e65f5666b5a0d94e53c6e4530f
-SIZE (xpi/firefox-31.2.0/ta.xpi) = 447883
-SHA256 (xpi/firefox-31.2.0/te.xpi) = 1e3ce73fd862e1a6cd452f626493e6750ce19124acdc513e647f37b89b71f854
-SIZE (xpi/firefox-31.2.0/te.xpi) = 462788
-SHA256 (xpi/firefox-31.2.0/th.xpi) = 0ecd6135dbff272447bd8b15ff556e24235d381863830b2beea32b7cc46781ff
-SIZE (xpi/firefox-31.2.0/th.xpi) = 478323
-SHA256 (xpi/firefox-31.2.0/tr.xpi) = 3958e21037690f549024488fd5a6fb9ca1018eb8e6f391c37e50533c3fecdf94
-SIZE (xpi/firefox-31.2.0/tr.xpi) = 417567
-SHA256 (xpi/firefox-31.2.0/uk.xpi) = 652a6d2bbe632b6e6c9736d78bfe79c71fb6ffca1bcdcf36aeb181d2ac9ab8c6
-SIZE (xpi/firefox-31.2.0/uk.xpi) = 428199
-SHA256 (xpi/firefox-31.2.0/vi.xpi) = 46cf4bd7121b8d793942ac197a95022153b1ce238002344512f6311ff6c78bf7
-SIZE (xpi/firefox-31.2.0/vi.xpi) = 413571
-SHA256 (xpi/firefox-31.2.0/xh.xpi) = 862d1ec5cb8eec5dc2f3aca9d9697860809d13c6dfad059736440c2afab92164
-SIZE (xpi/firefox-31.2.0/xh.xpi) = 398073
-SHA256 (xpi/firefox-31.2.0/zh-CN.xpi) = e7ede8bf0ee5db225e81825eabaafe4c9578203330e150acf3676857458e278b
-SIZE (xpi/firefox-31.2.0/zh-CN.xpi) = 419827
-SHA256 (xpi/firefox-31.2.0/zh-TW.xpi) = 38372e46da7fc942e8e7c85d518d37d6c8c3d66396898322f5e73f4088b9fcb4
-SIZE (xpi/firefox-31.2.0/zh-TW.xpi) = 412717
-SHA256 (xpi/firefox-31.2.0/zu.xpi) = b1c012329f888b3ebedb9057c5a503f23ff37a7a3cc87f227677e525b564d878
-SIZE (xpi/firefox-31.2.0/zu.xpi) = 433413
+SHA256 (xpi/firefox-31.3.0/ach.xpi) = 189ede5741ec7de13b981176b60b1088a92f771ac0925c752a8898154c4acbf6
+SIZE (xpi/firefox-31.3.0/ach.xpi) = 445523
+SHA256 (xpi/firefox-31.3.0/af.xpi) = f126a4432005ea7e7a8f385897c943de55f8ac4923040e4c1ed12454ef2b731f
+SIZE (xpi/firefox-31.3.0/af.xpi) = 431286
+SHA256 (xpi/firefox-31.3.0/an.xpi) = 30a81750eaad7e3d1794e8ef7573dab9a5d9e4333ee8ddbbe4f07825d45c79a4
+SIZE (xpi/firefox-31.3.0/an.xpi) = 407348
+SHA256 (xpi/firefox-31.3.0/ar.xpi) = 1bcb4ca2ced3c6ddcbc4db27f305ba6b2c1b9ff1d920daaa5984088e17e9c74d
+SIZE (xpi/firefox-31.3.0/ar.xpi) = 460021
+SHA256 (xpi/firefox-31.3.0/as.xpi) = b0118cde5b5e7f47e8e56022f11a508ad6dd716060cd3afdd9f85773db994ab0
+SIZE (xpi/firefox-31.3.0/as.xpi) = 448765
+SHA256 (xpi/firefox-31.3.0/ast.xpi) = f8b7ab2cabd5ca25f7ce24b8cc11dbb9bbba33025d755a481b47eb2c7b4b4213
+SIZE (xpi/firefox-31.3.0/ast.xpi) = 352537
+SHA256 (xpi/firefox-31.3.0/be.xpi) = 6920b8c343d05f5cdf54a6f1cc766eac05b748392c6af2a302d68cf807cd2174
+SIZE (xpi/firefox-31.3.0/be.xpi) = 378865
+SHA256 (xpi/firefox-31.3.0/bg.xpi) = e22bda4eab4bef2a03241e3005ea60cca0c8bad88a2c34d4f07fd760bb353c75
+SIZE (xpi/firefox-31.3.0/bg.xpi) = 438257
+SHA256 (xpi/firefox-31.3.0/bn-BD.xpi) = e344f0dac8aed330257ecde698afa7c8be973385e6b1499dac98b52c5fc842ef
+SIZE (xpi/firefox-31.3.0/bn-BD.xpi) = 472823
+SHA256 (xpi/firefox-31.3.0/bn-IN.xpi) = 1262924ebd25d8a82693129e6e7c86e345b5379c4e9c57be736751ec24ef6ad1
+SIZE (xpi/firefox-31.3.0/bn-IN.xpi) = 462789
+SHA256 (xpi/firefox-31.3.0/br.xpi) = 6c82bc8db24d9def94099a77c300fbf60f70c36ac27773ea3b08ce73e1b22b8b
+SIZE (xpi/firefox-31.3.0/br.xpi) = 389901
+SHA256 (xpi/firefox-31.3.0/bs.xpi) = 433f12140ce8a2c2fae5c6bd6dbaf306590bb9a2737ea2f97874e278904a082b
+SIZE (xpi/firefox-31.3.0/bs.xpi) = 429211
+SHA256 (xpi/firefox-31.3.0/ca.xpi) = a94fbdb5e6c16624ea7fb019eeac8ed6005cd1c3ee4f21a3a37963ee8e03f331
+SIZE (xpi/firefox-31.3.0/ca.xpi) = 403772
+SHA256 (xpi/firefox-31.3.0/cs.xpi) = 2913dee49e40e9c810e41eb72c446167f285df82f1bad80bf879bf6e315cff42
+SIZE (xpi/firefox-31.3.0/cs.xpi) = 391175
+SHA256 (xpi/firefox-31.3.0/csb.xpi) = e24bd3a6f4a84f3a97762ca0ea7351dedc8e90a49ce9f838e3ac54dab22fd449
+SIZE (xpi/firefox-31.3.0/csb.xpi) = 383891
+SHA256 (xpi/firefox-31.3.0/cy.xpi) = fff0ea4c527222ea08a9d794574754836a2ee6532803497b593d579aad5f28b5
+SIZE (xpi/firefox-31.3.0/cy.xpi) = 390924
+SHA256 (xpi/firefox-31.3.0/da.xpi) = ec87e884b20395b54e2800581016e26769acbe2a9bbdf02adbe98cdd08d1f884
+SIZE (xpi/firefox-31.3.0/da.xpi) = 397944
+SHA256 (xpi/firefox-31.3.0/de.xpi) = bf8d82ab628c5f1775f9d86e30d1cdeda0d01afcff92d7296a7b4edd20b14183
+SIZE (xpi/firefox-31.3.0/de.xpi) = 395361
+SHA256 (xpi/firefox-31.3.0/el.xpi) = 5acba521e8e274ac16305098c69f184ebecae08b2dcc24a25ec83c6fcd47f876
+SIZE (xpi/firefox-31.3.0/el.xpi) = 443179
+SHA256 (xpi/firefox-31.3.0/en-GB.xpi) = 9a012d2e8abf4923ee124eb3f4e2e1166a1bc4f986883e9ef56d47c8b62f8558
+SIZE (xpi/firefox-31.3.0/en-GB.xpi) = 390315
+SHA256 (xpi/firefox-31.3.0/en-US.xpi) = 0fe3456a5178075e6dee687e0f3b78909394e4562247c4e0f0bff8a490c62e3d
+SIZE (xpi/firefox-31.3.0/en-US.xpi) = 422984
+SHA256 (xpi/firefox-31.3.0/en-ZA.xpi) = f75510e52cfdf668ca83172ddcca83a556c1a2ffe30fa06ea9018253be953699
+SIZE (xpi/firefox-31.3.0/en-ZA.xpi) = 388725
+SHA256 (xpi/firefox-31.3.0/eo.xpi) = 0ece2c1fe0e3b98846cb84a1c482b71e643789630aae26f58c25a7535ea9b393
+SIZE (xpi/firefox-31.3.0/eo.xpi) = 432028
+SHA256 (xpi/firefox-31.3.0/es-AR.xpi) = 5ce053d1e7a8a2e6f67596f75b797389bbe74343a4130b2d0189c850be9f999d
+SIZE (xpi/firefox-31.3.0/es-AR.xpi) = 400134
+SHA256 (xpi/firefox-31.3.0/es-CL.xpi) = 6ec64726a04f26ecae63c19a3beb5fc4a1c4fecf77ef1df994211a7c99aabd95
+SIZE (xpi/firefox-31.3.0/es-CL.xpi) = 343005
+SHA256 (xpi/firefox-31.3.0/es-ES.xpi) = 07bcfb4d1d3737ee753562b2050ad957372b09e73cc75cbf09841dcf5a02c537
+SIZE (xpi/firefox-31.3.0/es-ES.xpi) = 336077
+SHA256 (xpi/firefox-31.3.0/es-MX.xpi) = c7519005c7cb46eb91869eba60c9fbb7a3d28ac58cdf1d1649178c23afc0567c
+SIZE (xpi/firefox-31.3.0/es-MX.xpi) = 402869
+SHA256 (xpi/firefox-31.3.0/et.xpi) = d739db718853165671387a79e726c4084fc134cbc0c97c82570c3ef47756b9fb
+SIZE (xpi/firefox-31.3.0/et.xpi) = 390557
+SHA256 (xpi/firefox-31.3.0/eu.xpi) = 6f738329a8abe0a03d9c56903411e4b4c654b8a3ab5ea1e560591d1fbf0f6b5b
+SIZE (xpi/firefox-31.3.0/eu.xpi) = 413196
+SHA256 (xpi/firefox-31.3.0/fa.xpi) = 25d01af4a0e01c8e3318bfe101adbeca860e8a817469d51d4a42546276b05912
+SIZE (xpi/firefox-31.3.0/fa.xpi) = 461054
+SHA256 (xpi/firefox-31.3.0/ff.xpi) = 79f7b80453f93724f84ffac6cf0644b9f1975e447dc133c9e45b1dba887a8f2d
+SIZE (xpi/firefox-31.3.0/ff.xpi) = 400340
+SHA256 (xpi/firefox-31.3.0/fi.xpi) = 28f1a84049dd98fb036be4cb2bcc86fb09d9edd65cba2d1b112ff4a85bb842cf
+SIZE (xpi/firefox-31.3.0/fi.xpi) = 392936
+SHA256 (xpi/firefox-31.3.0/fr.xpi) = 440fcf4e78cf54a846ff1d12b2f9e94bf6586e6f9a63b1e9125d7ecf69444d86
+SIZE (xpi/firefox-31.3.0/fr.xpi) = 406659
+SHA256 (xpi/firefox-31.3.0/fy-NL.xpi) = 23006eb2bd6d981a17e6f08435e15d215de8f9544f0f8d761c00ad4affdf5a9f
+SIZE (xpi/firefox-31.3.0/fy-NL.xpi) = 402126
+SHA256 (xpi/firefox-31.3.0/ga-IE.xpi) = 59cb8113a14dbd19043dd1bfe497c4b0626dd11f3c196a398ea114773b196e05
+SIZE (xpi/firefox-31.3.0/ga-IE.xpi) = 410274
+SHA256 (xpi/firefox-31.3.0/gd.xpi) = ef99cb333a656c2cfa6c87589559b767f4693b87807709f542622919e82659af
+SIZE (xpi/firefox-31.3.0/gd.xpi) = 403210
+SHA256 (xpi/firefox-31.3.0/gl.xpi) = 122e8110583d222d9de8ab7797f5a659ad50f811a3f1d9ec7d67191ae9f49724
+SIZE (xpi/firefox-31.3.0/gl.xpi) = 390796
+SHA256 (xpi/firefox-31.3.0/gu-IN.xpi) = 9ed7e2cafa4e714c3039450939dc7e958570027c6277a32aff1287c9e22d8582
+SIZE (xpi/firefox-31.3.0/gu-IN.xpi) = 423701
+SHA256 (xpi/firefox-31.3.0/he.xpi) = 8b66a7c0c4c2156f579a50eb7ab03cd2e205a15f46b5e57cf779758311e7c3bd
+SIZE (xpi/firefox-31.3.0/he.xpi) = 427827
+SHA256 (xpi/firefox-31.3.0/hi-IN.xpi) = bf69c45d95242a8e3ad96753ab2857e79b7d55f9933a4cbca37bd4d57b4651fb
+SIZE (xpi/firefox-31.3.0/hi-IN.xpi) = 441599
+SHA256 (xpi/firefox-31.3.0/hr.xpi) = a5d53a209738fd281cf57ddb6ba1b478cd2e36aeb659cf8563805579e063e58e
+SIZE (xpi/firefox-31.3.0/hr.xpi) = 424568
+SHA256 (xpi/firefox-31.3.0/hsb.xpi) = edef63c2a2bfa7584f367936ed72602ae77f7f62e8aebfa346a2f0d8ab3996c2
+SIZE (xpi/firefox-31.3.0/hsb.xpi) = 413273
+SHA256 (xpi/firefox-31.3.0/hu.xpi) = 4dd267a36d8c377cefaf5f6d9f437688de77b1ace46d9bfbfea624397b68e3b8
+SIZE (xpi/firefox-31.3.0/hu.xpi) = 398841
+SHA256 (xpi/firefox-31.3.0/hy-AM.xpi) = baf6c64d1005321fffccc41f944f47caa126ce6592811c404e03cc89614b1502
+SIZE (xpi/firefox-31.3.0/hy-AM.xpi) = 478940
+SHA256 (xpi/firefox-31.3.0/id.xpi) = cdacf2abb76ad5e597039be542d3c5132461bfaf9cccc82963501675c8fb04b9
+SIZE (xpi/firefox-31.3.0/id.xpi) = 378498
+SHA256 (xpi/firefox-31.3.0/is.xpi) = e5e77f9d8a28021dd4911a2a8ee3fb92cdcc7e9a4fd22211bec84d11ac33d4b0
+SIZE (xpi/firefox-31.3.0/is.xpi) = 427524
+SHA256 (xpi/firefox-31.3.0/it.xpi) = b5a9d29c71aea2e7a5a27928f7fd78fe1970e6f4018ca7c400695796ac19a305
+SIZE (xpi/firefox-31.3.0/it.xpi) = 331102
+SHA256 (xpi/firefox-31.3.0/ja.xpi) = b7341fe28f756661e502318ca00da8f1d192fa00cad3d897378941f7cfd6852c
+SIZE (xpi/firefox-31.3.0/ja.xpi) = 421664
+SHA256 (xpi/firefox-31.3.0/kk.xpi) = defdde1f06b8e08516ffd7c4c79af041ff0f1f019dc9f669871eaa8f462774ce
+SIZE (xpi/firefox-31.3.0/kk.xpi) = 439313
+SHA256 (xpi/firefox-31.3.0/km.xpi) = bd4b1682f02e56724103f23d95bd2daecc88ca400ef6513dfd12b20053790b6b
+SIZE (xpi/firefox-31.3.0/km.xpi) = 506673
+SHA256 (xpi/firefox-31.3.0/kn.xpi) = 857be582a3ee992eb9f52d516e14f33c352747ffc38f00a541a032654af24dcb
+SIZE (xpi/firefox-31.3.0/kn.xpi) = 459088
+SHA256 (xpi/firefox-31.3.0/ko.xpi) = 27cc0c2dba8162783acb4a9652ad19a5a72a7d5c4e72ef7ba05037e33286368d
+SIZE (xpi/firefox-31.3.0/ko.xpi) = 403011
+SHA256 (xpi/firefox-31.3.0/ku.xpi) = f180d1a911b88784b9bd1bb4f2a182dd36b03891e98d6db55a197f006a1842a6
+SIZE (xpi/firefox-31.3.0/ku.xpi) = 420260
+SHA256 (xpi/firefox-31.3.0/lij.xpi) = eee359cca1fc79c04ab81081df9cbb95b3466639b0356e0c11fe450f20e2a768
+SIZE (xpi/firefox-31.3.0/lij.xpi) = 386061
+SHA256 (xpi/firefox-31.3.0/lt.xpi) = 4627cd054e3e5a5e31a6846a9e0f6ae14b331070501f5ab2d18ad8c9540ef38c
+SIZE (xpi/firefox-31.3.0/lt.xpi) = 435628
+SHA256 (xpi/firefox-31.3.0/lv.xpi) = 3ec7df065c8333ec9a19d2e8825f279aad97962b1b94865d61f4004a8664b994
+SIZE (xpi/firefox-31.3.0/lv.xpi) = 398773
+SHA256 (xpi/firefox-31.3.0/mai.xpi) = 0f7a54b6184d1c2a1aad8112899cd458781aa9746a8437b813390eae57da351b
+SIZE (xpi/firefox-31.3.0/mai.xpi) = 445082
+SHA256 (xpi/firefox-31.3.0/mk.xpi) = 9a7d439445b4f3cbb43793ddc05a4f106b7d15f446ab28c35a74de035d9f117b
+SIZE (xpi/firefox-31.3.0/mk.xpi) = 475680
+SHA256 (xpi/firefox-31.3.0/ml.xpi) = 4bf978b04fb6ab3e2db49c6de4399a9bfa6ebfb4dbad5bf6573e0ac71c44effa
+SIZE (xpi/firefox-31.3.0/ml.xpi) = 466451
+SHA256 (xpi/firefox-31.3.0/mr.xpi) = 242993cdc8905f048d81c5cb3456209070a8ea5b6e0031bf3154b91463d46a93
+SIZE (xpi/firefox-31.3.0/mr.xpi) = 451488
+SHA256 (xpi/firefox-31.3.0/ms.xpi) = 22dd8226aebb2e6d58c2cf8de289d87c9b0a4c2351fe56d8013b32c39ccffc9b
+SIZE (xpi/firefox-31.3.0/ms.xpi) = 436427
+SHA256 (xpi/firefox-31.3.0/nb-NO.xpi) = 452829dc5794267cb9332e2362b0c62ec85ebe6c29d179dbcdd7e3a0336a9125
+SIZE (xpi/firefox-31.3.0/nb-NO.xpi) = 392202
+SHA256 (xpi/firefox-31.3.0/nl.xpi) = cbb8ec9c65eaa153e86afa41f73fbce09fe898ced9e3e37c182582582a2d2baa
+SIZE (xpi/firefox-31.3.0/nl.xpi) = 391082
+SHA256 (xpi/firefox-31.3.0/nn-NO.xpi) = ec41dd8e35a5e110ccf13b1932923907b96da79c82fd6356e6acbd8ef3780f28
+SIZE (xpi/firefox-31.3.0/nn-NO.xpi) = 386478
+SHA256 (xpi/firefox-31.3.0/or.xpi) = e9d0be6d3aa8a91e6c0673b13aab22c2b33e3af9716270f0bf191d28116b19e4
+SIZE (xpi/firefox-31.3.0/or.xpi) = 464946
+SHA256 (xpi/firefox-31.3.0/pa-IN.xpi) = c5d4df49f25c6a71f0bc4b4b6f0cb9a09178ca9a04f1eec5f61f28b3bf2888ad
+SIZE (xpi/firefox-31.3.0/pa-IN.xpi) = 439523
+SHA256 (xpi/firefox-31.3.0/pl.xpi) = c0201edcd36ef45cd85b10f17dee00436db9db0bbab6c4b2a8eb072aeb3b1226
+SIZE (xpi/firefox-31.3.0/pl.xpi) = 374944
+SHA256 (xpi/firefox-31.3.0/pt-BR.xpi) = 765588ced0716713f7d8ee07462b867ecd94b0f0c7b16392d8f357a7309ad2fc
+SIZE (xpi/firefox-31.3.0/pt-BR.xpi) = 405762
+SHA256 (xpi/firefox-31.3.0/pt-PT.xpi) = caa714028aed6651690f564ff1950a18f5392aac0eeca26da12a5348dbf9964b
+SIZE (xpi/firefox-31.3.0/pt-PT.xpi) = 386541
+SHA256 (xpi/firefox-31.3.0/rm.xpi) = 8ea350b9e2f04ddadc0a7e0db6568739584e1a523626fe20dc98cd1f27d5b08f
+SIZE (xpi/firefox-31.3.0/rm.xpi) = 399482
+SHA256 (xpi/firefox-31.3.0/ro.xpi) = 29b62476b914532264720d17d52c725256ab0e34450ff02ac2c0cd682b3a37c0
+SIZE (xpi/firefox-31.3.0/ro.xpi) = 439584
+SHA256 (xpi/firefox-31.3.0/ru.xpi) = 4579b36a71f11783462c94946f715367d0df1edbf1ecd92dd94905282b718ad1
+SIZE (xpi/firefox-31.3.0/ru.xpi) = 368094
+SHA256 (xpi/firefox-31.3.0/si.xpi) = ac807c1c47ca992ebd86e01632c7b71f2855b20da20ad26c8fdb14cd2ff6e076
+SIZE (xpi/firefox-31.3.0/si.xpi) = 463420
+SHA256 (xpi/firefox-31.3.0/sk.xpi) = adc421451bd26ed19658a3d94bea384297aa439ef3ca9c76c9b61acee75cfe82
+SIZE (xpi/firefox-31.3.0/sk.xpi) = 413999
+SHA256 (xpi/firefox-31.3.0/sl.xpi) = 2fa9a65cda00c1c4d0e57c022c8b97fd0464108202b89afe999633fdcb6bad15
+SIZE (xpi/firefox-31.3.0/sl.xpi) = 387331
+SHA256 (xpi/firefox-31.3.0/son.xpi) = 74cd6da8d3998351c85e38bc06829057e9c6fb1057e242297989dc77832fb672
+SIZE (xpi/firefox-31.3.0/son.xpi) = 395340
+SHA256 (xpi/firefox-31.3.0/sq.xpi) = 19a706acdfab32e90527558372f9bd1dc763f38377a1d9e2b807f578c7839d6a
+SIZE (xpi/firefox-31.3.0/sq.xpi) = 431333
+SHA256 (xpi/firefox-31.3.0/sr.xpi) = b1bbe5c9b9798596b9d14778df9a206d8bf85e17fb63b866a1e44d8048e97dd3
+SIZE (xpi/firefox-31.3.0/sr.xpi) = 426099
+SHA256 (xpi/firefox-31.3.0/sv-SE.xpi) = 317a3c2a546af8ba6f23887404fd3edbe7c54eee74237fe0d5a9c3bead4d0123
+SIZE (xpi/firefox-31.3.0/sv-SE.xpi) = 399223
+SHA256 (xpi/firefox-31.3.0/ta.xpi) = d607b70c939c8dfd36f52df890aadc726ed5644828930d5c7e704f4d820a42df
+SIZE (xpi/firefox-31.3.0/ta.xpi) = 447883
+SHA256 (xpi/firefox-31.3.0/te.xpi) = ca210490f5df4d5a0c17fd324c613fba75226ccf28a5ddd3ce5093619a7d3022
+SIZE (xpi/firefox-31.3.0/te.xpi) = 462788
+SHA256 (xpi/firefox-31.3.0/th.xpi) = f6c4ce4a0c2df0680c2e6fdb45b32cfc267ff16d8bb99ee8f553eba6b14f4957
+SIZE (xpi/firefox-31.3.0/th.xpi) = 478323
+SHA256 (xpi/firefox-31.3.0/tr.xpi) = 0e9bf249325e9a3feac5b3749d393d52ba7cdf2fb47fb3e9141f3d75140bfa7e
+SIZE (xpi/firefox-31.3.0/tr.xpi) = 417567
+SHA256 (xpi/firefox-31.3.0/uk.xpi) = bd415497a90d1277c9b4c5dae5e07e86445f1c7f08375a812217c286c152d0f3
+SIZE (xpi/firefox-31.3.0/uk.xpi) = 428199
+SHA256 (xpi/firefox-31.3.0/vi.xpi) = b2102214b9438a0a1cb58ae32fd2c90dcb79792d50faff58fd9195789d694763
+SIZE (xpi/firefox-31.3.0/vi.xpi) = 413571
+SHA256 (xpi/firefox-31.3.0/xh.xpi) = 634e2ceb3668d0764ba2c2d1d3a0d772285f85f173ad1aac95a16d95ee81f302
+SIZE (xpi/firefox-31.3.0/xh.xpi) = 398073
+SHA256 (xpi/firefox-31.3.0/zh-CN.xpi) = f27c09ff2d1fc11ace3fb62ceb156e55ad621dbc44c058c6cee56bdb4823ab7c
+SIZE (xpi/firefox-31.3.0/zh-CN.xpi) = 419827
+SHA256 (xpi/firefox-31.3.0/zh-TW.xpi) = 89ef932f6c2d194cb23765a4e093289e3aab2a629d2ea31ecaa208d5c3b3638a
+SIZE (xpi/firefox-31.3.0/zh-TW.xpi) = 412717
+SHA256 (xpi/firefox-31.3.0/zu.xpi) = a5df0b4eb38ebdd83bed4ce8e232dce18a6c33974769d542f96f3d153529eb59
+SIZE (xpi/firefox-31.3.0/zu.xpi) = 433413
diff --git a/www/firefox-esr/Makefile b/www/firefox-esr/Makefile
index caeaff58352c..8cdc68b24bc4 100644
--- a/www/firefox-esr/Makefile
+++ b/www/firefox-esr/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= firefox
-DISTVERSION= 31.2.0
+DISTVERSION= 31.3.0
DISTVERSIONSUFFIX=esr.source
PORTEPOCH= 1
CATEGORIES= www ipv6
@@ -30,8 +30,6 @@ BUILD_DEPENDS= nspr>=4.10.6:${PORTSDIR}/devel/nspr \
LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l
-USE_AUTOTOOLS= autoconf213:env
-OBJDIR_BUILD= # in-tree build broken after bug 789837
USE_GECKO= gecko
CPE_PRODUCT= ${PORTNAME}_esr
CONFLICTS= firefox-3[02-9].* firefox-2[0-35-9].*
@@ -39,15 +37,11 @@ MOZ_PKGCONFIG_FILES= # empty
USE_MOZILLA= # empty
MOZILLA_NAME= Firefox
-WANT_GNOME= yes
USE_QT5= # empty
QT_NONSTANDARD= yes
-ALL_TARGET= default
-GNU_CONFIGURE= yes
USE_GL= gl
USES= dos2unix tar:bzip2
DOS2UNIX_FILES= media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp
-NO_MOZPKGINSTALL=yes
FIREFOX_ICON= ${MOZILLA}.png
FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png
@@ -60,23 +54,6 @@ MOZ_OPTIONS= --program-transform-name='s/firefox/${MOZILLA}/' \
WRKSRC:= ${WRKDIR}/mozilla-esr31
-# avoid clang 3.2/3.3 crash in js/src/jsgc.cpp on refillFreeList<(js::AllowGC)1>
-# To be removed when 9.2R goes EOL. http://llvm.org/PR15840
-.if ${ARCH} == i386 && ${CHOSEN_COMPILER_TYPE} == clang && ${COMPILER_VERSION:M3[23]}
-. if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS}
-BROKEN= Cannot build with OPTIMIZED_CFLAGS option due to \
- a ${CHOSEN_COMPILER_TYPE} bug: unset the option or \
- use FAVORITE_COMPILER=gcc in Makefile.local/make.conf
-# apply workaround only for -O2 or greater
-. elif ${CXXFLAGS:M-O*} && ! ${CXXFLAGS:M-O[01]}
-. if ${MACHINE_CPU:Msse2}
-CXXFLAGS+= -msse2
-. else
-CXXFLAGS+= -O1
-. endif
-. endif
-.endif
-
.if ${PORT_OPTIONS:MALSA}
RUN_DEPENDS+= alsa-lib>=1.0.27.2_1:${PORTSDIR}/audio/alsa-lib
.endif
diff --git a/www/firefox-esr/distinfo b/www/firefox-esr/distinfo
index 819393e94163..149b1d8271f5 100644
--- a/www/firefox-esr/distinfo
+++ b/www/firefox-esr/distinfo
@@ -1,2 +1,2 @@
-SHA256 (firefox-31.2.0esr.source.tar.bz2) = 02de399cbf467ea536042008d1e0cd4ac6ffdc9b469d3189384f02ec0590d378
-SIZE (firefox-31.2.0esr.source.tar.bz2) = 147362334
+SHA256 (firefox-31.3.0esr.source.tar.bz2) = 1152c4e7dc251f5f4928fd28657462c3d321e9c25cbbb1ca8b2ec84c8c501e53
+SIZE (firefox-31.3.0esr.source.tar.bz2) = 148022631
diff --git a/www/firefox-esr/files/patch-bug1061736 b/www/firefox-esr/files/patch-bug1061736
new file mode 100644
index 000000000000..08f361b449bd
--- /dev/null
+++ b/www/firefox-esr/files/patch-bug1061736
@@ -0,0 +1,50 @@
+commit a7add79
+Author: Gavin Sharp <gavin@gavinsharp.com>
+Date: Mon Oct 27 18:43:51 2014 -0700
+
+ Bug 1061736: add DuckDuckGo as a search engine option in Firefox. r=dolske
+---
+ browser/locales/Makefile.in | 2 +-
+ browser/locales/en-US/searchplugins/ddg.xml | 21 +++++++++++++++++++++
+ 2 files changed, 22 insertions(+), 1 deletion(-)
+
+diff --git browser/locales/Makefile.in browser/locales/Makefile.in
+index eb3c30b..b172876 100644
+--- browser/locales/Makefile.in
++++ browser/locales/Makefile.in
+@@ -71,7 +71,7 @@ endif
+ ifeq ($(MOZ_WIDGET_TOOLKIT) $(DIST_SUBDIR),windows metro)
+ SEARCHPLUGINS_NAMES = $(shell cat $(call MERGE_FILE,/searchplugins/metrolist.txt))
+ else
+-SEARCHPLUGINS_NAMES = $(shell cat $(call MERGE_FILE,/searchplugins/list.txt))
++SEARCHPLUGINS_NAMES = $(shell cat $(call MERGE_FILE,/searchplugins/list.txt)) ddg
+ endif
+ SEARCHPLUGINS_PATH := $(FINAL_TARGET)/searchplugins
+ SEARCHPLUGINS := $(addsuffix .xml,$(SEARCHPLUGINS_NAMES))
+diff --git browser/locales/en-US/searchplugins/ddg.xml browser/locales/en-US/searchplugins/ddg.xml
+new file mode 100644
+index 0000000..d68deb4
+--- /dev/null
++++ browser/locales/en-US/searchplugins/ddg.xml
+@@ -0,0 +1,21 @@
++<?xml version="1.0" encoding="utf-8"?>
++<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
++ <ShortName>DuckDuckGo</ShortName>
++ <Description>Search DuckDuckGo</Description>
++ <InputEncoding>UTF-8</InputEncoding>
++ <Image height="16" width="16">data:image/icon;base64,AAABAAIAEBAAAAEAIABoBAAAJgAAACAgAAABACAAqBAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAAAAAEAAATCwAAEwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA11RgALs6oACbQ9wAj0v8AI9L/ACfQ9wAu0agANdUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzzN4CNdL/oK/z//////////////////////+jsPv/BDXX/wAz0t4AAAAAAAAAAAAAAAAAAAAAAAAAAAAyzvNSduD//////8jK/v+P+Lf/IbQL/17RPP+J3Y//wOKX//////9YeuX/ADLO8wAAAAAAAAAAAAAAAAAw091piOX/8/X9/1Fx5P9xhu//WOWZ/0W9Lv9Lwjn/J8BB/xyDAP9bdfL/9fP//2mI5v8AMNPdAAAAAAc610YRQ9f//////0Zr4P8AGdD/sb32////////////wrv//wAh1/8MPab/ACPc/05r4///////EkPX/wc610YANtWkrr/y/6S48P8AJ9L/AB3R/+/w/v///////////3+D7f8AQeL/AYTw/wFr5/8AMNb/p7Tv/6698v8AM9WkADLW//////8yXt//AC3V/wAw1/////////////z///8A0P7/AKb1/wWI7P8AuPf/AJ3w/zZW3P//////ADHV/wAx2P//////AzrZ/wAu1/84ZOL////////////e////AND//wC1+f8Atff/AZbv/wY62f8ELNf//////wAw1/8AMtn//////wAw2f8ALNn/kKrz////+//cwbH////////////R////Rcb8/wDO/f8A/P//AHzo//////8AMNj/ADXa//////8vXuL/ACna/4yq9///79T/jUkg/9i+r///////r2Q0/7Cozv8BKdr/AirY/zdZ4P//////ADTa/wI72tOuv/T/prr0/wAl2v+JqPb//7yW/+bUxv/9+/n////u//W+n/+Op/L/ADPd/wAv2v+ru/T/r7/0/wI72tMLQd1DEEjg//////9Cbef/ADng///////////////////////R3///AC3g/wAy3v9SeOn//////xFI4P8LQd1DAAAAAAM64PNmiuz/9/j//2mN7f/m7P3///////////9Cb+n/ACXd/wAt3v9rju3//////2iL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/P8J0vz/ELDz/xt85v8mSdj/JknY/yZJ2P8lStowJUjXYCZJ2P8nSdhwJErZryZK2f8oSNcgJUnajyZK2f8mStn/JkrZ/yZK2f8mStn/iJPA////////////////////////////0ff+/xjV/P8J0vz/Drn1/xiO6/8Yjuv/GI7r/xCw8/8Lyvr/CdL8/xmF6P8mStn/JkrZ/yVJ2o8oSNcgJkrZ/yRK2a8jStrfI0rZ3wAAAAAlSdq/Jkra/yZK2v8mStr/Jkra/yZK2v+xtsf///////////////////////////8o2Pz/CdL8/wvK+v8mStr/Jkra/yZK2v8mStr/Jkra/yZK2v8iW97/Jkra/yZK2v8mStr/JUnavwAAAAAjStnfI0ra3yZK2v8lSdq/AAAAACZH2O8mStr/Jkra/yZK2v8mStr/L1HY/9HR0f///////////////////////////yjY/P8J0vz/CdL8/xCw9P8QsPT/ELD0/xSf7/8ddeX/Jkra/yZK2v8mStr/Jkra/yZK2v8mR9jvAAAAACVJ2r8mStr/Jkvb/yVJ2r8AAAAAJkvb/yZL2/8mS9v/Jkvb/yZL2/9KZtL/4+Pj////////////////////////////4Pn//0fd/f8J0vz/CdL8/wnS/P8J0vz/CdL8/wnS/P8Lyvr/Fpfu/yJc3/8mS9v/Jkvb/yZL2/8AAAAAJUnavyZL2/8mS9z/JUncvwAAAAAmS9z/Jkvc/yZL3P8mS9z/Jkvc/26AyP/x8fH//////////////////////////////////////9H3/v/C9P7/o+7+/2fa+/8Oufb/CdL8/wnS/P8J0vz/CdL8/xiP7P8mS9z/Jkvc/wAAAAAlSdy/Jkvc/yZM3P8lTNy/AAAAACZJ2e8mTNz/Jkzc/yZM3P8mTNz/iJTB////////////qnth/5VaOf/x6eX///////////////////////Hp5f/x6eX/ydL2/yZM3P8kVN7/G37o/xKo8v8QsfT/HXbm/yZM3P8mSdnvAAAAACVM3L8mTNz/I0vc3yZJ2u8AAAAAJUzevyZM3f8mTN3/Jkzd/yZM3f+fqc3///////////+VWjn/v5yI/+re1///////////////////////jk8s/7iRe//J0vb/Jkzd/yZM3f8mTN3/Jkzd/yZM3f8mTN3/Jkzd/yVM3r8AAAAAI0vc3yNL3N8kTd2vJk3d/yhQ3yAlTd2PJk3d/yZN3f8mTd3/Jk3d/6St0v////////////Hp5f/q3tf///////////////////////////+xhm7/49PK/6Cx8P8mTd3/Jk3d/yZN3f8mTd3/Jk3d/yZN3f8mTd3/JU3djyhQ3yAmTd3/JE3drydN33AmTd7/J03fcCVK3zAmTd7/Jk3e/yZN3v8mTd7/pK7S///////Sp5r/////////////////////////////////////////////////T27k/yZN3v8mTd7/Jk3e/yZN3v8mTd7/Jk3e/yZN3v8lSt8wJ03fcCZN3v8nTd9wKFDfICZO3/8mTt3PAAAAACVN3r8mTt//Jk7f/yZO3/+EltX//////+fRyv/SqaD/59LO///////////////////////at63/vIBy/7Glxf8mTt//Jk7f/yZO3/8mTt//Jk7f/yZO3/8mTt//JU3evwAAAAAmTt3PJk7f/yhQ3yAAAAAAJE/dryZO3/8oUN9AKFDfQCZO3/8mTt//Jk7f/zhb2v/o6/T/////////////////////////////////////////////////XHrn/yZO3/8mTt//Jk7f/yZO3/8mTt//Jk7f/yZO3/8oUN9AKFDfQCZO3/8kT92vAAAAAAAAAAAoUN9AJk7g/yZO4M8AAAAAJk/hnyZO4P8mTuD/Jk7g/05v5v/k6fv//////////////////////////////////////3eR7P8mTuD/Jk7g/yZO4P8mTuD/Jk7g/yZO4P8mTuD/Jk/hnwAAAAAmTuDPJk7g/yhQ30AAAAAAAAAAAAAAAAAjT+GfJU/h/yVO4Y8gUN8QIk7gzyVP4f8lT+H/SWnW/0lp1v+bq+H/8fHx/////////////////6Cy8v9OcOb/JU/h/yVP4f8lT+H/JU/h/yVP4f8lT+H/JU/h/yJO4M8gUN8QJU7hjyVP4f8jT+GfAAAAAAAAAAAAAAAAAAAAACBQ3xAlTOHvJU/h/yVQ4mAgUN8QIk7hzyVP4f+ktOv///////////////////////H0/f9phur/JU/h/yVP4f8lT+H/JU/h/yVP4f8lT+H/JU/h/yVP4f8iTuHPIFDfECVQ4mAlT+H/JUzh7yBQ3xAAAAAAAAAAAAAAAAAAAAAAAAAAACVQ3zAlUOLvJVDi/yVQ4mAgUN8QI1Din4mb2//J0/j/ydP4/6299P93ku3/M1vk/yVQ4v8lUOL/JVDi/yVQ4v8lUOL/JVDi/yVQ4v8lUOL/I1DinyBQ3xAlUOJgJVDi/yVQ4u8lUN8wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVQ5DAlUOLvJVDi/yVQ4o8AAAAAJFDjQCVQ4r8lUOL/JVDi/yVQ4v8lUOL/JVDi/yVQ4v8lUOL/JVDi/yVQ4v8lUOL/JVDivyRQ40AAAAAAJVDijyVQ4v8lUOLvJVDkMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVQ5DAjUeTfJVHj/yNR5N8kUONAAAAAACVQ5DAmUuOAJVHivyNR5N8lUeP/JVHj/yNR5N8lUeK/JlLjgCVQ5DAAAAAAJFDjQCNR5N8lUeP/I1Hk3yVQ5DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBQ3xAjUuSfJVHk/yVR5P8jUeTfJFLkcChQ5yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoUOcgJFLkcCNR5N8lUeT/JVHk/yNS5J8gUN8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkUONAI1LknyVS5P8lUuT/JVLk/yVS5O8lUeS/JVHkvyVR5L8lUeS/JVLk7yVS5P8lUuT/JVLk/yRS468kUONAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIFDfECVS5GAjUuWfIlPlzyVS5f8lUuX/JVLl/yVS5f8iU+XPI1LlnyVS5GAgUN8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/AA///AAD//AAAP/ggBB/wgAEP4AAAB8AAAAPAAAADiAAAEYAAAAEQAAAIAAAAAAAAAAAgAAAEIAAABCAAAAQgAAAEIAAABCAAAAQAAAAAAAAAABAAAAiAAAABiAAAEcAAAAPAAAAD4AAAB/CAAQ/4IAQf/AfgP/8AAP//wAP/</Image>
++ <Image height="26" width="65">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxNTg5QTM3RjNCMjA2ODExODIyQUVEOUNBRDIxQzhDMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxRTYyNzYzMzFBQUUxMUU0ODc3NTg3NjMyNDFCNzExQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxRTYyNzYzMjFBQUUxMUU0ODc3NTg3NjMyNDFCNzExQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDE4MDExNzQwNzIwNjgxMTg3MUZCQUIxMEI4RjU1NzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MTU4OUEzN0YzQjIwNjgxMTgyMkFFRDlDQUQyMUM4QzMiLz4gPC9yZGY6RGVzY3Jp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</Image>
++ <Image height="52" width="130">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIIAAAA0CAYAAABGkOCVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxNTg5QTM3RjNCMjA2ODExODIyQUVEOUNBRDIxQzhDMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4RTdBNDY4ODFBQUQxMUU0ODc3NTg3NjMyNDFCNzExQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4RTdBNDY4NzFBQUQxMUU0ODc3NTg3NjMyNDFCNzExQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTE3MzgzQ0I2QjIwNjgxMTgyMkFFRDlDQUQyMUM4QzMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MTU4OUEzN0YzQjIwNjgxMTgyMkFFRDlDQUQyMUM4QzMiLz4gPC9yZGY6RGVzY3Jp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</Image>
++ <Url type="text/html" method="get" template="https://duckduckgo.com/">
++ <Param name="q" value="{searchTerms}"/>
++ <MozParam name="t" condition="purpose" purpose="contextmenu" value="ffcm"/>
++ <MozParam name="t" condition="purpose" purpose="keyword" value="ffab"/>
++ <MozParam name="t" condition="purpose" purpose="searchbar" value="ffsb"/>
++ <MozParam name="t" condition="purpose" purpose="homepage" value="ffhp"/>
++ <MozParam name="t" condition="purpose" purpose="newtab" value="ffnt"/>
++ </Url>
++ <Url type="application/x-suggestions+json" template="https://ac.duckduckgo.com/ac/">
++ <Param name="q" value="{searchTerms}"/>
++ <Param name="type" value="list"/>
++ </Url>
++</OpenSearchDescription>
diff --git a/www/firefox-esr/files/patch-bug1076983 b/www/firefox-esr/files/patch-bug1076983
deleted file mode 100644
index 182aadf58bf5..000000000000
--- a/www/firefox-esr/files/patch-bug1076983
+++ /dev/null
@@ -1,45 +0,0 @@
-commit e10ee74
-Author: Martin Thomson <martin.thomson@gmail.com>
-Date: Tue Oct 14 17:17:35 2014 -0700
-
- Bug 1076983 - Disabling SSL 3.0 with pref
----
- netwerk/base/public/security-prefs.js | 2 +-
- security/manager/ssl/src/nsNSSComponent.cpp | 7 +++----
- 2 files changed, 4 insertions(+), 5 deletions(-)
-
-diff --git netwerk/base/public/security-prefs.js netwerk/base/public/security-prefs.js
-index 352552e..c12731b 100644
---- netwerk/base/public/security-prefs.js
-+++ netwerk/base/public/security-prefs.js
-@@ -2,7 +2,7 @@
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
--pref("security.tls.version.min", 0);
-+pref("security.tls.version.min", 1);
- pref("security.tls.version.max", 3);
-
- pref("security.ssl.allow_unrestricted_renego_everywhere__temporarily_available_pref", false);
-diff --git security/manager/ssl/src/nsNSSComponent.cpp security/manager/ssl/src/nsNSSComponent.cpp
-index 8cab67b..772959d 100644
---- security/manager/ssl/src/nsNSSComponent.cpp
-+++ security/manager/ssl/src/nsNSSComponent.cpp
-@@ -829,14 +829,13 @@ void nsNSSComponent::setValidationOptions(bool isInitialSetting,
- mDefaultCertVerifier = new SharedCertVerifier(odc, osc, ogc, pinningMode);
- }
-
--// Enable the TLS versions given in the prefs, defaulting to SSL 3.0 (min
--// version) and TLS 1.2 (max version) when the prefs aren't set or set to
--// invalid values.
-+// Enable the TLS versions given in the prefs, defaulting to TLS 1.0 (min) and
-+// TLS 1.2 (max) when the prefs aren't set or set to invalid values.
- nsresult
- nsNSSComponent::setEnabledTLSVersions()
- {
- // keep these values in sync with security-prefs.js
-- static const int32_t PSM_DEFAULT_MIN_TLS_VERSION = 0;
-+ static const int32_t PSM_DEFAULT_MIN_TLS_VERSION = 1;
- static const int32_t PSM_DEFAULT_MAX_TLS_VERSION = 3;
-
- int32_t minVersion = Preferences::GetInt("security.tls.version.min",
diff --git a/www/firefox-esr/files/patch-bug1082199 b/www/firefox-esr/files/patch-bug1082199
new file mode 100644
index 000000000000..a10356adaa5b
--- /dev/null
+++ b/www/firefox-esr/files/patch-bug1082199
@@ -0,0 +1,26 @@
+commit 258ec90
+Author: Guilherme Goncalves <guilherme.p.gonc@gmail.com>
+Date: Fri Oct 17 15:55:00 2014 +0200
+
+ Bug 1082199 - Recompute stats in jemalloc_stats when using jemalloc3. r=glandium
+---
+ memory/build/mozjemalloc_compat.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git memory/build/mozjemalloc_compat.c memory/build/mozjemalloc_compat.c
+index 78bb13a..70265a7 100644
+--- memory/build/mozjemalloc_compat.c
++++ memory/build/mozjemalloc_compat.c
+@@ -68,6 +68,12 @@ jemalloc_stats_impl(jemalloc_stats_t *stats)
+ size_t active, allocated, mapped, page, pdirty;
+ size_t lg_chunk;
+
++ // Refresh jemalloc's stats by updating its epoch, see ctl_refresh in
++ // src/ctl.c
++ uint64_t epoch = 0;
++ size_t esz = sizeof(epoch);
++ int ret = je_(mallctl)("epoch", &epoch, &esz, &epoch, esz);
++
+ CTL_GET("arenas.narenas", narenas);
+ CTL_GET("arenas.page", page);
+ CTL_GET("stats.active", active);
diff --git a/www/firefox-esr/files/patch-bug1103858 b/www/firefox-esr/files/patch-bug1103858
new file mode 100644
index 000000000000..16cfd9973a86
--- /dev/null
+++ b/www/firefox-esr/files/patch-bug1103858
@@ -0,0 +1,42 @@
+diff --git configure.in configure.in
+index b2b45e7..dcfdfb7 100644
+--- configure.in
++++ configure.in
+@@ -8346,7 +8346,7 @@ case "$OS_TARGET" in
+ NECKO_WIFI=1
+ fi
+ ;;
+- Darwin|FreeBSD|SunOS|WINNT)
++ Darwin|DragonFly|FreeBSD|SunOS|WINNT)
+ NECKO_WIFI=1
+ ;;
+ Linux)
+diff --git netwerk/wifi/moz.build netwerk/wifi/moz.build
+index d4de063..3949380 100644
+--- netwerk/wifi/moz.build
++++ netwerk/wifi/moz.build
+@@ -35,7 +35,7 @@ if CONFIG['OS_ARCH'] == 'Darwin':
+ UNIFIED_SOURCES += [
+ 'osx_corewlan.mm',
+ ]
+-elif CONFIG['OS_ARCH'] == 'FreeBSD':
++elif CONFIG['OS_ARCH'] in ('DragonFly', 'FreeBSD'):
+ UNIFIED_SOURCES += [
+ 'nsWifiScannerFreeBSD.cpp',
+ ]
+diff --git netwerk/wifi/nsWifiScannerFreeBSD.cpp netwerk/wifi/nsWifiScannerFreeBSD.cpp
+index bdf171e..4185d69 100644
+--- netwerk/wifi/nsWifiScannerFreeBSD.cpp
++++ netwerk/wifi/nsWifiScannerFreeBSD.cpp
+@@ -13,7 +13,11 @@
+ #include <sys/socket.h>
+ #include <net/if.h>
+ #include <net/if_media.h>
++#ifdef __DragonFly__
++#include <netproto/802_11/ieee80211_ioctl.h>
++#else
+ #include <net80211/ieee80211_ioctl.h>
++#endif
+
+ #include <ifaddrs.h>
+ #include <string.h>
diff --git a/www/firefox-esr/files/patch-bug858919 b/www/firefox-esr/files/patch-bug858919
new file mode 100644
index 000000000000..2354cd340145
--- /dev/null
+++ b/www/firefox-esr/files/patch-bug858919
@@ -0,0 +1,391 @@
+commit a33d4f7
+Author: Martin Stransky <stransky@redhat.com>
+Date: Fri Nov 14 04:04:00 2014 +0100
+
+ Bug 858919 - Add support for libnotify calls which was removed for new notification API. r=karlt
+---
+ toolkit/components/alerts/nsAlertsService.cpp | 10 +--
+ toolkit/system/gnome/moz.build | 2 +
+ toolkit/system/gnome/nsAlertsIconListener.cpp | 64 ++++++++++++------
+ toolkit/system/gnome/nsAlertsIconListener.h | 89 ++++++++++++++++++++++++++
+ toolkit/system/gnome/nsGnomeModule.cpp | 5 ++
+ toolkit/system/gnome/nsSystemAlertsService.cpp | 54 ++++++++++++++++
+ toolkit/system/gnome/nsSystemAlertsService.h | 27 ++++++++
+ 7 files changed, 226 insertions(+), 25 deletions(-)
+
+diff --git toolkit/components/alerts/nsAlertsService.cpp toolkit/components/alerts/nsAlertsService.cpp
+index 93f4536..f8b5e07 100644
+--- toolkit/components/alerts/nsAlertsService.cpp
++++ toolkit/components/alerts/nsAlertsService.cpp
+@@ -100,9 +100,11 @@ NS_IMETHODIMP nsAlertsService::ShowAlertNotification(const nsAString & aImageUrl
+ nsCOMPtr<nsIAlertsService> sysAlerts(do_GetService(NS_SYSTEMALERTSERVICE_CONTRACTID));
+ nsresult rv;
+ if (sysAlerts) {
+- return sysAlerts->ShowAlertNotification(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable,
+- aAlertCookie, aAlertListener, aAlertName,
+- aBidi, aLang, IPC::Principal(aPrincipal));
++ rv = sysAlerts->ShowAlertNotification(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable,
++ aAlertCookie, aAlertListener, aAlertName,
++ aBidi, aLang, IPC::Principal(aPrincipal));
++ if (NS_SUCCEEDED(rv))
++ return NS_OK;
+ }
+
+ if (!ShouldShowAlert()) {
+diff --git toolkit/system/gnome/moz.build toolkit/system/gnome/moz.build
+index c033f8b..9242209 100644
+--- toolkit/system/gnome/moz.build
++++ toolkit/system/gnome/moz.build
+@@ -5,7 +5,9 @@
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ SOURCES += [
++ 'nsAlertsIconListener.cpp',
+ 'nsGnomeModule.cpp',
++ 'nsSystemAlertsService.cpp',
+ ]
+
+ if CONFIG['MOZ_ENABLE_GCONF']:
+diff --git toolkit/system/gnome/nsAlertsIconListener.cpp toolkit/system/gnome/nsAlertsIconListener.cpp
+index f39335e..55f4356 100644
+--- toolkit/system/gnome/nsAlertsIconListener.cpp
++++ toolkit/system/gnome/nsAlertsIconListener.cpp
+@@ -51,6 +51,21 @@ static void notify_closed_marshal(GClosure* closure,
+ NS_RELEASE(alert);
+ }
+
++static GdkPixbuf*
++GetPixbufFromImgRequest(imgIRequest* aRequest)
++{
++ nsCOMPtr<imgIContainer> image;
++ nsresult rv = aRequest->GetImage(getter_AddRefs(image));
++ if (NS_FAILED(rv)) {
++ return nullptr;
++ }
++
++ nsCOMPtr<nsIImageToPixbuf> imgToPixbuf =
++ do_GetService("@mozilla.org/widget/image-to-gdk-pixbuf;1");
++
++ return imgToPixbuf->ConvertImageToPixbuf(image);
++}
++
+ NS_IMPL_ISUPPORTS(nsAlertsIconListener, imgINotificationObserver,
+ nsIObserver, nsISupportsWeakReference)
+
+@@ -106,47 +121,45 @@ nsAlertsIconListener::Notify(imgIRequest *aRequest, int32_t aType, const nsIntRe
+ nsresult
+ nsAlertsIconListener::OnStopRequest(imgIRequest* aRequest)
+ {
++ NS_ASSERTION(mIconRequest == aRequest, "aRequest does not match!");
++
+ uint32_t imgStatus = imgIRequest::STATUS_ERROR;
+ nsresult rv = aRequest->GetImageStatus(&imgStatus);
+ NS_ENSURE_SUCCESS(rv, rv);
+ if (imgStatus == imgIRequest::STATUS_ERROR && !mLoadedFrame) {
+ // We have an error getting the image. Display the notification with no icon.
+ ShowAlert(nullptr);
+- }
+
+- if (mIconRequest) {
++ // Cancel any pending request
+ mIconRequest->Cancel(NS_BINDING_ABORTED);
+ mIconRequest = nullptr;
+ }
++
+ return NS_OK;
+ }
+
+ nsresult
+ nsAlertsIconListener::OnStopFrame(imgIRequest* aRequest)
+ {
+- if (aRequest != mIconRequest)
+- return NS_ERROR_FAILURE;
++ NS_ASSERTION(mIconRequest == aRequest, "aRequest does not match!");
+
+ if (mLoadedFrame)
+ return NS_OK; // only use one frame
+
+- nsCOMPtr<imgIContainer> image;
+- nsresult rv = aRequest->GetImage(getter_AddRefs(image));
+- if (NS_FAILED(rv))
+- return rv;
+-
+- nsCOMPtr<nsIImageToPixbuf> imgToPixbuf =
+- do_GetService("@mozilla.org/widget/image-to-gdk-pixbuf;1");
+-
+- GdkPixbuf* imagePixbuf = imgToPixbuf->ConvertImageToPixbuf(image);
+- if (!imagePixbuf)
+- return NS_ERROR_FAILURE;
++ GdkPixbuf* imagePixbuf = GetPixbufFromImgRequest(aRequest);
++ if (!imagePixbuf) {
++ ShowAlert(nullptr);
++ } else {
++ ShowAlert(imagePixbuf);
++ g_object_unref(imagePixbuf);
++ }
+
+- ShowAlert(imagePixbuf);
++ mLoadedFrame = true;
+
+- g_object_unref(imagePixbuf);
++ // Cancel any pending request (multipart image loading/decoding for instance)
++ mIconRequest->Cancel(NS_BINDING_ABORTED);
++ mIconRequest = nullptr;
+
+- mLoadedFrame = true;
+ return NS_OK;
+ }
+
+@@ -180,6 +193,9 @@ nsAlertsIconListener::ShowAlert(GdkPixbuf* aPixbuf)
+ mClosureHandler = g_signal_connect_closure(mNotification, "closed", closure, FALSE);
+ gboolean result = notify_notification_show(mNotification, nullptr);
+
++ if (result && mAlertListener)
++ mAlertListener->Observe(nullptr, "alertshow", mAlertCookie.get());
++
+ return result ? NS_OK : NS_ERROR_FAILURE;
+ }
+
+@@ -201,9 +217,15 @@ nsAlertsIconListener::StartRequest(const nsAString & aImageUrl)
+ if (!il)
+ return ShowAlert(nullptr);
+
+- return il->LoadImageXPCOM(imageUri, nullptr, nullptr, nullptr, nullptr,
+- this, nullptr, nsIRequest::LOAD_NORMAL, nullptr,
+- nullptr, getter_AddRefs(mIconRequest));
++ nsresult rv = il->LoadImageXPCOM(imageUri, nullptr, nullptr, nullptr, nullptr,
++ this, nullptr, nsIRequest::LOAD_NORMAL, nullptr,
++ 0 /* use default */, getter_AddRefs(mIconRequest));
++ if (NS_FAILED(rv))
++ return rv;
++
++ mIconRequest->StartDecoding();
++
++ return NS_OK;
+ }
+
+ void
+diff --git toolkit/system/gnome/nsAlertsIconListener.h toolkit/system/gnome/nsAlertsIconListener.h
+new file mode 100644
+index 0000000..ac96db9
+--- /dev/null
++++ toolkit/system/gnome/nsAlertsIconListener.h
+@@ -0,0 +1,89 @@
++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
++/* This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++#ifndef nsAlertsIconListener_h__
++#define nsAlertsIconListener_h__
++
++#include "nsCOMPtr.h"
++#include "imgINotificationObserver.h"
++#include "nsStringAPI.h"
++#include "nsIObserver.h"
++#include "nsWeakReference.h"
++
++#include <gdk-pixbuf/gdk-pixbuf.h>
++
++class imgIRequest;
++
++struct NotifyNotification;
++
++class nsAlertsIconListener : public imgINotificationObserver,
++ public nsIObserver,
++ public nsSupportsWeakReference
++{
++public:
++ NS_DECL_ISUPPORTS
++ NS_DECL_IMGINOTIFICATIONOBSERVER
++ NS_DECL_NSIOBSERVER
++
++ nsAlertsIconListener();
++
++ nsresult InitAlertAsync(const nsAString & aImageUrl,
++ const nsAString & aAlertTitle,
++ const nsAString & aAlertText,
++ bool aAlertTextClickable,
++ const nsAString & aAlertCookie,
++ nsIObserver * aAlertListener);
++
++ void SendCallback();
++ void SendClosed();
++
++protected:
++ virtual ~nsAlertsIconListener();
++
++ nsresult OnStopRequest(imgIRequest* aRequest);
++ nsresult OnStopFrame(imgIRequest* aRequest);
++
++ /**
++ * The only difference between libnotify.so.4 and libnotify.so.1 for these symbols
++ * is that notify_notification_new takes three arguments in libnotify.so.4 and
++ * four in libnotify.so.1.
++ * Passing the fourth argument as NULL is binary compatible.
++ */
++ typedef void (*NotifyActionCallback)(NotifyNotification*, char*, gpointer);
++ typedef bool (*notify_is_initted_t)(void);
++ typedef bool (*notify_init_t)(const char*);
++ typedef GList* (*notify_get_server_caps_t)(void);
++ typedef NotifyNotification* (*notify_notification_new_t)(const char*, const char*, const char*, const char*);
++ typedef bool (*notify_notification_show_t)(void*, char*);
++ typedef void (*notify_notification_set_icon_from_pixbuf_t)(void*, GdkPixbuf*);
++ typedef void (*notify_notification_add_action_t)(void*, const char*, const char*, NotifyActionCallback, gpointer, GFreeFunc);
++
++ nsCOMPtr<imgIRequest> mIconRequest;
++ nsCString mAlertTitle;
++ nsCString mAlertText;
++
++ nsCOMPtr<nsIObserver> mAlertListener;
++ nsString mAlertCookie;
++
++ bool mLoadedFrame;
++ bool mAlertHasAction;
++
++ static void* libNotifyHandle;
++ static bool libNotifyNotAvail;
++ static notify_is_initted_t notify_is_initted;
++ static notify_init_t notify_init;
++ static notify_get_server_caps_t notify_get_server_caps;
++ static notify_notification_new_t notify_notification_new;
++ static notify_notification_show_t notify_notification_show;
++ static notify_notification_set_icon_from_pixbuf_t notify_notification_set_icon_from_pixbuf;
++ static notify_notification_add_action_t notify_notification_add_action;
++ NotifyNotification* mNotification;
++ gulong mClosureHandler;
++
++ nsresult StartRequest(const nsAString & aImageUrl);
++ nsresult ShowAlert(GdkPixbuf* aPixbuf);
++};
++
++#endif
+diff --git toolkit/system/gnome/nsGnomeModule.cpp toolkit/system/gnome/nsGnomeModule.cpp
+index 5ccc8e5..f893893 100644
+--- toolkit/system/gnome/nsGnomeModule.cpp
++++ toolkit/system/gnome/nsGnomeModule.cpp
+@@ -22,6 +22,8 @@ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGnomeVFSService, Init)
+ NS_GENERIC_FACTORY_CONSTRUCTOR(nsGIOService)
+ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGSettingsService, Init)
+ #endif
++#include "nsSystemAlertsService.h"
++NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsSystemAlertsService, Init)
+
+ #ifdef MOZ_ENABLE_GCONF
+ NS_DEFINE_NAMED_CID(NS_GCONFSERVICE_CID);
+@@ -33,6 +35,7 @@ NS_DEFINE_NAMED_CID(NS_GNOMEVFSSERVICE_CID);
+ NS_DEFINE_NAMED_CID(NS_GIOSERVICE_CID);
+ NS_DEFINE_NAMED_CID(NS_GSETTINGSSERVICE_CID);
+ #endif
++NS_DEFINE_NAMED_CID(NS_SYSTEMALERTSSERVICE_CID);
+
+ static const mozilla::Module::CIDEntry kGnomeCIDs[] = {
+ #ifdef MOZ_ENABLE_GCONF
+@@ -45,6 +48,7 @@ static const mozilla::Module::CIDEntry kGnomeCIDs[] = {
+ { &kNS_GIOSERVICE_CID, false, nullptr, nsGIOServiceConstructor },
+ { &kNS_GSETTINGSSERVICE_CID, false, nullptr, nsGSettingsServiceConstructor },
+ #endif
++ { &kNS_SYSTEMALERTSSERVICE_CID, false, nullptr, nsSystemAlertsServiceConstructor },
+ { nullptr }
+ };
+
+@@ -59,6 +63,7 @@ static const mozilla::Module::ContractIDEntry kGnomeContracts[] = {
+ { NS_GIOSERVICE_CONTRACTID, &kNS_GIOSERVICE_CID },
+ { NS_GSETTINGSSERVICE_CONTRACTID, &kNS_GSETTINGSSERVICE_CID },
+ #endif
++ { NS_SYSTEMALERTSERVICE_CONTRACTID, &kNS_SYSTEMALERTSSERVICE_CID },
+ { nullptr }
+ };
+
+diff --git toolkit/system/gnome/nsSystemAlertsService.cpp toolkit/system/gnome/nsSystemAlertsService.cpp
+new file mode 100644
+index 0000000..b91b402
+--- /dev/null
++++ toolkit/system/gnome/nsSystemAlertsService.cpp
+@@ -0,0 +1,53 @@
++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode:nil; c-basic-offset: 2 -*- */
++/* This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++#include "nsXULAppAPI.h"
++#include "nsSystemAlertsService.h"
++#include "nsAlertsIconListener.h"
++#include "nsAutoPtr.h"
++
++NS_IMPL_ADDREF(nsSystemAlertsService)
++NS_IMPL_RELEASE(nsSystemAlertsService)
++
++NS_INTERFACE_MAP_BEGIN(nsSystemAlertsService)
++ NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIAlertsService)
++ NS_INTERFACE_MAP_ENTRY(nsIAlertsService)
++NS_INTERFACE_MAP_END_THREADSAFE
++
++nsSystemAlertsService::nsSystemAlertsService()
++{
++}
++
++nsSystemAlertsService::~nsSystemAlertsService()
++{}
++
++nsresult
++nsSystemAlertsService::Init()
++{
++ return NS_OK;
++}
++
++NS_IMETHODIMP nsSystemAlertsService::ShowAlertNotification(const nsAString & aImageUrl, const nsAString & aAlertTitle,
++ const nsAString & aAlertText, bool aAlertTextClickable,
++ const nsAString & aAlertCookie,
++ nsIObserver * aAlertListener,
++ const nsAString & aAlertName,
++ const nsAString & aBidi,
++ const nsAString & aLang,
++ nsIPrincipal * aPrincipal)
++{
++ nsRefPtr<nsAlertsIconListener> alertListener = new nsAlertsIconListener();
++ if (!alertListener)
++ return NS_ERROR_OUT_OF_MEMORY;
++
++ return alertListener->InitAlertAsync(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable,
++ aAlertCookie, aAlertListener);
++}
++
++NS_IMETHODIMP nsSystemAlertsService::CloseAlert(const nsAString& aAlertName,
++ nsIPrincipal* aPrincipal)
++{
++ return NS_ERROR_NOT_IMPLEMENTED;
++}
+diff --git toolkit/system/gnome/nsSystemAlertsService.h toolkit/system/gnome/nsSystemAlertsService.h
+new file mode 100644
+index 0000000..b0bd625
+--- /dev/null
++++ toolkit/system/gnome/nsSystemAlertsService.h
+@@ -0,0 +1,27 @@
++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
++/* This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++#ifndef nsSystemAlertsService_h__
++#define nsSystemAlertsService_h__
++
++#include "nsIAlertsService.h"
++#include "nsCOMPtr.h"
++
++class nsSystemAlertsService : public nsIAlertsService
++{
++public:
++ NS_DECL_NSIALERTSSERVICE
++ NS_DECL_ISUPPORTS
++
++ nsSystemAlertsService();
++
++ nsresult Init();
++
++protected:
++ virtual ~nsSystemAlertsService();
++
++};
++
++#endif /* nsSystemAlertsService_h__ */
diff --git a/www/firefox-esr/files/patch-duckduckgo b/www/firefox-esr/files/patch-duckduckgo
deleted file mode 100644
index bc3a7e321f41..000000000000
--- a/www/firefox-esr/files/patch-duckduckgo
+++ /dev/null
@@ -1,47 +0,0 @@
-diff -r f2fa4ae74ee1 browser/locales/en-US/chrome/browser-region/region.properties
---- browser/locales/en-US/chrome/browser-region/region.properties Mon Oct 24 22:54:18 2011 +0300
-+++ browser/locales/en-US/chrome/browser-region/region.properties Tue Oct 25 21:13:40 2011 -0400
-@@ -9,6 +9,7 @@
- browser.search.order.1=Google
- browser.search.order.2=Yahoo
- browser.search.order.3=Bing
-+browser.search.order.4=DuckDuckGo
-
- # This is the default set of web based feed handlers shown in the reader
- # selection UI
---- /dev/null 2013-02-09 00:33:00.000000000 +0100
-+++ browser/locales/en-US/searchplugins/duckduckgo.xml 2013-02-09 00:40:19.000000000 +0100
-@@ -0,0 +1,11 @@
-+<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
-+<ShortName>DuckDuckGo</ShortName>
-+<Description>We believe in better search and not tracking.</Description>
-+<InputEncoding>UTF-8</InputEncoding>
-+<Image height="16" width="16" type="image/x-icon">data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAANcNAADXDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJmlk8pf6+v3s/v7+++zr/fcnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnIOwBJyDscCcg7PZttJ7/7Pfs//////++xO7/S5GA/ycg7P8nIOz2JyDscCcg7AEAAAAAAAAAAAAAAAAnIOwBJyDstScg7P8nIOz/Y8p5/2fHZf9Yv0z/YcF2/1rBUv8nIOz/JyDs/ycg7P8nIOy1JyDsAQAAAAAAAAAAJyDscCcg7P8nIOz/JyDs/4jQoP/p9+n//////05X3v9LkYD/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAJyDsJicg7PYnIOz/JyDs/zUu7f/+/v////////////89N+7/JyDs/yUo7f8nIOz/JyDs/ycg7P8nIOz2JyDsJicg7IAnIOz/JyDs/ycg7P9hXPH////////////t/P//GIr2/wfD+/8Gyfz/DKv5/yM57/8nIOz/JyDs/ycg7H8nIOyzJyDs/ycg7P8nIOz/jov1////////////Otz9/w3G/P8cWfH/JSvt/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDs5icg7P8nIOz/JyDs/7u5+f///////////27l/v8E0v3/BNL9/wTQ/f8Oofn/IT7v/ycg7P8nIOz/JyDs5icg7OYnIOz/JyDs/ycg7P/p6P3/uWsC////////////5fr//6Po/f8Thfb/DKv5/w6f+f8nIOz/JyDs/ycg7OYnIOyzJyDs/ycg7P8nIOz/9/b+/////////////////7lrAv/V1Pv/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDsgCcg7P8nIOz/JyDs/8/N+///////////////////////iIX1/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDsfycg7CYnIOz2JyDs/ycg7P9FP+7/q6n4/+7u/f/n5v3/fXn0/yoj7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7CYAAAAAJyDscCcg7P8nIOz/wsD6/+no/f/Y1/z/eHTz/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAAAAAACcg7AEnIOy1JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7LUnIOwBAAAAAAAAAAAAAAAAJyDsAScg7HAnIOz2JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7HAnIOwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJicg7IAnIOyzJyDs5icg7OYnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAA+B8AAPAPAADAAwAAwAMAAIABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAACAAQAAwAMAAMADAADwDwAA+B8AAA==</Image>
-+<Url type="text/html" method="GET" template="https://duckduckgo.com/">
-+<Param name="q" value="{searchTerms}"/>
-+<Param name="t" value="freebsd"/>
-+</Url>
-+<SearchForm>https://duckduckgo.com/</SearchForm>
-+</SearchPlugin>
-diff -r f2fa4ae74ee1 browser/locales/en-US/searchplugins/list.txt
---- browser/locales/en-US/searchplugins/list.txt Mon Oct 24 22:54:18 2011 +0300
-+++ browser/locales/en-US/searchplugins/list.txt Tue Oct 25 21:13:40 2011 -0400
-@@ -1,7 +1,8 @@
- amazondotcom
- bing
-+duckduckgo
- eBay
- google
- twitter
- wikipedia
- yahoo
---- browser/app/profile/firefox.js.orig 2013-02-09 12:26:02.000000000 +0100
-+++ browser/app/profile/firefox.js 2013-02-09 12:26:19.000000000 +0100
-@@ -341,6 +341,7 @@
- pref("browser.search.order.1", "chrome://browser-region/locale/region.properties");
- pref("browser.search.order.2", "chrome://browser-region/locale/region.properties");
- pref("browser.search.order.3", "chrome://browser-region/locale/region.properties");
-+pref("browser.search.order.4", "chrome://browser-region/locale/region.properties");
-
- // search bar results always open in a new tab
- pref("browser.search.openintab", false);
diff --git a/www/firefox-i18n/Makefile b/www/firefox-i18n/Makefile
index a12491a68c70..d5fb57c253c1 100644
--- a/www/firefox-i18n/Makefile
+++ b/www/firefox-i18n/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= firefox-i18n
-PORTVERSION= 33.0
+PORTVERSION= 34.0.5
CATEGORIES= www
MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}/linux-i686/xpi
PKGNAMEPREFIX=
@@ -14,7 +14,7 @@ COMMENT= Localized interface for Firefox
EXTRACT_DEPENDS= zip:${PORTSDIR}/archivers/zip
-USES= zip:infozip gecko:firefox,33,build
+USES= zip:infozip gecko:firefox,34,build
USE_XPI= firefox linux-firefox
NO_ARCH= yes
diff --git a/www/firefox-i18n/Makefile.lang b/www/firefox-i18n/Makefile.lang
index c8852f07af38..0b5bce9d6075 100644
--- a/www/firefox-i18n/Makefile.lang
+++ b/www/firefox-i18n/Makefile.lang
@@ -1,13 +1,13 @@
# Created by: Koji Yokota <yokota@res.otaru-uc.ac.jp>
# $FreeBSD$
-FIREFOX_I18N_ALL_= ach af an ar as ast be bg bn-BD bn-IN br bs ca cs \
- csb cy da de el en-GB en-US en-ZA eo es-AR es-CL \
+FIREFOX_I18N_ALL_= ach af an ar as ast az be bg bn-BD bn-IN br bs ca cs \
+ csb cy da de dsb el en-GB en-US en-ZA eo es-AR es-CL \
es-ES es-MX et eu fa ff fi fr fy-NL ga-IE gd gl \
gu-IN he hi-IN hr hsb hu hy-AM id is it ja kk km \
- kn ko ku lij lt lv mai mk ml mr ms nb-NO nl nn-NO \
+ kn ko lij lt lv mai mk ml mr ms nb-NO nl nn-NO \
or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq \
- sr sv-SE ta te th tr uk vi xh zh-CN zh-TW zu
+ sr sv-SE ta te th tr uk vi xh zh-CN zh-TW
.if defined(FIREFOX_I18N_ALL) || defined(PACKAGE_BUILDING) || target(package)
FIREFOX_I18N= ${FIREFOX_I18N_ALL_}
@@ -30,6 +30,9 @@ FIREFOX_I18N+= as
.if ${PORT_OPTIONS:MLANG_AST}
FIREFOX_I18N+= ast
.endif
+.if ${PORT_OPTIONS:MLANG_AZ}
+FIREFOX_I18N+= az
+.endif
.if ${PORT_OPTIONS:MLANG_BE}
FIREFOX_I18N+= be
.endif
@@ -66,6 +69,9 @@ FIREFOX_I18N+= da
.if ${PORT_OPTIONS:MLANG_DE}
FIREFOX_I18N+= de
.endif
+.if ${PORT_OPTIONS:MLANG_DSB}
+FIREFOX_I18N+= dsb
+.endif
.if ${PORT_OPTIONS:MLANG_EL}
FIREFOX_I18N+= el
.endif
diff --git a/www/firefox-i18n/Makefile.option b/www/firefox-i18n/Makefile.option
index 851b8b322a42..593b6c268476 100644
--- a/www/firefox-i18n/Makefile.option
+++ b/www/firefox-i18n/Makefile.option
@@ -9,6 +9,7 @@ OPTIONS_DEFINE= LANG_ACH \
LANG_AS \
LANG_AM \
LANG_AST \
+ LANG_AZ \
LANG_EU \
LANG_BN \
LANG_BB \
@@ -28,6 +29,7 @@ OPTIONS_DEFINE= LANG_ACH \
LANG_ET \
LANG_GL \
LANG_DE \
+ LANG_DSB \
LANG_EL \
LANG_GU \
LANG_FF \
@@ -49,7 +51,6 @@ OPTIONS_DEFINE= LANG_ACH \
LANG_KK \
LANG_KM \
LANG_KO \
- LANG_KU \
LANG_LV \
LANG_LT \
LANG_LIJ \
@@ -99,7 +100,9 @@ OPTIONS_DEFAULT=LANG_AR LANG_BN LANG_BR LANG_CN LANG_ET LANG_DE LANG_FR \
LANG_ACH_DESC?= Acholi language support
LANG_AN_DESC?= Aragonese language support
LANG_AS_DESC?= Assamese language support
+LANG_AZ_DESC?= Azerbaijani language support
LANG_CSB_DESC?= Kashubian language support
+LANG_DSB_DESC?= Lower Sorbian language support
LANG_FF_DESC?= Fulah language support
LANG_HSB_DESC?= Upper Sorbian language support
LANG_KM_DESC?= Khmer language support
diff --git a/www/firefox-i18n/distinfo b/www/firefox-i18n/distinfo
index c34d5837432d..4d46d03aac36 100644
--- a/www/firefox-i18n/distinfo
+++ b/www/firefox-i18n/distinfo
@@ -1,178 +1,178 @@
-SHA256 (xpi/firefox-i18n-33.0/ach.xpi) = fb1c69ad70661a723778e8030f4f09796ecf33e49fd2f8e32c4cb0c027f0e174
-SIZE (xpi/firefox-i18n-33.0/ach.xpi) = 438595
-SHA256 (xpi/firefox-i18n-33.0/af.xpi) = 6c35fcf441063ed7ce0deaa115f57ce5d23bc1f78fc147fb38963c8689e15375
-SIZE (xpi/firefox-i18n-33.0/af.xpi) = 439710
-SHA256 (xpi/firefox-i18n-33.0/an.xpi) = cf61e89e1f45511403ffbc1d112ee6ecc67f338c6f7217cfee1bddc4d1621400
-SIZE (xpi/firefox-i18n-33.0/an.xpi) = 417166
-SHA256 (xpi/firefox-i18n-33.0/ar.xpi) = 3a08de4e1064f75c1c64935a353de6b781bc16f25b0469ff741723f861d610c7
-SIZE (xpi/firefox-i18n-33.0/ar.xpi) = 470558
-SHA256 (xpi/firefox-i18n-33.0/as.xpi) = fc34573003c2e37a6d903fd6432a79048ef865307f14c1ead1e233dcee92d818
-SIZE (xpi/firefox-i18n-33.0/as.xpi) = 459612
-SHA256 (xpi/firefox-i18n-33.0/ast.xpi) = a4274b532025baf42573d249b12a3b3793b5a80e4a8bf05a0989f9ee95081c1a
-SIZE (xpi/firefox-i18n-33.0/ast.xpi) = 352928
-SHA256 (xpi/firefox-i18n-33.0/be.xpi) = f36bb698fcf733bd1610af2a09af091cccd3052995fec229ce56ff827aab993c
-SIZE (xpi/firefox-i18n-33.0/be.xpi) = 392180
-SHA256 (xpi/firefox-i18n-33.0/bg.xpi) = 55d1ed7be23c7e504701ae5b904f92f5279b2a180f8da7feed5a46bec9e6f7b1
-SIZE (xpi/firefox-i18n-33.0/bg.xpi) = 448725
-SHA256 (xpi/firefox-i18n-33.0/bn-BD.xpi) = 3eda0769d9958143df336aacd460e2a5f7e563d8e482bc5038e9efc4e8e5e6a0
-SIZE (xpi/firefox-i18n-33.0/bn-BD.xpi) = 483351
-SHA256 (xpi/firefox-i18n-33.0/bn-IN.xpi) = 32925970bfd0b35c07c6c6aac53ece6e5d52eae6064cb5733723aa7764e09cfa
-SIZE (xpi/firefox-i18n-33.0/bn-IN.xpi) = 474177
-SHA256 (xpi/firefox-i18n-33.0/br.xpi) = 9be193df751dd2f3068a17c7bd1554ca34cb6f02480125c0b57375606626d3f7
-SIZE (xpi/firefox-i18n-33.0/br.xpi) = 399012
-SHA256 (xpi/firefox-i18n-33.0/bs.xpi) = e15eac3ffd067fbfee4a79a12c330dc882ff03a9c4d42d5188b3e2cd20bde5fc
-SIZE (xpi/firefox-i18n-33.0/bs.xpi) = 440178
-SHA256 (xpi/firefox-i18n-33.0/ca.xpi) = bdd9c95ffc48bf5b0b1b09b67115145a8088f351bbc5a030d313b8ac19ba60f5
-SIZE (xpi/firefox-i18n-33.0/ca.xpi) = 413704
-SHA256 (xpi/firefox-i18n-33.0/cs.xpi) = 3989481da7fc00e2ae6d66f6f0a74a0c5bdead68fe57471bd2d77c70aa3eed9e
-SIZE (xpi/firefox-i18n-33.0/cs.xpi) = 401175
-SHA256 (xpi/firefox-i18n-33.0/csb.xpi) = df6e50a4068c0f1bc52a9a59fe3a668277806788f13281ba948c37809f2e73b4
-SIZE (xpi/firefox-i18n-33.0/csb.xpi) = 394930
-SHA256 (xpi/firefox-i18n-33.0/cy.xpi) = 8757239c3b218f720b6e931346ce0602f8f01a040670758b90afa21edb28f2fc
-SIZE (xpi/firefox-i18n-33.0/cy.xpi) = 400467
-SHA256 (xpi/firefox-i18n-33.0/da.xpi) = 37a36bf620d820d25dfb6dd0be59c201f82765cf616ca2533f1b5d248d6c570a
-SIZE (xpi/firefox-i18n-33.0/da.xpi) = 407440
-SHA256 (xpi/firefox-i18n-33.0/de.xpi) = 2d9f301a170467c19090acc2c31d7aa71dd6db6b616964a8e882a2ffca064b38
-SIZE (xpi/firefox-i18n-33.0/de.xpi) = 405657
-SHA256 (xpi/firefox-i18n-33.0/el.xpi) = 90aca35e51d1643e120a9e73eac11ffbd067b669f85d44f0de7ed72cfd6b9185
-SIZE (xpi/firefox-i18n-33.0/el.xpi) = 453581
-SHA256 (xpi/firefox-i18n-33.0/en-GB.xpi) = 99046c8de54ab0904184b7ff357bbb8ea672e389152506706cea564ee6e8a442
-SIZE (xpi/firefox-i18n-33.0/en-GB.xpi) = 399889
-SHA256 (xpi/firefox-i18n-33.0/en-US.xpi) = 4b7f41bcdeabce6e1b61a0edf6d118b49afffa97af9ad9f254172339679cf317
-SIZE (xpi/firefox-i18n-33.0/en-US.xpi) = 431991
-SHA256 (xpi/firefox-i18n-33.0/en-ZA.xpi) = fa30bef0e8f0796cae3bf72a298b92bc7a0a31fc3d47cdd5f9677acffb3efede
-SIZE (xpi/firefox-i18n-33.0/en-ZA.xpi) = 395962
-SHA256 (xpi/firefox-i18n-33.0/eo.xpi) = 4b4ead0e0f57f35438f5ffc8d6e64d7e5b666c5bb5bab44d8e4e7be4813b3399
-SIZE (xpi/firefox-i18n-33.0/eo.xpi) = 441493
-SHA256 (xpi/firefox-i18n-33.0/es-AR.xpi) = 0cb63288064df4d36ea08f4da8a7f49ab1905b7b4f1a21a8a054a1038de77b9b
-SIZE (xpi/firefox-i18n-33.0/es-AR.xpi) = 409699
-SHA256 (xpi/firefox-i18n-33.0/es-CL.xpi) = 0990b2ff9cc2efca578483aa4a6266c2ddce6e8fc3ba87f5b1868ca9849e1a79
-SIZE (xpi/firefox-i18n-33.0/es-CL.xpi) = 348957
-SHA256 (xpi/firefox-i18n-33.0/es-ES.xpi) = c233820830581da617c225dad2d23192dbf5e50eada4fa1cdf8a06d9ff54f19c
-SIZE (xpi/firefox-i18n-33.0/es-ES.xpi) = 341270
-SHA256 (xpi/firefox-i18n-33.0/es-MX.xpi) = c6ed2ef02b15dd9bab90dc9080203c1f26271a3c71ae7b21f64f509cb6994e58
-SIZE (xpi/firefox-i18n-33.0/es-MX.xpi) = 412164
-SHA256 (xpi/firefox-i18n-33.0/et.xpi) = f87686d61e12871e6a05f8a926a2dd44df9e3e3a4203a1d2aadc2da4776a0728
-SIZE (xpi/firefox-i18n-33.0/et.xpi) = 399818
-SHA256 (xpi/firefox-i18n-33.0/eu.xpi) = 8faec8e4d8cc006166dc9b43622c3cc4e31b68b0c54e2c11705d56c53657c794
-SIZE (xpi/firefox-i18n-33.0/eu.xpi) = 422546
-SHA256 (xpi/firefox-i18n-33.0/fa.xpi) = 666f3d24ac27d0973bad9b3f27cf0467f51a704224160215ab8cd121f6efe785
-SIZE (xpi/firefox-i18n-33.0/fa.xpi) = 470960
-SHA256 (xpi/firefox-i18n-33.0/ff.xpi) = bb18f8d2d5a215877ed0b4a1c43bce30e30f2d7a02613b7263e1796ffee1db86
-SIZE (xpi/firefox-i18n-33.0/ff.xpi) = 409820
-SHA256 (xpi/firefox-i18n-33.0/fi.xpi) = eb98aa10a822ca1bcb28aabffdbd82577f1078670c61acb54699d5bbcb0caaf5
-SIZE (xpi/firefox-i18n-33.0/fi.xpi) = 401952
-SHA256 (xpi/firefox-i18n-33.0/fr.xpi) = 0f176eab92151de66cd6838371a459cdf2bf9f3070aaac24b501e736efa0b204
-SIZE (xpi/firefox-i18n-33.0/fr.xpi) = 416671
-SHA256 (xpi/firefox-i18n-33.0/fy-NL.xpi) = 6fb09fa98046863e6a2d3cf19273d8f9f8818916f977be70238d3ae9866ea485
-SIZE (xpi/firefox-i18n-33.0/fy-NL.xpi) = 411367
-SHA256 (xpi/firefox-i18n-33.0/ga-IE.xpi) = c75e0bbd666715742ab7a2948aedecc265df4a9c3f2e00beb63096767ac95dcc
-SIZE (xpi/firefox-i18n-33.0/ga-IE.xpi) = 419255
-SHA256 (xpi/firefox-i18n-33.0/gd.xpi) = 2a90aec7c6ca941fdfd69a1ef11c6c7d9d93a69897362a3ed4f8442acde0eb3d
-SIZE (xpi/firefox-i18n-33.0/gd.xpi) = 412399
-SHA256 (xpi/firefox-i18n-33.0/gl.xpi) = f4956b7fc8c6de9dbcb64f060a217811989be2601958165de65add289adc5227
-SIZE (xpi/firefox-i18n-33.0/gl.xpi) = 401180
-SHA256 (xpi/firefox-i18n-33.0/gu-IN.xpi) = 9c9795a80b21797b27378dc607fe140dcf2c9ae6d51cb814a127e31f13ec5615
-SIZE (xpi/firefox-i18n-33.0/gu-IN.xpi) = 429327
-SHA256 (xpi/firefox-i18n-33.0/he.xpi) = 986dac932aae7dccda7aac1e708a79b615480bb3bffec5c0f458c86f4857def6
-SIZE (xpi/firefox-i18n-33.0/he.xpi) = 447202
-SHA256 (xpi/firefox-i18n-33.0/hi-IN.xpi) = 86acbca3eedad6ed9c09163f7ada90e0f4e7d12513c6ae49dd98efbefa9c2e4c
-SIZE (xpi/firefox-i18n-33.0/hi-IN.xpi) = 451706
-SHA256 (xpi/firefox-i18n-33.0/hr.xpi) = f0cd9503c33807734dcc39302279b6b86c060da7ef76b0be2c44a859154e9eac
-SIZE (xpi/firefox-i18n-33.0/hr.xpi) = 434271
-SHA256 (xpi/firefox-i18n-33.0/hsb.xpi) = d06ebff4cea67d31858ff88642c225367348a1358870d507a3628e7df8a23067
-SIZE (xpi/firefox-i18n-33.0/hsb.xpi) = 423342
-SHA256 (xpi/firefox-i18n-33.0/hu.xpi) = 123341ddd77027e35843a953f2388dbf50b10d3ad3edbe0a6049d3baadd8c2a3
-SIZE (xpi/firefox-i18n-33.0/hu.xpi) = 408613
-SHA256 (xpi/firefox-i18n-33.0/hy-AM.xpi) = 91cbfe3d5f6b05baf84929396bdd5621df0647a4d94be4c481bcc939750ea178
-SIZE (xpi/firefox-i18n-33.0/hy-AM.xpi) = 489405
-SHA256 (xpi/firefox-i18n-33.0/id.xpi) = 1a4e9ad4e11b732944532d4d95abb56af4f15345b14281e280140dc2ea03aa91
-SIZE (xpi/firefox-i18n-33.0/id.xpi) = 387694
-SHA256 (xpi/firefox-i18n-33.0/is.xpi) = 907ffe72503e9cdd760240029398cea2a6e3880acd6eda292e3edbbdf3ce3322
-SIZE (xpi/firefox-i18n-33.0/is.xpi) = 437346
-SHA256 (xpi/firefox-i18n-33.0/it.xpi) = 415ef2b97a40ea2116dba0978067f682b4af5d9ac2d97e64f166514bac6ec14f
-SIZE (xpi/firefox-i18n-33.0/it.xpi) = 336091
-SHA256 (xpi/firefox-i18n-33.0/ja.xpi) = 4b10c2b762b4f13fc6a7fb5fd7a0dfb92ef8e70715d501b45b407ebe37020046
-SIZE (xpi/firefox-i18n-33.0/ja.xpi) = 431410
-SHA256 (xpi/firefox-i18n-33.0/kk.xpi) = 6ad7755cafe48b4fe5bc8c90a7a3130d11405edac7b9057aad52cc4a6d864761
-SIZE (xpi/firefox-i18n-33.0/kk.xpi) = 449694
-SHA256 (xpi/firefox-i18n-33.0/km.xpi) = 822b71c4f383a45493e21e027ec8421d4392e9e8237e68db07508c745fa4171c
-SIZE (xpi/firefox-i18n-33.0/km.xpi) = 517638
-SHA256 (xpi/firefox-i18n-33.0/kn.xpi) = f7dc9d5344b9da358f8b063f90ba49053b8544dae3359371fbb6e8d9fa072e26
-SIZE (xpi/firefox-i18n-33.0/kn.xpi) = 484376
-SHA256 (xpi/firefox-i18n-33.0/ko.xpi) = 37e69852de14fd4fcf00f8926ac65824019abe2aba2bb8abb2d96b5bc7be4fa0
-SIZE (xpi/firefox-i18n-33.0/ko.xpi) = 413554
-SHA256 (xpi/firefox-i18n-33.0/ku.xpi) = e759629274c879532284a6a7e52950c731136e3507dc8547f7689df3b757b9d5
-SIZE (xpi/firefox-i18n-33.0/ku.xpi) = 430767
-SHA256 (xpi/firefox-i18n-33.0/lij.xpi) = 856405a868374b53a8ee7d425854465d67e572d2895d545631d4d92c3af753d1
-SIZE (xpi/firefox-i18n-33.0/lij.xpi) = 397338
-SHA256 (xpi/firefox-i18n-33.0/lt.xpi) = bc96b34812c514908635b826f59a1716b23e2a109a835ed68dfa428502022137
-SIZE (xpi/firefox-i18n-33.0/lt.xpi) = 440543
-SHA256 (xpi/firefox-i18n-33.0/lv.xpi) = 07a74935d2a65581b8328d212b183b821686da3fdf274632ad5dd6eeb49ac1c9
-SIZE (xpi/firefox-i18n-33.0/lv.xpi) = 406916
-SHA256 (xpi/firefox-i18n-33.0/mai.xpi) = 4501c3b32e6639f0de237b1d0f9dcef3f420761cb9c0373a0670884f7ce03ad4
-SIZE (xpi/firefox-i18n-33.0/mai.xpi) = 454969
-SHA256 (xpi/firefox-i18n-33.0/mk.xpi) = eb97247d2044c679d3a741bea2bfff51d4b6a67bfbf62515b455f174ce34fd63
-SIZE (xpi/firefox-i18n-33.0/mk.xpi) = 485785
-SHA256 (xpi/firefox-i18n-33.0/ml.xpi) = 652530081f5e2611dd4d30463b1cd8d14e39d9a330cac7eb78115106ff0e8353
-SIZE (xpi/firefox-i18n-33.0/ml.xpi) = 481574
-SHA256 (xpi/firefox-i18n-33.0/mr.xpi) = 8988eca854ae4ab11adb0e1ac5987df038839002d0115f979bc43490259670f3
-SIZE (xpi/firefox-i18n-33.0/mr.xpi) = 462151
-SHA256 (xpi/firefox-i18n-33.0/ms.xpi) = 75ebab12603eede36683daba73ffe9a666f367506f0f8a53de0f5e8ce871a04f
-SIZE (xpi/firefox-i18n-33.0/ms.xpi) = 445101
-SHA256 (xpi/firefox-i18n-33.0/nb-NO.xpi) = 80623c481de4d414672210b9d6d3ed9fb3794395129bc992a6bf5815e10ce8a7
-SIZE (xpi/firefox-i18n-33.0/nb-NO.xpi) = 401222
-SHA256 (xpi/firefox-i18n-33.0/nl.xpi) = 659f7f5df5547dd8c632ef05662369b89a45145cfd50c2565b118a10278a805c
-SIZE (xpi/firefox-i18n-33.0/nl.xpi) = 400415
-SHA256 (xpi/firefox-i18n-33.0/nn-NO.xpi) = 030b817817696600b9e524d724401c67632d5f81e852401f098ccae216cf0db9
-SIZE (xpi/firefox-i18n-33.0/nn-NO.xpi) = 395688
-SHA256 (xpi/firefox-i18n-33.0/or.xpi) = 7a48c53b2fcda0241ebcf996719f12b7f46b58729bd38fe3c244b495b1617b49
-SIZE (xpi/firefox-i18n-33.0/or.xpi) = 475958
-SHA256 (xpi/firefox-i18n-33.0/pa-IN.xpi) = ce3bb7683b86118bd1eaaadec5c9e749bccfb6dfaa975505a8d2c10b19129e0f
-SIZE (xpi/firefox-i18n-33.0/pa-IN.xpi) = 447560
-SHA256 (xpi/firefox-i18n-33.0/pl.xpi) = b80a786af82163eb41b2cdca1a58ada369501a8a178086ba5e145642052c88b2
-SIZE (xpi/firefox-i18n-33.0/pl.xpi) = 382736
-SHA256 (xpi/firefox-i18n-33.0/pt-BR.xpi) = 08c0e76602d6697700f6fa22c4e684bebfe90f38b9b2c5b892788827a18f4e24
-SIZE (xpi/firefox-i18n-33.0/pt-BR.xpi) = 415351
-SHA256 (xpi/firefox-i18n-33.0/pt-PT.xpi) = 8ac786c4119de61cab7ac1f01ac6986d06963f2c9735f686fedc02dcf6f3c3b8
-SIZE (xpi/firefox-i18n-33.0/pt-PT.xpi) = 395800
-SHA256 (xpi/firefox-i18n-33.0/rm.xpi) = f3526efc6d4813a40392f77fe24b3d21de7bd74e4007a0010d9213526988ebf5
-SIZE (xpi/firefox-i18n-33.0/rm.xpi) = 409252
-SHA256 (xpi/firefox-i18n-33.0/ro.xpi) = d87aab4766066c24033cf4675b0fb7ca00ac3fbe9015e800e06d0e15563f8c34
-SIZE (xpi/firefox-i18n-33.0/ro.xpi) = 450878
-SHA256 (xpi/firefox-i18n-33.0/ru.xpi) = 4c08e198084f214a1f2fd1fa7e186921d799d6907120047a1226e6afcbebdd94
-SIZE (xpi/firefox-i18n-33.0/ru.xpi) = 378687
-SHA256 (xpi/firefox-i18n-33.0/si.xpi) = b26343b0d8517ab8029a04dabc220b69b827d82f1b6f983abbadb779d812ea2c
-SIZE (xpi/firefox-i18n-33.0/si.xpi) = 471817
-SHA256 (xpi/firefox-i18n-33.0/sk.xpi) = 16ab1c936f58121120e71ccfa488dd0664d67db4b1dad3ff361f4b21fe742d37
-SIZE (xpi/firefox-i18n-33.0/sk.xpi) = 424073
-SHA256 (xpi/firefox-i18n-33.0/sl.xpi) = 13300580cf18f0777dfa261f33efc61b8d47797e17d501f92fac1f9bbe86f64b
-SIZE (xpi/firefox-i18n-33.0/sl.xpi) = 397421
-SHA256 (xpi/firefox-i18n-33.0/son.xpi) = 4629ac52b8c68dd4f2b6de35ffe3bbc0f4c0605822d1cff180b386cc00a4ca65
-SIZE (xpi/firefox-i18n-33.0/son.xpi) = 404432
-SHA256 (xpi/firefox-i18n-33.0/sq.xpi) = 708dead68642d8d782674a44c7be7040bc516a311cb328b57c477c7d914cffb9
-SIZE (xpi/firefox-i18n-33.0/sq.xpi) = 440871
-SHA256 (xpi/firefox-i18n-33.0/sr.xpi) = 54bc18b7e5b709a28c01d70983024925fabf04a4f3cc2770368f36d69da3e561
-SIZE (xpi/firefox-i18n-33.0/sr.xpi) = 435266
-SHA256 (xpi/firefox-i18n-33.0/sv-SE.xpi) = a27a1990d0bc6b34ba26e3dcbde16cf539b7974653772c105ac8e11813ecf945
-SIZE (xpi/firefox-i18n-33.0/sv-SE.xpi) = 408341
-SHA256 (xpi/firefox-i18n-33.0/ta.xpi) = d919beb0086c7cf5b1ad8d491e0e43d2ed6fa0afa774f74cf80ed3df0a5b8a45
-SIZE (xpi/firefox-i18n-33.0/ta.xpi) = 458828
-SHA256 (xpi/firefox-i18n-33.0/te.xpi) = a93c0c8a50f2aa8eb47a3f69be699da2dfd9447577ad8e2af20022d32c9adbfd
-SIZE (xpi/firefox-i18n-33.0/te.xpi) = 477729
-SHA256 (xpi/firefox-i18n-33.0/th.xpi) = e51608654d570673567a92aedcd016478a810fcb4991f9408e6d73fa31afd248
-SIZE (xpi/firefox-i18n-33.0/th.xpi) = 488197
-SHA256 (xpi/firefox-i18n-33.0/tr.xpi) = 31bb3bbbc4aff041559dbef932c8103063cb5fa333b640a68b2dc0e73dd3b8a1
-SIZE (xpi/firefox-i18n-33.0/tr.xpi) = 427703
-SHA256 (xpi/firefox-i18n-33.0/uk.xpi) = a39eda76dd9d437c59b1aa5463d1e2a340f764da694c886eeccefb56bf6fb018
-SIZE (xpi/firefox-i18n-33.0/uk.xpi) = 439819
-SHA256 (xpi/firefox-i18n-33.0/vi.xpi) = 8422c888ac94653562971a78c86bde365f29a669dcd3bf0c9dacf68b5138f0c3
-SIZE (xpi/firefox-i18n-33.0/vi.xpi) = 422408
-SHA256 (xpi/firefox-i18n-33.0/xh.xpi) = 5e415f6c1bd7de7fdb96385f044455f465954836119950a51dd34ebfefa9dcbd
-SIZE (xpi/firefox-i18n-33.0/xh.xpi) = 408460
-SHA256 (xpi/firefox-i18n-33.0/zh-CN.xpi) = 0fe62fe5f372b01f40a9d20617688eda3923cc3a90d3742200e9c841ba0523f2
-SIZE (xpi/firefox-i18n-33.0/zh-CN.xpi) = 429857
-SHA256 (xpi/firefox-i18n-33.0/zh-TW.xpi) = 88e13c51ab2cde95ca274c458c73af74fe2b4a0eeb5efde3e223a55f73940a6e
-SIZE (xpi/firefox-i18n-33.0/zh-TW.xpi) = 422430
-SHA256 (xpi/firefox-i18n-33.0/zu.xpi) = 6deb6b853ec1923ab325332d2eb5e96e6a0cea443d447203dff0cff5352c15bf
-SIZE (xpi/firefox-i18n-33.0/zu.xpi) = 443460
+SHA256 (xpi/firefox-i18n-34.0.5/ach.xpi) = c1b10d626544efbbf8c4b7ab50e5f2bd7a3d83a32de8c7d1efbf428ace723a6f
+SIZE (xpi/firefox-i18n-34.0.5/ach.xpi) = 462680
+SHA256 (xpi/firefox-i18n-34.0.5/af.xpi) = b87c60c2b2ebddadb4fc1cb74da9fdb1c1d2fd4f45c5f3995a8e3393941003d4
+SIZE (xpi/firefox-i18n-34.0.5/af.xpi) = 463060
+SHA256 (xpi/firefox-i18n-34.0.5/an.xpi) = 5c474b70d902785a9be3b0ba4de0e651d581139a7a8a7fae3f0efb2884810b42
+SIZE (xpi/firefox-i18n-34.0.5/an.xpi) = 439042
+SHA256 (xpi/firefox-i18n-34.0.5/ar.xpi) = 965fdd01c0402f2fda078e7d079776f79b602e837a82bfd3907f6532d6c605f8
+SIZE (xpi/firefox-i18n-34.0.5/ar.xpi) = 494183
+SHA256 (xpi/firefox-i18n-34.0.5/as.xpi) = 837029e6b447809d794f557c0ed072f4d6f99de3cc84febb4bce108489756af2
+SIZE (xpi/firefox-i18n-34.0.5/as.xpi) = 483172
+SHA256 (xpi/firefox-i18n-34.0.5/ast.xpi) = f051be533973f11fc2e9347c6d5ac858cc4404a5b598a5d35cc37e57fbd16147
+SIZE (xpi/firefox-i18n-34.0.5/ast.xpi) = 371326
+SHA256 (xpi/firefox-i18n-34.0.5/az.xpi) = cb2baa0cccc2e10cb768c1c78e3d422faeee8880442ad8e3916fa4a528261edd
+SIZE (xpi/firefox-i18n-34.0.5/az.xpi) = 457682
+SHA256 (xpi/firefox-i18n-34.0.5/be.xpi) = addcdc6917742cd752074a520aa5c6f7b4f6efa9a1a67c77fb86dadcff284744
+SIZE (xpi/firefox-i18n-34.0.5/be.xpi) = 416985
+SHA256 (xpi/firefox-i18n-34.0.5/bg.xpi) = 65b9550fa493dc4df5cdf0cbff1e63113b19baa2189679de7c0390ed0f8a2997
+SIZE (xpi/firefox-i18n-34.0.5/bg.xpi) = 472498
+SHA256 (xpi/firefox-i18n-34.0.5/bn-BD.xpi) = 3b7979586bbbaf79049eda1ee513081ed65b4429547136612d92db01cb4e10a2
+SIZE (xpi/firefox-i18n-34.0.5/bn-BD.xpi) = 506954
+SHA256 (xpi/firefox-i18n-34.0.5/bn-IN.xpi) = a27492ecc960d571439bdd18366e82da9bb032be6f98480c3b54a0a1859f818f
+SIZE (xpi/firefox-i18n-34.0.5/bn-IN.xpi) = 497065
+SHA256 (xpi/firefox-i18n-34.0.5/br.xpi) = 390ac296038947ec8b8251102f2da2713c547abee17361c8371f5f6dab99bd60
+SIZE (xpi/firefox-i18n-34.0.5/br.xpi) = 420167
+SHA256 (xpi/firefox-i18n-34.0.5/bs.xpi) = b49ebf6396762c381f144719fc318dd59e05681955e010e113d429e310673d32
+SIZE (xpi/firefox-i18n-34.0.5/bs.xpi) = 463553
+SHA256 (xpi/firefox-i18n-34.0.5/ca.xpi) = f0cc5714a71ea6a2bebe79d34e069feebe07020d68ef8f4f9d0ff26d476b4cd4
+SIZE (xpi/firefox-i18n-34.0.5/ca.xpi) = 435647
+SHA256 (xpi/firefox-i18n-34.0.5/cs.xpi) = 57750eabfe173be598184e60a800d76be899b6627305b3c9a0c0877fcf020ff5
+SIZE (xpi/firefox-i18n-34.0.5/cs.xpi) = 423587
+SHA256 (xpi/firefox-i18n-34.0.5/csb.xpi) = 11fa7ac9db4a634e622b91d4df7d03871405636cf93ecc05d5cf8d4320fc9038
+SIZE (xpi/firefox-i18n-34.0.5/csb.xpi) = 418826
+SHA256 (xpi/firefox-i18n-34.0.5/cy.xpi) = b57fe273431424455011d90759f06d9d402f694d3b597feb03352f7f8045e16b
+SIZE (xpi/firefox-i18n-34.0.5/cy.xpi) = 422171
+SHA256 (xpi/firefox-i18n-34.0.5/da.xpi) = 9da0fca885a093f62913e87f20695c41d4af8a91be1a919401f46195070beaaf
+SIZE (xpi/firefox-i18n-34.0.5/da.xpi) = 428953
+SHA256 (xpi/firefox-i18n-34.0.5/de.xpi) = 8f396cf405ddd30d3164eea4e06234ee47bd28be0bf635f18410a1dfdff37cd9
+SIZE (xpi/firefox-i18n-34.0.5/de.xpi) = 432492
+SHA256 (xpi/firefox-i18n-34.0.5/dsb.xpi) = 5a454d06cf5d1fec1e33bb78fd5550a17f3b33d44e40674c6f13d278bf1372e3
+SIZE (xpi/firefox-i18n-34.0.5/dsb.xpi) = 447779
+SHA256 (xpi/firefox-i18n-34.0.5/el.xpi) = 5ca3ea90c3657e1daf1468178e27f319373416f920fc107a3378472c37f324f6
+SIZE (xpi/firefox-i18n-34.0.5/el.xpi) = 476854
+SHA256 (xpi/firefox-i18n-34.0.5/en-GB.xpi) = 79ac586fb2bb74ba508e96b00307a197140aeb2e5ed722dff1e1572dc238fc4b
+SIZE (xpi/firefox-i18n-34.0.5/en-GB.xpi) = 420748
+SHA256 (xpi/firefox-i18n-34.0.5/en-US.xpi) = d1b97184f6fe8461c41bc98e089fe25951b3caec93957af1bfec81cddd824ac3
+SIZE (xpi/firefox-i18n-34.0.5/en-US.xpi) = 452906
+SHA256 (xpi/firefox-i18n-34.0.5/en-ZA.xpi) = 0d20efecb88f0108264de7e175c858e73bb5e3e4fceb97359cf996f3e2f92d7f
+SIZE (xpi/firefox-i18n-34.0.5/en-ZA.xpi) = 416823
+SHA256 (xpi/firefox-i18n-34.0.5/eo.xpi) = 5871dfd97e4cf8609f28b341d80dc24a268499010dc724a4da2d4a3766a9c04b
+SIZE (xpi/firefox-i18n-34.0.5/eo.xpi) = 463332
+SHA256 (xpi/firefox-i18n-34.0.5/es-AR.xpi) = 2ab230d547c1863d67d20d32737aed64469ada26b9ddf0e7d802a148afd0f0ec
+SIZE (xpi/firefox-i18n-34.0.5/es-AR.xpi) = 431585
+SHA256 (xpi/firefox-i18n-34.0.5/es-CL.xpi) = 04795ae3563b19a1acac8093e882df78b082a4172142f8eb10e46e317ce46703
+SIZE (xpi/firefox-i18n-34.0.5/es-CL.xpi) = 372772
+SHA256 (xpi/firefox-i18n-34.0.5/es-ES.xpi) = 9b93f11b11bb99689c790e5bf1bb4b30a07eeee7a48566d714f155b7eff1cbba
+SIZE (xpi/firefox-i18n-34.0.5/es-ES.xpi) = 359590
+SHA256 (xpi/firefox-i18n-34.0.5/es-MX.xpi) = d4572ef9c2283141c1ca7ac10a509a0e2398290b465ecc770dbd792948270bea
+SIZE (xpi/firefox-i18n-34.0.5/es-MX.xpi) = 434260
+SHA256 (xpi/firefox-i18n-34.0.5/et.xpi) = 8b5c6a40aef45c60d082a0852eb13028de89b663573125c28a201a295557e845
+SIZE (xpi/firefox-i18n-34.0.5/et.xpi) = 421225
+SHA256 (xpi/firefox-i18n-34.0.5/eu.xpi) = d5dd6cbdb7bc71ed1bb0d4e20c9866710f73ef6e04095e62eeb0ba8017168af1
+SIZE (xpi/firefox-i18n-34.0.5/eu.xpi) = 446624
+SHA256 (xpi/firefox-i18n-34.0.5/fa.xpi) = 27e51fa1f28eccc9f382dd81c3fb1e3f9570579dd8e43a6e23393d9ee6a5ad36
+SIZE (xpi/firefox-i18n-34.0.5/fa.xpi) = 492892
+SHA256 (xpi/firefox-i18n-34.0.5/ff.xpi) = 2cc17d3a4619c7ce2f0ac986ac97b0a33b0e2df9d93ddd11884f4a919b2b24ec
+SIZE (xpi/firefox-i18n-34.0.5/ff.xpi) = 433270
+SHA256 (xpi/firefox-i18n-34.0.5/fi.xpi) = 537a0334bf0dbaa188e8cf92016593ce8f05747b22c71c8640494190535c26e6
+SIZE (xpi/firefox-i18n-34.0.5/fi.xpi) = 423245
+SHA256 (xpi/firefox-i18n-34.0.5/fr.xpi) = 38c50ff5d38c583d9e642794c8b6cc67f778fd00fe6202ed7ea6f714d880de92
+SIZE (xpi/firefox-i18n-34.0.5/fr.xpi) = 438662
+SHA256 (xpi/firefox-i18n-34.0.5/fy-NL.xpi) = 6995c0a461d35e86fd9acf9d770897ea5785508629f591ae673b4ae1fd2d1303
+SIZE (xpi/firefox-i18n-34.0.5/fy-NL.xpi) = 433271
+SHA256 (xpi/firefox-i18n-34.0.5/ga-IE.xpi) = 7ae23504738b022ddd96d1b8161ec9b047f274eb830928c80d50f0600b99c837
+SIZE (xpi/firefox-i18n-34.0.5/ga-IE.xpi) = 441713
+SHA256 (xpi/firefox-i18n-34.0.5/gd.xpi) = b031b9e2b124ede4d2fcc2005967fc25fa87245a6f99d7896b67e5d16a7b55d7
+SIZE (xpi/firefox-i18n-34.0.5/gd.xpi) = 434038
+SHA256 (xpi/firefox-i18n-34.0.5/gl.xpi) = cfb2a5cfa934c3c5e9a4e4149257a969ea6a1bc44edc933287876928c6305e9c
+SIZE (xpi/firefox-i18n-34.0.5/gl.xpi) = 423714
+SHA256 (xpi/firefox-i18n-34.0.5/gu-IN.xpi) = 942efdb3e6d69c834ad78664d427ec00367d9723ea923396661deb5e8261dbe0
+SIZE (xpi/firefox-i18n-34.0.5/gu-IN.xpi) = 453965
+SHA256 (xpi/firefox-i18n-34.0.5/he.xpi) = 71648e5987e996cd750774074bbb37970c97222dd66fe7e38e4e27ae4b3d615f
+SIZE (xpi/firefox-i18n-34.0.5/he.xpi) = 464003
+SHA256 (xpi/firefox-i18n-34.0.5/hi-IN.xpi) = fbb6d3320c37989ba34643b487b0eee5d38773e28e22082e72d328ab55e00196
+SIZE (xpi/firefox-i18n-34.0.5/hi-IN.xpi) = 484096
+SHA256 (xpi/firefox-i18n-34.0.5/hr.xpi) = 94ba0fe57883987090504d7f54b750bd5d353df7673f76560e04ef5d8a13cb05
+SIZE (xpi/firefox-i18n-34.0.5/hr.xpi) = 455966
+SHA256 (xpi/firefox-i18n-34.0.5/hsb.xpi) = 4c5343428bb3fc0700bf68b5a09c12001fe41e5d13fc363927b2dfe5090356c8
+SIZE (xpi/firefox-i18n-34.0.5/hsb.xpi) = 445692
+SHA256 (xpi/firefox-i18n-34.0.5/hu.xpi) = 7d240d622ef7199c0b6540e9c20ad5a24ec571f80b4bb2e91dc544cb9b1837b7
+SIZE (xpi/firefox-i18n-34.0.5/hu.xpi) = 430894
+SHA256 (xpi/firefox-i18n-34.0.5/hy-AM.xpi) = 5447aae4599cec9fb2e1ce64dc951a3b7da7c42318fed50019de0a2332be8260
+SIZE (xpi/firefox-i18n-34.0.5/hy-AM.xpi) = 513300
+SHA256 (xpi/firefox-i18n-34.0.5/id.xpi) = 243aeb5dd950996d4043ab79eddb7854c2a3b2096c9a4b1fd3511264a865af46
+SIZE (xpi/firefox-i18n-34.0.5/id.xpi) = 409381
+SHA256 (xpi/firefox-i18n-34.0.5/is.xpi) = 56d697fb11893bfd76cec1feca093d8b0c35f22ef5aef1b6eb3d3360c7c8a1ae
+SIZE (xpi/firefox-i18n-34.0.5/is.xpi) = 463252
+SHA256 (xpi/firefox-i18n-34.0.5/it.xpi) = ff9a4599d8a5aeccbdc38c2bba682863ff00eddeb4745ccf3a85bcc77d78447b
+SIZE (xpi/firefox-i18n-34.0.5/it.xpi) = 358338
+SHA256 (xpi/firefox-i18n-34.0.5/ja.xpi) = 7f1e18d111b1184d51923fc3c0d736c8392f53bbcd5ac8fef2eadbf6418521e2
+SIZE (xpi/firefox-i18n-34.0.5/ja.xpi) = 454292
+SHA256 (xpi/firefox-i18n-34.0.5/kk.xpi) = 01b7bb31dab09bd5e5709d6ae7203f2984d9f79bc7806ce815e74cdb67d25e83
+SIZE (xpi/firefox-i18n-34.0.5/kk.xpi) = 478643
+SHA256 (xpi/firefox-i18n-34.0.5/km.xpi) = 0d15339e11189e9645218fc12488d31421802661628da4299342ef8a887c1a94
+SIZE (xpi/firefox-i18n-34.0.5/km.xpi) = 541913
+SHA256 (xpi/firefox-i18n-34.0.5/kn.xpi) = 02ab07dec0b2f4642298af1cb7bf9553b6aad54606ab084e73abfc393fb1c7ba
+SIZE (xpi/firefox-i18n-34.0.5/kn.xpi) = 507365
+SHA256 (xpi/firefox-i18n-34.0.5/ko.xpi) = 6e0d21c3f0a9f8bc088e29628e70ceaebd462aebb137be77c4891322b902acec
+SIZE (xpi/firefox-i18n-34.0.5/ko.xpi) = 436646
+SHA256 (xpi/firefox-i18n-34.0.5/lij.xpi) = 2c4beef192e5d93d0658eb1e6b19aa4ab4395a42f3bbda27385fde27de1347e2
+SIZE (xpi/firefox-i18n-34.0.5/lij.xpi) = 421454
+SHA256 (xpi/firefox-i18n-34.0.5/lt.xpi) = 901bebd8b6cec8f63b7abaef24fed3d4e6b07770be3293fe90ab087663017dfd
+SIZE (xpi/firefox-i18n-34.0.5/lt.xpi) = 463323
+SHA256 (xpi/firefox-i18n-34.0.5/lv.xpi) = 250112d07bdbd088a26b43ad790df023c12eb21d3ea4293ff64dac11986a8859
+SIZE (xpi/firefox-i18n-34.0.5/lv.xpi) = 427333
+SHA256 (xpi/firefox-i18n-34.0.5/mai.xpi) = 44f799b07a514b6560f35ff1986c5cabfec2d1aa646975d67edda5aabeff9b18
+SIZE (xpi/firefox-i18n-34.0.5/mai.xpi) = 477821
+SHA256 (xpi/firefox-i18n-34.0.5/mk.xpi) = 100d6727557a2653947763f7ee14b7f2219ab6d2574ace9a39faa9f1b5981ffe
+SIZE (xpi/firefox-i18n-34.0.5/mk.xpi) = 508301
+SHA256 (xpi/firefox-i18n-34.0.5/ml.xpi) = 67233ac417c8bd7e4aede62b428ba923d60f2eb600be6c21829f117d017d1570
+SIZE (xpi/firefox-i18n-34.0.5/ml.xpi) = 505869
+SHA256 (xpi/firefox-i18n-34.0.5/mr.xpi) = 4dcea964a93c47a4eefe043f901060e943291a5e234c96e25d72dd68331ff637
+SIZE (xpi/firefox-i18n-34.0.5/mr.xpi) = 486350
+SHA256 (xpi/firefox-i18n-34.0.5/ms.xpi) = 5c8309023cfa5a4e004244b48d26c0f0e8dbc6de7673de7df2a92d730e9c9b08
+SIZE (xpi/firefox-i18n-34.0.5/ms.xpi) = 469178
+SHA256 (xpi/firefox-i18n-34.0.5/nb-NO.xpi) = 3c4e60fddb27343bdeb25039bb4a97c401a1182f3c158316873e0f6c0bbd45ed
+SIZE (xpi/firefox-i18n-34.0.5/nb-NO.xpi) = 422400
+SHA256 (xpi/firefox-i18n-34.0.5/nl.xpi) = 064873374bc56deb6dca6dfadcaefb8291b267454e0530de0b6d826a8493fd11
+SIZE (xpi/firefox-i18n-34.0.5/nl.xpi) = 422107
+SHA256 (xpi/firefox-i18n-34.0.5/nn-NO.xpi) = e8627454a0c351564907786205a259dc2c8d26cbf640843a46d49f81b9870460
+SIZE (xpi/firefox-i18n-34.0.5/nn-NO.xpi) = 416914
+SHA256 (xpi/firefox-i18n-34.0.5/or.xpi) = d87cda6f9ac01ba7d50237a6f43c0fccb53a28a882044b1b6830660a5d32fc81
+SIZE (xpi/firefox-i18n-34.0.5/or.xpi) = 500054
+SHA256 (xpi/firefox-i18n-34.0.5/pa-IN.xpi) = def2e908055bda9749cb492515d517dfb47992894f52ced23ee8c5fec938f2bd
+SIZE (xpi/firefox-i18n-34.0.5/pa-IN.xpi) = 471956
+SHA256 (xpi/firefox-i18n-34.0.5/pl.xpi) = 92a5e4c4410e270f1b91d8c9ee931e299a29ad50aaa088effb1f0daaa736d298
+SIZE (xpi/firefox-i18n-34.0.5/pl.xpi) = 400610
+SHA256 (xpi/firefox-i18n-34.0.5/pt-BR.xpi) = 92d3dfd98e00fdddc2fbfed302b00499899f97a2f1d30dcc48a77ce6b4c9b5aa
+SIZE (xpi/firefox-i18n-34.0.5/pt-BR.xpi) = 441555
+SHA256 (xpi/firefox-i18n-34.0.5/pt-PT.xpi) = 999317b72e7d1607d10c6aa75ac50547eacf2f688d7cfaac3ca2830000033eb8
+SIZE (xpi/firefox-i18n-34.0.5/pt-PT.xpi) = 419545
+SHA256 (xpi/firefox-i18n-34.0.5/rm.xpi) = e10e91bd394fd5d1c9f996cc88208b22810fe3d9fad18982c911f465b0b498dc
+SIZE (xpi/firefox-i18n-34.0.5/rm.xpi) = 432347
+SHA256 (xpi/firefox-i18n-34.0.5/ro.xpi) = b4c6ddfabef80fa5c31e5b97584ce50a5f77739e9a5a3e1da3380febe9bbf194
+SIZE (xpi/firefox-i18n-34.0.5/ro.xpi) = 474510
+SHA256 (xpi/firefox-i18n-34.0.5/ru.xpi) = 0afcf02442b83320e233ef56f2e682193d2b46576b15bb1d4a7545247892219e
+SIZE (xpi/firefox-i18n-34.0.5/ru.xpi) = 403054
+SHA256 (xpi/firefox-i18n-34.0.5/si.xpi) = b299df8e0f238b2178b30d11cdc9dbd0140ca50e9785bfaf76a98f259f9878c5
+SIZE (xpi/firefox-i18n-34.0.5/si.xpi) = 506265
+SHA256 (xpi/firefox-i18n-34.0.5/sk.xpi) = a1c5e558959add0a63372ffd94b4eff99fb604f4e3c77689fbf94631ec631813
+SIZE (xpi/firefox-i18n-34.0.5/sk.xpi) = 450900
+SHA256 (xpi/firefox-i18n-34.0.5/sl.xpi) = 181028e01101ae6b7e17547d7410f9e04a51e56563ee72aec3420f2eaa993444
+SIZE (xpi/firefox-i18n-34.0.5/sl.xpi) = 423643
+SHA256 (xpi/firefox-i18n-34.0.5/son.xpi) = 27e91be9c9c1bd005d4beab89413a1e5204a970c80a3a6b6b07b76e1c7448a9f
+SIZE (xpi/firefox-i18n-34.0.5/son.xpi) = 426174
+SHA256 (xpi/firefox-i18n-34.0.5/sq.xpi) = f1248f5527f19b3f27b766abb1a00b7d504a42a95cbf2249457b340ca7ec150e
+SIZE (xpi/firefox-i18n-34.0.5/sq.xpi) = 463421
+SHA256 (xpi/firefox-i18n-34.0.5/sr.xpi) = b781704a029bc290f2ec0f9e58c0deea742ef8a5a33316c87f8552e9d7fe3739
+SIZE (xpi/firefox-i18n-34.0.5/sr.xpi) = 461562
+SHA256 (xpi/firefox-i18n-34.0.5/sv-SE.xpi) = 39fca86a053b8685d4ce046ae3570cff97bca878ced5a7a1abfe0830e326a36d
+SIZE (xpi/firefox-i18n-34.0.5/sv-SE.xpi) = 430349
+SHA256 (xpi/firefox-i18n-34.0.5/ta.xpi) = 2233ec3f8056b75cc4e3f86c56e1f8249eab13e0c4846144586d5e372f20dbb7
+SIZE (xpi/firefox-i18n-34.0.5/ta.xpi) = 482959
+SHA256 (xpi/firefox-i18n-34.0.5/te.xpi) = b7c3b67941dcd36e69320600a16df27f31e353fad632c206f35d270df5b529cf
+SIZE (xpi/firefox-i18n-34.0.5/te.xpi) = 501570
+SHA256 (xpi/firefox-i18n-34.0.5/th.xpi) = aa869c44465216a8a06d35edf21fc3c58d56d545824927b0afa4a476cd464068
+SIZE (xpi/firefox-i18n-34.0.5/th.xpi) = 510983
+SHA256 (xpi/firefox-i18n-34.0.5/tr.xpi) = 14a99c1775a1133bc9ce8b8b84d5cd078c6752cadc55cdeb02d09dafbd943148
+SIZE (xpi/firefox-i18n-34.0.5/tr.xpi) = 459048
+SHA256 (xpi/firefox-i18n-34.0.5/uk.xpi) = 076bc14915f6042c6aeb005fe4791ffe84638d64c2031e608c56d1e94f8560e1
+SIZE (xpi/firefox-i18n-34.0.5/uk.xpi) = 459824
+SHA256 (xpi/firefox-i18n-34.0.5/vi.xpi) = c84f8347289a6d26811686688b38dddb3bf54d2b228b1d31a6b4317ce78375c0
+SIZE (xpi/firefox-i18n-34.0.5/vi.xpi) = 445774
+SHA256 (xpi/firefox-i18n-34.0.5/xh.xpi) = 6f768807a6e5ee39679276f803e302b996327e60ef6d4811c1e7913eee968818
+SIZE (xpi/firefox-i18n-34.0.5/xh.xpi) = 431629
+SHA256 (xpi/firefox-i18n-34.0.5/zh-CN.xpi) = 05cc953a828459e84372d2fdda480995865b2bae71fc5273b4a64975f6626c8d
+SIZE (xpi/firefox-i18n-34.0.5/zh-CN.xpi) = 465078
+SHA256 (xpi/firefox-i18n-34.0.5/zh-TW.xpi) = 109010772bdeb83a0dd16142d6d644aadbdb6c29561f8a49dabc4841790c87a6
+SIZE (xpi/firefox-i18n-34.0.5/zh-TW.xpi) = 444612
diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index 05c73c6ad5be..9f0bdadf509e 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -2,18 +2,18 @@
# $FreeBSD$
PORTNAME= firefox
-DISTVERSION= 33.0
+DISTVERSION= 34.0.5
DISTVERSIONSUFFIX=.source
PORTEPOCH= 1
CATEGORIES= www ipv6
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
- https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME}/candidates/${DISTVERSION}-candidates/build2/source/
+ https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source/
MAINTAINER= gecko@FreeBSD.org
COMMENT= Web browser based on the browser portion of Mozilla
BUILD_DEPENDS= nspr>=4.10.6:${PORTSDIR}/devel/nspr \
- nss>=3.16.2:${PORTSDIR}/security/nss \
+ nss>=3.17.2:${PORTSDIR}/security/nss \
libevent2>=2.0.21_2:${PORTSDIR}/devel/libevent2 \
cairo>=1.12.16_1,2:${PORTSDIR}/graphics/cairo \
soundtouch>=1.8.0:${PORTSDIR}/audio/soundtouch \
@@ -22,7 +22,7 @@ BUILD_DEPENDS= nspr>=4.10.6:${PORTSDIR}/devel/nspr \
libvorbis>=1.3.4:${PORTSDIR}/audio/libvorbis \
opus>=1.1:${PORTSDIR}/audio/opus \
libvpx>=1.3.0:${PORTSDIR}/multimedia/libvpx \
- sqlite3>=3.8.4.2:${PORTSDIR}/databases/sqlite3 \
+ sqlite3>=3.8.6:${PORTSDIR}/databases/sqlite3 \
${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \
v4l_compat>0:${PORTSDIR}/multimedia/v4l_compat \
zip:${PORTSDIR}/archivers/zip \
@@ -30,23 +30,17 @@ BUILD_DEPENDS= nspr>=4.10.6:${PORTSDIR}/devel/nspr \
LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l
-USE_AUTOTOOLS= autoconf213:env
-OBJDIR_BUILD= # in-tree build broken after bug 789837
USE_GECKO= gecko
CONFLICTS= firefox-esr-31.* firefox-esr-24.* firefox-esr-17.*
MOZ_PKGCONFIG_FILES= # empty
USE_MOZILLA= # empty
MOZILLA_NAME= Firefox
-WANT_GNOME= yes
USE_QT5= # empty
QT_NONSTANDARD= yes
-ALL_TARGET= default
-GNU_CONFIGURE= yes
USE_GL= gl
USES= dos2unix tar:bzip2
DOS2UNIX_FILES= media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp
-NO_MOZPKGINSTALL=yes
FIREFOX_ICON= ${MOZILLA}.png
FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png
@@ -54,28 +48,16 @@ MOZ_OPTIONS= --program-transform-name='s/firefox/${MOZILLA}/' \
--enable-application=browser \
--enable-official-branding
+OPTIONS_DEFAULT= GTK2
+
+OPTIONS_SINGLE+= TOOLKIT
+OPTIONS_SINGLE_TOOLKIT= GTK2 GTK3
+
.include "${.CURDIR}/../../www/firefox/Makefile.options"
.include <bsd.port.pre.mk>
WRKSRC:= ${WRKDIR}/mozilla-release
-# avoid clang 3.2/3.3 crash in js/src/jsgc.cpp on refillFreeList<(js::AllowGC)1>
-# To be removed when 9.2R goes EOL. http://llvm.org/PR15840
-.if ${ARCH} == i386 && ${CHOSEN_COMPILER_TYPE} == clang && ${COMPILER_VERSION:M3[23]}
-. if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS}
-BROKEN= Cannot build with OPTIMIZED_CFLAGS option due to \
- a ${CHOSEN_COMPILER_TYPE} bug: unset the option or \
- use FAVORITE_COMPILER=gcc in Makefile.local/make.conf
-# apply workaround only for -O2 or greater
-. elif ${CXXFLAGS:M-O*} && ! ${CXXFLAGS:M-O[01]}
-. if ${MACHINE_CPU:Msse2}
-CXXFLAGS+= -msse2
-. else
-CXXFLAGS+= -O1
-. endif
-. endif
-.endif
-
.if ${PORT_OPTIONS:MALSA}
RUN_DEPENDS+= alsa-lib>=1.0.27.2_1:${PORTSDIR}/audio/alsa-lib
.endif
@@ -84,6 +66,12 @@ RUN_DEPENDS+= alsa-lib>=1.0.27.2_1:${PORTSDIR}/audio/alsa-lib
RUN_DEPENDS+= gstreamer1-libav>=1.2.4_1:${PORTSDIR}/multimedia/gstreamer1-libav
.endif
+.if ${PORT_OPTIONS:MGTK3}
+BUILD_DEPENDS+= gtk3>=3.14.3:${PORTSDIR}/x11-toolkits/gtk30
+# XXX ports/195455
+RUN_DEPENDS+= adwaita-icon-theme>=3.14:${PORTSDIR}/x11-themes/adwaita-icon-theme
+.endif
+
post-extract:
@${SED} -e 's|@FIREFOX_ICON@|${FIREFOX_ICON}|' -e 's|@MOZILLA@|${MOZILLA}|' \
-e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|' \
diff --git a/www/firefox/distinfo b/www/firefox/distinfo
index a6126851c48a..51be1176a956 100644
--- a/www/firefox/distinfo
+++ b/www/firefox/distinfo
@@ -1,2 +1,2 @@
-SHA256 (firefox-33.0.source.tar.bz2) = 1018c2fae8c54c8a45f5a3ce348a2617a3f8039a789b09b7cfa5a27be069b229
-SIZE (firefox-33.0.source.tar.bz2) = 155177527
+SHA256 (firefox-34.0.5.source.tar.bz2) = 1680191ff7d4c465c0e6a5d7d6ff7a426f5bfa64f8d6d68a4bdfa9ac4ee459c8
+SIZE (firefox-34.0.5.source.tar.bz2) = 164333716
diff --git a/www/firefox/files/patch-bug1021761 b/www/firefox/files/patch-bug1021761
index cf179649803d..e8721fa8806f 100644
--- a/www/firefox/files/patch-bug1021761
+++ b/www/firefox/files/patch-bug1021761
@@ -235,12 +235,12 @@ index a962553..1f780f4 100644
assert(p);
pthread_mutex_unlock(&stm->mutex);
-@@ -313,10 +360,10 @@ alsa_refill_stream(cubeb_stream * stm)
- return ERROR;
- }
- if (got > 0) {
-- snd_pcm_sframes_t wrote = snd_pcm_writei(stm->pcm, p, got);
-+ snd_pcm_sframes_t wrote = WRAP(snd_pcm_writei)(stm->pcm, p, got);
+@@ -327,10 +374,10 @@ alsa_refill_stream(cubeb_stream * stm)
+ b[i] *= stm->volume;
+ }
+ }
+- wrote = snd_pcm_writei(stm->pcm, p, got);
++ wrote = WRAP(snd_pcm_writei)(stm->pcm, p, got);
if (wrote == -EPIPE) {
- snd_pcm_recover(stm->pcm, wrote, 1);
- wrote = snd_pcm_writei(stm->pcm, p, got);
@@ -660,7 +660,7 @@ new file mode 100644
index 0000000..5e38e27
--- /dev/null
+++ media/libcubeb/src/cubeb_oss.c
-@@ -0,0 +1,399 @@
+@@ -0,0 +1,404 @@
+/*
+ * Copyright © 2014 Mozilla Foundation
+ *
@@ -1058,7 +1058,12 @@ index 0000000..5e38e27
+ .stream_start = oss_stream_start,
+ .stream_stop = oss_stream_stop,
+ .stream_get_position = oss_stream_get_position,
-+ .stream_get_latency = oss_stream_get_latency
++ .stream_get_latency = oss_stream_get_latency,
++ .stream_set_volume = oss_stream_set_volume,
++ .stream_set_panning = oss_stream_set_panning,
++ .stream_get_current_device = NULL,
++ .stream_device_destroy = NULL,
++ .stream_register_device_changed_callback = NULL
+};
diff --git media/libcubeb/src/moz.build media/libcubeb/src/moz.build
index 8b7a0dd..31212ce 100644
@@ -1084,18 +1089,17 @@ index 8b7a0dd..31212ce 100644
+CFLAGS += CONFIG['MOZ_OSS_CFLAGS']
CFLAGS += CONFIG['MOZ_ALSA_CFLAGS']
CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS']
-diff --git toolkit/library/libxul.mk toolkit/library/libxul.mk
+diff --git toolkit/library/moz.build toolkit/library/moz.build
index e191f13..4fb268a 100644
---- toolkit/library/libxul.mk
-+++ toolkit/library/libxul.mk
-@@ -146,6 +146,10 @@ OS_LIBS += $(call EXPAND_LIBNAME,secur32
- endif
- endif
-
-+ifdef MOZ_OSS
-+EXTRA_DSO_LDOPTS += $(MOZ_OSS_LIBS)
-+endif
-+
- ifdef MOZ_ALSA
- EXTRA_DSO_LDOPTS += $(MOZ_ALSA_LIBS)
- endif
+--- toolkit/library/moz.build
++++ toolkit/library/moz.build
+@@ -239,6 +239,9 @@ if CONFIG['MOZ_NATIVE_LIBVPX']:
+ if not CONFIG['MOZ_TREE_PIXMAN']:
+ OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS']
+
++if CONFIG['MOZ_OSS']:
++ OS_LIBS += CONFIG['MOZ_OSS_LIBS']
++
+ if CONFIG['MOZ_ALSA']:
+ OS_LIBS += CONFIG['MOZ_ALSA_LIBS']
+
diff --git a/www/firefox/files/patch-bug1041381 b/www/firefox/files/patch-bug1041381
deleted file mode 100644
index ef90b7b00c3f..000000000000
--- a/www/firefox/files/patch-bug1041381
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git config/rules.mk config/rules.mk
-index 1dee8c3..4d67eda 100644
---- config/rules.mk
-+++ config/rules.mk
-@@ -822,6 +822,7 @@ endif
- ifdef DTRACE_PROBE_OBJ
- EXTRA_DEPS += $(DTRACE_PROBE_OBJ)
- OBJS += $(DTRACE_PROBE_OBJ)
-+EXCLUDED_OBJS += $(DTRACE_PROBE_OBJ)
- endif
-
- $(filter %.$(LIB_SUFFIX),$(LIBRARY)): $(OBJS) $(EXTRA_DEPS) $(GLOBAL_DEPS)
diff --git a/www/firefox/files/patch-bug1046224 b/www/firefox/files/patch-bug1046224
deleted file mode 100644
index 50d268f8fabe..000000000000
--- a/www/firefox/files/patch-bug1046224
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git configure.in configure.in
-index 1853029..559bd45 100644
---- configure.in
-+++ configure.in
-@@ -2651,7 +2651,7 @@ if test "$ac_cv_sockaddr_sa_len" = true ; then
- AC_DEFINE(HAVE_SA_LEN)
- fi
-
--AC_ARG_ENABLE(dtrace,
-+MOZ_ARG_ENABLE_BOOL(dtrace,
- [ --enable-dtrace build with dtrace support if available (default=no)],
- [enable_dtrace="yes"],)
- if test "x$enable_dtrace" = "xyes"; then
-diff --git js/src/configure.in js/src/configure.in
-index 134dfd3..682c1fb 100644
---- js/src/configure.in
-+++ js/src/configure.in
-@@ -2153,7 +2153,7 @@ dnl Quota support
- MOZ_CHECK_HEADERS(sys/quota.h)
- MOZ_CHECK_HEADERS(linux/quota.h)
-
--AC_ARG_ENABLE(dtrace,
-+MOZ_ARG_ENABLE_BOOL(dtrace,
- [ --enable-dtrace build with dtrace support if available (default=no)],
- [enable_dtrace="yes"],)
- if test "x$enable_dtrace" = "xyes"; then
diff --git a/www/firefox/files/patch-bug1076983 b/www/firefox/files/patch-bug1076983
deleted file mode 100644
index 182aadf58bf5..000000000000
--- a/www/firefox/files/patch-bug1076983
+++ /dev/null
@@ -1,45 +0,0 @@
-commit e10ee74
-Author: Martin Thomson <martin.thomson@gmail.com>
-Date: Tue Oct 14 17:17:35 2014 -0700
-
- Bug 1076983 - Disabling SSL 3.0 with pref
----
- netwerk/base/public/security-prefs.js | 2 +-
- security/manager/ssl/src/nsNSSComponent.cpp | 7 +++----
- 2 files changed, 4 insertions(+), 5 deletions(-)
-
-diff --git netwerk/base/public/security-prefs.js netwerk/base/public/security-prefs.js
-index 352552e..c12731b 100644
---- netwerk/base/public/security-prefs.js
-+++ netwerk/base/public/security-prefs.js
-@@ -2,7 +2,7 @@
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
--pref("security.tls.version.min", 0);
-+pref("security.tls.version.min", 1);
- pref("security.tls.version.max", 3);
-
- pref("security.ssl.allow_unrestricted_renego_everywhere__temporarily_available_pref", false);
-diff --git security/manager/ssl/src/nsNSSComponent.cpp security/manager/ssl/src/nsNSSComponent.cpp
-index 8cab67b..772959d 100644
---- security/manager/ssl/src/nsNSSComponent.cpp
-+++ security/manager/ssl/src/nsNSSComponent.cpp
-@@ -829,14 +829,13 @@ void nsNSSComponent::setValidationOptions(bool isInitialSetting,
- mDefaultCertVerifier = new SharedCertVerifier(odc, osc, ogc, pinningMode);
- }
-
--// Enable the TLS versions given in the prefs, defaulting to SSL 3.0 (min
--// version) and TLS 1.2 (max version) when the prefs aren't set or set to
--// invalid values.
-+// Enable the TLS versions given in the prefs, defaulting to TLS 1.0 (min) and
-+// TLS 1.2 (max) when the prefs aren't set or set to invalid values.
- nsresult
- nsNSSComponent::setEnabledTLSVersions()
- {
- // keep these values in sync with security-prefs.js
-- static const int32_t PSM_DEFAULT_MIN_TLS_VERSION = 0;
-+ static const int32_t PSM_DEFAULT_MIN_TLS_VERSION = 1;
- static const int32_t PSM_DEFAULT_MAX_TLS_VERSION = 3;
-
- int32_t minVersion = Preferences::GetInt("security.tls.version.min",
diff --git a/www/firefox/files/patch-bug1082199 b/www/firefox/files/patch-bug1082199
new file mode 100644
index 000000000000..a10356adaa5b
--- /dev/null
+++ b/www/firefox/files/patch-bug1082199
@@ -0,0 +1,26 @@
+commit 258ec90
+Author: Guilherme Goncalves <guilherme.p.gonc@gmail.com>
+Date: Fri Oct 17 15:55:00 2014 +0200
+
+ Bug 1082199 - Recompute stats in jemalloc_stats when using jemalloc3. r=glandium
+---
+ memory/build/mozjemalloc_compat.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git memory/build/mozjemalloc_compat.c memory/build/mozjemalloc_compat.c
+index 78bb13a..70265a7 100644
+--- memory/build/mozjemalloc_compat.c
++++ memory/build/mozjemalloc_compat.c
+@@ -68,6 +68,12 @@ jemalloc_stats_impl(jemalloc_stats_t *stats)
+ size_t active, allocated, mapped, page, pdirty;
+ size_t lg_chunk;
+
++ // Refresh jemalloc's stats by updating its epoch, see ctl_refresh in
++ // src/ctl.c
++ uint64_t epoch = 0;
++ size_t esz = sizeof(epoch);
++ int ret = je_(mallctl)("epoch", &epoch, &esz, &epoch, esz);
++
+ CTL_GET("arenas.narenas", narenas);
+ CTL_GET("arenas.page", page);
+ CTL_GET("stats.active", active);
diff --git a/www/firefox/files/patch-bug1097592 b/www/firefox/files/patch-bug1097592
new file mode 100644
index 000000000000..5c1833b60688
--- /dev/null
+++ b/www/firefox/files/patch-bug1097592
@@ -0,0 +1,41 @@
+commit a822f9a
+Author: Martin Stransky <stransky@redhat.com>
+Date: Fri Nov 14 06:32:00 2014 +0100
+
+ Bug 1097592 - Don't use PR_FindFunctionSymbolAndLibrary to avoid app freeze, r=karlt
+---
+ widget/gtk/mozgtk/mozgtk.c | 1 +
+ widget/gtk/nsWindow.cpp | 8 +-------
+ 2 files changed, 2 insertions(+), 7 deletions(-)
+
+diff --git widget/gtk/mozgtk/mozgtk.c widget/gtk/mozgtk/mozgtk.c
+index 11829d7..3b46759 100644
+--- widget/gtk/mozgtk/mozgtk.c
++++ widget/gtk/mozgtk/mozgtk.c
+@@ -121,6 +121,7 @@ STUB(gdk_x11_lookup_xdisplay)
+ STUB(gdk_x11_screen_get_xscreen)
+ STUB(gdk_x11_visual_get_xvisual)
+ STUB(gdk_x11_window_lookup_for_display)
++STUB(gdk_x11_window_set_user_time)
+ STUB(gdk_x11_xatom_to_atom)
+ STUB(gtk_accel_label_new)
+ STUB(gtk_alignment_get_type)
+diff --git widget/gtk/nsWindow.cpp widget/gtk/nsWindow.cpp
+index 26c333b..d462f13 100644
+--- widget/gtk/nsWindow.cpp
++++ widget/gtk/nsWindow.cpp
+@@ -1295,13 +1295,7 @@ SetUserTimeAndStartupIDForActivatedWindow(GtkWidget* aWindow)
+ }
+
+ if (sn_launchee_context_get_id_has_timestamp(ctx)) {
+- PRLibrary* gtkLibrary;
+- SetUserTimeFunc setUserTimeFunc = (SetUserTimeFunc)
+- PR_FindFunctionSymbolAndLibrary("gdk_x11_window_set_user_time", &gtkLibrary);
+- if (setUserTimeFunc) {
+- setUserTimeFunc(gdkWindow, sn_launchee_context_get_timestamp(ctx));
+- PR_UnloadLibrary(gtkLibrary);
+- }
++ gdk_x11_window_set_user_time(gdkWindow, sn_launchee_context_get_timestamp(ctx));
+ }
+
+ sn_launchee_context_setup_window(ctx, gdk_x11_window_get_xid(gdkWindow));
diff --git a/www/firefox/files/patch-bug1103858 b/www/firefox/files/patch-bug1103858
new file mode 100644
index 000000000000..16cfd9973a86
--- /dev/null
+++ b/www/firefox/files/patch-bug1103858
@@ -0,0 +1,42 @@
+diff --git configure.in configure.in
+index b2b45e7..dcfdfb7 100644
+--- configure.in
++++ configure.in
+@@ -8346,7 +8346,7 @@ case "$OS_TARGET" in
+ NECKO_WIFI=1
+ fi
+ ;;
+- Darwin|FreeBSD|SunOS|WINNT)
++ Darwin|DragonFly|FreeBSD|SunOS|WINNT)
+ NECKO_WIFI=1
+ ;;
+ Linux)
+diff --git netwerk/wifi/moz.build netwerk/wifi/moz.build
+index d4de063..3949380 100644
+--- netwerk/wifi/moz.build
++++ netwerk/wifi/moz.build
+@@ -35,7 +35,7 @@ if CONFIG['OS_ARCH'] == 'Darwin':
+ UNIFIED_SOURCES += [
+ 'osx_corewlan.mm',
+ ]
+-elif CONFIG['OS_ARCH'] == 'FreeBSD':
++elif CONFIG['OS_ARCH'] in ('DragonFly', 'FreeBSD'):
+ UNIFIED_SOURCES += [
+ 'nsWifiScannerFreeBSD.cpp',
+ ]
+diff --git netwerk/wifi/nsWifiScannerFreeBSD.cpp netwerk/wifi/nsWifiScannerFreeBSD.cpp
+index bdf171e..4185d69 100644
+--- netwerk/wifi/nsWifiScannerFreeBSD.cpp
++++ netwerk/wifi/nsWifiScannerFreeBSD.cpp
+@@ -13,7 +13,11 @@
+ #include <sys/socket.h>
+ #include <net/if.h>
+ #include <net/if_media.h>
++#ifdef __DragonFly__
++#include <netproto/802_11/ieee80211_ioctl.h>
++#else
+ #include <net80211/ieee80211_ioctl.h>
++#endif
+
+ #include <ifaddrs.h>
+ #include <string.h>
diff --git a/www/firefox/files/patch-bug702179 b/www/firefox/files/patch-bug702179
index d7b90a082519..d1aa293d2237 100644
--- a/www/firefox/files/patch-bug702179
+++ b/www/firefox/files/patch-bug702179
@@ -4,33 +4,21 @@ Date: Wed Nov 30 07:23:46 2011 +0800
Bug 702179 dtrace probes are not installed on Solaris with static js lib r=glandium
---
- configure.in | 2 +-
- js/src/Makefile.in | 2 --
- 2 files changed, 1 insertion(+), 3 deletions(-)
+ js/src/Makefile.in | 3 ---
+ toolkit/library/moz.build | 5 -----
+ 2 files changed, 8 deletions(-)
-diff --git configure.in configure.in
-index 66549c1..75b848d 100644
---- configure.in
-+++ configure.in
-@@ -966,7 +966,7 @@ MOZ_BZ2_LIBS='$(call EXPAND_LIBNAME_PATH,bz2,$(DEPTH)/modules/libbz2/src)'
- MOZ_PNG_CFLAGS="-I$_objdir/dist/include" # needed for freetype compilation
- MOZ_PNG_LIBS='$(call EXPAND_LIBNAME_PATH,mozpng,$(DEPTH)/media/libpng)'
-
--MOZ_JS_STATIC_LIBS='$(call EXPAND_LIBNAME_PATH,js_static,$(LIBXUL_DIST)/lib)'
-+MOZ_JS_STATIC_LIBS='$(call EXPAND_LIBNAME_PATH,js_static,$(DEPTH)/js/src)'
- MOZ_JS_SHARED_LIBS='$(call EXPAND_LIBNAME_PATH,mozjs,$(LIBXUL_DIST)/lib)'
- MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(prefix)/lib'
- XPCOM_FROZEN_LDOPTS='$(call EXPAND_LIBNAME_PATH,xul mozalloc,$(LIBXUL_DIST)/bin)'
diff --git js/src/Makefile.in js/src/Makefile.in
-index e28160a..28ca5e8 100644
+index 62bbfa0..90400cb 100644
--- js/src/Makefile.in
+++ js/src/Makefile.in
-@@ -18,8 +18,6 @@ run_for_side_effects := $(shell echo 'MAKE: $(MAKE)')
- STATIC_LIBRARY_NAME = js_static
- LIBS = $(NSPR_LIBS)
+@@ -17,9 +17,6 @@ TOPLEVEL_BUILD := 1
+ run_for_side_effects := $(shell echo 'MAKE: $(MAKE)')
+ EXTRA_LIBS += $(NSPR_LIBS)
-DIST_INSTALL = 1
+-NO_EXPAND_LIBS = 1
-
- ifdef JS_STANDALONE
- SHARED_LIBRARY_LIBS += $(call EXPAND_LIBNAME_PATH,mfbt,$(DEPTH)/mfbt)
- ifndef MOZ_NATIVE_ZLIB
+ ifdef JS_HAS_CTYPES
+ ifdef MOZ_NATIVE_FFI
+ LOCAL_INCLUDES = $(MOZ_FFI_CFLAGS)
diff --git a/www/firefox/files/patch-bug826985 b/www/firefox/files/patch-bug826985
index 4e20ff41d658..f75339d98a6b 100644
--- a/www/firefox/files/patch-bug826985
+++ b/www/firefox/files/patch-bug826985
@@ -38,18 +38,18 @@ index b483cd1..f1dd1f0 100644
# basic stuff for everything
'include_internal_video_render': 0,
'clang_use_chrome_plugins': 0,
-diff --git media/webrtc/signaling/test/Makefile.in media/webrtc/signaling/test/Makefile.in
+diff --git media/webrtc/signaling/test/moz.build media/webrtc/signaling/test/moz.build
index b483cd1..f1dd1f0 100644
---- media/webrtc/signaling/test/Makefile.in
-+++ media/webrtc/signaling/test/Makefile.in
-@@ -7,6 +7,7 @@ LIBS = \
- $(NSPR_LIBS) \
- $(NSS_LIBS) \
- $(REALTIME_LIBS) \
-+ $(MOZ_LIBV4L2_LIBS) \
- $(DEPTH)/xpcom/glue/$(LIB_PREFIX)xpcomglue_s.$(LIB_SUFFIX) \
- $(DEPTH)/media/mtransport/standalone/$(LIB_PREFIX)mtransport_s.$(LIB_SUFFIX) \
- $(DEPTH)/media/webrtc/signalingtest/signaling_ecc/$(LIB_PREFIX)ecc.$(LIB_SUFFIX) \
+--- media/webrtc/signaling/test/moz.build
++++ media/webrtc/signaling/test/moz.build
+@@ -122,6 +122,7 @@ if CONFIG['JS_SHARED_LIBRARY']:
+ 'js',
+ ]
+
++OS_LIBS += CONFIG['MOZ_LIBV4L2_LIBS']
+ OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS']
+ OS_LIBS += CONFIG['REALTIME_LIBS']
+
diff --git media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc
index 239a292..bab496c 100644
--- media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc
@@ -152,18 +152,15 @@ index d46b5aa..e452223 100644
}], # linux
['OS=="mac"', {
'sources': [
-diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in
+diff --git toolkit/library/moz.build toolkit/library/moz.build
index 9c16ffa..1db3794 100644
---- toolkit/library/libxul.mk
-+++ toolkit/library/libxul.mk
-@@ -182,6 +182,10 @@ endif
+--- toolkit/library/moz.build
++++ toolkit/library/moz.build
+@@ -163,6 +163,7 @@ if CONFIG['OS_ARCH'] == 'Linux' and CONF
+ ]
- EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,gkmedias,$(DIST)/lib)
+ OS_LIBS += CONFIG['MOZ_CAIRO_OSLIBS']
++OS_LIBS += CONFIG['MOZ_LIBV4L2_LIBS']
+ OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS']
+ OS_LIBS += CONFIG['MOZ_APP_EXTRA_LIBS']
-+ifdef MOZ_LIBV4L2_LIBS
-+EXTRA_DSO_LDOPTS += $(MOZ_LIBV4L2_LIBS)
-+endif
-+
- ifdef MOZ_WEBRTC
- ifeq (WINNT,$(OS_TARGET))
- EXTRA_DSO_LDOPTS += \
diff --git a/www/firefox/files/patch-bug847568 b/www/firefox/files/patch-bug847568
index a065b937eae9..698ee2c498fc 100644
--- a/www/firefox/files/patch-bug847568
+++ b/www/firefox/files/patch-bug847568
@@ -4,7 +4,7 @@ diff --git config/Makefile.in config/Makefile.in
index 14bfc0d..5383399 100644
--- config/Makefile.in
+++ config/Makefile.in
-@@ -77,6 +77,8 @@ export:: $(export-preqs)
+@@ -75,6 +75,8 @@ export:: $(export-preqs)
-DMOZ_NATIVE_LIBEVENT=$(MOZ_NATIVE_LIBEVENT) \
-DMOZ_NATIVE_LIBVPX=$(MOZ_NATIVE_LIBVPX) \
-DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \
@@ -17,7 +17,7 @@ diff --git config/system-headers config/system-headers
index 18e8703..bdc5f82 100644
--- config/system-headers
+++ config/system-headers
-@@ -1145,3 +1145,11 @@ unicode/utypes.h
+@@ -1357,3 +1357,11 @@ unicode/utypes.h
#endif
libutil.h
unwind.h
@@ -33,7 +33,7 @@ diff --git configure.in configure.in
index ac38f40..87536b7 100644
--- configure.in
+++ configure.in
-@@ -8032,6 +8032,52 @@ if test "$USE_FC_FREETYPE"; then
+@@ -7986,6 +7986,49 @@ if test "$USE_FC_FREETYPE"; then
fi
dnl ========================================================
@@ -50,12 +50,11 @@ index ac38f40..87536b7 100644
+fi
+
+AC_SUBST(MOZ_NATIVE_HARFBUZZ)
-+AC_SUBST(MOZ_HARFBUZZ_CFLAGS)
-+AC_SUBST(MOZ_HARFBUZZ_LIBS)
+
+dnl ========================================================
+dnl Check for graphite2
+dnl ========================================================
++
+MOZ_ARG_WITH_BOOL(system-graphite2,
+[ --with-system-graphite2 Use system graphite2 (located with pkgconfig)],
+MOZ_NATIVE_GRAPHITE2=1,
@@ -79,27 +78,58 @@ index ac38f40..87536b7 100644
+fi
+
+AC_SUBST(MOZ_NATIVE_GRAPHITE2)
-+AC_SUBST(MOZ_GRAPHITE2_CFLAGS)
-+AC_SUBST(MOZ_GRAPHITE2_LIBS)
+
+dnl ========================================================
dnl Check for pixman and cairo
dnl ========================================================
diff --git content/base/src/moz.build content/base/src/moz.build
-index d4f6380..0ee55df 100644
+index a660ba4..6b2f602 100644
--- content/base/src/moz.build
+++ content/base/src/moz.build
-@@ -179,6 +179,9 @@ SOURCES += [
+@@ -196,6 +196,9 @@ SOURCES += [
'nsObjectLoadingContent.cpp',
]
+if CONFIG['MOZ_NATIVE_HARFBUZZ']:
-+ SOURCES['nsContentUtils.cpp'].flags += [CONFIG['MOZ_HARFBUZZ_CFLAGS']]
++ SOURCES['nsContentUtils.cpp'].flags += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
EXTRA_COMPONENTS += [
'contentAreaDropListener.js',
'contentAreaDropListener.manifest',
+diff --git gfx/graphite2/moz-gr-update.sh gfx/graphite2/moz-gr-update.sh
+index f3d76ea..a9e7fb6 100644
+--- gfx/graphite2/moz-gr-update.sh
++++ gfx/graphite2/moz-gr-update.sh
+@@ -23,8 +23,14 @@ echo "\nSee" $0 "for update procedure.\n" >> gfx/graphite2/README.mozilla
+ find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
+ find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
+
++# closest tag/release to require for system version
++TAG=$(cd ../graphitedev/ && hg parents --template {latesttag})
++
++perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$TAG/ and tr/./,/ \
++ if /GR2_VERSION_REQUIRE/" configure.in
++
+ # summarize what's been touched
+-echo Updated to $CHANGESET.
++echo Updated to $CHANGESET \($TAG for --with-system-graphite2\)
+ echo Here is what changed in the gfx/graphite2 directory:
+ echo
+
+diff --git gfx/harfbuzz/README-mozilla gfx/harfbuzz/README-mozilla
+index ca57d16..1ce21fe 100644
+--- gfx/harfbuzz/README-mozilla
++++ gfx/harfbuzz/README-mozilla
+@@ -21,3 +21,8 @@ In addition, the src/Makefile.in file here is NOT from upstream, nor is it
+ generated from src/Makefile.am (the original harfbuzz version); it is a mozilla-
+ specific makefile that is maintained by hand. It should only need updating when
+ new source files or exported headers are added in harfbuzz.
++
++The in-tree copy may be omitted during build by --with-system-harfbuzz.
++Make sure to keep pkg-config version check within configure.in in sync
++with checkout version or increment latest tag by one if it's not based
++on upstream release.
diff --git gfx/moz.build gfx/moz.build
index 519aa46..6929751 100644
--- gfx/moz.build
@@ -126,83 +156,87 @@ index 519aa46..6929751 100644
'ots/src',
'thebes',
'ipc',
-diff --git gfx/skia/Makefile.in gfx/skia/Makefile.in
-index ee0efb2..98e169d6f 100644
---- gfx/skia/Makefile.in
-+++ gfx/skia/Makefile.in
-@@ -15,6 +15,10 @@ ifeq (qt,$(MOZ_WIDGET_TOOLKIT))
- OS_CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PANGO_CFLAGS) $(CAIRO_FT_CFLAGS)
- endif
+diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py
+index 28fa6b5..240dced 100755
+--- gfx/skia/generate_mozbuild.py
++++ gfx/skia/generate_mozbuild.py
+@@ -140,6 +140,9 @@ if CONFIG['GNU_CXX']:
+ if not CONFIG['CLANG_CXX']:
+ CXXFLAGS += ['-Wno-logical-op']
-+ifdef MOZ_NATIVE_HARFBUZZ
-+OS_CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
-+endif
-+
- include $(topsrcdir)/config/rules.mk
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk', 'qt'):
+ CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
+ CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
+diff --git gfx/skia/moz.build gfx/skia/moz.build
+index 1d0c2f9..adb8941 100644
+--- gfx/skia/moz.build
++++ gfx/skia/moz.build
+@@ -968,6 +968,9 @@ if CONFIG['GNU_CXX']:
+ if not CONFIG['CLANG_CXX']:
+ CXXFLAGS += ['-Wno-logical-op']
- ifeq ($(CPU_ARCH)_$(GNU_CC),arm_1)
-diff --git gfx/thebes/Makefile.in gfx/thebes/Makefile.in
-index 45c36ae..79d32cf 100644
---- gfx/thebes/Makefile.in
-+++ gfx/thebes/Makefile.in
-@@ -13,6 +13,14 @@ DEFINES := $(filter-out -DUNICODE,$(DEFINES))
- CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
- CFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk', 'qt'):
+ CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
+ CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
+diff --git gfx/thebes/moz.build gfx/thebes/moz.build
+index d5852fa..aeeab25 100644
+--- gfx/thebes/moz.build
++++ gfx/thebes/moz.build
+@@ -278,6 +278,12 @@ CXXFLAGS += CONFIG['TK_CFLAGS']
+ CFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
+ CFLAGS += CONFIG['TK_CFLAGS']
-+ifdef MOZ_NATIVE_GRAPHITE2
-+CXXFLAGS += $(MOZ_GRAPHITE2_CFLAGS)
-+endif
-+
-+ifdef MOZ_NATIVE_HARFBUZZ
-+CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
-+endif
-+
- ifeq ($(MOZ_WIDGET_TOOLKIT),android)
- CXXFLAGS += $(CAIRO_FT_CFLAGS)
- endif
-diff --git intl/unicharutil/util/Makefile.in intl/unicharutil/util/Makefile.in
-index f6b9f7c..60863f4 100644
---- intl/unicharutil/util/Makefile.in
-+++ intl/unicharutil/util/Makefile.in
-@@ -15,3 +15,7 @@ include $(topsrcdir)/config/rules.mk
- ifdef ENABLE_INTL_API
- LOCAL_INCLUDES += $(MOZ_ICU_CFLAGS)
- endif
-+
-+ifdef MOZ_NATIVE_HARFBUZZ
-+CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
-+endif
-diff --git netwerk/dns/Makefile.in netwerk/dns/Makefile.in
-index 1cacbd7..f5d72bb 100644
---- netwerk/dns/Makefile.in
-+++ netwerk/dns/Makefile.in
-@@ -5,6 +5,10 @@
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_GRAPHITE2']:
++ CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS']
++
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android', 'gonk', 'qt'):
+ CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
- include $(topsrcdir)/config/rules.mk
+diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build
+index d736943..41a931f 100644
+--- intl/unicharutil/util/moz.build
++++ intl/unicharutil/util/moz.build
+@@ -37,3 +37,6 @@ if CONFIG['_MSC_VER']:
-+ifdef MOZ_NATIVE_HARFBUZZ
-+CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
-+endif
-+
- # Generate the include file containing compact, static definitions
- # for effective TLD data.
- etld_data.inc: $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat
-diff --git toolkit/library/libxul.mk toolkit/library/libxul.mk
+ if CONFIG['ENABLE_INTL_API']:
+ CXXFLAGS += CONFIG['MOZ_ICU_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+diff --git netwerk/dns/moz.build netwerk/dns/moz.build
+index 0b0717a..2e665c9 100644
+--- netwerk/dns/moz.build
++++ netwerk/dns/moz.build
+@@ -63,3 +63,6 @@ GENERATED_FILES = [
+ LOCAL_INCLUDES += [
+ '../base/src',
+ ]
++
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+diff --git toolkit/library/moz.build toolkit/library/moz.build
index 67f0db9..d42137a 100644
---- toolkit/library/libxul.mk
-+++ toolkit/library/libxul.mk
-@@ -89,6 +89,14 @@ ifndef MOZ_TREE_PIXMAN
- EXTRA_DSO_LDOPTS += $(MOZ_PIXMAN_LIBS)
- endif
+--- toolkit/library/moz.build
++++ toolkit/library/moz.build
+@@ -187,6 +187,12 @@ if CONFIG['MOZ_NATIVE_LIBVPX']:
+ if not CONFIG['MOZ_TREE_PIXMAN']:
+ OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS']
-+ifdef MOZ_NATIVE_GRAPHITE2
-+EXTRA_DSO_LDOPTS += $(MOZ_GRAPHITE2_LIBS)
-+endif
++if CONFIG['MOZ_NATIVE_GRAPHITE2']:
++ OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS']
+
-+ifdef MOZ_NATIVE_HARFBUZZ
-+EXTRA_DSO_LDOPTS += $(MOZ_HARFBUZZ_LIBS)
-+endif
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++ OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
+
- ifdef MOZ_DMD
- EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,dmd,$(DIST)/lib)
- endif
+ if CONFIG['MOZ_ALSA']:
+ OS_LIBS += CONFIG['MOZ_ALSA_LIBS']
+
diff --git a/www/firefox/files/patch-bug858919 b/www/firefox/files/patch-bug858919
new file mode 100644
index 000000000000..e1c38b9ec51e
--- /dev/null
+++ b/www/firefox/files/patch-bug858919
@@ -0,0 +1,394 @@
+commit a33d4f7
+Author: Martin Stransky <stransky@redhat.com>
+Date: Fri Nov 14 04:04:00 2014 +0100
+
+ Bug 858919 - Add support for libnotify calls which was removed for new notification API. r=karlt
+---
+ toolkit/components/alerts/nsAlertsService.cpp | 10 +--
+ toolkit/system/gnome/moz.build | 2 +
+ toolkit/system/gnome/nsAlertsIconListener.cpp | 64 ++++++++++++------
+ toolkit/system/gnome/nsAlertsIconListener.h | 89 ++++++++++++++++++++++++++
+ toolkit/system/gnome/nsGnomeModule.cpp | 5 ++
+ toolkit/system/gnome/nsSystemAlertsService.cpp | 54 ++++++++++++++++
+ toolkit/system/gnome/nsSystemAlertsService.h | 27 ++++++++
+ 7 files changed, 226 insertions(+), 25 deletions(-)
+
+diff --git toolkit/components/alerts/nsAlertsService.cpp toolkit/components/alerts/nsAlertsService.cpp
+index 93f4536..f8b5e07 100644
+--- toolkit/components/alerts/nsAlertsService.cpp
++++ toolkit/components/alerts/nsAlertsService.cpp
+@@ -100,10 +100,12 @@ NS_IMETHODIMP nsAlertsService::ShowAlertNotification(const nsAString & aImageUrl
+ nsCOMPtr<nsIAlertsService> sysAlerts(do_GetService(NS_SYSTEMALERTSERVICE_CONTRACTID));
+ nsresult rv;
+ if (sysAlerts) {
+- return sysAlerts->ShowAlertNotification(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable,
+- aAlertCookie, aAlertListener, aAlertName,
+- aBidi, aLang, aData,
+- IPC::Principal(aPrincipal));
++ rv = sysAlerts->ShowAlertNotification(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable,
++ aAlertCookie, aAlertListener, aAlertName,
++ aBidi, aLang, aData,
++ IPC::Principal(aPrincipal));
++ if (NS_SUCCEEDED(rv))
++ return NS_OK;
+ }
+
+ if (!ShouldShowAlert()) {
+diff --git toolkit/system/gnome/moz.build toolkit/system/gnome/moz.build
+index c033f8b..9242209 100644
+--- toolkit/system/gnome/moz.build
++++ toolkit/system/gnome/moz.build
+@@ -5,7 +5,9 @@
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ SOURCES += [
++ 'nsAlertsIconListener.cpp',
+ 'nsGnomeModule.cpp',
++ 'nsSystemAlertsService.cpp',
+ ]
+
+ if CONFIG['MOZ_ENABLE_GCONF']:
+diff --git toolkit/system/gnome/nsAlertsIconListener.cpp toolkit/system/gnome/nsAlertsIconListener.cpp
+index f39335e..55f4356 100644
+--- toolkit/system/gnome/nsAlertsIconListener.cpp
++++ toolkit/system/gnome/nsAlertsIconListener.cpp
+@@ -51,6 +51,21 @@ static void notify_closed_marshal(GClosure* closure,
+ NS_RELEASE(alert);
+ }
+
++static GdkPixbuf*
++GetPixbufFromImgRequest(imgIRequest* aRequest)
++{
++ nsCOMPtr<imgIContainer> image;
++ nsresult rv = aRequest->GetImage(getter_AddRefs(image));
++ if (NS_FAILED(rv)) {
++ return nullptr;
++ }
++
++ nsCOMPtr<nsIImageToPixbuf> imgToPixbuf =
++ do_GetService("@mozilla.org/widget/image-to-gdk-pixbuf;1");
++
++ return imgToPixbuf->ConvertImageToPixbuf(image);
++}
++
+ NS_IMPL_ISUPPORTS(nsAlertsIconListener, imgINotificationObserver,
+ nsIObserver, nsISupportsWeakReference)
+
+@@ -106,47 +121,45 @@ nsAlertsIconListener::Notify(imgIRequest *aRequest, int32_t aType, const nsIntRe
+ nsresult
+ nsAlertsIconListener::OnStopRequest(imgIRequest* aRequest)
+ {
++ NS_ASSERTION(mIconRequest == aRequest, "aRequest does not match!");
++
+ uint32_t imgStatus = imgIRequest::STATUS_ERROR;
+ nsresult rv = aRequest->GetImageStatus(&imgStatus);
+ NS_ENSURE_SUCCESS(rv, rv);
+ if (imgStatus == imgIRequest::STATUS_ERROR && !mLoadedFrame) {
+ // We have an error getting the image. Display the notification with no icon.
+ ShowAlert(nullptr);
+- }
+
+- if (mIconRequest) {
++ // Cancel any pending request
+ mIconRequest->Cancel(NS_BINDING_ABORTED);
+ mIconRequest = nullptr;
+ }
++
+ return NS_OK;
+ }
+
+ nsresult
+ nsAlertsIconListener::OnStopFrame(imgIRequest* aRequest)
+ {
+- if (aRequest != mIconRequest)
+- return NS_ERROR_FAILURE;
++ NS_ASSERTION(mIconRequest == aRequest, "aRequest does not match!");
+
+ if (mLoadedFrame)
+ return NS_OK; // only use one frame
+
+- nsCOMPtr<imgIContainer> image;
+- nsresult rv = aRequest->GetImage(getter_AddRefs(image));
+- if (NS_FAILED(rv))
+- return rv;
+-
+- nsCOMPtr<nsIImageToPixbuf> imgToPixbuf =
+- do_GetService("@mozilla.org/widget/image-to-gdk-pixbuf;1");
+-
+- GdkPixbuf* imagePixbuf = imgToPixbuf->ConvertImageToPixbuf(image);
+- if (!imagePixbuf)
+- return NS_ERROR_FAILURE;
++ GdkPixbuf* imagePixbuf = GetPixbufFromImgRequest(aRequest);
++ if (!imagePixbuf) {
++ ShowAlert(nullptr);
++ } else {
++ ShowAlert(imagePixbuf);
++ g_object_unref(imagePixbuf);
++ }
+
+- ShowAlert(imagePixbuf);
++ mLoadedFrame = true;
+
+- g_object_unref(imagePixbuf);
++ // Cancel any pending request (multipart image loading/decoding for instance)
++ mIconRequest->Cancel(NS_BINDING_ABORTED);
++ mIconRequest = nullptr;
+
+- mLoadedFrame = true;
+ return NS_OK;
+ }
+
+@@ -180,6 +193,9 @@ nsAlertsIconListener::ShowAlert(GdkPixbuf* aPixbuf)
+ mClosureHandler = g_signal_connect_closure(mNotification, "closed", closure, FALSE);
+ gboolean result = notify_notification_show(mNotification, nullptr);
+
++ if (result && mAlertListener)
++ mAlertListener->Observe(nullptr, "alertshow", mAlertCookie.get());
++
+ return result ? NS_OK : NS_ERROR_FAILURE;
+ }
+
+@@ -201,9 +217,15 @@ nsAlertsIconListener::StartRequest(const nsAString & aImageUrl)
+ if (!il)
+ return ShowAlert(nullptr);
+
+- return il->LoadImageXPCOM(imageUri, nullptr, nullptr, nullptr, nullptr,
+- this, nullptr, nsIRequest::LOAD_NORMAL, nullptr,
+- nullptr, getter_AddRefs(mIconRequest));
++ nsresult rv = il->LoadImageXPCOM(imageUri, nullptr, nullptr, nullptr, nullptr,
++ this, nullptr, nsIRequest::LOAD_NORMAL, nullptr,
++ 0 /* use default */, getter_AddRefs(mIconRequest));
++ if (NS_FAILED(rv))
++ return rv;
++
++ mIconRequest->StartDecoding();
++
++ return NS_OK;
+ }
+
+ void
+diff --git toolkit/system/gnome/nsAlertsIconListener.h toolkit/system/gnome/nsAlertsIconListener.h
+new file mode 100644
+index 0000000..ac96db9
+--- /dev/null
++++ toolkit/system/gnome/nsAlertsIconListener.h
+@@ -0,0 +1,89 @@
++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
++/* This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++#ifndef nsAlertsIconListener_h__
++#define nsAlertsIconListener_h__
++
++#include "nsCOMPtr.h"
++#include "imgINotificationObserver.h"
++#include "nsStringAPI.h"
++#include "nsIObserver.h"
++#include "nsWeakReference.h"
++
++#include <gdk-pixbuf/gdk-pixbuf.h>
++
++class imgIRequest;
++
++struct NotifyNotification;
++
++class nsAlertsIconListener : public imgINotificationObserver,
++ public nsIObserver,
++ public nsSupportsWeakReference
++{
++public:
++ NS_DECL_ISUPPORTS
++ NS_DECL_IMGINOTIFICATIONOBSERVER
++ NS_DECL_NSIOBSERVER
++
++ nsAlertsIconListener();
++
++ nsresult InitAlertAsync(const nsAString & aImageUrl,
++ const nsAString & aAlertTitle,
++ const nsAString & aAlertText,
++ bool aAlertTextClickable,
++ const nsAString & aAlertCookie,
++ nsIObserver * aAlertListener);
++
++ void SendCallback();
++ void SendClosed();
++
++protected:
++ virtual ~nsAlertsIconListener();
++
++ nsresult OnStopRequest(imgIRequest* aRequest);
++ nsresult OnStopFrame(imgIRequest* aRequest);
++
++ /**
++ * The only difference between libnotify.so.4 and libnotify.so.1 for these symbols
++ * is that notify_notification_new takes three arguments in libnotify.so.4 and
++ * four in libnotify.so.1.
++ * Passing the fourth argument as NULL is binary compatible.
++ */
++ typedef void (*NotifyActionCallback)(NotifyNotification*, char*, gpointer);
++ typedef bool (*notify_is_initted_t)(void);
++ typedef bool (*notify_init_t)(const char*);
++ typedef GList* (*notify_get_server_caps_t)(void);
++ typedef NotifyNotification* (*notify_notification_new_t)(const char*, const char*, const char*, const char*);
++ typedef bool (*notify_notification_show_t)(void*, char*);
++ typedef void (*notify_notification_set_icon_from_pixbuf_t)(void*, GdkPixbuf*);
++ typedef void (*notify_notification_add_action_t)(void*, const char*, const char*, NotifyActionCallback, gpointer, GFreeFunc);
++
++ nsCOMPtr<imgIRequest> mIconRequest;
++ nsCString mAlertTitle;
++ nsCString mAlertText;
++
++ nsCOMPtr<nsIObserver> mAlertListener;
++ nsString mAlertCookie;
++
++ bool mLoadedFrame;
++ bool mAlertHasAction;
++
++ static void* libNotifyHandle;
++ static bool libNotifyNotAvail;
++ static notify_is_initted_t notify_is_initted;
++ static notify_init_t notify_init;
++ static notify_get_server_caps_t notify_get_server_caps;
++ static notify_notification_new_t notify_notification_new;
++ static notify_notification_show_t notify_notification_show;
++ static notify_notification_set_icon_from_pixbuf_t notify_notification_set_icon_from_pixbuf;
++ static notify_notification_add_action_t notify_notification_add_action;
++ NotifyNotification* mNotification;
++ gulong mClosureHandler;
++
++ nsresult StartRequest(const nsAString & aImageUrl);
++ nsresult ShowAlert(GdkPixbuf* aPixbuf);
++};
++
++#endif
+diff --git toolkit/system/gnome/nsGnomeModule.cpp toolkit/system/gnome/nsGnomeModule.cpp
+index 5ccc8e5..f893893 100644
+--- toolkit/system/gnome/nsGnomeModule.cpp
++++ toolkit/system/gnome/nsGnomeModule.cpp
+@@ -22,6 +22,8 @@ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGnomeVFSService, Init)
+ NS_GENERIC_FACTORY_CONSTRUCTOR(nsGIOService)
+ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGSettingsService, Init)
+ #endif
++#include "nsSystemAlertsService.h"
++NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsSystemAlertsService, Init)
+
+ #ifdef MOZ_ENABLE_GCONF
+ NS_DEFINE_NAMED_CID(NS_GCONFSERVICE_CID);
+@@ -33,6 +35,7 @@ NS_DEFINE_NAMED_CID(NS_GNOMEVFSSERVICE_CID);
+ NS_DEFINE_NAMED_CID(NS_GIOSERVICE_CID);
+ NS_DEFINE_NAMED_CID(NS_GSETTINGSSERVICE_CID);
+ #endif
++NS_DEFINE_NAMED_CID(NS_SYSTEMALERTSSERVICE_CID);
+
+ static const mozilla::Module::CIDEntry kGnomeCIDs[] = {
+ #ifdef MOZ_ENABLE_GCONF
+@@ -45,6 +48,7 @@ static const mozilla::Module::CIDEntry kGnomeCIDs[] = {
+ { &kNS_GIOSERVICE_CID, false, nullptr, nsGIOServiceConstructor },
+ { &kNS_GSETTINGSSERVICE_CID, false, nullptr, nsGSettingsServiceConstructor },
+ #endif
++ { &kNS_SYSTEMALERTSSERVICE_CID, false, nullptr, nsSystemAlertsServiceConstructor },
+ { nullptr }
+ };
+
+@@ -59,6 +63,7 @@ static const mozilla::Module::ContractIDEntry kGnomeContracts[] = {
+ { NS_GIOSERVICE_CONTRACTID, &kNS_GIOSERVICE_CID },
+ { NS_GSETTINGSSERVICE_CONTRACTID, &kNS_GSETTINGSSERVICE_CID },
+ #endif
++ { NS_SYSTEMALERTSERVICE_CONTRACTID, &kNS_SYSTEMALERTSSERVICE_CID },
+ { nullptr }
+ };
+
+diff --git toolkit/system/gnome/nsSystemAlertsService.cpp toolkit/system/gnome/nsSystemAlertsService.cpp
+new file mode 100644
+index 0000000..b91b402
+--- /dev/null
++++ toolkit/system/gnome/nsSystemAlertsService.cpp
+@@ -0,0 +1,54 @@
++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode:nil; c-basic-offset: 2 -*- */
++/* This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++#include "nsXULAppAPI.h"
++#include "nsSystemAlertsService.h"
++#include "nsAlertsIconListener.h"
++#include "nsAutoPtr.h"
++
++NS_IMPL_ADDREF(nsSystemAlertsService)
++NS_IMPL_RELEASE(nsSystemAlertsService)
++
++NS_INTERFACE_MAP_BEGIN(nsSystemAlertsService)
++ NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIAlertsService)
++ NS_INTERFACE_MAP_ENTRY(nsIAlertsService)
++NS_INTERFACE_MAP_END_THREADSAFE
++
++nsSystemAlertsService::nsSystemAlertsService()
++{
++}
++
++nsSystemAlertsService::~nsSystemAlertsService()
++{}
++
++nsresult
++nsSystemAlertsService::Init()
++{
++ return NS_OK;
++}
++
++NS_IMETHODIMP nsSystemAlertsService::ShowAlertNotification(const nsAString & aImageUrl, const nsAString & aAlertTitle,
++ const nsAString & aAlertText, bool aAlertTextClickable,
++ const nsAString & aAlertCookie,
++ nsIObserver * aAlertListener,
++ const nsAString & aAlertName,
++ const nsAString & aBidi,
++ const nsAString & aLang,
++ const nsAString & aData,
++ nsIPrincipal * aPrincipal)
++{
++ nsRefPtr<nsAlertsIconListener> alertListener = new nsAlertsIconListener();
++ if (!alertListener)
++ return NS_ERROR_OUT_OF_MEMORY;
++
++ return alertListener->InitAlertAsync(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable,
++ aAlertCookie, aAlertListener);
++}
++
++NS_IMETHODIMP nsSystemAlertsService::CloseAlert(const nsAString& aAlertName,
++ nsIPrincipal* aPrincipal)
++{
++ return NS_ERROR_NOT_IMPLEMENTED;
++}
+diff --git toolkit/system/gnome/nsSystemAlertsService.h toolkit/system/gnome/nsSystemAlertsService.h
+new file mode 100644
+index 0000000..b0bd625
+--- /dev/null
++++ toolkit/system/gnome/nsSystemAlertsService.h
+@@ -0,0 +1,27 @@
++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
++/* This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++#ifndef nsSystemAlertsService_h__
++#define nsSystemAlertsService_h__
++
++#include "nsIAlertsService.h"
++#include "nsCOMPtr.h"
++
++class nsSystemAlertsService : public nsIAlertsService
++{
++public:
++ NS_DECL_NSIALERTSSERVICE
++ NS_DECL_ISUPPORTS
++
++ nsSystemAlertsService();
++
++ nsresult Init();
++
++protected:
++ virtual ~nsSystemAlertsService();
++
++};
++
++#endif /* nsSystemAlertsService_h__ */
diff --git a/www/firefox/files/patch-bug877605 b/www/firefox/files/patch-bug877605
new file mode 100644
index 000000000000..fb1d5dbbcc12
--- /dev/null
+++ b/www/firefox/files/patch-bug877605
@@ -0,0 +1,305 @@
+commit d7cc508
+Author: Martin Stransky <stransky@redhat.com>
+Date: Thu Sep 4 05:17:00 2014 +0200
+
+ Bug 877605 - GTK3 - fixed tab widget rendering. r=karlt
+---
+ widget/gtk/gtk2drawing.c | 18 ++++++
+ widget/gtk/gtk3drawing.c | 121 ++++++++++++++++++++++++++++++----------
+ widget/gtk/gtkdrawing.h | 13 +++++
+ widget/gtk/nsNativeThemeGTK.cpp | 20 ++++---
+ 4 files changed, 136 insertions(+), 36 deletions(-)
+
+diff --git widget/gtk/gtk2drawing.c widget/gtk/gtk2drawing.c
+index 71e1929..290a17a 100644
+--- widget/gtk/gtk2drawing.c
++++ widget/gtk/gtk2drawing.c
+@@ -3013,6 +3013,24 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top,
+ }
+
+ gint
++moz_gtk_get_tab_border(gint* left, gint* top, gint* right, gint* bottom,
++ GtkTextDirection direction, GtkTabFlags flags)
++{
++ moz_gtk_get_widget_border(MOZ_GTK_TAB, left, top,
++ right, bottom, direction,
++ FALSE);
++
++ // Top tabs have no bottom border, bottom tabs have no top border
++ if (flags & MOZ_GTK_TAB_BOTTOM) {
++ *top = 0;
++ } else {
++ *bottom = 0;
++ }
++
++ return MOZ_GTK_SUCCESS;
++}
++
++gint
+ moz_gtk_get_combo_box_entry_button_size(gint* width, gint* height)
+ {
+ /*
+diff --git widget/gtk/gtk3drawing.c widget/gtk/gtk3drawing.c
+index 684650d..e9e21b1 100644
+--- widget/gtk/gtk3drawing.c
++++ widget/gtk/gtk3drawing.c
+@@ -2105,6 +2105,21 @@ moz_gtk_get_tab_thickness(void)
+ return border.top;
+ }
+
++static void
++moz_gtk_tab_prepare_style_context(GtkStyleContext *style,
++ GtkTabFlags flags)
++{
++ gtk_style_context_set_state(style, ((flags & MOZ_GTK_TAB_SELECTED) == 0) ?
++ GTK_STATE_FLAG_NORMAL :
++ GTK_STATE_FLAG_ACTIVE);
++ gtk_style_context_add_region(style, GTK_STYLE_REGION_TAB,
++ (flags & MOZ_GTK_TAB_FIRST) ?
++ GTK_REGION_FIRST : 0);
++ gtk_style_context_add_class(style, (flags & MOZ_GTK_TAB_BOTTOM) ?
++ GTK_STYLE_CLASS_BOTTOM :
++ GTK_STYLE_CLASS_TOP);
++}
++
+ /* actual small tabs */
+ static gint
+ moz_gtk_tab_paint(cairo_t *cr, GdkRectangle* rect,
+@@ -2117,22 +2132,35 @@ moz_gtk_tab_paint(cairo_t *cr, GdkRectangle* rect,
+ * tab appear physically attached to the tabpanel; see details below. */
+
+ GtkStyleContext* style;
++ GdkRectangle tabRect;
+ GdkRectangle focusRect;
+ GdkRectangle backRect;
++ int initial_gap = 0;
+
+ ensure_tab_widget();
+ gtk_widget_set_direction(gTabWidget, direction);
+
+ style = gtk_widget_get_style_context(gTabWidget);
+- backRect = focusRect = *rect;
+-
+ gtk_style_context_save(style);
++ moz_gtk_tab_prepare_style_context(style, flags);
++
++ tabRect = *rect;
++
++ if (flags & MOZ_GTK_TAB_FIRST) {
++ gtk_widget_style_get (gTabWidget, "initial-gap", &initial_gap, NULL);
++ tabRect.width -= initial_gap;
++
++ if (direction != GTK_TEXT_DIR_RTL) {
++ tabRect.x += initial_gap;
++ }
++ }
++
++ focusRect = backRect = tabRect;
+
+ if ((flags & MOZ_GTK_TAB_SELECTED) == 0) {
+ /* Only draw the tab */
+- gtk_style_context_set_state(style, GTK_STATE_FLAG_NORMAL);
+ gtk_render_extension(style, cr,
+- rect->x, rect->y, rect->width, rect->height,
++ tabRect.x, tabRect.y, tabRect.width, tabRect.height,
+ (flags & MOZ_GTK_TAB_BOTTOM) ?
+ GTK_POS_TOP : GTK_POS_BOTTOM );
+ } else {
+@@ -2186,24 +2214,19 @@ moz_gtk_tab_paint(cairo_t *cr, GdkRectangle* rect,
+ gap_loffset = gap_roffset = 20; /* should be enough */
+ if (flags & MOZ_GTK_TAB_FIRST) {
+ if (direction == GTK_TEXT_DIR_RTL)
+- gap_roffset = 0;
++ gap_roffset = initial_gap;
+ else
+- gap_loffset = 0;
++ gap_loffset = initial_gap;
+ }
+
+- gtk_style_context_set_state(style, GTK_STATE_FLAG_ACTIVE);
+-
+- /* Adwaita theme engine crashes without it (rhbz#713764) */
+- gtk_style_context_add_region(style, GTK_STYLE_REGION_TAB, 0);
+-
+ if (flags & MOZ_GTK_TAB_BOTTOM) {
+ /* Draw the tab on bottom */
+ focusRect.y += gap_voffset;
+ focusRect.height -= gap_voffset;
+
+ gtk_render_extension(style, cr,
+- rect->x, rect->y + gap_voffset, rect->width,
+- rect->height - gap_voffset, GTK_POS_TOP);
++ tabRect.x, tabRect.y + gap_voffset, tabRect.width,
++ tabRect.height - gap_voffset, GTK_POS_TOP);
+
+ gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB);
+
+@@ -2219,38 +2242,39 @@ moz_gtk_tab_paint(cairo_t *cr, GdkRectangle* rect,
+ cairo_clip(cr);
+
+ gtk_render_frame_gap(style, cr,
+- rect->x - gap_loffset,
+- rect->y + gap_voffset - 3 * gap_height,
+- rect->width + gap_loffset + gap_roffset,
++ tabRect.x - gap_loffset,
++ tabRect.y + gap_voffset - 3 * gap_height,
++ tabRect.width + gap_loffset + gap_roffset,
+ 3 * gap_height, GTK_POS_BOTTOM,
+- gap_loffset, gap_loffset + rect->width);
++ gap_loffset, gap_loffset + tabRect.width);
+ cairo_restore(cr);
+ } else {
+ /* Draw the tab on top */
+ focusRect.height -= gap_voffset;
+ gtk_render_extension(style, cr,
+- rect->x, rect->y, rect->width,
+- rect->height - gap_voffset, GTK_POS_BOTTOM);
++ tabRect.x, tabRect.y, tabRect.width,
++ tabRect.height - gap_voffset, GTK_POS_BOTTOM);
+
+ gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB);
+
+- backRect.y += (rect->height - gap_voffset);
++ backRect.y += (tabRect.height - gap_voffset);
+ backRect.height = gap_height;
+
+ /* Draw the gap; erase with background color before painting in
+ * case theme does not */
+ gtk_render_background(style, cr, backRect.x, backRect.y,
+ backRect.width, backRect.height);
++
+ cairo_save(cr);
+ cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height);
+ cairo_clip(cr);
+
+ gtk_render_frame_gap(style, cr,
+- rect->x - gap_loffset,
+- rect->y + rect->height - gap_voffset,
+- rect->width + gap_loffset + gap_roffset,
++ tabRect.x - gap_loffset,
++ tabRect.y + tabRect.height - gap_voffset,
++ tabRect.width + gap_loffset + gap_roffset,
+ 3 * gap_height, GTK_POS_TOP,
+- gap_loffset, gap_loffset + rect->width);
++ gap_loffset, gap_loffset + tabRect.width);
+ cairo_restore(cr);
+ }
+ }
+@@ -2885,10 +2909,6 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top,
+ left, top, right, bottom);
+ return MOZ_GTK_SUCCESS;
+ }
+- case MOZ_GTK_TAB:
+- ensure_tab_widget();
+- w = gTabWidget;
+- break;
+ /* These widgets have no borders, since they are not containers. */
+ case MOZ_GTK_SPLITTER_HORIZONTAL:
+ case MOZ_GTK_SPLITTER_VERTICAL:
+@@ -2932,6 +2952,51 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top,
+ }
+
+ gint
++moz_gtk_get_tab_border(gint* left, gint* top, gint* right, gint* bottom,
++ GtkTextDirection direction, GtkTabFlags flags)
++{
++ GtkStyleContext* style;
++ int tab_curvature;
++
++ ensure_tab_widget();
++
++ style = gtk_widget_get_style_context(gTabWidget);
++ gtk_style_context_save(style);
++ moz_gtk_tab_prepare_style_context(style, flags);
++
++ // TODO add_style_border() should be replaced
++ // with focus-line-width and focus-padding
++ // see Bug 877605
++ *left = *top = *right = *bottom = 0;
++ moz_gtk_add_style_border(style, left, top, right, bottom);
++ moz_gtk_add_style_padding(style, left, top, right, bottom);
++
++ gtk_widget_style_get (gTabWidget, "tab-curvature", &tab_curvature, NULL);
++ *left += tab_curvature;
++ *right += tab_curvature;
++
++ if (flags & MOZ_GTK_TAB_FIRST) {
++ int initial_gap;
++ gtk_widget_style_get (gTabWidget, "initial-gap", &initial_gap, NULL);
++ if (direction == GTK_TEXT_DIR_RTL)
++ *right += initial_gap;
++ else
++ *left += initial_gap;
++ }
++
++ // Top tabs have no bottom border, bottom tabs have no top border
++ if (flags & MOZ_GTK_TAB_BOTTOM) {
++ *top = 0;
++ } else {
++ *bottom = 0;
++ }
++
++ gtk_style_context_restore(style);
++
++ return MOZ_GTK_SUCCESS;
++}
++
++gint
+ moz_gtk_get_combo_box_entry_button_size(gint* width, gint* height)
+ {
+ /*
+diff --git widget/gtk/gtkdrawing.h widget/gtk/gtkdrawing.h
+index fb11105..1938e8f 100644
+--- widget/gtk/gtkdrawing.h
++++ widget/gtk/gtkdrawing.h
+@@ -259,6 +259,19 @@ gint moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top,
+ gboolean inhtml);
+
+ /**
++ * Get the border size of a notebook tab
++ * left/right: [OUT] the tab's left/right border
++ * top/bottom: [OUT] the tab's top/bottom border
++ * direction: the text direction for the widget
++ * flags: tab-dependant flags; see the GtkTabFlags definition.
++ *
++ * returns: MOZ_GTK_SUCCESS if there was no error, an error code otherwise
++ */
++gint
++moz_gtk_get_tab_border(gint* left, gint* top, gint* right, gint* bottom,
++ GtkTextDirection direction, GtkTabFlags flags);
++
++/**
+ * Get the desired size of a GtkCheckButton
+ * indicator_size: [OUT] the indicator size
+ * indicator_spacing: [OUT] the spacing between the indicator and its
+diff --git widget/gtk/nsNativeThemeGTK.cpp widget/gtk/nsNativeThemeGTK.cpp
+index 969fb0a..62018e5 100644
+--- widget/gtk/nsNativeThemeGTK.cpp
++++ widget/gtk/nsNativeThemeGTK.cpp
+@@ -940,14 +940,18 @@ nsNativeThemeGTK::GetWidgetBorder(nsDeviceContext* aContext, nsIFrame* aFrame,
+ // but don't reserve any space for it.
+ break;
+ case NS_THEME_TAB:
+- // Top tabs have no bottom border, bottom tabs have no top border
+- moz_gtk_get_widget_border(MOZ_GTK_TAB, &aResult->left, &aResult->top,
+- &aResult->right, &aResult->bottom, direction,
+- FALSE);
+- if (IsBottomTab(aFrame))
+- aResult->top = 0;
+- else
+- aResult->bottom = 0;
++ {
++ GtkThemeWidgetType gtkWidgetType;
++ gint flags;
++
++ if (!GetGtkWidgetAndState(aWidgetType, aFrame, gtkWidgetType, nullptr,
++ &flags))
++ return NS_OK;
++
++ moz_gtk_get_tab_border(&aResult->left, &aResult->top,
++ &aResult->right, &aResult->bottom, direction,
++ (GtkTabFlags)flags);
++ }
+ break;
+ case NS_THEME_MENUITEM:
+ case NS_THEME_CHECKMENUITEM:
diff --git a/www/firefox/files/patch-bug899126 b/www/firefox/files/patch-bug899126
new file mode 100644
index 000000000000..70a254c701b5
--- /dev/null
+++ b/www/firefox/files/patch-bug899126
@@ -0,0 +1,98 @@
+commit 0f63381
+Author: Guilherme Goncalves <guilherme.p.gonc@gmail.com>
+Date: Tue Nov 18 14:03:00 2014 -0800
+
+ Bug 899126 - Part 1 - Implement bin_unused for jemalloc3. r=glandium
+---
+ memory/build/mozjemalloc_compat.c | 57 ++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 56 insertions(+), 1 deletion(-)
+
+diff --git memory/build/mozjemalloc_compat.c memory/build/mozjemalloc_compat.c
+index 70265a7..0a9b21a 100644
+--- memory/build/mozjemalloc_compat.c
++++ memory/build/mozjemalloc_compat.c
+@@ -12,6 +12,8 @@
+ #include "jemalloc_types.h"
+ #include "mozilla/Types.h"
+
++#include <stdbool.h>
++
+ #if defined(MOZ_NATIVE_JEMALLOC)
+
+ MOZ_IMPORT_API int
+@@ -47,6 +49,16 @@ je_(nallocm)(size_t *rsize, size_t size, int flags);
+ je_(mallctlbymib)(mib, miblen, &v, &sz, NULL, 0); \
+ } while (0)
+
++#define CTL_IJ_GET(n, v, i, j) do { \
++ size_t mib[6]; \
++ size_t miblen = sizeof(mib) / sizeof(mib[0]); \
++ size_t sz = sizeof(v); \
++ je_(mallctlnametomib)(n, mib, &miblen); \
++ mib[2] = i; \
++ mib[4] = j; \
++ je_(mallctlbymib)(mib, miblen, &v, &sz, NULL, 0); \
++} while (0)
++
+ MOZ_MEMORY_API size_t
+ malloc_good_size_impl(size_t size)
+ {
+@@ -61,6 +73,48 @@ malloc_good_size_impl(size_t size)
+ return size;
+ }
+
++static size_t
++compute_bin_unused(unsigned int narenas)
++{
++ size_t bin_unused = 0;
++
++ uint32_t nregs; // number of regions per run in the j-th bin
++ size_t reg_size; // size of regions served by the j-th bin
++ size_t curruns; // number of runs belonging to a bin
++ size_t curregs; // number of allocated regions in a bin
++
++ unsigned int nbins; // number of bins per arena
++ unsigned int i, j;
++
++ // curruns and curregs are not defined for uninitialized arenas,
++ // so we skip them when computing bin_unused. However, initialized
++ // arenas are not guaranteed to be sequential, so we must test each
++ // one when iterating below.
++ bool initialized[100]; // should be narenas, but MSVC doesn't have VLAs
++ size_t isz = sizeof(initialized) / sizeof(initialized[0]);
++
++ je_(mallctl)("arenas.initialized", initialized, &isz, NULL, 0);
++ CTL_GET("arenas.nbins", nbins);
++
++ for (j = 0; j < nbins; j++) {
++ CTL_I_GET("arenas.bin.0.nregs", nregs, j);
++ CTL_I_GET("arenas.bin.0.size", reg_size, j);
++
++ for (i = 0; i < narenas; i++) {
++ if (!initialized[i]) {
++ continue;
++ }
++
++ CTL_IJ_GET("stats.arenas.0.bins.0.curruns", curruns, i, j);
++ CTL_IJ_GET("stats.arenas.0.bins.0.curregs", curregs, i, j);
++
++ bin_unused += (nregs * curruns - curregs) * reg_size;
++ }
++ }
++
++ return bin_unused;
++}
++
+ MOZ_JEMALLOC_API void
+ jemalloc_stats_impl(jemalloc_stats_t *stats)
+ {
+@@ -93,7 +147,8 @@ jemalloc_stats_impl(jemalloc_stats_t *stats)
+ // We could get this value out of base.c::base_pages, but that really should
+ // be an upstream change, so don't worry about it for now.
+ stats->bookkeeping = 0;
+- stats->bin_unused = 0;
++
++ stats->bin_unused = compute_bin_unused(narenas);
+ }
+
+ MOZ_JEMALLOC_API void
diff --git a/www/firefox/files/patch-duckduckgo b/www/firefox/files/patch-duckduckgo
deleted file mode 100644
index bc3a7e321f41..000000000000
--- a/www/firefox/files/patch-duckduckgo
+++ /dev/null
@@ -1,47 +0,0 @@
-diff -r f2fa4ae74ee1 browser/locales/en-US/chrome/browser-region/region.properties
---- browser/locales/en-US/chrome/browser-region/region.properties Mon Oct 24 22:54:18 2011 +0300
-+++ browser/locales/en-US/chrome/browser-region/region.properties Tue Oct 25 21:13:40 2011 -0400
-@@ -9,6 +9,7 @@
- browser.search.order.1=Google
- browser.search.order.2=Yahoo
- browser.search.order.3=Bing
-+browser.search.order.4=DuckDuckGo
-
- # This is the default set of web based feed handlers shown in the reader
- # selection UI
---- /dev/null 2013-02-09 00:33:00.000000000 +0100
-+++ browser/locales/en-US/searchplugins/duckduckgo.xml 2013-02-09 00:40:19.000000000 +0100
-@@ -0,0 +1,11 @@
-+<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
-+<ShortName>DuckDuckGo</ShortName>
-+<Description>We believe in better search and not tracking.</Description>
-+<InputEncoding>UTF-8</InputEncoding>
-+<Image height="16" width="16" type="image/x-icon">data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAANcNAADXDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJmlk8pf6+v3s/v7+++zr/fcnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnIOwBJyDscCcg7PZttJ7/7Pfs//////++xO7/S5GA/ycg7P8nIOz2JyDscCcg7AEAAAAAAAAAAAAAAAAnIOwBJyDstScg7P8nIOz/Y8p5/2fHZf9Yv0z/YcF2/1rBUv8nIOz/JyDs/ycg7P8nIOy1JyDsAQAAAAAAAAAAJyDscCcg7P8nIOz/JyDs/4jQoP/p9+n//////05X3v9LkYD/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAJyDsJicg7PYnIOz/JyDs/zUu7f/+/v////////////89N+7/JyDs/yUo7f8nIOz/JyDs/ycg7P8nIOz2JyDsJicg7IAnIOz/JyDs/ycg7P9hXPH////////////t/P//GIr2/wfD+/8Gyfz/DKv5/yM57/8nIOz/JyDs/ycg7H8nIOyzJyDs/ycg7P8nIOz/jov1////////////Otz9/w3G/P8cWfH/JSvt/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDs5icg7P8nIOz/JyDs/7u5+f///////////27l/v8E0v3/BNL9/wTQ/f8Oofn/IT7v/ycg7P8nIOz/JyDs5icg7OYnIOz/JyDs/ycg7P/p6P3/uWsC////////////5fr//6Po/f8Thfb/DKv5/w6f+f8nIOz/JyDs/ycg7OYnIOyzJyDs/ycg7P8nIOz/9/b+/////////////////7lrAv/V1Pv/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDsgCcg7P8nIOz/JyDs/8/N+///////////////////////iIX1/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDsfycg7CYnIOz2JyDs/ycg7P9FP+7/q6n4/+7u/f/n5v3/fXn0/yoj7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7CYAAAAAJyDscCcg7P8nIOz/wsD6/+no/f/Y1/z/eHTz/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAAAAAACcg7AEnIOy1JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7LUnIOwBAAAAAAAAAAAAAAAAJyDsAScg7HAnIOz2JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7HAnIOwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJicg7IAnIOyzJyDs5icg7OYnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAA+B8AAPAPAADAAwAAwAMAAIABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAACAAQAAwAMAAMADAADwDwAA+B8AAA==</Image>
-+<Url type="text/html" method="GET" template="https://duckduckgo.com/">
-+<Param name="q" value="{searchTerms}"/>
-+<Param name="t" value="freebsd"/>
-+</Url>
-+<SearchForm>https://duckduckgo.com/</SearchForm>
-+</SearchPlugin>
-diff -r f2fa4ae74ee1 browser/locales/en-US/searchplugins/list.txt
---- browser/locales/en-US/searchplugins/list.txt Mon Oct 24 22:54:18 2011 +0300
-+++ browser/locales/en-US/searchplugins/list.txt Tue Oct 25 21:13:40 2011 -0400
-@@ -1,7 +1,8 @@
- amazondotcom
- bing
-+duckduckgo
- eBay
- google
- twitter
- wikipedia
- yahoo
---- browser/app/profile/firefox.js.orig 2013-02-09 12:26:02.000000000 +0100
-+++ browser/app/profile/firefox.js 2013-02-09 12:26:19.000000000 +0100
-@@ -341,6 +341,7 @@
- pref("browser.search.order.1", "chrome://browser-region/locale/region.properties");
- pref("browser.search.order.2", "chrome://browser-region/locale/region.properties");
- pref("browser.search.order.3", "chrome://browser-region/locale/region.properties");
-+pref("browser.search.order.4", "chrome://browser-region/locale/region.properties");
-
- // search bar results always open in a new tab
- pref("browser.search.openintab", false);
diff --git a/www/firefox/files/patch-system-openh264 b/www/firefox/files/patch-system-openh264
index 14bd5488fed5..a26cb2a611fa 100644
--- a/www/firefox/files/patch-system-openh264
+++ b/www/firefox/files/patch-system-openh264
@@ -28,10 +28,10 @@ index 4165a75..81914d5 100644
#if defined(XP_MACOSX)
nsAutoString binaryName = NS_LITERAL_STRING("lib") + baseName + NS_LITERAL_STRING(".dylib");
diff --git content/media/gmp/GMPParent.cpp content/media/gmp/GMPParent.cpp
-index e63453e..bf83b30 100644
+index aa60acf..90878ca 100644
--- content/media/gmp/GMPParent.cpp
+++ content/media/gmp/GMPParent.cpp
-@@ -87,23 +87,16 @@
+@@ -90,23 +90,16 @@
mService = aService;
mDirectory = aPluginDir;
@@ -49,7 +49,7 @@ index e63453e..bf83b30 100644
if (NS_FAILED(rv)) {
return rv;
}
- LOGD(("%s::%s: %p for %s", __CLASS__, __FUNCTION__, this,
+ LOGD(("%s::%s: %p for %s", __CLASS__, __FUNCTION__, this,
- NS_LossyConvertUTF16toASCII(parentLeafName).get()));
+ NS_LossyConvertUTF16toASCII(leafname).get()));
diff --git a/www/firefox/files/patch-z-bug517422 b/www/firefox/files/patch-z-bug517422
index eb84013cb964..7b84987ca922 100644
--- a/www/firefox/files/patch-z-bug517422
+++ b/www/firefox/files/patch-z-bug517422
@@ -4,7 +4,7 @@ diff --git config/Makefile.in config/Makefile.in
index 5383399..0410004 100644
--- config/Makefile.in
+++ config/Makefile.in
-@@ -79,6 +79,13 @@ export:: $(export-preqs)
+@@ -77,6 +77,13 @@ export:: $(export-preqs)
-DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \
-DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \
-DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \
@@ -22,7 +22,7 @@ diff --git config/external/moz.build config/external/moz.build
index f67c5c7..eb909ce 100644
--- config/external/moz.build
+++ config/external/moz.build
-@@ -15,13 +15,19 @@ if CONFIG['MOZ_UPDATER']:
+@@ -16,13 +16,19 @@ if CONFIG['MOZ_UPDATER']:
if not CONFIG['MOZ_NATIVE_BZ2']:
external_dirs += ['modules/libbz2']
@@ -45,7 +45,7 @@ index f67c5c7..eb909ce 100644
external_dirs += ['media/libopus']
if CONFIG['MOZ_WEBM']:
-@@ -36,14 +42,16 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ_NATIVE_LIBVPX']:
+@@ -37,14 +43,16 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ_NATIVE_LIBVPX']:
if not CONFIG['MOZ_NATIVE_PNG']:
external_dirs += ['media/libpng']
@@ -65,30 +65,28 @@ index f67c5c7..eb909ce 100644
- 'media/libsoundtouch',
]
- PARALLEL_DIRS += ['../../' + i for i in external_dirs]
+ DIRS += ['../../' + i for i in external_dirs]
diff --git config/system-headers config/system-headers
index bef567c..9807c29 100644
--- config/system-headers
+++ config/system-headers
-@@ -1050,8 +1050,6 @@ X11/Xutil.h
- xpt_struct.h
- xpt_xdr.h
+@@ -1263,7 +1263,6 @@ X11/Xlocale.h
+ X11/Xos.h
+ X11/Xutil.h
zmouse.h
--speex/speex_resampler.h
-soundtouch/SoundTouch.h
#if MOZ_NATIVE_PNG==1
png.h
#endif
-@@ -1119,6 +1117,8 @@ ogg/ogg.h
+@@ -1325,6 +1324,7 @@ vorbis/codec.h
+ theora/theoradec.h
+ tremor/ivorbiscodec.h
+ speex/speex_resampler.h
++soundtouch/SoundTouch.h
+ ogg/ogg.h
ogg/os_types.h
nestegg/nestegg.h
- cubeb/cubeb.h
-+speex/speex_resampler.h
-+soundtouch/SoundTouch.h
- #endif
- gst/gst.h
- gst/app/gstappsink.h
-@@ -1155,3 +1155,29 @@ graphite2/Segment.h
+@@ -1365,3 +1365,29 @@ graphite2/Segment.h
harfbuzz/hb-ot.h
harfbuzz/hb.h
#endif
@@ -122,7 +120,7 @@ diff --git configure.in configure.in
index 87db361..7947626 100644
--- configure.in
+++ configure.in
-@@ -5211,6 +5211,63 @@ if test "${ac_cv_c_attribute_aligned}" != "0"; then
+@@ -5056,6 +5056,57 @@ if test "${ac_cv_c_attribute_aligned}" != "0"; then
fi
dnl ========================================================
@@ -145,8 +143,6 @@ index 87db361..7947626 100644
+fi
+
+AC_SUBST(MOZ_NATIVE_OGG)
-+AC_SUBST(MOZ_OGG_CFLAGS)
-+AC_SUBST(MOZ_OGG_LIBS)
+
+dnl ========================================================
+dnl Check for libvorbis
@@ -162,8 +158,6 @@ index 87db361..7947626 100644
+fi
+
+AC_SUBST(MOZ_NATIVE_VORBIS)
-+AC_SUBST(MOZ_VORBIS_CFLAGS)
-+AC_SUBST(MOZ_VORBIS_LIBS)
+
+dnl ========================================================
+dnl Check for integer-only libvorbis aka tremor
@@ -179,14 +173,12 @@ index 87db361..7947626 100644
+fi
+
+AC_SUBST(MOZ_NATIVE_TREMOR)
-+AC_SUBST(MOZ_TREMOR_CFLAGS)
-+AC_SUBST(MOZ_TREMOR_LIBS)
+
+dnl ========================================================
dnl = Disable Opus audio codec support
dnl ========================================================
MOZ_ARG_DISABLE_BOOL(opus,
-@@ -5219,6 +5274,97 @@ MOZ_ARG_DISABLE_BOOL(opus,
+@@ -5064,6 +5115,89 @@ MOZ_ARG_DISABLE_BOOL(opus,
MOZ_OPUS=1)
dnl ========================================================
@@ -205,8 +197,6 @@ index 87db361..7947626 100644
+fi
+
+AC_SUBST(MOZ_NATIVE_OPUS)
-+AC_SUBST(MOZ_OPUS_CFLAGS)
-+AC_SUBST(MOZ_OPUS_LIBS)
+
+dnl ========================================================
+dnl Check for libtheora
@@ -222,8 +212,6 @@ index 87db361..7947626 100644
+fi
+
+AC_SUBST(MOZ_NATIVE_THEORA)
-+AC_SUBST(MOZ_THEORA_CFLAGS)
-+AC_SUBST(MOZ_THEORA_LIBS)
+
+dnl ========================================================
+dnl Check for libspeex resampler
@@ -239,8 +227,6 @@ index 87db361..7947626 100644
+fi
+
+AC_SUBST(MOZ_NATIVE_SPEEX)
-+AC_SUBST(MOZ_SPEEX_CFLAGS)
-+AC_SUBST(MOZ_SPEEX_LIBS)
+
+dnl ========================================================
+dnl Check for libsoundtouch
@@ -277,8 +263,6 @@ index 87db361..7947626 100644
+fi
+
+AC_SUBST(MOZ_NATIVE_SOUNDTOUCH)
-+AC_SUBST(MOZ_SOUNDTOUCH_CFLAGS)
-+AC_SUBST(MOZ_SOUNDTOUCH_LIBS)
+
+dnl ========================================================
dnl = Disable VP8 decoder support
@@ -288,8 +272,8 @@ diff --git content/media/AudioStream.h content/media/AudioStream.h
index 085676d..00c54fb 100644
--- content/media/AudioStream.h
+++ content/media/AudioStream.h
-@@ -26,7 +26,7 @@ public:
- };
+@@ -17,7 +17,7 @@
+ #include "CubebUtils.h"
namespace soundtouch {
-class SoundTouch;
@@ -297,121 +281,175 @@ index 085676d..00c54fb 100644
}
namespace mozilla {
-diff --git content/media/Makefile.in content/media/Makefile.in
-index fd34449..c6c42c8 100644
---- content/media/Makefile.in
-+++ content/media/Makefile.in
-@@ -6,3 +6,31 @@ include $(topsrcdir)/config/rules.mk
+diff --git content/media/moz.build content/media/moz.build
+index 7526cff..e0a0ca0 100644
+--- content/media/moz.build
++++ content/media/moz.build
+@@ -212,3 +212,24 @@ if CONFIG['ANDROID_VERSION'] > '15':
+
+ CFLAGS += CONFIG['GSTREAMER_CFLAGS']
+ CXXFLAGS += CONFIG['GSTREAMER_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_OGG']:
++ CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_THEORA']:
++ CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_VORBIS']:
++ CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_TREMOR']:
++ CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_OPUS']:
++ CXXFLAGS += CONFIG['MOZ_OPUS_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_SPEEX']:
++ CXXFLAGS += CONFIG['MOZ_SPEEX_CFLAGS']
++
++if CONFIG['MOZ_NATIVE_SOUNDTOUCH']:
++ CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS']
+diff --git media/libcubeb/src/moz.build media/libcubeb/src/moz.build
+index 944744d..9a7c8c0 100644
+--- media/libcubeb/src/moz.build
++++ media/libcubeb/src/moz.build
+@@ -65,6 +65,9 @@ if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
+
+ FINAL_LIBRARY = 'gkmedias'
- CFLAGS += $(GSTREAMER_CFLAGS)
- CXXFLAGS += $(GSTREAMER_CFLAGS)
-+
-+ifdef MOZ_NATIVE_OGG
-+CXXFLAGS += $(MOZ_OGG_CFLAGS)
-+endif
-+
-+ifdef MOZ_NATIVE_THEORA
-+CXXFLAGS += $(MOZ_THEORA_CFLAGS)
-+endif
-+
-+ifdef MOZ_NATIVE_VORBIS
-+CXXFLAGS += $(MOZ_VORBIS_CFLAGS)
-+endif
-+
-+ifdef MOZ_NATIVE_TREMOR
-+CXXFLAGS += $(MOZ_TREMOR_CFLAGS)
-+endif
-+
-+ifdef MOZ_NATIVE_OPUS
-+CXXFLAGS += $(MOZ_OPUS_CFLAGS)
-+endif
-+
-+ifdef MOZ_NATIVE_SPEEX
-+CXXFLAGS += $(MOZ_SPEEX_CFLAGS)
-+endif
-+
-+ifdef MOZ_NATIVE_SOUNDTOUCH
-+CXXFLAGS += $(MOZ_SOUNDTOUCH_CFLAGS)
-+endif
-diff --git media/libcubeb/src/Makefile.in media/libcubeb/src/Makefile.in
-index 4c14494..1cb98e2 100644
---- media/libcubeb/src/Makefile.in
-+++ media/libcubeb/src/Makefile.in
-@@ -9,3 +9,7 @@ CFLAGS += \
- $(MOZ_ALSA_CFLAGS) \
- $(MOZ_PULSEAUDIO_CFLAGS) \
- $(NULL)
-+
-+ifdef MOZ_NATIVE_SPEEX
-+CFLAGS += $(MOZ_SPEEX_CFLAGS)
-+endif
-diff --git media/libtheora/Makefile.in media/libtheora/Makefile.in
-new file mode 100644
-index 0000000..1f02dc0
---- /dev/null
-+++ media/libtheora/Makefile.in
-@@ -0,0 +1,9 @@
-+# This Source Code Form is subject to the terms of the Mozilla Public
-+# License, v. 2.0. If a copy of the MPL was not distributed with this
-+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-+
-+include $(topsrcdir)/config/rules.mk
-+
-+ifdef MOZ_NATIVE_OGG
-+CFLAGS += $(MOZ_OGG_CFLAGS)
-+endif
-diff --git media/libtremor/Makefile.in media/libtremor/Makefile.in
-new file mode 100644
-index 0000000..1f02dc0
---- /dev/null
-+++ media/libtremor/Makefile.in
-@@ -0,0 +1,9 @@
-+# This Source Code Form is subject to the terms of the Mozilla Public
-+# License, v. 2.0. If a copy of the MPL was not distributed with this
-+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-+
-+include $(topsrcdir)/config/rules.mk
-+
-+ifdef MOZ_NATIVE_OGG
-+CFLAGS += $(MOZ_OGG_CFLAGS)
-+endif
-diff --git media/libvorbis/Makefile.in media/libvorbis/Makefile.in
-new file mode 100644
-index 0000000..1f02dc0
---- /dev/null
-+++ media/libvorbis/Makefile.in
-@@ -0,0 +1,9 @@
-+# This Source Code Form is subject to the terms of the Mozilla Public
-+# License, v. 2.0. If a copy of the MPL was not distributed with this
-+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-+
-+include $(topsrcdir)/config/rules.mk
-+
-+ifdef MOZ_NATIVE_OGG
-+CFLAGS += $(MOZ_OGG_CFLAGS)
-+endif
-diff --git media/webrtc/signaling/test/Makefile.in media/webrtc/signaling/test/Makefile.in
++if CONFIG['MOZ_NATIVE_SPEEX']:
++ SOURCES['cubeb_resampler.cpp'].flags += CONFIG['MOZ_SPEEX_CFLAGS']
++
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
+ CFLAGS += [
+ '-I%s/%s' % (CONFIG['ANDROID_SOURCE'], d) for d in [
+diff --git media/libogg/README_MOZILLA media/libogg/README_MOZILLA
+index 0833e4d..7ece97b 100644
+--- media/libogg/README_MOZILLA
++++ media/libogg/README_MOZILLA
+@@ -6,3 +6,6 @@ The svn revision number used was r17287.
+ The int-types.patch address a bug that config_types.h generated from
+ Linux platform can't be used on OpenSolaris directly see Mozilla bug
+ 449754
++
++The in-tree copy may be omitted during build by --with-system-ogg.
++Keep version in configure.in in sync on updates.
+diff --git media/libopus/README_MOZILLA media/libopus/README_MOZILLA
+index 2d85c9f..d3fb9f8 100644
+--- media/libopus/README_MOZILLA
++++ media/libopus/README_MOZILLA
+@@ -9,3 +9,6 @@ files after the copy step.
+ The upstream repository is https://git.xiph.org/opus.git
+
+ The git tag/revision used was v1.1.
++
++The in-tree copy may be omitted during build by --with-system-opus.
++So, keep its pkg-config version check within configure.in in sync on updates.
+diff --git media/libsoundtouch/README_MOZILLA media/libsoundtouch/README_MOZILLA
+index bfd4b1a..15b158d 100644
+--- media/libsoundtouch/README_MOZILLA
++++ media/libsoundtouch/README_MOZILLA
+@@ -6,3 +6,5 @@ The whole library is not used, only the relevant files are imported in the tree,
+ using the script `update.sh`. Some changes have been made to the files, using
+ the patch `moz-libsoundtouch.patch`. We also use a custom soundtouch_config.h.
+
++The in-tree copy may be omitted during build by --with-system-soundtouch.
++Keep version in configure.in in sync on updates.
+diff --git media/libspeex_resampler/README_MOZILLA media/libspeex_resampler/README_MOZILLA
+index 7f6b1bb..e830300 100644
+--- media/libspeex_resampler/README_MOZILLA
++++ media/libspeex_resampler/README_MOZILLA
+@@ -3,3 +3,6 @@ This source is from the Speex DSP library
+
+ It consists in the audio resampling code (resampler.c) and its header files
+ dependancies, imported into the tree using the update.sh script.
++
++The in-tree copy may be omitted during build by --with-system-speex.
++Keep version in configure.in in sync on updates.
+diff --git media/libtheora/README_MOZILLA media/libtheora/README_MOZILLA
+index d48dbfa..f08a2ed 100644
+--- media/libtheora/README_MOZILLA
++++ media/libtheora/README_MOZILLA
+@@ -3,3 +3,6 @@ using the update.sh script. The changes made were those applied by update.sh,
+ the addition/update of Makefile.in files for the Mozilla build system.
+
+ The subversion revision used was r17578.
++
++The in-tree copy may be omitted during build by --with-system-theora.
++Keep version in configure.in in sync on updates.
+diff --git media/libtheora/moz.build media/libtheora/moz.build
+index 14265b1..3069e99 100644
+--- media/libtheora/moz.build
++++ media/libtheora/moz.build
+@@ -6,3 +6,5 @@
+
+ DIRS += ['include', 'lib']
+
++if CONFIG['MOZ_NATIVE_OGG']:
++ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
+diff --git media/libtremor/README_MOZILLA media/libtremor/README_MOZILLA
+index ee67b53..3f34a09 100644
+--- media/libtremor/README_MOZILLA
++++ media/libtremor/README_MOZILLA
+@@ -5,3 +5,6 @@ Makefile.in files for the Mozilla build system.
+
+ The upstream release used was http://svn.xiph.org/trunk/Tremor/
+ The subversion revision used was r17547.
++
++The in-tree copy may be omitted during build by --with-system-tremor.
++Keep version in configure.in in sync on updates.
+diff --git media/libtremor/moz.build media/libtremor/moz.build
+index 31831ba..a03d576 100644
+--- media/libtremor/moz.build
++++ media/libtremor/moz.build
+@@ -6,3 +6,5 @@
+
+ DIRS += ['include/tremor', 'lib']
+
++if CONFIG['MOZ_NATIVE_OGG']:
++ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
+diff --git media/libvorbis/README_MOZILLA media/libvorbis/README_MOZILLA
+index 7c7454c..55baedd 100644
+--- media/libvorbis/README_MOZILLA
++++ media/libvorbis/README_MOZILLA
+@@ -8,3 +8,6 @@ https://svn.xiph.org/tags/vorbis/libvorbis-1.3.4@19059
+
+ Some files are renamed during the copy to prevent clashes with object
+ file names with other Mozilla libraries.
++
++The in-tree copy may be omitted during build by --with-system-vorbis.
++Keep version in configure.in in sync on updates.
+diff --git media/libvorbis/moz.build media/libvorbis/moz.build
+index 919b99e..cc776f7 100644
+--- media/libvorbis/moz.build
++++ media/libvorbis/moz.build
+@@ -55,3 +55,6 @@ FINAL_LIBRARY = 'gkmedias'
+ # Suppress warnings in third-party code.
+ if CONFIG['GNU_CC']:
+ CFLAGS += ['-Wno-uninitialized']
++
++if CONFIG['MOZ_NATIVE_OGG']:
++ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
+diff --git media/webrtc/signaling/test/moz.build media/webrtc/signaling/test/moz.build
index bbc971c..6ed7e41 100644
---- media/webrtc/signaling/test/Makefile.in
-+++ media/webrtc/signaling/test/Makefile.in
-@@ -48,6 +48,12 @@ LIBS += \
- $(NULL)
- endif
+--- media/webrtc/signaling/test/moz.build
++++ media/webrtc/signaling/test/moz.build
+@@ -127,6 +127,9 @@ if CONFIG['MOZ_ALSA']:
+ if CONFIG['MOZ_NATIVE_JPEG']:
+ OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
+
++if CONFIG['MOZ_NATIVE_OPUS']:
++ OS_LIBS += CONFIG['MOZ_OPUS_LIBS']
++
+ if CONFIG['MOZ_NATIVE_LIBVPX']:
+ OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS']
-+ifdef MOZ_NATIVE_OPUS
-+LIBS += \
-+ $(MOZ_OPUS_LIBS) \
-+ $(NULL)
-+endif
-+
- ifdef MOZ_NATIVE_LIBVPX
- LIBS += \
- $(MOZ_LIBVPX_LIBS) \
diff --git media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi
index 00e77e7..55f48ab 100644
--- media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi
+++ media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi
-@@ -14,9 +14,9 @@
+@@ -17,9 +17,9 @@
'conditions': [
['build_with_mozilla==1', {
# Mozilla provides its own build of the opus library.
@@ -424,50 +462,43 @@ index 00e77e7..55f48ab 100644
}, {
'dependencies': [
'<(DEPTH)/third_party/opus/opus.gyp:opus'
-diff --git toolkit/library/libxul.mk toolkit/library/libxul.mk
+diff --git toolkit/library/moz.build toolkit/library/moz.build
index d42137a..695e75a8 100644
---- toolkit/library/libxul.mk
-+++ toolkit/library/libxul.mk
-@@ -77,6 +77,34 @@ ifdef MOZ_NATIVE_HUNSPELL
- EXTRA_DSO_LDOPTS += $(MOZ_HUNSPELL_LIBS)
- endif
+--- toolkit/library/moz.build
++++ toolkit/library/moz.build
+@@ -178,6 +178,27 @@ if CONFIG['MOZ_NATIVE_PNG']:
+ if CONFIG['MOZ_NATIVE_HUNSPELL']:
+ OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
-+ifdef MOZ_NATIVE_OGG
-+EXTRA_DSO_LDOPTS += $(MOZ_OGG_LIBS)
-+endif
++if CONFIG['MOZ_NATIVE_OGG']:
++ OS_LIBS += CONFIG['MOZ_OGG_LIBS']
+
-+ifdef MOZ_NATIVE_THEORA
-+EXTRA_DSO_LDOPTS += $(MOZ_THEORA_LIBS)
-+endif
++if CONFIG['MOZ_NATIVE_THEORA']:
++ OS_LIBS += CONFIG['MOZ_THEORA_LIBS']
+
-+ifdef MOZ_NATIVE_VORBIS
-+EXTRA_DSO_LDOPTS += $(MOZ_VORBIS_LIBS)
-+endif
++if CONFIG['MOZ_NATIVE_VORBIS']:
++ OS_LIBS += CONFIG['MOZ_VORBIS_LIBS']
+
-+ifdef MOZ_NATIVE_TREMOR
-+EXTRA_DSO_LDOPTS += $(MOZ_TREMOR_LIBS)
-+endif
++if CONFIG['MOZ_NATIVE_TREMOR']:
++ OS_LIBS += CONFIG['MOZ_TREMOR_LIBS']
+
-+ifdef MOZ_NATIVE_OPUS
-+EXTRA_DSO_LDOPTS += $(MOZ_OPUS_LIBS)
-+endif
++if CONFIG['MOZ_NATIVE_OPUS']:
++ OS_LIBS += CONFIG['MOZ_OPUS_LIBS']
+
-+ifdef MOZ_NATIVE_SPEEX
-+EXTRA_DSO_LDOPTS += $(MOZ_SPEEX_LIBS)
-+endif
++if CONFIG['MOZ_NATIVE_SPEEX']:
++ OS_LIBS += CONFIG['MOZ_SPEEX_LIBS']
+
-+ifdef MOZ_NATIVE_SOUNDTOUCH
-+EXTRA_DSO_LDOPTS += $(MOZ_SOUNDTOUCH_LIBS)
-+endif
++if CONFIG['MOZ_NATIVE_SOUNDTOUCH']:
++ OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS']
+
- ifdef MOZ_NATIVE_LIBEVENT
- EXTRA_DSO_LDOPTS += $(MOZ_LIBEVENT_LIBS)
- endif
+ if CONFIG['MOZ_NATIVE_LIBEVENT']:
+ OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
+
diff --git xpcom/build/nsXPComInit.cpp xpcom/build/nsXPComInit.cpp
index 2cf281e..6d7af0e 100644
--- xpcom/build/nsXPComInit.cpp
+++ xpcom/build/nsXPComInit.cpp
-@@ -130,7 +130,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports *, REFNSIID, void **)
+@@ -138,7 +138,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports*, REFNSIID, void**);
#include "mozilla/VisualEventTracer.h"
#endif
@@ -477,17 +508,17 @@ index 2cf281e..6d7af0e 100644
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
#include "vpx_mem/vpx_mem.h"
#endif
-@@ -571,11 +573,13 @@ NS_InitXPCOM2(nsIServiceManager* *result,
- // this oddness.
- mozilla::SetICUMemoryFunctions();
+@@ -651,11 +653,13 @@ NS_InitXPCOM2(nsIServiceManager** aResult,
+ // this oddness.
+ mozilla::SetICUMemoryFunctions();
+#ifndef MOZ_OGG_NO_MEM_REPORTING
- // Do the same for libogg.
- ogg_set_mem_functions(OggReporter::CountingMalloc,
- OggReporter::CountingCalloc,
- OggReporter::CountingRealloc,
- OggReporter::CountingFree);
+ // Do the same for libogg.
+ ogg_set_mem_functions(OggReporter::CountingMalloc,
+ OggReporter::CountingCalloc,
+ OggReporter::CountingRealloc,
+ OggReporter::CountingFree);
+#endif
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
- // And for VPX.
+ // And for VPX.
diff --git a/www/libxul/Makefile b/www/libxul/Makefile
index 6092afc628b0..82ed8ccab05d 100644
--- a/www/libxul/Makefile
+++ b/www/libxul/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= libxul
-DISTVERSION= 31.2.0
+DISTVERSION= 31.3.0
CATEGORIES?= www devel
MASTER_SITES= MOZILLA/firefox/releases/${DISTVERSION}esr/source
DISTNAME= firefox-${DISTVERSION}esr.source
@@ -31,13 +31,8 @@ LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l
WRKSRC= ${WRKDIR}/mozilla-esr31
CONFLICTS= libxul-1.9.*
-USE_AUTOTOOLS= autoconf213:env
-WANT_GNOME= yes
USE_QT5= # empty
QT_NONSTANDARD= yes
-WANT_PERL= yes
-ALL_TARGET= default
-GNU_CONFIGURE= yes
USE_GL= gl
USES= dos2unix pathfix tar:bzip2
DOS2UNIX_FILES= media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp
@@ -48,7 +43,6 @@ USE_LDCONFIG= ${PREFIX}/lib/${MOZILLA}
MOZ_OPTIONS?= --enable-application=xulrunner
USE_GECKO= gecko
CPE_PRODUCT= firefox_esr
-OBJDIR_BUILD= # in-tree build broken after bug 789837
MOZILLA_EXEC_NAME=xulrunner
USE_MOZILLA= # empty
MOZILLA_PLIST_DIRS= bin include lib share/idl libdata
@@ -62,23 +56,6 @@ MOZ_PKGCONFIG_FILES= libxul-embedding libxul mozilla-js \
MOZ_PKGCONFIG_FILES+= mozilla-nss
.endif
-# avoid clang 3.2/3.3 crash in js/src/jsgc.cpp on refillFreeList<(js::AllowGC)1>
-# To be removed when 9.2R goes EOL. http://llvm.org/PR15840
-.if ${ARCH} == i386 && ${CHOSEN_COMPILER_TYPE} == clang && ${COMPILER_VERSION:M3[23]}
-. if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS}
-BROKEN= Cannot build with OPTIMIZED_CFLAGS option due to \
- a ${CHOSEN_COMPILER_TYPE} bug: unset the option or \
- use FAVORITE_COMPILER=gcc in Makefile.local/make.conf
-# apply workaround only for -O2 or greater
-. elif ${CXXFLAGS:M-O*} && ! ${CXXFLAGS:M-O[01]}
-. if ${MACHINE_CPU:Msse2}
-CXXFLAGS+= -msse2
-. else
-CXXFLAGS+= -O1
-. endif
-. endif
-.endif
-
.if ${PORT_OPTIONS:MALSA}
RUN_DEPENDS+= alsa-lib>=1.0.27.2_1:${PORTSDIR}/audio/alsa-lib
.endif
diff --git a/www/libxul/distinfo b/www/libxul/distinfo
index 819393e94163..149b1d8271f5 100644
--- a/www/libxul/distinfo
+++ b/www/libxul/distinfo
@@ -1,2 +1,2 @@
-SHA256 (firefox-31.2.0esr.source.tar.bz2) = 02de399cbf467ea536042008d1e0cd4ac6ffdc9b469d3189384f02ec0590d378
-SIZE (firefox-31.2.0esr.source.tar.bz2) = 147362334
+SHA256 (firefox-31.3.0esr.source.tar.bz2) = 1152c4e7dc251f5f4928fd28657462c3d321e9c25cbbb1ca8b2ec84c8c501e53
+SIZE (firefox-31.3.0esr.source.tar.bz2) = 148022631
diff --git a/www/libxul/files/patch-bug1061736 b/www/libxul/files/patch-bug1061736
new file mode 100644
index 000000000000..08f361b449bd
--- /dev/null
+++ b/www/libxul/files/patch-bug1061736
@@ -0,0 +1,50 @@
+commit a7add79
+Author: Gavin Sharp <gavin@gavinsharp.com>
+Date: Mon Oct 27 18:43:51 2014 -0700
+
+ Bug 1061736: add DuckDuckGo as a search engine option in Firefox. r=dolske
+---
+ browser/locales/Makefile.in | 2 +-
+ browser/locales/en-US/searchplugins/ddg.xml | 21 +++++++++++++++++++++
+ 2 files changed, 22 insertions(+), 1 deletion(-)
+
+diff --git browser/locales/Makefile.in browser/locales/Makefile.in
+index eb3c30b..b172876 100644
+--- browser/locales/Makefile.in
++++ browser/locales/Makefile.in
+@@ -71,7 +71,7 @@ endif
+ ifeq ($(MOZ_WIDGET_TOOLKIT) $(DIST_SUBDIR),windows metro)
+ SEARCHPLUGINS_NAMES = $(shell cat $(call MERGE_FILE,/searchplugins/metrolist.txt))
+ else
+-SEARCHPLUGINS_NAMES = $(shell cat $(call MERGE_FILE,/searchplugins/list.txt))
++SEARCHPLUGINS_NAMES = $(shell cat $(call MERGE_FILE,/searchplugins/list.txt)) ddg
+ endif
+ SEARCHPLUGINS_PATH := $(FINAL_TARGET)/searchplugins
+ SEARCHPLUGINS := $(addsuffix .xml,$(SEARCHPLUGINS_NAMES))
+diff --git browser/locales/en-US/searchplugins/ddg.xml browser/locales/en-US/searchplugins/ddg.xml
+new file mode 100644
+index 0000000..d68deb4
+--- /dev/null
++++ browser/locales/en-US/searchplugins/ddg.xml
+@@ -0,0 +1,21 @@
++<?xml version="1.0" encoding="utf-8"?>
++<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
++ <ShortName>DuckDuckGo</ShortName>
++ <Description>Search DuckDuckGo</Description>
++ <InputEncoding>UTF-8</InputEncoding>
++ <Image height="16" width="16">data:image/icon;base64,AAABAAIAEBAAAAEAIABoBAAAJgAAACAgAAABACAAqBAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAAAAAEAAATCwAAEwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA11RgALs6oACbQ9wAj0v8AI9L/ACfQ9wAu0agANdUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzzN4CNdL/oK/z//////////////////////+jsPv/BDXX/wAz0t4AAAAAAAAAAAAAAAAAAAAAAAAAAAAyzvNSduD//////8jK/v+P+Lf/IbQL/17RPP+J3Y//wOKX//////9YeuX/ADLO8wAAAAAAAAAAAAAAAAAw091piOX/8/X9/1Fx5P9xhu//WOWZ/0W9Lv9Lwjn/J8BB/xyDAP9bdfL/9fP//2mI5v8AMNPdAAAAAAc610YRQ9f//////0Zr4P8AGdD/sb32////////////wrv//wAh1/8MPab/ACPc/05r4///////EkPX/wc610YANtWkrr/y/6S48P8AJ9L/AB3R/+/w/v///////////3+D7f8AQeL/AYTw/wFr5/8AMNb/p7Tv/6698v8AM9WkADLW//////8yXt//AC3V/wAw1/////////////z///8A0P7/AKb1/wWI7P8AuPf/AJ3w/zZW3P//////ADHV/wAx2P//////AzrZ/wAu1/84ZOL////////////e////AND//wC1+f8Atff/AZbv/wY62f8ELNf//////wAw1/8AMtn//////wAw2f8ALNn/kKrz////+//cwbH////////////R////Rcb8/wDO/f8A/P//AHzo//////8AMNj/ADXa//////8vXuL/ACna/4yq9///79T/jUkg/9i+r///////r2Q0/7Cozv8BKdr/AirY/zdZ4P//////ADTa/wI72tOuv/T/prr0/wAl2v+JqPb//7yW/+bUxv/9+/n////u//W+n/+Op/L/ADPd/wAv2v+ru/T/r7/0/wI72tMLQd1DEEjg//////9Cbef/ADng///////////////////////R3///AC3g/wAy3v9SeOn//////xFI4P8LQd1DAAAAAAM64PNmiuz/9/j//2mN7f/m7P3///////////9Cb+n/ACXd/wAt3v9rju3//////2iL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/P8J0vz/ELDz/xt85v8mSdj/JknY/yZJ2P8lStowJUjXYCZJ2P8nSdhwJErZryZK2f8oSNcgJUnajyZK2f8mStn/JkrZ/yZK2f8mStn/iJPA////////////////////////////0ff+/xjV/P8J0vz/Drn1/xiO6/8Yjuv/GI7r/xCw8/8Lyvr/CdL8/xmF6P8mStn/JkrZ/yVJ2o8oSNcgJkrZ/yRK2a8jStrfI0rZ3wAAAAAlSdq/Jkra/yZK2v8mStr/Jkra/yZK2v+xtsf///////////////////////////8o2Pz/CdL8/wvK+v8mStr/Jkra/yZK2v8mStr/Jkra/yZK2v8iW97/Jkra/yZK2v8mStr/JUnavwAAAAAjStnfI0ra3yZK2v8lSdq/AAAAACZH2O8mStr/Jkra/yZK2v8mStr/L1HY/9HR0f///////////////////////////yjY/P8J0vz/CdL8/xCw9P8QsPT/ELD0/xSf7/8ddeX/Jkra/yZK2v8mStr/Jkra/yZK2v8mR9jvAAAAACVJ2r8mStr/Jkvb/yVJ2r8AAAAAJkvb/yZL2/8mS9v/Jkvb/yZL2/9KZtL/4+Pj////////////////////////////4Pn//0fd/f8J0vz/CdL8/wnS/P8J0vz/CdL8/wnS/P8Lyvr/Fpfu/yJc3/8mS9v/Jkvb/yZL2/8AAAAAJUnavyZL2/8mS9z/JUncvwAAAAAmS9z/Jkvc/yZL3P8mS9z/Jkvc/26AyP/x8fH//////////////////////////////////////9H3/v/C9P7/o+7+/2fa+/8Oufb/CdL8/wnS/P8J0vz/CdL8/xiP7P8mS9z/Jkvc/wAAAAAlSdy/Jkvc/yZM3P8lTNy/AAAAACZJ2e8mTNz/Jkzc/yZM3P8mTNz/iJTB////////////qnth/5VaOf/x6eX///////////////////////Hp5f/x6eX/ydL2/yZM3P8kVN7/G37o/xKo8v8QsfT/HXbm/yZM3P8mSdnvAAAAACVM3L8mTNz/I0vc3yZJ2u8AAAAAJUzevyZM3f8mTN3/Jkzd/yZM3f+fqc3///////////+VWjn/v5yI/+re1///////////////////////jk8s/7iRe//J0vb/Jkzd/yZM3f8mTN3/Jkzd/yZM3f8mTN3/Jkzd/yVM3r8AAAAAI0vc3yNL3N8kTd2vJk3d/yhQ3yAlTd2PJk3d/yZN3f8mTd3/Jk3d/6St0v////////////Hp5f/q3tf///////////////////////////+xhm7/49PK/6Cx8P8mTd3/Jk3d/yZN3f8mTd3/Jk3d/yZN3f8mTd3/JU3djyhQ3yAmTd3/JE3drydN33AmTd7/J03fcCVK3zAmTd7/Jk3e/yZN3v8mTd7/pK7S///////Sp5r/////////////////////////////////////////////////T27k/yZN3v8mTd7/Jk3e/yZN3v8mTd7/Jk3e/yZN3v8lSt8wJ03fcCZN3v8nTd9wKFDfICZO3/8mTt3PAAAAACVN3r8mTt//Jk7f/yZO3/+EltX//////+fRyv/SqaD/59LO///////////////////////at63/vIBy/7Glxf8mTt//Jk7f/yZO3/8mTt//Jk7f/yZO3/8mTt//JU3evwAAAAAmTt3PJk7f/yhQ3yAAAAAAJE/dryZO3/8oUN9AKFDfQCZO3/8mTt//Jk7f/zhb2v/o6/T/////////////////////////////////////////////////XHrn/yZO3/8mTt//Jk7f/yZO3/8mTt//Jk7f/yZO3/8oUN9AKFDfQCZO3/8kT92vAAAAAAAAAAAoUN9AJk7g/yZO4M8AAAAAJk/hnyZO4P8mTuD/Jk7g/05v5v/k6fv//////////////////////////////////////3eR7P8mTuD/Jk7g/yZO4P8mTuD/Jk7g/yZO4P8mTuD/Jk/hnwAAAAAmTuDPJk7g/yhQ30AAAAAAAAAAAAAAAAAjT+GfJU/h/yVO4Y8gUN8QIk7gzyVP4f8lT+H/SWnW/0lp1v+bq+H/8fHx/////////////////6Cy8v9OcOb/JU/h/yVP4f8lT+H/JU/h/yVP4f8lT+H/JU/h/yJO4M8gUN8QJU7hjyVP4f8jT+GfAAAAAAAAAAAAAAAAAAAAACBQ3xAlTOHvJU/h/yVQ4mAgUN8QIk7hzyVP4f+ktOv///////////////////////H0/f9phur/JU/h/yVP4f8lT+H/JU/h/yVP4f8lT+H/JU/h/yVP4f8iTuHPIFDfECVQ4mAlT+H/JUzh7yBQ3xAAAAAAAAAAAAAAAAAAAAAAAAAAACVQ3zAlUOLvJVDi/yVQ4mAgUN8QI1Din4mb2//J0/j/ydP4/6299P93ku3/M1vk/yVQ4v8lUOL/JVDi/yVQ4v8lUOL/JVDi/yVQ4v8lUOL/I1DinyBQ3xAlUOJgJVDi/yVQ4u8lUN8wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVQ5DAlUOLvJVDi/yVQ4o8AAAAAJFDjQCVQ4r8lUOL/JVDi/yVQ4v8lUOL/JVDi/yVQ4v8lUOL/JVDi/yVQ4v8lUOL/JVDivyRQ40AAAAAAJVDijyVQ4v8lUOLvJVDkMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVQ5DAjUeTfJVHj/yNR5N8kUONAAAAAACVQ5DAmUuOAJVHivyNR5N8lUeP/JVHj/yNR5N8lUeK/JlLjgCVQ5DAAAAAAJFDjQCNR5N8lUeP/I1Hk3yVQ5DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBQ3xAjUuSfJVHk/yVR5P8jUeTfJFLkcChQ5yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoUOcgJFLkcCNR5N8lUeT/JVHk/yNS5J8gUN8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkUONAI1LknyVS5P8lUuT/JVLk/yVS5O8lUeS/JVHkvyVR5L8lUeS/JVLk7yVS5P8lUuT/JVLk/yRS468kUONAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIFDfECVS5GAjUuWfIlPlzyVS5f8lUuX/JVLl/yVS5f8iU+XPI1LlnyVS5GAgUN8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/AA///AAD//AAAP/ggBB/wgAEP4AAAB8AAAAPAAAADiAAAEYAAAAEQAAAIAAAAAAAAAAAgAAAEIAAABCAAAAQgAAAEIAAABCAAAAQAAAAAAAAAABAAAAiAAAABiAAAEcAAAAPAAAAD4AAAB/CAAQ/4IAQf/AfgP/8AAP//wAP/</Image>
++ <Image height="26" width="65">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxNTg5QTM3RjNCMjA2ODExODIyQUVEOUNBRDIxQzhDMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxRTYyNzYzMzFBQUUxMUU0ODc3NTg3NjMyNDFCNzExQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxRTYyNzYzMjFBQUUxMUU0ODc3NTg3NjMyNDFCNzExQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDE4MDExNzQwNzIwNjgxMTg3MUZCQUIxMEI4RjU1NzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MTU4OUEzN0YzQjIwNjgxMTgyMkFFRDlDQUQyMUM4QzMiLz4gPC9yZGY6RGVzY3Jp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</Image>
++ <Image height="52" width="130">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIIAAAA0CAYAAABGkOCVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxNTg5QTM3RjNCMjA2ODExODIyQUVEOUNBRDIxQzhDMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4RTdBNDY4ODFBQUQxMUU0ODc3NTg3NjMyNDFCNzExQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4RTdBNDY4NzFBQUQxMUU0ODc3NTg3NjMyNDFCNzExQSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTE3MzgzQ0I2QjIwNjgxMTgyMkFFRDlDQUQyMUM4QzMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MTU4OUEzN0YzQjIwNjgxMTgyMkFFRDlDQUQyMUM4QzMiLz4gPC9yZGY6RGVzY3Jp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</Image>
++ <Url type="text/html" method="get" template="https://duckduckgo.com/">
++ <Param name="q" value="{searchTerms}"/>
++ <MozParam name="t" condition="purpose" purpose="contextmenu" value="ffcm"/>
++ <MozParam name="t" condition="purpose" purpose="keyword" value="ffab"/>
++ <MozParam name="t" condition="purpose" purpose="searchbar" value="ffsb"/>
++ <MozParam name="t" condition="purpose" purpose="homepage" value="ffhp"/>
++ <MozParam name="t" condition="purpose" purpose="newtab" value="ffnt"/>
++ </Url>
++ <Url type="application/x-suggestions+json" template="https://ac.duckduckgo.com/ac/">
++ <Param name="q" value="{searchTerms}"/>
++ <Param name="type" value="list"/>
++ </Url>
++</OpenSearchDescription>
diff --git a/www/libxul/files/patch-bug1076983 b/www/libxul/files/patch-bug1076983
deleted file mode 100644
index 182aadf58bf5..000000000000
--- a/www/libxul/files/patch-bug1076983
+++ /dev/null
@@ -1,45 +0,0 @@
-commit e10ee74
-Author: Martin Thomson <martin.thomson@gmail.com>
-Date: Tue Oct 14 17:17:35 2014 -0700
-
- Bug 1076983 - Disabling SSL 3.0 with pref
----
- netwerk/base/public/security-prefs.js | 2 +-
- security/manager/ssl/src/nsNSSComponent.cpp | 7 +++----
- 2 files changed, 4 insertions(+), 5 deletions(-)
-
-diff --git netwerk/base/public/security-prefs.js netwerk/base/public/security-prefs.js
-index 352552e..c12731b 100644
---- netwerk/base/public/security-prefs.js
-+++ netwerk/base/public/security-prefs.js
-@@ -2,7 +2,7 @@
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
--pref("security.tls.version.min", 0);
-+pref("security.tls.version.min", 1);
- pref("security.tls.version.max", 3);
-
- pref("security.ssl.allow_unrestricted_renego_everywhere__temporarily_available_pref", false);
-diff --git security/manager/ssl/src/nsNSSComponent.cpp security/manager/ssl/src/nsNSSComponent.cpp
-index 8cab67b..772959d 100644
---- security/manager/ssl/src/nsNSSComponent.cpp
-+++ security/manager/ssl/src/nsNSSComponent.cpp
-@@ -829,14 +829,13 @@ void nsNSSComponent::setValidationOptions(bool isInitialSetting,
- mDefaultCertVerifier = new SharedCertVerifier(odc, osc, ogc, pinningMode);
- }
-
--// Enable the TLS versions given in the prefs, defaulting to SSL 3.0 (min
--// version) and TLS 1.2 (max version) when the prefs aren't set or set to
--// invalid values.
-+// Enable the TLS versions given in the prefs, defaulting to TLS 1.0 (min) and
-+// TLS 1.2 (max) when the prefs aren't set or set to invalid values.
- nsresult
- nsNSSComponent::setEnabledTLSVersions()
- {
- // keep these values in sync with security-prefs.js
-- static const int32_t PSM_DEFAULT_MIN_TLS_VERSION = 0;
-+ static const int32_t PSM_DEFAULT_MIN_TLS_VERSION = 1;
- static const int32_t PSM_DEFAULT_MAX_TLS_VERSION = 3;
-
- int32_t minVersion = Preferences::GetInt("security.tls.version.min",
diff --git a/www/libxul/files/patch-bug1082199 b/www/libxul/files/patch-bug1082199
new file mode 100644
index 000000000000..a10356adaa5b
--- /dev/null
+++ b/www/libxul/files/patch-bug1082199
@@ -0,0 +1,26 @@
+commit 258ec90
+Author: Guilherme Goncalves <guilherme.p.gonc@gmail.com>
+Date: Fri Oct 17 15:55:00 2014 +0200
+
+ Bug 1082199 - Recompute stats in jemalloc_stats when using jemalloc3. r=glandium
+---
+ memory/build/mozjemalloc_compat.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git memory/build/mozjemalloc_compat.c memory/build/mozjemalloc_compat.c
+index 78bb13a..70265a7 100644
+--- memory/build/mozjemalloc_compat.c
++++ memory/build/mozjemalloc_compat.c
+@@ -68,6 +68,12 @@ jemalloc_stats_impl(jemalloc_stats_t *stats)
+ size_t active, allocated, mapped, page, pdirty;
+ size_t lg_chunk;
+
++ // Refresh jemalloc's stats by updating its epoch, see ctl_refresh in
++ // src/ctl.c
++ uint64_t epoch = 0;
++ size_t esz = sizeof(epoch);
++ int ret = je_(mallctl)("epoch", &epoch, &esz, &epoch, esz);
++
+ CTL_GET("arenas.narenas", narenas);
+ CTL_GET("arenas.page", page);
+ CTL_GET("stats.active", active);
diff --git a/www/libxul/files/patch-bug1103858 b/www/libxul/files/patch-bug1103858
new file mode 100644
index 000000000000..16cfd9973a86
--- /dev/null
+++ b/www/libxul/files/patch-bug1103858
@@ -0,0 +1,42 @@
+diff --git configure.in configure.in
+index b2b45e7..dcfdfb7 100644
+--- configure.in
++++ configure.in
+@@ -8346,7 +8346,7 @@ case "$OS_TARGET" in
+ NECKO_WIFI=1
+ fi
+ ;;
+- Darwin|FreeBSD|SunOS|WINNT)
++ Darwin|DragonFly|FreeBSD|SunOS|WINNT)
+ NECKO_WIFI=1
+ ;;
+ Linux)
+diff --git netwerk/wifi/moz.build netwerk/wifi/moz.build
+index d4de063..3949380 100644
+--- netwerk/wifi/moz.build
++++ netwerk/wifi/moz.build
+@@ -35,7 +35,7 @@ if CONFIG['OS_ARCH'] == 'Darwin':
+ UNIFIED_SOURCES += [
+ 'osx_corewlan.mm',
+ ]
+-elif CONFIG['OS_ARCH'] == 'FreeBSD':
++elif CONFIG['OS_ARCH'] in ('DragonFly', 'FreeBSD'):
+ UNIFIED_SOURCES += [
+ 'nsWifiScannerFreeBSD.cpp',
+ ]
+diff --git netwerk/wifi/nsWifiScannerFreeBSD.cpp netwerk/wifi/nsWifiScannerFreeBSD.cpp
+index bdf171e..4185d69 100644
+--- netwerk/wifi/nsWifiScannerFreeBSD.cpp
++++ netwerk/wifi/nsWifiScannerFreeBSD.cpp
+@@ -13,7 +13,11 @@
+ #include <sys/socket.h>
+ #include <net/if.h>
+ #include <net/if_media.h>
++#ifdef __DragonFly__
++#include <netproto/802_11/ieee80211_ioctl.h>
++#else
+ #include <net80211/ieee80211_ioctl.h>
++#endif
+
+ #include <ifaddrs.h>
+ #include <string.h>
diff --git a/www/libxul/files/patch-bug858919 b/www/libxul/files/patch-bug858919
new file mode 100644
index 000000000000..2354cd340145
--- /dev/null
+++ b/www/libxul/files/patch-bug858919
@@ -0,0 +1,391 @@
+commit a33d4f7
+Author: Martin Stransky <stransky@redhat.com>
+Date: Fri Nov 14 04:04:00 2014 +0100
+
+ Bug 858919 - Add support for libnotify calls which was removed for new notification API. r=karlt
+---
+ toolkit/components/alerts/nsAlertsService.cpp | 10 +--
+ toolkit/system/gnome/moz.build | 2 +
+ toolkit/system/gnome/nsAlertsIconListener.cpp | 64 ++++++++++++------
+ toolkit/system/gnome/nsAlertsIconListener.h | 89 ++++++++++++++++++++++++++
+ toolkit/system/gnome/nsGnomeModule.cpp | 5 ++
+ toolkit/system/gnome/nsSystemAlertsService.cpp | 54 ++++++++++++++++
+ toolkit/system/gnome/nsSystemAlertsService.h | 27 ++++++++
+ 7 files changed, 226 insertions(+), 25 deletions(-)
+
+diff --git toolkit/components/alerts/nsAlertsService.cpp toolkit/components/alerts/nsAlertsService.cpp
+index 93f4536..f8b5e07 100644
+--- toolkit/components/alerts/nsAlertsService.cpp
++++ toolkit/components/alerts/nsAlertsService.cpp
+@@ -100,9 +100,11 @@ NS_IMETHODIMP nsAlertsService::ShowAlertNotification(const nsAString & aImageUrl
+ nsCOMPtr<nsIAlertsService> sysAlerts(do_GetService(NS_SYSTEMALERTSERVICE_CONTRACTID));
+ nsresult rv;
+ if (sysAlerts) {
+- return sysAlerts->ShowAlertNotification(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable,
+- aAlertCookie, aAlertListener, aAlertName,
+- aBidi, aLang, IPC::Principal(aPrincipal));
++ rv = sysAlerts->ShowAlertNotification(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable,
++ aAlertCookie, aAlertListener, aAlertName,
++ aBidi, aLang, IPC::Principal(aPrincipal));
++ if (NS_SUCCEEDED(rv))
++ return NS_OK;
+ }
+
+ if (!ShouldShowAlert()) {
+diff --git toolkit/system/gnome/moz.build toolkit/system/gnome/moz.build
+index c033f8b..9242209 100644
+--- toolkit/system/gnome/moz.build
++++ toolkit/system/gnome/moz.build
+@@ -5,7 +5,9 @@
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ SOURCES += [
++ 'nsAlertsIconListener.cpp',
+ 'nsGnomeModule.cpp',
++ 'nsSystemAlertsService.cpp',
+ ]
+
+ if CONFIG['MOZ_ENABLE_GCONF']:
+diff --git toolkit/system/gnome/nsAlertsIconListener.cpp toolkit/system/gnome/nsAlertsIconListener.cpp
+index f39335e..55f4356 100644
+--- toolkit/system/gnome/nsAlertsIconListener.cpp
++++ toolkit/system/gnome/nsAlertsIconListener.cpp
+@@ -51,6 +51,21 @@ static void notify_closed_marshal(GClosure* closure,
+ NS_RELEASE(alert);
+ }
+
++static GdkPixbuf*
++GetPixbufFromImgRequest(imgIRequest* aRequest)
++{
++ nsCOMPtr<imgIContainer> image;
++ nsresult rv = aRequest->GetImage(getter_AddRefs(image));
++ if (NS_FAILED(rv)) {
++ return nullptr;
++ }
++
++ nsCOMPtr<nsIImageToPixbuf> imgToPixbuf =
++ do_GetService("@mozilla.org/widget/image-to-gdk-pixbuf;1");
++
++ return imgToPixbuf->ConvertImageToPixbuf(image);
++}
++
+ NS_IMPL_ISUPPORTS(nsAlertsIconListener, imgINotificationObserver,
+ nsIObserver, nsISupportsWeakReference)
+
+@@ -106,47 +121,45 @@ nsAlertsIconListener::Notify(imgIRequest *aRequest, int32_t aType, const nsIntRe
+ nsresult
+ nsAlertsIconListener::OnStopRequest(imgIRequest* aRequest)
+ {
++ NS_ASSERTION(mIconRequest == aRequest, "aRequest does not match!");
++
+ uint32_t imgStatus = imgIRequest::STATUS_ERROR;
+ nsresult rv = aRequest->GetImageStatus(&imgStatus);
+ NS_ENSURE_SUCCESS(rv, rv);
+ if (imgStatus == imgIRequest::STATUS_ERROR && !mLoadedFrame) {
+ // We have an error getting the image. Display the notification with no icon.
+ ShowAlert(nullptr);
+- }
+
+- if (mIconRequest) {
++ // Cancel any pending request
+ mIconRequest->Cancel(NS_BINDING_ABORTED);
+ mIconRequest = nullptr;
+ }
++
+ return NS_OK;
+ }
+
+ nsresult
+ nsAlertsIconListener::OnStopFrame(imgIRequest* aRequest)
+ {
+- if (aRequest != mIconRequest)
+- return NS_ERROR_FAILURE;
++ NS_ASSERTION(mIconRequest == aRequest, "aRequest does not match!");
+
+ if (mLoadedFrame)
+ return NS_OK; // only use one frame
+
+- nsCOMPtr<imgIContainer> image;
+- nsresult rv = aRequest->GetImage(getter_AddRefs(image));
+- if (NS_FAILED(rv))
+- return rv;
+-
+- nsCOMPtr<nsIImageToPixbuf> imgToPixbuf =
+- do_GetService("@mozilla.org/widget/image-to-gdk-pixbuf;1");
+-
+- GdkPixbuf* imagePixbuf = imgToPixbuf->ConvertImageToPixbuf(image);
+- if (!imagePixbuf)
+- return NS_ERROR_FAILURE;
++ GdkPixbuf* imagePixbuf = GetPixbufFromImgRequest(aRequest);
++ if (!imagePixbuf) {
++ ShowAlert(nullptr);
++ } else {
++ ShowAlert(imagePixbuf);
++ g_object_unref(imagePixbuf);
++ }
+
+- ShowAlert(imagePixbuf);
++ mLoadedFrame = true;
+
+- g_object_unref(imagePixbuf);
++ // Cancel any pending request (multipart image loading/decoding for instance)
++ mIconRequest->Cancel(NS_BINDING_ABORTED);
++ mIconRequest = nullptr;
+
+- mLoadedFrame = true;
+ return NS_OK;
+ }
+
+@@ -180,6 +193,9 @@ nsAlertsIconListener::ShowAlert(GdkPixbuf* aPixbuf)
+ mClosureHandler = g_signal_connect_closure(mNotification, "closed", closure, FALSE);
+ gboolean result = notify_notification_show(mNotification, nullptr);
+
++ if (result && mAlertListener)
++ mAlertListener->Observe(nullptr, "alertshow", mAlertCookie.get());
++
+ return result ? NS_OK : NS_ERROR_FAILURE;
+ }
+
+@@ -201,9 +217,15 @@ nsAlertsIconListener::StartRequest(const nsAString & aImageUrl)
+ if (!il)
+ return ShowAlert(nullptr);
+
+- return il->LoadImageXPCOM(imageUri, nullptr, nullptr, nullptr, nullptr,
+- this, nullptr, nsIRequest::LOAD_NORMAL, nullptr,
+- nullptr, getter_AddRefs(mIconRequest));
++ nsresult rv = il->LoadImageXPCOM(imageUri, nullptr, nullptr, nullptr, nullptr,
++ this, nullptr, nsIRequest::LOAD_NORMAL, nullptr,
++ 0 /* use default */, getter_AddRefs(mIconRequest));
++ if (NS_FAILED(rv))
++ return rv;
++
++ mIconRequest->StartDecoding();
++
++ return NS_OK;
+ }
+
+ void
+diff --git toolkit/system/gnome/nsAlertsIconListener.h toolkit/system/gnome/nsAlertsIconListener.h
+new file mode 100644
+index 0000000..ac96db9
+--- /dev/null
++++ toolkit/system/gnome/nsAlertsIconListener.h
+@@ -0,0 +1,89 @@
++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
++/* This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++#ifndef nsAlertsIconListener_h__
++#define nsAlertsIconListener_h__
++
++#include "nsCOMPtr.h"
++#include "imgINotificationObserver.h"
++#include "nsStringAPI.h"
++#include "nsIObserver.h"
++#include "nsWeakReference.h"
++
++#include <gdk-pixbuf/gdk-pixbuf.h>
++
++class imgIRequest;
++
++struct NotifyNotification;
++
++class nsAlertsIconListener : public imgINotificationObserver,
++ public nsIObserver,
++ public nsSupportsWeakReference
++{
++public:
++ NS_DECL_ISUPPORTS
++ NS_DECL_IMGINOTIFICATIONOBSERVER
++ NS_DECL_NSIOBSERVER
++
++ nsAlertsIconListener();
++
++ nsresult InitAlertAsync(const nsAString & aImageUrl,
++ const nsAString & aAlertTitle,
++ const nsAString & aAlertText,
++ bool aAlertTextClickable,
++ const nsAString & aAlertCookie,
++ nsIObserver * aAlertListener);
++
++ void SendCallback();
++ void SendClosed();
++
++protected:
++ virtual ~nsAlertsIconListener();
++
++ nsresult OnStopRequest(imgIRequest* aRequest);
++ nsresult OnStopFrame(imgIRequest* aRequest);
++
++ /**
++ * The only difference between libnotify.so.4 and libnotify.so.1 for these symbols
++ * is that notify_notification_new takes three arguments in libnotify.so.4 and
++ * four in libnotify.so.1.
++ * Passing the fourth argument as NULL is binary compatible.
++ */
++ typedef void (*NotifyActionCallback)(NotifyNotification*, char*, gpointer);
++ typedef bool (*notify_is_initted_t)(void);
++ typedef bool (*notify_init_t)(const char*);
++ typedef GList* (*notify_get_server_caps_t)(void);
++ typedef NotifyNotification* (*notify_notification_new_t)(const char*, const char*, const char*, const char*);
++ typedef bool (*notify_notification_show_t)(void*, char*);
++ typedef void (*notify_notification_set_icon_from_pixbuf_t)(void*, GdkPixbuf*);
++ typedef void (*notify_notification_add_action_t)(void*, const char*, const char*, NotifyActionCallback, gpointer, GFreeFunc);
++
++ nsCOMPtr<imgIRequest> mIconRequest;
++ nsCString mAlertTitle;
++ nsCString mAlertText;
++
++ nsCOMPtr<nsIObserver> mAlertListener;
++ nsString mAlertCookie;
++
++ bool mLoadedFrame;
++ bool mAlertHasAction;
++
++ static void* libNotifyHandle;
++ static bool libNotifyNotAvail;
++ static notify_is_initted_t notify_is_initted;
++ static notify_init_t notify_init;
++ static notify_get_server_caps_t notify_get_server_caps;
++ static notify_notification_new_t notify_notification_new;
++ static notify_notification_show_t notify_notification_show;
++ static notify_notification_set_icon_from_pixbuf_t notify_notification_set_icon_from_pixbuf;
++ static notify_notification_add_action_t notify_notification_add_action;
++ NotifyNotification* mNotification;
++ gulong mClosureHandler;
++
++ nsresult StartRequest(const nsAString & aImageUrl);
++ nsresult ShowAlert(GdkPixbuf* aPixbuf);
++};
++
++#endif
+diff --git toolkit/system/gnome/nsGnomeModule.cpp toolkit/system/gnome/nsGnomeModule.cpp
+index 5ccc8e5..f893893 100644
+--- toolkit/system/gnome/nsGnomeModule.cpp
++++ toolkit/system/gnome/nsGnomeModule.cpp
+@@ -22,6 +22,8 @@ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGnomeVFSService, Init)
+ NS_GENERIC_FACTORY_CONSTRUCTOR(nsGIOService)
+ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGSettingsService, Init)
+ #endif
++#include "nsSystemAlertsService.h"
++NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsSystemAlertsService, Init)
+
+ #ifdef MOZ_ENABLE_GCONF
+ NS_DEFINE_NAMED_CID(NS_GCONFSERVICE_CID);
+@@ -33,6 +35,7 @@ NS_DEFINE_NAMED_CID(NS_GNOMEVFSSERVICE_CID);
+ NS_DEFINE_NAMED_CID(NS_GIOSERVICE_CID);
+ NS_DEFINE_NAMED_CID(NS_GSETTINGSSERVICE_CID);
+ #endif
++NS_DEFINE_NAMED_CID(NS_SYSTEMALERTSSERVICE_CID);
+
+ static const mozilla::Module::CIDEntry kGnomeCIDs[] = {
+ #ifdef MOZ_ENABLE_GCONF
+@@ -45,6 +48,7 @@ static const mozilla::Module::CIDEntry kGnomeCIDs[] = {
+ { &kNS_GIOSERVICE_CID, false, nullptr, nsGIOServiceConstructor },
+ { &kNS_GSETTINGSSERVICE_CID, false, nullptr, nsGSettingsServiceConstructor },
+ #endif
++ { &kNS_SYSTEMALERTSSERVICE_CID, false, nullptr, nsSystemAlertsServiceConstructor },
+ { nullptr }
+ };
+
+@@ -59,6 +63,7 @@ static const mozilla::Module::ContractIDEntry kGnomeContracts[] = {
+ { NS_GIOSERVICE_CONTRACTID, &kNS_GIOSERVICE_CID },
+ { NS_GSETTINGSSERVICE_CONTRACTID, &kNS_GSETTINGSSERVICE_CID },
+ #endif
++ { NS_SYSTEMALERTSERVICE_CONTRACTID, &kNS_SYSTEMALERTSSERVICE_CID },
+ { nullptr }
+ };
+
+diff --git toolkit/system/gnome/nsSystemAlertsService.cpp toolkit/system/gnome/nsSystemAlertsService.cpp
+new file mode 100644
+index 0000000..b91b402
+--- /dev/null
++++ toolkit/system/gnome/nsSystemAlertsService.cpp
+@@ -0,0 +1,53 @@
++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode:nil; c-basic-offset: 2 -*- */
++/* This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++#include "nsXULAppAPI.h"
++#include "nsSystemAlertsService.h"
++#include "nsAlertsIconListener.h"
++#include "nsAutoPtr.h"
++
++NS_IMPL_ADDREF(nsSystemAlertsService)
++NS_IMPL_RELEASE(nsSystemAlertsService)
++
++NS_INTERFACE_MAP_BEGIN(nsSystemAlertsService)
++ NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIAlertsService)
++ NS_INTERFACE_MAP_ENTRY(nsIAlertsService)
++NS_INTERFACE_MAP_END_THREADSAFE
++
++nsSystemAlertsService::nsSystemAlertsService()
++{
++}
++
++nsSystemAlertsService::~nsSystemAlertsService()
++{}
++
++nsresult
++nsSystemAlertsService::Init()
++{
++ return NS_OK;
++}
++
++NS_IMETHODIMP nsSystemAlertsService::ShowAlertNotification(const nsAString & aImageUrl, const nsAString & aAlertTitle,
++ const nsAString & aAlertText, bool aAlertTextClickable,
++ const nsAString & aAlertCookie,
++ nsIObserver * aAlertListener,
++ const nsAString & aAlertName,
++ const nsAString & aBidi,
++ const nsAString & aLang,
++ nsIPrincipal * aPrincipal)
++{
++ nsRefPtr<nsAlertsIconListener> alertListener = new nsAlertsIconListener();
++ if (!alertListener)
++ return NS_ERROR_OUT_OF_MEMORY;
++
++ return alertListener->InitAlertAsync(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable,
++ aAlertCookie, aAlertListener);
++}
++
++NS_IMETHODIMP nsSystemAlertsService::CloseAlert(const nsAString& aAlertName,
++ nsIPrincipal* aPrincipal)
++{
++ return NS_ERROR_NOT_IMPLEMENTED;
++}
+diff --git toolkit/system/gnome/nsSystemAlertsService.h toolkit/system/gnome/nsSystemAlertsService.h
+new file mode 100644
+index 0000000..b0bd625
+--- /dev/null
++++ toolkit/system/gnome/nsSystemAlertsService.h
+@@ -0,0 +1,27 @@
++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
++/* This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++#ifndef nsSystemAlertsService_h__
++#define nsSystemAlertsService_h__
++
++#include "nsIAlertsService.h"
++#include "nsCOMPtr.h"
++
++class nsSystemAlertsService : public nsIAlertsService
++{
++public:
++ NS_DECL_NSIALERTSSERVICE
++ NS_DECL_ISUPPORTS
++
++ nsSystemAlertsService();
++
++ nsresult Init();
++
++protected:
++ virtual ~nsSystemAlertsService();
++
++};
++
++#endif /* nsSystemAlertsService_h__ */
diff --git a/www/libxul/files/patch-duckduckgo b/www/libxul/files/patch-duckduckgo
deleted file mode 100644
index bc3a7e321f41..000000000000
--- a/www/libxul/files/patch-duckduckgo
+++ /dev/null
@@ -1,47 +0,0 @@
-diff -r f2fa4ae74ee1 browser/locales/en-US/chrome/browser-region/region.properties
---- browser/locales/en-US/chrome/browser-region/region.properties Mon Oct 24 22:54:18 2011 +0300
-+++ browser/locales/en-US/chrome/browser-region/region.properties Tue Oct 25 21:13:40 2011 -0400
-@@ -9,6 +9,7 @@
- browser.search.order.1=Google
- browser.search.order.2=Yahoo
- browser.search.order.3=Bing
-+browser.search.order.4=DuckDuckGo
-
- # This is the default set of web based feed handlers shown in the reader
- # selection UI
---- /dev/null 2013-02-09 00:33:00.000000000 +0100
-+++ browser/locales/en-US/searchplugins/duckduckgo.xml 2013-02-09 00:40:19.000000000 +0100
-@@ -0,0 +1,11 @@
-+<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
-+<ShortName>DuckDuckGo</ShortName>
-+<Description>We believe in better search and not tracking.</Description>
-+<InputEncoding>UTF-8</InputEncoding>
-+<Image height="16" width="16" type="image/x-icon">data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAANcNAADXDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJmlk8pf6+v3s/v7+++zr/fcnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnIOwBJyDscCcg7PZttJ7/7Pfs//////++xO7/S5GA/ycg7P8nIOz2JyDscCcg7AEAAAAAAAAAAAAAAAAnIOwBJyDstScg7P8nIOz/Y8p5/2fHZf9Yv0z/YcF2/1rBUv8nIOz/JyDs/ycg7P8nIOy1JyDsAQAAAAAAAAAAJyDscCcg7P8nIOz/JyDs/4jQoP/p9+n//////05X3v9LkYD/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAJyDsJicg7PYnIOz/JyDs/zUu7f/+/v////////////89N+7/JyDs/yUo7f8nIOz/JyDs/ycg7P8nIOz2JyDsJicg7IAnIOz/JyDs/ycg7P9hXPH////////////t/P//GIr2/wfD+/8Gyfz/DKv5/yM57/8nIOz/JyDs/ycg7H8nIOyzJyDs/ycg7P8nIOz/jov1////////////Otz9/w3G/P8cWfH/JSvt/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDs5icg7P8nIOz/JyDs/7u5+f///////////27l/v8E0v3/BNL9/wTQ/f8Oofn/IT7v/ycg7P8nIOz/JyDs5icg7OYnIOz/JyDs/ycg7P/p6P3/uWsC////////////5fr//6Po/f8Thfb/DKv5/w6f+f8nIOz/JyDs/ycg7OYnIOyzJyDs/ycg7P8nIOz/9/b+/////////////////7lrAv/V1Pv/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDsgCcg7P8nIOz/JyDs/8/N+///////////////////////iIX1/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDsfycg7CYnIOz2JyDs/ycg7P9FP+7/q6n4/+7u/f/n5v3/fXn0/yoj7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7CYAAAAAJyDscCcg7P8nIOz/wsD6/+no/f/Y1/z/eHTz/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAAAAAACcg7AEnIOy1JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7LUnIOwBAAAAAAAAAAAAAAAAJyDsAScg7HAnIOz2JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7HAnIOwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJicg7IAnIOyzJyDs5icg7OYnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAA+B8AAPAPAADAAwAAwAMAAIABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAACAAQAAwAMAAMADAADwDwAA+B8AAA==</Image>
-+<Url type="text/html" method="GET" template="https://duckduckgo.com/">
-+<Param name="q" value="{searchTerms}"/>
-+<Param name="t" value="freebsd"/>
-+</Url>
-+<SearchForm>https://duckduckgo.com/</SearchForm>
-+</SearchPlugin>
-diff -r f2fa4ae74ee1 browser/locales/en-US/searchplugins/list.txt
---- browser/locales/en-US/searchplugins/list.txt Mon Oct 24 22:54:18 2011 +0300
-+++ browser/locales/en-US/searchplugins/list.txt Tue Oct 25 21:13:40 2011 -0400
-@@ -1,7 +1,8 @@
- amazondotcom
- bing
-+duckduckgo
- eBay
- google
- twitter
- wikipedia
- yahoo
---- browser/app/profile/firefox.js.orig 2013-02-09 12:26:02.000000000 +0100
-+++ browser/app/profile/firefox.js 2013-02-09 12:26:19.000000000 +0100
-@@ -341,6 +341,7 @@
- pref("browser.search.order.1", "chrome://browser-region/locale/region.properties");
- pref("browser.search.order.2", "chrome://browser-region/locale/region.properties");
- pref("browser.search.order.3", "chrome://browser-region/locale/region.properties");
-+pref("browser.search.order.4", "chrome://browser-region/locale/region.properties");
-
- // search bar results always open in a new tab
- pref("browser.search.openintab", false);
diff --git a/www/linux-firefox/Makefile b/www/linux-firefox/Makefile
index 0244723f185c..636b1a11f8de 100644
--- a/www/linux-firefox/Makefile
+++ b/www/linux-firefox/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= firefox
-DISTVERSION= 33.0
+DISTVERSION= 34.0.5
PORTEPOCH= 1
CATEGORIES= www ipv6
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US
diff --git a/www/linux-firefox/distinfo b/www/linux-firefox/distinfo
index f811688ffc93..3cd9f5780130 100644
--- a/www/linux-firefox/distinfo
+++ b/www/linux-firefox/distinfo
@@ -1,5 +1,5 @@
-SHA256 (firefox-33.0.tar.bz2) = 56ba7069dcd2f026e7a21867ab71e1fce462031d3fea77d180ee922eb1c96239
-SIZE (firefox-33.0.tar.bz2) = 43261598
+SHA256 (firefox-34.0.5.tar.bz2) = bed2197e38ff7ea2152c7c295b5eac15efd031695075613c57afe003c6c2a728
+SIZE (firefox-34.0.5.tar.bz2) = 46607342
SHA256 (glib2-2.22.2-2.fc12.i686.rpm) = e3b459c245ec14e7248e9de4b506963a4773407f3e58835db5070d0ed02ecc99
SIZE (glib2-2.22.2-2.fc12.i686.rpm) = 1162908
SHA256 (gtk2-2.18.3-19.fc12.i686.rpm) = aea9cf7ffe9c8dae0faa2bf3d2aa1b2117c55dce03da72dcce8c268279ec0a4b
diff --git a/www/linux-firefox/pkg-plist b/www/linux-firefox/pkg-plist
index 02e3cb5dbab7..389c32620c5f 100644
--- a/www/linux-firefox/pkg-plist
+++ b/www/linux-firefox/pkg-plist
@@ -18,6 +18,7 @@ lib/%%APP_NAME%%/browser/omni.ja
lib/%%APP_NAME%%/browser/plugins
lib/%%APP_NAME%%/browser/searchplugins/amazondotcom.xml
lib/%%APP_NAME%%/browser/searchplugins/bing.xml
+lib/%%APP_NAME%%/browser/searchplugins/ddg.xml
lib/%%APP_NAME%%/browser/searchplugins/eBay.xml
lib/%%APP_NAME%%/browser/searchplugins/google.xml
lib/%%APP_NAME%%/browser/searchplugins/twitter.xml
@@ -43,6 +44,7 @@ lib/%%APP_NAME%%/libfreebl3.so
%%GTK218%%lib/%%APP_NAME%%/libglib-2.0.so.0
%%GTK218%%lib/%%APP_NAME%%/libgtk-x11-2.0.so.0
lib/%%APP_NAME%%/libmozalloc.so
+lib/%%APP_NAME%%/libmozsandbox.so
lib/%%APP_NAME%%/libmozsqlite3.so
lib/%%APP_NAME%%/libnspr4.so
lib/%%APP_NAME%%/libnss3.so