packages: python-pygtk/python-pygtk.spec, python-pygtk/python-pygtk-python2...

glen glen at pld-linux.org
Tue Sep 21 20:47:22 CEST 2010


Author: glen                         Date: Tue Sep 21 18:47:22 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- py27 fix. LP#636372

---- Files affected:
packages/python-pygtk:
   python-pygtk.spec (1.169 -> 1.170) , python-pygtk-python27.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/python-pygtk/python-pygtk.spec
diff -u packages/python-pygtk/python-pygtk.spec:1.169 packages/python-pygtk/python-pygtk.spec:1.170
--- packages/python-pygtk/python-pygtk.spec:1.169	Thu Jul  8 19:05:40 2010
+++ packages/python-pygtk/python-pygtk.spec	Tue Sep 21 20:47:17 2010
@@ -11,7 +11,7 @@
 Summary(pl.UTF-8):	Wiązania Pythona do bibliotek GTK+ 2.x
 Name:		python-%{module}
 Version:	2.16.0
-Release:	2
+Release:	3
 Epoch:		2
 License:	LGPL v2.1+
 Group:		Libraries/Python
@@ -20,6 +20,7 @@
 Source1:	%{name}-python.m4
 Source2:	%{name}-jhflags.m4
 Patch0:		%{name}-pyc.patch
+Patch1:     %{name}-python27.patch
 URL:		http://www.pygtk.org/
 BuildRequires:	autoconf >= 2.52
 BuildRequires:	automake >= 1:1.7
@@ -150,6 +151,7 @@
 %prep
 %setup -q -n %{module}-%{version}
 %patch0 -p1
+%patch1 -p1
 
 # don't remove it
 #mkdir m4
@@ -230,6 +232,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.170  2010/09/21 18:47:17  glen
+- py27 fix. LP#636372
+
 Revision 1.169  2010/07/08 17:05:40  arekm
 - release 2
 

================================================================
Index: packages/python-pygtk/python-pygtk-python27.patch
diff -u /dev/null packages/python-pygtk/python-pygtk-python27.patch:1.1
--- /dev/null	Tue Sep 21 20:47:22 2010
+++ packages/python-pygtk/python-pygtk-python27.patch	Tue Sep 21 20:47:17 2010
@@ -0,0 +1,50 @@
+diff --git a/gtk/gtkmodule.c b/gtk/gtkmodule.c
+index c0e1493..aa8cf10 100644
+--- a/gtk/gtkmodule.c
++++ b/gtk/gtkmodule.c
+@@ -227,8 +227,12 @@ init_gtk(void)
+     pygtk_add_stock_items(d);
+     
+     /* extension API */
+-    PyDict_SetItemString(d, "_PyGtk_API",
+-			 o=PyCObject_FromVoidPtr(&functions, NULL));
++#if PY_VERSION_HEX >= 0x02070000
++    o = PyCapsule_New(&functions, "gtk._gtk._PyGtk_API", NULL);
++#else
++    o = PyCObject_FromVoidPtr(&functions, NULL);
++#endif
++    PyDict_SetItemString(d, "_PyGtk_API", o);
+     Py_DECREF(o);
+ 	
+     PyGtkDeprecationWarning = PyErr_NewException("gtk.GtkDeprecationWarning",
+diff --git a/gtk/pygtk.h b/gtk/pygtk.h
+index 573c3b9..e4c680f 100644
+--- a/gtk/pygtk.h
++++ b/gtk/pygtk.h
+@@ -60,6 +60,18 @@ struct _PyGtk_FunctionStruct *_PyGtk_API;
+ 
+ 
+ /* a function to initialise the pygtk functions */
++
++/* Python 2.7 introduced the PyCapsule API and deprecated the CObject API */
++#if PY_VERSION_HEX >= 0x02070000
++#define init_pygtk() G_STMT_START { \
++    void *capsule = PyCapsule_Import("gtk._gtk._PyGtk_API", 0); \
++    if (!capsule) { \
++        return; \
++    } \
++    _PyGtk_API = (struct _PyGtk_FunctionStruct*)capsule; \
++} G_STMT_END
++#else /* PY_VERSION_HEX */
++/* Python 2.6 and earlier use the CObject API */
+ #define init_pygtk() G_STMT_START { \
+     PyObject *pygtk = PyImport_ImportModule("gtk"); \
+     if (pygtk != NULL) { \
+@@ -79,6 +91,7 @@ struct _PyGtk_FunctionStruct *_PyGtk_API;
+         return; \
+     } \
+ } G_STMT_END
++#endif /* PY_VERSION_HEX */
+ 
+ #endif
+ 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/python-pygtk/python-pygtk.spec?r1=1.169&r2=1.170&f=u



More information about the pld-cvs-commit mailing list