diff options
author | bland <bland@FreeBSD.org> | 2004-10-13 19:12:05 +0800 |
---|---|---|
committer | bland <bland@FreeBSD.org> | 2004-10-13 19:12:05 +0800 |
commit | 3c6f056186455a101a02e900ad3ce6fa30cf1f80 (patch) | |
tree | 71ed5b4977a2b2cd0920bef50e310d125b2b6eb2 | |
parent | 051d847c7498c1fe90fbbd8a8a476b4a7c977193 (diff) | |
download | freebsd-ports-gnome-3c6f056186455a101a02e900ad3ce6fa30cf1f80.tar.gz freebsd-ports-gnome-3c6f056186455a101a02e900ad3ce6fa30cf1f80.tar.zst freebsd-ports-gnome-3c6f056186455a101a02e900ad3ce6fa30cf1f80.zip |
Redone gcc 3.4 build fix. Previous aproach just made gcc quiet
and resulted in lost symbols for Gtk::wrap methods.
Reported by: pointyhat via kris
-rw-r--r-- | x11-toolkits/gtk--/Makefile | 2 | ||||
-rw-r--r-- | x11-toolkits/gtk--/files/patch-src::gtk--::base.h | 55 | ||||
-rw-r--r-- | x11-toolkits/gtk--/files/patch-src::gtkmmproc::stage1.m4 | 11 | ||||
-rw-r--r-- | x11-toolkits/gtkmm12/Makefile | 2 | ||||
-rw-r--r-- | x11-toolkits/gtkmm12/files/patch-src::gtk--::base.h | 55 | ||||
-rw-r--r-- | x11-toolkits/gtkmm12/files/patch-src::gtkmmproc::stage1.m4 | 11 |
6 files changed, 94 insertions, 42 deletions
diff --git a/x11-toolkits/gtk--/Makefile b/x11-toolkits/gtk--/Makefile index b86faaba5b9f..b279afe27357 100644 --- a/x11-toolkits/gtk--/Makefile +++ b/x11-toolkits/gtk--/Makefile @@ -7,7 +7,7 @@ PORTNAME= gtkmm PORTVERSION= 1.2.8 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= x11-toolkits MASTER_SITES= ${MASTER_SITE_GNOME} MASTER_SITE_SUBDIR= sources/gtkmm/1.2 diff --git a/x11-toolkits/gtk--/files/patch-src::gtk--::base.h b/x11-toolkits/gtk--/files/patch-src::gtk--::base.h index 287102e51103..5da3b98d9bc1 100644 --- a/x11-toolkits/gtk--/files/patch-src::gtk--::base.h +++ b/x11-toolkits/gtk--/files/patch-src::gtk--::base.h @@ -1,25 +1,40 @@ --- src/gtk--/base.h.orig Tue Nov 14 21:23:11 2000 -+++ src/gtk--/base.h Sun Sep 5 06:11:48 2004 -@@ -454,6 +454,13 @@ - pointer operator -> () const { return &operator*(); } - }; ++++ src/gtk--/base.h Wed Oct 13 05:01:59 2004 +@@ -99,12 +99,10 @@ -+namespace Gtk { -+ -+template <class impl, class interf> -+interf* wrap(impl*); -+ -+} -+ - // this iterator variation returns interf (wrapped from impl) - // Equivelency G_List_Cpp_Iterator<GtkWidget,Gtk_Widget> - // => list<Gtk_Widget*>::iterator -@@ -482,7 +489,7 @@ - value_type operator*() const + /* Translating API */ + +-/* + // used to give error on unwrapped types; connect Gtk-- crew +-template <class C> struct NotWrapped; ++template <class C> struct NotWrapped {typedef void Type;}; + // hook for C => C++ translation + template <class C> struct Wrap {typedef typename NotWrapped<C>::Type CppType;}; +-*/ + + class Object; + class ObjectClass; +@@ -118,19 +116,19 @@ + + // Request a specific wrapper for an object. + template <class Cpp> +-Cpp* wrap_new(typename Cpp::BaseObjectType* o) ++inline Cpp* wrap_new(typename Cpp::BaseObjectType* o) { - if (node && node->data) -- return Gtk::wrap(static_cast<impl*>((*node).data)); -+ return Gtk::wrap<impl, interf>(static_cast<impl*>((*node).data)); - return 0; + return (typename Cpp::CppClassType::wrap_new(o)); } + // interface to gtk-- +-/* ++ + template <class C> +-typename Wrap<C>::CppType* wrap(C* o) ++inline typename Wrap<C>::CppType* wrap(C* o) + { + return dynamic_cast<typename Wrap<C>::CppType*>(wrap_auto((GtkObject*)(o))); + } +-*/ ++ + + /********************************************************************/ + diff --git a/x11-toolkits/gtk--/files/patch-src::gtkmmproc::stage1.m4 b/x11-toolkits/gtk--/files/patch-src::gtkmmproc::stage1.m4 new file mode 100644 index 000000000000..0000d4380d5f --- /dev/null +++ b/x11-toolkits/gtk--/files/patch-src::gtkmmproc::stage1.m4 @@ -0,0 +1,11 @@ +--- src/gtkmmproc/stage1.m4.orig Thu Feb 15 04:42:47 2001 ++++ src/gtkmmproc/stage1.m4 Wed Oct 13 02:35:02 2004 +@@ -198,7 +198,7 @@ + class __CPPNAME__; + class __CPPNAME__`'_Class; + } +-namespace Gtk { __NAMESPACE__::__CPPNAME__ *wrap (__CNAME__ *o); } ++namespace Gtk { template<> struct Wrap<__CNAME__> { typedef __CPPNAME__ CppType; }; } + dnl + dnl + GTKMM_SECTION(PRIVATE) diff --git a/x11-toolkits/gtkmm12/Makefile b/x11-toolkits/gtkmm12/Makefile index b86faaba5b9f..b279afe27357 100644 --- a/x11-toolkits/gtkmm12/Makefile +++ b/x11-toolkits/gtkmm12/Makefile @@ -7,7 +7,7 @@ PORTNAME= gtkmm PORTVERSION= 1.2.8 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= x11-toolkits MASTER_SITES= ${MASTER_SITE_GNOME} MASTER_SITE_SUBDIR= sources/gtkmm/1.2 diff --git a/x11-toolkits/gtkmm12/files/patch-src::gtk--::base.h b/x11-toolkits/gtkmm12/files/patch-src::gtk--::base.h index 287102e51103..5da3b98d9bc1 100644 --- a/x11-toolkits/gtkmm12/files/patch-src::gtk--::base.h +++ b/x11-toolkits/gtkmm12/files/patch-src::gtk--::base.h @@ -1,25 +1,40 @@ --- src/gtk--/base.h.orig Tue Nov 14 21:23:11 2000 -+++ src/gtk--/base.h Sun Sep 5 06:11:48 2004 -@@ -454,6 +454,13 @@ - pointer operator -> () const { return &operator*(); } - }; ++++ src/gtk--/base.h Wed Oct 13 05:01:59 2004 +@@ -99,12 +99,10 @@ -+namespace Gtk { -+ -+template <class impl, class interf> -+interf* wrap(impl*); -+ -+} -+ - // this iterator variation returns interf (wrapped from impl) - // Equivelency G_List_Cpp_Iterator<GtkWidget,Gtk_Widget> - // => list<Gtk_Widget*>::iterator -@@ -482,7 +489,7 @@ - value_type operator*() const + /* Translating API */ + +-/* + // used to give error on unwrapped types; connect Gtk-- crew +-template <class C> struct NotWrapped; ++template <class C> struct NotWrapped {typedef void Type;}; + // hook for C => C++ translation + template <class C> struct Wrap {typedef typename NotWrapped<C>::Type CppType;}; +-*/ + + class Object; + class ObjectClass; +@@ -118,19 +116,19 @@ + + // Request a specific wrapper for an object. + template <class Cpp> +-Cpp* wrap_new(typename Cpp::BaseObjectType* o) ++inline Cpp* wrap_new(typename Cpp::BaseObjectType* o) { - if (node && node->data) -- return Gtk::wrap(static_cast<impl*>((*node).data)); -+ return Gtk::wrap<impl, interf>(static_cast<impl*>((*node).data)); - return 0; + return (typename Cpp::CppClassType::wrap_new(o)); } + // interface to gtk-- +-/* ++ + template <class C> +-typename Wrap<C>::CppType* wrap(C* o) ++inline typename Wrap<C>::CppType* wrap(C* o) + { + return dynamic_cast<typename Wrap<C>::CppType*>(wrap_auto((GtkObject*)(o))); + } +-*/ ++ + + /********************************************************************/ + diff --git a/x11-toolkits/gtkmm12/files/patch-src::gtkmmproc::stage1.m4 b/x11-toolkits/gtkmm12/files/patch-src::gtkmmproc::stage1.m4 new file mode 100644 index 000000000000..0000d4380d5f --- /dev/null +++ b/x11-toolkits/gtkmm12/files/patch-src::gtkmmproc::stage1.m4 @@ -0,0 +1,11 @@ +--- src/gtkmmproc/stage1.m4.orig Thu Feb 15 04:42:47 2001 ++++ src/gtkmmproc/stage1.m4 Wed Oct 13 02:35:02 2004 +@@ -198,7 +198,7 @@ + class __CPPNAME__; + class __CPPNAME__`'_Class; + } +-namespace Gtk { __NAMESPACE__::__CPPNAME__ *wrap (__CNAME__ *o); } ++namespace Gtk { template<> struct Wrap<__CNAME__> { typedef __CPPNAME__ CppType; }; } + dnl + dnl + GTKMM_SECTION(PRIVATE) |