[mingw-gtkglext] Initial import (#894834).

Marcel Wysocki maci at fedoraproject.org
Tue May 21 11:13:40 UTC 2013


commit 8e0f8a5e58260170687a0528639ea789bcd5cfbf
Author: Marcel Wysocki <maci at satgnu.net>
Date:   Tue May 21 13:13:33 2013 +0200

    Initial import (#894834).

 .gitignore                              |    1 +
 gtkglext-1-fixes.patch                  |  224 +++++++++++++++++++++++++++++++
 gtkglext-fix-out-of-source-builds.patch |   22 +++
 mingw-gtkglext.spec                     |  204 ++++++++++++++++++++++++++++
 sources                                 |    1 +
 5 files changed, 452 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..5b241c4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/gtkglext-1.2.0.tar.bz2
diff --git a/gtkglext-1-fixes.patch b/gtkglext-1-fixes.patch
new file mode 100644
index 0000000..66d7a5f
--- /dev/null
+++ b/gtkglext-1-fixes.patch
@@ -0,0 +1,224 @@
+This file is part of MXE.
+See index.html for further information.
+
+Contains ad hoc patches for cross building.
+
+From c79e894db7f1a5cbd6ba57352f79d68595175666 Mon Sep 17 00:00:00 2001
+From: MXE
+Date: Fri, 1 Oct 2010 14:43:15 +0200
+Subject: [PATCH 1/4] remove pangox dependency
+
+
+diff --git a/configure.in b/configure.in
+index e5b678c..54bb867 100644
+--- a/configure.in
++++ b/configure.in
+@@ -349,7 +349,6 @@ PKG_CHECK_MODULES([BASE_DEPENDENCIES], [\
+ gtk_pkg >= gtk_required_version \
+ gdk_pkg >= gdk_required_version \
+ pango_pkg >= pango_required_version \
+-pangox_pkg >= pangox_required_version \
+ gmodule_pkg >= gmodule_required_version \
+ ])
+ 
+@@ -794,7 +793,7 @@ LIBS="$save_LIBS"
+ # CFLAGS and LIBS
+ ##################################################
+ 
+-GDKGLEXT_PACKAGES="gdk_pkg pango_pkg pangox_pkg gmodule_pkg"
++GDKGLEXT_PACKAGES="gdk_pkg pango_pkg gmodule_pkg"
+ GDKGLEXT_EXTRA_CFLAGS="$GL_CFLAGS $GDKGLEXT_WIN_CFLAGS"
+ GDKGLEXT_EXTRA_LIBS="$GL_LIBS $GDKGLEXT_WIN_LIBS"
+ GDKGLEXT_DEP_CFLAGS="$GDKGLEXT_EXTRA_CFLAGS `$PKG_CONFIG --cflags $GDKGLEXT_PACKAGES`"
+-- 
+1.7.1
+
+
+From a6894898cad4238a3676cf6fbfe6c378217317ca Mon Sep 17 00:00:00 2001
+From: MXE
+Date: Fri, 1 Oct 2010 14:44:37 +0200
+Subject: [PATCH 2/4] use correct glib mkenums patch
+
+This patch has been taken from:
+https://bugzilla.gnome.org/show_bug.cgi?id=618599
+
+diff --git a/gdk/Makefile.am b/gdk/Makefile.am
+index 525bfc2..fbeae34 100644
+--- a/gdk/Makefile.am
++++ b/gdk/Makefile.am
+@@ -157,7 +157,7 @@ $(libgdkglext_x11_ at API_MJ@_ at API_MI@_la_OBJECTS) $(libgdkglext_win32_ at API_MJ@_ at AP
+ $(srcdir)/gdkglenumtypes.h: stamp-gdkglenumtypes-h
+ 	@true
+ stamp-gdkglenumtypes-h: @REBUILD@ $(gdkglext_public_h_sources) Makefile
+-	( cd $(srcdir) && glib-mkenums \
++	( cd $(srcdir) && $(GLIB_MKENUMS) \
+ 			--fhead "#ifndef __GDK_GL_ENUM_TYPES_H__\n#define __GDK_GL_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
+ 			--fprod "/* enumerations from \"@filename@\" */\n" \
+ 			--vhead "GType @enum_name at _get_type (void);\n#define GDK_TYPE_ at ENUMSHORT@ (@enum_name at _get_type())\n" \
+@@ -167,7 +167,7 @@ stamp-gdkglenumtypes-h: @REBUILD@ $(gdkglext_public_h_sources) Makefile
+ 	&& rm -f xgen-geth \
+ 	&& echo timestamp > $(@F)
+ $(srcdir)/gdkglenumtypes.c: @REBUILD@ $(gdkglext_public_h_sources) Makefile
+-	( cd $(srcdir) && glib-mkenums \
++	( cd $(srcdir) && $(GLIB_MKENUMS) \
+ 			--fhead "#include \"gdkgl.h\"" \
+ 			--fprod "\n/* enumerations from \"@filename@\" */" \
+ 			--vhead "GType\n at enum_name@_get_type (void)\n{\n  static GType etype = 0;\n  if (etype == 0) {\n    static const G at Type@Value values[] = {" \
+diff --git a/gdk/Makefile.in b/gdk/Makefile.in
+index 005bd1b..ace11c7 100644
+--- a/gdk/Makefile.in
++++ b/gdk/Makefile.in
+@@ -844,7 +844,7 @@ $(libgdkglext_x11_ at API_MJ@_ at API_MI@_la_OBJECTS) $(libgdkglext_win32_ at API_MJ@_ at AP
+ $(srcdir)/gdkglenumtypes.h: stamp-gdkglenumtypes-h
+ 	@true
+ stamp-gdkglenumtypes-h: @REBUILD@ $(gdkglext_public_h_sources) Makefile
+-	( cd $(srcdir) && glib-mkenums \
++	( cd $(srcdir) && $(GLIB_MKENUMS) \
+ 			--fhead "#ifndef __GDK_GL_ENUM_TYPES_H__\n#define __GDK_GL_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
+ 			--fprod "/* enumerations from \"@filename@\" */\n" \
+ 			--vhead "GType @enum_name at _get_type (void);\n#define GDK_TYPE_ at ENUMSHORT@ (@enum_name at _get_type())\n" \
+@@ -854,7 +854,7 @@ stamp-gdkglenumtypes-h: @REBUILD@ $(gdkglext_public_h_sources) Makefile
+ 	&& rm -f xgen-geth \
+ 	&& echo timestamp > $(@F)
+ $(srcdir)/gdkglenumtypes.c: @REBUILD@ $(gdkglext_public_h_sources) Makefile
+-	( cd $(srcdir) && glib-mkenums \
++	( cd $(srcdir) && $(GLIB_MKENUMS) \
+ 			--fhead "#include \"gdkgl.h\"" \
+ 			--fprod "\n/* enumerations from \"@filename@\" */" \
+ 			--vhead "GType\n at enum_name@_get_type (void)\n{\n  static GType etype = 0;\n  if (etype == 0) {\n    static const G at Type@Value values[] = {" \
+-- 
+1.7.1
+
+
+From 9080ce06af85a0beee38f0d391ee8fab8dc07fdf Mon Sep 17 00:00:00 2001
+From: MXE
+Date: Fri, 1 Oct 2010 14:47:30 +0200
+Subject: [PATCH 3/4] don't use deprecated functions
+
+This patch has been taken from:
+https://bugzilla.gnome.org/show_bug.cgi?id=618601
+
+diff --git a/gtk/gtkglwidget.c b/gtk/gtkglwidget.c
+index ecb41ef..2a31c5a 100644
+--- a/gtk/gtkglwidget.c
++++ b/gtk/gtkglwidget.c
+@@ -127,7 +127,7 @@ gtk_gl_widget_size_allocate (GtkWidget       *widget,
+    * Synchronize OpenGL and window resizing request streams.
+    */
+ 
+-  if (GTK_WIDGET_REALIZED (widget) && private->is_realized)
++  if (gtk_widget_get_realized (widget) && private->is_realized)
+     {
+       gldrawable = gdk_window_get_gl_drawable (widget->window);
+       gdk_gl_drawable_wait_gdk (gldrawable);
+@@ -154,7 +154,7 @@ gtk_gl_widget_unrealize (GtkWidget       *widget,
+    * Remove OpenGL-capability from widget->window.
+    */
+ 
+-  if (GTK_WIDGET_REALIZED (widget))
++  if (gtk_widget_get_realized (widget))
+     gdk_window_unset_gl_capability (widget->window);
+ 
+   private->is_realized = FALSE;
+@@ -174,7 +174,7 @@ gtk_gl_widget_parent_set (GtkWidget   *widget,
+    */
+ 
+   toplevel = gtk_widget_get_toplevel (widget);
+-  if (GTK_WIDGET_TOPLEVEL (toplevel) && !GTK_WIDGET_REALIZED (toplevel))
++  if (gtk_widget_is_toplevel (toplevel) && !gtk_widget_get_realized (toplevel))
+     {
+       GTK_GL_NOTE (MISC,
+         g_message (" - Install colormap to the top-level window."));
+@@ -194,7 +194,7 @@ gtk_gl_widget_style_set (GtkWidget *widget,
+    * Set a background of "None" on window to avoid AIX X server crash.
+    */
+ 
+-  if (GTK_WIDGET_REALIZED (widget))
++  if (gtk_widget_get_realized (widget))
+     {
+       GTK_GL_NOTE (MISC,
+         g_message (" - window->bg_pixmap = %p",
+@@ -250,8 +250,8 @@ gtk_widget_set_gl_capability (GtkWidget    *widget,
+   GTK_GL_NOTE_FUNC ();
+ 
+   g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
+-  g_return_val_if_fail (!GTK_WIDGET_NO_WINDOW (widget), FALSE);
+-  g_return_val_if_fail (!GTK_WIDGET_REALIZED (widget), FALSE);
++  g_return_val_if_fail (gtk_widget_get_has_window (widget), FALSE);
++  g_return_val_if_fail (!gtk_widget_get_realized (widget), FALSE);
+   g_return_val_if_fail (GDK_IS_GL_CONFIG (glconfig), FALSE);
+ 
+   /* 
+@@ -432,7 +432,7 @@ gtk_widget_create_gl_context (GtkWidget    *widget,
+   GTK_GL_NOTE_FUNC ();
+ 
+   g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
+-  g_return_val_if_fail (GTK_WIDGET_REALIZED (widget), NULL);
++  g_return_val_if_fail (gtk_widget_get_realized (widget), NULL);
+ 
+   gldrawable = gdk_window_get_gl_drawable (widget->window);
+   if (gldrawable == NULL)
+@@ -474,7 +474,7 @@ gtk_widget_get_gl_context (GtkWidget *widget)
+   GLWidgetPrivate *private;
+ 
+   g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
+-  g_return_val_if_fail (GTK_WIDGET_REALIZED (widget), NULL);
++  g_return_val_if_fail (gtk_widget_get_realized (widget), NULL);
+ 
+   private = g_object_get_qdata (G_OBJECT (widget), quark_gl_private);
+   if (private == NULL)
+@@ -501,7 +501,7 @@ GdkGLWindow *
+ gtk_widget_get_gl_window (GtkWidget *widget)
+ {
+   g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
+-  g_return_val_if_fail (GTK_WIDGET_REALIZED (widget), NULL);
++  g_return_val_if_fail (gtk_widget_get_realized (widget), NULL);
+ 
+   return gdk_window_get_gl_window (widget->window);
+ }
+-- 
+1.7.1
+
+
+From eb64eb053481321cb1b0d3ec9e2fcb46c55c0972 Mon Sep 17 00:00:00 2001
+From: MXE
+Date: Fri, 1 Oct 2010 14:50:25 +0200
+Subject: [PATCH 4/4] removed import declarations
+
+
+diff --git a/gdk/gdkgldefs.h b/gdk/gdkgldefs.h
+index 1120822..62a84c2 100644
+--- a/gdk/gdkgldefs.h
++++ b/gdk/gdkgldefs.h
+@@ -27,9 +27,9 @@ G_BEGIN_DECLS
+ 
+ #ifdef G_OS_WIN32
+ #  ifdef GDK_GL_COMPILATION
+-#    define GDK_GL_VAR __declspec(dllexport)
++#    define GDK_GL_VAR
+ #  else
+-#    define GDK_GL_VAR extern __declspec(dllimport)
++#    define GDK_GL_VAR extern
+ #  endif
+ #else
+ #  define GDK_GL_VAR extern
+diff --git a/gtk/gtkgldefs.h b/gtk/gtkgldefs.h
+index c917007..5ed957e 100644
+--- a/gtk/gtkgldefs.h
++++ b/gtk/gtkgldefs.h
+@@ -25,9 +25,9 @@ G_BEGIN_DECLS
+ 
+ #ifdef G_OS_WIN32
+ #  ifdef GTK_GL_COMPILATION
+-#    define GTK_GL_VAR __declspec(dllexport)
++#    define GTK_GL_VAR
+ #  else
+-#    define GTK_GL_VAR extern __declspec(dllimport)
++#    define GTK_GL_VAR extern
+ #  endif
+ #else
+ #  define GTK_GL_VAR extern
+-- 
+1.7.1
+
+
diff --git a/gtkglext-fix-out-of-source-builds.patch b/gtkglext-fix-out-of-source-builds.patch
new file mode 100644
index 0000000..df1f21d
--- /dev/null
+++ b/gtkglext-fix-out-of-source-builds.patch
@@ -0,0 +1,22 @@
+--- gdk/Makefile.am.orig	2013-04-29 14:11:33.655006737 +0200
++++ gdk/Makefile.am	2013-04-29 14:11:51.570311265 +0200
+@@ -19,7 +19,7 @@
+ else
+ gdkglext_def = gdkglext-gtk20.def
+ endif
+-gdkglext_win32_symbols = -export-symbols $(gdkglext_def)
++gdkglext_win32_symbols = -export-symbols $(srcdir)/$(gdkglext_def)
+ endif
+ 
+ if MS_LIB_AVAILABLE
+--- gtk/Makefile.am.orig	2013-04-29 14:15:08.653658795 +0200
++++ gtk/Makefile.am	2013-04-29 14:15:26.148955772 +0200
+@@ -11,7 +11,7 @@
+ 
+ if OS_WIN32
+ gtkglext_def = gtkglext.def
+-gtkglext_win32_symbols = -export-symbols $(gtkglext_def)
++gtkglext_win32_symbols = -export-symbols $(srcdir)/$(gtkglext_def)
+ endif
+ 
+ if MS_LIB_AVAILABLE
diff --git a/mingw-gtkglext.spec b/mingw-gtkglext.spec
new file mode 100644
index 0000000..10dab89
--- /dev/null
+++ b/mingw-gtkglext.spec
@@ -0,0 +1,204 @@
+%{?mingw_package_header}
+
+Name:           mingw-gtkglext
+Version:        1.2.0
+Release:        9%{?dist}
+Summary:        OpenGL Extension to GTK+
+
+License:        LGPLv2
+Group:          Development/Libraries
+URL:            http://projects.gnome.org/gtkglext/
+Source0:        http://downloads.sourceforge.net/sourceforge/gtkglext/gtkglext-%version.tar.bz2
+
+# Patch 1:
+#     remove pangox dependency
+#
+#     use correct glib mkenums patch
+#         - https://bugzilla.gnome.org/show_bug.cgi?id=618599
+#
+#     don't use deprecated functions
+#         - https://bugzilla.gnome.org/show_bug.cgi?id=618601
+#
+#     removed import declarations
+
+Patch1:         gtkglext-1-fixes.patch
+
+
+# Patch 2:
+#    fix out of source tree builds
+
+Patch2:         gtkglext-fix-out-of-source-builds.patch
+
+
+BuildArch:      noarch
+
+BuildRequires:  autoconf
+BuildRequires:  gtk2-devel
+
+BuildRequires:  mingw32-filesystem >= 95
+BuildRequires:  mingw32-gcc
+BuildRequires:  mingw32-pkg-config
+BuildRequires:  mingw32-freeglut
+BuildRequires:  mingw32-gtk2
+BuildRequires:  mingw32-pthreads
+
+BuildRequires:  mingw64-filesystem >= 95
+BuildRequires:  mingw64-gcc
+BuildRequires:  mingw64-pkg-config
+BuildRequires:  mingw64-freeglut
+BuildRequires:  mingw64-gtk2
+BuildRequires:  mingw64-pthreads
+
+%description
+GtkGLExt is an OpenGL extension to GTK+. 
+It provides additional GDK objects which support OpenGL rendering
+in GTK+ and GtkWidget API add-ons to make GTK+ widgets OpenGL-capable.
+This is a MinGW package.
+
+# Win32
+%package -n mingw32-gtkglext
+Summary:       OpenGL Extension to GTK+ for the Win32 target
+
+%description -n mingw32-gtkglext
+GtkGLExt is an OpenGL extension to GTK+. 
+It provides additional GDK objects which support OpenGL rendering
+in GTK+ and GtkWidget API add-ons to make GTK+ widgets OpenGL-capable. 
+Compiled for the Win32 target.
+
+%package -n mingw32-gtkglext-static
+Summary:       Static version of gtkglext, OpenGL Extension to GTK+ for the Win32 target
+Requires:      mingw32-gtkglext = %{version}-%{release}
+
+%description -n mingw32-gtkglext-static
+GtkGLExt is an OpenGL extension to GTK+. 
+It provides additional GDK objects which support OpenGL rendering
+in GTK+ and GtkWidget API add-ons to make GTK+ widgets OpenGL-capable. 
+Static version of gtkglext compiled for the Win32 target.
+
+# Win64
+%package -n mingw64-gtkglext
+Summary:       OpenGL Extension to GTK+ for the Win64 target
+
+%description -n mingw64-gtkglext
+GtkGLExt is an OpenGL extension to GTK+. 
+It provides additional GDK objects which support OpenGL rendering
+in GTK+ and GtkWidget API add-ons to make GTK+ widgets OpenGL-capable. 
+Compiled for the Win64 target.
+
+%package -n mingw64-gtkglext-static
+Summary:       Static version of gtkglext, OpenGL Extension to GTK+ for the Win64 target
+Requires:      mingw64-gtkglext = %{version}-%{release}
+
+%description -n mingw64-gtkglext-static
+GtkGLExt is an OpenGL extension to GTK+. 
+It provides additional GDK objects which support OpenGL rendering
+in GTK+ and GtkWidget API add-ons to make GTK+ widgets OpenGL-capable. 
+Static version of gtkglext compiled for the Win64 target.
+
+
+%{?mingw_debug_package}
+
+
+%prep
+%setup -q -n gtkglext-%{version}
+%patch1 -p1
+%patch2 -p0
+autoreconf -i --force
+
+%build
+%mingw_configure \
+    --without-x \
+    --with-gdktarget=win32
+
+%mingw_make %{?_smp_mflags}
+
+%install
+%mingw_make_install DESTDIR=$RPM_BUILD_ROOT
+
+# delete documentation
+rm -rf $RPM_BUILD_ROOT/%{mingw32_datadir}/gtk-doc
+rm -rf $RPM_BUILD_ROOT/%{mingw64_datadir}/gtk-doc
+
+find $RPM_BUILD_ROOT -name "*.la" -delete
+
+rm -Rf $RPM_BUILD_ROOT/%{mingw32_datadir}/aclocal
+rm -Rf $RPM_BUILD_ROOT/%{mingw64_datadir}/aclocal
+
+# Win32
+%files -n mingw32-gtkglext
+%{mingw32_bindir}/libgdkglext-win32-1.0-0.dll
+%{mingw32_bindir}/libgtkglext-win32-1.0-0.dll
+%{mingw32_includedir}/gtkglext-1.0/
+%{mingw32_libdir}/libgdkglext-win32-1.0.dll.a
+%{mingw32_libdir}/libgtkglext-win32-1.0.dll.a
+%{mingw32_libdir}/gtkglext-1.0/
+%{mingw32_libdir}/pkgconfig/gdkglext-1.0.pc
+%{mingw32_libdir}/pkgconfig/gdkglext-win32-1.0.pc
+%{mingw32_libdir}/pkgconfig/gtkglext-1.0.pc
+%{mingw32_libdir}/pkgconfig/gtkglext-win32-1.0.pc
+
+%doc COPYING COPYING.LIB
+
+%files -n mingw32-gtkglext-static
+%{mingw32_libdir}/libgtkglext-win32-1.0.a
+%{mingw32_libdir}/libgdkglext-win32-1.0.a
+
+# Win64
+%files -n mingw64-gtkglext
+%{mingw64_bindir}/libgdkglext-win32-1.0-0.dll
+%{mingw64_bindir}/libgtkglext-win32-1.0-0.dll
+%{mingw64_includedir}/gtkglext-1.0/
+%{mingw64_libdir}/libgdkglext-win32-1.0.dll.a
+%{mingw64_libdir}/libgtkglext-win32-1.0.dll.a
+%{mingw64_libdir}/gtkglext-1.0/
+%{mingw64_libdir}/pkgconfig/gdkglext-1.0.pc
+%{mingw64_libdir}/pkgconfig/gdkglext-win32-1.0.pc
+%{mingw64_libdir}/pkgconfig/gtkglext-1.0.pc
+%{mingw64_libdir}/pkgconfig/gtkglext-win32-1.0.pc
+
+%doc COPYING COPYING.LIB
+
+%files -n mingw64-gtkglext-static
+%{mingw64_libdir}/libgtkglext-win32-1.0.a
+%{mingw64_libdir}/libgdkglext-win32-1.0.a
+
+
+%changelog
+* Mon May 20 2013 Marcel Wysocki <maci at satgnu.net> - 1.2.0-9
+- remove autoconf files
+- spec cleanups
+- added infos about patches
+
+* Tue Apr 30 2013 Marcel Wysocki <maci at satgnu.net> - 1.2.0-8
+- add gtk2-devel BR
+- run autoreconf -i --force in prep
+
+* Mon Apr 29 2013 Marcel Wysocki <maci at satgnu.net> - 1.2.0-7
+- add gtkglext-fix-out-of-source-builds.patch
+
+* Tue Apr 16 2013 Marcel Wysocki <maci at satgnu.net> - 1.2.0-6
+- remove docs, there's already a native gtkglext package in Fedora
+- remove mingw_find_lang line
+- remove rm RPM_BUILD_ROOT line
+- updated main summary
+
+* Thu Jan 17 2013 Marcel Wysocki <maci at satgnu.net> - 1.2.0-5
+- add autoconf to BR again, woops
+
+* Thu Jan 17 2013 Marcel Wysocki <maci at satgnu.net> - 1.2.0-4
+- add -static packages
+- update summary and description
+- update buildrequires
+- follow https://fedoraproject.org/wiki/Packaging:MinGW
+
+* Mon Jan 14 2013 Marcel Wysocki <maci at satgnu.net> - 1.2.0-3
+- use mingw header macro
+- build debuginfo packages
+
+* Sun Jan 13 2013 Marcel Wysocki <maci at satgnu.net> - 1.2.0-2
+- add autoconf BR
+
+* Sat Jan 12 2013 Marcel Wysocki <maci at satgnu.net> - 1.2.0-1
+- initial package
+
+
diff --git a/sources b/sources
index e69de29..d9a7420 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+ed7ba24ce06a8630c07f2d0ee5f04ab4  gtkglext-1.2.0.tar.bz2


More information about the scm-commits mailing list