Fix KDE 4.8 and 4.7 build against new SIP

This commit is contained in:
Evgeny Egorochkin 2013-05-06 22:13:25 +03:00
parent f8ee077afc
commit 0256e55934
4 changed files with 184 additions and 2 deletions

View file

@ -0,0 +1,91 @@
commit 017822bd0dfc83fe9a7a483ecc33f4aab839a3c6
Author: Luca Beltrame <lbeltrame@kde.org>
Date: Mon Oct 1 20:47:56 2012 +0200
Remove duplicated QVector<int> definition, since it's in PyQt now.
Simon, if you have time, please review if everything is OK.
CCMAIL: simon@simonzone.com
diff --git a/sip/kdecore/typedefs.sip b/sip/kdecore/typedefs.sip
index 5a0a080..73dad01 100644
--- a/sip/kdecore/typedefs.sip
+++ b/sip/kdecore/typedefs.sip
@@ -951,77 +951,3 @@ template <TYPE1>
%End
};
-%MappedType QVector<int>
-{
-%TypeHeaderCode
-#include <qvector.h>
-%End
-
-%ConvertFromTypeCode
- // Create the list.
- PyObject *l;
-
- if ((l = PyList_New(sipCpp->size())) == NULL)
- return NULL;
-
- // Set the list elements.
- for (int i = 0; i < sipCpp->size(); ++i)
- {
- int t = (sipCpp->at(i));
-
-#if PY_MAJOR_VERSION >= 3
- PyObject *tobj = PyLong_FromLong(t);
-#else
- PyObject *tobj = PyInt_FromLong(t);
-#endif
-
- PyList_SET_ITEM(l, i, tobj);
- }
-
- return l;
-%End
-
-%ConvertToTypeCode
- // 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) {
- PyObject *tobj = PyList_GET_ITEM(sipPy, i);
-#if PY_MAJOR_VERSION >= 3
- if (!PyNumber_Check(tobj))
-#else
- if (!PyInt_Check(tobj))
-#endif
- return 0;
- }
- return 1;
- }
-
- QVector<int> *qv = new QVector<int>;
-
- for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
- {
- PyObject *tobj = PyList_GET_ITEM(sipPy, i);
- #if PY_MAJOR_VERSION >= 3
- int t = PyLong_AsLong (tobj);
-#else
- int t = PyInt_AS_LONG (tobj);
-#endif
-
- if (*sipIsErr)
- {
- delete qv;
- return 0;
- }
-
- qv->append(t);
- }
-
- *sipCppPtr = qv;
-
- return sipGetState(sipTransferObj);
-%End
-};

View file

@ -10,7 +10,7 @@ kde {
#NIX_CFLAGS_COMPILE = "-I${phonon}/include/phonon";
patches = [ ./pykde-purity.patch ];
patches = [ ./pykde-purity.patch ./pykde4-new-sip.patch ];
cmakeFlags = "-DHARDCODE_LIB_PYTHON_PATH=ON";

View file

@ -0,0 +1,91 @@
commit 017822bd0dfc83fe9a7a483ecc33f4aab839a3c6
Author: Luca Beltrame <lbeltrame@kde.org>
Date: Mon Oct 1 20:47:56 2012 +0200
Remove duplicated QVector<int> definition, since it's in PyQt now.
Simon, if you have time, please review if everything is OK.
CCMAIL: simon@simonzone.com
diff --git a/sip/kdecore/typedefs.sip b/sip/kdecore/typedefs.sip
index 5a0a080..73dad01 100644
--- a/sip/kdecore/typedefs.sip
+++ b/sip/kdecore/typedefs.sip
@@ -951,77 +951,3 @@ template <TYPE1>
%End
};
-%MappedType QVector<int>
-{
-%TypeHeaderCode
-#include <qvector.h>
-%End
-
-%ConvertFromTypeCode
- // Create the list.
- PyObject *l;
-
- if ((l = PyList_New(sipCpp->size())) == NULL)
- return NULL;
-
- // Set the list elements.
- for (int i = 0; i < sipCpp->size(); ++i)
- {
- int t = (sipCpp->at(i));
-
-#if PY_MAJOR_VERSION >= 3
- PyObject *tobj = PyLong_FromLong(t);
-#else
- PyObject *tobj = PyInt_FromLong(t);
-#endif
-
- PyList_SET_ITEM(l, i, tobj);
- }
-
- return l;
-%End
-
-%ConvertToTypeCode
- // 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) {
- PyObject *tobj = PyList_GET_ITEM(sipPy, i);
-#if PY_MAJOR_VERSION >= 3
- if (!PyNumber_Check(tobj))
-#else
- if (!PyInt_Check(tobj))
-#endif
- return 0;
- }
- return 1;
- }
-
- QVector<int> *qv = new QVector<int>;
-
- for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
- {
- PyObject *tobj = PyList_GET_ITEM(sipPy, i);
- #if PY_MAJOR_VERSION >= 3
- int t = PyLong_AsLong (tobj);
-#else
- int t = PyInt_AS_LONG (tobj);
-#endif
-
- if (*sipIsErr)
- {
- delete qv;
- return 0;
- }
-
- qv->append(t);
- }
-
- *sipCppPtr = qv;
-
- return sipGetState(sipTransferObj);
-%End
-};

View file

@ -8,7 +8,7 @@ kde {
propagatedBuildInputs = [ pyqt4 sip ];
patches = [ ./pykde4-hardcode-lib-python.patch ];
patches = [ ./pykde4-hardcode-lib-python.patch ./pykde4-new-sip.patch ];
cmakeFlags = "-DHARDCODE_LIB_PYTHON_PATH=ON ";