Subject: [bug#72835] [PATCH qt-team v2 43/74] gnu: Add qtcharts.

From: Zheng Junjie <[email-masked]>
Date: Wed, 18 Sep 2024 09:43:25 +0800

* gnu/packages/qt.scm (qtcharts): New variable.

Change-Id: Ibce8f69ff358a535e524fa58777ba4457f63255e
---
 gnu/packages/qt.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 80f5a87f92..653b90eb49 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -2749,6 +2749,50 @@ (define-public qtcharts-5
 graphs by selecting one of the charts themes.")
     (license license:gpl3)))
 
+(define-public qtcharts
+  (package
+    (name "qtcharts")
+    (version "6.7.2")
+    (source (origin
+              (method url-fetch)
+              (uri (qt-url name version))
+              (sha256
+               (base32
+                "1nlv4z2rvhrn1f1f7n6qdag7lmkpl3idnj6ph572qzwb8lvs9xh0"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      #:configure-flags #~(list "-DQT_BUILD_TESTS=ON")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'check 'set-display
+            (lambda _
+              ;; Make Qt render "offscreen", required for tests.
+              (setenv "QT_QPA_PLATFORM" "offscreen")))
+          (add-after 'install 'delete-installed-tests
+            (lambda _
+              (delete-file-recursively (string-append #$output "/tests"))))
+          (delete 'check) ;; move after the install phase
+          (add-after 'install 'check
+            (assoc-ref %standard-phases 'check))
+          (add-before 'check 'set-QML_IMPORT_PATH
+            (lambda _
+              (setenv
+               "QML_IMPORT_PATH"
+               (string-append #$output "/lib/qt6/qml:"
+                              (getenv "QML_IMPORT_PATH"))))))))
+    (native-inputs
+     (list perl pkg-config qtdeclarative))
+    (inputs (list qtbase qtdeclarative))
+    (synopsis "Qt Charts module")
+    (description "The Qt Charts module provides a set of easy to use chart
+components.  It uses the Qt Graphics View Framework, therefore charts can be
+easily integrated to modern user interfaces.  Qt Charts can be used as
+QWidgets, QGraphicsWidget, or QML types.  Users can easily create impressive
+graphs by selecting one of the charts themes.")
+    (home-page (package-home-page qtbase))
+    (license (package-license qtbase))))
+
 (define-public qtdatavis3d
   (package
     (inherit qtsvg-5)
-- 
2.45.2