3c0eb097456262545a47d17f1bd773a4f91ddf75
[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 ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
4 ;;;
5 ;;; This file is part of GNU Guix.
6 ;;;
7 ;;; GNU Guix is free software; you can redistribute it and/or modify it
8 ;;; under the terms of the GNU General Public License as published by
9 ;;; the Free Software Foundation; either version 3 of the License, or (at
10 ;;; your option) any later version.
11 ;;;
12 ;;; GNU Guix is distributed in the hope that it will be useful, but
13 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ;;; GNU General Public License for more details.
16 ;;;
17 ;;; You should have received a copy of the GNU General Public License
18 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
20 (define-module (gnu packages kde-utils)
21 #:use-module (guix build-system qt)
22 #:use-module (guix download)
23 #:use-module ((guix licenses) #:prefix license:)
24 #:use-module (guix packages)
25 #:use-module (gnu packages compression)
26 #:use-module (gnu packages gnome)
27 #:use-module (gnu packages kde)
28 #:use-module (gnu packages kde-frameworks)
29 #:use-module (gnu packages kde-plasma)
30 #:use-module (gnu packages qt)
31 #:use-module (gnu packages samba)
32 #:use-module (gnu packages xorg))
33
34 (define-public kate
35 (package
36 (name "kate")
37 (version "20.04.1")
38 (source
39 (origin
40 (method url-fetch)
41 (uri (string-append "mirror://kde/stable/release-service/" version
42 "/src/kate-" version ".tar.xz"))
43 (sha256
44 (base32 "0nrby307syrqlxrf9lwdzc9c15ifw47418qwszqwg345ma2pww7i"))))
45 (build-system qt-build-system)
46 (native-inputs
47 `(("extra-cmake-modules" ,extra-cmake-modules)
48 ("kdoctools" ,kdoctools)))
49 (inputs
50 `(("kactivities" ,kactivities)
51 ("kconfig" ,kconfig)
52 ("kcrash" ,kcrash)
53 ("kdbusaddons" ,kdbusaddons)
54 ("kguiaddons" ,kguiaddons)
55 ("ki18n" ,ki18n)
56 ("kiconthemes" ,kiconthemes)
57 ("kitemmodels" ,kitemmodels)
58 ("threadweaver" ,threadweaver)
59 ("knewstuff" ,knewstuff)
60 ("kio" ,kio)
61 ("kjobwidgets" ,kjobwidgets)
62 ("kparts" ,kparts)
63 ("ktexteditor" ,ktexteditor)
64 ("kwallet" ,kwallet)
65 ("plasma-framework" ,plasma-framework)
66 ("kwindowsystem" ,kwindowsystem)
67 ("kxmlgui" ,kxmlgui)
68 ("oxygen-icons" ,oxygen-icons) ;; default icon set
69 ("qtbase" ,qtbase)
70 ("qtscript" ,qtscript)))
71 (arguments
72 `(#:tests? #f ;; 2/7 tests fail
73 #:phases
74 (modify-phases %standard-phases
75 (add-before 'check 'check-setup
76 (lambda _
77 ;; make Qt render "offscreen", required for tests
78 (setenv "QT_QPA_PLATFORM" "offscreen")
79 (setenv "XDG_CACHE_HOME" "/tmp/xdg-cache")
80 #t)))))
81 (home-page "https://kate-editor.org/")
82 (synopsis "Multi-document, multi-view text editor")
83 (description "Kate is a powerful text editor that can open multiple files
84 simultaneously.
85
86 With a built-in terminal, syntax highlighting, and tabbed sidebar, it performs
87 as a lightweight but capable development environment. Kate's many tools,
88 plugins, and scripts make it highly customizable.
89
90 Kate's features include:
91 @itemize
92 @item Multiple saved sessions, each with numerous files
93 @item Scriptable syntax highlighting, indentation, and code-folding
94 @item Configurable templates and text snippets
95 @item Symbol viewers for C, C++, and Python
96 @item XML completion and validation
97 @end itemize")
98 (license ;; GPL for programs, LGPL for libraries
99 (list license:gpl2+ license:lgpl2.0))))
100
101 (define-public kmag
102 (package
103 (name "kmag")
104 (version "20.04.1")
105 (source
106 (origin
107 (method url-fetch)
108 (uri (string-append "mirror://kde/stable/release-service/" version
109 "/src/kmag-" version ".tar.xz"))
110 (sha256
111 (base32 "18lk8i2r90gvw8q5j179xgpniih92mwk06krk7w4jv98yinqf6m5"))))
112 (build-system qt-build-system)
113 (native-inputs
114 `(("extra-cmake-modules" ,extra-cmake-modules)
115 ("kdoctools" ,kdoctools)))
116 (inputs
117 `(("ki18n" ,ki18n)
118 ("kio" ,kio)
119 ("kxmlgui" ,kxmlgui)
120 ("oxygen-icons" ,oxygen-icons) ;; default icon set
121 ;; TODO: QAccessibilityClient - libqaccessibilityclien
122 ("qtbase" ,qtbase)))
123 (home-page "https://kde.org/applications/utilities/org.kde.kmag")
124 (synopsis "Screen magnifier tool")
125 (description "You can use KMagnifier to magnify a part of the screen just
126 as you would use a lens to magnify a newspaper fine-print or a photograph.
127 This application is useful for a variety of people: from researchers to
128 artists to web-designers to people with low vision.")
129 (license ;; GPL for programs, FDL for documentation
130 (list license:gpl2+ license:fdl1.2+))))
131
132 (define-public kmousetool
133 (package
134 (name "kmousetool")
135 (version "20.04.1")
136 (source
137 (origin
138 (method url-fetch)
139 (uri (string-append "mirror://kde/stable/release-service/" version
140 "/src/kmousetool-" version ".tar.xz"))
141 (sha256
142 (base32 "01j6bx8zihns4ip8maj0gb3w3bhx1ha2ljhfmsm6lcyay531ay98"))))
143 (build-system qt-build-system)
144 (native-inputs
145 `(("extra-cmake-modules" ,extra-cmake-modules)
146 ("kdoctools" ,kdoctools)))
147 (inputs
148 `(("kauth" ,kauth)
149 ("kcoreaddons" ,kcoreaddons)
150 ("kconfigwidgets", kconfigwidgets)
151 ("kdbusaddons" ,kdbusaddons)
152 ("ki18n" ,ki18n)
153 ("kiconthemes" ,kiconthemes)
154 ("knotifications" ,knotifications)
155 ("kxmlgui" ,kxmlgui)
156 ("kwindowsystem" ,kwindowsystem)
157 ("libxtst" ,libxtst)
158 ("libxt" ,libxt)
159 ("phonon" ,phonon)
160 ("oxygen-icons" ,oxygen-icons) ;; default icon set
161 ("qtbase" ,qtbase)))
162 (home-page "https://kde.org/applications/utilities/org.kde.kmousetool")
163 (synopsis "Automatic mouse click and mouse manipulation tool for the
164 disabled")
165 (description "KMouseTool clicks the mouse whenever the mouse cursor pauses
166 briefly. It was designed to help those with repetitive strain injuries, for
167 whom pressing buttons hurts.")
168 (license ;; GPL for programs, FDL for documentation
169 (list license:gpl2+ license:fdl1.2+))))
170
171 (define-public kmouth
172 (package
173 (name "kmouth")
174 (version "20.04.1")
175 (source
176 (origin
177 (method url-fetch)
178 (uri (string-append "mirror://kde/stable/release-service/" version
179 "/src/kmouth-" version ".tar.xz"))
180 (sha256
181 (base32 "1afgxlys9mvmc3rd33g7gchfb0ylx83x3x0a0qf3dra6cpgsgcg7"))))
182 (build-system qt-build-system)
183 (native-inputs
184 `(("extra-cmake-modules" ,extra-cmake-modules)
185 ("kdoctools" ,kdoctools)))
186 (inputs
187 `(("kcompletion" ,kcompletion)
188 ("kconfig", kconfig)
189 ("kconfigwidgets", kconfigwidgets)
190 ("kcoreaddons" ,kcoreaddons)
191 ("kcrash" ,kcrash)
192 ("ki18n" ,ki18n)
193 ("kio" ,kio)
194 ("kwidgetsaddons" ,kwidgetsaddons)
195 ("kxmlgui" ,kxmlgui)
196 ("oxygen-icons" ,oxygen-icons) ;; default icon set
197 ("qtbase" ,qtbase)
198 ("qtspeech" ,qtspeech)))
199 (home-page "https://kde.org/applications/utilities/org.kde.kmouth")
200 (synopsis "Type-and-say frontend for speech synthesizers")
201 (description "KMouth is a program which enables persons that cannot speak
202 to let their computer speak, e.g. mutal people or people who have lost their
203 voice. It has a text input field and speaks the sentences that you enter. It
204 also has support for user defined phrasebooks.
205
206 It includes a history of spoken sentences from which the user can select
207 sentences to be re-spoken.")
208 (license ;; GPL for programs, FDL for documentation
209 (list license:gpl2+ license:fdl1.2+))))
210
211 (define-public kronometer
212 (package
213 (name "kronometer")
214 (version "2.2.3")
215 (source
216 (origin
217 (method url-fetch)
218 (uri (string-append "mirror://kde/stable/kronometer/" version
219 "/src/kronometer-" version ".tar.xz"))
220 (sha256
221 (base32 "05hs8729a3aqjpwmn2xdf2sriacrll4sj4ax3lm4s1ravj09n9bm"))))
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 (home-page "https://kde.org/applications/utilities/org.kde.kronometer")
238 (synopsis "Simple stopwatch application")
239 (description "Kronometer is a stopwatch application. It features the
240 basic stopwatch actions (pause, resume, reset, laps), as well as the ability
241 to save the times and resume them later.")
242 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
243 license:gpl2+)))
244
245 (define-public krusader
246 (package
247 (name "krusader")
248 (version "2.7.2")
249 (source
250 (origin
251 (method url-fetch)
252 (uri (string-append "mirror://kde/stable/krusader/" version
253 "/krusader-" version ".tar.xz"))
254 (sha256
255 (base32 "02b1jz5a7cjr13v6c7fczrhs1xmg1krnva5fxk8x2bf4nd1rm8s1"))))
256 (build-system qt-build-system)
257 (native-inputs
258 `(("extra-cmake-modules" ,extra-cmake-modules)
259 ("kdoctools" ,kdoctools)))
260 (inputs
261 `(("karchive" ,karchive)
262 ("kbookmarks" ,kbookmarks)
263 ("kcodecs" ,kcodecs)
264 ("kcompletion" ,kcompletion)
265 ("kconfig" ,kconfig)
266 ("kcoreaddons" ,kcoreaddons)
267 ("kguiaddons" ,kguiaddons)
268 ("ki18n" ,ki18n)
269 ("kiconthemes" ,kiconthemes)
270 ("kio" ,kio)
271 ("kitemviews" ,kitemviews)
272 ("knotifications" ,knotifications)
273 ("kparts" ,kparts)
274 ("ktextwidgets" ,ktextwidgets)
275 ("kwallet" ,kwallet)
276 ("kwidgetsaddons" ,kwidgetsaddons)
277 ("kwindowsystem" ,kwindowsystem)
278 ("kxmlgui" ,kxmlgui)
279 ("oxygen-icons" ,oxygen-icons) ;; default icon set
280 ("qtbase" ,qtbase)
281 ("solid" ,solid)
282 ("zlib" ,zlib)))
283 (home-page "https://www.krusader.org")
284 (synopsis "Twin-panel (commander-style) file manager")
285 (description "Krusader is a simple, easy, yet powerful,
286 twin-panel (commander-style) file manager, similar to Midnight Commander or
287 Total Commander
288
289 It provides all the file management features you could possibly want. Plus:
290 extensive archive handling, mounted filesystem support, FTP, advanced search
291 module, an internal viewer/editor, directory synchronisation, file content
292 comparisons, powerful batch renaming and much much more. It supports a wide
293 variety of archive formats and can handle other KIO slaves such as smb or
294 fish.
295
296 Almost completely customizable, Krusader is very user friendly, fast and looks
297 great on your desktop.")
298 (license license:gpl2+)))
299
300 (define-public okteta
301 (package
302 (name "okteta")
303 (version "17.12.3")
304 (source
305 (origin
306 (method url-fetch)
307 ;; TODO: Why is this not in "stable" anymore
308 (uri (string-append "mirror://kde/Attic/applications/" version
309 "/src/okteta-" version ".tar.xz"))
310 (sha256
311 (base32 "03wsv83l1cay2dpcsksad124wzan7kh8zxdw1h0yicn398kdbck4"))))
312 (build-system qt-build-system)
313 (native-inputs
314 `(("extra-cmake-modules" ,extra-cmake-modules)
315 ("kdoctools" ,kdoctools)
316 ("qttools" ,qttools)
317 ("shared-mime-info" ,shared-mime-info)))
318 (inputs
319 `(("kbookmarks" ,kbookmarks)
320 ("kcmutils" ,kcmutils)
321 ("kcodecs" ,kcodecs)
322 ("kcrash" ,kcrash)
323 ("kcompletion" ,kcompletion)
324 ("kconfigwidgets" ,kconfigwidgets)
325 ("kdbusaddons" ,kdbusaddons)
326 ("ki18n" ,ki18n)
327 ("kiconthemes" ,kiconthemes)
328 ("kio" ,kio)
329 ("knewstuff" ,knewstuff)
330 ("kparts" ,kparts)
331 ("kservice" ,kservice)
332 ("kwidgetsaddons" ,kwidgetsaddons)
333 ("kxmlgui" ,kxmlgui)
334 ("oxygen-icons" ,oxygen-icons) ;; default icon set
335 ("qca" ,qca)
336 ("qtbase" ,qtbase)
337 ("qtscript" ,qtscript)))
338 (arguments
339 `(#:phases
340 (modify-phases %standard-phases
341 (add-before 'check 'check-setup
342 (lambda _
343 ;; make Qt render "offscreen", required for tests
344 (setenv "QT_QPA_PLATFORM" "offscreen")
345 (setenv "HOME" "/tmp/dummy-home")
346 #t)))))
347 (home-page "https://kde.org/applications/utilities/org.kde.okteta")
348 (synopsis "Hexadecimal editor for binary files")
349 (description "Okteta is a simple editor for the raw data of files. This
350 type of program is also called hex editor or binary editor.
351
352 The data is displayed in the traditional view with two columns: one with the
353 numeric values and one with the assigned characters. Editing can be done both
354 in the value column and the character column. Besides the usual editing
355 capabilities Okteta also brings a small set of tools, like a table listing
356 decodings into common simple data types, a table listing all possible bytes
357 with its character and value equivalents, a info view with a statistic and a
358 filter tool. All modifications to the data loaded can be endlessly undone or
359 redone.")
360 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
361 (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
362
363 (define-public rsibreak
364 (package
365 (name "rsibreak")
366 (version "0.12.11")
367 (source
368 (origin
369 (method url-fetch)
370 (uri (string-append "mirror://kde//stable/rsibreak/0.12/"
371 "rsibreak-" version ".tar.xz"))
372 (sha256
373 (base32 "09axg6gbmpnxsk88mdjbxxvfaj5af7xaf1gmnr17b0506zcfgwhv"))))
374 (build-system qt-build-system)
375 (native-inputs
376 `(("extra-cmake-modules" ,extra-cmake-modules)
377 ("kdoctools" ,kdoctools)))
378 (inputs
379 `(("kauth" ,kauth)
380 ("kconfig" ,kconfig)
381 ("kconfigwidgets" ,kconfigwidgets)
382 ("kcoreaddons" ,kcoreaddons)
383 ("kcrash" ,kcrash)
384 ("kdbusaddons" ,kdbusaddons)
385 ("ki18n" ,ki18n)
386 ("kiconthemes" ,kiconthemes)
387 ("kidletime" ,kidletime)
388 ("knotifications" ,knotifications)
389 ("knotifyconfig" ,knotifyconfig)
390 ("ktextwidgets" ,ktextwidgets)
391 ("kwindowsystem" ,kwindowsystem)
392 ("kxmlgui" ,kxmlgui)
393 ("oxygen-icons" ,oxygen-icons) ;; default icon set
394 ("qtbase" ,qtbase)))
395 (home-page "https://kde.org/applications/utilities/org.kde.rsibreak")
396 (synopsis "Assists in the Recovery and Prevention of Repetitive Strain
397 Injury")
398 (description "Repetitive Strain Injury is an illness which can occur as a
399 result of working with a mouse and keyboard. This utility can be used to
400 remind you to take a break now and then.")
401 (license ;; GPL for programs, FDL for documentation
402 (list license:gpl2+ license:fdl1.2+))))
403
404 (define-public smb4k
405 (package
406 (name "smb4k")
407 (version "3.0.6")
408 (source
409 (origin
410 (method url-fetch)
411 (uri (string-append "https://sourceforge.net/projects/smb4k/files/"
412 version "/smb4k-" version ".tar.xz/download"))
413 (sha256
414 (base32 "0hz6nfd845bykf78s4g2qs77szl96gy6g8rpg44pqd39a0k0xbh7"))))
415 (build-system qt-build-system)
416 (native-inputs
417 `(("extra-cmake-modules" ,extra-cmake-modules)
418 ("kdoctools" ,kdoctools)))
419 (inputs
420 `(("kauth" ,kauth)
421 ("kconfig" ,kconfig)
422 ("kconfigwidgets" ,kconfigwidgets)
423 ("kcompletion" ,kcompletion)
424 ("kcoreaddons" ,kcoreaddons)
425 ("kcrash" ,kcrash)
426 ("kdbusaddons" ,kdbusaddons)
427 ("ki18n" ,ki18n)
428 ("kiconthemes" ,kiconthemes)
429 ("kio" ,kio)
430 ("kjobwidgets" ,kjobwidgets)
431 ("knotifications" ,knotifications)
432 ("knotifyconfig" ,knotifyconfig)
433 ("ktextwidgets" ,ktextwidgets)
434 ("kwallet" ,kwallet)
435 ("kwidgetsaddons" ,kwidgetsaddons)
436 ("kwindowsystem" ,kwindowsystem)
437 ("kxmlgui" ,kxmlgui)
438 ("libsmbclient" ,samba)
439 ("oxygen-icons" ,oxygen-icons) ;; default icon set
440 ("plasma-framework" ,plasma-framework)
441 ("qtbase" ,qtbase)
442 ("qtdeclarative" ,qtdeclarative)
443 ("solid" ,solid)))
444 (home-page "https://kde.org/applications/utilities/org.kde.smb4k")
445 (synopsis "Samba (SMB) share advanced browser")
446 (description "Smb4K is an network neighborhood browser for the KDE
447 Software Compilation and a frontend to the programs of the Samba software
448 suite.
449
450 Features:
451 @itemize
452 @item Scanning for (active) workgroups, hosts, and shares
453 @item Support of the CIFS (Linux) and SMBFS (FreeBSD) file system
454 @item Mounting and unmounting of shares (using the KAuth framework)
455 @item Access to the files of a mounted share using a file manager or terminal
456 @item Auto-detection of external mounts and unmounts
457 @item Remounting of previously used shares on program start
458 @item Miscellaneous infos about remote network items and mounted shares
459 @item Network search
460 @item WINS server support
461 @item Preview of the contents of a share
462 @item Several methods to look up the initial list of workgroups and domains
463 @item Default login
464 @item Special handling of homes shares
465 @item Ability to bookmark favorite shares and organize them in groups
466 @item System tray widget
467 @item Support of advanced Samba options
468 @item Support of printer shares
469 @item KWallet support
470 @item Synchronization of a remote share with a local copy and vice versa
471 @item Ability to define custom options for individual servers and shares
472 @item Laptop support through the Solid hardware device framework
473 @end itemize")
474 (license license:gpl2+)))
475
476 (define-public sweeper
477 (package
478 (name "sweeper")
479 (version "20.04.1")
480 (source
481 (origin
482 (method url-fetch)
483 (uri (string-append "mirror://kde/stable/release-service/" version
484 "/src/sweeper-" version ".tar.xz"))
485 (sha256
486 (base32 "1az3c2khnh51bbmqpamj4p26d3a0ff4l5rd3vcrylg94mk7wgh59"))))
487 (build-system qt-build-system)
488 (native-inputs
489 `(("extra-cmake-modules" ,extra-cmake-modules)
490 ("kdoctools" ,kdoctools)))
491 (inputs
492 `(("kactivities-stats" ,kactivities-stats)
493 ("kbookmarks" ,kbookmarks)
494 ("kcrash" ,kcrash)
495 ("kconfig" ,kconfig)
496 ("kconfigwidgets" ,kconfigwidgets)
497 ("kcoreaddons" ,kcoreaddons)
498 ("ki18n" ,ki18n)
499 ("kio" ,kio)
500 ("ktextwidgets" ,ktextwidgets)
501 ("kxmlgui" ,kxmlgui)
502 ("oxygen-icons" ,oxygen-icons) ;; default icon set
503 ("qtbase" ,qtbase)))
504 (home-page "https://kde.org/applications/utilities/org.kde.sweeper")
505 (synopsis "Temporary file and history cleaner")
506 (description "
507 Sweeper helps to clean unwanted traces the user leaves on the system and to
508 regain disk space removing unused temporary files.
509 It can quickly remove temporary information, such as web page cookies,
510 browser history, or the list of recently-opened documents. It helps provide
511 additional privacy on a system shared between multiple users.")
512 (license license:lgpl2.0+ )))