diff options
author | Mikko Gronoff <mikko.gronoff@qt.io> | 2017-06-06 13:15:13 +0300 |
---|---|---|
committer | Mikko Gronoff <mikko.gronoff@qt.io> | 2017-06-07 08:46:21 +0300 |
commit | dc32862fb82686c30722970619ad1187695e6e60 (patch) | |
tree | a97b03b18a4fee394c758a99182285c71be73921 | |
parent | a5671981cdb9115605a87905d2fb919a86cea244 (diff) | |
parent | 1100037b9becaaa5749602bca9d63693119c4585 (diff) |
Merge remote-tracking branch 'upstream/krogoth' into 5.6
* upstream/krogoth:
qtwebkit: depends on gperf-native
cmake_qt5.bbclass: add qtbase-native to DEPENDS
Update Qt5's git repositories to match new locations
qtwebengine: Add gperf-native to DEPENDS
qtwayland: Fix building of QWaylandIntegration if some Qt5 features are disabled.
qt5: update submodules
qtbase: avoid qmake errors due to missing oe-device-extra.pri
qtdeclarative: add upstream patch to fix QtQml crash with GCC 6
Conflicts:
recipes-qt/qt5/qtbase_git.bb
Change-Id: Ic773b1eaa0d5c84316352ae41d7ec5cd2d5c8048
-rw-r--r-- | classes/cmake_qt5.bbclass | 2 | ||||
-rw-r--r-- | conf/layer.conf | 3 | ||||
-rw-r--r-- | recipes-qt/examples/qt5everywheredemo_1.0.bb | 2 | ||||
-rw-r--r-- | recipes-qt/qt5/qtbase_git.bb | 3 | ||||
-rw-r--r-- | recipes-qt/qt5/qtwayland-native_git.bb | 1 | ||||
-rw-r--r-- | recipes-qt/qt5/qtwayland/0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch | 156 | ||||
-rw-r--r-- | recipes-qt/qt5/qtwayland_git.bb | 1 | ||||
-rw-r--r-- | recipes-qt/qt5/qtwebengine_git.bb | 1 | ||||
-rw-r--r-- | recipes-qt/qt5/qtwebkit_git.bb | 2 |
9 files changed, 167 insertions, 4 deletions
diff --git a/classes/cmake_qt5.bbclass b/classes/cmake_qt5.bbclass index 3180fd6d..5d605a68 100644 --- a/classes/cmake_qt5.bbclass +++ b/classes/cmake_qt5.bbclass @@ -1,7 +1,7 @@ inherit cmake inherit qmake5_paths -DEPENDS_prepend = "qtbase " +DEPENDS_prepend = "qtbase qtbase-native " EXTRA_OECMAKE_prepend = " \ -DOE_QMAKE_PATH_PREFIX=${OE_QMAKE_PATH_PREFIX} \ diff --git a/conf/layer.conf b/conf/layer.conf index b7207e63..b2a4fbc3 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -27,5 +27,6 @@ LICENSE_PATH += "${LAYERDIR}/licenses" IMAGE_FEATURES[validitems] += "qtcreator-debug" -QT_GIT ?= "git://github.com/qtproject" +QT_GIT ?= "git://github.com/qt" +QT_LABS_GIT ?= "git://github.com/qt-labs" QT_GIT_PROTOCOL ?= "git" diff --git a/recipes-qt/examples/qt5everywheredemo_1.0.bb b/recipes-qt/examples/qt5everywheredemo_1.0.bb index ab2bbd4a..7735d902 100644 --- a/recipes-qt/examples/qt5everywheredemo_1.0.bb +++ b/recipes-qt/examples/qt5everywheredemo_1.0.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://main.cpp;md5=1187cb795a0f96bce64e63dd1a67dc2b" DEPENDS = "qtdeclarative qtgraphicaleffects" SRCREV = "c17fe9e0ec0882ac4c4dc1168095f569acab5d09" -SRC_URI = "${QT_GIT}/qt-labs-qt5-everywhere-demo" +SRC_URI = "${QT_LABS_GIT}/qt-labs-qt5-everywhere-demo" S = "${WORKDIR}/git/QtDemo" diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb index 3f9cf1ea..114acdf3 100644 --- a/recipes-qt/qt5/qtbase_git.bb +++ b/recipes-qt/qt5/qtbase_git.bb @@ -193,6 +193,9 @@ do_configure() { } do_install_append() { + # Avoid qmake error "Cannot read [...]/usr/lib/qt5/mkspecs/oe-device-extra.pri: No such file or directory" + touch ${D}/${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs/oe-device-extra.pri + ### Fix up the binaries to the right location ### TODO: FIX # install fonts manually if they are missing diff --git a/recipes-qt/qt5/qtwayland-native_git.bb b/recipes-qt/qt5/qtwayland-native_git.bb index 2b541088..ab2eaed7 100644 --- a/recipes-qt/qt5/qtwayland-native_git.bb +++ b/recipes-qt/qt5/qtwayland-native_git.bb @@ -15,6 +15,7 @@ DEPENDS = "qtbase-native wayland-native" SRC_URI += " \ file://0001-Install-the-qtwaylandscanner-tool-to-the-native-side.patch \ + file://0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch \ " do_configure() { diff --git a/recipes-qt/qt5/qtwayland/0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch b/recipes-qt/qt5/qtwayland/0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch new file mode 100644 index 00000000..d173e673 --- /dev/null +++ b/recipes-qt/qt5/qtwayland/0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch @@ -0,0 +1,156 @@ +From de85e1c1ee76be845a21b441d9e4ea12a30d84c7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Vesa=20J=C3=A4=C3=A4skel=C3=A4inen?= <dachaac@gmail.com> +Date: Sun, 18 Sep 2016 11:51:59 +0300 +Subject: [PATCH] Fix building of QWaylandIntegration if some Qt5 features are + disabled. + +QPlatformIntegration's interface methods are disabled based on QT_NO_OPENGL, +QT_NO_CLIPBOARD, QT_NO_DRAGANDDROP, QT_NO_ACCESSIBILITY and +QT_NO_SESSIONMANAGER, these has to be taken into account when compiling +QtWayland. +--- + src/client/qwaylandintegration.cpp | 21 ++++++++++++++++++--- + src/client/qwaylandintegration_p.h | 12 ++++++++++++ + 2 files changed, 30 insertions(+), 3 deletions(-) + +diff --git a/src/client/qwaylandintegration.cpp b/src/client/qwaylandintegration.cpp +index 39fff53..481e3d6 100644 +--- a/src/client/qwaylandintegration.cpp ++++ b/src/client/qwaylandintegration.cpp +@@ -39,7 +39,9 @@ + #include "qwaylandinputcontext_p.h" + #include "qwaylandshmbackingstore_p.h" + #include "qwaylandnativeinterface_p.h" ++#ifndef QT_NO_CLIPBOARD + #include "qwaylandclipboard_p.h" ++#endif + #include "qwaylanddnd_p.h" + #include "qwaylandwindowmanagerintegration_p.h" + #include "qwaylandscreen_p.h" +@@ -57,7 +59,9 @@ + #include <QSocketNotifier> + + #include <qpa/qplatforminputcontextfactory_p.h> ++#ifndef QT_NO_ACCESSIBILITY + #include <qpa/qplatformaccessibility.h> ++#endif + #include <qpa/qplatforminputcontext.h> + + #include "qwaylandhardwareintegration_p.h" +@@ -117,8 +121,6 @@ QWaylandIntegration::QWaylandIntegration() + , mNativeInterface(new QWaylandNativeInterface(this)) + #ifndef QT_NO_ACCESSIBILITY + , mAccessibility(new QPlatformAccessibility()) +-#else +- , mAccessibility(0) + #endif + , mClientBufferIntegrationInitialized(false) + , mServerBufferIntegrationInitialized(false) +@@ -126,9 +128,12 @@ QWaylandIntegration::QWaylandIntegration() + { + initializeInputDeviceIntegration(); + mDisplay = new QWaylandDisplay(this); ++#ifndef QT_NO_CLIPBOARD + mClipboard = new QWaylandClipboard(mDisplay); ++#endif ++#ifndef QT_NO_DRAGANDDROP + mDrag = new QWaylandDrag(mDisplay); +- ++#endif + QString icStr = QPlatformInputContextFactory::requested(); + icStr.isNull() ? mInputContext.reset(new QWaylandInputContext(mDisplay)) + : mInputContext.reset(QPlatformInputContextFactory::create(icStr)); +@@ -136,8 +141,12 @@ QWaylandIntegration::QWaylandIntegration() + + QWaylandIntegration::~QWaylandIntegration() + { ++#ifndef QT_NO_DRAGANDDROP + delete mDrag; ++#endif ++#ifndef QT_NO_CLIPBOARD + delete mClipboard; ++#endif + #ifndef QT_NO_ACCESSIBILITY + delete mAccessibility; + #endif +@@ -213,15 +222,19 @@ QPlatformFontDatabase *QWaylandIntegration::fontDatabase() const + return mFontDb; + } + ++#ifndef QT_NO_CLIPBOARD + QPlatformClipboard *QWaylandIntegration::clipboard() const + { + return mClipboard; + } ++#endif + ++#ifndef QT_NO_DRAGANDDROP + QPlatformDrag *QWaylandIntegration::drag() const + { + return mDrag; + } ++#endif + + QPlatformInputContext *QWaylandIntegration::inputContext() const + { +@@ -243,10 +256,12 @@ QVariant QWaylandIntegration::styleHint(StyleHint hint) const + return QPlatformIntegration::styleHint(hint); + } + ++#ifndef QT_NO_ACCESSIBILITY + QPlatformAccessibility *QWaylandIntegration::accessibility() const + { + return mAccessibility; + } ++#endif + + QPlatformServices *QWaylandIntegration::services() const + { +diff --git a/src/client/qwaylandintegration_p.h b/src/client/qwaylandintegration_p.h +index 987d805..b50ad95 100644 +--- a/src/client/qwaylandintegration_p.h ++++ b/src/client/qwaylandintegration_p.h +@@ -80,15 +80,21 @@ public: + + QPlatformNativeInterface *nativeInterface() const Q_DECL_OVERRIDE; + ++#ifndef QT_NO_CLIPBOARD + QPlatformClipboard *clipboard() const Q_DECL_OVERRIDE; ++#endif + ++#ifndef QT_NO_DRAGANDDROP + QPlatformDrag *drag() const Q_DECL_OVERRIDE; ++#endif + + QPlatformInputContext *inputContext() const Q_DECL_OVERRIDE; + + QVariant styleHint(StyleHint hint) const Q_DECL_OVERRIDE; + ++#ifndef QT_NO_ACCESSIBILITY + QPlatformAccessibility *accessibility() const Q_DECL_OVERRIDE; ++#endif + + QPlatformServices *services() const Q_DECL_OVERRIDE; + +@@ -117,12 +123,18 @@ private: + void initializeInputDeviceIntegration(); + + QPlatformFontDatabase *mFontDb; ++#ifndef QT_NO_CLIPBOARD + QPlatformClipboard *mClipboard; ++#endif ++#ifndef QT_NO_DRAGANDDROP + QPlatformDrag *mDrag; ++#endif + QWaylandDisplay *mDisplay; + QPlatformNativeInterface *mNativeInterface; + QScopedPointer<QPlatformInputContext> mInputContext; ++#ifndef QT_NO_ACCESSIBILITY + QPlatformAccessibility *mAccessibility; ++#endif + bool mClientBufferIntegrationInitialized; + bool mServerBufferIntegrationInitialized; + bool mShellIntegrationInitialized; +-- +2.7.4 + diff --git a/recipes-qt/qt5/qtwayland_git.bb b/recipes-qt/qt5/qtwayland_git.bb index d349cc38..6c15b69f 100644 --- a/recipes-qt/qt5/qtwayland_git.bb +++ b/recipes-qt/qt5/qtwayland_git.bb @@ -34,6 +34,7 @@ FILES_${PN}-plugins-dbg += " \ SRC_URI += " \ file://0001-examples-wayland-include-server-buffer-only-when-bui.patch \ + file://0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch \ " SRCREV = "82e11583928d47576c160d35c9df05c0eec34df8" diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb index 532ae75e..1e903ae2 100644 --- a/recipes-qt/qt5/qtwebengine_git.bb +++ b/recipes-qt/qt5/qtwebengine_git.bb @@ -16,6 +16,7 @@ DEPENDS += " \ qtlocation \ libdrm fontconfig pixman openssl pango cairo icu pciutils \ libcap \ + gperf-native \ " # when qtbase is built with xcb enabled (default with x11 in DISTRO_FEATURES), diff --git a/recipes-qt/qt5/qtwebkit_git.bb b/recipes-qt/qt5/qtwebkit_git.bb index d679994a..3d2dbdf8 100644 --- a/recipes-qt/qt5/qtwebkit_git.bb +++ b/recipes-qt/qt5/qtwebkit_git.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = " \ file://Source/JavaScriptCore/parser/Parser.h;endline=21;md5=bd69f72183a7af673863f057576e21ee \ " -DEPENDS += "qtbase qtdeclarative icu ruby-native sqlite3 glib-2.0 libxslt" +DEPENDS += "qtbase qtdeclarative icu ruby-native sqlite3 glib-2.0 libxslt gperf-native" # qemuarm build fails with: # | {standard input}: Assembler messages: |