package/qt5/qt5scxml: new package
authorBartosz Bilas <b.bilas@grinn-global.com>
Fri, 8 Dec 2017 13:59:27 +0000 (14:59 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 13 Dec 2017 13:22:52 +0000 (14:22 +0100)
Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
[Thomas: add entry to DEVELOPERS file.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
DEVELOPERS
package/qt5/Config.in
package/qt5/qt5scxml/Config.in [new file with mode: 0644]
package/qt5/qt5scxml/qt5scxml.hash [new file with mode: 0644]
package/qt5/qt5scxml/qt5scxml.mk [new file with mode: 0644]

index 6a4e8de06508ef7d68dec78cba8463900439dbae..8f941756b6edf9210c897ca253618454a8115c96 100644 (file)
@@ -185,6 +185,9 @@ F:  package/luasec/
 F:     package/lua-ev/
 F:     package/orbit/
 
+N:     Bartosz Bilas <b.bilas@grinn-global.com>
+F:     package/qt5/qt5scxml/
+
 N:     Bartosz Golaszewski <brgl@bgdev.pl>
 F:     package/autoconf-archive/
 F:     package/doxygen/
index 69f36e20949eb3df1bb9f34f645e21fc0cb9ab6e..8eb00ca780c16e24d6c88a4826acac3f8459d9ec 100644 (file)
@@ -72,6 +72,7 @@ source "package/qt5/qt5multimedia/Config.in"
 source "package/qt5/qt5quickcontrols/Config.in"
 source "package/qt5/qt5quickcontrols2/Config.in"
 source "package/qt5/qt5script/Config.in"
+source "package/qt5/qt5scxml/Config.in"
 source "package/qt5/qt5sensors/Config.in"
 source "package/qt5/qt5serialbus/Config.in"
 source "package/qt5/qt5serialport/Config.in"
diff --git a/package/qt5/qt5scxml/Config.in b/package/qt5/qt5scxml/Config.in
new file mode 100644 (file)
index 0000000..4ae6a5b
--- /dev/null
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_QT5SCXML
+       bool "qt5scxml"
+       depends on BR2_PACKAGE_QT5_VERSION_LATEST
+       select BR2_PACKAGE_QT5BASE
+       help
+         Qt is a cross-platform application and UI framework for
+         developers using C++.
+
+         The Qt SCXML module provides functionality to create state
+         machines from SCXML files.
+
+         https://doc.qt.io/qt-5/qtscxml-index.html
+
+comment "qt5scxml needs at least qt-5.9"
+       depends on !BR2_PACKAGE_QT5_VERSION_LATEST
diff --git a/package/qt5/qt5scxml/qt5scxml.hash b/package/qt5/qt5scxml/qt5scxml.hash
new file mode 100644 (file)
index 0000000..b0d8615
--- /dev/null
@@ -0,0 +1,8 @@
+# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.3/submodules/qtscxml-opensource-src-5.9.3.tar.xz.mirrorlist
+sha256 d8f51fa8eddd09fef29d8fad6e570e9ca9403469543ab10cb5cfad738786a81b qtscxml-opensource-src-5.9.3.tar.xz
+
+# Hashes for license files:
+
+sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT
+sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL
+sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3
diff --git a/package/qt5/qt5scxml/qt5scxml.mk b/package/qt5/qt5scxml/qt5scxml.mk
new file mode 100644 (file)
index 0000000..4b1f979
--- /dev/null
@@ -0,0 +1,49 @@
+################################################################################
+#
+# qt5scxml
+#
+################################################################################
+
+QT5SCXML_VERSION = $(QT5_VERSION)
+QT5SCXML_SITE = $(QT5_SITE)
+QT5SCXML_SOURCE = qtscxml-opensource-src-$(QT5SCXML_VERSION).tar.xz
+QT5SCXML_DEPENDENCIES = qt5base
+QT5SCXML_INSTALL_STAGING = YES
+
+QT5SCXML_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs)
+QT5SCXML_LICENSE_FILES = LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL
+ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
+QT5SCXML_LICENSE := $(QT5SCXML_LICENSE), BSD-3-Clause (examples)
+endif
+
+define QT5SCXML_CONFIGURE_CMDS
+       (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake)
+endef
+
+define QT5SCXML_BUILD_CMDS
+       $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define QT5SCXML_INSTALL_STAGING_CMDS
+       $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
+       $(QT5_LA_PRL_FILES_FIXUP)
+endef
+
+ifeq ($(BR2_STATIC_LIBS),)
+define QT5SCXML_INSTALL_TARGET_LIBS
+       cp -dpf $(STAGING_DIR)/usr/lib/libQt5Scxml*.so.* $(TARGET_DIR)/usr/lib
+endef
+endif
+
+ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
+define QT5SCXML_INSTALL_TARGET_EXAMPLES
+       cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/scxml $(TARGET_DIR)/usr/lib/qt/examples/
+endef
+endif
+
+define QT5SCXML_INSTALL_TARGET_CMDS
+       $(QT5SCXML_INSTALL_TARGET_LIBS)
+       $(QT5SCXML_INSTALL_TARGET_EXAMPLES)
+endef
+
+$(eval $(generic-package))