qt5charts: new package
authorSébastien Szymanski <sebastien.szymanski@armadeus.com>
Thu, 2 Nov 2017 16:27:02 +0000 (17:27 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 3 Dec 2017 22:47:12 +0000 (23:47 +0100)
Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
[Thomas: add entry to DEVELOPERS file, update to Qt 5.9.3.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
DEVELOPERS
package/qt5/Config.in
package/qt5/qt5charts/Config.in [new file with mode: 0644]
package/qt5/qt5charts/qt5charts.hash [new file with mode: 0644]
package/qt5/qt5charts/qt5charts.mk [new file with mode: 0644]

index f96b1d07a982e13cf20e1c018653a8ebfbb8a6c6..3e52d7c904027d56c73d21296a5b00fbd9739576 100644 (file)
@@ -1627,6 +1627,7 @@ N:        Sébastien Szymanski <sebastien.szymanski@armadeus.com>
 F:     package/mmc-utils/
 F:     package/python-flask-jsonrpc/
 F:     package/python-flask-login/
+F:     package/qt5/qt5charts/
 
 N:     Theo Debrouwere <t.debrouwere@televic.com>
 F:     package/pugixml/
index 0136e1124f23cf53e0fe0a18b907bade109203f5..69f36e20949eb3df1bb9f34f645e21fc0cb9ab6e 100644 (file)
@@ -61,6 +61,7 @@ endchoice
 source "package/qt5/qt53d/Config.in"
 source "package/qt5/qt5base/Config.in"
 source "package/qt5/qt5canvas3d/Config.in"
+source "package/qt5/qt5charts/Config.in"
 source "package/qt5/qt5connectivity/Config.in"
 source "package/qt5/qt5declarative/Config.in"
 source "package/qt5/qt5enginio/Config.in"
diff --git a/package/qt5/qt5charts/Config.in b/package/qt5/qt5charts/Config.in
new file mode 100644 (file)
index 0000000..993f4db
--- /dev/null
@@ -0,0 +1,15 @@
+comment "qt5charts needs at least qt-5.7"
+       depends on !BR2_PACKAGE_QT5_VERSION_LATEST
+
+config BR2_PACKAGE_QT5CHARTS
+       bool "qt5charts"
+       select BR2_PACKAGE_QT5BASE
+       select BR2_PACKAGE_QT5BASE_WIDGETS
+       depends on BR2_PACKAGE_QT5_VERSION_LATEST
+       help
+         Qt is a cross-platform application and UI framework for
+         developers using C++.
+
+         Qt Charts module provides a set of easy to use chart components.
+
+         https://doc.qt.io/qt-5/qtcharts-index.html
diff --git a/package/qt5/qt5charts/qt5charts.hash b/package/qt5/qt5charts/qt5charts.hash
new file mode 100644 (file)
index 0000000..3a9db5b
--- /dev/null
@@ -0,0 +1,5 @@
+# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.3/submodules/qtcharts-opensource-src-5.9.3.tar.xz.mirrorlist
+sha256 ec1783a81d5715fc48a3276e67b90a66cac3e283ac14fc3bf88b2058994d69e9  qtcharts-opensource-src-5.9.3.tar.xz
+
+# Hashes for license files:
+sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3
diff --git a/package/qt5/qt5charts/qt5charts.mk b/package/qt5/qt5charts/qt5charts.mk
new file mode 100644 (file)
index 0000000..17fdd96
--- /dev/null
@@ -0,0 +1,59 @@
+################################################################################
+#
+# qt5charts
+#
+################################################################################
+
+QT5CHARTS_VERSION = $(QT5_VERSION)
+QT5CHARTS_SITE = $(QT5_SITE)
+QT5CHARTS_SOURCE = qtcharts-opensource-src-$(QT5CHARTS_VERSION).tar.xz
+QT5CHARTS_DEPENDENCIES = qt5base
+QT5CHARTS_INSTALL_STAGING = YES
+
+QT5CHARTS_LICENSE = GPL-3.0
+QT5CHARTS_LICENSE_FILES = LICENSE.GPL3
+
+ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
+QT5CHARTS_DEPENDENCIES += qt5declarative
+endif
+
+define QT5CHARTS_CONFIGURE_CMDS
+       (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake)
+endef
+
+define QT5CHARTS_BUILD_CMDS
+       $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define QT5CHARTS_INSTALL_STAGING_CMDS
+       $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
+       $(QT5_LA_PRL_FILES_FIXUP)
+endef
+
+ifeq ($(BR2_STATIC_LIBS),)
+define QT5CHARTS_INSTALL_TARGET_LIBS
+       cp -dpf $(STAGING_DIR)/usr/lib/libQt5Charts*.so.* $(TARGET_DIR)/usr/lib
+       cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/* $(TARGET_DIR)/usr/lib/qt/plugins
+endef
+endif
+
+# this is only built with quick support enabled
+ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y)
+define QT5CHARTS_INSTALL_TARGET_QMLS
+       cp -dpfr $(STAGING_DIR)/usr/qml/QtCharts $(TARGET_DIR)/usr/qml/
+endef
+endif
+
+ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
+define QT5CHARTS_INSTALL_TARGET_EXAMPLES
+       cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/charts* $(TARGET_DIR)/usr/lib/qt/examples/
+endef
+endif
+
+define QT5CHARTS_INSTALL_TARGET_CMDS
+       $(QT5CHARTS_INSTALL_TARGET_LIBS)
+       $(QT5CHARTS_INSTALL_TARGET_QMLS)
+       $(QT5CHARTS_INSTALL_TARGET_EXAMPLES)
+endef
+
+$(eval $(generic-package))