From e13ea43e956a13fbea9134c2a2a9f4612c21e3f4 Mon Sep 17 00:00:00 2001 From: Jan-Simon Moeller Date: Mon, 11 Nov 2024 11:07:21 +0100 Subject: qtbase(qt6): Enforce no x11-native gets pulled in and fix issues in qt6 layer, fix llvm vs. clang Workaround: Fix wrong detection of X11 headers in native sysroot. For now remove xkbcommon Limit qt6 packagegroup inclusion to avoid unnecessary content in image. Also remove old patch to qtmultimedia. meta-clang inclusion now needs https://github.com/kraj/meta-clang/tree/scarthgap?tab=readme-ov-file#providing-llvm thus add PREFERRED_PROVIDER_llvm = "clang" PREFERRED_PROVIDER_llvm-native = "clang-native" PREFERRED_PROVIDER_nativesdk-llvm = "nativesdk-clang" PROVIDES:pn-clang = "llvm" PROVIDES:pn-clang-native = "llvm-native" PROVIDES:pn-nativesdk-clang = "nativesdk-llvm" Need to work out the final location for these. Bug-AGL: SPEC-5282 Change-Id: Ib3ed9e81ecd1e27681e443dacddac5fec42a303f Signed-off-by: Jan-Simon Moeller Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/30503 --- conf/include/agl-demo.inc | 9 +++ .../packagegroups/packagegroup-qt6-addons.bbappend | 1 + .../packagegroup-qt6-addons_agldemo.inc | 3 + .../packagegroup-qt6-modules.bbappend | 1 + .../packagegroup-qt6-modules_agldemo.inc | 3 + recipes-qt/qt/qtbase_agldemo.inc | 2 +- ...age-support-with-the-data-URL-scheme-for-.patch | 80 ---------------------- recipes-qt/qt/qtmultimedia_agldemo.inc | 4 -- 8 files changed, 18 insertions(+), 85 deletions(-) create mode 100644 recipes-qt/packagegroups/packagegroup-qt6-addons.bbappend create mode 100644 recipes-qt/packagegroups/packagegroup-qt6-addons_agldemo.inc create mode 100644 recipes-qt/packagegroups/packagegroup-qt6-modules.bbappend create mode 100644 recipes-qt/packagegroups/packagegroup-qt6-modules_agldemo.inc delete mode 100644 recipes-qt/qt/qtmultimedia/0001-metadata-image-support-with-the-data-URL-scheme-for-.patch diff --git a/conf/include/agl-demo.inc b/conf/include/agl-demo.inc index caba58cc8..4cc72575d 100644 --- a/conf/include/agl-demo.inc +++ b/conf/include/agl-demo.inc @@ -24,3 +24,12 @@ AGL_FEATURES:append = " agldemo" PREFERRED_RPROVIDER_kuksa-val-certificates-ca = "kuksa-certificates-agl" PREFERRED_RPROVIDER_kuksa-val-certificates-server = "kuksa-certificates-agl" PREFERRED_RPROVIDER_kuksa-val-certificates-client = "kuksa-certificates-agl" + + +# meta-clang replaces llvm with clang - avoid installation errors +PREFERRED_PROVIDER_llvm = "clang" +PREFERRED_PROVIDER_llvm-native = "clang-native" +PREFERRED_PROVIDER_nativesdk-llvm = "nativesdk-clang" +PROVIDES:pn-clang = "llvm" +PROVIDES:pn-clang-native = "llvm-native" +PROVIDES:pn-nativesdk-clang = "nativesdk-llvm" diff --git a/recipes-qt/packagegroups/packagegroup-qt6-addons.bbappend b/recipes-qt/packagegroups/packagegroup-qt6-addons.bbappend new file mode 100644 index 000000000..c81787fe2 --- /dev/null +++ b/recipes-qt/packagegroups/packagegroup-qt6-addons.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('AGL_FEATURES', 'agldemo', 'packagegroup-qt6-addons_agldemo.inc', '', d)} diff --git a/recipes-qt/packagegroups/packagegroup-qt6-addons_agldemo.inc b/recipes-qt/packagegroups/packagegroup-qt6-addons_agldemo.inc new file mode 100644 index 000000000..989f8d07f --- /dev/null +++ b/recipes-qt/packagegroups/packagegroup-qt6-addons_agldemo.inc @@ -0,0 +1,3 @@ +# qtpdf has extensive dependencies (chromium) +# also there is a build issue as it requires deep in the 3rd-party tree cups-config +RDEPENDS:${PN}:remove = "qtpdf" diff --git a/recipes-qt/packagegroups/packagegroup-qt6-modules.bbappend b/recipes-qt/packagegroups/packagegroup-qt6-modules.bbappend new file mode 100644 index 000000000..13640b898 --- /dev/null +++ b/recipes-qt/packagegroups/packagegroup-qt6-modules.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('AGL_FEATURES', 'agldemo', 'packagegroup-qt6-modules_agldemo.inc', '', d)} diff --git a/recipes-qt/packagegroups/packagegroup-qt6-modules_agldemo.inc b/recipes-qt/packagegroups/packagegroup-qt6-modules_agldemo.inc new file mode 100644 index 000000000..c94d0d08b --- /dev/null +++ b/recipes-qt/packagegroups/packagegroup-qt6-modules_agldemo.inc @@ -0,0 +1,3 @@ +# the addons group is pretty heavy. +# better pull in dependencies as required in our case +RDEPENDS:${PN}:remove = "packagegroup-qt6-addons" diff --git a/recipes-qt/qt/qtbase_agldemo.inc b/recipes-qt/qt/qtbase_agldemo.inc index 03743740c..5e6477985 100644 --- a/recipes-qt/qt/qtbase_agldemo.inc +++ b/recipes-qt/qt/qtbase_agldemo.inc @@ -1 +1 @@ -PACKAGECONFIG:append = " xkbcommon icu fontconfig sql-sqlite" +PACKAGECONFIG:append = " icu fontconfig sql-sqlite" diff --git a/recipes-qt/qt/qtmultimedia/0001-metadata-image-support-with-the-data-URL-scheme-for-.patch b/recipes-qt/qt/qtmultimedia/0001-metadata-image-support-with-the-data-URL-scheme-for-.patch deleted file mode 100644 index 007e46763..000000000 --- a/recipes-qt/qt/qtmultimedia/0001-metadata-image-support-with-the-data-URL-scheme-for-.patch +++ /dev/null @@ -1,80 +0,0 @@ -From ed61f1d932c5c6d38458fcd2e1d5d154383f017e Mon Sep 17 00:00:00 2001 -From: Tasuku Suzuki -Date: Mon, 12 Dec 2016 16:32:47 +0900 -Subject: [PATCH] metadata image support with the "data" URL scheme for QtQuick - -add posterImage, coverArtImage and thumbnailImage to metadata - -Change-Id: I10b9bae10c219ffa41506d6e6b345020790217a6 ---- - .../multimedia/qdeclarativemediametadata_p.h | 33 ++++++++++++++++++++++ - 1 file changed, 33 insertions(+) - -diff --git a/src/imports/multimedia/qdeclarativemediametadata_p.h b/src/imports/multimedia/qdeclarativemediametadata_p.h -index ede7f87..6a6a815 100644 ---- a/src/imports/multimedia/qdeclarativemediametadata_p.h -+++ b/src/imports/multimedia/qdeclarativemediametadata_p.h -@@ -51,6 +51,9 @@ - // We mean it. - // - -+#include -+#include -+#include - #include - #include - #include -@@ -153,6 +156,9 @@ class QDeclarativeMediaMetaData : public QObject - Q_PROPERTY(QVariant gpsProcessingMethod READ gpsProcessingMethod WRITE setGPSProcessingMethod NOTIFY metaDataChanged) - Q_PROPERTY(QVariant gpsAreaInformation READ gpsAreaInformation WRITE setGPSAreaInformation NOTIFY metaDataChanged) - -+ Q_PROPERTY(QVariant posterImage READ posterImage NOTIFY metaDataChanged) -+ Q_PROPERTY(QVariant coverArtImage READ coverArtImage NOTIFY metaDataChanged) -+ Q_PROPERTY(QVariant thumbnailImage READ thumbnailImage NOTIFY metaDataChanged) - public: - QDeclarativeMediaMetaData(QMediaObject *player, QObject *parent = 0) - : QObject(parent) -@@ -425,6 +431,16 @@ QT_WARNING_POP - void setGPSAreaInformation(const QVariant &information) { - setMetaData(QMediaMetaData::GPSAreaInformation, information); } - -+ QVariant posterImage() const { -+ return convertImageToUrl(m_mediaObject->metaData(QMediaMetaData::PosterImage)); -+ } -+ QVariant coverArtImage() const { -+ return convertImageToUrl(m_mediaObject->metaData(QMediaMetaData::CoverArtImage)); -+ } -+ QVariant thumbnailImage() const { -+ return convertImageToUrl(m_mediaObject->metaData(QMediaMetaData::ThumbnailImage)); -+ } -+ - Q_SIGNALS: - void metaDataChanged(); - -@@ -440,6 +456,23 @@ private: - m_writerControl->setMetaData(key, value); - } - -+ QUrl convertImageToUrl(const QVariant &variant) const -+ { -+ if (variant.type() != QVariant::Image) -+ return QUrl(); -+ -+ QImage image = variant.value(); -+ QByteArray data; -+ QBuffer buffer(&data); -+ buffer.open(QBuffer::WriteOnly); -+ QImageWriter png(&buffer, "png"); -+ if (!png.write(image)) { -+ return QUrl(); -+ } -+ buffer.close(); -+ return QUrl(QStringLiteral("data:image/png;base64,") + data.toBase64()); -+ } -+ - QMediaObject *m_mediaObject; - QMetaDataWriterControl *m_writerControl; - bool m_requestedWriterControl; --- -2.7.4 - diff --git a/recipes-qt/qt/qtmultimedia_agldemo.inc b/recipes-qt/qt/qtmultimedia_agldemo.inc index 0734a3664..bb2326839 100644 --- a/recipes-qt/qt/qtmultimedia_agldemo.inc +++ b/recipes-qt/qt/qtmultimedia_agldemo.inc @@ -1,7 +1,3 @@ FILESEXTRAPATHS:append := ":${THISDIR}/qtmultimedia" PACKAGECONFIG:append = " gstreamer" - -SRC_URI:append = " \ - file://0001-metadata-image-support-with-the-data-URL-scheme-for-.patch \ - " -- cgit 1.2.3-korg