summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2018-08-10 15:25:06 +0200
committer Eric Hameleers <alien@slackware.com>2018-08-10 15:25:06 +0200
commitd2c1299abd39a72106d7d635ac657324d4976271 (patch)
treede12bdd9a1c0e8727bb0ccc052b427b01d3649ce
parent03846bb3a8aa1d821207ec14b9ec865e292cd4bf (diff)
downloadktown-d2c1299abd39a72106d7d635ac657324d4976271.tar.gz
ktown-d2c1299abd39a72106d7d635ac657324d4976271.tar.xz
Update the deps for KDE 5_18.07
Most prominent is the upgrade of Qt to 5.11.1
-rw-r--r--deps/PyQt5/.url2
-rwxr-xr-xdeps/PyQt5/PyQt5.SlackBuild11
-rw-r--r--deps/PyQt5/patches/pyqt-qt5.11.patch17
-rw-r--r--deps/PyQt5/patches/pyqt-support-new-qt.patch12
-rw-r--r--deps/PyQt5/patches/pyqt5-cura-crash.patch559
-rwxr-xr-xdeps/poppler/poppler.SlackBuild5
-rw-r--r--deps/qt5/.url2
-rw-r--r--deps/qt5/patches/qt5.private-includes.patch53
-rwxr-xr-xdeps/qt5/qt5.SlackBuild32
9 files changed, 668 insertions, 25 deletions
diff --git a/deps/PyQt5/.url b/deps/PyQt5/.url
index ebc1ebc..dd28dc0 100644
--- a/deps/PyQt5/.url
+++ b/deps/PyQt5/.url
@@ -1,2 +1,2 @@
-https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.9.2/PyQt5_gpl-5.9.2.tar.gz
+https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.10.1/PyQt5_gpl-5.10.1.tar.gz
diff --git a/deps/PyQt5/PyQt5.SlackBuild b/deps/PyQt5/PyQt5.SlackBuild
index 66f7b09..3ee77fe 100755
--- a/deps/PyQt5/PyQt5.SlackBuild
+++ b/deps/PyQt5/PyQt5.SlackBuild
@@ -27,10 +27,10 @@
# Modified by Eric Hameleers <alien@slackware.com>
PKGNAM=PyQt5
-VERSION=${VERSION:-5.9.2}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-5.10.1}
+BUILD=${BUILD:-1}
-NUMJOBS=${NUMJOBS:--j7}
+NUMJOBS=${NUMJOBS:-"j$(nproc)"}
CWD=$(pwd)
TMP=${TMP:-/tmp}
@@ -71,6 +71,11 @@ rm -rf ${PKGNAM}_gpl-$VERSION
tar xvf $CWD/${PKGNAM}_gpl-$VERSION.tar.?z* || exit 1
cd ${PKGNAM}_gpl-$VERSION || exit 1
+# Support new versions of Qt:
+cat $CWD/patches/pyqt-support-new-qt.patch | patch -p1 --verbose || exit 1
+cat $CWD/patches/pyqt5-cura-crash.patch | patch -p1 --verbose || exit 1
+cat $CWD/patches/pyqt-qt5.11.patch | patch -p1 --verbose || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/deps/PyQt5/patches/pyqt-qt5.11.patch b/deps/PyQt5/patches/pyqt-qt5.11.patch
new file mode 100644
index 0000000..96c8a51
--- /dev/null
+++ b/deps/PyQt5/patches/pyqt-qt5.11.patch
@@ -0,0 +1,17 @@
+From: Fabian Vogt <fabian@ritter-vogt.de>
+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/deps/PyQt5/patches/pyqt-support-new-qt.patch b/deps/PyQt5/patches/pyqt-support-new-qt.patch
new file mode 100644
index 0000000..1464384
--- /dev/null
+++ b/deps/PyQt5/patches/pyqt-support-new-qt.patch
@@ -0,0 +1,12 @@
+diff -ru a/sip/QtCore/QtCoremod.sip b/sip/QtCore/QtCoremod.sip
+--- a/sip/QtCore/QtCoremod.sip 2016-12-25 18:56:11.000000000 +0100
++++ b/sip/QtCore/QtCoremod.sip 2017-01-24 12:03:50.707514377 +0100
+@@ -22,7 +22,7 @@
+
+ %Module(name=PyQt5.QtCore, call_super_init=True, default_VirtualErrorHandler=PyQt5, keyword_arguments="Optional", use_limited_api=True)
+
+-%Timeline {Qt_5_0_0 Qt_5_0_1 Qt_5_0_2 Qt_5_1_0 Qt_5_1_1 Qt_5_2_0 Qt_5_2_1 Qt_5_3_0 Qt_5_3_1 Qt_5_3_2 Qt_5_4_0 Qt_5_4_1 Qt_5_4_2 Qt_5_5_0 Qt_5_5_1 Qt_5_6_0 Qt_5_6_1 Qt_5_6_2 Qt_5_6_3 Qt_5_6_4 Qt_5_6_5 Qt_5_6_6 Qt_5_6_7 Qt_5_6_8 Qt_5_6_9 Qt_5_7_0 Qt_5_7_1 Qt_5_8_0 Qt_5_8_1 Qt_5_9_0 Qt_5_9_1 Qt_5_9_2 Qt_5_9_3 Qt_5_9_99 Qt_5_10_0 Qt_5_10_1}
++%Timeline {Qt_5_0_0 Qt_5_0_1 Qt_5_0_2 Qt_5_1_0 Qt_5_1_1 Qt_5_2_0 Qt_5_2_1 Qt_5_3_0 Qt_5_3_1 Qt_5_3_2 Qt_5_4_0 Qt_5_4_1 Qt_5_4_2 Qt_5_5_0 Qt_5_5_1 Qt_5_6_0 Qt_5_6_1 Qt_5_6_2 Qt_5_6_3 Qt_5_6_4 Qt_5_6_5 Qt_5_6_6 Qt_5_6_7 Qt_5_6_8 Qt_5_6_9 Qt_5_7_0 Qt_5_7_1 Qt_5_8_0 Qt_5_8_1 Qt_5_9_0 Qt_5_9_1 Qt_5_9_2 Qt_5_9_3 Qt_5_9_99 Qt_5_10_0 Qt_5_10_1 Qt_5_11_0}
+
+ %Platforms {WS_X11 WS_WIN WS_MACX}
+
diff --git a/deps/PyQt5/patches/pyqt5-cura-crash.patch b/deps/PyQt5/patches/pyqt5-cura-crash.patch
new file mode 100644
index 0000000..9b79407
--- /dev/null
+++ b/deps/PyQt5/patches/pyqt5-cura-crash.patch
@@ -0,0 +1,559 @@
+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 <info@riverbankcomputing.com>
++//
++// 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 <Python.h>
++
++#include <QQmlListProperty>
++
++#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<PyTypeObject *> 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<QPyQuickView##n *>(ptr_name); \
++ rt->listId = qRegisterNormalizedMetaType<QQmlListProperty<QPyQuickView##n> >(list_name); \
++ rt->objectSize = sizeof(QPyQuickView##n); \
++ rt->create = QQmlPrivate::createInto<QPyQuickView##n>; \
++ rt->metaObject = mo; \
++ rt->attachedPropertiesFunction = QQmlPrivate::attachedPropertiesFunc<QPyQuickView##n>(); \
++ rt->attachedPropertiesMetaObject = QQmlPrivate::attachedPropertiesMetaObject<QPyQuickView##n>(); \
++ rt->parserStatusCast = QQmlPrivate::StaticCastSelector<QPyQuickView##n,QQmlParserStatus>::cast(); \
++ rt->valueSourceCast = QQmlPrivate::StaticCastSelector<QPyQuickView##n,QQmlPropertyValueSource>::cast(); \
++ rt->valueInterceptorCast = QQmlPrivate::StaticCastSelector<QPyQuickView##n,QQmlPropertyValueInterceptor>::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 <info@riverbankcomputing.com>
++//
++// 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 <Python.h>
++
++#include <qqmlprivate.h>
++#include <QByteArray>
++#include <QMetaObject>
++#include <QQuickView>
++
++#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 <info@riverbankcomputing.com>
++//
++// 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 <Python.h>
++
++#include <QQmlListProperty>
++
++#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<PyTypeObject *> 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<QPyQuickWindow##n *>(ptr_name); \
++ rt->listId = qRegisterNormalizedMetaType<QQmlListProperty<QPyQuickWindow##n> >(list_name); \
++ rt->objectSize = sizeof(QPyQuickWindow##n); \
++ rt->create = QQmlPrivate::createInto<QPyQuickWindow##n>; \
++ rt->metaObject = mo; \
++ rt->attachedPropertiesFunction = QQmlPrivate::attachedPropertiesFunc<QPyQuickWindow##n>(); \
++ rt->attachedPropertiesMetaObject = QQmlPrivate::attachedPropertiesMetaObject<QPyQuickWindow##n>(); \
++ rt->parserStatusCast = QQmlPrivate::StaticCastSelector<QPyQuickWindow##n,QQmlParserStatus>::cast(); \
++ rt->valueSourceCast = QQmlPrivate::StaticCastSelector<QPyQuickWindow##n,QQmlPropertyValueSource>::cast(); \
++ rt->valueInterceptorCast = QQmlPrivate::StaticCastSelector<QPyQuickWindow##n,QQmlPropertyValueInterceptor>::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 <info@riverbankcomputing.com>
++//
++// 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 <Python.h>
++
++#include <qqmlprivate.h>
++#include <QByteArray>
++#include <QMetaObject>
++#include <QQuickWindow>
++
++#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 <qquickview.h>
+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 <qquickwindow.h>
diff --git a/deps/poppler/poppler.SlackBuild b/deps/poppler/poppler.SlackBuild
index 1825e13..292409f 100755
--- a/deps/poppler/poppler.SlackBuild
+++ b/deps/poppler/poppler.SlackBuild
@@ -26,7 +26,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=poppler
-VERSION=${VERSION:-0.66.0}
+VERSION=${VERSION:-0.67.0}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -77,9 +77,6 @@ rm -rf ${PKGNAM}-${VERSION}
tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
cd ${PKGNAM}-$VERSION || exit 1
-## This is needed for compilation with c++11 compiler:
-#cat $CWD/patches/poppler_cpp11.patch | patch -p1 --verbose || exit 1
-
# At least for now, we will revert this patch since we have
# things that depend on it:
cat $CWD/patches/poppler.remove.qt4.frontend.diff | patch -p1 -R --verbose || exit 1
diff --git a/deps/qt5/.url b/deps/qt5/.url
index 5018bbc..a133eca 100644
--- a/deps/qt5/.url
+++ b/deps/qt5/.url
@@ -1 +1 @@
-http://download.qt.io/official_releases/qt/5.9/5.9.6/single/qt-everywhere-opensource-src-5.9.6.tar.xz
+http://download.qt.io/official_releases/qt/5.11/5.11.1/single/qt-everywhere-src-5.11.1.tar.xz
diff --git a/deps/qt5/patches/qt5.private-includes.patch b/deps/qt5/patches/qt5.private-includes.patch
new file mode 100644
index 0000000..3ef8ebe
--- /dev/null
+++ b/deps/qt5/patches/qt5.private-includes.patch
@@ -0,0 +1,53 @@
+# Taken from http://code.qt.io/cgit/qt/qtbase.git/patch/?id=67aa365d
+# ------------------------------------------------------------------
+
+From 67aa365d41ebfe082b4efcfd725e4d5f08be678c Mon Sep 17 00:00:00 2001
+From: Ulf Hermann <ulf.hermann@qt.io>
+Date: Wed, 25 Apr 2018 12:48:21 +0200
+Subject: Do emit CMake declarations for existing private headers
+
+We need to make sure we don't emit CMake declarations for private
+headers if those headers are absent. However, most of the time we have
+private headers and should add them.
+
+Task-number: QTBUG-37417
+Change-Id: I639eb93d008de27928dedac540894af70c1883b9
+Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
+---
+ mkspecs/features/create_cmake.prf | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
+index 66acedef55..2ed708e085 100644
+--- a/mkspecs/features/create_cmake.prf
++++ b/mkspecs/features/create_cmake.prf
+@@ -28,9 +28,13 @@ CMAKE_OUT_DIR = $$MODULE_BASE_OUTDIR/lib/cmake
+
+ CMAKE_MODULE_NAME = $$cmakeModuleName($${MODULE})
+
++!generated_privates {
++ isEmpty(SYNCQT.INJECTED_PRIVATE_HEADER_FILES):isEmpty(SYNCQT.PRIVATE_HEADER_FILES): \
++ CMAKE_NO_PRIVATE_INCLUDES = true
++}
++
+ split_incpath {
+ CMAKE_ADD_SOURCE_INCLUDE_DIRS = true
+- CMAKE_NO_PRIVATE_INCLUDES = true # Don't add private includes in the build dir which don't exist
+ CMAKE_SOURCE_INCLUDES = \
+ $$cmakeTargetPaths($$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/Qt$${CMAKE_MODULE_NAME})
+ CMAKE_SOURCE_PRIVATE_INCLUDES = \
+@@ -53,10 +57,6 @@ contains(CMAKE_INCLUDE_DIR, "^\\.\\./.*") {
+ CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
+ }
+
+-isEmpty(QT.$${MODULE}_private.includes)| \
+- !exists($$first(QT.$${MODULE}_private.includes)): \
+- CMAKE_NO_PRIVATE_INCLUDES = true
+-
+ CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX])
+ contains(CMAKE_LIB_DIR,"^\\.\\./.*") {
+ CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/
+--
+cgit v1.1-6-g87c4
+
+
diff --git a/deps/qt5/qt5.SlackBuild b/deps/qt5/qt5.SlackBuild
index 8484b4a..3348695 100755
--- a/deps/qt5/qt5.SlackBuild
+++ b/deps/qt5/qt5.SlackBuild
@@ -56,9 +56,10 @@
# Modifications for qt 5.9.4 2018 by Eric Hameleers, Eindhoven, NL
# Modifications for qt 5.9.5 2018 by Eric Hameleers, Eindhoven, NL
# Modifications for qt 5.9.6 2018 by Eric Hameleers, Eindhoven, NL
+# Modifications for qt 5.11.0 2018 by Eric Hameleers, Eindhoven, NL
PKGNAM=qt5
-VERSION=${VERSION:-5.9.6}
+VERSION=${VERSION:-5.11.1}
BUILD=${BUILD:-1}
PKGSRC=$(echo $VERSION |cut -d- -f1)
PKGVER=$(echo $VERSION |tr - _)
@@ -126,10 +127,10 @@ PKG=$TMP/package-${PKGNAM}
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf qt-everywhere-opensource-src-$VERSION
-echo "Extracting qt-everywhere-opensource-src-$VERSION.tar.xz"
-tar xf $CWD/qt-everywhere-opensource-src-$VERSION.tar.xz || exit 1
-cd qt-everywhere-opensource-src-$PKGSRC || exit 1
+rm -rf qt-everywhere-src-$VERSION
+echo "Extracting qt-everywhere-src-$VERSION.tar.xz"
+tar xf $CWD/qt-everywhere-src-$VERSION.tar.xz || exit 1
+cd qt-everywhere-src-$PKGSRC || exit 1
chown -R root:root .
find . \
@@ -149,9 +150,10 @@ fi
# Fix path to mysql header:
cat $CWD/patches/qt5.mysql.h.diff | patch -p1 --verbose || exit 1
-# Fix missing private includes: QTBUG-37417
-sed -e '/CMAKE_NO_PRIVATE_INCLUDES\ \=\ true/d' \
- -i qtbase/mkspecs/features/create_cmake.prf
+## Fix missing private includes: QTBUG-37417
+#cd qtbase
+# cat $CWD/patches/qt5.private-includes.patch | patch -p1 --verbose || exit 1
+#cd - 1>/dev/null
if ! pkg-config --exists libpulse 2>/dev/null ; then
# Forcibly disable pulseaudio in qtwebengine:
@@ -163,10 +165,10 @@ else
fi
# Use our custom compiler and linker flags:
-#sed -i -e "s/-O2/$SLKCFLAGS/" qtbase/mkspecs/common/g++-base.conf || exit 1
-sed -i -e "s/-O2/$SLKCFLAGS/" qtbase/mkspecs/common/gcc-base.conf || exit 1
-sed -i -e "s/-O3/$SLKCFLAGS/" qtbase/mkspecs/common/gcc-base.conf || exit 1
-sed -i -e "/^QMAKE_LFLAGS\s/s,+=,+= $SLKLDFLAGS,g" qtbase/mkspecs/common/gcc-base.conf || exit 1
+sed -e "s|^\(QMAKE_CFLAGS_RELEASE.*\)|\1 ${SLKCFLAGS}|" \
+ -i qtbase/mkspecs/common/gcc-base.conf || exit 1
+sed -e "s|^\(QMAKE_LFLAGS_RELEASE.*\)|\1 ${SLKLDFLAGS}|" \
+ -i qtbase/mkspecs/common/g++-unix.conf || exit 1
# Enable h.264 codec support:
echo "WEBENGINE_CONFIG += use_proprietary_codecs" >> qtwebengine/.qmake.conf
@@ -177,10 +179,10 @@ echo "CONFIG += lang-all" >> qtvirtualkeyboard/.qmake.conf
export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"
export OPENSOURCE_CXXFLAGS="$SLKCFLAGS"
-export QTDIR="${TMP}/qt-everywhere-opensource-src-${PKGSRC}"
+export QTDIR="${TMP}/qt-everywhere-src-${PKGSRC}"
export LD_LIBRARY_PATH="${QTDIR}/qtbase/lib:${QTDIR}/qttools/lib:${LD_LIBRARY_PATH}"
export QT_PLUGIN_PATH="${QTDIR}/qtbase/plugins"
-./configure \
+./configure -v \
-confirm-license \
-opensource \
-prefix /usr \
@@ -218,8 +220,6 @@ export QT_PLUGIN_PATH="${QTDIR}/qtbase/plugins"
${PACONF} \
${RELOCATIONS} \
-no-pch \
- OPENSSL_INCDIR="/usr/include/openssl-1.0" \
- OPENSSL_LIBDIR="/usr/lib${LIBDIRSUFFIX}/openssl-1.0" \
# No-precompiled-headers is ccache-friendly.
# Sometimes a failure happens when parallelizing make. Try again if make fails,