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