summary refs log tree commit diff
diff options
context:
space:
mode:
authorZheng Junjie <zhengjunjie@iscas.ac.cn>2024-07-08 17:45:03 +0800
committerZheng Junjie <zhengjunjie@iscas.ac.cn>2024-07-18 10:45:29 +0800
commitfa8527a5fcfd72c96490c2be1242c6a08061e828 (patch)
treeadb103dbfeace0d30a3c25ad49590e944848cc19
parent524c351758c19cbb5fe938a586f8f74015a76114 (diff)
downloadguix-fa8527a5fcfd72c96490c2be1242c6a08061e828.tar.gz
gnu: Add kcmutils-5.
* gnu/packages/kde-frameworks.scm (kcmutils-5): New variable.

Change-Id: Ib550b0accac4e080c52b76075b48a23adb44f629
-rw-r--r--gnu/packages/kde-frameworks.scm56
1 files changed, 56 insertions, 0 deletions
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index ac58f2a792..c80a8e58db 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -3164,6 +3164,62 @@ using the XBEL format.")
 KCModules can be created with the KConfigWidgets framework.")
     (license license:lgpl2.1+)))
 
+(define-public kcmutils-5
+  (package
+    (inherit kcmutils)
+    (name "kcmutils")
+    (version "5.116.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://kde/stable/frameworks/"
+                    (version-major+minor version) "/"
+                    name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "06aw308wv3fyl1g60n1i2hxx74f0isdsfwwzidsjk79danyqsa4i"))))
+    (propagated-inputs
+     (list kconfigwidgets-5 kservice-5))
+    (native-inputs
+     (list extra-cmake-modules))
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch
+            (lambda _
+              (substitute* "src/kpluginselector.cpp"
+                ;; make QDirIterator follow symlinks
+                (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)"
+                  _ a b)
+                 (string-append a
+                                " | QDirIterator::FollowSymlinks" b)))
+              (substitute* "src/kcmoduleloader.cpp"
+                ;; print plugin name when loading fails
+                (("^\\s*(qWarning\\(\\) << \"Error loading) (plugin:\")( << loader\\.errorString\\(\\);)"
+                  _ a b c)
+                 (string-append a
+                                " KCM plugin\" << mod.service()->library() << \":\""
+                                c)))))
+          (add-before 'check 'check-setup
+            (lambda _
+              (setenv "QT_QPA_PLATFORM" "offscreen"))))))
+    (inputs
+     (list kauth-5
+           kcodecs-5
+           kconfig-5
+           kcoreaddons-5
+           kdeclarative-5
+           kguiaddons-5
+           kiconthemes-5
+           kitemviews-5
+           ki18n-5
+           kpackage-5
+           kwidgetsaddons-5
+           kxmlgui-5
+           qtbase-5
+           qtdeclarative-5))))
+
 (define-public kconfigwidgets
   (package
     (name "kconfigwidgets")