summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVlastimil Babka <caster@gentoo.org>2006-12-01 00:40:46 +0000
committerVlastimil Babka <caster@gentoo.org>2006-12-01 00:40:46 +0000
commitb33bce850bac8389bab71e6cbb5a7ca26c099619 (patch)
tree980c77df6a2f9e8e17a2167e1b95068e6389a603 /dev-java/swt/files
parentFixed building with seamonkey useflag - bugs #156716 and #155725. Thanks to J... (diff)
downloadgentoo-2-b33bce850bac8389bab71e6cbb5a7ca26c099619.tar.gz
gentoo-2-b33bce850bac8389bab71e6cbb5a7ca26c099619.tar.bz2
gentoo-2-b33bce850bac8389bab71e6cbb5a7ca26c099619.zip
Fixed building with seamonkey useflag - bugs #156716 and #155725. Thanks to Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org> for adjusting the x86 patches for amd64, and ron widler <ron@einfach.org> and William Thomson <wltjr@gentoo.org> for testing them. Now using dir-based epatch to apply them.
(Portage version: 2.1.2_rc2-r3) (Unsigned Manifest commit)
Diffstat (limited to 'dev-java/swt/files')
-rw-r--r--dev-java/swt/files/patches-3.2.1/10_all_gcc-4.x-warning-fix.patch66
-rw-r--r--dev-java/swt/files/patches-3.2.1/20_all_remove-stripping.patch (renamed from dev-java/swt/files/swt-3.2.1-remove-stripping.patch)1
-rw-r--r--dev-java/swt/files/patches-3.2.1/30_amd64_libswt-xpcomgcc4.patch103
-rw-r--r--dev-java/swt/files/patches-3.2.1/30_x86_libswt-xpcomgcc4.patch (renamed from dev-java/swt/files/swt-3.2.1-libswt-xpcomgcc4.patch)1
-rw-r--r--dev-java/swt/files/patches-3.2.1/31_amd64_firefox.patch153
-rw-r--r--dev-java/swt/files/patches-3.2.1/31_x86_firefox.patch (renamed from dev-java/swt/files/swt-3.2.1-firefox.patch)1
-rw-r--r--dev-java/swt/files/patches-3.2.1/40_amd64_cairo-signedness.patch11
-rw-r--r--dev-java/swt/files/patches-3.2.1/40_x86_cairo-signedness.patch11
8 files changed, 347 insertions, 0 deletions
diff --git a/dev-java/swt/files/patches-3.2.1/10_all_gcc-4.x-warning-fix.patch b/dev-java/swt/files/patches-3.2.1/10_all_gcc-4.x-warning-fix.patch
new file mode 100644
index 000000000000..f9a8116c0857
--- /dev/null
+++ b/dev-java/swt/files/patches-3.2.1/10_all_gcc-4.x-warning-fix.patch
@@ -0,0 +1,66 @@
+# Patch for GCC 4.x warnings
+--- src/os.c 2006-07-16 17:14:17.000000000 -0500
++++ src/os.c 2006-07-16 17:16:04.000000000 -0500
+@@ -2618,7 +2618,7 @@
+ OS_NATIVE_ENTER(env, that, _1g_1object_1get_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+ if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
+- g_object_get((GObject *)arg0, (const gchar *)lparg1, lparg2, arg3);
++ g_object_get((GObject *)arg0, (const gchar *)lparg1, lparg2, arg3, (char *)NULL);
+ fail:
+ if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
+@@ -2669,7 +2669,7 @@
+ jbyte *lparg1=NULL;
+ OS_NATIVE_ENTER(env, that, _1g_1object_1set__I_3BFI_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+- g_object_set((gpointer)arg0, (const gchar *)lparg1, arg2, arg3);
++ g_object_set((gpointer)arg0, (const gchar *)lparg1, arg2, arg3, (char *)NULL);
+ fail:
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
+ OS_NATIVE_EXIT(env, that, _1g_1object_1set__I_3BFI_FUNC);
+@@ -2683,7 +2683,7 @@
+ jbyte *lparg1=NULL;
+ OS_NATIVE_ENTER(env, that, _1g_1object_1set__I_3BII_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+- g_object_set((gpointer)arg0, (const gchar *)lparg1, arg2, arg3);
++ g_object_set((gpointer)arg0, (const gchar *)lparg1, arg2, arg3, (char *)NULL);
+ fail:
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
+ OS_NATIVE_EXIT(env, that, _1g_1object_1set__I_3BII_FUNC);
+@@ -2697,7 +2697,7 @@
+ jbyte *lparg1=NULL;
+ OS_NATIVE_ENTER(env, that, _1g_1object_1set__I_3BJI_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+- g_object_set((gpointer)arg0, (const gchar *)lparg1, arg2, arg3);
++ g_object_set((gpointer)arg0, (const gchar *)lparg1, arg2, arg3, (char *)NULL);
+ fail:
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
+ OS_NATIVE_EXIT(env, that, _1g_1object_1set__I_3BJI_FUNC);
+@@ -2711,7 +2711,7 @@
+ jbyte *lparg1=NULL;
+ OS_NATIVE_ENTER(env, that, _1g_1object_1set__I_3BZI_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+- g_object_set((gpointer)arg0, (const gchar *)lparg1, arg2, arg3);
++ g_object_set((gpointer)arg0, (const gchar *)lparg1, arg2, arg3, (char *)NULL);
+ fail:
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
+ OS_NATIVE_EXIT(env, that, _1g_1object_1set__I_3BZI_FUNC);
+@@ -12197,7 +12197,7 @@
+ OS_NATIVE_ENTER(env, that, _1gtk_1widget_1style_1get__I_3B_3II_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+ if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail;
+- gtk_widget_style_get((GtkWidget *)arg0, (const gchar *)lparg1, lparg2, arg3);
++ gtk_widget_style_get((GtkWidget *)arg0, (const gchar *)lparg1, lparg2, arg3, (char *)NULL);
+ fail:
+ if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
+@@ -12214,7 +12214,7 @@
+ OS_NATIVE_ENTER(env, that, _1gtk_1widget_1style_1get__I_3B_3JI_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+ if (arg2) if ((lparg2 = (*env)->GetLongArrayElements(env, arg2, NULL)) == NULL) goto fail;
+- gtk_widget_style_get((GtkWidget *)arg0, (const gchar *)lparg1, lparg2, arg3);
++ gtk_widget_style_get((GtkWidget *)arg0, (const gchar *)lparg1, lparg2, arg3, (char *)NULL);
+ fail:
+ if (arg2 && lparg2) (*env)->ReleaseLongArrayElements(env, arg2, lparg2, 0);
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
diff --git a/dev-java/swt/files/swt-3.2.1-remove-stripping.patch b/dev-java/swt/files/patches-3.2.1/20_all_remove-stripping.patch
index db63cd75a80b..0698d7fc4cd6 100644
--- a/dev-java/swt/files/swt-3.2.1-remove-stripping.patch
+++ b/dev-java/swt/files/patches-3.2.1/20_all_remove-stripping.patch
@@ -1,3 +1,4 @@
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=165097
--- make_linux.mak.old 2006-11-19 18:11:38.000000000 +0200
+++ make_linux.mak 2006-11-19 18:20:00.000000000 +0200
@@ -52,7 +52,7 @@
diff --git a/dev-java/swt/files/patches-3.2.1/30_amd64_libswt-xpcomgcc4.patch b/dev-java/swt/files/patches-3.2.1/30_amd64_libswt-xpcomgcc4.patch
new file mode 100644
index 000000000000..1c70cc057f56
--- /dev/null
+++ b/dev-java/swt/files/patches-3.2.1/30_amd64_libswt-xpcomgcc4.patch
@@ -0,0 +1,103 @@
+# fix building with seamonkey, bug #156716 and #155725
+diff -urN ../tmp-orig/swt-gtk-3.1/xpcom.cpp ./xpcom.cpp
+--- ../tmp-orig/swt-gtk-3.1/xpcom.cpp 2005-02-03 01:06:52.000000000 +0000
++++ ./xpcom.cpp 2005-09-10 08:22:37.000000000 +0000
+@@ -141,7 +141,7 @@
+ {
+ jint rc = 0;
+ XPCOM_NATIVE_ENTER(env, that, PR_1Malloc_FUNC);
+- rc = (jlong)PR_Malloc(arg0);
++ rc = (long)PR_Malloc(arg0);
+ XPCOM_NATIVE_EXIT(env, that, PR_1Malloc_FUNC);
+ return rc;
+ }
+@@ -1868,7 +1868,7 @@
+ {
+ jint rc = 0;
+ XPCOM_NATIVE_ENTER(env, that, nsEmbedCString_1get_FUNC);
+- rc = (jlong)((nsEmbedCString *)arg0)->get();
++ rc = (long)((nsEmbedCString *)arg0)->get();
+ XPCOM_NATIVE_EXIT(env, that, nsEmbedCString_1get_FUNC);
+ return rc;
+ }
+@@ -1880,7 +1880,7 @@
+ {
+ jint rc = 0;
+ XPCOM_NATIVE_ENTER(env, that, nsEmbedCString_1new___FUNC);
+- rc = (jlong)new nsEmbedCString();
++ rc = (long)new nsEmbedCString();
+ XPCOM_NATIVE_EXIT(env, that, nsEmbedCString_1new___FUNC);
+ return rc;
+ }
+@@ -1894,7 +1894,7 @@
+ jint rc = 0;
+ XPCOM_NATIVE_ENTER(env, that, nsEmbedCString_1new___3BI_FUNC);
+ if (arg0) if ((lparg0 = env->GetByteArrayElements(arg0, NULL)) == NULL) goto fail;
+- rc = (jlong)new nsEmbedCString((const char *)lparg0, arg1);
++ rc = (long)new nsEmbedCString((const char *)lparg0, arg1);
+ fail:
+ if (arg0 && lparg0) env->ReleaseByteArrayElements(arg0, lparg0, 0);
+ XPCOM_NATIVE_EXIT(env, that, nsEmbedCString_1new___3BI_FUNC);
+@@ -1908,7 +1908,7 @@
+ {
+ jint rc = 0;
+ XPCOM_NATIVE_ENTER(env, that, nsEmbedString_1Length_FUNC);
+- rc = (jint)((nsEmbedString *)arg0)->Length();
++ rc = (long)((nsEmbedString *)arg0)->Length();
+ XPCOM_NATIVE_EXIT(env, that, nsEmbedString_1Length_FUNC);
+ return rc;
+ }
+@@ -1930,7 +1930,7 @@
+ {
+ jint rc = 0;
+ XPCOM_NATIVE_ENTER(env, that, nsEmbedString_1get_FUNC);
+- rc = (jlong)((nsEmbedString *)arg0)->get();
++ rc = (long)((nsEmbedString *)arg0)->get();
+ XPCOM_NATIVE_EXIT(env, that, nsEmbedString_1get_FUNC);
+ return rc;
+ }
+@@ -1942,7 +1942,7 @@
+ {
+ jint rc = 0;
+ XPCOM_NATIVE_ENTER(env, that, nsEmbedString_1new___FUNC);
+- rc = (jlong)new nsEmbedString();
++ rc = (long)new nsEmbedString();
+ XPCOM_NATIVE_EXIT(env, that, nsEmbedString_1new___FUNC);
+ return rc;
+ }
+@@ -1956,7 +1956,7 @@
+ jint rc = 0;
+ XPCOM_NATIVE_ENTER(env, that, nsEmbedString_1new___3C_FUNC);
+ if (arg0) if ((lparg0 = env->GetCharArrayElements(arg0, NULL)) == NULL) goto fail;
+- rc = (jlong)new nsEmbedString(lparg0);
++ rc = (long)new nsEmbedString(lparg0);
+ fail:
+ if (arg0 && lparg0) env->ReleaseCharArrayElements(arg0, lparg0, 0);
+ XPCOM_NATIVE_EXIT(env, that, nsEmbedString_1new___3C_FUNC);
+@@ -1970,7 +1970,7 @@
+ {
+ jboolean rc = 0;
+ XPCOM_NATIVE_ENTER(env, that, nsID_1Equals_FUNC);
+- rc = (jboolean)((nsID *)arg0)->Equals(*(nsID *)arg1);
++ rc = (long)((nsID *)arg0)->Equals(*(nsID *)arg1);
+ XPCOM_NATIVE_EXIT(env, that, nsID_1Equals_FUNC);
+ return rc;
+ }
+@@ -1984,7 +1984,7 @@
+ jboolean rc = 0;
+ XPCOM_NATIVE_ENTER(env, that, nsID_1Parse_FUNC);
+ if (arg1) if ((lparg1 = env->GetStringUTFChars(arg1, NULL)) == NULL) goto fail;
+- rc = (jboolean)((nsID *)arg0)->Parse((const char *)lparg1);
++ rc = (long)((nsID *)arg0)->Parse((const char *)lparg1);
+ fail:
+ if (arg1 && lparg1) env->ReleaseStringUTFChars(arg1, lparg1);
+ XPCOM_NATIVE_EXIT(env, that, nsID_1Parse_FUNC);
+@@ -2008,7 +2008,7 @@
+ {
+ jint rc = 0;
+ XPCOM_NATIVE_ENTER(env, that, nsID_1new_FUNC);
+- rc = (jlong)new nsID();
++ rc = (long)new nsID();
+ XPCOM_NATIVE_EXIT(env, that, nsID_1new_FUNC);
+ return rc;
+ }
diff --git a/dev-java/swt/files/swt-3.2.1-libswt-xpcomgcc4.patch b/dev-java/swt/files/patches-3.2.1/30_x86_libswt-xpcomgcc4.patch
index 991f5f3a2c04..7cab5cdc6f56 100644
--- a/dev-java/swt/files/swt-3.2.1-libswt-xpcomgcc4.patch
+++ b/dev-java/swt/files/patches-3.2.1/30_x86_libswt-xpcomgcc4.patch
@@ -1,3 +1,4 @@
+# fix building with seamonkey, bug #156716 and #155725
diff -urN ../tmp-orig/swt-gtk-3.1/xpcom.cpp ./xpcom.cpp
--- ../tmp-orig/swt-gtk-3.1/xpcom.cpp 2005-02-03 01:06:52.000000000 +0000
+++ ./xpcom.cpp 2005-09-10 08:22:37.000000000 +0000
diff --git a/dev-java/swt/files/patches-3.2.1/31_amd64_firefox.patch b/dev-java/swt/files/patches-3.2.1/31_amd64_firefox.patch
new file mode 100644
index 000000000000..66847728f976
--- /dev/null
+++ b/dev-java/swt/files/patches-3.2.1/31_amd64_firefox.patch
@@ -0,0 +1,153 @@
+# fix building with seamonkey, bug #156716 and #155725
+diff -u -r1.33.2.1 make_linux.mak
+--- make_linux.mak 26 Jul 2006 16:33:23 -0000 1.33.2.1
++++ make_linux.mak 29 Sep 2006 13:21:51 -0000
+@@ -202,7 +202,7 @@
+ #
+ # Mozilla lib
+ #
+-make_mozilla:$(MOZILLA_LIB) $(PROFILE14_LIB) $(PROFILE17_LIB) $(PROFILE18_LIB)
++make_mozilla:$(MOZILLA_LIB)
+
+ $(MOZILLA_LIB): $(MOZILLA_OBJECTS)
+ $(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALIBS) ${GECKO_LIBS}
+@@ -220,22 +220,22 @@
+ $(CXX) $(MOZILLACFLAGS) ${GECKO_INCLUDES} -c xpcom_stats.cpp
+
+ $(PROFILE14_OBJECTS): xpcom_profile.cpp
+- $(CXX) -o $(PROFILE14_OBJECTS) $(MOZILLACFLAGS) ${PROFILE14_INCLUDES} -c xpcom_profile.cpp
++ $(CXX) -o $(PROFILE14_OBJECTS) $(MOZILLACFLAGS) ${PROFILE14_INCLUDES} ${GECKO_INCLUDES} -c xpcom_profile.cpp
+
+ $(PROFILE17_OBJECTS): xpcom_profile.cpp
+- $(CXX) -o $(PROFILE17_OBJECTS) $(MOZILLACFLAGS) ${PROFILE17_INCLUDES} -c xpcom_profile.cpp
++ $(CXX) -o $(PROFILE17_OBJECTS) $(MOZILLACFLAGS) ${PROFILE17_INCLUDES} ${GECKO_INCLUDES} -c xpcom_profile.cpp
+
+ $(PROFILE18_OBJECTS): xpcom_profile.cpp
+- $(CXX) -o $(PROFILE18_OBJECTS) $(MOZILLACFLAGS) ${PROFILE18_INCLUDES} -c xpcom_profile.cpp
++ $(CXX) -o $(PROFILE18_OBJECTS) $(MOZILLACFLAGS) ${PROFILE18_INCLUDES} ${GECKO_INCLUDES} -c xpcom_profile.cpp
+
+ $(PROFILE14_LIB): $(PROFILE14_OBJECTS)
+- $(CXX) -o $(PROFILE14_LIB) $(PROFILE14_OBJECTS) $(MOZILLALIBS) ${PROFILE14_LIBS}
++ $(CXX) -o $(PROFILE14_LIB) $(PROFILE14_OBJECTS) $(MOZILLALIBS) ${PROFILE14_LIBS} ${GECKO_LIBS}
+
+ $(PROFILE17_LIB): $(PROFILE17_OBJECTS)
+- $(CXX) -o $(PROFILE17_LIB) $(PROFILE17_OBJECTS) $(MOZILLALIBS) ${PROFILE17_LIBS}
++ $(CXX) -o $(PROFILE17_LIB) $(PROFILE17_OBJECTS) $(MOZILLALIBS) ${PROFILE17_LIBS} ${GECKO_LIBS}
+
+ $(PROFILE18_LIB): $(PROFILE18_OBJECTS)
+- $(CXX) -o $(PROFILE18_LIB) $(PROFILE18_OBJECTS) $(MOZILLALIBS) ${PROFILE18_LIBS}
++ $(CXX) -o $(PROFILE18_LIB) $(PROFILE18_OBJECTS) $(MOZILLALIBS) ${PROFILE18_LIBS} ${GECKO_LIBS}
+
+ #
+ # GLX lib
+@@ -264,4 +264,4 @@
+ # Clean
+ #
+ clean:
+- rm -f *.o *.so
++ rm -f *.o *.so
+\ No newline at end of file
+diff -u -r1.15.2.1 xpcom_stats.cpp
+--- xpcom_stats.cpp 26 Jul 2006 16:33:23 -0000 1.15.2.1
++++ xpcom_stats.cpp 29 Sep 2006 13:21:49 -0000
+@@ -31,15 +31,14 @@
+
+ #ifdef NATIVE_STATS
+
+-int XPCOM_nativeFunctionCount = 132;
+-int XPCOM_nativeFunctionCallCount[132];
++int XPCOM_nativeFunctionCount = 131;
++int XPCOM_nativeFunctionCallCount[131];
+ char * XPCOM_nativeFunctionNames[] = {
+ "Call",
+ "NS_1GetComponentManager",
+ "NS_1GetServiceManager",
+- "NS_1InitEmbedding",
++ "NS_1InitXPCOM3_FUNC",
+ "NS_1NewLocalFile",
+- "NS_1TermEmbedding",
+ "PR_1Free",
+ "PR_1Malloc",
+ "VtblCall__II",
+diff -u -r1.1.2.1 xpcom_profile.h
+--- xpcom_profile.h 26 Jul 2006 16:33:23 -0000 1.1.2.1
++++ xpcom_profile.h 29 Sep 2006 13:21:48 -0000
+@@ -32,7 +32,7 @@
+ #define NDEBUG
+
+ #include "nsCOMPtr.h"
+-#include "nsProfileDirServiceProvider.h"
++#include "profdirserviceprovider/nsProfileDirServiceProvider.h"
+ #include "xpcom_stats.h"
+
+ #endif /* INC_xpcom_profile_H */
+diff -u -r1.6.2.1 xpcom.h
+--- xpcom.h 26 Jul 2006 16:33:23 -0000 1.6.2.1
++++ xpcom.h 29 Sep 2006 13:21:48 -0000
+@@ -32,7 +32,6 @@
+ #define NDEBUG
+
+ #include "nsXPCOM.h"
+-#include "nsEmbedAPI.h"
+ #include "nsEmbedString.h"
+ #include "nsIInputStream.h"
+ #include "nsISupportsUtils.h"
+diff -u -r1.29.2.1 xpcom.cpp
+--- xpcom.cpp 26 Jul 2006 16:33:23 -0000 1.29.2.1
++++ xpcom.cpp 29 Sep 2006 13:21:48 -0000
+@@ -85,14 +85,16 @@
+ }
+ #endif
+
+-#ifndef NO_NS_1InitEmbedding
+-JNIEXPORT jint JNICALL XPCOM_NATIVE(NS_1InitEmbedding)
+- (JNIEnv *env, jclass that, jlong arg0, jlong arg1)
++#ifndef NO_NS_1InitXPCOM3
++JNIEXPORT jint JNICALL XPCOM_NATIVE(NS_1InitXPCOM3)
++ (JNIEnv *env, jclass that, jlong arg0, jlong arg1, jlong arg2, jlong arg3, jlong arg4)
+ {
+ jint rc = 0;
+- XPCOM_NATIVE_ENTER(env, that, NS_1InitEmbedding_FUNC);
+- rc = (jint)NS_InitEmbedding((nsILocalFile *)arg0, (nsIDirectoryServiceProvider *)arg1);
+- XPCOM_NATIVE_EXIT(env, that, NS_1InitEmbedding_FUNC);
++ XPCOM_NATIVE_ENTER(env, that, NS_1GetComponentRegistrar_FUNC);
++ rc = (jint)NS_InitXPCOM3((nsIServiceManager **)arg0, (nsIFile *)arg1,
++ (nsIDirectoryServiceProvider *)arg2, (nsStaticModuleInfo *)arg3,
++ (PRUint32) arg4);
++ XPCOM_NATIVE_EXIT(env, that, NS_1GetComponentRegistrar_FUNC);
+ return rc;
+ }
+ #endif
+@@ -113,18 +115,6 @@
+ }
+ #endif
+
+-#ifndef NO_NS_1TermEmbedding
+-JNIEXPORT jint JNICALL XPCOM_NATIVE(NS_1TermEmbedding)
+- (JNIEnv *env, jclass that)
+-{
+- jint rc = 0;
+- XPCOM_NATIVE_ENTER(env, that, NS_1TermEmbedding_FUNC);
+- rc = (jint)NS_TermEmbedding();
+- XPCOM_NATIVE_EXIT(env, that, NS_1TermEmbedding_FUNC);
+- return rc;
+-}
+-#endif
+-
+ #ifndef NO_PR_1Free
+ JNIEXPORT void JNICALL XPCOM_NATIVE(PR_1Free)
+ (JNIEnv *env, jclass that, jint arg0)
+diff -u -r1.14.2.1 xpcom_stats.h
+--- xpcom_stats.h 26 Jul 2006 16:33:23 -0000 1.14.2.1
++++ xpcom_stats.h 29 Sep 2006 13:21:49 -0000
+@@ -41,9 +41,8 @@
+ Call_FUNC,
+ NS_1GetComponentManager_FUNC,
+ NS_1GetServiceManager_FUNC,
+- NS_1InitEmbedding_FUNC,
++ NS_1InitXPCOM3_FUNC,
+ NS_1NewLocalFile_FUNC,
+- NS_1TermEmbedding_FUNC,
+ PR_1Free_FUNC,
+ PR_1Malloc_FUNC,
+ VtblCall__II_FUNC,
diff --git a/dev-java/swt/files/swt-3.2.1-firefox.patch b/dev-java/swt/files/patches-3.2.1/31_x86_firefox.patch
index ee536bf7d6bb..70a6c762cf5c 100644
--- a/dev-java/swt/files/swt-3.2.1-firefox.patch
+++ b/dev-java/swt/files/patches-3.2.1/31_x86_firefox.patch
@@ -1,3 +1,4 @@
+# fix building with seamonkey, bug #156716 and #155725
diff -u -r1.33.2.1 make_linux.mak
--- make_linux.mak 26 Jul 2006 16:33:23 -0000 1.33.2.1
+++ make_linux.mak 29 Sep 2006 13:21:51 -0000
diff --git a/dev-java/swt/files/patches-3.2.1/40_amd64_cairo-signedness.patch b/dev-java/swt/files/patches-3.2.1/40_amd64_cairo-signedness.patch
new file mode 100644
index 000000000000..1a560bf1e483
--- /dev/null
+++ b/dev-java/swt/files/patches-3.2.1/40_amd64_cairo-signedness.patch
@@ -0,0 +1,11 @@
+--- cairo.c 2006-07-17 16:02:31.000000000 +0200
++++ cairo.c 2006-07-17 16:02:46.000000000 +0200
+@@ -533,7 +533,7 @@
+ {
+ jlong rc = 0;
+ Cairo_NATIVE_ENTER(env, that, cairo_1image_1surface_1create_1for_1data_FUNC);
+- rc = (jlong)cairo_image_surface_create_for_data((char *)arg0, arg1, arg2, arg3, arg4);
++ rc = (jlong)cairo_image_surface_create_for_data((unsigned char *)arg0, arg1, arg2, arg3, arg4);
+ Cairo_NATIVE_EXIT(env, that, cairo_1image_1surface_1create_1for_1data_FUNC);
+ return rc;
+ }
diff --git a/dev-java/swt/files/patches-3.2.1/40_x86_cairo-signedness.patch b/dev-java/swt/files/patches-3.2.1/40_x86_cairo-signedness.patch
new file mode 100644
index 000000000000..e7bc1d505dda
--- /dev/null
+++ b/dev-java/swt/files/patches-3.2.1/40_x86_cairo-signedness.patch
@@ -0,0 +1,11 @@
+--- cairo.c 2006-07-16 19:16:27.000000000 -0500
++++ cairo.c 2006-07-16 19:18:15.000000000 -0500
+@@ -533,7 +533,7 @@
+ {
+ jint rc = 0;
+ Cairo_NATIVE_ENTER(env, that, cairo_1image_1surface_1create_1for_1data_FUNC);
+- rc = (jint)cairo_image_surface_create_for_data((char *)arg0, arg1, arg2, arg3, arg4);
++ rc = (jint)cairo_image_surface_create_for_data((unsigned char *)arg0, arg1, arg2, arg3, arg4);
+ Cairo_NATIVE_EXIT(env, that, cairo_1image_1surface_1create_1for_1data_FUNC);
+ return rc;
+ }