recipes-qt: add recipes from meta-fsl-bsp-release
These recipes update Qt5, its plugins and adds wayland support. https://jira.digi.com/browse/DEL-6104 Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit is contained in:
parent
c82ee2be42
commit
081551aeeb
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
# Remove dependency on qtgraphicaleffects for sololite
|
||||
DEPENDS_remove_mx6sl = "qtgraphicaleffects"
|
||||
RDEPENDS_${PN}_remove_mx6sl = "qtgraphicaleffects-qmlplugins"
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
From 66389744b6f521880679433fd3ea6ed072eef9a3 Mon Sep 17 00:00:00 2001
|
||||
From: Yuqing Zhu <carol.zhu@nxp.com>
|
||||
Date: Wed, 26 Jul 2017 11:29:41 +0800
|
||||
Subject: [PATCH] configure.ac: Add prefix to correct the QT_PATH
|
||||
|
||||
Signed-off-by: Yuqing Zhu <carol.zhu@nxp.com>
|
||||
---
|
||||
configure.ac | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index fa26262..b35a828 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2919,8 +2919,8 @@ dnl *** Qt ***
|
||||
translit(dnm, m, l) AM_CONDITIONAL(USE_QT, true)
|
||||
AG_GST_CHECK_FEATURE(QT, [Qt elements], qt, [
|
||||
PKG_CHECK_MODULES(QT, Qt5Core Qt5Gui Qt5Qml Qt5Quick >= 5.4.0, [
|
||||
- QT_PATH=`$PKG_CONFIG --variable=exec_prefix Qt5Core`
|
||||
- QT_HOST_PATH=`$PKG_CONFIG --variable=host_bins Qt5Core`
|
||||
+ QT_PATH=$STAGING_DIR`$PKG_CONFIG --variable=exec_prefix Qt5Core`
|
||||
+ QT_HOST_PATH=$STAGING_DIR`$PKG_CONFIG --variable=host_bins Qt5Core`
|
||||
AC_ARG_WITH([moc],
|
||||
AS_HELP_STRING([--with-moc], [Set location of qt moc tool]),
|
||||
[MOC=$withval])
|
||||
--
|
||||
1.9.1
|
||||
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
require recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc
|
||||
FILESEXTRAPATHS_prepend := "${BSPDIR}/sources/meta-fsl-bsp-release/imx/meta-sdk/recipes-qt5/qt5/${PN}:"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
|
||||
file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607 \
|
||||
file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
|
||||
|
||||
GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-good.git;protocol=https"
|
||||
SRCBRANCH = "MM_04.04.00_1805_L4.9.88_MX8QXP_BETA2"
|
||||
|
||||
SRC_URI = " \
|
||||
${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} \
|
||||
file://0001-configure.ac-Add-prefix-to-correct-the-QT_PATH.patch \
|
||||
"
|
||||
SRCREV = "037e2bf9a152de410623235974c68be21948985a"
|
||||
|
||||
# gstgldisplay_viv_fb.h from gst-base is needed by qmlgl plugin
|
||||
DEPENDS_append = " gstreamer1.0-plugins-base"
|
||||
# Need libdrm_fourcc.h for DMA buf support in opengl plugins
|
||||
DEPENDS_append_mx7ulp = " libdrm"
|
||||
DEPENDS_append_mx8 = " libdrm"
|
||||
|
||||
# Qt5 configuratin only support "--disable-qt"
|
||||
# And in default, it is disabled, need to remove the default setting to enable it.
|
||||
# Fix: unrecognised options: --disable-sunaudio [unknown-configure-option]
|
||||
EXTRA_OECONF_remove = "--disable-qt \
|
||||
--disable-sdl --disable-nas --disable-libvisual --disable-xvid --disable-mimic \
|
||||
--disable-pvr --disable-sdltest --disable-wininet --disable-timidity \
|
||||
--disable-linsys --disable-sndio --disable-apexsink \
|
||||
--disable-sunaudio \
|
||||
"
|
||||
|
||||
# The QT_PATH & QT_HOST_PATH which help to access to moc uic rcc tools are incorrect,
|
||||
# need to passing STAGING_DIR to update the QT PATH
|
||||
EXTRA_OECONF += "STAGING_DIR=${STAGING_DIR_NATIVE} --disable-introspection"
|
||||
|
||||
PACKAGECONFIG += "qt5"
|
||||
|
||||
PACKAGECONFIG[qt5] = '--enable-qt \
|
||||
--with-moc="${STAGING_DIR_NATIVE}/usr/bin/qt5/moc" \
|
||||
--with-uic="${STAGING_DIR_NATIVE}/usr/bin/qt5/uic" \
|
||||
--with-rcc="${STAGING_DIR_NATIVE}/usr/bin/qt5/rcc" \
|
||||
,--disable-qt,qtbase qtdeclarative qtbase-native'
|
||||
|
||||
# This remove "--exclude=autopoint" option from autoreconf argument to avoid
|
||||
# configure.ac:30: error: required file './ABOUT-NLS' not found
|
||||
EXTRA_AUTORECONF = ""
|
||||
|
||||
# remove the duplicate libs except qtsink
|
||||
do_install_append() {
|
||||
rm -rf ${D}/usr
|
||||
if [ -e ${WORKDIR}/build/ext/qt/.libs/libgstqmlgl.so ]; then
|
||||
mkdir -p ${D}${libdir}/gstreamer-1.0/
|
||||
install -m 0755 ${WORKDIR}/build/ext/qt/.libs/libgstqmlgl.so ${D}${libdir}/gstreamer-1.0/
|
||||
install -m 0755 ${WORKDIR}/build/ext/qt/.libs/libgstqmlgl.lai ${D}${libdir}/gstreamer-1.0/libgstqmlgl.la
|
||||
fi
|
||||
}
|
||||
|
||||
PV = "1.14.0.imx"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
# Need qtsink for SoCs that have hardware GPU3D
|
||||
COMPATIBLE_MACHINE = "(mx6sx|mx6dl|mx6q|mx7ulp|mx8)"
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
[Desktop Entry]
|
||||
Name=iMX Camera
|
||||
Exec=/usr/share/qt5/examples/multimedia/imxcamera/imxcamera
|
||||
Icon=imxcamera
|
||||
Terminal=false
|
||||
Type=Application
|
||||
X-MB-SingleInstance=true
|
||||
Comment=i.MX Camera App
|
||||
StartupNotify=false
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
[Desktop Entry]
|
||||
Name=iMX Player
|
||||
Exec=/usr/share/qt5/examples/multimedia/imxplayer/imxplayer
|
||||
Icon=imxplayer
|
||||
Terminal=false
|
||||
Type=Application
|
||||
X-MB-SingleInstance=true
|
||||
Comment=i.MX Player
|
||||
StartupNotify=false
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
# Copyright (C) 2014-2016 Freescale Semiconductor
|
||||
# Copyright 2017 NXP
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
DESCRIPTION = "Freescale QT Multimedia applications"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=6b552f505eedab4a11ab538cf3db743a"
|
||||
|
||||
inherit fsl-eula-unpack pkgconfig
|
||||
|
||||
# base on QtMultimedia v5.2.1
|
||||
DEPENDS += "qtmultimedia gstreamer1.0 gstreamer1.0-plugins-base imx-gst1.0-plugin qtquickcontrols"
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true \
|
||||
file://qtimxplayer.desktop \
|
||||
file://qtimxcamera.desktop \
|
||||
"
|
||||
SRC_URI[md5sum] = "e65c9a365a4ed76efd4e5de8c3b35293"
|
||||
SRC_URI[sha256sum] = "4a43cc4ec58827dda287e2f3c4700bfa821c5075ffefa06056a33290ccaede9a"
|
||||
|
||||
USE_X11 = "${@bb.utils.contains("DISTRO_FEATURES", "x11", "yes", "no", d)}"
|
||||
PLATFORM_HAS_VPU = " "
|
||||
PLATFORM_HAS_VPU_imxvpu = "yes"
|
||||
|
||||
# imx-qtapplications will be enabled on board with GPU 3D
|
||||
# For now, imxcamera & imxplayer can only be supported on x11 backend for SoC with VPU only (including i.MX6Q & i.MX6DL)
|
||||
# And test_qmlglsrc & test_qmlglsink can be supported on all backends
|
||||
do_install () {
|
||||
if [ "${USE_X11}" = "yes" ]; then
|
||||
if [ "${PLATFORM_HAS_VPU}" = "yes" ]; then
|
||||
install -d ${D}${datadir}/applications
|
||||
install -m 0644 ${WORKDIR}/qt*.desktop ${D}${datadir}/applications
|
||||
install -d ${D}${datadir}/qt5
|
||||
cp -r ${S}/usr/share/qt5/examples ${D}${datadir}/qt5
|
||||
install -d ${D}${datadir}/pixmaps
|
||||
cp -r ${S}/usr/share/pixmaps/* ${D}${datadir}/pixmaps
|
||||
else
|
||||
install -d ${D}${datadir}/qt5/examples/multimedia/
|
||||
cp -r ${S}/usr/share/qt5/examples/multimedia/qmlgltest/ ${D}${datadir}/qt5/examples/multimedia/
|
||||
fi
|
||||
else
|
||||
install -d ${D}${datadir}/qt5/examples/multimedia/
|
||||
cp -r ${S}/usr/share/qt5/examples/multimedia/qmlgltest/ ${D}${datadir}/qt5/examples/multimedia/
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
FILES_${PN} = " \
|
||||
${datadir}/qt5/examples/*/* \
|
||||
${datadir}/applications/* \
|
||||
${datadir}/pixmaps/* \
|
||||
"
|
||||
|
||||
INSANE_SKIP_${PN} += "debug-files"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx6|mx7ulp)"
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
# Copyright (C) 2014-2016 Freescale Semiconductor
|
||||
# Copyright 2017 NXP
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
DESCRIPTION = "Freescale QT Multimedia applications"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=08fd295cce89b0a9c74b9b83ed74f671"
|
||||
|
||||
inherit fsl-eula-unpack pkgconfig
|
||||
|
||||
# base on QtMultimedia v5.2.1
|
||||
DEPENDS += "qtmultimedia gstreamer1.0 gstreamer1.0-plugins-base imx-gst1.0-plugin qtquickcontrols"
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true \
|
||||
"
|
||||
SRC_URI[md5sum] = "a4df8c4b998d9de7fde469d20d3cd8b1"
|
||||
SRC_URI[sha256sum] = "8f64a8d232dc1e3f03873b6702c281750bae9d720e89e414c0104f0ded3d2f84"
|
||||
|
||||
do_install () {
|
||||
install -d ${D}${datadir}/qt5/examples/multimedia/
|
||||
cp -r ${S}/usr/share/qt5/examples/multimedia/qmlgltest/ ${D}${datadir}/qt5/examples/multimedia/
|
||||
}
|
||||
|
||||
FILES_${PN} = " \
|
||||
${datadir}/qt5/examples/*/* \
|
||||
"
|
||||
|
||||
INSANE_SKIP_${PN} += "debug-files"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx8)"
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
do_install_append() {
|
||||
if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then
|
||||
sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt5*.pc
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
# Remove dependency on qtgraphicaleffects for sololite
|
||||
DEPENDS_remove_mx6sl = "qtgraphicaleffects"
|
||||
RDEPENDS_${PN}_remove_mx6sl = "qtgraphicaleffects-qmlplugins"
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
# Remove dependency on qtgraphicaleffects for sololite
|
||||
DEPENDS_remove_mx6sl = "qtgraphicaleffects"
|
||||
RDEPENDS_${PN}_remove_mx6sl = "qtgraphicaleffects-qmlplugins"
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
# Remove dependency on qtgraphicaleffects for sololite
|
||||
DEPENDS_remove_mx6sl = "qtgraphicaleffects"
|
||||
RDEPENDS_${PN}_remove_mx6sl = "qtgraphicaleffects-qmlplugins"
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
do_install_append() {
|
||||
if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then
|
||||
sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt5*.pc
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
do_install_append() {
|
||||
if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then
|
||||
sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt5*.pc
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
do_install_append() {
|
||||
if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then
|
||||
sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt5*.pc
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
do_install_append() {
|
||||
if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then
|
||||
sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt5*.pc
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
do_install_append() {
|
||||
if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then
|
||||
sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt5*.pc
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
do_install_append() {
|
||||
if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then
|
||||
sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt5*.pc
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
From f407bd40a35153f88b3492814b805e0773e53881 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandru Palalau <ioan-alexandru.palalau@nxp.com>
|
||||
Date: Mon, 15 Jan 2018 15:18:41 +0200
|
||||
Subject: [PATCH] =?UTF-8?q?Fix=20crash=20when=20wl=5Fsurface=20was=20destr?=
|
||||
=?UTF-8?q?oyed=20before=20eglDestroySurface=20called.=20Upstream=C2=A0Sta?=
|
||||
=?UTF-8?q?tus:=C2=A0Inappropriate=C2=A0[i.MX=C2=A0specific]?=
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Alexandru Palalau <ioan-alexandru.palalau@nxp.com>
|
||||
---
|
||||
src/client/qwaylandwindow.cpp | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
|
||||
index 6d7c088..94c89a3 100644
|
||||
--- a/src/client/qwaylandwindow.cpp
|
||||
+++ b/src/client/qwaylandwindow.cpp
|
||||
@@ -385,8 +385,6 @@ void QWaylandWindow::setVisible(bool visible)
|
||||
QWindowSystemInterface::flushWindowSystemEvents();
|
||||
if (!deleteGuard.isNull() && window()->type() == Qt::Popup)
|
||||
closePopups(this);
|
||||
- if (!deleteGuard.isNull())
|
||||
- reset();
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
From 9e2f959060d8767f8710e113621c0004f21ace93 Mon Sep 17 00:00:00 2001
|
||||
From: Yuqing Zhu <carol.zhu@nxp.com>
|
||||
Date: Fri, 11 May 2018 13:51:55 +0800
|
||||
Subject: [PATCH] tst_client.cpp: Fix no-opengl build error
|
||||
|
||||
The error is introduced by bf09c7a1493c01a65ee0f110b37a04e653edc08e
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Yuqing Zhu <carol.zhu@nxp.com>
|
||||
---
|
||||
tests/auto/client/client/tst_client.cpp | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/tests/auto/client/client/tst_client.cpp b/tests/auto/client/client/tst_client.cpp
|
||||
index 2124205..d63030d 100644
|
||||
--- a/tests/auto/client/client/tst_client.cpp
|
||||
+++ b/tests/auto/client/client/tst_client.cpp
|
||||
@@ -114,6 +114,7 @@ public:
|
||||
QPoint mousePressPos;
|
||||
};
|
||||
|
||||
+#ifndef QT_NO_OPENGL
|
||||
class TestGlWindow : public QOpenGLWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
@@ -132,6 +133,7 @@ void TestGlWindow::paintGL()
|
||||
{
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
}
|
||||
+#endif // QT_NO_OPENGL
|
||||
|
||||
class tst_WaylandClient : public QObject
|
||||
{
|
||||
@@ -170,7 +172,9 @@ private slots:
|
||||
void dontCrashOnMultipleCommits();
|
||||
void hiddenTransientParent();
|
||||
void hiddenPopupParent();
|
||||
+#ifndef QT_NO_OPENGL
|
||||
void glWindow();
|
||||
+#endif // QT_NO_OPENGL
|
||||
|
||||
private:
|
||||
MockCompositor *compositor;
|
||||
@@ -433,6 +437,7 @@ void tst_WaylandClient::hiddenPopupParent()
|
||||
QTRY_VERIFY(compositor->surface());
|
||||
}
|
||||
|
||||
+#ifndef QT_NO_OPENGL
|
||||
void tst_WaylandClient::glWindow()
|
||||
{
|
||||
QSKIP("Skipping GL tests, as not supported by all CI systems: See https://bugreports.qt.io/browse/QTBUG-65802");
|
||||
@@ -447,6 +452,7 @@ void tst_WaylandClient::glWindow()
|
||||
testWindow->setVisible(false);
|
||||
QTRY_VERIFY(!compositor->surface());
|
||||
}
|
||||
+#endif // QT_NO_OPENGL
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
--
|
||||
1.9.1
|
||||
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
||||
SRC_URI_append = " file://0001-Fix-crash-when-wl_surface-was-destroyed-before-eglDe.patch \
|
||||
file://0001-tst_client.cpp-Fix-no-opengl-build.patch \
|
||||
"
|
||||
|
||||
PACKAGECONFIG_remove_mx6 = "xcomposite-egl xcomposite-glx"
|
||||
PACKAGECONFIG_remove_mx6sl = "wayland-egl"
|
||||
PACKAGECONFIG_remove_mx7 = "xcomposite-egl xcomposite-glx"
|
||||
PACKAGECONFIG_remove_mx8 = "xcomposite-egl xcomposite-glx"
|
||||
|
||||
do_install_append() {
|
||||
if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then
|
||||
sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt5*.pc
|
||||
fi
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
do_install_append() {
|
||||
if ls ${D}${libdir}/pkgconfig/Qt5*.pc >/dev/null 2>&1; then
|
||||
sed -i 's,-L${STAGING_DIR_HOST}/usr/lib,,' ${D}${libdir}/pkgconfig/Qt5*.pc
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
# Remove dependency on qtgraphicaleffects for sololite
|
||||
DEPENDS_remove_mx6sl = "qtgraphicaleffects"
|
||||
RDEPENDS_${PN}_remove_mx6sl = "qtgraphicaleffects-qmlplugins"
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
# Remove dependency on qtgraphicaleffects for sololite
|
||||
DEPENDS_remove_mx6sl = "qtgraphicaleffects"
|
||||
RDEPENDS_${PN}_remove_mx6sl = "qtgraphicaleffects-qmlplugins"
|
||||
Loading…
Reference in New Issue