Subject: [PATCH] add qt6ct configuration tool

From: Josep Bigorra <[email-masked]>
Date: Fri, 13 Dec 2024 14:03:39 +0100

Hi all, I am submitting a patch adding the qt6ct tool so that we can
configure Qt6 application properly on Guix.

Hope I didn't miss anything!
Thanks, regards,

Joe
From b1b926172e5f2006ebea21419063e4378a894ec5 Mon Sep 17 00:00:00 2001
Message-ID: <b[email-masked]>
From: Josep Bigorra <[email-masked]>
Date: Fri, 13 Dec 2024 14:02:26 +0100
Subject: [PATCH] add qt6ct to guix packages

---
 gnu/packages/qt.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index cd0b3d6..1ef84c0 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -31,6 +31,7 @@
 ;;; Copyright © 2022, 2024 Zheng Junjie <[email-masked]>
 ;;; Copyright © 2023 Herman Rimm <[email-masked]>
 ;;; Copyright © 2024 Foundation Devices, Inc. <[email-masked]>
+;;; Copyright © 2024 Josep Bigorra <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -268,6 +269,44 @@ (define-public qt5ct
     (home-page "https://qt5ct.sourceforge.io/")
     (license license:bsd-2)))
 
+(define-public qt6ct
+  (package
+   (name "qt6ct")
+   (version "0.9")
+   (source
+    (origin
+     (method git-fetch)
+     (uri
+      (git-reference
+       (url "https://github.com/trialuser02/qt6ct")
+       (commit version)))
+     (sha256
+      (base32 "0dknk4qqzqc5wa763nclb1k6jkmvjh8kzz8kfp4iggy9jy0vnzgb"))))
+   (build-system qt-build-system)
+   (arguments
+    (list
+     #:qtbase qtbase
+     #:tests? #f                      ; No target
+     #:phases
+     #~(modify-phases %standard-phases
+                      (add-after 'unpack 'patch
+                                 (lambda _
+                                   (substitute* '("src/qt6ct-qtplugin/CMakeLists.txt"
+                                                  "src/qt6ct-style/CMakeLists.txt")
+                                                (("\\$\\{PLUGINDIR\\}")
+                                                 (string-append #$output "/lib/qt6/plugins"))))))))
+   (native-inputs
+    (list qttools))
+   (inputs
+    (list qtsvg
+          libxkbcommon))
+   (synopsis "Qt6 Configuration Tool")
+   (description "Qt6CT is a program that allows users to configure Qt6
+settings (such as icons, themes, and fonts) in desktop environments or
+window managers, that don't provide Qt integration by themselves.")
+   (home-page "https://github.com/trialuser02/qt6ct")
+   (license license:bsd-2)))
+
 (define-public kddockwidgets
   (package
     (name "kddockwidgets")
-- 
2.46.0