summaryrefslogtreecommitdiff
path: root/www/seamonkey
diff options
context:
space:
mode:
authorryoon <ryoon@pkgsrc.org>2012-03-10 03:26:04 +0000
committerryoon <ryoon@pkgsrc.org>2012-03-10 03:26:04 +0000
commitd1a12152eb59cf43510582d920f7623bf7f03551 (patch)
treeb17d7660d41d4ab44ae6b6034c81d46cdb4576c2 /www/seamonkey
parentd04bb408db07c0679b696ec3a637e50d3cd8da03 (diff)
downloadpkgsrc-d1a12152eb59cf43510582d920f7623bf7f03551.tar.gz
Update to 2.7.2
* Many new features. * Security bugfixes. * See http://www.seamonkey-project.org/releases/seamonkey2.7/
Diffstat (limited to 'www/seamonkey')
-rw-r--r--www/seamonkey/Makefile9
-rw-r--r--www/seamonkey/PLIST55
-rw-r--r--www/seamonkey/distinfo199
-rw-r--r--www/seamonkey/patches/patch-aa77
-rw-r--r--www/seamonkey/patches/patch-aa-toplevel10
-rw-r--r--www/seamonkey/patches/patch-aa-toplevel.orig33
-rw-r--r--www/seamonkey/patches/patch-aa.orig66
-rw-r--r--www/seamonkey/patches/patch-ab4
-rw-r--r--www/seamonkey/patches/patch-ab.orig22
-rw-r--r--www/seamonkey/patches/patch-ac17
-rw-r--r--www/seamonkey/patches/patch-ac.orig83
-rw-r--r--www/seamonkey/patches/patch-ad6
-rw-r--r--www/seamonkey/patches/patch-ad.orig13
-rw-r--r--www/seamonkey/patches/patch-ae4
-rw-r--r--www/seamonkey/patches/patch-ae.orig58
-rw-r--r--www/seamonkey/patches/patch-af4
-rw-r--r--www/seamonkey/patches/patch-af.orig32
-rw-r--r--www/seamonkey/patches/patch-ag4
-rw-r--r--www/seamonkey/patches/patch-ag.orig31
-rw-r--r--www/seamonkey/patches/patch-ah.orig (renamed from www/seamonkey/patches/patch-ah)2
-rw-r--r--www/seamonkey/patches/patch-ai6
-rw-r--r--www/seamonkey/patches/patch-ai.orig13
-rw-r--r--www/seamonkey/patches/patch-aj8
-rw-r--r--www/seamonkey/patches/patch-aj.orig20
-rw-r--r--www/seamonkey/patches/patch-ak4
-rw-r--r--www/seamonkey/patches/patch-ak.orig13
-rw-r--r--www/seamonkey/patches/patch-al6
-rw-r--r--www/seamonkey/patches/patch-al.orig16
-rw-r--r--www/seamonkey/patches/patch-am6
-rw-r--r--www/seamonkey/patches/patch-am.orig17
-rw-r--r--www/seamonkey/patches/patch-an4
-rw-r--r--www/seamonkey/patches/patch-an.orig48
-rw-r--r--www/seamonkey/patches/patch-ao6
-rw-r--r--www/seamonkey/patches/patch-ao.orig15
-rw-r--r--www/seamonkey/patches/patch-as12
-rw-r--r--www/seamonkey/patches/patch-as.orig42
-rw-r--r--www/seamonkey/patches/patch-at6
-rw-r--r--www/seamonkey/patches/patch-at.orig15
-rw-r--r--www/seamonkey/patches/patch-au4
-rw-r--r--www/seamonkey/patches/patch-au.orig30
-rw-r--r--www/seamonkey/patches/patch-av6
-rw-r--r--www/seamonkey/patches/patch-av.orig40
-rw-r--r--www/seamonkey/patches/patch-aw51
-rw-r--r--www/seamonkey/patches/patch-aw.orig40
-rw-r--r--www/seamonkey/patches/patch-ax6
-rw-r--r--www/seamonkey/patches/patch-ax.orig13
-rw-r--r--www/seamonkey/patches/patch-ay4
-rw-r--r--www/seamonkey/patches/patch-ay.orig40
-rw-r--r--www/seamonkey/patches/patch-az6
-rw-r--r--www/seamonkey/patches/patch-az.orig19
-rw-r--r--www/seamonkey/patches/patch-ba4
-rw-r--r--www/seamonkey/patches/patch-ba.orig24
-rw-r--r--www/seamonkey/patches/patch-bd4
-rw-r--r--www/seamonkey/patches/patch-bd.orig27
-rw-r--r--www/seamonkey/patches/patch-be.orig (renamed from www/seamonkey/patches/patch-be)2
-rw-r--r--www/seamonkey/patches/patch-bf4
-rw-r--r--www/seamonkey/patches/patch-bf.orig22
-rw-r--r--www/seamonkey/patches/patch-bg4
-rw-r--r--www/seamonkey/patches/patch-bg.orig24
-rw-r--r--www/seamonkey/patches/patch-bi11
-rw-r--r--www/seamonkey/patches/patch-bi.orig13
-rw-r--r--www/seamonkey/patches/patch-directory_c-sdk_ldap_include_portable.h4
-rw-r--r--www/seamonkey/patches/patch-directory_c-sdk_ldap_include_portable.h.orig17
-rw-r--r--www/seamonkey/patches/patch-ipc_chromium_src_base_debug__util__posic.cc56
-rw-r--r--www/seamonkey/patches/patch-ipc_chromium_src_base_debug__util__posic.cc.orig35
-rw-r--r--www/seamonkey/patches/patch-ipc_chromium_src_base_file__util.h9
-rw-r--r--www/seamonkey/patches/patch-ipc_chromium_src_base_file__util.h.orig15
-rw-r--r--www/seamonkey/patches/patch-ipc_chromium_src_base_file__util__posix.cc15
-rw-r--r--www/seamonkey/patches/patch-ipc_chromium_src_base_file__util__posix.cc.orig14
-rw-r--r--www/seamonkey/patches/patch-ipc_chromium_src_base_platform__file__posix.cc6
-rw-r--r--www/seamonkey/patches/patch-ipc_chromium_src_base_platform__file__posix.cc.orig12
-rw-r--r--www/seamonkey/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc23
-rw-r--r--www/seamonkey/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc.orig24
-rw-r--r--www/seamonkey/patches/patch-ipc_chromium_src_base_sys__info__posix.cc4
-rw-r--r--www/seamonkey/patches/patch-ipc_chromium_src_base_sys__info__posix.cc.orig49
-rw-r--r--www/seamonkey/patches/patch-ipc_chromium_src_base_third__party_nspr_prcpucfg.h8
-rw-r--r--www/seamonkey/patches/patch-ipc_chromium_src_base_third__party_nspr_prcpucfg.h.orig13
-rw-r--r--www/seamonkey/patches/patch-ipc_chromium_src_build_build__config.h24
-rw-r--r--www/seamonkey/patches/patch-ipc_chromium_src_build_build__config.h.orig34
-rw-r--r--www/seamonkey/patches/patch-ipc_chromium_src_chrome_common_ipc__channel__posix.h6
-rw-r--r--www/seamonkey/patches/patch-ipc_chromium_src_chrome_common_ipc__channel__posix.h.orig13
-rw-r--r--www/seamonkey/patches/patch-ma6
-rw-r--r--www/seamonkey/patches/patch-ma-toplevel4
-rw-r--r--www/seamonkey/patches/patch-ma-toplevel.orig23
-rw-r--r--www/seamonkey/patches/patch-ma.orig23
-rw-r--r--www/seamonkey/patches/patch-mb26
-rw-r--r--www/seamonkey/patches/patch-mb.orig79
-rw-r--r--www/seamonkey/patches/patch-md6
-rw-r--r--www/seamonkey/patches/patch-md.orig17
-rw-r--r--www/seamonkey/patches/patch-me17
-rw-r--r--www/seamonkey/patches/patch-me.orig27
-rw-r--r--www/seamonkey/patches/patch-mf4
-rw-r--r--www/seamonkey/patches/patch-mf.orig21
-rw-r--r--www/seamonkey/patches/patch-mg4
-rw-r--r--www/seamonkey/patches/patch-mg.orig90
-rw-r--r--www/seamonkey/patches/patch-mh4
-rw-r--r--www/seamonkey/patches/patch-mh.orig13
-rw-r--r--www/seamonkey/patches/patch-mi10
-rw-r--r--www/seamonkey/patches/patch-mi.orig15
-rw-r--r--www/seamonkey/patches/patch-mj4
-rw-r--r--www/seamonkey/patches/patch-mj.orig15
-rw-r--r--www/seamonkey/patches/patch-mk17
-rw-r--r--www/seamonkey/patches/patch-mk.orig19
-rw-r--r--www/seamonkey/patches/patch-ml12
-rw-r--r--www/seamonkey/patches/patch-ml.orig16
-rw-r--r--www/seamonkey/patches/patch-mm10
-rw-r--r--www/seamonkey/patches/patch-mm.orig18
-rw-r--r--www/seamonkey/patches/patch-mn4
-rw-r--r--www/seamonkey/patches/patch-mn.orig15
-rw-r--r--www/seamonkey/patches/patch-mozilla_browser_confvars.sh11
-rw-r--r--www/seamonkey/patches/patch-mozilla_browser_confvars.sh.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_build_autoconf_gcc-pr49911.m413
-rw-r--r--www/seamonkey/patches/patch-mozilla_build_autoconf_gcc-pr49911.m4.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_build_autoconf_nss.m446
-rw-r--r--www/seamonkey/patches/patch-mozilla_build_autoconf_nss.m4.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp31
-rw-r--r--www/seamonkey/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.h13
-rw-r--r--www/seamonkey/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.h.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_Makefile.in39
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_Makefile.in.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_chromium-config.mk97
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_chromium-config.mk.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_base__paths.h13
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_base__paths.h.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_file__util__bsd.cc84
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_file__util__bsd.cc.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_message__loop.cc22
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_message__loop.cc.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_platform__thread.h13
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_platform__thread.h.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util.h45
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util.h.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc303
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util__posix.cc25
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util__posix.cc.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_third__party_nspr_prtime.cc38
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_third__party_nspr_prtime.cc.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_chrome_common_ipc__message__utils.h22
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_chrome_common_ipc__message__utils.h.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_chrome_common_transport__dib.h31
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_chromium_src_chrome_common_transport__dib.h.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp42
-rw-r--r--www/seamonkey/patches/patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_js_src_build_autoconf_gcc-pr49911.m413
-rw-r--r--www/seamonkey/patches/patch-mozilla_js_src_build_autoconf_gcc-pr49911.m4.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_js_src_configure22
-rw-r--r--www/seamonkey/patches/patch-mozilla_js_src_configure.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_js_src_jscpucfg.h26
-rw-r--r--www/seamonkey/patches/patch-mozilla_js_src_jscpucfg.h.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_js_src_methodjit_MethodJIT.cpp13
-rw-r--r--www/seamonkey/patches/patch-mozilla_js_src_methodjit_MethodJIT.cpp.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_js_src_yarr_pcre_pcre.h14
-rw-r--r--www/seamonkey/patches/patch-mozilla_js_src_yarr_pcre_pcre.h.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_media_libvpx_vpx_config.h17
-rw-r--r--www/seamonkey/patches/patch-mozilla_media_libvpx_vpx_config.h.orig18
-rw-r--r--www/seamonkey/patches/patch-mozilla_media_libvpx_vpx_config_c.c17
-rw-r--r--www/seamonkey/patches/patch-mozilla_media_libvpx_vpx_config_c.c.orig18
-rw-r--r--www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md___dragonfly.cfg199
-rw-r--r--www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md___dragonfly.cfg.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md___pth.h30
-rw-r--r--www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md___pth.h.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md_prosdep.h13
-rw-r--r--www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md_prosdep.h.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_md_unix_uxrng.c13
-rw-r--r--www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_md_unix_uxrng.c.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_pthreads_ptio.c23
-rw-r--r--www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_pthreads_ptio.c.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_pthreads_ptsynch.c13
-rw-r--r--www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_pthreads_ptsynch.c.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_Makefile.in15
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_Makefile.in.orig0
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_idl-parser_header.py4
-rw-r--r--www/seamonkey/patches/patch-mozilla_xpcom_idl-parser_header.py.orig17
-rw-r--r--www/seamonkey/patches/patch-mozilla_xulrunner_app_Makefile.in15
-rw-r--r--www/seamonkey/patches/patch-mozilla_xulrunner_app_Makefile.in.orig0
-rw-r--r--www/seamonkey/patches/patch-mp4
-rw-r--r--www/seamonkey/patches/patch-mp.orig17
-rw-r--r--www/seamonkey/patches/patch-pa4
-rw-r--r--www/seamonkey/patches/patch-pa.orig11
-rw-r--r--www/seamonkey/patches/patch-pb4
-rw-r--r--www/seamonkey/patches/patch-pb.orig11
-rw-r--r--www/seamonkey/patches/patch-pc4
-rw-r--r--www/seamonkey/patches/patch-pc.orig12
-rw-r--r--www/seamonkey/patches/patch-pd4
-rw-r--r--www/seamonkey/patches/patch-pd.orig11
-rw-r--r--www/seamonkey/patches/patch-pg4
-rw-r--r--www/seamonkey/patches/patch-pg.orig14
-rw-r--r--www/seamonkey/patches/patch-rc4
-rw-r--r--www/seamonkey/patches/patch-rc.orig11
-rw-r--r--www/seamonkey/patches/patch-security_nss_cmd_shlibsign_sign.sh4
-rw-r--r--www/seamonkey/patches/patch-security_nss_cmd_shlibsign_sign.sh.orig17
-rw-r--r--www/seamonkey/patches/patch-toolkit_toolkit-tiers.mk6
-rw-r--r--www/seamonkey/patches/patch-toolkit_toolkit-tiers.mk.orig13
-rw-r--r--www/seamonkey/patches/patch-xa4
-rw-r--r--www/seamonkey/patches/patch-xa.orig119
-rw-r--r--www/seamonkey/patches/patch-xb4
-rw-r--r--www/seamonkey/patches/patch-xb.orig91
-rw-r--r--www/seamonkey/patches/patch-xc4
-rw-r--r--www/seamonkey/patches/patch-xc.orig73
-rw-r--r--www/seamonkey/patches/patch-xd4
-rw-r--r--www/seamonkey/patches/patch-xd.orig126
-rw-r--r--www/seamonkey/patches/patch-xe4
-rw-r--r--www/seamonkey/patches/patch-xe.orig77
-rw-r--r--www/seamonkey/patches/patch-xf4
-rw-r--r--www/seamonkey/patches/patch-xf.orig43
-rw-r--r--www/seamonkey/patches/patch-xg4
-rw-r--r--www/seamonkey/patches/patch-xg.orig33
-rw-r--r--www/seamonkey/patches/patch-xj4
-rw-r--r--www/seamonkey/patches/patch-xj.orig129
-rw-r--r--www/seamonkey/patches/patch-xk4
-rw-r--r--www/seamonkey/patches/patch-xk.orig156
-rw-r--r--www/seamonkey/patches/patch-xl4
-rw-r--r--www/seamonkey/patches/patch-xl.orig200
-rw-r--r--www/seamonkey/patches/patch-xm4
-rw-r--r--www/seamonkey/patches/patch-xm.orig49
-rw-r--r--www/seamonkey/patches/patch-xn6
-rw-r--r--www/seamonkey/patches/patch-xn.orig53
-rw-r--r--www/seamonkey/patches/patch-xo6
-rw-r--r--www/seamonkey/patches/patch-xo.orig53
-rw-r--r--www/seamonkey/patches/patch-za7
-rw-r--r--www/seamonkey/patches/patch-za.orig15
-rw-r--r--www/seamonkey/patches/patch-zc4
-rw-r--r--www/seamonkey/patches/patch-zc.orig40
225 files changed, 4711 insertions, 440 deletions
diff --git a/www/seamonkey/Makefile b/www/seamonkey/Makefile
index f116a1d36c3..b2f540b0621 100644
--- a/www/seamonkey/Makefile
+++ b/www/seamonkey/Makefile
@@ -1,10 +1,9 @@
-# $NetBSD: Makefile,v 1.64 2012/03/03 12:54:22 wiz Exp $
+# $NetBSD: Makefile,v 1.65 2012/03/10 03:26:04 ryoon Exp $
#
DISTNAME= seamonkey-${SM_VER}.source
PKGNAME= seamonkey-${SM_VER}
-SM_VER= 2.5b4
-PKGREVISION= 4
+SM_VER= 2.7.2
CATEGORIES= www
MASTER_SITES= ${MASTER_SITE_MOZILLA:=seamonkey/releases/${SM_VER}/source/}
EXTRACT_SUFX= .tar.bz2
@@ -15,7 +14,7 @@ COMMENT= Full-featured gecko-based browser
PKG_DESTDIR_SUPPORT= user-destdir
-WRKSRC= ${WRKDIR}/comm-beta
+WRKSRC= ${WRKDIR}/comm-release
MOZILLA_DIR= mozilla/
CONFIG_GUESS_OVERRIDE+= ldap/sdks/c-sdk/config/autoconf/config.guess
@@ -25,6 +24,8 @@ CONFIGURE_ARGS+= --enable-application=suite
ALL_ENV+= MOZILLA_PKG_NAME=seamonkey
+LDFLAGS+= -Wl,-rpath,${PREFIX}/lib/seamonkey
+
.include "../../mk/bsd.prefs.mk"
.if (${OPSYS} == "Linux" || ${OPSYS} == "SunOS" || ${OPSYS} == "Darwin" || \
diff --git a/www/seamonkey/PLIST b/www/seamonkey/PLIST
index 5803a961435..6e17b8146d3 100644
--- a/www/seamonkey/PLIST
+++ b/www/seamonkey/PLIST
@@ -1,6 +1,5 @@
-@comment $NetBSD: PLIST,v 1.23 2011/11/12 16:41:43 tnn Exp $
+@comment $NetBSD: PLIST,v 1.24 2012/03/10 03:26:04 ryoon Exp $
bin/seamonkey
-lib/seamonkey/README
lib/seamonkey/application.ini
lib/seamonkey/blocklist.xml
lib/seamonkey/chrome.manifest
@@ -161,6 +160,7 @@ lib/seamonkey/chrome/classic/skin/classic/messenger/addressbook/icons/abcard.gif
lib/seamonkey/chrome/classic/skin/classic/messenger/addressbook/icons/ablist.gif
lib/seamonkey/chrome/classic/skin/classic/messenger/addressbook/icons/addrbook.gif
lib/seamonkey/chrome/classic/skin/classic/messenger/addressbook/icons/addressbookicons.png
+lib/seamonkey/chrome/classic/skin/classic/messenger/addressbook/icons/addressbookicons-small.png
lib/seamonkey/chrome/classic/skin/classic/messenger/addressbook/icons/contact-generic-tiny.png
lib/seamonkey/chrome/classic/skin/classic/messenger/addressbook/icons/contact-generic.png
lib/seamonkey/chrome/classic/skin/classic/messenger/addressbook/icons/remote-addrbook-error.gif
@@ -1117,7 +1117,6 @@ lib/seamonkey/chrome/en-US/locale/en-US/global/tree.dtd
lib/seamonkey/chrome/en-US/locale/en-US/global/videocontrols.dtd
lib/seamonkey/chrome/en-US/locale/en-US/global/viewSource.dtd
lib/seamonkey/chrome/en-US/locale/en-US/global/viewSource.properties
-lib/seamonkey/chrome/en-US/locale/en-US/global/webConsole.dtd
lib/seamonkey/chrome/en-US/locale/en-US/global/wizard.dtd
lib/seamonkey/chrome/en-US/locale/en-US/global/wizard.properties
lib/seamonkey/chrome/en-US/locale/en-US/global/xbl.properties
@@ -1154,7 +1153,6 @@ lib/seamonkey/chrome/en-US/locale/en-US/messenger/SearchDialog.dtd
lib/seamonkey/chrome/en-US/locale/en-US/messenger/addressbook/abAddressBookNameDialog.dtd
lib/seamonkey/chrome/en-US/locale/en-US/messenger/addressbook/abCardOverlay.dtd
lib/seamonkey/chrome/en-US/locale/en-US/messenger/addressbook/abCardViewOverlay.dtd
-lib/seamonkey/chrome/en-US/locale/en-US/messenger/addressbook/abDirTreeOverlay.dtd
lib/seamonkey/chrome/en-US/locale/en-US/messenger/addressbook/abMailListDialog.dtd
lib/seamonkey/chrome/en-US/locale/en-US/messenger/addressbook/abMainWindow.dtd
lib/seamonkey/chrome/en-US/locale/en-US/messenger/addressbook/abNewCardDialog.dtd
@@ -1420,7 +1418,6 @@ lib/seamonkey/chrome/messenger/content/messenger/addressbook/abCardOverlay.xul
lib/seamonkey/chrome/messenger/content/messenger/addressbook/abCardViewOverlay.js
lib/seamonkey/chrome/messenger/content/messenger/addressbook/abCardViewOverlay.xul
lib/seamonkey/chrome/messenger/content/messenger/addressbook/abCommon.js
-lib/seamonkey/chrome/messenger/content/messenger/addressbook/abDirTreeOverlay.xul
lib/seamonkey/chrome/messenger/content/messenger/addressbook/abDragDrop.js
lib/seamonkey/chrome/messenger/content/messenger/addressbook/abEditCardDialog.xul
lib/seamonkey/chrome/messenger/content/messenger/addressbook/abEditListDialog.xul
@@ -1507,12 +1504,9 @@ lib/seamonkey/chrome/messenger/content/messenger/junkLog.xul
lib/seamonkey/chrome/messenger/content/messenger/junkMailInfo.xul
lib/seamonkey/chrome/messenger/content/messenger/mail-offline.js
lib/seamonkey/chrome/messenger/content/messenger/mail3PaneWindowCommands.js
-lib/seamonkey/chrome/messenger/content/messenger/mailABOverlay.xul
lib/seamonkey/chrome/messenger/content/messenger/mailCommands.js
lib/seamonkey/chrome/messenger/content/messenger/mailContextMenus.js
lib/seamonkey/chrome/messenger/content/messenger/mailEditorOverlay.xul
-lib/seamonkey/chrome/messenger/content/messenger/mailMessengerComposeOverlay.xul
-lib/seamonkey/chrome/messenger/content/messenger/mailMessengerOverlay.xul
lib/seamonkey/chrome/messenger/content/messenger/mailOverlay.js
lib/seamonkey/chrome/messenger/content/messenger/mailOverlay.xul
lib/seamonkey/chrome/messenger/content/messenger/mailPrefsOverlay.xul
@@ -2244,7 +2238,6 @@ lib/seamonkey/components/nsSidebar.js
lib/seamonkey/components/nsSuiteDownloadManagerUI.js
lib/seamonkey/components/nsSuiteGlue.js
lib/seamonkey/components/nsTaggingService.js
-lib/seamonkey/components/nsTryToClose.js
lib/seamonkey/components/nsTypeAheadFind.js
lib/seamonkey/components/nsURLFormatter.js
lib/seamonkey/components/nsUpdateService.js
@@ -3487,24 +3480,9 @@ lib/seamonkey/isp/SpamAssassin.sfd
lib/seamonkey/isp/SpamPal.sfd
lib/seamonkey/isp/movemail.rdf
lib/seamonkey/isp/rss.rdf
-lib/seamonkey/libfreebl3.chk
-lib/seamonkey/libfreebl3.so
lib/seamonkey/libldap60.so
lib/seamonkey/libldif60.so
lib/seamonkey/libmozalloc.so
-lib/seamonkey/libnspr4.so
-lib/seamonkey/libnss3.so
-lib/seamonkey/libnssckbi.so
-lib/seamonkey/libnssdbm3.chk
-lib/seamonkey/libnssdbm3.so
-lib/seamonkey/libnssutil3.so
-lib/seamonkey/libplc4.so
-lib/seamonkey/libplds4.so
-lib/seamonkey/libprldap60.so
-lib/seamonkey/libsmime3.so
-lib/seamonkey/libsoftokn3.chk
-lib/seamonkey/libsoftokn3.so
-lib/seamonkey/libssl3.so
lib/seamonkey/libxpcom.so
lib/seamonkey/libxul.so
lib/seamonkey/license.txt
@@ -3663,3 +3641,32 @@ lib/seamonkey/searchplugins/yahoo.xml
lib/seamonkey/update.locale
lib/seamonkey/updater
lib/seamonkey/updater.ini
+lib/seamonkey/chrome/comm/content/communicator/viewApplyThemeOverlay.js
+lib/seamonkey/chrome/comm/content/communicator/viewApplyThemeOverlay.xul
+lib/seamonkey/chrome/comm/content/editor/editingOverlay.js
+lib/seamonkey/chrome/comm/content/editor/editingOverlay.xul
+lib/seamonkey/chrome/en-US/locale/en-US/communicator/about.dtd
+lib/seamonkey/chrome/en-US/locale/en-US/communicator/viewApplyThemeOverlay.dtd
+lib/seamonkey/chrome/en-US/locale/en-US/communicator/viewApplyThemeOverlay.properties
+lib/seamonkey/chrome/en-US/locale/en-US/editor/editingOverlay.dtd
+lib/seamonkey/chrome/en-US/locale/en-US/global/layout/htmlparser.properties
+lib/seamonkey/chrome/en-US/locale/en-US/messenger/mailKeysOverlay.dtd
+lib/seamonkey/chrome/messenger/content/messenger/mailKeysOverlay.xul
+lib/seamonkey/chrome/messenger/content/messenger/messengercompose/mailComposeOverlay.xul
+lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/category-dictionaries.png
+lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/dictionaryGeneric-16.png
+lib/seamonkey/chrome/toolkit/skin/classic/mozapps/extensions/dictionaryGeneric.png
+lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/global/media/stalled.png
+lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/mozapps/extensions/category-dictionaries.png
+lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/mozapps/extensions/dictionaryGeneric-16.png
+lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/mozapps/extensions/dictionaryGeneric.png
+lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/mozapps/extensions/newaddon.css
+lib/seamonkey/hyphenation/hyph_hu.dic
+lib/seamonkey/hyphenation/hyph_it.dic
+lib/seamonkey/hyphenation/hyph_tr.dic
+lib/seamonkey/modules/ChromeManifestParser.jsm
+lib/seamonkey/modules/ConsoleAPIStorage.jsm
+lib/seamonkey/modules/SpellCheckDictionaryBootstrap.js
+lib/seamonkey/modules/jsdebugger.jsm
+lib/seamonkey/extensions/modern@themes.mozilla.org/chrome/modern/skin/modern/mozapps/extensions/newaddon.css
+lib/seamonkey/libprldap60.so
diff --git a/www/seamonkey/distinfo b/www/seamonkey/distinfo
index 98a4aa7daa4..7aa9e9ee055 100644
--- a/www/seamonkey/distinfo
+++ b/www/seamonkey/distinfo
@@ -1,86 +1,115 @@
-$NetBSD: distinfo,v 1.73 2012/02/27 09:24:33 cheusov Exp $
+$NetBSD: distinfo,v 1.74 2012/03/10 03:26:04 ryoon Exp $
-SHA1 (seamonkey-2.5b4.source.tar.bz2) = 74b8b9a415b97e4e3242db516fa57ed8b9f43dfe
-RMD160 (seamonkey-2.5b4.source.tar.bz2) = 1ed9a59457b7bafe2aed2071908822b98225dddc
-Size (seamonkey-2.5b4.source.tar.bz2) = 89481907 bytes
-SHA1 (patch-aa) = 19166ee99b804e5b05d6936a2a09315eb29f9ca2
-SHA1 (patch-aa-toplevel) = b5278820a02405f03e328ba4dd217ef16ae52bcb
-SHA1 (patch-ab) = c2bffac6626ce22d15855a80d84ffac6cbd52fe2
-SHA1 (patch-ac) = cbbc17c71dd96969079fc7268b15f822a29d01aa
-SHA1 (patch-ad) = f49147e2fa28400986b659ec50918e3835db0105
-SHA1 (patch-ae) = 7cb8cbf920fe5fae7bfe7ace98e93fcf2c506789
-SHA1 (patch-af) = 16cae98e043dedeb6331212fd15ce914196fe8c7
-SHA1 (patch-ag) = 22cca24b67c85fbf9bafb35441dfcb460ecde6bf
-SHA1 (patch-ah) = 10c80ec60801295b037b4a45fbad8937922da235
-SHA1 (patch-ai) = 4d701ece9a2aaa0b640c189745fa7e731617fb7c
-SHA1 (patch-aj) = c6d14934700c2f9fc12c00474ef321f8265f4527
-SHA1 (patch-ak) = bf763083d8a2986d82e8613c40ed7c99722c82c4
-SHA1 (patch-al) = 616f500ba2af8f522454858ed0d845a127f41a96
-SHA1 (patch-am) = 81bcda476a7b54050ed1ae87bd47cf9de8f19919
-SHA1 (patch-an) = e30362e1a07c6c8e96dc81d134517685c3f19ca9
-SHA1 (patch-ao) = 42c268711a8bb24c3bde3c5bf74bb5a9f73ff21a
-SHA1 (patch-as) = 0724caef986c0288b24bedb7b3acd384536d376f
-SHA1 (patch-at) = 32fcebfa1f3778a1fa1e020002060db433e8491b
-SHA1 (patch-au) = 1bf6913c702c7d586d73603597efae0e39f2b49f
-SHA1 (patch-av) = 2cb2e3d5b94f7b83117eb752d4410638daa6ae73
-SHA1 (patch-aw) = 55d2769dfb6d0c65bd2072c1a7c82cfef0fd5404
-SHA1 (patch-ax) = 4d0b83ab7592ee8c674a176e64dbc3ddb5b9d3b5
-SHA1 (patch-ay) = 83d023cd43beb08b17f1161fe025959ca441e1ce
-SHA1 (patch-az) = 0e04c1c740ad3f1462a6cda4a3832378acefb600
-SHA1 (patch-ba) = fd28f3b24848e7221078ef692eef7ccae8625987
-SHA1 (patch-bd) = c2296fe47f6f9e38d424ef27ca367a257188e2d1
-SHA1 (patch-be) = 8783683729e40b5deec2e33fbc50e63e1357aea3
-SHA1 (patch-bf) = b95177e3a5db42bf4edf59eaae5232910c802d69
-SHA1 (patch-bg) = b30ecac3ee44d749a3eb125bbcd5e24e31b23243
-SHA1 (patch-bi) = c47064c71c6fc960a1a9afb735f249f3f7d0d09d
-SHA1 (patch-directory_c-sdk_ldap_include_portable.h) = 5f9f69ac57da0c830f2fa33e82057a1eb5907249
-SHA1 (patch-ipc_chromium_src_base_debug__util__posic.cc) = bc98be56df67b1a3c2b1174613f0d6c3134a2c8e
-SHA1 (patch-ipc_chromium_src_base_file__util.h) = 51dc4a5a32da8e7d7eb3c026e3ebaae7858564cf
-SHA1 (patch-ipc_chromium_src_base_file__util__posix.cc) = ce60e80e3ddc417c1fa867f6f4258aece166fc51
-SHA1 (patch-ipc_chromium_src_base_platform__file__posix.cc) = 3c83eeb7f40416b61a799ca55b223a93353f7f6a
-SHA1 (patch-ipc_chromium_src_base_platform__thread__posix.cc) = 0c493e4ae0e8ce5c65577667bb301ffa1ac60b5c
-SHA1 (patch-ipc_chromium_src_base_sys__info__posix.cc) = b48db50737a961b1dce9f8a212a81eb393b7bf83
-SHA1 (patch-ipc_chromium_src_base_third__party_nspr_prcpucfg.h) = 648804b5b2cccba36ac14e693f5dac16c55dcb32
-SHA1 (patch-ipc_chromium_src_build_build__config.h) = be592fd638b42f1a34a7b01827c2ca59f225144b
-SHA1 (patch-ipc_chromium_src_chrome_common_ipc__channel__posix.h) = 202f215aa78b3325b1ea1d68be5b49d46bc10dd0
-SHA1 (patch-ma) = 9b9bc5e5ced5831aa14e1549ed2ddf0b9c2ce986
-SHA1 (patch-ma-toplevel) = 67ea79e29f6e9737ce76b8541ab8b3860eb02561
-SHA1 (patch-mb) = 8481afe61902cb16dfe35a5ee015cb4d43a54236
-SHA1 (patch-md) = 932c2b0237c9690da06533f0abfeabddf32d8f3e
-SHA1 (patch-me) = ea6251673ad46a50b643449171cb3ba7f95beba5
-SHA1 (patch-mf) = 14674ed31c912ef647a913cb93762dc963b96177
-SHA1 (patch-mg) = f33a92539ebe171b7bbbd83a54ad9ac2fdca249a
-SHA1 (patch-mh) = 36a434488f3389407c6ebce610c176464bc03c45
-SHA1 (patch-mi) = c49e917409c0542e69f57fe5571a16b6c2e4aa9a
-SHA1 (patch-mj) = 9b28802eb665a7a77e879ec44e9da52e2e79ec8b
-SHA1 (patch-mk) = 3c25934e0c7b9277d96a5635b961e1fb6682ab7b
-SHA1 (patch-ml) = ef7d87fff48f298f4c1ed037439eaf8c7c574f68
-SHA1 (patch-mm) = f54286fe1acef3202d728b3e83cbd65cffe8ab12
-SHA1 (patch-mn) = 3a1c25a3f5a1532331424fc1e720f35cd0ed5d5b
-SHA1 (patch-mozilla_media_libvpx_vpx_config.h) = a687b2763b12e822a681f2610c2766568db16ec2
-SHA1 (patch-mozilla_media_libvpx_vpx_config_c.c) = a1e6294605cd852a90731b38ff82d2437c228878
-SHA1 (patch-mozilla_xpcom_idl-parser_header.py) = 38313ee3f2f7b45d4968c08be0af3ff36560baff
-SHA1 (patch-mp) = 673ba7fb0426d13699ead5fbcf762d8adb6baf40
-SHA1 (patch-pa) = a41a2dadd3b1c902f85632a4b57008a789b269bc
-SHA1 (patch-pb) = 11dada932534519ccf54998d027cf6f69d7b0d1d
-SHA1 (patch-pc) = 44e3f13be743971839e62fa313000ebc30275ed4
-SHA1 (patch-pd) = 1f12080244c75f42e4edbe623a15fd2ac6abd6d4
-SHA1 (patch-pg) = e022af26945893d2a61ec4ca3a414ccb6150a235
-SHA1 (patch-rc) = b3b0577e9421fcdcab5bcd29ab7fa12d2ba2ac45
-SHA1 (patch-security_nss_cmd_shlibsign_sign.sh) = 3e0170a8eb75cb42fdce529c3bbc67b6aaa29500
-SHA1 (patch-toolkit_toolkit-tiers.mk) = 76de271f8a2b08cc3b809e3c1635a1313d3feced
-SHA1 (patch-xa) = 0acaf27d8687c7cb5a46fc3773097a3dea4c75d9
-SHA1 (patch-xb) = 07a90e393dbb38a98e8d9954387757d21d3e65cf
-SHA1 (patch-xc) = 98c8b4193dde73f28747c8ac870071f1debbe9f0
-SHA1 (patch-xd) = 927a73f9ba1f516a10e83dbe5f00744acc6a88df
-SHA1 (patch-xe) = 945bce0dc7347392b992b9698597d8584557d51e
-SHA1 (patch-xf) = 34d671d4e615a694e3add3303eaae5e23c7df3ac
-SHA1 (patch-xg) = 4fdf27307cfb3bf3cb33440da75704b149fc2aaa
-SHA1 (patch-xj) = 452d87313b29510fb02e804545c17193e2c822bf
-SHA1 (patch-xk) = b50b34041b75b1590f021592b1e26893ae458a01
-SHA1 (patch-xl) = 1425f9e5fd0dc49f3204730d1d88b9600d6475e4
-SHA1 (patch-xm) = 270e762936fe686cc55b820d52e15421b27c7c2c
-SHA1 (patch-xn) = edd741e4e71ecb44fc58750727aac473ff2e628e
-SHA1 (patch-xo) = 02c913b01bba8afd70ea28c0dd752ebf4b696e0c
-SHA1 (patch-za) = b3759589bfe9833dd0220e63aa65ee496f94cbb8
-SHA1 (patch-zc) = 2f73cb72bd6c10830e7a2b8ad3b1f769c6afdb3c
+SHA1 (seamonkey-2.7.2.source.tar.bz2) = 4c3004f129a26cfb4d085ac7b3c128dd9d5a89c5
+RMD160 (seamonkey-2.7.2.source.tar.bz2) = fd8712a63f70cf2e05ace47cc25204d0774f838c
+Size (seamonkey-2.7.2.source.tar.bz2) = 98488717 bytes
+SHA1 (patch-aa) = d8bde851cf58ef52df5b8ec571d6ca02dafb069c
+SHA1 (patch-aa-toplevel) = e2c5f6536e29091c553cbd624f22ef86c0445127
+SHA1 (patch-ab) = def50c64bbbd3f6697f973e3013b59df394000dd
+SHA1 (patch-ac) = 73fb284097676757f389ae956e64d21549dbf8f1
+SHA1 (patch-ad) = 75f3b87e552b7831d203e15a1bddef170e5bbd70
+SHA1 (patch-ae) = ae1f689d1cbe1879fa67bc823b074b67fa18539b
+SHA1 (patch-af) = 32910b49d81f9f6a7eb30927daf7ceb64e4191b7
+SHA1 (patch-ag) = 28c3dcfbd278806ad1d8b9fac5af8c6e0b1d4b4f
+SHA1 (patch-ai) = 381cd2f5c93894b01ca030d86d62d714465da16a
+SHA1 (patch-aj) = 73ca56f11d2cac90aa161ad376487948d1d7f063
+SHA1 (patch-ak) = 8ea355835eeffdcc143c9b09e011ffab9cc65205
+SHA1 (patch-al) = d7773277af3b7001cf9bf358210dc2c577760aa9
+SHA1 (patch-am) = 7cf53ddf784a3b3ef443b80b825ec9d9dd0ca1b4
+SHA1 (patch-an) = e5023b3f34636a8b471ef7c3aad4814d09e98235
+SHA1 (patch-ao) = 5615ad34032101c3b197fdddf3772a3979a63226
+SHA1 (patch-as) = 47acdeda60f65551600acc3d2368d5887ed8bfbc
+SHA1 (patch-at) = e4844efbb661afec1141bb224147e510d70a37b4
+SHA1 (patch-au) = 081cd10f0f53dbcb7bf0464a3206900cd58a803c
+SHA1 (patch-av) = c14c21024ce0741f9429daec4e21cbf6cf9db823
+SHA1 (patch-aw) = aa73aa3741bc09a7e0361dd0cf2abfe5d4ddf305
+SHA1 (patch-ax) = 8f6b16a86c26fb39dc002e52e93a15a5e7c56b9f
+SHA1 (patch-ay) = d377cad88aeaf050de90658e56d3f8d21ea1fd5d
+SHA1 (patch-az) = 3d6504180e7453608327de07185db4b8e8371dae
+SHA1 (patch-ba) = 52e659210a74899ca95bfb5dad1b587dd669d70b
+SHA1 (patch-bd) = 94a386da489f2526581047a7078b331bd77d10f7
+SHA1 (patch-bf) = 70af145252ca21bef0b8cb97a13c88cdae97c364
+SHA1 (patch-bg) = 815014230edcb8b8df9701963bf8ea223a853f59
+SHA1 (patch-bi) = e3186dd37093e858f93b0a4d5093ab275bb83a94
+SHA1 (patch-directory_c-sdk_ldap_include_portable.h) = d2c3d432a84dc7160a9ea71a82c974a66f1eadd4
+SHA1 (patch-ipc_chromium_src_base_debug__util__posic.cc) = 97d6b702d28e877ffec334cd72850fbb65868b7f
+SHA1 (patch-ipc_chromium_src_base_file__util.h) = 5a97f9a50560116af44b2573603a9dd63a78f3c2
+SHA1 (patch-ipc_chromium_src_base_file__util__posix.cc) = fa09314c89059e0b9f57e3d6bf0989ea89007e34
+SHA1 (patch-ipc_chromium_src_base_platform__file__posix.cc) = ce124c1ecbaf63c859825fa7d4ae2e68dc1390ca
+SHA1 (patch-ipc_chromium_src_base_platform__thread__posix.cc) = a5b0c33f6026dbcecae59125bc9eab482408950e
+SHA1 (patch-ipc_chromium_src_base_sys__info__posix.cc) = 1091d1c2146c35d66c9324bf82e49e391db0b2ff
+SHA1 (patch-ipc_chromium_src_base_third__party_nspr_prcpucfg.h) = a3f89e2fdff41632e984ff9ff535f8dadaefca22
+SHA1 (patch-ipc_chromium_src_build_build__config.h) = 1847718a70b639557adb5fb0f5e375ece5afaba6
+SHA1 (patch-ipc_chromium_src_chrome_common_ipc__channel__posix.h) = 65ddbeea269b08087b896dc576a91ad89db5f55a
+SHA1 (patch-ma) = 8cb9a4ad8853c663c09acb0bf394833714e0d35c
+SHA1 (patch-ma-toplevel) = bf07793d25b0a4dc59e5b8d44254aeafe1c4d823
+SHA1 (patch-mb) = d75c916e6ee9fc7fcf4a402f2c64d3e431f779cd
+SHA1 (patch-md) = 667c0d301c82b297b9a75490beb21e78a99ee7ec
+SHA1 (patch-me) = 505767f6864f4704bd3bc569935ceff35427bf1a
+SHA1 (patch-mf) = 96d36f421a628f435bff454477b626c127a8111e
+SHA1 (patch-mg) = 1dab5f21c4455245c87d3ec4d20abd36e700349e
+SHA1 (patch-mh) = 43735af5f576ea91648d1b3a23603a9da2d46378
+SHA1 (patch-mi) = 22dc24243983f12c18fb06726c959eb2c9c7444f
+SHA1 (patch-mj) = 24bead7787aa81f812db3802f79fbb8504ad4bfa
+SHA1 (patch-mk) = 02be123edf24d8a064f96b0586913c2427f2594f
+SHA1 (patch-ml) = 6d67b3798f981b215d5e377cd2e4b833de4d2601
+SHA1 (patch-mm) = 2232c10f714a9528be69ccf81658651394ede2e1
+SHA1 (patch-mn) = 9d7413e1dd2057a5dcdd5d134940c000541cf321
+SHA1 (patch-mozilla_browser_confvars.sh) = d8f048fe24d5c4a95232f9e52b5c83f05720e52a
+SHA1 (patch-mozilla_build_autoconf_gcc-pr49911.m4) = 35d80ab11d04fb1081092959efa23c8b3046e4cb
+SHA1 (patch-mozilla_build_autoconf_nss.m4) = d07c020d6903ffec1b808e1d22e3e0242dfdaf01
+SHA1 (patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp) = 379733f5018e0ece33b9301143b1dffa6943c81a
+SHA1 (patch-mozilla_dom_plugins_ipc_PluginModuleChild.h) = c027190ef4f2dd57d158b333c3ee4c99172e5803
+SHA1 (patch-mozilla_ipc_chromium_Makefile.in) = 8671984c61e7310aa6d3de45bb9080b723332322
+SHA1 (patch-mozilla_ipc_chromium_chromium-config.mk) = f33de1c90e99f1e5b9d108883c00865a070ddef9
+SHA1 (patch-mozilla_ipc_chromium_src_base_base__paths.h) = e2b197f22bb44008881480291f9e890f005c65c6
+SHA1 (patch-mozilla_ipc_chromium_src_base_file__util__bsd.cc) = 251ed873e26a47c69f4ddf809c4f5b496cbd9e97
+SHA1 (patch-mozilla_ipc_chromium_src_base_message__loop.cc) = ecbcb2d966490d0d438c28e02a8cef731ff43094
+SHA1 (patch-mozilla_ipc_chromium_src_base_platform__thread.h) = ef83a20b54fb8b09b1b8e23373628a1a00f295a2
+SHA1 (patch-mozilla_ipc_chromium_src_base_process__util.h) = 263ae63a4c9b8ef82dacc3e72afcadb3de5c82fd
+SHA1 (patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc) = 8dd159ab48e9727fb7e6802ba1de63461c7792f2
+SHA1 (patch-mozilla_ipc_chromium_src_base_process__util__posix.cc) = 61c8eaa26205e8be2135a05188226556f79a27da
+SHA1 (patch-mozilla_ipc_chromium_src_base_third__party_nspr_prtime.cc) = 35e33a07f7185ed6c68783c760b53919689dae76
+SHA1 (patch-mozilla_ipc_chromium_src_chrome_common_ipc__message__utils.h) = 00ed184c5e7561ddcd166b307985396ffe5dbff4
+SHA1 (patch-mozilla_ipc_chromium_src_chrome_common_transport__dib.h) = 4a77fa3c9c1ba161313dd49f5b40df52f2dfd17a
+SHA1 (patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp) = 18473e47e8f40ced77ae4a30c1dc6c6733f88c39
+SHA1 (patch-mozilla_js_src_build_autoconf_gcc-pr49911.m4) = 6f8d92d16fa0ce481df3bf7d3c62afbb42e29310
+SHA1 (patch-mozilla_js_src_configure) = b1985253e0e731b3585c0da177255c01a74ffa01
+SHA1 (patch-mozilla_js_src_jscpucfg.h) = 74049057c003fea39b8b203ab4c933b82a20370b
+SHA1 (patch-mozilla_js_src_methodjit_MethodJIT.cpp) = ffcbbc1a450f0b0ce35062a64d098c1b97f01799
+SHA1 (patch-mozilla_js_src_yarr_pcre_pcre.h) = c31831274103d06f65baaa410dcf18c2fcb78563
+SHA1 (patch-mozilla_media_libvpx_vpx_config.h) = 2070adbb1490d7cee52a3bc8f75fd56c46abf305
+SHA1 (patch-mozilla_media_libvpx_vpx_config_c.c) = 81be573f5f8d2419c401e54ba46bcf6dae42a4c1
+SHA1 (patch-mozilla_nsprpub_pr_include_md___dragonfly.cfg) = a4c61bfcaa95fd3e10f0e771858d08e9d0bb1936
+SHA1 (patch-mozilla_nsprpub_pr_include_md___pth.h) = ba32136ee6f1c74f76bd017c3957e52c50b8ede3
+SHA1 (patch-mozilla_nsprpub_pr_include_md_prosdep.h) = da27561192a2cabc36b8e8628e63e69f50dc308b
+SHA1 (patch-mozilla_nsprpub_pr_src_md_unix_uxrng.c) = 2d82cff30790cfa9a64c5ba7eb69b8f90fc9bc40
+SHA1 (patch-mozilla_nsprpub_pr_src_pthreads_ptio.c) = ca60c319576fab2ac6a6e9b862d7be1f3c85e8c5
+SHA1 (patch-mozilla_nsprpub_pr_src_pthreads_ptsynch.c) = bea68463009c9d30b6d94e5e04a7640164011333
+SHA1 (patch-mozilla_xpcom_Makefile.in) = 48b642a99bdfcae15c9eb87acee86c1867e76da3
+SHA1 (patch-mozilla_xpcom_idl-parser_header.py) = 4ea053e71b797b003cdcb83c7f134fc481c20909
+SHA1 (patch-mozilla_xulrunner_app_Makefile.in) = 646e96cceffd4419a1066e77a1bcfab4f2941e2e
+SHA1 (patch-mp) = 7671b5b1cb80b9a099feac79f44f34ca4e1ce5d2
+SHA1 (patch-pa) = c6908ae11da24d8b1209c385c9896a57a8deacc0
+SHA1 (patch-pb) = 6ae96f39e120aed293a6cd7d5d0649401a776758
+SHA1 (patch-pc) = b5d959208384be1077ff88cccbdfdd252bb9b02c
+SHA1 (patch-pd) = 0ee15178356976ef811e33ffc40b5234fb21f550
+SHA1 (patch-pg) = 3bf60e7ad86c87489e4cbf90e5a944b24c6c4e9d
+SHA1 (patch-rc) = 22af8eeafe58fe3f7e9f7448aafae4f744c34888
+SHA1 (patch-security_nss_cmd_shlibsign_sign.sh) = 46adf31820c5b25015988a74a6766b811832a236
+SHA1 (patch-toolkit_toolkit-tiers.mk) = 2c79d0e7829707d10f3f2355a90e77b021fab3be
+SHA1 (patch-xa) = 8a7718e346fa894118d1e1d1824d0678b524921c
+SHA1 (patch-xb) = d11a85a1cf27099f772f9eb65d10dcdaaa25e024
+SHA1 (patch-xc) = e0afa04cb665682dd90d64a421dfc950a193ecf0
+SHA1 (patch-xd) = 07247ebbf93732f13464615c9ea9399ab642b4b2
+SHA1 (patch-xe) = c79c2052ee07f812e7a5de8e037fcaa6dbc538b9
+SHA1 (patch-xf) = bf26d17e1d9311de0e12c9803c190ef3640689a2
+SHA1 (patch-xg) = 10c09ef8fbfc8c93baca5a29148faf011d20dbc6
+SHA1 (patch-xj) = f1a95179a3f9e825a3af3def92893cce84b893ab
+SHA1 (patch-xk) = 05252643b45f82055cc7798da6f195ff61cbe68f
+SHA1 (patch-xl) = a385c045acb21d18d937af7dbb80f2d984e82cac
+SHA1 (patch-xm) = c79d39bfd88084f8bfcfb2e561cf677e30a5852a
+SHA1 (patch-xn) = 3be4a59a31f60c8b73415f3df10153adfd8d1ce8
+SHA1 (patch-xo) = bce8fa91db1225469a8157a0f2a85145f2ac06fa
+SHA1 (patch-za) = 9f927f94bd57a82e656e251a7c053bd9e014936c
+SHA1 (patch-zc) = 4f0bc1f0823c65ee367086da7dc412124d7bdde6
diff --git a/www/seamonkey/patches/patch-aa b/www/seamonkey/patches/patch-aa
index 110cfb0d2a3..6a94262e8c4 100644
--- a/www/seamonkey/patches/patch-aa
+++ b/www/seamonkey/patches/patch-aa
@@ -1,8 +1,8 @@
-$NetBSD: patch-aa,v 1.6 2011/11/12 16:41:43 tnn Exp $
+$NetBSD: patch-aa,v 1.7 2012/03/10 03:26:04 ryoon Exp $
---- mozilla/configure.in.orig 2011-11-07 21:07:43.000000000 +0000
+--- mozilla/configure.in.orig 2012-02-16 14:08:41.000000000 +0000
+++ mozilla/configure.in
-@@ -2137,7 +2137,7 @@ case "$target" in
+@@ -2328,7 +2328,7 @@ case "$target" in
MOZ_FIX_LINK_PATHS='-Wl,-executable_path,$(LIBXUL_DIST)/bin'
;;
@@ -11,17 +11,17 @@ $NetBSD: patch-aa,v 1.6 2011/11/12 16:41:43 tnn Exp $
if test `test -x /usr/bin/objformat && /usr/bin/objformat || echo elf` != "elf"; then
DLL_SUFFIX=".so.1.0"
DSO_LDOPTS="-shared"
-@@ -2145,6 +2145,9 @@ case "$target" in
+@@ -2336,6 +2336,9 @@ case "$target" in
if test ! "$GNU_CC"; then
DSO_LDOPTS="-Bshareable $DSO_LDOPTS"
fi
+ if test "$LIBRUNPATH"; then
-+ DSO_LDOPTS="-Wl,-R$LIBRUNPATH $DSO_LDOPTS"
++ DSO_LDOPTS="-Wl,-R$LIBRUNPATH $DSO_LDOPTS"
+ fi
- ;;
+ ;;
ia64*-hpux*)
-@@ -3312,6 +3315,9 @@ dnl ====================================
+@@ -3377,6 +3380,9 @@ dnl ====================================
case $target in
*-hpux11.*)
;;
@@ -31,7 +31,7 @@ $NetBSD: patch-aa,v 1.6 2011/11/12 16:41:43 tnn Exp $
*)
AC_CHECK_LIB(c_r, gethostbyname_r)
;;
-@@ -4520,6 +4526,14 @@ if test -n "$YASM"; then
+@@ -4330,6 +4336,14 @@ if test -n "$YASM"; then
_YASM_BUILD=` echo ${YASM_VERSION} | $AWK -F\. '{ print $4 }'`
fi
@@ -46,16 +46,57 @@ $NetBSD: patch-aa,v 1.6 2011/11/12 16:41:43 tnn Exp $
if test -z "$SKIP_LIBRARY_CHECKS"; then
dnl system JPEG support
dnl ========================================================
-@@ -7439,7 +7453,7 @@ else
- *-mingw*)
- AC_DEFINE(MOZ_MEMORY_WINDOWS)
- AC_MSG_CHECKING([for VC2005/2008++ CRT source])
-- if test "$CC_VERSION" == "14.00.50727.762" -o "$CC_VERSION" == "15.00.30729.01"; then
-+ if test "$CC_VERSION" = "14.00.50727.762" -o "$CC_VERSION" = "15.00.30729.01"; then
- if test -z "$WIN32_CRT_SRC_DIR" -a -n "$VCINSTALLDIR"; then
- WIN32_CRT_SRC_DIR="$VCINSTALLDIR\crt\src"
- fi
-@@ -9516,6 +9530,8 @@ if test -z "$MOZ_NATIVE_NSPR"; then
+@@ -5616,20 +5630,20 @@ if test -n "$MOZ_WEBM"; then
+ [MOZ_NATIVE_LIBVPX_DEC_TEST=1],
+ ([--with-system-libvpx requested but symbol vpx_codec_dec_init_ver not found]))
+ if test -n "$MOZ_NATIVE_LIBVPX_DEC_TEST" ; then
+- AC_MSG_CHECKING([for libvpx version >= v0.9.7])
+- dnl We need at least v0.9.7 to fix several crash bugs (for which we
+- dnl had local patches prior to v0.9.7).
++ AC_MSG_CHECKING([for libvpx version >= v1.0.0])
++ dnl We need at least v1.0.0 to fix several crash bugs (for which we
++ dnl had local patches prior to v1.0.0).
+ dnl
+ dnl This is a terrible test for the library version, but we don't
+ dnl have a good one. There is no version number in a public header,
+ dnl and testing the headers still doesn't guarantee we link against
+ dnl the right version. While we could call vpx_codec_version() at
+ dnl run-time, that would break cross-compiling. There are no
+- dnl additional exported symbols between the v0.9.7 release and the
+- dnl v0.9.6 one to check for.
++ dnl additional exported decoder symbols between the v1.0.0 release
++ dnl and the v0.9.7 one to check for.
+ AC_TRY_COMPILE([
+ #include <vpx/vpx_decoder.h>
+- #if !defined(VPX_CODEC_USE_INPUT_PARTITION)
++ #if !defined(VPX_CODEC_USE_INPUT_FRAGMENTS)
+ #error "test failed."
+ #endif
+ ],
+@@ -5639,7 +5653,7 @@ if test -n "$MOZ_WEBM"; then
+ MOZ_LIBVPX_INCLUDES="-I${LIBVPX_DIR}/include"
+ MOZ_LIBVPX_LIBS="-L${LIBVPX_DIR}/lib -lvpx"],
+ [AC_MSG_RESULT([no])
+- AC_MSG_ERROR([--with-system-libvpx requested but it is not v0.9.7 or later])])
++ AC_MSG_ERROR([--with-system-libvpx requested but it is not v1.0.0 or later])])
+ fi
+ CFLAGS=$_SAVE_CFLAGS
+ LDFLAGS=$_SAVE_LDFLAGS
+@@ -5673,11 +5687,11 @@ if test -n "$MOZ_WEBM" -a -z "$MOZ_NATIV
+
+ dnl See if we have assembly on this platform.
+ case "$OS_ARCH:$CPU_ARCH" in
+- Linux:x86)
++ Linux:x86|DragonFly:x86|*BSD:i386)
+ VPX_ASFLAGS="-f elf32 -rnasm -pnasm"
+ VPX_X86_ASM=1
+ ;;
+- Linux:x86_64)
++ Linux:x86_64|DragonFly:x86_64|*BSD:x86_64)
+ VPX_ASFLAGS="-f elf64 -rnasm -pnasm -DPIC"
+ VPX_X86_ASM=1
+ ;;
+@@ -8915,6 +8929,8 @@ if test -z "$MOZ_NATIVE_NSPR"; then
AC_MSG_WARN([Recreating autoconf.mk with updated nspr-config output])
if test "$OS_ARCH" != "WINNT"; then
NSPR_LIBS=`./nsprpub/config/nspr-config --prefix=$LIBXUL_DIST --exec-prefix=$MOZ_BUILD_ROOT/dist --libdir=$LIBXUL_DIST/lib --libs`
diff --git a/www/seamonkey/patches/patch-aa-toplevel b/www/seamonkey/patches/patch-aa-toplevel
index 31e8e182fb9..1d2bc1eaffe 100644
--- a/www/seamonkey/patches/patch-aa-toplevel
+++ b/www/seamonkey/patches/patch-aa-toplevel
@@ -1,8 +1,8 @@
-$NetBSD: patch-aa-toplevel,v 1.4 2011/11/12 16:41:43 tnn Exp $
+$NetBSD: patch-aa-toplevel,v 1.5 2012/03/10 03:26:04 ryoon Exp $
---- configure.in.orig 2011-11-07 20:53:31.000000000 +0000
+--- configure.in.orig 2012-02-16 13:59:48.000000000 +0000
+++ configure.in
-@@ -1950,7 +1950,7 @@ ld.])
+@@ -1945,7 +1945,7 @@ ld.])
MOZ_FIX_LINK_PATHS='-Wl,-executable_path,$(LIBXUL_DIST)/bin'
;;
@@ -11,7 +11,7 @@ $NetBSD: patch-aa-toplevel,v 1.4 2011/11/12 16:41:43 tnn Exp $
if test `test -x /usr/bin/objformat && /usr/bin/objformat || echo elf` != "elf"; then
DLL_SUFFIX=".so.1.0"
DSO_LDOPTS="-shared"
-@@ -1958,6 +1958,9 @@ ld.])
+@@ -1953,6 +1953,9 @@ ld.])
if test ! "$GNU_CC"; then
DSO_LDOPTS="-Bshareable $DSO_LDOPTS"
fi
@@ -21,7 +21,7 @@ $NetBSD: patch-aa-toplevel,v 1.4 2011/11/12 16:41:43 tnn Exp $
;;
ia64*-hpux*)
-@@ -3198,6 +3201,9 @@ dnl ====================================
+@@ -3185,6 +3188,9 @@ dnl ====================================
case $target in
*-hpux11.*)
;;
diff --git a/www/seamonkey/patches/patch-aa-toplevel.orig b/www/seamonkey/patches/patch-aa-toplevel.orig
new file mode 100644
index 00000000000..2686aee8e3f
--- /dev/null
+++ b/www/seamonkey/patches/patch-aa-toplevel.orig
@@ -0,0 +1,33 @@
+$NetBSD: patch-aa-toplevel.orig,v 1.1 2012/03/10 03:26:04 ryoon Exp $
+
+--- configure.in.orig 2011-11-07 20:53:31.000000000 +0000
++++ configure.in
+@@ -1950,7 +1950,7 @@ ld.])
+ MOZ_FIX_LINK_PATHS='-Wl,-executable_path,$(LIBXUL_DIST)/bin'
+ ;;
+
+-*-freebsd*)
++*-freebsd* | *-dragonfly*)
+ if test `test -x /usr/bin/objformat && /usr/bin/objformat || echo elf` != "elf"; then
+ DLL_SUFFIX=".so.1.0"
+ DSO_LDOPTS="-shared"
+@@ -1958,6 +1958,9 @@ ld.])
+ if test ! "$GNU_CC"; then
+ DSO_LDOPTS="-Bshareable $DSO_LDOPTS"
+ fi
++ if test "$LIBRUNPATH"; then
++ DSO_LDOPTS="-Wl,-R$LIBRUNPATH $DSO_LDOPTS"
++ fi
+ ;;
+
+ ia64*-hpux*)
+@@ -3198,6 +3201,9 @@ dnl ====================================
+ case $target in
+ *-hpux11.*)
+ ;;
++*-dragonfly*)
++ AC_CHECK_LIB(c, gethostbyname_r)
++ ;;
+ *)
+ AC_CHECK_LIB(c_r, gethostbyname_r)
+ ;;
diff --git a/www/seamonkey/patches/patch-aa.orig b/www/seamonkey/patches/patch-aa.orig
new file mode 100644
index 00000000000..274a0b1411e
--- /dev/null
+++ b/www/seamonkey/patches/patch-aa.orig
@@ -0,0 +1,66 @@
+$NetBSD: patch-aa.orig,v 1.1 2012/03/10 03:26:04 ryoon Exp $
+
+--- mozilla/configure.in.orig 2011-11-07 21:07:43.000000000 +0000
++++ mozilla/configure.in
+@@ -2137,7 +2137,7 @@ case "$target" in
+ MOZ_FIX_LINK_PATHS='-Wl,-executable_path,$(LIBXUL_DIST)/bin'
+ ;;
+
+-*-freebsd*)
++*-freebsd* | *-dragonfly*)
+ if test `test -x /usr/bin/objformat && /usr/bin/objformat || echo elf` != "elf"; then
+ DLL_SUFFIX=".so.1.0"
+ DSO_LDOPTS="-shared"
+@@ -2145,6 +2145,9 @@ case "$target" in
+ if test ! "$GNU_CC"; then
+ DSO_LDOPTS="-Bshareable $DSO_LDOPTS"
+ fi
++ if test "$LIBRUNPATH"; then
++ DSO_LDOPTS="-Wl,-R$LIBRUNPATH $DSO_LDOPTS"
++ fi
+ ;;
+
+ ia64*-hpux*)
+@@ -3312,6 +3315,9 @@ dnl ====================================
+ case $target in
+ *-hpux11.*)
+ ;;
++*-dragonfly*)
++ AC_CHECK_LIB(c, gethostbyname_r)
++ ;;
+ *)
+ AC_CHECK_LIB(c_r, gethostbyname_r)
+ ;;
+@@ -4520,6 +4526,14 @@ if test -n "$YASM"; then
+ _YASM_BUILD=` echo ${YASM_VERSION} | $AWK -F\. '{ print $4 }'`
+ fi
+
++if test -n "${LIBXUL_SDK_DIR}"; then
++ AC_MSG_WARN([pkgsrc: LIBXUL_SDK_DIR is set; assuming we want nss and nspr from xulrunner.])
++ NSPR_CFLAGS="-I${prefix}/include/xulrunner/unstable `pkg-config --cflags mozilla-nspr`"
++ NSPR_LIBS="`pkg-config --libs mozilla-nspr`"
++ NSS_CFLAGS="`pkg-config --cflags mozilla-nss`"
++ NSS_LIBS="`pkg-config --libs mozilla-nss`"
++fi
++
+ if test -z "$SKIP_LIBRARY_CHECKS"; then
+ dnl system JPEG support
+ dnl ========================================================
+@@ -7439,7 +7453,7 @@ else
+ *-mingw*)
+ AC_DEFINE(MOZ_MEMORY_WINDOWS)
+ AC_MSG_CHECKING([for VC2005/2008++ CRT source])
+- if test "$CC_VERSION" == "14.00.50727.762" -o "$CC_VERSION" == "15.00.30729.01"; then
++ if test "$CC_VERSION" = "14.00.50727.762" -o "$CC_VERSION" = "15.00.30729.01"; then
+ if test -z "$WIN32_CRT_SRC_DIR" -a -n "$VCINSTALLDIR"; then
+ WIN32_CRT_SRC_DIR="$VCINSTALLDIR\crt\src"
+ fi
+@@ -9516,6 +9530,8 @@ if test -z "$MOZ_NATIVE_NSPR"; then
+ AC_MSG_WARN([Recreating autoconf.mk with updated nspr-config output])
+ if test "$OS_ARCH" != "WINNT"; then
+ NSPR_LIBS=`./nsprpub/config/nspr-config --prefix=$LIBXUL_DIST --exec-prefix=$MOZ_BUILD_ROOT/dist --libdir=$LIBXUL_DIST/lib --libs`
++ AC_MSG_WARN([pkgsrc: adding run path to NSPR_LIBS for bundled NSPR.])
++ NSPR_LIBS="-Wl,-R${prefix}/lib/\${MOZILLA_PKG_NAME} ${NSPR_LIBS}"
+ $PERL -pi.bak -e "s '^NSPR_LIBS\\s*=.*'NSPR_LIBS = $NSPR_LIBS'" config/autoconf.mk
+ NSPR_CFLAGS=`./nsprpub/config/nspr-config --prefix=$LIBXUL_DIST --exec-prefix=$MOZ_BUILD_ROOT/dist --includedir=$LIBXUL_DIST/include/nspr --cflags`
+ $PERL -pi.bak -e "s '^NSPR_CFLAGS\\s*=.*'NSPR_CFLAGS = $NSPR_CFLAGS'" config/autoconf.mk
diff --git a/www/seamonkey/patches/patch-ab b/www/seamonkey/patches/patch-ab
index d626f33034e..926dbd96d19 100644
--- a/www/seamonkey/patches/patch-ab
+++ b/www/seamonkey/patches/patch-ab
@@ -1,6 +1,6 @@
-$NetBSD: patch-ab,v 1.11 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-ab,v 1.12 2012/03/10 03:26:04 ryoon Exp $
---- mozilla/nsprpub/pr/include/md/_netbsd.h.orig 2010-05-03 18:21:00.000000000 +0000
+--- mozilla/nsprpub/pr/include/md/_netbsd.h.orig 2012-02-16 14:09:27.000000000 +0000
+++ mozilla/nsprpub/pr/include/md/_netbsd.h
@@ -79,7 +79,7 @@
#define HAVE_DLL
diff --git a/www/seamonkey/patches/patch-ab.orig b/www/seamonkey/patches/patch-ab.orig
new file mode 100644
index 00000000000..7d02d07cd66
--- /dev/null
+++ b/www/seamonkey/patches/patch-ab.orig
@@ -0,0 +1,22 @@
+$NetBSD: patch-ab.orig,v 1.1 2012/03/10 03:26:04 ryoon Exp $
+
+--- mozilla/nsprpub/pr/include/md/_netbsd.h.orig 2010-05-03 18:21:00.000000000 +0000
++++ mozilla/nsprpub/pr/include/md/_netbsd.h
+@@ -79,7 +79,7 @@
+ #define HAVE_DLL
+ #define USE_DLFCN
+ #define _PR_HAVE_SOCKADDR_LEN
+-#define _PR_NO_LARGE_FILES
++#define _PR_HAVE_LARGE_OFF_T
+ #define _PR_STAT_HAS_ST_ATIMESPEC
+ #define _PR_POLL_AVAILABLE
+ #define _PR_USE_POLL
+@@ -107,6 +107,8 @@
+ #define JB_SP_INDEX 2
+ #elif defined(__mips__)
+ #define JB_SP_INDEX 4
++#elif defined(__amd64__)
++#define JB_SP_INDEX 6
+ #elif defined(__alpha__)
+ #define JB_SP_INDEX 34
+ #elif defined(__arm32__)
diff --git a/www/seamonkey/patches/patch-ac b/www/seamonkey/patches/patch-ac
index 33b1ba19be4..34655108fbb 100644
--- a/www/seamonkey/patches/patch-ac
+++ b/www/seamonkey/patches/patch-ac
@@ -1,6 +1,6 @@
-$NetBSD: patch-ac,v 1.7 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-ac,v 1.8 2012/03/10 03:26:04 ryoon Exp $
---- mozilla/nsprpub/configure.in.orig 2011-02-03 20:12:03.000000000 +0000
+--- mozilla/nsprpub/configure.in.orig 2012-02-16 14:09:27.000000000 +0000
+++ mozilla/nsprpub/configure.in
@@ -71,7 +71,7 @@ OBJDIR_NAME=.
OBJDIR_SUFFIX=OBJ
@@ -11,7 +11,7 @@ $NetBSD: patch-ac,v 1.7 2011/07/11 20:46:36 tnn Exp $
LIBPLC='-L$(dist_libdir) -lplc$(MOD_MAJOR_VERSION)'
CYGWIN_WRAPPER=
MACOS_SDK_DIR=
-@@ -1311,6 +1311,34 @@ tools are selected during the Xcode/Deve
+@@ -1527,6 +1527,33 @@ tools are selected during the Xcode/Deve
DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
MDCPUCFG_H=_freebsd.cfg
PR_MD_CSRCS=freebsd.c
@@ -25,7 +25,6 @@ $NetBSD: patch-ac,v 1.7 2011/07/11 20:46:36 tnn Exp $
+ USE_PTHREADS=1
+ fi
+ AC_DEFINE(XP_UNIX)
-+ AC_DEFINE(FREEBSD)
+ AC_DEFINE(HAVE_BSD_FLOCK)
+ AC_DEFINE(HAVE_SOCKLEN_T)
+ CFLAGS="$CFLAGS $(DSO_CFLAGS) -ansi -Wall"
@@ -38,7 +37,7 @@ $NetBSD: patch-ac,v 1.7 2011/07/11 20:46:36 tnn Exp $
+ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+ DSO_CFLAGS=-fPIC
+ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
-+ MDCPUCFG_H=_freebsd.cfg
++ MDCPUCFG_H=_dragonfly.cfg
+ PR_MD_CSRCS=freebsd.c
+ if test "$LIBRUNPATH"; then
+ DSO_LDOPTS="$DSO_LDOPTS -Wl,-R$LIBRUNPATH"
@@ -46,7 +45,7 @@ $NetBSD: patch-ac,v 1.7 2011/07/11 20:46:36 tnn Exp $
;;
*-hpux*)
-@@ -1925,6 +1953,7 @@ mips-nec-sysv*)
+@@ -2114,6 +2141,7 @@ mips-nec-sysv*)
AC_DEFINE(XP_UNIX)
AC_DEFINE(NETBSD)
AC_DEFINE(HAVE_BSD_FLOCK)
@@ -54,7 +53,7 @@ $NetBSD: patch-ac,v 1.7 2011/07/11 20:46:36 tnn Exp $
if test -z "$USE_NSPR_THREADS"; then
USE_PTHREADS=1
fi
-@@ -2730,7 +2759,7 @@ if test -n "$USE_PTHREADS"; then
+@@ -2919,7 +2947,7 @@ if test -n "$USE_PTHREADS"; then
if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthread`" && test -z "`egrep -i '(error|incorrect)' conftest.out`" ; then
ac_cv_have_dash_pthread=yes
case "$target_os" in
@@ -63,7 +62,7 @@ $NetBSD: patch-ac,v 1.7 2011/07/11 20:46:36 tnn Exp $
# Freebsd doesn't use -pthread for compiles, it uses them for linking
;;
*)
-@@ -2768,7 +2797,7 @@ if test -n "$USE_PTHREADS"; then
+@@ -2957,7 +2985,7 @@ if test -n "$USE_PTHREADS"; then
_PTHREAD_LDFLAGS=
fi
;;
@@ -72,7 +71,7 @@ $NetBSD: patch-ac,v 1.7 2011/07/11 20:46:36 tnn Exp $
AC_DEFINE(_REENTRANT)
AC_DEFINE(_THREAD_SAFE)
dnl -pthread links in -lc_r, so don't specify it explicitly.
-@@ -2849,7 +2878,7 @@ case "$target" in
+@@ -3038,7 +3066,7 @@ case "$target" in
AC_DEFINE(_PR_NEED_PTHREAD_INIT)
fi
;;
diff --git a/www/seamonkey/patches/patch-ac.orig b/www/seamonkey/patches/patch-ac.orig
new file mode 100644
index 00000000000..9b4b8492569
--- /dev/null
+++ b/www/seamonkey/patches/patch-ac.orig
@@ -0,0 +1,83 @@
+$NetBSD: patch-ac.orig,v 1.1 2012/03/10 03:26:04 ryoon Exp $
+
+--- mozilla/nsprpub/configure.in.orig 2011-02-03 20:12:03.000000000 +0000
++++ mozilla/nsprpub/configure.in
+@@ -71,7 +71,7 @@ OBJDIR_NAME=.
+ OBJDIR_SUFFIX=OBJ
+ NSINSTALL='$(MOD_DEPTH)/config/$(OBJDIR_NAME)/nsinstall'
+ NOSUCHFILE=/no-such-file
+-LIBNSPR='-L$(dist_libdir) -lnspr$(MOD_MAJOR_VERSION)'
++LIBNSPR='-Wl,-R${prefix}/lib/${MOZILLA_PKG_NAME} -L$(dist_libdir) -lnspr$(MOD_MAJOR_VERSION)'
+ LIBPLC='-L$(dist_libdir) -lplc$(MOD_MAJOR_VERSION)'
+ CYGWIN_WRAPPER=
+ MACOS_SDK_DIR=
+@@ -1311,6 +1311,34 @@ tools are selected during the Xcode/Deve
+ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
+ MDCPUCFG_H=_freebsd.cfg
+ PR_MD_CSRCS=freebsd.c
++ if test "$LIBRUNPATH"; then
++ DSO_LDOPTS="$DSO_LDOPTS -Wl,-R$LIBRUNPATH"
++ fi
++ ;;
++
++*-dragonfly*)
++ if test -z "$USE_NSPR_THREADS"; then
++ USE_PTHREADS=1
++ fi
++ AC_DEFINE(XP_UNIX)
++ AC_DEFINE(FREEBSD)
++ AC_DEFINE(HAVE_BSD_FLOCK)
++ AC_DEFINE(HAVE_SOCKLEN_T)
++ CFLAGS="$CFLAGS $(DSO_CFLAGS) -ansi -Wall"
++ MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
++ if test "$MOZ_OBJFORMAT" = "elf"; then
++ DLL_SUFFIX=so
++ else
++ DLL_SUFFIX=so.1.0
++ fi
++ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
++ DSO_CFLAGS=-fPIC
++ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
++ MDCPUCFG_H=_freebsd.cfg
++ PR_MD_CSRCS=freebsd.c
++ if test "$LIBRUNPATH"; then
++ DSO_LDOPTS="$DSO_LDOPTS -Wl,-R$LIBRUNPATH"
++ fi
+ ;;
+
+ *-hpux*)
+@@ -1925,6 +1953,7 @@ mips-nec-sysv*)
+ AC_DEFINE(XP_UNIX)
+ AC_DEFINE(NETBSD)
+ AC_DEFINE(HAVE_BSD_FLOCK)
++ AC_DEFINE(HAVE_SOCKLEN_T)
+ if test -z "$USE_NSPR_THREADS"; then
+ USE_PTHREADS=1
+ fi
+@@ -2730,7 +2759,7 @@ if test -n "$USE_PTHREADS"; then
+ if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthread`" && test -z "`egrep -i '(error|incorrect)' conftest.out`" ; then
+ ac_cv_have_dash_pthread=yes
+ case "$target_os" in
+- freebsd*)
++ freebsd* | dragonfly*)
+ # Freebsd doesn't use -pthread for compiles, it uses them for linking
+ ;;
+ *)
+@@ -2768,7 +2797,7 @@ if test -n "$USE_PTHREADS"; then
+ _PTHREAD_LDFLAGS=
+ fi
+ ;;
+- *-freebsd*)
++ *-freebsd* | *-dragonfly*)
+ AC_DEFINE(_REENTRANT)
+ AC_DEFINE(_THREAD_SAFE)
+ dnl -pthread links in -lc_r, so don't specify it explicitly.
+@@ -2849,7 +2878,7 @@ case "$target" in
+ AC_DEFINE(_PR_NEED_PTHREAD_INIT)
+ fi
+ ;;
+-*-freebsd*)
++*-freebsd* | *-dragonfly*)
+ if test -n "$USE_NSPR_THREADS"; then
+ AC_DEFINE(_PR_LOCAL_THREADS_ONLY)
+ fi
diff --git a/www/seamonkey/patches/patch-ad b/www/seamonkey/patches/patch-ad
index 85cfc9af0e5..467697b51a0 100644
--- a/www/seamonkey/patches/patch-ad
+++ b/www/seamonkey/patches/patch-ad
@@ -1,8 +1,8 @@
-$NetBSD: patch-ad,v 1.4 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-ad,v 1.5 2012/03/10 03:26:04 ryoon Exp $
---- mozilla/xpcom/io/nsLocalFileUnix.h.orig 2009-06-29 18:15:32.000000000 +0200
+--- mozilla/xpcom/io/nsLocalFileUnix.h.orig 2012-02-16 14:09:41.000000000 +0000
+++ mozilla/xpcom/io/nsLocalFileUnix.h
-@@ -75,7 +75,7 @@
+@@ -86,7 +86,7 @@
#endif
// so we can statfs on freebsd
diff --git a/www/seamonkey/patches/patch-ad.orig b/www/seamonkey/patches/patch-ad.orig
new file mode 100644
index 00000000000..6a805c503a2
--- /dev/null
+++ b/www/seamonkey/patches/patch-ad.orig
@@ -0,0 +1,13 @@
+$NetBSD: patch-ad.orig,v 1.1 2012/03/10 03:26:04 ryoon Exp $
+
+--- mozilla/xpcom/io/nsLocalFileUnix.h.orig 2009-06-29 18:15:32.000000000 +0200
++++ mozilla/xpcom/io/nsLocalFileUnix.h
+@@ -75,7 +75,7 @@
+ #endif
+
+ // so we can statfs on freebsd
+-#if defined(__FreeBSD__)
++#if defined(__FreeBSD__) || ((defined(__DragonFly__) || defined(__NetBSD__)) && !defined(HAVE_STATVFS))
+ #define HAVE_SYS_STATFS_H
+ #define STATFS statfs
+ #include <sys/param.h>
diff --git a/www/seamonkey/patches/patch-ae b/www/seamonkey/patches/patch-ae
index d5955362860..3ba4c77f91f 100644
--- a/www/seamonkey/patches/patch-ae
+++ b/www/seamonkey/patches/patch-ae
@@ -1,6 +1,6 @@
-$NetBSD: patch-ae,v 1.6 2011/11/12 16:41:43 tnn Exp $
+$NetBSD: patch-ae,v 1.7 2012/03/10 03:26:04 ryoon Exp $
---- mozilla/nsprpub/pr/src/misc/prnetdb.c.orig 2011-09-22 20:20:37.000000000 +0000
+--- mozilla/nsprpub/pr/src/misc/prnetdb.c.orig 2012-02-16 14:09:27.000000000 +0000
+++ mozilla/nsprpub/pr/src/misc/prnetdb.c
@@ -105,7 +105,7 @@ PRLock *_pr_dnsLock = NULL;
|| defined(AIX4_3_PLUS) || (defined(AIX) && defined(_THREAD_SAFE)) \
diff --git a/www/seamonkey/patches/patch-ae.orig b/www/seamonkey/patches/patch-ae.orig
new file mode 100644
index 00000000000..1e728ae97ad
--- /dev/null
+++ b/www/seamonkey/patches/patch-ae.orig
@@ -0,0 +1,58 @@
+$NetBSD: patch-ae.orig,v 1.1 2012/03/10 03:26:04 ryoon Exp $
+
+--- mozilla/nsprpub/pr/src/misc/prnetdb.c.orig 2011-09-22 20:20:37.000000000 +0000
++++ mozilla/nsprpub/pr/src/misc/prnetdb.c
+@@ -105,7 +105,7 @@ PRLock *_pr_dnsLock = NULL;
+ || defined(AIX4_3_PLUS) || (defined(AIX) && defined(_THREAD_SAFE)) \
+ || (defined(HPUX10_10) && defined(_REENTRANT)) \
+ || (defined(HPUX10_20) && defined(_REENTRANT)) \
+- || defined(OPENBSD)
++ || defined(OPENBSD) || defined(NETBSD)
+ #define _PR_HAVE_GETPROTO_R
+ #define _PR_HAVE_GETPROTO_R_INT
+ #endif
+@@ -115,6 +115,11 @@ PRLock *_pr_dnsLock = NULL;
+ #define _PR_HAVE_5_ARG_GETPROTO_R
+ #endif
+
++#if __DragonFly_version >= 200202
++#define _PR_HAVE_GETPROTO_R
++#define _PR_HAVE_5_ARG_GETPROTO_R
++#endif
++
+ /* BeOS has glibc but not the glibc-style getprotobyxxx_r functions. */
+ #if (defined(__GLIBC__) && __GLIBC__ >= 2 && !defined(XP_BEOS))
+ #define _PR_HAVE_GETPROTO_R
+@@ -332,7 +337,7 @@ _pr_QueryNetIfs(void)
+ }
+
+ #elif (defined(DARWIN) && defined(HAVE_GETIFADDRS)) || defined(FREEBSD) \
+- || defined(NETBSD) || defined(OPENBSD)
++ || defined(NETBSD) || defined(OPENBSD) || defined(DRAGONFLY)
+
+ /*
+ * Use the BSD getifaddrs function.
+@@ -2076,6 +2081,11 @@ PR_IMPLEMENT(PRAddrInfo *) PR_GetAddrInf
+ */
+ hints.ai_socktype = SOCK_STREAM;
+
++/* NetBSD >= 2.99.9 has a thread-safe resolver */
++#if defined(__NetBSD_Version__) && __NetBSD_Version__ < 299000900
++ LOCK_DNS();
++#endif
++
+ rv = GETADDRINFO(hostname, NULL, &hints, &res);
+ #ifdef AI_ADDRCONFIG
+ if (rv == EAI_BADFLAGS && (hints.ai_flags & AI_ADDRCONFIG)) {
+@@ -2083,6 +2093,11 @@ PR_IMPLEMENT(PRAddrInfo *) PR_GetAddrInf
+ rv = GETADDRINFO(hostname, NULL, &hints, &res);
+ }
+ #endif
++
++#if defined(__NetBSD_Version__) && __NetBSD_Version__ < 299000900
++ UNLOCK_DNS();
++#endif
++
+ if (rv == 0)
+ return (PRAddrInfo *) res;
+
diff --git a/www/seamonkey/patches/patch-af b/www/seamonkey/patches/patch-af
index c9835febe17..51d056f072e 100644
--- a/www/seamonkey/patches/patch-af
+++ b/www/seamonkey/patches/patch-af
@@ -1,6 +1,6 @@
-$NetBSD: patch-af,v 1.4 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-af,v 1.5 2012/03/10 03:26:04 ryoon Exp $
---- mozilla/config/mkdepend/imakemdep.h.orig 2009-06-29 18:14:41.000000000 +0200
+--- mozilla/config/mkdepend/imakemdep.h.orig 2012-02-16 14:08:41.000000000 +0000
+++ mozilla/config/mkdepend/imakemdep.h
@@ -235,7 +235,7 @@ in this Software without prior written a
#ifdef _CRAY
diff --git a/www/seamonkey/patches/patch-af.orig b/www/seamonkey/patches/patch-af.orig
new file mode 100644
index 00000000000..8004c7f2a9e
--- /dev/null
+++ b/www/seamonkey/patches/patch-af.orig
@@ -0,0 +1,32 @@
+$NetBSD: patch-af.orig,v 1.1 2012/03/10 03:26:04 ryoon Exp $
+
+--- mozilla/config/mkdepend/imakemdep.h.orig 2009-06-29 18:14:41.000000000 +0200
++++ mozilla/config/mkdepend/imakemdep.h
+@@ -235,7 +235,7 @@ in this Software without prior written a
+ #ifdef _CRAY
+ #define DEFAULT_CPP "/lib/pcpp"
+ #endif
+-#if defined(__386BSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
++#if defined(__386BSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
+ #define DEFAULT_CPP "/usr/libexec/cpp"
+ #endif
+ #ifdef MACH
+@@ -273,7 +273,7 @@ char *cpp_argv[ARGUMENTS] = {
+ #ifdef unix
+ "-Uunix", /* remove unix symbol so that filename unix.c okay */
+ #endif
+-#if defined(__386BSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(MACH)
++#if defined(__386BSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(MACH) || defined(__DragonFly__)
+ # ifdef __i386__
+ "-D__i386__",
+ # endif
+@@ -713,6 +713,9 @@ struct symtab predefs[] = {
+ #ifdef __sgi
+ {"__sgi", "1"},
+ #endif
++#ifdef __DragonFly__
++ {"__DragonFly__", "1"},
++#endif
+ #ifdef __FreeBSD__
+ {"__FreeBSD__", "1"},
+ #endif
diff --git a/www/seamonkey/patches/patch-ag b/www/seamonkey/patches/patch-ag
index 0cddee4d5f5..856bce2929c 100644
--- a/www/seamonkey/patches/patch-ag
+++ b/www/seamonkey/patches/patch-ag
@@ -1,6 +1,6 @@
-$NetBSD: patch-ag,v 1.4 2010/10/22 10:08:14 tnn Exp $
+$NetBSD: patch-ag,v 1.5 2012/03/10 03:26:04 ryoon Exp $
---- mozilla/nsprpub/pr/include/md/_freebsd.h.orig 2010-08-24 21:32:07.000000000 +0000
+--- mozilla/nsprpub/pr/include/md/_freebsd.h.orig 2012-02-16 14:09:27.000000000 +0000
+++ mozilla/nsprpub/pr/include/md/_freebsd.h
@@ -79,7 +79,7 @@
#define _PR_HAVE_LARGE_OFF_T
diff --git a/www/seamonkey/patches/patch-ag.orig b/www/seamonkey/patches/patch-ag.orig
new file mode 100644
index 00000000000..9f33759d050
--- /dev/null
+++ b/www/seamonkey/patches/patch-ag.orig
@@ -0,0 +1,31 @@
+$NetBSD: patch-ag.orig,v 1.1 2012/03/10 03:26:04 ryoon Exp $
+
+--- mozilla/nsprpub/pr/include/md/_freebsd.h.orig 2010-08-24 21:32:07.000000000 +0000
++++ mozilla/nsprpub/pr/include/md/_freebsd.h
+@@ -79,7 +79,7 @@
+ #define _PR_HAVE_LARGE_OFF_T
+
+ #if defined(_PR_PTHREADS)
+-#if __FreeBSD_version >= 400008
++#if defined(__DragonFly__) || __FreeBSD_version >= 400008
+ /*
+ * libc_r before this version of FreeBSD doesn't have poll().
+ * Although libc has poll(), it is not thread-safe so we can't
+@@ -88,7 +88,7 @@
+ #define _PR_POLL_AVAILABLE
+ #endif
+ #else
+-#if __FreeBSD_version >= 300000
++#if defined(__DragonFly__) || __FreeBSD_version >= 300000
+ #define _PR_POLL_AVAILABLE
+ #define _PR_USE_POLL
+ #endif
+@@ -97,7 +97,7 @@
+ #define _PR_HAVE_SYSV_SEMAPHORES
+ #define PR_HAVE_SYSV_NAMED_SHARED_MEMORY
+
+-#if __FreeBSD_version >= 400014
++#if defined(__DragonFly__) || __FreeBSD_version >= 400014
+ #define _PR_INET6
+ #define _PR_HAVE_INET_NTOP
+ #define _PR_HAVE_GETHOSTBYNAME2
diff --git a/www/seamonkey/patches/patch-ah b/www/seamonkey/patches/patch-ah.orig
index 596628e11a1..efc847f6fdc 100644
--- a/www/seamonkey/patches/patch-ah
+++ b/www/seamonkey/patches/patch-ah.orig
@@ -1,4 +1,4 @@
-$NetBSD: patch-ah,v 1.3 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-ah.orig,v 1.1 2012/03/10 03:26:04 ryoon Exp $
--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptc_platforms_unixish_x86.h.orig 2009-06-29 18:15:33.000000000 +0200
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptc_platforms_unixish_x86.h
diff --git a/www/seamonkey/patches/patch-ai b/www/seamonkey/patches/patch-ai
index 32093f8b624..04c0eb805be 100644
--- a/www/seamonkey/patches/patch-ai
+++ b/www/seamonkey/patches/patch-ai
@@ -1,8 +1,8 @@
-$NetBSD: patch-ai,v 1.4 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-ai,v 1.5 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/dbm/src/mktemp.c.orig 2009-06-29 18:14:43.000000000 +0200
+--- mozilla/dbm/src/mktemp.c.orig 2012-02-16 14:08:47.000000000 +0000
+++ mozilla/dbm/src/mktemp.c
-@@ -90,7 +90,7 @@ mktemp(char *path)
+@@ -92,7 +92,7 @@ mktemp(char *path)
static int
_gettemp(char *path, register int *doopen, int extraFlags)
{
diff --git a/www/seamonkey/patches/patch-ai.orig b/www/seamonkey/patches/patch-ai.orig
new file mode 100644
index 00000000000..0acafd45884
--- /dev/null
+++ b/www/seamonkey/patches/patch-ai.orig
@@ -0,0 +1,13 @@
+$NetBSD: patch-ai.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/dbm/src/mktemp.c.orig 2009-06-29 18:14:43.000000000 +0200
++++ mozilla/dbm/src/mktemp.c
+@@ -90,7 +90,7 @@ mktemp(char *path)
+ static int
+ _gettemp(char *path, register int *doopen, int extraFlags)
+ {
+-#if !defined(_WINDOWS) || defined(_WIN32)
++#if (!defined(_WINDOWS) || defined(_WIN32)) && !defined(errno)
+ extern int errno;
+ #endif
+ register char *start, *trv;
diff --git a/www/seamonkey/patches/patch-aj b/www/seamonkey/patches/patch-aj
index 6975e514b8f..897bd5fb875 100644
--- a/www/seamonkey/patches/patch-aj
+++ b/www/seamonkey/patches/patch-aj
@@ -1,8 +1,8 @@
-$NetBSD: patch-aj,v 1.4 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-aj,v 1.5 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/profile/dirserviceprovider/src/nsProfileLock.cpp.orig 2010-12-15 01:03:34.000000000 +0000
+--- mozilla/profile/dirserviceprovider/src/nsProfileLock.cpp.orig 2012-02-16 14:09:29.000000000 +0000
+++ mozilla/profile/dirserviceprovider/src/nsProfileLock.cpp
-@@ -405,6 +405,7 @@ nsresult nsProfileLock::LockWithSymlink(
+@@ -408,6 +408,7 @@ nsresult nsProfileLock::LockWithSymlink(
#endif
sigfillset(&act.sa_mask);
@@ -10,7 +10,7 @@ $NetBSD: patch-aj,v 1.4 2011/07/11 20:46:36 tnn Exp $
#define CATCH_SIGNAL(signame) \
PR_BEGIN_MACRO \
if (sigaction(signame, NULL, &oldact) == 0 && \
-@@ -423,6 +424,7 @@ PR_BEGIN_MACRO
+@@ -426,6 +427,7 @@ PR_BEGIN_MACRO
CATCH_SIGNAL(SIGTERM);
#undef CATCH_SIGNAL
diff --git a/www/seamonkey/patches/patch-aj.orig b/www/seamonkey/patches/patch-aj.orig
new file mode 100644
index 00000000000..f6891893065
--- /dev/null
+++ b/www/seamonkey/patches/patch-aj.orig
@@ -0,0 +1,20 @@
+$NetBSD: patch-aj.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/profile/dirserviceprovider/src/nsProfileLock.cpp.orig 2010-12-15 01:03:34.000000000 +0000
++++ mozilla/profile/dirserviceprovider/src/nsProfileLock.cpp
+@@ -405,6 +405,7 @@ nsresult nsProfileLock::LockWithSymlink(
+ #endif
+ sigfillset(&act.sa_mask);
+
++#ifndef DEBUG
+ #define CATCH_SIGNAL(signame) \
+ PR_BEGIN_MACRO \
+ if (sigaction(signame, NULL, &oldact) == 0 && \
+@@ -423,6 +424,7 @@ PR_BEGIN_MACRO
+ CATCH_SIGNAL(SIGTERM);
+
+ #undef CATCH_SIGNAL
++#endif
+ }
+ }
+ }
diff --git a/www/seamonkey/patches/patch-ak b/www/seamonkey/patches/patch-ak
index 3925cf331de..4d079ef8c03 100644
--- a/www/seamonkey/patches/patch-ak
+++ b/www/seamonkey/patches/patch-ak
@@ -1,6 +1,6 @@
-$NetBSD: patch-ak,v 1.5 2011/11/12 16:41:43 tnn Exp $
+$NetBSD: patch-ak,v 1.6 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/js/src/ctypes/libffi/configure.orig 2011-11-04 21:34:01.000000000 +0000
+--- mozilla/js/src/ctypes/libffi/configure.orig 2012-02-16 14:09:03.000000000 +0000
+++ mozilla/js/src/ctypes/libffi/configure
@@ -11277,7 +11277,7 @@ case "$host" in
powerpc-*-aix* | rs6000-*-aix*)
diff --git a/www/seamonkey/patches/patch-ak.orig b/www/seamonkey/patches/patch-ak.orig
new file mode 100644
index 00000000000..b183991c172
--- /dev/null
+++ b/www/seamonkey/patches/patch-ak.orig
@@ -0,0 +1,13 @@
+$NetBSD: patch-ak.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/js/src/ctypes/libffi/configure.orig 2011-11-04 21:34:01.000000000 +0000
++++ mozilla/js/src/ctypes/libffi/configure
+@@ -11277,7 +11277,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
+ ;;
+ powerpc*-*-rtems*)
diff --git a/www/seamonkey/patches/patch-al b/www/seamonkey/patches/patch-al
index d53695dd4d4..674050f211b 100644
--- a/www/seamonkey/patches/patch-al
+++ b/www/seamonkey/patches/patch-al
@@ -1,8 +1,8 @@
-$NetBSD: patch-al,v 1.5 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-al,v 1.6 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/storage/src/mozStorageConnection.cpp.orig 2011-06-15 21:57:54.000000000 +0000
+--- mozilla/storage/src/mozStorageConnection.cpp.orig 2012-02-16 14:09:33.000000000 +0000
+++ mozilla/storage/src/mozStorageConnection.cpp
-@@ -595,6 +595,11 @@ Connection::initialize(nsIFile *aDatabas
+@@ -632,6 +632,11 @@ Connection::initialize(nsIFile *aDatabas
(void)::NS_RegisterMemoryReporter(mMemoryReporters[i]);
}
diff --git a/www/seamonkey/patches/patch-al.orig b/www/seamonkey/patches/patch-al.orig
new file mode 100644
index 00000000000..931aec0b76c
--- /dev/null
+++ b/www/seamonkey/patches/patch-al.orig
@@ -0,0 +1,16 @@
+$NetBSD: patch-al.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/storage/src/mozStorageConnection.cpp.orig 2011-06-15 21:57:54.000000000 +0000
++++ mozilla/storage/src/mozStorageConnection.cpp
+@@ -595,6 +595,11 @@ Connection::initialize(nsIFile *aDatabas
+ (void)::NS_RegisterMemoryReporter(mMemoryReporters[i]);
+ }
+
++ // XXX tnn: the configure script demands that sqlite3 is compiled with
++ // SECURE_DELETE on by default. sqlite3 in pkgsrc does not have that,
++ // so instead we enable secure_delete manually here.
++ (void)ExecuteSimpleSQL(NS_LITERAL_CSTRING("PRAGMA secure_delete = 1;"));
++
+ return NS_OK;
+ }
+
diff --git a/www/seamonkey/patches/patch-am b/www/seamonkey/patches/patch-am
index 13d88dd8a7d..7881d273a36 100644
--- a/www/seamonkey/patches/patch-am
+++ b/www/seamonkey/patches/patch-am
@@ -1,12 +1,12 @@
-$NetBSD: patch-am,v 1.1 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-am,v 1.2 2012/03/10 03:26:05 ryoon Exp $
SHA1_Update conflicts with openssl which may be dynamically loaded
at runtime via libcups or libgssapi so causing a crash due to using
the wrong binding. So rename here to avoid conflict.
---- mozilla/security/nss/lib/freebl/blapi.h.orig 2009-06-29 18:15:13.000000000 +0200
+--- mozilla/security/nss/lib/freebl/blapi.h.orig 2012-02-16 14:09:30.000000000 +0000
+++ mozilla/security/nss/lib/freebl/blapi.h
-@@ -925,6 +925,8 @@ extern void SHA1_DestroyContext(SHA1Cont
+@@ -1038,6 +1038,8 @@ extern void SHA1_DestroyContext(SHA1Cont
*/
extern void SHA1_Begin(SHA1Context *cx);
diff --git a/www/seamonkey/patches/patch-am.orig b/www/seamonkey/patches/patch-am.orig
new file mode 100644
index 00000000000..bd3c0bfbc45
--- /dev/null
+++ b/www/seamonkey/patches/patch-am.orig
@@ -0,0 +1,17 @@
+$NetBSD: patch-am.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+SHA1_Update conflicts with openssl which may be dynamically loaded
+at runtime via libcups or libgssapi so causing a crash due to using
+the wrong binding. So rename here to avoid conflict.
+
+--- mozilla/security/nss/lib/freebl/blapi.h.orig 2009-06-29 18:15:13.000000000 +0200
++++ mozilla/security/nss/lib/freebl/blapi.h
+@@ -925,6 +925,8 @@ extern void SHA1_DestroyContext(SHA1Cont
+ */
+ extern void SHA1_Begin(SHA1Context *cx);
+
++#define SHA1_Update NSS_SHA1_Update
++
+ /*
+ ** Update the SHA-1 hash function with more data.
+ ** "cx" the context
diff --git a/www/seamonkey/patches/patch-an b/www/seamonkey/patches/patch-an
index bb16d013a17..c9a8dd0fa6a 100644
--- a/www/seamonkey/patches/patch-an
+++ b/www/seamonkey/patches/patch-an
@@ -1,10 +1,10 @@
-$NetBSD: patch-an,v 1.3 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-an,v 1.4 2012/03/10 03:26:05 ryoon Exp $
SHA1_Update conflicts with openssl which may be dynamically loaded
at runtime via libcups or libgssapi so causing a crash due to using
the wrong binding. So rename here to avoid conflict.
---- mozilla/security/nss/lib/freebl/sha-fast-amd64-sun.s.orig 2009-06-29 18:15:14.000000000 +0200
+--- mozilla/security/nss/lib/freebl/sha-fast-amd64-sun.s.orig 2012-02-16 14:09:31.000000000 +0000
+++ mozilla/security/nss/lib/freebl/sha-fast-amd64-sun.s
@@ -1712,9 +1712,9 @@ shaCompress:
.LFE7:
diff --git a/www/seamonkey/patches/patch-an.orig b/www/seamonkey/patches/patch-an.orig
new file mode 100644
index 00000000000..440d9bed219
--- /dev/null
+++ b/www/seamonkey/patches/patch-an.orig
@@ -0,0 +1,48 @@
+$NetBSD: patch-an.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+SHA1_Update conflicts with openssl which may be dynamically loaded
+at runtime via libcups or libgssapi so causing a crash due to using
+the wrong binding. So rename here to avoid conflict.
+
+--- mozilla/security/nss/lib/freebl/sha-fast-amd64-sun.s.orig 2009-06-29 18:15:14.000000000 +0200
++++ mozilla/security/nss/lib/freebl/sha-fast-amd64-sun.s
+@@ -1712,9 +1712,9 @@ shaCompress:
+ .LFE7:
+ .size shaCompress, .-shaCompress
+ .align 16
+-.globl SHA1_Update
+- .type SHA1_Update, @function
+-SHA1_Update:
++.globl NSS_SHA1_Update
++ .type NSS_SHA1_Update, @function
++NSS_SHA1_Update:
+ .LFB5:
+ pushq %rbp
+ .LCFI5:
+@@ -1800,7 +1800,7 @@ SHA1_Update:
+ call shaCompress
+ jmp .L245
+ .LFE5:
+- .size SHA1_Update, .-SHA1_Update
++ .size NSS_SHA1_Update, .-NSS_SHA1_Update
+ .section .rodata
+ .align 32
+ .type bulk_pad.0, @object
+@@ -1902,7 +1902,7 @@ SHA1_End:
+ subl %r8d, %edx
+ andl $63, %edx
+ incl %edx
+- call SHA1_Update@PLT
++ call NSS_SHA1_Update@PLT
+ movq %rbx, %rdi
+ movq %r12, %rsi
+ shrq $32, %rdi
+@@ -2018,7 +2018,7 @@ SHA1_HashBuf:
+ movl %r12d, %edx
+ movq %r13, %rsi
+ movq %rbx, %rdi
+- call SHA1_Update@PLT
++ call NSS_SHA1_Update@PLT
+ leaq -292(%rbp), %rdx
+ movq %r14, %rsi
+ movq %rbx, %rdi
diff --git a/www/seamonkey/patches/patch-ao b/www/seamonkey/patches/patch-ao
index ed8d9f5c6b8..d6f9cb511f4 100644
--- a/www/seamonkey/patches/patch-ao
+++ b/www/seamonkey/patches/patch-ao
@@ -1,8 +1,8 @@
-$NetBSD: patch-ao,v 1.4 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-ao,v 1.5 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/toolkit/mozapps/installer/packager.mk.orig 2009-10-29 23:11:21.000000000 +0100
+--- mozilla/toolkit/mozapps/installer/packager.mk.orig 2012-02-16 14:09:38.000000000 +0000
+++ mozilla/toolkit/mozapps/installer/packager.mk
-@@ -441,8 +441,8 @@ endif
+@@ -786,8 +786,8 @@ endif
(cd $(DIST)/$(MOZ_PKG_DIR) && tar $(TAR_CREATE_FLAGS) - .) | \
(cd $(DESTDIR)$(installdir) && tar -xf -)
$(NSINSTALL) -D $(DESTDIR)$(bindir)
diff --git a/www/seamonkey/patches/patch-ao.orig b/www/seamonkey/patches/patch-ao.orig
new file mode 100644
index 00000000000..a9313240f3b
--- /dev/null
+++ b/www/seamonkey/patches/patch-ao.orig
@@ -0,0 +1,15 @@
+$NetBSD: patch-ao.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/toolkit/mozapps/installer/packager.mk.orig 2009-10-29 23:11:21.000000000 +0100
++++ mozilla/toolkit/mozapps/installer/packager.mk
+@@ -441,8 +441,8 @@ endif
+ (cd $(DIST)/$(MOZ_PKG_DIR) && tar $(TAR_CREATE_FLAGS) - .) | \
+ (cd $(DESTDIR)$(installdir) && tar -xf -)
+ $(NSINSTALL) -D $(DESTDIR)$(bindir)
+- $(RM) -f $(DESTDIR)$(bindir)/$(MOZ_APP_NAME)
+- ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir)
++ $(RM) -f $(DESTDIR)$(bindir)/$(MOZILLA_PKG_NAME)
++ ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir)/$(MOZILLA_PKG_NAME)
+ ifdef INSTALL_SDK # Here comes the hard part
+ $(NSINSTALL) -D $(DESTDIR)$(includedir)
+ (cd $(DIST)/include && tar $(TAR_CREATE_FLAGS) - .) | \
diff --git a/www/seamonkey/patches/patch-as b/www/seamonkey/patches/patch-as
index f1171313c0a..04931d40a07 100644
--- a/www/seamonkey/patches/patch-as
+++ b/www/seamonkey/patches/patch-as
@@ -1,10 +1,10 @@
-$NetBSD: patch-as,v 1.4 2011/11/12 16:41:43 tnn Exp $
+$NetBSD: patch-as,v 1.5 2012/03/10 03:26:05 ryoon Exp $
Treat DragonFly like FreeBSD.
---- mozilla/js/src/configure.in.orig 2011-09-22 20:20:26.000000000 +0000
+--- mozilla/js/src/configure.in.orig 2012-02-16 14:09:03.000000000 +0000
+++ mozilla/js/src/configure.in
-@@ -784,7 +784,7 @@ EOF
+@@ -799,7 +799,7 @@ EOF
AC_LANG_RESTORE
])
@@ -13,7 +13,7 @@ Treat DragonFly like FreeBSD.
AC_CACHE_CHECK(for |class __declspec(dllimport) exception| bug,
ac_cv_have_dllimport_exception_bug,
[
-@@ -1999,7 +1999,7 @@ case "$target" in
+@@ -2157,7 +2157,7 @@ case "$target" in
MOZ_FIX_LINK_PATHS='-Wl,-executable_path,$(LIBXUL_DIST)/bin'
;;
@@ -22,7 +22,7 @@ Treat DragonFly like FreeBSD.
if test `test -x /usr/bin/objformat && /usr/bin/objformat || echo elf` != "elf"; then
DLL_SUFFIX=".so.1.0"
DSO_LDOPTS="-shared"
-@@ -2846,7 +2846,7 @@ case "$target" in
+@@ -2818,7 +2818,7 @@ case "$target" in
*-solaris*)
AC_DEFINE(AVMPLUS_UNIX)
;;
@@ -31,7 +31,7 @@ Treat DragonFly like FreeBSD.
AC_DEFINE(AVMPLUS_UNIX)
;;
*-openbsd*)
-@@ -4846,7 +4846,7 @@ if test "$MOZ_MEMORY"; then
+@@ -4344,7 +4344,7 @@ if test "$MOZ_MEMORY"; then
*-darwin*)
AC_DEFINE(MOZ_MEMORY_DARWIN)
;;
diff --git a/www/seamonkey/patches/patch-as.orig b/www/seamonkey/patches/patch-as.orig
new file mode 100644
index 00000000000..30f6d33f367
--- /dev/null
+++ b/www/seamonkey/patches/patch-as.orig
@@ -0,0 +1,42 @@
+$NetBSD: patch-as.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+Treat DragonFly like FreeBSD.
+
+--- mozilla/js/src/configure.in.orig 2011-09-22 20:20:26.000000000 +0000
++++ mozilla/js/src/configure.in
+@@ -784,7 +784,7 @@ EOF
+ AC_LANG_RESTORE
+ ])
+
+- if test "$ac_cv_have_std__Throw" == "yes"; then
++ if test "$ac_cv_have_std__Throw" = "yes"; then
+ AC_CACHE_CHECK(for |class __declspec(dllimport) exception| bug,
+ ac_cv_have_dllimport_exception_bug,
+ [
+@@ -1999,7 +1999,7 @@ case "$target" in
+ MOZ_FIX_LINK_PATHS='-Wl,-executable_path,$(LIBXUL_DIST)/bin'
+ ;;
+
+-*-freebsd*)
++*-freebsd*|*-dragonfly*)
+ if test `test -x /usr/bin/objformat && /usr/bin/objformat || echo elf` != "elf"; then
+ DLL_SUFFIX=".so.1.0"
+ DSO_LDOPTS="-shared"
+@@ -2846,7 +2846,7 @@ case "$target" in
+ *-solaris*)
+ AC_DEFINE(AVMPLUS_UNIX)
+ ;;
+-*-freebsd*|*-kfreebsd*)
++*-freebsd*|*-kfreebsd*|*-netbsd*|*-dragonfly*)
+ AC_DEFINE(AVMPLUS_UNIX)
+ ;;
+ *-openbsd*)
+@@ -4846,7 +4846,7 @@ if test "$MOZ_MEMORY"; then
+ *-darwin*)
+ AC_DEFINE(MOZ_MEMORY_DARWIN)
+ ;;
+- *-*freebsd*)
++ *-*freebsd*|*-*dragonfly*)
+ AC_DEFINE(MOZ_MEMORY_BSD)
+ ;;
+ *-android*|*-linuxandroid*)
diff --git a/www/seamonkey/patches/patch-at b/www/seamonkey/patches/patch-at
index 26380e054f2..a54ab81bb5f 100644
--- a/www/seamonkey/patches/patch-at
+++ b/www/seamonkey/patches/patch-at
@@ -1,8 +1,8 @@
-$NetBSD: patch-at,v 1.7 2011/08/21 23:21:34 tnn Exp $
+$NetBSD: patch-at,v 1.8 2012/03/10 03:26:05 ryoon Exp $
Avoid silly redefinitions of standard types on NetBSD.
---- mozilla/gfx/qcms/qcmstypes.h.orig 2010-11-04 19:20:39.000000000 +0000
+--- mozilla/gfx/qcms/qcmstypes.h.orig 2012-02-16 14:08:55.000000000 +0000
+++ mozilla/gfx/qcms/qcmstypes.h
@@ -10,6 +10,8 @@
#if defined (__SVR4) && defined (__sun)
@@ -12,4 +12,4 @@ Avoid silly redefinitions of standard types on NetBSD.
+#include <stdint.h>
#elif defined (_AIX)
#include <sys/types.h>
- #elif !defined(ANDROID)
+ #elif defined(__OpenBSD__)
diff --git a/www/seamonkey/patches/patch-at.orig b/www/seamonkey/patches/patch-at.orig
new file mode 100644
index 00000000000..8fec39a2b4b
--- /dev/null
+++ b/www/seamonkey/patches/patch-at.orig
@@ -0,0 +1,15 @@
+$NetBSD: patch-at.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+Avoid silly redefinitions of standard types on NetBSD.
+
+--- mozilla/gfx/qcms/qcmstypes.h.orig 2010-11-04 19:20:39.000000000 +0000
++++ mozilla/gfx/qcms/qcmstypes.h
+@@ -10,6 +10,8 @@
+ #if defined (__SVR4) && defined (__sun)
+ /* int_types.h gets included somehow, so avoid redefining the types differently */
+ #include <sys/int_types.h>
++#elif defined(__NetBSD__) || defined(__DragonFly__)
++#include <stdint.h>
+ #elif defined (_AIX)
+ #include <sys/types.h>
+ #elif !defined(ANDROID)
diff --git a/www/seamonkey/patches/patch-au b/www/seamonkey/patches/patch-au
index 057861d660c..1da32c56d4d 100644
--- a/www/seamonkey/patches/patch-au
+++ b/www/seamonkey/patches/patch-au
@@ -1,10 +1,10 @@
-$NetBSD: patch-au,v 1.3 2011/08/19 10:10:01 tnn Exp $
+$NetBSD: patch-au,v 1.4 2012/03/10 03:26:05 ryoon Exp $
- Fix device name on NetBSD
- SOUND_VERSION just isn't a reliable way to detect features supported by
particular OSS implementation.
---- mozilla/media/libsydneyaudio/src/sydney_audio_oss.c.orig 2011-08-11 21:41:16.000000000 +0000
+--- mozilla/media/libsydneyaudio/src/sydney_audio_oss.c.orig 2012-02-16 14:09:23.000000000 +0000
+++ mozilla/media/libsydneyaudio/src/sydney_audio_oss.c
@@ -55,7 +55,7 @@
// support only versions newer than 3.6.1
diff --git a/www/seamonkey/patches/patch-au.orig b/www/seamonkey/patches/patch-au.orig
new file mode 100644
index 00000000000..7d9da824aca
--- /dev/null
+++ b/www/seamonkey/patches/patch-au.orig
@@ -0,0 +1,30 @@
+$NetBSD: patch-au.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+- Fix device name on NetBSD
+- SOUND_VERSION just isn't a reliable way to detect features supported by
+ particular OSS implementation.
+
+--- mozilla/media/libsydneyaudio/src/sydney_audio_oss.c.orig 2011-08-11 21:41:16.000000000 +0000
++++ mozilla/media/libsydneyaudio/src/sydney_audio_oss.c
+@@ -55,7 +55,7 @@
+ // support only versions newer than 3.6.1
+ #define SUPP_OSS_VERSION OSS_VERSION(3,0,1)
+
+-#if (SOUND_VERSION < SUPP_OSS_VERSION)
++#if 0 // (SOUND_VERSION < SUPP_OSS_VERSION)
+ #error Unsupported OSS Version
+ #else
+
+@@ -205,7 +205,12 @@ sa_stream_create_pcm(
+ return SA_ERROR_SYSTEM;
+ }
+
++#if defined(__NetBSD__)
++ /* XXX should use DEVOSSAUDIO provided by pkgsrc. */
++ s->output_unit = "/dev/audio";
++#else
+ s->output_unit = "/dev/dsp";
++#endif
+ s->output_fd = -1;
+ s->thread_id = 0;
+ s->playing = 0;
diff --git a/www/seamonkey/patches/patch-av b/www/seamonkey/patches/patch-av
index 0a843a87334..d83990a7706 100644
--- a/www/seamonkey/patches/patch-av
+++ b/www/seamonkey/patches/patch-av
@@ -1,6 +1,6 @@
-$NetBSD: patch-av,v 1.1 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-av,v 1.2 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/xulrunner/app/nsXULRunnerApp.cpp.orig 2008-03-22 05:25:35.000000000 +0100
+--- mozilla/xulrunner/app/nsXULRunnerApp.cpp.orig 2012-02-16 14:09:42.000000000 +0000
+++ mozilla/xulrunner/app/nsXULRunnerApp.cpp
@@ -37,6 +37,27 @@
@@ -30,7 +30,7 @@ $NetBSD: patch-av,v 1.1 2010/03/16 10:59:10 tnn Exp $
#ifdef XP_WIN
#include <windows.h>
#endif
-@@ -283,6 +304,7 @@ private:
+@@ -274,6 +295,7 @@ private:
int main(int argc, char* argv[])
{
diff --git a/www/seamonkey/patches/patch-av.orig b/www/seamonkey/patches/patch-av.orig
new file mode 100644
index 00000000000..d44ccbe5d27
--- /dev/null
+++ b/www/seamonkey/patches/patch-av.orig
@@ -0,0 +1,40 @@
+$NetBSD: patch-av.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/xulrunner/app/nsXULRunnerApp.cpp.orig 2008-03-22 05:25:35.000000000 +0100
++++ mozilla/xulrunner/app/nsXULRunnerApp.cpp
+@@ -37,6 +37,27 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <sys/resource.h>
++/*
++ * On netbsd-4, ulimit -n is 64 by default; too few for us.
++ */
++static void netbsd_fixrlimit(void) {
++ struct rlimit rlp;
++ if (getrlimit(RLIMIT_NOFILE, &rlp) == -1) {
++ fprintf(stderr, "warning: getrlimit failed\n");
++ return;
++ }
++ if (rlp.rlim_cur >= 512)
++ return;
++ if (rlp.rlim_max < 512) {
++ fprintf(stderr, "warning: hard limit of 'ulimit -n' too low\n");
++ rlp.rlim_cur = rlp.rlim_max;
++ }
++ else
++ rlp.rlim_cur = 512;
++ if (setrlimit(RLIMIT_NOFILE, &rlp) == -1)
++ fprintf(stderr, "warning: setrlimit failed\n");
++}
+ #ifdef XP_WIN
+ #include <windows.h>
+ #endif
+@@ -283,6 +304,7 @@ private:
+
+ int main(int argc, char* argv[])
+ {
++ netbsd_fixrlimit();
+ if (argc > 1 && (IsArg(argv[1], "h") ||
+ IsArg(argv[1], "help") ||
+ IsArg(argv[1], "?")))
diff --git a/www/seamonkey/patches/patch-aw b/www/seamonkey/patches/patch-aw
index 60e6a6825c0..67d07949c25 100644
--- a/www/seamonkey/patches/patch-aw
+++ b/www/seamonkey/patches/patch-aw
@@ -1,40 +1,45 @@
-$NetBSD: patch-aw,v 1.3 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-aw,v 1.4 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/xulrunner/stub/nsXULStub.cpp.orig 2009-08-24 17:53:30.000000000 +0200
+--- mozilla/xulrunner/stub/nsXULStub.cpp.orig 2012-02-16 14:09:42.000000000 +0000
+++ mozilla/xulrunner/stub/nsXULStub.cpp
-@@ -44,6 +44,27 @@
+@@ -44,6 +44,29 @@
#include "nsILocalFile.h"
#include <stdarg.h>
++#if defined(__NetBSD__)
+#include <sys/resource.h>
+/*
+ * On netbsd-4, ulimit -n is 64 by default; too few for us.
+ */
+static void netbsd_fixrlimit(void) {
-+ struct rlimit rlp;
-+ if (getrlimit(RLIMIT_NOFILE, &rlp) == -1) {
-+ fprintf(stderr, "warning: getrlimit failed\n");
-+ return;
-+ }
-+ if (rlp.rlim_cur >= 512)
-+ return;
-+ if (rlp.rlim_max < 512) {
-+ fprintf(stderr, "warning: hard limit of 'ulimit -n' too low\n");
-+ rlp.rlim_cur = rlp.rlim_max;
-+ }
-+ else
-+ rlp.rlim_cur = 512;
-+ if (setrlimit(RLIMIT_NOFILE, &rlp) == -1)
-+ fprintf(stderr, "warning: setrlimit failed\n");
++ struct rlimit rlp;
++ if (getrlimit(RLIMIT_NOFILE, &rlp) == -1) {
++ fprintf(stderr, "warning: getrlimit failed\n");
++ return;
++ }
++ if (rlp.rlim_cur >= 512)
++ return;
++ if (rlp.rlim_max < 512) {
++ fprintf(stderr, "warning: hard limit of 'ulimit -n' too low\n");
++ rlp.rlim_cur = rlp.rlim_max;
++ }
++ else
++ rlp.rlim_cur = 512;
++ if (setrlimit(RLIMIT_NOFILE, &rlp) == -1)
++ fprintf(stderr, "warning: setrlimit failed\n");
+}
++#endif
#ifdef XP_WIN
#include <windows.h>
-@@ -205,6 +226,7 @@ main(int argc, char **argv)
- char tmpPath[MAXPATHLEN];
+@@ -202,7 +225,9 @@ main(int argc, char **argv)
char greDir[MAXPATHLEN];
- PRBool greFound = PR_FALSE;
-+ netbsd_fixrlimit();
+ bool greFound = false;
- #if defined(XP_MACOSX)
+-#if defined(XP_MACOSX)
++#if defined(__NetBSD__)
++ netbsd_fixrlimit();
++#elif defined(XP_MACOSX)
CFBundleRef appBundle = CFBundleGetMainBundle();
+ if (!appBundle)
+ return 1;
diff --git a/www/seamonkey/patches/patch-aw.orig b/www/seamonkey/patches/patch-aw.orig
new file mode 100644
index 00000000000..908808b8333
--- /dev/null
+++ b/www/seamonkey/patches/patch-aw.orig
@@ -0,0 +1,40 @@
+$NetBSD: patch-aw.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/xulrunner/stub/nsXULStub.cpp.orig 2009-08-24 17:53:30.000000000 +0200
++++ mozilla/xulrunner/stub/nsXULStub.cpp
+@@ -44,6 +44,27 @@
+ #include "nsILocalFile.h"
+
+ #include <stdarg.h>
++#include <sys/resource.h>
++/*
++ * On netbsd-4, ulimit -n is 64 by default; too few for us.
++ */
++static void netbsd_fixrlimit(void) {
++ struct rlimit rlp;
++ if (getrlimit(RLIMIT_NOFILE, &rlp) == -1) {
++ fprintf(stderr, "warning: getrlimit failed\n");
++ return;
++ }
++ if (rlp.rlim_cur >= 512)
++ return;
++ if (rlp.rlim_max < 512) {
++ fprintf(stderr, "warning: hard limit of 'ulimit -n' too low\n");
++ rlp.rlim_cur = rlp.rlim_max;
++ }
++ else
++ rlp.rlim_cur = 512;
++ if (setrlimit(RLIMIT_NOFILE, &rlp) == -1)
++ fprintf(stderr, "warning: setrlimit failed\n");
++}
+
+ #ifdef XP_WIN
+ #include <windows.h>
+@@ -205,6 +226,7 @@ main(int argc, char **argv)
+ char tmpPath[MAXPATHLEN];
+ char greDir[MAXPATHLEN];
+ PRBool greFound = PR_FALSE;
++ netbsd_fixrlimit();
+
+ #if defined(XP_MACOSX)
+ CFBundleRef appBundle = CFBundleGetMainBundle();
diff --git a/www/seamonkey/patches/patch-ax b/www/seamonkey/patches/patch-ax
index db81d3d5af5..fa3862255a9 100644
--- a/www/seamonkey/patches/patch-ax
+++ b/www/seamonkey/patches/patch-ax
@@ -1,8 +1,8 @@
-$NetBSD: patch-ax,v 1.7 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-ax,v 1.8 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/xpcom/base/nsStackWalk.cpp.orig 2010-12-15 01:03:41.000000000 +0000
+--- mozilla/xpcom/base/nsStackWalk.cpp.orig 2012-02-16 14:09:41.000000000 +0000
+++ mozilla/xpcom/base/nsStackWalk.cpp
-@@ -1137,7 +1137,7 @@ NS_FormatCodeAddressDetails(void *aPC, c
+@@ -1140,7 +1140,7 @@ NS_FormatCodeAddressDetails(void *aPC, c
#define __USE_GNU
#endif
diff --git a/www/seamonkey/patches/patch-ax.orig b/www/seamonkey/patches/patch-ax.orig
new file mode 100644
index 00000000000..4b5d95b0c61
--- /dev/null
+++ b/www/seamonkey/patches/patch-ax.orig
@@ -0,0 +1,13 @@
+$NetBSD: patch-ax.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/xpcom/base/nsStackWalk.cpp.orig 2010-12-15 01:03:41.000000000 +0000
++++ mozilla/xpcom/base/nsStackWalk.cpp
+@@ -1137,7 +1137,7 @@ NS_FormatCodeAddressDetails(void *aPC, c
+ #define __USE_GNU
+ #endif
+
+-#if defined(HAVE_DLOPEN) || defined(XP_MACOSX)
++#if defined(HAVE_DLOPEN) || defined(XP_MACOSX) || defined(__NetBSD__)
+ #include <dlfcn.h>
+ #endif
+
diff --git a/www/seamonkey/patches/patch-ay b/www/seamonkey/patches/patch-ay
index 2a456b531bc..5f283d97f3d 100644
--- a/www/seamonkey/patches/patch-ay
+++ b/www/seamonkey/patches/patch-ay
@@ -1,6 +1,6 @@
-$NetBSD: patch-ay,v 1.2 2011/11/12 16:41:43 tnn Exp $
+$NetBSD: patch-ay,v 1.3 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/browser/app/nsBrowserApp.cpp.orig 2011-09-22 20:20:17.000000000 +0000
+--- mozilla/browser/app/nsBrowserApp.cpp.orig 2012-02-16 14:08:37.000000000 +0000
+++ mozilla/browser/app/nsBrowserApp.cpp
@@ -49,6 +49,27 @@
#include <stdio.h>
diff --git a/www/seamonkey/patches/patch-ay.orig b/www/seamonkey/patches/patch-ay.orig
new file mode 100644
index 00000000000..209c3765f49
--- /dev/null
+++ b/www/seamonkey/patches/patch-ay.orig
@@ -0,0 +1,40 @@
+$NetBSD: patch-ay.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/browser/app/nsBrowserApp.cpp.orig 2011-09-22 20:20:17.000000000 +0000
++++ mozilla/browser/app/nsBrowserApp.cpp
+@@ -49,6 +49,27 @@
+ #include <stdio.h>
+ #include <stdarg.h>
+ #include <string.h>
++#include <sys/resource.h>
++/*
++ * On netbsd-4, ulimit -n is 64 by default; too few for us.
++ */
++static void netbsd_fixrlimit(void) {
++ struct rlimit rlp;
++ if (getrlimit(RLIMIT_NOFILE, &rlp) == -1) {
++ fprintf(stderr, "warning: getrlimit failed\n");
++ return;
++ }
++ if (rlp.rlim_cur >= 512)
++ return;
++ if (rlp.rlim_max < 512) {
++ fprintf(stderr, "warning: hard limit of 'ulimit -n' too low\n");
++ rlp.rlim_cur = rlp.rlim_max;
++ }
++ else
++ rlp.rlim_cur = 512;
++ if (setrlimit(RLIMIT_NOFILE, &rlp) == -1)
++ fprintf(stderr, "warning: setrlimit failed\n");
++}
+
+ #include "plstr.h"
+ #include "prprf.h"
+@@ -203,6 +224,7 @@ static int do_main(const char *exePath,
+ int main(int argc, char* argv[])
+ {
+ char exePath[MAXPATHLEN];
++ netbsd_fixrlimit();
+
+ nsresult rv = mozilla::BinaryPath::Get(argv[0], exePath);
+ if (NS_FAILED(rv)) {
diff --git a/www/seamonkey/patches/patch-az b/www/seamonkey/patches/patch-az
index 4e2298a5b1c..ae94e22252b 100644
--- a/www/seamonkey/patches/patch-az
+++ b/www/seamonkey/patches/patch-az
@@ -1,8 +1,8 @@
-$NetBSD: patch-az,v 1.1 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-az,v 1.2 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/nsprpub/pr/src/pthreads/ptthread.c.orig 2009-11-02 22:43:08.000000000 +0100
+--- mozilla/nsprpub/pr/src/pthreads/ptthread.c.orig 2012-02-16 14:09:27.000000000 +0000
+++ mozilla/nsprpub/pr/src/pthreads/ptthread.c
-@@ -1089,12 +1089,12 @@ PR_IMPLEMENT(void) PR_ProcessExit(PRIntn
+@@ -1070,12 +1070,12 @@ PR_IMPLEMENT(void) PR_ProcessExit(PRIntn
_exit(status);
}
diff --git a/www/seamonkey/patches/patch-az.orig b/www/seamonkey/patches/patch-az.orig
new file mode 100644
index 00000000000..8eab2d80373
--- /dev/null
+++ b/www/seamonkey/patches/patch-az.orig
@@ -0,0 +1,19 @@
+$NetBSD: patch-az.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/nsprpub/pr/src/pthreads/ptthread.c.orig 2009-11-02 22:43:08.000000000 +0100
++++ mozilla/nsprpub/pr/src/pthreads/ptthread.c
+@@ -1089,12 +1089,12 @@ PR_IMPLEMENT(void) PR_ProcessExit(PRIntn
+ _exit(status);
+ }
+
+-PR_IMPLEMENT(PRUint32) PR_GetThreadID(PRThread *thred)
++PR_IMPLEMENT(pthread_t) PR_GetThreadID(PRThread *thred)
+ {
+ #if defined(_PR_DCETHREADS)
+ return (PRUint32)&thred->id; /* this is really a sham! */
+ #else
+- return (PRUint32)thred->id; /* and I don't know what they will do with it */
++ return thred->id; /* and I don't know what they will do with it */
+ #endif
+ }
+
diff --git a/www/seamonkey/patches/patch-ba b/www/seamonkey/patches/patch-ba
index 596068da22b..cb12668e84a 100644
--- a/www/seamonkey/patches/patch-ba
+++ b/www/seamonkey/patches/patch-ba
@@ -1,8 +1,8 @@
-$NetBSD: patch-ba,v 1.5 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-ba,v 1.6 2012/03/10 03:26:05 ryoon Exp $
pthread_t may be 64-bit, avoid casting it.
---- mozilla/nsprpub/pr/include/private/pprthred.h.orig 2009-11-02 22:43:08.000000000 +0100
+--- mozilla/nsprpub/pr/include/private/pprthred.h.orig 2012-02-16 14:09:27.000000000 +0000
+++ mozilla/nsprpub/pr/include/private/pprthred.h
@@ -51,6 +51,8 @@
#include <os2.h>
diff --git a/www/seamonkey/patches/patch-ba.orig b/www/seamonkey/patches/patch-ba.orig
new file mode 100644
index 00000000000..32ea8b2d3b5
--- /dev/null
+++ b/www/seamonkey/patches/patch-ba.orig
@@ -0,0 +1,24 @@
+$NetBSD: patch-ba.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+pthread_t may be 64-bit, avoid casting it.
+
+--- mozilla/nsprpub/pr/include/private/pprthred.h.orig 2009-11-02 22:43:08.000000000 +0100
++++ mozilla/nsprpub/pr/include/private/pprthred.h
+@@ -51,6 +51,8 @@
+ #include <os2.h>
+ #endif
+
++#include <pthread.h>
++
+ PR_BEGIN_EXTERN_C
+
+ /*---------------------------------------------------------------------------
+@@ -91,7 +93,7 @@ NSPR_API(void) PR_DetachThread(void);
+ ** Get the id of the named thread. Each thread is assigned a unique id
+ ** when it is created or attached.
+ */
+-NSPR_API(PRUint32) PR_GetThreadID(PRThread *thread);
++NSPR_API(pthread_t) PR_GetThreadID(PRThread *thread);
+
+ /*
+ ** Set the procedure that is called when a thread is dumped. The procedure
diff --git a/www/seamonkey/patches/patch-bd b/www/seamonkey/patches/patch-bd
index 6e9912fcdd1..2e9fedd7867 100644
--- a/www/seamonkey/patches/patch-bd
+++ b/www/seamonkey/patches/patch-bd
@@ -1,6 +1,6 @@
-$NetBSD: patch-bd,v 1.1 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-bd,v 1.2 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/js/src/ctypes/CTypes.cpp.orig 2010-11-04 19:20:39.000000000 +0000
+--- mozilla/js/src/ctypes/CTypes.cpp.orig 2012-02-16 14:09:03.000000000 +0000
+++ mozilla/js/src/ctypes/CTypes.cpp
@@ -36,6 +36,22 @@
*
diff --git a/www/seamonkey/patches/patch-bd.orig b/www/seamonkey/patches/patch-bd.orig
new file mode 100644
index 00000000000..7f7c004ac59
--- /dev/null
+++ b/www/seamonkey/patches/patch-bd.orig
@@ -0,0 +1,27 @@
+$NetBSD: patch-bd.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/js/src/ctypes/CTypes.cpp.orig 2010-11-04 19:20:39.000000000 +0000
++++ mozilla/js/src/ctypes/CTypes.cpp
+@@ -36,6 +36,22 @@
+ *
+ * ***** END LICENSE BLOCK ***** */
+
++#if defined(__NetBSD__)
++#include <stdint.h>
++/* XXX why do we have those funky __ #defines in stdint.h? */
++#warning this is a retarded workaround
++#define uint8_t uint8_t
++#define uint16_t uint16_t
++#define uint32_t uint32_t
++#define uint64_t uint64_t
++#define int8_t int8_t
++#define int16_t int16_t
++#define int32_t int32_t
++#define int64_t int64_t
++#define intptr_t intptr_t
++#define uintptr_t uintptr_t
++#endif
++
+ #include "CTypes.h"
+ #include "Library.h"
+ #include "jsnum.h"
diff --git a/www/seamonkey/patches/patch-be b/www/seamonkey/patches/patch-be.orig
index 7d2227df8a1..7a2784f9cbf 100644
--- a/www/seamonkey/patches/patch-be
+++ b/www/seamonkey/patches/patch-be.orig
@@ -1,4 +1,4 @@
-$NetBSD: patch-be,v 1.1 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-be.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
Disable all sound support for now since it causes
crashes and doesn't work correctly anyway ...
diff --git a/www/seamonkey/patches/patch-bf b/www/seamonkey/patches/patch-bf
index e623e6ddcf7..680b37dff9e 100644
--- a/www/seamonkey/patches/patch-bf
+++ b/www/seamonkey/patches/patch-bf
@@ -1,6 +1,6 @@
-$NetBSD: patch-bf,v 1.3 2011/08/19 10:10:01 tnn Exp $
+$NetBSD: patch-bf,v 1.4 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/js/src/jsnativestack.cpp.orig 2011-08-11 21:41:05.000000000 +0000
+--- mozilla/js/src/jsnativestack.cpp.orig 2012-02-16 14:09:06.000000000 +0000
+++ mozilla/js/src/jsnativestack.cpp
@@ -50,7 +50,7 @@
#elif defined(XP_MACOSX) || defined(DARWIN) || defined(XP_UNIX)
diff --git a/www/seamonkey/patches/patch-bf.orig b/www/seamonkey/patches/patch-bf.orig
new file mode 100644
index 00000000000..153fc83eedc
--- /dev/null
+++ b/www/seamonkey/patches/patch-bf.orig
@@ -0,0 +1,22 @@
+$NetBSD: patch-bf.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/js/src/jsnativestack.cpp.orig 2011-08-11 21:41:05.000000000 +0000
++++ mozilla/js/src/jsnativestack.cpp
+@@ -50,7 +50,7 @@
+ #elif defined(XP_MACOSX) || defined(DARWIN) || defined(XP_UNIX)
+ # include <pthread.h>
+
+-# if defined(__FreeBSD__) || defined(__OpenBSD__)
++# if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
+ # include <pthread_np.h>
+ # endif
+
+@@ -145,7 +145,7 @@ GetNativeStackBaseImpl()
+ pthread_attr_init(&sattr);
+ # if defined(__OpenBSD__)
+ stack_t ss;
+-# elif defined(PTHREAD_NP_H) || defined(_PTHREAD_NP_H_) || defined(NETBSD)
++# elif defined(PTHREAD_NP_H) || defined(_PTHREAD_NP_H_) || defined(__DragonFly__) || defined(NETBSD) || defined(__NetBSD__) /* XXX tnn not sure why NETBSD isn't defined, it looks like it should be ... */
+ /* e.g. on FreeBSD 4.8 or newer, neundorf@kde.org */
+ pthread_attr_get_np(thread, &sattr);
+ # else
diff --git a/www/seamonkey/patches/patch-bg b/www/seamonkey/patches/patch-bg
index df412f59a3f..d894c0c4926 100644
--- a/www/seamonkey/patches/patch-bg
+++ b/www/seamonkey/patches/patch-bg
@@ -1,6 +1,6 @@
-$NetBSD: patch-bg,v 1.1 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-bg,v 1.2 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/storage/src/SQLiteMutex.h.orig 2010-05-28 13:22:58.000000000 +0000
+--- mozilla/storage/src/SQLiteMutex.h.orig 2012-02-16 14:09:33.000000000 +0000
+++ mozilla/storage/src/SQLiteMutex.h
@@ -141,15 +141,19 @@ public:
void assertCurrentThreadOwns()
diff --git a/www/seamonkey/patches/patch-bg.orig b/www/seamonkey/patches/patch-bg.orig
new file mode 100644
index 00000000000..d5434bb4fd8
--- /dev/null
+++ b/www/seamonkey/patches/patch-bg.orig
@@ -0,0 +1,24 @@
+$NetBSD: patch-bg.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/storage/src/SQLiteMutex.h.orig 2010-05-28 13:22:58.000000000 +0000
++++ mozilla/storage/src/SQLiteMutex.h
+@@ -141,15 +141,19 @@ public:
+ void assertCurrentThreadOwns()
+ {
+ NS_ASSERTION(mMutex, "No mutex associated with this wrapper!");
++#if 0 /* XXX tnn: this breaks the debug build. */
+ NS_ASSERTION(sqlite3_mutex_held(mMutex),
+ "Mutex is not held, but we expect it to be!");
++#endif
+ }
+
+ void assertNotCurrentThreadOwns()
+ {
+ NS_ASSERTION(mMutex, "No mutex associated with this wrapper!");
++#if 0 /* XXX tnn: this breaks the debug build. */
+ NS_ASSERTION(sqlite3_mutex_notheld(mMutex),
+ "Mutex is held, but we expect it to not be!");
++#endif
+ }
+ #endif // ifndef DEBUG
+
diff --git a/www/seamonkey/patches/patch-bi b/www/seamonkey/patches/patch-bi
index d5cb4c78003..eb6131c0828 100644
--- a/www/seamonkey/patches/patch-bi
+++ b/www/seamonkey/patches/patch-bi
@@ -1,13 +1,12 @@
-$NetBSD: patch-bi,v 1.1 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-bi,v 1.2 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/gfx/angle/src/compiler/osinclude.h.orig 2010-12-15 01:02:57.000000000 +0000
+--- mozilla/gfx/angle/src/compiler/osinclude.h.orig 2012-02-16 14:08:54.000000000 +0000
+++ mozilla/gfx/angle/src/compiler/osinclude.h
-@@ -16,7 +16,7 @@
+@@ -16,6 +16,7 @@
#define ANGLE_OS_WIN
#elif defined(__APPLE__) || defined(__linux__) || \
defined(__FreeBSD__) || defined(__OpenBSD__) || \
-- defined(__sun)
-+ defined(__sun) || defined(__NetBSD__) || defined(__DragonFly__)
++ defined(__NetBSD__) || defined(__DragonFly__) || \
+ defined(__sun) || defined(ANDROID)
#define ANGLE_OS_POSIX
#else
- #error Unsupported platform.
diff --git a/www/seamonkey/patches/patch-bi.orig b/www/seamonkey/patches/patch-bi.orig
new file mode 100644
index 00000000000..1ffb440a8ba
--- /dev/null
+++ b/www/seamonkey/patches/patch-bi.orig
@@ -0,0 +1,13 @@
+$NetBSD: patch-bi.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/gfx/angle/src/compiler/osinclude.h.orig 2010-12-15 01:02:57.000000000 +0000
++++ mozilla/gfx/angle/src/compiler/osinclude.h
+@@ -16,7 +16,7 @@
+ #define ANGLE_OS_WIN
+ #elif defined(__APPLE__) || defined(__linux__) || \
+ defined(__FreeBSD__) || defined(__OpenBSD__) || \
+- defined(__sun)
++ defined(__sun) || defined(__NetBSD__) || defined(__DragonFly__)
+ #define ANGLE_OS_POSIX
+ #else
+ #error Unsupported platform.
diff --git a/www/seamonkey/patches/patch-directory_c-sdk_ldap_include_portable.h b/www/seamonkey/patches/patch-directory_c-sdk_ldap_include_portable.h
index 9054947e003..6587d872c27 100644
--- a/www/seamonkey/patches/patch-directory_c-sdk_ldap_include_portable.h
+++ b/www/seamonkey/patches/patch-directory_c-sdk_ldap_include_portable.h
@@ -1,6 +1,6 @@
-$NetBSD: patch-directory_c-sdk_ldap_include_portable.h,v 1.4 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-directory_c-sdk_ldap_include_portable.h,v 1.5 2012/03/10 03:26:05 ryoon Exp $
---- ldap/sdks/c-sdk/ldap/include/portable.h.orig 2011-07-06 08:51:23.000000000 +0000
+--- ldap/sdks/c-sdk/ldap/include/portable.h.orig 2012-02-16 14:10:12.000000000 +0000
+++ ldap/sdks/c-sdk/ldap/include/portable.h
@@ -122,8 +122,11 @@
* some systems don't have the BSD re_comp and re_exec routines
diff --git a/www/seamonkey/patches/patch-directory_c-sdk_ldap_include_portable.h.orig b/www/seamonkey/patches/patch-directory_c-sdk_ldap_include_portable.h.orig
new file mode 100644
index 00000000000..efc8871d46e
--- /dev/null
+++ b/www/seamonkey/patches/patch-directory_c-sdk_ldap_include_portable.h.orig
@@ -0,0 +1,17 @@
+$NetBSD: patch-directory_c-sdk_ldap_include_portable.h.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- ldap/sdks/c-sdk/ldap/include/portable.h.orig 2011-07-06 08:51:23.000000000 +0000
++++ ldap/sdks/c-sdk/ldap/include/portable.h
+@@ -122,8 +122,11 @@
+ * some systems don't have the BSD re_comp and re_exec routines
+ */
+ #ifndef NEED_BSDREGEX
+-#if ( defined( SYSV ) || defined( NETBSD ) || defined( FREEBSD ) || defined(__OpenBSD__) || defined( linux ) || defined( DARWIN )) && !defined(sgi)
++#if ( defined( SYSV ) || defined( NETBSD ) || defined(DRAGONFLY) || defined( FREEBSD ) || defined(__OpenBSD__) || defined( linux ) || defined( DARWIN )) && !defined(sgi)
+ #define NEED_BSDREGEX
++/* there are conflicting prototypes in unistd.h on DragonFly */
++#define re_comp ldap_compat_re_comp
++#define re_exec ldap_compat_re_exec
+ #endif
+ #endif
+
diff --git a/www/seamonkey/patches/patch-ipc_chromium_src_base_debug__util__posic.cc b/www/seamonkey/patches/patch-ipc_chromium_src_base_debug__util__posic.cc
index 587a62073aa..259ed9b94d7 100644
--- a/www/seamonkey/patches/patch-ipc_chromium_src_base_debug__util__posic.cc
+++ b/www/seamonkey/patches/patch-ipc_chromium_src_base_debug__util__posic.cc
@@ -1,35 +1,47 @@
-$NetBSD: patch-ipc_chromium_src_base_debug__util__posic.cc,v 1.1 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-ipc_chromium_src_base_debug__util__posic.cc,v 1.2 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/ipc/chromium/src/base/debug_util_posix.cc.orig 2011-06-15 21:57:27.000000000 +0000
+--- mozilla/ipc/chromium/src/base/debug_util_posix.cc.orig 2012-02-16 14:09:02.000000000 +0000
+++ mozilla/ipc/chromium/src/base/debug_util_posix.cc
-@@ -11,10 +11,10 @@
- #include <sys/stat.h>
- #include <sys/types.h>
+@@ -5,7 +5,7 @@
+ #include "build/build_config.h"
+ #include "base/debug_util.h"
+
+-#define MOZ_HAVE_EXECINFO_H (!defined(ANDROID) && !defined(__OpenBSD__))
++#define MOZ_HAVE_EXECINFO_H (defined(__linux__) && !defined(ANDROID))
+
+ #include <errno.h>
+ #include <fcntl.h>
+@@ -17,8 +17,11 @@
#include <unistd.h>
--#ifndef ANDROID
-+#ifdef __linux__
+ #if MOZ_HAVE_EXECINFO_H
#include <execinfo.h>
-#include <sys/sysctl.h>
#endif
++#if defined(OS_DRAGONFLY)
++#include <sys/user.h>
++#endif
+#include <sys/sysctl.h>
#include "base/basictypes.h"
#include "base/eintr_wrapper.h"
-@@ -119,7 +119,7 @@ StackTrace::StackTrace() {
- const int kMaxCallers = 256;
+@@ -32,7 +35,7 @@ bool DebugUtil::SpawnDebuggerOnProcess(u
+ return false;
+ }
- void* callers[kMaxCallers];
--#ifndef ANDROID
-+#ifdef __GLIBC__
- int count = backtrace(callers, kMaxCallers);
- #else
- int count = 0;
-@@ -138,7 +138,7 @@ StackTrace::StackTrace() {
+-#if defined(OS_MACOSX)
++#if defined(OS_MACOSX) || defined(OS_BSD)
- void StackTrace::PrintBacktrace() {
- fflush(stderr);
--#ifndef ANDROID
-+#ifdef __GLIBC__
- backtrace_symbols_fd(&trace_[0], trace_.size(), STDERR_FILENO);
- #endif
+ // Based on Apple's recommended method as described in
+ // http://developer.apple.com/qa/qa2004/qa1361.html
+@@ -71,7 +74,11 @@ bool DebugUtil::BeingDebugged() {
+
+ // This process is being debugged if the P_TRACED flag is set.
+ is_set = true;
++#if defined(__DragonFly__)
++ being_debugged = (info.kp_flags & P_TRACED) != 0;
++#else
+ being_debugged = (info.kp_proc.p_flag & P_TRACED) != 0;
++#endif
+ return being_debugged;
}
+
diff --git a/www/seamonkey/patches/patch-ipc_chromium_src_base_debug__util__posic.cc.orig b/www/seamonkey/patches/patch-ipc_chromium_src_base_debug__util__posic.cc.orig
new file mode 100644
index 00000000000..d347c9b939e
--- /dev/null
+++ b/www/seamonkey/patches/patch-ipc_chromium_src_base_debug__util__posic.cc.orig
@@ -0,0 +1,35 @@
+$NetBSD: patch-ipc_chromium_src_base_debug__util__posic.cc.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/debug_util_posix.cc.orig 2011-06-15 21:57:27.000000000 +0000
++++ mozilla/ipc/chromium/src/base/debug_util_posix.cc
+@@ -11,10 +11,10 @@
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+-#ifndef ANDROID
++#ifdef __linux__
+ #include <execinfo.h>
+-#include <sys/sysctl.h>
+ #endif
++#include <sys/sysctl.h>
+
+ #include "base/basictypes.h"
+ #include "base/eintr_wrapper.h"
+@@ -119,7 +119,7 @@ StackTrace::StackTrace() {
+ const int kMaxCallers = 256;
+
+ void* callers[kMaxCallers];
+-#ifndef ANDROID
++#ifdef __GLIBC__
+ int count = backtrace(callers, kMaxCallers);
+ #else
+ int count = 0;
+@@ -138,7 +138,7 @@ StackTrace::StackTrace() {
+
+ void StackTrace::PrintBacktrace() {
+ fflush(stderr);
+-#ifndef ANDROID
++#ifdef __GLIBC__
+ backtrace_symbols_fd(&trace_[0], trace_.size(), STDERR_FILENO);
+ #endif
+ }
diff --git a/www/seamonkey/patches/patch-ipc_chromium_src_base_file__util.h b/www/seamonkey/patches/patch-ipc_chromium_src_base_file__util.h
index b424ad824db..f10edd69913 100644
--- a/www/seamonkey/patches/patch-ipc_chromium_src_base_file__util.h
+++ b/www/seamonkey/patches/patch-ipc_chromium_src_base_file__util.h
@@ -1,13 +1,12 @@
-$NetBSD: patch-ipc_chromium_src_base_file__util.h,v 1.1 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-ipc_chromium_src_base_file__util.h,v 1.2 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/ipc/chromium/src/base/file_util.h.orig 2011-06-15 21:57:27.000000000 +0000
+--- mozilla/ipc/chromium/src/base/file_util.h.orig 2012-02-16 14:09:02.000000000 +0000
+++ mozilla/ipc/chromium/src/base/file_util.h
-@@ -15,8 +15,9 @@
- #elif defined(ANDROID)
+@@ -16,8 +16,8 @@
#include <sys/stat.h>
#elif defined(OS_POSIX)
+ #include <sys/types.h>
-#include <fts.h>
-+#include <sys/types.h>
#include <sys/stat.h>
+#include <fts.h>
#endif
diff --git a/www/seamonkey/patches/patch-ipc_chromium_src_base_file__util.h.orig b/www/seamonkey/patches/patch-ipc_chromium_src_base_file__util.h.orig
new file mode 100644
index 00000000000..75275bee4da
--- /dev/null
+++ b/www/seamonkey/patches/patch-ipc_chromium_src_base_file__util.h.orig
@@ -0,0 +1,15 @@
+$NetBSD: patch-ipc_chromium_src_base_file__util.h.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/file_util.h.orig 2011-06-15 21:57:27.000000000 +0000
++++ mozilla/ipc/chromium/src/base/file_util.h
+@@ -15,8 +15,9 @@
+ #elif defined(ANDROID)
+ #include <sys/stat.h>
+ #elif defined(OS_POSIX)
+-#include <fts.h>
++#include <sys/types.h>
+ #include <sys/stat.h>
++#include <fts.h>
+ #endif
+
+ #include <stdio.h>
diff --git a/www/seamonkey/patches/patch-ipc_chromium_src_base_file__util__posix.cc b/www/seamonkey/patches/patch-ipc_chromium_src_base_file__util__posix.cc
index 54e3a83547a..1549c169040 100644
--- a/www/seamonkey/patches/patch-ipc_chromium_src_base_file__util__posix.cc
+++ b/www/seamonkey/patches/patch-ipc_chromium_src_base_file__util__posix.cc
@@ -1,14 +1,13 @@
-$NetBSD: patch-ipc_chromium_src_base_file__util__posix.cc,v 1.1 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-ipc_chromium_src_base_file__util__posix.cc,v 1.2 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/ipc/chromium/src/base/file_util_posix.cc.orig 2011-06-15 21:57:27.000000000 +0000
+--- mozilla/ipc/chromium/src/base/file_util_posix.cc.orig 2012-02-16 14:09:02.000000000 +0000
+++ mozilla/ipc/chromium/src/base/file_util_posix.cc
-@@ -30,6 +30,9 @@
- #include "base/string_util.h"
+@@ -31,7 +31,7 @@
#include "base/time.h"
+ // FreeBSD/OpenBSD lacks stat64, but its stat handles files >2GB just fine
+-#if defined(OS_FREEBSD) || defined(OS_OPENBSD)
+#ifndef __linux__
-+#define stat64 stat
-+#endif
- namespace file_util {
+ #define stat64 stat
+ #endif
- #if defined(GOOGLE_CHROME_BUILD)
diff --git a/www/seamonkey/patches/patch-ipc_chromium_src_base_file__util__posix.cc.orig b/www/seamonkey/patches/patch-ipc_chromium_src_base_file__util__posix.cc.orig
new file mode 100644
index 00000000000..fda75b781c6
--- /dev/null
+++ b/www/seamonkey/patches/patch-ipc_chromium_src_base_file__util__posix.cc.orig
@@ -0,0 +1,14 @@
+$NetBSD: patch-ipc_chromium_src_base_file__util__posix.cc.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/file_util_posix.cc.orig 2011-06-15 21:57:27.000000000 +0000
++++ mozilla/ipc/chromium/src/base/file_util_posix.cc
+@@ -30,6 +30,9 @@
+ #include "base/string_util.h"
+ #include "base/time.h"
+
++#ifndef __linux__
++#define stat64 stat
++#endif
+ namespace file_util {
+
+ #if defined(GOOGLE_CHROME_BUILD)
diff --git a/www/seamonkey/patches/patch-ipc_chromium_src_base_platform__file__posix.cc b/www/seamonkey/patches/patch-ipc_chromium_src_base_platform__file__posix.cc
index 1238eaa38c6..e7249ecfdd4 100644
--- a/www/seamonkey/patches/patch-ipc_chromium_src_base_platform__file__posix.cc
+++ b/www/seamonkey/patches/patch-ipc_chromium_src_base_platform__file__posix.cc
@@ -1,8 +1,8 @@
-$NetBSD: patch-ipc_chromium_src_base_platform__file__posix.cc,v 1.1 2011/07/12 15:12:36 tnn Exp $
+$NetBSD: patch-ipc_chromium_src_base_platform__file__posix.cc,v 1.2 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/ipc/chromium/src/base/platform_file_posix.cc.orig 2011-06-15 21:57:27.000000000 +0000
+--- mozilla/ipc/chromium/src/base/platform_file_posix.cc.orig 2012-02-16 14:09:02.000000000 +0000
+++ mozilla/ipc/chromium/src/base/platform_file_posix.cc
-@@ -9,6 +9,7 @@
+@@ -10,6 +10,7 @@
#ifdef ANDROID
#include <linux/stat.h>
#endif
diff --git a/www/seamonkey/patches/patch-ipc_chromium_src_base_platform__file__posix.cc.orig b/www/seamonkey/patches/patch-ipc_chromium_src_base_platform__file__posix.cc.orig
new file mode 100644
index 00000000000..51a07505988
--- /dev/null
+++ b/www/seamonkey/patches/patch-ipc_chromium_src_base_platform__file__posix.cc.orig
@@ -0,0 +1,12 @@
+$NetBSD: patch-ipc_chromium_src_base_platform__file__posix.cc.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/platform_file_posix.cc.orig 2011-06-15 21:57:27.000000000 +0000
++++ mozilla/ipc/chromium/src/base/platform_file_posix.cc
+@@ -9,6 +9,7 @@
+ #ifdef ANDROID
+ #include <linux/stat.h>
+ #endif
++#include <sys/stat.h> /* for S_IRUSR */
+
+ #include "base/logging.h"
+ #include "base/string_util.h"
diff --git a/www/seamonkey/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc b/www/seamonkey/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc
index 9690d0cedc4..d8d9014a723 100644
--- a/www/seamonkey/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc
+++ b/www/seamonkey/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc
@@ -1,8 +1,8 @@
-$NetBSD: patch-ipc_chromium_src_base_platform__thread__posix.cc,v 1.2 2011/08/01 08:17:17 tnn Exp $
+$NetBSD: patch-ipc_chromium_src_base_platform__thread__posix.cc,v 1.3 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/ipc/chromium/src/base/platform_thread_posix.cc.orig 2011-06-15 21:57:27.000000000 +0000
+--- mozilla/ipc/chromium/src/base/platform_thread_posix.cc.orig 2012-02-16 14:09:02.000000000 +0000
+++ mozilla/ipc/chromium/src/base/platform_thread_posix.cc
-@@ -9,6 +9,8 @@
+@@ -9,9 +9,13 @@
#if defined(OS_MACOSX)
#include <mach/mach.h>
@@ -11,7 +11,12 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread__posix.cc,v 1.2 2011/08/01
#elif defined(OS_LINUX)
#include <sys/syscall.h>
#include <unistd.h>
-@@ -33,6 +35,10 @@ PlatformThreadId PlatformThread::Current
++#elif defined(OS_DRAGONFLY)
++#include <unistd.h>
+ #endif
+
+ #if defined(OS_MACOSX)
+@@ -33,6 +37,14 @@ PlatformThreadId PlatformThread::Current
// into the kernel.
#if defined(OS_MACOSX)
return mach_thread_self();
@@ -19,6 +24,10 @@ $NetBSD: patch-ipc_chromium_src_base_platform__thread__posix.cc,v 1.2 2011/08/01
+ return _lwp_self();
+#elif defined(OS_DRAGONFLY)
+ return lwp_gettid();
- #elif defined(OS_LINUX)
- return syscall(__NR_gettid);
- #endif
++#elif defined(OS_FREEBSD)
++ lwpid_t lwpid;
++ thr_self( &lwpid );
++ return lwpid;
+ #elif defined (__OpenBSD__)
+ // TODO(BSD): find a better thread ID
+ return (intptr_t)(pthread_self());
diff --git a/www/seamonkey/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc.orig b/www/seamonkey/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc.orig
new file mode 100644
index 00000000000..0add37527e7
--- /dev/null
+++ b/www/seamonkey/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc.orig
@@ -0,0 +1,24 @@
+$NetBSD: patch-ipc_chromium_src_base_platform__thread__posix.cc.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/platform_thread_posix.cc.orig 2011-06-15 21:57:27.000000000 +0000
++++ mozilla/ipc/chromium/src/base/platform_thread_posix.cc
+@@ -9,6 +9,8 @@
+
+ #if defined(OS_MACOSX)
+ #include <mach/mach.h>
++#elif defined(OS_NETBSD)
++#include <lwp.h>
+ #elif defined(OS_LINUX)
+ #include <sys/syscall.h>
+ #include <unistd.h>
+@@ -33,6 +35,10 @@ PlatformThreadId PlatformThread::Current
+ // into the kernel.
+ #if defined(OS_MACOSX)
+ return mach_thread_self();
++#elif defined(OS_NETBSD)
++ return _lwp_self();
++#elif defined(OS_DRAGONFLY)
++ return lwp_gettid();
+ #elif defined(OS_LINUX)
+ return syscall(__NR_gettid);
+ #endif
diff --git a/www/seamonkey/patches/patch-ipc_chromium_src_base_sys__info__posix.cc b/www/seamonkey/patches/patch-ipc_chromium_src_base_sys__info__posix.cc
index 0ecbd70ec2a..3754fbdf537 100644
--- a/www/seamonkey/patches/patch-ipc_chromium_src_base_sys__info__posix.cc
+++ b/www/seamonkey/patches/patch-ipc_chromium_src_base_sys__info__posix.cc
@@ -1,6 +1,6 @@
-$NetBSD: patch-ipc_chromium_src_base_sys__info__posix.cc,v 1.2 2011/11/27 13:09:00 tnn Exp $
+$NetBSD: patch-ipc_chromium_src_base_sys__info__posix.cc,v 1.3 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/ipc/chromium/src/base/sys_info_posix.cc.orig 2011-11-04 21:34:00.000000000 +0000
+--- mozilla/ipc/chromium/src/base/sys_info_posix.cc.orig 2012-02-16 14:09:02.000000000 +0000
+++ mozilla/ipc/chromium/src/base/sys_info_posix.cc
@@ -18,6 +18,11 @@
#include <mach/mach_init.h>
diff --git a/www/seamonkey/patches/patch-ipc_chromium_src_base_sys__info__posix.cc.orig b/www/seamonkey/patches/patch-ipc_chromium_src_base_sys__info__posix.cc.orig
new file mode 100644
index 00000000000..03bd81f9989
--- /dev/null
+++ b/www/seamonkey/patches/patch-ipc_chromium_src_base_sys__info__posix.cc.orig
@@ -0,0 +1,49 @@
+$NetBSD: patch-ipc_chromium_src_base_sys__info__posix.cc.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/sys_info_posix.cc.orig 2011-11-04 21:34:00.000000000 +0000
++++ mozilla/ipc/chromium/src/base/sys_info_posix.cc
+@@ -18,6 +18,11 @@
+ #include <mach/mach_init.h>
+ #endif
+
++#if defined(OS_NETBSD)
++#include <sys/param.h>
++#include <sys/sysctl.h>
++#endif
++
+ #include "base/logging.h"
+ #include "base/string_util.h"
+
+@@ -26,7 +31,11 @@ namespace base {
+ int SysInfo::NumberOfProcessors() {
+ // It seems that sysconf returns the number of "logical" processors on both
+ // mac and linux. So we get the number of "online logical" processors.
++#ifdef _SC_NPROCESSORS_ONLN
+ static long res = sysconf(_SC_NPROCESSORS_ONLN);
++#else
++ static long res = 1;
++#endif
+ if (res == -1) {
+ NOTREACHED();
+ return 1;
+@@ -52,6 +61,20 @@ int64 SysInfo::AmountOfPhysicalMemory()
+ }
+
+ return static_cast<int64>(hostinfo.max_mem);
++#elif defined(OS_NETBSD)
++ int mib[2];
++ int rc;
++ int64_t memSize;
++ size_t len = sizeof(memSize);
++
++ mib[0] = CTL_HW;
++ mib[1] = HW_PHYSMEM64;
++ rc = sysctl( mib, 2, &memSize, &len, NULL, 0 );
++ if (-1 != rc) {
++ return memSize;
++ }
++ return 0;
++
+ #else
+ long pages = sysconf(_SC_PHYS_PAGES);
+ long page_size = sysconf(_SC_PAGE_SIZE);
diff --git a/www/seamonkey/patches/patch-ipc_chromium_src_base_third__party_nspr_prcpucfg.h b/www/seamonkey/patches/patch-ipc_chromium_src_base_third__party_nspr_prcpucfg.h
index ee79fa2f957..52844aa5d43 100644
--- a/www/seamonkey/patches/patch-ipc_chromium_src_base_third__party_nspr_prcpucfg.h
+++ b/www/seamonkey/patches/patch-ipc_chromium_src_base_third__party_nspr_prcpucfg.h
@@ -1,6 +1,6 @@
-$NetBSD: patch-ipc_chromium_src_base_third__party_nspr_prcpucfg.h,v 1.1 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-ipc_chromium_src_base_third__party_nspr_prcpucfg.h,v 1.2 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/ipc/chromium/src/base/third_party/nspr/prcpucfg.h.orig 2011-06-15 21:57:27.000000000 +0000
+--- mozilla/ipc/chromium/src/base/third_party/nspr/prcpucfg.h.orig 2012-02-16 14:09:02.000000000 +0000
+++ mozilla/ipc/chromium/src/base/third_party/nspr/prcpucfg.h
@@ -34,7 +34,7 @@
#include "base/third_party/nspr/prcpucfg_win.h"
@@ -9,5 +9,5 @@ $NetBSD: patch-ipc_chromium_src_base_third__party_nspr_prcpucfg.h,v 1.1 2011/07/
-#elif defined(__linux__) || defined(ANDROID)
+#elif defined(__linux__) || defined(ANDROID) || defined(__NetBSD__) || defined(__DragonFly__)
#include "base/third_party/nspr/prcpucfg_linux.h"
- #else
- #error Provide a prcpucfg.h appropriate for your platform
+ #elif defined(__OpenBSD__)
+ #include "base/third_party/nspr/prcpucfg_openbsd.h"
diff --git a/www/seamonkey/patches/patch-ipc_chromium_src_base_third__party_nspr_prcpucfg.h.orig b/www/seamonkey/patches/patch-ipc_chromium_src_base_third__party_nspr_prcpucfg.h.orig
new file mode 100644
index 00000000000..20c2d0a7f8c
--- /dev/null
+++ b/www/seamonkey/patches/patch-ipc_chromium_src_base_third__party_nspr_prcpucfg.h.orig
@@ -0,0 +1,13 @@
+$NetBSD: patch-ipc_chromium_src_base_third__party_nspr_prcpucfg.h.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/third_party/nspr/prcpucfg.h.orig 2011-06-15 21:57:27.000000000 +0000
++++ mozilla/ipc/chromium/src/base/third_party/nspr/prcpucfg.h
+@@ -34,7 +34,7 @@
+ #include "base/third_party/nspr/prcpucfg_win.h"
+ #elif defined(__APPLE__)
+ #include "base/third_party/nspr/prcpucfg_mac.h"
+-#elif defined(__linux__) || defined(ANDROID)
++#elif defined(__linux__) || defined(ANDROID) || defined(__NetBSD__) || defined(__DragonFly__)
+ #include "base/third_party/nspr/prcpucfg_linux.h"
+ #else
+ #error Provide a prcpucfg.h appropriate for your platform
diff --git a/www/seamonkey/patches/patch-ipc_chromium_src_build_build__config.h b/www/seamonkey/patches/patch-ipc_chromium_src_build_build__config.h
index 1be5863ba25..46ba77c654c 100644
--- a/www/seamonkey/patches/patch-ipc_chromium_src_build_build__config.h
+++ b/www/seamonkey/patches/patch-ipc_chromium_src_build_build__config.h
@@ -1,6 +1,6 @@
-$NetBSD: patch-ipc_chromium_src_build_build__config.h,v 1.2 2011/08/19 10:10:01 tnn Exp $
+$NetBSD: patch-ipc_chromium_src_build_build__config.h,v 1.3 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/ipc/chromium/src/build/build_config.h.orig 2011-08-11 21:41:01.000000000 +0000
+--- mozilla/ipc/chromium/src/build/build_config.h.orig 2012-02-16 14:09:02.000000000 +0000
+++ mozilla/ipc/chromium/src/build/build_config.h
@@ -19,6 +19,10 @@
#define OS_MACOSX 1
@@ -10,25 +10,15 @@ $NetBSD: patch-ipc_chromium_src_build_build__config.h,v 1.2 2011/08/19 10:10:01
+#define OS_NETBSD 1
+#elif defined(__DragonFly__)
+#define OS_DRAGONFLY 1
+ #elif defined(__OpenBSD__)
+ #define OS_OPENBSD 1
#elif defined(_WIN32)
- #define OS_WIN 1
- #else
-@@ -27,7 +31,7 @@
+@@ -29,7 +33,7 @@
// For access to standard POSIX features, use OS_POSIX instead of a more
// specific macro.
--#if defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_NETBSD) || defined(OS_DRAGONFLY)
+-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
#define OS_POSIX 1
#endif
-@@ -60,6 +64,9 @@
- #elif defined(__ppc__) || defined(__powerpc__)
- #define ARCH_CPU_PPC 1
- #define ARCH_CPU_32_BITS 1
-+#elif defined(__sparc64__)
-+#define ARCH_CPU_SPARC 1
-+#define ARCH_CPU_64_BITS 1
- #else
- #error Please add support for your architecture in build/build_config.h
- #endif
diff --git a/www/seamonkey/patches/patch-ipc_chromium_src_build_build__config.h.orig b/www/seamonkey/patches/patch-ipc_chromium_src_build_build__config.h.orig
new file mode 100644
index 00000000000..72c1d9aed74
--- /dev/null
+++ b/www/seamonkey/patches/patch-ipc_chromium_src_build_build__config.h.orig
@@ -0,0 +1,34 @@
+$NetBSD: patch-ipc_chromium_src_build_build__config.h.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/build/build_config.h.orig 2011-08-11 21:41:01.000000000 +0000
++++ mozilla/ipc/chromium/src/build/build_config.h
+@@ -19,6 +19,10 @@
+ #define OS_MACOSX 1
+ #elif defined(__linux__) || defined(ANDROID)
+ #define OS_LINUX 1
++#elif defined(__NetBSD__)
++#define OS_NETBSD 1
++#elif defined(__DragonFly__)
++#define OS_DRAGONFLY 1
+ #elif defined(_WIN32)
+ #define OS_WIN 1
+ #else
+@@ -27,7 +31,7 @@
+
+ // For access to standard POSIX features, use OS_POSIX instead of a more
+ // specific macro.
+-#if defined(OS_MACOSX) || defined(OS_LINUX)
++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_NETBSD) || defined(OS_DRAGONFLY)
+ #define OS_POSIX 1
+ #endif
+
+@@ -60,6 +64,9 @@
+ #elif defined(__ppc__) || defined(__powerpc__)
+ #define ARCH_CPU_PPC 1
+ #define ARCH_CPU_32_BITS 1
++#elif defined(__sparc64__)
++#define ARCH_CPU_SPARC 1
++#define ARCH_CPU_64_BITS 1
+ #else
+ #error Please add support for your architecture in build/build_config.h
+ #endif
diff --git a/www/seamonkey/patches/patch-ipc_chromium_src_chrome_common_ipc__channel__posix.h b/www/seamonkey/patches/patch-ipc_chromium_src_chrome_common_ipc__channel__posix.h
index 59f23b7ecd3..2e6dace3a26 100644
--- a/www/seamonkey/patches/patch-ipc_chromium_src_chrome_common_ipc__channel__posix.h
+++ b/www/seamonkey/patches/patch-ipc_chromium_src_chrome_common_ipc__channel__posix.h
@@ -1,8 +1,8 @@
-$NetBSD: patch-ipc_chromium_src_chrome_common_ipc__channel__posix.h,v 1.1 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-ipc_chromium_src_chrome_common_ipc__channel__posix.h,v 1.2 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/ipc/chromium/src/chrome/common/ipc_channel_posix.h.orig 2011-06-15 21:57:27.000000000 +0000
+--- mozilla/ipc/chromium/src/chrome/common/ipc_channel_posix.h.orig 2012-02-16 14:09:02.000000000 +0000
+++ mozilla/ipc/chromium/src/chrome/common/ipc_channel_posix.h
-@@ -92,7 +92,7 @@ class Channel::ChannelImpl : public Mess
+@@ -95,7 +95,7 @@ class Channel::ChannelImpl : public Mess
};
// This is a control message buffer large enough to hold kMaxReadFDs
diff --git a/www/seamonkey/patches/patch-ipc_chromium_src_chrome_common_ipc__channel__posix.h.orig b/www/seamonkey/patches/patch-ipc_chromium_src_chrome_common_ipc__channel__posix.h.orig
new file mode 100644
index 00000000000..f19352c1c47
--- /dev/null
+++ b/www/seamonkey/patches/patch-ipc_chromium_src_chrome_common_ipc__channel__posix.h.orig
@@ -0,0 +1,13 @@
+$NetBSD: patch-ipc_chromium_src_chrome_common_ipc__channel__posix.h.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/chrome/common/ipc_channel_posix.h.orig 2011-06-15 21:57:27.000000000 +0000
++++ mozilla/ipc/chromium/src/chrome/common/ipc_channel_posix.h
+@@ -92,7 +92,7 @@ class Channel::ChannelImpl : public Mess
+ };
+
+ // This is a control message buffer large enough to hold kMaxReadFDs
+-#if defined(OS_MACOSX)
++#if defined(OS_MACOSX) || defined(OS_NETBSD)
+ // TODO(agl): OSX appears to have non-constant CMSG macros!
+ char input_cmsg_buf_[1024];
+ #else
diff --git a/www/seamonkey/patches/patch-ma b/www/seamonkey/patches/patch-ma
index 58c9f5c8fbe..5b293bf56f1 100644
--- a/www/seamonkey/patches/patch-ma
+++ b/www/seamonkey/patches/patch-ma
@@ -1,8 +1,8 @@
-$NetBSD: patch-ma,v 1.1 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-ma,v 1.2 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/config/autoconf.mk.in.orig 2009-06-29 18:14:41.000000000 +0200
+--- mozilla/config/autoconf.mk.in.orig 2012-02-16 14:08:41.000000000 +0000
+++ mozilla/config/autoconf.mk.in
-@@ -57,14 +57,14 @@ MOZ_PKG_SPECIAL = @MOZ_PKG_SPECIAL@
+@@ -62,14 +62,14 @@ MOZ_PKG_SPECIAL = @MOZ_PKG_SPECIAL@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
diff --git a/www/seamonkey/patches/patch-ma-toplevel b/www/seamonkey/patches/patch-ma-toplevel
index 1a26a51accb..1509ad52c04 100644
--- a/www/seamonkey/patches/patch-ma-toplevel
+++ b/www/seamonkey/patches/patch-ma-toplevel
@@ -1,6 +1,6 @@
-$NetBSD: patch-ma-toplevel,v 1.2 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-ma-toplevel,v 1.3 2012/03/10 03:26:05 ryoon Exp $
---- config/autoconf.mk.in.orig 2011-07-06 08:40:27.000000000 +0000
+--- config/autoconf.mk.in.orig 2012-02-16 13:59:48.000000000 +0000
+++ config/autoconf.mk.in
@@ -60,14 +60,14 @@ MOZ_PKG_SPECIAL = @MOZ_PKG_SPECIAL@
prefix = @prefix@
diff --git a/www/seamonkey/patches/patch-ma-toplevel.orig b/www/seamonkey/patches/patch-ma-toplevel.orig
new file mode 100644
index 00000000000..0b888adba4e
--- /dev/null
+++ b/www/seamonkey/patches/patch-ma-toplevel.orig
@@ -0,0 +1,23 @@
+$NetBSD: patch-ma-toplevel.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- config/autoconf.mk.in.orig 2011-07-06 08:40:27.000000000 +0000
++++ config/autoconf.mk.in
+@@ -60,14 +60,14 @@ MOZ_PKG_SPECIAL = @MOZ_PKG_SPECIAL@
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+ bindir = @bindir@
+-includedir = @includedir@/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
++includedir = @includedir@/$(MOZILLA_PKG_NAME)
+ libdir = @libdir@
+ datadir = @datadir@
+ mandir = @mandir@
+-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
++idldir = @datadir@/idl/$(MOZILLA_PKG_NAME)
+
+-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
++installdir = $(libdir)/$(MOZILLA_PKG_NAME)
++sdkdir = $(libdir)/$(MOZILLA_PKG_NAME)-sdk
+
+ MOZDEPTH = $(DEPTH)/mozilla
+ DIST = $(MOZDEPTH)/dist
diff --git a/www/seamonkey/patches/patch-ma.orig b/www/seamonkey/patches/patch-ma.orig
new file mode 100644
index 00000000000..4a1822c049e
--- /dev/null
+++ b/www/seamonkey/patches/patch-ma.orig
@@ -0,0 +1,23 @@
+$NetBSD: patch-ma.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/config/autoconf.mk.in.orig 2009-06-29 18:14:41.000000000 +0200
++++ mozilla/config/autoconf.mk.in
+@@ -57,14 +57,14 @@ MOZ_PKG_SPECIAL = @MOZ_PKG_SPECIAL@
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+ bindir = @bindir@
+-includedir = @includedir@/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
++includedir = @includedir@/$(MOZILLA_PKG_NAME)
+ libdir = @libdir@
+ datadir = @datadir@
+ mandir = @mandir@
+-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
++idldir = @datadir@/idl/$(MOZILLA_PKG_NAME)
+
+-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
++installdir = $(libdir)/$(MOZILLA_PKG_NAME)
++sdkdir = $(libdir)/$(MOZILLA_PKG_NAME)-sdk
+
+ DIST = $(DEPTH)/dist
+ LIBXUL_SDK = @LIBXUL_SDK@
diff --git a/www/seamonkey/patches/patch-mb b/www/seamonkey/patches/patch-mb
index 1d908699500..0248d0a67ce 100644
--- a/www/seamonkey/patches/patch-mb
+++ b/www/seamonkey/patches/patch-mb
@@ -1,26 +1,26 @@
-$NetBSD: patch-mb,v 1.2 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-mb,v 1.3 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig 2011-06-15 21:58:01.000000000 +0000
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig 2012-02-16 14:09:41.000000000 +0000
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in
-@@ -97,7 +97,7 @@ endif
+@@ -84,7 +84,7 @@ endif
endif
endif
-ifneq (,$(filter NetBSD OpenBSD BSD_OS GNU,$(OS_ARCH)))
+ifneq (,$(filter BSD_OS GNU,$(OS_ARCH)))
ifeq (86,$(findstring 86,$(OS_TEST)))
- CPPSRCS := xptcinvoke_unixish_x86.cpp xptcstubs_unixish_x86.cpp
+ CPPSRCS := xptcinvoke_gcc_x86_unix.cpp xptcstubs_gcc_x86_unix.cpp
endif
-@@ -106,7 +106,7 @@ endif
+@@ -93,7 +93,7 @@ endif
# New code for Linux, et. al., with gcc
# Migrate other platforms here after testing
#
-ifneq (,$(filter Linux FreeBSD GNU_%,$(OS_ARCH)))
-+ifneq (,$(filter Linux NetBSD DragonFly FreeBSD OpenBSD GNU_%,$(OS_ARCH)))
++ifneq (,$(filter Linux FreeBSD DragonFly NetBSD OpenBSD GNU_%,$(OS_ARCH)))
# Linux/x86-64
ifeq (x86_64,$(OS_TEST))
CPPSRCS := xptcinvoke_x86_64_unix.cpp xptcstubs_x86_64_linux.cpp
-@@ -124,12 +124,6 @@ ASFILES := xptcstubs_asm_ipf64.s xptcin
+@@ -111,12 +111,6 @@ ASFILES := xptcstubs_asm_ipf64.s xptcin
endif
endif
#
@@ -33,7 +33,7 @@ $NetBSD: patch-mb,v 1.2 2011/07/11 20:46:36 tnn Exp $
# Neutrino/Intel (uses the same unixish_x86 code)
#
ifeq ($(OS_TARGET),NTO)
-@@ -212,7 +206,7 @@ endif
+@@ -192,7 +186,7 @@ endif
# NetBSD/ARM
#
ifeq ($(OS_ARCH),NetBSD)
@@ -42,7 +42,7 @@ $NetBSD: patch-mb,v 1.2 2011/07/11 20:46:36 tnn Exp $
CPPSRCS := xptcinvoke_arm_netbsd.cpp xptcstubs_arm_netbsd.cpp
endif
endif
-@@ -269,7 +263,7 @@ endif
+@@ -249,7 +243,7 @@ endif
# NetBSD/m68k
#
ifeq ($(OS_ARCH),NetBSD)
@@ -51,7 +51,7 @@ $NetBSD: patch-mb,v 1.2 2011/07/11 20:46:36 tnn Exp $
CPPSRCS := xptcinvoke_netbsd_m68k.cpp xptcstubs_netbsd_m68k.cpp
endif
endif
-@@ -359,9 +353,10 @@ endif
+@@ -321,9 +315,10 @@ endif
#
# NetBSD/PPC
#
@@ -63,15 +63,15 @@ $NetBSD: patch-mb,v 1.2 2011/07/11 20:46:36 tnn Exp $
endif
#
-@@ -433,6 +428,13 @@ CPPSRCS := xptcinvoke_sparc64_openbsd.c
+@@ -389,6 +384,13 @@ CPPSRCS := xptcinvoke_sparc64_openbsd.c
ASFILES := xptcinvoke_asm_sparc64_openbsd.s xptcstubs_asm_sparc64_openbsd.s
endif
#
+# NetBSD/SPARC64
+#
+ifeq ($(OS_ARCH)$(OS_TEST),NetBSDsparc64)
-+CPPSRCS := xptcinvoke_sparc64_netbsd.cpp xptcstubs_sparc64_netbsd.cpp
-+ASFILES := xptcinvoke_asm_sparc64_netbsd.s xptcstubs_asm_sparc64_netbsd.s
++CPPSRCS := xptcinvoke_sparc64_netbsd.cpp xptcstubs_sparc64_netbsd.cpp
++ASFILES := xptcinvoke_asm_sparc64_netbsd.s xptcstubs_asm_sparc64_netbsd.s
+endif
+#
# Solaris/SPARC
diff --git a/www/seamonkey/patches/patch-mb.orig b/www/seamonkey/patches/patch-mb.orig
new file mode 100644
index 00000000000..fdc4faae41e
--- /dev/null
+++ b/www/seamonkey/patches/patch-mb.orig
@@ -0,0 +1,79 @@
+$NetBSD: patch-mb.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig 2011-06-15 21:58:01.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in
+@@ -97,7 +97,7 @@ endif
+ endif
+ endif
+
+-ifneq (,$(filter NetBSD OpenBSD BSD_OS GNU,$(OS_ARCH)))
++ifneq (,$(filter BSD_OS GNU,$(OS_ARCH)))
+ ifeq (86,$(findstring 86,$(OS_TEST)))
+ CPPSRCS := xptcinvoke_unixish_x86.cpp xptcstubs_unixish_x86.cpp
+ endif
+@@ -106,7 +106,7 @@ endif
+ # New code for Linux, et. al., with gcc
+ # Migrate other platforms here after testing
+ #
+-ifneq (,$(filter Linux FreeBSD GNU_%,$(OS_ARCH)))
++ifneq (,$(filter Linux NetBSD DragonFly FreeBSD OpenBSD GNU_%,$(OS_ARCH)))
+ # Linux/x86-64
+ ifeq (x86_64,$(OS_TEST))
+ CPPSRCS := xptcinvoke_x86_64_unix.cpp xptcstubs_x86_64_linux.cpp
+@@ -124,12 +124,6 @@ ASFILES := xptcstubs_asm_ipf64.s xptcin
+ endif
+ endif
+ #
+-# OpenBSD/amd64
+-#
+-ifeq ($(OS_ARCH)$(OS_TEST),OpenBSDx86_64)
+-CPPSRCS := xptcinvoke_amd64_openbsd.cpp xptcstubs_amd64_openbsd.cpp
+-endif
+-#
+ # Neutrino/Intel (uses the same unixish_x86 code)
+ #
+ ifeq ($(OS_TARGET),NTO)
+@@ -212,7 +206,7 @@ endif
+ # NetBSD/ARM
+ #
+ ifeq ($(OS_ARCH),NetBSD)
+-ifneq (,$(filter arm% sa110,$(OS_TEST)))
++ifneq (,$(filter arm%,$(TARGET_CPU)))
+ CPPSRCS := xptcinvoke_arm_netbsd.cpp xptcstubs_arm_netbsd.cpp
+ endif
+ endif
+@@ -269,7 +263,7 @@ endif
+ # NetBSD/m68k
+ #
+ ifeq ($(OS_ARCH),NetBSD)
+-ifneq (,$(filter amiga atari hp300 mac68k mvme68k next68k sun3 sun3x x68k,$(OS_TEST)))
++ifneq (,$(filter m68k,$(TARGET_CPU)))
+ CPPSRCS := xptcinvoke_netbsd_m68k.cpp xptcstubs_netbsd_m68k.cpp
+ endif
+ endif
+@@ -359,9 +353,10 @@ endif
+ #
+ # NetBSD/PPC
+ #
+-ifneq (,$(filter NetBSDmacppc NetBSDbebox NetBSDofppc NetBSDprep NetBSDamigappc,$(OS_ARCH)$(OS_TEST)))
++ifeq ($(OS_ARCH)$(OS_TEST),NetBSDpowerpc)
+ CPPSRCS := xptcinvoke_ppc_netbsd.cpp xptcstubs_ppc_netbsd.cpp
+ ASFILES := xptcinvoke_asm_ppc_netbsd.s xptcstubs_asm_ppc_netbsd.s
++AS := $(CC) -c -x assembler-with-cpp
+ endif
+
+ #
+@@ -433,6 +428,13 @@ CPPSRCS := xptcinvoke_sparc64_openbsd.c
+ ASFILES := xptcinvoke_asm_sparc64_openbsd.s xptcstubs_asm_sparc64_openbsd.s
+ endif
+ #
++# NetBSD/SPARC64
++#
++ifeq ($(OS_ARCH)$(OS_TEST),NetBSDsparc64)
++CPPSRCS := xptcinvoke_sparc64_netbsd.cpp xptcstubs_sparc64_netbsd.cpp
++ASFILES := xptcinvoke_asm_sparc64_netbsd.s xptcstubs_asm_sparc64_netbsd.s
++endif
++#
+ # Solaris/SPARC
+ #
+ ifeq ($(OS_ARCH),SunOS)
diff --git a/www/seamonkey/patches/patch-md b/www/seamonkey/patches/patch-md
index fde81187490..1b0fa84a737 100644
--- a/www/seamonkey/patches/patch-md
+++ b/www/seamonkey/patches/patch-md
@@ -1,10 +1,10 @@
-$NetBSD: patch-md,v 1.1 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-md,v 1.2 2012/03/10 03:26:05 ryoon Exp $
???. from www/firefox/patch-ax.
---- mozilla/security/coreconf/SunOS5.mk.orig 2009-06-29 18:15:11.000000000 +0200
+--- mozilla/security/coreconf/SunOS5.mk.orig 2012-02-16 14:09:29.000000000 +0000
+++ mozilla/security/coreconf/SunOS5.mk
-@@ -156,6 +156,10 @@ endif
+@@ -147,6 +147,10 @@ endif
endif
DSO_LDOPTS += -z combreloc -z defs -z ignore
diff --git a/www/seamonkey/patches/patch-md.orig b/www/seamonkey/patches/patch-md.orig
new file mode 100644
index 00000000000..c9b00c2aec9
--- /dev/null
+++ b/www/seamonkey/patches/patch-md.orig
@@ -0,0 +1,17 @@
+$NetBSD: patch-md.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+???. from www/firefox/patch-ax.
+
+--- mozilla/security/coreconf/SunOS5.mk.orig 2009-06-29 18:15:11.000000000 +0200
++++ mozilla/security/coreconf/SunOS5.mk
+@@ -156,6 +156,10 @@ endif
+ endif
+ DSO_LDOPTS += -z combreloc -z defs -z ignore
+
++ifdef LIBRUNPATH
++DSO_LDOPTS += -R$(LIBRUNPATH)
++endif
++
+ # -KPIC generates position independent code for use in shared libraries.
+ # (Similarly for -fPIC in case of gcc.)
+ ifdef NS_USE_GCC
diff --git a/www/seamonkey/patches/patch-me b/www/seamonkey/patches/patch-me
index 6bfedc9339c..9aa21de17ad 100644
--- a/www/seamonkey/patches/patch-me
+++ b/www/seamonkey/patches/patch-me
@@ -1,22 +1,11 @@
-$NetBSD: patch-me,v 1.4 2012/02/27 09:24:34 cheusov Exp $
+$NetBSD: patch-me,v 1.5 2012/03/10 03:26:05 ryoon Exp $
Add DragonFly support.
Disable assembly routines in freebl on Linux (PR pkg/46056)
---- mozilla/security/nss/lib/freebl/Makefile.orig 2010-03-17 18:33:57.000000000 +0000
+--- mozilla/security/nss/lib/freebl/Makefile.orig 2012-02-16 14:09:30.000000000 +0000
+++ mozilla/security/nss/lib/freebl/Makefile
-@@ -154,7 +154,9 @@ ifeq ($(USE_N32),1)
- endif
- endif
-
--ifeq ($(OS_TARGET),Linux)
-+# pkgsrc PR pkg/46056
-+#ifeq ($(OS_TARGET),Linux)
-+ifeq (true, false)
- ifeq ($(CPU_ARCH),x86_64)
- ASFILES = arcfour-amd64-gas.s mpi_amd64_gas.s
- ASFLAGS += -march=opteron -m64 -fPIC -Wa,--noexecstack
-@@ -224,7 +226,7 @@ endif
+@@ -275,7 +275,7 @@ endif
# to bind the blapi function references in FREEBLVector vector
# (ldvector.c) to the blapi functions defined in the freebl
# shared libraries.
diff --git a/www/seamonkey/patches/patch-me.orig b/www/seamonkey/patches/patch-me.orig
new file mode 100644
index 00000000000..aec96d725b8
--- /dev/null
+++ b/www/seamonkey/patches/patch-me.orig
@@ -0,0 +1,27 @@
+$NetBSD: patch-me.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+Add DragonFly support.
+Disable assembly routines in freebl on Linux (PR pkg/46056)
+
+--- mozilla/security/nss/lib/freebl/Makefile.orig 2010-03-17 18:33:57.000000000 +0000
++++ mozilla/security/nss/lib/freebl/Makefile
+@@ -154,7 +154,9 @@ ifeq ($(USE_N32),1)
+ endif
+ endif
+
+-ifeq ($(OS_TARGET),Linux)
++# pkgsrc PR pkg/46056
++#ifeq ($(OS_TARGET),Linux)
++ifeq (true, false)
+ ifeq ($(CPU_ARCH),x86_64)
+ ASFILES = arcfour-amd64-gas.s mpi_amd64_gas.s
+ ASFLAGS += -march=opteron -m64 -fPIC -Wa,--noexecstack
+@@ -224,7 +226,7 @@ endif
+ # to bind the blapi function references in FREEBLVector vector
+ # (ldvector.c) to the blapi functions defined in the freebl
+ # shared libraries.
+-ifeq (,$(filter-out BSD_OS FreeBSD Linux NetBSD OpenBSD, $(OS_TARGET)))
++ifeq (,$(filter-out BSD_OS DragonFly FreeBSD Linux NetBSD OpenBSD, $(OS_TARGET)))
+ MKSHLIB += -Wl,-Bsymbolic
+ endif
+
diff --git a/www/seamonkey/patches/patch-mf b/www/seamonkey/patches/patch-mf
index a3ba56ec41b..39369fca235 100644
--- a/www/seamonkey/patches/patch-mf
+++ b/www/seamonkey/patches/patch-mf
@@ -1,9 +1,9 @@
-$NetBSD: patch-mf,v 1.3 2011/11/12 16:41:43 tnn Exp $
+$NetBSD: patch-mf,v 1.4 2012/03/10 03:26:05 ryoon Exp $
Add DragonFly support.
Make sure nss libraries have a run path defined.
---- mozilla/security/coreconf/config.mk.orig 2011-11-04 21:34:14.000000000 +0000
+--- mozilla/security/coreconf/config.mk.orig 2012-02-16 14:09:29.000000000 +0000
+++ mozilla/security/coreconf/config.mk
@@ -63,7 +63,7 @@ endif
#######################################################################
diff --git a/www/seamonkey/patches/patch-mf.orig b/www/seamonkey/patches/patch-mf.orig
new file mode 100644
index 00000000000..0fd205e32c7
--- /dev/null
+++ b/www/seamonkey/patches/patch-mf.orig
@@ -0,0 +1,21 @@
+$NetBSD: patch-mf.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+Add DragonFly support.
+Make sure nss libraries have a run path defined.
+
+--- mozilla/security/coreconf/config.mk.orig 2011-11-04 21:34:14.000000000 +0000
++++ mozilla/security/coreconf/config.mk
+@@ -63,7 +63,7 @@ endif
+ #######################################################################
+
+ TARGET_OSES = FreeBSD BSD_OS NetBSD OpenUNIX OS2 QNX Darwin BeOS OpenBSD \
+- AIX RISCOS WINNT WIN95 WINCE Linux
++ AIX RISCOS WINNT WIN95 WINCE Linux DragonFly
+
+ ifeq (,$(filter-out $(TARGET_OSES),$(OS_TARGET)))
+ include $(CORE_DEPTH)/coreconf/$(OS_TARGET).mk
+@@ -207,3 +207,4 @@ endif
+ DEFINES += -DUSE_UTIL_DIRECTLY
+ USE_UTIL_DIRECTLY = 1
+
++EXTRA_SHARED_LIBS += -Wl,-R${PREFIX}/lib/${MOZILLA_PKG_NAME}
diff --git a/www/seamonkey/patches/patch-mg b/www/seamonkey/patches/patch-mg
index 24e34ea1453..5dd23d6a134 100644
--- a/www/seamonkey/patches/patch-mg
+++ b/www/seamonkey/patches/patch-mg
@@ -1,8 +1,8 @@
-$NetBSD: patch-mg,v 1.1 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-mg,v 1.2 2012/03/10 03:26:05 ryoon Exp $
Add DragonFly support.
---- mozilla/security/coreconf/DragonFly.mk.orig 2009-06-30 22:20:24.000000000 +0200
+--- mozilla/security/coreconf/DragonFly.mk.orig 2012-03-09 13:13:26.000000000 +0000
+++ mozilla/security/coreconf/DragonFly.mk
@@ -0,0 +1,83 @@
+#
diff --git a/www/seamonkey/patches/patch-mg.orig b/www/seamonkey/patches/patch-mg.orig
new file mode 100644
index 00000000000..4c7a116c8f4
--- /dev/null
+++ b/www/seamonkey/patches/patch-mg.orig
@@ -0,0 +1,90 @@
+$NetBSD: patch-mg.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+Add DragonFly support.
+
+--- mozilla/security/coreconf/DragonFly.mk.orig 2009-06-30 22:20:24.000000000 +0200
++++ mozilla/security/coreconf/DragonFly.mk
+@@ -0,0 +1,83 @@
++#
++# The contents of this file are subject to the Mozilla Public
++# License Version 1.1 (the "License"); you may not use this file
++# except in compliance with the License. You may obtain a copy of
++# the License at http://www.mozilla.org/MPL/
++#
++# Software distributed under the License is distributed on an "AS
++# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++# implied. See the License for the specific language governing
++# rights and limitations under the License.
++#
++# The Original Code is the Netscape security libraries.
++#
++# The Initial Developer of the Original Code is Netscape
++# Communications Corporation. Portions created by Netscape are
++# Copyright (C) 1994-2000 Netscape Communications Corporation. All
++# Rights Reserved.
++#
++# Contributor(s):
++#
++# Alternatively, the contents of this file may be used under the
++# terms of the GNU General Public License Version 2 or later (the
++# "GPL"), in which case the provisions of the GPL are applicable
++# instead of those above. If you wish to allow use of your
++# version of this file only under the terms of the GPL and not to
++# allow others to use your version of this file under the MPL,
++# indicate your decision by deleting the provisions above and
++# replace them with the notice and other provisions required by
++# the GPL. If you do not delete the provisions above, a recipient
++# may use your version of this file under either the MPL or the
++# GPL.
++#
++# Config stuff for DragonFly
++#
++
++include $(CORE_DEPTH)/coreconf/UNIX.mk
++
++DEFAULT_COMPILER = gcc
++CC = gcc
++CCC = g++
++RANLIB = ranlib
++
++ifeq ($(OS_TEST),alpha)
++CPU_ARCH = alpha
++else
++CPU_ARCH = x86
++endif
++
++OS_CFLAGS = $(DSO_CFLAGS) -ansi -Wall -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
++
++DSO_CFLAGS = -fPIC
++DSO_LDOPTS = -shared -Wl,-soname -Wl,$(notdir $@)
++
++#
++# The default implementation strategy for FreeBSD is pthreads.
++#
++ifndef CLASSIC_NSPR
++USE_PTHREADS = 1
++DEFINES += -D_THREAD_SAFE -D_REENTRANT
++OS_LIBS += -pthread
++DSO_LDOPTS += -pthread
++endif
++
++ARCH = freebsd
++
++MOZ_OBJFORMAT := $(shell test -x /usr/bin/objformat && /usr/bin/objformat || echo aout)
++
++DLL_SUFFIX = so
++
++ifdef LIBRUNPATH
++DSO_LDOPTS += -Wl,-R$(LIBRUNPATH)
++endif
++
++MKSHLIB = $(CC) $(DSO_LDOPTS)
++ifdef MAPFILE
++# Add LD options to restrict exported symbols to those in the map file
++endif
++# Change PROCESS to put the mapfile in the correct format for this platform
++PROCESS_MAP_FILE = cp $(LIBRARY_NAME).def $@
++
++G++INCLUDES = -I/usr/include/g++
++
++INCLUDES += -I/usr/X11R6/include
diff --git a/www/seamonkey/patches/patch-mh b/www/seamonkey/patches/patch-mh
index 0893ecee650..ffc9eba113d 100644
--- a/www/seamonkey/patches/patch-mh
+++ b/www/seamonkey/patches/patch-mh
@@ -1,6 +1,6 @@
-$NetBSD: patch-mh,v 1.1 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-mh,v 1.2 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/security/nss/lib/Makefile.orig 2011-03-18 23:34:05.000000000 +0000
+--- mozilla/security/nss/lib/Makefile.orig 2012-02-16 14:09:30.000000000 +0000
+++ mozilla/security/nss/lib/Makefile
@@ -70,7 +70,7 @@ endif
diff --git a/www/seamonkey/patches/patch-mh.orig b/www/seamonkey/patches/patch-mh.orig
new file mode 100644
index 00000000000..02c04fd84c8
--- /dev/null
+++ b/www/seamonkey/patches/patch-mh.orig
@@ -0,0 +1,13 @@
+$NetBSD: patch-mh.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/security/nss/lib/Makefile.orig 2011-03-18 23:34:05.000000000 +0000
++++ mozilla/security/nss/lib/Makefile
+@@ -70,7 +70,7 @@ endif
+
+ ifndef MOZILLA_CLIENT
+ ifeq ($(OS_ARCH),Linux)
+-SYSINIT_SRCDIR = sysinit # Add the sysinit directory to DIRS.
++#SYSINIT_SRCDIR = sysinit # Add the sysinit directory to DIRS.
+ endif
+ endif
+
diff --git a/www/seamonkey/patches/patch-mi b/www/seamonkey/patches/patch-mi
index 2435d31b270..22d5c00d10f 100644
--- a/www/seamonkey/patches/patch-mi
+++ b/www/seamonkey/patches/patch-mi
@@ -1,15 +1,15 @@
-$NetBSD: patch-mi,v 1.1 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-mi,v 1.2 2012/03/10 03:26:05 ryoon Exp $
Add DragonFly support.
---- mozilla/config/config.mk.orig 2009-06-29 18:14:41.000000000 +0200
+--- mozilla/config/config.mk.orig 2012-02-16 14:08:41.000000000 +0000
+++ mozilla/config/config.mk
-@@ -133,7 +133,7 @@ endif
+@@ -129,7 +129,7 @@ endif
# but save the version to allow multiple versions of the same base
# platform to be built in the same tree.
#
--ifneq (,$(filter FreeBSD HP-UX IRIX Linux NetBSD OpenBSD OSF1 SunOS,$(OS_ARCH)))
-+ifneq (,$(filter DragonFly FreeBSD HP-UX IRIX Linux NetBSD OpenBSD OSF1 SunOS,$(OS_ARCH)))
+-ifneq (,$(filter FreeBSD HP-UX Linux NetBSD OpenBSD OSF1 SunOS,$(OS_ARCH)))
++ifneq (,$(filter DragonFly FreeBSD HP-UX Linux NetBSD OpenBSD OSF1 SunOS,$(OS_ARCH)))
OS_RELEASE := $(basename $(OS_RELEASE))
# Allow the user to ignore the OS_VERSION, which is usually irrelevant.
diff --git a/www/seamonkey/patches/patch-mi.orig b/www/seamonkey/patches/patch-mi.orig
new file mode 100644
index 00000000000..824065c64c0
--- /dev/null
+++ b/www/seamonkey/patches/patch-mi.orig
@@ -0,0 +1,15 @@
+$NetBSD: patch-mi.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+Add DragonFly support.
+
+--- mozilla/config/config.mk.orig 2009-06-29 18:14:41.000000000 +0200
++++ mozilla/config/config.mk
+@@ -133,7 +133,7 @@ endif
+ # but save the version to allow multiple versions of the same base
+ # platform to be built in the same tree.
+ #
+-ifneq (,$(filter FreeBSD HP-UX IRIX Linux NetBSD OpenBSD OSF1 SunOS,$(OS_ARCH)))
++ifneq (,$(filter DragonFly FreeBSD HP-UX IRIX Linux NetBSD OpenBSD OSF1 SunOS,$(OS_ARCH)))
+ OS_RELEASE := $(basename $(OS_RELEASE))
+
+ # Allow the user to ignore the OS_VERSION, which is usually irrelevant.
diff --git a/www/seamonkey/patches/patch-mj b/www/seamonkey/patches/patch-mj
index a5cc6511e86..e7374641cad 100644
--- a/www/seamonkey/patches/patch-mj
+++ b/www/seamonkey/patches/patch-mj
@@ -1,8 +1,8 @@
-$NetBSD: patch-mj,v 1.1 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-mj,v 1.2 2012/03/10 03:26:05 ryoon Exp $
Add DragonFly support.
---- mozilla/security/coreconf/arch.mk.orig 2009-06-29 18:15:11.000000000 +0200
+--- mozilla/security/coreconf/arch.mk.orig 2012-02-16 14:09:29.000000000 +0000
+++ mozilla/security/coreconf/arch.mk
@@ -146,7 +146,7 @@ endif
# IRIX 6.5-ALPHA-1289139620.
diff --git a/www/seamonkey/patches/patch-mj.orig b/www/seamonkey/patches/patch-mj.orig
new file mode 100644
index 00000000000..f82c0f43a9e
--- /dev/null
+++ b/www/seamonkey/patches/patch-mj.orig
@@ -0,0 +1,15 @@
+$NetBSD: patch-mj.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+Add DragonFly support.
+
+--- mozilla/security/coreconf/arch.mk.orig 2009-06-29 18:15:11.000000000 +0200
++++ mozilla/security/coreconf/arch.mk
+@@ -146,7 +146,7 @@ endif
+ # IRIX 6.5-ALPHA-1289139620.
+ #
+
+-ifeq (,$(filter-out Linux FreeBSD IRIX,$(OS_ARCH)))
++ifeq (,$(filter-out Linux DragonFly FreeBSD IRIX,$(OS_ARCH)))
+ OS_RELEASE := $(shell echo $(OS_RELEASE) | sed 's/-.*//')
+ endif
+
diff --git a/www/seamonkey/patches/patch-mk b/www/seamonkey/patches/patch-mk
index 6cdde250a41..bd256c613a1 100644
--- a/www/seamonkey/patches/patch-mk
+++ b/www/seamonkey/patches/patch-mk
@@ -1,10 +1,10 @@
-$NetBSD: patch-mk,v 1.2 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-mk,v 1.3 2012/03/10 03:26:05 ryoon Exp $
Treat DragonFly like FreeBSD.
---- mozilla/config/rules.mk.orig 2009-06-29 18:14:41.000000000 +0200
+--- mozilla/config/rules.mk.orig 2012-02-16 14:08:41.000000000 +0000
+++ mozilla/config/rules.mk
-@@ -592,6 +592,12 @@ EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
+@@ -580,6 +580,12 @@ EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
endif
endif
@@ -17,3 +17,14 @@ Treat DragonFly like FreeBSD.
ifeq ($(OS_ARCH),NetBSD)
ifneq (,$(filter arc cobalt hpcmips mipsco newsmips pmax sgimips,$(OS_TEST)))
ifeq ($(MODULE),layout)
+@@ -589,6 +595,10 @@ endif
+ endif
+ endif
+
++ifeq ($(OS_ARCH),NetBSD)
++EXTRA_DSO_LDOPTS += -Wl,-rpath,${PREFIX}/lib/xulrunner
++endif
++
+ #
+ # HP-UXBeOS specific section: for COMPONENTS only, add -Bsymbolic flag
+ # which uses internal symbols first
diff --git a/www/seamonkey/patches/patch-mk.orig b/www/seamonkey/patches/patch-mk.orig
new file mode 100644
index 00000000000..46fc1675f6a
--- /dev/null
+++ b/www/seamonkey/patches/patch-mk.orig
@@ -0,0 +1,19 @@
+$NetBSD: patch-mk.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+Treat DragonFly like FreeBSD.
+
+--- mozilla/config/rules.mk.orig 2009-06-29 18:14:41.000000000 +0200
++++ mozilla/config/rules.mk
+@@ -592,6 +592,12 @@ EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
+ endif
+ endif
+
++ifeq ($(OS_ARCH),DragonFly)
++ifdef IS_COMPONENT
++EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
++endif
++endif
++
+ ifeq ($(OS_ARCH),NetBSD)
+ ifneq (,$(filter arc cobalt hpcmips mipsco newsmips pmax sgimips,$(OS_TEST)))
+ ifeq ($(MODULE),layout)
diff --git a/www/seamonkey/patches/patch-ml b/www/seamonkey/patches/patch-ml
index 470d2d13598..5d490c39bac 100644
--- a/www/seamonkey/patches/patch-ml
+++ b/www/seamonkey/patches/patch-ml
@@ -1,16 +1,16 @@
-$NetBSD: patch-ml,v 1.1 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-ml,v 1.2 2012/03/10 03:26:05 ryoon Exp $
Treat DragonFly like FreeBSD.
---- mozilla/js/src/Makefile.in.orig 2009-06-29 18:14:51.000000000 +0200
+--- mozilla/js/src/Makefile.in.orig 2012-02-16 14:09:03.000000000 +0000
+++ mozilla/js/src/Makefile.in
-@@ -429,6 +429,9 @@ endif # WINNT
+@@ -809,6 +809,9 @@ endif # WINNT
ifeq ($(OS_ARCH),FreeBSD)
EXTRA_LIBS += -pthread
endif
+ifeq ($(OS_ARCH),DragonFly)
+EXTRA_LIBS += -pthread
+endif
- ifeq ($(OS_ARCH),IRIX)
- ifdef USE_N32
- DASH_R += -n32
+ ifeq ($(OS_ARCH),Linux)
+ EXTRA_LIBS += -ldl
+ endif
diff --git a/www/seamonkey/patches/patch-ml.orig b/www/seamonkey/patches/patch-ml.orig
new file mode 100644
index 00000000000..a74e5fc37e9
--- /dev/null
+++ b/www/seamonkey/patches/patch-ml.orig
@@ -0,0 +1,16 @@
+$NetBSD: patch-ml.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+Treat DragonFly like FreeBSD.
+
+--- mozilla/js/src/Makefile.in.orig 2009-06-29 18:14:51.000000000 +0200
++++ mozilla/js/src/Makefile.in
+@@ -429,6 +429,9 @@ endif # WINNT
+ ifeq ($(OS_ARCH),FreeBSD)
+ EXTRA_LIBS += -pthread
+ endif
++ifeq ($(OS_ARCH),DragonFly)
++EXTRA_LIBS += -pthread
++endif
+ ifeq ($(OS_ARCH),IRIX)
+ ifdef USE_N32
+ DASH_R += -n32
diff --git a/www/seamonkey/patches/patch-mm b/www/seamonkey/patches/patch-mm
index 260181342a1..249c55723aa 100644
--- a/www/seamonkey/patches/patch-mm
+++ b/www/seamonkey/patches/patch-mm
@@ -1,11 +1,15 @@
-$NetBSD: patch-mm,v 1.3 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-mm,v 1.4 2012/03/10 03:26:05 ryoon Exp $
---- mozilla/toolkit/library/Makefile.in.orig 2011-06-15 21:58:10.000000000 +0000
+--- mozilla/toolkit/library/Makefile.in.orig 2012-02-16 14:09:36.000000000 +0000
+++ mozilla/toolkit/library/Makefile.in
-@@ -216,6 +216,13 @@ EXTRA_DSO_LDOPTS += -lelf -ldemangle
+@@ -209,6 +209,17 @@ EXTRA_DSO_LDOPTS += -lelf -ldemangle
endif
endif
++ifeq ($(OS_ARCH),DragonFly)
++OS_LIBS += $(call EXPAND_LIBNAME,kvm)
++endif
++
+ifeq ($(OS_ARCH),NetBSD)
+EXTRA_DSO_LDOPTS += -lossaudio
+endif
diff --git a/www/seamonkey/patches/patch-mm.orig b/www/seamonkey/patches/patch-mm.orig
new file mode 100644
index 00000000000..9da53d63536
--- /dev/null
+++ b/www/seamonkey/patches/patch-mm.orig
@@ -0,0 +1,18 @@
+$NetBSD: patch-mm.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/toolkit/library/Makefile.in.orig 2011-06-15 21:58:10.000000000 +0000
++++ mozilla/toolkit/library/Makefile.in
+@@ -216,6 +216,13 @@ EXTRA_DSO_LDOPTS += -lelf -ldemangle
+ endif
+ endif
+
++ifeq ($(OS_ARCH),NetBSD)
++EXTRA_DSO_LDOPTS += -lossaudio
++endif
++ifdef PKGSRC_PULSEAUDIO
++EXTRA_DSO_LDOPTS += -lpulse
++endif
++
+ ifeq ($(OS_ARCH),WINNT)
+ OS_LIBS += $(call EXPAND_LIBNAME,shell32 ole32 uuid version winspool comdlg32 imm32 winmm wsock32 msimg32 shlwapi psapi ws2_32 dbghelp)
+ ifneq (,$(MOZ_DEBUG)$(NS_TRACE_MALLOC))
diff --git a/www/seamonkey/patches/patch-mn b/www/seamonkey/patches/patch-mn
index 53665efc558..cbc6c22d22c 100644
--- a/www/seamonkey/patches/patch-mn
+++ b/www/seamonkey/patches/patch-mn
@@ -1,8 +1,8 @@
-$NetBSD: patch-mn,v 1.2 2010/10/22 10:08:14 tnn Exp $
+$NetBSD: patch-mn,v 1.3 2012/03/10 03:26:05 ryoon Exp $
Make sure we link correctly with sqlite3 from pkgsrc.
---- mozilla/security/nss/lib/softoken/config.mk.orig 2010-08-24 21:32:09.000000000 +0000
+--- mozilla/security/nss/lib/softoken/config.mk.orig 2012-02-16 14:09:31.000000000 +0000
+++ mozilla/security/nss/lib/softoken/config.mk
@@ -80,7 +80,7 @@ else
# $(EXTRA_SHARED_LIBS) come before $(OS_LIBS), except on AIX.
diff --git a/www/seamonkey/patches/patch-mn.orig b/www/seamonkey/patches/patch-mn.orig
new file mode 100644
index 00000000000..aab526aab2e
--- /dev/null
+++ b/www/seamonkey/patches/patch-mn.orig
@@ -0,0 +1,15 @@
+$NetBSD: patch-mn.orig,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+Make sure we link correctly with sqlite3 from pkgsrc.
+
+--- mozilla/security/nss/lib/softoken/config.mk.orig 2010-08-24 21:32:09.000000000 +0000
++++ mozilla/security/nss/lib/softoken/config.mk
+@@ -80,7 +80,7 @@ else
+ # $(EXTRA_SHARED_LIBS) come before $(OS_LIBS), except on AIX.
+ EXTRA_SHARED_LIBS += \
+ -L$(DIST)/lib \
+- -l$(SQLITE_LIB_NAME) \
++ `pkg-config --libs sqlite3` \
+ -L$(NSSUTIL_LIB_DIR) \
+ -lnssutil3 \
+ -L$(NSPR_LIB_DIR) \
diff --git a/www/seamonkey/patches/patch-mozilla_browser_confvars.sh b/www/seamonkey/patches/patch-mozilla_browser_confvars.sh
new file mode 100644
index 00000000000..9e8159bf897
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_browser_confvars.sh
@@ -0,0 +1,11 @@
+$NetBSD: patch-mozilla_browser_confvars.sh,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/browser/confvars.sh.orig 2012-02-16 14:08:39.000000000 +0000
++++ mozilla/browser/confvars.sh
+@@ -49,5 +49,5 @@ MOZ_EXTENSIONS_DEFAULT=" gnomevfs"
+ # MOZ_APP_DISPLAYNAME will be set by branding/configure.sh
+ # Changing either of these values requires a clobber to ensure correct results,
+ # because branding dependencies are broken.
+-MOZ_BRANDING_DIRECTORY=browser/branding/official
++MOZ_BRANDING_DIRECTORY=browser/branding/aurora
+ MOZ_OFFICIAL_BRANDING_DIRECTORY=browser/branding/official
diff --git a/www/seamonkey/patches/patch-mozilla_browser_confvars.sh.orig b/www/seamonkey/patches/patch-mozilla_browser_confvars.sh.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_browser_confvars.sh.orig
diff --git a/www/seamonkey/patches/patch-mozilla_build_autoconf_gcc-pr49911.m4 b/www/seamonkey/patches/patch-mozilla_build_autoconf_gcc-pr49911.m4
new file mode 100644
index 00000000000..10517f38554
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_build_autoconf_gcc-pr49911.m4
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_build_autoconf_gcc-pr49911.m4,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/build/autoconf/gcc-pr49911.m4.orig 2012-02-16 14:08:40.000000000 +0000
++++ mozilla/build/autoconf/gcc-pr49911.m4
+@@ -56,7 +56,7 @@ CXXFLAGS="$_SAVE_CXXFLAGS"
+
+ AC_LANG_RESTORE
+
+-if test "$ac_have_gcc_pr49911" == "yes"; then
++if test "$ac_have_gcc_pr49911" = "yes"; then
+ AC_MSG_RESULT(yes)
+ CFLAGS="$CFLAGS -fno-tree-vrp"
+ CXXFLAGS="$CXXFLAGS -fno-tree-vrp"
diff --git a/www/seamonkey/patches/patch-mozilla_build_autoconf_gcc-pr49911.m4.orig b/www/seamonkey/patches/patch-mozilla_build_autoconf_gcc-pr49911.m4.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_build_autoconf_gcc-pr49911.m4.orig
diff --git a/www/seamonkey/patches/patch-mozilla_build_autoconf_nss.m4 b/www/seamonkey/patches/patch-mozilla_build_autoconf_nss.m4
new file mode 100644
index 00000000000..9e39205c83a
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_build_autoconf_nss.m4
@@ -0,0 +1,46 @@
+$NetBSD: patch-mozilla_build_autoconf_nss.m4,v 1.1 2012/03/10 03:26:05 ryoon Exp $
+
+--- mozilla/build/autoconf/nss.m4.orig 2012-02-16 14:08:40.000000000 +0000
++++ mozilla/build/autoconf/nss.m4
+@@ -22,18 +22,18 @@ AC_ARG_WITH(nss-exec-prefix,
+ if test -n "$nss_config_exec_prefix"; then
+ nss_config_args="$nss_config_args --exec-prefix=$nss_config_exec_prefix"
+ if test -z "$NSS_CONFIG"; then
+- NSS_CONFIG=$nss_config_exec_prefix/bin/nss-config
++ NSS_CONFIG=$nss_config_exec_prefix/bin/pkg-config
+ fi
+ fi
+ if test -n "$nss_config_prefix"; then
+ nss_config_args="$nss_config_args --prefix=$nss_config_prefix"
+ if test -z "$NSS_CONFIG"; then
+- NSS_CONFIG=$nss_config_prefix/bin/nss-config
++ NSS_CONFIG=$nss_config_prefix/bin/pkg-config
+ fi
+ fi
+
+ unset ac_cv_path_NSS_CONFIG
+- AC_PATH_PROG(NSS_CONFIG, nss-config, no)
++ AC_PATH_PROG(NSS_CONFIG, pkg-config, no)
+ min_nss_version=ifelse([$1], ,3.0.0,$1)
+ AC_MSG_CHECKING(for NSS - version >= $min_nss_version)
+
+@@ -41,14 +41,14 @@ AC_ARG_WITH(nss-exec-prefix,
+ if test "$NSS_CONFIG" = "no"; then
+ no_nss="yes"
+ else
+- NSS_CFLAGS=`$NSS_CONFIG $nss_config_args --cflags`
+- NSS_LIBS=`$NSS_CONFIG $nss_config_args --libs`
++ NSS_CFLAGS=`$NSS_CONFIG $nss_config_args nss --cflags`
++ NSS_LIBS=`$NSS_CONFIG $nss_config_args nss --libs`
+
+- nss_config_major_version=`$NSS_CONFIG $nss_config_args --version | \
++ nss_config_major_version=`$NSS_CONFIG $nss_config_args nss --modversion | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+- nss_config_minor_version=`$NSS_CONFIG $nss_config_args --version | \
++ nss_config_minor_version=`$NSS_CONFIG $nss_config_args nss --modversion | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+- nss_config_micro_version=`$NSS_CONFIG $nss_config_args --version | \
++ nss_config_micro_version=`$NSS_CONFIG $nss_config_args nss --modversion | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+ min_nss_major_version=`echo $min_nss_version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
diff --git a/www/seamonkey/patches/patch-mozilla_build_autoconf_nss.m4.orig b/www/seamonkey/patches/patch-mozilla_build_autoconf_nss.m4.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_build_autoconf_nss.m4.orig
diff --git a/www/seamonkey/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp b/www/seamonkey/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp
new file mode 100644
index 00000000000..1f77c1cccdf
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp
@@ -0,0 +1,31 @@
+$NetBSD: patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/dom/plugins/ipc/PluginModuleChild.cpp.orig 2012-02-16 14:08:48.000000000 +0000
++++ mozilla/dom/plugins/ipc/PluginModuleChild.cpp
+@@ -236,7 +236,7 @@ PluginModuleChild::Init(const std::strin
+
+ // TODO: use PluginPRLibrary here
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ mShutdownFunc =
+ (NP_PLUGINSHUTDOWN) PR_FindFunctionSymbol(mLibrary, "NP_Shutdown");
+
+@@ -1824,7 +1824,7 @@ PluginModuleChild::AnswerNP_GetEntryPoin
+ PLUGIN_LOG_DEBUG_METHOD;
+ AssertPluginThread();
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ return true;
+ #elif defined(OS_WIN) || defined(OS_MACOSX)
+ *_retval = mGetEntryPointsFunc(&mFunctions);
+@@ -1851,7 +1851,7 @@ PluginModuleChild::AnswerNP_Initialize(N
+ SendBackUpXResources(FileDescriptor(xSocketFd, false/*don't close*/));
+ #endif
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ *_retval = mInitializeFunc(&sBrowserFuncs, &mFunctions);
+ return true;
+ #elif defined(OS_WIN) || defined(OS_MACOSX)
diff --git a/www/seamonkey/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp.orig b/www/seamonkey/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.cpp.orig
diff --git a/www/seamonkey/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.h b/www/seamonkey/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.h
new file mode 100644
index 00000000000..622d8e7095b
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.h
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_dom_plugins_ipc_PluginModuleChild.h,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/dom/plugins/ipc/PluginModuleChild.h.orig 2012-02-16 14:08:48.000000000 +0000
++++ mozilla/dom/plugins/ipc/PluginModuleChild.h
+@@ -358,7 +358,7 @@ private:
+
+ // we get this from the plugin
+ NP_PLUGINSHUTDOWN mShutdownFunc;
+-#ifdef OS_LINUX
++#if defined(OS_LINUX) || defined(OS_BSD)
+ NP_PLUGINUNIXINIT mInitializeFunc;
+ #elif defined(OS_WIN) || defined(OS_MACOSX)
+ NP_PLUGININIT mInitializeFunc;
diff --git a/www/seamonkey/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.h.orig b/www/seamonkey/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.h.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_dom_plugins_ipc_PluginModuleChild.h.orig
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_Makefile.in b/www/seamonkey/patches/patch-mozilla_ipc_chromium_Makefile.in
new file mode 100644
index 00000000000..73c70d6862c
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_Makefile.in
@@ -0,0 +1,39 @@
+$NetBSD: patch-mozilla_ipc_chromium_Makefile.in,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/ipc/chromium/Makefile.in.orig 2012-02-16 14:09:02.000000000 +0000
++++ mozilla/ipc/chromium/Makefile.in
+@@ -278,6 +278,34 @@ endif
+
+ endif # } OS_LINUX
+
++ifdef OS_BSD # {
++
++CPPSRCS += \
++ atomicops_internals_x86_gcc.cc \
++ file_util_bsd.cc \
++ process_util_bsd.cc \
++ time_posix.cc \
++ $(NULL)
++
++ifdef MOZ_ENABLE_GTK2
++CPPSRCS += \
++ message_pump_glib.cc \
++ $(NULL)
++endif
++
++ifdef MOZ_ENABLE_QT
++MOCSRCS = \
++ moc_message_pump_qt.cc \
++ $(NULL)
++
++CPPSRCS += \
++ $(MOCSRCS) \
++ message_pump_qt.cc \
++ $(NULL)
++endif
++
++endif # } OS_BSD
++
+ # libevent
+
+ ifndef MOZ_NATIVE_LIBEVENT # {
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_Makefile.in.orig b/www/seamonkey/patches/patch-mozilla_ipc_chromium_Makefile.in.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_Makefile.in.orig
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_chromium-config.mk b/www/seamonkey/patches/patch-mozilla_ipc_chromium_chromium-config.mk
new file mode 100644
index 00000000000..a7ddbb80023
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_chromium-config.mk
@@ -0,0 +1,97 @@
+$NetBSD: patch-mozilla_ipc_chromium_chromium-config.mk,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/ipc/chromium/chromium-config.mk.orig 2012-02-16 14:09:02.000000000 +0000
++++ mozilla/ipc/chromium/chromium-config.mk
+@@ -56,17 +56,6 @@ LOCAL_INCLUDES += \
+ -I$(DEPTH)/ipc/ipdl/_ipdlheaders \
+ $(NULL)
+
+-ifeq ($(OS_ARCH),Darwin) # {
+-
+-OS_MACOSX = 1
+-OS_POSIX = 1
+-
+-DEFINES += \
+- -DOS_MACOSX=1 \
+- -DOS_POSIX=1 \
+- $(NULL)
+-
+-else # } {
+ ifeq ($(OS_ARCH),WINNT) # {
+ OS_LIBS += $(call EXPAND_LIBNAME,psapi shell32 dbghelp)
+
+@@ -93,13 +82,62 @@ DEFINES += -DCOMPILER_MSVC
+ endif
+
+ else # } {
+-
+-OS_LINUX = 1
+ OS_POSIX = 1
++DEFINES += -DOS_POSIX=1
++
++ifeq ($(OS_ARCH),Darwin) # {
++
++OS_MACOSX = 1
++DEFINES += \
++ -DOS_MACOSX=1 \
++ $(NULL)
++
++else # } {
++ifeq ($(OS_ARCH),DragonFly) # {
++
++OS_DRAGONFLY = 1
++OS_BSD = 1
++DEFINES += \
++ -DOS_DRAGONFLY=1 \
++ -DOS_BSD=1 \
++ $(NULL)
++
++else # } {
++ifeq ($(OS_ARCH),FreeBSD) # {
++
++OS_FREEBSD = 1
++OS_BSD = 1
++DEFINES += \
++ -DOS_FREEBSD=1 \
++ -DOS_BSD=1 \
++ $(NULL)
+
++else # } {
++ifeq ($(OS_ARCH),NetBSD) # {
++
++OS_NETBSD = 1
++OS_BSD = 1
++OS_LIBS += $(call EXPAND_LIBNAME,kvm)
++DEFINES += \
++ -DOS_NETBSD=1 \
++ -DOS_BSD=1 \
++ $(NULL)
++
++else # } {
++ifeq ($(OS_ARCH),OpenBSD) # {
++
++OS_OPENBSD = 1
++OS_BSD = 1
++DEFINES += \
++ -DOS_OPENBSD=1 \
++ -DOS_BSD=1 \
++ $(NULL)
++
++else # } {
++
++OS_LINUX = 1
+ DEFINES += \
+ -DOS_LINUX=1 \
+- -DOS_POSIX=1 \
+ $(NULL)
+
+ # NB: to stop gcc warnings about exporting template instantiation
+@@ -107,4 +145,8 @@ OS_CXXFLAGS := $(filter-out -pedantic,$(
+
+ endif # }
+ endif # }
++endif # }
++endif # }
++endif # }
++endif # }
+
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_chromium-config.mk.orig b/www/seamonkey/patches/patch-mozilla_ipc_chromium_chromium-config.mk.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_chromium-config.mk.orig
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_base__paths.h b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_base__paths.h
new file mode 100644
index 00000000000..d01eb783928
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_base__paths.h
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_base__paths.h,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/base_paths.h.orig 2012-02-16 14:09:02.000000000 +0000
++++ mozilla/ipc/chromium/src/base/base_paths.h
+@@ -13,7 +13,7 @@
+ #include "base/base_paths_win.h"
+ #elif defined(OS_MACOSX)
+ #include "base/base_paths_mac.h"
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ #include "base/base_paths_linux.h"
+ #endif
+ #include "base/path_service.h"
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_base__paths.h.orig b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_base__paths.h.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_base__paths.h.orig
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_file__util__bsd.cc b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_file__util__bsd.cc
new file mode 100644
index 00000000000..a458783c2da
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_file__util__bsd.cc
@@ -0,0 +1,84 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_file__util__bsd.cc,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/file_util_bsd.cc.orig 2012-03-09 13:13:25.000000000 +0000
++++ mozilla/ipc/chromium/src/base/file_util_bsd.cc
+@@ -0,0 +1,79 @@
++// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++// this is a derivative of file_util_linux.cc
++
++#include "base/file_util.h"
++
++#include <fcntl.h>
++
++#include <string>
++#include <vector>
++
++#include "base/eintr_wrapper.h"
++#include "base/file_path.h"
++#include "base/string_util.h"
++
++namespace file_util {
++
++bool GetTempDir(FilePath* path) {
++ const char* tmp = getenv("TMPDIR");
++ if (tmp)
++ *path = FilePath(tmp);
++ else
++ *path = FilePath("/tmp");
++ return true;
++}
++
++bool GetShmemTempDir(FilePath* path) {
++ return GetTempDir(path);
++}
++
++bool CopyFile(const FilePath& from_path, const FilePath& to_path) {
++ int infile = open(from_path.value().c_str(), O_RDONLY);
++ if (infile < 0)
++ return false;
++
++ int outfile = creat(to_path.value().c_str(), 0666);
++ if (outfile < 0) {
++ close(infile);
++ return false;
++ }
++
++ const size_t kBufferSize = 32768;
++ std::vector<char> buffer(kBufferSize);
++ bool result = true;
++
++ while (result) {
++ ssize_t bytes_read = HANDLE_EINTR(read(infile, &buffer[0], buffer.size()));
++ if (bytes_read < 0) {
++ result = false;
++ break;
++ }
++ if (bytes_read == 0)
++ break;
++ // Allow for partial writes
++ ssize_t bytes_written_per_read = 0;
++ do {
++ ssize_t bytes_written_partial = HANDLE_EINTR(write(
++ outfile,
++ &buffer[bytes_written_per_read],
++ bytes_read - bytes_written_per_read));
++ if (bytes_written_partial < 0) {
++ result = false;
++ break;
++ }
++ bytes_written_per_read += bytes_written_partial;
++ } while (bytes_written_per_read < bytes_read);
++ }
++
++ if (HANDLE_EINTR(close(infile)) < 0)
++ result = false;
++ if (HANDLE_EINTR(close(outfile)) < 0)
++ result = false;
++
++ return result;
++}
++
++} // namespace file_util
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_file__util__bsd.cc.orig b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_file__util__bsd.cc.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_file__util__bsd.cc.orig
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_message__loop.cc b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_message__loop.cc
new file mode 100644
index 00000000000..b40ac45d4b3
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_message__loop.cc
@@ -0,0 +1,22 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_message__loop.cc,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/message_loop.cc.orig 2012-02-16 14:09:02.000000000 +0000
++++ mozilla/ipc/chromium/src/base/message_loop.cc
+@@ -19,7 +19,7 @@
+ #if defined(OS_POSIX)
+ #include "base/message_pump_libevent.h"
+ #endif
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #ifdef MOZ_WIDGET_GTK2
+ #include "base/message_pump_glib.h"
+ #endif
+@@ -119,7 +119,7 @@ MessageLoop::MessageLoop(Type type)
+ if (type_ == TYPE_UI) {
+ #if defined(OS_MACOSX)
+ pump_ = base::MessagePumpMac::Create();
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ pump_ = new base::MessagePumpForUI();
+ #endif // OS_LINUX
+ } else if (type_ == TYPE_IO) {
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_message__loop.cc.orig b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_message__loop.cc.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_message__loop.cc.orig
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_platform__thread.h b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_platform__thread.h
new file mode 100644
index 00000000000..3333ec5423a
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_platform__thread.h
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_platform__thread.h,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/platform_thread.h.orig 2012-02-16 14:09:02.000000000 +0000
++++ mozilla/ipc/chromium/src/base/platform_thread.h
+@@ -25,6 +25,8 @@ typedef pthread_t PlatformThreadHandle;
+ #if defined(OS_LINUX)
+ #include <unistd.h>
+ typedef pid_t PlatformThreadId;
++#elif defined(OS_FREEBSD) || defined(OS_DRAGONFLY) || defined (OS_NETBSD)
++typedef lwpid_t PlatformThreadId;
+ #elif defined(OS_MACOSX)
+ #include <mach/mach.h>
+ typedef mach_port_t PlatformThreadId;
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_platform__thread.h.orig b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_platform__thread.h.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_platform__thread.h.orig
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
new file mode 100644
index 00000000000..e8462699df6
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util.h
@@ -0,0 +1,45 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_process__util.h,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/process_util.h.orig 2012-02-16 14:09:02.000000000 +0000
++++ mozilla/ipc/chromium/src/base/process_util.h
+@@ -14,7 +14,6 @@
+ #include <windows.h>
+ #include <tlhelp32.h>
+ #elif defined(OS_LINUX)
+-#include <dirent.h>
+ #include <limits.h>
+ #include <sys/types.h>
+ #elif defined(OS_MACOSX)
+@@ -280,6 +279,7 @@ class NamedProcessIterator {
+ const ProcessEntry* NextProcessEntry();
+
+ private:
++#if !defined(OS_BSD)
+ // Determines whether there's another process (regardless of executable)
+ // left in the list of all processes. Returns true and sets entry_ to
+ // that process's info if there is one, false otherwise.
+@@ -292,18 +292,24 @@ class NamedProcessIterator {
+ void InitProcessEntry(ProcessEntry* entry);
+
+ std::wstring executable_name_;
++#endif
+
+ #if defined(OS_WIN)
+ HANDLE snapshot_;
+ bool started_iteration_;
+ #elif defined(OS_LINUX)
+ DIR *procfs_dir_;
++#elif defined(OS_BSD)
++ std::vector<ProcessEntry> content;
++ size_t nextEntry;
+ #elif defined(OS_MACOSX)
+ std::vector<kinfo_proc> kinfo_procs_;
+ size_t index_of_kinfo_proc_;
+ #endif
++#if !defined(OS_BSD)
+ ProcessEntry entry_;
+ const ProcessFilter* filter_;
++#endif
+
+ DISALLOW_EVIL_CONSTRUCTORS(NamedProcessIterator);
+ };
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util.h.orig b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util.h.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util.h.orig
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
new file mode 100644
index 00000000000..3088c383bc9
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc
@@ -0,0 +1,303 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/process_util_bsd.cc.orig 2012-03-09 13:13:25.000000000 +0000
++++ mozilla/ipc/chromium/src/base/process_util_bsd.cc
+@@ -0,0 +1,298 @@
++// Copyright (c) 2008 The Chromium Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++// derived from process_util_linux.cc and process_util_mac.cc
++
++// TODO: - add code for FreeBSD/DragonFly/MirBSD (?) to use kvm_getprocx
++
++#include "base/process_util.h"
++
++#include <ctype.h>
++#include <fcntl.h>
++#include <unistd.h>
++#include <string>
++#include <kvm.h>
++#include <sys/sysctl.h>
++#include <sys/types.h>
++#include <sys/wait.h>
++#if defined(OS_DRAGONFLY)
++#include <sys/user.h>
++#endif
++
++#include "base/debug_util.h"
++#include "base/eintr_wrapper.h"
++#include "base/file_util.h"
++#include "base/logging.h"
++#include "base/string_tokenizer.h"
++#include "base/string_util.h"
++
++#ifdef __NetBSD__
++#include <sys/param.h>
++#if __NetBSD_Version__ >= 600000000
++#define HAVE_POSIX_SPAWN 1
++#endif
++#endif
++
++#ifdef HAVE_POSIX_SPAWN
++#include <spawn.h>
++extern "C" char **environ __dso_public;
++#endif
++
++namespace {
++
++enum ParsingState {
++ KEY_NAME,
++ KEY_VALUE
++};
++
++static mozilla::EnvironmentLog gProcessLog("MOZ_PROCESS_LOG");
++
++} // namespace
++
++namespace base {
++
++#ifdef HAVE_POSIX_SPAWN
++
++void FreeEnvVarsArray(char* array[], int length)
++{
++ for (int i = 0; i < length; i++) {
++ free(array[i]);
++ }
++ delete[] array;
++}
++
++bool LaunchApp(const std::vector<std::string>& argv,
++ const file_handle_mapping_vector& fds_to_remap,
++ bool wait, ProcessHandle* process_handle) {
++ return LaunchApp(argv, fds_to_remap, environment_map(),
++ wait, process_handle);
++}
++
++bool LaunchApp(const std::vector<std::string>& argv,
++ const file_handle_mapping_vector& fds_to_remap,
++ const environment_map& env_vars_to_set,
++ bool wait, ProcessHandle* process_handle,
++ ProcessArchitecture arch) {
++ bool retval = true;
++
++ char* argv_copy[argv.size() + 1];
++ for (size_t i = 0; i < argv.size(); i++) {
++ argv_copy[i] = const_cast<char*>(argv[i].c_str());
++ }
++ argv_copy[argv.size()] = NULL;
++
++ // Make sure we don't leak any FDs to the child process by marking all FDs
++ // as close-on-exec.
++ SetAllFDsToCloseOnExec();
++
++ // Copy environment to a new char array and add the variables
++ // in env_vars_to_set.
++ // Existing variables are overwritten by env_vars_to_set.
++ int pos = 0;
++ environment_map combined_env_vars = env_vars_to_set;
++ while(environ[pos] != NULL) {
++ std::string varString = environ[pos];
++ std::string varName = varString.substr(0, varString.find_first_of('='));
++ std::string varValue = varString.substr(varString.find_first_of('=') + 1);
++ if (combined_env_vars.find(varName) == combined_env_vars.end()) {
++ combined_env_vars[varName] = varValue;
++ }
++ pos++;
++ }
++ int varsLen = combined_env_vars.size() + 1;
++
++ char** vars = new char*[varsLen];
++ int i = 0;
++ for (environment_map::const_iterator it = combined_env_vars.begin();
++ it != combined_env_vars.end(); ++it) {
++ std::string entry(it->first);
++ entry += "=";
++ entry += it->second;
++ vars[i] = strdup(entry.c_str());
++ i++;
++ }
++ vars[i] = NULL;
++
++ posix_spawn_file_actions_t file_actions;
++ if (posix_spawn_file_actions_init(&file_actions) != 0) {
++ FreeEnvVarsArray(vars, varsLen);
++ return false;
++ }
++
++ // Turn fds_to_remap array into a set of dup2 calls.
++ for (file_handle_mapping_vector::const_iterator it = fds_to_remap.begin();
++ it != fds_to_remap.end();
++ ++it) {
++ int src_fd = it->first;
++ int dest_fd = it->second;
++
++ if (src_fd == dest_fd) {
++ int flags = fcntl(src_fd, F_GETFD);
++ if (flags != -1) {
++ fcntl(src_fd, F_SETFD, flags & ~FD_CLOEXEC);
++ }
++ } else {
++ if (posix_spawn_file_actions_adddup2(&file_actions, src_fd, dest_fd) != 0) {
++ posix_spawn_file_actions_destroy(&file_actions);
++ FreeEnvVarsArray(vars, varsLen);
++ return false;
++ }
++ }
++ }
++
++ pid_t pid = 0;
++ int spawn_succeeded = (posix_spawnp(&pid,
++ argv_copy[0],
++ &file_actions,
++ NULL,
++ argv_copy,
++ vars) == 0);
++
++ FreeEnvVarsArray(vars, varsLen);
++
++ posix_spawn_file_actions_destroy(&file_actions);
++
++ bool process_handle_valid = pid > 0;
++ if (!spawn_succeeded || !process_handle_valid) {
++ retval = false;
++ } else {
++ if (wait)
++ HANDLE_EINTR(waitpid(pid, 0, 0));
++
++ if (process_handle)
++ *process_handle = pid;
++ }
++
++ return retval;
++}
++
++bool LaunchApp(const CommandLine& cl,
++ bool wait, bool start_hidden, ProcessHandle* process_handle) {
++ // TODO(playmobil): Do we need to respect the start_hidden flag?
++ file_handle_mapping_vector no_files;
++ return LaunchApp(cl.argv(), no_files, wait, process_handle);
++}
++
++#else // no posix_spawn, use fork/exec
++
++bool LaunchApp(const std::vector<std::string>& argv,
++ const file_handle_mapping_vector& fds_to_remap,
++ bool wait, ProcessHandle* process_handle) {
++ return LaunchApp(argv, fds_to_remap, environment_map(),
++ wait, process_handle);
++}
++
++bool LaunchApp(const std::vector<std::string>& argv,
++ const file_handle_mapping_vector& fds_to_remap,
++ const environment_map& env_vars_to_set,
++ bool wait, ProcessHandle* process_handle,
++ ProcessArchitecture arch) {
++ scoped_array<char*> argv_cstr(new char*[argv.size() + 1]);
++ // Illegal to allocate memory after fork and before execvp
++ InjectiveMultimap fd_shuffle1, fd_shuffle2;
++ fd_shuffle1.reserve(fds_to_remap.size());
++ fd_shuffle2.reserve(fds_to_remap.size());
++
++ pid_t pid = fork();
++ if (pid < 0)
++ return false;
++
++ if (pid == 0) {
++ for (file_handle_mapping_vector::const_iterator
++ it = fds_to_remap.begin(); it != fds_to_remap.end(); ++it) {
++ fd_shuffle1.push_back(InjectionArc(it->first, it->second, false));
++ fd_shuffle2.push_back(InjectionArc(it->first, it->second, false));
++ }
++
++ if (!ShuffleFileDescriptors(&fd_shuffle1))
++ _exit(127);
++
++ CloseSuperfluousFds(fd_shuffle2);
++
++ for (environment_map::const_iterator it = env_vars_to_set.begin();
++ it != env_vars_to_set.end(); ++it) {
++ if (setenv(it->first.c_str(), it->second.c_str(), 1/*overwrite*/))
++ _exit(127);
++ }
++
++ for (size_t i = 0; i < argv.size(); i++)
++ argv_cstr[i] = const_cast<char*>(argv[i].c_str());
++ argv_cstr[argv.size()] = NULL;
++ execvp(argv_cstr[0], argv_cstr.get());
++ // if we get here, we're in serious trouble and should complain loudly
++ DLOG(ERROR) << "FAILED TO exec() CHILD PROCESS, path: " << argv_cstr[0];
++ exit(127);
++ } else {
++ gProcessLog.print("==> process %d launched child process %d\n",
++ GetCurrentProcId(), pid);
++ if (wait)
++ HANDLE_EINTR(waitpid(pid, 0, 0));
++
++ if (process_handle)
++ *process_handle = pid;
++ }
++
++ return true;
++}
++
++bool LaunchApp(const CommandLine& cl,
++ bool wait, bool start_hidden,
++ ProcessHandle* process_handle) {
++ file_handle_mapping_vector no_files;
++ return LaunchApp(cl.argv(), no_files, wait, process_handle);
++}
++
++#endif
++
++NamedProcessIterator::NamedProcessIterator(const std::wstring& executable_name,
++ const ProcessFilter* filter)
++{
++ int numEntries;
++ kvm_t *kvm;
++ std::string exe(WideToASCII(executable_name));
++
++#if defined(OS_DRAGONFLY)
++ kvm = kvm_open(NULL, NULL, NULL, O_RDONLY, NULL);
++ struct kinfo_proc* procs = kvm_getprocs(kvm, KERN_PROC_UID, getuid(), &numEntries);
++ if (procs != NULL && numEntries > 0) {
++ for (int i = 0; i < numEntries; i++) {
++ if (exe != procs[i].kp_comm) continue;
++ if (filter && !filter->Includes(procs[i].kp_pid, procs[i].kp_ppid)) continue;
++ ProcessEntry e;
++ e.pid = procs[i].kp_pid;
++ e.ppid = procs[i].kp_ppid;
++ strlcpy(e.szExeFile, procs[i].kp_comm, sizeof e.szExeFile);
++ content.push_back(e);
++#else
++ kvm = kvm_open(NULL, NULL, NULL, KVM_NO_FILES, NULL);
++ struct kinfo_proc2* procs = kvm_getproc2(kvm, KERN_PROC_UID, getuid(), sizeof(struct kinfo_proc2), &numEntries);
++ if (procs != NULL && numEntries > 0) {
++ for (int i = 0; i < numEntries; i++) {
++ if (exe != procs[i].p_comm) continue;
++ if (filter && !filter->Includes(procs[i].p_pid, procs[i].p_ppid)) continue;
++ ProcessEntry e;
++ e.pid = procs[i].p_pid;
++ e.ppid = procs[i].p_ppid;
++ strlcpy(e.szExeFile, procs[i].p_comm, sizeof e.szExeFile);
++ content.push_back(e);
++#endif
++ }
++ }
++ nextEntry = 0;
++ kvm_close(kvm);
++}
++
++NamedProcessIterator::~NamedProcessIterator() {
++}
++
++const ProcessEntry* NamedProcessIterator::NextProcessEntry() {
++ if (nextEntry >= content.size()) return NULL;
++ return &content[nextEntry++];
++}
++
++bool ProcessMetrics::GetIOCounters(IoCounters* io_counters) const {
++ return false;
++}
++
++} // namespace base
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc.orig b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util__bsd.cc.orig
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util__posix.cc b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util__posix.cc
new file mode 100644
index 00000000000..87bf374290e
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util__posix.cc
@@ -0,0 +1,25 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_process__util__posix.cc,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/process_util_posix.cc.orig 2012-02-16 14:09:02.000000000 +0000
++++ mozilla/ipc/chromium/src/base/process_util_posix.cc
+@@ -116,6 +116,11 @@ void CloseSuperfluousFds(const base::Inj
+ #elif defined(OS_MACOSX)
+ static const rlim_t kSystemDefaultMaxFds = 256;
+ static const char kFDDir[] = "/dev/fd";
++#elif defined(OS_BSD)
++ // the getrlimit below should never fail, so whatever ..
++ static const rlim_t kSystemDefaultMaxFds = 1024;
++ // at least /dev/fd will exist
++ static const char kFDDir[] = "/dev/fd";
+ #endif
+
+ // Get the maximum number of FDs possible.
+@@ -199,7 +204,7 @@ void CloseSuperfluousFds(const base::Inj
+ void SetAllFDsToCloseOnExec() {
+ #if defined(OS_LINUX)
+ const char fd_dir[] = "/proc/self/fd";
+-#elif defined(OS_MACOSX)
++#elif defined(OS_MACOSX) || defined(OS_BSD)
+ const char fd_dir[] = "/dev/fd";
+ #endif
+ ScopedDIR dir_closer(opendir(fd_dir));
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util__posix.cc.orig b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util__posix.cc.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_process__util__posix.cc.orig
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_third__party_nspr_prtime.cc b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_third__party_nspr_prtime.cc
new file mode 100644
index 00000000000..2bcb0966555
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_third__party_nspr_prtime.cc
@@ -0,0 +1,38 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_base_third__party_nspr_prtime.cc,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/base/third_party/nspr/prtime.cc.orig 2012-02-16 14:09:02.000000000 +0000
++++ mozilla/ipc/chromium/src/base/third_party/nspr/prtime.cc
+@@ -212,7 +212,7 @@ PR_ImplodeTime(const PRExplodedTime *exp
+ LL_ADD(retVal, retVal, temp);
+
+ return retVal;
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_DRAGONFLY)
+ struct tm exp_tm = {0};
+ exp_tm.tm_sec = exploded->tm_sec;
+ exp_tm.tm_min = exploded->tm_min;
+@@ -245,6 +245,24 @@ PR_ImplodeTime(const PRExplodedTime *exp
+ result *= kSecondsToMicroseconds;
+ result += exploded->tm_usec;
+ return result;
++#elif defined(OS_FREEBSD) || defined(OS_NETBSD)
++ struct tm exp_tm = {0};
++ exp_tm.tm_sec = exploded->tm_sec;
++ exp_tm.tm_min = exploded->tm_min;
++ exp_tm.tm_hour = exploded->tm_hour;
++ exp_tm.tm_mday = exploded->tm_mday;
++ exp_tm.tm_mon = exploded->tm_month;
++ exp_tm.tm_year = exploded->tm_year - 1900;
++
++ // time_t is 64bit
++ time_t absolute_time = timegm(&exp_tm);
++
++ PRTime result = static_cast<PRTime>(absolute_time);
++ result -= exploded->tm_params.tp_gmt_offset +
++ exploded->tm_params.tp_dst_offset;
++ result *= kSecondsToMicroseconds;
++ result += exploded->tm_usec;
++ return result;
+ #else
+ #error No PR_ImplodeTime implemented on your platform.
+ #endif
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_third__party_nspr_prtime.cc.orig b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_third__party_nspr_prtime.cc.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_base_third__party_nspr_prtime.cc.orig
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_chrome_common_ipc__message__utils.h b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_chrome_common_ipc__message__utils.h
new file mode 100644
index 00000000000..56bfea7718f
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_chrome_common_ipc__message__utils.h
@@ -0,0 +1,22 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_chrome_common_ipc__message__utils.h,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/chrome/common/ipc_message_utils.h.orig 2012-02-16 14:09:02.000000000 +0000
++++ mozilla/ipc/chromium/src/chrome/common/ipc_message_utils.h
+@@ -195,7 +195,7 @@ struct ParamTraits<unsigned long long> {
+ };
+ #endif
+
+-#if !(defined(OS_MACOSX) || defined(OS_OPENBSD) || defined(OS_WIN) || (defined(OS_LINUX) && defined(ARCH_CPU_64_BITS)) || defined(ARCH_CPU_S390))
++#if !(defined(OS_MACOSX) || defined(OS_OPENBSD) || defined(OS_WIN) || ((defined(OS_FREEBSD) || defined(OS_DRAGONFLY) || defined(OS_NETBSD) || defined(OS_LINUX)) && defined(ARCH_CPU_64_BITS)) || defined(ARCH_CPU_S390))
+ // There size_t is a synonym for |unsigned long| ...
+ template <>
+ struct ParamTraits<size_t> {
+@@ -248,7 +248,7 @@ struct ParamTraits<uint32> {
+ };
+ #endif // defined(OS_MACOSX)
+
+-#if !(defined(OS_LINUX) && defined(ARCH_CPU_64_BITS))
++#if !((defined(OS_FREEBSD) || defined(OS_DRAGONFLY) || defined(OS_NETBSD) || defined(OS_LINUX)) && defined(ARCH_CPU_64_BITS))
+ // int64 is |long int| on 64-bit systems, uint64 is |unsigned long|
+ template <>
+ struct ParamTraits<int64> {
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_chrome_common_ipc__message__utils.h.orig b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_chrome_common_ipc__message__utils.h.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_chrome_common_ipc__message__utils.h.orig
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_chrome_common_transport__dib.h b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_chrome_common_transport__dib.h
new file mode 100644
index 00000000000..4122bba59d0
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_chrome_common_transport__dib.h
@@ -0,0 +1,31 @@
+$NetBSD: patch-mozilla_ipc_chromium_src_chrome_common_transport__dib.h,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/ipc/chromium/src/chrome/common/transport_dib.h.orig 2012-02-16 14:09:03.000000000 +0000
++++ mozilla/ipc/chromium/src/chrome/common/transport_dib.h
+@@ -7,7 +7,7 @@
+
+ #include "base/basictypes.h"
+
+-#if defined(OS_WIN) || defined(OS_MACOSX)
++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_BSD)
+ #include "base/shared_memory.h"
+ #endif
+
+@@ -66,7 +66,7 @@ class TransportDIB {
+ uint32 sequence_num;
+ };
+ typedef HandleAndSequenceNum Id;
+-#elif defined(OS_MACOSX)
++#elif defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_BSD)
+ typedef base::SharedMemoryHandle Handle;
+ // On Mac, the inode number of the backing file is used as an id.
+ typedef base::SharedMemoryId Id;
+@@ -108,7 +108,7 @@ class TransportDIB {
+
+ private:
+ TransportDIB();
+-#if defined(OS_WIN) || defined(OS_MACOSX)
++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_BSD)
+ explicit TransportDIB(base::SharedMemoryHandle dib);
+ base::SharedMemory shared_memory_;
+ uint32 sequence_num_;
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_chrome_common_transport__dib.h.orig b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_chrome_common_transport__dib.h.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_chromium_src_chrome_common_transport__dib.h.orig
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp b/www/seamonkey/patches/patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp
new file mode 100644
index 00000000000..6e4ab653351
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp
@@ -0,0 +1,42 @@
+$NetBSD: patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/ipc/glue/GeckoChildProcessHost.cpp.orig 2012-02-16 14:09:03.000000000 +0000
++++ mozilla/ipc/glue/GeckoChildProcessHost.cpp
+@@ -430,7 +430,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
+ // and passing wstrings from one config to the other is unsafe. So
+ // we split the logic here.
+
+-#if defined(OS_LINUX) || defined(OS_MACOSX)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
+ base::environment_map newEnvVars;
+ // XPCOM may not be initialized in some subprocesses. We don't want
+ // to initialize XPCOM just for the directory service, especially
+@@ -445,8 +445,8 @@ GeckoChildProcessHost::PerformAsyncLaunc
+ if (NS_SUCCEEDED(rv)) {
+ nsCString path;
+ greDir->GetNativePath(path);
+-# ifdef OS_LINUX
+-# ifdef ANDROID
++# if defined(OS_LINUX) || defined(OS_BSD)
++# if defined(ANDROID) || defined(OS_BSD)
+ path += "/lib";
+ # endif // ANDROID
+ const char *ld_library_path = PR_GetEnv("LD_LIBRARY_PATH");
+@@ -557,7 +557,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
+ childArgv.push_back(pidstring);
+
+ #if defined(MOZ_CRASHREPORTER)
+-# if defined(OS_LINUX)
++# if defined(OS_LINUX) || defined(OS_BSD)
+ int childCrashFd, childCrashRemapFd;
+ if (!CrashReporter::CreateNotificationPipeForChild(
+ &childCrashFd, &childCrashRemapFd))
+@@ -594,7 +594,7 @@ GeckoChildProcessHost::PerformAsyncLaunc
+ #endif
+
+ base::LaunchApp(childArgv, mFileMap,
+-#if defined(OS_LINUX) || defined(OS_MACOSX)
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
+ newEnvVars,
+ #endif
+ false, &process, arch);
diff --git a/www/seamonkey/patches/patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp.orig b/www/seamonkey/patches/patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_ipc_glue_GeckoChildProcessHost.cpp.orig
diff --git a/www/seamonkey/patches/patch-mozilla_js_src_build_autoconf_gcc-pr49911.m4 b/www/seamonkey/patches/patch-mozilla_js_src_build_autoconf_gcc-pr49911.m4
new file mode 100644
index 00000000000..ead2a4fec34
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_js_src_build_autoconf_gcc-pr49911.m4
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_js_src_build_autoconf_gcc-pr49911.m4,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/js/src/build/autoconf/gcc-pr49911.m4.orig 2012-02-16 14:09:03.000000000 +0000
++++ mozilla/js/src/build/autoconf/gcc-pr49911.m4
+@@ -56,7 +56,7 @@ CXXFLAGS="$_SAVE_CXXFLAGS"
+
+ AC_LANG_RESTORE
+
+-if test "$ac_have_gcc_pr49911" == "yes"; then
++if test "$ac_have_gcc_pr49911" = "yes"; then
+ AC_MSG_RESULT(yes)
+ CFLAGS="$CFLAGS -fno-tree-vrp"
+ CXXFLAGS="$CXXFLAGS -fno-tree-vrp"
diff --git a/www/seamonkey/patches/patch-mozilla_js_src_build_autoconf_gcc-pr49911.m4.orig b/www/seamonkey/patches/patch-mozilla_js_src_build_autoconf_gcc-pr49911.m4.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_js_src_build_autoconf_gcc-pr49911.m4.orig
diff --git a/www/seamonkey/patches/patch-mozilla_js_src_configure b/www/seamonkey/patches/patch-mozilla_js_src_configure
new file mode 100644
index 00000000000..2a05ca27bff
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_js_src_configure
@@ -0,0 +1,22 @@
+$NetBSD: patch-mozilla_js_src_configure,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/js/src/configure.orig 2012-02-16 14:10:22.000000000 +0000
++++ mozilla/js/src/configure
+@@ -3411,7 +3411,7 @@ fi
+
+ echo "$ac_t""$ac_cv_have_std__Throw" 1>&6
+
+- if test "$ac_cv_have_std__Throw" == "yes"; then
++ if test "$ac_cv_have_std__Throw" = "yes"; then
+ echo $ac_n "checking for |class __declspec(dllimport) exception| bug""... $ac_c" 1>&6
+ echo "configure:3417: checking for |class __declspec(dllimport) exception| bug" >&5
+ if eval "test \"`echo '$''{'ac_cv_have_dllimport_exception_bug'+set}'`\" = set"; then
+@@ -9325,7 +9325,7 @@ ac_link='${CC-cc} -o conftest${ac_exeext
+ cross_compiling=$ac_cv_prog_cc_cross
+
+
+-if test "$ac_have_gcc_pr49911" == "yes"; then
++if test "$ac_have_gcc_pr49911" = "yes"; then
+ echo "$ac_t""yes" 1>&6
+ CFLAGS="$CFLAGS -fno-tree-vrp"
+ CXXFLAGS="$CXXFLAGS -fno-tree-vrp"
diff --git a/www/seamonkey/patches/patch-mozilla_js_src_configure.orig b/www/seamonkey/patches/patch-mozilla_js_src_configure.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_js_src_configure.orig
diff --git a/www/seamonkey/patches/patch-mozilla_js_src_jscpucfg.h b/www/seamonkey/patches/patch-mozilla_js_src_jscpucfg.h
new file mode 100644
index 00000000000..eb798ebdd07
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_js_src_jscpucfg.h
@@ -0,0 +1,26 @@
+$NetBSD: patch-mozilla_js_src_jscpucfg.h,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/js/src/jscpucfg.h.orig 2012-02-16 14:09:06.000000000 +0000
++++ mozilla/js/src/jscpucfg.h
+@@ -77,6 +77,21 @@
+ #define IS_BIG_ENDIAN 1
+ #endif
+
++#elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__MirBSD__) || defined(__DragonFly__)
++#include <sys/endian.h>
++
++#if defined(_BYTE_ORDER)
++#if _BYTE_ORDER == _LITTLE_ENDIAN
++#define IS_LITTLE_ENDIAN 1
++#undef IS_BIG_ENDIAN
++#elif _BYTE_ORDER == _BIG_ENDIAN
++#undef IS_LITTLE_ENDIAN
++#define IS_BIG_ENDIAN 1
++#endif
++#else /* !defined(_BYTE_ORDER) */
++#error "sys/endian.h does not define _BYTE_ORDER. Cannot determine endianness."
++#endif
++
+ #elif defined(JS_HAVE_ENDIAN_H)
+ #include <endian.h>
+
diff --git a/www/seamonkey/patches/patch-mozilla_js_src_jscpucfg.h.orig b/www/seamonkey/patches/patch-mozilla_js_src_jscpucfg.h.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_js_src_jscpucfg.h.orig
diff --git a/www/seamonkey/patches/patch-mozilla_js_src_methodjit_MethodJIT.cpp b/www/seamonkey/patches/patch-mozilla_js_src_methodjit_MethodJIT.cpp
new file mode 100644
index 00000000000..48210049b23
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_js_src_methodjit_MethodJIT.cpp
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_js_src_methodjit_MethodJIT.cpp,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/js/src/methodjit/MethodJIT.cpp.orig 2012-02-16 14:09:07.000000000 +0000
++++ mozilla/js/src/methodjit/MethodJIT.cpp
+@@ -171,7 +171,7 @@ SetVMFrameRegs(VMFrame &f)
+
+ JS_STATIC_ASSERT(offsetof(FrameRegs, sp) == 0);
+
+-#if defined(__linux__) && defined(JS_CPU_X64)
++#if defined(__ELF__) && defined(JS_CPU_X64)
+ # define SYMBOL_STRING_RELOC(name) #name "@plt"
+ #else
+ # define SYMBOL_STRING_RELOC(name) SYMBOL_STRING(name)
diff --git a/www/seamonkey/patches/patch-mozilla_js_src_methodjit_MethodJIT.cpp.orig b/www/seamonkey/patches/patch-mozilla_js_src_methodjit_MethodJIT.cpp.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_js_src_methodjit_MethodJIT.cpp.orig
diff --git a/www/seamonkey/patches/patch-mozilla_js_src_yarr_pcre_pcre.h b/www/seamonkey/patches/patch-mozilla_js_src_yarr_pcre_pcre.h
new file mode 100644
index 00000000000..6de557699b7
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_js_src_yarr_pcre_pcre.h
@@ -0,0 +1,14 @@
+$NetBSD: patch-mozilla_js_src_yarr_pcre_pcre.h,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/js/src/yarr/pcre/pcre.h.orig 2012-02-16 14:09:11.000000000 +0000
++++ mozilla/js/src/yarr/pcre/pcre.h
+@@ -46,7 +46,9 @@ POSSIBILITY OF SUCH DAMAGE.
+ #include "assembler/wtf/Platform.h"
+ #include "jsstr.h"
+ #include "jsprvtd.h"
++#if ENABLE_ASSEMBLER
+ #include "jstl.h"
++#endif
+
+ typedef jschar UChar;
+ typedef JSLinearString UString;
diff --git a/www/seamonkey/patches/patch-mozilla_js_src_yarr_pcre_pcre.h.orig b/www/seamonkey/patches/patch-mozilla_js_src_yarr_pcre_pcre.h.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_js_src_yarr_pcre_pcre.h.orig
diff --git a/www/seamonkey/patches/patch-mozilla_media_libvpx_vpx_config.h b/www/seamonkey/patches/patch-mozilla_media_libvpx_vpx_config.h
index c9aa4c34309..7aa9234f44e 100644
--- a/www/seamonkey/patches/patch-mozilla_media_libvpx_vpx_config.h
+++ b/www/seamonkey/patches/patch-mozilla_media_libvpx_vpx_config.h
@@ -1,18 +1,21 @@
-$NetBSD: patch-mozilla_media_libvpx_vpx_config.h,v 1.1 2012/01/07 20:44:32 marino Exp $
+$NetBSD: patch-mozilla_media_libvpx_vpx_config.h,v 1.2 2012/03/10 03:26:06 ryoon Exp $
---- mozilla/media/libvpx/vpx_config.h.orig 2011-11-07 21:08:15.000000000 +0000
+--- mozilla/media/libvpx/vpx_config.h.orig 2012-02-16 14:09:23.000000000 +0000
+++ mozilla/media/libvpx/vpx_config.h
-@@ -12,11 +12,11 @@
+@@ -12,12 +12,12 @@
/* 32 bit MacOS. */
#include "vpx_config_x86-darwin9-gcc.h"
-#elif defined(__linux__) && defined(__i386__)
-+#elif (defined(__linux__) || defined(__DragonFly__)) && defined(__i386__)
- /* 32 bit Linux. */
+-/* 32 bit Linux. */
++#elif (defined(__linux__) | defined(__DragonFly__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__MirBSD__)) && defined(__i386__)
++/* 32 bit Linux or some BSD. */
#include "vpx_config_x86-linux-gcc.h"
-#elif defined(__linux__) && defined(__x86_64__)
-+#elif (defined(__linux__) || defined(__DragonFly__)) && defined(__x86_64__)
- /* 64 bit Linux. */
+-/* 64 bit Linux. */
++#elif (defined(__linux__) | defined(__DragonFly__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__MirBSD__)) && defined(__x86_64__)
++/* 64 bit Linux or some BSD. */
#include "vpx_config_x86_64-linux-gcc.h"
+ #elif defined(__sun) && defined(__i386)
diff --git a/www/seamonkey/patches/patch-mozilla_media_libvpx_vpx_config.h.orig b/www/seamonkey/patches/patch-mozilla_media_libvpx_vpx_config.h.orig
new file mode 100644
index 00000000000..f864784508c
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_media_libvpx_vpx_config.h.orig
@@ -0,0 +1,18 @@
+$NetBSD: patch-mozilla_media_libvpx_vpx_config.h.orig,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/media/libvpx/vpx_config.h.orig 2011-11-07 21:08:15.000000000 +0000
++++ mozilla/media/libvpx/vpx_config.h
+@@ -12,11 +12,11 @@
+ /* 32 bit MacOS. */
+ #include "vpx_config_x86-darwin9-gcc.h"
+
+-#elif defined(__linux__) && defined(__i386__)
++#elif (defined(__linux__) || defined(__DragonFly__)) && defined(__i386__)
+ /* 32 bit Linux. */
+ #include "vpx_config_x86-linux-gcc.h"
+
+-#elif defined(__linux__) && defined(__x86_64__)
++#elif (defined(__linux__) || defined(__DragonFly__)) && defined(__x86_64__)
+ /* 64 bit Linux. */
+ #include "vpx_config_x86_64-linux-gcc.h"
+
diff --git a/www/seamonkey/patches/patch-mozilla_media_libvpx_vpx_config_c.c b/www/seamonkey/patches/patch-mozilla_media_libvpx_vpx_config_c.c
index 0b0569a7764..b985f5026e6 100644
--- a/www/seamonkey/patches/patch-mozilla_media_libvpx_vpx_config_c.c
+++ b/www/seamonkey/patches/patch-mozilla_media_libvpx_vpx_config_c.c
@@ -1,18 +1,21 @@
-$NetBSD: patch-mozilla_media_libvpx_vpx_config_c.c,v 1.1 2012/01/07 20:44:32 marino Exp $
+$NetBSD: patch-mozilla_media_libvpx_vpx_config_c.c,v 1.2 2012/03/10 03:26:06 ryoon Exp $
---- mozilla/media/libvpx/vpx_config_c.c.orig 2011-11-07 21:08:15.000000000 +0000
+--- mozilla/media/libvpx/vpx_config_c.c.orig 2012-02-16 14:09:23.000000000 +0000
+++ mozilla/media/libvpx/vpx_config_c.c
-@@ -12,11 +12,11 @@
+@@ -12,12 +12,12 @@
/* 32 bit MacOS. */
#include "vpx_config_x86-darwin9-gcc.c"
-#elif defined(__linux__) && defined(__i386__)
-+#elif (defined(__linux__) || defined(__DragonFly__)) && defined(__i386__)
- /* 32 bit Linux. */
+-/* 32 bit Linux. */
++#elif (defined(__linux__) | defined(__DragonFly__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__MirBSD__)) && defined(__i386__)
++/* 32 bit Linux or BSD. */
#include "vpx_config_x86-linux-gcc.c"
-#elif defined(__linux__) && defined(__x86_64__)
-+#elif (defined(__linux__) || defined(__DragonFly__)) && defined(__x86_64__)
- /* 64 bit Linux. */
+-/* 64 bit Linux. */
++#elif (defined(__linux__) | defined(__DragonFly__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__MirBSD__)) && defined(__x86_64__)
++/* 64 bit Linux or BSD. */
#include "vpx_config_x86_64-linux-gcc.c"
+ #elif defined(__sun) && defined(__i386)
diff --git a/www/seamonkey/patches/patch-mozilla_media_libvpx_vpx_config_c.c.orig b/www/seamonkey/patches/patch-mozilla_media_libvpx_vpx_config_c.c.orig
new file mode 100644
index 00000000000..9a0c01d9181
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_media_libvpx_vpx_config_c.c.orig
@@ -0,0 +1,18 @@
+$NetBSD: patch-mozilla_media_libvpx_vpx_config_c.c.orig,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/media/libvpx/vpx_config_c.c.orig 2011-11-07 21:08:15.000000000 +0000
++++ mozilla/media/libvpx/vpx_config_c.c
+@@ -12,11 +12,11 @@
+ /* 32 bit MacOS. */
+ #include "vpx_config_x86-darwin9-gcc.c"
+
+-#elif defined(__linux__) && defined(__i386__)
++#elif (defined(__linux__) || defined(__DragonFly__)) && defined(__i386__)
+ /* 32 bit Linux. */
+ #include "vpx_config_x86-linux-gcc.c"
+
+-#elif defined(__linux__) && defined(__x86_64__)
++#elif (defined(__linux__) || defined(__DragonFly__)) && defined(__x86_64__)
+ /* 64 bit Linux. */
+ #include "vpx_config_x86_64-linux-gcc.c"
+
diff --git a/www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md___dragonfly.cfg b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md___dragonfly.cfg
new file mode 100644
index 00000000000..5c50f7cae9b
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md___dragonfly.cfg
@@ -0,0 +1,199 @@
+$NetBSD: patch-mozilla_nsprpub_pr_include_md___dragonfly.cfg,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/nsprpub/pr/include/md/_dragonfly.cfg.orig 2012-03-09 13:13:26.000000000 +0000
++++ mozilla/nsprpub/pr/include/md/_dragonfly.cfg
+@@ -0,0 +1,194 @@
++/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
++/* ***** BEGIN LICENSE BLOCK *****
++ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
++ *
++ * The contents of this file are subject to the Mozilla Public License Version
++ * 1.1 (the "License"); you may not use this file except in compliance with
++ * the License. You may obtain a copy of the License at
++ * http://www.mozilla.org/MPL/
++ *
++ * Software distributed under the License is distributed on an "AS IS" basis,
++ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
++ * for the specific language governing rights and limitations under the
++ * License.
++ *
++ * The Original Code is the Netscape Portable Runtime (NSPR).
++ *
++ * The Initial Developer of the Original Code is
++ * Netscape Communications Corporation.
++ * Portions created by the Initial Developer are Copyright (C) 1998-2000
++ * the Initial Developer. All Rights Reserved.
++ *
++ * Contributor(s):
++ *
++ * Alternatively, the contents of this file may be used under the terms of
++ * either the GNU General Public License Version 2 or later (the "GPL"), or
++ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
++ * in which case the provisions of the GPL or the LGPL are applicable instead
++ * of those above. If you wish to allow use of your version of this file only
++ * under the terms of either the GPL or the LGPL, and not to allow others to
++ * use your version of this file under the terms of the MPL, indicate your
++ * decision by deleting the provisions above and replace them with the notice
++ * and other provisions required by the GPL or the LGPL. If you do not delete
++ * the provisions above, a recipient may use your version of this file under
++ * the terms of any one of the MPL, the GPL or the LGPL.
++ *
++ * ***** END LICENSE BLOCK ***** */
++
++#ifndef nspr_cpucfg___
++#define nspr_cpucfg___
++
++#ifndef XP_UNIX
++#define XP_UNIX
++#endif
++
++#define PR_AF_INET6 28 /* same as AF_INET6 */
++
++#ifndef HAVE_LONG_LONG
++#define HAVE_LONG_LONG
++#endif
++
++#if defined(__i386__)
++
++#define IS_LITTLE_ENDIAN 1
++#undef IS_BIG_ENDIAN
++#undef HAVE_ALIGNED_DOUBLES
++#undef HAVE_ALIGNED_LONGLONGS
++
++#define PR_BYTES_PER_BYTE 1
++#define PR_BYTES_PER_SHORT 2
++#define PR_BYTES_PER_INT 4
++#define PR_BYTES_PER_INT64 8
++#define PR_BYTES_PER_LONG 4
++#define PR_BYTES_PER_FLOAT 4
++#define PR_BYTES_PER_DOUBLE 8
++#define PR_BYTES_PER_WORD 4
++#define PR_BYTES_PER_DWORD 8
++#define PR_BYTES_PER_WORD_LOG2 2
++#define PR_BYTES_PER_DWORD_LOG2 3
++
++#define PR_BITS_PER_BYTE 8
++#define PR_BITS_PER_SHORT 16
++#define PR_BITS_PER_INT 32
++#define PR_BITS_PER_INT64 64
++#define PR_BITS_PER_LONG 32
++#define PR_BITS_PER_FLOAT 32
++#define PR_BITS_PER_DOUBLE 64
++#define PR_BITS_PER_WORD 32
++
++#define PR_BITS_PER_BYTE_LOG2 3
++#define PR_BITS_PER_SHORT_LOG2 4
++#define PR_BITS_PER_INT_LOG2 5
++#define PR_BITS_PER_INT64_LOG2 6
++#define PR_BITS_PER_LONG_LOG2 5
++#define PR_BITS_PER_FLOAT_LOG2 5
++#define PR_BITS_PER_DOUBLE_LOG2 6
++#define PR_BITS_PER_WORD_LOG2 5
++
++#define PR_ALIGN_OF_SHORT 2
++#define PR_ALIGN_OF_INT 4
++#define PR_ALIGN_OF_LONG 4
++#define PR_ALIGN_OF_INT64 4
++#define PR_ALIGN_OF_FLOAT 4
++#define PR_ALIGN_OF_DOUBLE 4
++#define PR_ALIGN_OF_POINTER 4
++
++#elif defined(__amd64__)
++
++#define IS_LITTLE_ENDIAN 1
++#undef IS_BIG_ENDIAN
++#define HAVE_ALIGNED_DOUBLES
++#define HAVE_ALIGNED_LONGLONGS
++#define IS_64
++
++#define PR_BYTES_PER_BYTE 1
++#define PR_BYTES_PER_SHORT 2
++#define PR_BYTES_PER_INT 4
++#define PR_BYTES_PER_INT64 8
++#define PR_BYTES_PER_LONG 8
++#define PR_BYTES_PER_FLOAT 4
++#define PR_BYTES_PER_DOUBLE 8
++#define PR_BYTES_PER_WORD 8
++#define PR_BYTES_PER_DWORD 8
++#define PR_BYTES_PER_WORD_LOG2 3
++#define PR_BYTES_PER_DWORD_LOG2 3
++
++#define PR_BITS_PER_BYTE 8
++#define PR_BITS_PER_SHORT 16
++#define PR_BITS_PER_INT 32
++#define PR_BITS_PER_INT64 64
++#define PR_BITS_PER_LONG 64
++#define PR_BITS_PER_FLOAT 32
++#define PR_BITS_PER_DOUBLE 64
++#define PR_BITS_PER_WORD 64
++
++#define PR_BITS_PER_BYTE_LOG2 3
++#define PR_BITS_PER_SHORT_LOG2 4
++#define PR_BITS_PER_INT_LOG2 5
++#define PR_BITS_PER_INT64_LOG2 6
++#define PR_BITS_PER_LONG_LOG2 6
++#define PR_BITS_PER_FLOAT_LOG2 5
++#define PR_BITS_PER_DOUBLE_LOG2 6
++#define PR_BITS_PER_WORD_LOG2 6
++
++#define PR_ALIGN_OF_SHORT 2
++#define PR_ALIGN_OF_INT 4
++#define PR_ALIGN_OF_LONG 8
++#define PR_ALIGN_OF_INT64 8
++#define PR_ALIGN_OF_FLOAT 4
++#define PR_ALIGN_OF_DOUBLE 8
++#define PR_ALIGN_OF_POINTER 8
++#define PR_ALIGN_OF_WORD 8
++
++#else
++
++#error "Unknown CPU architecture"
++
++#endif
++
++#ifndef NO_NSPR_10_SUPPORT
++
++#define BYTES_PER_BYTE PR_BYTES_PER_BYTE
++#define BYTES_PER_SHORT PR_BYTES_PER_SHORT
++#define BYTES_PER_INT PR_BYTES_PER_INT
++#define BYTES_PER_INT64 PR_BYTES_PER_INT64
++#define BYTES_PER_LONG PR_BYTES_PER_LONG
++#define BYTES_PER_FLOAT PR_BYTES_PER_FLOAT
++#define BYTES_PER_DOUBLE PR_BYTES_PER_DOUBLE
++#define BYTES_PER_WORD PR_BYTES_PER_WORD
++#define BYTES_PER_DWORD PR_BYTES_PER_DWORD
++
++#define BITS_PER_BYTE PR_BITS_PER_BYTE
++#define BITS_PER_SHORT PR_BITS_PER_SHORT
++#define BITS_PER_INT PR_BITS_PER_INT
++#define BITS_PER_INT64 PR_BITS_PER_INT64
++#define BITS_PER_LONG PR_BITS_PER_LONG
++#define BITS_PER_FLOAT PR_BITS_PER_FLOAT
++#define BITS_PER_DOUBLE PR_BITS_PER_DOUBLE
++#define BITS_PER_WORD PR_BITS_PER_WORD
++
++#define BITS_PER_BYTE_LOG2 PR_BITS_PER_BYTE_LOG2
++#define BITS_PER_SHORT_LOG2 PR_BITS_PER_SHORT_LOG2
++#define BITS_PER_INT_LOG2 PR_BITS_PER_INT_LOG2
++#define BITS_PER_INT64_LOG2 PR_BITS_PER_INT64_LOG2
++#define BITS_PER_LONG_LOG2 PR_BITS_PER_LONG_LOG2
++#define BITS_PER_FLOAT_LOG2 PR_BITS_PER_FLOAT_LOG2
++#define BITS_PER_DOUBLE_LOG2 PR_BITS_PER_DOUBLE_LOG2
++#define BITS_PER_WORD_LOG2 PR_BITS_PER_WORD_LOG2
++
++#define ALIGN_OF_SHORT PR_ALIGN_OF_SHORT
++#define ALIGN_OF_INT PR_ALIGN_OF_INT
++#define ALIGN_OF_LONG PR_ALIGN_OF_LONG
++#define ALIGN_OF_INT64 PR_ALIGN_OF_INT64
++#define ALIGN_OF_FLOAT PR_ALIGN_OF_FLOAT
++#define ALIGN_OF_DOUBLE PR_ALIGN_OF_DOUBLE
++#define ALIGN_OF_POINTER PR_ALIGN_OF_POINTER
++#define ALIGN_OF_WORD PR_ALIGN_OF_WORD
++
++#define BYTES_PER_WORD_LOG2 PR_BYTES_PER_WORD_LOG2
++#define BYTES_PER_DWORD_LOG2 PR_BYTES_PER_DWORD_LOG2
++#define WORDS_PER_DWORD_LOG2 PR_WORDS_PER_DWORD_LOG2
++
++#endif /* NO_NSPR_10_SUPPORT */
++
++#endif /* nspr_cpucfg___ */
diff --git a/www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md___dragonfly.cfg.orig b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md___dragonfly.cfg.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md___dragonfly.cfg.orig
diff --git a/www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md___pth.h b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md___pth.h
new file mode 100644
index 00000000000..d9a615fafac
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md___pth.h
@@ -0,0 +1,30 @@
+$NetBSD: patch-mozilla_nsprpub_pr_include_md___pth.h,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/nsprpub/pr/include/md/_pth.h.orig 2012-02-16 14:09:27.000000000 +0000
++++ mozilla/nsprpub/pr/include/md/_pth.h
+@@ -146,7 +146,7 @@
+ #define _PT_PTHREAD_COPY_THR_HANDLE(st, dt) (dt) = (st)
+ #elif defined(IRIX) || defined(OSF1) || defined(AIX) || defined(SOLARIS) \
+ || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) \
+- || defined(HPUX) || defined(FREEBSD) \
++ || defined(HPUX) || defined(FREEBSD) || defined(__DragonFly__) \
+ || defined(NETBSD) || defined(OPENBSD) || defined(BSDI) \
+ || defined(NTO) || defined(DARWIN) \
+ || defined(UNIXWARE) || defined(RISCOS) || defined(SYMBIAN)
+@@ -237,7 +237,7 @@
+ #endif /* defined(_PR_DCETHREADS) */
+
+ #elif defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) \
+- || defined(FREEBSD) || defined(SYMBIAN)
++ || defined(FREEBSD) || defined(SYMBIAN) || defined(__DragonFly__)
+ #define PT_PRIO_MIN sched_get_priority_min(SCHED_OTHER)
+ #define PT_PRIO_MAX sched_get_priority_max(SCHED_OTHER)
+ #elif defined(NTO)
+@@ -296,6 +296,7 @@ extern int (*_PT_aix_yield_fcn)();
+ #elif defined(HPUX) || defined(SOLARIS) \
+ || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) \
+ || defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \
++ || defined(__DragonFly__) \
+ || defined(BSDI) || defined(NTO) || defined(DARWIN) \
+ || defined(UNIXWARE) || defined(RISCOS) || defined(SYMBIAN)
+ #define _PT_PTHREAD_YIELD() sched_yield()
diff --git a/www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md___pth.h.orig b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md___pth.h.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md___pth.h.orig
diff --git a/www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md_prosdep.h b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md_prosdep.h
new file mode 100644
index 00000000000..7d9b0315171
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md_prosdep.h
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_nsprpub_pr_include_md_prosdep.h,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/nsprpub/pr/include/md/prosdep.h.orig 2012-02-16 14:09:27.000000000 +0000
++++ mozilla/nsprpub/pr/include/md/prosdep.h
+@@ -66,7 +66,7 @@ PR_BEGIN_EXTERN_C
+ #if defined(AIX)
+ #include "md/_aix.h"
+
+-#elif defined(FREEBSD)
++#elif defined(FREEBSD) || defined(__DragonFly__)
+ #include "md/_freebsd.h"
+
+ #elif defined(NETBSD)
diff --git a/www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md_prosdep.h.orig b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md_prosdep.h.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_include_md_prosdep.h.orig
diff --git a/www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_md_unix_uxrng.c b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_md_unix_uxrng.c
new file mode 100644
index 00000000000..4ba2b20ca93
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_md_unix_uxrng.c
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_nsprpub_pr_src_md_unix_uxrng.c,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/nsprpub/pr/src/md/unix/uxrng.c.orig 2012-02-16 14:09:27.000000000 +0000
++++ mozilla/nsprpub/pr/src/md/unix/uxrng.c
+@@ -126,7 +126,7 @@ GetHighResClock(void *buf, size_t maxbyt
+
+ #elif (defined(LINUX) || defined(FREEBSD) || defined(__FreeBSD_kernel__) \
+ || defined(NETBSD) || defined(__NetBSD_kernel__) || defined(OPENBSD) \
+- || defined(SYMBIAN))
++ || defined(SYMBIAN)) || defined(__DragonFly__)
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
diff --git a/www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_md_unix_uxrng.c.orig b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_md_unix_uxrng.c.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_md_unix_uxrng.c.orig
diff --git a/www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_pthreads_ptio.c b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_pthreads_ptio.c
new file mode 100644
index 00000000000..03adcd3deb0
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_pthreads_ptio.c
@@ -0,0 +1,23 @@
+$NetBSD: patch-mozilla_nsprpub_pr_src_pthreads_ptio.c,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/nsprpub/pr/src/pthreads/ptio.c.orig 2012-02-16 14:09:27.000000000 +0000
++++ mozilla/nsprpub/pr/src/pthreads/ptio.c
+@@ -212,7 +212,8 @@ static PRBool _pr_ipv6_v6only_on_by_defa
+ || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) \
+ || defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \
+ || defined(BSDI) || defined(NTO) || defined(DARWIN) \
+- || defined(UNIXWARE) || defined(RISCOS) || defined(SYMBIAN)
++ || defined(UNIXWARE) || defined(RISCOS) || defined(SYMBIAN) \
++ || defined(__DragonFly__)
+ #define _PRSelectFdSetArg_t fd_set *
+ #else
+ #error "Cannot determine architecture"
+@@ -3286,7 +3287,7 @@ static PRIOMethods _pr_socketpollfd_meth
+ || defined(AIX) || defined(FREEBSD) || defined(NETBSD) \
+ || defined(OPENBSD) || defined(BSDI) || defined(NTO) \
+ || defined(DARWIN) || defined(UNIXWARE) || defined(RISCOS) \
+- || defined(SYMBIAN)
++ || defined(SYMBIAN) || defined(__DragonFly__)
+ #define _PR_FCNTL_FLAGS O_NONBLOCK
+ #else
+ #error "Can't determine architecture"
diff --git a/www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_pthreads_ptio.c.orig b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_pthreads_ptio.c.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_pthreads_ptio.c.orig
diff --git a/www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_pthreads_ptsynch.c b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_pthreads_ptsynch.c
new file mode 100644
index 00000000000..134d3c7f5ad
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_pthreads_ptsynch.c
@@ -0,0 +1,13 @@
+$NetBSD: patch-mozilla_nsprpub_pr_src_pthreads_ptsynch.c,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/nsprpub/pr/src/pthreads/ptsynch.c.orig 2012-02-16 14:09:27.000000000 +0000
++++ mozilla/nsprpub/pr/src/pthreads/ptsynch.c
+@@ -842,7 +842,7 @@ PR_IMPLEMENT(PRStatus) PR_DeleteSemaphor
+ */
+ #if (defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED)) \
+ || defined(FREEBSD) || defined(OPENBSD) || defined(BSDI) \
+- || defined(DARWIN) || defined(SYMBIAN)
++ || defined(DARWIN) || defined(SYMBIAN) || defined(__DragonFly__)
+ /* union semun is defined by including <sys/sem.h> */
+ #else
+ /* according to X/OPEN we have to define it ourselves */
diff --git a/www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_pthreads_ptsynch.c.orig b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_pthreads_ptsynch.c.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_nsprpub_pr_src_pthreads_ptsynch.c.orig
diff --git a/www/seamonkey/patches/patch-mozilla_xpcom_Makefile.in b/www/seamonkey/patches/patch-mozilla_xpcom_Makefile.in
new file mode 100644
index 00000000000..4542cbaec0b
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_xpcom_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-mozilla_xpcom_Makefile.in,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/xpcom/Makefile.in.orig 2012-02-16 14:09:41.000000000 +0000
++++ mozilla/xpcom/Makefile.in
+@@ -68,6 +68,10 @@ DIRS += windbgdlg
+ endif
+ endif
+
++ifeq ($(OS_ARCH),NetBSD)
++EXTRA_DSO_LDOPTS += -Wl,-rpath,${PREFIX}/lib/xulrunner-sdk/sdk/lib
++endif
++
+ ifdef ENABLE_TESTS
+ TOOL_DIRS += \
+ tests \
diff --git a/www/seamonkey/patches/patch-mozilla_xpcom_Makefile.in.orig b/www/seamonkey/patches/patch-mozilla_xpcom_Makefile.in.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_xpcom_Makefile.in.orig
diff --git a/www/seamonkey/patches/patch-mozilla_xpcom_idl-parser_header.py b/www/seamonkey/patches/patch-mozilla_xpcom_idl-parser_header.py
index 2ea6c060145..e2ea358e6e6 100644
--- a/www/seamonkey/patches/patch-mozilla_xpcom_idl-parser_header.py
+++ b/www/seamonkey/patches/patch-mozilla_xpcom_idl-parser_header.py
@@ -1,6 +1,6 @@
-$NetBSD: patch-mozilla_xpcom_idl-parser_header.py,v 1.1 2011/12/23 01:16:27 joerg Exp $
+$NetBSD: patch-mozilla_xpcom_idl-parser_header.py,v 1.2 2012/03/10 03:26:06 ryoon Exp $
---- mozilla/xpcom/idl-parser/header.py.orig 2011-12-22 00:35:28.000000000 +0000
+--- mozilla/xpcom/idl-parser/header.py.orig 2012-02-16 14:09:41.000000000 +0000
+++ mozilla/xpcom/idl-parser/header.py
@@ -521,6 +521,12 @@ if __name__ == '__main__':
outfd.close()
diff --git a/www/seamonkey/patches/patch-mozilla_xpcom_idl-parser_header.py.orig b/www/seamonkey/patches/patch-mozilla_xpcom_idl-parser_header.py.orig
new file mode 100644
index 00000000000..7349dc489d2
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_xpcom_idl-parser_header.py.orig
@@ -0,0 +1,17 @@
+$NetBSD: patch-mozilla_xpcom_idl-parser_header.py.orig,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/xpcom/idl-parser/header.py.orig 2011-12-22 00:35:28.000000000 +0000
++++ mozilla/xpcom/idl-parser/header.py
+@@ -521,6 +521,12 @@ if __name__ == '__main__':
+ outfd.close()
+
+ if options.depfile is not None:
++ dirname = os.path.dirname(options.depfile)
++ if dirname:
++ try:
++ os.makedirs(dirname)
++ except:
++ pass
+ depfd = open(options.depfile, 'w')
+ deps = [dep.replace('\\', '/') for dep in idl.deps]
+
diff --git a/www/seamonkey/patches/patch-mozilla_xulrunner_app_Makefile.in b/www/seamonkey/patches/patch-mozilla_xulrunner_app_Makefile.in
new file mode 100644
index 00000000000..4889b521c06
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_xulrunner_app_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-mozilla_xulrunner_app_Makefile.in,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/xulrunner/app/Makefile.in.orig 2012-02-16 14:09:42.000000000 +0000
++++ mozilla/xulrunner/app/Makefile.in
+@@ -130,6 +130,10 @@ endif
+ RCFLAGS += -DXULRUNNER_ICO=\"$(DIST)/branding/xulrunner.ico\" -DDOCUMENT_ICO=\"$(DIST)/branding/document.ico\"
+ endif
+
++ifeq ($(OS_ARCH),NetBSD)
++OS_LIBS += $(call EXPAND_LIBNAME,kvm)
++endif
++
+ include $(topsrcdir)/config/rules.mk
+
+ DEFINES += -DXULRUNNER_ICO=\"$(DIST)/branding/xulrunner.ico\" -DDOCUMENT_ICO=\"$(DIST)/branding/document.ico\"
diff --git a/www/seamonkey/patches/patch-mozilla_xulrunner_app_Makefile.in.orig b/www/seamonkey/patches/patch-mozilla_xulrunner_app_Makefile.in.orig
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/www/seamonkey/patches/patch-mozilla_xulrunner_app_Makefile.in.orig
diff --git a/www/seamonkey/patches/patch-mp b/www/seamonkey/patches/patch-mp
index c8c8e676bd6..29ebdf30194 100644
--- a/www/seamonkey/patches/patch-mp
+++ b/www/seamonkey/patches/patch-mp
@@ -1,6 +1,6 @@
-$NetBSD: patch-mp,v 1.3 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-mp,v 1.4 2012/03/10 03:26:06 ryoon Exp $
---- mozilla/media/libsydneyaudio/src/Makefile.in.orig 2010-07-21 00:52:30.000000000 +0000
+--- mozilla/media/libsydneyaudio/src/Makefile.in.orig 2012-02-16 14:09:23.000000000 +0000
+++ mozilla/media/libsydneyaudio/src/Makefile.in
@@ -97,6 +97,12 @@ ifeq ($(OS_ARCH),WINNT)
OS_LIBS += winmm.lib
diff --git a/www/seamonkey/patches/patch-mp.orig b/www/seamonkey/patches/patch-mp.orig
new file mode 100644
index 00000000000..8551661eceb
--- /dev/null
+++ b/www/seamonkey/patches/patch-mp.orig
@@ -0,0 +1,17 @@
+$NetBSD: patch-mp.orig,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/media/libsydneyaudio/src/Makefile.in.orig 2010-07-21 00:52:30.000000000 +0000
++++ mozilla/media/libsydneyaudio/src/Makefile.in
+@@ -97,6 +97,12 @@ ifeq ($(OS_ARCH),WINNT)
+ OS_LIBS += winmm.lib
+ endif
+
++ifdef PKGSRC_PULSEAUDIO
++CSRCS = \
++ sydney_audio_pulseaudio.c \
++ $(NULL)
++endif
++
+ include $(topsrcdir)/config/rules.mk
+
+ LOCAL_INCLUDES += -I$(srcdir)/../include
diff --git a/www/seamonkey/patches/patch-pa b/www/seamonkey/patches/patch-pa
index 0ba6e64d61f..e0f64dfb594 100644
--- a/www/seamonkey/patches/patch-pa
+++ b/www/seamonkey/patches/patch-pa
@@ -1,6 +1,6 @@
-$NetBSD: patch-pa,v 1.2 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-pa,v 1.3 2012/03/10 03:26:06 ryoon Exp $
---- mozilla/xulrunner/installer/mozilla-js.pc.in.orig 2010-11-04 19:20:39.000000000 +0000
+--- mozilla/xulrunner/installer/mozilla-js.pc.in.orig 2012-02-16 14:09:42.000000000 +0000
+++ mozilla/xulrunner/installer/mozilla-js.pc.in
@@ -6,5 +6,5 @@ Name: JavaScript
Description: The Mozilla JavaScript Library
diff --git a/www/seamonkey/patches/patch-pa.orig b/www/seamonkey/patches/patch-pa.orig
new file mode 100644
index 00000000000..9893b5d6497
--- /dev/null
+++ b/www/seamonkey/patches/patch-pa.orig
@@ -0,0 +1,11 @@
+$NetBSD: patch-pa.orig,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/xulrunner/installer/mozilla-js.pc.in.orig 2010-11-04 19:20:39.000000000 +0000
++++ mozilla/xulrunner/installer/mozilla-js.pc.in
+@@ -6,5 +6,5 @@ Name: JavaScript
+ Description: The Mozilla JavaScript Library
+ Version: %MOZILLA_VERSION%
+ Requires: %NSPR_NAME% >= %NSPR_VERSION%
+-Libs: -L${sdkdir}/lib %MOZ_JS_LINK%
++Libs: -Wl,-R${prefix}/lib/xulrunner -L${prefix}/lib/xulrunner %MOZ_JS_LINK%
+ Cflags: -I${includedir} -DXP_UNIX -DJS_THREADSAFE
diff --git a/www/seamonkey/patches/patch-pb b/www/seamonkey/patches/patch-pb
index aca92870ce3..fcff0a4009e 100644
--- a/www/seamonkey/patches/patch-pb
+++ b/www/seamonkey/patches/patch-pb
@@ -1,6 +1,6 @@
-$NetBSD: patch-pb,v 1.2 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-pb,v 1.3 2012/03/10 03:26:06 ryoon Exp $
---- mozilla/xulrunner/installer/libxul.pc.in.orig 2010-11-04 19:20:39.000000000 +0000
+--- mozilla/xulrunner/installer/libxul.pc.in.orig 2012-02-16 14:09:42.000000000 +0000
+++ mozilla/xulrunner/installer/libxul.pc.in
@@ -7,5 +7,5 @@ Name: libxul
Description: The Mozilla Runtime and Embedding Engine
diff --git a/www/seamonkey/patches/patch-pb.orig b/www/seamonkey/patches/patch-pb.orig
new file mode 100644
index 00000000000..bd78c5df84a
--- /dev/null
+++ b/www/seamonkey/patches/patch-pb.orig
@@ -0,0 +1,11 @@
+$NetBSD: patch-pb.orig,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/xulrunner/installer/libxul.pc.in.orig 2010-11-04 19:20:39.000000000 +0000
++++ mozilla/xulrunner/installer/libxul.pc.in
+@@ -7,5 +7,5 @@ Name: libxul
+ Description: The Mozilla Runtime and Embedding Engine
+ Version: %MOZILLA_VERSION%
+ Requires: %NSPR_NAME% >= %NSPR_VERSION%
+-Libs: -L${sdkdir}/lib %MOZ_XUL_LINK%
++Libs: -Wl,-R${prefix}/lib/xulrunner -L${prefix}/lib/xulrunner %MOZ_XUL_LINK%
+ Cflags: -I${includedir} %WCHAR_CFLAGS%
diff --git a/www/seamonkey/patches/patch-pc b/www/seamonkey/patches/patch-pc
index c89a17b3831..739a28aa9a2 100644
--- a/www/seamonkey/patches/patch-pc
+++ b/www/seamonkey/patches/patch-pc
@@ -1,6 +1,6 @@
-$NetBSD: patch-pc,v 1.2 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-pc,v 1.3 2012/03/10 03:26:06 ryoon Exp $
---- mozilla/xulrunner/installer/libxul-embedding.pc.in.orig 2010-04-21 09:07:48.000000000 +0000
+--- mozilla/xulrunner/installer/libxul-embedding.pc.in.orig 2012-02-16 14:09:42.000000000 +0000
+++ mozilla/xulrunner/installer/libxul-embedding.pc.in
@@ -6,5 +6,6 @@ idldir=%idldir%
Name: libxul-embedding
diff --git a/www/seamonkey/patches/patch-pc.orig b/www/seamonkey/patches/patch-pc.orig
new file mode 100644
index 00000000000..4f4290567e9
--- /dev/null
+++ b/www/seamonkey/patches/patch-pc.orig
@@ -0,0 +1,12 @@
+$NetBSD: patch-pc.orig,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/xulrunner/installer/libxul-embedding.pc.in.orig 2010-04-21 09:07:48.000000000 +0000
++++ mozilla/xulrunner/installer/libxul-embedding.pc.in
+@@ -6,5 +6,6 @@ idldir=%idldir%
+ Name: libxul-embedding
+ Description: Static library for version-independent embedding of the Mozilla runtime
+ Version: %MOZILLA_VERSION%
+-Libs: -L${sdkdir}/lib -lxpcomglue -ldl
++# XXXtnn -ldl removed
++Libs: -Wl,-R${prefix}/lib/xulrunner -L${prefix}/lib/xulrunner -lxpcomglue
+ Cflags: -DXPCOM_GLUE -I${includedir} %WCHAR_CFLAGS%
diff --git a/www/seamonkey/patches/patch-pd b/www/seamonkey/patches/patch-pd
index df2a232a47d..c44f5909029 100644
--- a/www/seamonkey/patches/patch-pd
+++ b/www/seamonkey/patches/patch-pd
@@ -1,6 +1,6 @@
-$NetBSD: patch-pd,v 1.2 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-pd,v 1.3 2012/03/10 03:26:06 ryoon Exp $
---- mozilla/xulrunner/installer/mozilla-nss.pc.in.orig 2009-10-29 23:11:24.000000000 +0100
+--- mozilla/xulrunner/installer/mozilla-nss.pc.in.orig 2012-02-16 14:09:42.000000000 +0000
+++ mozilla/xulrunner/installer/mozilla-nss.pc.in
@@ -6,5 +6,5 @@ Name: NSS
Description: Mozilla Network Security Services
diff --git a/www/seamonkey/patches/patch-pd.orig b/www/seamonkey/patches/patch-pd.orig
new file mode 100644
index 00000000000..dd2b114fa5f
--- /dev/null
+++ b/www/seamonkey/patches/patch-pd.orig
@@ -0,0 +1,11 @@
+$NetBSD: patch-pd.orig,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/xulrunner/installer/mozilla-nss.pc.in.orig 2009-10-29 23:11:24.000000000 +0100
++++ mozilla/xulrunner/installer/mozilla-nss.pc.in
+@@ -6,5 +6,5 @@ Name: NSS
+ Description: Mozilla Network Security Services
+ Version: %MOZILLA_VERSION%
+ Requires: %NSPR_NAME% >= %NSPR_VERSION%
+-Libs: -L${sdkdir}/lib -lsmime3 -lssl3 -lnss3 -lnssutil3
++Libs: -Wl,-R${prefix}/lib/xulrunner -L${prefix}/lib/xulrunner -lsmime3 -lssl3 -lnss3 -lnssutil3
+ Cflags: -I${includedir}
diff --git a/www/seamonkey/patches/patch-pg b/www/seamonkey/patches/patch-pg
index 9db755ee691..6be277d7572 100644
--- a/www/seamonkey/patches/patch-pg
+++ b/www/seamonkey/patches/patch-pg
@@ -1,6 +1,6 @@
-$NetBSD: patch-pg,v 1.2 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-pg,v 1.3 2012/03/10 03:26:06 ryoon Exp $
---- mozilla/xulrunner/installer/mozilla-nspr.pc.in.orig 2009-10-29 23:11:24.000000000 +0100
+--- mozilla/xulrunner/installer/mozilla-nspr.pc.in.orig 2012-02-16 14:09:42.000000000 +0000
+++ mozilla/xulrunner/installer/mozilla-nspr.pc.in
@@ -5,7 +5,5 @@ includedir=%includedir%
Name: NSPR
diff --git a/www/seamonkey/patches/patch-pg.orig b/www/seamonkey/patches/patch-pg.orig
new file mode 100644
index 00000000000..2303cbac68e
--- /dev/null
+++ b/www/seamonkey/patches/patch-pg.orig
@@ -0,0 +1,14 @@
+$NetBSD: patch-pg.orig,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/xulrunner/installer/mozilla-nspr.pc.in.orig 2009-10-29 23:11:24.000000000 +0100
++++ mozilla/xulrunner/installer/mozilla-nspr.pc.in
+@@ -5,7 +5,5 @@ includedir=%includedir%
+ Name: NSPR
+ Description: The Netscape Portable Runtime
+ Version: %NSPR_VERSION%
+-Libs: %FULL_NSPR_LIBS%
+-Cflags: %FULL_NSPR_CFLAGS%
+-
+-
++Libs: -Wl,-R${prefix}/lib/xulrunner -L${prefix}/lib/xulrunner -lplds4 -lplc4 -lnspr4 -pthread
++Cflags: -I${includedir}
diff --git a/www/seamonkey/patches/patch-rc b/www/seamonkey/patches/patch-rc
index 200a8cb3e3f..30d1cc289bf 100644
--- a/www/seamonkey/patches/patch-rc
+++ b/www/seamonkey/patches/patch-rc
@@ -1,6 +1,6 @@
-$NetBSD: patch-rc,v 1.2 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-rc,v 1.3 2012/03/10 03:26:06 ryoon Exp $
---- mozilla/browser/branding/unofficial/locales/en-US/brand.dtd.orig 2011-01-22 00:24:21.000000000 +0000
+--- mozilla/browser/branding/unofficial/locales/en-US/brand.dtd.orig 2012-02-16 14:08:38.000000000 +0000
+++ mozilla/browser/branding/unofficial/locales/en-US/brand.dtd
@@ -1,4 +1,4 @@
-<!ENTITY brandShortName "Mozilla Developer Preview">
diff --git a/www/seamonkey/patches/patch-rc.orig b/www/seamonkey/patches/patch-rc.orig
new file mode 100644
index 00000000000..740d4671f0a
--- /dev/null
+++ b/www/seamonkey/patches/patch-rc.orig
@@ -0,0 +1,11 @@
+$NetBSD: patch-rc.orig,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/browser/branding/unofficial/locales/en-US/brand.dtd.orig 2011-01-22 00:24:21.000000000 +0000
++++ mozilla/browser/branding/unofficial/locales/en-US/brand.dtd
+@@ -1,4 +1,4 @@
+-<!ENTITY brandShortName "Mozilla Developer Preview">
+-<!ENTITY brandFullName "Mozilla Developer Preview">
++<!ENTITY brandShortName "Browser">
++<!ENTITY brandFullName "Browser">
+ <!ENTITY vendorShortName "mozilla.org">
+ <!ENTITY trademarkInfo.part1 " ">
diff --git a/www/seamonkey/patches/patch-security_nss_cmd_shlibsign_sign.sh b/www/seamonkey/patches/patch-security_nss_cmd_shlibsign_sign.sh
index 04e6988c45e..4ae4f3c81be 100644
--- a/www/seamonkey/patches/patch-security_nss_cmd_shlibsign_sign.sh
+++ b/www/seamonkey/patches/patch-security_nss_cmd_shlibsign_sign.sh
@@ -1,10 +1,10 @@
-$NetBSD: patch-security_nss_cmd_shlibsign_sign.sh,v 1.1 2011/07/12 00:19:45 tnn Exp $
+$NetBSD: patch-security_nss_cmd_shlibsign_sign.sh,v 1.2 2012/03/10 03:26:06 ryoon Exp $
This tries to dlopen libsoftokn3.so which is linked against sqlite3,
so we need a directory containing libsqlite3.so in the search path,
beside the directory containing libsoftokn3.so itself.
---- mozilla/security/nss/cmd/shlibsign/sign.sh.orig 2011-06-15 21:57:52.000000000 +0000
+--- mozilla/security/nss/cmd/shlibsign/sign.sh.orig 2012-02-16 14:09:30.000000000 +0000
+++ mozilla/security/nss/cmd/shlibsign/sign.sh
@@ -26,7 +26,7 @@ WIN*)
export LIBPATH
diff --git a/www/seamonkey/patches/patch-security_nss_cmd_shlibsign_sign.sh.orig b/www/seamonkey/patches/patch-security_nss_cmd_shlibsign_sign.sh.orig
new file mode 100644
index 00000000000..8bb44e0f035
--- /dev/null
+++ b/www/seamonkey/patches/patch-security_nss_cmd_shlibsign_sign.sh.orig
@@ -0,0 +1,17 @@
+$NetBSD: patch-security_nss_cmd_shlibsign_sign.sh.orig,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+This tries to dlopen libsoftokn3.so which is linked against sqlite3,
+so we need a directory containing libsqlite3.so in the search path,
+beside the directory containing libsoftokn3.so itself.
+
+--- mozilla/security/nss/cmd/shlibsign/sign.sh.orig 2011-06-15 21:57:52.000000000 +0000
++++ mozilla/security/nss/cmd/shlibsign/sign.sh
+@@ -26,7 +26,7 @@ WIN*)
+ export LIBPATH
+ SHLIB_PATH=${1}/lib:${4}:$SHLIB_PATH
+ export SHLIB_PATH
+- LD_LIBRARY_PATH=${1}/lib:${4}:$LD_LIBRARY_PATH
++ LD_LIBRARY_PATH=${1}/lib:${4}:${PREFIX}/lib:$LD_LIBRARY_PATH
+ export LD_LIBRARY_PATH
+ DYLD_LIBRARY_PATH=${1}/lib:${4}:$DYLD_LIBRARY_PATH
+ export DYLD_LIBRARY_PATH
diff --git a/www/seamonkey/patches/patch-toolkit_toolkit-tiers.mk b/www/seamonkey/patches/patch-toolkit_toolkit-tiers.mk
index a97f9bec041..9c72c5fd139 100644
--- a/www/seamonkey/patches/patch-toolkit_toolkit-tiers.mk
+++ b/www/seamonkey/patches/patch-toolkit_toolkit-tiers.mk
@@ -1,8 +1,8 @@
-$NetBSD: patch-toolkit_toolkit-tiers.mk,v 1.1 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-toolkit_toolkit-tiers.mk,v 1.2 2012/03/10 03:26:06 ryoon Exp $
---- mozilla/toolkit/toolkit-tiers.mk.orig 2011-06-15 21:57:56.000000000 +0000
+--- mozilla/toolkit/toolkit-tiers.mk.orig 2012-02-16 14:09:39.000000000 +0000
+++ mozilla/toolkit/toolkit-tiers.mk
-@@ -90,7 +90,7 @@ ifndef MOZ_NATIVE_BZ2
+@@ -82,7 +82,7 @@ ifndef MOZ_NATIVE_BZ2
tier_platform_dirs += modules/libbz2
endif
tier_platform_dirs += modules/libmar
diff --git a/www/seamonkey/patches/patch-toolkit_toolkit-tiers.mk.orig b/www/seamonkey/patches/patch-toolkit_toolkit-tiers.mk.orig
new file mode 100644
index 00000000000..d1837b9f04f
--- /dev/null
+++ b/www/seamonkey/patches/patch-toolkit_toolkit-tiers.mk.orig
@@ -0,0 +1,13 @@
+$NetBSD: patch-toolkit_toolkit-tiers.mk.orig,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+--- mozilla/toolkit/toolkit-tiers.mk.orig 2011-06-15 21:57:56.000000000 +0000
++++ mozilla/toolkit/toolkit-tiers.mk
+@@ -90,7 +90,7 @@ ifndef MOZ_NATIVE_BZ2
+ tier_platform_dirs += modules/libbz2
+ endif
+ tier_platform_dirs += modules/libmar
+-tier_platform_dirs += other-licenses/bsdiff
++#tier_platform_dirs += other-licenses/bsdiff
+ endif
+
+ tier_platform_dirs += gfx/qcms
diff --git a/www/seamonkey/patches/patch-xa b/www/seamonkey/patches/patch-xa
index ad0fba8d2bb..433dd40078a 100644
--- a/www/seamonkey/patches/patch-xa
+++ b/www/seamonkey/patches/patch-xa
@@ -1,8 +1,8 @@
-$NetBSD: patch-xa,v 1.1 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-xa,v 1.2 2012/03/10 03:26:06 ryoon Exp $
NetBSD/sparc64 xptcall support code. From pkgsrc/www/firefox3/files/
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_sparc64_netbsd.s.orig 2009-07-09 10:12:51.000000000 +0200
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_sparc64_netbsd.s.orig 2012-03-09 13:13:26.000000000 +0000
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_sparc64_netbsd.s
@@ -0,0 +1,112 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
diff --git a/www/seamonkey/patches/patch-xa.orig b/www/seamonkey/patches/patch-xa.orig
new file mode 100644
index 00000000000..b66951419ba
--- /dev/null
+++ b/www/seamonkey/patches/patch-xa.orig
@@ -0,0 +1,119 @@
+$NetBSD: patch-xa.orig,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+NetBSD/sparc64 xptcall support code. From pkgsrc/www/firefox3/files/
+
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_sparc64_netbsd.s.orig 2009-07-09 10:12:51.000000000 +0200
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_sparc64_netbsd.s
+@@ -0,0 +1,112 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
++ *
++ * The contents of this file are subject to the Netscape Public
++ * License Version 1.1 (the "License"); you may not use this file
++ * except in compliance with the License. You may obtain a copy of
++ * the License at http://www.mozilla.org/NPL/
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ * The Original Code is mozilla.org code.
++ *
++ * The Initial Developer of the Original Code is Netscape
++ * Communications Corporation. Portions created by Netscape are
++ * Copyright (C) 1998 Netscape Communications Corporation. All
++ * Rights Reserved.
++ *
++ * Contributor(s):
++ */
++
++/* Platform specific code to invoke XPCOM methods on native objects */
++ .global NS_InvokeByIndex_P
++ .type NS_InvokeByIndex_P, #function
++/*
++ NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
++ PRUint32 paramCount, nsXPTCVariant* params);
++
++*/
++/*
++ * Note: To simplify stack handling we allocate an extra stack
++ * frame here. In principle invoke_copy_to_stack() could
++ * save the parameters our caller's frame and we could
++ * reclaim the stackframe and do a tail call to the
++ * function. However, this gets complicated....
++ *
++ * The vtable consist of be:
++ *
++ * struct {
++ * short __delta;
++ * short __index;
++ * union {
++ * P __pfn;
++ * short __delta2;
++ * } __pfn_or_delta2;
++ * };
++ *
++ * See gcc/cp/cp-tree.h
++ */
++
++NS_InvokeByIndex_P:
++ save %sp,-(128 + 64),%sp ! room for the register window and
++ ! struct pointer, rounded up to 0 % 64
++ sll %i2,4,%l0 ! assume the worst case
++ ! paramCount * 2 * 8 bytes
++ cmp %l0, 0 ! are there any args? If not,
++ be .invoke ! no need to copy args to stack
++ nop
++
++ sub %sp,%l0,%sp ! create the additional stack space
++ add %sp,0x7ff+136,%o0 ! step past the register window, the
++ ! struct result pointer and the 'this' slot
++ mov %i2,%o1 ! paramCount
++ call invoke_copy_to_stack
++ mov %i3,%o2 ! params
++
++!
++! load arguments from stack into the outgoing registers
++! BIAS is 0x7ff (2047)
++!
++
++! load the %o1..5 64bit (extended word) output registers registers
++ ldx [%sp + 0x7ff + 136],%o1 ! %i1
++ ldx [%sp + 0x7ff + 144],%o2 ! %i2
++ ldx [%sp + 0x7ff + 152],%o3 ! %i3
++ ldx [%sp + 0x7ff + 160],%o4 ! %i4
++ ldx [%sp + 0x7ff + 168],%o5 ! %i5
++
++! load the even number double registers starting with %f2
++ ldd [%sp + 0x7ff + 136],%f2
++ ldd [%sp + 0x7ff + 144],%f4
++ ldd [%sp + 0x7ff + 152],%f6
++ ldd [%sp + 0x7ff + 160],%f8
++ ldd [%sp + 0x7ff + 168],%f10
++ ldd [%sp + 0x7ff + 176],%f12
++ ldd [%sp + 0x7ff + 184],%f14
++ ldd [%sp + 0x7ff + 192],%f16
++ ldd [%sp + 0x7ff + 200],%f18
++ ldd [%sp + 0x7ff + 208],%f20
++ ldd [%sp + 0x7ff + 216],%f22
++ ldd [%sp + 0x7ff + 224],%f24
++ ldd [%sp + 0x7ff + 232],%f26
++ ldd [%sp + 0x7ff + 240],%f28
++ ldd [%sp + 0x7ff + 248],%f30
++
++!
++! calculate the target address from the vtable
++!
++.invoke:
++ sll %i1,3,%l0 ! index *= 8
++ ldx [%i0],%l1 ! *this --> address of vtable
++ ldx [%l0 + %l1],%l0 ! this->vtable[index] --> address
++
++ jmpl %l0,%o7 ! call the routine
++ mov %i0,%o0 ! move 'this' pointer to out register
++
++ mov %o0,%i0 ! propagate return value
++ ret
++ restore
++
++ .size NS_InvokeByIndex_P, .-NS_InvokeByIndex_P
diff --git a/www/seamonkey/patches/patch-xb b/www/seamonkey/patches/patch-xb
index a73d13ac46d..d38f39c7b46 100644
--- a/www/seamonkey/patches/patch-xb
+++ b/www/seamonkey/patches/patch-xb
@@ -1,8 +1,8 @@
-$NetBSD: patch-xb,v 1.1 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-xb,v 1.2 2012/03/10 03:26:06 ryoon Exp $
NetBSD/sparc64 xptcall support code. From pkgsrc/www/firefox3/files/
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_netbsd.cpp.orig 2009-07-09 10:12:51.000000000 +0200
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_netbsd.cpp.orig 2012-03-09 13:13:26.000000000 +0000
+++ mozilla/xpcom/reflect/xptcall/src/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-xb.orig b/www/seamonkey/patches/patch-xb.orig
new file mode 100644
index 00000000000..336e86f56a0
--- /dev/null
+++ b/www/seamonkey/patches/patch-xb.orig
@@ -0,0 +1,91 @@
+$NetBSD: patch-xb.orig,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+NetBSD/sparc64 xptcall support code. From pkgsrc/www/firefox3/files/
+
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_netbsd.cpp.orig 2009-07-09 10:12:51.000000000 +0200
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_netbsd.cpp
+@@ -0,0 +1,84 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
++ *
++ * The contents of this file are subject to the Netscape Public
++ * License Version 1.1 (the "License"); you may not use this file
++ * except in compliance with the License. You may obtain a copy of
++ * the License at http://www.mozilla.org/NPL/
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ * The Original Code is mozilla.org code.
++ *
++ * The Initial Developer of the Original Code is Netscape
++ * Communications Corporation. Portions created by Netscape are
++ * Copyright (C) 1998 Netscape Communications Corporation. All
++ * Rights Reserved.
++ *
++ * Contributor(s):
++ */
++
++/* Platform specific code to invoke XPCOM methods on native objects */
++
++#include "xptcprivate.h"
++
++#if !defined(__sparc64__) && !defined(_LP64)
++#error "This code is for Sparc64 only"
++#endif
++
++extern "C" PRUint32
++invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s)
++{
++ /*
++ We need to copy the parameters for this function to locals and use them
++ from there since the parameters occupy the same stack space as the stack
++ we're trying to populate.
++ */
++ PRUint64 *l_d = d;
++ nsXPTCVariant *l_s = s;
++ PRUint64 l_paramCount = paramCount;
++ PRUint64 regCount = 0; // return the number of registers to load from the stack
++
++ for(PRUint64 i = 0; i < l_paramCount; i++, l_d++, l_s++)
++ {
++ if (regCount < 5) regCount++;
++
++ if (l_s->IsPtrData())
++ {
++ *l_d = (PRUint64)l_s->ptr;
++ continue;
++ }
++ switch (l_s->type)
++ {
++ case nsXPTType::T_I8 : *((PRInt64*)l_d) = l_s->val.i8; break;
++ case nsXPTType::T_I16 : *((PRInt64*)l_d) = l_s->val.i16; break;
++ case nsXPTType::T_I32 : *((PRInt64*)l_d) = l_s->val.i32; break;
++ case nsXPTType::T_I64 : *((PRInt64*)l_d) = l_s->val.i64; break;
++
++ case nsXPTType::T_U8 : *((PRUint64*)l_d) = l_s->val.u8; break;
++ case nsXPTType::T_U16 : *((PRUint64*)l_d) = l_s->val.u16; break;
++ case nsXPTType::T_U32 : *((PRUint64*)l_d) = l_s->val.u32; break;
++ case nsXPTType::T_U64 : *((PRUint64*)l_d) = l_s->val.u64; break;
++
++ /* in the case of floats, we want to put the bits in to the
++ 64bit space right justified... floats in the paramter array on
++ sparcv9 use odd numbered registers.. %f1, %f3, so we have to skip
++ the space that would be occupied by %f0, %f2, etc.
++ */
++ case nsXPTType::T_FLOAT : *(((float*)l_d) + 1) = l_s->val.f; break;
++ case nsXPTType::T_DOUBLE: *((double*)l_d) = l_s->val.d; break;
++ case nsXPTType::T_BOOL : *((PRInt64*)l_d) = l_s->val.b; break;
++ case nsXPTType::T_CHAR : *((PRUint64*)l_d) = l_s->val.c; break;
++ case nsXPTType::T_WCHAR : *((PRInt64*)l_d) = l_s->val.wc; break;
++
++ default:
++ // all the others are plain pointer types
++ *((void**)l_d) = l_s->val.p;
++ break;
++ }
++ }
++
++ return regCount;
++}
diff --git a/www/seamonkey/patches/patch-xc b/www/seamonkey/patches/patch-xc
index 6fb84e8fd1c..6618a04326b 100644
--- a/www/seamonkey/patches/patch-xc
+++ b/www/seamonkey/patches/patch-xc
@@ -1,8 +1,8 @@
-$NetBSD: patch-xc,v 1.1 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-xc,v 1.2 2012/03/10 03:26:06 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 2009-07-09 10:12:51.000000000 +0200
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_sparc64_netbsd.s.orig 2012-03-09 13:13:26.000000000 +0000
+++ mozilla/xpcom/reflect/xptcall/src/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-xc.orig b/www/seamonkey/patches/patch-xc.orig
new file mode 100644
index 00000000000..3f6d4455c38
--- /dev/null
+++ b/www/seamonkey/patches/patch-xc.orig
@@ -0,0 +1,73 @@
+$NetBSD: patch-xc.orig,v 1.1 2012/03/10 03:26:06 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 2009-07-09 10:12:51.000000000 +0200
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_sparc64_netbsd.s
+@@ -0,0 +1,66 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
++ *
++ * The contents of this file are subject to the Netscape Public
++ * License Version 1.1 (the "License"); you may not use this file
++ * except in compliance with the License. You may obtain a copy of
++ * the License at http://www.mozilla.org/NPL/
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ * The Original Code is mozilla.org code.
++ *
++ * The Initial Developer of the Original Code is Netscape
++ * Communications Corporation. Portions created by Netscape are
++ * Copyright (C) 1999 Netscape Communications Corporation. All
++ * Rights Reserved.
++ *
++ * Contributor(s):
++ */
++
++ .global SharedStub
++
++/*
++ in the frame for the function that called SharedStub are the
++ rest of the parameters we need
++
++*/
++
++SharedStub:
++! we don't create a new frame yet, but work within the frame of the calling
++! function to give ourselves the other parameters we want
++
++ mov %o0, %o1 ! shuffle the index up to 2nd place
++ mov %i0, %o0 ! the original 'this'
++ add %fp, 0x7ff + 136, %o2 ! previous stack top adjusted to the first argument slot (beyond 'this')
++
++! save off the original incoming parameters that arrived in
++! registers, the ABI guarantees the space for us to do this
++ stx %i1, [%fp + 0x7ff + 136]
++ stx %i2, [%fp + 0x7ff + 144]
++ stx %i3, [%fp + 0x7ff + 152]
++ stx %i4, [%fp + 0x7ff + 160]
++ stx %i5, [%fp + 0x7ff + 168]
++! now we can build our own stack frame
++ save %sp,-(128 + 64),%sp ! room for the register window and
++ ! struct pointer, rounded up to 0 % 64
++! our function now appears to have been called
++! as SharedStub(nsISupports* that, PRUint32 index, PRUint32* args)
++! so we can just copy these through
++
++ mov %i0, %o0
++ mov %i1, %o1
++ mov %i2, %o2
++ call PrepareAndDispatch
++ nop
++ mov %o0,%i0 ! propagate return value
++ b .LL1
++ nop
++.LL1:
++ ret
++ restore
++
++ .size SharedStub, .-SharedStub
++ .type SharedStub, #function
diff --git a/www/seamonkey/patches/patch-xd b/www/seamonkey/patches/patch-xd
index 2bc449681c8..35fdd7c1113 100644
--- a/www/seamonkey/patches/patch-xd
+++ b/www/seamonkey/patches/patch-xd
@@ -1,8 +1,8 @@
-$NetBSD: patch-xd,v 1.1 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-xd,v 1.2 2012/03/10 03:26:06 ryoon Exp $
NetBSD/sparc64 xptcall support code. From pkgsrc/www/firefox3/files/
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc64_netbsd.cpp.orig 2009-07-09 10:12:51.000000000 +0200
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc64_netbsd.cpp.orig 2012-03-09 13:13:26.000000000 +0000
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc64_netbsd.cpp
@@ -0,0 +1,119 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
diff --git a/www/seamonkey/patches/patch-xd.orig b/www/seamonkey/patches/patch-xd.orig
new file mode 100644
index 00000000000..315cf3130e5
--- /dev/null
+++ b/www/seamonkey/patches/patch-xd.orig
@@ -0,0 +1,126 @@
+$NetBSD: patch-xd.orig,v 1.1 2012/03/10 03:26:06 ryoon Exp $
+
+NetBSD/sparc64 xptcall support code. From pkgsrc/www/firefox3/files/
+
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc64_netbsd.cpp.orig 2009-07-09 10:12:51.000000000 +0200
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc64_netbsd.cpp
+@@ -0,0 +1,119 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
++ *
++ * The contents of this file are subject to the Netscape Public
++ * License Version 1.1 (the "License"); you may not use this file
++ * except in compliance with the License. You may obtain a copy of
++ * the License at http://www.mozilla.org/NPL/
++ *
++ * Software distributed under the License is distributed on an "AS
++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
++ * implied. See the License for the specific language governing
++ * rights and limitations under the License.
++ *
++ * The Original Code is mozilla.org code.
++ *
++ * The Initial Developer of the Original Code is Netscape
++ * Communications Corporation. Portions created by Netscape are
++ * Copyright (C) 1999 Netscape Communications Corporation. All
++ * Rights Reserved.
++ *
++ * Contributor(s):
++ */
++
++/* Implement shared vtbl methods. */
++
++#include "xptcprivate.h"
++#include "xptiprivate.h"
++
++#if defined(sparc) || defined(__sparc__)
++
++extern "C" nsresult
++PrepareAndDispatch(nsXPTCStubBase* self, PRUint64 methodIndex, PRUint64* args)
++{
++
++#define PARAM_BUFFER_COUNT 16
++
++ nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
++ nsXPTCMiniVariant* dispatchParams = NULL;
++ const nsXPTMethodInfo* info;
++ PRUint8 paramCount;
++ PRUint8 i;
++ nsresult result = NS_ERROR_FAILURE;
++
++ NS_ASSERTION(self,"no self");
++
++ self->mEntry->GetMethodInfo(PRUint16(methodIndex), &info);
++ NS_ASSERTION(info,"no interface info");
++
++ paramCount = info->GetParamCount();
++
++ // setup variant array pointer
++ if(paramCount > PARAM_BUFFER_COUNT)
++ dispatchParams = new nsXPTCMiniVariant[paramCount];
++ else
++ dispatchParams = paramBuffer;
++ NS_ASSERTION(dispatchParams,"no place for params");
++ if (!dispatchParams)
++ return NS_ERROR_OUT_OF_MEMORY;
++
++ PRUint64* ap = args;
++ for(i = 0; i < paramCount; i++, ap++)
++ {
++ const nsXPTParamInfo& param = info->GetParam(i);
++ const nsXPTType& type = param.GetType();
++ nsXPTCMiniVariant* dp = &dispatchParams[i];
++
++ if(param.IsOut() || !type.IsArithmetic())
++ {
++ dp->val.p = (void*) *ap;
++ continue;
++ }
++ // else
++ switch(type)
++ {
++ case nsXPTType::T_BOOL : dp->val.b = *((PRInt64*) ap); break;
++ case nsXPTType::T_CHAR : dp->val.c = *((PRUint64*) ap); break;
++ case nsXPTType::T_WCHAR : dp->val.wc = *((PRInt64*) ap); break;
++ case nsXPTType::T_I8 : dp->val.i8 = *((PRInt64*) ap); break;
++ case nsXPTType::T_I16 : dp->val.i16 = *((PRInt64*) ap); break;
++ case nsXPTType::T_I32 : dp->val.i32 = *((PRInt64*) ap); break;
++ case nsXPTType::T_I64 : dp->val.i64 = *((PRInt64*) ap); break;
++ case nsXPTType::T_U8 : dp->val.u8 = *((PRUint64*) ap); break;
++ case nsXPTType::T_U16 : dp->val.u16 = *((PRUint64*)ap); break;
++ case nsXPTType::T_U32 : dp->val.u32 = *((PRUint64*)ap); break;
++ case nsXPTType::T_U64 : dp->val.u64 = *((PRUint64*) ap); break;
++ case nsXPTType::T_FLOAT : dp->val.f = ((float*) ap)[1]; break;
++ case nsXPTType::T_DOUBLE : dp->val.d = *((double*) ap); break;
++ default:
++ NS_ASSERTION(0, "bad type");
++ break;
++ }
++ }
++
++ result = self->mOuter->CallMethod((PRUint16)methodIndex, info, dispatchParams);
++
++ if(dispatchParams != paramBuffer)
++ delete [] dispatchParams;
++
++ return result;
++}
++
++extern "C" int SharedStub(int, int*);
++
++#define STUB_ENTRY(n) \
++nsresult nsXPTCStubBase::Stub##n() \
++{ \
++ int dummy; /* defeat tail-call optimization */ \
++ return SharedStub(n, &dummy); \
++}
++
++#define SENTINEL_ENTRY(n) \
++nsresult nsXPTCStubBase::Sentinel##n() \
++{ \
++ NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
++ return NS_ERROR_NOT_IMPLEMENTED; \
++}
++
++#include "xptcstubsdef.inc"
++
++#endif /* sparc || __sparc__ */
diff --git a/www/seamonkey/patches/patch-xe b/www/seamonkey/patches/patch-xe
index 39086d2f9f9..4eb2bb106a2 100644
--- a/www/seamonkey/patches/patch-xe
+++ b/www/seamonkey/patches/patch-xe
@@ -1,8 +1,8 @@
-$NetBSD: patch-xe,v 1.1 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-xe,v 1.2 2012/03/10 03:26:06 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 2009-06-29 18:15:33.000000000 +0200
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_netbsd_m68k.cpp.orig 2012-02-16 14:09:41.000000000 +0000
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_netbsd_m68k.cpp
@@ -132,6 +132,15 @@ extern "C" {
}
diff --git a/www/seamonkey/patches/patch-xe.orig b/www/seamonkey/patches/patch-xe.orig
new file mode 100644
index 00000000000..2f3f4598a57
--- /dev/null
+++ b/www/seamonkey/patches/patch-xe.orig
@@ -0,0 +1,77 @@
+$NetBSD: patch-xe.orig,v 1.1 2012/03/10 03:26:06 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 2009-06-29 18:15:33.000000000 +0200
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_netbsd_m68k.cpp
+@@ -132,6 +132,15 @@ extern "C" {
+ }
+ }
+
++/*
++ * SYMBOL PREFIX must be "_" for aout symbols and "" for ELF
++ */
++#ifndef __ELF__
++#define SYMBOLPREFIX "_"
++#else
++#define SYMBOLPREFIX
++#endif
++
+ XPTC_PUBLIC_API(nsresult)
+ XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
+ PRUint32 paramCount, nsXPTCVariant* params)
+@@ -139,30 +148,30 @@ XPTC_InvokeByIndex(nsISupports* that, PR
+ PRUint32 result;
+
+ __asm__ __volatile__(
+- "movl %4, sp@-\n\t"
+- "movl %3, sp@-\n\t"
+- "jbsr _invoke_count_words\n\t" /* count words */
+- "addql #8, sp\n\t"
+- "lsll #2, d0\n\t" /* *= 4 */
+- "movl sp, a2\n\t" /* save original sp */
+- "subl d0, sp\n\t" /* make room for params */
+- "movl sp, a0\n\t"
+- "movl %4, sp@-\n\t"
+- "movl %3, sp@-\n\t"
+- "movl a0, sp@-\n\t"
+- "jbsr _invoke_copy_to_stack\n\t" /* copy params */
+- "addl #12, sp\n\t"
+- "movl %1, a0\n\t"
+- "movl a0@, a1\n\t"
+- "movl %2, d0\n\t" /* function index */
+- "movl a0, d1\n\t"
+- "movw a1@(8,d0:l:8), a0\n\t"
+- "addl a0, d1\n\t"
+- "movl a1@(12,d0:l:8), a1\n\t"
+- "movl d1, sp@-\n\t"
+- "jbsr a1@\n\t"
+- "movl a2, sp\n\t" /* restore original sp */
+- "movl d0, %0\n\t"
++ "movl %4, %%sp@-\n\t"
++ "movl %3, %%sp@-\n\t"
++ "jbsr "SYMBOLPREFIX"invoke_count_words\n\t" /* count words */
++ "addql #8, %%sp\n\t"
++ "lsll #2, %%d0\n\t" /* *= 4 */
++ "movl %%sp, %%a2\n\t" /* save original sp */
++ "subl %%d0, %%sp\n\t" /* make room for params */
++ "movl %%sp, %%a0\n\t"
++ "movl %4, %%sp@-\n\t"
++ "movl %3, %%sp@-\n\t"
++ "movl %%a0, %%sp@-\n\t"
++ "jbsr "SYMBOLPREFIX"invoke_copy_to_stack\n\t" /* copy params */
++ "addl #12, %%sp\n\t"
++ "movl %1, %%a0\n\t"
++ "movl %%a0@, %%a1\n\t"
++ "movl %2, %%d0\n\t" /* function index */
++ "movl %%a0, %%d1\n\t"
++ "movw %%a1@(8,%%d0:l:8), %%a0\n\t"
++ "addl %%a0, %%d1\n\t"
++ "movl %%a1@(12,%%d0:l:8), %%a1\n\t"
++ "movl %%d1, %%sp@-\n\t"
++ "jbsr %%a1@\n\t"
++ "movl %%a2, %%sp\n\t" /* restore original sp */
++ "movl %%d0, %0\n\t"
+ : "=g" (result) /* %0 */
+ : "g" (that), /* %1 */
+ "g" (methodIndex), /* %2 */
diff --git a/www/seamonkey/patches/patch-xf b/www/seamonkey/patches/patch-xf
index 03e0859ab64..0f9edd239df 100644
--- a/www/seamonkey/patches/patch-xf
+++ b/www/seamonkey/patches/patch-xf
@@ -1,8 +1,8 @@
-$NetBSD: patch-xf,v 1.1 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-xf,v 1.2 2012/03/10 03:26:06 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 2009-06-29 18:15:33.000000000 +0200
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_netbsd_m68k.cpp.orig 2012-02-16 14:09:41.000000000 +0000
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_netbsd_m68k.cpp
@@ -123,17 +123,27 @@ extern "C" {
}
diff --git a/www/seamonkey/patches/patch-xf.orig b/www/seamonkey/patches/patch-xf.orig
new file mode 100644
index 00000000000..7716bd65e7c
--- /dev/null
+++ b/www/seamonkey/patches/patch-xf.orig
@@ -0,0 +1,43 @@
+$NetBSD: patch-xf.orig,v 1.1 2012/03/10 03:26:06 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 2009-06-29 18:15:33.000000000 +0200
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_netbsd_m68k.cpp
+@@ -123,17 +123,27 @@ extern "C" {
+ }
+ }
+
++/*
++ * Beware: use % instead of %% for register identifiers in a preprocessor macro
++ * SYMBOL PREFIX must be "_" for aout and "" for ELF
++ */
++#ifndef __ELF__
++#define SYMBOLPREFIX "_"
++#else
++#define SYMBOLPREFIX
++#endif
++
+ #define STUB_ENTRY(n) \
+ __asm__( \
+- ".global _Stub"#n"__14nsXPTCStubBase\n\t" \
+-"_Stub"#n"__14nsXPTCStubBase:\n\t" \
+- "link a6,#0 \n\t" \
+- "lea a6@(12), a0 \n\t" /* pointer to args */ \
+- "movl a0, sp@- \n\t" \
+- "movl #"#n", sp@- \n\t" /* method index */ \
+- "movl a6@(8), sp@- \n\t" /* this */ \
+- "jbsr _PrepareAndDispatch \n\t" \
+- "unlk a6 \n\t" \
++ ".global "SYMBOLPREFIX"Stub"#n"__14nsXPTCStubBase\n\t" \
++SYMBOLPREFIX"Stub"#n"__14nsXPTCStubBase:\n\t" \
++ "link %a6,#0 \n\t" \
++ "lea %a6@(12), %a0 \n\t" /* pointer to args */ \
++ "movl %a0, %sp@- \n\t" \
++ "movl #"#n", %sp@- \n\t" /* method index */ \
++ "movl %a6@(8), %sp@- \n\t" /* this */ \
++ "jbsr "SYMBOLPREFIX"PrepareAndDispatch\n\t" \
++ "unlk %a6 \n\t" \
+ "rts \n\t" \
+ );
+
diff --git a/www/seamonkey/patches/patch-xg b/www/seamonkey/patches/patch-xg
index 53814dce9d0..57fcb3447f6 100644
--- a/www/seamonkey/patches/patch-xg
+++ b/www/seamonkey/patches/patch-xg
@@ -1,8 +1,8 @@
-$NetBSD: patch-xg,v 1.2 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-xg,v 1.3 2012/03/10 03:26:06 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 2009-06-29 18:15:33.000000000 +0200
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm_netbsd.cpp.orig 2012-02-16 14:09:41.000000000 +0000
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm_netbsd.cpp
@@ -118,18 +118,23 @@ PrepareAndDispatch(nsXPTCStubBase* self,
* so they are contiguous with values passed on the stack, and then calls
diff --git a/www/seamonkey/patches/patch-xg.orig b/www/seamonkey/patches/patch-xg.orig
new file mode 100644
index 00000000000..92cdde18a21
--- /dev/null
+++ b/www/seamonkey/patches/patch-xg.orig
@@ -0,0 +1,33 @@
+$NetBSD: patch-xg.orig,v 1.1 2012/03/10 03:26:06 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 2009-06-29 18:15:33.000000000 +0200
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm_netbsd.cpp
+@@ -118,18 +118,23 @@ PrepareAndDispatch(nsXPTCStubBase* self,
+ * so they are contiguous with values passed on the stack, and then calls
+ * PrepareAndDispatch() to do the dirty work.
+ */
++#ifndef __ELF__
++#define SYMBOLPREFIX "_"
++#else
++#define SYMBOLPREFIX
++#endif
+
+ #define STUB_ENTRY(n) \
+ __asm__( \
+- ".global _Stub"#n"__14nsXPTCStubBase\n\t" \
+-"_Stub"#n"__14nsXPTCStubBase:\n\t" \
++ ".global "SYMBOLPREFIX"Stub"#n"__14nsXPTCStubBase\n\t" \
++SYMBOLPREFIX"Stub"#n"__14nsXPTCStubBase:\n\t" \
+ "stmfd sp!, {r1, r2, r3} \n\t" \
+ "mov ip, sp \n\t" \
+ "stmfd sp!, {fp, ip, lr, pc} \n\t" \
+ "sub fp, ip, #4 \n\t" \
+ "mov r1, #"#n" \n\t" /* = methodIndex */ \
+ "add r2, sp, #16 \n\t" \
+- "bl _PrepareAndDispatch__FP14nsXPTCStubBaseUiPUi \n\t" \
++ "bl "SYMBOLPREFIX"PrepareAndDispatch__FP14nsXPTCStubBaseUiPUi \n\t" \
+ "ldmea fp, {fp, sp, lr} \n\t" \
+ "add sp, sp, #12 \n\t" \
+ "mov pc, lr \n\t" \
diff --git a/www/seamonkey/patches/patch-xj b/www/seamonkey/patches/patch-xj
index 9987abd195a..2c16cb4870e 100644
--- a/www/seamonkey/patches/patch-xj
+++ b/www/seamonkey/patches/patch-xj
@@ -1,8 +1,8 @@
-$NetBSD: patch-xj,v 1.1 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-xj,v 1.2 2012/03/10 03:26:07 ryoon Exp $
NetBSD ppc xptcall support code. Originally from pkgsrc/www/mozilla.
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_netbsd.cpp.orig 2009-06-29 18:15:33.000000000 +0200
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_netbsd.cpp.orig 2012-02-16 14:09:41.000000000 +0000
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_netbsd.cpp
@@ -41,6 +41,7 @@
// Implement shared vtbl methods.
diff --git a/www/seamonkey/patches/patch-xj.orig b/www/seamonkey/patches/patch-xj.orig
new file mode 100644
index 00000000000..a09212e76d3
--- /dev/null
+++ b/www/seamonkey/patches/patch-xj.orig
@@ -0,0 +1,129 @@
+$NetBSD: patch-xj.orig,v 1.1 2012/03/10 03:26:07 ryoon Exp $
+
+NetBSD ppc xptcall support code. Originally from pkgsrc/www/mozilla.
+
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_netbsd.cpp.orig 2009-06-29 18:15:33.000000000 +0200
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_netbsd.cpp
+@@ -41,6 +41,7 @@
+ // Implement shared vtbl methods.
+
+ #include "xptcprivate.h"
++#include "xptiprivate.h"
+
+ // The Linux/PPC ABI (aka PPC/SYSV ABI) passes the first 8 integral
+ // parameters and the first 8 floating point parameters in registers
+@@ -71,7 +72,6 @@ PrepareAndDispatch(nsXPTCStubBase* self,
+ {
+ nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
+ nsXPTCMiniVariant* dispatchParams = NULL;
+- nsIInterfaceInfo* iface_info = NULL;
+ const nsXPTMethodInfo* info;
+ PRUint32 paramCount;
+ PRUint32 i;
+@@ -79,12 +79,7 @@ PrepareAndDispatch(nsXPTCStubBase* self,
+
+ NS_ASSERTION(self,"no self");
+
+- self->GetInterfaceInfo(&iface_info);
+- NS_ASSERTION(iface_info,"no interface info");
+- if (! iface_info)
+- return NS_ERROR_UNEXPECTED;
+-
+- iface_info->GetMethodInfo(PRUint16(methodIndex), &info);
++ self->mEntry->GetMethodInfo(PRUint16(methodIndex), &info);
+ NS_ASSERTION(info,"no method info");
+ if (! info)
+ return NS_ERROR_UNEXPECTED;
+@@ -119,8 +114,10 @@ PrepareAndDispatch(nsXPTCStubBase* self,
+ if ((PRUint32) ap & 4) ap++; // doubles are 8-byte aligned on stack
+ dp->val.d = *(double*) ap;
+ ap += 2;
++#if __GXX_ABI_VERSION < 100
+ if (gpr < GPR_COUNT)
+ gpr += 2;
++#endif
+ }
+ continue;
+ }
+@@ -130,8 +127,10 @@ PrepareAndDispatch(nsXPTCStubBase* self,
+ else {
+ dp->val.f = *(float*) ap;
+ ap += 1;
++#if __GXX_ABI_VERSION < 100
+ if (gpr < GPR_COUNT)
+ gpr += 1;
++#endif
+ }
+ continue;
+ }
+@@ -179,9 +178,9 @@ PrepareAndDispatch(nsXPTCStubBase* self,
+ }
+ }
+
+- result = self->CallMethod((PRUint16) methodIndex, info, dispatchParams);
+-
+- NS_RELEASE(iface_info);
++ result = self->mOuter->CallMethod((PRUint16) methodIndex,
++ info,
++ dispatchParams);
+
+ if (dispatchParams != paramBuffer)
+ delete [] dispatchParams;
+@@ -195,7 +194,9 @@ PrepareAndDispatch(nsXPTCStubBase* self,
+ // however, it's quick, dirty, and'll break when the ABI changes on
+ // us, which is what we want ;-).
+
+-#define STUB_ENTRY(n) \
++#if __GXX_ABI_VERSION < 100
++// gcc-2 version
++# define STUB_ENTRY(n) \
+ __asm__ ( \
+ ".section \".text\" \n\t" \
+ ".align 2 \n\t" \
+@@ -206,6 +207,46 @@ __asm__ (
+ "li 11,"#n" \n\t" \
+ "b SharedStub@local \n" \
+ );
++#else
++// gcc-3 version
++//
++// As G++3 ABI contains the length of the functionname in the mangled
++// name, it is difficult to get a generic assembler mechanism like
++// in the G++ 2.95 case.
++// Create names would be like:
++// _ZN14nsXPTCStubBase5Stub1Ev
++// _ZN14nsXPTCStubBase6Stub12Ev
++// _ZN14nsXPTCStubBase7Stub123Ev
++// _ZN14nsXPTCStubBase8Stub1234Ev
++// etc.
++// Use assembler directives to get the names right...
++
++# define STUB_ENTRY(n) \
++__asm__ ( \
++ ".align 2 \n\t" \
++ ".if "#n" < 10 \n\t" \
++ ".globl _ZN14nsXPTCStubBase5Stub"#n"Ev \n\t" \
++ ".type _ZN14nsXPTCStubBase5Stub"#n"Ev,@function \n\n" \
++"_ZN14nsXPTCStubBase5Stub"#n"Ev: \n\t" \
++ \
++ ".elseif "#n" < 100 \n\t" \
++ ".globl _ZN14nsXPTCStubBase6Stub"#n"Ev \n\t" \
++ ".type _ZN14nsXPTCStubBase6Stub"#n"Ev,@function \n\n" \
++"_ZN14nsXPTCStubBase6Stub"#n"Ev: \n\t" \
++ \
++ ".elseif "#n" < 1000 \n\t" \
++ ".globl _ZN14nsXPTCStubBase7Stub"#n"Ev \n\t" \
++ ".type _ZN14nsXPTCStubBase7Stub"#n"Ev,@function \n\n" \
++"_ZN14nsXPTCStubBase7Stub"#n"Ev: \n\t" \
++ \
++ ".else \n\t" \
++ ".err \"stub number "#n" >= 1000 not yet supported\"\n" \
++ ".endif \n\t" \
++ \
++ "li 11,"#n" \n\t" \
++ "b SharedStub@local \n" \
++);
++#endif
+
+ #define SENTINEL_ENTRY(n) \
+ nsresult nsXPTCStubBase::Sentinel##n() \
diff --git a/www/seamonkey/patches/patch-xk b/www/seamonkey/patches/patch-xk
index c4a424727c8..cb9cf939083 100644
--- a/www/seamonkey/patches/patch-xk
+++ b/www/seamonkey/patches/patch-xk
@@ -1,8 +1,8 @@
-$NetBSD: patch-xk,v 1.1 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-xk,v 1.2 2012/03/10 03:26:07 ryoon Exp $
NetBSD ppc xptcall support code. Originally from pkgsrc/www/mozilla.
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc_netbsd.s.orig 2009-06-29 18:15:33.000000000 +0200
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc_netbsd.s.orig 2012-02-16 14:09:41.000000000 +0000
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc_netbsd.s
@@ -1,43 +1,43 @@
-# -*- Mode: Asm -*-
diff --git a/www/seamonkey/patches/patch-xk.orig b/www/seamonkey/patches/patch-xk.orig
new file mode 100644
index 00000000000..3476d34a09f
--- /dev/null
+++ b/www/seamonkey/patches/patch-xk.orig
@@ -0,0 +1,156 @@
+$NetBSD: patch-xk.orig,v 1.1 2012/03/10 03:26:07 ryoon Exp $
+
+NetBSD ppc xptcall support code. Originally from pkgsrc/www/mozilla.
+
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc_netbsd.s.orig 2009-06-29 18:15:33.000000000 +0200
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc_netbsd.s
+@@ -1,43 +1,43 @@
+-# -*- Mode: Asm -*-
+-#
+-# ***** BEGIN LICENSE BLOCK *****
+-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
+-#
+-# The contents of this file are subject to the Mozilla Public License Version
+-# 1.1 (the "License"); you may not use this file except in compliance with
+-# the License. You may obtain a copy of the License at
+-# http://www.mozilla.org/MPL/
+-#
+-# Software distributed under the License is distributed on an "AS IS" basis,
+-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+-# for the specific language governing rights and limitations under the
+-# License.
+-#
+-# The Original Code is mozilla.org code.
+-#
+-# The Initial Developer of the Original Code is
+-# Netscape Communications Corporation.
+-# Portions created by the Initial Developer are Copyright (C) 1999
+-# the Initial Developer. All Rights Reserved.
+-#
+-# Contributor(s):
+-# Franz.Sirl-kernel@lauterbach.com (Franz Sirl)
+-# beard@netscape.com (Patrick Beard)
+-# waterson@netscape.com (Chris Waterson)
+-#
+-# Alternatively, the contents of this file may be used under the terms of
+-# either the GNU General Public License Version 2 or later (the "GPL"), or
+-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+-# in which case the provisions of the GPL or the LGPL are applicable instead
+-# of those above. If you wish to allow use of your version of this file only
+-# under the terms of either the GPL or the LGPL, and not to allow others to
+-# use your version of this file under the terms of the MPL, indicate your
+-# decision by deleting the provisions above and replace them with the notice
+-# and other provisions required by the GPL or the LGPL. If you do not delete
+-# the provisions above, a recipient may use your version of this file under
+-# the terms of any one of the MPL, the GPL or the LGPL.
+-#
+-# ***** END LICENSE BLOCK *****
++// -*- Mode: Asm -*-
++//
++// ***** BEGIN LICENSE BLOCK *****
++// Version: MPL 1.1/GPL 2.0/LGPL 2.1
++//
++// The contents of this file are subject to the Mozilla Public License Version
++// 1.1 (the "License"); you may not use this file except in compliance with
++// the License. You may obtain a copy of the License at
++// http://www.mozilla.org/MPL/
++//
++// Software distributed under the License is distributed on an "AS IS" basis,
++// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
++// for the specific language governing rights and limitations under the
++// License.
++//
++// The Original Code is mozilla.org code.
++//
++// The Initial Developer of the Original Code is
++// Netscape Communications Corporation.
++// Portions created by the Initial Developer are Copyright (C) 1999
++// the Initial Developer. All Rights Reserved.
++//
++// Contributor(s):
++// Franz.Sirl-kernel@lauterbach.com (Franz Sirl)
++// beard@netscape.com (Patrick Beard)
++// waterson@netscape.com (Chris Waterson)
++//
++// Alternatively, the contents of this file may be used under the terms of
++// either the GNU General Public License Version 2 or later (the "GPL"), or
++// the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
++// in which case the provisions of the GPL or the LGPL are applicable instead
++// of those above. If you wish to allow use of your version of this file only
++// under the terms of either the GPL or the LGPL, and not to allow others to
++// use your version of this file under the terms of the MPL, indicate your
++// decision by deleting the provisions above and replace them with the notice
++// and other provisions required by the GPL or the LGPL. If you do not delete
++// the provisions above, a recipient may use your version of this file under
++// the terms of any one of the MPL, the GPL or the LGPL.
++//
++// ***** END LICENSE BLOCK *****
+
+ .set r0,0; .set sp,1; .set RTOC,2; .set r3,3; .set r4,4
+ .set r5,5; .set r6,6; .set r7,7; .set r8,8; .set r9,9
+@@ -60,23 +60,23 @@
+ .type SharedStub,@function
+
+ SharedStub:
+- stwu sp,-112(sp) # room for
+- # linkage (8),
+- # gprData (32),
+- # fprData (64),
+- # stack alignment(8)
++ stwu sp,-112(sp) // room for
++ // linkage (8),
++ // gprData (32),
++ // fprData (64),
++ // stack alignment(8)
+ mflr r0
+- stw r0,116(sp) # save LR backchain
++ stw r0,116(sp) // save LR backchain
+
+- stw r4,12(sp) # save GP registers
+- stw r5,16(sp) # (n.b. that we don't save r3
+- stw r6,20(sp) # because PrepareAndDispatch() is savvy)
++ stw r4,12(sp) // save GP registers
++ stw r5,16(sp) // (n.b. that we don't save r3
++ stw r6,20(sp) // because PrepareAndDispatch() is savvy)
+ stw r7,24(sp)
+ stw r8,28(sp)
+ stw r9,32(sp)
+ stw r10,36(sp)
+
+- stfd f1,40(sp) # save FP registers
++ stfd f1,40(sp) // save FP registers
+ stfd f2,48(sp)
+ stfd f3,56(sp)
+ stfd f4,64(sp)
+@@ -85,21 +85,21 @@ SharedStub:
+ stfd f7,88(sp)
+ stfd f8,96(sp)
+
+- # r3 has the 'self' pointer already
++ // r3 has the 'self' pointer already
+
+- mr r4,r11 # r4 <= methodIndex selector, passed
+- # via r11 in the nsXPTCStubBase::StubXX() call
++ mr r4,r11 // r4 <= methodIndex selector, passed
++ // via r11 in the nsXPTCStubBase::StubXX() call
+
+- addi r5,sp,120 # r5 <= pointer to callers args area,
+- # beyond r3-r10/f1-f8 mapped range
++ addi r5,sp,120 // r5 <= pointer to callers args area,
++ // beyond r3-r10/f1-f8 mapped range
+
+- addi r6,sp,8 # r6 <= gprData
+- addi r7,sp,40 # r7 <= fprData
++ addi r6,sp,8 // r6 <= gprData
++ addi r7,sp,40 // r7 <= fprData
+
+- bl PrepareAndDispatch@local # Go!
++ bl PrepareAndDispatch@local // Go!
+
+- lwz r0,116(sp) # restore LR
++ lwz r0,116(sp) // restore LR
+ mtlr r0
+- la sp,112(sp) # clean up the stack
++ la sp,112(sp) // clean up the stack
+ blr
+
diff --git a/www/seamonkey/patches/patch-xl b/www/seamonkey/patches/patch-xl
index d107cfcd21a..15c750ae439 100644
--- a/www/seamonkey/patches/patch-xl
+++ b/www/seamonkey/patches/patch-xl
@@ -1,8 +1,8 @@
-$NetBSD: patch-xl,v 1.1 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-xl,v 1.2 2012/03/10 03:26:07 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 2009-06-29 18:15:33.000000000 +0200
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc_netbsd.s.orig 2012-02-16 14:09:41.000000000 +0000
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc_netbsd.s
@@ -1,43 +1,43 @@
-# -*- Mode: Asm -*-
diff --git a/www/seamonkey/patches/patch-xl.orig b/www/seamonkey/patches/patch-xl.orig
new file mode 100644
index 00000000000..007be401d9b
--- /dev/null
+++ b/www/seamonkey/patches/patch-xl.orig
@@ -0,0 +1,200 @@
+$NetBSD: patch-xl.orig,v 1.1 2012/03/10 03:26:07 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 2009-06-29 18:15:33.000000000 +0200
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc_netbsd.s
+@@ -1,43 +1,43 @@
+-# -*- Mode: Asm -*-
+-#
+-# ***** BEGIN LICENSE BLOCK *****
+-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
+-#
+-# The contents of this file are subject to the Mozilla Public License Version
+-# 1.1 (the "License"); you may not use this file except in compliance with
+-# the License. You may obtain a copy of the License at
+-# http://www.mozilla.org/MPL/
+-#
+-# Software distributed under the License is distributed on an "AS IS" basis,
+-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+-# for the specific language governing rights and limitations under the
+-# License.
+-#
+-# The Original Code is mozilla.org code.
+-#
+-# The Initial Developer of the Original Code is
+-# Netscape Communications Corporation.
+-# Portions created by the Initial Developer are Copyright (C) 1999
+-# the Initial Developer. All Rights Reserved.
+-#
+-# Contributor(s):
+-# Franz.Sirl-kernel@lauterbach.com (Franz Sirl)
+-# beard@netscape.com (Patrick Beard)
+-# waterson@netscape.com (Chris Waterson)
+-#
+-# Alternatively, the contents of this file may be used under the terms of
+-# either the GNU General Public License Version 2 or later (the "GPL"), or
+-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+-# in which case the provisions of the GPL or the LGPL are applicable instead
+-# of those above. If you wish to allow use of your version of this file only
+-# under the terms of either the GPL or the LGPL, and not to allow others to
+-# use your version of this file under the terms of the MPL, indicate your
+-# decision by deleting the provisions above and replace them with the notice
+-# and other provisions required by the GPL or the LGPL. If you do not delete
+-# the provisions above, a recipient may use your version of this file under
+-# the terms of any one of the MPL, the GPL or the LGPL.
+-#
+-# ***** END LICENSE BLOCK *****
++// -*- Mode: Asm -*-
++//
++// ***** BEGIN LICENSE BLOCK *****
++// Version: MPL 1.1/GPL 2.0/LGPL 2.1
++//
++// The contents of this file are subject to the Mozilla Public License Version
++// 1.1 (the "License"); you may not use this file except in compliance with
++// the License. You may obtain a copy of the License at
++// http://www.mozilla.org/MPL/
++//
++// Software distributed under the License is distributed on an "AS IS" basis,
++// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
++// for the specific language governing rights and limitations under the
++// License.
++//
++// The Original Code is mozilla.org code.
++//
++// The Initial Developer of the Original Code is
++// Netscape Communications Corporation.
++// Portions created by the Initial Developer are Copyright (C) 1999
++// the Initial Developer. All Rights Reserved.
++//
++// Contributor(s):
++// Franz.Sirl-kernel@lauterbach.com (Franz Sirl)
++// beard@netscape.com (Patrick Beard)
++// waterson@netscape.com (Chris Waterson)
++//
++// Alternatively, the contents of this file may be used under the terms of
++// either the GNU General Public License Version 2 or later (the "GPL"), or
++// the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
++// in which case the provisions of the GPL or the LGPL are applicable instead
++// of those above. If you wish to allow use of your version of this file only
++// under the terms of either the GPL or the LGPL, and not to allow others to
++// use your version of this file under the terms of the MPL, indicate your
++// decision by deleting the provisions above and replace them with the notice
++// and other provisions required by the GPL or the LGPL. If you do not delete
++// the provisions above, a recipient may use your version of this file under
++// the terms of any one of the MPL, the GPL or the LGPL.
++//
++// ***** END LICENSE BLOCK *****
+ .set r0,0; .set sp,1; .set RTOC,2; .set r3,3; .set r4,4
+ .set r5,5; .set r6,6; .set r7,7; .set r8,8; .set r9,9
+ .set r10,10; .set r11,11; .set r12,12; .set r13,13; .set r14,14
+@@ -55,41 +55,41 @@
+
+ .section ".text"
+ .align 2
+- .globl XPTC_InvokeByIndex
+- .type XPTC_InvokeByIndex,@function
++ .globl NS_InvokeByIndex_P
++ .type NS_InvokeByIndex_P,@function
+
+-#
+-# XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
+-# PRUint32 paramCount, nsXPTCVariant* params)
+-#
+-
+-XPTC_InvokeByIndex:
+- stwu sp,-32(sp) # setup standard stack frame
+- mflr r0 # save LR
+- stw r3,8(sp) # r3 <= that
+- stw r4,12(sp) # r4 <= methodIndex
++//
++// NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
++// PRUint32 paramCount, nsXPTCVariant* params)
++//
++
++NS_InvokeByIndex_P:
++ stwu sp,-32(sp) // setup standard stack frame
++ mflr r0 // save LR
++ stw r3,8(sp) // r3 <= that
++ stw r4,12(sp) // r4 <= methodIndex
+ stw r30,16(sp)
+ stw r31,20(sp)
+
+- stw r0,36(sp) # store LR backchain
++ stw r0,36(sp) // store LR backchain
+ mr r31,sp
+
+- rlwinm r10,r5,3,0,27 # r10 = (ParamCount * 2 * 4) & ~0x0f
+- addi r0,r10,96 # reserve stack for GPR and FPR register save area r0 = r10 + 96
+- lwz r9,0(sp) # r9 = backchain
++ rlwinm r10,r5,3,0,27 // r10 = (ParamCount * 2 * 4) & ~0x0f
++ addi r0,r10,96 // reserve stack for GPR and FPR register save area r0 = r10 + 96
++ lwz r9,0(sp) // r9 = backchain
+ neg r0,r0
+- stwux r9,sp,r0 # reserve stack sapce and save SP backchain
++ stwux r9,sp,r0 // reserve stack sapce and save SP backchain
+
+- addi r3,sp,8 # r3 <= args
+- mr r4,r5 # r4 <= paramCount
+- mr r5,r6 # r5 <= params
+- add r6,r3,r10 # r6 <= gpregs ( == args + r10 )
+- mr r30,r6 # store in r30 for use later...
+- addi r7,r6,32 # r7 <= fpregs ( == gpregs + 32 )
++ addi r3,sp,8 // r3 <= args
++ mr r4,r5 // r4 <= paramCount
++ mr r5,r6 // r5 <= params
++ add r6,r3,r10 // r6 <= gpregs ( == args + r10 )
++ mr r30,r6 // store in r30 for use later...
++ addi r7,r6,32 // r7 <= fpregs ( == gpregs + 32 )
+
+- bl invoke_copy_to_stack@local # (args, paramCount, params, gpregs, fpregs)
++ bl invoke_copy_to_stack@local // (args, paramCount, params, gpregs, fpregs)
+
+- lfd f1,32(r30) # load FP registers with method parameters
++ lfd f1,32(r30) // load FP registers with method parameters
+ lfd f2,40(r30)
+ lfd f3,48(r30)
+ lfd f4,56(r30)
+@@ -98,18 +98,13 @@ XPTC_InvokeByIndex:
+ lfd f7,80(r30)
+ lfd f8,88(r30)
+
+- lwz r3,8(r31) # r3 <= that
+- lwz r4,12(r31) # r4 <= methodIndex
+- lwz r5,0(r3) # r5 <= vtable ( == *that )
+- slwi r4,r4,3 # convert to offset ( *= 8 )
+- addi r4,r4,8 # skip first two vtable entries
+- add r4,r4,r5
+- lhz r0,0(r4) # virtual base offset
+- extsh r0,r0
+- add r3,r3,r0
+- lwz r0,4(r4) # r0 <= methodpointer ( == vtable + offset )
++ lwz r3,8(r31) // r3 <= that
++ lwz r4,12(r31) // r4 <= methodIndex
++ lwz r5,0(r3) // r5 <= vtable ( == *that )
++ slwi r4,r4,2 // convert to offset ( *= 4 )
++ lwzx r0,r4,r5 // r0 <= methodpointer ( == vtable + offset )
+
+- lwz r4,4(r30) # load GP regs with method parameters
++ lwz r4,4(r30) // load GP regs with method parameters
+ lwz r5,8(r30)
+ lwz r6,12(r30)
+ lwz r7,16(r30)
+@@ -117,13 +112,13 @@ XPTC_InvokeByIndex:
+ lwz r9,24(r30)
+ lwz r10,28(r30)
+
+- mtlr r0 # copy methodpointer to LR
+- blrl # call method
++ mtlr r0 // copy methodpointer to LR
++ blrl // call method
+
+- lwz r30,16(r31) # restore r30 & r31
++ lwz r30,16(r31) // restore r30 & r31
+ lwz r31,20(r31)
+
+- lwz r11,0(sp) # clean up the stack
++ lwz r11,0(sp) // clean up the stack
+ lwz r0,4(r11)
+ mtlr r0
+ mr sp,r11
diff --git a/www/seamonkey/patches/patch-xm b/www/seamonkey/patches/patch-xm
index 60d4dbe2af4..279b18dfd6e 100644
--- a/www/seamonkey/patches/patch-xm
+++ b/www/seamonkey/patches/patch-xm
@@ -1,8 +1,8 @@
-$NetBSD: patch-xm,v 1.1 2010/03/16 10:59:10 tnn Exp $
+$NetBSD: patch-xm,v 1.2 2012/03/10 03:26:07 ryoon Exp $
NetBSD/ppc xptcall support code. Originally from pkgsrc/www/mozilla.
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc_netbsd.cpp.orig 2009-06-29 18:15:33.000000000 +0200
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc_netbsd.cpp.orig 2012-02-16 14:09:41.000000000 +0000
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc_netbsd.cpp
@@ -40,9 +40,9 @@
diff --git a/www/seamonkey/patches/patch-xm.orig b/www/seamonkey/patches/patch-xm.orig
new file mode 100644
index 00000000000..399652da49f
--- /dev/null
+++ b/www/seamonkey/patches/patch-xm.orig
@@ -0,0 +1,49 @@
+$NetBSD: patch-xm.orig,v 1.1 2012/03/10 03:26:07 ryoon Exp $
+
+NetBSD/ppc xptcall support code. Originally from pkgsrc/www/mozilla.
+
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc_netbsd.cpp.orig 2009-06-29 18:15:33.000000000 +0200
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc_netbsd.cpp
+@@ -40,9 +40,9 @@
+
+ // Platform specific code to invoke XPCOM methods on native objects
+
+-// The purpose of XPTC_InvokeByIndex() is to map a platform
++// The purpose of NS_InvokeByIndex_P() is to map a platform
+ // indepenpent call to the platform ABI. To do that,
+-// XPTC_InvokeByIndex() has to determine the method to call via vtable
++// NS_InvokeByIndex_P() has to determine the method to call via vtable
+ // 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
+@@ -104,8 +104,10 @@ invoke_copy_to_stack(PRUint32* d,
+ if ((PRUint32) d & 4) d++; // doubles are 8-byte aligned on stack
+ *((double*) d) = s->val.d;
+ d += 2;
++#if __GXX_ABI_VERSION < 100
+ if (gpr < GPR_COUNT)
+ gpr += 2;
++#endif
+ }
+ }
+ else if (!s->IsPtrData() && s->type == nsXPTType::T_FLOAT) {
+@@ -114,8 +116,10 @@ invoke_copy_to_stack(PRUint32* d,
+ else {
+ *((float*) d) = s->val.f;
+ d += 1;
++#if __GXX_ABI_VERSION < 100
+ if (gpr < GPR_COUNT)
+ gpr += 1;
++#endif
+ }
+ }
+ else if (!s->IsPtrData() && (s->type == nsXPTType::T_I64
+@@ -142,6 +146,6 @@ invoke_copy_to_stack(PRUint32* d,
+ }
+
+ extern "C"
+-XPTC_PUBLIC_API(nsresult)
+-XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
++EXPORT_XPCOM_API(nsresult)
++NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
+ PRUint32 paramCount, nsXPTCVariant* params);
diff --git a/www/seamonkey/patches/patch-xn b/www/seamonkey/patches/patch-xn
index 27a58586f7b..8128bf2ffb0 100644
--- a/www/seamonkey/patches/patch-xn
+++ b/www/seamonkey/patches/patch-xn
@@ -1,7 +1,7 @@
-$NetBSD: patch-xn,v 1.1 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-xn,v 1.2 2012/03/10 03:26:07 ryoon Exp $
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.s.orig 2010-03-31 05:56:51.000000000 -0400
-+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.s 2010-03-31 06:28:51.000000000 -0400
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.s.orig 2012-02-16 14:09:41.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.s
@@ -42,8 +42,46 @@
/* This code is for MIPS using the O32 ABI. */
diff --git a/www/seamonkey/patches/patch-xn.orig b/www/seamonkey/patches/patch-xn.orig
new file mode 100644
index 00000000000..42765e2e06e
--- /dev/null
+++ b/www/seamonkey/patches/patch-xn.orig
@@ -0,0 +1,53 @@
+$NetBSD: patch-xn.orig,v 1.1 2012/03/10 03:26:07 ryoon Exp $
+
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.s.orig 2010-03-31 05:56:51.000000000 -0400
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.s 2010-03-31 06:28:51.000000000 -0400
+@@ -42,8 +42,46 @@
+
+ /* This code is for MIPS using the O32 ABI. */
+
+-#include <sys/regdef.h>
+-#include <sys/asm.h>
++#ifdef __NetBSD__
++# include <machine/regdef.h>
++# include <machine/asm.h>
++# ifndef fp
++# define fp s8
++# endif
++# ifndef PTRLOG
++# if SZREG == 4
++# define PTRLOG 2
++# else
++# define PTRLOG 3
++# endif
++# endif
++# ifndef SETUP_GP
++# if defined(__mips_o32)
++# define SETUP_GP \
++ .set push; \
++ .set noreorder; \
++ .cpload t9; \
++ .set pop
++# define SAVE_GP(x) \
++ .cprestore x
++# else
++# define SETUP_GP
++# define SAVE_GP(x)
++# endif
++# endif
++# ifndef ALSZ
++# if defined(__mips_n32) || defined(__mips_n64)
++# define ALSZ 15
++# define ALMASK ~15
++# else
++# define ALSZ 7
++# define ALMASK ~7
++# endif
++# endif
++#else
++# include <sys/regdef.h>
++# include <sys/asm.h>
++#endif
+
+ # NARGSAVE is the argument space in the callers frame, including extra
+ # 'shadowed' space for the argument registers. The minimum of 4
diff --git a/www/seamonkey/patches/patch-xo b/www/seamonkey/patches/patch-xo
index 931528ad141..3aac6ef653d 100644
--- a/www/seamonkey/patches/patch-xo
+++ b/www/seamonkey/patches/patch-xo
@@ -1,7 +1,7 @@
-$NetBSD: patch-xo,v 1.1 2011/07/11 20:46:36 tnn Exp $
+$NetBSD: patch-xo,v 1.2 2012/03/10 03:26:07 ryoon Exp $
---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s.orig 2010-03-31 06:23:31.000000000 -0400
-+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s 2010-03-31 06:28:23.000000000 -0400
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s.orig 2012-02-16 14:09:41.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s
@@ -26,8 +26,46 @@
/* This code is for MIPS using the O32 ABI. */
diff --git a/www/seamonkey/patches/patch-xo.orig b/www/seamonkey/patches/patch-xo.orig
new file mode 100644
index 00000000000..8c424e4c199
--- /dev/null
+++ b/www/seamonkey/patches/patch-xo.orig
@@ -0,0 +1,53 @@
+$NetBSD: patch-xo.orig,v 1.1 2012/03/10 03:26:07 ryoon Exp $
+
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s.orig 2010-03-31 06:23:31.000000000 -0400
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s 2010-03-31 06:28:23.000000000 -0400
+@@ -26,8 +26,46 @@
+
+ /* This code is for MIPS using the O32 ABI. */
+
+-#include <sys/regdef.h>
+-#include <sys/asm.h>
++#ifdef __NetBSD__
++# include <machine/regdef.h>
++# include <machine/asm.h>
++# ifndef fp
++# define fp s8
++# endif
++# ifndef PTRLOG
++# if SZREG == 4
++# define PTRLOG 2
++# else
++# define PTRLOG 3
++# endif
++# endif
++# ifndef SETUP_GP
++# if defined(__mips_o32)
++# define SETUP_GP \
++ .set push; \
++ .set noreorder; \
++ .cpload t9; \
++ .set pop
++# define SAVE_GP(x) \
++ .cprestore x
++# else
++# define SETUP_GP
++# define SAVE_GP(x)
++# endif
++# endif
++# ifndef ALSZ
++# if defined(__mips_n32) || defined(__mips_n64)
++# define ALSZ 15
++# define ALMASK ~15
++# else
++# define ALSZ 7
++# define ALMASK ~7
++# endif
++# endif
++#else
++# include <sys/regdef.h>
++# include <sys/asm.h>
++#endif
+
+ # NARGSAVE is the argument space in the callers frame, including extra
+ # 'shadowed' space for the argument registers. The minimum of 4
diff --git a/www/seamonkey/patches/patch-za b/www/seamonkey/patches/patch-za
index bd753e8d54e..80c44fe8bcf 100644
--- a/www/seamonkey/patches/patch-za
+++ b/www/seamonkey/patches/patch-za
@@ -1,12 +1,13 @@
-$NetBSD: patch-za,v 1.3 2011/11/12 16:41:43 tnn Exp $
+$NetBSD: patch-za,v 1.4 2012/03/10 03:26:07 ryoon Exp $
---- suite/app/Makefile.in.orig 2011-09-28 23:11:01.000000000 +0000
+--- suite/app/Makefile.in.orig 2012-02-16 13:59:53.000000000 +0000
+++ suite/app/Makefile.in
-@@ -91,6 +91,10 @@ ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
+@@ -92,6 +92,11 @@ ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
TK_LIBS := -framework Cocoa $(TK_LIBS)
endif
+ifeq ($(OS_ARCH),NetBSD)
++OS_LIBS += $(call EXPAND_LIBNAME,kvm)
+LIBS += -lossaudio
+endif
+
diff --git a/www/seamonkey/patches/patch-za.orig b/www/seamonkey/patches/patch-za.orig
new file mode 100644
index 00000000000..e44cfe0be7d
--- /dev/null
+++ b/www/seamonkey/patches/patch-za.orig
@@ -0,0 +1,15 @@
+$NetBSD: patch-za.orig,v 1.1 2012/03/10 03:26:07 ryoon Exp $
+
+--- suite/app/Makefile.in.orig 2011-09-28 23:11:01.000000000 +0000
++++ suite/app/Makefile.in
+@@ -91,6 +91,10 @@ ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
+ TK_LIBS := -framework Cocoa $(TK_LIBS)
+ endif
+
++ifeq ($(OS_ARCH),NetBSD)
++LIBS += -lossaudio
++endif
++
+ APP_XPCOM_LIBS = $(XPCOM_GLUE_LDOPTS)
+
+ LIBS += \
diff --git a/www/seamonkey/patches/patch-zc b/www/seamonkey/patches/patch-zc
index 80db15e732d..7c07981dee9 100644
--- a/www/seamonkey/patches/patch-zc
+++ b/www/seamonkey/patches/patch-zc
@@ -1,6 +1,6 @@
-$NetBSD: patch-zc,v 1.1 2009/11/29 00:40:48 tnn Exp $
+$NetBSD: patch-zc,v 1.2 2012/03/10 03:26:07 ryoon Exp $
---- suite/app/nsSuiteApp.cpp.orig 2009-10-25 15:29:07.000000000 +0100
+--- suite/app/nsSuiteApp.cpp.orig 2012-02-16 13:59:53.000000000 +0000
+++ suite/app/nsSuiteApp.cpp
@@ -44,6 +44,27 @@
diff --git a/www/seamonkey/patches/patch-zc.orig b/www/seamonkey/patches/patch-zc.orig
new file mode 100644
index 00000000000..1ac6886c0df
--- /dev/null
+++ b/www/seamonkey/patches/patch-zc.orig
@@ -0,0 +1,40 @@
+$NetBSD: patch-zc.orig,v 1.1 2012/03/10 03:26:07 ryoon Exp $
+
+--- suite/app/nsSuiteApp.cpp.orig 2009-10-25 15:29:07.000000000 +0100
++++ suite/app/nsSuiteApp.cpp
+@@ -44,6 +44,27 @@
+
+ #include <stdio.h>
+ #include <stdarg.h>
++#include <sys/resource.h>
++/*
++ * On netbsd-4, ulimit -n is 64 by default; too few for us.
++ */
++static void netbsd_fixrlimit(void) {
++ struct rlimit rlp;
++ if (getrlimit(RLIMIT_NOFILE, &rlp) == -1) {
++ fprintf(stderr, "warning: getrlimit failed\n");
++ return;
++ }
++ if (rlp.rlim_cur >= 512)
++ return;
++ if (rlp.rlim_max < 512) {
++ fprintf(stderr, "warning: hard limit of 'ulimit -n' too low\n");
++ rlp.rlim_cur = rlp.rlim_max;
++ }
++ else
++ rlp.rlim_cur = 512;
++ if (setrlimit(RLIMIT_NOFILE, &rlp) == -1)
++ fprintf(stderr, "warning: setrlimit failed\n");
++}
+
+ #include "nsCOMPtr.h"
+ #include "nsILocalFile.h"
+@@ -83,6 +104,7 @@ public:
+
+ int main(int argc, char* argv[])
+ {
++ netbsd_fixrlimit();
+ ScopedLogging log;
+
+ nsCOMPtr<nsILocalFile> appini;