From 044943fac121b4340f0a358e94abaf7774bad429 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Tue, 10 Jul 2018 00:14:42 +0000 Subject: [PATCH] extra/pyqt5 to 5.11.2-1 --- extra/pyqt5/PKGBUILD | 47 +-- extra/pyqt5/pyqt-qt5.11.patch | 17 - extra/pyqt5/pyqt5-cura-crash.patch | 559 ----------------------------- 3 files changed, 16 insertions(+), 607 deletions(-) delete mode 100644 extra/pyqt5/pyqt-qt5.11.patch delete mode 100644 extra/pyqt5/pyqt5-cura-crash.patch diff --git a/extra/pyqt5/PKGBUILD b/extra/pyqt5/PKGBUILD index 0552e3586..26d41ee5c 100644 --- a/extra/pyqt5/PKGBUILD +++ b/extra/pyqt5/PKGBUILD @@ -10,34 +10,27 @@ pkgbase=pyqt5 pkgname=('pyqt5-common' 'python-pyqt5' 'python2-pyqt5') -pkgver=5.10.1 -pkgrel=7 +pkgver=5.11.2 +pkgrel=1 arch=('x86_64') url="http://riverbankcomputing.co.uk/software/pyqt/intro" license=('GPL') -makedepends=('python-sip' 'python2-sip' 'python-opengl' 'python2-opengl' - 'python2-dbus' 'python-dbus' 'qt5-connectivity' - 'qt5-multimedia' 'qt5-tools' 'qt5-serialport' 'qt5-svg' +makedepends=('python-sip-pyqt5' 'python2-sip-pyqt5' 'sip' 'python-opengl' 'python2-opengl' 'python2-enum34' + 'python2-dbus' 'python-dbus' 'qt5-connectivity' 'qt5-multimedia' 'qt5-tools' 'qt5-serialport' 'qt5-svg' 'qt5-webkit' 'qt5-websockets' 'qt5-x11extras' 'qt5-networkauth') -source=("http://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-$pkgver/PyQt5_gpl-$pkgver.tar.gz" pyqt-support-new-qt.patch - pyqt5-cura-crash.patch pyqt-qt5.11.patch) -sha512sums=('04cd0292f7a088f9c0d088d7c73ec96cfc40253f771dfdf194eb92be7635e6fcaf04863fa24215e9c34a096658549bb2feeb8d8fdca1e39ed87f0256ef0f790b' - 'b94b707e4265ff8e84d52214cea7b70db33aa436440c74e4918c165a7dfae8949bf3e91491d300e68c1715b26b693ba69eca114cf42ce6114dab1b99d69d417e' - '3f6e1c0dcd95d3ff39c03f59d7c09cbf2e42431bf9cb6dc7a63da10b7a387e5977992e57ef0ff1dea495f29dfbf4db2568b4588e801cca966a0136fe98d1ed45' - 'bae60dd592701929acf403514d8be87d53330dccff74267efb615005d82f5710ce13636a99b2a75beb04fd93a4ade34486c3c2aa190efd334d01c78b34f1bcc0') +source=("http://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-$pkgver/PyQt5_gpl-$pkgver.tar.gz" pyqt-support-new-qt.patch) +sha512sums=('fc60246b5e1ca0d8aeef829fe20de9dd28b77e3c151532f9dbcd92c0deec12d8308cc799901aeec3f84af745e735053d2aaad2866ef64a2426cba343e08bc2c0' + 'b94b707e4265ff8e84d52214cea7b70db33aa436440c74e4918c165a7dfae8949bf3e91491d300e68c1715b26b693ba69eca114cf42ce6114dab1b99d69d417e') prepare() { # Support new versions of Qt - don't remove, needs to be reapplied after every new Qt release pushd PyQt5_gpl-$pkgver - patch -p1 -i ../pyqt-support-new-qt.patch - patch -p1 -i ../pyqt5-cura-crash.patch # Fix crash in Cura - patch -p1 -i ../pyqt-qt5.11.patch # Fix build with Qt 5.11 (opensuse) +# patch -p1 -i ../pyqt-support-new-qt.patch popd - # The additional include path was removed due to this line, I don't really know why they are doing this... - sed -i '/target_config.dbus_inc_dirs = \[\]/d' PyQt5_gpl-$pkgver/configure.py - cp -a PyQt5_gpl-$pkgver{,-py2} +# Remove check for sip from py2, it doesn't work since sip doesn't install __init__.py + sed -e 's|from PyQt5 import sip|pass|g' -i PyQt5_gpl-$pkgver-py2/configure.py } build() { @@ -45,24 +38,16 @@ build() { python configure.py \ --confirm-license \ --no-sip-files \ - --qsci-api \ - -q /usr/bin/qmake-qt5 - - # Thanks Gerardo for the rpath fix - find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g' - + --no-dist-info \ + --qsci-api make cd "$srcdir"/PyQt5_gpl-$pkgver-py2 python2 configure.py \ --confirm-license \ --no-sip-files \ - --qsci-api \ - -q /usr/bin/qmake-qt5 - - # Thanks Gerardo for the rpath fix - find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g' - + --no-dist-info \ + --qsci-api make } @@ -79,7 +64,7 @@ package_pyqt5-common(){ package_python-pyqt5(){ pkgdesc="A set of Python 3.x bindings for the Qt5 toolkit" - depends=('python-sip' 'pyqt5-common') + depends=('python-sip-pyqt5' 'pyqt5-common') optdepends=('python-opengl: enable OpenGL 3D graphics in PyQt applications' 'python-dbus: for python-dbus mainloop support' 'qt5-multimedia: QtMultimedia, QtMultimediaWidgets' @@ -105,7 +90,7 @@ package_python-pyqt5(){ package_python2-pyqt5(){ pkgdesc="A set of Python 2.x bindings for the Qt5 toolkit" - depends=('python2-sip' 'pyqt5-common' 'python2-enum34') + depends=('python2-sip-pyqt5' 'pyqt5-common' 'python2-enum34') optdepends=('python2-opengl: enable OpenGL 3D graphics in PyQt applications' 'python-dbus: for python-dbus mainloop support' 'qt5-multimedia: QtMultimedia, QtMultimediaWidgets' diff --git a/extra/pyqt5/pyqt-qt5.11.patch b/extra/pyqt5/pyqt-qt5.11.patch deleted file mode 100644 index 96c8a513b..000000000 --- a/extra/pyqt5/pyqt-qt5.11.patch +++ /dev/null @@ -1,17 +0,0 @@ -From: Fabian Vogt -Subject: QTest::waitForEvents() is internal only - -Must not be used, got removed with Qt 5.11. - -Index: PyQt5_gpl-5.10.1/sip/QtTest/qtestmouse.sip -=================================================================== ---- PyQt5_gpl-5.10.1.orig/sip/QtTest/qtestmouse.sip -+++ PyQt5_gpl-5.10.1/sip/QtTest/qtestmouse.sip -@@ -41,7 +41,6 @@ namespace QTest - void mousePress(QWidget *widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier = 0, QPoint pos = QPoint(), int delay = -1); - void mouseRelease(QWidget *widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier = 0, QPoint pos = QPoint(), int delay = -1); - void mouseEvent(QTest::MouseAction action, QWidget *widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier, QPoint pos, int delay = -1); -- void waitForEvents() /ReleaseGIL/; - void mouseEvent(QTest::MouseAction action, QWindow *window, Qt::MouseButton button, Qt::KeyboardModifiers modifier, QPoint pos, int delay = -1); - void mousePress(QWindow *window, Qt::MouseButton button, Qt::KeyboardModifiers modifier = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1); - void mouseRelease(QWindow *window, Qt::MouseButton button, Qt::KeyboardModifiers modifier = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1); diff --git a/extra/pyqt5/pyqt5-cura-crash.patch b/extra/pyqt5/pyqt5-cura-crash.patch deleted file mode 100644 index 9b79407cd..000000000 --- a/extra/pyqt5/pyqt5-cura-crash.patch +++ /dev/null @@ -1,559 +0,0 @@ -diff -ur --new-file PyQt5_gpl-5.10.1/qpy/QtQuick/qpyquick_register_type.cpp PyQt5_gpl-5.10.2.dev1803281228/qpy/QtQuick/qpyquick_register_type.cpp ---- PyQt5_gpl-5.10.1/qpy/QtQuick/qpyquick_register_type.cpp 2018-02-27 11:43:52.000000000 +0100 -+++ PyQt5_gpl-5.10.2.dev1803281228/qpy/QtQuick/qpyquick_register_type.cpp 2018-03-29 03:32:17.000000000 +0200 -@@ -22,6 +22,8 @@ - #include "qpyquickframebufferobject.h" - #include "qpyquickitem.h" - #include "qpyquickpainteditem.h" -+#include "qpyquickview.h" -+#include "qpyquickwindow.h" - - #include "sipAPIQtQuick.h" - -@@ -30,6 +32,9 @@ - const QMetaObject *mo, const QByteArray &ptr_name, - const QByteArray &list_name, QQmlPrivate::RegisterType **rtp) - { -+ // Make sure the types are tested in the right order (ie. more specific -+ // types first). -+ - #if QT_VERSION >= 0x050200 - if (PyType_IsSubtype(py_type, sipTypeAsPyTypeObject(sipType_QQuickFramebufferObject))) - return ((*rtp = QPyQuickFramebufferObject::addType(py_type, mo, ptr_name, list_name)) ? sipErrorNone : sipErrorFail); -@@ -41,6 +46,12 @@ - if (PyType_IsSubtype(py_type, sipTypeAsPyTypeObject(sipType_QQuickItem))) - return ((*rtp = QPyQuickItem::addType(py_type, mo, ptr_name, list_name)) ? sipErrorNone : sipErrorFail); - -+ if (PyType_IsSubtype(py_type, sipTypeAsPyTypeObject(sipType_QQuickView))) -+ return ((*rtp = QPyQuickView::addType(py_type, mo, ptr_name, list_name)) ? sipErrorNone : sipErrorFail); -+ -+ if (PyType_IsSubtype(py_type, sipTypeAsPyTypeObject(sipType_QQuickWindow))) -+ return ((*rtp = QPyQuickWindow::addType(py_type, mo, ptr_name, list_name)) ? sipErrorNone : sipErrorFail); -+ - // We don't recognise the type. - return sipErrorContinue; - } -diff -ur --new-file PyQt5_gpl-5.10.1/qpy/QtQuick/qpyquickview.cpp PyQt5_gpl-5.10.2.dev1803281228/qpy/QtQuick/qpyquickview.cpp ---- PyQt5_gpl-5.10.1/qpy/QtQuick/qpyquickview.cpp 1970-01-01 01:00:00.000000000 +0100 -+++ PyQt5_gpl-5.10.2.dev1803281228/qpy/QtQuick/qpyquickview.cpp 2018-03-29 03:32:17.000000000 +0200 -@@ -0,0 +1,155 @@ -+// This is the implementation of the QPyQuickWindow classes. -+// -+// Copyright (c) 2018 Riverbank Computing Limited -+// -+// This file is part of PyQt5. -+// -+// This file may be used under the terms of the GNU General Public License -+// version 3.0 as published by the Free Software Foundation and appearing in -+// the file LICENSE included in the packaging of this file. Please review the -+// following information to ensure the GNU General Public License version 3.0 -+// requirements will be met: http://www.gnu.org/copyleft/gpl.html. -+// -+// If you do not wish to use this file under the terms of the GPL version 3.0 -+// then you may purchase a commercial license. For more information contact -+// info@riverbankcomputing.com. -+// -+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -+ -+ -+#include -+ -+#include -+ -+#include "qpyquickview.h" -+ -+#include "sipAPIQtQuick.h" -+ -+ -+// The maximum number of Python QQuickView types. -+const int NrOfQuickViewTypes = 20; -+ -+// The list of registered Python types. -+static QList pyqt_types; -+ -+// The registration data for the canned types. -+static QQmlPrivate::RegisterType canned_types[NrOfQuickViewTypes]; -+ -+ -+#define QPYQUICKVIEW_INIT(n) \ -+ case n##U: \ -+ QPyQuickView##n::staticMetaObject = *mo; \ -+ rt->typeId = qRegisterNormalizedMetaType(ptr_name); \ -+ rt->listId = qRegisterNormalizedMetaType >(list_name); \ -+ rt->objectSize = sizeof(QPyQuickView##n); \ -+ rt->create = QQmlPrivate::createInto; \ -+ rt->metaObject = mo; \ -+ rt->attachedPropertiesFunction = QQmlPrivate::attachedPropertiesFunc(); \ -+ rt->attachedPropertiesMetaObject = QQmlPrivate::attachedPropertiesMetaObject(); \ -+ rt->parserStatusCast = QQmlPrivate::StaticCastSelector::cast(); \ -+ rt->valueSourceCast = QQmlPrivate::StaticCastSelector::cast(); \ -+ rt->valueInterceptorCast = QQmlPrivate::StaticCastSelector::cast(); \ -+ break -+ -+ -+// The ctor. -+QPyQuickView::QPyQuickView(QWindow *parent) : sipQQuickView(parent) -+{ -+} -+ -+ -+// Add a new Python type and return its number. -+QQmlPrivate::RegisterType *QPyQuickView::addType(PyTypeObject *type, -+ const QMetaObject *mo, const QByteArray &ptr_name, -+ const QByteArray &list_name) -+{ -+ int type_nr = pyqt_types.size(); -+ -+ // Check we have a spare canned type. -+ if (type_nr >= NrOfQuickViewTypes) -+ { -+ PyErr_Format(PyExc_TypeError, -+ "a maximum of %d QQuickView types may be registered with QML", -+ NrOfQuickViewTypes); -+ return 0; -+ } -+ -+ pyqt_types.append(type); -+ -+ QQmlPrivate::RegisterType *rt = &canned_types[type_nr]; -+ -+ // Initialise those members that depend on the C++ type. -+ switch (type_nr) -+ { -+ QPYQUICKVIEW_INIT(0); -+ QPYQUICKVIEW_INIT(1); -+ QPYQUICKVIEW_INIT(2); -+ QPYQUICKVIEW_INIT(3); -+ QPYQUICKVIEW_INIT(4); -+ QPYQUICKVIEW_INIT(5); -+ QPYQUICKVIEW_INIT(6); -+ QPYQUICKVIEW_INIT(7); -+ QPYQUICKVIEW_INIT(8); -+ QPYQUICKVIEW_INIT(9); -+ QPYQUICKVIEW_INIT(10); -+ QPYQUICKVIEW_INIT(11); -+ QPYQUICKVIEW_INIT(12); -+ QPYQUICKVIEW_INIT(13); -+ QPYQUICKVIEW_INIT(14); -+ QPYQUICKVIEW_INIT(15); -+ QPYQUICKVIEW_INIT(16); -+ QPYQUICKVIEW_INIT(17); -+ QPYQUICKVIEW_INIT(18); -+ QPYQUICKVIEW_INIT(19); -+ } -+ -+ return rt; -+} -+ -+ -+// Create the Python instance. -+void QPyQuickView::createPyObject(QWindow *parent) -+{ -+ SIP_BLOCK_THREADS -+ -+ // Assume C++ owns everything. -+ PyObject *obj = sipConvertFromNewPyType(this, pyqt_types.at(typeNr()), -+ NULL, &sipPySelf, "D", parent, sipType_QWindow, NULL); -+ -+ if (!obj) -+ pyqt5_qtquick_err_print(); -+ -+ SIP_UNBLOCK_THREADS -+} -+ -+ -+// The canned type implementations. -+#define QPYQUICKVIEW_IMPL(n) \ -+QPyQuickView##n::QPyQuickView##n(QWindow *parent) : QPyQuickView(parent) \ -+{ \ -+ createPyObject(parent); \ -+} \ -+QMetaObject QPyQuickView##n::staticMetaObject -+ -+ -+QPYQUICKVIEW_IMPL(0); -+QPYQUICKVIEW_IMPL(1); -+QPYQUICKVIEW_IMPL(2); -+QPYQUICKVIEW_IMPL(3); -+QPYQUICKVIEW_IMPL(4); -+QPYQUICKVIEW_IMPL(5); -+QPYQUICKVIEW_IMPL(6); -+QPYQUICKVIEW_IMPL(7); -+QPYQUICKVIEW_IMPL(8); -+QPYQUICKVIEW_IMPL(9); -+QPYQUICKVIEW_IMPL(10); -+QPYQUICKVIEW_IMPL(11); -+QPYQUICKVIEW_IMPL(12); -+QPYQUICKVIEW_IMPL(13); -+QPYQUICKVIEW_IMPL(14); -+QPYQUICKVIEW_IMPL(15); -+QPYQUICKVIEW_IMPL(16); -+QPYQUICKVIEW_IMPL(17); -+QPYQUICKVIEW_IMPL(18); -+QPYQUICKVIEW_IMPL(19); -diff -ur --new-file PyQt5_gpl-5.10.1/qpy/QtQuick/qpyquickview.h PyQt5_gpl-5.10.2.dev1803281228/qpy/QtQuick/qpyquickview.h ---- PyQt5_gpl-5.10.1/qpy/QtQuick/qpyquickview.h 1970-01-01 01:00:00.000000000 +0100 -+++ PyQt5_gpl-5.10.2.dev1803281228/qpy/QtQuick/qpyquickview.h 2018-03-29 03:32:17.000000000 +0200 -@@ -0,0 +1,87 @@ -+// This is the definition of the QPyQuickView classes. -+// -+// Copyright (c) 2018 Riverbank Computing Limited -+// -+// This file is part of PyQt5. -+// -+// This file may be used under the terms of the GNU General Public License -+// version 3.0 as published by the Free Software Foundation and appearing in -+// the file LICENSE included in the packaging of this file. Please review the -+// following information to ensure the GNU General Public License version 3.0 -+// requirements will be met: http://www.gnu.org/copyleft/gpl.html. -+// -+// If you do not wish to use this file under the terms of the GPL version 3.0 -+// then you may purchase a commercial license. For more information contact -+// info@riverbankcomputing.com. -+// -+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -+ -+ -+#ifndef _QPYQUICKVIEW_H -+#define _QPYQUICKVIEW_H -+ -+ -+#include -+ -+#include -+#include -+#include -+#include -+ -+#include "sipAPIQtQuick.h" -+ -+ -+class QPyQuickView : public sipQQuickView -+{ -+public: -+ QPyQuickView(QWindow *parent = 0); -+ -+ virtual int typeNr() const = 0; -+ -+ static QQmlPrivate::RegisterType *addType(PyTypeObject *type, -+ const QMetaObject *mo, const QByteArray &ptr_name, -+ const QByteArray &list_name); -+ void createPyObject(QWindow *parent); -+ -+private: -+ QPyQuickView(const QPyQuickView &); -+}; -+ -+ -+// The canned type declarations. -+#define QPYQUICKVIEW_DECL(n) \ -+class QPyQuickView##n : public QPyQuickView \ -+{ \ -+public: \ -+ QPyQuickView##n(QWindow *parent = 0); \ -+ static QMetaObject staticMetaObject; \ -+ virtual int typeNr() const {return n##U;} \ -+private: \ -+ QPyQuickView##n(const QPyQuickView##n &); \ -+} -+ -+ -+QPYQUICKVIEW_DECL(0); -+QPYQUICKVIEW_DECL(1); -+QPYQUICKVIEW_DECL(2); -+QPYQUICKVIEW_DECL(3); -+QPYQUICKVIEW_DECL(4); -+QPYQUICKVIEW_DECL(5); -+QPYQUICKVIEW_DECL(6); -+QPYQUICKVIEW_DECL(7); -+QPYQUICKVIEW_DECL(8); -+QPYQUICKVIEW_DECL(9); -+QPYQUICKVIEW_DECL(10); -+QPYQUICKVIEW_DECL(11); -+QPYQUICKVIEW_DECL(12); -+QPYQUICKVIEW_DECL(13); -+QPYQUICKVIEW_DECL(14); -+QPYQUICKVIEW_DECL(15); -+QPYQUICKVIEW_DECL(16); -+QPYQUICKVIEW_DECL(17); -+QPYQUICKVIEW_DECL(18); -+QPYQUICKVIEW_DECL(19); -+ -+ -+#endif -diff -ur --new-file PyQt5_gpl-5.10.1/qpy/QtQuick/qpyquickwindow.cpp PyQt5_gpl-5.10.2.dev1803281228/qpy/QtQuick/qpyquickwindow.cpp ---- PyQt5_gpl-5.10.1/qpy/QtQuick/qpyquickwindow.cpp 1970-01-01 01:00:00.000000000 +0100 -+++ PyQt5_gpl-5.10.2.dev1803281228/qpy/QtQuick/qpyquickwindow.cpp 2018-03-29 03:32:17.000000000 +0200 -@@ -0,0 +1,155 @@ -+// This is the implementation of the QPyQuickWindow classes. -+// -+// Copyright (c) 2018 Riverbank Computing Limited -+// -+// This file is part of PyQt5. -+// -+// This file may be used under the terms of the GNU General Public License -+// version 3.0 as published by the Free Software Foundation and appearing in -+// the file LICENSE included in the packaging of this file. Please review the -+// following information to ensure the GNU General Public License version 3.0 -+// requirements will be met: http://www.gnu.org/copyleft/gpl.html. -+// -+// If you do not wish to use this file under the terms of the GPL version 3.0 -+// then you may purchase a commercial license. For more information contact -+// info@riverbankcomputing.com. -+// -+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -+ -+ -+#include -+ -+#include -+ -+#include "qpyquickwindow.h" -+ -+#include "sipAPIQtQuick.h" -+ -+ -+// The maximum number of Python QQuickWindow types. -+const int NrOfQuickWindowTypes = 20; -+ -+// The list of registered Python types. -+static QList pyqt_types; -+ -+// The registration data for the canned types. -+static QQmlPrivate::RegisterType canned_types[NrOfQuickWindowTypes]; -+ -+ -+#define QPYQUICKWINDOW_INIT(n) \ -+ case n##U: \ -+ QPyQuickWindow##n::staticMetaObject = *mo; \ -+ rt->typeId = qRegisterNormalizedMetaType(ptr_name); \ -+ rt->listId = qRegisterNormalizedMetaType >(list_name); \ -+ rt->objectSize = sizeof(QPyQuickWindow##n); \ -+ rt->create = QQmlPrivate::createInto; \ -+ rt->metaObject = mo; \ -+ rt->attachedPropertiesFunction = QQmlPrivate::attachedPropertiesFunc(); \ -+ rt->attachedPropertiesMetaObject = QQmlPrivate::attachedPropertiesMetaObject(); \ -+ rt->parserStatusCast = QQmlPrivate::StaticCastSelector::cast(); \ -+ rt->valueSourceCast = QQmlPrivate::StaticCastSelector::cast(); \ -+ rt->valueInterceptorCast = QQmlPrivate::StaticCastSelector::cast(); \ -+ break -+ -+ -+// The ctor. -+QPyQuickWindow::QPyQuickWindow(QWindow *parent) : sipQQuickWindow(parent) -+{ -+} -+ -+ -+// Add a new Python type and return its number. -+QQmlPrivate::RegisterType *QPyQuickWindow::addType(PyTypeObject *type, -+ const QMetaObject *mo, const QByteArray &ptr_name, -+ const QByteArray &list_name) -+{ -+ int type_nr = pyqt_types.size(); -+ -+ // Check we have a spare canned type. -+ if (type_nr >= NrOfQuickWindowTypes) -+ { -+ PyErr_Format(PyExc_TypeError, -+ "a maximum of %d QQuickWindow types may be registered with QML", -+ NrOfQuickWindowTypes); -+ return 0; -+ } -+ -+ pyqt_types.append(type); -+ -+ QQmlPrivate::RegisterType *rt = &canned_types[type_nr]; -+ -+ // Initialise those members that depend on the C++ type. -+ switch (type_nr) -+ { -+ QPYQUICKWINDOW_INIT(0); -+ QPYQUICKWINDOW_INIT(1); -+ QPYQUICKWINDOW_INIT(2); -+ QPYQUICKWINDOW_INIT(3); -+ QPYQUICKWINDOW_INIT(4); -+ QPYQUICKWINDOW_INIT(5); -+ QPYQUICKWINDOW_INIT(6); -+ QPYQUICKWINDOW_INIT(7); -+ QPYQUICKWINDOW_INIT(8); -+ QPYQUICKWINDOW_INIT(9); -+ QPYQUICKWINDOW_INIT(10); -+ QPYQUICKWINDOW_INIT(11); -+ QPYQUICKWINDOW_INIT(12); -+ QPYQUICKWINDOW_INIT(13); -+ QPYQUICKWINDOW_INIT(14); -+ QPYQUICKWINDOW_INIT(15); -+ QPYQUICKWINDOW_INIT(16); -+ QPYQUICKWINDOW_INIT(17); -+ QPYQUICKWINDOW_INIT(18); -+ QPYQUICKWINDOW_INIT(19); -+ } -+ -+ return rt; -+} -+ -+ -+// Create the Python instance. -+void QPyQuickWindow::createPyObject(QWindow *parent) -+{ -+ SIP_BLOCK_THREADS -+ -+ // Assume C++ owns everything. -+ PyObject *obj = sipConvertFromNewPyType(this, pyqt_types.at(typeNr()), -+ NULL, &sipPySelf, "D", parent, sipType_QWindow, NULL); -+ -+ if (!obj) -+ pyqt5_qtquick_err_print(); -+ -+ SIP_UNBLOCK_THREADS -+} -+ -+ -+// The canned type implementations. -+#define QPYQUICKWINDOW_IMPL(n) \ -+QPyQuickWindow##n::QPyQuickWindow##n(QWindow *parent) : QPyQuickWindow(parent) \ -+{ \ -+ createPyObject(parent); \ -+} \ -+QMetaObject QPyQuickWindow##n::staticMetaObject -+ -+ -+QPYQUICKWINDOW_IMPL(0); -+QPYQUICKWINDOW_IMPL(1); -+QPYQUICKWINDOW_IMPL(2); -+QPYQUICKWINDOW_IMPL(3); -+QPYQUICKWINDOW_IMPL(4); -+QPYQUICKWINDOW_IMPL(5); -+QPYQUICKWINDOW_IMPL(6); -+QPYQUICKWINDOW_IMPL(7); -+QPYQUICKWINDOW_IMPL(8); -+QPYQUICKWINDOW_IMPL(9); -+QPYQUICKWINDOW_IMPL(10); -+QPYQUICKWINDOW_IMPL(11); -+QPYQUICKWINDOW_IMPL(12); -+QPYQUICKWINDOW_IMPL(13); -+QPYQUICKWINDOW_IMPL(14); -+QPYQUICKWINDOW_IMPL(15); -+QPYQUICKWINDOW_IMPL(16); -+QPYQUICKWINDOW_IMPL(17); -+QPYQUICKWINDOW_IMPL(18); -+QPYQUICKWINDOW_IMPL(19); -diff -ur --new-file PyQt5_gpl-5.10.1/qpy/QtQuick/qpyquickwindow.h PyQt5_gpl-5.10.2.dev1803281228/qpy/QtQuick/qpyquickwindow.h ---- PyQt5_gpl-5.10.1/qpy/QtQuick/qpyquickwindow.h 1970-01-01 01:00:00.000000000 +0100 -+++ PyQt5_gpl-5.10.2.dev1803281228/qpy/QtQuick/qpyquickwindow.h 2018-03-29 03:32:17.000000000 +0200 -@@ -0,0 +1,87 @@ -+// This is the definition of the QPyQuickWindow classes. -+// -+// Copyright (c) 2018 Riverbank Computing Limited -+// -+// This file is part of PyQt5. -+// -+// This file may be used under the terms of the GNU General Public License -+// version 3.0 as published by the Free Software Foundation and appearing in -+// the file LICENSE included in the packaging of this file. Please review the -+// following information to ensure the GNU General Public License version 3.0 -+// requirements will be met: http://www.gnu.org/copyleft/gpl.html. -+// -+// If you do not wish to use this file under the terms of the GPL version 3.0 -+// then you may purchase a commercial license. For more information contact -+// info@riverbankcomputing.com. -+// -+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -+ -+ -+#ifndef _QPYQUICKWINDOW_H -+#define _QPYQUICKWINDOW_H -+ -+ -+#include -+ -+#include -+#include -+#include -+#include -+ -+#include "sipAPIQtQuick.h" -+ -+ -+class QPyQuickWindow : public sipQQuickWindow -+{ -+public: -+ QPyQuickWindow(QWindow *parent = 0); -+ -+ virtual int typeNr() const = 0; -+ -+ static QQmlPrivate::RegisterType *addType(PyTypeObject *type, -+ const QMetaObject *mo, const QByteArray &ptr_name, -+ const QByteArray &list_name); -+ void createPyObject(QWindow *parent); -+ -+private: -+ QPyQuickWindow(const QPyQuickWindow &); -+}; -+ -+ -+// The canned type declarations. -+#define QPYQUICKWINDOW_DECL(n) \ -+class QPyQuickWindow##n : public QPyQuickWindow \ -+{ \ -+public: \ -+ QPyQuickWindow##n(QWindow *parent = 0); \ -+ static QMetaObject staticMetaObject; \ -+ virtual int typeNr() const {return n##U;} \ -+private: \ -+ QPyQuickWindow##n(const QPyQuickWindow##n &); \ -+} -+ -+ -+QPYQUICKWINDOW_DECL(0); -+QPYQUICKWINDOW_DECL(1); -+QPYQUICKWINDOW_DECL(2); -+QPYQUICKWINDOW_DECL(3); -+QPYQUICKWINDOW_DECL(4); -+QPYQUICKWINDOW_DECL(5); -+QPYQUICKWINDOW_DECL(6); -+QPYQUICKWINDOW_DECL(7); -+QPYQUICKWINDOW_DECL(8); -+QPYQUICKWINDOW_DECL(9); -+QPYQUICKWINDOW_DECL(10); -+QPYQUICKWINDOW_DECL(11); -+QPYQUICKWINDOW_DECL(12); -+QPYQUICKWINDOW_DECL(13); -+QPYQUICKWINDOW_DECL(14); -+QPYQUICKWINDOW_DECL(15); -+QPYQUICKWINDOW_DECL(16); -+QPYQUICKWINDOW_DECL(17); -+QPYQUICKWINDOW_DECL(18); -+QPYQUICKWINDOW_DECL(19); -+ -+ -+#endif -diff -ur --new-file PyQt5_gpl-5.10.1/sip/QtQuick/qquickview.sip PyQt5_gpl-5.10.2.dev1803281228/sip/QtQuick/qquickview.sip ---- PyQt5_gpl-5.10.1/sip/QtQuick/qquickview.sip 2018-02-27 11:43:53.000000000 +0100 -+++ PyQt5_gpl-5.10.2.dev1803281228/sip/QtQuick/qquickview.sip 2018-03-29 03:32:18.000000000 +0200 -@@ -20,7 +20,7 @@ - // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. - - --class QQuickView : QQuickWindow -+class QQuickView : QQuickWindow /ExportDerived/ - { - %TypeHeaderCode - #include -diff -ur --new-file PyQt5_gpl-5.10.1/sip/QtQuick/qquickwindow.sip PyQt5_gpl-5.10.2.dev1803281228/sip/QtQuick/qquickwindow.sip ---- PyQt5_gpl-5.10.1/sip/QtQuick/qquickwindow.sip 2018-02-27 11:43:53.000000000 +0100 -+++ PyQt5_gpl-5.10.2.dev1803281228/sip/QtQuick/qquickwindow.sip 2018-03-29 03:32:18.000000000 +0200 -@@ -20,7 +20,7 @@ - // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. - - --class QQuickWindow : QWindow -+class QQuickWindow : QWindow /ExportDerived/ - { - %TypeHeaderCode - #include