[qgis] 03/03: Add patch to fix QSpatiaLite provider build failure with Qt5.
Sebastiaan Couwenberg
sebastic at moszumanska.debian.org
Sat Mar 12 16:59:00 UTC 2016
This is an automated email from the git hooks/post-receive script.
sebastic pushed a commit to branch qt5
in repository qgis.
commit fe2d4c6129832af92067e1b0122abc91c702ad9c
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date: Sat Mar 12 02:27:09 2016 +0100
Add patch to fix QSpatiaLite provider build failure with Qt5.
Re-enable QSpatiaLite provider.
---
debian/changelog | 1 +
debian/patches/qt5-qspatialite.patch | 90 ++++++++++++++++++++++++++++++++++++
debian/patches/series | 1 +
debian/rules | 2 +-
4 files changed, 93 insertions(+), 1 deletion(-)
diff --git a/debian/changelog b/debian/changelog
index 5007916..02ccbd8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,7 @@ qgis (2.14.0+dfsg0-4~exp1) UNRELEASED; urgency=medium
* Update branch in gbp.conf.
* Switch from Qt4 to Qt5.
* Add patch to fix globe plugin build failure with Qt5.
+ * Add patch to fix QSpatiaLite provider build failure with Qt5.
-- Bas Couwenberg <sebastic at debian.org> Fri, 08 May 2015 23:40:06 +0200
diff --git a/debian/patches/qt5-qspatialite.patch b/debian/patches/qt5-qspatialite.patch
new file mode 100644
index 0000000..4f775f0
--- /dev/null
+++ b/debian/patches/qt5-qspatialite.patch
@@ -0,0 +1,90 @@
+Description: Add support for Qt5 to qspatialite provider.
+ .
+ The detachFromResultSet() changes in qsql_spatialite.{cpp,h} are taken
+ from https://code.qt.io/cgit/qt/qtbase.git/commit/?id=fc15a1d5e2cb064d
+ by Mark Brand <mabrand at mabrand.nl>.
+ .
+ Additionally the sqlite3 & sqlite3_stmt types need to be declared as
+ opaque pointers per http://doc.qt.io/qt-5/qmetatype.html#Q_DECLARE_METATYPE
+ .
+ For Qt5 Q_PLUGIN_METADATA() should be used instead of Q_EXPORT_PLUGIN2()
+ per http://doc.qt.io/qt-5/qtquick-porting-qt5.html#qml-plugins
+ .
+Author: Bas Couwenberg <sebastic at debian.org>
+Forwarded: https://github.com/qgis/QGIS/pull/2903
+
+--- a/src/providers/spatialite/qspatialite/qsql_spatialite.cpp
++++ b/src/providers/spatialite/qspatialite/qsql_spatialite.cpp
+@@ -60,6 +60,10 @@
+ #include <sqlite3.h>
+ #include <qgsslconnect.h>
+
++#if QT_VERSION >= 0x050000
++Q_DECLARE_OPAQUE_POINTER(sqlite3*)
++Q_DECLARE_OPAQUE_POINTER(sqlite3_stmt*)
++#endif
+ Q_DECLARE_METATYPE(sqlite3*)
+ Q_DECLARE_METATYPE(sqlite3_stmt*)
+
+@@ -325,10 +329,12 @@ QSpatiaLiteResult::~QSpatiaLiteResult()
+ void QSpatiaLiteResult::virtual_hook(int id, void *data)
+ {
+ switch (id) {
++#if QT_VERSION < 0x050000
+ case QSqlResult::DetachFromResultSet:
+ if (d->stmt)
+ sqlite3_reset(d->stmt);
+ break;
++#endif
+ default:
+ QSqlCachedResult::virtual_hook(id, data);
+ }
+@@ -485,6 +491,14 @@ QSqlRecord QSpatiaLiteResult::record() c
+ return d->rInf;
+ }
+
++#if QT_VERSION >= 0x050000
++void QSpatiaLiteResult::detachFromResultSet()
++{
++ if (d->stmt)
++ sqlite3_reset(d->stmt);
++}
++#endif
++
+ QVariant QSpatiaLiteResult::handle() const
+ {
+ return QVariant::fromValue(d->stmt);
+--- a/src/providers/spatialite/qspatialite/qsql_spatialite.h
++++ b/src/providers/spatialite/qspatialite/qsql_spatialite.h
+@@ -80,6 +80,9 @@ protected:
+ int numRowsAffected();
+ QVariant lastInsertId() const;
+ QSqlRecord record() const;
++#if QT_VERSION >= 0x050000
++ void detachFromResultSet();
++#endif
+ void virtual_hook(int id, void *data);
+
+ private:
+--- a/src/providers/spatialite/qspatialite/smain.cpp
++++ b/src/providers/spatialite/qspatialite/smain.cpp
+@@ -47,6 +47,9 @@ QT_BEGIN_NAMESPACE
+
+ class QSpatiaLiteDriverPlugin : public QSqlDriverPlugin
+ {
++#if QT_VERSION >= 0x050000
++ Q_PLUGIN_METADATA(IID "org.qgis.QSpatiaLiteDriverPlugin")
++#endif
+ public:
+ QSpatiaLiteDriverPlugin();
+
+@@ -75,7 +78,9 @@ QStringList QSpatiaLiteDriverPlugin::key
+ return l;
+ }
+
++#if QT_VERSION < 0x050000
+ Q_EXPORT_STATIC_PLUGIN(QSpatiaLiteDriverPlugin)
+ Q_EXPORT_PLUGIN2(qspatialite, QSpatiaLiteDriverPlugin)
++#endif
+
+ QT_END_NAMESPACE
diff --git a/debian/patches/series b/debian/patches/series
index 6d09889..d7a00db 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -6,3 +6,4 @@ occurred-typo.patch
number-typo.patch
globe-adapt-to-osgearth-2.7.patch
qt5-globe-plugin.patch
+qt5-qspatialite.patch
diff --git a/debian/rules b/debian/rules
index d69b866..e3dc3ba 100755
--- a/debian/rules
+++ b/debian/rules
@@ -60,7 +60,7 @@ CMAKE_OPTS := \
-DPEDANTIC=TRUE \
-DENABLE_QT5=TRUE \
-DWITH_BINDINGS=FALSE \
- -DWITH_QSPATIALITE=FALSE \
+ -DWITH_QSPATIALITE=TRUE \
-DWITH_SERVER=FALSE \
-DWITH_SERVER_PLUGINS=TRUE \
-DSERVER_SKIP_ECW=TRUE \
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/qgis.git
More information about the Pkg-grass-devel
mailing list