From 0cc9fcfd0299f28413786bbdbac1ec9af459d724 Mon Sep 17 00:00:00 2001 From: Christian Hitz Date: Thu, 12 Sep 2024 11:02:46 +0200 Subject: [PATCH] package/qt6/qt6scxml: new package Cross-compiling requires the host variant of the same package. Signed-off-by: Christian Hitz Signed-off-by: Thomas Petazzoni --- DEVELOPERS | 3 ++ package/qt6/Config.in | 1 + package/qt6/qt6scxml/Config.in | 17 ++++++++++ package/qt6/qt6scxml/qt6scxml.hash | 11 +++++++ package/qt6/qt6scxml/qt6scxml.mk | 50 ++++++++++++++++++++++++++++++ 5 files changed, 82 insertions(+) create mode 100644 package/qt6/qt6scxml/Config.in create mode 100644 package/qt6/qt6scxml/qt6scxml.hash create mode 100644 package/qt6/qt6scxml/qt6scxml.mk diff --git a/DEVELOPERS b/DEVELOPERS index 3998a01991..d3a3f65b38 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -609,6 +609,9 @@ F: package/gstreamer1/gst1-shark/ F: package/micropython/ F: package/syslog-ng/ +N: Christian Hitz +F: package/qt6/qt6scxml/ + N: Christian Kellermann F: package/python-pylibftdi/ diff --git a/package/qt6/Config.in b/package/qt6/Config.in index 29c1c25c7f..4cbb60322c 100644 --- a/package/qt6/Config.in +++ b/package/qt6/Config.in @@ -49,6 +49,7 @@ source "package/qt6/qt6declarative/Config.in" source "package/qt6/qt6languageserver/Config.in" source "package/qt6/qt6mqtt/Config.in" source "package/qt6/qt6opcua/Config.in" +source "package/qt6/qt6scxml/Config.in" source "package/qt6/qt6serialbus/Config.in" source "package/qt6/qt6serialport/Config.in" source "package/qt6/qt6shadertools/Config.in" diff --git a/package/qt6/qt6scxml/Config.in b/package/qt6/qt6scxml/Config.in new file mode 100644 index 0000000000..66c2dc2206 --- /dev/null +++ b/package/qt6/qt6scxml/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_QT6SCXML + bool "qt6scxml" + help + Qt is a cross-platform application and UI framework for + developers using C++. + + This package provides two related state machine modules: + + * StateMachine: provides classes for creating and executing + state graphs. + + https://doc.qt.io/qt-6/qtstatemachine-index.html + + * Scxml: provides functionality to create state machines + from SCXML files. + + https://doc.qt.io/qt-6/qtscxml-index.html diff --git a/package/qt6/qt6scxml/qt6scxml.hash b/package/qt6/qt6scxml/qt6scxml.hash new file mode 100644 index 0000000000..6c39be214a --- /dev/null +++ b/package/qt6/qt6scxml/qt6scxml.hash @@ -0,0 +1,11 @@ +# Hash from: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtscxml-everywhere-src-6.7.2.tar.xz.sha256 +sha256 20ecf93506d48f27b492ad3dd9d88830e08d642faec3071ce53396a8ae05c86f qtscxml-everywhere-src-6.7.2.tar.xz + +# Hashes for license files: +sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt +sha256 110535522396708cea37c72a802c5e7e81391139f5f7985631c93ef242b206a4 LICENSES/GFDL-1.3-no-invariants-only.txt +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSES/GPL-2.0-only.txt +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSES/LGPL-3.0-only.txt +sha256 9b1f50aae6267f9d5e0ceb6775ee86450262c25ec7c0573e151fe5d3f18a4700 LICENSES/LicenseRef-Qt-Commercial.txt +sha256 40678d338ce53cd93f8b22b281a2ecbcaa3ee65ce60b25ffb0c462b0530846b2 LICENSES/Qt-GPL-exception-1.0.txt diff --git a/package/qt6/qt6scxml/qt6scxml.mk b/package/qt6/qt6scxml/qt6scxml.mk new file mode 100644 index 0000000000..29e0c752f8 --- /dev/null +++ b/package/qt6/qt6scxml/qt6scxml.mk @@ -0,0 +1,50 @@ +################################################################################ +# +# qt6scxml +# +################################################################################ + +QT6SCXML_VERSION = $(QT6_VERSION) +QT6SCXML_SITE = $(QT6_SITE) +QT6SCXML_SOURCE = qtscxml-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6SCXML_VERSION).tar.xz +QT6SCXML_INSTALL_STAGING = YES +QT6SCXML_SUPPORTS_IN_SOURCE_BUILD = NO +QT6SCXML_CMAKE_BACKEND = ninja + +QT6SCXML_LICENSE = \ + BSD-3-Clause (buildsystem, examples, snippets) \ + GFDL-1.3-no-invariants (docs), \ + GPL-2.0 or GPL-3.0 or LGPL-3.0, \ + GPL-3.0 with exception (tools), \ + GPL-3.0 (tests) + +QT6SCXML_LICENSE_FILES = \ + LICENSES/BSD-3-Clause.txt \ + LICENSES/GFDL-1.3-no-invariants-only.txt \ + LICENSES/GPL-2.0-only.txt \ + LICENSES/GPL-3.0-only.txt \ + LICENSES/LGPL-3.0-only.txt \ + LICENSES/Qt-GPL-exception-1.0.txt + +QT6SCXML_CONF_OPTS = \ + -DQT_HOST_PATH=$(HOST_DIR) \ + -DBUILD_WITH_PCH=OFF \ + -DQT_BUILD_EXAMPLES=OFF \ + -DQT_BUILD_TESTS=OFF + +QT6SCXML_DEPENDENCIES = \ + host-qt6scxml \ + qt6base + +HOST_QT6SCXML_DEPENDENCIES = \ + host-qt6base + +# When we have support for qt6declarative in target qt6scxml, we also +# need it in the host qt6scxml. +ifeq ($(BR2_PACKAGE_QT6DECLARATIVE),y) +QT6SCXML_DEPENDENCIES += qt6declarative +HOST_QT6SCXML_DEPENDENCIES += host-qt6declarative +endif + +$(eval $(cmake-package)) +$(eval $(host-cmake-package))