summaryrefslogtreecommitdiff
path: root/mail/thunderbird/patches
diff options
context:
space:
mode:
authorryoon <ryoon>2014-07-27 20:04:59 +0000
committerryoon <ryoon>2014-07-27 20:04:59 +0000
commit2351c786dbef1320216a29ff172ae6808c1d7a5d (patch)
tree73bbe8fe0dea111c107f4750f960c0e1bd1d7914 /mail/thunderbird/patches
parent64a06d406723132483d3d9febd2554c2e327f0ed (diff)
downloadpkgsrc-2351c786dbef1320216a29ff172ae6808c1d7a5d.tar.gz
Update to 31.0
* Update enigmail to 1.7 Changelog: NEW Autocompleting email addresses now matches against any part of the name or email (bug 529584) NEW Composing a mail to a newsgroup will now autocomplete newsgroup names (bug 61491) FIXED Insecure NTLM (pre-NTLMv2) authentication disabled (see 828183) Fixed in Thunderbird 31 MFSA 2014-66 IFRAME sandbox same-origin access through redirect MFSA 2014-65 Certificate parsing broken by non-standard character encoding MFSA 2014-64 Crash in Skia library when scaling high quality images MFSA 2014-63 Use-after-free while when manipulating certificates in the trusted cache MFSA 2014-62 Exploitable WebGL crash with Cesium JavaScript library MFSA 2014-61 Use-after-free with FireOnStateChange event MFSA 2014-59 Use-after-free in DirectWrite font handling MFSA 2014-58 Use-after-free in Web Audio due to incorrect control message ordering MFSA 2014-57 Buffer overflow during Web Audio buffering for playback MFSA 2014-56 Miscellaneous memory safety hazards (rv:31.0 / rv:24.7)
Diffstat (limited to 'mail/thunderbird/patches')
-rw-r--r--mail/thunderbird/patches/patch-aa591
-rw-r--r--mail/thunderbird/patches/patch-al10
-rw-r--r--mail/thunderbird/patches/patch-ao18
-rw-r--r--mail/thunderbird/patches/patch-as239
-rw-r--r--mail/thunderbird/patches/patch-ax59
-rw-r--r--mail/thunderbird/patches/patch-ay33
-rw-r--r--mail/thunderbird/patches/patch-bg8
-rw-r--r--mail/thunderbird/patches/patch-calendar_lightning_Makefile.in8
-rw-r--r--mail/thunderbird/patches/patch-calendar_lightning_build_universal.mk12
-rw-r--r--mail/thunderbird/patches/patch-calendar_providers_gdata_Makefile.in8
-rw-r--r--mail/thunderbird/patches/patch-config_baseconfig.mk8
-rw-r--r--mail/thunderbird/patches/patch-ipc_chromium_src_base_file__util__posix.cc46
-rw-r--r--mail/thunderbird/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc75
-rw-r--r--mail/thunderbird/patches/patch-ipc_chromium_src_base_sys__info__posix.cc16
-rw-r--r--mail/thunderbird/patches/patch-ipc_glue_GeckoChildProcessHost.cpp23
-rw-r--r--mail/thunderbird/patches/patch-mb45
-rw-r--r--mail/thunderbird/patches/patch-mk32
-rw-r--r--mail/thunderbird/patches/patch-ml81
-rw-r--r--mail/thunderbird/patches/patch-mm12
-rw-r--r--mail/thunderbird/patches/patch-mozilla_b2g_installer_Makefile.in15
-rw-r--r--mail/thunderbird/patches/patch-mozilla_b2g_installer_package-manifest.in13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_browser_installer_package-manifest.in17
-rw-r--r--mail/thunderbird/patches/patch-mozilla_build_autoconf_compiler-opts.m419
-rw-r--r--mail/thunderbird/patches/patch-mozilla_build_gyp.mozbuild12
-rw-r--r--mail/thunderbird/patches/patch-mozilla_config_Makefile.in18
-rw-r--r--mail/thunderbird/patches/patch-mozilla_config_baseconfig.mk19
-rw-r--r--mail/thunderbird/patches/patch-mozilla_config_external_moz.build47
-rw-r--r--mail/thunderbird/patches/patch-mozilla_config_system-headers73
-rw-r--r--mail/thunderbird/patches/patch-mozilla_content_base_src_moz.build14
-rw-r--r--mail/thunderbird/patches/patch-mozilla_content_media_AudioStream.cpp12
-rw-r--r--mail/thunderbird/patches/patch-mozilla_content_media_AudioStream.h21
-rw-r--r--mail/thunderbird/patches/patch-mozilla_content_media_Makefile.in36
-rw-r--r--mail/thunderbird/patches/patch-mozilla_content_media_fmp4_demuxer_bit__reader.cc13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_content_media_gstreamer_GStreamerAllocator.cpp12
-rw-r--r--mail/thunderbird/patches/patch-mozilla_content_media_gstreamer_GStreamerFormatHelper.cpp166
-rw-r--r--mail/thunderbird/patches/patch-mozilla_content_svg_content_src_SVGComponentTransferFunctionElement.h12
-rw-r--r--mail/thunderbird/patches/patch-mozilla_content_svg_content_src_nsSVGFilters.cpp22
-rw-r--r--mail/thunderbird/patches/patch-mozilla_content_svg_content_src_nsSVGFilters.h13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_dom_plugins_ipc_PluginProcessChild.cpp13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_dom_system_OSFileConstants.cpp49
-rw-r--r--mail/thunderbird/patches/patch-mozilla_extensions_auth_nsAuthGSSAPI.cpp14
-rw-r--r--mail/thunderbird/patches/patch-mozilla_gfx_moz.build26
-rw-r--r--mail/thunderbird/patches/patch-mozilla_gfx_skia_Makefile.in15
-rw-r--r--mail/thunderbird/patches/patch-mozilla_gfx_skia_include_core_SkPreConfig.h13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_gfx_skia_moz.build16
-rw-r--r--mail/thunderbird/patches/patch-mozilla_gfx_skia_src_sfnt_SkOTTable__head.h22
-rw-r--r--mail/thunderbird/patches/patch-mozilla_gfx_skia_src_sfnt_SkOTTable__name.h22
-rw-r--r--mail/thunderbird/patches/patch-mozilla_gfx_skia_src_sfnt_SkSFNTHeader.h22
-rw-r--r--mail/thunderbird/patches/patch-mozilla_gfx_thebes_Makefile.in19
-rw-r--r--mail/thunderbird/patches/patch-mozilla_intl_unicharutil_util_Makefile.in12
-rw-r--r--mail/thunderbird/patches/patch-mozilla_ios8
-rw-r--r--mail/thunderbird/patches/patch-mozilla_ipc_chromium_Makefile.in52
-rw-r--r--mail/thunderbird/patches/patch-mozilla_ipc_chromium_chromium-config.mk25
-rw-r--r--mail/thunderbird/patches/patch-mozilla_ipc_chromium_moz.build16
-rw-r--r--mail/thunderbird/patches/patch-mozilla_ipc_chromium_src_base_file__util.h13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_ipc_chromium_src_base_file__version__info.h13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_ipc_chromium_src_base_message__loop.cc38
-rw-r--r--mail/thunderbird/patches/patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc163
-rw-r--r--mail/thunderbird/patches/patch-mozilla_ipc_chromium_src_base_scoped__nsautorelease__pool.h42
-rw-r--r--mail/thunderbird/patches/patch-mozilla_ipc_glue_AsyncChannel.cpp22
-rw-r--r--mail/thunderbird/patches/patch-mozilla_ipc_glue_ScopedXREEmbed.cpp13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_ipc_glue_StringUtil.cpp21
-rw-r--r--mail/thunderbird/patches/patch-mozilla_ipc_ipdl_ipdl_cxx_ast.py21
-rw-r--r--mail/thunderbird/patches/patch-mozilla_ipc_ipdl_ipdl_cxx_cgen.py23
-rw-r--r--mail/thunderbird/patches/patch-mozilla_ipc_ipdl_ipdl_lower.py22
-rw-r--r--mail/thunderbird/patches/patch-mozilla_js_src_config_Makefile.in12
-rw-r--r--mail/thunderbird/patches/patch-mozilla_js_src_config_system-headers19
-rw-r--r--mail/thunderbird/patches/patch-mozilla_js_src_ctypes_CTypes.h10
-rw-r--r--mail/thunderbird/patches/patch-mozilla_js_src_gc_Memory.cpp13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_js_src_gdb_Makefile.in15
-rw-r--r--mail/thunderbird/patches/patch-mozilla_js_src_jit_AsmJSSignalHandlers.cpp26
-rw-r--r--mail/thunderbird/patches/patch-mozilla_js_src_jsapi-tests_Makefile.in15
-rw-r--r--mail/thunderbird/patches/patch-mozilla_js_src_jscompartment.h16
-rw-r--r--mail/thunderbird/patches/patch-mozilla_js_src_shell_Makefile.in14
-rw-r--r--mail/thunderbird/patches/patch-mozilla_js_src_vm_ObjectImpl-inl.h31
-rw-r--r--mail/thunderbird/patches/patch-mozilla_js_src_vm_SPSProfiler.cpp15
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_libcubeb_src_Makefile.in12
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_libcubeb_src_cubeb__alsa.c14
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_libcubeb_src_moz.build13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_libpng_pngpriv.h6
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_libsoundtouch_src_cpu__detect__x86.cpp9
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_libtheora_Makefile.in14
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_libtremor_Makefile.in14
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_libvorbis_Makefile.in14
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_mtransport_objs.mk22
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_mtransport_test_Makefile.in20
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nICEr_nicer.gyp33
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nICEr_src_stun_addrs.c36
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nICEr_src_stun_stun.h20
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nICEr_src_util_mbslen.c80
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nrappkit_nrappkit.gyp32
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_log_r__log.c12
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h22
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_util_util.c12
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_webrtc_signaling_signaling.gyp65
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_webrtc_signaling_src_sipcc_cpr_darwin_cpr__darwin__ipc.c20
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_webrtc_signaling_test_Makefile.in20
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_build_build__config.h41
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_tools_gyp_pylib_gyp_generator_mozmake.py55
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_build_common.gypi18
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi17
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__device_audio__device__impl.cc71
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__device_test_audio__device__test__api.cc31
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc21
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc8
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture__factory.cc15
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_condition__variable.cc13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp8
-rw-r--r--mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_thread__posix.cc48
-rw-r--r--mail/thunderbird/patches/patch-mozilla_memory_jemalloc_Makefile.in12
-rw-r--r--mail/thunderbird/patches/patch-mozilla_memory_mozalloc_fallible.h28
-rw-r--r--mail/thunderbird/patches/patch-mozilla_memory_mozalloc_mozalloc.cpp81
-rw-r--r--mail/thunderbird/patches/patch-mozilla_memory_mozalloc_mozalloc.h154
-rw-r--r--mail/thunderbird/patches/patch-mozilla_mfbt_Alignment.h45
-rw-r--r--mail/thunderbird/patches/patch-mozilla_mfbt_Atomics.h13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_mfbt_Attributes.h32
-rw-r--r--mail/thunderbird/patches/patch-mozilla_mobile_android_installer_Makefile.in15
-rw-r--r--mail/thunderbird/patches/patch-mozilla_mobile_android_installer_package-manifest.in13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_modules_libpref_src_init_all.js13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_netwerk_dns_Makefile.in15
-rw-r--r--mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_netinet6_sctp6__usrreq.c13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_netinet_sctp__os__userspace.h41
-rw-r--r--mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_netinet_sctp__usrreq.c13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_user__recv__thread.c13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_user__socket.c53
-rw-r--r--mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_user__socketvar.h27
-rw-r--r--mail/thunderbird/patches/patch-mozilla_netwerk_wifi_Makefile.in13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_netwerk_wifi_moz.build24
-rw-r--r--mail/thunderbird/patches/patch-mozilla_netwerk_wifi_nsWifiScannerFreeBSD.cpp177
-rw-r--r--mail/thunderbird/patches/patch-mozilla_ostream8
-rw-r--r--mail/thunderbird/patches/patch-mozilla_probes_Makefile.in13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_security_manager_ssl_src_JARSignatureVerification.cpp17
-rw-r--r--mail/thunderbird/patches/patch-mozilla_storage_src_moz.build20
-rw-r--r--mail/thunderbird/patches/patch-mozilla_toolkit_components_osfile_modules_osfile__unix__back.jsm44
-rw-r--r--mail/thunderbird/patches/patch-mozilla_toolkit_components_osfile_modules_osfile__unix__front.jsm13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_toolkit_components_osfile_osfile__unix__allthreads.jsm13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_toolkit_components_osfile_osfile__unix__back.jsm71
-rw-r--r--mail/thunderbird/patches/patch-mozilla_toolkit_components_osfile_osfile__unix__front.jsm13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_toolkit_library_libxul.mk73
-rw-r--r--mail/thunderbird/patches/patch-mozilla_toolkit_mozapps_update_updater_updater.cpp16
-rw-r--r--mail/thunderbird/patches/patch-mozilla_toolkit_toolkit.mozbuild12
-rw-r--r--mail/thunderbird/patches/patch-mozilla_toolkit_xre_Makefile.in10
-rw-r--r--mail/thunderbird/patches/patch-mozilla_unwind.h9
-rw-r--r--mail/thunderbird/patches/patch-mozilla_webapprt_moz.build20
-rw-r--r--mail/thunderbird/patches/patch-mozilla_xpcom_base_nsDebugImpl.cpp88
-rw-r--r--mail/thunderbird/patches/patch-mozilla_xpcom_base_nsUUIDGenerator.cpp69
-rw-r--r--mail/thunderbird/patches/patch-mozilla_xpcom_base_nsUUIDGenerator.h13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_xpcom_base_nscore.h13
-rw-r--r--mail/thunderbird/patches/patch-mozilla_xpcom_build_PoisonIOInterposer.h34
-rw-r--r--mail/thunderbird/patches/patch-mozilla_xpcom_build_nsXPComInit.cpp28
-rw-r--r--mail/thunderbird/patches/patch-mozilla_xpcom_ds_moz.build22
-rw-r--r--mail/thunderbird/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_moz.build21
-rw-r--r--mail/thunderbird/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__asm__mips.S (renamed from mail/thunderbird/patches/patch-xn)6
-rw-r--r--mail/thunderbird/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcstubs__asm__mips.S (renamed from mail/thunderbird/patches/patch-xo)6
-rw-r--r--mail/thunderbird/patches/patch-mozilla_xpcom_string_public_nsAlgorithm.h16
-rw-r--r--mail/thunderbird/patches/patch-pb6
-rw-r--r--mail/thunderbird/patches/patch-pc6
-rw-r--r--mail/thunderbird/patches/patch-xj128
-rw-r--r--mail/thunderbird/patches/patch-xk72
-rw-r--r--mail/thunderbird/patches/patch-xl71
-rw-r--r--mail/thunderbird/patches/patch-zb8
161 files changed, 2478 insertions, 2911 deletions
diff --git a/mail/thunderbird/patches/patch-aa b/mail/thunderbird/patches/patch-aa
index 207031a7aaf..54420d26ebd 100644
--- a/mail/thunderbird/patches/patch-aa
+++ b/mail/thunderbird/patches/patch-aa
@@ -1,88 +1,199 @@
-$NetBSD: patch-aa,v 1.17 2014/05/07 20:26:12 ryoon Exp $
+$NetBSD: patch-aa,v 1.18 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/configure.in.orig 2013-10-23 22:08:50.000000000 +0000
+--- mozilla/configure.in.orig 2014-07-18 00:05:11.000000000 +0000
+++ mozilla/configure.in
-@@ -1370,6 +1370,17 @@ if test "$GNU_CC"; then
- CFLAGS=$_SAVE_CFLAGS
- AC_SUBST(HAVE_TOOLCHAIN_SUPPORT_MSSE4_1)
-
-+ # Check for -msse4.1 on $CC
-+ AC_MSG_CHECKING([if toolchain supports -msse4.1 option])
-+ HAVE_TOOLCHAIN_SUPPORT_MSSE4_1=
-+ _SAVE_CFLAGS=$CFLAGS
-+ CFLAGS="$CFLAGS -msse4.1"
-+ AC_TRY_COMPILE([asm ("pmulld %xmm6,%xmm0");],,AC_MSG_RESULT([yes])
-+ [HAVE_TOOLCHAIN_SUPPORT_MSSE4_1=1],
-+ AC_MSG_RESULT([no]))
-+ CFLAGS=$_SAVE_CFLAGS
-+ AC_SUBST(HAVE_TOOLCHAIN_SUPPORT_MSSE4_1)
-+
- # Turn on GNU-specific warnings:
- # -Wall - turn on a lot of warnings
- # -Wpointer-arith - good to have
-@@ -2047,6 +2058,9 @@ ia64*-hpux*)
- if test -z "$MC"; then
- MC=mc.exe
- fi
-+ if test "$LIBRUNPATH"; then
-+ DSO_LDOPTS="-Wl,-R$LIBRUNPATH $DSO_LDOPTS"
-+ fi
+@@ -962,7 +962,7 @@ MOZ_BZ2_LIBS='$(call EXPAND_LIBNAME_PATH
+ MOZ_PNG_CFLAGS="-I$_objdir/dist/include" # needed for freetype compilation
+ MOZ_PNG_LIBS='$(call EXPAND_LIBNAME_PATH,mozpng,$(DEPTH)/media/libpng)'
+
+-MOZ_JS_STATIC_LIBS='$(call EXPAND_LIBNAME_PATH,js_static,$(LIBXUL_DIST)/lib)'
++MOZ_JS_STATIC_LIBS='$(call EXPAND_LIBNAME_PATH,js_static,$(DEPTH)/js/src)'
+ MOZ_JS_SHARED_LIBS='$(call EXPAND_LIBNAME_PATH,mozjs,$(LIBXUL_DIST)/lib)'
+ MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(prefix)/lib'
+ XPCOM_FROZEN_LDOPTS='$(call EXPAND_LIBNAME_PATH,xul mozalloc,$(LIBXUL_DIST)/bin)'
+@@ -1676,7 +1676,13 @@ Linux)
+ MOZ_ENABLE_PROFILER_SPS=
+ esac
;;
- *-mingw*)
- DSO_CFLAGS=
-@@ -2843,6 +2857,7 @@ EOF
- #pragma GCC visibility push(hidden)
- #pragma GCC visibility push(default)
- #include <string.h>
-+#include <iterator>
- #pragma GCC visibility pop
-
- __attribute__ ((visibility ("default"))) void Func() {
-@@ -2851,7 +2866,7 @@ __attribute__ ((visibility ("default")))
- }
- EOF
- ac_cv_have_visibility_builtin_bug=no
-- if ! ${CC-cc} ${CFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
-+ if ! ${CXX-c++} ${CXXFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
- ac_cv_have_visibility_builtin_bug=yes
- else
- if test `grep -c "@PLT" conftest.S` = 0; then
-@@ -3017,6 +3032,9 @@ dnl ====================================
- case $target in
- *-hpux11.*)
- ;;
-+*-dragonfly*)
-+ AC_CHECK_LIB(c, gethostbyname_r)
-+ ;;
+-WINNT|Darwin) ;;
++WINNT|Darwin)
++ case "${CPU_ARCH}" in
++ x86 | x86_64) ;;
++ *)
++ MOZ_ENABLE_PROFILER_SPS=
++ esac
++ ;;
*)
- AC_CHECK_LIB(c_r, gethostbyname_r)
- ;;
-@@ -3319,6 +3337,9 @@ AC_CACHE_CHECK(
- #ifdef linux
- #define _BSD_SOURCE 1
- #endif
-+ #ifdef __NetBSD__
-+ #error use of global _res variable in threaded programs is not portable
-+ #endif
- #include <resolv.h>
- ],
- [int foo = res_ninit(&_res);],
-@@ -3973,6 +3994,14 @@ if test -n "$YASM"; then
+ MOZ_ENABLE_PROFILER_SPS=
+ ;;
+@@ -1780,7 +1786,7 @@ case "$host" in
+ ;;
+
+ *-darwin*)
+- HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX -DXP_MACOSX -DNO_X11"
++ HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX"
+ HOST_NSPR_MDCPUCFG='\"md/_darwin.cfg\"'
+ HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}"
+ ;;
+@@ -1912,7 +1918,6 @@ case "$target" in
+ AC_DEFINE(XP_DARWIN)
+ _PLATFORM_DEFAULT_TOOLKIT='cairo-uikit'
+ else
+- AC_DEFINE(XP_MACOSX)
+ AC_DEFINE(XP_DARWIN)
+ _PLATFORM_DEFAULT_TOOLKIT='cairo-cocoa'
+ # The ExceptionHandling framework is needed for Objective-C exception
+@@ -2522,118 +2527,15 @@ MOZ_CXX11
+
+ AC_LANG_C
+
+-dnl Check for .hidden assembler directive and visibility attribute.
+-dnl Borrowed from glibc configure.in
++dnl Setup default hidden visibility and wrapped system headers.
+ dnl ===============================================================
+ if test "$GNU_CC"; then
+- AC_CACHE_CHECK(for visibility(hidden) attribute,
+- ac_cv_visibility_hidden,
+- [cat > conftest.c <<EOF
+- int foo __attribute__ ((visibility ("hidden"))) = 1;
+-EOF
+- ac_cv_visibility_hidden=no
+- if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+- if egrep '\.(hidden|private_extern).*foo' conftest.s >/dev/null; then
+- ac_cv_visibility_hidden=yes
+- fi
+- fi
+- rm -f conftest.[cs]
+- ])
+- if test "$ac_cv_visibility_hidden" = "yes"; then
+- AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
+-
+- AC_CACHE_CHECK(for visibility(default) attribute,
+- ac_cv_visibility_default,
+- [cat > conftest.c <<EOF
+- int foo __attribute__ ((visibility ("default"))) = 1;
+-EOF
+- ac_cv_visibility_default=no
+- if ${CC-cc} -fvisibility=hidden -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+- if ! egrep '\.(hidden|private_extern).*foo' conftest.s >/dev/null; then
+- ac_cv_visibility_default=yes
+- fi
+- fi
+- rm -f conftest.[cs]
+- ])
+- if test "$ac_cv_visibility_default" = "yes"; then
+- AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
+-
+- AC_CACHE_CHECK(for visibility pragma support,
+- ac_cv_visibility_pragma,
+- [cat > conftest.c <<EOF
+-#pragma GCC visibility push(hidden)
+- int foo_hidden = 1;
+-#pragma GCC visibility push(default)
+- int foo_default = 1;
+-EOF
+- ac_cv_visibility_pragma=no
+- if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+- if egrep '\.(hidden|private_extern).*foo_hidden' conftest.s >/dev/null; then
+- if ! egrep '\.(hidden|private_extern).*foo_default' conftest.s > /dev/null; then
+- ac_cv_visibility_pragma=yes
+- fi
+- fi
+- fi
+- rm -f conftest.[cs]
+- ])
+- if test "$ac_cv_visibility_pragma" = "yes"; then
+- AC_CACHE_CHECK(For gcc visibility bug with class-level attributes (GCC bug 26905),
+- ac_cv_have_visibility_class_bug,
+- [cat > conftest.c <<EOF
+-#pragma GCC visibility push(hidden)
+-struct __attribute__ ((visibility ("default"))) TestStruct {
+- static void Init();
+-};
+-__attribute__ ((visibility ("default"))) void TestFunc() {
+- TestStruct::Init();
+-}
+-EOF
+- ac_cv_have_visibility_class_bug=no
+- if ! ${CXX-g++} ${CXXFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
+- ac_cv_have_visibility_class_bug=yes
+- else
+- if test `egrep -c '@PLT|\\$stub' conftest.S` = 0; then
+- ac_cv_have_visibility_class_bug=yes
+- fi
+- fi
+- rm -rf conftest.{c,S}
+- ])
+-
+- AC_CACHE_CHECK(For x86_64 gcc visibility bug with builtins (GCC bug 20297),
+- ac_cv_have_visibility_builtin_bug,
+- [cat > conftest.c <<EOF
+-#pragma GCC visibility push(hidden)
+-#pragma GCC visibility push(default)
+-#include <string.h>
+-#pragma GCC visibility pop
+-
+-__attribute__ ((visibility ("default"))) void Func() {
+- char c[[100]];
+- memset(c, 0, sizeof(c));
+-}
+-EOF
+- ac_cv_have_visibility_builtin_bug=no
+- if ! ${CC-cc} ${CFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
+- ac_cv_have_visibility_builtin_bug=yes
+- else
+- if test `grep -c "@PLT" conftest.S` = 0; then
+- ac_cv_visibility_builtin_bug=yes
+- fi
+- fi
+- rm -f conftest.{c,S}
+- ])
+- if test "$ac_cv_have_visibility_builtin_bug" = "no" -a \
+- "$ac_cv_have_visibility_class_bug" = "no"; then
+- VISIBILITY_FLAGS='-I$(DIST)/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h'
+- WRAP_SYSTEM_INCLUDES=1
+- STL_FLAGS='-I$(DIST)/stl_wrappers'
+- WRAP_STL_INCLUDES=1
+- else
+- VISIBILITY_FLAGS='-fvisibility=hidden'
+- fi # have visibility pragma bug
+- fi # have visibility pragma
+- fi # have visibility(default) attribute
+- fi # have visibility(hidden) attribute
++ AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
++ AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
++ VISIBILITY_FLAGS='-I$(DIST)/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h'
++ WRAP_SYSTEM_INCLUDES=1
++ STL_FLAGS='-I$(DIST)/stl_wrappers'
++ WRAP_STL_INCLUDES=1
+ fi # GNU_CC
+
+ # visibility hidden flag for Sun Studio on Solaris
+@@ -3004,7 +2906,7 @@ dnl Checks for library functions.
+ dnl ========================================================
+ AC_PROG_GCC_TRADITIONAL
+ AC_FUNC_MEMCMP
+-AC_CHECK_FUNCS(stat64 lstat64 truncate64 statvfs64 statvfs statfs64 statfs getpagesize localtime_r)
++AC_CHECK_FUNCS(stat64 lstat64 truncate64 statvfs64 statvfs statfs64 statfs getpagesize localtime_r arc4random arc4random_buf)
+
+ dnl check for clock_gettime(), the CLOCK_MONOTONIC clock
+ AC_CACHE_CHECK(for clock_gettime(CLOCK_MONOTONIC),
+@@ -3691,6 +3593,14 @@ if test -n "$YASM"; then
_YASM_BUILD=` echo ${YASM_VERSION} | $AWK -F\. '{ print $4 }'`
fi
+if test -n "${LIBXUL_SDK_DIR}"; then
+ AC_MSG_WARN([pkgsrc: LIBXUL_SDK_DIR is set; assuming we want nss and nspr from xulrunner.])
-+ NSPR_CFLAGS="-I${prefix}/include/xulrunner/unstable `pkg-config --cflags mozilla-nspr`"
-+ NSPR_LIBS="`pkg-config --libs mozilla-nspr`"
-+ NSS_CFLAGS="`pkg-config --cflags mozilla-nss`"
-+ NSS_LIBS="`pkg-config --libs mozilla-nss`"
++ NSPR_CFLAGS="-I${prefix}/include/xulrunner/unstable `pkg-config --cflags nspr`"
++ NSPR_LIBS="`pkg-config --libs nspr`"
++ NSS_CFLAGS="`pkg-config --cflags nss`"
++ NSS_LIBS="`pkg-config --libs nss`"
+fi
+
if test -z "$SKIP_LIBRARY_CHECKS"; then
dnl system JPEG support
dnl ========================================================
-@@ -4000,11 +4029,7 @@ if test "$MOZ_NATIVE_JPEG" = 1; then
+@@ -3718,11 +3628,7 @@ if test "$MOZ_NATIVE_JPEG" = 1; then
#include <jpeglib.h> ],
[ #if JPEG_LIB_VERSION < $MOZJPEG
#error "Insufficient JPEG library version ($MOZJPEG required)."
@@ -95,41 +206,20 @@ $NetBSD: patch-aa,v 1.17 2014/05/07 20:26:12 ryoon Exp $
MOZ_NATIVE_JPEG=1,
AC_MSG_ERROR([Insufficient JPEG library version for --with-system-jpeg]))
fi
-@@ -4139,6 +4164,22 @@ if test -n "$MOZ_NATIVE_FFI"; then
- fi
+@@ -4387,6 +4293,10 @@ cairo-gonk)
- 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"
+ esac
+
++if test "$MOZ_WIDGET_TOOLKIT" = "cocoa"; then
++ AC_DEFINE(XP_MACOSX)
+fi
+
-+AC_SUBST(MOZ_NATIVE_ICU)
-+
-+dnl ========================================================
- dnl Java SDK support
- dnl ========================================================
-
-@@ -5297,7 +5338,7 @@ dnl --enable-webrtc to override. Can di
- 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
- ;;
- *)
-@@ -5353,6 +5394,9 @@ if test -n "$MOZ_WEBRTC"; then
- MOZ_VP8_ENCODER=1
- MOZ_VP8_ERROR_CONCEALMENT=1
+ AC_SUBST(MOZ_PDF_PRINTING)
+ if test "$MOZ_PDF_PRINTING"; then
+ PDF_SURFACE_FEATURE="#define CAIRO_HAS_PDF_SURFACE 1"
+@@ -5106,6 +5016,9 @@ if test -n "$MOZ_WEBRTC"; then
+ MOZ_VPX=1
+ MOZ_VPX_ERROR_CONCEALMENT=1
+ dnl with libv4l2 we can support more cameras
+ PKG_CHECK_MODULES(MOZ_LIBV4L2, libv4l2)
@@ -137,108 +227,251 @@ $NetBSD: patch-aa,v 1.17 2014/05/07 20:26:12 ryoon Exp $
dnl enable once Signaling lands
MOZ_WEBRTC_SIGNALING=1
AC_DEFINE(MOZ_WEBRTC_SIGNALING)
-@@ -5379,15 +5423,18 @@ AC_SUBST(MOZ_SRTP)
+@@ -5130,15 +5043,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*)
++case "$OS_TARGET" in
++Android)
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
-@@ -5737,7 +5784,7 @@ MOZ_ALSA=)
-
- if test -n "$MOZ_ALSA"; then
- AC_DEFINE(MOZ_CUBEB)
-- PKG_CHECK_MODULES(MOZ_ALSA, alsa, ,
-+ PKG_CHECK_MODULES(MOZ_ALSA, alsa, MOZ_ALSA=1,
- [echo "$MOZ_ALSA_PKG_ERRORS"
- AC_MSG_ERROR([Need alsa for Ogg, Wave or WebM decoding on Linux. Disable with --disable-ogg --disable-wave --disable-webm. (On Ubuntu, you might try installing the package libasound2-dev.)])])
- fi
-@@ -8385,7 +8432,7 @@ if test "$MOZ_ENABLE_SKIA"; then
- AC_DEFINE(GR_DLL)
- fi
-
-- if test "${CPU_ARCH}" != "ppc" -a "${CPU_ARCH}" != "ppc64"; then
-+ if test "${CPU_ARCH}" != "ppc" -a "${CPU_ARCH}" != "ppc64" -a "${CPU_ARCH}" != "sparc"; then
- MOZ_ENABLE_SKIA_GPU=1
- AC_DEFINE(USE_SKIA_GPU)
- AC_SUBST(MOZ_ENABLE_SKIA_GPU)
-@@ -8466,16 +8513,26 @@ MOZ_ARG_DISABLE_BOOL(necko-wifi,
- NECKO_WIFI=,
- NECKO_WIFI=1)
-
--if test "$OS_ARCH" = "OS2"; then
-- dnl OS/2 implementation of Necko-WiFi support will be added in bug 506566
-- NECKO_WIFI=
--fi
--if test "$NECKO_WIFI" -a \
-- "$OS_ARCH" != "Linux" -a \
-- "$OS_ARCH" != "Darwin" -a \
-- "$OS_ARCH" != "SunOS" -a \
-- "$OS_ARCH" != "WINNT"; then
-- AC_MSG_ERROR([Necko WiFi scanning not supported on your platform, use --disable-necko-wifi])
-+if test "$NECKO_WIFI"; then
-+ case "$OS_TARGET" in
-+ Android)
-+ ;;
-+ Darwin)
-+ ;;
-+ SunOS)
-+ ;;
-+ WINNT)
-+ ;;
-+ OS2)
-+ dnl OS/2 implementation of Necko-WiFi support will be added in bug 506566
-+ NECKO_WIFI=
-+ ;;
-+ *)
-+ if test -z "$MOZ_ENABLE_DBUS"; then
-+ AC_MSG_ERROR([Necko WiFi scanning needs DBus on your platform, remove --disable-dbus or use --disable-necko-wifi])
-+ fi
-+ ;;
-+ esac
+@@ -5190,6 +5106,63 @@ if test "${ac_cv_c_attribute_aligned}" !
fi
- if test "$NECKO_WIFI"; then
-@@ -9186,6 +9243,27 @@ if test -z "$HAVE_TOOLCHAIN_SUPPORT_SSSE
- EXTRA_GYP_DEFINES="$EXTRA_GYP_DEFINES -D yuv_disable_asm=1"
- fi
+ dnl ========================================================
++dnl Check for libogg
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-ogg,
++[ --with-system-ogg Use system libogg (located with pkgconfig)],
++MOZ_NATIVE_OGG=1,
++MOZ_NATIVE_OGG=)
++
++if test -n "$MOZ_NATIVE_OGG"; then
++ PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.2.1)
++
++ _SAVE_LIBS=$LIBS
++ LIBS="$LIBS $MOZ_OGG_LIBS"
++ AC_CHECK_FUNC(ogg_set_mem_functions, [],
++ [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)])
++ LIBS=$_SAVE_LIBS
++fi
++
++AC_SUBST(MOZ_NATIVE_OGG)
++AC_SUBST(MOZ_OGG_CFLAGS)
++AC_SUBST(MOZ_OGG_LIBS)
++
++dnl ========================================================
++dnl Check for libvorbis
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-vorbis,
++[ --with-system-vorbis Use system libvorbis (located with pkgconfig)],
++MOZ_NATIVE_VORBIS=1,
++MOZ_NATIVE_VORBIS=)
++
++if test -n "$MOZ_NATIVE_VORBIS"; then
++ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.4)
++fi
++
++AC_SUBST(MOZ_NATIVE_VORBIS)
++AC_SUBST(MOZ_VORBIS_CFLAGS)
++AC_SUBST(MOZ_VORBIS_LIBS)
++
++dnl ========================================================
++dnl Check for integer-only libvorbis aka tremor
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-tremor,
++[ --with-system-tremor Use system libtremor (located with pkgconfig)],
++MOZ_NATIVE_TREMOR=1,
++MOZ_NATIVE_TREMOR=)
++
++if test -n "$MOZ_NATIVE_TREMOR"; then
++ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1)
++fi
++
++AC_SUBST(MOZ_NATIVE_TREMOR)
++AC_SUBST(MOZ_TREMOR_CFLAGS)
++AC_SUBST(MOZ_TREMOR_LIBS)
++
++dnl ========================================================
+ dnl = Disable Opus audio codec support
+ dnl ========================================================
+ MOZ_ARG_DISABLE_BOOL(opus,
+@@ -5198,6 +5171,97 @@ MOZ_ARG_DISABLE_BOOL(opus,
+ MOZ_OPUS=1)
-+# Keep libcubeb and audio_device backends in sync
-+if test -n "$MOZ_ALSA"; then
-+ EXTRA_GYP_DEFINES="$EXTRA_GYP_DEFINES -D include_alsa_audio=1"
+ dnl ========================================================
++dnl Check for libopus
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-opus,
++[ --with-system-opus Use system libopus (located with pkgconfig)],
++MOZ_NATIVE_OPUS=1,
++MOZ_NATIVE_OPUS=)
++
++if test -n "$MOZ_NATIVE_OPUS"; then
++ PKG_CHECK_MODULES(MOZ_OPUS, opus >= 1.1)
+else
-+ EXTRA_GYP_DEFINES="$EXTRA_GYP_DEFINES -D include_alsa_audio=0"
++ MOZ_OPUS_CFLAGS='-I$(topsrcdir)/media/libopus/include'
+fi
-+if test -n "$MOZ_PULSEAUDIO"; then
-+ EXTRA_GYP_DEFINES="$EXTRA_GYP_DEFINES -D include_pulse_audio=1"
-+else
-+ EXTRA_GYP_DEFINES="$EXTRA_GYP_DEFINES -D include_pulse_audio=0"
++
++AC_SUBST(MOZ_NATIVE_OPUS)
++AC_SUBST(MOZ_OPUS_CFLAGS)
++AC_SUBST(MOZ_OPUS_LIBS)
++
++dnl ========================================================
++dnl Check for libtheora
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-theora,
++[ --with-system-theora Use system libtheora (located with pkgconfig)],
++MOZ_NATIVE_THEORA=1,
++MOZ_NATIVE_THEORA=)
++
++if test -n "$MOZ_NATIVE_THEORA"; then
++ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2)
+fi
+
-+# Don't try to compile sse4.1 code if toolchain doesn't support
-+if test -z "$HAVE_TOOLCHAIN_SUPPORT_MSSE4_1"; then
-+ EXTRA_GYP_DEFINES="$EXTRA_GYP_DEFINES -D yuv_disable_asm=1"
++AC_SUBST(MOZ_NATIVE_THEORA)
++AC_SUBST(MOZ_THEORA_CFLAGS)
++AC_SUBST(MOZ_THEORA_LIBS)
++
++dnl ========================================================
++dnl Check for libspeex resampler
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-speex,
++[ --with-system-speex Use system libspeex (located with pkgconfig)],
++MOZ_NATIVE_SPEEX=1,
++MOZ_NATIVE_SPEEX=)
++
++if test -n "$MOZ_NATIVE_SPEEX"; then
++ PKG_CHECK_MODULES(MOZ_SPEEX, speexdsp >= 1.2)
+fi
+
-+if test -n "$MOZ_LIBV4L2_LIBS"; then
-+ EXTRA_GYP_DEFINES="$EXTRA_GYP_DEFINES -D use_libv4l2=1"
++AC_SUBST(MOZ_NATIVE_SPEEX)
++AC_SUBST(MOZ_SPEEX_CFLAGS)
++AC_SUBST(MOZ_SPEEX_LIBS)
++
++dnl ========================================================
++dnl Check for libsoundtouch
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-soundtouch,
++[ --with-system-soundtouch Use system libsoundtouch (located with pkgconfig)],
++MOZ_NATIVE_SOUNDTOUCH=1,
++MOZ_NATIVE_SOUNDTOUCH=)
++
++if test -n "$MOZ_NATIVE_SOUNDTOUCH"; then
++ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.8.0)
++
++ AC_LANG_SAVE
++ AC_LANG_CPLUSPLUS
++ _SAVE_CXXFLAGS=$CXXFLAGS
++ CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS"
++ AC_CACHE_CHECK(for soundtouch sample type,
++ ac_cv_soundtouch_sample_type,
++ [AC_TRY_COMPILE([#include <SoundTouch.h>
++ #ifndef SOUNDTOUCH_INTEGER_SAMPLES
++ #error soundtouch expects float samples
++ #endif],
++ [],
++ [ac_cv_soundtouch_sample_type=short],
++ [ac_cv_soundtouch_sample_type=float])])
++ CXXFLAGS=$_SAVE_CXXFLAGS
++ AC_LANG_RESTORE
++
++ if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \
++ -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then
++ AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.])
++ fi
++fi
++
++AC_SUBST(MOZ_NATIVE_SOUNDTOUCH)
++AC_SUBST(MOZ_SOUNDTOUCH_CFLAGS)
++AC_SUBST(MOZ_SOUNDTOUCH_LIBS)
++
++dnl ========================================================
+ dnl = Disable VP8 decoder support
+ dnl ========================================================
+ MOZ_ARG_DISABLE_BOOL(webm,
+@@ -5938,7 +6002,9 @@ MOZ_ARG_DISABLE_BOOL(gamepad,
+ if test "$MOZ_GAMEPAD"; then
+ case "$OS_TARGET" in
+ Darwin)
+- MOZ_GAMEPAD_BACKEND=cocoa
++ if test "$MOZ_WIDGET_TOOLKIT" = "cocoa"; then
++ MOZ_GAMEPAD_BACKEND=cocoa
++ fi
+ ;;
+ WINNT)
+ if test -z "$MOZ_HAS_WINSDK_WITH_D3D"; then
+@@ -8036,6 +8102,52 @@ if test "$USE_FC_FREETYPE"; then
+ fi
+
+ dnl ========================================================
++dnl Check for harfbuzz
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-harfbuzz,
++[ --with-system-harfbuzz Use system harfbuzz (located with pkgconfig)],
++MOZ_NATIVE_HARFBUZZ=1,
++MOZ_NATIVE_HARFBUZZ=)
++
++if test -n "$MOZ_NATIVE_HARFBUZZ"; then
++ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 0.9.25)
++fi
++
++AC_SUBST(MOZ_NATIVE_HARFBUZZ)
++AC_SUBST(MOZ_HARFBUZZ_CFLAGS)
++AC_SUBST(MOZ_HARFBUZZ_LIBS)
++
++dnl ========================================================
++dnl Check for graphite2
++dnl ========================================================
++MOZ_ARG_WITH_BOOL(system-graphite2,
++[ --with-system-graphite2 Use system graphite2 (located with pkgconfig)],
++MOZ_NATIVE_GRAPHITE2=1,
++MOZ_NATIVE_GRAPHITE2=)
++
++if test -n "$MOZ_NATIVE_GRAPHITE2"; then
++ PKG_CHECK_MODULES(MOZ_GRAPHITE2, graphite2)
++
++ dnl graphite2.pc has bogus version, check manually
++ AC_TRY_COMPILE([ #include <graphite2/Font.h>
++ #define GR2_VERSION_REQUIRE(major,minor,bugfix) \
++ ( GR2_VERSION_MAJOR * 10000 + GR2_VERSION_MINOR \
++ * 100 + GR2_VERSION_BUGFIX >= \
++ (major) * 10000 + (minor) * 100 + (bugfix) )
++ ], [
++ #if !GR2_VERSION_REQUIRE(1,2,4)
++ #error "Insufficient graphite2 version."
++ #endif
++ ], [],
++ [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])])
+fi
+
- if test -n "$MOZ_WEBRTC"; then
- AC_MSG_RESULT("generating WebRTC Makefiles...")
++AC_SUBST(MOZ_NATIVE_GRAPHITE2)
++AC_SUBST(MOZ_GRAPHITE2_CFLAGS)
++AC_SUBST(MOZ_GRAPHITE2_LIBS)
++
++dnl ========================================================
+ dnl Check for pixman and cairo
+ dnl ========================================================
diff --git a/mail/thunderbird/patches/patch-al b/mail/thunderbird/patches/patch-al
index 46b59a4fbea..d4913d6c4f0 100644
--- a/mail/thunderbird/patches/patch-al
+++ b/mail/thunderbird/patches/patch-al
@@ -1,10 +1,10 @@
-$NetBSD: patch-al,v 1.11 2012/09/02 06:43:40 ryoon Exp $
+$NetBSD: patch-al,v 1.12 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/storage/src/mozStorageConnection.cpp.orig 2012-08-25 00:31:30.000000000 +0000
+--- mozilla/storage/src/mozStorageConnection.cpp.orig 2014-07-18 00:05:51.000000000 +0000
+++ mozilla/storage/src/mozStorageConnection.cpp
-@@ -680,6 +680,11 @@ Connection::initialize(nsIFile *aDatabas
- break;
- }
+@@ -600,6 +600,11 @@ Connection::initialize(nsIFile *aDatabas
+
+ mDatabaseFile = aDatabaseFile;
+ // XXX tnn: the configure script demands that sqlite3 is compiled with
+ // SECURE_DELETE on by default. sqlite3 in pkgsrc does not have that,
diff --git a/mail/thunderbird/patches/patch-ao b/mail/thunderbird/patches/patch-ao
index 9cf08cfd53a..a5043484555 100644
--- a/mail/thunderbird/patches/patch-ao
+++ b/mail/thunderbird/patches/patch-ao
@@ -1,15 +1,13 @@
-$NetBSD: patch-ao,v 1.9 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-ao,v 1.10 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/toolkit/mozapps/installer/packager.mk.orig 2013-10-23 22:09:20.000000000 +0000
+--- mozilla/toolkit/mozapps/installer/packager.mk.orig 2014-07-18 00:05:55.000000000 +0000
+++ mozilla/toolkit/mozapps/installer/packager.mk
-@@ -676,8 +676,8 @@ endif
- (cd $(DIST)/$(MOZ_PKG_DIR) && $(TAR) --exclude=precomplete $(TAR_CREATE_FLAGS) - .) | \
- (cd $(DESTDIR)$(installdir) && tar -xf -)
+@@ -790,7 +790,7 @@ endif
$(NSINSTALL) -D $(DESTDIR)$(bindir)
-- $(RM) -f $(DESTDIR)$(bindir)/$(MOZ_APP_NAME)
-- ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir)
-+ $(RM) -f $(DESTDIR)$(bindir)/$(MOZILLA_PKG_NAME)
-+ ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir)/$(MOZILLA_PKG_NAME)
- ifdef INSTALL_SDK # Here comes the hard part
+ $(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/patches/patch-as b/mail/thunderbird/patches/patch-as
index 56e5f1e0494..52aef24ca9a 100644
--- a/mail/thunderbird/patches/patch-as
+++ b/mail/thunderbird/patches/patch-as
@@ -1,59 +1,132 @@
-$NetBSD: patch-as,v 1.15 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-as,v 1.16 2014/07/27 20:04:59 ryoon Exp $
Treat DragonFly like FreeBSD.
---- mozilla/js/src/configure.in.orig 2013-10-23 22:09:00.000000000 +0000
+--- mozilla/js/src/configure.in.orig 2014-07-18 00:05:25.000000000 +0000
+++ mozilla/js/src/configure.in
-@@ -2424,6 +2424,7 @@ EOF
- #pragma GCC visibility push(hidden)
- #pragma GCC visibility push(default)
- #include <string.h>
-+#include <iterator>
- #pragma GCC visibility pop
+@@ -2082,116 +2082,13 @@ AC_LANG_CPLUSPLUS
- __attribute__ ((visibility ("default"))) void Func() {
-@@ -2432,7 +2433,7 @@ __attribute__ ((visibility ("default")))
- }
- EOF
- ac_cv_have_visibility_builtin_bug=no
-- if ! ${CC-cc} ${CFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
-+ if ! ${CXX-c++} ${CXXFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
- ac_cv_have_visibility_builtin_bug=yes
- else
- if test `grep -c "@PLT" conftest.S` = 0; then
-@@ -2657,7 +2658,7 @@ then
- fi
+ MOZ_CXX11
- case "$target" in
-- *-*-freebsd*)
-+ *-*-freebsd*|*-dragonfly*)
- AC_DEFINE(_REENTRANT)
- AC_DEFINE(_THREAD_SAFE)
- dnl -pthread links in -lpthread, so don't specify it explicitly.
-@@ -2736,14 +2737,19 @@ fi
- AC_CACHE_CHECK(
- [for res_ninit()],
- ac_cv_func_res_ninit,
-- [AC_TRY_LINK([
-+ [AC_TRY_RUN([
- #ifdef linux
- #define _BSD_SOURCE 1
- #endif
-+ #ifdef __NetBSD__
-+ #error use of global _res variable in threaded programs is not portable
-+ #endif
- #include <resolv.h>
-- ],
-- [int foo = res_ninit(&_res);],
-+ int main(int argc, char **argv){
-+ int foo = res_ninit(&_res);
-+ }],
- [ac_cv_func_res_ninit=yes],
-+ [ac_cv_func_res_ninit=no],
- [ac_cv_func_res_ninit=no])
- ])
+-dnl Check for .hidden assembler directive and visibility attribute.
+-dnl Borrowed from glibc configure.in
++dnl Setup default hidden visibility and wrapped system headers.
+ dnl ===============================================================
+ if test "$GNU_CC"; then
+- AC_CACHE_CHECK(for visibility(hidden) attribute,
+- ac_cv_visibility_hidden,
+- [cat > conftest.c <<EOF
+- int foo __attribute__ ((visibility ("hidden"))) = 1;
+-EOF
+- ac_cv_visibility_hidden=no
+- if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+- if egrep '\.(hidden|private_extern).*foo' conftest.s >/dev/null; then
+- ac_cv_visibility_hidden=yes
+- fi
+- fi
+- rm -f conftest.[cs]
+- ])
+- if test "$ac_cv_visibility_hidden" = "yes"; then
+- AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
+-
+- AC_CACHE_CHECK(for visibility(default) attribute,
+- ac_cv_visibility_default,
+- [cat > conftest.c <<EOF
+- int foo __attribute__ ((visibility ("default"))) = 1;
+-EOF
+- ac_cv_visibility_default=no
+- if ${CC-cc} -fvisibility=hidden -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+- if ! egrep '\.(hidden|private_extern).*foo' conftest.s >/dev/null; then
+- ac_cv_visibility_default=yes
+- fi
+- fi
+- rm -f conftest.[cs]
+- ])
+- if test "$ac_cv_visibility_default" = "yes"; then
+- AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
+-
+- AC_CACHE_CHECK(for visibility pragma support,
+- ac_cv_visibility_pragma,
+- [cat > conftest.c <<EOF
+-#pragma GCC visibility push(hidden)
+- int foo_hidden = 1;
+-#pragma GCC visibility push(default)
+- int foo_default = 1;
+-EOF
+- ac_cv_visibility_pragma=no
+- if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+- if egrep '\.(hidden|private_extern).*foo_hidden' conftest.s >/dev/null; then
+- if ! egrep '\.(hidden|private_extern).*foo_default' conftest.s > /dev/null; then
+- ac_cv_visibility_pragma=yes
+- fi
+- fi
+- fi
+- rm -f conftest.[cs]
+- ])
+- if test "$ac_cv_visibility_pragma" = "yes"; then
+- AC_CACHE_CHECK(For gcc visibility bug with class-level attributes (GCC bug 26905),
+- ac_cv_have_visibility_class_bug,
+- [cat > conftest.c <<EOF
+-#pragma GCC visibility push(hidden)
+-struct __attribute__ ((visibility ("default"))) TestStruct {
+- static void Init();
+-};
+-__attribute__ ((visibility ("default"))) void TestFunc() {
+- TestStruct::Init();
+-}
+-EOF
+- ac_cv_have_visibility_class_bug=no
+- if ! ${CXX-g++} ${CXXFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
+- ac_cv_have_visibility_class_bug=yes
+- else
+- if test `egrep -c '@PLT|\\$stub' conftest.S` = 0; then
+- ac_cv_have_visibility_class_bug=yes
+- fi
+- fi
+- rm -rf conftest.{c,S}
+- ])
+-
+- AC_CACHE_CHECK(For x86_64 gcc visibility bug with builtins (GCC bug 20297),
+- ac_cv_have_visibility_builtin_bug,
+- [cat > conftest.c <<EOF
+-#pragma GCC visibility push(hidden)
+-#pragma GCC visibility push(default)
+-#include <string.h>
+-#pragma GCC visibility pop
+-
+-__attribute__ ((visibility ("default"))) void Func() {
+- char c[[100]];
+- memset(c, 0, sizeof(c));
+-}
+-EOF
+- ac_cv_have_visibility_builtin_bug=no
+- if ! ${CC-cc} ${CFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then
+- ac_cv_have_visibility_builtin_bug=yes
+- else
+- if test `grep -c "@PLT" conftest.S` = 0; then
+- ac_cv_visibility_builtin_bug=yes
+- fi
+- fi
+- rm -f conftest.{c,S}
+- ])
+- if test "$ac_cv_have_visibility_builtin_bug" = "no" -a \
+- "$ac_cv_have_visibility_class_bug" = "no"; then
+- VISIBILITY_FLAGS='-I$(DIST)/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h'
+- WRAP_SYSTEM_INCLUDES=1
+- else
+- VISIBILITY_FLAGS='-fvisibility=hidden'
+- fi # have visibility pragma bug
+- fi # have visibility pragma
+- fi # have visibility(default) attribute
+- fi # have visibility(hidden) attribute
++ AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
++ AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
++ VISIBILITY_FLAGS='-I$(DIST)/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h'
++ WRAP_SYSTEM_INCLUDES=1
+ fi # GNU_CC
-@@ -3517,7 +3523,7 @@ if test "$MOZ_MEMORY"; then
+ # visibility hidden flag for Sun Studio on Solaris
+@@ -3162,7 +3059,7 @@ if test "$MOZ_MEMORY"; then
*-darwin*)
AC_DEFINE(MOZ_MEMORY_DARWIN)
;;
@@ -62,9 +135,9 @@ Treat DragonFly like FreeBSD.
AC_DEFINE(MOZ_MEMORY_BSD)
;;
*-android*|*-linuxandroid*)
-@@ -4417,6 +4423,16 @@ fi
+@@ -4088,6 +3985,16 @@ MOZ_SUBCONFIGURE_ICU()
dnl ========================================================
- dnl ECMAScript Internationalization API Support (uses ICU)
+ dnl JavaScript shell
dnl ========================================================
+ICU_LIB_NAMES=
+MOZ_NATIVE_ICU=
@@ -77,65 +150,5 @@ Treat DragonFly like FreeBSD.
+ PKG_CHECK_MODULES(MOZ_ICU, icu-i18n >= 50.1)
+fi
- if test -n "$JS_STANDALONE"; then
- ENABLE_INTL_API=1
-@@ -4429,37 +4445,36 @@ MOZ_ARG_ENABLE_BOOL(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)
-+AC_SUBST(MOZ_ICU_LIBS)
-+AC_SUBST(MOZ_NATIVE_ICU)
-
--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)
-+dnl Settings for ICU
-+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)
-
--dnl Settings for ICU
--if test -n "$ENABLE_INTL_API" ; then
- # Set ICU compile options
- ICU_CPPFLAGS=""
- # don't use icu namespace automatically in client code
+ AC_HAVE_FUNCS(setlocale)
+ AC_HAVE_FUNCS(localeconv)
diff --git a/mail/thunderbird/patches/patch-ax b/mail/thunderbird/patches/patch-ax
index abb226b8568..d7274f22237 100644
--- a/mail/thunderbird/patches/patch-ax
+++ b/mail/thunderbird/patches/patch-ax
@@ -1,13 +1,56 @@
-$NetBSD: patch-ax,v 1.13 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-ax,v 1.14 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/xpcom/base/nsStackWalk.cpp.orig 2013-10-23 22:09:21.000000000 +0000
+--- mozilla/xpcom/base/nsStackWalk.cpp.orig 2014-07-18 00:05:57.000000000 +0000
+++ mozilla/xpcom/base/nsStackWalk.cpp
-@@ -853,7 +853,7 @@ void DemangleSymbol(const char * aSymbol
- }
+@@ -33,8 +33,8 @@ static CriticalAddress gCriticalAddress;
+ #include <dlfcn.h>
+ #endif
+
+-#define NSSTACKWALK_SUPPORTS_MACOSX \
+- (defined(XP_MACOSX) && \
++#define NSSTACKWALK_SUPPORTS_DARWIN \
++ (defined(XP_DARWIN) && \
+ (defined(__i386) || defined(__ppc__) || defined(HAVE__UNWIND_BACKTRACE)))
+
+ #define NSSTACKWALK_SUPPORTS_LINUX \
+@@ -42,11 +42,11 @@ static CriticalAddress gCriticalAddress;
+ ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \
+ defined(HAVE__UNWIND_BACKTRACE)))
+
+-#define NSSTACKWALK_SUPPORTS_SOLARIS \
++#define notNSSTACKWALK_SUPPORTS_SOLARIS \
+ (defined(__sun) && \
+ (defined(__sparc) || defined(sparc) || defined(__i386) || defined(i386)))
+-#if NSSTACKWALK_SUPPORTS_MACOSX
++#if NSSTACKWALK_SUPPORTS_DARWIN
+ #include <pthread.h>
+ #include <CoreServices/CoreServices.h>
+
+@@ -838,7 +838,7 @@ NS_FormatCodeAddressDetails(void *aPC, c
+
+ // WIN32 x86 stack walking code
+ // i386 or PPC Linux stackwalking code or Solaris
+-#elif HAVE_DLADDR && (HAVE__UNWIND_BACKTRACE || NSSTACKWALK_SUPPORTS_LINUX || NSSTACKWALK_SUPPORTS_SOLARIS || NSSTACKWALK_SUPPORTS_MACOSX)
++#elif HAVE_DLADDR && (HAVE__UNWIND_BACKTRACE || NSSTACKWALK_SUPPORTS_LINUX || NSSTACKWALK_SUPPORTS_SOLARIS || NSSTACKWALK_SUPPORTS_DARWIN)
+
+ #include <stdlib.h>
+ #include <string.h>
+@@ -1162,7 +1162,7 @@ FramePointerStackWalk(NS_WalkStackCallba
+ (long(next) & 3)) {
+ break;
+ }
+-#if (defined(__ppc__) && defined(XP_MACOSX)) || defined(__powerpc64__)
++#if (defined(__ppc__) && defined(XP_DARWIN)) || defined(__powerpc64__)
+ // ppc mac or powerpc64 linux
+ void *pc = *(bp+2);
+ bp += 3;
+@@ -1192,7 +1192,7 @@ FramePointerStackWalk(NS_WalkStackCallba
+ }
--#if NSSTACKWALK_SUPPORTS_SOLARIS
-+#if notNSSTACKWALK_SUPPORTS_SOLARIS
+ #define X86_OR_PPC (defined(__i386) || defined(PPC) || defined(__ppc__))
+-#if X86_OR_PPC && (NSSTACKWALK_SUPPORTS_MACOSX || NSSTACKWALK_SUPPORTS_LINUX) // i386 or PPC Linux or Mac stackwalking code
++#if X86_OR_PPC && (NSSTACKWALK_SUPPORTS_DARWIN || NSSTACKWALK_SUPPORTS_LINUX) // i386 or PPC Linux or Mac stackwalking code
- /*
- * Stack walking code for Solaris courtesy of Bart Smaalder's "memtrak".
+ EXPORT_XPCOM_API(nsresult)
+ NS_StackWalk(NS_WalkStackCallback aCallback, uint32_t aSkipFrames,
diff --git a/mail/thunderbird/patches/patch-ay b/mail/thunderbird/patches/patch-ay
new file mode 100644
index 00000000000..ef8f141227f
--- /dev/null
+++ b/mail/thunderbird/patches/patch-ay
@@ -0,0 +1,33 @@
+$NetBSD: patch-ay,v 1.10 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/browser/app/nsBrowserApp.cpp.orig 2014-07-18 00:05:06.000000000 +0000
++++ mozilla/browser/app/nsBrowserApp.cpp
+@@ -18,8 +18,10 @@
+ #include <unistd.h>
+ #endif
+
+-#ifdef XP_MACOSX
++#ifdef XP_DARWIN
+ #include <mach/mach_time.h>
++#endif
++#ifdef MOZ_WIDGET_COCOA
+ #include "MacQuirks.h"
+ #endif
+
+@@ -447,7 +449,7 @@ TimeStamp_Now()
+ }
+
+ return sGetTickCount64() * freq.QuadPart;
+-#elif defined(XP_MACOSX)
++#elif defined(XP_DARWIN)
+ return mach_absolute_time();
+ #elif defined(HAVE_CLOCK_MONOTONIC)
+ struct timespec ts;
+@@ -586,6 +588,7 @@ int main(int argc, char* argv[])
+ TriggerQuirks();
+ #endif
+
++ setenv("MOZ_PLUGIN_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0);
+ int gotCounters;
+ #if defined(XP_UNIX)
+ struct rusage initialRUsage;
diff --git a/mail/thunderbird/patches/patch-bg b/mail/thunderbird/patches/patch-bg
index 67c966c9b30..0ca96ca62c7 100644
--- a/mail/thunderbird/patches/patch-bg
+++ b/mail/thunderbird/patches/patch-bg
@@ -1,12 +1,12 @@
-$NetBSD: patch-bg,v 1.5 2012/09/02 06:43:40 ryoon Exp $
+$NetBSD: patch-bg,v 1.6 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/storage/src/SQLiteMutex.h.orig 2012-08-25 00:31:30.000000000 +0000
+--- mozilla/storage/src/SQLiteMutex.h.orig 2014-07-18 00:05:51.000000000 +0000
+++ mozilla/storage/src/SQLiteMutex.h
@@ -108,15 +108,19 @@ public:
void assertCurrentThreadOwns()
{
NS_ASSERTION(mMutex, "No mutex associated with this wrapper!");
-+#if 0 /* XXX tnn: this breaks the debug build. */
++#if 0
NS_ASSERTION(sqlite3_mutex_held(mMutex),
"Mutex is not held, but we expect it to be!");
+#endif
@@ -15,7 +15,7 @@ $NetBSD: patch-bg,v 1.5 2012/09/02 06:43:40 ryoon Exp $
void assertNotCurrentThreadOwns()
{
NS_ASSERTION(mMutex, "No mutex associated with this wrapper!");
-+#if 0 /* XXX tnn: this breaks the debug build. */
++#if 0
NS_ASSERTION(sqlite3_mutex_notheld(mMutex),
"Mutex is held, but we expect it to not be!");
+#endif
diff --git a/mail/thunderbird/patches/patch-calendar_lightning_Makefile.in b/mail/thunderbird/patches/patch-calendar_lightning_Makefile.in
index ad08c43829b..bb9a4ff5e23 100644
--- a/mail/thunderbird/patches/patch-calendar_lightning_Makefile.in
+++ b/mail/thunderbird/patches/patch-calendar_lightning_Makefile.in
@@ -1,10 +1,10 @@
-$NetBSD: patch-calendar_lightning_Makefile.in,v 1.1 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-calendar_lightning_Makefile.in,v 1.2 2014/07/27 20:04:59 ryoon Exp $
---- calendar/lightning/Makefile.in.orig 2013-10-23 22:00:45.000000000 +0000
+--- calendar/lightning/Makefile.in.orig 2014-07-18 00:04:05.000000000 +0000
+++ calendar/lightning/Makefile.in
-@@ -14,7 +14,7 @@ include $(DEPTH)/config/autoconf.mk
+@@ -13,7 +13,7 @@ include $(DEPTH)/config/autoconf.mk
+ # Lightning.
- export XPI_NAME = lightning
export USE_EXTENSION_MANIFEST = 1
-XPI_PKGNAME = lightning-$(LIGHTNING_VERSION).$(AB_CD).$(MOZ_PKG_PLATFORM)
+XPI_PKGNAME = lightning
diff --git a/mail/thunderbird/patches/patch-calendar_lightning_build_universal.mk b/mail/thunderbird/patches/patch-calendar_lightning_build_universal.mk
index b496038162b..d6252de2d84 100644
--- a/mail/thunderbird/patches/patch-calendar_lightning_build_universal.mk
+++ b/mail/thunderbird/patches/patch-calendar_lightning_build_universal.mk
@@ -1,13 +1,13 @@
-$NetBSD: patch-calendar_lightning_build_universal.mk,v 1.1 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-calendar_lightning_build_universal.mk,v 1.2 2014/07/27 20:04:59 ryoon Exp $
---- calendar/lightning/build/universal.mk.orig 2013-10-23 22:00:45.000000000 +0000
+--- calendar/lightning/build/universal.mk.orig 2014-07-18 00:04:05.000000000 +0000
+++ calendar/lightning/build/universal.mk
-@@ -18,7 +18,7 @@ include $(DEPTH)/config/autoconf.mk
- include $(topsrcdir)/mozilla/toolkit/mozapps/installer/package-name.mk
+@@ -19,7 +19,7 @@ include $(topsrcdir)/mozilla/toolkit/moz
- LIGHTNING_VERSION := $(shell cat $(topsrcdir)/calendar/sunbird/config/version.txt)
+ THUNDERBIRD_VERSION := $(shell cat $(topsrcdir)/mail/config/version.txt)
+ LIGHTNING_VERSION := $(shell $(PYTHON) $(topsrcdir)/calendar/lightning/build/makeversion.py $(word 1,$(MOZ_PKG_VERSION) $(THUNDERBIRD_VERSION)))
-XPI_PKGNAME = lightning-$(LIGHTNING_VERSION).$(AB_CD).$(MOZ_PKG_PLATFORM)
+XPI_PKGNAME = lightning
+ STANDALONE_MAKEFILE := 1
include $(TOPSRCDIR)/config/config.mk
-
diff --git a/mail/thunderbird/patches/patch-calendar_providers_gdata_Makefile.in b/mail/thunderbird/patches/patch-calendar_providers_gdata_Makefile.in
index 3e0bee2f638..129e7c0c38d 100644
--- a/mail/thunderbird/patches/patch-calendar_providers_gdata_Makefile.in
+++ b/mail/thunderbird/patches/patch-calendar_providers_gdata_Makefile.in
@@ -1,10 +1,10 @@
-$NetBSD: patch-calendar_providers_gdata_Makefile.in,v 1.1 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-calendar_providers_gdata_Makefile.in,v 1.2 2014/07/27 20:04:59 ryoon Exp $
---- calendar/providers/gdata/Makefile.in.orig 2013-10-23 22:00:45.000000000 +0000
+--- calendar/providers/gdata/Makefile.in.orig 2014-07-18 00:04:05.000000000 +0000
+++ calendar/providers/gdata/Makefile.in
-@@ -12,7 +12,7 @@ include $(DEPTH)/config/autoconf.mk
+@@ -11,7 +11,7 @@ include $(DEPTH)/config/autoconf.mk
+
export USE_EXTENSION_MANIFEST = 1
- export XPI_NAME = gdata-provider
DIST_FILES = install.rdf
-XPI_PKGNAME = gdata-provider-$(GDATA_VERSION).$(AB_CD).$(MOZ_PKG_PLATFORM)
+XPI_PKGNAME = gdata-provider
diff --git a/mail/thunderbird/patches/patch-config_baseconfig.mk b/mail/thunderbird/patches/patch-config_baseconfig.mk
index 94d71cf3589..793ad0a59b2 100644
--- a/mail/thunderbird/patches/patch-config_baseconfig.mk
+++ b/mail/thunderbird/patches/patch-config_baseconfig.mk
@@ -1,10 +1,8 @@
-$NetBSD: patch-config_baseconfig.mk,v 1.1 2012/11/23 07:17:54 ryoon Exp $
+$NetBSD: patch-config_baseconfig.mk,v 1.2 2014/07/27 20:04:59 ryoon Exp $
---- config/baseconfig.mk.orig 2012-11-19 22:35:28.000000000 +0000
+--- config/baseconfig.mk.orig 2014-07-18 00:04:05.000000000 +0000
+++ 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)
diff --git a/mail/thunderbird/patches/patch-ipc_chromium_src_base_file__util__posix.cc b/mail/thunderbird/patches/patch-ipc_chromium_src_base_file__util__posix.cc
index 5b07524e516..df84a7565f0 100644
--- a/mail/thunderbird/patches/patch-ipc_chromium_src_base_file__util__posix.cc
+++ b/mail/thunderbird/patches/patch-ipc_chromium_src_base_file__util__posix.cc
@@ -1,6 +1,6 @@
-$NetBSD: patch-ipc_chromium_src_base_file__util__posix.cc,v 1.7 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-ipc_chromium_src_base_file__util__posix.cc,v 1.8 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/ipc/chromium/src/base/file_util_posix.cc.orig 2013-10-23 22:09:00.000000000 +0000
+--- mozilla/ipc/chromium/src/base/file_util_posix.cc.orig 2014-07-18 00:05:24.000000000 +0000
+++ mozilla/ipc/chromium/src/base/file_util_posix.cc
@@ -8,7 +8,7 @@
#include <errno.h>
@@ -11,7 +11,7 @@ $NetBSD: patch-ipc_chromium_src_base_file__util__posix.cc,v 1.7 2013/11/12 20:50
#include <fts.h>
#endif
#include <libgen.h>
-@@ -121,7 +121,7 @@ bool Delete(const FilePath& path, bool r
+@@ -67,7 +67,7 @@ bool Delete(const FilePath& path, bool r
if (!recursive)
return (rmdir(path_str) == 0);
@@ -20,7 +20,7 @@ $NetBSD: patch-ipc_chromium_src_base_file__util__posix.cc,v 1.7 2013/11/12 20:50
// XXX Need ftsless impl for bionic
return false;
#else
-@@ -194,7 +194,7 @@ bool CopyDirectory(const FilePath& from_
+@@ -140,7 +140,7 @@ bool CopyDirectory(const FilePath& from_
return false;
}
@@ -29,30 +29,20 @@ $NetBSD: patch-ipc_chromium_src_base_file__util__posix.cc,v 1.7 2013/11/12 20:50
// XXX Need ftsless impl for bionic
return false;
#else
-@@ -613,7 +613,7 @@ FileEnumerator::FileEnumerator(const Fil
+@@ -435,7 +435,7 @@ bool SetCurrentDirectory(const FilePath&
+ return !ret;
}
- FileEnumerator::~FileEnumerator() {
--#ifndef ANDROID
-+#if !defined(ANDROID) && !defined(OS_SOLARIS)
- if (fts_)
- fts_close(fts_);
- #endif
-@@ -625,7 +625,7 @@ void FileEnumerator::GetFindInfo(FindInf
- if (!is_in_find_op_)
- return;
+-#if !defined(OS_MACOSX)
++#if !defined(MOZ_WIDGET_COCOA)
+ bool GetTempDir(FilePath* path) {
+ const char* tmp = getenv("TMPDIR");
+ if (tmp)
+@@ -499,6 +499,6 @@ bool CopyFile(const FilePath& from_path,
--#ifndef ANDROID
-+#if !defined(ANDROID) && !defined(OS_SOLARIS)
- memcpy(&(info->stat), fts_ent_->fts_statp, sizeof(info->stat));
- info->filename.assign(fts_ent_->fts_name);
- #endif
-@@ -636,7 +636,7 @@ void FileEnumerator::GetFindInfo(FindInf
- // large directories with many files this can be quite deep.
- // TODO(erikkay) - get rid of this recursive pattern
- FilePath FileEnumerator::Next() {
--#ifdef ANDROID
-+#if defined(ANDROID) || defined(OS_SOLARIS)
- return FilePath();
- #else
- if (!is_in_find_op_) {
+ return result;
+ }
+-#endif // !defined(OS_MACOSX)
++#endif // !defined(MOZ_WIDGET_COCOA)
+
+ } // namespace file_util
diff --git a/mail/thunderbird/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc b/mail/thunderbird/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc
index 03d66aa71e9..446c4d5c855 100644
--- a/mail/thunderbird/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc
+++ b/mail/thunderbird/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc
@@ -1,10 +1,13 @@
-$NetBSD: patch-ipc_chromium_src_base_platform__thread__posix.cc,v 1.7 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-ipc_chromium_src_base_platform__thread__posix.cc,v 1.8 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/ipc/chromium/src/base/platform_thread_posix.cc.orig 2013-10-23 22:09:00.000000000 +0000
+--- mozilla/ipc/chromium/src/base/platform_thread_posix.cc.orig 2014-07-18 00:05:24.000000000 +0000
+++ mozilla/ipc/chromium/src/base/platform_thread_posix.cc
-@@ -10,7 +10,9 @@
+@@ -9,8 +9,12 @@
+
#if defined(OS_MACOSX)
#include <mach/mach.h>
++#include <dlfcn.h>
++#include <string>
#elif defined(OS_NETBSD)
+_Pragma("GCC visibility push(default)")
#include <lwp.h>
@@ -12,13 +15,75 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread__posix.cc,v 1.7 2013/11/12
#elif defined(OS_LINUX)
#include <sys/syscall.h>
#include <sys/prctl.h>
-@@ -110,7 +112,8 @@ void PlatformThread::SetName(const char*
+@@ -19,15 +23,13 @@
+ #include <sys/thr.h>
+ #endif
+
+-#if !defined(OS_MACOSX)
+ #include <unistd.h>
+-#endif
+
+ #if defined(OS_BSD) && !defined(OS_NETBSD) && !defined(__GLIBC__)
+ #include <pthread_np.h>
+ #endif
+
+-#if defined(OS_MACOSX)
++#if defined(MOZ_WIDGET_COCOA)
+ namespace base {
+ void InitThreading();
+ } // namespace
+@@ -91,7 +93,7 @@ void PlatformThread::Sleep(int duration_
+ sleep_time = remaining;
+ }
+
+-#ifndef OS_MACOSX
++#ifndef MOZ_WIDGET_COCOA
+ // Mac is implemented in platform_thread_mac.mm.
+
+ // static
+@@ -114,19 +116,41 @@ void PlatformThread::SetName(const char*
pthread_setname_np(pthread_self(), "%s", (void *)name);
#elif defined(OS_BSD) && !defined(__GLIBC__)
pthread_set_name_np(pthread_self(), name);
-#else
++#elif defined(OS_MACOSX)
++ // Copied from platform_thread_mac.mm
++
++ // pthread_setname_np is only available in 10.6 or later, so test
++ // for it at runtime.
++ int (*dynamic_pthread_setname_np)(const char*);
++ *reinterpret_cast<void**>(&dynamic_pthread_setname_np) =
++ dlsym(RTLD_DEFAULT, "pthread_setname_np");
++ if (!dynamic_pthread_setname_np)
++ return;
++
++ // Mac OS X does not expose the length limit of the name, so
++ // hardcode it.
++ const int kMaxNameLength = 63;
++ std::string shortened_name = std::string(name).substr(0, kMaxNameLength);
++ // pthread_setname() fails (harmlessly) in the sandbox, ignore when it does.
++ // See http://crbug.com/47058
++
++ // The name parameter is copied thus it's safe to release it after calling.
++ // Checked against the bionic implementation in bionic/libc/bionic/pthread.c
++ dynamic_pthread_setname_np(shortened_name.c_str());
+#elif !defined(OS_SOLARIS)
+ prctl(PR_SET_NAME, reinterpret_cast<uintptr_t>(name), 0, 0, 0);
#endif
}
- #endif // !OS_MACOSX
+-#endif // !OS_MACOSX
++#endif // !MOZ_WIDGET_COCOA
+
+ namespace {
+
+ bool CreateThread(size_t stack_size, bool joinable,
+ PlatformThread::Delegate* delegate,
+ PlatformThreadHandle* thread_handle) {
+-#if defined(OS_MACOSX)
++#if defined(MOZ_WIDGET_COCOA)
+ base::InitThreading();
+-#endif // OS_MACOSX
++#endif // MOZ_WIDGET_COCOA
+
+ bool success = false;
+ pthread_attr_t attributes;
diff --git a/mail/thunderbird/patches/patch-ipc_chromium_src_base_sys__info__posix.cc b/mail/thunderbird/patches/patch-ipc_chromium_src_base_sys__info__posix.cc
index 5f5eb2319f9..24606e383b5 100644
--- a/mail/thunderbird/patches/patch-ipc_chromium_src_base_sys__info__posix.cc
+++ b/mail/thunderbird/patches/patch-ipc_chromium_src_base_sys__info__posix.cc
@@ -1,6 +1,6 @@
-$NetBSD: patch-ipc_chromium_src_base_sys__info__posix.cc,v 1.6 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-ipc_chromium_src_base_sys__info__posix.cc,v 1.7 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/ipc/chromium/src/base/sys_info_posix.cc.orig 2013-10-23 22:09:00.000000000 +0000
+--- mozilla/ipc/chromium/src/base/sys_info_posix.cc.orig 2014-07-18 00:05:24.000000000 +0000
+++ mozilla/ipc/chromium/src/base/sys_info_posix.cc
@@ -119,7 +119,11 @@ std::wstring SysInfo::GetEnvVar(const wc
@@ -26,15 +26,3 @@ $NetBSD: patch-ipc_chromium_src_base_sys__info__posix.cc,v 1.6 2013/11/12 20:50:
if (uname(&info) < 0) {
NOTREACHED();
return "";
-@@ -139,7 +147,11 @@ std::string SysInfo::OperatingSystemVers
-
- // static
- std::string SysInfo::CPUArchitecture() {
-+#ifdef OS_SOLARIS
-+ struct utsname info;
-+#else
- utsname info;
-+#endif
- if (uname(&info) < 0) {
- NOTREACHED();
- return "";
diff --git a/mail/thunderbird/patches/patch-ipc_glue_GeckoChildProcessHost.cpp b/mail/thunderbird/patches/patch-ipc_glue_GeckoChildProcessHost.cpp
index 50870988fc3..1bdd8a71e39 100644
--- a/mail/thunderbird/patches/patch-ipc_glue_GeckoChildProcessHost.cpp
+++ b/mail/thunderbird/patches/patch-ipc_glue_GeckoChildProcessHost.cpp
@@ -1,6 +1,6 @@
-$NetBSD: patch-ipc_glue_GeckoChildProcessHost.cpp,v 1.5 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-ipc_glue_GeckoChildProcessHost.cpp,v 1.6 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/ipc/glue/GeckoChildProcessHost.cpp.orig 2013-10-23 22:09:00.000000000 +0000
+--- mozilla/ipc/glue/GeckoChildProcessHost.cpp.orig 2014-07-18 00:05:24.000000000 +0000
+++ mozilla/ipc/glue/GeckoChildProcessHost.cpp
@@ -4,7 +4,13 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -14,9 +14,9 @@ $NetBSD: patch-ipc_glue_GeckoChildProcessHost.cpp,v 1.5 2013/11/12 20:50:51 ryoo
+_Pragma("GCC visibility pop")
+#endif
- #include "base/command_line.h"
- #include "base/path_service.h"
-@@ -490,7 +496,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
+ #if defined(XP_WIN) && defined(MOZ_CONTENT_SANDBOX)
+ #include "sandboxBroker.h"
+@@ -548,7 +554,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
// and passing wstrings from one config to the other is unsafe. So
// we split the logic here.
@@ -25,16 +25,7 @@ $NetBSD: patch-ipc_glue_GeckoChildProcessHost.cpp,v 1.5 2013/11/12 20:50:51 ryoo
base::environment_map newEnvVars;
ChildPrivileges privs = mPrivileges;
if (privs == base::PRIVILEGES_DEFAULT) {
-@@ -509,7 +515,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
- if (NS_SUCCEEDED(rv)) {
- nsCString path;
- greDir->GetNativePath(path);
--# if defined(OS_LINUX) || defined(OS_BSD)
-+# if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS)
- # if defined(MOZ_WIDGET_ANDROID)
- path += "/lib";
- # endif // MOZ_WIDGET_ANDROID
-@@ -618,7 +624,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
+@@ -671,7 +677,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
childArgv.push_back(pidstring);
#if defined(MOZ_CRASHREPORTER)
@@ -43,7 +34,7 @@ $NetBSD: patch-ipc_glue_GeckoChildProcessHost.cpp,v 1.5 2013/11/12 20:50:51 ryoo
int childCrashFd, childCrashRemapFd;
if (!CrashReporter::CreateNotificationPipeForChild(
&childCrashFd, &childCrashRemapFd))
-@@ -651,7 +657,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
+@@ -704,7 +710,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
childArgv.push_back(childProcessType);
base::LaunchApp(childArgv, mFileMap,
diff --git a/mail/thunderbird/patches/patch-mb b/mail/thunderbird/patches/patch-mb
index 332a22da89b..7bca4c4c6cd 100644
--- a/mail/thunderbird/patches/patch-mb
+++ b/mail/thunderbird/patches/patch-mb
@@ -1,20 +1,37 @@
-$NetBSD: patch-mb,v 1.7 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mb,v 1.8 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig 2013-10-23 22:09:22.000000000 +0000
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig 2014-07-18 00:05:57.000000000 +0000
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in
-@@ -183,7 +183,7 @@ endif
- #
- # NetBSD/PPC
- #
--ifneq (,$(filter NetBSDmacppc NetBSDbebox NetBSDofppc NetBSDprep NetBSDamigappc,$(OS_ARCH)$(OS_TEST)))
-+ifeq ($(OS_ARCH)$(OS_TEST),NetBSDpowerpc)
- ASFILES := xptcinvoke_asm_ppc_netbsd.s xptcstubs_asm_ppc_netbsd.s
- endif
-
-@@ -235,6 +235,13 @@ ifneq (,$(filter OpenBSDsparc64 FreeBSDs
- ASFILES := xptcinvoke_asm_sparc64_openbsd.s xptcstubs_asm_sparc64_openbsd.s
- endif
+@@ -56,6 +56,39 @@ endif
+ # SPARC
+ ######################################################################
#
++# Linux/SPARC
++#
++ifeq ($(OS_ARCH),Linux)
++ifneq (,$(findstring sparc,$(OS_TEST)))
++ASFILES := xptcinvoke_asm_sparc_linux_GCC3.s xptcstubs_asm_sparc_solaris.s
++endif
++endif
++#
++# NetBSD/SPARC
++#
++ifeq ($(OS_ARCH)$(OS_TEST),NetBSDsparc)
++ASFILES := xptcinvoke_asm_sparc_netbsd.s xptcstubs_asm_sparc_netbsd.s
++endif
++#
++# OpenBSD/SPARC
++#
++ifeq ($(OS_ARCH)$(OS_TEST),OpenBSDsparc)
++ASFILES := xptcinvoke_asm_sparc_openbsd.s xptcstubs_asm_sparc_openbsd.s
++endif
++#
++# OpenBSD/SPARC64
++#
++ifneq (,$(filter OpenBSDsparc64 FreeBSDsparc64,$(OS_ARCH)$(OS_TEST)))
++ASFILES := xptcinvoke_asm_sparc64_openbsd.s xptcstubs_asm_sparc64_openbsd.s
++endif
++#
+# NetBSD/SPARC64
+#
+ifeq ($(OS_ARCH)$(OS_TEST),NetBSDsparc64)
diff --git a/mail/thunderbird/patches/patch-mk b/mail/thunderbird/patches/patch-mk
new file mode 100644
index 00000000000..5d9bdde871f
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mk
@@ -0,0 +1,32 @@
+$NetBSD: patch-mk,v 1.10 2014/07/27 20:04:59 ryoon Exp $
+
+Treat DragonFly like FreeBSD.
+
+--- mozilla/config/rules.mk.orig 2014-07-18 00:05:11.000000000 +0000
++++ mozilla/config/rules.mk
+@@ -832,6 +832,7 @@ endif
+ ifdef DTRACE_PROBE_OBJ
+ EXTRA_DEPS += $(DTRACE_PROBE_OBJ)
+ OBJS += $(DTRACE_PROBE_OBJ)
++EXCLUDED_OBJS += $(DTRACE_PROBE_OBJ)
+ endif
+
+ $(filter %.$(LIB_SUFFIX),$(LIBRARY)): $(OBJS) $(EXTRA_DEPS) $(GLOBAL_DEPS)
+@@ -867,7 +868,7 @@ ifdef DTRACE_PROBE_OBJ
+ ifndef DTRACE_LIB_DEPENDENT
+ NON_DTRACE_OBJS := $(filter-out $(DTRACE_PROBE_OBJ),$(OBJS))
+ $(DTRACE_PROBE_OBJ): $(NON_DTRACE_OBJS)
+- dtrace -G -C -s $(MOZILLA_DTRACE_SRC) -o $(DTRACE_PROBE_OBJ) $(NON_DTRACE_OBJS)
++ dtrace -x nolibs -G -C -s $(MOZILLA_DTRACE_SRC) -o $(DTRACE_PROBE_OBJ) $(NON_DTRACE_OBJS)
+ endif
+ endif
+ endif
+@@ -885,7 +886,7 @@ ifndef INCREMENTAL_LINKER
+ endif
+ ifdef DTRACE_LIB_DEPENDENT
+ ifndef XP_MACOSX
+- dtrace -G -C -s $(MOZILLA_DTRACE_SRC) -o $(DTRACE_PROBE_OBJ) $(shell $(EXPAND_LIBS) $(MOZILLA_PROBE_LIBS))
++ dtrace -x nolibs -G -C -s $(MOZILLA_DTRACE_SRC) -o $(DTRACE_PROBE_OBJ) $(shell $(EXPAND_LIBS) $(MOZILLA_PROBE_LIBS))
+ endif
+ $(EXPAND_MKSHLIB) $(SHLIB_LDSTARTFILE) $(OBJS) $(SUB_SHLOBJS) $(DTRACE_PROBE_OBJ) $(MOZILLA_PROBE_LIBS) $(RESFILE) $(LDFLAGS) $(WRAP_LDFLAGS) $(SHARED_LIBRARY_LIBS) $(EXTRA_DSO_LDOPTS) $(MOZ_GLUE_LDFLAGS) $(OS_LIBS) $(EXTRA_LIBS) $(DEF_FILE) $(SHLIB_LDENDFILE) $(if $(LIB_IS_C_ONLY),,$(STLPORT_LIBS))
+ @$(RM) $(DTRACE_PROBE_OBJ)
diff --git a/mail/thunderbird/patches/patch-ml b/mail/thunderbird/patches/patch-ml
index 208688761ff..f68ea2f886a 100644
--- a/mail/thunderbird/patches/patch-ml
+++ b/mail/thunderbird/patches/patch-ml
@@ -1,64 +1,33 @@
-$NetBSD: patch-ml,v 1.6 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-ml,v 1.7 2014/07/27 20:04:59 ryoon Exp $
Treat DragonFly like FreeBSD.
---- mozilla/js/src/Makefile.in.orig 2013-10-23 22:09:00.000000000 +0000
+--- mozilla/js/src/Makefile.in.orig 2014-07-18 00:05:24.000000000 +0000
+++ mozilla/js/src/Makefile.in
-@@ -237,10 +237,14 @@ endif
- # 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
-
-@@ -260,6 +264,7 @@ else
- ICU_MAKE = $(MAKE)
- endif
-
-+ifndef MOZ_NATIVE_ICU
- # - Build ICU as part of the "export" target, so things get built
- # in the right order.
- # - ICU requires GNU make according to its readme.html. pymake can't be used
-@@ -274,6 +279,7 @@ export::
-
- distclean clean::
- $(call SUBMAKE,$@,intl/icu)
-+endif
-
+@@ -20,8 +20,6 @@ run_for_side_effects := $(shell echo 'MA
+ STATIC_LIBRARY_NAME = js_static
+ LIBS = $(NSPR_LIBS)
+
+-DIST_INSTALL = 1
+-
+ ifdef JS_STANDALONE
+ SHARED_LIBRARY_LIBS += $(call EXPAND_LIBNAME_PATH,mfbt,$(DEPTH)/mfbt)
endif
-
-@@ -413,7 +419,11 @@ ifneq (,$(MOZ_ZLIB_LIBS)$(MOZ_GLUE_LDFLA
- DEFINES += -DUSE_ZLIB
+@@ -226,7 +224,7 @@ endif
+ ifdef MOZ_SHARED_ICU
+ EXTRA_DSO_LDOPTS += $(MOZ_ICU_LIBS)
+ else
+-SHARED_LIBRARY_LIBS += $(MOZ_ICU_LIBS)
++SHARED_LIBRARY_LIBS += $(filter-out -L% -l% -Wl%,$(MOZ_ICU_LIBS))
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
-@@ -472,6 +482,13 @@ EXTRA_LIBS += -lposix4 -ldl -lnsl -lsock
- endif
- endif
-
-+# clang 3.3 + -O2 makes jaeger crash in FixupArity
-+ifdef CLANG_CXX
-+ifndef MOZ_DEBUG
-+Compiler.$(OBJ_SUFFIX): CXXFLAGS += -fno-inline-functions
-+endif
-+endif
-+
- # An AIX Optimization bug causes PR_dtoa() & JS_dtoa to produce wrong result.
- # This suppresses optimization for this single compilation unit.
- ifeq ($(OS_ARCH),AIX)
+@@ -350,7 +348,7 @@ endif
+
+ ifdef HAVE_DTRACE
+ $(CURDIR)/javascript-trace.h: $(srcdir)/devtools/javascript-trace.d
+- dtrace -h -s $(srcdir)/devtools/javascript-trace.d -o javascript-trace.h.in
++ dtrace -x nolibs -h -s $(srcdir)/devtools/javascript-trace.d -o javascript-trace.h.in
+ sed -e 's/if _DTRACE_VERSION/ifdef INCLUDE_MOZILLA_DTRACE/' \
+ -e '/const/!s/char \*/const char */g' \
+ javascript-trace.h.in > javascript-trace.h
diff --git a/mail/thunderbird/patches/patch-mm b/mail/thunderbird/patches/patch-mm
deleted file mode 100644
index 85ee4625d80..00000000000
--- a/mail/thunderbird/patches/patch-mm
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD: patch-mm,v 1.14 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/toolkit/library/Makefile.in.orig 2013-10-23 22:09:20.000000000 +0000
-+++ mozilla/toolkit/library/Makefile.in
-@@ -395,6 +395,7 @@ endif
- EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,gkmedias,$(DIST)/lib)
-
- ifdef MOZ_WEBRTC
-+EXTRA_DSO_LDOPTS += $(MOZ_LIBV4L2_LIBS)
- ifdef MOZ_PEERCONNECTION
- COMPONENT_LIBS += peerconnection
- endif
diff --git a/mail/thunderbird/patches/patch-mozilla_b2g_installer_Makefile.in b/mail/thunderbird/patches/patch-mozilla_b2g_installer_Makefile.in
new file mode 100644
index 00000000000..f9785e7e7e1
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_b2g_installer_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-mozilla_b2g_installer_Makefile.in,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/b2g/installer/Makefile.in.orig 2014-07-18 00:05:06.000000000 +0000
++++ mozilla/b2g/installer/Makefile.in
+@@ -61,6 +61,10 @@ ifneq (,$(filter rtsp,$(NECKO_PROTOCOLS)
+ DEFINES += -DMOZ_RTSP
+ endif
+
++ifdef MOZ_DEBUG
++DEFINES += -DMOZ_DEBUG=1
++endif
++
+ ifdef GKMEDIAS_SHARED_LIBRARY
+ DEFINES += -DGKMEDIAS_SHARED_LIBRARY
+ endif
diff --git a/mail/thunderbird/patches/patch-mozilla_b2g_installer_package-manifest.in b/mail/thunderbird/patches/patch-mozilla_b2g_installer_package-manifest.in
new file mode 100644
index 00000000000..8da92e1e765
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_b2g_installer_package-manifest.in
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_b2g_installer_package-manifest.in,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/b2g/installer/package-manifest.in.orig 2014-07-18 00:05:06.000000000 +0000
++++ mozilla/b2g/installer/package-manifest.in
+@@ -565,7 +565,7 @@
+ @BINPATH@/components/MozKeyboard.js
+ @BINPATH@/components/InputMethod.manifest
+
+-#ifdef MOZ_DEBUG
++#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
+ @BINPATH@/components/TestInterfaceJS.js
+ @BINPATH@/components/TestInterfaceJS.manifest
+ #endif
diff --git a/mail/thunderbird/patches/patch-mozilla_browser_installer_package-manifest.in b/mail/thunderbird/patches/patch-mozilla_browser_installer_package-manifest.in
index d302fca2609..f1b10f2c3f5 100644
--- a/mail/thunderbird/patches/patch-mozilla_browser_installer_package-manifest.in
+++ b/mail/thunderbird/patches/patch-mozilla_browser_installer_package-manifest.in
@@ -1,9 +1,18 @@
-$NetBSD: patch-mozilla_browser_installer_package-manifest.in,v 1.1 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mozilla_browser_installer_package-manifest.in,v 1.2 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/browser/installer/package-manifest.in.orig 2013-10-23 22:08:49.000000000 +0000
+--- mozilla/browser/installer/package-manifest.in.orig 2014-07-18 00:05:09.000000000 +0000
+++ mozilla/browser/installer/package-manifest.in
-@@ -690,7 +690,7 @@
- @BINPATH@/components/pippki.xpt
+@@ -575,7 +575,7 @@
+ @BINPATH@/components/MozKeyboard.js
+ @BINPATH@/components/InputMethod.manifest
+
+-#ifdef MOZ_DEBUG
++#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
+ @BINPATH@/components/TestInterfaceJS.js
+ @BINPATH@/components/TestInterfaceJS.manifest
+ #endif
+@@ -737,7 +737,7 @@
+ #endif
; for Solaris SPARC
-#ifdef SOLARIS
diff --git a/mail/thunderbird/patches/patch-mozilla_build_autoconf_compiler-opts.m4 b/mail/thunderbird/patches/patch-mozilla_build_autoconf_compiler-opts.m4
new file mode 100644
index 00000000000..3719449e1e6
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_build_autoconf_compiler-opts.m4
@@ -0,0 +1,19 @@
+$NetBSD: patch-mozilla_build_autoconf_compiler-opts.m4,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/build/autoconf/compiler-opts.m4.orig 2014-07-18 00:05:10.000000000 +0000
++++ mozilla/build/autoconf/compiler-opts.m4
+@@ -53,14 +53,6 @@ case "$target" in
+ if test -z "$CXX"; then
+ MOZ_PATH_PROGS(CXX, clang++)
+ fi
+- IS_GCC=$($CC -v 2>&1 | grep gcc)
+- if test -n "$IS_GCC"
+- then
+- echo gcc is known to be broken on OS X, please use clang.
+- echo see http://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions/Mac_OS_X_Prerequisites
+- echo for more information.
+- exit 1
+- fi
+ ;;
+ esac
+ fi
diff --git a/mail/thunderbird/patches/patch-mozilla_build_gyp.mozbuild b/mail/thunderbird/patches/patch-mozilla_build_gyp.mozbuild
new file mode 100644
index 00000000000..5eb20af69d1
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_build_gyp.mozbuild
@@ -0,0 +1,12 @@
+$NetBSD: patch-mozilla_build_gyp.mozbuild,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/build/gyp.mozbuild.orig 2014-07-18 00:05:10.000000000 +0000
++++ mozilla/build/gyp.mozbuild
+@@ -12,6 +12,7 @@ gyp_vars = {
+ 'have_ethtool_cmd_speed_hi': 1 if CONFIG['MOZ_WEBRTC_HAVE_ETHTOOL_SPEED_HI'] else 0,
+ 'include_alsa_audio': 1 if CONFIG['MOZ_ALSA'] else 0,
+ 'include_pulse_audio': 1 if CONFIG['MOZ_PULSEAUDIO'] else 0,
++ 'use_libv4l2': 1 if CONFIG['MOZ_LIBV4L2_LIBS'] else 0,
+ # basic stuff for everything
+ 'include_internal_video_render': 0,
+ 'clang_use_chrome_plugins': 0,
diff --git a/mail/thunderbird/patches/patch-mozilla_config_Makefile.in b/mail/thunderbird/patches/patch-mozilla_config_Makefile.in
index e87b0afe3ef..6427a9c1087 100644
--- a/mail/thunderbird/patches/patch-mozilla_config_Makefile.in
+++ b/mail/thunderbird/patches/patch-mozilla_config_Makefile.in
@@ -1,12 +1,20 @@
-$NetBSD: patch-mozilla_config_Makefile.in,v 1.1 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mozilla_config_Makefile.in,v 1.2 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/config/Makefile.in.orig 2013-10-23 22:08:50.000000000 +0000
+--- mozilla/config/Makefile.in.orig 2014-07-18 00:05:10.000000000 +0000
+++ mozilla/config/Makefile.in
-@@ -102,6 +102,7 @@ export:: $(export-preqs)
- -DMOZ_NATIVE_JPEG=$(MOZ_NATIVE_JPEG) \
+@@ -77,6 +77,15 @@ export:: $(export-preqs)
-DMOZ_NATIVE_LIBEVENT=$(MOZ_NATIVE_LIBEVENT) \
-DMOZ_NATIVE_LIBVPX=$(MOZ_NATIVE_LIBVPX) \
-+ -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \
+ -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \
++ -DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \
++ -DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \
++ -DMOZ_NATIVE_OGG=$(MOZ_NATIVE_OGG) \
++ -DMOZ_NATIVE_THEORA=$(MOZ_NATIVE_THEORA) \
++ -DMOZ_NATIVE_VORBIS=$(MOZ_NATIVE_VORBIS) \
++ -DMOZ_NATIVE_TREMOR=$(MOZ_NATIVE_TREMOR) \
++ -DMOZ_NATIVE_OPUS=$(MOZ_NATIVE_OPUS) \
++ -DMOZ_NATIVE_SPEEX=$(MOZ_NATIVE_SPEEX) \
++ -DMOZ_NATIVE_SOUNDTOUCH=$(MOZ_NATIVE_SOUNDTOUCH) \
$(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers
$(INSTALL) system_wrappers $(DIST)
diff --git a/mail/thunderbird/patches/patch-mozilla_config_baseconfig.mk b/mail/thunderbird/patches/patch-mozilla_config_baseconfig.mk
index b397095627a..4a54d4cd335 100644
--- a/mail/thunderbird/patches/patch-mozilla_config_baseconfig.mk
+++ b/mail/thunderbird/patches/patch-mozilla_config_baseconfig.mk
@@ -1,10 +1,11 @@
-$NetBSD: patch-mozilla_config_baseconfig.mk,v 1.3 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mozilla_config_baseconfig.mk,v 1.4 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/config/baseconfig.mk.orig 2013-10-23 22:08:50.000000000 +0000
+--- mozilla/config/baseconfig.mk.orig 2014-07-18 00:05:10.000000000 +0000
+++ mozilla/config/baseconfig.mk
-@@ -1,9 +1,9 @@
- INCLUDED_AUTOCONF_MK = 1
-
+@@ -2,10 +2,10 @@
+ # directly in python/mozbuild/mozbuild/base.py for gmake validation.
+ # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending
+ # whether a normal build is happening or whether the check is running.
-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
@@ -12,7 +13,7 @@ $NetBSD: patch-mozilla_config_baseconfig.mk,v 1.3 2013/11/12 20:50:51 ryoon Exp
+includedir := $(includedir)/${MOZILLA_PKG_NAME}
+idldir = $(datadir)/idl/${MOZILLA_PKG_NAME}
+installdir = $(libdir)/${MOZILLA_PKG_NAME}
-+sdkdir = $(libdir)/${MOZILLA_PKG_NAME}-sdk
- DIST = $(DEPTH)/dist
-
- # We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't
++sdkdir = $(libdir)/${MOZILLA_PKG_NAME}
+ ifndef TOP_DIST
+ TOP_DIST = dist
+ endif
diff --git a/mail/thunderbird/patches/patch-mozilla_config_external_moz.build b/mail/thunderbird/patches/patch-mozilla_config_external_moz.build
new file mode 100644
index 00000000000..09079993df6
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_config_external_moz.build
@@ -0,0 +1,47 @@
+$NetBSD: patch-mozilla_config_external_moz.build,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/config/external/moz.build.orig 2014-07-18 00:05:11.000000000 +0000
++++ mozilla/config/external/moz.build
+@@ -15,13 +15,19 @@ if CONFIG['MOZ_UPDATER']:
+ if not CONFIG['MOZ_NATIVE_BZ2']:
+ external_dirs += ['modules/libbz2']
+
+-if CONFIG['MOZ_VORBIS']:
++if not CONFIG['MOZ_NATIVE_OGG']:
++ external_dirs += ['media/libogg']
++
++if not CONFIG['MOZ_NATIVE_THEORA']:
++ external_dirs += ['media/libtheora']
++
++if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_NATIVE_VORBIS']:
+ external_dirs += ['media/libvorbis']
+
+-if CONFIG['MOZ_TREMOR']:
++if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_NATIVE_TREMOR']:
+ external_dirs += ['media/libtremor']
+
+-if CONFIG['MOZ_OPUS']:
++if CONFIG['MOZ_OPUS'] and not CONFIG['MOZ_NATIVE_OPUS']:
+ external_dirs += ['media/libopus']
+
+ if CONFIG['MOZ_WEBM']:
+@@ -36,13 +42,15 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ
+ if not CONFIG['MOZ_NATIVE_PNG']:
+ external_dirs += ['media/libpng']
+
++if not CONFIG['MOZ_NATIVE_SPEEX']:
++ external_dirs += ['media/libspeex_resampler']
++
++if not CONFIG['MOZ_NATIVE_SOUNDTOUCH']:
++ external_dirs += ['media/libsoundtouch']
++
+ external_dirs += [
+ 'media/kiss_fft',
+ 'media/libcubeb',
+- 'media/libogg',
+- 'media/libtheora',
+- 'media/libspeex_resampler',
+- 'media/libsoundtouch',
+ ]
+
+ PARALLEL_DIRS += ['../../' + i for i in external_dirs]
diff --git a/mail/thunderbird/patches/patch-mozilla_config_system-headers b/mail/thunderbird/patches/patch-mozilla_config_system-headers
index 8dc7e1413b4..d2a31c2fa4e 100644
--- a/mail/thunderbird/patches/patch-mozilla_config_system-headers
+++ b/mail/thunderbird/patches/patch-mozilla_config_system-headers
@@ -1,19 +1,60 @@
-$NetBSD: patch-mozilla_config_system-headers,v 1.3 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mozilla_config_system-headers,v 1.4 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/config/system-headers.orig 2013-10-23 22:08:50.000000000 +0000
+--- mozilla/config/system-headers.orig 2014-07-18 00:05:11.000000000 +0000
+++ mozilla/config/system-headers
-@@ -1132,3 +1132,14 @@ 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
+@@ -1048,8 +1048,6 @@ X11/Xlocale.h
+ X11/Xos.h
+ X11/Xutil.h
+ zmouse.h
+-speex/speex_resampler.h
+-soundtouch/SoundTouch.h
+ #if MOZ_NATIVE_PNG==1
+ png.h
+ #endif
+@@ -1117,6 +1115,8 @@ ogg/ogg.h
+ ogg/os_types.h
+ nestegg/nestegg.h
+ cubeb/cubeb.h
++speex/speex_resampler.h
++soundtouch/SoundTouch.h
+ #endif
+ gst/gst.h
+ gst/app/gstappsink.h
+@@ -1145,3 +1145,37 @@ unicode/utypes.h
+ #endif
+ libutil.h
+ unwind.h
++#if MOZ_NATIVE_GRAPHITE2==1
++graphite2/Font.h
++graphite2/Segment.h
++#endif
++#if MOZ_NATIVE_HARFBUZZ==1
++harfbuzz/hb-ot.h
++harfbuzz/hb.h
++#endif
++#if MOZ_NATIVE_OGG==1
++ogg/ogg.h
++ogg/os_types.h
++#endif
++#if MOZ_NATIVE_THEORA==1
++theora/theoradec.h
++#endif
++#if MOZ_NATIVE_VORBIS==1
++vorbis/codec.h
++vorbis/vorbisenc.h
++#endif
++#if MOZ_NATIVE_TREMOR==1
++tremor/ivorbiscodec.h
++#endif
++#if MOZ_NATIVE_OPUS==1
++opus.h
++opus_multistream.h
++opus/opus.h
++opus/opus_multistream.h
++#endif
++#if MOZ_NATIVE_SPEEX==1
++speex/speex_resampler.h
++#endif
++#if MOZ_NATIVE_SOUNDTOUCH==1
++soundtouch/SoundTouch.h
+#endif
diff --git a/mail/thunderbird/patches/patch-mozilla_content_base_src_moz.build b/mail/thunderbird/patches/patch-mozilla_content_base_src_moz.build
new file mode 100644
index 00000000000..15fd46eee29
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_content_base_src_moz.build
@@ -0,0 +1,14 @@
+$NetBSD: patch-mozilla_content_base_src_moz.build,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/content/base/src/moz.build.orig 2014-07-18 00:05:11.000000000 +0000
++++ mozilla/content/base/src/moz.build
+@@ -181,6 +181,9 @@ SOURCES += [
+ 'nsObjectLoadingContent.cpp',
+ ]
+
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++ SOURCES['nsContentUtils.cpp'].flags += [CONFIG['MOZ_HARFBUZZ_CFLAGS']]
++
+ EXTRA_COMPONENTS += [
+ 'contentAreaDropListener.js',
+ 'contentAreaDropListener.manifest',
diff --git a/mail/thunderbird/patches/patch-mozilla_content_media_AudioStream.cpp b/mail/thunderbird/patches/patch-mozilla_content_media_AudioStream.cpp
new file mode 100644
index 00000000000..e54185fcb19
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_content_media_AudioStream.cpp
@@ -0,0 +1,12 @@
+$NetBSD: patch-mozilla_content_media_AudioStream.cpp,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/content/media/AudioStream.cpp.orig 2014-07-18 00:05:12.000000000 +0000
++++ mozilla/content/media/AudioStream.cpp
+@@ -13,7 +13,6 @@
+ #include "mozilla/Mutex.h"
+ #include <algorithm>
+ #include "mozilla/Preferences.h"
+-#include "soundtouch/SoundTouch.h"
+ #include "Latency.h"
+
+ namespace mozilla {
diff --git a/mail/thunderbird/patches/patch-mozilla_content_media_AudioStream.h b/mail/thunderbird/patches/patch-mozilla_content_media_AudioStream.h
new file mode 100644
index 00000000000..8ad3a3f7959
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_content_media_AudioStream.h
@@ -0,0 +1,21 @@
+$NetBSD: patch-mozilla_content_media_AudioStream.h,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/content/media/AudioStream.h.orig 2014-07-18 00:05:12.000000000 +0000
++++ mozilla/content/media/AudioStream.h
+@@ -17,6 +17,7 @@
+ #include "mozilla/RefPtr.h"
+
+ #include "cubeb/cubeb.h"
++#include "soundtouch/SoundTouch.h"
+
+ template <>
+ class nsAutoRefTraits<cubeb_stream> : public nsPointerRefTraits<cubeb_stream>
+@@ -26,7 +27,7 @@ public:
+ };
+
+ namespace soundtouch {
+-class SoundTouch;
++class MOZ_IMPORT_API SoundTouch;
+ }
+
+ namespace mozilla {
diff --git a/mail/thunderbird/patches/patch-mozilla_content_media_Makefile.in b/mail/thunderbird/patches/patch-mozilla_content_media_Makefile.in
new file mode 100644
index 00000000000..523ca37cb2e
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_content_media_Makefile.in
@@ -0,0 +1,36 @@
+$NetBSD: patch-mozilla_content_media_Makefile.in,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/content/media/Makefile.in.orig 2014-07-18 00:05:12.000000000 +0000
++++ mozilla/content/media/Makefile.in
+@@ -6,3 +6,31 @@ include $(topsrcdir)/config/rules.mk
+
+ CFLAGS += $(GSTREAMER_CFLAGS)
+ CXXFLAGS += $(GSTREAMER_CFLAGS)
++
++ifdef MOZ_NATIVE_OGG
++CXXFLAGS += $(MOZ_OGG_CFLAGS)
++endif
++
++ifdef MOZ_NATIVE_THEORA
++CXXFLAGS += $(MOZ_THEORA_CFLAGS)
++endif
++
++ifdef MOZ_NATIVE_VORBIS
++CXXFLAGS += $(MOZ_VORBIS_CFLAGS)
++endif
++
++ifdef MOZ_NATIVE_TREMOR
++CXXFLAGS += $(MOZ_TREMOR_CFLAGS)
++endif
++
++ifdef MOZ_NATIVE_OPUS
++CXXFLAGS += $(MOZ_OPUS_CFLAGS)
++endif
++
++ifdef MOZ_NATIVE_SPEEX
++CXXFLAGS += $(MOZ_SPEEX_CFLAGS)
++endif
++
++ifdef MOZ_NATIVE_SOUNDTOUCH
++CXXFLAGS += $(MOZ_SOUNDTOUCH_CFLAGS)
++endif
diff --git a/mail/thunderbird/patches/patch-mozilla_content_media_fmp4_demuxer_bit__reader.cc b/mail/thunderbird/patches/patch-mozilla_content_media_fmp4_demuxer_bit__reader.cc
new file mode 100644
index 00000000000..171a1dd3628
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_content_media_fmp4_demuxer_bit__reader.cc
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_content_media_fmp4_demuxer_bit__reader.cc,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/content/media/fmp4/demuxer/bit_reader.cc.orig 2014-07-18 00:05:12.000000000 +0000
++++ mozilla/content/media/fmp4/demuxer/bit_reader.cc
+@@ -9,7 +9,7 @@ namespace mp4_demuxer {
+
+ BitReader::BitReader(const uint8_t* data, off_t size)
+ : data_(data), bytes_left_(size), num_remaining_bits_in_curr_byte_(0) {
+- DCHECK(data_ != nullptr && bytes_left_ > 0);
++ DCHECK(data_ != 0 && bytes_left_ > 0);
+
+ UpdateCurrByte();
+ }
diff --git a/mail/thunderbird/patches/patch-mozilla_content_media_gstreamer_GStreamerAllocator.cpp b/mail/thunderbird/patches/patch-mozilla_content_media_gstreamer_GStreamerAllocator.cpp
new file mode 100644
index 00000000000..aa7c02dfb65
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_content_media_gstreamer_GStreamerAllocator.cpp
@@ -0,0 +1,12 @@
+$NetBSD: patch-mozilla_content_media_gstreamer_GStreamerAllocator.cpp,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/content/media/gstreamer/GStreamerAllocator.cpp.orig 2014-07-18 00:05:12.000000000 +0000
++++ mozilla/content/media/gstreamer/GStreamerAllocator.cpp
+@@ -51,7 +51,6 @@ typedef struct
+ #pragma GCC diagnostic ignored "-Wunused-function"
+ G_DEFINE_TYPE(MozGfxMemoryAllocator, moz_gfx_memory_allocator, GST_TYPE_ALLOCATOR);
+ G_DEFINE_TYPE(MozGfxBufferPool, moz_gfx_buffer_pool, GST_TYPE_VIDEO_BUFFER_POOL);
+-#pragma GCC diagnostic pop
+
+ void
+ moz_gfx_memory_reset(MozGfxMemory *mem)
diff --git a/mail/thunderbird/patches/patch-mozilla_content_media_gstreamer_GStreamerFormatHelper.cpp b/mail/thunderbird/patches/patch-mozilla_content_media_gstreamer_GStreamerFormatHelper.cpp
deleted file mode 100644
index 79285a09c1e..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_content_media_gstreamer_GStreamerFormatHelper.cpp
+++ /dev/null
@@ -1,166 +0,0 @@
-$NetBSD: patch-mozilla_content_media_gstreamer_GStreamerFormatHelper.cpp,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/content/media/gstreamer/GStreamerFormatHelper.cpp.orig 2013-10-23 22:08:51.000000000 +0000
-+++ mozilla/content/media/gstreamer/GStreamerFormatHelper.cpp
-@@ -6,7 +6,7 @@
-
- #include "GStreamerFormatHelper.h"
- #include "nsCharSeparatedTokenizer.h"
--#include "nsXPCOMStrings.h"
-+#include "nsString.h"
- #include "GStreamerLoader.h"
-
- #define ENTRY_FORMAT(entry) entry[0]
-@@ -36,7 +36,7 @@ void GStreamerFormatHelper::Shutdown() {
- }
- }
-
--char const *const GStreamerFormatHelper::mContainers[6][2] = {
-+static char const *const sContainers[6][2] = {
- {"video/mp4", "video/quicktime"},
- {"video/quicktime", "video/quicktime"},
- {"audio/mp4", "audio/x-m4a"},
-@@ -45,7 +45,7 @@ char const *const GStreamerFormatHelper:
- {"audio/mp3", "audio/mpeg, mpegversion=(int)1"},
- };
-
--char const *const GStreamerFormatHelper::mCodecs[9][2] = {
-+static char const *const sCodecs[9][2] = {
- {"avc1.42E01E", "video/x-h264"},
- {"avc1.42001E", "video/x-h264"},
- {"avc1.58A01E", "video/x-h264"},
-@@ -57,6 +57,15 @@ char const *const GStreamerFormatHelper:
- {"mp3", "audio/mpeg, mpegversion=(int)1"},
- };
-
-+static char const * const sDefaultCodecCaps[][2] = {
-+ {"video/mp4", "video/x-h264"},
-+ {"video/quicktime", "video/x-h264"},
-+ {"audio/mp4", "audio/mpeg, mpegversion=(int)4"},
-+ {"audio/x-m4a", "audio/mpeg, mpegversion=(int)4"},
-+ {"audio/mp3", "audio/mpeg, layer=(int)3"},
-+ {"audio/mpeg", "audio/mpeg, layer=(int)3"}
-+};
-+
- GStreamerFormatHelper::GStreamerFormatHelper()
- : mFactories(nullptr),
- mCookie(static_cast<uint32_t>(-1))
-@@ -66,15 +75,15 @@ GStreamerFormatHelper::GStreamerFormatHe
- }
-
- mSupportedContainerCaps = gst_caps_new_empty();
-- for (unsigned int i = 0; i < G_N_ELEMENTS(mContainers); i++) {
-- const char* capsString = mContainers[i][1];
-+ for (unsigned int i = 0; i < G_N_ELEMENTS(sContainers); i++) {
-+ const char* capsString = sContainers[i][1];
- GstCaps* caps = gst_caps_from_string(capsString);
- gst_caps_append(mSupportedContainerCaps, caps);
- }
-
- mSupportedCodecCaps = gst_caps_new_empty();
-- for (unsigned int i = 0; i < G_N_ELEMENTS(mCodecs); i++) {
-- const char* capsString = mCodecs[i][1];
-+ for (unsigned int i = 0; i < G_N_ELEMENTS(sCodecs); i++) {
-+ const char* capsString = sCodecs[i][1];
- GstCaps* caps = gst_caps_from_string(capsString);
- gst_caps_append(mSupportedCodecCaps, caps);
- }
-@@ -92,6 +101,41 @@ GStreamerFormatHelper::~GStreamerFormatH
- g_list_free(mFactories);
- }
-
-+static GstCaps *
-+GetContainerCapsFromMIMEType(const char *aType) {
-+ /* convert aMIMEType to gst container caps */
-+ const char* capsString = nullptr;
-+ for (uint32_t i = 0; i < G_N_ELEMENTS(sContainers); i++) {
-+ if (!strcmp(ENTRY_FORMAT(sContainers[i]), aType)) {
-+ capsString = ENTRY_CAPS(sContainers[i]);
-+ break;
-+ }
-+ }
-+
-+ if (!capsString) {
-+ /* we couldn't find any matching caps */
-+ return nullptr;
-+ }
-+
-+ return gst_caps_from_string(capsString);
-+}
-+
-+static GstCaps *
-+GetDefaultCapsFromMIMEType(const char *aType) {
-+ GstCaps *caps = GetContainerCapsFromMIMEType(aType);
-+
-+ for (uint32_t i = 0; i < G_N_ELEMENTS(sDefaultCodecCaps); i++) {
-+ if (!strcmp(sDefaultCodecCaps[i][0], aType)) {
-+ GstCaps *tmp = gst_caps_from_string(sDefaultCodecCaps[i][1]);
-+
-+ gst_caps_append(caps, tmp);
-+ return caps;
-+ }
-+ }
-+
-+ return nullptr;
-+}
-+
- bool GStreamerFormatHelper::CanHandleMediaType(const nsACString& aMIMEType,
- const nsAString* aCodecs) {
- if (!sLoadOK) {
-@@ -101,7 +145,15 @@ bool GStreamerFormatHelper::CanHandleMed
- const char *type;
- NS_CStringGetData(aMIMEType, &type, NULL);
-
-- GstCaps* caps = ConvertFormatsToCaps(type, aCodecs);
-+ GstCaps *caps;
-+ if (aCodecs && !aCodecs->IsEmpty()) {
-+ caps = ConvertFormatsToCaps(type, aCodecs);
-+ } else {
-+ // Get a minimal set of codec caps for this MIME type we should support so
-+ // that we don't overreport MIME types we are able to play.
-+ caps = GetDefaultCapsFromMIMEType(type);
-+ }
-+
- if (!caps) {
- return false;
- }
-@@ -118,21 +170,11 @@ GstCaps* GStreamerFormatHelper::ConvertF
-
- unsigned int i;
-
-- /* convert aMIMEType to gst container caps */
-- const char* capsString = nullptr;
-- for (i = 0; i < G_N_ELEMENTS(mContainers); i++) {
-- if (!strcmp(ENTRY_FORMAT(mContainers[i]), aMIMEType)) {
-- capsString = ENTRY_CAPS(mContainers[i]);
-- break;
-- }
-- }
--
-- if (!capsString) {
-- /* we couldn't find any matching caps */
-+ GstCaps *caps = GetContainerCapsFromMIMEType(aMIMEType);
-+ if (!caps) {
- return nullptr;
- }
-
-- GstCaps* caps = gst_caps_from_string(capsString);
- /* container only */
- if (!aCodecs) {
- return caps;
-@@ -141,11 +183,11 @@ GstCaps* GStreamerFormatHelper::ConvertF
- nsCharSeparatedTokenizer tokenizer(*aCodecs, ',');
- while (tokenizer.hasMoreTokens()) {
- const nsSubstring& codec = tokenizer.nextToken();
-- capsString = nullptr;
-+ const char *capsString = nullptr;
-
-- for (i = 0; i < G_N_ELEMENTS(mCodecs); i++) {
-- if (codec.EqualsASCII(ENTRY_FORMAT(mCodecs[i]))) {
-- capsString = ENTRY_CAPS(mCodecs[i]);
-+ for (i = 0; i < G_N_ELEMENTS(sCodecs); i++) {
-+ if (codec.EqualsASCII(ENTRY_FORMAT(sCodecs[i]))) {
-+ capsString = ENTRY_CAPS(sCodecs[i]);
- break;
- }
- }
diff --git a/mail/thunderbird/patches/patch-mozilla_content_svg_content_src_SVGComponentTransferFunctionElement.h b/mail/thunderbird/patches/patch-mozilla_content_svg_content_src_SVGComponentTransferFunctionElement.h
deleted file mode 100644
index 429243b3921..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_content_svg_content_src_SVGComponentTransferFunctionElement.h
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD: patch-mozilla_content_svg_content_src_SVGComponentTransferFunctionElement.h,v 1.1 2014/05/19 10:52:28 joerg Exp $
-
---- mozilla/content/svg/content/src/SVGComponentTransferFunctionElement.h.orig 2014-05-16 17:37:38.000000000 +0000
-+++ mozilla/content/svg/content/src/SVGComponentTransferFunctionElement.h
-@@ -73,6 +73,7 @@ protected:
- static nsSVGEnumMapping sTypeMap[];
- static EnumInfo sEnumInfo[1];
- };
-+NS_DEFINE_STATIC_IID_ACCESSOR(SVGComponentTransferFunctionElement, NS_SVG_FE_COMPONENT_TRANSFER_FUNCTION_ELEMENT_CID)
-
- } // namespace dom
- } // namespace mozilla
diff --git a/mail/thunderbird/patches/patch-mozilla_content_svg_content_src_nsSVGFilters.cpp b/mail/thunderbird/patches/patch-mozilla_content_svg_content_src_nsSVGFilters.cpp
deleted file mode 100644
index b48d1119ec0..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_content_svg_content_src_nsSVGFilters.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD: patch-mozilla_content_svg_content_src_nsSVGFilters.cpp,v 1.1 2014/05/19 10:52:28 joerg Exp $
-
---- mozilla/content/svg/content/src/nsSVGFilters.cpp.orig 2014-04-24 16:26:42.000000000 +0000
-+++ mozilla/content/svg/content/src/nsSVGFilters.cpp
-@@ -95,7 +95,7 @@ nsSVGElement::LengthInfo nsSVGFE::sLengt
- NS_IMPL_ADDREF_INHERITED(nsSVGFE,nsSVGFEBase)
- NS_IMPL_RELEASE_INHERITED(nsSVGFE,nsSVGFEBase)
-
--NS_DEFINE_STATIC_IID_ACCESSOR(nsSVGFE, NS_SVG_FE_CID)
-+//NS_DEFINE_STATIC_IID_ACCESSOR(nsSVGFE, NS_SVG_FE_CID)
-
- NS_INTERFACE_MAP_BEGIN(nsSVGFE)
- // nsISupports is an ambiguous base of nsSVGFE so we have to work
-@@ -357,8 +357,6 @@ nsSVGElement::EnumInfo SVGComponentTrans
- NS_IMPL_ADDREF_INHERITED(SVGComponentTransferFunctionElement,SVGComponentTransferFunctionElementBase)
- NS_IMPL_RELEASE_INHERITED(SVGComponentTransferFunctionElement,SVGComponentTransferFunctionElementBase)
-
--NS_DEFINE_STATIC_IID_ACCESSOR(SVGComponentTransferFunctionElement, NS_SVG_FE_COMPONENT_TRANSFER_FUNCTION_ELEMENT_CID)
--
- NS_INTERFACE_MAP_BEGIN(SVGComponentTransferFunctionElement)
- // nsISupports is an ambiguous base of nsSVGFE so we have to work
- // around that
diff --git a/mail/thunderbird/patches/patch-mozilla_content_svg_content_src_nsSVGFilters.h b/mail/thunderbird/patches/patch-mozilla_content_svg_content_src_nsSVGFilters.h
deleted file mode 100644
index e84412e167a..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_content_svg_content_src_nsSVGFilters.h
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-mozilla_content_svg_content_src_nsSVGFilters.h,v 1.1 2014/05/19 10:52:28 joerg Exp $
-
---- mozilla/content/svg/content/src/nsSVGFilters.h.orig 2014-04-24 16:26:42.000000000 +0000
-+++ mozilla/content/svg/content/src/nsSVGFilters.h
-@@ -233,6 +233,8 @@ protected:
- static LengthInfo sLengthInfo[4];
- };
-
-+NS_DEFINE_STATIC_IID_ACCESSOR(nsSVGFE, NS_SVG_FE_CID)
-+
- typedef nsSVGElement SVGFEUnstyledElementBase;
-
- class SVGFEUnstyledElement : public SVGFEUnstyledElementBase
diff --git a/mail/thunderbird/patches/patch-mozilla_dom_plugins_ipc_PluginProcessChild.cpp b/mail/thunderbird/patches/patch-mozilla_dom_plugins_ipc_PluginProcessChild.cpp
new file mode 100644
index 00000000000..b5e8d69cb5c
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_dom_plugins_ipc_PluginProcessChild.cpp
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_dom_plugins_ipc_PluginProcessChild.cpp,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/dom/plugins/ipc/PluginProcessChild.cpp.orig 2014-07-18 00:05:16.000000000 +0000
++++ mozilla/dom/plugins/ipc/PluginProcessChild.cpp
+@@ -42,7 +42,7 @@ namespace plugins {
+ bool
+ PluginProcessChild::Init()
+ {
+-#if defined(XP_MACOSX)
++#if defined(MOZ_WIDGET_COCOA)
+ // Remove the trigger for "dyld interposing" that we added in
+ // GeckoChildProcessHost::PerformAsyncLaunchInternal(), in the host
+ // process just before we were launched. Dyld interposing will still
diff --git a/mail/thunderbird/patches/patch-mozilla_dom_system_OSFileConstants.cpp b/mail/thunderbird/patches/patch-mozilla_dom_system_OSFileConstants.cpp
new file mode 100644
index 00000000000..7c1bcc355b2
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_dom_system_OSFileConstants.cpp
@@ -0,0 +1,49 @@
+$NetBSD: patch-mozilla_dom_system_OSFileConstants.cpp,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/dom/system/OSFileConstants.cpp.orig 2014-07-18 00:05:16.000000000 +0000
++++ mozilla/dom/system/OSFileConstants.cpp
+@@ -9,6 +9,10 @@
+
+ #include "prsystem.h"
+
++#if defined(__NetBSD__)
++#include <sys/param.h>
++#endif
++
+ #if defined(XP_UNIX)
+ #include "unistd.h"
+ #include "dirent.h"
+@@ -26,9 +30,9 @@
+ #include <linux/fadvise.h>
+ #endif // defined(XP_LINUX)
+
+-#if defined(XP_MACOSX)
++#if defined(XP_DARWIN)
+ #include "copyfile.h"
+-#endif // defined(XP_MACOSX)
++#endif // defined(XP_DARWIN)
+
+ #if defined(XP_WIN)
+ #include <windows.h>
+@@ -564,10 +568,10 @@ static const dom::ConstantSpec gLibcProp
+ // The size of |fsblkcnt_t|.
+ { "OSFILE_SIZEOF_FSBLKCNT_T", INT_TO_JSVAL(sizeof (fsblkcnt_t)) },
+
+-#if !defined(ANDROID)
++#if !defined(ANDROID) && (defined(__NetBSD_) && (__NetBSD_Version__ < 600000000))
+ // The size of |posix_spawn_file_actions_t|.
+ { "OSFILE_SIZEOF_POSIX_SPAWN_FILE_ACTIONS_T", INT_TO_JSVAL(sizeof (posix_spawn_file_actions_t)) },
+-#endif // !defined(ANDROID)
++#endif // !defined(ANDROID) && NetBSD 5.*
+
+ // Defining |dirent|.
+ // Size
+@@ -627,7 +631,7 @@ static const dom::ConstantSpec gLibcProp
+
+ { "OSFILE_SIZEOF_STATVFS", INT_TO_JSVAL(sizeof (struct statvfs)) },
+
+- { "OSFILE_OFFSETOF_STATVFS_F_BSIZE", INT_TO_JSVAL(offsetof (struct statvfs, f_bsize)) },
++ { "OSFILE_OFFSETOF_STATVFS_F_FRSIZE", INT_TO_JSVAL(offsetof (struct statvfs, f_frsize)) },
+ { "OSFILE_OFFSETOF_STATVFS_F_BAVAIL", INT_TO_JSVAL(offsetof (struct statvfs, f_bavail)) },
+
+ #endif // defined(XP_UNIX)
diff --git a/mail/thunderbird/patches/patch-mozilla_extensions_auth_nsAuthGSSAPI.cpp b/mail/thunderbird/patches/patch-mozilla_extensions_auth_nsAuthGSSAPI.cpp
deleted file mode 100644
index 34fc51c512b..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_extensions_auth_nsAuthGSSAPI.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD: patch-mozilla_extensions_auth_nsAuthGSSAPI.cpp,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/extensions/auth/nsAuthGSSAPI.cpp.orig 2013-10-23 22:08:56.000000000 +0000
-+++ mozilla/extensions/auth/nsAuthGSSAPI.cpp
-@@ -40,6 +40,9 @@ typedef KLStatus (*KLCacheHasValidTicket
- #endif
-
- #if defined(HAVE_RES_NINIT)
-+#include <sys/types.h>
-+#include <netinet/in.h>
-+#include <arpa/nameser.h>
- #include <resolv.h>
- #endif
-
diff --git a/mail/thunderbird/patches/patch-mozilla_gfx_moz.build b/mail/thunderbird/patches/patch-mozilla_gfx_moz.build
new file mode 100644
index 00000000000..5a9c35fdd23
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_gfx_moz.build
@@ -0,0 +1,26 @@
+$NetBSD: patch-mozilla_gfx_moz.build,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/gfx/moz.build.orig 2014-07-18 00:05:20.000000000 +0000
++++ mozilla/gfx/moz.build
+@@ -7,6 +7,12 @@
+ if CONFIG['MOZ_TREE_CAIRO']:
+ DIRS += ['cairo']
+
++if not CONFIG['MOZ_NATIVE_GRAPHITE2']:
++ DIRS += ['graphite2/src' ]
++
++if not CONFIG['MOZ_NATIVE_HARFBUZZ']:
++ DIRS += ['harfbuzz/src']
++
+ DIRS += [
+ '2d',
+ 'ycbcr',
+@@ -15,8 +21,6 @@ DIRS += [
+ 'qcms',
+ 'gl',
+ 'layers',
+- 'graphite2/src',
+- 'harfbuzz/src',
+ 'ots/src',
+ 'thebes',
+ 'ipc',
diff --git a/mail/thunderbird/patches/patch-mozilla_gfx_skia_Makefile.in b/mail/thunderbird/patches/patch-mozilla_gfx_skia_Makefile.in
new file mode 100644
index 00000000000..d3421c366c5
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_gfx_skia_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-mozilla_gfx_skia_Makefile.in,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/gfx/skia/Makefile.in.orig 2014-07-18 00:05:20.000000000 +0000
++++ mozilla/gfx/skia/Makefile.in
+@@ -15,6 +15,10 @@ ifeq (qt,$(MOZ_WIDGET_TOOLKIT))
+ OS_CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PANGO_CFLAGS) $(CAIRO_FT_CFLAGS)
+ endif
+
++ifdef MOZ_NATIVE_HARFBUZZ
++OS_CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
++endif
++
+ include $(topsrcdir)/config/rules.mk
+
+ ifeq ($(CPU_ARCH)_$(GNU_CC),arm_1)
diff --git a/mail/thunderbird/patches/patch-mozilla_gfx_skia_include_core_SkPreConfig.h b/mail/thunderbird/patches/patch-mozilla_gfx_skia_include_core_SkPreConfig.h
deleted file mode 100644
index a3a4278747e..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_gfx_skia_include_core_SkPreConfig.h
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-mozilla_gfx_skia_include_core_SkPreConfig.h,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/gfx/skia/include/core/SkPreConfig.h.orig 2013-10-23 22:08:57.000000000 +0000
-+++ mozilla/gfx/skia/include/core/SkPreConfig.h
-@@ -94,7 +94,7 @@
- //////////////////////////////////////////////////////////////////////
-
- #if !defined(SK_CPU_BENDIAN) && !defined(SK_CPU_LENDIAN)
--#if defined (__ppc__) || defined(__PPC__) || defined(__ppc64__) || defined(__PPC64__)
-+#if defined (__ppc__) || defined(__PPC__) || defined(__ppc64__) || defined(__PPC64__) || defined(__sparc) || defined(__sparc__)
- #define SK_CPU_BENDIAN
- #else
- #define SK_CPU_LENDIAN
diff --git a/mail/thunderbird/patches/patch-mozilla_gfx_skia_moz.build b/mail/thunderbird/patches/patch-mozilla_gfx_skia_moz.build
deleted file mode 100644
index 4ef553728b0..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_gfx_skia_moz.build
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD: patch-mozilla_gfx_skia_moz.build,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/gfx/skia/moz.build.orig 2013-10-23 22:08:57.000000000 +0000
-+++ mozilla/gfx/skia/moz.build
-@@ -188,10 +188,9 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt
- 'SkMMapStream.cpp',
- 'SkOSFile.cpp',
- ]
-- if CONFIG['OS_TARGET'] == 'Linux':
-+ if CONFIG['MOZ_X11'] == 1 or CONFIG['OS_TARGET'] == 'Linux':
- CPP_SOURCES += [
- 'SkFontHost_linux.cpp',
-- 'SkFontHost_tables.cpp',
- 'SkThread_pthread.cpp',
- 'SkTime_Unix.cpp',
- ]
diff --git a/mail/thunderbird/patches/patch-mozilla_gfx_skia_src_sfnt_SkOTTable__head.h b/mail/thunderbird/patches/patch-mozilla_gfx_skia_src_sfnt_SkOTTable__head.h
deleted file mode 100644
index 3ee75ae539a..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_gfx_skia_src_sfnt_SkOTTable__head.h
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD: patch-mozilla_gfx_skia_src_sfnt_SkOTTable__head.h,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/gfx/skia/src/sfnt/SkOTTable_head.h.orig 2013-10-23 22:08:57.000000000 +0000
-+++ mozilla/gfx/skia/src/sfnt/SkOTTable_head.h
-@@ -12,7 +12,7 @@
- #include "SkOTTableTypes.h"
- #include "SkTypedEnum.h"
-
--#pragma pack(push, 1)
-+#pragma pack(1)
-
- struct SkOTTableHead {
- static const SK_OT_CHAR TAG0 = 'h';
-@@ -140,7 +140,7 @@ struct SkOTTableHead {
- } glyphDataFormat;
- };
-
--#pragma pack(pop)
-+#pragma pack()
-
-
- #include <stddef.h>
diff --git a/mail/thunderbird/patches/patch-mozilla_gfx_skia_src_sfnt_SkOTTable__name.h b/mail/thunderbird/patches/patch-mozilla_gfx_skia_src_sfnt_SkOTTable__name.h
deleted file mode 100644
index 66370a3b7ac..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_gfx_skia_src_sfnt_SkOTTable__name.h
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD: patch-mozilla_gfx_skia_src_sfnt_SkOTTable__name.h,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/gfx/skia/src/sfnt/SkOTTable_name.h.orig 2013-10-23 22:08:57.000000000 +0000
-+++ mozilla/gfx/skia/src/sfnt/SkOTTable_name.h
-@@ -12,7 +12,7 @@
- #include "SkOTTableTypes.h"
- #include "SkTypedEnum.h"
-
--#pragma pack(push, 1)
-+#pragma pack(1)
-
- struct SkOTTableName {
- static const SK_OT_CHAR TAG0 = 'n';
-@@ -499,7 +499,7 @@ struct SkOTTableNameRecord {
- SK_OT_USHORT offset; //From start of storage area.
- };
-
--#pragma pack(pop)
-+#pragma pack()
-
-
- SK_COMPILE_ASSERT(sizeof(SkOTTableName) == 6, sizeof_SkOTTableName_not_6);
diff --git a/mail/thunderbird/patches/patch-mozilla_gfx_skia_src_sfnt_SkSFNTHeader.h b/mail/thunderbird/patches/patch-mozilla_gfx_skia_src_sfnt_SkSFNTHeader.h
deleted file mode 100644
index 6816635b168..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_gfx_skia_src_sfnt_SkSFNTHeader.h
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD: patch-mozilla_gfx_skia_src_sfnt_SkSFNTHeader.h,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/gfx/skia/src/sfnt/SkSFNTHeader.h.orig 2013-10-23 22:08:57.000000000 +0000
-+++ mozilla/gfx/skia/src/sfnt/SkSFNTHeader.h
-@@ -15,7 +15,7 @@
- typedef uint16_t SK_SFNT_USHORT;
- typedef uint32_t SK_SFNT_ULONG;
-
--#pragma pack(push, 1)
-+#pragma pack(1)
-
- struct SkSFNTHeader {
- SK_SFNT_ULONG fontType;
-@@ -61,7 +61,7 @@ struct SkSFNTTableDirectoryEntry {
- SK_SFNT_ULONG logicalLength;
- };
-
--#pragma pack(pop)
-+#pragma pack()
-
-
- SK_COMPILE_ASSERT(sizeof(SkSFNTHeader) == 12, sizeof_SkSFNTHeader_not_12);
diff --git a/mail/thunderbird/patches/patch-mozilla_gfx_thebes_Makefile.in b/mail/thunderbird/patches/patch-mozilla_gfx_thebes_Makefile.in
new file mode 100644
index 00000000000..b089cd967f8
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_gfx_thebes_Makefile.in
@@ -0,0 +1,19 @@
+$NetBSD: patch-mozilla_gfx_thebes_Makefile.in,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/gfx/thebes/Makefile.in.orig 2014-07-18 00:05:21.000000000 +0000
++++ mozilla/gfx/thebes/Makefile.in
+@@ -13,6 +13,14 @@ DEFINES := $(filter-out -DUNICODE,$(DEFI
+ CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
+ CFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
+
++ifdef MOZ_NATIVE_GRAPHITE2
++CXXFLAGS += $(MOZ_GRAPHITE2_CFLAGS)
++endif
++
++ifdef MOZ_NATIVE_HARFBUZZ
++CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
++endif
++
+ ifeq ($(MOZ_WIDGET_TOOLKIT),android)
+ CXXFLAGS += $(CAIRO_FT_CFLAGS)
+ endif
diff --git a/mail/thunderbird/patches/patch-mozilla_intl_unicharutil_util_Makefile.in b/mail/thunderbird/patches/patch-mozilla_intl_unicharutil_util_Makefile.in
new file mode 100644
index 00000000000..2fb13d19973
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_intl_unicharutil_util_Makefile.in
@@ -0,0 +1,12 @@
+$NetBSD: patch-mozilla_intl_unicharutil_util_Makefile.in,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/intl/unicharutil/util/Makefile.in.orig 2014-07-18 00:05:24.000000000 +0000
++++ mozilla/intl/unicharutil/util/Makefile.in
+@@ -21,3 +21,7 @@ ifdef _MSC_VER
+ OS_COMPILE_CXXFLAGS += -Zl
+ OS_COMPILE_CFLAGS += -Zl
+ endif
++
++ifdef MOZ_NATIVE_HARFBUZZ
++CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
++endif
diff --git a/mail/thunderbird/patches/patch-mozilla_ios b/mail/thunderbird/patches/patch-mozilla_ios
new file mode 100644
index 00000000000..ed5b21233bf
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_ios
@@ -0,0 +1,8 @@
+$NetBSD: patch-mozilla_ios,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/ios.orig 2014-07-27 06:20:09.000000000 +0000
++++ mozilla/ios
+@@ -0,0 +1,3 @@
++#pragma GCC visibility push(default)
++#include_next <ios>
++#pragma GCC visibility pop
diff --git a/mail/thunderbird/patches/patch-mozilla_ipc_chromium_Makefile.in b/mail/thunderbird/patches/patch-mozilla_ipc_chromium_Makefile.in
index 6148ca11917..cce531d227d 100644
--- a/mail/thunderbird/patches/patch-mozilla_ipc_chromium_Makefile.in
+++ b/mail/thunderbird/patches/patch-mozilla_ipc_chromium_Makefile.in
@@ -1,49 +1,13 @@
-$NetBSD: patch-mozilla_ipc_chromium_Makefile.in,v 1.5 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mozilla_ipc_chromium_Makefile.in,v 1.6 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/ipc/chromium/Makefile.in.orig 2013-10-23 22:09:00.000000000 +0000
+--- mozilla/ipc/chromium/Makefile.in.orig 2014-07-18 00:05:24.000000000 +0000
+++ mozilla/ipc/chromium/Makefile.in
-@@ -23,9 +23,7 @@ vpath %.c \
- $(srcdir)/src/third_party/libevent \
- $(NULL)
- else # } else {
--# message_pump_libevent.cc includes third_party/libevent/event.h,
--# which we put in $(DIST), see export rule below
--LOCAL_INCLUDES += -I$(DIST)
-+LOCAL_INCLUDES += $(filter %/compat, $(MOZ_LIBEVENT_CFLAGS))
- endif # }
-
- vpath %.cc \
-@@ -68,6 +66,33 @@ CMMSRCS += \
+@@ -28,6 +28,8 @@ include $(topsrcdir)/config/rules.mk
- endif # } OS_MACOSX
+ ifdef MOZ_NATIVE_LIBEVENT # {
-+ifdef OS_SOLARIS # {
-+
-+CPPSRCS += \
-+ atomicops_internals_x86_gcc.cc \
-+ process_util_linux.cc \
-+ time_posix.cc \
-+ $(NULL)
-+
-+ifdef MOZ_ENABLE_GTK2
-+CPPSRCS += \
-+ message_pump_glib.cc \
-+ $(NULL)
-+endif
-+
-+ifdef MOZ_ENABLE_QT
-+MOCSRCS = \
-+ moc_message_pump_qt.cc \
-+ $(NULL)
++OS_CPPFLAGS += $(filter %/compat, $(MOZ_LIBEVENT_CFLAGS))
+
-+CPPSRCS += \
-+ $(MOCSRCS) \
-+ message_pump_qt.cc \
-+ $(NULL)
-+endif
-+
-+endif # } OS_SOLARIS
-+
- # libevent
-
- ifndef MOZ_NATIVE_LIBEVENT # {
+ export-preqs = \
+ $(call mkdir_deps,$(CURDIR)/third_party/libevent) \
+ $(NULL)
diff --git a/mail/thunderbird/patches/patch-mozilla_ipc_chromium_chromium-config.mk b/mail/thunderbird/patches/patch-mozilla_ipc_chromium_chromium-config.mk
deleted file mode 100644
index 10c50a83d47..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_ipc_chromium_chromium-config.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD: patch-mozilla_ipc_chromium_chromium-config.mk,v 1.4 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/ipc/chromium/chromium-config.mk.orig 2013-10-23 22:09:00.000000000 +0000
-+++ mozilla/ipc/chromium/chromium-config.mk
-@@ -103,6 +103,14 @@ DEFINES += \
- $(NULL)
-
- else # } {
-+ifeq ($(OS_ARCH),SunOS) # {
-+
-+OS_SOLARIS = 1
-+DEFINES += \
-+ -DOS_SOLARIS=1 \
-+ $(NULL)
-+
-+else # } {
-
- OS_LINUX = 1
- DEFINES += \
-@@ -115,4 +123,5 @@ endif # }
- endif # }
- endif # }
- endif # }
-+endif # }
-
diff --git a/mail/thunderbird/patches/patch-mozilla_ipc_chromium_moz.build b/mail/thunderbird/patches/patch-mozilla_ipc_chromium_moz.build
new file mode 100644
index 00000000000..e96fbc745af
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_ipc_chromium_moz.build
@@ -0,0 +1,16 @@
+$NetBSD: patch-mozilla_ipc_chromium_moz.build,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/ipc/chromium/moz.build.orig 2014-07-18 00:05:24.000000000 +0000
++++ mozilla/ipc/chromium/moz.build
+@@ -19,7 +19,10 @@ if CONFIG['OS_ARCH'] == 'WINNT':
+ else:
+ os_posix = 1
+ if CONFIG['OS_ARCH'] == 'Darwin':
+- os_macosx = 1
++ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
++ os_macosx = 1
++ else:
++ os_bsd = 1
+ elif CONFIG['OS_ARCH'] == 'DragonFly':
+ os_dragonfly = 1
+ os_bsd = 1
diff --git a/mail/thunderbird/patches/patch-mozilla_ipc_chromium_src_base_file__util.h b/mail/thunderbird/patches/patch-mozilla_ipc_chromium_src_base_file__util.h
index 57ee61dce36..45b8f4ca77f 100644
--- a/mail/thunderbird/patches/patch-mozilla_ipc_chromium_src_base_file__util.h
+++ b/mail/thunderbird/patches/patch-mozilla_ipc_chromium_src_base_file__util.h
@@ -1,6 +1,6 @@
-$NetBSD: patch-mozilla_ipc_chromium_src_base_file__util.h,v 1.1 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mozilla_ipc_chromium_src_base_file__util.h,v 1.2 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/ipc/chromium/src/base/file_util.h.orig 2013-10-23 22:09:00.000000000 +0000
+--- mozilla/ipc/chromium/src/base/file_util.h.orig 2014-07-18 00:05:24.000000000 +0000
+++ mozilla/ipc/chromium/src/base/file_util.h
@@ -16,7 +16,9 @@
#include <sys/stat.h>
@@ -12,12 +12,3 @@ $NetBSD: patch-mozilla_ipc_chromium_src_base_file__util.h,v 1.1 2013/11/12 20:50
#include <sys/stat.h>
#endif
-@@ -466,7 +468,7 @@ class FileEnumerator {
- #if defined(OS_WIN)
- WIN32_FIND_DATA find_data_;
- HANDLE find_handle_;
--#elif defined(ANDROID)
-+#elif defined(ANDROID) || defined(OS_SOLARIS)
- void *fts_;
- #elif defined(OS_POSIX)
- FTS* fts_;
diff --git a/mail/thunderbird/patches/patch-mozilla_ipc_chromium_src_base_file__version__info.h b/mail/thunderbird/patches/patch-mozilla_ipc_chromium_src_base_file__version__info.h
deleted file mode 100644
index d3f12f79a8f..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_ipc_chromium_src_base_file__version__info.h
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-mozilla_ipc_chromium_src_base_file__version__info.h,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/ipc/chromium/src/base/file_version_info.h.orig 2013-10-23 22:09:00.000000000 +0000
-+++ mozilla/ipc/chromium/src/base/file_version_info.h
-@@ -86,7 +86,7 @@ class FileVersionInfo {
- explicit FileVersionInfo(NSBundle *bundle);
-
- NSBundle *bundle_;
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_SOLARIS)
- FileVersionInfo();
- #endif
-
diff --git a/mail/thunderbird/patches/patch-mozilla_ipc_chromium_src_base_message__loop.cc b/mail/thunderbird/patches/patch-mozilla_ipc_chromium_src_base_message__loop.cc
new file mode 100644
index 00000000000..b9d588fb2dc
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_ipc_chromium_src_base_message__loop.cc
@@ -0,0 +1,38 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_message__loop.cc,v 1.5 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/message_loop.cc.orig 2014-07-18 00:05:24.000000000 +0000
++++ mozilla/ipc/chromium/src/base/message_loop.cc
+@@ -14,20 +14,18 @@
+ #include "base/string_util.h"
+ #include "base/thread_local.h"
+
+-#if defined(OS_MACOSX)
++#if defined(MOZ_WIDGET_COCOA)
+ #include "base/message_pump_mac.h"
+ #endif
+ #if defined(OS_POSIX)
+ #include "base/message_pump_libevent.h"
+ #endif
+-#if defined(OS_LINUX) || defined(OS_BSD)
+ #if defined(MOZ_WIDGET_GTK)
+ #include "base/message_pump_glib.h"
+ #endif
+ #ifdef MOZ_WIDGET_QT
+ #include "base/message_pump_qt.h"
+ #endif
+-#endif
+ #ifdef ANDROID
+ #include "base/message_pump_android.h"
+ #endif
+@@ -138,9 +136,9 @@ MessageLoop::MessageLoop(Type type)
+ }
+ #elif defined(OS_POSIX)
+ if (type_ == TYPE_UI) {
+-#if defined(OS_MACOSX)
++#if defined(MOZ_WIDGET_COCOA)
+ pump_ = base::MessagePumpMac::Create();
+-#elif defined(OS_LINUX) || defined(OS_BSD)
++#elif defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_QT)
+ pump_ = new base::MessagePumpForUI();
+ #endif // OS_LINUX
+ } else if (type_ == TYPE_IO) {
diff --git a/mail/thunderbird/patches/patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc b/mail/thunderbird/patches/patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc
new file mode 100644
index 00000000000..aed0ff671b0
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc
@@ -0,0 +1,163 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc,v 1.8 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/process_util_bsd.cc.orig 2014-07-18 00:05:24.000000000 +0000
++++ mozilla/ipc/chromium/src/base/process_util_bsd.cc
+@@ -15,7 +15,9 @@
+
+ #include <ctype.h>
+ #include <fcntl.h>
++#if defined(OS_BSD)
+ #include <kvm.h>
++#endif
+ #include <unistd.h>
+
+ #include <string>
+@@ -311,6 +313,141 @@ void SetCurrentProcessPrivileges(ChildPr
+
+ #endif
+
++#if defined(OS_MACOSX)
++NamedProcessIterator::NamedProcessIterator(const std::wstring& executable_name,
++ const ProcessFilter* filter)
++ : executable_name_(executable_name),
++ index_of_kinfo_proc_(0),
++ filter_(filter) {
++ // Get a snapshot of all of my processes (yes, as we loop it can go stale, but
++ // but trying to find where we were in a constantly changing list is basically
++ // impossible.
++
++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_UID, int(geteuid()) };
++
++ // Since more processes could start between when we get the size and when
++ // we get the list, we do a loop to keep trying until we get it.
++ bool done = false;
++ int try_num = 1;
++ const int max_tries = 10;
++ do {
++ // Get the size of the buffer
++ size_t len = 0;
++ if (sysctl(mib, arraysize(mib), NULL, &len, NULL, 0) < 0) {
++ CHROMIUM_LOG(ERROR) << "failed to get the size needed for the process list";
++ kinfo_procs_.resize(0);
++ done = true;
++ } else {
++ size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc);
++ // Leave some spare room for process table growth (more could show up
++ // between when we check and now)
++ num_of_kinfo_proc += 4;
++ kinfo_procs_.resize(num_of_kinfo_proc);
++ len = num_of_kinfo_proc * sizeof(struct kinfo_proc);
++ // Load the list of processes
++ if (sysctl(mib, arraysize(mib), &kinfo_procs_[0], &len, NULL, 0) < 0) {
++ // If we get a mem error, it just means we need a bigger buffer, so
++ // loop around again. Anything else is a real error and give up.
++ if (errno != ENOMEM) {
++ CHROMIUM_LOG(ERROR) << "failed to get the process list";
++ kinfo_procs_.resize(0);
++ done = true;
++ }
++ } else {
++ // Got the list, just make sure we're sized exactly right
++ size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc);
++ kinfo_procs_.resize(num_of_kinfo_proc);
++ done = true;
++ }
++ }
++ } while (!done && (try_num++ < max_tries));
++
++ if (!done) {
++ CHROMIUM_LOG(ERROR) << "failed to collect the process list in a few tries";
++ kinfo_procs_.resize(0);
++ }
++}
++
++NamedProcessIterator::~NamedProcessIterator() {
++}
++
++const ProcessEntry* NamedProcessIterator::NextProcessEntry() {
++ bool result = false;
++ do {
++ result = CheckForNextProcess();
++ } while (result && !IncludeEntry());
++
++ if (result) {
++ return &entry_;
++ }
++
++ return NULL;
++}
++
++bool NamedProcessIterator::CheckForNextProcess() {
++ std::string executable_name_utf8(WideToUTF8(executable_name_));
++
++ std::string data;
++ std::string exec_name;
++
++ for (; index_of_kinfo_proc_ < kinfo_procs_.size(); ++index_of_kinfo_proc_) {
++ kinfo_proc* kinfo = &kinfo_procs_[index_of_kinfo_proc_];
++
++ // Skip processes just awaiting collection
++ if ((kinfo->kp_proc.p_pid > 0) && (kinfo->kp_proc.p_stat == SZOMB))
++ continue;
++
++ int mib[] = { CTL_KERN, KERN_PROCARGS, kinfo->kp_proc.p_pid };
++
++ // Found out what size buffer we need
++ size_t data_len = 0;
++ if (sysctl(mib, arraysize(mib), NULL, &data_len, NULL, 0) < 0) {
++ CHROMIUM_LOG(ERROR) << "failed to figure out the buffer size for a commandline";
++ continue;
++ }
++
++ data.resize(data_len);
++ if (sysctl(mib, arraysize(mib), &data[0], &data_len, NULL, 0) < 0) {
++ CHROMIUM_LOG(ERROR) << "failed to fetch a commandline";
++ continue;
++ }
++
++ // Data starts w/ the full path null termed, so we have to extract just the
++ // executable name from the path.
++
++ size_t exec_name_end = data.find('\0');
++ if (exec_name_end == std::string::npos) {
++ CHROMIUM_LOG(ERROR) << "command line data didn't match expected format";
++ continue;
++ }
++ size_t last_slash = data.rfind('/', exec_name_end);
++ if (last_slash == std::string::npos)
++ exec_name = data.substr(0, exec_name_end);
++ else
++ exec_name = data.substr(last_slash + 1, exec_name_end - last_slash - 1);
++
++ // Check the name
++ if (executable_name_utf8 == exec_name) {
++ entry_.pid = kinfo->kp_proc.p_pid;
++ entry_.ppid = kinfo->kp_eproc.e_ppid;
++ base::strlcpy(entry_.szExeFile, exec_name.c_str(),
++ sizeof(entry_.szExeFile));
++ // Start w/ the next entry next time through
++ ++index_of_kinfo_proc_;
++ // Done
++ return true;
++ }
++ }
++ return false;
++}
++
++bool NamedProcessIterator::IncludeEntry() {
++ // Don't need to check the name, we did that w/in CheckForNextProcess.
++ if (!filter_)
++ return true;
++ return filter_->Includes(entry_.pid, entry_.ppid);
++}
++#else
+ NamedProcessIterator::NamedProcessIterator(const std::wstring& executable_name,
+ const ProcessFilter* filter)
+ {
+@@ -370,5 +507,6 @@ const ProcessEntry* NamedProcessIterator
+ if (nextEntry >= content.size()) return NULL;
+ return &content[nextEntry++];
+ }
++#endif
+
+ } // namespace base
diff --git a/mail/thunderbird/patches/patch-mozilla_ipc_chromium_src_base_scoped__nsautorelease__pool.h b/mail/thunderbird/patches/patch-mozilla_ipc_chromium_src_base_scoped__nsautorelease__pool.h
new file mode 100644
index 00000000000..00727cebed9
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_ipc_chromium_src_base_scoped__nsautorelease__pool.h
@@ -0,0 +1,42 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_scoped__nsautorelease__pool.h,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/scoped_nsautorelease_pool.h.orig 2014-07-18 00:05:24.000000000 +0000
++++ mozilla/ipc/chromium/src/base/scoped_nsautorelease_pool.h
+@@ -7,13 +7,13 @@
+
+ #include "base/basictypes.h"
+
+-#if defined(OS_MACOSX)
++#if defined(MOZ_WIDGET_COCOA)
+ #if defined(__OBJC__)
+ @class NSAutoreleasePool;
+ #else // __OBJC__
+ class NSAutoreleasePool;
+ #endif // __OBJC__
+-#endif // OS_MACOSX
++#endif // MOZ_WIDGET_COCOA
+
+ namespace base {
+
+@@ -27,10 +27,10 @@ namespace base {
+ // ugly #ifdefs.
+ class ScopedNSAutoreleasePool {
+ public:
+-#if !defined(OS_MACOSX)
++#if !defined(MOZ_WIDGET_COCOA)
+ ScopedNSAutoreleasePool() {}
+ void Recycle() { }
+-#else // OS_MACOSX
++#else // MOZ_WIDGET_COCOA
+ ScopedNSAutoreleasePool();
+ ~ScopedNSAutoreleasePool();
+
+@@ -41,7 +41,7 @@ class ScopedNSAutoreleasePool {
+ void Recycle();
+ private:
+ NSAutoreleasePool* autorelease_pool_;
+-#endif // OS_MACOSX
++#endif // MOZ_WIDGET_COCOA
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(ScopedNSAutoreleasePool);
diff --git a/mail/thunderbird/patches/patch-mozilla_ipc_glue_AsyncChannel.cpp b/mail/thunderbird/patches/patch-mozilla_ipc_glue_AsyncChannel.cpp
deleted file mode 100644
index 314a43779b0..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_ipc_glue_AsyncChannel.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD: patch-mozilla_ipc_glue_AsyncChannel.cpp,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/ipc/glue/AsyncChannel.cpp.orig 2013-10-23 22:09:00.000000000 +0000
-+++ mozilla/ipc/glue/AsyncChannel.cpp
-@@ -709,7 +709,7 @@ AsyncChannel::ProcessLink::OnChannelOpen
- mExistingListener = mTransport->set_listener(this);
- #ifdef DEBUG
- if (mExistingListener) {
-- queue<Message> pending;
-+ std::queue<Message> pending;
- mExistingListener->GetQueuedMessages(pending);
- MOZ_ASSERT(pending.empty());
- }
-@@ -726,7 +726,7 @@ AsyncChannel::ProcessLink::OnTakeConnect
- {
- AssertIOThread();
-
-- queue<Message> pending;
-+ std::queue<Message> pending;
- {
- MonitorAutoLock lock(*mChan->mMonitor);
-
diff --git a/mail/thunderbird/patches/patch-mozilla_ipc_glue_ScopedXREEmbed.cpp b/mail/thunderbird/patches/patch-mozilla_ipc_glue_ScopedXREEmbed.cpp
new file mode 100644
index 00000000000..7921d061214
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_ipc_glue_ScopedXREEmbed.cpp
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_ipc_glue_ScopedXREEmbed.cpp,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/ipc/glue/ScopedXREEmbed.cpp.orig 2014-07-18 00:05:24.000000000 +0000
++++ mozilla/ipc/glue/ScopedXREEmbed.cpp
+@@ -66,7 +66,7 @@ ScopedXREEmbed::Start()
+ localFile = do_QueryInterface(parent);
+ NS_ENSURE_TRUE_VOID(localFile);
+
+-#ifdef OS_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ if (XRE_GetProcessType() == GeckoProcessType_Content) {
+ // We're an XPCOM-using subprocess. Walk out of
+ // [subprocess].app/Contents/MacOS to the real GRE dir.
diff --git a/mail/thunderbird/patches/patch-mozilla_ipc_glue_StringUtil.cpp b/mail/thunderbird/patches/patch-mozilla_ipc_glue_StringUtil.cpp
new file mode 100644
index 00000000000..bda2bfabd45
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_ipc_glue_StringUtil.cpp
@@ -0,0 +1,21 @@
+$NetBSD: patch-mozilla_ipc_glue_StringUtil.cpp,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/ipc/glue/StringUtil.cpp.orig 2014-07-18 00:05:24.000000000 +0000
++++ mozilla/ipc/glue/StringUtil.cpp
+@@ -64,14 +64,14 @@ namespace base {
+ // converters, and implementing the one that doesn't exist for OS X
+ // and Windows.
+
+-#if !defined(OS_MACOSX) && !defined(OS_WIN)
++#if !defined(MOZ_WIDGET_COCOA) && !defined(OS_WIN)
+ std::string SysWideToUTF8(const std::wstring& wide) {
+ // FIXME/cjones: do this with iconv
+ return GhettoStringConvert<std::wstring, std::string>(wide);
+ }
+ #endif
+
+-#if !defined(OS_MACOSX) && !defined(OS_WIN)
++#if !defined(MOZ_WIDGET_COCOA) && !defined(OS_WIN)
+ std::wstring SysUTF8ToWide(const StringPiece& utf8) {
+ // FIXME/cjones: do this with iconv
+ return GhettoStringConvert<StringPiece, std::wstring>(utf8);
diff --git a/mail/thunderbird/patches/patch-mozilla_ipc_ipdl_ipdl_cxx_ast.py b/mail/thunderbird/patches/patch-mozilla_ipc_ipdl_ipdl_cxx_ast.py
new file mode 100644
index 00000000000..16a29e88533
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_ipc_ipdl_ipdl_cxx_ast.py
@@ -0,0 +1,21 @@
+$NetBSD: patch-mozilla_ipc_ipdl_ipdl_cxx_ast.py,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/ipc/ipdl/ipdl/cxx/ast.py.orig 2014-07-18 00:05:24.000000000 +0000
++++ mozilla/ipc/ipdl/ipdl/cxx/ast.py
+@@ -336,12 +336,13 @@ Type.VOID = Type('void')
+ Type.VOIDPTR = Type('void', ptr=1)
+
+ class TypeArray(Node):
+- def __init__(self, basetype, nmemb):
+- '''the type |basetype DECLNAME[nmemb]|. |nmemb| is an Expr'''
++ def __init__(self, basetype, nmemb, alignType):
++ '''the type |basetype DECLNAME[nmemb]|. |nmemb| is an Expr, |alignType| is a type'''
+ self.basetype = basetype
+ self.nmemb = nmemb
++ self.alignType = alignType
+ def __deepcopy__(self, memo):
+- return TypeArray(deepcopy(self.basetype, memo), nmemb)
++ return TypeArray(deepcopy(self.basetype, memo), nmemb, alignType)
+
+ class TypeEnum(Node):
+ def __init__(self, name=None):
diff --git a/mail/thunderbird/patches/patch-mozilla_ipc_ipdl_ipdl_cxx_cgen.py b/mail/thunderbird/patches/patch-mozilla_ipc_ipdl_ipdl_cxx_cgen.py
new file mode 100644
index 00000000000..8e6b3548f25
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_ipc_ipdl_ipdl_cxx_cgen.py
@@ -0,0 +1,23 @@
+$NetBSD: patch-mozilla_ipc_ipdl_ipdl_cxx_cgen.py,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/ipc/ipdl/ipdl/cxx/cgen.py.orig 2014-07-18 00:05:24.000000000 +0000
++++ mozilla/ipc/ipdl/ipdl/cxx/cgen.py
+@@ -101,6 +101,7 @@ class CxxCodeGen(CodePrinter, Visitor):
+ def visitDecl(self, d):
+ # C-syntax arrays make code generation much more annoying
+ if isinstance(d.type, TypeArray):
++ self.write('MOZ_ALIGNED_DECL(')
+ d.type.basetype.accept(self)
+ else:
+ d.type.accept(self)
+@@ -111,7 +112,9 @@ class CxxCodeGen(CodePrinter, Visitor):
+ if isinstance(d.type, TypeArray):
+ self.write('[')
+ d.type.nmemb.accept(self)
+- self.write(']')
++ self.write('], MOZ_ALIGNOF(')
++ d.type.alignType.accept(self)
++ self.write('))')
+
+ def visitParam(self, p):
+ self.visitDecl(p)
diff --git a/mail/thunderbird/patches/patch-mozilla_ipc_ipdl_ipdl_lower.py b/mail/thunderbird/patches/patch-mozilla_ipc_ipdl_ipdl_lower.py
index 33cfaeaf314..4e2248b9635 100644
--- a/mail/thunderbird/patches/patch-mozilla_ipc_ipdl_ipdl_lower.py
+++ b/mail/thunderbird/patches/patch-mozilla_ipc_ipdl_ipdl_lower.py
@@ -1,13 +1,13 @@
-$NetBSD: patch-mozilla_ipc_ipdl_ipdl_lower.py,v 1.1 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mozilla_ipc_ipdl_ipdl_lower.py,v 1.2 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/ipc/ipdl/ipdl/lower.py.orig 2013-10-23 22:09:00.000000000 +0000
+--- mozilla/ipc/ipdl/ipdl/lower.py.orig 2014-07-18 00:05:24.000000000 +0000
+++ mozilla/ipc/ipdl/ipdl/lower.py
-@@ -1803,7 +1803,7 @@ def _generateMessageClass(md, clsname, m
- StmtExpr(ExprCall(
- ExprVar('StringAppendF'),
- args=[ ExprAddrOf(msgvar),
-- ExprLiteral.String('[time:%" PRId64 "][%d]'),
-+ ExprLiteral.String('[time:%\\" PRId64 \\"][%d]'),
- ExprCall(ExprVar('PR_Now')),
- ExprCall(ExprVar('base::GetCurrentProcId')) ])),
- appendToMsg(pfxvar),
+@@ -768,7 +768,7 @@ IPDL union type."""
+ if self.recursive:
+ return self.ptrToType()
+ else:
+- return TypeArray(Type('char'), ExprSizeof(self.internalType()))
++ return TypeArray(Type('char'), ExprSizeof(self.internalType()), self.internalType())
+
+ def unionValue(self):
+ # NB: knows that Union's storage C union is named |mValue|
diff --git a/mail/thunderbird/patches/patch-mozilla_js_src_config_Makefile.in b/mail/thunderbird/patches/patch-mozilla_js_src_config_Makefile.in
deleted file mode 100644
index ebbc5674b94..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_js_src_config_Makefile.in
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD: patch-mozilla_js_src_config_Makefile.in,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/js/src/config/Makefile.in.orig 2013-10-23 22:09:00.000000000 +0000
-+++ mozilla/js/src/config/Makefile.in
-@@ -59,6 +59,7 @@ 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)
-
diff --git a/mail/thunderbird/patches/patch-mozilla_js_src_config_system-headers b/mail/thunderbird/patches/patch-mozilla_js_src_config_system-headers
deleted file mode 100644
index 111be7db248..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_js_src_config_system-headers
+++ /dev/null
@@ -1,19 +0,0 @@
-$NetBSD: patch-mozilla_js_src_config_system-headers,v 1.3 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/js/src/config/system-headers.orig 2013-10-23 22:09:00.000000000 +0000
-+++ mozilla/js/src/config/system-headers
-@@ -1132,3 +1132,14 @@ 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/mail/thunderbird/patches/patch-mozilla_js_src_ctypes_CTypes.h b/mail/thunderbird/patches/patch-mozilla_js_src_ctypes_CTypes.h
index 02ce350e202..525bb5f2174 100644
--- a/mail/thunderbird/patches/patch-mozilla_js_src_ctypes_CTypes.h
+++ b/mail/thunderbird/patches/patch-mozilla_js_src_ctypes_CTypes.h
@@ -1,10 +1,10 @@
-$NetBSD: patch-mozilla_js_src_ctypes_CTypes.h,v 1.1 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mozilla_js_src_ctypes_CTypes.h,v 1.2 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/js/src/ctypes/CTypes.h.orig 2013-10-23 22:09:00.000000000 +0000
+--- mozilla/js/src/ctypes/CTypes.h.orig 2014-07-18 00:05:25.000000000 +0000
+++ mozilla/js/src/ctypes/CTypes.h
-@@ -13,6 +13,23 @@
-
- #include "js/HashTable.h"
+@@ -14,6 +14,23 @@
+ #include "js/Vector.h"
+ #include "vm/String.h"
+#if defined(__NetBSD__)
+#include <stdint.h>
diff --git a/mail/thunderbird/patches/patch-mozilla_js_src_gc_Memory.cpp b/mail/thunderbird/patches/patch-mozilla_js_src_gc_Memory.cpp
new file mode 100644
index 00000000000..e7ac36480e7
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_js_src_gc_Memory.cpp
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_js_src_gc_Memory.cpp,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/js/src/gc/Memory.cpp.orig 2014-07-18 00:05:25.000000000 +0000
++++ mozilla/js/src/gc/Memory.cpp
+@@ -212,7 +212,7 @@ gc::InitMemorySubsystem(JSRuntime *rt)
+ static inline void *
+ MapMemory(size_t length, int prot, int flags, int fd, off_t offset)
+ {
+-#if defined(__ia64__)
++#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__))
+ /*
+ * The JS engine assumes that all allocated pointers have their high 17 bits clear,
+ * which ia64's mmap doesn't support directly. However, we can emulate it by passing
diff --git a/mail/thunderbird/patches/patch-mozilla_js_src_gdb_Makefile.in b/mail/thunderbird/patches/patch-mozilla_js_src_gdb_Makefile.in
deleted file mode 100644
index 5faa1258a73..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_js_src_gdb_Makefile.in
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-mozilla_js_src_gdb_Makefile.in,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/js/src/gdb/Makefile.in.orig 2013-10-23 22:09:01.000000000 +0000
-+++ mozilla/js/src/gdb/Makefile.in
-@@ -19,6 +19,10 @@ LIBS = $(DEPTH)/$(LIB_PREFIX)js_static.$
-
- 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
diff --git a/mail/thunderbird/patches/patch-mozilla_js_src_jit_AsmJSSignalHandlers.cpp b/mail/thunderbird/patches/patch-mozilla_js_src_jit_AsmJSSignalHandlers.cpp
deleted file mode 100644
index 484d186763c..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_js_src_jit_AsmJSSignalHandlers.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-$NetBSD: patch-mozilla_js_src_jit_AsmJSSignalHandlers.cpp,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/js/src/jit/AsmJSSignalHandlers.cpp.orig 2013-10-23 22:09:02.000000000 +0000
-+++ mozilla/js/src/jit/AsmJSSignalHandlers.cpp
-@@ -59,10 +59,11 @@ using namespace mozilla;
- #elif defined(__linux__) || defined(SOLARIS)
- # if defined(__linux__)
- # define XMM_sig(p,i) ((p)->uc_mcontext.fpregs->_xmm[i])
-+# define EIP_sig(p) ((p)->uc_mcontext.gregs[REG_EIP])
- # else
- # define XMM_sig(p,i) ((p)->uc_mcontext.fpregs.fp_reg_set.fpchip_state.xmm[i])
-+# define EIP_sig(p) ((p)->uc_mcontext.gregs[REG_PC])
- # endif
--# define EIP_sig(p) ((p)->uc_mcontext.gregs[REG_EIP])
- # define RIP_sig(p) ((p)->uc_mcontext.gregs[REG_RIP])
- # define PC_sig(p) ((p)->uc_mcontext.arm_pc)
- # define RAX_sig(p) ((p)->uc_mcontext.gregs[REG_RAX])
-@@ -269,7 +270,7 @@ LookupHeapAccess(const AsmJSModule &modu
- # if defined(JS_CPU_X64)
- # if defined(__DragonFly__)
- # include <machine/npx.h> // for union savefpu
--# elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
-+# elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__)
- # include <machine/fpu.h> // for struct savefpu/fxsave64
- # endif
- # endif
diff --git a/mail/thunderbird/patches/patch-mozilla_js_src_jsapi-tests_Makefile.in b/mail/thunderbird/patches/patch-mozilla_js_src_jsapi-tests_Makefile.in
deleted file mode 100644
index 01765010177..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_js_src_jsapi-tests_Makefile.in
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-mozilla_js_src_jsapi-tests_Makefile.in,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/js/src/jsapi-tests/Makefile.in.orig 2013-10-23 22:09:02.000000000 +0000
-+++ mozilla/js/src/jsapi-tests/Makefile.in
-@@ -20,6 +20,10 @@ LIBS = $(DEPTH)/$(LIB_PREFIX)js_sta
-
- LOCAL_INCLUDES += -I$(topsrcdir) -I..
-
-+ifdef MOZ_NATIVE_ICU
-+EXTRA_LIBS += $(MOZ_ICU_LIBS)
-+endif
-+
- EXTRA_LIBS += $(MOZ_FFI_LIBS)
-
- ifdef QEMU_EXE
diff --git a/mail/thunderbird/patches/patch-mozilla_js_src_jscompartment.h b/mail/thunderbird/patches/patch-mozilla_js_src_jscompartment.h
deleted file mode 100644
index 961ef0ea9d5..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_js_src_jscompartment.h
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD: patch-mozilla_js_src_jscompartment.h,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/js/src/jscompartment.h.orig 2013-10-23 22:09:02.000000000 +0000
-+++ mozilla/js/src/jscompartment.h
-@@ -402,9 +402,9 @@ class js::AutoDebugModeGC
- GC(rt, GC_NORMAL, JS::gcreason::DEBUG_MODE_GC);
- }
-
-- void scheduleGC(Zone *zone) {
-+ void scheduleGC(JS::Zone *zone) {
- JS_ASSERT(!rt->isHeapBusy());
-- PrepareZoneForGC(zone);
-+ JS::PrepareZoneForGC(zone);
- needGC = true;
- }
- };
diff --git a/mail/thunderbird/patches/patch-mozilla_js_src_shell_Makefile.in b/mail/thunderbird/patches/patch-mozilla_js_src_shell_Makefile.in
deleted file mode 100644
index 9be89b3e396..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_js_src_shell_Makefile.in
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD: patch-mozilla_js_src_shell_Makefile.in,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/js/src/shell/Makefile.in.orig 2013-10-23 22:09:02.000000000 +0000
-+++ mozilla/js/src/shell/Makefile.in
-@@ -27,6 +27,9 @@ LIBS = $(NSPR_LIBS) $(EDITLINE_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..
-
diff --git a/mail/thunderbird/patches/patch-mozilla_js_src_vm_ObjectImpl-inl.h b/mail/thunderbird/patches/patch-mozilla_js_src_vm_ObjectImpl-inl.h
deleted file mode 100644
index 2e274bf28ba..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_js_src_vm_ObjectImpl-inl.h
+++ /dev/null
@@ -1,31 +0,0 @@
-$NetBSD: patch-mozilla_js_src_vm_ObjectImpl-inl.h,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/js/src/vm/ObjectImpl-inl.h.orig 2013-10-23 22:09:05.000000000 +0000
-+++ mozilla/js/src/vm/ObjectImpl-inl.h
-@@ -364,7 +364,7 @@ js::ObjectImpl::zone() const
- js::ObjectImpl::readBarrier(ObjectImpl *obj)
- {
- #ifdef JSGC_INCREMENTAL
-- Zone *zone = obj->zone();
-+ JS::Zone *zone = obj->zone();
- if (zone->needsBarrier()) {
- MOZ_ASSERT(!zone->rt->isHeapMajorCollecting());
- JSObject *tmp = obj->asObjectPtr();
-@@ -378,7 +378,7 @@ inline void
- js::ObjectImpl::privateWriteBarrierPre(void **old)
- {
- #ifdef JSGC_INCREMENTAL
-- Zone *zone = this->zone();
-+ JS::Zone *zone = this->zone();
- if (zone->needsBarrier()) {
- if (*old && getClass()->trace)
- getClass()->trace(zone->barrierTracer(), this->asObjectPtr());
-@@ -405,7 +405,7 @@ js::ObjectImpl::writeBarrierPre(ObjectIm
- if (IsNullTaggedPointer(obj) || !obj->runtime()->needsBarrier())
- return;
-
-- Zone *zone = obj->zone();
-+ JS::Zone *zone = obj->zone();
- if (zone->needsBarrier()) {
- MOZ_ASSERT(!zone->rt->isHeapMajorCollecting());
- JSObject *tmp = obj->asObjectPtr();
diff --git a/mail/thunderbird/patches/patch-mozilla_js_src_vm_SPSProfiler.cpp b/mail/thunderbird/patches/patch-mozilla_js_src_vm_SPSProfiler.cpp
index 50242b9fec5..30f3e5cc981 100644
--- a/mail/thunderbird/patches/patch-mozilla_js_src_vm_SPSProfiler.cpp
+++ b/mail/thunderbird/patches/patch-mozilla_js_src_vm_SPSProfiler.cpp
@@ -1,12 +1,13 @@
-$NetBSD: patch-mozilla_js_src_vm_SPSProfiler.cpp,v 1.1 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mozilla_js_src_vm_SPSProfiler.cpp,v 1.2 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/js/src/vm/SPSProfiler.cpp.orig 2013-10-23 22:09:05.000000000 +0000
+--- mozilla/js/src/vm/SPSProfiler.cpp.orig 2014-07-18 00:05:30.000000000 +0000
+++ mozilla/js/src/vm/SPSProfiler.cpp
-@@ -8,6 +8,7 @@
+@@ -4,6 +4,8 @@
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
- #include "jsnum.h"
- #include "jsscript.h"
+#include "jscntxtinlines.h"
-
++
#include "vm/SPSProfiler.h"
- #include "vm/StringBuffer.h"
+
+ #include "mozilla/DebugOnly.h"
diff --git a/mail/thunderbird/patches/patch-mozilla_media_libcubeb_src_Makefile.in b/mail/thunderbird/patches/patch-mozilla_media_libcubeb_src_Makefile.in
new file mode 100644
index 00000000000..778123aebe2
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_media_libcubeb_src_Makefile.in
@@ -0,0 +1,12 @@
+$NetBSD: patch-mozilla_media_libcubeb_src_Makefile.in,v 1.3 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/media/libcubeb/src/Makefile.in.orig 2014-07-18 00:05:38.000000000 +0000
++++ mozilla/media/libcubeb/src/Makefile.in
+@@ -9,3 +9,7 @@ CFLAGS += \
+ $(MOZ_ALSA_CFLAGS) \
+ $(MOZ_PULSEAUDIO_CFLAGS) \
+ $(NULL)
++
++ifdef MOZ_NATIVE_SPEEX
++CFLAGS += $(MOZ_SPEEX_CFLAGS)
++endif
diff --git a/mail/thunderbird/patches/patch-mozilla_media_libcubeb_src_cubeb__alsa.c b/mail/thunderbird/patches/patch-mozilla_media_libcubeb_src_cubeb__alsa.c
new file mode 100644
index 00000000000..fb8a9b2e053
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_media_libcubeb_src_cubeb__alsa.c
@@ -0,0 +1,14 @@
+$NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/media/libcubeb/src/cubeb_alsa.c.orig 2014-07-18 00:05:38.000000000 +0000
++++ mozilla/media/libcubeb/src/cubeb_alsa.c
+@@ -6,6 +6,9 @@
+ */
+ #undef NDEBUG
+ #define _BSD_SOURCE
++#if defined(__NetBSD__)
++#define _NETBSD_SOURCE
++#endif
+ #define _XOPEN_SOURCE 500
+ #include <pthread.h>
+ #include <sys/time.h>
diff --git a/mail/thunderbird/patches/patch-mozilla_media_libcubeb_src_moz.build b/mail/thunderbird/patches/patch-mozilla_media_libcubeb_src_moz.build
new file mode 100644
index 00000000000..eae05ec8b4a
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_media_libcubeb_src_moz.build
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_media_libcubeb_src_moz.build,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/media/libcubeb/src/moz.build.orig 2014-07-18 00:05:38.000000000 +0000
++++ mozilla/media/libcubeb/src/moz.build
+@@ -30,7 +30,7 @@ if CONFIG['OS_ARCH'] == 'OpenBSD':
+ ]
+ DEFINES['USE_SNDIO'] = True
+
+-if CONFIG['OS_TARGET'] == 'Darwin':
++if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
+ SOURCES += [
+ 'cubeb_audiounit.c',
+ ]
diff --git a/mail/thunderbird/patches/patch-mozilla_media_libpng_pngpriv.h b/mail/thunderbird/patches/patch-mozilla_media_libpng_pngpriv.h
index e692742c0ad..55803620fd8 100644
--- a/mail/thunderbird/patches/patch-mozilla_media_libpng_pngpriv.h
+++ b/mail/thunderbird/patches/patch-mozilla_media_libpng_pngpriv.h
@@ -1,6 +1,6 @@
-$NetBSD: patch-mozilla_media_libpng_pngpriv.h,v 1.1 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mozilla_media_libpng_pngpriv.h,v 1.2 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/media/libpng/pngpriv.h.orig 2013-10-23 22:09:11.000000000 +0000
+--- mozilla/media/libpng/pngpriv.h.orig 2014-07-18 00:05:38.000000000 +0000
+++ mozilla/media/libpng/pngpriv.h
@@ -38,6 +38,7 @@
* still required (as of 2011-05-02.)
@@ -9,4 +9,4 @@ $NetBSD: patch-mozilla_media_libpng_pngpriv.h,v 1.1 2013/11/12 20:50:51 ryoon Ex
+#define _XOPEN_SOURCE 600
#ifndef PNG_VERSION_INFO_ONLY
- /* This is required for the definition of abort(), used as a last ditch
+ /* Standard library headers not required by png.h: */
diff --git a/mail/thunderbird/patches/patch-mozilla_media_libsoundtouch_src_cpu__detect__x86.cpp b/mail/thunderbird/patches/patch-mozilla_media_libsoundtouch_src_cpu__detect__x86.cpp
index 03e4072f395..9d9c07aa32e 100644
--- a/mail/thunderbird/patches/patch-mozilla_media_libsoundtouch_src_cpu__detect__x86.cpp
+++ b/mail/thunderbird/patches/patch-mozilla_media_libsoundtouch_src_cpu__detect__x86.cpp
@@ -1,11 +1,12 @@
-$NetBSD: patch-mozilla_media_libsoundtouch_src_cpu__detect__x86.cpp,v 1.1 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mozilla_media_libsoundtouch_src_cpu__detect__x86.cpp,v 1.2 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/media/libsoundtouch/src/cpu_detect_x86.cpp.orig 2013-10-23 22:09:11.000000000 +0000
+--- mozilla/media/libsoundtouch/src/cpu_detect_x86.cpp.orig 2014-07-18 00:05:38.000000000 +0000
+++ mozilla/media/libsoundtouch/src/cpu_detect_x86.cpp
-@@ -131,6 +131,9 @@ uint detectCPUextensions(void)
+@@ -125,7 +125,9 @@ uint detectCPUextensions(void)
+ #endif
return res & ~_dwDisabledISA;
-
+-
+#elif defined(__GNUC__)
+ // No cpuid.h --> no cpuid support
+ return 0;
diff --git a/mail/thunderbird/patches/patch-mozilla_media_libtheora_Makefile.in b/mail/thunderbird/patches/patch-mozilla_media_libtheora_Makefile.in
new file mode 100644
index 00000000000..74553c4d732
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_media_libtheora_Makefile.in
@@ -0,0 +1,14 @@
+$NetBSD: patch-mozilla_media_libtheora_Makefile.in,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/media/libtheora/Makefile.in.orig 2014-07-27 06:20:09.000000000 +0000
++++ mozilla/media/libtheora/Makefile.in
+@@ -0,0 +1,9 @@
++# This Source Code Form is subject to the terms of the Mozilla Public
++# License, v. 2.0. If a copy of the MPL was not distributed with this
++# file, You can obtain one at http://mozilla.org/MPL/2.0/.
++
++include $(topsrcdir)/config/rules.mk
++
++ifdef MOZ_NATIVE_OGG
++CFLAGS += $(MOZ_OGG_CFLAGS)
++endif
diff --git a/mail/thunderbird/patches/patch-mozilla_media_libtremor_Makefile.in b/mail/thunderbird/patches/patch-mozilla_media_libtremor_Makefile.in
new file mode 100644
index 00000000000..186c2931aa8
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_media_libtremor_Makefile.in
@@ -0,0 +1,14 @@
+$NetBSD: patch-mozilla_media_libtremor_Makefile.in,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/media/libtremor/Makefile.in.orig 2014-07-27 06:20:09.000000000 +0000
++++ mozilla/media/libtremor/Makefile.in
+@@ -0,0 +1,9 @@
++# This Source Code Form is subject to the terms of the Mozilla Public
++# License, v. 2.0. If a copy of the MPL was not distributed with this
++# file, You can obtain one at http://mozilla.org/MPL/2.0/.
++
++include $(topsrcdir)/config/rules.mk
++
++ifdef MOZ_NATIVE_OGG
++CFLAGS += $(MOZ_OGG_CFLAGS)
++endif
diff --git a/mail/thunderbird/patches/patch-mozilla_media_libvorbis_Makefile.in b/mail/thunderbird/patches/patch-mozilla_media_libvorbis_Makefile.in
new file mode 100644
index 00000000000..33cda215ef8
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_media_libvorbis_Makefile.in
@@ -0,0 +1,14 @@
+$NetBSD: patch-mozilla_media_libvorbis_Makefile.in,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/media/libvorbis/Makefile.in.orig 2014-07-27 06:20:09.000000000 +0000
++++ mozilla/media/libvorbis/Makefile.in
+@@ -0,0 +1,9 @@
++# This Source Code Form is subject to the terms of the Mozilla Public
++# License, v. 2.0. If a copy of the MPL was not distributed with this
++# file, You can obtain one at http://mozilla.org/MPL/2.0/.
++
++include $(topsrcdir)/config/rules.mk
++
++ifdef MOZ_NATIVE_OGG
++CFLAGS += $(MOZ_OGG_CFLAGS)
++endif
diff --git a/mail/thunderbird/patches/patch-mozilla_media_mtransport_objs.mk b/mail/thunderbird/patches/patch-mozilla_media_mtransport_objs.mk
deleted file mode 100644
index f4252dba1e7..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_media_mtransport_objs.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD: patch-mozilla_media_mtransport_objs.mk,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/media/mtransport/objs.mk.orig 2013-10-23 22:09:11.000000000 +0000
-+++ mozilla/media/mtransport/objs.mk
-@@ -23,12 +23,16 @@ LOCAL_INCLUDES += \
- -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)
diff --git a/mail/thunderbird/patches/patch-mozilla_media_mtransport_test_Makefile.in b/mail/thunderbird/patches/patch-mozilla_media_mtransport_test_Makefile.in
deleted file mode 100644
index 087ab8ba1ee..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_media_mtransport_test_Makefile.in
+++ /dev/null
@@ -1,20 +0,0 @@
-$NetBSD: patch-mozilla_media_mtransport_test_Makefile.in,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/media/mtransport/test/Makefile.in.orig 2013-10-23 22:09:11.000000000 +0000
-+++ mozilla/media/mtransport/test/Makefile.in
-@@ -77,12 +77,14 @@ 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
diff --git a/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nICEr_nicer.gyp b/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nICEr_nicer.gyp
deleted file mode 100644
index db94c1cd94a..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nICEr_nicer.gyp
+++ /dev/null
@@ -1,33 +0,0 @@
-$NetBSD: patch-mozilla_media_mtransport_third__party_nICEr_nicer.gyp,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/media/mtransport/third_party/nICEr/nicer.gyp.orig 2013-10-23 22:09:11.000000000 +0000
-+++ mozilla/media/mtransport/third_party/nICEr/nicer.gyp
-@@ -134,8 +134,19 @@
- ],
-
- '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',
-@@ -143,7 +154,6 @@
- '-Wmissing-prototypes',
- ],
- 'defines' : [
-- 'DARWIN',
- 'HAVE_LIBM=1',
- 'HAVE_STRDUP=1',
- 'HAVE_STRLCPY=1',
diff --git a/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nICEr_src_stun_addrs.c b/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nICEr_src_stun_addrs.c
deleted file mode 100644
index 5d7e0c0f463..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nICEr_src_stun_addrs.c
+++ /dev/null
@@ -1,36 +0,0 @@
-$NetBSD: patch-mozilla_media_mtransport_third__party_nICEr_src_stun_addrs.c,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/media/mtransport/third_party/nICEr/src/stun/addrs.c.orig 2013-10-23 22:09:11.000000000 +0000
-+++ mozilla/media/mtransport/third_party/nICEr/src/stun/addrs.c
-@@ -55,7 +55,13 @@ static char *RCSSTRING __UNUSED__="$Id:
- #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>
-+#elif defined(__NetBSD__)
- #include <net/if_dl.h>
- #include <net/if_types.h>
- #include <sys/sockio.h>
-@@ -80,7 +86,7 @@ static char *RCSSTRING __UNUSED__="$Id:
-
-
-
--#ifdef DARWIN
-+#if defined(BSD) || defined(DARWIN)
- /*
- * Copyright (c) 1983, 1993
- * The Regents of the University of California. All rights reserved.
-@@ -695,7 +701,7 @@ nr_stun_get_addrs(nr_transport_addr addr
- 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);
diff --git a/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nICEr_src_stun_stun.h b/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nICEr_src_stun_stun.h
deleted file mode 100644
index e7ccf5da8a6..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nICEr_src_stun_stun.h
+++ /dev/null
@@ -1,20 +0,0 @@
-$NetBSD: patch-mozilla_media_mtransport_third__party_nICEr_src_stun_stun.h,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/media/mtransport/third_party/nICEr/src/stun/stun.h.orig 2013-10-23 22:09:11.000000000 +0000
-+++ mozilla/media/mtransport/third_party/nICEr/src/stun/stun.h
-@@ -41,11 +41,15 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- #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>
diff --git a/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nICEr_src_util_mbslen.c b/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nICEr_src_util_mbslen.c
index 0d0df2a7487..ca371fc75b9 100644
--- a/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nICEr_src_util_mbslen.c
+++ b/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nICEr_src_util_mbslen.c
@@ -1,78 +1,18 @@
-$NetBSD: patch-mozilla_media_mtransport_third__party_nICEr_src_util_mbslen.c,v 1.1 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mozilla_media_mtransport_third__party_nICEr_src_util_mbslen.c,v 1.2 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/media/mtransport/third_party/nICEr/src/util/mbslen.c.orig 2013-10-23 22:09:11.000000000 +0000
+--- mozilla/media/mtransport/third_party/nICEr/src/util/mbslen.c.orig 2014-07-18 00:05:39.000000000 +0000
+++ mozilla/media/mtransport/third_party/nICEr/src/util/mbslen.c
-@@ -43,9 +43,17 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- #include <locale.h>
- #include <stdlib.h>
- #include <wchar.h>
--#ifdef DARWIN
-+
-+#ifdef __FreeBSD__
+@@ -54,6 +54,13 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ # endif
+ #endif
+
++#ifdef __DragonFly__
+#include <osreldate.h>
-+# if __FreeBSD_version > 900505
++# if __DragonFly_version > 300502
+# define HAVE_XLOCALE
+# endif
+#endif
+
-+#ifdef HAVE_XLOCALE
+ #ifdef HAVE_XLOCALE
#include <xlocale.h>
--#endif /* DARWIN */
-+#endif /* HAVE_XLOCALE */
-
- #include "nr_api.h"
- #include "mbslen.h"
-@@ -54,10 +62,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- 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;
-@@ -67,7 +75,7 @@ mbslen(const char *s, size_t *ncharsp)
- int nchars;
- mbstate_t mbs;
-
--#ifdef DARWIN
-+#ifdef HAVE_XLOCALE
- if (! initialized) {
- initialized = 1;
- loc = newlocale(LC_CTYPE_MASK, "UTF-8", LC_GLOBAL_LOCALE);
-@@ -76,7 +84,7 @@ mbslen(const char *s, size_t *ncharsp)
- 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))
-@@ -99,18 +107,18 @@ mbslen(const char *s, size_t *ncharsp)
- 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);
+ #endif /* HAVE_XLOCALE */
diff --git a/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nrappkit_nrappkit.gyp b/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nrappkit_nrappkit.gyp
deleted file mode 100644
index 8b33fe9ff6e..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nrappkit_nrappkit.gyp
+++ /dev/null
@@ -1,32 +0,0 @@
-$NetBSD: patch-mozilla_media_mtransport_third__party_nrappkit_nrappkit.gyp,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/media/mtransport/third_party/nrappkit/nrappkit.gyp.orig 2013-10-23 22:09:11.000000000 +0000
-+++ mozilla/media/mtransport/third_party/nrappkit/nrappkit.gyp
-@@ -147,8 +147,18 @@
- ],
-
- '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',
-@@ -156,7 +166,6 @@
- '-Wmissing-prototypes',
- ],
- 'defines' : [
-- 'DARWIN',
- 'HAVE_LIBM=1',
- 'HAVE_STRDUP=1',
- 'HAVE_STRLCPY=1',
diff --git a/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_log_r__log.c b/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_log_r__log.c
deleted file mode 100644
index ca5a50b1333..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_log_r__log.c
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD: patch-mozilla_media_mtransport_third__party_nrappkit_src_log_r__log.c,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/media/mtransport/third_party/nrappkit/src/log/r_log.c.orig 2013-10-23 22:09:11.000000000 +0000
-+++ mozilla/media/mtransport/third_party/nrappkit/src/log/r_log.c
-@@ -48,6 +48,7 @@ static char *RCSSTRING __UNUSED__ ="$Id:
- #include "hex.h"
-
- #include <string.h>
-+#include <errno.h>
- #ifndef _MSC_VER
- #include <strings.h>
- #include <syslog.h>
diff --git a/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h b/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h
index af27f24f2c9..fb6d33642b6 100644
--- a/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h
+++ b/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h
@@ -1,13 +1,19 @@
-$NetBSD: patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h,v 1.1 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h,v 1.2 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h.orig 2013-10-23 22:09:11.000000000 +0000
+--- mozilla/media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h.orig 2014-07-18 00:05:39.000000000 +0000
+++ mozilla/media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h
-@@ -33,7 +33,7 @@
- #ifndef _SYS_QUEUE_H_
+@@ -30,7 +30,13 @@
+ * $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $
+ */
+
+-#ifndef _SYS_QUEUE_H_
++#if (defined(BSD) && !defined(__OpenBSD__)) || defined(DARWIN)
++#include_next <sys/queue.h>
++# if defined(__DragonFly__)
++#define STAILQ_FOREACH_SAFE STAILQ_FOREACH_MUTABLE
++#define TAILQ_FOREACH_SAFE TAILQ_FOREACH_MUTABLE
++# endif
++#elif !defined(_SYS_QUEUE_H_)
#define _SYS_QUEUE_H_
--#ifndef DARWIN
-+#if !defined(__FreeBSD__) && !defined(DARWIN)
#include <stddef.h>
- #define __offsetof offsetof
- #endif
diff --git a/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_util_util.c b/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_util_util.c
deleted file mode 100644
index 7c62231647a..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_util_util.c
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD: patch-mozilla_media_mtransport_third__party_nrappkit_src_util_util.c,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/media/mtransport/third_party/nrappkit/src/util/util.c.orig 2013-10-23 22:09:11.000000000 +0000
-+++ mozilla/media/mtransport/third_party/nrappkit/src/util/util.c
-@@ -45,6 +45,7 @@ static char *RCSSTRING __UNUSED__ ="$Id:
- #include <dirent.h>
- #endif
- #include <string.h>
-+#include <errno.h>
- #include <ctype.h>
- #include <sys/stat.h>
- #ifdef OPENSSL
diff --git a/mail/thunderbird/patches/patch-mozilla_media_webrtc_signaling_signaling.gyp b/mail/thunderbird/patches/patch-mozilla_media_webrtc_signaling_signaling.gyp
index 375e7ffd331..e603c2c54c5 100644
--- a/mail/thunderbird/patches/patch-mozilla_media_webrtc_signaling_signaling.gyp
+++ b/mail/thunderbird/patches/patch-mozilla_media_webrtc_signaling_signaling.gyp
@@ -1,49 +1,20 @@
-$NetBSD: patch-mozilla_media_webrtc_signaling_signaling.gyp,v 1.1 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mozilla_media_webrtc_signaling_signaling.gyp,v 1.2 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/media/webrtc/signaling/signaling.gyp.orig 2013-10-23 22:09:11.000000000 +0000
+--- mozilla/media/webrtc/signaling/signaling.gyp.orig 2014-07-18 00:05:39.000000000 +0000
+++ mozilla/media/webrtc/signaling/signaling.gyp
-@@ -228,6 +228,19 @@
- 'cflags_mozilla': [
- ],
- }],
-+ ['os_bsd==1', {
-+ 'include_dirs': [
-+ ],
-+ 'defines': [
-+ # avoiding pointless ifdef churn
-+ 'SIP_OS_OSX',
-+ 'OSX',
-+ 'SECLIB_OPENSSL',
-+ ],
-+
-+ 'cflags_mozilla': [
-+ ],
-+ }],
- ['OS=="mac"', {
- 'include_dirs': [
- ],
-@@ -760,7 +773,7 @@
- ],
-
- }],
-- ['OS=="mac"', {
-+ ['OS=="mac" or os_bsd==1', {
-
- 'include_dirs': [
- ],
-@@ -803,14 +816,13 @@
-
- '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',
- ],
-
+@@ -847,14 +847,13 @@
+ ['OS=="mac"', {
+ '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',
+ ],
+ }],
diff --git a/mail/thunderbird/patches/patch-mozilla_media_webrtc_signaling_src_sipcc_cpr_darwin_cpr__darwin__ipc.c b/mail/thunderbird/patches/patch-mozilla_media_webrtc_signaling_src_sipcc_cpr_darwin_cpr__darwin__ipc.c
deleted file mode 100644
index 620617c76c0..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_media_webrtc_signaling_src_sipcc_cpr_darwin_cpr__darwin__ipc.c
+++ /dev/null
@@ -1,20 +0,0 @@
-$NetBSD: patch-mozilla_media_webrtc_signaling_src_sipcc_cpr_darwin_cpr__darwin__ipc.c,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/media/webrtc/signaling/src/sipcc/cpr/darwin/cpr_darwin_ipc.c.orig 2013-10-23 22:09:12.000000000 +0000
-+++ mozilla/media/webrtc/signaling/src/sipcc/cpr/darwin/cpr_darwin_ipc.c
-@@ -321,11 +321,15 @@ cprGetMessage (cprMsgQueue_t msgQueue, b
- 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) {
diff --git a/mail/thunderbird/patches/patch-mozilla_media_webrtc_signaling_test_Makefile.in b/mail/thunderbird/patches/patch-mozilla_media_webrtc_signaling_test_Makefile.in
index 7684d225844..f898e428870 100644
--- a/mail/thunderbird/patches/patch-mozilla_media_webrtc_signaling_test_Makefile.in
+++ b/mail/thunderbird/patches/patch-mozilla_media_webrtc_signaling_test_Makefile.in
@@ -1,8 +1,8 @@
-$NetBSD: patch-mozilla_media_webrtc_signaling_test_Makefile.in,v 1.1 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mozilla_media_webrtc_signaling_test_Makefile.in,v 1.2 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/media/webrtc/signaling/test/Makefile.in.orig 2013-10-23 22:09:12.000000000 +0000
+--- mozilla/media/webrtc/signaling/test/Makefile.in.orig 2014-07-18 00:05:40.000000000 +0000
+++ mozilla/media/webrtc/signaling/test/Makefile.in
-@@ -14,6 +14,7 @@ LIBS = \
+@@ -7,6 +7,7 @@ LIBS = \
$(NSPR_LIBS) \
$(NSS_LIBS) \
$(REALTIME_LIBS) \
@@ -10,12 +10,16 @@ $NetBSD: patch-mozilla_media_webrtc_signaling_test_Makefile.in,v 1.1 2013/11/12
$(DEPTH)/xpcom/glue/$(LIB_PREFIX)xpcomglue_s.$(LIB_SUFFIX) \
$(DEPTH)/media/mtransport/standalone/$(LIB_PREFIX)mtransport_s.$(LIB_SUFFIX) \
$(DEPTH)/media/webrtc/signalingtest/signaling_ecc/$(LIB_PREFIX)ecc.$(LIB_SUFFIX) \
-@@ -83,7 +84,7 @@ LIBS += \
+@@ -48,6 +49,12 @@ LIBS += \
$(NULL)
endif
--ifeq ($(OS_TARGET),Linux)
-+ifneq (,$(filter Linux DragonFly FreeBSD NetBSD OpenBSD,$(OS_TARGET)))
++ifdef MOZ_NATIVE_OPUS
++LIBS += \
++ $(MOZ_OPUS_LIBS) \
++ $(NULL)
++endif
++
+ ifdef MOZ_NATIVE_LIBVPX
LIBS += \
- $(MOZ_CAIRO_OSLIBS) \
- $(NULL)
+ $(MOZ_LIBVPX_LIBS) \
diff --git a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_build_build__config.h b/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_build_build__config.h
deleted file mode 100644
index 45ba4c28491..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_build_build__config.h
+++ /dev/null
@@ -1,41 +0,0 @@
-$NetBSD: patch-mozilla_media_webrtc_trunk_build_build__config.h,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/media/webrtc/trunk/build/build_config.h.orig 2013-10-23 22:09:12.000000000 +0000
-+++ mozilla/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/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_tools_gyp_pylib_gyp_generator_mozmake.py b/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_tools_gyp_pylib_gyp_generator_mozmake.py
deleted file mode 100644
index f3cdf5e9b44..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_tools_gyp_pylib_gyp_generator_mozmake.py
+++ /dev/null
@@ -1,55 +0,0 @@
-$NetBSD: patch-mozilla_media_webrtc_trunk_tools_gyp_pylib_gyp_generator_mozmake.py,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/media/webrtc/trunk/tools/gyp/pylib/gyp/generator/mozmake.py.orig 2013-10-23 22:09:12.000000000 +0000
-+++ mozilla/media/webrtc/trunk/tools/gyp/pylib/gyp/generator/mozmake.py
-@@ -6,6 +6,7 @@ import collections
- import gyp
- import gyp.common
- import sys
-+import platform
- import os
- import re
- import shlex
-@@ -113,20 +114,34 @@ def ensure_directory_exists(path):
-
- 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):
diff --git a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_build_common.gypi b/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_build_common.gypi
index 3d26143598b..7f5b409011d 100644
--- a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_build_common.gypi
+++ b/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_build_common.gypi
@@ -1,20 +1,8 @@
-$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_build_common.gypi,v 1.1 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_build_common.gypi,v 1.2 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/media/webrtc/trunk/webrtc/build/common.gypi.orig 2013-10-23 22:09:12.000000000 +0000
+--- mozilla/media/webrtc/trunk/webrtc/build/common.gypi.orig 2014-07-18 00:05:42.000000000 +0000
+++ mozilla/media/webrtc/trunk/webrtc/build/common.gypi
-@@ -71,9 +71,9 @@
- 'enable_data_logging%': 0,
-
- # Disable these to not build components which can be externally provided.
-- 'build_libjpeg%': 1,
-+ 'build_libjpeg%': 0,
- 'build_libyuv%': 1,
-- 'build_libvpx%': 1,
-+ 'build_libvpx%': 0,
-
- # Enable to use the Mozilla internal settings.
- 'build_with_mozilla%': 0,
-@@ -238,7 +238,7 @@
+@@ -256,7 +256,7 @@
}],
['OS=="dragonfly" or OS=="netbsd"', {
'defines': [
diff --git a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi b/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi
new file mode 100644
index 00000000000..5e7901941b9
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi
@@ -0,0 +1,17 @@
+$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi.orig 2014-07-18 00:05:42.000000000 +0000
++++ mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi
+@@ -14,9 +14,9 @@
+ 'conditions': [
+ ['build_with_mozilla==1', {
+ # Mozilla provides its own build of the opus library.
+- 'include_dirs': [
+- '/media/libopus/include',
+- ]
++ 'cflags_mozilla': [
++ '$(MOZ_OPUS_CFLAGS)',
++ ],
+ }, {
+ 'dependencies': [
+ '<(DEPTH)/third_party/opus/opus.gyp:opus'
diff --git a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__device_audio__device__impl.cc b/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__device_audio__device__impl.cc
deleted file mode 100644
index b91ee30a214..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__device_audio__device__impl.cc
+++ /dev/null
@@ -1,71 +0,0 @@
-$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__device_audio__device__impl.cc,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/media/webrtc/trunk/webrtc/modules/audio_device/audio_device_impl.cc.orig 2013-10-23 22:09:12.000000000 +0000
-+++ mozilla/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)
-@@ -301,7 +303,7 @@ WebRtc_Word32 AudioDeviceModuleImpl::Cre
-
- // 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)
-@@ -347,7 +349,7 @@ WebRtc_Word32 AudioDeviceModuleImpl::Cre
- //
- 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 a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__device_test_audio__device__test__api.cc b/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__device_test_audio__device__test__api.cc
deleted file mode 100644
index 376447f3914..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__device_test_audio__device__test__api.cc
+++ /dev/null
@@ -1,31 +0,0 @@
-$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__device_test_audio__device__test__api.cc,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/media/webrtc/trunk/webrtc/modules/audio_device/test/audio_device_test_api.cc.orig 2013-10-23 22:09:12.000000000 +0000
-+++ mozilla/media/webrtc/trunk/webrtc/modules/audio_device/test/audio_device_test_api.cc
-@@ -196,7 +196,7 @@ class AudioDeviceAPITest: public testing
- // 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(
-@@ -1689,7 +1689,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();
-@@ -1758,7 +1758,7 @@ TEST_F(AudioDeviceAPITest, StartAndStopR
- // - 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) {
- WebRtc_UWord32 sampleRate(0);
diff --git a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc b/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc
index 931d3726ec9..068437b8691 100644
--- a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc
+++ b/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc
@@ -1,8 +1,8 @@
-$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc,v 1.1 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc,v 1.2 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc.orig 2013-10-23 22:09:13.000000000 +0000
+--- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc.orig 2014-07-18 00:05:42.000000000 +0000
+++ mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc
-@@ -26,10 +26,30 @@
+@@ -25,10 +25,21 @@
#else
#include <linux/videodev2.h>
#endif
@@ -10,19 +10,10 @@ $NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_de
+#include <libv4l2.h>
+#endif
- #include "ref_count.h"
- #include "trace.h"
+ #include "webrtc/system_wrappers/interface/ref_count.h"
+ #include "webrtc/system_wrappers/interface/trace.h"
+#ifdef HAVE_LIBV4L2
-+#define open v4l2_open
-+#define close v4l2_close
-+#define dup v4l2_dup
-+#define ioctl v4l2_ioctl
-+#define mmap v4l2_mmap
-+#define munmap v4l2_munmap
-+#endif
-+
-+#ifdef HAVE_LIBV4L2
+#define open v4l2_open
+#define close v4l2_close
+#define dup v4l2_dup
@@ -33,7 +24,7 @@ $NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_de
namespace webrtc
{
-@@ -137,6 +157,11 @@ WebRtc_Word32 DeviceInfoLinux::GetDevice
+@@ -136,6 +147,11 @@ int32_t DeviceInfoLinux::GetDeviceName(
memset(deviceNameUTF8, 0, deviceNameLength);
memcpy(cameraName, cap.card, sizeof(cap.card));
diff --git a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc b/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc
index ea0dec2cb87..17b6db4e235 100644
--- a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc
+++ b/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc
@@ -1,6 +1,6 @@
-$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc,v 1.1 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc,v 1.2 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc.orig 2013-10-23 22:09:13.000000000 +0000
+--- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc.orig 2014-07-18 00:05:42.000000000 +0000
+++ mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc
@@ -25,6 +25,9 @@
#else
@@ -13,8 +13,8 @@ $NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_vi
#include <new>
@@ -34,6 +37,15 @@
- #include "critical_section_wrapper.h"
- #include "video_capture_linux.h"
+ #include "webrtc/system_wrappers/interface/thread_wrapper.h"
+ #include "webrtc/system_wrappers/interface/trace.h"
+#ifdef HAVE_LIBV4L2
+#define open v4l2_open
diff --git a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture__factory.cc b/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture__factory.cc
deleted file mode 100644
index 9e0a099a616..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture__factory.cc
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture__factory.cc,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/video_capture_factory.cc.orig 2013-10-23 22:09:13.000000000 +0000
-+++ mozilla/media/webrtc/trunk/webrtc/modules/video_capture/video_capture_factory.cc
-@@ -8,8 +8,10 @@
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-+_Pragma("GCC visibility push(default)")
- #include "video_capture_factory.h"
- #include "video_capture_impl.h"
-+_Pragma("GCC visibility pop")
-
- namespace webrtc
- {
diff --git a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_condition__variable.cc b/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_condition__variable.cc
deleted file mode 100644
index 536ad0f52d8..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_condition__variable.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_condition__variable.cc,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/condition_variable.cc.orig 2013-10-23 22:09:13.000000000 +0000
-+++ mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/condition_variable.cc
-@@ -16,6 +16,8 @@
- #elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC)
- #include <pthread.h>
- #include "condition_variable_posix.h"
-+#else
-+#include <stddef.h> // for NULL
- #endif
-
- namespace webrtc {
diff --git a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp b/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp
index aaf9054d1d6..d67c06f63d1 100644
--- a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp
+++ b/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp
@@ -1,10 +1,10 @@
-$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp,v 1.1 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp,v 1.2 2014/07/27 20:04:59 ryoon Exp $
---- mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp.orig 2013-10-23 22:09:13.000000000 +0000
+--- mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp.orig 2014-07-18 00:05:43.000000000 +0000
+++ mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp
@@ -21,6 +21,13 @@ Scott McMurray
- #include "constants.hpp"
- #include <cstring>
+ #include <vector>
+ #include "webrtc/system_wrappers/source/spreadsortlib/constants.hpp"
+#ifdef __FreeBSD__
+# include <osreldate.h>
diff --git a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_thread__posix.cc b/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_thread__posix.cc
deleted file mode 100644
index c21241ab478..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_thread__posix.cc
+++ /dev/null
@@ -1,48 +0,0 @@
-$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_thread__posix.cc,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/thread_posix.cc.orig 2013-10-23 22:09:13.000000000 +0000
-+++ mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/thread_posix.cc
-@@ -272,7 +272,7 @@ bool ThreadPosix::Start(unsigned int& th
-
- // CPU_ZERO and CPU_SET are not available in NDK r7, so disable
- // SetAffinity on Android for now.
--#if defined(__FreeBSD__) || (defined(WEBRTC_LINUX) && (!defined(WEBRTC_ANDROID)) && (!defined(WEBRTC_GONK)))
-+#if defined(__FreeBSD__) || defined(__NetBSD__) || (defined(WEBRTC_LINUX) && (!defined(WEBRTC_ANDROID)) && (!defined(WEBRTC_GONK)))
- bool ThreadPosix::SetAffinity(const int* processor_numbers,
- const unsigned int amount_of_processors) {
- if (!processor_numbers || (amount_of_processors == 0)) {
-@@ -280,20 +280,34 @@ bool ThreadPosix::SetAffinity(const int*
- }
- #if defined(__FreeBSD__)
- cpuset_t mask;
-+#elif defined(__NetBSD__)
-+ cpuset_t *mask;
- #else
- cpu_set_t mask;
- #endif
-+#if defined(__NetBSD__)
-+ cpuset_zero(mask);
-+#else
- CPU_ZERO(&mask);
-+#endif
-
- for (unsigned int processor = 0;
- processor < amount_of_processors;
- ++processor) {
-+#if defined(__NetBSD__)
-+ cpuset_set(processor_numbers[processor], mask);
-+#else
- CPU_SET(processor_numbers[processor], &mask);
-+#endif
- }
- #if defined(__FreeBSD__)
- const int result = pthread_setaffinity_np(thread_,
- sizeof(mask),
- &mask);
-+#elif defined(__NetBSD__)
-+ const int result = pthread_setaffinity_np(thread_,
-+ sizeof(mask),
-+ mask);
- #elif defined(WEBRTC_ANDROID) || defined(WEBRTC_GONK)
- // Android.
- const int result = syscall(__NR_sched_setaffinity,
diff --git a/mail/thunderbird/patches/patch-mozilla_memory_jemalloc_Makefile.in b/mail/thunderbird/patches/patch-mozilla_memory_jemalloc_Makefile.in
new file mode 100644
index 00000000000..b254ae55891
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_memory_jemalloc_Makefile.in
@@ -0,0 +1,12 @@
+$NetBSD: patch-mozilla_memory_jemalloc_Makefile.in,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/memory/jemalloc/Makefile.in.orig 2014-07-18 00:05:43.000000000 +0000
++++ mozilla/memory/jemalloc/Makefile.in
+@@ -12,3 +12,7 @@ include $(topsrcdir)/config/rules.mk
+ ifdef GNU_CC
+ CFLAGS += -std=gnu99
+ endif
++
++# XXX startup crash workaround for gcc47 on amd64
++jemalloc.$(OBJ_SUFFIX): OS_CFLAGS := $(filter-out -O3 -Ofast,$(OS_CFLAGS))
++jemalloc.$(OBJ_SUFFIX): MOZ_OPTIMIZE_FLAGS=
diff --git a/mail/thunderbird/patches/patch-mozilla_memory_mozalloc_fallible.h b/mail/thunderbird/patches/patch-mozilla_memory_mozalloc_fallible.h
deleted file mode 100644
index d3ffb07c1d1..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_memory_mozalloc_fallible.h
+++ /dev/null
@@ -1,28 +0,0 @@
-$NetBSD: patch-mozilla_memory_mozalloc_fallible.h,v 1.1 2013/11/29 17:41:08 wiz Exp $
-
---- mozilla/memory/mozalloc/fallible.h.orig 2013-10-23 22:09:13.000000000 +0000
-+++ mozilla/memory/mozalloc/fallible.h
-@@ -5,9 +5,22 @@
- #ifndef mozilla_fallible_h
- #define mozilla_fallible_h
-
-+#if defined(MOZALLOC_EXPORT)
-+/* do nothing: it's been defined to __declspec(dllexport) by
-+ * mozalloc*.cpp on platforms where that's required. */
-+#elif defined(XP_WIN) || (defined(XP_OS2) && defined(__declspec))
-+# define MOZALLOC_EXPORT __declspec(dllimport)
-+#elif defined(HAVE_VISIBILITY_ATTRIBUTE)
-+/* Make sure symbols are still exported even if we're wrapped in a
-+ * |visibility push(hidden)| blanket. */
-+# define MOZALLOC_EXPORT __attribute__ ((visibility ("default")))
-+#else
-+# define MOZALLOC_EXPORT
-+#endif
-+
- namespace mozilla {
-
--struct fallible_t { };
-+struct MOZALLOC_EXPORT fallible_t { };
-
- } // namespace mozilla
-
diff --git a/mail/thunderbird/patches/patch-mozilla_memory_mozalloc_mozalloc.cpp b/mail/thunderbird/patches/patch-mozilla_memory_mozalloc_mozalloc.cpp
deleted file mode 100644
index 60aba294084..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_memory_mozalloc_mozalloc.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
-$NetBSD: patch-mozilla_memory_mozalloc_mozalloc.cpp,v 1.1 2013/11/29 17:41:08 wiz Exp $
-
---- mozilla/memory/mozalloc/mozalloc.cpp.orig 2013-10-23 22:09:13.000000000 +0000
-+++ mozilla/memory/mozalloc/mozalloc.cpp
-@@ -229,3 +229,76 @@ namespace mozilla {
- const fallible_t fallible = fallible_t();
-
- } // namespace mozilla
-+
-+
-+MOZALLOC_EXPORT
-+void* operator new(size_t size) MOZALLOC_THROW_BAD_ALLOC
-+{
-+ return moz_xmalloc(size);
-+}
-+
-+MOZALLOC_EXPORT
-+void* operator new(size_t size, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
-+{
-+ return moz_malloc(size);
-+}
-+
-+MOZALLOC_EXPORT
-+void* operator new[](size_t size) MOZALLOC_THROW_BAD_ALLOC
-+{
-+ return moz_xmalloc(size);
-+}
-+
-+MOZALLOC_EXPORT
-+void* operator new[](size_t size, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
-+{
-+ return moz_malloc(size);
-+}
-+
-+MOZALLOC_EXPORT
-+void operator delete(void* ptr) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
-+{
-+ return moz_free(ptr);
-+}
-+
-+MOZALLOC_EXPORT
-+void operator delete(void* ptr, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
-+{
-+ return moz_free(ptr);
-+}
-+
-+MOZALLOC_EXPORT
-+void operator delete[](void* ptr) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
-+{
-+ return moz_free(ptr);
-+}
-+
-+MOZALLOC_EXPORT
-+void operator delete[](void* ptr, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
-+{
-+ return moz_free(ptr);
-+}
-+
-+MOZALLOC_EXPORT
-+void* operator new(size_t size, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
-+{
-+ return moz_malloc(size);
-+}
-+
-+MOZALLOC_EXPORT
-+void* operator new[](size_t size, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
-+{
-+ return moz_malloc(size);
-+}
-+
-+MOZALLOC_EXPORT
-+void operator delete(void* ptr, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
-+{
-+ moz_free(ptr);
-+}
-+
-+MOZALLOC_EXPORT
-+void operator delete[](void* ptr, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
-+{
-+ moz_free(ptr);
-+}
diff --git a/mail/thunderbird/patches/patch-mozilla_memory_mozalloc_mozalloc.h b/mail/thunderbird/patches/patch-mozilla_memory_mozalloc_mozalloc.h
deleted file mode 100644
index 025e3ce5942..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_memory_mozalloc_mozalloc.h
+++ /dev/null
@@ -1,154 +0,0 @@
-$NetBSD: patch-mozilla_memory_mozalloc_mozalloc.h,v 1.1 2013/11/29 17:41:08 wiz Exp $
-
---- mozilla/memory/mozalloc/mozalloc.h.orig 2013-10-23 22:09:13.000000000 +0000
-+++ mozilla/memory/mozalloc/mozalloc.h
-@@ -39,15 +39,6 @@
- # define MOZALLOC_EXPORT
- #endif
-
--
--#if defined(MOZ_ALWAYS_INLINE_EVEN_DEBUG)
--# define MOZALLOC_INLINE MOZ_ALWAYS_INLINE_EVEN_DEBUG
--#elif defined(HAVE_FORCEINLINE)
--# define MOZALLOC_INLINE __forceinline
--#else
--# define MOZALLOC_INLINE inline
--#endif
--
- /* Workaround build problem with Sun Studio 12 */
- #if defined(__SUNPRO_C) || defined(__SUNPRO_CC)
- # undef NS_WARN_UNUSED_RESULT
-@@ -171,15 +162,6 @@ MOZALLOC_EXPORT void* moz_valloc(size_t
- * that |::operator new() throw(std::bad_alloc)| will never return NULL.
- */
-
--/* NB: This is defined just to silence vacuous warnings about symbol
-- * visibility on OS X/gcc. These symbols are force-inline and not
-- * exported. */
--#if defined(XP_MACOSX)
--# define MOZALLOC_EXPORT_NEW MOZALLOC_EXPORT
--#else
--# define MOZALLOC_EXPORT_NEW
--#endif
--
- #if defined(ANDROID) || defined(_MSC_VER)
- /*
- * Android doesn't fully support exceptions, so its <new> header
-@@ -195,53 +177,29 @@ MOZALLOC_EXPORT void* moz_valloc(size_t
-
- #define MOZALLOC_THROW_BAD_ALLOC MOZALLOC_THROW_BAD_ALLOC_IF_HAS_EXCEPTIONS
-
--MOZALLOC_EXPORT_NEW MOZALLOC_INLINE
--void* operator new(size_t size) MOZALLOC_THROW_BAD_ALLOC
--{
-- return moz_xmalloc(size);
--}
--
--MOZALLOC_EXPORT_NEW MOZALLOC_INLINE
--void* operator new(size_t size, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
--{
-- return moz_malloc(size);
--}
--
--MOZALLOC_EXPORT_NEW MOZALLOC_INLINE
--void* operator new[](size_t size) MOZALLOC_THROW_BAD_ALLOC
--{
-- return moz_xmalloc(size);
--}
--
--MOZALLOC_EXPORT_NEW MOZALLOC_INLINE
--void* operator new[](size_t size, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
--{
-- return moz_malloc(size);
--}
--
--MOZALLOC_EXPORT_NEW MOZALLOC_INLINE
--void operator delete(void* ptr) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
--{
-- return moz_free(ptr);
--}
--
--MOZALLOC_EXPORT_NEW MOZALLOC_INLINE
--void operator delete(void* ptr, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
--{
-- return moz_free(ptr);
--}
--
--MOZALLOC_EXPORT_NEW MOZALLOC_INLINE
--void operator delete[](void* ptr) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
--{
-- return moz_free(ptr);
--}
--
--MOZALLOC_EXPORT_NEW MOZALLOC_INLINE
--void operator delete[](void* ptr, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
--{
-- return moz_free(ptr);
--}
-+MOZALLOC_EXPORT
-+void* operator new(size_t size) MOZALLOC_THROW_BAD_ALLOC;
-+
-+MOZALLOC_EXPORT
-+void* operator new(size_t size, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS;
-+
-+MOZALLOC_EXPORT
-+void* operator new[](size_t size) MOZALLOC_THROW_BAD_ALLOC;
-+
-+MOZALLOC_EXPORT
-+void* operator new[](size_t size, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS;
-+
-+MOZALLOC_EXPORT
-+void operator delete(void* ptr) MOZALLOC_THROW_IF_HAS_EXCEPTIONS;
-+
-+MOZALLOC_EXPORT
-+void operator delete(void* ptr, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS;
-+
-+MOZALLOC_EXPORT
-+void operator delete[](void* ptr) MOZALLOC_THROW_IF_HAS_EXCEPTIONS;
-+
-+MOZALLOC_EXPORT
-+void operator delete[](void* ptr, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS;
-
-
- /*
-@@ -263,29 +221,17 @@ void operator delete[](void* ptr, const
- * (4) the matching system |operator delete(void*) throw(std::bad_alloc)|
- */
-
--MOZALLOC_INLINE
--void* operator new(size_t size, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
--{
-- return moz_malloc(size);
--}
--
--MOZALLOC_INLINE
--void* operator new[](size_t size, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
--{
-- return moz_malloc(size);
--}
--
--MOZALLOC_INLINE
--void operator delete(void* ptr, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
--{
-- moz_free(ptr);
--}
--
--MOZALLOC_INLINE
--void operator delete[](void* ptr, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
--{
-- moz_free(ptr);
--}
-+MOZALLOC_EXPORT
-+void* operator new(size_t size, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS;
-+
-+MOZALLOC_EXPORT
-+void* operator new[](size_t size, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS;
-+
-+MOZALLOC_EXPORT
-+void operator delete(void* ptr, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS;
-+
-+MOZALLOC_EXPORT
-+void operator delete[](void* ptr, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS;
-
- #endif /* ifdef __cplusplus */
-
diff --git a/mail/thunderbird/patches/patch-mozilla_mfbt_Alignment.h b/mail/thunderbird/patches/patch-mozilla_mfbt_Alignment.h
new file mode 100644
index 00000000000..77dc4880794
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_mfbt_Alignment.h
@@ -0,0 +1,45 @@
+$NetBSD: patch-mozilla_mfbt_Alignment.h,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/mfbt/Alignment.h.orig 2014-07-18 00:05:43.000000000 +0000
++++ mozilla/mfbt/Alignment.h
+@@ -9,11 +9,20 @@
+ #ifndef mozilla_Alignment_h
+ #define mozilla_Alignment_h
+
++#include "mozilla/Attributes.h"
++
+ #include <stddef.h>
+ #include <stdint.h>
+
+ namespace mozilla {
+
++#if defined(MOZ_HAVE_CXX11_ALIGNAS)
++#define MOZ_ALIGNOF(T) alignof(T)
++#elif defined(__GNUC__)
++#define MOZ_ALIGNOF(T) __alignof__(T)
++#elif defined(_MSC_VER)
++#define MOZ_ALIGNOF(T) __alignof(T)
++#else
+ /*
+ * This class, and the corresponding macro MOZ_ALIGNOF, figures out how many
+ * bytes of alignment a given type needs.
+@@ -32,6 +41,7 @@ class AlignmentFinder
+ };
+
+ #define MOZ_ALIGNOF(T) mozilla::AlignmentFinder<T>::alignment
++#endif
+
+ /*
+ * Declare the MOZ_ALIGNED_DECL macro for declaring aligned types.
+@@ -43,7 +53,10 @@ class AlignmentFinder
+ * will declare a two-character array |arr| aligned to 8 bytes.
+ */
+
+-#if defined(__GNUC__)
++#if defined(MOZ_HAVE_CXX11_ALIGNAS)
++# define MOZ_ALIGNED_DECL(_type, _align) \
++ alignas(_align) _type
++#elif defined(__GNUC__)
+ # define MOZ_ALIGNED_DECL(_type, _align) \
+ _type __attribute__((aligned(_align)))
+ #elif defined(_MSC_VER)
diff --git a/mail/thunderbird/patches/patch-mozilla_mfbt_Atomics.h b/mail/thunderbird/patches/patch-mozilla_mfbt_Atomics.h
deleted file mode 100644
index 3b105b8763c..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_mfbt_Atomics.h
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-mozilla_mfbt_Atomics.h,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/mfbt/Atomics.h.orig 2013-10-23 22:09:13.000000000 +0000
-+++ mozilla/mfbt/Atomics.h
-@@ -37,7 +37,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/mail/thunderbird/patches/patch-mozilla_mfbt_Attributes.h b/mail/thunderbird/patches/patch-mozilla_mfbt_Attributes.h
new file mode 100644
index 00000000000..e337203bbb6
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_mfbt_Attributes.h
@@ -0,0 +1,32 @@
+$NetBSD: patch-mozilla_mfbt_Attributes.h,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/mfbt/Attributes.h.orig 2014-07-18 00:05:43.000000000 +0000
++++ mozilla/mfbt/Attributes.h
+@@ -54,6 +54,9 @@
+ # ifndef __has_extension
+ # define __has_extension __has_feature /* compatibility, for older versions of clang */
+ # endif
++# if __has_extension(cxx_alignas)
++# define MOZ_HAVE_CXX11_ALIGNAS
++# endif
+ # if __has_extension(cxx_constexpr)
+ # define MOZ_HAVE_CXX11_CONSTEXPR
+ # endif
+@@ -75,6 +78,9 @@
+ # endif
+ #elif defined(__GNUC__)
+ # if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L
++# if MOZ_GCC_VERSION_AT_LEAST(4, 8, 0)
++# define MOZ_HAVE_CXX11_ALIGNAS
++# endif
+ # if MOZ_GCC_VERSION_AT_LEAST(4, 7, 0)
+ # define MOZ_HAVE_CXX11_OVERRIDE
+ # define MOZ_HAVE_CXX11_FINAL final
+@@ -96,6 +102,7 @@
+ # define MOZ_HAVE_NORETURN __attribute__((noreturn))
+ #elif defined(_MSC_VER)
+ # if _MSC_VER >= 1800
++# define MOZ_HAVE_CXX11_ALIGNAS
+ # define MOZ_HAVE_CXX11_DELETE
+ # endif
+ # if _MSC_VER >= 1700
diff --git a/mail/thunderbird/patches/patch-mozilla_mobile_android_installer_Makefile.in b/mail/thunderbird/patches/patch-mozilla_mobile_android_installer_Makefile.in
new file mode 100644
index 00000000000..c052762b370
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_mobile_android_installer_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-mozilla_mobile_android_installer_Makefile.in,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/mobile/android/installer/Makefile.in.orig 2014-07-18 00:05:44.000000000 +0000
++++ mozilla/mobile/android/installer/Makefile.in
+@@ -41,6 +41,10 @@ BINPATH = bin
+ endif
+ DEFINES += -DBINPATH=$(BINPATH)
+
++ifdef MOZ_DEBUG
++DEFINES += -DMOZ_DEBUG=1
++endif
++
+ ifdef ENABLE_MARIONETTE
+ DEFINES += -DENABLE_MARIONETTE=1
+ endif
diff --git a/mail/thunderbird/patches/patch-mozilla_mobile_android_installer_package-manifest.in b/mail/thunderbird/patches/patch-mozilla_mobile_android_installer_package-manifest.in
new file mode 100644
index 00000000000..238e221aee2
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_mobile_android_installer_package-manifest.in
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_mobile_android_installer_package-manifest.in,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/mobile/android/installer/package-manifest.in.orig 2014-07-18 00:05:44.000000000 +0000
++++ mozilla/mobile/android/installer/package-manifest.in
+@@ -424,7 +424,7 @@
+ @BINPATH@/components/dom_webspeechsynth.xpt
+ #endif
+
+-#ifdef MOZ_DEBUG
++#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
+ @BINPATH@/components/TestInterfaceJS.js
+ @BINPATH@/components/TestInterfaceJS.manifest
+ #endif
diff --git a/mail/thunderbird/patches/patch-mozilla_modules_libpref_src_init_all.js b/mail/thunderbird/patches/patch-mozilla_modules_libpref_src_init_all.js
deleted file mode 100644
index 9368e9c80ca..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_modules_libpref_src_init_all.js
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-mozilla_modules_libpref_src_init_all.js,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/modules/libpref/src/init/all.js.orig 2013-10-23 22:09:14.000000000 +0000
-+++ mozilla/modules/libpref/src/init/all.js
-@@ -188,7 +188,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/mail/thunderbird/patches/patch-mozilla_netwerk_dns_Makefile.in b/mail/thunderbird/patches/patch-mozilla_netwerk_dns_Makefile.in
new file mode 100644
index 00000000000..a7feca8008c
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_netwerk_dns_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-mozilla_netwerk_dns_Makefile.in,v 1.1 2014/07/27 20:04:59 ryoon Exp $
+
+--- mozilla/netwerk/dns/Makefile.in.orig 2014-07-18 00:05:46.000000000 +0000
++++ mozilla/netwerk/dns/Makefile.in
+@@ -5,6 +5,10 @@
+
+ include $(topsrcdir)/config/rules.mk
+
++ifdef MOZ_NATIVE_HARFBUZZ
++CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
++endif
++
+ # Generate the include file containing compact, static definitions
+ # for effective TLD data.
+ etld_data.inc: $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat
diff --git a/mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_netinet6_sctp6__usrreq.c b/mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_netinet6_sctp6__usrreq.c
deleted file mode 100644
index 732ab8f4b2c..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_netinet6_sctp6__usrreq.c
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-mozilla_netwerk_sctp_src_netinet6_sctp6__usrreq.c,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/netwerk/sctp/src/netinet6/sctp6_usrreq.c.orig 2013-10-23 22:09:15.000000000 +0000
-+++ mozilla/netwerk/sctp/src/netinet6/sctp6_usrreq.c
-@@ -459,6 +459,8 @@ sctp6_notify(struct sctp_inpcb *inp,
- (icmph->icmp6_code == ICMP_UNREACH_HOST_PROHIB) ||
- #ifdef __Panda__
- (icmph->icmp6_code == ICMP_UNREACH_ADMIN)) {
-+#elif defined(__Userspace_os_NetBSD)
-+ (icmph->icmp6_code == ICMP_UNREACH_ADMIN_PROHIBIT)) {
- #else
- (icmph->icmp6_code == ICMP_UNREACH_FILTER_PROHIB)) {
- #endif
diff --git a/mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_netinet_sctp__os__userspace.h b/mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_netinet_sctp__os__userspace.h
deleted file mode 100644
index 43d5e8d8506..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_netinet_sctp__os__userspace.h
+++ /dev/null
@@ -1,41 +0,0 @@
-$NetBSD: patch-mozilla_netwerk_sctp_src_netinet_sctp__os__userspace.h,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/netwerk/sctp/src/netinet/sctp_os_userspace.h.orig 2013-10-23 22:09:15.000000000 +0000
-+++ mozilla/netwerk/sctp/src/netinet/sctp_os_userspace.h
-@@ -383,7 +383,7 @@ struct udphdr {
- #else /* !defined(Userspace_os_Windows) */
- #include <sys/cdefs.h> /* needed? added from old __FreeBSD__ */
- #include <sys/socket.h>
--#if defined(__Userspace_os_FreeBSD) || defined(__Userspace_os_OpenBSD) || defined(ANDROID)
-+#if defined(__Userspace_os_FreeBSD) || defined(__Userspace_os_OpenBSD) || defined(ANDROID) || defined(__Userspace_os_NetBSD)
- #include <pthread.h>
- #endif
- typedef pthread_mutex_t userland_mutex_t;
-@@ -397,7 +397,9 @@ typedef pthread_t userland_thread_t;
- #define MA_OWNED 7 /* sys/mutex.h typically on FreeBSD */
- #if !defined(__Userspace_os_FreeBSD)
- struct mtx {int dummy;};
-+#if !defined(__Userspace_os_NetBSD)
- struct selinfo {int dummy;};
-+#endif
- struct sx {int dummy;};
- #endif
-
-@@ -500,7 +502,7 @@ struct sx {int dummy;};
- #include <netinet/ip6.h>
- #include <netinet/icmp6.h>
- #endif
--#if defined(__Userspace_os_Linux) || defined(__Userspace_os_Darwin) || defined(__Userspace_os_FreeBSD) || defined(__Userspace_os_OpenBSD) ||defined(__Userspace_os_Windows)
-+#if defined(__Userspace_os_Linux) || defined(__Userspace_os_Darwin) || defined(__Userspace_os_FreeBSD) || defined(__Userspace_os_OpenBSD) ||defined(__Userspace_os_Windows) || defined(__Userspace_os_NetBSD)
- #include "user_ip6_var.h"
- #else
- #include <netinet6/ip6_var.h>
-@@ -1120,6 +1122,8 @@ sctp_get_mbuf_for_msg(unsigned int space
- #if defined(__Userspace_os_FreeBSD) || defined(__Userspace_os_OpenBSD)
- /* stolen from /usr/include/sys/socket.h */
- #define CMSG_ALIGN(n) _ALIGN(n)
-+#elif defined(__Userspace_os_NetBSD)
-+#define CMSG_ALIGN(n) (((n) + __ALIGNBYTES) & ~__ALIGNBYTES)
- #elif defined(__Userspace_os_Darwin)
- #if !defined(__DARWIN_ALIGNBYTES)
- #define __DARWIN_ALIGNBYTES (sizeof(__darwin_size_t) - 1)
diff --git a/mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_netinet_sctp__usrreq.c b/mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_netinet_sctp__usrreq.c
deleted file mode 100644
index 02fe163a6c8..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_netinet_sctp__usrreq.c
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-mozilla_netwerk_sctp_src_netinet_sctp__usrreq.c,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/netwerk/sctp/src/netinet/sctp_usrreq.c.orig 2013-10-23 22:09:15.000000000 +0000
-+++ mozilla/netwerk/sctp/src/netinet/sctp_usrreq.c
-@@ -414,6 +414,8 @@ sctp_notify(struct sctp_inpcb *inp,
- (icmph->icmp_code == ICMP_UNREACH_HOST_PROHIB) ||
- #ifdef __Panda__
- (icmph->icmp_code == ICMP_UNREACH_ADMIN)) {
-+#elif defined(__Userspace_os_NetBSD)
-+ (icmph->icmp_code == ICMP_UNREACH_ADMIN_PROHIBIT)) {
- #else
- (icmph->icmp_code == ICMP_UNREACH_FILTER_PROHIB)) {
- #endif
diff --git a/mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_user__recv__thread.c b/mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_user__recv__thread.c
deleted file mode 100644
index 04c44642039..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_user__recv__thread.c
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-mozilla_netwerk_sctp_src_user__recv__thread.c,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/netwerk/sctp/src/user_recv_thread.c.orig 2013-10-23 22:09:15.000000000 +0000
-+++ mozilla/netwerk/sctp/src/user_recv_thread.c
-@@ -35,7 +35,7 @@
- #include <netinet/in.h>
- #include <unistd.h>
- #include <pthread.h>
--#if !defined(__Userspace_os_FreeBSD)
-+#if !defined(__Userspace_os_FreeBSD) && !defined(__Userspace_os_NetBSD)
- #include <sys/uio.h>
- #else
- #include <user_ip6_var.h>
diff --git a/mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_user__socket.c b/mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_user__socket.c
deleted file mode 100644
index 966bc332dc5..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_user__socket.c
+++ /dev/null
@@ -1,53 +0,0 @@
-$NetBSD: patch-mozilla_netwerk_sctp_src_user__socket.c,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/netwerk/sctp/src/user_socket.c.orig 2013-10-23 22:09:15.000000000 +0000
-+++ mozilla/netwerk/sctp/src/user_socket.c
-@@ -1044,8 +1044,13 @@ userspace_sctp_recvmsg(struct socket *so
- (struct sctp_sndrcvinfo *)sinfo, 1);
-
- if (error) {
-+#if defined(__Userspace_os_NetBSD)
-+ if (auio.uio_resid != (int)ulen && (
-+ error == EINTR || error == EWOULDBLOCK))
-+#else
- if (auio.uio_resid != (int)ulen && (error == ERESTART ||
- error == EINTR || error == EWOULDBLOCK))
-+#endif
- error = 0;
- }
- if ((fromlenp != NULL) && (fromlen > 0) && (from != NULL)) {
-@@ -1133,7 +1138,11 @@ usrsctp_recvv(struct socket *so,
- (struct sctp_sndrcvinfo *)&seinfo, 1);
- if (errno) {
- if (auio.uio_resid != (int)ulen &&
-+#if defined(__Userspace_os_NetBSD)
-+ (errno == EINTR || errno == EWOULDBLOCK)) {
-+#else
- (errno == ERESTART || errno == EINTR || errno == EWOULDBLOCK)) {
-+#endif
- errno = 0;
- }
- }
-@@ -2083,7 +2092,11 @@ int user_connect(struct socket *so, stru
- error = pthread_cond_wait(SOCK_COND(so), SOCK_MTX(so));
- #endif
- if (error) {
-+#if defined(__Userspace_os_NetBSD)
-+ if (error == EINTR)
-+#else
- if (error == EINTR || error == ERESTART)
-+#endif
- interrupted = 1;
- break;
- }
-@@ -2097,8 +2110,10 @@ int user_connect(struct socket *so, stru
- bad:
- if (!interrupted)
- so->so_state &= ~SS_ISCONNECTING;
-+#if !defined(__Userspace_os_NetBSD)
- if (error == ERESTART)
- error = EINTR;
-+#endif
- done1:
- return (error);
- }
diff --git a/mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_user__socketvar.h b/mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_user__socketvar.h
deleted file mode 100644
index d79cb6411dd..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_netwerk_sctp_src_user__socketvar.h
+++ /dev/null
@@ -1,27 +0,0 @@
-$NetBSD: patch-mozilla_netwerk_sctp_src_user__socketvar.h,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/netwerk/sctp/src/user_socketvar.h.orig 2013-10-23 22:09:15.000000000 +0000
-+++ mozilla/netwerk/sctp/src/user_socketvar.h
-@@ -47,7 +47,7 @@
- /* #include <sys/_lock.h> was 0 byte file */
- /* #include <sys/_mutex.h> was 0 byte file */
- /* #include <sys/_sx.h> */ /*__Userspace__ alternative?*/
--#if !defined(__Userspace_os_Windows) && !defined(__Userspace_os_FreeBSD)
-+#if !defined(__Userspace_os_Windows) && !defined(__Userspace_os_FreeBSD) && !defined(__Userspace_os_NetBSD)
- #include <sys/uio.h>
- #endif
- #define SOCK_MAXADDRLEN 255
-@@ -64,11 +64,11 @@
- #define ERESTART (-1)
- #endif
-
--#if !defined(__Userspace_os_Darwin) && !defined(__Userspace_os_OpenBSD)
-+#if !defined(__Userspace_os_Darwin) && !defined(__Userspace_os_OpenBSD) && !defined(__Userspace_os_NetBSD)
- enum uio_rw { UIO_READ, UIO_WRITE };
- #endif
-
--#if !defined(__Userspace_os_OpenBSD)
-+#if !defined(__Userspace_os_OpenBSD) && !defined(__Userspace_os_NetBSD)
- /* Segment flag values. */
- enum uio_seg {
- UIO_USERSPACE, /* from user data space */
diff --git a/mail/thunderbird/patches/patch-mozilla_netwerk_wifi_Makefile.in b/mail/thunderbird/patches/patch-mozilla_netwerk_wifi_Makefile.in
deleted file mode 100644
index 2274197718d..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_netwerk_wifi_Makefile.in
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-mozilla_netwerk_wifi_Makefile.in,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/netwerk/wifi/Makefile.in.orig 2013-10-23 22:09:15.000000000 +0000
-+++ mozilla/netwerk/wifi/Makefile.in
-@@ -26,7 +26,7 @@ ifeq ($(OS_ARCH),SunOS)
- OS_INCLUDES += $(GLIB_CFLAGS)
- endif
-
--ifdef MOZ_ENABLE_DBUS
-+ifdef NECKO_WIFI_DBUS
- OS_INCLUDES += $(MOZ_DBUS_GLIB_CFLAGS)
- endif
-
diff --git a/mail/thunderbird/patches/patch-mozilla_netwerk_wifi_moz.build b/mail/thunderbird/patches/patch-mozilla_netwerk_wifi_moz.build
deleted file mode 100644
index 683a1af91e2..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_netwerk_wifi_moz.build
+++ /dev/null
@@ -1,24 +0,0 @@
-$NetBSD: patch-mozilla_netwerk_wifi_moz.build,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/netwerk/wifi/moz.build.orig 2013-10-23 22:09:15.000000000 +0000
-+++ mozilla/netwerk/wifi/moz.build
-@@ -31,6 +31,10 @@ if CONFIG['OS_ARCH'] == 'Darwin':
- CPP_SOURCES += [
- 'nsWifiScannerMac.cpp',
- ]
-+elif CONFIG['OS_ARCH'] == 'FreeBSD':
-+ CPP_SOURCES += [
-+ 'nsWifiScannerFreeBSD.cpp',
-+ ]
- elif CONFIG['OS_ARCH'] == 'WINNT':
- CPP_SOURCES += [
- 'nsWifiScannerWin.cpp',
-@@ -40,7 +44,7 @@ elif CONFIG['OS_ARCH'] == 'SunOS':
- 'nsWifiScannerSolaris.cpp',
- ]
-
--if CONFIG['MOZ_ENABLE_DBUS']:
-+if CONFIG['NECKO_WIFI_DBUS']:
- CPP_SOURCES += [
- 'nsWifiScannerDBus.cpp',
- ]
diff --git a/mail/thunderbird/patches/patch-mozilla_netwerk_wifi_nsWifiScannerFreeBSD.cpp b/mail/thunderbird/patches/patch-mozilla_netwerk_wifi_nsWifiScannerFreeBSD.cpp
deleted file mode 100644
index c09775c7d4a..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_netwerk_wifi_nsWifiScannerFreeBSD.cpp
+++ /dev/null
@@ -1,177 +0,0 @@
-$NetBSD: patch-mozilla_netwerk_wifi_nsWifiScannerFreeBSD.cpp,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/netwerk/wifi/nsWifiScannerFreeBSD.cpp.orig 2013-11-11 22:24:14.000000000 +0000
-+++ mozilla/netwerk/wifi/nsWifiScannerFreeBSD.cpp
-@@ -0,0 +1,172 @@
-+/* This Source Code Form is subject to the terms of the Mozilla Public
-+ * License, v. 2.0. If a copy of the MPL was not distributed with this
-+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-+
-+// Developed by J.R. Oldroyd <fbsd@opal.com>, December 2012.
-+
-+// For FreeBSD we use the getifaddrs(3) to obtain the list of interfaces
-+// and then check for those with an 802.11 media type and able to return
-+// a list of stations. This is similar to ifconfig(8).
-+
-+#include <sys/types.h>
-+#include <sys/ioctl.h>
-+#include <sys/socket.h>
-+#include <net/if.h>
-+#include <net/if_media.h>
-+#include <net80211/ieee80211_ioctl.h>
-+
-+#include <ifaddrs.h>
-+#include <string.h>
-+#include <unistd.h>
-+
-+#include "nsWifiAccessPoint.h"
-+
-+using namespace mozilla;
-+
-+static nsresult
-+FreeBSDGetAccessPointData(nsCOMArray<nsWifiAccessPoint> &accessPoints)
-+{
-+ bool res = false;
-+ char *dupn = NULL;
-+ struct ifaddrs *ifal, *ifa;
-+ unsigned len;
-+
-+ // get list of interfaces
-+ if (getifaddrs(&ifal) < 0)
-+ return NS_ERROR_FAILURE;
-+
-+ accessPoints.Clear();
-+
-+ // loop through the interfaces
-+ for (ifa = ifal; ifa; ifa = ifa->ifa_next) {
-+ int s;
-+ struct ifreq ifr;
-+ struct ifmediareq ifmr;
-+ struct ieee80211req i802r;
-+ char iscanbuf[32*1024], *vsr;
-+
-+ memset(&ifr, 0, sizeof(ifr));
-+
-+ // list can contain duplicates, so ignore those
-+ if (dupn != NULL && strcmp(dupn, ifa->ifa_name) == 0)
-+ continue;
-+ dupn = ifa->ifa_name;
-+
-+ // store interface name in socket structure
-+ strncpy(ifr.ifr_name, ifa->ifa_name, sizeof(ifr.ifr_name));
-+ ifr.ifr_addr.sa_family = AF_LOCAL;
-+
-+ // open socket to interface
-+ if ((s = socket(ifr.ifr_addr.sa_family, SOCK_DGRAM, 0)) < 0)
-+ continue;
-+
-+ // clear interface media structure
-+ (void) memset(&ifmr, 0, sizeof(ifmr));
-+ (void) strncpy(ifmr.ifm_name, ifa->ifa_name, sizeof(ifmr.ifm_name));
-+
-+ // get interface media information
-+ if (ioctl(s, SIOCGIFMEDIA, (caddr_t)&ifmr) < 0) {
-+ close(s);
-+ continue;
-+ }
-+
-+ // check interface is a WiFi interface
-+ if (IFM_TYPE(ifmr.ifm_active) != IFM_IEEE80211) {
-+ close(s);
-+ continue;
-+ }
-+
-+ // perform WiFi scan
-+ (void) memset(&i802r, 0, sizeof(i802r));
-+ (void) strncpy(i802r.i_name, ifa->ifa_name, sizeof(i802r.i_name));
-+ i802r.i_type = IEEE80211_IOC_SCAN_RESULTS;
-+ i802r.i_data = iscanbuf;
-+ i802r.i_len = sizeof(iscanbuf);
-+ if (ioctl(s, SIOCG80211, &i802r) < 0) {
-+ close(s);
-+ continue;
-+ }
-+
-+ // close socket
-+ close(s);
-+
-+ // loop through WiFi networks and build geoloc-lookup structure
-+ vsr = (char *) i802r.i_data;
-+ len = i802r.i_len;
-+ while (len >= sizeof(struct ieee80211req_scan_result)) {
-+ struct ieee80211req_scan_result *isr;
-+ char *id;
-+ int idlen;
-+ char ssid[IEEE80211_NWID_LEN+1];
-+ nsWifiAccessPoint *ap;
-+
-+ isr = (struct ieee80211req_scan_result *) vsr;
-+
-+ // determine size of this entry
-+ if (isr->isr_meshid_len) {
-+ id = vsr + isr->isr_ie_off + isr->isr_ssid_len;
-+ idlen = isr->isr_meshid_len;
-+ }
-+ else {
-+ id = vsr + isr->isr_ie_off;
-+ idlen = isr->isr_ssid_len;
-+ }
-+
-+ // copy network data
-+ strncpy(ssid, id, idlen);
-+ ssid[idlen] = '\0';
-+ ap = new nsWifiAccessPoint();
-+ ap->setSSID(ssid, strlen(ssid));
-+ ap->setMac(isr->isr_bssid);
-+ ap->setSignal(isr->isr_rssi);
-+ accessPoints.AppendObject(ap);
-+ res = true;
-+
-+ // log the data
-+ LOG(( "FreeBSD access point: "
-+ "SSID: %s, MAC: %02x-%02x-%02x-%02x-%02x-%02x, "
-+ "Strength: %d, Channel: %dMHz\n",
-+ ssid, isr->isr_bssid[0], isr->isr_bssid[1], isr->isr_bssid[2],
-+ isr->isr_bssid[3], isr->isr_bssid[4], isr->isr_bssid[5],
-+ isr->isr_rssi, isr->isr_freq));
-+
-+ // increment pointers
-+ len -= isr->isr_len;
-+ vsr += isr->isr_len;
-+ }
-+ }
-+
-+ freeifaddrs(ifal);
-+
-+ return res ? NS_OK : NS_ERROR_FAILURE;
-+}
-+
-+nsresult
-+nsWifiMonitor::DoScan()
-+{
-+ // Regularly get the access point data.
-+
-+ nsCOMArray<nsWifiAccessPoint> lastAccessPoints;
-+ nsCOMArray<nsWifiAccessPoint> accessPoints;
-+
-+ do {
-+ nsresult rv = FreeBSDGetAccessPointData(accessPoints);
-+ if (NS_FAILED(rv))
-+ return rv;
-+
-+ bool accessPointsChanged = !AccessPointsEqual(accessPoints, lastAccessPoints);
-+ ReplaceArray(lastAccessPoints, accessPoints);
-+
-+ rv = CallWifiListeners(lastAccessPoints, accessPointsChanged);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ // wait for some reasonable amount of time. pref?
-+ LOG(("waiting on monitor\n"));
-+
-+ ReentrantMonitorAutoEnter mon(mReentrantMonitor);
-+ mon.Wait(PR_SecondsToInterval(60));
-+ }
-+ while (mKeepGoing);
-+
-+ return NS_OK;
-+}
diff --git a/mail/thunderbird/patches/patch-mozilla_ostream b/mail/thunderbird/patches/patch-mozilla_ostream
new file mode 100644
index 00000000000..e38e52b3a71
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_ostream
@@ -0,0 +1,8 @@
+$NetBSD: patch-mozilla_ostream,v 1.1 2014/07/27 20:05:00 ryoon Exp $
+
+--- mozilla/ostream.orig 2014-07-27 06:20:09.000000000 +0000
++++ mozilla/ostream
+@@ -0,0 +1,3 @@
++#pragma GCC visibility push(default)
++#include_next <ostream>
++#pragma GCC visibility pop
diff --git a/mail/thunderbird/patches/patch-mozilla_probes_Makefile.in b/mail/thunderbird/patches/patch-mozilla_probes_Makefile.in
new file mode 100644
index 00000000000..8aec434c5fd
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_probes_Makefile.in
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_probes_Makefile.in,v 1.1 2014/07/27 20:05:00 ryoon Exp $
+
+--- mozilla/probes/Makefile.in.orig 2014-07-18 00:05:48.000000000 +0000
++++ mozilla/probes/Makefile.in
+@@ -7,7 +7,7 @@ export:: $(DIST)/include/mozilla-trace.h
+
+ # Replace _DTRACE_VERSION with INCLUDE_MOZILLA_DTRACE
+ $(DIST)/include/mozilla-trace.h: mozilla-trace.d Makefile
+- dtrace -h -s $(srcdir)/mozilla-trace.d -o mozilla-trace.h.tmp
++ dtrace -x nolibs -h -s $(srcdir)/mozilla-trace.d -o mozilla-trace.h.tmp
+ sed -e 's/if _DTRACE_VERSION/ifdef INCLUDE_MOZILLA_DTRACE/' \
+ mozilla-trace.h.tmp > $(DIST)/include/mozilla-trace.h
+ rm mozilla-trace.h.tmp
diff --git a/mail/thunderbird/patches/patch-mozilla_security_manager_ssl_src_JARSignatureVerification.cpp b/mail/thunderbird/patches/patch-mozilla_security_manager_ssl_src_JARSignatureVerification.cpp
deleted file mode 100644
index 23039e116ab..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_security_manager_ssl_src_JARSignatureVerification.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-$NetBSD: patch-mozilla_security_manager_ssl_src_JARSignatureVerification.cpp,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/security/manager/ssl/src/JARSignatureVerification.cpp.orig 2013-10-23 22:09:16.000000000 +0000
-+++ mozilla/security/manager/ssl/src/JARSignatureVerification.cpp
-@@ -596,9 +596,9 @@ OpenSignedJARFile(nsIFile * aJarFile,
- }
-
- // Verify that the signature file is a valid signature of the SF file
-- if (!SEC_PKCS7VerifyDetachedSignatureAtTime(p7_info, certUsageObjectSigner,
-- &sfCalculatedDigest.get(),
-- HASH_AlgSHA1, false, PR_Now())) {
-+ if (!SEC_PKCS7VerifyDetachedSignature(p7_info, certUsageObjectSigner,
-+ &sfCalculatedDigest.get(), HASH_AlgSHA1,
-+ false)) {
- PRErrorCode error = PR_GetError();
- const char * errorName = PR_ErrorToName(error);
- PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("Failed to verify detached signature: %s",
diff --git a/mail/thunderbird/patches/patch-mozilla_storage_src_moz.build b/mail/thunderbird/patches/patch-mozilla_storage_src_moz.build
new file mode 100644
index 00000000000..dc115be785c
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_storage_src_moz.build
@@ -0,0 +1,20 @@
+$NetBSD: patch-mozilla_storage_src_moz.build,v 1.1 2014/07/27 20:05:00 ryoon Exp $
+
+--- mozilla/storage/src/moz.build.orig 2014-07-18 00:05:51.000000000 +0000
++++ mozilla/storage/src/moz.build
+@@ -48,11 +48,14 @@ FINAL_LIBRARY = 'storagecomps'
+ # (such as NSS) might trigger an initialization of sqlite and allocation
+ # of memory using the default allocator, prior to the storage service
+ # registering its allocator, causing memory management failures (bug 938730).
++# However, this is not an issue if both the jemalloc allocator and the default
++# allocator are the same thing.
+ #
+ # Note: On Windows our sqlite build assumes we use jemalloc. If you disable
+ # MOZ_STORAGE_MEMORY on Windows, you will also need to change the "ifdef
+ # MOZ_MEMORY" options in db/sqlite3/src/Makefile.in.
+-if CONFIG['MOZ_MEMORY'] and not CONFIG['MOZ_NATIVE_SQLITE']:
++if CONFIG['MOZ_MEMORY'] and (not CONFIG['MOZ_NATIVE_SQLITE']
++ or CONFIG['MOZ_NATIVE_JEMALLOC']):
+ if CONFIG['OS_TARGET'] != 'Android':
+ DEFINES['MOZ_STORAGE_MEMORY'] = True
+
diff --git a/mail/thunderbird/patches/patch-mozilla_toolkit_components_osfile_modules_osfile__unix__back.jsm b/mail/thunderbird/patches/patch-mozilla_toolkit_components_osfile_modules_osfile__unix__back.jsm
new file mode 100644
index 00000000000..732a04072b8
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_toolkit_components_osfile_modules_osfile__unix__back.jsm
@@ -0,0 +1,44 @@
+$NetBSD: patch-mozilla_toolkit_components_osfile_modules_osfile__unix__back.jsm,v 1.1 2014/07/27 20:05:00 ryoon Exp $
+
+--- mozilla/toolkit/components/osfile/modules/osfile_unix_back.jsm.orig 2014-07-18 00:05:52.000000000 +0000
++++ mozilla/toolkit/components/osfile/modules/osfile_unix_back.jsm
+@@ -228,8 +228,8 @@
+ let statvfs = new SharedAll.HollowStructure("statvfs",
+ Const.OSFILE_SIZEOF_STATVFS);
+
+- statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_BSIZE,
+- "f_bsize", Type.unsigned_long.implementation);
++ statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_FRSIZE,
++ "f_frsize", Type.unsigned_long.implementation);
+ statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_BAVAIL,
+ "f_bavail", Type.fsblkcnt_t.implementation);
+
+@@ -632,21 +632,22 @@
+ return Stat.fxstat(ver, fd, buf);
+ };
+ } else if (OS.Constants.Sys.Name == "NetBSD") {
+- // NetBSD 5.0 and newer
+- libc.declareLazyFFI(SysFile, "stat",
+- "__stat50", ctypes.default_abi,
++ // NetBSD 5.0 uses *30, and netbsd-6 uses *50
++ let v = OS.Constants.libc.OSFILE_SIZEOF_TIME_T < 8 ? "30" : "50";
++ libc.declareLazyFFI(SysFile, "stat",
++ "__stat"+v, ctypes.default_abi,
+ /*return*/ Type.negativeone_or_nothing,
+ /*path*/ Type.path,
+ /*buf*/ Type.stat.out_ptr
+ );
+ libc.declareLazyFFI(SysFile, "lstat",
+- "__lstat50", ctypes.default_abi,
++ "__lstat"+v, ctypes.default_abi,
+ /*return*/ Type.negativeone_or_nothing,
+ /*path*/ Type.path,
+ /*buf*/ Type.stat.out_ptr
+ );
+- libc.declareLazyFFI(SysFile, "fstat",
+- "__fstat50", ctypes.default_abi,
++ libc.declareLazyFFI(SysFile, "fstat", libc,
++ "__fstat"+v, ctypes.default_abi,
+ /*return*/ Type.negativeone_or_nothing,
+ /*fd*/ Type.fd,
+ /*buf*/ Type.stat.out_ptr
diff --git a/mail/thunderbird/patches/patch-mozilla_toolkit_components_osfile_modules_osfile__unix__front.jsm b/mail/thunderbird/patches/patch-mozilla_toolkit_components_osfile_modules_osfile__unix__front.jsm
new file mode 100644
index 00000000000..da4be401966
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_toolkit_components_osfile_modules_osfile__unix__front.jsm
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_toolkit_components_osfile_modules_osfile__unix__front.jsm,v 1.1 2014/07/27 20:05:00 ryoon Exp $
+
+--- mozilla/toolkit/components/osfile/modules/osfile_unix_front.jsm.orig 2014-07-18 00:05:52.000000000 +0000
++++ mozilla/toolkit/components/osfile/modules/osfile_unix_front.jsm
+@@ -400,7 +400,7 @@
+ throw_on_negative("statvfs", UnixFile.statvfs(sourcePath, fileSystemInfoPtr));
+
+ let bytes = new Type.uint64_t.implementation(
+- fileSystemInfo.f_bsize * fileSystemInfo.f_bavail);
++ fileSystemInfo.f_frsize * fileSystemInfo.f_bavail);
+
+ return bytes.value;
+ };
diff --git a/mail/thunderbird/patches/patch-mozilla_toolkit_components_osfile_osfile__unix__allthreads.jsm b/mail/thunderbird/patches/patch-mozilla_toolkit_components_osfile_osfile__unix__allthreads.jsm
deleted file mode 100644
index 073a66443fc..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_toolkit_components_osfile_osfile__unix__allthreads.jsm
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-mozilla_toolkit_components_osfile_osfile__unix__allthreads.jsm,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/toolkit/components/osfile/osfile_unix_allthreads.jsm.orig 2013-10-23 22:09:18.000000000 +0000
-+++ mozilla/toolkit/components/osfile/osfile_unix_allthreads.jsm
-@@ -40,7 +40,7 @@ if (typeof Components != "undefined") {
- // Open libc
- let libc;
- let libc_candidates = [ "libSystem.B.dylib",
-- "libc.so.6",
-+ "libc.so.7",
- "libc.so" ];
- for (let i = 0; i < libc_candidates.length; ++i) {
- try {
diff --git a/mail/thunderbird/patches/patch-mozilla_toolkit_components_osfile_osfile__unix__back.jsm b/mail/thunderbird/patches/patch-mozilla_toolkit_components_osfile_osfile__unix__back.jsm
deleted file mode 100644
index ba7dde2d6ac..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_toolkit_components_osfile_osfile__unix__back.jsm
+++ /dev/null
@@ -1,71 +0,0 @@
-$NetBSD: patch-mozilla_toolkit_components_osfile_osfile__unix__back.jsm,v 1.2 2013/11/13 14:36:58 ryoon Exp $
-
---- mozilla/toolkit/components/osfile/osfile_unix_back.jsm.orig 2013-10-23 22:09:18.000000000 +0000
-+++ mozilla/toolkit/components/osfile/osfile_unix_back.jsm
-@@ -173,7 +173,7 @@
- }
-
- stat.add_field_at(OS.Constants.libc.OSFILE_OFFSETOF_STAT_ST_SIZE,
-- "st_size", Types.size_t.implementation);
-+ "st_size", Types.off_t.implementation);
- Types.stat = stat.getType();
- }
-
-@@ -400,10 +400,17 @@
- /*oflags*/Types.int,
- /*mode*/ Types.int);
-
-+ if (OS.Constants.Sys.Name == "NetBSD") {
-+ UnixFile.opendir =
-+ declareFFI("__opendir30", ctypes.default_abi,
-+ /*return*/ Types.null_or_DIR_ptr,
-+ /*path*/ Types.path);
-+ } else {
- UnixFile.opendir =
- declareFFI("opendir", ctypes.default_abi,
- /*return*/ Types.null_or_DIR_ptr,
- /*path*/ Types.path);
-+ }
-
- UnixFile.pread =
- declareFFI("pread", ctypes.default_abi,
-@@ -437,6 +444,11 @@
- declareFFI("readdir$INODE64", ctypes.default_abi,
- /*return*/Types.null_or_dirent_ptr,
- /*dir*/ Types.DIR.in_ptr); // For MacOS X
-+ } else if (OS.Constants.Sys.Name == "NetBSD") {
-+ UnixFile.readdir =
-+ declareFFI("__readdir30", ctypes.default_abi,
-+ /*return*/Types.null_or_dirent_ptr,
-+ /*dir*/ Types.DIR.in_ptr); // Other Unices
- } else {
- UnixFile.readdir =
- declareFFI("readdir", ctypes.default_abi,
-@@ -556,6 +568,27 @@
- UnixFile.fstat = function stat(fd, buf) {
- return fxstat(ver, fd, buf);
- };
-+ } else if (OS.Constants.Sys.Name == "NetBSD") {
-+ // NetBSD 5.0 uses *30, and netbsd-6 uses *50
-+ let v = OS.Constants.libc.OSFILE_SIZEOF_TIME_T < 8 ? "30" : "50";
-+ UnixFile.stat =
-+ declareFFI("__stat"+v, ctypes.default_abi,
-+ /*return*/ Types.negativeone_or_nothing,
-+ /*path*/ Types.path,
-+ /*buf*/ Types.stat.out_ptr
-+ );
-+ UnixFile.lstat =
-+ declareFFI("__lstat"+v, ctypes.default_abi,
-+ /*return*/ Types.negativeone_or_nothing,
-+ /*path*/ Types.path,
-+ /*buf*/ Types.stat.out_ptr
-+ );
-+ UnixFile.fstat =
-+ declareFFI("__fstat"+v, ctypes.default_abi,
-+ /*return*/ Types.negativeone_or_nothing,
-+ /*fd*/ Types.fd,
-+ /*buf*/ Types.stat.out_ptr
-+ );
- } else {
- // Mac OS X 32-bits, other Unix
- UnixFile.stat =
diff --git a/mail/thunderbird/patches/patch-mozilla_toolkit_components_osfile_osfile__unix__front.jsm b/mail/thunderbird/patches/patch-mozilla_toolkit_components_osfile_osfile__unix__front.jsm
deleted file mode 100644
index e8601049301..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_toolkit_components_osfile_osfile__unix__front.jsm
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-mozilla_toolkit_components_osfile_osfile__unix__front.jsm,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/toolkit/components/osfile/osfile_unix_front.jsm.orig 2013-10-23 22:09:18.000000000 +0000
-+++ mozilla/toolkit/components/osfile/osfile_unix_front.jsm
-@@ -721,7 +721,7 @@
- File.Info = function Info(stat) {
- let isDir = (stat.st_mode & OS.Constants.libc.S_IFMT) == OS.Constants.libc.S_IFDIR;
- let isSymLink = (stat.st_mode & OS.Constants.libc.S_IFMT) == OS.Constants.libc.S_IFLNK;
-- let size = exports.OS.Shared.Type.size_t.importFromC(stat.st_size);
-+ let size = exports.OS.Shared.Type.off_t.importFromC(stat.st_size);
-
- let lastAccessDate = new Date(stat.st_atime * 1000);
- let lastModificationDate = new Date(stat.st_mtime * 1000);
diff --git a/mail/thunderbird/patches/patch-mozilla_toolkit_library_libxul.mk b/mail/thunderbird/patches/patch-mozilla_toolkit_library_libxul.mk
new file mode 100644
index 00000000000..d640873fc55
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_toolkit_library_libxul.mk
@@ -0,0 +1,73 @@
+$NetBSD: patch-mozilla_toolkit_library_libxul.mk,v 1.1 2014/07/27 20:05:00 ryoon Exp $
+
+--- mozilla/toolkit/library/libxul.mk.orig 2014-07-18 00:05:54.000000000 +0000
++++ mozilla/toolkit/library/libxul.mk
+@@ -77,6 +77,34 @@ ifdef MOZ_NATIVE_HUNSPELL
+ EXTRA_DSO_LDOPTS += $(MOZ_HUNSPELL_LIBS)
+ endif
+
++ifdef MOZ_NATIVE_OGG
++EXTRA_DSO_LDOPTS += $(MOZ_OGG_LIBS)
++endif
++
++ifdef MOZ_NATIVE_THEORA
++EXTRA_DSO_LDOPTS += $(MOZ_THEORA_LIBS)
++endif
++
++ifdef MOZ_NATIVE_VORBIS
++EXTRA_DSO_LDOPTS += $(MOZ_VORBIS_LIBS)
++endif
++
++ifdef MOZ_NATIVE_TREMOR
++EXTRA_DSO_LDOPTS += $(MOZ_TREMOR_LIBS)
++endif
++
++ifdef MOZ_NATIVE_OPUS
++EXTRA_DSO_LDOPTS += $(MOZ_OPUS_LIBS)
++endif
++
++ifdef MOZ_NATIVE_SPEEX
++EXTRA_DSO_LDOPTS += $(MOZ_SPEEX_LIBS)
++endif
++
++ifdef MOZ_NATIVE_SOUNDTOUCH
++EXTRA_DSO_LDOPTS += $(MOZ_SOUNDTOUCH_LIBS)
++endif
++
+ ifdef MOZ_NATIVE_LIBEVENT
+ EXTRA_DSO_LDOPTS += $(MOZ_LIBEVENT_LIBS)
+ endif
+@@ -89,12 +117,24 @@ ifndef MOZ_TREE_PIXMAN
+ EXTRA_DSO_LDOPTS += $(MOZ_PIXMAN_LIBS)
+ endif
+
++ifdef MOZ_NATIVE_GRAPHITE2
++EXTRA_DSO_LDOPTS += $(MOZ_GRAPHITE2_LIBS)
++endif
++
++ifdef MOZ_NATIVE_HARFBUZZ
++EXTRA_DSO_LDOPTS += $(MOZ_HARFBUZZ_LIBS)
++endif
++
+ ifdef MOZ_DMD
+ EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,dmd,$(DIST)/lib)
+ endif
+
+ EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,gkmedias,$(DIST)/lib)
+
++ifdef MOZ_LIBV4L2_LIBS
++EXTRA_DSO_LDOPTS += $(MOZ_LIBV4L2_LIBS)
++endif
++
+ ifdef MOZ_WEBRTC
+ ifeq (WINNT,$(OS_TARGET))
+ ifndef MOZ_HAS_WINSDK_WITH_D3D
+@@ -231,7 +271,7 @@ ifdef MOZ_ENABLE_QT
+ EXTRA_DSO_LDOPTS += $(MOZ_QT_LDFLAGS) $(XEXT_LIBS)
+ endif
+
+-ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
++ifeq (Darwin,$(OS_ARCH))
+ ifdef MOZ_GSTREAMER
+ EXTRA_DSO_LDOPTS += $(GSTREAMER_LIBS)
+ endif
diff --git a/mail/thunderbird/patches/patch-mozilla_toolkit_mozapps_update_updater_updater.cpp b/mail/thunderbird/patches/patch-mozilla_toolkit_mozapps_update_updater_updater.cpp
deleted file mode 100644
index 78773fc7965..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_toolkit_mozapps_update_updater_updater.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD: patch-mozilla_toolkit_mozapps_update_updater_updater.cpp,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/toolkit/mozapps/update/updater/updater.cpp.orig 2013-10-23 22:09:20.000000000 +0000
-+++ mozilla/toolkit/mozapps/update/updater/updater.cpp
-@@ -127,7 +127,10 @@ static bool sUseHardLinks = true;
- // declare it here to avoid including that entire header file.
- #define BZ2_CRC32TABLE_UNDECLARED
-
--#if MOZ_IS_GCC
-+#if defined(__clang__)
-+extern "C" __attribute__((visibility("default"))) unsigned int BZ2_crc32Table[256];
-+#undef BZ2_CRC32TABLE_UNDECLARED
-+#elif MOZ_IS_GCC
- #if MOZ_GCC_VERSION_AT_LEAST(3, 3, 0)
- extern "C" __attribute__((visibility("default"))) unsigned int BZ2_crc32Table[256];
- #undef BZ2_CRC32TABLE_UNDECLARED
diff --git a/mail/thunderbird/patches/patch-mozilla_toolkit_toolkit.mozbuild b/mail/thunderbird/patches/patch-mozilla_toolkit_toolkit.mozbuild
index 8664644016a..45751627890 100644
--- a/mail/thunderbird/patches/patch-mozilla_toolkit_toolkit.mozbuild
+++ b/mail/thunderbird/patches/patch-mozilla_toolkit_toolkit.mozbuild
@@ -1,12 +1,14 @@
-$NetBSD: patch-mozilla_toolkit_toolkit.mozbuild,v 1.1 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mozilla_toolkit_toolkit.mozbuild,v 1.2 2014/07/27 20:05:00 ryoon Exp $
---- mozilla/toolkit/toolkit.mozbuild.orig 2013-10-23 22:09:20.000000000 +0000
+--- mozilla/toolkit/toolkit.mozbuild.orig 2014-07-18 00:05:56.000000000 +0000
+++ mozilla/toolkit/toolkit.mozbuild
-@@ -46,7 +46,7 @@ if CONFIG['MOZ_UPDATER']:
- if not CONFIG['MOZ_NATIVE_BZ2']:
- add_tier_dir('platform', 'modules/libbz2')
+@@ -40,8 +40,8 @@ add_tier_dir('platform', [
+ if CONFIG['MOZ_AUTH_EXTENSION']:
+ add_tier_dir('platform', 'extensions/auth')
+-if CONFIG['MOZ_UPDATER']:
- add_tier_dir('platform', 'other-licenses/bsdiff')
++#if CONFIG['MOZ_UPDATER']:
+# add_tier_dir('platform', 'other-licenses/bsdiff')
# Gecko/Core components.
diff --git a/mail/thunderbird/patches/patch-mozilla_toolkit_xre_Makefile.in b/mail/thunderbird/patches/patch-mozilla_toolkit_xre_Makefile.in
deleted file mode 100644
index bc82672b5a0..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_toolkit_xre_Makefile.in
+++ /dev/null
@@ -1,10 +0,0 @@
-$NetBSD: patch-mozilla_toolkit_xre_Makefile.in,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/toolkit/xre/Makefile.in.orig 2013-10-23 22:09:20.000000000 +0000
-+++ mozilla/toolkit/xre/Makefile.in
-@@ -216,5 +216,3 @@ GARBAGE += platform.ini
- libs:: platform.ini
- $(INSTALL) $^ $(DIST)/bin
-
--install::
-- $(INSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)
diff --git a/mail/thunderbird/patches/patch-mozilla_unwind.h b/mail/thunderbird/patches/patch-mozilla_unwind.h
new file mode 100644
index 00000000000..8cb83b33790
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_unwind.h
@@ -0,0 +1,9 @@
+$NetBSD: patch-mozilla_unwind.h,v 1.1 2014/07/27 20:05:00 ryoon Exp $
+
+--- mozilla/unwind.h.orig 2014-07-27 06:20:09.000000000 +0000
++++ mozilla/unwind.h
+@@ -0,0 +1,4 @@
++#pragma GCC system_header
++#pragma GCC visibility push(default)
++#include_next <unwind.h>
++#pragma GCC visibility pop
diff --git a/mail/thunderbird/patches/patch-mozilla_webapprt_moz.build b/mail/thunderbird/patches/patch-mozilla_webapprt_moz.build
new file mode 100644
index 00000000000..a676c264b8d
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_webapprt_moz.build
@@ -0,0 +1,20 @@
+$NetBSD: patch-mozilla_webapprt_moz.build,v 1.1 2014/07/27 20:05:00 ryoon Exp $
+
+--- mozilla/webapprt/moz.build.orig 2014-07-18 00:05:56.000000000 +0000
++++ mozilla/webapprt/moz.build
+@@ -6,7 +6,7 @@
+
+ if CONFIG['OS_ARCH'] == 'WINNT':
+ DIRS += ['win']
+-elif CONFIG['OS_ARCH'] == 'Darwin':
++elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
+ DIRS += ['mac']
+ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk2':
+ DIRS += ['gtk2']
+@@ -45,4 +45,4 @@ if CONFIG['MOZILLA_OFFICIAL']:
+ DEFINES['GRE_MILESTONE'] = CONFIG['GRE_MILESTONE']
+ DEFINES['MOZ_APP_BASENAME'] = CONFIG['MOZ_APP_BASENAME']
+
+-JAR_MANIFESTS += ['jar.mn']
+\ No newline at end of file
++JAR_MANIFESTS += ['jar.mn']
diff --git a/mail/thunderbird/patches/patch-mozilla_xpcom_base_nsDebugImpl.cpp b/mail/thunderbird/patches/patch-mozilla_xpcom_base_nsDebugImpl.cpp
new file mode 100644
index 00000000000..6bb6d144e9d
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_xpcom_base_nsDebugImpl.cpp
@@ -0,0 +1,88 @@
+$NetBSD: patch-mozilla_xpcom_base_nsDebugImpl.cpp,v 1.1 2014/07/27 20:05:00 ryoon Exp $
+
+--- mozilla/xpcom/base/nsDebugImpl.cpp.orig 2014-07-18 00:05:56.000000000 +0000
++++ mozilla/xpcom/base/nsDebugImpl.cpp
+@@ -44,12 +44,43 @@
+ #endif
+ #endif
+
+-#if defined(XP_MACOSX)
++#if defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
+ #include <stdbool.h>
+ #include <unistd.h>
++#include <sys/param.h>
+ #include <sys/sysctl.h>
+ #endif
+
++#if defined(__OpenBSD__)
++#include <sys/proc.h>
++#endif
++
++#if defined(__DragonFly__) || defined(__FreeBSD__)
++#include <sys/user.h>
++#endif
++
++#if defined(__NetBSD__)
++#undef KERN_PROC
++#define KERN_PROC KERN_PROC2
++#define KINFO_PROC struct kinfo_proc2
++#else
++#define KINFO_PROC struct kinfo_proc
++#endif
++
++#if defined(XP_MACOSX)
++#define KP_FLAGS kp_proc.p_flag
++#elif defined(__DragonFly__)
++#define KP_FLAGS kp_flags
++#elif defined(__FreeBSD__)
++#define KP_FLAGS ki_flag
++#elif defined(__OpenBSD__) && !defined(_P_TRACED)
++#define KP_FLAGS p_psflags
++#define P_TRACED PS_TRACED
++#else
++#define KP_FLAGS p_flag
++#endif
++
+ #include "mozilla/mozalloc_abort.h"
+
+ static void
+@@ -143,16 +174,22 @@ nsDebugImpl::GetIsDebuggerAttached(bool*
+
+ #if defined(XP_WIN)
+ *aResult = ::IsDebuggerPresent();
+-#elif defined(XP_MACOSX)
++#elif defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
+ // Specify the info we're looking for
+- int mib[4];
+- mib[0] = CTL_KERN;
+- mib[1] = KERN_PROC;
+- mib[2] = KERN_PROC_PID;
+- mib[3] = getpid();
++ int mib[] = {
++ CTL_KERN,
++ KERN_PROC,
++ KERN_PROC_PID,
++ getpid(),
++#if defined(__NetBSD__) || defined(__OpenBSD__)
++ sizeof(KINFO_PROC),
++ 1,
++#endif
++ };
+ size_t mibSize = sizeof(mib) / sizeof(int);
+
+- struct kinfo_proc info;
++ KINFO_PROC info;
+ size_t infoSize = sizeof(info);
+ memset(&info, 0, infoSize);
+
+@@ -162,7 +199,7 @@ nsDebugImpl::GetIsDebuggerAttached(bool*
+ return NS_OK;
+ }
+
+- if (info.kp_proc.p_flag & P_TRACED) {
++ if (info.KP_FLAGS & P_TRACED) {
+ *aResult = true;
+ }
+ #endif
diff --git a/mail/thunderbird/patches/patch-mozilla_xpcom_base_nsUUIDGenerator.cpp b/mail/thunderbird/patches/patch-mozilla_xpcom_base_nsUUIDGenerator.cpp
new file mode 100644
index 00000000000..4501e062496
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_xpcom_base_nsUUIDGenerator.cpp
@@ -0,0 +1,69 @@
+$NetBSD: patch-mozilla_xpcom_base_nsUUIDGenerator.cpp,v 1.1 2014/07/27 20:05:00 ryoon Exp $
+
+--- mozilla/xpcom/base/nsUUIDGenerator.cpp.orig 2014-07-18 00:05:57.000000000 +0000
++++ mozilla/xpcom/base/nsUUIDGenerator.cpp
+@@ -15,6 +15,10 @@
+
+ #include "nsUUIDGenerator.h"
+
++#ifdef ANDROID
++extern "C" NS_EXPORT void arc4random_buf(void *, size_t);
++#endif
++
+ using namespace mozilla;
+
+ NS_IMPL_ISUPPORTS(nsUUIDGenerator, nsIUUIDGenerator)
+@@ -34,7 +38,7 @@ nsUUIDGenerator::Init()
+ // We're a service, so we're guaranteed that Init() is not going
+ // to be reentered while we're inside Init().
+
+-#if !defined(XP_WIN) && !defined(XP_MACOSX) && !defined(ANDROID)
++#if !defined(XP_WIN) && !defined(XP_MACOSX) && !defined(HAVE_ARC4RANDOM)
+ /* initialize random number generator using NSPR random noise */
+ unsigned int seed;
+
+@@ -67,7 +71,7 @@ nsUUIDGenerator::Init()
+ return NS_ERROR_FAILURE;
+ #endif
+
+-#endif /* non XP_WIN and non XP_MACOSX */
++#endif /* non XP_WIN and non XP_MACOSX and non ARC4RANDOM */
+
+ return NS_OK;
+ }
+@@ -114,13 +118,16 @@ nsUUIDGenerator::GenerateUUIDInPlace(nsI
+ * back to it; instead, we use the value returned when we called
+ * initstate, since older glibc's have broken setstate() return values
+ */
+-#ifndef ANDROID
++#ifndef HAVE_ARC4RANDOM
+ setstate(mState);
+ #endif
+
++#ifdef HAVE_ARC4RANDOM_BUF
++ arc4random_buf(id, sizeof(nsID));
++#else /* HAVE_ARC4RANDOM_BUF */
+ size_t bytesLeft = sizeof(nsID);
+ while (bytesLeft > 0) {
+-#ifdef ANDROID
++#ifdef HAVE_ARC4RANDOM
+ long rval = arc4random();
+ const size_t mRBytes = 4;
+ #else
+@@ -141,6 +148,7 @@ nsUUIDGenerator::GenerateUUIDInPlace(nsI
+
+ bytesLeft -= toWrite;
+ }
++#endif /* HAVE_ARC4RANDOM_BUF */
+
+ /* Put in the version */
+ id->m2 &= 0x0fff;
+@@ -150,7 +158,7 @@ nsUUIDGenerator::GenerateUUIDInPlace(nsI
+ id->m3[0] &= 0x3f;
+ id->m3[0] |= 0x80;
+
+-#ifndef ANDROID
++#ifndef HAVE_ARC4RANDOM
+ /* Restore the previous RNG state */
+ setstate(mSavedState);
+ #endif
diff --git a/mail/thunderbird/patches/patch-mozilla_xpcom_base_nsUUIDGenerator.h b/mail/thunderbird/patches/patch-mozilla_xpcom_base_nsUUIDGenerator.h
new file mode 100644
index 00000000000..ad2c2311d32
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_xpcom_base_nsUUIDGenerator.h
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_xpcom_base_nsUUIDGenerator.h,v 1.1 2014/07/27 20:05:00 ryoon Exp $
+
+--- mozilla/xpcom/base/nsUUIDGenerator.h.orig 2014-07-18 00:05:57.000000000 +0000
++++ mozilla/xpcom/base/nsUUIDGenerator.h
+@@ -27,7 +27,7 @@ private:
+ protected:
+
+ mozilla::Mutex mLock;
+-#if !defined(XP_WIN) && !defined(XP_MACOSX) && !defined(ANDROID)
++#if !defined(XP_WIN) && !defined(XP_MACOSX) && !defined(HAVE_ARC4RANDOM)
+ char mState[128];
+ char *mSavedState;
+ uint8_t mRBytes;
diff --git a/mail/thunderbird/patches/patch-mozilla_xpcom_base_nscore.h b/mail/thunderbird/patches/patch-mozilla_xpcom_base_nscore.h
new file mode 100644
index 00000000000..056df3600c9
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_xpcom_base_nscore.h
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_xpcom_base_nscore.h,v 1.1 2014/07/27 20:05:00 ryoon Exp $
+
+--- mozilla/xpcom/base/nscore.h.orig 2014-07-18 00:05:57.000000000 +0000
++++ mozilla/xpcom/base/nscore.h
+@@ -114,7 +114,7 @@
+ * NS_HIDDEN_(int) NS_FASTCALL func2(char *foo);
+ */
+
+-#if defined(__i386__) && defined(__GNUC__)
++#if defined(__i386__) && defined(__GNUC__) && !(defined(__clang__) && __clang_major__ == 3 && __clang_minor__ == 4 && __clang_patchlevel__ == 0)
+ #define NS_FASTCALL __attribute__ ((regparm (3), stdcall))
+ #define NS_CONSTRUCTOR_FASTCALL __attribute__ ((regparm (3), stdcall))
+ #elif defined(XP_WIN) && !defined(_WIN64)
diff --git a/mail/thunderbird/patches/patch-mozilla_xpcom_build_PoisonIOInterposer.h b/mail/thunderbird/patches/patch-mozilla_xpcom_build_PoisonIOInterposer.h
new file mode 100644
index 00000000000..1e490620020
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_xpcom_build_PoisonIOInterposer.h
@@ -0,0 +1,34 @@
+$NetBSD: patch-mozilla_xpcom_build_PoisonIOInterposer.h,v 1.1 2014/07/27 20:05:00 ryoon Exp $
+
+--- mozilla/xpcom/build/PoisonIOInterposer.h.orig 2014-07-18 00:05:57.000000000 +0000
++++ mozilla/xpcom/build/PoisonIOInterposer.h
+@@ -44,7 +44,7 @@ bool IsDebugFile(intptr_t aFileID);
+ */
+ void InitPoisonIOInterposer();
+
+-#ifdef XP_MACOSX
++#ifdef XP_DARWIN
+ /**
+ * Check that writes are dirty before reporting I/O (Mac OS X only)
+ * This is necessary for late-write checks on Mac OS X, but reading the buffer
+@@ -52,7 +52,7 @@ void InitPoisonIOInterposer();
+ * to do this for everything else that uses
+ */
+ void OnlyReportDirtyWrites();
+-#endif /* XP_MACOSX */
++#endif /* XP_DARWIN */
+
+ /**
+ * Clear IO poisoning, this is only safe to do on the main-thread when no other
+@@ -70,9 +70,9 @@ namespace mozilla {
+ inline bool IsDebugFile(intptr_t aFileID){ return true; }
+ inline void InitPoisonIOInterposer(){}
+ inline void ClearPoisonIOInterposer(){}
+-#ifdef XP_MACOSX
++#ifdef XP_DARWIN
+ inline void OnlyReportDirtyWrites(){}
+-#endif /* XP_MACOSX */
++#endif /* XP_DARWIN */
+ } // namespace mozilla
+ #endif /* __cplusplus */
+
diff --git a/mail/thunderbird/patches/patch-mozilla_xpcom_build_nsXPComInit.cpp b/mail/thunderbird/patches/patch-mozilla_xpcom_build_nsXPComInit.cpp
new file mode 100644
index 00000000000..9a590364cc5
--- /dev/null
+++ b/mail/thunderbird/patches/patch-mozilla_xpcom_build_nsXPComInit.cpp
@@ -0,0 +1,28 @@
+$NetBSD: patch-mozilla_xpcom_build_nsXPComInit.cpp,v 1.1 2014/07/27 20:05:00 ryoon Exp $
+
+--- mozilla/xpcom/build/nsXPComInit.cpp.orig 2014-07-18 00:05:57.000000000 +0000
++++ mozilla/xpcom/build/nsXPComInit.cpp
+@@ -133,7 +133,9 @@ extern nsresult nsStringInputStreamConst
+ #include "mozilla/VisualEventTracer.h"
+ #endif
+
++#ifndef MOZ_OGG_NO_MEM_REPORTING
+ #include "ogg/ogg.h"
++#endif
+ #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
+ #include "vpx_mem/vpx_mem.h"
+ #endif
+@@ -607,11 +609,13 @@ NS_InitXPCOM2(nsIServiceManager* *result
+ // this oddness.
+ mozilla::SetICUMemoryFunctions();
+
++#ifndef MOZ_OGG_NO_MEM_REPORTING
+ // Do the same for libogg.
+ ogg_set_mem_functions(OggReporter::CountingMalloc,
+ OggReporter::CountingCalloc,
+ OggReporter::CountingRealloc,
+ OggReporter::CountingFree);
++#endif
+
+ #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
+ // And for VPX.
diff --git a/mail/thunderbird/patches/patch-mozilla_xpcom_ds_moz.build b/mail/thunderbird/patches/patch-mozilla_xpcom_ds_moz.build
deleted file mode 100644
index c9baeb12bac..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_xpcom_ds_moz.build
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD: patch-mozilla_xpcom_ds_moz.build,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/xpcom/ds/moz.build.orig 2013-10-23 22:09:21.000000000 +0000
-+++ mozilla/xpcom/ds/moz.build
-@@ -95,7 +95,6 @@ CPP_SOURCES += [
- 'nsSupportsPrimitives.cpp',
- 'nsUnicharBuffer.cpp',
- 'nsVariant.cpp',
-- 'TimeStamp.cpp',
- ]
-
- if CONFIG['HAVE_CLOCK_MONOTONIC']:
-@@ -113,5 +112,9 @@ elif CONFIG['OS_ARCH'] == 'WINNT':
- else:
- error('No TimeStamp implementation on this platform. Build will not succeed')
-
-+CPP_SOURCES += [
-+ 'TimeStamp.cpp',
-+]
-+
- LIBRARY_NAME = 'xpcomds_s'
-
diff --git a/mail/thunderbird/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_moz.build b/mail/thunderbird/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_moz.build
index b067ece3860..a424e9905f6 100644
--- a/mail/thunderbird/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_moz.build
+++ b/mail/thunderbird/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_moz.build
@@ -1,15 +1,24 @@
-$NetBSD: patch-mozilla_xpcom_reflect_xptcall_src_md_unix_moz.build,v 1.1 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_src_md_unix_moz.build,v 1.2 2014/07/27 20:05:00 ryoon Exp $
---- mozilla/xpcom/reflect/xptcall/src/md/unix/moz.build.orig 2013-10-23 22:09:22.000000000 +0000
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/moz.build.orig 2014-07-18 00:05:57.000000000 +0000
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/moz.build
+@@ -9,7 +9,7 @@ if CONFIG['OS_ARCH'] == 'Darwin':
+ 'xptcinvoke_darwin.cpp',
+ 'xptcstubs_darwin.cpp',
+ ]
+- if CONFIG['OS_TEST'] == 'powerpc':
++ if CONFIG['OS_TEST'] == 'ppc':
+ SOURCES += [
+ 'xptcinvoke_asm_ppc_rhapsody.s',
+ ]
@@ -19,14 +19,14 @@ if CONFIG['OS_ARCH'] == 'Darwin':
- 'xptcstubs_gcc_x86_unix.cpp',
- ]
+ if '86' in CONFIG['OS_TEST'] and CONFIG['OS_TEST'] != 'x86_64':
+ DEFINES['MOZ_NEED_LEADING_UNDERSCORE'] = True
-if CONFIG['OS_ARCH'] in ('NetBSD', 'OpenBSD', 'GNU'):
+if CONFIG['OS_ARCH'] in ('OpenBSD', 'GNU'):
if CONFIG['CPU_ARCH'] == 'x86':
- CPP_SOURCES += [
+ SOURCES += [
'xptcinvoke_gcc_x86_unix.cpp',
'xptcstubs_gcc_x86_unix.cpp'
]
@@ -18,4 +27,4 @@ $NetBSD: patch-mozilla_xpcom_reflect_xptcall_src_md_unix_moz.build,v 1.1 2013/11
+if CONFIG['OS_ARCH'] in ('Linux', 'FreeBSD', 'NetBSD', 'DragonFly') or \
CONFIG['OS_ARCH'].startswith('GNU_'):
if CONFIG['OS_TEST'] == 'x86_64':
- CPP_SOURCES += [
+ SOURCES += [
diff --git a/mail/thunderbird/patches/patch-xn b/mail/thunderbird/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__asm__mips.S
index 9e2a72d0ac8..965ca617e39 100644
--- a/mail/thunderbird/patches/patch-xn
+++ b/mail/thunderbird/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__asm__mips.S
@@ -1,7 +1,7 @@
-$NetBSD: patch-xn,v 1.4 2012/09/02 06:43:44 ryoon Exp $
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__asm__mips.S,v 1.1 2014/07/27 20:05:00 ryoon Exp $
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.s.orig 2012-08-25 00:31:35.000000000 +0000
-+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.s
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.S.orig 2014-07-18 00:05:57.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.S
@@ -16,6 +16,47 @@
#include <sys/asm.h>
#endif
diff --git a/mail/thunderbird/patches/patch-xo b/mail/thunderbird/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcstubs__asm__mips.S
index 56cf60e85ad..76e6cf7d161 100644
--- a/mail/thunderbird/patches/patch-xo
+++ b/mail/thunderbird/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcstubs__asm__mips.S
@@ -1,7 +1,7 @@
-$NetBSD: patch-xo,v 1.4 2012/09/02 06:43:44 ryoon Exp $
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcstubs__asm__mips.S,v 1.1 2014/07/27 20:05:00 ryoon Exp $
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s.orig 2012-08-25 00:31:35.000000000 +0000
-+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.S.orig 2014-07-18 00:05:57.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.S
@@ -14,6 +14,47 @@
#include <sys/asm.h>
#endif
diff --git a/mail/thunderbird/patches/patch-mozilla_xpcom_string_public_nsAlgorithm.h b/mail/thunderbird/patches/patch-mozilla_xpcom_string_public_nsAlgorithm.h
deleted file mode 100644
index 6e34b4c510c..00000000000
--- a/mail/thunderbird/patches/patch-mozilla_xpcom_string_public_nsAlgorithm.h
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD: patch-mozilla_xpcom_string_public_nsAlgorithm.h,v 1.1 2013/11/12 20:50:51 ryoon Exp $
-
---- mozilla/xpcom/string/public/nsAlgorithm.h.orig 2013-10-23 22:09:22.000000000 +0000
-+++ mozilla/xpcom/string/public/nsAlgorithm.h
-@@ -45,7 +45,10 @@ XPCOM_MAX( const T& a, const T& b )
- return a > b ? a : b;
- }
-
--#if defined(_MSC_VER) && (_MSC_VER < 1600)
-+#if (defined(_MSC_VER) && (_MSC_VER < 1600)) || \
-+ ((defined(__GLIBCXX__) && __GLIBCXX__ < 20121005) && \
-+ (defined(_GLIBCXX_USE_LONG_LONG) && \
-+ (!_GLIBCXX_USE_C99 || _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC)))
- namespace std {
- inline
- long long
diff --git a/mail/thunderbird/patches/patch-pb b/mail/thunderbird/patches/patch-pb
index ccf9b6b4f64..bc733963b47 100644
--- a/mail/thunderbird/patches/patch-pb
+++ b/mail/thunderbird/patches/patch-pb
@@ -1,11 +1,11 @@
-$NetBSD: patch-pb,v 1.8 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-pb,v 1.9 2014/07/27 20:05:00 ryoon Exp $
---- mozilla/xulrunner/installer/libxul.pc.in.orig 2013-10-23 22:09:22.000000000 +0000
+--- mozilla/xulrunner/installer/libxul.pc.in.orig 2014-07-18 00:05:57.000000000 +0000
+++ mozilla/xulrunner/installer/libxul.pc.in
@@ -7,5 +7,5 @@ Name: libxul
Description: The Mozilla Runtime and Embedding Engine
Version: %MOZILLA_VERSION%
Requires: %NSPR_NAME% >= %NSPR_VERSION%
-Libs: -L${sdkdir}/lib %MOZ_XUL_LINK%
-+Libs: -Wl,-R${prefix}/lib/xulrunner24 -Wl,-R${prefix}/lib/xulrunner24 -Wl,-R${prefix}/lib/xulrunner24 -Wl,-R${prefix}/lib/xulrunner24 -L${prefix}/lib/xulrunner24 %MOZ_XUL_LINK%
++Libs: -Wl,-R${prefix}/lib/xulrunner -Wl,-R${prefix}/lib/xulrunner -Wl,-R${prefix}/lib/xulrunner -Wl,-R${prefix}/lib/xulrunner -L${prefix}/lib/xulrunner %MOZ_XUL_LINK%
Cflags: -I${includedir} %WCHAR_CFLAGS%
diff --git a/mail/thunderbird/patches/patch-pc b/mail/thunderbird/patches/patch-pc
index affa1b69e1a..bf98cf255c6 100644
--- a/mail/thunderbird/patches/patch-pc
+++ b/mail/thunderbird/patches/patch-pc
@@ -1,6 +1,6 @@
-$NetBSD: patch-pc,v 1.8 2013/11/12 20:50:51 ryoon Exp $
+$NetBSD: patch-pc,v 1.9 2014/07/27 20:05:00 ryoon Exp $
---- mozilla/xulrunner/installer/libxul-embedding.pc.in.orig 2013-10-23 22:09:22.000000000 +0000
+--- mozilla/xulrunner/installer/libxul-embedding.pc.in.orig 2014-07-18 00:05:57.000000000 +0000
+++ mozilla/xulrunner/installer/libxul-embedding.pc.in
@@ -6,5 +6,6 @@ idldir=%idldir%
Name: libxul-embedding
@@ -8,5 +8,5 @@ $NetBSD: patch-pc,v 1.8 2013/11/12 20:50:51 ryoon Exp $
Version: %MOZILLA_VERSION%
-Libs: -L${sdkdir}/lib -lxpcomglue -ldl
+# XXXtnn -ldl removed
-+Libs: -Wl,-R${prefix}/lib/xulrunner24 -Wl,-R${prefix}/lib/xulrunner24 -Wl,-R${prefix}/lib/xulrunner24 -Wl,-R${prefix}/lib/xulrunner24 -L${prefix}/lib/xulrunner24 -lxpcomglue
++Libs: -Wl,-R${prefix}/lib/xulrunner -Wl,-R${prefix}/lib/xulrunner -Wl,-R${prefix}/lib/xulrunner -Wl,-R${prefix}/lib/xulrunner -L${prefix}/lib/xulrunner -lxpcomglue
Cflags: -DXPCOM_GLUE -I${includedir} %WCHAR_CFLAGS%
diff --git a/mail/thunderbird/patches/patch-xj b/mail/thunderbird/patches/patch-xj
deleted file mode 100644
index 76aafdf1413..00000000000
--- a/mail/thunderbird/patches/patch-xj
+++ /dev/null
@@ -1,128 +0,0 @@
-$NetBSD: patch-xj,v 1.6 2012/11/23 07:17:54 ryoon Exp $
-
-NetBSD ppc xptcall support code. Originally from pkgsrc/www/mozilla.
-
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_netbsd.cpp.orig 2012-11-19 22:42:45.000000000 +0000
-+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_netbsd.cpp
-@@ -6,6 +6,7 @@
- // Implement shared vtbl methods.
-
- #include "xptcprivate.h"
-+#include "xptiprivate.h"
-
- // The Linux/PPC ABI (aka PPC/SYSV ABI) passes the first 8 integral
- // parameters and the first 8 floating point parameters in registers
-@@ -36,7 +37,6 @@ PrepareAndDispatch(nsXPTCStubBase* self,
- {
- nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
- nsXPTCMiniVariant* dispatchParams = NULL;
-- nsIInterfaceInfo* iface_info = NULL;
- const nsXPTMethodInfo* info;
- uint32_t paramCount;
- uint32_t i;
-@@ -44,11 +44,7 @@ PrepareAndDispatch(nsXPTCStubBase* self,
-
- NS_ASSERTION(self,"no self");
-
-- self->GetInterfaceInfo(&iface_info);
-- NS_ASSERTION(iface_info,"no interface info");
-- if (! iface_info)
-- return NS_ERROR_UNEXPECTED;
--
-+ self->mEntry->GetMethodInfo(PRUint16(methodIndex), &info);
- iface_info->GetMethodInfo(uint16_t(methodIndex), &info);
- NS_ASSERTION(info,"no method info");
- if (! info)
-@@ -84,8 +80,10 @@ PrepareAndDispatch(nsXPTCStubBase* self,
- if ((uint32_t) ap & 4) ap++; // doubles are 8-byte aligned on stack
- dp->val.d = *(double*) ap;
- ap += 2;
-+#if __GXX_ABI_VERSION < 100
- if (gpr < GPR_COUNT)
- gpr += 2;
-+#endif
- }
- continue;
- }
-@@ -95,8 +93,10 @@ PrepareAndDispatch(nsXPTCStubBase* self,
- else {
- dp->val.f = *(float*) ap;
- ap += 1;
-+#if __GXX_ABI_VERSION < 100
- if (gpr < GPR_COUNT)
- gpr += 1;
-+#endif
- }
- continue;
- }
-@@ -144,9 +144,9 @@ PrepareAndDispatch(nsXPTCStubBase* self,
- }
- }
-
-- result = self->CallMethod((uint16_t) methodIndex, info, dispatchParams);
--
-- NS_RELEASE(iface_info);
-+ result = self->mOuter->CallMethod((PRUint16) methodIndex,
-+ info,
-+ dispatchParams);
-
- if (dispatchParams != paramBuffer)
- delete [] dispatchParams;
-@@ -160,7 +160,9 @@ PrepareAndDispatch(nsXPTCStubBase* self,
- // however, it's quick, dirty, and'll break when the ABI changes on
- // us, which is what we want ;-).
-
--#define STUB_ENTRY(n) \
-+#if __GXX_ABI_VERSION < 100
-+// gcc-2 version
-+# define STUB_ENTRY(n) \
- __asm__ ( \
- ".section \".text\" \n\t" \
- ".align 2 \n\t" \
-@@ -171,6 +173,46 @@ __asm__ (
- "li 11,"#n" \n\t" \
- "b SharedStub@local \n" \
- );
-+#else
-+// gcc-3 version
-+//
-+// As G++3 ABI contains the length of the functionname in the mangled
-+// name, it is difficult to get a generic assembler mechanism like
-+// in the G++ 2.95 case.
-+// Create names would be like:
-+// _ZN14nsXPTCStubBase5Stub1Ev
-+// _ZN14nsXPTCStubBase6Stub12Ev
-+// _ZN14nsXPTCStubBase7Stub123Ev
-+// _ZN14nsXPTCStubBase8Stub1234Ev
-+// etc.
-+// Use assembler directives to get the names right...
-+
-+# define STUB_ENTRY(n) \
-+__asm__ ( \
-+ ".align 2 \n\t" \
-+ ".if "#n" < 10 \n\t" \
-+ ".globl _ZN14nsXPTCStubBase5Stub"#n"Ev \n\t" \
-+ ".type _ZN14nsXPTCStubBase5Stub"#n"Ev,@function \n\n" \
-+"_ZN14nsXPTCStubBase5Stub"#n"Ev: \n\t" \
-+ \
-+ ".elseif "#n" < 100 \n\t" \
-+ ".globl _ZN14nsXPTCStubBase6Stub"#n"Ev \n\t" \
-+ ".type _ZN14nsXPTCStubBase6Stub"#n"Ev,@function \n\n" \
-+"_ZN14nsXPTCStubBase6Stub"#n"Ev: \n\t" \
-+ \
-+ ".elseif "#n" < 1000 \n\t" \
-+ ".globl _ZN14nsXPTCStubBase7Stub"#n"Ev \n\t" \
-+ ".type _ZN14nsXPTCStubBase7Stub"#n"Ev,@function \n\n" \
-+"_ZN14nsXPTCStubBase7Stub"#n"Ev: \n\t" \
-+ \
-+ ".else \n\t" \
-+ ".err \"stub number "#n" >= 1000 not yet supported\"\n" \
-+ ".endif \n\t" \
-+ \
-+ "li 11,"#n" \n\t" \
-+ "b SharedStub@local \n" \
-+);
-+#endif
-
- #define SENTINEL_ENTRY(n) \
- nsresult nsXPTCStubBase::Sentinel##n() \
diff --git a/mail/thunderbird/patches/patch-xk b/mail/thunderbird/patches/patch-xk
deleted file mode 100644
index 1a7be2d88bc..00000000000
--- a/mail/thunderbird/patches/patch-xk
+++ /dev/null
@@ -1,72 +0,0 @@
-$NetBSD: patch-xk,v 1.5 2012/09/02 06:43:44 ryoon Exp $
-
-NetBSD ppc xptcall support code. Originally from pkgsrc/www/mozilla.
-
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc_netbsd.s.orig 2012-08-25 00:31:36.000000000 +0000
-+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc_netbsd.s
-@@ -25,23 +25,23 @@
- .type SharedStub,@function
-
- SharedStub:
-- stwu sp,-112(sp) # room for
-- # linkage (8),
-- # gprData (32),
-- # fprData (64),
-- # stack alignment(8)
-+ stwu sp,-112(sp) // room for
-+ // linkage (8),
-+ // gprData (32),
-+ // fprData (64),
-+ // stack alignment(8)
- mflr r0
-- stw r0,116(sp) # save LR backchain
-+ stw r0,116(sp) // save LR backchain
-
-- stw r4,12(sp) # save GP registers
-- stw r5,16(sp) # (n.b. that we don't save r3
-- stw r6,20(sp) # because PrepareAndDispatch() is savvy)
-+ stw r4,12(sp) // save GP registers
-+ stw r5,16(sp) // (n.b. that we don't save r3
-+ stw r6,20(sp) // because PrepareAndDispatch() is savvy)
- stw r7,24(sp)
- stw r8,28(sp)
- stw r9,32(sp)
- stw r10,36(sp)
-
-- stfd f1,40(sp) # save FP registers
-+ stfd f1,40(sp) // save FP registers
- stfd f2,48(sp)
- stfd f3,56(sp)
- stfd f4,64(sp)
-@@ -50,21 +50,21 @@ SharedStub:
- stfd f7,88(sp)
- stfd f8,96(sp)
-
-- # r3 has the 'self' pointer already
-+ // r3 has the 'self' pointer already
-
-- mr r4,r11 # r4 <= methodIndex selector, passed
-- # via r11 in the nsXPTCStubBase::StubXX() call
-+ mr r4,r11 // r4 <= methodIndex selector, passed
-+ // via r11 in the nsXPTCStubBase::StubXX() call
-
-- addi r5,sp,120 # r5 <= pointer to callers args area,
-- # beyond r3-r10/f1-f8 mapped range
-+ addi r5,sp,120 // r5 <= pointer to callers args area,
-+ // beyond r3-r10/f1-f8 mapped range
-
-- addi r6,sp,8 # r6 <= gprData
-- addi r7,sp,40 # r7 <= fprData
-+ addi r6,sp,8 // r6 <= gprData
-+ addi r7,sp,40 // r7 <= fprData
-
-- bl PrepareAndDispatch@local # Go!
-+ bl PrepareAndDispatch@local // Go!
-
-- lwz r0,116(sp) # restore LR
-+ lwz r0,116(sp) // restore LR
- mtlr r0
-- la sp,112(sp) # clean up the stack
-+ la sp,112(sp) // clean up the stack
- blr
-
diff --git a/mail/thunderbird/patches/patch-xl b/mail/thunderbird/patches/patch-xl
index c1516c0485f..cb55dca889e 100644
--- a/mail/thunderbird/patches/patch-xl
+++ b/mail/thunderbird/patches/patch-xl
@@ -1,10 +1,10 @@
-$NetBSD: patch-xl,v 1.6 2012/11/23 07:17:54 ryoon Exp $
+$NetBSD: patch-xl,v 1.7 2014/07/27 20:05:00 ryoon Exp $
NetBSD ppc xptcall support code. Originally from pkgsrc/www/mozilla.
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc_netbsd.s.orig 2012-11-19 22:42:44.000000000 +0000
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc_netbsd.s.orig 2014-07-18 00:05:57.000000000 +0000
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc_netbsd.s
-@@ -20,41 +20,42 @@
+@@ -20,15 +20,15 @@
.section ".text"
.align 2
@@ -12,63 +12,16 @@ NetBSD ppc xptcall support code. Originally from pkgsrc/www/mozilla.
- .type XPTC_InvokeByIndex,@function
+ .globl NS_InvokeByIndex_P
+ .type NS_InvokeByIndex_P,@function
-+
-+//
-+// NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
-+// PRUint32 paramCount, nsXPTCVariant* params)
-+//
-+
-+NS_InvokeByIndex_P:
-+ stwu sp,-32(sp) // setup standard stack frame
-+ mflr r0 // save LR
-+ stw r3,8(sp) // r3 <= that
-+ stw r4,12(sp) // r4 <= methodIndex
--#
+ #
-# XPTC_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
-# uint32_t paramCount, nsXPTCVariant* params)
--#
--
--XPTC_InvokeByIndex:
-- stwu sp,-32(sp) # setup standard stack frame
-- mflr r0 # save LR
-- stw r3,8(sp) # r3 <= that
-- stw r4,12(sp) # r4 <= methodIndex
- stw r30,16(sp)
- stw r31,20(sp)
-
-- stw r0,36(sp) # store LR backchain
-+ stw r0,36(sp) // store LR backchain
- mr r31,sp
-
-- rlwinm r10,r5,3,0,27 # r10 = (ParamCount * 2 * 4) & ~0x0f
-- addi r0,r10,96 # reserve stack for GPR and FPR register save area r0 = r10 + 96
-- lwz r9,0(sp) # r9 = backchain
-+ rlwinm r10,r5,3,0,27 // r10 = (ParamCount * 2 * 4) & ~0x0f
-+ addi r0,r10,96 // reserve stack for GPR and FPR register save area r0 = r10 + 96
-+ lwz r9,0(sp) // r9 = backchain
- neg r0,r0
-- stwux r9,sp,r0 # reserve stack sapce and save SP backchain
-+ stwux r9,sp,r0 // reserve stack sapce and save SP backchain
-
-- addi r3,sp,8 # r3 <= args
-- mr r4,r5 # r4 <= paramCount
-- mr r5,r6 # r5 <= params
-- add r6,r3,r10 # r6 <= gpregs ( == args + r10 )
-- mr r30,r6 # store in r30 for use later...
-- addi r7,r6,32 # r7 <= fpregs ( == gpregs + 32 )
-+ addi r3,sp,8 // r3 <= args
-+ mr r4,r5 // r4 <= paramCount
-+ mr r5,r6 // r5 <= params
-+ add r6,r3,r10 // r6 <= gpregs ( == args + r10 )
-+ mr r30,r6 // store in r30 for use later...
-+ addi r7,r6,32 // r7 <= fpregs ( == gpregs + 32 )
++# NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
++# PRUint32 paramCount, nsXPTCVariant* params)
+ #
-- bl invoke_copy_to_stack@local # (args, paramCount, params, gpregs, fpregs)
-+ bl invoke_copy_to_stack@local // (args, paramCount, params, gpregs, fpregs)
-
-- lfd f1,32(r30) # load FP registers with method parameters
-+ lfd f1,32(r30) // load FP registers with method parameters
- lfd f2,40(r30)
- lfd f3,48(r30)
- lfd f4,56(r30)
+-XPTC_InvokeByIndex:
++NS_InvokeByIndex_P:
+ stwu sp,-32(sp) # setup standard stack frame
+ mflr r0 # save LR
+ stw r3,8(sp) # r3 <= that
diff --git a/mail/thunderbird/patches/patch-zb b/mail/thunderbird/patches/patch-zb
index 4aeb89b14c4..82752ba4261 100644
--- a/mail/thunderbird/patches/patch-zb
+++ b/mail/thunderbird/patches/patch-zb
@@ -1,8 +1,8 @@
-$NetBSD: patch-zb,v 1.7 2012/09/02 06:43:44 ryoon Exp $
+$NetBSD: patch-zb,v 1.8 2014/07/27 20:05:00 ryoon Exp $
---- mail/app/Makefile.in.orig 2012-08-25 00:24:32.000000000 +0000
+--- mail/app/Makefile.in.orig 2014-07-18 00:04:05.000000000 +0000
+++ mail/app/Makefile.in
-@@ -63,6 +63,10 @@ LOCAL_INCLUDES += \
+@@ -57,6 +57,10 @@ LOCAL_INCLUDES += \
DEFINES += -DXPCOM_GLUE
STL_FLAGS=
@@ -11,5 +11,5 @@ $NetBSD: patch-zb,v 1.7 2012/09/02 06:43:44 ryoon Exp $
+endif
+
LIBS += \
- $(EXTRA_DSO_LIBS) \
$(XPCOM_STANDALONE_GLUE_LDOPTS) \
+ $(NULL)