aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMikko Gronoff <mikko.gronoff@qt.io>2017-02-10 09:22:31 +0200
committerMikko Gronoff <mikko.gronoff@qt.io>2017-02-10 14:03:32 +0200
commit251beba0ca5f7fae85b8fd9c20851c53347c9722 (patch)
tree6e2a334753d8bfb04e17a4b9ca56f89773a337e1
parent1c88e9b361b9df92edf27b7d23f1bc3f07e784a3 (diff)
parent8ba28144d5571504112fd4f32c7bfcbac531e2cb (diff)
Merge remote-tracking branch 'qtyocto/upstream/master' into 5.85.8
* qtyocto/upstream/master: qtwebengine: disable generate_character_data qtwayland: fix build without xkbcommon-evdev qtwayland: Add libxkbcommon in the dependencies qtbase: create empty oe-device-extra.pri cmake_qt5.bbclass: add qtbase-native to DEPENDS Upgrade to Qt 5.8 qtbase: Remove comments about ICU and QtWebKit qtwebkit: Always enable icu in QT_CONFIG qtwebengine: use QT_GIT_PROTOCOL variable Conflicts: recipes-qt/qt5/qtbase_git.bb recipes-qt/qt5/qtwayland_git.bb Change-Id: I8929585c07f462b7ff28c0342386d4114c0c0ee2
-rw-r--r--classes/cmake_qt5.bbclass2
-rw-r--r--recipes-qt/qt5/qtbase_git.bb8
-rw-r--r--recipes-qt/qt5/qtwayland/0001-fix-build-without-xkbcommon-evdev.patch44
-rw-r--r--recipes-qt/qt5/qtwayland_git.bb4
-rw-r--r--recipes-qt/qt5/qtwebengine_git.bb4
-rw-r--r--recipes-qt/qt5/qtwebkit_git.bb3
6 files changed, 57 insertions, 8 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/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb
index c9005a85..5db9aad1 100644
--- a/recipes-qt/qt5/qtbase_git.bb
+++ b/recipes-qt/qt5/qtbase_git.bb
@@ -33,10 +33,6 @@ DEPENDS += "qtbase-native"
RDEPENDS_${PN}-tools += "perl"
# separate some parts of PACKAGECONFIG which are often changed
-# be aware that you need to add icu to build qtwebkit, default
-# PACKAGECONFIG is kept rather minimal for people who don't need
-# stuff like webkit (and it's easier to add options than remove)
-
PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)}"
PACKAGECONFIG_FB ?= "${@bb.utils.contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}"
PACKAGECONFIG_X11 ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xcb xrender xinput2 glib xkb xkbcommon-evdev', '', d)}"
@@ -116,7 +112,6 @@ PACKAGECONFIG[directfb] = "-directfb,-no-directfb,directfb"
PACKAGECONFIG[linuxfb] = "-linuxfb,-no-linuxfb"
PACKAGECONFIG[kms] = "-kms,-no-kms,drm virtual/egl"
PACKAGECONFIG[gbm] = "-gbm,-no-gbm,virtual/mesa"
-# needed for qtwebkit
PACKAGECONFIG[icu] = "-icu,-no-icu,icu"
PACKAGECONFIG[udev] = "-libudev,-no-libudev,udev"
PACKAGECONFIG[openssl] = "-openssl,-no-openssl,openssl,libssl"
@@ -135,6 +130,9 @@ QT_CONFIG_FLAGS += " \
"
do_configure() {
+ # Avoid qmake error "Cannot read [...]/usr/lib/qt5/mkspecs/oe-device-extra.pri: No such file or directory" during configuration
+ touch ${S}/mkspecs/oe-device-extra.pri
+
${S}/configure -v \
-opensource -confirm-license \
-sysroot ${STAGING_DIR_TARGET} \
diff --git a/recipes-qt/qt5/qtwayland/0001-fix-build-without-xkbcommon-evdev.patch b/recipes-qt/qt5/qtwayland/0001-fix-build-without-xkbcommon-evdev.patch
new file mode 100644
index 00000000..e1e978e8
--- /dev/null
+++ b/recipes-qt/qt5/qtwayland/0001-fix-build-without-xkbcommon-evdev.patch
@@ -0,0 +1,44 @@
+From c93dbe53e8a1b2203c750a66c7efe6fc9a326903 Mon Sep 17 00:00:00 2001
+From: Raphael Freudiger <raphael.freudiger@siemens.com>
+Date: Thu, 22 Dec 2016 13:54:31 +0100
+Subject: [PATCH] fix build without xkbcommon-evdev
+
+Signed-off-by: Raphael Freudiger <raphael.freudiger@siemens.com>
+---
+ src/compositor/compositor_api/qwaylandkeyboard.cpp | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/src/compositor/compositor_api/qwaylandkeyboard.cpp b/src/compositor/compositor_api/qwaylandkeyboard.cpp
+index 55381b4..5c054c6 100644
+--- a/src/compositor/compositor_api/qwaylandkeyboard.cpp
++++ b/src/compositor/compositor_api/qwaylandkeyboard.cpp
+@@ -338,12 +338,6 @@ void QWaylandKeyboardPrivate::createXKBState(xkb_keymap *keymap)
+ xkb_state = xkb_state_new(keymap);
+ }
+
+-uint QWaylandKeyboardPrivate::toWaylandXkbV1Key(const uint nativeScanCode)
+-{
+- const uint offset = 8;
+- Q_ASSERT(nativeScanCode >= offset);
+- return nativeScanCode - offset;
+-}
+
+ void QWaylandKeyboardPrivate::createXKBKeymap()
+ {
+@@ -373,6 +367,13 @@ void QWaylandKeyboardPrivate::createXKBKeymap()
+ }
+ #endif
+
++uint QWaylandKeyboardPrivate::toWaylandXkbV1Key(const uint nativeScanCode)
++{
++ const uint offset = 8;
++ Q_ASSERT(nativeScanCode >= offset);
++ return nativeScanCode - offset;
++}
++
+ void QWaylandKeyboardPrivate::sendRepeatInfo()
+ {
+ Q_FOREACH (Resource *resource, resourceMap()) {
+--
+2.1.4
+
diff --git a/recipes-qt/qt5/qtwayland_git.bb b/recipes-qt/qt5/qtwayland_git.bb
index ec41922a..d42d80a0 100644
--- a/recipes-qt/qt5/qtwayland_git.bb
+++ b/recipes-qt/qt5/qtwayland_git.bb
@@ -2,6 +2,7 @@ require qt5.inc
require qt5-git.inc
DEPENDS += "qtbase qtdeclarative wayland wayland-native qtwayland-native"
+DEPENDS_append_class-target = " libxkbcommon"
LICENSE = "GFDL-1.3 & BSD & ( GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial ) & ( GPL-2.0+ | LGPL-3.0 | The-Qt-Company-Commercial )"
LIC_FILES_CHKSUM = " \
@@ -42,4 +43,7 @@ EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}"
SRCREV = "0e2a950895805457a45abe860bc91a7cc4ba405e"
+# From https://bugreports.qt.io/browse/QTBUG-57767
+SRC_URI += "file://0001-fix-build-without-xkbcommon-evdev.patch"
+
BBCLASSEXTEND =+ "native nativesdk"
diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb
index 5efc35d5..3d139d0b 100644
--- a/recipes-qt/qt5/qtwebengine_git.bb
+++ b/recipes-qt/qt5/qtwebengine_git.bb
@@ -24,7 +24,7 @@ DEPENDS += " \
"
DEPENDS += "yasm-native"
-EXTRA_QMAKEVARS_PRE += "GYP_CONFIG+=use_system_yasm"
+EXTRA_QMAKEVARS_PRE += "GYP_CONFIG+=use_system_yasm GYP_CONFIG+=generate_character_data=0"
# To use system ffmpeg you need to enable also libwebp, opus, vpx
# Only depenedencies available in oe-core are enabled by default
@@ -105,7 +105,7 @@ RDEPENDS_${PN}-examples += " \
QT_MODULE_BRANCH_CHROMIUM = "53-based"
SRC_URI += " \
- ${QT_GIT}/qtwebengine-chromium.git;name=chromium;branch=${QT_MODULE_BRANCH_CHROMIUM};destsuffix=git/src/3rdparty \
+ ${QT_GIT}/qtwebengine-chromium.git;name=chromium;branch=${QT_MODULE_BRANCH_CHROMIUM};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty \
file://0001-functions.prf-Don-t-match-QMAKE_EXT_CPP-or-QMAKE_EXT.patch \
file://0002-functions.prf-Make-sure-we-only-use-the-file-name-to.patch \
file://0003-functions.prf-allow-build-for-linux-oe-g-platform.patch \
diff --git a/recipes-qt/qt5/qtwebkit_git.bb b/recipes-qt/qt5/qtwebkit_git.bb
index bf5c00ae..4845d0fd 100644
--- a/recipes-qt/qt5/qtwebkit_git.bb
+++ b/recipes-qt/qt5/qtwebkit_git.bb
@@ -64,6 +64,9 @@ do_configure_prepend() {
sed -e 's/\s\(config_fontconfig: \)/ OE_FONTCONFIG_ENABLED:\1/' -i ${S}/Tools/qmake/mkspecs/features/features.prf
}
+# Forcibly enable ICU, so qtbase doesn't need it.
+EXTRA_QMAKEVARS_PRE += "QT_CONFIG+=icu"
+
# qtwebkit gets terribly big when linking with all debug info, disable by default
QTWEBKIT_DEBUG = "QMAKE_CFLAGS+=-g0 QMAKE_CXXFLAGS+=-g0"
EXTRA_QMAKEVARS_PRE += "${QTWEBKIT_DEBUG}"