From ae4b6421c0bb4771e2cedfcdadd44c04dc8e93f5 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Tue, 31 Mar 2015 11:01:04 +0300 Subject: Build Qt5 and all addons Use meta-qt5 layer to build Qt5, commercial addons and b2qt addons. Create new image and toolchain recipes with Qt5 content, so that the existing image and toolchain remain as-is without Qt5. Currently support only for imx6 targets. Change-Id: I398750dd1a62c6ff8ea216cfe364da273d8e9a77 Reviewed-by: Andy Nichols --- recipes-qt/b2qt-addons/b2qt-appcontroller.bb | 51 ++++++++++++++++ .../b2qt-appcontroller/appcontroller.conf | 5 ++ .../colibri-vf/appcontroller.conf | 7 +++ .../b2qt-appcontroller/mx6/appcontroller.conf | 7 +++ .../b2qt-appcontroller/rpi/appcontroller.conf | 5 ++ recipes-qt/b2qt-addons/b2qt-demos.bb | 68 ++++++++++++++++++++++ recipes-qt/b2qt-addons/b2qt-launcher.bb | 51 ++++++++++++++++ .../b2qt-addons/b2qt-launcher/b2qt-startup.sh | 42 +++++++++++++ recipes-qt/b2qt-addons/b2qt-utils.bb | 48 +++++++++++++++ 9 files changed, 284 insertions(+) create mode 100644 recipes-qt/b2qt-addons/b2qt-appcontroller.bb create mode 100644 recipes-qt/b2qt-addons/b2qt-appcontroller/appcontroller.conf create mode 100644 recipes-qt/b2qt-addons/b2qt-appcontroller/colibri-vf/appcontroller.conf create mode 100644 recipes-qt/b2qt-addons/b2qt-appcontroller/mx6/appcontroller.conf create mode 100644 recipes-qt/b2qt-addons/b2qt-appcontroller/rpi/appcontroller.conf create mode 100644 recipes-qt/b2qt-addons/b2qt-demos.bb create mode 100644 recipes-qt/b2qt-addons/b2qt-launcher.bb create mode 100755 recipes-qt/b2qt-addons/b2qt-launcher/b2qt-startup.sh create mode 100644 recipes-qt/b2qt-addons/b2qt-utils.bb (limited to 'recipes-qt/b2qt-addons') diff --git a/recipes-qt/b2qt-addons/b2qt-appcontroller.bb b/recipes-qt/b2qt-addons/b2qt-appcontroller.bb new file mode 100644 index 0000000..05287d1 --- /dev/null +++ b/recipes-qt/b2qt-addons/b2qt-appcontroller.bb @@ -0,0 +1,51 @@ +############################################################################# +## +## Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +## +## This file is part of the Qt Enterprise Embedded Scripts of the Qt +## framework. +## +## $QT_BEGIN_LICENSE$ +## Commercial License Usage Only +## Licensees holding valid commercial Qt license agreements with Digia +## with an appropriate addendum covering the Qt Enterprise Embedded Scripts, +## may use this file in accordance with the terms contained in said license +## agreement. +## +## For further information use the contact form at +## http://www.qt.io/contact-us. +## +## +## $QT_END_LICENSE$ +## +############################################################################# + +DESCRIPTION = "Boot to Qt Appcontroller" +LICENSE = "QtEnterprise" +LIC_FILES_CHKSUM = "file://main.cpp;md5=1fcdf6b49fbbf2bc9c831893cca1b279;beginline=1;endline=17" + +inherit qmake5 + +SRC_URI = " \ + git://qt-gerrit.it.local/QtRD-15810/b2qt-appcontroller;branch=${QT_BRANCH};protocol=ssh \ + file://appcontroller.conf \ + " + +SRCREV = "cac8839211fc5bb53592d3d04c344834c4c054df" +QT_BRANCH = "stable" + +S = "${WORKDIR}/git" + +DEPENDS = "qtbase" + +do_configure_append() { + sed -i -e '/^platform=/d' ${WORKDIR}/appcontroller.conf + echo platform=${MACHINE} >> ${WORKDIR}/appcontroller.conf +} + +do_install_append() { + install -m 0755 -d ${D}${sysconfdir} + install -m 0755 ${WORKDIR}/appcontroller.conf ${D}${sysconfdir}/ +} + +FILES_${PN} += "${sysconfdir}/appcontroller.conf" diff --git a/recipes-qt/b2qt-addons/b2qt-appcontroller/appcontroller.conf b/recipes-qt/b2qt-addons/b2qt-appcontroller/appcontroller.conf new file mode 100644 index 0000000..cefd3a9 --- /dev/null +++ b/recipes-qt/b2qt-addons/b2qt-appcontroller/appcontroller.conf @@ -0,0 +1,5 @@ +env=QML2_IMPORT_PATH=/data/user/qt/qmlplugins +env=QT_IM_MODULE=qtvirtualkeyboard +env=QT_QPA_EGLFS_FORCE888=0 +env=QT_QUICK_CONTROLS_STYLE=Flat +base=linux diff --git a/recipes-qt/b2qt-addons/b2qt-appcontroller/colibri-vf/appcontroller.conf b/recipes-qt/b2qt-addons/b2qt-appcontroller/colibri-vf/appcontroller.conf new file mode 100644 index 0000000..ff4d0da --- /dev/null +++ b/recipes-qt/b2qt-addons/b2qt-appcontroller/colibri-vf/appcontroller.conf @@ -0,0 +1,7 @@ +env=QMLSCENE_DEVICE=softwarecontext +env=QT_QPA_PLATFORM=linuxfb +env=QSG_RENDER_LOOP=basic +env=QML2_IMPORT_PATH=/data/user/qt/qmlplugins +env=QT_IM_MODULE=qtvirtualkeyboard +env=QT_QUICK_CONTROLS_STYLE=Flat +base=linux diff --git a/recipes-qt/b2qt-addons/b2qt-appcontroller/mx6/appcontroller.conf b/recipes-qt/b2qt-addons/b2qt-appcontroller/mx6/appcontroller.conf new file mode 100644 index 0000000..8960985 --- /dev/null +++ b/recipes-qt/b2qt-addons/b2qt-appcontroller/mx6/appcontroller.conf @@ -0,0 +1,7 @@ +env=FB_MULTI_BUFFER=2 +env=QML2_IMPORT_PATH=/data/user/qt/qmlplugins +env=QT_IM_MODULE=qtvirtualkeyboard +env=QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event0 +env=QT_GSTREAMER_CAMERABIN_VIDEOSRC=mxc_v4l2=mfw_v4lsrc,v4l2src +env=QT_QUICK_CONTROLS_STYLE=Flat +base=linux diff --git a/recipes-qt/b2qt-addons/b2qt-appcontroller/rpi/appcontroller.conf b/recipes-qt/b2qt-addons/b2qt-appcontroller/rpi/appcontroller.conf new file mode 100644 index 0000000..bc143da --- /dev/null +++ b/recipes-qt/b2qt-addons/b2qt-appcontroller/rpi/appcontroller.conf @@ -0,0 +1,5 @@ +env=QML2_IMPORT_PATH=/data/user/qt/qmlplugins +env=QT_IM_MODULE=qtvirtualkeyboard +env=QT_QPA_EGLFS_FORCE888=1 +env=QT_QUICK_CONTROLS_STYLE=Flat +base=linux diff --git a/recipes-qt/b2qt-addons/b2qt-demos.bb b/recipes-qt/b2qt-addons/b2qt-demos.bb new file mode 100644 index 0000000..d031b0a --- /dev/null +++ b/recipes-qt/b2qt-addons/b2qt-demos.bb @@ -0,0 +1,68 @@ +############################################################################# +## +## Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +## +## This file is part of the Qt Enterprise Embedded Scripts of the Qt +## framework. +## +## $QT_BEGIN_LICENSE$ +## Commercial License Usage Only +## Licensees holding valid commercial Qt license agreements with Digia +## with an appropriate addendum covering the Qt Enterprise Embedded Scripts, +## may use this file in accordance with the terms contained in said license +## agreement. +## +## For further information use the contact form at +## http://www.qt.io/contact-us. +## +## +## $QT_END_LICENSE$ +## +############################################################################# + +DESCRIPTION = "Boot to Qt Demos" +LICENSE = "QtEnterprise" +LIC_FILES_CHKSUM = "file://sensors/Accelbubble.qml;md5=1bf19846314f7b0fa81dc4db92338713;beginline=1;endline=40" + +inherit qmake5 + +SRC_URI = " \ + git://qt-gerrit.it.local/QtRD-15810/b2qt-demos;branch=${QT_BRANCH};protocol=ssh;name=demos \ + git://code.qt.io/qt-labs/qt5-everywhere-demo.git;protocol=git;name=everywhere;destsuffix=qt5-everywhere-demo \ + " +QT_BRANCH = "dev" +SRCREV_demos = "d6979299a7809e5b832738c4cf39bba2c9a185eb" +SRCREV_everywhere = "6178748a6ea34df40a8e3c9ce67137e33383bb0e" +GITDIR_everywhere = "${DL_DIR}/qt5-everywhere-demo" + + +S = "${WORKDIR}/git/basicsuite" + +DEPENDS = "qtbase qtdeclarative qtxmlpatterns qtquickcontrols qtgraphicaleffects qtsensors qtmultimedia qtwebengine" + +do_install_append() { + # we only need plugins from the demos + rm -rf ${D}/data/user/camera + rm -rf ${D}/data/user/sensorexplorer + + cp -r ${S}/* ${D}/data/user/qt/ + cp -r ${S}/../images ${D}/data/ + cp -r ${S}/../videos ${D}/data/ + + cp -r ${WORKDIR}/qt5-everywhere-demo/QtDemo/qml ${D}/data/user/qt/qt5-everywhere/ + + # we can't have several top-level windows in b2qt, replace Window -> Rectangle + sed -i '/import QtQuick.Window/c\' ${D}/data/user/qt/qt5-everywhere/qml/QtDemo/main.qml + sed -i 's/Window /Rectangle /1' ${D}/data/user/qt/qt5-everywhere/qml/QtDemo/main.qml +} + +FILES_${PN} += " \ + /data/images/ \ + /data/videos/ \ + /data/user \ + " + +FILES_${PN}-dbg += " \ + /data/user/*/.debug/ \ + /data/user/qt/*/*/.debug/ \ + " diff --git a/recipes-qt/b2qt-addons/b2qt-launcher.bb b/recipes-qt/b2qt-addons/b2qt-launcher.bb new file mode 100644 index 0000000..9e9c94b --- /dev/null +++ b/recipes-qt/b2qt-addons/b2qt-launcher.bb @@ -0,0 +1,51 @@ +############################################################################# +## +## Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +## +## This file is part of the Qt Enterprise Embedded Scripts of the Qt +## framework. +## +## $QT_BEGIN_LICENSE$ +## Commercial License Usage Only +## Licensees holding valid commercial Qt license agreements with Digia +## with an appropriate addendum covering the Qt Enterprise Embedded Scripts, +## may use this file in accordance with the terms contained in said license +## agreement. +## +## For further information use the contact form at +## http://www.qt.io/contact-us. +## +## +## $QT_END_LICENSE$ +## +############################################################################# + +DESCRIPTION = "Boot to Qt Demo Launcher" +LICENSE = "QtEnterprise" +LIC_FILES_CHKSUM = "file://src/main.cpp;md5=1fcdf6b49fbbf2bc9c831893cca1b279;beginline=1;endline=17" + +inherit qmake5 + +SRC_URI = " \ + git://qt-gerrit.it.local/QtRD-15810/b2qt-launcher;branch=${QT_BRANCH};protocol=ssh \ + file://b2qt-startup.sh \ + " + +SRCREV = "e824e206f28eb20bcb6f1d9064990f5e927261f4" +QT_BRANCH = "dev" + +S = "${WORKDIR}/git" + +DEPENDS = "qtbase qtdeclarative qtwebengine" + +do_install_append() { + install -m 0755 -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/b2qt-startup.sh ${D}${sysconfdir}/init.d/ +} + +FILES_${PN} += "${sysdir}/init.d/b2qt-startup.h" + +INITSCRIPT_NAME = "b2qt-startup.sh" +INITSCRIPT_PARAMS = "defaults 30" + +inherit update-rc.d diff --git a/recipes-qt/b2qt-addons/b2qt-launcher/b2qt-startup.sh b/recipes-qt/b2qt-addons/b2qt-launcher/b2qt-startup.sh new file mode 100755 index 0000000..3acbd65 --- /dev/null +++ b/recipes-qt/b2qt-addons/b2qt-launcher/b2qt-startup.sh @@ -0,0 +1,42 @@ +#!/bin/sh +############################################################################# +## +## Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +## +## This file is part of the Qt Enterprise Embedded Scripts of the Qt +## framework. +## +## $QT_BEGIN_LICENSE$ +## Commercial License Usage Only +## Licensees holding valid commercial Qt license agreements with Digia +## with an appropriate addendum covering the Qt Enterprise Embedded Scripts, +## may use this file in accordance with the terms contained in said license +## agreement. +## +## For further information use the contact form at +## http://www.qt.io/contact-us. +## +## +## $QT_END_LICENSE$ +## +############################################################################# + +case "$1" in +start) + if [ -x /data/user/b2qt ]; then + APP="/data/user/b2qt" + elif [ -x /usr/bin/b2qt ]; then + APP="/usr/bin/b2qt" + else + APP="/usr/bin/qtlauncher --applications-root /data/user/qt" + fi + /usr/bin/appcontroller ${APP} & + ;; +stop) + /usr/bin/appcontroller --stop + ;; +*) + echo "Usage: $0 {start|stop}" + exit 1 +esac +exit 0 diff --git a/recipes-qt/b2qt-addons/b2qt-utils.bb b/recipes-qt/b2qt-addons/b2qt-utils.bb new file mode 100644 index 0000000..e25c1ae --- /dev/null +++ b/recipes-qt/b2qt-addons/b2qt-utils.bb @@ -0,0 +1,48 @@ +############################################################################# +## +## Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +## +## This file is part of the Qt Enterprise Embedded Scripts of the Qt +## framework. +## +## $QT_BEGIN_LICENSE$ +## Commercial License Usage Only +## Licensees holding valid commercial Qt license agreements with Digia +## with an appropriate addendum covering the Qt Enterprise Embedded Scripts, +## may use this file in accordance with the terms contained in said license +## agreement. +## +## For further information use the contact form at +## http://www.qt.io/contact-us. +## +## +## $QT_END_LICENSE$ +## +############################################################################# + +DESCRIPTION = "Boot to Qt Utils module" +LICENSE = "QtEnterprise" +LIC_FILES_CHKSUM = "file://src/qconnectivity/main.cpp;md5=0b2892e6aca7d0750bbd7fe6b6b1c033;beginline=1;endline=17" + +inherit qt5-module + +SRC_URI = " \ + git://qt-gerrit.it.local/QtRD-15810/b2qt-utils;branch=${QT_BRANCH};protocol=ssh \ + " + +SRCREV = "7b14c47d6adbc6ab3cdfc9d10bef25029215a85f" +QT_BRANCH = "dev" + +S = "${WORKDIR}/git" + +DEPENDS = "qtbase qtdeclarative wpa-supplicant" + +FILES_${PN}-examples-dbg = " \ + /data/user/qt/.debug/* \ + /data/user/qt/wifi-cpp/.debug/* \ + " + +FILES_${PN}-examples = " \ + /data/user/qt/wifi-cpp/wifi-cpp \ + /data/user/qt/wifi-qml \ + " -- cgit v1.2.3-54-g00ecf