qtbase(qt6): Enforce no x11-native gets pulled in and fix issues in qt6 layer, fix... 03/30503/14
authorJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Mon, 11 Nov 2024 10:07:21 +0000 (11:07 +0100)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Wed, 20 Nov 2024 13:35:26 +0000 (13:35 +0000)
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 <jsmoeller@linuxfoundation.org>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/30503

conf/include/agl-demo.inc
recipes-qt/packagegroups/packagegroup-qt6-addons.bbappend [new file with mode: 0644]
recipes-qt/packagegroups/packagegroup-qt6-addons_agldemo.inc [new file with mode: 0644]
recipes-qt/packagegroups/packagegroup-qt6-modules.bbappend [new file with mode: 0644]
recipes-qt/packagegroups/packagegroup-qt6-modules_agldemo.inc [new file with mode: 0644]
recipes-qt/qt/qtbase_agldemo.inc
recipes-qt/qt/qtmultimedia/0001-metadata-image-support-with-the-data-URL-scheme-for-.patch [deleted file]
recipes-qt/qt/qtmultimedia_agldemo.inc

index caba58c..4cc7257 100644 (file)
@@ -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 (file)
index 0000000..c81787f
--- /dev/null
@@ -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 (file)
index 0000000..989f8d0
--- /dev/null
@@ -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 (file)
index 0000000..13640b8
--- /dev/null
@@ -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 (file)
index 0000000..c94d0d0
--- /dev/null
@@ -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"
index 0374374..5e64779 100644 (file)
@@ -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 (file)
index 007e467..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-From ed61f1d932c5c6d38458fcd2e1d5d154383f017e Mon Sep 17 00:00:00 2001
-From: Tasuku Suzuki <tasuku.suzuki@qt.io>
-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 <QtCore/QBuffer>
-+#include <QtGui/QImage>
-+#include <QtGui/QImageWriter>
- #include <QtQml/qqml.h>
- #include <QtMultimedia/qmediametadata.h>
- #include <QtMultimedia/qmediaservice.h>
-@@ -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<QImage>();
-+        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
-
index 0734a36..bb23268 100644 (file)
@@ -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 \
-    "