gnu: Fix common unquote typos.
[jackhill/guix/guix.git] / gnu / packages / kde-frameworks.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
3 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
4 ;;; Copyright © 2016,2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
5 ;;; Copyright © 2016 David Craven <david@craven.ch>
6 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
7 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
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-frameworks)
25 #:use-module (guix build-system cmake)
26 #:use-module (guix download)
27 #:use-module ((guix licenses) #:prefix license:)
28 #:use-module (guix packages)
29 #:use-module (guix utils)
30 #:use-module (gnu packages)
31 #:use-module (gnu packages acl)
32 #:use-module (gnu packages admin)
33 #:use-module (gnu packages aidc)
34 #:use-module (gnu packages attr)
35 #:use-module (gnu packages avahi)
36 #:use-module (gnu packages base)
37 #:use-module (gnu packages boost)
38 #:use-module (gnu packages bison)
39 #:use-module (gnu packages boost)
40 #:use-module (gnu packages compression)
41 #:use-module (gnu packages databases)
42 #:use-module (gnu packages disk)
43 #:use-module (gnu packages docbook)
44 #:use-module (gnu packages flex)
45 #:use-module (gnu packages freedesktop)
46 #:use-module (gnu packages gettext)
47 #:use-module (gnu packages gl)
48 #:use-module (gnu packages glib)
49 #:use-module (gnu packages gnome)
50 #:use-module (gnu packages gnupg)
51 #:use-module (gnu packages gperf)
52 #:use-module (gnu packages graphics)
53 #:use-module (gnu packages gstreamer)
54 #:use-module (gnu packages image)
55 #:use-module (gnu packages kerberos)
56 #:use-module (gnu packages libreoffice)
57 #:use-module (gnu packages linux)
58 #:use-module (gnu packages mp3)
59 #:use-module (gnu packages pdf)
60 #:use-module (gnu packages pcre)
61 #:use-module (gnu packages perl)
62 #:use-module (gnu packages pkg-config)
63 #:use-module (gnu packages polkit)
64 #:use-module (gnu packages python)
65 #:use-module (gnu packages qt)
66 #:use-module (gnu packages textutils)
67 #:use-module (gnu packages tls)
68 #:use-module (gnu packages version-control)
69 #:use-module (gnu packages video)
70 #:use-module (gnu packages web)
71 #:use-module (gnu packages xml)
72 #:use-module (gnu packages xorg)
73 #:use-module (srfi srfi-1))
74
75 (define-public extra-cmake-modules
76 (package
77 (name "extra-cmake-modules")
78 (version "5.42.0")
79 (source (origin
80 (method url-fetch)
81 (uri (string-append
82 "mirror://kde/stable/frameworks/"
83 (version-major+minor version) "/"
84 name "-" version ".tar.xz"))
85 (sha256
86 (base32
87 "1ml6s3ssr5izm3vnzlg5gn2nkcbz5l5nmapvyr4ml7n0089b43a3"))))
88 (build-system cmake-build-system)
89 (native-inputs
90 `(("qtbase" ,qtbase))) ; For tests (needs qmake)
91 (arguments
92 `(#:phases
93 (modify-phases %standard-phases
94 (add-after 'unpack 'post-5.42.0-release-fix
95 ;; FIXME: Remove for > 5.42.0
96 ;; ECMToolchainAndroidTest doesn't exist anymore
97 ;; https://cgit.kde.org/extra-cmake-modules.git/commit?id=30f31c46d8caf4
98 (lambda _
99 (substitute* "tests/CMakeLists.txt"
100 (("^add_test_macro\\(ECMToolchainAndroidTest dummy\\)") ""))
101 #t))
102 (add-after 'unpack 'fix-lib-path
103 (lambda _
104 ;; Always install into /lib and not into /lib64.
105 (substitute* "kde-modules/KDEInstallDirs.cmake"
106 (("\"lib64\"") "\"lib\"")
107 ;; TODO: Base the following on values taken from Qt
108 ;; Install plugins into lib/qt5/plugins
109 (("_define_relative\\(QTPLUGINDIR LIBDIR \"plugins\"")
110 "_define_relative(QTPLUGINDIR LIBDIR \"qt5/plugins\"")
111 ;; Install imports into lib/qt5/imports
112 (("_define_relative\\(QTQUICKIMPORTSDIR QTPLUGINDIR \"imports\"")
113 "_define_relative(QTQUICKIMPORTSDIR LIBDIR \"qt5/imports\"")
114 ;; Install qml-files into lib/qt5/qml
115 (("_define_relative\\(QMLDIR LIBDIR \"qml\"")
116 "_define_relative(QMLDIR LIBDIR \"qt5/qml\""))
117 (substitute* "modules/ECMGeneratePriFile.cmake"
118 ;; Install pri-files into lib/qt5/mkspecs
119 (("set\\(ECM_MKSPECS_INSTALL_DIR mkspecs/modules")
120 "set(ECM_MKSPECS_INSTALL_DIR lib/qt5/mkspecs/modules"))))
121 ;; install and check phase are swapped to prevent install from failing
122 ;; after testsuire has run
123 (add-after 'install 'check-post-install
124 (assoc-ref %standard-phases 'check))
125 (delete 'check))))
126 ;; optional dependencies - to save space, we do not add these inputs.
127 ;; Sphinx > 1.2:
128 ;; Required to build Extra CMake Modules documentation in Qt Help format.
129 ;; Qt5LinguistTools , Qt5 linguist tools. , <http://www.qt.io/>
130 ;; Required to run tests for the ECMPoQmTools module.
131 ;; Qt5Core
132 ;; Required to run tests for the ECMQtDeclareLoggingCategory module,
133 ;; and for some tests of the KDEInstallDirs module.
134 (home-page "https://community.kde.org/Frameworks")
135 (synopsis "CMake module files for common software used by KDE")
136 (description "The Extra CMake Modules package, or ECM, adds to the
137 modules provided by CMake to find common software. In addition, it provides
138 common build settings used in software produced by the KDE community.")
139 (license license:bsd-3)))
140
141 (define-public phonon
142 (package
143 (name "phonon")
144 (version "4.10.0")
145 (source (origin
146 (method url-fetch)
147 (uri (string-append
148 "mirror://kde/stable/phonon"
149 "/" version "/"
150 name "-" version ".tar.xz"))
151 (sha256
152 (base32
153 "0gyhlnwamzfw31kw4qh0v6rj0m47k9wfygd6h07klg9ggp60xhg2"))))
154 (build-system cmake-build-system)
155 (native-inputs
156 ;; TODO: Think about adding pulseaudio. Is it required for sound?
157 ;; TODO: Add building the super experimental QML support
158 `(("extra-cmake-modules" ,extra-cmake-modules)
159 ("pkg-config" ,pkg-config)
160 ("qttools" ,qttools)))
161 (inputs
162 `(("qtbase" ,qtbase)))
163 (arguments
164 `(#:configure-flags
165 '("-DCMAKE_CXX_FLAGS=-fPIC"
166 "-DPHONON_BUILD_PHONON4QT5=ON")
167 #:phases
168 (modify-phases %standard-phases
169 (add-before 'install 'patch-installdir
170 (lambda* (#:key inputs outputs #:allow-other-keys)
171 (let ((regex (string-append "(INSTALL DESTINATION \")"
172 (assoc-ref inputs "qtbase"))))
173 (substitute* "cmake_install.cmake"
174 ((regex all dest)
175 (string-append dest (assoc-ref outputs "out")))))
176 #t)))))
177 (home-page "https://phonon.kde.org")
178 (synopsis "KDE's multimedia library")
179 (description "KDE's multimedia library.")
180 (license license:lgpl2.1+)))
181
182 (define-public phonon-backend-gstreamer
183 (package
184 (name "phonon-backend-gstreamer")
185 (version "4.9.0")
186 (source (origin
187 (method url-fetch)
188 (uri (string-append
189 "mirror://kde/stable/phonon/"
190 name "/" version "/"
191 name "-" version ".tar.xz"))
192 (sha256
193 (base32
194 "1wc5p1rqglf0n1avp55s50k7fjdzdrhg0gind15k8796w7nfbhyf"))))
195 (build-system cmake-build-system)
196 (native-inputs
197 `(("extra-cmake-modules" ,extra-cmake-modules)
198 ("pkg-config" ,pkg-config)))
199 (inputs
200 `(("qtbase" ,qtbase)
201 ("phonon" ,phonon)
202 ("qtbase" ,qtbase)
203 ("qtx11extras" ,qtx11extras)
204 ("gstreamer" ,gstreamer)
205 ("gst-plugins-base" ,gst-plugins-base)
206 ("libxml2" ,libxml2)))
207 (arguments
208 `(#:configure-flags
209 '( "-DPHONON_BUILD_PHONON4QT5=ON")))
210 (home-page "https://phonon.kde.org")
211 (synopsis "Phonon backend which uses GStreamer")
212 (description "Phonon makes use of backend libraries to provide sound.
213 Phonon-GStreamer is a backend based on the GStreamer multimedia library.")
214 ;; license: source files mention "either version 2.1 or 3"
215 (license (list license:lgpl2.1 license:lgpl3))))
216
217 (define-public gpgmepp
218 (package
219 (name "gpgmepp")
220 (version "16.08.2")
221 (source (origin
222 (method url-fetch)
223 (uri (string-append
224 "mirror://kde/stable/applications"
225 "/" version "/src/"
226 name "-" version ".tar.xz"))
227 (sha256
228 (base32
229 "0828qlhdi1i26n2xgyb01c0q77m6jlppbxv6mprryxq0ma88940a"))))
230 (build-system cmake-build-system)
231 (native-inputs
232 `(("extra-cmake-modules" ,extra-cmake-modules)))
233 (propagated-inputs
234 `(("boost" ,boost)
235 ("gpgme" ,gpgme)))
236 (inputs
237 `(("qtbase" ,qtbase)))
238 (home-page "https://community.kde.org/Frameworks")
239 (synopsis "C++ bindings/wrapper for gpgme")
240 (description "C++ bindings/wrapper for gpgme.")
241 (license license:lgpl2.1+)
242 (properties `((superseded . ,gpgme)))))
243
244 (define-public kpmcore
245 (package
246 (name "kpmcore")
247 (version "3.3.0")
248 (source (origin
249 (method url-fetch)
250 (uri (string-append
251 "mirror://kde/stable/kpmcore"
252 "/" version "/src/"
253 name "-" version ".tar.xz"))
254 (sha256
255 (base32
256 "0s6v0jfrhjg31ri5p6h9n4w29jvasf5dj954j3vfpzl91lygmmmq"))))
257 (build-system cmake-build-system)
258 (native-inputs
259 `(("extra-cmake-modules" ,extra-cmake-modules)
260 ("pkg-config" ,pkg-config)))
261 (inputs
262 `(("kconfigwidgets" ,kconfigwidgets)
263 ("kiconthemes" ,kiconthemes)
264 ("kio" ,kio)
265 ("ki18n" ,ki18n)
266 ("kservice" ,kservice)
267 ("libatasmart" ,libatasmart)
268 ("parted" ,parted)
269 ("qtbase" ,qtbase)
270 ("util-linux" ,util-linux)))
271 (home-page "https://community.kde.org/Frameworks")
272 (synopsis "Library for managing partitions")
273 (description "Library for managing partitions.")
274 (license license:gpl3+)))
275
276
277 ;; Tier 1
278 ;;
279 ;; Tier 1 frameworks depend only on Qt (and possibly a small number of other
280 ;; third-party libraries), so can easily be used by an Qt-based project.
281
282 (define-public attica
283 (package
284 (name "attica")
285 (version "5.42.0")
286 (source (origin
287 (method url-fetch)
288 (uri (string-append
289 "mirror://kde/stable/frameworks/"
290 (version-major+minor version) "/"
291 name "-" version ".tar.xz"))
292 (sha256
293 (base32
294 "0icjsk5sbri6nwybb2301wc6ysc1h4p35rxqp0adifyksq8akyxd"))))
295 (build-system cmake-build-system)
296 (native-inputs
297 `(("extra-cmake-modules" ,extra-cmake-modules)))
298 (inputs
299 `(("qtbase" ,qtbase)))
300 (home-page "https://community.kde.org/Frameworks")
301 (synopsis "Open Collaboration Service client library")
302 (description "Attica is a Qt library that implements the Open
303 Collaboration Services API version 1.6.
304
305 It grants easy access to the services such as querying information about
306 persons and contents. The library is used in KNewStuff3 as content provider.
307 In order to integrate with KDE's Plasma Desktop, a platform plugin exists in
308 kdebase.
309
310 The REST API is defined here:
311 http://freedesktop.org/wiki/Specifications/open-collaboration-services/")
312 (license (list license:lgpl2.1+ license:lgpl3+))))
313
314 (define-public bluez-qt
315 (package
316 (name "bluez-qt")
317 (version "5.42.0")
318 (source (origin
319 (method url-fetch)
320 (uri (string-append
321 "mirror://kde/stable/frameworks/"
322 (version-major+minor version) "/"
323 name "-" version ".tar.xz"))
324 (sha256
325 (base32
326 "0pbb0nn70hbsnp9q8jvqr3s85gh4bnnh1mp8xfkia2hp4c63ws9f"))))
327 (build-system cmake-build-system)
328 (native-inputs
329 `(("dbus" ,dbus)
330 ("extra-cmake-modules" ,extra-cmake-modules)))
331 (inputs
332 ;; TODO: qtdeclarative (yields one failing test)
333 `(("qtbase" ,qtbase)))
334 (arguments
335 `(#:configure-flags
336 (list (string-append
337 "-DUDEV_RULES_INSTALL_DIR=" %output "/lib/udev/rules.d"))
338 ;; TODO: Make tests pass: DBUS_FATAL_WARNINGS=0 still yields 7/8 tests
339 ;; failing. When running after install, tests hang.
340 #:tests? #f))
341 (home-page "https://community.kde.org/Frameworks")
342 (synopsis "QML wrapper for BlueZ")
343 (description "bluez-qt is a Qt-style library for accessing the bluez
344 Bluetooth stack. It is used by the KDE Bluetooth stack, BlueDevil.")
345 (license (list license:lgpl2.1+ license:lgpl3+))))
346
347 (define-public breeze-icons
348 (package
349 (name "breeze-icons")
350 (version "5.42.0")
351 (source (origin
352 (method url-fetch)
353 (uri (string-append
354 "mirror://kde/stable/frameworks/"
355 (version-major+minor version) "/"
356 name "-" version ".tar.xz"))
357 (sha256
358 (base32
359 "0mrj0b022yfy669qqby09k4ij6aqyky23gpnjcp85df9saq0x44r"))))
360 (build-system cmake-build-system)
361 (arguments
362 `(#:phases
363 (modify-phases %standard-phases
364 (add-before 'check 'disable-failing-test
365 (lambda _
366 ;; Blacklist a test-function (failing at build.kde.org, too).
367 ;; FIXME: recheck
368 (with-output-to-file "autotests/BLACKLIST"
369 (lambda _
370 (display "[test_duplicates]\n*\n")))
371 #t)))))
372 (native-inputs
373 `(("extra-cmake-modules" ,extra-cmake-modules)
374 ("fdupes" ,fdupes)
375 ("libxml2" ,libxml2)))
376 (inputs
377 `(("qtbase" ,qtbase)))
378 (home-page "https://community.kde.org/Frameworks")
379 (synopsis "Default KDE Plasma 5 icon theme")
380 (description "Breeze provides a freedesktop.org compatible icon theme.
381 It is the default icon theme for the KDE Plasma 5 desktop.")
382 ;; The license file mentions lgpl3+. The license files in the source
383 ;; directories are lgpl3, while the top directory contains the lgpl2.1.
384 ;; text.
385 (license license:lgpl3+)))
386
387 (define-public kapidox
388 (package
389 (name "kapidox")
390 (version "5.42.0")
391 (source (origin
392 (method url-fetch)
393 (uri (string-append
394 "mirror://kde/stable/frameworks/"
395 (version-major+minor version) "/"
396 name "-" version ".tar.xz"))
397 (sha256
398 (base32
399 "0izyd66p5403gl09l7irzy97mb9b14n4zyjrwap800zjlpwh41pz"))))
400 (build-system cmake-build-system)
401 (arguments
402 `(#:tests? #f)) ; has no test target
403 (native-inputs
404 `(("extra-cmake-modules" ,extra-cmake-modules)))
405 (propagated-inputs
406 ;; kapidox is a python programm
407 ;; TODO: check if doxygen has to be installed, the readme does not
408 ;; mention it. The openSuse .rpm lists doxygen, graphviz, graphviz-gd,
409 ;; and python-xml.
410 `(("python" ,python)
411 ("python-jinja2" ,python-jinja2)
412 ("python-pyyaml" ,python-pyyaml)))
413 (inputs
414 `(("qtbase" ,qtbase)))
415 (home-page "https://community.kde.org/Frameworks")
416 (synopsis "KDE Doxygen Tools")
417 (description "This framework contains scripts and data for building API
418 documentation (dox) in a standard format and style for KDE.
419
420 For the actual documentation extraction and formatting the Doxygen tool is
421 used, but this framework provides a wrapper script to make generating the
422 documentation more convenient (including reading settings from the target
423 framework or other module) and a standard template for the generated
424 documentation.")
425 ;; Most parts are bsd-2, but incuded jquery is expat
426 ;; This list is taken from http://packaging.neon.kde.org/cgit/
427 (license (list license:bsd-2 license:expat))))
428
429 (define-public karchive
430 (package
431 (name "karchive")
432 (version "5.42.0")
433 (source (origin
434 (method url-fetch)
435 (uri (string-append
436 "mirror://kde/stable/frameworks/"
437 (version-major+minor version) "/"
438 name "-" version ".tar.xz"))
439 (sha256
440 (base32
441 "1vq2ngdxmdl6hzjwdcrv66ban8v9s5jiqwy1mgdqv4ak14l31qbi"))))
442 (build-system cmake-build-system)
443 (native-inputs
444 `(("extra-cmake-modules" ,extra-cmake-modules)))
445 (inputs
446 `(("bzip2" ,bzip2)
447 ("qtbase" ,qtbase)
448 ("xz" ,xz)
449 ("zlib" ,zlib)))
450 (home-page "https://community.kde.org/Frameworks")
451 (synopsis "Qt 5 addon providing access to numerous types of archives")
452 (description "KArchive provides classes for easy reading, creation and
453 manipulation of 'archive' formats like ZIP and TAR.
454
455 It also provides transparent compression and decompression of data, like the
456 GZip format, via a subclass of QIODevice.")
457 ;; The included licenses is are gpl2 and lgpl2.1, but the sources are
458 ;; under a variety of licenses.
459 ;; This list is taken from http://packaging.neon.kde.org/cgit/
460 (license (list license:lgpl2.1 license:lgpl2.1+
461 license:lgpl3+ license:bsd-2))))
462
463 (define-public kcodecs
464 (package
465 (name "kcodecs")
466 (version "5.42.0")
467 (source (origin
468 (method url-fetch)
469 (uri (string-append
470 "mirror://kde/stable/frameworks/"
471 (version-major+minor version) "/"
472 name "-" version ".tar.xz"))
473 (sha256
474 (base32
475 "0b19z432r9dnyjknvwffhcmrg969yhydjvy4qrkrf22026f4smwc"))))
476 (build-system cmake-build-system)
477 (native-inputs
478 `(("extra-cmake-modules" ,extra-cmake-modules)
479 ("gperf" ,gperf)
480 ("qttools" ,qttools)))
481 (inputs
482 `(("qtbase" ,qtbase)))
483 (home-page "https://community.kde.org/Frameworks")
484 (synopsis "String encoding and manipulating library")
485 (description "KCodecs provide a collection of methods to manipulate
486 strings using various encodings.
487
488 It can automatically determine the charset of a string, translate XML
489 entities, validate email addresses, and find encodings by name in a more
490 tolerant way than QTextCodec (useful e.g. for data coming from the
491 Internet).")
492 ;; The included licenses is are gpl2 and lgpl2.1, but the sources are
493 ;; under a variety of licenses.
494 ;; This list is taken from http://packaging.neon.kde.org/cgit/
495 (license (list license:gpl2 license:gpl2+ license:bsd-2
496 license:lgpl2.1 license:lgpl2.1+ license:expat
497 license:lgpl3+ license:mpl1.1))))
498
499 (define-public kconfig
500 (package
501 (name "kconfig")
502 (version "5.42.0")
503 (source (origin
504 (method url-fetch)
505 (uri (string-append
506 "mirror://kde/stable/frameworks/"
507 (version-major+minor version) "/"
508 name "-" version ".tar.xz"))
509 (sha256
510 (base32
511 "08gg0d20c09j7hyxm8ydpzk2yf30c87g9ag7a9nfykrmi6cqirdq"))))
512 (build-system cmake-build-system)
513 (native-inputs
514 `(("extra-cmake-modules" ,extra-cmake-modules)
515 ("inetutils" ,inetutils)
516 ("qttools" ,qttools)
517 ("xorg-server" ,xorg-server)))
518 (inputs
519 `(("qtbase" ,qtbase)))
520 (arguments
521 `(#:phases
522 (modify-phases %standard-phases
523 (add-before 'check 'check-setup
524 (lambda _
525 (setenv "HOME" (getcwd))
526 (setenv "TMPDIR" (getcwd))
527 #t))
528 (add-before 'check 'start-xorg-server
529 (lambda* (#:key inputs #:allow-other-keys)
530 ;; The test suite requires a running X server.
531 (system (string-append (assoc-ref inputs "xorg-server")
532 "/bin/Xvfb :1 &"))
533 (setenv "DISPLAY" ":1")
534 #t)))))
535 (home-page "https://community.kde.org/Frameworks")
536 (synopsis "Kconfiguration settings framework for Qt")
537 (description "KConfig provides an advanced configuration system.
538 It is made of two parts: KConfigCore and KConfigGui.
539
540 KConfigCore provides access to the configuration files themselves.
541 It features:
542
543 @enumerate
544 @item Code generation: describe your configuration in an XML file, and use
545 `kconfig_compiler to generate classes that read and write configuration
546 entries.
547
548 @item Cascading configuration files (global settings overridden by local
549 settings).
550
551 @item Optional shell expansion support (see docs/options.md).
552
553 @item The ability to lock down configuration options (see docs/options.md).
554 @end enumerate
555
556 KConfigGui provides a way to hook widgets to the configuration so that they
557 are automatically initialized from the configuration and automatically
558 propagate their changes to their respective configuration files.")
559 ;; The included licenses is are gpl2 and lgpl2.1, but the sources are
560 ;; under a variety of licenses.
561 ;; This list is taken from http://packaging.neon.kde.org/cgit/
562 (license (list license:lgpl2.1 license:lgpl2.1+ license:expat
563 license:lgpl3+ license:gpl1 ; licende:mit-olif
564 license:bsd-2 license:bsd-3))))
565
566 (define-public kcoreaddons
567 (package
568 (name "kcoreaddons")
569 (version "5.42.0")
570 (source (origin
571 (method url-fetch)
572 (uri (string-append
573 "mirror://kde/stable/frameworks/"
574 (version-major+minor version) "/"
575 name "-" version ".tar.xz"))
576 (sha256
577 (base32
578 "17qv7r6z72mm9a0hyx5dgk90ikhhgm41bkvnq2hjal0py2lsnrs9"))))
579 (build-system cmake-build-system)
580 (native-inputs
581 `(("extra-cmake-modules" ,extra-cmake-modules)
582 ("qttools" ,qttools)
583 ("shared-mime-info" ,shared-mime-info)
584 ;; TODO: FAM: File alteration notification http://oss.sgi.com/projects/fam
585 ("xorg-server" ,xorg-server))) ; for the tests
586 (inputs
587 `(("qtbase" ,qtbase)))
588 (arguments
589 `(#:tests? #f ; FIXME: Test failure caused by stout/stderr being interleaved.
590 #:phases
591 (modify-phases %standard-phases
592 (add-before 'check 'check-setup
593 (lambda _
594 (setenv "HOME" (getcwd))
595 (setenv "TMPDIR" (getcwd))
596 #t)))))
597 (home-page "https://community.kde.org/Frameworks")
598 (synopsis "Qt addon library with a collection of non-GUI utilities")
599 (description "KCoreAddons provides classes built on top of QtCore to
600 perform various tasks such as manipulating mime types, autosaving files,
601 creating backup files, generating random sequences, performing text
602 manipulations such as macro replacement, accessing user information and
603 many more.")
604 (license (list license:lgpl2.0+ license:lgpl2.1+))))
605
606 (define-public kdbusaddons
607 (package
608 (name "kdbusaddons")
609 (version "5.42.0")
610 (source (origin
611 (method url-fetch)
612 (uri (string-append
613 "mirror://kde/stable/frameworks/"
614 (version-major+minor version) "/"
615 name "-" version ".tar.xz"))
616 (sha256
617 (base32
618 "1613pc3r70jnzvpwm1xjdbdsmcpx28jwvcs2qq9swlywr5qr9hbd"))
619 (patches (search-patches "kdbusaddons-kinit-file-name.patch"))))
620 (build-system cmake-build-system)
621 (native-inputs
622 `(("extra-cmake-modules" ,extra-cmake-modules)
623 ("dbus" ,dbus)
624 ("qttools" ,qttools)))
625 (inputs
626 `(("qtbase" ,qtbase)
627 ("qtx11extras" ,qtx11extras)
628 ("kinit" ,kinit-bootstrap))) ;; kinit-bootstrap: kinit package which does not depend on kdbusaddons.
629 (arguments
630 `(#:phases
631 (modify-phases %standard-phases
632 (add-before
633 'configure 'patch-source
634 (lambda* (#:key inputs #:allow-other-keys)
635 ;; look for the kdeinit5 executable in kinit's store directory,
636 ;; instead of the current application's directory:
637 (substitute* "src/kdeinitinterface.cpp"
638 (("@SUBSTITUTEME@") (assoc-ref inputs "kinit")))))
639 (replace 'check
640 (lambda _
641 (setenv "DBUS_FATAL_WARNINGS" "0")
642 (zero? (system* "dbus-launch" "ctest" ".")))))))
643 (home-page "https://community.kde.org/Frameworks")
644 (synopsis "Convenience classes for DBus")
645 (description "KDBusAddons provides convenience classes on top of QtDBus,
646 as well as an API to create KDED modules.")
647 ;; Some source files mention lgpl2.0+, but the included license is
648 ;; the lgpl2.1. Some source files are under non-copyleft licenses.
649 (license license:lgpl2.1+)))
650
651 (define-public kdnssd
652 (package
653 (name "kdnssd")
654 (version "5.42.0")
655 (source (origin
656 (method url-fetch)
657 (uri (string-append
658 "mirror://kde/stable/frameworks/"
659 (version-major+minor version) "/"
660 name "-" version ".tar.xz"))
661 (sha256
662 (base32
663 "1k1rz62h3mafliik5n0k98dc56b5v2v6qyqj40696mcyc2d1yvll"))))
664 (build-system cmake-build-system)
665 (native-inputs
666 `(("extra-cmake-modules" ,extra-cmake-modules)
667 ("qttools" ,qttools)))
668 (inputs
669 `(("avahi" ,avahi) ; alternativly dnssd could be used
670 ("qtbase" ,qtbase)))
671 (home-page "https://community.kde.org/Frameworks")
672 (synopsis "Network service discovery using Zeroconf")
673 (description "KDNSSD is a library for handling the DNS-based Service
674 Discovery Protocol (DNS-SD), the layer of Zeroconf that allows network services,
675 such as printers, to be discovered without any user intervention or centralized
676 infrastructure.")
677 (license license:lgpl2.1+)))
678
679 (define-public kguiaddons
680 (package
681 (name "kguiaddons")
682 (version "5.42.0")
683 (source (origin
684 (method url-fetch)
685 (uri (string-append
686 "mirror://kde/stable/frameworks/"
687 (version-major+minor version) "/"
688 name "-" version ".tar.xz"))
689 (sha256
690 (base32
691 "193i8b4f13dkgp88m3pk9wzi0dhx7qmsnmpizxia3457gg016wn7"))))
692 (build-system cmake-build-system)
693 ;; TODO: Build packages for the Python bindings. Ideally this will be
694 ;; done for all versions of python guix supports. Requires python,
695 ;; python-sip, clang-python, libclang. Requires python-2 in all cases for
696 ;; clang-python.
697 (native-inputs
698 `(("extra-cmake-modules" ,extra-cmake-modules)
699 ("pkg-config" ,pkg-config)))
700 (inputs
701 `(("qtbase" ,qtbase)
702 ("qtx11extras" ,qtx11extras)))
703 (arguments
704 `(#:phases
705 (modify-phases %standard-phases
706 (add-before 'check 'check-setup
707 (lambda _
708 ;; make Qt render "offscreen", required for tests
709 (setenv "QT_QPA_PLATFORM" "offscreen")
710 #t)))))
711 (home-page "https://community.kde.org/Frameworks")
712 (synopsis "Utilities for graphical user interfaces")
713 (description "The KDE GUI addons provide utilities for graphical user
714 interfaces in the areas of colors, fonts, text, images, keyboard input.")
715 (license (list license:gpl2+ license:lgpl2.1+))))
716
717 (define-public ki18n
718 (package
719 (name "ki18n")
720 (version "5.42.0")
721 (source (origin
722 (method url-fetch)
723 (uri (string-append
724 "mirror://kde/stable/frameworks/"
725 (version-major+minor version) "/"
726 name "-" version ".tar.xz"))
727 (sha256
728 (base32
729 "1rpriflb2a48j94zxgh63l6rzq4nlnlkvy89ns1vkdw42bnqrjx9"))))
730 (build-system cmake-build-system)
731 (propagated-inputs
732 `(("gettext" ,gettext-minimal)
733 ("python" ,python)))
734 (native-inputs
735 `(("extra-cmake-modules" ,extra-cmake-modules)))
736 (inputs
737 `(("qtbase" ,qtbase)
738 ("qtdeclarative" ,qtdeclarative)
739 ("qtscript" ,qtscript)))
740 (arguments
741 `(#:phases
742 (modify-phases %standard-phases
743 (add-before 'check 'check-setup
744 (lambda _
745 (setenv "HOME" (getcwd))
746 #t)))))
747 (home-page "https://community.kde.org/Frameworks")
748 (synopsis "KDE Gettext-based UI text internationalization")
749 (description "KI18n provides functionality for internationalizing user
750 interface text in applications, based on the GNU Gettext translation system. It
751 wraps the standard Gettext functionality, so that the programmers and translators
752 can use the familiar Gettext tools and workflows.
753
754 KI18n provides additional functionality as well, for both programmers and
755 translators, which can help to achieve a higher overall quality of source and
756 translated text. This includes argument capturing, customizable markup, and
757 translation scripting.")
758 (license license:lgpl2.1+)))
759
760 (define-public kidletime
761 (package
762 (name "kidletime")
763 (version "5.42.0")
764 (source (origin
765 (method url-fetch)
766 (uri (string-append
767 "mirror://kde/stable/frameworks/"
768 (version-major+minor version) "/"
769 name "-" version ".tar.xz"))
770 (sha256
771 (base32
772 "019r41r28pcrcn1kwxsll53za705jkc9n23b6sr2lplgjk05bcxh"))))
773 (build-system cmake-build-system)
774 (native-inputs
775 `(("extra-cmake-modules" ,extra-cmake-modules)
776 ("pkg-config" ,pkg-config)))
777 (inputs
778 `(("libxscrnsaver" ,libxscrnsaver) ; X-Screensaver based poller, fallback mode
779 ("qtbase" ,qtbase)
780 ("qtx11extras" ,qtx11extras)))
781 (home-page "https://community.kde.org/Frameworks")
782 (synopsis "Reporting of idle time of user and system")
783 (description "KIdleTime is a singleton reporting information on idle time.
784 It is useful not only for finding out about the current idle time of the PC,
785 but also for getting notified upon idle time events, such as custom timeouts,
786 or user activity.")
787 (license (list license:gpl2+ license:lgpl2.1+))))
788
789 (define-public kirigami
790 ;; Kirigami is listed as tier 1 framework, but optionally includes
791 ;; plasma-framework which is tier 3.
792 (package
793 (name "kirigami")
794 (version "5.42.0")
795 (source (origin
796 (method url-fetch)
797 (uri (string-append
798 "mirror://kde/stable/frameworks/"
799 (version-major+minor version) "/"
800 "kirigami2-" version ".tar.xz"))
801 (sha256
802 (base32
803 "11gqn7amp0r9bgh8ldgisfc2lrkzkn5mq2a1madf24nvjbkvqnqv"))))
804 (properties `((upstream-name . "kirigami2")))
805 (build-system cmake-build-system)
806 (native-inputs
807 `(("extra-cmake-modules" ,extra-cmake-modules)
808 ("qttools" ,qttools)))
809 (inputs
810 `(("kwindowsystem" ,kwindowsystem)
811 ;; TODO: Find a way to activate this optional include without
812 ;; introducing a recursive dependency.
813 ;;("plasma-frameworks" ,plasma-framework) ;; Tier 3!
814 ("qtbase" ,qtbase)
815 ("qtdeclarative" ,qtdeclarative)
816 ("qtquickcontrols2" ,qtquickcontrols2)
817 ("qtsvg" ,qtsvg)
818 ;; Run-time dependency
819 ("qtgraphicaleffects" ,qtgraphicaleffects)))
820 (arguments
821 `(#:tests? #f ;; FIXME: Test suite is broken,
822 ;; see https://bugs.kde.org/show_bug.cgi?id=386456
823 ;; Note for when enabling the tests: The test-suite is meant to be run
824 ;; without prior installation, see
825 ;; https://cgit.kde.org/kirigami.git/commit/?id=24ad2c9
826 #:phases
827 (modify-phases %standard-phases
828 (add-before 'check 'check-setup
829 (lambda* (#:key outputs #:allow-other-keys)
830 ;; make Qt render "offscreen", required for tests
831 (setenv "QT_QPA_PLATFORM" "offscreen")
832 #t)))))
833 (home-page "https://community.kde.org/Frameworks")
834 (synopsis "QtQuick components for mobile user interfaces")
835 (description "Kirigami is a set of high level QtQuick components looking
836 and feeling well on both mobile and desktop devices. They ease the creation
837 of applications that follow the Kirigami Human Interface Guidelines.")
838 (license license:lgpl2.1+)))
839
840 (define-public kitemmodels
841 (package
842 (name "kitemmodels")
843 (version "5.42.0")
844 (source (origin
845 (method url-fetch)
846 (uri (string-append
847 "mirror://kde/stable/frameworks/"
848 (version-major+minor version) "/"
849 name "-" version ".tar.xz"))
850 (sha256
851 (base32
852 "0mcdzdqwmvf9pwirsrnjbhrgqphnfmanbl9zij4qsmin8n866mhc"))))
853 (build-system cmake-build-system)
854 (native-inputs
855 `(("extra-cmake-modules" ,extra-cmake-modules)))
856 (inputs
857 `(("qtbase" ,qtbase)
858 ("qtdeclarative" ,qtdeclarative)))
859 (arguments
860 `(#:phases
861 (modify-phases %standard-phases
862 (add-before 'check 'check-setup
863 (lambda _
864 ;; make Qt render "offscreen", required for tests
865 (setenv "QT_QPA_PLATFORM" "offscreen")
866 #t)))))
867 (home-page "https://community.kde.org/Frameworks")
868 (synopsis "Set of item models extending the Qt model-view framework")
869 (description "KItemModels provides the following models:
870
871 @enumerate
872 @item KBreadcrumbSelectionModel - Selects the parents of selected items to
873 create breadcrumbs.
874
875 @item KCheckableProxyModel - Adds a checkable capability to a source model.
876
877 @item KConcatenateRowsProxyModel - Concatenates rows from multiple source models.
878
879 @item KDescendantsProxyModel - Proxy Model for restructuring a Tree into a list.
880
881 @item KExtraColumnsProxyModel - Adds columns after existing columns.
882
883 @item KLinkItemSelectionModel - Share a selection in multiple views which do
884 not have the same source model.
885
886 @item KModelIndexProxyMapper - Mapping of indexes and selections through proxy
887 models.
888
889 @item KRearrangeColumnsProxyModel - Can reorder and hide columns from the source
890 model.
891
892 @item KRecursiveFilterProxyModel - Recursive filtering of models.
893
894 @item KSelectionProxyModel - A Proxy Model which presents a subset of its source
895 model to observers
896 @end enumerate")
897 (license license:lgpl2.1+)))
898
899 (define-public kitemviews
900 (package
901 (name "kitemviews")
902 (version "5.42.0")
903 (source (origin
904 (method url-fetch)
905 (uri (string-append
906 "mirror://kde/stable/frameworks/"
907 (version-major+minor version) "/"
908 name "-" version ".tar.xz"))
909 (sha256
910 (base32
911 "1j1q0b08f8mnfc3r2a7rplyb2nv9f0aq5a3fxskinvg70c6y248w"))))
912 (build-system cmake-build-system)
913 (native-inputs
914 `(("extra-cmake-modules" ,extra-cmake-modules)
915 ("qttools" ,qttools)))
916 (inputs
917 `(("qtbase" ,qtbase)))
918 (arguments
919 `(#:phases
920 (modify-phases %standard-phases
921 (add-before 'check 'check-setup
922 (lambda _
923 (setenv "DBUS_FATAL_WARNINGS" "0")
924 ;; make Qt render "offscreen", required for tests
925 (setenv "QT_QPA_PLATFORM" "offscreen")
926 #t)))))
927 (home-page "https://community.kde.org/Frameworks")
928 (synopsis "Set of item views extending the Qt model-view framework")
929 (description "KItemViews includes a set of views, which can be used with
930 item models. It includes views for categorizing lists and to add search filters
931 to flat and hierarchical lists.")
932 (license (list license:gpl2+ license:lgpl2.1+))))
933
934 (define-public kplotting
935 (package
936 (name "kplotting")
937 (version "5.42.0")
938 (source (origin
939 (method url-fetch)
940 (uri (string-append
941 "mirror://kde/stable/frameworks/"
942 (version-major+minor version) "/"
943 name "-" version ".tar.xz"))
944 (sha256
945 (base32
946 "109b9grshrwralyp8ilkbf1k0akaggygqh6wafqdf0ris0ps13l9"))))
947 (build-system cmake-build-system)
948 (native-inputs
949 `(("extra-cmake-modules" ,extra-cmake-modules)))
950 (inputs
951 `(("qtbase" ,qtbase)))
952 (arguments
953 `(#:phases
954 (modify-phases %standard-phases
955 (add-before 'check 'check-setup
956 (lambda _ ; kplotting
957 ;; make Qt render "offscreen", required for tests
958 (setenv "QT_QPA_PLATFORM" "offscreen")
959 #t)))))
960 (home-page "https://community.kde.org/Frameworks")
961 (synopsis "Data plotting library")
962 (description "KPlotWidget is a QWidget-derived class that provides a virtual
963 base class for easy data-plotting. The idea behind KPlotWidget is that you only
964 have to specify information in \"data units\", the natural units of the
965 data being plotted. KPlotWidget automatically converts everything to screen
966 pixel units.")
967 (license license:lgpl2.1+)))
968
969 (define-public ksyntaxhighlighting
970 (package
971 (name "ksyntaxhighlighting")
972 (version "5.42.0")
973 (source (origin
974 (method url-fetch)
975 (uri (string-append
976 "mirror://kde/stable/frameworks/"
977 (version-major+minor version) "/"
978 "syntax-highlighting-" version ".tar.xz"))
979 (sha256
980 (base32
981 "1iwiym50859jki4x41rfdmbd14jiq5lr2hdg46pjkyw17njdjd60"))))
982 (build-system cmake-build-system)
983 (native-inputs
984 `(("extra-cmake-modules" ,extra-cmake-modules)
985 ("perl" ,perl)
986 ("qttools" ,qttools)
987 ;; Optional, for compile-time validation of syntax definition files:
988 ("qtxmlpatterns" ,qtxmlpatterns)))
989 (inputs
990 `(("qtbase" ,qtbase)))
991 (arguments
992 `(#:phases
993 (modify-phases %standard-phases
994 (add-after 'patch-source-shebangs 'unpatch-source-shebang
995 (lambda _
996 ;; revert the patch-shebang phase on scripts which are
997 ;; in fact test data
998 (substitute* '("autotests/input/test.bash"
999 "autotests/folding/test.bash.fold")
1000 (((which "bash")) "/bin/bash"))
1001 (substitute* '("autotests/input/highlight.sh"
1002 "autotests/folding/highlight.sh.fold")
1003 (((which "sh")) " /bin/sh")) ;; space in front!
1004 (substitute* '("autotests/input/highlight.pl"
1005 "autotests/folding/highlight.pl.fold")
1006 (((which "perl")) "/usr/bin/perl"))
1007 #t)))))
1008 (home-page "https://community.kde.org/Frameworks")
1009 (synopsis "Syntax highlighting engine for Kate syntax definitions")
1010 (description "This is a stand-alone implementation of the Kate syntax
1011 highlighting engine. It's meant as a building block for text editors as well
1012 as for simple highlighted text rendering (e.g. as HTML), supporting both
1013 integration with a custom editor as well as a ready-to-use
1014 @code{QSyntaxHighlighter} sub-class.")
1015 (properties `((upstream-name . "syntax-highlighting")))
1016 (license license:lgpl2.1+)))
1017
1018 (define-public kwayland
1019 (package
1020 (name "kwayland")
1021 (version "5.42.0")
1022 (source (origin
1023 (method url-fetch)
1024 (uri (string-append
1025 "mirror://kde/stable/frameworks/"
1026 (version-major+minor version) "/"
1027 name "-" version ".tar.xz"))
1028 (sha256
1029 (base32
1030 "0wr6ygppahxsx3dh71h2wmybv7z7iyqdv7wn80cxb0mp4zpyinh7"))))
1031 (build-system cmake-build-system)
1032 (native-inputs
1033 `(("extra-cmake-modules" ,extra-cmake-modules)
1034 ("pkg-config" ,pkg-config)))
1035 (inputs
1036 `(("qtbase" ,qtbase)
1037 ("wayland" ,wayland)))
1038 (arguments
1039 `(#:tests? #f ; FIXME tests require weston to run
1040 ; weston requires wayland flags in mesa
1041 #:phases
1042 (modify-phases %standard-phases
1043 (add-before 'check 'check-setup
1044 (lambda _
1045 (setenv "XDG_RUNTIME_DIR" "/tmp")
1046 #t)))))
1047 (home-page "https://community.kde.org/Frameworks")
1048 (synopsis "Qt-style API to interact with the wayland client and server")
1049 (description "As the names suggest they implement a Client respectively a
1050 Server API for the Wayland protocol. The API is Qt-styled removing the needs to
1051 interact with a for a Qt developer uncomfortable low-level C-API. For example
1052 the callback mechanism from the Wayland API is replaced by signals, data types
1053 are adjusted to be what a Qt developer expects - two arguments of int are
1054 represented by a QPoint or a QSize.")
1055 (license license:lgpl2.1+)))
1056
1057 (define-public kwidgetsaddons
1058 (package
1059 (name "kwidgetsaddons")
1060 (version "5.42.1")
1061 (source (origin
1062 (method url-fetch)
1063 (uri (string-append
1064 "mirror://kde/stable/frameworks/"
1065 (version-major+minor version) "/"
1066 name "-" version ".tar.xz"))
1067 (sha256
1068 (base32
1069 "0h0vfrfl5zi01fpvmd825kazzlyawz3i66qrfkymdrnvqmfzcmlg"))))
1070 (build-system cmake-build-system)
1071 (native-inputs
1072 `(("extra-cmake-modules" ,extra-cmake-modules)
1073 ("qttools" ,qttools)
1074 ("xorg-server" ,xorg-server)))
1075 (inputs
1076 `(("qtbase" ,qtbase)))
1077 (arguments
1078 `(#:phases
1079 (modify-phases %standard-phases
1080 (add-before 'check 'check-setup
1081 (lambda _
1082 ;; make Qt render "offscreen", required for tests
1083 (setenv "QT_QPA_PLATFORM" "offscreen")
1084 (setenv "DBUS_FATAL_WARNINGS" "0")
1085 #t))
1086 (add-before 'check 'start-xorg-server
1087 (lambda* (#:key inputs #:allow-other-keys)
1088 ;; The test suite requires a running X server.
1089 ;; Xvfb doesn't have proper glx support and needs a pixeldepth
1090 ;; of 24 bit to avoid "libGL error: failed to load driver: swrast"
1091 ;; "Could not initialize GLX"
1092 (system (string-append (assoc-ref inputs "xorg-server")
1093 "/bin/Xvfb :1 -screen 0 640x480x24 &"))
1094 (setenv "DISPLAY" ":1")
1095 #t)))))
1096 (home-page "https://community.kde.org/Frameworks")
1097 (synopsis "Large set of desktop widgets")
1098 (description "Provided are action classes that can be added to toolbars or
1099 menus, a wide range of widgets for selecting characters, fonts, colors, actions,
1100 dates and times, or MIME types, as well as platform-aware dialogs for
1101 configuration pages, message boxes, and password requests.")
1102 (license (list license:gpl2+ license:lgpl2.1+))))
1103
1104 (define-public kwindowsystem
1105 (package
1106 (name "kwindowsystem")
1107 (version "5.42.0")
1108 (source (origin
1109 (method url-fetch)
1110 (uri (string-append
1111 "mirror://kde/stable/frameworks/"
1112 (version-major+minor version) "/"
1113 name "-" version ".tar.xz"))
1114 (sha256
1115 (base32
1116 "15k6x0f93qxka3mz7qfzak2ibdd88q77pz6akil8s3g41zsg2dqv"))))
1117 (build-system cmake-build-system)
1118 (native-inputs
1119 `(("extra-cmake-modules" ,extra-cmake-modules)
1120 ("pkg-config" ,pkg-config)
1121 ("dbus" ,dbus) ; for the tests
1122 ("qttools" ,qttools)
1123 ("xorg-server" ,xorg-server))) ; for the tests
1124 (inputs
1125 `(("libxrender" ,libxrender)
1126 ("qtbase" ,qtbase)
1127 ("qtx11extras" ,qtx11extras)
1128 ("xcb-utils-keysyms" ,xcb-util-keysyms)))
1129 (arguments
1130 `(#:tests? #f ; FIXME: 3/12 tests fail.
1131 #:phases
1132 (modify-phases %standard-phases
1133 (delete 'check)
1134 (add-after 'install 'check
1135 (lambda* (#:key inputs outputs tests? #:allow-other-keys)
1136 ;; TODO: Simplify and use "common" phases when test-suite passes
1137 (if tests?
1138 (begin
1139 (let ((out (assoc-ref outputs "out")))
1140 (setenv "QT_PLUGIN_PATH"
1141 (string-append out "/lib/qt5/plugins:"
1142 (getenv "QT_PLUGIN_PATH"))))
1143 ;; The test suite requires a running X server, setting
1144 ;; QT_QPA_PLATFORM=offscreen does not suffice and even make
1145 ;; some tests fail.
1146 (system (string-append (assoc-ref inputs "xorg-server")
1147 "/bin/Xvfb :1 -screen 0 640x480x24 &"))
1148 (setenv "DISPLAY" ":1")
1149 (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
1150 (setenv "DBUS_FATAL_WARNINGS" "0")
1151 (zero? (system* "dbus-launch" "ctest" ".")))
1152 (begin
1153 (format #t "test suite not run~%")
1154 #t)))))))
1155 (home-page "https://community.kde.org/Frameworks")
1156 (synopsis "KDE access to the windowing system")
1157 (description "KWindowSystem provides information about and allows
1158 interaction with the windowing system. It provides a high level API, which
1159 is windowing system independent and has platform specific
1160 implementations. This API is inspired by X11 and thus not all functionality
1161 is available on all windowing systems.
1162
1163 In addition to the high level API, this framework also provides several
1164 lower level classes for interaction with the X Windowing System.")
1165 ;; Some source files mention lgpl2.0+, but the included license is
1166 ;; the lgpl2.1. Some source files are under non-copyleft licenses.
1167 (license license:lgpl2.1+)))
1168
1169 (define-public modemmanager-qt
1170 (package
1171 (name "modemmanager-qt")
1172 (version "5.42.0")
1173 (source (origin
1174 (method url-fetch)
1175 (uri (string-append
1176 "mirror://kde/stable/frameworks/"
1177 (version-major+minor version) "/"
1178 name "-" version ".tar.xz"))
1179 (sha256
1180 (base32
1181 "0q6qzn60z55h0gyc9xwdfaq45mjpk3zrr6d4qqjjfkqsr3866sfx"))))
1182 (build-system cmake-build-system)
1183 (native-inputs
1184 `(("extra-cmake-modules" ,extra-cmake-modules)
1185 ("dbus" ,dbus)
1186 ("pkg-config" ,pkg-config)))
1187 (propagated-inputs
1188 ;; Headers contain #include <ModemManager/ModemManager.h>
1189 `(("modem-manager" ,modem-manager)))
1190 (inputs
1191 `(("qtbase" ,qtbase)))
1192 (arguments
1193 `(#:phases
1194 (modify-phases %standard-phases
1195 (replace 'check
1196 (lambda _
1197 (setenv "DBUS_FATAL_WARNINGS" "0")
1198 (zero? (system* "dbus-launch" "ctest" ".")))))))
1199 (home-page "https://community.kde.org/Frameworks")
1200 (synopsis "Qt wrapper for ModemManager DBus API")
1201 (description "ModemManagerQt provides access to all ModemManager features
1202 exposed on DBus. It allows you to manage modem devices and access to
1203 information available for your modem devices, like signal, location and
1204 messages.")
1205 (license license:lgpl2.1+)))
1206
1207 (define-public networkmanager-qt
1208 (package
1209 (name "networkmanager-qt")
1210 (version "5.42.0")
1211 (source (origin
1212 (method url-fetch)
1213 (uri (string-append
1214 "mirror://kde/stable/frameworks/"
1215 (version-major+minor version) "/"
1216 name "-" version ".tar.xz"))
1217 (sha256
1218 (base32
1219 "03hhvx8d52mfgbhd4gn0vhsk9k1fv1pvq24ixxdgs2mw44v884xq"))))
1220 (build-system cmake-build-system)
1221 (native-inputs
1222 `(("extra-cmake-modules" ,extra-cmake-modules)
1223 ("dbus" ,dbus)
1224 ("pkg-config" ,pkg-config)))
1225 (propagated-inputs
1226 ;; Headers contain #include <NetworkManager.h> and
1227 ;; #include <libnm/NetworkManager.h>
1228 `(("network-manager" ,network-manager)))
1229 (inputs
1230 `(("qtbase" ,qtbase)))
1231 (arguments
1232 `(#:phases
1233 (modify-phases %standard-phases
1234 (replace 'check
1235 (lambda _
1236 (setenv "DBUS_FATAL_WARNINGS" "0")
1237 (zero? (system* "dbus-launch" "ctest" ".")))))))
1238 (home-page "https://community.kde.org/Frameworks")
1239 (synopsis "Qt wrapper for NetworkManager DBus API")
1240 (description "NetworkManagerQt provides access to all NetworkManager
1241 features exposed on DBus. It allows you to manage your connections and control
1242 your network devices and also provides a library for parsing connection settings
1243 which are used in DBus communication.")
1244 (license license:lgpl2.1+)))
1245
1246 (define-public oxygen-icons
1247 (package
1248 (name "oxygen-icons")
1249 (version "5.42.0")
1250 (source (origin
1251 (method url-fetch)
1252 (uri (string-append
1253 "mirror://kde/stable/frameworks/"
1254 (version-major+minor version) "/"
1255 name "5" "-" version ".tar.xz"))
1256 (sha256
1257 (base32
1258 "0pnav9h0xmvbaamzpcyznjjv25slz8maszshx7sj7h07b5a23x46"))))
1259 (build-system cmake-build-system)
1260 (native-inputs
1261 `(("extra-cmake-modules" ,extra-cmake-modules)
1262 ("fdupes" ,fdupes)))
1263 (inputs
1264 `(("qtbase" ,qtbase)))
1265 (home-page "https://community.kde.org/Frameworks")
1266 (synopsis "Oxygen provides the standard icon theme for the KDE desktop")
1267 (description "Oxygen icon theme for the KDE desktop")
1268 (license license:lgpl3+)
1269 (properties '((upstream-name . "oxygen-icons5")))))
1270
1271 (define-public prison
1272 (package
1273 (name "prison")
1274 (version "5.42.0")
1275 (source
1276 (origin
1277 (method url-fetch)
1278 (uri (string-append "mirror://kde/stable/frameworks/"
1279 (version-major+minor version) "/"
1280 name "-" version ".tar.xz"))
1281 (sha256
1282 (base32 "0bhg2fjdwsv7mk16jh1nc3miwggz1dl9l99l2f20xvi75hn7rryg"))))
1283 (build-system cmake-build-system)
1284 (native-inputs
1285 `(("extra-cmake-modules" ,extra-cmake-modules)))
1286 (inputs
1287 `(("libdmtx" ,libdmtx)
1288 ("qrencode" ,qrencode)
1289 ("qtbase" ,qtbase))) ;; TODO: rethink: nix propagates this
1290 (home-page "https://api.kde.org/frameworks/prison/html/index.html")
1291 (synopsis "Barcode generation abstraction layer")
1292 (description "Prison is a Qt-based barcode abstraction layer/library and
1293 provides uniform access to generation of barcodes with data.")
1294 (license license:lgpl2.1+)))
1295
1296 (define-public qqc2-desktop-style
1297 (package
1298 (name "qqc2-desktop-style")
1299 (version "5.42.0")
1300 (source (origin
1301 (method url-fetch)
1302 (uri (string-append
1303 "mirror://kde/stable/frameworks/"
1304 (version-major+minor version) "/"
1305 name "-" version ".tar.xz"))
1306 (sha256
1307 (base32
1308 "1arlfhcshfs11pgf87jzjgln1p711zlx0v0q014740mbzb9g5wnk"))))
1309 (build-system cmake-build-system)
1310 (native-inputs
1311 `(("extra-cmake-modules" ,extra-cmake-modules)
1312 ("pkg-config" ,pkg-config)))
1313 (inputs
1314 `(("kauth" ,kauth)
1315 ("kconfigwidgets" ,kconfigwidgets) ; optional
1316 ("kcoreaddons" ,kcoreaddons)
1317 ("kiconthemes" ,kiconthemes) ; optional
1318 ("kirigami" ,kirigami)
1319 ("qtbase" ,qtbase)
1320 ("qtdeclarative" ,qtdeclarative)
1321 ("qtquickcontrols2" ,qtquickcontrols2)))
1322 (home-page "https://community.kde.org/Frameworks")
1323 (synopsis "QtQuickControls2 style that integrates with the desktop")
1324 (description "This is a style for QtQuickControls2 which is using
1325 QWidget's QStyle to paint the controls in order to give it a native look and
1326 feel.")
1327 ;; Mostly LGPL 2+, but many files are dual-licensed
1328 (license (list license:lgpl2.1+ license:gpl3+))))
1329
1330 (define-public solid
1331 (package
1332 (name "solid")
1333 (version "5.42.0")
1334 (source (origin
1335 (method url-fetch)
1336 (uri (string-append
1337 "mirror://kde/stable/frameworks/"
1338 (version-major+minor version) "/"
1339 name "-" version ".tar.xz"))
1340 (sha256
1341 (base32
1342 "10lr8paaq6vaiqn833kzcdc3kkyv8j9fdchy7h8pvi9ajjjwq0lq"))))
1343 (build-system cmake-build-system)
1344 (arguments
1345 `(#:phases
1346 (modify-phases %standard-phases
1347 (replace 'check
1348 (lambda _
1349 (setenv "DBUS_FATAL_WARNINGS" "0")
1350 (zero? (system* "dbus-launch" "ctest" ".")))))))
1351 (native-inputs
1352 `(("bison" ,bison)
1353 ("dbus" ,dbus)
1354 ("extra-cmake-modules" ,extra-cmake-modules)
1355 ("flex" ,flex)
1356 ("qttools" ,qttools)))
1357 (inputs
1358 `(("qtbase" ,qtbase)
1359 ("qtdeclarative" ,qtdeclarative)
1360 ("udev" ,eudev)))
1361 ;; TODO: Add runtime-only dependency MediaPlayerInfo
1362 (home-page "https://community.kde.org/Frameworks")
1363 (synopsis "Desktop hardware abstraction")
1364 (description "Solid is a device integration framework. It provides a way of
1365 querying and interacting with hardware independently of the underlying operating
1366 system.")
1367 (license license:lgpl2.1+)))
1368
1369 (define-public sonnet
1370 (package
1371 (name "sonnet")
1372 (version "5.42.0")
1373 (source (origin
1374 (method url-fetch)
1375 (uri (string-append
1376 "mirror://kde/stable/frameworks/"
1377 (version-major+minor version) "/"
1378 name "-" version ".tar.xz"))
1379 (sha256
1380 (base32
1381 "1r3amddmy0nm8klw0jzvb8bl1l9hkrx50d8j0zq2lbjy36h3yliw"))))
1382 (build-system cmake-build-system)
1383 (arguments
1384 `(#:phases
1385 (modify-phases %standard-phases
1386 (add-before 'check 'check-setup
1387 (lambda _
1388 ;; make Qt render "offscreen", required for tests
1389 (setenv "QT_QPA_PLATFORM" "offscreen")
1390 #t)))))
1391 (native-inputs
1392 `(("extra-cmake-modules" ,extra-cmake-modules)
1393 ("pkg-config" ,pkg-config)
1394 ("qttools" ,qttools)))
1395 (inputs
1396 `(("hunspell" ,hunspell)
1397 ;; TODO: hspell (for Hebrew), Voikko (for Finish)
1398 ("qtbase" ,qtbase)))
1399 (home-page "https://community.kde.org/Frameworks")
1400 (synopsis "Multi-language spell checker")
1401 (description "Sonnet is a plugin-based spell checking library for Qt-based
1402 applications. It supports several different plugins, including HSpell, Enchant,
1403 ASpell and HUNSPELL.")
1404 (license license:lgpl2.1+)))
1405
1406 (define-public threadweaver
1407 (package
1408 (name "threadweaver")
1409 (version "5.42.0")
1410 (source (origin
1411 (method url-fetch)
1412 (uri (string-append
1413 "mirror://kde/stable/frameworks/"
1414 (version-major+minor version) "/"
1415 name "-" version ".tar.xz"))
1416 (sha256
1417 (base32
1418 "1isqlpnfxzxyz7mdm7yfrafgnx09mcndicdgdw3mi4r4misbrrbn"))))
1419 (build-system cmake-build-system)
1420 (native-inputs
1421 `(("extra-cmake-modules" ,extra-cmake-modules)))
1422 (inputs
1423 `(("qtbase" ,qtbase)))
1424 (home-page "https://community.kde.org/Frameworks")
1425 (synopsis "Helper for multithreaded programming")
1426 (description "ThreadWeaver is a helper for multithreaded programming. It
1427 uses a job-based interface to queue tasks and execute them in an efficient way.")
1428 (license license:lgpl2.1+)))
1429
1430
1431 ;; Tier 2
1432 ;;
1433 ;; Tier 2 frameworks additionally depend on tier 1 frameworks, but still have
1434 ;; easily manageable dependencies.
1435
1436 (define-public kactivities
1437 (package
1438 (name "kactivities")
1439 (version "5.42.0")
1440 (source (origin
1441 (method url-fetch)
1442 (uri (string-append
1443 "mirror://kde/stable/frameworks/"
1444 (version-major+minor version) "/"
1445 name "-" version ".tar.xz"))
1446 (sha256
1447 (base32
1448 "0z0ac426npq99s1b8yzrqkjjjc34nbxlpw8pw388yj7fa41hw21r"))))
1449 (build-system cmake-build-system)
1450 (native-inputs
1451 `(("extra-cmake-modules" ,extra-cmake-modules)))
1452 (inputs
1453 `(("boost" ,boost)
1454 ("kauth" ,kauth)
1455 ("kbookmarks" ,kbookmarks)
1456 ("kcodecs" ,kcodecs)
1457 ("kcompletion" ,kcompletion)
1458 ("kconfig" ,kconfig)
1459 ("kconfigwidgets" ,kconfigwidgets)
1460 ("kcoreaddons" ,kcoreaddons)
1461 ("kio" ,kio)
1462 ("kitemviews" ,kitemviews)
1463 ("kjobwidgets" ,kjobwidgets)
1464 ("kservice" ,kservice)
1465 ("kwidgetsaddons" ,kwidgetsaddons)
1466 ("kwindowsystem" ,kwindowsystem)
1467 ("kxmlgui" ,kxmlgui)
1468 ("qtbase" ,qtbase)
1469 ("qtdeclarative" ,qtdeclarative)
1470 ("solid" ,solid)))
1471 (home-page "https://community.kde.org/Frameworks")
1472 (synopsis "Core components for the KDE Activity concept")
1473 (description "KActivities provides the infrastructure needed to manage a
1474 user's activities, allowing them to switch between tasks, and for applications
1475 to update their state to match the user's current activity. This includes a
1476 daemon, a library for interacting with that daemon, and plugins for integration
1477 with other frameworks.")
1478 ;; triple licensed
1479 (license (list license:gpl2+ license:lgpl2.0+ license:lgpl2.1+))))
1480
1481 (define-public kauth
1482 (package
1483 (name "kauth")
1484 (version "5.42.0")
1485 (source (origin
1486 (method url-fetch)
1487 (uri (string-append
1488 "mirror://kde/stable/frameworks/"
1489 (version-major+minor version) "/"
1490 name "-" version ".tar.xz"))
1491 (sha256
1492 (base32
1493 "04kqb2hhr9lkpkxiaqlnyk0kmk6p89z5fgp5i5g83hsi8maz7swi"))))
1494 (build-system cmake-build-system)
1495 (native-inputs
1496 `(("dbus" ,dbus)
1497 ("extra-cmake-modules" ,extra-cmake-modules)
1498 ("qttools" ,qttools)))
1499 (inputs
1500 `(("kcoreaddons" ,kcoreaddons)
1501 ("polkit-qt" ,polkit-qt)
1502 ("qtbase" ,qtbase)))
1503 (arguments
1504 `(#:phases
1505 (modify-phases %standard-phases
1506 (add-after 'unpack 'fix-cmake-install-directories
1507 (lambda _
1508 ;; Make packages using kauth put their policy files and helpers
1509 ;; into their own prefix.
1510 (substitute* "KF5AuthConfig.cmake.in"
1511 (("@KAUTH_POLICY_FILES_INSTALL_DIR@")
1512 "${KDE_INSTALL_DATADIR}/polkit-1/actions")
1513 (("@KAUTH_HELPER_INSTALL_DIR@")
1514 "${KDE_INSTALL_LIBEXECDIR}")
1515 (("@KAUTH_HELPER_INSTALL_ABSOLUTE_DIR@")
1516 "${KDE_INSTALL_LIBEXECDIR}"))))
1517 (replace 'check
1518 (lambda _
1519 (setenv "DBUS_FATAL_WARNINGS" "0")
1520 (zero? (system* "dbus-launch" "ctest" ".")))))))
1521 (home-page "https://community.kde.org/Frameworks")
1522 (synopsis "Execute actions as privileged user")
1523 (description "KAuth provides a convenient, system-integrated way to offload
1524 actions that need to be performed as a privileged user to small set of helper
1525 utilities.")
1526 (license license:lgpl2.1+)))
1527
1528 (define-public kcompletion
1529 (package
1530 (name "kcompletion")
1531 (version "5.42.0")
1532 (source (origin
1533 (method url-fetch)
1534 (uri (string-append
1535 "mirror://kde/stable/frameworks/"
1536 (version-major+minor version) "/"
1537 name "-" version ".tar.xz"))
1538 (sha256
1539 (base32
1540 "0yqci2v0dk5v1mz4n3gca599a7mpihy563zc6sl8hsa30ld8li0f"))))
1541 (build-system cmake-build-system)
1542 (native-inputs
1543 `(("extra-cmake-modules" ,extra-cmake-modules)
1544 ("qttools" ,qttools)))
1545 (inputs
1546 `(("kconfig" ,kconfig)
1547 ("kwidgetsaddons" ,kwidgetsaddons)
1548 ("qtbase" ,qtbase)))
1549 (arguments
1550 `(#:phases
1551 (modify-phases %standard-phases
1552 (add-before 'check 'check-setup
1553 (lambda _
1554 ;; make Qt render "offscreen", required for tests
1555 (setenv "QT_QPA_PLATFORM" "offscreen")
1556 #t)))))
1557 (home-page "https://community.kde.org/Frameworks")
1558 (synopsis "Powerful autocompletion framework and widgets")
1559 (description "This framework helps implement autocompletion in Qt-based
1560 applications. It provides a set of completion-ready widgets, or can be
1561 integrated it into your application's other widgets.")
1562 (license license:lgpl2.1+)))
1563
1564 (define-public kcrash
1565 (package
1566 (name "kcrash")
1567 (version "5.42.0")
1568 (source (origin
1569 (method url-fetch)
1570 (uri (string-append
1571 "mirror://kde/stable/frameworks/"
1572 (version-major+minor version) "/"
1573 name "-" version ".tar.xz"))
1574 (sha256
1575 (base32
1576 "049y0xdyw37y0qid3d3plj8szfys5gw98j7lhcakiini8mn5cins"))))
1577 (build-system cmake-build-system)
1578 (native-inputs
1579 `(("extra-cmake-modules" ,extra-cmake-modules)))
1580 (inputs
1581 `(("kcoreaddons" ,kcoreaddons)
1582 ("kwindowsystem" ,kwindowsystem)
1583 ("qtbase" ,qtbase)
1584 ("qtx11extras" ,qtx11extras)))
1585 (arguments
1586 `(#:phases
1587 (modify-phases %standard-phases
1588 (add-before 'check 'check-setup
1589 (lambda _
1590 ;; make Qt render "offscreen", required for tests
1591 (setenv "QT_QPA_PLATFORM" "offscreen")
1592 #t)))))
1593 (home-page "https://community.kde.org/Frameworks")
1594 (synopsis "Graceful handling of application crashes")
1595 (description "KCrash provides support for intercepting and handling
1596 application crashes.")
1597 (license license:lgpl2.1+)))
1598
1599 (define-public kdoctools
1600 (package
1601 (name "kdoctools")
1602 (version "5.42.0")
1603 (source (origin
1604 (method url-fetch)
1605 (uri (string-append
1606 "mirror://kde/stable/frameworks/"
1607 (version-major+minor version) "/"
1608 name "-" version ".tar.xz"))
1609 (sha256
1610 (base32
1611 "1bby3avdllch1mji0mxzcix8q5yir5a0i6wpjs5lwckv1glh6kmz"))))
1612 (build-system cmake-build-system)
1613 (native-inputs
1614 `(("extra-cmake-modules" ,extra-cmake-modules)))
1615 (inputs
1616 `(("docbook-xml" ,docbook-xml)
1617 ("docbook-xsl" ,docbook-xsl)
1618 ("karchive" ,karchive)
1619 ("ki18n" ,ki18n)
1620 ("libxml2" ,libxml2)
1621 ("libxslt" ,libxslt)
1622 ("perl" ,perl)
1623 ("perl-uri" ,perl-uri)
1624 ("qtbase" ,qtbase)))
1625 (arguments
1626 `(#:phases
1627 (modify-phases %standard-phases
1628 (add-after 'unpack 'cmake-find-docbook
1629 (lambda* (#:key inputs #:allow-other-keys)
1630 (substitute* (find-files "cmake" "\\.cmake$")
1631 (("CMAKE_SYSTEM_PREFIX_PATH")
1632 "CMAKE_PREFIX_PATH"))
1633 (substitute* "cmake/FindDocBookXML4.cmake"
1634 (("^.*xml/docbook/schema/dtd.*$")
1635 "xml/dtd/docbook\n"))
1636 (substitute* "cmake/FindDocBookXSL.cmake"
1637 (("^.*xml/docbook/stylesheet.*$")
1638 (string-append "xml/xsl/docbook-xsl-"
1639 ,(package-version docbook-xsl) "\n")))
1640 #t))
1641 (add-after 'install 'add-symlinks
1642 ;; Some package(s) (e.g. kdelibs4support) refer to this locale by a
1643 ;; different spelling.
1644 (lambda* (#:key outputs #:allow-other-keys)
1645 (let ((xsl (string-append (assoc-ref outputs "out")
1646 "/share/kf5/kdoctools/customization/xsl/")))
1647 (symlink (string-append xsl "pt_br.xml")
1648 (string-append xsl "pt-BR.xml")))
1649 #t)))))
1650 (home-page "https://community.kde.org/Frameworks")
1651 (synopsis "Create documentation from DocBook")
1652 (description "Provides tools to generate documentation in various format
1653 from DocBook files.")
1654 (license license:lgpl2.1+)))
1655
1656 (define-public kfilemetadata
1657 (package
1658 (name "kfilemetadata")
1659 (version "5.42.0")
1660 (source (origin
1661 (method url-fetch)
1662 (uri (string-append
1663 "mirror://kde/stable/frameworks/"
1664 (version-major+minor version) "/"
1665 name "-" version ".tar.xz"))
1666 (sha256
1667 (base32
1668 "03wk38q3sq354ykz9dwbgykn73ldf94ryx6hxvpr66bq3a59jmwz"))))
1669 (build-system cmake-build-system)
1670 (arguments
1671 `(#:phases
1672 (modify-phases %standard-phases
1673 (add-before 'check 'disable-failing-test
1674 (lambda _
1675 ;; Blacklist a failing test-function. FIXME: Make it pass.
1676 ;; UserMetaDataWriterTest fails with getxattr("…/writertest.txt")
1677 ;; -> EOPNOTSUPP (Operation not supported)
1678 (with-output-to-file "autotests/BLACKLIST"
1679 (lambda _
1680 (display "[test]\n*\n")))
1681 #t)))))
1682 (native-inputs
1683 `(("extra-cmake-modules" ,extra-cmake-modules)
1684 ("pkg-config" ,pkg-config)
1685 ("python-2" ,python-2)))
1686 (inputs
1687 `(("attr" ,attr)
1688 ;; TODO: EPub http://sourceforge.net/projects/ebook-tools
1689 ("karchive" ,karchive)
1690 ("ki18n" ,ki18n)
1691 ("qtmultimedia" ,qtmultimedia)
1692 ("qtbase" ,qtbase)
1693 ;; Required run-time packages
1694 ("catdoc" ,catdoc)
1695 ;; Optional run-time packages
1696 ("exiv2" ,exiv2)
1697 ("ffmpeg" ,ffmpeg)
1698 ("poppler-qt5" ,poppler-qt5)
1699 ("taglib" ,taglib)))
1700 (home-page "https://community.kde.org/Frameworks")
1701 (synopsis "Extract metadata from different fileformats")
1702 (description "KFileMetaData provides a simple library for extracting the
1703 text and metadata from a number of different files. This library is typically
1704 used by file indexers to retrieve the metadata. This library can also be used
1705 by applications to write metadata.")
1706 (license (list license:lgpl2.0 license:lgpl2.1 license:lgpl3))))
1707
1708 (define-public kimageformats
1709 (package
1710 (name "kimageformats")
1711 (version "5.42.0")
1712 (source (origin
1713 (method url-fetch)
1714 (uri (string-append
1715 "mirror://kde/stable/frameworks/"
1716 (version-major+minor version) "/"
1717 name "-" version ".tar.xz"))
1718 (sha256
1719 (base32
1720 "1k67yrmszx7azjzrg478rimbz991lghx4d6dmg22p6dknajd78a6"))))
1721 (build-system cmake-build-system)
1722 (native-inputs
1723 `(("extra-cmake-modules" ,extra-cmake-modules)
1724 ("pkg-config" ,pkg-config)))
1725 (inputs
1726 `(("karchive" ,karchive) ; for Krita and OpenRaster images
1727 ("openexr" ,openexr) ; for OpenEXR high dynamic-range images
1728 ("qtbase" ,qtbase)))
1729 (arguments
1730 `(#:phases
1731 (modify-phases %standard-phases
1732 ;; This test fails regularly (also at KDE CI, see
1733 ;; https://build.kde.org/job/Frameworks%20kimageformats%20kf5-qt5%20XenialQt5.7/6/testReport/)
1734 ;; delete offending portion
1735 (add-after 'unpack 'neuter-read-xcf-test
1736 (lambda _
1737 (delete-file "autotests/read/xcf/simple-rgba-gimp-2.8.10.png")
1738 (delete-file "autotests/read/xcf/simple-rgba-gimp-2.8.10.xcf")))
1739 (add-before 'check 'check-setup
1740 (lambda _
1741 ;; make Qt render "offscreen", required for tests
1742 (setenv "QT_QPA_PLATFORM" "offscreen")
1743 (setenv "QT_PLUGIN_PATH"
1744 (string-append (getcwd) "/bin:"
1745 (getenv "QT_PLUGIN_PATH")))
1746 #t)))
1747 ;; FIXME: The header files of ilmbase (propagated by openexr) are not
1748 ;; found when included by the header files of openexr, and an explicit
1749 ;; flag needs to be set.
1750 #:configure-flags
1751 (list (string-append "-DCMAKE_CXX_FLAGS=-I"
1752 (assoc-ref %build-inputs "ilmbase")
1753 "/include/OpenEXR"))))
1754 (home-page "https://community.kde.org/Frameworks")
1755 (synopsis "Plugins to allow QImage to support extra file formats")
1756 (description "This framework provides additional image format plugins for
1757 QtGui. As such it is not required for the compilation of any other software,
1758 but may be a runtime requirement for Qt-based software to support certain image
1759 formats.")
1760 (license license:lgpl2.1+)))
1761
1762 (define-public kjobwidgets
1763 (package
1764 (name "kjobwidgets")
1765 (version "5.42.0")
1766 (source (origin
1767 (method url-fetch)
1768 (uri (string-append
1769 "mirror://kde/stable/frameworks/"
1770 (version-major+minor version) "/"
1771 name "-" version ".tar.xz"))
1772 (sha256
1773 (base32
1774 "1m3csdl7wh18ywv5p0qpbjpixvflgjcq3yvk3vlvh0sxxlwcz8k4"))))
1775 (build-system cmake-build-system)
1776 (native-inputs
1777 `(("extra-cmake-modules" ,extra-cmake-modules)
1778 ("qttools" ,qttools)))
1779 (inputs
1780 `(("kcoreaddons" ,kcoreaddons)
1781 ("kwidgetsaddons" ,kwidgetsaddons)
1782 ("qtbase" ,qtbase)
1783 ("qtx11extras" ,qtx11extras)))
1784 (home-page "https://community.kde.org/Frameworks")
1785 (synopsis "Widgets for showing progress of asynchronous jobs")
1786 (description "KJobWIdgets provides widgets for showing progress of
1787 asynchronous jobs.")
1788 (license license:lgpl2.1+)))
1789
1790 (define-public knotifications
1791 (package
1792 (name "knotifications")
1793 (version "5.42.0")
1794 (source (origin
1795 (method url-fetch)
1796 (uri (string-append
1797 "mirror://kde/stable/frameworks/"
1798 (version-major+minor version) "/"
1799 name "-" version ".tar.xz"))
1800 (sha256
1801 (base32
1802 "0awmwypmd104vhaj2v9k83niflxj26d4mbl6mzfcj75lgka6kffc"))))
1803 (build-system cmake-build-system)
1804 (native-inputs
1805 `(("extra-cmake-modules" ,extra-cmake-modules)
1806 ("dbus" ,dbus)
1807 ("qttools" ,qttools)))
1808 (inputs
1809 `(("kcodecs" ,kcodecs)
1810 ("kconfig" ,kconfig)
1811 ("kcoreaddons" ,kcoreaddons)
1812 ("kwindowsystem" ,kwindowsystem)
1813 ("phonon" ,phonon)
1814 ("qtbase" ,qtbase)
1815 ("qtspeech" ,qtspeech)
1816 ;; TODO: Think about adding dbusmenu-qt5 from
1817 ;; https://launchpad.net/libdbusmenu-qt
1818 ("qtx11extras" ,qtx11extras)))
1819 (arguments
1820 `(#:phases
1821 (modify-phases %standard-phases
1822 (add-before 'check 'check-setup
1823 (lambda _
1824 (setenv "HOME" (getcwd))
1825 #t))
1826 (replace 'check
1827 (lambda _
1828 (setenv "DBUS_FATAL_WARNINGS" "0")
1829 (zero? (system* "dbus-launch" "ctest" ".")))))))
1830 (home-page "https://community.kde.org/Frameworks")
1831 (synopsis "Desktop notifications")
1832 (description "KNotification is used to notify the user of an event. It
1833 covers feedback and persistent events.")
1834 (license license:lgpl2.1+)))
1835
1836 (define-public kpackage
1837 (package
1838 (name "kpackage")
1839 (version "5.42.0")
1840 (source (origin
1841 (method url-fetch)
1842 (uri (string-append
1843 "mirror://kde/stable/frameworks/"
1844 (version-major+minor version) "/"
1845 name "-" version ".tar.xz"))
1846 (sha256
1847 (base32
1848 "10amhh07x8d0jkyylb19cyzjs71k8dq1y8isfahqzb2kd43vijqa"))))
1849 (build-system cmake-build-system)
1850 (native-inputs
1851 `(("extra-cmake-modules" ,extra-cmake-modules)))
1852 (inputs
1853 `(("karchive" ,karchive)
1854 ("kconfig" ,kconfig)
1855 ("kcoreaddons" ,kcoreaddons)
1856 ("kdoctools" ,kdoctools)
1857 ("ki18n" ,ki18n)
1858 ("qtbase" ,qtbase)))
1859 (arguments
1860 `(#:tests? #f ; FIXME: 3/9 tests fail.
1861 #:phases
1862 (modify-phases %standard-phases
1863 (add-before 'check 'check-setup
1864 (lambda _
1865 (setenv "HOME" (getcwd))
1866 #t)))))
1867 (home-page "https://community.kde.org/Frameworks")
1868 (synopsis "Installation and loading of additional content as packages")
1869 (description "The Package framework lets the user install and load packages
1870 of non binary content such as scripted extensions or graphic assets, as if they
1871 were traditional plugins.")
1872 (license (list license:gpl2+ license:lgpl2.1+))))
1873
1874 (define-public kpty
1875 (package
1876 (name "kpty")
1877 (version "5.42.0")
1878 (source (origin
1879 (method url-fetch)
1880 (uri (string-append
1881 "mirror://kde/stable/frameworks/"
1882 (version-major+minor version) "/"
1883 name "-" version ".tar.xz"))
1884 (sha256
1885 (base32
1886 "07s16zxs03ixy7yxy9fda83yqhcgqzx42gnvwjwkyc8q05njmma6"))))
1887 (build-system cmake-build-system)
1888 (native-inputs
1889 `(("extra-cmake-modules" ,extra-cmake-modules)))
1890 (inputs
1891 `(("kcoreaddons" ,kcoreaddons)
1892 ("ki18n" ,ki18n)
1893 ;; TODO: utempter, for managing UTMP entries
1894 ("qtbase" ,qtbase)))
1895 (arguments
1896 `(#:tests? #f ; FIXME: 1/1 tests fail.
1897 #:phases
1898 (modify-phases %standard-phases
1899 (add-after 'unpack 'patch-tests
1900 (lambda _
1901 (substitute* "autotests/kptyprocesstest.cpp"
1902 (("/bin/bash") (which "bash")))
1903 #t)))))
1904 (home-page "https://community.kde.org/Frameworks")
1905 (synopsis "Interfacing with pseudo terminal devices")
1906 (description "This library provides primitives to interface with pseudo
1907 terminal devices as well as a KProcess derived class for running child processes
1908 and communicating with them using a pty.")
1909 (license (list license:gpl2+ license:lgpl2.1+))))
1910
1911 (define-public kunitconversion
1912 (package
1913 (name "kunitconversion")
1914 (version "5.42.0")
1915 (source (origin
1916 (method url-fetch)
1917 (uri (string-append
1918 "mirror://kde/stable/frameworks/"
1919 (version-major+minor version) "/"
1920 name "-" version ".tar.xz"))
1921 (sha256
1922 (base32
1923 "0219pna4l3vvhyf5acsc87n48jzdnws6kwyhaiy3hy1pzrilv32l"))))
1924 (build-system cmake-build-system)
1925 (arguments
1926 `(#:phases
1927 (modify-phases %standard-phases
1928 (add-after 'unpack 'disable-a-failing-test-case
1929 (lambda _
1930 ;; FIXME: Re-enable this test-case. It was committed with the
1931 ;; message: "tsan says it's clean, apart from issues in Qt
1932 ;; (reported upstream)"
1933 (substitute* "autotests/convertertest.cpp"
1934 (("const int numThreads = 2") "const int numThreads = 0")))))))
1935 (native-inputs
1936 `(("extra-cmake-modules" ,extra-cmake-modules)))
1937 (inputs
1938 `(("ki18n" ,ki18n)
1939 ("qtbase" ,qtbase)))
1940 (home-page "https://community.kde.org/Frameworks")
1941 (synopsis "Converting physical units")
1942 (description "KUnitConversion provides functions to convert values in
1943 different physical units. It supports converting different prefixes (e.g. kilo,
1944 mega, giga) as well as converting between different unit systems (e.g. liters,
1945 gallons).")
1946 (license license:lgpl2.1+)))
1947
1948
1949 ;; Tier 3
1950 ;;
1951 ;; Tier 3 frameworks are generally more powerful, comprehensive packages, and
1952 ;; consequently have more complex dependencies.
1953
1954 (define-public baloo
1955 (package
1956 (name "baloo")
1957 (version "5.42.0")
1958 (source (origin
1959 (method url-fetch)
1960 (uri (string-append
1961 "mirror://kde/stable/frameworks/"
1962 (version-major+minor version) "/"
1963 name "-" version ".tar.xz"))
1964 (sha256
1965 (base32
1966 "18yknkcls1ypsp8n5l254bhlffiq4as5w1wgcjzhnf49cacys8nl"))))
1967 (build-system cmake-build-system)
1968 (propagated-inputs
1969 `(("kcoreaddons" ,kcoreaddons)
1970 ("kfilemetadata" ,kfilemetadata)))
1971 (native-inputs
1972 `(("dbus" ,dbus)
1973 ("extra-cmake-modules" ,extra-cmake-modules)))
1974 (inputs
1975 `(("kbookmarks" ,kbookmarks)
1976 ("kcompletion" ,kcompletion)
1977 ("kconfig" ,kconfig)
1978 ("kcrash" ,kcrash)
1979 ("kdbusaddons" ,kdbusaddons)
1980 ("kidletime" ,kidletime)
1981 ("kio" ,kio)
1982 ("kitemviews" ,kitemviews)
1983 ("ki18n" ,ki18n)
1984 ("kjobwidgets" ,kjobwidgets)
1985 ("kservice" ,kservice)
1986 ("kwidgetsaddons" ,kwidgetsaddons)
1987 ("kxmlgui" ,kxmlgui)
1988 ("lmdb" ,lmdb)
1989 ("qtbase" ,qtbase)
1990 ("qtdeclarative" ,qtdeclarative)
1991 ("solid" ,solid)))
1992 (arguments
1993 `(#:phases
1994 (modify-phases %standard-phases
1995 (add-before 'check 'check-setup
1996 (lambda _
1997 (setenv "HOME" (getcwd))
1998 ;; make Qt render "offscreen", required for tests
1999 (setenv "QT_QPA_PLATFORM" "offscreen")
2000 #t))
2001 (add-after 'unpack 'remove-failing-test
2002 ;; This test fails on i686 and aarch64
2003 (lambda _
2004 (substitute* "autotests/unit/file/CMakeLists.txt"
2005 (("metadatamovertest") ""))
2006 #t))
2007 (replace 'check
2008 (lambda _
2009 (setenv "DBUS_FATAL_WARNINGS" "0")
2010 (zero? (system* "dbus-launch" "ctest" ".")))))))
2011 (home-page "https://community.kde.org/Frameworks")
2012 (synopsis "File searching and indexing")
2013 (description "Baloo provides file searching and indexing. It does so by
2014 maintaining an index of the contents of your files.")
2015 ;; dual licensed
2016 (license (list license:gpl2+ license:lgpl2.1+))))
2017
2018 (define-public kactivities-stats
2019 (package
2020 (name "kactivities-stats")
2021 (version "5.42.0")
2022 (source (origin
2023 (method url-fetch)
2024 (uri (string-append
2025 "mirror://kde/stable/frameworks/"
2026 (version-major+minor version) "/"
2027 name "-" version ".tar.xz"))
2028 (sha256
2029 (base32
2030 "0si70hayf4brr83jzdjdsfvp8nc1sb7vdk0q532liafhf8hw9mq8"))))
2031 (build-system cmake-build-system)
2032 (native-inputs
2033 `(("extra-cmake-modules" ,extra-cmake-modules)))
2034 (inputs
2035 `(("boost" ,boost)
2036 ("kactivities" ,kactivities)
2037 ("kconfig" ,kconfig)
2038 ("qtbase" ,qtbase)
2039 ("qtdeclarative" ,qtdeclarative)))
2040 (home-page "https://community.kde.org/Frameworks")
2041 (synopsis "Access usage statistics collected by the activity manager")
2042 (description "The KActivitiesStats library provides a querying mechanism for
2043 the data that the activitiy manager collects - which documents have been opened
2044 by which applications, and what documents have been linked to which activity.")
2045 ;; triple licensed
2046 (license (list license:lgpl2.0+ license:lgpl2.1+ license:lgpl3+))))
2047
2048 (define-public kbookmarks
2049 (package
2050 (name "kbookmarks")
2051 (version "5.42.0")
2052 (source (origin
2053 (method url-fetch)
2054 (uri (string-append
2055 "mirror://kde/stable/frameworks/"
2056 (version-major+minor version) "/"
2057 name "-" version ".tar.xz"))
2058 (sha256
2059 (base32
2060 "08q413mr5ib04gwnqznvm9vkkfmnh16rgf6rqdvclnci9w7ml5x2"))))
2061 (build-system cmake-build-system)
2062 (propagated-inputs
2063 `(("kwidgetsaddons" ,kwidgetsaddons)))
2064 (native-inputs
2065 `(("extra-cmake-modules" ,extra-cmake-modules)
2066 ("qttools" ,qttools)))
2067 (inputs
2068 `(("kauth" ,kauth)
2069 ("kcodecs" ,kcodecs)
2070 ("kconfig" ,kconfig)
2071 ("kconfigwidgets" ,kconfigwidgets)
2072 ("kcoreaddons" ,kcoreaddons)
2073 ("kiconthemes" ,kiconthemes)
2074 ("kxmlgui" ,kxmlgui)
2075 ("qtbase" ,qtbase)))
2076 (arguments
2077 `(#:phases
2078 (modify-phases %standard-phases
2079 (add-before 'check 'check-setup
2080 (lambda _
2081 (setenv "HOME" (getcwd))
2082 ;; make Qt render "offscreen", required for tests
2083 (setenv "QT_QPA_PLATFORM" "offscreen")
2084 #t)))))
2085 (home-page "https://community.kde.org/Frameworks")
2086 (synopsis "Bookmarks management library")
2087 (description "KBookmarks lets you access and manipulate bookmarks stored
2088 using the XBEL format.")
2089 (license license:lgpl2.1+)))
2090
2091 (define-public kcmutils
2092 (package
2093 (name "kcmutils")
2094 (version "5.42.0")
2095 (source (origin
2096 (method url-fetch)
2097 (uri (string-append
2098 "mirror://kde/stable/frameworks/"
2099 (version-major+minor version) "/"
2100 name "-" version ".tar.xz"))
2101 (sha256
2102 (base32
2103 "1q67b0m6w3xvm22kq8b0b0rib1jzf25gf6dz7h286987zfbbs5n7"))))
2104 (build-system cmake-build-system)
2105 (propagated-inputs
2106 `(("kconfigwidgets" ,kconfigwidgets)
2107 ("kservice" ,kservice)))
2108 (native-inputs
2109 `(("extra-cmake-modules" ,extra-cmake-modules)))
2110 (inputs
2111 `(("kauth" ,kauth)
2112 ("kcodecs" ,kcodecs)
2113 ("kconfig" ,kconfig)
2114 ("kcoreaddons" ,kcoreaddons)
2115 ("kdeclarative" ,kdeclarative)
2116 ("kiconthemes" ,kiconthemes)
2117 ("kitemviews" ,kitemviews)
2118 ("ki18n" ,ki18n)
2119 ("kpackage" ,kpackage)
2120 ("kwidgetsaddons" ,kwidgetsaddons)
2121 ("kxmlgui" ,kxmlgui)
2122 ("qtbase" ,qtbase)
2123 ("qtdeclarative" ,qtdeclarative)))
2124 (home-page "https://community.kde.org/Frameworks")
2125 (synopsis "Utilities for KDE System Settings modules")
2126 (description "KCMUtils provides various classes to work with KCModules.
2127 KCModules can be created with the KConfigWidgets framework.")
2128 (license license:lgpl2.1+)))
2129
2130 (define-public kconfigwidgets
2131 (package
2132 (name "kconfigwidgets")
2133 (version "5.42.0")
2134 (source (origin
2135 (method url-fetch)
2136 (uri (string-append
2137 "mirror://kde/stable/frameworks/"
2138 (version-major+minor version) "/"
2139 name "-" version ".tar.xz"))
2140 (sha256
2141 (base32
2142 "191zm24q2n001b65hcnfh2639k4iqhxwdmgdw29php3n2648xq4z"))))
2143 (build-system cmake-build-system)
2144 (propagated-inputs
2145 `(("kauth" ,kauth)
2146 ("kcodecs" ,kcodecs)
2147 ("kconfig" ,kconfig)
2148 ("kwidgetsaddons" ,kwidgetsaddons)))
2149 (native-inputs
2150 `(("extra-cmake-modules" ,extra-cmake-modules)
2151 ("kdoctools" ,kdoctools)))
2152 (inputs
2153 `(("kcoreaddons" ,kcoreaddons)
2154 ("kguiaddons" ,kguiaddons)
2155 ("ki18n" ,ki18n)
2156 ("qtbase" ,qtbase)))
2157 (arguments
2158 `(#:phases
2159 (modify-phases %standard-phases
2160 (add-before 'check 'check-setup
2161 (lambda _
2162 ;; make Qt render "offscreen", required for tests
2163 (setenv "QT_QPA_PLATFORM" "offscreen")
2164 #t)))))
2165 (home-page "https://community.kde.org/Frameworks")
2166 (synopsis "Widgets for configuration dialogs")
2167 (description "KConfigWidgets provides easy-to-use classes to create
2168 configuration dialogs, as well as a set of widgets which uses KConfig to store
2169 their settings.")
2170 ;; dual licensed
2171 (license (list license:gpl2+ license:lgpl2.1+))))
2172
2173 (define-public kdeclarative
2174 (package
2175 (name "kdeclarative")
2176 (version "5.42.0")
2177 (source (origin
2178 (method url-fetch)
2179 (uri (string-append
2180 "mirror://kde/stable/frameworks/"
2181 (version-major+minor version) "/"
2182 name "-" version ".tar.xz"))
2183 (sha256
2184 (base32
2185 "1w604jy6vg2247vggz0ivl7wy2h5iapkz2z86mah3aw99f7dqa22"))))
2186 (build-system cmake-build-system)
2187 (propagated-inputs
2188 `(("kconfig" ,kconfig)
2189 ("kpackage" ,kpackage)))
2190 (native-inputs
2191 `(("extra-cmake-modules" ,extra-cmake-modules)
2192 ("pkg-config" ,pkg-config)
2193 ("xorg-server" ,xorg-server)))
2194 (inputs
2195 `(("kauth" ,kauth)
2196 ("kbookmarks" ,kbookmarks)
2197 ("kcodecs" ,kcodecs)
2198 ("kcompletion" ,kcompletion)
2199 ("kconfigwidgets" ,kconfigwidgets)
2200 ("kcoreaddons" ,kcoreaddons)
2201 ("kglobalaccel" ,kglobalaccel)
2202 ("kguiaddons" ,kguiaddons)
2203 ("kiconthemes" ,kiconthemes)
2204 ("kio" ,kio)
2205 ("kitemviews" ,kitemviews)
2206 ("ki18n" ,ki18n)
2207 ("kjobwidgets" ,kjobwidgets)
2208 ("kservice" ,kservice)
2209 ("kwidgetsaddons" ,kwidgetsaddons)
2210 ("kwindowsystem" ,kwindowsystem)
2211 ("kxmlgui" ,kxmlgui)
2212 ("libepoxy" ,libepoxy)
2213 ("qtbase" ,qtbase)
2214 ("qtdeclarative" ,qtdeclarative)
2215 ("solid" ,solid)))
2216 (arguments
2217 `(#:phases
2218 (modify-phases %standard-phases
2219 (add-before 'check 'start-xorg-server
2220 (lambda* (#:key inputs #:allow-other-keys)
2221 ;; The test suite requires a running X server, setting
2222 ;; QT_QPA_PLATFORM=offscreen does not suffice.
2223 (system (string-append (assoc-ref inputs "xorg-server")
2224 "/bin/Xvfb :1 -screen 0 640x480x24 &"))
2225 (setenv "DISPLAY" ":1")
2226 #t)))))
2227 (home-page "https://community.kde.org/Frameworks")
2228 (synopsis "Integration of QML and KDE work spaces")
2229 (description "KDeclarative provides integration of QML and KDE work spaces.
2230 It's comprises two parts: a library used by the C++ part of your application to
2231 intergrate QML with KDE Frameworks specific features, and a series of QML imports
2232 that offer bindings to some of the Frameworks.")
2233 ;; dual licensed
2234 (license (list license:gpl2+ license:lgpl2.1+))))
2235
2236 (define-public kded
2237 (package
2238 (name "kded")
2239 (version "5.42.0")
2240 (source (origin
2241 (method url-fetch)
2242 (uri (string-append
2243 "mirror://kde/stable/frameworks/"
2244 (version-major+minor version) "/"
2245 name "-" version ".tar.xz"))
2246 (sha256
2247 (base32
2248 "0w25dl4pnvby28gz0yvij32vi9n3p8si4nm4x45j7zsi2cb70j4l"))))
2249 (build-system cmake-build-system)
2250 (native-inputs
2251 `(("extra-cmake-modules" ,extra-cmake-modules)))
2252 (inputs
2253 `(("kconfig" ,kconfig)
2254 ("kcoreaddons" ,kcoreaddons)
2255 ("kcrash" ,kcrash)
2256 ("kdbusaddons" ,kdbusaddons)
2257 ("kdoctools" ,kdoctools)
2258 ("kinit" ,kinit)
2259 ("kservice" ,kservice)
2260 ("qtbase" ,qtbase)))
2261 (home-page "https://community.kde.org/Frameworks")
2262 (synopsis "Central daemon of KDE work spaces")
2263 (description "KDED stands for KDE Daemon. KDED runs in the background and
2264 performs a number of small tasks. Some of these tasks are built in, others are
2265 started on demand.")
2266 ;; dual licensed
2267 (license (list license:lgpl2.0+ license:lgpl2.1+))))
2268
2269 (define-public kdesignerplugin
2270 (package
2271 (name "kdesignerplugin")
2272 (version "5.42.0")
2273 (source (origin
2274 (method url-fetch)
2275 (uri (string-append
2276 "mirror://kde/stable/frameworks/"
2277 (version-major+minor version) "/"
2278 name "-" version ".tar.xz"))
2279 (sha256
2280 (base32
2281 "004axa1fkj954d65x7l9z8dmw04209hb368rwa4gjzb8naf13ib6"))))
2282 (build-system cmake-build-system)
2283 (native-inputs
2284 `(("extra-cmake-modules" ,extra-cmake-modules)
2285 ("qttools" ,qttools)))
2286 (inputs
2287 `(("kconfig" ,kconfig)
2288 ("kcoreaddons" ,kcoreaddons)
2289 ("kdoctools" ,kdoctools)
2290 ("qtbase" ,qtbase)
2291 ;; optional:
2292 ("kcompletion" ,kcompletion)
2293 ("kconfigwidgets" ,kconfigwidgets)
2294 ("kiconthemes" ,kiconthemes)
2295 ("kitemviews" ,kitemviews)
2296 ("kio" ,kio)
2297 ("kplotting" ,kplotting)
2298 ("ktextwidgets" ,ktextwidgets)
2299 ("kdewebkit" ,kdewebkit)
2300 ("kwidgetsaddons" ,kwidgetsaddons)
2301 ("kxmlgui" ,kxmlgui)
2302 ("qtwebkit" ,qtwebkit)
2303 ("sonnet" ,sonnet)))
2304 (arguments
2305 `(#:phases
2306 (modify-phases %standard-phases
2307 (add-before 'check 'check-setup
2308 (lambda _
2309 ;; make Qt render "offscreen", required for tests
2310 (setenv "QT_QPA_PLATFORM" "offscreen")
2311 #t)))))
2312 (home-page "https://community.kde.org/Frameworks")
2313 (synopsis "Integrating KDE frameworks widgets with Qt Designer")
2314 (description "This framework provides plugins for Qt Designer that allow it
2315 to display the widgets provided by various KDE frameworks, as well as a utility
2316 (kgendesignerplugin) that can be used to generate other such plugins from
2317 ini-style description files.")
2318 (license license:lgpl2.1+)))
2319
2320 (define-public kdesu
2321 (package
2322 (name "kdesu")
2323 (version "5.42.0")
2324 (source (origin
2325 (method url-fetch)
2326 (uri (string-append
2327 "mirror://kde/stable/frameworks/"
2328 (version-major+minor version) "/"
2329 name "-" version ".tar.xz"))
2330 (sha256
2331 (base32
2332 "0402p1h7wifk6sppg7ca9w0zfjllbhc1j5gsxj7ypq55g94np7hx"))))
2333 (build-system cmake-build-system)
2334 (propagated-inputs
2335 `(("kpty" ,kpty)))
2336 (native-inputs
2337 `(("extra-cmake-modules" ,extra-cmake-modules)))
2338 (inputs
2339 `(("kconfig" ,kconfig)
2340 ("kcoreaddons" ,kcoreaddons)
2341 ("ki18n" ,ki18n)
2342 ("kservice" ,kservice)
2343 ("qtbase" ,qtbase)))
2344 (home-page "https://community.kde.org/Frameworks")
2345 (synopsis "User interface for running shell commands with root privileges")
2346 (description "KDESU provides functionality for building GUI front ends for
2347 (password asking) console mode programs. kdesu and kdessh use it to interface
2348 with su and ssh respectively.")
2349 (license license:lgpl2.1+)))
2350
2351 (define-public kdewebkit
2352 (package
2353 (name "kdewebkit")
2354 (version "5.42.0")
2355 (source (origin
2356 (method url-fetch)
2357 (uri (string-append
2358 "mirror://kde/stable/frameworks/"
2359 (version-major+minor version) "/"
2360 name "-" version ".tar.xz"))
2361 (sha256
2362 (base32
2363 "1csd4p996im7ygxc5rfdkzgdpngjgzyqakj12rl9rnfbsd15i8kb"))))
2364 (build-system cmake-build-system)
2365 (native-inputs
2366 `(("extra-cmake-modules" ,extra-cmake-modules)))
2367 (inputs
2368 `(("kconfig" ,kconfig)
2369 ("kcoreaddons" ,kcoreaddons)
2370 ("kio" ,kio)
2371 ("kjobwidgets" ,kjobwidgets)
2372 ("kparts" ,kparts)
2373 ("kservice" ,kservice)
2374 ("kwallet" ,kwallet)
2375 ("qtbase" ,qtbase)
2376 ("qtwebkit" ,qtwebkit)))
2377 (home-page "https://community.kde.org/Frameworks")
2378 (synopsis "KDE Integration for QtWebKit")
2379 (description "This library provides KDE integration of the HTML rendering
2380 engine WebKit via QtWebKit.")
2381 (license license:lgpl2.1+)))
2382
2383 (define-public kemoticons
2384 (package
2385 (name "kemoticons")
2386 (version "5.42.0")
2387 (source (origin
2388 (method url-fetch)
2389 (uri (string-append
2390 "mirror://kde/stable/frameworks/"
2391 (version-major+minor version) "/"
2392 name "-" version ".tar.xz"))
2393 (sha256
2394 (base32
2395 "0f6an1bwxnga41a2b35b2pdcni4p0hh76k4jvanl3g046v07f2wr"))))
2396 (build-system cmake-build-system)
2397 (propagated-inputs
2398 `(("kservice" ,kservice)))
2399 (native-inputs
2400 `(("extra-cmake-modules" ,extra-cmake-modules)))
2401 (inputs
2402 `(("karchive" ,karchive)
2403 ("kconfig" ,kconfig)
2404 ("kcoreaddons" ,kcoreaddons)
2405 ("qtbase" ,qtbase)))
2406 (arguments
2407 `(#:tests? #f ; FIXME: 2/2 tests fail.
2408 #:phases
2409 (modify-phases %standard-phases
2410 (add-before 'check 'check-setup
2411 (lambda _
2412 (setenv "HOME" (getcwd))
2413 ;; make Qt render "offscreen", required for tests
2414 (setenv "QT_QPA_PLATFORM" "offscreen")
2415 #t)))))
2416 (home-page "https://community.kde.org/Frameworks")
2417 (synopsis "Convert text emoticons to graphical emoticons")
2418 (description "KEmoticons converts emoticons from text to a graphical
2419 representation with images in HTML. It supports setting different themes for
2420 emoticons coming from different providers.")
2421 ;; dual licensed, image files are licensed under cc-by-sa4.0
2422 (license (list license:gpl2+ license:lgpl2.1+ license:cc-by-sa4.0))))
2423
2424 (define-public kglobalaccel
2425 (package
2426 (name "kglobalaccel")
2427 (version "5.42.0")
2428 (source (origin
2429 (method url-fetch)
2430 (uri (string-append
2431 "mirror://kde/stable/frameworks/"
2432 (version-major+minor version) "/"
2433 name "-" version ".tar.xz"))
2434 (sha256
2435 (base32
2436 "0nlza73i0qd79yhwhpnvgbh2xa9lvd1n2xg25p3bvfzwidcfdxg6"))))
2437 (build-system cmake-build-system)
2438 (native-inputs
2439 `(("extra-cmake-modules" ,extra-cmake-modules)
2440 ("pkg-config" ,pkg-config)
2441 ("qttools" ,qttools)))
2442 (inputs
2443 `(("kconfig" ,kconfig)
2444 ("kcrash" ,kcrash)
2445 ("kcoreaddons" ,kcoreaddons)
2446 ("kdbusaddons" ,kdbusaddons)
2447 ("kservice" ,kservice)
2448 ("kwindowsystem" ,kwindowsystem)
2449 ("libxcb" ,libxcb)
2450 ("qtbase" ,qtbase)
2451 ("qtx11extras" ,qtx11extras)
2452 ("xcb-util-keysyms" ,xcb-util-keysyms)))
2453 (arguments
2454 `(#:phases
2455 (modify-phases %standard-phases
2456 (add-before 'check 'check-setup
2457 (lambda _
2458 ;; make Qt render "offscreen", required for tests
2459 (setenv "QT_QPA_PLATFORM" "offscreen")
2460 #t)))))
2461 (home-page "https://community.kde.org/Frameworks")
2462 (synopsis "Global desktop keyboard shortcuts")
2463 (description "KGlobalAccel allows you to have global accelerators that are
2464 independent of the focused window. Unlike regular shortcuts, the application's
2465 window does not need focus for them to be activated.")
2466 (license license:lgpl2.1+)))
2467
2468 (define-public kiconthemes
2469 (package
2470 (name "kiconthemes")
2471 (version "5.42.0")
2472 (source (origin
2473 (method url-fetch)
2474 (uri (string-append
2475 "mirror://kde/stable/frameworks/"
2476 (version-major+minor version) "/"
2477 name "-" version ".tar.xz"))
2478 (sha256
2479 (base32
2480 "1nbxxpf8bv835xl35b17rk8s3zs110bh31078kqqh7dhvwzlxic7"))))
2481 (build-system cmake-build-system)
2482 (native-inputs
2483 `(("extra-cmake-modules" ,extra-cmake-modules)
2484 ("shared-mime-info" ,shared-mime-info)))
2485 (inputs
2486 `(("karchive" ,karchive)
2487 ("kauth" ,kauth)
2488 ("kcodecs" ,kcodecs)
2489 ("kcoreaddons" ,kcoreaddons)
2490 ("kconfig" ,kconfig)
2491 ("kconfigwidgets" ,kconfigwidgets)
2492 ("ki18n" ,ki18n)
2493 ("kitemviews" ,kitemviews)
2494 ("kwidgetsaddons" ,kwidgetsaddons)
2495 ("qtbase" ,qtbase)
2496 ("qtsvg" ,qtsvg)))
2497 (arguments
2498 `(#:phases
2499 (modify-phases %standard-phases
2500 (add-before 'check 'check-setup
2501 (lambda* (#:key inputs #:allow-other-keys)
2502 (setenv "XDG_DATA_DIRS"
2503 (string-append (assoc-ref inputs "shared-mime-info")
2504 "/share"))
2505 (setenv "HOME" (getcwd))
2506 ;; make Qt render "offscreen", required for tests
2507 (setenv "QT_QPA_PLATFORM" "offscreen")
2508 #t)))))
2509 (home-page "https://community.kde.org/Frameworks")
2510 (synopsis "Icon GUI utilities")
2511 (description "This library contains classes to improve the handling of icons
2512 in applications using the KDE Frameworks.")
2513 (license license:lgpl2.1+)))
2514
2515 (define-public kinit
2516 (package
2517 (name "kinit")
2518 (version "5.42.0")
2519 (source (origin
2520 (method url-fetch)
2521 (uri (string-append
2522 "mirror://kde/stable/frameworks/"
2523 (version-major+minor version) "/"
2524 name "-" version ".tar.xz"))
2525 (sha256
2526 (base32
2527 "05vpac41pw1n8y58l2z08vyknzv950x8dxxw66dnymm2v31w07ia"))))
2528 (build-system cmake-build-system)
2529 (native-inputs
2530 `(("extra-cmake-modules" ,extra-cmake-modules)
2531 ("pkg-config" ,pkg-config)))
2532 (inputs
2533 `(("kauth" ,kauth)
2534 ("kbookmarks" ,kbookmarks)
2535 ("kcodecs" ,kcodecs)
2536 ("kcompletion" ,kcompletion)
2537 ("kconfig" ,kconfig)
2538 ("kconfigwidgets" ,kconfigwidgets)
2539 ("kcoreaddons" ,kcoreaddons)
2540 ("kcrash" ,kcrash)
2541 ("kdoctools" ,kdoctools)
2542 ("kio" ,kio)
2543 ("kitemviews" ,kitemviews)
2544 ("ki18n" ,ki18n)
2545 ("kjobwidgets" ,kjobwidgets)
2546 ("kservice" ,kservice)
2547 ("kwidgetsaddons" ,kwidgetsaddons)
2548 ("kwindowsystem" ,kwindowsystem)
2549 ("kxmlgui" ,kxmlgui)
2550 ("libcap" ,libcap) ; to install start_kdeinit with CAP_SYS_RESOURCE
2551 ("qtbase" ,qtbase)
2552 ("solid" ,solid)))
2553 (home-page "https://community.kde.org/Frameworks")
2554 (synopsis "Library to speed up start of applications on KDE workspaces")
2555 (description "Kdeinit is a process launcher similar to init used for booting
2556 UNIX. It launches processes by forking and then loading a dynamic library which
2557 contains a 'kdemain(...)' function. Using kdeinit to launch KDE applications
2558 makes starting KDE applications faster and reduces memory consumption.")
2559 ;; dual licensed
2560 (license (list license:lgpl2.0+ license:lgpl2.1+))))
2561
2562 (define-public kio
2563 (package
2564 (name "kio")
2565 (version "5.42.0")
2566 (source (origin
2567 (method url-fetch)
2568 (uri (string-append
2569 "mirror://kde/stable/frameworks/"
2570 (version-major+minor version) "/"
2571 name "-" version ".tar.xz"))
2572 (sha256
2573 (base32
2574 "1526a89x11ank55dp3rfp7xd04w8x7prjg3y6i7n2q9nabwhw7gc"))))
2575 (build-system cmake-build-system)
2576 (propagated-inputs
2577 `(("kbookmarks" ,kbookmarks)
2578 ("kconfig" ,kconfig)
2579 ("kcompletion" ,kcompletion)
2580 ("kcoreaddons" ,kcoreaddons)
2581 ("kitemviews" ,kitemviews)
2582 ("kjobwidgets" ,kjobwidgets)
2583 ("kservice" ,kservice)
2584 ("kxmlgui" ,kxmlgui)
2585 ("solid" ,solid)))
2586 (native-inputs
2587 `(("dbus" ,dbus)
2588 ("extra-cmake-modules" ,extra-cmake-modules)))
2589 (inputs
2590 `(;; TODO: LibACL , <ftp://oss.sgi.com/projects/xfs/cmd_tars>
2591 ("krb5" ,mit-krb5)
2592 ("karchive" ,karchive)
2593 ("kauth" ,kauth)
2594 ("kcodecs" ,kcodecs)
2595 ("kconfigwidgets" ,kconfigwidgets)
2596 ("kdbusaddons" ,kdbusaddons)
2597 ("kdoctools" ,kdoctools)
2598 ("kiconthemes" ,kiconthemes)
2599 ("ki18n" ,ki18n)
2600 ("knotifications" ,knotifications)
2601 ("ktextwidgets" ,ktextwidgets)
2602 ("kwallet" ,kwallet)
2603 ("kwidgetsaddons" ,kwidgetsaddons)
2604 ("kwindowsystem" ,kwindowsystem)
2605 ("libxml2" ,libxml2)
2606 ("libxslt" ,libxslt)
2607 ("qtbase" ,qtbase)
2608 ("qtscript" ,qtscript)
2609 ("qtx11extras" ,qtx11extras)
2610 ("sonnet" ,sonnet)))
2611 (arguments
2612 `(#:tests? #f ; FIXME: 41/50 tests fail.
2613 #:phases
2614 (modify-phases %standard-phases
2615 (add-after 'unpack 'patch
2616 (lambda _
2617 ;; Better error message (taken from nix)
2618 (substitute* "src/kiod/kiod_main.cpp"
2619 (("(^\\s*qCWarning(KIOD_CATEGORY) << \"Error loading plugin:\")( << loader.errorString();)" _ a b)
2620 (string-append a "<< name" b)))
2621 ;; TODO: samba-search-path.patch from nix: search smbd on $PATH
2622 #t))
2623 (add-before 'check 'check-setup
2624 (lambda _
2625 (setenv "HOME" (getcwd))
2626 (setenv "XDG_RUNTIME_DIR" (getcwd))
2627 ;; make Qt render "offscreen", required for tests
2628 (setenv "QT_QPA_PLATFORM" "offscreen")
2629 #t))
2630 (add-after 'install 'add-symlinks
2631 ;; Some package(s) (e.g. bluedevil) refer to these service types by
2632 ;; the wrong name. I would prefer to patch those packages, but I
2633 ;; cannot find the files!
2634 (lambda* (#:key outputs #:allow-other-keys)
2635 (let ((kst5 (string-append (assoc-ref outputs "out")
2636 "/share/kservicetypes5/")))
2637 (symlink (string-append kst5 "kfileitemactionplugin.desktop")
2638 (string-append kst5 "kfileitemaction-plugin.desktop"))))))))
2639 ;;(replace 'check
2640 ;; (lambda _
2641 ;; (setenv "DBUS_FATAL_WARNINGS" "0")
2642 ;; (zero? (system* "dbus-launch" "ctest" ".")))))))
2643 (home-page "https://community.kde.org/Frameworks")
2644 (synopsis "Network transparent access to files and data")
2645 (description "This framework implements a lot of file management functions.
2646 It supports accessing files locally as well as via HTTP and FTP out of the box
2647 and can be extended by plugins to support other protocols as well. There is a
2648 variety of plugins available, e.g. to support access via SSH. The framework can
2649 also be used to bridge a native protocol to a file-based interface. This makes
2650 the data accessible in all applications using the KDE file dialog or any other
2651 KIO enabled infrastructure.")
2652 (license license:lgpl2.1+)))
2653
2654 (define-public knewstuff
2655 (package
2656 (name "knewstuff")
2657 (version "5.42.0")
2658 (source (origin
2659 (method url-fetch)
2660 (uri (string-append
2661 "mirror://kde/stable/frameworks/"
2662 (version-major+minor version) "/"
2663 name "-" version ".tar.xz"))
2664 (sha256
2665 (base32
2666 "0i2gmyp67xzf2m5wnv7v574q3gsp1yxfflv1jgl0wy57vchwn9g6"))))
2667 (build-system cmake-build-system)
2668 (propagated-inputs
2669 `(("attica" ,attica)
2670 ("kservice" ,kservice)
2671 ("kxmlgui" ,kxmlgui)))
2672 (native-inputs
2673 `(("extra-cmake-modules" ,extra-cmake-modules)))
2674 (inputs
2675 `(("karchive" ,karchive)
2676 ("kauth" ,kauth)
2677 ("kbookmarks" ,kbookmarks)
2678 ("kcodecs" ,kcodecs)
2679 ("kcompletion" ,kcompletion)
2680 ("kconfig" ,kconfig)
2681 ("kconfigwidgets" ,kconfigwidgets)
2682 ("kcoreaddons" ,kcoreaddons)
2683 ("kio" ,kio)
2684 ("kitemviews" ,kitemviews)
2685 ("ki18n" ,ki18n)
2686 ("kiconthemes" ,kiconthemes)
2687 ("kjobwidgets" ,kjobwidgets)
2688 ("ktextwidgets" ,ktextwidgets)
2689 ("kwidgetsaddons" ,kwidgetsaddons)
2690 ("qtbase" ,qtbase)
2691 ("qtdeclarative" ,qtdeclarative)
2692 ("solid" ,solid)
2693 ("sonnet" ,sonnet)))
2694 (arguments
2695 `(#:tests? #f ; FIXME: 1/3 tests fail.
2696 #:phases
2697 (modify-phases %standard-phases
2698 (add-before 'check 'check-setup
2699 (lambda _ ; XDG_DATA_DIRS isn't set
2700 (setenv "HOME" (getcwd))
2701 ;; make Qt render "offscreen", required for tests
2702 (setenv "QT_QPA_PLATFORM" "offscreen")
2703 #t)))))
2704 (home-page "https://community.kde.org/Frameworks")
2705 (synopsis "Framework for downloading and sharing additional application data")
2706 (description "The KNewStuff library implements collaborative data sharing
2707 for applications. It uses libattica to support the Open Collaboration Services
2708 specification.")
2709 (license license:lgpl2.1+)))
2710
2711 (define-public knotifyconfig
2712 (package
2713 (name "knotifyconfig")
2714 (version "5.42.0")
2715 (source (origin
2716 (method url-fetch)
2717 (uri (string-append
2718 "mirror://kde/stable/frameworks/"
2719 (version-major+minor version) "/"
2720 name "-" version ".tar.xz"))
2721 (sha256
2722 (base32
2723 "1h07bjj71611v6912m5ajli6qszh9w925zqbk3vih8rn6pd2s3mc"))))
2724 (build-system cmake-build-system)
2725 (native-inputs
2726 `(("extra-cmake-modules" ,extra-cmake-modules)))
2727 (inputs
2728 `(("kauth" ,kauth)
2729 ("kbookmarks" ,kbookmarks)
2730 ("kcodecs" ,kcodecs)
2731 ("kcompletion" ,kcompletion)
2732 ("kconfig" ,kconfig)
2733 ("kconfigwidgets" ,kconfigwidgets)
2734 ("kcoreaddons" ,kcoreaddons)
2735 ("kio" ,kio)
2736 ("kitemviews" ,kitemviews)
2737 ("ki18n" ,ki18n)
2738 ("kjobwidgets" ,kjobwidgets)
2739 ("knotifications" ,knotifications)
2740 ("kservice" ,kservice)
2741 ("kwidgetsaddons" ,kwidgetsaddons)
2742 ("kxmlgui" ,kxmlgui)
2743 ("phonon" ,phonon)
2744 ("qtbase" ,qtbase)
2745 ("solid" ,solid)))
2746 (home-page "https://community.kde.org/Frameworks")
2747 (synopsis "Configuration dialog for desktop notifications")
2748 (description "KNotifyConfig provides a configuration dialog for desktop
2749 notifications which can be embedded in your application.")
2750 ;; dual licensed
2751 (license (list license:lgpl2.0+ license:lgpl2.1+))))
2752
2753 (define-public kparts
2754 (package
2755 (name "kparts")
2756 (version "5.42.0")
2757 (source (origin
2758 (method url-fetch)
2759 (uri (string-append
2760 "mirror://kde/stable/frameworks/"
2761 (version-major+minor version) "/"
2762 name "-" version ".tar.xz"))
2763 (sha256
2764 (base32
2765 "1mb5gp2ckmmrb4ym7cqvyl81wnp7cryk85gmizl7cnn69svlf40h"))))
2766 (build-system cmake-build-system)
2767 (propagated-inputs
2768 `(("kio" ,kio)
2769 ("ktextwidgets" ,ktextwidgets)
2770 ("kxmlgui" ,kxmlgui)))
2771 (native-inputs
2772 `(("extra-cmake-modules" ,extra-cmake-modules)
2773 ("shared-mime-info" ,shared-mime-info)
2774 ))
2775 (inputs
2776 `(("kauth" ,kauth)
2777 ("kbookmarks" ,kbookmarks)
2778 ("kcodecs" ,kcodecs)
2779 ("kcompletion" ,kcompletion)
2780 ("kconfig" ,kconfig)
2781 ("kconfigwidgets" ,kconfigwidgets)
2782 ("kcoreaddons" ,kcoreaddons)
2783 ("kiconthemes" ,kiconthemes)
2784 ("kitemviews" ,kitemviews)
2785 ("ki18n" ,ki18n)
2786 ("kjobwidgets" ,kjobwidgets)
2787 ("kservice" ,kservice)
2788 ("kwidgetsaddons" ,kwidgetsaddons)
2789 ("qtbase" ,qtbase)
2790 ("solid" ,solid)
2791 ("sonnet" ,sonnet)))
2792 (arguments
2793 `(#:phases
2794 (modify-phases %standard-phases
2795 (add-before 'check 'check-setup
2796 (lambda _
2797 ;; make Qt render "offscreen", required for tests
2798 (setenv "QT_QPA_PLATFORM" "offscreen")
2799 #t)))))
2800 (home-page "https://community.kde.org/Frameworks")
2801 (synopsis "Plugin framework for user interface components")
2802 (description "This library implements the framework for KDE parts, which are
2803 widgets with a user-interface defined in terms of actions.")
2804 (license license:lgpl2.1+)))
2805
2806 (define-public kpeople
2807 (package
2808 (name "kpeople")
2809 (version "5.42.0")
2810 (source (origin
2811 (method url-fetch)
2812 (uri (string-append
2813 "mirror://kde/stable/frameworks/"
2814 (version-major+minor version) "/"
2815 name "-" version ".tar.xz"))
2816 (sha256
2817 (base32
2818 "050km3rpx58acx2341si46lxc2hywa59m8rwd849c2dnsxw3w1hm"))))
2819 (build-system cmake-build-system)
2820 (native-inputs
2821 `(("extra-cmake-modules" ,extra-cmake-modules)))
2822 (inputs
2823 `(("kconfig" ,kconfig)
2824 ("kcoreaddons" ,kcoreaddons)
2825 ("kitemviews" ,kitemviews)
2826 ("ki18n" ,ki18n)
2827 ("kservice" ,kservice)
2828 ("kwidgetsaddons" ,kwidgetsaddons)
2829 ("qtbase" ,qtbase)
2830 ("qtdeclarative" ,qtdeclarative)))
2831 (arguments
2832 `(#:tests? #f ; FIXME: 1/3 tests fail.
2833 #:phases
2834 (modify-phases %standard-phases
2835 (add-before 'check 'check-setup
2836 (lambda _
2837 ;; make Qt render "offscreen", required for tests
2838 (setenv "QT_QPA_PLATFORM" "offscreen")
2839 #t)))))
2840 (home-page "https://community.kde.org/Frameworks")
2841 (synopsis "Provides access to all contacts and aggregates them by person")
2842 (description "KPeople offers unified access to our contacts from different
2843 sources, grouping them by person while still exposing all the data. KPeople
2844 also provides facilities to integrate the data provided in user interfaces by
2845 providing QML and Qt Widgets components. The sources are plugin-based, allowing
2846 to easily extend the contacts collection.")
2847 (license license:lgpl2.1+)))
2848
2849 (define-public krunner
2850 (package
2851 (name "krunner")
2852 (version "5.42.0")
2853 (source (origin
2854 (method url-fetch)
2855 (uri (string-append
2856 "mirror://kde/stable/frameworks/"
2857 (version-major+minor version) "/"
2858 name "-" version ".tar.xz"))
2859 (sha256
2860 (base32
2861 "0xh9kss67l09am1ilsr9zyx1yhlmaq3g9x60hw0sx7h7wrl6zsw6"))))
2862 (build-system cmake-build-system)
2863 (propagated-inputs
2864 `(("plasma-framework" ,plasma-framework)))
2865 (native-inputs
2866 `(("extra-cmake-modules" ,extra-cmake-modules)))
2867 (inputs
2868 `(("kauth" ,kauth)
2869 ("kbookmarks" ,kbookmarks)
2870 ("kcodecs" ,kcodecs)
2871 ("kcompletion" ,kcompletion)
2872 ("kconfig" ,kconfig)
2873 ("kconfigwidgets" ,kconfigwidgets)
2874 ("kcoreaddons" ,kcoreaddons)
2875 ("kio" ,kio)
2876 ("kitemviews" ,kitemviews)
2877 ("ki18n" ,ki18n)
2878 ("kjobwidgets" ,kjobwidgets)
2879 ("kpackage" ,kpackage)
2880 ("kservice" ,kservice)
2881 ("kwidgetsaddons" ,kwidgetsaddons)
2882 ("kwindowsystem" ,kwindowsystem)
2883 ("kxmlgui" ,kxmlgui)
2884 ("qtbase" ,qtbase)
2885 ("qtdeclarative" ,qtdeclarative)
2886 ("solid" ,solid)
2887 ("threadweaver" ,threadweaver)))
2888 (arguments
2889 `(#:phases
2890 (modify-phases %standard-phases
2891 (add-after 'unpack 'fix-paths-for-test
2892 ;; This test tries to access paths like /home, /usr/bin and /bin/ls
2893 ;; which don't exist in the build-container. Change to existing paths.
2894 (lambda _
2895 (substitute* "autotests/runnercontexttest.cpp"
2896 (("/home\"") "/tmp\"") ;; single path-part
2897 (("//usr/bin\"") (string-append (getcwd) "\"")) ;; multiple path-parts
2898 (("/bin/ls" path)
2899 (string-append (assoc-ref %build-inputs "coreutils") path)))))
2900 (add-before 'check 'check-setup
2901 (lambda _
2902 (setenv "HOME" (getcwd))
2903 ;; make Qt render "offscreen", required for tests
2904 (setenv "QT_QPA_PLATFORM" "offscreen")
2905 ;; Blacklist a failing test-function. FIXME: Make it pass.
2906 (with-output-to-file "bin/BLACKLIST"
2907 (lambda _
2908 (display "[testMatch]\n*\n")))
2909 #t)))))
2910 (home-page "https://community.kde.org/Frameworks")
2911 (synopsis "Framework for Plasma runners")
2912 (description "The Plasma workspace provides an application called KRunner
2913 which, among other things, allows one to type into a text area which causes
2914 various actions and information that match the text appear as the text is being
2915 typed.")
2916 (license license:lgpl2.1+)))
2917
2918 (define-public kservice
2919 (package
2920 (name "kservice")
2921 (version "5.42.0")
2922 (source (origin
2923 (method url-fetch)
2924 (uri (string-append
2925 "mirror://kde/stable/frameworks/"
2926 (version-major+minor version) "/"
2927 name "-" version ".tar.xz"))
2928 (sha256
2929 (base32
2930 "0z8zfpd00ndvkm1klp8l4mrcksshhyg280zgmg3gffz5rgh3gwri"))))
2931 (build-system cmake-build-system)
2932 (propagated-inputs
2933 `(("kconfig" ,kconfig)
2934 ("kcoreaddons" ,kcoreaddons)))
2935 (native-inputs
2936 `(("bison" ,bison)
2937 ("extra-cmake-modules" ,extra-cmake-modules)
2938 ("flex" ,flex)))
2939 (inputs
2940 `(("kcrash" ,kcrash)
2941 ("kdbusaddons" ,kdbusaddons)
2942 ("kdoctools" ,kdoctools)
2943 ("ki18n" ,ki18n)
2944 ("qtbase" ,qtbase)))
2945 (arguments
2946 `(#:tests? #f ; FIXME: 6/10 tests fail.
2947 #:phases
2948 (modify-phases %standard-phases
2949 (add-before 'check 'check-setup
2950 (lambda _
2951 (setenv "HOME" (getcwd))
2952 ;; make Qt render "offscreen", required for tests
2953 (setenv "QT_QPA_PLATFORM" "offscreen")
2954 #t)))))
2955 (home-page "https://community.kde.org/Frameworks")
2956 (synopsis "Plugin framework for desktop services")
2957 (description "KService provides a plugin framework for handling desktop
2958 services. Services can be applications or libraries. They can be bound to MIME
2959 types or handled by application specific code.")
2960 ;; triple licensed
2961 (license (list license:gpl2+ license:gpl3+ license:lgpl2.1+))))
2962
2963 (define-public ktexteditor
2964 (package
2965 (name "ktexteditor")
2966 (version "5.42.0")
2967 (source (origin
2968 (method url-fetch)
2969 (uri (string-append
2970 "mirror://kde/stable/frameworks/"
2971 (version-major+minor version) "/"
2972 name "-" version ".tar.xz"))
2973 (sha256
2974 (base32
2975 "020y3j6vm15sfpiwainr3qsx9i93j15mrvq523wmbmdj1z36yrh2"))))
2976 (build-system cmake-build-system)
2977 (propagated-inputs
2978 `(("kparts" ,kparts)))
2979 (native-inputs
2980 `(("extra-cmake-modules" ,extra-cmake-modules)
2981 ("pkg-config" ,pkg-config)))
2982 (inputs
2983 `(;; TODO: editor-config
2984 ("karchive" ,karchive)
2985 ("kauth" ,kauth)
2986 ("kbookmarks" ,kbookmarks)
2987 ("kcodecs" ,kcodecs)
2988 ("kcompletion" ,kcompletion)
2989 ("kconfig" ,kconfig)
2990 ("kconfigwidgets" ,kconfigwidgets)
2991 ("kcoreaddons" ,kcoreaddons)
2992 ("kguiaddons" ,kguiaddons)
2993 ("kiconthemes" ,kiconthemes)
2994 ("kio" ,kio)
2995 ("kitemviews" ,kitemviews)
2996 ("ki18n" ,ki18n)
2997 ("kjobwidgets" ,kjobwidgets)
2998 ("kservice" ,kservice)
2999 ("ksyntaxhighlighting" ,ksyntaxhighlighting)
3000 ("ktextwidgets" ,ktextwidgets)
3001 ("kwidgetsaddons" ,kwidgetsaddons)
3002 ("kxmlgui" ,kxmlgui)
3003 ("libgit2" ,libgit2)
3004 ("perl" ,perl)
3005 ("qtbase" ,qtbase)
3006 ("qtdeclarative" ,qtdeclarative)
3007 ("qtscript" ,qtscript)
3008 ("qtxmlpatterns" ,qtxmlpatterns)
3009 ("solid" ,solid)
3010 ("sonnet" ,sonnet)))
3011 (arguments
3012 `(#:tests? #f ; FIXME: 2/54 tests fail: Cannot find fontdirectory qtbase/lib/font
3013 #:phases
3014 (modify-phases %standard-phases
3015 (add-after 'unpack 'setup
3016 (lambda* (#:key inputs #:allow-other-keys)
3017 (setenv "XDG_DATA_DIRS" ; FIXME build phase doesn't find parts.desktop
3018 (string-append (assoc-ref inputs "kparts") "/share"))
3019 #t))
3020 (add-before 'check 'check-setup
3021 (lambda _
3022 (setenv "HOME" (getcwd))
3023 ;; make Qt render "offscreen", required for tests
3024 (setenv "QT_QPA_PLATFORM" "offscreen")
3025 #t))
3026 (add-after 'install 'add-symlinks
3027 ;; Some package(s) (e.g. plasma-sdk) refer to these service types
3028 ;; by the wrong name. I would prefer to patch those packages, but
3029 ;; I cannot find the files!
3030 (lambda* (#:key outputs #:allow-other-keys)
3031 (let ((kst5 (string-append (assoc-ref outputs "out")
3032 "/share/kservicetypes5/")))
3033 (symlink (string-append kst5 "ktexteditorplugin.desktop")
3034 (string-append kst5 "ktexteditor-plugin.desktop"))))))))
3035 (home-page "https://community.kde.org/Frameworks")
3036 (synopsis "Full text editor component")
3037 (description "KTextEditor provides a powerful text editor component that you
3038 can embed in your application, either as a KPart or using the KF5::TextEditor
3039 library.")
3040 ;; triple licensed
3041 (license (list license:gpl2+ license:lgpl2.0+ license:lgpl2.1+))))
3042
3043 (define-public ktextwidgets
3044 (package
3045 (name "ktextwidgets")
3046 (version "5.42.0")
3047 (source (origin
3048 (method url-fetch)
3049 (uri (string-append
3050 "mirror://kde/stable/frameworks/"
3051 (version-major+minor version) "/"
3052 name "-" version ".tar.xz"))
3053 (sha256
3054 (base32
3055 "088azbv95ycwxmxxw4l63i2l14fmn8l473pb4djh2mvz1ypfqayk"))))
3056 (build-system cmake-build-system)
3057 (propagated-inputs
3058 `(("ki18n" ,ki18n)
3059 ("sonnet" ,sonnet)))
3060 (native-inputs
3061 `(("extra-cmake-modules" ,extra-cmake-modules)))
3062 (inputs
3063 `(("kauth" ,kauth)
3064 ("kcodecs" ,kcodecs)
3065 ("kcompletion" ,kcompletion)
3066 ("kconfig" ,kconfig)
3067 ("kconfigwidgets" ,kconfigwidgets)
3068 ("kcoreaddons" ,kcoreaddons)
3069 ("kiconthemes" ,kiconthemes)
3070 ("kservice" ,kservice)
3071 ("kwidgetsaddons" ,kwidgetsaddons)
3072 ("kwindowsystem" ,kwindowsystem)
3073 ("qtbase" ,qtbase)
3074 ("qtspeech" ,qtspeech)))
3075 (arguments
3076 `(#:phases
3077 (modify-phases %standard-phases
3078 (add-before 'check 'check-setup
3079 (lambda _
3080 ;; make Qt render "offscreen", required for tests
3081 (setenv "QT_QPA_PLATFORM" "offscreen")
3082 #t)))))
3083 (home-page "https://community.kde.org/Frameworks")
3084 (synopsis "Text editing widgets")
3085 (description "KTextWidgets provides widgets for displaying and editing text.
3086 It supports rich text as well as plain text.")
3087 ;; dual licensed
3088 (license (list license:lgpl2.0+ license:lgpl2.1+))))
3089
3090 (define-public kwallet
3091 (package
3092 (name "kwallet")
3093 (version "5.42.0")
3094 (source (origin
3095 (method url-fetch)
3096 (uri (string-append
3097 "mirror://kde/stable/frameworks/"
3098 (version-major+minor version) "/"
3099 name "-" version ".tar.xz"))
3100 (sha256
3101 (base32
3102 "1kv3v7593srfn0wd7qp4rhvb30rxp7d2qmlwi0n4nc9s6v59pabn"))))
3103 (build-system cmake-build-system)
3104 (native-inputs
3105 `(("extra-cmake-modules" ,extra-cmake-modules)))
3106 (inputs
3107 `(("gpgme" ,gpgme)
3108 ("kauth" ,kauth)
3109 ("kcodecs" ,kcodecs)
3110 ("kconfig" ,kconfig)
3111 ("kconfigwidgets" ,kconfigwidgets)
3112 ("kcoreaddons" ,kcoreaddons)
3113 ("kdbusaddons" ,kdbusaddons)
3114 ("kdoctools" ,kdoctools)
3115 ("kiconthemes" ,kiconthemes)
3116 ("ki18n" ,ki18n)
3117 ("knotifications" ,knotifications)
3118 ("kservice" ,kservice)
3119 ("kwidgetsaddons" ,kwidgetsaddons)
3120 ("kwindowsystem" ,kwindowsystem)
3121 ("libgcrypt" ,libgcrypt)
3122 ("phonon" ,phonon)
3123 ("qgpgme" ,qgpgme)
3124 ("qtbase" ,qtbase)))
3125 (home-page "https://community.kde.org/Frameworks")
3126 (synopsis "Safe desktop-wide storage for passwords")
3127 (description "This framework contains an interface to KWallet, a safe
3128 desktop-wide storage for passwords and the kwalletd daemon used to safely store
3129 the passwords on KDE work spaces.")
3130 (license license:lgpl2.1+)))
3131
3132 (define-public kxmlgui
3133 (package
3134 (name "kxmlgui")
3135 (version "5.42.0")
3136 (source (origin
3137 (method url-fetch)
3138 (uri (string-append
3139 "mirror://kde/stable/frameworks/"
3140 (version-major+minor version) "/"
3141 name "-" version ".tar.xz"))
3142 (sha256
3143 (base32
3144 "0kfxjx8wrhkys5bydnv84nqxc2jqvv92zb2l6zpi0km5ggmia5y0"))))
3145 (build-system cmake-build-system)
3146 (propagated-inputs
3147 `(("kconfig" ,kconfig)
3148 ("kconfigwidgets" ,kconfigwidgets)))
3149 (native-inputs
3150 `(("extra-cmake-modules" ,extra-cmake-modules)))
3151 (inputs
3152 `(("attica" ,attica)
3153 ("kauth" ,kauth)
3154 ("kcodecs" ,kcodecs)
3155 ("kcoreaddons" ,kcoreaddons)
3156 ("kglobalaccel" ,kglobalaccel)
3157 ("kiconthemes" ,kiconthemes)
3158 ("kitemviews" ,kitemviews)
3159 ("ki18n" ,ki18n)
3160 ("ktextwidgets" ,ktextwidgets)
3161 ("kwidgetsaddons" ,kwidgetsaddons)
3162 ("kwindowsystem" ,kwindowsystem)
3163 ("qtbase" ,qtbase)
3164 ("sonnet" ,sonnet)))
3165 (arguments
3166 `(#:tests? #f ; FIXME: 1/5 tests fail.
3167 #:phases
3168 (modify-phases %standard-phases
3169 (add-before 'check 'check-setup
3170 (lambda _
3171 (setenv "HOME" (getcwd))
3172 ;; make Qt render "offscreen", required for tests
3173 (setenv "QT_QPA_PLATFORM" "offscreen")
3174 #t)))))
3175 (home-page "https://community.kde.org/Frameworks")
3176 (synopsis "Framework for managing menu and toolbar actions")
3177 (description "KXMLGUI provides a framework for managing menu and toolbar
3178 actions in an abstract way. The actions are configured through a XML description
3179 and hooks in the application code. The framework supports merging of multiple
3180 descriptions for integrating actions from plugins.")
3181 ;; dual licensed
3182 (license (list license:gpl2+ license:lgpl2.1+))))
3183
3184 (define-public kxmlrpcclient
3185 (package
3186 (name "kxmlrpcclient")
3187 (version "5.42.0")
3188 (source (origin
3189 (method url-fetch)
3190 (uri (string-append
3191 "mirror://kde/stable/frameworks/"
3192 (version-major+minor version) "/"
3193 name "-" version ".tar.xz"))
3194 (sha256
3195 (base32
3196 "0ciip27ilsfk9s3gslpbi06v8i6ipdbmcig2jf43z3amsxpq0ncn"))))
3197 (build-system cmake-build-system)
3198 (propagated-inputs
3199 `(("kio" ,kio)))
3200 (native-inputs
3201 `(("extra-cmake-modules" ,extra-cmake-modules)))
3202 (inputs
3203 `(("kauth" ,kauth)
3204 ("kbookmarks" ,kbookmarks)
3205 ("kcodecs" ,kcodecs)
3206 ("kcompletion" ,kcompletion)
3207 ("kconfig" ,kconfig)
3208 ("kconfigwidgets" ,kconfigwidgets)
3209 ("kcoreaddons" ,kcoreaddons)
3210 ("kitemviews" ,kitemviews)
3211 ("ki18n" ,ki18n)
3212 ("kjobwidgets" ,kjobwidgets)
3213 ("kservice" ,kservice)
3214 ("kwidgetsaddons" ,kwidgetsaddons)
3215 ("kxmlgui" ,kxmlgui)
3216 ("qtbase" ,qtbase)
3217 ("solid" ,solid)))
3218 (home-page "https://community.kde.org/Frameworks")
3219 (synopsis "XML-RPC client")
3220 (description "This library contains simple XML-RPC Client support. It is a
3221 complete client and is easy to use. Only one interface is exposed,
3222 kxmlrpcclient/client.h and from that interface, you only need to use 3 methods:
3223 setUrl, setUserAgent and call.")
3224 ;; dual licensed
3225 (license (list license:bsd-2 license:lgpl2.1+))))
3226
3227 (define-public plasma-framework
3228 (package
3229 (name "plasma-framework")
3230 (version "5.42.0")
3231 (source (origin
3232 (method url-fetch)
3233 (uri (string-append
3234 "mirror://kde/stable/frameworks/"
3235 (version-major+minor version) "/"
3236 name "-" version ".tar.xz"))
3237 (sha256
3238 (base32
3239 "079c8h0lmbkfr3srj5m8a40b50kyrxbgmy1n66329l8js9xrvaah"))))
3240 (build-system cmake-build-system)
3241 (propagated-inputs
3242 `(("kpackage" ,kpackage)
3243 ("kservice" ,kservice)))
3244 (native-inputs
3245 `(("extra-cmake-modules" ,extra-cmake-modules)
3246 ("pkg-config" ,pkg-config)))
3247 (inputs
3248 `(("kactivities" ,kactivities)
3249 ("karchive" ,karchive)
3250 ("kauth" ,kauth)
3251 ("kbookmarks" ,kbookmarks)
3252 ("kcodecs" ,kcodecs)
3253 ("kcompletion" ,kcompletion)
3254 ("kconfig" ,kconfig)
3255 ("kconfigwidgets" ,kconfigwidgets)
3256 ("kcoreaddons" ,kcoreaddons)
3257 ("kdbusaddons" ,kdbusaddons)
3258 ("kdeclarative" ,kdeclarative)
3259 ("kdoctools" ,kdoctools)
3260 ("kglobalaccel" ,kglobalaccel)
3261 ("kguiaddons" ,kguiaddons)
3262 ("kiconthemes" ,kiconthemes)
3263 ("kirigami" ,kirigami)
3264 ("kitemviews" ,kitemviews)
3265 ("kio" ,kio)
3266 ("ki18n" ,ki18n)
3267 ("kjobwidgets" ,kjobwidgets)
3268 ("knotificantions" ,knotifications)
3269 ("kwayland" ,kwayland)
3270 ("kwidgetsaddons" ,kwidgetsaddons)
3271 ("kwindowsystem" ,kwindowsystem)
3272 ("kxmlgui" ,kxmlgui)
3273 ("phonon" ,phonon)
3274 ("qtbase" ,qtbase)
3275 ("qtdeclarative" ,qtdeclarative)
3276 ("qtsvg" ,qtsvg)
3277 ("qtx11extras" ,qtx11extras)
3278 ("solid" ,solid)))
3279 (arguments
3280 `(#:tests? #f ; FIXME: 9/15 tests fail.
3281 #:phases
3282 (modify-phases %standard-phases
3283 (add-before 'check 'check-setup
3284 (lambda _
3285 (setenv "HOME" (getcwd))
3286 ;; make Qt render "offscreen", required for tests
3287 (setenv "QT_QPA_PLATFORM" "offscreen")
3288 #t)))))
3289 (home-page "https://community.kde.org/Frameworks")
3290 (synopsis "Libraries, components and tools of Plasma workspaces")
3291 (description "The plasma framework provides QML components, libplasma and
3292 script engines.")
3293 ;; dual licensed
3294 (license (list license:gpl2+ license:lgpl2.1+))))
3295
3296 ;; This version of kdbusaddons does not use kinit as an input, and is used to
3297 ;; build kinit-bootstrap, as well as bootstrap versions of all kinit
3298 ;; dependencies which also rely on kdbusaddons.
3299 (define kdbusaddons-bootstrap
3300 (package
3301 (inherit kdbusaddons)
3302 (source (origin
3303 (inherit (package-source kdbusaddons))
3304 (patches '())))
3305 (inputs (alist-delete "kinit" (package-inputs kdbusaddons)))
3306 (arguments
3307 (substitute-keyword-arguments (package-arguments kdbusaddons)
3308 ((#:phases phases)
3309 `(modify-phases ,phases
3310 (delete 'patch-source)))))))
3311
3312 (define kinit-bootstrap
3313 ((package-input-rewriting `((,kdbusaddons . ,kdbusaddons-bootstrap))) kinit))
3314
3315
3316 ;; Tier 4
3317 ;;
3318 ;; Tier 4 frameworks can be mostly ignored by application programmers; this
3319 ;; tier consists of plugins acting behind the scenes to provide additional
3320 ;; functionality or platform integration to existing frameworks (including
3321 ;; Qt).
3322
3323 (define-public kde-frameworkintegration
3324 (package
3325 (name "kde-frameworkintegration")
3326 (version "5.42.0")
3327 (source (origin
3328 (method url-fetch)
3329 (uri (string-append
3330 "mirror://kde/stable/frameworks/"
3331 (version-major+minor version) "/"
3332 "frameworkintegration-" version ".tar.xz"))
3333 (sha256
3334 (base32
3335 "17fyny3c5chv7bipr19ayfjmd1amp2nms4ba5r7mwjp97xkphry7"))))
3336 (build-system cmake-build-system)
3337 (native-inputs
3338 `(("extra-cmake-modules" ,extra-cmake-modules)
3339 ("pkg-config" ,pkg-config)))
3340 ;; TODO: Optional packages not yet in Guix: packagekitqt5, AppStreamQt
3341 (inputs
3342 `(("kconfig" ,kconfig)
3343 ("kconfigwidgets" ,kconfigwidgets)
3344 ("kcoreaddons" ,kcoreaddons)
3345 ("ki18n" ,ki18n)
3346 ("kiconthemes" ,kiconthemes)
3347 ("kitemviews" ,kitemviews)
3348 ("knewstuff" ,knewstuff)
3349 ("knotificantions" ,knotifications)
3350 ("kpackage" ,kpackage)
3351 ("kwidgetsaddons" ,kwidgetsaddons)
3352 ("qtbase" ,qtbase)
3353 ("qtx11extras" ,qtx11extras)))
3354 (arguments
3355 `(#:phases
3356 (modify-phases %standard-phases
3357 (add-before 'check 'check-setup
3358 (lambda _
3359 (setenv "HOME" (getcwd))
3360 ;; Make Qt render "offscreen", required for tests
3361 (setenv "QT_QPA_PLATFORM" "offscreen")
3362 #t)))))
3363 (home-page "https://community.kde.org/Frameworks")
3364 (synopsis "KDE Frameworks 5 workspace and cross-framework integration plugins")
3365 (description "Framework Integration is a set of plugins responsible for
3366 better integration of Qt applications when running on a KDE Plasma
3367 workspace.")
3368 ;; This package is distributed under either LGPL2 or LGPL3, but some
3369 ;; files are explicitly LGPL2+.
3370 (license (list license:lgpl2.0 license:lgpl3 license:lgpl2.0+))
3371 (properties `((upstream-name . "frameworkintegration")))))
3372
3373
3374 ;; Porting Aids
3375 ;;
3376 ;; Porting Aids frameworks provide code and utilities to ease the transition
3377 ;; from kdelibs 4 to KDE Frameworks 5. Code should aim to port away from this
3378 ;; framework, new projects should avoid using these libraries.
3379
3380 (define-public kdelibs4support
3381 (package
3382 (name "kdelibs4support")
3383 (version "5.42.0")
3384 (source
3385 (origin
3386 (method url-fetch)
3387 (uri (string-append
3388 "mirror://kde/stable/frameworks/"
3389 (version-major+minor version) "/portingAids/"
3390 name "-" version ".tar.xz"))
3391 (sha256
3392 (base32 "0aiig8akn6bdxrqdl96xjjy2pxw8hhfrsalbkkzyhh06j794snfb"))))
3393 (build-system cmake-build-system)
3394 (native-inputs
3395 `(("dbus" ,dbus)
3396 ("docbook-xml" ,docbook-xml-4.4) ; optional
3397 ("extra-cmake-modules" ,extra-cmake-modules)
3398 ("perl" ,perl)
3399 ("perl-uri" ,perl-uri)
3400 ("pkg-config" ,pkg-config)
3401 ("shared-mime-info" ,shared-mime-info)
3402 ("kjobwidgets" ,kjobwidgets) ;; required for running the tests
3403 ("strace" ,strace)
3404 ("tzdata" ,tzdata)))
3405 (propagated-inputs
3406 ;; These are required to be installed along with this package, see
3407 ;; lib64/cmake/KF5KDELibs4Support/KF5KDELibs4SupportConfig.cmake
3408 `(("karchive" ,karchive)
3409 ("kauth" ,kauth)
3410 ("kconfigwidgets" ,kconfigwidgets)
3411 ("kcoreaddons" ,kcoreaddons)
3412 ("kcrash" ,kcrash)
3413 ("kdbusaddons" ,kdbusaddons)
3414 ("kdesignerplugin" ,kdesignerplugin)
3415 ("kdoctools" ,kdoctools)
3416 ("kemoticons" ,kemoticons)
3417 ("kguiaddons" ,kguiaddons)
3418 ("kiconthemes" ,kiconthemes)
3419 ("kinit" ,kinit)
3420 ("kitemmodels" ,kitemmodels)
3421 ("knotifications" ,knotifications)
3422 ("kparts" ,kparts)
3423 ("ktextwidgets" ,ktextwidgets)
3424 ("kunitconversion" ,kunitconversion)
3425 ("kwindowsystem" ,kwindowsystem)
3426 ("qtbase" ,qtbase)))
3427 (inputs
3428 `(("kcompletion" ,kcompletion)
3429 ("kconfig" ,kconfig)
3430 ("kded" ,kded)
3431 ("kglobalaccel" ,kglobalaccel)
3432 ("ki18n" ,ki18n)
3433 ("kio" ,kio)
3434 ("kservice" ,kservice)
3435 ("kwidgetsaddons" ,kwidgetsaddons)
3436 ("kxmlgui" ,kxmlgui)
3437 ("libsm" ,libsm)
3438 ("networkmanager-qt" ,networkmanager-qt)
3439 ("openssl" ,openssl)
3440 ("qtsvg" ,qtsvg)
3441 ("qttools" ,qttools)
3442 ("qtx11extras" ,qtx11extras)))
3443 ;; FIXME: Use GuixSD ca-bundle.crt in etc/xdg/ksslcalist and
3444 ;; share/kf5/kssl/ca-bundle.crt
3445 (arguments
3446 `(#:phases
3447 (modify-phases %standard-phases
3448 (add-after 'unpack 'make-cmake-to-find-docbook
3449 (lambda _
3450 (substitute* "cmake/FindDocBookXML4.cmake"
3451 (("^.*xml/docbook/schema/dtd.*$")
3452 "xml/dtd/docbook\n"))
3453 #t))
3454 (delete 'check)
3455 (add-after 'install 'check-post-install
3456 (lambda* (#:key inputs tests? #:allow-other-keys)
3457 (setenv "HOME" (getcwd))
3458 (setenv "TZDIR" ; KDateTimeTestsome needs TZDIR
3459 (string-append (assoc-ref inputs "tzdata")
3460 "/share/zoneinfo"))
3461 ;; Make Qt render "offscreen", required for tests
3462 (setenv "QT_QPA_PLATFORM" "offscreen")
3463 ;; enable debug output
3464 (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug output
3465 (setenv "DBUS_FATAL_WARNINGS" "0")
3466 ;; Make kstandarddirstest pass (see https://bugs.kde.org/381098)
3467 (mkdir-p ".kde-unit-test/xdg/config")
3468 (with-output-to-file ".kde-unit-test/xdg/config/foorc"
3469 (lambda () #t)) ;; simply touch the file
3470 ;; Blacklist a test-function (failing at build.kde.org, too).
3471 (with-output-to-file "autotests/BLACKLIST"
3472 (lambda _
3473 (display "[testSmb]\n*\n")))
3474 ;; kuniqueapptest hangs. FIXME: Make this test pass.
3475 (zero? (system* "dbus-launch" "ctest" "."
3476 "-E" "kstandarddirstest|kuniqueapptest")))))))
3477 (home-page "https://community.kde.org/Frameworks")
3478 (synopsis "KDE Frameworks 5 porting aid from KDELibs4")
3479 (description "This framework provides code and utilities to ease the
3480 transition from kdelibs 4 to KDE Frameworks 5. This includes CMake macros and
3481 C++ classes whose functionality has been replaced by code in CMake, Qt and
3482 other frameworks.
3483
3484 Code should aim to port away from this framework eventually. The API
3485 documentation of the classes in this framework and the notes at
3486 http://community.kde.org/Frameworks/Porting_Notes should help with this.")
3487 ;; Most files are distributed under LGPL2+, but the package includes code
3488 ;; under a variety of licenses.
3489 (license (list license:lgpl2.1+ license:lgpl2.0 license:lgpl2.0+
3490 license:gpl2 license:gpl2+
3491 license:expat license:bsd-2 license:bsd-3
3492 license:public-domain))))
3493
3494 (define-public khtml
3495 (package
3496 (name "khtml")
3497 (version "5.42.0")
3498 (source
3499 (origin
3500 (method url-fetch)
3501 (uri (string-append
3502 "mirror://kde/stable/frameworks/"
3503 (version-major+minor version) "/portingAids/"
3504 name "-" version ".tar.xz"))
3505 (sha256
3506 (base32 "1bfslndxvad0zgzr22w2mz1xwavix9bh5qrrv8dpshlh043bwr3l"))))
3507 (build-system cmake-build-system)
3508 (native-inputs
3509 `(("extra-cmake-modules" ,extra-cmake-modules)
3510 ("perl" ,perl)))
3511 (inputs
3512 `(("giflib" ,giflib)
3513 ("gperf" ,gperf)
3514 ("karchive" ,karchive)
3515 ("kcodecs" ,kcodecs)
3516 ("kglobalaccel" ,kglobalaccel)
3517 ("ki18n" ,ki18n)
3518 ("kiconthemes" ,kiconthemes)
3519 ("kio" ,kio)
3520 ("kjs" ,kjs)
3521 ("knotifications" ,knotifications)
3522 ("kparts" ,kparts)
3523 ("ktextwidgets" ,ktextwidgets)
3524 ("kwallet" ,kwallet)
3525 ("kwidgetsaddons" ,kwidgetsaddons)
3526 ("kwindowsystem" ,kwindowsystem)
3527 ("kxmlgui" ,kxmlgui)
3528 ("libjpeg" ,libjpeg)
3529 ("libpng" ,libpng)
3530 ("openssl" ,openssl)
3531 ("phonon" ,phonon)
3532 ("qtbase" ,qtbase)
3533 ("qtx11extras" ,qtx11extras)
3534 ("sonnet" ,sonnet)))
3535 (arguments
3536 `(#:phases
3537 (modify-phases %standard-phases
3538 (add-before 'check 'check-setup
3539 (lambda _
3540 ;; Make Qt render "offscreen", required for tests
3541 (setenv "QT_QPA_PLATFORM" "offscreen")
3542 #t)))))
3543 (home-page "https://community.kde.org/Frameworks")
3544 (synopsis "KDE Frameworks 5 HTML widget and component")
3545 (description "KHTML is a web rendering engine, based on the KParts
3546 technology and using KJS for JavaScript support.")
3547 ;; Most files are distributed under LGPL2+, but the package includes code
3548 ;; under a variety of licenses.
3549 (license (list license:lgpl2.0+ license:lgpl2.1+
3550 license:gpl2 license:gpl3+
3551 license:expat license:bsd-2 license:bsd-3))))
3552
3553 (define-public kjs
3554 (package
3555 (name "kjs")
3556 (version "5.42.0")
3557 (source
3558 (origin
3559 (method url-fetch)
3560 (uri (string-append
3561 "mirror://kde/stable/frameworks/"
3562 (version-major+minor version) "/portingAids/"
3563 name "-" version ".tar.xz"))
3564 (sha256
3565 (base32 "1m26sb2qyrcgmpkw76k2yv5my2pkhld96vw6aaqm77q90faw734g"))))
3566 (build-system cmake-build-system)
3567 (native-inputs
3568 `(("extra-cmake-modules" ,extra-cmake-modules)
3569 ("kdoctools" ,kdoctools)
3570 ("perl" ,perl)
3571 ("pkg-config" ,pkg-config)))
3572 (inputs
3573 `(("pcre" ,pcre)
3574 ("qtbase" ,qtbase)))
3575 (home-page "https://community.kde.org/Frameworks")
3576 (synopsis "KDE Frameworks 5 support for Javascript scripting in Qt
3577 applications")
3578 (description "Add-on library to Qt which adds JavaScript scripting
3579 support.")
3580 ;; Most files are distributed under LGPL2+, but the package also includes
3581 ;; code under a variety of licenses.
3582 (license (list license:lgpl2.1+
3583 license:bsd-2 license:bsd-3
3584 (license:non-copyleft "file://src/kjs/dtoa.cpp")))))
3585
3586 (define-public kjsembed
3587 (package
3588 (name "kjsembed")
3589 (version "5.42.0")
3590 (source
3591 (origin
3592 (method url-fetch)
3593 (uri (string-append
3594 "mirror://kde/stable/frameworks/"
3595 (version-major+minor version) "/portingAids/"
3596 name "-" version ".tar.xz"))
3597 (sha256
3598 (base32 "10w4w4ncwr245bv1ii4sh154w91ghfz0l60k89j50lsydpcqcp3a"))))
3599 (build-system cmake-build-system)
3600 (native-inputs
3601 `(("extra-cmake-modules" ,extra-cmake-modules)
3602 ("kdoctools" ,kdoctools)
3603 ("qttools" ,qttools)))
3604 (inputs
3605 `(("ki18n" ,ki18n)
3606 ("kjs" ,kjs)
3607 ("qtbase" ,qtbase)
3608 ("qtsvg" ,qtsvg)))
3609 (home-page "https://community.kde.org/Frameworks")
3610 (synopsis "KDE Frameworks 5 embedded Javascript engine for Qt")
3611 (description "KJSEmbed provides a method of binding Javascript objects to
3612 QObjects, so you can script your applications.")
3613 (license license:lgpl2.1+)))
3614
3615 (define-public kmediaplayer
3616 (package
3617 (name "kmediaplayer")
3618 (version "5.42.0")
3619 (source
3620 (origin
3621 (method url-fetch)
3622 (uri (string-append
3623 "mirror://kde/stable/frameworks/"
3624 (version-major+minor version) "/portingAids/"
3625 name "-" version ".tar.xz"))
3626 (sha256
3627 (base32 "1k1pjc0cz36gs0pl2pxw8f9f82xkbqyy320nfyhan5waxbl1qd5n"))))
3628 (build-system cmake-build-system)
3629 (native-inputs
3630 `(("extra-cmake-modules" ,extra-cmake-modules)
3631 ("kdoctools" ,kdoctools)
3632 ("qttools" ,qttools)))
3633 (inputs
3634 `(("kcompletion" ,kcompletion)
3635 ("kcoreaddons" ,kcoreaddons)
3636 ("ki18n" ,ki18n)
3637 ("kiconthemes" ,kiconthemes)
3638 ("kio" ,kio)
3639 ("kparts" ,kparts)
3640 ("kwidgetsaddons" ,kwidgetsaddons)
3641 ("kxmlgui" ,kxmlgui)
3642 ("qtbase" ,qtbase)))
3643 (arguments
3644 `(#:phases
3645 (modify-phases %standard-phases
3646 (add-before 'check 'check-setup
3647 (lambda _
3648 ;; Make Qt render "offscreen", required for tests
3649 (setenv "QT_QPA_PLATFORM" "offscreen")
3650 #t)))))
3651 (home-page "https://community.kde.org/Frameworks")
3652 (synopsis "KDE Frameworks 5 plugin interface for media player features")
3653 (description "KMediaPlayer builds on the KParts framework to provide a
3654 common interface for KParts that can play media files.
3655
3656 This framework is a porting aid. It is not recommended for new projects, and
3657 existing projects that use it are advised to port away from it, and use plain
3658 KParts instead.")
3659 (license license:expat)))
3660
3661 (define-public kross
3662 (package
3663 (name "kross")
3664 (version "5.42.0")
3665 (source
3666 (origin
3667 (method url-fetch)
3668 (uri (string-append
3669 "mirror://kde/stable/frameworks/"
3670 (version-major+minor version) "/portingAids/"
3671 name "-" version ".tar.xz"))
3672 (sha256
3673 (base32 "1aqqwby6jslimpvx42d4n6gjsjc8l82gmsq5ajpv9zkkk91dqfqi"))))
3674 (build-system cmake-build-system)
3675 (native-inputs
3676 `(("extra-cmake-modules" ,extra-cmake-modules)
3677 ("kdoctools" ,kdoctools)
3678 ("qttools" ,qttools)))
3679 (inputs
3680 `(("kcompletion" ,kcompletion)
3681 ("kcoreaddons" ,kcoreaddons)
3682 ("ki18n" ,ki18n)
3683 ("kiconthemes" ,kiconthemes)
3684 ("kparts" ,kparts)
3685 ("kwidgetsaddons" ,kwidgetsaddons)
3686 ("kxmlgui" ,kxmlgui)
3687 ("qtbase" ,qtbase)
3688 ("qtscript" ,qtscript)))
3689 (home-page "https://community.kde.org/Frameworks")
3690 (synopsis "KDE Frameworks 5 solution for application scripting")
3691 (description "Kross is a scripting bridge for the KDE Development Platform
3692 used to embed scripting functionality into an application. It supports
3693 QtScript as a scripting interpreter backend.
3694
3695 Kross provides an abstract API to provide scripting functionality in a
3696 interpreter-independent way. The application that uses Kross should not need
3697 to know anything about the scripting language being used. The core of Kross
3698 provides the framework to deal transparently with interpreter-backends and
3699 offers abstract functionality to deal with scripts.")
3700 ;; Most files are distributed under LGPL2+, but the package includes code
3701 ;; under a variety of licenses.
3702 (license (list license:lgpl2.0+ license:lgpl2.1+
3703 license:lgpl2.0 license:gpl3+))))