[Python-modules-commits] [pythonqt] 01/01: Integrate Erik's changes

Jonathan Cristopher Carter jcc at moszumanska.debian.org
Mon Nov 20 08:18:31 UTC 2017


This is an automated email from the git hooks/post-receive script.

jcc pushed a commit to branch master
in repository pythonqt.

commit 348a4f969536963fce1f850c2c5bf3a4d0c901ec
Author: Jonathan Carter <jcarter at linux.com>
Date:   Mon Nov 20 10:18:17 2017 +0200

    Integrate Erik's changes
---
 debian/changelog                                   | 14 +++++--
 debian/control                                     |  8 ++--
 .../dont-wrap-constructor-of-abstract-class.diff   | 21 ++++++++++
 debian/patches/dont-wrap-template-function.diff    | 18 ++++++++
 debian/patches/fix-string-literals                 | 49 ----------------------
 debian/patches/ignore-qflag-macro.diff             | 19 +++++++++
 debian/patches/series                              |  5 ++-
 debian/patches/support-new-qt-quick-enums.diff     | 17 ++++++++
 debian/rules                                       |  2 +-
 9 files changed, 94 insertions(+), 59 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 59e8dd8..c1df5a3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,16 @@
-pythonqt (3.2-4) unstable; urgency=medium
+pythonqt (3.2-4~exp4) experimental; urgency=medium
 
-  * Upload to unstable
+  * Fix generator Qt include dir for multiarch
+  * Remove unneeded patch fix-string-literals
+  * Remove unneeded and add new build depends
 
- -- Jonathan Carter <jcc at debian.org>  Mon, 13 Nov 2017 13:28:12 +0200
+ -- Erik Lundin <erik at lun.nu>  Thu, 09 Nov 2017 22:39:45 +0100
+
+pythonqt (3.2-4~exp3) experimental; urgency=medium
+
+  * Patch for building with Qt 5.9
+
+ -- Erik Lundin <erik at lun.nu>  Fri, 27 Oct 2017 16:54:37 +0200
 
 pythonqt (3.2-4~exp2) experimental; urgency=medium
 
diff --git a/debian/control b/debian/control
index 022ac1b..a28f565 100644
--- a/debian/control
+++ b/debian/control
@@ -8,11 +8,9 @@ Build-Depends: debhelper (>= 10),
                libqt5opengl5-dev,
                libqt5svg5-dev,
                libqt5xmlpatterns5-dev,
-               libqtwebkit-dev,
-               pyqt5-dev,
-               pyqt5-dev-tools,
+               pkg-config,
                python-dev,
-               python3-pyside.qtuitools,
+               python3-dev,
                qt5-qmake,
                qtbase5-dev,
                qtbase5-private-dev,
@@ -23,7 +21,7 @@ Standards-Version: 4.1.1
 Vcs-Git: https://anonscm.debian.org/git/python-modules/packages/pythonqt.git
 Vcs-Browser: https://anonscm.debian.org/git/python-modules/packages/pythonqt.git
 Homepage: http://pythonqt.sourceforge.net
-X-Python-Version: >= 2.7
+X-Python-Version: >= 2.6
 X-Python3-Version: >= 3.3
 
 Package: libpythonqt-qt5-python2-3
