gnu: Add kmousetool.
[jackhill/guix/guix.git] / gnu / packages / kde-utils.scm
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 #:use-module (gnu packages xorg))
28
29 (define-public kate
30 (package
31 (name "kate")
32 (version "19.08.3")
33 (source
34 (origin
35 (method url-fetch)
36 (uri (string-append "mirror://kde/stable/applications/" version
37 "/src/kate-" version ".tar.xz"))
38 (sha256
39 (base32 "0wgcw10c4grkmsyp79ashwgpy59lgrinwdib4mjclpw2grp0g7xb"))))
40 (properties `((tags . ("Desktop" "KDE" "Utilities"))))
41 (build-system qt-build-system)
42 (native-inputs
43 `(("extra-cmake-modules" ,extra-cmake-modules)
44 ("kdoctools" ,kdoctools)))
45 (inputs
46 `(("kactivities" ,kactivities)
47 ("kconfig" ,kconfig)
48 ("kcrash" ,kcrash)
49 ("kdbusaddons" ,kdbusaddons)
50 ("kguiaddons" ,kguiaddons)
51 ("ki18n" ,ki18n)
52 ("kiconthemes" ,kiconthemes)
53 ("kitemmodels" ,kitemmodels)
54 ("threadweaver" ,threadweaver)
55 ("knewstuff" ,knewstuff)
56 ("kio" ,kio)
57 ("kjobwidgets" ,kjobwidgets)
58 ("kparts" ,kparts)
59 ("ktexteditor" ,ktexteditor)
60 ("kwallet" ,kwallet)
61 ("plasma-framework" ,plasma-framework)
62 ("kwindowsystem" ,kwindowsystem)
63 ("kxmlgui" ,kxmlgui)
64 ("oxygen-icons" ,oxygen-icons) ;; default icon set
65 ("qtbase" ,qtbase)
66 ("qtscript" ,qtscript)))
67 (arguments
68 `(#:tests? #f ;; 2/7 tests fail
69 #:phases
70 (modify-phases %standard-phases
71 (add-before 'check 'check-setup
72 (lambda _
73 ;; make Qt render "offscreen", required for tests
74 (setenv "QT_QPA_PLATFORM" "offscreen")
75 (setenv "XDG_CACHE_HOME" "/tmp/xdg-cache")
76 #t)))))
77 (home-page "https://kate-editor.org/")
78 (synopsis "Multi-document, multi-view text editor")
79 (description "Kate is a powerful text editor that can open multiple files
80 simultaneously.
81
82 With a built-in terminal, syntax highlighting, and tabbed sidebar, it performs
83 as a lightweight but capable development environment. Kate's many tools,
84 plugins, and scripts make it highly customizable.
85
86 Kate's features include:
87 @itemize
88 @item Multiple saved sessions, each with numerous files
89 @item Scriptable syntax highlighting, indentation, and code-folding
90 @item Configurable templates and text snippets
91 @item Symbol viewers for C, C++, and Python
92 @item XML completion and validation
93 @end itemize")
94 (license ;; GPL for programs, LGPL for libraries
95 (list license:gpl2+ license:lgpl2.0))))
96
97 (define-public kmag
98 (package
99 (name "kmag")
100 (version "19.08.3")
101 (source
102 (origin
103 (method url-fetch)
104 (uri (string-append "mirror://kde/stable/applications/" version
105 "/src/kmag-" version ".tar.xz"))
106 (sha256
107 (base32 "0l69mgnh2mmkxawwibqdx9n7myl6qqnr2fd3mpsg2bzpcfvmsvi1"))))
108 (properties `((tags . ("Desktop" "KDE" "Utilities"))))
109 (build-system qt-build-system)
110 (native-inputs
111 `(("extra-cmake-modules" ,extra-cmake-modules)
112 ("kdoctools" ,kdoctools)))
113 (inputs
114 `(("ki18n" ,ki18n)
115 ("kio" ,kio)
116 ("kxmlgui" ,kxmlgui)
117 ("oxygen-icons" ,oxygen-icons) ;; default icon set
118 ;; TODO: QAccessibilityClient - libqaccessibilityclien
119 ("qtbase" ,qtbase)))
120 (home-page "https://kde.org/applications/utilities/org.kde.kmag")
121 (synopsis "Screen magnifier tool")
122 (description "You can use KMagnifier to magnify a part of the screen just
123 as you would use a lens to magnify a newspaper fine-print or a photograph.
124 This application is useful for a variety of people: from researchers to
125 artists to web-designers to people with low vision.")
126 (license ;; GPL for programs, FDL for documentation
127 (list license:gpl2+ license:fdl1.2+))))
128
129 (define-public kmousetool
130 (package
131 (name "kmousetool")
132 (version "19.08.3")
133 (source
134 (origin
135 (method url-fetch)
136 (uri (string-append "mirror://kde/stable/applications/" version
137 "/src/kmousetool-" version ".tar.xz"))
138 (sha256
139 (base32 "169kk20mkm29nycg2vs1k5cs22gzchqs9hbfd661cy2l7n4d8d04"))))
140 (properties `((tags . ("Desktop" "KDE" "Utilities"))))
141 (build-system qt-build-system)
142 (native-inputs
143 `(("extra-cmake-modules" ,extra-cmake-modules)
144 ("kdoctools" ,kdoctools)))
145 (inputs
146 `(("kauth" ,kauth)
147 ("kcoreaddons" ,kcoreaddons)
148 ("kconfigwidgets", kconfigwidgets)
149 ("kdbusaddons" ,kdbusaddons)
150 ("ki18n" ,ki18n)
151 ("kiconthemes" ,kiconthemes)
152 ("knotifications" ,knotifications)
153 ("kxmlgui" ,kxmlgui)
154 ("kwindowsystem" ,kwindowsystem)
155 ("libxtst" ,libxtst)
156 ("libxt" ,libxt)
157 ("phonon" ,phonon)
158 ("oxygen-icons" ,oxygen-icons) ;; default icon set
159 ("qtbase" ,qtbase)))
160 (home-page "https://kde.org/applications/utilities/org.kde.kmousetool")
161 (synopsis "Automatic mouse click and mouse manipulation tool for the
162 disabled")
163 (description "KMouseTool clicks the mouse whenever the mouse cursor pauses
164 briefly. It was designed to help those with repetitive strain injuries, for
165 whom pressing buttons hurts.")
166 (license ;; GPL for programs, FDL for documentation
167 (list license:gpl2+ license:fdl1.2+))))