summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--www/seamonkey/Makefile7
-rw-r--r--www/seamonkey/PLIST304
-rw-r--r--www/seamonkey/PLIST.chatzilla137
-rw-r--r--www/seamonkey/PLIST.lightning7
-rw-r--r--www/seamonkey/distinfo182
-rw-r--r--www/seamonkey/enigmail.mk8
-rw-r--r--www/seamonkey/patches/patch-aa429
-rw-r--r--www/seamonkey/patches/patch-ak8
-rw-r--r--www/seamonkey/patches/patch-as154
-rw-r--r--www/seamonkey/patches/patch-bi12
-rw-r--r--www/seamonkey/patches/patch-config_baseconfig.mk9
-rw-r--r--www/seamonkey/patches/patch-config_config.mk18
-rw-r--r--www/seamonkey/patches/patch-mozilla_b2g_installer_Makefile.in15
-rw-r--r--www/seamonkey/patches/patch-mozilla_b2g_installer_package-manifest.in13
-rw-r--r--www/seamonkey/patches/patch-mozilla_browser_installer_package-manifest.in15
-rw-r--r--www/seamonkey/patches/patch-mozilla_build_clang-plugin_configure13
-rw-r--r--www/seamonkey/patches/patch-mozilla_config_external_moz.build26
-rw-r--r--www/seamonkey/patches/patch-mozilla_config_rules.mk30
-rw-r--r--www/seamonkey/patches/patch-mozilla_config_stl__wrappers_ios8
-rw-r--r--www/seamonkey/patches/patch-mozilla_config_stl__wrappers_ostream8
-rw-r--r--www/seamonkey/patches/patch-mozilla_config_system-headers16
-rw-r--r--www/seamonkey/patches/patch-mozilla_config_system__wrappers_unwind.h9
-rw-r--r--www/seamonkey/patches/patch-mozilla_content_base_src_Makefile.in15
-rw-r--r--www/seamonkey/patches/patch-mozilla_content_base_src_moz.build14
-rw-r--r--www/seamonkey/patches/patch-mozilla_content_media_AudioStream.cpp12
-rw-r--r--www/seamonkey/patches/patch-mozilla_content_media_AudioStream.h16
-rw-r--r--www/seamonkey/patches/patch-mozilla_content_media_Makefile.in11
-rw-r--r--www/seamonkey/patches/patch-mozilla_content_media_gmp_GMPChild.cpp27
-rw-r--r--www/seamonkey/patches/patch-mozilla_content_media_gmp_GMPParent.cpp33
-rw-r--r--www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerAllocator.cpp210
-rw-r--r--www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerAllocator.h30
-rw-r--r--www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerFormatHelper.cpp29
-rw-r--r--www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerFunctionList.h169
-rw-r--r--www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerLoader.cpp97
-rw-r--r--www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerLoader.h24
-rw-r--r--www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerReader-0.10.cpp205
-rw-r--r--www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerReader.cpp975
-rw-r--r--www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerReader.h103
-rw-r--r--www/seamonkey/patches/patch-mozilla_content_media_gstreamer_moz.build25
-rw-r--r--www/seamonkey/patches/patch-mozilla_content_media_test_manifest.js17
-rw-r--r--www/seamonkey/patches/patch-mozilla_content_svg_content_src_SVGComponentTransferFunctionElement.h12
-rw-r--r--www/seamonkey/patches/patch-mozilla_content_svg_content_src_nsSVGFilters.cpp22
-rw-r--r--www/seamonkey/patches/patch-mozilla_content_svg_content_src_nsSVGFilters.h13
-rw-r--r--www/seamonkey/patches/patch-mozilla_dom_indexedDB_IDBEvents.cpp13
-rw-r--r--www/seamonkey/patches/patch-mozilla_dom_indexedDB_IDBEvents.h13
-rw-r--r--www/seamonkey/patches/patch-mozilla_dom_system_OSFileConstants.cpp31
-rw-r--r--www/seamonkey/patches/patch-mozilla_gfx_skia_Makefile.in8
-rw-r--r--www/seamonkey/patches/patch-mozilla_gfx_skia_include_core_SkPreConfig.h13
-rw-r--r--www/seamonkey/patches/patch-mozilla_gfx_skia_moz.build13
-rw-r--r--www/seamonkey/patches/patch-mozilla_gfx_skia_src_utils_SkThreadUtils__pthread__linux.cpp86
-rw-r--r--www/seamonkey/patches/patch-mozilla_intl_unicharutil_util_Makefile.in14
-rw-r--r--www/seamonkey/patches/patch-mozilla_ios8
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_Makefile.in22
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util.h13
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc159
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp48
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_ipdl_ipdl_cxx_ast.py21
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_ipdl_ipdl_cxx_cgen.py23
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_ipdl_ipdl_lower.py13
-rw-r--r--www/seamonkey/patches/patch-mozilla_js_src_Makefile.in26
-rw-r--r--www/seamonkey/patches/patch-mozilla_js_src_builtin_TypedObject.cpp133
-rw-r--r--www/seamonkey/patches/patch-mozilla_js_src_gc_Memory.cpp10
-rw-r--r--www/seamonkey/patches/patch-mozilla_js_src_vm_WeakMapPtr.cpp16
-rw-r--r--www/seamonkey/patches/patch-mozilla_media_libcubeb_AUTHORS9
-rw-r--r--www/seamonkey/patches/patch-mozilla_media_libcubeb_src_Makefile.in13
-rw-r--r--www/seamonkey/patches/patch-mozilla_media_libcubeb_src_cubeb.c24
-rw-r--r--www/seamonkey/patches/patch-mozilla_media_libcubeb_src_cubeb__alsa.c535
-rw-r--r--www/seamonkey/patches/patch-mozilla_media_libcubeb_src_cubeb__oss.c404
-rw-r--r--www/seamonkey/patches/patch-mozilla_media_libcubeb_src_moz.build25
-rw-r--r--www/seamonkey/patches/patch-mozilla_media_libstagefright_frameworks_av_include_media_stagefright_foundation_AString.h14
-rw-r--r--www/seamonkey/patches/patch-mozilla_media_libstagefright_frameworks_av_media_libstagefright_foundation_AString.cpp18
-rw-r--r--www/seamonkey/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h32
-rw-r--r--www/seamonkey/patches/patch-mozilla_media_webrtc_signaling_test_Makefile.in10
-rw-r--r--www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.cc13
-rw-r--r--www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.h13
-rw-r--r--www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc14
-rw-r--r--www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc14
-rw-r--r--www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi21
-rw-r--r--www/seamonkey/patches/patch-mozilla_memory_jemalloc_src_configure31
-rw-r--r--www/seamonkey/patches/patch-mozilla_mfbt_Alignment.h45
-rw-r--r--www/seamonkey/patches/patch-mozilla_mfbt_Atomics.h18
-rw-r--r--www/seamonkey/patches/patch-mozilla_mfbt_Attributes.h32
-rw-r--r--www/seamonkey/patches/patch-mozilla_mfbt_Poison.cpp12
-rw-r--r--www/seamonkey/patches/patch-mozilla_mobile_android_installer_Makefile.in15
-rw-r--r--www/seamonkey/patches/patch-mozilla_mobile_android_installer_package-manifest.in13
-rw-r--r--www/seamonkey/patches/patch-mozilla_netwerk_sctp_src_netinet6_sctp6__usrreq.c13
-rw-r--r--www/seamonkey/patches/patch-mozilla_netwerk_sctp_src_netinet_sctp__os__userspace.h41
-rw-r--r--www/seamonkey/patches/patch-mozilla_netwerk_sctp_src_netinet_sctp__usrreq.c13
-rw-r--r--www/seamonkey/patches/patch-mozilla_netwerk_sctp_src_user__recv__thread.c13
-rw-r--r--www/seamonkey/patches/patch-mozilla_netwerk_sctp_src_user__socket.c53
-rw-r--r--www/seamonkey/patches/patch-mozilla_netwerk_sctp_src_user__socketvar.h27
-rw-r--r--www/seamonkey/patches/patch-mozilla_netwerk_wifi_moz.build15
-rw-r--r--www/seamonkey/patches/patch-mozilla_netwerk_wifi_nsWifiScannerFreeBSD.cpp172
-rw-r--r--www/seamonkey/patches/patch-mozilla_ostream8
-rw-r--r--www/seamonkey/patches/patch-mozilla_probes_Makefile.in13
-rw-r--r--www/seamonkey/patches/patch-mozilla_security_manager_ssl_src_nsNSSComponent.cpp10
-rw-r--r--www/seamonkey/patches/patch-mozilla_toolkit_components_osfile_modules_osfile__unix__allthreads.jsm13
-rw-r--r--www/seamonkey/patches/patch-mozilla_toolkit_components_osfile_modules_osfile__unix__back.jsm34
-rw-r--r--www/seamonkey/patches/patch-mozilla_toolkit_components_osfile_modules_osfile__unix__front.jsm13
-rw-r--r--www/seamonkey/patches/patch-mozilla_toolkit_library_libxul.mk (renamed from www/seamonkey/patches/patch-mozilla_toolkit_library_Makefile.in)31
-rw-r--r--www/seamonkey/patches/patch-mozilla_toolkit_modules_GMPInstallManager.jsm38
-rw-r--r--www/seamonkey/patches/patch-mozilla_toolkit_mozapps_extensions_internal_OpenH264Provider.jsm118
-rw-r--r--www/seamonkey/patches/patch-mozilla_toolkit_xre_nsAppRunner.cpp21
-rw-r--r--www/seamonkey/patches/patch-mozilla_unwind.h9
-rw-r--r--www/seamonkey/patches/patch-mozilla_webapprt_moz.build15
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_base_nsStackWalk.cpp55
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_base_nscore.h10
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_build_PoisonIOInterposer.h55
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_build_nsXPComInit.cpp28
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_ds_TimeStamp.h15
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_glue_standalone_nsXPCOMGlue.cpp31
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_io_nsLocalFileUnix.cpp13
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_Makefile.in (renamed from www/seamonkey/patches/patch-mb)8
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_moz.build (renamed from www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_moz.build)6
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__mips.S (renamed from www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__asm__mips.S)6
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s (renamed from www/seamonkey/patches/patch-xl)8
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__gcc__x86__unix.cpp13
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp (renamed from www/seamonkey/patches/patch-xe)8
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp (renamed from www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__ppc__netbsd.cpp)12
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp (renamed from www/seamonkey/patches/patch-xb)8
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__arm__netbsd.cpp (renamed from www/seamonkey/patches/patch-xg)8
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__mips.S (renamed from www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcstubs__asm__mips.S)6
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__sparc64__netbsd.s (renamed from www/seamonkey/patches/patch-xc)8
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__gcc__x86__unix.cpp13
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__netbsd__m68k.cpp (renamed from www/seamonkey/patches/patch-xf)8
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__gcc__x86__unix.cpp13
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcstubs__gcc__x86__unix.cpp13
-rw-r--r--www/seamonkey/patches/patch-suite_installer_package-manifest.in19
128 files changed, 2490 insertions, 4039 deletions
diff --git a/www/seamonkey/Makefile b/www/seamonkey/Makefile
index c8684c4a92d..fc9701dba8c 100644
--- a/www/seamonkey/Makefile
+++ b/www/seamonkey/Makefile
@@ -1,9 +1,8 @@
-# $NetBSD: Makefile,v 1.121 2014/10/14 14:05:17 joerg Exp $
+# $NetBSD: Makefile,v 1.122 2014/11/02 05:40:31 ryoon Exp $
DISTNAME= # empty
PKGNAME= seamonkey-${SM_VER:S/b/beta/}
-SM_VER= 2.26.1
-PKGREVISION= 3
+SM_VER= 2.30
#LIGHTNINGVER= 1.9
CATEGORIES= www
MASTER_SITES= ${MASTER_SITE_MOZILLA:=seamonkey/releases/${SM_VER}/source/}
@@ -68,7 +67,7 @@ pre-configure:
cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} autoconf
cd ${WRKSRC}/mozilla && ${SETENV} ${CONFIGURE_ENV} autoconf
cd ${WRKSRC}/mozilla/js/src && ${SETENV} ${CONFIGURE_ENV} autoconf
- cd ${WRKSRC}/mozilla/nsprpub && ${SETENV} ${CONFIGURE_ENV} autoconf
+# cd ${WRKSRC}/mozilla/nsprpub && ${SETENV} ${CONFIGURE_ENV} autoconf
cd ${WRKSRC}/ldap/sdks/c-sdk && ${SETENV} ${CONFIGURE_ENV} autoconf
# mkdir ${WRKSRC}/mozilla/js/src/.deps
# If there is no .mozconfig, codegen.pp target fails.
diff --git a/www/seamonkey/PLIST b/www/seamonkey/PLIST
index 7b4cfb88ae5..4ad06663974 100644
--- a/www/seamonkey/PLIST
+++ b/www/seamonkey/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.45 2014/10/14 14:05:17 joerg Exp $
+@comment $NetBSD: PLIST,v 1.46 2014/11/02 05:40:31 ryoon Exp $
bin/seamonkey
lib/seamonkey/application.ini
lib/seamonkey/blocklist.xml
@@ -7,6 +7,7 @@ lib/seamonkey/chrome/chrome.manifest
lib/seamonkey/chrome/classic/skin/classic/communicator/aboutPrivateBrowsing.css
lib/seamonkey/chrome/classic/skin/classic/communicator/aboutSessionRestore.css
lib/seamonkey/chrome/classic/skin/classic/communicator/aboutSyncTabs.css
+lib/seamonkey/chrome/classic/skin/classic/communicator/blockedSite.css
lib/seamonkey/chrome/classic/skin/classic/communicator/bookmarks/allBookmarks.png
lib/seamonkey/chrome/classic/skin/classic/communicator/bookmarks/bookmark-folder-closed.png
lib/seamonkey/chrome/classic/skin/classic/communicator/bookmarks/bookmark-folder-dis.png
@@ -150,6 +151,7 @@ lib/seamonkey/chrome/classic/skin/classic/editor/icons/img-align-left.gif
lib/seamonkey/chrome/classic/skin/classic/editor/icons/img-align-middle.gif
lib/seamonkey/chrome/classic/skin/classic/editor/icons/img-align-right.gif
lib/seamonkey/chrome/classic/skin/classic/editor/icons/img-align-top.gif
+lib/seamonkey/chrome/classic/skin/classic/editor/icons/multicolor.png
lib/seamonkey/chrome/classic/skin/classic/editor/icons/progress-busy.gif
lib/seamonkey/chrome/classic/skin/classic/editor/icons/progress-done.gif
lib/seamonkey/chrome/classic/skin/classic/editor/icons/progress-failed.gif
@@ -369,13 +371,16 @@ lib/seamonkey/chrome/classic/skin/classic/navigator/navigator.css
lib/seamonkey/chrome/classic/skin/classic/navigator/pageInfo.css
lib/seamonkey/chrome/classic/skin/classic/navigator/tabbrowser.css
lib/seamonkey/chrome/comm/content/branding/about.png
+lib/seamonkey/chrome/comm/content/branding/aboutRights.js
lib/seamonkey/chrome/comm/content/branding/aboutRights.xhtml
lib/seamonkey/chrome/comm/content/branding/icon48.png
lib/seamonkey/chrome/comm/content/branding/icon64.png
lib/seamonkey/chrome/comm/content/branding/messenger-start-bg.png
lib/seamonkey/chrome/comm/content/branding/messenger-start-hdr.png
+lib/seamonkey/chrome/comm/content/communicator/about.js
lib/seamonkey/chrome/comm/content/communicator/about.xhtml
lib/seamonkey/chrome/comm/content/communicator/aboutLife.xhtml
+lib/seamonkey/chrome/comm/content/communicator/aboutPrivateBrowsing.js
lib/seamonkey/chrome/comm/content/communicator/aboutPrivateBrowsing.xul
lib/seamonkey/chrome/comm/content/communicator/aboutSessionRestore.js
lib/seamonkey/chrome/comm/content/communicator/aboutSessionRestore.xhtml
@@ -390,6 +395,7 @@ lib/seamonkey/chrome/comm/content/communicator/bindings/general.xml
lib/seamonkey/chrome/comm/content/communicator/bindings/notification.xml
lib/seamonkey/chrome/comm/content/communicator/bindings/prefwindow.xml
lib/seamonkey/chrome/comm/content/communicator/bindings/toolbar.xml
+lib/seamonkey/chrome/comm/content/communicator/blockedSite.js
lib/seamonkey/chrome/comm/content/communicator/blockedSite.xhtml
lib/seamonkey/chrome/comm/content/communicator/bookmarks/bm-panel.js
lib/seamonkey/chrome/comm/content/communicator/bookmarks/bm-panel.xul
@@ -405,6 +411,7 @@ lib/seamonkey/chrome/comm/content/communicator/bookmarks/moveBookmarks.js
lib/seamonkey/chrome/comm/content/communicator/bookmarks/moveBookmarks.xul
lib/seamonkey/chrome/comm/content/communicator/bookmarks/placesOverlay.xul
lib/seamonkey/chrome/comm/content/communicator/certError.css
+lib/seamonkey/chrome/comm/content/communicator/certError.js
lib/seamonkey/chrome/comm/content/communicator/certError.xhtml
lib/seamonkey/chrome/comm/content/communicator/certError.xml
lib/seamonkey/chrome/comm/content/communicator/charsetOverlay.xul
@@ -434,6 +441,7 @@ lib/seamonkey/chrome/comm/content/communicator/feeds/subscribe.xhtml
lib/seamonkey/chrome/comm/content/communicator/feeds/subscribe.xml
lib/seamonkey/chrome/comm/content/communicator/findUtils.js
lib/seamonkey/chrome/comm/content/communicator/fullscreen-video.xhtml
+lib/seamonkey/chrome/comm/content/communicator/gopherAddon.xhtml
lib/seamonkey/chrome/comm/content/communicator/helpEditorOverlay.xul
lib/seamonkey/chrome/comm/content/communicator/helpMessengerOverlay.xul
lib/seamonkey/chrome/comm/content/communicator/helpOverlay.js
@@ -622,6 +630,8 @@ lib/seamonkey/chrome/comm/content/editor/EdInsSrc.js
lib/seamonkey/chrome/comm/content/editor/EdInsSrc.xul
lib/seamonkey/chrome/comm/content/editor/EdInsertChars.js
lib/seamonkey/chrome/comm/content/editor/EdInsertChars.xul
+lib/seamonkey/chrome/comm/content/editor/EdInsertMath.js
+lib/seamonkey/chrome/comm/content/editor/EdInsertMath.xul
lib/seamonkey/chrome/comm/content/editor/EdInsertTOC.js
lib/seamonkey/chrome/comm/content/editor/EdInsertTOC.xul
lib/seamonkey/chrome/comm/content/editor/EdInsertTable.js
@@ -666,6 +676,7 @@ lib/seamonkey/chrome/comm/content/editor/EditorPublishSettings.xul
lib/seamonkey/chrome/comm/content/editor/EditorSaveAsCharset.js
lib/seamonkey/chrome/comm/content/editor/EditorSaveAsCharset.xul
lib/seamonkey/chrome/comm/content/editor/StructBarContextMenu.js
+lib/seamonkey/chrome/comm/content/editor/TeXZilla.js
lib/seamonkey/chrome/comm/content/editor/composerOverlay.xul
lib/seamonkey/chrome/comm/content/editor/editingOverlay.js
lib/seamonkey/chrome/comm/content/editor/editingOverlay.xul
@@ -855,6 +866,7 @@ lib/seamonkey/chrome/en-US/locale/en-US/communicator/downloads/downloadmanager.p
lib/seamonkey/chrome/en-US/locale/en-US/communicator/downloads/progressDialog.dtd
lib/seamonkey/chrome/en-US/locale/en-US/communicator/feeds/subscribe.dtd
lib/seamonkey/chrome/en-US/locale/en-US/communicator/feeds/subscribe.properties
+lib/seamonkey/chrome/en-US/locale/en-US/communicator/gopherAddon.dtd
lib/seamonkey/chrome/en-US/locale/en-US/communicator/help/cert_dialog_help.xhtml
lib/seamonkey/chrome/en-US/locale/en-US/communicator/help/certs_help.xhtml
lib/seamonkey/chrome/en-US/locale/en-US/communicator/help/certs_prefs_help.xhtml
@@ -940,6 +952,7 @@ lib/seamonkey/chrome/en-US/locale/en-US/communicator/history/history.dtd
lib/seamonkey/chrome/en-US/locale/en-US/communicator/history/places.properties
lib/seamonkey/chrome/en-US/locale/en-US/communicator/migration/migration.dtd
lib/seamonkey/chrome/en-US/locale/en-US/communicator/migration/migration.properties
+lib/seamonkey/chrome/en-US/locale/en-US/communicator/notification.dtd
lib/seamonkey/chrome/en-US/locale/en-US/communicator/notification.properties
lib/seamonkey/chrome/en-US/locale/en-US/communicator/openLocation.dtd
lib/seamonkey/chrome/en-US/locale/en-US/communicator/openLocation.properties
@@ -987,6 +1000,7 @@ lib/seamonkey/chrome/en-US/locale/en-US/communicator/pref/pref-spelling.dtd
lib/seamonkey/chrome/en-US/locale/en-US/communicator/pref/pref-sync.dtd
lib/seamonkey/chrome/en-US/locale/en-US/communicator/pref/pref-tabs.dtd
lib/seamonkey/chrome/en-US/locale/en-US/communicator/pref/preferences.dtd
+lib/seamonkey/chrome/en-US/locale/en-US/communicator/pref/prefutilities.dtd
lib/seamonkey/chrome/en-US/locale/en-US/communicator/pref/prefutilities.properties
lib/seamonkey/chrome/en-US/locale/en-US/communicator/printPreview.dtd
lib/seamonkey/chrome/en-US/locale/en-US/communicator/profile/profileSelection.dtd
@@ -1039,6 +1053,7 @@ lib/seamonkey/chrome/en-US/locale/en-US/editor/EditorHLineProperties.dtd
lib/seamonkey/chrome/en-US/locale/en-US/editor/EditorImageProperties.dtd
lib/seamonkey/chrome/en-US/locale/en-US/editor/EditorInputProperties.dtd
lib/seamonkey/chrome/en-US/locale/en-US/editor/EditorInsertChars.dtd
+lib/seamonkey/chrome/en-US/locale/en-US/editor/EditorInsertMath.dtd
lib/seamonkey/chrome/en-US/locale/en-US/editor/EditorInsertSource.dtd
lib/seamonkey/chrome/en-US/locale/en-US/editor/EditorInsertTOC.dtd
lib/seamonkey/chrome/en-US/locale/en-US/editor/EditorInsertTable.dtd
@@ -1065,6 +1080,7 @@ lib/seamonkey/chrome/en-US/locale/en-US/editor/editorSmileyOverlay.dtd
lib/seamonkey/chrome/en-US/locale/en-US/editor/pref-composer.dtd
lib/seamonkey/chrome/en-US/locale/en-US/editor/pref-editing.dtd
lib/seamonkey/chrome/en-US/locale/en-US/editor/pref-toolbars.dtd
+lib/seamonkey/chrome/en-US/locale/en-US/formautofill/requestAutocomplete.dtd
lib/seamonkey/chrome/en-US/locale/en-US/global-platform/mac/accessible.properties
lib/seamonkey/chrome/en-US/locale/en-US/global-platform/mac/intl.properties
lib/seamonkey/chrome/en-US/locale/en-US/global-platform/mac/platformKeys.properties
@@ -1091,8 +1107,6 @@ lib/seamonkey/chrome/en-US/locale/en-US/global/brand.dtd
lib/seamonkey/chrome/en-US/locale/en-US/global/browser.properties
lib/seamonkey/chrome/en-US/locale/en-US/global/charsetMenu.dtd
lib/seamonkey/chrome/en-US/locale/en-US/global/charsetMenu.properties
-lib/seamonkey/chrome/en-US/locale/en-US/global/charsetOverlay.dtd
-lib/seamonkey/chrome/en-US/locale/en-US/global/charsetTitles.properties
lib/seamonkey/chrome/en-US/locale/en-US/global/commonDialog.dtd
lib/seamonkey/chrome/en-US/locale/en-US/global/commonDialogs.properties
lib/seamonkey/chrome/en-US/locale/en-US/global/config.dtd
@@ -1103,11 +1117,12 @@ lib/seamonkey/chrome/en-US/locale/en-US/global/contentAreaCommands.properties
lib/seamonkey/chrome/en-US/locale/en-US/global/crashes.dtd
lib/seamonkey/chrome/en-US/locale/en-US/global/crashes.properties
lib/seamonkey/chrome/en-US/locale/en-US/global/css.properties
-lib/seamonkey/chrome/en-US/locale/en-US/global/customizeCharset.dtd
lib/seamonkey/chrome/en-US/locale/en-US/global/customizeToolbar.dtd
lib/seamonkey/chrome/en-US/locale/en-US/global/customizeToolbar.properties
lib/seamonkey/chrome/en-US/locale/en-US/global/dateFormat.properties
lib/seamonkey/chrome/en-US/locale/en-US/global/datetimepicker.dtd
+lib/seamonkey/chrome/en-US/locale/en-US/global/devtools/csscoverage.dtd
+lib/seamonkey/chrome/en-US/locale/en-US/global/devtools/csscoverage.properties
lib/seamonkey/chrome/en-US/locale/en-US/global/devtools/debugger.properties
lib/seamonkey/chrome/en-US/locale/en-US/global/devtools/styleinspector.properties
lib/seamonkey/chrome/en-US/locale/en-US/global/dialog.properties
@@ -1225,6 +1240,7 @@ lib/seamonkey/chrome/en-US/locale/en-US/messenger/am-serverwithnoidentities.dtd
lib/seamonkey/chrome/en-US/locale/en-US/messenger/am-smime.dtd
lib/seamonkey/chrome/en-US/locale/en-US/messenger/am-smime.properties
lib/seamonkey/chrome/en-US/locale/en-US/messenger/appleMailImportMsgs.properties
+lib/seamonkey/chrome/en-US/locale/en-US/messenger/charsetTitles.properties
lib/seamonkey/chrome/en-US/locale/en-US/messenger/custom.properties
lib/seamonkey/chrome/en-US/locale/en-US/messenger/downloadheaders.dtd
lib/seamonkey/chrome/en-US/locale/en-US/messenger/eudoraImportMsgs.properties
@@ -1324,7 +1340,6 @@ lib/seamonkey/chrome/en-US/locale/en-US/mozapps/handling/handling.properties
lib/seamonkey/chrome/en-US/locale/en-US/mozapps/plugins/plugins.dtd
lib/seamonkey/chrome/en-US/locale/en-US/mozapps/plugins/plugins.properties
lib/seamonkey/chrome/en-US/locale/en-US/mozapps/preferences/changemp.dtd
-lib/seamonkey/chrome/en-US/locale/en-US/mozapps/preferences/ocsp.dtd
lib/seamonkey/chrome/en-US/locale/en-US/mozapps/preferences/preferences.properties
lib/seamonkey/chrome/en-US/locale/en-US/mozapps/preferences/removemp.dtd
lib/seamonkey/chrome/en-US/locale/en-US/mozapps/profile/createProfileWizard.dtd
@@ -1419,9 +1434,6 @@ lib/seamonkey/chrome/icons/default/places.png
lib/seamonkey/chrome/icons/default/places16.png
lib/seamonkey/chrome/icons/default/places48.png
lib/seamonkey/chrome/icons/default/seamonkey.png
-lib/seamonkey/chrome/icons/default/venkman-window.png
-lib/seamonkey/chrome/icons/default/venkman-window16.png
-lib/seamonkey/chrome/icons/default/venkman-window48.png
lib/seamonkey/chrome/messenger/content/messagebody/addressbook/print.css
lib/seamonkey/chrome/messenger/content/messenger-smime/certFetchingStatus.js
lib/seamonkey/chrome/messenger/content/messenger-smime/certFetchingStatus.xul
@@ -1668,8 +1680,6 @@ lib/seamonkey/chrome/pippki/content/pippki/certDump.xul
lib/seamonkey/chrome/pippki/content/pippki/certManager.js
lib/seamonkey/chrome/pippki/content/pippki/certManager.xul
lib/seamonkey/chrome/pippki/content/pippki/certViewer.xul
-lib/seamonkey/chrome/pippki/content/pippki/certerror.js
-lib/seamonkey/chrome/pippki/content/pippki/certerror.xul
lib/seamonkey/chrome/pippki/content/pippki/certpicker.js
lib/seamonkey/chrome/pippki/content/pippki/certpicker.xul
lib/seamonkey/chrome/pippki/content/pippki/changepassword.xul
@@ -1714,13 +1724,17 @@ lib/seamonkey/chrome/pippki/content/pippki/viewCertDetails.js
lib/seamonkey/chrome/pippki/content/pippki/viewCertDetails.xul
lib/seamonkey/chrome/toolkit/content/cookie/cookieAcceptDialog.js
lib/seamonkey/chrome/toolkit/content/cookie/cookieAcceptDialog.xul
+lib/seamonkey/chrome/toolkit/content/formautofill/requestAutocomplete.js
+lib/seamonkey/chrome/toolkit/content/formautofill/requestAutocomplete.xhtml
lib/seamonkey/chrome/toolkit/content/global/BrowserElementChild.js
lib/seamonkey/chrome/toolkit/content/global/BrowserElementChildPreload.js
lib/seamonkey/chrome/toolkit/content/global/BrowserElementPanning.js
lib/seamonkey/chrome/toolkit/content/global/XPCNativeWrapper.js
lib/seamonkey/chrome/toolkit/content/global/about.js
lib/seamonkey/chrome/toolkit/content/global/about.xhtml
+lib/seamonkey/chrome/toolkit/content/global/aboutAbout.js
lib/seamonkey/chrome/toolkit/content/global/aboutAbout.xhtml
+lib/seamonkey/chrome/toolkit/content/global/aboutCache.js
lib/seamonkey/chrome/toolkit/content/global/aboutCompartments.xhtml
lib/seamonkey/chrome/toolkit/content/global/aboutMemory.css
lib/seamonkey/chrome/toolkit/content/global/aboutMemory.js
@@ -1789,9 +1803,8 @@ lib/seamonkey/chrome/toolkit/content/global/bindings/videocontrols.css
lib/seamonkey/chrome/toolkit/content/global/bindings/videocontrols.xml
lib/seamonkey/chrome/toolkit/content/global/bindings/wizard.xml
lib/seamonkey/chrome/toolkit/content/global/browser-child.js
+lib/seamonkey/chrome/toolkit/content/global/browser-content.js
lib/seamonkey/chrome/toolkit/content/global/buildconfig.html
-lib/seamonkey/chrome/toolkit/content/global/charsetOverlay.js
-lib/seamonkey/chrome/toolkit/content/global/charsetOverlay.xul
lib/seamonkey/chrome/toolkit/content/global/commonDialog.css
lib/seamonkey/chrome/toolkit/content/global/commonDialog.js
lib/seamonkey/chrome/toolkit/content/global/commonDialog.xul
@@ -1802,8 +1815,6 @@ lib/seamonkey/chrome/toolkit/content/global/console.js
lib/seamonkey/chrome/toolkit/content/global/console.xul
lib/seamonkey/chrome/toolkit/content/global/consoleBindings.xml
lib/seamonkey/chrome/toolkit/content/global/contentAreaUtils.js
-lib/seamonkey/chrome/toolkit/content/global/customizeCharset.js
-lib/seamonkey/chrome/toolkit/content/global/customizeCharset.xul
lib/seamonkey/chrome/toolkit/content/global/customizeToolbar.css
lib/seamonkey/chrome/toolkit/content/global/customizeToolbar.js
lib/seamonkey/chrome/toolkit/content/global/customizeToolbar.xul
@@ -1825,6 +1836,7 @@ lib/seamonkey/chrome/toolkit/content/global/globalOverlay.xul
lib/seamonkey/chrome/toolkit/content/global/inlineSpellCheckUI.js
lib/seamonkey/chrome/toolkit/content/global/license.html
lib/seamonkey/chrome/toolkit/content/global/menulist.css
+lib/seamonkey/chrome/toolkit/content/global/minimal-xul.css
lib/seamonkey/chrome/toolkit/content/global/mozilla.xhtml
lib/seamonkey/chrome/toolkit/content/global/netError.xhtml
lib/seamonkey/chrome/toolkit/content/global/notfound.wav
@@ -1889,6 +1901,7 @@ lib/seamonkey/chrome/toolkit/content/mozapps/downloads/downloads.js
lib/seamonkey/chrome/toolkit/content/mozapps/downloads/downloads.xul
lib/seamonkey/chrome/toolkit/content/mozapps/downloads/helperApps.js
lib/seamonkey/chrome/toolkit/content/mozapps/downloads/unknownContentType.xul
+lib/seamonkey/chrome/toolkit/content/mozapps/extensions/OpenH264-license.txt
lib/seamonkey/chrome/toolkit/content/mozapps/extensions/about.js
lib/seamonkey/chrome/toolkit/content/mozapps/extensions/about.xul
lib/seamonkey/chrome/toolkit/content/mozapps/extensions/blocklist.css
@@ -1897,7 +1910,6 @@ lib/seamonkey/chrome/toolkit/content/mozapps/extensions/blocklist.xml
lib/seamonkey/chrome/toolkit/content/mozapps/extensions/blocklist.xul
lib/seamonkey/chrome/toolkit/content/mozapps/extensions/eula.js
lib/seamonkey/chrome/toolkit/content/mozapps/extensions/eula.xul
-lib/seamonkey/chrome/toolkit/content/mozapps/extensions/extensions-content.js
lib/seamonkey/chrome/toolkit/content/mozapps/extensions/extensions.css
lib/seamonkey/chrome/toolkit/content/mozapps/extensions/extensions.js
lib/seamonkey/chrome/toolkit/content/mozapps/extensions/extensions.xml
@@ -1906,6 +1918,7 @@ lib/seamonkey/chrome/toolkit/content/mozapps/extensions/list.js
lib/seamonkey/chrome/toolkit/content/mozapps/extensions/list.xul
lib/seamonkey/chrome/toolkit/content/mozapps/extensions/newaddon.js
lib/seamonkey/chrome/toolkit/content/mozapps/extensions/newaddon.xul
+lib/seamonkey/chrome/toolkit/content/mozapps/extensions/openH264Prefs.xul
lib/seamonkey/chrome/toolkit/content/mozapps/extensions/pluginPrefs.xul
lib/seamonkey/chrome/toolkit/content/mozapps/extensions/selectAddons.css
lib/seamonkey/chrome/toolkit/content/mozapps/extensions/selectAddons.js
@@ -1931,8 +1944,6 @@ lib/seamonkey/chrome/toolkit/content/mozapps/plugins/pluginProblemContent.css
lib/seamonkey/chrome/toolkit/content/mozapps/preferences/changemp.js
lib/seamonkey/chrome/toolkit/content/mozapps/preferences/changemp.xul
lib/seamonkey/chrome/toolkit/content/mozapps/preferences/fontbuilder.js
-lib/seamonkey/chrome/toolkit/content/mozapps/preferences/ocsp.js
-lib/seamonkey/chrome/toolkit/content/mozapps/preferences/ocsp.xul
lib/seamonkey/chrome/toolkit/content/mozapps/preferences/removemp.js
lib/seamonkey/chrome/toolkit/content/mozapps/preferences/removemp.xul
lib/seamonkey/chrome/toolkit/content/mozapps/profile/createProfileWizard.js
@@ -1961,6 +1972,7 @@ lib/seamonkey/chrome/toolkit/res/arrow.gif
lib/seamonkey/chrome/toolkit/res/arrowd.gif
lib/seamonkey/chrome/toolkit/res/broken-image.png
lib/seamonkey/chrome/toolkit/res/charsetData.properties
+lib/seamonkey/chrome/toolkit/res/counterstyles.css
lib/seamonkey/chrome/toolkit/res/forms.css
lib/seamonkey/chrome/toolkit/res/full-screen-override.css
lib/seamonkey/chrome/toolkit/res/hiddenWindow.html
@@ -2092,6 +2104,7 @@ lib/seamonkey/chrome/toolkit/skin/classic/global/inContentUI.css
lib/seamonkey/chrome/toolkit/skin/classic/global/inContentUI/background-texture.png
lib/seamonkey/chrome/toolkit/skin/classic/global/linkTree.css
lib/seamonkey/chrome/toolkit/skin/classic/global/listbox.css
+lib/seamonkey/chrome/toolkit/skin/classic/global/loop/loop-call.png
lib/seamonkey/chrome/toolkit/skin/classic/global/media/TopLevelImageDocument.css
lib/seamonkey/chrome/toolkit/skin/classic/global/media/TopLevelVideoDocument.css
lib/seamonkey/chrome/toolkit/skin/classic/global/media/clicktoplay-bgtexture.png
@@ -2180,6 +2193,7 @@ lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/cancel.png
lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/category-available.png
lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/category-dictionaries.png
lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/category-discover.png
+lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/category-experiments.png
lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/category-extensions.png
lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/category-languages.png
lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/category-plugins.png
@@ -2192,6 +2206,7 @@ lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/dictionaryGeneric-1
lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/dictionaryGeneric.png
lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/discover-logo.png
lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/eula.css
+lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/experimentGeneric.png
lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/extensionGeneric-16.png
lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/extensionGeneric.png
lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/extensions.css
@@ -2211,6 +2226,7 @@ lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/themeGeneric-16.png
lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/themeGeneric.png
lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/update.css
lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/utilities.png
+lib/seamonkey/chrome/toolkit/skin/classic/mozapps/formautofill/requestAutocomplete.css
lib/seamonkey/chrome/toolkit/skin/classic/mozapps/handling/handling.css
lib/seamonkey/chrome/toolkit/skin/classic/mozapps/passwordmgr/key-16.png
lib/seamonkey/chrome/toolkit/skin/classic/mozapps/passwordmgr/key-64.png
@@ -2244,8 +2260,9 @@ lib/seamonkey/components/AlarmsManager.js
lib/seamonkey/components/AppsService.js
lib/seamonkey/components/BrowserElementParent.js
lib/seamonkey/components/ColorAnalyzer.js
-lib/seamonkey/components/ConsoleAPI.js
+lib/seamonkey/components/ConsoleAPIStorage.js
lib/seamonkey/components/ContactManager.js
+lib/seamonkey/components/DataStoreImpl.js
lib/seamonkey/components/DownloadLegacy.js
lib/seamonkey/components/FeedConverter.js
lib/seamonkey/components/FeedProcessor.js
@@ -2257,6 +2274,7 @@ lib/seamonkey/components/PhoneNumberService.js
lib/seamonkey/components/PlacesCategoriesStarter.js
lib/seamonkey/components/SettingsManager.js
lib/seamonkey/components/SiteSpecificUserAgent.js
+lib/seamonkey/components/SlowScriptDebug.js
lib/seamonkey/components/SuiteProfileMigrator.js
lib/seamonkey/components/TCPSocket.js
lib/seamonkey/components/TCPSocketParentIntermediary.js
@@ -2265,11 +2283,13 @@ lib/seamonkey/components/WebContentConverter.js
lib/seamonkey/components/Webapps.js
lib/seamonkey/components/addonManager.js
lib/seamonkey/components/amContentHandler.js
+lib/seamonkey/components/amInstallTrigger.js
lib/seamonkey/components/amWebInstallListener.js
lib/seamonkey/components/components.manifest
lib/seamonkey/components/contentAreaDropListener.js
lib/seamonkey/components/contentSecurityPolicy.js
lib/seamonkey/components/crypto-SDR.js
+lib/seamonkey/components/folderLookupService.js
lib/seamonkey/components/glautocomp.js
lib/seamonkey/components/interfaces.xpt
lib/seamonkey/components/jsconsole-clhandler.js
@@ -2298,6 +2318,7 @@ lib/seamonkey/components/nsDefaultCLH.js
lib/seamonkey/components/nsFilePicker.js
lib/seamonkey/components/nsFormAutoComplete.js
lib/seamonkey/components/nsFormHistory.js
+lib/seamonkey/components/nsGopherProtocolStubHandler.js
lib/seamonkey/components/nsHandlerService.js
lib/seamonkey/components/nsHelperAppDlg.js
lib/seamonkey/components/nsIDService.js
@@ -2334,7 +2355,7 @@ lib/seamonkey/components/nsWebHandlerApp.js
lib/seamonkey/components/offlineStartup.js
lib/seamonkey/components/smileApplication.js
lib/seamonkey/components/smime-service.js
-lib/seamonkey/components/storage-mozStorage.js
+lib/seamonkey/components/storage-json.js
lib/seamonkey/components/txEXSLTRegExFunctions.js
lib/seamonkey/defaults/autoconfig/platform.js
lib/seamonkey/defaults/autoconfig/prefcalls.js
@@ -2360,6 +2381,7 @@ lib/seamonkey/extensions/modern@themes.mozilla.org/chrome.manifest
lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/communicator/aboutPrivateBrowsing.css
lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/communicator/aboutSessionRestore.css
lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/communicator/aboutSyncTabs.css
+lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/communicator/blockedSite.css
lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/communicator/bookmarks/allBookmarks.png
lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/communicator/bookmarks/bookmark-folder-closed.gif
lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/communicator/bookmarks/bookmark-folder-dis.gif
@@ -2524,6 +2546,7 @@ lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/edi
lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/editor/icons/img-align-top-sel.gif
lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/editor/icons/img-align-top.gif
lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/editor/icons/mast-editor.gif
+lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/editor/icons/multicolor.png
lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/editor/icons/progress-busy.gif
lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/editor/icons/progress-done.gif
lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/editor/icons/progress-failed.gif
@@ -3016,7 +3039,9 @@ lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/nav
lib/seamonkey/extensions/modern@themes.mozilla.org/icon.png
lib/seamonkey/extensions/modern@themes.mozilla.org/install.rdf
lib/seamonkey/extensions/modern@themes.mozilla.org/preview.png
+lib/seamonkey/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
lib/seamonkey/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
+lib/seamonkey/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/preview.png
lib/seamonkey/greprefs.js
lib/seamonkey/hyphenation/hyph_af.dic
lib/seamonkey/hyphenation/hyph_bg.dic
@@ -3046,6 +3071,7 @@ lib/seamonkey/hyphenation/hyph_mn.dic
lib/seamonkey/hyphenation/hyph_nb.dic
lib/seamonkey/hyphenation/hyph_nl.dic
lib/seamonkey/hyphenation/hyph_nn.dic
+lib/seamonkey/hyphenation/hyph_pl.dic
lib/seamonkey/hyphenation/hyph_pt.dic
lib/seamonkey/hyphenation/hyph_ru.dic
lib/seamonkey/hyphenation/hyph_sh.dic
@@ -3063,17 +3089,12 @@ lib/seamonkey/isp/rss.rdf
lib/seamonkey/libldap60.so
lib/seamonkey/libldif60.so
lib/seamonkey/libmozalloc.so
-lib/seamonkey/libmozjs.so
lib/seamonkey/libprldap60.so
lib/seamonkey/libxul.so
lib/seamonkey/license.txt
lib/seamonkey/modules/ActivitiesService.jsm
lib/seamonkey/modules/ActivitiesServiceFilter.jsm
-lib/seamonkey/modules/AddonLogging.jsm
lib/seamonkey/modules/AddonManager.jsm
-lib/seamonkey/modules/AddonRepository.jsm
-lib/seamonkey/modules/AddonRepository_SQLiteMigrator.jsm
-lib/seamonkey/modules/AddonUpdateChecker.jsm
lib/seamonkey/modules/AlarmDB.jsm
lib/seamonkey/modules/AlarmService.jsm
lib/seamonkey/modules/AppDownloadManager.jsm
@@ -3083,10 +3104,13 @@ lib/seamonkey/modules/AsyncShutdown.jsm
lib/seamonkey/modules/AsyncSpellCheckTestHelper.jsm
lib/seamonkey/modules/AutoCompleteE10S.jsm
lib/seamonkey/modules/BackgroundPageThumbs.jsm
+lib/seamonkey/modules/Battery.jsm
+lib/seamonkey/modules/BinarySearch.jsm
lib/seamonkey/modules/BookmarkHTMLUtils.jsm
lib/seamonkey/modules/BookmarkJSONUtils.jsm
lib/seamonkey/modules/BrowserElementParent.jsm
lib/seamonkey/modules/BrowserElementPromptService.jsm
+lib/seamonkey/modules/BrowserUtils.jsm
lib/seamonkey/modules/CSPUtils.jsm
lib/seamonkey/modules/CertUtils.jsm
lib/seamonkey/modules/CharsetMenu.jsm
@@ -3095,7 +3119,6 @@ lib/seamonkey/modules/ClusterLib.js
lib/seamonkey/modules/ColorAnalyzer_worker.js
lib/seamonkey/modules/ColorConversion.js
lib/seamonkey/modules/CommonDialog.jsm
-lib/seamonkey/modules/ConsoleAPIStorage.jsm
lib/seamonkey/modules/ContactDB.jsm
lib/seamonkey/modules/ContactService.jsm
lib/seamonkey/modules/ContentPrefInstance.jsm
@@ -3105,15 +3128,14 @@ lib/seamonkey/modules/CrashMonitor.jsm
lib/seamonkey/modules/Credentials.jsm
lib/seamonkey/modules/DOMIdentity.jsm
lib/seamonkey/modules/DOMRequestHelper.jsm
-lib/seamonkey/modules/DataStore.jsm
lib/seamonkey/modules/DataStoreChangeNotifier.jsm
-lib/seamonkey/modules/DataStoreCursor.jsm
+lib/seamonkey/modules/DataStoreCursorImpl.jsm
lib/seamonkey/modules/DataStoreDB.jsm
-lib/seamonkey/modules/DataStoreServiceInternal.jsm
lib/seamonkey/modules/DeferredSave.jsm
lib/seamonkey/modules/DeferredTask.jsm
lib/seamonkey/modules/Deprecated.jsm
lib/seamonkey/modules/Dict.jsm
+lib/seamonkey/modules/DirectoryLinksProvider.jsm
lib/seamonkey/modules/DownloadCore.jsm
lib/seamonkey/modules/DownloadImport.jsm
lib/seamonkey/modules/DownloadIntegration.jsm
@@ -3129,6 +3151,9 @@ lib/seamonkey/modules/FeedUtils.jsm
lib/seamonkey/modules/FileUtils.jsm
lib/seamonkey/modules/Finder.jsm
lib/seamonkey/modules/ForgetAboutSite.jsm
+lib/seamonkey/modules/FormAutofill.jsm
+lib/seamonkey/modules/FormAutofillIntegration.jsm
+lib/seamonkey/modules/FormData.jsm
lib/seamonkey/modules/FormHistory.jsm
lib/seamonkey/modules/FrameWorker.jsm
lib/seamonkey/modules/FrameWorkerContent.js
@@ -3136,7 +3161,7 @@ lib/seamonkey/modules/FreeSpaceWatcher.jsm
lib/seamonkey/modules/FxAccounts.jsm
lib/seamonkey/modules/FxAccountsClient.jsm
lib/seamonkey/modules/FxAccountsCommon.js
-lib/seamonkey/modules/FxAccountsUtils.jsm
+lib/seamonkey/modules/GMPInstallManager.jsm
lib/seamonkey/modules/Geometry.jsm
lib/seamonkey/modules/Http.jsm
lib/seamonkey/modules/IOUtils.js
@@ -3144,30 +3169,34 @@ lib/seamonkey/modules/ISO8601DateUtils.jsm
lib/seamonkey/modules/IndexedDBHelper.jsm
lib/seamonkey/modules/InlineSpellChecker.jsm
lib/seamonkey/modules/InsecurePasswordUtils.jsm
+lib/seamonkey/modules/InterAppCommService.jsm
lib/seamonkey/modules/JXON.js
lib/seamonkey/modules/Keyboard.jsm
lib/seamonkey/modules/LightweightThemeConsumer.jsm
-lib/seamonkey/modules/LightweightThemeImageOptimizer.jsm
lib/seamonkey/modules/LightweightThemeManager.jsm
lib/seamonkey/modules/LoadContextInfo.jsm
lib/seamonkey/modules/Log.jsm
+lib/seamonkey/modules/LoginHelper.jsm
+lib/seamonkey/modules/LoginImport.jsm
lib/seamonkey/modules/LoginManagerContent.jsm
+lib/seamonkey/modules/LoginManagerParent.jsm
+lib/seamonkey/modules/LoginStore.jsm
lib/seamonkey/modules/MailUtils.js
lib/seamonkey/modules/MessagePortBase.jsm
lib/seamonkey/modules/MessagePortWorker.js
lib/seamonkey/modules/Microformats.js
lib/seamonkey/modules/MozSocialAPI.jsm
+lib/seamonkey/modules/NativeApp.jsm
lib/seamonkey/modules/NetUtil.jsm
lib/seamonkey/modules/NewTabUtils.jsm
lib/seamonkey/modules/NotificationDB.jsm
-lib/seamonkey/modules/ObjectWrapper.jsm
+lib/seamonkey/modules/OAuth2.jsm
lib/seamonkey/modules/OfflineCacheInstaller.jsm
lib/seamonkey/modules/OperatorApps.jsm
lib/seamonkey/modules/PageMenu.jsm
lib/seamonkey/modules/PageThumbs.jsm
lib/seamonkey/modules/PageThumbsWorker.js
lib/seamonkey/modules/PerfMeasurement.jsm
-lib/seamonkey/modules/PermissionPromptHelper.jsm
lib/seamonkey/modules/PermissionSettings.jsm
lib/seamonkey/modules/PermissionsInstaller.jsm
lib/seamonkey/modules/PermissionsTable.jsm
@@ -3178,14 +3207,17 @@ lib/seamonkey/modules/PhoneNumberNormalizer.jsm
lib/seamonkey/modules/PhoneNumberUtils.jsm
lib/seamonkey/modules/PlacesBackups.jsm
lib/seamonkey/modules/PlacesDBUtils.jsm
+lib/seamonkey/modules/PlacesTransactions.jsm
lib/seamonkey/modules/PlacesUIUtils.jsm
lib/seamonkey/modules/PlacesUtils.jsm
-lib/seamonkey/modules/PluginProvider.jsm
lib/seamonkey/modules/PluralForm.jsm
lib/seamonkey/modules/PopupNotifications.jsm
lib/seamonkey/modules/Preferences.jsm
+lib/seamonkey/modules/PriorityUrlProvider.jsm
lib/seamonkey/modules/PrivateBrowsingUtils.jsm
+lib/seamonkey/modules/Promise-backend.js
lib/seamonkey/modules/Promise.jsm
+lib/seamonkey/modules/PromiseWorker.jsm
lib/seamonkey/modules/PropertyListUtils.jsm
lib/seamonkey/modules/PushService.jsm
lib/seamonkey/modules/RemoteAddonsChild.jsm
@@ -3195,25 +3227,33 @@ lib/seamonkey/modules/RemoteFinder.jsm
lib/seamonkey/modules/RemoteSecurityUI.jsm
lib/seamonkey/modules/RemoteWebNavigation.jsm
lib/seamonkey/modules/RemoteWebProgress.jsm
+lib/seamonkey/modules/RequestAutocompleteUI.jsm
lib/seamonkey/modules/ResetProfile.jsm
+lib/seamonkey/modules/ResourceStatsDB.jsm
+lib/seamonkey/modules/ResourceStatsService.jsm
lib/seamonkey/modules/SafeBrowsing.jsm
lib/seamonkey/modules/Sanitizer.jsm
+lib/seamonkey/modules/ScriptPreloader.jsm
+lib/seamonkey/modules/ScrollPosition.jsm
+lib/seamonkey/modules/SearchSuggestionController.jsm
lib/seamonkey/modules/SelectContentHelper.jsm
lib/seamonkey/modules/SelectParentHelper.jsm
lib/seamonkey/modules/Services.jsm
lib/seamonkey/modules/SettingsChangeNotifier.jsm
lib/seamonkey/modules/SettingsDB.jsm
lib/seamonkey/modules/SettingsQueue.jsm
+lib/seamonkey/modules/SharedPromptUtils.jsm
lib/seamonkey/modules/ShortcutUtils.jsm
lib/seamonkey/modules/Sntp.jsm
lib/seamonkey/modules/SocialService.jsm
lib/seamonkey/modules/SpatialNavigation.jsm
-lib/seamonkey/modules/SpellCheckDictionaryBootstrap.js
lib/seamonkey/modules/Sqlite.jsm
+lib/seamonkey/modules/StoreTrustAnchor.jsm
lib/seamonkey/modules/StringBundle.js
lib/seamonkey/modules/SystemMessagePermissionsChecker.jsm
lib/seamonkey/modules/Task.jsm
lib/seamonkey/modules/TelemetryFile.jsm
+lib/seamonkey/modules/TelemetryLog.jsm
lib/seamonkey/modules/TelemetryPing.jsm
lib/seamonkey/modules/TelemetryStopwatch.jsm
lib/seamonkey/modules/TelemetryTimestamps.jsm
@@ -3226,22 +3266,34 @@ lib/seamonkey/modules/UserAgentOverrides.jsm
lib/seamonkey/modules/UserAgentUpdates.jsm
lib/seamonkey/modules/WebappOSUtils.jsm
lib/seamonkey/modules/Webapps.jsm
-lib/seamonkey/modules/WebappsInstaller.jsm
lib/seamonkey/modules/WindowDraggingUtils.jsm
lib/seamonkey/modules/WindowsPrefSync.jsm
lib/seamonkey/modules/WindowsPreviewPerTab.jsm
lib/seamonkey/modules/WorkerAPI.jsm
lib/seamonkey/modules/XPCOMUtils.jsm
-lib/seamonkey/modules/XPIProvider.jsm
-lib/seamonkey/modules/XPIProviderUtils.js
+lib/seamonkey/modules/XPathGenerator.jsm
+lib/seamonkey/modules/ZipUtils.jsm
lib/seamonkey/modules/accessibility/AccessFu.jsm
lib/seamonkey/modules/accessibility/Constants.jsm
+lib/seamonkey/modules/accessibility/ContentControl.jsm
lib/seamonkey/modules/accessibility/EventManager.jsm
+lib/seamonkey/modules/accessibility/Gestures.jsm
lib/seamonkey/modules/accessibility/OutputGenerator.jsm
+lib/seamonkey/modules/accessibility/PointerAdapter.jsm
lib/seamonkey/modules/accessibility/Presentation.jsm
-lib/seamonkey/modules/accessibility/TouchAdapter.jsm
lib/seamonkey/modules/accessibility/TraversalRules.jsm
lib/seamonkey/modules/accessibility/Utils.jsm
+lib/seamonkey/modules/addons/AddonLogging.jsm
+lib/seamonkey/modules/addons/AddonRepository.jsm
+lib/seamonkey/modules/addons/AddonRepository_SQLiteMigrator.jsm
+lib/seamonkey/modules/addons/AddonUpdateChecker.jsm
+lib/seamonkey/modules/addons/Content.js
+lib/seamonkey/modules/addons/LightweightThemeImageOptimizer.jsm
+lib/seamonkey/modules/addons/OpenH264Provider.jsm
+lib/seamonkey/modules/addons/PluginProvider.jsm
+lib/seamonkey/modules/addons/SpellCheckDictionaryBootstrap.js
+lib/seamonkey/modules/addons/XPIProvider.jsm
+lib/seamonkey/modules/addons/XPIProviderUtils.js
lib/seamonkey/modules/commonjs/diffpatcher/History.md
lib/seamonkey/modules/commonjs/diffpatcher/License.md
lib/seamonkey/modules/commonjs/diffpatcher/Readme.md
@@ -3255,6 +3307,8 @@ lib/seamonkey/modules/commonjs/diffpatcher/test/diff.js
lib/seamonkey/modules/commonjs/diffpatcher/test/index.js
lib/seamonkey/modules/commonjs/diffpatcher/test/patch.js
lib/seamonkey/modules/commonjs/diffpatcher/test/tap.js
+lib/seamonkey/modules/commonjs/framescript/FrameScriptManager.jsm
+lib/seamonkey/modules/commonjs/framescript/tab-events.js
lib/seamonkey/modules/commonjs/method/History.md
lib/seamonkey/modules/commonjs/method/License.md
lib/seamonkey/modules/commonjs/method/Readme.md
@@ -3287,7 +3341,9 @@ lib/seamonkey/modules/commonjs/sdk/context-menu.js
lib/seamonkey/modules/commonjs/sdk/core/disposable.js
lib/seamonkey/modules/commonjs/sdk/core/heritage.js
lib/seamonkey/modules/commonjs/sdk/core/namespace.js
+lib/seamonkey/modules/commonjs/sdk/core/observer.js
lib/seamonkey/modules/commonjs/sdk/core/promise.js
+lib/seamonkey/modules/commonjs/sdk/core/reference.js
lib/seamonkey/modules/commonjs/sdk/deprecated/api-utils.js
lib/seamonkey/modules/commonjs/sdk/deprecated/cortex.js
lib/seamonkey/modules/commonjs/sdk/deprecated/errors.js
@@ -3333,15 +3389,21 @@ lib/seamonkey/modules/commonjs/sdk/keyboard/utils.js
lib/seamonkey/modules/commonjs/sdk/l10n.js
lib/seamonkey/modules/commonjs/sdk/l10n/core.js
lib/seamonkey/modules/commonjs/sdk/l10n/html.js
+lib/seamonkey/modules/commonjs/sdk/l10n/json/core.js
lib/seamonkey/modules/commonjs/sdk/l10n/loader.js
lib/seamonkey/modules/commonjs/sdk/l10n/locale.js
lib/seamonkey/modules/commonjs/sdk/l10n/plural-rules.js
lib/seamonkey/modules/commonjs/sdk/l10n/prefs.js
+lib/seamonkey/modules/commonjs/sdk/l10n/properties/core.js
lib/seamonkey/modules/commonjs/sdk/lang/functional.js
+lib/seamonkey/modules/commonjs/sdk/lang/functional/concurrent.js
+lib/seamonkey/modules/commonjs/sdk/lang/functional/core.js
+lib/seamonkey/modules/commonjs/sdk/lang/functional/helpers.js
lib/seamonkey/modules/commonjs/sdk/lang/type.js
lib/seamonkey/modules/commonjs/sdk/lang/weak-set.js
lib/seamonkey/modules/commonjs/sdk/loader/cuddlefish.js
lib/seamonkey/modules/commonjs/sdk/loader/sandbox.js
+lib/seamonkey/modules/commonjs/sdk/model/core.js
lib/seamonkey/modules/commonjs/sdk/net/url.js
lib/seamonkey/modules/commonjs/sdk/net/xhr.js
lib/seamonkey/modules/commonjs/sdk/notifications.js
@@ -3366,10 +3428,11 @@ lib/seamonkey/modules/commonjs/sdk/places/host/host-tags.js
lib/seamonkey/modules/commonjs/sdk/places/utils.js
lib/seamonkey/modules/commonjs/sdk/platform/xpcom.js
lib/seamonkey/modules/commonjs/sdk/preferences/event-target.js
+lib/seamonkey/modules/commonjs/sdk/preferences/native-options.js
lib/seamonkey/modules/commonjs/sdk/preferences/service.js
+lib/seamonkey/modules/commonjs/sdk/preferences/utils.js
lib/seamonkey/modules/commonjs/sdk/private-browsing.js
lib/seamonkey/modules/commonjs/sdk/private-browsing/utils.js
-lib/seamonkey/modules/commonjs/sdk/private-browsing/window/utils.js
lib/seamonkey/modules/commonjs/sdk/querystring.js
lib/seamonkey/modules/commonjs/sdk/request.js
lib/seamonkey/modules/commonjs/sdk/selection.js
@@ -3379,9 +3442,16 @@ lib/seamonkey/modules/commonjs/sdk/simple-storage.js
lib/seamonkey/modules/commonjs/sdk/stylesheet/style.js
lib/seamonkey/modules/commonjs/sdk/stylesheet/utils.js
lib/seamonkey/modules/commonjs/sdk/system.js
+lib/seamonkey/modules/commonjs/sdk/system/child_process.js
+lib/seamonkey/modules/commonjs/sdk/system/child_process/LICENSE
+lib/seamonkey/modules/commonjs/sdk/system/child_process/README.md
+lib/seamonkey/modules/commonjs/sdk/system/child_process/subprocess.js
+lib/seamonkey/modules/commonjs/sdk/system/child_process/subprocess_worker_unix.js
+lib/seamonkey/modules/commonjs/sdk/system/child_process/subprocess_worker_win.js
lib/seamonkey/modules/commonjs/sdk/system/environment.js
lib/seamonkey/modules/commonjs/sdk/system/events.js
lib/seamonkey/modules/commonjs/sdk/system/globals.js
+lib/seamonkey/modules/commonjs/sdk/system/process.js
lib/seamonkey/modules/commonjs/sdk/system/runtime.js
lib/seamonkey/modules/commonjs/sdk/system/unload.js
lib/seamonkey/modules/commonjs/sdk/system/xul-app.js
@@ -3396,7 +3466,6 @@ lib/seamonkey/modules/commonjs/sdk/tabs/tab-fennec.js
lib/seamonkey/modules/commonjs/sdk/tabs/tab-firefox.js
lib/seamonkey/modules/commonjs/sdk/tabs/tab.js
lib/seamonkey/modules/commonjs/sdk/tabs/tabs-firefox.js
-lib/seamonkey/modules/commonjs/sdk/tabs/tabs.js
lib/seamonkey/modules/commonjs/sdk/tabs/utils.js
lib/seamonkey/modules/commonjs/sdk/tabs/worker.js
lib/seamonkey/modules/commonjs/sdk/test.js
@@ -3437,6 +3506,7 @@ lib/seamonkey/modules/commonjs/sdk/util/array.js
lib/seamonkey/modules/commonjs/sdk/util/collection.js
lib/seamonkey/modules/commonjs/sdk/util/contract.js
lib/seamonkey/modules/commonjs/sdk/util/deprecate.js
+lib/seamonkey/modules/commonjs/sdk/util/dispatcher.js
lib/seamonkey/modules/commonjs/sdk/util/iteration.js
lib/seamonkey/modules/commonjs/sdk/util/list.js
lib/seamonkey/modules/commonjs/sdk/util/match-pattern.js
@@ -3461,6 +3531,7 @@ lib/seamonkey/modules/commonjs/sdk/windows/observer.js
lib/seamonkey/modules/commonjs/sdk/windows/tabs-fennec.js
lib/seamonkey/modules/commonjs/sdk/windows/tabs-firefox.js
lib/seamonkey/modules/commonjs/sdk/worker/utils.js
+lib/seamonkey/modules/commonjs/sdk/zip/utils.js
lib/seamonkey/modules/commonjs/test.js
lib/seamonkey/modules/commonjs/toolkit/loader.js
lib/seamonkey/modules/ctypes.jsm
@@ -3475,45 +3546,174 @@ lib/seamonkey/modules/devtools/Require.jsm
lib/seamonkey/modules/devtools/Simulator.jsm
lib/seamonkey/modules/devtools/SourceMap.jsm
lib/seamonkey/modules/devtools/Templater.jsm
-lib/seamonkey/modules/devtools/acorn.js
-lib/seamonkey/modules/devtools/acorn_loose.js
+lib/seamonkey/modules/devtools/acorn/acorn.js
+lib/seamonkey/modules/devtools/acorn/acorn_loose.js
+lib/seamonkey/modules/devtools/acorn/walk.js
lib/seamonkey/modules/devtools/app-actor-front.js
+lib/seamonkey/modules/devtools/async-utils.js
lib/seamonkey/modules/devtools/client/connection-manager.js
+lib/seamonkey/modules/devtools/content-observer.js
lib/seamonkey/modules/devtools/css-color.js
lib/seamonkey/modules/devtools/dbg-client.jsm
lib/seamonkey/modules/devtools/dbg-server.jsm
+lib/seamonkey/modules/devtools/deprecated-sync-thenables.js
+lib/seamonkey/modules/devtools/discovery/discovery.js
+lib/seamonkey/modules/devtools/event-emitter.js
lib/seamonkey/modules/devtools/gcli.jsm
+lib/seamonkey/modules/devtools/gcli/api.js
+lib/seamonkey/modules/devtools/gcli/cli.js
+lib/seamonkey/modules/devtools/gcli/commands/addon.js
+lib/seamonkey/modules/devtools/gcli/commands/appcache.js
+lib/seamonkey/modules/devtools/gcli/commands/calllog.js
+lib/seamonkey/modules/devtools/gcli/commands/clear.js
+lib/seamonkey/modules/devtools/gcli/commands/cmd.js
+lib/seamonkey/modules/devtools/gcli/commands/commands.js
+lib/seamonkey/modules/devtools/gcli/commands/connect.js
+lib/seamonkey/modules/devtools/gcli/commands/context.js
+lib/seamonkey/modules/devtools/gcli/commands/cookie.js
+lib/seamonkey/modules/devtools/gcli/commands/csscoverage.js
+lib/seamonkey/modules/devtools/gcli/commands/exec.js
+lib/seamonkey/modules/devtools/gcli/commands/folder.js
+lib/seamonkey/modules/devtools/gcli/commands/global.js
+lib/seamonkey/modules/devtools/gcli/commands/help.js
+lib/seamonkey/modules/devtools/gcli/commands/highlight.js
+lib/seamonkey/modules/devtools/gcli/commands/inject.js
+lib/seamonkey/modules/devtools/gcli/commands/intro.js
+lib/seamonkey/modules/devtools/gcli/commands/jsb.js
+lib/seamonkey/modules/devtools/gcli/commands/lang.js
+lib/seamonkey/modules/devtools/gcli/commands/listen.js
+lib/seamonkey/modules/devtools/gcli/commands/media.js
+lib/seamonkey/modules/devtools/gcli/commands/mocks.js
+lib/seamonkey/modules/devtools/gcli/commands/pagemod.js
+lib/seamonkey/modules/devtools/gcli/commands/paintflashing.js
+lib/seamonkey/modules/devtools/gcli/commands/pref.js
+lib/seamonkey/modules/devtools/gcli/commands/preflist.js
+lib/seamonkey/modules/devtools/gcli/commands/restart.js
+lib/seamonkey/modules/devtools/gcli/commands/screenshot.js
+lib/seamonkey/modules/devtools/gcli/commands/test.js
+lib/seamonkey/modules/devtools/gcli/commands/tools.js
+lib/seamonkey/modules/devtools/gcli/connectors/connectors.js
+lib/seamonkey/modules/devtools/gcli/connectors/index.js
+lib/seamonkey/modules/devtools/gcli/connectors/protocol.js
+lib/seamonkey/modules/devtools/gcli/connectors/rdp.js
+lib/seamonkey/modules/devtools/gcli/connectors/remoted.js
+lib/seamonkey/modules/devtools/gcli/converters/basic.js
+lib/seamonkey/modules/devtools/gcli/converters/converters.js
+lib/seamonkey/modules/devtools/gcli/converters/html.js
+lib/seamonkey/modules/devtools/gcli/converters/terminal.js
+lib/seamonkey/modules/devtools/gcli/fields/delegate.js
+lib/seamonkey/modules/devtools/gcli/fields/fields.js
+lib/seamonkey/modules/devtools/gcli/fields/selection.js
+lib/seamonkey/modules/devtools/gcli/index.js
+lib/seamonkey/modules/devtools/gcli/l10n.js
+lib/seamonkey/modules/devtools/gcli/languages/command.html
+lib/seamonkey/modules/devtools/gcli/languages/command.js
+lib/seamonkey/modules/devtools/gcli/languages/javascript.js
+lib/seamonkey/modules/devtools/gcli/languages/languages.js
+lib/seamonkey/modules/devtools/gcli/mozui/completer.js
+lib/seamonkey/modules/devtools/gcli/mozui/ffdisplay.js
+lib/seamonkey/modules/devtools/gcli/mozui/inputter.js
+lib/seamonkey/modules/devtools/gcli/mozui/tooltip.js
+lib/seamonkey/modules/devtools/gcli/settings.js
+lib/seamonkey/modules/devtools/gcli/types/array.js
+lib/seamonkey/modules/devtools/gcli/types/boolean.js
+lib/seamonkey/modules/devtools/gcli/types/command.js
+lib/seamonkey/modules/devtools/gcli/types/date.js
+lib/seamonkey/modules/devtools/gcli/types/delegate.js
+lib/seamonkey/modules/devtools/gcli/types/file.js
+lib/seamonkey/modules/devtools/gcli/types/fileparser.js
+lib/seamonkey/modules/devtools/gcli/types/javascript.js
+lib/seamonkey/modules/devtools/gcli/types/node.js
+lib/seamonkey/modules/devtools/gcli/types/number.js
+lib/seamonkey/modules/devtools/gcli/types/resource.js
+lib/seamonkey/modules/devtools/gcli/types/selection.js
+lib/seamonkey/modules/devtools/gcli/types/setting.js
+lib/seamonkey/modules/devtools/gcli/types/string.js
+lib/seamonkey/modules/devtools/gcli/types/types.js
+lib/seamonkey/modules/devtools/gcli/types/union.js
+lib/seamonkey/modules/devtools/gcli/types/url.js
+lib/seamonkey/modules/devtools/gcli/ui/focus.js
+lib/seamonkey/modules/devtools/gcli/ui/history.js
+lib/seamonkey/modules/devtools/gcli/ui/intro.js
+lib/seamonkey/modules/devtools/gcli/ui/menu.css
+lib/seamonkey/modules/devtools/gcli/ui/menu.html
+lib/seamonkey/modules/devtools/gcli/ui/menu.js
+lib/seamonkey/modules/devtools/gcli/ui/view.js
+lib/seamonkey/modules/devtools/gcli/util/domtemplate.js
+lib/seamonkey/modules/devtools/gcli/util/fileparser.js
+lib/seamonkey/modules/devtools/gcli/util/filesystem.js
+lib/seamonkey/modules/devtools/gcli/util/host.js
+lib/seamonkey/modules/devtools/gcli/util/l10n.js
+lib/seamonkey/modules/devtools/gcli/util/legacy.js
+lib/seamonkey/modules/devtools/gcli/util/prism.js
+lib/seamonkey/modules/devtools/gcli/util/promise.js
+lib/seamonkey/modules/devtools/gcli/util/spell.js
+lib/seamonkey/modules/devtools/gcli/util/util.js
+lib/seamonkey/modules/devtools/jsbeautify/beautify-css.js
+lib/seamonkey/modules/devtools/jsbeautify/beautify-html.js
+lib/seamonkey/modules/devtools/jsbeautify/beautify-js.js
+lib/seamonkey/modules/devtools/jsbeautify/beautify-tests.js
+lib/seamonkey/modules/devtools/jsbeautify/beautify.js
+lib/seamonkey/modules/devtools/jsbeautify/sanitytest.js
+lib/seamonkey/modules/devtools/jsbeautify/urlencode_unpacker.js
lib/seamonkey/modules/devtools/output-parser.js
lib/seamonkey/modules/devtools/pretty-fast.js
+lib/seamonkey/modules/devtools/qrcode/decoder/index.js
+lib/seamonkey/modules/devtools/qrcode/encoder/index.js
+lib/seamonkey/modules/devtools/qrcode/index.js
+lib/seamonkey/modules/devtools/server/actors/call-watcher.js
+lib/seamonkey/modules/devtools/server/actors/canvas.js
lib/seamonkey/modules/devtools/server/actors/childtab.js
+lib/seamonkey/modules/devtools/server/actors/common.js
+lib/seamonkey/modules/devtools/server/actors/csscoverage.js
lib/seamonkey/modules/devtools/server/actors/device.js
+lib/seamonkey/modules/devtools/server/actors/eventlooplag.js
+lib/seamonkey/modules/devtools/server/actors/framerate.js
lib/seamonkey/modules/devtools/server/actors/gcli.js
lib/seamonkey/modules/devtools/server/actors/highlighter.js
lib/seamonkey/modules/devtools/server/actors/inspector.js
+lib/seamonkey/modules/devtools/server/actors/layout.js
lib/seamonkey/modules/devtools/server/actors/memory.js
+lib/seamonkey/modules/devtools/server/actors/monitor.js
+lib/seamonkey/modules/devtools/server/actors/preference.js
lib/seamonkey/modules/devtools/server/actors/pretty-print-worker.js
lib/seamonkey/modules/devtools/server/actors/profiler.js
lib/seamonkey/modules/devtools/server/actors/root.js
lib/seamonkey/modules/devtools/server/actors/script.js
+lib/seamonkey/modules/devtools/server/actors/storage.js
lib/seamonkey/modules/devtools/server/actors/string.js
lib/seamonkey/modules/devtools/server/actors/styleeditor.js
lib/seamonkey/modules/devtools/server/actors/styles.js
lib/seamonkey/modules/devtools/server/actors/stylesheets.js
lib/seamonkey/modules/devtools/server/actors/tracer.js
lib/seamonkey/modules/devtools/server/actors/webapps.js
+lib/seamonkey/modules/devtools/server/actors/webaudio.js
lib/seamonkey/modules/devtools/server/actors/webbrowser.js
lib/seamonkey/modules/devtools/server/actors/webconsole.js
lib/seamonkey/modules/devtools/server/actors/webgl.js
lib/seamonkey/modules/devtools/server/child.js
+lib/seamonkey/modules/devtools/server/content-globals.js
lib/seamonkey/modules/devtools/server/main.js
lib/seamonkey/modules/devtools/server/protocol.js
-lib/seamonkey/modules/devtools/server/transport.js
lib/seamonkey/modules/devtools/source-map.js
lib/seamonkey/modules/devtools/styleinspector/css-logic.js
+lib/seamonkey/modules/devtools/tern/browser.js
+lib/seamonkey/modules/devtools/tern/comment.js
+lib/seamonkey/modules/devtools/tern/condense.js
+lib/seamonkey/modules/devtools/tern/def.js
+lib/seamonkey/modules/devtools/tern/ecma5.js
+lib/seamonkey/modules/devtools/tern/infer.js
+lib/seamonkey/modules/devtools/tern/signal.js
+lib/seamonkey/modules/devtools/tern/tern.js
lib/seamonkey/modules/devtools/toolkit/webconsole/client.js
lib/seamonkey/modules/devtools/toolkit/webconsole/network-helper.js
+lib/seamonkey/modules/devtools/toolkit/webconsole/network-monitor.js
lib/seamonkey/modules/devtools/toolkit/webconsole/utils.js
lib/seamonkey/modules/devtools/touch-events.js
+lib/seamonkey/modules/devtools/transport/packets.js
+lib/seamonkey/modules/devtools/transport/stream-utils.js
+lib/seamonkey/modules/devtools/transport/transport.js
+lib/seamonkey/modules/devtools/worker-loader.js
lib/seamonkey/modules/editorUtilities.jsm
lib/seamonkey/modules/errUtils.js
lib/seamonkey/modules/folderUtils.jsm
@@ -3556,17 +3756,21 @@ lib/seamonkey/modules/identity/jwcrypto.jsm
lib/seamonkey/modules/iteratorUtils.jsm
lib/seamonkey/modules/jsTreeSelection.js
lib/seamonkey/modules/jsdebugger.jsm
+lib/seamonkey/modules/jsmime.jsm
+lib/seamonkey/modules/jsmime/jsmime.js
lib/seamonkey/modules/mailServices.js
lib/seamonkey/modules/mailnewsMigrator.js
lib/seamonkey/modules/mcc_iso3166_table.jsm
-lib/seamonkey/modules/mime/mimeParserCore.js
+lib/seamonkey/modules/media/IdpProxy.jsm
+lib/seamonkey/modules/media/PeerConnectionIdp.jsm
+lib/seamonkey/modules/media/RTCStatsReport.jsm
lib/seamonkey/modules/mimeParser.jsm
lib/seamonkey/modules/msgDBCacheManager.js
lib/seamonkey/modules/nsFormAutoCompleteResult.jsm
lib/seamonkey/modules/osfile.jsm
-lib/seamonkey/modules/osfile/_PromiseWorker.jsm
lib/seamonkey/modules/osfile/osfile_async_front.jsm
lib/seamonkey/modules/osfile/osfile_async_worker.js
+lib/seamonkey/modules/osfile/osfile_native.jsm
lib/seamonkey/modules/osfile/osfile_shared_allthreads.jsm
lib/seamonkey/modules/osfile/osfile_shared_front.jsm
lib/seamonkey/modules/osfile/osfile_unix_allthreads.jsm
@@ -3579,9 +3783,11 @@ lib/seamonkey/modules/osfile/ospath.jsm
lib/seamonkey/modules/osfile/ospath_unix.jsm
lib/seamonkey/modules/osfile/ospath_win.jsm
lib/seamonkey/modules/reflect.jsm
+lib/seamonkey/modules/sdk/bootstrap.js
lib/seamonkey/modules/services-common/async.js
lib/seamonkey/modules/services-common/bagheeraclient.js
-lib/seamonkey/modules/services-common/hawk.js
+lib/seamonkey/modules/services-common/hawkclient.js
+lib/seamonkey/modules/services-common/hawkrequest.js
lib/seamonkey/modules/services-common/observers.js
lib/seamonkey/modules/services-common/rest.js
lib/seamonkey/modules/services-common/storageservice.js
@@ -3625,6 +3831,7 @@ lib/seamonkey/modules/templateUtils.js
lib/seamonkey/modules/traceHelper.js
lib/seamonkey/modules/virtualFolderWrapper.js
lib/seamonkey/modules/vtt.jsm
+lib/seamonkey/modules/workers/PromiseWorker.js
lib/seamonkey/modules/workers/lz4.js
lib/seamonkey/modules/workers/lz4_internal.js
lib/seamonkey/modules/workers/require.js
@@ -3646,11 +3853,8 @@ lib/seamonkey/res/entityTables/htmlEntityVersions.properties
lib/seamonkey/res/entityTables/mathml20.properties
lib/seamonkey/res/entityTables/transliterate.properties
lib/seamonkey/res/fonts/mathfont.properties
-lib/seamonkey/res/fonts/mathfontAsanaMath.properties
lib/seamonkey/res/fonts/mathfontMathJax_Main.properties
-lib/seamonkey/res/fonts/mathfontSTIXNonUnicode.properties
-lib/seamonkey/res/fonts/mathfontSTIXSize1.properties
-lib/seamonkey/res/fonts/mathfontSTIXSizeOneSym.properties
+lib/seamonkey/res/fonts/mathfontSTIXGeneral.properties
lib/seamonkey/res/fonts/mathfontStandardSymbolsL.properties
lib/seamonkey/res/fonts/mathfontUnicode.properties
lib/seamonkey/res/grabber.gif
diff --git a/www/seamonkey/PLIST.chatzilla b/www/seamonkey/PLIST.chatzilla
index 0184b0a3423..3a8c500e3b6 100644
--- a/www/seamonkey/PLIST.chatzilla
+++ b/www/seamonkey/PLIST.chatzilla
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST.chatzilla,v 1.2 2014/03/30 04:13:17 ryoon Exp $
+@comment $NetBSD: PLIST.chatzilla,v 1.3 2014/11/02 05:40:31 ryoon Exp $
lib/seamonkey/extensions/inspector@mozilla.org/chrome.manifest
lib/seamonkey/extensions/inspector@mozilla.org/chrome/inspector/content/inspector/Flasher.js
lib/seamonkey/extensions/inspector@mozilla.org/chrome/inspector/content/inspector/ViewerRegistry.js
@@ -433,138 +433,3 @@ lib/seamonkey/extensions/{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}/chrome/icons/def
lib/seamonkey/extensions/{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}/chrome/icons/default/chatzilla-window16.xpm
lib/seamonkey/extensions/{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}/components/chatzilla-service.js
lib/seamonkey/extensions/{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}/install.rdf
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome.manifest
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/command-manager.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/file-utils.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/html-consts.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/menu-manager.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/pref-manager.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/tests/testpage.html
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/tests/tree.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/tests/tree.xul
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/tree-utils.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-bindings.xml
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-bpprops.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-bpprops.xul
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-commands.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-debugger.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-dev.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-eval.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-floater.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-floater.xul
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-handlers.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-jsdurl.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-menus.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-menus.xul
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-msg.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-munger.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-output-base.css
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-output-window.html
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-overlay-tb.xul
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-overlay.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-overlay.xul
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-prefs.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-profiler.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-records.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-scripts.xul
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-static.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-url-loader.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-utils.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-views.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman-views.xul
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/venkman.xul
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/content/venkman/view-manager.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/locale/en-US/venkman/profile.csv.tpl
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/locale/en-US/venkman/profile.html.tpl
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/locale/en-US/venkman/profile.txt.tpl
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/locale/en-US/venkman/profile.xml.tpl
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/locale/en-US/venkman/venkman-help.tpl
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/locale/en-US/venkman/venkman-output-locale.css
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/locale/en-US/venkman/venkman-overlay.dtd
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/locale/en-US/venkman/venkman.dtd
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/locale/en-US/venkman/venkman.properties
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/arrow-down.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/arrow-left.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/arrow-right.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/arrow-up.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/breakpoint-future-line.gif
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/breakpoint-future.gif
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/breakpoint-line.gif
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/breakpoint.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/breakpoints.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/clear.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/code-line-dis.gif
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/code-line.gif
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/cont-act.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/cont-dis.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/cont-hov.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/cont.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/current-frame.gif
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/file-function-bp.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/file-function-guess-bp.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/file-function-guess.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/file-function.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/file-html-bp.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/file-html.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/file-js-bp.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/file-js.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/file-unknown-bp.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/file-unknown.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/file-xml-bp.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/file-xml.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/file-xul-bp.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/file-xul.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/files.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/new-tab.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/prettyprint-act.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/prettyprint-checked-hov.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/prettyprint-checked.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/prettyprint-hov.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/prettyprint.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/profile-act.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/profile-checked-hov.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/profile-checked.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/profile-hov.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/profile.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/shaded.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/stack.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/step-into-act.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/step-into-dis.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/step-into-hov.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/step-into.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/step-out-act.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/step-out-dis.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/step-out-hov.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/step-out.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/step-over-act.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/step-over-dis.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/step-over-hov.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/step-over.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/stop-act.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/stop-checked-hov.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/stop-checked.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/stop-dis.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/stop-hov.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/stop.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/value-bool.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/value-double.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/value-frame.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/value-function.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/value-int.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/value-null.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/value-object.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/value-string.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/value-void.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/view-close-button.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/view-pop-button.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/window.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/images/windows.png
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/venkman-help.css
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/venkman-output-dark.css
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/venkman-output-default.css
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/venkman-output-light.css
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/venkman-overlay.css
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/venkman-source.css
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/chrome/venkman/skin/modern/venkman/venkman.css
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/components/venkman-service.js
-lib/seamonkey/extensions/{f13b157f-b174-47e7-a34d-4815ddfdfeb8}/install.rdf
diff --git a/www/seamonkey/PLIST.lightning b/www/seamonkey/PLIST.lightning
index 1f6a25f21ea..b5e4f5517b6 100644
--- a/www/seamonkey/PLIST.lightning
+++ b/www/seamonkey/PLIST.lightning
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST.lightning,v 1.17 2014/06/22 08:54:39 ryoon Exp $
+@comment $NetBSD: PLIST.lightning,v 1.18 2014/11/02 05:40:31 ryoon Exp $
lib/seamonkey/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome.manifest
lib/seamonkey/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider-en-US/locale/en-US/gdata.dtd
lib/seamonkey/extensions/{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}/chrome/gdata-provider-en-US/locale/en-US/gdata.properties
@@ -71,7 +71,6 @@ lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calW
lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/calendar-js/calWeekPrinter.js
lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome.manifest
lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar-en-US.jar
-lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/Windows98ToZoneInfoTZId.properties
lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/WindowsNTToZoneInfoTZId.properties
lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/agenda-listbox.js
lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/calendar/content/calendar/agenda-listbox.xml
@@ -436,7 +435,6 @@ lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/light
lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/wcap.xpt
lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/defaults/preferences/lightning.js
lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/install.rdf
-lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/OAuth2.jsm
lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calAlarmUtils.jsm
lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calAuthUtils.jsm
lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calExtract.jsm
@@ -453,3 +451,6 @@ lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calUtils
lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/calXMLUtils.jsm
lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/modules/ical.js
lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/timezones.sqlite
+lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome/skin/lightning-common/lightning.css
+lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calSleepMonitor.js
+lib/seamonkey/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/calSleepMonitor.manifest
diff --git a/www/seamonkey/distinfo b/www/seamonkey/distinfo
index db89e4afe54..2672703eb9d 100644
--- a/www/seamonkey/distinfo
+++ b/www/seamonkey/distinfo
@@ -1,79 +1,61 @@
-$NetBSD: distinfo,v 1.114 2014/10/17 16:50:11 joerg Exp $
+$NetBSD: distinfo,v 1.115 2014/11/02 05:40:31 ryoon Exp $
-SHA1 (enigmail-1.6.1_pre20140112.tar.xz) = abb4ce7a5512095c18af7e68f4cbeb52b1e95179
-RMD160 (enigmail-1.6.1_pre20140112.tar.xz) = 617cf51d64458b9e1df332e3759cddd2b2bb34df
-Size (enigmail-1.6.1_pre20140112.tar.xz) = 916028 bytes
-SHA1 (seamonkey-2.26.1.source.tar.bz2) = 3fd468206ff5bab4d916e145436afbe357d1daa0
-RMD160 (seamonkey-2.26.1.source.tar.bz2) = ec0b459f440b051e23e4e6e269c922e3df0bf461
-Size (seamonkey-2.26.1.source.tar.bz2) = 165537001 bytes
-SHA1 (patch-aa) = 66786a117ff669aa3d5fc4611906581d76dff82f
-SHA1 (patch-ak) = a36dd36a037a76a40955316200b1f4603b9ed8e9
+SHA1 (enigmail-1.7.2.tar.gz) = e72eeff5a47491267981090129b0b2594b5dc96f
+RMD160 (enigmail-1.7.2.tar.gz) = 1dcd10e758321846eb20ac7f1d3ae6465c47bfe7
+Size (enigmail-1.7.2.tar.gz) = 1420346 bytes
+SHA1 (seamonkey-2.30.source.tar.bz2) = 5fc16dedcabae48e9ef14f188d150482257afd1d
+RMD160 (seamonkey-2.30.source.tar.bz2) = a4e32d1ac02e849ba6c9c06918412b3aecf7ae38
+Size (seamonkey-2.30.source.tar.bz2) = 178435927 bytes
+SHA1 (patch-aa) = 2d0f3eba7e897700452e4a2956f38de9720d692f
+SHA1 (patch-ak) = 5495058581061d5291a0d3d329c146a926d5fbf2
SHA1 (patch-al) = 2643bc1585ec320c63acb5d47c34573a517cd3db
SHA1 (patch-ao) = 2185bc6e95e08f6b4279f4c64db09b56ea7e880a
-SHA1 (patch-as) = 75f5ad75c63664fe92266f9095a21d89c9e893a6
+SHA1 (patch-as) = 6d2b7c3e7e4ddcb59af6d96a0b8c15833b96f8c2
SHA1 (patch-bf) = cf7fef695c6db66a3653d3258a2385c6f1eb709e
SHA1 (patch-bg) = 9aba8618a4f0777527c6e7af33cb234cb0627501
-SHA1 (patch-bi) = 904ec1a966d6224f873836d8cbee2eb80eb2d2a9
-SHA1 (patch-config_baseconfig.mk) = e6f3cfe0f8aafcf5bc48d691a05d2d450fdba4ae
-SHA1 (patch-config_config.mk) = c99b04603be0091a82409811c3cca8301d21923b
+SHA1 (patch-config_baseconfig.mk) = ce7477d921c5e44024d7a37ae145aab4935d9531
SHA1 (patch-ldap_sdks_c-sdk_build.mk) = 541604f0f63f5c1b3ce5509260517f68f417eb73
SHA1 (patch-ldap_sdks_c-sdk_ldap_include_portable.h) = 4ce9e1a0e8f0d05367243e8d2b5118606a35da94
SHA1 (patch-mail_app_Makefile.in) = 3d85f5b9ba0af52732f05c30a77cf03593ec0f8e
SHA1 (patch-mailnews_base_search_src_nsMsgSearchTerm.cpp) = 0cbabcf5b188e86404e3ded8452c73a7f498efe3
-SHA1 (patch-mb) = 8be6a9bcac02753ff8af4b37671b7484b5a1b275
+SHA1 (patch-mozilla_b2g_installer_Makefile.in) = 6ae637a82162287e1875bedfaaf4c202f12eadc2
+SHA1 (patch-mozilla_b2g_installer_package-manifest.in) = ea0b9619be73fa769b8875ad8f2a73ec718d7501
SHA1 (patch-mozilla_browser_app_nsBrowserApp.cpp) = 76a99e7b8b2383224a2322bab65f1824fc69a614
SHA1 (patch-mozilla_browser_app_profile_firefox.js) = 2e8d8470d239b6be2c6c64a8a752f8229d421dc6
-SHA1 (patch-mozilla_browser_installer_package-manifest.in) = fd2cb10b38f0a3dc15e5ec8219e4eb207e0e2b4b
+SHA1 (patch-mozilla_browser_installer_package-manifest.in) = aa83f2e7d2b545beb83da1571594333722dc369e
SHA1 (patch-mozilla_browser_locales_en-US_chrome_browser-region_region.properties) = 3783a98ead12f5bab87e944d4cc129261d015007
SHA1 (patch-mozilla_browser_locales_en-US_searchplugins_duckduckgo.xml) = 828def5acc7c9dc18727a27b0c47e44d87a94eaf
SHA1 (patch-mozilla_browser_locales_en-US_searchplugins_list.txt) = b1e4c051977fa8fc46bba6afcdbe4e3de778be75
SHA1 (patch-mozilla_build_autoconf_compiler-opts.m4) = 1970fa246049adde4f2338ccd51f3651081bea56
SHA1 (patch-mozilla_build_autoconf_nss.m4) = 3b05127e72a76ac2f87c8362cbde13ce76485a19
+SHA1 (patch-mozilla_build_clang-plugin_configure) = b9c57fc82ebed263c35ccecb8fd6cd7555d84701
SHA1 (patch-mozilla_build_gyp.mozbuild) = d08e71d8fd0bb5bce9cda804fafd93cad1c1a3a8
SHA1 (patch-mozilla_build_pgo_profileserver.py) = 33acdc58e155ada7a4090bf3dcb7d2ba39ced1dd
SHA1 (patch-mozilla_config_Makefile.in) = 3806a60bbdc2f54d0fc974e245bfc9e5c3057ece
SHA1 (patch-mozilla_config_baseconfig.mk) = 09754212f7c01fc4effc2698fea5b12b12ec022a
-SHA1 (patch-mozilla_config_external_moz.build) = 6687ad84b0f93bf63d1b028c7e594edf7d13c35c
-SHA1 (patch-mozilla_config_stl__wrappers_ios) = 066a9f3db9203afa8131b2ff91d212033e5950e0
-SHA1 (patch-mozilla_config_stl__wrappers_ostream) = 67559c5ab17088680b86dea6b081a48b781f59b5
-SHA1 (patch-mozilla_config_system-headers) = 723027616b7e980bbe3236c70de1a681bb16e4ba
-SHA1 (patch-mozilla_config_system__wrappers_unwind.h) = e9a5a86146cffef99ab306ff3d3059649801c0ab
-SHA1 (patch-mozilla_content_base_src_Makefile.in) = 2580d806c9b60a4ce3e0af14c7d2b7df971f4f19
-SHA1 (patch-mozilla_content_media_AudioStream.cpp) = 0716cd93bc0c8ba2027ce96bf9ddb72db53dd811
-SHA1 (patch-mozilla_content_media_AudioStream.h) = b8a82ce116dfb95ccc2c944bf1da81a1cfd4e3c2
-SHA1 (patch-mozilla_content_media_Makefile.in) = e9643c3b3fcb5eae8d317161e903ec1547f446c9
-SHA1 (patch-mozilla_content_media_gstreamer_GStreamerAllocator.cpp) = 1bc809f6d9e793ecbea4534091617ecde01ad136
-SHA1 (patch-mozilla_content_media_gstreamer_GStreamerAllocator.h) = ac9ad0dd7083f8e2aef253a4a383e75dbe5df3e0
-SHA1 (patch-mozilla_content_media_gstreamer_GStreamerFormatHelper.cpp) = 824c65dbed86cfbc4be2623aa3d6e0c80ffe556d
-SHA1 (patch-mozilla_content_media_gstreamer_GStreamerFunctionList.h) = c50a0cfa7d5b61d055fddabff4df60444812ee92
-SHA1 (patch-mozilla_content_media_gstreamer_GStreamerLoader.cpp) = 141284603f523c5b157996e962096dea54cfa114
-SHA1 (patch-mozilla_content_media_gstreamer_GStreamerLoader.h) = 1e07205c90539cb4d0fb75924a0c237377c6562d
-SHA1 (patch-mozilla_content_media_gstreamer_GStreamerReader-0.10.cpp) = 438f3794902e3dd1ed47973d2b9a3e6a1b4a9cb7
-SHA1 (patch-mozilla_content_media_gstreamer_GStreamerReader.cpp) = e2e4826c87752f1a101d6d916a87c90c848fb34f
-SHA1 (patch-mozilla_content_media_gstreamer_GStreamerReader.h) = c0813c20d5e64a9f6f72f90fe17be623e9a6cf04
-SHA1 (patch-mozilla_content_media_gstreamer_moz.build) = fa47b7f00063bee5d737c567f0cb0c05abea8afe
-SHA1 (patch-mozilla_content_media_test_manifest.js) = 30de2ee779ca7f3f38a6cffe41eda9d57e3dc9c2
-SHA1 (patch-mozilla_content_svg_content_src_SVGComponentTransferFunctionElement.h) = b6fea8dee6df0b1ede7d7b4393c180bd4070081e
-SHA1 (patch-mozilla_content_svg_content_src_nsSVGFilters.cpp) = 14ac1ccb7266bb069e540eaf07dd55213d3c5466
-SHA1 (patch-mozilla_content_svg_content_src_nsSVGFilters.h) = 188c804e459c9389f0862bc47ed6a943b7a9c7d5
-SHA1 (patch-mozilla_dom_indexedDB_IDBEvents.cpp) = 24bc14e0c573a686df718ae0fecd6eb0fcd79b58
-SHA1 (patch-mozilla_dom_indexedDB_IDBEvents.h) = 16014a04e30027025dff96756c5ba6ad28cbcca8
+SHA1 (patch-mozilla_config_external_moz.build) = 93de5c0181930a1bbdad365f7c29973a94d00a36
+SHA1 (patch-mozilla_config_rules.mk) = f79a29b48171613802a9477aeaf6b0b55405fe85
+SHA1 (patch-mozilla_config_system-headers) = 60b8c1b9ab8296dddcfe6ae8d9e73293515f97c0
+SHA1 (patch-mozilla_content_base_src_moz.build) = 56f1c9ec427efc66b68556c2b0cac309d1a9ef78
+SHA1 (patch-mozilla_content_media_AudioStream.h) = eede182b4e4b9edc83c80872b85a3dad56113e31
+SHA1 (patch-mozilla_content_media_Makefile.in) = 0eec7b21221cac8f4c3675809d5ecbbb06340ef3
+SHA1 (patch-mozilla_content_media_gmp_GMPChild.cpp) = 03c6705333754bde84b1214ae5854ee6d0023907
+SHA1 (patch-mozilla_content_media_gmp_GMPParent.cpp) = f5a5ce83c439ec638d28e5b1d3119b9299f52d42
+SHA1 (patch-mozilla_content_media_gstreamer_GStreamerAllocator.cpp) = 0aa91baa53e77065a8462960d90b63a716625d96
SHA1 (patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp) = 400a5af9988d4392d92e493c73bbe61cd1915edb
SHA1 (patch-mozilla_dom_plugins_ipc_PluginModuleChild.h) = 14038ce0ee2b38db6c7952056a97a65839a2c1a9
SHA1 (patch-mozilla_dom_plugins_ipc_PluginProcessChild.cpp) = f29ed121d90a6fc4c02e36da8d440d6c3337e63a
-SHA1 (patch-mozilla_dom_system_OSFileConstants.cpp) = 48a9ebcc1e2c9e761c9a7a3d7432e4ca4c8c8b63
+SHA1 (patch-mozilla_dom_system_OSFileConstants.cpp) = e69fd11a0ab95a2142a4a24995a5dfb2ea96357b
SHA1 (patch-mozilla_extensions_spellcheck_hunspell_src_mozHunspell.cpp) = 5f4c28f07469f402035cc607bf82b851bf60a0a4
SHA1 (patch-mozilla_gfx_graphite2_src_Bidi.cpp) = fb97becdfeeea742e8c0bc51e10efc124a2a11f3
SHA1 (patch-mozilla_gfx_moz.build) = 9cd67c170321c399b85f9f7729a6d130bb331f17
-SHA1 (patch-mozilla_gfx_skia_Makefile.in) = bb35d8c4e218e3737c0890d351b9a1803dbadfe9
-SHA1 (patch-mozilla_gfx_skia_include_core_SkPreConfig.h) = 5a45df0ec2be71f9406333488632bb7c42cafa68
-SHA1 (patch-mozilla_gfx_skia_moz.build) = 7156f754def8def05ae96c6ba11d4040f9ab86a5
-SHA1 (patch-mozilla_gfx_skia_src_utils_SkThreadUtils__pthread__linux.cpp) = 940b2653121bc4defe1f9a9bf8f7f08d64045753
+SHA1 (patch-mozilla_gfx_skia_Makefile.in) = a87ecb67c38919fa48b8c1f437451ecfa68098cc
SHA1 (patch-mozilla_gfx_thebes_Makefile.in) = ef1582d36ba0e1daa089e3e884aef11dd8573a7b
SHA1 (patch-mozilla_image_decoders_nsJPEGDecoder.cpp) = 316bfe765e20f188c847efa30cfa0ccc9f4fc7e5
SHA1 (patch-mozilla_intl_hyphenation_src_hnjalloc.h) = 8b670bca826d17e373c1c09893e335c1bb3d4546
-SHA1 (patch-mozilla_intl_unicharutil_util_Makefile.in) = 559af4c15d3789ea1a2a35746fe98acaa3f4e41e
-SHA1 (patch-mozilla_ipc_chromium_Makefile.in) = d0f8547150a67d79f1d087e7f79e96df08e94fa0
+SHA1 (patch-mozilla_intl_unicharutil_util_Makefile.in) = f105e24da34630495b5c88966c876e24bcf415cc
+SHA1 (patch-mozilla_ios) = 3d165f640f7f045262b1c479c8349edc4b3907cf
+SHA1 (patch-mozilla_ipc_chromium_Makefile.in) = 78241924f121b0344b2fe5a42413eddf9cc3e7fd
SHA1 (patch-mozilla_ipc_chromium_moz.build) = 1a651bbf83cad22c6e4514804daeb6d111edcc3f
SHA1 (patch-mozilla_ipc_chromium_src_base_base__paths.h) = 87e8a5b3e859bba908d985d6952bf1a7ca1f60b2
SHA1 (patch-mozilla_ipc_chromium_src_base_debug__util__posix.cc) = b7fb6d1e607e1b00fe3cdde1376fb18e783fa801
@@ -83,84 +65,94 @@ SHA1 (patch-mozilla_ipc_chromium_src_base_message__loop.cc) = 140c921072a9ae0a82
SHA1 (patch-mozilla_ipc_chromium_src_base_message__pump__libevent.cc) = 7c18b292b688f4185c9012ba03135ab95e5c473b
SHA1 (patch-mozilla_ipc_chromium_src_base_platform__thread.h) = 487468d70d9644e6b09c548ab607310ff54add84
SHA1 (patch-mozilla_ipc_chromium_src_base_platform__thread__posix.cc) = f44deb73cdb8edfc6a0a3f54c1753020aec77d18
-SHA1 (patch-mozilla_ipc_chromium_src_base_process__util.h) = 1d570ebf920496f8fd5747d26c620c1a30a28942
-SHA1 (patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc) = 68c309c56b77fe079d4fa354c9302ce625ef86fc
+SHA1 (patch-mozilla_ipc_chromium_src_base_process__util.h) = f550fa20617e53480583bd2f423993edea7e1368
+SHA1 (patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc) = 607f93862c843fcec588d4969e6486c6586d153b
SHA1 (patch-mozilla_ipc_chromium_src_base_process__util__posix.cc) = d67e126dfb26e2394a9c21aab5e3b6cc3ab238f1
SHA1 (patch-mozilla_ipc_chromium_src_base_scoped__nsautorelease__pool.h) = 30a1276a0797908292d76d419b4ba152c2d471d8
SHA1 (patch-mozilla_ipc_chromium_src_base_sys__info__posix.cc) = 4ee726d14acf6784478dc75f11192a8f8b41b08e
SHA1 (patch-mozilla_ipc_chromium_src_base_time__posix.cc) = 2662bf55bf5276d06c4754cdce125a0bfbac17a0
SHA1 (patch-mozilla_ipc_chromium_src_build_build__config.h) = 86e88aa90bd4d573fd59d47f5a3e45c5c52c7e45
SHA1 (patch-mozilla_ipc_chromium_src_chrome_common_transport__dib.h) = 53c37dedaf5f0b302627be5dddebcb39decfa5e3
-SHA1 (patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp) = 0a58209ce22b7678c003c251c26a0f79d4de4759
+SHA1 (patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp) = 5c57b813185bc6c0706ba70dbdc3740fb666f6a3
SHA1 (patch-mozilla_ipc_glue_ScopedXREEmbed.cpp) = b6c4bbe2df7149b7d562a85e6bab6149b4a4a661
SHA1 (patch-mozilla_ipc_glue_StringUtil.cpp) = ff0b3914baef8505b40f68c625ee62650f026f06
-SHA1 (patch-mozilla_js_src_Makefile.in) = 7898c6d201be5bf02bf09b4f6e8018ad8920b505
-SHA1 (patch-mozilla_js_src_builtin_TypedObject.cpp) = 523713078befb87f8342e08b543adb9337d308ea
+SHA1 (patch-mozilla_ipc_ipdl_ipdl_cxx_ast.py) = 9e193b1f50b05573d3c580bd629b21c7ee38ef61
+SHA1 (patch-mozilla_ipc_ipdl_ipdl_cxx_cgen.py) = d7f0c9af3df86236c5dc754aa2e8c8393f1b2446
+SHA1 (patch-mozilla_ipc_ipdl_ipdl_lower.py) = b77cdb2593bd264843167742211a1746d02f25af
+SHA1 (patch-mozilla_js_src_Makefile.in) = 1e25e27b4164c1f3abff073478a7ca017bea795e
SHA1 (patch-mozilla_js_src_ctypes_CTypes.h) = 37ef9e49c21199d8506e7c0c048a7651800a249a
SHA1 (patch-mozilla_js_src_frontend_ParseMaps.cpp) = af9c153c78a3d50e926f7820db3c98b7fe1db063
-SHA1 (patch-mozilla_js_src_gc_Memory.cpp) = edf428e3537e98572a3023f4d5c2cf324a4a4de7
+SHA1 (patch-mozilla_js_src_gc_Memory.cpp) = 89c6b8d6a35c0168e8d28ea4daa205c154a56a2a
SHA1 (patch-mozilla_js_src_jsmath.cpp) = 25225d4b9f05766314dfb7a809e8f4cf7ffa1f4b
SHA1 (patch-mozilla_js_src_vm_SPSProfiler.cpp) = f609c8f2feac9aa6d5a6f37bf4ac0270bde7e8a4
-SHA1 (patch-mozilla_media_libcubeb_src_Makefile.in) = 8dc13725b80171696efec469c2eac910a6f2294c
-SHA1 (patch-mozilla_media_libcubeb_src_cubeb__alsa.c) = b4a9115230383158f45b5bf7005130a8d320fd56
-SHA1 (patch-mozilla_media_libcubeb_src_moz.build) = d7c9267ca3033612880db076ec96723f07a40db7
+SHA1 (patch-mozilla_js_src_vm_WeakMapPtr.cpp) = 20712a9e501e127fb82efd11ef24c30a81ca7a78
+SHA1 (patch-mozilla_media_libcubeb_AUTHORS) = 1a516754289470319fd181315f0bc7a04a4aaf85
+SHA1 (patch-mozilla_media_libcubeb_src_Makefile.in) = 0adde4ac8f12e65e1e7a9170fcb1123b71fdd948
+SHA1 (patch-mozilla_media_libcubeb_src_cubeb.c) = f4018f850cfd2b73226c66dbddb310e1efe40475
+SHA1 (patch-mozilla_media_libcubeb_src_cubeb__alsa.c) = bce80196764c3c2f255b7eba197a53a306b392ad
+SHA1 (patch-mozilla_media_libcubeb_src_cubeb__oss.c) = 9b62e1fd10d22cecad4ac2cd746e33bd6cb2692f
+SHA1 (patch-mozilla_media_libcubeb_src_moz.build) = 730dcc246ae3e3bac19696084511715fdad9143e
SHA1 (patch-mozilla_media_libpng_pngpriv.h) = b3bf9d7aeaf00a7cd0c9cc491fe6ac474c002655
SHA1 (patch-mozilla_media_libsoundtouch_src_cpu__detect__x86.cpp) = 1029bc985d6eadf3f030492a8aa51d008fa27740
+SHA1 (patch-mozilla_media_libstagefright_frameworks_av_include_media_stagefright_foundation_AString.h) = 3ff2e66b02d3406f6df83198082948e3f1520f81
+SHA1 (patch-mozilla_media_libstagefright_frameworks_av_media_libstagefright_foundation_AString.cpp) = fc041686ccd5bbf4fec931354dd3c47902ae33b8
SHA1 (patch-mozilla_media_libtheora_Makefile.in) = dfb7007a72a80b8da35a7ef9162357c4978c3adf
SHA1 (patch-mozilla_media_libtremor_Makefile.in) = b5b921df3afa31944891291efd13a237e720eeb1
SHA1 (patch-mozilla_media_libvorbis_Makefile.in) = 9d139eccfd1c446a2cac3182dec2b6cd673b5113
SHA1 (patch-mozilla_media_mtransport_third__party_nICEr_src_util_mbslen.c) = 7990869143e4edb253b1cd67ab20c78ca2a573ea
-SHA1 (patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h) = 273c147450dcbf5012c43ce082398080af2a75a8
+SHA1 (patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h) = 9e3198f44e9689d98b538efd62c9bfb66a10277e
SHA1 (patch-mozilla_media_webrtc_signaling_signaling.gyp) = 4b24e7c4c96c25613a912a559c7b0191f43daeec
-SHA1 (patch-mozilla_media_webrtc_signaling_test_Makefile.in) = b5966568579e7460c51adafcc21a64b2a0f7dd28
+SHA1 (patch-mozilla_media_webrtc_signaling_test_Makefile.in) = dff9eb4f1b5baa4246e381f966b79ccb7ebd0a6a
SHA1 (patch-mozilla_media_webrtc_trunk_webrtc_build_common.gypi) = 523391b109802a604c90c30af6d06b45e14554ab
SHA1 (patch-mozilla_media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi) = 52b95a931d931d51e5dc8260cff745089dc349a0
-SHA1 (patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc) = 64090262161fb2cbdb827df7a78baddbde2cea2e
-SHA1 (patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc) = f3fd88f44653c180cba904b2ca70004d7a403ef8
-SHA1 (patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi) = 4040cfa0170417d96115b4c87940786099366b13
+SHA1 (patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.cc) = 11477be4a67107f2a6e0e7a2cf3fff38164270ed
+SHA1 (patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.h) = 0726d82c269532750b93eb3f4104f96ceceea6b4
+SHA1 (patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc) = ef8baef63c072f34a3d7137f0ea286a93e8793c4
+SHA1 (patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc) = 80cb51d4641de3eb69c23c33867661413df9357d
+SHA1 (patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi) = 3dcb786a83d9daf8aed8f7eaf2a761de9df7ccc9
SHA1 (patch-mozilla_media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp) = fd88291e5bac1579f30b1495ac60dd58c0c1225f
SHA1 (patch-mozilla_memory_jemalloc_Makefile.in) = 711184596fedbafea25be1fd708eaaa429dc067c
+SHA1 (patch-mozilla_memory_jemalloc_src_configure) = a20a0bfe688b6b92ac56eaacb2479c542326b277
SHA1 (patch-mozilla_memory_mozalloc_mozalloc__abort.cpp) = 6fc6da6ea50b85377a27e2448b2d95570c539479
-SHA1 (patch-mozilla_mfbt_Poison.cpp) = c01b2ef4bbb061585673d434a88036c67aa1a153
+SHA1 (patch-mozilla_mfbt_Alignment.h) = 74e67cdaa109db06a5d72a33c826102ac672e757
+SHA1 (patch-mozilla_mfbt_Atomics.h) = 4b67b4df17397acd28d410af227c971e63c2ef94
+SHA1 (patch-mozilla_mfbt_Attributes.h) = 2e47958d46edf5d5d23cf6635e083f7b00d6b041
+SHA1 (patch-mozilla_mfbt_Poison.cpp) = 8a45775687244c6d1d6e422dbaa2364862fb33b7
+SHA1 (patch-mozilla_mobile_android_installer_Makefile.in) = 863cd47a1855b1d527ee95f9e3ea25491f108f0c
+SHA1 (patch-mozilla_mobile_android_installer_package-manifest.in) = a69f0c395a6b6588d3a2e820aeb78942e92cab5d
SHA1 (patch-mozilla_modules_libjar_nsZipArchive.cpp) = a399e0bd0e83c47938bbee077eaa79fc52386241
SHA1 (patch-mozilla_netwerk_dns_Makefile.in) = 20fe4e68220ebe49556d1505a99f34002f357ee3
-SHA1 (patch-mozilla_netwerk_sctp_src_netinet6_sctp6__usrreq.c) = dd166d48093684ee650a059d83008939cfad23fe
-SHA1 (patch-mozilla_netwerk_sctp_src_netinet_sctp__os__userspace.h) = 0961bbaa82191669a52ef9464776fbe744dec548
-SHA1 (patch-mozilla_netwerk_sctp_src_netinet_sctp__usrreq.c) = 398c6638c71aa499e2b60f8b71f0c4006d832d5c
-SHA1 (patch-mozilla_netwerk_sctp_src_user__recv__thread.c) = c143363510a179c3c46e106dd8cd46718a7b1ac3
-SHA1 (patch-mozilla_netwerk_sctp_src_user__socket.c) = a82b0f6d0d4717bfa593e7f3c53c3a229cfa6942
-SHA1 (patch-mozilla_netwerk_sctp_src_user__socketvar.h) = 6d34abb3d8ecc5c8b36bfa594dc11a99facfa13b
-SHA1 (patch-mozilla_netwerk_wifi_moz.build) = b033479d8f9e2f14dbd0b266e0e901b323bd84d8
-SHA1 (patch-mozilla_netwerk_wifi_nsWifiScannerFreeBSD.cpp) = 269f987b0818d67b3026b5c553c9e89b7d99a65e
-SHA1 (patch-mozilla_security_manager_ssl_src_nsNSSComponent.cpp) = 56531146315f3eac703a02ed23ef90f7ac4917b9
-SHA1 (patch-mozilla_toolkit_components_osfile_modules_osfile__unix__allthreads.jsm) = 80bf581cd567c8b83db07a2de88a5228829c8031
-SHA1 (patch-mozilla_toolkit_components_osfile_modules_osfile__unix__back.jsm) = 9cee183f2b7c662f8b55fc8a8765bd0702359472
-SHA1 (patch-mozilla_toolkit_library_Makefile.in) = 304fd8078e1dc917c07441523fe4dbac93378e6a
+SHA1 (patch-mozilla_ostream) = 40346ae7ebd8aeaf15506ff13e464949cee1a7d7
+SHA1 (patch-mozilla_probes_Makefile.in) = 1022eef505f6e6642e4f803461baa2349b200e05
+SHA1 (patch-mozilla_security_manager_ssl_src_nsNSSComponent.cpp) = 0ab4f1ff35d400159d4227b39fde956eb0fbe96e
+SHA1 (patch-mozilla_toolkit_components_osfile_modules_osfile__unix__back.jsm) = abf9d1bb447264172ac7e7421e98113d926f44cd
+SHA1 (patch-mozilla_toolkit_components_osfile_modules_osfile__unix__front.jsm) = 9637d1ecc330845c43b02ab75873c2c1f4e446a2
+SHA1 (patch-mozilla_toolkit_library_libxul.mk) = d31eca97564800ce065041d29d3693eabd44d59a
+SHA1 (patch-mozilla_toolkit_modules_GMPInstallManager.jsm) = efdffba110265916fcddfd0396366ecddc89d987
+SHA1 (patch-mozilla_toolkit_mozapps_extensions_internal_OpenH264Provider.jsm) = 4db8e40a60754cf7216039deb6726ef97563d9a4
SHA1 (patch-mozilla_toolkit_toolkit.mozbuild) = fbab6bc812003f4af11524fa4e50f48476972eac
-SHA1 (patch-mozilla_toolkit_xre_nsAppRunner.cpp) = b301ada224d1a33dfce7c3c0fab8799f5dfcd177
SHA1 (patch-mozilla_toolkit_xre_nsEmbedFunctions.cpp) = 70030e59b2ed09b9bc9827d35e17b12be7f0cd71
-SHA1 (patch-mozilla_webapprt_moz.build) = 6c4d6eb3ca56b972ad06ce065805152f31556170
-SHA1 (patch-mozilla_xpcom_base_nsStackWalk.cpp) = 178f9cc5774664b73bef4b5ffe3fd1ef07d3c419
-SHA1 (patch-mozilla_xpcom_base_nscore.h) = 54ee2bb507fa448279d15e9df7f6e0ead5ad3d55
-SHA1 (patch-mozilla_xpcom_build_PoisonIOInterposer.h) = 5ad6eb39c8386c9889d621ceffee089da31dff4a
-SHA1 (patch-mozilla_xpcom_ds_TimeStamp.h) = 3f751a097ec60ad743a3fa2d6ba9c3b36d633176
-SHA1 (patch-mozilla_xpcom_glue_standalone_nsXPCOMGlue.cpp) = 2a454cf78a8d453a31f9d4cda57e0529674cfeac
-SHA1 (patch-mozilla_xpcom_io_nsLocalFileUnix.cpp) = ec990c7da659d4e7d1533f341c48dfc07c679a2f
-SHA1 (patch-mozilla_xpcom_reflect_xptcall_src_md_unix_moz.build) = 780dc53f41d9290302426e825213f8ded848e8bc
-SHA1 (patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__asm__mips.S) = 5ac4d17ba0f51b27fed55248d01f24ad78b96435
-SHA1 (patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__gcc__x86__unix.cpp) = 2868370f4112bcb8da5ed879e661856949750fb9
-SHA1 (patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__ppc__netbsd.cpp) = e6bdc6adc373dab89bd1ab9546db8fffd41cb38c
-SHA1 (patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcstubs__asm__mips.S) = 56ec28bcadfe6a191c558eceabd6d94eb3ca41e9
-SHA1 (patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcstubs__gcc__x86__unix.cpp) = bbdb627a4130b36e1512d7350f92012163067940
+SHA1 (patch-mozilla_unwind.h) = 590e24d903412dd1c003031e65b513c435d8ba1f
+SHA1 (patch-mozilla_webapprt_moz.build) = 8323bfea8fe835571bf60d95cfa59859b745083f
+SHA1 (patch-mozilla_xpcom_base_nsStackWalk.cpp) = 5459d2576495faad2fbbc911dae260daaf84e4ee
+SHA1 (patch-mozilla_xpcom_base_nscore.h) = a69c532d2891ac2a2227445e85e581749685153e
+SHA1 (patch-mozilla_xpcom_build_nsXPComInit.cpp) = 911aeaf602d9359e92b6a4b31541239d946152b3
+SHA1 (patch-mozilla_xpcom_ds_TimeStamp.h) = 29b840f88775c3d72b29cf42530d0e2cdcf4c6e8
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_Makefile.in) = 2681b1371352c8b0c0f7a574e89da9e2b41ed5cd
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_moz.build) = 72977c261cd5eee8f8da796afc8ad919fce19963
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__mips.S) = fd7da8e0a424030e5a4a129d6dda521459d8ab73
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s) = 4ba8ce148b5cd8df3dd02ec623a7da4ac5309473
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__gcc__x86__unix.cpp) = d473ae98e1193af41ab201889863673d8fda701a
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp) = 748c333df16bbe9c7b909a62ff0a0ddacad0ab57
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp) = 5680faa66f63f3e7baf49670b747b18ad39d7a00
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp) = 7edfce709ff9a56f339dc1ee38355b852138b96d
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__arm__netbsd.cpp) = c4e19b27df55484c55a363dca588c5d09b39a084
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__mips.S) = 40231c0cbd4694f375211c21fe0473fd5fb9f483
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__sparc64__netbsd.s) = 219bdb7ef05d156642dd4124e444696c744badfd
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__gcc__x86__unix.cpp) = ff90d5dc4d4b286f21e0899d0ba96782e8771d37
+SHA1 (patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__netbsd__m68k.cpp) = 09b4833061face404731f2ec99a7fd2b3f313f70
SHA1 (patch-mozilla_xulrunner_installer_Makefile.in) = 013e4de8500a17deb6c68bd1cd3072bed5785fa0
SHA1 (patch-pb) = 0ce511845a30024e1abd357c24ecb925d81e1db1
SHA1 (patch-pc) = a1995c9ef5d675b5a8826390cd94abdf0e4b48a7
SHA1 (patch-rc) = e4dbdbb142869c84cc9a79d54b72352db4afdfc0
SHA1 (patch-suite_installer_Makefile.in) = ec8d455118fa3f64762f91c32027d712b58f5ea5
-SHA1 (patch-suite_installer_package-manifest.in) = 8e8b999bd7eca81da50e658eec584199522aee66
-SHA1 (patch-xb) = 7573f9f27db06621a591958e44bd78122488365e
-SHA1 (patch-xc) = 6fb07a53443c6a762ff279cd4712c9f1450eccbd
-SHA1 (patch-xe) = ab873bf1358b01fdd7975170fef4f4d17f041593
-SHA1 (patch-xf) = 926c283c7b189dcfc04be366906cb26b746f3156
-SHA1 (patch-xg) = 759652e4aa26da1a2115f79e322b49a95e112eb6
-SHA1 (patch-xl) = 83596c78d741c81774a31bfecf1da3b0f8dda08b
diff --git a/www/seamonkey/enigmail.mk b/www/seamonkey/enigmail.mk
index a4c20d20df2..2f51897d685 100644
--- a/www/seamonkey/enigmail.mk
+++ b/www/seamonkey/enigmail.mk
@@ -1,16 +1,16 @@
-# $NetBSD: enigmail.mk,v 1.13 2014/03/30 04:13:17 ryoon Exp $
+# $NetBSD: enigmail.mk,v 1.14 2014/11/02 05:40:31 ryoon Exp $
#
# This Makefile fragment hooks the Enigmail OpenPGP extension
# (see http://www.mozilla-enigmail.org/ ) into the build.
-ENIGMAIL_DIST= enigmail-1.6.1_pre20140112.tar.xz
+ENIGMAIL_DIST= enigmail-1.7.2.tar.gz
XPI_FILES+= ${WRKDIR}/enigmail.xpi
.if !defined(DISTFILES)
DISTFILES= ${DEFAULT_DISTFILES}
.endif
DISTFILES+= ${ENIGMAIL_DIST}
-#SITES.${ENIGMAIL_DIST}= http://www.mozilla-enigmail.org/download/source/
-SITES.${ENIGMAIL_DIST}= https://dev.gentoo.org/~polynomial-c/mozilla/
+SITES.${ENIGMAIL_DIST}= http://www.mozilla-enigmail.org/download/source/
+#SITES.${ENIGMAIL_DIST}= https://dev.gentoo.org/~polynomial-c/mozilla/
DEPENDS+= gnupg-[0-9]*:../../security/gnupg
PLIST_SRC+= PLIST.enigmail
diff --git a/www/seamonkey/patches/patch-aa b/www/seamonkey/patches/patch-aa
index b2e8873df4e..791959f7362 100644
--- a/www/seamonkey/patches/patch-aa
+++ b/www/seamonkey/patches/patch-aa
@@ -1,8 +1,17 @@
-$NetBSD: patch-aa,v 1.22 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-aa,v 1.23 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/configure.in.orig 2014-06-13 00:46:03.000000000 +0000
+--- mozilla/configure.in.orig 2014-10-14 06:36:05.000000000 +0000
+++ mozilla/configure.in
-@@ -1613,7 +1613,13 @@ Linux)
+@@ -966,7 +966,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)'
+@@ -1680,7 +1680,13 @@ Linux)
MOZ_ENABLE_PROFILER_SPS=
esac
;;
@@ -17,7 +26,7 @@ $NetBSD: patch-aa,v 1.22 2014/06/22 08:54:39 ryoon Exp $
*)
MOZ_ENABLE_PROFILER_SPS=
;;
-@@ -1717,7 +1723,7 @@ case "$host" in
+@@ -1784,7 +1790,7 @@ case "$host" in
;;
*-darwin*)
@@ -26,7 +35,7 @@ $NetBSD: patch-aa,v 1.22 2014/06/22 08:54:39 ryoon Exp $
HOST_NSPR_MDCPUCFG='\"md/_darwin.cfg\"'
HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}"
;;
-@@ -1857,7 +1863,6 @@ case "$target" in
+@@ -1916,7 +1922,6 @@ case "$target" in
AC_DEFINE(XP_DARWIN)
_PLATFORM_DEFAULT_TOOLKIT='cairo-uikit'
else
@@ -34,7 +43,7 @@ $NetBSD: patch-aa,v 1.22 2014/06/22 08:54:39 ryoon Exp $
AC_DEFINE(XP_DARWIN)
_PLATFORM_DEFAULT_TOOLKIT='cairo-cocoa'
# The ExceptionHandling framework is needed for Objective-C exception
-@@ -2534,118 +2539,15 @@ MOZ_CXX11
+@@ -2539,8 +2544,7 @@ MOZ_CXX11
AC_LANG_C
@@ -42,125 +51,18 @@ $NetBSD: patch-aa,v 1.22 2014/06/22 08:54:39 ryoon Exp $
-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
+ if test "$GNU_CC" -a "$OS_TARGET" != WINNT; then
+ AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
+@@ -2679,7 +2683,7 @@ if test "$ac_cv_sockaddr_sa_len" = true
+ AC_DEFINE(HAVE_SA_LEN)
+ fi
- # visibility hidden flag for Sun Studio on Solaris
-@@ -3711,6 +3613,14 @@ if test -n "$YASM"; then
+-AC_ARG_ENABLE(dtrace,
++MOZ_ARG_ENABLE_BOOL(dtrace,
+ [ --enable-dtrace build with dtrace support if available (default=no)],
+ [enable_dtrace="yes"],)
+ if test "x$enable_dtrace" = "xyes"; then
+@@ -3576,6 +3580,14 @@ if test -n "$YASM"; then
_YASM_BUILD=` echo ${YASM_VERSION} | $AWK -F\. '{ print $4 }'`
fi
@@ -175,7 +77,7 @@ $NetBSD: patch-aa,v 1.22 2014/06/22 08:54:39 ryoon Exp $
if test -z "$SKIP_LIBRARY_CHECKS"; then
dnl system JPEG support
dnl ========================================================
-@@ -3738,11 +3648,7 @@ if test "$MOZ_NATIVE_JPEG" = 1; then
+@@ -3603,11 +3615,7 @@ if test "$MOZ_NATIVE_JPEG" = 1; then
#include <jpeglib.h> ],
[ #if JPEG_LIB_VERSION < $MOZJPEG
#error "Insufficient JPEG library version ($MOZJPEG required)."
@@ -188,38 +90,7 @@ $NetBSD: patch-aa,v 1.22 2014/06/22 08:54:39 ryoon Exp $
MOZ_NATIVE_JPEG=1,
AC_MSG_ERROR([Insufficient JPEG library version for --with-system-jpeg]))
fi
-@@ -3940,6 +3846,22 @@ fi
- AC_SUBST(MOZ_NATIVE_ICU)
-
- dnl ========================================================
-+dnl system icu support
-+dnl ========================================================
-+MOZ_NATIVE_ICU=
-+MOZ_ARG_WITH_BOOL(system-icu,
-+[ --with-system-icu
-+ Use system icu (located with pkgconfig)],
-+ MOZ_NATIVE_ICU=1)
-+
-+if test -n "$MOZ_NATIVE_ICU"; then
-+ PKG_CHECK_MODULES(MOZ_ICU, icu-i18n >= 50.1)
-+ MOZ_JS_STATIC_LIBS="$MOZ_JS_STATIC_LIBS $MOZ_ICU_LIBS"
-+fi
-+
-+AC_SUBST(MOZ_NATIVE_ICU)
-+
-+dnl ========================================================
- dnl Java SDK support
- dnl ========================================================
-
-@@ -3974,6 +3896,7 @@ MOZ_SAMPLE_TYPE_FLOAT32=
- MOZ_SAMPLE_TYPE_S16=
- MOZ_OPUS=1
- MOZ_WEBM=1
-+MOZ_GSTREAMER=
- MOZ_DIRECTSHOW=
- MOZ_WMF=
- MOZ_FMP4=
-@@ -4433,6 +4356,10 @@ cairo-gonk)
+@@ -4293,6 +4301,10 @@ cairo-gonk)
esac
@@ -230,7 +101,7 @@ $NetBSD: patch-aa,v 1.22 2014/06/22 08:54:39 ryoon Exp $
AC_SUBST(MOZ_PDF_PRINTING)
if test "$MOZ_PDF_PRINTING"; then
PDF_SURFACE_FEATURE="#define CAIRO_HAS_PDF_SURFACE 1"
-@@ -5135,6 +5062,9 @@ if test -n "$MOZ_WEBRTC"; then
+@@ -5012,6 +5024,9 @@ if test -n "$MOZ_WEBRTC"; then
MOZ_VPX=1
MOZ_VPX_ERROR_CONCEALMENT=1
@@ -240,29 +111,7 @@ $NetBSD: patch-aa,v 1.22 2014/06/22 08:54:39 ryoon Exp $
dnl enable once Signaling lands
MOZ_WEBRTC_SIGNALING=1
AC_DEFINE(MOZ_WEBRTC_SIGNALING)
-@@ -5157,15 +5087,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 "$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
-@@ -5229,6 +5162,57 @@ if test -n "$MOZ_OGG"; then
+@@ -5102,6 +5117,63 @@ if test "${ac_cv_c_attribute_aligned}" !
fi
dnl ========================================================
@@ -276,6 +125,12 @@ $NetBSD: patch-aa,v 1.22 2014/06/22 08:54:39 ryoon Exp $
+
+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)
@@ -320,7 +175,7 @@ $NetBSD: patch-aa,v 1.22 2014/06/22 08:54:39 ryoon Exp $
dnl = Disable Opus audio codec support
dnl ========================================================
MOZ_ARG_DISABLE_BOOL(opus,
-@@ -5237,6 +5221,76 @@ MOZ_ARG_DISABLE_BOOL(opus,
+@@ -5110,6 +5182,97 @@ MOZ_ARG_DISABLE_BOOL(opus,
MOZ_OPUS=1)
dnl ========================================================
@@ -386,7 +241,28 @@ $NetBSD: patch-aa,v 1.22 2014/06/22 08:54:39 ryoon Exp $
+MOZ_NATIVE_SOUNDTOUCH=)
+
+if test -n "$MOZ_NATIVE_SOUNDTOUCH"; then
-+ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.7.0)
++ 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)
@@ -397,93 +273,92 @@ $NetBSD: patch-aa,v 1.22 2014/06/22 08:54:39 ryoon Exp $
dnl = Disable VP8 decoder support
dnl ========================================================
MOZ_ARG_DISABLE_BOOL(webm,
-@@ -5615,44 +5669,61 @@ WINNT|Darwin|Android)
- ;;
- *)
- MOZ_GSTREAMER=1
-+ GST_API_VERSION=0.10
- ;;
- esac
+@@ -5462,6 +5625,60 @@ fi
+ AC_SUBST(MOZ_WEBM_ENCODER)
--MOZ_ARG_ENABLE_BOOL(gstreamer,
--[ --enable-gstreamer Enable GStreamer support],
--MOZ_GSTREAMER=1,
--MOZ_GSTREAMER=)
--
--if test "$MOZ_GSTREAMER"; then
-- # API version, eg 0.10, 1.0 etc
-+MOZ_ARG_ENABLE_STRING(gstreamer,
-+[ --enable-gstreamer[=0.10] Enable GStreamer support],
-+[ MOZ_GSTREAMER=1
-+ # API version, eg 0.10, 1.0 etc
-+ if test -z "$enableval" -o "$enableval" = "yes"; then
- GST_API_VERSION=0.10
-+ elif test "$enableval" = "no"; then
-+ MOZ_GSTREAMER=
-+ else
-+ GST_API_VERSION=$enableval
-+ fi],
-+)
-+
-+if test -n "$MOZ_GSTREAMER"; then
- # core/base release number
-- GST_VERSION=0.10.25
-+ if test "$GST_API_VERSION" = "1.0"; then
-+ GST_VERSION=1.0
-+ else
-+ GST_VERSION=0.10.25
+ dnl ==================================
++dnl = Check OSS availability
++dnl ==================================
++
++dnl If using Linux, Solaris or BSDs, ensure that OSS is available
++case "$OS_TARGET" in
++Linux|SunOS|DragonFly|FreeBSD|NetBSD|GNU/kFreeBSD)
++ MOZ_OSS=1
++ ;;
++esac
++
++MOZ_ARG_DISABLE_BOOL(oss,
++[ --disable-oss Disable OpenSoundSystem support],
++ MOZ_OSS=,
++ MOZ_OSS=1)
++
++_SAVE_CFLAGS=$CFLAGS
++_SAVE_LIBS=$LIBS
++if test -n "$MOZ_OSS"; then
++ dnl Prefer 4Front implementation
++ AC_MSG_CHECKING([MOZ_OSS_CFLAGS])
++ if test -z "$MOZ_OSS_CFLAGS"; then
++ for oss_conf in /etc/oss.conf /usr/local/etc/oss.conf; do
++ if test -e "$oss_conf"; then
++ . "$oss_conf"
++ fi
++ done
++ if test -d "$OSSLIBDIR"; then
++ MOZ_OSS_CFLAGS="-I$OSSLIBDIR/include"
++ fi
+ fi
++ AC_MSG_RESULT([$MOZ_OSS_CFLAGS])
++
++ CFLAGS="$CFLAGS $MOZ_OSS_CFLAGS"
++ MOZ_CHECK_HEADERS(sys/soundcard.h linux/soundcard.h soundcard.h)
+
- PKG_CHECK_MODULES(GSTREAMER,
- gstreamer-$GST_API_VERSION >= $GST_VERSION
- gstreamer-app-$GST_API_VERSION
-- gstreamer-plugins-base-$GST_API_VERSION, ,
-- AC_MSG_ERROR([gstreamer and gstreamer-plugins-base development packages are needed to build gstreamer backend. Install them or disable gstreamer support with --disable-gstreamer]))
-- if test -n "$GSTREAMER_LIBS"; then
-- _SAVE_LDFLAGS=$LDFLAGS
-- LDFLAGS="$LDFLAGS $GSTREAMER_LIBS -lgstvideo-$GST_API_VERSION"
-- AC_TRY_LINK(,[return 0;],_HAVE_LIBGSTVIDEO=1,_HAVE_LIBGSTVIDEO=)
-- if test -n "$_HAVE_LIBGSTVIDEO" ; then
-- GSTREAMER_LIBS="$GSTREAMER_LIBS -lgstvideo-$GST_API_VERSION"
-- else
-- AC_MSG_ERROR([gstreamer-plugins-base found, but no libgstvideo. Something has gone terribly wrong. Try reinstalling gstreamer-plugins-base; failing that, disable the gstreamer backend with --disable-gstreamer.])
-- fi
-- LDFLAGS=$_SAVE_LDFLAGS
-+ gstreamer-plugins-base-$GST_API_VERSION,
-+ [_HAVE_GSTREAMER=1],
-+ [_HAVE_GSTREAMER=])
-+ if test -z "$_HAVE_GSTREAMER"; then
-+ AC_MSG_ERROR([gstreamer and gstreamer-plugins-base development packages are needed to build gstreamer backend. Install them or disable gstreamer support with --disable-gstreamer])
++ if test "$ac_cv_header_sys_soundcard_h" != "yes" -a \
++ "$ac_cv_header_linux_soundcard_h" != "yes" -a \
++ "$ac_cv_header_soundcard_h" != "yes"; then
++ AC_MSG_ERROR([Need OSS for Ogg, Wave or WebM decoding on $OS_TARGET. Disable with --disable-ogg --disable-wave --disable-webm.])
+ fi
+
-+ _SAVE_LDFLAGS=$LDFLAGS
-+ LDFLAGS="$LDFLAGS $GSTREAMER_LIBS -lgstvideo-$GST_API_VERSION"
-+ AC_TRY_LINK(,[return 0;],_HAVE_LIBGSTVIDEO=1,_HAVE_LIBGSTVIDEO=)
-+ if test -n "$_HAVE_LIBGSTVIDEO" ; then
-+ GSTREAMER_LIBS="$GSTREAMER_LIBS -lgstvideo-$GST_API_VERSION"
- else
-- AC_MSG_ERROR([gstreamer and gstreamer-plugins-base development packages are needed to build gstreamer backend. Install them or disable gstreamer support with --disable-gstreamer])
-+ AC_MSG_ERROR([gstreamer-plugins-base found, but no libgstvideo. Something has gone terribly wrong. Try reinstalling gstreamer-plugins-base; failing that, disable the gstreamer backend with --disable-gstreamer.])
- fi
-+ LDFLAGS=$_SAVE_LDFLAGS
++ dnl Assume NetBSD implementation over SunAudio
++ AC_CHECK_LIB(ossaudio, _oss_ioctl,
++ [AC_DEFINE_UNQUOTED(CUBEB_OSS_DEFAULT_OUTPUT, "/dev/sound")
++ MOZ_OSS_LIBS="-lossaudio"])
++fi
++CFLAGS=$_SAVE_CFLAGS
++LIBS=$_SAVE_LIBS
+
-+ AC_SUBST(GSTREAMER_CFLAGS)
-+ AC_SUBST(GSTREAMER_LIBS)
- fi
--AC_SUBST(GSTREAMER_CFLAGS)
--AC_SUBST(GSTREAMER_LIBS)
++AC_SUBST(MOZ_OSS)
++AC_SUBST_LIST(MOZ_OSS_CFLAGS)
++AC_SUBST_LIST(MOZ_OSS_LIBS)
+
- AC_SUBST(MOZ_GSTREAMER)
-+AC_SUBST(GST_API_VERSION)
++dnl ==================================
+ dnl = Check alsa availability on Linux
+ dnl ==================================
- if test -n "$MOZ_GSTREAMER"; then
-- AC_DEFINE(MOZ_GSTREAMER)
-+ AC_DEFINE(MOZ_GSTREAMER)
-+ AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION")
- fi
+@@ -5475,12 +5692,23 @@ MOZ_ARG_ENABLE_BOOL(alsa,
+ MOZ_ALSA=1,
+ MOZ_ALSA=)
++MOZ_ARG_DISABLE_BOOL(alsa-dlopen,
++[ --disable-alsa-dlopen Disable runtime linking of libasound.so],
++ DISABLE_LIBASOUND_DLOPEN=1,
++ DISABLE_LIBASOUND_DLOPEN=)
++
+ if test -n "$MOZ_ALSA"; then
+ PKG_CHECK_MODULES(MOZ_ALSA, alsa, ,
+ [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
-@@ -5866,7 +5937,9 @@ MOZ_ARG_DISABLE_BOOL(gamepad,
++if test -n "$DISABLE_LIBASOUND_DLOPEN"; then
++ AC_DEFINE(DISABLE_LIBASOUND_DLOPEN)
++else
++ MOZ_ALSA_LIBS=
++fi
++
+ AC_SUBST(MOZ_ALSA)
+ AC_SUBST(MOZ_ALSA_CFLAGS)
+ AC_SUBST(MOZ_ALSA_LIBS)
+@@ -5904,7 +6132,9 @@ MOZ_ARG_DISABLE_BOOL(gamepad,
if test "$MOZ_GAMEPAD"; then
case "$OS_TARGET" in
Darwin)
@@ -493,8 +368,8 @@ $NetBSD: patch-aa,v 1.22 2014/06/22 08:54:39 ryoon Exp $
+ fi
;;
WINNT)
- if test -n "$MOZ_DIRECTX_SDK_PATH" ; then
-@@ -7939,6 +8012,52 @@ if test "$USE_FC_FREETYPE"; then
+ case "$MOZ_WINSDK_MAXVER" in
+@@ -8014,6 +8244,52 @@ if test "$USE_FC_FREETYPE"; then
fi
dnl ========================================================
@@ -547,33 +422,3 @@ $NetBSD: patch-aa,v 1.22 2014/06/22 08:54:39 ryoon Exp $
dnl Check for pixman and cairo
dnl ========================================================
-@@ -8189,7 +8308,7 @@ case "$OS_TARGET" in
- NECKO_WIFI=1
- fi
- ;;
-- Darwin|SunOS|WINNT)
-+ Darwin|FreeBSD|SunOS|WINNT)
- NECKO_WIFI=1
- ;;
- Linux)
-@@ -8736,6 +8855,20 @@ AC_SUBST(MOZ_ENABLE_SZIP)
- AC_SUBST(MOZ_SZIP_FLAGS)
-
- if test -n "$COMPILE_ENVIRONMENT"; then
-+AC_MSG_CHECKING([for posix_fadvise])
-+AC_TRY_LINK([#define _XOPEN_SOURCE 600
-+ #include <fcntl.h>],
-+ [posix_fadvise(0, 0, 0, 0);],
-+ [ac_cv___posix_fadvise=true],
-+ [ac_cv___posix_fadvise=false])
-+
-+if test "$ac_cv___posix_fadvise" = true ; then
-+ AC_DEFINE(HAVE_POSIX_FADVISE)
-+ AC_MSG_RESULT(yes)
-+else
-+ AC_MSG_RESULT(no)
-+fi
-+
- AC_MSG_CHECKING([for posix_fallocate])
- AC_TRY_LINK([#define _XOPEN_SOURCE 600
- #include <fcntl.h>],
diff --git a/www/seamonkey/patches/patch-ak b/www/seamonkey/patches/patch-ak
index 45982da78df..fa3c313ecd9 100644
--- a/www/seamonkey/patches/patch-ak
+++ b/www/seamonkey/patches/patch-ak
@@ -1,13 +1,13 @@
-$NetBSD: patch-ak,v 1.11 2013/01/07 21:55:30 ryoon Exp $
+$NetBSD: patch-ak,v 1.12 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/js/src/ctypes/libffi/configure.orig 2012-11-18 10:19:38.000000000 +0000
+--- mozilla/js/src/ctypes/libffi/configure.orig 2014-10-14 06:36:16.000000000 +0000
+++ mozilla/js/src/ctypes/libffi/configure
-@@ -11278,7 +11278,7 @@ case "$host" in
+@@ -17226,7 +17226,7 @@ case "$host" in
powerpc-*-aix* | rs6000-*-aix*)
TARGET=POWERPC_AIX; TARGETDIR=powerpc
;;
- powerpc-*-freebsd* | powerpc-*-openbsd*)
+ powerpc-*-freebsd* | powerpc-*-openbsd* | powerpc-*-netbsd*)
TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc
+ HAVE_LONG_DOUBLE_VARIANT=1
;;
- powerpc*-*-rtems*)
diff --git a/www/seamonkey/patches/patch-as b/www/seamonkey/patches/patch-as
index f2509e390d7..31d9817d5ba 100644
--- a/www/seamonkey/patches/patch-as
+++ b/www/seamonkey/patches/patch-as
@@ -1,11 +1,11 @@
-$NetBSD: patch-as,v 1.17 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-as,v 1.18 2014/11/02 05:40:31 ryoon Exp $
* Fix _res is not supported for multi-threaded programs. error.
* Treat DragonFly like FreeBSD.
---- mozilla/js/src/configure.in.orig 2014-06-13 00:46:08.000000000 +0000
+--- mozilla/js/src/configure.in.orig 2014-10-14 06:36:15.000000000 +0000
+++ mozilla/js/src/configure.in
-@@ -2165,116 +2165,13 @@ AC_LANG_CPLUSPLUS
+@@ -2088,8 +2088,7 @@ AC_LANG_CPLUSPLUS
MOZ_CXX11
@@ -13,121 +13,18 @@ $NetBSD: patch-as,v 1.17 2014/06/22 08:54:39 ryoon Exp $
-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
+ if test "$GNU_CC" -a "$OS_TARGET" != WINNT; then
+ AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
+@@ -2155,7 +2154,7 @@ dnl Quota support
+ MOZ_CHECK_HEADERS(sys/quota.h)
+ MOZ_CHECK_HEADERS(linux/quota.h)
- # visibility hidden flag for Sun Studio on Solaris
-@@ -3280,7 +3177,7 @@ if test "$MOZ_MEMORY"; then
+-AC_ARG_ENABLE(dtrace,
++MOZ_ARG_ENABLE_BOOL(dtrace,
+ [ --enable-dtrace build with dtrace support if available (default=no)],
+ [enable_dtrace="yes"],)
+ if test "x$enable_dtrace" = "xyes"; then
+@@ -3011,7 +3010,7 @@ if test "$MOZ_MEMORY"; then
*-darwin*)
AC_DEFINE(MOZ_MEMORY_DARWIN)
;;
@@ -136,28 +33,7 @@ $NetBSD: patch-as,v 1.17 2014/06/22 08:54:39 ryoon Exp $
AC_DEFINE(MOZ_MEMORY_BSD)
;;
*-android*|*-linuxandroid*)
-@@ -4144,6 +4041,20 @@ AC_SUBST(CXX_VERSION)
- AC_SUBST(MSMANIFEST_TOOL)
- AC_SUBST(MOZ_LINKER)
-
-+AC_MSG_CHECKING([for posix_fadvise])
-+AC_TRY_LINK([#define _XOPEN_SOURCE 600
-+ #include <fcntl.h>],
-+ [posix_fadvise(0, 0, 0, 0);],
-+ [ac_cv___posix_fadvise=true],
-+ [ac_cv___posix_fadvise=false])
-+
-+if test "$ac_cv___posix_fadvise" = true ; then
-+ AC_DEFINE(HAVE_POSIX_FADVISE)
-+ AC_MSG_RESULT(yes)
-+else
-+ AC_MSG_RESULT(no)
-+fi
-+
- AC_MSG_CHECKING([for posix_fallocate])
- AC_TRY_LINK([#define _XOPEN_SOURCE 600
- #include <fcntl.h>],
-@@ -4512,6 +4423,16 @@ fi
+@@ -3925,6 +3924,16 @@ MOZ_SUBCONFIGURE_ICU()
dnl ========================================================
dnl JavaScript shell
dnl ========================================================
diff --git a/www/seamonkey/patches/patch-bi b/www/seamonkey/patches/patch-bi
deleted file mode 100644
index b55d3cfa97d..00000000000
--- a/www/seamonkey/patches/patch-bi
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD: patch-bi,v 1.7 2013/01/07 21:55:30 ryoon Exp $
-
---- mozilla/gfx/angle/src/compiler/osinclude.h.orig 2012-11-18 10:19:36.000000000 +0000
-+++ mozilla/gfx/angle/src/compiler/osinclude.h
-@@ -16,6 +16,7 @@
- #define ANGLE_OS_WIN
- #elif defined(__APPLE__) || defined(__linux__) || \
- defined(__FreeBSD__) || defined(__OpenBSD__) || \
-+ defined(__NetBSD__) || defined(__DragonFly__) || \
- defined(__sun) || defined(ANDROID) || \
- defined(__GLIBC__) || defined(__GNU__) || \
- defined(__QNX__)
diff --git a/www/seamonkey/patches/patch-config_baseconfig.mk b/www/seamonkey/patches/patch-config_baseconfig.mk
index 2ab29ce9637..9be35fc81fe 100644
--- a/www/seamonkey/patches/patch-config_baseconfig.mk
+++ b/www/seamonkey/patches/patch-config_baseconfig.mk
@@ -1,8 +1,11 @@
-$NetBSD: patch-config_baseconfig.mk,v 1.3 2013/12/26 13:17:37 ryoon Exp $
+$NetBSD: patch-config_baseconfig.mk,v 1.4 2014/11/02 05:40:31 ryoon Exp $
---- config/baseconfig.mk.orig 2013-12-11 04:19:54.000000000 +0000
+--- config/baseconfig.mk.orig 2014-10-14 06:26:59.000000000 +0000
+++ config/baseconfig.mk
-@@ -1,7 +1,7 @@
+@@ -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)
diff --git a/www/seamonkey/patches/patch-config_config.mk b/www/seamonkey/patches/patch-config_config.mk
deleted file mode 100644
index 29571df0c81..00000000000
--- a/www/seamonkey/patches/patch-config_config.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD: patch-config_config.mk,v 1.1 2013/12/26 13:17:37 ryoon Exp $
-
-From
-http://www.openbsd.org/cgi-bin/cvsweb/ports/www/seamonkey/patches/patch-config_config_mk?rev=1.1
-
-Fix fallout from http://hg.mozilla.org/releases/comm-release/rev/a6ab55f00e21
-XPIDL_LINK being undefined breaks enigmail build
-
---- config/config.mk.orig 2013-12-11 04:19:54.000000000 +0000
-+++ config/config.mk
-@@ -325,6 +325,7 @@ MY_RULES := $(DEPTH)/config/myrules.mk
- # Default command macros; can be overridden in <arch>.mk.
- #
- CCC = $(CXX)
-+XPIDL_LINK = $(PYTHON) $(LIBXUL_DIST)/sdk/bin/xpt.py link
-
- OS_INCLUDES += $(NSPR_CFLAGS) $(NSS_CFLAGS) $(MOZ_JPEG_CFLAGS) $(MOZ_PNG_CFLAGS) $(MOZ_ZLIB_CFLAGS)
-
diff --git a/www/seamonkey/patches/patch-mozilla_b2g_installer_Makefile.in b/www/seamonkey/patches/patch-mozilla_b2g_installer_Makefile.in
new file mode 100644
index 00000000000..ecece6d77a8
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_b2g_installer_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-mozilla_b2g_installer_Makefile.in,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/b2g/installer/Makefile.in.orig 2014-10-14 06:36:02.000000000 +0000
++++ mozilla/b2g/installer/Makefile.in
+@@ -65,6 +65,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/www/seamonkey/patches/patch-mozilla_b2g_installer_package-manifest.in b/www/seamonkey/patches/patch-mozilla_b2g_installer_package-manifest.in
new file mode 100644
index 00000000000..51144b9c016
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_b2g_installer_package-manifest.in
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_b2g_installer_package-manifest.in,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/b2g/installer/package-manifest.in.orig 2014-10-14 06:36:02.000000000 +0000
++++ mozilla/b2g/installer/package-manifest.in
+@@ -577,7 +577,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/www/seamonkey/patches/patch-mozilla_browser_installer_package-manifest.in b/www/seamonkey/patches/patch-mozilla_browser_installer_package-manifest.in
index bb3905c98e2..92a38b4ef44 100644
--- a/www/seamonkey/patches/patch-mozilla_browser_installer_package-manifest.in
+++ b/www/seamonkey/patches/patch-mozilla_browser_installer_package-manifest.in
@@ -1,8 +1,17 @@
-$NetBSD: patch-mozilla_browser_installer_package-manifest.in,v 1.2 2014/03/30 04:13:17 ryoon Exp $
+$NetBSD: patch-mozilla_browser_installer_package-manifest.in,v 1.3 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/browser/installer/package-manifest.in.orig 2014-03-19 01:41:45.000000000 +0000
+--- mozilla/browser/installer/package-manifest.in.orig 2014-10-14 06:36:04.000000000 +0000
+++ mozilla/browser/installer/package-manifest.in
-@@ -732,7 +732,7 @@
+@@ -578,7 +578,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
+@@ -752,7 +752,7 @@
#endif
; for Solaris SPARC
diff --git a/www/seamonkey/patches/patch-mozilla_build_clang-plugin_configure b/www/seamonkey/patches/patch-mozilla_build_clang-plugin_configure
new file mode 100644
index 00000000000..98024708526
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_build_clang-plugin_configure
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_build_clang-plugin_configure,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/build/clang-plugin/configure.orig 2014-10-14 06:36:04.000000000 +0000
++++ mozilla/build/clang-plugin/configure
+@@ -42,7 +42,7 @@ LLVMCXXFLAGS=`$LLVMCONFIG --cxxflags`
+ LLVMLDFLAGS=`$LLVMCONFIG --ldflags`
+ LLVMLDFLAGS="$LLVMLDFLAGS `$LLVMCONFIG --libs $LLVMLIBS`"
+
+-if [ $PLATFORM == Darwin ]; then
++if [ $PLATFORM = Darwin ]; then
+ DSO_LDOPTS="-dynamiclib -shared"
+ CLANGLDFLAGS="-lclangFrontend -lclangDriver -lclangSerialization \
+ -lclangParse -lclangSema -lclangAnalysis -lclangEdit -lclangAST \
diff --git a/www/seamonkey/patches/patch-mozilla_config_external_moz.build b/www/seamonkey/patches/patch-mozilla_config_external_moz.build
index 107b4f3e87b..69059be1040 100644
--- a/www/seamonkey/patches/patch-mozilla_config_external_moz.build
+++ b/www/seamonkey/patches/patch-mozilla_config_external_moz.build
@@ -1,12 +1,18 @@
-$NetBSD: patch-mozilla_config_external_moz.build,v 1.2 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-mozilla_config_external_moz.build,v 1.3 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/config/external/moz.build.orig 2014-06-13 00:46:03.000000000 +0000
+--- mozilla/config/external/moz.build.orig 2014-10-14 06:36:04.000000000 +0000
+++ mozilla/config/external/moz.build
-@@ -15,13 +15,13 @@ if CONFIG['MOZ_UPDATER']:
+@@ -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']
@@ -19,16 +25,7 @@ $NetBSD: patch-mozilla_config_external_moz.build,v 1.2 2014/06/22 08:54:39 ryoon
external_dirs += ['media/libopus']
if CONFIG['MOZ_WEBM']:
-@@ -34,16 +34,23 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ
- external_dirs += ['media/libvpx']
-
- if CONFIG['MOZ_OGG']:
-- external_dirs += ['media/libogg', 'media/libtheora']
-+ if not CONFIG['MOZ_NATIVE_OGG']:
-+ external_dirs += ['media/libogg']
-+ if not CONFIG['MOZ_NATIVE_THEORA']:
-+ external_dirs += ['media/libtheora']
-
+@@ -36,14 +42,16 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ
if not CONFIG['MOZ_NATIVE_PNG']:
external_dirs += ['media/libpng']
@@ -41,7 +38,10 @@ $NetBSD: patch-mozilla_config_external_moz.build,v 1.2 2014/06/22 08:54:39 ryoon
external_dirs += [
'media/kiss_fft',
'media/libcubeb',
+- 'media/libogg',
+- 'media/libtheora',
- 'media/libspeex_resampler',
+ 'media/libstagefright',
- 'media/libsoundtouch',
]
diff --git a/www/seamonkey/patches/patch-mozilla_config_rules.mk b/www/seamonkey/patches/patch-mozilla_config_rules.mk
new file mode 100644
index 00000000000..8509d10de6e
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_config_rules.mk
@@ -0,0 +1,30 @@
+$NetBSD: patch-mozilla_config_rules.mk,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/config/rules.mk.orig 2014-10-14 06:36:05.000000000 +0000
++++ mozilla/config/rules.mk
+@@ -822,6 +822,7 @@ endif
+ ifdef DTRACE_PROBE_OBJ
+ EXTRA_DEPS += $(DTRACE_PROBE_OBJ)
+ OBJS += $(DTRACE_PROBE_OBJ)
++EXCLUDED_OBJS += $(DTRACE_PROBE_OBJ)
+ endif
+
+ $(filter %.$(LIB_SUFFIX),$(LIBRARY)): $(OBJS) $(EXTRA_DEPS) $(GLOBAL_DEPS)
+@@ -857,7 +858,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
+@@ -875,7 +876,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/www/seamonkey/patches/patch-mozilla_config_stl__wrappers_ios b/www/seamonkey/patches/patch-mozilla_config_stl__wrappers_ios
deleted file mode 100644
index c6e8e94228a..00000000000
--- a/www/seamonkey/patches/patch-mozilla_config_stl__wrappers_ios
+++ /dev/null
@@ -1,8 +0,0 @@
-$NetBSD: patch-mozilla_config_stl__wrappers_ios,v 1.3 2013/08/30 13:00:37 joerg Exp $
-
---- mozilla/config/stl_wrappers/ios.orig 2013-05-13 18:23:07.000000000 +0000
-+++ mozilla/config/stl_wrappers/ios
-@@ -0,0 +1,3 @@
-+#pragma GCC visibility push(default)
-+#include_next <ios>
-+#pragma GCC visibility pop
diff --git a/www/seamonkey/patches/patch-mozilla_config_stl__wrappers_ostream b/www/seamonkey/patches/patch-mozilla_config_stl__wrappers_ostream
deleted file mode 100644
index 6dd4c4fa414..00000000000
--- a/www/seamonkey/patches/patch-mozilla_config_stl__wrappers_ostream
+++ /dev/null
@@ -1,8 +0,0 @@
-$NetBSD: patch-mozilla_config_stl__wrappers_ostream,v 1.3 2013/08/30 13:00:37 joerg Exp $
-
---- mozilla/config/stl_wrappers/ostream.orig 2013-05-13 18:22:40.000000000 +0000
-+++ mozilla/config/stl_wrappers/ostream
-@@ -0,0 +1,3 @@
-+#pragma GCC visibility push(default)
-+#include_next <ostream>
-+#pragma GCC visibility pop
diff --git a/www/seamonkey/patches/patch-mozilla_config_system-headers b/www/seamonkey/patches/patch-mozilla_config_system-headers
index bc917df7392..8fba1b5169f 100644
--- a/www/seamonkey/patches/patch-mozilla_config_system-headers
+++ b/www/seamonkey/patches/patch-mozilla_config_system-headers
@@ -1,17 +1,17 @@
-$NetBSD: patch-mozilla_config_system-headers,v 1.11 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-mozilla_config_system-headers,v 1.12 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/config/system-headers.orig 2014-06-13 00:46:03.000000000 +0000
+--- mozilla/config/system-headers.orig 2014-10-14 06:36:05.000000000 +0000
+++ mozilla/config/system-headers
-@@ -1051,8 +1051,6 @@ X11/Xutil.h
- xpt_struct.h
- xpt_xdr.h
+@@ -1263,8 +1263,6 @@ X11/Xlocale.h
+ X11/Xos.h
+ X11/Xutil.h
zmouse.h
-speex/speex_resampler.h
-soundtouch/SoundTouch.h
#if MOZ_NATIVE_PNG==1
png.h
#endif
-@@ -1118,6 +1116,8 @@ ogg/ogg.h
+@@ -1329,6 +1327,8 @@ ogg/ogg.h
ogg/os_types.h
nestegg/nestegg.h
cubeb/cubeb.h
@@ -20,13 +20,11 @@ $NetBSD: patch-mozilla_config_system-headers,v 1.11 2014/06/22 08:54:39 ryoon Ex
#endif
gst/gst.h
gst/app/gstappsink.h
-@@ -1146,3 +1146,39 @@ unicode/utypes.h
+@@ -1357,3 +1357,37 @@ unicode/utypes.h
#endif
libutil.h
unwind.h
-+cairo-qt.h
+#if MOZ_NATIVE_GRAPHITE2==1
-+unwind.h
+graphite2/Font.h
+graphite2/Segment.h
+#endif
diff --git a/www/seamonkey/patches/patch-mozilla_config_system__wrappers_unwind.h b/www/seamonkey/patches/patch-mozilla_config_system__wrappers_unwind.h
deleted file mode 100644
index dd641783b3a..00000000000
--- a/www/seamonkey/patches/patch-mozilla_config_system__wrappers_unwind.h
+++ /dev/null
@@ -1,9 +0,0 @@
-$NetBSD: patch-mozilla_config_system__wrappers_unwind.h,v 1.3 2013/11/08 12:55:52 ryoon Exp $
-
---- mozilla/config/system_wrappers/unwind.h.orig 2013-11-04 05:52:46.000000000 +0000
-+++ mozilla/config/system_wrappers/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/www/seamonkey/patches/patch-mozilla_content_base_src_Makefile.in b/www/seamonkey/patches/patch-mozilla_content_base_src_Makefile.in
deleted file mode 100644
index 16da4473320..00000000000
--- a/www/seamonkey/patches/patch-mozilla_content_base_src_Makefile.in
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-mozilla_content_base_src_Makefile.in,v 1.1 2014/03/30 04:13:17 ryoon Exp $
-
---- mozilla/content/base/src/Makefile.in.orig 2014-03-19 01:41:46.000000000 +0000
-+++ mozilla/content/base/src/Makefile.in
-@@ -5,6 +5,10 @@
-
- include $(topsrcdir)/config/rules.mk
-
-+ifdef MOZ_NATIVE_HARFBUZZ
-+nsContentUtils.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS)
-+endif
-+
- # gcc requires -msse2 for this file since it uses SSE2 intrinsics. (See bug
- # 585538 comment 12.)
- ifneq (,$(INTEL_ARCHITECTURE))
diff --git a/www/seamonkey/patches/patch-mozilla_content_base_src_moz.build b/www/seamonkey/patches/patch-mozilla_content_base_src_moz.build
new file mode 100644
index 00000000000..2c828a8f587
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_content_base_src_moz.build
@@ -0,0 +1,14 @@
+$NetBSD: patch-mozilla_content_base_src_moz.build,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/content/base/src/moz.build.orig 2014-10-14 06:36:05.000000000 +0000
++++ mozilla/content/base/src/moz.build
+@@ -195,6 +195,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/www/seamonkey/patches/patch-mozilla_content_media_AudioStream.cpp b/www/seamonkey/patches/patch-mozilla_content_media_AudioStream.cpp
deleted file mode 100644
index 3f5066f9ba2..00000000000
--- a/www/seamonkey/patches/patch-mozilla_content_media_AudioStream.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD: patch-mozilla_content_media_AudioStream.cpp,v 1.3 2014/06/22 08:54:39 ryoon Exp $
-
---- mozilla/content/media/AudioStream.cpp.orig 2014-06-13 00:46:03.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/www/seamonkey/patches/patch-mozilla_content_media_AudioStream.h b/www/seamonkey/patches/patch-mozilla_content_media_AudioStream.h
index bf572cd6643..e227d076ca5 100644
--- a/www/seamonkey/patches/patch-mozilla_content_media_AudioStream.h
+++ b/www/seamonkey/patches/patch-mozilla_content_media_AudioStream.h
@@ -1,12 +1,20 @@
-$NetBSD: patch-mozilla_content_media_AudioStream.h,v 1.1 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-mozilla_content_media_AudioStream.h,v 1.2 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/content/media/AudioStream.h.orig 2014-06-13 00:46:03.000000000 +0000
+--- mozilla/content/media/AudioStream.h.orig 2014-10-14 06:36:05.000000000 +0000
+++ mozilla/content/media/AudioStream.h
-@@ -15,6 +15,7 @@
- #include "mozilla/StaticMutex.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,6 @@ public:
+ };
+
+ namespace soundtouch {
+-class SoundTouch;
+ }
+
+ namespace mozilla {
diff --git a/www/seamonkey/patches/patch-mozilla_content_media_Makefile.in b/www/seamonkey/patches/patch-mozilla_content_media_Makefile.in
index c88fe37b533..d9cc0022591 100644
--- a/www/seamonkey/patches/patch-mozilla_content_media_Makefile.in
+++ b/www/seamonkey/patches/patch-mozilla_content_media_Makefile.in
@@ -1,11 +1,12 @@
-$NetBSD: patch-mozilla_content_media_Makefile.in,v 1.2 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-mozilla_content_media_Makefile.in,v 1.3 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/content/media/Makefile.in.orig 2014-06-13 00:46:03.000000000 +0000
+--- mozilla/content/media/Makefile.in.orig 2014-10-14 06:36:05.000000000 +0000
+++ mozilla/content/media/Makefile.in
-@@ -7,4 +7,32 @@ include $(topsrcdir)/config/rules.mk
+@@ -6,3 +6,31 @@ include $(topsrcdir)/config/rules.mk
+
CFLAGS += $(GSTREAMER_CFLAGS)
CXXFLAGS += $(GSTREAMER_CFLAGS)
-
++
+ifdef MOZ_NATIVE_OGG
+CXXFLAGS += $(MOZ_OGG_CFLAGS)
+endif
@@ -33,5 +34,3 @@ $NetBSD: patch-mozilla_content_media_Makefile.in,v 1.2 2014/06/22 08:54:39 ryoon
+ifdef MOZ_NATIVE_SOUNDTOUCH
+CXXFLAGS += $(MOZ_SOUNDTOUCH_CFLAGS)
+endif
-+
- AudioNodeEngineNEON.$(OBJ_SUFFIX): CXXFLAGS += -mfpu=neon
diff --git a/www/seamonkey/patches/patch-mozilla_content_media_gmp_GMPChild.cpp b/www/seamonkey/patches/patch-mozilla_content_media_gmp_GMPChild.cpp
new file mode 100644
index 00000000000..0e0468cb26a
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_content_media_gmp_GMPChild.cpp
@@ -0,0 +1,27 @@
+$NetBSD: patch-mozilla_content_media_gmp_GMPChild.cpp,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/content/media/gmp/GMPChild.cpp.orig 2014-10-14 06:36:06.000000000 +0000
++++ mozilla/content/media/gmp/GMPChild.cpp
+@@ -66,19 +66,11 @@ GetPluginFile(const std::string& aPlugin
+ }
+ #endif
+
+- nsCOMPtr<nsIFile> parent;
+- rv = aLibFile->GetParent(getter_AddRefs(parent));
+- if (NS_FAILED(rv)) {
+- return false;
+- }
+-
+- nsAutoString parentLeafName;
+- rv = parent->GetLeafName(parentLeafName);
+- if (NS_FAILED(rv)) {
++ nsAutoString leafName;
++ if (NS_FAILED(aLibFile->GetLeafName(leafName))) {
+ return false;
+ }
+-
+- nsAutoString baseName(Substring(parentLeafName, 4, parentLeafName.Length() - 1));
++ nsAutoString baseName(Substring(leafName, 4, leafName.Length() - 1));
+
+ #if defined(XP_MACOSX)
+ nsAutoString binaryName = NS_LITERAL_STRING("lib") + baseName + NS_LITERAL_STRING(".dylib");
diff --git a/www/seamonkey/patches/patch-mozilla_content_media_gmp_GMPParent.cpp b/www/seamonkey/patches/patch-mozilla_content_media_gmp_GMPParent.cpp
new file mode 100644
index 00000000000..938f7f14f64
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_content_media_gmp_GMPParent.cpp
@@ -0,0 +1,33 @@
+$NetBSD: patch-mozilla_content_media_gmp_GMPParent.cpp,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/content/media/gmp/GMPParent.cpp.orig 2014-10-14 06:36:06.000000000 +0000
++++ mozilla/content/media/gmp/GMPParent.cpp
+@@ -87,23 +87,16 @@ GMPParent::Init(GeckoMediaPluginService
+ mService = aService;
+ mDirectory = aPluginDir;
+
+- // aPluginDir is <profile-dir>/<gmp-plugin-id>/<version>
+- // where <gmp-plugin-id> should be gmp-gmpopenh264
+- nsCOMPtr<nsIFile> parent;
+- nsresult rv = aPluginDir->GetParent(getter_AddRefs(parent));
+- if (NS_FAILED(rv)) {
+- return rv;
+- }
+- nsAutoString parentLeafName;
+- rv = parent->GetLeafName(parentLeafName);
++ nsAutoString leafname;
++ nsresult rv = aPluginDir->GetLeafName(leafname);
+ if (NS_FAILED(rv)) {
+ return rv;
+ }
+ LOGD(("%s::%s: %p for %s", __CLASS__, __FUNCTION__, this,
+- NS_LossyConvertUTF16toASCII(parentLeafName).get()));
++ NS_LossyConvertUTF16toASCII(leafname).get()));
+
+- MOZ_ASSERT(parentLeafName.Length() > 4);
+- mName = Substring(parentLeafName, 4);
++ MOZ_ASSERT(leafname.Length() > 4);
++ mName = Substring(leafname, 4);
+
+ return ReadGMPMetaData();
+ }
diff --git a/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerAllocator.cpp b/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerAllocator.cpp
index 538d5e7322d..a339382946f 100644
--- a/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerAllocator.cpp
+++ b/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerAllocator.cpp
@@ -1,202 +1,12 @@
-$NetBSD: patch-mozilla_content_media_gstreamer_GStreamerAllocator.cpp,v 1.2 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-mozilla_content_media_gstreamer_GStreamerAllocator.cpp,v 1.3 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/content/media/gstreamer/GStreamerAllocator.cpp.orig 2014-06-21 11:28:32.000000000 +0000
+--- mozilla/content/media/gstreamer/GStreamerAllocator.cpp.orig 2014-10-14 06:36:06.000000000 +0000
+++ mozilla/content/media/gstreamer/GStreamerAllocator.cpp
-@@ -0,0 +1,197 @@
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
-+#include "GStreamerAllocator.h"
-+
-+#include <gst/video/video.h>
-+#include <gst/video/gstvideometa.h>
-+
-+#include "GStreamerLoader.h"
-+
-+using namespace mozilla::layers;
-+
-+namespace mozilla {
-+
-+typedef struct
-+{
-+ GstAllocator parent;
-+ GStreamerReader *reader;
-+} MozGfxMemoryAllocator;
-+
-+typedef struct
-+{
-+ GstAllocatorClass parent;
-+} MozGfxMemoryAllocatorClass;
-+
-+typedef struct
-+{
-+ GstMemory memory;
-+ PlanarYCbCrImage* image;
-+ guint8* data;
-+} MozGfxMemory;
-+
-+typedef struct
-+{
-+ GstMeta meta;
-+} MozGfxMeta;
-+
-+typedef struct
-+{
-+ GstVideoBufferPoolClass parent_class;
-+} MozGfxBufferPoolClass;
-+
-+typedef struct
-+{
-+ GstVideoBufferPool pool;
-+} MozGfxBufferPool;
-+
-+G_DEFINE_TYPE(MozGfxMemoryAllocator, moz_gfx_memory_allocator, GST_TYPE_ALLOCATOR);
-+G_DEFINE_TYPE(MozGfxBufferPool, moz_gfx_buffer_pool, GST_TYPE_VIDEO_BUFFER_POOL);
-+
-+void
-+moz_gfx_memory_reset(MozGfxMemory *mem)
-+{
-+ if (mem->image)
-+ mem->image->Release();
-+
-+ ImageContainer* container = ((MozGfxMemoryAllocator*) mem->memory.allocator)->reader->GetImageContainer();
-+ mem->image = reinterpret_cast<PlanarYCbCrImage*>(container->CreateImage(ImageFormat::PLANAR_YCBCR).get());
-+ mem->data = mem->image->AllocateAndGetNewBuffer(mem->memory.size);
-+}
-+
-+static GstMemory*
-+moz_gfx_memory_allocator_alloc(GstAllocator* aAllocator, gsize aSize,
-+ GstAllocationParams* aParams)
-+{
-+ MozGfxMemory* mem = g_slice_new (MozGfxMemory);
-+ gsize maxsize = aSize + aParams->prefix + aParams->padding;
-+ gst_memory_init(GST_MEMORY_CAST (mem),
-+ (GstMemoryFlags)aParams->flags,
-+ aAllocator, NULL, maxsize, aParams->align,
-+ aParams->prefix, aSize);
-+ mem->image = NULL;
-+ moz_gfx_memory_reset(mem);
-+
-+ return (GstMemory *) mem;
-+}
-+
-+static void
-+moz_gfx_memory_allocator_free (GstAllocator * allocator, GstMemory * gmem)
-+{
-+ MozGfxMemory *mem = (MozGfxMemory *) gmem;
-+
-+ if (mem->memory.parent)
-+ goto sub_mem;
-+
-+ if (mem->image)
-+ mem->image->Release();
-+
-+sub_mem:
-+ g_slice_free (MozGfxMemory, mem);
-+}
-+
-+static gpointer
-+moz_gfx_memory_map (MozGfxMemory * mem, gsize maxsize, GstMapFlags flags)
-+{
-+ // check that the allocation didn't fail
-+ if (mem->data == nullptr)
-+ return nullptr;
-+
-+ return mem->data + mem->memory.offset;
-+}
-+
-+static gboolean
-+moz_gfx_memory_unmap (MozGfxMemory * mem)
-+{
-+ return TRUE;
-+}
-+
-+static MozGfxMemory *
-+moz_gfx_memory_share (MozGfxMemory * mem, gssize offset, gsize size)
-+{
-+ MozGfxMemory *sub;
-+ GstMemory *parent;
-+
-+ /* find the real parent */
-+ if ((parent = mem->memory.parent) == NULL)
-+ parent = (GstMemory *) mem;
-+
-+ if (size == (gsize) -1)
-+ size = mem->memory.size - offset;
-+
-+ /* the shared memory is always readonly */
-+ sub = g_slice_new (MozGfxMemory);
-+
-+ gst_memory_init (GST_MEMORY_CAST (sub),
-+ (GstMemoryFlags) (GST_MINI_OBJECT_FLAGS (parent) | GST_MINI_OBJECT_FLAG_LOCK_READONLY),
-+ mem->memory.allocator, &mem->memory, mem->memory.maxsize, mem->memory.align,
-+ mem->memory.offset + offset, size);
-+
-+ sub->image = mem->image;
-+ sub->data = mem->data;
-+
-+ return sub;
-+}
-+
-+static void
-+moz_gfx_memory_allocator_class_init (MozGfxMemoryAllocatorClass * klass)
-+{
-+ GstAllocatorClass *allocator_class;
-+
-+ allocator_class = (GstAllocatorClass *) klass;
-+
-+ allocator_class->alloc = moz_gfx_memory_allocator_alloc;
-+ allocator_class->free = moz_gfx_memory_allocator_free;
-+}
-+
-+static void
-+moz_gfx_memory_allocator_init (MozGfxMemoryAllocator * allocator)
-+{
-+ GstAllocator *alloc = GST_ALLOCATOR_CAST (allocator);
-+
-+ alloc->mem_type = "moz-gfx-image";
-+ alloc->mem_map = (GstMemoryMapFunction) moz_gfx_memory_map;
-+ alloc->mem_unmap = (GstMemoryUnmapFunction) moz_gfx_memory_unmap;
-+ alloc->mem_share = (GstMemoryShareFunction) moz_gfx_memory_share;
-+ /* fallback copy and is_span */
-+}
-+
-+void
-+moz_gfx_memory_allocator_set_reader(GstAllocator* aAllocator, GStreamerReader* aReader)
-+{
-+ MozGfxMemoryAllocator *allocator = (MozGfxMemoryAllocator *) aAllocator;
-+ allocator->reader = aReader;
-+}
-+
-+nsRefPtr<PlanarYCbCrImage>
-+moz_gfx_memory_get_image(GstMemory *aMemory)
-+{
-+ NS_ASSERTION(GST_IS_MOZ_GFX_MEMORY_ALLOCATOR(aMemory->allocator), "Should be a gfx image");
-+
-+ return ((MozGfxMemory *) aMemory)->image;
-+}
-+
-+void
-+moz_gfx_buffer_pool_reset_buffer (GstBufferPool* aPool, GstBuffer* aBuffer)
-+{
-+ GstMemory* mem = gst_buffer_peek_memory(aBuffer, 0);
-+
-+ NS_ASSERTION(GST_IS_MOZ_GFX_MEMORY_ALLOCATOR(mem->allocator), "Should be a gfx image");
-+ moz_gfx_memory_reset((MozGfxMemory *) mem);
-+ GST_BUFFER_POOL_CLASS(moz_gfx_buffer_pool_parent_class)->reset_buffer(aPool, aBuffer);
-+}
-+
-+static void
-+moz_gfx_buffer_pool_class_init (MozGfxBufferPoolClass * klass)
-+{
-+ GstBufferPoolClass *pool_class = (GstBufferPoolClass *) klass;
-+ pool_class->reset_buffer = moz_gfx_buffer_pool_reset_buffer;
-+}
-+
-+static void
-+moz_gfx_buffer_pool_init (MozGfxBufferPool * pool)
-+{
-+}
-+
-+} // namespace mozilla
+@@ -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/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerAllocator.h b/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerAllocator.h
deleted file mode 100644
index eb9af39d70f..00000000000
--- a/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerAllocator.h
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD: patch-mozilla_content_media_gstreamer_GStreamerAllocator.h,v 1.1 2014/03/30 04:13:17 ryoon Exp $
-
---- mozilla/content/media/gstreamer/GStreamerAllocator.h.orig 2014-03-29 04:22:17.000000000 +0000
-+++ mozilla/content/media/gstreamer/GStreamerAllocator.h
-@@ -0,0 +1,25 @@
-+/* 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/. */
-+
-+#if !defined(GStreamerAllocator_h_)
-+#define GStreamerAllocator_h_
-+
-+#include "GStreamerReader.h"
-+
-+#define GST_TYPE_MOZ_GFX_MEMORY_ALLOCATOR (moz_gfx_memory_allocator_get_type())
-+#define GST_IS_MOZ_GFX_MEMORY_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_MOZ_GFX_MEMORY_ALLOCATOR))
-+#define GST_TYPE_MOZ_GFX_BUFFER_POOL (moz_gfx_buffer_pool_get_type())
-+#define GST_IS_MOZ_GFX_BUFFER_POOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_MOZ_GFX_BUFFER_POOL))
-+
-+namespace mozilla {
-+
-+GType moz_gfx_memory_allocator_get_type();
-+void moz_gfx_memory_allocator_set_reader(GstAllocator *aAllocator, GStreamerReader* aReader);
-+nsRefPtr<layers::PlanarYCbCrImage> moz_gfx_memory_get_image(GstMemory *aMemory);
-+
-+GType moz_gfx_buffer_pool_get_type();
-+
-+} // namespace mozilla
-+
-+#endif
diff --git a/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerFormatHelper.cpp b/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerFormatHelper.cpp
deleted file mode 100644
index 2b3d7e06052..00000000000
--- a/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerFormatHelper.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-$NetBSD: patch-mozilla_content_media_gstreamer_GStreamerFormatHelper.cpp,v 1.3 2014/03/30 04:13:17 ryoon Exp $
-
---- mozilla/content/media/gstreamer/GStreamerFormatHelper.cpp.orig 2014-03-19 01:41:47.000000000 +0000
-+++ mozilla/content/media/gstreamer/GStreamerFormatHelper.cpp
-@@ -294,12 +294,23 @@ bool GStreamerFormatHelper::CanHandleCod
- GList* GStreamerFormatHelper::GetFactories() {
- NS_ASSERTION(sLoadOK, "GStreamer library not linked");
-
-- uint32_t cookie = gst_default_registry_get_feature_list_cookie ();
-+#if GST_VERSION_MAJOR >= 1
-+ uint32_t cookie = gst_registry_get_feature_list_cookie(gst_registry_get());
-+#else
-+ uint32_t cookie = gst_default_registry_get_feature_list_cookie();
-+#endif
- if (cookie != mCookie) {
- g_list_free(mFactories);
-+#if GST_VERSION_MAJOR >= 1
-+ mFactories =
-+ gst_registry_feature_filter(gst_registry_get(),
-+ (GstPluginFeatureFilter)FactoryFilter,
-+ false, nullptr);
-+#else
- mFactories =
- gst_default_registry_feature_filter((GstPluginFeatureFilter)FactoryFilter,
- false, nullptr);
-+#endif
- mCookie = cookie;
- }
-
diff --git a/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerFunctionList.h b/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerFunctionList.h
deleted file mode 100644
index 773ce37272f..00000000000
--- a/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerFunctionList.h
+++ /dev/null
@@ -1,169 +0,0 @@
-$NetBSD: patch-mozilla_content_media_gstreamer_GStreamerFunctionList.h,v 1.2 2014/06/22 08:54:39 ryoon Exp $
-
---- mozilla/content/media/gstreamer/GStreamerFunctionList.h.orig 2014-06-13 00:46:04.000000000 +0000
-+++ mozilla/content/media/gstreamer/GStreamerFunctionList.h
-@@ -9,7 +9,6 @@
- * List of symbol names we need to dlsym from the gstreamer library.
- */
- GST_FUNC(LIBGSTAPP, gst_app_sink_get_type)
--GST_FUNC(LIBGSTAPP, gst_app_sink_pull_buffer)
- GST_FUNC(LIBGSTAPP, gst_app_sink_set_callbacks)
- GST_FUNC(LIBGSTAPP, gst_app_src_end_of_stream)
- GST_FUNC(LIBGSTAPP, gst_app_src_get_size)
-@@ -22,10 +21,8 @@ GST_FUNC(LIBGSTAPP, gst_app_src_set_stre
- GST_FUNC(LIBGSTREAMER, gst_bin_get_by_name)
- GST_FUNC(LIBGSTREAMER, gst_bin_get_type)
- GST_FUNC(LIBGSTREAMER, gst_bin_iterate_recurse)
--GST_FUNC(LIBGSTREAMER, gst_buffer_copy_metadata)
- GST_FUNC(LIBGSTREAMER, gst_buffer_get_type)
- GST_FUNC(LIBGSTREAMER, gst_buffer_new)
--GST_FUNC(LIBGSTREAMER, gst_buffer_new_and_alloc)
- GST_FUNC(LIBGSTREAMER, gst_bus_set_sync_handler)
- GST_FUNC(LIBGSTREAMER, gst_bus_timed_pop_filtered)
- GST_FUNC(LIBGSTREAMER, gst_caps_append)
-@@ -37,47 +34,37 @@ GST_FUNC(LIBGSTREAMER, gst_caps_new_any)
- GST_FUNC(LIBGSTREAMER, gst_caps_new_empty)
- GST_FUNC(LIBGSTREAMER, gst_caps_new_full)
- GST_FUNC(LIBGSTREAMER, gst_caps_new_simple)
--GST_FUNC(LIBGSTREAMER, gst_caps_unref)
--GST_FUNC(LIBGSTREAMER, gst_element_factory_get_klass)
-+GST_FUNC(LIBGSTREAMER, gst_caps_set_simple)
- GST_FUNC(LIBGSTREAMER, gst_element_factory_get_static_pad_templates)
- GST_FUNC(LIBGSTREAMER, gst_element_factory_get_type)
- GST_FUNC(LIBGSTREAMER, gst_element_factory_make)
- GST_FUNC(LIBGSTREAMER, gst_element_get_factory)
--GST_FUNC(LIBGSTREAMER, gst_element_get_pad)
-+GST_FUNC(LIBGSTREAMER, gst_element_get_static_pad)
- GST_FUNC(LIBGSTREAMER, gst_element_get_type)
- GST_FUNC(LIBGSTREAMER, gst_element_query_convert)
- GST_FUNC(LIBGSTREAMER, gst_element_query_duration)
- GST_FUNC(LIBGSTREAMER, gst_element_seek_simple)
- GST_FUNC(LIBGSTREAMER, gst_element_set_state)
--GST_FUNC(LIBGSTREAMER, gst_event_parse_new_segment)
- GST_FUNC(LIBGSTREAMER, gst_flow_get_name)
- GST_FUNC(LIBGSTREAMER, gst_init)
- GST_FUNC(LIBGSTREAMER, gst_init_check)
- GST_FUNC(LIBGSTREAMER, gst_iterator_next)
- GST_FUNC(LIBGSTREAMER, gst_message_parse_error)
- GST_FUNC(LIBGSTREAMER, gst_message_type_get_name)
--GST_FUNC(LIBGSTREAMER, gst_mini_object_get_type)
--GST_FUNC(LIBGSTREAMER, gst_mini_object_new)
- GST_FUNC(LIBGSTREAMER, gst_mini_object_ref)
- GST_FUNC(LIBGSTREAMER, gst_mini_object_unref)
- GST_FUNC(LIBGSTREAMER, gst_object_get_name)
- GST_FUNC(LIBGSTREAMER, gst_object_get_parent)
- GST_FUNC(LIBGSTREAMER, gst_object_unref)
--GST_FUNC(LIBGSTREAMER, gst_pad_add_event_probe)
--GST_FUNC(LIBGSTREAMER, gst_pad_alloc_buffer)
- GST_FUNC(LIBGSTREAMER, gst_pad_get_element_private)
--GST_FUNC(LIBGSTREAMER, gst_pad_get_negotiated_caps)
--GST_FUNC(LIBGSTREAMER, gst_pad_set_bufferalloc_function)
- GST_FUNC(LIBGSTREAMER, gst_pad_set_element_private)
- GST_FUNC(LIBGSTREAMER, gst_parse_bin_from_description)
- GST_FUNC(LIBGSTREAMER, gst_pipeline_get_bus)
- GST_FUNC(LIBGSTREAMER, gst_pipeline_get_type)
- GST_FUNC(LIBGSTREAMER, gst_plugin_feature_get_rank)
- GST_FUNC(LIBGSTREAMER, gst_registry_feature_filter)
--GST_FUNC(LIBGSTREAMER, gst_registry_get_default)
- GST_FUNC(LIBGSTREAMER, gst_registry_get_feature_list_cookie)
- GST_FUNC(LIBGSTREAMER, gst_segment_init)
--GST_FUNC(LIBGSTREAMER, gst_segment_set_newsegment)
- GST_FUNC(LIBGSTREAMER, gst_segment_to_stream_time)
- GST_FUNC(LIBGSTREAMER, gst_static_caps_get)
- GST_FUNC(LIBGSTREAMER, gst_structure_copy)
-@@ -86,11 +73,83 @@ GST_FUNC(LIBGSTREAMER, gst_structure_get
- GST_FUNC(LIBGSTREAMER, gst_structure_get_value)
- GST_FUNC(LIBGSTREAMER, gst_structure_new)
- GST_FUNC(LIBGSTREAMER, gst_util_uint64_scale)
-+
-+#if GST_VERSION_MAJOR == 0
-+GST_FUNC(LIBGSTAPP, gst_app_sink_pull_buffer)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_copy_metadata)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_new_and_alloc)
-+GST_FUNC(LIBGSTREAMER, gst_caps_unref)
-+GST_FUNC(LIBGSTREAMER, gst_element_factory_get_klass)
-+GST_FUNC(LIBGSTREAMER, gst_element_get_pad)
-+GST_FUNC(LIBGSTREAMER, gst_event_parse_new_segment)
-+GST_FUNC(LIBGSTREAMER, gst_mini_object_get_type)
-+GST_FUNC(LIBGSTREAMER, gst_mini_object_new)
-+GST_FUNC(LIBGSTREAMER, gst_pad_add_event_probe)
-+GST_FUNC(LIBGSTREAMER, gst_pad_alloc_buffer)
-+GST_FUNC(LIBGSTREAMER, gst_pad_get_negotiated_caps)
-+GST_FUNC(LIBGSTREAMER, gst_pad_set_bufferalloc_function)
-+GST_FUNC(LIBGSTREAMER, gst_registry_get_default)
-+GST_FUNC(LIBGSTREAMER, gst_segment_set_newsegment)
- GST_FUNC(LIBGSTVIDEO, gst_video_format_get_component_height)
- GST_FUNC(LIBGSTVIDEO, gst_video_format_get_component_offset)
- GST_FUNC(LIBGSTVIDEO, gst_video_format_get_component_width)
-+GST_FUNC(LIBGSTVIDEO, gst_video_format_get_pixel_stride)
- GST_FUNC(LIBGSTVIDEO, gst_video_format_get_row_stride)
- GST_FUNC(LIBGSTVIDEO, gst_video_format_parse_caps)
-+#else
-+
-+GST_FUNC(LIBGSTAPP, gst_app_sink_pull_sample)
-+GST_FUNC(LIBGSTREAMER, _gst_caps_any)
-+GST_FUNC(LIBGSTREAMER, gst_allocator_get_type)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_copy_into)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_extract)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_get_meta)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_get_size)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_map)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_new_allocate)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_n_memory)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_peek_memory)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_acquire_buffer)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_config_set_allocator)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_config_set_params)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_get_config)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_get_type)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_is_active)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_set_active)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_set_config)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_set_size)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_unmap)
-+GST_FUNC(LIBGSTREAMER, gst_element_factory_get_metadata)
-+GST_FUNC(LIBGSTREAMER, gst_event_parse_segment)
-+GST_FUNC(LIBGSTREAMER, gst_event_type_get_name)
-+GST_FUNC(LIBGSTREAMER, gst_memory_init)
-+GST_FUNC(LIBGSTREAMER, gst_memory_map)
-+GST_FUNC(LIBGSTREAMER, gst_memory_unmap)
-+GST_FUNC(LIBGSTREAMER, gst_object_get_type)
-+GST_FUNC(LIBGSTREAMER, gst_pad_add_probe)
-+GST_FUNC(LIBGSTREAMER, gst_pad_get_current_caps)
-+GST_FUNC(LIBGSTREAMER, gst_pad_probe_info_get_query)
-+GST_FUNC(LIBGSTREAMER, gst_query_add_allocation_meta)
-+GST_FUNC(LIBGSTREAMER, gst_query_add_allocation_param)
-+GST_FUNC(LIBGSTREAMER, gst_query_add_allocation_pool)
-+GST_FUNC(LIBGSTREAMER, gst_query_parse_allocation)
-+GST_FUNC(LIBGSTREAMER, gst_registry_get)
-+GST_FUNC(LIBGSTREAMER, gst_sample_get_buffer)
-+GST_FUNC(LIBGSTREAMER, gst_segment_copy_into)
-+GST_FUNC(LIBGSTREAMER, gst_structure_free)
-+GST_FUNC(LIBGSTVIDEO, gst_buffer_pool_config_get_video_alignment)
-+GST_FUNC(LIBGSTVIDEO, gst_buffer_pool_has_option)
-+GST_FUNC(LIBGSTVIDEO, gst_video_buffer_pool_get_type)
-+GST_FUNC(LIBGSTVIDEO, gst_video_frame_map)
-+GST_FUNC(LIBGSTVIDEO, gst_video_frame_unmap)
-+GST_FUNC(LIBGSTVIDEO, gst_video_info_align)
-+GST_FUNC(LIBGSTVIDEO, gst_video_info_from_caps)
-+GST_FUNC(LIBGSTVIDEO, gst_video_info_init)
-+GST_FUNC(LIBGSTVIDEO, gst_video_meta_api_get_type)
-+GST_FUNC(LIBGSTVIDEO, gst_video_meta_map)
-+GST_FUNC(LIBGSTVIDEO, gst_video_meta_unmap)
-+
-+#endif
-
- /*
- * Functions that have been defined in the header file. We replace them so that
-@@ -100,6 +159,11 @@ GST_FUNC(LIBGSTVIDEO, gst_video_format_p
- REPLACE_FUNC(gst_buffer_ref);
- REPLACE_FUNC(gst_buffer_unref);
- REPLACE_FUNC(gst_message_unref);
-+
-+#if GST_VERSION_MAJOR == 1
-+REPLACE_FUNC(gst_caps_unref);
-+REPLACE_FUNC(gst_sample_unref);
-+#endif
- #endif
-
- #endif // !defined(__APPLE__)
diff --git a/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerLoader.cpp b/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerLoader.cpp
deleted file mode 100644
index feef5eb8f03..00000000000
--- a/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerLoader.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-$NetBSD: patch-mozilla_content_media_gstreamer_GStreamerLoader.cpp,v 1.1 2014/03/30 04:13:17 ryoon Exp $
-
---- mozilla/content/media/gstreamer/GStreamerLoader.cpp.orig 2014-03-19 01:41:47.000000000 +0000
-+++ mozilla/content/media/gstreamer/GStreamerLoader.cpp
-@@ -6,13 +6,21 @@
- #include <dlfcn.h>
- #include <stdio.h>
-
--#include "GStreamerLoader.h"
-+#include "nsDebug.h"
- #include "mozilla/NullPtr.h"
-
-+#include "GStreamerLoader.h"
-+
- #define LIBGSTREAMER 0
- #define LIBGSTAPP 1
- #define LIBGSTVIDEO 2
-
-+#ifdef __OpenBSD__
-+#define LIB_GST_SUFFIX ".so"
-+#else
-+#define LIB_GST_SUFFIX ".so.0"
-+#endif
-+
- namespace mozilla {
-
- /*
-@@ -32,6 +40,11 @@ namespace mozilla {
- GstBuffer * gst_buffer_ref_impl(GstBuffer *buf);
- void gst_buffer_unref_impl(GstBuffer *buf);
- void gst_message_unref_impl(GstMessage *msg);
-+void gst_caps_unref_impl(GstCaps *caps);
-+
-+#if GST_VERSION_MAJOR == 1
-+void gst_sample_unref_impl(GstSample *sample);
-+#endif
-
- bool
- load_gstreamer()
-@@ -58,32 +71,25 @@ load_gstreamer()
- if (major == GST_VERSION_MAJOR && minor == GST_VERSION_MINOR) {
- gstreamerLib = RTLD_DEFAULT;
- } else {
--#ifdef __OpenBSD__
-- gstreamerLib = dlopen("libgstreamer-0.10.so", RTLD_NOW | RTLD_LOCAL);
--#else
-- gstreamerLib = dlopen("libgstreamer-0.10.so.0", RTLD_NOW | RTLD_LOCAL);
--#endif
-+ gstreamerLib = dlopen("libgstreamer-" GST_API_VERSION LIB_GST_SUFFIX, RTLD_NOW | RTLD_LOCAL);
- }
-
-- void *handles[] = {
-+ void *handles[3] = {
- gstreamerLib,
--#ifdef __OpenBSD__
-- dlopen("libgstapp-0.10.so", RTLD_NOW | RTLD_LOCAL),
-- dlopen("libgstvideo-0.10.so", RTLD_NOW | RTLD_LOCAL)
--#else
-- dlopen("libgstapp-0.10.so.0", RTLD_NOW | RTLD_LOCAL),
-- dlopen("libgstvideo-0.10.so.0", RTLD_NOW | RTLD_LOCAL)
--#endif
-+ dlopen("libgstapp-" GST_API_VERSION LIB_GST_SUFFIX, RTLD_NOW | RTLD_LOCAL),
-+ dlopen("libgstvideo-" GST_API_VERSION LIB_GST_SUFFIX, RTLD_NOW | RTLD_LOCAL)
- };
-
- for (size_t i = 0; i < sizeof(handles) / sizeof(handles[0]); i++) {
- if (!handles[i]) {
-+ NS_WARNING("Couldn't link gstreamer libraries");
- goto fail;
- }
- }
-
- #define GST_FUNC(lib, symbol) \
- if (!(symbol = (typeof(symbol))dlsym(handles[lib], #symbol))) { \
-+ NS_WARNING("Couldn't link symbol " #symbol); \
- goto fail; \
- }
- #define REPLACE_FUNC(symbol) symbol = symbol##_impl;
-@@ -123,4 +129,18 @@ gst_message_unref_impl(GstMessage *msg)
- gst_mini_object_unref(GST_MINI_OBJECT_CAST(msg));
- }
-
-+#if GST_VERSION_MAJOR == 1
-+void
-+gst_sample_unref_impl(GstSample *sample)
-+{
-+ gst_mini_object_unref(GST_MINI_OBJECT_CAST(sample));
-+}
-+#endif
-+
-+void
-+gst_caps_unref_impl(GstCaps *caps)
-+{
-+ gst_mini_object_unref(GST_MINI_OBJECT_CAST(caps));
-+}
-+
- }
diff --git a/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerLoader.h b/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerLoader.h
deleted file mode 100644
index 4878a3d97aa..00000000000
--- a/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerLoader.h
+++ /dev/null
@@ -1,24 +0,0 @@
-$NetBSD: patch-mozilla_content_media_gstreamer_GStreamerLoader.h,v 1.1 2014/03/30 04:13:17 ryoon Exp $
-
---- mozilla/content/media/gstreamer/GStreamerLoader.h.orig 2014-03-19 01:41:47.000000000 +0000
-+++ mozilla/content/media/gstreamer/GStreamerLoader.h
-@@ -22,6 +22,11 @@
- #include <gst/video/video.h>
- #pragma GCC diagnostic pop
-
-+#if GST_VERSION_MAJOR == 1
-+#include <gst/video/gstvideometa.h>
-+#include <gst/video/gstvideopool.h>
-+#endif
-+
- namespace mozilla {
-
- /*
-@@ -42,4 +47,7 @@ bool load_gstreamer();
-
- }
-
-+#undef GST_CAPS_ANY
-+#define GST_CAPS_ANY (*_gst_caps_any)
-+
- #endif // GStreamerLoader_h_
diff --git a/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerReader-0.10.cpp b/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerReader-0.10.cpp
deleted file mode 100644
index 16394246463..00000000000
--- a/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerReader-0.10.cpp
+++ /dev/null
@@ -1,205 +0,0 @@
-$NetBSD: patch-mozilla_content_media_gstreamer_GStreamerReader-0.10.cpp,v 1.2 2014/06/22 08:54:39 ryoon Exp $
-
---- mozilla/content/media/gstreamer/GStreamerReader-0.10.cpp.orig 2014-06-21 11:28:32.000000000 +0000
-+++ mozilla/content/media/gstreamer/GStreamerReader-0.10.cpp
-@@ -0,0 +1,200 @@
-+#include "nsError.h"
-+#include "MediaDecoderStateMachine.h"
-+#include "AbstractMediaDecoder.h"
-+#include "MediaResource.h"
-+#include "GStreamerReader.h"
-+#include "GStreamerMozVideoBuffer.h"
-+#include "GStreamerFormatHelper.h"
-+#include "VideoUtils.h"
-+#include "mozilla/dom/TimeRanges.h"
-+#include "mozilla/Preferences.h"
-+
-+using namespace mozilla;
-+using mozilla::layers::PlanarYCbCrImage;
-+using mozilla::layers::ImageContainer;
-+
-+GstFlowReturn GStreamerReader::AllocateVideoBufferCb(GstPad* aPad,
-+ guint64 aOffset,
-+ guint aSize,
-+ GstCaps* aCaps,
-+ GstBuffer** aBuf)
-+{
-+ GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(gst_pad_get_element_private(aPad));
-+ return reader->AllocateVideoBuffer(aPad, aOffset, aSize, aCaps, aBuf);
-+}
-+
-+GstFlowReturn GStreamerReader::AllocateVideoBuffer(GstPad* aPad,
-+ guint64 aOffset,
-+ guint aSize,
-+ GstCaps* aCaps,
-+ GstBuffer** aBuf)
-+{
-+ nsRefPtr<PlanarYCbCrImage> image;
-+ return AllocateVideoBufferFull(aPad, aOffset, aSize, aCaps, aBuf, image);
-+}
-+
-+GstFlowReturn GStreamerReader::AllocateVideoBufferFull(GstPad* aPad,
-+ guint64 aOffset,
-+ guint aSize,
-+ GstCaps* aCaps,
-+ GstBuffer** aBuf,
-+ nsRefPtr<PlanarYCbCrImage>& aImage)
-+{
-+ /* allocate an image using the container */
-+ ImageContainer* container = mDecoder->GetImageContainer();
-+ if (container == nullptr) {
-+ return GST_FLOW_ERROR;
-+ }
-+ PlanarYCbCrImage* img = reinterpret_cast<PlanarYCbCrImage*>(container->CreateImage(ImageFormat::PLANAR_YCBCR).get());
-+ nsRefPtr<PlanarYCbCrImage> image = dont_AddRef(img);
-+
-+ /* prepare a GstBuffer pointing to the underlying PlanarYCbCrImage buffer */
-+ GstBuffer* buf = GST_BUFFER(gst_moz_video_buffer_new());
-+ GST_BUFFER_SIZE(buf) = aSize;
-+ /* allocate the actual YUV buffer */
-+ GST_BUFFER_DATA(buf) = image->AllocateAndGetNewBuffer(aSize);
-+
-+ aImage = image;
-+
-+ /* create a GstMozVideoBufferData to hold the image */
-+ GstMozVideoBufferData* bufferdata = new GstMozVideoBufferData(image);
-+
-+ /* Attach bufferdata to our GstMozVideoBuffer, it will take care to free it */
-+ gst_moz_video_buffer_set_data(GST_MOZ_VIDEO_BUFFER(buf), bufferdata);
-+
-+ *aBuf = buf;
-+ return GST_FLOW_OK;
-+}
-+
-+gboolean GStreamerReader::EventProbe(GstPad* aPad, GstEvent* aEvent)
-+{
-+ GstElement* parent = GST_ELEMENT(gst_pad_get_parent(aPad));
-+ switch(GST_EVENT_TYPE(aEvent)) {
-+ case GST_EVENT_NEWSEGMENT:
-+ {
-+ gboolean update;
-+ gdouble rate;
-+ GstFormat format;
-+ gint64 start, stop, position;
-+ GstSegment* segment;
-+
-+ /* Store the segments so we can convert timestamps to stream time, which
-+ * is what the upper layers sync on.
-+ */
-+ ReentrantMonitorAutoEnter mon(mGstThreadsMonitor);
-+ gst_event_parse_new_segment(aEvent, &update, &rate, &format,
-+ &start, &stop, &position);
-+ if (parent == GST_ELEMENT(mVideoAppSink))
-+ segment = &mVideoSegment;
-+ else
-+ segment = &mAudioSegment;
-+ gst_segment_set_newsegment(segment, update, rate, format,
-+ start, stop, position);
-+ break;
-+ }
-+ case GST_EVENT_FLUSH_STOP:
-+ /* Reset on seeks */
-+ ResetDecode();
-+ break;
-+ default:
-+ break;
-+ }
-+ gst_object_unref(parent);
-+
-+ return TRUE;
-+}
-+
-+gboolean GStreamerReader::EventProbeCb(GstPad* aPad,
-+ GstEvent* aEvent,
-+ gpointer aUserData)
-+{
-+ GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(aUserData);
-+ return reader->EventProbe(aPad, aEvent);
-+}
-+
-+nsRefPtr<PlanarYCbCrImage> GStreamerReader::GetImageFromBuffer(GstBuffer* aBuffer)
-+{
-+ if (!GST_IS_MOZ_VIDEO_BUFFER (aBuffer))
-+ return nullptr;
-+
-+ nsRefPtr<PlanarYCbCrImage> image;
-+ GstMozVideoBufferData* bufferdata = reinterpret_cast<GstMozVideoBufferData*>(gst_moz_video_buffer_get_data(GST_MOZ_VIDEO_BUFFER(aBuffer)));
-+ image = bufferdata->mImage;
-+
-+ PlanarYCbCrImage::Data data;
-+ data.mPicX = data.mPicY = 0;
-+ data.mPicSize = gfx::IntSize(mPicture.width, mPicture.height);
-+ data.mStereoMode = StereoMode::MONO;
-+
-+ data.mYChannel = GST_BUFFER_DATA(aBuffer);
-+ data.mYStride = gst_video_format_get_row_stride(mFormat, 0, mPicture.width);
-+ data.mYSize = gfx::IntSize(data.mYStride,
-+ gst_video_format_get_component_height(mFormat, 0, mPicture.height));
-+ data.mYSkip = 0;
-+ data.mCbCrStride = gst_video_format_get_row_stride(mFormat, 1, mPicture.width);
-+ data.mCbCrSize = gfx::IntSize(data.mCbCrStride,
-+ gst_video_format_get_component_height(mFormat, 1, mPicture.height));
-+ data.mCbChannel = data.mYChannel + gst_video_format_get_component_offset(mFormat, 1,
-+ mPicture.width, mPicture.height);
-+ data.mCrChannel = data.mYChannel + gst_video_format_get_component_offset(mFormat, 2,
-+ mPicture.width, mPicture.height);
-+ data.mCbSkip = 0;
-+ data.mCrSkip = 0;
-+
-+ image->SetDataNoCopy(data);
-+
-+ return image;
-+}
-+
-+void GStreamerReader::CopyIntoImageBuffer(GstBuffer* aBuffer,
-+ GstBuffer** aOutBuffer,
-+ nsRefPtr<PlanarYCbCrImage> &aImage)
-+{
-+ AllocateVideoBufferFull(nullptr, GST_BUFFER_OFFSET(aBuffer),
-+ GST_BUFFER_SIZE(aBuffer), nullptr, aOutBuffer, aImage);
-+
-+ gst_buffer_copy_metadata(*aOutBuffer, aBuffer, (GstBufferCopyFlags)GST_BUFFER_COPY_ALL);
-+ memcpy(GST_BUFFER_DATA(*aOutBuffer), GST_BUFFER_DATA(aBuffer), GST_BUFFER_SIZE(*aOutBuffer));
-+
-+ aImage = GetImageFromBuffer(*aOutBuffer);
-+}
-+
-+GstCaps* GStreamerReader::BuildAudioSinkCaps()
-+{
-+ GstCaps* caps;
-+#ifdef IS_LITTLE_ENDIAN
-+ int endianness = 1234;
-+#else
-+ int endianness = 4321;
-+#endif
-+ gint width;
-+#ifdef MOZ_SAMPLE_TYPE_FLOAT32
-+ caps = gst_caps_from_string("audio/x-raw-float, channels={1,2}");
-+ width = 32;
-+#else /* !MOZ_SAMPLE_TYPE_FLOAT32 */
-+ caps = gst_caps_from_string("audio/x-raw-int, channels={1,2}");
-+ width = 16;
-+#endif
-+ gst_caps_set_simple(caps,
-+ "width", G_TYPE_INT, width,
-+ "endianness", G_TYPE_INT, endianness,
-+ NULL);
-+
-+ return caps;
-+}
-+
-+void GStreamerReader::InstallPadCallbacks()
-+{
-+ GstPad* sinkpad = gst_element_get_static_pad(GST_ELEMENT(mVideoAppSink), "sink");
-+ gst_pad_add_event_probe(sinkpad,
-+ G_CALLBACK(&GStreamerReader::EventProbeCb), this);
-+
-+ gst_pad_set_bufferalloc_function(sinkpad, GStreamerReader::AllocateVideoBufferCb);
-+ gst_pad_set_element_private(sinkpad, this);
-+ gst_object_unref(sinkpad);
-+
-+ sinkpad = gst_element_get_static_pad(GST_ELEMENT(mAudioAppSink), "sink");
-+ gst_pad_add_event_probe(sinkpad,
-+ G_CALLBACK(&GStreamerReader::EventProbeCb), this);
-+ gst_object_unref(sinkpad);
-+}
diff --git a/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerReader.cpp b/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerReader.cpp
deleted file mode 100644
index 107df596052..00000000000
--- a/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerReader.cpp
+++ /dev/null
@@ -1,975 +0,0 @@
-$NetBSD: patch-mozilla_content_media_gstreamer_GStreamerReader.cpp,v 1.2 2014/06/22 08:54:39 ryoon Exp $
-
---- mozilla/content/media/gstreamer/GStreamerReader.cpp.orig 2014-06-13 00:46:04.000000000 +0000
-+++ mozilla/content/media/gstreamer/GStreamerReader.cpp
-@@ -10,8 +10,10 @@
- #include "AbstractMediaDecoder.h"
- #include "MediaResource.h"
- #include "GStreamerReader.h"
-+#if GST_VERSION_MAJOR >= 1
-+#include "GStreamerAllocator.h"
-+#endif
- #include "GStreamerFormatHelper.h"
--#include "GStreamerMozVideoBuffer.h"
- #include "VideoUtils.h"
- #include "mozilla/dom/TimeRanges.h"
- #include "mozilla/Preferences.h"
-@@ -33,14 +35,16 @@ extern PRLogModuleInfo* gMediaDecoderLog
- #define LOG(type, msg, ...)
- #endif
-
--extern bool
--IsYV12Format(const VideoData::YCbCrBuffer::Plane& aYPlane,
-- const VideoData::YCbCrBuffer::Plane& aCbPlane,
-- const VideoData::YCbCrBuffer::Plane& aCrPlane);
--
-+#if DEBUG
- static const unsigned int MAX_CHANNELS = 4;
--// Let the demuxer work in pull mode for short files
--static const int SHORT_FILE_SIZE = 1024 * 1024;
-+#endif
-+// Let the demuxer work in pull mode for short files. This used to be a micro
-+// optimization to have more accurate durations for ogg files in mochitests.
-+// Since as of today we aren't using gstreamer to demux ogg, and having demuxers
-+// work in pull mode over http makes them slower (since they really assume
-+// near-zero latency in pull mode) set the constant to 0 for now, which
-+// effectively disables it.
-+static const int SHORT_FILE_SIZE = 0;
- // The default resource->Read() size when working in push mode
- static const int DEFAULT_SOURCE_READ_SIZE = 50 * 1024;
-
-@@ -62,6 +66,10 @@ GStreamerReader::GStreamerReader(Abstrac
- : MediaDecoderReader(aDecoder),
- mMP3FrameParser(aDecoder->GetResource()->GetLength()),
- mUseParserDuration(false),
-+#if GST_VERSION_MAJOR >= 1
-+ mAllocator(nullptr),
-+ mBufferPool(nullptr),
-+#endif
- mPlayBin(nullptr),
- mBus(nullptr),
- mSource(nullptr),
-@@ -74,6 +82,9 @@ GStreamerReader::GStreamerReader(Abstrac
- mAudioSinkBufferCount(0),
- mGstThreadsMonitor("media.gst.threads"),
- mReachedEos(false),
-+#if GST_VERSION_MAJOR >= 1
-+ mConfigureAlignment(true),
-+#endif
- fpsNum(0),
- fpsDen(0)
- {
-@@ -85,8 +96,12 @@ GStreamerReader::GStreamerReader(Abstrac
-
- mSinkCallbacks.eos = GStreamerReader::EosCb;
- mSinkCallbacks.new_preroll = GStreamerReader::NewPrerollCb;
-+#if GST_VERSION_MAJOR >= 1
-+ mSinkCallbacks.new_sample = GStreamerReader::NewBufferCb;
-+#else
- mSinkCallbacks.new_buffer = GStreamerReader::NewBufferCb;
- mSinkCallbacks.new_buffer_list = nullptr;
-+#endif
-
- gst_segment_init(&mVideoSegment, GST_FORMAT_UNDEFINED);
- gst_segment_init(&mAudioSegment, GST_FORMAT_UNDEFINED);
-@@ -110,65 +125,59 @@ GStreamerReader::~GStreamerReader()
- mAudioAppSink = nullptr;
- gst_object_unref(mBus);
- mBus = nullptr;
-+#if GST_VERSION_MAJOR >= 1
-+ g_object_unref(mAllocator);
-+ g_object_unref(mBufferPool);
-+#endif
- }
- }
-
- nsresult GStreamerReader::Init(MediaDecoderReader* aCloneDonor)
- {
-- GError* error = nullptr;
-- if (!gst_init_check(0, 0, &error)) {
-- LOG(PR_LOG_ERROR, "gst initialization failed: %s", error->message);
-- g_error_free(error);
-- return NS_ERROR_FAILURE;
-- }
-+ GStreamerFormatHelper::Instance();
-+
-+#if GST_VERSION_MAJOR >= 1
-+ mAllocator = static_cast<GstAllocator*>(g_object_new(GST_TYPE_MOZ_GFX_MEMORY_ALLOCATOR, nullptr));
-+ moz_gfx_memory_allocator_set_reader(mAllocator, this);
-+
-+ mBufferPool = static_cast<GstBufferPool*>(g_object_new(GST_TYPE_MOZ_GFX_BUFFER_POOL, nullptr));
-+#endif
-
-+#if GST_VERSION_MAJOR >= 1
-+ mPlayBin = gst_element_factory_make("playbin", nullptr);
-+#else
- mPlayBin = gst_element_factory_make("playbin2", nullptr);
-+#endif
- if (!mPlayBin) {
-- LOG(PR_LOG_ERROR, "couldn't create playbin2");
-+ LOG(PR_LOG_ERROR, "couldn't create playbin");
- return NS_ERROR_FAILURE;
- }
- g_object_set(mPlayBin, "buffer-size", 0, nullptr);
- mBus = gst_pipeline_get_bus(GST_PIPELINE(mPlayBin));
-
- mVideoSink = gst_parse_bin_from_description("capsfilter name=filter ! "
-- "appsink name=videosink sync=true max-buffers=1 "
-+ "appsink name=videosink sync=false max-buffers=1 "
-+#if GST_VERSION_MAJOR >= 1
-+ "caps=video/x-raw,format=I420"
-+#else
- "caps=video/x-raw-yuv,format=(fourcc)I420"
-+#endif
- , TRUE, nullptr);
- mVideoAppSink = GST_APP_SINK(gst_bin_get_by_name(GST_BIN(mVideoSink),
- "videosink"));
-- gst_app_sink_set_callbacks(mVideoAppSink, &mSinkCallbacks,
-- (gpointer) this, nullptr);
-- GstPad* sinkpad = gst_element_get_pad(GST_ELEMENT(mVideoAppSink), "sink");
-- gst_pad_add_event_probe(sinkpad,
-- G_CALLBACK(&GStreamerReader::EventProbeCb), this);
-- gst_object_unref(sinkpad);
-- gst_pad_set_bufferalloc_function(sinkpad, GStreamerReader::AllocateVideoBufferCb);
-- gst_pad_set_element_private(sinkpad, this);
--
- mAudioSink = gst_parse_bin_from_description("capsfilter name=filter ! "
--#ifdef MOZ_SAMPLE_TYPE_FLOAT32
-- "appsink name=audiosink max-buffers=2 sync=false caps=audio/x-raw-float,"
--#ifdef IS_LITTLE_ENDIAN
-- "channels={1,2},width=32,endianness=1234", TRUE, nullptr);
--#else
-- "channels={1,2},width=32,endianness=4321", TRUE, nullptr);
--#endif
--#else
-- "appsink name=audiosink max-buffers=2 sync=false caps=audio/x-raw-int,"
--#ifdef IS_LITTLE_ENDIAN
-- "channels={1,2},width=16,endianness=1234", TRUE, nullptr);
--#else
-- "channels={1,2},width=16,endianness=4321", TRUE, nullptr);
--#endif
--#endif
-+ "appsink name=audiosink sync=false max-buffers=1", TRUE, nullptr);
- mAudioAppSink = GST_APP_SINK(gst_bin_get_by_name(GST_BIN(mAudioSink),
- "audiosink"));
-+ GstCaps* caps = BuildAudioSinkCaps();
-+ g_object_set(mAudioAppSink, "caps", caps, nullptr);
-+ gst_caps_unref(caps);
-+
-+ gst_app_sink_set_callbacks(mVideoAppSink, &mSinkCallbacks,
-+ (gpointer) this, nullptr);
- gst_app_sink_set_callbacks(mAudioAppSink, &mSinkCallbacks,
- (gpointer) this, nullptr);
-- sinkpad = gst_element_get_pad(GST_ELEMENT(mAudioAppSink), "sink");
-- gst_pad_add_event_probe(sinkpad,
-- G_CALLBACK(&GStreamerReader::EventProbeCb), this);
-- gst_object_unref(sinkpad);
-+ InstallPadCallbacks();
-
- g_object_set(mPlayBin, "uri", "appsrc://",
- "video-sink", mVideoSink,
-@@ -331,13 +340,12 @@ nsresult GStreamerReader::ReadMetadata(M
- /* Little trick: set the target caps to "skip" so that playbin2 fails to
- * find a decoder for the stream we want to skip.
- */
-- GstCaps* filterCaps = gst_caps_new_simple ("skip", nullptr);
-+ GstCaps* filterCaps = gst_caps_new_simple ("skip", nullptr, nullptr);
- g_object_set(filter, "caps", filterCaps, nullptr);
- gst_caps_unref(filterCaps);
- gst_object_unref(filter);
- }
-
-- /* start the pipeline */
- LOG(PR_LOG_DEBUG, "starting metadata pipeline");
- gst_element_set_state(mPlayBin, GST_STATE_PAUSED);
-
-@@ -358,6 +366,7 @@ nsresult GStreamerReader::ReadMetadata(M
- gst_message_unref(message);
- ret = NS_ERROR_FAILURE;
- } else {
-+ LOG(PR_LOG_DEBUG, "read metadata pipeline prerolled");
- gst_message_unref(message);
- ret = NS_OK;
- break;
-@@ -371,23 +380,8 @@ nsresult GStreamerReader::ReadMetadata(M
- /* we couldn't get this to play */
- return ret;
-
-- /* FIXME: workaround for a bug in matroskademux. This seek makes matroskademux
-- * parse the index */
-- if (gst_element_seek_simple(mPlayBin, GST_FORMAT_TIME,
-- GST_SEEK_FLAG_FLUSH, 0)) {
-- /* after a seek we need to wait again for ASYNC_DONE */
-- message = gst_bus_timed_pop_filtered(mBus, GST_CLOCK_TIME_NONE,
-- (GstMessageType)(GST_MESSAGE_ASYNC_DONE | GST_MESSAGE_ERROR));
-- if (GST_MESSAGE_TYPE(message) == GST_MESSAGE_ERROR) {
-- gst_element_set_state(mPlayBin, GST_STATE_NULL);
-- gst_message_unref(message);
-- return NS_ERROR_FAILURE;
-- }
-- }
--
- /* report the duration */
- gint64 duration;
-- GstFormat format = GST_FORMAT_TIME;
-
- if (isMP3 && mMP3FrameParser.IsMP3()) {
- // The MP3FrameParser has reported a duration; use that over the gstreamer
-@@ -396,17 +390,25 @@ nsresult GStreamerReader::ReadMetadata(M
- mUseParserDuration = true;
- mLastParserDuration = mMP3FrameParser.GetDuration();
- mDecoder->SetMediaDuration(mLastParserDuration);
--
-- } else if (gst_element_query_duration(GST_ELEMENT(mPlayBin),
-- &format, &duration) && format == GST_FORMAT_TIME) {
-- // Otherwise use the gstreamer duration.
-- ReentrantMonitorAutoEnter mon(mDecoder->GetReentrantMonitor());
-- LOG(PR_LOG_DEBUG, "returning duration %" GST_TIME_FORMAT, GST_TIME_ARGS(duration));
-- duration = GST_TIME_AS_USECONDS (duration);
-- mDecoder->SetMediaDuration(duration);
--
- } else {
-- mDecoder->SetMediaSeekable(false);
-+ LOG(PR_LOG_DEBUG, "querying duration");
-+ // Otherwise use the gstreamer duration.
-+#if GST_VERSION_MAJOR >= 1
-+ if (gst_element_query_duration(GST_ELEMENT(mPlayBin),
-+ GST_FORMAT_TIME, &duration)) {
-+#else
-+ GstFormat format = GST_FORMAT_TIME;
-+ if (gst_element_query_duration(GST_ELEMENT(mPlayBin),
-+ &format, &duration) && format == GST_FORMAT_TIME) {
-+#endif
-+ ReentrantMonitorAutoEnter mon(mDecoder->GetReentrantMonitor());
-+ LOG(PR_LOG_DEBUG, "have duration %" GST_TIME_FORMAT,
-+ GST_TIME_ARGS (duration));
-+ duration = GST_TIME_AS_USECONDS (duration);
-+ mDecoder->SetMediaDuration(duration);
-+ } else {
-+ mDecoder->SetMediaSeekable(false);
-+ }
- }
-
- int n_video = 0, n_audio = 0;
-@@ -419,7 +421,11 @@ nsresult GStreamerReader::ReadMetadata(M
- *aTags = nullptr;
-
- // Watch the pipeline for fatal errors
-+#if GST_VERSION_MAJOR >= 1
-+ gst_bus_set_sync_handler(mBus, GStreamerReader::ErrorCb, this, nullptr);
-+#else
- gst_bus_set_sync_handler(mBus, GStreamerReader::ErrorCb, this);
-+#endif
-
- /* set the pipeline to PLAYING so that it starts decoding and queueing data in
- * the appsinks */
-@@ -433,19 +439,35 @@ nsresult GStreamerReader::CheckSupported
- bool done = false;
- bool unsupported = false;
-
-- GstIterator *it = gst_bin_iterate_recurse(GST_BIN(mPlayBin));
-+ GstIterator* it = gst_bin_iterate_recurse(GST_BIN(mPlayBin));
- while (!done) {
-+ GstIteratorResult res;
- GstElement* element;
-- GstIteratorResult res = gst_iterator_next(it, (void **)&element);
-+
-+#if GST_VERSION_MAJOR >= 1
-+ GValue value = {0,};
-+ res = gst_iterator_next(it, &value);
-+#else
-+ res = gst_iterator_next(it, (void **) &element);
-+#endif
- switch(res) {
- case GST_ITERATOR_OK:
- {
-+#if GST_VERSION_MAJOR >= 1
-+ element = GST_ELEMENT (g_value_get_object (&value));
-+#endif
- GstElementFactory* factory = gst_element_get_factory(element);
- if (factory) {
- const char* klass = gst_element_factory_get_klass(factory);
-- GstPad* pad = gst_element_get_pad(element, "sink");
-+ GstPad* pad = gst_element_get_static_pad(element, "sink");
- if (pad) {
-- GstCaps* caps = gst_pad_get_negotiated_caps(pad);
-+ GstCaps* caps;
-+
-+#if GST_VERSION_MAJOR >= 1
-+ caps = gst_pad_get_current_caps(pad);
-+#else
-+ caps = gst_pad_get_negotiated_caps(pad);
-+#endif
-
- if (caps) {
- /* check for demuxers but ignore elements like id3demux */
-@@ -460,7 +482,11 @@ nsresult GStreamerReader::CheckSupported
- }
- }
-
-+#if GST_VERSION_MAJOR >= 1
-+ g_value_unset (&value);
-+#else
- gst_object_unref(element);
-+#endif
- done = unsupported;
- break;
- }
-@@ -484,6 +510,8 @@ nsresult GStreamerReader::ResetDecode()
- {
- nsresult res = NS_OK;
-
-+ LOG(PR_LOG_DEBUG, "reset decode");
-+
- if (NS_FAILED(MediaDecoderReader::ResetDecode())) {
- res = NS_ERROR_FAILURE;
- }
-@@ -494,6 +522,11 @@ nsresult GStreamerReader::ResetDecode()
- mVideoSinkBufferCount = 0;
- mAudioSinkBufferCount = 0;
- mReachedEos = false;
-+#if GST_VERSION_MAJOR >= 1
-+ mConfigureAlignment = true;
-+#endif
-+
-+ LOG(PR_LOG_DEBUG, "reset decode done");
-
- return res;
- }
-@@ -517,11 +550,11 @@ bool GStreamerReader::DecodeAudioData()
- /* We have nothing decoded so it makes no sense to return to the state machine
- * as it will call us back immediately, we'll return again and so on, wasting
- * CPU cycles for no job done. So, block here until there is either video or
-- * audio data available
-+ * audio data available
- */
- mon.Wait();
- if (!mAudioSinkBufferCount) {
-- /* There is still no audio data available, so either there is video data or
-+ /* There is still no audio data available, so either there is video data or
- * something else has happened (Eos, etc...). Return to the state machine
- * to process it.
- */
-@@ -533,24 +566,44 @@ bool GStreamerReader::DecodeAudioData()
- }
- }
-
-+#if GST_VERSION_MAJOR >= 1
-+ GstSample *sample = gst_app_sink_pull_sample(mAudioAppSink);
-+ buffer = gst_buffer_ref(gst_sample_get_buffer(sample));
-+ gst_sample_unref(sample);
-+#else
- buffer = gst_app_sink_pull_buffer(mAudioAppSink);
-+#endif
-+
- mAudioSinkBufferCount--;
- }
-
- int64_t timestamp = GST_BUFFER_TIMESTAMP(buffer);
- timestamp = gst_segment_to_stream_time(&mAudioSegment,
- GST_FORMAT_TIME, timestamp);
-+
- timestamp = GST_TIME_AS_USECONDS(timestamp);
-+
- int64_t duration = 0;
- if (GST_CLOCK_TIME_IS_VALID(GST_BUFFER_DURATION(buffer)))
- duration = GST_TIME_AS_USECONDS(GST_BUFFER_DURATION(buffer));
-
- int64_t offset = GST_BUFFER_OFFSET(buffer);
-+#if GST_VERSION_MAJOR >= 1
-+ GstMapInfo info;
-+ gst_buffer_map(buffer, &info, GST_MAP_READ);
-+ unsigned int size = info.size;
-+#else
- unsigned int size = GST_BUFFER_SIZE(buffer);
-+#endif
- int32_t frames = (size / sizeof(AudioDataValue)) / mInfo.mAudio.mChannels;
- ssize_t outSize = static_cast<size_t>(size / sizeof(AudioDataValue));
- nsAutoArrayPtr<AudioDataValue> data(new AudioDataValue[outSize]);
-+#if GST_VERSION_MAJOR >= 1
-+ memcpy(data, info.data, info.size);
-+ gst_buffer_unmap(buffer, &info);
-+#else
- memcpy(data, GST_BUFFER_DATA(buffer), GST_BUFFER_SIZE(buffer));
-+#endif
- AudioData* audio = new AudioData(offset, timestamp, duration,
- frames, data.forget(), mInfo.mAudio.mChannels);
-
-@@ -561,7 +614,7 @@ bool GStreamerReader::DecodeAudioData()
- }
-
- bool GStreamerReader::DecodeVideoFrame(bool &aKeyFrameSkip,
-- int64_t aTimeThreshold)
-+ int64_t aTimeThreshold)
- {
- NS_ASSERTION(mDecoder->OnDecodeThread(), "Should be on decode thread.");
-
-@@ -580,11 +633,11 @@ bool GStreamerReader::DecodeVideoFrame(b
- /* We have nothing decoded so it makes no sense to return to the state machine
- * as it will call us back immediately, we'll return again and so on, wasting
- * CPU cycles for no job done. So, block here until there is either video or
-- * audio data available
-+ * audio data available
- */
- mon.Wait();
- if (!mVideoSinkBufferCount) {
-- /* There is still no video data available, so either there is audio data or
-+ /* There is still no video data available, so either there is audio data or
- * something else has happened (Eos, etc...). Return to the state machine
- * to process it
- */
-@@ -598,11 +651,17 @@ bool GStreamerReader::DecodeVideoFrame(b
-
- mDecoder->NotifyDecodedFrames(0, 1);
-
-+#if GST_VERSION_MAJOR >= 1
-+ GstSample *sample = gst_app_sink_pull_sample(mVideoAppSink);
-+ buffer = gst_buffer_ref(gst_sample_get_buffer(sample));
-+ gst_sample_unref(sample);
-+#else
- buffer = gst_app_sink_pull_buffer(mVideoAppSink);
-+#endif
- mVideoSinkBufferCount--;
- }
-
-- bool isKeyframe = !GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_DISCONT);
-+ bool isKeyframe = !GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_DELTA_UNIT);
- if ((aKeyFrameSkip && !isKeyframe)) {
- gst_buffer_unref(buffer);
- return true;
-@@ -618,10 +677,18 @@ bool GStreamerReader::DecodeVideoFrame(b
- "frame has invalid timestamp");
-
- timestamp = GST_TIME_AS_USECONDS(timestamp);
-+ int64_t duration;
-+ if (GST_CLOCK_TIME_IS_VALID(GST_BUFFER_DURATION(buffer)))
-+ duration = GST_TIME_AS_USECONDS(GST_BUFFER_DURATION(buffer));
-+ else if (fpsNum && fpsDen)
-+ /* add 1-frame duration */
-+ duration = gst_util_uint64_scale(GST_USECOND, fpsDen, fpsNum);
-+
- if (timestamp < aTimeThreshold) {
- LOG(PR_LOG_DEBUG, "skipping frame %" GST_TIME_FORMAT
- " threshold %" GST_TIME_FORMAT,
-- GST_TIME_ARGS(timestamp), GST_TIME_ARGS(aTimeThreshold));
-+ GST_TIME_ARGS(timestamp * 1000),
-+ GST_TIME_ARGS(aTimeThreshold * 1000));
- gst_buffer_unref(buffer);
- return true;
- }
-@@ -630,61 +697,36 @@ bool GStreamerReader::DecodeVideoFrame(b
- /* no more frames */
- return false;
-
-- int64_t duration = 0;
-- if (GST_CLOCK_TIME_IS_VALID(GST_BUFFER_DURATION(buffer)))
-- duration = GST_TIME_AS_USECONDS(GST_BUFFER_DURATION(buffer));
-- else if (fpsNum && fpsDen)
-- /* 1-frame duration */
-- duration = gst_util_uint64_scale(GST_USECOND, fpsNum, fpsDen);
--
-- nsRefPtr<PlanarYCbCrImage> image;
-- GstMozVideoBufferData* bufferdata = reinterpret_cast<GstMozVideoBufferData*>
-- GST_IS_MOZ_VIDEO_BUFFER(buffer)?gst_moz_video_buffer_get_data(GST_MOZ_VIDEO_BUFFER(buffer)):nullptr;
--
-- if(bufferdata)
-- image = bufferdata->mImage;
-+#if GST_VERSION_MAJOR >= 1
-+ if (mConfigureAlignment && buffer->pool) {
-+ GstStructure *config = gst_buffer_pool_get_config(buffer->pool);
-+ GstVideoAlignment align;
-+ if (gst_buffer_pool_config_get_video_alignment(config, &align))
-+ gst_video_info_align(&mVideoInfo, &align);
-+ gst_structure_free(config);
-+ mConfigureAlignment = false;
-+ }
-+#endif
-
-+ nsRefPtr<PlanarYCbCrImage> image = GetImageFromBuffer(buffer);
- if (!image) {
- /* Ugh, upstream is not calling gst_pad_alloc_buffer(). Fallback to
- * allocating a PlanarYCbCrImage backed GstBuffer here and memcpy.
- */
- GstBuffer* tmp = nullptr;
-- AllocateVideoBufferFull(nullptr, GST_BUFFER_OFFSET(buffer),
-- GST_BUFFER_SIZE(buffer), nullptr, &tmp, image);
--
-- /* copy */
-- gst_buffer_copy_metadata(tmp, buffer, (GstBufferCopyFlags)GST_BUFFER_COPY_ALL);
-- memcpy(GST_BUFFER_DATA(tmp), GST_BUFFER_DATA(buffer),
-- GST_BUFFER_SIZE(tmp));
-+ CopyIntoImageBuffer(buffer, &tmp, image);
- gst_buffer_unref(buffer);
- buffer = tmp;
- }
-
-- guint8* data = GST_BUFFER_DATA(buffer);
--
-- int width = mPicture.width;
-- int height = mPicture.height;
-- GstVideoFormat format = mFormat;
--
-- VideoData::YCbCrBuffer b;
-- for(int i = 0; i < 3; i++) {
-- b.mPlanes[i].mData = data + gst_video_format_get_component_offset(format, i,
-- width, height);
-- b.mPlanes[i].mStride = gst_video_format_get_row_stride(format, i, width);
-- b.mPlanes[i].mHeight = gst_video_format_get_component_height(format,
-- i, height);
-- b.mPlanes[i].mWidth = gst_video_format_get_component_width(format,
-- i, width);
-- b.mPlanes[i].mOffset = 0;
-- b.mPlanes[i].mSkip = 0;
-- }
--
-- isKeyframe = !GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_DELTA_UNIT);
- int64_t offset = mDecoder->GetResource()->Tell(); // Estimate location in media.
-- VideoData* video = VideoData::Create(mInfo.mVideo, image, offset,
-- timestamp, duration, b,
-- isKeyframe, -1, mPicture);
-+ VideoData* video = VideoData::CreateFromImage(mInfo.mVideo,
-+ mDecoder->GetImageContainer(),
-+ offset, timestamp, duration,
-+ static_cast<Image*>(image.get()),
-+ isKeyframe, -1, mPicture);
- mVideoQueue.Push(video);
-+
- gst_buffer_unref(buffer);
-
- return true;
-@@ -707,6 +749,10 @@ nsresult GStreamerReader::Seek(int64_t a
- return NS_ERROR_FAILURE;
- }
- LOG(PR_LOG_DEBUG, "seek succeeded");
-+ GstMessage* message = gst_bus_timed_pop_filtered(mBus, GST_CLOCK_TIME_NONE,
-+ (GstMessageType)(GST_MESSAGE_ASYNC_DONE | GST_MESSAGE_ERROR));
-+ gst_message_unref(message);
-+ LOG(PR_LOG_DEBUG, "seek completed");
-
- return DecodeToTarget(aTarget);
- }
-@@ -718,7 +764,9 @@ nsresult GStreamerReader::GetBuffered(do
- return NS_OK;
- }
-
-+#if GST_VERSION_MAJOR == 0
- GstFormat format = GST_FORMAT_TIME;
-+#endif
- MediaResource* resource = mDecoder->GetResource();
- nsTArray<MediaByteRange> ranges;
- resource->GetCachedRanges(ranges);
-@@ -740,12 +788,21 @@ nsresult GStreamerReader::GetBuffered(do
- int64_t endOffset = ranges[index].mEnd;
- gint64 startTime, endTime;
-
-+#if GST_VERSION_MAJOR >= 1
-+ if (!gst_element_query_convert(GST_ELEMENT(mPlayBin), GST_FORMAT_BYTES,
-+ startOffset, GST_FORMAT_TIME, &startTime))
-+ continue;
-+ if (!gst_element_query_convert(GST_ELEMENT(mPlayBin), GST_FORMAT_BYTES,
-+ endOffset, GST_FORMAT_TIME, &endTime))
-+ continue;
-+#else
- if (!gst_element_query_convert(GST_ELEMENT(mPlayBin), GST_FORMAT_BYTES,
- startOffset, &format, &startTime) || format != GST_FORMAT_TIME)
- continue;
- if (!gst_element_query_convert(GST_ELEMENT(mPlayBin), GST_FORMAT_BYTES,
- endOffset, &format, &endTime) || format != GST_FORMAT_TIME)
- continue;
-+#endif
-
- double start = (double) GST_TIME_AS_USECONDS (startTime) / GST_MSECOND;
- double end = (double) GST_TIME_AS_USECONDS (endTime) / GST_MSECOND;
-@@ -766,7 +823,13 @@ void GStreamerReader::ReadAndPushData(gu
- nsresult rv = NS_OK;
-
- GstBuffer* buffer = gst_buffer_new_and_alloc(aLength);
-+#if GST_VERSION_MAJOR >= 1
-+ GstMapInfo info;
-+ gst_buffer_map(buffer, &info, GST_MAP_WRITE);
-+ guint8 *data = info.data;
-+#else
- guint8* data = GST_BUFFER_DATA(buffer);
-+#endif
- uint32_t size = 0, bytesRead = 0;
- while(bytesRead < aLength) {
- rv = resource->Read(reinterpret_cast<char*>(data + bytesRead),
-@@ -780,7 +843,12 @@ void GStreamerReader::ReadAndPushData(gu
- int64_t offset2 = resource->Tell();
- unused << offset2;
-
-+#if GST_VERSION_MAJOR >= 1
-+ gst_buffer_unmap(buffer, &info);
-+ gst_buffer_set_size(buffer, bytesRead);
-+#else
- GST_BUFFER_SIZE(buffer) = bytesRead;
-+#endif
-
- GstFlowReturn ret = gst_app_src_push_buffer(mSource, gst_buffer_ref(buffer));
- if (ret != GST_FLOW_OK) {
-@@ -813,8 +881,13 @@ int64_t GStreamerReader::QueryDuration()
- gint64 duration = 0;
- GstFormat format = GST_FORMAT_TIME;
-
-+#if GST_VERSION_MAJOR >= 1
-+ if (gst_element_query_duration(GST_ELEMENT(mPlayBin),
-+ format, &duration)) {
-+#else
- if (gst_element_query_duration(GST_ELEMENT(mPlayBin),
- &format, &duration)) {
-+#endif
- if (format == GST_FORMAT_TIME) {
- LOG(PR_LOG_DEBUG, "pipeline duration %" GST_TIME_FORMAT,
- GST_TIME_ARGS (duration));
-@@ -893,109 +966,6 @@ gboolean GStreamerReader::SeekData(GstAp
- return NS_SUCCEEDED(rv);
- }
-
--gboolean GStreamerReader::EventProbeCb(GstPad* aPad,
-- GstEvent* aEvent,
-- gpointer aUserData)
--{
-- GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(aUserData);
-- return reader->EventProbe(aPad, aEvent);
--}
--
--gboolean GStreamerReader::EventProbe(GstPad* aPad, GstEvent* aEvent)
--{
-- GstElement* parent = GST_ELEMENT(gst_pad_get_parent(aPad));
-- switch(GST_EVENT_TYPE(aEvent)) {
-- case GST_EVENT_NEWSEGMENT:
-- {
-- gboolean update;
-- gdouble rate;
-- GstFormat format;
-- gint64 start, stop, position;
-- GstSegment* segment;
--
-- /* Store the segments so we can convert timestamps to stream time, which
-- * is what the upper layers sync on.
-- */
-- ReentrantMonitorAutoEnter mon(mGstThreadsMonitor);
-- gst_event_parse_new_segment(aEvent, &update, &rate, &format,
-- &start, &stop, &position);
-- if (parent == GST_ELEMENT(mVideoAppSink))
-- segment = &mVideoSegment;
-- else
-- segment = &mAudioSegment;
-- gst_segment_set_newsegment(segment, update, rate, format,
-- start, stop, position);
-- break;
-- }
-- case GST_EVENT_FLUSH_STOP:
-- /* Reset on seeks */
-- ResetDecode();
-- break;
-- default:
-- break;
-- }
-- gst_object_unref(parent);
--
-- return TRUE;
--}
--
--GstFlowReturn GStreamerReader::AllocateVideoBufferFull(GstPad* aPad,
-- guint64 aOffset,
-- guint aSize,
-- GstCaps* aCaps,
-- GstBuffer** aBuf,
-- nsRefPtr<PlanarYCbCrImage>& aImage)
--{
-- /* allocate an image using the container */
-- ImageContainer* container = mDecoder->GetImageContainer();
-- if (!container) {
-- // We don't have an ImageContainer. We probably belong to an <audio>
-- // element.
-- return GST_FLOW_NOT_SUPPORTED;
-- }
-- PlanarYCbCrImage* img =
-- reinterpret_cast<PlanarYCbCrImage*>(
-- container->CreateImage(ImageFormat::PLANAR_YCBCR).get());
-- nsRefPtr<PlanarYCbCrImage> image = dont_AddRef(img);
--
-- /* prepare a GstBuffer pointing to the underlying PlanarYCbCrImage buffer */
-- GstBuffer* buf = GST_BUFFER(gst_moz_video_buffer_new());
-- GST_BUFFER_SIZE(buf) = aSize;
-- /* allocate the actual YUV buffer */
-- GST_BUFFER_DATA(buf) = image->AllocateAndGetNewBuffer(aSize);
--
-- aImage = image;
--
-- /* create a GstMozVideoBufferData to hold the image */
-- GstMozVideoBufferData* bufferdata = new GstMozVideoBufferData(image);
--
-- /* Attach bufferdata to our GstMozVideoBuffer, it will take care to free it */
-- gst_moz_video_buffer_set_data(GST_MOZ_VIDEO_BUFFER(buf), bufferdata);
--
-- *aBuf = buf;
-- return GST_FLOW_OK;
--}
--
--GstFlowReturn GStreamerReader::AllocateVideoBufferCb(GstPad* aPad,
-- guint64 aOffset,
-- guint aSize,
-- GstCaps* aCaps,
-- GstBuffer** aBuf)
--{
-- GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(gst_pad_get_element_private(aPad));
-- return reader->AllocateVideoBuffer(aPad, aOffset, aSize, aCaps, aBuf);
--}
--
--GstFlowReturn GStreamerReader::AllocateVideoBuffer(GstPad* aPad,
-- guint64 aOffset,
-- guint aSize,
-- GstCaps* aCaps,
-- GstBuffer** aBuf)
--{
-- nsRefPtr<PlanarYCbCrImage> image;
-- return AllocateVideoBufferFull(aPad, aOffset, aSize, aCaps, aBuf, image);
--}
--
- GstFlowReturn GStreamerReader::NewPrerollCb(GstAppSink* aSink,
- gpointer aUserData)
- {
-@@ -1012,8 +982,12 @@ void GStreamerReader::AudioPreroll()
- {
- /* The first audio buffer has reached the audio sink. Get rate and channels */
- LOG(PR_LOG_DEBUG, "Audio preroll");
-- GstPad* sinkpad = gst_element_get_pad(GST_ELEMENT(mAudioAppSink), "sink");
-+ GstPad* sinkpad = gst_element_get_static_pad(GST_ELEMENT(mAudioAppSink), "sink");
-+#if GST_VERSION_MAJOR >= 1
-+ GstCaps *caps = gst_pad_get_current_caps(sinkpad);
-+#else
- GstCaps* caps = gst_pad_get_negotiated_caps(sinkpad);
-+#endif
- GstStructure* s = gst_caps_get_structure(caps, 0);
- mInfo.mAudio.mRate = mInfo.mAudio.mChannels = 0;
- gst_structure_get_int(s, "rate", (gint*) &mInfo.mAudio.mRate);
-@@ -1031,9 +1005,18 @@ void GStreamerReader::VideoPreroll()
- {
- /* The first video buffer has reached the video sink. Get width and height */
- LOG(PR_LOG_DEBUG, "Video preroll");
-- GstPad* sinkpad = gst_element_get_pad(GST_ELEMENT(mVideoAppSink), "sink");
-+ GstPad* sinkpad = gst_element_get_static_pad(GST_ELEMENT(mVideoAppSink), "sink");
-+#if GST_VERSION_MAJOR >= 1
-+ GstCaps* caps = gst_pad_get_current_caps(sinkpad);
-+ memset (&mVideoInfo, 0, sizeof (mVideoInfo));
-+ gst_video_info_from_caps(&mVideoInfo, caps);
-+ mFormat = mVideoInfo.finfo->format;
-+ mPicture.width = mVideoInfo.width;
-+ mPicture.height = mVideoInfo.height;
-+#else
- GstCaps* caps = gst_pad_get_negotiated_caps(sinkpad);
- gst_video_format_parse_caps(caps, &mFormat, &mPicture.width, &mPicture.height);
-+#endif
- GstStructure* structure = gst_caps_get_structure(caps, 0);
- gst_structure_get_fraction(structure, "framerate", &fpsNum, &fpsDen);
- NS_ASSERTION(mPicture.width && mPicture.height, "invalid video resolution");
-@@ -1062,6 +1045,7 @@ void GStreamerReader::NewVideoBuffer()
- /* We have a new video buffer queued in the video sink. Increment the counter
- * and notify the decode thread potentially blocked in DecodeVideoFrame
- */
-+
- mDecoder->NotifyDecodedFrames(1, 0);
- mVideoSinkBufferCount++;
- mon.NotifyAll();
-@@ -1198,5 +1182,199 @@ void GStreamerReader::NotifyDataArrived(
- }
- }
-
-+#if GST_VERSION_MAJOR >= 1
-+GstCaps* GStreamerReader::BuildAudioSinkCaps()
-+{
-+ GstCaps* caps = gst_caps_from_string("audio/x-raw, channels={1,2}");
-+ const char* format;
-+#ifdef MOZ_SAMPLE_TYPE_FLOAT32
-+#ifdef IS_LITTLE_ENDIAN
-+ format = "F32LE";
-+#else
-+ format = "F32BE";
-+#endif
-+#else /* !MOZ_SAMPLE_TYPE_FLOAT32 */
-+#ifdef IS_LITTLE_ENDIAN
-+ format = "S16LE";
-+#else
-+ format = "S16BE";
-+#endif
-+#endif
-+ gst_caps_set_simple(caps, "format", G_TYPE_STRING, format, nullptr);
-+
-+ return caps;
-+}
-+
-+void GStreamerReader::InstallPadCallbacks()
-+{
-+ GstPad* sinkpad = gst_element_get_static_pad(GST_ELEMENT(mVideoAppSink), "sink");
-+
-+ gst_pad_add_probe(sinkpad,
-+ (GstPadProbeType) (GST_PAD_PROBE_TYPE_SCHEDULING |
-+ GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM |
-+ GST_PAD_PROBE_TYPE_EVENT_UPSTREAM |
-+ GST_PAD_PROBE_TYPE_EVENT_FLUSH),
-+ &GStreamerReader::EventProbeCb, this, nullptr);
-+ gst_pad_add_probe(sinkpad, GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM,
-+ GStreamerReader::QueryProbeCb, nullptr, nullptr);
-+
-+ gst_pad_set_element_private(sinkpad, this);
-+ gst_object_unref(sinkpad);
-+
-+ sinkpad = gst_element_get_static_pad(GST_ELEMENT(mAudioAppSink), "sink");
-+ gst_pad_add_probe(sinkpad,
-+ (GstPadProbeType) (GST_PAD_PROBE_TYPE_SCHEDULING |
-+ GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM |
-+ GST_PAD_PROBE_TYPE_EVENT_UPSTREAM |
-+ GST_PAD_PROBE_TYPE_EVENT_FLUSH),
-+ &GStreamerReader::EventProbeCb, this, nullptr);
-+ gst_object_unref(sinkpad);
-+}
-+
-+GstPadProbeReturn GStreamerReader::EventProbeCb(GstPad *aPad,
-+ GstPadProbeInfo *aInfo,
-+ gpointer aUserData)
-+{
-+ GStreamerReader *reader = (GStreamerReader *) aUserData;
-+ GstEvent *aEvent = (GstEvent *)aInfo->data;
-+ return reader->EventProbe(aPad, aEvent);
-+}
-+
-+GstPadProbeReturn GStreamerReader::EventProbe(GstPad *aPad, GstEvent *aEvent)
-+{
-+ GstElement* parent = GST_ELEMENT(gst_pad_get_parent(aPad));
-+
-+ LOG(PR_LOG_DEBUG, "event probe %s", GST_EVENT_TYPE_NAME (aEvent));
-+
-+ switch(GST_EVENT_TYPE(aEvent)) {
-+ case GST_EVENT_SEGMENT:
-+ {
-+ const GstSegment *newSegment;
-+ GstSegment* segment;
-+
-+ /* Store the segments so we can convert timestamps to stream time, which
-+ * is what the upper layers sync on.
-+ */
-+ ReentrantMonitorAutoEnter mon(mGstThreadsMonitor);
-+#if GST_VERSION_MINOR <= 1 && GST_VERSION_MICRO < 1
-+ ResetDecode();
-+#endif
-+ gst_event_parse_segment(aEvent, &newSegment);
-+ if (parent == GST_ELEMENT(mVideoAppSink))
-+ segment = &mVideoSegment;
-+ else
-+ segment = &mAudioSegment;
-+ gst_segment_copy_into (newSegment, segment);
-+ break;
-+ }
-+ case GST_EVENT_FLUSH_STOP:
-+ /* Reset on seeks */
-+ ResetDecode();
-+ break;
-+ default:
-+ break;
-+ }
-+ gst_object_unref(parent);
-+
-+ return GST_PAD_PROBE_OK;
-+}
-+
-+GstPadProbeReturn GStreamerReader::QueryProbeCb(GstPad* aPad, GstPadProbeInfo* aInfo, gpointer aUserData)
-+{
-+ GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(gst_pad_get_element_private(aPad));
-+ return reader->QueryProbe(aPad, aInfo, aUserData);
-+}
-+
-+GstPadProbeReturn GStreamerReader::QueryProbe(GstPad* aPad, GstPadProbeInfo* aInfo, gpointer aUserData)
-+{
-+ GstQuery *query = gst_pad_probe_info_get_query(aInfo);
-+ GstPadProbeReturn ret = GST_PAD_PROBE_OK;
-+
-+ switch (GST_QUERY_TYPE (query)) {
-+ case GST_QUERY_ALLOCATION:
-+ GstCaps *caps;
-+ GstVideoInfo info;
-+ gboolean need_pool;
-+
-+ gst_query_parse_allocation(query, &caps, &need_pool);
-+ gst_video_info_init(&info);
-+ gst_video_info_from_caps(&info, caps);
-+ gst_query_add_allocation_param(query, mAllocator, nullptr);
-+ gst_query_add_allocation_pool(query, mBufferPool, info.size, 0, 0);
-+ gst_query_add_allocation_meta(query, GST_VIDEO_META_API_TYPE, nullptr);
-+ break;
-+ default:
-+ break;
-+ }
-+
-+ return ret;
-+}
-+
-+void GStreamerReader::ImageDataFromVideoFrame(GstVideoFrame *aFrame,
-+ PlanarYCbCrImage::Data *aData)
-+{
-+ NS_ASSERTION(GST_VIDEO_INFO_IS_YUV(&mVideoInfo),
-+ "Non-YUV video frame formats not supported");
-+ NS_ASSERTION(GST_VIDEO_FRAME_N_COMPONENTS(aFrame) == 3,
-+ "Unsupported number of components in video frame");
-+
-+ aData->mPicX = aData->mPicY = 0;
-+ aData->mPicSize = gfx::IntSize(mPicture.width, mPicture.height);
-+ aData->mStereoMode = StereoMode::MONO;
-+
-+ aData->mYChannel = GST_VIDEO_FRAME_COMP_DATA(aFrame, 0);
-+ aData->mYStride = GST_VIDEO_FRAME_COMP_STRIDE(aFrame, 0);
-+ aData->mYSize = gfx::IntSize(GST_VIDEO_FRAME_COMP_WIDTH(aFrame, 0),
-+ GST_VIDEO_FRAME_COMP_HEIGHT(aFrame, 0));
-+ aData->mYSkip = GST_VIDEO_FRAME_COMP_PSTRIDE(aFrame, 0) - 1;
-+ aData->mCbCrStride = GST_VIDEO_FRAME_COMP_STRIDE(aFrame, 1);
-+ aData->mCbCrSize = gfx::IntSize(GST_VIDEO_FRAME_COMP_WIDTH(aFrame, 1),
-+ GST_VIDEO_FRAME_COMP_HEIGHT(aFrame, 1));
-+ aData->mCbChannel = GST_VIDEO_FRAME_COMP_DATA(aFrame, 1);
-+ aData->mCrChannel = GST_VIDEO_FRAME_COMP_DATA(aFrame, 2);
-+ aData->mCbSkip = GST_VIDEO_FRAME_COMP_PSTRIDE(aFrame, 1) - 1;
-+ aData->mCrSkip = GST_VIDEO_FRAME_COMP_PSTRIDE(aFrame, 2) - 1;
-+}
-+
-+nsRefPtr<PlanarYCbCrImage> GStreamerReader::GetImageFromBuffer(GstBuffer* aBuffer)
-+{
-+ nsRefPtr<PlanarYCbCrImage> image = nullptr;
-+
-+ if (gst_buffer_n_memory(aBuffer) == 1) {
-+ GstMemory* mem = gst_buffer_peek_memory(aBuffer, 0);
-+ if (GST_IS_MOZ_GFX_MEMORY_ALLOCATOR(mem->allocator)) {
-+ image = moz_gfx_memory_get_image(mem);
-+
-+ GstVideoFrame frame;
-+ gst_video_frame_map(&frame, &mVideoInfo, aBuffer, GST_MAP_READ);
-+ PlanarYCbCrImage::Data data;
-+ ImageDataFromVideoFrame(&frame, &data);
-+ image->SetDataNoCopy(data);
-+ gst_video_frame_unmap(&frame);
-+ }
-+ }
-+
-+ return image;
-+}
-+
-+void GStreamerReader::CopyIntoImageBuffer(GstBuffer* aBuffer,
-+ GstBuffer** aOutBuffer,
-+ nsRefPtr<PlanarYCbCrImage> &image)
-+{
-+ *aOutBuffer = gst_buffer_new_allocate(mAllocator, gst_buffer_get_size(aBuffer), nullptr);
-+ GstMemory *mem = gst_buffer_peek_memory(*aOutBuffer, 0);
-+ GstMapInfo map_info;
-+ gst_memory_map(mem, &map_info, GST_MAP_WRITE);
-+ gst_buffer_extract(aBuffer, 0, map_info.data, gst_buffer_get_size(aBuffer));
-+ gst_memory_unmap(mem, &map_info);
-+
-+ /* create a new gst buffer with the newly created memory and copy the
-+ * metadata over from the incoming buffer */
-+ gst_buffer_copy_into(*aOutBuffer, aBuffer,
-+ (GstBufferCopyFlags)(GST_BUFFER_COPY_METADATA), 0, -1);
-+ image = GetImageFromBuffer(*aOutBuffer);
-+}
-+#endif
-+
- } // namespace mozilla
-
diff --git a/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerReader.h b/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerReader.h
deleted file mode 100644
index 0f400b179fa..00000000000
--- a/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_GStreamerReader.h
+++ /dev/null
@@ -1,103 +0,0 @@
-$NetBSD: patch-mozilla_content_media_gstreamer_GStreamerReader.h,v 1.1 2014/03/30 04:13:17 ryoon Exp $
-
---- mozilla/content/media/gstreamer/GStreamerReader.h.orig 2014-03-19 01:41:47.000000000 +0000
-+++ mozilla/content/media/gstreamer/GStreamerReader.h
-@@ -22,6 +22,7 @@
-
- #include "MediaDecoderReader.h"
- #include "MP3FrameParser.h"
-+#include "ImageContainer.h"
- #include "nsRect.h"
-
- namespace mozilla {
-@@ -30,10 +31,6 @@ namespace dom {
- class TimeRanges;
- }
-
--namespace layers {
--class PlanarYCbCrImage;
--}
--
- class AbstractMediaDecoder;
-
- class GStreamerReader : public MediaDecoderReader
-@@ -67,10 +64,20 @@ public:
- return mInfo.HasVideo();
- }
-
-+ layers::ImageContainer* GetImageContainer() { return mDecoder->GetImageContainer(); }
-+
- private:
-
- void ReadAndPushData(guint aLength);
- int64_t QueryDuration();
-+ nsRefPtr<layers::PlanarYCbCrImage> GetImageFromBuffer(GstBuffer* aBuffer);
-+ void CopyIntoImageBuffer(GstBuffer *aBuffer, GstBuffer** aOutBuffer, nsRefPtr<layers::PlanarYCbCrImage> &image);
-+ GstCaps* BuildAudioSinkCaps();
-+ void InstallPadCallbacks();
-+
-+#if GST_VERSION_MAJOR >= 1
-+ void ImageDataFromVideoFrame(GstVideoFrame *aFrame, layers::PlanarYCbCrImage::Data *aData);
-+#endif
-
- /* Called once the pipeline is setup to check that the stream only contains
- * supported formats
-@@ -105,20 +112,31 @@ private:
- gboolean SeekData(GstAppSrc* aSrc, guint64 aOffset);
-
- /* Called when events reach the sinks. See inline comments */
-+#if GST_VERSION_MAJOR == 1
-+ static GstPadProbeReturn EventProbeCb(GstPad *aPad, GstPadProbeInfo *aInfo, gpointer aUserData);
-+ GstPadProbeReturn EventProbe(GstPad *aPad, GstEvent *aEvent);
-+#else
- static gboolean EventProbeCb(GstPad* aPad, GstEvent* aEvent, gpointer aUserData);
- gboolean EventProbe(GstPad* aPad, GstEvent* aEvent);
-+#endif
-
-- /* Called when elements in the video branch of the pipeline call
-- * gst_pad_alloc_buffer(). Used to provide PlanarYCbCrImage backed GstBuffers
-- * to the pipeline so that a memory copy can be avoided when handling YUV
-- * buffers from the pipeline to the gfx side.
-- */
-+ /* Called when the video part of the pipeline allocates buffers. Used to
-+ * provide PlanarYCbCrImage backed GstBuffers to the pipeline so that a memory
-+ * copy can be avoided when handling YUV buffers from the pipeline to the gfx
-+ * side.
-+ */
-+#if GST_VERSION_MAJOR == 1
-+ static GstPadProbeReturn QueryProbeCb(GstPad *aPad, GstPadProbeInfo *aInfo, gpointer aUserData);
-+ GstPadProbeReturn QueryProbe(GstPad *aPad, GstPadProbeInfo *aInfo, gpointer aUserData);
-+#else
- static GstFlowReturn AllocateVideoBufferCb(GstPad* aPad, guint64 aOffset, guint aSize,
- GstCaps* aCaps, GstBuffer** aBuf);
- GstFlowReturn AllocateVideoBufferFull(GstPad* aPad, guint64 aOffset, guint aSize,
- GstCaps* aCaps, GstBuffer** aBuf, nsRefPtr<layers::PlanarYCbCrImage>& aImage);
- GstFlowReturn AllocateVideoBuffer(GstPad* aPad, guint64 aOffset, guint aSize,
- GstCaps* aCaps, GstBuffer** aBuf);
-+#endif
-+
-
- /* Called when the pipeline is prerolled, that is when at start or after a
- * seek, the first audio and video buffers are queued in the sinks.
-@@ -167,6 +185,11 @@ private:
- bool mUseParserDuration;
- int64_t mLastParserDuration;
-
-+#if GST_VERSION_MAJOR >= 1
-+ GstAllocator *mAllocator;
-+ GstBufferPool *mBufferPool;
-+ GstVideoInfo mVideoInfo;
-+#endif
- GstElement* mPlayBin;
- GstBus* mBus;
- GstAppSrc* mSource;
-@@ -197,6 +220,9 @@ private:
- * DecodeAudioData and DecodeVideoFrame should not expect any more data
- */
- bool mReachedEos;
-+#if GST_VERSION_MAJOR >= 1
-+ bool mConfigureAlignment;
-+#endif
- int fpsNum;
- int fpsDen;
- };
diff --git a/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_moz.build b/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_moz.build
deleted file mode 100644
index 4328850d0fb..00000000000
--- a/www/seamonkey/patches/patch-mozilla_content_media_gstreamer_moz.build
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD: patch-mozilla_content_media_gstreamer_moz.build,v 1.1 2014/03/30 04:13:17 ryoon Exp $
-
---- mozilla/content/media/gstreamer/moz.build.orig 2014-03-19 01:41:47.000000000 +0000
-+++ mozilla/content/media/gstreamer/moz.build
-@@ -15,10 +15,19 @@ SOURCES += [
- 'GStreamerDecoder.cpp',
- 'GStreamerFormatHelper.cpp',
- 'GStreamerLoader.cpp',
-- 'GStreamerMozVideoBuffer.cpp',
- 'GStreamerReader.cpp',
- ]
-
-+if CONFIG['GST_API_VERSION'] == '1.0':
-+ SOURCES += [
-+ 'GStreamerAllocator.cpp',
-+ ]
-+else:
-+ SOURCES += [
-+ 'GStreamerMozVideoBuffer.cpp',
-+ 'GStreamerReader-0.10.cpp',
-+ ]
-+
- FAIL_ON_WARNINGS = True
-
- FINAL_LIBRARY = 'gklayout'
diff --git a/www/seamonkey/patches/patch-mozilla_content_media_test_manifest.js b/www/seamonkey/patches/patch-mozilla_content_media_test_manifest.js
deleted file mode 100644
index f86cf3fea6c..00000000000
--- a/www/seamonkey/patches/patch-mozilla_content_media_test_manifest.js
+++ /dev/null
@@ -1,17 +0,0 @@
-$NetBSD: patch-mozilla_content_media_test_manifest.js,v 1.1 2014/03/30 04:13:17 ryoon Exp $
-
---- mozilla/content/media/test/manifest.js.orig 2014-03-19 01:41:47.000000000 +0000
-+++ mozilla/content/media/test/manifest.js
-@@ -357,9 +357,9 @@ var gUnseekableTests = [
- { name:"bogus.duh", type:"bogus/duh"}
- ];
- // Unfortunately big-buck-bunny-unseekable.mp4 is doesn't play on Windows 7, so
--// only include it in the unseekable tests if we're on later versions of Windows.
--if (navigator.userAgent.indexOf("Windows") == -1 ||
-- IsWindows8OrLater()) {
-+// only include it in the unseekable tests if we're on later versions of Windows.
-+// This test actually only passes on win8 at the moment.
-+if (navigator.userAgent.indexOf("Windows") != -1 && IsWindows8OrLater()) {
- gUnseekableTests = gUnseekableTests.concat([
- { name:"big-buck-bunny-unseekable.mp4", type:"video/mp4" }
- ]);
diff --git a/www/seamonkey/patches/patch-mozilla_content_svg_content_src_SVGComponentTransferFunctionElement.h b/www/seamonkey/patches/patch-mozilla_content_svg_content_src_SVGComponentTransferFunctionElement.h
deleted file mode 100644
index 2f56a32ffb9..00000000000
--- a/www/seamonkey/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.3 2014/06/28 22:51:38 joerg Exp $
-
---- mozilla/content/svg/content/src/SVGComponentTransferFunctionElement.h.orig 2014-06-13 00:46:04.000000000 +0000
-+++ mozilla/content/svg/content/src/SVGComponentTransferFunctionElement.h
-@@ -76,6 +76,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/www/seamonkey/patches/patch-mozilla_content_svg_content_src_nsSVGFilters.cpp b/www/seamonkey/patches/patch-mozilla_content_svg_content_src_nsSVGFilters.cpp
deleted file mode 100644
index 3aa3abbb84c..00000000000
--- a/www/seamonkey/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.3 2014/06/28 22:51:38 joerg Exp $
-
---- mozilla/content/svg/content/src/nsSVGFilters.cpp.orig 2014-06-13 00:45:21.000000000 +0000
-+++ mozilla/content/svg/content/src/nsSVGFilters.cpp
-@@ -67,8 +67,6 @@ 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_INTERFACE_MAP_BEGIN(nsSVGFE)
- // nsISupports is an ambiguous base of nsSVGFE so we have to work
- // around that
-@@ -248,8 +246,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/www/seamonkey/patches/patch-mozilla_content_svg_content_src_nsSVGFilters.h b/www/seamonkey/patches/patch-mozilla_content_svg_content_src_nsSVGFilters.h
deleted file mode 100644
index 4e5827838f0..00000000000
--- a/www/seamonkey/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.3 2014/06/28 22:51:38 joerg Exp $
-
---- mozilla/content/svg/content/src/nsSVGFilters.h.orig 2014-06-13 00:46:04.000000000 +0000
-+++ mozilla/content/svg/content/src/nsSVGFilters.h
-@@ -213,6 +213,8 @@ protected:
- static StringInfo sStringInfo[2];
- };
-
-+NS_DEFINE_STATIC_IID_ACCESSOR(nsSVGFE, NS_SVG_FE_CID)
-+
- namespace mozilla {
- namespace dom {
-
diff --git a/www/seamonkey/patches/patch-mozilla_dom_indexedDB_IDBEvents.cpp b/www/seamonkey/patches/patch-mozilla_dom_indexedDB_IDBEvents.cpp
deleted file mode 100644
index a4ddc621a4f..00000000000
--- a/www/seamonkey/patches/patch-mozilla_dom_indexedDB_IDBEvents.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-mozilla_dom_indexedDB_IDBEvents.cpp,v 1.3 2014/06/28 22:51:38 joerg Exp $
-
---- mozilla/dom/indexedDB/IDBEvents.cpp.orig 2014-06-13 00:46:05.000000000 +0000
-+++ mozilla/dom/indexedDB/IDBEvents.cpp
-@@ -15,8 +15,6 @@
- USING_INDEXEDDB_NAMESPACE
- using namespace mozilla::dom;
-
--NS_DEFINE_STATIC_IID_ACCESSOR(IDBVersionChangeEvent, IDBVERSIONCHANGEEVENT_IID)
--
- namespace {
-
- class EventFiringRunnable : public nsRunnable
diff --git a/www/seamonkey/patches/patch-mozilla_dom_indexedDB_IDBEvents.h b/www/seamonkey/patches/patch-mozilla_dom_indexedDB_IDBEvents.h
deleted file mode 100644
index 8365681e2d8..00000000000
--- a/www/seamonkey/patches/patch-mozilla_dom_indexedDB_IDBEvents.h
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-mozilla_dom_indexedDB_IDBEvents.h,v 1.3 2014/06/28 22:51:38 joerg Exp $
-
---- mozilla/dom/indexedDB/IDBEvents.h.orig 2014-06-13 00:46:05.000000000 +0000
-+++ mozilla/dom/indexedDB/IDBEvents.h
-@@ -158,6 +158,8 @@ protected:
- uint64_t mNewVersion;
- };
-
-+NS_DEFINE_STATIC_IID_ACCESSOR(IDBVersionChangeEvent, IDBVERSIONCHANGEEVENT_IID)
-+
- END_INDEXEDDB_NAMESPACE
-
- #endif // mozilla_dom_indexeddb_idbevents_h__
diff --git a/www/seamonkey/patches/patch-mozilla_dom_system_OSFileConstants.cpp b/www/seamonkey/patches/patch-mozilla_dom_system_OSFileConstants.cpp
index 9dab3d02bd1..1231a919bb2 100644
--- a/www/seamonkey/patches/patch-mozilla_dom_system_OSFileConstants.cpp
+++ b/www/seamonkey/patches/patch-mozilla_dom_system_OSFileConstants.cpp
@@ -1,10 +1,10 @@
-$NetBSD: patch-mozilla_dom_system_OSFileConstants.cpp,v 1.4 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-mozilla_dom_system_OSFileConstants.cpp,v 1.5 2014/11/02 05:40:31 ryoon Exp $
* NetBSD 5 does not support posix_spawn(3)
---- mozilla/dom/system/OSFileConstants.cpp.orig 2014-06-13 00:46:05.000000000 +0000
+--- mozilla/dom/system/OSFileConstants.cpp.orig 2014-10-14 06:36:08.000000000 +0000
+++ mozilla/dom/system/OSFileConstants.cpp
-@@ -9,22 +9,26 @@
+@@ -9,6 +9,10 @@
#include "prsystem.h"
@@ -15,15 +15,7 @@ $NetBSD: patch-mozilla_dom_system_OSFileConstants.cpp,v 1.4 2014/06/22 08:54:39
#if defined(XP_UNIX)
#include "unistd.h"
#include "dirent.h"
- #include "sys/stat.h"
--#if !defined(ANDROID)
-+#if !defined(ANDROID) && (defined(__NetBSD_) && (__NetBSD_Version__ < 600000000))
- #include <spawn.h>
--#endif // !defined(ANDROID)
-+#endif // !defined(ANDROID) && NetBSD 5.*
- #endif // defined(XP_UNIX)
-
- #if defined(XP_LINUX)
+@@ -26,9 +30,9 @@
#include <linux/fadvise.h>
#endif // defined(XP_LINUX)
@@ -35,9 +27,9 @@ $NetBSD: patch-mozilla_dom_system_OSFileConstants.cpp,v 1.4 2014/06/22 08:54:39
#if defined(XP_WIN)
#include <windows.h>
-@@ -526,10 +530,10 @@ static const dom::ConstantSpec gLibcProp
- // The size of |time_t|.
- { "OSFILE_SIZEOF_TIME_T", INT_TO_JSVAL(sizeof (time_t)) },
+@@ -571,10 +575,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))
@@ -48,3 +40,12 @@ $NetBSD: patch-mozilla_dom_system_OSFileConstants.cpp,v 1.4 2014/06/22 08:54:39
// Defining |dirent|.
// Size
+@@ -634,7 +638,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/www/seamonkey/patches/patch-mozilla_gfx_skia_Makefile.in b/www/seamonkey/patches/patch-mozilla_gfx_skia_Makefile.in
index 36f159d4259..713d127d9ab 100644
--- a/www/seamonkey/patches/patch-mozilla_gfx_skia_Makefile.in
+++ b/www/seamonkey/patches/patch-mozilla_gfx_skia_Makefile.in
@@ -1,8 +1,8 @@
-$NetBSD: patch-mozilla_gfx_skia_Makefile.in,v 1.3 2014/03/30 04:13:17 ryoon Exp $
+$NetBSD: patch-mozilla_gfx_skia_Makefile.in,v 1.4 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/gfx/skia/Makefile.in.orig 2014-03-19 01:41:53.000000000 +0000
+--- mozilla/gfx/skia/Makefile.in.orig 2014-10-14 06:36:10.000000000 +0000
+++ mozilla/gfx/skia/Makefile.in
-@@ -34,6 +34,10 @@ ifeq (qt,$(MOZ_WIDGET_TOOLKIT))
+@@ -15,6 +15,10 @@ ifeq (qt,$(MOZ_WIDGET_TOOLKIT))
OS_CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PANGO_CFLAGS) $(CAIRO_FT_CFLAGS)
endif
@@ -12,4 +12,4 @@ $NetBSD: patch-mozilla_gfx_skia_Makefile.in,v 1.3 2014/03/30 04:13:17 ryoon Exp
+
include $(topsrcdir)/config/rules.mk
- ifneq (,$(INTEL_ARCHITECTURE))
+ ifeq ($(CPU_ARCH)_$(GNU_CC),arm_1)
diff --git a/www/seamonkey/patches/patch-mozilla_gfx_skia_include_core_SkPreConfig.h b/www/seamonkey/patches/patch-mozilla_gfx_skia_include_core_SkPreConfig.h
deleted file mode 100644
index a3040839f54..00000000000
--- a/www/seamonkey/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.2 2013/11/04 06:01:46 ryoon Exp $
-
---- mozilla/gfx/skia/include/core/SkPreConfig.h.orig 2013-10-29 01:20:49.000000000 +0000
-+++ mozilla/gfx/skia/include/core/SkPreConfig.h
-@@ -100,7 +100,7 @@
-
- #if !defined(SK_CPU_BENDIAN) && !defined(SK_CPU_LENDIAN)
- #if defined (__ppc__) || defined(__PPC__) || defined(__ppc64__) \
-- || defined(__PPC64__)
-+ || defined(__PPC64__) || defined(__sparc) || defined(__sparc__)
- #define SK_CPU_BENDIAN
- #else
- #define SK_CPU_LENDIAN
diff --git a/www/seamonkey/patches/patch-mozilla_gfx_skia_moz.build b/www/seamonkey/patches/patch-mozilla_gfx_skia_moz.build
deleted file mode 100644
index df060c089fc..00000000000
--- a/www/seamonkey/patches/patch-mozilla_gfx_skia_moz.build
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-mozilla_gfx_skia_moz.build,v 1.3 2014/03/30 04:13:17 ryoon Exp $
-
---- mozilla/gfx/skia/moz.build.orig 2014-03-19 01:41:53.000000000 +0000
-+++ mozilla/gfx/skia/moz.build
-@@ -209,7 +209,7 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt
- 'src/ports/SkFontHost_cairo.cpp',
- 'src/ports/SkFontHost_FreeType_common.cpp',
- ]
-- if CONFIG['OS_TARGET'] == 'Linux':
-+ if CONFIG['MOZ_X11'] == 1 or CONFIG['OS_TARGET'] == 'Linux':
- EXPORTS.skia += [
- 'include/ports/SkTypeface_cairo.h',
- ]
diff --git a/www/seamonkey/patches/patch-mozilla_gfx_skia_src_utils_SkThreadUtils__pthread__linux.cpp b/www/seamonkey/patches/patch-mozilla_gfx_skia_src_utils_SkThreadUtils__pthread__linux.cpp
deleted file mode 100644
index 3c3dc9a676a..00000000000
--- a/www/seamonkey/patches/patch-mozilla_gfx_skia_src_utils_SkThreadUtils__pthread__linux.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-$NetBSD: patch-mozilla_gfx_skia_src_utils_SkThreadUtils__pthread__linux.cpp,v 1.2 2014/06/22 08:54:39 ryoon Exp $
-
-* Use cpuset(3) for NetBSD. From rmind@.
-
---- mozilla/gfx/skia/src/utils/SkThreadUtils_pthread_linux.cpp.orig 2014-06-13 00:46:07.000000000 +0000
-+++ mozilla/gfx/skia/src/utils/SkThreadUtils_pthread_linux.cpp
-@@ -12,16 +12,20 @@
- #include "SkThreadUtils.h"
- #include "SkThreadUtils_pthread.h"
-
-+#include <unistd.h>
- #include <pthread.h>
- #ifdef __FreeBSD__
- #include <pthread_np.h>
- #endif
-+#ifdef __NetBSD__
-+#include <sched.h>
-+#endif
-
- #if defined(__FreeBSD__) || defined(__NetBSD__)
- #define cpu_set_t cpuset_t
- #endif
-
--#ifndef CPU_COUNT
-+#if !defined(CPU_COUNT) && !defined(__NetBSD__)
- static int CPU_COUNT(cpu_set_t *set) {
- int count = 0;
- for (int i = 0; i < CPU_SETSIZE; i++) {
-@@ -31,7 +35,24 @@ static int CPU_COUNT(cpu_set_t *set) {
- }
- return count;
- }
--#endif /* !CPU_COUNT */
-+#endif
-+
-+#if defined(__NetBSD__)
-+
-+#define CPU_ISSET(c, s) cpuset_isset(c, s)
-+
-+static int CPU_COUNT(cpuset_t *set) {
-+ static const int ncpu = sysconf(_SC_NPROCESSORS_CONF);
-+ int count = 0;
-+
-+ for (int i = 0; i < ncpu; i++) {
-+ if (cpuset_isset(i, set)) {
-+ count++;
-+ }
-+ }
-+ return count;
-+ }
-+#endif
-
- static int nth_set_cpu(unsigned int n, cpu_set_t* cpuSet) {
- n %= CPU_COUNT(cpuSet);
-@@ -51,6 +72,7 @@ bool SkThread::setProcessorAffinity(unsi
- return false;
- }
-
-+#if !defined(__NetBSD__)
- cpu_set_t parentCpuset;
- if (0 != pthread_getaffinity_np(pthread_self(), sizeof(cpu_set_t), &parentCpuset)) {
- return false;
-@@ -62,4 +84,23 @@ bool SkThread::setProcessorAffinity(unsi
- return 0 == pthread_setaffinity_np(pthreadData->fPThread,
- sizeof(cpu_set_t),
- &cpuset);
-+#else
-+ cpuset_t *cpuset = cpuset_create();
-+ if (!cpuset) {
-+ return false;
-+ }
-+ size_t csize = cpuset_size(cpuset);
-+ if (0 != pthread_getaffinity_np(pthread_self(), csize, cpuset)) {
-+ cpuset_destroy(cpuset);
-+ return false;
-+ }
-+
-+ int nthcpu = nth_set_cpu(processor, cpuset);
-+ cpuset_zero(cpuset);
-+ cpuset_set(nthcpu, cpuset);
-+
-+ bool ok = 0 == pthread_setaffinity_np(pthreadData->fPThread, csize, cpuset);
-+ cpuset_destroy(cpuset);
-+ return ok;
-+#endif
- }
diff --git a/www/seamonkey/patches/patch-mozilla_intl_unicharutil_util_Makefile.in b/www/seamonkey/patches/patch-mozilla_intl_unicharutil_util_Makefile.in
index b64a0271e2e..9e6b65455b6 100644
--- a/www/seamonkey/patches/patch-mozilla_intl_unicharutil_util_Makefile.in
+++ b/www/seamonkey/patches/patch-mozilla_intl_unicharutil_util_Makefile.in
@@ -1,12 +1,16 @@
-$NetBSD: patch-mozilla_intl_unicharutil_util_Makefile.in,v 1.2 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-mozilla_intl_unicharutil_util_Makefile.in,v 1.3 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/intl/unicharutil/util/Makefile.in.orig 2014-06-13 00:46:07.000000000 +0000
+--- mozilla/intl/unicharutil/util/Makefile.in.orig 2014-10-14 06:36:14.000000000 +0000
+++ mozilla/intl/unicharutil/util/Makefile.in
-@@ -23,3 +23,7 @@ ifdef _MSC_VER
- OS_COMPILE_CXXFLAGS += -Zl
- OS_COMPILE_CFLAGS += -Zl
+@@ -15,3 +15,11 @@ include $(topsrcdir)/config/rules.mk
+ ifdef ENABLE_INTL_API
+ LOCAL_INCLUDES += $(MOZ_ICU_CFLAGS)
endif
+
+ifdef MOZ_NATIVE_HARFBUZZ
+CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
+endif
++
++ifdef MOZ_NATIVE_HARFBUZZ
++CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
++endif
diff --git a/www/seamonkey/patches/patch-mozilla_ios b/www/seamonkey/patches/patch-mozilla_ios
new file mode 100644
index 00000000000..400896c69dd
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ios
@@ -0,0 +1,8 @@
+$NetBSD: patch-mozilla_ios,v 1.3 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/ios.orig 2014-11-01 10:20:11.000000000 +0000
++++ mozilla/ios
+@@ -0,0 +1,3 @@
++#pragma GCC visibility push(default)
++#include_next <ios>
++#pragma GCC visibility pop
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_Makefile.in b/www/seamonkey/patches/patch-mozilla_ipc_chromium_Makefile.in
index 0d54bf7b9d4..4e8b6de3e31 100644
--- a/www/seamonkey/patches/patch-mozilla_ipc_chromium_Makefile.in
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_Makefile.in
@@ -1,15 +1,13 @@
-$NetBSD: patch-mozilla_ipc_chromium_Makefile.in,v 1.11 2014/03/30 04:13:17 ryoon Exp $
+$NetBSD: patch-mozilla_ipc_chromium_Makefile.in,v 1.12 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/ipc/chromium/Makefile.in.orig 2014-03-19 01:41:56.000000000 +0000
+--- mozilla/ipc/chromium/Makefile.in.orig 2014-10-14 06:36:14.000000000 +0000
+++ mozilla/ipc/chromium/Makefile.in
-@@ -11,9 +11,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 # }
+@@ -28,6 +28,8 @@ include $(topsrcdir)/config/rules.mk
+
+ ifdef MOZ_NATIVE_LIBEVENT # {
- vpath %.cc \
++OS_CPPFLAGS += $(filter %/compat, $(MOZ_LIBEVENT_CFLAGS))
++
+ export-preqs = \
+ $(call mkdir_deps,$(CURDIR)/third_party/libevent) \
+ $(NULL)
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util.h b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util.h
index 5a80659a18a..39ccfa6c76d 100644
--- a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util.h
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util.h
@@ -1,6 +1,6 @@
-$NetBSD: patch-mozilla_ipc_chromium_src_base_process__util.h,v 1.10 2013/09/28 14:37:05 ryoon Exp $
+$NetBSD: patch-mozilla_ipc_chromium_src_base_process__util.h,v 1.11 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/ipc/chromium/src/base/process_util.h.orig 2013-09-16 18:26:38.000000000 +0000
+--- mozilla/ipc/chromium/src/base/process_util.h.orig 2014-10-14 06:36:14.000000000 +0000
+++ mozilla/ipc/chromium/src/base/process_util.h
@@ -13,7 +13,7 @@
#if defined(OS_WIN)
@@ -21,12 +21,3 @@ $NetBSD: patch-mozilla_ipc_chromium_src_base_process__util.h,v 1.10 2013/09/28 1
// TODO(port): we should not rely on a Win32 structure.
struct ProcessEntry {
int pid;
-@@ -316,7 +319,7 @@ class NamedProcessIterator {
- #if defined(OS_WIN)
- HANDLE snapshot_;
- bool started_iteration_;
--#elif defined(OS_LINUX) || defined(__GLIBC__)
-+#elif defined(OS_LINUX) || defined(__GLIBC__) || defined(OS_SOLARIS)
- DIR *procfs_dir_;
- #elif defined(OS_BSD)
- std::vector<ProcessEntry> content;
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc
index 61d829c47c6..0632eb8d145 100644
--- a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc
@@ -1,163 +1,14 @@
-$NetBSD: patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc,v 1.10 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc,v 1.11 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/ipc/chromium/src/base/process_util_bsd.cc.orig 2014-06-13 00:45:30.000000000 +0000
+--- mozilla/ipc/chromium/src/base/process_util_bsd.cc.orig 2014-10-14 06:36:14.000000000 +0000
+++ mozilla/ipc/chromium/src/base/process_util_bsd.cc
-@@ -15,7 +15,9 @@
+@@ -9,6 +9,9 @@
+ #include <sys/wait.h>
- #include <ctype.h>
#include <fcntl.h>
+#if defined(OS_BSD)
- #include <kvm.h>
++#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/www/seamonkey/patches/patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp b/www/seamonkey/patches/patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp
index b0cacf75b84..4f18bedd477 100644
--- a/www/seamonkey/patches/patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp
+++ b/www/seamonkey/patches/patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp
@@ -1,6 +1,6 @@
-$NetBSD: patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp,v 1.10 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp,v 1.11 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/ipc/glue/GeckoChildProcessHost.cpp.orig 2014-06-13 00:46:08.000000000 +0000
+--- mozilla/ipc/glue/GeckoChildProcessHost.cpp.orig 2014-10-14 06:36:14.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,8 +14,8 @@ $NetBSD: patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp,v 1.10 2014/06/22 08:5
+_Pragma("GCC visibility pop")
+#endif
- #if defined(XP_WIN) && defined(MOZ_CONTENT_SANDBOX)
- #include "sandboxBroker.h"
+ #include "base/command_line.h"
+ #include "base/path_service.h"
@@ -504,7 +510,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
// and passing wstrings from one config to the other is unsafe. So
// we split the logic here.
@@ -25,43 +25,7 @@ $NetBSD: patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp,v 1.10 2014/06/22 08:5
base::environment_map newEnvVars;
ChildPrivileges privs = mPrivileges;
if (privs == base::PRIVILEGES_DEFAULT) {
-@@ -523,7 +529,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
-@@ -538,7 +544,17 @@ GeckoChildProcessHost::PerformAsyncLaunc
- newEnvVars["LD_LIBRARY_PATH"] = path.get();
- }
- # elif OS_MACOSX
-- newEnvVars["DYLD_LIBRARY_PATH"] = path.get();
-+ const char *dyld_library_path = PR_GetEnv("DYLD_LIBRARY_PATH");
-+ nsCString new_dyld_lib_path;
-+ if (dyld_library_path && *dyld_library_path) {
-+ new_dyld_lib_path.Assign(path.get());
-+ new_dyld_lib_path.AppendLiteral(":");
-+ new_dyld_lib_path.Append(dyld_library_path);
-+ newEnvVars["DYLD_LIBRARY_PATH"] = new_dyld_lib_path.get();
-+ } else {
-+ newEnvVars["DYLD_LIBRARY_PATH"] = path.get();
-+ }
-+# if defined(MOZ_WIDGET_COCOA)
- // XXX DYLD_INSERT_LIBRARIES should only be set when launching a plugin
- // process, and has no effect on other subprocesses (the hooks in
- // libplugin_child_interpose.dylib become noops). But currently it
-@@ -558,6 +574,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
- interpose.Append(path.get());
- interpose.AppendLiteral("/libplugin_child_interpose.dylib");
- newEnvVars["DYLD_INSERT_LIBRARIES"] = interpose.get();
-+# endif // MOZ_WIDGET_COCOA
- # endif // OS_LINUX
- }
- }
-@@ -632,7 +649,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
+@@ -643,7 +649,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
childArgv.push_back(pidstring);
#if defined(MOZ_CRASHREPORTER)
@@ -70,7 +34,7 @@ $NetBSD: patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp,v 1.10 2014/06/22 08:5
int childCrashFd, childCrashRemapFd;
if (!CrashReporter::CreateNotificationPipeForChild(
&childCrashFd, &childCrashRemapFd))
-@@ -665,7 +682,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
+@@ -676,7 +682,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
childArgv.push_back(childProcessType);
base::LaunchApp(childArgv, mFileMap,
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_ipdl_ipdl_cxx_ast.py b/www/seamonkey/patches/patch-mozilla_ipc_ipdl_ipdl_cxx_ast.py
new file mode 100644
index 00000000000..4db294eb582
--- /dev/null
+++ b/www/seamonkey/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/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/ipc/ipdl/ipdl/cxx/ast.py.orig 2014-10-14 06:36:14.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/www/seamonkey/patches/patch-mozilla_ipc_ipdl_ipdl_cxx_cgen.py b/www/seamonkey/patches/patch-mozilla_ipc_ipdl_ipdl_cxx_cgen.py
new file mode 100644
index 00000000000..ae0f3151ca3
--- /dev/null
+++ b/www/seamonkey/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/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/ipc/ipdl/ipdl/cxx/cgen.py.orig 2014-10-14 06:36:14.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/www/seamonkey/patches/patch-mozilla_ipc_ipdl_ipdl_lower.py b/www/seamonkey/patches/patch-mozilla_ipc_ipdl_ipdl_lower.py
new file mode 100644
index 00000000000..c0e0975c987
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_ipdl_ipdl_lower.py
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_ipc_ipdl_ipdl_lower.py,v 1.3 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/ipc/ipdl/ipdl/lower.py.orig 2014-10-14 06:36:14.000000000 +0000
++++ mozilla/ipc/ipdl/ipdl/lower.py
+@@ -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/www/seamonkey/patches/patch-mozilla_js_src_Makefile.in b/www/seamonkey/patches/patch-mozilla_js_src_Makefile.in
index cb008cfe822..a51eb3e5c3e 100644
--- a/www/seamonkey/patches/patch-mozilla_js_src_Makefile.in
+++ b/www/seamonkey/patches/patch-mozilla_js_src_Makefile.in
@@ -1,8 +1,17 @@
-$NetBSD: patch-mozilla_js_src_Makefile.in,v 1.5 2014/03/30 04:13:17 ryoon Exp $
+$NetBSD: patch-mozilla_js_src_Makefile.in,v 1.6 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/js/src/Makefile.in.orig 2014-03-19 01:41:57.000000000 +0000
+--- mozilla/js/src/Makefile.in.orig 2014-10-14 06:36:15.000000000 +0000
+++ mozilla/js/src/Makefile.in
-@@ -379,7 +379,7 @@ endif
+@@ -18,8 +18,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)
+ ifndef MOZ_NATIVE_ZLIB
+@@ -226,7 +224,7 @@ EXTRA_LIBS += $(MOZ_ZLIB_LIBS)
ifdef MOZ_SHARED_ICU
EXTRA_DSO_LDOPTS += $(MOZ_ICU_LIBS)
else
@@ -10,4 +19,13 @@ $NetBSD: patch-mozilla_js_src_Makefile.in,v 1.5 2014/03/30 04:13:17 ryoon Exp $
+SHARED_LIBRARY_LIBS += $(filter-out -L% -l% -Wl%,$(MOZ_ICU_LIBS))
endif
- # Prevent floating point errors caused by VC++ optimizations
+ ifeq ($(OS_ARCH),FreeBSD)
+@@ -344,7 +342,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/www/seamonkey/patches/patch-mozilla_js_src_builtin_TypedObject.cpp b/www/seamonkey/patches/patch-mozilla_js_src_builtin_TypedObject.cpp
deleted file mode 100644
index fb0a615439b..00000000000
--- a/www/seamonkey/patches/patch-mozilla_js_src_builtin_TypedObject.cpp
+++ /dev/null
@@ -1,133 +0,0 @@
-$NetBSD: patch-mozilla_js_src_builtin_TypedObject.cpp,v 1.1 2014/10/17 16:50:11 joerg Exp $
-
---- mozilla/js/src/builtin/TypedObject.cpp.orig 2014-06-13 00:46:08.000000000 +0000
-+++ mozilla/js/src/builtin/TypedObject.cpp
-@@ -753,7 +753,7 @@ ArrayType::construct(JSContext *cx, unsi
- // Extract ArrayType.prototype
- RootedObject arrayTypePrototype(cx, GetPrototype(cx, arrayTypeGlobal));
- if (!arrayTypePrototype)
-- return nullptr;
-+ return false;
-
- // Create the instance of ArrayType
- RootedObject obj(
-@@ -766,7 +766,7 @@ ArrayType::construct(JSContext *cx, unsi
- if (!JSObject::defineProperty(cx, obj, cx->names().length,
- lengthVal, nullptr, nullptr,
- JSPROP_READONLY | JSPROP_PERMANENT))
-- return nullptr;
-+ return false;
-
- args.rval().setObject(*obj);
- return true;
-@@ -814,7 +814,7 @@ ArrayType::dimension(JSContext *cx, unsi
- if (!JSObject::defineProperty(cx, obj, cx->names().length,
- lengthVal, nullptr, nullptr,
- JSPROP_READONLY | JSPROP_PERMANENT))
-- return nullptr;
-+ return false;
-
- // Add `unsized` property, which is a link from the sized
- // array to the unsized array.
-@@ -822,7 +822,7 @@ ArrayType::dimension(JSContext *cx, unsi
- if (!JSObject::defineProperty(cx, obj, cx->names().unsized,
- unsizedTypeObjValue, nullptr, nullptr,
- JSPROP_READONLY | JSPROP_PERMANENT))
-- return nullptr;
-+ return false;
-
- args.rval().setObject(*obj);
- return true;
-@@ -1244,14 +1244,14 @@ GlobalObject::initTypedObjectModule(JSCo
- #define BINARYDATA_SCALAR_DEFINE(constant_, type_, name_) \
- if (!DefineSimpleTypeObject<ScalarType>(cx, global, module, constant_, \
- cx->names().name_)) \
-- return nullptr;
-+ return false;
- JS_FOR_EACH_SCALAR_TYPE_REPR(BINARYDATA_SCALAR_DEFINE)
- #undef BINARYDATA_SCALAR_DEFINE
-
- #define BINARYDATA_REFERENCE_DEFINE(constant_, type_, name_) \
- if (!DefineSimpleTypeObject<ReferenceType>(cx, global, module, constant_, \
- cx->names().name_)) \
-- return nullptr;
-+ return false;
- JS_FOR_EACH_REFERENCE_TYPE_REPR(BINARYDATA_REFERENCE_DEFINE)
- #undef BINARYDATA_REFERENCE_DEFINE
-
-@@ -1261,14 +1261,14 @@ GlobalObject::initTypedObjectModule(JSCo
- arrayType = DefineMetaTypeObject<ArrayType>(
- cx, global, module, TypedObjectModuleObject::ArrayTypePrototype);
- if (!arrayType)
-- return nullptr;
-+ return false;
-
- RootedValue arrayTypeValue(cx, ObjectValue(*arrayType));
- if (!JSObject::defineProperty(cx, module, cx->names().ArrayType,
- arrayTypeValue,
- nullptr, nullptr,
- JSPROP_READONLY | JSPROP_PERMANENT))
-- return nullptr;
-+ return false;
-
- // StructType.
-
-@@ -1276,23 +1276,23 @@ GlobalObject::initTypedObjectModule(JSCo
- structType = DefineMetaTypeObject<StructType>(
- cx, global, module, TypedObjectModuleObject::StructTypePrototype);
- if (!structType)
-- return nullptr;
-+ return false;
-
- RootedValue structTypeValue(cx, ObjectValue(*structType));
- if (!JSObject::defineProperty(cx, module, cx->names().StructType,
- structTypeValue,
- nullptr, nullptr,
- JSPROP_READONLY | JSPROP_PERMANENT))
-- return nullptr;
-+ return false;
-
- // Handle
-
- RootedObject handle(cx, NewBuiltinClassInstance(cx, &JSObject::class_));
- if (!module)
-- return nullptr;
-+ return false;
-
- if (!JS_DefineFunctions(cx, handle, TypedHandle::handleStaticMethods))
-- return nullptr;
-+ return false;
-
- RootedValue handleValue(cx, ObjectValue(*handle));
- if (!JSObject::defineProperty(cx, module, cx->names().Handle,
-@@ -1300,7 +1300,7 @@ GlobalObject::initTypedObjectModule(JSCo
- nullptr, nullptr,
- JSPROP_READONLY | JSPROP_PERMANENT))
- {
-- return nullptr;
-+ return false;
- }
-
- // Everything is setup, install module on the global object:
-@@ -1311,10 +1311,10 @@ GlobalObject::initTypedObjectModule(JSCo
- nullptr, nullptr,
- 0))
- {
-- return nullptr;
-+ return false;
- }
-
-- return module;
-+ return module != nullptr;
- }
-
- JSObject *
-@@ -2404,7 +2404,7 @@ TypedObject::construct(JSContext *cx, un
- // Create zeroed wrapper object.
- Rooted<TypedObject*> obj(cx, createZeroed(cx, callee, length));
- if (!obj)
-- return nullptr;
-+ return false;
-
- if (nextArg < argc) {
- RootedValue initial(cx, args[nextArg++]);
diff --git a/www/seamonkey/patches/patch-mozilla_js_src_gc_Memory.cpp b/www/seamonkey/patches/patch-mozilla_js_src_gc_Memory.cpp
index 98fd1127be6..8269fe88374 100644
--- a/www/seamonkey/patches/patch-mozilla_js_src_gc_Memory.cpp
+++ b/www/seamonkey/patches/patch-mozilla_js_src_gc_Memory.cpp
@@ -1,10 +1,10 @@
-$NetBSD: patch-mozilla_js_src_gc_Memory.cpp,v 1.3 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-mozilla_js_src_gc_Memory.cpp,v 1.4 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/js/src/gc/Memory.cpp.orig 2014-06-13 00:46:08.000000000 +0000
+--- mozilla/js/src/gc/Memory.cpp.orig 2014-10-14 06:36:16.000000000 +0000
+++ mozilla/js/src/gc/Memory.cpp
-@@ -312,7 +312,7 @@ gc::InitMemorySubsystem(JSRuntime *rt)
- static inline void *
- MapMemory(size_t length, int prot, int flags, int fd, off_t offset)
+@@ -406,7 +406,7 @@ static inline void *
+ MapMemory(size_t length, int prot = PROT_READ | PROT_WRITE,
+ int flags = MAP_PRIVATE | MAP_ANON, int fd = -1, off_t offset = 0)
{
-#if defined(__ia64__)
+#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__))
diff --git a/www/seamonkey/patches/patch-mozilla_js_src_vm_WeakMapPtr.cpp b/www/seamonkey/patches/patch-mozilla_js_src_vm_WeakMapPtr.cpp
new file mode 100644
index 00000000000..0e9314c6887
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_js_src_vm_WeakMapPtr.cpp
@@ -0,0 +1,16 @@
+$NetBSD: patch-mozilla_js_src_vm_WeakMapPtr.cpp,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/js/src/vm/WeakMapPtr.cpp.orig 2014-10-14 06:36:24.000000000 +0000
++++ mozilla/js/src/vm/WeakMapPtr.cpp
+@@ -120,9 +120,9 @@ JS::WeakMapPtr<K, V>::put(JSContext *cx,
+ // Supported specializations of JS::WeakMap:
+ //
+
+-template class JS::WeakMapPtr<JSObject*, JSObject*>;
++template class JS_PUBLIC_API(JS::WeakMapPtr)<JSObject*, JSObject*>;
+
+ #ifdef DEBUG
+ // Nobody's using this at the moment, but we want to make sure it compiles.
+-template class JS::WeakMapPtr<JSObject*, JS::Value>;
++template class JS_PUBLIC_API(JS::WeakMapPtr)<JSObject*, JS::Value>;
+ #endif
diff --git a/www/seamonkey/patches/patch-mozilla_media_libcubeb_AUTHORS b/www/seamonkey/patches/patch-mozilla_media_libcubeb_AUTHORS
new file mode 100644
index 00000000000..eaba2f38dc3
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_media_libcubeb_AUTHORS
@@ -0,0 +1,9 @@
+$NetBSD: patch-mozilla_media_libcubeb_AUTHORS,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/media/libcubeb/AUTHORS.orig 2014-10-14 06:36:30.000000000 +0000
++++ mozilla/media/libcubeb/AUTHORS
+@@ -4,3 +4,4 @@ Michael Wu <mwu@mozilla.com>
+ Paul Adenot <paul@paul.cx>
+ David Richards <drichards@mozilla.com>
+ Sebastien Alaiwan <sebastien.alaiwan@gmail.com>
++Evgeniy Vodolazskiy <waterlaz@gmail.com>
diff --git a/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_Makefile.in b/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_Makefile.in
index 1f466823a54..026b2f93065 100644
--- a/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_Makefile.in
+++ b/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_Makefile.in
@@ -1,15 +1,12 @@
-$NetBSD: patch-mozilla_media_libcubeb_src_Makefile.in,v 1.5 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-mozilla_media_libcubeb_src_Makefile.in,v 1.6 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/media/libcubeb/src/Makefile.in.orig 2014-06-13 00:46:10.000000000 +0000
+--- mozilla/media/libcubeb/src/Makefile.in.orig 2014-10-14 06:36:30.000000000 +0000
+++ mozilla/media/libcubeb/src/Makefile.in
-@@ -10,6 +10,10 @@ CFLAGS += \
+@@ -9,3 +9,7 @@ CFLAGS += \
+ $(MOZ_ALSA_CFLAGS) \
$(MOZ_PULSEAUDIO_CFLAGS) \
$(NULL)
-
++
+ifdef MOZ_NATIVE_SPEEX
+CFLAGS += $(MOZ_SPEEX_CFLAGS)
+endif
-+
- ifeq ($(MOZ_WIDGET_TOOLKIT),gonk)
- LOCAL_INCLUDES += -I$(ANDROID_SOURCE)/frameworks/wilhelm/include \
- -I$(ANDROID_SOURCE)/system/media/wilhelm/include
diff --git a/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_cubeb.c b/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_cubeb.c
new file mode 100644
index 00000000000..42417b1cffc
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_cubeb.c
@@ -0,0 +1,24 @@
+$NetBSD: patch-mozilla_media_libcubeb_src_cubeb.c,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/media/libcubeb/src/cubeb.c.orig 2014-10-14 06:36:30.000000000 +0000
++++ mozilla/media/libcubeb/src/cubeb.c
+@@ -54,6 +54,9 @@ int opensl_init(cubeb ** context, char c
+ #if defined(USE_AUDIOTRACK)
+ int audiotrack_init(cubeb ** context, char const * context_name);
+ #endif
++#if defined(USE_OSS)
++int oss_init(cubeb ** context, char const * context_name);
++#endif
+
+ int
+ validate_stream_params(cubeb_stream_params stream_params)
+@@ -120,6 +123,9 @@ cubeb_init(cubeb ** context, char const
+ #if defined(USE_AUDIOTRACK)
+ audiotrack_init,
+ #endif
++#if defined(USE_OSS)
++ oss_init,
++#endif
+ };
+ int i;
+
diff --git a/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_cubeb__alsa.c b/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_cubeb__alsa.c
index b78a82f31b5..c2369690cb6 100644
--- a/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_cubeb__alsa.c
+++ b/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_cubeb__alsa.c
@@ -1,8 +1,8 @@
-$NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.1 2013/11/08 12:55:52 ryoon Exp $
+$NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.2 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/media/libcubeb/src/cubeb_alsa.c.orig 2013-10-29 01:21:03.000000000 +0000
+--- mozilla/media/libcubeb/src/cubeb_alsa.c.orig 2014-10-14 06:36:30.000000000 +0000
+++ mozilla/media/libcubeb/src/cubeb_alsa.c
-@@ -6,6 +6,9 @@
+@@ -6,11 +6,15 @@
*/
#undef NDEBUG
#define _BSD_SOURCE
@@ -12,3 +12,532 @@ $NetBSD: patch-mozilla_media_libcubeb_src_cubeb__alsa.c,v 1.1 2013/11/08 12:55:5
#define _XOPEN_SOURCE 500
#include <pthread.h>
#include <sys/time.h>
+ #include <assert.h>
+ #include <limits.h>
++#include <dlfcn.h>
+ #include <poll.h>
+ #include <unistd.h>
+ #include <alsa/asoundlib.h>
+@@ -24,6 +28,50 @@
+
+ #define ALSA_PA_PLUGIN "ALSA <-> PulseAudio PCM I/O Plugin"
+
++#ifdef DISABLE_LIBASOUND_DLOPEN
++#define WRAP(x) x
++#else
++#define WRAP(x) cubeb_##x
++#define MAKE_TYPEDEF(x) static typeof(x) * cubeb_##x
++MAKE_TYPEDEF(snd_config);
++MAKE_TYPEDEF(snd_config_add);
++MAKE_TYPEDEF(snd_config_copy);
++MAKE_TYPEDEF(snd_config_delete);
++MAKE_TYPEDEF(snd_config_get_id);
++MAKE_TYPEDEF(snd_config_get_string);
++MAKE_TYPEDEF(snd_config_imake_integer);
++MAKE_TYPEDEF(snd_config_search);
++MAKE_TYPEDEF(snd_config_search_definition);
++MAKE_TYPEDEF(snd_lib_error_set_handler);
++MAKE_TYPEDEF(snd_pcm_avail_update);
++MAKE_TYPEDEF(snd_pcm_close);
++MAKE_TYPEDEF(snd_pcm_delay);
++MAKE_TYPEDEF(snd_pcm_drain);
++MAKE_TYPEDEF(snd_pcm_frames_to_bytes);
++MAKE_TYPEDEF(snd_pcm_get_params);
++/* snd_pcm_hw_params_alloca is actually a macro */
++/* MAKE_TYPEDEF(snd_pcm_hw_params_alloca); */
++MAKE_TYPEDEF(snd_pcm_hw_params_sizeof);
++#define snd_pcm_hw_params_sizeof cubeb_snd_pcm_hw_params_sizeof
++MAKE_TYPEDEF(snd_pcm_hw_params_any);
++MAKE_TYPEDEF(snd_pcm_hw_params_get_channels_max);
++MAKE_TYPEDEF(snd_pcm_hw_params_get_rate);
++MAKE_TYPEDEF(snd_pcm_hw_params_set_rate_near);
++MAKE_TYPEDEF(snd_pcm_nonblock);
++MAKE_TYPEDEF(snd_pcm_open);
++MAKE_TYPEDEF(snd_pcm_open_lconf);
++MAKE_TYPEDEF(snd_pcm_pause);
++MAKE_TYPEDEF(snd_pcm_poll_descriptors);
++MAKE_TYPEDEF(snd_pcm_poll_descriptors_count);
++MAKE_TYPEDEF(snd_pcm_poll_descriptors_revents);
++MAKE_TYPEDEF(snd_pcm_recover);
++MAKE_TYPEDEF(snd_pcm_set_params);
++MAKE_TYPEDEF(snd_pcm_state);
++MAKE_TYPEDEF(snd_pcm_writei);
++
++#undef MAKE_TYPEDEF
++#endif
++
+ /* ALSA is not thread-safe. snd_pcm_t instances are individually protected
+ by the owning cubeb_stream's mutex. snd_pcm_t creation and destruction
+ is not thread-safe until ALSA 1.0.24 (see alsa-lib.git commit 91c9c8f1),
+@@ -64,6 +112,8 @@ struct cubeb {
+ workaround is not required. */
+ snd_config_t * local_config;
+ int is_pa;
++
++ void * libasound;
+ };
+
+ enum stream_state {
+@@ -261,7 +311,7 @@ alsa_refill_stream(cubeb_stream * stm)
+
+ pthread_mutex_lock(&stm->mutex);
+
+- r = snd_pcm_poll_descriptors_revents(stm->pcm, stm->fds, stm->nfds, &revents);
++ r = WRAP(snd_pcm_poll_descriptors_revents)(stm->pcm, stm->fds, stm->nfds, &revents);
+ if (r < 0 || revents != POLLOUT) {
+ /* This should be a stream error; it makes no sense for poll(2) to wake
+ for this stream and then have the stream report that it's not ready.
+@@ -270,10 +320,10 @@ alsa_refill_stream(cubeb_stream * stm)
+ return RUNNING;
+ }
+
+- avail = snd_pcm_avail_update(stm->pcm);
++ avail = WRAP(snd_pcm_avail_update)(stm->pcm);
+ if (avail == -EPIPE) {
+- snd_pcm_recover(stm->pcm, avail, 1);
+- avail = snd_pcm_avail_update(stm->pcm);
++ WRAP(snd_pcm_recover)(stm->pcm, avail, 1);
++ avail = WRAP(snd_pcm_avail_update)(stm->pcm);
+ }
+
+ /* Failed to recover from an xrun, this stream must be broken. */
+@@ -292,8 +342,8 @@ alsa_refill_stream(cubeb_stream * stm)
+ available to write. If avail is still zero here, the stream must be in
+ a funky state, so recover and try again. */
+ if (avail == 0) {
+- snd_pcm_recover(stm->pcm, -EPIPE, 1);
+- avail = snd_pcm_avail_update(stm->pcm);
++ WRAP(snd_pcm_recover)(stm->pcm, -EPIPE, 1);
++ avail = WRAP(snd_pcm_avail_update)(stm->pcm);
+ if (avail <= 0) {
+ pthread_mutex_unlock(&stm->mutex);
+ stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
+@@ -301,7 +351,7 @@ alsa_refill_stream(cubeb_stream * stm)
+ }
+ }
+
+- p = calloc(1, snd_pcm_frames_to_bytes(stm->pcm, avail));
++ p = calloc(1, WRAP(snd_pcm_frames_to_bytes)(stm->pcm, avail));
+ assert(p);
+
+ pthread_mutex_unlock(&stm->mutex);
+@@ -313,10 +363,10 @@ alsa_refill_stream(cubeb_stream * stm)
+ return ERROR;
+ }
+ if (got > 0) {
+- snd_pcm_sframes_t wrote = snd_pcm_writei(stm->pcm, p, got);
++ snd_pcm_sframes_t wrote = WRAP(snd_pcm_writei)(stm->pcm, p, got);
+ if (wrote == -EPIPE) {
+- snd_pcm_recover(stm->pcm, wrote, 1);
+- wrote = snd_pcm_writei(stm->pcm, p, got);
++ WRAP(snd_pcm_recover)(stm->pcm, wrote, 1);
++ wrote = WRAP(snd_pcm_writei)(stm->pcm, p, got);
+ }
+ assert(wrote >= 0 && wrote == got);
+ stm->write_position += wrote;
+@@ -328,7 +378,7 @@ alsa_refill_stream(cubeb_stream * stm)
+
+ /* Fill the remaining buffer with silence to guarantee one full period
+ has been written. */
+- snd_pcm_writei(stm->pcm, (char *) p + got, avail - got);
++ WRAP(snd_pcm_writei)(stm->pcm, (char *) p + got, avail - got);
+
+ set_timeout(&stm->drain_timeout, buffer_time * 1000);
+
+@@ -439,26 +489,26 @@ get_slave_pcm_node(snd_config_t * lconf,
+
+ slave_def = NULL;
+
+- r = snd_config_search(root_pcm, "slave", &slave_pcm);
++ r = WRAP(snd_config_search)(root_pcm, "slave", &slave_pcm);
+ if (r < 0) {
+ return NULL;
+ }
+
+- r = snd_config_get_string(slave_pcm, &string);
++ r = WRAP(snd_config_get_string)(slave_pcm, &string);
+ if (r >= 0) {
+- r = snd_config_search_definition(lconf, "pcm_slave", string, &slave_def);
++ r = WRAP(snd_config_search_definition)(lconf, "pcm_slave", string, &slave_def);
+ if (r < 0) {
+ return NULL;
+ }
+ }
+
+ do {
+- r = snd_config_search(slave_def ? slave_def : slave_pcm, "pcm", &pcm);
++ r = WRAP(snd_config_search)(slave_def ? slave_def : slave_pcm, "pcm", &pcm);
+ if (r < 0) {
+ break;
+ }
+
+- r = snd_config_get_string(slave_def ? slave_def : slave_pcm, &string);
++ r = WRAP(snd_config_get_string)(slave_def ? slave_def : slave_pcm, &string);
+ if (r < 0) {
+ break;
+ }
+@@ -467,7 +517,7 @@ get_slave_pcm_node(snd_config_t * lconf,
+ if (r < 0 || r > (int) sizeof(node_name)) {
+ break;
+ }
+- r = snd_config_search(lconf, node_name, &pcm);
++ r = WRAP(snd_config_search)(lconf, node_name, &pcm);
+ if (r < 0) {
+ break;
+ }
+@@ -476,7 +526,7 @@ get_slave_pcm_node(snd_config_t * lconf,
+ } while (0);
+
+ if (slave_def) {
+- snd_config_delete(slave_def);
++ WRAP(snd_config_delete)(slave_def);
+ }
+
+ return NULL;
+@@ -499,22 +549,22 @@ init_local_config_with_workaround(char c
+
+ lconf = NULL;
+
+- if (snd_config == NULL) {
++ if (*WRAP(snd_config) == NULL) {
+ return NULL;
+ }
+
+- r = snd_config_copy(&lconf, snd_config);
++ r = WRAP(snd_config_copy)(&lconf, *WRAP(snd_config));
+ if (r < 0) {
+ return NULL;
+ }
+
+ do {
+- r = snd_config_search_definition(lconf, "pcm", pcm_name, &pcm_node);
++ r = WRAP(snd_config_search_definition)(lconf, "pcm", pcm_name, &pcm_node);
+ if (r < 0) {
+ break;
+ }
+
+- r = snd_config_get_id(pcm_node, &string);
++ r = WRAP(snd_config_get_id)(pcm_node, &string);
+ if (r < 0) {
+ break;
+ }
+@@ -523,7 +573,7 @@ init_local_config_with_workaround(char c
+ if (r < 0 || r > (int) sizeof(node_name)) {
+ break;
+ }
+- r = snd_config_search(lconf, node_name, &pcm_node);
++ r = WRAP(snd_config_search)(lconf, node_name, &pcm_node);
+ if (r < 0) {
+ break;
+ }
+@@ -534,12 +584,12 @@ init_local_config_with_workaround(char c
+ }
+
+ /* Fetch the PCM node's type, and bail out if it's not the PulseAudio plugin. */
+- r = snd_config_search(pcm_node, "type", &node);
++ r = WRAP(snd_config_search)(pcm_node, "type", &node);
+ if (r < 0) {
+ break;
+ }
+
+- r = snd_config_get_string(node, &string);
++ r = WRAP(snd_config_get_string)(node, &string);
+ if (r < 0) {
+ break;
+ }
+@@ -550,18 +600,18 @@ init_local_config_with_workaround(char c
+
+ /* Don't clobber an explicit existing handle_underrun value, set it only
+ if it doesn't already exist. */
+- r = snd_config_search(pcm_node, "handle_underrun", &node);
++ r = WRAP(snd_config_search)(pcm_node, "handle_underrun", &node);
+ if (r != -ENOENT) {
+ break;
+ }
+
+ /* Disable pcm_pulse's asynchronous underrun handling. */
+- r = snd_config_imake_integer(&node, "handle_underrun", 0);
++ r = WRAP(snd_config_imake_integer)(&node, "handle_underrun", 0);
+ if (r < 0) {
+ break;
+ }
+
+- r = snd_config_add(pcm_node, node);
++ r = WRAP(snd_config_add)(pcm_node, node);
+ if (r < 0) {
+ break;
+ }
+@@ -569,7 +619,7 @@ init_local_config_with_workaround(char c
+ return lconf;
+ } while (0);
+
+- snd_config_delete(lconf);
++ WRAP(snd_config_delete)(lconf);
+
+ return NULL;
+ }
+@@ -581,9 +631,9 @@ alsa_locked_pcm_open(snd_pcm_t ** pcm, s
+
+ pthread_mutex_lock(&cubeb_alsa_mutex);
+ if (local_config) {
+- r = snd_pcm_open_lconf(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK, local_config);
++ r = WRAP(snd_pcm_open_lconf)(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK, local_config);
+ } else {
+- r = snd_pcm_open(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK);
++ r = WRAP(snd_pcm_open)(pcm, CUBEB_ALSA_PCM_NAME, stream, SND_PCM_NONBLOCK);
+ }
+ pthread_mutex_unlock(&cubeb_alsa_mutex);
+
+@@ -596,7 +646,7 @@ alsa_locked_pcm_close(snd_pcm_t * pcm)
+ int r;
+
+ pthread_mutex_lock(&cubeb_alsa_mutex);
+- r = snd_pcm_close(pcm);
++ r = WRAP(snd_pcm_close)(pcm);
+ pthread_mutex_unlock(&cubeb_alsa_mutex);
+
+ return r;
+@@ -653,12 +703,65 @@ alsa_init(cubeb ** context, char const *
+ pthread_attr_t attr;
+ snd_pcm_t * dummy;
+
++ void * libasound = NULL;
++
++#ifndef DISABLE_LIBASOUND_DLOPEN
++ libasound = dlopen("libasound.so", RTLD_LAZY);
++ if (!libasound) {
++ return CUBEB_ERROR;
++ }
++
++#define LOAD(x) do { \
++ cubeb_##x = dlsym(libasound, #x); \
++ if (!cubeb_##x) { \
++ dlclose(libasound); \
++ return CUBEB_ERROR; \
++ } \
++ } while(0)
++
++ LOAD(snd_config);
++ LOAD(snd_config_add);
++ LOAD(snd_config_copy);
++ LOAD(snd_config_delete);
++ LOAD(snd_config_get_id);
++ LOAD(snd_config_get_string);
++ LOAD(snd_config_imake_integer);
++ LOAD(snd_config_search);
++ LOAD(snd_config_search_definition);
++ LOAD(snd_lib_error_set_handler);
++ LOAD(snd_pcm_avail_update);
++ LOAD(snd_pcm_close);
++ LOAD(snd_pcm_delay);
++ LOAD(snd_pcm_drain);
++ LOAD(snd_pcm_frames_to_bytes);
++ LOAD(snd_pcm_get_params);
++ /* snd_pcm_hw_params_alloca is actually a macro */
++ /* LOAD(snd_pcm_hw_params_alloca); */
++ LOAD(snd_pcm_hw_params_sizeof);
++ LOAD(snd_pcm_hw_params_any);
++ LOAD(snd_pcm_hw_params_get_channels_max);
++ LOAD(snd_pcm_hw_params_get_rate);
++ LOAD(snd_pcm_hw_params_set_rate_near);
++ LOAD(snd_pcm_nonblock);
++ LOAD(snd_pcm_open);
++ LOAD(snd_pcm_open_lconf);
++ LOAD(snd_pcm_pause);
++ LOAD(snd_pcm_poll_descriptors);
++ LOAD(snd_pcm_poll_descriptors_count);
++ LOAD(snd_pcm_poll_descriptors_revents);
++ LOAD(snd_pcm_recover);
++ LOAD(snd_pcm_set_params);
++ LOAD(snd_pcm_state);
++ LOAD(snd_pcm_writei);
++
++#undef LOAD
++#endif
+ assert(context);
+ *context = NULL;
+
+ pthread_mutex_lock(&cubeb_alsa_mutex);
+ if (!cubeb_alsa_error_handler_set) {
+- snd_lib_error_set_handler(silent_error_handler);
++ WRAP(snd_lib_error_set_handler)(silent_error_handler);
+ cubeb_alsa_error_handler_set = 1;
+ }
+ pthread_mutex_unlock(&cubeb_alsa_mutex);
+@@ -666,6 +769,8 @@ alsa_init(cubeb ** context, char const *
+ ctx = calloc(1, sizeof(*ctx));
+ assert(ctx);
+
++ ctx->libasound = libasound;
++
+ ctx->ops = &alsa_ops;
+
+ r = pthread_mutex_init(&ctx->mutex, NULL);
+@@ -715,7 +820,7 @@ alsa_init(cubeb ** context, char const *
+ config fails with EINVAL, the PA PCM is too old for this workaround. */
+ if (r == -EINVAL) {
+ pthread_mutex_lock(&cubeb_alsa_mutex);
+- snd_config_delete(ctx->local_config);
++ WRAP(snd_config_delete)(ctx->local_config);
+ pthread_mutex_unlock(&cubeb_alsa_mutex);
+ ctx->local_config = NULL;
+ } else if (r >= 0) {
+@@ -754,9 +859,13 @@ alsa_destroy(cubeb * ctx)
+ pthread_mutex_destroy(&ctx->mutex);
+ free(ctx->fds);
+
++ if (ctx->libasound) {
++ dlclose(ctx->libasound);
++ }
++
+ if (ctx->local_config) {
+ pthread_mutex_lock(&cubeb_alsa_mutex);
+- snd_config_delete(ctx->local_config);
++ WRAP(snd_config_delete)(ctx->local_config);
+ pthread_mutex_unlock(&cubeb_alsa_mutex);
+ }
+
+@@ -823,7 +932,7 @@ alsa_stream_init(cubeb * ctx, cubeb_stre
+ return CUBEB_ERROR;
+ }
+
+- r = snd_pcm_nonblock(stm->pcm, 1);
++ r = WRAP(snd_pcm_nonblock)(stm->pcm, 1);
+ assert(r == 0);
+
+ /* Ugly hack: the PA ALSA plugin allows buffer configurations that can't
+@@ -833,23 +942,23 @@ alsa_stream_init(cubeb * ctx, cubeb_stre
+ latency = latency < 500 ? 500 : latency;
+ }
+
+- r = snd_pcm_set_params(stm->pcm, format, SND_PCM_ACCESS_RW_INTERLEAVED,
+- stm->params.channels, stm->params.rate, 1,
+- latency * 1000);
++ r = WRAP(snd_pcm_set_params)(stm->pcm, format, SND_PCM_ACCESS_RW_INTERLEAVED,
++ stm->params.channels, stm->params.rate, 1,
++ latency * 1000);
+ if (r < 0) {
+ alsa_stream_destroy(stm);
+ return CUBEB_ERROR_INVALID_FORMAT;
+ }
+
+- r = snd_pcm_get_params(stm->pcm, &stm->buffer_size, &stm->period_size);
++ r = WRAP(snd_pcm_get_params)(stm->pcm, &stm->buffer_size, &stm->period_size);
+ assert(r == 0);
+
+- stm->nfds = snd_pcm_poll_descriptors_count(stm->pcm);
++ stm->nfds = WRAP(snd_pcm_poll_descriptors_count)(stm->pcm);
+ assert(stm->nfds > 0);
+
+ stm->saved_fds = calloc(stm->nfds, sizeof(struct pollfd));
+ assert(stm->saved_fds);
+- r = snd_pcm_poll_descriptors(stm->pcm, stm->saved_fds, stm->nfds);
++ r = WRAP(snd_pcm_poll_descriptors)(stm->pcm, stm->saved_fds, stm->nfds);
+ assert((nfds_t) r == stm->nfds);
+
+ r = pthread_cond_init(&stm->cond, NULL);
+@@ -880,7 +989,7 @@ alsa_stream_destroy(cubeb_stream * stm)
+ pthread_mutex_lock(&stm->mutex);
+ if (stm->pcm) {
+ if (stm->state == DRAINING) {
+- snd_pcm_drain(stm->pcm);
++ WRAP(snd_pcm_drain)(stm->pcm);
+ }
+ alsa_locked_pcm_close(stm->pcm);
+ stm->pcm = NULL;
+@@ -922,12 +1031,12 @@ alsa_get_max_channel_count(cubeb * ctx,
+ return CUBEB_ERROR;
+ }
+
+- rv = snd_pcm_hw_params_any(stm->pcm, hw_params);
++ rv = WRAP(snd_pcm_hw_params_any)(stm->pcm, hw_params);
+ if (rv < 0) {
+ return CUBEB_ERROR;
+ }
+
+- rv = snd_pcm_hw_params_get_channels_max(hw_params, max_channels);
++ rv = WRAP(snd_pcm_hw_params_get_channels_max)(hw_params, max_channels);
+ if (rv < 0) {
+ return CUBEB_ERROR;
+ }
+@@ -947,34 +1056,34 @@ alsa_get_preferred_sample_rate(cubeb * c
+
+ /* get a pcm, disabling resampling, so we get a rate the
+ * hardware/dmix/pulse/etc. supports. */
+- rv = snd_pcm_open(&pcm, "", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0);
++ rv = WRAP(snd_pcm_open)(&pcm, "", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0);
+ if (rv < 0) {
+ return CUBEB_ERROR;
+ }
+
+- rv = snd_pcm_hw_params_any(pcm, hw_params);
++ rv = WRAP(snd_pcm_hw_params_any)(pcm, hw_params);
+ if (rv < 0) {
+- snd_pcm_close(pcm);
++ WRAP(snd_pcm_close)(pcm);
+ return CUBEB_ERROR;
+ }
+
+- rv = snd_pcm_hw_params_get_rate(hw_params, rate, &dir);
++ rv = WRAP(snd_pcm_hw_params_get_rate)(hw_params, rate, &dir);
+ if (rv >= 0) {
+ /* There is a default rate: use it. */
+- snd_pcm_close(pcm);
++ WRAP(snd_pcm_close)(pcm);
+ return CUBEB_OK;
+ }
+
+ /* Use a common rate, alsa may adjust it based on hw/etc. capabilities. */
+ *rate = 44100;
+
+- rv = snd_pcm_hw_params_set_rate_near(pcm, hw_params, rate, NULL);
++ rv = WRAP(snd_pcm_hw_params_set_rate_near)(pcm, hw_params, rate, NULL);
+ if (rv < 0) {
+- snd_pcm_close(pcm);
++ WRAP(snd_pcm_close)(pcm);
+ return CUBEB_ERROR;
+ }
+
+- snd_pcm_close(pcm);
++ WRAP(snd_pcm_close)(pcm);
+
+ return CUBEB_OK;
+ }
+@@ -998,7 +1107,7 @@ alsa_stream_start(cubeb_stream * stm)
+ ctx = stm->context;
+
+ pthread_mutex_lock(&stm->mutex);
+- snd_pcm_pause(stm->pcm, 0);
++ WRAP(snd_pcm_pause)(stm->pcm, 0);
+ gettimeofday(&stm->last_activity, NULL);
+ pthread_mutex_unlock(&stm->mutex);
+
+@@ -1032,7 +1141,7 @@ alsa_stream_stop(cubeb_stream * stm)
+ pthread_mutex_unlock(&ctx->mutex);
+
+ pthread_mutex_lock(&stm->mutex);
+- snd_pcm_pause(stm->pcm, 1);
++ WRAP(snd_pcm_pause)(stm->pcm, 1);
+ pthread_mutex_unlock(&stm->mutex);
+
+ return CUBEB_OK;
+@@ -1048,8 +1157,8 @@ alsa_stream_get_position(cubeb_stream *
+ pthread_mutex_lock(&stm->mutex);
+
+ delay = -1;
+- if (snd_pcm_state(stm->pcm) != SND_PCM_STATE_RUNNING ||
+- snd_pcm_delay(stm->pcm, &delay) != 0) {
++ if (WRAP(snd_pcm_state)(stm->pcm) != SND_PCM_STATE_RUNNING ||
++ WRAP(snd_pcm_delay)(stm->pcm, &delay) != 0) {
+ *position = stm->last_position;
+ pthread_mutex_unlock(&stm->mutex);
+ return CUBEB_OK;
+@@ -1074,7 +1183,7 @@ alsa_stream_get_latency(cubeb_stream * s
+ snd_pcm_sframes_t delay;
+ /* This function returns the delay in frames until a frame written using
+ snd_pcm_writei is sent to the DAC. The DAC delay should be < 1ms anyways. */
+- if (snd_pcm_delay(stm->pcm, &delay)) {
++ if (WRAP(snd_pcm_delay)(stm->pcm, &delay)) {
+ return CUBEB_ERROR;
+ }
+
diff --git a/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_cubeb__oss.c b/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_cubeb__oss.c
new file mode 100644
index 00000000000..eefc86f381c
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_cubeb__oss.c
@@ -0,0 +1,404 @@
+$NetBSD: patch-mozilla_media_libcubeb_src_cubeb__oss.c,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/media/libcubeb/src/cubeb_oss.c.orig 2014-11-01 10:20:11.000000000 +0000
++++ mozilla/media/libcubeb/src/cubeb_oss.c
+@@ -0,0 +1,399 @@
++/*
++ * Copyright © 2014 Mozilla Foundation
++ *
++ * This program is made available under an ISC-style license. See the
++ * accompanying file LICENSE for details.
++ */
++#if defined(HAVE_SYS_SOUNDCARD_H)
++#include <sys/soundcard.h>
++#elif defined(HAVE_LINUX_SOUNDCARD_H)
++#include <linux/soundcard.h>
++#else
++#include <soundcard.h>
++#endif
++#include <unistd.h>
++#include <stdlib.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <fcntl.h>
++#include <sys/ioctl.h>
++#include <errno.h>
++#include <pthread.h>
++#include <stdio.h>
++
++#include "cubeb/cubeb.h"
++#include "cubeb-internal.h"
++
++#ifndef CUBEB_OSS_DEFAULT_OUTPUT
++#define CUBEB_OSS_DEFAULT_OUTPUT "/dev/dsp"
++#endif
++
++#define OSS_BUFFER_SIZE 1024
++
++struct cubeb {
++ struct cubeb_ops const * ops;
++};
++
++struct cubeb_stream {
++ cubeb * context;
++
++ cubeb_data_callback data_callback;
++ cubeb_state_callback state_callback;
++ void * user_ptr;
++ float volume;
++ float panning;
++
++ pthread_mutex_t state_mutex;
++ pthread_cond_t state_cond;
++
++ int running;
++ int stopped;
++ int floating;
++
++ /* These two vars are needed to support old versions of OSS */
++ unsigned int position_bytes;
++ unsigned int last_position_bytes;
++
++ uint64_t written_frags; /* The number of fragments written to /dev/dsp */
++ uint64_t missed_frags; /* fragments output with stopped stream */
++
++ cubeb_stream_params params;
++ int fd;
++ pthread_t th;
++};
++
++static struct cubeb_ops const oss_ops;
++
++int oss_init(cubeb ** context, char const * context_name)
++{
++ cubeb* ctx = (cubeb*)malloc(sizeof(cubeb));
++ ctx->ops = &oss_ops;
++ *context = ctx;
++ return CUBEB_OK;
++}
++
++static void oss_destroy(cubeb *ctx)
++{
++ free(ctx);
++}
++
++static char const * oss_get_backend_id(cubeb * context)
++{
++ static char oss_name[] = "oss";
++ return oss_name;
++}
++
++static int oss_get_max_channel_count(cubeb * ctx, uint32_t * max_channels)
++{
++ *max_channels = 2; /* Let's support only stereo for now */
++ return CUBEB_OK;
++}
++
++static int oss_get_min_latency(cubeb * context, cubeb_stream_params params,
++ uint32_t * latency_ms)
++{
++ /* 40ms is a big enough number to work ok */
++ *latency_ms = 40;
++ return CUBEB_OK;
++}
++
++static int oss_get_preferred_sample_rate(cubeb *context, uint32_t * rate)
++{
++ /* 48000 seems a prefered choice for most audio devices
++ * and a good choice for OSS */
++ *rate = 48000;
++ return CUBEB_OK;
++}
++
++static void run_state_callback(cubeb_stream *stream, cubeb_state state)
++{
++ if (stream->state_callback) {
++ stream->state_callback(stream, stream->user_ptr, state);
++ }
++}
++
++static long run_data_callback(cubeb_stream *stream, void *buffer, long nframes)
++{
++ long got = 0;
++ pthread_mutex_lock(&stream->state_mutex);
++ if (stream->data_callback && stream->running && !stream->stopped) {
++ pthread_mutex_unlock(&stream->state_mutex);
++ got = stream->data_callback(stream, stream->user_ptr, buffer, nframes);
++ } else {
++ pthread_mutex_unlock(&stream->state_mutex);
++ }
++ return got;
++}
++
++static void apply_volume(int16_t* buffer, unsigned int n,
++ float volume, float panning)
++{
++ float left = volume;
++ float right = volume;
++ unsigned int i;
++ int pan[2];
++ if (panning<0) {
++ right *= (1+panning);
++ } else {
++ left *= (1-panning);
++ }
++ pan[0] = 128.0*left;
++ pan[1] = 128.0*right;
++ for(i=0; i<n; i++){
++ buffer[i] = ((int)buffer[i])*pan[i%2]/128;
++ }
++}
++
++static void *writer(void *stm)
++{
++ cubeb_stream* stream = (cubeb_stream*)stm;
++ int16_t buffer[OSS_BUFFER_SIZE];
++ float f_buffer[OSS_BUFFER_SIZE];
++ int got;
++ unsigned long i;
++ while (stream->running) {
++ pthread_mutex_lock(&stream->state_mutex);
++ if (stream->stopped) {
++ pthread_mutex_unlock(&stream->state_mutex);
++ run_state_callback(stream, CUBEB_STATE_STOPPED);
++ pthread_mutex_lock(&stream->state_mutex);
++ while (stream->stopped) {
++ pthread_cond_wait(&stream->state_cond, &stream->state_mutex);
++ }
++ pthread_mutex_unlock(&stream->state_mutex);
++ run_state_callback(stream, CUBEB_STATE_STARTED);
++ continue;
++ }
++ pthread_mutex_unlock(&stream->state_mutex);
++ if (stream->floating) {
++ got = run_data_callback(stream, f_buffer,
++ OSS_BUFFER_SIZE/stream->params.channels);
++ for (i=0; i<((unsigned long)got)*stream->params.channels; i++) {
++ buffer[i] = f_buffer[i]*32767.0;
++ }
++ } else {
++ got = run_data_callback(stream, buffer,
++ OSS_BUFFER_SIZE/stream->params.channels);
++ }
++ apply_volume(buffer, got*stream->params.channels,
++ stream->volume, stream->panning);
++ if (got<0) {
++ run_state_callback(stream, CUBEB_STATE_ERROR);
++ break;
++ }
++ if (!got) {
++ run_state_callback(stream, CUBEB_STATE_DRAINED);
++ }
++ if (got) {
++ size_t i = 0;
++ size_t s = got*stream->params.channels*sizeof(int16_t);
++ while (i < s) {
++ ssize_t n = write(stream->fd, ((char*)buffer) + i, s - i);
++ if (n<=0) {
++ run_state_callback(stream, CUBEB_STATE_ERROR);
++ break;
++ }
++ i+=n;
++ }
++ stream->written_frags+=got;
++ }
++ }
++ return NULL;
++}
++
++static void oss_try_set_latency(cubeb_stream* stream, unsigned int latency)
++{
++ unsigned int latency_bytes, n_frag;
++ int frag;
++ /* fragment size of 1024 is a good choice with good chances to be accepted */
++ unsigned int frag_size=1024;
++ unsigned int frag_log=10; /* 2^frag_log = frag_size */
++ latency_bytes =
++ latency*stream->params.rate*stream->params.channels*sizeof(uint16_t)/1000;
++ n_frag = latency_bytes>>frag_log;
++ frag = (n_frag<<16) | frag_log;
++ /* Even if this fails we wish to continue, not checking for errors */
++ ioctl(stream->fd, SNDCTL_DSP_SETFRAGMENT, &frag);
++}
++
++static int oss_stream_init(cubeb * context, cubeb_stream ** stm,
++ char const * stream_name,
++ cubeb_stream_params stream_params,
++ unsigned int latency,
++ cubeb_data_callback data_callback,
++ cubeb_state_callback state_callback, void * user_ptr)
++{
++ cubeb_stream* stream = (cubeb_stream*)malloc(sizeof(cubeb_stream));
++ stream->context = context;
++ stream->data_callback = data_callback;
++ stream->state_callback = state_callback;
++ stream->user_ptr = user_ptr;
++
++ if ((stream->fd = open(CUBEB_OSS_DEFAULT_OUTPUT, O_WRONLY)) == -1) {
++ free(stream);
++ return CUBEB_ERROR;
++ }
++#define SET(what, to) do { unsigned int i = to; \
++ int j = ioctl(stream->fd, what, &i); \
++ if (j == -1 || i != to) { \
++ close(stream->fd); \
++ free(stream); \
++ return CUBEB_ERROR_INVALID_FORMAT; } } while (0)
++
++ stream->params = stream_params;
++ stream->volume = 1.0;
++ stream->panning = 0.0;
++
++ oss_try_set_latency(stream, latency);
++
++ stream->floating = 0;
++ SET(SNDCTL_DSP_CHANNELS, stream_params.channels);
++ SET(SNDCTL_DSP_SPEED, stream_params.rate);
++ switch (stream_params.format) {
++ case CUBEB_SAMPLE_S16LE:
++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_LE);
++ break;
++ case CUBEB_SAMPLE_S16BE:
++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_BE);
++ break;
++ case CUBEB_SAMPLE_FLOAT32LE:
++ SET(SNDCTL_DSP_SETFMT, AFMT_S16_NE);
++ stream->floating = 1;
++ break;
++ default:
++ close(stream->fd);
++ free(stream);
++ return CUBEB_ERROR;
++ }
++
++
++ pthread_mutex_init(&stream->state_mutex, NULL);
++ pthread_cond_init(&stream->state_cond, NULL);
++
++ stream->running = 1;
++ stream->stopped = 1;
++ stream->position_bytes = 0;
++ stream->last_position_bytes = 0;
++ stream->written_frags = 0;
++ stream->missed_frags = 0;
++
++ pthread_create(&stream->th, NULL, writer, (void*)stream);
++
++ *stm = stream;
++
++ return CUBEB_OK;
++}
++
++static void oss_stream_destroy(cubeb_stream * stream)
++{
++ pthread_mutex_lock(&stream->state_mutex);
++
++ stream->running = 0;
++ stream->stopped = 0;
++ pthread_cond_signal(&stream->state_cond);
++
++ pthread_mutex_unlock(&stream->state_mutex);
++
++ pthread_join(stream->th, NULL);
++
++ pthread_mutex_destroy(&stream->state_mutex);
++ pthread_cond_destroy(&stream->state_cond);
++ close(stream->fd);
++ free(stream);
++}
++
++static int oss_stream_get_latency(cubeb_stream * stream, uint32_t * latency)
++{
++ if (ioctl(stream->fd, SNDCTL_DSP_GETODELAY, latency)==-1) {
++ return CUBEB_ERROR;
++ }
++ /* Convert latency from bytes to frames */
++ *latency /= stream->params.channels*sizeof(int16_t);
++ return CUBEB_OK;
++}
++
++
++static int oss_stream_current_optr(cubeb_stream * stream, uint64_t * position)
++{
++ count_info ci;
++ /* Unfortunately, this ioctl is only available in OSS 4.x */
++#ifdef SNDCTL_DSP_CURRENT_OPTR
++ oss_count_t count;
++ if (ioctl(stream->fd, SNDCTL_DSP_CURRENT_OPTR, &count) != -1) {
++ *position = count.samples;// + count.fifo_samples;
++ return CUBEB_OK;
++ }
++#endif
++ /* Fall back to this ioctl in case the previous one fails */
++ if (ioctl(stream->fd, SNDCTL_DSP_GETOPTR, &ci) == -1) {
++ return CUBEB_ERROR;
++ }
++ /* ci.bytes is only 32 bit and will start to wrap after arithmetic overflow */
++ stream->position_bytes += ci.bytes - stream->last_position_bytes;
++ stream->last_position_bytes = ci.bytes;
++ *position = stream->position_bytes/stream->params.channels/sizeof(int16_t);
++ return CUBEB_OK;
++}
++
++static int oss_stream_get_position(cubeb_stream * stream, uint64_t * position)
++{
++ if ( oss_stream_current_optr(stream, position) == CUBEB_OK ){
++ *position -= stream->missed_frags;
++ return CUBEB_OK;
++ }
++ /* If no correct method to get position works we resort to this */
++ *position = stream->written_frags;
++ return CUBEB_OK;
++}
++
++
++static int oss_stream_start(cubeb_stream * stream)
++{
++ pthread_mutex_lock(&stream->state_mutex);
++ if (stream->stopped) {
++ uint64_t ptr;
++ oss_stream_current_optr(stream, &ptr);
++ stream->missed_frags = ptr - stream->written_frags;
++ stream->stopped = 0;
++ pthread_cond_signal(&stream->state_cond);
++ }
++ pthread_mutex_unlock(&stream->state_mutex);
++ return CUBEB_OK;
++}
++
++static int oss_stream_stop(cubeb_stream * stream)
++{
++ pthread_mutex_lock(&stream->state_mutex);
++ stream->stopped = 1;
++ pthread_mutex_unlock(&stream->state_mutex);
++ return CUBEB_OK;
++}
++
++int oss_stream_set_panning(cubeb_stream * stream, float panning)
++{
++ if (stream->params.channels == 2) {
++ stream->panning=panning;
++ }
++ return CUBEB_OK;
++}
++
++int oss_stream_set_volume(cubeb_stream * stream, float volume)
++{
++ stream->volume=volume;
++ return CUBEB_OK;
++}
++
++static struct cubeb_ops const oss_ops = {
++ .init = oss_init,
++ .get_backend_id = oss_get_backend_id,
++ .get_max_channel_count = oss_get_max_channel_count,
++ .get_min_latency = oss_get_min_latency,
++ .get_preferred_sample_rate = oss_get_preferred_sample_rate,
++ .destroy = oss_destroy,
++ .stream_init = oss_stream_init,
++ .stream_destroy = oss_stream_destroy,
++ .stream_start = oss_stream_start,
++ .stream_stop = oss_stream_stop,
++ .stream_get_position = oss_stream_get_position,
++ .stream_get_latency = oss_stream_get_latency
++};
diff --git a/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_moz.build b/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_moz.build
index 0e619103500..097f03b0611 100644
--- a/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_moz.build
+++ b/www/seamonkey/patches/patch-mozilla_media_libcubeb_src_moz.build
@@ -1,8 +1,21 @@
-$NetBSD: patch-mozilla_media_libcubeb_src_moz.build,v 1.1 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-mozilla_media_libcubeb_src_moz.build,v 1.2 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/media/libcubeb/src/moz.build.orig 2014-06-13 00:46:10.000000000 +0000
+--- mozilla/media/libcubeb/src/moz.build.orig 2014-10-14 06:36:30.000000000 +0000
+++ mozilla/media/libcubeb/src/moz.build
-@@ -28,7 +28,7 @@ if CONFIG['OS_ARCH'] == 'OpenBSD':
+@@ -16,6 +16,12 @@ if CONFIG['MOZ_ALSA']:
+ ]
+ DEFINES['USE_ALSA'] = True
+
++if CONFIG['MOZ_OSS']:
++ SOURCES += [
++ 'cubeb_oss.c',
++ ]
++ DEFINES['USE_OSS'] = True
++
+ if CONFIG['MOZ_PULSEAUDIO']:
+ SOURCES += [
+ 'cubeb_pulse.c',
+@@ -30,7 +36,7 @@ if CONFIG['OS_ARCH'] == 'OpenBSD':
]
DEFINES['USE_SNDIO'] = True
@@ -11,3 +24,9 @@ $NetBSD: patch-mozilla_media_libcubeb_src_moz.build,v 1.1 2014/06/22 08:54:39 ry
SOURCES += [
'cubeb_audiounit.c',
]
+@@ -71,4 +77,5 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk
+ ]
+ ]
+
++CFLAGS += CONFIG['MOZ_OSS_CFLAGS']
+ FAIL_ON_WARNINGS = True
diff --git a/www/seamonkey/patches/patch-mozilla_media_libstagefright_frameworks_av_include_media_stagefright_foundation_AString.h b/www/seamonkey/patches/patch-mozilla_media_libstagefright_frameworks_av_include_media_stagefright_foundation_AString.h
new file mode 100644
index 00000000000..0b653235f95
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_media_libstagefright_frameworks_av_include_media_stagefright_foundation_AString.h
@@ -0,0 +1,14 @@
+$NetBSD: patch-mozilla_media_libstagefright_frameworks_av_include_media_stagefright_foundation_AString.h,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/media/libstagefright/frameworks/av/include/media/stagefright/foundation/AString.h.orig 2014-10-14 06:36:30.000000000 +0000
++++ mozilla/media/libstagefright/frameworks/av/include/media/stagefright/foundation/AString.h
+@@ -75,6 +75,9 @@ struct AString {
+ bool startsWith(const char *prefix) const;
+ bool endsWith(const char *suffix) const;
+
++#if defined(__NetBSD__) && defined(tolower)
++#undef tolower
++#endif
+ void tolower();
+
+ private:
diff --git a/www/seamonkey/patches/patch-mozilla_media_libstagefright_frameworks_av_media_libstagefright_foundation_AString.cpp b/www/seamonkey/patches/patch-mozilla_media_libstagefright_frameworks_av_media_libstagefright_foundation_AString.cpp
new file mode 100644
index 00000000000..308c72d1327
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_media_libstagefright_frameworks_av_media_libstagefright_foundation_AString.cpp
@@ -0,0 +1,18 @@
+$NetBSD: patch-mozilla_media_libstagefright_frameworks_av_media_libstagefright_foundation_AString.cpp,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/media/libstagefright/frameworks/av/media/libstagefright/foundation/AString.cpp.orig 2014-10-14 06:36:30.000000000 +0000
++++ mozilla/media/libstagefright/frameworks/av/media/libstagefright/foundation/AString.cpp
+@@ -23,6 +23,13 @@
+ #include "ADebug.h"
+ #include "AString.h"
+
++#ifdef __FreeBSD__
++# include <osreldate.h>
++# if __FreeBSD_version < 900506
++# undef tolower
++# endif
++#endif
++
+ namespace stagefright {
+
+ // static
diff --git a/www/seamonkey/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h b/www/seamonkey/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h
index 89a00542469..4d057c801e4 100644
--- a/www/seamonkey/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h
+++ b/www/seamonkey/patches/patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h
@@ -1,8 +1,8 @@
-$NetBSD: patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h,v 1.4 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h,v 1.5 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h.orig 2014-06-13 00:45:42.000000000 +0000
+--- mozilla/media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h.orig 2014-10-14 06:36:30.000000000 +0000
+++ mozilla/media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h
-@@ -30,12 +30,19 @@
+@@ -30,7 +30,13 @@
* $FreeBSD: src/sys/sys/queue.h,v 1.58 2004/04/07 04:19:49 imp Exp $
*/
@@ -16,30 +16,4 @@ $NetBSD: patch-mozilla_media_mtransport_third__party_nrappkit_src_port_generic_i
+#elif !defined(_SYS_QUEUE_H_)
#define _SYS_QUEUE_H_
--#if !defined(__FreeBSD__) && !defined(DARWIN)
#include <stddef.h>
--#define __offsetof offsetof
-+
-+#ifndef offsetof
-+#define offsetof(type, field) ((size_t)(&((type *)0)->field))
- #endif
-
- #define STAILQ_FOREACH_SAFE(var, head, field, tvar) \
-@@ -43,8 +50,6 @@
- (var) && ((tvar) = STAILQ_NEXT((var), field), 1); \
- (var) = (tvar))
-
--// #define __offsetof(type, field) ((size_t)(&((type *)0)->field))
--
- /*
- * This file defines four types of data structures: singly-linked lists,
- * singly-linked tail queues, lists and tail queues.
-@@ -285,7 +290,7 @@ struct { \
- (STAILQ_EMPTY((head)) ? \
- NULL : \
- ((struct type *) \
-- ((char *)((head)->stqh_last) - __offsetof(struct type, field))))
-+ ((char *)((head)->stqh_last) - offsetof(struct type, field))))
-
- #define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next)
-
diff --git a/www/seamonkey/patches/patch-mozilla_media_webrtc_signaling_test_Makefile.in b/www/seamonkey/patches/patch-mozilla_media_webrtc_signaling_test_Makefile.in
index 441417dc909..571c548c62a 100644
--- a/www/seamonkey/patches/patch-mozilla_media_webrtc_signaling_test_Makefile.in
+++ b/www/seamonkey/patches/patch-mozilla_media_webrtc_signaling_test_Makefile.in
@@ -1,16 +1,16 @@
-$NetBSD: patch-mozilla_media_webrtc_signaling_test_Makefile.in,v 1.4 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-mozilla_media_webrtc_signaling_test_Makefile.in,v 1.5 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/media/webrtc/signaling/test/Makefile.in.orig 2014-06-13 00:46:10.000000000 +0000
+--- mozilla/media/webrtc/signaling/test/Makefile.in.orig 2014-10-14 06:36:30.000000000 +0000
+++ mozilla/media/webrtc/signaling/test/Makefile.in
-@@ -7,6 +7,7 @@ LIBS = \
- $(NSPR_LIBS) \
+@@ -8,6 +8,7 @@ LIBS = \
$(NSS_LIBS) \
+ $(MOZ_WEBRTC_X11_LIBS) \
$(REALTIME_LIBS) \
+ $(MOZ_LIBV4L2_LIBS) \
$(DEPTH)/xpcom/glue/$(LIB_PREFIX)xpcomglue_s.$(LIB_SUFFIX) \
$(DEPTH)/media/mtransport/standalone/$(LIB_PREFIX)mtransport_s.$(LIB_SUFFIX) \
$(DEPTH)/media/webrtc/signalingtest/signaling_ecc/$(LIB_PREFIX)ecc.$(LIB_SUFFIX) \
-@@ -43,6 +44,12 @@ LIBS += \
+@@ -49,6 +50,12 @@ LIBS += \
$(NULL)
endif
diff --git a/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.cc b/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.cc
new file mode 100644
index 00000000000..7039948f449
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.cc
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.cc,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/media/webrtc/trunk/webrtc/modules/desktop_capture/screen_capturer.cc.orig 2014-10-14 06:36:31.000000000 +0000
++++ mozilla/media/webrtc/trunk/webrtc/modules/desktop_capture/screen_capturer.cc
+@@ -18,7 +18,7 @@ ScreenCapturer* ScreenCapturer::Create()
+ return Create(DesktopCaptureOptions::CreateDefault());
+ }
+
+-#if defined(WEBRTC_LINUX)
++#if defined(WEBRTC_LINUX) || defined(WEBRTC_BSD)
+ ScreenCapturer* ScreenCapturer::CreateWithXDamage(
+ bool use_update_notifications) {
+ DesktopCaptureOptions options;
diff --git a/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.h b/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.h
new file mode 100644
index 00000000000..88e7c66504f
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.h
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_desktop__capture_screen__capturer.h,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/media/webrtc/trunk/webrtc/modules/desktop_capture/screen_capturer.h.orig 2014-10-14 06:36:31.000000000 +0000
++++ mozilla/media/webrtc/trunk/webrtc/modules/desktop_capture/screen_capturer.h
+@@ -74,7 +74,7 @@ class ScreenCapturer : public DesktopCap
+ static ScreenCapturer* Create(const DesktopCaptureOptions& options);
+ static ScreenCapturer* Create();
+
+-#if defined(WEBRTC_LINUX)
++#if defined(WEBRTC_LINUX) || defined(WEBRTC_BSD)
+ // Creates platform-specific capturer and instructs it whether it should use
+ // X DAMAGE support.
+ static ScreenCapturer* CreateWithXDamage(bool use_x_damage);
diff --git a/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc b/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc
index d51bd763069..f333e1f0358 100644
--- a/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc
+++ b/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc
@@ -1,16 +1,8 @@
-$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc,v 1.5 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc,v 1.6 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc.orig 2014-06-13 00:46:10.000000000 +0000
+--- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc.orig 2014-10-14 06:36:31.000000000 +0000
+++ mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc
-@@ -18,17 +18,28 @@
- #include <sys/stat.h>
- #include <unistd.h>
- //v4l includes
--#if defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
-+#if defined(__NetBSD__) || defined(__OpenBSD__)
- #include <sys/videoio.h>
- #elif defined(__sun)
- #include <sys/videodev2.h>
+@@ -25,10 +25,21 @@
#else
#include <linux/videodev2.h>
#endif
diff --git a/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc b/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc
index 45e794cd090..1c0fc17be28 100644
--- a/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc
+++ b/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc
@@ -1,16 +1,8 @@
-$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc,v 1.5 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc,v 1.6 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc.orig 2014-06-13 00:46:10.000000000 +0000
+--- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc.orig 2014-10-14 06:36:31.000000000 +0000
+++ mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc
-@@ -18,13 +18,16 @@
- #include <unistd.h>
-
- //v4l includes
--#if defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
-+#if defined(__NetBSD__) || defined(__OpenBSD__)
- #include <sys/videoio.h>
- #elif defined(__sun)
- #include <sys/videodev2.h>
+@@ -25,6 +25,9 @@
#else
#include <linux/videodev2.h>
#endif
diff --git a/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi b/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi
index 5b0fb09b050..14fc181e933 100644
--- a/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi
+++ b/www/seamonkey/patches/patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi
@@ -1,6 +1,6 @@
-$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi,v 1.2 2013/09/28 14:37:05 ryoon Exp $
+$NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi,v 1.3 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi.orig 2013-09-16 18:26:51.000000000 +0000
+--- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi.orig 2014-10-14 06:36:31.000000000 +0000
+++ mozilla/media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi
@@ -7,6 +7,9 @@
# be found in the AUTHORS file in the root of the source tree.
@@ -12,20 +12,23 @@ $NetBSD: patch-mozilla_media_webrtc_trunk_webrtc_modules_video__capture_video__c
'targets': [
{
'target_name': 'video_capture_module',
-@@ -49,6 +52,16 @@
- }, { # include_internal_video_capture == 1
- 'conditions': [
- ['include_v4l2_video_capture==1', {
+@@ -46,6 +49,19 @@
+ 'linux/video_capture_linux.cc',
+ 'linux/video_capture_linux.h',
+ ],
+ 'conditions': [
+ ['use_libv4l2==1', {
+ 'defines': [
+ 'HAVE_LIBV4L2',
+ ],
++ 'cflags_mozilla': [
++ '$(MOZ_LIBV4L2_CFLAGS)',
++ ],
+ 'libraries': [
+ '-lv4l2',
+ ],
+ }],
+ ],
- 'include_dirs': [
- 'linux',
- ],
+ }], # linux
+ ['OS=="mac"', {
+ 'sources': [
diff --git a/www/seamonkey/patches/patch-mozilla_memory_jemalloc_src_configure b/www/seamonkey/patches/patch-mozilla_memory_jemalloc_src_configure
new file mode 100644
index 00000000000..1f47e60e119
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_memory_jemalloc_src_configure
@@ -0,0 +1,31 @@
+$NetBSD: patch-mozilla_memory_jemalloc_src_configure,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/memory/jemalloc/src/configure.orig 2014-10-14 06:36:32.000000000 +0000
++++ mozilla/memory/jemalloc/src/configure
+@@ -6344,7 +6344,7 @@ else
+ fi
+
+ if test "x$have_sbrk" = "x1" ; then
+- if test "x$sbrk_deprecated" == "x1" ; then
++ if test "x$sbrk_deprecated" = "x1" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling dss allocation because sbrk is deprecated" >&5
+ $as_echo "Disabling dss allocation because sbrk is deprecated" >&6; }
+ enable_dss="0"
+@@ -6945,7 +6945,7 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $je_cv_gcc_builtin_ffsl" >&5
+ $as_echo "$je_cv_gcc_builtin_ffsl" >&6; }
+
+-if test "x${je_cv_gcc_builtin_ffsl}" == "xyes" ; then
++if test "x${je_cv_gcc_builtin_ffsl}" = "xyes" ; then
+ $as_echo "#define JEMALLOC_INTERNAL_FFSL __builtin_ffsl" >>confdefs.h
+
+ $as_echo "#define JEMALLOC_INTERNAL_FFS __builtin_ffs" >>confdefs.h
+@@ -6988,7 +6988,7 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $je_cv_function_ffsl" >&5
+ $as_echo "$je_cv_function_ffsl" >&6; }
+
+- if test "x${je_cv_function_ffsl}" == "xyes" ; then
++ if test "x${je_cv_function_ffsl}" = "xyes" ; then
+ $as_echo "#define JEMALLOC_INTERNAL_FFSL ffsl" >>confdefs.h
+
+ $as_echo "#define JEMALLOC_INTERNAL_FFS ffs" >>confdefs.h
diff --git a/www/seamonkey/patches/patch-mozilla_mfbt_Alignment.h b/www/seamonkey/patches/patch-mozilla_mfbt_Alignment.h
new file mode 100644
index 00000000000..a00fd9d9be8
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_mfbt_Alignment.h
@@ -0,0 +1,45 @@
+$NetBSD: patch-mozilla_mfbt_Alignment.h,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/mfbt/Alignment.h.orig 2014-10-14 06:36:32.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 @@ public:
+ };
+
+ #define MOZ_ALIGNOF(T) mozilla::AlignmentFinder<T>::alignment
++#endif
+
+ /*
+ * Declare the MOZ_ALIGNED_DECL macro for declaring aligned types.
+@@ -43,7 +53,10 @@ public:
+ * 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/www/seamonkey/patches/patch-mozilla_mfbt_Atomics.h b/www/seamonkey/patches/patch-mozilla_mfbt_Atomics.h
new file mode 100644
index 00000000000..0233b549be9
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_mfbt_Atomics.h
@@ -0,0 +1,18 @@
+$NetBSD: patch-mozilla_mfbt_Atomics.h,v 1.3 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/mfbt/Atomics.h.orig 2014-10-14 06:36:32.000000000 +0000
++++ mozilla/mfbt/Atomics.h
+@@ -34,10 +34,12 @@
+ * loose typing of the atomic builtins. GCC 4.5 and 4.6 lacks inline
+ * definitions for unspecialized std::atomic and causes linking errors.
+ * Therefore, we require at least 4.7.0 for using libstdc++.
++ *
++ * libc++ <atomic> is only functional with clang.
+ */
+ # if MOZ_USING_LIBSTDCXX && MOZ_LIBSTDCXX_VERSION_AT_LEAST(4, 7, 0)
+ # define MOZ_HAVE_CXX11_ATOMICS
+-# elif MOZ_USING_LIBCXX
++# elif MOZ_USING_LIBCXX && defined(__clang__)
+ # define MOZ_HAVE_CXX11_ATOMICS
+ # endif
+ #elif defined(_MSC_VER) && _MSC_VER >= 1700
diff --git a/www/seamonkey/patches/patch-mozilla_mfbt_Attributes.h b/www/seamonkey/patches/patch-mozilla_mfbt_Attributes.h
new file mode 100644
index 00000000000..61c15cdd1c4
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_mfbt_Attributes.h
@@ -0,0 +1,32 @@
+$NetBSD: patch-mozilla_mfbt_Attributes.h,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/mfbt/Attributes.h.orig 2014-10-14 06:36:32.000000000 +0000
++++ mozilla/mfbt/Attributes.h
+@@ -51,6 +51,7 @@
+ * http://stackoverflow.com/questions/20498142/visual-studio-2013-explicit-keyword-bug
+ */
+ # if _MSC_VER >= 1800
++# define MOZ_HAVE_CXX11_ALIGNAS
+ # define MOZ_HAVE_CXX11_DELETE
+ # endif
+ # if _MSC_VER >= 1700
+@@ -74,6 +75,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
+@@ -95,6 +99,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
diff --git a/www/seamonkey/patches/patch-mozilla_mfbt_Poison.cpp b/www/seamonkey/patches/patch-mozilla_mfbt_Poison.cpp
index 62d9009ad89..03f2381480d 100644
--- a/www/seamonkey/patches/patch-mozilla_mfbt_Poison.cpp
+++ b/www/seamonkey/patches/patch-mozilla_mfbt_Poison.cpp
@@ -1,15 +1,15 @@
-$NetBSD: patch-mozilla_mfbt_Poison.cpp,v 1.1 2013/09/28 14:37:05 ryoon Exp $
+$NetBSD: patch-mozilla_mfbt_Poison.cpp,v 1.2 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/mfbt/Poison.cpp.orig 2013-09-16 18:26:51.000000000 +0000
+--- mozilla/mfbt/Poison.cpp.orig 2014-10-14 06:36:32.000000000 +0000
+++ mozilla/mfbt/Poison.cpp
-@@ -125,7 +125,11 @@ ReleaseRegion(void *region, uintptr_t si
+@@ -129,7 +129,11 @@ ReleaseRegion(void* aRegion, uintptr_t a
static bool
- ProbeRegion(uintptr_t region, uintptr_t size)
+ ProbeRegion(uintptr_t aRegion, uintptr_t aSize)
{
+#if !defined(__sun__)
- if (madvise(reinterpret_cast<void*>(region), size, MADV_NORMAL)) {
+ if (madvise(reinterpret_cast<void*>(aRegion), aSize, MADV_NORMAL)) {
+#else
-+ if (posix_madvise(reinterpret_cast<void*>(region), size, MADV_NORMAL)) {
++ if (posix_madvise(reinterpret_cast<void*>(aRegion), aSize, MADV_NORMAL)) {
+#endif
return true;
} else {
diff --git a/www/seamonkey/patches/patch-mozilla_mobile_android_installer_Makefile.in b/www/seamonkey/patches/patch-mozilla_mobile_android_installer_Makefile.in
new file mode 100644
index 00000000000..0b733c601b2
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_mobile_android_installer_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-mozilla_mobile_android_installer_Makefile.in,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/mobile/android/installer/Makefile.in.orig 2014-10-14 06:36:32.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/www/seamonkey/patches/patch-mozilla_mobile_android_installer_package-manifest.in b/www/seamonkey/patches/patch-mozilla_mobile_android_installer_package-manifest.in
new file mode 100644
index 00000000000..6ca94ac09eb
--- /dev/null
+++ b/www/seamonkey/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/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/mobile/android/installer/package-manifest.in.orig 2014-10-14 06:36:32.000000000 +0000
++++ mozilla/mobile/android/installer/package-manifest.in
+@@ -439,7 +439,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/www/seamonkey/patches/patch-mozilla_netwerk_sctp_src_netinet6_sctp6__usrreq.c b/www/seamonkey/patches/patch-mozilla_netwerk_sctp_src_netinet6_sctp6__usrreq.c
deleted file mode 100644
index b936bc55f3b..00000000000
--- a/www/seamonkey/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/07/12 12:24:11 ryoon Exp $
-
---- mozilla/netwerk/sctp/src/netinet6/sctp6_usrreq.c.orig 2013-06-20 04:35:18.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/www/seamonkey/patches/patch-mozilla_netwerk_sctp_src_netinet_sctp__os__userspace.h b/www/seamonkey/patches/patch-mozilla_netwerk_sctp_src_netinet_sctp__os__userspace.h
deleted file mode 100644
index 2760e54ebcb..00000000000
--- a/www/seamonkey/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.2 2013/07/12 12:24:11 ryoon Exp $
-
---- mozilla/netwerk/sctp/src/netinet/sctp_os_userspace.h.orig 2013-06-20 04:35:18.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/www/seamonkey/patches/patch-mozilla_netwerk_sctp_src_netinet_sctp__usrreq.c b/www/seamonkey/patches/patch-mozilla_netwerk_sctp_src_netinet_sctp__usrreq.c
deleted file mode 100644
index 0ba697eb29c..00000000000
--- a/www/seamonkey/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/07/12 12:24:11 ryoon Exp $
-
---- mozilla/netwerk/sctp/src/netinet/sctp_usrreq.c.orig 2013-06-20 04:35:18.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/www/seamonkey/patches/patch-mozilla_netwerk_sctp_src_user__recv__thread.c b/www/seamonkey/patches/patch-mozilla_netwerk_sctp_src_user__recv__thread.c
deleted file mode 100644
index ac515888012..00000000000
--- a/www/seamonkey/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/05/23 13:25:30 ryoon Exp $
-
---- mozilla/netwerk/sctp/src/user_recv_thread.c.orig 2013-05-03 03:08:09.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/www/seamonkey/patches/patch-mozilla_netwerk_sctp_src_user__socket.c b/www/seamonkey/patches/patch-mozilla_netwerk_sctp_src_user__socket.c
deleted file mode 100644
index 807d3e873a7..00000000000
--- a/www/seamonkey/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/07/12 12:24:11 ryoon Exp $
-
---- mozilla/netwerk/sctp/src/user_socket.c.orig 2013-06-20 04:35:18.000000000 +0000
-+++ mozilla/netwerk/sctp/src/user_socket.c
-@@ -1104,8 +1104,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)) {
-@@ -1193,7 +1198,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;
- }
- }
-@@ -2143,7 +2152,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;
- }
-@@ -2157,8 +2170,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/www/seamonkey/patches/patch-mozilla_netwerk_sctp_src_user__socketvar.h b/www/seamonkey/patches/patch-mozilla_netwerk_sctp_src_user__socketvar.h
deleted file mode 100644
index 15c42160fde..00000000000
--- a/www/seamonkey/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.2 2013/07/12 12:24:11 ryoon Exp $
-
---- mozilla/netwerk/sctp/src/user_socketvar.h.orig 2013-06-20 04:35:18.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/www/seamonkey/patches/patch-mozilla_netwerk_wifi_moz.build b/www/seamonkey/patches/patch-mozilla_netwerk_wifi_moz.build
deleted file mode 100644
index 7a6de27cde6..00000000000
--- a/www/seamonkey/patches/patch-mozilla_netwerk_wifi_moz.build
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD: patch-mozilla_netwerk_wifi_moz.build,v 1.4 2014/03/30 04:13:17 ryoon Exp $
-
---- mozilla/netwerk/wifi/moz.build.orig 2014-03-19 01:42:12.000000000 +0000
-+++ mozilla/netwerk/wifi/moz.build
-@@ -35,6 +35,10 @@ if CONFIG['OS_ARCH'] == 'Darwin':
- UNIFIED_SOURCES += [
- 'osx_corewlan.mm',
- ]
-+elif CONFIG['OS_ARCH'] == 'FreeBSD':
-+ UNIFIED_SOURCES += [
-+ 'nsWifiScannerFreeBSD.cpp',
-+ ]
- elif CONFIG['OS_ARCH'] == 'WINNT':
- UNIFIED_SOURCES += [
- 'nsWifiScannerWin.cpp',
diff --git a/www/seamonkey/patches/patch-mozilla_netwerk_wifi_nsWifiScannerFreeBSD.cpp b/www/seamonkey/patches/patch-mozilla_netwerk_wifi_nsWifiScannerFreeBSD.cpp
deleted file mode 100644
index 5eb0d5befab..00000000000
--- a/www/seamonkey/patches/patch-mozilla_netwerk_wifi_nsWifiScannerFreeBSD.cpp
+++ /dev/null
@@ -1,172 +0,0 @@
-$NetBSD: patch-mozilla_netwerk_wifi_nsWifiScannerFreeBSD.cpp,v 1.2 2014/03/30 04:13:17 ryoon Exp $
-
---- mozilla/netwerk/wifi/nsWifiScannerFreeBSD.cpp.orig 2014-03-29 04:22:17.000000000 +0000
-+++ mozilla/netwerk/wifi/nsWifiScannerFreeBSD.cpp
-@@ -0,0 +1,167 @@
-+/* 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)
-+{
-+ // get list of interfaces
-+ struct ifaddrs *ifal;
-+ if (getifaddrs(&ifal) < 0) {
-+ return NS_ERROR_FAILURE;
-+ }
-+
-+ accessPoints.Clear();
-+
-+ // loop through the interfaces
-+ nsresult rv = NS_ERROR_FAILURE;
-+ struct ifaddrs *ifa;
-+ for (ifa = ifal; ifa; ifa = ifa->ifa_next) {
-+ // limit to one interface per address
-+ if (ifa->ifa_addr->sa_family != AF_LINK) {
-+ continue;
-+ }
-+
-+ // store interface name in socket structure
-+ struct ifreq ifr;
-+ memset(&ifr, 0, sizeof(ifr));
-+ strncpy(ifr.ifr_name, ifa->ifa_name, sizeof(ifr.ifr_name));
-+ ifr.ifr_addr.sa_family = AF_LOCAL;
-+
-+ // open socket to interface
-+ int s = socket(ifr.ifr_addr.sa_family, SOCK_DGRAM, 0);
-+ if (s < 0) {
-+ continue;
-+ }
-+
-+ // clear interface media structure
-+ struct ifmediareq ifmr;
-+ memset(&ifmr, 0, sizeof(ifmr));
-+ 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
-+ struct ieee80211req i802r;
-+ char iscanbuf[32*1024];
-+ memset(&i802r, 0, sizeof(i802r));
-+ 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
-+ char *vsr = (char *) i802r.i_data;
-+ unsigned len = i802r.i_len;
-+ while (len >= sizeof(struct ieee80211req_scan_result)) {
-+ struct ieee80211req_scan_result *isr =
-+ (struct ieee80211req_scan_result *) vsr;
-+
-+ // determine size of this entry
-+ char *id;
-+ int idlen;
-+ 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
-+ char ssid[IEEE80211_NWID_LEN+1];
-+ strncpy(ssid, id, idlen);
-+ ssid[idlen] = '\0';
-+ nsWifiAccessPoint *ap = new nsWifiAccessPoint();
-+ ap->setSSID(ssid, strlen(ssid));
-+ ap->setMac(isr->isr_bssid);
-+ ap->setSignal(isr->isr_rssi);
-+ accessPoints.AppendObject(ap);
-+ rv = NS_OK;
-+
-+ // 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 rv;
-+}
-+
-+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/www/seamonkey/patches/patch-mozilla_ostream b/www/seamonkey/patches/patch-mozilla_ostream
new file mode 100644
index 00000000000..489dbc0520b
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ostream
@@ -0,0 +1,8 @@
+$NetBSD: patch-mozilla_ostream,v 1.5 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/ostream.orig 2014-11-01 10:20:11.000000000 +0000
++++ mozilla/ostream
+@@ -0,0 +1,3 @@
++#pragma GCC visibility push(default)
++#include_next <ostream>
++#pragma GCC visibility pop
diff --git a/www/seamonkey/patches/patch-mozilla_probes_Makefile.in b/www/seamonkey/patches/patch-mozilla_probes_Makefile.in
new file mode 100644
index 00000000000..b928518f2bf
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_probes_Makefile.in
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_probes_Makefile.in,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/probes/Makefile.in.orig 2014-10-14 06:36:36.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/www/seamonkey/patches/patch-mozilla_security_manager_ssl_src_nsNSSComponent.cpp b/www/seamonkey/patches/patch-mozilla_security_manager_ssl_src_nsNSSComponent.cpp
index 48e481ee922..7edf4f0fb95 100644
--- a/www/seamonkey/patches/patch-mozilla_security_manager_ssl_src_nsNSSComponent.cpp
+++ b/www/seamonkey/patches/patch-mozilla_security_manager_ssl_src_nsNSSComponent.cpp
@@ -1,12 +1,12 @@
-$NetBSD: patch-mozilla_security_manager_ssl_src_nsNSSComponent.cpp,v 1.2 2013/09/28 14:37:05 ryoon Exp $
+$NetBSD: patch-mozilla_security_manager_ssl_src_nsNSSComponent.cpp,v 1.3 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/security/manager/ssl/src/nsNSSComponent.cpp.orig 2013-09-16 18:26:55.000000000 +0000
+--- mozilla/security/manager/ssl/src/nsNSSComponent.cpp.orig 2014-10-14 06:36:36.000000000 +0000
+++ mozilla/security/manager/ssl/src/nsNSSComponent.cpp
-@@ -49,6 +49,7 @@
-
+@@ -53,6 +53,7 @@
#include "nss.h"
+ #include "pkix/pkixnss.h"
#include "ssl.h"
+#define NSS_ENABLE_ECC 1
#include "sslproto.h"
#include "secmod.h"
- #include "secmime.h"
+ #include "secerr.h"
diff --git a/www/seamonkey/patches/patch-mozilla_toolkit_components_osfile_modules_osfile__unix__allthreads.jsm b/www/seamonkey/patches/patch-mozilla_toolkit_components_osfile_modules_osfile__unix__allthreads.jsm
deleted file mode 100644
index c86ceaffd57..00000000000
--- a/www/seamonkey/patches/patch-mozilla_toolkit_components_osfile_modules_osfile__unix__allthreads.jsm
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-mozilla_toolkit_components_osfile_modules_osfile__unix__allthreads.jsm,v 1.2 2014/06/22 08:54:39 ryoon Exp $
-
---- mozilla/toolkit/components/osfile/modules/osfile_unix_allthreads.jsm.orig 2014-06-13 00:46:12.000000000 +0000
-+++ mozilla/toolkit/components/osfile/modules/osfile_unix_allthreads.jsm
-@@ -41,6 +41,8 @@ let Const = SharedAll.Constants.libc;
- // Open libc
- let libc;
- let libc_candidates = [ "libc.so",
-+ "libc.so.6",
-+ "libc.so.7",
- "libSystem.B.dylib",
- "a.out" ];
- for (let i = 0; i < libc_candidates.length; ++i) {
diff --git a/www/seamonkey/patches/patch-mozilla_toolkit_components_osfile_modules_osfile__unix__back.jsm b/www/seamonkey/patches/patch-mozilla_toolkit_components_osfile_modules_osfile__unix__back.jsm
index fb2e0f207b3..b66f08d0a3f 100644
--- a/www/seamonkey/patches/patch-mozilla_toolkit_components_osfile_modules_osfile__unix__back.jsm
+++ b/www/seamonkey/patches/patch-mozilla_toolkit_components_osfile_modules_osfile__unix__back.jsm
@@ -1,28 +1,44 @@
-$NetBSD: patch-mozilla_toolkit_components_osfile_modules_osfile__unix__back.jsm,v 1.3 2014/03/30 04:13:17 ryoon Exp $
+$NetBSD: patch-mozilla_toolkit_components_osfile_modules_osfile__unix__back.jsm,v 1.4 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/toolkit/components/osfile/modules/osfile_unix_back.jsm.orig 2014-03-19 01:42:15.000000000 +0000
+--- mozilla/toolkit/components/osfile/modules/osfile_unix_back.jsm.orig 2014-10-14 06:36:43.000000000 +0000
+++ mozilla/toolkit/components/osfile/modules/osfile_unix_back.jsm
-@@ -558,18 +558,19 @@
+@@ -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);
+
+@@ -638,21 +638,22 @@
return Stat.fxstat(ver, fd, buf);
};
} else if (OS.Constants.Sys.Name == "NetBSD") {
- // NetBSD 5.0 and newer
-- declareLazyFFI(SysFile, "stat", libc, "__stat50", ctypes.default_abi,
+- 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";
-+ declareLazyFFI(SysFile, "stat", libc, "__stat"+v, ctypes.default_abi,
++ libc.declareLazyFFI(SysFile, "stat",
++ "__stat"+v, ctypes.default_abi,
/*return*/ Type.negativeone_or_nothing,
/*path*/ Type.path,
/*buf*/ Type.stat.out_ptr
);
-- declareLazyFFI(SysFile, "lstat", libc, "__lstat50", ctypes.default_abi,
-+ declareLazyFFI(SysFile, "lstat", libc, "__lstat"+v, ctypes.default_abi,
+ 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
);
-- declareLazyFFI(SysFile, "fstat", libc, "__fstat50", ctypes.default_abi,
-+ declareLazyFFI(SysFile, "fstat", libc, "__fstat"+v, ctypes.default_abi,
+- 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/www/seamonkey/patches/patch-mozilla_toolkit_components_osfile_modules_osfile__unix__front.jsm b/www/seamonkey/patches/patch-mozilla_toolkit_components_osfile_modules_osfile__unix__front.jsm
new file mode 100644
index 00000000000..56397a0d21d
--- /dev/null
+++ b/www/seamonkey/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.3 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/toolkit/components/osfile/modules/osfile_unix_front.jsm.orig 2014-10-14 06:36:43.000000000 +0000
++++ mozilla/toolkit/components/osfile/modules/osfile_unix_front.jsm
+@@ -399,7 +399,7 @@
+ throw_on_negative("statvfs", (UnixFile.statvfs || UnixFile.statfs)(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/www/seamonkey/patches/patch-mozilla_toolkit_library_Makefile.in b/www/seamonkey/patches/patch-mozilla_toolkit_library_libxul.mk
index 33f8d6c5cbe..a9b6a6264f6 100644
--- a/www/seamonkey/patches/patch-mozilla_toolkit_library_Makefile.in
+++ b/www/seamonkey/patches/patch-mozilla_toolkit_library_libxul.mk
@@ -1,8 +1,8 @@
-$NetBSD: patch-mozilla_toolkit_library_Makefile.in,v 1.4 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-mozilla_toolkit_library_libxul.mk,v 1.1 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/toolkit/library/Makefile.in.orig 2014-06-13 00:46:13.000000000 +0000
-+++ mozilla/toolkit/library/Makefile.in
-@@ -149,6 +149,34 @@ ifdef MOZ_NATIVE_HUNSPELL
+--- mozilla/toolkit/library/libxul.mk.orig 2014-10-14 06:36:44.000000000 +0000
++++ mozilla/toolkit/library/libxul.mk
+@@ -77,6 +77,34 @@ ifdef MOZ_NATIVE_HUNSPELL
EXTRA_DSO_LDOPTS += $(MOZ_HUNSPELL_LIBS)
endif
@@ -37,7 +37,7 @@ $NetBSD: patch-mozilla_toolkit_library_Makefile.in,v 1.4 2014/06/22 08:54:39 ryo
ifdef MOZ_NATIVE_LIBEVENT
EXTRA_DSO_LDOPTS += $(MOZ_LIBEVENT_LIBS)
endif
-@@ -161,12 +189,24 @@ ifndef MOZ_TREE_PIXMAN
+@@ -89,12 +117,28 @@ ifndef MOZ_TREE_PIXMAN
EXTRA_DSO_LDOPTS += $(MOZ_PIXMAN_LIBS)
endif
@@ -53,16 +53,31 @@ $NetBSD: patch-mozilla_toolkit_library_Makefile.in,v 1.4 2014/06/22 08:54:39 ryo
EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,dmd,$(DIST)/lib)
endif
- EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,gkmedias,$(DIST)/lib)
+ EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,gkmedias,$(DEPTH)/layout/media)
+ifdef MOZ_LIBV4L2_LIBS
+EXTRA_DSO_LDOPTS += $(MOZ_LIBV4L2_LIBS)
+endif
+
++ifdef MOZ_LIBV4L2_LIBS
++EXTRA_DSO_LDOPTS += $(MOZ_LIBV4L2_LIBS)
++endif
++
ifdef MOZ_WEBRTC
ifeq (WINNT,$(OS_TARGET))
- EXTRA_DSO_LDOPTS += \
-@@ -351,7 +391,7 @@ ifdef MOZ_ENABLE_QT
+ ifndef MOZ_HAS_WINSDK_WITH_D3D
+@@ -106,6 +150,10 @@ OS_LIBS += $(call EXPAND_LIBNAME,secur32
+ endif
+ endif
+
++ifdef MOZ_OSS
++EXTRA_DSO_LDOPTS += $(MOZ_OSS_LIBS)
++endif
++
+ ifdef MOZ_ALSA
+ EXTRA_DSO_LDOPTS += $(MOZ_ALSA_LIBS)
+ endif
+@@ -223,7 +271,7 @@ ifdef MOZ_ENABLE_QT
EXTRA_DSO_LDOPTS += $(MOZ_QT_LDFLAGS) $(XEXT_LIBS)
endif
diff --git a/www/seamonkey/patches/patch-mozilla_toolkit_modules_GMPInstallManager.jsm b/www/seamonkey/patches/patch-mozilla_toolkit_modules_GMPInstallManager.jsm
new file mode 100644
index 00000000000..47aafb8dc7e
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_toolkit_modules_GMPInstallManager.jsm
@@ -0,0 +1,38 @@
+$NetBSD: patch-mozilla_toolkit_modules_GMPInstallManager.jsm,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/toolkit/modules/GMPInstallManager.jsm.orig 2014-10-14 06:36:44.000000000 +0000
++++ mozilla/toolkit/modules/GMPInstallManager.jsm
+@@ -107,6 +107,7 @@ let GMPPrefs = {
+ */
+ KEY_LOG_ENABLED: "media.gmp-manager.log",
+ KEY_ADDON_LAST_UPDATE: "media.{0}.lastUpdate",
++ KEY_ADDON_PATH: "media.{0}.path",
+ KEY_ADDON_VERSION: "media.{0}.version",
+ KEY_ADDON_AUTOUPDATE: "media.{0}.autoupdate",
+ KEY_URL: "media.gmp-manager.url",
+@@ -888,9 +889,7 @@ GMPDownloader.prototype = {
+ let gmpAddon = this._gmpAddon;
+ let installToDirPath = Cc["@mozilla.org/file/local;1"].
+ createInstance(Ci.nsIFile);
+- let path = OS.Path.join(OS.Constants.Path.profileDir,
+- gmpAddon.id,
+- gmpAddon.version);
++ let path = OS.Path.join(OS.Constants.Path.profileDir, gmpAddon.id);
+ installToDirPath.initWithPath(path);
+ log.info("install to directory path: " + installToDirPath.path);
+ let gmpInstaller = new GMPExtractor(zipPath, installToDirPath.path);
+@@ -899,10 +898,12 @@ GMPDownloader.prototype = {
+ // Success, set the prefs
+ let now = Math.round(Date.now() / 1000);
+ GMPPrefs.set(GMPPrefs.KEY_ADDON_LAST_UPDATE, now, gmpAddon.id);
+- // Setting the version pref signals installation completion to consumers,
+- // if you need to set other prefs etc. do it before this.
++ // Setting the path pref signals installation completion to consumers,
++ // so set the version and potential other information they use first.
+ GMPPrefs.set(GMPPrefs.KEY_ADDON_VERSION, gmpAddon.version,
+ gmpAddon.id);
++ GMPPrefs.set(GMPPrefs.KEY_ADDON_PATH,
++ installToDirPath.path, gmpAddon.id);
+ this._deferred.resolve(extractedPaths);
+ }, err => {
+ this._deferred.reject(err);
diff --git a/www/seamonkey/patches/patch-mozilla_toolkit_mozapps_extensions_internal_OpenH264Provider.jsm b/www/seamonkey/patches/patch-mozilla_toolkit_mozapps_extensions_internal_OpenH264Provider.jsm
new file mode 100644
index 00000000000..2522c1b9ec5
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_toolkit_mozapps_extensions_internal_OpenH264Provider.jsm
@@ -0,0 +1,118 @@
+$NetBSD: patch-mozilla_toolkit_mozapps_extensions_internal_OpenH264Provider.jsm,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/toolkit/mozapps/extensions/internal/OpenH264Provider.jsm.orig 2014-10-14 06:36:45.000000000 +0000
++++ mozilla/toolkit/mozapps/extensions/internal/OpenH264Provider.jsm
+@@ -29,6 +29,7 @@ const SEC_IN_A_DAY = 24 * 6
+ const OPENH264_PLUGIN_ID = "gmp-gmpopenh264";
+ const OPENH264_PREF_BRANCH = "media." + OPENH264_PLUGIN_ID + ".";
+ const OPENH264_PREF_ENABLED = "enabled";
++const OPENH264_PREF_PATH = "path";
+ const OPENH264_PREF_VERSION = "version";
+ const OPENH264_PREF_LASTUPDATE = "lastUpdate";
+ const OPENH264_PREF_AUTOUPDATE = "autoupdate";
+@@ -99,7 +100,12 @@ let OpenH264Wrapper = {
+ get description() { return pluginsBundle.GetStringFromName("openH264_description"); },
+ get fullDescription() { return OPENH264_FULLDESCRIPTION; },
+
+- get version() { return prefs.get(OPENH264_PREF_VERSION, ""); },
++ get version() {
++ if (this.isInstalled) {
++ return prefs.get(OPENH264_PREF_VERSION, "");
++ }
++ return "";
++ },
+
+ get isActive() { return !this.userDisabled; },
+ get appDisabled() { return false; },
+@@ -223,24 +229,17 @@ let OpenH264Wrapper = {
+
+ get pluginMimeTypes() { return []; },
+ get pluginLibraries() {
+- if (this.isInstalled) {
+- let path = this.version;
+- return [path];
+- }
+- return [];
++ let path = prefs.get(OPENH264_PREF_PATH, null);
++ return path && path.length ? [OS.Path.basename(path)] : [];
+ },
+ get pluginFullpath() {
+- if (this.isInstalled) {
+- let path = OS.Path.join(OS.Constants.Path.profileDir,
+- OPENH264_PLUGIN_ID,
+- this.version);
+- return [path];
+- }
+- return [];
++ let path = prefs.get(OPENH264_PREF_PATH, null);
++ return path && path.length ? [path] : [];
+ },
+
+ get isInstalled() {
+- return this.version.length > 0;
++ let path = prefs.get(OPENH264_PREF_PATH, "");
++ return path.length > 0;
+ },
+ };
+
+@@ -251,19 +250,14 @@ let OpenH264Provider = {
+ "OpenH264Provider" + "::");
+ OpenH264Wrapper._log = Log.repository.getLoggerWithMessagePrefix("Toolkit.OpenH264Provider",
+ "OpenH264Wrapper" + "::");
+- this.gmpPath = null;
+- if (OpenH264Wrapper.isInstalled) {
+- this.gmpPath = OS.Path.join(OS.Constants.Path.profileDir,
+- OPENH264_PLUGIN_ID,
+- prefs.get(OPENH264_PREF_VERSION, null));
+- }
++ this.gmpPath = prefs.get(OPENH264_PREF_PATH, null);
+ let enabled = prefs.get(OPENH264_PREF_ENABLED, true);
+ this._log.trace("startup() - enabled=" + enabled + ", gmpPath="+this.gmpPath);
+
+
+ Services.obs.addObserver(this, AddonManager.OPTIONS_NOTIFICATION_DISPLAYED, false);
+ prefs.observe(OPENH264_PREF_ENABLED, this.onPrefEnabledChanged, this);
+- prefs.observe(OPENH264_PREF_VERSION, this.onPrefVersionChanged, this);
++ prefs.observe(OPENH264_PREF_PATH, this.onPrefPathChanged, this);
+ prefs.observe(OPENH264_PREF_LOGGING, configureLogging);
+
+ if (this.gmpPath && enabled) {
+@@ -280,7 +274,7 @@ let OpenH264Provider = {
+ this._log.trace("shutdown()");
+ Services.obs.removeObserver(this, AddonManager.OPTIONS_NOTIFICATION_DISPLAYED);
+ prefs.ignore(OPENH264_PREF_ENABLED, this.onPrefEnabledChanged, this);
+- prefs.ignore(OPENH264_PREF_VERSION, this.onPrefVersionChanged, this);
++ prefs.ignore(OPENH264_PREF_PATH, this.onPrefPathChanged, this);
+ prefs.ignore(OPENH264_PREF_LOGGING, configureLogging);
+
+ return OpenH264Wrapper._updateTask;
+@@ -306,25 +300,20 @@ let OpenH264Provider = {
+ wrapper);
+ },
+
+- onPrefVersionChanged: function() {
++ onPrefPathChanged: function() {
+ let wrapper = OpenH264Wrapper;
+
+ AddonManagerPrivate.callAddonListeners("onUninstalling", wrapper, false);
+ if (this.gmpPath) {
+- this._log.info("onPrefVersionChanged() - unregistering gmp directory " + this.gmpPath);
++ this._log.info("onPrefPathChanged() - removing gmp directory " + this.gmpPath);
+ gmpService.removePluginDirectory(this.gmpPath);
+ }
+ AddonManagerPrivate.callAddonListeners("onUninstalled", wrapper);
+
+ AddonManagerPrivate.callInstallListeners("onExternalInstall", null, wrapper, null, false);
+- this.gmpPath = null;
+- if (OpenH264Wrapper.isInstalled) {
+- this.gmpPath = OS.Path.join(OS.Constants.Path.profileDir,
+- OPENH264_PLUGIN_ID,
+- prefs.get(OPENH264_PREF_VERSION, null));
+- }
++ this.gmpPath = prefs.get(OPENH264_PREF_PATH, null);
+ if (this.gmpPath && wrapper.isActive) {
+- this._log.info("onPrefVersionChanged() - registering gmp directory " + this.gmpPath);
++ this._log.info("onPrefPathChanged() - adding gmp directory " + this.gmpPath);
+ gmpService.addPluginDirectory(this.gmpPath);
+ }
+ AddonManagerPrivate.callAddonListeners("onInstalled", wrapper);
diff --git a/www/seamonkey/patches/patch-mozilla_toolkit_xre_nsAppRunner.cpp b/www/seamonkey/patches/patch-mozilla_toolkit_xre_nsAppRunner.cpp
deleted file mode 100644
index 604edcec87b..00000000000
--- a/www/seamonkey/patches/patch-mozilla_toolkit_xre_nsAppRunner.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
-$NetBSD: patch-mozilla_toolkit_xre_nsAppRunner.cpp,v 1.3 2014/06/22 08:54:39 ryoon Exp $
-
---- mozilla/toolkit/xre/nsAppRunner.cpp.orig 2014-06-13 00:46:13.000000000 +0000
-+++ mozilla/toolkit/xre/nsAppRunner.cpp
-@@ -1715,6 +1715,16 @@ static nsresult LaunchChild(nsINativeApp
- #elif defined(XP_OS2)
- if (_execv(exePath.get(), gRestartArgv) == -1)
- return NS_ERROR_FAILURE;
-+#elif defined(XP_DARWIN)
-+ pid_t pid = fork();
-+ if (pid == 0) { // child
-+ if (execv(exePath.get(), gRestartArgv) == -1) {
-+ _exit(1);
-+ }
-+ }
-+ else if (pid == -1) {
-+ return NS_ERROR_FAILURE;
-+ }
- #elif defined(XP_UNIX)
- if (execv(exePath.get(), gRestartArgv) == -1)
- return NS_ERROR_FAILURE;
diff --git a/www/seamonkey/patches/patch-mozilla_unwind.h b/www/seamonkey/patches/patch-mozilla_unwind.h
new file mode 100644
index 00000000000..1a1a325fc20
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_unwind.h
@@ -0,0 +1,9 @@
+$NetBSD: patch-mozilla_unwind.h,v 1.5 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/unwind.h.orig 2014-11-01 10:20:11.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/www/seamonkey/patches/patch-mozilla_webapprt_moz.build b/www/seamonkey/patches/patch-mozilla_webapprt_moz.build
index 4aeac50053c..d33bcc212fb 100644
--- a/www/seamonkey/patches/patch-mozilla_webapprt_moz.build
+++ b/www/seamonkey/patches/patch-mozilla_webapprt_moz.build
@@ -1,6 +1,6 @@
-$NetBSD: patch-mozilla_webapprt_moz.build,v 1.1 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-mozilla_webapprt_moz.build,v 1.2 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/webapprt/moz.build.orig 2014-06-13 00:46:13.000000000 +0000
+--- mozilla/webapprt/moz.build.orig 2014-10-14 06:36:45.000000000 +0000
+++ mozilla/webapprt/moz.build
@@ -6,7 +6,7 @@
@@ -9,12 +9,5 @@ $NetBSD: patch-mozilla_webapprt_moz.build,v 1.1 2014/06/22 08:54:39 ryoon Exp $
-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']
+ elif CONFIG['MOZ_ENABLE_GTK']:
+ DIRS += ['gtk']
diff --git a/www/seamonkey/patches/patch-mozilla_xpcom_base_nsStackWalk.cpp b/www/seamonkey/patches/patch-mozilla_xpcom_base_nsStackWalk.cpp
index 8d000ef9b64..5406f04fb52 100644
--- a/www/seamonkey/patches/patch-mozilla_xpcom_base_nsStackWalk.cpp
+++ b/www/seamonkey/patches/patch-mozilla_xpcom_base_nsStackWalk.cpp
@@ -1,44 +1,17 @@
-$NetBSD: patch-mozilla_xpcom_base_nsStackWalk.cpp,v 1.3 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-mozilla_xpcom_base_nsStackWalk.cpp,v 1.4 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/xpcom/base/nsStackWalk.cpp.orig 2014-06-13 00:46:13.000000000 +0000
+--- mozilla/xpcom/base/nsStackWalk.cpp.orig 2014-10-14 06:36:46.000000000 +0000
+++ mozilla/xpcom/base/nsStackWalk.cpp
-@@ -23,12 +23,18 @@ struct CriticalAddress {
- };
- static CriticalAddress gCriticalAddress;
-
--#if defined(HAVE_DLOPEN) || defined(XP_MACOSX)
-+// for _Unwind_Backtrace from libcxxrt or libunwind
-+// cxxabi.h from libcxxrt implicitly includes unwind.h first
-+#if defined(HAVE__UNWIND_BACKTRACE) && !defined(_GNU_SOURCE)
-+#define _GNU_SOURCE
-+#endif
-+
-+#if defined(HAVE_DLOPEN) || defined(XP_DARWIN)
- #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 \
-@@ -36,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)))
+@@ -47,7 +47,7 @@ static CriticalAddress gCriticalAddress;
+ (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>
-@@ -832,7 +838,7 @@ NS_FormatCodeAddressDetails(void *aPC, c
+@@ -866,7 +866,7 @@ NS_FormatCodeAddressDetails(void* aPC, c
// WIN32 x86 stack walking code
// i386 or PPC Linux stackwalking code or Solaris
@@ -47,16 +20,16 @@ $NetBSD: patch-mozilla_xpcom_base_nsStackWalk.cpp,v 1.3 2014/06/22 08:54:39 ryoo
#include <stdlib.h>
#include <string.h>
-@@ -1156,7 +1162,7 @@ FramePointerStackWalk(NS_WalkStackCallba
+@@ -1191,7 +1191,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);
+ void* pc = *(bp + 2);
bp += 3;
-@@ -1186,7 +1192,7 @@ FramePointerStackWalk(NS_WalkStackCallba
+@@ -1221,7 +1221,7 @@ FramePointerStackWalk(NS_WalkStackCallba
}
#define X86_OR_PPC (defined(__i386) || defined(PPC) || defined(__ppc__))
@@ -65,13 +38,3 @@ $NetBSD: patch-mozilla_xpcom_base_nsStackWalk.cpp,v 1.3 2014/06/22 08:54:39 ryoo
EXPORT_XPCOM_API(nsresult)
NS_StackWalk(NS_WalkStackCallback aCallback, uint32_t aSkipFrames,
-@@ -1222,9 +1228,6 @@ NS_StackWalk(NS_WalkStackCallback aCallb
- #elif defined(HAVE__UNWIND_BACKTRACE)
-
- // libgcc_s.so symbols _Unwind_Backtrace@@GCC_3.3 and _Unwind_GetIP@@GCC_3.0
--#ifndef _GNU_SOURCE
--#define _GNU_SOURCE
--#endif
- #include <unwind.h>
-
- struct unwind_info {
diff --git a/www/seamonkey/patches/patch-mozilla_xpcom_base_nscore.h b/www/seamonkey/patches/patch-mozilla_xpcom_base_nscore.h
index 3c6533ed784..a15143cae80 100644
--- a/www/seamonkey/patches/patch-mozilla_xpcom_base_nscore.h
+++ b/www/seamonkey/patches/patch-mozilla_xpcom_base_nscore.h
@@ -1,13 +1,13 @@
-$NetBSD: patch-mozilla_xpcom_base_nscore.h,v 1.1 2014/03/30 04:13:17 ryoon Exp $
+$NetBSD: patch-mozilla_xpcom_base_nscore.h,v 1.2 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/xpcom/base/nscore.h.orig 2014-03-19 01:42:18.000000000 +0000
+--- mozilla/xpcom/base/nscore.h.orig 2014-10-14 06:36:46.000000000 +0000
+++ mozilla/xpcom/base/nscore.h
-@@ -110,7 +110,7 @@
+@@ -83,7 +83,7 @@
* NS_HIDDEN_(int) NS_FASTCALL func2(char *foo);
*/
--#if defined(__i386__) && defined(__GNUC__) && !defined(XP_OS2)
-+#if defined(__i386__) && defined(__GNUC__) && !defined(XP_OS2) && !(defined(__clang__) && __clang_major__ == 3 && __clang_minor__ == 4 && __clang_patchlevel__ == 0)
+-#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/www/seamonkey/patches/patch-mozilla_xpcom_build_PoisonIOInterposer.h b/www/seamonkey/patches/patch-mozilla_xpcom_build_PoisonIOInterposer.h
deleted file mode 100644
index 30290f8b1d7..00000000000
--- a/www/seamonkey/patches/patch-mozilla_xpcom_build_PoisonIOInterposer.h
+++ /dev/null
@@ -1,55 +0,0 @@
-$NetBSD: patch-mozilla_xpcom_build_PoisonIOInterposer.h,v 1.1 2014/06/22 08:54:39 ryoon Exp $
-
---- mozilla/xpcom/build/PoisonIOInterposer.h.orig 2014-06-13 00:46:13.000000000 +0000
-+++ mozilla/xpcom/build/PoisonIOInterposer.h
-@@ -26,7 +26,7 @@ void MozillaUnRegisterDebugFILE(FILE *f)
-
- MOZ_END_EXTERN_C
-
--#if defined(MOZ_ENABLE_PROFILER_SPS) && (defined(XP_WIN) || defined(XP_MACOSX))
-+#if defined(MOZ_ENABLE_PROFILER_SPS) && (defined(XP_WIN) || defined(XP_DARWIN))
-
- #ifdef __cplusplus
- namespace mozilla {
-@@ -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
-@@ -63,19 +63,19 @@ void ClearPoisonIOInterposer();
- } // namespace mozilla
- #endif /* __cplusplus */
-
--#else /* MOZ_ENABLE_PROFILER_SPS && (XP_WIN || XP_MACOSX) */
-+#else /* MOZ_ENABLE_PROFILER_SPS && (XP_WIN || XP_DARWIN) */
-
- #ifdef __cplusplus
- 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 */
-
--#endif /* MOZ_ENABLE_PROFILER_SPS && (XP_WIN || XP_MACOSX) */
-+#endif /* MOZ_ENABLE_PROFILER_SPS && (XP_WIN || XP_DARWIN) */
-
- #endif // mozilla_PoisonIOInterposer_h
diff --git a/www/seamonkey/patches/patch-mozilla_xpcom_build_nsXPComInit.cpp b/www/seamonkey/patches/patch-mozilla_xpcom_build_nsXPComInit.cpp
new file mode 100644
index 00000000000..00719668271
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_xpcom_build_nsXPComInit.cpp
@@ -0,0 +1,28 @@
+$NetBSD: patch-mozilla_xpcom_build_nsXPComInit.cpp,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/xpcom/build/nsXPComInit.cpp.orig 2014-10-14 06:36:46.000000000 +0000
++++ mozilla/xpcom/build/nsXPComInit.cpp
+@@ -137,7 +137,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
+@@ -629,11 +631,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/www/seamonkey/patches/patch-mozilla_xpcom_ds_TimeStamp.h b/www/seamonkey/patches/patch-mozilla_xpcom_ds_TimeStamp.h
index e3f79df0e53..aca4578097d 100644
--- a/www/seamonkey/patches/patch-mozilla_xpcom_ds_TimeStamp.h
+++ b/www/seamonkey/patches/patch-mozilla_xpcom_ds_TimeStamp.h
@@ -1,17 +1,22 @@
-$NetBSD: patch-mozilla_xpcom_ds_TimeStamp.h,v 1.1 2013/01/20 08:33:14 ryoon Exp $
+$NetBSD: patch-mozilla_xpcom_ds_TimeStamp.h,v 1.2 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/xpcom/ds/TimeStamp.h.orig 2013-01-06 06:26:33.000000000 +0000
+--- mozilla/xpcom/ds/TimeStamp.h.orig 2014-10-14 06:36:46.000000000 +0000
+++ mozilla/xpcom/ds/TimeStamp.h
-@@ -130,11 +130,11 @@ private:
+@@ -199,14 +199,12 @@ private:
+ {
// NOTE: this MUST be a >= test, because int64_t(double(INT64_MAX))
// overflows and gives INT64_MIN.
- if (aTicks >= double(INT64_MAX))
+- if (aTicks >= double(INT64_MAX)) {
- return TimeDuration::FromTicks(INT64_MAX);
+- }
++ if (aTicks >= double(INT64_MAX))
+ return TimeDuration::FromTicks(int64_t(INT64_MAX));
// This MUST be a <= test.
- if (aTicks <= double(INT64_MIN))
+- if (aTicks <= double(INT64_MIN)) {
- return TimeDuration::FromTicks(INT64_MIN);
+- }
++ if (aTicks <= double(INT64_MIN))
+ return TimeDuration::FromTicks(int64_t(INT64_MIN));
return TimeDuration::FromTicks(int64_t(aTicks));
diff --git a/www/seamonkey/patches/patch-mozilla_xpcom_glue_standalone_nsXPCOMGlue.cpp b/www/seamonkey/patches/patch-mozilla_xpcom_glue_standalone_nsXPCOMGlue.cpp
deleted file mode 100644
index c83556112c8..00000000000
--- a/www/seamonkey/patches/patch-mozilla_xpcom_glue_standalone_nsXPCOMGlue.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-$NetBSD: patch-mozilla_xpcom_glue_standalone_nsXPCOMGlue.cpp,v 1.1 2014/06/22 08:54:39 ryoon Exp $
-
---- mozilla/xpcom/glue/standalone/nsXPCOMGlue.cpp.orig 2014-06-13 00:46:13.000000000 +0000
-+++ mozilla/xpcom/glue/standalone/nsXPCOMGlue.cpp
-@@ -119,7 +119,7 @@ CloseLibHandle(LibHandleType aLibHandle)
- DosFreeModule(aLibHandle);
- }
-
--#elif defined(XP_MACOSX)
-+#elif defined(XP_DARWIN)
- #include <mach-o/dyld.h>
-
- typedef const mach_header *LibHandleType;
-@@ -348,7 +348,7 @@ typedef Scoped<ScopedCloseFileTraits> Sc
- static void
- XPCOMGlueUnload()
- {
--#if !defined(XP_WIN) && !defined(XP_OS2) && !defined(XP_MACOSX) \
-+#if !defined(XP_WIN) && !defined(XP_OS2) && !defined(XP_DARWIN) \
- && defined(NS_TRACE_MALLOC)
- if (sTop) {
- _malloc = __libc_malloc;
-@@ -461,7 +461,7 @@ XPCOMGlueLoad(const char *xpcomFile)
- return nullptr;
- }
-
--#if !defined(XP_WIN) && !defined(XP_OS2) && !defined(XP_MACOSX) \
-+#if !defined(XP_WIN) && !defined(XP_OS2) && !defined(XP_DARWIN) \
- && defined(NS_TRACE_MALLOC)
- _malloc = (__ptr_t(*)(size_t)) GetSymbol(sTop->libHandle, "malloc");
- _calloc = (__ptr_t(*)(size_t, size_t)) GetSymbol(sTop->libHandle, "calloc");
diff --git a/www/seamonkey/patches/patch-mozilla_xpcom_io_nsLocalFileUnix.cpp b/www/seamonkey/patches/patch-mozilla_xpcom_io_nsLocalFileUnix.cpp
deleted file mode 100644
index 3fc32aa8526..00000000000
--- a/www/seamonkey/patches/patch-mozilla_xpcom_io_nsLocalFileUnix.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-mozilla_xpcom_io_nsLocalFileUnix.cpp,v 1.1 2014/03/30 04:13:17 ryoon Exp $
-
---- mozilla/xpcom/io/nsLocalFileUnix.cpp.orig 2014-03-19 01:42:18.000000000 +0000
-+++ mozilla/xpcom/io/nsLocalFileUnix.cpp
-@@ -382,7 +382,7 @@ nsLocalFile::OpenNSPRFileDesc(int32_t fl
- PR_Delete(mPath.get());
- }
-
--#if defined(LINUX) && !defined(ANDROID)
-+#if defined(HAVE_POSIX_FADVISE)
- if (flags & OS_READAHEAD) {
- posix_fadvise(PR_FileDesc2NativeHandle(*_retval), 0, 0,
- POSIX_FADV_SEQUENTIAL);
diff --git a/www/seamonkey/patches/patch-mb b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_Makefile.in
index c647908572d..0adaf664333 100644
--- a/www/seamonkey/patches/patch-mb
+++ b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_Makefile.in
@@ -1,8 +1,8 @@
-$NetBSD: patch-mb,v 1.14 2014/03/30 04:13:17 ryoon Exp $
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_Makefile.in,v 1.1 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig 2014-03-19 01:42:18.000000000 +0000
-+++ mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in
-@@ -83,6 +83,39 @@ endif
+--- mozilla/xpcom/reflect/xptcall/md/unix/Makefile.in.orig 2014-10-14 06:36:46.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/Makefile.in
+@@ -56,6 +56,39 @@ endif
# SPARC
######################################################################
#
diff --git a/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_moz.build b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_moz.build
index 45892d4efe2..081f6b69dba 100644
--- a/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_moz.build
+++ b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_moz.build
@@ -1,7 +1,7 @@
-$NetBSD: patch-mozilla_xpcom_reflect_xptcall_src_md_unix_moz.build,v 1.3 2014/06/22 08:54:39 ryoon Exp $
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_moz.build,v 1.1 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/xpcom/reflect/xptcall/src/md/unix/moz.build.orig 2014-06-13 00:46:13.000000000 +0000
-+++ mozilla/xpcom/reflect/xptcall/src/md/unix/moz.build
+--- mozilla/xpcom/reflect/xptcall/md/unix/moz.build.orig 2014-10-14 06:36:46.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/moz.build
@@ -9,7 +9,7 @@ if CONFIG['OS_ARCH'] == 'Darwin':
'xptcinvoke_darwin.cpp',
'xptcstubs_darwin.cpp',
diff --git a/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__asm__mips.S b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__mips.S
index 6aa14de6a6f..484469240ad 100644
--- a/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__asm__mips.S
+++ b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__mips.S
@@ -1,7 +1,7 @@
-$NetBSD: patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__asm__mips.S,v 1.1 2014/03/30 04:13:17 ryoon Exp $
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__mips.S,v 1.1 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.S.orig 2014-03-19 01:42:18.000000000 +0000
-+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.S
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_mips.S.orig 2014-10-14 06:36:46.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_mips.S
@@ -16,6 +16,47 @@
#include <sys/asm.h>
#endif
diff --git a/www/seamonkey/patches/patch-xl b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s
index b67b7ace2b6..fb7f6821f67 100644
--- a/www/seamonkey/patches/patch-xl
+++ b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s
@@ -1,9 +1,7 @@
-$NetBSD: patch-xl,v 1.8 2014/03/30 04:13:17 ryoon Exp $
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s,v 1.1 2014/11/02 05:40:31 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 2014-03-19 01:42:18.000000000 +0000
-+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc_netbsd.s
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_ppc_netbsd.s.orig 2014-10-14 06:36:46.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_ppc_netbsd.s
@@ -20,15 +20,15 @@
.section ".text"
diff --git a/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__gcc__x86__unix.cpp b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__gcc__x86__unix.cpp
new file mode 100644
index 00000000000..3f3ac996e42
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__gcc__x86__unix.cpp
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__gcc__x86__unix.cpp,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_gcc_x86_unix.cpp.orig 2014-10-14 06:36:46.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_gcc_x86_unix.cpp
+@@ -9,7 +9,7 @@
+ #include "xptc_gcc_x86_unix.h"
+
+ extern "C" {
+-static void ATTRIBUTE_USED __attribute__ ((regparm(3)))
++void ATTRIBUTE_USED __attribute__ ((regparm(3)))
+ invoke_copy_to_stack(uint32_t paramCount, nsXPTCVariant* s, uint32_t* d)
+ {
+ for(uint32_t i = paramCount; i >0; i--, d++, s++)
diff --git a/www/seamonkey/patches/patch-xe b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp
index 8789d37a61e..1e58d06af9b 100644
--- a/www/seamonkey/patches/patch-xe
+++ b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp
@@ -1,9 +1,7 @@
-$NetBSD: patch-xe,v 1.7 2013/01/07 21:55:30 ryoon Exp $
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__netbsd__m68k.cpp,v 1.1 2014/11/02 05:40:31 ryoon Exp $
- NetBSD/m68k xptcall support code. From pkgsrc/www/firefox/patch-ad.
-
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_netbsd_m68k.cpp.orig 2012-11-18 10:19:54.000000000 +0000
-+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_netbsd_m68k.cpp
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_netbsd_m68k.cpp.orig 2014-10-14 06:36:46.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_netbsd_m68k.cpp
@@ -100,6 +100,15 @@ extern "C" {
}
}
diff --git a/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__ppc__netbsd.cpp b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp
index 7a606490b8a..e13389db2ab 100644
--- a/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__ppc__netbsd.cpp
+++ b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp
@@ -1,7 +1,7 @@
-$NetBSD: patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__ppc__netbsd.cpp,v 1.2 2013/01/07 21:55:30 ryoon Exp $
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__ppc__netbsd.cpp,v 1.1 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc_netbsd.cpp.orig 2012-11-18 10:19:54.000000000 +0000
-+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc_netbsd.cpp
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_ppc_netbsd.cpp.orig 2014-10-14 06:36:46.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_ppc_netbsd.cpp
@@ -5,9 +5,9 @@
// Platform specific code to invoke XPCOM methods on native objects
@@ -14,7 +14,7 @@ $NetBSD: patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__ppc__netbsd
// access. The parameters for the method are read from the
// nsXPTCVariant* and prepared for the native ABI. For the Linux/PPC
// ABI this means that the first 8 integral and floating point
-@@ -69,8 +69,10 @@ invoke_copy_to_stack(uint32_t* d,
+@@ -72,8 +72,10 @@ invoke_copy_to_stack(uint32_t* d,
if ((uint32_t) d & 4) d++; // doubles are 8-byte aligned on stack
*((double*) d) = s->val.d;
d += 2;
@@ -25,7 +25,7 @@ $NetBSD: patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__ppc__netbsd
}
}
else if (!s->IsPtrData() && s->type == nsXPTType::T_FLOAT) {
-@@ -79,8 +81,10 @@ invoke_copy_to_stack(uint32_t* d,
+@@ -82,8 +84,10 @@ invoke_copy_to_stack(uint32_t* d,
else {
*((float*) d) = s->val.f;
d += 1;
@@ -36,7 +36,7 @@ $NetBSD: patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__ppc__netbsd
}
}
else if (!s->IsPtrData() && (s->type == nsXPTType::T_I64
-@@ -107,6 +111,6 @@ invoke_copy_to_stack(uint32_t* d,
+@@ -110,6 +114,6 @@ invoke_copy_to_stack(uint32_t* d,
}
extern "C"
diff --git a/www/seamonkey/patches/patch-xb b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp
index b71cc7a37ac..9ee18c9a0d8 100644
--- a/www/seamonkey/patches/patch-xb
+++ b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp
@@ -1,9 +1,7 @@
-$NetBSD: patch-xb,v 1.7 2013/01/07 21:55:30 ryoon Exp $
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp,v 1.1 2014/11/02 05:40:31 ryoon Exp $
-NetBSD/sparc64 xptcall support code. From pkgsrc/www/firefox3/files/
-
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_netbsd.cpp.orig 2012-11-23 07:42:43.000000000 +0000
-+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_netbsd.cpp
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_sparc64_netbsd.cpp.orig 2014-11-01 10:20:11.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcinvoke_sparc64_netbsd.cpp
@@ -0,0 +1,84 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+ *
diff --git a/www/seamonkey/patches/patch-xg b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__arm__netbsd.cpp
index 0175c9262dd..e3e1ef0dd81 100644
--- a/www/seamonkey/patches/patch-xg
+++ b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__arm__netbsd.cpp
@@ -1,9 +1,7 @@
-$NetBSD: patch-xg,v 1.8 2013/01/07 21:55:30 ryoon Exp $
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__arm__netbsd.cpp,v 1.1 2014/11/02 05:40:31 ryoon Exp $
-NetBSD/arm xptcall support code. From pkgsrc/www/firefox/patch-bm.
-
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm_netbsd.cpp.orig 2012-08-27 04:49:34.000000000 +0000
-+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm_netbsd.cpp
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_arm_netbsd.cpp.orig 2014-10-14 06:36:46.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_arm_netbsd.cpp
@@ -86,18 +86,23 @@ PrepareAndDispatch(nsXPTCStubBase* self,
* so they are contiguous with values passed on the stack, and then calls
* PrepareAndDispatch() to do the dirty work.
diff --git a/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcstubs__asm__mips.S b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__mips.S
index 0a09756377f..2eef6ac7351 100644
--- a/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcstubs__asm__mips.S
+++ b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__mips.S
@@ -1,7 +1,7 @@
-$NetBSD: patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcstubs__asm__mips.S,v 1.1 2014/03/30 04:13:17 ryoon Exp $
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__mips.S,v 1.1 2014/11/02 05:40:31 ryoon Exp $
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.S.orig 2014-03-19 01:42:18.000000000 +0000
-+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.S
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_asm_mips.S.orig 2014-10-14 06:36:46.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_asm_mips.S
@@ -14,6 +14,47 @@
#include <sys/asm.h>
#endif
diff --git a/www/seamonkey/patches/patch-xc b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__sparc64__netbsd.s
index ddfae14ae4f..c9833e5d57e 100644
--- a/www/seamonkey/patches/patch-xc
+++ b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__sparc64__netbsd.s
@@ -1,9 +1,7 @@
-$NetBSD: patch-xc,v 1.7 2013/01/07 21:55:30 ryoon Exp $
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__asm__sparc64__netbsd.s,v 1.1 2014/11/02 05:40:31 ryoon Exp $
-NetBSD/sparc64 xptcall support code. From pkgsrc/www/firefox3/files/
-
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_sparc64_netbsd.s.orig 2012-11-23 07:42:48.000000000 +0000
-+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_sparc64_netbsd.s
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_asm_sparc64_netbsd.s.orig 2014-11-01 10:20:11.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_asm_sparc64_netbsd.s
@@ -0,0 +1,66 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+ *
diff --git a/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__gcc__x86__unix.cpp b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__gcc__x86__unix.cpp
new file mode 100644
index 00000000000..4b8743e8763
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__gcc__x86__unix.cpp
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__gcc__x86__unix.cpp,v 1.1 2014/11/02 05:40:31 ryoon Exp $
+
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_gcc_x86_unix.cpp.orig 2014-10-14 06:36:46.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_gcc_x86_unix.cpp
+@@ -10,7 +10,7 @@
+ #include "xptc_gcc_x86_unix.h"
+
+ extern "C" {
+-static nsresult ATTRIBUTE_USED
++nsresult ATTRIBUTE_USED
+ __attribute__ ((regparm (3)))
+ PrepareAndDispatch(uint32_t methodIndex, nsXPTCStubBase* self, uint32_t* args)
+ {
diff --git a/www/seamonkey/patches/patch-xf b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__netbsd__m68k.cpp
index b9bd59d17ff..f450b59b534 100644
--- a/www/seamonkey/patches/patch-xf
+++ b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__netbsd__m68k.cpp
@@ -1,9 +1,7 @@
-$NetBSD: patch-xf,v 1.7 2013/01/07 21:55:30 ryoon Exp $
+$NetBSD: patch-mozilla_xpcom_reflect_xptcall_md_unix_xptcstubs__netbsd__m68k.cpp,v 1.1 2014/11/02 05:40:31 ryoon Exp $
-NetBSD/m68k xptcall support code. From pkgsrc/www/firefox/patch-ae.
-
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_netbsd_m68k.cpp.orig 2012-08-27 04:49:34.000000000 +0000
-+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_netbsd_m68k.cpp
+--- mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_netbsd_m68k.cpp.orig 2014-10-14 06:36:46.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/md/unix/xptcstubs_netbsd_m68k.cpp
@@ -91,17 +91,27 @@ extern "C" {
}
}
diff --git a/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__gcc__x86__unix.cpp b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__gcc__x86__unix.cpp
deleted file mode 100644
index e0521eba7d9..00000000000
--- a/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__gcc__x86__unix.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__gcc__x86__unix.cpp,v 1.1 2013/05/23 13:25:30 ryoon Exp $
-
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_gcc_x86_unix.cpp.orig 2013-05-03 03:08:15.000000000 +0000
-+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_gcc_x86_unix.cpp
-@@ -9,7 +9,7 @@
- #include "xptc_gcc_x86_unix.h"
-
- extern "C" {
--static void ATTRIBUTE_USED __attribute__ ((regparm(3)))
-+void ATTRIBUTE_USED __attribute__ ((regparm(3)))
- invoke_copy_to_stack(uint32_t paramCount, nsXPTCVariant* s, uint32_t* d)
- {
- for(uint32_t i = paramCount; i >0; i--, d++, s++)
diff --git a/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcstubs__gcc__x86__unix.cpp b/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcstubs__gcc__x86__unix.cpp
deleted file mode 100644
index 7539fb2d31e..00000000000
--- a/www/seamonkey/patches/patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcstubs__gcc__x86__unix.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-mozilla_xpcom_reflect_xptcall_src_md_unix_xptcstubs__gcc__x86__unix.cpp,v 1.1 2013/05/23 13:25:30 ryoon Exp $
-
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_gcc_x86_unix.cpp.orig 2013-05-03 03:08:15.000000000 +0000
-+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_gcc_x86_unix.cpp
-@@ -10,7 +10,7 @@
- #include "xptc_gcc_x86_unix.h"
-
- extern "C" {
--static nsresult ATTRIBUTE_USED
-+nsresult ATTRIBUTE_USED
- __attribute__ ((regparm (3)))
- PrepareAndDispatch(uint32_t methodIndex, nsXPTCStubBase* self, uint32_t* args)
- {
diff --git a/www/seamonkey/patches/patch-suite_installer_package-manifest.in b/www/seamonkey/patches/patch-suite_installer_package-manifest.in
deleted file mode 100644
index 770bd09b0f9..00000000000
--- a/www/seamonkey/patches/patch-suite_installer_package-manifest.in
+++ /dev/null
@@ -1,19 +0,0 @@
-$NetBSD: patch-suite_installer_package-manifest.in,v 1.3 2013/01/07 21:55:30 ryoon Exp $
-
---- suite/installer/package-manifest.in.orig 2012-11-18 10:14:25.000000000 +0000
-+++ suite/installer/package-manifest.in
-@@ -873,14 +873,11 @@ bin/libfreebl_32int64_3.so
- @BINPATH@/extensions/inspector@mozilla.org/chrome.manifest
- @BINPATH@/extensions/inspector@mozilla.org/chrome/inspector@JAREXT@
- #ifdef MOZ_GTK2
--@BINPATH@/extensions/inspector@mozilla.org/platform/Linux/chrome/icons/default/winInspectorMain16.xpm
--@BINPATH@/extensions/inspector@mozilla.org/platform/Linux/chrome/icons/default/winInspectorMain.xpm
- #elifdef XP_WIN32
- @BINPATH@/extensions/inspector@mozilla.org/platform/WINNT/chrome/icons/default/winInspectorMain.ico
- #elifdef XP_OS2
- @BINPATH@/extensions/inspector@mozilla.org/platform/OS2/chrome/icons/default/winInspectorMain.ico
- #endif
--@BINPATH@/extensions/inspector@mozilla.org/components/components.list
- @BINPATH@/extensions/inspector@mozilla.org/components/inspector-cmdline.js
- @BINPATH@/extensions/inspector@mozilla.org/defaults/preferences/inspector.js
- #endif