summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2017-08-26 20:34:20 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2017-08-26 21:18:46 +0200
commit460d238503099c2b47d3c4e2ed1a30b31f412faf (patch)
tree9e398f327abdb5d5a965f88c05bc6c98430aef2c /sci-geosciences/qgis/files
parentprofiles: Drop obsolete media-libs/phonon[zeitgeist] arches masks (diff)
downloadgentoo-460d238503099c2b47d3c4e2ed1a30b31f412faf.tar.gz
gentoo-460d238503099c2b47d3c4e2ed1a30b31f412faf.tar.bz2
gentoo-460d238503099c2b47d3c4e2ed1a30b31f412faf.zip
sci-geosciences/qgis: 2.18.12 version bump (qt4-based)
Fix lrelease/lupdate paths Switch to xdg-utils Fix x11-libs/qscintilla[qt4] .so subdir path Tested-by: Andreas Plesch <andreasplesch@netscape.net> Package-Manager: Portage-2.3.8, Repoman-2.3.3
Diffstat (limited to 'sci-geosciences/qgis/files')
-rw-r--r--sci-geosciences/qgis/files/qgis-2.18.12-cmake-lib-suffix.patch11
-rw-r--r--sci-geosciences/qgis/files/qgis-2.18.12-sip.patch185
2 files changed, 196 insertions, 0 deletions
diff --git a/sci-geosciences/qgis/files/qgis-2.18.12-cmake-lib-suffix.patch b/sci-geosciences/qgis/files/qgis-2.18.12-cmake-lib-suffix.patch
new file mode 100644
index 000000000000..5a1e8fcd9551
--- /dev/null
+++ b/sci-geosciences/qgis/files/qgis-2.18.12-cmake-lib-suffix.patch
@@ -0,0 +1,11 @@
+--- a/cmake/PyQtMacros.cmake 2016-08-26 05:58:37.000000000 -0600
++++ b/cmake/PyQtMacros.cmake 2016-09-21 16:25:55.921411011 -0600
+@@ -42,7 +42,7 @@ MACRO(PYQT_WRAP_UI outfiles )
+ ELSE(WIN32)
+ # TODO osx
+ SET(PYUIC_WRAPPER "${CMAKE_SOURCE_DIR}/scripts/pyuic-wrapper.sh")
+- SET(PYUIC_WRAPPER_PATH "${QGIS_OUTPUT_DIRECTORY}/lib")
++ SET(PYUIC_WRAPPER_PATH "${QGIS_OUTPUT_DIRECTORY}/lib${LIB_SUFFIX}")
+ ENDIF(WIN32)
+
+ FOREACH(it ${ARGN})
diff --git a/sci-geosciences/qgis/files/qgis-2.18.12-sip.patch b/sci-geosciences/qgis/files/qgis-2.18.12-sip.patch
new file mode 100644
index 000000000000..07db9b029bf6
--- /dev/null
+++ b/sci-geosciences/qgis/files/qgis-2.18.12-sip.patch
@@ -0,0 +1,185 @@
+diff --git a/python/core/conversions.sip b/python/core/conversions.sip
+index f07d3ab1db..948821e91e 100644
+--- a/python/core/conversions.sip
++++ b/python/core/conversions.sip
+@@ -2041,3 +2041,178 @@ register_from_qvariant_convertor = (void (*)(FromQVariantConvertorFn))sipImportS
+ register_from_qvariant_convertor(null_from_qvariant_convertor);
+ %End
+ %End
++
++// QList<QVariant> is implemented as a Python list.
++%MappedType QList<QVariant> /TypeHintIn="Sequence[QVariant]", TypeHintOut="List[QVariant]", TypeHintValue="[]"/
++{
++%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)
++ {
++ QVariant *t = new QVariant(sipCpp->at(i));
++ PyObject *tobj;
++
++ if ((tobj = sipConvertFromNewType(t, sipType_QVariant, sipTransferObj)) == NULL)
++ {
++ Py_DECREF(l);
++ delete t;
++
++ return NULL;
++ }
++
++ PyList_SET_ITEM(l, i, tobj);
++ }
++
++ return l;
++%End
++
++%ConvertToTypeCode
++ SIP_SSIZE_T len;
++
++ // Check the type if that is all that is required.
++ if (sipIsErr == NULL)
++ {
++ if (!PySequence_Check(sipPy) || (len = PySequence_Size(sipPy)) < 0)
++ return 0;
++
++ for (SIP_SSIZE_T i = 0; i < len; ++i)
++ {
++ PyObject *itm = PySequence_ITEM(sipPy, i);
++ bool ok = (itm && sipCanConvertToType(itm, sipType_QVariant, SIP_NOT_NONE));
++
++ Py_XDECREF(itm);
++
++ if (!ok)
++ return 0;
++ }
++
++ return 1;
++ }
++
++ QList<QVariant> *ql = new QList<QVariant>;
++ len = PySequence_Size(sipPy);
++
++ for (SIP_SSIZE_T i = 0; i < len; ++i)
++ {
++ PyObject *itm = PySequence_ITEM(sipPy, i);
++ int state;
++ QVariant *t = reinterpret_cast<QVariant *>(sipConvertToType(itm, sipType_QVariant, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
++
++ Py_DECREF(itm);
++
++ if (*sipIsErr)
++ {
++ sipReleaseType(t, sipType_QVariant, state);
++
++ delete ql;
++ return 0;
++ }
++
++ ql->append(*t);
++
++ sipReleaseType(t, sipType_QVariant, state);
++ }
++
++ *sipCppPtr = ql;
++
++ return sipGetState(sipTransferObj);
++%End
++};
++
++
++// QList<QPolygonF> is implemented as a Python list.
++%MappedType QList<QPolygonF> /TypeHintIn="Sequence[QPolygonF]", TypeHintOut="List[QPolygonF]", TypeHintValue="[]"/
++{
++%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)
++ {
++ QPolygonF *t = new QPolygonF(sipCpp->at(i));
++ PyObject *tobj;
++
++ if ((tobj = sipConvertFromNewType(t, sipType_QPolygonF, sipTransferObj)) == NULL)
++ {
++ Py_DECREF(l);
++ delete t;
++
++ return NULL;
++ }
++
++ PyList_SET_ITEM(l, i, tobj);
++ }
++
++ return l;
++%End
++
++%ConvertToTypeCode
++ SIP_SSIZE_T len;
++
++ // Check the type if that is all that is required.
++ if (sipIsErr == NULL)
++ {
++ if (!PySequence_Check(sipPy) || (len = PySequence_Size(sipPy)) < 0)
++ return 0;
++
++ for (SIP_SSIZE_T i = 0; i < len; ++i)
++ {
++ PyObject *itm = PySequence_ITEM(sipPy, i);
++ bool ok = (itm && sipCanConvertToType(itm, sipType_QPolygonF, SIP_NOT_NONE));
++
++ Py_XDECREF(itm);
++
++ if (!ok)
++ return 0;
++ }
++
++ return 1;
++ }
++
++ QList<QPolygonF> *ql = new QList<QPolygonF>;
++ len = PySequence_Size(sipPy);
++
++ for (SIP_SSIZE_T i = 0; i < len; ++i)
++ {
++ PyObject *itm = PySequence_ITEM(sipPy, i);
++ int state;
++ QPolygonF *t = reinterpret_cast<QPolygonF *>(sipConvertToType(itm, sipType_QPolygonF, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
++
++ Py_DECREF(itm);
++
++ if (*sipIsErr)
++ {
++ sipReleaseType(t, sipType_QPolygonF, state);
++
++ delete ql;
++ return 0;
++ }
++
++ ql->append(*t);
++
++ sipReleaseType(t, sipType_QPolygonF, state);
++ }
++
++ *sipCppPtr = ql;
++
++ return sipGetState(sipTransferObj);
++%End
++};
+--
+2.12.0