From 8475755ec37bb81dd7f09cac11cca259586f9245 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Sun, 14 Feb 2016 18:25:28 +0200 Subject: nativesdk-qtbase: use runtime linked dbus Remove direct dependency to nativesdk-dbus. Instead configure qtbase to use runtime linked dbus library, if that is found. Signed-off-by: Samuli Piippo Signed-off-by: Martin Jansa --- recipes-qt/qt5/nativesdk-qtbase_git.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb index 70b596dc..9b3a8553 100644 --- a/recipes-qt/qt5/nativesdk-qtbase_git.bb +++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb @@ -1,5 +1,5 @@ DESCRIPTION = "SDK version of Qt/[X11|Mac|Embedded]" -DEPENDS = "nativesdk-zlib nativesdk-dbus qtbase-native" +DEPENDS = "nativesdk-zlib qtbase-native" SECTION = "libs" HOMEPAGE = "http://qt-project.org" @@ -156,6 +156,7 @@ do_configure() { -sysroot ${STAGING_DIR_NATIVE} \ -no-gcc-sysroot \ -system-zlib \ + -dbus-runtime \ -no-libjpeg \ -no-libpng \ -no-gif \ -- cgit v1.2.3-54-g00ecf From 0294b0d7875db16a72c2a289246e1faf9727fa1c Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Sat, 20 Feb 2016 15:52:55 +0100 Subject: qtbase: upgrade SRCREVs a bit more * to make sure that qtbase modules report 4.6.1 version Signed-off-by: Martin Jansa --- recipes-qt/qt5/nativesdk-qtbase_git.bb | 2 +- recipes-qt/qt5/qtbase-native_git.bb | 2 +- recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch | 4 ++-- .../0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch | 2 +- recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch | 4 ++-- .../0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch | 6 +++--- .../0005-configure-bump-path-length-from-256-to-512-character.patch | 4 ++-- .../qt5/qtbase/0006-QOpenGLPaintDevice-sub-area-support.patch | 2 +- .../0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch | 2 +- .../qt5/qtbase/0008-configure-paths-for-target-qmake-properly.patch | 4 ++-- recipes-qt/qt5/qtbase/0009-Always-build-uic.patch | 2 +- .../qtbase/0010-Add-external-hostbindir-option-for-native-sdk.patch | 4 ++-- recipes-qt/qt5/qtbase_git.bb | 2 +- 13 files changed, 20 insertions(+), 20 deletions(-) diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb index 9b3a8553..35d922e4 100644 --- a/recipes-qt/qt5/nativesdk-qtbase_git.bb +++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb @@ -257,4 +257,4 @@ fakeroot do_generate_qt_environment_file() { addtask generate_qt_environment_file after do_install before do_package -SRCREV = "ac8a3b948da1980bc59bae3fc76d20b5b45662a0" +SRCREV = "41706400f605524a5a9953714aa0cfbf811dba7e" diff --git a/recipes-qt/qt5/qtbase-native_git.bb b/recipes-qt/qt5/qtbase-native_git.bb index bb104383..057edd40 100644 --- a/recipes-qt/qt5/qtbase-native_git.bb +++ b/recipes-qt/qt5/qtbase-native_git.bb @@ -117,4 +117,4 @@ do_install() { ln -sf syncqt.pl ${D}${OE_QMAKE_PATH_QT_BINS}/syncqt } -SRCREV = "ac8a3b948da1980bc59bae3fc76d20b5b45662a0" +SRCREV = "41706400f605524a5a9953714aa0cfbf811dba7e" diff --git a/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch b/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch index bca154cf..68c39874 100644 --- a/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch +++ b/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch @@ -1,4 +1,4 @@ -From f35a940471022c31dfd72aa5d1c942ce64ca5a6a Mon Sep 17 00:00:00 2001 +From bf8e0e2292c8a9233d55714aab5eb780c62a132d Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Mon, 15 Apr 2013 04:29:32 +0200 Subject: [PATCH 01/10] Add linux-oe-g++ platform @@ -56,7 +56,7 @@ Signed-off-by: Martin Jansa create mode 100644 mkspecs/linux-oe-g++/qplatformdefs.h diff --git a/configure b/configure -index 1473a62..15207bf 100755 +index f247401..011cd70 100755 --- a/configure +++ b/configure @@ -342,6 +342,16 @@ getQMakeConf() diff --git a/recipes-qt/qt5/qtbase/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch b/recipes-qt/qt5/qtbase/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch index dcd59abb..3884c9cc 100644 --- a/recipes-qt/qt5/qtbase/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch +++ b/recipes-qt/qt5/qtbase/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch @@ -1,4 +1,4 @@ -From 2fbde67aa4184e31ccbfae95e884b89567883904 Mon Sep 17 00:00:00 2001 +From 0d1049d3097f674260622adeb9ae8c5f4d6d0a44 Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Wed, 26 Sep 2012 17:22:30 +0200 Subject: [PATCH 02/10] qlibraryinfo: allow to set qt.conf from the outside diff --git a/recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch b/recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch index 0cb8363f..f7feaeca 100644 --- a/recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch +++ b/recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch @@ -1,4 +1,4 @@ -From b28148fd6ee59d584e59a07736da63ee9ea5c1ad Mon Sep 17 00:00:00 2001 +From 8bc74542bab1f29dfb4a0e5a2af2f8d91f049579 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Sat, 6 Apr 2013 13:15:07 +0200 Subject: [PATCH 03/10] Add -external-hostbindir option @@ -37,7 +37,7 @@ Conflicts: 7 files changed, 38 insertions(+), 12 deletions(-) diff --git a/configure b/configure -index 15207bf..8fafeca 100755 +index 011cd70..d30b6e5 100755 --- a/configure +++ b/configure @@ -810,6 +810,7 @@ QT_HOST_BINS= diff --git a/recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch b/recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch index 188ac4d8..75201072 100644 --- a/recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch +++ b/recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch @@ -1,4 +1,4 @@ -From f1f05d7b671b973903d9c0d411207bcc82a9a9d8 Mon Sep 17 00:00:00 2001 +From db746d1ca0c41fe3da103d09fc240a0df9db5404 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Sat, 27 Apr 2013 23:15:37 +0200 Subject: [PATCH 04/10] qt_module: Fix pkgconfig and libtool replacements @@ -80,10 +80,10 @@ index 38602f6..f9c401f 100644 lib_replace.CONFIG = path QMAKE_PRL_INSTALL_REPLACE += lib_replace diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf -index e543ea6..4a76851 100644 +index aefd3ae..775cda2 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf -@@ -273,6 +273,22 @@ load(qt_targets) +@@ -276,6 +276,22 @@ load(qt_targets) ltlib_replace.replace = $$QMAKE_LIBTOOL_LIBDIR ltlib_replace.CONFIG = path QMAKE_LIBTOOL_INSTALL_REPLACE += ltlib_replace diff --git a/recipes-qt/qt5/qtbase/0005-configure-bump-path-length-from-256-to-512-character.patch b/recipes-qt/qt5/qtbase/0005-configure-bump-path-length-from-256-to-512-character.patch index c93c6f5d..53ab37f5 100644 --- a/recipes-qt/qt5/qtbase/0005-configure-bump-path-length-from-256-to-512-character.patch +++ b/recipes-qt/qt5/qtbase/0005-configure-bump-path-length-from-256-to-512-character.patch @@ -1,4 +1,4 @@ -From 8bc8e96a6ad707c5f399c307e519444a1fafc4fe Mon Sep 17 00:00:00 2001 +From 561957e83aa0bc1404654506d1ae83251539d0eb Mon Sep 17 00:00:00 2001 From: Denys Dmytriyenko Date: Tue, 25 Aug 2015 10:05:15 -0400 Subject: [PATCH 05/10] configure: bump path length from 256 to 512 characters @@ -14,7 +14,7 @@ Signed-off-by: Denys Dmytriyenko 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure b/configure -index 8fafeca..34c7b8b 100755 +index d30b6e5..aeb4ef2 100755 --- a/configure +++ b/configure @@ -3930,10 +3930,10 @@ static const char qt_configure_licensed_products_str [256 + 12] = "qt_lcnsprod=$ diff --git a/recipes-qt/qt5/qtbase/0006-QOpenGLPaintDevice-sub-area-support.patch b/recipes-qt/qt5/qtbase/0006-QOpenGLPaintDevice-sub-area-support.patch index bd5cfacd..57a0dd11 100644 --- a/recipes-qt/qt5/qtbase/0006-QOpenGLPaintDevice-sub-area-support.patch +++ b/recipes-qt/qt5/qtbase/0006-QOpenGLPaintDevice-sub-area-support.patch @@ -1,4 +1,4 @@ -From a2a195bc2782ccf582afb00ffc25021abd2ba810 Mon Sep 17 00:00:00 2001 +From f6d59b0835e32f0575ec1671dff0348af1886da6 Mon Sep 17 00:00:00 2001 From: Jani Hautakangas Date: Thu, 16 May 2013 09:52:07 +0300 Subject: [PATCH 06/10] QOpenGLPaintDevice sub-area support diff --git a/recipes-qt/qt5/qtbase/0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch b/recipes-qt/qt5/qtbase/0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch index 525396f0..62e8a0d9 100644 --- a/recipes-qt/qt5/qtbase/0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch +++ b/recipes-qt/qt5/qtbase/0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch @@ -1,4 +1,4 @@ -From 4c68f97060427d3184589be4f25e1e366e26557c Mon Sep 17 00:00:00 2001 +From 0cac609e192c303e26d139b4a7d5b35897a020a8 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 8 Jun 2015 13:59:25 -0700 Subject: [PATCH 07/10] linux-oe-g++: Invert conditional for defining diff --git a/recipes-qt/qt5/qtbase/0008-configure-paths-for-target-qmake-properly.patch b/recipes-qt/qt5/qtbase/0008-configure-paths-for-target-qmake-properly.patch index 204b3bf6..2ea1954c 100644 --- a/recipes-qt/qt5/qtbase/0008-configure-paths-for-target-qmake-properly.patch +++ b/recipes-qt/qt5/qtbase/0008-configure-paths-for-target-qmake-properly.patch @@ -1,4 +1,4 @@ -From 3e343061f8f8cb71fbb4f52e6e825495880779a2 Mon Sep 17 00:00:00 2001 +From caa2e16f3efaede09abcc4cf263e82b4c1cfa6a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Fri, 13 Nov 2015 12:36:11 +0100 Subject: [PATCH 08/10] configure paths for target qmake properly @@ -19,7 +19,7 @@ Signed-off-by: Martin Jansa 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/configure b/configure -index 34c7b8b..f9869dd 100755 +index aeb4ef2..c696e7e 100755 --- a/configure +++ b/configure @@ -3875,8 +3875,13 @@ if [ "$CFG_COMPILE_EXAMPLES" = "yes" ]; then diff --git a/recipes-qt/qt5/qtbase/0009-Always-build-uic.patch b/recipes-qt/qt5/qtbase/0009-Always-build-uic.patch index 4db32e7d..e2b57cef 100644 --- a/recipes-qt/qt5/qtbase/0009-Always-build-uic.patch +++ b/recipes-qt/qt5/qtbase/0009-Always-build-uic.patch @@ -1,4 +1,4 @@ -From c9e825dd77c23dda786809ecb19ca1a88dccdf1b Mon Sep 17 00:00:00 2001 +From 376eba77c429a503b05256786f2996b397c2e36f Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Sat, 16 Nov 2013 00:32:30 +0100 Subject: [PATCH 09/10] Always build uic diff --git a/recipes-qt/qt5/qtbase/0010-Add-external-hostbindir-option-for-native-sdk.patch b/recipes-qt/qt5/qtbase/0010-Add-external-hostbindir-option-for-native-sdk.patch index e088bba5..9fa0a333 100644 --- a/recipes-qt/qt5/qtbase/0010-Add-external-hostbindir-option-for-native-sdk.patch +++ b/recipes-qt/qt5/qtbase/0010-Add-external-hostbindir-option-for-native-sdk.patch @@ -1,4 +1,4 @@ -From 7c548d3833e29fade57855ef82ed2abd815b7fc4 Mon Sep 17 00:00:00 2001 +From 2b55cf1075167ce6b7e4cff1ea89dc2c27265f23 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Sat, 6 Apr 2013 13:15:07 +0200 Subject: [PATCH 10/10] Add -external-hostbindir option for native(sdk) @@ -37,7 +37,7 @@ Conflicts: 5 files changed, 16 insertions(+), 1 deletion(-) diff --git a/configure b/configure -index f9869dd..c81d02a 100755 +index c696e7e..310eb1d 100755 --- a/configure +++ b/configure @@ -3922,6 +3922,7 @@ fi diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb index ce073801..fdb8442e 100644 --- a/recipes-qt/qt5/qtbase_git.bb +++ b/recipes-qt/qt5/qtbase_git.bb @@ -261,4 +261,4 @@ sysroot_stage_dirs_append() { rm -rf $to${OE_QMAKE_PATH_QT_FONTS} } -SRCREV = "aa85ebc266ea7415a883094ea735f549552ff5ac" +SRCREV = "41706400f605524a5a9953714aa0cfbf811dba7e" -- cgit v1.2.3-54-g00ecf From 4f778557922e7ceff971ae17c034c6581a05c315 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Sat, 20 Feb 2016 23:28:49 +0100 Subject: qt5: skip libdir for ${PN}-dbg and dev-elf for ${PN}-examples-dev * the examples are installed in locations, QA checks don't like Signed-off-by: Martin Jansa --- recipes-qt/qt5/qt5.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes-qt/qt5/qt5.inc b/recipes-qt/qt5/qt5.inc index 70e4b308..85d7d892 100644 --- a/recipes-qt/qt5/qt5.inc +++ b/recipes-qt/qt5/qt5.inc @@ -42,9 +42,10 @@ do_configure_prepend() { # Many examples come with libraries installed outside of standard libdir, # suppress QA check complaining +INSANE_SKIP_${PN}-dbg += "libdir" INSANE_SKIP_${PN}-examples += "libdir" INSANE_SKIP_${PN}-examples-dbg += "libdir" -INSANE_SKIP_${PN}-examples-dev += "libdir" +INSANE_SKIP_${PN}-examples-dev += "libdir dev-elf" PACKAGES =. "${PN}-qmlplugins-dbg ${PN}-tools-dbg ${PN}-plugins-dbg ${PN}-qmldesigner ${PN}-qmlplugins ${PN}-tools ${PN}-plugins ${PN}-mkspecs ${PN}-examples-dev ${PN}-examples-staticdev ${PN}-examples-dbg ${PN}-examples " -- cgit v1.2.3-54-g00ecf From 88a7f264ef5f64d73881c384d22bf883b2cbf72e Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Wed, 24 Feb 2016 14:00:16 +0100 Subject: libconnman-qt5: Blacklist because of connman-qt5.pc Signed-off-by: Martin Jansa --- recipes-qt/libconnman-qt/libconnman-qt5_git.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes-qt/libconnman-qt/libconnman-qt5_git.bb b/recipes-qt/libconnman-qt/libconnman-qt5_git.bb index 0fc4bc03..71c04df8 100644 --- a/recipes-qt/libconnman-qt/libconnman-qt5_git.bb +++ b/recipes-qt/libconnman-qt/libconnman-qt5_git.bb @@ -15,3 +15,5 @@ S = "${WORKDIR}/git" inherit pkgconfig RDEPENDS_${PN} += "connman" + +PNBLACKLIST[libconnman-qt5] ?= "BROKEN: QA Issue: connman-qt5.pc failed sanity test (tmpdir)" -- cgit v1.2.3-54-g00ecf From 8f37f0987f97fd871a41e7c4a47d7eb28304a800 Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Thu, 25 Feb 2016 16:38:56 +1300 Subject: recipetool: add support for Qt5 to meta-qt5 Having in recent OE-Core master added build system extension capabilities to recipetool, add a module in meta-qt5 which uses this to enable extraction of Qt5 dependencies from cmake, qmake and autoconf files. It's by no means perfect but does do something useful if you add a recipe for a Qt5-using piece of software using recipetool create or devtool add. Signed-off-by: Paul Eggleton Signed-off-by: Martin Jansa --- lib/recipetool/__init__.py | 3 + lib/recipetool/create_qt5.py | 162 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 165 insertions(+) create mode 100644 lib/recipetool/__init__.py create mode 100644 lib/recipetool/create_qt5.py diff --git a/lib/recipetool/__init__.py b/lib/recipetool/__init__.py new file mode 100644 index 00000000..8eda9276 --- /dev/null +++ b/lib/recipetool/__init__.py @@ -0,0 +1,3 @@ +# Enable other layers to have modules in the same named directory +from pkgutil import extend_path +__path__ = extend_path(__path__, __name__) diff --git a/lib/recipetool/create_qt5.py b/lib/recipetool/create_qt5.py new file mode 100644 index 00000000..51708b40 --- /dev/null +++ b/lib/recipetool/create_qt5.py @@ -0,0 +1,162 @@ +# Recipe creation tool - Qt5 support plugin +# +# Copyright (C) 2016 Intel Corporation +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import re +import os + +from recipetool.create import RecipeHandler +from recipetool.create_buildsys import CmakeExtensionHandler, AutotoolsExtensionHandler + + +class Qt5AutotoolsHandler(AutotoolsExtensionHandler): + def process_macro(self, srctree, keyword, value, process_value, libdeps, pcdeps, deps, outlines, inherits, values): + if keyword == 'AX_HAVE_QT': + # We don't know specifically which modules it needs, but let's assume it's covered by qtbase + deps.append('qtbase') + return True + return False + + def extend_keywords(self, keywords): + keywords.append('AX_HAVE_QT') + + def process_prog(self, srctree, keyword, value, prog, deps, outlines, inherits, values): + return False + + +class Qt5CmakeHandler(CmakeExtensionHandler): + def process_findpackage(self, srctree, fn, pkg, deps, outlines, inherits, values): + return False + cmake_qt5_pkgmap = {'qtbase': 'Qt5 Qt5Concurrent Qt5Core Qt5DBus Qt5Gui Qt5Network Qt5OpenGL Qt5OpenGLExtensions Qt5PrintSupport Qt5Sql Qt5Test Qt5Widgets Qt5Xml', + 'qtsvg': 'Qt5Svg', + 'qtdeclarative': 'Qt5Qml Qt5Quick Qt5QuickWidgets Qt5QuickTest', + 'qtxmlpatterns': 'Qt5XmlPatterns', + 'qtsystems': 'Qt5PublishSubscribe Qt5ServiceFramework Qt5SystemInfo', + 'qtscript': 'Qt5Script Qt5ScriptTools', + 'qttools': 'Qt5Designer Qt5Help Qt5LinguistTools Qt5UiPlugin Qt5UiTools', + 'qtenginio': 'Qt5Enginio', + 'qtsensors': 'Qt5Sensors', + 'qtmultimedia': 'Qt5Multimedia Qt5MultimediaWidgets', + 'qtwebchannel': 'Qt5WebChannel', + 'qtwebsockets': 'Qt5WebSockets', + 'qtserialport': 'Qt5SerialPort', + 'qtx11extras': 'Qt5X11Extras', + 'qtlocation': 'Qt5Location Qt5Positioning', + 'qt3d': 'Qt53DCollision Qt53DCore Qt53DInput Qt53DLogic Qt53DQuick Qt53DQuickRender Qt53DRender', + } + for recipe, pkgs in cmake_qt5_pkgmap.iteritems(): + if pkg in pkgs.split(): + deps.append(recipe) + return True + return False + + def post_process(self, srctree, fn, pkg, deps, outlines, inherits, values): + for dep in deps: + if dep.startswith('qt'): + if 'cmake_qt5' not in inherits: + inherits.append('cmake_qt5') + break + + +class Qmake5RecipeHandler(RecipeHandler): + # Map of QT variable items to recipes + qt_map = {'axcontainer': '', + 'axserver': '', + 'concurrent': 'qtbase', + 'core': 'qtbase', + 'gui': 'qtbase', + 'dbus': 'qtbase', + 'declarative': 'qtquick1', + 'designer': 'qttools', + 'help': 'qttools', + 'multimedia': 'qtmultimedia', + 'multimediawidgets': 'qtmultimedia', + 'network': 'qtbase', + 'opengl': 'qtbase', + 'printsupport': 'qtbase', + 'qml': 'qtdeclarative', + 'qmltest': 'qtdeclarative', + 'x11extras': 'qtx11extras', + 'quick': 'qtdeclarative', + 'script': 'qtscript', + 'scripttools': 'qtscript', + 'sensors': 'qtsensors', + 'serialport': 'qtserialport', + 'sql': 'qtbase', + 'svg': 'qtsvg', + 'testlib': 'qtbase', + 'uitools': 'qttools', + 'webkit': 'qtwebkit', + 'webkitwidgets': 'qtwebkit', + 'widgets': 'qtbase', + 'winextras': '', + 'xml': 'qtbase', + 'xmlpatterns': 'qtxmlpatterns'} + + def process(self, srctree, classes, lines_before, lines_after, handled, extravalues): + # There's not a conclusive way to tell a Qt2/3/4/5 .pro file apart, so we + # just assume that qmake5 is a reasonable default if you have this layer + # enabled + if 'buildsystem' in handled: + return False + + unmappedqt = [] + files = RecipeHandler.checkfiles(srctree, ['*.pro']) + deps = [] + if files: + for fn in files: + self.parse_qt_pro(fn, deps, unmappedqt) + + classes.append('qmake5') + if unmappedqt: + outlines.append('# NOTE: the following QT dependencies are unknown, ignoring: %s' % ' '.join(list(set(unmappedqt)))) + if deps: + lines_before.append('DEPENDS = "%s"' % ' '.join(list(set(deps)))) + handled.append('buildsystem') + return True + return False + + def parse_qt_pro(self, fn, deps, unmappedqt): + with open(fn, 'r') as f: + for line in f: + if re.match('^QT\s*[+=]+', line): + if '=' in line: + for item in line.split('=')[1].split(): + dep = Qmake5RecipeHandler.qt_map.get(item, None) + if dep: + deps.append(dep) + elif dep is not None: + unmappedqt.append(item) + elif re.match('^SUBDIRS\s*[+=]+', line): + if '=' in line: + for item in line.split('=')[1].split(): + subfiles = RecipeHandler.checkfiles(os.path.join(os.path.dirname(fn), item), ['*.pro']) + for subfn in subfiles: + self.parse_qt_pro(subfn, deps, unmappedqt) + elif 'qml' in line.lower(): + deps.append('qtdeclarative') + + +def register_recipe_handlers(handlers): + # Insert handler in front of default qmake handler + handlers.append((Qmake5RecipeHandler(), 21)) + +def register_cmake_handlers(handlers): + handlers.append(Qt5CmakeHandler()) + +def register_autotools_handlers(handlers): + handlers.append(Qt5AutotoolsHandler()) + -- cgit v1.2.3-54-g00ecf From 26637f766a40fd59df6e1edc65e4b14cd2f78014 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Thu, 25 Feb 2016 14:56:53 +0200 Subject: qtbase: add runtime dependency to xkeyboard-config When qtbase is configured with xkbcommon-evdev (usually without X), make sure xkeyboard-config is installed to provide keymap database. Signed-off-by: Samuli Piippo Signed-off-by: Martin Jansa --- recipes-qt/qt5/qtbase_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb index fdb8442e..bf56741f 100644 --- a/recipes-qt/qt5/qtbase_git.bb +++ b/recipes-qt/qt5/qtbase_git.bb @@ -108,7 +108,7 @@ PACKAGECONFIG[xvideo] = "-xvideo,-no-xvideo" PACKAGECONFIG[openvg] = "-openvg,-no-openvg" PACKAGECONFIG[iconv] = "-iconv,-no-iconv,virtual/libiconv" PACKAGECONFIG[xkb] = "-xkb,-no-xkb -no-xkbcommon,libxkbcommon" -PACKAGECONFIG[xkbcommon-evdev] = "-xkbcommon-evdev,-no-xkbcommon-evdev,libxkbcommon" +PACKAGECONFIG[xkbcommon-evdev] = "-xkbcommon-evdev,-no-xkbcommon-evdev,libxkbcommon,xkeyboard-config" PACKAGECONFIG[evdev] = "-evdev,-no-evdev" PACKAGECONFIG[mtdev] = "-mtdev,-no-mtdev,mtdev" # depends on glib -- cgit v1.2.3-54-g00ecf