pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/x11/kdebindings4-python Make build with py-sip-4.10, a...
details: https://anonhg.NetBSD.org/pkgsrc/rev/2c2da6423a7f
branches: trunk
changeset: 571053:2c2da6423a7f
user: wiz <wiz%pkgsrc.org@localhost>
date: Sun Feb 07 15:14:10 2010 +0000
description:
Make build with py-sip-4.10, and depend on it.
Patch from gentoo bug #301106 via drochner.
diffstat:
x11/kdebindings4-python/Makefile | 9 +-
x11/kdebindings4-python/distinfo | 3 +-
x11/kdebindings4-python/patches/patch-ac | 387 +++++++++++++++++++++++++++++++
3 files changed, 396 insertions(+), 3 deletions(-)
diffs (truncated from 436 to 300 lines):
diff -r ac249c10be3c -r 2c2da6423a7f x11/kdebindings4-python/Makefile
--- a/x11/kdebindings4-python/Makefile Sun Feb 07 14:59:01 2010 +0000
+++ b/x11/kdebindings4-python/Makefile Sun Feb 07 15:14:10 2010 +0000
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.8 2010/01/27 10:38:41 markd Exp $
+# $NetBSD: Makefile,v 1.9 2010/02/07 15:14:10 wiz Exp $
PKGNAME= kdebindings4-python-${_KDE_VERSION}
+PKGREVISION= 1
DISTNAME= kdebindings-${_KDE_VERSION}
CATEGORIES= misc
COMMENT= Python bindings for the KDE integrated X11 desktop
@@ -23,6 +24,10 @@
post-extract:
${CP} ${FILESDIR}/FindPolkitQt.cmake ${WRKSRC}/cmake/modules
+# for patch-ac:
+post-install:
+ ${RM} ${DESTDIR}${PREFIX}/share/sip2.6/PyKDE4/kdecore/typedefs.sip.orig
+
.include "../../meta-pkgs/kde4/kde4.mk"
.include "../../lang/python/application.mk"
@@ -30,7 +35,7 @@
.include "../../misc/kdepimlibs4/buildlink3.mk"
.include "../../security/polkit-qt/buildlink3.mk"
.include "../../x11/kdelibs4/buildlink3.mk"
-BUILDLINK_API_DEPENDS.py-sip+= ${PYPKGPREFIX}-sip>=4.7.9
+BUILDLINK_API_DEPENDS.py-sip+= ${PYPKGPREFIX}-sip>=4.10
.include "../../x11/py-sip/buildlink3.mk"
.include "../../x11/py-qt4/buildlink3.mk"
diff -r ac249c10be3c -r 2c2da6423a7f x11/kdebindings4-python/distinfo
--- a/x11/kdebindings4-python/distinfo Sun Feb 07 14:59:01 2010 +0000
+++ b/x11/kdebindings4-python/distinfo Sun Feb 07 15:14:10 2010 +0000
@@ -1,7 +1,8 @@
-$NetBSD: distinfo,v 1.5 2010/01/27 10:38:41 markd Exp $
+$NetBSD: distinfo,v 1.6 2010/02/07 15:14:10 wiz Exp $
SHA1 (kdebindings-4.3.5.tar.bz2) = 0273013e4b74a7b1bc4cfc8375c80b5c19cf33e6
RMD160 (kdebindings-4.3.5.tar.bz2) = 96fd389226116717f1ab28e71c788a99a1a15981
Size (kdebindings-4.3.5.tar.bz2) = 4881006 bytes
SHA1 (patch-aa) = f01b1d350a8e79e639f46c797baf035684275158
SHA1 (patch-ab) = cae51d216ad914009b4e9c80a17a172ec5a5eaec
+SHA1 (patch-ac) = a0fa3f5251b818cd6fc75396e2b22fc7c4abe23f
diff -r ac249c10be3c -r 2c2da6423a7f x11/kdebindings4-python/patches/patch-ac
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/x11/kdebindings4-python/patches/patch-ac Sun Feb 07 15:14:10 2010 +0000
@@ -0,0 +1,387 @@
+$NetBSD: patch-ac,v 1.1 2010/02/07 15:14:10 wiz Exp $
+
+--- python/pykde4/sip/kdecore/typedefs.sip.orig 2009-10-02 08:21:29.000000000 +0000
++++ python/pykde4/sip/kdecore/typedefs.sip
+@@ -215,6 +215,122 @@ template <TYPE1,TYPE2*>
+ %End
+ };
+
++template <TYPE1,int>
++%MappedType QMap<TYPE1,int>
++{
++%TypeHeaderCode
++#include <qmap.h>
++%End
++
++%ConvertFromTypeCode
++ // Create the dictionary.
++ PyObject *d = PyDict_New();
++
++ if (!d)
++ return NULL;
++
++ // Set the dictionary elements.
++ QMap<TYPE1, int>::const_iterator i = sipCpp->constBegin();
++
++ while (i != sipCpp->constEnd())
++ {
++ TYPE1 *t1 = new TYPE1(i.key());
++ int t2 = i.value();
++
++ PyObject *t1obj = sipConvertFromNewType(t1, sipType_TYPE1, sipTransferObj);
++#if PY_MAJOR_VERSION >= 3
++ PyObject *t2obj = PyLong_FromLong(t2);
++#else
++ PyObject *t2obj = PyInt_FromLong(t2);
++#endif
++
++ if (t1obj == NULL || t2obj == NULL || PyDict_SetItem(d, t1obj, t2obj) < 0)
++ {
++ Py_DECREF(d);
++
++ if (t1obj) {
++ Py_DECREF(t1obj);
++ } else {
++ delete t1;
++ }
++
++ if (t2obj) {
++ Py_DECREF(t2obj);
++ }
++ return NULL;
++ }
++
++ Py_DECREF(t1obj);
++ Py_DECREF(t2obj);
++
++ ++i;
++ }
++
++ return d;
++%End
++
++%ConvertToTypeCode
++ PyObject *t1obj;
++ PyObject *t2obj;
++ SIP_SSIZE_T i = 0;
++
++ // Check the type if that is all that is required.
++ if (sipIsErr == NULL)
++ {
++ if (!PyDict_Check(sipPy))
++ return 0;
++
++ while (PyDict_Next(sipPy, &i, &t1obj, &t2obj))
++ {
++ if (!sipCanConvertToType(t1obj, sipType_TYPE1, SIP_NOT_NONE))
++ return 0;
++
++#if PY_MAJOR_VERSION >= 3
++ if (!PyNumber_Check(t2obj))
++#else
++ if (!PyInt_Check(t2obj))
++#endif
++ return 0;
++ }
++
++ return 1;
++ }
++
++ QMap<TYPE1, int> *qm = new QMap<TYPE1, int>;
++
++ i = 0;
++ while (PyDict_Next(sipPy, &i, &t1obj, &t2obj))
++ {
++ int state1;
++
++ TYPE1 *t1 = reinterpret_cast<TYPE1 *>(sipConvertToType(t1obj, sipType_TYPE1, sipTransferObj, SIP_NOT_NONE, &state1, sipIsErr));
++
++#if PY_MAJOR_VERSION >= 3
++ int t2 = PyLong_AsLong (t2obj);
++#else
++ int t2 = PyInt_AS_LONG (t2obj);
++#endif
++
++ if (*sipIsErr)
++ {
++ sipReleaseType(t1, sipType_TYPE1, state1);
++
++ delete qm;
++ return 0;
++ }
++
++ qm->insert(*t1, t2);
++
++ sipReleaseType(t1, sipType_TYPE1, state1);
++ }
++
++ *sipCppPtr = qm;
++
++ return sipGetState(sipTransferObj);
++%End
++};
++
++
+ class KShared;
+
+ template <TYPE>
+@@ -239,10 +355,10 @@ template <TYPE>
+
+ %ConvertToTypeCode
+ // Convert a Python instance to a Ptr on the heap.
+-
+- if (sipIsErr == NULL)
+- return PyInstance_Check(sipPy);
+-
++ if (sipIsErr == NULL) {
++ return 1;
++ }
++
+ int iserr = 0;
+ TYPE *cpp = (TYPE *)sipForceConvertToType(sipPy, sipType_TYPE, NULL, 0, NULL, &iserr);
+
+@@ -466,91 +582,6 @@ template <TYPE1,TYPE2*>
+ %End
+ };
+
+-
+-template <TYPE*>
+-%MappedType QSet<TYPE*>
+-{
+-%TypeHeaderCode
+-#include <qset.h>
+-%End
+-
+-%ConvertFromTypeCode
+- // Create the list.
+- PyObject *l;
+-
+- if ((l = PyList_New(sipCpp->size())) == NULL)
+- return NULL;
+-
+- // Set the list elements.
+- QSet<TYPE*> set = *sipCpp;
+- int i = 0;
+- foreach ((TYPE *)value, set)
+- {
+- PyObject *obj = sipConvertFromNewType(value, sipType_TYPE, sipTransferObj);
+- if (obj == NULL || PyList_SET_ITEM (l, i, obj) < 0)
+- {
+- Py_DECREF(l);
+-
+- if (obj)
+- Py_DECREF(obj);
+-
+- return NULL;
+- }
+-
+- Py_DECREF(obj);
+- i++;
+- }
+-
+- return l;
+-%End
+-
+-%ConvertToTypeCode
+- // Check the type if that is all that is required.
+- if (sipIsErr == NULL)
+- {
+- if (!PyList_Check(sipPy))
+- return 0;
+- }
+-
+- // Check the type if that is all that is required.
+- if (sipIsErr == NULL)
+- {
+- if (!PyList_Check(sipPy))
+- return 0;
+-
+- for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+- if (!sipCanConvertToType(PyList_GET_ITEM (sipPy, i), sipType_TYPE, SIP_NOT_NONE))
+- return 0;
+- }
+-
+- QSet<TYPE*> *qs = new QSet<TYPE*>;
+-
+- for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+- {
+- int state;
+-
+- TYPE *t = reinterpret_cast<TYPE *>(sipConvertToType(PyList_GET_ITEM (l, i), sipType_TYPE, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
+-
+- if (*sipIsErr)
+- {
+- sipReleaseType(t, sipType_TYPE, state);
+-
+- delete qs;
+- return 0;
+- }
+-
+- *qs << t;
+-
+- sipReleaseType(t, sipType_TYPE, state);
+- }
+-
+- *sipCppPtr = qs;
+-
+- return sipGetState(sipTransferObj);
+-%End
+-};
+-
+-
+ template <TYPE>
+ %MappedType QSet<TYPE>
+ {
+@@ -716,12 +747,14 @@ template <TYPE1,TYPE2>
+ return NULL;
+
+ // Set the list elements.
+- for (int i = 0; i < sipCpp->size(); ++i)
+- {
++ for (int i = 0; i < sipCpp->size(); ++i) {
+ PyObject *pobj;
+
+- if ((pobj = PyInt_FromLong(sipCpp->value(i))) == NULL)
+- {
++#if PY_MAJOR_VERSION >= 3
++ if ((pobj = PyLong_FromLong(sipCpp->value(i))) == NULL) {
++#else
++ if ((pobj = PyInt_FromLong(sipCpp->value(i))) == NULL) {
++#endif
+ Py_DECREF(l);
Home |
Main Index |
Thread Index |
Old Index