Subject: [bug#38553] [PATCH 03/12] gnu: Add kate.

From: Hartmut Goebel <[email-masked]>
Date: Mon, 9 Dec 2019 22:53:49 +0100

* gnu/packages/kde-utils.scm: New file.
* gnu/local.mk (MODULES): Add it.
---
 gnu/local.mk               |  1 +
 gnu/packages/kde-utils.scm | 93 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 94 insertions(+)
 create mode 100644 gnu/packages/kde-utils.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index b2938e878b..f5cd1cd7a9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -280,6 +280,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/kde.scm				\
   %D%/packages/kde-frameworks.scm		\
   %D%/packages/kde-plasma.scm			\
+  %D/packages/kde-utils.scm			\
   %D%/packages/kerberos.scm			\
   %D%/packages/key-mon.scm			\
   %D%/packages/kodi.scm				\
diff --git a/gnu/packages/kde-utils.scm b/gnu/packages/kde-utils.scm
new file mode 100644
index 0000000000..1a9f7cf56a
--- /dev/null
+++ b/gnu/packages/kde-utils.scm
@@ -0,0 +1,93 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2017, 2019 Hartmut Goebel <[email-masked]>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages kde-utils)
+  #:use-module (guix build-system qt)
+  #:use-module (guix download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (gnu packages kde-frameworks)
+  #:use-module (gnu packages kde-plasma)
+  #:use-module (gnu packages qt))
+
+(define-public kate
+  (package
+    (name "kate")
+    (version "19.08.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://kde/stable/applications/" version
+                           "/src/kate-" version ".tar.xz"))
+       (sha256
+        (base32 "0wgcw10c4grkmsyp79ashwgpy59lgrinwdib4mjclpw2grp0g7xb"))))
+    (properties `((tags . ("Desktop" "KDE" "Utilities"))))
+    (build-system qt-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("kdoctools" ,kdoctools)))
+    (inputs
+     `(("kactivities" ,kactivities)
+       ("kconfig" ,kconfig)
+       ("kcrash" ,kcrash)
+       ("kdbusaddons" ,kdbusaddons)
+       ("kguiaddons" ,kguiaddons)
+       ("ki18n" ,ki18n)
+       ("kiconthemes" ,kiconthemes)
+       ("kitemmodels" ,kitemmodels)
+       ("threadweaver" ,threadweaver)
+       ("knewstuff" ,knewstuff)
+       ("kio" ,kio)
+       ("kjobwidgets" ,kjobwidgets)
+       ("kparts" ,kparts)
+       ("ktexteditor" ,ktexteditor)
+       ("kwallet" ,kwallet)
+       ("plasma-framework" ,plasma-framework)
+       ("kwindowsystem" ,kwindowsystem)
+       ("kxmlgui" ,kxmlgui)
+       ("oxygen-icons" ,oxygen-icons) ;; default icon set
+       ("qtbase" ,qtbase)
+       ("qtscript" ,qtscript)))
+    (arguments
+     `(#:tests? #f ;; 2/7 tests fail
+       #:phases
+       (modify-phases (@ (guix build qt-build-system) %standard-phases)
+         (add-before 'check 'check-setup
+           (lambda _
+             ;; make Qt render "offscreen", required for tests
+             (setenv "QT_QPA_PLATFORM" "offscreen")
+             (setenv "XDG_CACHE_HOME" "/tmp/xdg-cache")
+             #t)))))
+    (home-page "https://kate-editor.org/")
+    (synopsis "Multi-document, multi-view text editor")
+    (description "Kate is a powerful text editor that can open multiple files
+simultaneously.
+
+With a built-in terminal, syntax highlighting, and tabbed sidebar, it performs
+as a lightweight but capable development environment.  Kate's many tools,
+plugins, and scripts make it highly customizable.
+
+Kate's features include:
+@itemize
+@item Multiple saved sessions, each with numerous files
+@item Scriptable syntax highlighting, indentation, and code-folding
+@item Configurable templates and text snippets
+@item Symbol viewers for C, C++, and Python
+@item XML completion and validation
+@end itemize")
+    (license (list license:gpl2+ license:lgpl2.0))))
-- 
2.21.0