1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
3 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
4 ;;; Copyright © 2016-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>
10 ;;; This file is part of GNU Guix.
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.
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.
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/>.
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 compression)
42 #:use-module (gnu packages databases)
43 #:use-module (gnu packages disk)
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))
78 (define-public extra-cmake-modules
80 (name "extra-cmake-modules")
85 "mirror://kde/stable/frameworks/"
86 (version-major+minor version) "/"
87 name "-" version ".tar.xz"))
90 "1x868hs9jiqzkqx7gld4mdm5dzfxc5kann22y15a4f7g5a957534"))))
91 (build-system cmake-build-system)
93 `(("qtbase" ,qtbase))) ; For tests (needs qmake)
96 (modify-phases %standard-phases
97 (add-after 'unpack 'fix-lib-path
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"))
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))
124 ;; optional dependencies - to save space, we do not add these inputs.
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.
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)))
139 (define-public phonon
146 "mirror://kde/stable/phonon"
148 name "-" version ".tar.xz"))
151 "1dwdw0hm6685psrp7v9frhkhqvsxrbdnm3gw794j5z7g3brqvag5"))))
152 (build-system cmake-build-system)
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)))
160 `(("qtbase" ,qtbase)))
163 '("-DCMAKE_CXX_FLAGS=-fPIC"
164 "-DPHONON_BUILD_PHONON4QT5=ON")
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"
173 (string-append dest (assoc-ref outputs "out")))))
175 (home-page "https://phonon.kde.org")
176 (synopsis "KDE's multimedia library")
177 (description "KDE's multimedia library.")
178 (license license:lgpl2.1+)))
180 (define-public phonon-backend-gstreamer
182 (name "phonon-backend-gstreamer")
187 "mirror://kde/stable/phonon/"
189 name "-" version ".tar.xz"))
192 "1wc5p1rqglf0n1avp55s50k7fjdzdrhg0gind15k8796w7nfbhyf"))))
193 (build-system cmake-build-system)
195 `(("extra-cmake-modules" ,extra-cmake-modules)
196 ("pkg-config" ,pkg-config)))
201 ("qtx11extras" ,qtx11extras)
202 ("gstreamer" ,gstreamer)
203 ("gst-plugins-base" ,gst-plugins-base)
204 ("libxml2" ,libxml2)))
207 '( "-DPHONON_BUILD_PHONON4QT5=ON")))
208 (home-page "https://phonon.kde.org")
209 (synopsis "Phonon backend which uses GStreamer")
210 (description "Phonon makes use of backend libraries to provide sound.
211 Phonon-GStreamer is a backend based on the GStreamer multimedia library.")
212 ;; license: source files mention "either version 2.1 or 3"
213 (license (list license:lgpl2.1 license:lgpl3))))
215 (define-public kpmcore
222 "mirror://kde/stable/kpmcore"
224 name "-" version ".tar.xz"))
227 "0s6v0jfrhjg31ri5p6h9n4w29jvasf5dj954j3vfpzl91lygmmmq"))))
228 (build-system cmake-build-system)
230 `(("extra-cmake-modules" ,extra-cmake-modules)
231 ("pkg-config" ,pkg-config)))
233 `(("kconfigwidgets" ,kconfigwidgets)
234 ("kiconthemes" ,kiconthemes)
237 ("kservice" ,kservice)
238 ("libatasmart" ,libatasmart)
241 ("util-linux" ,util-linux)))
242 (home-page "https://community.kde.org/Frameworks")
243 (synopsis "Library for managing partitions")
244 (description "Library for managing partitions.")
245 (license license:gpl3+)))
250 ;; Tier 1 frameworks depend only on Qt (and possibly a small number of other
251 ;; third-party libraries), so can easily be used by an Qt-based project.
253 (define-public attica
260 "mirror://kde/stable/frameworks/"
261 (version-major+minor version) "/"
262 name "-" version ".tar.xz"))
265 "0bsn9mi3nj23k2r3mfgjm9i1mp8qnwf08xn9x757wk3xas0cx98v"))))
266 (build-system cmake-build-system)
269 (modify-phases %standard-phases
270 (add-after 'unpack 'disable-network-tests
272 ;; These tests require network access.
273 (substitute* "autotests/CMakeLists.txt"
274 ((".*providertest.cpp") "")))))))
276 `(("extra-cmake-modules" ,extra-cmake-modules)))
278 `(("qtbase" ,qtbase)))
279 (home-page "https://community.kde.org/Frameworks")
280 (synopsis "Open Collaboration Service client library")
281 (description "Attica is a Qt library that implements the Open
282 Collaboration Services API version 1.6.
284 It grants easy access to the services such as querying information about
285 persons and contents. The library is used in KNewStuff3 as content provider.
286 In order to integrate with KDE's Plasma Desktop, a platform plugin exists in
289 The REST API is defined here:
290 http://freedesktop.org/wiki/Specifications/open-collaboration-services/")
291 (license (list license:lgpl2.1+ license:lgpl3+))))
293 (define-public bluez-qt
300 "mirror://kde/stable/frameworks/"
301 (version-major+minor version) "/"
302 name "-" version ".tar.xz"))
305 "1ixad1ya3c339c675w8nwmbga8ydq16db9fk2az3gjm68z3dch8a"))))
306 (build-system cmake-build-system)
309 ("extra-cmake-modules" ,extra-cmake-modules)))
311 ;; TODO: qtdeclarative (yields one failing test)
312 `(("qtbase" ,qtbase)))
316 "-DUDEV_RULES_INSTALL_DIR=" %output "/lib/udev/rules.d"))
317 ;; TODO: Make tests pass: DBUS_FATAL_WARNINGS=0 still yields 7/8 tests
318 ;; failing. When running after install, tests hang.
320 (home-page "https://community.kde.org/Frameworks")
321 (synopsis "QML wrapper for BlueZ")
322 (description "bluez-qt is a Qt-style library for accessing the bluez
323 Bluetooth stack. It is used by the KDE Bluetooth stack, BlueDevil.")
324 (license (list license:lgpl2.1+ license:lgpl3+))))
326 (define-public breeze-icons
328 (name "breeze-icons")
333 "mirror://kde/stable/frameworks/"
334 (version-major+minor version) "/"
335 name "-" version ".tar.xz"))
338 "03mb7x8mc2h6cjb4mrifrbkbpj3lv9c0mg4m619rqiydg0p1yf49"))))
339 (build-system cmake-build-system)
341 `(("extra-cmake-modules" ,extra-cmake-modules)
343 ("libxml2" ,libxml2)))
345 `(("qtbase" ,qtbase)))
346 (home-page "https://community.kde.org/Frameworks")
347 (synopsis "Default KDE Plasma 5 icon theme")
348 (description "Breeze provides a freedesktop.org compatible icon theme.
349 It is the default icon theme for the KDE Plasma 5 desktop.")
350 ;; The license file mentions lgpl3+. The license files in the source
351 ;; directories are lgpl3, while the top directory contains the lgpl2.1.
353 (license license:lgpl3+)))
355 (define-public kapidox
362 "mirror://kde/stable/frameworks/"
363 (version-major+minor version) "/"
364 name "-" version ".tar.xz"))
367 "0x41adp3rnvr6njc57ffdyh6d5i5aw13xcjdr4p6kacw9pk63ajf"))))
368 (build-system cmake-build-system)
370 `(#:tests? #f)) ; has no test target
372 `(("extra-cmake-modules" ,extra-cmake-modules)))
374 ;; kapidox is a python programm
375 ;; TODO: check if doxygen has to be installed, the readme does not
376 ;; mention it. The openSuse .rpm lists doxygen, graphviz, graphviz-gd,
379 ("python-jinja2" ,python-jinja2)
380 ("python-pyyaml" ,python-pyyaml)))
382 `(("qtbase" ,qtbase)))
383 (home-page "https://community.kde.org/Frameworks")
384 (synopsis "KDE Doxygen Tools")
385 (description "This framework contains scripts and data for building API
386 documentation (dox) in a standard format and style for KDE.
388 For the actual documentation extraction and formatting the Doxygen tool is
389 used, but this framework provides a wrapper script to make generating the
390 documentation more convenient (including reading settings from the target
391 framework or other module) and a standard template for the generated
393 ;; Most parts are bsd-2, but incuded jquery is expat
394 ;; This list is taken from http://packaging.neon.kde.org/cgit/
395 (license (list license:bsd-2 license:expat))))
397 (define-public karchive
404 "mirror://kde/stable/frameworks/"
405 (version-major+minor version) "/"
406 name "-" version ".tar.xz"))
409 "1llznxc5wjjnmbjx8iwi3a93gc2z0z344viknsgls1fwdjjfyxc4"))))
410 (build-system cmake-build-system)
412 `(("extra-cmake-modules" ,extra-cmake-modules)))
418 (home-page "https://community.kde.org/Frameworks")
419 (synopsis "Qt 5 addon providing access to numerous types of archives")
420 (description "KArchive provides classes for easy reading, creation and
421 manipulation of @code{archive} formats like ZIP and TAR.
423 It also provides transparent compression and decompression of data, like the
424 GZip format, via a subclass of QIODevice.")
425 ;; The included licenses is are gpl2 and lgpl2.1, but the sources are
426 ;; under a variety of licenses.
427 ;; This list is taken from http://packaging.neon.kde.org/cgit/
428 (license (list license:lgpl2.1 license:lgpl2.1+
429 license:lgpl3+ license:bsd-2))))
431 (define-public kcodecs
438 "mirror://kde/stable/frameworks/"
439 (version-major+minor version) "/"
440 name "-" version ".tar.xz"))
443 "0491j6l28jwfpgaqs2816qpyggnra2df33iw3fgvb0wd4r4gvmjb"))))
444 (build-system cmake-build-system)
446 `(("extra-cmake-modules" ,extra-cmake-modules)
448 ("qttools" ,qttools)))
450 `(("qtbase" ,qtbase)))
451 (home-page "https://community.kde.org/Frameworks")
452 (synopsis "String encoding and manipulating library")
453 (description "KCodecs provide a collection of methods to manipulate
454 strings using various encodings.
456 It can automatically determine the charset of a string, translate XML
457 entities, validate email addresses, and find encodings by name in a more
458 tolerant way than QTextCodec (useful e.g. for data coming from the
460 ;; The included licenses is are gpl2 and lgpl2.1, but the sources are
461 ;; under a variety of licenses.
462 ;; This list is taken from http://packaging.neon.kde.org/cgit/
463 (license (list license:gpl2 license:gpl2+ license:bsd-2
464 license:lgpl2.1 license:lgpl2.1+ license:expat
465 license:lgpl3+ license:mpl1.1))))
467 (define-public kconfig
474 "mirror://kde/stable/frameworks/"
475 (version-major+minor version) "/"
476 name "-" version ".tar.xz"))
479 "06gscipc3914gwiswhp1xx4sy74bpy645ykq2i6r1sb6sm16hmja"))))
480 (build-system cmake-build-system)
483 ("extra-cmake-modules" ,extra-cmake-modules)
484 ("inetutils" ,inetutils)
486 ("xorg-server" ,xorg-server)))
488 `(("qtbase" ,qtbase)))
491 (modify-phases %standard-phases
492 (add-before 'check 'check-setup
494 (setenv "HOME" (getcwd))
495 (setenv "TMPDIR" (getcwd))
499 (setenv "QT_QPA_PLATFORM" "offscreen")
500 (invoke "dbus-launch" "ctest" "."))))))
501 (home-page "https://community.kde.org/Frameworks")
502 (synopsis "Kconfiguration settings framework for Qt")
503 (description "KConfig provides an advanced configuration system.
504 It is made of two parts: KConfigCore and KConfigGui.
506 KConfigCore provides access to the configuration files themselves.
510 @item Code generation: describe your configuration in an XML file, and use
511 `kconfig_compiler to generate classes that read and write configuration
514 @item Cascading configuration files (global settings overridden by local
517 @item Optional shell expansion support (see docs/options.md).
519 @item The ability to lock down configuration options (see docs/options.md).
522 KConfigGui provides a way to hook widgets to the configuration so that they
523 are automatically initialized from the configuration and automatically
524 propagate their changes to their respective configuration files.")
525 ;; The included licenses is are gpl2 and lgpl2.1, but the sources are
526 ;; under a variety of licenses.
527 ;; This list is taken from http://packaging.neon.kde.org/cgit/
528 (license (list license:lgpl2.1 license:lgpl2.1+ license:expat
529 license:lgpl3+ license:gpl1 ; licende:mit-olif
530 license:bsd-2 license:bsd-3))))
532 (define-public kcoreaddons
539 "mirror://kde/stable/frameworks/"
540 (version-major+minor version) "/"
541 name "-" version ".tar.xz"))
544 "1j7bc5fhak8db3vdfslbjdffbdclakhfwsni2a855d08yfrl1n1w"))))
545 (build-system cmake-build-system)
547 `(("extra-cmake-modules" ,extra-cmake-modules)
549 ("shared-mime-info" ,shared-mime-info)
550 ;; TODO: FAM: File alteration notification http://oss.sgi.com/projects/fam
551 ("xorg-server" ,xorg-server))) ; for the tests
553 `(("qtbase" ,qtbase)))
556 (modify-phases %standard-phases
557 (add-before 'check 'blacklist-failing-test
559 ;; Blacklist failing tests.
560 (with-output-to-file "autotests/BLACKLIST"
562 ;; FIXME: Make it pass. Test failure caused by stout/stderr
563 ;; being interleaved.
564 (display "[test_channels]\n*\n")
565 ;; This fails with ENOSPC because of too many inotify watches.
566 (display "[benchNotifyWatcher]\n*\n")))
568 ;; See upstream commit ee424e9b62368485bba4193053cabb553a1d268e
569 (add-after 'unpack 'fix-broken-test
571 (substitute* "autotests/kdirwatch_unittest.cpp"
572 (("QVERIFY\\(waitForRecreationSignal\\(watch, existingFile\\)\\);" m)
573 (string-append m "\nwaitUntilNewSecond();")))
575 (add-before 'check 'check-setup
577 (setenv "HOME" (getcwd))
578 (setenv "TMPDIR" (getcwd))
580 (home-page "https://community.kde.org/Frameworks")
581 (synopsis "Qt addon library with a collection of non-GUI utilities")
582 (description "KCoreAddons provides classes built on top of QtCore to
583 perform various tasks such as manipulating mime types, autosaving files,
584 creating backup files, generating random sequences, performing text
585 manipulations such as macro replacement, accessing user information and
587 (license (list license:lgpl2.0+ license:lgpl2.1+))))
589 (define-public kdbusaddons
596 "mirror://kde/stable/frameworks/"
597 (version-major+minor version) "/"
598 name "-" version ".tar.xz"))
601 "1sj3cycgci3ih65bkh7bsvbzyp7r654ppcryj4azpcsxqhy5gc7l"))
602 (patches (search-patches "kdbusaddons-kinit-file-name.patch"))))
603 (build-system cmake-build-system)
605 `(("extra-cmake-modules" ,extra-cmake-modules)
607 ("qttools" ,qttools)))
610 ("qtx11extras" ,qtx11extras)
611 ("kinit" ,kinit-bootstrap))) ;; kinit-bootstrap: kinit package which does not depend on kdbusaddons.
614 (modify-phases %standard-phases
616 'configure 'patch-source
617 (lambda* (#:key inputs #:allow-other-keys)
618 ;; look for the kdeinit5 executable in kinit's store directory,
619 ;; instead of the current application's directory:
620 (substitute* "src/kdeinitinterface.cpp"
621 (("@SUBSTITUTEME@") (assoc-ref inputs "kinit")))))
624 (setenv "DBUS_FATAL_WARNINGS" "0")
625 (invoke "dbus-launch" "ctest" "."))))))
626 (home-page "https://community.kde.org/Frameworks")
627 (synopsis "Convenience classes for DBus")
628 (description "KDBusAddons provides convenience classes on top of QtDBus,
629 as well as an API to create KDED modules.")
630 ;; Some source files mention lgpl2.0+, but the included license is
631 ;; the lgpl2.1. Some source files are under non-copyleft licenses.
632 (license license:lgpl2.1+)))
634 (define-public kdnssd
641 "mirror://kde/stable/frameworks/"
642 (version-major+minor version) "/"
643 name "-" version ".tar.xz"))
646 "0lljj7mxmqm60kfzr37zb7z58mfyfh7zgykf7a5is1k0lxpgk6zc"))))
647 (build-system cmake-build-system)
649 `(("extra-cmake-modules" ,extra-cmake-modules)
650 ("qttools" ,qttools)))
652 `(("avahi" ,avahi) ; alternativly dnssd could be used
654 (home-page "https://community.kde.org/Frameworks")
655 (synopsis "Network service discovery using Zeroconf")
656 (description "KDNSSD is a library for handling the DNS-based Service
657 Discovery Protocol (DNS-SD), the layer of Zeroconf that allows network services,
658 such as printers, to be discovered without any user intervention or centralized
660 (license license:lgpl2.1+)))
662 (define-public kguiaddons
669 "mirror://kde/stable/frameworks/"
670 (version-major+minor version) "/"
671 name "-" version ".tar.xz"))
674 "190jwhvq2fi8g03saszlaslzxmcbqrbwli9f9vm6h5j9nnc0z6h3"))))
675 (build-system cmake-build-system)
676 ;; TODO: Build packages for the Python bindings. Ideally this will be
677 ;; done for all versions of python guix supports. Requires python,
678 ;; python-sip, clang-python, libclang. Requires python-2 in all cases for
681 `(("extra-cmake-modules" ,extra-cmake-modules)
682 ("pkg-config" ,pkg-config)))
685 ("qtx11extras" ,qtx11extras)))
688 (modify-phases %standard-phases
689 (add-before 'check 'check-setup
691 ;; make Qt render "offscreen", required for tests
692 (setenv "QT_QPA_PLATFORM" "offscreen")
694 (home-page "https://community.kde.org/Frameworks")
695 (synopsis "Utilities for graphical user interfaces")
696 (description "The KDE GUI addons provide utilities for graphical user
697 interfaces in the areas of colors, fonts, text, images, keyboard input.")
698 (license (list license:gpl2+ license:lgpl2.1+))))
707 "mirror://kde/stable/frameworks/"
708 (version-major+minor version) "/"
709 name "-" version ".tar.xz"))
712 "0kvwjzqibby9fawyfb8bd81abjhsjlyi8xy9mcapnih5x2gx3z92"))))
713 (build-system cmake-build-system)
715 `(("gettext" ,gettext-minimal)
718 `(("extra-cmake-modules" ,extra-cmake-modules)))
721 ("qtdeclarative" ,qtdeclarative)
722 ("qtscript" ,qtscript)))
725 (modify-phases %standard-phases
726 (add-before 'check 'check-setup
728 (setenv "HOME" (getcwd))
730 (home-page "https://community.kde.org/Frameworks")
731 (synopsis "KDE Gettext-based UI text internationalization")
732 (description "KI18n provides functionality for internationalizing user
733 interface text in applications, based on the GNU Gettext translation system. It
734 wraps the standard Gettext functionality, so that the programmers and translators
735 can use the familiar Gettext tools and workflows.
737 KI18n provides additional functionality as well, for both programmers and
738 translators, which can help to achieve a higher overall quality of source and
739 translated text. This includes argument capturing, customizable markup, and
740 translation scripting.")
741 (license license:lgpl2.1+)))
743 (define-public kidletime
750 "mirror://kde/stable/frameworks/"
751 (version-major+minor version) "/"
752 name "-" version ".tar.xz"))
755 "1kq6zh6cjhzffjhxnc7l1pw6g38swxyspp8xl8c860zdhc9xfd1g"))))
756 (build-system cmake-build-system)
758 `(("extra-cmake-modules" ,extra-cmake-modules)
759 ("pkg-config" ,pkg-config)))
761 `(("libxscrnsaver" ,libxscrnsaver) ; X-Screensaver based poller, fallback mode
763 ("qtx11extras" ,qtx11extras)))
764 (home-page "https://community.kde.org/Frameworks")
765 (synopsis "Reporting of idle time of user and system")
766 (description "KIdleTime is a singleton reporting information on idle time.
767 It is useful not only for finding out about the current idle time of the PC,
768 but also for getting notified upon idle time events, such as custom timeouts,
770 (license (list license:gpl2+ license:lgpl2.1+))))
772 (define-public kirigami
773 ;; Kirigami is listed as tier 1 framework, but optionally includes
774 ;; plasma-framework which is tier 3.
781 "mirror://kde/stable/frameworks/"
782 (version-major+minor version) "/"
783 "kirigami2-" version ".tar.xz"))
786 "11djxli5cq7pn19lmjz2y7z39mhlr98jskasfzyax546j47v973k"))))
787 (properties `((upstream-name . "kirigami2")))
788 (build-system cmake-build-system)
790 `(("extra-cmake-modules" ,extra-cmake-modules)
791 ("qttools" ,qttools)))
793 `(("kwindowsystem" ,kwindowsystem)
794 ;; TODO: Find a way to activate this optional include without
795 ;; introducing a recursive dependency.
796 ;;("plasma-frameworks" ,plasma-framework) ;; Tier 3!
798 ("qtdeclarative" ,qtdeclarative)
799 ("qtquickcontrols2" ,qtquickcontrols2)
801 ;; Run-time dependency
802 ("qtgraphicaleffects" ,qtgraphicaleffects)))
803 (home-page "https://community.kde.org/Frameworks")
804 (synopsis "QtQuick components for mobile user interfaces")
805 (description "Kirigami is a set of high level QtQuick components looking
806 and feeling well on both mobile and desktop devices. They ease the creation
807 of applications that follow the Kirigami Human Interface Guidelines.")
808 (license license:lgpl2.1+)))
810 (define-public kitemmodels
817 "mirror://kde/stable/frameworks/"
818 (version-major+minor version) "/"
819 name "-" version ".tar.xz"))
822 "13609avkqrfi79zyr737662nr8bwcfdya9dxc6gzyqx5i0l2nbw6"))))
823 (build-system cmake-build-system)
825 `(("extra-cmake-modules" ,extra-cmake-modules)))
828 ("qtdeclarative" ,qtdeclarative)))
831 (modify-phases %standard-phases
832 (add-before 'check 'check-setup
834 ;; make Qt render "offscreen", required for tests
835 (setenv "QT_QPA_PLATFORM" "offscreen")
837 (home-page "https://community.kde.org/Frameworks")
838 (synopsis "Set of item models extending the Qt model-view framework")
839 (description "KItemModels provides the following models:
842 @item KBreadcrumbSelectionModel - Selects the parents of selected items to
845 @item KCheckableProxyModel - Adds a checkable capability to a source model.
847 @item KConcatenateRowsProxyModel - Concatenates rows from multiple source models.
849 @item KDescendantsProxyModel - Proxy Model for restructuring a Tree into a list.
851 @item KExtraColumnsProxyModel - Adds columns after existing columns.
853 @item KLinkItemSelectionModel - Share a selection in multiple views which do
854 not have the same source model.
856 @item KModelIndexProxyMapper - Mapping of indexes and selections through proxy
859 @item KRearrangeColumnsProxyModel - Can reorder and hide columns from the source
862 @item KRecursiveFilterProxyModel - Recursive filtering of models.
864 @item KSelectionProxyModel - A Proxy Model which presents a subset of its source
867 (license license:lgpl2.1+)))
869 (define-public kitemviews
876 "mirror://kde/stable/frameworks/"
877 (version-major+minor version) "/"
878 name "-" version ".tar.xz"))
881 "1mgh7z5xcbhc7a2qq8mqfp7j4amk93hypkpy2zc3rdhc60ps94ad"))))
882 (build-system cmake-build-system)
884 `(("extra-cmake-modules" ,extra-cmake-modules)
885 ("qttools" ,qttools)))
887 `(("qtbase" ,qtbase)))
890 (modify-phases %standard-phases
891 (add-before 'check 'check-setup
893 (setenv "DBUS_FATAL_WARNINGS" "0")
894 ;; make Qt render "offscreen", required for tests
895 (setenv "QT_QPA_PLATFORM" "offscreen")
897 (home-page "https://community.kde.org/Frameworks")
898 (synopsis "Set of item views extending the Qt model-view framework")
899 (description "KItemViews includes a set of views, which can be used with
900 item models. It includes views for categorizing lists and to add search filters
901 to flat and hierarchical lists.")
902 (license (list license:gpl2+ license:lgpl2.1+))))
904 (define-public kplotting
911 "mirror://kde/stable/frameworks/"
912 (version-major+minor version) "/"
913 name "-" version ".tar.xz"))
916 "0nn2v1yvvpzpi1y1pm47zvmwsa942c7d9n8iqymqihnp0fqjr8y7"))))
917 (build-system cmake-build-system)
919 `(("extra-cmake-modules" ,extra-cmake-modules)))
921 `(("qtbase" ,qtbase)))
924 (modify-phases %standard-phases
925 (add-before 'check 'check-setup
926 (lambda _ ; kplotting
927 ;; make Qt render "offscreen", required for tests
928 (setenv "QT_QPA_PLATFORM" "offscreen")
930 (home-page "https://community.kde.org/Frameworks")
931 (synopsis "Data plotting library")
932 (description "KPlotWidget is a QWidget-derived class that provides a virtual
933 base class for easy data-plotting. The idea behind KPlotWidget is that you only
934 have to specify information in \"data units\", the natural units of the
935 data being plotted. KPlotWidget automatically converts everything to screen
937 (license license:lgpl2.1+)))
939 (define-public ksyntaxhighlighting
941 (name "ksyntaxhighlighting")
946 "mirror://kde/stable/frameworks/"
947 (version-major+minor version) "/"
948 "syntax-highlighting-" version ".tar.xz"))
951 "00w5nmz9l70znv8q7q1zw3f7gngwfgf41iwbs53zqcv1z7wmrz6m"))))
952 (build-system cmake-build-system)
954 `(("extra-cmake-modules" ,extra-cmake-modules)
957 ;; Optional, for compile-time validation of syntax definition files:
958 ("qtxmlpatterns" ,qtxmlpatterns)))
960 `(("qtbase" ,qtbase)))
963 (modify-phases %standard-phases
964 (add-after 'patch-source-shebangs 'unpatch-source-shebang
966 ;; revert the patch-shebang phase on scripts which are
968 (substitute* '("autotests/input/test.bash"
969 "autotests/folding/test.bash.fold")
970 (((which "bash")) "/bin/bash"))
971 (substitute* '("autotests/input/highlight.sh"
972 "autotests/folding/highlight.sh.fold")
973 (((which "sh")) " /bin/sh")) ;; space in front!
974 (substitute* '("autotests/input/highlight.pl"
975 "autotests/folding/highlight.pl.fold")
976 (((which "perl")) "/usr/bin/perl"))
978 (home-page "https://community.kde.org/Frameworks")
979 (synopsis "Syntax highlighting engine for Kate syntax definitions")
980 (description "This is a stand-alone implementation of the Kate syntax
981 highlighting engine. It's meant as a building block for text editors as well
982 as for simple highlighted text rendering (e.g. as HTML), supporting both
983 integration with a custom editor as well as a ready-to-use
984 @code{QSyntaxHighlighter} sub-class.")
985 (properties `((upstream-name . "syntax-highlighting")))
986 (license license:lgpl2.1+)))
988 (define-public kwayland
995 "mirror://kde/stable/frameworks/"
996 (version-major+minor version) "/"
997 name "-" version ".tar.xz"))
1000 "0m9q13qzgvp03jrsyc59l6pp7jf0dvhx768p21drs46qxw6wla7l"))))
1001 (build-system cmake-build-system)
1003 `(("extra-cmake-modules" ,extra-cmake-modules)
1004 ("pkg-config" ,pkg-config)))
1006 `(("qtbase" ,qtbase)
1007 ("wayland" ,wayland)))
1009 `(#:tests? #f ; FIXME tests require weston to run
1010 ; weston requires wayland flags in mesa
1012 (modify-phases %standard-phases
1013 (add-before 'check 'check-setup
1015 (setenv "XDG_RUNTIME_DIR" "/tmp")
1017 (home-page "https://community.kde.org/Frameworks")
1018 (synopsis "Qt-style API to interact with the wayland client and server")
1019 (description "As the names suggest they implement a Client respectively a
1020 Server API for the Wayland protocol. The API is Qt-styled removing the needs to
1021 interact with a for a Qt developer uncomfortable low-level C-API. For example
1022 the callback mechanism from the Wayland API is replaced by signals, data types
1023 are adjusted to be what a Qt developer expects - two arguments of int are
1024 represented by a QPoint or a QSize.")
1025 (license license:lgpl2.1+)))
1027 (define-public kwidgetsaddons
1029 (name "kwidgetsaddons")
1034 "mirror://kde/stable/frameworks/"
1035 (version-major+minor version) "/"
1036 name "-" version ".tar.xz"))
1039 "0kpbvvmjrhxxjqc0cb63zlq06a3xspq43xv3wdingcn28zypynzc"))))
1040 (build-system cmake-build-system)
1042 `(("extra-cmake-modules" ,extra-cmake-modules)
1043 ("qttools" ,qttools)
1044 ("xorg-server" ,xorg-server)))
1046 `(("qtbase" ,qtbase)))
1049 (modify-phases %standard-phases
1050 (add-before 'check 'check-setup
1052 ;; make Qt render "offscreen", required for tests
1053 (setenv "QT_QPA_PLATFORM" "offscreen")
1054 (setenv "DBUS_FATAL_WARNINGS" "0")
1056 (add-before 'check 'start-xorg-server
1057 (lambda* (#:key inputs #:allow-other-keys)
1058 ;; The test suite requires a running X server.
1059 ;; Xvfb doesn't have proper glx support and needs a pixeldepth
1060 ;; of 24 bit to avoid "libGL error: failed to load driver: swrast"
1061 ;; "Could not initialize GLX"
1062 (system (string-append (assoc-ref inputs "xorg-server")
1063 "/bin/Xvfb :1 -screen 0 640x480x24 &"))
1064 (setenv "DISPLAY" ":1")
1066 (home-page "https://community.kde.org/Frameworks")
1067 (synopsis "Large set of desktop widgets")
1068 (description "Provided are action classes that can be added to toolbars or
1069 menus, a wide range of widgets for selecting characters, fonts, colors, actions,
1070 dates and times, or MIME types, as well as platform-aware dialogs for
1071 configuration pages, message boxes, and password requests.")
1072 (license (list license:gpl2+ license:lgpl2.1+))))
1074 (define-public kwindowsystem
1076 (name "kwindowsystem")
1081 "mirror://kde/stable/frameworks/"
1082 (version-major+minor version) "/"
1083 name "-" version ".tar.xz"))
1086 "10zdxm08d758zbwlrbsn0ghxjpf39ids2s5pnca072gbrbrxv656"))))
1087 (build-system cmake-build-system)
1089 `(("extra-cmake-modules" ,extra-cmake-modules)
1090 ("pkg-config" ,pkg-config)
1091 ("dbus" ,dbus) ; for the tests
1092 ("openbox" ,openbox) ; for the tests
1093 ("qttools" ,qttools)
1094 ("xorg-server" ,xorg-server))) ; for the tests
1096 `(("libxrender" ,libxrender)
1098 ("qtx11extras" ,qtx11extras)
1099 ("xcb-utils-keysyms" ,xcb-util-keysyms)))
1102 (modify-phases %standard-phases
1103 (add-before 'check 'blacklist-failing-tests
1105 ;; Blacklist a failing test-functions. FIXME: Make it pass.
1106 (with-output-to-file "autotests/BLACKLIST"
1108 (display "[testState]\n*\n")
1109 (display "[testSupported]\n*\n")))
1113 ;; The test suite requires a running window anager
1114 (system "Xvfb :1 -ac -screen 0 640x480x24 &")
1115 (setenv "DISPLAY" ":1")
1116 (sleep 5) ;; Give Xvfb a few moments to get on it's feet
1117 (system "openbox &")
1118 (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
1119 (setenv "DBUS_FATAL_WARNINGS" "0")
1120 (invoke "dbus-launch" "ctest" "."))))))
1121 (home-page "https://community.kde.org/Frameworks")
1122 (synopsis "KDE access to the windowing system")
1123 (description "KWindowSystem provides information about and allows
1124 interaction with the windowing system. It provides a high level API, which
1125 is windowing system independent and has platform specific
1126 implementations. This API is inspired by X11 and thus not all functionality
1127 is available on all windowing systems.
1129 In addition to the high level API, this framework also provides several
1130 lower level classes for interaction with the X Windowing System.")
1131 ;; Some source files mention lgpl2.0+, but the included license is
1132 ;; the lgpl2.1. Some source files are under non-copyleft licenses.
1133 (license license:lgpl2.1+)))
1135 (define-public modemmanager-qt
1137 (name "modemmanager-qt")
1142 "mirror://kde/stable/frameworks/"
1143 (version-major+minor version) "/"
1144 name "-" version ".tar.xz"))
1147 "10pkgm4dzsrfnjsf78pssd1wp0y27d1y834chd267hx9vgrv8axm"))))
1148 (build-system cmake-build-system)
1150 `(("extra-cmake-modules" ,extra-cmake-modules)
1152 ("pkg-config" ,pkg-config)))
1154 ;; Headers contain #include <ModemManager/ModemManager.h>
1155 `(("modem-manager" ,modem-manager)))
1157 `(("qtbase" ,qtbase)))
1160 (modify-phases %standard-phases
1163 (setenv "DBUS_FATAL_WARNINGS" "0")
1164 (invoke "dbus-launch" "ctest" "."))))))
1165 (home-page "https://community.kde.org/Frameworks")
1166 (synopsis "Qt wrapper for ModemManager DBus API")
1167 (description "ModemManagerQt provides access to all ModemManager features
1168 exposed on DBus. It allows you to manage modem devices and access to
1169 information available for your modem devices, like signal, location and
1171 (license license:lgpl2.1+)))
1173 (define-public networkmanager-qt
1175 (name "networkmanager-qt")
1180 "mirror://kde/stable/frameworks/"
1181 (version-major+minor version) "/"
1182 name "-" version ".tar.xz"))
1185 "0j8l4k13vsqh0a8mw8dw5bc78xvxhz2rh7bb870as04i32bvw772"))))
1186 (build-system cmake-build-system)
1188 `(("extra-cmake-modules" ,extra-cmake-modules)
1190 ("pkg-config" ,pkg-config)))
1192 ;; Headers contain #include <NetworkManager.h> and
1193 ;; #include <libnm/NetworkManager.h>
1194 `(("network-manager" ,network-manager)))
1196 `(("qtbase" ,qtbase)))
1199 (modify-phases %standard-phases
1202 (setenv "DBUS_FATAL_WARNINGS" "0")
1203 (invoke "dbus-launch" "ctest" "."))))))
1204 (home-page "https://community.kde.org/Frameworks")
1205 (synopsis "Qt wrapper for NetworkManager DBus API")
1206 (description "NetworkManagerQt provides access to all NetworkManager
1207 features exposed on DBus. It allows you to manage your connections and control
1208 your network devices and also provides a library for parsing connection settings
1209 which are used in DBus communication.")
1210 (license license:lgpl2.1+)))
1212 (define-public oxygen-icons
1214 (name "oxygen-icons")
1219 "mirror://kde/stable/frameworks/"
1220 (version-major+minor version) "/"
1221 name "5" "-" version ".tar.xz"))
1224 "0fvm9bq1573xkha4a577s1iik8nwzks8xhrli5mm6rbh53s12wp4"))))
1225 (build-system cmake-build-system)
1227 `(("extra-cmake-modules" ,extra-cmake-modules)
1228 ("fdupes" ,fdupes)))
1230 `(("qtbase" ,qtbase)))
1231 (home-page "https://community.kde.org/Frameworks")
1232 (synopsis "Oxygen provides the standard icon theme for the KDE desktop")
1233 (description "Oxygen icon theme for the KDE desktop")
1234 (license license:lgpl3+)
1235 (properties '((upstream-name . "oxygen-icons5")))))
1237 (define-public prison
1244 (uri (string-append "mirror://kde/stable/frameworks/"
1245 (version-major+minor version) "/"
1246 name "-" version ".tar.xz"))
1248 (base32 "1xadc2fq6csml78czg5p572cwvmqmn334a5dxjnd7k1pdx50gi07"))))
1249 (build-system cmake-build-system)
1251 `(("extra-cmake-modules" ,extra-cmake-modules)))
1253 `(("libdmtx" ,libdmtx)
1254 ("qrencode" ,qrencode)
1255 ("qtbase" ,qtbase))) ;; TODO: rethink: nix propagates this
1256 (home-page "https://api.kde.org/frameworks/prison/html/index.html")
1257 (synopsis "Barcode generation abstraction layer")
1258 (description "Prison is a Qt-based barcode abstraction layer/library and
1259 provides uniform access to generation of barcodes with data.")
1260 (license license:lgpl2.1+)))
1262 (define-public qqc2-desktop-style
1264 (name "qqc2-desktop-style")
1269 "mirror://kde/stable/frameworks/"
1270 (version-major+minor version) "/"
1271 name "-" version ".tar.xz"))
1274 "0aj37ldc3ywqap3sz73j54kbzycn529imr15jgl252k04rqpjya5"))))
1275 (build-system cmake-build-system)
1277 `(("extra-cmake-modules" ,extra-cmake-modules)
1278 ("pkg-config" ,pkg-config)))
1281 ("kconfigwidgets" ,kconfigwidgets) ; optional
1282 ("kcoreaddons" ,kcoreaddons)
1283 ("kiconthemes" ,kiconthemes) ; optional
1284 ("kirigami" ,kirigami)
1286 ("qtdeclarative" ,qtdeclarative)
1287 ("qtquickcontrols2" ,qtquickcontrols2)))
1288 (home-page "https://community.kde.org/Frameworks")
1289 (synopsis "QtQuickControls2 style that integrates with the desktop")
1290 (description "This is a style for QtQuickControls2 which is using
1291 QWidget's QStyle to paint the controls in order to give it a native look and
1293 ;; Mostly LGPL 2+, but many files are dual-licensed
1294 (license (list license:lgpl2.1+ license:gpl3+))))
1296 (define-public solid
1303 "mirror://kde/stable/frameworks/"
1304 (version-major+minor version) "/"
1305 name "-" version ".tar.xz"))
1308 "18dw55g41q34m2qzvybvpsas1dnyryqxnlf2md0xc4r36ib9p2pn"))))
1309 (build-system cmake-build-system)
1312 (modify-phases %standard-phases
1315 (setenv "DBUS_FATAL_WARNINGS" "0")
1316 (invoke "dbus-launch" "ctest" "."))))))
1320 ("extra-cmake-modules" ,extra-cmake-modules)
1322 ("qttools" ,qttools)))
1324 `(("qtbase" ,qtbase)
1325 ("qtdeclarative" ,qtdeclarative)
1327 ;; TODO: Add runtime-only dependency MediaPlayerInfo
1328 (home-page "https://community.kde.org/Frameworks")
1329 (synopsis "Desktop hardware abstraction")
1330 (description "Solid is a device integration framework. It provides a way of
1331 querying and interacting with hardware independently of the underlying operating
1333 (license license:lgpl2.1+)))
1335 (define-public sonnet
1342 "mirror://kde/stable/frameworks/"
1343 (version-major+minor version) "/"
1344 name "-" version ".tar.xz"))
1347 "13bb1s2f4kfaikcga297j2fqlyr4qxdcq4v1b3zs1gas4z1wpcg6"))))
1348 (build-system cmake-build-system)
1351 (modify-phases %standard-phases
1352 (add-before 'check 'check-setup
1354 ;; make Qt render "offscreen", required for tests
1355 (setenv "QT_QPA_PLATFORM" "offscreen")
1358 `(("extra-cmake-modules" ,extra-cmake-modules)
1359 ("pkg-config" ,pkg-config)
1360 ("qttools" ,qttools)))
1362 `(("hunspell" ,hunspell)
1363 ;; TODO: hspell (for Hebrew), Voikko (for Finish)
1364 ("qtbase" ,qtbase)))
1365 (home-page "https://community.kde.org/Frameworks")
1366 (synopsis "Multi-language spell checker")
1367 (description "Sonnet is a plugin-based spell checking library for Qt-based
1368 applications. It supports several different plugins, including HSpell, Enchant,
1369 ASpell and HUNSPELL.")
1370 (license license:lgpl2.1+)))
1372 (define-public threadweaver
1374 (name "threadweaver")
1379 "mirror://kde/stable/frameworks/"
1380 (version-major+minor version) "/"
1381 name "-" version ".tar.xz"))
1384 "0r0ml5pz7h0vmydcg4gqqkl21lp6c5gqdwyfsnyad02dcjkh4hql"))))
1385 (build-system cmake-build-system)
1387 `(("extra-cmake-modules" ,extra-cmake-modules)))
1389 `(("qtbase" ,qtbase)))
1390 (home-page "https://community.kde.org/Frameworks")
1391 (synopsis "Helper for multithreaded programming")
1392 (description "ThreadWeaver is a helper for multithreaded programming. It
1393 uses a job-based interface to queue tasks and execute them in an efficient way.")
1394 (license license:lgpl2.1+)))
1399 ;; Tier 2 frameworks additionally depend on tier 1 frameworks, but still have
1400 ;; easily manageable dependencies.
1402 (define-public kactivities
1404 (name "kactivities")
1409 "mirror://kde/stable/frameworks/"
1410 (version-major+minor version) "/"
1411 name "-" version ".tar.xz"))
1414 "0dp9vx2nl9fnawzcz04fqa731s3bk2izxrqbvn71aqyrs7fymabg"))))
1415 (build-system cmake-build-system)
1417 `(("extra-cmake-modules" ,extra-cmake-modules)))
1421 ("kbookmarks" ,kbookmarks)
1422 ("kcodecs" ,kcodecs)
1423 ("kcompletion" ,kcompletion)
1424 ("kconfig" ,kconfig)
1425 ("kconfigwidgets" ,kconfigwidgets)
1426 ("kcoreaddons" ,kcoreaddons)
1428 ("kitemviews" ,kitemviews)
1429 ("kjobwidgets" ,kjobwidgets)
1430 ("kservice" ,kservice)
1431 ("kwidgetsaddons" ,kwidgetsaddons)
1432 ("kwindowsystem" ,kwindowsystem)
1433 ("kxmlgui" ,kxmlgui)
1435 ("qtdeclarative" ,qtdeclarative)
1437 (home-page "https://community.kde.org/Frameworks")
1438 (synopsis "Core components for the KDE Activity concept")
1439 (description "KActivities provides the infrastructure needed to manage a
1440 user's activities, allowing them to switch between tasks, and for applications
1441 to update their state to match the user's current activity. This includes a
1442 daemon, a library for interacting with that daemon, and plugins for integration
1443 with other frameworks.")
1445 (license (list license:gpl2+ license:lgpl2.0+ license:lgpl2.1+))))
1447 (define-public kauth
1454 "mirror://kde/stable/frameworks/"
1455 (version-major+minor version) "/"
1456 name "-" version ".tar.xz"))
1459 "1w6bp2kbp1sn4cl76fgl2pqrg660ix99qq4h65g090kc934np3zc"))))
1460 (build-system cmake-build-system)
1463 ("extra-cmake-modules" ,extra-cmake-modules)
1464 ("qttools" ,qttools)))
1466 `(("kcoreaddons" ,kcoreaddons)
1467 ("polkit-qt" ,polkit-qt)
1468 ("qtbase" ,qtbase)))
1471 (modify-phases %standard-phases
1472 (add-after 'unpack 'fix-cmake-install-directories
1474 ;; Make packages using kauth put their policy files and helpers
1475 ;; into their own prefix.
1476 (substitute* "KF5AuthConfig.cmake.in"
1477 (("@KAUTH_POLICY_FILES_INSTALL_DIR@")
1478 "${KDE_INSTALL_DATADIR}/polkit-1/actions")
1479 (("@KAUTH_HELPER_INSTALL_DIR@")
1480 "${KDE_INSTALL_LIBEXECDIR}")
1481 (("@KAUTH_HELPER_INSTALL_ABSOLUTE_DIR@")
1482 "${KDE_INSTALL_LIBEXECDIR}"))))
1485 (setenv "DBUS_FATAL_WARNINGS" "0")
1486 (invoke "dbus-launch" "ctest" "."))))))
1487 (home-page "https://community.kde.org/Frameworks")
1488 (synopsis "Execute actions as privileged user")
1489 (description "KAuth provides a convenient, system-integrated way to offload
1490 actions that need to be performed as a privileged user to small set of helper
1492 (license license:lgpl2.1+)))
1494 (define-public kcompletion
1496 (name "kcompletion")
1501 "mirror://kde/stable/frameworks/"
1502 (version-major+minor version) "/"
1503 name "-" version ".tar.xz"))
1506 "08ym79fqk7vshsf3jk37d6jvg7ys63kwflcn5dff5ci18jan2ir2"))))
1507 (build-system cmake-build-system)
1509 `(("extra-cmake-modules" ,extra-cmake-modules)
1510 ("qttools" ,qttools)))
1512 `(("kconfig" ,kconfig)
1513 ("kwidgetsaddons" ,kwidgetsaddons)
1514 ("qtbase" ,qtbase)))
1517 (modify-phases %standard-phases
1518 (add-before 'check 'check-setup
1520 ;; make Qt render "offscreen", required for tests
1521 (setenv "QT_QPA_PLATFORM" "offscreen")
1523 (home-page "https://community.kde.org/Frameworks")
1524 (synopsis "Powerful autocompletion framework and widgets")
1525 (description "This framework helps implement autocompletion in Qt-based
1526 applications. It provides a set of completion-ready widgets, or can be
1527 integrated it into your application's other widgets.")
1528 (license license:lgpl2.1+)))
1530 (define-public kcrash
1537 "mirror://kde/stable/frameworks/"
1538 (version-major+minor version) "/"
1539 name "-" version ".tar.xz"))
1542 "08a8c5mbj6ll0d1ivhcjx5ga1jfbnwxsk618wcfpwwi6mkxrc3f9"))))
1543 (build-system cmake-build-system)
1545 `(("extra-cmake-modules" ,extra-cmake-modules)))
1547 `(("kcoreaddons" ,kcoreaddons)
1548 ("kwindowsystem" ,kwindowsystem)
1550 ("qtx11extras" ,qtx11extras)))
1553 (modify-phases %standard-phases
1554 (add-before 'check 'check-setup
1556 ;; make Qt render "offscreen", required for tests
1557 (setenv "QT_QPA_PLATFORM" "offscreen")
1559 (home-page "https://community.kde.org/Frameworks")
1560 (synopsis "Graceful handling of application crashes")
1561 (description "KCrash provides support for intercepting and handling
1562 application crashes.")
1563 (license license:lgpl2.1+)))
1565 (define-public kdoctools
1572 "mirror://kde/stable/frameworks/"
1573 (version-major+minor version) "/"
1574 name "-" version ".tar.xz"))
1577 "0dlal0vkxf5yh1hbfhrcrxqqi1w43q7bvv8ws8pb18jjgimzr46l"))))
1578 (build-system cmake-build-system)
1580 `(("extra-cmake-modules" ,extra-cmake-modules)))
1582 `(("docbook-xml" ,docbook-xml)
1583 ("docbook-xsl" ,docbook-xsl)
1584 ("karchive" ,karchive)
1586 ("libxml2" ,libxml2)
1587 ("libxslt" ,libxslt)
1589 ("perl-uri" ,perl-uri)
1590 ("qtbase" ,qtbase)))
1593 (modify-phases %standard-phases
1594 (add-after 'unpack 'cmake-find-docbook
1595 (lambda* (#:key inputs #:allow-other-keys)
1596 (substitute* (find-files "cmake" "\\.cmake$")
1597 (("CMAKE_SYSTEM_PREFIX_PATH")
1598 "CMAKE_PREFIX_PATH"))
1599 (substitute* "cmake/FindDocBookXML4.cmake"
1600 (("^.*xml/docbook/schema/dtd.*$")
1601 "xml/dtd/docbook\n"))
1602 (substitute* "cmake/FindDocBookXSL.cmake"
1603 (("^.*xml/docbook/stylesheet.*$")
1604 (string-append "xml/xsl/docbook-xsl-"
1605 ,(package-version docbook-xsl) "\n")))
1607 (add-after 'install 'add-symlinks
1608 ;; Some package(s) (e.g. kdelibs4support) refer to this locale by a
1609 ;; different spelling.
1610 (lambda* (#:key outputs #:allow-other-keys)
1611 (let ((xsl (string-append (assoc-ref outputs "out")
1612 "/share/kf5/kdoctools/customization/xsl/")))
1613 (symlink (string-append xsl "pt_br.xml")
1614 (string-append xsl "pt-BR.xml")))
1616 (home-page "https://community.kde.org/Frameworks")
1617 (synopsis "Create documentation from DocBook")
1618 (description "Provides tools to generate documentation in various format
1619 from DocBook files.")
1620 (license license:lgpl2.1+)))
1622 (define-public kfilemetadata
1624 (name "kfilemetadata")
1629 "mirror://kde/stable/frameworks/"
1630 (version-major+minor version) "/"
1631 name "-" version ".tar.xz"))
1634 "0fqj266f9f66rfjzg0rl35fac5rn5n3npyfb4gsla3mdc8fjz9mi"))))
1635 (build-system cmake-build-system)
1638 (modify-phases %standard-phases
1639 (add-before 'check 'disable-failing-test
1641 ;; Blacklist a failing test-function. FIXME: Make it pass.
1642 ;; UserMetaDataWriterTest fails with getxattr("…/writertest.txt")
1643 ;; -> EOPNOTSUPP (Operation not supported)
1644 (with-output-to-file "autotests/BLACKLIST"
1646 (display "[test]\n*\n")))
1649 `(("extra-cmake-modules" ,extra-cmake-modules)
1650 ("pkg-config" ,pkg-config)
1651 ("python-2" ,python-2)))
1654 ;; TODO: EPub http://sourceforge.net/projects/ebook-tools
1655 ("karchive" ,karchive)
1657 ("qtmultimedia" ,qtmultimedia)
1659 ;; Required run-time packages
1661 ;; Optional run-time packages
1664 ("poppler-qt5" ,poppler-qt5)
1665 ("taglib" ,taglib)))
1666 (home-page "https://community.kde.org/Frameworks")
1667 (synopsis "Extract metadata from different fileformats")
1668 (description "KFileMetaData provides a simple library for extracting the
1669 text and metadata from a number of different files. This library is typically
1670 used by file indexers to retrieve the metadata. This library can also be used
1671 by applications to write metadata.")
1672 (license (list license:lgpl2.0 license:lgpl2.1 license:lgpl3))))
1674 (define-public kimageformats
1676 (name "kimageformats")
1681 "mirror://kde/stable/frameworks/"
1682 (version-major+minor version) "/"
1683 name "-" version ".tar.xz"))
1686 "0hhxv8m5993vlpi5yf7w3fadzckficn16flshdkby7bwq8agrbz1"))))
1687 (build-system cmake-build-system)
1689 `(("extra-cmake-modules" ,extra-cmake-modules)
1690 ("pkg-config" ,pkg-config)))
1692 `(("karchive" ,karchive) ; for Krita and OpenRaster images
1693 ("openexr" ,openexr) ; for OpenEXR high dynamic-range images
1694 ("qtbase" ,qtbase)))
1697 (modify-phases %standard-phases
1698 ;; This test fails regularly (also at KDE CI, see
1699 ;; https://build.kde.org/job/Frameworks%20kimageformats%20kf5-qt5%20XenialQt5.7/6/testReport/)
1700 ;; delete offending portion
1701 (add-after 'unpack 'neuter-read-xcf-test
1703 (delete-file "autotests/read/xcf/simple-rgba-gimp-2.8.10.png")
1704 (delete-file "autotests/read/xcf/simple-rgba-gimp-2.8.10.xcf")))
1705 (add-before 'check 'check-setup
1707 ;; make Qt render "offscreen", required for tests
1708 (setenv "QT_QPA_PLATFORM" "offscreen")
1709 (setenv "QT_PLUGIN_PATH"
1710 (string-append (getcwd) "/bin:"
1711 (getenv "QT_PLUGIN_PATH")))
1713 ;; FIXME: The header files of ilmbase (propagated by openexr) are not
1714 ;; found when included by the header files of openexr, and an explicit
1715 ;; flag needs to be set.
1717 (list (string-append "-DCMAKE_CXX_FLAGS=-I"
1718 (assoc-ref %build-inputs "ilmbase")
1719 "/include/OpenEXR"))))
1720 (home-page "https://community.kde.org/Frameworks")
1721 (synopsis "Plugins to allow QImage to support extra file formats")
1722 (description "This framework provides additional image format plugins for
1723 QtGui. As such it is not required for the compilation of any other software,
1724 but may be a runtime requirement for Qt-based software to support certain image
1726 (license license:lgpl2.1+)))
1728 (define-public kjobwidgets
1730 (name "kjobwidgets")
1735 "mirror://kde/stable/frameworks/"
1736 (version-major+minor version) "/"
1737 name "-" version ".tar.xz"))
1740 "1pbx974jpn8n2080gblmbh8q0yb5wxb9xblpm100rbhpg20sc2by"))))
1741 (build-system cmake-build-system)
1743 `(("extra-cmake-modules" ,extra-cmake-modules)
1744 ("qttools" ,qttools)))
1746 `(("kcoreaddons" ,kcoreaddons)
1747 ("kwidgetsaddons" ,kwidgetsaddons)
1749 ("qtx11extras" ,qtx11extras)))
1750 (home-page "https://community.kde.org/Frameworks")
1751 (synopsis "Widgets for showing progress of asynchronous jobs")
1752 (description "KJobWIdgets provides widgets for showing progress of
1753 asynchronous jobs.")
1754 (license license:lgpl2.1+)))
1756 (define-public knotifications
1758 (name "knotifications")
1763 "mirror://kde/stable/frameworks/"
1764 (version-major+minor version) "/"
1765 name "-" version ".tar.xz"))
1768 "1dbrk9r3w8pmg15bhrb8qdk4fiqvc9qggb67zvk1n7ddlfkyarz6"))))
1769 (build-system cmake-build-system)
1771 `(("extra-cmake-modules" ,extra-cmake-modules)
1773 ("qttools" ,qttools)))
1775 `(("kcodecs" ,kcodecs)
1776 ("kconfig" ,kconfig)
1777 ("kcoreaddons" ,kcoreaddons)
1778 ("kwindowsystem" ,kwindowsystem)
1781 ("qtspeech" ,qtspeech)
1782 ;; TODO: Think about adding dbusmenu-qt5 from
1783 ;; https://launchpad.net/libdbusmenu-qt
1784 ("qtx11extras" ,qtx11extras)))
1787 (modify-phases %standard-phases
1788 (add-before 'check 'check-setup
1790 (setenv "HOME" (getcwd))
1794 (setenv "DBUS_FATAL_WARNINGS" "0")
1795 (invoke "dbus-launch" "ctest" "."))))))
1796 (home-page "https://community.kde.org/Frameworks")
1797 (synopsis "Desktop notifications")
1798 (description "KNotification is used to notify the user of an event. It
1799 covers feedback and persistent events.")
1800 (license license:lgpl2.1+)))
1802 (define-public kpackage
1809 "mirror://kde/stable/frameworks/"
1810 (version-major+minor version) "/"
1811 name "-" version ".tar.xz"))
1814 "175b0lj4qybddjpc25b1p60lr8f9220i9ymk3wk3y3vf4893v833"))
1815 ;; Default to: external paths/symlinks can be followed by a
1817 (patches (search-patches "kpackage-allow-external-paths.patch"))))
1818 (build-system cmake-build-system)
1820 `(("extra-cmake-modules" ,extra-cmake-modules)))
1822 `(("karchive" ,karchive)
1823 ("kconfig" ,kconfig)
1824 ("kcoreaddons" ,kcoreaddons)
1825 ("kdoctools" ,kdoctools)
1827 ("qtbase" ,qtbase)))
1830 (modify-phases %standard-phases
1831 (add-after 'unpack 'patch
1833 ;; Make QDirIterator follow symlinks
1834 (substitute* '("src/kpackage/packageloader.cpp"
1835 "src/kpackage/private/packagejobthread.cpp")
1836 (("^\\s*(const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories)(;)" _ a b)
1837 (string-append a " | QDirIterator::FollowSymlinks" b))
1838 (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
1839 (string-append a " | QDirIterator::FollowSymlinks" b)))
1841 (add-after 'unpack 'patch-tests
1843 ;; /bin/ls doesn't exist in the build-container use /etc/passwd
1844 (substitute* "autotests/packagestructuretest.cpp"
1845 (("(addDirectoryDefinition\\(\")bin(\".*\")bin(\".*\")bin\""
1847 (string-append a "etc" b "etc" c "etc\""))
1848 (("filePath\\(\"bin\", QStringLiteral\\(\"ls\"))")
1849 "filePath(\"etc\", QStringLiteral(\"passwd\"))")
1850 (("\"/bin/ls\"") "\"/etc/passwd\""))
1852 (add-before 'check 'check-setup
1854 (setenv "HOME" (getcwd))
1856 (home-page "https://community.kde.org/Frameworks")
1857 (synopsis "Installation and loading of additional content as packages")
1858 (description "The Package framework lets the user install and load packages
1859 of non binary content such as scripted extensions or graphic assets, as if they
1860 were traditional plugins.")
1861 (license (list license:gpl2+ license:lgpl2.1+))))
1870 "mirror://kde/stable/frameworks/"
1871 (version-major+minor version) "/"
1872 name "-" version ".tar.xz"))
1875 "0r5080xl7x13qmjnjssb0d1pk626anaa4xahb7fi869fndr4xhzn"))))
1876 (build-system cmake-build-system)
1878 `(("extra-cmake-modules" ,extra-cmake-modules)))
1880 `(("kcoreaddons" ,kcoreaddons)
1882 ;; TODO: utempter, for managing UTMP entries
1883 ("qtbase" ,qtbase)))
1885 `(#:tests? #f ; FIXME: 1/1 tests fail.
1887 (modify-phases %standard-phases
1888 (add-after 'unpack 'patch-tests
1890 (substitute* "autotests/kptyprocesstest.cpp"
1891 (("/bin/bash") (which "bash")))
1893 (home-page "https://community.kde.org/Frameworks")
1894 (synopsis "Interfacing with pseudo terminal devices")
1895 (description "This library provides primitives to interface with pseudo
1896 terminal devices as well as a KProcess derived class for running child processes
1897 and communicating with them using a pty.")
1898 (license (list license:gpl2+ license:lgpl2.1+))))
1900 (define-public kunitconversion
1902 (name "kunitconversion")
1907 "mirror://kde/stable/frameworks/"
1908 (version-major+minor version) "/"
1909 name "-" version ".tar.xz"))
1912 "1v5cfxk5v76w1f1qvrpilrs111wvp8bn2p3bswhqp4lg0qxync0q"))))
1913 (build-system cmake-build-system)
1916 (modify-phases %standard-phases
1917 (add-after 'unpack 'disable-a-failing-test-case
1919 ;; FIXME: Re-enable this test-case. It was committed with the
1920 ;; message: "tsan says it's clean, apart from issues in Qt
1921 ;; (reported upstream)"
1922 (substitute* "autotests/convertertest.cpp"
1923 (("const int numThreads = 2") "const int numThreads = 0")))))))
1925 `(("extra-cmake-modules" ,extra-cmake-modules)))
1928 ("qtbase" ,qtbase)))
1929 (home-page "https://community.kde.org/Frameworks")
1930 (synopsis "Converting physical units")
1931 (description "KUnitConversion provides functions to convert values in
1932 different physical units. It supports converting different prefixes (e.g. kilo,
1933 mega, giga) as well as converting between different unit systems (e.g. liters,
1935 (license license:lgpl2.1+)))
1940 ;; Tier 3 frameworks are generally more powerful, comprehensive packages, and
1941 ;; consequently have more complex dependencies.
1943 (define-public baloo
1950 "mirror://kde/stable/frameworks/"
1951 (version-major+minor version) "/"
1952 name "-" version ".tar.xz"))
1955 "068ms071639pskhjz37cszylvfzzqhp7x1rmwdfn5nlvzrv6lrxh"))))
1956 (build-system cmake-build-system)
1958 `(("kcoreaddons" ,kcoreaddons)
1959 ("kfilemetadata" ,kfilemetadata)))
1962 ("extra-cmake-modules" ,extra-cmake-modules)))
1964 `(("kbookmarks" ,kbookmarks)
1965 ("kcompletion" ,kcompletion)
1966 ("kconfig" ,kconfig)
1968 ("kdbusaddons" ,kdbusaddons)
1969 ("kidletime" ,kidletime)
1971 ("kitemviews" ,kitemviews)
1973 ("kjobwidgets" ,kjobwidgets)
1974 ("kservice" ,kservice)
1975 ("kwidgetsaddons" ,kwidgetsaddons)
1976 ("kxmlgui" ,kxmlgui)
1979 ("qtdeclarative" ,qtdeclarative)
1983 (modify-phases %standard-phases
1984 (add-before 'check 'check-setup
1986 (setenv "HOME" (getcwd))
1987 ;; make Qt render "offscreen", required for tests
1988 (setenv "QT_QPA_PLATFORM" "offscreen")
1990 (add-after 'unpack 'remove-failing-test
1991 ;; This test fails on i686 and aarch64
1993 (substitute* "autotests/unit/file/CMakeLists.txt"
1994 (("^\\s*ecm_add_test\\(.* TEST_NAME metadatamovertest .*" line)
1995 (string-append "# " line)))
1999 (setenv "DBUS_FATAL_WARNINGS" "0")
2000 (invoke "dbus-launch" "ctest" "."))))))
2001 (home-page "https://community.kde.org/Frameworks")
2002 (synopsis "File searching and indexing")
2003 (description "Baloo provides file searching and indexing. It does so by
2004 maintaining an index of the contents of your files.")
2006 (license (list license:gpl2+ license:lgpl2.1+))))
2008 (define-public kactivities-stats
2010 (name "kactivities-stats")
2015 "mirror://kde/stable/frameworks/"
2016 (version-major+minor version) "/"
2017 name "-" version ".tar.xz"))
2020 "12n178244ysfak0x9qm9a2k814qi56w8xpkg03na7hlsz2l4y9v6"))))
2021 (build-system cmake-build-system)
2023 `(("extra-cmake-modules" ,extra-cmake-modules)))
2026 ("kactivities" ,kactivities)
2027 ("kconfig" ,kconfig)
2029 ("qtdeclarative" ,qtdeclarative)))
2030 (home-page "https://community.kde.org/Frameworks")
2031 (synopsis "Access usage statistics collected by the activity manager")
2032 (description "The KActivitiesStats library provides a querying mechanism for
2033 the data that the activitiy manager collects - which documents have been opened
2034 by which applications, and what documents have been linked to which activity.")
2036 (license (list license:lgpl2.0+ license:lgpl2.1+ license:lgpl3+))))
2038 (define-public kbookmarks
2045 "mirror://kde/stable/frameworks/"
2046 (version-major+minor version) "/"
2047 name "-" version ".tar.xz"))
2050 "0vsn98znzdbiy8clbl9p3kiag3zvxgc9701gwg2ig8mpv3ci9lkg"))))
2051 (build-system cmake-build-system)
2053 `(("kwidgetsaddons" ,kwidgetsaddons)))
2055 `(("extra-cmake-modules" ,extra-cmake-modules)
2056 ("qttools" ,qttools)))
2059 ("kcodecs" ,kcodecs)
2060 ("kconfig" ,kconfig)
2061 ("kconfigwidgets" ,kconfigwidgets)
2062 ("kcoreaddons" ,kcoreaddons)
2063 ("kiconthemes" ,kiconthemes)
2064 ("kxmlgui" ,kxmlgui)
2065 ("qtbase" ,qtbase)))
2068 (modify-phases %standard-phases
2069 (add-before 'check 'check-setup
2071 (setenv "HOME" (getcwd))
2072 ;; make Qt render "offscreen", required for tests
2073 (setenv "QT_QPA_PLATFORM" "offscreen")
2075 (home-page "https://community.kde.org/Frameworks")
2076 (synopsis "Bookmarks management library")
2077 (description "KBookmarks lets you access and manipulate bookmarks stored
2078 using the XBEL format.")
2079 (license license:lgpl2.1+)))
2081 (define-public kcmutils
2088 "mirror://kde/stable/frameworks/"
2089 (version-major+minor version) "/"
2090 name "-" version ".tar.xz"))
2093 "1f49864xpxrbj77n7l474wkn3rw4zy8vkl3psdya7ccdk7ac2s0k"))))
2094 (build-system cmake-build-system)
2096 `(("kconfigwidgets" ,kconfigwidgets)
2097 ("kservice" ,kservice)))
2099 `(("extra-cmake-modules" ,extra-cmake-modules)))
2102 (modify-phases %standard-phases
2103 (add-after 'unpack 'patch
2105 (substitute* "src/kpluginselector.cpp"
2106 ;; make QDirIterator follow symlinks
2107 (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
2108 (string-append a " | QDirIterator::FollowSymlinks" b)))
2109 (substitute* "src/kcmoduleloader.cpp"
2110 ;; print plugin name when loading fails
2111 (("^\\s*(qWarning\\(\\) << \"Error loading) (plugin:\")( << loader\\.errorString\\(\\);)" _ a b c)
2112 (string-append a " KCM plugin\" << mod.service()->library() << \":\"" c)))
2116 ("kcodecs" ,kcodecs)
2117 ("kconfig" ,kconfig)
2118 ("kcoreaddons" ,kcoreaddons)
2119 ("kdeclarative" ,kdeclarative)
2120 ("kiconthemes" ,kiconthemes)
2121 ("kitemviews" ,kitemviews)
2123 ("kpackage" ,kpackage)
2124 ("kwidgetsaddons" ,kwidgetsaddons)
2125 ("kxmlgui" ,kxmlgui)
2127 ("qtdeclarative" ,qtdeclarative)))
2128 (home-page "https://community.kde.org/Frameworks")
2129 (synopsis "Utilities for KDE System Settings modules")
2130 (description "KCMUtils provides various classes to work with KCModules.
2131 KCModules can be created with the KConfigWidgets framework.")
2132 (license license:lgpl2.1+)))
2134 (define-public kconfigwidgets
2136 (name "kconfigwidgets")
2141 "mirror://kde/stable/frameworks/"
2142 (version-major+minor version) "/"
2143 name "-" version ".tar.xz"))
2146 "0npfp6z5lc2h8y6slmz3sbymyyv9k2w73rpsjzl5zswqhzlvrb5k"))))
2147 (build-system cmake-build-system)
2150 ("kcodecs" ,kcodecs)
2151 ("kconfig" ,kconfig)
2152 ("kwidgetsaddons" ,kwidgetsaddons)))
2154 `(("extra-cmake-modules" ,extra-cmake-modules)
2155 ("kdoctools" ,kdoctools)))
2157 `(("kcoreaddons" ,kcoreaddons)
2158 ("kguiaddons" ,kguiaddons)
2160 ("qtbase" ,qtbase)))
2163 (modify-phases %standard-phases
2164 (add-after 'unpack 'patch
2166 (substitute* "src/khelpclient.cpp"
2167 ;; make QDirIterator follow symlinks
2168 (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
2169 (string-append a " | QDirIterator::FollowSymlinks" b)))
2171 (add-before 'check 'check-setup
2173 ;; make Qt render "offscreen", required for tests
2174 (setenv "QT_QPA_PLATFORM" "offscreen")
2176 (home-page "https://community.kde.org/Frameworks")
2177 (synopsis "Widgets for configuration dialogs")
2178 (description "KConfigWidgets provides easy-to-use classes to create
2179 configuration dialogs, as well as a set of widgets which uses KConfig to store
2182 (license (list license:gpl2+ license:lgpl2.1+))))
2184 (define-public kdeclarative
2186 (name "kdeclarative")
2191 "mirror://kde/stable/frameworks/"
2192 (version-major+minor version) "/"
2193 name "-" version ".tar.xz"))
2196 "043jl7rn9yawh04fwgaxb8iwksn3z8qb4yfc4s6v1znwcs7ajlda"))))
2197 (build-system cmake-build-system)
2199 `(("kconfig" ,kconfig)
2200 ("kpackage" ,kpackage)))
2202 `(("extra-cmake-modules" ,extra-cmake-modules)
2203 ("pkg-config" ,pkg-config)
2204 ("xorg-server" ,xorg-server)))
2207 ("kbookmarks" ,kbookmarks)
2208 ("kcodecs" ,kcodecs)
2209 ("kcompletion" ,kcompletion)
2210 ("kconfigwidgets" ,kconfigwidgets)
2211 ("kcoreaddons" ,kcoreaddons)
2212 ("kglobalaccel" ,kglobalaccel)
2213 ("kguiaddons" ,kguiaddons)
2214 ("kiconthemes" ,kiconthemes)
2216 ("kitemviews" ,kitemviews)
2218 ("kjobwidgets" ,kjobwidgets)
2219 ("kservice" ,kservice)
2220 ("kwidgetsaddons" ,kwidgetsaddons)
2221 ("kwindowsystem" ,kwindowsystem)
2222 ("kxmlgui" ,kxmlgui)
2223 ("libepoxy" ,libepoxy)
2225 ("qtdeclarative" ,qtdeclarative)
2229 (modify-phases %standard-phases
2230 (add-before 'check 'start-xorg-server
2231 (lambda* (#:key inputs #:allow-other-keys)
2232 ;; The test suite requires a running X server, setting
2233 ;; QT_QPA_PLATFORM=offscreen does not suffice.
2234 (system (string-append (assoc-ref inputs "xorg-server")
2235 "/bin/Xvfb :1 -screen 0 640x480x24 &"))
2236 (setenv "DISPLAY" ":1")
2238 (home-page "https://community.kde.org/Frameworks")
2239 (synopsis "Integration of QML and KDE work spaces")
2240 (description "KDeclarative provides integration of QML and KDE work spaces.
2241 It's comprises two parts: a library used by the C++ part of your application to
2242 intergrate QML with KDE Frameworks specific features, and a series of QML imports
2243 that offer bindings to some of the Frameworks.")
2245 (license (list license:gpl2+ license:lgpl2.1+))))
2254 "mirror://kde/stable/frameworks/"
2255 (version-major+minor version) "/"
2256 name "-" version ".tar.xz"))
2259 "0kn9kzzji257mppd12jzwiibha8127ajxvng2ls765lylv9nad7q"))))
2260 (build-system cmake-build-system)
2262 `(("extra-cmake-modules" ,extra-cmake-modules)))
2264 `(("kconfig" ,kconfig)
2265 ("kcoreaddons" ,kcoreaddons)
2267 ("kdbusaddons" ,kdbusaddons)
2268 ("kdoctools" ,kdoctools)
2270 ("kservice" ,kservice)
2271 ("qtbase" ,qtbase)))
2272 (home-page "https://community.kde.org/Frameworks")
2273 (synopsis "Central daemon of KDE work spaces")
2274 (description "KDED stands for KDE Daemon. KDED runs in the background and
2275 performs a number of small tasks. Some of these tasks are built in, others are
2276 started on demand.")
2278 (license (list license:lgpl2.0+ license:lgpl2.1+))))
2280 (define-public kdesignerplugin
2282 (name "kdesignerplugin")
2287 "mirror://kde/stable/frameworks/"
2288 (version-major+minor version) "/"
2289 name "-" version ".tar.xz"))
2292 "114035wil0p5z6h0li8wjzivsdxhqbih54kn4nvhn43b71xnzs3y"))))
2293 (build-system cmake-build-system)
2295 `(("extra-cmake-modules" ,extra-cmake-modules)
2296 ("qttools" ,qttools)))
2298 `(("kconfig" ,kconfig)
2299 ("kcoreaddons" ,kcoreaddons)
2300 ("kdoctools" ,kdoctools)
2303 ("kcompletion" ,kcompletion)
2304 ("kconfigwidgets" ,kconfigwidgets)
2305 ("kiconthemes" ,kiconthemes)
2306 ("kitemviews" ,kitemviews)
2308 ("kplotting" ,kplotting)
2309 ("ktextwidgets" ,ktextwidgets)
2310 ("kdewebkit" ,kdewebkit)
2311 ("kwidgetsaddons" ,kwidgetsaddons)
2312 ("kxmlgui" ,kxmlgui)
2313 ("qtwebkit" ,qtwebkit)
2314 ("sonnet" ,sonnet)))
2317 (modify-phases %standard-phases
2318 (add-before 'check 'check-setup
2320 ;; make Qt render "offscreen", required for tests
2321 (setenv "QT_QPA_PLATFORM" "offscreen")
2323 (home-page "https://community.kde.org/Frameworks")
2324 (synopsis "Integrating KDE frameworks widgets with Qt Designer")
2325 (description "This framework provides plugins for Qt Designer that allow it
2326 to display the widgets provided by various KDE frameworks, as well as a utility
2327 (kgendesignerplugin) that can be used to generate other such plugins from
2328 ini-style description files.")
2329 (license license:lgpl2.1+)))
2331 (define-public kdesu
2338 "mirror://kde/stable/frameworks/"
2339 (version-major+minor version) "/"
2340 name "-" version ".tar.xz"))
2343 "1x2gjnmgpcaxvfav2pm92zfgxbn60awpvmn9ycs68rq47p6h9x0f"))))
2344 (build-system cmake-build-system)
2348 `(("extra-cmake-modules" ,extra-cmake-modules)))
2350 `(("kconfig" ,kconfig)
2351 ("kcoreaddons" ,kcoreaddons)
2353 ("kservice" ,kservice)
2354 ("qtbase" ,qtbase)))
2355 (home-page "https://community.kde.org/Frameworks")
2356 (synopsis "User interface for running shell commands with root privileges")
2357 (description "KDESU provides functionality for building GUI front ends for
2358 (password asking) console mode programs. kdesu and kdessh use it to interface
2359 with su and ssh respectively.")
2360 (license license:lgpl2.1+)))
2362 (define-public kdewebkit
2369 "mirror://kde/stable/frameworks/"
2370 (version-major+minor version) "/"
2371 name "-" version ".tar.xz"))
2374 "1mnbdsiih94hlwwff9fs9gnzl3y7ayf1pskmz1rajgjmqd6rm7mm"))))
2375 (build-system cmake-build-system)
2377 `(("extra-cmake-modules" ,extra-cmake-modules)))
2379 `(("kconfig" ,kconfig)
2380 ("kcoreaddons" ,kcoreaddons)
2382 ("kjobwidgets" ,kjobwidgets)
2384 ("kservice" ,kservice)
2385 ("kwallet" ,kwallet)
2387 ("qtwebkit" ,qtwebkit)))
2388 (home-page "https://community.kde.org/Frameworks")
2389 (synopsis "KDE Integration for QtWebKit")
2390 (description "This library provides KDE integration of the HTML rendering
2391 engine WebKit via QtWebKit.")
2392 (license license:lgpl2.1+)))
2394 (define-public kemoticons
2401 "mirror://kde/stable/frameworks/"
2402 (version-major+minor version) "/"
2403 name "-" version ".tar.xz"))
2406 "03vx22f9mjd10qm61f6ihr283w2sarrhg0rssxp7g7wahvshcvmh"))))
2407 (build-system cmake-build-system)
2409 `(("kservice" ,kservice)))
2411 `(("extra-cmake-modules" ,extra-cmake-modules)))
2413 `(("karchive" ,karchive)
2414 ("kconfig" ,kconfig)
2415 ("kcoreaddons" ,kcoreaddons)
2416 ("qtbase" ,qtbase)))
2419 (modify-phases %standard-phases
2420 (add-before 'check 'check-setup
2422 (setenv "HOME" (getcwd))
2423 ;; make Qt render "offscreen", required for tests
2424 (setenv "QT_QPA_PLATFORM" "offscreen")
2426 (home-page "https://community.kde.org/Frameworks")
2427 (synopsis "Convert text emoticons to graphical emoticons")
2428 (description "KEmoticons converts emoticons from text to a graphical
2429 representation with images in HTML. It supports setting different themes for
2430 emoticons coming from different providers.")
2431 ;; dual licensed, image files are licensed under cc-by-sa4.0
2432 (license (list license:gpl2+ license:lgpl2.1+ license:cc-by-sa4.0))))
2434 (define-public kglobalaccel
2436 (name "kglobalaccel")
2441 "mirror://kde/stable/frameworks/"
2442 (version-major+minor version) "/"
2443 name "-" version ".tar.xz"))
2446 "1c6dxp6jvbw8l74n1mv0v62yr34b9447szhvd61y4sxmmfjimhz4"))))
2447 (build-system cmake-build-system)
2449 `(("extra-cmake-modules" ,extra-cmake-modules)
2450 ("pkg-config" ,pkg-config)
2451 ("qttools" ,qttools)))
2453 `(("kconfig" ,kconfig)
2455 ("kcoreaddons" ,kcoreaddons)
2456 ("kdbusaddons" ,kdbusaddons)
2457 ("kservice" ,kservice)
2458 ("kwindowsystem" ,kwindowsystem)
2461 ("qtx11extras" ,qtx11extras)
2462 ("xcb-util-keysyms" ,xcb-util-keysyms)))
2465 (modify-phases %standard-phases
2466 (add-before 'check 'check-setup
2468 ;; make Qt render "offscreen", required for tests
2469 (setenv "QT_QPA_PLATFORM" "offscreen")
2471 (home-page "https://community.kde.org/Frameworks")
2472 (synopsis "Global desktop keyboard shortcuts")
2473 (description "KGlobalAccel allows you to have global accelerators that are
2474 independent of the focused window. Unlike regular shortcuts, the application's
2475 window does not need focus for them to be activated.")
2476 (license license:lgpl2.1+)))
2478 (define-public kiconthemes
2480 (name "kiconthemes")
2485 "mirror://kde/stable/frameworks/"
2486 (version-major+minor version) "/"
2487 name "-" version ".tar.xz"))
2490 "1rgbfklb7xxg7z2zyrsmaxf883ixgfbkqilps3npwk3xac2f66rw"))))
2491 (build-system cmake-build-system)
2493 `(("extra-cmake-modules" ,extra-cmake-modules)
2494 ("shared-mime-info" ,shared-mime-info)))
2496 `(("karchive" ,karchive)
2498 ("kcodecs" ,kcodecs)
2499 ("kcoreaddons" ,kcoreaddons)
2500 ("kconfig" ,kconfig)
2501 ("kconfigwidgets" ,kconfigwidgets)
2503 ("kitemviews" ,kitemviews)
2504 ("kwidgetsaddons" ,kwidgetsaddons)
2509 (modify-phases %standard-phases
2510 (add-before 'check 'check-setup
2511 (lambda* (#:key inputs #:allow-other-keys)
2512 (setenv "XDG_DATA_DIRS"
2513 (string-append (assoc-ref inputs "shared-mime-info")
2515 (setenv "HOME" (getcwd))
2516 ;; make Qt render "offscreen", required for tests
2517 (setenv "QT_QPA_PLATFORM" "offscreen")
2519 (home-page "https://community.kde.org/Frameworks")
2520 (synopsis "Icon GUI utilities")
2521 (description "This library contains classes to improve the handling of icons
2522 in applications using the KDE Frameworks.")
2523 (license license:lgpl2.1+)))
2525 (define-public kinit
2532 "mirror://kde/stable/frameworks/"
2533 (version-major+minor version) "/"
2534 name "-" version ".tar.xz"))
2537 "11xwiny5sfqbdls249vnq6ssp5pzw1w9wg4ql9nkwwygl4ml8b9y"))
2538 ;; Use the store paths for other packages and dynamically loaded
2540 (patches (search-patches "kinit-kdeinit-extra_libs.patch"
2541 "kinit-kdeinit-libpath.patch"))))
2542 (build-system cmake-build-system)
2545 (modify-phases %standard-phases
2546 (add-after 'unpack 'patch-paths
2547 (lambda* (#:key inputs outputs #:allow-other-keys)
2548 ;; Set patched-in values:
2549 (substitute* "src/kdeinit/kinit.cpp"
2550 (("GUIX_PKGS_KF5_KIO") (assoc-ref inputs "kio"))
2551 (("GUIX_PKGS_KF5_PARTS") (assoc-ref inputs "kparts"))
2552 (("GUIX_PKGS_KF5_PLASMA") (assoc-ref inputs "plasma-framework")))
2554 (native-search-paths
2555 (list (search-path-specification
2556 (variable "KDEINIT5_LIBRARY_PATH")
2557 (files '("lib/")))))
2559 `(("extra-cmake-modules" ,extra-cmake-modules)
2560 ("pkg-config" ,pkg-config)))
2563 ("kbookmarks" ,kbookmarks)
2564 ("kcodecs" ,kcodecs)
2565 ("kcompletion" ,kcompletion)
2566 ("kconfig" ,kconfig)
2567 ("kconfigwidgets" ,kconfigwidgets)
2568 ("kcoreaddons" ,kcoreaddons)
2570 ("kdoctools" ,kdoctools)
2572 ("kitemviews" ,kitemviews)
2574 ("kjobwidgets" ,kjobwidgets)
2576 ("kservice" ,kservice)
2577 ("kwidgetsaddons" ,kwidgetsaddons)
2578 ("kwindowsystem" ,kwindowsystem)
2579 ("kxmlgui" ,kxmlgui)
2580 ("libcap" ,libcap) ; to install start_kdeinit with CAP_SYS_RESOURCE
2581 ("plasma-framework" ,plasma-framework)
2584 (home-page "https://community.kde.org/Frameworks")
2585 (synopsis "Library to speed up start of applications on KDE workspaces")
2586 (description "Kdeinit is a process launcher similar to init used for booting
2587 UNIX. It launches processes by forking and then loading a dynamic library which
2588 contains a @code{kdemain(@dots{})} function. Using kdeinit to launch KDE
2589 applications makes starting KDE applications faster and reduces memory
2592 (license (list license:lgpl2.0+ license:lgpl2.1+))))
2601 "mirror://kde/stable/frameworks/"
2602 (version-major+minor version) "/"
2603 name "-" version ".tar.xz"))
2606 "1k3cn7hvp5z9nirss29v164hahrlvlqivxlk64c8w9ynjx699ira"))
2607 (patches (search-patches "kio-search-smbd-on-PATH.patch"))))
2608 (build-system cmake-build-system)
2610 `(("kbookmarks" ,kbookmarks)
2611 ("kconfig" ,kconfig)
2612 ("kcompletion" ,kcompletion)
2613 ("kcoreaddons" ,kcoreaddons)
2614 ("kitemviews" ,kitemviews)
2615 ("kjobwidgets" ,kjobwidgets)
2616 ("kservice" ,kservice)
2617 ("kxmlgui" ,kxmlgui)
2621 ("extra-cmake-modules" ,extra-cmake-modules)))
2623 `(;; TODO: LibACL , <ftp://oss.sgi.com/projects/xfs/cmd_tars>
2625 ("karchive" ,karchive)
2627 ("kcodecs" ,kcodecs)
2628 ("kconfigwidgets" ,kconfigwidgets)
2630 ("kdbusaddons" ,kdbusaddons)
2631 ("kdoctools" ,kdoctools)
2632 ("kiconthemes" ,kiconthemes)
2634 ("knotifications" ,knotifications)
2635 ("ktextwidgets" ,ktextwidgets)
2636 ("kwallet" ,kwallet)
2637 ("kwidgetsaddons" ,kwidgetsaddons)
2638 ("kwindowsystem" ,kwindowsystem)
2639 ("libxml2" ,libxml2)
2640 ("libxslt" ,libxslt)
2642 ("qtscript" ,qtscript)
2643 ("qtx11extras" ,qtx11extras)
2644 ("sonnet" ,sonnet)))
2646 `(#:tests? #f ; FIXME: 41/50 tests fail.
2648 (modify-phases %standard-phases
2649 (add-after 'unpack 'patch
2651 ;; Better error message (taken from NixOS)
2652 (substitute* "src/kiod/kiod_main.cpp"
2653 (("(^\\s*qCWarning(KIOD_CATEGORY) << \"Error loading plugin:\")( << loader.errorString();)" _ a b)
2654 (string-append a "<< name" b)))
2656 (add-before 'check 'check-setup
2658 (setenv "HOME" (getcwd))
2659 (setenv "XDG_RUNTIME_DIR" (getcwd))
2660 ;; make Qt render "offscreen", required for tests
2661 (setenv "QT_QPA_PLATFORM" "offscreen")
2663 (add-after 'install 'add-symlinks
2664 ;; Some package(s) (e.g. bluedevil) refer to these service types by
2665 ;; the wrong name. I would prefer to patch those packages, but I
2666 ;; cannot find the files!
2667 (lambda* (#:key outputs #:allow-other-keys)
2668 (let ((kst5 (string-append (assoc-ref outputs "out")
2669 "/share/kservicetypes5/")))
2670 (symlink (string-append kst5 "kfileitemactionplugin.desktop")
2671 (string-append kst5 "kfileitemaction-plugin.desktop"))))))))
2674 ;; (setenv "DBUS_FATAL_WARNINGS" "0")
2675 ;; (zero? (system* "dbus-launch" "ctest" ".")))))))
2676 (home-page "https://community.kde.org/Frameworks")
2677 (synopsis "Network transparent access to files and data")
2678 (description "This framework implements a lot of file management functions.
2679 It supports accessing files locally as well as via HTTP and FTP out of the box
2680 and can be extended by plugins to support other protocols as well. There is a
2681 variety of plugins available, e.g. to support access via SSH. The framework can
2682 also be used to bridge a native protocol to a file-based interface. This makes
2683 the data accessible in all applications using the KDE file dialog or any other
2684 KIO enabled infrastructure.")
2685 (license license:lgpl2.1+)))
2687 (define-public knewstuff
2694 "mirror://kde/stable/frameworks/"
2695 (version-major+minor version) "/"
2696 name "-" version ".tar.xz"))
2699 "0a2d9wrhjsjl0klsrn501sp9681v7qmq6hmalw061arjv165dzw2"))))
2700 (build-system cmake-build-system)
2702 `(("attica" ,attica)
2703 ("kservice" ,kservice)
2704 ("kxmlgui" ,kxmlgui)))
2706 `(("extra-cmake-modules" ,extra-cmake-modules)))
2708 `(("karchive" ,karchive)
2710 ("kbookmarks" ,kbookmarks)
2711 ("kcodecs" ,kcodecs)
2712 ("kcompletion" ,kcompletion)
2713 ("kconfig" ,kconfig)
2714 ("kconfigwidgets" ,kconfigwidgets)
2715 ("kcoreaddons" ,kcoreaddons)
2717 ("kitemviews" ,kitemviews)
2719 ("kiconthemes" ,kiconthemes)
2720 ("kjobwidgets" ,kjobwidgets)
2721 ("ktextwidgets" ,ktextwidgets)
2722 ("kwidgetsaddons" ,kwidgetsaddons)
2724 ("qtdeclarative" ,qtdeclarative)
2726 ("sonnet" ,sonnet)))
2729 (modify-phases %standard-phases
2730 (add-before 'check 'check-setup
2731 (lambda _ ; XDG_DATA_DIRS isn't set
2732 (setenv "HOME" (getcwd))
2733 ;; make Qt render "offscreen", required for tests
2734 (setenv "QT_QPA_PLATFORM" "offscreen")
2736 (home-page "https://community.kde.org/Frameworks")
2737 (synopsis "Framework for downloading and sharing additional application data")
2738 (description "The KNewStuff library implements collaborative data sharing
2739 for applications. It uses libattica to support the Open Collaboration Services
2741 (license license:lgpl2.1+)))
2743 (define-public knotifyconfig
2745 (name "knotifyconfig")
2750 "mirror://kde/stable/frameworks/"
2751 (version-major+minor version) "/"
2752 name "-" version ".tar.xz"))
2755 "01hxj6s2sq5k5j6j1y4c5gxyl1886j7ghh0hdc95b7n4gdjwwbci"))))
2756 (build-system cmake-build-system)
2758 `(("extra-cmake-modules" ,extra-cmake-modules)))
2761 ("kbookmarks" ,kbookmarks)
2762 ("kcodecs" ,kcodecs)
2763 ("kcompletion" ,kcompletion)
2764 ("kconfig" ,kconfig)
2765 ("kconfigwidgets" ,kconfigwidgets)
2766 ("kcoreaddons" ,kcoreaddons)
2768 ("kitemviews" ,kitemviews)
2770 ("kjobwidgets" ,kjobwidgets)
2771 ("knotifications" ,knotifications)
2772 ("kservice" ,kservice)
2773 ("kwidgetsaddons" ,kwidgetsaddons)
2774 ("kxmlgui" ,kxmlgui)
2778 (home-page "https://community.kde.org/Frameworks")
2779 (synopsis "Configuration dialog for desktop notifications")
2780 (description "KNotifyConfig provides a configuration dialog for desktop
2781 notifications which can be embedded in your application.")
2783 (license (list license:lgpl2.0+ license:lgpl2.1+))))
2785 (define-public kparts
2792 "mirror://kde/stable/frameworks/"
2793 (version-major+minor version) "/"
2794 name "-" version ".tar.xz"))
2797 "0gqkgnvkdai8hbg1n32jq4a3yzlkarmw8a7hxlfr0ykgysanjh65"))))
2798 (build-system cmake-build-system)
2801 ("ktextwidgets" ,ktextwidgets)
2802 ("kxmlgui" ,kxmlgui)))
2804 `(("extra-cmake-modules" ,extra-cmake-modules)
2805 ("shared-mime-info" ,shared-mime-info)))
2808 ("kbookmarks" ,kbookmarks)
2809 ("kcodecs" ,kcodecs)
2810 ("kcompletion" ,kcompletion)
2811 ("kconfig" ,kconfig)
2812 ("kconfigwidgets" ,kconfigwidgets)
2813 ("kcoreaddons" ,kcoreaddons)
2814 ("kiconthemes" ,kiconthemes)
2815 ("kitemviews" ,kitemviews)
2817 ("kjobwidgets" ,kjobwidgets)
2818 ("kservice" ,kservice)
2819 ("kwidgetsaddons" ,kwidgetsaddons)
2822 ("sonnet" ,sonnet)))
2825 (modify-phases %standard-phases
2826 (add-before 'check 'check-setup
2828 ;; make Qt render "offscreen", required for tests
2829 (setenv "QT_QPA_PLATFORM" "offscreen")
2831 (home-page "https://community.kde.org/Frameworks")
2832 (synopsis "Plugin framework for user interface components")
2833 (description "This library implements the framework for KDE parts, which are
2834 widgets with a user-interface defined in terms of actions.")
2835 (license license:lgpl2.1+)))
2837 (define-public kpeople
2844 "mirror://kde/stable/frameworks/"
2845 (version-major+minor version) "/"
2846 name "-" version ".tar.xz"))
2849 "0vbgi4l14g4f0klbxqbkjcag6yi0ghhpxn5nik5sssmcx8qyk885"))))
2850 (build-system cmake-build-system)
2852 `(("extra-cmake-modules" ,extra-cmake-modules)))
2854 `(("kconfig" ,kconfig)
2855 ("kcoreaddons" ,kcoreaddons)
2856 ("kitemviews" ,kitemviews)
2858 ("kservice" ,kservice)
2859 ("kwidgetsaddons" ,kwidgetsaddons)
2861 ("qtdeclarative" ,qtdeclarative)))
2863 `(#:tests? #f ; FIXME: 1/3 tests fail.
2865 (modify-phases %standard-phases
2866 (add-before 'check 'check-setup
2868 ;; make Qt render "offscreen", required for tests
2869 (setenv "QT_QPA_PLATFORM" "offscreen")
2871 (home-page "https://community.kde.org/Frameworks")
2872 (synopsis "Provides access to all contacts and aggregates them by person")
2873 (description "KPeople offers unified access to our contacts from different
2874 sources, grouping them by person while still exposing all the data. KPeople
2875 also provides facilities to integrate the data provided in user interfaces by
2876 providing QML and Qt Widgets components. The sources are plugin-based, allowing
2877 to easily extend the contacts collection.")
2878 (license license:lgpl2.1+)))
2880 (define-public krunner
2887 "mirror://kde/stable/frameworks/"
2888 (version-major+minor version) "/"
2889 name "-" version ".tar.xz"))
2892 "0yw2jh9dailhcwkkjl2qggg5k90bwbfsn88a3hzwyj2ng2haypis"))))
2893 (build-system cmake-build-system)
2895 `(("plasma-framework" ,plasma-framework)))
2897 `(("extra-cmake-modules" ,extra-cmake-modules)))
2900 ("kbookmarks" ,kbookmarks)
2901 ("kcodecs" ,kcodecs)
2902 ("kcompletion" ,kcompletion)
2903 ("kconfig" ,kconfig)
2904 ("kconfigwidgets" ,kconfigwidgets)
2905 ("kcoreaddons" ,kcoreaddons)
2907 ("kitemviews" ,kitemviews)
2909 ("kjobwidgets" ,kjobwidgets)
2910 ("kpackage" ,kpackage)
2911 ("kservice" ,kservice)
2912 ("kwidgetsaddons" ,kwidgetsaddons)
2913 ("kwindowsystem" ,kwindowsystem)
2914 ("kxmlgui" ,kxmlgui)
2916 ("qtdeclarative" ,qtdeclarative)
2918 ("threadweaver" ,threadweaver)))
2921 (modify-phases %standard-phases
2922 (add-after 'unpack 'fix-paths-for-test
2923 ;; This test tries to access paths like /home, /usr/bin and /bin/ls
2924 ;; which don't exist in the build-container. Change to existing paths.
2926 (substitute* "autotests/runnercontexttest.cpp"
2927 (("/home\"") "/tmp\"") ;; single path-part
2928 (("//usr/bin\"") (string-append (getcwd) "\"")) ;; multiple path-parts
2930 (string-append (assoc-ref %build-inputs "coreutils") path)))))
2931 (add-before 'check 'check-setup
2933 (setenv "HOME" (getcwd))
2934 ;; make Qt render "offscreen", required for tests
2935 (setenv "QT_QPA_PLATFORM" "offscreen")
2936 ;; Blacklist some failing test-functions. FIXME: Make them pass.
2937 (with-output-to-file "bin/BLACKLIST"
2939 (display "[testMatch]\n*\n")
2940 (display "[testMulti]\n*\n")))
2942 (home-page "https://community.kde.org/Frameworks")
2943 (synopsis "Framework for Plasma runners")
2944 (description "The Plasma workspace provides an application called KRunner
2945 which, among other things, allows one to type into a text area which causes
2946 various actions and information that match the text appear as the text is being
2948 (license license:lgpl2.1+)))
2950 (define-public kservice
2957 "mirror://kde/stable/frameworks/"
2958 (version-major+minor version) "/"
2959 name "-" version ".tar.xz"))
2962 "0k8xksmw2ai7m0js7l98rv5v6ykifmnqiyy2yc1xhgn40lf1r89j"))))
2963 (build-system cmake-build-system)
2965 `(("kconfig" ,kconfig)
2966 ("kcoreaddons" ,kcoreaddons)))
2969 ("extra-cmake-modules" ,extra-cmake-modules)
2972 `(("kcrash" ,kcrash)
2973 ("kdbusaddons" ,kdbusaddons)
2974 ("kdoctools" ,kdoctools)
2976 ("qtbase" ,qtbase)))
2978 `(#:tests? #f ; FIXME: 6/10 tests fail.
2980 (modify-phases %standard-phases
2981 (add-after 'unpack 'patch
2982 ;; Adopted from NixOS' patches "qdiriterator-follow-symlinks" and
2983 ;; "no-canonicalize-path".
2985 (substitute* "src/sycoca/kbuildsycoca.cpp"
2986 ;; make QDirIterator follow symlinks
2987 (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
2988 (string-append a " | QDirIterator::FollowSymlinks" b)))
2989 (substitute* "src/sycoca/vfolder_menu.cpp"
2990 ;; Normalize path, but don't resolve symlinks (taken from
2992 (("^\\s*QString resolved = QDir\\(dir\\)\\.canonicalPath\\(\\);")
2993 "QString resolved = QDir::cleanPath(dir);"))
2995 (add-before 'check 'check-setup
2997 (setenv "HOME" (getcwd))
2998 ;; make Qt render "offscreen", required for tests
2999 (setenv "QT_QPA_PLATFORM" "offscreen")
3001 (home-page "https://community.kde.org/Frameworks")
3002 (synopsis "Plugin framework for desktop services")
3003 (description "KService provides a plugin framework for handling desktop
3004 services. Services can be applications or libraries. They can be bound to MIME
3005 types or handled by application specific code.")
3007 (license (list license:gpl2+ license:gpl3+ license:lgpl2.1+))))
3009 (define-public ktexteditor
3011 (name "ktexteditor")
3016 "mirror://kde/stable/frameworks/"
3017 (version-major+minor version) "/"
3018 "ktexteditor-" version ".tar.xz"))
3021 "0b5zqhm5aw7jj7dj600xa674ik11gwyzamhyz5962xhvsg5pyjwx"))))
3022 (build-system cmake-build-system)
3024 `(("kparts" ,kparts)))
3026 `(("extra-cmake-modules" ,extra-cmake-modules)
3027 ("pkg-config" ,pkg-config)))
3029 `(;; TODO: editor-config
3030 ("karchive" ,karchive)
3032 ("kbookmarks" ,kbookmarks)
3033 ("kcodecs" ,kcodecs)
3034 ("kcompletion" ,kcompletion)
3035 ("kconfig" ,kconfig)
3036 ("kconfigwidgets" ,kconfigwidgets)
3037 ("kcoreaddons" ,kcoreaddons)
3038 ("kguiaddons" ,kguiaddons)
3039 ("kiconthemes" ,kiconthemes)
3041 ("kitemviews" ,kitemviews)
3043 ("kjobwidgets" ,kjobwidgets)
3044 ("kservice" ,kservice)
3045 ("ksyntaxhighlighting" ,ksyntaxhighlighting)
3046 ("ktextwidgets" ,ktextwidgets)
3047 ("kwidgetsaddons" ,kwidgetsaddons)
3048 ("kxmlgui" ,kxmlgui)
3049 ("libgit2" ,libgit2)
3052 ("qtdeclarative" ,qtdeclarative)
3053 ("qtscript" ,qtscript)
3054 ("qtxmlpatterns" ,qtxmlpatterns)
3056 ("sonnet" ,sonnet)))
3058 `(#:tests? #f ; FIXME: 2/54 tests fail: Cannot find fontdirectory qtbase/lib/font
3060 (modify-phases %standard-phases
3061 (add-after 'unpack 'setup
3062 (lambda* (#:key inputs #:allow-other-keys)
3063 (setenv "XDG_DATA_DIRS" ; FIXME build phase doesn't find parts.desktop
3064 (string-append (assoc-ref inputs "kparts") "/share"))
3066 (add-before 'check 'check-setup
3068 (setenv "HOME" (getcwd))
3069 ;; make Qt render "offscreen", required for tests
3070 (setenv "QT_QPA_PLATFORM" "offscreen")
3072 (add-after 'install 'add-symlinks
3073 ;; Some package(s) (e.g. plasma-sdk) refer to these service types
3074 ;; by the wrong name. I would prefer to patch those packages, but
3075 ;; I cannot find the files!
3076 (lambda* (#:key outputs #:allow-other-keys)
3077 (let ((kst5 (string-append (assoc-ref outputs "out")
3078 "/share/kservicetypes5/")))
3079 (symlink (string-append kst5 "ktexteditorplugin.desktop")
3080 (string-append kst5 "ktexteditor-plugin.desktop"))
3082 (home-page "https://community.kde.org/Frameworks")
3083 (synopsis "Full text editor component")
3084 (description "KTextEditor provides a powerful text editor component that you
3085 can embed in your application, either as a KPart or using the KF5::TextEditor
3088 (license (list license:gpl2+ license:lgpl2.0+ license:lgpl2.1+))))
3090 (define-public ktextwidgets
3092 (name "ktextwidgets")
3097 "mirror://kde/stable/frameworks/"
3098 (version-major+minor version) "/"
3099 name "-" version ".tar.xz"))
3102 "1ymqmb5z4flzrns3wdjagxbzbpighbincwbhy29a0mqg4zcm82xk"))))
3103 (build-system cmake-build-system)
3106 ("sonnet" ,sonnet)))
3108 `(("extra-cmake-modules" ,extra-cmake-modules)))
3111 ("kcodecs" ,kcodecs)
3112 ("kcompletion" ,kcompletion)
3113 ("kconfig" ,kconfig)
3114 ("kconfigwidgets" ,kconfigwidgets)
3115 ("kcoreaddons" ,kcoreaddons)
3116 ("kiconthemes" ,kiconthemes)
3117 ("kservice" ,kservice)
3118 ("kwidgetsaddons" ,kwidgetsaddons)
3119 ("kwindowsystem" ,kwindowsystem)
3121 ("qtspeech" ,qtspeech)))
3124 (modify-phases %standard-phases
3125 (add-before 'check 'check-setup
3127 ;; make Qt render "offscreen", required for tests
3128 (setenv "QT_QPA_PLATFORM" "offscreen")
3130 (home-page "https://community.kde.org/Frameworks")
3131 (synopsis "Text editing widgets")
3132 (description "KTextWidgets provides widgets for displaying and editing text.
3133 It supports rich text as well as plain text.")
3135 (license (list license:lgpl2.0+ license:lgpl2.1+))))
3137 (define-public kwallet
3144 "mirror://kde/stable/frameworks/"
3145 (version-major+minor version) "/"
3146 name "-" version ".tar.xz"))
3149 "1dp072h5r6yd81i69759pj8klfsikrg25za44sry2kh6fxvwmngm"))))
3150 (build-system cmake-build-system)
3152 `(("extra-cmake-modules" ,extra-cmake-modules)))
3156 ("kcodecs" ,kcodecs)
3157 ("kconfig" ,kconfig)
3158 ("kconfigwidgets" ,kconfigwidgets)
3159 ("kcoreaddons" ,kcoreaddons)
3160 ("kdbusaddons" ,kdbusaddons)
3161 ("kdoctools" ,kdoctools)
3162 ("kiconthemes" ,kiconthemes)
3164 ("knotifications" ,knotifications)
3165 ("kservice" ,kservice)
3166 ("kwidgetsaddons" ,kwidgetsaddons)
3167 ("kwindowsystem" ,kwindowsystem)
3168 ("libgcrypt" ,libgcrypt)
3171 ("qtbase" ,qtbase)))
3172 (home-page "https://community.kde.org/Frameworks")
3173 (synopsis "Safe desktop-wide storage for passwords")
3174 (description "This framework contains an interface to KWallet, a safe
3175 desktop-wide storage for passwords and the kwalletd daemon used to safely store
3176 the passwords on KDE work spaces.")
3177 (license license:lgpl2.1+)))
3179 (define-public kxmlgui
3186 "mirror://kde/stable/frameworks/"
3187 (version-major+minor version) "/"
3188 name "-" version ".tar.xz"))
3191 "0ph67zarf1sccvp7882brrihv4dsmxq0nggan0rnk54qg0zdhgcn"))))
3192 (build-system cmake-build-system)
3194 `(("kconfig" ,kconfig)
3195 ("kconfigwidgets" ,kconfigwidgets)))
3197 `(("extra-cmake-modules" ,extra-cmake-modules)))
3199 `(("attica" ,attica)
3201 ("kcodecs" ,kcodecs)
3202 ("kcoreaddons" ,kcoreaddons)
3203 ("kglobalaccel" ,kglobalaccel)
3204 ("kiconthemes" ,kiconthemes)
3205 ("kitemviews" ,kitemviews)
3207 ("ktextwidgets" ,ktextwidgets)
3208 ("kwidgetsaddons" ,kwidgetsaddons)
3209 ("kwindowsystem" ,kwindowsystem)
3211 ("sonnet" ,sonnet)))
3213 `(#:tests? #f ; FIXME: 1/5 tests fail.
3215 (modify-phases %standard-phases
3216 (add-before 'check 'check-setup
3218 (setenv "HOME" (getcwd))
3219 ;; make Qt render "offscreen", required for tests
3220 (setenv "QT_QPA_PLATFORM" "offscreen")
3222 (home-page "https://community.kde.org/Frameworks")
3223 (synopsis "Framework for managing menu and toolbar actions")
3224 (description "KXMLGUI provides a framework for managing menu and toolbar
3225 actions in an abstract way. The actions are configured through a XML description
3226 and hooks in the application code. The framework supports merging of multiple
3227 descriptions for integrating actions from plugins.")
3229 (license (list license:gpl2+ license:lgpl2.1+))))
3231 (define-public kxmlrpcclient
3233 (name "kxmlrpcclient")
3238 "mirror://kde/stable/frameworks/"
3239 (version-major+minor version) "/"
3240 name "-" version ".tar.xz"))
3243 "1573wnv2fbjjzgx3f1qm7y8wlj22bz45mny0rxci90i76nnh4538"))))
3244 (build-system cmake-build-system)
3248 `(("extra-cmake-modules" ,extra-cmake-modules)))
3251 ("kbookmarks" ,kbookmarks)
3252 ("kcodecs" ,kcodecs)
3253 ("kcompletion" ,kcompletion)
3254 ("kconfig" ,kconfig)
3255 ("kconfigwidgets" ,kconfigwidgets)
3256 ("kcoreaddons" ,kcoreaddons)
3257 ("kitemviews" ,kitemviews)
3259 ("kjobwidgets" ,kjobwidgets)
3260 ("kservice" ,kservice)
3261 ("kwidgetsaddons" ,kwidgetsaddons)
3262 ("kxmlgui" ,kxmlgui)
3265 (home-page "https://community.kde.org/Frameworks")
3266 (synopsis "XML-RPC client")
3267 (description "This library contains simple XML-RPC Client support. It is a
3268 complete client and is easy to use. Only one interface is exposed,
3269 kxmlrpcclient/client.h and from that interface, you only need to use 3 methods:
3270 setUrl, setUserAgent and call.")
3272 (license (list license:bsd-2 license:lgpl2.1+))))
3274 (define-public plasma-framework
3276 (name "plasma-framework")
3281 "mirror://kde/stable/frameworks/"
3282 (version-major+minor version) "/"
3283 name "-" version ".tar.xz"))
3286 "1pvxxw52s03i11p5byd2sh8sbvlk6h8q6briq9d4qvjy6c0pmbq4"))))
3287 (build-system cmake-build-system)
3289 `(("kpackage" ,kpackage)
3290 ("kservice" ,kservice)))
3292 `(("extra-cmake-modules" ,extra-cmake-modules)
3293 ("pkg-config" ,pkg-config)))
3295 `(("kactivities" ,kactivities)
3296 ("karchive" ,karchive)
3298 ("kbookmarks" ,kbookmarks)
3299 ("kcodecs" ,kcodecs)
3300 ("kcompletion" ,kcompletion)
3301 ("kconfig" ,kconfig)
3302 ("kconfigwidgets" ,kconfigwidgets)
3303 ("kcoreaddons" ,kcoreaddons)
3304 ("kdbusaddons" ,kdbusaddons)
3305 ("kdeclarative" ,kdeclarative)
3306 ("kdoctools" ,kdoctools)
3307 ("kglobalaccel" ,kglobalaccel)
3308 ("kguiaddons" ,kguiaddons)
3309 ("kiconthemes" ,kiconthemes)
3310 ("kirigami" ,kirigami)
3311 ("kitemviews" ,kitemviews)
3314 ("kjobwidgets" ,kjobwidgets)
3315 ("knotificantions" ,knotifications)
3316 ("kwayland" ,kwayland)
3317 ("kwidgetsaddons" ,kwidgetsaddons)
3318 ("kwindowsystem" ,kwindowsystem)
3319 ("kxmlgui" ,kxmlgui)
3322 ("qtdeclarative" ,qtdeclarative)
3323 ("qtquickcontrols2" ,qtquickcontrols2)
3325 ("qtx11extras" ,qtx11extras)
3328 `(#:tests? #f ; FIXME: 9/15 tests fail.
3330 (modify-phases %standard-phases
3331 (add-before 'check 'check-setup
3333 (setenv "HOME" (getcwd))
3334 ;; make Qt render "offscreen", required for tests
3335 (setenv "QT_QPA_PLATFORM" "offscreen")
3337 (home-page "https://community.kde.org/Frameworks")
3338 (synopsis "Libraries, components and tools of Plasma workspaces")
3339 (description "The plasma framework provides QML components, libplasma and
3342 (license (list license:gpl2+ license:lgpl2.1+))))
3344 ;; This version of kdbusaddons does not use kinit as an input, and is used to
3345 ;; build kinit-bootstrap, as well as bootstrap versions of all kinit
3346 ;; dependencies which also rely on kdbusaddons.
3347 (define kdbusaddons-bootstrap
3349 (inherit kdbusaddons)
3351 (inherit (package-source kdbusaddons))
3353 (inputs (alist-delete "kinit" (package-inputs kdbusaddons)))
3355 (substitute-keyword-arguments (package-arguments kdbusaddons)
3357 `(modify-phases ,phases
3358 (delete 'patch-source)))))))
3360 (define kinit-bootstrap
3361 ((package-input-rewriting `((,kdbusaddons . ,kdbusaddons-bootstrap))) kinit))
3366 ;; Tier 4 frameworks can be mostly ignored by application programmers; this
3367 ;; tier consists of plugins acting behind the scenes to provide additional
3368 ;; functionality or platform integration to existing frameworks (including
3371 (define-public kde-frameworkintegration
3373 (name "kde-frameworkintegration")
3378 "mirror://kde/stable/frameworks/"
3379 (version-major+minor version) "/"
3380 "frameworkintegration-" version ".tar.xz"))
3383 "0pfpk268x06pjwciv4jr5v259kjck0sf4xzsgn29ifkmsk74wwmi"))))
3384 (build-system cmake-build-system)
3386 `(("extra-cmake-modules" ,extra-cmake-modules)
3387 ("pkg-config" ,pkg-config)))
3388 ;; TODO: Optional packages not yet in Guix: packagekitqt5, AppStreamQt
3390 `(("kconfig" ,kconfig)
3391 ("kconfigwidgets" ,kconfigwidgets)
3392 ("kcoreaddons" ,kcoreaddons)
3394 ("kiconthemes" ,kiconthemes)
3395 ("kitemviews" ,kitemviews)
3396 ("knewstuff" ,knewstuff)
3397 ("knotificantions" ,knotifications)
3398 ("kpackage" ,kpackage)
3399 ("kwidgetsaddons" ,kwidgetsaddons)
3401 ("qtx11extras" ,qtx11extras)))
3404 (modify-phases %standard-phases
3405 (add-before 'check 'check-setup
3407 (setenv "HOME" (getcwd))
3408 ;; Make Qt render "offscreen", required for tests
3409 (setenv "QT_QPA_PLATFORM" "offscreen")
3411 (home-page "https://community.kde.org/Frameworks")
3412 (synopsis "KDE Frameworks 5 workspace and cross-framework integration plugins")
3413 (description "Framework Integration is a set of plugins responsible for
3414 better integration of Qt applications when running on a KDE Plasma
3416 ;; This package is distributed under either LGPL2 or LGPL3, but some
3417 ;; files are explicitly LGPL2+.
3418 (license (list license:lgpl2.0 license:lgpl3 license:lgpl2.0+))
3419 (properties `((upstream-name . "frameworkintegration")))))
3424 ;; Porting Aids frameworks provide code and utilities to ease the transition
3425 ;; from kdelibs 4 to KDE Frameworks 5. Code should aim to port away from this
3426 ;; framework, new projects should avoid using these libraries.
3428 (define-public kdelibs4support
3430 (name "kdelibs4support")
3436 "mirror://kde/stable/frameworks/"
3437 (version-major+minor version) "/portingAids/"
3438 name "-" version ".tar.xz"))
3440 (base32 "1l1gjv06yp9jdiapiypwscbb6y0rfgrnw9rdsl7kkxh9ps8b8j39"))))
3441 (build-system cmake-build-system)
3444 ("docbook-xml" ,docbook-xml-4.4) ; optional
3445 ("extra-cmake-modules" ,extra-cmake-modules)
3447 ("perl-uri" ,perl-uri)
3448 ("pkg-config" ,pkg-config)
3449 ("shared-mime-info" ,shared-mime-info)
3450 ("kjobwidgets" ,kjobwidgets) ;; required for running the tests
3452 ("tzdata" ,tzdata)))
3454 ;; These are required to be installed along with this package, see
3455 ;; lib64/cmake/KF5KDELibs4Support/KF5KDELibs4SupportConfig.cmake
3456 `(("karchive" ,karchive)
3458 ("kconfigwidgets" ,kconfigwidgets)
3459 ("kcoreaddons" ,kcoreaddons)
3461 ("kdbusaddons" ,kdbusaddons)
3462 ("kdesignerplugin" ,kdesignerplugin)
3463 ("kdoctools" ,kdoctools)
3464 ("kemoticons" ,kemoticons)
3465 ("kguiaddons" ,kguiaddons)
3466 ("kiconthemes" ,kiconthemes)
3468 ("kitemmodels" ,kitemmodels)
3469 ("knotifications" ,knotifications)
3471 ("ktextwidgets" ,ktextwidgets)
3472 ("kunitconversion" ,kunitconversion)
3473 ("kwindowsystem" ,kwindowsystem)
3474 ("qtbase" ,qtbase)))
3476 `(("kcompletion" ,kcompletion)
3477 ("kconfig" ,kconfig)
3479 ("kglobalaccel" ,kglobalaccel)
3482 ("kservice" ,kservice)
3483 ("kwidgetsaddons" ,kwidgetsaddons)
3484 ("kxmlgui" ,kxmlgui)
3486 ("networkmanager-qt" ,networkmanager-qt)
3487 ("openssl" ,openssl)
3489 ("qttools" ,qttools)
3490 ("qtx11extras" ,qtx11extras)))
3491 ;; FIXME: Use Guix ca-bundle.crt in etc/xdg/ksslcalist and
3492 ;; share/kf5/kssl/ca-bundle.crt
3493 ;; TODO: NixOS has nix-kde-include-dir.patch to change std-dir "include"
3494 ;; into "@dev@/include/". Think about whether this is needed for us, too.
3497 (modify-phases %standard-phases
3498 (add-after 'unpack 'make-cmake-to-find-docbook
3500 (substitute* "cmake/FindDocBookXML4.cmake"
3501 (("^.*xml/docbook/schema/dtd.*$")
3502 "xml/dtd/docbook\n"))
3505 (add-after 'install 'check-post-install
3506 (lambda* (#:key inputs tests? #:allow-other-keys)
3507 (setenv "HOME" (getcwd))
3508 (setenv "TZDIR" ; KDateTimeTestsome needs TZDIR
3509 (string-append (assoc-ref inputs "tzdata")
3511 ;; Make Qt render "offscreen", required for tests
3512 (setenv "QT_QPA_PLATFORM" "offscreen")
3513 ;; enable debug output
3514 (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug output
3515 (setenv "DBUS_FATAL_WARNINGS" "0")
3516 ;; Make kstandarddirstest pass (see https://bugs.kde.org/381098)
3517 (mkdir-p ".kde-unit-test/xdg/config")
3518 (with-output-to-file ".kde-unit-test/xdg/config/foorc"
3519 (lambda () #t)) ;; simply touch the file
3520 ;; Blacklist a test-function (failing at build.kde.org, too).
3521 (with-output-to-file "autotests/BLACKLIST"
3523 (display "[testSmb]\n*\n")))
3524 ;; kuniqueapptest hangs. FIXME: Make this test pass.
3525 (invoke "dbus-launch" "ctest" "."
3526 "-E" "kstandarddirstest|kuniqueapptest"))))))
3527 (home-page "https://community.kde.org/Frameworks")
3528 (synopsis "KDE Frameworks 5 porting aid from KDELibs4")
3529 (description "This framework provides code and utilities to ease the
3530 transition from kdelibs 4 to KDE Frameworks 5. This includes CMake macros and
3531 C++ classes whose functionality has been replaced by code in CMake, Qt and
3534 Code should aim to port away from this framework eventually. The API
3535 documentation of the classes in this framework and the notes at
3536 http://community.kde.org/Frameworks/Porting_Notes should help with this.")
3537 ;; Most files are distributed under LGPL2+, but the package includes code
3538 ;; under a variety of licenses.
3539 (license (list license:lgpl2.1+ license:lgpl2.0 license:lgpl2.0+
3540 license:gpl2 license:gpl2+
3541 license:expat license:bsd-2 license:bsd-3
3542 license:public-domain))))
3544 (define-public khtml
3552 "mirror://kde/stable/frameworks/"
3553 (version-major+minor version) "/portingAids/"
3554 name "-" version ".tar.xz"))
3556 (base32 "0wh9z5xm0gaf1c2s7cq7763jfyv83d58x80nwsvb0ayd6y8id1bq"))))
3557 (build-system cmake-build-system)
3559 `(("extra-cmake-modules" ,extra-cmake-modules)
3562 `(("giflib" ,giflib)
3564 ("karchive" ,karchive)
3565 ("kcodecs" ,kcodecs)
3566 ("kglobalaccel" ,kglobalaccel)
3568 ("kiconthemes" ,kiconthemes)
3571 ("knotifications" ,knotifications)
3573 ("ktextwidgets" ,ktextwidgets)
3574 ("kwallet" ,kwallet)
3575 ("kwidgetsaddons" ,kwidgetsaddons)
3576 ("kwindowsystem" ,kwindowsystem)
3577 ("kxmlgui" ,kxmlgui)
3578 ("libjpeg" ,libjpeg)
3580 ("openssl" ,openssl)
3583 ("qtx11extras" ,qtx11extras)
3584 ("sonnet" ,sonnet)))
3587 (modify-phases %standard-phases
3588 (add-before 'check 'check-setup
3590 ;; Make Qt render "offscreen", required for tests
3591 (setenv "QT_QPA_PLATFORM" "offscreen")
3593 (home-page "https://community.kde.org/Frameworks")
3594 (synopsis "KDE Frameworks 5 HTML widget and component")
3595 (description "KHTML is a web rendering engine, based on the KParts
3596 technology and using KJS for JavaScript support.")
3597 ;; Most files are distributed under LGPL2+, but the package includes code
3598 ;; under a variety of licenses.
3599 (license (list license:lgpl2.0+ license:lgpl2.1+
3600 license:gpl2 license:gpl3+
3601 license:expat license:bsd-2 license:bsd-3))))
3611 "mirror://kde/stable/frameworks/"
3612 (version-major+minor version) "/portingAids/"
3613 name "-" version ".tar.xz"))
3615 (base32 "0c1wyxsgn70jvw7zcjjpw12w9sg9xxvyslgnqlnnyh8sx7rrp70c"))))
3616 (build-system cmake-build-system)
3618 `(("extra-cmake-modules" ,extra-cmake-modules)
3619 ("kdoctools" ,kdoctools)
3621 ("pkg-config" ,pkg-config)))
3624 ("qtbase" ,qtbase)))
3625 (home-page "https://community.kde.org/Frameworks")
3626 (synopsis "KDE Frameworks 5 support for Javascript scripting in Qt
3628 (description "Add-on library to Qt which adds JavaScript scripting
3630 ;; Most files are distributed under LGPL2+, but the package also includes
3631 ;; code under a variety of licenses.
3632 (license (list license:lgpl2.1+
3633 license:bsd-2 license:bsd-3
3634 (license:non-copyleft "file://src/kjs/dtoa.cpp")))))
3636 (define-public kjsembed
3644 "mirror://kde/stable/frameworks/"
3645 (version-major+minor version) "/portingAids/"
3646 name "-" version ".tar.xz"))
3648 (base32 "0dh9012y9bqj48jp50lrsmd28bbvf4jd93l34vfzmza252yvyw3l"))))
3649 (build-system cmake-build-system)
3651 `(("extra-cmake-modules" ,extra-cmake-modules)
3652 ("kdoctools" ,kdoctools)
3653 ("qttools" ,qttools)))
3659 (home-page "https://community.kde.org/Frameworks")
3660 (synopsis "KDE Frameworks 5 embedded Javascript engine for Qt")
3661 (description "KJSEmbed provides a method of binding Javascript objects to
3662 QObjects, so you can script your applications.")
3663 (license license:lgpl2.1+)))
3665 (define-public kmediaplayer
3667 (name "kmediaplayer")
3673 "mirror://kde/stable/frameworks/"
3674 (version-major+minor version) "/portingAids/"
3675 name "-" version ".tar.xz"))
3677 (base32 "0gpfrhgk2l63lyz0bz93cg7mc5g7mjvrkfvpyndmi1v7vhndp5zq"))))
3678 (build-system cmake-build-system)
3680 `(("extra-cmake-modules" ,extra-cmake-modules)
3681 ("kdoctools" ,kdoctools)
3682 ("qttools" ,qttools)))
3684 `(("kcompletion" ,kcompletion)
3685 ("kcoreaddons" ,kcoreaddons)
3687 ("kiconthemes" ,kiconthemes)
3690 ("kwidgetsaddons" ,kwidgetsaddons)
3691 ("kxmlgui" ,kxmlgui)
3692 ("qtbase" ,qtbase)))
3695 (modify-phases %standard-phases
3696 (add-before 'check 'check-setup
3698 ;; Make Qt render "offscreen", required for tests
3699 (setenv "QT_QPA_PLATFORM" "offscreen")
3701 (home-page "https://community.kde.org/Frameworks")
3702 (synopsis "KDE Frameworks 5 plugin interface for media player features")
3703 (description "KMediaPlayer builds on the KParts framework to provide a
3704 common interface for KParts that can play media files.
3706 This framework is a porting aid. It is not recommended for new projects, and
3707 existing projects that use it are advised to port away from it, and use plain
3709 (license license:expat)))
3711 (define-public kross
3719 "mirror://kde/stable/frameworks/"
3720 (version-major+minor version) "/portingAids/"
3721 name "-" version ".tar.xz"))
3723 (base32 "0p3q36gka6m62nryc3l11d30mlhiqjpghvfcyq6wikiqlv2kqvjs"))))
3724 (build-system cmake-build-system)
3726 `(("extra-cmake-modules" ,extra-cmake-modules)
3727 ("kdoctools" ,kdoctools)
3728 ("qttools" ,qttools)))
3730 `(("kcompletion" ,kcompletion)
3731 ("kcoreaddons" ,kcoreaddons)
3733 ("kiconthemes" ,kiconthemes)
3735 ("kwidgetsaddons" ,kwidgetsaddons)
3736 ("kxmlgui" ,kxmlgui)
3738 ("qtscript" ,qtscript)))
3739 (home-page "https://community.kde.org/Frameworks")
3740 (synopsis "KDE Frameworks 5 solution for application scripting")
3741 (description "Kross is a scripting bridge for the KDE Development Platform
3742 used to embed scripting functionality into an application. It supports
3743 QtScript as a scripting interpreter backend.
3745 Kross provides an abstract API to provide scripting functionality in a
3746 interpreter-independent way. The application that uses Kross should not need
3747 to know anything about the scripting language being used. The core of Kross
3748 provides the framework to deal transparently with interpreter-backends and
3749 offers abstract functionality to deal with scripts.")
3750 ;; Most files are distributed under LGPL2+, but the package includes code
3751 ;; under a variety of licenses.
3752 (license (list license:lgpl2.0+ license:lgpl2.1+
3753 license:lgpl2.0 license:gpl3+))))