Commit | Line | Data |
---|---|---|
d34c594a EF |
1 | ;;; GNU Guix --- Functional package management for GNU |
2 | ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> | |
fc11b0d3 | 3 | ;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be> |
d34c594a EF |
4 | ;;; |
5 | ;;; This file is part of GNU Guix. | |
6 | ;;; | |
7 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
8 | ;;; under the terms of the GNU General Public License as published by | |
9 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
10 | ;;; your option) any later version. | |
11 | ;;; | |
12 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
13 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | ;;; GNU General Public License for more details. | |
16 | ;;; | |
17 | ;;; You should have received a copy of the GNU General Public License | |
18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
19 | ||
20 | (define-module (gnu packages kde) | |
21 | #:use-module (guix build-system cmake) | |
22 | #:use-module (guix download) | |
23 | #:use-module ((guix licenses) #:prefix license:) | |
24 | #:use-module (guix packages) | |
25 | #:use-module (guix utils) | |
c02c8cf4 TD |
26 | #:use-module (gnu packages apr) |
27 | #:use-module (gnu packages boost) | |
f447dbc7 TD |
28 | #:use-module (gnu packages compression) |
29 | #:use-module (gnu packages documentation) | |
7781afde TD |
30 | #:use-module (gnu packages gl) |
31 | #:use-module (gnu packages gnome) | |
550791b8 | 32 | #:use-module (gnu packages kde-frameworks) |
7781afde | 33 | #:use-module (gnu packages llvm) |
d34c594a EF |
34 | #:use-module (gnu packages pkg-config) |
35 | #:use-module (gnu packages tls) | |
c02c8cf4 TD |
36 | #:use-module (gnu packages qt) |
37 | #:use-module (gnu packages version-control)) | |
d34c594a | 38 | |
7781afde TD |
39 | (define-public kdevelop |
40 | (package | |
41 | (name "kdevelop") | |
faa65e27 | 42 | (version "5.0.4") |
7781afde TD |
43 | (source |
44 | (origin | |
45 | (method url-fetch) | |
46 | (uri (string-append "mirror://kde/stable/kdevelop" | |
47 | "/" version "/src/kdevelop-" | |
48 | version ".tar.xz")) | |
49 | (sha256 | |
50 | (base32 | |
faa65e27 | 51 | "0max4g1i8xf5g7a8zm60qkr2j8w5bsqzxz914z43fj5ipnr4448r")))) |
7781afde TD |
52 | (build-system cmake-build-system) |
53 | (native-inputs | |
54 | `(("extra-cmake-modules" ,extra-cmake-modules) | |
55 | ("pkg-config" ,pkg-config) | |
56 | ("qttools" ,qttools))) | |
57 | (inputs | |
58 | `(("kdevplatform" ,kdevplatform) | |
59 | ("kdevelop-pg-qt" ,kdevelop-pg-qt) | |
60 | ("qtbase" ,qtbase) | |
61 | ("qtdeclarative" ,qtdeclarative) | |
62 | ("qtquickcontrols" ,qtquickcontrols) | |
63 | ("qtwebkit" ,qtwebkit) | |
64 | ("karchive" ,karchive) | |
65 | ("kcmutils" ,kcmutils) | |
66 | ("kconfig" ,kconfig) | |
67 | ("kdeclarative" ,kdeclarative) | |
68 | ("kdoctools" ,kdoctools) | |
69 | ("kguiaddons" ,kguiaddons) | |
70 | ("ki18n" ,ki18n) | |
71 | ("kio" ,kio) | |
72 | ("kiconthemes" ,kiconthemes) | |
73 | ("kitemmodels" ,kitemmodels) | |
74 | ("kitemviews" ,kitemviews) | |
75 | ("kjobwidgets" ,kjobwidgets) | |
76 | ("knotifyconfig" ,knotifyconfig) | |
77 | ("knotifications" ,knotifications) | |
78 | ("kparts" ,kparts) | |
79 | ("kcrash" ,kcrash) | |
80 | ("knewstuff" ,knewstuff) | |
81 | ("krunner" ,krunner) | |
82 | ("kxmlgui" ,kxmlgui) | |
83 | ("libksysguard" ,libksysguard) | |
84 | ("threadweaver" ,threadweaver) | |
85 | ("ktexteditor" ,ktexteditor) | |
86 | ("kwindowsystem" ,kwindowsystem) | |
87 | ("plasma" ,plasma-framework) | |
88 | ("grantlee" ,grantlee) | |
89 | ("libepoxy" ,libepoxy) | |
90 | ("clang" ,clang) | |
91 | ("shared-mime-info" ,shared-mime-info))) | |
92 | (arguments | |
93 | `(#:phases | |
94 | (modify-phases %standard-phases | |
95 | (delete 'check) ;; there are some issues with the test suite | |
96 | (add-after 'install 'wrap-executable | |
97 | (lambda* (#:key inputs outputs #:allow-other-keys) | |
98 | (let* ((out (assoc-ref outputs "out")) | |
99 | (kdevplatform (assoc-ref inputs "kdevplatform")) | |
100 | (kio (assoc-ref inputs "kio")) | |
2f4d08ee | 101 | (kcmutils (assoc-ref inputs "kcmutils")) |
7781afde TD |
102 | (qtquickcontrols (assoc-ref inputs "qtquickcontrols")) |
103 | (qtdeclarative (assoc-ref inputs "qtdeclarative")) | |
2f4d08ee | 104 | (profile "$HOME/.guix-profile") |
7781afde TD |
105 | (qml "/qml")) |
106 | (wrap-program (string-append out "/bin/kdevelop") | |
2f4d08ee TD |
107 | `("XDG_DATA_DIRS" ":" prefix |
108 | ,(map (lambda (s) (string-append s "/share")) | |
109 | (list profile out kdevplatform kcmutils))) | |
7781afde | 110 | `("QT_PLUGIN_PATH" ":" prefix |
2f4d08ee TD |
111 | ,(map (lambda (s) (string-append s "/lib/plugins")) |
112 | (list profile out kdevplatform kio))) | |
7781afde TD |
113 | `("QML2_IMPORT_PATH" ":" prefix |
114 | (,(string-append qtquickcontrols qml) | |
115 | ,(string-append qtdeclarative qml)))))))))) | |
116 | (home-page "https://kdevelop.org") | |
117 | (synopsis "IDE for C, C++, Python, Javascript and PHP") | |
118 | (description "The KDevelop IDE provides semantic syntax highlighting, as | |
119 | well as code navigation and completion for C, C++ (using Clang/LLVM), QML, | |
120 | JavaScript, Python and PHP. It also integrates with a debugger, different | |
121 | build systems (CMake, QMake, custom Makefiles) and version control | |
122 | software (Git, Subversion, Mercurial, CVS and Bazaar).") | |
123 | (license license:lgpl2.1+))) | |
124 | ||
8bb115e0 TD |
125 | (define-public kdevelop-pg-qt |
126 | (package | |
127 | (name "kdevelop-pg-qt") | |
128 | (version "2.0.0") | |
129 | (source | |
130 | (origin | |
131 | (method url-fetch) | |
132 | (uri (string-append "https://github.com/KDE/kdevelop-pg-qt/archive/v" | |
133 | version ".tar.gz")) | |
134 | (file-name (string-append name "-" version ".tar.gz")) | |
135 | (sha256 | |
136 | (base32 "1av8plqz7hyhrd07avnmn6ryslqlarmxn0pw7swzvb6ddiqp59j4")))) | |
137 | (native-inputs | |
138 | `(("extra-cmake-modules" ,extra-cmake-modules))) | |
139 | (inputs | |
140 | `(("qtbase" ,qtbase))) | |
141 | (build-system cmake-build-system) | |
142 | (home-page "https://kde.org") | |
143 | (synopsis "Parser generator library for KDevplatform") | |
144 | (description "KDevelop-PG-Qt is the parser generator used in KDevplatform | |
145 | for some KDevelop language plugins (Ruby, PHP, CSS...).") | |
146 | (license license:lgpl2.0+))) | |
147 | ||
c02c8cf4 TD |
148 | (define-public kdevplatform |
149 | (package | |
150 | (name "kdevplatform") | |
faa65e27 | 151 | (version "5.0.4") |
c02c8cf4 TD |
152 | (source (origin |
153 | (method url-fetch) | |
faa65e27 TD |
154 | (uri (string-append "mirror://kde/stable/kdevelop" |
155 | "/" version "/src/kdevplatform-" | |
156 | version ".tar.xz")) | |
c02c8cf4 TD |
157 | (sha256 |
158 | (base32 | |
faa65e27 | 159 | "0wfl5azblnpmc7hydfvm7450343m1v7cr2g9gw0qs1432gbzraq1")))) |
c02c8cf4 TD |
160 | (build-system cmake-build-system) |
161 | (native-inputs | |
162 | `(("extra-cmake-modules" ,extra-cmake-modules) | |
163 | ("pkg-config" ,pkg-config))) | |
164 | (inputs | |
165 | `(("apr" ,apr) | |
166 | ("apr-util" ,apr-util) | |
167 | ("boost" ,boost) | |
168 | ("karchive" ,karchive) | |
169 | ("kconfigwidgets" ,kconfigwidgets) | |
170 | ("kcmutils" ,kcmutils) | |
171 | ("kiconthemes" ,kiconthemes) | |
172 | ("kdeclarative" ,kdeclarative) | |
173 | ("kdoctools" ,kdoctools) | |
174 | ("kguiaddons" ,kguiaddons) | |
175 | ("kinit" ,kinit) | |
176 | ("kitemmodels" ,kitemmodels) | |
177 | ("knewstuff" ,knewstuff) | |
178 | ("knotifications" ,knotifications) | |
179 | ("knotifyconfig" ,knotifyconfig) | |
180 | ("kwindowsystem" ,kwindowsystem) | |
181 | ("kio" ,kio) | |
182 | ("ki18n" ,ki18n) | |
183 | ("kparts" ,kparts) | |
184 | ("kservice" ,kservice) | |
185 | ("grantlee" ,grantlee) | |
186 | ("libkomparediff2" ,libkomparediff2) | |
187 | ("sonnet" ,sonnet) | |
188 | ("threadweaver" ,threadweaver) | |
189 | ("ktexteditor" ,ktexteditor) | |
190 | ("qtbase" ,qtbase) | |
191 | ("qtdeclarative" ,qtdeclarative) | |
192 | ("qtscript" ,qtscript) | |
193 | ("qtwebkit" ,qtwebkit) | |
194 | ("qtx11extras" ,qtx11extras) | |
195 | ("plasma" ,plasma-framework) | |
196 | ("subversion" ,subversion) | |
197 | ("zlib" ,zlib))) | |
198 | (arguments | |
199 | `(#:phases | |
200 | (modify-phases %standard-phases | |
201 | (delete 'check) | |
202 | (add-after 'install 'check ;; add-after 'install | |
203 | (lambda* (#:key outputs #:allow-other-keys) | |
204 | (let ((out (assoc-ref outputs "out"))) | |
205 | (setenv "CTEST_OUTPUT_ON_FAILURE" "1") | |
206 | (setenv "QT_PLUGIN_PATH" | |
207 | (string-append out "/lib/plugins:" | |
208 | (getenv "QT_PLUGIN_PATH"))) | |
209 | (setenv "XDG_DATA_DIRS" | |
210 | (string-append out "/share:" | |
211 | (getenv "XDG_DATA_DIRS"))) | |
212 | (zero? | |
213 | (system* "ctest" "-R" ;; almost all tests require a display | |
214 | "filteringstrategy|kdevvarlengtharray|kdevhash")))))))) | |
215 | (home-page "https://github.com/KDE/kdevplatform") | |
216 | (synopsis "Framework to build integrated development environments (IDEs)") | |
217 | (description "KDevPlatform is the basis of KDevelop and contains some | |
218 | plugins, as well as code to create plugins, or complete applications.") | |
219 | (license license:gpl3+))) | |
220 | ||
5a16e1c0 TD |
221 | (define-public libkomparediff2 |
222 | (package | |
223 | (name "libkomparediff2") | |
224 | (version "16.08.2") | |
225 | (source | |
226 | (origin | |
227 | (method url-fetch) | |
228 | (uri (string-append "https://github.com/KDE/libkomparediff2/archive/v" | |
229 | version ".tar.gz")) | |
230 | (file-name (string-append name "-" version ".tar.gz")) | |
231 | (sha256 | |
232 | (base32 | |
233 | "1lafifrwfxvn0jwhz67kwv7m38lm4syips3fq77rwcvfhmkiijmh")))) | |
234 | (native-inputs | |
235 | `(("extra-cmake-modules" ,extra-cmake-modules) | |
236 | ("pkg-config" ,pkg-config))) | |
237 | (inputs | |
238 | `(("kcodecs" ,kcodecs) | |
239 | ("kconfig" ,kconfig) | |
240 | ("kcoreaddons" ,kcoreaddons) | |
241 | ("ki18n" ,ki18n) | |
242 | ("kio" ,kio) | |
243 | ("kxmlgui" ,kxmlgui) | |
244 | ("qtbase" ,qtbase))) | |
245 | (build-system cmake-build-system) | |
246 | (home-page "https://kde.org") | |
247 | (synopsis "Library to compare files and strings, used in Kompare and KDevelop") | |
248 | (description "Libkomparediff2 is a library to work with diffs and patches, | |
249 | used in KDE development tools Kompare and KDevelop.") | |
250 | ||
251 | ;; GPL, some files are also licensed under LGPL or BSD, see COPYING in the | |
252 | ;; source archive | |
253 | (license (list license:gpl2+ license:lgpl2.0+ license:bsd-3)))) | |
254 | ||
f447dbc7 TD |
255 | (define-public libksysguard |
256 | (package | |
257 | (name "libksysguard") | |
258 | (version "5.8.2") | |
259 | (source | |
260 | (origin | |
261 | (method url-fetch) | |
262 | (uri (string-append "mirror://kde//stable/plasma/" version | |
263 | "/libksysguard-" version ".tar.xz")) | |
264 | (sha256 | |
265 | (base32 | |
266 | "158n30wbpsgbw3axhhsc58hnwhwdd02j3zc9hhcybmnbkfl5c96l")))) | |
267 | (native-inputs | |
268 | `(("extra-cmake-modules" ,extra-cmake-modules) | |
269 | ("pkg-config" ,pkg-config))) | |
270 | (inputs | |
271 | `(("kconfigwidgets" ,kconfigwidgets) | |
272 | ("kiconthemes" ,kiconthemes) | |
f447dbc7 | 273 | ("kwindowsystem" ,kwindowsystem) |
f447dbc7 | 274 | ("ki18n" ,ki18n) |
7c1a5209 TD |
275 | ("kauth" ,kauth) |
276 | ("kcompletion" ,kcompletion) | |
277 | ("kconfig" ,kconfig) | |
278 | ("kcoreaddons" ,kcoreaddons) | |
279 | ("kwidgetsaddons" ,kwidgetsaddons) | |
f447dbc7 TD |
280 | ("kservice" ,kservice) |
281 | ("qtbase" ,qtbase) | |
282 | ("qtscript" ,qtscript) | |
283 | ("qtwebkit" ,qtwebkit) | |
284 | ("qtx11extras" ,qtx11extras) | |
285 | ("plasma" ,plasma-framework) | |
286 | ("zlib" ,zlib))) | |
287 | (build-system cmake-build-system) | |
288 | (arguments | |
289 | `(#:configure-flags | |
290 | `(,(string-append "-DKDE_INSTALL_DATADIR=" | |
291 | (assoc-ref %outputs "out") "/share")) | |
292 | #:phases | |
293 | (modify-phases %standard-phases | |
294 | (add-before 'configure 'patch-cmakelists | |
295 | (lambda _ | |
296 | (substitute* "processcore/CMakeLists.txt" | |
297 | (("KAUTH_HELPER_INSTALL_DIR") "KDE_INSTALL_LIBEXECDIR")))) | |
298 | (replace 'check | |
299 | (lambda _ ;other tests require a display and therefore fail | |
300 | (zero? (system* "ctest" "-R" "chronotest"))))))) | |
301 | (home-page "https://www.kde.org/info/plasma-5.8.2.php") | |
302 | (synopsis "Network enabled task and system monitoring") | |
303 | (description "KSysGuard can obtain information on system load and | |
304 | manage running processes. It obtains this information by interacting | |
305 | with a ksysguardd daemon, which may also run on a remote system.") | |
306 | (license license:gpl3+))) | |
307 | ||
d34c594a EF |
308 | (define-public qca |
309 | (package | |
310 | (name "qca") | |
311 | (version "2.1.1") | |
312 | (source | |
313 | (origin | |
314 | (method url-fetch) | |
315 | (uri (string-append "http://download.kde.org/stable/qca/" version | |
316 | "/src/qca-" version ".tar.xz")) | |
317 | (sha256 | |
318 | (base32 | |
319 | "10z9icq28fww4qbzwra8d9z55ywbv74qk68nhiqfrydm21wkxplm")))) | |
320 | (build-system cmake-build-system) | |
321 | (native-inputs | |
322 | `(("pkg-config" ,pkg-config))) | |
323 | (inputs | |
324 | `(("openssl" ,openssl) | |
05b9c00e | 325 | ("qtbase" ,qtbase))) |
d34c594a EF |
326 | (home-page "http://delta.affinix.com/qca/") |
327 | (synopsis "Libraries for the Qt Cryptographic Architecture") | |
328 | (description "The Qt Cryptographic Architecture (QCA) provides a | |
329 | straightforward and cross-platform API for a range of cryptographic features, | |
330 | including SSL/TLS, X.509 certificates, SASL, OpenPGP, S/MIME CMS, and smart | |
331 | cards.") | |
332 | (license license:lgpl2.1))) | |
550791b8 EF |
333 | |
334 | (define-public snorenotify | |
335 | (package | |
336 | (name "snorenotify") | |
337 | (version "0.7.0") | |
338 | (source | |
339 | (origin | |
340 | (method url-fetch) | |
341 | (uri (string-append "http://download.kde.org/stable/snorenotify/" | |
342 | version "/src/snorenotify-" version ".tar.xz")) | |
343 | (sha256 | |
344 | (base32 | |
345 | "0jz6ivk90h7iwgyxar7xzzj8yvzn6s1my6cqs9bdnwqswfk1nhbd")))) | |
346 | (build-system cmake-build-system) | |
347 | (arguments | |
348 | `(#:tests? #f)) ; both tests fail, require display | |
349 | (inputs | |
350 | `(("extra-cmake-modules" ,extra-cmake-modules) | |
5f2074ca EF |
351 | ("qtbase" ,qtbase) |
352 | ("qttools" ,qttools))) | |
550791b8 EF |
353 | (home-page "https://techbase.kde.org/Projects/Snorenotify") |
354 | (synopsis "Qt notification framework") | |
355 | (description "Snorenotify is a multi platform Qt notification framework. | |
356 | Using a plugin system it is possible to create notifications with many | |
357 | different notification systems.") | |
358 | (license license:lgpl3))) |