diff --git a/qgis-3.14.16.tar.bz2 b/qgis-3.14.16.tar.bz2 deleted file mode 100644 index 6f5775f..0000000 --- a/qgis-3.14.16.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c9915c2e577f1812a2b35b678b123c58407e07824d73e5ec0dda13db7ca75c04 -size 109529159 diff --git a/qgis-3.14.16.tar.bz2.sha256 b/qgis-3.14.16.tar.bz2.sha256 deleted file mode 100644 index 792c544..0000000 --- a/qgis-3.14.16.tar.bz2.sha256 +++ /dev/null @@ -1 +0,0 @@ -c9915c2e577f1812a2b35b678b123c58407e07824d73e5ec0dda13db7ca75c04 qgis-3.14.16.tar.bz2 diff --git a/qgis-3.16.3.tar.bz2 b/qgis-3.16.3.tar.bz2 new file mode 100644 index 0000000..82de91d --- /dev/null +++ b/qgis-3.16.3.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd57314c1913639f02b64df03eef041172aa220f249e318da3849fc71ada4d04 +size 114542609 diff --git a/qgis-3.16.3.tar.bz2.sha256 b/qgis-3.16.3.tar.bz2.sha256 new file mode 100644 index 0000000..a734ad6 --- /dev/null +++ b/qgis-3.16.3.tar.bz2.sha256 @@ -0,0 +1 @@ +fd57314c1913639f02b64df03eef041172aa220f249e318da3849fc71ada4d04 qgis-3.16.3.tar.bz2 diff --git a/qgis-fix-return.patch b/qgis-fix-return.patch new file mode 100644 index 0000000..1ff0a6f --- /dev/null +++ b/qgis-fix-return.patch @@ -0,0 +1,21 @@ +From 10ab25e13d934a898c7b11f2f07faed10ba2ae9e Mon Sep 17 00:00:00 2001 +From: Nyall Dawson +Date: Mon, 16 Nov 2020 07:09:57 +1000 +Subject: [PATCH] Fix build warning on gcc + +--- + src/gui/raster/qgscolorrampshaderwidget.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/gui/raster/qgscolorrampshaderwidget.cpp b/src/gui/raster/qgscolorrampshaderwidget.cpp +index 44e8a4773767..529c7bc197f7 100644 +--- a/src/gui/raster/qgscolorrampshaderwidget.cpp ++++ b/src/gui/raster/qgscolorrampshaderwidget.cpp +@@ -766,6 +766,7 @@ QString QgsColorRampShaderWidget::createLabel( QTreeWidgetItem *currentItem, int + return QLocale().toString( val, 'f', mLabelPrecisionSpinBox->value() ); + } + } ++ return QString(); + }; + + QgsColorRampShader::Type interpolation = static_cast< QgsColorRampShader::Type >( mColorInterpolationComboBox->currentData().toInt() ); diff --git a/qgis-pr37842-sip5.patch b/qgis-pr37842-sip5.patch deleted file mode 100644 index 10222e7..0000000 --- a/qgis-pr37842-sip5.patch +++ /dev/null @@ -1,385 +0,0 @@ -From 33192f38bc7db93ffe201110cab19fe082851f5f Mon Sep 17 00:00:00 2001 -From: Dmitry Shachnev -Date: Wed, 15 Jul 2020 21:29:37 +0300 -Subject: [PATCH 1/3] Replace deprecated sipMappedType with sipTypeDef - ---- - .../geometry/qgsgeometry.sip.in | 12 ++--- - python/core/conversions.sip | 44 +++++++++---------- - src/core/geometry/qgsgeometry.h | 12 ++--- - 3 files changed, 34 insertions(+), 34 deletions(-) - -diff --git a/python/core/auto_generated/geometry/qgsgeometry.sip.in b/python/core/auto_generated/geometry/qgsgeometry.sip.in -index 7ac9c015e142..d6c060a78dca 100644 ---- a/python/core/auto_generated/geometry/qgsgeometry.sip.in -+++ b/python/core/auto_generated/geometry/qgsgeometry.sip.in -@@ -1533,7 +1533,7 @@ is null, a ValueError will be raised. - } - else - { -- const sipMappedType *qvector_type = sipFindMappedType( "QVector" ); -+ const sipTypeDef *qvector_type = sipFindType( "QVector" ); - sipRes = sipConvertFromNewType( new QVector< QgsPointXY >( sipCpp->randomPointsInPolygon( a0, a1 ) ), qvector_type, Py_None ); - } - %End -@@ -1681,7 +1681,7 @@ will be raised. - } - else - { -- const sipMappedType *qvector_type = sipFindMappedType( "QVector< QgsPointXY >" ); -+ const sipTypeDef *qvector_type = sipFindType( "QVector< QgsPointXY >" ); - sipRes = sipConvertFromNewType( new QgsPolylineXY( sipCpp->asPolyline() ), qvector_type, Py_None ); - } - %End -@@ -1712,7 +1712,7 @@ will be raised. - } - else - { -- const sipMappedType *qvector_type = sipFindMappedType( "QVector>" ); -+ const sipTypeDef *qvector_type = sipFindType( "QVector>" ); - sipRes = sipConvertFromNewType( new QgsPolygonXY( sipCpp->asPolygon() ), qvector_type, Py_None ); - } - %End -@@ -1742,7 +1742,7 @@ will be raised. - } - else - { -- const sipMappedType *qvector_type = sipFindMappedType( "QVector< QgsPointXY >" ); -+ const sipTypeDef *qvector_type = sipFindType( "QVector< QgsPointXY >" ); - sipRes = sipConvertFromNewType( new QgsPolylineXY( sipCpp->asMultiPoint() ), qvector_type, Py_None ); - } - %End -@@ -1773,7 +1773,7 @@ will be raised. - } - else - { -- const sipMappedType *qvector_type = sipFindMappedType( "QVector>" ); -+ const sipTypeDef *qvector_type = sipFindType( "QVector>" ); - sipRes = sipConvertFromNewType( new QgsMultiPolylineXY( sipCpp->asMultiPolyline() ), qvector_type, Py_None ); - } - %End -@@ -1804,7 +1804,7 @@ will be raised. - } - else - { -- const sipMappedType *qvector_type = sipFindMappedType( "QVector>>" ); -+ const sipTypeDef *qvector_type = sipFindType( "QVector>>" ); - sipRes = sipConvertFromNewType( new QgsMultiPolygonXY( sipCpp->asMultiPolygon() ), qvector_type, Py_None ); - } - %End -diff --git a/python/core/conversions.sip b/python/core/conversions.sip -index fb355d1b09d5..abe85ecca4cb 100644 ---- a/python/core/conversions.sip -+++ b/python/core/conversions.sip -@@ -41,7 +41,7 @@ template - if ((l = PyList_New(sipCpp->size())) == NULL) - return NULL; - -- const sipMappedType *qvector_type = sipFindMappedType("QVector"); -+ const sipTypeDef *qvector_type = sipFindType("QVector"); - - // Set the list elements. - for (int i = 0; i < sipCpp->size(); ++i) -@@ -62,7 +62,7 @@ template - %End - - %ConvertToTypeCode -- const sipMappedType *qvector_type = sipFindMappedType("QVector"); -+ const sipTypeDef *qvector_type = sipFindType("QVector"); - - // Check the type if that is all that is required. - if (sipIsErr == NULL) -@@ -71,7 +71,7 @@ template - return 0; - - for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) -- if (!sipCanConvertToMappedType(PyList_GET_ITEM(sipPy, i), qvector_type, SIP_NOT_NONE)) -+ if (!sipCanConvertToType(PyList_GET_ITEM(sipPy, i), qvector_type, SIP_NOT_NONE)) - return 0; - - return 1; -@@ -84,16 +84,16 @@ template - { - int state; - //TYPE *t = reinterpret_cast(sipConvertToType(PyList_GET_ITEM(sipPy, i), sipType_TYPE, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); -- QVector *t = reinterpret_cast< QVector * >(sipConvertToMappedType(PyList_GET_ITEM(sipPy, i), qvector_type, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); -+ QVector *t = reinterpret_cast< QVector * >(sipConvertToType(PyList_GET_ITEM(sipPy, i), qvector_type, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); - - if (*sipIsErr) - { -- sipReleaseMappedType(t, qvector_type, state); -+ sipReleaseType(t, qvector_type, state); - delete ql; - return 0; - } - ql->append(*t); -- sipReleaseMappedType(t, qvector_type, state); -+ sipReleaseType(t, qvector_type, state); - } - - *sipCppPtr = ql; -@@ -118,7 +118,7 @@ template - if ((l = PyList_New(sipCpp->size())) == NULL) - return NULL; - -- const sipMappedType *qvector_type = sipFindMappedType("QVector >"); -+ const sipTypeDef *qvector_type = sipFindType("QVector >"); - - // Set the list elements. - for (int i = 0; i < sipCpp->size(); ++i) -@@ -139,7 +139,7 @@ template - - %ConvertToTypeCode - -- const sipMappedType *qvector_type = sipFindMappedType("QVector >"); -+ const sipTypeDef *qvector_type = sipFindType("QVector >"); - - // Check the type if that is all that is required. - if (sipIsErr == NULL) -@@ -148,7 +148,7 @@ template - return 0; - - for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) -- if (!sipCanConvertToMappedType(PyList_GET_ITEM(sipPy, i), qvector_type, SIP_NOT_NONE)) -+ if (!sipCanConvertToType(PyList_GET_ITEM(sipPy, i), qvector_type, SIP_NOT_NONE)) - return 0; - - return 1; -@@ -161,16 +161,16 @@ template - { - int state; - //TYPE *t = reinterpret_cast(sipConvertToType(PyList_GET_ITEM(sipPy, i), sipType_TYPE, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); -- QVector > *t = reinterpret_cast< QVector< QVector > * >(sipConvertToMappedType(PyList_GET_ITEM(sipPy, i), qvector_type, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); -+ QVector > *t = reinterpret_cast< QVector< QVector > * >(sipConvertToType(PyList_GET_ITEM(sipPy, i), qvector_type, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); - - if (*sipIsErr) - { -- sipReleaseMappedType(t, qvector_type, state); -+ sipReleaseType(t, qvector_type, state); - delete ql; - return 0; - } - ql->append(*t); -- sipReleaseMappedType(t, qvector_type, state); -+ sipReleaseType(t, qvector_type, state); - } - - *sipCppPtr = ql; -@@ -194,7 +194,7 @@ template - if ((l = PyList_New(sipCpp->size())) == NULL) - return NULL; - -- const sipMappedType *qlist_type = sipFindMappedType("QList"); -+ const sipTypeDef *qlist_type = sipFindType("QList"); - - // Set the list elements. - for (int i = 0; i < sipCpp->size(); ++i) -@@ -215,7 +215,7 @@ template - %End - - %ConvertToTypeCode -- const sipMappedType *qlist_type = sipFindMappedType("QList"); -+ const sipTypeDef *qlist_type = sipFindType("QList"); - - // Check the type if that is all that is required. - if (sipIsErr == NULL) -@@ -224,7 +224,7 @@ template - return 0; - - for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) -- if (!sipCanConvertToMappedType(PyList_GET_ITEM(sipPy, i), qlist_type, SIP_NOT_NONE)) -+ if (!sipCanConvertToType(PyList_GET_ITEM(sipPy, i), qlist_type, SIP_NOT_NONE)) - return 0; - - return 1; -@@ -237,16 +237,16 @@ template - { - int state; - //TYPE *t = reinterpret_cast(sipConvertToType(PyList_GET_ITEM(sipPy, i), sipType_TYPE, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); -- QList *t = reinterpret_cast< QList * >(sipConvertToMappedType(PyList_GET_ITEM(sipPy, i), qlist_type, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); -+ QList *t = reinterpret_cast< QList * >(sipConvertToType(PyList_GET_ITEM(sipPy, i), qlist_type, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); - - if (*sipIsErr) - { -- sipReleaseMappedType(t, qlist_type, state); -+ sipReleaseType(t, qlist_type, state); - delete ql; - return 0; - } - ql->append(*t); -- sipReleaseMappedType(t, qlist_type, state); -+ sipReleaseType(t, qlist_type, state); - } - - *sipCppPtr = ql; -@@ -462,7 +462,7 @@ template - if ((d = PyDict_New()) == NULL) - return NULL; - -- const sipMappedType *qmap2 = sipFindMappedType("QMap"); -+ const sipTypeDef *qmap2 = sipFindType("QMap"); - - // Set the list elements. - for (QMap >::iterator it = sipCpp->begin(); it != sipCpp->end(); ++it) -@@ -531,7 +531,7 @@ template - { - qint64 k = PyLong_AsLongLong(kobj); - -- // using sipConvertToMappedType to convert directly to QMap doesn't work -+ // using sipConvertToType to convert directly to QMap doesn't work - // and ends with a segfault - - QMap qm2; -@@ -1025,7 +1025,7 @@ template - Py_ssize_t i = 0; - - -- const sipMappedType *qlist_type = sipFindMappedType("QList"); -+ const sipTypeDef *qlist_type = sipFindType("QList"); - - - // Check the type if that is all that is required. -@@ -1051,7 +1051,7 @@ template - - QString *t1 = reinterpret_cast(sipConvertToType(t1obj, sipType_QString, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); - -- QList *t2 = reinterpret_cast< QList * >(sipConvertToMappedType(t2obj, qlist_type, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); -+ QList *t2 = reinterpret_cast< QList * >(sipConvertToType(t2obj, qlist_type, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr)); - if (*sipIsErr) - { - sipReleaseType(t2, sipType_TYPE2, state); -diff --git a/src/core/geometry/qgsgeometry.h b/src/core/geometry/qgsgeometry.h -index 98aaa1e3cf2c..a7599b1265f3 100644 ---- a/src/core/geometry/qgsgeometry.h -+++ b/src/core/geometry/qgsgeometry.h -@@ -1558,7 +1558,7 @@ class CORE_EXPORT QgsGeometry - } - else - { -- const sipMappedType *qvector_type = sipFindMappedType( "QVector" ); -+ const sipTypeDef *qvector_type = sipFindType( "QVector" ); - sipRes = sipConvertFromNewType( new QVector< QgsPointXY >( sipCpp->randomPointsInPolygon( a0, a1 ) ), qvector_type, Py_None ); - } - % End -@@ -1731,7 +1731,7 @@ class CORE_EXPORT QgsGeometry - } - else - { -- const sipMappedType *qvector_type = sipFindMappedType( "QVector< QgsPointXY >" ); -+ const sipTypeDef *qvector_type = sipFindType( "QVector< QgsPointXY >" ); - sipRes = sipConvertFromNewType( new QgsPolylineXY( sipCpp->asPolyline() ), qvector_type, Py_None ); - } - % End -@@ -1775,7 +1775,7 @@ class CORE_EXPORT QgsGeometry - } - else - { -- const sipMappedType *qvector_type = sipFindMappedType( "QVector>" ); -+ const sipTypeDef *qvector_type = sipFindType( "QVector>" ); - sipRes = sipConvertFromNewType( new QgsPolygonXY( sipCpp->asPolygon() ), qvector_type, Py_None ); - } - % End -@@ -1817,7 +1817,7 @@ class CORE_EXPORT QgsGeometry - } - else - { -- const sipMappedType *qvector_type = sipFindMappedType( "QVector< QgsPointXY >" ); -+ const sipTypeDef *qvector_type = sipFindType( "QVector< QgsPointXY >" ); - sipRes = sipConvertFromNewType( new QgsPolylineXY( sipCpp->asMultiPoint() ), qvector_type, Py_None ); - } - % End -@@ -1861,7 +1861,7 @@ class CORE_EXPORT QgsGeometry - } - else - { -- const sipMappedType *qvector_type = sipFindMappedType( "QVector>" ); -+ const sipTypeDef *qvector_type = sipFindType( "QVector>" ); - sipRes = sipConvertFromNewType( new QgsMultiPolylineXY( sipCpp->asMultiPolyline() ), qvector_type, Py_None ); - } - % End -@@ -1905,7 +1905,7 @@ class CORE_EXPORT QgsGeometry - } - else - { -- const sipMappedType *qvector_type = sipFindMappedType( "QVector>>" ); -+ const sipTypeDef *qvector_type = sipFindType( "QVector>>" ); - sipRes = sipConvertFromNewType( new QgsMultiPolygonXY( sipCpp->asMultiPolygon() ), qvector_type, Py_None ); - } - % End - -From 12203f0ce52705c95c477934c7cdf09d02fccbe6 Mon Sep 17 00:00:00 2001 -From: Dmitry Shachnev -Date: Wed, 15 Jul 2020 21:48:44 +0300 -Subject: [PATCH 2/3] Remove use of deprecated sipCanConvertToEnum - -sipConvertToEnum will raise an exception itself if the type is wrong. ---- - python/core/auto_generated/geometry/qgspoint.sip.in | 3 +-- - src/core/geometry/qgspoint.h | 3 +-- - 2 files changed, 2 insertions(+), 4 deletions(-) - -diff --git a/python/core/auto_generated/geometry/qgspoint.sip.in b/python/core/auto_generated/geometry/qgspoint.sip.in -index 464892212925..80e579894c3d 100644 ---- a/python/core/auto_generated/geometry/qgspoint.sip.in -+++ b/python/core/auto_generated/geometry/qgspoint.sip.in -@@ -88,8 +88,7 @@ based on the following rules: - ( a0 == Py_None || PyFloat_AsDouble( a0 ) != -1.0 || !PyErr_Occurred() ) && - ( a1 == Py_None || PyFloat_AsDouble( a1 ) != -1.0 || !PyErr_Occurred() ) && - ( a2 == Py_None || PyFloat_AsDouble( a2 ) != -1.0 || !PyErr_Occurred() ) && -- ( a3 == Py_None || PyFloat_AsDouble( a3 ) != -1.0 || !PyErr_Occurred() ) && -- ( a4 == Py_None || sipCanConvertToEnum( a4, sipType_QgsWkbTypes_Type ) ) ) -+ ( a3 == Py_None || PyFloat_AsDouble( a3 ) != -1.0 || !PyErr_Occurred() ) ) - { - double x = a0 == Py_None ? std::numeric_limits::quiet_NaN() : PyFloat_AsDouble( a0 ); - double y = a1 == Py_None ? std::numeric_limits::quiet_NaN() : PyFloat_AsDouble( a1 ); -diff --git a/src/core/geometry/qgspoint.h b/src/core/geometry/qgspoint.h -index 1b28d2a9c83e..9840f5615f1f 100644 ---- a/src/core/geometry/qgspoint.h -+++ b/src/core/geometry/qgspoint.h -@@ -110,8 +110,7 @@ class CORE_EXPORT QgsPoint: public QgsAbstractGeometry - ( a0 == Py_None || PyFloat_AsDouble( a0 ) != -1.0 || !PyErr_Occurred() ) && - ( a1 == Py_None || PyFloat_AsDouble( a1 ) != -1.0 || !PyErr_Occurred() ) && - ( a2 == Py_None || PyFloat_AsDouble( a2 ) != -1.0 || !PyErr_Occurred() ) && -- ( a3 == Py_None || PyFloat_AsDouble( a3 ) != -1.0 || !PyErr_Occurred() ) && -- ( a4 == Py_None || sipCanConvertToEnum( a4, sipType_QgsWkbTypes_Type ) ) ) -+ ( a3 == Py_None || PyFloat_AsDouble( a3 ) != -1.0 || !PyErr_Occurred() ) ) - { - double x = a0 == Py_None ? std::numeric_limits::quiet_NaN() : PyFloat_AsDouble( a0 ); - double y = a1 == Py_None ? std::numeric_limits::quiet_NaN() : PyFloat_AsDouble( a1 ); - -From 6e9d42d70099ac5d21e421fb75f55d428ea9e994 Mon Sep 17 00:00:00 2001 -From: Dmitry Shachnev -Date: Wed, 15 Jul 2020 21:50:25 +0300 -Subject: [PATCH 3/3] Replace deprecated sipTransferBreak with sipTransferTo - ---- - python/core/auto_generated/raster/qgsrasterpipe.sip.in | 2 +- - src/core/raster/qgsrasterpipe.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/python/core/auto_generated/raster/qgsrasterpipe.sip.in b/python/core/auto_generated/raster/qgsrasterpipe.sip.in -index 5e65eec71451..d5a71e9d48b0 100644 ---- a/python/core/auto_generated/raster/qgsrasterpipe.sip.in -+++ b/python/core/auto_generated/raster/qgsrasterpipe.sip.in -@@ -54,7 +54,7 @@ if connection would fail, the interface is not inserted and ``False`` is returne - // if insertion failed transfer ownership back to python - PyObject *o = sipGetPyObject( a1, sipType_QgsRasterInterface ); - if ( o ) -- sipTransferBreak( o ); -+ sipTransferTo( o, NULL ); - } - %End - -diff --git a/src/core/raster/qgsrasterpipe.h b/src/core/raster/qgsrasterpipe.h -index 424a02279fdc..0da814011ae0 100644 ---- a/src/core/raster/qgsrasterpipe.h -+++ b/src/core/raster/qgsrasterpipe.h -@@ -83,7 +83,7 @@ class CORE_EXPORT QgsRasterPipe - // if insertion failed transfer ownership back to python - PyObject *o = sipGetPyObject( a1, sipType_QgsRasterInterface ); - if ( o ) -- sipTransferBreak( o ); -+ sipTransferTo( o, NULL ); - } - % End - #endif diff --git a/qgis.changes b/qgis.changes index 561751c..ba9f5a1 100644 --- a/qgis.changes +++ b/qgis.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Jan 21 10:03:29 UTC 2021 - Guillaume GARDET + +- Update to 3.16.3 +- Drop upstream patch: + * qgis-pr37842-sip5.patch + ------------------------------------------------------------------- Fri Dec 11 16:12:46 UTC 2020 - Antonio Larrosa diff --git a/qgis.spec b/qgis.spec index 1d38358..5ff4a35 100644 --- a/qgis.spec +++ b/qgis.spec @@ -1,7 +1,7 @@ # # spec file for package qgis # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %bcond_without grass Name: qgis -Version: 3.14.16 +Version: 3.16.3 Release: 0 Summary: A Geographic Information System (GIS) License: GPL-2.0-only @@ -28,8 +28,8 @@ Source: https://qgis.org/downloads/%{name}-%{version}.tar.bz2 Source1: https://qgis.org/downloads/%{name}-%{version}.tar.bz2.sha256 Source2: %{name}.rpmlintrc Source3: qgis_sample_data.zip -# PATCH-FIX-UPSTREAM https://github.com/qgis/QGIS/pull/37842 Get rid of SIP deprecated functions (support sip5) -Patch0: https://github.com/qgis/QGIS/pull/37842.patch#/qgis-pr37842-sip5.patch +# PATCH-FIX-UPSTREAM - https://github.com/LU-sir/QGIS/commit/10ab25e13d934a898c7b11f2f07faed10ba2ae9e +Patch1: qgis-fix-return.patch BuildRequires: FastCGI-devel BuildRequires: bison >= 2.4 BuildRequires: cmake >= 3.0.0