[packages/python-PyKDE4] - based on Fedora's spec - BuildConflicts kde4-kdepimlibs-devel, because akonadi related stuff does

witekfl witekfl at pld-linux.org
Mon Jan 30 10:37:56 CET 2017


commit 401f9426b99a286dfd97c29518af896a179e21fa
Author: Witold Filipczyk <witekfl at poczta.onet.pl>
Date:   Mon Jan 30 10:34:47 2017 +0100

    - based on Fedora's spec
    - BuildConflicts kde4-kdepimlibs-devel, because akonadi related stuff does not compile
    - rel 7

 0001-use-LIB_PYTHON-realpath.patch         |  31 ++
 0002-Add-some-missing-link-libraries.patch |  60 +++
 0003-Fix-build-with-sip-4.19.patch         | 599 +++++++++++++++++++++++++++++
 pykde4-4.14.3-missing_symbols.patch        |  21 -
 python-PyKDE4.spec                         |  17 +-
 5 files changed, 701 insertions(+), 27 deletions(-)
---
diff --git a/python-PyKDE4.spec b/python-PyKDE4.spec
index 7a7c123..1822306 100644
--- a/python-PyKDE4.spec
+++ b/python-PyKDE4.spec
@@ -11,15 +11,18 @@ Summary:	PyKDE4 - Python bindings for KDE 4
 Summary(pl.UTF-8):	PyKDE4 - dowiązania KDE 4 dla Pythona
 Name:		python-PyKDE4
 Version:	4.14.3
-Release:	6
+Release:	7
 License:	GPL
 Group:		Libraries/Python
 Source0:	ftp://ftp.kde.org/pub/kde/%{_state}/%{version}/src/%{orgname}-%{version}.tar.xz
 # Source0-md5:	945a7492f1ab8cc874e0822f62484b12
-Patch0:		pykde4-4.14.3-missing_symbols.patch
+# upstream patches
+Patch1:		0001-use-LIB_PYTHON-realpath.patch
+Patch2:		0002-Add-some-missing-link-libraries.patch
+Patch3:		0003-Fix-build-with-sip-4.19.patch
+BuildConflicts:	kde4-kdepimlibs-devel
 BuildRequires:	cmake >= 2.8.0
 BuildRequires:	kde4-kdebase-workspace-devel >= %{kdeworkspacever}
-BuildRequires:	kde4-kdepimlibs-devel
 BuildRequires:	polkit-qt-1-devel
 BuildRequires:	sip-PyQt4 >= %{pyqtver}
 BuildRequires:	python-PyQt4 >= %{pyqtver}
@@ -84,7 +87,9 @@ Przykłady dla PyKDE4.
 
 %prep
 %setup -q -n %{orgname}-%{version}
-%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
 
 %build
 install -d build
@@ -116,7 +121,7 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/kde4/kpythonpluginfactory.so
 %dir %{py_sitedir}/PyKDE4
-%attr(755,root,root) %{py_sitedir}/PyKDE4/akonadi.so
+#%%attr(755,root,root) %{py_sitedir}/PyKDE4/akonadi.so
 %attr(755,root,root) %{py_sitedir}/PyKDE4/dnssd.so
 %attr(755,root,root) %{py_sitedir}/PyKDE4/kdecore.so
 %attr(755,root,root) %{py_sitedir}/PyKDE4/kdeui.so
@@ -138,7 +143,7 @@ rm -rf $RPM_BUILD_ROOT
 %files devel
 %defattr(644,root,root,755)
 %dir %{_datadir}/sip/PyKDE4
-%{_datadir}/sip/PyKDE4/akonadi
+#%%{_datadir}/sip/PyKDE4/akonadi
 %{_datadir}/sip/PyKDE4/dnssd
 %{_datadir}/sip/PyKDE4/kdecore
 %{_datadir}/sip/PyKDE4/kdeui
