diff options
author | Martin Schlemmer <azarah@gentoo.org> | 2002-07-07 21:24:27 +0000 |
---|---|---|
committer | Martin Schlemmer <azarah@gentoo.org> | 2002-07-07 21:24:27 +0000 |
commit | e781638501e172a0bd8bd1f13fb8a852fb82d7eb (patch) | |
tree | 4f6330378b766ddc82f1279c8c99518c3fe5041b /net-www/mozilla | |
parent | Removed xdirectfb mask (diff) | |
download | gentoo-2-e781638501e172a0bd8bd1f13fb8a852fb82d7eb.tar.gz gentoo-2-e781638501e172a0bd8bd1f13fb8a852fb82d7eb.tar.bz2 gentoo-2-e781638501e172a0bd8bd1f13fb8a852fb82d7eb.zip |
gtk2 support; plugin (old) support with gcc-3.x
Diffstat (limited to 'net-www/mozilla')
19 files changed, 723 insertions, 2557 deletions
diff --git a/net-www/mozilla/ChangeLog b/net-www/mozilla/ChangeLog index 6a41fab1453e..75ebf0c9d757 100644 --- a/net-www/mozilla/ChangeLog +++ b/net-www/mozilla/ChangeLog @@ -1,12 +1,18 @@ # ChangeLog for net-www/mozilla # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL -# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/ChangeLog,v 1.24 2002/06/24 23:05:28 azarah Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/ChangeLog,v 1.25 2002/07/07 21:24:27 azarah Exp $ + +*mozilla-1.0-r3 (7 Jul 2002) + + 7 Jul 2002; Martin Schlemmer <azarah@gentoo.org> mozilla-1.0-r3 : + Add gcc-3.1.1 support. Add support for at least the flash and realmedia + plugins. Add gtk2 support. 26 Jun 2002; Martin Schlemmer <azarah@gentoo.org> : Add support to set NO_MAIL=YES to disable the mail and news components. This hopefully resolves bug #3575. -mozilla-1.0-r2 (7 Jun 2002) +*mozilla-1.0-r2 (7 Jun 2002) 7 Jun 2002; Spider <spider@gentoo.org> : modify the gtk+ dependencies. we dont want gtk2 deps just yet. diff --git a/net-www/mozilla/files/digest-mozilla-1.0-r1 b/net-www/mozilla/files/digest-mozilla-1.0-r1 deleted file mode 100644 index b445e74f96ef..000000000000 --- a/net-www/mozilla/files/digest-mozilla-1.0-r1 +++ /dev/null @@ -1 +0,0 @@ -MD5 033da936e48336aa2c5d8bf0aa039056 mozilla-source-1.0.tar.bz2 29620700 diff --git a/net-www/mozilla/files/digest-mozilla-1.0 b/net-www/mozilla/files/digest-mozilla-1.0-r3 index b445e74f96ef..b445e74f96ef 100644 --- a/net-www/mozilla/files/digest-mozilla-1.0 +++ b/net-www/mozilla/files/digest-mozilla-1.0-r3 diff --git a/net-www/mozilla/files/digest-mozilla-1.0_rc3-r1 b/net-www/mozilla/files/digest-mozilla-1.0_rc3-r1 deleted file mode 100644 index 473369e6da04..000000000000 --- a/net-www/mozilla/files/digest-mozilla-1.0_rc3-r1 +++ /dev/null @@ -1 +0,0 @@ -MD5 6d247c3527b7c52bb4f29228614bbe88 mozilla-source-1.0rc3.tar.bz2 29729464 diff --git a/net-www/mozilla/files/digest-mozilla-1.0_rc3-r2 b/net-www/mozilla/files/digest-mozilla-1.0_rc3-r2 deleted file mode 100644 index 04f14972562a..000000000000 --- a/net-www/mozilla/files/digest-mozilla-1.0_rc3-r2 +++ /dev/null @@ -1,2 +0,0 @@ -MD5 6d247c3527b7c52bb4f29228614bbe88 mozilla-source-1.0rc3.tar.bz2 29729464 - diff --git a/net-www/mozilla/files/digest-mozilla-1.0_rc3-r51 b/net-www/mozilla/files/digest-mozilla-1.0_rc3-r51 deleted file mode 100644 index 473369e6da04..000000000000 --- a/net-www/mozilla/files/digest-mozilla-1.0_rc3-r51 +++ /dev/null @@ -1 +0,0 @@ -MD5 6d247c3527b7c52bb4f29228614bbe88 mozilla-source-1.0rc3.tar.bz2 29729464 diff --git a/net-www/mozilla/files/gtk2_embed.patch.bz2 b/net-www/mozilla/files/gtk2_embed.patch.bz2 Binary files differnew file mode 100644 index 000000000000..5b7be782b8ae --- /dev/null +++ b/net-www/mozilla/files/gtk2_embed.patch.bz2 diff --git a/net-www/mozilla/files/gtk2_mozilla_xft.patch b/net-www/mozilla/files/gtk2_mozilla_xft.patch deleted file mode 100644 index 95c92cb1e1f3..000000000000 --- a/net-www/mozilla/files/gtk2_mozilla_xft.patch +++ /dev/null @@ -1,70 +0,0 @@ ---- mozilla/gfx/src/gtk/nsFontMetricsGTK.cpp.old Mon May 20 18:23:23 2002 -+++ mozilla/gfx/src/gtk/nsFontMetricsGTK.cpp Mon May 20 18:24:23 2002 -@@ -3126,10 +3126,31 @@ - - GdkRegion *rgn = nsnull; - clipRegion->GetNativeRegion((void *&)rgn); -- GdkRegionPrivate *priv = (GdkRegionPrivate *)rgn; - -- XftDrawSetClip(draw, priv->xregion); -- } -+// getting xregion for gdk2 so we can set the XftDrawSetClip region -+ GdkRectangle *rectangles = nsnull; -+ int n_rect = 0; -+ int i; -+ -+ gdk_region_get_rectangles (rgn, &rectangles, &n_rect); -+ -+ Region xregion = XCreateRegion(); -+ -+ for (i=0; i<n_rect; i++) { -+ XRectangle xrect; -+ -+ xrect.x = CLAMP (rectangles[i].x, G_MINSHORT, G_MAXSHORT); -+ xrect.y = CLAMP (rectangles[i].y, G_MINSHORT, G_MAXSHORT); -+ xrect.width = CLAMP (rectangles[i].width, G_MINSHORT, G_MAXSHORT); -+ xrect.height = CLAMP (rectangles[i].height, G_MINSHORT, G_MAXSHORT); -+ -+ XUnionRectWithRegion (&xrect, xregion, xregion); -+ } -+ -+ XftDrawSetClip(draw, xregion); -+ XDestroyRegion (xregion); -+ -+ } - - XftDrawString16(draw, &color, mXftFont, aX, aY + mBaselineAdjust, - (FcChar16 *)aString, aLength); -@@ -3169,9 +3190,30 @@ - - GdkRegion *rgn = nsnull; - clipRegion->GetNativeRegion((void *&)rgn); -- GdkRegionPrivate *priv = (GdkRegionPrivate *)rgn; - -- XftDrawSetClip(draw, priv->xregion); -+// getting xregion for gdk2 so we can set the XftDrawSetClip region -+ GdkRectangle *rectangles = nsnull; -+ int n_rect = 0; -+ int i; -+ -+ gdk_region_get_rectangles (rgn, &rectangles, &n_rect); -+ -+ Region xregion = XCreateRegion(); -+ -+ for (i=0; i<n_rect; i++) { -+ XRectangle xrect; -+ -+ xrect.x = CLAMP (rectangles[i].x, G_MINSHORT, G_MAXSHORT); -+ xrect.y = CLAMP (rectangles[i].y, G_MINSHORT, G_MAXSHORT); -+ xrect.width = CLAMP (rectangles[i].width, G_MINSHORT, G_MAXSHORT); -+ xrect.height = CLAMP (rectangles[i].height, G_MINSHORT, G_MAXSHORT); -+ -+ XUnionRectWithRegion (&xrect, xregion, xregion); -+ } -+ -+ XftDrawSetClip(draw, xregion); -+ XDestroyRegion (xregion); -+ - } - - XftDrawString8(draw, &color, mXftFont, aX, aY + mBaselineAdjust, diff --git a/net-www/mozilla/files/gtk2_widget.patch.bz2 b/net-www/mozilla/files/gtk2_widget.patch.bz2 Binary files differnew file mode 100644 index 000000000000..6dbd86db001e --- /dev/null +++ b/net-www/mozilla/files/gtk2_widget.patch.bz2 diff --git a/net-www/mozilla/files/gtk2mozilla.patch b/net-www/mozilla/files/gtk2mozilla.patch deleted file mode 100644 index 84b1dda8cc3f..000000000000 --- a/net-www/mozilla/files/gtk2mozilla.patch +++ /dev/null @@ -1,1012 +0,0 @@ -diff -u mozilla/embedding/browser/Makefile.in mold/embedding/browser/Makefile.in ---- mozilla/embedding/browser/Makefile.in Wed Apr 10 04:35:58 2002 -+++ mold/embedding/browser/Makefile.in Tue May 14 13:16:45 2002 -@@ -31,6 +31,10 @@ - DIRS += gtk - endif - -+ifdef MOZ_ENABLE_GTK2 -+DIRS += gtk -+endif -+ - ifdef MOZ_ENABLE_PHOTON - DIRS += photon - endif -Common subdirectories: mozilla/embedding/browser/activex and mold/embedding/browser/activex -Common subdirectories: mozilla/embedding/browser/build and mold/embedding/browser/build -Common subdirectories: mozilla/embedding/browser/chrome and mold/embedding/browser/chrome -Common subdirectories: mozilla/embedding/browser/cocoa and mold/embedding/browser/cocoa -Common subdirectories: mozilla/embedding/browser/gtk and mold/embedding/browser/gtk -Common subdirectories: mozilla/embedding/browser/macbuild and mold/embedding/browser/macbuild -Common subdirectories: mozilla/embedding/browser/photon and mold/embedding/browser/photon -Common subdirectories: mozilla/embedding/browser/powerplant and mold/embedding/browser/powerplant -Common subdirectories: mozilla/embedding/browser/webBrowser and mold/embedding/browser/webBrowser -Common subdirectories: mozilla/embedding/browser/gtk/src/.deps and mold/embedding/browser/gtk/src/.deps -Common subdirectories: mozilla/embedding/browser/gtk/src/CVS and mold/embedding/browser/gtk/src/CVS -diff -u -N mozilla/embedding/browser/gtk/src/EmbedWindow.cpp mold/embedding/browser/gtk/src/EmbedWindow.cpp ---- mozilla/embedding/browser/gtk/src/EmbedWindow.cpp Wed Apr 10 04:37:03 2002 -+++ mold/embedding/browser/gtk/src/EmbedWindow.cpp Tue May 14 10:41:23 2002 -@@ -226,9 +226,11 @@ - { - GtkWidget* parent = GTK_WIDGET(mOwner->mOwningWidget)->parent; - -+#ifdef MOZ_WIDGET_GTK - if (GTK_IS_CONTAINER(parent)) - gtk_container_focus(GTK_CONTAINER(parent), - GTK_DIR_TAB_FORWARD); -+#endif - return NS_OK; - } - -@@ -237,9 +239,11 @@ - { - GtkWidget* parent = GTK_WIDGET(mOwner->mOwningWidget)->parent; - -+#ifdef MOZ_WIDGET_GTK - if (GTK_IS_CONTAINER(parent)) - gtk_container_focus(GTK_CONTAINER(parent), - GTK_DIR_TAB_BACKWARD); -+#endif - return NS_OK; - } - -@@ -300,7 +304,9 @@ - NS_IMETHODIMP - EmbedWindow::SetTitle(const PRUnichar *aTitle) - { -+ g_print ("set title\n"); - mTitle = aTitle; -+ g_assert (mOwner->mOwningWidget != NULL); - gtk_signal_emit(GTK_OBJECT(mOwner->mOwningWidget), - moz_embed_signals[TITLE]); - return NS_OK; -@@ -405,7 +411,9 @@ - 0, 0, - sTipWindow->allocation.width, sTipWindow->allocation.height); - -+#ifdef MOZ_WIDGET_GTK - gtk_widget_popup(sTipWindow, aXCoords + root_x, aYCoords + root_y); -+#endif /* MOZ_WIDGET_GTK */ - - nsMemory::Free( (void*)tipString ); - -diff -u -N mozilla/embedding/browser/gtk/src/Makefile.in mold/embedding/browser/gtk/src/Makefile.in ---- mozilla/embedding/browser/gtk/src/Makefile.in Thu Apr 11 20:27:09 2002 -+++ mold/embedding/browser/gtk/src/Makefile.in Tue May 14 10:41:23 2002 -@@ -56,6 +56,11 @@ - EmbedWindowCreator.cpp \ - EmbedStream.cpp - -+ifdef MOZ_ENABLE_GTK2 -+CSRCS = \ -+ gtkmozembedmarshal.c -+endif -+ - ifdef BUILD_STATIC_LIBS - # Static build stuff - DEFINES += -D_BUILD_STATIC_BIN=1 -@@ -88,12 +93,20 @@ - gtkmozembed.h \ - gtkmozembed_internal.h - -+ifdef MOZ_ENABLE_GTK - EXTRA_DSO_LDOPTS = \ - $(MOZ_COMPONENT_LIBS) \ - -lgtksuperwin \ - $(NULL) -+endif -+ -+ifdef MOZ_ENABLE_GTK2 -+EXTRA_DSO_LDOPTS = \ -+ $(MOZ_COMPONENT_LIBS) \ -+ $(NULL) -+endif - --EXTRA_DSO_LDOPTS += $(MOZ_GTK_LDFLAGS) -+EXTRA_DSO_LDOPTS += $(MOZ_GTK_LDFLAGS) $(MOZ_GTK2_LIBS) - - include $(topsrcdir)/config/rules.mk - -@@ -108,7 +121,8 @@ - endif - endif - --CXXFLAGS += $(MOZ_GTK_CFLAGS) -+CXXFLAGS += $(MOZ_GTK_CFLAGS) $(MOZ_GTK2_CFLAGS) -+CFLAGS += $(MOZ_GTK_CFLAGS) $(MOZ_GTK2_CFLAGS) - - ifdef BUILD_STATIC_LIBS - -diff -u -N mozilla/embedding/browser/gtk/src/gtkmozembed2.cpp mold/embedding/browser/gtk/src/gtkmozembed2.cpp ---- mozilla/embedding/browser/gtk/src/gtkmozembed2.cpp Wed Apr 10 04:37:03 2002 -+++ mold/embedding/browser/gtk/src/gtkmozembed2.cpp Tue May 14 10:41:23 2002 -@@ -36,11 +36,32 @@ - #include <nsXPIDLString.h> - #include <nsReadableUtils.h> - -+#ifdef MOZ_WIDGET_GTK -+ - // so we can get callbacks from the mozarea - #include <gtkmozarea.h> - -+// so we get the right marshaler for gtk 1.2 -+#define gtkmozembed_VOID__INT_UINT \ -+ gtk_marshal_NONE__INT_INT -+#define gtkmozembed_VOID__POINTER_INT_INT \ -+ gtk_marshal_NONE__POINTER_INT_INT -+#define gtkmozembed_VOID__POINTER_INT_UINT \ -+ gtk_marshal_NONE__POINTER_INT_INT -+#define gtkmozembed_VOID__POINTER_INT_POINTER \ -+ gtk_marshal_NONE__POINTER_INT_POINTER -+ -+#endif /* MOZ_WIDGET_GTK */ -+ -+#ifdef MOZ_WIDGET_GTK2 -+ -+#include "gtkmozembedmarshal.h" -+ -+#endif /* MOZ_WIDGET_GTK2 */ -+ - class nsIDirectoryServiceProvider; - -+#ifdef MOZ_WIDGET_GTK - // Some "massaged" enum information for the GTK Type System - static GtkFlagValue gtk_moz_embed_progress_flags_values[] = { - { GTK_MOZ_EMBED_FLAG_START, -@@ -138,6 +159,7 @@ - { 0, - NULL, NULL } - }; -+#endif /* MOZ_WIDGET_GTK */ - - - // class and instance initialization -@@ -180,6 +202,7 @@ - GdkEventFocus *aGdkFocusEvent, - GtkMozEmbed *aEmbed); - -+#ifdef MOZ_WIDGET_GTK - // signal handlers for tracking the focus and and focus out events on - // the toplevel window. - -@@ -189,6 +212,7 @@ - static void - handle_toplevel_focus_out(GtkMozArea *aArea, - GtkMozEmbed *aEmbed); -+#endif /* MOZ_WIDGET_GTK */ - - // globals for this type of widget - -@@ -249,191 +273,193 @@ - moz_embed_signals[LINK_MESSAGE] = - gtk_signal_new ("link_message", - GTK_RUN_FIRST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, link_message), - gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - moz_embed_signals[JS_STATUS] = - gtk_signal_new ("js_status", - GTK_RUN_FIRST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, js_status), - gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - moz_embed_signals[LOCATION] = - gtk_signal_new ("location", - GTK_RUN_FIRST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, location), - gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - moz_embed_signals[TITLE] = - gtk_signal_new("title", - GTK_RUN_FIRST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, title), - gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - moz_embed_signals[PROGRESS] = - gtk_signal_new("progress", - GTK_RUN_FIRST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, progress), - gtk_marshal_NONE__INT_INT, - GTK_TYPE_NONE, 2, GTK_TYPE_INT, GTK_TYPE_INT); - moz_embed_signals[PROGRESS_ALL] = - gtk_signal_new("progress_all", - GTK_RUN_FIRST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, progress_all), -- gtk_marshal_NONE__POINTER_INT_INT, -+ gtkmozembed_VOID__POINTER_INT_INT, - GTK_TYPE_NONE, 3, GTK_TYPE_STRING, - GTK_TYPE_INT, GTK_TYPE_INT); - moz_embed_signals[NET_STATE] = - gtk_signal_new("net_state", - GTK_RUN_FIRST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, net_state), -- gtk_marshal_NONE__INT_INT, -+ gtkmozembed_VOID__INT_UINT, - GTK_TYPE_NONE, 2, GTK_TYPE_INT, GTK_TYPE_UINT); - moz_embed_signals[NET_STATE_ALL] = - gtk_signal_new("net_state_all", - GTK_RUN_FIRST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, net_state_all), -- gtk_marshal_NONE__POINTER_INT_INT, -+ gtkmozembed_VOID__POINTER_INT_UINT, - GTK_TYPE_NONE, 3, GTK_TYPE_STRING, - GTK_TYPE_INT, GTK_TYPE_UINT); - moz_embed_signals[NET_START] = - gtk_signal_new("net_start", - GTK_RUN_FIRST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, net_start), - gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - moz_embed_signals[NET_STOP] = - gtk_signal_new("net_stop", - GTK_RUN_FIRST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, net_stop), - gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - moz_embed_signals[NEW_WINDOW] = - gtk_signal_new("new_window", - GTK_RUN_FIRST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, new_window), - gtk_marshal_NONE__POINTER_UINT, - GTK_TYPE_NONE, 2, GTK_TYPE_POINTER, GTK_TYPE_UINT); - moz_embed_signals[VISIBILITY] = - gtk_signal_new("visibility", - GTK_RUN_FIRST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, visibility), - gtk_marshal_NONE__BOOL, - GTK_TYPE_NONE, 1, GTK_TYPE_BOOL); - moz_embed_signals[DESTROY_BROWSER] = - gtk_signal_new("destroy_browser", - GTK_RUN_FIRST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, destroy_brsr), - gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - moz_embed_signals[OPEN_URI] = - gtk_signal_new("open_uri", - GTK_RUN_LAST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, open_uri), - gtk_marshal_BOOL__POINTER, - GTK_TYPE_BOOL, 1, GTK_TYPE_STRING); - moz_embed_signals[SIZE_TO] = - gtk_signal_new("size_to", - GTK_RUN_LAST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, size_to), - gtk_marshal_NONE__INT_INT, - GTK_TYPE_NONE, 2, GTK_TYPE_INT, GTK_TYPE_INT); - moz_embed_signals[DOM_KEY_DOWN] = - gtk_signal_new("dom_key_down", - GTK_RUN_LAST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, dom_key_down), - gtk_marshal_BOOL__POINTER, - GTK_TYPE_BOOL, 1, GTK_TYPE_POINTER); - moz_embed_signals[DOM_KEY_PRESS] = - gtk_signal_new("dom_key_press", - GTK_RUN_LAST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, dom_key_press), - gtk_marshal_BOOL__POINTER, - GTK_TYPE_BOOL, 1, GTK_TYPE_POINTER); - moz_embed_signals[DOM_KEY_UP] = - gtk_signal_new("dom_key_up", - GTK_RUN_LAST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, dom_key_up), - gtk_marshal_BOOL__POINTER, - GTK_TYPE_BOOL, 1, GTK_TYPE_POINTER); - moz_embed_signals[DOM_MOUSE_DOWN] = - gtk_signal_new("dom_mouse_down", - GTK_RUN_LAST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, dom_mouse_down), - gtk_marshal_BOOL__POINTER, - GTK_TYPE_BOOL, 1, GTK_TYPE_POINTER); - moz_embed_signals[DOM_MOUSE_UP] = - gtk_signal_new("dom_mouse_up", - GTK_RUN_LAST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, dom_mouse_up), - gtk_marshal_BOOL__POINTER, - GTK_TYPE_BOOL, 1, GTK_TYPE_POINTER); - moz_embed_signals[DOM_MOUSE_CLICK] = - gtk_signal_new("dom_mouse_click", - GTK_RUN_LAST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, dom_mouse_click), - gtk_marshal_BOOL__POINTER, - GTK_TYPE_BOOL, 1, GTK_TYPE_POINTER); - moz_embed_signals[DOM_MOUSE_DBL_CLICK] = - gtk_signal_new("dom_mouse_dbl_click", - GTK_RUN_LAST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, dom_mouse_dbl_click), - gtk_marshal_BOOL__POINTER, - GTK_TYPE_BOOL, 1, GTK_TYPE_POINTER); - moz_embed_signals[DOM_MOUSE_OVER] = - gtk_signal_new("dom_mouse_over", - GTK_RUN_LAST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, dom_mouse_over), - gtk_marshal_BOOL__POINTER, - GTK_TYPE_BOOL, 1, GTK_TYPE_POINTER); - moz_embed_signals[DOM_MOUSE_OUT] = - gtk_signal_new("dom_mouse_out", - GTK_RUN_LAST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, dom_mouse_out), - gtk_marshal_BOOL__POINTER, - GTK_TYPE_BOOL, 1, GTK_TYPE_POINTER); - moz_embed_signals[SECURITY_CHANGE] = - gtk_signal_new("security_change", - GTK_RUN_LAST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, security_change), - gtk_marshal_NONE__POINTER_UINT, - GTK_TYPE_NONE, 2, GTK_TYPE_POINTER, GTK_TYPE_UINT); - moz_embed_signals[STATUS_CHANGE] = - gtk_signal_new("status_change", - GTK_RUN_LAST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedClass, status_change), -- gtk_marshal_NONE__POINTER_INT_POINTER, -+ gtkmozembed_VOID__POINTER_INT_POINTER, - GTK_TYPE_NONE, 3, - GTK_TYPE_POINTER, GTK_TYPE_INT, GTK_TYPE_POINTER); - -+#ifdef MOZ_WIDGET_GTK - gtk_object_class_add_signals(object_class, moz_embed_signals, - EMBED_LAST_SIGNAL); -+#endif /* MOZ_WIDGET_GTK */ - - } - -@@ -443,6 +469,8 @@ - EmbedPrivate *priv = new EmbedPrivate(); - embed->data = priv; - gtk_widget_set_name(GTK_WIDGET(embed), "gtkmozembed"); -+ -+ GTK_WIDGET_UNSET_FLAGS (GTK_WIDGET(embed), GTK_NO_WINDOW); - } - - GtkWidget * -@@ -538,6 +566,7 @@ - embed, - GTK_OBJECT(child_widget)); - -+#ifdef MOZ_WIDGET_GTK - // connect to the toplevel focus out events for the child - GtkMozArea *mozarea = GTK_MOZAREA(child_widget); - gtk_signal_connect_while_alive(GTK_OBJECT(mozarea), -@@ -551,6 +580,7 @@ - GTK_SIGNAL_FUNC(handle_toplevel_focus_out), - embed, - GTK_OBJECT(mozarea)); -+#endif /* MOZ_WIDGET_GTK */ - } - - static void -@@ -663,6 +693,8 @@ - return FALSE; - } - -+#ifdef MOZ_WIDGET_GTK -+ - static void - handle_toplevel_focus_in (GtkMozArea *aArea, - GtkMozEmbed *aEmbed) -@@ -683,6 +715,8 @@ - embedPrivate->TopLevelFocusOut(); - } - -+#endif /* MOZ_WIDGET_GTK */ -+ - // Widget methods - - void -@@ -1011,6 +1045,8 @@ - return embedPrivate->mChromeMask; - } - -+#ifdef MOZ_WIDGET_GTK -+ - GtkType - gtk_moz_embed_progress_flags_get_type(void) - { -@@ -1059,6 +1095,8 @@ - return chrome_flags_type; - } - -+#endif /* MOZ_WIDGET_GTK */ -+ - void - gtk_moz_embed_get_nsIWebBrowser (GtkMozEmbed *embed, nsIWebBrowser **retval) - { -@@ -1183,14 +1221,16 @@ - moz_embed_single_signals[NEW_WINDOW_ORPHAN] = - gtk_signal_new("new_window_orphan", - GTK_RUN_FIRST, -- object_class->type, -+ GTK_CLASS_TYPE(klass), - GTK_SIGNAL_OFFSET(GtkMozEmbedSingleClass, - new_window_orphan), - gtk_marshal_NONE__POINTER_UINT, - GTK_TYPE_NONE, 2, GTK_TYPE_POINTER, GTK_TYPE_UINT); - -+#ifdef MOZ_WIDGET_GTK - gtk_object_class_add_signals(object_class, moz_embed_single_signals, - SINGLE_LAST_SIGNAL); -+#endif /* MOZ_WIDGET_GTK */ - } - - static void -diff -u -N mozilla/embedding/browser/gtk/src/gtkmozembedmarshal.c mold/embedding/browser/gtk/src/gtkmozembedmarshal.c ---- mozilla/embedding/browser/gtk/src/gtkmozembedmarshal.c Thu Jan 1 01:00:00 1970 -+++ mold/embedding/browser/gtk/src/gtkmozembedmarshal.c Tue May 14 13:24:29 2002 -@@ -0,0 +1,203 @@ -+ -+#include <glib-object.h> -+ -+ -+#ifdef G_ENABLE_DEBUG -+#define g_marshal_value_peek_boolean(v) g_value_get_boolean (v) -+#define g_marshal_value_peek_char(v) g_value_get_char (v) -+#define g_marshal_value_peek_uchar(v) g_value_get_uchar (v) -+#define g_marshal_value_peek_int(v) g_value_get_int (v) -+#define g_marshal_value_peek_uint(v) g_value_get_uint (v) -+#define g_marshal_value_peek_long(v) g_value_get_long (v) -+#define g_marshal_value_peek_ulong(v) g_value_get_ulong (v) -+#define g_marshal_value_peek_int64(v) g_value_get_int64 (v) -+#define g_marshal_value_peek_uint64(v) g_value_get_uint64 (v) -+#define g_marshal_value_peek_enum(v) g_value_get_enum (v) -+#define g_marshal_value_peek_flags(v) g_value_get_flags (v) -+#define g_marshal_value_peek_float(v) g_value_get_float (v) -+#define g_marshal_value_peek_double(v) g_value_get_double (v) -+#define g_marshal_value_peek_string(v) (char*) g_value_get_string (v) -+#define g_marshal_value_peek_param(v) g_value_get_param (v) -+#define g_marshal_value_peek_boxed(v) g_value_get_boxed (v) -+#define g_marshal_value_peek_pointer(v) g_value_get_pointer (v) -+#define g_marshal_value_peek_object(v) g_value_get_object (v) -+#else /* !G_ENABLE_DEBUG */ -+/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API. -+ * Do not access GValues directly in your code. Instead, use the -+ * g_value_get_*() functions -+ */ -+#define g_marshal_value_peek_boolean(v) (v)->data[0].v_int -+#define g_marshal_value_peek_char(v) (v)->data[0].v_int -+#define g_marshal_value_peek_uchar(v) (v)->data[0].v_uint -+#define g_marshal_value_peek_int(v) (v)->data[0].v_int -+#define g_marshal_value_peek_uint(v) (v)->data[0].v_uint -+#define g_marshal_value_peek_long(v) (v)->data[0].v_long -+#define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong -+#define g_marshal_value_peek_int64(v) (v)->data[0].v_int64 -+#define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64 -+#define g_marshal_value_peek_enum(v) (v)->data[0].v_int -+#define g_marshal_value_peek_flags(v) (v)->data[0].v_uint -+#define g_marshal_value_peek_float(v) (v)->data[0].v_float -+#define g_marshal_value_peek_double(v) (v)->data[0].v_double -+#define g_marshal_value_peek_string(v) (v)->data[0].v_pointer -+#define g_marshal_value_peek_param(v) (v)->data[0].v_pointer -+#define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer -+#define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer -+#define g_marshal_value_peek_object(v) (v)->data[0].v_pointer -+#endif /* !G_ENABLE_DEBUG */ -+ -+ -+/* NONE:INT,UINT (/dev/stdin:1) */ -+void -+gtkmozembed_VOID__INT_UINT (GClosure *closure, -+ GValue *return_value, -+ guint n_param_values, -+ const GValue *param_values, -+ gpointer invocation_hint, -+ gpointer marshal_data) -+{ -+ typedef void (*GMarshalFunc_VOID__INT_UINT) (gpointer data1, -+ gint arg_1, -+ guint arg_2, -+ gpointer data2); -+ register GMarshalFunc_VOID__INT_UINT callback; -+ register GCClosure *cc = (GCClosure*) closure; -+ register gpointer data1, data2; -+ -+ g_return_if_fail (n_param_values == 3); -+ -+ if (G_CCLOSURE_SWAP_DATA (closure)) -+ { -+ data1 = closure->data; -+ data2 = g_value_peek_pointer (param_values + 0); -+ } -+ else -+ { -+ data1 = g_value_peek_pointer (param_values + 0); -+ data2 = closure->data; -+ } -+ callback = (GMarshalFunc_VOID__INT_UINT) (marshal_data ? marshal_data : cc->callback); -+ -+ callback (data1, -+ g_marshal_value_peek_int (param_values + 1), -+ g_marshal_value_peek_uint (param_values + 2), -+ data2); -+} -+ -+/* NONE:POINTER,INT,INT (/dev/stdin:2) */ -+void -+gtkmozembed_VOID__POINTER_INT_INT (GClosure *closure, -+ GValue *return_value, -+ guint n_param_values, -+ const GValue *param_values, -+ gpointer invocation_hint, -+ gpointer marshal_data) -+{ -+ typedef void (*GMarshalFunc_VOID__POINTER_INT_INT) (gpointer data1, -+ gpointer arg_1, -+ gint arg_2, -+ gint arg_3, -+ gpointer data2); -+ register GMarshalFunc_VOID__POINTER_INT_INT callback; -+ register GCClosure *cc = (GCClosure*) closure; -+ register gpointer data1, data2; -+ -+ g_return_if_fail (n_param_values == 4); -+ -+ if (G_CCLOSURE_SWAP_DATA (closure)) -+ { -+ data1 = closure->data; -+ data2 = g_value_peek_pointer (param_values + 0); -+ } -+ else -+ { -+ data1 = g_value_peek_pointer (param_values + 0); -+ data2 = closure->data; -+ } -+ callback = (GMarshalFunc_VOID__POINTER_INT_INT) (marshal_data ? marshal_data : cc->callback); -+ -+ callback (data1, -+ g_marshal_value_peek_pointer (param_values + 1), -+ g_marshal_value_peek_int (param_values + 2), -+ g_marshal_value_peek_int (param_values + 3), -+ data2); -+} -+ -+/* NONE:POINTER,INT,UINT (/dev/stdin:3) */ -+void -+gtkmozembed_VOID__POINTER_INT_UINT (GClosure *closure, -+ GValue *return_value, -+ guint n_param_values, -+ const GValue *param_values, -+ gpointer invocation_hint, -+ gpointer marshal_data) -+{ -+ typedef void (*GMarshalFunc_VOID__POINTER_INT_UINT) (gpointer data1, -+ gpointer arg_1, -+ gint arg_2, -+ guint arg_3, -+ gpointer data2); -+ register GMarshalFunc_VOID__POINTER_INT_UINT callback; -+ register GCClosure *cc = (GCClosure*) closure; -+ register gpointer data1, data2; -+ -+ g_return_if_fail (n_param_values == 4); -+ -+ if (G_CCLOSURE_SWAP_DATA (closure)) -+ { -+ data1 = closure->data; -+ data2 = g_value_peek_pointer (param_values + 0); -+ } -+ else -+ { -+ data1 = g_value_peek_pointer (param_values + 0); -+ data2 = closure->data; -+ } -+ callback = (GMarshalFunc_VOID__POINTER_INT_UINT) (marshal_data ? marshal_data : cc->callback); -+ -+ callback (data1, -+ g_marshal_value_peek_pointer (param_values + 1), -+ g_marshal_value_peek_int (param_values + 2), -+ g_marshal_value_peek_uint (param_values + 3), -+ data2); -+} -+ -+/* NONE:POINTER,INT,POINTER (/dev/stdin:4) */ -+void -+gtkmozembed_VOID__POINTER_INT_POINTER (GClosure *closure, -+ GValue *return_value, -+ guint n_param_values, -+ const GValue *param_values, -+ gpointer invocation_hint, -+ gpointer marshal_data) -+{ -+ typedef void (*GMarshalFunc_VOID__POINTER_INT_POINTER) (gpointer data1, -+ gpointer arg_1, -+ gint arg_2, -+ gpointer arg_3, -+ gpointer data2); -+ register GMarshalFunc_VOID__POINTER_INT_POINTER callback; -+ register GCClosure *cc = (GCClosure*) closure; -+ register gpointer data1, data2; -+ -+ g_return_if_fail (n_param_values == 4); -+ -+ if (G_CCLOSURE_SWAP_DATA (closure)) -+ { -+ data1 = closure->data; -+ data2 = g_value_peek_pointer (param_values + 0); -+ } -+ else -+ { -+ data1 = g_value_peek_pointer (param_values + 0); -+ data2 = closure->data; -+ } -+ callback = (GMarshalFunc_VOID__POINTER_INT_POINTER) (marshal_data ? marshal_data : cc->callback); -+ -+ callback (data1, -+ g_marshal_value_peek_pointer (param_values + 1), -+ g_marshal_value_peek_int (param_values + 2), -+ g_marshal_value_peek_pointer (param_values + 3), -+ data2); -+} -+ -diff -u -N mozilla/embedding/browser/gtk/src/gtkmozembedmarshal.h mold/embedding/browser/gtk/src/gtkmozembedmarshal.h ---- mozilla/embedding/browser/gtk/src/gtkmozembedmarshal.h Thu Jan 1 01:00:00 1970 -+++ mold/embedding/browser/gtk/src/gtkmozembedmarshal.h Tue May 14 13:24:29 2002 -@@ -0,0 +1,48 @@ -+ -+#ifndef __gtkmozembed_MARSHAL_H__ -+#define __gtkmozembed_MARSHAL_H__ -+ -+#include <glib-object.h> -+ -+G_BEGIN_DECLS -+ -+/* NONE:INT,UINT (/dev/stdin:1) */ -+extern void gtkmozembed_VOID__INT_UINT (GClosure *closure, -+ GValue *return_value, -+ guint n_param_values, -+ const GValue *param_values, -+ gpointer invocation_hint, -+ gpointer marshal_data); -+#define gtkmozembed_NONE__INT_UINT gtkmozembed_VOID__INT_UINT -+ -+/* NONE:POINTER,INT,INT (/dev/stdin:2) */ -+extern void gtkmozembed_VOID__POINTER_INT_INT (GClosure *closure, -+ GValue *return_value, -+ guint n_param_values, -+ const GValue *param_values, -+ gpointer invocation_hint, -+ gpointer marshal_data); -+#define gtkmozembed_NONE__POINTER_INT_INT gtkmozembed_VOID__POINTER_INT_INT -+ -+/* NONE:POINTER,INT,UINT (/dev/stdin:3) */ -+extern void gtkmozembed_VOID__POINTER_INT_UINT (GClosure *closure, -+ GValue *return_value, -+ guint n_param_values, -+ const GValue *param_values, -+ gpointer invocation_hint, -+ gpointer marshal_data); -+#define gtkmozembed_NONE__POINTER_INT_UINT gtkmozembed_VOID__POINTER_INT_UINT -+ -+/* NONE:POINTER,INT,POINTER (/dev/stdin:4) */ -+extern void gtkmozembed_VOID__POINTER_INT_POINTER (GClosure *closure, -+ GValue *return_value, -+ guint n_param_values, -+ const GValue *param_values, -+ gpointer invocation_hint, -+ gpointer marshal_data); -+#define gtkmozembed_NONE__POINTER_INT_POINTER gtkmozembed_VOID__POINTER_INT_POINTER -+ -+G_END_DECLS -+ -+#endif /* __gtkmozembed_MARSHAL_H__ */ -+ -diff -u -N mozilla/embedding/browser/gtk/src/gtkmozembedmarshal.txt mold/embedding/browser/gtk/src/gtkmozembedmarshal.txt ---- mozilla/embedding/browser/gtk/src/gtkmozembedmarshal.txt Thu Jan 1 01:00:00 1970 -+++ mold/embedding/browser/gtk/src/gtkmozembedmarshal.txt Tue May 14 13:24:29 2002 -@@ -0,0 +1,4 @@ -+NONE:INT,UINT -+NONE:POINTER,INT,INT -+NONE:POINTER,INT,UINT -+NONE:POINTER,INT,POINTER -Common subdirectories: mozilla/widget/src/gtk2/.deps and mold/widget/src/gtk2/.deps -Common subdirectories: mozilla/widget/src/gtk2/CVS and mold/widget/src/gtk2/CVS -Only in mold/widget/src/gtk2/: keysym2ucs.o -Only in mold/widget/src/gtk2/: libwidget_gtk2.so -Only in mold/widget/src/gtk2/: mozcontainer.o -Only in mold/widget/src/gtk2/: mozdrawingarea.o -diff -u mozilla/widget/src/gtk2/nsAppShell.cpp mold/widget/src/gtk2/nsAppShell.cpp ---- mozilla/widget/src/gtk2/nsAppShell.cpp Wed Apr 10 05:35:06 2002 -+++ mold/widget/src/gtk2/nsAppShell.cpp Tue May 14 10:41:23 2002 -@@ -48,6 +48,10 @@ - static PLHashTable *sQueueHashTable = nsnull; - static PLHashTable *sCountHashTable = nsnull; - -+#ifdef PR_LOGGING -+PRLogModuleInfo *gWidgetLog = nsnull; -+#endif -+ - static gboolean event_processor_callback (GIOChannel *source, - GIOCondition condition, - gpointer data) -@@ -71,6 +75,11 @@ - nsAppShell::nsAppShell(void) - { - NS_INIT_REFCNT(); -+ -+#ifdef PR_LOGGING -+ if (!gWidgetLog) -+ gWidgetLog = PR_NewLogModule("Widget"); -+#endif - } - - nsAppShell::~nsAppShell(void) -Only in mold/widget/src/gtk2/: nsAppShell.o -Only in mold/widget/src/gtk2/: nsBidiKeyboard.o -diff -u mozilla/widget/src/gtk2/nsCommonWidget.cpp mold/widget/src/gtk2/nsCommonWidget.cpp ---- mozilla/widget/src/gtk2/nsCommonWidget.cpp Wed Apr 10 05:35:07 2002 -+++ mold/widget/src/gtk2/nsCommonWidget.cpp Tue May 14 10:41:23 2002 -@@ -36,10 +36,6 @@ - #include "nsCommonWidget.h" - #include "nsGtkKeyUtils.h" - --#ifdef PR_LOGGING --PRLogModuleInfo *gWidgetLog = nsnull; --#endif -- - nsCommonWidget::nsCommonWidget() - { - mIsTopLevel = PR_FALSE; -@@ -52,12 +48,6 @@ - - mPreferredWidth = 0; - mPreferredHeight = 0; -- --#ifdef PR_LOGGING -- if (!gWidgetLog) -- gWidgetLog = PR_NewLogModule("Widget"); --#endif -- - } - - nsCommonWidget::~nsCommonWidget() -Only in mold/widget/src/gtk2/: nsCommonWidget.o -Only in mold/widget/src/gtk2/: nsGtkKeyUtils.o -Only in mold/widget/src/gtk2/: nsLookAndFeel.o -Only in mold/widget/src/gtk2/: nsScrollbar.o -Only in mold/widget/src/gtk2/: nsToolkit.o -Only in mold/widget/src/gtk2/: nsWidgetFactory.o -diff -u mozilla/widget/src/gtk2/nsWindow.cpp mold/widget/src/gtk2/nsWindow.cpp ---- mozilla/widget/src/gtk2/nsWindow.cpp Wed Apr 10 05:35:08 2002 -+++ mold/widget/src/gtk2/nsWindow.cpp Tue May 14 10:41:23 2002 -@@ -209,10 +209,13 @@ - if (mShell) { - gtk_widget_destroy(mShell); - mShell = nsnull; -+ mContainer = nsnull; - } -- -- mContainer = nsnull; -- -+ else if (mContainer) { -+ gtk_widget_destroy(GTK_WIDGET(mContainer)); -+ mContainer = nsnull; -+ } -+ - if (mDrawingarea) { - g_object_unref(mDrawingarea); - mDrawingarea = nsnull; -@@ -1183,21 +1186,24 @@ - - // figure out our parent window - MozDrawingarea *parentArea = nsnull; -- MozContainer *parentContainer = nsnull; -+ MozContainer *parentMozContainer = nsnull; -+ GtkContainer *parentGtkContainer = nsnull; -+ GdkWindow *parentGdkWindow = nsnull; - GtkWindow *topLevelParent = nsnull; -- if (aParent || aNativeParent) { -- GdkWindow *parentWindow; -- // get the drawing area and the container from the parent -- if (aParent) -- parentWindow = GDK_WINDOW(aParent->GetNativeData(NS_NATIVE_WINDOW)); -- else -- parentWindow = GDK_WINDOW(aNativeParent); - -+ if (aParent) -+ parentGdkWindow = GDK_WINDOW(aParent->GetNativeData(NS_NATIVE_WINDOW)); -+ else if (aNativeParent && GDK_IS_WINDOW(aNativeParent)) -+ parentGdkWindow = GDK_WINDOW(aNativeParent); -+ else if (aNativeParent && GTK_IS_CONTAINER(aNativeParent)) -+ parentGtkContainer = GTK_CONTAINER(aNativeParent); -+ -+ if (parentGdkWindow) { - // find the mozarea on that window - gpointer user_data = nsnull; -- user_data = g_object_get_data(G_OBJECT(parentWindow), "mozdrawingarea"); -+ user_data = g_object_get_data(G_OBJECT(parentGdkWindow), "mozdrawingarea"); - parentArea = MOZ_DRAWINGAREA(user_data); -- -+ - NS_ASSERTION(parentArea, "no drawingarea for parent widget!\n"); - if (!parentArea) - return NS_ERROR_FAILURE; -@@ -1210,15 +1216,15 @@ - return NS_ERROR_FAILURE; - - // XXX support generic containers here for embedding! -- parentContainer = MOZ_CONTAINER(user_data); -- NS_ASSERTION(parentContainer, "owning widget is not a mozcontainer!\n"); -- if (!parentContainer) -+ parentMozContainer = MOZ_CONTAINER(user_data); -+ NS_ASSERTION(parentMozContainer, "owning widget is not a mozcontainer!\n"); -+ if (!parentMozContainer) - return NS_ERROR_FAILURE; - - // get the toplevel window just in case someone needs to use it - // for setting transients or whatever. - topLevelParent = -- GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(parentContainer))); -+ GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(parentMozContainer))); - } - - // ok, create our windows -@@ -1278,7 +1284,16 @@ - break; - case eWindowType_child: - { -- mDrawingarea = moz_drawingarea_new(parentArea, parentContainer); -+ if (parentMozContainer) { -+ mDrawingarea = moz_drawingarea_new(parentArea, parentMozContainer); -+ } -+ else { -+ mContainer = MOZ_CONTAINER(moz_container_new()); -+ gtk_container_add(parentGtkContainer, GTK_WIDGET(mContainer)); -+ gtk_widget_realize(GTK_WIDGET(mContainer)); -+ -+ mDrawingarea = moz_drawingarea_new(nsnull, mContainer); -+ } - } - break; - default: -@@ -1310,6 +1325,7 @@ - g_signal_connect(G_OBJECT(mShell), "delete_event", - G_CALLBACK(delete_event_cb), NULL); - } -+ - if (mContainer) { - g_signal_connect_after(G_OBJECT(mContainer), "size_allocate", - G_CALLBACK(size_allocate_cb), NULL); -@@ -1344,11 +1360,13 @@ - LOG(("\tmShell %p %p %lx\n", (void *)mShell, (void *)mShell->window, - GDK_WINDOW_XWINDOW(mShell->window))); - } -+ - if (mContainer) { - LOG(("\tmContainer %p %p %lx\n", (void *)mContainer, - (void *)GTK_WIDGET(mContainer)->window, - GDK_WINDOW_XWINDOW(GTK_WIDGET(mContainer)->window))); - } -+ - if (mDrawingarea) { - LOG(("\tmDrawingarea %p %p %p %lx %lx\n", (void *)mDrawingarea, - (void *)mDrawingarea->clip_window, -@@ -1372,8 +1390,17 @@ - // clear our resize flag - mNeedsResize = PR_FALSE; - -- if (mIsTopLevel) -+ if (mIsTopLevel) { - gtk_window_resize(GTK_WINDOW(mShell), aWidth, aHeight); -+ } -+ else if (mContainer) { -+ GtkAllocation allocation; -+ allocation.x = 0; -+ allocation.y = 0; -+ allocation.width = aWidth; -+ allocation.height = aHeight; -+ gtk_widget_size_allocate(GTK_WIDGET(mContainer), &allocation); -+ } - - moz_drawingarea_resize (mDrawingarea, aWidth, aHeight); - } -@@ -1404,6 +1431,15 @@ - moz_drawingarea_resize(mDrawingarea, aWidth, aHeight); - } - } -+ else if (mContainer) { -+ GtkAllocation allocation; -+ allocation.x = 0; -+ allocation.y = 0; -+ allocation.width = aWidth; -+ allocation.height = aHeight; -+ gtk_widget_size_allocate(GTK_WIDGET(mContainer), &allocation); -+ moz_drawingarea_move_resize(mDrawingarea, aX, aY, aWidth, aHeight); -+ } - else { - moz_drawingarea_move_resize(mDrawingarea, aX, aY, aWidth, aHeight); - } -@@ -1422,8 +1458,12 @@ - gtk_widget_show(mShell); - - } -+ else if (mContainer) { -+ moz_drawingarea_set_visibility(mDrawingarea, TRUE); -+ gtk_widget_show(GTK_WIDGET(mContainer)); -+ } - else { -- moz_drawingarea_set_visibility(mDrawingarea, aAction); -+ moz_drawingarea_set_visibility(mDrawingarea, TRUE); - } - } - else { -@@ -1431,7 +1471,11 @@ - gtk_widget_hide(GTK_WIDGET(mShell)); - gtk_widget_hide(GTK_WIDGET(mContainer)); - } -- moz_drawingarea_set_visibility(mDrawingarea, aAction); -+ else if (mContainer) { -+ gtk_widget_hide(GTK_WIDGET(mContainer)); -+ moz_drawingarea_set_visibility(mDrawingarea, FALSE); -+ } -+ moz_drawingarea_set_visibility(mDrawingarea, FALSE); - } - } - -Only in mold/widget/src/gtk2/: nsWindow.o -Common subdirectories: a/xpinstall/packager/CVS and mozilla/xpinstall/packager/CVS -Only in mozilla/xpinstall/packager/: Makefile -Common subdirectories: a/xpinstall/packager/common and mozilla/xpinstall/packager/common -Common subdirectories: a/xpinstall/packager/mac and mozilla/xpinstall/packager/mac -diff -u a/xpinstall/packager/packages-unix mozilla/xpinstall/packager/packages-unix ---- a/xpinstall/packager/packages-unix Tue May 14 22:02:24 2002 -+++ mozilla/xpinstall/packager/packages-unix Tue May 14 23:34:16 2002 -@@ -173,7 +173,7 @@ - bin/components/webBrowser_core.xpt - bin/components/libwallet.so - bin/components/libwalletviewers.so --bin/components/libwidget_gtk.so -+bin/components/libwidget_gtk2.so - bin/components/libxpconnect.so - bin/components/locale.xpt - bin/components/mozbrwsr.xpt -Common subdirectories: a/xpinstall/packager/unix and mozilla/xpinstall/packager/unix -Common subdirectories: a/xpinstall/packager/windows and mozilla/xpinstall/packager/windows diff --git a/net-www/mozilla/files/mozilla-0.9.7-post.patch b/net-www/mozilla/files/mozilla-0.9.7-post.patch deleted file mode 100644 index d8bb2e55c4a8..000000000000 --- a/net-www/mozilla/files/mozilla-0.9.7-post.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- mozilla/content/html/content/src/nsFormSubmitter.cpp 18 Dec 2001 19:27:21 -0000 1.12.2.1 -+++ mozilla/content/html/content/src/nsFormSubmitter.cpp 21 Dec 2001 20:19:47 -0000 -@@ -1074,7 +1074,6 @@ - } - nsMemory::Free(readbuffer); - NS_RELEASE(contentFile); -- if (NS_FAILED(rv)) break; - // Print CRLF after file - wantbytes = PL_strlen(CRLF); - rv = outStream->Write(CRLF, wantbytes, &gotbytes); diff --git a/net-www/mozilla/files/mozilla-1.0-abi-compat-wrappers.patch b/net-www/mozilla/files/mozilla-1.0-abi-compat-wrappers.patch new file mode 100644 index 000000000000..e43373915a8b --- /dev/null +++ b/net-www/mozilla/files/mozilla-1.0-abi-compat-wrappers.patch @@ -0,0 +1,112 @@ +Index: configure.in +=================================================================== +RCS file: /cvsroot/mozilla/configure.in,v +retrieving revision 1.1056 +diff -u -r1.1056 configure.in +--- configure.in 2 Jul 2002 20:26:10 -0000 1.1056 ++++ configure.in 3 Jul 2002 22:46:49 -0000 +@@ -883,6 +883,7 @@ + ;; + i?86) + USE_ELF_DYNSTR_GC=1 ++ MOZ_ENABLE_OLD_ABI_COMPAT_WRAPPERS=1 + ;; + mips*) + CFLAGS="$CFLAGS -Wa,-xgot" +@@ -3652,6 +3653,30 @@ + [ --enable-elf-dynstr-gc Enable elf dynstr garbage collector (opt builds only)], + USE_ELF_DYNSTR_GC=1, + USE_ELF_DYNSTR_GC= ) ++ ++dnl ======================================================== ++dnl = --enable-old-abi-compat-wrappers ++dnl ======================================================== ++dnl on x86 linux, the current builds of some popular plugins (notably ++dnl flashplayer and real) expect a few builtin symbols from libgcc ++dnl which were available in some older versions of gcc. However, ++dnl they're _NOT_ available in newer versions of gcc (eg 3.1), so if ++dnl we want those plugin to work with a gcc-3.1 built binary, we need ++dnl to provide these symbols. MOZ_ENABLE_OLD_ABI_COMPAT_WRAPPERS defaults ++dnl to true on x86 linux, and false everywhere else. ++dnl ++ ++MOZ_ARG_ENABLE_BOOL(old-abi-compat-wrappers ++[ --old-abi-compat-wrappers, Support old GCC ABI symbols to ease the pain of the linux compiler change], ++ MOZ_ENABLE_OLD_ABI_COMPAT_WRAPPERS=1, ++ MOZ_ENABLE_OLD_ABI_COMPAT_WRAPPERS= ) ++if test "$MOZ_ENABLE_OLD_ABI_COMPAT_WRAPPERS"; then ++ AC_LANG_SAVE ++ AC_LANG_CPLUSPLUS ++ AC_CHECK_FUNCS(__builtin_vec_new __builtin_vec_delete __builtin_new __builtin_delete __pure_virtual) ++ AC_LANG_RESTORE ++ AC_DEFINE(MOZ_ENABLE_OLD_ABI_COMPAT_WRAPPERS) ++fi + + dnl ======================================================== + dnl = --enable-prebinding +Index: xpfe/bootstrap/nsAppRunner.cpp +=================================================================== +RCS file: /cvsroot/mozilla/xpfe/bootstrap/nsAppRunner.cpp,v +retrieving revision 1.353 +diff -u -r1.353 nsAppRunner.cpp +--- xpfe/bootstrap/nsAppRunner.cpp 16 May 2002 01:02:12 -0000 1.353 ++++ xpfe/bootstrap/nsAppRunner.cpp 3 Jul 2002 22:46:49 -0000 +@@ -134,6 +134,58 @@ + #include "jprof.h" + #endif + ++// on x86 linux, the current builds of some popular plugins (notably ++// flashplayer and real) expect a few builtin symbols from libgcc ++// which were available in some older versions of gcc. However, ++// they're _NOT_ available in newer versions of gcc (eg 3.1), so if ++// we want those plugin to work with a gcc-3.1 built binary, we need ++// to provide these symbols. MOZ_ENABLE_OLD_ABI_COMPAT_WRAPPERS defaults ++// to true on x86 linux, and false everywhere else. ++// ++// The fact that the new and free operators are mismatched ++// mirrors the way the original functions in egcs 1.1.2 worked. ++ ++ ++extern "C" { ++ ++# ifndef HAVE___builtin_vec_new ++ void *__builtin_vec_new(size_t aSize, const std::nothrow_t &aNoThrow) throw() ++ { ++ return ::operator new(aSize, aNoThrow); ++ } ++# endif ++ ++# ifndef HAVE___builtin_vec_delete ++ void __builtin_vec_delete(void *aPtr, const std::nothrow_t &) throw () ++ { ++ if (aPtr) { ++ free(aPtr); ++ } ++ } ++# endif ++ ++# ifndef HAVE__builtin_new ++ void *__builtin_new(int aSize) ++ { ++ return malloc(aSize); ++ } ++# endif ++ ++# ifndef HAVE__builtin_delete ++ void __builtin_delete(void *aPtr) ++ { ++ free(aPtr); ++ } ++# endif ++ ++# ifndef HAVE__pure_virtual ++ void __pure_virtual(void) { ++ extern void __cxa_pure_virtual(void); ++ ++ __cxa_pure_virtual(); ++ } ++# endif ++} + + #ifdef _BUILD_STATIC_BIN + #include "nsStaticComponent.h" diff --git a/net-www/mozilla/files/mozilla-1.0-asmfixes.patch b/net-www/mozilla/files/mozilla-1.0-asmfixes.patch new file mode 100644 index 000000000000..92287f91b48b --- /dev/null +++ b/net-www/mozilla/files/mozilla-1.0-asmfixes.patch @@ -0,0 +1,236 @@ +--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_unixish_x86.cpp.asmfixes 2002-06-12 11:03:43.000000000 +0200 ++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_unixish_x86.cpp 2002-06-12 11:32:57.000000000 +0200 +@@ -40,7 +40,7 @@ + #include "xptcprivate.h" + #include "xptc_platforms_unixish_x86.h" + +-static nsresult ++extern "C" nsresult + PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) + { + #define PARAM_BUFFER_COUNT 16 +@@ -102,32 +102,67 @@ PrepareAndDispatch(nsXPTCStubBase* self, + return result; + } + +-#ifdef __GNUC__ /* Gnu Compiler. */ +-#define STUB_ENTRY(n) \ +-nsresult nsXPTCStubBase::Stub##n() \ +-{ \ +- register nsresult (*method) (nsXPTCStubBase *, uint32, PRUint32 *) = PrepareAndDispatch; \ +- int temp0, temp1; \ +- register nsresult result; \ +- __asm__ __volatile__( \ +- "leal 0x0c(%%ebp), %%ecx\n\t" /* args */ \ +- "pushl %%ecx\n\t" \ +- "pushl $"#n"\n\t" /* method index */ \ +- "movl 0x08(%%ebp), %%ecx\n\t" /* this */ \ +- "pushl %%ecx\n\t" \ +- "call *%%edx\n\t" /* PrepareAndDispatch */ \ +- "addl $12, %%esp" \ +- : "=a" (result), /* %0 */ \ +- "=&c" (temp0), /* %1 */ \ +- "=d" (temp1) /* %2 */ \ +- : "2" (method) /* %2 */ \ +- : "memory" ); \ +- return result; \ +-} ++#ifndef __GNUC__ ++#error "can't find a compiler to use" ++#endif + ++#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */ ++// gcc3 mangling tends to insert the length of the method name ++#define STUB_ENTRY(n) \ ++asm(".section \".text\"\n\t" \ ++ ".align 2\n\t" \ ++ ".if " #n " < 10\n\t" \ ++ ".globl _ZN14nsXPTCStubBase5Stub" #n "Ev\n\t" \ ++ ".type _ZN14nsXPTCStubBase5Stub" #n "Ev,@function\n" \ ++"_ZN14nsXPTCStubBase5Stub" #n "Ev:\n\t" \ ++ \ ++ ".elseif " #n " < 100\n\t" \ ++ ".globl _ZN14nsXPTCStubBase6Stub" #n "Ev\n\t" \ ++ ".type _ZN14nsXPTCStubBase6Stub" #n "Ev,@function\n" \ ++"_ZN14nsXPTCStubBase6Stub" #n "Ev:\n\t" \ ++ \ ++ ".elseif " #n " < 1000\n\t" \ ++ ".globl _ZN14nsXPTCStubBase7Stub" #n "Ev\n\t" \ ++ ".type _ZN14nsXPTCStubBase7Stub" #n "Ev,@function\n" \ ++"_ZN14nsXPTCStubBase7Stub" #n "Ev:\n\t" \ ++ \ ++ ".else\n\t" \ ++ ".err \"stub number " #n " >= 1000 not yet supported\"\n\t" \ ++ ".endif\n\t" \ ++ \ ++ "movl $" #n ", %eax\n\t" \ ++ "jmp SharedStub" \ ++); + #else +-#error "can't find a compiler to use" +-#endif /* __GNUC__ */ ++// gcc2 version ++#define STUB_ENTRY(n) \ ++asm(".section \".text\"\n\t" \ ++ ".align 2\n\t" \ ++ ".globl Stub" #n "__14nsXPTCStubBase\n\t" \ ++ ".type Stub" #n "__14nsXPTCStubBase,@function\n" \ ++"Stub" #n "__14nsXPTCStubBase:\n\t" \ ++ "movl $" #n ", %eax\n\t" \ ++ "jmp SharedStub\n\t" \ ++); ++#endif ++ ++// static nsresult SharedStub(PRUint32 methodIndex) __attribute__((regparm(1))) ++asm(".section \".text\"\n\t" ++ ".align 2\n\t" ++ ".type SharedStub,@function\n\t" ++"SharedStub:\n\t" ++ "pushl %ebp\n\t" ++ "movl %esp, %ebp\n\t" ++ "leal 0x0c(%ebp), %ecx\n\t" ++ "pushl %ecx\n\t" ++ "pushl %eax\n\t" ++ "movl 0x08(%ebp), %ecx\n\t" ++ "pushl %ecx\n\t" ++ "call PrepareAndDispatch\n\t" ++ "addl $12, %esp\n\t" ++ "popl %ebp\n\t" ++ "ret" ++); + + #define SENTINEL_ENTRY(n) \ + nsresult nsXPTCStubBase::Sentinel##n() \ +--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_unixish_x86.cpp.asmfixes 2002-06-11 15:48:50.000000000 +0200 ++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_unixish_x86.cpp 2002-06-12 11:06:49.000000000 +0200 +@@ -40,9 +40,7 @@ + #include "xptcprivate.h" + #include "xptc_platforms_unixish_x86.h" + +-extern "C" { +- +-static void ++extern "C" void + invoke_copy_to_stack(PRUint32 paramCount, nsXPTCVariant* s, PRUint32* d) + { + for(PRUint32 i = paramCount; i >0; i--, d++, s++) +@@ -70,69 +68,64 @@ invoke_copy_to_stack(PRUint32 paramCount + } + } + +-} +- ++extern "C" + XPTC_PUBLIC_API(nsresult) + XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex, +- PRUint32 paramCount, nsXPTCVariant* params) +-{ +-#ifdef __GNUC__ /* Gnu compiler. */ +- PRUint32 result; +- // Each param takes at most 2, 4-byte words +- // It doesn't matter if we push too many words, and calculating the exact +- // ammount takes time. +- PRUint32 n = paramCount << 3; +- void (*fn_copy) (unsigned int, nsXPTCVariant *, PRUint32 *) = invoke_copy_to_stack; +- int temp1, temp2, temp3; +- +- __asm__ __volatile__( +- "subl %8, %%esp\n\t" /* make room for params */ +- "pushl %%esp\n\t" +- "pushl %7\n\t" +- "pushl %6\n\t" +- "call *%0\n\t" /* copy params */ +- "addl $0xc, %%esp\n\t" +- "movl %4, %%ecx\n\t" ++ PRUint32 paramCount, nsXPTCVariant* params); ++ ++#ifdef __GNUC__ /* GNU compiler */ ++asm(".section \".text\"\n\t" ++ ".align 2\n\t" ++ ".globl XPTC_InvokeByIndex\n\t" ++ ".type XPTC_InvokeByIndex,@function\n" ++"XPTC_InvokeByIndex:\n\t" ++ "pushl %ebp\n\t" ++ "movl %esp, %ebp\n\t" ++ "pushl %ecx\n\t" ++ "pushl %edx\n\t" ++ "pushl %edi\n\t" ++ "movl 0x10(%ebp), %ecx\n\t" /* paramCount */ ++ "movl 0x14(%ebp), %edx\n\t" /* params */ ++ // Each param takes at most 2, 4-byte words ++ // It doesn't matter if we push too many words, and calculating the exact ++ // ammount takes time. ++ "leal 0(,%ecx,8), %edi\n\t" ++ "subl %edi, %esp\n\t" ++ "pushl %esp\n\t" /* copy params */ ++ "pushl %edx\n\t" ++ "pushl %ecx\n\t" ++ "call invoke_copy_to_stack\n\t" ++ "addl $12, %esp\n\t" ++ "movl 0x08(%ebp), %ecx\n\t" /* that */ ++ "movl 0x0c(%ebp), %eax\n\t" /* methodIndex */ + #ifdef CFRONT_STYLE_THIS_ADJUST +- "movl (%%ecx), %%edx\n\t" +- "movl %5, %%eax\n\t" /* function index */ +- "shl $3, %%eax\n\t" /* *= 8 */ +- "addl $8, %%eax\n\t" /* += 8 skip first entry */ +- "addl %%eax, %%edx\n\t" +- "movswl (%%edx), %%eax\n\t" /* 'this' offset */ +- "addl %%eax, %%ecx\n\t" +- "pushl %%ecx\n\t" +- "addl $4, %%edx\n\t" /* += 4, method pointer */ ++#error "FIXME: untested" ++ "movl (%ecx), %edx\n\t" ++ "shl $3, %eax\n\t" /* *= 8 */ ++ "addl $8, %eax\n\t" /* += 8 skip first entry */ ++ "addl %eax, %edx\n\t" ++ "movswl (%edx), %eax\n\t" /* 'this' offset */ ++ "addl %eax, %ecx\n\t" ++ "pushl %ecx\n\t" ++ "addl $4, %edx\n\t" /* += 4, method pointer */ + #else /* THUNK_BASED_THIS_ADJUST */ +- "pushl %%ecx\n\t" +- "movl (%%ecx), %%edx\n\t" +- "movl %5, %%eax\n\t" /* function index */ ++ "pushl %ecx\n\t" ++ "movl (%ecx), %edx\n\t" + #if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */ +- "leal (%%edx,%%eax,4), %%edx\n\t" ++ "leal 0(%edx,%eax,4), %edx\n\t" + #else /* not G++ V3 ABI */ +- "leal 8(%%edx,%%eax,4), %%edx\n\t" ++ "leal 8(%edx,%eax,4), %edx\n\t" + #endif /* G++ V3 ABI */ + #endif +- "call *(%%edx)\n\t" /* safe to not cleanup esp */ +- "addl $4, %%esp\n\t" +- "addl %8, %%esp" +- : "=a" (result), /* %0 */ +- "=c" (temp1), /* %1 */ +- "=d" (temp2), /* %2 */ +- "=g" (temp3) /* %3 */ +- : "g" (that), /* %4 */ +- "g" (methodIndex), /* %5 */ +- "1" (paramCount), /* %6 */ +- "2" (params), /* %7 */ +- "g" (n), /* %8 */ +- "0" (fn_copy) /* %3 */ +- : "memory" +- ); +- +- return result; +- ++ "call *(%edx)\n\t" ++ "addl $4, %esp\n\t" /* reajust stack for "this" pointer */ ++ "addl %edi, %esp\n\t" /* ... and space for params */ ++ "popl %edi\n\t" ++ "popl %edx\n\t" ++ "popl %ecx\n\t" ++ "popl %ebp\n\t" ++ "ret" ++); + #else + #error "can't find a compiler to use" + #endif /* __GNUC__ */ +- +-} diff --git a/net-www/mozilla/files/mozilla.sh b/net-www/mozilla/files/mozilla.sh new file mode 100644 index 000000000000..3c71377c43e7 --- /dev/null +++ b/net-www/mozilla/files/mozilla.sh @@ -0,0 +1,258 @@ +#!/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="/usr/lib/mozilla" +MOZ_PROGRAM="/usr/lib/mozilla/mozilla-bin" +MOZ_CLIENT_PROGRAM="/usr/lib/mozilla/mozilla-xremote-client" + +## +## Set MOZILLA_FIVE_HOME +## +MOZILLA_FIVE_HOME="/usr/lib/mozilla" + +export MOZILLA_FIVE_HOME + +## +## Set LD_PRELOAD for old plugins +## +if [ -f /usr/lib/mozilla/libc++mem.so ] +then + if [ "$LD_PRELOAD" ] + then + LD_PRELOAD="/usr/lib/mozilla/libc++mem.so $LD_PRELOAD" + else + LD_PRELOAD=/usr/lib/mozilla/libc++mem.so + fi + export LD_PRELOAD +fi + +## +## Set LD_LIBRARY_PATH +## +if [ "$LD_LIBRARY_PATH" ] +then + LD_LIBRARY_PATH="/usr/lib/mozilla:/usr/lib/mozilla/plugins:$LD_LIBRARY_PATH" +else + LD_LIBRARY_PATH="/usr/lib/mozilla:/usr/lib/mozilla/plugins" +fi + +export LD_LIBRARY_PATH + +## +## Make sure that we set the plugin path for backwards compatibility +## Set MOZ_PLUGIN_PATH to $HOME/.mozilla/plugins if not set +## +export MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins + +if [ "$HOME" ]; then + export MOZ_PLUGIN_PATH="$MOZ_PLUGIN_PATH:$HOME/.mozilla/plugins" +fi + +## +## Set FONTCONFIG_PATH for Xft/fontconfig +## +FONTCONFIG_PATH="/etc/fonts:${MOZILLA_FIVE_HOME}/res/Xft" +export FONTCONFIG_PATH + +## +## Autodetect language +## +grep -q $HOME/.mozilla $HOME/.mozilla/appreg > /dev/null 2>/dev/null +SET_LANG=$? +if [ "$HOME" -a "$LANG" -a "$SET_LANG" != "0" ]; then + MOZ_LANG=`grep -E "^$LANG[[:space:]]" $MOZILLA_FIVE_HOME/chrome/locale.alias | tr -s [:blank:] | cut -f 2` + for i in "$@";do + [ "$i" = "-UILocale" ] && MOZ_LANG="" + done + if [ "$MOZ_LANG" -a -r "$MOZILLA_FIVE_HOME/chrome/$MOZ_LANG.jar" ]; then + MOZ_LANG="-UILocale $MOZ_LANG" + else + unset MOZ_LANG + fi +fi + +# Figure out if we need to ser LD_ASSUME_KERNEL for older versions of the JVM. + +function set_jvm_vars() { + + # see if the jvm exists in either of the locations + if [ -L /usr/lib/mozilla/plugins/javaplugin_oji.so ]; then + JVM_ORIG_LINK=/usr/lib/mozilla/plugins/javaplugin_oji.so + fi + + if [ -L /usr/lib/mozilla/plugins/libjavaplugin_oji.so ]; then + JVM_ORIG_LINK=/usr/lib/mozilla/plugins/libjavaplugin_oji.so + fi + + if [ -z "$JVM_ORIG_LINK" ]; then + return; + fi + + JVM_LINK=`perl -e "print readlink('$JVM_ORIG_LINK')"` + + # is it relative? if so append the full path + + echo "${JVM_LINK}" | grep -e "^/" 2>&1 > /dev/null + + if [ "$?" -ne "0" ]; then + JVM_LINK=/usr/lib/mozilla/plugins/${JVM_LINK} + fi + + JVM_BASE=`basename $JVM_LINK` + JVM_DIR=`echo $JVM_LINK | sed -e s/$JVM_BASE//g` + JVM_COMMAND=$JVM_DIR/java + if [ ! -r $JVM_COMMAND ]; then + JVM_DIR=${JVM_DIR}../../../bin/ + JVM_COMMAND=$JVM_DIR/java + # does the command exist? + if [ ! -r "$JVM_COMMAND" ]; then + return + fi + fi + + # export this temporarily - it seems to work with old and new + # versions of the JVM. + export LD_ASSUME_KERNEL=2.2.5 + + # get the version + JVM_VERSION=`$JVM_COMMAND -version 2>&1` + + unset LD_ASSUME_KERNEL + + JVM_VERSION=`echo $JVM_VERSION | grep version | cut -f 3 -d " " | sed -e 's/\"//g'` + + case "$JVM_VERSION" in + (1.3.0*) + # bad JVM + export LD_ASSUME_KERNEL=2.2.5 + ;; + esac +} + +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 $MOZ_LANG $* + 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 $MOZ_LANG $* + fi +} + +# OK, here's where all the real work gets done + +# set our JVM vars +set_jvm_vars + +# 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 + +# 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 $MOZ_LANG 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 +NEW_WINDOW= +opt="$1" +case "$opt" in + -mail) + open_mail ${1+"$@"} + ;; + -compose) + open_compose ${1+"$@"} + ;; + -*) ;; + *) USE_EXIST=1 ;; +esac + + othersopt= + optlast= + for i in "$@";do optlast=$i;done #last arg + for i in "$@";do [[ $i == $optlast ]] && break; othersopt="$othersopt $i";done #others arg + #???: needs check if othersopt begin with -* ? + + if [[ $optlast != *:/* && -e $optlast ]];then + [[ $optlast != /* ]] && optlast=file://$PWD/$optlast + elif [[ $optlast == *:/* || -n $othersopt ]];then #???? like before... + NEW_WINDOW=1 + fi + +if [ "${USE_EXIST}" -eq "1" ] && [ "${ALREADY_RUNNING}" -eq "1" ]; then + if [[ -z $NEW_WINDOW ]];then + exec $MOZ_CLIENT_PROGRAM $othersopt "openurl($optlast)" 2>/dev/null >/dev/null + else + exec $MOZ_CLIENT_PROGRAM $othersopt "openurl($optlast,new-window)" 2>/dev/null >/dev/null + fi +fi + +exec $MOZ_PROGRAM $MOZ_LANG $othersopt "$optlast" diff --git a/net-www/mozilla/mozilla-1.0-r1.ebuild b/net-www/mozilla/mozilla-1.0-r1.ebuild deleted file mode 100644 index dc54a09f750e..000000000000 --- a/net-www/mozilla/mozilla-1.0-r1.ebuild +++ /dev/null @@ -1,351 +0,0 @@ -# Copyright 1999-2002 Gentoo Technologies, Inc. -# Distributed under the terms of the GNU General Public License, v2 or later -# Maintainer: Martin Schlemmer <azarah@gentoo.org> -# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/mozilla-1.0-r1.ebuild,v 1.1 2002/06/05 21:14:28 azarah Exp $ - -# handle _rc versions -MY_PV1=${PV/_} -MY_PV2=${PV/_/\.} -S=${WORKDIR}/mozilla -DESCRIPTION="The Mozilla Web Browser" -SRC_URI="ftp://ftp.mozilla.org/pub/mozilla/releases/${PN}${MY_PV1}/src/${PN}-source-${MY_PV1}.tar.bz2" -HOMEPAGE="http://www.mozilla.org" -LICENSE="MPL-1.1 | NPL-1.1" - -RDEPEND=">=gnome-base/ORBit-0.5.10-r1 - =dev-libs/glib-1.2* - >=sys-libs/zlib-1.1.4 - >=media-libs/jpeg-6b - >=media-libs/libmng-1.0.0 - >=media-libs/libpng-1.2.1 - dev-libs/expat - app-arch/zip - app-arch/unzip - x11-libs/gtk+ - java? ( virtual/jre )" -# gtk? ( x11-libs/gtk+ ) -# mozqt? ( x11-libs/qt )" - -DEPEND="java? ( >=dev-java/java-config-0.2.0 ) - ${RDEPEND} - virtual/x11 - sys-devel/perl" - -SLOT="0" - -# needed by src_compile() and src_install() -export MOZILLA_OFFICIAL=1 -export BUILD_OFFICIAL=1 - -# enable XFT -[ "${DISABLE_XFT}" != "1" ] && export MOZ_ENABLE_XFT=1 - -# make sure the nss module gets build (for NSS support) -[ -n "`use ssl`" ] && export MOZ_PSM=1 - -# do we build java support for the NSS stuff ? -# NOTE: this is broken for the moment -#[ "`use java`" ] && export NS_USE_JDK=1 - - -src_unpack() { - - unpack ${A} - - # NOTE: XFT support will still work without this patch -# This needs an updated XFree86 -# if [ -n "${MOZ_ENABLE_XFT}" ] ; then -# cd ${S} -# patch -p0 <${FILESDIR}/${P}-xft.patch || die -# fi -} - -src_compile() { - - chown -R root.root * - #This should enable parallel builds, I hope - export MAKE="emake" - local myconf="" - # NOTE: QT and XLIB toolkit seems very unstable, leave disabled until - # tested ok -- azarah -# if [ -n "`use qt`" ] ; then - # when you enable this again, remember the qt dir is now /usr/qt/2 - danarmak -# myconf="--enable-toolkit-qt --enable-default-toolkit=qt \ -# --disable-toolkit-gtk --disable-toolkit-xlib" -# elif [ -n "`use gtk`" ] ; then - myconf="--enable-toolkit-gtk --enable-default-toolkit=gtk \ - --disable-toolkit-qt --disable-toolkit-xlib" -# else -# myconf="--enable-toolkit-xlib --enable-default-toolkit=xlib \ -# --disable-toolkit-qt --disable-toolkit-gtk" -# fi - - if [ -z "`use ldap`" ] ; then - myconf="${myconf} --disable-ldap" - fi - - if [ -z "$DEBUG" ] ; then - myconf="${myconf} --enable-strip-libs --disable-debug \ - --disable-dtd-debug --disable-tests" - fi - - if [ -n "${MOZ_ENABLE_XFT}" ] ; then - # for this we have to use freetype-2.0.8 included with XFree86 - myconf="${myconf} --enable-xft --with-ft-prefix=/usr/X11R6 \ - --with-ft-exec-prefix=/usr/X11R6/bin" - - export FT2_CONFIG="/usr/X11R6/bin/freetype-config" - fi - - - # NB!!: Due to the fact that the non default extensions do not always - # compile properly, using them is considered unsupported, and - # is just here for completeness. Please do not use if you - # do not know what you are doing! - # - # The defaults are (as of 1.0rc1, according to configure (line ~10799)): - # cookie wallet content-packs xml-rpc xmlextras help transformiix venkman inspector irc - # Non-defaults are: - # xmlterm access-builtin ctl p3p interfaceinfo - local myext="default" - if [ -n "`use mozxmlterm`" ] ; then - myext="${myext},xmlterm" - fi - if [ -n "`use mozaccess-builtin`" ] ; then - myext="${myext},access-builtin" - fi - if [ -n "`use mozctl`" ] ; then - myext="${myext},ctl" - fi - if [ -n "`use mozp3p`" ] ; then - myext="${myext},p3p" - fi - if [ -n "`use mozinterfaceinfo`" ] ; then - myext="${myext},interfaceinfo" - fi - - - export BUILD_MODULES=all - export BUILD_OPT=1 - - # Crashes on start when compiled with -fomit-frame-pointer - CFLAGS="${CFLAGS/-fomit-frame-pointer}" - CXXFLAGS="${CXXFLAGS/-fomit-frame-pointer}" - - ./configure --prefix=/usr/lib/mozilla \ - --disable-tests \ - --disable-pedantic \ - --disable-svg \ - --enable-xsl \ - --enable-crypto \ - --enable-detect-webshell-leaks \ - --enable-xinerama \ - --with-java-supplement \ - --with-pthreads \ - --with-extensions="${myext}" \ - --enable-optimize=-O3 \ - --with-default-mozilla-five-home=/usr/lib/mozilla \ - ${myconf} || die - - make || die - - # Build the NSS/SSL support - if [ "`use ssl`" ] ; then - cd ${S}/security/coreconf - - # Fix #include problem - cp headers.mk headers.mk.orig - echo 'INCLUDES += -I$(DIST)/include/nspr -I$(DIST)/include/dbm'\ - >>headers.mk - - make || die - - cd ${S}/security/nss - - make moz_import || die - make || die - cd ${S} - fi -} - -src_install() { - - # Copy the include and idl files - dodir /usr/lib/mozilla/include/idl /usr/include - cd ${S}/dist - cp -LfR include/* ${D}/usr/lib/mozilla/include - cp -LfR idl/* ${D}/usr/lib/mozilla/include/idl - dosym /usr/lib/mozilla/include /usr/include/mozilla - - # Build the Release Tarball - cd ${S}/xpinstall/packager - make || die - dodir /usr/lib - - TODO="" - case ${ARCH} in - ppc) - TODO="${S}/dist/mozilla-powerpc-unknown-linux-gnu.tar.gz" - ;; - x86) - TODO="${S}/dist/mozilla-`uname -m`-pc-linux-gnu.tar.gz" - ;; - sparc) - ;; - sparc64) - ;; - arm) - ;; - *) - TODO="${S}/dist/mozilla-`uname -m`-pc-linux-gnu.tar.gz" - ;; - esac - - tar xzf ${TODO} -C ${D}/usr/lib - - # Install the development tools in /usr - dodir /usr/bin - mv ${D}/usr/lib/mozilla/{xpcshell,xpidl,xpt_dump,xpt_link} ${D}/usr/bin - - # Install the NSS/SSL libs, headers and tools - if [ "`use ssl`" ] ; then - # Install the headers ('make install' do not work for headers ...) - insinto /usr/lib/mozilla/include/nss - doins ${S}/dist/public/seccmd/*.h - doins ${S}/dist/public/security/*.h - - cd ${S}/security/nss - - mkdir -p ${WORKDIR}/nss/{bin,lib} - export SOURCE_BIN_DIR=${WORKDIR}/nss/bin - export SOURCE_LIB_DIR=${WORKDIR}/nss/lib - - make install || die - # Gets installed as symbolic links ... - cp -Lf ${WORKDIR}/nss/bin/* ${D}/usr/bin - cp -Lf ${WORKDIR}/nss/lib/* ${D}/usr/lib/mozilla - - # Need to unset these incase we want to rebuild, else the build - # gets newked. - unset SOURCE_LIB_DIR - unset SOURCE_BIN_DIR - fi - - cd ${S} - exeinto /usr/bin - doexe ${FILESDIR}/mozilla - insinto /etc/env.d - doins ${FILESDIR}/10mozilla - dodoc LEGAL LICENSE README/mozilla/README* - - # Fix icons to look the same everywhere - insinto /usr/lib/mozilla/icons - doins ${S}/build/package/rpm/SOURCES/mozicon16.xpm - doins ${S}/build/package/rpm/SOURCES/mozicon50.xpm - - # Install icon and .desktop for menu entry - if [ "`use gnome`" ] ; then - insinto /usr/share/pixmaps - doins ${S}/build/package/rpm/SOURCES/mozilla-icon.png - - # Fix comment of menu entry - cd ${S}/build/package/rpm/SOURCES - cp mozilla.desktop mozilla.desktop.orig - sed -e 's:Comment=Mozilla:Comment=Mozilla Web Browser:' \ - mozilla.desktop.orig >mozilla.desktop - cd ${S} - insinto /usr/share/gnome/apps/Internet - doins ${S}/build/package/rpm/SOURCES/mozilla.desktop - fi - - if [ -n "${MOZ_ENABLE_XFT}" ] ; then - cd ${D}/usr/lib/mozilla/defaults/pref - patch -p0 <${FILESDIR}/mozilla-xft-unix-prefs.patch || \ - die "failed unix prefs patch" - fi - - # Take care of non root execution - # (seems the problem is that not all files are readible by the user) - chmod -R g+r,o+r ${D}/usr/lib/mozilla -} - -pkg_preinst() { - # Stale components and chrome files break when unmerging old - if [ -d ${ROOT}/usr/lib/mozilla/components ] - then - rm -rf ${ROOT}/usr/lib/mozilla/components - fi - if [ -d ${ROOT}/usr/lib/mozilla/components ] - then - rm -rf ${ROOT}/usr/lib/mozilla/chrome - fi -} - -pkg_postinst() { - - # Make symlink for Java plugin (do not do in src_install(), else it only - # gets installed every second time) - if [ "`use java`" ] && [ ! -L /usr/lib/mozilla/plugins/`java-config --browser-plugin=mozilla` ] - then - if [ -e `java-config --full-browser-plugin-path=mozilla` ] - then - ln -sf `java-config --full-browser-plugin-path=mozilla` \ - /usr/lib/mozilla/plugins/`java-config --browser-plugin=mozilla` - fi - fi - - # Take care of component registration - export MOZILLA_FIVE_HOME="${ROOT}/usr/lib/mozilla" - - # Remove any stale component.reg - if [ -e ${ROOT}/usr/lib/mozilla/component.reg ] ; then - rm -f ${ROOT}/usr/lib/mozilla/component.reg - fi - - # Tempory fix for missing libtimer_gtk.so - # If it exists when generating component.reg (before unmerge of old), - # it 'corrupts' the newly generated component.reg with invalid references. - if [ -e ${ROOT}/usr/lib/mozilla/components/libtimer_gtk.so ] ; then - rm -f ${ROOT}/usr/lib/mozilla/components/libtimer_gtk.so - fi - - # Needed to update the run time bindings for REGXPCOM - # (do not remove next line!) - env-update - # Register components, setup Chrome .rdf files and fix file permissions - umask 022 - ${ROOT}/usr/lib/mozilla/regxpcom - chmod g+r,o+r ${ROOT}/usr/lib/mozilla/component.reg - # Setup the default skin and locale to correctly generate the Chrome .rdf files - echo "skin,install,select,classic/1.0" >> \ - ${MOZILLA_FIVE_HOME}/chrome/installed-chrome.txt - echo "locale,install,select,en-US" >> \ - ${MOZILLA_FIVE_HOME}/chrome/installed-chrome.txt - ${ROOT}/usr/lib/mozilla/regchrome - find ${ROOT}/usr/lib/mozilla -type d -perm 0700 -exec chmod 755 {} \; || : - - - echo - echo "*****************************************************************" - echo "* NB: Please unmerge old versions of mozilla, as the header *" - echo "* layout in /usr/lib/mozilla/include have changed and will *" - echo "* result in compile errors when compiling programs that need *" - echo "* mozilla headers and libs (galeon, nautilus, ...) *" - echo "*****************************************************************" - echo -} - -pkg_postrm() { - - # Regenerate component.reg in case some things changed - if [ -e ${ROOT}/usr/lib/mozilla/regxpcom ] ; then - - if [ -e ${ROOT}/usr/lib/mozilla/component.reg ] ; then - rm -f ${ROOT}/usr/lib/mozilla/component.reg - fi - - ${ROOT}/usr/lib/mozilla/regxpcom - chmod g+r,o+r ${ROOT}/usr/lib/mozilla/component.reg - fi -} - diff --git a/net-www/mozilla/mozilla-1.0_rc3-r2.ebuild b/net-www/mozilla/mozilla-1.0-r3.ebuild index a60b0588c23b..1e610ca81f8f 100644 --- a/net-www/mozilla/mozilla-1.0_rc3-r2.ebuild +++ b/net-www/mozilla/mozilla-1.0-r3.ebuild @@ -1,7 +1,9 @@ # Copyright 1999-2002 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License, v2 or later # Maintainer: Martin Schlemmer <azarah@gentoo.org> -# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/mozilla-1.0_rc3-r2.ebuild,v 1.1 2002/05/29 00:22:06 azarah Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/mozilla-1.0-r3.ebuild,v 1.1 2002/07/07 21:24:27 azarah Exp $ + +# NOTE: to build without the mail and news component: export NO_MAIL="YES" # handle _rc versions MY_PV1=${PV/_} @@ -14,7 +16,6 @@ LICENSE="MPL-1.1 | NPL-1.1" RDEPEND=">=x11-base/xfree-4.2.0-r11 >=gnome-base/ORBit-0.5.10-r1 - =dev-libs/glib-1.2* >=sys-libs/zlib-1.1.4 >=media-libs/jpeg-6b >=media-libs/libmng-1.0.0 @@ -22,7 +23,10 @@ RDEPEND=">=x11-base/xfree-4.2.0-r11 dev-libs/expat app-arch/zip app-arch/unzip - x11-libs/gtk+ + ( gtk2? >=x11-libs/gtk+-2.0.5 : + =x11-libs/gtk+-1.2* ) + ( gtk2? >=dev-libs/glib-2.0.4 : + =dev-libs/glib-1.2* ) java? ( virtual/jre )" # gtk? ( x11-libs/gtk+ ) # mozqt? ( x11-libs/qt )" @@ -39,7 +43,15 @@ export MOZILLA_OFFICIAL=1 export BUILD_OFFICIAL=1 # enable XFT -[ "${DISABLE_XFT}" != "1" ] && export MOZ_ENABLE_XFT=1 +[ "${DISABLE_XFT}" != "1" ] && [ -z "`use gtk2`" ] && \ + export MOZ_ENABLE_XFT=1 + +# enable GTK+-2.0 support +if [ "`use gtk2`" ] ; then + export MOZ_ENABLE_GTK2=1 + export MOZ_WIDGET_GTK2=1 + export MOZ_WIDGET_TOOLKIT=gtk2 +fi # make sure the nss module gets build (for NSS support) [ -n "`use ssl`" ] && export MOZ_PSM=1 @@ -57,12 +69,34 @@ src_unpack() { cd ${S} patch -p1 < ${FILESDIR}/mozilla-new-freetype2.patch || die - # NOTE: XFT support will still work without this patch -# This needs an updated XFree86 -# if [ -n "${MOZ_ENABLE_XFT}" ] ; then -# cd ${S} -# patch -p0 <${FILESDIR}/${P}-xft.patch || die -# fi + [ -z "${CC}" ] && CC=gcc + if [ "`${CC} -dumpversion | cut -d. -f1,2`" != "2.95" ] ; then + # Fix bogus asm (from Mandrake .spec) + patch -p1 < ${FILESDIR}/${P}-asmfixes.patch || die + +# patch -p1 < ${FILESDIR}/${P}-gcc3-java-plugin.patch || die + + # ABI compat patch for gcc-3.x to use gcc-2.95 plugins + # + # http://bugzilla.mozilla.org/show_bug.cgi?id=154206 + # http://bugzilla.mozilla.org/show_bug.cgi?id=124006 + # http://bugzilla.mozilla.org/show_bug.cgi?id=116444 + # + if [ "${ARCH}" = "x86" ] ; then + patch -p0 < ${FILESDIR}/${P}-abi-compat-wrappers.patch + fi + fi + + # Apply the bytecode patch for freetype2 + patch -p1 < ${FILESDIR}/mozilla-ft-bytecode.patch || die + + # Use gtk+-2.0 as widget toolkit + if [ "`use gtk2`" ] ; then + cd ${S}/embedding/browser/gtk/src + bzip2 -dc ${FILESDIR}/gtk2_embed.patch.bz2 | patch -p0 || die + cd ${S}/widget/src/gtk2 + bzip2 -dc ${FILESDIR}/gtk2_widget.patch.bz2 | patch -p0 || die + fi } src_compile() { @@ -73,30 +107,35 @@ src_compile() { local myconf="" # NOTE: QT and XLIB toolkit seems very unstable, leave disabled until # tested ok -- azarah -# if [ -n "`use qt`" ] ; then - # when you enable this again, remember the qt dir is now /usr/qt/2 - danarmak -# myconf="--enable-toolkit-qt --enable-default-toolkit=qt \ -# --disable-toolkit-gtk --disable-toolkit-xlib" -# elif [ -n "`use gtk`" ] ; then - myconf="--enable-toolkit-gtk --enable-default-toolkit=gtk \ - --disable-toolkit-qt --disable-toolkit-xlib" -# else -# myconf="--enable-toolkit-xlib --enable-default-toolkit=xlib \ -# --disable-toolkit-qt --disable-toolkit-gtk" -# fi + if [ -n "`use gtk2`" ] ; then + myconf="${myconf} --enable-toolkit-gtk2 \ + --enable-default-toolkit=gtk2 \ + --disable-toolkit-qt \ + --disable-toolkit-xlib \ + --disable-gtk" + else + myconf="${myconf} --enable-toolkit-gtk \ + --enable-default-toolkit=gtk \ + --disable-toolkit-qt \ + --disable-toolkit-xlib \ + --disable-gtk2" + fi if [ -z "`use ldap`" ] ; then myconf="${myconf} --disable-ldap" fi - if [ -z "$DEBUG" ] ; then - myconf="${myconf} --enable-strip-libs --disable-debug \ - --disable-dtd-debug --disable-tests" + if [ -z "${DEBUG}" ] ; then + myconf="${myconf} --enable-strip-libs \ + --disable-debug \ + --disable-dtd-debug \ + --disable-tests" fi if [ -n "${MOZ_ENABLE_XFT}" ] ; then # for this we have to use freetype-2.0.8 included with XFree86 - myconf="${myconf} --enable-xft --with-ft-prefix=/usr/X11R6 \ + myconf="${myconf} --enable-xft \ + --with-ft-prefix=/usr/X11R6 \ --with-ft-exec-prefix=/usr/X11R6/bin" export FT2_CONFIG="/usr/X11R6/bin/freetype-config" @@ -130,17 +169,35 @@ src_compile() { fi + if [ -n "`use moznomail`" ] || \ + [ "${NO_MAIL}" = "YES" ] || [ "${NO_MAIL}" = "yes" ] + then + myconf="${myconf} --disable-mailnews" + fi + export BUILD_MODULES=all export BUILD_OPT=1 + # Currently gcc-3.1.1 dont work well if we specify "-march" + # and other optimizations + [ -z "${CC}" ] && CC=gcc + if [ "`${CC} -dumpversion`" = "3.1.1" ] ; then + export CFLAGS="" + export CXXFLAGS="" + fi + # Crashes on start when compiled with -fomit-frame-pointer CFLAGS="${CFLAGS/-fomit-frame-pointer}" CXXFLAGS="${CXXFLAGS/-fomit-frame-pointer}" ./configure --prefix=/usr/lib/mozilla \ - --disable-tests \ --disable-pedantic \ --disable-svg \ + --enable-mathml \ + --without-system-nspr \ + --enable-nspr-autoconf \ + --with-system-zlib \ + --enable-ipv6 \ --enable-xsl \ --enable-crypto \ --enable-detect-webshell-leaks \ @@ -148,7 +205,7 @@ src_compile() { --with-java-supplement \ --with-pthreads \ --with-extensions="${myext}" \ - --enable-optimize=-O3 \ + --enable-optimize="-Wno-deprecated -O3" \ --with-default-mozilla-five-home=/usr/lib/mozilla \ ${myconf} || die @@ -238,7 +295,7 @@ src_install() { cd ${S} exeinto /usr/bin - doexe ${FILESDIR}/mozilla + newexe ${FILESDIR}/mozilla.sh mozilla insinto /etc/env.d doins ${FILESDIR}/10mozilla dodoc LEGAL LICENSE README/mozilla/README* @@ -288,30 +345,31 @@ pkg_preinst() { pkg_postinst() { + export MOZILLA_FIVE_HOME="${ROOT}/usr/lib/mozilla" + # Make symlink for Java plugin (do not do in src_install(), else it only # gets installed every second time) - if [ "`use java`" ] && [ ! -L /usr/lib/mozilla/plugins/`java-config --browser-plugin=mozilla` ] + if [ "`use java`" ] && [ ! -L ${MOZILLA_FIVE_HOME}/plugins/`java-config --browser-plugin=mozilla` ] then if [ -e `java-config --full-browser-plugin-path=mozilla` ] then ln -sf `java-config --full-browser-plugin-path=mozilla` \ - /usr/lib/mozilla/plugins/`java-config --browser-plugin=mozilla` + ${MOZILLA_FIVE_HOME}/plugins/`java-config --browser-plugin=mozilla` fi fi # Take care of component registration - export MOZILLA_FIVE_HOME="${ROOT}/usr/lib/mozilla" # Remove any stale component.reg - if [ -e ${ROOT}/usr/lib/mozilla/component.reg ] ; then - rm -f ${ROOT}/usr/lib/mozilla/component.reg + if [ -e ${MOZILLA_FIVE_HOME}/component.reg ] ; then + rm -f ${MOZILLA_FIVE_HOME}/component.reg fi # Tempory fix for missing libtimer_gtk.so # If it exists when generating component.reg (before unmerge of old), # it 'corrupts' the newly generated component.reg with invalid references. - if [ -e ${ROOT}/usr/lib/mozilla/components/libtimer_gtk.so ] ; then - rm -f ${ROOT}/usr/lib/mozilla/components/libtimer_gtk.so + if [ -e ${MOZILLA_FIVE_HOME}/components/libtimer_gtk.so ] ; then + rm -f ${MOZILLA_FIVE_HOME}/components/libtimer_gtk.so fi # Needed to update the run time bindings for REGXPCOM @@ -319,15 +377,16 @@ pkg_postinst() { env-update # Register components, setup Chrome .rdf files and fix file permissions umask 022 - ${ROOT}/usr/lib/mozilla/regxpcom - chmod g+r,o+r ${ROOT}/usr/lib/mozilla/component.reg + ${MOZILLA_FIVE_HOME}/regxpcom + chmod g+r,o+r ${MOZILLA_FIVE_HOME}/component.reg # Setup the default skin and locale to correctly generate the Chrome .rdf files + find ${MOZILLA_FIVE_HOME}/chrome/ -name '*.rdf' -exec rm -f {} \; || : echo "skin,install,select,classic/1.0" >> \ ${MOZILLA_FIVE_HOME}/chrome/installed-chrome.txt echo "locale,install,select,en-US" >> \ ${MOZILLA_FIVE_HOME}/chrome/installed-chrome.txt - ${ROOT}/usr/lib/mozilla/regchrome - find ${ROOT}/usr/lib/mozilla -type d -perm 0700 -exec chmod 755 {} \; || : + ${MOZILLA_FIVE_HOME}/regchrome + find ${MOZILLA_FIVE_HOME}/ -type d -perm 0700 -exec chmod 755 {} \; || : echo @@ -345,12 +404,18 @@ pkg_postrm() { # Regenerate component.reg in case some things changed if [ -e ${ROOT}/usr/lib/mozilla/regxpcom ] ; then - if [ -e ${ROOT}/usr/lib/mozilla/component.reg ] ; then - rm -f ${ROOT}/usr/lib/mozilla/component.reg + export MOZILLA_FIVE_HOME="${ROOT}/usr/lib/mozilla" + + if [ -e ${MOZILLA_FIVE_HOME}/component.reg ] ; then + rm -f ${MOZILLA_FIVE_HOME}/component.reg fi - - ${ROOT}/usr/lib/mozilla/regxpcom - chmod g+r,o+r ${ROOT}/usr/lib/mozilla/component.reg + + ${MOZILLA_FIVE_HOME}/regxpcom + chmod g+r,o+r ${MOZILLA_FIVE_HOME}/component.reg + + find ${MOZILLA_FIVE_HOME}/chrome/ -name '*.rdf' -exec rm -f {} \; || : + ${MOZILLA_FIVE_HOME}/regchrome + find ${MOZILLA_FIVE_HOME}/ -type d -perm 0700 -exec chmod 755 {} \; || : fi } diff --git a/net-www/mozilla/mozilla-1.0.ebuild b/net-www/mozilla/mozilla-1.0.ebuild deleted file mode 100644 index 4125f62c548e..000000000000 --- a/net-www/mozilla/mozilla-1.0.ebuild +++ /dev/null @@ -1,356 +0,0 @@ -# Copyright 1999-2002 Gentoo Technologies, Inc. -# Distributed under the terms of the GNU General Public License, v2 or later -# Maintainer: Martin Schlemmer <azarah@gentoo.org> -# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/mozilla-1.0.ebuild,v 1.1 2002/06/05 19:42:43 lostlogic Exp $ - -# handle _rc versions -MY_PV1=${PV/_} -MY_PV2=${PV/_/\.} -S=${WORKDIR}/mozilla -DESCRIPTION="The Mozilla Web Browser" -SRC_URI="ftp://ftp.mozilla.org/pub/mozilla/releases/${PN}${MY_PV1}/src/${PN}-source-${MY_PV1}.tar.bz2" -HOMEPAGE="http://www.mozilla.org" -LICENSE="MPL-1.1 | NPL-1.1" - -RDEPEND=">=x11-base/xfree-4.2.0-r11 - >=gnome-base/ORBit-0.5.10-r1 - =dev-libs/glib-2.0* - >=sys-libs/zlib-1.1.4 - >=media-libs/jpeg-6b - >=media-libs/libmng-1.0.0 - >=media-libs/libpng-1.2.1 - dev-libs/expat - app-arch/zip - app-arch/unzip - =x11-libs/gtk+-2.0* - java? ( virtual/jre )" -# gtk? ( x11-libs/gtk+ ) -# mozqt? ( x11-libs/qt )" - -DEPEND="java? ( >=dev-java/java-config-0.2.0 ) - ${RDEPEND} - virtual/x11 - sys-devel/perl" - -SLOT="0" - -# needed by src_compile() and src_install() -export MOZILLA_OFFICIAL=1 -export BUILD_OFFICIAL=1 - -# enable XFT support (via freetype2) -export MOZ_ENABLE_XFT=1 - -# make sure the nss module gets build (for NSS support) -#[ -n "`use ssl`" ] && export MOZ_PSM=1 -export MOZ_PSM=1 - -# do we build java support for the NSS stuff ? -# NOTE: this is broken for the moment -#[ "`use java`" ] && export NS_USE_JDK=1 - - -src_unpack() { - - unpack ${A} - # Fix a compile error with freetype-2.0.9 or later - cd ${S} - patch -p1 < ${FILESDIR}/mozilla-new-freetype2.patch || die - - echo "applying marco gtk2 patch" - patch -p1 <${FILESDIR}/gtk2mozilla.patch - - echo "applying gtk2 XFT bytecode patch" - patch -p1 < ${FILESDIR}/mozilla-ft-bytecode.patch || die "Failed" mozilla-ft-bytecode.patch - -# echo "gtk2_mozilla_xft.patch" -# patch -p1 < ${FILESDIR}/gtk2_mozilla_xft.patch - chown -R root.root * -} - -src_compile() { - - export MAKE="emake" - local myconf="" - - # NOTE: QT and XLIB toolkit seems very unstable, leave disabled until - # tested ok. ALSO, since we can use gtk+-2.0 now for XFT support, - # QT or such wont be needed anymore - Azarah -# if [ -n "`use qt`" ] ; then - # when you enable this again, remember the qt dir is now /usr/qt/2 - danarmak -# myconf="--enable-toolkit-qt --enable-default-toolkit=qt \ -# --disable-toolkit-gtk --disable-toolkit-xlib" -# elif [ -n "`use gtk`" ] ; then - myconf="--enable-default-toolkit=gtk2 --disable-toolkit-qt \ - --disable-toolkit-xlib" -# else -# myconf="--enable-toolkit-xlib --enable-default-toolkit=xlib \ -# --disable-toolkit-qt --disable-toolkit-gtk" -# fi - - - if [ -z "`use ldap`" ] ; then - myconf="${myconf} --disable-ldap" - fi - if [ -z "$DEBUG" ] ; then - myconf="${myconf} --enable-strip-libs --disable-debug \ - -disable-dtd-debug --disable-tests" - fi - - # NB!!: Due to the fact that the non default extensions do not always - # compile properly, using them is considered unsupported, and - # is just here for completeness. Please do not use if you - # do not know what you are doing! - # - # The defaults are (as of 1.0rc1, according to configure (line ~10799)): - # cookie wallet content-packs xml-rpc xmlextras help transformiix venkman inspector irc - # Non-defaults are: - # xmlterm access-builtin ctl p3p interfaceinfo - local myext="default" - if [ -n "`use mozxmlterm`" ] ; then - myext="${myext},xmlterm" - fi - if [ -n "`use mozaccess-builtin`" ] ; then - myext="${myext},access-builtin" - fi - if [ -n "`use mozctl`" ] ; then - myext="${myext},ctl" - fi - if [ -n "`use mozp3p`" ] ; then - myext="${myext},p3p" - fi - if [ -n "`use mozinterfaceinfo`" ] ; then - myext="${myext},interfaceinfo" - fi - - export BUILD_MODULES=all - export BUILD_OPT=1 - - # Use freetype included with xfree86 - export FT2_CONFIG="/usr/X11R6/bin/freetype-config" - - # Crashes on start when compiled with -fomit-frame-pointer - CFLAGS="${CFLAGS/-fomit-frame-pointer}" - CXXFLAGS="${CXXFLAGS/-fomit-frame-pointer}" - - ./configure --prefix=/usr/lib/mozilla \ - --disable-tests \ - --disable-pedantic \ - --disable-svg \ - --enable-xsl \ - --enable-crypto \ - --enable-detect-webshell-leaks \ - --enable-xinerama \ - --with-java-supplement \ - --with-pthreads \ - --enable-xft \ - --with-ft-prefix=/usr/X11R6 \ - --with-ft-exec-prefix=/usr/X11R6/bin \ - --with-extensions="${myext}" \ - --enable-optimize=-O3 \ - --with-default-mozilla-five-home=/usr/lib/mozilla \ - ${myconf} || die - - make || die - -# SSL is needed for far too much galeon2 status is "on the way" enabling this for now":/ - # Build the NSS/SSL support -# if [ "`use ssl`" ] ; then - cd ${S}/security/coreconf - - # Fix #include problem - cp headers.mk headers.mk.orig - echo 'INCLUDES += -I$(DIST)/include/nspr -I$(DIST)/include/dbm'\ - >>headers.mk - - make || die - - cd ${S}/security/nss - - make moz_import || die - make || die - cd ${S} -# fi -} - -src_install() { - - # Copy the include and idl files - dodir /usr/lib/mozilla/include/idl /usr/include - cd ${S}/dist - cp -LfR include/* ${D}/usr/lib/mozilla/include - cp -LfR idl/* ${D}/usr/lib/mozilla/include/idl - dosym /usr/lib/mozilla/include /usr/include/mozilla - - # Build the Release Tarball - cd ${S}/xpinstall/packager - make || die - dodir /usr/lib - - TODO="" - case ${ARCH} in - ppc) - TODO="${S}/dist/mozilla-powerpc-unknown-linux-gnu.tar.gz" - ;; - x86) - TODO="${S}/dist/mozilla-`uname -m`-pc-linux-gnu.tar.gz" - ;; - sparc) - ;; - sparc64) - ;; - arm) - ;; - *) - TODO="${S}/dist/mozilla-`uname -m`-pc-linux-gnu.tar.gz" - ;; - esac - - tar xzf ${TODO} -C ${D}/usr/lib - - # Install the development tools in /usr - dodir /usr/bin - mv ${D}/usr/lib/mozilla/{xpcshell,xpidl,xpt_dump,xpt_link} ${D}/usr/bin - - # Install the NSS/SSL libs, headers and tools - # once again we enable SSL per default -# if [ "`use ssl`" ] ; then - # Install the headers ('make install' do not work for headers ...) - insinto /usr/lib/mozilla/include/nss - doins ${S}/dist/public/seccmd/*.h - doins ${S}/dist/public/security/*.h - - cd ${S}/security/nss - - mkdir -p ${WORKDIR}/nss/{bin,lib} - export SOURCE_BIN_DIR=${WORKDIR}/nss/bin - export SOURCE_LIB_DIR=${WORKDIR}/nss/lib - - make install || die - # Gets installed as symbolic links ... - cp -Lf ${WORKDIR}/nss/bin/* ${D}/usr/bin - cp -Lf ${WORKDIR}/nss/lib/* ${D}/usr/lib/mozilla - - # Need to unset these incase we want to rebuild, else the build - # gets newked. - unset SOURCE_LIB_DIR - unset SOURCE_BIN_DIR -# fi - - cd ${S} - exeinto /usr/bin - doexe ${FILESDIR}/mozilla - insinto /etc/env.d - doins ${FILESDIR}/10mozilla - dodoc LEGAL LICENSE README/mozilla/README* - - # Fix icons to look the same everywhere - insinto /usr/lib/mozilla/icons - doins ${S}/build/package/rpm/SOURCES/mozicon16.xpm - doins ${S}/build/package/rpm/SOURCES/mozicon50.xpm - - # Install icon and .desktop for menu entry - # Mozilla + gtk2 Really should do this you know :p - if [ "`use gnome`" ] ; then - insinto /usr/share/pixmaps - doins ${S}/build/package/rpm/SOURCES/mozilla-icon.png - - # Fix comment of menu entry - cd ${S}/build/package/rpm/SOURCES - cp mozilla.desktop mozilla.desktop.orig - sed -e 's:Comment=Mozilla:Comment=Mozilla Web Browser:' \ - mozilla.desktop.orig >mozilla.desktop - cd ${S} - insinto /usr/share/gnome/apps/Internet - doins ${S}/build/package/rpm/SOURCES/mozilla.desktop - fi - - # Fix the preferences for XFT - cd ${D}/usr/lib/mozilla/defaults/pref - patch -p0 <${FILESDIR}/mozilla-xft-unix-prefs.patch || \ - die "failed unix prefs patch" - - # Take care of non root execution - # (seems the problem is that not all files are readible by the user) - chmod -R g+r,o+r ${D}/usr/lib/mozilla -} - -pkg_preinst() { - # Stale components and chrome files break when unmerging old - if [ -d ${ROOT}/usr/lib/mozilla/components ] - then - rm -rf ${ROOT}/usr/lib/mozilla/components - fi - if [ -d ${ROOT}/usr/lib/mozilla/components ] - then - rm -rf ${ROOT}/usr/lib/mozilla/chrome - fi -} - -pkg_postinst() { - - # Make symlink for Java plugin (do not do in src_install(), else it only - # gets installed every second time) - if [ "`use java`" ] && [ ! -L /usr/lib/mozilla/plugins/`java-config --browser-plugin=mozilla` ] - then - if [ -e `java-config --full-browser-plugin-path=mozilla` ] - then - ln -sf `java-config --full-browser-plugin-path=mozilla` \ - /usr/lib/mozilla/plugins/`java-config --browser-plugin=mozilla` - fi - fi - - # Take care of component registration - export MOZILLA_FIVE_HOME="${ROOT}/usr/lib/mozilla" - - # Remove any stale component.reg - if [ -e ${ROOT}/usr/lib/mozilla/component.reg ] ; then - rm -f ${ROOT}/usr/lib/mozilla/component.reg - fi - - # Tempory fix for missing libtimer_gtk.so - # If it exists when generating component.reg (before unmerge of old), - # it 'corrupts' the newly generated component.reg with invalid references. - if [ -e ${ROOT}/usr/lib/mozilla/components/libtimer_gtk.so ] ; then - rm -f ${ROOT}/usr/lib/mozilla/components/libtimer_gtk.so - fi - - # Needed to update the run time bindings for REGXPCOM - # (do not remove next line!) - env-update - # Register components, setup Chrome .rdf files and fix file permissions - umask 022 - ${ROOT}/usr/lib/mozilla/regxpcom - chmod g+r,o+r ${ROOT}/usr/lib/mozilla/component.reg - # Setup the default skin and locale to correctly generate the Chrome .rdf files - echo "skin,install,select,classic/1.0" >> \ - ${MOZILLA_FIVE_HOME}/chrome/installed-chrome.txt - echo "locale,install,select,en-US" >> \ - ${MOZILLA_FIVE_HOME}/chrome/installed-chrome.txt - ${ROOT}/usr/lib/mozilla/regchrome - find ${ROOT}/usr/lib/mozilla -type d -perm 0700 -exec chmod 755 {} \; || : - - einfo - einfo "*****************************************************************" - einfo "* NB: Please unmerge old versions of mozilla, as the header *" - einfo "* layout in /usr/lib/mozilla/include usually change, and will *" - einfo "* result in compile errors when compiling programs that need *" - einfo "* mozilla headers and libs (galeon, nautilus, ...) *" - einfo "*****************************************************************" - einfo -} - -pkg_postrm() { - - # Regenerate component.reg in case some things changed - if [ -e ${ROOT}/usr/lib/mozilla/regxpcom ] ; then - - if [ -e ${ROOT}/usr/lib/mozilla/component.reg ] ; then - rm -f ${ROOT}/usr/lib/mozilla/component.reg - fi - - ${ROOT}/usr/lib/mozilla/regxpcom - chmod g+r,o+r ${ROOT}/usr/lib/mozilla/component.reg - fi -} - diff --git a/net-www/mozilla/mozilla-1.0_rc3-r1.ebuild b/net-www/mozilla/mozilla-1.0_rc3-r1.ebuild deleted file mode 100644 index 9a455ac793af..000000000000 --- a/net-www/mozilla/mozilla-1.0_rc3-r1.ebuild +++ /dev/null @@ -1,351 +0,0 @@ -# Copyright 1999-2002 Gentoo Technologies, Inc. -# Distributed under the terms of the GNU General Public License, v2 or later -# Maintainer: Martin Schlemmer <azarah@gentoo.org> -# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/mozilla-1.0_rc3-r1.ebuild,v 1.1 2002/05/25 22:27:01 azarah Exp $ - -# handle _rc versions -MY_PV1=${PV/_} -MY_PV2=${PV/_/\.} -S=${WORKDIR}/mozilla -DESCRIPTION="The Mozilla Web Browser" -SRC_URI="ftp://ftp.mozilla.org/pub/mozilla/releases/${PN}${MY_PV1}/src/${PN}-source-${MY_PV1}.tar.bz2" -HOMEPAGE="http://www.mozilla.org" -LICENSE="MPL-1.1 | NPL-1.1" - -RDEPEND=">=gnome-base/ORBit-0.5.10-r1 - =dev-libs/glib-1.2* - >=sys-libs/zlib-1.1.4 - >=media-libs/jpeg-6b - >=media-libs/libmng-1.0.0 - >=media-libs/libpng-1.2.1 - dev-libs/expat - app-arch/zip - app-arch/unzip - x11-libs/gtk+ - java? ( virtual/jre )" -# gtk? ( x11-libs/gtk+ ) -# mozqt? ( x11-libs/qt )" - -DEPEND="java? ( >=dev-java/java-config-0.2.0 ) - ${RDEPEND} - virtual/x11 - sys-devel/perl" - -SLOT="0" - -# needed by src_compile() and src_install() -export MOZILLA_OFFICIAL=1 -export BUILD_OFFICIAL=1 - -# enable XFT -[ "${DISABLE_XFT}" != "1" ] && export MOZ_ENABLE_XFT=1 - -# make sure the nss module gets build (for NSS support) -[ -n "`use ssl`" ] && export MOZ_PSM=1 - -# do we build java support for the NSS stuff ? -# NOTE: this is broken for the moment -#[ "`use java`" ] && export NS_USE_JDK=1 - - -src_unpack() { - - unpack ${A} - - # NOTE: XFT support will still work without this patch -# This needs an updated XFree86 -# if [ -n "${MOZ_ENABLE_XFT}" ] ; then -# cd ${S} -# patch -p0 <${FILESDIR}/${P}-xft.patch || die -# fi -} - -src_compile() { - - chown -R root.root * - #This should enable parallel builds, I hope - export MAKE="emake" - local myconf="" - # NOTE: QT and XLIB toolkit seems very unstable, leave disabled until - # tested ok -- azarah -# if [ -n "`use qt`" ] ; then - # when you enable this again, remember the qt dir is now /usr/qt/2 - danarmak -# myconf="--enable-toolkit-qt --enable-default-toolkit=qt \ -# --disable-toolkit-gtk --disable-toolkit-xlib" -# elif [ -n "`use gtk`" ] ; then - myconf="--enable-toolkit-gtk --enable-default-toolkit=gtk \ - --disable-toolkit-qt --disable-toolkit-xlib" -# else -# myconf="--enable-toolkit-xlib --enable-default-toolkit=xlib \ -# --disable-toolkit-qt --disable-toolkit-gtk" -# fi - - if [ -z "`use ldap`" ] ; then - myconf="${myconf} --disable-ldap" - fi - - if [ -z "$DEBUG" ] ; then - myconf="${myconf} --enable-strip-libs --disable-debug \ - --disable-dtd-debug --disable-tests" - fi - - if [ -n "${MOZ_ENABLE_XFT}" ] ; then - # for this we have to use freetype-2.0.8 included with XFree86 - myconf="${myconf} --enable-xft --with-ft-prefix=/usr/X11R6 \ - --with-ft-exec-prefix=/usr/X11R6/bin" - - export FT2_CONFIG="/usr/X11R6/bin/freetype-config" - fi - - - # NB!!: Due to the fact that the non default extensions do not always - # compile properly, using them is considered unsupported, and - # is just here for completeness. Please do not use if you - # do not know what you are doing! - # - # The defaults are (as of 1.0rc1, according to configure (line ~10799)): - # cookie wallet content-packs xml-rpc xmlextras help transformiix venkman inspector irc - # Non-defaults are: - # xmlterm access-builtin ctl p3p interfaceinfo - local myext="default" - if [ -n "`use mozxmlterm`" ] ; then - myext="${myext},xmlterm" - fi - if [ -n "`use mozaccess-builtin`" ] ; then - myext="${myext},access-builtin" - fi - if [ -n "`use mozctl`" ] ; then - myext="${myext},ctl" - fi - if [ -n "`use mozp3p`" ] ; then - myext="${myext},p3p" - fi - if [ -n "`use mozinterfaceinfo`" ] ; then - myext="${myext},interfaceinfo" - fi - - - export BUILD_MODULES=all - export BUILD_OPT=1 - - # Crashes on start when compiled with -fomit-frame-pointer - CFLAGS="${CFLAGS/-fomit-frame-pointer}" - CXXFLAGS="${CXXFLAGS/-fomit-frame-pointer}" - - ./configure --prefix=/usr/lib/mozilla \ - --disable-tests \ - --disable-pedantic \ - --disable-svg \ - --enable-xsl \ - --enable-crypto \ - --enable-detect-webshell-leaks \ - --enable-xinerama \ - --with-java-supplement \ - --with-pthreads \ - --with-extensions="${myext}" \ - --enable-optimize=-O3 \ - --with-default-mozilla-five-home=/usr/lib/mozilla \ - ${myconf} || die - - make || die - - # Build the NSS/SSL support - if [ "`use ssl`" ] ; then - cd ${S}/security/coreconf - - # Fix #include problem - cp headers.mk headers.mk.orig - echo 'INCLUDES += -I$(DIST)/include/nspr -I$(DIST)/include/dbm'\ - >>headers.mk - - make || die - - cd ${S}/security/nss - - make moz_import || die - make || die - cd ${S} - fi -} - -src_install() { - - # Copy the include and idl files - dodir /usr/lib/mozilla/include/idl /usr/include - cd ${S}/dist - cp -LfR include/* ${D}/usr/lib/mozilla/include - cp -LfR idl/* ${D}/usr/lib/mozilla/include/idl - dosym /usr/lib/mozilla/include /usr/include/mozilla - - # Build the Release Tarball - cd ${S}/xpinstall/packager - make || die - dodir /usr/lib - - TODO="" - case ${ARCH} in - ppc) - TODO="${S}/dist/mozilla-powerpc-unknown-linux-gnu.tar.gz" - ;; - x86) - TODO="${S}/dist/mozilla-`uname -m`-pc-linux-gnu.tar.gz" - ;; - sparc) - ;; - sparc64) - ;; - arm) - ;; - *) - TODO="${S}/dist/mozilla-`uname -m`-pc-linux-gnu.tar.gz" - ;; - esac - - tar xzf ${TODO} -C ${D}/usr/lib - - # Install the development tools in /usr - dodir /usr/bin - mv ${D}/usr/lib/mozilla/{xpcshell,xpidl,xpt_dump,xpt_link} ${D}/usr/bin - - # Install the NSS/SSL libs, headers and tools - if [ "`use ssl`" ] ; then - # Install the headers ('make install' do not work for headers ...) - insinto /usr/lib/mozilla/include/nss - doins ${S}/dist/public/seccmd/*.h - doins ${S}/dist/public/security/*.h - - cd ${S}/security/nss - - mkdir -p ${WORKDIR}/nss/{bin,lib} - export SOURCE_BIN_DIR=${WORKDIR}/nss/bin - export SOURCE_LIB_DIR=${WORKDIR}/nss/lib - - make install || die - # Gets installed as symbolic links ... - cp -Lf ${WORKDIR}/nss/bin/* ${D}/usr/bin - cp -Lf ${WORKDIR}/nss/lib/* ${D}/usr/lib/mozilla - - # Need to unset these incase we want to rebuild, else the build - # gets newked. - unset SOURCE_LIB_DIR - unset SOURCE_BIN_DIR - fi - - cd ${S} - exeinto /usr/bin - doexe ${FILESDIR}/mozilla - insinto /etc/env.d - doins ${FILESDIR}/10mozilla - dodoc LEGAL LICENSE README/mozilla/README* - - # Fix icons to look the same everywhere - insinto /usr/lib/mozilla/icons - doins ${S}/build/package/rpm/SOURCES/mozicon16.xpm - doins ${S}/build/package/rpm/SOURCES/mozicon50.xpm - - # Install icon and .desktop for menu entry - if [ "`use gnome`" ] ; then - insinto /usr/share/pixmaps - doins ${S}/build/package/rpm/SOURCES/mozilla-icon.png - - # Fix comment of menu entry - cd ${S}/build/package/rpm/SOURCES - cp mozilla.desktop mozilla.desktop.orig - sed -e 's:Comment=Mozilla:Comment=Mozilla Web Browser:' \ - mozilla.desktop.orig >mozilla.desktop - cd ${S} - insinto /usr/share/gnome/apps/Internet - doins ${S}/build/package/rpm/SOURCES/mozilla.desktop - fi - - if [ -n "${MOZ_ENABLE_XFT}" ] ; then - cd ${D}/usr/lib/mozilla/defaults/pref - patch -p0 <${FILESDIR}/mozilla-xft-unix-prefs.patch || \ - die "failed unix prefs patch" - fi - - # Take care of non root execution - # (seems the problem is that not all files are readible by the user) - chmod -R g+r,o+r ${D}/usr/lib/mozilla -} - -pkg_preinst() { - # Stale components and chrome files break when unmerging old - if [ -d ${ROOT}/usr/lib/mozilla/components ] - then - rm -rf ${ROOT}/usr/lib/mozilla/components - fi - if [ -d ${ROOT}/usr/lib/mozilla/components ] - then - rm -rf ${ROOT}/usr/lib/mozilla/chrome - fi -} - -pkg_postinst() { - - # Make symlink for Java plugin (do not do in src_install(), else it only - # gets installed every second time) - if [ "`use java`" ] && [ ! -L /usr/lib/mozilla/plugins/`java-config --browser-plugin=mozilla` ] - then - if [ -e `java-config --full-browser-plugin-path=mozilla` ] - then - ln -sf `java-config --full-browser-plugin-path=mozilla` \ - /usr/lib/mozilla/plugins/`java-config --browser-plugin=mozilla` - fi - fi - - # Take care of component registration - export MOZILLA_FIVE_HOME="${ROOT}/usr/lib/mozilla" - - # Remove any stale component.reg - if [ -e ${ROOT}/usr/lib/mozilla/component.reg ] ; then - rm -f ${ROOT}/usr/lib/mozilla/component.reg - fi - - # Tempory fix for missing libtimer_gtk.so - # If it exists when generating component.reg (before unmerge of old), - # it 'corrupts' the newly generated component.reg with invalid references. - if [ -e ${ROOT}/usr/lib/mozilla/components/libtimer_gtk.so ] ; then - rm -f ${ROOT}/usr/lib/mozilla/components/libtimer_gtk.so - fi - - # Needed to update the run time bindings for REGXPCOM - # (do not remove next line!) - env-update - # Register components, setup Chrome .rdf files and fix file permissions - umask 022 - ${ROOT}/usr/lib/mozilla/regxpcom - chmod g+r,o+r ${ROOT}/usr/lib/mozilla/component.reg - # Setup the default skin and locale to correctly generate the Chrome .rdf files - echo "skin,install,select,classic/1.0" >> \ - ${MOZILLA_FIVE_HOME}/chrome/installed-chrome.txt - echo "locale,install,select,en-US" >> \ - ${MOZILLA_FIVE_HOME}/chrome/installed-chrome.txt - ${ROOT}/usr/lib/mozilla/regchrome - find ${ROOT}/usr/lib/mozilla -type d -perm 0700 -exec chmod 755 {} \; || : - - - echo - echo "*****************************************************************" - echo "* NB: Please unmerge old versions of mozilla, as the header *" - echo "* layout in /usr/lib/mozilla/include have changed and will *" - echo "* result in compile errors when compiling programs that need *" - echo "* mozilla headers and libs (galeon, nautilus, ...) *" - echo "*****************************************************************" - echo -} - -pkg_postrm() { - - # Regenerate component.reg in case some things changed - if [ -e ${ROOT}/usr/lib/mozilla/regxpcom ] ; then - - if [ -e ${ROOT}/usr/lib/mozilla/component.reg ] ; then - rm -f ${ROOT}/usr/lib/mozilla/component.reg - fi - - ${ROOT}/usr/lib/mozilla/regxpcom - chmod g+r,o+r ${ROOT}/usr/lib/mozilla/component.reg - fi -} - diff --git a/net-www/mozilla/mozilla-1.0_rc3-r51.ebuild b/net-www/mozilla/mozilla-1.0_rc3-r51.ebuild deleted file mode 100644 index af02c8fed4cf..000000000000 --- a/net-www/mozilla/mozilla-1.0_rc3-r51.ebuild +++ /dev/null @@ -1,356 +0,0 @@ -# Copyright 1999-2002 Gentoo Technologies, Inc. -# Distributed under the terms of the GNU General Public License, v2 or later -# Maintainer: Martin Schlemmer <azarah@gentoo.org> -# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/mozilla-1.0_rc3-r51.ebuild,v 1.1 2002/06/01 19:38:39 azarah Exp $ - -# handle _rc versions -MY_PV1=${PV/_} -MY_PV2=${PV/_/\.} -S=${WORKDIR}/mozilla -DESCRIPTION="The Mozilla Web Browser" -SRC_URI="ftp://ftp.mozilla.org/pub/mozilla/releases/${PN}${MY_PV1}/src/${PN}-source-${MY_PV1}.tar.bz2" -HOMEPAGE="http://www.mozilla.org" -LICENSE="MPL-1.1 | NPL-1.1" - -RDEPEND=">=x11-base/xfree-4.2.0-r11 - >=gnome-base/ORBit-0.5.10-r1 - =dev-libs/glib-2.0* - >=sys-libs/zlib-1.1.4 - >=media-libs/jpeg-6b - >=media-libs/libmng-1.0.0 - >=media-libs/libpng-1.2.1 - dev-libs/expat - app-arch/zip - app-arch/unzip - =x11-libs/gtk+-2.0* - java? ( virtual/jre )" -# gtk? ( x11-libs/gtk+ ) -# mozqt? ( x11-libs/qt )" - -DEPEND="java? ( >=dev-java/java-config-0.2.0 ) - ${RDEPEND} - virtual/x11 - sys-devel/perl" - -SLOT="0" - -# needed by src_compile() and src_install() -export MOZILLA_OFFICIAL=1 -export BUILD_OFFICIAL=1 - -# enable XFT support (via freetype2) -export MOZ_ENABLE_XFT=1 - -# make sure the nss module gets build (for NSS support) -#[ -n "`use ssl`" ] && export MOZ_PSM=1 -export MOZ_PSM=1 - -# do we build java support for the NSS stuff ? -# NOTE: this is broken for the moment -#[ "`use java`" ] && export NS_USE_JDK=1 - - -src_unpack() { - - unpack ${A} - # Fix a compile error with freetype-2.0.9 or later - cd ${S} - patch -p1 < ${FILESDIR}/mozilla-new-freetype2.patch || die - - echo "applying marco gtk2 patch" - patch -p1 <${FILESDIR}/gtk2mozilla.patch - - echo "applying gtk2 XFT bytecode patch" - patch -p1 < ${FILESDIR}/mozilla-ft-bytecode.patch || die "Failed" mozilla-ft-bytecode.patch - -# echo "gtk2_mozilla_xft.patch" -# patch -p1 < ${FILESDIR}/gtk2_mozilla_xft.patch - chown -R root.root * -} - -src_compile() { - - export MAKE="emake" - local myconf="" - - # NOTE: QT and XLIB toolkit seems very unstable, leave disabled until - # tested ok. ALSO, since we can use gtk+-2.0 now for XFT support, - # QT or such wont be needed anymore - Azarah -# if [ -n "`use qt`" ] ; then - # when you enable this again, remember the qt dir is now /usr/qt/2 - danarmak -# myconf="--enable-toolkit-qt --enable-default-toolkit=qt \ -# --disable-toolkit-gtk --disable-toolkit-xlib" -# elif [ -n "`use gtk`" ] ; then - myconf="--enable-default-toolkit=gtk2 --disable-toolkit-qt \ - --disable-toolkit-xlib" -# else -# myconf="--enable-toolkit-xlib --enable-default-toolkit=xlib \ -# --disable-toolkit-qt --disable-toolkit-gtk" -# fi - - - if [ -z "`use ldap`" ] ; then - myconf="${myconf} --disable-ldap" - fi - if [ -z "$DEBUG" ] ; then - myconf="${myconf} --enable-strip-libs --disable-debug \ - -disable-dtd-debug --disable-tests" - fi - - # NB!!: Due to the fact that the non default extensions do not always - # compile properly, using them is considered unsupported, and - # is just here for completeness. Please do not use if you - # do not know what you are doing! - # - # The defaults are (as of 1.0rc1, according to configure (line ~10799)): - # cookie wallet content-packs xml-rpc xmlextras help transformiix venkman inspector irc - # Non-defaults are: - # xmlterm access-builtin ctl p3p interfaceinfo - local myext="default" - if [ -n "`use mozxmlterm`" ] ; then - myext="${myext},xmlterm" - fi - if [ -n "`use mozaccess-builtin`" ] ; then - myext="${myext},access-builtin" - fi - if [ -n "`use mozctl`" ] ; then - myext="${myext},ctl" - fi - if [ -n "`use mozp3p`" ] ; then - myext="${myext},p3p" - fi - if [ -n "`use mozinterfaceinfo`" ] ; then - myext="${myext},interfaceinfo" - fi - - export BUILD_MODULES=all - export BUILD_OPT=1 - - # Use freetype included with xfree86 - export FT2_CONFIG="/usr/X11R6/bin/freetype-config" - - # Crashes on start when compiled with -fomit-frame-pointer - CFLAGS="${CFLAGS/-fomit-frame-pointer}" - CXXFLAGS="${CXXFLAGS/-fomit-frame-pointer}" - - ./configure --prefix=/usr/lib/mozilla \ - --disable-tests \ - --disable-pedantic \ - --disable-svg \ - --enable-xsl \ - --enable-crypto \ - --enable-detect-webshell-leaks \ - --enable-xinerama \ - --with-java-supplement \ - --with-pthreads \ - --enable-xft \ - --with-ft-prefix=/usr/X11R6 \ - --with-ft-exec-prefix=/usr/X11R6/bin \ - --with-extensions="${myext}" \ - --enable-optimize=-O3 \ - --with-default-mozilla-five-home=/usr/lib/mozilla \ - ${myconf} || die - - make || die - -# SSL is needed for far too much galeon2 status is "on the way" enabling this for now":/ - # Build the NSS/SSL support -# if [ "`use ssl`" ] ; then - cd ${S}/security/coreconf - - # Fix #include problem - cp headers.mk headers.mk.orig - echo 'INCLUDES += -I$(DIST)/include/nspr -I$(DIST)/include/dbm'\ - >>headers.mk - - make || die - - cd ${S}/security/nss - - make moz_import || die - make || die - cd ${S} -# fi -} - -src_install() { - - # Copy the include and idl files - dodir /usr/lib/mozilla/include/idl /usr/include - cd ${S}/dist - cp -LfR include/* ${D}/usr/lib/mozilla/include - cp -LfR idl/* ${D}/usr/lib/mozilla/include/idl - dosym /usr/lib/mozilla/include /usr/include/mozilla - - # Build the Release Tarball - cd ${S}/xpinstall/packager - make || die - dodir /usr/lib - - TODO="" - case ${ARCH} in - ppc) - TODO="${S}/dist/mozilla-powerpc-unknown-linux-gnu.tar.gz" - ;; - x86) - TODO="${S}/dist/mozilla-`uname -m`-pc-linux-gnu.tar.gz" - ;; - sparc) - ;; - sparc64) - ;; - arm) - ;; - *) - TODO="${S}/dist/mozilla-`uname -m`-pc-linux-gnu.tar.gz" - ;; - esac - - tar xzf ${TODO} -C ${D}/usr/lib - - # Install the development tools in /usr - dodir /usr/bin - mv ${D}/usr/lib/mozilla/{xpcshell,xpidl,xpt_dump,xpt_link} ${D}/usr/bin - - # Install the NSS/SSL libs, headers and tools - # once again we enable SSL per default -# if [ "`use ssl`" ] ; then - # Install the headers ('make install' do not work for headers ...) - insinto /usr/lib/mozilla/include/nss - doins ${S}/dist/public/seccmd/*.h - doins ${S}/dist/public/security/*.h - - cd ${S}/security/nss - - mkdir -p ${WORKDIR}/nss/{bin,lib} - export SOURCE_BIN_DIR=${WORKDIR}/nss/bin - export SOURCE_LIB_DIR=${WORKDIR}/nss/lib - - make install || die - # Gets installed as symbolic links ... - cp -Lf ${WORKDIR}/nss/bin/* ${D}/usr/bin - cp -Lf ${WORKDIR}/nss/lib/* ${D}/usr/lib/mozilla - - # Need to unset these incase we want to rebuild, else the build - # gets newked. - unset SOURCE_LIB_DIR - unset SOURCE_BIN_DIR -# fi - - cd ${S} - exeinto /usr/bin - doexe ${FILESDIR}/mozilla - insinto /etc/env.d - doins ${FILESDIR}/10mozilla - dodoc LEGAL LICENSE README/mozilla/README* - - # Fix icons to look the same everywhere - insinto /usr/lib/mozilla/icons - doins ${S}/build/package/rpm/SOURCES/mozicon16.xpm - doins ${S}/build/package/rpm/SOURCES/mozicon50.xpm - - # Install icon and .desktop for menu entry - # Mozilla + gtk2 Really should do this you know :p - if [ "`use gnome`" ] ; then - insinto /usr/share/pixmaps - doins ${S}/build/package/rpm/SOURCES/mozilla-icon.png - - # Fix comment of menu entry - cd ${S}/build/package/rpm/SOURCES - cp mozilla.desktop mozilla.desktop.orig - sed -e 's:Comment=Mozilla:Comment=Mozilla Web Browser:' \ - mozilla.desktop.orig >mozilla.desktop - cd ${S} - insinto /usr/share/gnome/apps/Internet - doins ${S}/build/package/rpm/SOURCES/mozilla.desktop - fi - - # Fix the preferences for XFT - cd ${D}/usr/lib/mozilla/defaults/pref - patch -p0 <${FILESDIR}/mozilla-xft-unix-prefs.patch || \ - die "failed unix prefs patch" - - # Take care of non root execution - # (seems the problem is that not all files are readible by the user) - chmod -R g+r,o+r ${D}/usr/lib/mozilla -} - -pkg_preinst() { - # Stale components and chrome files break when unmerging old - if [ -d ${ROOT}/usr/lib/mozilla/components ] - then - rm -rf ${ROOT}/usr/lib/mozilla/components - fi - if [ -d ${ROOT}/usr/lib/mozilla/components ] - then - rm -rf ${ROOT}/usr/lib/mozilla/chrome - fi -} - -pkg_postinst() { - - # Make symlink for Java plugin (do not do in src_install(), else it only - # gets installed every second time) - if [ "`use java`" ] && [ ! -L /usr/lib/mozilla/plugins/`java-config --browser-plugin=mozilla` ] - then - if [ -e `java-config --full-browser-plugin-path=mozilla` ] - then - ln -sf `java-config --full-browser-plugin-path=mozilla` \ - /usr/lib/mozilla/plugins/`java-config --browser-plugin=mozilla` - fi - fi - - # Take care of component registration - export MOZILLA_FIVE_HOME="${ROOT}/usr/lib/mozilla" - - # Remove any stale component.reg - if [ -e ${ROOT}/usr/lib/mozilla/component.reg ] ; then - rm -f ${ROOT}/usr/lib/mozilla/component.reg - fi - - # Tempory fix for missing libtimer_gtk.so - # If it exists when generating component.reg (before unmerge of old), - # it 'corrupts' the newly generated component.reg with invalid references. - if [ -e ${ROOT}/usr/lib/mozilla/components/libtimer_gtk.so ] ; then - rm -f ${ROOT}/usr/lib/mozilla/components/libtimer_gtk.so - fi - - # Needed to update the run time bindings for REGXPCOM - # (do not remove next line!) - env-update - # Register components, setup Chrome .rdf files and fix file permissions - umask 022 - ${ROOT}/usr/lib/mozilla/regxpcom - chmod g+r,o+r ${ROOT}/usr/lib/mozilla/component.reg - # Setup the default skin and locale to correctly generate the Chrome .rdf files - echo "skin,install,select,classic/1.0" >> \ - ${MOZILLA_FIVE_HOME}/chrome/installed-chrome.txt - echo "locale,install,select,en-US" >> \ - ${MOZILLA_FIVE_HOME}/chrome/installed-chrome.txt - ${ROOT}/usr/lib/mozilla/regchrome - find ${ROOT}/usr/lib/mozilla -type d -perm 0700 -exec chmod 755 {} \; || : - - einfo - einfo "*****************************************************************" - einfo "* NB: Please unmerge old versions of mozilla, as the header *" - einfo "* layout in /usr/lib/mozilla/include usually change, and will *" - einfo "* result in compile errors when compiling programs that need *" - einfo "* mozilla headers and libs (galeon, nautilus, ...) *" - einfo "*****************************************************************" - einfo -} - -pkg_postrm() { - - # Regenerate component.reg in case some things changed - if [ -e ${ROOT}/usr/lib/mozilla/regxpcom ] ; then - - if [ -e ${ROOT}/usr/lib/mozilla/component.reg ] ; then - rm -f ${ROOT}/usr/lib/mozilla/component.reg - fi - - ${ROOT}/usr/lib/mozilla/regxpcom - chmod g+r,o+r ${ROOT}/usr/lib/mozilla/component.reg - fi -} - |