diff options
Diffstat (limited to 'devel/py-pykde4-kde4/files')
9 files changed, 683 insertions, 0 deletions
diff --git a/devel/py-pykde4-kde4/files/kdebindings4.pth.in b/devel/py-pykde4-kde4/files/kdebindings4.pth.in new file mode 100644 index 000000000000..216704e831bb --- /dev/null +++ b/devel/py-pykde4-kde4/files/kdebindings4.pth.in @@ -0,0 +1 @@ +%%PYTHONPREFIX_SITELIBDIR%% diff --git a/devel/py-pykde4-kde4/files/patch-CMakeLists.txt b/devel/py-pykde4-kde4/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..1b3ccdc67277 --- /dev/null +++ b/devel/py-pykde4-kde4/files/patch-CMakeLists.txt @@ -0,0 +1,21 @@ +--- CMakeLists.txt.orig 2014-08-14 22:17:11 UTC ++++ CMakeLists.txt +@@ -99,6 +99,9 @@ include_directories( + ${KDEPIMLIBS_INCLUDE_DIRS} + ) + ++# Pull in ARM configuration options if needed ++STRING(REGEX MATCH "PyQt_qreal_double" SIP_ARM_HACK ${PYQT4_SIP_FLAGS} "") ++ + set(SIP_INCLUDES ${CMAKE_BINARY_DIR} ${PYQT4_SIP_DIR} sip) + set(SIP_CONCAT_PARTS 8) + if (WIN32) +@@ -106,7 +109,7 @@ if (WIN32) + else () + set(SIP_TAGS ALL WS_X11 ${PYQT4_VERSION_TAG}) + endif () +-set(SIP_DISABLE_FEATURES VendorID PyQt_NoPrintRangeBug) ++set(SIP_DISABLE_FEATURES VendorID PyQt_NoPrintRangeBug ${SIP_ARM_HACK}) + + set(SIP_FILES_INSTALL_DIR ${SHARE_INSTALL_PREFIX}/sip) + diff --git a/devel/py-pykde4-kde4/files/patch-__init__.py b/devel/py-pykde4-kde4/files/patch-__init__.py new file mode 100644 index 000000000000..aad9e5904c5b --- /dev/null +++ b/devel/py-pykde4-kde4/files/patch-__init__.py @@ -0,0 +1,10 @@ +--- ./__init__.py.orig 2011-05-20 22:33:41.000000000 +0200 ++++ ./__init__.py 2011-09-01 16:43:57.371033306 +0200 +@@ -1,4 +1,3 @@ +-import sys,DLFCN ++import sys, ctypes + # This is needed to ensure that dynamic_cast and RTTI works inside kdelibs. +-sys.setdlopenflags(DLFCN.RTLD_NOW|DLFCN.RTLD_GLOBAL) +- +\ No newline at end of file ++sys.setdlopenflags(ctypes.RTLD_GLOBAL) diff --git a/devel/py-pykde4-kde4/files/patch-git_2d1eadf5 b/devel/py-pykde4-kde4/files/patch-git_2d1eadf5 new file mode 100644 index 000000000000..cd1cf8059184 --- /dev/null +++ b/devel/py-pykde4-kde4/files/patch-git_2d1eadf5 @@ -0,0 +1,563 @@ +Fixes the build with SIP 4.19.6 (possibly earlier but > 4.19.2). + +From 2d1eadf5d0148c88cb4393993f0269e196cbe7b1 Mon Sep 17 00:00:00 2001 +From: Johannes Huber <johu@gentoo.org> +Date: Mon, 9 Jan 2017 11:52:12 +0100 +Subject: [PATCH] Fix build with sip 4.19 + +REVIEW: 129799 + +--- sip/dnssd/remoteservice.sip ++++ sip/dnssd/remoteservice.sip +@@ -66,7 +66,7 @@ protected: + DNSSD::RemoteService::Ptr *t = new DNSSD::RemoteService::Ptr (sipCpp->at(i)); + PyObject *tobj; + +- if ((tobj = sipConvertFromNewInstance(t->data(), sipClass_DNSSD_RemoteService, sipTransferObj)) == NULL) ++ if ((tobj = sipConvertFromNewType(t->data(), sipType_DNSSD_RemoteService, sipTransferObj)) == NULL) + { + Py_DECREF(l); + delete t; +@@ -88,7 +88,7 @@ protected: + return 0; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) +- if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_DNSSD_RemoteService, SIP_NOT_NONE)) ++ if (!sipCanConvertToType(PyList_GET_ITEM(sipPy, i), sipType_DNSSD_RemoteService, SIP_NOT_NONE)) + return 0; + + return 1; +@@ -99,11 +99,11 @@ protected: + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + { + int state; +- DNSSD::RemoteService *t = reinterpret_cast<DNSSD::RemoteService *>(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_DNSSD_RemoteService, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); ++ DNSSD::RemoteService *t = reinterpret_cast<DNSSD::RemoteService *>(sipConvertToType(PyList_GET_ITEM(sipPy, i), sipType_DNSSD_RemoteService, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); + + if (*sipIsErr) + { +- sipReleaseInstance(t, sipClass_DNSSD_RemoteService, state); ++ sipReleaseType(t, sipType_DNSSD_RemoteService, state); + + delete ql; + return 0; +@@ -113,7 +113,7 @@ protected: + + ql->append(*tptr); + +- sipReleaseInstance(t, sipClass_DNSSD_RemoteService, state); ++ sipReleaseType(t, sipType_DNSSD_RemoteService, state); + } + + *sipCppPtr = ql; +--- sip/kdecore/kmimetype.sip ++++ sip/kdecore/kmimetype.sip +@@ -100,7 +100,7 @@ public: + KMimeType::Ptr *t = new KMimeType::Ptr (sipCpp->at(i)); + PyObject *tobj; + +- if ((tobj = sipConvertFromNewInstance(t->data(), sipClass_KMimeType, sipTransferObj)) == NULL) ++ if ((tobj = sipConvertFromNewType(t->data(), sipType_KMimeType, sipTransferObj)) == NULL) + { + Py_DECREF(l); + delete t; +@@ -122,7 +122,7 @@ public: + return 0; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) +- if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_KMimeType, SIP_NOT_NONE)) ++ if (!sipCanConvertToType(PyList_GET_ITEM(sipPy, i), sipType_KMimeType, SIP_NOT_NONE)) + return 0; + + return 1; +@@ -133,11 +133,11 @@ public: + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + { + int state; +- KMimeType *t = reinterpret_cast<KMimeType *>(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_KMimeType, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); ++ KMimeType *t = reinterpret_cast<KMimeType *>(sipConvertToType(PyList_GET_ITEM(sipPy, i), sipType_KMimeType, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); + + if (*sipIsErr) + { +- sipReleaseInstance(t, sipClass_KMimeType, state); ++ sipReleaseType(t, sipType_KMimeType, state); + + delete ql; + return 0; +@@ -147,7 +147,7 @@ public: + + ql->append(*tptr); + +- sipReleaseInstance(t, sipClass_KMimeType, state); ++ sipReleaseType(t, sipType_KMimeType, state); + } + + *sipCppPtr = ql; +--- sip/kdecore/ksharedconfig.sip ++++ sip/kdecore/ksharedconfig.sip +@@ -65,7 +65,7 @@ typedef KSharedConfig::Ptr KSharedConfigPtr; + KSharedConfigPtr kcpp = *sipCpp; + KSharedConfig *ksc = kcpp.data (); + ksc->ref.ref(); +- PyObject *pyKsc = sipConvertFromInstance(ksc, sipClass_KSharedConfig, sipTransferObj); ++ PyObject *pyKsc = sipConvertFromType(ksc, sipType_KSharedConfig, sipTransferObj); + return pyKsc; + %End + +@@ -74,7 +74,7 @@ typedef KSharedConfig::Ptr KSharedConfigPtr; + return 1; + + int state; +- KSharedConfig* ksc = (KSharedConfig *)sipConvertToInstance(sipPy, sipClass_KSharedConfig, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr); ++ KSharedConfig* ksc = (KSharedConfig *)sipConvertToType(sipPy, sipType_KSharedConfig, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr); + *sipCppPtr = new KSharedConfigPtr (ksc); + ksc->ref.deref(); + return sipGetState(sipTransferObj); +--- sip/kdecore/ksycocaentry.sip ++++ sip/kdecore/ksycocaentry.sip +@@ -83,7 +83,7 @@ private: + KSycocaEntry::Ptr *t = new KSycocaEntry::Ptr (sipCpp->at(i)); + PyObject *tobj; + +- if ((tobj = sipConvertFromNewInstance(t->data(), sipClass_KSycocaEntry, sipTransferObj)) == NULL) ++ if ((tobj = sipConvertFromNewType(t->data(), sipType_KSycocaEntry, sipTransferObj)) == NULL) + { + Py_DECREF(l); + delete t; +@@ -105,7 +105,7 @@ private: + return 0; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) +- if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_KSycocaEntry, SIP_NOT_NONE)) ++ if (!sipCanConvertToType(PyList_GET_ITEM(sipPy, i), sipType_KSycocaEntry, SIP_NOT_NONE)) + return 0; + + return 1; +@@ -116,11 +116,11 @@ private: + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + { + int state; +- KSycocaEntry *t = reinterpret_cast<KSycocaEntry *>(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_KSycocaEntry, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); ++ KSycocaEntry *t = reinterpret_cast<KSycocaEntry *>(sipConvertToType(PyList_GET_ITEM(sipPy, i), sipType_KSycocaEntry, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); + + if (*sipIsErr) + { +- sipReleaseInstance(t, sipClass_KSycocaEntry, state); ++ sipReleaseType(t, sipType_KSycocaEntry, state); + + delete ql; + return 0; +@@ -130,7 +130,7 @@ private: + + ql->append(*tptr); + +- sipReleaseInstance(t, sipClass_KSycocaEntry, state); ++ sipReleaseType(t, sipType_KSycocaEntry, state); + } + + *sipCppPtr = ql; +--- sip/kdecore/typedefs.sip ++++ sip/kdecore/typedefs.sip +@@ -397,8 +397,8 @@ template <TYPE1,TYPE2> + TYPE1 *t1 = new TYPE1(i.key()); + TYPE2 *t2 = new TYPE2(i.value()); + +- PyObject *t1obj = sipConvertFromNewInstance(t1, sipClass_TYPE1, sipTransferObj); +- PyObject *t2obj = sipConvertFromNewInstance(t2, sipClass_TYPE2, sipTransferObj); ++ PyObject *t1obj = sipConvertFromNewType(t1, sipType_TYPE1, sipTransferObj); ++ PyObject *t2obj = sipConvertFromNewType(t2, sipType_TYPE2, sipTransferObj); + + if (t1obj == NULL || t2obj == NULL || PyDict_SetItem(d, t1obj, t2obj) < 0) + { +@@ -438,10 +438,10 @@ template <TYPE1,TYPE2> + + while (PyDict_Next(sipPy, &i, &t1obj, &t2obj)) + { +- if (!sipCanConvertToInstance(t1obj, sipClass_TYPE1, SIP_NOT_NONE)) ++ if (!sipCanConvertToType(t1obj, sipType_TYPE1, SIP_NOT_NONE)) + return 0; + +- if (!sipCanConvertToInstance(t2obj, sipClass_TYPE2, SIP_NOT_NONE)) ++ if (!sipCanConvertToType(t2obj, sipType_TYPE2, SIP_NOT_NONE)) + return 0; + } + +@@ -454,13 +454,13 @@ template <TYPE1,TYPE2> + { + int state1, state2; + +- TYPE1 *t1 = reinterpret_cast<TYPE1 *>(sipConvertToInstance(t1obj, sipClass_TYPE1, sipTransferObj, SIP_NOT_NONE, &state1, sipIsErr)); +- TYPE2 *t2 = reinterpret_cast<TYPE2 *>(sipConvertToInstance(t2obj, sipClass_TYPE2, sipTransferObj, SIP_NOT_NONE, &state2, sipIsErr)); ++ TYPE1 *t1 = reinterpret_cast<TYPE1 *>(sipConvertToType(t1obj, sipType_TYPE1, sipTransferObj, SIP_NOT_NONE, &state1, sipIsErr)); ++ TYPE2 *t2 = reinterpret_cast<TYPE2 *>(sipConvertToType(t2obj, sipType_TYPE2, sipTransferObj, SIP_NOT_NONE, &state2, sipIsErr)); + + if (*sipIsErr) + { +- sipReleaseInstance(t1, sipClass_TYPE1, state1); +- sipReleaseInstance(t2, sipClass_TYPE2, state2); ++ sipReleaseType(t1, sipType_TYPE1, state1); ++ sipReleaseType(t2, sipType_TYPE2, state2); + + delete qm; + return 0; +@@ -468,8 +468,8 @@ template <TYPE1,TYPE2> + + qm->insert(*t1, *t2); + +- sipReleaseInstance(t1, sipClass_TYPE1, state1); +- sipReleaseInstance(t2, sipClass_TYPE2, state2); ++ sipReleaseType(t1, sipType_TYPE1, state1); ++ sipReleaseType(t2, sipType_TYPE2, state2); + } + + *sipCppPtr = qm; +@@ -669,7 +669,7 @@ template <TYPE*> + TYPE *t = (TYPE *)(sipCpp->at(i)); + PyObject *tobj; + +- if ((tobj = sipConvertFromNewInstance(t, sipClass_TYPE, sipTransferObj)) == NULL) ++ if ((tobj = sipConvertFromNewType(t, sipType_TYPE, sipTransferObj)) == NULL) + { + Py_DECREF(l); + delete t; +@@ -691,7 +691,7 @@ template <TYPE*> + return 0; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) +- if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_TYPE, SIP_NOT_NONE)) ++ if (!sipCanConvertToType(PyList_GET_ITEM(sipPy, i), sipType_TYPE, SIP_NOT_NONE)) + return 0; + + return 1; +@@ -702,11 +702,11 @@ template <TYPE*> + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + { + int state; +- TYPE *t = reinterpret_cast<TYPE *>(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_TYPE, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); ++ TYPE *t = reinterpret_cast<TYPE *>(sipConvertToType(PyList_GET_ITEM(sipPy, i), sipType_TYPE, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); + + if (*sipIsErr) + { +- sipReleaseInstance(t, sipClass_TYPE, state); ++ sipReleaseType(t, sipType_TYPE, state); + + delete qv; + return 0; +@@ -714,7 +714,7 @@ template <TYPE*> + + qv->append(t); + +- sipReleaseInstance(t, sipClass_TYPE, state); ++ sipReleaseType(t, sipType_TYPE, state); + } + + *sipCppPtr = qv; +--- sip/kdeui/kcompletion.sip ++++ sip/kdeui/kcompletion.sip +@@ -176,7 +176,7 @@ public: + #else + PyObject *kobj = PyInt_FromLong((int)i.key()); + #endif +- PyObject *tobj = sipConvertFromNewInstance(t, sipClass_KShortcut, sipTransferObj); ++ PyObject *tobj = sipConvertFromNewType(t, sipType_KShortcut, sipTransferObj); + + if (kobj == NULL || tobj == NULL || PyDict_SetItem(d, kobj, tobj) < 0) + { +@@ -213,7 +213,7 @@ public: + return 0; + + while (PyDict_Next(sipPy, &i, &kobj, &tobj)) +- if (!sipCanConvertToInstance(tobj, sipClass_KShortcut, SIP_NOT_NONE)) ++ if (!sipCanConvertToType(tobj, sipType_KShortcut, SIP_NOT_NONE)) + return 0; + + return 1; +@@ -229,11 +229,11 @@ public: + #else + int k = PyInt_AsLong(kobj); + #endif +- KShortcut *t = reinterpret_cast<KShortcut *>(sipConvertToInstance(tobj, sipClass_KShortcut, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); ++ KShortcut *t = reinterpret_cast<KShortcut *>(sipConvertToType(tobj, sipType_KShortcut, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); + + if (*sipIsErr) + { +- sipReleaseInstance(t, sipClass_KShortcut, state); ++ sipReleaseType(t, sipType_KShortcut, state); + + delete qm; + return 0; +@@ -241,7 +241,7 @@ public: + + qm->insert((KCompletionBase::KeyBindingType)k, *t); + +- sipReleaseInstance(t, sipClass_KShortcut, state); ++ sipReleaseType(t, sipType_KShortcut, state); + } + + *sipCppPtr = qm; +--- sip/kdeui/kxmlguibuilder.sip ++++ sip/kdeui/kxmlguibuilder.sip +@@ -49,10 +49,10 @@ QAction *containerAction; + PyObject *pyWidget; + PyObject *pyContainerAction; + +- if ((pyWidget = sipConvertFromNewInstance(res, sipClass_QWidget, NULL)) == NULL) ++ if ((pyWidget = sipConvertFromNewType(res, sipType_QWidget, NULL)) == NULL) + return NULL; + +- if ((pyContainerAction = sipConvertFromNewInstance(containerAction, sipClass_QAction, NULL)) == NULL) ++ if ((pyContainerAction = sipConvertFromNewType(containerAction, sipType_QAction, NULL)) == NULL) + return NULL; + + sipRes = Py_BuildValue ("NN", pyWidget, pyContainerAction); +--- sip/kio/kservicegroup.sip ++++ sip/kio/kservicegroup.sip +@@ -151,7 +151,7 @@ public: + KServiceGroup::SPtr *t = new KServiceGroup::SPtr (sipCpp->at(i)); + PyObject *tobj; + +- if ((tobj = sipConvertFromNewInstance(t->data(), sipClass_KServiceGroup, sipTransferObj)) == NULL) ++ if ((tobj = sipConvertFromNewType(t->data(), sipType_KServiceGroup, sipTransferObj)) == NULL) + { + Py_DECREF(l); + delete t; +@@ -173,7 +173,7 @@ public: + return 0; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) +- if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_KServiceGroup, SIP_NOT_NONE)) ++ if (!sipCanConvertToType(PyList_GET_ITEM(sipPy, i), sipType_KServiceGroup, SIP_NOT_NONE)) + return 0; + + return 1; +@@ -184,11 +184,11 @@ public: + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + { + int state; +- KServiceGroup *t = reinterpret_cast<KServiceGroup *>(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_KServiceGroup, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); ++ KServiceGroup *t = reinterpret_cast<KServiceGroup *>(sipConvertToType(PyList_GET_ITEM(sipPy, i), sipType_KServiceGroup, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); + + if (*sipIsErr) + { +- sipReleaseInstance(t, sipClass_KServiceGroup, state); ++ sipReleaseType(t, sipType_KServiceGroup, state); + + delete ql; + return 0; +@@ -198,7 +198,7 @@ public: + + ql->append(*tptr); + +- sipReleaseInstance(t, sipClass_KServiceGroup, state); ++ sipReleaseType(t, sipType_KServiceGroup, state); + } + + *sipCppPtr = ql; +--- sip/ktexteditor/markinterface.sip ++++ sip/ktexteditor/markinterface.sip +@@ -158,7 +158,7 @@ signals: + #else + PyObject *t1obj = PyInt_FromLong ((long)t1); + #endif +- PyObject *t2obj = sipConvertFromNewInstance(t2, sipClass_KTextEditor_Mark, sipTransferObj); ++ PyObject *t2obj = sipConvertFromNewType(t2, sipType_KTextEditor_Mark, sipTransferObj); + + if (t2obj == NULL || PyDict_SetItem(d, t1obj, t2obj) < 0) + { +@@ -203,7 +203,7 @@ signals: + #endif + return 0; + +- if (!sipCanConvertToInstance(t2obj, sipClass_KTextEditor_Mark, SIP_NOT_NONE)) ++ if (!sipCanConvertToType(t2obj, sipType_KTextEditor_Mark, SIP_NOT_NONE)) + return 0; + } + +@@ -221,11 +221,11 @@ signals: + #else + int t1 = PyInt_AS_LONG (t1obj); + #endif +- KTextEditor::Mark *t2 = reinterpret_cast<KTextEditor::Mark *>(sipConvertToInstance(t2obj, sipClass_KTextEditor_Mark, sipTransferObj, SIP_NOT_NONE, &state2, sipIsErr)); ++ KTextEditor::Mark *t2 = reinterpret_cast<KTextEditor::Mark *>(sipConvertToType(t2obj, sipType_KTextEditor_Mark, sipTransferObj, SIP_NOT_NONE, &state2, sipIsErr)); + + if (*sipIsErr) + { +- sipReleaseInstance(t2, sipClass_KTextEditor_Mark, state2); ++ sipReleaseType(t2, sipType_KTextEditor_Mark, state2); + + delete qm; + return 0; +@@ -233,7 +233,7 @@ signals: + + qm->insert(t1, t2); + +- sipReleaseInstance(t2, sipClass_KTextEditor_Mark, state2); ++ sipReleaseType(t2, sipType_KTextEditor_Mark, state2); + } + + *sipCppPtr = qm; +--- sip/phonon/objectdescription.sip ++++ sip/phonon/objectdescription.sip +@@ -116,7 +116,7 @@ void registerMetaTypes (); + DNSSD::RemoteService::Ptr *t = new Phonon::ObjectDescription (sipCpp->at(i)); + PyObject *tobj; + +- if ((tobj = sipConvertFromNewInstance(t->data(), sipClass_DNSSD_RemoteService, sipTransferObj)) == NULL) ++ if ((tobj = sipConvertFromNewType(t->data(), sipType_DNSSD_RemoteService, sipTransferObj)) == NULL) + { + Py_DECREF(l); + delete t; +@@ -138,7 +138,7 @@ void registerMetaTypes (); + return 0; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) +- if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_DNSSD_RemoteService, SIP_NOT_NONE)) ++ if (!sipCanConvertToType(PyList_GET_ITEM(sipPy, i), sipType_DNSSD_RemoteService, SIP_NOT_NONE)) + return 0; + + return 1; +@@ -149,11 +149,11 @@ void registerMetaTypes (); + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + { + int state; +- DNSSD::RemoteService *t = reinterpret_cast<DNSSD::RemoteService *>(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_DNSSD_RemoteService, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); ++ DNSSD::RemoteService *t = reinterpret_cast<DNSSD::RemoteService *>(sipConvertToType(PyList_GET_ITEM(sipPy, i), sipType_DNSSD_RemoteService, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); + + if (*sipIsErr) + { +- sipReleaseInstance(t, sipClass_DNSSD_RemoteService, state); ++ sipReleaseType(t, sipType_DNSSD_RemoteService, state); + + delete ql; + return 0; +@@ -163,7 +163,7 @@ void registerMetaTypes (); + + ql->append(*tptr); + +- sipReleaseInstance(t, sipClass_DNSSD_RemoteService, state); ++ sipReleaseType(t, sipType_DNSSD_RemoteService, state); + } + + *sipCppPtr = ql; +--- sip/soprano/pluginmanager.sip ++++ sip/soprano/pluginmanager.sip +@@ -73,7 +73,7 @@ public: + Soprano::Backend* t = const_cast<Soprano::Backend*>(sipCpp->at(i)); + PyObject *tobj; + +- if ((tobj = sipConvertFromInstance(t, sipClass_Soprano_Backend, sipTransferObj)) == NULL) ++ if ((tobj = sipConvertFromType(t, sipType_Soprano_Backend, sipTransferObj)) == NULL) + { + Py_DECREF(l); + return NULL; +@@ -93,7 +93,7 @@ public: + return 0; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) +- if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_Soprano_Backend, SIP_NOT_NONE)) ++ if (!sipCanConvertToType(PyList_GET_ITEM(sipPy, i), sipType_Soprano_Backend, SIP_NOT_NONE)) + return 0; + + return 1; +@@ -104,18 +104,18 @@ public: + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + { + int state; +- const Soprano::Backend*t = reinterpret_cast<const Soprano::Backend*>(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_Soprano_Backend, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); ++ const Soprano::Backend*t = reinterpret_cast<const Soprano::Backend*>(sipConvertToType(PyList_GET_ITEM(sipPy, i), sipType_Soprano_Backend, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); + + if (*sipIsErr) + { +- sipReleaseInstance(const_cast<Soprano::Backend*>(t), sipClass_Soprano_Backend, state); ++ sipReleaseType(const_cast<Soprano::Backend*>(t), sipType_Soprano_Backend, state); + + delete ql; + return 0; + } + ql->append(t); + +- sipReleaseInstance(const_cast<Soprano::Backend*>(t), sipClass_Soprano_Backend, state); ++ sipReleaseType(const_cast<Soprano::Backend*>(t), sipType_Soprano_Backend, state); + } + + *sipCppPtr = ql; +@@ -144,7 +144,7 @@ public: + Soprano::Parser* t = const_cast<Soprano::Parser*>(sipCpp->at(i)); + PyObject *tobj; + +- if ((tobj = sipConvertFromInstance(t, sipClass_Soprano_Parser, sipTransferObj)) == NULL) ++ if ((tobj = sipConvertFromType(t, sipType_Soprano_Parser, sipTransferObj)) == NULL) + { + Py_DECREF(l); + return NULL; +@@ -164,7 +164,7 @@ public: + return 0; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) +- if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_Soprano_Parser, SIP_NOT_NONE)) ++ if (!sipCanConvertToType(PyList_GET_ITEM(sipPy, i), sipType_Soprano_Parser, SIP_NOT_NONE)) + return 0; + + return 1; +@@ -175,18 +175,18 @@ public: + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + { + int state; +- const Soprano::Parser*t = reinterpret_cast<const Soprano::Parser*>(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_Soprano_Parser, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); ++ const Soprano::Parser*t = reinterpret_cast<const Soprano::Parser*>(sipConvertToType(PyList_GET_ITEM(sipPy, i), sipType_Soprano_Parser, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); + + if (*sipIsErr) + { +- sipReleaseInstance(const_cast<Soprano::Parser*>(t), sipClass_Soprano_Parser, state); ++ sipReleaseType(const_cast<Soprano::Parser*>(t), sipType_Soprano_Parser, state); + + delete ql; + return 0; + } + ql->append(t); + +- sipReleaseInstance(const_cast<Soprano::Parser*>(t), sipClass_Soprano_Parser, state); ++ sipReleaseType(const_cast<Soprano::Parser*>(t), sipType_Soprano_Parser, state); + } + + *sipCppPtr = ql; +@@ -215,7 +215,7 @@ public: + Soprano::Serializer* t = const_cast<Soprano::Serializer*>(sipCpp->at(i)); + PyObject *tobj; + +- if ((tobj = sipConvertFromInstance(t, sipClass_Soprano_Serializer, sipTransferObj)) == NULL) ++ if ((tobj = sipConvertFromType(t, sipType_Soprano_Serializer, sipTransferObj)) == NULL) + { + Py_DECREF(l); + return NULL; +@@ -235,7 +235,7 @@ public: + return 0; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) +- if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_Soprano_Serializer, SIP_NOT_NONE)) ++ if (!sipCanConvertToType(PyList_GET_ITEM(sipPy, i), sipType_Soprano_Serializer, SIP_NOT_NONE)) + return 0; + + return 1; +@@ -246,18 +246,18 @@ public: + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + { + int state; +- const Soprano::Serializer*t = reinterpret_cast<const Soprano::Serializer*>(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_Soprano_Serializer, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); ++ const Soprano::Serializer*t = reinterpret_cast<const Soprano::Serializer*>(sipConvertToType(PyList_GET_ITEM(sipPy, i), sipType_Soprano_Serializer, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); + + if (*sipIsErr) + { +- sipReleaseInstance(const_cast<Soprano::Serializer*>(t), sipClass_Soprano_Serializer, state); ++ sipReleaseType(const_cast<Soprano::Serializer*>(t), sipType_Soprano_Serializer, state); + + delete ql; + return 0; + } + ql->append(t); + +- sipReleaseInstance(const_cast<Soprano::Serializer*>(t), sipClass_Soprano_Serializer, state); ++ sipReleaseType(const_cast<Soprano::Serializer*>(t), sipType_Soprano_Serializer, state); + } + + *sipCppPtr = ql; diff --git a/devel/py-pykde4-kde4/files/patch-kpythonpluginfactory__kpythonpluginfactory.cpp b/devel/py-pykde4-kde4/files/patch-kpythonpluginfactory__kpythonpluginfactory.cpp new file mode 100644 index 000000000000..d1dddd936268 --- /dev/null +++ b/devel/py-pykde4-kde4/files/patch-kpythonpluginfactory__kpythonpluginfactory.cpp @@ -0,0 +1,20 @@ +--- ./kpythonpluginfactory/kpythonpluginfactory.cpp.orig 2011-05-20 22:33:41.000000000 +0200 ++++ ./kpythonpluginfactory/kpythonpluginfactory.cpp 2011-09-01 16:43:57.371033306 +0200 +@@ -18,6 +18,8 @@ + Boston, MA 02111-1307, USA. + */ + ++#include <dlfcn.h> ++ + #include <QtCore/QCoreApplication> + #include <QFileInfo> + #include <QDir> +@@ -305,6 +307,8 @@ + // symbols global and available for later loaded libraries/module. + QLibrary *LoadPythonLibrary() + { ++ /* Promote this library (and thus libpython) to RTLD_GLOBAL) */ ++ dlopen("kpythonpluginfactory.so", RTLD_NOLOAD | RTLD_GLOBAL); + QLibrary *pythonLib = new QLibrary(); + pythonLib->setLoadHints(QLibrary::ExportExternalSymbolsHint); + pythonLib->setFileName(LIB_PYTHON); diff --git a/devel/py-pykde4-kde4/files/patch-sip-4.19.6 b/devel/py-pykde4-kde4/files/patch-sip-4.19.6 new file mode 100644 index 000000000000..98225534693c --- /dev/null +++ b/devel/py-pykde4-kde4/files/patch-sip-4.19.6 @@ -0,0 +1,26 @@ +Fixes a build failure with SIP 4.19.6 (possibly other versions > 4.19.2): + sip: ::KFontChooser ctor argument 5 has an unsupported type for a Python signature - provide a valid type, %MethodCode and a C++ signature + +Obtained from: https://anonscm.debian.org/cgit/pkg-kde/kde-sc/pykde4.git/commit/debian/patches?id=9de587a159f47d30068c84127c06917594eaf2e0 +--- sip/kdeui/kfontchooser.sip ++++ sip/kdeui/kfontchooser.sip +@@ -59,7 +59,7 @@ public: + + typedef QFlags<KFontChooser::DisplayFlag> DisplayFlags; + +- explicit KFontChooser (QWidget* parent /TransferThis/ = 0, const KFontChooser::DisplayFlags& flags = KFontChooser::DisplayFrame, const QStringList& fontList = QStringList(), int visibleListSize = 8, Qt::CheckState* sizeIsRelativeState = 0) [(QWidget* = 0, const KFontChooser::DisplayFlags& = KFontChooser::DisplayFrame, const QStringList& = QStringList(), int = 8, Qt::CheckState* = 0)]; ++ explicit KFontChooser (QWidget* parent /TransferThis/ = 0, const KFontChooser::DisplayFlags& flags = KFontChooser::DisplayFrame, const QStringList& fontList = QStringList(), int visibleListSize = 8, Qt::CheckState sizeIsRelativeState = Qt::Unchecked) [(QWidget* = 0, const KFontChooser::DisplayFlags& = KFontChooser::DisplayFrame, const QStringList& = QStringList(), int = 8, Qt::CheckState* = 0)]; + %MethodCode + Py_BEGIN_ALLOW_THREADS + sipCpp = new sipKFontChooser (a0, *a1, *a2, a3, &a4); +--- sip/kdeui/kfontdialog.sip ++++ sip/kdeui/kfontdialog.sip +@@ -28,7 +28,7 @@ class KFontDialog : KDialog + + + public: +- explicit KFontDialog (QWidget* parent /TransferThis/ = 0, const KFontChooser::DisplayFlags& flags = KFontChooser::NoDisplayFlags, const QStringList& fontlist = QStringList(), Qt::CheckState* sizeIsRelativeState = 0) [(QWidget* = 0, const KFontChooser::DisplayFlags& = KFontChooser::NoDisplayFlags, const QStringList& = QStringList(), Qt::CheckState* = 0)]; ++ explicit KFontDialog (QWidget* parent /TransferThis/ = 0, const KFontChooser::DisplayFlags& flags = KFontChooser::NoDisplayFlags, const QStringList& fontlist = QStringList(), Qt::CheckState sizeIsRelativeState = Qt::Unchecked) [(QWidget* = 0, const KFontChooser::DisplayFlags& = KFontChooser::NoDisplayFlags, const QStringList& = QStringList(), Qt::CheckState* = 0)]; + %MethodCode + Py_BEGIN_ALLOW_THREADS + sipCpp= new sipKFontDialog (a0, *a1, *a2, &a3); diff --git a/devel/py-pykde4-kde4/files/patch-sip_phonon_abstractvideodataoutput.sip b/devel/py-pykde4-kde4/files/patch-sip_phonon_abstractvideodataoutput.sip new file mode 100644 index 000000000000..8580740467e7 --- /dev/null +++ b/devel/py-pykde4-kde4/files/patch-sip_phonon_abstractvideodataoutput.sip @@ -0,0 +1,16 @@ +PyList_SET_ITEM() is supposed to be void, but as a macro it's an +expression and has a pointer value. Clang 4.0 trips on the bogus +pointer comparison; given the comparison, it should be PyList_SetItem() +which returns -1 on failure. + +--- sip/phonon/abstractvideodataoutput.sip.orig 2014-08-14 20:17:11 UTC ++++ sip/phonon/abstractvideodataoutput.sip +@@ -72,7 +72,7 @@ protected: + foreach (Phonon::Experimental::VideoFrame2::Format value, set) + { + PyObject *obj = PyInt_FromLong ((long) value); +- if (obj == NULL || PyList_SET_ITEM (l, i, obj) < 0) ++ if (obj == NULL || PyList_SetItem (l, i, obj) < 0) + { + Py_DECREF(l); + diff --git a/devel/py-pykde4-kde4/files/patch-sip_solid_powermanagement.sip b/devel/py-pykde4-kde4/files/patch-sip_solid_powermanagement.sip new file mode 100644 index 000000000000..2b628d90c222 --- /dev/null +++ b/devel/py-pykde4-kde4/files/patch-sip_solid_powermanagement.sip @@ -0,0 +1,13 @@ +See patch-sip_phonon_abstractvideodataoutput.sip + +--- sip/solid/powermanagement.sip.orig 2014-08-14 20:17:11 UTC ++++ sip/solid/powermanagement.sip +@@ -83,7 +83,7 @@ bool stopSuppressingS + #else + PyObject *obj = PyInt_FromLong ((long) value); + #endif +- if (obj == NULL || PyList_SET_ITEM (l, i, obj) < 0) ++ if (obj == NULL || PyList_SetItem (l, i, obj) < 0) + { + Py_DECREF(l); + diff --git a/devel/py-pykde4-kde4/files/patch-sip_solid_predicate.sip b/devel/py-pykde4-kde4/files/patch-sip_solid_predicate.sip new file mode 100644 index 000000000000..d4759268e38b --- /dev/null +++ b/devel/py-pykde4-kde4/files/patch-sip_solid_predicate.sip @@ -0,0 +1,13 @@ +See patch-sip_phonon_abstractvideodataoutput.sip + +--- sip/solid/predicate.sip.orig 2014-08-14 20:17:11 UTC ++++ sip/solid/predicate.sip +@@ -112,7 +112,7 @@ Py_BEGIN_ALLOW_THREADS + #else + PyObject *obj = PyInt_FromLong ((long) value); + #endif +- if (obj == NULL || PyList_SET_ITEM (l, i, obj) < 0) ++ if (obj == NULL || PyList_SetItem (l, i, obj) < 0) + { + Py_DECREF(l); + |