File python-gobject-python3.patch of Package python-gobject2
From 4e5833d0c2fe548617e5ea510f05920fd0caf73b Mon Sep 17 00:00:00 2001
From: Ignacio Casal Quinteiro <icq@gnome.org>
Date: Thu, 21 Apr 2011 14:52:20 +0000
Subject: [python3] fix build. PYcairo_IMPORT doesn't exists anymore
---
(limited to 'gi/pygi-foreign-cairo.c')
---
configure.ac | 15 +++++++++++----
gi/pygi-foreign-cairo.c | 7 ++++++-
2 files changed, 17 insertions(+), 5 deletions(-)
Index: pygobject-2.28.6/configure.ac
===================================================================
--- pygobject-2.28.6.orig/configure.ac
+++ pygobject-2.28.6/configure.ac
@@ -17,7 +17,8 @@ m4_define(pygobject_version, pygobject_m
dnl versions of packages we require ...
m4_define(introspection_required_version, 0.10.2)
-m4_define(pycairo_required_version, 1.2.0)
+m4_define(py2cairo_required_version, 1.2.0)
+m4_define(py3cairo_required_version, 1.10.0)
m4_define(glib_required_version, 2.24.0)
m4_define(gio_required_version, 2.24.0)
m4_define(giounix_required_version, 2.22.4)
@@ -248,9 +249,15 @@ if test "$enable_introspection" != no; t
AC_SUBST(GI_DATADIR)
if test "$enable_cairo" != no; then
- PKG_CHECK_MODULES(PYCAIRO,
- pycairo >= pycairo_required_version
- )
+ if test $build_py3k = true; then
+ PKG_CHECK_MODULES(PYCAIRO,
+ py3cairo >= py3cairo_required_version
+ )
+ else
+ PKG_CHECK_MODULES(PYCAIRO,
+ pycairo >= py2cairo_required_version
+ )
+ fi
fi
fi
AM_CONDITIONAL(ENABLE_INTROSPECTION, test "$enable_introspection" = "yes")
Index: pygobject-2.28.6/gi/pygi-foreign-cairo.c
===================================================================
--- pygobject-2.28.6.orig/gi/pygi-foreign-cairo.c
+++ pygobject-2.28.6/gi/pygi-foreign-cairo.c
@@ -30,7 +30,7 @@
#include <pycairo/py3cairo.h>
#endif
-Pycairo_CAPI_t *Pycairo_CAPI;
+static Pycairo_CAPI_t *Pycairo_CAPI;
#include "pygi-foreign.h"
@@ -117,7 +117,12 @@ cairo_surface_release (GIBaseInfo *base_
static PyMethodDef _gi_cairo_functions[] = {};
PYGLIB_MODULE_START(_gi_cairo, "_gi_cairo")
{
+#if PY_VERSION_HEX < 0x03000000
Pycairo_IMPORT;
+#else
+ Pycairo_CAPI = (Pycairo_CAPI_t*) PyCapsule_Import("cairo.CAPI", 0);
+#endif
+
if (Pycairo_CAPI == NULL)
return PYGLIB_MODULE_ERROR_RETURN;