Unbreak after recent glib2 and friends updates.

This commit is contained in:
ajacoutot 2018-04-22 13:31:27 +00:00
parent 8e4dd8bdc0
commit 905430b082
3 changed files with 132 additions and 32 deletions

View File

@ -1,42 +1,43 @@
# $OpenBSD: Makefile,v 1.28 2017/11/21 00:13:05 naddy Exp $
# $OpenBSD: Makefile,v 1.29 2018/04/22 13:31:27 ajacoutot Exp $
COMMENT= OpenGL extension to GTK+ 2.0 and later
DISTNAME= gtkglext-1.2.0
REVISION= 15
SHARED_LIBS= gdkglext-x11-1.0 0.0 \
gtkglext-x11-1.0 0.0
REVISION= 16
CATEGORIES= x11 graphics devel
SHARED_LIBS += gdkglext-x11-1.0 0.0 # 0.0
SHARED_LIBS += gtkglext-x11-1.0 0.0 # 0.0
HOMEPAGE= http://projects.gnome.org/gtkglext/
MAINTAINER= Steven Mestdagh <steven@openbsd.org>
# LGPL
# GPLv2, LGPLv2.1
PERMIT_PACKAGE_CDROM= Yes
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=gtkglext/}
WANTLIB += GL GLU ICE SM X11 Xau Xcomposite Xcursor Xdamage Xdmcp
WANTLIB += GL GLU ICE SM X11 X11-xcb Xcomposite Xcursor Xdamage
WANTLIB += Xext Xfixes Xi Xinerama Xmu Xrandr Xrender Xt Xxf86vm
WANTLIB += atk-1.0 cairo drm expat ffi fontconfig freetype gdk-x11-2.0
WANTLIB += gdk_pixbuf-2.0 gio-2.0 glib-2.0 gmodule-2.0 gobject-2.0
WANTLIB += gthread-2.0 gtk-x11-2.0 harfbuzz iconv intl
WANTLIB += m pango-1.0 pangocairo-1.0 pangoft2-1.0 pangox-1.0
WANTLIB += pcre pixman-1 png pthread ${COMPILER_LIBCXX} xcb
WANTLIB += atk-1.0 cairo drm expat ffi fontconfig freetype fribidi
WANTLIB += gdk-x11-2.0 gdk_pixbuf-2.0 gio-2.0 glapi glib-2.0 gmodule-2.0
WANTLIB += gobject-2.0 graphite2 gthread-2.0 gtk-x11-2.0 harfbuzz
WANTLIB += iconv intl m pango-1.0 pangocairo-1.0 pangoft2-1.0
WANTLIB += pangox-1.0 pcre pixman-1 png pthread xcb xcb-dri2 xcb-glx
WANTLIB += xcb-render xcb-shm z
WANTLIB += X11-xcb glapi graphite2 xcb-dri2 xcb-glx
LIB_DEPENDS= x11/gtk+2 \
devel/pangox-compat>=0.0.2
devel/pangox-compat
USE_GMAKE= Yes
CONFIGURE_STYLE=gnu
EXAMPLE_DIR= ${PREFIX}/share/examples/gtkglext
post-install:
${INSTALL_DATA_DIR} ${EXAMPLE_DIR}
${INSTALL_DATA} ${WRKSRC}/examples/*.{c,h,lwo,rgb} ${EXAMPLE_DIR}
${INSTALL_DATA_DIR} ${PREFIX}/share/examples/gtkglext
${INSTALL_DATA} ${WRKSRC}/examples/*.{c,h,lwo,rgb} \
${PREFIX}/share/examples/gtkglext
.include <bsd.port.mk>

View File

@ -0,0 +1,25 @@
$OpenBSD: patch-gdk_gdkglshapes_c,v 1.1 2018/04/22 13:31:27 ajacoutot Exp $
error: redefinition of 'index' as different kind of symbol
Index: gdk/gdkglshapes.c
--- gdk/gdkglshapes.c.orig
+++ gdk/gdkglshapes.c
@@ -544,7 +544,7 @@ static GLfloat idata[12][3] =
{-Z, -X, 0}
};
-static int index[20][3] =
+static int iindex[20][3] =
{
{0, 4, 1},
{0, 9, 4},
@@ -574,7 +574,7 @@ icosahedron(GLenum shadeType)
int i;
for (i = 19; i >= 0; i--) {
- drawtriangle(i, idata, index, shadeType);
+ drawtriangle(i, idata, iindex, shadeType);
}
}

View File

@ -1,28 +1,75 @@
$OpenBSD: patch-gtk_gtkglwidget_c,v 1.1 2010/04/28 07:11:31 jasper Exp $
$OpenBSD: patch-gtk_gtkglwidget_c,v 1.2 2018/04/22 13:31:27 ajacoutot Exp $
Fix build with gtk2 2.20.
--- gtk/gtkglwidget.c.orig Tue Apr 27 23:43:11 2010
+++ gtk/gtkglwidget.c Tue Apr 27 23:44:45 2010
@@ -127,7 +127,7 @@ gtk_gl_widget_size_allocate (GtkWidget *widget,
Index: gtk/gtkglwidget.c
--- gtk/gtkglwidget.c.orig
+++ gtk/gtkglwidget.c
@@ -16,7 +16,9 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#include <gtk/gtkmain.h>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif /* HAVE_CONFIG_H */
#include "gtkglprivate.h"
#include "gtkglwidget.h"
@@ -68,6 +70,7 @@ static void
gtk_gl_widget_realize (GtkWidget *widget,
GLWidgetPrivate *private)
{
+ GdkWindow *window;
GdkGLWindow *glwindow;
GTK_GL_NOTE_FUNC_PRIVATE ();
@@ -77,9 +80,10 @@ gtk_gl_widget_realize (GtkWidget *widget,
* handlers.
*/
- if (!gdk_window_is_gl_capable (widget->window))
+ window = gtk_widget_get_window (widget);
+ if (!gdk_window_is_gl_capable (window))
{
- glwindow = gdk_window_set_gl_capability (widget->window,
+ glwindow = gdk_window_set_gl_capability (window,
private->glconfig,
NULL);
if (glwindow == NULL)
@@ -127,9 +131,9 @@ 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);
- gldrawable = gdk_window_get_gl_drawable (widget->window);
+ gldrawable = gdk_window_get_gl_drawable (gtk_widget_get_window (widget));
gdk_gl_drawable_wait_gdk (gldrawable);
@@ -154,7 +154,7 @@ gtk_gl_widget_unrealize (GtkWidget *widget,
}
}
@@ -146,7 +150,7 @@ gtk_gl_widget_unrealize (GtkWidget *widget,
if (private->glcontext != NULL)
{
- gdk_gl_context_destroy (private->glcontext);
+ g_object_unref (private->glcontext);
private->glcontext = NULL;
}
@@ -154,8 +158,8 @@ gtk_gl_widget_unrealize (GtkWidget *widget,
* Remove OpenGL-capability from widget->window.
*/
- if (GTK_WIDGET_REALIZED (widget))
- gdk_window_unset_gl_capability (widget->window);
+ if (gtk_widget_get_realized (widget))
gdk_window_unset_gl_capability (widget->window);
+ gdk_window_unset_gl_capability (gtk_widget_get_window (widget));
private->is_realized = FALSE;
@@ -174,7 +174,7 @@ gtk_gl_widget_parent_set (GtkWidget *widget,
}
@@ -174,7 +178,7 @@ gtk_gl_widget_parent_set (GtkWidget *widget,
*/
toplevel = gtk_widget_get_toplevel (widget);
@ -31,16 +78,39 @@ Fix build with gtk2 2.20.
{
GTK_GL_NOTE (MISC,
g_message (" - Install colormap to the top-level window."));
@@ -194,7 +194,7 @@ gtk_gl_widget_style_set (GtkWidget *widget,
@@ -188,23 +192,27 @@ gtk_gl_widget_style_set (GtkWidget *widget,
GtkStyle *previous_style,
gpointer user_data)
{
+ GdkWindow *window;
+
GTK_GL_NOTE_FUNC_PRIVATE ();
/*
* Set a background of "None" on window to avoid AIX X server crash.
*/
- if (GTK_WIDGET_REALIZED (widget))
+ if (gtk_widget_get_realized (widget))
{
+ window = gtk_widget_get_window (widget);
+
GTK_GL_NOTE (MISC,
g_message (" - window->bg_pixmap = %p",
@@ -250,8 +250,8 @@ gtk_widget_set_gl_capability (GtkWidget *widget,
- ((GdkWindowObject *) (widget->window))->bg_pixmap));
+ ((GdkWindowObject *) window)->bg_pixmap));
- gdk_window_set_back_pixmap (widget->window, NULL, FALSE);
+ gdk_window_set_back_pixmap (window, NULL, FALSE);
GTK_GL_NOTE (MISC,
g_message (" - window->bg_pixmap = %p",
- ((GdkWindowObject *) (widget->window))->bg_pixmap));
+ ((GdkWindowObject *) window)->bg_pixmap));
}
}
@@ -250,8 +258,8 @@ gtk_widget_set_gl_capability (GtkWidget *widget,
GTK_GL_NOTE_FUNC ();
g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
@ -51,16 +121,19 @@ Fix build with gtk2 2.20.
g_return_val_if_fail (GDK_IS_GL_CONFIG (glconfig), FALSE);
/*
@@ -432,7 +432,7 @@ gtk_widget_create_gl_context (GtkWidget *widget,
@@ -432,9 +440,9 @@ 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);
- gldrawable = gdk_window_get_gl_drawable (widget->window);
+ gldrawable = gdk_window_get_gl_drawable (gtk_widget_get_window (widget));
if (gldrawable == NULL)
@@ -474,7 +474,7 @@ gtk_widget_get_gl_context (GtkWidget *widget)
return NULL;
@@ -474,7 +482,7 @@ gtk_widget_get_gl_context (GtkWidget *widget)
GLWidgetPrivate *private;
g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
@ -69,12 +142,13 @@ Fix build with gtk2 2.20.
private = g_object_get_qdata (G_OBJECT (widget), quark_gl_private);
if (private == NULL)
@@ -501,7 +501,7 @@ GdkGLWindow *
@@ -501,7 +509,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);
- return gdk_window_get_gl_window (widget->window);
+ return gdk_window_get_gl_window (gtk_widget_get_window (widget));
}