On Python 3, use macros to alias all usage of PyInt_ to PyLong_ equivalents,
as the former no longer exists.

Likewise, the "cmpfunc" typedef no longer exists; introduce a dummy definition
to enable our code to compile
---
 python/rpmsystem-py.h |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/python/rpmsystem-py.h b/python/rpmsystem-py.h
index 1544dd6..8875b3a 100644
--- a/python/rpmsystem-py.h
+++ b/python/rpmsystem-py.h
@@ -15,4 +15,15 @@ typedef ssize_t Py_ssize_t;
 typedef Py_ssize_t (*lenfunc)(PyObject *);
 #endif  
 
+#if PY_MAJOR_VERSION >= 3
+/* For Python 3, use the PyLong type throughout in place of PyInt: */
+#define PyInt_Check PyLong_Check
+#define PyInt_AsLong PyLong_AsLong
+#define PyInt_FromLong PyLong_FromLong
+
+/* In Python 3, "tp_compare" became "void *tp_reserved;": */
+#define cmpfunc void*
+
+#endif
+
 #endif /* H_SYSTEM_PYTHON */
-- 
1.6.2.5

_______________________________________________
Rpm-maint mailing list
[email protected]
http://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to