diff --git a/0001-use-LIB_PYTHON-realpath.patch b/0001-use-LIB_PYTHON-realpath.patch
new file mode 100644
index 0000000..85ad4bc
--- /dev/null
+++ b/0001-use-LIB_PYTHON-realpath.patch
@@ -0,0 +1,31 @@
+From 34bed3ceb7cd2bb43e67acce97f4cc3e8bbc1c1d Mon Sep 17 00:00:00 2001
+From: Rex Dieter <rdieter at math.unl.edu>
+Date: Tue, 11 Mar 2014 09:51:17 -0500
+Subject: [PATCH 1/3] use LIB_PYTHON realpath
+
+Use GET_FILENAME_COMPONENT( ... REALPATH). PYTHON_LIBRARY as returned
+by cmake, whose target is often a symlink.  Some distro packaging
+reserves such library symlinks for -devel and not runtime.
+
+REVIEW: 116719
+---
+ kpythonpluginfactory/CMakeLists.txt | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/kpythonpluginfactory/CMakeLists.txt b/kpythonpluginfactory/CMakeLists.txt
+index c24160e..a777dac 100644
+--- a/kpythonpluginfactory/CMakeLists.txt
++++ b/kpythonpluginfactory/CMakeLists.txt
+@@ -3,7 +3,8 @@
+ set(kpythonpluginfactory_SRCS
+     kpythonpluginfactory.cpp)
+ 
+-GET_FILENAME_COMPONENT(LIB_PYTHON ${PYTHON_LIBRARIES} NAME)
++GET_FILENAME_COMPONENT(PYTHON_LIBRARY_REALPATH "${PYTHON_LIBRARY}" REALPATH)
++GET_FILENAME_COMPONENT(LIB_PYTHON ${PYTHON_LIBRARY_REALPATH} NAME)
+ ADD_DEFINITIONS(-DLIB_PYTHON="${LIB_PYTHON}")
+ ADD_DEFINITIONS(-DKDE_DEFAULT_DEBUG_AREA=15000)
+ 
+-- 
+2.9.3
+
diff --git a/0002-Add-some-missing-link-libraries.patch b/0002-Add-some-missing-link-libraries.patch
new file mode 100644
index 0000000..00283cc
--- /dev/null
+++ b/0002-Add-some-missing-link-libraries.patch
@@ -0,0 +1,60 @@
+From b0137f694f946c7f10ac2863a71b4cdeda15eb87 Mon Sep 17 00:00:00 2001
+From: Wolfgang Bauer <wbauer at tmo.at>
+Date: Wed, 14 Sep 2016 23:54:40 +0200
+Subject: [PATCH 2/3] Add some missing(?) link libraries
+
+This fixes the following build errors in openSUSE Factory:
+
+CMakeFiles/python_module_PyKDE4_dnssd.dir/sip/dnssd/sipdnssdpart2.cpp.o:
+In function `meth_DNSSD_ServiceBrowser_resolveHostName':
+/home/abuild/rpmbuild/BUILD/pykde4-4.14.3/build/sip/dnssd/sipdnssdpart2.cpp:408:
+undefined reference to `QHostAddress::QHostAddress(QHostAddress
+const&)'
+/home/abuild/rpmbuild/BUILD/pykde4-4.14.3/build/sip/dnssd/sipdnssdpart2.cpp:408:
+undefined reference to `QHostAddress::~QHostAddress()'
+collect2: error: ld returned 1 exit status
+...
+CMakeFiles/python_module_PyKDE4_kio.dir/sip/kio/sipkiopart3.cpp.o: In
+function `meth_KFilePlacesModel_deviceForIndex':
+/home/abuild/rpmbuild/BUILD/pykde4-4.14.3/build/sip/kio/sipkiopart3.cpp:18560:
+undefined reference to `Solid::Device::Device(Solid::Device const&)'
+/home/abuild/rpmbuild/BUILD/pykde4-4.14.3/build/sip/kio/sipkiopart3.cpp:18560:
+undefined reference to `Solid::Device::~Device()'
+CMakeFiles/python_module_PyKDE4_kio.dir/sip/kio/sipkiopart4.cpp.o: In
+function `meth_KDeviceListModel_deviceForIndex':
+/home/abuild/rpmbuild/BUILD/pykde4-4.14.3/build/sip/kio/sipkiopart4.cpp:27090:
+undefined reference to `Solid::Device::Device(Solid::Device const&)'
+/home/abuild/rpmbuild/BUILD/pykde4-4.14.3/build/sip/kio/sipkiopart4.cpp:27090:
+undefined reference to `Solid::Device::~Device()'
+collect2: error: ld returned 1 exit status
+
+REVIEW: 127705
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b0768cf..b919d1b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -166,7 +166,7 @@ add_sip_python_module(PyKDE4.kdeui sip/kdeui/kdeuimod.sip ${KDE4_KDEUI_LIBS} ${Q
+ 
+ file(GLOB kio_files_sip sip/kio/*.sip)
+ set(SIP_EXTRA_FILES_DEPEND ${kio_files_sip})
+-add_sip_python_module(PyKDE4.kio sip/kio/kiomod.sip ${KDE4_KIO_LIBS} ${KDE4_KFILE_LIBS})
++add_sip_python_module(PyKDE4.kio sip/kio/kiomod.sip ${KDE4_KIO_LIBS} ${KDE4_KFILE_LIBS} ${KDE4_SOLID_LIBS})
+ 
+ file(GLOB kutils_files_sip sip/kutils/*.sip)
+ set(SIP_EXTRA_FILES_DEPEND ${kutils_files_sip})
+@@ -190,7 +190,7 @@ add_sip_python_module(PyKDE4.knewstuff sip/knewstuff/knewstuffmod.sip ${KDE4_KNE
+ 
+ file(GLOB dnssd_files_sip sip/dnssd/*.sip)
+ set(SIP_EXTRA_FILES_DEPEND ${dnssd_files_sip})
+-add_sip_python_module(PyKDE4.dnssd sip/dnssd/dnssdmod.sip ${KDE4_KDNSSD_LIBS} ${QT_QTCORE_LIBRARY})
++add_sip_python_module(PyKDE4.dnssd sip/dnssd/dnssdmod.sip ${KDE4_KDNSSD_LIBS} ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY})
+ 
+ file(GLOB phonon_files_sip sip/phonon/*.sip)
+ set(SIP_EXTRA_FILES_DEPEND ${phonon_files_sip})
+-- 
+2.9.3
+
diff --git a/0003-Fix-build-with-sip-4.19.patch b/0003-Fix-build-with-sip-4.19.patch
new file mode 100644
index 0000000..61ef78d
--- /dev/null
+++ b/0003-Fix-build-with-sip-4.19.patch
@@ -0,0 +1,599 @@
+From 2d1eadf5d0148c88cb4393993f0269e196cbe7b1 Mon Sep 17 00:00:00 2001
+From: Johannes Huber <johu at gentoo.org>
+Date: Mon, 9 Jan 2017 11:52:12 +0100
+Subject: [PATCH 3/3] Fix build with sip 4.19
+
+REVIEW: 129799
+---
+ sip/dnssd/remoteservice.sip       | 10 +++++-----
+ sip/kdecore/kmimetype.sip         | 10 +++++-----
+ sip/kdecore/ksharedconfig.sip     |  4 ++--
+ sip/kdecore/ksycocaentry.sip      | 10 +++++-----
+ sip/kdecore/typedefs.sip          | 30 +++++++++++++++---------------
+ sip/kdeui/kcompletion.sip         | 10 +++++-----
+ sip/kdeui/kxmlguibuilder.sip      |  4 ++--
+ sip/kio/kservicegroup.sip         | 10 +++++-----
+ sip/ktexteditor/markinterface.sip | 10 +++++-----
+ sip/phonon/objectdescription.sip  | 10 +++++-----
+ sip/soprano/pluginmanager.sip     | 30 +++++++++++++++---------------
+ 11 files changed, 69 insertions(+), 69 deletions(-)
+
+diff --git a/sip/dnssd/remoteservice.sip b/sip/dnssd/remoteservice.sip
+index 5c5397a..44db887 100644
+--- a/sip/dnssd/remoteservice.sip
++++ b/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;
+diff --git a/sip/kdecore/kmimetype.sip b/sip/kdecore/kmimetype.sip
+index b2d21f7..2945210 100644
+--- a/sip/kdecore/kmimetype.sip
++++ b/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;
+diff --git a/sip/kdecore/ksharedconfig.sip b/sip/kdecore/ksharedconfig.sip
+index 54b1599..9442d80 100644
+--- a/sip/kdecore/ksharedconfig.sip
++++ b/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);
+diff --git a/sip/kdecore/ksycocaentry.sip b/sip/kdecore/ksycocaentry.sip
+index 4632e4a..ceb85fa 100644
+--- a/sip/kdecore/ksycocaentry.sip
++++ b/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;
+diff --git a/sip/kdecore/typedefs.sip b/sip/kdecore/typedefs.sip
+index af53f85..23956b7 100644
+--- a/sip/kdecore/typedefs.sip
++++ b/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;
+diff --git a/sip/kdeui/kcompletion.sip b/sip/kdeui/kcompletion.sip
+index f1d327f..938506a 100644
+--- a/sip/kdeui/kcompletion.sip
++++ b/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;
+diff --git a/sip/kdeui/kxmlguibuilder.sip b/sip/kdeui/kxmlguibuilder.sip
+index 41ae2aa..e4cf187 100644
+--- a/sip/kdeui/kxmlguibuilder.sip
++++ b/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);
+diff --git a/sip/kio/kservicegroup.sip b/sip/kio/kservicegroup.sip
+index a1ef981..1ddce37 100644
+--- a/sip/kio/kservicegroup.sip
++++ b/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;
+diff --git a/sip/ktexteditor/markinterface.sip b/sip/ktexteditor/markinterface.sip
+index d9b0ec9..888c506 100644
+--- a/sip/ktexteditor/markinterface.sip
++++ b/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;
+diff --git a/sip/phonon/objectdescription.sip b/sip/phonon/objectdescription.sip
+index 2b86d5e..015b2ef 100644
+--- a/sip/phonon/objectdescription.sip
++++ b/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;
+diff --git a/sip/soprano/pluginmanager.sip b/sip/soprano/pluginmanager.sip
+index c2be1c3..fe990f8 100644
+--- a/sip/soprano/pluginmanager.sip
++++ b/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;
+-- 
+2.9.3
+
diff --git a/pykde4-4.14.3-missing_symbols.patch b/pykde4-4.14.3-missing_symbols.patch
deleted file mode 100644
index 0581ba4..0000000
--- a/pykde4-4.14.3-missing_symbols.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -up pykde4-4.14.3/CMakeLists.txt.dnssd_qtnetwork pykde4-4.14.3/CMakeLists.txt
---- pykde4-4.14.3/CMakeLists.txt.dnssd_qtnetwork	2015-11-13 10:52:34.926472756 -0600
-+++ pykde4-4.14.3/CMakeLists.txt	2015-11-13 11:14:28.801430613 -0600
-@@ -171,7 +171,7 @@ add_sip_python_module(PyKDE4.kdeui sip/k
- 
- file(GLOB kio_files_sip sip/kio/*.sip)
- set(SIP_EXTRA_FILES_DEPEND ${kio_files_sip})
--add_sip_python_module(PyKDE4.kio sip/kio/kiomod.sip ${KDE4_KIO_LIBS} ${KDE4_KFILE_LIBS})
-+add_sip_python_module(PyKDE4.kio sip/kio/kiomod.sip ${KDE4_KIO_LIBS} ${KDE4_KFILE_LIBS} ${KDE4_SOLID_LIBS})
- 
- file(GLOB kutils_files_sip sip/kutils/*.sip)
- set(SIP_EXTRA_FILES_DEPEND ${kutils_files_sip})
-@@ -195,7 +195,7 @@ add_sip_python_module(PyKDE4.knewstuff s
- 
- file(GLOB dnssd_files_sip sip/dnssd/*.sip)
- set(SIP_EXTRA_FILES_DEPEND ${dnssd_files_sip})
--add_sip_python_module(PyKDE4.dnssd sip/dnssd/dnssdmod.sip ${KDE4_KDNSSD_LIBS} ${QT_QTCORE_LIBRARY})
-+add_sip_python_module(PyKDE4.dnssd sip/dnssd/dnssdmod.sip ${KDE4_KDNSSD_LIBS} ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY})
- 
- file(GLOB phonon_files_sip sip/phonon/*.sip)
- set(SIP_EXTRA_FILES_DEPEND ${phonon_files_sip})
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/python-PyKDE4.git/commitdiff/401f9426b99a286dfd97c29518af896a179e21fa



More information about the pld-cvs-commit mailing list