summary refs log tree commit diff
diff options
context:
space:
mode:
authorPetr Hodina <phodina@protonmail.com>2022-09-30 22:09:02 +0200
committerMarius Bakke <marius@gnu.org>2022-11-21 22:01:13 +0100
commit20d7c6b1a29abfff32e98f2ad12672a15bf8aacf (patch)
tree48a7ecc77e8e2023ee390b9b534a6d9ea97329fc
parent12f8ea204a4914d4b98702cda0495d6e3940cdad (diff)
downloadguix-20d7c6b1a29abfff32e98f2ad12672a15bf8aacf.tar.gz
gnu: Add kde-cli-tools.
* gnu/packages/kde-plasma.scm (kde-cli-tools): New variable.
* gnu/local.mk (dist_patch_DATA): Add patch.
* gnu/packages/patches/kde-cli-tools-delay-mime-db.patch: New file.

Signed-off-by: Marius Bakke <marius@gnu.org>
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/kde-plasma.scm48
-rw-r--r--gnu/packages/patches/kde-cli-tools-delay-mime-db.patch26
3 files changed, 75 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 68ea09cb91..a8674cd6bd 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1388,6 +1388,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/lightdm-vnc-color-depth.patch		\
   %D%/packages/patches/localed-xorg-keyboard.patch		\
   %D%/packages/patches/kcontacts-incorrect-country-name.patch	\
+  %D%/packages/patches/kde-cli-tools-delay-mime-db.patch	\
   %D%/packages/patches/kdiagram-Fix-missing-link-libraries.patch \
   %D%/packages/patches/kiki-level-selection-crash.patch		\
   %D%/packages/patches/kiki-makefile.patch			\
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index d229b6e7ea..e98c13c2bf 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -31,6 +31,7 @@
   #:use-module (guix gexp)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system qt)
+  #:use-module (gnu packages)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages boost)
@@ -365,6 +366,53 @@ These window decorations can be used by for example an X11 based window
 manager which re-parents a Client window to a window decoration frame.")
     (license license:lgpl3+)))
 
+(define-public kde-cli-tools
+  (package
+    (name "kde-cli-tools")
+    (version "5.25.5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://kde/stable/plasma/"
+                                  version "/" name "-" version ".tar.xz"))
+              (patches (search-patches "kde-cli-tools-delay-mime-db.patch"))
+              (sha256
+               (base32
+                "0i1lnkyb2bdvbhnr2wsgjy2sjichzxxqkvn30ca85rj21cavk2z3"))))
+    (build-system qt-build-system)
+    (arguments
+     (list #:tests? #f ;TODO: Failing sub-tests 3/7
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'set-writable-location
+                 (lambda* _
+                   (substitute* "keditfiletype/tests/filetypestest.cpp"
+                     (("QStandardPaths::writableLocation.QStandardPaths::\
+GenericDataLocation.")
+                      (string-append "\"" (getcwd) "/\"")))))
+               (add-before 'check 'setup-env
+                 (lambda* _
+                   (setenv "HOME" (getcwd)))))))
+    (native-inputs (list extra-cmake-modules pkg-config shared-mime-info))
+    (inputs (list kconfig
+                  kdesu
+                  kdoctools
+                  kiconthemes
+                  ki18n
+                  kcmutils
+                  kio
+                  kservice
+                  kwindowsystem
+                  kactivities
+                  kparts
+                  plasma-workspace
+                  qtx11extras
+                  qtsvg-5))
+    (synopsis "CLI tools for interacting with KDE")
+    (description "This package provides command-line tools based on
+KDE Frameworks 5 to better interact with the system.")
+    (home-page "https://invent.kde.org/plasma/kde-cli-tools")
+    (license license:lgpl2.0+)))
+
 (define-public kgamma
   (package
     (name "kgamma")
diff --git a/gnu/packages/patches/kde-cli-tools-delay-mime-db.patch b/gnu/packages/patches/kde-cli-tools-delay-mime-db.patch
new file mode 100644
index 0000000000..e29b3b192d
--- /dev/null
+++ b/gnu/packages/patches/kde-cli-tools-delay-mime-db.patch
@@ -0,0 +1,26 @@
+From f8cfb96a1540fc3256af95adf8003b75c305183c Mon Sep 17 00:00:00 2001
+From: Petr Hodina <phodina@protonmail.com>
+Date: Fri, 30 Sep 2022 21:55:55 +0200
+Subject: [PATCH] Add delay to update the mime db in testCreateMimeType test
+ function.
+
+
+diff --git a/keditfiletype/tests/filetypestest.cpp b/keditfiletype/tests/filetypestest.cpp
+index e58e6f2..a41d4ad 100644
+--- a/keditfiletype/tests/filetypestest.cpp
++++ b/keditfiletype/tests/filetypestest.cpp
+@@ -315,6 +315,9 @@ private Q_SLOTS:
+         QVERIFY(data.isDirty());
+         QVERIFY(data.sync());
+         MimeTypeWriter::runUpdateMimeDatabase();
++        // QMimeDatabase doesn't even try to update the cache if less than
++        // 5000 ms have passed (can't use qmime_secondsBetweenChecks)
++        QTest::qSleep(5000);
+         QMimeType mime = db.mimeTypeForName(mimeTypeName);
+         QVERIFY(mime.isValid());
+         QCOMPARE(mime.comment(), fakeComment);
+
+base-commit: b5911cda17521156b22429436e19b508aa442a57
+-- 
+2.37.2
+