gnu: Add smb4k.
[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)
bdda1a25 24 #:use-module (gnu packages compression)
684657bc
HG
25 #:use-module (gnu packages gnome)
26 #:use-module (gnu packages kde)
ce288d36
HG
27 #:use-module (gnu packages kde-frameworks)
28 #:use-module (gnu packages kde-plasma)
fc1ca667 29 #:use-module (gnu packages qt)
f2353f56 30 #:use-module (gnu packages samba)
fc1ca667 31 #:use-module (gnu packages xorg))
ce288d36
HG
32
33(define-public kate
34 (package
35 (name "kate")
36 (version "19.08.3")
37 (source
38 (origin
39 (method url-fetch)
40 (uri (string-append "mirror://kde/stable/applications/" version
41 "/src/kate-" version ".tar.xz"))
42 (sha256
43 (base32 "0wgcw10c4grkmsyp79ashwgpy59lgrinwdib4mjclpw2grp0g7xb"))))
44 (properties `((tags . ("Desktop" "KDE" "Utilities"))))
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
84simultaneously.
85
86With a built-in terminal, syntax highlighting, and tabbed sidebar, it performs
87as a lightweight but capable development environment. Kate's many tools,
88plugins, and scripts make it highly customizable.
89
90Kate'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))))
f6747576
HG
100
101(define-public kmag
102 (package
103 (name "kmag")
104 (version "19.08.3")
105 (source
106 (origin
107 (method url-fetch)
108 (uri (string-append "mirror://kde/stable/applications/" version
109 "/src/kmag-" version ".tar.xz"))
110 (sha256
111 (base32 "0l69mgnh2mmkxawwibqdx9n7myl6qqnr2fd3mpsg2bzpcfvmsvi1"))))
112 (properties `((tags . ("Desktop" "KDE" "Utilities"))))
113 (build-system qt-build-system)
114 (native-inputs
115 `(("extra-cmake-modules" ,extra-cmake-modules)
116 ("kdoctools" ,kdoctools)))
117 (inputs
118 `(("ki18n" ,ki18n)
119 ("kio" ,kio)
120 ("kxmlgui" ,kxmlgui)
121 ("oxygen-icons" ,oxygen-icons) ;; default icon set
122 ;; TODO: QAccessibilityClient - libqaccessibilityclien
123 ("qtbase" ,qtbase)))
124 (home-page "https://kde.org/applications/utilities/org.kde.kmag")
125 (synopsis "Screen magnifier tool")
126 (description "You can use KMagnifier to magnify a part of the screen just
127as you would use a lens to magnify a newspaper fine-print or a photograph.
128This application is useful for a variety of people: from researchers to
129artists to web-designers to people with low vision.")
130 (license ;; GPL for programs, FDL for documentation
131 (list license:gpl2+ license:fdl1.2+))))
fc1ca667
HG
132
133(define-public kmousetool
134 (package
135 (name "kmousetool")
136 (version "19.08.3")
137 (source
138 (origin
139 (method url-fetch)
140 (uri (string-append "mirror://kde/stable/applications/" version
141 "/src/kmousetool-" version ".tar.xz"))
142 (sha256
143 (base32 "169kk20mkm29nycg2vs1k5cs22gzchqs9hbfd661cy2l7n4d8d04"))))
144 (properties `((tags . ("Desktop" "KDE" "Utilities"))))
145 (build-system qt-build-system)
146 (native-inputs
147 `(("extra-cmake-modules" ,extra-cmake-modules)
148 ("kdoctools" ,kdoctools)))
149 (inputs
150 `(("kauth" ,kauth)
151 ("kcoreaddons" ,kcoreaddons)
152 ("kconfigwidgets", kconfigwidgets)
153 ("kdbusaddons" ,kdbusaddons)
154 ("ki18n" ,ki18n)
155 ("kiconthemes" ,kiconthemes)
156 ("knotifications" ,knotifications)
157 ("kxmlgui" ,kxmlgui)
158 ("kwindowsystem" ,kwindowsystem)
159 ("libxtst" ,libxtst)
160 ("libxt" ,libxt)
161 ("phonon" ,phonon)
162 ("oxygen-icons" ,oxygen-icons) ;; default icon set
163 ("qtbase" ,qtbase)))
164 (home-page "https://kde.org/applications/utilities/org.kde.kmousetool")
165 (synopsis "Automatic mouse click and mouse manipulation tool for the
166disabled")
167 (description "KMouseTool clicks the mouse whenever the mouse cursor pauses
168briefly. It was designed to help those with repetitive strain injuries, for
169whom pressing buttons hurts.")
170 (license ;; GPL for programs, FDL for documentation
171 (list license:gpl2+ license:fdl1.2+))))
6a4bfeb3
HG
172
173(define-public kmouth
174 (package
175 (name "kmouth")
176 (version "19.08.3")
177 (source
178 (origin
179 (method url-fetch)
180 (uri (string-append "mirror://kde/stable/applications/" version
181 "/src/kmouth-" version ".tar.xz"))
182 (sha256
183 (base32 "1agjxf1jfi967hj1iz788n6cna6fr7qg80zsx6s119hg7b0xwqmr"))))
184 (properties `((tags . ("Desktop" "KDE" "Utilities"))))
185 (build-system qt-build-system)
186 (native-inputs
187 `(("extra-cmake-modules" ,extra-cmake-modules)
188 ("kdoctools" ,kdoctools)))
189 (inputs
190 `(("kcompletion" ,kcompletion)
191 ("kconfig", kconfig)
192 ("kconfigwidgets", kconfigwidgets)
193 ("kcoreaddons" ,kcoreaddons)
194 ("kcrash" ,kcrash)
195 ("ki18n" ,ki18n)
196 ("kio" ,kio)
197 ("kwidgetsaddons" ,kwidgetsaddons)
198 ("kxmlgui" ,kxmlgui)
199 ("oxygen-icons" ,oxygen-icons) ;; default icon set
200 ("qtbase" ,qtbase)
201 ("qtspeech" ,qtspeech)))
202 (home-page "https://kde.org/applications/utilities/org.kde.kmouth")
203 (synopsis "Type-and-say frontend for speech synthesizers")
204 (description "KMouth is a program which enables persons that cannot speak
205to let their computer speak, e.g. mutal people or people who have lost their
206voice. It has a text input field and speaks the sentences that you enter. It
207also has support for user defined phrasebooks.
208
209It includes a history of spoken sentences from which the user can select
210sentences to be re-spoken.")
211 (license ;; GPL for programs, FDL for documentation
212 (list license:gpl2+ license:fdl1.2+))))
60855283
HG
213
214(define-public kronometer
215 (package
216 (name "kronometer")
217 (version "2.2.3")
218 (source
219 (origin
220 (method url-fetch)
221 (uri (string-append "mirror://kde/stable/kronometer/" version
222 "/src/kronometer-" version ".tar.xz"))
223 (sha256
224 (base32 "05hs8729a3aqjpwmn2xdf2sriacrll4sj4ax3lm4s1ravj09n9bm"))))
225 (properties `((tags . ("Desktop" "KDE" "Utilities"))))
226 (build-system qt-build-system)
227 (native-inputs
228 `(("extra-cmake-modules" ,extra-cmake-modules)
229 ("kdoctools" ,kdoctools)))
230 (inputs
231 `(("kauth" ,kauth)
232 ("kconfig" ,kconfig)
233 ("kconfigwidgets", kconfigwidgets)
234 ("kcoreaddons" ,kcoreaddons)
235 ("kcrash" ,kcrash)
236 ("ki18n" ,ki18n)
237 ("kwidgetsaddons" ,kwidgetsaddons)
238 ("kxmlgui" ,kxmlgui)
239 ("oxygen-icons" ,oxygen-icons) ;; default icon set
240 ("qtbase" ,qtbase)))
241 (arguments
242 `(#:phases
243 (modify-phases %standard-phases
244 (add-before 'check 'check-setup
245 (lambda _
246 ;; make Qt render "offscreen", required for tests
247 (setenv "QT_QPA_PLATFORM" "offscreen")
248 #t)))))
249 (home-page "https://kde.org/applications/utilities/org.kde.kronometer")
250 (synopsis "Simple stopwatch application")
251 (description "Kronometer is a stopwatch application. It features the
252basic stopwatch actions (pause, resume, reset, laps), as well as the ability
253to save the times and resume them later.")
254 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
255 license:gpl2+)))
bdda1a25
HG
256
257(define-public krusader
258 (package
259 (name "krusader")
260 (version "2.7.2")
261 (source
262 (origin
263 (method url-fetch)
264 (uri (string-append "mirror://kde/stable/krusader/" version
265 "/krusader-" version ".tar.xz"))
266 (sha256
267 (base32 "02b1jz5a7cjr13v6c7fczrhs1xmg1krnva5fxk8x2bf4nd1rm8s1"))))
268 (properties `((tags . ("Desktop" "KDE" "Utilities"))))
269 (build-system qt-build-system)
270 (native-inputs
271 `(("extra-cmake-modules" ,extra-cmake-modules)
272 ("kdoctools" ,kdoctools)))
273 (inputs
274 `(("karchive" ,karchive)
275 ("kbookmarks" ,kbookmarks)
276 ("kcodecs" ,kcodecs)
277 ("kcompletion" ,kcompletion)
278 ("kconfig" ,kconfig)
279 ("kcoreaddons" ,kcoreaddons)
280 ("kguiaddons" ,kguiaddons)
281 ("ki18n" ,ki18n)
282 ("kiconthemes" ,kiconthemes)
283 ("kio" ,kio)
284 ("kitemviews" ,kitemviews)
285 ("knotifications" ,knotifications)
286 ("kparts" ,kparts)
287 ("ktextwidgets" ,ktextwidgets)
288 ("kwallet" ,kwallet)
289 ("kwidgetsaddons" ,kwidgetsaddons)
290 ("kwindowsystem" ,kwindowsystem)
291 ("kxmlgui" ,kxmlgui)
292 ("oxygen-icons" ,oxygen-icons) ;; default icon set
293 ("qtbase" ,qtbase)
294 ("solid" ,solid)
295 ("zlib" ,zlib)))
296 (home-page "https://www.krusader.org")
297 (synopsis "Twin-panel (commander-style) file manager")
298 (description "Krusader is a simple, easy, yet powerful,
299twin-panel (commander-style) file manager, similar to Midnight Commander or
300Total Commander
301
302It provides all the file management features you could possibly want. Plus:
303extensive archive handling, mounted filesystem support, FTP, advanced search
304module, an internal viewer/editor, directory synchronisation, file content
305comparisons, powerful batch renaming and much much more. It supports a wide
306variety of archive formats and can handle other KIO slaves such as smb or
307fish.
308
309Almost completely customizable, Krusader is very user friendly, fast and looks
310great on your desktop.")
311 (license license:gpl2+)))
684657bc
HG
312
313(define-public okteta
314 (package
315 (name "okteta")
316 (version "17.12.3")
317 (source
318 (origin
319 (method url-fetch)
320 ;; TODO: Why is this not in "stable" anymore
321 (uri (string-append "mirror://kde/Attic/applications/" version
322 "/src/okteta-" version ".tar.xz"))
323 (sha256
324 (base32 "03wsv83l1cay2dpcsksad124wzan7kh8zxdw1h0yicn398kdbck4"))))
325 (properties `((tags . ("Desktop" "KDE" "Utilities"))))
326 (build-system qt-build-system)
327 (native-inputs
328 `(("extra-cmake-modules" ,extra-cmake-modules)
329 ("kdoctools" ,kdoctools)
330 ("qttools" ,qttools)
331 ("shared-mime-info" ,shared-mime-info)))
332 (inputs
333 `(("kbookmarks" ,kbookmarks)
334 ("kcmutils" ,kcmutils)
335 ("kcodecs" ,kcodecs)
336 ("kcrash" ,kcrash)
337 ("kcompletion" ,kcompletion)
338 ("kconfigwidgets" ,kconfigwidgets)
339 ("kdbusaddons" ,kdbusaddons)
340 ("ki18n" ,ki18n)
341 ("kiconthemes" ,kiconthemes)
342 ("kio" ,kio)
343 ("knewstuff" ,knewstuff)
344 ("kparts" ,kparts)
345 ("kservice" ,kservice)
346 ("kwidgetsaddons" ,kwidgetsaddons)
347 ("kxmlgui" ,kxmlgui)
348 ("oxygen-icons" ,oxygen-icons) ;; default icon set
349 ("qca" ,qca)
350 ("qtbase" ,qtbase)
351 ("qtscript" ,qtscript)))
352 (arguments
353 `(#:phases
354 (modify-phases %standard-phases
355 (add-before 'check 'check-setup
356 (lambda _
357 ;; make Qt render "offscreen", required for tests
358 (setenv "QT_QPA_PLATFORM" "offscreen")
359 (setenv "HOME" "/tmp/dummy-home")
360 #t)))))
361 (home-page "https://kde.org/applications/utilities/org.kde.okteta")
362 (synopsis "Hexadecimal editor for binary files")
363 (description "Okteta is a simple editor for the raw data of files. This
364type of program is also called hex editor or binary editor.
365
366The data is displayed in the traditional view with two columns: one with the
367numeric values and one with the assigned characters. Editing can be done both
368in the value column and the character column. Besides the usual editing
369capabilities Okteta also brings a small set of tools, like a table listing
370decodings into common simple data types, a table listing all possible bytes
371with its character and value equivalents, a info view with a statistic and a
372filter tool. All modifications to the data loaded can be endlessly undone or
373redone.")
374 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
375 (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
87f1b532
HG
376
377(define-public rsibreak
378 (package
379 (name "rsibreak")
380 (version "0.12.11")
381 (source
382 (origin
383 (method url-fetch)
384 (uri (string-append "mirror://kde//stable/rsibreak/0.12/"
385 "rsibreak-" version ".tar.xz"))
386 (sha256
387 (base32 "09axg6gbmpnxsk88mdjbxxvfaj5af7xaf1gmnr17b0506zcfgwhv"))))
388 (properties `((tags . ("Desktop" "KDE" "Utilities"))))
389 (build-system qt-build-system)
390 (native-inputs
391 `(("extra-cmake-modules" ,extra-cmake-modules)
392 ("kdoctools" ,kdoctools)))
393 (inputs
394 `(("kauth" ,kauth)
395 ("kconfig" ,kconfig)
396 ("kconfigwidgets" ,kconfigwidgets)
397 ("kcoreaddons" ,kcoreaddons)
398 ("kcrash" ,kcrash)
399 ("kdbusaddons" ,kdbusaddons)
400 ("ki18n" ,ki18n)
401 ("kiconthemes" ,kiconthemes)
402 ("kidletime" ,kidletime)
403 ("knotifications" ,knotifications)
404 ("knotifyconfig" ,knotifyconfig)
405 ("ktextwidgets" ,ktextwidgets)
406 ("kwindowsystem" ,kwindowsystem)
407 ("kxmlgui" ,kxmlgui)
408 ("oxygen-icons" ,oxygen-icons) ;; default icon set
409 ("qtbase" ,qtbase)))
410 (arguments
411 `(#:phases
412 (modify-phases %standard-phases
413 (add-before 'check 'check-setup
414 (lambda _
415 ;; make Qt render "offscreen", required for tests
416 (setenv "QT_QPA_PLATFORM" "offscreen")
417 #t)))))
418 (home-page "https://kde.org/applications/utilities/org.kde.rsibreak")
419 (synopsis "Assists in the Recovery and Prevention of Repetitive Strain
420Injury")
421 (description "Repetitive Strain Injury is an illness which can occur as a
422result of working with a mouse and keyboard. This utility can be used to
423remind you to take a break now and then.")
424 (license ;; GPL for programs, FDL for documentation
425 (list license:gpl2+ license:fdl1.2+))))
f2353f56
HG
426
427(define-public smb4k
428 (package
429 (name "smb4k")
430 (version "3.0.2")
431 (source
432 (origin
433 (method url-fetch)
434 (uri (string-append "https://sourceforge.net/projects/smb4k/files/"
435 version "/smb4k-" version ".tar.xz/download"))
436 (sha256
437 (base32 "1daajaj8qhxkzz8dsaracwi49z4i57466h6qnqnh2ir2l54q00ir"))))
438 (properties `((tags . ("Desktop" "KDE" "Utilities"))))
439 (build-system qt-build-system)
440 (native-inputs
441 `(("extra-cmake-modules" ,extra-cmake-modules)
442 ("kdoctools" ,kdoctools)))
443 (inputs
444 `(("kauth" ,kauth)
445 ("kconfig" ,kconfig)
446 ("kconfigwidgets" ,kconfigwidgets)
447 ("kcompletion" ,kcompletion)
448 ("kcoreaddons" ,kcoreaddons)
449 ("kcrash" ,kcrash)
450 ("kdbusaddons" ,kdbusaddons)
451 ("ki18n" ,ki18n)
452 ("kiconthemes" ,kiconthemes)
453 ("kio" ,kio)
454 ("kjobwidgets" ,kjobwidgets)
455 ("knotifications" ,knotifications)
456 ("knotifyconfig" ,knotifyconfig)
457 ("ktextwidgets" ,ktextwidgets)
458 ("kwallet" ,kwallet)
459 ("kwidgetsaddons" ,kwidgetsaddons)
460 ("kwindowsystem" ,kwindowsystem)
461 ("kxmlgui" ,kxmlgui)
462 ("libsmbclient" ,samba)
463 ("oxygen-icons" ,oxygen-icons) ;; default icon set
464 ("plasma-framework" ,plasma-framework)
465 ("qtbase" ,qtbase)
466 ("qtdeclarative" ,qtdeclarative)
467 ("solid" ,solid)))
468 (home-page "https://kde.org/applications/utilities/org.kde.smb4k")
469 (synopsis "Samba (SMB) share advanced browser")
470 (description "Smb4K is an network neighborhood browser for the KDE
471Software Compilation and a frontend to the programs of the Samba software
472suite.
473
474Features:
475@itemize
476@item Scanning for (active) workgroups, hosts, and shares
477@item Support of the CIFS (Linux) and SMBFS (FreeBSD) file system
478@item Mounting and unmounting of shares (using the KAuth framework)
479@item Access to the files of a mounted share using a file manager or terminal
480@item Auto-detection of external mounts and unmounts
481@item Remounting of previously used shares on program start
482@item Miscellaneous infos about remote network items and mounted shares
483@item Network search
484@item WINS server support
485@item Preview of the contents of a share
486@item Several methods to look up the initial list of workgroups and domains
487@item Default login
488@item Special handling of homes shares
489@item Ability to bookmark favorite shares and organize them in groups
490@item System tray widget
491@item Support of advanced Samba options
492@item Support of printer shares
493@item KWallet support
494@item Synchronization of a remote share with a local copy and vice versa
495@item Ability to define custom options for individual servers and shares
496@item Laptop support through the Solid hardware device framework
497@end itemize")
498 (license license:gpl2+)))