gnu: Add kdegraphics-mobipocket.
[jackhill/guix/guix.git] / gnu / packages / kde.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
3 ;;; Copyright © 2016 David Craven <david@craven.ch>
4 ;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
5 ;;; Copyright © 2017, 2018 Mark Meyer <mark@ofosos.org>
6 ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
7 ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
8 ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
9 ;;; Copyright © 2018, 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
10 ;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
11 ;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
12 ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
13 ;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com>
14 ;;; Copyright © 2020 Zheng Junjie <873216071@qq.com>
15 ;;;
16 ;;; This file is part of GNU Guix.
17 ;;;
18 ;;; GNU Guix is free software; you can redistribute it and/or modify it
19 ;;; under the terms of the GNU General Public License as published by
20 ;;; the Free Software Foundation; either version 3 of the License, or (at
21 ;;; your option) any later version.
22 ;;;
23 ;;; GNU Guix is distributed in the hope that it will be useful, but
24 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
25 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26 ;;; GNU General Public License for more details.
27 ;;;
28 ;;; You should have received a copy of the GNU General Public License
29 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
30
31 (define-module (gnu packages kde)
32 #:use-module (guix build-system cmake)
33 #:use-module (guix build-system qt)
34 #:use-module (guix deprecation)
35 #:use-module (guix download)
36 #:use-module (guix git-download)
37 #:use-module ((guix licenses) #:prefix license:)
38 #:use-module (guix packages)
39 #:use-module (guix utils)
40 #:use-module (gnu packages)
41 #:use-module (gnu packages algebra)
42 #:use-module (gnu packages apr)
43 #:use-module (gnu packages audio)
44 #:use-module (gnu packages bison)
45 #:use-module (gnu packages boost)
46 #:use-module (gnu packages code)
47 #:use-module (gnu packages cpp)
48 #:use-module (gnu packages compression)
49 #:use-module (gnu packages curl)
50 #:use-module (gnu packages documentation)
51 #:use-module (gnu packages flex)
52 #:use-module (gnu packages gettext)
53 #:use-module (gnu packages ghostscript)
54 #:use-module (gnu packages gl)
55 #:use-module (gnu packages gnome)
56 #:use-module (gnu packages graphics)
57 #:use-module (gnu packages image)
58 #:use-module (gnu packages kde-frameworks)
59 #:use-module (gnu packages kde-pim)
60 #:use-module (gnu packages kde-plasma)
61 #:use-module (gnu packages linux)
62 #:use-module (gnu packages llvm)
63 #:use-module (gnu packages maths)
64 #:use-module (gnu packages pdf)
65 #:use-module (gnu packages perl)
66 #:use-module (gnu packages photo)
67 #:use-module (gnu packages pkg-config)
68 #:use-module (gnu packages pulseaudio)
69 #:use-module (gnu packages python)
70 #:use-module (gnu packages tls)
71 #:use-module (gnu packages qt)
72 #:use-module (gnu packages version-control)
73 #:use-module (gnu packages video)
74 #:use-module (gnu packages xdisorg)
75 #:use-module (gnu packages xml)
76 #:use-module (gnu packages xorg))
77
78 (define-public baloo-widgets
79 (package
80 (name "baloo-widgets")
81 (version "20.04.1")
82 (source
83 (origin
84 (method url-fetch)
85 (uri (string-append "mirror://kde/stable/release-service/" version
86 "/src/baloo-widgets-" version ".tar.xz"))
87 (sha256
88 (base32 "1x4v79vhvc5ixkbsf3jyjz5ig1lf78rfw3r7g3llpb4j1kcp3wh0"))))
89 (build-system qt-build-system)
90 (native-inputs
91 `(("extra-cmake-modules" ,extra-cmake-modules)))
92 (inputs
93 `(("baloo" ,baloo)
94 ("kconfig" ,kconfig)
95 ("ki18n" ,ki18n)
96 ("kio" ,kio)
97 ("qtbase" ,qtbase)))
98 (arguments
99 `(#:phases
100 (modify-phases %standard-phases
101 (add-before 'check 'check-setup
102 (lambda _
103 (setenv "QT_QPA_PLATFORM" "offscreen")
104 #t)))))
105 (home-page "https://community.kde.org/Baloo")
106 (synopsis "Wigets for use with Baloo")
107 (description "Baloo is a framework for searching and managing metadata.
108 This package contains GUI widgets for baloo.")
109 (license license:lgpl2.0+)))
110
111 (define-public grantleetheme
112 (package
113 (name "grantleetheme")
114 (version "20.04.1")
115 (source
116 (origin
117 (method url-fetch)
118 (uri (string-append "mirror://kde/stable/release-service/" version
119 "/src/grantleetheme-" version ".tar.xz"))
120 (sha256
121 (base32 "0gabc5cb0sf00s7m5v2jnq55qsrdbrq6nqd15y1i15p788zifsjx"))
122 (patches (search-patches "grantlee-merge-theme-dirs.patch"))))
123 (build-system qt-build-system)
124 (native-inputs
125 `(("extra-cmake-modules" ,extra-cmake-modules)
126 ("libxml2" ,libxml2))) ;; xmllint required for tests
127 (inputs
128 `(("grantlee" ,grantlee)
129 ("kguiaddons" ,kguiaddons)
130 ("ki18n" ,ki18n)
131 ("kiconthemes" ,kiconthemes)
132 ("knewstuff" ,knewstuff)
133 ("qtbase" ,qtbase)))
134 (home-page "https://invent.kde.org/pim/grantleetheme")
135 (synopsis "Library providing Grantlee theme support")
136 (description "This library provides Grantlee theme support.")
137 (license ;; LGPL for libraries, FDL for documentation
138 (list license:lgpl2.1+ license:fdl1.2+))))
139
140 (define-public kdenlive
141 (let ((version "20.08.3"))
142 (package
143 (name "kdenlive")
144 (version version)
145 (source
146 (origin
147 (method git-fetch)
148 (uri (git-reference
149 (url "https://invent.kde.org/multimedia/kdenlive")
150 (commit (string-append "v" version))))
151 (file-name (string-append name "-" version "-checkout"))
152 (sha256
153 (base32 "0x0qfwf6wfnybjyjvmllpf87sm27d1n2akslhp2k8ins838qy55i"))))
154 (build-system cmake-build-system)
155 (native-inputs
156 `(("extra-cmake-modules" ,extra-cmake-modules)
157 ("pkg-config" ,pkg-config)
158 ("qttools" ,qttools)))
159 (inputs
160 `(("shared-mime-info" ,shared-mime-info)
161 ("frei0r-plugins" ,frei0r-plugins)
162 ("ffmpeg" ,ffmpeg)
163 ("rttr" ,rttr)
164 ("mlt" ,mlt)
165 ("qtbase" ,qtbase)
166 ("qtscript" ,qtscript)
167 ("qtsvg" ,qtsvg)
168 ("qtmultimedia" ,qtmultimedia)
169 ("kparts" ,kparts)
170 ("knotifications" ,knotifications)
171 ("karchive" ,karchive)
172 ("kdbusaddons" ,kdbusaddons)
173 ("kcrash" ,kcrash)
174 ("kguiaddons" ,kguiaddons)
175 ("knewstuff" ,knewstuff)
176 ("knotifyconfig" ,knotifyconfig)
177 ("kfilemetadata" ,kfilemetadata)
178 ("kdoctools" ,kdoctools)
179 ("kdeclarative" ,kdeclarative)
180 ("qtdeclarative" ,qtdeclarative)
181 ("qtquickcontrols" ,qtquickcontrols)
182 ("qtquickcontrols2" ,qtquickcontrols2)
183 ("kiconthemes" ,kiconthemes)
184 ("breeze" ,breeze)
185 ("purpose" ,purpose)
186 ("qtwebkit" ,qtwebkit)
187 ("qtgraphicaleffects" ,qtgraphicaleffects)
188 ("kplotting" ,kplotting)))
189 (arguments
190 `(#:tests? #f ;TODO needs X
191 #:phases
192 (modify-phases %standard-phases
193 (add-after 'install 'wrap-executable
194 (lambda* (#:key inputs outputs #:allow-other-keys)
195 (let* ((out (assoc-ref outputs "out"))
196 (qtbase (assoc-ref inputs "qtbase"))
197 (frei0r (assoc-ref inputs "frei0r-plugins"))
198 (ffmpeg (assoc-ref inputs "ffmpeg"))
199 (breeze (assoc-ref inputs "breeze")))
200 (wrap-program (string-append out "/bin/kdenlive")
201 `("PATH" ":" prefix
202 ,(list (string-append ffmpeg "/bin")))
203 `("XDG_DATA_DIRS" ":" prefix
204 ,(list (string-append breeze "/share")))
205 `("QT_PLUGIN_PATH" ":" prefix
206 ,(list (getenv "QT_PLUGIN_PATH")))
207 `("FREI0R_PATH" ":" =
208 (,(string-append frei0r "/lib/frei0r-1/")))
209 `("QT_QPA_PLATFORM_PLUGIN_PATH" ":" =
210 (,(string-append qtbase "/lib/qt5/plugins/platforms")))
211 `("QML2_IMPORT_PATH" ":" prefix
212 ,(list (getenv "QML2_IMPORT_PATH")))
213 `("MLT_PREFIX" ":" =
214 (,(assoc-ref inputs "mlt")))))
215 #t)))))
216 (home-page "https://kdenlive.org")
217 (synopsis "Non-linear video editor")
218 (description "Kdenlive is an acronym for KDE Non-Linear Video Editor.
219
220 Non-linear video editing is much more powerful than beginner's (linear)
221 editors, hence it requires a bit more organization before starting. However,
222 it is not reserved to specialists and can be used for small personal
223 projects.")
224 (license license:gpl2+))))
225
226 (define-public kdevelop
227 (package
228 (name "kdevelop")
229 (version "5.5.2")
230 (source
231 (origin
232 (method url-fetch)
233 (uri (string-append "mirror://kde/stable/kdevelop"
234 "/" version "/src/kdevelop-"
235 version ".tar.xz"))
236 (sha256
237 (base32 "1nkl3z1n1l7ly2zvmbx2sdhx5q72wcvpwhzsz3qgw1474qd9i3i2"))))
238 (build-system qt-build-system)
239 (native-inputs
240 `(("extra-cmake-modules" ,extra-cmake-modules)
241 ("pkg-config" ,pkg-config)
242 ("shared-mime-info" ,shared-mime-info)
243 ("qttools" ,qttools)))
244 (inputs
245 `(("boost" ,boost)
246 ("clang" ,clang)
247 ("grantlee" ,grantlee)
248 ("karchive" ,karchive)
249 ("kcmutils" ,kcmutils)
250 ("kcrash" ,kcrash)
251 ("kdeclarative" ,kdeclarative)
252 ("kdoctools" ,kdoctools)
253 ("kguiaddons" ,kguiaddons)
254 ("ki18n" ,ki18n)
255 ("kiconthemes" ,kiconthemes)
256 ("kio" ,kio) ;; not checked as requirement
257 ("kitemmodels" ,kitemmodels)
258 ("kitemviews" ,kitemviews)
259 ("kjobwidgets" ,kjobwidgets)
260 ("knotifications" ,knotifications)
261 ("knotifyconfig" ,knotifyconfig)
262 ("kparts" ,kparts)
263 ("kservice" ,kservice)
264 ("ktexteditor" ,ktexteditor)
265 ("kwindowsystem" ,kwindowsystem)
266 ("kxmlgui" ,kxmlgui)
267 ("libkomparediff2" ,libkomparediff2)
268 ("oxygen-icons" ,oxygen-icons)
269 ("qtbase" ,qtbase)
270 ("qtdeclarative" ,qtdeclarative)
271 ("qtquickcontrols" ,qtquickcontrols) ;; not checked as requirement
272 ("qtquickcontrols2" ,qtquickcontrols2) ;; not checked as requirement
273 ("qtwebkit" ,qtwebkit)
274 ("threadweaver" ,threadweaver)
275
276 ;; recommendes
277 ("astyle" ,astyle)
278 ("kdevelop-pg-qt" ,kdevelop-pg-qt)
279 ("libksysguard" ,libksysguard)
280
281 ;; optional
282 ("apr" ,apr) ; required for subversion support
283 ("apr-util" ,apr-util) ; required for subversion support
284 ("attica" ,attica)
285 ("kconfigwidgets" ,kconfigwidgets)
286 ("knewstuff" ,knewstuff)
287 ("krunner" ,krunner)
288 ;; TODO: OktetaGui, OktetaKastenControllers
289 ("plasma" ,plasma-framework)
290 ;; TODO: purpose
291 ("sonnet" ,sonnet)
292 ("subversion" ,subversion)))
293
294 ;; run-time packages - TODO
295 ;; ClazyStandalone
296 ;; Cppcheck
297 ;; heaptrack
298 ;; heaptrack_gui
299 ;; meson
300 (arguments
301 `(#:tests? #f ;; there are some issues with the test suite
302 #:phases
303 (modify-phases %standard-phases
304 (add-before 'configure 'add-include-path
305 (lambda* (#:key inputs #:allow-other-keys)
306 (substitute* "cmake/modules/FindClang.cmake"
307 (("^\\s*PATHS \"\\$\\{CLANG_LIBRARY_DIRS\\}\"" line)
308 (string-append line " " (assoc-ref inputs "clang") "/lib")))
309 #t)))))
310 (home-page "https://kdevelop.org")
311 (synopsis "IDE for C, C++, Python, Javascript and PHP")
312 (description "The KDevelop IDE provides semantic syntax highlighting, as
313 well as code navigation and completion for C, C++ (using Clang/LLVM), QML,
314 JavaScript, Python and PHP. It also integrates with a debugger, different
315 build systems (CMake, QMake, custom Makefiles) and version control
316 software (Git, Subversion, Mercurial, CVS and Bazaar).")
317 (license license:lgpl2.1+)))
318
319 (define-public kdevelop-pg-qt
320 (package
321 (name "kdevelop-pg-qt")
322 (version "2.2.1")
323 (source
324 (origin
325 (method git-fetch)
326 (uri (git-reference
327 (url "https://github.com/KDE/kdevelop-pg-qt")
328 (commit (string-append "v" version))))
329 (file-name (git-file-name name version))
330 (sha256
331 (base32 "1kfab4p717acbdkcdi41d98vwch7v431gb2qi6s38hmclsf8bf8g"))))
332 (native-inputs
333 `(("extra-cmake-modules" ,extra-cmake-modules)))
334 (inputs
335 `(("qtbase" ,qtbase)))
336 (build-system cmake-build-system)
337 (home-page "https://kde.org")
338 (synopsis "Parser generator library for KDevplatform")
339 (description "KDevelop-PG-Qt is the parser generator used in KDevplatform
340 for some KDevelop language plugins (Ruby, PHP, CSS...).")
341 (license license:lgpl2.0+)))
342
343 ;; kdevplatform was merged into kdevelop as of 5.2.x
344 (define-deprecated kdevplatform kdevelop)
345
346 (define-public kdiagram
347 (package
348 (name "kdiagram")
349 (version "2.7.0")
350 (source
351 (origin
352 (method url-fetch)
353 (uri (string-append "mirror://kde/stable/kdiagram/" version
354 "/kdiagram-" version ".tar.xz"))
355 (sha256
356 (base32 "1pgvf2q8b59hw0jg5ajmj5nrn4q8cgnifpvdd0fynk2ml6zym8k3"))
357 (patches (search-patches
358 "kdiagram-Fix-missing-link-libraries.patch"))))
359 (build-system qt-build-system)
360 (native-inputs
361 `(("extra-cmake-modules" ,extra-cmake-modules)
362 ("qttools" ,qttools)))
363 (inputs
364 `(("qtbase" ,qtbase)
365 ("qtsvg" ,qtsvg)))
366 (home-page "https://invent.kde.org/graphics/kdiagram")
367 (synopsis "Libraries for creating business diagrams")
368 (description "This package provides libraries for integrating business
369 diagrams in Qt-based applications.
370
371 @code{KCharts} provides an implementation of the ODF Chart specification. It
372 supports stock charts, box charts, and whisker charts. @code{KGantt} provides
373 a module for implementing ODF Gantt charts, which are bar charts that
374 illustrate project schedules.")
375 (license license:gpl2+)))
376
377 (define-public krita
378 (package
379 (name "krita")
380 (version "4.4.1")
381 (source (origin
382 (method url-fetch)
383 (uri (string-append
384 "mirror://kde/stable/krita/" version
385 "/krita-" version ".tar.gz"))
386 (sha256
387 (base32
388 "05rq5hkh2lmk8hall2h9ccaav0nw8fj7vd4aff5fyp2fiq3aybbg"))))
389 (build-system cmake-build-system)
390 (arguments
391 `(#:tests? #f
392 #:configure-flags
393 (list "-DBUILD_TESTING=OFF"
394 (string-append "-DCMAKE_CXX_FLAGS=-I"
395 (assoc-ref %build-inputs "openexr")
396 "/include/OpenEXR"))
397 #:phases
398 (modify-phases %standard-phases
399 ;; Ensure that icons are found at runtime.
400 ;; This works around <https://bugs.gnu.org/22138>.
401 (add-after 'install 'wrap-executable
402 (lambda* (#:key inputs outputs #:allow-other-keys)
403 (let ((out (assoc-ref outputs "out"))
404 (qt '("qtbase" "qtsvg")))
405 (wrap-program (string-append out "/bin/krita")
406 `("QT_PLUGIN_PATH" ":" prefix
407 ,(map (lambda (label)
408 (string-append (assoc-ref inputs label)
409 "/lib/qt5/plugins/"))
410 qt)))
411 #t))))))
412 (native-inputs
413 `(("curl" ,curl)
414 ("eigen" ,eigen)
415 ("extra-cmake-modules" ,extra-cmake-modules)
416 ("gettext-minimal" ,gettext-minimal)
417 ("kitemmodels" ,kitemmodels)
418 ("pkg-config" ,pkg-config)
419 ("qwt" ,qwt)
420 ("vc" ,vc)))
421 (inputs
422 `(("boost" ,boost)
423 ("exiv2" ,exiv2)
424 ("fftw" ,fftw)
425 ("gsl" ,gsl)
426 ("ilmbase" ,ilmbase)
427 ("karchive" ,karchive)
428 ("kcompletion" ,kcompletion)
429 ("kconfig" ,kconfig)
430 ("kcoreaddons" ,kcoreaddons)
431 ("kcrash" ,kcrash)
432 ("kguiaddons" ,kguiaddons)
433 ("ki18n" ,ki18n)
434 ("kiconthemes" ,kiconthemes)
435 ("kio" ,kio)
436 ("kitemviews" ,kitemviews)
437 ("kwidgetsaddons" ,kwidgetsaddons)
438 ("kwindowsystem" ,kwindowsystem)
439 ("kxmlgui" ,kxmlgui)
440 ("lcms" ,lcms)
441 ("libjpeg-turbo" ,libjpeg-turbo)
442 ("libpng" ,libpng)
443 ("libraw" ,libraw-0.18)
444 ("libtiff" ,libtiff)
445 ("libx11" ,libx11)
446 ("libxcb" ,libxcb)
447 ("libxi" ,libxi)
448 ("openexr" ,openexr)
449 ("perl" ,perl)
450 ("poppler-qt5" ,poppler-qt5)
451 ("qtbase" ,qtbase)
452 ("qtdeclarative" ,qtdeclarative)
453 ("qtmultimedia" ,qtmultimedia)
454 ("qtsvg" ,qtsvg)
455 ("qtx11extras" ,qtx11extras)
456 ("quazip" ,quazip)
457 ("zlib" ,zlib)))
458 (home-page "https://krita.org")
459 (synopsis "Digital painting application")
460 (description
461 "Krita is a professional painting tool designed for concept artists,
462 illustrators, matte and texture artists, and the VFX industry. Notable
463 features include brush stabilizers, brush engines and wrap-around mode.")
464 (license license:gpl2+)))
465
466 (define-public libkomparediff2
467 (package
468 (name "libkomparediff2")
469 (version "20.04.1")
470 (source
471 (origin
472 (method url-fetch)
473 (uri (string-append "mirror://kde/stable/release-service/" version
474 "/src/libkomparediff2-" version ".tar.xz"))
475 (sha256
476 (base32 "0m8m7sgpf2f4nxpaaymyvihlk0pcyblyd99mcbibrnyr5kzkzzdc"))))
477 (native-inputs
478 `(("extra-cmake-modules" ,extra-cmake-modules)
479 ("pkg-config" ,pkg-config)))
480 (inputs
481 `(("kcodecs" ,kcodecs)
482 ("kconfig" ,kconfig)
483 ("kcoreaddons" ,kcoreaddons)
484 ("ki18n" ,ki18n)
485 ("kio" ,kio)
486 ("kxmlgui" ,kxmlgui)
487 ("qtbase" ,qtbase)))
488 (build-system cmake-build-system)
489 (home-page "https://kde.org")
490 (synopsis "Library to compare files and strings, used in Kompare and KDevelop")
491 (description "Libkomparediff2 is a library to work with diffs and patches,
492 used in KDE development tools Kompare and KDevelop.")
493
494 ;; GPL, some files are also licensed under LGPL or BSD, see COPYING in the
495 ;; source archive
496 (license (list license:gpl2+ license:lgpl2.0+ license:bsd-3))))
497
498 (define-public qca
499 (package
500 (name "qca")
501 (version "2.3.0")
502 (source
503 (origin
504 (method url-fetch)
505 (uri (string-append "mirror://kde/stable/qca/" version
506 "/qca-" version ".tar.xz"))
507 (sha256
508 (base32
509 "1mrj748yz1grgzmfbmffgjkpcqiaj1l3m4pbddwcj7dnl50yys0x"))))
510 (build-system cmake-build-system)
511 (native-inputs
512 `(("pkg-config" ,pkg-config)))
513 (inputs
514 `(("openssl" ,openssl)
515 ("qtbase" ,qtbase)))
516 (home-page "https://userbase.kde.org/QCA")
517 (synopsis "Libraries for the Qt Cryptographic Architecture")
518 (description "The Qt Cryptographic Architecture (QCA) provides a
519 straightforward and cross-platform API for a range of cryptographic features,
520 including SSL/TLS, X.509 certificates, SASL, OpenPGP, S/MIME CMS, and smart
521 cards.")
522 (license license:lgpl2.1+)))
523
524 (define-public kpmcore
525 (package
526 (name "kpmcore")
527 (version "4.1.0")
528 (source (origin
529 (method url-fetch)
530 (uri (string-append
531 "mirror://kde/stable/kpmcore"
532 "/" version "/src/"
533 name "-" version ".tar.xz"))
534 (sha256
535 (base32
536 "0jsig7algmab9h0fb09my0axjqzw83zgscamhzl8931lribs6idm"))))
537 (build-system cmake-build-system)
538 (native-inputs
539 `(("extra-cmake-modules" ,extra-cmake-modules)
540 ("pkg-config" ,pkg-config)))
541 (inputs
542 `(("kauth" ,kauth)
543 ("kcoreaddons" ,kcoreaddons)
544 ("ki18n" ,ki18n)
545 ("kwidgetsaddons" ,kwidgetsaddons)
546 ("qtbase" ,qtbase)
547 ("qca" ,qca)
548 ("util-linux" ,util-linux "lib")))
549 (home-page "https://community.kde.org/Frameworks")
550 (synopsis "Library for managing partitions")
551 (description "Library for managing partitions.")
552 (license license:gpl3+)))
553
554 (define-public snorenotify
555 (package
556 (name "snorenotify")
557 (version "0.7.0")
558 (source
559 (origin
560 (method url-fetch)
561 (uri (string-append "mirror://kde/stable/snorenotify/"
562 version "/src/snorenotify-" version ".tar.xz"))
563 (sha256
564 (base32
565 "0jz6ivk90h7iwgyxar7xzzj8yvzn6s1my6cqs9bdnwqswfk1nhbd"))))
566 (build-system cmake-build-system)
567 (arguments
568 `(#:tests? #f)) ; both tests fail, require display
569 (inputs
570 `(("qtbase" ,qtbase)))
571 (native-inputs
572 `(("extra-cmake-modules" ,extra-cmake-modules)
573 ("qttools" ,qttools)))
574 (home-page "https://techbase.kde.org/Projects/Snorenotify")
575 (synopsis "Qt notification framework")
576 (description "Snorenotify is a multi platform Qt notification framework.
577 Using a plugin system it is possible to create notifications with many
578 different notification systems.")
579 (license license:lgpl3)))
580
581 (define-public kdeconnect
582 (package
583 (name "kdeconnect")
584 (version "20.04.2")
585 (source
586 (origin
587 (method url-fetch)
588 (uri (string-append "mirror://kde/stable/release-service/"
589 version "/src/kdeconnect-kde-"
590 version ".tar.xz"))
591 (sha256
592 (base32
593 "0yq3afbbcc9gmlcachvh3xz3gdj57092fpagp36l5knw8gr0d9ip"))))
594 (build-system qt-build-system)
595 (arguments
596 `(#:configure-flags '("-DBUILD_TESTING=ON"
597 "-DKDE_INSTALL_LIBEXECDIR=libexec")
598 #:phases (modify-phases %standard-phases
599 (add-after 'set-paths 'extend-CPLUS_INCLUDE_PATH
600 (lambda* (#:key inputs #:allow-other-keys)
601 ;; FIXME: <kcmutils_version.h> is not found during one
602 ;; of the compilation steps without this hack.
603 (setenv "CPLUS_INCLUDE_PATH"
604 (string-append (assoc-ref inputs "kcmutils")
605 "/include/KF5:"
606 (or (getenv "CPLUS_INCLUDE_PATH")
607 "")))
608 #t)))
609 #:tests? #f)) ; tests fail hard in our build environment
610 (native-inputs
611 `(("extra-cmake-modules" ,extra-cmake-modules)
612 ("kdoctools" ,kdoctools)
613 ("libxtst" ,libxtst)
614 ("pkg-config" ,pkg-config)
615 ("python" ,python-wrapper)))
616 (inputs
617 `(("kcmutils" ,kcmutils)
618 ("kconfigwidgets" ,kconfigwidgets)
619 ("kdbusaddons" ,kdbusaddons)
620 ("ki18n" ,ki18n)
621 ("kiconthemes" ,kiconthemes)
622 ("kio" ,kio)
623 ("kirigami" ,kirigami)
624 ("knotifications" ,knotifications)
625 ("kpeople" ,kpeople)
626 ("kpeoplevcard" ,kpeoplevcard)
627 ("kwayland" ,kwayland)
628 ("libfakekey" ,libfakekey)
629 ("pulseaudio-qt" ,pulseaudio-qt)
630 ("qca" ,qca)
631 ("qtbase" ,qtbase)
632 ("qtdeclarative" ,qtdeclarative)
633 ("qtgraphicaleffects" ,qtgraphicaleffects)
634 ("qtmultimedia" ,qtmultimedia)
635 ("qtquickcontrols" ,qtquickcontrols)
636 ("qtquickcontrols2" ,qtquickcontrols2)
637 ("qtx11extras" ,qtx11extras)))
638 (home-page "https://community.kde.org/KDEConnect")
639 (synopsis "Enable your devices to communicate with each other")
640 (description "KDE Connect is a project that enables all your devices to
641 communicate with each other. Here's a few things KDE Connect can do:
642 @enumerate
643 @item Receive your phone notifications on your desktop computer and reply to messages
644 @item Control music playing on your desktop from your phone
645 @item Use your phone as a remote control for your desktop
646 @item Run predefined commands on your PC from connected devices
647 @item Check your phones battery level from the desktop
648 @item Ring your phone to help finding it
649 @item Share files and links between devices
650 @item Browse your phone from the desktop
651 @item Control the desktop's volume from the phone
652 @end enumerate")
653 (properties `((upstream-name . "kdeconnect-kde")))
654 (license (list license:gpl2 license:gpl3)))) ; dual licensed
655
656 (define-public kqtquickcharts
657 (package
658 (name "kqtquickcharts")
659 (version "20.04.1")
660 (source
661 (origin
662 (method url-fetch)
663 (uri (string-append "mirror://kde/stable/release-service/"
664 version "/src/kqtquickcharts-" version ".tar.xz"))
665 (sha256
666 (base32
667 "1wxp35mf9zlpgzi4msdl86b2krdq2ipqw371gyx23r7j84vdyxi3"))))
668 (build-system cmake-build-system)
669 (native-inputs
670 `(("extra-cmake-modules" ,extra-cmake-modules)))
671 (inputs
672 `(("qtbase" ,qtbase)
673 ("qtdeclarative" ,qtdeclarative)))
674 (home-page "https://phabricator.kde.org/source/kqtquickcharts/")
675 (synopsis "Interactive charts for Qt Quick")
676 (description
677 "Kqtquickcharts is a QtQuick plugin to render beautiful and interactive
678 charts.")
679 (license license:lgpl2.1+)))
680
681 (define-public kcachegrind
682 (package
683 (name "kcachegrind")
684 (version "20.04.1")
685 (source (origin
686 (method url-fetch)
687 (uri (string-append "mirror://kde/stable/release-service/" version
688 "/src/kcachegrind-" version ".tar.xz"))
689 (sha256
690 (base32
691 "0fx17s6fj1pxl1mgfrqhchk8sihkbji1x8y3nhb1r0971wzd1nsc"))))
692 (build-system cmake-build-system)
693 (native-inputs
694 `(("extra-cmake-modules" ,extra-cmake-modules)
695 ("perl" ,perl)
696 ("python" ,python)
697 ("qttools" ,qttools)
698 ("kdoctools" ,kdoctools)))
699 (inputs
700 `(("qtbase" ,qtbase)
701 ("karchive" ,karchive)
702 ("ki18n" ,ki18n)
703 ("kio" ,kio)
704 ("kdbusaddons" ,kdbusaddons)))
705 ;; Note: The 'hotshot2calltree' and 'pprof2calltree' scripts depend on
706 ;; Python and PHP, respectively. These are optional and we ignore them
707 ;; for now.
708 (home-page "https://kcachegrind.github.io/html/Home.html")
709 (synopsis "Visualize profiles produces by Valgrind's Cachegrind tool")
710 (description
711 "The data files generated by the Callgrind of Valgrind, an application
712 profiler, can be loaded into KCachegrind for browsing the performance results.
713 There is also a command-line tool to get ASCII reports from data files without
714 the need to use KCachegrind.
715
716 The format of Callgrind output is documented. With conversion scripts,
717 KCachegrind is able to visualize output of other profilers like OProfile, a
718 system-wide profiler for Linux using statistical sampling with hardware
719 performance counters. There also exist converters for profiling output of
720 Python, PHP, and Perl.")
721 (license license:gpl2)))
722
723 (define-public libkdegames
724 (package
725 (name "libkdegames")
726 (version "20.04.1")
727 (source
728 (origin
729 (method url-fetch)
730 (uri (string-append "mirror://kde/stable/release-service/" version
731 "/src/libkdegames-" version ".tar.xz"))
732 (sha256
733 (base32 "1xsrrvhwjwi5aajcaxydmzc69i4yx6shs8ly8vr85njc188ycg13"))))
734 (build-system qt-build-system)
735 (native-inputs
736 `(("extra-cmake-modules" ,extra-cmake-modules)))
737 (inputs
738 `(("karchive" ,karchive)
739 ("kbookmarks" ,kbookmarks)
740 ("kcodecs" ,kcodecs)
741 ("kcompletion" ,kcompletion)
742 ("kconfigwidgets" ,kconfigwidgets)
743 ("kcrash" ,kcrash)
744 ("kdbusaddons" ,kdbusaddons)
745 ("kdeclarative" ,kdeclarative)
746 ("kdnssd" ,kdnssd)
747 ("kglobalaccel" ,kglobalaccel)
748 ("kguiaddons" ,kguiaddons)
749 ("ki18n" ,ki18n)
750 ("kiconthemes" ,kiconthemes)
751 ;("kio" ,kio)
752 ("kitemviews" ,kitemviews)
753 ("kjobwidgets" ,kjobwidgets)
754 ("knewstuff" ,knewstuff)
755 ("kservice" ,kservice)
756 ("ktextwidgets" ,ktextwidgets)
757 ("kwidgetsaddons" ,kwidgetsaddons)
758 ("kxmlgui" ,kxmlgui)
759 ("libsndfile" ,libsndfile)
760 ("openal" ,openal)
761 ("qtbase" ,qtbase)
762 ("qtdeclarative" ,qtdeclarative)
763 ("qtsvg" ,qtsvg)))
764 (home-page "https://games.kde.org/")
765 (synopsis "Runtime library for kdegames")
766 (description "Runtime library for kdegames")
767 (license (list license:gpl2+ license:fdl1.2+))))
768
769 (define-public kdegraphics-mobipocket
770 (package
771 (name "kdegraphics-mobipocket")
772 (version "20.12.0")
773 (source
774 (origin
775 (method url-fetch)
776 (uri (string-append "mirror://kde/stable/release-service/" version
777 "/src/" name "-" version ".tar.xz"))
778 (sha256
779 (base32 "0fm880lp9g60zgrkjyh4jxws6x0s77l9ia4f8pza3w8sxcbbswk5"))))
780 (build-system cmake-build-system)
781 (native-inputs
782 `(("extra-cmake-modules" ,extra-cmake-modules)))
783 (inputs
784 `(("kio" ,kio)
785 ("qtbase" ,qtbase)))
786 (home-page "https://apps.kde.org/en/kdegraphics_mobipocket")
787 (synopsis "KDE thumbnailer for Mobipocket files")
788 (description "This package provides a KDE plugin that shows thumbnails of
789 Mobipocket e-books in Dolphin and other KDE apps.")
790 (license license:gpl2+)))
791 (define-public zeroconf-ioslave
792 (package
793 (name "zeroconf-ioslave")
794 (version "20.04.1")
795 (source
796 (origin
797 (method url-fetch)
798 (uri (string-append "mirror://kde/stable/release-service/" version
799 "/src/zeroconf-ioslave-" version ".tar.xz"))
800 (sha256
801 (base32 "1qck5jyc4psslpibhki8sz8aj0hsnx8z791vzyn10lmdzn71vx8c"))))
802 (build-system qt-build-system)
803 (native-inputs
804 `(("extra-cmake-modules" ,extra-cmake-modules)))
805 (inputs
806 `(("kdbusaddons" ,kdbusaddons)
807 ("kdnssd" ,kdnssd)
808 ("ki18n" ,ki18n)
809 ("kio" ,kio)
810 ("qtbase" ,qtbase)))
811 (home-page "https://kde.org/applications/internet/org.kde.zeroconf_ioslave")
812 (synopsis "DNS-SD Service Discovery Monitor")
813 (description "Adds an entry to Dolphin's Network page to show local
814 services such as printers which advertise themselves with DNSSD (called Avahi
815 or Bonjour by other projects).")
816 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
817 (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
818
819
820 (define-public kuserfeedback
821 ;; FIXME: Try to reduce data collection and ensure transmission i disabled by default.
822 ;; FIXME: Check https://www.reddit.com/r/kde/comments/f7ojg9 for insights
823 (package
824 (name "kuserfeedback")
825 (version "1.0.0")
826 (source
827 (origin
828 (method url-fetch)
829 (uri (string-append "mirror://kde/stable/kuserfeedback/"
830 "/kuserfeedback-" version ".tar.xz"))
831 (sha256
832 (base32 "1dwx9fscnfp3zsxdir774skn8xvad2dvscnaaw3ji6mrnkmm6bss"))))
833 (build-system qt-build-system)
834 (native-inputs
835 `(("extra-cmake-modules" ,extra-cmake-modules)
836 ("qttools" ,qttools)
837 ;; For optional component "Survey target expression parser"
838 ("bison" ,bison)
839 ("flex" ,flex)
840 ;; For syntax checking and unit tests of PHP server code
841 ;;("php" ,php)
842 ;;("phpunit" ,phpunit)
843 ))
844 (inputs
845 `(("qtbase" ,qtbase)
846 ("qtcharts" ,qtcharts)
847 ("qtdeclarative" ,qtdeclarative)
848 ("qtsvg" ,qtsvg)))
849 (arguments
850 `(#:tests? #f)) ;; 4/17 fail
851 (home-page "https://api.kde.org/frameworks/kuserfeedback/html/")
852 (synopsis "Framework for collecting feedback from application users via
853 telemetry and targeted surveys")
854 (description "This framework consists of the following components:
855 @itemize
856 @item Libraries for use in applications.
857 @item QML bindings for the above.
858 @item A server application.
859 @item A management and analytics application.
860 @end itemize")
861 (license license:expat)))