summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorYury G. Kudryashov <urkud.urkud@gmail.com>2010-11-24 10:49:34 +0000
committerYury G. Kudryashov <urkud.urkud@gmail.com>2010-11-24 10:49:34 +0000
commit0dcd86ef0fc11751166b460485a2fcc8c5298a11 (patch)
tree811a118f1cb263076166bca4828870778d3e6be1 /pkgs/desktops
parent8f07ddbdbbfdd7b3a227c54383f4ffa89d1f2443 (diff)
downloadnixpkgs-0dcd86ef0fc11751166b460485a2fcc8c5298a11.tar
nixpkgs-0dcd86ef0fc11751166b460485a2fcc8c5298a11.tar.gz
nixpkgs-0dcd86ef0fc11751166b460485a2fcc8c5298a11.tar.bz2
nixpkgs-0dcd86ef0fc11751166b460485a2fcc8c5298a11.tar.lz
nixpkgs-0dcd86ef0fc11751166b460485a2fcc8c5298a11.tar.xz
nixpkgs-0dcd86ef0fc11751166b460485a2fcc8c5298a11.tar.zst
nixpkgs-0dcd86ef0fc11751166b460485a2fcc8c5298a11.zip
Make kdebindings compile with newer sip
svn path=/nixpkgs/trunk/; revision=24838
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/kde-4.5/bindings/default.nix2
-rw-r--r--pkgs/desktops/kde-4.5/bindings/sip-4.11.patch67
2 files changed, 68 insertions, 1 deletions
diff --git a/pkgs/desktops/kde-4.5/bindings/default.nix b/pkgs/desktops/kde-4.5/bindings/default.nix
index 17dd970898b..03a2051321e 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 00000000000..15059e2526d
--- /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<uint>
+-{
+-%TypeHeaderCode
+-#include <qlist.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) {
+-        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<uint> *ql = new QList<uint>;
+- 
+-    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 <TYPE*>
+ %MappedType QStack<TYPE*>
+ {