rpms/seamonkey/devel find-external-requires, NONE, 1.1 firefox-0.7.3-default-plugin-less-annoying.patch, NONE, 1.1 firefox-0.7.3-psfonts.patch, NONE, 1.1 firefox-1.0-prdtoa.patch, NONE, 1.1 firefox-1.1-nss-system-nspr.patch, NONE, 1.1 firefox-1.1-uriloader.patch, NONE, 1.1 firefox-1.5-with-system-nss.patch, NONE, 1.1 firefox-1.5.0.1-dumpstack.patch, NONE, 1.1 mozilla-1.4.1-ppc64.patch, NONE, 1.1 mozilla-1.7.3-gnome-vfs-default-app.patch, NONE, 1.1 mozilla-1.7.5-g-application-name.patch, NONE, 1.1 mozilla-nspr-packages.patch, NONE, 1.1 mozilla-psm-exclude-list, NONE, 1.1 mozilla-xpcom-exclude-list, NONE, 1.1 pango-cairo.patch, NONE, 1.1 seamonkey-cairo-bug5136.patch, NONE, 1.1 seamonkey-configure.patch, NONE, 1.1 seamonkey-disable-visibility.patch, NONE, 1.1 seamonkey-fedora-default-bookmarks.html, NONE, 1.1 seamonkey-fedora-default-prefs.js, NONE, 1.1 seamonkey-fedora-home-page.patch, NONE, 1.1 seamonkey-icon.png, NONE, 1.1 seamonkey-mail-icon.png, NONE, 1.1 seamonkey-mail.desktop, NONE, 1.1 seamonkey-make-package.pl, NONE, 1.1 seamonkey-mozconfig, NONE, 1.1 seamonkey.desktop, NONE, 1.1 seamonkey.sh.in, NONE, 1.1 seamonkey.spec, NONE, 1.1 thunderbird-0.7.3-gnome-uriloader.patch, NONE, 1.1 thunderbird-1.5-bug304720.patch, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Kai Engert (kengert) fedora-extras-commits at redhat.com
Mon Apr 10 21:58:25 UTC 2006


Author: kengert

Update of /cvs/extras/rpms/seamonkey/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv28333/devel

Modified Files:
	.cvsignore sources 
Added Files:
	find-external-requires 
	firefox-0.7.3-default-plugin-less-annoying.patch 
	firefox-0.7.3-psfonts.patch firefox-1.0-prdtoa.patch 
	firefox-1.1-nss-system-nspr.patch firefox-1.1-uriloader.patch 
	firefox-1.5-with-system-nss.patch 
	firefox-1.5.0.1-dumpstack.patch mozilla-1.4.1-ppc64.patch 
	mozilla-1.7.3-gnome-vfs-default-app.patch 
	mozilla-1.7.5-g-application-name.patch 
	mozilla-nspr-packages.patch mozilla-psm-exclude-list 
	mozilla-xpcom-exclude-list pango-cairo.patch 
	seamonkey-cairo-bug5136.patch seamonkey-configure.patch 
	seamonkey-disable-visibility.patch 
	seamonkey-fedora-default-bookmarks.html 
	seamonkey-fedora-default-prefs.js 
	seamonkey-fedora-home-page.patch seamonkey-icon.png 
	seamonkey-mail-icon.png seamonkey-mail.desktop 
	seamonkey-make-package.pl seamonkey-mozconfig 
	seamonkey.desktop seamonkey.sh.in seamonkey.spec 
	thunderbird-0.7.3-gnome-uriloader.patch 
	thunderbird-1.5-bug304720.patch 
Log Message:
auto-import seamonkey-1.0-9 on branch devel from seamonkey-1.0-9.src.rpm


--- NEW FILE find-external-requires ---
#!/bin/sh

# Finds requirements provided outside of the current file set

filelist=`sed "s/[]['\"*?{}]/\\\\\&/g"`

provides=`echo $filelist | /usr/lib/rpm/find-provides`

{
for f in $filelist ; do
	echo $f | /usr/lib/rpm/find-requires | while read req ; do
		found=0
		for p in $provides ; do
			if [ "$req" = "$p" ]; then
				found=1
			fi
		done
		if [ "$found" = "0" ]; then
			echo $req
		fi
	done
done
} | sort -u
firefox-0.7.3-default-plugin-less-annoying.patch:

--- NEW FILE firefox-0.7.3-default-plugin-less-annoying.patch ---
--- mozilla/modules/plugin/samples/default/unix/npshell.c.foo	Tue May  7 14:18:45 2002
+++ mozilla/modules/plugin/samples/default/unix/npshell.c	Tue May  7 14:49:55 2002
@@ -224,7 +224,7 @@
       This->depth = ws_info->depth;
       This->colormap = ws_info->colormap;
       makePixmap(This);
-      makeWidget(This);
+      /* makeWidget(This); */
     }
     return NPERR_NO_ERROR;
 }
--- mozilla/modules/plugin/samples/default/unix/nullplugin.c.foo	Tue May  7 14:18:45 2002
+++ mozilla/modules/plugin/samples/default/unix/nullplugin.c	Tue May  7 14:48:33 2002
@@ -70,6 +70,8 @@
 
     gtk_object_remove_data(GTK_OBJECT(button), DIALOGID);
 
+#if 0
+
     if (This->pluginsFileUrl != NULL)
     {
         /* Get the JavaScript command string */
@@ -110,6 +112,7 @@
             NPN_MemFree(url);
         }
     }
+#endif
     destroyWidget(This);
 }
 
@@ -265,14 +268,14 @@
                    GTK_DIALOG(dialogWindow)->action_area);
     gtk_object_set_data(GTK_OBJECT(okButton), DIALOGID, dialogWindow);
 
-    cancelButton= AddWidget(gtk_button_new_with_label (CANCEL_BUTTON), 
-                   GTK_DIALOG(dialogWindow)->action_area);
+    /*    cancelButton= AddWidget(gtk_button_new_with_label (CANCEL_BUTTON), 
+          GTK_DIALOG(dialogWindow)->action_area); */
 
     gtk_signal_connect (GTK_OBJECT(okButton),  "clicked",
                         GTK_SIGNAL_FUNC(DialogOKClicked), This);
 
