summaryrefslogtreecommitdiff
path: root/sci-geosciences/qgis/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sci-geosciences/qgis/files
reinit the tree, so we can have metadata
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
-rw-r--r--sci-geosciences/qgis/files/qgis-2.18.3-app-icon.patch13
-rw-r--r--sci-geosciences/qgis/files/qgis-2.18.3-qscintilla-2.10.patch24
-rw-r--r--sci-geosciences/qgis/files/qgis-2.18.3-sip-4.19.1.patch42
-rw-r--r--sci-geosciences/qgis/files/qgis-2.18.3-sip-4.19.patch237
-rw-r--r--sci-geosciences/qgis/files/qgis-2.18.3-webkit.patch112
-rw-r--r--sci-geosciences/qgis/files/qgis-2.18.6-featuresummary.patch31
-rw-r--r--sci-geosciences/qgis/files/qgis-2.18.6-python.patch25
9 files changed, 680 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
diff --git a/sci-geosciences/qgis/files/qgis-2.18.3-app-icon.patch b/sci-geosciences/qgis/files/qgis-2.18.3-app-icon.patch
new file mode 100644
index 000000000000..88db963bcaff
--- /dev/null
+++ b/sci-geosciences/qgis/files/qgis-2.18.3-app-icon.patch
@@ -0,0 +1,13 @@
+diff --git a/src/core/qgsapplication.cpp b/src/core/qgsapplication.cpp
+index 4cdb07e..76ffc09 100644
+--- a/src/core/qgsapplication.cpp
++++ b/src/core/qgsapplication.cpp
+@@ -396,7 +396,7 @@ QString QgsApplication::activeThemePath()
+
+ QString QgsApplication::appIconPath()
+ {
+- return QString( "qgis-icon-60x60.png" );
++ return iconsPath() + QStringLiteral( "qgis-icon-60x60.png" );
+ }
+
+ QString QgsApplication::iconPath( const QString& iconFile )
diff --git a/sci-geosciences/qgis/files/qgis-2.18.3-qscintilla-2.10.patch b/sci-geosciences/qgis/files/qgis-2.18.3-qscintilla-2.10.patch
new file mode 100644
index 000000000000..fb714654579d
--- /dev/null
+++ b/sci-geosciences/qgis/files/qgis-2.18.3-qscintilla-2.10.patch
@@ -0,0 +1,24 @@
+From 30577386cbe0ee9a5509e7f6f54df2c1194153ee Mon Sep 17 00:00:00 2001
+From: Larry Shaffer <lshaffer@boundlessgeo.com>
+Date: Thu, 2 Mar 2017 15:00:18 -0700
+Subject: [PATCH] Followup to dfe268f; update QScintilla new lib name in 2.10
+ for Qt4
+
+[ci skip]
+---
+ cmake/FindQScintilla.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake/FindQScintilla.cmake b/cmake/FindQScintilla.cmake
+index 7f97624..2f87e4c 100644
+--- a/cmake/FindQScintilla.cmake
++++ b/cmake/FindQScintilla.cmake
+@@ -36,7 +36,7 @@ ELSE(EXISTS QSCINTILLA_VERSION_STR)
+ if(ENABLE_QT5)
+ set(QSCINTILLA_LIBRARY_NAMES qscintilla2-qt5 qscintilla2_qt5 libqt5scintilla2 libqscintilla2-qt5 qt5scintilla2 libqscintilla2-qt5.dylib)
+ else(ENABLE_QT5)
+- set(QSCINTILLA_LIBRARY_NAMES qscintilla2 libqscintilla2 libqscintilla2.dylib)
++ set(QSCINTILLA_LIBRARY_NAMES qscintilla2 qscintilla2_qt4 libqscintilla2 libqscintilla2.dylib)
+ endif(ENABLE_QT5)
+
+ find_library(QSCINTILLA_LIBRARY
diff --git a/sci-geosciences/qgis/files/qgis-2.18.3-sip-4.19.1.patch b/sci-geosciences/qgis/files/qgis-2.18.3-sip-4.19.1.patch
new file mode 100644
index 000000000000..ff8989227f69
--- /dev/null
+++ b/sci-geosciences/qgis/files/qgis-2.18.3-sip-4.19.1.patch
@@ -0,0 +1,42 @@
+From 85a0db24f32351f6096cd8282f03ad5c2f4e6ef5 Mon Sep 17 00:00:00 2001
+From: Sandro Mani <manisandro@gmail.com>
+Date: Wed, 1 Mar 2017 16:12:38 +0100
+Subject: [PATCH] Fix build against recent sip/PyQt4:
+
+qgsfiledownloader.sip:33:0:
+src/gui/qgsfiledownloader.h:94:5: error: overriding non-deleted function 'virtual QgsFileDownloader::~QgsFileDownloader()'
+
+RuntimeError: qgis._core cannot import type 'QList<QVariant>' from PyQt4.QtCore
+---
+ python/core/core.sip | 1 +
+ src/gui/qgsfiledownloader.h | 4 +++-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/python/core/core.sip b/python/core/core.sip
+index 8f0b6af..41f5450 100644
+--- a/python/core/core.sip
++++ b/python/core/core.sip
+@@ -3,6 +3,7 @@
+
+ %Feature QT5_SUPPORT
+
++%Import QtCore/QtCoremod.sip
+ %Import QtXml/QtXmlmod.sip
+ %Import QtNetwork/QtNetworkmod.sip
+ %Import QtSql/QtSqlmod.sip
+diff --git a/src/gui/qgsfiledownloader.h b/src/gui/qgsfiledownloader.h
+index c9276f7..841e4b6 100644
+--- a/src/gui/qgsfiledownloader.h
++++ b/src/gui/qgsfiledownloader.h
+@@ -90,8 +90,10 @@ class GUI_EXPORT QgsFileDownloader : public QObject
+ void onSslErrors( QNetworkReply *reply, const QList<QSslError> &errors );
+ #endif
+
+- private:
++ protected:
+ ~QgsFileDownloader();
++
++ private:
+ /**
+ * Abort current request and show an error if the instance has GUI
+ * notifications enabled.
diff --git a/sci-geosciences/qgis/files/qgis-2.18.3-sip-4.19.patch b/sci-geosciences/qgis/files/qgis-2.18.3-sip-4.19.patch
new file mode 100644
index 000000000000..f72e0e4fd17d
--- /dev/null
+++ b/sci-geosciences/qgis/files/qgis-2.18.3-sip-4.19.patch
@@ -0,0 +1,237 @@
+commit 718581ffb12b723f9a3c0ae01b7ec2d8aed9d4bb
+Author: Juergen E. Fischer <jef@norbit.de>
+Date: Sat Feb 11 21:02:05 2017 +0100
+
+ adapt bindings to sip 4.19 (fixes #16071)
+
+diff --git a/python/analysis/analysis.sip b/python/analysis/analysis.sip
+index ceb5056..bd90e10 100644
+--- a/python/analysis/analysis.sip
++++ b/python/analysis/analysis.sip
+@@ -1,5 +1,4 @@
+ %Module(name=qgis._analysis,
+- version=0,
+ keyword_arguments="Optional")
+
+ %Import QtCore/QtCoremod.sip
+diff --git a/python/analysis/network/networkanalysis.sip b/python/analysis/network/networkanalysis.sip
+index fb446d1..d2c192b 100644
+--- a/python/analysis/network/networkanalysis.sip
++++ b/python/analysis/network/networkanalysis.sip
+@@ -1,5 +1,4 @@
+ %Module(name=qgis._networkanalysis,
+- version=0,
+ keyword_arguments="Optional")
+
+ %Import QtCore/QtCoremod.sip
+diff --git a/python/core/conversions.sip b/python/core/conversions.sip
+index 564d4de..f07d3ab 100644
+--- a/python/core/conversions.sip
++++ b/python/core/conversions.sip
+@@ -747,7 +747,7 @@ template<TYPE>
+
+ // QMap<qint64, TYPE> is implemented as a Python dictionary.
+ template<TYPE>
+-%MappedType QMap<qint64, TYPE> /DocType="dict-of-qint64-TYPE"/
++%MappedType QMap<qint64, TYPE>
+ {
+ %TypeHeaderCode
+ #include <qmap.h>
+@@ -1873,7 +1873,7 @@ template <TYPE>
+ };
+
+ // QList<QgsField> is implemented as a Python list of QgsField.
+-%MappedType QList<QgsField> /DocType="list-of-qgsfield"/
++%MappedType QList<QgsField>
+ {
+ %TypeHeaderCode
+ #include <qgsfield.h>
+@@ -1978,7 +1978,7 @@ template <TYPE>
+
+ %If (QVECTORINT_CONVERSION)
+ // QVector<int> is implemented as a Python list of integers.
+-%MappedType QVector<int> /DocType="list-of-int"/
++%MappedType QVector<int>
+ {
+ %TypeHeaderCode
+ #include <qvector.h>
+diff --git a/python/core/core.sip b/python/core/core.sip
+index 577c4c1..8f0b6af 100644
+--- a/python/core/core.sip
++++ b/python/core/core.sip
+@@ -1,5 +1,4 @@
+ %Module(name=qgis._core,
+- version=0,
+ keyword_arguments="Optional")
+
+ %Feature QT5_SUPPORT
+diff --git a/python/core/qgscoordinatetransform.sip b/python/core/qgscoordinatetransform.sip
+index c14ba53..f9b7854 100644
+--- a/python/core/qgscoordinatetransform.sip
++++ b/python/core/qgscoordinatetransform.sip
+@@ -15,6 +15,7 @@
+ class QgsCoordinateTransform : QObject
+ {
+ %TypeHeaderCode
++extern PyObject *sipExportedExceptions__core[2]; // workaround: sipExportedExceptions__core is only defined in the first sip part
+ #include <qgscoordinatetransform.h>
+ %End
+
+@@ -215,5 +216,5 @@ class QgsCoordinateTransform : QObject
+
+ signals:
+ /** Signal when an invalid pj_transform() has occurred */
+- void invalidTransformInput() const;
++ void invalidTransformInput() const;
+ };
+diff --git a/python/core/qgsfeature.sip b/python/core/qgsfeature.sip
+index 596f8a8..4009b50 100644
+--- a/python/core/qgsfeature.sip
++++ b/python/core/qgsfeature.sip
+@@ -4,7 +4,7 @@ typedef QMap<int, QVariant> QgsAttributeMap;
+ typedef QVector<QVariant> QgsAttributes;
+
+ // QgsAttributes is implemented as a Python list of Python objects.
+-%MappedType QgsAttributes /DocType="list-of-attributes"/
++%MappedType QgsAttributes
+ {
+ %TypeHeaderCode
+ #include <qgsfeature.h>
+diff --git a/python/core/qgspallabeling.sip b/python/core/qgspallabeling.sip
+index 488b58b..3d99555 100644
+--- a/python/core/qgspallabeling.sip
++++ b/python/core/qgspallabeling.sip
+@@ -1,5 +1,5 @@
+ // QMap<QgsPalLayerSettings::DataDefinedProperties, QgsDataDefined*> is implemented as a Python dictionary.
+-%MappedType QMap<QgsPalLayerSettings::DataDefinedProperties, QgsDataDefined*> /DocType="dict-of-QgsPalLayerSettings.DataDefinedProperties-QgsDataDefined*"/
++%MappedType QMap<QgsPalLayerSettings::DataDefinedProperties, QgsDataDefined*>
+ {
+ %TypeHeaderCode
+ #include <qmap.h>
+diff --git a/python/core/qgsvectorlayerfeatureiterator.sip b/python/core/qgsvectorlayerfeatureiterator.sip
+index 0685e20..ad3431c 100644
+--- a/python/core/qgsvectorlayerfeatureiterator.sip
++++ b/python/core/qgsvectorlayerfeatureiterator.sip
+@@ -70,5 +70,6 @@ class QgsVectorLayerFeatureIterator : QgsAbstractFeatureIterator
+ //void updateFeatureGeometry( QgsFeature& f );
+
+ private:
+- QgsVectorLayerFeatureIterator();
++ QgsVectorLayerFeatureIterator( const QgsVectorLayerFeatureIterator &rhs );
++
+ };
+diff --git a/python/core/raster/qgsrasterprojector.sip b/python/core/raster/qgsrasterprojector.sip
+index 47bb697..40b9a10 100644
+--- a/python/core/raster/qgsrasterprojector.sip
++++ b/python/core/raster/qgsrasterprojector.sip
+@@ -55,7 +55,7 @@ class QgsRasterProjector : QgsRasterInterface
+
+ int bandCount() const;
+
+- int dataType( int bandNo ) const;
++ QGis::DataType dataType( int bandNo ) const;
+
+ /** \brief set source and destination CRS */
+ void setCRS( const QgsCoordinateReferenceSystem & theSrcCRS, const QgsCoordinateReferenceSystem & theDestCRS,
+diff --git a/python/gui/editorwidgets/qgsdatetimeedit.sip b/python/gui/editorwidgets/qgsdatetimeedit.sip
+index deda76d..be658a1 100644
+--- a/python/gui/editorwidgets/qgsdatetimeedit.sip
++++ b/python/gui/editorwidgets/qgsdatetimeedit.sip
+@@ -37,6 +37,7 @@ class QgsDateTimeEdit : QDateTimeEdit
+
+ protected:
+ virtual void resizeEvent( QResizeEvent* event );
+-
+ void mousePressEvent( QMouseEvent*event );
++ virtual void fixup(QString & input) const;
++ virtual QValidator::State validate(QString &text, int &pos) const;
+ };
+diff --git a/python/gui/editorwidgets/qgsdoublespinbox.sip b/python/gui/editorwidgets/qgsdoublespinbox.sip
+index 1666a02..58f589d 100644
+--- a/python/gui/editorwidgets/qgsdoublespinbox.sip
++++ b/python/gui/editorwidgets/qgsdoublespinbox.sip
+@@ -80,4 +80,5 @@ class QgsDoubleSpinBox : QDoubleSpinBox
+ protected:
+ virtual void changeEvent( QEvent* event );
+ virtual void paintEvent( QPaintEvent* event );
++ virtual void fixup(QString & input) const;
+ };
+diff --git a/python/gui/editorwidgets/qgsspinbox.sip b/python/gui/editorwidgets/qgsspinbox.sip
+index d560641..c953470 100644
+--- a/python/gui/editorwidgets/qgsspinbox.sip
++++ b/python/gui/editorwidgets/qgsspinbox.sip
+@@ -78,7 +78,7 @@ class QgsSpinBox : QSpinBox
+ virtual QValidator::State validate( QString & input, int & pos ) const;
+
+ protected:
+-
+ virtual void changeEvent( QEvent* event );
+ virtual void paintEvent( QPaintEvent* event );
++ virtual void fixup(QString &input) const;
+ };
+diff --git a/python/gui/gui.sip b/python/gui/gui.sip
+index 240c636..727ac70 100644
+--- a/python/gui/gui.sip
++++ b/python/gui/gui.sip
+@@ -1,5 +1,4 @@
+ %Module(name=qgis._gui,
+- version=0,
+ keyword_arguments="Optional")
+
+ %Feature HAVE_QSCI_SIP
+diff --git a/python/gui/qgslonglongvalidator.sip b/python/gui/qgslonglongvalidator.sip
+index 9def830..7500357 100644
+--- a/python/gui/qgslonglongvalidator.sip
++++ b/python/gui/qgslonglongvalidator.sip
+@@ -8,7 +8,7 @@ class QgsLongLongValidator : QValidator
+ QgsLongLongValidator( qint64 bottom, qint64 top, QObject *parent );
+ ~QgsLongLongValidator();
+
+- QValidator::State validate( QString &input, int& ) const;
++ virtual QValidator::State validate( QString &input, int& ) const;
+
+ void setBottom( qint64 bottom );
+ void setTop( qint64 top );
+@@ -17,4 +17,6 @@ class QgsLongLongValidator : QValidator
+
+ qint64 bottom() const;
+ qint64 top() const;
++
++ virtual void fixup(QString &input) const;
+ };
+diff --git a/python/server/qgswmsconfigparser.sip b/python/server/qgswmsconfigparser.sip
+index f05752c..d231637 100644
+--- a/python/server/qgswmsconfigparser.sip
++++ b/python/server/qgswmsconfigparser.sip
+@@ -115,7 +115,7 @@ class QgsWMSConfigParser
+ virtual void setScaleDenominator( double denom ) = 0;
+ virtual void addExternalGMLData( const QString& layerName, QDomDocument* gmlDoc ) = 0;
+
+- virtual QList< QPair< QString, QgsLayerCoordinateTransform > > layerCoordinateTransforms() const = 0;
++ // virtual QList< QPair< QString, QgsLayerCoordinateTransform > > layerCoordinateTransforms() const = 0;
+
+ virtual int nLayers() const = 0;
+
+diff --git a/python/server/qgswmsprojectparser.sip b/python/server/qgswmsprojectparser.sip
+index f6dd579..13fea73 100644
+--- a/python/server/qgswmsprojectparser.sip
++++ b/python/server/qgswmsprojectparser.sip
+@@ -63,7 +63,7 @@ class QgsWMSProjectParser : public QgsWMSConfigParser
+ void setScaleDenominator( double ) /*override*/;
+ void addExternalGMLData( const QString&, QDomDocument* ) /*override*/ ;
+
+- QList< QPair< QString, QgsLayerCoordinateTransform > > layerCoordinateTransforms() const /*override*/ ;
++ // QList< QPair< QString, QgsLayerCoordinateTransform > > layerCoordinateTransforms() const /*override*/ ;
+
+ /** Fills a layer and a style list. The two list have the same number of entries and the style and the layer at a position belong together (similar to the HTTP parameters 'Layers' and 'Styles'. Returns 0 in case of success*/
+ int layersAndStyles( QStringList& layers, QStringList& styles ) const /*override*/ ;
+diff --git a/python/server/server.sip b/python/server/server.sip
+index 537cd0b..355d3fa 100644
+--- a/python/server/server.sip
++++ b/python/server/server.sip
+@@ -1,5 +1,4 @@
+ %Module(name=qgis._server,
+- version=0,
+ keyword_arguments="Optional")
+
+
diff --git a/sci-geosciences/qgis/files/qgis-2.18.3-webkit.patch b/sci-geosciences/qgis/files/qgis-2.18.3-webkit.patch
new file mode 100644
index 000000000000..971ffde83a9b
--- /dev/null
+++ b/sci-geosciences/qgis/files/qgis-2.18.3-webkit.patch
@@ -0,0 +1,112 @@
+commit 222ae663e6ee6f718e45faafd63758c319fec135
+Author: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
+Date: Sun Feb 19 12:51:48 2017 +0100
+
+ Fix QtWebKit automagic
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3936521..4268019 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -288,6 +288,10 @@ ELSE()
+ MESSAGE(STATUS "Found Qt version: ${QTVERSION}")
+ ENDIF()
+
++IF(WITH_QTWEBKIT)
++ SET(OPTIONAL_QTWEBKIT ${QT_QTWEBKIT_LIBRARY})
++ENDIF(WITH_QTWEBKIT)
++
+ IF (WITH_QTMOBILITY)
+ FIND_PACKAGE(QtMobility 1.1.0)
+ ENDIF (WITH_QTMOBILITY)
+diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt
+index 15579de..b6ef545 100644
+--- a/src/app/CMakeLists.txt
++++ b/src/app/CMakeLists.txt
+@@ -609,7 +609,7 @@ TARGET_LINK_LIBRARIES(qgis_app
+ ${QWT_LIBRARY}
+ ${QT_QTSQL_LIBRARY}
+ ${QT_QTUITOOLS_LIBRARY}
+- ${QT_QTWEBKIT_LIBRARY}
++ ${OPTIONAL_QTWEBKIT}
+ #should only be needed for win
+ ${QT_QTMAIN_LIBRARY}
+ ${QWTPOLAR_LIBRARY}
+diff --git a/src/browser/CMakeLists.txt b/src/browser/CMakeLists.txt
+index e53c1de..1a72070 100644
+--- a/src/browser/CMakeLists.txt
++++ b/src/browser/CMakeLists.txt
+@@ -80,7 +80,7 @@ TARGET_LINK_LIBRARIES(qbrowser
+ ${QT_QTNETWORK_LIBRARY}
+ ${QT_QTSVG_LIBRARY}
+ ${QT_QTXML_LIBRARY}
+- ${QT_QTWEBKIT_LIBRARY}
++ ${OPTIONAL_QTWEBKIT}
+ ${QT_QTMAIN_LIBRARY}
+ ${SQLITE3_LIBRARY}
+ )
+diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
+index e2d9ae8..cd8e305 100644
+--- a/src/core/CMakeLists.txt
++++ b/src/core/CMakeLists.txt
+@@ -981,7 +981,7 @@ TARGET_LINK_LIBRARIES(qgis_core
+ ${QT_QTGUI_LIBRARY}
+ ${QT_QTNETWORK_LIBRARY}
+ ${QT_QTSVG_LIBRARY}
+- ${QT_QTWEBKIT_LIBRARY}
++ ${OPTIONAL_QTWEBKIT}
+ ${QT_QTSQL_LIBRARY}
+ ${QCA_LIBRARY}
+
+diff --git a/src/helpviewer/CMakeLists.txt b/src/helpviewer/CMakeLists.txt
+index cec5ad1..ffd0966 100644
+--- a/src/helpviewer/CMakeLists.txt
++++ b/src/helpviewer/CMakeLists.txt
+@@ -68,7 +68,7 @@ TARGET_LINK_LIBRARIES(qgis_help
+ ${QT_QTNETWORK_LIBRARY}
+ ${QT_QTSVG_LIBRARY}
+ ${QT_QTXML_LIBRARY}
+- ${QT_QTWEBKIT_LIBRARY}
++ ${OPTIONAL_QTWEBKIT}
+ ${QT_QTMAIN_LIBRARY}
+ ${SQLITE3_LIBRARY}
+ )
+diff --git a/tests/bench/CMakeLists.txt b/tests/bench/CMakeLists.txt
+index b605a6a..aa45a27 100644
+--- a/tests/bench/CMakeLists.txt
++++ b/tests/bench/CMakeLists.txt
+@@ -35,7 +35,7 @@ TARGET_LINK_LIBRARIES(qgis_bench
+ ${QT_QTNETWORK_LIBRARY}
+ ${QT_QTSVG_LIBRARY}
+ ${QT_QTXML_LIBRARY}
+- ${QT_QTWEBKIT_LIBRARY}
++ ${OPTIONAL_QTWEBKIT}
+ ${QT_QTMAIN_LIBRARY}
+ ${QT_QTTEST_LIBRARY}
+ )
+diff --git a/tests/src/gui/CMakeLists.txt b/tests/src/gui/CMakeLists.txt
+index f1c823a..94d8692 100644
+--- a/tests/src/gui/CMakeLists.txt
++++ b/tests/src/gui/CMakeLists.txt
+@@ -102,7 +102,7 @@ MACRO (ADD_QGIS_TEST testname testsrc)
+ ${QT_QTSVG_LIBRARY}
+ ${QT_QTTEST_LIBRARY}
+ ${QT_QTNETWORK_LIBRARY}
+- ${QT_QTWEBKIT_LIBRARY}
++ ${OPTIONAL_QTWEBKIT}
+ ${QT_QTMAIN_LIBRARY}
+ ${PROJ_LIBRARY}
+ ${GEOS_LIBRARY}
+diff --git a/tests/src/providers/CMakeLists.txt b/tests/src/providers/CMakeLists.txt
+index 7e8b2e9..0388150 100644
+--- a/tests/src/providers/CMakeLists.txt
++++ b/tests/src/providers/CMakeLists.txt
+@@ -124,7 +124,7 @@ IF(UNIX AND NOT ANDROID AND CMAKE_BUILD_TYPE MATCHES Debug)
+ ${QT_QTNETWORK_LIBRARY}
+ ${QT_QTSVG_LIBRARY}
+ ${QT_QTXML_LIBRARY}
+- ${QT_QTWEBKIT_LIBRARY}
++ ${OPTIONAL_QTWEBKIT}
+ ${QT_QTMAIN_LIBRARY}
+ ${QT_QTSCRIPT_LIBRARY}
+ qgis_core
diff --git a/sci-geosciences/qgis/files/qgis-2.18.6-featuresummary.patch b/sci-geosciences/qgis/files/qgis-2.18.6-featuresummary.patch
new file mode 100644
index 000000000000..0d4c99de9de0
--- /dev/null
+++ b/sci-geosciences/qgis/files/qgis-2.18.6-featuresummary.patch
@@ -0,0 +1,31 @@
+From 70505aa1569c541dd252115848f46f91811955c0 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
+Date: Sun, 9 Apr 2017 20:21:28 +0200
+Subject: [PATCH 1/2] Use FeatureSummary
+
+---
+ CMakeLists.txt | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ed0a84013a..26f4659f61 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -28,6 +28,8 @@ SET(CMAKE_COLOR_MAKEFILE ON)
+ # set path to additional CMake modules
+ SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
+
++include(FeatureSummary)
++
+ # in generated makefiles use relative paths so the project dir is moveable
+ # Note commented out since it cause problems but it would be nice to resolve these and enable
+ #
+@@ -908,3 +910,5 @@ ENDIF(WIN32 AND NOT UNIX)
+ SET(CPACK_PACKAGE_EXECUTABLES "qgis" "QGIS")
+ SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.md")
+ INCLUDE(CPack)
++
++FEATURE_SUMMARY(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
+--
+2.12.2
+
diff --git a/sci-geosciences/qgis/files/qgis-2.18.6-python.patch b/sci-geosciences/qgis/files/qgis-2.18.6-python.patch
new file mode 100644
index 000000000000..b8a812d3e4fa
--- /dev/null
+++ b/sci-geosciences/qgis/files/qgis-2.18.6-python.patch
@@ -0,0 +1,25 @@
+commit 13d8e30bbe0ee17fff32a3eba90cd217d277e5ac
+Author: Marco Bernasocchi <marco@opengis.ch>
+Date: Wed Dec 7 19:08:24 2016 +1300
+
+ fix 2.18 build with Qt5 by executing pyuic
+
+diff --git a/scripts/pyuic-wrapper.sh b/scripts/pyuic-wrapper.sh
+index d6fb497a84..aa146b31bb 100755
+--- a/scripts/pyuic-wrapper.sh
++++ b/scripts/pyuic-wrapper.sh
+@@ -15,12 +15,12 @@
+ ###########################################################################
+
+
+-PYUIC4=$1
++PYUIC=$1
+ LD_LIBRARY_PATH=$2:$LD_LIBRARY_PATH
+ PYTHONPATH=$3:$PYTHONPATH
+ PYTHON=$4
+ shift 4
+
+ export LD_LIBRARY_PATH PYTHONPATH
+-
++$PYUIC $@
+ exec $PYTHON $(dirname $0)/pyuic-wrapper.py $@