gnu: Add kronometer.
[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+))))
168
169 (define-public kmouth
170 (package
171 (name "kmouth")
172 (version "19.08.3")
173 (source
174 (origin
175 (method url-fetch)
176 (uri (string-append "mirror://kde/stable/applications/" version
177 "/src/kmouth-" version ".tar.xz"))
178 (sha256
179 (base32 "1agjxf1jfi967hj1iz788n6cna6fr7qg80zsx6s119hg7b0xwqmr"))))
180 (properties `((tags . ("Desktop" "KDE" "Utilities"))))
181 (build-system qt-build-system)
182 (native-inputs
183 `(("extra-cmake-modules" ,extra-cmake-modules)
184 ("kdoctools" ,kdoctools)))
185 (inputs
186 `(("kcompletion" ,kcompletion)
187 ("kconfig", kconfig)
188 ("kconfigwidgets", kconfigwidgets)
189 ("kcoreaddons" ,kcoreaddons)
190 ("kcrash" ,kcrash)
191 ("ki18n" ,ki18n)
192 ("kio" ,kio)
193 ("kwidgetsaddons" ,kwidgetsaddons)
194 ("kxmlgui" ,kxmlgui)
195 ("oxygen-icons" ,oxygen-icons) ;; default icon set
196 ("qtbase" ,qtbase)
197 ("qtspeech" ,qtspeech)))
198 (home-page "https://kde.org/applications/utilities/org.kde.kmouth")
199 (synopsis "Type-and-say frontend for speech synthesizers")
200 (description "KMouth is a program which enables persons that cannot speak
201 to let their computer speak, e.g. mutal people or people who have lost their
202 voice. It has a text input field and speaks the sentences that you enter. It
203 also has support for user defined phrasebooks.
204
205 It includes a history of spoken sentences from which the user can select
206 sentences to be re-spoken.")
207 (license ;; GPL for programs, FDL for documentation
208 (list license:gpl2+ license:fdl1.2+))))
209
210 (define-public kronometer
211 (package
212 (name "kronometer")
213 (version "2.2.3")
214 (source
215 (origin
216 (method url-fetch)
217 (uri (string-append "mirror://kde/stable/kronometer/" version
218 "/src/kronometer-" version ".tar.xz"))
219 (sha256
220 (base32 "05hs8729a3aqjpwmn2xdf2sriacrll4sj4ax3lm4s1ravj09n9bm"))))
221 (properties `((tags . ("Desktop" "KDE" "Utilities"))))
222 (build-system qt-build-system)
223 (native-inputs
224 `(("extra-cmake-modules" ,extra-cmake-modules)
225 ("kdoctools" ,kdoctools)))
226 (inputs
227 `(("kauth" ,kauth)
228 ("kconfig" ,kconfig)
229 ("kconfigwidgets", kconfigwidgets)
230 ("kcoreaddons" ,kcoreaddons)
231 ("kcrash" ,kcrash)
232 ("ki18n" ,ki18n)
233 ("kwidgetsaddons" ,kwidgetsaddons)
234 ("kxmlgui" ,kxmlgui)
235 ("oxygen-icons" ,oxygen-icons) ;; default icon set
236 ("qtbase" ,qtbase)))
237 (arguments
238 `(#:phases
239 (modify-phases %standard-phases
240 (add-before 'check 'check-setup
241 (lambda _
242 ;; make Qt render "offscreen", required for tests
243 (setenv "QT_QPA_PLATFORM" "offscreen")
244 #t)))))
245 (home-page "https://kde.org/applications/utilities/org.kde.kronometer")
246 (synopsis "Simple stopwatch application")
247 (description "Kronometer is a stopwatch application. It features the
248 basic stopwatch actions (pause, resume, reset, laps), as well as the ability
249 to save the times and resume them later.")
250 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
251 license:gpl2+)))