-    gtk_signal_connect (GTK_OBJECT(cancelButton),  "clicked",
-                        GTK_SIGNAL_FUNC(DialogCancelClicked), This);
+    /*    gtk_signal_connect (GTK_OBJECT(cancelButton),  "clicked",
+          GTK_SIGNAL_FUNC(DialogCancelClicked), This); */
 
     /* hookup to when the dialog is destroyed */
     gtk_signal_connect(GTK_OBJECT(dialogWindow), "destroy",
--- mozilla/modules/plugin/samples/default/unix/nullplugin.h.foo	Tue May  7 14:46:48 2002
+++ mozilla/modules/plugin/samples/default/unix/nullplugin.h	Tue May  7 14:47:08 2002
@@ -53,9 +53,7 @@
 #define JVM_MINETYPE        "application/x-java-vm"
 #define MESSAGE "\
 This page contains information of a type (%s) that can\n\
-only be viewed with the appropriate Plug-in.\n\
-\n\
-Click OK to download Plugin."
+only be viewed with the appropriate Plug-in."
 
 #define GET 1
 #define REFRESH 2

firefox-0.7.3-psfonts.patch:

--- NEW FILE firefox-0.7.3-psfonts.patch ---
--- mozilla/modules/libpref/src/init/all.js.foo	2004-06-18 13:16:32.000000000 -0400
+++ mozilla/modules/libpref/src/init/all.js	2004-06-18 13:17:28.000000000 -0400
@@ -1776,8 +1776,10 @@
 pref("print.postscript.nativefont.ar",             "");
 pref("print.postscript.nativefont.el",             "");
 pref("print.postscript.nativefont.he",             "");
-pref("print.postscript.nativefont.ja",             "");
-pref("print.postscript.nativefont.ko",             "");
+pref("print.postscript.nativecode.ja",             "euc-jp");
+pref("print.postscript.nativefont.ja",             "Ryumin-Light-EUC-H");
+pref("print.postscript.nativecode.ko",             "euc-kr");
+pref("print.postscript.nativefont.ko",             "Baekmuk-Gulim-KSC-EUC-H");
 pref("print.postscript.nativefont.th",             "");
 pref("print.postscript.nativefont.tr",             "");
 pref("print.postscript.nativefont.x-baltic",       "");
@@ -1786,8 +1788,10 @@
 pref("print.postscript.nativefont.x-unicode",      "");
 pref("print.postscript.nativefont.x-user-def",     "");
 pref("print.postscript.nativefont.x-western",      "");
-pref("print.postscript.nativefont.zh-CN",          "");
-pref("print.postscript.nativefont.zh-TW",          "");
+pref("print.postscript.nativecode.zh-CN", "gb18030");
+pref("print.postscript.nativefont.zh-CN", "MSungGBK-Light-GBK2K-H");
+pref("print.postscript.nativecode.zh-TW", "big5");
+pref("print.postscript.nativefont.zh-TW", "ShanHeiSun-Light-B5-H");
 pref("print.postscript.nativefont.zh-HK",          "");
 
 # XP_UNIX

firefox-1.0-prdtoa.patch:

--- NEW FILE firefox-1.0-prdtoa.patch ---
Index: nsprpub/pr/src/misc/Makefile.in
===================================================================
RCS file: /cvsroot/mozilla/nsprpub/pr/src/misc/Makefile.in,v
retrieving revision 1.15.2.2
diff -u -r1.15.2.2 Makefile.in
--- nsprpub/pr/src/misc/Makefile.in	6 Jun 2003 03:09:17 -0000	1.15.2.2
+++ nsprpub/pr/src/misc/Makefile.in	19 Nov 2004 00:58:35 -0000
@@ -82,6 +82,15 @@
 
 include $(topsrcdir)/config/rules.mk
 
+ifneq (,$(filter Linuxs390 Linuxs390x,$(OS_ARCH)$(OS_TEST)))
+
+NONOPT_CFLAGS=$(filter-out -O%, $(CFLAGS))
+
+$(OBJDIR)/prdtoa.$(OBJ_SUFFIX): prdtoa.c
+	@$(MAKE_OBJDIR)
+	$(CC) -o $@ -c $(NONOPT_CFLAGS) -ffloat-store $<
+endif
+
 # Prevent floating point errors caused by MSVC 6.0 Processor Pack
 # optimizations (bug 207421).  This disables optimizations that
 # could change the precision of floating-point calculations for

firefox-1.1-nss-system-nspr.patch:

--- NEW FILE firefox-1.1-nss-system-nspr.patch ---
Index: mozilla/security/coreconf/location.mk
===================================================================
RCS file: /cvsroot/mozilla/security/coreconf/location.mk,v
retrieving revision 1.9
diff -u -r1.9 location.mk
--- mozilla/security/coreconf/location.mk	25 Apr 2004 15:02:17 -0000	1.9
+++ mozilla/security/coreconf/location.mk	11 Apr 2005 20:21:57 -0000
@@ -61,6 +61,8 @@
 
 DIST          = $(SOURCE_PREFIX)/$(PLATFORM)
 
+NSPR_LIBDIR   = $(DIST)/lib
+
 ifdef BUILD_DEBUG_GC
     DEFINES += -DDEBUG_GC
 endif
Index: mozilla/security/manager/Makefile.in
===================================================================
RCS file: /cvsroot/mozilla/security/manager/Makefile.in,v
retrieving revision 1.56
diff -u -r1.56 Makefile.in
--- mozilla/security/manager/Makefile.in	14 Mar 2005 10:00:58 -0000	1.56
+++ mozilla/security/manager/Makefile.in	11 Apr 2005 20:21:57 -0000
@@ -76,12 +76,23 @@
 endif
 endif
 
+ABS_DIST := $(shell cd $(DIST) && pwd)
+ifeq ($(OS_ARCH),WINNT)
+ABS_DIST := $(shell cygpath -w $(ABS_DIST) | sed -e 's|\\\\|/|g')
+endif
+NSPR_LIBDIR = $(firstword $(filter -L%,$(NSPR_LIBS)))
+ifneq (,$(strip $(NSPR_LIBDIR)))
+NSPR_LIBDIR := $(subst -L,,$(subst -L$(DIST),-L$(ABS_DIST),$(NSPR_LIBDIR)))
+else
+NSPR_LIBDIR = $(ABS_DIST)/lib
+endif
 # NSS makefiles are not safe for parallel execution.
 DEFAULT_GMAKE_FLAGS = MAKE="$(MAKE) -j1" -j1
 DEFAULT_GMAKE_FLAGS += CC="$(CC)"
-DEFAULT_GMAKE_FLAGS += MOZILLA_INCLUDES="-I$(MOZ_BUILD_ROOT)/dist/include/nspr -I$(MOZ_BUILD_ROOT)/dist/include/dbm"
-DEFAULT_GMAKE_FLAGS += SOURCE_MD_DIR=$(MOZ_BUILD_ROOT)/dist
-DEFAULT_GMAKE_FLAGS += DIST=$(MOZ_BUILD_ROOT)/dist
+DEFAULT_GMAKE_FLAGS += MOZILLA_INCLUDES="$(subst -I$(DIST),-I$(ABS_DIST),$(NSPR_CFLAGS) -I$(DIST)/include/dbm)"
+DEFAULT_GMAKE_FLAGS += SOURCE_MD_DIR=$(ABS_DIST)
+DEFAULT_GMAKE_FLAGS += DIST=$(ABS_DIST)
+DEFAULT_GMAKE_FLAGS += NSPR_LIBDIR=$(NSPR_LIBDIR)
 DEFAULT_GMAKE_FLAGS += MOZILLA_CLIENT=1
 DEFAULT_GMAKE_FLAGS += NO_MDUPDATE=1
 ABS_topsrcdir   := $(shell cd $(topsrcdir); pwd)
Index: mozilla/security/nss/lib/ckfw/builtins/Makefile
===================================================================
RCS file: /cvsroot/mozilla/security/nss/lib/ckfw/builtins/Makefile,v
retrieving revision 1.14
diff -u -r1.14 Makefile
--- mozilla/security/nss/lib/ckfw/builtins/Makefile	20 Jan 2005 02:25:46 -0000	1.14
+++ mozilla/security/nss/lib/ckfw/builtins/Makefile	11 Apr 2005 20:21:57 -0000
@@ -53,23 +53,23 @@
 # This is merely an expedient hack and not the right solution.
 ifdef NS_USE_GCC
 EXTRA_LIBS += \
-	-L$(DIST)/lib \
+	-L$(NSPR_LIBDIR) \
 	-lplc4 \
 	-lplds4 \
 	-lnspr4 \
 	$(NULL)
 else
 EXTRA_LIBS += \
-	$(DIST)/lib/$(NSPR31_LIB_PREFIX)plc4_s.lib \
-	$(DIST)/lib/$(NSPR31_LIB_PREFIX)plds4_s.lib \
+	$(NSPR_LIBDIR)/$(NSPR31_LIB_PREFIX)plc4_s.lib \
+	$(NSPR_LIBDIR)/$(NSPR31_LIB_PREFIX)plds4_s.lib \
 	$(NULL)
 endif
 
 else
 
 EXTRA_LIBS += \
-	$(DIST)/lib/$(LIB_PREFIX)plc4.$(LIB_SUFFIX) \
-	$(DIST)/lib/$(LIB_PREFIX)plds4.$(LIB_SUFFIX) \
+	$(NSPR_LIBDIR)/$(LIB_PREFIX)plc4.$(LIB_SUFFIX) \
+	$(NSPR_LIBDIR)/$(LIB_PREFIX)plds4.$(LIB_SUFFIX) \
 	$(NULL)
 
 endif
Index: mozilla/security/nss/lib/fortcrypt/swfort/pkcs11/Makefile
===================================================================
RCS file: /cvsroot/mozilla/security/nss/lib/fortcrypt/swfort/pkcs11/Makefile,v
retrieving revision 1.18
diff -u -r1.18 Makefile
--- mozilla/security/nss/lib/fortcrypt/swfort/pkcs11/Makefile	25 Apr 2004 15:03:08 -0000	1.18
+++ mozilla/security/nss/lib/fortcrypt/swfort/pkcs11/Makefile	11 Apr 2005 20:21:57 -0000
@@ -63,7 +63,7 @@
 	$(DIST)/lib/$(LIB_PREFIX)softokn.$(LIB_SUFFIX) \
 	$(CRYPTO_LIB) \
 	$(DIST)/lib/$(LIB_PREFIX)secutil.$(LIB_SUFFIX) \
-	-L$(DIST)/lib \
+	-L$(NSPR_LIBDIR) \
 	-lplc4 \
 	-lplds4 \
 	-lnspr4 \
@@ -76,8 +76,8 @@
 	$(DIST)/lib/softokn.lib \
 	$(CRYPTO_LIB) \
 	$(DIST)/lib/secutil.lib \
-	$(DIST)/lib/$(NSPR31_LIB_PREFIX)plc4_s.lib \
-	$(DIST)/lib/$(NSPR31_LIB_PREFIX)plds4_s.lib \
+	$(NSPR_LIBDIR)/$(NSPR31_LIB_PREFIX)plc4_s.lib \
+	$(NSPR_LIBDIR)/$(NSPR31_LIB_PREFIX)plds4_s.lib \
 	wsock32.lib \
 	winmm.lib \
 	$(NULL)
@@ -98,8 +98,8 @@
 	$(DIST)/lib/$(LIB_PREFIX)softokn.$(LIB_SUFFIX) \
 	$(CRYPTO_LIB) \
 	$(DIST)/lib/$(LIB_PREFIX)secutil.$(LIB_SUFFIX) \
-	$(DIST)/lib/$(LIB_PREFIX)plc4.$(LIB_SUFFIX) \
-	$(DIST)/lib/$(LIB_PREFIX)plds4.$(LIB_SUFFIX) \
+	$(NSPR_LIBDIR)/$(LIB_PREFIX)plc4.$(LIB_SUFFIX) \
+	$(NSPR_LIBDIR)/$(LIB_PREFIX)plds4.$(LIB_SUFFIX) \
 	$(NULL)
 
 endif

firefox-1.1-uriloader.patch:

--- NEW FILE firefox-1.1-uriloader.patch ---
Index: uriloader/exthandler/Makefile.in
===================================================================
RCS file: /cvsroot/mozilla/uriloader/exthandler/Makefile.in,v
retrieving revision 1.60
diff -d -u -p -r1.60 Makefile.in
--- uriloader/exthandler/Makefile.in	2 May 2005 16:30:03 -0000	1.60
+++ uriloader/exthandler/Makefile.in	21 Jul 2005 03:07:39 -0000
@@ -102,7 +102,7 @@ endif
 LOCAL_INCLUDES = -I$(srcdir)
 
 ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
-OSHELPER	+= nsGNOMERegistry.cpp
+OSHELPER	+= nsMIMEInfoUnix.cpp nsGNOMERegistry.cpp
 endif
 
 ifeq ($(MOZ_WIDGET_TOOLKIT),beos)
Index: uriloader/exthandler/unix/nsGNOMERegistry.cpp
===================================================================
RCS file: /cvsroot/mozilla/uriloader/exthandler/unix/nsGNOMERegistry.cpp,v
retrieving revision 1.10
diff -d -u -p -r1.10 nsGNOMERegistry.cpp
--- uriloader/exthandler/unix/nsGNOMERegistry.cpp	16 Oct 2004 13:46:17 -0000	1.10
+++ uriloader/exthandler/unix/nsGNOMERegistry.cpp	21 Jul 2005 03:07:40 -0000
@@ -42,7 +42,7 @@
 #include "nsString.h"
 #include "nsIComponentManager.h"
 #include "nsILocalFile.h"
-#include "nsMIMEInfoImpl.h"
+#include "nsMIMEInfoUnix.h"
 #include "nsAutoPtr.h"
 
 #include <glib.h>
@@ -56,12 +56,12 @@ typedef struct _GConfClient GConfClient;
 typedef struct _GnomeProgram GnomeProgram;
 typedef struct _GnomeModuleInfo GnomeModuleInfo;
 
-typedef struct {
+struct GnomeVFSMimeApplication {
   char *id;
   char *name;
   char *command;
   /* there is more here, but we don't need it */
-} GnomeVFSMimeApplication;
+};
 
 typedef GConfClient * (*_gconf_client_get_default_fn)();
 typedef gchar * (*_gconf_client_get_string_fn)(GConfClient *,
@@ -264,7 +264,7 @@ nsGNOMERegistry::GetAppDescForScheme(con
 }
 
 
-/* static */ already_AddRefed<nsMIMEInfoBase>
+/* static */ already_AddRefed<nsMIMEInfoUnix>
 nsGNOMERegistry::GetFromExtension(const char *aFileExt)
 {
   if (!gconfLib)
@@ -286,7 +286,7 @@ nsGNOMERegistry::GetFromExtension(const 
   return GetFromType(mimeType);
 }
 
-/* static */ already_AddRefed<nsMIMEInfoBase>
+/* static */ already_AddRefed<nsMIMEInfoUnix>
 nsGNOMERegistry::GetFromType(const char *aMIMEType)
 {
   if (!gconfLib)
@@ -296,9 +296,11 @@ nsGNOMERegistry::GetFromType(const char 
   if (!handlerApp)
     return nsnull;
 
-  nsRefPtr<nsMIMEInfoImpl> mimeInfo = new nsMIMEInfoImpl(aMIMEType);
+  nsRefPtr<nsMIMEInfoUnix> mimeInfo = new nsMIMEInfoUnix(aMIMEType);
   NS_ENSURE_TRUE(mimeInfo, nsnull);
 
+  mimeInfo->SetDefaultGnomeVFSMimeApplication(handlerApp);
+
   // Get the list of extensions and append then to the mimeInfo.
   GList *extensions = _gnome_vfs_mime_get_extensions_list(aMIMEType);
   for (GList *extension = extensions; extension; extension = extension->next)
@@ -320,11 +322,21 @@ nsGNOMERegistry::GetFromType(const char 
     return nsnull;
   }
 
-  gchar *commandPath = g_find_program_in_path(nativeCommand);
+  gchar **argv;
+  gboolean res = g_shell_parse_argv(nativeCommand, NULL, &argv, NULL);
+  if (!res) {
+    NS_ERROR("Could not convert helper app command to filesystem encoding");
+    _gnome_vfs_mime_application_free(handlerApp);
+    return nsnull;
+  }
+
+  gchar *commandPath = g_find_program_in_path(argv[0]);
 
   g_free(nativeCommand);
+  g_strfreev(argv);
 
   if (!commandPath) {
+    NS_WARNING("could not find command in path");
     _gnome_vfs_mime_application_free(handlerApp);
     return nsnull;
   }
@@ -342,7 +354,7 @@ nsGNOMERegistry::GetFromType(const char 
 
   _gnome_vfs_mime_application_free(handlerApp);
 
-  nsMIMEInfoBase* retval;
+  nsMIMEInfoUnix* retval;
   NS_ADDREF((retval = mimeInfo));
   return retval;
 }
Index: uriloader/exthandler/unix/nsGNOMERegistry.h
===================================================================
RCS file: /cvsroot/mozilla/uriloader/exthandler/unix/nsGNOMERegistry.h,v
retrieving revision 1.3
diff -d -u -p -r1.3 nsGNOMERegistry.h
--- uriloader/exthandler/unix/nsGNOMERegistry.h	16 Oct 2004 13:46:17 -0000	1.3
+++ uriloader/exthandler/unix/nsGNOMERegistry.h	21 Jul 2005 03:07:40 -0000
@@ -35,10 +35,13 @@
  *
  * ***** END LICENSE BLOCK ***** */
 
+#ifndef nsGNOMERegistry_h__
+#define nsGNOMERegistry_h__
+
 #include "nsIURI.h"
 #include "nsCOMPtr.h"
 
-class nsMIMEInfoBase;
+class nsMIMEInfoUnix;
 
 class nsGNOMERegistry
 {
@@ -52,7 +55,9 @@ class nsGNOMERegistry
   static void GetAppDescForScheme(const nsACString& aScheme,
                                   nsAString& aDesc);
 
-  static already_AddRefed<nsMIMEInfoBase> GetFromExtension(const char *aFileExt);
+  static already_AddRefed<nsMIMEInfoUnix> GetFromExtension(const char *aFileExt);
 
-  static already_AddRefed<nsMIMEInfoBase> GetFromType(const char *aMIMEType);
+  static already_AddRefed<nsMIMEInfoUnix> GetFromType(const char *aMIMEType);
 };
+
+#endif // nsGNOMERegistry_h__
Index: uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
===================================================================
RCS file: uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
diff -N uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ uriloader/exthandler/unix/nsMIMEInfoUnix.cpp	21 Jul 2005 03:07:40 -0000
@@ -0,0 +1,196 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.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
+ * Red Hat, Inc.
+ * Portions created by the Initial Developer are Copyright (C) 2005
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *   Christopher Aillon <caillon at redhat.com> (Original author)
+ *
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+#include "nsMIMEInfoUnix.h"
+#include "prlink.h"
+#include "prmem.h"
+#include <glib.h>
+#include <glib-object.h>
+
+static PRLibrary *gnomeLib;
+static PRLibrary *vfsLib;
+
+typedef struct _GnomeProgram GnomeProgram;
+typedef struct _GnomeModuleInfo GnomeModuleInfo;
+
+typedef enum {
+  GNOME_VFS_OK // there's more but we don't care about them.
+} GnomeVFSResult;
+
+typedef GnomeVFSResult (*_gnome_vfs_mime_application_launch_fn)
+                              (GnomeVFSMimeApplication *app,
+                               GList *uris);
+typedef void (*_gnome_vfs_mime_application_free_fn)(GnomeVFSMimeApplication *);
+typedef GnomeVFSMimeApplication * (*_gnome_vfs_mime_application_copy_fn)(GnomeVFSMimeApplication *);
+typedef GnomeProgram * (*_gnome_program_init_fn)(const char *, const char *,
+						 const GnomeModuleInfo *, int,
+						 char **, const char *, ...);
+typedef const char * (*_gnome_vfs_mime_application_get_name_fn)(GnomeVFSMimeApplication *);
+typedef const GnomeModuleInfo * (*_libgnome_module_info_get_fn)();
+typedef GnomeProgram * (*_gnome_program_get_fn)();
+typedef char * (*_gnome_vfs_make_uri_from_input_fn)(const char *);
+
+#define DECL_FUNC_PTR(func) static _##func##_fn _##func
+
+DECL_FUNC_PTR(gnome_vfs_mime_application_launch);
+DECL_FUNC_PTR(gnome_vfs_mime_application_free);
+DECL_FUNC_PTR(gnome_vfs_mime_application_copy);
+DECL_FUNC_PTR(gnome_vfs_mime_application_get_name);
+DECL_FUNC_PTR(gnome_program_init);
+DECL_FUNC_PTR(gnome_program_get);
+DECL_FUNC_PTR(libgnome_module_info_get);
+DECL_FUNC_PTR(gnome_vfs_make_uri_from_input);
+
+static PRLibrary *
+LoadVersionedLibrary(const char* libName, const char* libVersion)
+{
+  char *platformLibName = PR_GetLibraryName(nsnull, libName);
+  nsCAutoString versionLibName(platformLibName);
+  versionLibName.Append(libVersion);
+  PR_Free(platformLibName);
+  return PR_LoadLibrary(versionLibName.get());
+}
+
+static void
+Cleanup()
+{
+  // Unload all libraries
+  if (gnomeLib)
+    PR_UnloadLibrary(gnomeLib);
+  if (vfsLib)
+    PR_UnloadLibrary(vfsLib);
+
+  gnomeLib = vfsLib = nsnull;
+}
+
+static void
+InitGnomeVFS()
+{
+  static PRBool initialized = PR_FALSE;
+
+  if (initialized)
+    return;
+
+  #define ENSURE_LIB(lib) \
+    PR_BEGIN_MACRO \
+    if (!lib) { \
+      Cleanup(); \
+      return; \
+    } \
+    PR_END_MACRO
+
+  #define GET_LIB_FUNCTION(lib, func, failure) \
+    PR_BEGIN_MACRO \
+    _##func = (_##func##_fn) PR_FindFunctionSymbol(lib##Lib, #func); \
+    if (!_##func) { \
+      failure; \
+    } \
+    PR_END_MACRO
+
+  // Attempt to open libgnome
+  gnomeLib = LoadVersionedLibrary("gnome-2", ".0");
+  ENSURE_LIB(gnomeLib);
+
+  GET_LIB_FUNCTION(gnome, gnome_program_init, return Cleanup());
+  GET_LIB_FUNCTION(gnome, libgnome_module_info_get, return Cleanup());
+  GET_LIB_FUNCTION(gnome, gnome_program_get, return Cleanup());
+
+  // Attempt to open libgnomevfs
+  vfsLib = LoadVersionedLibrary("gnomevfs-2", ".0");
+  ENSURE_LIB(vfsLib);
+
+  GET_LIB_FUNCTION(vfs, gnome_vfs_mime_application_launch, /* do nothing */);
+  GET_LIB_FUNCTION(vfs, gnome_vfs_make_uri_from_input, return Cleanup());
+  GET_LIB_FUNCTION(vfs, gnome_vfs_mime_application_get_name, return Cleanup());
+  GET_LIB_FUNCTION(vfs, gnome_vfs_mime_application_free, return Cleanup());
+  GET_LIB_FUNCTION(vfs, gnome_vfs_mime_application_copy, return Cleanup());
+
+  // Initialize GNOME, if it's not already initialized.  It's not
+  // necessary to tell GNOME about our actual command line arguments.
+
+  if (!_gnome_program_get()) {
+    char *argv[1] = { "gecko" };
+    _gnome_program_init("Gecko", "1.0", _libgnome_module_info_get(),
+                        1, argv, NULL);
+  }
+
+  // Note: after GNOME has been initialized, do not ever unload these
+  // libraries.  They register atexit handlers, so if they are unloaded, we'll
+  // crash on exit.  
+}
+
+void
+nsMIMEInfoUnix::SetDefaultGnomeVFSMimeApplication(GnomeVFSMimeApplication* app)
+{
+  if (_gnome_vfs_mime_application_copy && _gnome_vfs_mime_application_free) {
+    mDefaultVFSApplication = _gnome_vfs_mime_application_copy(app);
+
+    mPreferredAction = nsIMIMEInfo::useSystemDefault;
+
+    const gchar * name = _gnome_vfs_mime_application_get_name(mDefaultVFSApplication);
+    if (name) 
+      mDefaultAppDescription = NS_ConvertUTF8toUCS2(name);
+  }
+}
+
+nsMIMEInfoUnix::~nsMIMEInfoUnix()
+{
+  if (mDefaultVFSApplication)
+    _gnome_vfs_mime_application_free(mDefaultVFSApplication);
+}
+
+nsresult
+nsMIMEInfoUnix::LaunchDefaultWithFile(nsIFile* aFile)
+{
+  NS_ENSURE_ARG_POINTER(aFile);
+
+  InitGnomeVFS();
+
+  if (_gnome_vfs_mime_application_launch && mDefaultVFSApplication) {
+    nsCAutoString nativePath;
+    aFile->GetNativePath(nativePath);
+
+    gchar *uri = _gnome_vfs_make_uri_from_input(nativePath.get());
+
+    GList *uris = NULL;
+    uris = g_list_append(uris, uri);
+
+    GnomeVFSResult result = _gnome_vfs_mime_application_launch(mDefaultVFSApplication, uris);
+
+    g_free(uri);
+    g_list_free(uris);
+
+    if (result != GNOME_VFS_OK)
+      return NS_ERROR_FAILURE;
+
+    return NS_OK;
+  }
+
+  if (!mDefaultApplication)
+    return NS_ERROR_FILE_NOT_FOUND;
+
+  return LaunchWithIProcess(mDefaultApplication, aFile);
+}
Index: uriloader/exthandler/unix/nsMIMEInfoUnix.h
===================================================================
RCS file: uriloader/exthandler/unix/nsMIMEInfoUnix.h
diff -N uriloader/exthandler/unix/nsMIMEInfoUnix.h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ uriloader/exthandler/unix/nsMIMEInfoUnix.h	21 Jul 2005 03:07:40 -0000
@@ -0,0 +1,50 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.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
+ * Red Hat, Inc.
+ * Portions created by the Initial Developer are Copyright (C) 2005
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *   Christopher Aillon <caillon at redhat.com> (Original author)
+ *
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+#ifndef nsMimeInfoUnix_h__
+#define nsMimeInfoUnix_h__
+
+#include "nsMIMEInfoImpl.h"
+
+struct GnomeVFSMimeApplication;
+
+class nsMIMEInfoUnix : public nsMIMEInfoImpl
+{
+public:
+  nsMIMEInfoUnix(const char* aType = "") : nsMIMEInfoImpl(aType), mDefaultVFSApplication(nsnull) {}
+  nsMIMEInfoUnix(const nsACString& aMIMEType) : nsMIMEInfoImpl(aMIMEType) {};
+
+  virtual ~nsMIMEInfoUnix();
+
+  void SetDefaultGnomeVFSMimeApplication(GnomeVFSMimeApplication *app);
+
+protected:
+  virtual NS_HIDDEN_(nsresult) LaunchDefaultWithFile(nsIFile* aFile);
+
+  GnomeVFSMimeApplication *mDefaultVFSApplication;
+};
+ 
+#endif // nsMimeInfoUnix_h__
Index: uriloader/exthandler/unix/nsOSHelperAppService.cpp
===================================================================
RCS file: /cvsroot/mozilla/uriloader/exthandler/unix/nsOSHelperAppService.cpp,v
retrieving revision 1.58
diff -d -u -p -r1.58 nsOSHelperAppService.cpp
--- uriloader/exthandler/unix/nsOSHelperAppService.cpp	25 Oct 2004 07:46:01 -0000	1.58
+++ uriloader/exthandler/unix/nsOSHelperAppService.cpp	21 Jul 2005 03:07:40 -0000
@@ -44,6 +44,7 @@
 #include "nsOSHelperAppService.h"
 #ifdef MOZ_WIDGET_GTK2
 #include "nsGNOMERegistry.h"
+#include "nsMIMEInfoUnix.h"
 #endif
 #include "nsISupports.h"
 #include "nsString.h"
@@ -1486,6 +1487,17 @@ nsOSHelperAppService::GetFromType(const 
   
   LOG(("Here we do a mimetype lookup for '%s'\n", aMIMEType.get()));
 
+#ifdef MOZ_WIDGET_GTK2
+  // Look in GNOME registry first since it is the preferred method in GNOME,
+  // should trump the mailcap entry
+  LOG(("Looking in GNOME registry\n"));
+  nsMIMEInfoBase *gnomeInfo = nsGNOMERegistry::GetFromType(aMIMEType.get()).get();
+  if (gnomeInfo) {
+    LOG(("Got MIMEInfo from GNOME registry\n"));
+    return gnomeInfo;
+  }
+#endif
+
   // extract the major and minor types
   NS_ConvertASCIItoUTF16 mimeType(aMIMEType);
   nsAString::const_iterator start_iter, end_iter,
@@ -1522,21 +1534,6 @@ nsOSHelperAppService::GetFromType(const 
                                 mozillaFlags,
                                 PR_TRUE);
 
-  
-  if (handler.IsEmpty() && extensions.IsEmpty() &&
-      mailcap_description.IsEmpty() && mime_types_description.IsEmpty()) {
-    // No useful data yet
-    
-#ifdef MOZ_WIDGET_GTK2
-    LOG(("Looking in GNOME registry\n"));
-    nsMIMEInfoBase *gnomeInfo = nsGNOMERegistry::GetFromType(aMIMEType.get()).get();
-    if (gnomeInfo) {
-      LOG(("Got MIMEInfo from GNOME registry\n"));
-      return gnomeInfo;
-    }
-#endif
-  }
-
   if (handler.IsEmpty() && mailcap_description.IsEmpty()) {
     DoLookUpHandlerAndDescription(majorType,
                                   minorType,

firefox-1.5-with-system-nss.patch:

--- NEW FILE firefox-1.5-with-system-nss.patch ---
Index: mozilla/configure.in
===================================================================
RCS file: /cvsroot/mozilla/configure.in,v
retrieving revision 1.1503.2.15
diff -u -r1.1503.2.15 configure.in
--- mozilla/configure.in	4 Oct 2005 05:53:49 -0000	1.1503.2.15
+++ mozilla/configure.in	15 Dec 2005 05:40:40 -0000
@@ -86,6 +86,7 @@
 MOZPNG=10207
 MOZZLIB=1.2.3
 NSPR_VERSION=4
+NSS_VERSION=3
 
 dnl Set the minimum version of toolkit libs used by mozilla
 dnl ========================================================
@@ -3472,6 +3473,19 @@
     fi
 fi
 
+dnl ========================================================
+dnl = If NSS was not detected in the system, 
+dnl = use the one in the source tree (mozilla/security/nss)
+dnl ========================================================
+
+MOZ_ARG_WITH_BOOL(system-nss,
+[  --with-system-nss      Use system installed NSS],
+    _USE_SYSTEM_NSS=1 )
+
+if test -n "$_USE_SYSTEM_NSS"; then
+    AM_PATH_NSS(3.0.0, [MOZ_NATIVE_NSS=1], [MOZ_NATIVE_NSS=])
+fi
+
 if test -z "$SKIP_LIBRARY_CHECKS"; then
 dnl system JPEG support
 dnl ========================================================
@@ -6698,6 +6712,10 @@
 AC_SUBST(NSPR_LIBS)
 AC_SUBST(MOZ_NATIVE_NSPR)
 
+AC_SUBST(NSS_CFLAGS)
+AC_SUBST(NSS_LIBS)
+AC_SUBST(MOZ_NATIVE_NSS)
+
 AC_SUBST(CFLAGS)
 AC_SUBST(CXXFLAGS)
 AC_SUBST(CPPFLAGS)
Index: mozilla/configure
===================================================================
RCS file: /cvsroot/mozilla/configure,v
retrieving revision 1.1492.2.17
diff -u -r1.1492.2.17 configure
--- mozilla/configure	4 Oct 2005 06:01:48 -0000	1.1492.2.17
+++ mozilla/configure	15 Dec 2005 05:40:53 -0000
@@ -44,6 +44,13 @@
   --with-nspr-exec-prefix=PFX
                           Exec prefix where NSPR is installed"
 ac_help="$ac_help
+  --with-system-nss      Use system installed NSS"
+ac_help="$ac_help
+  --with-nss-prefix=PFX  Prefix where NSS is installed"
+ac_help="$ac_help
+  --with-nss-exec-prefix=PFX
+                          Exec prefix where NSS is installed"
+ac_help="$ac_help
   --with-system-jpeg[=PFX]
                           Use system libjpeg [installed at prefix PFX]"
 ac_help="$ac_help
@@ -1020,6 +1027,7 @@
 MOZPNG=10207
 MOZZLIB=1.2.3
 NSPR_VERSION=4
+NSS_VERSION=3
 
 GLIB_VERSION=1.2.0
 GTK_VERSION=1.2.0
@@ -11300,6 +11308,123 @@
     fi
 fi
 
+
+# Check whether --with-system-nss or --without-system-nss was given.
+if test "${with_system_nss+set}" = set; then
+  withval="$with_system_nss"
+  if test "$withval" = "yes"; then
+    _USE_SYSTEM_NSS=1 
+  elif test "$withval" = "no"; then
+    :
+  else
+    { echo "configure: error: Option, system-nss, does not take an argument ($withval)." 1>&2; exit 1; }
+  fi
+fi
+
+
+if test -n "$_USE_SYSTEM_NSS"; then
+    
+# Check whether --with-nss-prefix or --without-nss-prefix was given.
+if test "${with_nss_prefix+set}" = set; then
+  withval="$with_nss_prefix"
+  nss_config_prefix="$withval"
+else
+  nss_config_prefix=""
+fi
+
+
+# Check whether --with-nss-exec-prefix or --without-nss-exec-prefix was given.
+if test "${with_nss_exec_prefix+set}" = set; then
+  withval="$with_nss_exec_prefix"
+  nss_config_exec_prefix="$withval"
+else
+  nss_config_exec_prefix=""
+fi
+
+
+	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
+		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
+		fi
+	fi
+
+	unset ac_cv_path_NSS_CONFIG
+	# Extract the first word of "nss-config", so it can be a program name with args.
+set dummy nss-config; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:11363: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_NSS_CONFIG'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  case "$NSS_CONFIG" in
+  /*)
+  ac_cv_path_NSS_CONFIG="$NSS_CONFIG" # Let the user override the test with a path.
+  ;;
+  ?:/*)			 
+  ac_cv_path_NSS_CONFIG="$NSS_CONFIG" # Let the user override the test with a dos path.
+  ;;
+  *)
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do 
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_path_NSS_CONFIG="$ac_dir/$ac_word"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_NSS_CONFIG" && ac_cv_path_NSS_CONFIG="no"
+  ;;
+esac
+fi
+NSS_CONFIG="$ac_cv_path_NSS_CONFIG"
+if test -n "$NSS_CONFIG"; then
+  echo "$ac_t""$NSS_CONFIG" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+	min_nss_version=3.0.0
+	echo $ac_n "checking for NSS - version >= $min_nss_version (skipping)""... $ac_c" 1>&6
+echo "configure:11398: checking for NSS - version >= $min_nss_version (skipping)" >&5
+
+	no_nss=""
+	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_config_major_version=`$NSS_CONFIG $nss_config_args --version | \
+			sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'`
+		nss_config_minor_version=`$NSS_CONFIG $nss_config_args --version | \
+			sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'`
+		nss_config_micro_version=`$NSS_CONFIG $nss_config_args --version | \
+			sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'`
+	fi
+
+	if test -z "$no_nss"; then
+		echo "$ac_t""yes" 1>&6
+		MOZ_NATIVE_NSS=1     
+	else
+		echo "$ac_t""no" 1>&6
+	fi
+
+
+	
+	
+
+
+fi
+
 if test -z "$SKIP_LIBRARY_CHECKS"; then
 # Check whether --with-system-jpeg or --without-system-jpeg was given.
 if test "${with_system_jpeg+set}" = set; then
@@ -19473,6 +19602,9 @@
 s%@NSPR_CONFIG@%$NSPR_CONFIG%g
 s%@NSPR_CFLAGS@%$NSPR_CFLAGS%g
 s%@NSPR_LIBS@%$NSPR_LIBS%g
+s%@NSS_CONFIG@%$NSS_CONFIG%g
+s%@NSS_CFLAGS@%$NSS_CFLAGS%g
+s%@NSS_LIBS@%$NSS_LIBS%g
 s%@GTK_CONFIG@%$GTK_CONFIG%g
 s%@GTK_CFLAGS@%$GTK_CFLAGS%g
 s%@GTK_LIBS@%$GTK_LIBS%g
@@ -19753,6 +19885,7 @@
 s%@MOZ_PNG_CFLAGS@%$MOZ_PNG_CFLAGS%g
 s%@MOZ_PNG_LIBS@%$MOZ_PNG_LIBS%g
 s%@MOZ_NATIVE_NSPR@%$MOZ_NATIVE_NSPR%g
+s%@MOZ_NATIVE_NSS@%$MOZ_NATIVE_NSS%g
 s%@COMPILE_CFLAGS@%$COMPILE_CFLAGS%g
 s%@COMPILE_CXXFLAGS@%$COMPILE_CXXFLAGS%g
 s%@CROSS_COMPILE@%$CROSS_COMPILE%g
Index: mozilla/aclocal.m4
===================================================================
RCS file: /cvsroot/mozilla/aclocal.m4,v
retrieving revision 1.14
diff -u -r1.14 aclocal.m4
--- mozilla/aclocal.m4	13 May 2004 03:12:47 -0000	1.14
+++ mozilla/aclocal.m4	15 Dec 2005 05:40:53 -0000
@@ -8,6 +8,7 @@
 builtin(include, build/autoconf/libIDL.m4)dnl
 builtin(include, build/autoconf/libIDL-2.m4)dnl
 builtin(include, build/autoconf/nspr.m4)dnl
+builtin(include, build/autoconf/nss.m4)dnl
 builtin(include, build/autoconf/libart.m4)dnl
 builtin(include, build/autoconf/pkg.m4)dnl
 builtin(include, build/autoconf/freetype2.m4)dnl
Index: mozilla/config/autoconf.mk.in
===================================================================
RCS file: /cvsroot/mozilla/config/autoconf.mk.in,v
retrieving revision 3.363.2.1
diff -u -r3.363.2.1 autoconf.mk.in
--- mozilla/config/autoconf.mk.in	17 Aug 2005 17:17:17 -0000	3.363.2.1
+++ mozilla/config/autoconf.mk.in	15 Dec 2005 05:40:53 -0000
@@ -229,6 +229,7 @@
 MOZ_INSURE_EXCLUDE_DIRS = @MOZ_INSURE_EXCLUDE_DIRS@
 
 MOZ_NATIVE_NSPR = @MOZ_NATIVE_NSPR@
+MOZ_NATIVE_NSS = @MOZ_NATIVE_NSS@
 
 CROSS_COMPILE   = @CROSS_COMPILE@
 
@@ -384,6 +385,48 @@
 NSPR_CFLAGS	= @NSPR_CFLAGS@
 NSPR_LIBS	= @NSPR_LIBS@
 
+NSS_CONFIG	= @NSS_CONFIG@
+NSS_CFLAGS	= @NSS_CFLAGS@
+NSS_LIBS	= @NSS_LIBS@
+
+ifdef MOZ_NATIVE_NSS
+NSS_DEP_LIBS	= \
+	$(NULL)
+NSS_LIBS += \
+	-lcrmf \
+	$(NULL)
+else
+NSS_DEP_LIBS	= \
+	$(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
+	$(DIST)/lib/$(DLL_PREFIX)smime3$(DLL_SUFFIX) \
+	$(DIST)/lib/$(DLL_PREFIX)ssl3$(DLL_SUFFIX) \
+	$(DIST)/lib/$(DLL_PREFIX)nss3$(DLL_SUFFIX) \
+	$(DIST)/lib/$(DLL_PREFIX)softokn3$(DLL_SUFFIX) \
+	$(NULL)
+NSS_LIBS = \
+	$(LIBS_DIR) \
+	$(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
+	-lsmime3 \
+	-lssl3 \
+	-lnss3 \
+	-lsoftokn3 \
+	$(NULL)
+endif
+
+ifneq (,$(filter OS2 WINNT WINCE, $(OS_ARCH)))
+ifndef GNU_CC
+ifndef MOZ_NATIVE_NSS
+NSS_LIBS	= \
+	$(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
+	$(DIST)/lib/$(LIB_PREFIX)smime3.$(IMPORT_LIB_SUFFIX) \
+	$(DIST)/lib/$(LIB_PREFIX)ssl3.$(IMPORT_LIB_SUFFIX) \
+	$(DIST)/lib/$(LIB_PREFIX)nss3.$(IMPORT_LIB_SUFFIX) \
+	$(DIST)/lib/$(LIB_PREFIX)softokn3.$(IMPORT_LIB_SUFFIX) \
+	$(NULL)
+endif
+endif
+endif
+
 LDAP_CFLAGS	= @LDAP_CFLAGS@
 LDAP_LIBS	= @LDAP_LIBS@
 XPCOM_GLUE_LDOPTS = @XPCOM_GLUE_LDOPTS@
Index: mozilla/config/config.mk
===================================================================
RCS file: /cvsroot/mozilla/config/config.mk,v
retrieving revision 3.337
diff -u -r3.337 config.mk
--- mozilla/config/config.mk	28 Jul 2005 19:48:11 -0000	3.337
+++ mozilla/config/config.mk	15 Dec 2005 05:40:54 -0000
@@ -138,39 +138,6 @@
 FINAL_LINK_COMPS = $(DEPTH)/config/final-link-comps
 FINAL_LINK_COMP_NAMES = $(DEPTH)/config/final-link-comp-names
 
-# 
-# NSS libs needed for final link in static build
-# 
-
-NSS_LIBS	= \
-	$(LIBS_DIR) \
-	$(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
-	-lsmime3 \
-	-lssl3 \
-	-lnss3 \
-	-lsoftokn3 \
-	$(NULL)
-
-ifneq (,$(filter OS2 WINNT WINCE, $(OS_ARCH)))
-ifndef GNU_CC
-NSS_LIBS	= \
-	$(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
-	$(DIST)/lib/$(LIB_PREFIX)smime3.$(IMPORT_LIB_SUFFIX) \
-	$(DIST)/lib/$(LIB_PREFIX)ssl3.$(IMPORT_LIB_SUFFIX) \
-	$(DIST)/lib/$(LIB_PREFIX)nss3.$(IMPORT_LIB_SUFFIX) \
-	$(DIST)/lib/$(LIB_PREFIX)softokn3.$(IMPORT_LIB_SUFFIX) \
-	$(NULL)
-endif
-endif
-
-NSS_DEP_LIBS	= \
-	$(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
-	$(DIST)/lib/$(DLL_PREFIX)smime3$(DLL_SUFFIX) \
-	$(DIST)/lib/$(DLL_PREFIX)ssl3$(DLL_SUFFIX) \
-	$(DIST)/lib/$(DLL_PREFIX)nss3$(DLL_SUFFIX) \
-	$(DIST)/lib/$(DLL_PREFIX)softokn3$(DLL_SUFFIX) \
-	$(NULL)
-
 MOZ_UNICHARUTIL_LIBS = $(DIST)/lib/$(LIB_PREFIX)unicharutil_s.$(LIB_SUFFIX)
 MOZ_REGISTRY_LIBS          = $(DIST)/lib/$(LIB_PREFIX)mozreg_s.$(LIB_SUFFIX)
 MOZ_WIDGET_SUPPORT_LIBS    = $(DIST)/lib/$(LIB_PREFIX)widgetsupport_s.$(LIB_SUFFIX)
Index: mozilla/build/autoconf/nss.m4
===================================================================
RCS file: mozilla/build/autoconf/nss.m4
diff -N mozilla/build/autoconf/nss.m4
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ mozilla/build/autoconf/nss.m4	15 Dec 2005 05:40:54 -0000
@@ -0,0 +1,67 @@
+# -*- tab-width: 4; -*-
+# Configure paths for NSS
+# Public domain - Chris Seawood <cls at seawood.org> 2001-04-05
+# Based upon gtk.m4 (also PD) by Owen Taylor
+
+dnl AM_PATH_NSS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+dnl Test for NSS, and define NSS_CFLAGS and NSS_LIBS
+AC_DEFUN(AM_PATH_NSS,
+[dnl
+
+AC_ARG_WITH(nss-prefix,
+	[  --with-nss-prefix=PFX  Prefix where NSS is installed],
+	nss_config_prefix="$withval",
+	nss_config_prefix="")
+
+AC_ARG_WITH(nss-exec-prefix,
+	[  --with-nss-exec-prefix=PFX
+                          Exec prefix where NSS is installed],
+	nss_config_exec_prefix="$withval",
+	nss_config_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
+		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
+		fi
+	fi
+
+	unset ac_cv_path_NSS_CONFIG
+	AC_PATH_PROG(NSS_CONFIG, nss-config, no)
+	min_nss_version=ifelse([$1], ,3.0.0,$1)
+	AC_MSG_CHECKING(for NSS - version >= $min_nss_version (skipping))
+
+	no_nss=""
+	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`
+
+		dnl Skip version check for now
+		nss_config_major_version=`$NSS_CONFIG $nss_config_args --version | \
+			sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+		nss_config_minor_version=`$NSS_CONFIG $nss_config_args --version | \
+			sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+		nss_config_micro_version=`$NSS_CONFIG $nss_config_args --version | \
+			sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+	fi
+
+	if test -z "$no_nss"; then
+		AC_MSG_RESULT(yes)
+		ifelse([$2], , :, [$2])     
+	else
+		AC_MSG_RESULT(no)
+	fi
+
+
+	AC_SUBST(NSS_CFLAGS)
+	AC_SUBST(NSS_LIBS)
+
+])
Index: mozilla/security/manager/Makefile.in
===================================================================
RCS file: /cvsroot/mozilla/security/manager/Makefile.in,v
retrieving revision 1.57
diff -u -r1.57 Makefile.in
--- mozilla/security/manager/Makefile.in	2 Jun 2005 02:03:05 -0000	1.57
+++ mozilla/security/manager/Makefile.in	15 Dec 2005 05:40:54 -0000
@@ -46,6 +46,8 @@
 MODULE = psm
 
 PACKAGE_FILE = psm.pkg
+
+ifndef MOZ_NATIVE_NSS
 PACKAGE_VARS += \
 	NSS3_LIB \
 	SMIME3_LIB \
@@ -57,6 +59,7 @@
 	$(NULL)
 
 LOADABLE_ROOT_MODULE = $(DLL_PREFIX)nssckbi$(DLL_SUFFIX)
+endif
 
 NSS3_LIB = $(DLL_PREFIX)nss3$(DLL_SUFFIX)
 SMIME3_LIB = $(DLL_PREFIX)smime3$(DLL_SUFFIX)
@@ -147,6 +150,7 @@
 export:: .nss.cleaned
 
 .nss.cleaned: .nss.checkout
+ifndef MOZ_NATIVE_NSS
 	$(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
 	$(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean
 ifndef SKIP_CHK
@@ -154,9 +158,12 @@
 	$(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean
 endif
 	touch $@
+endif
 
 .nss.checkout:
+ifndef MOZ_NATIVE_NSS
 	touch $(srcdir)/$@
+endif
 
 dependclean export packages chrome::
 	$(MAKE) -C boot $@
@@ -167,12 +174,15 @@
 endif
 
 libs::
+ifndef MOZ_NATIVE_NSS
 	$(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS)
+endif
 ifeq ($(OS_ARCH),WINNT)
 	cd $(DIST)/lib; cp -f $(LIB_PREFIX)dbm$(MOZ_BITS).$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX)
 else
 	cd $(DIST)/lib; cp -f $(LIB_PREFIX)mozdbm_s.$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX); $(RANLIB) $(LIB_PREFIX)dbm.$(LIB_SUFFIX)
 endif
+ifndef MOZ_NATIVE_NSS
 	$(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS)
 ifndef SKIP_CHK
 	$(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS)
@@ -210,6 +220,7 @@
 	$(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DIST)/bin
 endif
 endif
+endif
 	$(MAKE) -C boot $@
 	$(MAKE) -C ssl $@
 	$(MAKE) -C locales $@
@@ -218,6 +229,7 @@
 endif
 
 install::
+ifndef MOZ_NATIVE_NSS
 	$(SYSINSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(DESTDIR)$(mozappdir)
 ifndef SKIP_CHK
 	$(SYSINSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(DESTDIR)$(mozappdir)
@@ -232,6 +244,7 @@
 	$(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_HYBRID_CHK) $(DESTDIR)$(mozappdir)
 	$(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DESTDIR)$(mozappdir)
 endif
+endif
 	$(MAKE) -C boot $@
 	$(MAKE) -C ssl $@
 	$(MAKE) -C locales $@
@@ -246,15 +259,18 @@
 ifdef MOZ_XUL
 	$(MAKE) -C pki $@
 endif
+ifndef MOZ_NATIVE_NSS
 	$(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
 	$(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean
 ifndef SKIP_CHK
 	$(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) clean
 	$(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean
 endif
+endif
 
 echo-requires-recursive::
 	$(MAKE) -C boot $@
 	$(MAKE) -C ssl $@
 	$(MAKE) -C pki $@
 	$(MAKE) -C locales $@
+
Index: mozilla/security/manager/ssl/src/Makefile.in
===================================================================
RCS file: /cvsroot/mozilla/security/manager/ssl/src/Makefile.in,v
retrieving revision 1.67
diff -u -r1.67 Makefile.in
--- mozilla/security/manager/ssl/src/Makefile.in	3 Aug 2005 05:24:18 -0000	1.67
+++ mozilla/security/manager/ssl/src/Makefile.in	15 Dec 2005 05:40:56 -0000
@@ -123,8 +123,13 @@
 
 # Use local includes because they are inserted before INCLUDES
 # so that Mozilla's nss.h is used, not glibc's
+ifdef MOZ_NATIVE_NSS
+LOCAL_INCLUDES += $(NSS_CFLAGS) \
+                  $(NULL)
+else
 LOCAL_INCLUDES += -I$(DIST)/public/nss \
                   $(NULL)
+endif
 
 EXTRA_DSO_LDOPTS += \
 		$(MOZ_UNICHARUTIL_LIBS) \
Index: mozilla/security/manager/ssl/src/nsNSSComponent.cpp
===================================================================
RCS file: /cvsroot/mozilla/security/manager/ssl/src/nsNSSComponent.cpp,v
retrieving revision 1.126.2.1
diff -u -r1.126.2.1 nsNSSComponent.cpp
--- mozilla/security/manager/ssl/src/nsNSSComponent.cpp	26 Aug 2005 06:41:50 -0000	1.126.2.1
+++ mozilla/security/manager/ssl/src/nsNSSComponent.cpp	15 Dec 2005 05:41:00 -0000
@@ -488,14 +488,6 @@
 }
 
 
-#ifdef XP_MAC
-#ifdef DEBUG
-#define LOADABLE_CERTS_MODULE NS_LITERAL_CSTRING("NSSckbiDebug.shlb")
-#else
-#define LOADABLE_CERTS_MODULE NS_LITERAL_CSTRING("NSSckbi.shlb")
-#endif /*DEBUG*/ 
-#endif /*XP_MAC*/
-
 static void setOCSPOptions(nsIPrefBranch * pref);
 
 NS_IMETHODIMP
@@ -689,40 +681,40 @@
 
     const char *possible_ckbi_locations[] = {
       NS_GRE_DIR,
-      NS_XPCOM_CURRENT_PROCESS_DIR
+      NS_XPCOM_CURRENT_PROCESS_DIR,
+      0
     };
-    
+
     for (size_t il = 0; il < sizeof(possible_ckbi_locations)/sizeof(const char*); ++il) {
       nsCOMPtr<nsILocalFile> mozFile;
-      directoryService->Get( possible_ckbi_locations[il],
-                             NS_GET_IID(nsILocalFile), 
-                             getter_AddRefs(mozFile));
+      char *fullModuleName = nsnull;
+
+      if (!possible_ckbi_locations[il])
+      {
+        fullModuleName = PR_GetLibraryName(nsnull, "nssckbi");
+      }
+      else
+      {
+        directoryService->Get( possible_ckbi_locations[il],
+                               NS_GET_IID(nsILocalFile), 
+                               getter_AddRefs(mozFile));
     
-      if (!mozFile) {
-        continue;
+        if (!mozFile) {
+          continue;
+        }
+
+        nsCAutoString processDir;
+        mozFile->GetNativePath(processDir);
+        fullModuleName = PR_GetLibraryName(processDir.get(), "nssckbi");
       }
 
-      char *fullModuleName = nsnull;
-#ifdef XP_MAC
-      nsCAutoString nativePath;
-      mozFile->AppendNative(NS_LITERAL_CSTRING("Essential Files"));
-      mozFile->AppendNative(LOADABLE_CERTS_MODULE);
-      mozFile->GetNativePath(nativePath);    
-      fullModuleName = (char *) nativePath.get();
-#else
-      nsCAutoString processDir;
-      mozFile->GetNativePath(processDir);
-      fullModuleName = PR_GetLibraryName(processDir.get(), "nssckbi");
-#endif
       /* If a module exists with the same name, delete it. */
       NS_ConvertUCS2toUTF8 modNameUTF8(modName);
       int modType;
       SECMOD_DeleteModule(NS_CONST_CAST(char*, modNameUTF8.get()), &modType);
       SECStatus rv_add = 
         SECMOD_AddNewModule(NS_CONST_CAST(char*, modNameUTF8.get()), fullModuleName, 0, 0);
-#ifndef XP_MAC
-      PR_Free(fullModuleName); // allocated by NSPR
-#endif
+      PR_FreeLibraryName(fullModuleName); // allocated by NSPR
       if (SECSuccess == rv_add) {
         // found a module, no need to try other directories
         break;

firefox-1.5.0.1-dumpstack.patch:

--- NEW FILE firefox-1.5.0.1-dumpstack.patch ---
Index: mozilla/xpcom/base/nsStackFrameUnix.cpp
===================================================================
RCS file: /cvsroot/mozilla/xpcom/base/nsStackFrameUnix.cpp,v
retrieving revision 1.12
diff -d -u -p -r1.12 nsStackFrameUnix.cpp
--- mozilla/xpcom/base/nsStackFrameUnix.cpp	18 Apr 2004 14:18:12 -0000	1.12
+++ mozilla/xpcom/base/nsStackFrameUnix.cpp	2 Feb 2006 05:29:00 -0000
@@ -90,6 +90,9 @@ void DemangleSymbol(const char * aSymbol
 
 void DumpStackToFile(FILE* aStream)
 {
+  fprintf(aStream, "Stacktrace disabled for now.\n"
+                   "See https://bugzilla.mozilla.org/show_bug.cgi?id=323853\n");
+#if 0
   jmp_buf jb;
   setjmp(jb);
 
@@ -138,6 +141,7 @@ void DumpStackToFile(FILE* aStream)
               symbol, off, info.dli_fname, foff);
     }
   }
+#endif
 }
 
 #elif defined(__sun) && (defined(__sparc) || defined(sparc) || defined(__i386) || defined(i386))

mozilla-1.4.1-ppc64.patch:

--- NEW FILE mozilla-1.4.1-ppc64.patch ---
--- mozilla/security/coreconf/Linux.mk.foo	2003-10-01 13:06:30.000000000 -0400
+++ mozilla/security/coreconf/Linux.mk	2003-10-01 13:07:22.000000000 -0400
@@ -53,7 +53,11 @@
 ifeq ($(OS_TEST),m68k)
 	OS_REL_CFLAGS	= -DLINUX1_2 -D_XOPEN_SOURCE
 	CPU_ARCH	= m68k
-else		
+else
+ifeq ($(OS_TEST),ppc64)
+	OS_REL_CFLAGS	= -DLINUX1_2 -D_XOPEN_SOURCE
+	CPU_ARCH	= ppc64
+else
 ifeq ($(OS_TEST),ppc)
 	OS_REL_CFLAGS	= -DLINUX1_2 -D_XOPEN_SOURCE
 	CPU_ARCH	= ppc
@@ -112,6 +116,7 @@
 endif
 endif
 endif
+endif
 
 
 LIBC_TAG		= _glibc

mozilla-1.7.3-gnome-vfs-default-app.patch:

--- NEW FILE mozilla-1.7.3-gnome-vfs-default-app.patch ---
--- mozilla/uriloader/exthandler/unix/nsGNOMERegistry.cpp.foo	2004-03-06 09:41:00.000000000 -0500
+++ mozilla/uriloader/exthandler/unix/nsGNOMERegistry.cpp	2004-10-18 18:55:55.000000000 -0400
@@ -283,6 +283,11 @@
 
   gchar *nativeCommand = g_filename_from_utf8(handlerApp->command,
                                               -1, NULL, NULL, NULL);
+
+  // Some versions of the mime stuff will add whitespace to the end or
+  // beginning of the command
+  nativeCommand = g_strstrip(nativeCommand);
+
   if (!nativeCommand) {
     NS_ERROR("Could not convert helper app command to filesystem encoding");
     _gnome_vfs_mime_application_free(handlerApp);

mozilla-1.7.5-g-application-name.patch:

--- NEW FILE mozilla-1.7.5-g-application-name.patch ---
Index: xpfe/bootstrap/nsAppRunner.cpp
===================================================================
RCS file: /cvsroot/mozilla/xpfe/bootstrap/nsAppRunner.cpp,v
retrieving revision 1.428
diff -d -u -p -r1.428 nsAppRunner.cpp
--- xpfe/bootstrap/nsAppRunner.cpp	20 Dec 2004 21:53:33 -0000	1.428
+++ xpfe/bootstrap/nsAppRunner.cpp	5 Mar 2005 08:39:12 -0000
@@ -1612,6 +1612,11 @@ static PRBool GetWantSplashScreen(int ar
   return dosplash;
 }
 
+#ifdef MOZ_WIDGET_GTK2
+#include "prlink.h"
+typedef void (*_g_set_application_name_fn)(const gchar *application_name);
+#endif
+
 int main(int argc, char* argv[])
 {
   NS_TIMELINE_MARK("enter main");
@@ -1712,6 +1717,19 @@ int main(int argc, char* argv[])
 #endif
   gtk_init(&argc, &argv);
 
+#if defined(MOZ_WIDGET_GTK2)
+  // g_set_application_name () is only defined in glib2.2 and higher.
+  PRLibrary *glib2;
+  _g_set_application_name_fn _g_set_application_name =
+      (_g_set_application_name_fn)PR_FindFunctionSymbolAndLibrary("g_set_application_name", &glib2);
+  if (_g_set_application_name) {
+    _g_set_application_name("seamonkey"); /* MOZ_APP_NAME */
+  }
+  if (glib2) {
+    PR_UnloadLibrary(glib2);
+  }
+#endif
+
   gtk_widget_set_default_visual(gdk_rgb_get_visual());
   gtk_widget_set_default_colormap(gdk_rgb_get_cmap());
 #endif /* MOZ_WIDGET_GTK || MOZ_WIDGET_GTK2 */

mozilla-nspr-packages.patch:

--- NEW FILE mozilla-nspr-packages.patch ---
--- mozilla/xpinstall/packager/packages-unix.smp5	2005-12-22 16:29:39.000000000 +0100
+++ mozilla/xpinstall/packager/packages-unix	2006-01-21 09:03:04.000000000 +0100
@@ -45,9 +45,6 @@
 
 [xpcom]
 bin/libmozjs.so
-bin/libnspr4.so
-bin/libplc4.so
-bin/libplds4.so
 bin/cpu/sparcv8plus/libnspr_flt4.so
 bin/libxpcom.so
 bin/libxpcom_core.so
@@ -463,18 +460,13 @@
 bin/components/talkback/*
 
 [psm]
-bin/libnssckbi.so
 bin/components/libpipboot.so
 bin/components/pipboot.xpt
 bin/components/libpipnss.so
 bin/components/pipnss.xpt
 bin/components/libpippki.so
 bin/components/pippki.xpt
-bin/libnss3.so
-bin/libsmime3.so
 bin/libsoftokn3.chk
-bin/libsoftokn3.so
-bin/libssl3.so
 bin/chrome/pipnss.jar
 bin/chrome/pippki.jar
 ; These are required for solaris 32-bit builds
@@ -499,5 +491,17 @@
 bin/components/spellchecker.xpt
 bin/components/myspell/*
 
+[nspr]
+bin/libnspr4.so
+bin/libplc4.so
+bin/libplds4.so
+
+[nss]
+bin/libnssckbi.so
+bin/libnss3.so
+bin/libsmime3.so
+bin/libsoftokn3.so
+bin/libssl3.so
+
 [reporter]
 bin/chrome/reporter.jar


--- NEW FILE mozilla-psm-exclude-list ---
libnss3.so
libsmime3.so
libsoftokn3.so
libssl3.so


--- NEW FILE mozilla-xpcom-exclude-list ---
libnspr4.so
libplc4.so
libplds4.so

pango-cairo.patch:

--- NEW FILE pango-cairo.patch ---
Index: config/autoconf.mk.in
===================================================================
RCS file: /cvsroot/mozilla/config/autoconf.mk.in,v
retrieving revision 3.363.2.1
diff -u -p -6 -r3.363.2.1 autoconf.mk.in
--- config/autoconf.mk.in	17 Aug 2005 17:17:17 -0000	3.363.2.1
+++ config/autoconf.mk.in	27 Aug 2005 19:57:29 -0000
@@ -456,12 +456,13 @@ MOZ_XFT_CFLAGS		= @MOZ_XFT_CFLAGS@
 MOZ_XFT_LIBS		= @MOZ_XFT_LIBS@
 MOZ_ENABLE_COREXFONTS	= @MOZ_ENABLE_COREXFONTS@
 
 MOZ_ENABLE_PANGO        = @MOZ_ENABLE_PANGO@
 MOZ_PANGO_CFLAGS        = @MOZ_PANGO_CFLAGS@
 MOZ_PANGO_LIBS          = @MOZ_PANGO_LIBS@
+MOZ_PANGOCAIRO          = @MOZ_PANGOCAIRO@
 
 MOZ_EXTRA_X11CONVERTERS	= @MOZ_EXTRA_X11CONVERTERS@
 
 MOZ_ENABLE_XINERAMA	= @MOZ_ENABLE_XINERAMA@
 MOZ_XINERAMA_LIBS	= @MOZ_XINERAMA_LIBS@
 
Index: gfx/src/gtk/mozilla-decoder.cpp
===================================================================
RCS file: /cvsroot/mozilla/gfx/src/gtk/mozilla-decoder.cpp,v
retrieving revision 1.3
diff -u -p -6 -r1.3 mozilla-decoder.cpp
--- gfx/src/gtk/mozilla-decoder.cpp	7 Nov 2004 23:59:23 -0000	1.3
+++ gfx/src/gtk/mozilla-decoder.cpp	27 Aug 2005 19:57:49 -0000
@@ -37,13 +37,17 @@
  * ***** END LICENSE BLOCK ***** */
 
 #define PANGO_ENABLE_BACKEND
 #define PANGO_ENABLE_ENGINE
 
 #include "mozilla-decoder.h"
+#ifdef MOZ_PANGOCAIRO
+#include <pango/pangocairo.h>
+#else
 #include <pango/pangoxft.h>
+#endif
 #include <pango/pangofc-fontmap.h>
 #include <pango/pangofc-font.h>
 #include <gdk/gdkx.h>
 
 #include "nsString.h"
 #include "nsIPersistentProperties2.h"
@@ -205,13 +209,17 @@ mozilla_decoders_init(void)
         }
         else {
             printf("unknown suffix used for mapping\n");
         }
     }
 
+#ifdef MOZ_PANGOCAIRO
+    pango_fc_font_map_add_decoder_find_func(PANGO_FC_FONT_MAP(pango_cairo_font_map_get_default()),
+#else
     pango_fc_font_map_add_decoder_find_func(PANGO_FC_FONT_MAP(pango_xft_get_font_map(GDK_DISPLAY(),gdk_x11_get_default_screen())),
+#endif
                                             mozilla_find_decoder,
                                             NULL,
                                             NULL);
 
     initialized = PR_TRUE;
 
Index: configure.in
===================================================================
RCS file: /cvsroot/mozilla/configure.in,v
retrieving revision 1.1503.2.6
diff -u -p -6 -r1.1503.2.6 configure.in
--- configure.in	25 Aug 2005 19:05:34 -0000	1.1503.2.6
+++ configure.in	29 Aug 2005 08:03:32 -0000
@@ -3707,14 +3707,14 @@ gtk)
     ;;
 
 gtk2)
     MOZ_ENABLE_GTK2=1
     MOZ_ENABLE_XREMOTE=1
     MOZ_ENABLE_COREXFONTS=${MOZ_ENABLE_COREXFONTS-}
-    TK_CFLAGS='$(MOZ_GTK2_CFLAGS)'
-    TK_LIBS='$(MOZ_GTK2_LIBS)'
+    TK_CFLAGS='$(MOZ_GTK2_CFLAGS) $(MOZ_PANGO_CFLAGS)'
+    TK_LIBS='$(MOZ_GTK2_LIBS) $(MOZ_PANGO_LIBS)'
     AC_DEFINE(MOZ_WIDGET_GTK2)
     ;;
 
 xlib)
 	MOZ_ENABLE_XLIB=1
     if test "$_HAVE_FREETYPE2"; then
@@ -4277,33 +4277,44 @@ if test "$MOZ_ENABLE_XFT" && test "$MOZ_
 fi
 
 if test "$MOZ_ENABLE_XFT"
 then
     AC_DEFINE(MOZ_ENABLE_XFT)
     PKG_CHECK_MODULES(MOZ_XFT, xft)
-    PKG_CHECK_MODULES(_PANGOCHK, pango >= 1.1.0)
+    PKG_CHECK_MODULES(MOZ_PANGO, pangoxft >= 1.1.0 pangox)
 fi
 
 AC_SUBST(MOZ_ENABLE_XFT)
 AC_SUBST(MOZ_XFT_CFLAGS)
 AC_SUBST(MOZ_XFT_LIBS)
+AC_SUBST(MOZ_PANGO_CFLAGS)
+AC_SUBST(MOZ_PANGO_LIBS)
 
 dnl ========================================================
 dnl = pango font rendering
 dnl ========================================================
 MOZ_ARG_ENABLE_BOOL(pango,
 [  --enable-pango          Enable Pango font rendering support],
     MOZ_ENABLE_PANGO=1,
     MOZ_ENABLE_PANGO=)
 
 if test "$MOZ_ENABLE_PANGO"
 then
     AC_DEFINE(MOZ_ENABLE_PANGO)
-    PKG_CHECK_MODULES(MOZ_PANGO, pango >= 1.6.0 pangoft2 >= 1.6.0)
+    PKG_CHECK_MODULES(MOZ_PANGO, pangoxft >= 1.6.0)
+    PKG_CHECK_MODULES(PANGOCAIRO_CHK, pangocairo >= 1.10.0,
+    [ 
+      MOZ_PANGOCAIRO=1
+      AC_DEFINE(MOZ_PANGOCAIRO)
+      MOZ_PANGO_CFLAGS="$PANGOCAIRO_CHK_CFLAGS $MOZ_PANGO_CFLAGS"
+      MOZ_PANGO_LIBS="$PANGOCAIRO_CHK_LIBS $MOZ_PANGO_LIBS"
+    ],
+    [:])
 
     AC_SUBST(MOZ_ENABLE_PANGO)
+    AC_SUBST(MOZ_PANGOCAIRO)
     AC_SUBST(MOZ_PANGO_CFLAGS)
     AC_SUBST(MOZ_PANGO_LIBS)
 fi
 
 dnl ========================================================
 dnl = x11 core font support (default and ability to enable depend on toolkit)

seamonkey-cairo-bug5136.patch:

--- NEW FILE seamonkey-cairo-bug5136.patch ---
Index: mozilla/gfx/cairo/libpixman/src/pixman-remap.h
===================================================================
RCS file: /cvsroot/mozilla/gfx/cairo/libpixman/src/pixman-remap.h,v
retrieving revision 1.1.6.2
diff -u -p -r1.1.6.2 pixman-remap.h
--- mozilla/gfx/cairo/libpixman/src/pixman-remap.h	27 Sep 2005 23:09:03 -0000	1.1.6.2
+++ mozilla/gfx/cairo/libpixman/src/pixman-remap.h	21 Nov 2005 02:35:24 -0000
@@ -1,9 +1,7 @@
 #define pixman_add_trapezoids _cairo_pixman_add_trapezoids
-#define INT_pixman_color_to_pixel _cairo_pixman_color_to_pixel
 #define pixman_color_to_pixel _cairo_pixman_color_to_pixel
 #define composeFunctions _cairo_pixman_compose_functions
 #define fbComposeSetupMMX _cairo_pixman_compose_setup_mmx
-#define INT_pixman_composite _cairo_pixman_composite
 #define pixman_composite _cairo_pixman_composite
 #define fbCompositeCopyAreammx _cairo_pixman_composite_copy_area_mmx
 #define fbCompositeSolidMask_nx8888x0565Cmmx _cairo_pixman_composite_solid_mask_nx8888x0565Cmmx


seamonkey-configure.patch:

--- NEW FILE seamonkey-configure.patch ---
--- mozilla/configure.ac213	2006-02-10 09:14:59.000000000 +0100
+++ mozilla/configure	2006-02-10 09:15:01.000000000 +0100
@@ -941,7 +941,7 @@
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:938: checking host system type" >&5
+echo "configure:945: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -962,7 +962,7 @@
 echo "$ac_t""$host" 1>&6
 
 echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:959: checking target system type" >&5
+echo "configure:966: checking target system type" >&5
 
 target_alias=$target
 case "$target_alias" in
@@ -980,7 +980,7 @@
 echo "$ac_t""$target" 1>&6
 
 echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:977: checking build system type" >&5
+echo "configure:984: checking build system type" >&5
 
 build_alias=$build
 case "$build_alias" in
@@ -1050,12 +1050,12 @@
 LIBGNOME_VERSION=2.0
 
 MISSING_X=
-for ac_prog in mawk gawk nawk awk
+for ac_prog in gawk mawk nawk awk
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1051: checking for $ac_word" >&5
+echo "configure:1059: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1153,7 +1153,7 @@
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1149: checking for $ac_word" >&5
+echo "configure:1157: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_NSINSTALL_BIN'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1226,13 +1226,13 @@
     _SAVE_LDFLAGS="$LDFLAGS"
 
     echo $ac_n "checking for host c compiler""... $ac_c" 1>&6
-echo "configure:1222: checking for host c compiler" >&5
+echo "configure:1230: checking for host c compiler" >&5
     for ac_prog in $HOST_CC gcc cc /usr/ucb/cc cl icc
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1228: checking for $ac_word" >&5
+echo "configure:1236: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_HOST_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1267,13 +1267,13 @@
     fi
     echo "$ac_t""$HOST_CC" 1>&6
     echo $ac_n "checking for host c++ compiler""... $ac_c" 1>&6
-echo "configure:1263: checking for host c++ compiler" >&5
+echo "configure:1271: checking for host c++ compiler" >&5
     for ac_prog in $HOST_CXX $CCC c++ g++ gcc CC cxx cc++ cl icc
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1269: checking for $ac_word" >&5
+echo "configure:1277: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_HOST_CXX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1322,7 +1322,7 @@
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1318: checking for $ac_word" >&5
+echo "configure:1326: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_HOST_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1357,7 +1357,7 @@
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1353: checking for $ac_word" >&5
+echo "configure:1361: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_HOST_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1392,16 +1392,16 @@
     LDFLAGS="$HOST_LDFLAGS"
 
     echo $ac_n "checking whether the host c compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1388: checking whether the host c compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works" >&5
+echo "configure:1396: checking whether the host c compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works" >&5
     cat > conftest.$ac_ext <<EOF
-#line 1390 "configure"
+#line 1398 "configure"
 #include "confdefs.h"
 
 int main() {
 return(0);
 ; return 0; }
 EOF
-if { (eval echo configure:1397: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1405: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_prog_hostcc_works=1 echo "$ac_t""yes" 1>&6
 else
@@ -1416,16 +1416,16 @@
     CFLAGS="$HOST_CXXFLAGS"
 
     echo $ac_n "checking whether the host c++ compiler ($HOST_CXX $HOST_CXXFLAGS $HOST_LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1412: checking whether the host c++ compiler ($HOST_CXX $HOST_CXXFLAGS $HOST_LDFLAGS) works" >&5
+echo "configure:1420: checking whether the host c++ compiler ($HOST_CXX $HOST_CXXFLAGS $HOST_LDFLAGS) works" >&5
     cat > conftest.$ac_ext <<EOF
-#line 1414 "configure"
+#line 1422 "configure"
 #include "confdefs.h"
 
 int main() {
 return(0);
 ; return 0; }
 EOF
-if { (eval echo configure:1421: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1429: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_prog_hostcxx_works=1 echo "$ac_t""yes" 1>&6
 else
@@ -1445,7 +1445,7 @@
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1441: checking for $ac_word" >&5
+echo "configure:1449: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1479,7 +1479,7 @@
     # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1475: checking for $ac_word" >&5
+echo "configure:1483: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1509,7 +1509,7 @@
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1505: checking for $ac_word" >&5
+echo "configure:1513: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1560,7 +1560,7 @@
       # Extract the first word of "cl", so it can be a program name with args.
 set dummy cl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1556: checking for $ac_word" >&5
+echo "configure:1564: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1592,7 +1592,7 @@
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1588: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1596: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1603,12 +1603,12 @@
 
 cat > conftest.$ac_ext << EOF
 
-#line 1599 "configure"
+#line 1607 "configure"
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
-if { (eval echo configure:1604: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
[...5344 lines suppressed...]
+if { (eval echo configure:18458: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -18292,7 +18481,7 @@
 fi
 
 echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:18171: checking stack direction for C alloca" >&5
+echo "configure:18485: checking stack direction for C alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -18300,7 +18489,7 @@
   ac_cv_c_stack_direction=0
 else
   cat > conftest.$ac_ext <<EOF
-#line 18179 "configure"
+#line 18493 "configure"
 #include "confdefs.h"
 find_stack_direction ()
 {
@@ -18319,7 +18508,7 @@
   exit (find_stack_direction() < 0);
 }
 EOF
-if { (eval echo configure:18198: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:18512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_c_stack_direction=1
 else
@@ -18368,17 +18557,17 @@
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:18247: checking for $ac_hdr" >&5
+echo "configure:18561: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 18252 "configure"
+#line 18566 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:18257: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:18571: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -18458,7 +18647,7 @@
     # Extract the first word of "pkg-config", so it can be a program name with args.
 set dummy pkg-config; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:18337: checking for $ac_word" >&5
+echo "configure:18651: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -18502,19 +18691,19 @@
      PKG_CONFIG_MIN_VERSION=0.9.0
      if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
         echo $ac_n "checking for cairo >= $CAIRO_VERSION""... $ac_c" 1>&6
-echo "configure:18381: checking for cairo >= $CAIRO_VERSION" >&5
+echo "configure:18695: checking for cairo >= $CAIRO_VERSION" >&5
 
         if $PKG_CONFIG --exists "cairo >= $CAIRO_VERSION" ; then
             echo "$ac_t""yes" 1>&6
             succeeded=yes
 
             echo $ac_n "checking CAIRO_CFLAGS""... $ac_c" 1>&6
-echo "configure:18388: checking CAIRO_CFLAGS" >&5
+echo "configure:18702: checking CAIRO_CFLAGS" >&5
             CAIRO_CFLAGS=`$PKG_CONFIG --cflags "cairo >= $CAIRO_VERSION"`
             echo "$ac_t""$CAIRO_CFLAGS" 1>&6
 
             echo $ac_n "checking CAIRO_LIBS""... $ac_c" 1>&6
-echo "configure:18393: checking CAIRO_LIBS" >&5
+echo "configure:18707: checking CAIRO_LIBS" >&5
             ## don't use --libs since that can do evil things like add
             ## -Wl,--export-dynamic
             CAIRO_LIBS="`$PKG_CONFIG --libs-only-L \"cairo >= $CAIRO_VERSION\"` `$PKG_CONFIG --libs-only-l \"cairo >= $CAIRO_VERSION\"`"
@@ -18579,7 +18768,7 @@
         # Extract the first word of "python", so it can be a program name with args.
 set dummy python; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:18458: checking for $ac_word" >&5
+echo "configure:18772: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PYTHON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -18840,14 +19029,14 @@
 cross_compiling=$ac_cv_prog_cc_cross
 
     cat > conftest.$ac_ext <<EOF
-#line 18719 "configure"
+#line 19033 "configure"
 #include "confdefs.h"
 #include <gmodule.h>
 int main() {
  int x = 1; x++; 
 ; return 0; }
 EOF
-if { (eval echo configure:18726: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:19040: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   :
 else
   echo "configure: failed program was:" >&5
@@ -19113,6 +19302,10 @@
 
 
 
+
+
+
+
 cat >> confdefs.h <<EOF
 #define MOZ_DLL_SUFFIX "$DLL_SUFFIX"
 EOF
@@ -19140,7 +19333,7 @@
                 _SAVE_CFLAGS=$CFLAGS
     CFLAGS="$CFLAGS $XCFLAGS"
     cat > conftest.$ac_ext <<EOF
-#line 19019 "configure"
+#line 19337 "configure"
 #include "confdefs.h"
 
         #include <stdio.h>
@@ -19156,7 +19349,7 @@
     
 ; return 0; }
 EOF
-if { (eval echo configure:19035: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:19353: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   :
 else
   echo "configure: failed program was:" >&5
@@ -19373,15 +19566,34 @@
 # Transform confdefs.h into DEFS.
 # Protect against shell expansion while executing Makefile rules.
 # Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
-s%[ 	`~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then we branch to the quote section.  Otherwise,
+# look for a macro that doesn't take arguments.
+cat >confdef2opt.sed <<\_ACEOF
+t clear
+: clear
+s,^[ 	]*#[ 	]*define[ 	][ 	]*\([^ 	(][^ 	(]*([^)]*)\)[ 	]*\(.*\),-D\1=\2,g
+t quote
+s,^[ 	]*#[ 	]*define[ 	][ 	]*\([^ 	][^ 	]*\)[ 	]*\(.*\),-D\1=\2,g
+t quote
+d
+: quote
+s,[ 	`~#$^&*(){}\\|;'"<>?],\\&,g
+s,\[,\\&,g
+s,\],\\&,g
+s,\$,$$,g
+p
+_ACEOF
+# We use echo to avoid assuming a particular line-breaking character.
+# The extra dot is to prevent the shell from consuming trailing
+# line-breaks from the sub-command output.  A line-break within
+# single-quotes doesn't work because, if this script is created in a
+# platform that uses two characters for line-breaks (e.g., DOS), tr
+# would break.
+ac_LF_and_DOT=`echo; echo .`
+DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
+rm -f confdef2opt.sed
 
 MOZ_DEFINES=$DEFS
 
@@ -19663,12 +19875,13 @@
 s%@MOZ_ENABLE_FREETYPE2@%$MOZ_ENABLE_FREETYPE2%g
 s%@MOZ_XFT_CFLAGS@%$MOZ_XFT_CFLAGS%g
 s%@MOZ_XFT_LIBS@%$MOZ_XFT_LIBS%g
-s%@_PANGOCHK_CFLAGS@%$_PANGOCHK_CFLAGS%g
-s%@_PANGOCHK_LIBS@%$_PANGOCHK_LIBS%g
-s%@MOZ_ENABLE_XFT@%$MOZ_ENABLE_XFT%g
 s%@MOZ_PANGO_CFLAGS@%$MOZ_PANGO_CFLAGS%g
 s%@MOZ_PANGO_LIBS@%$MOZ_PANGO_LIBS%g
+s%@MOZ_ENABLE_XFT@%$MOZ_ENABLE_XFT%g
+s%@PANGOCAIRO_CHK_CFLAGS@%$PANGOCAIRO_CHK_CFLAGS%g
+s%@PANGOCAIRO_CHK_LIBS@%$PANGOCAIRO_CHK_LIBS%g
 s%@MOZ_ENABLE_PANGO@%$MOZ_ENABLE_PANGO%g
+s%@MOZ_PANGOCAIRO@%$MOZ_PANGOCAIRO%g
 s%@MOZ_ENABLE_COREXFONTS@%$MOZ_ENABLE_COREXFONTS%g
 s%@MOZ_GNOMEVFS_CFLAGS@%$MOZ_GNOMEVFS_CFLAGS%g
 s%@MOZ_GNOMEVFS_LIBS@%$MOZ_GNOMEVFS_LIBS%g

seamonkey-disable-visibility.patch:

--- NEW FILE seamonkey-disable-visibility.patch ---
Index: mozilla/configure.in
===================================================================
RCS file: /cvsroot/mozilla/configure.in,v
retrieving revision 1.1503.2.15.2.3
diff -u -r1.1503.2.15.2.3 configure.in
--- mozilla/configure.in	10 Jan 2006 03:11:42 -0000	1.1503.2.15.2.3
+++ mozilla/configure.in	21 Jan 2006 09:00:24 -0000
@@ -2383,7 +2383,7 @@
 dnl Check for .hidden assembler directive and visibility attribute.
 dnl Borrowed from glibc configure.in
 dnl ===============================================================
-if test "$GNU_CC"; then
+if /bin/false; then
   AC_CACHE_CHECK(for visibility(hidden) attribute,
                  ac_cv_visibility_hidden,
                  [cat > conftest.c <<EOF


--- NEW FILE seamonkey-fedora-default-bookmarks.html ---
<!DOCTYPE NETSCAPE-Bookmark-file-1>
<!-- This is an automatically generated file.
     It will be read and overwritten.
     DO NOT EDIT! -->
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<TITLE>Bookmarks</TITLE>
<H1 LAST_MODIFIED="1130967916">Bookmarks</H1>

<DL><p>
    <DT><H3 ADD_DATE="961112773" LAST_MODIFIED="1130967903" PERSONAL_TOOLBAR_FOLDER="true" ID="NC:PersonalToolbarFolder">Personal Toolbar Folder</H3>
    <DL><p>
        <DT><A HREF="http://fedoraproject.org/" ADD_DATE="1130967459" LAST_MODIFIED="1130967615" LAST_CHARSET="UTF-8" ID="rdf:#$x80oc3">Fedora Project Portal</A>
        <DT><A HREF="http://fedora.redhat.com/docs/release-notes/" ADD_DATE="1130967140" LAST_VISIT="1130968088" ICON="data:image/x-icon;base64,AAABAAIAEBAQAAAAAAAoAQAAJgAAACAgEAAAAAAA6AIAAE4BAAAoAAAAEAAAACAAAAABAAQAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wCne2YAbjMWAOy/qgDHmoUAhl5KAMrFwgDu6eYAtot2ANKolACtlYkAlmpUAFsqEgDMurAA4rWgAAAAAAAAAAAACVVVqqr/REAJMzPdMzMzQAkzIY0zMzNACTNhEzMzM/ACMzEW0zMz8AIzNxvTMzOgAjM+Ht3dM/ACMzkREb0zoAwzPBF3ozOgAjMzEW3d01AMMzOBERjTUAwzM+ERETNQDDMzMzMzM1AMzMLCKSmZUAAAAAAAAAAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAEAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AICAgABuMxYA57qlAMCXhADn39sAmGxXAHxKMgDWysMAsIRvANOmkQBXKhQAzbuyAN+ynQDuwa0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApVVbW1u7vr7u5ERP//8AAFpaVVW1tbvr7u5ORPT/AAClMzMzM8zDMzMzMzMz/wAAWjMzMzzMzDMzMzMzM/8AAKUzMzkRHcwzMzMzMzNPAACqMzMyERnMMzMzMzMzRAAApTMzOhERzDMzMzMzM08AAKozMzgREYwzMzMzMzNEAACqMzMzYRF8wzMzMzMz5AAAqjMzM5ERXMMzMzMzM+4AAKozM!
 zNREZzDMzMzMzPkAACnMzMzoRFszDMzMzMz7gAAejMzM4ERGMzMzDMzM+4AAKczMzMxERjMzMzDMzPrAAB6MzMzORERERGcwzMzvgAApzMzMzsRERERHDMzM7sAAHozMzM1ERERERczMzO+AAB3MzMzOBERVVVYMzMzuwAAejMzMzMREYzDMzMzM7sAAHczMzMzYRGszMzMzDO7AAB3MzMzM9ERaZmZmswzWwAAdzMzMzNRERERER3MM7UAAHczMzMzcRERERERMzNbAAB3MzMzM4ERERERETMzVQAAdzMzMzMzMzMzMzMzM1UAAHczMzMzMzMzMzMzMzNVAAB3d3d6enqqqqqlpaVVVQAAd3d3d3d3p6enqqqqWlUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAQ==" LAST_CHARSET="UTF-8" ID="rdf:#$v80oc3">Latest Release Notes</A>
        <DT><H3 ADD_DATE="1130967903" LAST_MODIFIED="1130967916" ID="rdf:#$A80oc3">Fedora Community</H3>
        <DL><p>
            <DT><A HREF="http://fedoranews.org/mediawiki/index.php/Main_Page" ADD_DATE="1130967815" LAST_CHARSET="UTF-8" ID="rdf:#$y80oc3">Fedora Weekly News</A>
            <DT><A HREF="http://forum.fedoraforum.org/" ADD_DATE="1130967896" LAST_MODIFIED="1130968100" LAST_CHARSET="ISO-8859-1" ID="rdf:#$z80oc3">Fedora Forum.org</A>
        </DL><p>
        <DT><A HREF="http://www.redhat.com/magazine/" ADD_DATE="1130967439" LAST_CHARSET="ISO-8859-1" ID="rdf:#$w80oc3">Red Hat Magazine</A>
    </DL><p>
</DL><p>


--- NEW FILE seamonkey-fedora-default-prefs.js ---
pref("browser.display.use_system_colors",   true);
pref("general.smoothScroll",                true);
pref("general.useragent.vendor", "Fedora");
pref("general.useragent.vendorSub", "SEAMONKEY_RPM_VR");

seamonkey-fedora-home-page.patch:

--- NEW FILE seamonkey-fedora-home-page.patch ---
--- mozilla/xpfe/browser/resources/locale/en-US/region.properties.smp4	2005-12-05 13:43:59.000000000 +0100
+++ mozilla/xpfe/browser/resources/locale/en-US/region.properties	2006-01-21 08:58:49.000000000 +0100
@@ -1,5 +1,5 @@
 # navigator.properties
-homePageDefault=http://www.mozilla.org/
+homePageDefault=file:///usr/share/doc/HTML/index.html
 shopKeyword=keyword:shop [Product]
 quoteKeyword=keyword:quote [Enter symbol here]
 localKeyword=keyword:zip [Your zip code]
@@ -11,7 +11,7 @@
 #
 # all.js
 #
-browser.startup.homepage=http://www.mozilla.org/projects/seamonkey/start/
+browser.startup.homepage=file:///usr/share/doc/HTML/index.html
 browser.throbber.url=http://www.mozilla.org/projects/seamonkey/
 browser.search.defaulturl=http://www.google.com/search?q=
 general.useragent.contentlocale=US
@@ -21,4 +21,4 @@
 
 #config.js
 #
-startup.homepage_override_url=http://www.mozilla.org/projects/seamonkey/start/
+startup.homepage_override_url=file:///usr/share/doc/HTML/index.html


--- NEW FILE seamonkey-mail.desktop ---
[Desktop Entry]
Encoding=UTF-8
Name=Seamonkey Mail
Comment=Read Mail with Seamonkey
Exec=/usr/bin/seamonkey -mail
Icon=seamonkey-mail-icon
Terminal=0
Type=Application
Categories=X-Red-Hat-Extra;Application;Network;


--- NEW FILE seamonkey-make-package.pl ---
#!/usr/bin/perl -w
# 
# 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 Christopher Blizzard.
# Portions created by Christopher Blizzard are Copyright (C)
# Christopher Blizzard.  All Rights Reserved.
#
# Contributor(s):

# This script will read one of the mozilla packages- file on unix and
# copy it to a target directory.  It's for unix only and is really
# designed for use in building rpms or other packages.

use Getopt::Long;
use File::Find;

use strict;

# global vars
my $install_dir  = "";
my $install_root = "";
my $package_name = "";
my $package_file = "";
my $output_file  = "";
my $exclude_file = "";
my $retval;

# std return val

$retval = GetOptions('install-dir=s',  \$install_dir,
		     'install-root=s', \$install_root,
		     'package=s',      \$package_name,
		     'package-file=s', \$package_file,
		     'output-file=s',  \$output_file,
                     'exclude-file=s', \$exclude_file);

# make sure that all of the values are specific on the command line
if (!$retval || !$install_dir || !$install_root || !$package_name || 
    !$package_file || !$output_file) {
    print_usage();
    exit 1;
}

# try to open the packages file

open (PACKAGE_FILE, $package_file) || die("$0: Failed to open file $package_file for reading.");

print "chdir to $install_dir\n";
chdir($install_dir);

my @file_list;
my @exclude_list;
my @final_file_list;
my $reading_package = 0;

LINE: while (<PACKAGE_FILE>) {
    s/\;.*//;			# it's a comment, kill it.
    s/^\s+//;			# nuke leading whitespace
    s/\s+$//;			# nuke trailing whitespace
    
    # it's a blank line, skip it.
    if (/^$/) {
	next LINE;
    }

    # it's a new component
    if (/^\[/) {
	my $this_package;
	( $this_package ) = /^\[(.+)\]$/;
	if ($this_package eq $package_name) {
	    $reading_package = 1;
	}
	else {
	    $reading_package = 0;
	}
	next LINE;
    }

    # read this line
    if ($reading_package) {
	# see if it's a deletion
	if (/^-/) {
	    my $this_file;
	    ( $this_file ) = /^-(.+)$/;
	    push (@exclude_list, $this_file);
	}
	else {
	    push (@file_list, $_);
	}
    }
}

close PACKAGE_FILE;

# check if we have an exclude file

if ($exclude_file) {
    print "reading exclude file $exclude_file\n";

    open (EXCLUDE_FILE, $exclude_file) || die("$0: Failed to open exclude file $exclude_file for reading.");

    while (<EXCLUDE_FILE>) {
	chomp;
	print "Ignoring $_\n";
	push (@exclude_list, $_);
    }

    close EXCLUDE_FILE;
}

# Expand our file list

expand_file_list(\@file_list, \@exclude_list, \@final_file_list);

print "final file list\n";
foreach (@final_file_list) {
    print $_ . "\n";
}

open (OUTPUT_FILE, ">>$output_file") || die("Failed to open output file\n");
foreach (@final_file_list) {
    # strip off the bin/
    s/^bin\///;

    if ( ! -f $_ ) {
	print("Skipping $_ because it doesn't exist\n");
    }
    else {
	print ("Adding $_\n");
	print (OUTPUT_FILE $install_root . "/" . $_ . "\n");
    }
}
close OUTPUT_FILE;

#print "\nexlude list\n";
#foreach (@exclude_list) {
#    print $_ . "\n";
#}

# this function expands a list of files

sub expand_file_list {
    my $file_list_ref = shift;
    my $exclude_list_ref = shift;
    my $final_file_list_ref = shift;
    my $this_file;
    foreach $this_file (@{$file_list_ref}) {
	# strip off the bin/
	$this_file =~ s/^bin\///;

	# is it a wild card?
	if ($this_file =~ /\*/) {
	    print "Wild card $this_file\n";
	    # expand that wild card, removing anything in the exclude
	    # list
	    my @temp_list;
	    printf ("Expanding $this_file\n");
	    @temp_list = glob($this_file);
	    foreach $this_file (@temp_list) {
		if (!in_exclude_list($this_file, $exclude_list_ref)) {
		    push (@{$final_file_list_ref}, $this_file);
		}
	    }
	}
	else {
	    if (!in_exclude_list($this_file, $exclude_list_ref)) {
		push (@{$final_file_list_ref}, $this_file);
	    }
	}
    }
}

# is this file in the exlude list?

sub in_exclude_list {
    my $file = shift;
    my $exclude_list_ref = shift;
    my $this_file;
    foreach $this_file (@{$exclude_list_ref}) {
	if ($file eq $this_file) {
	    return 1;
	}
    }
    return 0;
}

# print out a usage message

sub print_usage {
    print ("$0: --install-dir dir --install-root dir --package name --package-file file --output-file file\n");
    print ("\t install-dir is the directory where the files are installed.\n");
    print ("\t install-root is the directory that should prefix files in the package file.\n");
    print ("\t package is the name of the package to list\n");
    print ("\t package-file is the file that contains the list of packages\n");
    print ("\t output-file is the file which will contain the list of files\n");
}


--- NEW FILE seamonkey-mozconfig ---
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-system-png
ac_add_options --with-pthreads
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --disable-installer
ac_add_options --enable-optimize="$RPM_OPT_FLAGS"
ac_add_options --enable-xinerama
ac_add_options --enable-default-toolkit=gtk2
ac_add_options --disable-xprint
ac_add_options --disable-strip
ac_add_options --enable-pango
#ac_add_options --enable-system-cairo
ac_add_options --enable-svg
ac_add_options --enable-canvas
ac_add_options --enable-extensions=default,irc
ac_add_options --enable-application=suite
ac_add_options --enable-crypto

export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZILLA_OFFICIAL=1


--- NEW FILE seamonkey.desktop ---
[Desktop Entry]
Encoding=UTF-8
Name=Seamonkey Web Browser
Comment=Browse the web with Seamonkey
Exec=seamonkey %u
Icon=seamonkey-icon
Terminal=0
Type=Application
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;
Categories=Network;Application;X-Fedora;
X-Desktop-File-Install-Version=0.10



--- NEW FILE seamonkey.sh.in ---
#!/bin/sh
#
# 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): 
#

## 
## Usage:
##
## $ mozilla
##
## This script is meant to run a mozilla program from the mozilla
## rpm installation.
##
## The script will setup all the environment voodoo needed to make
## mozilla work.

cmdname=`basename $0`

## don't leave any core files around
ulimit -c 0

##
## Variables
##
MOZ_DIST_BIN="LIBDIR/seamonkey-MOZILLA_VERSION"
MOZ_PROGRAM="LIBDIR/seamonkey-MOZILLA_VERSION/seamonkey-bin"
MOZ_CLIENT_PROGRAM="LIBDIR/seamonkey-MOZILLA_VERSION/mozilla-xremote-client -a seamonkey"

##
## Set MOZILLA_FIVE_HOME
##
MOZILLA_FIVE_HOME="LIBDIR/seamonkey-MOZILLA_VERSION"

export MOZILLA_FIVE_HOME

##
## Set LD_LIBRARY_PATH
##
if [ "$LD_LIBRARY_PATH" ]
then
  LD_LIBRARY_PATH=LIBDIR/seamonkey-MOZILLA_VERSION:LIBDIR/seamonkey-MOZILLA_VERSION/plugins:$LD_LIBRARY_PATH
else
  LD_LIBRARY_PATH=LIBDIR/seamonkey-MOZILLA_VERSION:LIBDIR/seamonkey-MOZILLA_VERSION/plugins
fi

export LD_LIBRARY_PATH

##
## Make sure that we set the plugin path for backwards compatibility
##
if [ "$MOZ_PLUGIN_PATH" ]
then
  MOZ_PLUGIN_PATH=$MOZ_PLUGIN_PATH:LIBDIR/mozilla/plugins:LIBDIR/seamonkey-MOZILLA_VERSION/plugins
else
  MOZ_PLUGIN_PATH=LIBDIR/mozilla/plugins:LIBDIR/seamonkey-MOZILLA_VERSION/plugins
fi
export MOZ_PLUGIN_PATH

##
## Set MOZ_ENABLE_PANGO is no longer used because Pango is enabled by default
## you may use MOZ_DISABLE_PANGO=1 to force disabling of pango
##
#MOZ_DISABLE_PANGO=1
#export MOZ_DISABLE_PANGO

function check_running() {
    $MOZ_CLIENT_PROGRAM 'ping()' 2>/dev/null >/dev/null
    RETURN_VAL=$?
    if [ "$RETURN_VAL" -eq "2" ]; then
      echo 0
      return 0
    else
      echo 1
      return 1
    fi
}

function open_mail() {
    if [ "${ALREADY_RUNNING}" -eq "1" ]; then
      exec $MOZ_CLIENT_PROGRAM 'xfeDoCommand(openInbox)' \
        2>/dev/null >/dev/null
    else
      exec $MOZ_PROGRAM $*
    fi
}

function open_compose() {
    if [ "${ALREADY_RUNNING}" -eq "1" ]; then
      exec $MOZ_CLIENT_PROGRAM 'xfeDoCommand(composeMessage)' \
        2>/dev/null >/dev/null
    else
      exec $MOZ_PROGRAM $*
    fi
}

# OK, here's where all the real work gets done

# check to see if there's an already running instance or not
ALREADY_RUNNING=`check_running`

# If there is no command line argument at all then try to open a new
# window in an already running instance.
if [ "${ALREADY_RUNNING}" -eq "1" ] && [ -z "$1" ]; then
  exec $MOZ_CLIENT_PROGRAM "xfeDoCommand(openBrowser)" 2>/dev/null >/dev/null
fi

# check system locale
MOZARGS=
MOZLOCALE=`echo $LANG | sed "s|_\([^.]*\).*|-\1|g"`
[ -f $MOZILLA_FIVE_HOME/chrome/$MOZLOCALE.jar ] && MOZARGS="-UILocale $MOZLOCALE"


# if there's no command line argument and there's not a running
# instance then just fire up a new copy of the browser
if [ -z "$1" ]; then
  exec $MOZ_PROGRAM $MOZARGS 2>/dev/null >/dev/null
fi

unset RETURN_VAL

# If there's a command line argument but it doesn't begin with a -
# it's probably a url.  Try to send it to a running instance.

USE_EXIST=0
opt="$1"
case "$opt" in
  -mail)
      open_mail ${1+"$@"}
      ;;
  -compose)
      open_compose ${1+"$@"}
      ;;
  -*) ;;
  *) USE_EXIST=1 ;;
esac

if [ "${USE_EXIST}" -eq "1" ] && [ "${ALREADY_RUNNING}" -eq "1" ]; then
  # check to make sure that the command contains at least a :/ in it.
  echo $opt | grep -e ':/' 2>/dev/null > /dev/null
  RETURN_VAL=$?
  if [ "$RETURN_VAL" -eq "1" ]; then
    # if it doesn't begin with a '/' and it exists when the pwd is
    # prepended to it then append the full path
    echo $opt | grep -e '^/' 2>/dev/null > /dev/null
    if [ "${RETURN_VAL}" -ne "0" ] && [ -e "`pwd`/$opt" ]; then
      opt="`pwd`/$opt"
    fi
    exec $MOZ_CLIENT_PROGRAM "openurl($opt)" 2>/dev/null >/dev/null
  fi
  # just pass it off if it looks like a url
  exec $MOZ_CLIENT_PROGRAM "openurl($opt,new-window)" 2>/dev/null >/dev/null
fi

exec $MOZ_PROGRAM $MOZARGS ${1+"$@"}


--- NEW FILE seamonkey.spec ---
%define desktop_file_utils_version 0.9
%define nspr_version 4.6
%define nss_version 3.11
%define pango_version 1.6.0

%define _unpackaged_files_terminate_build 0
%define builddir %{_builddir}/mozilla
%define mozdir %{_libdir}/seamonkey-%{version}

Name:           seamonkey
Summary:        Web browser, e-mail, news, IRC client, HTML editor
Version:        1.0
Release:        9%{?dist}
URL:            http://www.mozilla.org/projects/seamonkey/
License:        MPL
Group:          Applications/Internet

Source0:        seamonkey-%{version}.source.tar.bz2
Source1:        seamonkey.sh.in
Source2:        seamonkey-icon.png
Source4:        seamonkey.desktop
Source7:        seamonkey-make-package.pl
Source10:       seamonkey-mozconfig
Source12:       seamonkey-mail.desktop
Source13:       seamonkey-mail-icon.png
Source17:       mozilla-psm-exclude-list
Source18:       mozilla-xpcom-exclude-list
Source19:       seamonkey-fedora-default-bookmarks.html
Source20:       seamonkey-fedora-default-prefs.js
Source100:      find-external-requires

Patch1:         firefox-1.0-prdtoa.patch
Patch3:         firefox-1.1-nss-system-nspr.patch
Patch4:         firefox-1.5-with-system-nss.patch
Patch5:         seamonkey-disable-visibility.patch
Patch6:         firefox-1.5.0.1-dumpstack.patch
Patch21:        firefox-0.7.3-default-plugin-less-annoying.patch
Patch22:        firefox-0.7.3-psfonts.patch
Patch42:        firefox-1.1-uriloader.patch
Patch82:        pango-cairo.patch
Patch83:        seamonkey-cairo-bug5136.patch
Patch101:       thunderbird-0.7.3-gnome-uriloader.patch
Patch102:       thunderbird-1.5-bug304720.patch
Patch220:       seamonkey-fedora-home-page.patch
Patch225:       mozilla-nspr-packages.patch
Patch227:       mozilla-1.4.1-ppc64.patch
Patch301:       mozilla-1.7.3-gnome-vfs-default-app.patch
Patch304:       mozilla-1.7.5-g-application-name.patch
Patch999:       seamonkey-configure.patch

Buildroot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:  libpng-devel
BuildRequires:  libjpeg-devel
BuildRequires:  zlib-devel
BuildRequires:  zip
BuildRequires:  perl
BuildRequires:  libIDL-devel
BuildRequires:  glib2-devel
BuildRequires:  gtk2-devel
BuildRequires:  pango-devel >= %{pango_version}
BuildRequires:  nspr-devel >= %{nspr_version}
BuildRequires:  nss-devel >= %{nss_version}
Prereq:         fileutils perl
Prereq:         /usr/bin/killall
PreReq:         desktop-file-utils >= %{desktop_file_utils_version}

AutoProv: 0
%define _use_internal_dependency_generator 0
%define __find_requires %{SOURCE100}


%description
SeaMonkey is an all-in-one Internet application suite. It includes 
a browser, mail/news client, IRC client, JavaScript debugger, and 
a tool to inspect the DOM for web pages. It is derived from the 
application formerly known as Mozilla Application Suite.
 

%prep

%setup -q -n mozilla
%patch1  -p0
%patch3  -p1
%patch4  -p1

# Pragma visibility is broken on most platforms for some reason.
# It works on i386 so leave it alone there.  Disable elsewhere.
# See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20297
%ifnarch i386
%patch5  -p1
%endif

%patch6 -p1
%patch21 -p1
%patch22 -p1
%patch42 -p0
%patch82 -p0
%patch83 -p1
%patch101 -p1 -b .gnome-uriloader
%patch102 -p1
%patch220 -p1
%patch225 -p1
%patch227 -p1
%patch301 -p1
%patch304 -p0
%patch999 -p1

%{__rm} -f .mozconfig
%{__cp} %{SOURCE10} .mozconfig

# set up our default bookmarks
%{__cp} %{SOURCE19} $RPM_BUILD_DIR/mozilla/profile/defaults/bookmarks.html


%build

XCFLAGS=-g \
CFLAGS=-g \
%ifarch ia64 ppc
CXXFLAGS="-fno-inline -g" \
%else
CXXFLAGS=-g \
%endif
BUILD_OFFICIAL=1 MOZILLA_OFFICIAL=1 \
./configure --prefix=%{_prefix} --libdir=%{_libdir} \
--with-default-mozilla-five-home=%{mozdir} \
--mandir=%{_mandir}

BUILD_OFFICIAL=1 MOZILLA_OFFICIAL=1 make export
BUILD_OFFICIAL=1 MOZILLA_OFFICIAL=1 make %{?_smp_mflags} libs


%install
%{__rm} -rf $RPM_BUILD_ROOT

BUILD_OFFICIAL=1 MOZILLA_OFFICIAL=1 \
	DESTDIR=$RPM_BUILD_ROOT \
	make install

# create a list of all of the different package and the files that
# will hold them

%{__rm} -f %{builddir}/seamonkey.list

echo %defattr\(-,root,root\) > %{builddir}/seamonkey.list

# we don't want to ship mozilla's default sidebar components
%{__rm} -f $RPM_BUILD_ROOT/%{mozdir}/searchplugins/bugzilla.gif
%{__rm} -f $RPM_BUILD_ROOT/%{mozdir}/searchplugins/bugzilla.src
%{__rm} -f $RPM_BUILD_ROOT/%{mozdir}/searchplugins/dmoz.gif
%{__rm} -f $RPM_BUILD_ROOT/%{mozdir}/searchplugins/dmoz.src
%{__rm} -f $RPM_BUILD_ROOT/%{mozdir}/searchplugins/lxrmozilla.gif
%{__rm} -f $RPM_BUILD_ROOT/%{mozdir}/searchplugins/lxrmozilla.src
%{__rm} -f $RPM_BUILD_ROOT/%{mozdir}/searchplugins/mozilla.gif
%{__rm} -f $RPM_BUILD_ROOT/%{mozdir}/searchplugins/mozilla.src

# build all of the default browser components
# base Seamonkey package (seamonkey.list)
%{SOURCE7} --package langenus --output-file %{builddir}/seamonkey.list \
    --package-file $RPM_BUILD_DIR/mozilla/xpinstall/packager/packages-unix \
    --install-dir $RPM_BUILD_ROOT/%{mozdir} \
    --install-root %{mozdir}

%{SOURCE7} --package regus --output-file %{builddir}/seamonkey.list \
    --package-file $RPM_BUILD_DIR/mozilla/xpinstall/packager/packages-unix \
    --install-dir $RPM_BUILD_ROOT/%{mozdir} \
    --install-root %{mozdir}

%{SOURCE7} --package deflenus --output-file %{builddir}/seamonkey.list \
    --package-file $RPM_BUILD_DIR/mozilla/xpinstall/packager/packages-unix \
    --install-dir $RPM_BUILD_ROOT/%{mozdir} \
    --install-root %{mozdir}

%{SOURCE7} --package xpcom --output-file %{builddir}/seamonkey.list \
    --package-file $RPM_BUILD_DIR/mozilla/xpinstall/packager/packages-unix \
    --install-dir $RPM_BUILD_ROOT/%{mozdir} \
    --install-root %{mozdir} \
    --exclude-file=%{SOURCE18}

%{SOURCE7} --package browser --output-file %{builddir}/seamonkey.list \
    --package-file $RPM_BUILD_DIR/mozilla/xpinstall/packager/packages-unix \
    --install-dir $RPM_BUILD_ROOT/%{mozdir} \
    --install-root %{mozdir}

%{SOURCE7} --package spellcheck --output-file %{builddir}/seamonkey.list \
    --package-file $RPM_BUILD_DIR/mozilla/xpinstall/packager/packages-unix \
    --install-dir $RPM_BUILD_ROOT/%{mozdir} \
    --install-root %{mozdir}

%{SOURCE7} --package psm --output-file %{builddir}/seamonkey.list \
    --package-file $RPM_BUILD_DIR/mozilla/xpinstall/packager/packages-unix \
    --install-dir $RPM_BUILD_ROOT/%{mozdir} \
    --install-root %{mozdir} \
    --exclude-file=%{SOURCE17}

%{SOURCE7} --package mail --output-file %{builddir}/seamonkey.list \
    --package-file $RPM_BUILD_DIR/mozilla/xpinstall/packager/packages-unix \
    --install-dir $RPM_BUILD_ROOT/%{mozdir} \
    --install-root %{mozdir}

%{SOURCE7} --package chatzilla --output-file %{builddir}/seamonkey.list \
    --package-file $RPM_BUILD_DIR/mozilla/xpinstall/packager/packages-unix \
    --install-dir $RPM_BUILD_ROOT/%{mozdir} \
    --install-root %{mozdir}

%{SOURCE7} --package venkman --output-file %{builddir}/seamonkey.list \
    --package-file $RPM_BUILD_DIR/mozilla/xpinstall/packager/packages-unix \
    --install-dir $RPM_BUILD_ROOT/%{mozdir} \
    --install-root %{mozdir}

%{SOURCE7} --package inspector --output-file %{builddir}/seamonkey.list \
    --package-file $RPM_BUILD_DIR/mozilla/xpinstall/packager/packages-unix \
    --install-dir $RPM_BUILD_ROOT/%{mozdir} \
    --install-root %{mozdir}

# build our initial component and chrome registry

pushd `pwd`
  cd $RPM_BUILD_ROOT/%{mozdir}

  # save a copy of the default installed-chrome.txt file before we
  # muck with it
  mkdir chrome/lang
  cp chrome/installed-chrome.txt chrome/lang/

  # set up the default skin and locale to trigger the generation of
  # the user-locales and users-skins.rdf
  echo "skin,install,select,classic/1.0" >> chrome/installed-chrome.txt
  echo "locale,install,select,en-US" >> chrome/installed-chrome.txt

  # save the defaults in a file that will be used later to rebuild the
  # installed-chrome.txt file
  echo "skin,install,select,classic/1.0" >> chrome/lang/default.txt
  echo "locale,install,select,en-US" >> chrome/lang/default.txt

  # set up the chrome rdf files
  LD_LIBRARY_PATH=`pwd`:`pwd`/.. MOZILLA_FIVE_HOME=`pwd` MOZ_DISABLE_GNOME=1 ./regchrome

  # fix permissions of the chrome directories
  /usr/bin/find . -type d -perm 0700 -exec chmod 755 {} \; || :

  # We don't want JS files to be executable
  /usr/bin/find . -type f -name \*.js -exec chmod 644 {} \; || :
popd

# set up our desktop files
%{__mkdir_p} $RPM_BUILD_ROOT/%{_datadir}/pixmaps/

# install desktop files in correct directory
%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/applications/
desktop-file-install --vendor mozilla \
    --dir $RPM_BUILD_ROOT%{_datadir}/applications \
    --add-category X-Fedora \
    --add-category Application \
    --add-category Network \
    %{SOURCE4}
desktop-file-install --vendor mozilla \
    --dir $RPM_BUILD_ROOT%{_datadir}/applications \
    --add-category X-Fedora \
    --add-category Application \
    --add-category Network \
    %{SOURCE12}

install -c -m 644 %{SOURCE2} %{SOURCE13} \
  $RPM_BUILD_ROOT/%{_datadir}/pixmaps/

if [ ! -d $RPM_BUILD_ROOT/%{mozdir}/plugins/ ]; then
  mkdir -m 755 $RPM_BUILD_ROOT/%{mozdir}/plugins
fi

# install our seamonkey.sh file
cat %{SOURCE1} | sed -e 's/MOZILLA_VERSION/%{version}/g' \
		     -e 's,LIBDIR,%{_libdir},g' > \
  $RPM_BUILD_ROOT/usr/bin/seamonkey

chmod 755 $RPM_BUILD_ROOT/usr/bin/seamonkey

# set up our default preferences
%{__cat} %{SOURCE20} | %{__sed} -e 's,SEAMONKEY_RPM_VR,%{version}-%{release},g' > \
        $RPM_BUILD_ROOT/fc-default-prefs
%{__cp} $RPM_BUILD_ROOT/fc-default-prefs $RPM_BUILD_ROOT/%{mozdir}/defaults/pref/all-fedora.js
%{__rm} $RPM_BUILD_ROOT/fc-default-prefs

# we use /usr/lib/mozilla/plugins which is the version-independent
# place that plugins can be installed
%{__mkdir_p} $RPM_BUILD_ROOT/%{_libdir}/mozilla/plugins

# ghost files
touch $RPM_BUILD_ROOT%{mozdir}/chrome/chrome.rdf
for overlay in {"browser","communicator","cookie","editor","global","inspector","messenger","navigator"}; do
   %{__mkdir_p} $RPM_BUILD_ROOT%{mozdir}/chrome/overlayinfo/$overlay/content
  touch $RPM_BUILD_ROOT%{mozdir}/chrome/overlayinfo/$overlay/content/overlays.rdf
done
for overlay in {"browser","global"}; do
   %{__mkdir_p} $RPM_BUILD_ROOT%{mozdir}/chrome/overlayinfo/$overlay/skin
  touch $RPM_BUILD_ROOT%{mozdir}/chrome/overlayinfo/$overlay/skin/stylesheets.rdf
done
touch $RPM_BUILD_ROOT%{mozdir}/chrome/chrome.rdf
%{__mkdir_p} $RPM_BUILD_ROOT%{mozdir}/components/myspell


%clean
%{__rm} -rf $RPM_BUILD_ROOT


%post
update-desktop-database %{_datadir}/applications


%postun
update-desktop-database %{_datadir}/applications


%files -f seamonkey.list
%defattr(-,root,root)
%{_bindir}/seamonkey
%{_datadir}/pixmaps/seamonkey-icon.png
%{_datadir}/pixmaps/seamonkey-mail-icon.png

%verify (not md5 mtime size) %{mozdir}/components/compreg.dat
%verify (not md5 mtime size) %{mozdir}/components/xpti.dat

%{_mandir}/man1/seamonkey.1.gz

%dir %{_libdir}/mozilla/plugins

%dir %{mozdir}
%dir %{mozdir}/init.d
%dir %{mozdir}/defaults/pref
%dir %{mozdir}/defaults/profile
%dir %{mozdir}/defaults/profile/US
%dir %{mozdir}/defaults/wallet
%dir %{mozdir}/defaults/autoconfig
%dir %{mozdir}/defaults/messenger/US
%dir %{mozdir}/defaults/messenger
%dir %{mozdir}/defaults

%dir %{mozdir}/chrome/icons/default
%dir %{mozdir}/chrome/icons
%dir %{mozdir}/chrome/lang
%dir %{mozdir}/chrome

%dir %{mozdir}/res/dtd
%dir %{mozdir}/res/fonts
%dir %{mozdir}/res

%dir %{mozdir}/components/myspell
%dir %{mozdir}/components
%dir %{mozdir}/searchplugins

%dir %{mozdir}/plugins
%dir %{mozdir}/res/html
%dir %{mozdir}/res/samples
%dir %{mozdir}/res/entityTables

%verify (not md5 mtime size) %{mozdir}/chrome/installed-chrome.txt
%{mozdir}/chrome/lang/installed-chrome.txt
%{mozdir}/chrome/lang/default.txt

%{mozdir}/defaults/pref/all-fedora.js


%ghost %{mozdir}/chrome/chrome.rdf
%ghost %{mozdir}/chrome/overlays.rdf
%ghost %{mozdir}/chrome/stylesheets.rdf


%ghost %{mozdir}/chrome/overlayinfo/browser/skin/stylesheets.rdf
%ghost %{mozdir}/chrome/overlayinfo/global/skin/stylesheets.rdf

%ghost %{mozdir}/chrome/overlayinfo/browser/content/overlays.rdf
%ghost %{mozdir}/chrome/overlayinfo/communicator/content/overlays.rdf
%ghost %{mozdir}/chrome/overlayinfo/global/content/overlays.rdf
%ghost %{mozdir}/chrome/overlayinfo/editor/content/overlays.rdf
%ghost %{mozdir}/chrome/overlayinfo/navigator/content/overlays.rdf
%ghost %{mozdir}/chrome/overlayinfo/cookie/content/overlays.rdf

%ghost %{mozdir}/chrome/overlayinfo/messenger/content/overlays.rdf
%ghost %{mozdir}/chrome/overlayinfo/inspector/content/overlays.rdf

%dir %{mozdir}/chrome/overlayinfo/browser/content
%dir %{mozdir}/chrome/overlayinfo/browser/skin
%dir %{mozdir}/chrome/overlayinfo/browser
%dir %{mozdir}/chrome/overlayinfo/global/content
%dir %{mozdir}/chrome/overlayinfo/global/skin
%dir %{mozdir}/chrome/overlayinfo/global
%dir %{mozdir}/chrome/overlayinfo/communicator/content
%dir %{mozdir}/chrome/overlayinfo/communicator
%dir %{mozdir}/chrome/overlayinfo/editor/content
%dir %{mozdir}/chrome/overlayinfo/editor
%dir %{mozdir}/chrome/overlayinfo/navigator/content
%dir %{mozdir}/chrome/overlayinfo/navigator
%dir %{mozdir}/chrome/overlayinfo/cookie/content
%dir %{mozdir}/chrome/overlayinfo/cookie

%dir %{mozdir}/chrome/overlayinfo/messenger/content
%dir %{mozdir}/chrome/overlayinfo/messenger

%dir %{mozdir}/chrome/overlayinfo/inspector/content
%dir %{mozdir}/chrome/overlayinfo/inspector

%dir %{mozdir}/chrome/overlayinfo
%dir %{mozdir}/greprefs

%{_datadir}/applications/mozilla-%{name}.desktop
%{_datadir}/applications/mozilla-%{name}-mail.desktop


%changelog
* Mon Apr 10 2006 Kai Engert <kengert at redhat.com> 1.0-9
- Added dist suffix to release
* Fri Mar 17 2006 Kai Engert <kengert at redhat.com> 1.0-8
- Changed license to MPL
* Tue Mar 14 2006 Kai Engert <kengert at redhat.com> 1.0-7
- updated %files section, removed %preun,
- removed explicit nspr/nss requires
* Thu Mar 02 2006 Kai Engert <kengert at redhat.com> 1.0-6
- Use a single package for all included applications.
- Make sure installed JavaScript files are not executable.
- Disable AutoProv, use find-external-requires.
* Fri Feb 10 2006 Kai Engert <kengert at redhat.com> 1.0-4
- Addressed several review comments, see bugzilla.redhat.com #179802.
* Sat Jan 28 2006 Kai Engert <kengert at redhat.com> 1.0-1
- Initial version based on Seamonkey 1.0, using a combination of patches 
  from Mozilla 1.7.x, Firefox 1.5 and Thunderbird 1.5 RPM packages.

thunderbird-0.7.3-gnome-uriloader.patch:

--- NEW FILE thunderbird-0.7.3-gnome-uriloader.patch ---
--- mozilla/uriloader/exthandler/unix/nsGNOMERegistry.cpp.foo	2004-01-05 18:38:48.000000000 -0500
+++ mozilla/uriloader/exthandler/unix/nsGNOMERegistry.cpp	2004-01-05 19:14:51.000000000 -0500
@@ -39,6 +39,7 @@
 #include "nsGNOMERegistry.h"
 #include "prlink.h"
 #include "prmem.h"
+#include "prenv.h"
 #include "nsString.h"
 #include "nsIComponentManager.h"
 #include "nsILocalFile.h"
@@ -137,6 +138,10 @@
     } \
     PR_END_MACRO
 
+  // Don't even use this code if an env var is set
+  if (PR_GetEnv("MOZ_DISABLE_GNOME"))
+    return;
+
   // Attempt to open libgconf
   gconfLib = LoadVersionedLibrary("gconf-2", ".4");
   ENSURE_LIB(gconfLib);

thunderbird-1.5-bug304720.patch:

--- NEW FILE thunderbird-1.5-bug304720.patch ---
Index: mozilla/editor/txtsvc/src/nsTextServicesDocument.cpp
===================================================================
RCS file: /cvsroot/mozilla/editor/txtsvc/src/nsTextServicesDocument.cpp,v
retrieving revision 1.59
diff -u -w -r1.59 nsTextServicesDocument.cpp
--- mozilla/editor/txtsvc/src/nsTextServicesDocument.cpp	22 Aug 2005 03:00:03 -0000	1.59
+++ mozilla/editor/txtsvc/src/nsTextServicesDocument.cpp	21 Nov 2005 23:37:13 -0000
@@ -2494,6 +2494,8 @@
 nsresult
 nsTextServicesDocument::DeleteNode(nsIDOMNode *aChild)
 {
+  NS_ENSURE_TRUE(mIterator, NS_ERROR_FAILURE);
+
   //**** KDEBUG ****
   // printf("** DeleteNode: 0x%.8x\n", aChild);
   // fflush(stdout);


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/seamonkey/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	10 Apr 2006 21:41:15 -0000	1.1
+++ .cvsignore	10 Apr 2006 21:58:25 -0000	1.2
@@ -0,0 +1 @@
+seamonkey-1.0.source.tar.bz2


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/seamonkey/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	10 Apr 2006 21:41:15 -0000	1.1
+++ sources	10 Apr 2006 21:58:25 -0000	1.2
@@ -0,0 +1 @@
+e4f2edc5b2248d090303c70f5b28f210  seamonkey-1.0.source.tar.bz2




More information about the fedora-extras-commits mailing list