diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-demos.bb b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-demos.bb new file mode 100644 index 000000000..f57ba2baf --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-demos.bb @@ -0,0 +1,21 @@ +# Copyright (C) 2014 Freescale Semiconductor +# Copyright 2017-2018, 2020 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Package group for Qt6 demos" +LICENSE = "MIT" + +inherit packagegroup + +RDEPENDS:${PN}:append = " \ + qtbase-examples \ + qtdeclarative-examples \ +" + +RDEPENDS:${PN}:append:imxgpu = " \ + cinematicexperience-rhi \ +" + +RDEPENDS:${PN}:append:imxgpu3d = " \ + qt3d-examples \ +" diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-dey.bb b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-dey.bb new file mode 100644 index 000000000..9f98544a4 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-dey.bb @@ -0,0 +1,41 @@ +# Copyright 2019-20 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Package group for i.MX Qt6" +LICENSE = "MIT" + +PACKAGE_ARCH = "${TUNE_PKGARCH}" + +inherit packagegroup + +# Install Freescale QT demo applications +QT6_IMAGE_INSTALL_APPS = "" +#QT6_IMAGE_INSTALL_APPS:imxgpu3d = "${@bb.utils.contains("MACHINE_GSTREAMER_1_0_PLUGIN", "imx-gst1.0-plugin", "imx-qtapplications", "", d)}" + +# Install fonts +QT6_FONTS = "ttf-dejavu-common ttf-dejavu-sans ttf-dejavu-sans-mono ttf-dejavu-serif " + +# Install qtquick3d +QT6_QTQUICK3D = "qtquick3d qtquick3d-dev qtquick3d-examples" + +QT6_IMAGE_INSTALL = "" +QT6_IMAGE_INSTALL_common = " \ + packagegroup-qt6-demos \ + ${QT6_QTQUICK3D} \ + ${QT6_FONTS} \ + ${QT6_IMAGE_INSTALL_APPS} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxkbcommon', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'qtwayland qtwayland-plugins', '', d)}\ + " +QT6_IMAGE_INSTALL:imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'x11','${QT6_IMAGE_INSTALL_common}', \ + 'qtbase qtbase-plugins', d)}" + +QT6_IMAGE_INSTALL:imxpxp = "${@bb.utils.contains('DISTRO_FEATURES', 'x11','${QT6_IMAGE_INSTALL_common}', \ + 'qtbase qtbase-examples qtbase-plugins', d)}" + +QT6_IMAGE_INSTALL:imxgpu3d = " \ + ${QT6_IMAGE_INSTALL_common} \ +" +RDEPENDS:${PN} += " \ + ${QT6_IMAGE_INSTALL} \ +" diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-webengine.bb b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-webengine.bb new file mode 100644 index 000000000..96e7b8e37 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-fsl/packagegroup/packagegroup-qt6-webengine.bb @@ -0,0 +1,14 @@ +# Copyright (C) 2015 Freescale Semiconductor +# Copyright 2017-2018, 2020-2021 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Package group for Qt6 webengine and examples" +LICENSE = "MIT" + +inherit packagegroup + +RDEPENDS:${PN} += " \ + qtwebengine \ + qtwebengine-qmlplugins \ + qtwebengine-examples \ +" diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/examples/cinematicexperience-rhi_1.0.bb b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/examples/cinematicexperience-rhi_1.0.bb new file mode 100644 index 000000000..dea753c2a --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/examples/cinematicexperience-rhi_1.0.bb @@ -0,0 +1,34 @@ +SUMMARY = "Qt6 technology demo" +DESCRIPTION = "Cinematic Experience collects many of the new Qt6 QtQuick 2.0 features into the same UX demo application. It uses particles, sprites, path animation, custom shaders etc. features which Qt5 introduces for QML UIs." +HOMEPAGE = "http://quitcoding.com/?page=work#cinex" +LICENSE = "CC-BY-3.0" +LIC_FILES_CHKSUM = "file://README.md;beginline=51;endline=62;md5=095fed4655dd7006b7e96051b261b1da" + +SRC_URI = "git://github.com/alpqr/qt5-cinematic-experience.git;branch=master;protocol=https" + +SRCREV = "fea04d7004a1608308c11189d74bb92d3decbe3d" + +S = "${WORKDIR}/git" + +inherit qt6-cmake + +DEPENDS = "qtdeclarative qtdeclarative-native qtshadertools-native" +RDEPENDS:${PN} = "liberation-fonts qtdeclarative-qmlplugins" + +require recipes-qt/qt6/qt6.inc + +do_install() { + install -d ${D}${datadir}/${P} + install -m 0755 ${B}/qt5-cinematic-experience ${D}${datadir}/${P}/qt6-cinematic-experience + cp -R --no-dereference --preserve=mode,links ${S}/content ${D}${datadir}/${P} + install -m 0644 ${S}/main.qml ${D}${datadir}/${P} + + install -d ${D}${bindir} + echo "#!/bin/sh" > ${D}${bindir}/qt6-cinematic-experience + echo "export QML_IMPORT_PATH=${datadir}/${P}" >> ${D}${bindir}/qt6-cinematic-experience + echo "export QML2_IMPORT_PATH=${datadir}/${P}" >> ${D}${bindir}/qt6-cinematic-experience + echo "${datadir}/${P}/qt6-cinematic-experience \$* " >> ${D}${bindir}/qt6-cinematic-experience + chmod +x ${D}${bindir}/qt6-cinematic-experience +} + +FILES:${PN} += "${datadir}" diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qt3d_%.bbappend b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qt3d_%.bbappend new file mode 100644 index 000000000..ca240e412 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qt3d_%.bbappend @@ -0,0 +1,7 @@ +PACKAGECONFIG += "examples" + +do_install:append() { +if ls ${D}${libdir}/pkgconfig/Qt6*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt6*.pc +fi +} diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/0001-egl.prf-Fix-build-error-when-egl-headers-need-platfo.patch b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/0001-egl.prf-Fix-build-error-when-egl-headers-need-platfo.patch new file mode 100644 index 000000000..2a345f4cd --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/0001-egl.prf-Fix-build-error-when-egl-headers-need-platfo.patch @@ -0,0 +1,32 @@ +From 3f9703fecd670b36030e1093466f6d11b370c19f Mon Sep 17 00:00:00 2001 +From: Yuqing Zhu +Date: Mon, 27 Mar 2017 15:33:35 +0800 +Subject: [PATCH] egl.prf: Fix build error when egl headers need platform + definition + +Gain the value through pkg-config and pass it through QMAKE_CFLAGS_EGL. + +Upstream-Status: Pending [https://bugreports.qt.io/browse/QTBUG-61712] + +Signed-off-by: Yuqing Zhu +--- + mkspecs/features/egl.prf | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/mkspecs/features/egl.prf b/mkspecs/features/egl.prf +index 9fa0c9e..85d5852 100644 +--- a/mkspecs/features/egl.prf ++++ b/mkspecs/features/egl.prf +@@ -1,3 +1,9 @@ ++# egl headers need a definition ++PKG_CONFIG = $$pkgConfigExecutable() ++PKGCONFIG_CFLAGS = $$system($$PKG_CONFIG --cflags egl) ++PKGCONFIG_CFLAGS = $$find(PKGCONFIG_CFLAGS, ^-D.*) ++QMAKE_CFLAGS_EGL = $$PKGCONFIG_CFLAGS ++ + INCLUDEPATH += $$QMAKE_INCDIR_EGL + LIBS_PRIVATE += $$QMAKE_LIBS_EGL + QMAKE_CFLAGS += $$QMAKE_CFLAGS_EGL +-- +1.9.1 + diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/0014-Add-IMX-GPU-support.patch b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/0014-Add-IMX-GPU-support.patch new file mode 100644 index 000000000..e86d9ed54 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/0014-Add-IMX-GPU-support.patch @@ -0,0 +1,14 @@ +Index: git/mkspecs/linux-oe-g++/qmake.conf +=================================================================== +--- git.orig/mkspecs/linux-oe-g++/qmake.conf 2017-06-26 10:20:57.139653321 -0500 ++++ git/mkspecs/linux-oe-g++/qmake.conf 2017-06-26 10:30:12.000000000 -0500 +@@ -39,5 +39,9 @@ + + include(../oe-device-extra.pri) + ++QMAKE_LIBS_EGL += -lEGL ++QMAKE_LIBS_OPENGL_ES2 += -lEGL -lGLESv2 ++QMAKE_LIBS_OPENVG += -lEGL -lOpenVG ++ + load(device_config) + load(qt_config) diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/qt6-fb.sh b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/qt6-fb.sh new file mode 100644 index 000000000..f5c11f98b --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/qt6-fb.sh @@ -0,0 +1,3 @@ +#!/bin/sh +export QT_QPA_PLATFORM=eglfs +export QT_QPA_EGLFS_INTEGRATION=eglfs_viv diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/qt6-wayland.sh b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/qt6-wayland.sh new file mode 100644 index 000000000..6779c9d12 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/qt6-wayland.sh @@ -0,0 +1,2 @@ +#!/bin/sh +export QT_QPA_PLATFORM=wayland diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/qt6-x11.sh b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/qt6-x11.sh new file mode 100644 index 000000000..8bbd73b94 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase/qt6-x11.sh @@ -0,0 +1,2 @@ +#!/bin/sh +export QT_QPA_PLATFORM=xcb diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase_%.bbappend b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase_%.bbappend new file mode 100644 index 000000000..362bca9bb --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtbase_%.bbappend @@ -0,0 +1,70 @@ +# Copyright (C) 2013 Eric Bénard - Eukréa Electromatique +# Copyright (C) 2016 O.S. Systems Software LTDA. +# Copyright (C) 2016 Freescale Semiconductor +# Copyright 2017-2021 NXP + +### Copy qtbase bbappend from meta-freescale + +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +SRC_URI:append:imxgpu = " \ + file://0014-Add-IMX-GPU-support.patch \ + file://0001-egl.prf-Fix-build-error-when-egl-headers-need-platfo.patch \ +" + +PACKAGECONFIG_GRAPHICS_IMX_GPU = "" +PACKAGECONFIG_GRAPHICS_IMX_GPU:mx8-nxp-bsp = "gbm kms" + +PACKAGECONFIG_GRAPHICS:imxpxp = "gles2" +PACKAGECONFIG_GRAPHICS:imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' gl', '', d)} \ + ${PACKAGECONFIG_GRAPHICS_IMX_GPU}" +PACKAGECONFIG_GRAPHICS:imxgpu3d = "gles2 \ + ${PACKAGECONFIG_GRAPHICS_IMX_GPU}" +PACKAGECONFIG_GRAPHICS:use-mainline-bsp ?= "gles2 gbm kms" + +PACKAGECONFIG_PLATFORM = "" +PACKAGECONFIG_PLATFORM:imxgpu2d = "no-opengl linuxfb" +PACKAGECONFIG_PLATFORM:imxgpu3d = " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', \ + bb.utils.contains('DISTRO_FEATURES', 'wayland', '', \ + 'eglfs', d), d)}" +PACKAGECONFIG_PLATFORM:use-mainline-bsp = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'eglfs', d)}" +PACKAGECONFIG += "${PACKAGECONFIG_PLATFORM}" + +PACKAGECONFIG_VULKAN_IMX_GPU = "" +PACKAGECONFIG_VULKAN_IMX_GPU:mx8-nxp-bsp = "vulkan" +PACKAGECONFIG_VULKAN_IMX_GPU:mx8mm-nxp-bsp = "" +PACKAGECONFIG_VULKAN = "" +PACKAGECONFIG_VULKAN:imxgpu = "${PACKAGECONFIG_VULKAN_IMX_GPU}" +PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', '${PACKAGECONFIG_VULKAN}', '', d)}" + +##### End of meta-freescale qtbase bbappend + +IMX_BACKEND = \ + "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland',\ + bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', \ + 'fb', d), d)}" + +SRC_URI:append = " \ + file://qt6-${IMX_BACKEND}.sh \ +" + +PACKAGECONFIG += "examples" + +PACKAGECONFIG_PLATFORM_IMX_GPU = "" +PACKAGECONFIG_PLATFORM_IMX_GPU:mx8-nxp-bsp = "eglfs" +PACKAGECONFIG_PLATFORM:imxgpu2d += "${PACKAGECONFIG_PLATFORM_IMX_GPU}" +PACKAGECONFIG_PLATFORM:imxgpu3d += "${PACKAGECONFIG_PLATFORM_IMX_GPU}" + +PARALLEL_MAKEINST = "" +PARALLEL_MAKE:task-install = "${PARALLEL_MAKEINST}" + +do_install:append () { + if ls ${D}${libdir}/pkgconfig/Qt6*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt6*.pc + fi + install -d ${D}${sysconfdir}/profile.d/ + install -m 0755 ${WORKDIR}/qt6-${IMX_BACKEND}.sh ${D}${sysconfdir}/profile.d/qt6.sh +} + +FILES:${PN} += "${sysconfdir}/profile.d/qt5.sh" diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtdeclarative_%.bbappend b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtdeclarative_%.bbappend new file mode 100644 index 000000000..fa6fdc8de --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtdeclarative_%.bbappend @@ -0,0 +1,10 @@ +PACKAGECONFIG:append:class-target = " examples" + +PARALLEL_MAKEINST = "" +PARALLEL_MAKE:task-install = "${PARALLEL_MAKEINST}" + +do_install:append() { +if ls ${D}${libdir}/pkgconfig/Qt6*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt6*.pc +fi +} diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtmultimedia_%.bbappend b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtmultimedia_%.bbappend new file mode 100644 index 000000000..a0f8891f0 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtmultimedia_%.bbappend @@ -0,0 +1,6 @@ +do_install:append() { +if ls ${D}${libdir}/pkgconfig/Qt6*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt6*.pc +fi +} + diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtquick3d_%.bbappend b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtquick3d_%.bbappend new file mode 100644 index 000000000..2091cb378 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtquick3d_%.bbappend @@ -0,0 +1 @@ +PACKAGECONFIG:append = " examples" diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtsvg_%.bbappend b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtsvg_%.bbappend new file mode 100644 index 000000000..a0f8891f0 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtsvg_%.bbappend @@ -0,0 +1,6 @@ +do_install:append() { +if ls ${D}${libdir}/pkgconfig/Qt6*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt6*.pc +fi +} + diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qttools_%.bbappend b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qttools_%.bbappend new file mode 100644 index 000000000..a0f8891f0 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qttools_%.bbappend @@ -0,0 +1,6 @@ +do_install:append() { +if ls ${D}${libdir}/pkgconfig/Qt6*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt6*.pc +fi +} + diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtwayland_%.bbappend b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtwayland_%.bbappend new file mode 100644 index 000000000..4ecf367cd --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtwayland_%.bbappend @@ -0,0 +1,21 @@ +###Copy qtwayland bbappend from meta-freescale + +# etnaviv mesa does not have glx +PACKAGECONFIG:remove:use-mainline-bsp = "xcomposite-glx" + +PACKAGECONFIG:remove:mx6-nxp-bsp = "xcomposite-egl xcomposite-glx" +PACKAGECONFIG:remove:mx7-nxp-bsp = "xcomposite-egl xcomposite-glx" + +# i.MX8 does never provide native x11, so required dependencies are not met +PACKAGECONFIG:remove:mx8-nxp-bsp = "xcomposite-egl xcomposite-glx" + +###### End of meta-freescale bbappend + +PACKAGECONFIG:remove:mx6sl-nxp-bsp = "wayland-egl" + +do_install:append() { +if ls ${D}${libdir}/pkgconfig/Qt6*.pc >/dev/null 2>&1; then + sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt6*.pc +fi +} + diff --git a/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtwebengine_%.bbappend b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtwebengine_%.bbappend new file mode 100644 index 000000000..2fbc111a2 --- /dev/null +++ b/meta-digi-dey/dynamic-layers/qt6-layer/NXP/recipes-qt/qt6/qtwebengine_%.bbappend @@ -0,0 +1,3 @@ +PACKAGECONFIG:append = " examples" + +EXTRA_OECMAKE:append = " -DFEATURE_webengine_printing_and_pdf=OFF"