diff options
-rw-r--r-- | classes/cmake_qt5.bbclass | 2 | ||||
-rw-r--r-- | recipes-qt/qt5/qtbase_git.bb | 8 | ||||
-rw-r--r-- | recipes-qt/qt5/qtwayland/0001-fix-build-without-xkbcommon-evdev.patch | 44 | ||||
-rw-r--r-- | recipes-qt/qt5/qtwayland_git.bb | 4 | ||||
-rw-r--r-- | recipes-qt/qt5/qtwebengine_git.bb | 4 | ||||
-rw-r--r-- | recipes-qt/qt5/qtwebkit_git.bb | 5 |
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}" |