diff --git a/kdebindings/PKGBUILD b/kdebindings/PKGBUILD index 08726f543..5a4a84da4 100644 --- a/kdebindings/PKGBUILD +++ b/kdebindings/PKGBUILD @@ -39,11 +39,13 @@ license=('GPL' 'LGPL' 'FDL') install=${_origname}.install options=('docs' '!splithdr' 'splitdbg' 'log') -makedepends=('pkgconfig' 'cmake' 'automoc4' "kdelibs>=${_kdever}" 'pyqt' 'qwt' +makedepends=('pkgconfig' 'cmake' 'automoc4' "kdelibs>=${_kdever}" 'pyqt' 'qwt' 'qscintilla' 'ruby' 'mono' "kdegraphics-okular>=${_kdever}" "kdegraphics-common>=${_kdever}") # "kdepim-runtime>=${_kdever}" -source=($_mirror/${_origname}-$_kdever.tar.bz2) -md5sums=(`grep ${_origname}-$_kdever.tar.bz2 ../kde-sc.md5 | cut -d" " -f1`) +source=($_mirror/${_origname}-$_kdever.tar.bz2 + pykde4-typedefs-fix.patch) +md5sums=(`grep ${_origname}-$_kdever.tar.bz2 ../kde-sc.md5 | cut -d" " -f1` + 7b1539232edcbce8753d2f6ae100c858) # @@ -58,6 +60,9 @@ build() sed -i "s|\${RUBY_INCLUDE_PATH}|\${RUBY_INCLUDE_PATH} /usr/include/ruby-1.9.1/${_ARCHITECTURE}-linux|" "${f}" done + msg "applying main patchset ..." + patch -Np1 -i ${startdir}/pykde4-typedefs-fix.patch || return 1 + msg "starting build ..." export JAVA_HOME=/opt/java export MAKEFLAGS="-j1" diff --git a/kdebindings/pykde4-typedefs-fix.patch b/kdebindings/pykde4-typedefs-fix.patch new file mode 100644 index 000000000..6fb5714ad --- /dev/null +++ b/kdebindings/pykde4-typedefs-fix.patch @@ -0,0 +1,155 @@ +--- pykde4-4.5.5/python/pykde4/sip/kdecore/typedefs.sip~ 2010-11-02 12:51:10.000000000 +0000 ++++ pykde4-4.5.5/python/pykde4/sip/kdecore/typedefs.sip 2011-01-08 22:34:29.006096324 +0000 +@@ -582,90 +582,6 @@ + %End + }; + +-template +-%MappedType QSet +-{ +-%TypeHeaderCode +-#include +-%End +- +-%ConvertFromTypeCode +- // Create the list. +- PyObject *l; +- +- if ((l = PyList_New(sipCpp->size())) == NULL) +- return NULL; +- +- // Set the list elements. +- QSet 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 *qs = new QSet; +- +- for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) +- { +- int state; +- +- TYPE *t = reinterpret_cast(sipConvertToType(PyList_GET_ITEM (sipPy, 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 + %MappedType QPair + { +@@ -730,61 +646,6 @@ + + return sipGetState(sipTransferObj); + %End +-}; +- +- +-%MappedType QList +-{ +-%TypeHeaderCode +-#include +-%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) { +- PyObject *pobj; +- +-#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); +- +- return NULL; +- } +- +- PyList_SET_ITEM(l, i, pobj); +- } +- +- return l; +-%End +- +-%ConvertToTypeCode +- // Check the type if that is all that is required. +- if (sipIsErr == NULL) +- return PyList_Check(sipPy); +- +- QList *ql = new QList; +- +- for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) { +-#if PY_MAJOR_VERSION >= 3 +- ql->append(PyLong_AsLong(PyList_GET_ITEM(sipPy, i))); +-#else +- ql->append(PyInt_AsLong(PyList_GET_ITEM(sipPy, i))); +-#endif +- } +- +- *sipCppPtr = ql; +- +- return sipGetState(sipTransferObj); +-%End + }; + +