aboutsummaryrefslogtreecommitdiff
path: root/www/firefox
diff options
context:
space:
mode:
authorFlorian Smeets <flo@FreeBSD.org>2013-12-14 13:42:06 +0000
committerFlorian Smeets <flo@FreeBSD.org>2013-12-14 13:42:06 +0000
commit7efa77ad7c5cf3417d7fe8c89dbe949a8facca79 (patch)
tree3f75766ca5d76f6dd2367c583fb90b16519be03a /www/firefox
parent306f0fd83b4dd6ed92cb257b5f916bc09f1583bf (diff)
downloadports-7efa77ad7c5cf3417d7fe8c89dbe949a8facca79.tar.gz
ports-7efa77ad7c5cf3417d7fe8c89dbe949a8facca79.zip
Notes
Diffstat (limited to 'www/firefox')
-rw-r--r--www/firefox/Makefile12
-rw-r--r--www/firefox/Makefile.webplugins222
-rw-r--r--www/firefox/distinfo4
-rw-r--r--www/firefox/files/extra-bug78053124
-rw-r--r--www/firefox/files/firefox.desktop.in6
-rw-r--r--www/firefox/files/patch-browser-app-nsBrowserApp.cpp2
-rw-r--r--www/firefox/files/patch-bug807492628
-rw-r--r--www/firefox/files/patch-bug851992331
-rw-r--r--www/firefox/files/patch-bug85330110
-rw-r--r--www/firefox/files/patch-bug87615613
-rw-r--r--www/firefox/files/patch-bug88618111
-rw-r--r--www/firefox/files/patch-bug910875102
-rw-r--r--www/firefox/files/patch-bug91621639
-rw-r--r--www/firefox/files/patch-bug91817736
-rw-r--r--www/firefox/files/patch-bug945046130
-rw-r--r--www/firefox/files/patch-bug94656044
-rw-r--r--www/firefox/files/patch-bug94786231
-rw-r--r--www/firefox/files/patch-config-baseconfig.mk4
18 files changed, 217 insertions, 1432 deletions
diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index 85156ec1fd6b..2b705e7f08aa 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -2,24 +2,22 @@
# $FreeBSD$
PORTNAME= firefox
-DISTVERSION= 25.0
-PORTREVISION= 1
+DISTVERSION= 26.0
PORTEPOCH= 1
CATEGORIES= www ipv6
-MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
- https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source/
+MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source
DISTNAME= ${PORTNAME}-${DISTVERSION}.source
MAINTAINER= gecko@FreeBSD.org
COMMENT= Web browser based on the browser portion of Mozilla
-BUILD_DEPENDS= nspr>=4.10:${PORTSDIR}/devel/nspr \
+BUILD_DEPENDS= nspr>=4.10.2:${PORTSDIR}/devel/nspr \
+ nss>=3.15:${PORTSDIR}/security/nss \
sqlite3>=3.7.17:${PORTSDIR}/databases/sqlite3 \
${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \
cairo>=1.10.2_1,1:${PORTSDIR}/graphics/cairo \
v4l_compat>0:${PORTSDIR}/multimedia/v4l_compat \
unzip:${PORTSDIR}/archivers/unzip
-# nss>=3.15:${PORTSDIR}/security/nss \
LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l
@@ -29,7 +27,7 @@ OBJDIR_BUILD= # in-tree build broken after bug 789837
USE_GECKO= gecko
CONFLICTS= firefox-esr-24.* firefox-esr-17.* firefox-1[07].*
MOZ_PKGCONFIG_FILES= # empty
-USE_MOZILLA= -nss # bug713933
+USE_MOZILLA= # empty
MOZILLA_NAME= Firefox
WANT_GNOME= yes
diff --git a/www/firefox/Makefile.webplugins b/www/firefox/Makefile.webplugins
deleted file mode 100644
index 9cd5effdee01..000000000000
--- a/www/firefox/Makefile.webplugins
+++ /dev/null
@@ -1,222 +0,0 @@
-# Created by: Andrew Pantyukhin <infofarmer@FreeBSD.org>
-# $FreeBSD$
-
-# MAINTAINER= gecko@FreeBSD.org
-#
-# Documentation and examples:
-#
-# Makefile.webplugins will create symlinks automatically for each supported
-# application that supports the webplugins framework. Also, it will remove
-# these symlinks when the plug-in port is uninstalled.
-#
-# USE_WEBPLUGINS - Specify a list of applications that this plug-in
-# port supports. For each of these applications, a
-# symlink will be created in
-# lib/browser_plugins/symlinks. See
-# WEBPLUGINS_APPS_ALL_* below for the list of
-# supported applications.
-# Default: USE_WEBPLUGINS=${WEBPLUGINS_APPS_ALL} (all
-# applications)
-#
-# WEBPLUGINS_NAME - If your port installs files in ${WEBPLUGINS_DIR},
-# then you can tweak WEBPLUGINS_NAME to change the
-# name of the directory
-# (lib/browser_plugins/symlinks/WEBPLUGINS_NAME).
-# Default: WEBPLUGINS_NAME=${PKGBASE}
-#
-# WEBPLUGINS_FILES - The plug-in files that are going to be linked
-# in lib/browser_plugins/symlinks/*/. It cannot
-# be empty or the port will set IGNORE.
-#
-# WEBPLUGINS_DIR - The directory where the plug-in file(s) can be
-# found. Each plug-in file in WEBPLUGINS_FILES
-# must be found in WEBPLUGINS_DIR. If your port
-# does not install in WEBPLUGINS_DIR, but in its own
-# path, you will need to specify that here or
-# symlinks will be created to non-existent files.
-# Default: WEBPLUGINS_DIR=${WEBPLUGINS_LIBDIR:S,^${LOCALBASE}/,${PREFIX}/,}/${WEBPLUGINS_NAME}
-#
-#
-# The USE_WEBPLUGINS supports wildcards, native, and linux; so you can do any
-# of the following:
-#
-# USE_WEBPLUGINS=gecko* (Supports gecko18 and gecko19.)
-# USE_WEBPLUGINS=native (Supports gecko*, opera*, and webkit-gtk2)
-# USE_WEBPLUGINS=linux (Supports linux-*)
-# USE_WEBPLUGINS=opera webkit-gtk2
-#
-# Example to add in Makefile and pkg-plist if the plug-in files are installled
-# to WEBPLUGINS_DIR, and if your port does this manually:
-#
-# Makefile:
-# ------------------------------------------------------
-# [...]
-# USE_WEBPLUGINS=gecko*
-# WEBPLUGINS_FILES=fooplugin.so fooplugin.xpi
-#
-# .include <bsd.port.pre.mk>
-# .include "${PORTSDIR}/www/firefox/Makefile.webplugins"
-#
-# post-install:
-# ${MKDIR} ${WEBPLUGINS_DIR}
-# ${INSTALL_DATA} ${WEBPLUGINS_FILES:S,^,${WRKSRC}/plugins/,} \
-# ${WEBPLUGINS_DIR}
-#
-# .include <bsd.port.post.mk>
-# ------------------------------------------------------
-#
-# You do not need to add lib/browser_plugins and lib/browser_plugins/symlinks
-# in pkg-plist, because they will be removed automatically.
-#
-# pkg-plist:
-# ------------------------------------------------------
-# [...]
-# %%WEBPLUGINS_DIR%%/fooplugin.so
-# %%WEBPLUGINS_DIR%%/fooplugin.xpi
-# @dirrmtry %%WEBPLUGINS_DIR%%
-# ------------------------------------------------------
-#
-# Here is what it will look like when it creates the symlinks:
-#
-# ------------------------------------------------------
-# /usr/local/lib/browser_plugins/symlinks/gecko18/fooplugin.so -> /usr/local/lib/browser_plugins/application/fooplugin.so
-# /usr/local/lib/browser_plugins/symlinks/gecko18/fooplugin.xpi -> /usr/local/lib/browser_plugins/application/fooplugin.xpi
-# /usr/local/lib/browser_plugins/symlinks/gecko19/fooplugin.so -> /usr/local/lib/browser_plugins/application/fooplugin.so
-# /usr/local/lib/browser_plugins/symlinks/gecko19/fooplugin.xpi -> /usr/local/lib/browser_plugins/application/fooplugin.xpi
-# ------------------------------------------------------
-#
-# If your port uses libtool, and installs any *.a and *.la files, do not add
-# these files to WEBPLUGINS_FILES. WEBPLUGINS_FILES should be *.so or/and
-# *.xpi ONLY.
-#
-# Example to add in Makefile and pkg-plist if your port installs plug-ins in
-# its own directory, and you need to set WEBPLUGINS_DIR.
-#
-# Makefile:
-# ------------------------------------------------------
-# [...]
-# USE_WEBPLUGINS=gecko*
-# WEBPLUGINS_DIR=${PREFIX}/lib/application
-# WEBPLUGINS_FILES=fooplugin.so fooplugin.xpi
-#
-# .include <bsd.port.pre.mk>
-# .include "${PORTSDIR}/www/firefox/Makefile.webplugins"
-#
-# [...]
-#
-# .include <bsd.port.post.mk>
-# ------------------------------------------------------
-#
-# As for the pkg-plist, it should only include the actual files your
-# port installs:
-#
-# pkg-plist:
-# ------------------------------------------------------
-# [...]
-# lib/application/fooplugin.a
-# lib/application/fooplugin.la
-# lib/application/fooplugin.so
-# lib/application/fooplugin.xpi
-# @dirrm lib/application
-# ------------------------------------------------------
-#
-# Here is what it will look like when it creates symlinks:
-#
-# ------------------------------------------------------
-# /usr/local/lib/browser_plugins/symlinks/gecko18/fooplugin.so -> /usr/local/lib/application/fooplugin.so
-# /usr/local/lib/browser_plugins/symlinks/gecko18/fooplugin.xpi -> /usr/local/lib/application/fooplugin.xpi
-# /usr/local/lib/browser_plugins/symlinks/gecko19/fooplugin.so -> /usr/local/lib/application/fooplugin.so
-# /usr/local/lib/browser_plugins/symlinks/gecko19/fooplugin.xpi -> /usr/local/lib/application/fooplugin.xpi
-# ------------------------------------------------------
-
-WEBPLUGINS_NAME?= ${PKGBASE}
-WEBPLUGINS_FILES?= empty
-WEBPLUGINS_APPS_ALL_LINUX= linux-firefox linux-firefox-devel linux-flock \
- linux-flock-devel linux-mozilla \
- linux-nvu linux-opera linux-opera-devel \
- linux-seamonkey linux-seamonkey-devel \
- linux-sunbird linux-sunbird-devel
-WEBPLUGINS_APPS_ALL_NATIVE= gecko18 gecko19 opera opera-devel webkit-gtk2
-WEBPLUGINS_APPS_ALL= ${WEBPLUGINS_APPS_ALL_LINUX} \
- ${WEBPLUGINS_APPS_ALL_NATIVE}
-
-.if !defined(USE_WEBPLUGINS) || ${USE_WEBPLUGINS} == "yes" || \
- ${USE_WEBPLUGINS} == "*"
-USE_WEBPLUGINS= ${WEBPLUGINS_APPS_ALL}
-.endif
-
-.if !defined(WEBPLUGINS_FILES) || ${WEBPLUGINS_FILES} == "empty" || \
- ${WEBPLUGINS_FILES} == ""
-IGNORE= can't be installed: WEBPLUGINS_FILES is empty. Please, add plug-in files to it and check www/firefox/Makefile.webplugins for documentation
-.endif
-
-.for _TEMP_APP__ in ${WEBPLUGINS_APPS_ALL}
-_TEMP_APP_=${_TEMP_APP__}
-_TEMP_FLAG_=0
-. for _TEMP_USE__ in ${USE_WEBPLUGINS}
-_TEMP_USE_=${_TEMP_USE__}
-. if !${_TEMP_APP_:C!${_TEMP_USE_:S/*/.*/:S/?/./}!!} || \
- ( ${_TEMP_APP_:Mlinux-*} && ${_TEMP_USE_:Mlinux} ) || \
- ( ${_TEMP_APP_:Nlinux-*} && ${_TEMP_USE_:Mnative} )
-_TEMP_FLAG_=1
-. endif
-. endfor
-. if ${_TEMP_FLAG_}
-USE_WEBPLUGINS_EXP+= ${_TEMP_APP__}
-. endif
-.endfor
-
-WEBPLUGINS_APPS= ${USE_WEBPLUGINS_EXP:S.^.${LOCALBASE}/lib/.:S.$./plugins.:N*opera*:N*gecko*:N*webkit*}
-WEBPLUGINS_SLDIRS= ${USE_WEBPLUGINS_EXP:S.^.${WEBPLUGINS_SLDIR}/.}
-WEBPLUGINS_LINKFARMS= ${WEBPLUGINS_APPS} ${WEBPLUGINS_SLDIRS}
-
-WEBPLUGINS_LIBDIR= ${LOCALBASE}/lib/browser_plugins
-WEBPLUGINS_SLDIR= ${WEBPLUGINS_LIBDIR}/symlinks
-WEBPLUGINS_DIR?= ${WEBPLUGINS_LIBDIR:S,^${LOCALBASE}/,${PREFIX}/,}/${WEBPLUGINS_NAME}
-
-PLIST_SUB+= WEBPLUGINS_DIR="${WEBPLUGINS_DIR:S,^${PREFIX}/,,}"
-
-_LNWF= ${WEBPLUGINS_FILES:S,^,${WEBPLUGINS_DIR}/,}
-_Q= 2>/dev/null || true
-_WLD= ${WEBPLUGINS_LIBDIR:S,^${LOCALBASE},%D,}
-_WLF= ${WEBPLUGINS_LINKFARMS:S,${LOCALBASE},%D,}
-_WSD= ${WEBPLUGINS_SLDIR:S,^${LOCALBASE},%D,}
-
-webplugins-post-install:
- @if [ ! -d ${WEBPLUGINS_DIR} ]; then \
- ${ECHO_CMD}; \
- ${ECHO_CMD} "ERROR: \"${WEBPLUGINS_DIR}\" in WEBPLUGINS_DIR is either a typo or no longer exists. Please, file a bug report to ${MAINTAINER} (maintainer)."; \
- ${ECHO_CMD}; \
- else \
- for _f in ${WEBPLUGINS_FILES}; do \
- if [ ! -f ${WEBPLUGINS_DIR}/$${_f} ]; then \
- ${ECHO_CMD}; \
- ${ECHO_CMD} "ERROR: \"$${_f}\" in WEBPLUGINS_FILES is either a typo or no longer exists. Please, file a bug report to ${MAINTAINER} (maintainer)."; \
- ${ECHO_CMD}; \
- fi; \
- done; \
- fi; \
- for _d in ${WEBPLUGINS_LINKFARMS}; do \
- ${INSTALL} -d $${_d}; \
- for _l in ${_LNWF}; do \
- ${LN} -sf $${_l} $${_d}/ ${_Q}; \
- done; \
- done; \
- if [ "${PREFIX}" != "${LOCALBASE}" ]; then \
- ${ECHO_CMD} "@unexec rmdir ${_WLD} ${_Q}" >> ${TMPPLIST}; \
- fi; \
- ${ECHO_CMD} "@cwd ${LOCALBASE}" >> ${TMPPLIST}; \
- for _d in ${_WLF}; do \
- ${ECHO_CMD} "@exec ${INSTALL} -d $$_d" >> ${TMPPLIST}; \
- for _l in ${_LNWF}; do \
- ${ECHO_CMD} "@exec ${LN} -sf $$_l $$_d/ ${_Q}" >> ${TMPPLIST}; \
- done; \
- for _f in ${WEBPLUGINS_FILES:S,^,\${_d}/,}; do \
- ${ECHO_CMD} "@unexec ${RM} -f $$_f" >> ${TMPPLIST}; \
- done; \
- ${ECHO_CMD} "@unexec rmdir $$_d ${_Q}" >> ${TMPPLIST}; \
- done
- @${ECHO_CMD} "@unexec rmdir ${_WSD} ${_Q}" >> ${TMPPLIST}
- @${ECHO_CMD} "@unexec rmdir ${_WLD} ${_Q}" >> ${TMPPLIST}
-
-post-install: webplugins-post-install
diff --git a/www/firefox/distinfo b/www/firefox/distinfo
index 339366d9f9cf..94ab619b29d5 100644
--- a/www/firefox/distinfo
+++ b/www/firefox/distinfo
@@ -1,2 +1,2 @@
-SHA256 (firefox-25.0.source.tar.bz2) = 5463cc625ac2a06d4d33b43dfb6365da830eef11f3ef5c0512714baaded59272
-SIZE (firefox-25.0.source.tar.bz2) = 127524815
+SHA256 (firefox-26.0.source.tar.bz2) = 31c4fb2792df63ae450e350380a5e18cf1c51487011a9da0b6cc4bffb69d9812
+SIZE (firefox-26.0.source.tar.bz2) = 127526380
diff --git a/www/firefox/files/extra-bug780531 b/www/firefox/files/extra-bug780531
deleted file mode 100644
index 26859a9bde10..000000000000
--- a/www/firefox/files/extra-bug780531
+++ /dev/null
@@ -1,24 +0,0 @@
---- configure.in~
-+++ configure.in
-@@ -5364,15 +5364,18 @@ AC_SUBST(MOZ_SRTP)
-
- dnl Use integers over floats for audio on B2G and Android, because audio
- dnl backends for those platforms don't support floats.
--if test "$OS_TARGET" = "Android"; then
-+case "$target" in
-+*-android*|*-linuxandroid*|*-dragonfly*|*-freebsd*|*-netbsd*|*-openbsd*)
- MOZ_SAMPLE_TYPE_S16=1
- AC_DEFINE(MOZ_SAMPLE_TYPE_S16)
- AC_SUBST(MOZ_SAMPLE_TYPE_S16)
--else
-+;;
-+*)
- MOZ_SAMPLE_TYPE_FLOAT32=1
- AC_DEFINE(MOZ_SAMPLE_TYPE_FLOAT32)
- AC_SUBST(MOZ_SAMPLE_TYPE_FLOAT32)
--fi
-+;;
-+esac
-
- dnl ========================================================
- dnl = Disable Speech API code
diff --git a/www/firefox/files/firefox.desktop.in b/www/firefox/files/firefox.desktop.in
index 27b81ce2bdd7..63e28f69768f 100644
--- a/www/firefox/files/firefox.desktop.in
+++ b/www/firefox/files/firefox.desktop.in
@@ -182,10 +182,10 @@ Comment[vi]=Duyệt web
Comment[wa]=Naivyî avå les waibes
Comment[zh_CN]=浏览 Web
Comment[zh_TW]=瀏覽網頁
-Exec=@MOZILLA@ %u
+Exec=@MOZILLA@ %U
Icon=@FIREFOX_ICON@
-StartupNotify=false
+StartupNotify=true
Terminal=false
Type=Application
-Categories=Application;Network;
+Categories=Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
diff --git a/www/firefox/files/patch-browser-app-nsBrowserApp.cpp b/www/firefox/files/patch-browser-app-nsBrowserApp.cpp
index b8ff70542e0d..b3f59e4eeb6d 100644
--- a/www/firefox/files/patch-browser-app-nsBrowserApp.cpp
+++ b/www/firefox/files/patch-browser-app-nsBrowserApp.cpp
@@ -4,7 +4,7 @@
TriggerQuirks();
#endif
-+ setenv("MOZ_PLUGIN_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko19:%%LOCALBASE%%/lib/npapi/symlinks/firefox", 0);
++ setenv("MOZ_PLUGIN_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0);
int gotCounters;
#if defined(XP_UNIX)
struct rusage initialRUsage;
diff --git a/www/firefox/files/patch-bug807492 b/www/firefox/files/patch-bug807492
deleted file mode 100644
index fbe838d3369d..000000000000
--- a/www/firefox/files/patch-bug807492
+++ /dev/null
@@ -1,628 +0,0 @@
-JJdiff --git configure.in configure.in
-index c167461..8346c11 100644
---- configure.in
-+++ configure.in
-@@ -5246,17 +5246,17 @@ if test "$NS_PRINTING"; then
- AC_DEFINE(NS_PRINT_PREVIEW)
- fi
-
- dnl Turn off webrtc for OS's we don't handle yet, but allow
- dnl --enable-webrtc to override. Can disable for everything in
- dnl the master list above.
- if test -n "$MOZ_WEBRTC"; then
- case "$target" in
-- *-linux*|*-mingw*|*-darwin*|*-android*|*-linuxandroid*)
-+ *-linux*|*-mingw*|*-darwin*|*-android*|*-linuxandroid*|*-dragonfly*|*-freebsd*|*-netbsd*|*-openbsd*)
- dnl Leave enabled
- ;;
- *)
- dnl default to disabled for all others
- MOZ_WEBRTC=
- ;;
- esac
- fi
-diff --git media/mtransport/objs.mk media/mtransport/objs.mk
-index f1fc85f..141e8ca 100644
---- media/mtransport/objs.mk
-+++ media/mtransport/objs.mk
-@@ -18,22 +18,26 @@ LOCAL_INCLUDES += \
- -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/util/libekr \
- -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/log \
- -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/registry \
- -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/stats \
- -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/plugin \
- -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/event \
- $(NULL)
-
--ifeq ($(OS_TARGET), Darwin)
-+ifneq (,$(filter Darwin DragonFly FreeBSD NetBSD OpenBSD,$(OS_TARGET)))
- LOCAL_INCLUDES += \
- -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/darwin/include \
- -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/generic/include \
- $(NULL)
-+ifeq ($(OS_TARGET), Darwin)
- DEFINES += -DDARWIN
-+else
-+DEFINES += -DBSD
-+endif
- endif
-
- ifeq ($(OS_TARGET), Linux)
- LOCAL_INCLUDES += \
- -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/linux/include \
- -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/generic/include \
- $(NULL)
- DEFINES += -DLINUX
-diff --git media/mtransport/test/Makefile.in media/mtransport/test/Makefile.in
-index c1d5bf4..2ecf2c7 100644
---- media/mtransport/test/Makefile.in
-+++ media/mtransport/test/Makefile.in
-@@ -73,22 +73,24 @@ DEFINES += -D__Userspace_os_FreeBSD=1
- else
- #default_fallback; probably doesn't work
- DEFINES += -D__Userspace_os_$(OS_TARGET)=1
- endif
- endif
- endif
- endif
-
--ifeq ($(OS_TARGET), Darwin)
-+ifneq (,$(filter Darwin DragonFly FreeBSD NetBSD OpenBSD,$(OS_TARGET)))
- LOCAL_INCLUDES += -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/darwin/include
-+ifeq ($(OS_TARGET), Darwin)
- DEFINES += \
- -DGTEST_USE_OWN_TR1_TUPLE=1 \
- $(NULL)
- endif
-+endif
-
- ifeq ($(OS_TARGET), Linux)
- LOCAL_INCLUDES += -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/linux/include
- endif
-
- ifeq ($(OS_TARGET), Android)
- LOCAL_INCLUDES += -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/android/include
-
-diff --git media/mtransport/third_party/nICEr/nicer.gyp media/mtransport/third_party/nICEr/nicer.gyp
-index 0e1f8b4..9a4b995 100644
---- media/mtransport/third_party/nICEr/nicer.gyp
-+++ media/mtransport/third_party/nICEr/nicer.gyp
-@@ -126,26 +126,36 @@
- 'R_DEFINED_UINT2=uint16_t',
- 'R_DEFINED_INT4=int32_t',
- 'R_DEFINED_UINT4=uint32_t',
- 'R_DEFINED_INT8=int64_t',
- 'R_DEFINED_UINT8=uint64_t',
- ],
-
- 'conditions' : [
-- ## Mac
-+ ## Mac and BSDs
- [ 'OS == "mac"', {
-+ 'defines' : [
-+ 'DARWIN',
-+ 'HAVE_XLOCALE',
-+ ],
-+ }],
-+ [ 'os_bsd == 1', {
-+ 'defines' : [
-+ 'BSD',
-+ ],
-+ }],
-+ [ 'OS == "mac" or os_bsd == 1', {
- 'cflags_mozilla': [
- '-Wall',
- '-Wno-parentheses',
- '-Wno-strict-prototypes',
- '-Wmissing-prototypes',
- ],
- 'defines' : [
-- 'DARWIN',
- 'HAVE_LIBM=1',
- 'HAVE_STRDUP=1',
- 'HAVE_STRLCPY=1',
- 'HAVE_SYS_TIME_H=1',
- 'HAVE_VFPRINTF=1',
- 'NEW_STDIO'
- 'RETSIGTYPE=void',
- 'TIME_WITH_SYS_TIME_H=1',
-diff --git media/mtransport/third_party/nICEr/src/stun/addrs.c media/mtransport/third_party/nICEr/src/stun/addrs.c
-index b0b66b2..04fea94 100644
---- media/mtransport/third_party/nICEr/src/stun/addrs.c
-+++ media/mtransport/third_party/nICEr/src/stun/addrs.c
-@@ -50,17 +50,19 @@ static char *RCSSTRING __UNUSED__="$Id: addrs.c,v 1.2 2008/04/28 18:21:30 ekr Ex
- #else
- #include <syslog.h>
- /* Work around an Android NDK < r8c bug */
- #undef __unused
- #include <linux/sysctl.h>
- #endif
- #include <net/if.h>
- #ifndef LINUX
-+#if !defined(__OpenBSD__) && !defined(__NetBSD__)
- #include <net/if_var.h>
-+#endif
- #include <net/if_dl.h>
- #include <net/if_types.h>
- #include <sys/sockio.h>
- #else
- #include <linux/if.h>
- #endif
- #include <net/route.h>
-
-@@ -75,17 +77,17 @@ static char *RCSSTRING __UNUSED__="$Id: addrs.c,v 1.2 2008/04/28 18:21:30 ekr Ex
- #include <netdb.h>
- #endif /* UNIX */
-
- #include "stun.h"
- #include "addrs.h"
-
-
-
--#ifdef DARWIN
-+#if defined(BSD) || defined(DARWIN)
- /*
- * Copyright (c) 1983, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
-@@ -685,17 +687,17 @@ nr_stun_remove_duplicate_addrs(nr_transport_addr addrs[], int remove_loopback, i
- }
-
- int
- nr_stun_get_addrs(nr_transport_addr addrs[], int maxaddrs, int drop_loopback, int *count)
- {
- int _status=0;
- int i;
-
--#ifdef DARWIN
-+#if defined(BSD) || defined(DARWIN)
- _status = stun_get_mib_addrs(addrs, maxaddrs, count);
- #elif defined(WIN32)
- _status = stun_get_win32_addrs(addrs, maxaddrs, count);
- #elif defined(__sparc__)
- _status = stun_get_sparc_addrs(addrs, maxaddrs, count);
- #else
- _status = stun_get_siocgifconf_addrs(addrs, maxaddrs, count);
- #endif
-diff --git media/mtransport/third_party/nICEr/src/stun/stun.h media/mtransport/third_party/nICEr/src/stun/stun.h
-index a3c51f9..eb65ac8 100644
---- media/mtransport/third_party/nICEr/src/stun/stun.h
-+++ media/mtransport/third_party/nICEr/src/stun/stun.h
-@@ -36,21 +36,25 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- #ifdef WIN32
- #include <winsock2.h>
- #else
- #include <sys/param.h>
- #include <sys/socket.h>
- #include <net/if.h>
- #ifndef LINUX
-+#if !defined(__OpenBSD__) && !defined(__NetBSD__)
- #include <net/if_var.h>
-+#endif
- #include <net/if_dl.h>
- #include <net/if_types.h>
- #endif
-+#ifndef BSD
- #include <net/route.h>
-+#endif
- #include <netinet/in.h>
- #ifndef LINUX
- #include <netinet/in_var.h>
- #endif
- #include <arpa/inet.h>
- #include <netdb.h>
- #endif
- #include <time.h>
-diff --git media/mtransport/third_party/nICEr/src/util/mbslen.c media/mtransport/third_party/nICEr/src/util/mbslen.c
-index cc260b7..66af2d7 100644
---- media/mtransport/third_party/nICEr/src/util/mbslen.c
-+++ media/mtransport/third_party/nICEr/src/util/mbslen.c
-@@ -38,50 +38,58 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- #include <errno.h>
- #include <csi_platform.h>
-
- #include <assert.h>
- #include <locale.h>
- #include <stdlib.h>
- #include <wchar.h>
--#ifdef DARWIN
-+
-+#ifdef __FreeBSD__
-+#include <osreldate.h>
-+# if __FreeBSD_version > 900505
-+# define HAVE_XLOCALE
-+# endif
-+#endif
-+
-+#ifdef HAVE_XLOCALE
- #include <xlocale.h>
--#endif /* DARWIN */
-+#endif /* HAVE_XLOCALE */
-
- #include "nr_api.h"
- #include "mbslen.h"
-
- /* get number of characters in a mult-byte character string */
- int
- mbslen(const char *s, size_t *ncharsp)
- {
--#ifdef DARWIN
-+#ifdef HAVE_XLOCALE
- static locale_t loc = 0;
- static int initialized = 0;
--#endif /* DARWIN */
-+#endif /* HAVE_XLOCALE */
- #ifdef WIN32
- char *my_locale=0;
- unsigned int i;
- #endif /* WIN32 */
- int _status;
- size_t nbytes;
- int nchars;
- mbstate_t mbs;
-
--#ifdef DARWIN
-+#ifdef HAVE_XLOCALE
- if (! initialized) {
- initialized = 1;
- loc = newlocale(LC_CTYPE_MASK, "UTF-8", LC_GLOBAL_LOCALE);
- }
-
- if (loc == 0) {
- /* unable to create the UTF-8 locale */
- assert(loc != 0); /* should never happen */
--#endif /* DARWIN */
-+#endif /* HAVE_XLOCALE */
-
- #ifdef WIN32
- if (!setlocale(LC_CTYPE, 0))
- ABORT(R_INTERNAL);
-
- if (!(my_locale = r_strdup(setlocale(LC_CTYPE, 0))))
- ABORT(R_NO_MEMORY);
-
-@@ -94,28 +102,28 @@ mbslen(const char *s, size_t *ncharsp)
- /* can't count UTF-8 characters with mbrlen if the locale isn't UTF-8 */
- /* null-checking setlocale is required because Android */
- char *locale = setlocale(LC_CTYPE, 0);
- /* some systems use "utf8" instead of "UTF-8" like Fedora 17 */
- if (!locale || (!strcasestr(locale, "UTF-8") && !strcasestr(locale, "UTF8")))
- ABORT(R_NOT_FOUND);
- #endif
-
--#ifdef DARWIN
-+#ifdef HAVE_XLOCALE
- }
--#endif /* DARWIN */
-+#endif /* HAVE_XLOCALE */
-
- memset(&mbs, 0, sizeof(mbs));
- nchars = 0;
-
--#ifdef DARWIN
-+#ifdef HAVE_XLOCALE
- while (*s != '\0' && (nbytes = mbrlen_l(s, strlen(s), &mbs, loc)) != 0)
- #else
- while (*s != '\0' && (nbytes = mbrlen(s, strlen(s), &mbs)) != 0)
--#endif /* DARWIN */
-+#endif /* HAVE_XLOCALE */
- {
- if (nbytes == (size_t)-1) /* should never happen */ {
- ABORT(R_INTERNAL);
- }
- if (nbytes == (size_t)-2) /* encoding error */ {
- ABORT(R_BAD_DATA);
- }
-
-diff --git media/mtransport/third_party/nrappkit/nrappkit.gyp media/mtransport/third_party/nrappkit/nrappkit.gyp
-index 3cc8e1c..74016c6 100644
---- media/mtransport/third_party/nrappkit/nrappkit.gyp
-+++ media/mtransport/third_party/nrappkit/nrappkit.gyp
-@@ -142,26 +142,35 @@
- 'R_DEFINED_UINT2=uint16_t',
- 'R_DEFINED_INT4=int32_t',
- 'R_DEFINED_UINT4=uint32_t',
- 'R_DEFINED_INT8=int64_t',
- 'R_DEFINED_UINT8=uint64_t',
- ],
-
- 'conditions' : [
-- ## Mac
-+ ## Mac and BSDs
- [ 'OS == "mac"', {
-+ 'defines' : [
-+ 'DARWIN',
-+ ],
-+ }],
-+ [ 'os_bsd == 1', {
-+ 'defines' : [
-+ 'BSD',
-+ ],
-+ }],
-+ [ 'OS == "mac" or os_bsd == 1', {
- 'cflags_mozilla': [
- '-Wall',
- '-Wno-parentheses',
- '-Wno-strict-prototypes',
- '-Wmissing-prototypes',
- ],
- 'defines' : [
-- 'DARWIN',
- 'HAVE_LIBM=1',
- 'HAVE_STRDUP=1',
- 'HAVE_STRLCPY=1',
- 'HAVE_SYS_TIME_H=1',
- 'HAVE_VFPRINTF=1',
- 'NEW_STDIO'
- 'RETSIGTYPE=void',
- 'TIME_WITH_SYS_TIME_H=1',
-diff --git media/mtransport/third_party/nrappkit/src/log/r_log.c media/mtransport/third_party/nrappkit/src/log/r_log.c
-index efb7ef2..aebf578 100644
---- media/mtransport/third_party/nrappkit/src/log/r_log.c
-+++ media/mtransport/third_party/nrappkit/src/log/r_log.c
-@@ -43,16 +43,17 @@ static char *RCSSTRING __UNUSED__ ="$Id: r_log.c,v 1.10 2008/11/25 22:25:18 adam
- #ifdef LINUX
- #define _BSD_SOURCE
- #endif
-
- #include "r_log.h"
- #include "hex.h"
-
- #include <string.h>
-+#include <errno.h>
- #ifndef _MSC_VER
- #include <strings.h>
- #include <syslog.h>
- #endif
- #include <registry.h>
- #include <time.h>
-
-
-diff --git media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h
-index bcb1ec0..bb73591 100644
---- media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h
-+++ media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h
-@@ -33,7 +33,7 @@
- #ifndef _SYS_QUEUE_H_
- #define _SYS_QUEUE_H_
-
--#ifndef DARWIN
-+#if !defined(__FreeBSD__) && !defined(DARWIN)
- #include <stddef.h>
- #define __offsetof offsetof
- #endif
-diff --git media/mtransport/third_party/nrappkit/src/util/util.c media/mtransport/third_party/nrappkit/src/util/util.c
-index a7d4ff1..ff11a60 100644
---- media/mtransport/third_party/nrappkit/src/util/util.c
-+++ media/mtransport/third_party/nrappkit/src/util/util.c
-@@ -40,16 +40,17 @@
- static char *RCSSTRING __UNUSED__ ="$Id: util.c,v 1.5 2007/11/21 00:09:13 adamcain Exp $";
-
- #ifndef WIN32
- #include <sys/uio.h>
- #include <pwd.h>
- #include <dirent.h>
- #endif
- #include <string.h>
-+#include <errno.h>
- #include <ctype.h>
- #include <sys/stat.h>
- #ifdef OPENSSL
- #include <openssl/evp.h>
- #endif
- #include "nr_common.h"
- #include "r_common.h"
- #include "registry.h"
-diff --git media/webrtc/signaling/signaling.gyp media/webrtc/signaling/signaling.gyp
-index 2a91e3d..31de641 100644
---- media/webrtc/signaling/signaling.gyp
-+++ media/webrtc/signaling/signaling.gyp
-@@ -223,16 +223,29 @@
- 'GIPS_VER=3480',
- 'SIPCC_BUILD',
- 'HAVE_WINSOCK2_H'
- ],
-
- 'cflags_mozilla': [
- ],
- }],
-+ ['os_bsd==1', {
-+ 'include_dirs': [
-+ ],
-+ 'defines': [
-+ # avoiding pointless ifdef churn
-+ 'SIP_OS_OSX',
-+ 'OSX',
-+ 'SECLIB_OPENSSL',
-+ ],
-+
-+ 'cflags_mozilla': [
-+ ],
-+ }],
- ['OS=="mac"', {
- 'include_dirs': [
- ],
- 'defines': [
- 'SIP_OS_OSX',
- 'OSX',
- '_FORTIFY_SOURCE=2',
- ],
-@@ -747,17 +760,17 @@
- 'EXTERNAL_TICK_REQUIRED',
- 'GIPS_VER=3480',
- ],
-
- 'cflags_mozilla': [
- ],
-
- }],
-- ['OS=="mac"', {
-+ ['OS=="mac" or os_bsd==1', {
-
- 'include_dirs': [
- ],
-
- 'sources': [
- # SIPSTACK
- './src/sipcc/core/sipstack/sip_platform_task.c',
-
-@@ -792,24 +805,23 @@
- './src/sipcc/cpr/darwin/cpr_darwin_timers_using_select.c',
- './src/sipcc/cpr/darwin/cpr_darwin_tst.h',
- './src/sipcc/cpr/darwin/cpr_darwin_types.h',
- ],
-
-
- 'defines' : [
- 'SIP_OS_OSX',
-- '_POSIX_SOURCE',
-+ # using BSD extensions, leave _POSIX_SOURCE undefined
- 'CPR_MEMORY_LITTLE_ENDIAN',
- 'NO_SOCKET_POLLING',
- 'USE_TIMER_SELECT_BASED',
- 'FULL_BUILD',
- 'STUBBED_OUT',
- 'USE_PRINTF',
-- '_DARWIN_C_SOURCE',
- 'NO_NSPR_10_SUPPORT',
- ],
-
- 'cflags_mozilla': [
- ],
- }],
- ],
-
-diff --git media/webrtc/signaling/src/sipcc/cpr/darwin/cpr_darwin_ipc.c media/webrtc/signaling/src/sipcc/cpr/darwin/cpr_darwin_ipc.c
-index a7c47e1..4f191de 100644
---- media/webrtc/signaling/src/sipcc/cpr/darwin/cpr_darwin_ipc.c
-+++ media/webrtc/signaling/src/sipcc/cpr/darwin/cpr_darwin_ipc.c
-@@ -317,21 +317,25 @@ cprGetMessage (cprMsgQueue_t msgQueue, boolean waitForever, void **ppUserData)
- {
- static const char fname[] = "cprGetMessage";
-
- void *buffer = 0;
- cpr_msg_queue_t *msgq;
- cpr_msgq_node_t *node;
- struct timespec timeout;
- struct timeval tv;
-+#ifndef __APPLE__
-+ struct timezone tz;
-+#else
- // On the iPhone, there is a DarwinAlias problem with "timezone"
- struct _timezone {
- int tz_minuteswest; /* of Greenwich */
- int tz_dsttime; /* type of dst correction to apply */
- } tz;
-+#endif
-
- /* Initialize ppUserData */
- if (ppUserData) {
- *ppUserData = NULL;
- }
-
- msgq = (cpr_msg_queue_t *) msgQueue;
- if (msgq == NULL) {
-diff --git media/webrtc/signaling/test/Makefile.in media/webrtc/signaling/test/Makefile.in
-index a30e330..cfbd8a3 100644
---- media/webrtc/signaling/test/Makefile.in
-+++ media/webrtc/signaling/test/Makefile.in
-@@ -81,17 +81,17 @@ endif
- ifeq (qt,$(MOZ_WIDGET_TOOLKIT))
- LIBS += \
- $(XLIBS) \
- $(TK_LIBS) \
- $(MOZ_PANGO_LIBS) \
- $(NULL)
- endif
-
--ifeq ($(OS_TARGET),Linux)
-+ifneq (,$(filter Linux DragonFly FreeBSD NetBSD OpenBSD,$(OS_TARGET)))
- LIBS += \
- $(MOZ_CAIRO_OSLIBS) \
- $(NULL)
- endif
-
- ifeq ($(OS_TARGET),Darwin)
- LIBS += \
- -framework AudioToolbox \
-diff --git media/webrtc/trunk/tools/gyp/pylib/gyp/generator/mozmake.py media/webrtc/trunk/tools/gyp/pylib/gyp/generator/mozmake.py
-index 338d0b7..2241d41 100644
---- media/webrtc/trunk/tools/gyp/pylib/gyp/generator/mozmake.py
-+++ media/webrtc/trunk/tools/gyp/pylib/gyp/generator/mozmake.py
-@@ -1,16 +1,17 @@
- # Copyright (c) 2012 Mozilla Foundation. All rights reserved.
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
-
- import collections
- import gyp
- import gyp.common
- import sys
-+import platform
- import os
- import re
- import shlex
-
- generator_wants_sorted_dependencies = True
-
- generator_default_variables = {
- }
-@@ -107,30 +108,44 @@ endif
-
- def ensure_directory_exists(path):
- dir = os.path.dirname(path)
- if dir and not os.path.exists(dir):
- os.makedirs(dir)
-
- def GetFlavor(params):
- """Returns |params.flavor| if it's set, the system's default flavor else."""
-+ system = platform.system().lower()
- flavors = {
-- 'win32': 'win',
-- 'darwin': 'mac',
-- 'sunos5': 'solaris',
-- 'freebsd7': 'freebsd',
-- 'freebsd8': 'freebsd',
-+ 'microsoft': 'win',
-+ 'windows' : 'win',
-+ 'darwin' : 'mac',
-+ 'sunos' : 'solaris',
-+ 'dragonfly': 'bsd',
-+ 'freebsd' : 'bsd',
-+ 'netbsd' : 'bsd',
-+ 'openbsd' : 'bsd',
- }
-- flavor = flavors.get(sys.platform, 'linux')
-- return params.get('flavor', flavor)
-+
-+ if 'flavor' in params:
-+ return params['flavor']
-+ if system.startswith('cygwin'):
-+ return 'win'
-+ if system in flavors:
-+ return flavors[system]
-+
-+ return 'linux'
-
-
- def CalculateVariables(default_variables, params):
-+ flavor = GetFlavor(params)
-+ if flavor == 'bsd':
-+ flavor = platform.system().lower()
- generator_flags = params.get('generator_flags', {})
-- default_variables['OS'] = generator_flags.get('os', GetFlavor(params))
-+ default_variables['OS'] = generator_flags.get('os', flavor)
-
-
- def CalculateGeneratorInputInfo(params):
- """Calculate the generator specific info that gets fed to input (called by
- gyp)."""
- generator_flags = params.get('generator_flags', {})
- if generator_flags.get('adjust_static_libraries', False):
- global generator_wants_static_library_dependencies_adjusted
diff --git a/www/firefox/files/patch-bug851992 b/www/firefox/files/patch-bug851992
deleted file mode 100644
index e20d8174136d..000000000000
--- a/www/firefox/files/patch-bug851992
+++ /dev/null
@@ -1,331 +0,0 @@
-diff --git a/config/Makefile.in b/config/Makefile.in
---- config/Makefile.in
-+++ config/Makefile.in
-@@ -97,16 +97,17 @@ export:: $(export-preqs)
- -DMOZ_TREE_PIXMAN=$(MOZ_TREE_PIXMAN) \
- -DMOZ_NATIVE_HUNSPELL=$(MOZ_NATIVE_HUNSPELL) \
- -DMOZ_NATIVE_BZ2=$(MOZ_NATIVE_BZ2) \
- -DMOZ_NATIVE_ZLIB=$(MOZ_NATIVE_ZLIB) \
- -DMOZ_NATIVE_PNG=$(MOZ_NATIVE_PNG) \
- -DMOZ_NATIVE_JPEG=$(MOZ_NATIVE_JPEG) \
- -DMOZ_NATIVE_LIBEVENT=$(MOZ_NATIVE_LIBEVENT) \
- -DMOZ_NATIVE_LIBVPX=$(MOZ_NATIVE_LIBVPX) \
-+ -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \
- $(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers
- $(INSTALL) system_wrappers $(DIST)
-
- GARBAGE_DIRS += system_wrappers
- endif
-
- ifdef WRAP_STL_INCLUDES
- ifdef GNU_CXX
-diff --git a/config/system-headers b/config/system-headers
---- config/system-headers
-+++ config/system-headers
-@@ -1125,8 +1125,19 @@ gst/video/video.h
- sys/msg.h
- sys/ipc.h
- sys/thr.h
- sys/user.h
- kvm.h
- spawn.h
- err.h
- xlocale.h
-+#if MOZ_NATIVE_ICU==1
-+unicode/locid.h
-+unicode/numsys.h
-+unicode/ucal.h
-+unicode/ucol.h
-+unicode/udat.h
-+unicode/udatpg.h
-+unicode/uenum.h
-+unicode/unum.h
-+unicode/ustring.h
-+#endif
-diff --git a/configure.in b/configure.in
---- configure.in
-+++ configure.in
-@@ -4134,16 +4134,32 @@ if test -n "$MOZ_NATIVE_FFI"; then
- PKG_CHECK_MODULES(MOZ_FFI, libffi > 3.0.9)
- else
- PKG_CHECK_MODULES(MOZ_FFI, libffi >= 3.0.9)
- fi
- MOZ_JS_STATIC_LIBS="$MOZ_JS_STATIC_LIBS $MOZ_FFI_LIBS"
- fi
-
- dnl ========================================================
-+dnl system icu support
-+dnl ========================================================
-+MOZ_NATIVE_ICU=
-+MOZ_ARG_WITH_BOOL(system-icu,
-+[ --with-system-icu
-+ Use system icu (located with pkgconfig)],
-+ MOZ_NATIVE_ICU=1)
-+
-+if test -n "$MOZ_NATIVE_ICU"; then
-+ PKG_CHECK_MODULES(MOZ_ICU, icu-i18n >= 50.1)
-+ MOZ_JS_STATIC_LIBS="$MOZ_JS_STATIC_LIBS $MOZ_ICU_LIBS"
-+fi
-+
-+AC_SUBST(MOZ_NATIVE_ICU)
-+
-+dnl ========================================================
- dnl Java SDK support
- dnl ========================================================
-
- JAVA_BIN_PATH=
- MOZ_ARG_WITH_STRING(java-bin-path,
- [ --with-java-bin-path=dir
- Location of Java binaries (java, javac, jar)],
- JAVA_BIN_PATH=$withval)
-diff --git a/js/src/Makefile.in b/js/src/Makefile.in
---- js/src/Makefile.in.orig 2013-10-26 00:19:30.000000000 +0200
-+++ js/src/Makefile.in 2013-10-26 12:51:24.469902638 +0200
-@@ -232,12 +232,17 @@
- # ICU headers need to be available whether we build with the complete
- # Internationalization API or not - ICU stubs rely on them.
-
-+ifdef MOZ_NATIVE_ICU
-+LOCAL_INCLUDES += $(MOZ_ICU_CFLAGS)
-+else
- LOCAL_INCLUDES += \
- -I$(topsrcdir)/../../intl/icu/source/common \
- -I$(topsrcdir)/../../intl/icu/source/i18n \
- $(NULL)
-+endif
-
- ifdef ENABLE_INTL_API
-+ifndef MOZ_NATIVE_ICU
-
- ifeq ($(OS_ARCH),WINNT)
- # Library names: On Windows, ICU uses modified library names for static
-@@ -271,6 +276,7 @@
- $(call SUBMAKE,$@,intl/icu)
-
- endif
-+endif
-
- #
- # END ECMAScript Internationalization API
-@@ -394,7 +400,11 @@
- DEFINES += -DUSE_ZLIB
- endif
-
--SHARED_LIBRARY_LIBS += $(ICU_LIBS)
-+ifdef MOZ_NATIVE_ICU
-+EXTRA_DSO_LDOPTS += $(MOZ_ICU_LIBS)
-+else
-+SHARED_LIBRARY_LIBS += $(MOZ_ICU_LIBS)
-+endif
-
- # Prevent floating point errors caused by VC++ optimizations
- ifdef _MSC_VER
-diff --git a/js/src/config/Makefile.in b/js/src/config/Makefile.in
---- js/src/config/Makefile.in
-+++ js/src/config/Makefile.in
-@@ -54,16 +54,17 @@ include $(topsrcdir)/config/rules.mk
-
- HOST_CFLAGS += -DUNICODE -D_UNICODE
-
- ifdef WRAP_SYSTEM_INCLUDES
- export:: \
- $(call mkdir_deps,system_wrappers_js) \
- $(NULL)
- $(PYTHON) $(srcdir)/Preprocessor.py $(DEFINES) $(ACDEFINES) \
-+ -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \
- $(srcdir)/system-headers | $(PERL) $(srcdir)/make-system-wrappers.pl system_wrappers_js
- $(INSTALL) system_wrappers_js $(DIST)
-
- GARBAGE_DIRS += system_wrappers_js
- endif
-
- GARBAGE += $(srcdir)/*.pyc *.pyc
-
-diff --git a/js/src/config/system-headers b/js/src/config/system-headers
---- js/src/config/system-headers
-+++ js/src/config/system-headers
-@@ -1125,8 +1125,19 @@ gst/video/video.h
- sys/msg.h
- sys/ipc.h
- sys/thr.h
- sys/user.h
- kvm.h
- spawn.h
- err.h
- xlocale.h
-+#if MOZ_NATIVE_ICU==1
-+unicode/locid.h
-+unicode/numsys.h
-+unicode/ucal.h
-+unicode/ucol.h
-+unicode/udat.h
-+unicode/udatpg.h
-+unicode/uenum.h
-+unicode/unum.h
-+unicode/ustring.h
-+#endif
-diff --git a/js/src/configure.in b/js/src/configure.in
---- js/src/configure.in
-+++ js/src/configure.in
-@@ -4406,56 +4406,65 @@ if test "$ACCESSIBILITY" -a "$MOZ_ENABLE
- AC_DEFINE_UNQUOTED(ATK_MINOR_VERSION, $ATK_MINOR_VERSION)
- AC_DEFINE_UNQUOTED(ATK_REV_VERSION, $ATK_REV_VERSION)
- fi
-
-
- dnl ========================================================
- dnl ECMAScript Internationalization API Support (uses ICU)
- dnl ========================================================
-+ICU_LIB_NAMES=
-+MOZ_NATIVE_ICU=
-+MOZ_ARG_WITH_BOOL(system-icu,
-+[ --with-system-icu
-+ Use system icu (located with pkgconfig)],
-+ MOZ_NATIVE_ICU=1)
-+
-+if test -n "$MOZ_NATIVE_ICU"; then
-+ PKG_CHECK_MODULES(MOZ_ICU, icu-i18n >= 50.1)
-+fi
-
- ENABLE_INTL_API=1
- MOZ_ARG_DISABLE_BOOL(intl-api,
- [ --disable-intl-api Disable the ECMAScript Internationalization API],
- ENABLE_INTL_API= )
-
- dnl Settings for the implementation of the ECMAScript Internationalization API
- if test -n "$ENABLE_INTL_API"; then
- AC_DEFINE(ENABLE_INTL_API)
-- # We build ICU as a static library.
-- AC_DEFINE(U_STATIC_IMPLEMENTATION)
--
-- case "$OS_TARGET" in
-- WINNT)
-- ICU_LIB_NAMES="icuin icuuc icudt"
-- ;;
-- Darwin|Linux)
-- ICU_LIB_NAMES="icui18n icuuc icudata"
-- ;;
-- *)
-- AC_MSG_ERROR([ECMAScript Internationalization API is not yet supported on this platform])
-- esac
--
-- ICU_LIBS='$(call EXPAND_LIBNAME_PATH,$(ICU_LIB_NAMES),$(DEPTH)/intl/icu/lib)'
--else
-- ICU_LIB_NAMES=
-- ICU_LIBS=
-+
-+ if test -z "$MOZ_NATIVE_ICU"; then
-+ case "$OS_TARGET" in
-+ WINNT)
-+ ICU_LIB_NAMES="icuin icuuc icudt"
-+ ;;
-+ Darwin|Linux)
-+ ICU_LIB_NAMES="icui18n icuuc icudata"
-+ ;;
-+ *)
-+ AC_MSG_ERROR([ECMAScript Internationalization API is not yet supported on this platform])
-+ esac
-+ MOZ_ICU_LIBS='$(call EXPAND_LIBNAME_PATH,$(ICU_LIB_NAMES),$(DEPTH)/intl/icu/lib)'
-+ fi
- fi
-
- AC_SUBST(ENABLE_INTL_API)
- AC_SUBST(ICU_LIB_NAMES)
--AC_SUBST(ICU_LIBS)
--
--dnl Source files that use ICU should have control over which parts of the ICU
--dnl namespace they want to use.
--AC_DEFINE(U_USING_ICU_NAMESPACE,0)
--
-+AC_SUBST(MOZ_ICU_LIBS)
-+AC_SUBST(MOZ_NATIVE_ICU)
-
- dnl Settings for ICU
--if test -n "$ENABLE_INTL_API" ; then
-+if test -n "$ENABLE_INTL_API" -a -z "$MOZ_NATIVE_ICU"; then
-+ dnl We build ICU as a static library.
-+ AC_DEFINE(U_STATIC_IMPLEMENTATION)
-+
-+ dnl Source files that use ICU should have control over which parts of the ICU
-+ dnl namespace they want to use.
-+ AC_DEFINE(U_USING_ICU_NAMESPACE,0)
-+
- # Set ICU compile options
- ICU_CPPFLAGS=""
- # don't use icu namespace automatically in client code
- ICU_CPPFLAGS="$ICU_CPPFLAGS -DU_USING_ICU_NAMESPACE=0"
- # don't include obsolete header files
- ICU_CPPFLAGS="$ICU_CPPFLAGS -DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1"
- # remove chunks of the library that we don't need (yet)
- ICU_CPPFLAGS="$ICU_CPPFLAGS -DUCONFIG_NO_LEGACY_CONVERSION"
-diff --git a/js/src/gdb/Makefile.in b/js/src/gdb/Makefile.in
---- js/src/gdb/Makefile.in
-+++ js/src/gdb/Makefile.in
-@@ -14,16 +14,20 @@ include $(DEPTH)/config/autoconf.mk
- # Building against js_static requires that we declare mfbt sybols "exported"
- # on its behalf.
- DEFINES += -DEXPORT_JS_API -DIMPL_MFBT
-
- LIBS = $(DEPTH)/$(LIB_PREFIX)js_static.$(LIB_SUFFIX) $(NSPR_LIBS) $(MOZ_ZLIB_LIBS)
-
- LOCAL_INCLUDES += -I$(topsrcdir) -I..
-
-+ifdef MOZ_NATIVE_ICU
-+EXTRA_LIBS += $(MOZ_ICU_LIBS)
-+endif
-+
- EXTRA_LIBS += $(MOZ_FFI_LIBS)
-
- # Place a GDB Python auto-load file next to the gdb-tests executable, both
- # in the build directory and in the dist/bin directory.
- PP_TARGETS += GDB_AUTOLOAD
- GDB_AUTOLOAD := gdb-tests-gdb.py.in
- GDB_AUTOLOAD_FLAGS := -Dtopsrcdir=$(abspath $(topsrcdir))
-
-diff --git a/js/src/jsapi-tests/Makefile.in b/js/src/jsapi-tests/Makefile.in
---- js/src/jsapi-tests/Makefile.in
-+++ js/src/jsapi-tests/Makefile.in
-@@ -15,16 +15,20 @@ DEFINES += -DEXPORT_JS_API
- # Building against js_static requires that we declare mfbt sybols "exported"
- # on its behalf.
- DEFINES += -DIMPL_MFBT
-
- LIBS = $(DEPTH)/$(LIB_PREFIX)js_static.$(LIB_SUFFIX) $(NSPR_LIBS) $(MOZ_ZLIB_LIBS)
-
- LOCAL_INCLUDES += -I$(topsrcdir) -I..
-
-+ifdef MOZ_NATIVE_ICU
-+EXTRA_LIBS += $(MOZ_ICU_LIBS)
-+endif
-+
- EXTRA_LIBS += $(MOZ_FFI_LIBS)
-
- ifdef QEMU_EXE
- MOZ_POST_PROGRAM_COMMAND = $(topsrcdir)/build/qemu-wrap --qemu $(QEMU_EXE) --libdir $(CROSS_LIB)
- endif
-
- # Place a GDB Python auto-load file next to the jsapi-tests executable in
- # the build directory.
-diff --git a/js/src/shell/Makefile.in b/js/src/shell/Makefile.in
---- js/src/shell/Makefile.in
-+++ js/src/shell/Makefile.in
-@@ -22,16 +22,19 @@ DEFINES += -DEXPORT_JS_API
- # Building against js_static requires that we declare mfbt sybols "exported"
- # on its behalf.
- DEFINES += -DIMPL_MFBT
-
- LIBS = $(NSPR_LIBS) $(EDITLINE_LIBS) $(DEPTH)/$(LIB_PREFIX)js_static.$(LIB_SUFFIX) $(MOZ_ZLIB_LIBS)
- ifdef MOZ_NATIVE_FFI
- EXTRA_LIBS += $(MOZ_FFI_LIBS)
- endif
-+ifdef MOZ_NATIVE_ICU
-+EXTRA_LIBS += $(MOZ_ICU_LIBS)
-+endif
-
- LOCAL_INCLUDES += -I$(topsrcdir) -I..
-
- ifeq ($(OS_ARCH),Darwin)
- ifeq ($(TARGET_CPU),x86_64)
- DARWIN_EXE_LDFLAGS += -pagezero_size 10000 -image_base 100000000
- endif
- endif
diff --git a/www/firefox/files/patch-bug853301 b/www/firefox/files/patch-bug853301
deleted file mode 100644
index 09b503e35a6f..000000000000
--- a/www/firefox/files/patch-bug853301
+++ /dev/null
@@ -1,10 +0,0 @@
---- configure.in~
-+++ configure.in
-@@ -9454,7 +9454,6 @@ if test "A" = "A"; then
- # Desktop: bug 853301
- # Android: bug 864843
- # B2G: bug 866301
-- ac_configure_args="$ac_configure_args --disable-intl-api"
- fi
- if test "$BUILD_CTYPES"; then
- # Build js-ctypes on the platforms we can.
diff --git a/www/firefox/files/patch-bug876156 b/www/firefox/files/patch-bug876156
deleted file mode 100644
index 84ecf6170671..000000000000
--- a/www/firefox/files/patch-bug876156
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git mfbt/Atomics.h mfbt/Atomics.h
-index d79af6c..40b9336 100644
---- mfbt/Atomics.h
-+++ mfbt/Atomics.h
-@@ -35,7 +35,7 @@
- */
- # if !defined(__linux__) && !defined(__OpenBSD__) && \
- (__cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__)) && \
-- __has_include(<atomic>)
-+ __has_include_next(<atomic>)
- # define MOZ_HAVE_CXX11_ATOMICS
- # endif
- /*
diff --git a/www/firefox/files/patch-bug886181 b/www/firefox/files/patch-bug886181
deleted file mode 100644
index ed1c4df8348b..000000000000
--- a/www/firefox/files/patch-bug886181
+++ /dev/null
@@ -1,11 +0,0 @@
---- modules/libpref/src/init/all.js~
-+++ modules/libpref/src/init/all.js
-@@ -193,7 +193,7 @@ pref("media.webm.enabled", true);
- pref("media.dash.enabled", false);
- #endif
- #ifdef MOZ_GSTREAMER
--pref("media.gstreamer.enabled", false);
-+pref("media.gstreamer.enabled", true);
- #endif
- #ifdef MOZ_WEBRTC
- pref("media.navigator.enabled", true);
diff --git a/www/firefox/files/patch-bug910875 b/www/firefox/files/patch-bug910875
deleted file mode 100644
index 4f1d5a521e84..000000000000
--- a/www/firefox/files/patch-bug910875
+++ /dev/null
@@ -1,102 +0,0 @@
-diff --git media/webrtc/trunk/webrtc/modules/audio_device/audio_device_impl.cc media/webrtc/trunk/webrtc/modules/audio_device/audio_device_impl.cc
-index f231b1e..6087696 100644
---- media/webrtc/trunk/webrtc/modules/audio_device/audio_device_impl.cc
-+++ media/webrtc/trunk/webrtc/modules/audio_device/audio_device_impl.cc
-@@ -16,7 +16,9 @@
- #include <assert.h>
- #include <string.h>
-
--#if defined(_WIN32)
-+#if defined(WEBRTC_DUMMY_AUDIO_BUILD)
-+// do not include platform specific headers
-+#elif defined(_WIN32)
- #include "audio_device_utility_win.h"
- #include "audio_device_wave_win.h"
- #if defined(WEBRTC_WINDOWS_CORE_AUDIO_BUILD)
-@@ -32,14 +34,8 @@
- #include <stdlib.h>
- #include "audio_device_utility_android.h"
- #include "audio_device_jni_android.h"
--#elif defined(WEBRTC_LINUX)
-+#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD)
- #include "audio_device_utility_linux.h"
-- #if defined(LINUX_ALSA)
-- #include "audio_device_alsa_linux.h"
-- #endif
-- #if defined(LINUX_PULSE)
-- #include "audio_device_pulse_linux.h"
-- #endif
- #elif defined(WEBRTC_IOS)
- #include "audio_device_utility_ios.h"
- #include "audio_device_ios.h"
-@@ -47,6 +43,12 @@
- #include "audio_device_utility_mac.h"
- #include "audio_device_mac.h"
- #endif
-+#if defined(LINUX_ALSA)
-+ #include "audio_device_alsa_linux.h"
-+#endif
-+#if defined(LINUX_PULSE)
-+ #include "audio_device_pulse_linux.h"
-+#endif
- #include "audio_device_dummy.h"
- #include "audio_device_utility_dummy.h"
- #include "critical_section_wrapper.h"
-@@ -161,7 +163,7 @@ WebRtc_Word32 AudioDeviceModuleImpl::Che
- #elif defined(WEBRTC_ANDROID)
- platform = kPlatformAndroid;
- WEBRTC_TRACE(kTraceInfo, kTraceAudioDevice, _id, "current platform is ANDROID");
--#elif defined(WEBRTC_LINUX)
-+#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD)
- platform = kPlatformLinux;
- WEBRTC_TRACE(kTraceInfo, kTraceAudioDevice, _id, "current platform is LINUX");
- #elif defined(WEBRTC_IOS)
-@@ -309,7 +311,7 @@ int32_t AudioDeviceModuleImpl::CreatePlatformSpecificObjects()
-
- // Create the *Linux* implementation of the Audio Device
- //
--#elif defined(WEBRTC_LINUX)
-+#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD)
- if ((audioLayer == kLinuxPulseAudio) || (audioLayer == kPlatformDefaultAudio))
- {
- #if defined(LINUX_PULSE)
-@@ -355,7 +357,7 @@ int32_t AudioDeviceModuleImpl::CreatePlatformSpecificObjects()
- //
- ptrAudioDeviceUtility = new AudioDeviceUtilityLinux(Id());
- }
--#endif // #if defined(WEBRTC_LINUX)
-+#endif // #if defined(WEBRTC_LINUX) || defined(WEBRTC_BSD)
-
- // Create the *iPhone* implementation of the Audio Device
- //
-diff --git media/webrtc/trunk/webrtc/modules/audio_device/test/audio_device_test_api.cc media/webrtc/trunk/webrtc/modules/audio_device/test/audio_device_test_api.cc
-index defd7f8..906c4a2 100644
---- media/webrtc/trunk/webrtc/modules/audio_device/test/audio_device_test_api.cc
-+++ media/webrtc/trunk/webrtc/modules/audio_device/test/audio_device_test_api.cc
-@@ -197,7 +197,7 @@ class AudioDeviceAPITest: public testing::Test {
- // Create default implementation instance
- EXPECT_TRUE((audio_device_ = AudioDeviceModuleImpl::Create(
- kId, AudioDeviceModule::kPlatformDefaultAudio)) != NULL);
--#elif defined(WEBRTC_LINUX)
-+#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD)
- EXPECT_TRUE((audio_device_ = AudioDeviceModuleImpl::Create(
- kId, AudioDeviceModule::kWindowsWaveAudio)) == NULL);
- EXPECT_TRUE((audio_device_ = AudioDeviceModuleImpl::Create(
-@@ -1690,7 +1690,7 @@ TEST_F(AudioDeviceAPITest, CPULoad) {
-
- // TODO(kjellander): Fix flakiness causing failures on Windows.
- // TODO(phoglund): Fix flakiness causing failures on Linux.
--#if !defined(_WIN32) && !defined(WEBRTC_LINUX)
-+#if !defined(_WIN32) && !defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD)
- TEST_F(AudioDeviceAPITest, StartAndStopRawOutputFileRecording) {
- // NOTE: this API is better tested in a functional test
- CheckInitialPlayoutStates();
-@@ -1759,7 +1759,7 @@ TEST_F(AudioDeviceAPITest, StartAndStopRawInputFileRecording) {
- // - size of raw_input_not_recording.pcm shall be 0
- // - size of raw_input_not_recording.pcm shall be > 0
- }
--#endif // !WIN32 && !WEBRTC_LINUX
-+#endif // !WIN32 && !WEBRTC_LINUX && !defined(WEBRTC_BSD)
-
- TEST_F(AudioDeviceAPITest, RecordingSampleRate) {
- uint32_t sampleRate(0);
diff --git a/www/firefox/files/patch-bug916216 b/www/firefox/files/patch-bug916216
deleted file mode 100644
index ca82967fa78c..000000000000
--- a/www/firefox/files/patch-bug916216
+++ /dev/null
@@ -1,39 +0,0 @@
---- media/webrtc/trunk/build/build_config.h~
-+++ media/webrtc/trunk/build/build_config.h
-@@ -37,9 +37,15 @@
- #elif defined(_WIN32)
- #define OS_WIN 1
- #define TOOLKIT_VIEWS 1
--#elif defined(__FreeBSD__)
-+#elif defined(__DragonFly__)
-+#define OS_DRAGONFLY 1
-+#define TOOLKIT_GTK
-+#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
- #define OS_FREEBSD 1
- #define TOOLKIT_GTK
-+#elif defined(__NetBSD__)
-+#define OS_NETBSD 1
-+#define TOOLKIT_GTK
- #elif defined(__OpenBSD__)
- #define OS_OPENBSD 1
- #define TOOLKIT_GTK
-@@ -56,15 +62,15 @@
-
- // For access to standard BSD features, use OS_BSD instead of a
- // more specific macro.
--#if defined(OS_FREEBSD) || defined(OS_OPENBSD)
-+#if defined(OS_DRAGONFLY) || defined(OS_FREEBSD) \
-+ || defined(OS_NETBSD) || defined(OS_OPENBSD)
- #define OS_BSD 1
- #endif
-
- // For access to standard POSIXish features, use OS_POSIX instead of a
- // more specific macro.
--#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_FREEBSD) || \
-- defined(OS_OPENBSD) || defined(OS_SOLARIS) || defined(OS_ANDROID) || \
-- defined(OS_NACL)
-+#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
-+ defined(OS_SOLARIS) || defined(OS_ANDROID) || defined(OS_NACL)
- #define OS_POSIX 1
- #endif
-
diff --git a/www/firefox/files/patch-bug918177 b/www/firefox/files/patch-bug918177
deleted file mode 100644
index 76dd34ca040a..000000000000
--- a/www/firefox/files/patch-bug918177
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git config/stl-headers config/stl-headers
-index c057d8e..dc7f6f0 100644
---- config/stl-headers
-+++ config/stl-headers
-@@ -21,6 +21,7 @@ algorithm
- atomic
- deque
- ios
-+iosfwd
- iostream
- iterator
- limits
-diff --git config/system-headers config/system-headers
-index d31c94e..570c82a 100644
---- config/system-headers
-+++ config/system-headers
-@@ -469,6 +469,7 @@ IOKit/IOMessage.h
- IOKit/pwr_mgt/IOPMLib.h
- iomanip
- ios
-+iosfwd
- iostream
- iostream.h
- iterator
-diff --git js/src/config/system-headers js/src/config/system-headers
-index d31c94e..570c82a 100644
---- js/src/config/system-headers
-+++ js/src/config/system-headers
-@@ -469,6 +469,7 @@ IOKit/IOMessage.h
- IOKit/pwr_mgt/IOPMLib.h
- iomanip
- ios
-+iosfwd
- iostream
- iostream.h
- iterator
diff --git a/www/firefox/files/patch-bug945046 b/www/firefox/files/patch-bug945046
new file mode 100644
index 000000000000..b532383860a9
--- /dev/null
+++ b/www/firefox/files/patch-bug945046
@@ -0,0 +1,130 @@
+diff --git config/system-headers config/system-headers
+index 432cba6..18a9627 100644
+--- config/system-headers
++++ config/system-headers
+@@ -1131,3 +1131,4 @@ unicode/unum.h
+ unicode/ustring.h
+ unicode/utypes.h
+ #endif
++libutil.h
+diff --git js/src/config/system-headers js/src/config/system-headers
+index 432cba6..18a9627 100644
+--- js/src/config/system-headers
++++ js/src/config/system-headers
+@@ -1131,3 +1131,4 @@ unicode/unum.h
+ unicode/ustring.h
+ unicode/utypes.h
+ #endif
++libutil.h
+diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in
+index 9975621..b4b037d 100644
+--- toolkit/library/Makefile.in
++++ toolkit/library/Makefile.in
+@@ -289,6 +289,10 @@ OS_LIBS += $(call EXPAND_LIBNAME,kvm)
+ EXTRA_DSO_LDOPTS += -Wl,--warn-unresolved-symbols
+ endif
+
++ifeq ($(OS_ARCH),FreeBSD)
++OS_LIBS += $(call EXPAND_LIBNAME,util)
++endif
++
+ ifeq ($(OS_ARCH),WINNT)
+ OS_LIBS += $(call EXPAND_LIBNAME,shell32 ole32 version winspool comdlg32 imm32 msimg32 shlwapi psapi ws2_32 dbghelp rasapi32 rasdlg iphlpapi uxtheme setupapi secur32 sensorsapi portabledeviceguids windowscodecs wininet wbemuuid)
+ ifdef ACCESSIBILITY
+diff --git xpcom/base/nsMemoryReporterManager.cpp xpcom/base/nsMemoryReporterManager.cpp
+index b8147c8..0ffb34e 100644
+--- xpcom/base/nsMemoryReporterManager.cpp
++++ xpcom/base/nsMemoryReporterManager.cpp
+@@ -196,6 +196,43 @@ static nsresult GetResidentFast(int64_t*
+ return GetResident(aN);
+ }
+
++#ifdef __FreeBSD__
++#include <libutil.h>
++
++static nsresult
++GetKinfoVmentrySelf(int64_t* prss)
++{
++ int cnt;
++ struct kinfo_vmentry *vmmap, *kve;
++ if ((vmmap = kinfo_getvmmap(getpid(), &cnt)) == NULL)
++ return NS_ERROR_FAILURE;
++
++ if (prss)
++ *prss = 0;
++
++ for (int i = 0; i < cnt; i++) {
++ kve = &vmmap[i];
++ if (prss)
++ *prss += kve->kve_private_resident;
++ }
++
++ free(vmmap);
++ return NS_OK;
++}
++
++#define HAVE_PRIVATE_REPORTER
++static nsresult
++GetPrivate(int64_t* aN)
++{
++ int64_t priv;
++ nsresult rv = GetKinfoVmentrySelf(&priv);
++ if (NS_SUCCEEDED(rv))
++ *aN = priv * getpagesize();
++
++ return NS_OK;
++}
++#endif // FreeBSD
++
+ #elif defined(SOLARIS)
+
+ #include <procfs.h>
+@@ -370,6 +407,24 @@ static nsresult GetResidentFast(int64_t*
+ }
+
+ #define HAVE_PRIVATE_REPORTER
++static nsresult
++GetPrivate(int64_t* aN)
++{
++ PROCESS_MEMORY_COUNTERS_EX pmcex;
++ pmcex.cb = sizeof(PROCESS_MEMORY_COUNTERS_EX);
++
++ if (!GetProcessMemoryInfo(
++ GetCurrentProcess(),
++ (PPROCESS_MEMORY_COUNTERS) &pmcex, sizeof(pmcex))) {
++ return NS_ERROR_FAILURE;
++ }
++
++ *aN = pmcex.PrivateUsage;
++ return NS_OK;
++}
++#endif // XP_<PLATFORM>
++
++#ifdef HAVE_PRIVATE_REPORTER
+ class PrivateReporter MOZ_FINAL : public MemoryUniReporter
+ {
+ public:
+@@ -382,21 +437,10 @@ public:
+
+ NS_IMETHOD GetAmount(int64_t* aAmount)
+ {
+- PROCESS_MEMORY_COUNTERS_EX pmcex;
+- pmcex.cb = sizeof(PROCESS_MEMORY_COUNTERS_EX);
+-
+- if (!GetProcessMemoryInfo(
+- GetCurrentProcess(),
+- (PPROCESS_MEMORY_COUNTERS) &pmcex, sizeof(pmcex))) {
+- return NS_ERROR_FAILURE;
+- }
+-
+- *aAmount = pmcex.PrivateUsage;
+- return NS_OK;
++ return GetPrivate(aAmount);
+ }
+ };
+-
+-#endif // XP_<PLATFORM>
++#endif
+
+ #ifdef HAVE_VSIZE_AND_RESIDENT_REPORTERS
+ class VsizeReporter MOZ_FINAL : public MemoryUniReporter
diff --git a/www/firefox/files/patch-bug946560 b/www/firefox/files/patch-bug946560
new file mode 100644
index 000000000000..e2560bd0d0c3
--- /dev/null
+++ b/www/firefox/files/patch-bug946560
@@ -0,0 +1,44 @@
+diff --git xpcom/base/nsMemoryInfoDumper.cpp xpcom/base/nsMemoryInfoDumper.cpp
+index 0b2f78c..d857374 100644
+--- xpcom/base/nsMemoryInfoDumper.cpp
++++ xpcom/base/nsMemoryInfoDumper.cpp
+@@ -30,7 +30,7 @@
+ #include <unistd.h>
+ #endif
+
+-#ifdef XP_LINUX
++#if defined(XP_LINUX) || defined(__FreeBSD__)
+ #include <fcntl.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+@@ -109,7 +109,7 @@ private:
+
+ } // anonymous namespace
+
+-#ifdef XP_LINUX // {
++#if defined(XP_LINUX) || defined(__FreeBSD__) // {
+ namespace {
+
+ /*
+@@ -548,7 +548,7 @@ nsMemoryInfoDumper::~nsMemoryInfoDumper(
+ /* static */ void
+ nsMemoryInfoDumper::Initialize()
+ {
+-#ifdef XP_LINUX
++#if defined(XP_LINUX) || defined(__FreeBSD__)
+ SignalPipeWatcher::Create();
+ FifoWatcher::MaybeCreate();
+ #endif
+diff --git xpcom/base/nsMemoryReporterManager.cpp xpcom/base/nsMemoryReporterManager.cpp
+index 8c65665..8f6d0e9 100644
+--- xpcom/base/nsMemoryReporterManager.cpp
++++ xpcom/base/nsMemoryReporterManager.cpp
+@@ -824,7 +824,7 @@ nsMemoryReporterManager::Init()
+ RegisterReporter(new mozilla::dmd::DMDReporter);
+ #endif
+
+-#if defined(XP_LINUX)
++#if defined(XP_LINUX) || defined(__FreeBSD__)
+ nsMemoryInfoDumper::Initialize();
+ #endif
+
diff --git a/www/firefox/files/patch-bug947862 b/www/firefox/files/patch-bug947862
new file mode 100644
index 000000000000..8cbb79453d13
--- /dev/null
+++ b/www/firefox/files/patch-bug947862
@@ -0,0 +1,31 @@
+diff --git media/webrtc/trunk/webrtc/system_wrappers/source/clock.cc media/webrtc/trunk/webrtc/system_wrappers/source/clock.cc
+index 7ef6c66..6ae1e97 100644
+--- media/webrtc/trunk/webrtc/system_wrappers/source/clock.cc
++++ media/webrtc/trunk/webrtc/system_wrappers/source/clock.cc
+@@ -15,7 +15,7 @@
+ #include <Windows.h>
+ #include <WinSock.h>
+ #include <MMSystem.h>
+-#elif ((defined WEBRTC_LINUX) || (defined WEBRTC_MAC))
++#elif ((defined WEBRTC_LINUX) || (defined WEBRTC_BSD) || (defined WEBRTC_MAC))
+ #include <sys/time.h>
+ #include <time.h>
+ #endif
+@@ -209,7 +209,7 @@ class WindowsRealTimeClock : public RealTimeClock {
+ WindowsHelpTimer* _helpTimer;
+ };
+
+-#elif ((defined WEBRTC_LINUX) || (defined WEBRTC_MAC))
++#elif ((defined WEBRTC_LINUX) || (defined WEBRTC_BSD) || (defined WEBRTC_MAC))
+ class UnixRealTimeClock : public RealTimeClock {
+ public:
+ UnixRealTimeClock() {}
+@@ -240,7 +240,7 @@ Clock* Clock::GetRealTimeClock() {
+ #if defined(_WIN32)
+ static WindowsRealTimeClock clock(&global_help_timer);
+ return &clock;
+-#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC)
++#elif ((defined WEBRTC_LINUX) || (defined WEBRTC_BSD) || (defined WEBRTC_MAC))
+ static UnixRealTimeClock clock;
+ return &clock;
+ #else
diff --git a/www/firefox/files/patch-config-baseconfig.mk b/www/firefox/files/patch-config-baseconfig.mk
index e6fd78f35e7b..e2564e07619c 100644
--- a/www/firefox/files/patch-config-baseconfig.mk
+++ b/www/firefox/files/patch-config-baseconfig.mk
@@ -1,8 +1,6 @@
--- config/baseconfig.mk~
+++ config/baseconfig.mk
-@@ -1,9 +1,9 @@
- INCLUDED_AUTOCONF_MK = 1
-
+@@ -1,7 +1,7 @@
-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)