aboutsummaryrefslogtreecommitdiff
path: root/mail/thunderbird-esr
diff options
context:
space:
mode:
authorFlorian Smeets <flo@FreeBSD.org>2012-08-30 14:54:17 +0000
committerFlorian Smeets <flo@FreeBSD.org>2012-08-30 14:54:17 +0000
commit2f4c3550c50b8b9afa1652eff05e983b4e0d3f51 (patch)
tree2e5e88926978106511a58859840701a45059d65c /mail/thunderbird-esr
parentc02b0fd529dbb7b95c859505ecb285011a16a3d5 (diff)
downloadports-2f4c3550c50b8b9afa1652eff05e983b4e0d3f51.tar.gz
ports-2f4c3550c50b8b9afa1652eff05e983b4e0d3f51.zip
Notes
Diffstat (limited to 'mail/thunderbird-esr')
-rw-r--r--mail/thunderbird-esr/Makefile4
-rw-r--r--mail/thunderbird-esr/distinfo4
-rw-r--r--mail/thunderbird-esr/files/patch-bug691898285
-rw-r--r--mail/thunderbird-esr/files/patch-bug71431273
-rw-r--r--mail/thunderbird-esr/files/patch-bug72565553
-rw-r--r--mail/thunderbird-esr/files/patch-bug72915518
-rw-r--r--mail/thunderbird-esr/files/patch-bug753046284
-rw-r--r--mail/thunderbird-esr/files/patch-bug76107788
-rw-r--r--mail/thunderbird-esr/files/patch-bug778056 (renamed from mail/thunderbird-esr/files/patch-mozilla-memory-mozalloc-mozalloc.cpp)0
-rw-r--r--mail/thunderbird-esr/files/patch-bug778078 (renamed from mail/thunderbird-esr/files/patch-mozilla-toolkit-xre-nsAppRunner.cpp)2
-rw-r--r--mail/thunderbird-esr/files/patch-bug77984728
-rw-r--r--mail/thunderbird-esr/files/patch-bug781457 (renamed from mail/thunderbird-esr/files/patch-mozilla-xpcom-base-nsStackWalk.cpp)8
-rw-r--r--mail/thunderbird-esr/files/patch-bug781474 (renamed from mail/thunderbird-esr/files/patch-mozilla__content__base__public__nsContentUtils.h)0
-rw-r--r--mail/thunderbird-esr/files/patch-bug78346320
-rw-r--r--mail/thunderbird-esr/files/patch-bug78477622
-rw-r--r--mail/thunderbird-esr/files/patch-bug785638168
-rw-r--r--mail/thunderbird-esr/files/patch-dom-ipc-ContentChild.cpp10
-rw-r--r--mail/thunderbird-esr/files/patch-ipc-chromium-src-base-file_util_linux.cc8
-rw-r--r--mail/thunderbird-esr/files/patch-ipc-chromium-src-base-time_posix.cc10
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-config-mkdepend-Makefile.in10
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-config_autoconf.mk.in9
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-configure.in30
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-dom-plugins-ipc-PluginMessageUtils.cpp11
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-gfx-ycbcr-Makefile.in21
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-ipc-chromium-src-base-message_pump_libevent.cc8
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-js-src-Makefile.in11
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-js-src-config-mkdepend-Makefile.in11
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-js-src-config_config.mk10
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-js-src-jscpucfg.h22
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-layout-generic-Makefile.in15
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-media-libvpx-vpx_config.c16
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-media-libvpx-vpx_config.h16
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-security-coreconf-FreeBSD.mk46
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-security-nss-lib-Makefile11
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-security_nss_lib_freebl_mpi_mpcpucache.c43
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-widget-src-qt-nsNativeThemeQt.cpp12
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-widget-src-qt-nsSound.cpp10
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-widget-src-qt-nsWindow.cpp10
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-xpcom-reflect-xptcall-public-xptcstubsdecl.inc11
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla-xpcom-reflect-xptcall-src-md-unix-Makefile.in38
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla__xpcom__threads__nsThreadManager.cpp2
-rw-r--r--mail/thunderbird-esr/files/patch-mozilla_toolkit_mozapps_installer_packager_mk13
-rw-r--r--mail/thunderbird-esr/files/patch-nsprpub-pr-include-md_freebsd.cfg100
-rw-r--r--mail/thunderbird-esr/files/patch-nsprpub-pr-include-md_freebsd.h30
-rw-r--r--mail/thunderbird-esr/files/patch-toolkit-xre-nsEmbedFunctions.cpp10
45 files changed, 900 insertions, 711 deletions
diff --git a/mail/thunderbird-esr/Makefile b/mail/thunderbird-esr/Makefile
index 44618e494fc9..b9299623ddf5 100644
--- a/mail/thunderbird-esr/Makefile
+++ b/mail/thunderbird-esr/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= thunderbird
-DISTVERSION= 10.0.6
+DISTVERSION= 10.0.7
CATEGORIES= mail ipv6
MASTER_SITES= ${MASTER_SITE_MOZILLA}
MASTER_SITE_SUBDIR= ${PORTNAME}/releases/${DISTVERSION}esr/source
@@ -21,8 +21,6 @@ BUILD_DEPENDS= nspr>=4.8.8:${PORTSDIR}/devel/nspr \
cairo>=1.10.2_1,1:${PORTSDIR}/graphics/cairo \
unzip:${PORTSDIR}/archivers/unzip
-CONFLICTS_BUILD= spidermonkey-*
-
USE_AUTOTOOLS= autoconf213:env
LATEST_LINK= thunderbird-esr
USE_GECKO= gecko
diff --git a/mail/thunderbird-esr/distinfo b/mail/thunderbird-esr/distinfo
index 7dccd06e81a7..b9363cb1d1a8 100644
--- a/mail/thunderbird-esr/distinfo
+++ b/mail/thunderbird-esr/distinfo
@@ -1,2 +1,2 @@
-SHA256 (thunderbird-10.0.6esr.source.tar.bz2) = 0962399e13ea4b97816730ea81260ec304a6da49c9562840c776f4d1a536c1e8
-SIZE (thunderbird-10.0.6esr.source.tar.bz2) = 97779445
+SHA256 (thunderbird-10.0.7esr.source.tar.bz2) = 994ca16a01e4446747b54b1b5fb2bda11aec2c92359571bffa0f6c8e45f27c35
+SIZE (thunderbird-10.0.7esr.source.tar.bz2) = 97590919
diff --git a/mail/thunderbird-esr/files/patch-bug691898 b/mail/thunderbird-esr/files/patch-bug691898
new file mode 100644
index 000000000000..adf059a59554
--- /dev/null
+++ b/mail/thunderbird-esr/files/patch-bug691898
@@ -0,0 +1,285 @@
+From: Mike Hommey <mh@glandium.org>
+Date: Sat, 24 Dec 2011 09:56:58 +0100
+Subject: Bug 691898 - Use YARR interpreter instead of PCRE on platforms where
+ YARR JIT is not supported
+
+---
+ js/src/Makefile.in | 21 +++++++++++++--------
+ js/src/vm/RegExpObject-inl.h | 28 ++++++----------------------
+ js/src/vm/RegExpObject.cpp | 36 ------------------------------------
+ js/src/vm/RegExpObject.h | 27 ++++++---------------------
+ js/src/yarr/wtfbridge.h | 2 --
+ 5 files changed, 25 insertions(+), 89 deletions(-)
+
+diff --git a/js/src/Makefile.in b/js/src/Makefile.in
+index fc48cbd..49f0bdc 100644
+--- mozilla/js/src/Makefile.in
++++ mozilla/js/src/Makefile.in
+@@ -416,15 +416,20 @@ CPPSRCS += checks.cc \
+
+ ifeq (,$(filter arm% sparc %86 x86_64,$(TARGET_CPU)))
+
+-VPATH += $(srcdir)/yarr/pcre \
++VPATH += $(srcdir)/assembler \
++ $(srcdir)/assembler/wtf \
++ $(srcdir)/yarr \
+ $(NULL)
+
+ CPPSRCS += \
+- pcre_compile.cpp \
+- pcre_exec.cpp \
+- pcre_tables.cpp \
+- pcre_xclass.cpp \
+- pcre_ucp_searchfuncs.cpp \
++ Assertions.cpp \
++ OSAllocatorOS2.cpp \
++ OSAllocatorPosix.cpp \
++ OSAllocatorWin.cpp \
++ PageBlock.cpp \
++ YarrInterpreter.cpp \
++ YarrPattern.cpp \
++ YarrSyntaxChecker.cpp \
+ $(NULL)
+ else
+
+@@ -1015,10 +1020,10 @@ endif
+ # Needed to "configure" it correctly. Unfortunately these
+ # flags wind up being applied to all code in js/src, not just
+ # the code in js/src/assembler.
+-CXXFLAGS += -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1
++CXXFLAGS += -DUSE_SYSTEM_MALLOC=1
+
+ ifneq (,$(ENABLE_YARR_JIT)$(ENABLE_TRACEJIT)$(ENABLE_METHODJIT))
+-CXXFLAGS += -DENABLE_JIT=1
++CXXFLAGS += -DENABLE_JIT=1 -DENABLE_ASSEMBLER=1
+ endif
+
+ INCLUDES += -I$(srcdir)/assembler -I$(srcdir)/yarr
+diff --git a/js/src/vm/RegExpObject-inl.h b/js/src/vm/RegExpObject-inl.h
+index 5f7817d..91108a7 100644
+--- mozilla/js/src/vm/RegExpObject-inl.h
++++ mozilla/js/src/vm/RegExpObject-inl.h
+@@ -327,6 +327,7 @@ RegExpPrivate::create(JSContext *cx, JSString *source, RegExpFlag flags, TokenSt
+ return RetType(self);
+ }
+
++#if ENABLE_YARR_JIT
+ /* This function should be deleted once bad Android platforms phase out. See bug 604774. */
+ inline bool
+ RegExpPrivateCode::isJITRuntimeEnabled(JSContext *cx)
+@@ -337,12 +338,12 @@ RegExpPrivateCode::isJITRuntimeEnabled(JSContext *cx)
+ return true;
+ #endif
+ }
++#endif
+
+ inline bool
+ RegExpPrivateCode::compile(JSContext *cx, JSLinearString &pattern, TokenStream *ts,
+ uintN *parenCount, RegExpFlag flags)
+ {
+-#if ENABLE_YARR_JIT
+ /* Parse the pattern. */
+ ErrorCode yarrError;
+ YarrPattern yarrPattern(pattern, bool(flags & IgnoreCaseFlag), bool(flags & MultilineFlag),
+@@ -359,7 +360,7 @@ RegExpPrivateCode::compile(JSContext *cx, JSLinearString &pattern, TokenStream *
+ * case we have to bytecode compile it.
+ */
+
+-#ifdef JS_METHODJIT
++#if ENABLE_YARR_JIT && defined(JS_METHODJIT)
+ if (isJITRuntimeEnabled(cx) && !yarrPattern.m_containsBackreferences) {
+ if (!cx->compartment->ensureJaegerCompartmentExists(cx))
+ return false;
+@@ -371,21 +372,11 @@ RegExpPrivateCode::compile(JSContext *cx, JSLinearString &pattern, TokenStream *
+ }
+ #endif
+
++#if ENABLE_YARR_JIT
+ codeBlock.setFallBack(true);
++#endif
+ byteCode = byteCompile(yarrPattern, cx->compartment->regExpAllocator).get();
+ return true;
+-#else /* !defined(ENABLE_YARR_JIT) */
+- int error = 0;
+- compiled = jsRegExpCompile(pattern.chars(), pattern.length(),
+- ignoreCase() ? JSRegExpIgnoreCase : JSRegExpDoNotIgnoreCase,
+- multiline() ? JSRegExpMultiline : JSRegExpSingleLine,
+- parenCount, &error);
+- if (error) {
+- reportPCREError(cx, error);
+- return false;
+- }
+- return true;
+-#endif
+ }
+
+ inline bool
+@@ -431,19 +422,12 @@ RegExpPrivateCode::execute(JSContext *cx, const jschar *chars, size_t start, siz
+ else
+ result = JSC::Yarr::execute(codeBlock, chars, start, length, output);
+ #else
+- result = jsRegExpExecute(cx, compiled, chars, length, start, output, outputCount);
++ result = JSC::Yarr::interpret(byteCode, chars, start, length, output);
+ #endif
+
+ if (result == -1)
+ return Success_NotFound;
+
+-#if !ENABLE_YARR_JIT
+- if (result < 0) {
+- reportPCREError(cx, result);
+- return Error;
+- }
+-#endif
+-
+ JS_ASSERT(result >= 0);
+ return Success;
+ }
+diff --git a/js/src/vm/RegExpObject.cpp b/js/src/vm/RegExpObject.cpp
+index f75c6a5..7631dd5 100644
+--- mozilla/js/src/vm/RegExpObject.cpp
++++ mozilla/js/src/vm/RegExpObject.cpp
+@@ -251,7 +251,6 @@ Class js::RegExpClass = {
+ NULL /* trace */
+ };
+
+-#if ENABLE_YARR_JIT
+ void
+ RegExpPrivateCode::reportYarrError(JSContext *cx, TokenStream *ts, ErrorCode error)
+ {
+@@ -283,41 +282,6 @@ RegExpPrivateCode::reportYarrError(JSContext *cx, TokenStream *ts, ErrorCode err
+ }
+ }
+
+-#else /* !ENABLE_YARR_JIT */
+-
+-void
+-RegExpPrivateCode::reportPCREError(JSContext *cx, int error)
+-{
+-#define REPORT(msg_) \
+- JS_ReportErrorFlagsAndNumberUC(cx, JSREPORT_ERROR, js_GetErrorMessage, NULL, msg_); \
+- return
+- switch (error) {
+- case -2: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
+- case 0: JS_NOT_REACHED("Precondition violation: an error must have occurred.");
+- case 1: REPORT(JSMSG_TRAILING_SLASH);
+- case 2: REPORT(JSMSG_TRAILING_SLASH);
+- case 3: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
+- case 4: REPORT(JSMSG_BAD_QUANTIFIER);
+- case 5: REPORT(JSMSG_BAD_QUANTIFIER);
+- case 6: REPORT(JSMSG_BAD_CLASS_RANGE);
+- case 7: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
+- case 8: REPORT(JSMSG_BAD_CLASS_RANGE);
+- case 9: REPORT(JSMSG_BAD_QUANTIFIER);
+- case 10: REPORT(JSMSG_UNMATCHED_RIGHT_PAREN);
+- case 11: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
+- case 12: REPORT(JSMSG_UNMATCHED_RIGHT_PAREN);
+- case 13: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
+- case 14: REPORT(JSMSG_MISSING_PAREN);
+- case 15: REPORT(JSMSG_BAD_BACKREF);
+- case 16: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
+- case 17: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
+- default:
+- JS_NOT_REACHED("Precondition violation: unknown PCRE error code.");
+- }
+-#undef REPORT
+-}
+-#endif /* ENABLE_YARR_JIT */
+-
+ bool
+ js::ParseRegExpFlags(JSContext *cx, JSString *flagStr, RegExpFlag *flagsOut)
+ {
+diff --git a/js/src/vm/RegExpObject.h b/js/src/vm/RegExpObject.h
+index 1449d56..279f3c0 100644
+--- mozilla/js/src/vm/RegExpObject.h
++++ mozilla/js/src/vm/RegExpObject.h
+@@ -49,8 +49,6 @@
+ #include "yarr/Yarr.h"
+ #if ENABLE_YARR_JIT
+ #include "yarr/YarrJIT.h"
+-#else
+-#include "yarr/pcre/pcre.h"
+ #endif
+
+ namespace js {
+@@ -153,48 +151,39 @@ ResetRegExpObject(JSContext *cx, AlreadyIncRefed<RegExpPrivate> rep);
+ /* Abstracts away the gross |RegExpPrivate| backend details. */
+ class RegExpPrivateCode
+ {
+-#if ENABLE_YARR_JIT
+ typedef JSC::Yarr::BytecodePattern BytecodePattern;
+ typedef JSC::Yarr::ErrorCode ErrorCode;
++ typedef JSC::Yarr::YarrPattern YarrPattern;
++#if ENABLE_YARR_JIT
+ typedef JSC::Yarr::JSGlobalData JSGlobalData;
+ typedef JSC::Yarr::YarrCodeBlock YarrCodeBlock;
+- typedef JSC::Yarr::YarrPattern YarrPattern;
+
+ /* Note: Native code is valid only if |codeBlock.isFallBack() == false|. */
+ YarrCodeBlock codeBlock;
+- BytecodePattern *byteCode;
+-#else
+- JSRegExp *compiled;
+ #endif
++ BytecodePattern *byteCode;
+
+ public:
+ RegExpPrivateCode()
+ :
+ #if ENABLE_YARR_JIT
+ codeBlock(),
+- byteCode(NULL)
+-#else
+- compiled(NULL)
+ #endif
++ byteCode(NULL)
+ { }
+
+ ~RegExpPrivateCode() {
+ #if ENABLE_YARR_JIT
+ codeBlock.release();
++#endif
+ if (byteCode)
+ Foreground::delete_<BytecodePattern>(byteCode);
+-#else
+- if (compiled)
+- jsRegExpFree(compiled);
+-#endif
+ }
+
+ #if ENABLE_YARR_JIT
+ static inline bool isJITRuntimeEnabled(JSContext *cx);
+- void reportYarrError(JSContext *cx, TokenStream *ts, JSC::Yarr::ErrorCode error);
+-#else
+- void reportPCREError(JSContext *cx, int error);
+ #endif
++ void reportYarrError(JSContext *cx, TokenStream *ts, JSC::Yarr::ErrorCode error);
+
+ inline bool compile(JSContext *cx, JSLinearString &pattern, TokenStream *ts, uintN *parenCount,
+ RegExpFlag flags);
+@@ -205,11 +194,7 @@ class RegExpPrivateCode
+ int *output, size_t outputCount);
+
+ static size_t getOutputSize(size_t pairCount) {
+-#if ENABLE_YARR_JIT
+ return pairCount * 2;
+-#else
+- return pairCount * 3; /* Should be x2, but PCRE has... needs. */
+-#endif
+ }
+ };
+
+diff --git a/js/src/yarr/wtfbridge.h b/js/src/yarr/wtfbridge.h
+index ac41d08..fb8eb86 100644
+--- mozilla/js/src/yarr/wtfbridge.h
++++ mozilla/js/src/yarr/wtfbridge.h
+@@ -49,9 +49,7 @@
+ #include "jsprvtd.h"
+ #include "vm/String.h"
+ #include "assembler/wtf/Platform.h"
+-#if ENABLE_YARR_JIT
+ #include "assembler/jit/ExecutableAllocator.h"
+-#endif
+
+ namespace JSC { namespace Yarr {
+
diff --git a/mail/thunderbird-esr/files/patch-bug714312 b/mail/thunderbird-esr/files/patch-bug714312
new file mode 100644
index 000000000000..02d0871c9a76
--- /dev/null
+++ b/mail/thunderbird-esr/files/patch-bug714312
@@ -0,0 +1,73 @@
+commit c104d9b
+Author: Landry Breuil <landry@openbsd.org>
+Date: Mon Jan 9 17:32:00 2012 -0600
+
+ Bug 714312 - Use <machine/endian.h> to get endianess on BSD systems, fixing the BSD build. r=ted
+
+ --HG--
+ extra : rebase_source : 8b418bdb2d713093d138ffed20bf1630c05f396b
+---
+ js/src/configure.in | 5 +++++
+ js/src/js-config.h.in | 4 ++++
+ js/src/jscpucfg.h | 17 +++++++++++++++++
+ 3 files changed, 26 insertions(+)
+
+diff --git mozilla/js/src/configure.in mozilla/js/src/configure.in
+index 164c896..361b29e 100644
+--- mozilla/js/src/configure.in
++++ mozilla/js/src/configure.in
+@@ -2934,6 +2934,11 @@ if test "$ac_cv_header_endian_h" = yes;
+ AC_DEFINE(JS_HAVE_ENDIAN_H)
+ fi
+
++AC_CHECK_HEADERS(machine/endian.h)
++if test "$ac_cv_header_machine_endian_h" = yes; then
++ AC_DEFINE(JS_HAVE_MACHINE_ENDIAN_H)
++fi
++
+ AC_CHECK_HEADERS(sys/isa_defs.h)
+ if test "$ac_cv_header_sys_isa_defs_h" = yes; then
+ AC_DEFINE(JS_HAVE_SYS_ISA_DEFS_H)
+diff --git mozilla/js/src/js-config.h.in mozilla/js/src/js-config.h.in
+index fb009fa..402262e 100644
+--- mozilla/js/src/js-config.h.in
++++ mozilla/js/src/js-config.h.in
+@@ -59,6 +59,10 @@
+ useable. See jscpucfg.h. */
+ #undef JS_HAVE_ENDIAN_H
+
++/* Define to 1 if the <machine/endian.h> header is present and
++ useable. See jscpucfg.h. */
++#undef JS_HAVE_MACHINE_ENDIAN_H
++
+ /* Define to 1 if the <sys/isa_defs.h> header is present and
+ useable. See jscpucfg.h. */
+ #undef JS_HAVE_SYS_ISA_DEFS_H
+diff --git mozilla/js/src/jscpucfg.h mozilla/js/src/jscpucfg.h
+index dd32bce..5fd8415 100644
+--- mozilla/js/src/jscpucfg.h
++++ mozilla/js/src/jscpucfg.h
+@@ -92,6 +92,23 @@
+ # error "endian.h does not define __BYTE_ORDER. Cannot determine endianness."
+ # endif
+
++/* BSDs */
++#elif defined(JS_HAVE_MACHINE_ENDIAN_H)
++# include <sys/types.h>
++# include <machine/endian.h>
++
++# if defined(_BYTE_ORDER)
++# if _BYTE_ORDER == _LITTLE_ENDIAN
++# define IS_LITTLE_ENDIAN 1
++# undef IS_BIG_ENDIAN
++# elif _BYTE_ORDER == _BIG_ENDIAN
++# undef IS_LITTLE_ENDIAN
++# define IS_BIG_ENDIAN 1
++# endif
++# else /* !defined(_BYTE_ORDER) */
++# error "machine/endian.h does not define _BYTE_ORDER. Cannot determine endianness."
++# endif
++
+ #elif defined(JS_HAVE_SYS_ISA_DEFS_H)
+ # include <sys/isa_defs.h>
+
diff --git a/mail/thunderbird-esr/files/patch-bug725655 b/mail/thunderbird-esr/files/patch-bug725655
new file mode 100644
index 000000000000..56b9e36a8e41
--- /dev/null
+++ b/mail/thunderbird-esr/files/patch-bug725655
@@ -0,0 +1,53 @@
+commit 18b9c9d
+Author: Martin Stránský <stransky@redhat.com>
+Date: Fri Feb 10 16:07:41 2012 +0100
+
+ Bug 725655 - gcc 4.7 build failures (missing headers). r=benjamin
+---
+ ipc/chromium/src/base/file_util_linux.cc | 3 +++
+ ipc/chromium/src/base/message_pump_libevent.cc | 3 +++
+ ipc/chromium/src/base/time_posix.cc | 3 +++
+ 3 files changed, 9 insertions(+)
+
+diff --git ipc/chromium/src/base/file_util_linux.cc ipc/chromium/src/base/file_util_linux.cc
+index cca706f..171e44f 100644
+--- mozilla/ipc/chromium/src/base/file_util_linux.cc
++++ mozilla/ipc/chromium/src/base/file_util_linux.cc
+@@ -5,6 +5,9 @@
+ #include "base/file_util.h"
+
+ #include <fcntl.h>
++#if defined(ANDROID) || defined(OS_POSIX)
++#include <unistd.h>
++#endif
+
+ #include <string>
+ #include <vector>
+diff --git mozilla/ipc/chromium/src/base/message_pump_libevent.cc mozilla/ipc/chromium/src/base/message_pump_libevent.cc
+index 6194f79..9f31dbb 100644
+--- mozilla/ipc/chromium/src/base/message_pump_libevent.cc
++++ mozilla/ipc/chromium/src/base/message_pump_libevent.cc
+@@ -6,6 +6,9 @@
+
+ #include <errno.h>
+ #include <fcntl.h>
++#if defined(ANDROID) || defined(OS_POSIX)
++#include <unistd.h>
++#endif
+
+ #include "eintr_wrapper.h"
+ #include "base/logging.h"
+diff --git mozilla/ipc/chromium/src/base/time_posix.cc mozilla/ipc/chromium/src/base/time_posix.cc
+index 8d1a1d5..abf2a56 100644
+--- mozilla/ipc/chromium/src/base/time_posix.cc
++++ mozilla/ipc/chromium/src/base/time_posix.cc
+@@ -13,6 +13,9 @@
+ #else
+ #include <time.h>
+ #endif
++#if defined(ANDROID) || defined(OS_POSIX)
++#include <unistd.h>
++#endif
+
+ #include <limits>
+
diff --git a/mail/thunderbird-esr/files/patch-bug729155 b/mail/thunderbird-esr/files/patch-bug729155
new file mode 100644
index 000000000000..b4791bb1141a
--- /dev/null
+++ b/mail/thunderbird-esr/files/patch-bug729155
@@ -0,0 +1,18 @@
+--- mozilla/dom/plugins/ipc/PluginMessageUtils.cpp
++++ mozilla/dom/plugins/ipc/PluginMessageUtils.cpp
+@@ -114,6 +114,7 @@ MediateRace(const RPCChannel::Message& parent,
+ }
+ }
+
++#if defined(OS_LINUX)
+ static string
+ ReplaceAll(const string& haystack, const string& needle, const string& with)
+ {
+@@ -127,6 +128,7 @@ ReplaceAll(const string& haystack, const string& needle, const string& with)
+
+ return munged;
+ }
++#endif
+
+ string
+ MungePluginDsoPath(const string& path)
diff --git a/mail/thunderbird-esr/files/patch-bug753046 b/mail/thunderbird-esr/files/patch-bug753046
index ba42ffbde6c4..b6d24617d411 100644
--- a/mail/thunderbird-esr/files/patch-bug753046
+++ b/mail/thunderbird-esr/files/patch-bug753046
@@ -4,15 +4,14 @@ $NetBSD: patch-dom_plugins_ipc_PluginModuleChild.cpp,v 1.1 2012/03/06 12:34:09 r
--- mozilla/dom/plugins/ipc/PluginModuleChild.cpp.orig 2011-12-20 23:28:14.000000000 +0000
+++ mozilla/dom/plugins/ipc/PluginModuleChild.cpp
-@@ -33,6 +33,8 @@
- #include "nsPluginsDir.h"
- #include "nsXULAppAPI.h"
+@@ -5,6 +5,7 @@
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-+#include <unistd.h>
-+
- #ifdef MOZ_X11
- # include "mozilla/X11Util.h"
- #endif
+ #ifdef MOZ_WIDGET_QT
++#include <unistd.h> // for _exit()
+ #include <QtCore/QTimer>
+ #include "nsQAppInstance.h"
+ #include "NestedLoopTimer.h"
@@ -228,7 +228,7 @@ PluginModuleChild::Init(const std::strin
// TODO: use PluginPRLibrary here
@@ -65,7 +64,7 @@ $NetBSD: patch-ipc_chromium_Makefile.in,v 1.1 2012/03/06 12:34:09 ryoon Exp $
+
+CPPSRCS += \
+ atomicops_internals_x86_gcc.cc \
-+ file_util_bsd.cc \
++ file_util_linux.cc \
+ process_util_bsd.cc \
+ time_posix.cc \
+ $(NULL)
@@ -218,21 +217,23 @@ $NetBSD: patch-ipc_chromium_src_base_debug__util__posic.cc,v 1.3 2012/04/01 15:1
#include <errno.h>
#include <fcntl.h>
-@@ -17,8 +17,13 @@
+@@ -17,9 +17,16 @@
#include <unistd.h>
#if MOZ_HAVE_EXECINFO_H
#include <execinfo.h>
--#include <sys/sysctl.h>
++#endif
++
++#if defined(OS_MACOSX) || defined(OS_BSD)
+ #include <sys/sysctl.h>
#endif
+
+#if defined(OS_DRAGONFLY) || defined(OS_FREEBSD)
+#include <sys/user.h>
-+#elif defined(OS_FREEBSD)
-+#include <sys/proc.h>
+#endif
-+#include <sys/sysctl.h>
-
++
#include "base/basictypes.h"
#include "base/eintr_wrapper.h"
+ #include "base/logging.h"
@@ -32,7 +37,7 @@ bool DebugUtil::SpawnDebuggerOnProcess(u
return false;
}
@@ -242,7 +243,7 @@ $NetBSD: patch-ipc_chromium_src_base_debug__util__posic.cc,v 1.3 2012/04/01 15:1
// Based on Apple's recommended method as described in
// http://developer.apple.com/qa/qa2004/qa1361.html
-@@ -71,7 +76,13 @@ bool DebugUtil::BeingDebugged() {
+@@ -71,7 +76,15 @@ bool DebugUtil::BeingDebugged() {
// This process is being debugged if the P_TRACED flag is set.
is_set = true;
@@ -250,6 +251,8 @@ $NetBSD: patch-ipc_chromium_src_base_debug__util__posic.cc,v 1.3 2012/04/01 15:1
+ being_debugged = (info.kp_flags & P_TRACED) != 0;
+#elif defined(OS_FREEBSD)
+ being_debugged = (info.ki_flag & P_TRACED) != 0;
++#elif defined(OS_OPENBSD)
++ being_debugged = (info.p_flag & P_TRACED) != 0;
+#else
being_debugged = (info.kp_proc.p_flag & P_TRACED) != 0;
+#endif
@@ -392,105 +395,19 @@ index 9a34492..62b280c 100644
#else
typedef DirReaderFallback DirReaderPosix;
#endif
-$NetBSD: patch-ipc_chromium_src_base_file__util.h,v 1.2 2012/03/06 12:34:09 ryoon Exp $
-
---- mozilla/ipc/chromium/src/base/file_util.h.orig 2011-12-20 23:28:19.000000000 +0000
-+++ mozilla/ipc/chromium/src/base/file_util.h
-@@ -16,8 +16,8 @@
- #include <sys/stat.h>
- #elif defined(OS_POSIX)
- #include <sys/types.h>
--#include <fts.h>
- #include <sys/stat.h>
-+#include <fts.h>
- #endif
+diff --git mozilla/ipc/chromium/src/base/file_util_linux.cc mozilla/ipc/chromium/src/base/file_util_linux.cc
+index 171e44f..0c6dfcc 100644
+--- mozilla/ipc/chromium/src/base/file_util_linux.cc
++++ mozilla/ipc/chromium/src/base/file_util_linux.cc
+@@ -28,7 +28,7 @@ bool GetTempDir(FilePath* path) {
+ }
- #include <stdio.h>
-$NetBSD: patch-ipc_chromium_src_base_file__util__bsd.cc,v 1.1 2012/03/06 12:34:09 ryoon Exp $
-
---- mozilla/ipc/chromium/src/base/file_util_bsd.cc.orig 2012-01-07 18:21:18.000000000 +0000
-+++ mozilla/ipc/chromium/src/base/file_util_bsd.cc
-@@ -0,0 +1,80 @@
-+// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style license that can be
-+// found in the LICENSE file.
-+
-+// this is a derivative of file_util_linux.cc
-+
-+#include "base/file_util.h"
-+
-+#include <fcntl.h>
-+#include <unistd.h>
-+
-+#include <string>
-+#include <vector>
-+
-+#include "base/eintr_wrapper.h"
-+#include "base/file_path.h"
-+#include "base/string_util.h"
-+
-+namespace file_util {
-+
-+bool GetTempDir(FilePath* path) {
-+ const char* tmp = getenv("TMPDIR");
-+ if (tmp)
-+ *path = FilePath(tmp);
-+ else
-+ *path = FilePath("/tmp");
-+ return true;
-+}
-+
-+bool GetShmemTempDir(FilePath* path) {
-+ return GetTempDir(path);
-+}
-+
-+bool CopyFile(const FilePath& from_path, const FilePath& to_path) {
-+ int infile = open(from_path.value().c_str(), O_RDONLY);
-+ if (infile < 0)
-+ return false;
-+
-+ int outfile = creat(to_path.value().c_str(), 0666);
-+ if (outfile < 0) {
-+ close(infile);
-+ return false;
-+ }
-+
-+ const size_t kBufferSize = 32768;
-+ std::vector<char> buffer(kBufferSize);
-+ bool result = true;
-+
-+ while (result) {
-+ ssize_t bytes_read = HANDLE_EINTR(read(infile, &buffer[0], buffer.size()));
-+ if (bytes_read < 0) {
-+ result = false;
-+ break;
-+ }
-+ if (bytes_read == 0)
-+ break;
-+ // Allow for partial writes
-+ ssize_t bytes_written_per_read = 0;
-+ do {
-+ ssize_t bytes_written_partial = HANDLE_EINTR(write(
-+ outfile,
-+ &buffer[bytes_written_per_read],
-+ bytes_read - bytes_written_per_read));
-+ if (bytes_written_partial < 0) {
-+ result = false;
-+ break;
-+ }
-+ bytes_written_per_read += bytes_written_partial;
-+ } while (bytes_written_per_read < bytes_read);
-+ }
-+
-+ if (HANDLE_EINTR(close(infile)) < 0)
-+ result = false;
-+ if (HANDLE_EINTR(close(outfile)) < 0)
-+ result = false;
-+
-+ return result;
-+}
-+
-+} // namespace file_util
+ bool GetShmemTempDir(FilePath* path) {
+-#ifdef ANDROID
++#if defined(ANDROID) || defined(OS_BSD)
+ return GetTempDir(path);
+ #else
+ *path = FilePath("/dev/shm");
$NetBSD: patch-ipc_chromium_src_base_file__util__posix.cc,v 1.2 2012/03/06 12:34:09 ryoon Exp $
--- mozilla/ipc/chromium/src/base/file_util_posix.cc.orig 2011-12-20 23:28:19.000000000 +0000
@@ -500,7 +417,7 @@ $NetBSD: patch-ipc_chromium_src_base_file__util__posix.cc,v 1.2 2012/03/06 12:34
// FreeBSD/OpenBSD lacks stat64, but its stat handles files >2GB just fine
-#if defined(OS_FREEBSD) || defined(OS_OPENBSD)
-+#ifndef OS_LINUX
++#ifndef HAVE_STAT64
#define stat64 stat
#endif
@@ -526,27 +443,19 @@ $NetBSD: patch-ipc_chromium_src_base_message__loop.cc,v 1.1 2012/03/06 12:34:09
pump_ = new base::MessagePumpForUI();
#endif // OS_LINUX
} else if (type_ == TYPE_IO) {
-$NetBSD: patch-ipc_chromium_src_base_platform__file__posix.cc,v 1.1 2011/07/12 15:12:36 tnn Exp $
-
---- mozilla/ipc/chromium/src/base/platform_file_posix.cc.orig 2011-06-15 21:57:27.000000000 +0000
-+++ mozilla/ipc/chromium/src/base/platform_file_posix.cc
-@@ -9,6 +9,7 @@
- #ifdef ANDROID
- #include <linux/stat.h>
- #endif
-+#include <sys/stat.h> /* for S_IRUSR */
-
- #include "base/logging.h"
- #include "base/string_util.h"
$NetBSD: patch-ipc_chromium_src_base_platform__thread.h,v 1.1 2012/03/06 12:34:09 ryoon Exp $
--- mozilla/ipc/chromium/src/base/platform_thread.h.orig 2011-12-20 23:28:19.000000000 +0000
+++ mozilla/ipc/chromium/src/base/platform_thread.h
-@@ -25,6 +25,8 @@ typedef pthread_t PlatformThreadHandle;
- #if defined(OS_LINUX)
+@@ -22,9 +22,11 @@ typedef void* PlatformThreadHandle; // HANDLE
+ #elif defined(OS_POSIX)
+ #include <pthread.h>
+ typedef pthread_t PlatformThreadHandle;
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_OPENBSD)
#include <unistd.h>
typedef pid_t PlatformThreadId;
-+#elif defined(OS_FREEBSD) || defined(OS_DRAGONFLY) || defined (OS_NETBSD)
++#elif defined(OS_BSD)
+typedef lwpid_t PlatformThreadId;
#elif defined(OS_MACOSX)
#include <mach/mach.h>
@@ -555,7 +464,7 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread__posix.cc,v 1.4 2012/04/01
--- mozilla/ipc/chromium/src/base/platform_thread_posix.cc.orig 2012-03-13 01:36:53.000000000 +0000
+++ mozilla/ipc/chromium/src/base/platform_thread_posix.cc
-@@ -9,9 +9,18 @@
+@@ -9,9 +9,23 @@
#if defined(OS_MACOSX)
#include <mach/mach.h>
@@ -567,14 +476,19 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread__posix.cc,v 1.4 2012/04/01
+#elif defined(OS_DRAGONFLY)
+#include <unistd.h>
+#elif defined(OS_FREEBSD)
++#include <sys/param.h>
++#if __FreeBSD_version > 802500
++#include <sys/thr.h>
++#else
+_Pragma("GCC visibility push(default)")
-+extern "C" int thr_self(long *); // XXX #include <sys/thr.h>
++extern "C" int thr_self(long *);
+_Pragma("GCC visibility pop")
++#endif
+#include <pthread_np.h>
#endif
#if defined(OS_MACOSX)
-@@ -38,7 +45,19 @@
+@@ -38,9 +45,20 @@
// into the kernel.
#if defined(OS_MACOSX)
return mach_thread_self();
@@ -592,9 +506,12 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread__posix.cc,v 1.4 2012/04/01
+ return lwpid;
+# endif
+#elif defined(OS_OPENBSD)
- // TODO(BSD): find a better thread ID
- return (intptr_t)(pthread_self());
+- // TODO(BSD): find a better thread ID
+- return (intptr_t)(pthread_self());
++ return (intptr_t) (pthread_self());
#elif defined(OS_LINUX)
+ return syscall(__NR_gettid);
+ #endif
$NetBSD: patch-ipc_chromium_src_base_process__util.h,v 1.1 2012/03/06 12:34:09 ryoon Exp $
--- mozilla/ipc/chromium/src/base/process_util.h.orig 2011-12-21 00:28:19.000000000 +0100
@@ -636,7 +553,7 @@ $NetBSD: patch-ipc_chromium_src_base_process__util__bsd.cc,v 1.4 2012/04/01 15:1
--- mozilla/ipc/chromium/src/base/process_util_bsd.cc.orig 2012-04-01 00:04:28.000000000 +0000
+++ mozilla/ipc/chromium/src/base/process_util_bsd.cc
-@@ -0,0 +1,326 @@
+@@ -0,0 +1,318 @@
+// Copyright (c) 2008 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
@@ -645,36 +562,20 @@ $NetBSD: patch-ipc_chromium_src_base_process__util__bsd.cc,v 1.4 2012/04/01 15:1
+
+#include "base/process_util.h"
+
-+#include <ctype.h>
-+#include <fcntl.h>
-+#include <unistd.h>
-+#include <string>
-+#if defined(OS_DRAGONFLY) || defined(OS_FREEBSD)
-+/* DragonFly, as of v3.0.1, and FreeBSD 9.0-RELEASE do not explicitly mark symbols public */
-+#define PRE_SYS_INCLUDE _Pragma("GCC visibility push(default)")
-+#define POST_SYS_INCLUDE _Pragma("GCC visibility pop")
-+#else
-+#define PRE_SYS_INCLUDE
-+#define POST_SYS_INCLUDE
-+#endif
-+PRE_SYS_INCLUDE
-+#include <kvm.h>
-+POST_SYS_INCLUDE
++#include <sys/param.h>
+#include <sys/sysctl.h>
-+#include <sys/types.h>
+#include <sys/wait.h>
-+#if defined(OS_DRAGONFLY)
-+PRE_SYS_INCLUDE
-+#include <sys/user.h>
-+POST_SYS_INCLUDE
-+#define HAVE_POSIX_SPAWN 1
-+#endif
-+#if defined(OS_FREEBSD)
-+PRE_SYS_INCLUDE
++#if defined(OS_DRAGONFLY) || defined(OS_FREEBSD)
+#include <sys/user.h>
-+POST_SYS_INCLUDE
+#endif
+
++#include <ctype.h>
++#include <fcntl.h>
++#include <kvm.h>
++#include <unistd.h>
++
++#include <string>
++
+#include "base/debug_util.h"
+#include "base/eintr_wrapper.h"
+#include "base/file_util.h"
@@ -682,17 +583,21 @@ $NetBSD: patch-ipc_chromium_src_base_process__util__bsd.cc,v 1.4 2012/04/01 15:1
+#include "base/string_tokenizer.h"
+#include "base/string_util.h"
+
-+#if defined(OS_NETBSD)
-+#include <sys/param.h>
-+#if __NetBSD_Version__ >= 600000000
++#if (defined(_POSIX_SPAWN) && _POSIX_SPAWN > 0) \
++ || (defined(OS_NETBSD) && __NetBSD_Version__ >= 599006500)
+#define HAVE_POSIX_SPAWN 1
+#endif
++
++#ifndef __dso_public
++# ifdef __exported
++# define __dso_public __exported
++# else
++# define __dso_public __attribute__((__visibility__("default")))
++# endif
+#endif
+
+#ifdef HAVE_POSIX_SPAWN
-+PRE_SYS_INCLUDE
+#include <spawn.h>
-+POST_SYS_INCLUDE
+extern "C" char **environ __dso_public;
+#endif
+
@@ -933,7 +838,11 @@ $NetBSD: patch-ipc_chromium_src_base_process__util__bsd.cc,v 1.4 2012/04/01 15:1
+# endif
+#else
+ kvm = kvm_open(NULL, NULL, NULL, KVM_NO_FILES, NULL);
++#if defined(OS_OPENBSD)
++ struct kinfo_proc* procs = kvm_getprocs(kvm, KERN_PROC_UID, getuid(), sizeof(struct kinfo_proc), &numEntries);
++#else
+ struct kinfo_proc2* procs = kvm_getproc2(kvm, KERN_PROC_UID, getuid(), sizeof(struct kinfo_proc2), &numEntries);
++#endif
+ if (procs != NULL && numEntries > 0) {
+ for (int i = 0; i < numEntries; i++) {
+ if (exe != procs[i].p_comm) continue;
@@ -1105,24 +1014,30 @@ $NetBSD: patch-ipc_chromium_src_build_build__config.h,v 1.4 2012/04/01 15:18:45
--- mozilla/ipc/chromium/src/build/build_config.h.orig 2012-03-13 01:36:53.000000000 +0000
+++ mozilla/ipc/chromium/src/build/build_config.h
-@@ -19,17 +19,23 @@
+@@ -19,6 +19,12 @@
#define OS_MACOSX 1
#elif defined(__linux__) || defined(ANDROID)
#define OS_LINUX 1
-+#elif defined(__NetBSD__)
-+#define OS_NETBSD 1
+#elif defined(__DragonFly__)
+#define OS_DRAGONFLY 1
++#elif defined(__FreeBSD__)
++#define OS_FREEBSD 1
++#elif defined(__NetBSD__)
++#define OS_NETBSD 1
#elif defined(__OpenBSD__)
#define OS_OPENBSD 1
#elif defined(_WIN32)
- #define OS_WIN 1
-+#elif defined(__FreeBSD__)
-+#define OS_FREEBSD 1
- #else
+@@ -27,9 +33,16 @@
#error Please add support for your platform in build/build_config.h
#endif
++// For access to standard BSD features, use OS_BSD instead of a
++// more specific macro.
++#if defined(OS_DRAGONFLY) || defined(OS_FREEBSD) \
++ || defined(OS_NETBSD) || defined(OS_OPENBSD)
++#define OS_BSD 1
++#endif
++
// For access to standard POSIX features, use OS_POSIX instead of a more
// specific macro.
-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_OPENBSD)
@@ -1164,7 +1079,7 @@ $NetBSD: patch-ipc_chromium_src_chrome_common_ipc__message__utils.h,v 1.1 2012/0
#endif
-#if !(defined(OS_MACOSX) || defined(OS_OPENBSD) || defined(OS_WIN) || (defined(OS_LINUX) && defined(ARCH_CPU_64_BITS)) || defined(ARCH_CPU_S390))
-+#if !(defined(OS_MACOSX) || defined(OS_OPENBSD) || defined(OS_WIN) || ((defined(OS_FREEBSD) || defined(OS_DRAGONFLY) || defined(OS_NETBSD) || defined(OS_LINUX)) && defined(ARCH_CPU_64_BITS)) || defined(ARCH_CPU_S390))
++#if !(defined(OS_MACOSX) || defined(OS_OPENBSD) || defined(OS_WIN) || ((defined(OS_BSD) || defined(OS_LINUX)) && defined(ARCH_CPU_64_BITS)) || defined(ARCH_CPU_S390))
// There size_t is a synonym for |unsigned long| ...
template <>
struct ParamTraits<size_t> {
@@ -1173,7 +1088,7 @@ $NetBSD: patch-ipc_chromium_src_chrome_common_ipc__message__utils.h,v 1.1 2012/0
#endif // defined(OS_MACOSX)
-#if !(defined(OS_LINUX) && defined(ARCH_CPU_64_BITS))
-+#if !((defined(OS_FREEBSD) || defined(OS_DRAGONFLY) || defined(OS_NETBSD) || defined(OS_LINUX)) && defined(ARCH_CPU_64_BITS))
++#if !((defined(OS_BSD) || defined(OS_LINUX)) && defined(ARCH_CPU_64_BITS))
// int64 is |long int| on 64-bit systems, uint64 is |unsigned long|
template <>
struct ParamTraits<int64> {
@@ -1195,7 +1110,7 @@ $NetBSD: patch-ipc_chromium_src_chrome_common_transport__dib.h,v 1.1 2012/03/06
};
typedef HandleAndSequenceNum Id;
-#elif defined(OS_MACOSX)
-+#elif defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_BSD)
++#elif defined(OS_MACOSX) || defined(OS_BSD)
typedef base::SharedMemoryHandle Handle;
// On Mac, the inode number of the backing file is used as an id.
typedef base::SharedMemoryId Id;
@@ -1250,16 +1165,31 @@ $NetBSD: patch-ipc_glue_GeckoChildProcessHost.cpp,v 1.2 2012/03/15 08:30:06 ryoo
newEnvVars,
#endif
false, &process, arch);
+diff --git ipc/glue/SharedMemorySysV.h ipc/glue/SharedMemorySysV.h
+index f37998d..b05dc7b 100644
+--- mozilla/ipc/glue/SharedMemorySysV.h
++++ mozilla/ipc/glue/SharedMemorySysV.h
+@@ -8,7 +8,7 @@
+ #ifndef mozilla_ipc_SharedMemorySysV_h
+ #define mozilla_ipc_SharedMemorySysV_h
+
+-#if defined(OS_LINUX) && !defined(ANDROID)
++#if (defined(OS_LINUX) && !defined(ANDROID)) || defined(OS_BSD)
+
+ // SysV shared memory isn't available on Windows, but we define the
+ // following macro so that #ifdefs are clearer (compared to #ifdef
$NetBSD: patch-mm,v 1.13 2012/06/05 18:09:21 ryoon Exp $
--- mozilla/toolkit/library/Makefile.in.orig 2012-05-23 18:57:09.000000000 +0000
+++ mozilla/toolkit/library/Makefile.in
-@@ -534,6 +538,10 @@ EXTRA_DSO_LDOPTS += -lelf -ldemangle
+@@ -534,6 +538,12 @@ EXTRA_DSO_LDOPTS += -lelf -ldemangle
endif
endif
+ifneq (,$(filter DragonFly FreeBSD NetBSD OpenBSD,$(OS_ARCH)))
+OS_LIBS += $(call EXPAND_LIBNAME,kvm)
++# keep `environ' unresolved, see bug 14426 for binutils
++EXTRA_DSO_LDOPTS += -Wl,--warn-unresolved-symbols
+endif
+
ifeq ($(OS_ARCH),WINNT)
diff --git a/mail/thunderbird-esr/files/patch-bug761077 b/mail/thunderbird-esr/files/patch-bug761077
new file mode 100644
index 000000000000..3c8040ed6754
--- /dev/null
+++ b/mail/thunderbird-esr/files/patch-bug761077
@@ -0,0 +1,88 @@
+diff --git mozilla/xpcom/reflect/xptcall/public/genstubs.pl mozilla/xpcom/reflect/xptcall/public/genstubs.pl
+index b8a87a5..918c4cf 100644
+--- mozilla/xpcom/reflect/xptcall/public/genstubs.pl
++++ mozilla/xpcom/reflect/xptcall/public/genstubs.pl
+@@ -44,7 +44,7 @@ print OUTFILE "* 0 is QueryInterface\n";
+ print OUTFILE "* 1 is AddRef\n";
+ print OUTFILE "* 2 is Release\n";
+ print OUTFILE "*/\n";
+-print OUTFILE "#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__))\n";
++print OUTFILE "#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__) && !defined(__FreeBSD__))\n";
+ for($i = 0; $i < $entry_count; $i++) {
+ print OUTFILE "NS_IMETHOD Stub",$i+3,"();\n";
+ }
+diff --git mozilla/xpcom/reflect/xptcall/public/xptcstubsdecl.inc mozilla/xpcom/reflect/xptcall/public/xptcstubsdecl.inc
+index eb66761..807db26 100644
+--- mozilla/xpcom/reflect/xptcall/public/xptcstubsdecl.inc
++++ mozilla/xpcom/reflect/xptcall/public/xptcstubsdecl.inc
+@@ -8,7 +8,7 @@
+ * 1 is AddRef
+ * 2 is Release
+ */
+-#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__))
++#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__) && !defined(__FreeBSD__))
+ NS_IMETHOD Stub3();
+ NS_IMETHOD Stub4();
+ NS_IMETHOD Stub5();
+diff --git mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in
+index ae6ed66..2783957 100644
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in
+@@ -70,7 +70,7 @@ endif
+ endif
+ endif
+ # IA64 Linux
+-ifneq (,$(filter Linux,$(OS_ARCH)))
++ifneq (,$(filter Linux FreeBSD,$(OS_ARCH)))
+ ifneq (,$(findstring ia64,$(OS_TEST)))
+ CPPSRCS := xptcinvoke_ipf64.cpp xptcstubs_ipf64.cpp
+ ASFILES := xptcstubs_asm_ipf64.s xptcinvoke_asm_ipf64.s
+@@ -269,7 +269,7 @@ endif
+ #
+ # Linux/PPC
+ #
+-ifeq ($(OS_ARCH)$(OS_TEST),Linuxpowerpc)
++ifneq (,$(filter Linuxpowerpc FreeBSDpowerpc,$(OS_ARCH)$(OS_TEST)))
+ CPPSRCS := xptcinvoke_ppc_linux.cpp xptcstubs_ppc_linux.cpp
+ ASFILES := xptcinvoke_asm_ppc_linux.s xptcstubs_asm_ppc_linux.s
+ AS := $(CC) -c -x assembler-with-cpp
+@@ -278,7 +278,7 @@ endif
+ #
+ # Linux/PPC64
+ #
+-ifeq ($(OS_ARCH)$(OS_TEST),Linuxpowerpc64)
++ifneq (,$(filter Linuxpowerpc64 FreeBSDpowerpc64,$(OS_ARCH)$(OS_TEST)))
+ CPPSRCS := xptcinvoke_ppc64_linux.cpp xptcstubs_ppc64_linux.cpp
+ ASFILES := xptcinvoke_asm_ppc64_linux.s xptcstubs_asm_ppc64_linux.s
+ AS := $(CC) -c -x assembler-with-cpp
+@@ -350,7 +350,7 @@ endif
+ #
+ # OpenBSD/SPARC64
+ #
+-ifeq ($(OS_ARCH)$(OS_TEST),OpenBSDsparc64)
++ifneq (,$(filter OpenBSDsparc64 FreeBSDsparc64,$(OS_ARCH)$(OS_TEST)))
+ CPPSRCS := xptcinvoke_sparc64_openbsd.cpp xptcstubs_sparc64_openbsd.cpp
+ ASFILES := xptcinvoke_asm_sparc64_openbsd.s xptcstubs_asm_sparc64_openbsd.s
+ endif
+diff --git mozilla/xpcom/reflect/xptcall/src/xptcprivate.h mozilla/xpcom/reflect/xptcall/src/xptcprivate.h
+index d903ced..e4ec832 100644
+--- mozilla/xpcom/reflect/xptcall/src/xptcprivate.h
++++ mozilla/xpcom/reflect/xptcall/src/xptcprivate.h
+@@ -14,7 +14,7 @@
+
+ class xptiInterfaceEntry;
+
+-#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__))
++#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__) && !defined(__FreeBSD__))
+ #define STUB_ENTRY(n) NS_IMETHOD Stub##n() = 0;
+ #else
+ #define STUB_ENTRY(n) NS_IMETHOD Stub##n(PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64) = 0;
+@@ -31,7 +31,7 @@ public:
+ #undef STUB_ENTRY
+ #undef SENTINEL_ENTRY
+
+-#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__))
++#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__) && !defined(__FreeBSD__))
+ #define STUB_ENTRY(n) NS_IMETHOD Stub##n();
+ #else
+ #define STUB_ENTRY(n) NS_IMETHOD Stub##n(PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64,PRUint64);
diff --git a/mail/thunderbird-esr/files/patch-mozilla-memory-mozalloc-mozalloc.cpp b/mail/thunderbird-esr/files/patch-bug778056
index 2a792aba9aa0..2a792aba9aa0 100644
--- a/mail/thunderbird-esr/files/patch-mozilla-memory-mozalloc-mozalloc.cpp
+++ b/mail/thunderbird-esr/files/patch-bug778056
diff --git a/mail/thunderbird-esr/files/patch-mozilla-toolkit-xre-nsAppRunner.cpp b/mail/thunderbird-esr/files/patch-bug778078
index 64e61b4ccfa7..6043f4a30c90 100644
--- a/mail/thunderbird-esr/files/patch-mozilla-toolkit-xre-nsAppRunner.cpp
+++ b/mail/thunderbird-esr/files/patch-bug778078
@@ -5,7 +5,7 @@
#endif
#if defined(MOZ_WIDGET_GTK2)
-#ifdef MOZ_MEMORY
-+#if defined(MOZ_MEMORY) || defined(__FreeBSD__)
++#if defined(MOZ_MEMORY) || defined(__FreeBSD__) || defined(__NetBSD__)
// Disable the slice allocator, since jemalloc already uses similar layout
// algorithms, and using a sub-allocator tends to increase fragmentation.
// This must be done before g_thread_init() is called.
diff --git a/mail/thunderbird-esr/files/patch-bug779847 b/mail/thunderbird-esr/files/patch-bug779847
new file mode 100644
index 000000000000..ed30d515af31
--- /dev/null
+++ b/mail/thunderbird-esr/files/patch-bug779847
@@ -0,0 +1,28 @@
+--- mozilla/gfx/ycbcr/Makefile.in
++++ mozilla/gfx/ycbcr/Makefile.in
+@@ -54,23 +54,13 @@ CPPSRCS += yuv_row_win.cpp \
+ $(NULL)
+ endif
+ else
+-ifeq ($(OS_ARCH),Linux)
+-CPPSRCS += yuv_row_posix.cpp \
+- $(NULL)
+-else
+-ifeq ($(OS_ARCH),SunOS)
+-CPPSRCS += yuv_row_posix.cpp \
+- $(NULL)
+-else
+-ifeq ($(OS_ARCH),Darwin)
++ifneq (,$(filter Linux SunOS Darwin DragonFly FreeBSD NetBSD OpenBSD, $(OS_ARCH)))
+ CPPSRCS += yuv_row_posix.cpp \
+ $(NULL)
+ else
+ CPPSRCS += yuv_row_other.cpp \
+ $(NULL)
+-endif # Darwin
+-endif # SunOS
+-endif # linux
++endif # posix
+ endif # windows
+
+ ifeq (arm,$(findstring arm,$(OS_TEST)))
diff --git a/mail/thunderbird-esr/files/patch-mozilla-xpcom-base-nsStackWalk.cpp b/mail/thunderbird-esr/files/patch-bug781457
index 817014333627..1a883966b942 100644
--- a/mail/thunderbird-esr/files/patch-mozilla-xpcom-base-nsStackWalk.cpp
+++ b/mail/thunderbird-esr/files/patch-bug781457
@@ -1,13 +1,5 @@
--- mozilla/xpcom/base/nsStackWalk.cpp.orig 2010-09-12 19:34:04.012503905 +0300
+++ mozilla/xpcom/base/nsStackWalk.cpp 2010-09-12 19:34:41.294462134 +0300
-@@ -41,6 +41,7 @@
- /* API for getting a stack trace of the C/C++ stack on the current thread */
-
- #include "nsStackWalk.h"
-+#include <dlfcn.h>
-
- #if defined(_WIN32) && (defined(_M_IX86) || defined(_M_AMD64) || defined(_M_IA64)) && !defined(WINCE) // WIN32 x86 stack walking code
-
@@ -1123,6 +1123,7 @@ NS_StackWalk(NS_WalkStackCallback aCallb
#elif defined(HAVE__UNWIND_BACKTRACE)
diff --git a/mail/thunderbird-esr/files/patch-mozilla__content__base__public__nsContentUtils.h b/mail/thunderbird-esr/files/patch-bug781474
index 358d40c1f988..358d40c1f988 100644
--- a/mail/thunderbird-esr/files/patch-mozilla__content__base__public__nsContentUtils.h
+++ b/mail/thunderbird-esr/files/patch-bug781474
diff --git a/mail/thunderbird-esr/files/patch-bug783463 b/mail/thunderbird-esr/files/patch-bug783463
new file mode 100644
index 000000000000..64c28f6ceede
--- /dev/null
+++ b/mail/thunderbird-esr/files/patch-bug783463
@@ -0,0 +1,20 @@
+--- mozilla/widget/src/qt/nsNativeThemeQt.cpp~
++++ mozilla/widget/src/qt/nsNativeThemeQt.cpp
+@@ -25,7 +25,6 @@
+ #include "nsThemeConstants.h"
+ #include "nsIServiceManager.h"
+ #include "nsIDOMHTMLInputElement.h"
+-#include <malloc.h>
+
+
+ #include "gfxASurface.h"
+--- mozilla/widget/src/qt/nsSound.cpp~
++++ mozilla/widget/src/qt/nsSound.cpp
+@@ -40,6 +40,7 @@
+ #include <QSound>
+
+ #include <string.h>
++#include <unistd.h>
+
+ #include "nscore.h"
+ #include "plstr.h"
diff --git a/mail/thunderbird-esr/files/patch-bug784776 b/mail/thunderbird-esr/files/patch-bug784776
new file mode 100644
index 000000000000..d8f0e6326249
--- /dev/null
+++ b/mail/thunderbird-esr/files/patch-bug784776
@@ -0,0 +1,22 @@
+--- mozilla/intl/locale/src/unix/nsDateTimeFormatUnix.cpp~
++++ mozilla/intl/locale/src/unix/nsDateTimeFormatUnix.cpp
+@@ -100,7 +100,7 @@ void nsDateTimeFormatUnix::LocalePreferr
+ struct tm *tmc;
+ int i;
+
+- tt = time((time_t)NULL);
++ tt = time(NULL);
+ tmc = localtime(&tt);
+
+ tmc->tm_hour=22; // put the test sample hour to 22:00 which is 10PM
+--- mozilla/xpcom/glue/nsBaseHashtable.h~
++++ mozilla/xpcom/glue/nsBaseHashtable.h
+@@ -147,7 +147,7 @@ public:
+ {
+ EntryType* ent = this->GetEntry(aKey);
+ if (!ent)
+- return NULL;
++ return 0;
+
+ return ent->mData;
+ }
diff --git a/mail/thunderbird-esr/files/patch-bug785638 b/mail/thunderbird-esr/files/patch-bug785638
new file mode 100644
index 000000000000..99632c6b496f
--- /dev/null
+++ b/mail/thunderbird-esr/files/patch-bug785638
@@ -0,0 +1,168 @@
+diff --git configure.in configure.in
+index cef992b..3bd39ca 100644
+--- mozilla/configure.in
++++ mozilla/configure.in
+@@ -5353,22 +5353,6 @@ if test -n "$MOZ_VP8" -a -z "$MOZ_NATIVE_LIBVPX"; then
+
+ dnl See if we have assembly on this platform.
+ case "$OS_ARCH:$CPU_ARCH" in
+- Linux:x86)
+- VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
+- VPX_X86_ASM=1
+- ;;
+- Linux:x86_64)
+- VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
+- VPX_X86_ASM=1
+- ;;
+- SunOS:x86)
+- VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
+- VPX_X86_ASM=1
+- ;;
+- SunOS:x86_64)
+- VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
+- VPX_X86_ASM=1
+- ;;
+ Darwin:x86)
+ VPX_ASFLAGS="-f macho32 -rnasm -pnasm -DPIC"
+ VPX_X86_ASM=1
+@@ -5412,6 +5388,19 @@ if test -n "$MOZ_VP8" -a -z "$MOZ_NATIVE_LIBVPX"; then
+ VPX_ASM_SUFFIX="$ASM_SUFFIX"
+ VPX_ARM_ASM=1
+ fi
++ ;;
++ *:x86)
++ if $CC -E -dM -</dev/null | grep -q __ELF__; then
++ VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
++ VPX_X86_ASM=1
++ fi
++ ;;
++ *:x86_64)
++ if $CC -E -dM -</dev/null | grep -q __ELF__; then
++ VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
++ VPX_X86_ASM=1
++ fi
++ ;;
+ esac
+
+ if test -n "$COMPILE_ENVIRONMENT" -a -n "$VPX_X86_ASM" -a -z "$VPX_AS"; then
+@@ -5843,22 +5832,6 @@ if test -n "$MOZ_LIBJPEG_TURBO"; then
+
+ dnl Do we support libjpeg-turbo on this platform?
+ case "$OS_ARCH:$OS_TEST" in
+- Linux:x86|Linux:i?86)
+- LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
+- LIBJPEG_TURBO_X86_ASM=1
+- ;;
+- Linux:x86_64)
+- LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
+- LIBJPEG_TURBO_X64_ASM=1
+- ;;
+- SunOS:i?86)
+- LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
+- LIBJPEG_TURBO_X86_ASM=1
+- ;;
+- SunOS:x86_64)
+- LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
+- LIBJPEG_TURBO_X64_ASM=1
+- ;;
+ Darwin:i?86)
+ LIBJPEG_TURBO_ASFLAGS="-f macho32 -rnasm -pnasm -DPIC -DMACHO"
+ LIBJPEG_TURBO_X86_ASM=1
+@@ -5879,6 +5852,18 @@ if test -n "$MOZ_LIBJPEG_TURBO"; then
+ LIBJPEG_TURBO_ASFLAGS="-march=armv7-a -mfpu=neon"
+ LIBJPEG_TURBO_ARM_ASM=1
+ ;;
++ *:x86|*:i?86)
++ if $CC -E -dM -</dev/null | grep -q __ELF__; then
++ LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
++ LIBJPEG_TURBO_X86_ASM=1
++ fi
++ ;;
++ *:x86_64)
++ if $CC -E -dM -</dev/null | grep -q __ELF__; then
++ LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
++ LIBJPEG_TURBO_X64_ASM=1
++ fi
++ ;;
+ esac
+
+ fi
+diff --git media/libvpx/update.sh media/libvpx/update.sh
+index 79e0fb1..51956af 100755
+--- mozilla/media/libvpx/update.sh
++++ mozilla/media/libvpx/update.sh
+@@ -363,12 +363,12 @@ cp $1/objdir/x86-win32-vs8/vpx_config.h vpx_config_x86-win32-vs8.h
+ # Should be same for all platforms...
+ cp $1/objdir/x86-win32-vs8/vpx_version.h vpx_version.h
+
+-# Config files for x86-linux-gcc and Solaris x86
++# Config files for x86-linux-gcc and other x86 elf platforms
+ cp $1/objdir/x86-linux-gcc/vpx_config.c vpx_config_x86-linux-gcc.c
+ cp $1/objdir/x86-linux-gcc/vpx_config.asm vpx_config_x86-linux-gcc.asm
+ cp $1/objdir/x86-linux-gcc/vpx_config.h vpx_config_x86-linux-gcc.h
+
+-# Config files for x86_64-linux-gcc and Solaris x86_64
++# Config files for x86_64-linux-gcc and other x86_64 elf platforms
+ cp $1/objdir/x86_64-linux-gcc/vpx_config.c vpx_config_x86_64-linux-gcc.c
+ cp $1/objdir/x86_64-linux-gcc/vpx_config.asm vpx_config_x86_64-linux-gcc.asm
+ cp $1/objdir/x86_64-linux-gcc/vpx_config.h vpx_config_x86_64-linux-gcc.h
+diff --git media/libvpx/vpx_config.h media/libvpx/vpx_config.h
+index 55433f3..36e1780 100644
+--- mozilla/media/libvpx/vpx_config.h
++++ mozilla/media/libvpx/vpx_config.h
+@@ -16,20 +16,12 @@
+ /* 32 bit MacOS. */
+ #include "vpx_config_x86-darwin9-gcc.h"
+
+-#elif defined(__linux__) && defined(__i386__)
+-/* 32 bit Linux. */
++#elif defined(__ELF__) && (defined(__i386) || defined(__i386__))
++/* 32 bit ELF platforms. */
+ #include "vpx_config_x86-linux-gcc.h"
+
+-#elif defined(__linux__) && defined(__x86_64__)
+-/* 64 bit Linux. */
+-#include "vpx_config_x86_64-linux-gcc.h"
+-
+-#elif defined(__sun) && defined(__i386)
+-/* 32 bit Solaris. */
+-#include "vpx_config_x86-linux-gcc.h"
+-
+-#elif defined(__sun) && defined(__x86_64)
+-/* 64 bit Solaris. */
++#elif defined(__ELF__) && (defined(__x86_64) || defined(__x86_64__))
++/* 64 bit ELF platforms. */
+ #include "vpx_config_x86_64-linux-gcc.h"
+
+ #else
+diff --git media/libvpx/vpx_config_c.c media/libvpx/vpx_config_c.c
+index eedd515..c8b5375 100644
+--- mozilla/media/libvpx/vpx_config_c.c
++++ mozilla/media/libvpx/vpx_config_c.c
+@@ -12,22 +12,14 @@
+ /* 32 bit MacOS. */
+ #include "vpx_config_x86-darwin9-gcc.c"
+
+-#elif defined(__linux__) && defined(__i386__)
+-/* 32 bit Linux. */
++#elif defined(__ELF__) && (defined(__i386) || defined(__i386__))
++/* 32 bit ELF platforms. */
+ #include "vpx_config_x86-linux-gcc.c"
+
+-#elif defined(__linux__) && defined(__x86_64__)
+-/* 64 bit Linux. */
++#elif defined(__ELF__) && (defined(__x86_64) || defined(__x86_64__))
++/* 64 bit ELF platforms. */
+ #include "vpx_config_x86_64-linux-gcc.c"
+
+-#elif defined(__sun) && defined(__i386)
+-/* 32 bit Solaris. */
+-#include "vpx_config_x86-linux-gcc.h"
+-
+-#elif defined(__sun) && defined(__x86_64)
+-/* 64 bit Solaris. */
+-#include "vpx_config_x86_64-linux-gcc.h"
+-
+ #elif defined(_MSC_VER) && defined(_M_X64)
+ #include "vpx_config_x86_64-win64-vs8.c"
+
diff --git a/mail/thunderbird-esr/files/patch-dom-ipc-ContentChild.cpp b/mail/thunderbird-esr/files/patch-dom-ipc-ContentChild.cpp
new file mode 100644
index 000000000000..3fc0e4cf5047
--- /dev/null
+++ b/mail/thunderbird-esr/files/patch-dom-ipc-ContentChild.cpp
@@ -0,0 +1,10 @@
+--- mozilla/dom/ipc/ContentChild.cpp~
++++ mozilla/dom/ipc/ContentChild.cpp
+@@ -42,6 +42,7 @@
+ #endif
+
+ #ifdef MOZ_WIDGET_QT
++#include <unistd.h>
+ #include "nsQAppInstance.h"
+ #endif
+
diff --git a/mail/thunderbird-esr/files/patch-ipc-chromium-src-base-file_util_linux.cc b/mail/thunderbird-esr/files/patch-ipc-chromium-src-base-file_util_linux.cc
deleted file mode 100644
index e146174b2e2e..000000000000
--- a/mail/thunderbird-esr/files/patch-ipc-chromium-src-base-file_util_linux.cc
+++ /dev/null
@@ -1,8 +0,0 @@
---- mozilla/ipc/chromium/src/base/file_util_linux.cc~
-+++ mozilla/ipc/chromium/src/base/file_util_linux.cc
-@@ -5,6 +5,7 @@
- #include "base/file_util.h"
-
- #include <fcntl.h>
-+#include <unistd.h>
-
diff --git a/mail/thunderbird-esr/files/patch-ipc-chromium-src-base-time_posix.cc b/mail/thunderbird-esr/files/patch-ipc-chromium-src-base-time_posix.cc
deleted file mode 100644
index 27461ccd3fb6..000000000000
--- a/mail/thunderbird-esr/files/patch-ipc-chromium-src-base-time_posix.cc
+++ /dev/null
@@ -1,10 +0,0 @@
---- mozilla/ipc/chromium/src/base/time_posix.cc~
-+++ mozilla/ipc/chromium/src/base/time_posix.cc
-@@ -8,6 +9,7 @@
- #include <mach/mach_time.h>
- #endif
- #include <sys/time.h>
-+#include <unistd.h>
- #ifdef ANDROID
- #include <time64.h>
- #else
diff --git a/mail/thunderbird-esr/files/patch-mozilla-config-mkdepend-Makefile.in b/mail/thunderbird-esr/files/patch-mozilla-config-mkdepend-Makefile.in
deleted file mode 100644
index 3b649d0f16b7..000000000000
--- a/mail/thunderbird-esr/files/patch-mozilla-config-mkdepend-Makefile.in
+++ /dev/null
@@ -1,10 +0,0 @@
---- mozilla/config/mkdepend/Makefile.in.orig Sun Dec 12 07:36:57 2004
-+++ mozilla/config/mkdepend/Makefile.in Sun Dec 12 07:37:55 2004
-@@ -57,6 +57,7 @@
- include $(topsrcdir)/config/rules.mk
-
- HOST_CFLAGS += -DINCLUDEDIR=\"/usr/include\" -DOBJSUFFIX=\".$(OBJ_SUFFIX)\"
-+HOST_CFLAGS += $(XCFLAGS)
-
- ifdef GNU_CC
- _GCCDIR = $(shell $(CC) -print-file-name=include)
diff --git a/mail/thunderbird-esr/files/patch-mozilla-config_autoconf.mk.in b/mail/thunderbird-esr/files/patch-mozilla-config_autoconf.mk.in
index 2cd507fbf7a8..7d3316500fa7 100644
--- a/mail/thunderbird-esr/files/patch-mozilla-config_autoconf.mk.in
+++ b/mail/thunderbird-esr/files/patch-mozilla-config_autoconf.mk.in
@@ -19,13 +19,4 @@
DIST = $(DEPTH)/dist
LIBXUL_SDK = @LIBXUL_SDK@
-@@ -275,7 +275,7 @@
- OS_CPPFLAGS = @CPPFLAGS@
- OS_CFLAGS = $(OS_CPPFLAGS) @CFLAGS@
- OS_CXXFLAGS = $(OS_CPPFLAGS) @CXXFLAGS@
--OS_LDFLAGS = @LDFLAGS@
-+OS_LDFLAGS = @LDFLAGS@ -lc
-
- OS_COMPILE_CFLAGS = $(OS_CPPFLAGS) @COMPILE_CFLAGS@
- OS_COMPILE_CXXFLAGS = $(OS_CPPFLAGS) @COMPILE_CXXFLAGS@
diff --git a/mail/thunderbird-esr/files/patch-mozilla-configure.in b/mail/thunderbird-esr/files/patch-mozilla-configure.in
index 832f967abc9a..220a5803cefd 100644
--- a/mail/thunderbird-esr/files/patch-mozilla-configure.in
+++ b/mail/thunderbird-esr/files/patch-mozilla-configure.in
@@ -50,33 +50,3 @@
CFLAGS=$_SAVE_CFLAGS
LDFLAGS=$_SAVE_LDFLAGS
LIBS=$_SAVE_LIBS
-@@ -6022,6 +6024,14 @@
- VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
- VPX_X86_ASM=1
- ;;
-+ FreeBSD:i386)
-+ VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
-+ VPX_X86_ASM=1
-+ ;;
-+ FreeBSD:x86_64)
-+ VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
-+ VPX_X86_ASM=1
-+ ;;
- SunOS:x86)
- VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
- VPX_X86_ASM=1
-@@ -6392,6 +6402,14 @@ if test -n "$MOZ_LIBJPEG_TURBO"; then
- LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
- LIBJPEG_TURBO_X64_ASM=1
- ;;
-+ FreeBSD:i386)
-+ LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
-+ LIBJPEG_TURBO_X86_ASM=1
-+ ;;
-+ FreeBSD:x86_64)
-+ LIBJPEG_TURBO_ASFLAGS="-f elf64 -rnasm -pnasm -D__x86_64__ -DPIC -DELF"
-+ LIBJPEG_TURBO_X64_ASM=1
-+ ;;
- SunOS:i?86)
- LIBJPEG_TURBO_ASFLAGS="-f elf32 -rnasm -pnasm -DPIC -DELF"
- LIBJPEG_TURBO_X86_ASM=1
diff --git a/mail/thunderbird-esr/files/patch-mozilla-dom-plugins-ipc-PluginMessageUtils.cpp b/mail/thunderbird-esr/files/patch-mozilla-dom-plugins-ipc-PluginMessageUtils.cpp
deleted file mode 100644
index f088ed439b95..000000000000
--- a/mail/thunderbird-esr/files/patch-mozilla-dom-plugins-ipc-PluginMessageUtils.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- mozilla/dom/plugins/ipc/PluginMessageUtils.cpp~
-+++ mozilla/dom/plugins/ipc/PluginMessageUtils.cpp
-@@ -94,7 +94,7 @@ ReplaceAll(const string& haystack, const
- i += with.length();
- }
-
-- return munged;
-+ return munged.c_str();
- }
- #endif
-
diff --git a/mail/thunderbird-esr/files/patch-mozilla-gfx-ycbcr-Makefile.in b/mail/thunderbird-esr/files/patch-mozilla-gfx-ycbcr-Makefile.in
deleted file mode 100644
index 041689a51995..000000000000
--- a/mail/thunderbird-esr/files/patch-mozilla-gfx-ycbcr-Makefile.in
+++ /dev/null
@@ -1,21 +0,0 @@
---- mozilla/gfx/ycbcr/Makefile.in~
-+++ mozilla/gfx/ycbcr/Makefile.in
-@@ -58,6 +58,10 @@ ifeq ($(OS_ARCH),Linux)
- CPPSRCS += yuv_row_posix.cpp \
- $(NULL)
- else
-+ifeq ($(OS_ARCH),FreeBSD)
-+CPPSRCS += yuv_row_posix.cpp \
-+ $(NULL)
-+else
- ifeq ($(OS_ARCH),SunOS)
- CPPSRCS += yuv_row_posix.cpp \
- $(NULL)
-@@ -70,6 +74,7 @@ CPPSRCS += yuv_row_other.cpp \
- $(NULL)
- endif # Darwin
- endif # SunOS
-+endif # FreeBSD
- endif # linux
- endif # windows
- \ No newline at end of file
diff --git a/mail/thunderbird-esr/files/patch-mozilla-ipc-chromium-src-base-message_pump_libevent.cc b/mail/thunderbird-esr/files/patch-mozilla-ipc-chromium-src-base-message_pump_libevent.cc
index 4532ca933738..3fe4995aa0f8 100644
--- a/mail/thunderbird-esr/files/patch-mozilla-ipc-chromium-src-base-message_pump_libevent.cc
+++ b/mail/thunderbird-esr/files/patch-mozilla-ipc-chromium-src-base-message_pump_libevent.cc
@@ -1,13 +1,5 @@
--- mozilla/ipc/chromium/src/base/message_pump_libevent.cc~
+++ mozilla/ipc/chromium/src/base/message_pump_libevent.cc
-@@ -6,6 +6,7 @@
-
- #include <errno.h>
- #include <fcntl.h>
-+#include <unistd.h>
-
- #include "eintr_wrapper.h"
- #include "base/logging.h"
@@ -15,7 +15,7 @@
#include "base/scoped_nsautorelease_pool.h"
#include "base/scoped_ptr.h"
diff --git a/mail/thunderbird-esr/files/patch-mozilla-js-src-Makefile.in b/mail/thunderbird-esr/files/patch-mozilla-js-src-Makefile.in
deleted file mode 100644
index e4ffc32e619c..000000000000
--- a/mail/thunderbird-esr/files/patch-mozilla-js-src-Makefile.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- mozilla/js/src/Makefile.in.orig 2011-07-06 05:09:22.000000000 +0200
-+++ mozilla/js/src/Makefile.in 2011-07-06 22:23:46.363233778 +0200
-@@ -793,7 +796,7 @@
- endif # WINNT
-
- ifeq ($(OS_ARCH),FreeBSD)
--EXTRA_LIBS += -pthread
-+EXTRA_LIBS += -pthread -lc
- endif
- ifeq ($(OS_ARCH),IRIX)
- ifdef USE_N32
diff --git a/mail/thunderbird-esr/files/patch-mozilla-js-src-config-mkdepend-Makefile.in b/mail/thunderbird-esr/files/patch-mozilla-js-src-config-mkdepend-Makefile.in
deleted file mode 100644
index 37f9d4c61f3e..000000000000
--- a/mail/thunderbird-esr/files/patch-mozilla-js-src-config-mkdepend-Makefile.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- mozilla/js/src/config/mkdepend/Makefile.in.orig 2010-01-19 21:27:45.000000000 +0100
-+++ mozilla/js/src/config/mkdepend/Makefile.in 2010-01-20 21:55:56.000000000 +0100
-@@ -71,7 +71,7 @@
-
- include $(topsrcdir)/config/rules.mk
-
--HOST_CFLAGS += -DINCLUDEDIR=\"/usr/include\" -DOBJSUFFIX=\".$(OBJ_SUFFIX)\"
-+HOST_CFLAGS += -DINCLUDEDIR=\"$(LOCALBASE)/include\" -DOBJSUFFIX=\".$(OBJ_SUFFIX)\" -I/usr/local/include
-
- ifdef GNU_CC
- _GCCDIR = $(shell $(CC) -print-file-name=include)
diff --git a/mail/thunderbird-esr/files/patch-mozilla-js-src-config_config.mk b/mail/thunderbird-esr/files/patch-mozilla-js-src-config_config.mk
deleted file mode 100644
index 0bacb7ee6f1a..000000000000
--- a/mail/thunderbird-esr/files/patch-mozilla-js-src-config_config.mk
+++ /dev/null
@@ -1,10 +0,0 @@
---- mozilla/js/src/config/config.mk.orig 2009-08-07 00:49:23.000000000 +0200
-+++ mozilla/js/src/config/config.mk 2009-08-09 20:50:05.000000000 +0200
-@@ -506,6 +506,7 @@
- -I$(srcdir) \
- -I. \
- -I$(DIST)/include -I$(DIST)/include/nsprpub \
-+ -I$(LOCALBASE)/include \
- $(if $(LIBXUL_SDK),-I$(LIBXUL_SDK)/include -I$(LIBXUL_SDK)/include/nsprpub) \
- $(OS_INCLUDES) \
- $(NULL)
diff --git a/mail/thunderbird-esr/files/patch-mozilla-js-src-jscpucfg.h b/mail/thunderbird-esr/files/patch-mozilla-js-src-jscpucfg.h
deleted file mode 100644
index e2c1239896d5..000000000000
--- a/mail/thunderbird-esr/files/patch-mozilla-js-src-jscpucfg.h
+++ /dev/null
@@ -1,22 +0,0 @@
---- mozilla/js/src/jscpucfg.h.orig 2012-01-18 17:38:54.409461514 +0100
-+++ mozilla/js/src/jscpucfg.h 2012-01-18 17:38:59.522462164 +0100
-@@ -77,6 +77,19 @@
- #define IS_BIG_ENDIAN 1
- #endif
-
-+#elif defined(__FreeBSD__)
-+#include <sys/endian.h>
-+
-+#if defined(BYTE_ORDER)
-+#if BYTE_ORDER == LITTLE_ENDIAN
-+#define IS_LITTLE_ENDIAN 1
-+#undef IS_BIG_ENDIAN
-+#elif BYTE_ORDER == BIG_ENDIAN
-+#undef IS_LITTLE_ENDIAN
-+#define IS_BIG_ENDIAN 1
-+#endif
-+#endif
-+
- #elif defined(JS_HAVE_ENDIAN_H)
- #include <endian.h>
-
diff --git a/mail/thunderbird-esr/files/patch-mozilla-layout-generic-Makefile.in b/mail/thunderbird-esr/files/patch-mozilla-layout-generic-Makefile.in
deleted file mode 100644
index 6356b9f6e9d7..000000000000
--- a/mail/thunderbird-esr/files/patch-mozilla-layout-generic-Makefile.in
+++ /dev/null
@@ -1,15 +0,0 @@
---- mozilla/layout/generic/Makefile.in.orig 2011-07-06 05:09:28.000000000 +0200
-+++ mozilla/layout/generic/Makefile.in 2011-07-06 21:49:25.105659269 +0200
-@@ -159,9 +159,10 @@
- -I$(srcdir)/../../content/html/content/src \
- -I$(srcdir)/../../dom/base \
- -I$(srcdir)/../../dom/plugins/base \
-- $(MOZ_CAIRO_CFLAGS) \
- $(NULL)
-
-+ CXXFLAGS += $(MOZ_CAIRO_CFLAGS)
-+
- ifdef MOZ_ENABLE_GTK2
- CXXFLAGS += $(MOZ_GTK2_CFLAGS)
- endif
-
diff --git a/mail/thunderbird-esr/files/patch-mozilla-media-libvpx-vpx_config.c b/mail/thunderbird-esr/files/patch-mozilla-media-libvpx-vpx_config.c
deleted file mode 100644
index b97d147914fe..000000000000
--- a/mail/thunderbird-esr/files/patch-mozilla-media-libvpx-vpx_config.c
+++ /dev/null
@@ -1,16 +0,0 @@
---- mozilla/media/libvpx/vpx_config_c.c~
-+++ mozilla/media/libvpx/vpx_config_c.c
-@@ -12,11 +12,11 @@
- /* 32 bit MacOS. */
- #include "vpx_config_x86-darwin9-gcc.c"
-
--#elif defined(__linux__) && defined(__i386__)
-+#elif (defined(__linux__) || defined(__FreeBSD__)) && defined(__i386__)
- /* 32 bit Linux. */
- #include "vpx_config_x86-linux-gcc.c"
-
--#elif defined(__linux__) && defined(__x86_64__)
-+#elif (defined(__linux__) || defined(__FreeBSD__)) && defined(__x86_64__)
- /* 64 bit Linux. */
- #include "vpx_config_x86_64-linux-gcc.c"
-
diff --git a/mail/thunderbird-esr/files/patch-mozilla-media-libvpx-vpx_config.h b/mail/thunderbird-esr/files/patch-mozilla-media-libvpx-vpx_config.h
deleted file mode 100644
index b4ba5cd8986a..000000000000
--- a/mail/thunderbird-esr/files/patch-mozilla-media-libvpx-vpx_config.h
+++ /dev/null
@@ -1,16 +0,0 @@
---- mozilla/media/libvpx/vpx_config.h~
-+++ mozilla/media/libvpx/vpx_config.h
-@@ -12,11 +12,11 @@
- /* 32 bit MacOS. */
- #include "vpx_config_x86-darwin9-gcc.h"
-
--#elif defined(__linux__) && defined(__i386__)
-+#elif (defined(__linux__) || defined(__FreeBSD__)) && defined(__i386__)
- /* 32 bit Linux. */
- #include "vpx_config_x86-linux-gcc.h"
-
--#elif defined(__linux__) && defined(__x86_64__)
-+#elif (defined(__linux__) || defined(__FreeBSD__)) && defined(__x86_64__)
- /* 64 bit Linux. */
- #include "vpx_config_x86_64-linux-gcc.h"
-
diff --git a/mail/thunderbird-esr/files/patch-mozilla-security-coreconf-FreeBSD.mk b/mail/thunderbird-esr/files/patch-mozilla-security-coreconf-FreeBSD.mk
deleted file mode 100644
index f5a47988bcc5..000000000000
--- a/mail/thunderbird-esr/files/patch-mozilla-security-coreconf-FreeBSD.mk
+++ /dev/null
@@ -1,46 +0,0 @@
---- mozilla/security/coreconf/FreeBSD.mk.orig 2010-02-28 23:30:04.000000000 +0000
-+++ mozilla/security/coreconf/FreeBSD.mk 2010-03-03 02:05:22.000000000 +0000
-@@ -49,8 +49,24 @@
- ifeq ($(CPU_ARCH),pc98)
- CPU_ARCH = x86
- endif
--ifeq ($(CPU_ARCH),amd64)
--CPU_ARCH = x86_64
-+ifeq ($(OS_TEST),alpha)
-+CPU_ARCH = alpha
-+endif
-+ifeq ($(OS_TEST),x86_64)
-+CPU_ARCH = x86_64
-+endif
-+ifeq ($(OS_TEST),ia64)
-+CPU_ARCH = ia64
-+endif
-+ifeq ($(OS_TEST),powerpc64)
-+CPU_ARCH = powerpc
-+USE_64 = 1
-+endif
-+ifeq ($(OS_TEST),powerpc)
-+CPU_ARCH = powerpc
-+endif
-+ifeq ($(OS_TEST),sparc64)
-+CPU_ARCH = sparc64
- endif
-
- OS_CFLAGS = $(DSO_CFLAGS) -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
-@@ -78,7 +90,7 @@
- DLL_SUFFIX = so.1.0
- endif
-
--MKSHLIB = $(CC) $(DSO_LDOPTS)
-+MKSHLIB = $(CC) -Wl,-Bsymbolic -lc $(DSO_LDOPTS) -o $@
- ifdef MAPFILE
- MKSHLIB += -Wl,--version-script,$(MAPFILE)
- endif
-@@ -87,4 +99,6 @@
-
- G++INCLUDES = -I/usr/include/g++
-
--INCLUDES += -I/usr/X11R6/include
-+USE_SYSTEM_ZLIB = 1
-+ZLIB_LIBS = -lz
-+INCLUDES += -I$(LOCALBASE)/include
diff --git a/mail/thunderbird-esr/files/patch-mozilla-security-nss-lib-Makefile b/mail/thunderbird-esr/files/patch-mozilla-security-nss-lib-Makefile
deleted file mode 100644
index 195e44014456..000000000000
--- a/mail/thunderbird-esr/files/patch-mozilla-security-nss-lib-Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- mozilla/security/nss/lib/Makefile~
-+++ mozilla/security/nss/lib/Makefile
-@@ -63,7 +63,7 @@ ZLIB_SRCDIR = zlib # Add the zlib direc
- endif
-
- ifndef MOZILLA_CLIENT
--ifndef NSS_USE_SYSTEM_SQLITE
-+ifndef MOZ_NATIVE_SQLITE
- SQLITE_SRCDIR = sqlite # Add the sqlite directory to DIRS.
- endif
- endif
diff --git a/mail/thunderbird-esr/files/patch-mozilla-security_nss_lib_freebl_mpi_mpcpucache.c b/mail/thunderbird-esr/files/patch-mozilla-security_nss_lib_freebl_mpi_mpcpucache.c
deleted file mode 100644
index e79b29942155..000000000000
--- a/mail/thunderbird-esr/files/patch-mozilla-security_nss_lib_freebl_mpi_mpcpucache.c
+++ /dev/null
@@ -1,43 +0,0 @@
---- mozilla/security/nss/lib/freebl/mpi/mpcpucache.c.orig 2011-02-26 23:13:08.000000000 +0100
-+++ mozilla/security/nss/lib/freebl/mpi/mpcpucache.c 2011-02-26 23:18:46.000000000 +0100
-@@ -733,6 +733,32 @@
- #endif
-
- #if defined(__ppc64__)
-+#if defined(__FreeBSD__)
-+#include <sys/stddef.h>
-+#include <sys/sysctl.h>
-+
-+#include <machine/cpu.h>
-+#include <machine/md_var.h>
-+
-+unsigned long
-+s_mpi_getProcessorLineSize()
-+{
-+ static int cacheline_size = 0;
-+ static int cachemib[] = { CTL_MACHDEP, CPU_CACHELINE };
-+ int clen;
-+
-+ if (cacheline_size > 0)
-+ return cacheline_size;
-+
-+ clen = sizeof(cacheline_size);
-+ if (sysctl(cachemib, sizeof(cachemib) / sizeof(cachemib[0]),
-+ &cacheline_size, &clen, NULL, 0) < 0 || !cacheline_size)
-+ return 128; /* guess */
-+
-+ return cacheline_size;
-+}
-+#else /* __FreeBSD__ */
-+
- /*
- * Sigh, The PPC has some really nice features to help us determine cache
- * size, since it had lots of direct control functions to do so. The POWER
-@@ -786,6 +812,7 @@
- return 0;
- }
-
-+#endif /* __FreeBSD__ */
- #define MPI_GET_PROCESSOR_LINE_SIZE_DEFINED 1
- #endif
-
diff --git a/mail/thunderbird-esr/files/patch-mozilla-widget-src-qt-nsNativeThemeQt.cpp b/mail/thunderbird-esr/files/patch-mozilla-widget-src-qt-nsNativeThemeQt.cpp
deleted file mode 100644
index bbd5fb825595..000000000000
--- a/mail/thunderbird-esr/files/patch-mozilla-widget-src-qt-nsNativeThemeQt.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
---- mozilla/widget/src/qt/nsNativeThemeQt.cpp~
-+++ mozilla/widget/src/qt/nsNativeThemeQt.cpp
-@@ -25,7 +25,9 @@
- #include "nsThemeConstants.h"
- #include "nsIServiceManager.h"
- #include "nsIDOMHTMLInputElement.h"
-+#ifdef __GLIBC__
- #include <malloc.h>
-+#endif
-
-
- #include "gfxASurface.h"
diff --git a/mail/thunderbird-esr/files/patch-mozilla-widget-src-qt-nsSound.cpp b/mail/thunderbird-esr/files/patch-mozilla-widget-src-qt-nsSound.cpp
deleted file mode 100644
index d8b82936a718..000000000000
--- a/mail/thunderbird-esr/files/patch-mozilla-widget-src-qt-nsSound.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- mozilla/widget/src/qt/nsSound.cpp~
-+++ mozilla/widget/src/qt/nsSound.cpp
-@@ -40,6 +40,7 @@
- #include <QSound>
-
- #include <string.h>
-+#include <unistd.h>
-
- #include "nscore.h"
- #include "plstr.h"
diff --git a/mail/thunderbird-esr/files/patch-mozilla-widget-src-qt-nsWindow.cpp b/mail/thunderbird-esr/files/patch-mozilla-widget-src-qt-nsWindow.cpp
deleted file mode 100644
index aa6817839692..000000000000
--- a/mail/thunderbird-esr/files/patch-mozilla-widget-src-qt-nsWindow.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- mozilla/widget/src/qt/nsWindow.cpp~
-+++ mozilla/widget/src/qt/nsWindow.cpp
-@@ -43,6 +43,7 @@ using namespace QtMobility;
-
- #ifdef MOZ_X11
- #include <X11/Xlib.h>
-+#include "mozilla/X11Util.h"
- #endif //MOZ_X11
-
- #include "nsXULAppAPI.h"
diff --git a/mail/thunderbird-esr/files/patch-mozilla-xpcom-reflect-xptcall-public-xptcstubsdecl.inc b/mail/thunderbird-esr/files/patch-mozilla-xpcom-reflect-xptcall-public-xptcstubsdecl.inc
deleted file mode 100644
index a146f07811fd..000000000000
--- a/mail/thunderbird-esr/files/patch-mozilla-xpcom-reflect-xptcall-public-xptcstubsdecl.inc
+++ /dev/null
@@ -1,11 +0,0 @@
---- mozilla/xpcom/reflect/xptcall/public/xptcstubsdecl.inc.orig Tue Mar 16 03:07:25 2004
-+++ mozilla/xpcom/reflect/xptcall/public/xptcstubsdecl.inc Tue Jun 15 12:52:36 2004
-@@ -8,7 +8,7 @@
- * 1 is AddRef
- * 2 is Release
- */
--#if !defined(__ia64) || (!defined(__hpux) && !defined(__linux__))
-+#if !defined(__ia64)
- NS_IMETHOD Stub3();
- NS_IMETHOD Stub4();
- NS_IMETHOD Stub5();
diff --git a/mail/thunderbird-esr/files/patch-mozilla-xpcom-reflect-xptcall-src-md-unix-Makefile.in b/mail/thunderbird-esr/files/patch-mozilla-xpcom-reflect-xptcall-src-md-unix-Makefile.in
deleted file mode 100644
index 252912459191..000000000000
--- a/mail/thunderbird-esr/files/patch-mozilla-xpcom-reflect-xptcall-src-md-unix-Makefile.in
+++ /dev/null
@@ -1,38 +0,0 @@
---- mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig 2011-04-26 23:22:05.000000000 +0200
-+++ mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in 2011-04-26 23:48:09.637442986 +0200
-@@ -70,7 +70,7 @@
- endif
- endif
- # IA64 Linux
--ifneq (,$(filter Linux,$(OS_ARCH)))
-+ifneq (,$(filter Linux FreeBSD,$(OS_ARCH)))
- ifneq (,$(findstring ia64,$(OS_TEST)))
- CPPSRCS := xptcinvoke_ipf64.cpp xptcstubs_ipf64.cpp
- ASFILES := xptcstubs_asm_ipf64.s xptcinvoke_asm_ipf64.s
-@@ -341,7 +356,7 @@
- #
- # Linux/PPC
- #
--ifeq ($(OS_ARCH)$(OS_TEST),Linuxpowerpc)
-+ifneq (,$(filter Linuxpowerpc FreeBSDpowerpc,$(OS_ARCH)$(OS_TEST)))
- CPPSRCS := xptcinvoke_ppc_linux.cpp xptcstubs_ppc_linux.cpp
- ASFILES := xptcinvoke_asm_ppc_linux.s xptcstubs_asm_ppc_linux.s
- AS := $(CC) -c -x assembler-with-cpp
-@@ -350,7 +365,7 @@
- #
- # Linux/PPC64
- #
--ifeq ($(OS_ARCH)$(OS_TEST),Linuxpowerpc64)
-+ifneq (,$(filter Linuxpowerpc64 FreeBSDpowerpc64,$(OS_ARCH)$(OS_TEST)))
- CPPSRCS := xptcinvoke_ppc64_linux.cpp xptcstubs_ppc64_linux.cpp
- ASFILES := xptcinvoke_asm_ppc64_linux.s xptcstubs_asm_ppc64_linux.s
- AS := $(CC) -c -x assembler-with-cpp
-@@ -350,7 +350,7 @@
- #
- # OpenBSD/SPARC64
- #
--ifeq ($(OS_ARCH)$(OS_TEST),OpenBSDsparc64)
-+ifneq (,$(filter OpenBSDsparc64 FreeBSDsparc64,$(OS_ARCH)$(OS_TEST)))
- CPPSRCS := xptcinvoke_sparc64_openbsd.cpp xptcstubs_sparc64_openbsd.cpp
- ASFILES := xptcinvoke_asm_sparc64_openbsd.s xptcstubs_asm_sparc64_openbsd.s
- endif
diff --git a/mail/thunderbird-esr/files/patch-mozilla__xpcom__threads__nsThreadManager.cpp b/mail/thunderbird-esr/files/patch-mozilla__xpcom__threads__nsThreadManager.cpp
index ff88de2ba2df..36f97229af92 100644
--- a/mail/thunderbird-esr/files/patch-mozilla__xpcom__threads__nsThreadManager.cpp
+++ b/mail/thunderbird-esr/files/patch-mozilla__xpcom__threads__nsThreadManager.cpp
@@ -4,7 +4,7 @@
nsresult
nsThreadManager::Init()
{
-+#ifdef NS_TLS && (__FreeBSD_version < 802513 \
++#if defined(NS_TLS) && (__FreeBSD_version < 802513 \
+ || (__FreeBSD_version >= 900000 && __FreeBSD_version < 900045))
+ if (!gTLSThreadID)
+ gTLSThreadID = mozilla::threads::Generic;
diff --git a/mail/thunderbird-esr/files/patch-mozilla_toolkit_mozapps_installer_packager_mk b/mail/thunderbird-esr/files/patch-mozilla_toolkit_mozapps_installer_packager_mk
new file mode 100644
index 000000000000..9a2a4ea99070
--- /dev/null
+++ b/mail/thunderbird-esr/files/patch-mozilla_toolkit_mozapps_installer_packager_mk
@@ -0,0 +1,13 @@
+$OpenBSD: patch-toolkit_mozapps_installer_packager_mk,v 1.11 2012/06/11 15:29:56 landry Exp $
+install headers/idl/sdk libs only if xulrunner
+--- mozilla/toolkit/mozapps/installer/packager.mk.orig Fri Jun 1 14:04:20 2012
++++ mozilla/toolkit/mozapps/installer/packager.mk Tue Jun 5 07:55:51 2012
+@@ -886,7 +886,7 @@ endif
+ $(NSINSTALL) -D $(DESTDIR)$(bindir)
+ $(RM) -f $(DESTDIR)$(bindir)/$(MOZ_APP_NAME)
+ ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir)
+-ifdef INSTALL_SDK # Here comes the hard part
++ifeq ($(MOZ_APP_NAME),xulrunner)
+ $(NSINSTALL) -D $(DESTDIR)$(includedir)
+ (cd $(DIST)/include && tar $(TAR_CREATE_FLAGS) - .) | \
+ (cd $(DESTDIR)$(includedir) && tar -xf -)
diff --git a/mail/thunderbird-esr/files/patch-nsprpub-pr-include-md_freebsd.cfg b/mail/thunderbird-esr/files/patch-nsprpub-pr-include-md_freebsd.cfg
deleted file mode 100644
index e98cce3e3d8f..000000000000
--- a/mail/thunderbird-esr/files/patch-nsprpub-pr-include-md_freebsd.cfg
+++ /dev/null
@@ -1,100 +0,0 @@
---- mozilla/nsprpub/pr/include/md/_freebsd.cfg.orig 2010-12-23 17:34:06.000000000 +0100
-+++ mozilla/nsprpub/pr/include/md/_freebsd.cfg 2010-12-23 17:34:44.000000000 +0100
-@@ -283,6 +283,97 @@
- #define PR_ALIGN_OF_POINTER 8
- #define PR_ALIGN_OF_WORD 8
-
-+#elif defined(__powerpc64__)
-+
-+#undef IS_LITTLE_ENDIAN
-+#define IS_BIG_ENDIAN 1
-+#define IS_64
-+
-+#define PR_BYTES_PER_BYTE 1
-+#define PR_BYTES_PER_SHORT 2
-+#define PR_BYTES_PER_INT 4
-+#define PR_BYTES_PER_INT64 8
-+#define PR_BYTES_PER_LONG 8
-+#define PR_BYTES_PER_FLOAT 4
-+#define PR_BYTES_PER_DOUBLE 8
-+#define PR_BYTES_PER_WORD 8
-+#define PR_BYTES_PER_DWORD 8
-+
-+#define PR_BITS_PER_BYTE 8
-+#define PR_BITS_PER_SHORT 16
-+#define PR_BITS_PER_INT 32
-+#define PR_BITS_PER_INT64 64
-+#define PR_BITS_PER_LONG 64
-+#define PR_BITS_PER_FLOAT 32
-+#define PR_BITS_PER_DOUBLE 64
-+#define PR_BITS_PER_WORD 64
-+
-+#define PR_BITS_PER_BYTE_LOG2 3
-+#define PR_BITS_PER_SHORT_LOG2 4
-+#define PR_BITS_PER_INT_LOG2 5
-+#define PR_BITS_PER_INT64_LOG2 6
-+#define PR_BITS_PER_LONG_LOG2 6
-+#define PR_BITS_PER_FLOAT_LOG2 5
-+#define PR_BITS_PER_DOUBLE_LOG2 6
-+#define PR_BITS_PER_WORD_LOG2 6
-+
-+#define PR_ALIGN_OF_SHORT 2
-+#define PR_ALIGN_OF_INT 4
-+#define PR_ALIGN_OF_LONG 8
-+#define PR_ALIGN_OF_INT64 8
-+#define PR_ALIGN_OF_FLOAT 4
-+#define PR_ALIGN_OF_DOUBLE 8
-+#define PR_ALIGN_OF_POINTER 8
-+#define PR_ALIGN_OF_WORD 8
-+
-+#define PR_BYTES_PER_WORD_LOG2 3
-+#define PR_BYTES_PER_DWORD_LOG2 3
-+
-+#elif defined(__powerpc__)
-+
-+#undef IS_LITTLE_ENDIAN
-+#define IS_BIG_ENDIAN 1
-+
-+#define PR_BYTES_PER_BYTE 1
-+#define PR_BYTES_PER_SHORT 2
-+#define PR_BYTES_PER_INT 4
-+#define PR_BYTES_PER_INT64 8
-+#define PR_BYTES_PER_LONG 4
-+#define PR_BYTES_PER_FLOAT 4
-+#define PR_BYTES_PER_DOUBLE 8
-+#define PR_BYTES_PER_WORD 4
-+#define PR_BYTES_PER_DWORD 8
-+
-+#define PR_BITS_PER_BYTE 8
-+#define PR_BITS_PER_SHORT 16
-+#define PR_BITS_PER_INT 32
-+#define PR_BITS_PER_INT64 64
-+#define PR_BITS_PER_LONG 32
-+#define PR_BITS_PER_FLOAT 32
-+#define PR_BITS_PER_DOUBLE 64
-+#define PR_BITS_PER_WORD 32
-+
-+#define PR_BITS_PER_BYTE_LOG2 3
-+#define PR_BITS_PER_SHORT_LOG2 4
-+#define PR_BITS_PER_INT_LOG2 5
-+#define PR_BITS_PER_INT64_LOG2 6
-+#define PR_BITS_PER_LONG_LOG2 5
-+#define PR_BITS_PER_FLOAT_LOG2 5
-+#define PR_BITS_PER_DOUBLE_LOG2 6
-+#define PR_BITS_PER_WORD_LOG2 5
-+
-+#define PR_ALIGN_OF_SHORT 2
-+#define PR_ALIGN_OF_INT 4
-+#define PR_ALIGN_OF_LONG 4
-+#define PR_ALIGN_OF_INT64 8
-+#define PR_ALIGN_OF_FLOAT 4
-+#define PR_ALIGN_OF_DOUBLE 8
-+#define PR_ALIGN_OF_POINTER 4
-+#define PR_ALIGN_OF_WORD 4
-+
-+#define PR_BYTES_PER_WORD_LOG2 2
-+#define PR_BYTES_PER_DWORD_LOG2 3
-+
- #else
-
- #error "Unknown CPU architecture"
diff --git a/mail/thunderbird-esr/files/patch-nsprpub-pr-include-md_freebsd.h b/mail/thunderbird-esr/files/patch-nsprpub-pr-include-md_freebsd.h
deleted file mode 100644
index 2be831a3ec9c..000000000000
--- a/mail/thunderbird-esr/files/patch-nsprpub-pr-include-md_freebsd.h
+++ /dev/null
@@ -1,30 +0,0 @@
---- mozilla/nsprpub/pr/include/md/_freebsd.h.orig 2010-12-23 17:34:13.000000000 +0100
-+++ mozilla/nsprpub/pr/include/md/_freebsd.h 2010-12-23 17:34:46.000000000 +0100
-@@ -57,6 +57,10 @@
- #define _PR_SI_ARCHITECTURE "ia64"
- #elif defined(__amd64__)
- #define _PR_SI_ARCHITECTURE "amd64"
-+#elif defined(__powerpc64__)
-+#define _PR_SI_ARCHITECTURE "powerpc64"
-+#elif defined(__powerpc__)
-+#define _PR_SI_ARCHITECTURE "powerpc"
- #else
- #error "Unknown CPU architecture"
- #endif
-@@ -106,6 +110,16 @@
- #define _PR_IPV6_V6ONLY_PROBE
- #endif
-
-+#if (__FreeBSD_version >= 700016) || (__FreeBSD_version < 700000 && __FreeBSD_version >= 601103)
-+#if defined(_PR_PTHREADS)
-+#define _PR_HAVE_GETPROTO_R
-+#define _PR_HAVE_5_ARG_GETPROTO_R
-+#define _PR_HAVE_GETHOST_R
-+#define _PR_HAVE_GETHOST_R_INT
-+#define _PR_HAVE_THREADSAFE_GETHOST
-+#endif
-+#endif
-+
- #define USE_SETJMP
-
- #ifndef _PR_PTHREADS
diff --git a/mail/thunderbird-esr/files/patch-toolkit-xre-nsEmbedFunctions.cpp b/mail/thunderbird-esr/files/patch-toolkit-xre-nsEmbedFunctions.cpp
new file mode 100644
index 000000000000..341a9f7562e7
--- /dev/null
+++ b/mail/thunderbird-esr/files/patch-toolkit-xre-nsEmbedFunctions.cpp
@@ -0,0 +1,10 @@
+--- mozilla/toolkit/xre/nsEmbedFunctions.cpp~
++++ mozilla/toolkit/xre/nsEmbedFunctions.cpp
+@@ -36,6 +36,7 @@
+ * ***** END LICENSE BLOCK ***** */
+
+ #if defined(MOZ_WIDGET_QT)
++#include <unistd.h>
+ #include "nsQAppInstance.h"
+ #endif
+