projects/guix·blob python-team · refs

3357 lines · 123.6 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2016 Thomas Danckaert <[email protected]>
3;;; Copyright © 2018 Meiyo Peng <[email protected]>
4;;; Copyright © 2019 Marius Bakke <[email protected]>
5;;; Copyright © 2017, 2019, 2020 Hartmut Goebel <[email protected]>
6;;; Copyright © 2019 Tobias Geerinckx-Rice <[email protected]>
7;;; Copyright © 2020, 2023-2025 Zheng Junjie <[email protected]>
8;;; Copyright © 2022 Brendan Tildesley <[email protected]>
9;;; Copyright © 2022 Petr Hodina <[email protected]>
10;;; Copyright © 2023, 2025, 2026 Sughosha <[email protected]>
11;;; Copyright © 2024 Raven Hallsby <[email protected]>
12;;; Copyright © 2025 Maxim Cournoyer <[email protected]>
13;;;
14;;; This file is part of GNU Guix.
15;;;
16;;; GNU Guix is free software; you can redistribute it and/or modify it
17;;; under the terms of the GNU General Public License as published by
18;;; the Free Software Foundation; either version 3 of the License, or (at
19;;; your option) any later version.
20;;;
21;;; GNU Guix is distributed in the hope that it will be useful, but
22;;; WITHOUT ANY WARRANTY; without even the implied warranty of
23;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24;;; GNU General Public License for more details.
25;;;
26;;; You should have received a copy of the GNU General Public License
27;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
28
29(define-module (gnu packages kde-plasma)
30 #:use-module (guix packages)
31 #:use-module (guix download)
32 #:use-module (guix git-download)
33 #:use-module ((guix licenses) #:prefix license:)
34 #:use-module (guix gexp)
35 #:use-module (guix utils)
36 #:use-module (guix build-system cmake)
37 #:use-module (guix build-system trivial)
38 #:use-module (guix build-system qt)
39 #:use-module (gnu packages)
40 #:use-module (gnu packages admin)
41 #:use-module (gnu packages bash)
42 #:use-module (gnu packages boost)
43 #:use-module (gnu packages authentication)
44 #:use-module (gnu packages bash)
45 #:use-module (gnu packages compression)
46 #:use-module (gnu packages crypto)
47 #:use-module (gnu packages cups)
48 #:use-module (gnu packages display-managers)
49 #:use-module (gnu packages file-systems)
50 #:use-module (gnu packages firmware)
51 #:use-module (gnu packages fonts)
52 #:use-module (gnu packages fontutils)
53 #:use-module (gnu packages freedesktop)
54 #:use-module (gnu packages gcc)
55 #:use-module (gnu packages gettext)
56 #:use-module (gnu packages ghostscript)
57 #:use-module (gnu packages gnupg)
58 #:use-module (gnu packages gl)
59 #:use-module (gnu packages glib)
60 #:use-module (gnu packages gnome)
61 #:use-module (gnu packages gtk)
62 #:use-module (gnu packages hardware)
63 #:use-module (gnu packages ibus)
64 #:use-module (gnu packages icu4c)
65 #:use-module (gnu packages image-processing)
66 #:use-module (gnu packages iso-codes)
67 #:use-module (gnu packages kde-graphics)
68 #:use-module (gnu packages kde-frameworks)
69 #:use-module (gnu packages kde-internet)
70 #:use-module (gnu packages kde-multimedia)
71 #:use-module (gnu packages kde-pim)
72 ;; Including this module breaks the build
73 ;#:use-module ((gnu packages kde-systemtools) #:select (konsole))
74 #:use-module (gnu packages libcanberra)
75 #:use-module (gnu packages linux)
76 #:use-module (gnu packages libusb)
77 #:use-module (gnu packages lsof)
78 #:use-module (gnu packages networking)
79 #:use-module (gnu packages markup)
80 #:use-module (gnu packages maths)
81 #:use-module (gnu packages messaging)
82 #:use-module (gnu packages multiprecision)
83 #:use-module (gnu packages pciutils)
84 #:use-module (gnu packages pkg-config)
85 #:use-module (gnu packages polkit)
86 #:use-module (gnu packages pulseaudio)
87 #:use-module (gnu packages python)
88 #:use-module (gnu packages package-management) ; flatpak
89 #:use-module (gnu packages rdesktop)
90 #:use-module (gnu packages sdl)
91 #:use-module (gnu packages unicode)
92 #:use-module (gnu packages video)
93 #:use-module (gnu packages vpn)
94 #:use-module (gnu packages vulkan)
95 #:use-module (gnu packages window-management)
96 #:use-module (gnu packages textutils)
97 #:use-module (gnu packages qt)
98 #:use-module (gnu packages xdisorg)
99 #:use-module (gnu packages xml)
100 #:use-module (gnu packages xorg)
101 #:use-module (gnu packages base)
102 #:use-module (gnu packages gps)
103 #:use-module (gnu packages web)
104 #:use-module (gnu packages tls)
105 #:use-module (gnu packages xml)
106 #:use-module (gnu packages opencl))
107
108(define-public libplasma
109 (package
110 (name "libplasma")
111 (version "6.5.5")
112 (source (origin
113 (method url-fetch)
114 (uri (string-append "mirror://kde/stable/plasma/"
115 version "/" name "-"
116 version ".tar.xz"))
117 (sha256
118 (base32
119 "06m7p25860ka49yqrm8f1a0z6ykyyfh8zkch496hzfch1yyzk23x"))))
120 (build-system qt-build-system)
121 (propagated-inputs
122 (list kconfig ;PlasmaConfig.cmake
123 kirigami ;QML module dependency
124 kpackage ;PlasmaConfig.cmake
125 ksvg ;QML module dependency
126 kwindowsystem ;PlasmaConfig.cmake
127 qt5compat ;QML module dependency
128 qtdeclarative)) ;PlasmaConfig.cmake and PlasmaQuickConfig.cmake
129 (native-inputs
130 (list extra-cmake-modules kdoctools pkg-config
131 gettext-minimal
132 ;; for wayland-scanner
133 wayland))
134 (inputs (list
135 karchive
136 kconfigwidgets
137 kglobalaccel
138 kguiaddons
139 kiconthemes
140 kio
141 ki18n
142 kglobalaccel
143 knotifications
144 plasma-wayland-protocols
145 plasma-activities
146 qtsvg
147 qtwayland
148 wayland
149 libxkbcommon))
150 (arguments
151 (list #:qtbase qtbase
152 #:test-exclude
153 (string-append "("
154 (string-join '("plasma-dialogstatetest"
155 "plasma-iconitemtest"
156 "plasma-dialogqmltest"
157 "plasma-themetest"
158 "iconitemhidpitest"
159 "bug485688test"
160 "dialognativetest")
161 "|")
162 ")")
163 #:phases
164 #~(modify-phases %standard-phases
165 (add-before 'check 'check-setup
166 (lambda* (#:key tests? #:allow-other-keys)
167 (when tests?
168 (setenv "HOME" (getcwd))))))))
169 (home-page "https://invent.kde.org/plasma/libplasma")
170 (synopsis "Libraries, components and tools of Plasma workspaces")
171 (description "The plasma framework provides QML components, libplasma and
172script engines.")
173 ;; dual licensed
174 (license (list license:gpl2+ license:lgpl2.1+))))
175
176(define-public aurorae
177 (package
178 (name "aurorae")
179 (version "6.5.5")
180 (source (origin
181 (method url-fetch)
182 (uri (string-append "mirror://kde/stable/plasma/" version "/"
183 name "-" version ".tar.xz"))
184 (sha256
185 (base32
186 "14ihqw2j8jwriqsmnvw3kgk0abdyywihvwfl68dx8vh47zfixl58"))))
187 (build-system qt-build-system)
188 (arguments
189 (list #:qtbase qtbase
190 #:tests? #f))
191 ;; These packages are required by the QML modules.
192 (propagated-inputs
193 (list kirigami
194 ksvg
195 qtdeclarative))
196 (native-inputs
197 (list extra-cmake-modules qttools))
198 (inputs
199 (list kcmutils
200 kcolorscheme
201 kconfig
202 kdecoration
203 ki18n
204 knewstuff
205 kpackage))
206 (synopsis "Themeable window decoration for KWin")
207 (description
208 "Aurorae is a themeable window decoration for KWin. It supports theme
209files consisting of several SVG files for decoration and buttons. Themes can
210be installed and selected directly in the configuration module of KWin
211decorations.")
212 (home-page "https://invent.kde.org/plasma/aurorae")
213 (license license:gpl2+)))
214
215(define-public bluedevil
216 (package
217 (name "bluedevil")
218 (version "6.5.5")
219 (source (origin
220 (method url-fetch)
221 (uri (string-append "mirror://kde/stable/plasma/" version "/"
222 name "-" version ".tar.xz"))
223 (sha256
224 (base32
225 "1dndb6zcsk2qsqj4cpnw6z6zvyj4nrnd076mgxl4rvs20k6lpcyj"))))
226 (build-system qt-build-system)
227 (arguments (list #:qtbase qtbase
228 #:tests? #f))
229 (native-inputs (list extra-cmake-modules pkg-config qttools))
230 (inputs (list kcoreaddons
231 kcmutils
232 kirigami
233 kwidgetsaddons
234 kdbusaddons
235 kjobwidgets
236 ksvg
237 knotifications
238 kwindowsystem
239 libplasma
240 ki18n
241 kio
242 kdeclarative
243 shared-mime-info
244 qtdeclarative))
245 (propagated-inputs
246 (list bluez-qt))
247 (synopsis "Manage the Bluetooth settings from Plasma")
248 (description
249 "This package provides Bluetooth manager for Plasma Shell.")
250 (home-page "https://invent.kde.org/plasma/bluedevil")
251 (license (list license:lgpl2.1 license:lgpl3))))
252
253(define-public breeze
254 (package
255 (name "breeze")
256 (version "6.5.5")
257 (source (origin
258 (method url-fetch)
259 (uri (string-append "mirror://kde/stable/plasma/" version "/"
260 name "-" version ".tar.xz"))
261 (sha256
262 (base32
263 "14557bmdvdp00ppri4s8i2pg441m40mz0ql484fbki464fyzgcq9"))))
264 (build-system qt-build-system)
265 ;; TODO: Check whether is makes sence splitting into several outputs.
266 (native-inputs
267 (list extra-cmake-modules pkg-config))
268 (inputs
269 (list kcmutils ; optional
270 kconfigwidgets
271 kcoreaddons
272 kde-frameworkintegration ; optional
273 kdecoration
274 kguiaddons
275 ki18n
276 kirigami
277 kiconthemes
278 kpackage
279 kwindowsystem
280 kcolorscheme
281 qtsvg))
282 (arguments (list #:qtbase qtbase
283 #:tests? #f
284 #:configure-flags #~(list "-DBUILD_QT5=OFF")))
285 (home-page "https://invent.kde.org/plasma/breeze")
286 (synopsis "Default KDE Plasma theme")
287 (description "Artwork, styles and assets for the Breeze visual style for
288the Plasma Desktop. Breeze is the default theme for the KDE Plasma desktop.")
289 (license license:gpl2+)))
290
291(define-public breeze-gtk
292 (package
293 (name "breeze-gtk")
294 (version "6.5.5")
295 (source (origin
296 (method url-fetch)
297 (uri (string-append "mirror://kde/stable/plasma/"
298 version "/" name
299 "-" version ".tar.xz"))
300 (sha256
301 (base32
302 "10fjaimhk15dq2l213hj7z67m6q837b2g18iwqa8q5mviw5lxnim"))))
303 (build-system qt-build-system)
304 (arguments
305 (list
306 #:qtbase qtbase
307 #:tests? #f)) ;no 'test' target
308 (native-inputs (list breeze extra-cmake-modules sassc python
309 python-pycairo))
310 (home-page "https://invent.kde.org/plasma/breeze")
311 (synopsis "Default KDE Plasma theme (GTK+ port)")
312 (description "GTK+ port of the Breeze visual style for the Plasma Desktop.
313Breeze is the default theme for the KDE Plasma desktop.")
314 (license (list license:bsd-3 ;cmake/FindSass.cmake
315 license:lgpl2.1+)))) ;<all other files>
316
317(define-public calindori
318 (package
319 (name "calindori")
320 (version "25.12.3")
321 (source (origin
322 (method url-fetch)
323 (uri (string-append "mirror://kde/stable/release-service/" version
324 "/src/calindori-" version ".tar.xz"))
325 (sha256
326 (base32
327 "1rp7dqvcpcgfvxvw8r1azz9az10bh22blb6a7nx6k9gmpgm8rrrj"))))
328 (build-system qt-build-system)
329 (native-inputs (list extra-cmake-modules python-minimal))
330 (inputs (list kconfig
331 kcoreaddons
332 kdbusaddons
333 ki18n
334 kirigami
335 kcalendarcore
336 knotifications
337 kpeople
338 qtdeclarative
339 qtsvg
340 qtwayland))
341 (arguments (list #:qtbase qtbase
342 #:tests? #f))
343 (home-page "https://invent.kde.org/plasma-mobile/calindori")
344 (synopsis "Calendar for Plasma Mobile")
345 (description
346 "This package provides a touch friendly calendar application.")
347 (license license:gpl3+)))
348
349(define-public discover
350 (package
351 (name "discover")
352 (version "6.5.5")
353 (source (origin
354 (method url-fetch)
355 (uri (string-append "mirror://kde/stable/plasma/"
356 version
357 "/"
358 name
359 "-"
360 version
361 ".tar.xz"))
362 (sha256
363 (base32
364 "0d4nd5rwzyyhsk5mphkrscarkxhsbigrcx7kn8anqwabhlnxs0j2"))))
365 (build-system qt-build-system)
366 (arguments
367 (list #:qtbase qtbase
368 #:test-exclude "flatpaktest"
369 #:phases
370 #~(modify-phases %standard-phases
371 (add-after 'unpack 'remove-qmlmodule-required
372 (lambda _
373 (substitute* "CMakeLists.txt"
374 (("1.0 REQUIRED")
375 "1.0"))))
376 (add-before 'configure 'set-LDFLAGS
377 (lambda _
378 (setenv "LDFLAGS" (string-append "-Wl,-rpath=" #$output
379 "/lib/plasma-discover"))))
380 (add-before 'check 'check-setup
381 (lambda* (#:key tests? #:allow-other-keys)
382 (when tests?
383 (setenv "XDG_DATA_DIRS"
384 (string-append (getcwd)
385 ":" (getenv "XDG_DATA_DIRS")))))))))
386 (native-inputs (list extra-cmake-modules pkg-config))
387 ;; TODO: Add packagekit-qt6 when a guix backend for packagekit will be
388 ;; available.
389 (inputs (list appstream-qt6
390 attica
391 fwupd ; optional
392 flatpak ; optional
393 kauth
394 kiconthemes
395 kstatusnotifieritem
396 kcoreaddons
397 kconfig
398 kcrash
399 kdbusaddons
400 ki18n
401 karchive
402 kxmlgui
403 kirigami
404 kirigami-addons
405 kitemmodels
406 kuserfeedback
407 knewstuff
408 knotifications
409 kio
410 kdeclarative
411 kcmutils
412 kidletime
413 libostree ; required by flatpak
414 markdown
415 purpose
416 qcoro-qt6
417 qt5compat
418 qtdeclarative
419 qtsvg
420 qtwayland
421 qtwebview
422 wayland)) ; required by flatpak
423 ;; -- The following features have been disabled:
424 ;; * RpmOstree, rpm-ostree binary to manage the system. Required to build the rpm-ostree backend
425 ;;
426 ;; -- The following OPTIONAL packages have not been found:
427 ;; * Snapd, Library that exposes Snapd, <https://www.snapcraft.io>
428 ;; Required to build the Snap backend
429 (synopsis "KDE and Plasma resources management GUI")
430 (description
431 "This package provides a way to find and install applications,
432games, and tools.")
433 (home-page "https://invent.kde.org/plasma/discover")
434 (license (list license:gpl2 license:gpl3))))
435
436(define-public flatpak-kcm
437 (package
438 (name "flatpak-kcm")
439 (version "6.5.5")
440 (source
441 (origin
442 (method url-fetch)
443 (uri (string-append "mirror://kde/stable/plasma/" version
444 "/flatpak-kcm-" version ".tar.xz"))
445 (sha256
446 (base32 "01nja6crs17nq8jrnsmrnlnyfjvz85frdllvslw85mmf8jzq6b7j"))))
447 (build-system qt-build-system)
448 (arguments
449 (list #:qtbase qtbase))
450 (native-inputs
451 (list extra-cmake-modules pkg-config))
452 (inputs
453 (list flatpak
454 kcmutils
455 kconfig
456 kcoreaddons
457 ki18n
458 kitemmodels
459 kservice
460 libostree ;required by flatpak
461 wayland ;required by flatpak
462 qtdeclarative
463 qtsvg))
464 (home-page "https://invent.kde.org/plasma/flatpak-kcm")
465 (synopsis "Flatpak permission management KCM")
466 (description "This package provides a KCModule to configure permissions for
467portal interactions. It also allows changing @code{flatpak} settings via the
468subsumed Flatpak KCM.
469
470Note: Some permissions don't make sense to show for non-sandboxed apps as they
471are only roxying @code{dbus}.")
472 (license license:gpl3+)))
473
474(define-public kactivitymanagerd
475 (package
476 (name "kactivitymanagerd")
477 (version "6.5.5")
478 (source (origin
479 (method url-fetch)
480 (uri (string-append "mirror://kde/stable/plasma/"
481 version "/" name "-"
482 version ".tar.xz"))
483 (sha256
484 (base32
485 "1y7vf40s7lx325yd7hckjg4kkys0m3cpbzmjrafwc3qqby3gi847"))))
486 (build-system qt-build-system)
487 (arguments (list #:qtbase qtbase
488 #:tests? #f))
489 (native-inputs (list extra-cmake-modules))
490 (inputs (list boost
491 kcompletion
492 kglobalaccel
493 kio
494 kxmlgui
495 kdbusaddons
496 ki18n
497 kcrash))
498 (synopsis "System service to manage user's activities")
499 (description "This package provides components for managing the KDE Activity
500concept.")
501 (home-page "https://invent.kde.org/plasma/kactivitymanagerd")
502 (license (list license:gpl2 license:gpl3))))
503
504(define-public klassy
505 (package
506 (name "klassy")
507 (version "6.5.2")
508 (source
509 (origin
510 (method git-fetch)
511 (uri (git-reference
512 (url "https://github.com/paulmcauley/klassy")
513 (commit (string-append "v" version))))
514 (file-name (git-file-name name version))
515 (sha256
516 (base32 "1dx8fa15jb8j1rnw5cpw1zp5016kazigqbldc5sdnfzx9gs4q4xc"))))
517 (build-system qt-build-system)
518 (native-inputs (list extra-cmake-modules))
519 (inputs (list qtsvg
520 kirigami
521 qtdeclarative
522 kconfig
523 kconfigwidgets
524 kcoreaddons
525 kcolorscheme
526 kdecoration
527 kcmutils
528 kguiaddons
529 kiconthemes
530 kwindowsystem
531 ki18n))
532 (arguments
533 (list
534 #:qtbase qtbase
535 #:tests? #f ; No tests.
536 #:configure-flags
537 #~(list "-DBUILD_QT5=OFF")))
538 (home-page "https://github.com/paulmcauley/klassy")
539 (synopsis "Customizable window decoration for the KDE Plasma desktop")
540 (description
541 "Klassy is a highly customizable binary Window Decoration,
542Application Style and Global Theme plugin for recent versions of the KDE Plasma
543desktop.")
544 (license (list license:bsd-3
545 license:cc0
546 license:expat
547 license:gpl2
548 license:gpl2+
549 license:gpl3))))
550
551(define-public krdp
552 (package
553 (name "krdp")
554 (version "6.5.5")
555 (source (origin
556 (method url-fetch)
557 (uri (string-append "mirror://kde/stable/plasma/"
558 version "/" name "-"
559 version ".tar.xz"))
560 (sha256
561 (base32
562 "1g9r2wdp3g8c53ypjlc1zm4akmic3z8zqqdgfbc3l0b207vnraw1"))))
563 (build-system qt-build-system)
564 (arguments (list #:qtbase qtbase
565 #:tests? #f
566 #:phases
567 #~(modify-phases %standard-phases
568 (add-after 'unpack 'hardcode-openssl
569 (lambda* (#:key inputs #:allow-other-keys)
570 (substitute* "src/kcm/kcmkrdpserver.cpp"
571 (("\"openssl\"")
572 (string-append
573 "\""
574 (search-input-file
575 inputs "/bin/openssl")
576 "\""))))))))
577 (native-inputs (list extra-cmake-modules
578 pkg-config
579 ;; for wayland-scanner
580 wayland))
581 (inputs (list
582 freerdp
583 kconfig
584 kcmutils
585 kcoreaddons
586 kcrash
587 kdbusaddons
588 kguiaddons
589 ki18n
590 kpipewire
591 kstatusnotifieritem
592 linux-pam
593 openssl
594 plasma-wayland-protocols
595 qtdeclarative
596 qtkeychain-qt6
597 qtwayland
598 wayland-protocols
599 wayland))
600 (synopsis "Library and examples for creating an RDP server")
601 (description "This package provides a library and examples for creating an
602RDP server.")
603 (home-page "https://invent.kde.org/plasma/krdp")
604 (license license:lgpl2.0+)))
605
606(define-public kde-gtk-config
607 (package
608 (name "kde-gtk-config")
609 (version "6.5.5")
610 (source (origin
611 (method url-fetch)
612 (uri (string-append "mirror://kde/stable/plasma/" version
613 "/kde-gtk-config-" version ".tar.xz"))
614 (sha256
615 (base32
616 "0nl8v7chgc219aw0xa2g5m177l2iqdvm8aqhik4nkfgws5g4lsv6"))))
617 (build-system qt-build-system)
618 (arguments
619 (list
620 #:qtbase qtbase
621 #:tests? #f
622 #:phases
623 #~(modify-phases %standard-phases
624 (add-after 'unpack 'patch-gsettings-schemas-path
625 (lambda* (#:key inputs #:allow-other-keys)
626 (substitute* "cmake/modules/FindGSettingSchemas.cmake"
627 (("\\$\\{PC_GLIB2_PREFIX\\}")
628 (assoc-ref inputs "gsettings-desktop-schemas"))))))))
629 (native-inputs
630 (list extra-cmake-modules pkg-config qtsvg sassc))
631 (inputs
632 (list gsettings-desktop-schemas
633 gtk+
634 kconfig
635 kconfigwidgets
636 kcoreaddons
637 kguiaddons
638 kdbusaddons
639 kdecoration
640 kwindowsystem
641 xsettingsd))
642 (home-page "https://invent.kde.org/plasma/kde-gtk-config")
643 (synopsis "Sync of KDE settings to GTK applications")
644 (description "This package provides tools to sync KDE settings to GTK
645applications.")
646 (license (list license:bsd-2 license:bsd-3 license:gpl2 license:gpl3))))
647
648(define-public kdecoration
649 (package
650 (name "kdecoration")
651 (version "6.5.5")
652 (source (origin
653 (method url-fetch)
654 (uri (string-append "mirror://kde/stable/plasma/" version
655 "/kdecoration-" version ".tar.xz"))
656 (sha256
657 (base32
658 "06k8acdj29llp3gavijjfgs9m3l7n5vyd3fpnqks81sg6z37n8fw"))))
659 (build-system qt-build-system)
660 (arguments (list #:qtbase qtbase))
661 (native-inputs
662 (list extra-cmake-modules))
663 (inputs
664 (list kcoreaddons ki18n))
665 (home-page "https://invent.kde.org/plasma/kdecoration")
666 (synopsis "Plugin based library to create window decorations")
667 (description "KDecoration is a library to create window decorations.
668These window decorations can be used by for example an X11 based window
669manager which re-parents a Client window to a window decoration frame.")
670 (license license:lgpl3+)))
671
672(define-public kde-cli-tools
673 (package
674 (name "kde-cli-tools")
675 (version "6.5.5")
676 (source (origin
677 (method url-fetch)
678 (uri (string-append "mirror://kde/stable/plasma/"
679 version "/" name "-" version ".tar.xz"))
680 (patches (search-patches "kde-cli-tools-delay-mime-db.patch"))
681 (sha256
682 (base32
683 "0y92l4km0d2s1ayg4lkwizh721lzgn657z718x2ma5b3iqy5sfq8"))))
684 (build-system qt-build-system)
685 (arguments
686 (list #:qtbase qtbase
687 #:tests? #f ;TODO: Failing 1 test
688 #:phases
689 #~(modify-phases %standard-phases
690 (add-after 'unpack 'set-writable-location
691 (lambda* _
692 (substitute* "keditfiletype/tests/filetypestest.cpp"
693 (("QStandardPaths::writableLocation.QStandardPaths::\
694GenericDataLocation.")
695 (string-append "\"" (getcwd) "/\"")))))
696 (add-before 'check 'setup-env
697 (lambda* _
698 (setenv "HOME" (getcwd)))))))
699 (native-inputs (list extra-cmake-modules pkg-config shared-mime-info))
700 (inputs (list kconfig
701 kdesu
702 kdoctools
703 kiconthemes
704 ki18n
705 kcmutils
706 kio
707 kservice
708 kwindowsystem
709 plasma-activities
710 kparts
711 plasma-workspace
712 qtsvg
713 libxkbcommon))
714 (synopsis "CLI tools for interacting with KDE")
715 (description "This package provides command-line tools based on
716KDE Frameworks 5 to better interact with the system.")
717 (home-page "https://invent.kde.org/plasma/kde-cli-tools")
718 (license license:lgpl2.0+)))
719
720(define-public kdeplasma-addons
721 (package
722 (name "kdeplasma-addons")
723 (version "6.5.5")
724 (source (origin
725 (method url-fetch)
726 (uri (string-append "mirror://kde/stable/plasma/" version
727 "/" name "-" version ".tar.xz"))
728 (sha256
729 (base32
730 "1jzmhhhjxl8fc2y1p7nm7cq8dfc53nx8mw3w06aqp6aqfac9pdij"))))
731 (build-system qt-build-system)
732 (arguments
733 (list #:qtbase qtbase
734 #:test-exclude "converterrunnertest"
735 #:phases #~(modify-phases %standard-phases
736 (add-before 'check 'check-setup
737 (lambda* (#:key inputs #:allow-other-keys)
738
739 (setenv "TZDIR"
740 (search-input-directory
741 inputs "share/zoneinfo")))))))
742 ;; These packages are required by th QML modules.
743 (propagated-inputs (list kcmutils
744 kconfig
745 kcoreaddons ;PlasmaPotdProviderConfig.cmake
746 kcoreaddons
747 kdeclarative
748 kirigami
749 kitemmodels
750 ksvg
751 kwindowsystem
752 libplasma
753 plasma5support
754 qt5compat
755 qtdeclarative))
756 (native-inputs (list extra-cmake-modules tzdata-for-tests))
757 (inputs (list karchive
758 kauth
759 kdbusaddons
760 kholidays
761 ki18n
762 kio
763 kglobalaccel
764 kxmlgui
765 knotifications
766 krunner
767 kservice
768 kunitconversion
769 knewstuff
770 purpose
771 sonnet
772 ;; qtwebengine ; Optional for online dictionary
773 qtdeclarative))
774 (synopsis "Add-ons to improve your Plasma experience")
775 (description
776 "This package provides multiple addons for the Plasma Desktop.")
777 (home-page "https://invent.kde.org/plasma/kdeplasma-addons")
778 (license license:lgpl2.0)))
779
780(define-public kgamma
781 (package
782 (name "kgamma")
783 (version "6.5.5")
784 (source (origin
785 (method url-fetch)
786 (uri (string-append "mirror://kde/stable/plasma/"
787 version "/" name "-"
788 version ".tar.xz"))
789 (sha256
790 (base32
791 "0diypww98nkidh5k2h9xb96av3v1hpxr18h76jyb1hindljmldrc"))))
792 (build-system qt-build-system)
793 (arguments
794 (list #:qtbase qtbase
795 #:tests? #f))
796 (native-inputs (list extra-cmake-modules kdoctools))
797 (inputs (list kauth
798 kcoreaddons
799 kconfig
800 kconfigwidgets
801 kcmutils
802 ki18n))
803 (synopsis "Adjust monitor gamma settings")
804 (description
805 "This package provides a tool to adjust your monitor gamma settings.")
806 (home-page "https://invent.kde.org/plasma/kgamma5")
807 (license license:gpl2+)))
808
809(define-public kglobalacceld
810 (package
811 (name "kglobalacceld")
812 (version "6.5.5")
813 (source (origin
814 (method url-fetch)
815 (uri (string-append "mirror://kde/stable/plasma/"
816 version "/" name "-"
817 version ".tar.xz"))
818 (sha256
819 (base32
820 "0xh1vifpdjsgipndvzzsxdz02da3ylq6hbcyv4a1w47dazcm4gka"))))
821 (build-system qt-build-system)
822 (arguments (list #:qtbase qtbase
823 #:phases
824 #~(modify-phases %standard-phases
825 (add-before 'check 'setenv
826 (lambda _
827 (setenv "HOME" (getcwd))))
828 (replace 'check
829 (lambda* (#:key tests? parallel-tests? #:allow-other-keys)
830 (invoke "dbus-launch" "ctest" "-j"
831 (if parallel-tests?
832 (number->string (parallel-job-count))
833 "1")))))))
834 (native-inputs (list extra-cmake-modules dbus))
835 (inputs (list kconfig
836 kcoreaddons
837 kcrash
838 kdbusaddons
839 kwindowsystem
840 kglobalaccel
841 kservice
842 kio
843 kjobwidgets
844 xcb-util-keysyms
845 libxkbcommon))
846 (synopsis "Daemon providing Global Keyboard Shortcut (Accelerator)
847functionality")
848 (description
849 "This package provides a Daemon providing Global Keyboard Shortcut
850(Accelerator) functionality.")
851 (home-page "https://invent.kde.org/plasma/kglobalacceld")
852 (license license:gpl2+)))
853
854(define-public kinfocenter
855 (package
856 (name "kinfocenter")
857 (version "6.5.5")
858 (source (origin
859 (method url-fetch)
860 (uri (string-append "mirror://kde/stable/plasma/" version
861 "/" name "-" version ".tar.xz"))
862 (sha256
863 (base32
864 "075qslmnxzgz07m5lrbbpnb5cj1pmb79mmbz877i8r409jgqyysn"))))
865 (build-system qt-build-system)
866 (arguments
867 (list
868 #:qtbase qtbase
869 #:phases
870 #~(modify-phases %standard-phases
871 (add-after 'unpack 'set-path
872 (lambda* (#:key inputs #:allow-other-keys)
873 (let ((replace (lambda (file cmd)
874 (substitute* file
875 (((string-append
876 "\""
877 cmd
878 "\""))
879 (string-append
880 "\""
881 (search-input-file
882 inputs
883 (string-append "/bin/" cmd))
884 "\"")))))
885 (dmidecode (search-input-file inputs "/sbin/dmidecode")))
886 (substitute* "CMakeLists.txt"
887 (("\\$\\{KDE_INSTALL_FULL_BINDIR\\}/systemsettings")
888 (search-input-file inputs
889 "/bin/.systemsettings-real")))
890 (substitute* "kcms/kwinsupportinfo/kcm_kwinsupportinfo.json.in"
891 (("@QtBinariesDir@/qdbus")
892 (search-input-file inputs "/bin/qdbus")))
893 (substitute* "kcms/kwinsupportinfo/main.cpp"
894 (("QLibraryInfo::path\\(QLibraryInfo::BinariesPath\\) \\+ QStringLiteral\\(\"/qdbus\"\\)")
895 (string-append "QStringLiteral(\"" (search-input-file inputs "/bin/qdbus") "\")")))
896 (substitute* "kcms/memory/kcm_memory.json"
897 (("pkexec dmidecode")
898 (string-append
899 "pkexec " dmidecode)))
900 (substitute* "kcms/memory/main.cpp"
901 (("dmidecode") dmidecode))
902 (substitute* '("kcms/firmware_security/main.cpp"
903 "kcms/firmware_security/fwupdmgr.sh"
904 "kcms/firmware_security/kcm_firmware_security.json")
905 (("aha") (search-input-file inputs "/bin/aha"))
906 (("\"fwupdmgr\"") (string-append "\"" (search-input-file inputs "/bin/fwupdmgr") "\""))
907 (("fwupdmgr security") (string-append (search-input-file inputs "/bin/fwupdmgr") " security"))
908 (("sed") (search-input-file inputs "/bin/sed"))
909 (("/bin/sh") (search-input-file inputs "/bin/sh")))
910 (replace '("kcms/cpu/kcm_cpu.json"
911 "kcms/cpu/main.cpp") "lscpu")
912 (replace '("kcms/opencl/kcm_opencl.json"
913 "kcms/opencl/main.cpp") "clinfo")
914 (replace '("kcms/vulkan/kcm_vulkan.json"
915 "kcms/vulkan/main.cpp") "vulkaninfo")
916 (replace '("kcms/glx/kcm_glx.json"
917 "kcms/glx/main.cpp") "glxinfo")
918 (replace '("kcms/wayland/kcm_wayland.json"
919 "kcms/wayland/main.cpp") "wayland-info")
920 (replace '("kcms/egl/kcm_egl.json"
921 "kcms/egl/main.cpp") "eglinfo")
922 (replace '("kcms/xserver/kcm_xserver.json"
923 "kcms/xserver/main.cpp") "xdpyinfo")))))))
924 (native-inputs (list aha extra-cmake-modules kdoctools pkg-config qttools))
925 ;; * vulkaninfo
926 ;; Wayland KCM
927 (inputs (list bash-minimal
928 clinfo
929 dmidecode
930 eudev
931 fwupd
932 kauth
933 kconfig
934 kconfigwidgets
935 kcoreaddons
936 kirigami
937 ki18n
938 kcmutils
939 kio
940 kservice
941 libusb
942 kwidgetsaddons
943 kdeclarative
944 kpackage
945 kwayland
946 mesa-utils
947 pciutils
948 libplasma
949 qttools
950 qtwayland
951 solid
952 util-linux
953 vulkan-tools
954 wayland-utils
955 xdpyinfo))
956 (propagated-inputs (list system-settings))
957 (home-page "https://invent.kde.org/plasma/kinfocenter")
958 (synopsis "View information about computer's hardware")
959 (description "This package provides tool to view information about
960computer's hardware.")
961 (license (list license:gpl2 license:gpl3))))
962
963(define-public kmenuedit
964 (package
965 (name "kmenuedit")
966 (version "6.5.5")
967 (source (origin
968 (method url-fetch)
969 (uri (string-append "mirror://kde/stable/plasma/"
970 version "/" name "-" version
971 ".tar.xz"))
972 (sha256
973 (base32
974 "17q23zyx46xjafsyvyvm2rf0i6fli000i0xvw04x1j1dbqhdh1a5"))))
975 (build-system qt-build-system)
976 (arguments (list #:qtbase qtbase
977 #:tests? #f))
978 (native-inputs (list extra-cmake-modules kdoctools))
979 (inputs (list kcrash
980 ki18n
981 kxmlgui
982 kdbusaddons
983 kiconthemes
984 kio
985 kitemviews
986 sonnet
987 kglobalaccel
988 kwindowsystem
989 qtwayland))
990 (synopsis "Menu Editor for Plasma Workspaces")
991 (description "This package provides menu editor for Plasma Workspaces.")
992 (home-page "https://invent.kde.org/plasma/kmenuedit")
993 (license license:gpl2+)))
994
995(define-public knighttime
996 (package
997 (name "knighttime")
998 (version "6.5.5")
999 (source (origin
1000 (method url-fetch)
1001 (uri (string-append "mirror://kde/stable/plasma/"
1002 version "/" name "-" version
1003 ".tar.xz"))
1004 (sha256
1005 (base32
1006 "18rnlxgsjhrvkyn85m022m6vam7bbfb52hrg5fxndy2rf2xk0951"))))
1007 (build-system qt-build-system)
1008 (arguments (list #:qtbase qtbase))
1009 (native-inputs (list extra-cmake-modules qttools))
1010 (inputs (list kconfig
1011 kcoreaddons
1012 kdbusaddons
1013 kholidays
1014 ki18n
1015 qtpositioning))
1016 (synopsis "Helpers for scheduling the dark-light cycle")
1017 (description "KNightTime provides helpers for scheduling the dark-light
1018cycle. It can be used to implement features such as adjusting the screen color
1019temperature based on time of day, etc.")
1020 (home-page "https://invent.kde.org/plasma/knighttime")
1021 (license license:lgpl3+)))
1022
1023(define-public koi
1024 (package
1025 (name "koi")
1026 (version "0.6")
1027 (source
1028 (origin
1029 (method git-fetch)
1030 (uri (git-reference
1031 (url "https://github.com/baduhai/Koi")
1032 (commit version)))
1033 (file-name (git-file-name name version))
1034 (sha256
1035 (base32 "1xhrdkfsyn2qpiscp4smd2gr4vfplaid1m6lqh4lhasscvwx45k1"))))
1036 (build-system qt-build-system)
1037 (inputs (list kconfig
1038 kcoreaddons
1039 kconfigwidgets
1040 kdbusaddons
1041 kde-cli-tools
1042 kvantum
1043 plasma-workspace
1044 qtwayland))
1045 (arguments
1046 (list
1047 #:modules '((ice-9 ftw)
1048 (guix build qt-build-system)
1049 (guix build utils))
1050 #:tests? #f
1051 #:qtbase qtbase
1052 #:phases
1053 #~(modify-phases %standard-phases
1054 (add-after 'unpack 'fix-hardcoded-paths
1055 (lambda* (#:key inputs #:allow-other-keys)
1056 ;; Correct theme search paths. This won't be needed if the
1057 ;; following request is implemented:
1058 ;; https://github.com/baduhai/Koi/issues/123
1059 (ftw "."
1060 (lambda (file _ flag)
1061 (when (and (eq? flag 'regular)
1062 (or (string-suffix? ".c" file)
1063 (string-suffix? ".cpp" file)))
1064 (substitute* file
1065 (("/var/run/current-system/sw")
1066 "/run/current-system/profile")))))
1067 ;; Correct executable paths.
1068 (substitute* "src/utils.cpp"
1069 (("/usr/bin/kquitapp6")
1070 (search-input-file inputs "bin/kquitapp6"))
1071 (("/usr/bin/kstart")
1072 (search-input-file inputs "bin/kstart")))
1073 (substitute* "src/plugins/plasmastyle.cpp"
1074 (("/usr/bin/plasma-apply-desktoptheme")
1075 (search-input-file inputs "bin/plasma-apply-desktoptheme")))
1076 (substitute* "src/plugins/kvantumstyle.cpp"
1077 (("/usr/bin/kvantummanager")
1078 (search-input-file inputs "bin/kvantummanager")))
1079 (substitute* "src/plugins/colorscheme.cpp"
1080 (("programToLocate = \\{\"plasma-apply-colorscheme\"\\}")
1081 (string-append "programToLocate = {\""
1082 (search-input-file inputs
1083 "bin/plasma-apply-colorscheme") "\"}")))
1084 (substitute* "src/plugins/icons.cpp"
1085 (("programToLocate = \\{\"plasma-changeicons\"\\}")
1086 (string-append "programToLocate = {\""
1087 (search-input-file inputs
1088 "libexec/plasma-changeicons") "\"}")))
1089 (substitute* "src/plugins/script.cpp"
1090 (("programToLocate = \\{\"bash\"\\}")
1091 (string-append "programToLocate = {\""
1092 (search-input-file inputs "bin/bash") "\"}"))))))))
1093 (home-page "https://github.com/baduhai/Koi")
1094 (synopsis "Theme scheduling for the KDE Plasma Desktop")
1095 (description
1096 "Koi is a program designed to provide the KDE Plasma Desktop functionality
1097to automatically switch between light and dark themes.")
1098 (license license:lgpl3)))
1099
1100(define-public kpipewire
1101 (package
1102 (name "kpipewire")
1103 (version "6.5.5")
1104 (source (origin
1105 (method url-fetch)
1106 (uri (string-append "mirror://kde/stable/plasma/"
1107 version "/" name "-" version ".tar.xz"))
1108 (sha256
1109 (base32
1110 "0m73phg6ynma0m7z764b795qjnjns89cxbwa48cg97dh1i2dpb2a"))))
1111 (build-system cmake-build-system)
1112 (native-inputs (list extra-cmake-modules pkg-config))
1113 (propagated-inputs (list qtbase qtdeclarative
1114 ;; include/KPipeWire/dmabufhandler.h include it.
1115 libepoxy))
1116 (inputs (list libxkbcommon
1117 libva
1118 pipewire
1119 ffmpeg-6
1120 kcoreaddons
1121 ki18n
1122 kwayland
1123 plasma-wayland-protocols
1124 qtwayland
1125 wayland
1126 wayland-protocols))
1127 (arguments
1128 ;; The only test require run pipewire.
1129 (list #:tests? #f))
1130 (home-page "https://invent.kde.org/plasma/kpipewire")
1131 (synopsis "Components relating to pipewire use in Plasma")
1132 (description "This package offers a set of convenient classes to use
1133PipeWire in Qt projects.")
1134 ;; LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
1135 (license (list license:lgpl2.1 license:lgpl3))))
1136
1137(define-public kscreen
1138 (package
1139 (name "kscreen")
1140 (version "6.5.5")
1141 (source (origin
1142 (method url-fetch)
1143 (uri (string-append "mirror://kde/stable/plasma/"
1144 version "/" name "-" version
1145 ".tar.xz"))
1146 (sha256
1147 (base32
1148 "0gy5hc7cvh9g88g0xyy3cs8w3zm8vw46jmbpkqr2f5jyh8ra5j87"))))
1149 (build-system cmake-build-system)
1150 (arguments
1151 ;; TODO: All tests fail
1152 (list #:tests? #f))
1153 (native-inputs (list extra-cmake-modules qttools pkg-config
1154 wayland
1155 wayland-protocols
1156 qtwayland))
1157 (inputs (list kcmutils
1158 kconfig
1159 kcoreaddons
1160 kcrash
1161 kdbusaddons
1162 kdeclarative
1163 kglobalaccel
1164 ki18n
1165 kiconthemes
1166 kimageformats
1167 ksvg
1168 kwindowsystem
1169 kxmlgui
1170 layer-shell-qt
1171 libkscreen
1172 libplasma
1173 libxi
1174 libxkbcommon
1175 plasma-wayland-protocols
1176 qtbase
1177 qtsensors
1178 qtwayland
1179 xcb-util))
1180 (home-page "https://invent.kde.org/plasma/kscreen")
1181 (synopsis "Screen management software")
1182 (description "This package provides the screen management software for
1183KDE Plasma Workspaces.")
1184 (license license:gpl2+)))
1185
1186(define-public ksshaskpass
1187 (package
1188 (name "ksshaskpass")
1189 (version "6.5.5")
1190 (source (origin
1191 (method url-fetch)
1192 (uri (string-append "mirror://kde/stable/plasma/" version
1193 "/ksshaskpass-" version ".tar.xz"))
1194 (sha256
1195 (base32
1196 "1jvbxhamibl3d4r5nlpn1si4xxw8045q6nn37nsidfa2cjgp47hr"))))
1197 (build-system qt-build-system)
1198 (arguments
1199 (list #:qtbase qtbase
1200 #:tests? #f))
1201 (native-inputs
1202 (list extra-cmake-modules kdoctools))
1203 (inputs
1204 (list kcoreaddons ki18n kwallet kwidgetsaddons qtwayland))
1205 (home-page "https://invent.kde.org/plasma/ksshaskpass")
1206 (synopsis "Front-end for ssh-add using kwallet")
1207 (description "Ksshaskpass is a front-end for @code{ssh-add} which stores the
1208password of the ssh key in KWallet. Ksshaskpass is not meant to be executed
1209directly, you need to tell @code{ssh-add} about it. @code{ssh-add} will then
1210call it if it is not associated to a terminal.")
1211 (license license:gpl2+)))
1212
1213(define-public ksystemstats
1214 (package
1215 (name "ksystemstats")
1216 (version "6.5.5")
1217 (source (origin
1218 (method url-fetch)
1219 (uri (string-append "mirror://kde/stable/plasma/"
1220 version "/" name "-"
1221 version ".tar.xz"))
1222 (sha256
1223 (base32
1224 "17ffml9280f75p73m5b0mji5h2q577sfck2kv3y24kq87m09f465"))))
1225 (build-system qt-build-system)
1226 (arguments
1227 (list #:qtbase qtbase
1228 #:test-exclude "ksystemstatstest"))
1229 (native-inputs (list extra-cmake-modules pkg-config))
1230 (inputs (list glib
1231 kcoreaddons
1232 kcrash
1233 kdbusaddons
1234 solid
1235 networkmanager-qt
1236 kiconthemes
1237 kio
1238 ki18n
1239 libksysguard
1240 libnl
1241 eudev
1242 `(,lm-sensors "lib")
1243 network-manager))
1244 (synopsis "Plugin based system monitoring daemon")
1245 (description
1246 "This package provides a daemon that collects statistics about
1247the running system.")
1248 (home-page "https://invent.kde.org/plasma/ksystemstats")
1249 (license (list license:gpl2 license:gpl3))))
1250
1251(define-public layer-shell-qt
1252 (package
1253 (name "layer-shell-qt")
1254 (version "6.5.5")
1255 (source (origin
1256 (method url-fetch)
1257 (uri (string-append "mirror://kde/stable/plasma/" version
1258 "/layer-shell-qt-" version ".tar.xz"))
1259 (sha256
1260 (base32
1261 "049cmgz8i7ym1xdkakcvm7ak1y2yb58qnc6q1hrbqz4bbgjzwi38"))))
1262 (build-system qt-build-system)
1263 (arguments
1264 (list #:qtbase qtbase
1265 #:tests? #f))
1266 (propagated-inputs
1267 (list qtdeclarative)) ;as required by LayerShellQtConfig.cmake
1268 (native-inputs
1269 (list extra-cmake-modules pkg-config))
1270 (inputs
1271 (list libxkbcommon
1272 qtwayland
1273 wayland
1274 wayland-protocols))
1275 (home-page "https://invent.kde.org/plasma/layer-shell-qt")
1276 (synopsis "Qt component for the Wayland ql-layer-shell protocol")
1277 (description "Qt component for the Wayland ql-layer-shell protocol.")
1278 (license license:gpl2+)))
1279
1280(define-public kscreenlocker
1281 (package
1282 (name "kscreenlocker")
1283 (version "6.5.5")
1284 (source (origin
1285 (method url-fetch)
1286 (uri (string-append "mirror://kde/stable/plasma/" version
1287 "/kscreenlocker-" version ".tar.xz"))
1288 (sha256
1289 (base32
1290 "0gpk2fsbg3s4mqizslhjlcr1cm79ylmpwyq4w6kx6assjag6838m"))))
1291 (build-system qt-build-system)
1292 (arguments
1293 (list #:tests? #f ;TODO: make tests pass
1294 #:qtbase qtbase
1295 #:phases #~(modify-phases %standard-phases
1296 (add-before 'check 'check-setup
1297 (lambda* (#:key inputs outputs #:allow-other-keys)
1298 (system "Xvfb :1 -screen 0 640x480x24 &")
1299 (setenv "DISPLAY" ":1")))
1300 (delete 'check)
1301 ;; Tests use the installed library and require a DBus session.
1302 (add-after 'install 'check
1303 (lambda* (#:key tests? #:allow-other-keys)
1304 (if tests?
1305 (begin
1306 (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
1307 (invoke "dbus-launch" "ctest"))))))))
1308 (native-inputs (list extra-cmake-modules pkg-config
1309 ;; for WaylandScanner
1310 wayland
1311 ;; For tests.
1312 dbus xorg-server-for-tests))
1313 (inputs (list kcmutils
1314 kconfig
1315 kcrash
1316 kglobalaccel
1317 ki18n
1318 kio
1319 kidletime
1320 knotifications
1321 kwayland
1322 kwindowsystem
1323 kxmlgui
1324 ksvg
1325 layer-shell-qt
1326 libkscreen
1327 libplasma
1328 libxi ;XInput, required for grabbing XInput2 devices
1329 linux-pam
1330 libxkbcommon
1331 elogind ;optional loginctl support
1332 qtdeclarative
1333 solid
1334 wayland
1335 xcb-util-keysyms))
1336 (home-page "https://invent.kde.org/plasma/kscreenlocker")
1337 (synopsis "Screen locking library")
1338 (description
1339 "@code{kscreenlocker} is a library for creating secure lock screens.")
1340 (license license:gpl2+)))
1341
1342(define-public libkscreen
1343 (package
1344 (name "libkscreen")
1345 (version "6.5.5")
1346 (source
1347 (origin
1348 (method url-fetch)
1349 (uri (string-append "mirror://kde/stable/plasma/" version "/"
1350 name "-" version ".tar.xz"))
1351 (sha256
1352 (base32 "1yb1r2786fi0x304i4ky5ygxkba57vcxgvrl1a00djdhv1ng0nsr"))))
1353 (build-system qt-build-system)
1354 (arguments
1355 (list
1356 #:qtbase qtbase
1357 #:test-exclude "kscreen-testqscreenbackend"
1358 #:phases
1359 #~(modify-phases %standard-phases
1360 (add-before 'check 'check-env-setup
1361 (lambda* (#:key tests? #:allow-other-keys)
1362 (when tests?
1363 (setenv "HOME" (getcwd))
1364 (with-output-to-file "autotests/BLACKLIST"
1365 (lambda _
1366 (for-each
1367 (lambda (name)
1368 (display (string-append "[" name "]\n*\n")))
1369 (list
1370 "verifyOutputs"
1371 ;; also fail on upstream
1372 "testEdidParser"
1373 "testEnv"
1374 "testPreferredBackend"
1375 "testFallback"
1376 "testModeSwitching"
1377 "verifyConfig"))))))))))
1378 (native-inputs
1379 (list extra-cmake-modules
1380 pkg-config
1381 qttools
1382 ;; For testing.
1383 dbus))
1384 (inputs
1385 (list kwayland libxrandr plasma-wayland-protocols qtwayland
1386 wayland
1387 libxkbcommon))
1388 (home-page "https://community.kde.org/Solid/Projects/ScreenManagement")
1389 (synopsis "KDE's screen management software")
1390 (description "KScreen is the new screen management software for KDE Plasma
1391Workspaces which tries to be as magic and automatic as possible for users with
1392basic needs and easy to configure for those who want special setups.")
1393 (license license:gpl2+)))
1394
1395(define-public libksysguard
1396 (package
1397 (name "libksysguard")
1398 (version "6.5.5")
1399 (source
1400 (origin
1401 (method url-fetch)
1402 (uri (string-append "mirror://kde/stable/plasma/" version
1403 "/libksysguard-" version ".tar.xz"))
1404 (sha256
1405 (base32 "0kbkvab6355b92p0q9fvwjrh4xvddnk2nzgj33pnmyhx5f0y9f12"))))
1406 (propagated-inputs
1407 (list ;; As required by KSysGuardConfig.cmake.
1408 kconfig ki18n
1409 ;; As required by the QML modules.
1410 kirigami kitemmodels kquickcharts qt5compat qtdeclarative))
1411 (native-inputs
1412 (list bash-minimal extra-cmake-modules pkg-config qttools))
1413 (inputs
1414 (list kauth
1415 kcoreaddons
1416 knewstuff
1417 kpackage
1418 kservice
1419 libnl
1420 libcap
1421 libpcap
1422 `(,lm-sensors "lib")
1423 solid
1424 zlib))
1425 (build-system qt-build-system)
1426 (arguments
1427 (list
1428 #:qtbase qtbase
1429 #:phases #~(modify-phases %standard-phases
1430 (add-after 'unpack 'fix-test
1431 (lambda* _
1432 (substitute* "autotests/processtest.cpp"
1433 (("/bin/sh")
1434 (which "bash"))))))))
1435 (home-page "https://userbase.kde.org/KSysGuard")
1436 (synopsis "Network enabled task and system monitoring")
1437 (description "KSysGuard can obtain information on system load and
1438manage running processes. It obtains this information by interacting
1439with a ksysguardd daemon, which may also run on a remote system.")
1440 (license license:gpl3+)))
1441
1442(define-public kwallet-pam
1443 (package
1444 (name "kwallet-pam")
1445 (version "6.5.5")
1446 (source (origin
1447 (method url-fetch)
1448 (uri (string-append "mirror://kde/stable/plasma/"
1449 version "/" name "-" version
1450 ".tar.xz"))
1451 (sha256
1452 (base32
1453 "1dhpxf1xqkch68kqmaq08ynwixxs6d0pkz75dziyyyijf7z03yhl"))))
1454 (build-system qt-build-system)
1455 (arguments
1456 (list
1457 #:qtbase qtbase
1458 #:tests? #f ;no tests
1459 #:phases
1460 #~(modify-phases %standard-phases
1461 (add-after 'install 'fix-socat-path
1462 (lambda* (#:key inputs #:allow-other-keys)
1463 (substitute* (string-append #$output
1464 "/libexec/pam_kwallet_init")
1465 (("socat")
1466 (search-input-file inputs "bin/socat"))))))))
1467 (native-inputs (list extra-cmake-modules pkg-config))
1468 (inputs (list linux-pam kwallet libgcrypt socat))
1469 (synopsis "PAM Integration with KWallet")
1470 (description "Provide PAM Integration with KWallet to unlock KWallet when
1471you login.")
1472 (home-page "https://invent.kde.org/plasma/kwallet-pam")
1473 (license (list license:lgpl2.1+))))
1474
1475(define-public kwin
1476 (package
1477 (name "kwin")
1478 (version "6.5.5")
1479 (source (origin
1480 (method url-fetch)
1481 (uri (string-append "mirror://kde/stable/plasma/"
1482 version "/"
1483 name "-" version ".tar.xz"))
1484 (patches (search-patches "kwin-unwrap-executable-name-for-dot-desktop-search.patch"))
1485 (sha256
1486 (base32
1487 "0ihy0lzi0skp4jn4rnc9abvbdl8k2wnmfiddgb5784938i889bgv"))))
1488 (build-system qt-build-system)
1489 (arguments
1490 (list
1491 #:qtbase qtbase
1492 #:test-exclude
1493 (string-append "("
1494 (string-join
1495 `(;; Fails on an Apple M1 (aarch64) with the following error:
1496 ;; TestColorspaces::roundtripConversion fails
1497 "kwin-testColorspaces"
1498
1499 "kwin-testDrm" ;; require Drm
1500 "kwin-testInputMethod"
1501 "kwin-testPlasmaWindow" ;; require plasma-workspace qml module.
1502 "kwin-testButtonRebind"
1503 "kwin-testDecorationInput"
1504 "kwin-testPointerInput"
1505 "kwin-testXdgShellWindow"
1506 "kwin-testXdgShellWindow-waylandonly"
1507 "kwin-testSceneOpenGLES"
1508 "kwin-testSceneOpenGLES-waylandonly"
1509 "kwin-testNightColor"
1510 "kwin-testNightColor-waylandonly"
1511 "kwin-testScriptedEffects"
1512 "kwayland-testServerSideDecoration"
1513 "kwayland-testWaylandSurface"
1514
1515 "kwin-testLibinputDevice"
1516 "kwin-testLockScreen"
1517 "kwin-testTabBox"
1518 "kwin-testKeyboardInput"
1519 "kwin-testKeyboardLayout"
1520 "kwin-testQuickTiling"
1521 "kwin-testDbusInterface"
1522 "kwin-testX11KeyRead"
1523 "kwin-testVirtualKeyboardDBus"
1524 "kwin-testGlobalShortcuts"
1525 "kwin-testKWinBindings"
1526 "kwin-testMinimizeAllScript"
1527 "kwin-testLibinputDevice"
1528 "kwin-testX11Window"
1529 "kwin-testXwaylandInput"
1530 "kwin-testWindowRules"
1531
1532 "kwin-testXdgShellWindowRules"
1533 "kwin-testStickyKeys"
1534 "kwin-testFractionalRepaint"
1535 "kwin-testDrmLegacy"
1536 "kwin-testInputCapture"
1537 "kwin-testMockDrm"
1538 "kwin-testSecurityContext"
1539 "kwin-testXwaylandSelection"
1540
1541 "kwin-testA11yKeyboardMonitor")
1542 "|")
1543 ")")
1544 #:phases
1545 #~(modify-phases %standard-phases
1546 (add-after 'unpack 'patch
1547 (lambda* (#:key inputs #:allow-other-keys)
1548 (substitute*
1549 '("autotests/integration/dont_crash_glxgears.cpp"
1550 "autotests/integration/debug_console_test.cpp"
1551 "autotests/integration/x11_window_test.cpp")
1552 (("setProgram\\(QStringLiteral\\(\"glxgears\"\\)")
1553 (string-append
1554 "setProgram(QByteArrayLiteral(\"" (which "glxgears") "\")")))
1555 (substitute*
1556 '("tests/renderingservertest.cpp"
1557 "tests/waylandservertest.cpp")
1558 (("QByteArrayLiteral\\(\"Xwayland\"\\)")
1559 (string-append
1560 "QByteArrayLiteral(\"" (which "Xwayland") "\")")))
1561 (substitute* '("src/xwayland/xwaylandlauncher.cpp")
1562 (("findExecutable\\(\"Xwayland\"\\)")
1563 (string-append
1564 "findExecutable(\""
1565 (search-input-file inputs "/bin/Xwayland") "\")")))
1566 ;; https://github.com/NixOS/nixpkgs/blob/6da4bc6cb07cba1b8e53d139cbf1d2fb8061d967/pkgs/desktops/plasma-5/kwin/0003-plugins-qpa-allow-using-nixos-wrapper.patch
1567 (substitute* "src/plugins/qpa/main.cpp"
1568 (("(\\(QLatin1String\\(\"kwin_wayland\"\\)\\))" _ start)
1569 (string-append start " && !QCoreApplication::applicationFilePath()\
1570.endsWith(QLatin1String(\".kwin_wayland-real\"))" )))
1571 (substitute* '("cmake/modules/Findhwdata.cmake")
1572 (("/usr/share")
1573 (string-append #$(this-package-input "hwdata") "/share")))))
1574 (replace 'check
1575 (lambda* (#:key tests? (test-exclude "") #:allow-other-keys)
1576 (when tests?
1577 (setenv "XDG_RUNTIME_DIR" (getcwd))
1578 (setenv "HOME" (getcwd))
1579 (setenv "XDG_DATA_DIRS"
1580 (string-append #$output "/share:"
1581 (getenv "XDG_DATA_DIRS")))
1582 (setenv "QT_PLUGIN_PATH"
1583 (string-append #$output
1584 "/lib/qt6/plugins:"
1585 (getenv "QT_PLUGIN_PATH")))
1586 (setenv "DISPLAY" ":1")
1587 (system "Xvfb :1 &")
1588 (sleep 5)
1589 (invoke "dbus-launch" "ctest" "-E" test-exclude)))))))
1590 ;; As required by KWinConfig.cmake.
1591 (propagated-inputs (list kconfig
1592 kcoreaddons
1593 kwindowsystem
1594 libepoxy
1595 wayland))
1596 (native-inputs (list extra-cmake-modules
1597 dbus
1598 kdoctools
1599 mesa-utils
1600 pkg-config
1601 qttools
1602 wayland-protocols
1603 xorg-server-for-tests
1604 python-minimal
1605 ;; for QtWaylandScanner
1606 qtwayland))
1607 (inputs (list aurorae
1608 breeze
1609 eudev
1610 fontconfig
1611 freetype
1612 hwdata
1613 kauth
1614 kcmutils
1615 kcompletion
1616 kcrash
1617 kdbusaddons
1618 kdeclarative
1619 kdecoration
1620 kglobalaccel
1621 kglobalacceld
1622 kguiaddons
1623 ki18n
1624 kiconthemes
1625 kidletime
1626 kio
1627 kirigami
1628 knewstuff
1629 knighttime
1630 knotifications
1631 kpackage
1632 kpipewire
1633 krunner
1634 kscreenlocker
1635 ktextwidgets
1636 kwayland
1637 kxmlgui
1638 ksvg
1639 lcms
1640 libcanberra
1641 libcap
1642 libdisplay-info
1643 libei
1644 libinput
1645 libplasma
1646 libqaccessibilityclient
1647 libxkbcommon
1648 pipewire
1649 plasma-activities
1650 plasma-wayland-protocols
1651 qt5compat
1652 qtdeclarative
1653 qtmultimedia
1654 qtwayland
1655 qtsensors
1656 qtsvg
1657 xcb-util ;fails at build time without this
1658 xcb-util-cursor
1659 xcb-util-keysyms
1660 xcb-util-wm
1661 xcmsdb
1662 xinput ;XXX: Says disabled in configure phase
1663 xorg-server-xwayland
1664 zlib))
1665 ;; Runtime-only dependency needed for mapping monitor hardware vendor IDs to full names
1666 ;; * QtQuick.Controls-QMLModule, QML module 'QtQuick.Controls' is a runtime dependency.
1667 ;; * org.kde.plasma.core-QMLModule, QML module 'org.kde.plasma.core' is a runtime dependency.
1668 ;; * org.kde.plasma.components-QMLModule, QML module 'org.kde.plasma.components' is a runtime dependency.
1669 (home-page "https://userbase.kde.org/KWin")
1670 (synopsis "KDE Plasma Window Manager")
1671 (description
1672 "KWin is an easy to use, but flexible, composited Window Manager for
1673Xorg windowing systems (Wayland, X11) on Linux. Its primary usage is in
1674conjunction with the KDE Plasma Desktop.")
1675 (license license:gpl2+)))
1676
1677(define-public kwrited
1678 (package
1679 (name "kwrited")
1680 (version "6.5.5")
1681 (source (origin
1682 (method url-fetch)
1683 (uri (string-append "mirror://kde/stable/plasma/"
1684 version "/" name "-"
1685 version ".tar.xz"))
1686 (sha256
1687 (base32
1688 "1358v7qapfdf07xcan2vk1282sx11qknxyhvlhzdm27ds1py9b6h"))))
1689 (build-system qt-build-system)
1690 (native-inputs (list extra-cmake-modules))
1691 (inputs (list kcoreaddons ki18n kpty knotifications))
1692 (arguments
1693 (list #:qtbase qtbase
1694 #:tests? #f))
1695 (home-page "https://invent.kde.org/plasma/kwrited")
1696 (synopsis "System notification daemon")
1697 (description
1698 "This package provides a daemon that listens to system notifications.")
1699 (license license:gpl2+)))
1700
1701(define-public milou
1702 (package
1703 (name "milou")
1704 (version "6.5.5")
1705 (source (origin
1706 (method url-fetch)
1707 (uri (string-append "mirror://kde/stable/plasma/"
1708 version "/" name "-"
1709 version ".tar.xz"))
1710 (sha256
1711 (base32
1712 "1pc97l90l7fw6s6lmqkh22rci24d8b48ycwpv404iyyr0ad0j7g8"))))
1713 (build-system qt-build-system)
1714 ;; As required to be imported by the plasmoid on runtime.
1715 (propagated-inputs (list kirigami libplasma qtdeclarative))
1716 (native-inputs (list extra-cmake-modules))
1717 (inputs (list kcoreaddons
1718 ki18n
1719 kdeclarative
1720 kitemmodels
1721 kservice
1722 kwindowsystem
1723 krunner
1724 ksvg))
1725 (arguments (list #:qtbase qtbase
1726 #:tests? #f))
1727 (synopsis "Dedicated search application built on top of Baloo")
1728 (description "This package provides a dedicated search application built
1729on top of Baloo.")
1730 (home-page "https://invent.kde.org/plasma/milou")
1731 (license (list license:gpl2+))))
1732
1733(define-public qqc2-breeze-style
1734 (package
1735 (name "qqc2-breeze-style")
1736 (version "6.5.5")
1737 (source (origin
1738 (method url-fetch)
1739 (uri (string-append "mirror://kde/stable/plasma/"
1740 version "/" name "-"
1741 version ".tar.xz"))
1742 (sha256
1743 (base32
1744 "1bxmf7nw45hvl31a9diw5l9c7q1j13l00i5ma7bi2w8gax0vdrqw"))))
1745 (build-system qt-build-system)
1746 (arguments
1747 (list #:qtbase qtbase
1748 #:tests? #f))
1749 (propagated-inputs
1750 (list ;; As required by QQC2BreezeStyleConfig.cmake.
1751 kiconthemes kcolorscheme
1752 ;; As required by the QML modules.
1753 kguiaddons kirigami qtdeclarative))
1754 (native-inputs
1755 (list extra-cmake-modules))
1756 (inputs (list kconfig kquickcharts))
1757 (home-page "https://invent.kde.org/plasma/qqc2-breeze-style")
1758 (synopsis "Breeze inspired Qt Quick Controls Style")
1759 (description "This package provides Breeze inspired Qt Quick Controls Style.")
1760 (license (list license:lgpl2.0+ license:gpl2+))))
1761
1762(define-public oxygen-sounds
1763 (package
1764 (name "oxygen-sounds")
1765 (version "6.5.5")
1766 (source (origin
1767 (method url-fetch)
1768 (uri (string-append "mirror://kde/stable/plasma/"
1769 version "/" name "-"
1770 version ".tar.xz"))
1771 (sha256
1772 (base32
1773 "1kr43cqaj3cw8rag4kkrq3sw1cacxpjwaizzl3rrsxnr4fvavf2k"))))
1774 (build-system cmake-build-system)
1775 (arguments (list #:tests? #f))
1776 (native-inputs (list extra-cmake-modules))
1777 (home-page "https://community.kde.org/Frameworks")
1778 (synopsis "Sounds for the KDE desktop")
1779 (description "This package provides Oxygen sounds for the KDE desktop.")
1780 (license license:lgpl3+)))
1781
1782(define-public ocean-sound-theme
1783 (package
1784 (name "ocean-sound-theme")
1785 (version "6.5.5")
1786 (source (origin
1787 (method url-fetch)
1788 (uri (string-append "mirror://kde/stable/plasma/"
1789 version "/ocean-sound-theme" "-"
1790 version ".tar.xz"))
1791 (sha256
1792 (base32
1793 "0b514iba9fbl3rkkf6kn448ga65671wc6idxsf0w6g8ak74rqqnf"))))
1794 (build-system cmake-build-system)
1795 (arguments (list #:tests? #f))
1796 (native-inputs (list extra-cmake-modules))
1797 (inputs (list qtbase))
1798 (home-page "https://invent.kde.org/plasma/ocean-sound-theme")
1799 (synopsis "Ocean Sound Theme for Plasma")
1800 (description "This package provides Ocean Sound Theme for Plasma.")
1801 (license license:lgpl3+)))
1802
1803(define-public xdg-desktop-portal-kde
1804 (package
1805 (name "xdg-desktop-portal-kde")
1806 (version "6.5.5")
1807 (source (origin
1808 (method url-fetch)
1809 (uri (string-append "mirror://kde/stable/plasma/" version "/"
1810 name "-" version ".tar.xz"))
1811 (sha256
1812 (base32
1813 "0afdz1ch70m83sy1rf0whdjyfhjp4bxi1w45c8i9mcq5ga3g31x2"))))
1814 (build-system qt-build-system)
1815 (arguments (list
1816 #:tests? #f ;; colorschemetest test fail, because require dbus.
1817 #:qtbase qtbase))
1818 (native-inputs (list extra-cmake-modules pkg-config
1819 ;; require by test.
1820 python-minimal
1821 python-pygobject))
1822 (inputs (list cups
1823 kcoreaddons
1824 kconfig
1825 kcrash
1826 ki18n
1827 kdeclarative
1828 kio
1829 kirigami
1830 knotifications
1831 libplasma
1832 plasma-wayland-protocols
1833 kstatusnotifieritem
1834 kwayland
1835 kwidgetsaddons
1836 kwindowsystem
1837 kiconthemes
1838 qtdeclarative
1839 qtwayland
1840 wayland
1841 kglobalaccel
1842 kguiaddons
1843 libxkbcommon
1844 wayland-protocols))
1845 (propagated-inputs
1846 (list xdg-desktop-portal))
1847 (synopsis "Backend implementation for xdg-desktop-portal using Qt/KF5")
1848 (description "This package provides a backend implementation
1849for xdg-desktop-portal that is using Qt/KF5.")
1850 (home-page "https://invent.kde.org/plasma/xdg-desktop-portal-kde")
1851 (license license:lgpl2.0+)))
1852
1853(define-public plasma
1854 (package
1855 (name "plasma")
1856 (version (package-version breeze))
1857 (source #f)
1858 (build-system trivial-build-system)
1859 (arguments
1860 (list #:builder #~(begin
1861 (mkdir #$output))))
1862 ;; These inputs are used by plasma-desktop-service-type.
1863 (inputs (list bolt ;for plasma-thunderbolt
1864 packagekit)) ;for discover
1865 (propagated-inputs (list appmenu-gtk-module
1866 aurorae
1867 baloo
1868 bluedevil
1869 breeze
1870 breeze-gtk
1871 breeze-icons ;default mouse icon
1872 colord
1873 discover
1874 ffmpegthumbs
1875 flatpak ;for discover
1876 flatpak-kcm ;to manage flatpak app permissions
1877 kactivitymanagerd
1878 kdeclarative ;required by sddm breeze theme
1879 kde-cli-tools
1880 kde-gtk-config
1881 kded
1882 kdeplasma-addons
1883 kglobalaccel
1884 kglobalacceld
1885 kiconthemes ;required by sddm breeze theme
1886 kinfocenter
1887 kio
1888 kio-extras
1889 kmenuedit
1890 knighttime
1891 krdp
1892 kscreen
1893 kscreenlocker
1894 ksshaskpass
1895 ksvg ;required by sddm breeze theme
1896 ksystemstats
1897 ktexteditor
1898 kwallet
1899 kwallet-pam
1900 kwin
1901 layer-shell-qt
1902 libkscreen
1903 libksysguard
1904 milou
1905 ocean-sound-theme
1906 oxygen-sounds
1907 plasma5support ;required by sddm breeze theme
1908 plasma-browser-integration
1909 plasma-desktop
1910 plasma-disks
1911 plasma-firewall
1912 plasma-integration
1913 plasma-nm
1914 plasma-pa
1915 plasma-systemmonitor
1916 plasma-thunderbolt
1917 plasma-vault
1918 plasma-welcome
1919 plasma-workspace
1920 plasma-workspace-wallpapers
1921 polkit-kde-agent
1922 powerdevil
1923 qqc2-breeze-style
1924 qqc2-desktop-style ;for qtquickcontrols2 theme
1925 qt5compat ;required by sddm breeze theme
1926 qtbase ;for QT_PLUGIN_PATH and QML_IMPORT_PATH
1927 qtdeclarative
1928 qtsvg
1929 system-settings
1930 xdg-desktop-portal-kde
1931 ;; module cyclic referencing
1932 (module-ref
1933 (resolve-interface
1934 '(gnu packages kde-systemtools))
1935 'dolphin)
1936 (module-ref
1937 (resolve-interface
1938 '(gnu packages kde-systemtools))
1939 'kde-inotify-survey)
1940 (module-ref
1941 (resolve-interface
1942 '(gnu packages kde-systemtools))
1943 'konsole)
1944 (module-ref
1945 (resolve-interface
1946 '(gnu packages kde-systemtools))
1947 'kpmcore)
1948 (module-ref
1949 (resolve-interface
1950 '(gnu packages kde-systemtools))
1951 'kwalletmanager)
1952 (module-ref
1953 (resolve-interface
1954 '(gnu packages kde-systemtools))
1955 'partitionmanager)
1956 spectacle))
1957 (synopsis "The KDE Plasma desktop environment")
1958 (home-page "https://kde.org/plasma-desktop/")
1959 (description
1960 "KDE Plasma is an advanced graphical desktop system.")
1961 (license license:gpl2+)))
1962
1963(define-public plasma-activities
1964 (package
1965 (name "plasma-activities")
1966 (version "6.5.5")
1967 (source (origin
1968 (method url-fetch)
1969 (uri (string-append "mirror://kde/stable/plasma/"
1970 version "/plasma-activities-"
1971 version ".tar.xz"))
1972 (sha256
1973 (base32
1974 "04d5wmpd5328l3wa65dnn0b98fzrq01p14yfv0b04iy7ph79irag"))))
1975 (build-system qt-build-system)
1976 (native-inputs
1977 (list extra-cmake-modules))
1978 (inputs
1979 (list kconfig
1980 kcoreaddons
1981 kwindowsystem
1982 qtdeclarative
1983 solid))
1984 (arguments
1985 (list
1986 #:tests? #f
1987 #:qtbase qtbase))
1988 (home-page "https://invent.kde.org/plasma/plasma-activities")
1989 (synopsis "Core components for the KDE Activity System")
1990 (description "KActivities provides the infrastructure needed to manage a
1991user's activities, allowing them to switch between tasks, and for applications
1992to update their state to match the user's current activity. This includes a
1993daemon, a library for interacting with that daemon, and plugins for integration
1994with other frameworks.")
1995 ;; triple licensed
1996 (license (list license:gpl2+ license:lgpl2.0+ license:lgpl2.1+))))
1997
1998(define-public plasma-activities-stats
1999 (package
2000 (name "plasma-activities-stats")
2001 (version "6.5.5")
2002 (source (origin
2003 (method url-fetch)
2004 (uri (string-append "mirror://kde/stable/plasma/"
2005 version "/plasma-activities-stats-"
2006 version ".tar.xz"))
2007 (sha256
2008 (base32
2009 "041a466iz29b8gjk3r1g8wa14chkd6279zaj89596gyk81l1na3z"))))
2010 (build-system cmake-build-system)
2011 (arguments (list #:tests? #f))
2012 (native-inputs
2013 (list extra-cmake-modules))
2014 (inputs
2015 (list boost plasma-activities kconfig qtbase qtdeclarative))
2016 (home-page "https://invent.kde.org/plasma/plasma-activities-stats")
2017 (synopsis "Access usage statistics collected by the activity manager")
2018 (description "The KActivitiesStats library provides a querying mechanism for
2019the data that the activity manager collects---which documents have been opened
2020by which applications, and what documents have been linked to which activity.")
2021 ;; triple licensed
2022 (license (list license:lgpl2.0+ license:lgpl2.1+ license:lgpl3+))))
2023
2024(define-public plasma5support
2025 (package
2026 (name "plasma5support")
2027 (version "6.5.5")
2028 (source (origin
2029 (method url-fetch)
2030 (uri (string-append "mirror://kde/stable/plasma/" version
2031 "/" name "-" version ".tar.xz"))
2032 (sha256
2033 (base32
2034 "1zawikfndp60dqiwi8lbfn4m4a4g5rqjp8rs9k2s3ql5pdz3wbqs"))))
2035 (build-system qt-build-system)
2036 (arguments (list #:qtbase qtbase
2037 #:tests? #f)) ;no tests
2038 (native-inputs (list extra-cmake-modules pkg-config))
2039 ;; As required by Plasma5SupportConfig.cmake.
2040 (propagated-inputs (list kcoreaddons kservice))
2041 (inputs (list
2042 kconfig
2043 ki18n
2044 kio
2045 kidletime
2046 kguiaddons
2047 kholidays
2048 knotifications
2049 kunitconversion
2050 libksysguard
2051 networkmanager-qt
2052 plasma-activities
2053 qtdeclarative
2054 solid))
2055 (home-page "https://invent.kde.org/plasma/plasma5support")
2056 (synopsis "Support components for porting from KF5/Qt5 to KF6/Qt6")
2057 (description "This package provides support components for porting from
2058KF5/Qt5 to KF6/Qt6")
2059 (license (list license:lgpl2.0+))))
2060
2061(define-public plasma-browser-integration
2062 (package
2063 (name "plasma-browser-integration")
2064 (version "6.5.5")
2065 (source (origin
2066 (method url-fetch)
2067 (uri (string-append "mirror://kde/stable/plasma/" version
2068 "/" name "-" version ".tar.xz"))
2069 (sha256
2070 (base32
2071 "1vnr3dnfswz1mll3c5c91887clf4iafv31pzpcpvp8pgpv6a5sc8"))))
2072 (build-system qt-build-system)
2073 (native-inputs (list extra-cmake-modules pkg-config))
2074 ;; TODO: Figure out how to integrate this package into web browsers
2075 ;; CHROMIUM_EXTENSIONS_DIR - extension for chromium
2076 ;; MOZILLA_DIR - extension for firefox
2077 (inputs (list kio
2078 ki18n
2079 kcoreaddons
2080 kconfig
2081 kcrash
2082 kdbusaddons
2083 knotifications
2084 kitemmodels
2085 krunner
2086 plasma-activities
2087 purpose
2088 kfilemetadata
2089 kjobwidgets
2090 kstatusnotifieritem
2091 qtdeclarative))
2092 (propagated-inputs (list plasma-workspace))
2093 (arguments (list #:tests? #f ; no tests
2094 #:qtbase qtbase))
2095 (home-page "https://invent.kde.org/plasma/plasma-browser-integration")
2096 (synopsis "Integrate browsers into the Plasma Desktop")
2097 (description
2098 "This package aims to provide better integration of web browsers with
2099the KDE Plasma 6 desktop.")
2100 (license license:gpl3+)))
2101
2102(define-public plasma-desktop
2103 (package
2104 (name "plasma-desktop")
2105 (version "6.5.5")
2106 (source (origin
2107 (method url-fetch)
2108 (uri (string-append "mirror://kde/stable/plasma/" version
2109 "/" name "-" version ".tar.xz"))
2110 (sha256
2111 (base32
2112 "1is6050gydb7jsq5hwx2x881y5bgfl5zmc6jbi22wnsp64jz2rr3"))))
2113 (build-system qt-build-system)
2114 (native-inputs (list extra-cmake-modules
2115 dbus
2116 kdoctools
2117 intltool
2118 pkg-config
2119 qtsvg
2120 qttools
2121 libxml2
2122 ;; require QtWaylandScanner
2123 qtwayland))
2124 (inputs (list packagekit-qt6
2125 signond-qt6
2126 attica
2127 appstream-qt6
2128 baloo
2129 breeze
2130 breeze-icons
2131 eudev
2132 fontconfig
2133 glib
2134 ibus
2135 kaccounts-integration
2136 plasma-activities
2137 plasma-activities-stats
2138 kauth
2139 karchive
2140 kcmutils
2141 kconfig
2142 kcoreaddons
2143 kcrash
2144 kdbusaddons
2145 kdeclarative
2146 kded
2147 kdesu
2148 kglobalaccel
2149 kguiaddons
2150 kholidays
2151 ki18n
2152 kiconthemes
2153 kidletime
2154 kio
2155 kitemmodels
2156 knewstuff
2157 knotifications
2158 knotifyconfig
2159 kpackage
2160 kpeople
2161 kpipewire
2162 krunner
2163 kscreenlocker
2164 ktexteditor
2165 ktextwidgets
2166 kunitconversion
2167 kuserfeedback
2168 kwallet
2169 kwayland
2170 kwin
2171 ksvg
2172 plasma5support
2173 layer-shell-qt
2174 libaccounts-qt6
2175 libcanberra
2176 libkscreen
2177 libksysguard
2178 libqalculate
2179 libwacom
2180 gmp
2181 mpfr
2182 libsm
2183 libxi
2184 libxft
2185 libxkbcommon
2186 libxrender
2187 libxtst
2188 networkmanager-qt
2189 phonon
2190 pipewire
2191 libplasma
2192 plasma-wayland-protocols
2193 pulseaudio
2194 prison
2195 qqc2-desktop-style
2196 qt5compat
2197 qtdeclarative
2198 qtshadertools
2199 qtwayland
2200 sdl2
2201 wayland
2202 wayland-protocols
2203 xcb-util
2204 xcb-util-image
2205 xcb-util-keysyms
2206 xdg-user-dirs
2207
2208 ;; These are needed for Xserver
2209 xf86-input-libinput
2210 xf86-input-evdev
2211 xorg-server
2212 xf86-input-synaptics
2213 xkeyboard-config
2214 libxkbfile
2215 libxcursor
2216 libxkbcommon))
2217 (propagated-inputs (list font-google-noto-emoji
2218 iso-codes/pinned
2219 kirigami
2220 kirigami-addons
2221 kcmutils
2222 plasma-workspace))
2223 (arguments
2224 (list #:qtbase qtbase
2225 #:test-exclude
2226 ;; The tst_calibrationtool test fails on aarch64 due to floating-point
2227 ;; precision: QMatrix4x4 comparison fails with tiny differences
2228 ;; (1.11759e-08 instead of exact 0).
2229 (string-append "("
2230 (string-join `("positionertest"
2231 "kcm-keyboard-keyboard_memory_\
2232persister_test"
2233 "foldermodeltest"
2234 ,@(if (target-aarch64?)
2235 '("tst_calibrationtool")
2236 '()))
2237 "|")
2238 ")")
2239 #:phases
2240 #~(modify-phases %standard-phases
2241 (add-after 'unpack 'patch-wallpaper
2242 (lambda* (#:key inputs #:allow-other-keys)
2243 (substitute* "sddm-theme/theme.conf.cmake"
2244 (("background=..KDE_INSTALL_FULL_WALLPAPERDIR.")
2245 (string-append "background="
2246 #$(this-package-input "breeze")
2247 "/share/wallpapers")))))
2248 (add-after 'unpack 'fix-paths
2249 (lambda* (#:key inputs #:allow-other-keys)
2250 (substitute* "kcms/keyboard/iso_codes.h"
2251 (("\"/usr/share/xml/iso-codes\"")
2252 (string-append "\"" (search-input-directory
2253 inputs "/share/xml/iso-codes")
2254 "\"")))))
2255 (add-before 'check 'check-setup
2256 (lambda* (#:key tests? #:allow-other-keys)
2257 (when tests?
2258 (setenv "HOME" (getcwd))
2259 (setenv "XDG_RUNTIME_DIR" (getcwd))
2260 (setenv "XDG_CACHE_HOME" (getcwd))))))))
2261 (home-page "https://kde.org/plasma-desktop/")
2262 (synopsis "Plasma for the Desktop")
2263 (description
2264 "Plasma Desktop offers a beautiful looking desktop that takes
2265complete advantage of modern computing technology. Through the use of visual
2266effects and scalable graphics, the desktop experience is not only smooth but
2267also pleasant to the eye. The looks of Plasma Desktop not only provide
2268beauty, they are also used to support and improve your computer
2269activities effectively, without being distracting.")
2270 (license license:gpl2+)))
2271
2272(define-public plasma-disks
2273 (package
2274 (name "plasma-disks")
2275 (version "6.5.5")
2276 (source (origin
2277 (method url-fetch)
2278 (uri (string-append "mirror://kde/stable/plasma/"
2279 version "/" name "-"
2280 version ".tar.xz"))
2281 (sha256
2282 (base32
2283 "0xvbqhfni5r2rc7s4m3qsx9a85k0j1gcj7qvw0jwkzfipzmn6f6z"))))
2284 (build-system qt-build-system)
2285 (arguments (list
2286 #:qtbase qtbase
2287 #:phases
2288 #~(modify-phases %standard-phases
2289 (add-after 'unpack 'set-smartctl-path
2290 (lambda* (#:key inputs #:allow-other-keys)
2291 (substitute* "src/helper.cpp"
2292 (("\"smartctl\"")
2293 (string-append
2294 "\""
2295 (search-input-file
2296 inputs "/sbin/smartctl")
2297 "\""))))))))
2298 (native-inputs (list extra-cmake-modules))
2299 (inputs (list kcoreaddons
2300 kdbusaddons
2301 knotifications
2302 ki18n
2303 kcmutils
2304 solid
2305 kservice
2306 kio
2307 kauth
2308 kdeclarative
2309 smartmontools))
2310 (synopsis "Monitors S.M.A.R.T. capable devices for imminent failure")
2311 (description "This package provides interface to S.M.A.R.T. data of disks.")
2312 (home-page "https://invent.kde.org/plasma/plasma-disks")
2313 (license (list license:gpl2 license:gpl3))))
2314
2315(define-public plasma-firewall
2316 (package
2317 (name "plasma-firewall")
2318 (version "6.5.5")
2319 (source (origin
2320 (method url-fetch)
2321 (uri (string-append "mirror://kde/stable/plasma/"
2322 version "/" name "-"
2323 version ".tar.xz"))
2324 (sha256
2325 (base32
2326 "0p50ypr4drcxwrx783harkk37swk7lv9pp0gxs1jss6s5c8vck75"))))
2327 (build-system qt-build-system)
2328 (arguments (list #:qtbase qtbase))
2329 (native-inputs (list extra-cmake-modules))
2330 (inputs (list iproute
2331 kauth
2332 kcoreaddons
2333 kcmutils
2334 ki18n
2335 kdeclarative
2336 python
2337 qtdeclarative))
2338 (synopsis "Control Panel for system firewall")
2339 (description "This package provides interface to system firewall.")
2340 (home-page "https://invent.kde.org/plasma/plasma-firewall")
2341 (license (list license:gpl2 license:gpl3))))
2342
2343(define-public plasma-integration
2344 (package
2345 (name "plasma-integration")
2346 (version "6.5.5")
2347 (source (origin
2348 (method url-fetch)
2349 (uri (string-append "mirror://kde/stable/plasma/"
2350 version "/" name "-"
2351 version ".tar.xz"))
2352 (sha256
2353 (base32
2354 "1ig33m92i2iq18djn75mj4lfz8nxrfqm3jnwpkws2wh7vidghnmd"))))
2355 (build-system qt-build-system)
2356 (arguments
2357 (list #:qtbase qtbase
2358 #:configure-flags #~(list "-DBUILD_QT5=OFF")
2359 #:tests? #f)) ;TODO: Failing tests
2360 (native-inputs (list extra-cmake-modules pkg-config))
2361 (inputs (list breeze
2362 kconfig
2363 kconfigwidgets
2364 kguiaddons
2365 ki18n
2366 kiconthemes
2367 kio
2368 knotifications
2369 kstatusnotifieritem
2370 kwayland
2371 kwidgetsaddons
2372 kxmlgui
2373 libxcb
2374 libxcursor
2375 libxkbcommon
2376 plasma-wayland-protocols
2377 qtdeclarative
2378 qtwayland
2379 wayland
2380 xdg-desktop-portal-kde
2381 font-google-noto-sans-cjk
2382 font-google-noto-emoji
2383 font-hack))
2384 (home-page "https://invent.kde.org/plasma/plasma-integration")
2385 (synopsis
2386 "Qt Platform Theme integration plugins for the Plasma workspaces")
2387 (description
2388 "This package provides a set of plugins responsible for better
2389integration of Qt applications when running on a KDE Plasma workspace.")
2390 (license license:lgpl2.0)))
2391
2392(define-public plasma-nano
2393 (package
2394 (name "plasma-nano")
2395 (version "6.5.5")
2396 (source (origin
2397 (method url-fetch)
2398 (uri (string-append "mirror://kde/stable/plasma/"
2399 version "/plasma-nano-" version ".tar.xz"))
2400 (sha256
2401 (base32
2402 "1ppg3svbj2ykb63z2s58bl9s56f7ffa7595xbxrxn0dc7ahg5isl"))))
2403 (build-system cmake-build-system)
2404 (native-inputs (list extra-cmake-modules pkg-config qttools))
2405 (inputs (list qtbase
2406 qtdeclarative
2407 qtsvg
2408 libplasma
2409 kservice
2410 kitemmodels
2411 kwindowsystem
2412 kwayland
2413 ki18n))
2414 (arguments (list #:tests? #f))
2415 (home-page "https://plasma-mobile.org/")
2416 (synopsis "Minimal Plasma Shell package")
2417 (description
2418 "This package provides a minimal implementation of Plasma Shell.")
2419 (license license:lgpl2.0+)))
2420
2421(define-public plasma-nm
2422 (package
2423 (name "plasma-nm")
2424 (version "6.5.5")
2425 (source (origin
2426 (method url-fetch)
2427 (uri (string-append "mirror://kde/stable/plasma/"
2428 version "/" name "-" version
2429 ".tar.xz"))
2430 (sha256
2431 (base32
2432 "1862k0v2bv8g2avlmkffidy9hq4q8x2g03g8ibpb2pjzr0dny2gv"))))
2433 (build-system qt-build-system)
2434 (arguments
2435 (list #:qtbase qtbase))
2436 (native-inputs (list extra-cmake-modules pkg-config))
2437 (home-page "https://invent.kde.org/plasma/plasma-nm")
2438 ;; These packages are required by the QML modules.
2439 (propagated-inputs
2440 (list kcmutils kirigami libplasma qtdeclarative))
2441 (inputs (list kconfigwidgets
2442 kcompletion
2443 kcoreaddons
2444 kdeclarative
2445 kdbusaddons
2446 kio
2447 ki18n
2448 networkmanager-qt
2449 knotifications
2450 lz4
2451 mobile-broadband-provider-info
2452 modemmanager-qt
2453 network-manager
2454 qca-qt6
2455 kservice
2456 solid
2457 prison
2458 kwallet
2459 kwidgetsaddons
2460 kwindowsystem
2461 ksvg
2462 qcoro-qt6
2463 openconnect
2464 qtwebengine))
2465 (synopsis "Plasma applet for managing network connections")
2466 (description "This package provides Plasma applet for managing network
2467connections.")
2468 (license (list license:lgpl2.1 license:lgpl3))))
2469
2470(define-public plasma-mobile
2471 (package
2472 (name "plasma-mobile")
2473 (version "6.5.5")
2474 (source (origin
2475 (method url-fetch)
2476 (uri (string-append "mirror://kde/stable/plasma/"
2477 version "/plasma-mobile-" version ".tar.xz"))
2478 (sha256
2479 (base32
2480 "102lzxv9nwvi098cg467csh88b3pmi0kr8wcgc7nvhrl05kplzc4"))))
2481 (build-system cmake-build-system)
2482 (arguments (list #:tests? #f)) ;only small add-hoc test scripts
2483 (native-inputs (list extra-cmake-modules pkg-config qttools))
2484 (inputs (list bash-minimal
2485 eudev
2486 kauth
2487 kcmutils
2488 kdbusaddons
2489 kdeclarative
2490 kglobalaccel
2491 ki18n
2492 kio
2493 kirigami-addons
2494 kitemmodels
2495 knotifications
2496 kpipewire
2497 kwayland
2498 kwin
2499 layer-shell-qt
2500 libepoxy
2501 libkscreen
2502 libplasma
2503 libxkbcommon
2504 modemmanager-qt
2505 networkmanager-qt
2506 plasma-activities
2507 plasma-wayland-protocols
2508 plasma-workspace
2509 qcoro-qt6
2510 qtbase
2511 qtsensors
2512 qtwayland
2513 wayland))
2514 (home-page "https://plasma-mobile.org/")
2515 (synopsis
2516 "General UI components for Plasma Phone including shell, containment and applets")
2517 (description "This package provides user-friendly, privacy-enabling and
2518customizable platform for mobile devices.")
2519 (license (list license:gpl3+ license:lgpl2.1+))))
2520
2521(define-public plasma-mobile-sounds
2522 (package
2523 (name "plasma-mobile-sounds")
2524 (version "0.1")
2525 (source (origin
2526 (method url-fetch)
2527 (uri (string-append
2528 "mirror://kde/stable/plasma-mobile-sounds/"
2529 version "/plasma-mobile-sounds-" version ".tar.xz"))
2530 (sha256
2531 (base32
2532 "1br6kzicrr45vgg0ciqczxlcid21n5lfjm6zc06rw86ys7fx7bpi"))))
2533 (build-system cmake-build-system)
2534 (arguments (list #:tests? #f))
2535 (native-inputs (list extra-cmake-modules pkg-config))
2536 (home-page "https://plasma-mobile.org/")
2537 (synopsis "Sounds for Plasma Mobile devices")
2538 (description "This package provides sound files for Plasma Mobile.")
2539 (license (list license:cc0 license:cc-by4.0))))
2540
2541(define-public plasma-pa
2542 (package
2543 (name "plasma-pa")
2544 (version "6.5.5")
2545 (source (origin
2546 (method url-fetch)
2547 (uri (string-append "mirror://kde/stable/plasma/"
2548 version "/" name "-"
2549 version ".tar.xz"))
2550 (sha256
2551 (base32
2552 "11x5n4kjaa6vq4sxrwyz0vinkv714psq7yhgkz941636c30r0zk2"))))
2553 (build-system qt-build-system)
2554 (arguments (list #:qtbase qtbase
2555 ;; test require selenium-webdriver-at-spi-run
2556 #:tests? #f))
2557 (native-inputs (list extra-cmake-modules kdoctools pkg-config))
2558 (inputs (list glib
2559 kcoreaddons
2560 kconfig
2561 kcmutils
2562 kdeclarative
2563 kglobalaccel
2564 kstatusnotifieritem
2565 knotifications
2566 kwindowsystem
2567 kirigami
2568 ksvg
2569 kdbusaddons
2570 pulseaudio-qt
2571 ki18n
2572 qtdeclarative))
2573 (propagated-inputs (list libcanberra pulseaudio
2574 libplasma))
2575 (home-page "https://invent.kde.org/plasma/plasma-pa")
2576 (synopsis "Plasma applet for audio volume management using PulseAudio")
2577 (description
2578 "This package provides Plasma applet for audio volume management using
2579PulseAudio.")
2580 (license (list license:lgpl2.1 license:lgpl3))))
2581
2582(define-public plasma-pass
2583 (package
2584 (name "plasma-pass")
2585 (version "1.3.0")
2586 (source (origin
2587 (method url-fetch)
2588 (uri (string-append "mirror://kde/stable/plasma-pass/"
2589 "plasma-pass-" version ".tar.xz"))
2590 (sha256
2591 (base32
2592 "03ydwkk7qvw8hlr3phh5gzy6zf3rmh872a0n703h5dlacc4jbcwi"))))
2593 (build-system qt-build-system)
2594 (native-inputs (list extra-cmake-modules))
2595 (inputs (list ki18n kitemmodels kwindowsystem kio
2596 oath-toolkit
2597 plasma5support
2598 qgpgme))
2599 (propagated-inputs
2600 ;; QML modules need to be propagated so that QML files can find them in
2601 ;; $QML_IMPORT_PATH.
2602 (list kirigami libplasma qtdeclarative))
2603 (arguments (list #:qtbase qtbase
2604 #:tests? #f
2605 #:configure-flags #~(list "-DQT_MAJOR_VERSION=6")))
2606 (home-page "https://invent.kde.org/plasma/plasma-pass")
2607 (synopsis "Plasma applet for the Pass password manager")
2608 (description
2609 "This package provides a Plasma applet for the Pass password manager.")
2610 (license license:lgpl2.1+)))
2611
2612(define-public plasma-phonebook
2613 (package
2614 (name "plasma-phonebook")
2615 (version "24.02.0")
2616 (source (origin
2617 (method url-fetch)
2618 (uri (string-append "mirror://kde/stable/plasma-phonebook/"
2619 "plasma-phonebook-" version
2620 ".tar.xz"))
2621 (sha256
2622 (base32
2623 "1f2z3djq8q2z90vrn18k5qbiw8crhs69c5qvdnzxmp3s3f63bk4l"))))
2624 (build-system qt-build-system)
2625 (arguments (list #:qtbase qtbase
2626 #:tests? #f))
2627 (native-inputs (list extra-cmake-modules pkg-config))
2628 (inputs (list kpeople
2629 kirigami
2630 kirigami-addons
2631 kcoreaddons
2632 kcontacts
2633 qtdeclarative
2634 qtsvg
2635 qtwayland))
2636 (home-page "https://plasma-mobile.org/")
2637 (synopsis "Phonebook for Plasma Mobile devices")
2638 (description "This package provides contacts application which allows
2639adding, modifying and removing contacts.")
2640 (license license:lgpl2.0+)))
2641
2642(define-public plasma-thunderbolt
2643 (package
2644 (name "plasma-thunderbolt")
2645 (version "6.5.5")
2646 (source (origin
2647 (method url-fetch)
2648 (uri (string-append "mirror://kde/stable/plasma/"
2649 version "/" name "-"
2650 version ".tar.xz"))
2651 (sha256
2652 (base32
2653 "0ac66xxkzvw6k9dy39klxfnxkgx47qzpqhy2dj49khyi2ckq0yzg"))))
2654 (build-system qt-build-system)
2655 (arguments
2656 (list #:qtbase qtbase
2657 #:phases
2658 #~(modify-phases %standard-phases
2659 (add-before 'check 'check-setup
2660 (lambda _
2661 (setenv "HOME" (getcwd))))
2662 (replace 'check
2663 (lambda* (#:key tests? test-exclude #:allow-other-keys)
2664 (when tests?
2665 (invoke "dbus-launch" "ctest" "--output-on-failure"
2666 "-E" test-exclude)))))))
2667 (native-inputs
2668 (list dbus extra-cmake-modules))
2669 (inputs
2670 (list bolt
2671 kcmutils
2672 kcoreaddons
2673 kdbusaddons
2674 ki18n
2675 knotifications))
2676 (home-page "https://invent.kde.org/plasma/plasma-thunderbolt")
2677 (synopsis "Plasma integration for controlling Thunderbolt devices")
2678 (description "This package provides a Plasma Sytem Settings module and a
2679KDED module to handle authorization of Thunderbolt devices.")
2680 (license license:gpl3+)))
2681
2682(define-public plasma-vault
2683 (package
2684 (name "plasma-vault")
2685 (version "6.5.5")
2686 (source (origin
2687 (method url-fetch)
2688 (uri (string-append "mirror://kde/stable/plasma/" version
2689 "/" name "-" version ".tar.xz"))
2690 (sha256
2691 (base32
2692 "0w7sraf7dq5rksqqkg43sa11ln9jksg7lkv2531vfv5wcgscy79x"))))
2693 (build-system qt-build-system)
2694 (native-inputs (list extra-cmake-modules pkg-config))
2695 ;; These packages are required by the QML modules.
2696 (propagated-inputs
2697 (list kirigami kitemmodels libplasma qtdeclarative))
2698 (inputs (list kio
2699 ki18n
2700 kconfig
2701 plasma-activities
2702 kdbusaddons
2703 kiconthemes
2704 libksysguard
2705 networkmanager-qt
2706
2707 fuse
2708 gocryptfs))
2709 (arguments
2710 (list
2711 #:qtbase qtbase
2712 #:tests? #f
2713 #:phases
2714 #~(modify-phases %standard-phases
2715 (add-after 'unpack 'patch
2716 (lambda* (#:key inputs #:allow-other-keys)
2717 (let ((fusermount (search-input-file inputs "/bin/fusermount3"))
2718 (gocryptfs (search-input-file inputs "/bin/gocryptfs")))
2719 (substitute* "kded/engine/fusebackend_p.cpp"
2720 (("\"fusermount\"")
2721 (string-append "\"" fusermount "\"")))
2722 (substitute* "kded/engine/backends/gocryptfs/gocryptfsbackend.cpp"
2723 (("\"gocryptfs\"")
2724 (string-append "\"" gocryptfs "\"")))))))))
2725 (home-page "https://invent.kde.org/plasma/plasma-vault")
2726 (synopsis "Plasma applet and services for creating encrypted vaults")
2727 (description "Provides Plasma applet and services for creating encrypted
2728vaults.")
2729 (license (list license:gpl2 license:gpl3))))
2730
2731(define-public plasma-systemmonitor
2732 (package
2733 (name "plasma-systemmonitor")
2734 (version "6.5.5")
2735 (source (origin
2736 (method url-fetch)
2737 (uri (string-append "mirror://kde/stable/plasma/" version "/"
2738 name "-" version ".tar.xz"))
2739 (sha256
2740 (base32
2741 "1zpi7v9mmnwvd0cy8cinmy0583m1dbkgg1lami9jn3sibnlkzscb"))))
2742 (build-system qt-build-system)
2743 (native-inputs (list extra-cmake-modules))
2744 ;; These packages are required by the QML modules.
2745 (propagated-inputs
2746 (list kdeclarative
2747 kiconthemes
2748 kirigami
2749 kitemmodels
2750 knewstuff
2751 kquickcharts
2752 qtdeclarative))
2753 (inputs (list ki18n
2754 kconfig
2755 kcrash
2756 kservice
2757 kglobalaccel
2758 kio
2759 kdbusaddons
2760 kpackage
2761 kirigami-addons
2762 ksystemstats
2763 libksysguard
2764 qqc2-desktop-style
2765 qtwayland))
2766 (arguments
2767 (list #:qtbase qtbase
2768 #:tests? #f))
2769 (synopsis "System sensors, process information and other system resources
2770monitor")
2771 (description "This package provides an interface for monitoring system
2772sensors, process information and other system resources.")
2773 (home-page "https://invent.kde.org/plasma/plasma-systemmonitor")
2774 (license (list license:gpl2 license:gpl3))))
2775
2776(define-public plasma-welcome
2777 (package
2778 (name "plasma-welcome")
2779 (version "6.5.5")
2780 (source (origin
2781 (method url-fetch)
2782 (uri (string-append "mirror://kde/stable/plasma/"
2783 version "/plasma-welcome"
2784 "-"
2785 version ".tar.xz"))
2786 (sha256
2787 (base32
2788 "0809w105akkz9dyxdcav1dx86d88hc8dv82pd1w7y1076nm9rqij"))))
2789 (build-system qt-build-system)
2790 (native-inputs
2791 (list extra-cmake-modules pkg-config))
2792 (inputs
2793 (list kcoreaddons
2794 kdbusaddons
2795 kdeclarative
2796 ki18n
2797 kio
2798 kconfigwidgets
2799 kcmutils
2800 ksvg
2801 kirigami
2802 kirigami-addons
2803 knotifications
2804 kservice
2805 knewstuff
2806 kaccounts-integration
2807 signond-qt6
2808 kuserfeedback
2809 libaccounts-qt6
2810 kwindowsystem
2811 networkmanager-qt
2812 libplasma
2813 qtdeclarative
2814 qtsvg
2815 qtwayland))
2816 (arguments
2817 (list #:qtbase qtbase
2818 #:tests? #f))
2819 (synopsis "Plasma welcome screen")
2820 (description
2821 "This package provides a wizard for Plasma to configure settings.")
2822 (home-page "https://invent.kde.org/plasma/plasma-welcome")
2823 (license (list license:gpl2 license:gpl3))))
2824
2825(define-public plasma-workspace
2826 (package
2827 (name "plasma-workspace")
2828 (version "6.5.5")
2829 (source (origin
2830 (method url-fetch)
2831 (uri (string-append "mirror://kde/stable/plasma/" version
2832 "/" name "-" version ".tar.xz"))
2833 (sha256
2834 (base32
2835 "1m0zad6rcc8wjjpcpi1nxzz8h99d4hwxj7yfdm0jg7nxpcxpdc19"))))
2836 (build-system qt-build-system)
2837 (native-inputs (list extra-cmake-modules kdoctools pkg-config qtsvg
2838 qttools
2839 xorg-server-for-tests
2840 python-minimal
2841 python-pygobject))
2842 ;; As required by LibTaskManagerConfig.cmake and
2843 ;; LibNotificationManagerConfig.cmake.
2844 (propagated-inputs (list kitemmodels))
2845 (inputs (list appmenu-gtk-module
2846 appstream-qt6
2847 baloo
2848 breeze
2849 breeze-icons
2850 dbus
2851 eudev
2852 fontconfig
2853 gmp
2854 gpsd
2855 icu4c
2856 iso-codes/pinned
2857 karchive
2858 kauth
2859 kcmutils
2860 kcoreaddons
2861 kcrash
2862 kdbusaddons
2863 kdeclarative
2864 kded
2865 kdesu
2866 kglobalaccel
2867 kglobalacceld
2868 kguiaddons
2869 kholidays
2870 ki18n
2871 kiconthemes
2872 kidletime
2873 kio
2874 kio-extras
2875 kirigami
2876 kirigami-addons
2877 kirigami-addons
2878 knewstuff
2879 knighttime
2880 knotifications
2881 knotifyconfig
2882 kpackage
2883 kpeople
2884 kpipewire
2885 kquickcharts
2886 kquickcharts
2887 krunner
2888 kscreen ;qml dependency
2889 kscreenlocker
2890 kstatusnotifieritem
2891 ksvg
2892 ktexteditor
2893 ktextwidgets
2894 kuserfeedback
2895 kwallet
2896 kwayland
2897 kwin
2898 layer-shell-qt
2899 libkexiv2
2900 libkscreen
2901 libksysguard
2902 libplasma
2903 libqalculate
2904 libsm
2905 libxcrypt
2906 libxcursor
2907 libxft
2908 libxkbcommon
2909 libxrender
2910 libxtst
2911 lsof
2912 mpfr
2913 networkmanager-qt
2914 packagekit-qt6
2915 phonon
2916 pipewire
2917 plasma-activities
2918 plasma-activities-stats
2919 plasma-nm ;qml dependency
2920 plasma-pa ;qml dependency
2921 plasma-wayland-protocols
2922 plasma-workspace-wallpapers
2923 plasma5support
2924 polkit-qt6
2925 prison
2926 qcoro-qt6
2927 qqc2-desktop-style
2928 qt5compat
2929 qtdeclarative
2930 qtlocation
2931 qtpositioning
2932 qtshadertools
2933 qtsvg
2934 qttools
2935 qtwayland
2936 ucd
2937 wayland
2938 wayland-protocols
2939 xcb-util
2940 xcb-util-cursor
2941 xcb-util-image
2942 xcb-util-keysyms
2943 xdotool ;for X11
2944 xmessage
2945 xrdb
2946 xsetroot
2947 zlib))
2948 (arguments
2949 (list #:qtbase qtbase
2950 #:configure-flags
2951 #~(list
2952 ;; libkmpris/autotests/CMakeLists.txt find it from
2953 ;; KDE_INSTALL_FULL_LIBEXECDIR, But we are install to itself prefix.
2954 ;; so we set it.
2955 (string-append "-Dkglobalacceld_PATH="
2956 #$(this-package-input "kglobalacceld")
2957 "/libexec/kglobalacceld"))
2958 #:phases
2959 #~(modify-phases %standard-phases
2960 (add-after 'unpack 'patch-qttools-path
2961 (lambda* (#:key inputs #:allow-other-keys)
2962 (let ((qttools #$(this-package-input "qttools")))
2963 ;; QT_INSTALL_BINS refers to qtbase, but qdbus is in
2964 ;; qttools.
2965 (substitute* "CMakeLists.txt"
2966 (("ecm_query_qt\\(QtBinariesDir QT_INSTALL_BINS\\)")
2967 (string-append "set(QtBinariesDir \"" qttools
2968 "/bin\")"))))))
2969 (delete 'check)
2970 (add-after 'install 'check-after-install
2971 (lambda* (#:key tests? #:allow-other-keys)
2972 (when tests?
2973 (setenv "DISPLAY" ":1")
2974 (system "Xvfb +extension GLX :1 &")
2975 (setenv "HOME" (getcwd))
2976 (setenv "XDG_RUNTIME_DIR" (getcwd))
2977 (setenv "XDG_CACHE_HOME" (getcwd))
2978 (setenv "QT_QPA_PLATFORM" "offscreen")
2979 (setenv "QT_PLUGIN_PATH"
2980 (string-append #$output
2981 "/lib/qt6/plugins:"
2982 (getenv "QT_PLUGIN_PATH")))
2983 (setenv "QML_IMPORT_PATH"
2984 (string-append #$output
2985 "/lib/qt6/qml:"
2986 (getenv "QML_IMPORT_PATH")))
2987 (invoke "dbus-launch" "ctest"
2988 "--output-on-failure"
2989 "--rerun-failed"
2990 "-E"
2991 (string-join
2992 (list
2993 ;; Fails on an Apple M1 (aarch64) with the following error:
2994 ;; Compared values are not the same "2'\uFFFD''\uFFFD'"
2995 #$@(if (target-aarch64?)
2996 #~("calculatorrunnertest")
2997 #~())
2998 "appstreamtest"
2999 "dbusservicewatchertest"
3000 "fetchinitialplayertest"
3001 "keystatetest"
3002 "klippertest"
3003 "locationsrunnertest"
3004 "lockedtest"
3005 "mediakeystest"
3006 "mprisdeclarativetest"
3007 "shelltest"
3008 "tasksmodeltest"
3009 "tasktoolstest"
3010
3011 ;; Failure in TestDesktop::testRename:
3012 ;; 'spyFileRenamed.count() >= 1' returned FALSE.
3013 "testdesktop"
3014
3015 "testimagebackend"
3016 "testimagefinder"
3017 "testimagefrontend"
3018 "testimagelistmodel"
3019 "testimageproxymodel"
3020 "testpackageimagelistmodel"
3021 "testslidemodel"
3022 "tst_triangleFilter"
3023
3024 "dbusmethodcalltest"
3025 "klipper-testHistoryCycler"
3026 "klipper-testHistoryModel"
3027 "klipper_v3migrationtest"
3028 "testrunnermodel"
3029 "dbussignalwatchertest"
3030 "dbuspropertiestest"
3031 "testdesktop")
3032 "|")))))
3033 ;; share/dbus-1/system-services have same name file
3034 ;; when dbus-root-service-type merge it, wail report
3035 ;; "file exists".
3036 (add-after 'install 'remove-dbus-service
3037 (lambda _
3038 (delete-file
3039 (string-append
3040 #$output "/share/dbus-1/services/org.kde.fontinst.service")))))))
3041 (home-page "https://invent.kde.org/plasma/plasma-workspace")
3042 (synopsis "Plasma workspace components")
3043 (description
3044 "Workspaces provide support for KDE Plasma Widgets, integrated search,
3045hardware management, and a high degree of customizability.")
3046 (license (list license:gpl2 license:gpl3))))
3047
3048(define-public plasma-workspace-wallpapers
3049 (package
3050 (name "plasma-workspace-wallpapers")
3051 (version "6.5.5")
3052 (source (origin
3053 (method url-fetch)
3054 (uri (string-append "mirror://kde/stable/plasma/" version
3055 "/" name "-" version ".tar.xz"))
3056 (sha256
3057 (base32
3058 "1cd0ygsvqd87m4jsfbyl9d68wdvjlkl0lims5y65sazy6yjgfnav"))))
3059 (build-system cmake-build-system)
3060 (arguments (list #:tests? #f))
3061 (native-inputs (list extra-cmake-modules))
3062 (home-page "https://invent.kde.org/plasma/plasma-workspace-wallpapers")
3063 (synopsis "Wallpapers for the KDE desktop")
3064 (description
3065 "This package provides wallpapers for the KDE desktop.")
3066 (license license:lgpl3+)))
3067
3068(define-public print-manager
3069 (package
3070 (name "print-manager")
3071 (version "6.5.5")
3072 (source
3073 (origin
3074 (method url-fetch)
3075 (uri (string-append "mirror://kde/stable/plasma/" version
3076 "/print-manager-" version ".tar.xz"))
3077 (sha256
3078 (base32 "09dsz1hqvfpspskgdrbf341xp6rark9rq6n38z67lcbs7vaqc11s"))))
3079 (build-system qt-build-system)
3080 (native-inputs
3081 (list extra-cmake-modules))
3082 (inputs
3083 (list cups
3084 kcmutils
3085 kconfig
3086 kconfigwidgets
3087 kcoreaddons
3088 kdbusaddons
3089 kirigami
3090 ki18n
3091 kio
3092 knotifications
3093 kwidgetsaddons
3094 kwindowsystem
3095 libplasma
3096 qtdeclarative
3097 qtwayland))
3098 (arguments
3099 (list #:qtbase qtbase
3100 #:tests? #f))
3101 (home-page "https://invent.kde.org/plasma/print-manager")
3102 (synopsis "Manage print jobs and printers")
3103 (description
3104 "This package provides printing management for KDE.")
3105 (license license:gpl2+)))
3106
3107(define-public polkit-kde-agent
3108 (package
3109 (name "polkit-kde-agent")
3110 (version "6.5.5")
3111 (source (origin
3112 (method url-fetch)
3113 (uri (string-append "mirror://kde/stable/plasma/" version "/"
3114 name "-1-" version ".tar.xz"))
3115 (sha256
3116 (base32
3117 "0jix36pdq9q5pwx91q6bbzzrv0rx7l5yj6m0ww2ymh2lbdz84pg7"))))
3118 (build-system qt-build-system)
3119 (arguments (list #:qtbase qtbase
3120 #:tests? #f))
3121 (native-inputs (list extra-cmake-modules))
3122 (inputs (list kcoreaddons
3123 kcrash
3124 kdbusaddons
3125 kiconthemes
3126 kirigami
3127 knotifications
3128 kwidgetsaddons
3129 kwindowsystem
3130 polkit-qt6
3131 qtdeclarative
3132 ki18n))
3133 (synopsis "Polkit authentication UI for Plasma")
3134 (description
3135 "This package contains a daemon providing a Polkit authentication
3136UI for Plasma")
3137 (home-page "https://invent.kde.org/plasma/polkit-kde-agent-1")
3138 (properties '((upstream-name . "polkit-kde-agent-1")))
3139 (license license:gpl2+)))
3140
3141(define-public powerdevil
3142 (package
3143 (name "powerdevil")
3144 (version "6.5.5")
3145 (source (origin
3146 (method url-fetch)
3147 (uri (string-append "mirror://kde/stable/plasma/" version
3148 "/" name "-" version ".tar.xz"))
3149 (sha256
3150 (base32
3151 "1r5zbvizg6r889zspaswb7jmbs4imlrnrn0xay3dz76z0m6w2rqz"))))
3152 (build-system qt-build-system)
3153 (native-inputs (list extra-cmake-modules qttools pkg-config))
3154 (inputs (list bluez-qt
3155 ddcutil
3156 eudev
3157 glib
3158 kauth
3159 kcmutils
3160 kconfig
3161 kcrash
3162 kcrash
3163 kdbusaddons
3164 kglobalaccel
3165 ki18n
3166 kidletime
3167 kio
3168 kirigami
3169 kitemmodels
3170 knotifications
3171 knotifyconfig
3172 krunner
3173 kscreen
3174 kwayland
3175 kxmlgui
3176 layer-shell-qt
3177 libcap
3178 libkscreen
3179 libplasma
3180 libxkbcommon
3181 network-manager
3182 networkmanager-qt
3183 plasma-activities
3184 plasma-wayland-protocols
3185 plasma-workspace
3186 qcoro-qt6
3187 qtwayland
3188 solid
3189 wayland))
3190 (arguments (list #:qtbase qtbase
3191 #:phases #~(modify-phases %standard-phases
3192 (add-before 'check 'setenv
3193 (lambda _
3194 (setenv "HOME" (getcwd)))))))
3195 (synopsis "Manage power consumption")
3196 (description "This package provides the power consumption settings
3197of a Plasma shell.")
3198 (home-page "https://invent.kde.org/plasma/powerdevil")
3199 (license license:gpl2+)))
3200
3201(define-public spectacle
3202 (package
3203 (name "spectacle")
3204 (version "6.5.5")
3205 (source
3206 (origin
3207 (method url-fetch)
3208 (uri (string-append "mirror://kde/stable/plasma/" version
3209 "/spectacle-" version ".tar.xz"))
3210 (sha256
3211 (base32 "1fljfn0lrnbhwfar07777f8gm6nvzrykbfzpfrk36l0ir2w2m50x"))))
3212 (build-system qt-build-system)
3213 (arguments
3214 (list #:qtbase qtbase
3215 #:tests? #f)) ;no tests
3216 (native-inputs
3217 (list extra-cmake-modules kdoctools))
3218 (inputs
3219 (list kconfig
3220 kcoreaddons
3221 kcrash
3222 kdbusaddons
3223 kglobalaccel
3224 kguiaddons
3225 ki18n
3226 kio
3227 kirigami
3228 knotifications
3229 kpipewire
3230 kstatusnotifieritem
3231 kwidgetsaddons
3232 kwindowsystem
3233 kxmlgui
3234 opencv
3235 prison
3236 purpose
3237 layer-shell-qt
3238 qtdeclarative
3239 qtmultimedia
3240 qtwayland
3241 wayland
3242 wayland-protocols
3243 plasma-wayland-protocols
3244 xcb-util
3245 xcb-util-cursor
3246 xcb-util-image
3247 libxkbcommon))
3248 (home-page "https://apps.kde.org/spectacle/")
3249 (synopsis "Screenshot capture utility for KDE")
3250 (description "Spectacle is a screenshot taking utility for the KDE.")
3251 (license license:gpl2+)))
3252
3253(define-public system-settings
3254 (package
3255 (name "system-settings")
3256 (version "6.5.5")
3257 (source (origin
3258 (method url-fetch)
3259 (uri (string-append "mirror://kde/stable/plasma/" version
3260 "/systemsettings-" version ".tar.xz"))
3261 (sha256
3262 (base32
3263 "1in23i5zwfkg1nh5nl699qx9f0f2jr996gplgrz7ibbbwq3zwxw6"))))
3264 (build-system qt-build-system)
3265 (native-inputs (list extra-cmake-modules))
3266 (inputs (list kaccounts-integration
3267 kaccounts-providers
3268 kauth
3269 kcrash
3270 kitemviews
3271 kitemmodels
3272 kcmutils
3273 ki18n
3274 kio
3275 kservice
3276 kiconthemes
3277 kwidgetsaddons
3278 kwindowsystem
3279 kxmlgui
3280 kdbusaddons
3281 kconfig
3282 kpackage
3283 plasma-activities
3284 plasma-activities-stats
3285 kguiaddons
3286 kirigami
3287 knewstuff
3288 knotifications
3289 krunner
3290 plasma-workspace
3291 qtdeclarative
3292 qtwayland
3293 qtwebengine))
3294 (arguments (list #:qtbase qtbase
3295 #:tests? #f)) ; no tests
3296 (synopsis "Control center to configure Plasma Desktop")
3297 (description "This package provides configuration UI for Plasma Desktop.")
3298 (home-page "https://invent.kde.org/plasma/systemsettings")
3299 (properties '((upstream-name . "systemsettings")))
3300 (license license:gpl2+)))
3301
3302(define-public wacomtablet
3303 (package
3304 (name "wacomtablet")
3305 (version "6.5.5")
3306 (source (origin
3307 (method url-fetch)
3308 (uri
3309 (string-append "mirror://kde/stable/plasma/" version
3310 "/wacomtablet-" version ".tar.xz"))
3311 (sha256
3312 (base32
3313 "1lk7nk0n1x1i2cn5c4p5mywhxm8v91jnkkcdbczqrs443579a35y"))))
3314 (build-system qt-build-system)
3315 (arguments
3316 (list #:qtbase qtbase
3317 #:test-exclude
3318 (string-append "("
3319 (string-join '("Test.KDED.DBusTabletService"
3320 "Test.KDED.TabletHandler"
3321 "Test.KDED.XInputAdaptor"
3322 "Test.KDED.XsetWacomAdaptor")
3323 "|")
3324 ")")
3325 #:phases
3326 #~(modify-phases %standard-phases
3327 (replace 'check
3328 (lambda* (#:key tests? (test-exclude "") #:allow-other-keys)
3329 (when tests?
3330 (invoke "dbus-launch" "ctest" "-E" test-exclude)))))))
3331 ;; These packages are required by the QML modules of the plasmoid.
3332 (propagated-inputs (list kcmutils
3333 kconfig
3334 kirigami
3335 ksvg
3336 libplasma
3337 plasma5support
3338 qtdeclarative))
3339 (native-inputs (list dbus extra-cmake-modules kdoctools pkg-config))
3340 (inputs (list kcoreaddons
3341 ki18n
3342 kio
3343 kglobalaccel
3344 kxmlgui
3345 kwidgetsaddons
3346 kwindowsystem
3347 knotifications
3348 kdbusaddons
3349 libwacom
3350 libxi
3351 libxkbcommon
3352 qtwayland
3353 xf86-input-wacom))
3354 (home-page "https://invent.kde.org/plasma/wacomtablet")
3355 (synopsis "KDE GUI for the Wacom Linux Drivers")
3356 (description "Provides KDE GUI for the Wacom Linux Drivers.")
3357 (license license:gpl2+)))