gnu: Simplify package inputs.
[jackhill/guix/guix.git] / gnu / packages / kde-plasma.scm
CommitLineData
bec2a2e1
MB
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
cdf7fea1 3;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
6a97dfff 4;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
d3f1ef38 5;;; Copyright © 2017, 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
c31f2d01 6;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
c386de05 7;;; Copyright © 2020 Zheng Junjie <873216071@qq.com>
bec2a2e1
MB
8;;;
9;;; This file is part of GNU Guix.
10;;;
11;;; GNU Guix is free software; you can redistribute it and/or modify it
12;;; under the terms of the GNU General Public License as published by
13;;; the Free Software Foundation; either version 3 of the License, or (at
14;;; your option) any later version.
15;;;
16;;; GNU Guix is distributed in the hope that it will be useful, but
17;;; WITHOUT ANY WARRANTY; without even the implied warranty of
18;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19;;; GNU General Public License for more details.
20;;;
21;;; You should have received a copy of the GNU General Public License
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23
24(define-module (gnu packages kde-plasma)
25 #:use-module (guix packages)
26 #:use-module (guix download)
27 #:use-module ((guix licenses) #:prefix license:)
54b0b96c 28 #:use-module (guix gexp)
bec2a2e1 29 #:use-module (guix build-system cmake)
cd165d10 30 #:use-module (guix build-system qt)
bec2a2e1 31 #:use-module (gnu packages compression)
fd56c4be 32 #:use-module (gnu packages freedesktop)
bec2a2e1
MB
33 #:use-module (gnu packages glib)
34 #:use-module (gnu packages kde-frameworks)
fd56c4be 35 #:use-module (gnu packages linux)
bec2a2e1
MB
36 #:use-module (gnu packages pkg-config)
37 #:use-module (gnu packages qt)
38 #:use-module (gnu packages xorg))
39
d3f1ef38
HG
40(define-public breeze
41 (package
42 (name "breeze")
43 (version "5.19.5")
44 (source (origin
45 (method url-fetch)
46 (uri (string-append "mirror://kde/stable/plasma/" version "/"
47 name "-" version ".tar.xz"))
48 (sha256
49 (base32
50 "0dpk1w7zcafrzf46j060i1qb0fwqpsflkfzr6gcar81llmjnc4b1"))))
51 (build-system qt-build-system)
52 ;; TODO: Warning at /gnu/store/…-kpackage-5.34.0/…/KF5PackageMacros.cmake:
53 ;; warnings during generation of metainfo for org.kde.breezedark.desktop:
54 ;; Package type "Plasma/LookAndFeel" not found
55 ;; TODO: Check whether is makes sence splitting into several outputs, like
56 ;; Debian does:
57 ;; - breeze-cursor-theme
58 ;; - "out", "devel"
59 ;; - kde-style-breeze - Widget style
60 ;; - kde-style-breeze-qt4 - propably not useful
61 ;; - kwin-style-breeze
62 ;; - qml-module-qtquick-controls-styles-breeze - QtQuick style
63 (native-inputs
8394619b 64 (list extra-cmake-modules pkg-config))
d3f1ef38 65 (inputs
8394619b
LC
66 (list kcmutils ; optional
67 kconfigwidgets
68 kcoreaddons
69 kde-frameworkintegration ; optional
70 kdecoration
71 kguiaddons
72 ki18n
73 kiconthemes ; for optional kde-frameworkintegration
74 kpackage
75 kwayland ; optional
76 kwindowsystem
77 qtbase-5
78 qtdeclarative ; optional
79 qtx11extras))
d3f1ef38
HG
80 (home-page "https://invent.kde.org/plasma/breeze")
81 (synopsis "Default KDE Plasma theme")
82 (description "Artwork, styles and assets for the Breeze visual style for
83the Plasma Desktop. Breeze is the default theme for the KDE Plasma desktop.")
84 (license license:gpl2+)))
85
6a97dfff
HG
86(define-public kdecoration
87 (package
88 (name "kdecoration")
fc6bced6 89 (version "5.19.5")
6a97dfff
HG
90 (source (origin
91 (method url-fetch)
92 (uri (string-append "mirror://kde/stable/plasma/" version
93 "/kdecoration-" version ".tar.xz"))
94 (sha256
95 (base32
fc6bced6 96 "0pn8n7zyb0adzjnn92vmbcf7pmpss60k9k1rk5llamj016xzfgnf"))))
cd165d10 97 (build-system qt-build-system)
6a97dfff 98 (native-inputs
8394619b 99 (list extra-cmake-modules))
6a97dfff 100 (inputs
8394619b 101 (list ki18n qtbase-5))
b828057e 102 (home-page "https://invent.kde.org/plasma/kdecoration")
6a97dfff
HG
103 (synopsis "Plugin based library to create window decorations")
104 (description "KDecoration is a library to create window decorations.
105These window decorations can be used by for example an X11 based window
106manager which re-parents a Client window to a window decoration frame.")
107 (license license:lgpl3+)))
108
c386de05
Z
109(define-public ksshaskpass
110 (package
111 (name "ksshaskpass")
112 (version "5.19.5")
113 (source (origin
114 (method url-fetch)
115 (uri (string-append "mirror://kde/stable/plasma/" version
116 "/ksshaskpass-" version ".tar.xz"))
117 (sha256
118 (base32
119 "1k2va2v9051f71w78dn3gihk642iyy5yzrkcfnp97fag8g6dpisi"))))
120 (build-system qt-build-system)
121 (native-inputs
8394619b 122 (list extra-cmake-modules kdoctools))
c386de05 123 (inputs
8394619b 124 (list kcoreaddons ki18n kwallet kwidgetsaddons qtbase-5))
c386de05
Z
125 (home-page "https://invent.kde.org/plasma/ksshaskpass")
126 (synopsis "Front-end for ssh-add using kwallet")
127 (description "Ksshaskpass is a front-end for @code{ssh-add} which stores the
128password of the ssh key in KWallet. Ksshaskpass is not meant to be executed
129directly, you need to tell @code{ssh-add} about it. @code{ssh-add} will then
130call it if it is not associated to a terminal.")
131 (license license:gpl2+)))
132
fd56c4be
HG
133(define-public kscreenlocker
134 (package
135 (name "kscreenlocker")
fc6bced6 136 (version "5.19.5")
fd56c4be
HG
137 (source (origin
138 (method url-fetch)
139 (uri (string-append "mirror://kde/stable/plasma/" version
140 "/kscreenlocker-" version ".tar.xz"))
141 (sha256
142 (base32
fc6bced6 143 "1fd5sqaqx9kj3kr0bgxpllhcm5arf8bc9pkpd9yk9c8xjy0j0fxi"))))
0f4c320c 144 (build-system qt-build-system)
fd56c4be 145 (arguments
0f4c320c
HG
146 `(#:tests? #f ;; TODO: make tests pass
147 #:phases
fd56c4be
HG
148 (modify-phases %standard-phases
149 (add-before 'check 'check-setup
150 (lambda* (#:key inputs outputs #:allow-other-keys)
07e98fb9 151 (system "Xvfb :1 -screen 0 640x480x24 &")
fd56c4be
HG
152 (setenv "DISPLAY" ":1")
153 #t))
154 (delete 'check)
155 ;; Tests use the installed library and require a DBus session.
156 (add-after 'install 'check
0f4c320c
HG
157 (lambda* (#:key tests? #:allow-other-keys)
158 (if tests?
159 (begin
160 (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
161 (invoke "dbus-launch" "ctest" ".")))
162 #t)))))
fd56c4be 163 (native-inputs
8394619b
LC
164 (list extra-cmake-modules pkg-config
165 ;; For tests.
166 dbus xorg-server-for-tests))
fd56c4be
HG
167 (inputs
168 `(("kcmutils" ,kcmutils)
169 ("kcrash" ,kcrash)
170 ("kdeclarative" ,kdeclarative)
171 ("kglobalaccel" ,kglobalaccel)
172 ("ki18n" ,ki18n)
173 ("kidletime" ,kidletime)
174 ("knotifications" ,knotifications)
175 ("ktextwidgets" ,ktextwidgets)
176 ("kwayland" ,kwayland)
177 ("kwindowsystem" ,kwindowsystem)
178 ("kxmlgui" ,kxmlgui)
179 ("libseccomp" ,libseccomp) ;for sandboxing the look'n'feel package
180 ("libxcursor" ,libxcursor) ;missing in CMakeList.txt
181 ("libxi" ,libxi) ;XInput, required for grabbing XInput2 devices
182 ("linux-pam" ,linux-pam)
183 ("logind" ,elogind) ;optional loginctl support
ea0a5107 184 ("qtbase" ,qtbase-5)
fd56c4be
HG
185 ("qtdeclarative" ,qtdeclarative)
186 ("qtx11extras" ,qtx11extras)
187 ("solid" ,solid)
188 ("wayland" ,wayland)
189 ("xcb-util-keysyms" ,xcb-util-keysyms)))
b828057e 190 (home-page "https://invent.kde.org/plasma/kscreenlocker")
fd56c4be
HG
191 (synopsis "Screen locking library")
192 (description
193 "@code{kscreenlocker} is a library for creating secure lock screens.")
194 (license license:gpl2+)))
195
bec2a2e1
MB
196(define-public libkscreen
197 (package
198 (name "libkscreen")
fc6bced6 199 (version "5.19.5")
bec2a2e1
MB
200 (source
201 (origin
202 (method url-fetch)
203 (uri (string-append "mirror://kde/stable/plasma/" version "/"
204 name "-" version ".tar.xz"))
205 (sha256
fc6bced6 206 (base32 "0rf1pm0yyc069f4n5s9ipdx4glzfr9zvv5cbrmn4q9i4v6z1qd8i"))))
cd165d10 207 (build-system qt-build-system)
bec2a2e1 208 (native-inputs
8394619b
LC
209 (list extra-cmake-modules
210 ;; For testing.
211 dbus))
bec2a2e1 212 (inputs
8394619b 213 (list kwayland libxrandr qtbase-5 qtx11extras))
bec2a2e1 214 (arguments
cd165d10 215 '(#:tests? #f)) ; FIXME: 55% tests passed, 5 tests failed out of 11
bec2a2e1
MB
216 (home-page "https://community.kde.org/Solid/Projects/ScreenManagement")
217 (synopsis "KDE's screen management software")
218 (description "KScreen is the new screen management software for KDE Plasma
219Workspaces which tries to be as magic and automatic as possible for users with
220basic needs and easy to configure for those who want special setups.")
221 (license license:gpl2+)))
222
223(define-public libksysguard
224 (package
225 (name "libksysguard")
fc6bced6 226 (version "5.19.5")
bec2a2e1
MB
227 (source
228 (origin
229 (method url-fetch)
230 (uri (string-append "mirror://kde//stable/plasma/" version
231 "/libksysguard-" version ".tar.xz"))
232 (sha256
fc6bced6 233 (base32 "1kd0h3p8bf9k5pqp0frhr81pa0yyrpkckg9zznirk9p1v88v7bfq"))))
bec2a2e1 234 (native-inputs
8394619b 235 (list extra-cmake-modules pkg-config))
bec2a2e1
MB
236 (inputs
237 `(("kconfigwidgets" ,kconfigwidgets)
238 ("kiconthemes" ,kiconthemes)
239 ("kwindowsystem" ,kwindowsystem)
240 ("ki18n" ,ki18n)
241 ("kauth" ,kauth)
242 ("kcompletion" ,kcompletion)
243 ("kconfig" ,kconfig)
244 ("kcoreaddons" ,kcoreaddons)
fc6bced6 245 ("kdeclarative" ,kdeclarative)
856e3f9c
MB
246 ("kglobalaccel" ,kglobalaccel)
247 ("kio" ,kio)
fc6bced6 248 ("knewstuff" ,knewstuff)
bec2a2e1
MB
249 ("kwidgetsaddons" ,kwidgetsaddons)
250 ("kservice" ,kservice)
ea0a5107 251 ("qtbase" ,qtbase-5)
fc6bced6 252 ("qtdeclarative" ,qtdeclarative)
bec2a2e1
MB
253 ("qtscript" ,qtscript)
254 ("qtwebkit" ,qtwebkit)
255 ("qtx11extras" ,qtx11extras)
256 ("plasma" ,plasma-framework)
257 ("zlib" ,zlib)))
cd165d10 258 (build-system qt-build-system)
bec2a2e1 259 (arguments
54b0b96c
LC
260 (list #:configure-flags
261 #~`(,(string-append "-DKDE_INSTALL_DATADIR="
262 #$output "/share"))
263 #:phases
264 #~(modify-phases %standard-phases
265 (add-before 'configure 'patch-cmakelists
266 (lambda _
267 ;; TODO: Verify: This should no longer be necessary, since
268 ;; KF5AuthConfig.cmake.in contains this already.
269 (substitute* "processcore/CMakeLists.txt"
270 (("KAUTH_HELPER_INSTALL_DIR")
271 "KDE_INSTALL_LIBEXECDIR"))))
272 (replace 'check
273 (lambda _
274 ;; TODO: Fix this failing test-case
275 (invoke "ctest" "-E" "processtest"))))))
284fb66a 276 (home-page "https://userbase.kde.org/KSysGuard")
bec2a2e1
MB
277 (synopsis "Network enabled task and system monitoring")
278 (description "KSysGuard can obtain information on system load and
279manage running processes. It obtains this information by interacting
280with a ksysguardd daemon, which may also run on a remote system.")
281 (license license:gpl3+)))
282