gnu: Add kate.
[jackhill/guix/guix.git] / gnu / packages / kde-utils.scm
CommitLineData
ce288d36
HG
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19(define-module (gnu packages kde-utils)
20 #:use-module (guix build-system qt)
21 #:use-module (guix download)
22 #:use-module ((guix licenses) #:prefix license:)
23 #:use-module (guix packages)
24 #:use-module (gnu packages kde-frameworks)
25 #:use-module (gnu packages kde-plasma)
26 #:use-module (gnu packages qt))
27
28(define-public kate
29 (package
30 (name "kate")
31 (version "19.08.3")
32 (source
33 (origin
34 (method url-fetch)
35 (uri (string-append "mirror://kde/stable/applications/" version
36 "/src/kate-" version ".tar.xz"))
37 (sha256
38 (base32 "0wgcw10c4grkmsyp79ashwgpy59lgrinwdib4mjclpw2grp0g7xb"))))
39 (properties `((tags . ("Desktop" "KDE" "Utilities"))))
40 (build-system qt-build-system)
41 (native-inputs
42 `(("extra-cmake-modules" ,extra-cmake-modules)
43 ("kdoctools" ,kdoctools)))
44 (inputs
45 `(("kactivities" ,kactivities)
46 ("kconfig" ,kconfig)
47 ("kcrash" ,kcrash)
48 ("kdbusaddons" ,kdbusaddons)
49 ("kguiaddons" ,kguiaddons)
50 ("ki18n" ,ki18n)
51 ("kiconthemes" ,kiconthemes)
52 ("kitemmodels" ,kitemmodels)
53 ("threadweaver" ,threadweaver)
54 ("knewstuff" ,knewstuff)
55 ("kio" ,kio)
56 ("kjobwidgets" ,kjobwidgets)
57 ("kparts" ,kparts)
58 ("ktexteditor" ,ktexteditor)
59 ("kwallet" ,kwallet)
60 ("plasma-framework" ,plasma-framework)
61 ("kwindowsystem" ,kwindowsystem)
62 ("kxmlgui" ,kxmlgui)
63 ("oxygen-icons" ,oxygen-icons) ;; default icon set
64 ("qtbase" ,qtbase)
65 ("qtscript" ,qtscript)))
66 (arguments
67 `(#:tests? #f ;; 2/7 tests fail
68 #:phases
69 (modify-phases %standard-phases
70 (add-before 'check 'check-setup
71 (lambda _
72 ;; make Qt render "offscreen", required for tests
73 (setenv "QT_QPA_PLATFORM" "offscreen")
74 (setenv "XDG_CACHE_HOME" "/tmp/xdg-cache")
75 #t)))))
76 (home-page "https://kate-editor.org/")
77 (synopsis "Multi-document, multi-view text editor")
78 (description "Kate is a powerful text editor that can open multiple files
79simultaneously.
80
81With a built-in terminal, syntax highlighting, and tabbed sidebar, it performs
82as a lightweight but capable development environment. Kate's many tools,
83plugins, and scripts make it highly customizable.
84
85Kate's features include:
86@itemize
87@item Multiple saved sessions, each with numerous files
88@item Scriptable syntax highlighting, indentation, and code-folding
89@item Configurable templates and text snippets
90@item Symbol viewers for C, C++, and Python
91@item XML completion and validation
92@end itemize")
93 (license ;; GPL for programs, LGPL for libraries
94 (list license:gpl2+ license:lgpl2.0))))