diff --git a/debian/patches/dont-wrap-constructor-of-abstract-class.diff b/debian/patches/dont-wrap-constructor-of-abstract-class.diff
new file mode 100644
index 0000000..3cb1da1
--- /dev/null
+++ b/debian/patches/dont-wrap-constructor-of-abstract-class.diff
@@ -0,0 +1,21 @@
+Description: Don't wrap constructor of abstract class
+ Allow multiple inheritance since it doesn't seem to be a problem. Not doing it
+ prevents QMediaServiceProviderPlugin from inheriting from both QObject and
+ QMediaServiceProviderFactoryInterface, which hasn't been a problem before, but
+ in Qt 5.9, unnecessary 'virtual's in subclasses were replaced with 'override'
+ (unsupported by the generator), so that class got added even though it was
+ abstract, causing an error when the generator created a wrapper of the
+ constructor.
+From: Erik Lundin <erik at lun.nu>
+Forwarded: https://sourceforge.net/p/pythonqt/discussion/631393/thread/9cc0854d/#e285
+
+--- a/generator/abstractmetabuilder.cpp
++++ b/generator/abstractmetabuilder.cpp
+@@ -1372,7 +1372,6 @@ bool AbstractMetaBuilder::setupInheritan
+                                        .arg(meta_class->name())
+                                        .arg(base_classes.at(primary))
+                                        .arg(base_class_entry->name()));
+-                return false;
+             }
+             primaries++;
+             primary = i;
diff --git a/debian/patches/dont-wrap-template-function.diff b/debian/patches/dont-wrap-template-function.diff
new file mode 100644
index 0000000..cd426cf
--- /dev/null
+++ b/debian/patches/dont-wrap-template-function.diff
@@ -0,0 +1,18 @@
+Description: Don't wrap template function
+ Add new template function to the list of functions to ignore.
+From: Erik Lundin <erik at lun.nu>
+Forwarded: https://sourceforge.net/p/pythonqt/discussion/631393/thread/9cc0854d/#e285
+
+--- a/generator/typesystem_qml.xml
++++ b/generator/typesystem_qml.xml
+@@ -5,7 +5,9 @@
+ <rejection class="QQmlTypeInfo"/>
+ <rejection class="QQmlImageProviderBase"/>
+ 
+-<object-type name="QJSEngine"></object-type>
++<object-type name="QJSEngine">
++  <modify-function signature="newQMetaObject()" remove="all"/>
++</object-type>
+ <object-type name="QJSValue"></object-type>
+ 
+ <enum-type name="QJSEngine::Extension"/>
diff --git a/debian/patches/fix-string-literals b/debian/patches/fix-string-literals
deleted file mode 100644
index 6ac8fd0..0000000
--- a/debian/patches/fix-string-literals
+++ /dev/null
@@ -1,49 +0,0 @@
-Description: fix-string-literals
- Debug and error messages are unquoted, resulting in a compilation security
- warning that results in a failure to build.
- .
- This patch replaces (msg) with ("%", msg) which makes the strings safer
- and fixes the build failure.
-Author: Jonathan Carter <jcc at debian.org>
-
---- pythonqt-3.2.orig/generated_cpp_56/com_trolltech_qt_core/com_trolltech_qt_core1.cpp
-+++ pythonqt-3.2/generated_cpp_56/com_trolltech_qt_core/com_trolltech_qt_core1.cpp
-@@ -4951,32 +4951,32 @@ return new QMessageLogger(file, line, fu
- 
- void PythonQtWrapper_QMessageLogger::critical(QMessageLogger* theWrappedObject, const char*  msg) const
- {
--  ( theWrappedObject->critical(msg));
-+  ( theWrappedObject->critical("%s", msg));
- }
- 
- void PythonQtWrapper_QMessageLogger::debug(QMessageLogger* theWrappedObject, const char*  msg) const
- {
--  ( theWrappedObject->debug(msg));
-+  ( theWrappedObject->debug("%s", msg));
- }
- 
- void PythonQtWrapper_QMessageLogger::fatal(QMessageLogger* theWrappedObject, const char*  msg) const
- {
--  ( theWrappedObject->fatal(msg));
-+  ( theWrappedObject->fatal("%s", msg));
- }
- 
- void PythonQtWrapper_QMessageLogger::info(QMessageLogger* theWrappedObject, const char*  msg) const
- {
--  ( theWrappedObject->info(msg));
-+  ( theWrappedObject->info("%s", msg));
- }
- 
- void PythonQtWrapper_QMessageLogger::noDebug(QMessageLogger* theWrappedObject, const char*  arg__1) const
- {
--  ( theWrappedObject->noDebug(arg__1));
-+  ( theWrappedObject->noDebug("%s", arg__1));
- }
- 
- void PythonQtWrapper_QMessageLogger::warning(QMessageLogger* theWrappedObject, const char*  msg) const
- {
--  ( theWrappedObject->warning(msg));
-+  ( theWrappedObject->warning("%s", msg));
- }
- 
- 
diff --git a/debian/patches/ignore-qflag-macro.diff b/debian/patches/ignore-qflag-macro.diff
new file mode 100644
index 0000000..562b6a9
--- /dev/null
+++ b/debian/patches/ignore-qflag-macro.diff
@@ -0,0 +1,19 @@
+Description: Ignore Q_FLAG macro
+ The Q_FLAGS macro is deprecated and in Qt 5.9 was replaced with Q_FLAG, which
+ wasn't on the list of unsupported macros. It caused the generator to fail when
+ parsing QPainter, so member variables of the inner class PixmapFragment were
+ for some reason added to the QPainter wrapper directly. This lead to several
+ members not being reconised when building.
+From: Erik Lundin <erik at lun.nu>
+Forwarded: https://sourceforge.net/p/pythonqt/discussion/631393/thread/9cc0854d/#e285
+
+--- a/generator/parser/rpp/pp-qt-configuration
++++ b/generator/parser/rpp/pp-qt-configuration
+@@ -9,6 +9,7 @@
+ #define Q_SLOTS slots
+ #define Q_SIGNALS signals
+ #define Q_FLAGS(a)
++#define Q_FLAG(a)
+ #define Q_PRIVATE_SLOT(a, b)
+ #define Q_DECLARE_INTERFACE(a,b)
+ #define Q_INTERFACES(a)
diff --git a/debian/patches/series b/debian/patches/series
index 82edf41..030ba4c 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,4 +2,7 @@ enable-python-selection.diff
 skip-functions-with-rvalue-references.diff
 skip-variadic-functions.diff
 create-pkg-config.diff
-fix-string-literals
+ignore-qflag-macro.diff
+dont-wrap-constructor-of-abstract-class.diff
+dont-wrap-template-function.diff
+support-new-qt-quick-enums.diff
diff --git a/debian/patches/support-new-qt-quick-enums.diff b/debian/patches/support-new-qt-quick-enums.diff
new file mode 100644
index 0000000..328ef6e
--- /dev/null
+++ b/debian/patches/support-new-qt-quick-enums.diff
@@ -0,0 +1,17 @@
+Description: Add support for new enums in QSGGeometry
+From: Erik Lundin <erik at lun.nu>
+Forwarded: https://sourceforge.net/p/pythonqt/discussion/631393/thread/9cc0854d/#e285
+
+--- a/generator/typesystem_quick.xml
++++ b/generator/typesystem_quick.xml
+@@ -75,7 +75,10 @@
+ <enum-type name="QQuickWindow::SceneGraphError"></enum-type>
+ <enum-type name="QSGAbstractRenderer::ClearModeBit"></enum-type>
+ <enum-type name="QSGEngine::CreateTextureOption"></enum-type>
++<enum-type name="QSGGeometry::AttributeType"></enum-type>
+ <enum-type name="QSGGeometry::DataPattern"></enum-type>
++<enum-type name="QSGGeometry::DrawingMode"></enum-type>
++<enum-type name="QSGGeometry::Type"></enum-type>
+ <enum-type name="QSGMaterial::Flag"></enum-type>
+ <enum-type name="QSGNode::DirtyStateBit"></enum-type>
+ <enum-type name="QSGNode::DirtyState"></enum-type>
diff --git a/debian/rules b/debian/rules
index 15e3cff..2b48290 100755
--- a/debian/rules
+++ b/debian/rules
@@ -30,7 +30,7 @@ override_dh_auto_build:
 	# the correct include folder there.
 	cd generator; \
 	mkdir -p qtdir; \
-	ln -s /usr/include/x86_64-linux-gnu/qt5/ qtdir/include; \
+	ln -s `pkg-config --variable=includedir Qt5Core` qtdir/include; \
 	QTDIR=qtdir ./pythonqt_generator qtscript_masterinclude.h build_all.txt
 
 	for i in $(PY2VERS) $(PY3VERS); do \

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/pythonqt.git



More information about the Python-modules-commits mailing list