aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMikko Gronoff <mikko.gronoff@qt.io>2017-02-13 14:53:16 +0200
committerMikko Gronoff <mikko.gronoff@qt.io>2017-02-15 08:31:24 +0200
commit85e33e5c9998d15fc2af4682b72913bc2f6ea489 (patch)
treec4f0b9a9ba26bebfcbb717c9d939b4ccc97b4467
parent0cc8a8a21e1ba7ffa237c64608b2a6678897c096 (diff)
parent251beba0ca5f7fae85b8fd9c20851c53347c9722 (diff)
Merge remote-tracking branch 'qtyocto/5.8' into 5.9
* qtyocto/5.8 (upstream/master): qtwebkit: depends on gperf-native 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 Change-Id: Idf617e8301dfa820b8fbbbdb2e09e53d18bcc8ae
-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.bb5
6 files changed, 58 insertions, 9 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 9c55997f..c0bcd817 100644
--- a/recipes-qt/qt5/qtbase_git.bb
+++ b/recipes-qt/qt5/qtbase_git.bb
@@ -31,10 +31,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)}"
@@ -114,7 +110,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"
@@ -133,6 +128,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 5a7302e0..21ba5e84 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 = "e26696524ceb58f4fe0cb7202d873240b6a9478d"
+# 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 5a58bba9..0ee37593 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 c90d78e6..0fdfac8a 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:
@@ -65,6 +65,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}"