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