瀏覽代碼

package/qt6/qt6scxml: new package

Cross-compiling requires the host variant of the same package.

Signed-off-by: Christian Hitz <christian.hitz@bbv.ch>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Christian Hitz 10 月之前
父節點
當前提交
0cc9fcfd02
共有 5 個文件被更改,包括 82 次插入0 次删除
  1. 3 0
      DEVELOPERS
  2. 1 0
      package/qt6/Config.in
  3. 17 0
      package/qt6/qt6scxml/Config.in
  4. 11 0
      package/qt6/qt6scxml/qt6scxml.hash
  5. 50 0
      package/qt6/qt6scxml/qt6scxml.mk

+ 3 - 0
DEVELOPERS

@@ -609,6 +609,9 @@ F:	package/gstreamer1/gst1-shark/
 F:	package/micropython/
 F:	package/syslog-ng/
 
+N:	Christian Hitz <christian@klarinett.li>
+F:	package/qt6/qt6scxml/
+
 N:	Christian Kellermann <christian.kellermann@solectrix.de>
 F:	package/python-pylibftdi/
 

+ 1 - 0
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"

+ 17 - 0
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

+ 11 - 0
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

+ 50 - 0
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))