From 0dcd86ef0fc11751166b460485a2fcc8c5298a11 Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Wed, 24 Nov 2010 10:49:34 +0000 Subject: [PATCH] Make kdebindings compile with newer sip svn path=/nixpkgs/trunk/; revision=24838 --- pkgs/desktops/kde-4.5/bindings/default.nix | 2 +- pkgs/desktops/kde-4.5/bindings/sip-4.11.patch | 67 +++++++++++++++++++ 2 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 pkgs/desktops/kde-4.5/bindings/sip-4.11.patch diff --git a/pkgs/desktops/kde-4.5/bindings/default.nix b/pkgs/desktops/kde-4.5/bindings/default.nix index 17dd970898bb..03a2051321e0 100644 --- a/pkgs/desktops/kde-4.5/bindings/default.nix +++ b/pkgs/desktops/kde-4.5/bindings/default.nix @@ -6,7 +6,7 @@ # some bindings are even broken. kde.package rec { - patches = [ ./python-site-packages-install-dir.diff ]; + patches = [ ./python-site-packages-install-dir.diff ./sip-4.11.patch ]; preConfigure = '' CUSTOM_RUBY_SITE_ARCH_DIR=$(ruby -r rbconfig -e "print Config::CONFIG['sitearchdir']" | sed -e "s@${ruby}@$out@") diff --git a/pkgs/desktops/kde-4.5/bindings/sip-4.11.patch b/pkgs/desktops/kde-4.5/bindings/sip-4.11.patch new file mode 100644 index 000000000000..15059e2526d2 --- /dev/null +++ b/pkgs/desktops/kde-4.5/bindings/sip-4.11.patch @@ -0,0 +1,67 @@ +Make kdebindings compile against sip-4.11, from KDE svn +Index: kdebindings/python/pykde4/sip/kdecore/typedefs.sip +=================================================================== +--- kdebindings/python/pykde4/sip/kdecore/typedefs.sip (revision 1170601) ++++ kdebindings/python/pykde4/sip/kdecore/typedefs.sip (revision 1170602) +@@ -733,61 +733,6 @@ + }; + + +-%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 +-}; +- +- + template + %MappedType QStack + {