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