Commit | Line | Data |
---|---|---|
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 | |
83 | the 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. | |
105 | These window decorations can be used by for example an X11 based window | |
106 | manager 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 | |
128 | password of the ssh key in KWallet. Ksshaskpass is not meant to be executed | |
129 | directly, you need to tell @code{ssh-add} about it. @code{ssh-add} will then | |
130 | call 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 | |
219 | Workspaces which tries to be as magic and automatic as possible for users with | |
220 | basic 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 | |
279 | manage running processes. It obtains this information by interacting | |
280 | with a ksysguardd daemon, which may also run on a remote system.") | |
281 | (license license:gpl3+))) | |
282 |