1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
3 ;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
4 ;;; Copyright © 2016-2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
5 ;;; Copyright © 2016 David Craven <david@craven.ch>
6 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
7 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
8 ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
9 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
10 ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
12 ;;; This file is part of GNU Guix.
14 ;;; GNU Guix is free software; you can redistribute it and/or modify it
15 ;;; under the terms of the GNU General Public License as published by
16 ;;; the Free Software Foundation; either version 3 of the License, or (at
17 ;;; your option) any later version.
19 ;;; GNU Guix is distributed in the hope that it will be useful, but
20 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
21 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 ;;; GNU General Public License for more details.
24 ;;; You should have received a copy of the GNU General Public License
25 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
27 (define-module (gnu packages kde-frameworks)
28 #:use-module (guix build-system cmake)
29 #:use-module (guix build-system qt)
30 #:use-module (guix build-system trivial)
31 #:use-module (guix download)
32 #:use-module ((guix licenses) #:prefix license:)
33 #:use-module (guix packages)
34 #:use-module (guix utils)
35 #:use-module (gnu packages)
36 #:use-module (gnu packages acl)
37 #:use-module (gnu packages admin)
38 #:use-module (gnu packages aidc)
39 #:use-module (gnu packages attr)
40 #:use-module (gnu packages avahi)
41 #:use-module (gnu packages base)
42 #:use-module (gnu packages boost)
43 #:use-module (gnu packages bison)
44 #:use-module (gnu packages boost)
45 #:use-module (gnu packages calendar)
46 #:use-module (gnu packages compression)
47 #:use-module (gnu packages databases)
48 #:use-module (gnu packages docbook)
49 #:use-module (gnu packages flex)
50 #:use-module (gnu packages freedesktop)
51 #:use-module (gnu packages gettext)
52 #:use-module (gnu packages gl)
53 #:use-module (gnu packages glib)
54 #:use-module (gnu packages gnome)
55 #:use-module (gnu packages gnupg)
56 #:use-module (gnu packages gperf)
57 #:use-module (gnu packages graphics)
58 #:use-module (gnu packages gstreamer)
59 #:use-module (gnu packages image)
60 #:use-module (gnu packages kerberos)
61 #:use-module (gnu packages kde-plasma)
62 #:use-module (gnu packages libreoffice)
63 #:use-module (gnu packages linux)
64 #:use-module (gnu packages mp3)
65 #:use-module (gnu packages openbox)
66 #:use-module (gnu packages pdf)
67 #:use-module (gnu packages pcre)
68 #:use-module (gnu packages perl)
69 #:use-module (gnu packages pkg-config)
70 #:use-module (gnu packages polkit)
71 #:use-module (gnu packages pulseaudio)
72 #:use-module (gnu packages python)
73 #:use-module (gnu packages python-xyz)
74 #:use-module (gnu packages qt)
75 #:use-module (gnu packages textutils)
76 #:use-module (gnu packages tls)
77 #:use-module (gnu packages version-control)
78 #:use-module (gnu packages video)
79 #:use-module (gnu packages web)
80 #:use-module (gnu packages xml)
81 #:use-module (gnu packages xorg)
82 #:use-module (srfi srfi-1))
84 (define-public extra-cmake-modules
86 (name "extra-cmake-modules")
91 "mirror://kde/stable/frameworks/"
92 (version-major+minor version) "/"
93 name "-" version ".tar.xz"))
96 "10c5xs5shk0dcshpdxg564ay5y8hgmvfvmlhmhjf0dy79kcah3c3"))))
97 (build-system cmake-build-system)
99 `(("qtbase" ,qtbase))) ; For tests (needs qmake)
102 (modify-phases %standard-phases
103 (add-after 'unpack 'fix-lib-path
105 ;; Always install into /lib and not into /lib64.
106 (substitute* "kde-modules/KDEInstallDirs.cmake"
107 (("\"lib64\"") "\"lib\"")
108 ;; TODO: Base the following on values taken from Qt
109 ;; Install plugins into lib/qt5/plugins
110 ;; TODO: Check if this is okay for Android, too
111 ;; (see comment in KDEInstallDirs.cmake)
112 (("_define_relative\\(QTPLUGINDIR \"\\$\\{_pluginsDirParent}\" \"plugins\"")
113 "_define_relative(QTPLUGINDIR \"${_pluginsDirParent}\" \"qt5/plugins\"")
114 ;; Install imports into lib/qt5/imports
115 (("_define_relative\\(QTQUICKIMPORTSDIR QTPLUGINDIR \"imports\"")
116 "_define_relative(QTQUICKIMPORTSDIR LIBDIR \"qt5/imports\"")
117 ;; Install qml-files into lib/qt5/qml
118 (("_define_relative\\(QMLDIR LIBDIR \"qml\"")
119 "_define_relative(QMLDIR LIBDIR \"qt5/qml\""))
120 (substitute* "modules/ECMGeneratePriFile.cmake"
121 ;; Install pri-files into lib/qt5/mkspecs
122 (("set\\(ECM_MKSPECS_INSTALL_DIR mkspecs/modules")
123 "set(ECM_MKSPECS_INSTALL_DIR lib/qt5/mkspecs/modules"))
125 ;; install and check phase are swapped to prevent install from failing
126 ;; after testsuire has run
127 (add-after 'install 'check-post-install
128 (assoc-ref %standard-phases 'check))
130 ;; optional dependencies - to save space, we do not add these inputs.
132 ;; Required to build Extra CMake Modules documentation in Qt Help format.
133 ;; Qt5LinguistTools , Qt5 linguist tools. , <http://www.qt.io/>
134 ;; Required to run tests for the ECMPoQmTools module.
136 ;; Required to run tests for the ECMQtDeclareLoggingCategory module,
137 ;; and for some tests of the KDEInstallDirs module.
138 (home-page "https://community.kde.org/Frameworks")
139 (synopsis "CMake module files for common software used by KDE")
140 (description "The Extra CMake Modules package, or ECM, adds to the
141 modules provided by CMake to find common software. In addition, it provides
142 common build settings used in software produced by the KDE community.")
143 (license license:bsd-3)))
145 (define-public phonon
152 "mirror://kde/stable/phonon"
154 name "-" version ".tar.xz"))
157 "0bfy8iqmjhlg3ma3iqd3kxjc2zkzpjgashbpf5x17y0dc2i1whxl"))))
158 (build-system cmake-build-system)
160 ;; TODO: Think about adding pulseaudio. Is it required for sound?
161 ;; TODO: Add building the super experimental QML support
162 `(("extra-cmake-modules" ,extra-cmake-modules)
163 ("pkg-config" ,pkg-config)
164 ("qttools" ,qttools)))
166 `(("qtbase" ,qtbase)))
169 '("-DCMAKE_CXX_FLAGS=-fPIC"
170 "-DPHONON_BUILD_PHONON4QT5=ON")
172 (modify-phases %standard-phases
173 (add-before 'install 'patch-installdir
174 (lambda* (#:key inputs outputs #:allow-other-keys)
175 (let ((regex (string-append "(INSTALL DESTINATION \")"
176 (assoc-ref inputs "qtbase"))))
177 (substitute* "cmake_install.cmake"
179 (string-append dest (assoc-ref outputs "out")))))
181 (home-page "https://phonon.kde.org")
182 (synopsis "KDE's multimedia library")
183 (description "KDE's multimedia library.")
184 (license license:lgpl2.1+)))
186 (define-public phonon-backend-gstreamer
188 (name "phonon-backend-gstreamer")
193 "mirror://kde/stable/phonon/"
195 name "-" version ".tar.xz"))
198 "1wk1ip2w7fkh65zk6rilj314dna0hgsv2xhjmpr5w08xa8sii1y5"))))
199 (build-system cmake-build-system)
201 `(("extra-cmake-modules" ,extra-cmake-modules)
202 ("pkg-config" ,pkg-config)
203 ("qttools" ,qttools)))
208 ("qtx11extras" ,qtx11extras)
209 ("gstreamer" ,gstreamer)
210 ("gst-plugins-base" ,gst-plugins-base)
211 ("libxml2" ,libxml2)))
214 '( "-DPHONON_BUILD_PHONON4QT5=ON")))
215 (home-page "https://phonon.kde.org")
216 (synopsis "Phonon backend which uses GStreamer")
217 (description "Phonon makes use of backend libraries to provide sound.
218 Phonon-GStreamer is a backend based on the GStreamer multimedia library.")
219 ;; license: source files mention "either version 2.1 or 3"
220 (license (list license:lgpl2.1 license:lgpl3))))
225 ;; Tier 1 frameworks depend only on Qt (and possibly a small number of other
226 ;; third-party libraries), so can easily be used by an Qt-based project.
228 (define-public attica
235 "mirror://kde/stable/frameworks/"
236 (version-major+minor version) "/"
237 name "-" version ".tar.xz"))
240 "1njw1sifykyqldb5idaywdzi3xg7a6bvzkrvazwmyixd0npq12dx"))))
241 (build-system cmake-build-system)
244 (modify-phases %standard-phases
245 (add-after 'unpack 'disable-network-tests
247 ;; These tests require network access.
248 (substitute* "autotests/CMakeLists.txt"
249 ((".*providertest.cpp") "")))))))
251 `(("extra-cmake-modules" ,extra-cmake-modules)))
253 `(("qtbase" ,qtbase)))
254 (home-page "https://community.kde.org/Frameworks")
255 (synopsis "Open Collaboration Service client library")
256 (description "Attica is a Qt library that implements the Open
257 Collaboration Services API version 1.6.
259 It grants easy access to the services such as querying information about
260 persons and contents. The library is used in KNewStuff3 as content provider.
261 In order to integrate with KDE's Plasma Desktop, a platform plugin exists in
264 The REST API is defined here:
265 http://freedesktop.org/wiki/Specifications/open-collaboration-services/")
266 (license (list license:lgpl2.1+ license:lgpl3+))))
268 (define-public bluez-qt
275 "mirror://kde/stable/frameworks/"
276 (version-major+minor version) "/"
277 name "-" version ".tar.xz"))
280 "1kqhps4qyvqm0qmk7fb3w41bib898amipchf8csdzacw4bzpri9k"))))
281 (build-system cmake-build-system)
284 ("extra-cmake-modules" ,extra-cmake-modules)))
286 ;; TODO: qtdeclarative (yields one failing test)
287 `(("qtbase" ,qtbase)))
291 "-DUDEV_RULES_INSTALL_DIR=" %output "/lib/udev/rules.d"))
292 ;; TODO: Make tests pass: DBUS_FATAL_WARNINGS=0 still yields 7/8 tests
293 ;; failing. When running after install, tests hang.
295 (home-page "https://community.kde.org/Frameworks")
296 (synopsis "QML wrapper for BlueZ")
297 (description "bluez-qt is a Qt-style library for accessing the bluez
298 Bluetooth stack. It is used by the KDE Bluetooth stack, BlueDevil.")
299 (license (list license:lgpl2.1+ license:lgpl3+))))
301 (define-public breeze-icons
303 (name "breeze-icons")
308 "mirror://kde/stable/frameworks/"
309 (version-major+minor version) "/"
310 name "-" version ".tar.xz"))
313 "0lqglrjgjb4ralgmr7lb9k7acmn8q4jm18s4p3gbgd9iswyqgsbm"))))
314 (build-system cmake-build-system)
316 `(("extra-cmake-modules" ,extra-cmake-modules)
318 ("libxml2" ,libxml2)))
320 `(("qtbase" ,qtbase)))
321 (home-page "https://community.kde.org/Frameworks")
322 (synopsis "Default KDE Plasma 5 icon theme")
323 (description "Breeze provides a freedesktop.org compatible icon theme.
324 It is the default icon theme for the KDE Plasma 5 desktop.")
325 ;; The license file mentions lgpl3+. The license files in the source
326 ;; directories are lgpl3, while the top directory contains the lgpl2.1.
328 (license license:lgpl3+)))
330 (define-public kapidox
337 "mirror://kde/stable/frameworks/"
338 (version-major+minor version) "/"
339 name "-" version ".tar.xz"))
342 "1irl25pf60frzrmm1ksgjq6y8kn3rd5snliq69l4c42yznl9qv1j"))))
343 (build-system cmake-build-system)
345 `(#:tests? #f)) ; has no test target
347 `(("extra-cmake-modules" ,extra-cmake-modules)))
349 ;; kapidox is a python programm
350 ;; TODO: check if doxygen has to be installed, the readme does not
351 ;; mention it. The openSuse .rpm lists doxygen, graphviz, graphviz-gd,
354 ("python-jinja2" ,python-jinja2)
355 ("python-pyyaml" ,python-pyyaml)))
357 `(("qtbase" ,qtbase)))
358 (home-page "https://community.kde.org/Frameworks")
359 (synopsis "KDE Doxygen Tools")
360 (description "This framework contains scripts and data for building API
361 documentation (dox) in a standard format and style for KDE.
363 For the actual documentation extraction and formatting the Doxygen tool is
364 used, but this framework provides a wrapper script to make generating the
365 documentation more convenient (including reading settings from the target
366 framework or other module) and a standard template for the generated
368 ;; Most parts are bsd-2, but incuded jquery is expat
369 ;; This list is taken from http://packaging.neon.kde.org/cgit/
370 (license (list license:bsd-2 license:expat))))
372 (define-public karchive
379 "mirror://kde/stable/frameworks/"
380 (version-major+minor version) "/"
381 name "-" version ".tar.xz"))
384 "0z8asn357pdbv4g9g0x18p72wskca1qanxljyix7wzc5rsi63wzm"))))
385 (build-system cmake-build-system)
387 `(("extra-cmake-modules" ,extra-cmake-modules)))
393 (home-page "https://community.kde.org/Frameworks")
394 (synopsis "Qt 5 addon providing access to numerous types of archives")
395 (description "KArchive provides classes for easy reading, creation and
396 manipulation of @code{archive} formats like ZIP and TAR.
398 It also provides transparent compression and decompression of data, like the
399 GZip format, via a subclass of QIODevice.")
400 ;; The included licenses is are gpl2 and lgpl2.1, but the sources are
401 ;; under a variety of licenses.
402 ;; This list is taken from http://packaging.neon.kde.org/cgit/
403 (license (list license:lgpl2.1 license:lgpl2.1+
404 license:lgpl3+ license:bsd-2))))
406 (define-public kcalendarcore
408 (name "kcalendarcore")
413 "mirror://kde/stable/frameworks/"
414 (version-major+minor version) "/"
415 name "-" version ".tar.xz"))
418 "1y1f8gc1g9yn9kgmn53f1zvkizasfs667dfin3fyci657r5qwpw2"))))
419 (build-system cmake-build-system)
421 `(("extra-cmake-modules" ,extra-cmake-modules)
423 ("tzdata" ,tzdata-for-tests)))
425 `(("libical" ,libical)
429 (modify-phases %standard-phases
430 (add-before 'configure 'disable-failing-libical3-tests
432 ;; testicaltimezones fails with some time-zone issue
433 (substitute* "autotests/CMakeLists.txt"
434 (("macro_unit_tests\\(testicaltimezones\\)" line)
435 (string-append "## " line))
436 (("target_link_libraries\\(testicaltimezones " line)
437 (string-append "## " line)))
441 ;; test cases are generated for each .ics file. These fail:
442 "autotests/data/Compat-libical3/AppleICal_1.5.ics"
443 "autotests/data/Compat-libical3/Evolution_2.8.2_timezone_test.ics"
444 "autotests/data/Compat-libical3/KOrganizer_3.1a.ics"
445 "autotests/data/Compat-libical3/MSExchange.ics"
446 "autotests/data/Compat-libical3/Mozilla_1.0.ics"))
448 (add-before 'check 'set-timezone
449 (lambda* (#:key inputs #:allow-other-keys)
450 (setenv "TZ" "Europe/Prague")
452 (string-append (assoc-ref inputs "tzdata")
455 (home-page "https://community.kde.org/Frameworks")
456 (synopsis "Library for interfacing with calendars")
457 (description "This library provides access to and handling of calendar
458 data. It supports the standard formats iCalendar and vCalendar and the group
459 scheduling standard iTIP.
461 A calendar contains information like incidences (events, to-dos, journals),
462 alarms, time zones, and other useful information. This API provides access to
463 that calendar information via well known calendar formats iCalendar (or iCal)
464 and the older vCalendar.")
465 (license (list license:lgpl3+ license:bsd-2))))
467 (define-public kcodecs
474 "mirror://kde/stable/frameworks/"
475 (version-major+minor version) "/"
476 name "-" version ".tar.xz"))
479 "0y9n2a5n18pasdmrp0xb84hla9l27yj2x3k4p1c041sd9nkwixpk"))))
480 (build-system cmake-build-system)
482 `(("extra-cmake-modules" ,extra-cmake-modules)
484 ("qttools" ,qttools)))
486 `(("qtbase" ,qtbase)))
487 (home-page "https://community.kde.org/Frameworks")
488 (synopsis "String encoding and manipulating library")
489 (description "KCodecs provide a collection of methods to manipulate
490 strings using various encodings.
492 It can automatically determine the charset of a string, translate XML
493 entities, validate email addresses, and find encodings by name in a more
494 tolerant way than QTextCodec (useful e.g. for data coming from the
496 ;; The included licenses is are gpl2 and lgpl2.1, but the sources are
497 ;; under a variety of licenses.
498 ;; This list is taken from http://packaging.neon.kde.org/cgit/
499 (license (list license:gpl2 license:gpl2+ license:bsd-2
500 license:lgpl2.1 license:lgpl2.1+ license:expat
501 license:lgpl3+ license:mpl1.1))))
503 (define-public kconfig
510 "mirror://kde/stable/frameworks/"
511 (version-major+minor version) "/"
512 name "-" version ".tar.xz"))
515 "1s3h4hfpw7c0894cifj66bj1yhx8g94ckvl71jm7qqsb5x5h6y9n"))))
516 (build-system cmake-build-system)
519 ("extra-cmake-modules" ,extra-cmake-modules)
520 ("inetutils" ,inetutils)
522 ("xorg-server" ,xorg-server-for-tests)))
524 `(("qtbase" ,qtbase)))
527 (modify-phases %standard-phases
528 (add-before 'check 'check-setup
530 (setenv "HOME" (getcwd))
531 (setenv "TMPDIR" (getcwd))
535 (setenv "QT_QPA_PLATFORM" "offscreen")
536 (invoke "dbus-launch" "ctest" "."))))))
537 (home-page "https://community.kde.org/Frameworks")
538 (synopsis "Kconfiguration settings framework for Qt")
539 (description "KConfig provides an advanced configuration system.
540 It is made of two parts: KConfigCore and KConfigGui.
542 KConfigCore provides access to the configuration files themselves.
546 @item Code generation: describe your configuration in an XML file, and use
547 `kconfig_compiler to generate classes that read and write configuration
550 @item Cascading configuration files (global settings overridden by local
553 @item Optional shell expansion support (see docs/options.md).
555 @item The ability to lock down configuration options (see docs/options.md).
558 KConfigGui provides a way to hook widgets to the configuration so that they
559 are automatically initialized from the configuration and automatically
560 propagate their changes to their respective configuration files.")
561 ;; The included licenses is are gpl2 and lgpl2.1, but the sources are
562 ;; under a variety of licenses.
563 ;; This list is taken from http://packaging.neon.kde.org/cgit/
564 (license (list license:lgpl2.1 license:lgpl2.1+ license:expat
565 license:lgpl3+ license:gpl1 ; licende:mit-olif
566 license:bsd-2 license:bsd-3))))
568 (define-public kcoreaddons
575 "mirror://kde/stable/frameworks/"
576 (version-major+minor version) "/"
577 name "-" version ".tar.xz"))
580 "10a7zys3limsawl7lk9ggymk3msk2bp0y8hp0jmsvk3l405pd1ps"))))
581 (build-system cmake-build-system)
583 `(("extra-cmake-modules" ,extra-cmake-modules)
585 ("shared-mime-info" ,shared-mime-info)
586 ;; TODO: FAM: File alteration notification http://oss.sgi.com/projects/fam
587 ("xorg-server" ,xorg-server-for-tests))) ; for the tests
589 `(("qtbase" ,qtbase)))
592 (modify-phases %standard-phases
593 (add-before 'check 'blacklist-failing-test
595 ;; Blacklist failing tests.
596 (with-output-to-file "autotests/BLACKLIST"
598 ;; FIXME: Make it pass. Test failure caused by stout/stderr
599 ;; being interleaved.
600 (display "[test_channels]\n*\n")
601 ;; This fails with ENOSPC because of too many inotify watches.
602 (display "[benchNotifyWatcher]\n*\n")))
604 ;; See upstream commit ee424e9b62368485bba4193053cabb553a1d268e
605 (add-after 'unpack 'fix-broken-test
607 (substitute* "autotests/kdirwatch_unittest.cpp"
608 (("QVERIFY\\(waitForRecreationSignal\\(watch, existingFile\\)\\);" m)
609 (string-append m "\nwaitUntilNewSecond();")))
611 (add-before 'check 'check-setup
613 (setenv "HOME" (getcwd))
614 (setenv "TMPDIR" (getcwd))
616 (home-page "https://community.kde.org/Frameworks")
617 (synopsis "Qt addon library with a collection of non-GUI utilities")
618 (description "KCoreAddons provides classes built on top of QtCore to
619 perform various tasks such as manipulating mime types, autosaving files,
620 creating backup files, generating random sequences, performing text
621 manipulations such as macro replacement, accessing user information and
623 (license (list license:lgpl2.0+ license:lgpl2.1+))))
625 (define-public kdbusaddons
632 "mirror://kde/stable/frameworks/"
633 (version-major+minor version) "/"
634 name "-" version ".tar.xz"))
637 "1vz2hg5p8wvfk0pi8v25zqzcn8yj7ykakxjyipmadvi02c1h8gic"))
638 (patches (search-patches "kdbusaddons-kinit-file-name.patch"))))
639 (build-system cmake-build-system)
641 `(("extra-cmake-modules" ,extra-cmake-modules)
643 ("qttools" ,qttools)))
646 ("qtx11extras" ,qtx11extras)
647 ("kinit" ,kinit-bootstrap))) ;; kinit-bootstrap: kinit package which does not depend on kdbusaddons.
650 (modify-phases %standard-phases
652 'configure 'patch-source
653 (lambda* (#:key inputs #:allow-other-keys)
654 ;; look for the kdeinit5 executable in kinit's store directory,
655 ;; instead of the current application's directory:
656 (substitute* "src/kdeinitinterface.cpp"
657 (("@SUBSTITUTEME@") (assoc-ref inputs "kinit")))))
660 (setenv "DBUS_FATAL_WARNINGS" "0")
661 (invoke "dbus-launch" "ctest" "."))))))
662 (home-page "https://community.kde.org/Frameworks")
663 (synopsis "Convenience classes for DBus")
664 (description "KDBusAddons provides convenience classes on top of QtDBus,
665 as well as an API to create KDED modules.")
666 ;; Some source files mention lgpl2.0+, but the included license is
667 ;; the lgpl2.1. Some source files are under non-copyleft licenses.
668 (license license:lgpl2.1+)))
670 (define-public kdnssd
677 "mirror://kde/stable/frameworks/"
678 (version-major+minor version) "/"
679 name "-" version ".tar.xz"))
682 "0wadknnf472rqg2xnqzs5v23qzqfr336wj6d96yg2ayqm0chbppy"))))
683 (build-system cmake-build-system)
685 `(("extra-cmake-modules" ,extra-cmake-modules)
686 ("qttools" ,qttools)))
688 `(("avahi" ,avahi) ; alternativly dnssd could be used
690 (home-page "https://community.kde.org/Frameworks")
691 (synopsis "Network service discovery using Zeroconf")
692 (description "KDNSSD is a library for handling the DNS-based Service
693 Discovery Protocol (DNS-SD), the layer of Zeroconf that allows network services,
694 such as printers, to be discovered without any user intervention or centralized
696 (license license:lgpl2.1+)))
698 (define-public kguiaddons
705 "mirror://kde/stable/frameworks/"
706 (version-major+minor version) "/"
707 name "-" version ".tar.xz"))
710 "1yndjdhb9zzlhh74xccpys38balm5dma56sx6bwwfrga1phq0g5l"))))
711 (build-system qt-build-system)
712 ;; TODO: Build packages for the Python bindings. Ideally this will be
713 ;; done for all versions of python guix supports. Requires python,
714 ;; python-sip, clang-python, libclang. Requires python-2 in all cases for
717 `(("extra-cmake-modules" ,extra-cmake-modules)
718 ("pkg-config" ,pkg-config)))
721 ("qtx11extras" ,qtx11extras)))
722 (home-page "https://community.kde.org/Frameworks")
723 (synopsis "Utilities for graphical user interfaces")
724 (description "The KDE GUI addons provide utilities for graphical user
725 interfaces in the areas of colors, fonts, text, images, keyboard input.")
726 (license (list license:gpl2+ license:lgpl2.1+))))
728 (define-public kholidays
735 "mirror://kde/stable/frameworks/"
736 (version-major+minor version) "/"
737 name "-" version ".tar.xz"))
739 (base32 "1rifx51yk24sk578h08s1bwpqb61rnyyks33zpl82lcdnl1ljp26"))))
740 (build-system cmake-build-system)
743 (modify-phases %standard-phases
744 (add-before 'check 'check-setup
746 ;; blacklist a failing test function TODO: make it pass
747 (with-output-to-file "autotests/BLACKLIST"
749 (display "[testDefaultRegions]\n*\n")))
752 `(("extra-cmake-modules" ,extra-cmake-modules)
753 ("qttools" ,qttools)))
756 ("qtdeclarative" ,qtdeclarative)))
757 (home-page "https://invent.kde.org/frameworks/kholidays")
758 (synopsis "Library for regional holiday information")
759 (description "This library provides a C++ API that determines holiday and
760 other special events for a geographical region.")
761 (license license:lgpl2.0+)))
770 "mirror://kde/stable/frameworks/"
771 (version-major+minor version) "/"
772 name "-" version ".tar.xz"))
775 "1f952488492sm904i1iwgjp2gc7z07312mlshw4ckh2801y0qclc"))))
776 (build-system cmake-build-system)
778 `(("gettext" ,gettext-minimal)
781 `(("extra-cmake-modules" ,extra-cmake-modules)))
784 ("qtdeclarative" ,qtdeclarative)
785 ("qtscript" ,qtscript)))
788 (modify-phases %standard-phases
789 (add-before 'check 'check-setup
791 (setenv "HOME" (getcwd))
793 (home-page "https://community.kde.org/Frameworks")
794 (synopsis "KDE Gettext-based UI text internationalization")
795 (description "KI18n provides functionality for internationalizing user
796 interface text in applications, based on the GNU Gettext translation system. It
797 wraps the standard Gettext functionality, so that the programmers and translators
798 can use the familiar Gettext tools and workflows.
800 KI18n provides additional functionality as well, for both programmers and
801 translators, which can help to achieve a higher overall quality of source and
802 translated text. This includes argument capturing, customizable markup, and
803 translation scripting.")
804 (license license:lgpl2.1+)))
806 (define-public kidletime
813 "mirror://kde/stable/frameworks/"
814 (version-major+minor version) "/"
815 name "-" version ".tar.xz"))
818 "0vbxs80a8kh2xbxclx8zwl7acynsasa7i0cs171fxr26d0dmmhm5"))))
819 (build-system cmake-build-system)
821 `(("extra-cmake-modules" ,extra-cmake-modules)
822 ("pkg-config" ,pkg-config)))
824 `(("libxscrnsaver" ,libxscrnsaver) ; X-Screensaver based poller, fallback mode
826 ("qtx11extras" ,qtx11extras)))
827 (home-page "https://community.kde.org/Frameworks")
828 (synopsis "Reporting of idle time of user and system")
829 (description "KIdleTime is a singleton reporting information on idle time.
830 It is useful not only for finding out about the current idle time of the PC,
831 but also for getting notified upon idle time events, such as custom timeouts,
833 (license (list license:gpl2+ license:lgpl2.1+))))
835 (define-public kirigami
836 ;; Kirigami is listed as tier 1 framework, but optionally includes
837 ;; plasma-framework which is tier 3.
844 "mirror://kde/stable/frameworks/"
845 (version-major+minor version) "/"
846 "kirigami2-" version ".tar.xz"))
849 "0akkyif6n9l7hw4cj6nkf1zwgnd7vqi1gyiqmn588rspgl91zf1w"))))
850 (properties `((upstream-name . "kirigami2")))
851 (build-system cmake-build-system)
853 `(("extra-cmake-modules" ,extra-cmake-modules)
854 ("qttools" ,qttools)))
856 `(("kwindowsystem" ,kwindowsystem)
857 ;; TODO: Find a way to activate this optional include without
858 ;; introducing a recursive dependency.
859 ;;("plasma-frameworks" ,plasma-framework) ;; Tier 3!
861 ("qtdeclarative" ,qtdeclarative)
862 ("qtquickcontrols2" ,qtquickcontrols2)
864 ;; Run-time dependency
865 ("qtgraphicaleffects" ,qtgraphicaleffects)))
866 (home-page "https://community.kde.org/Frameworks")
867 (synopsis "QtQuick components for mobile user interfaces")
868 (description "Kirigami is a set of high level QtQuick components looking
869 and feeling well on both mobile and desktop devices. They ease the creation
870 of applications that follow the Kirigami Human Interface Guidelines.")
871 (license license:lgpl2.1+)))
873 (define-public kitemmodels
880 "mirror://kde/stable/frameworks/"
881 (version-major+minor version) "/"
882 name "-" version ".tar.xz"))
885 "0x7y5shg2pp490hvmkz81b8j01cha9j1001q34m7pnyf0n3zknzc"))))
886 (build-system qt-build-system)
888 `(("extra-cmake-modules" ,extra-cmake-modules)))
891 ("qtdeclarative" ,qtdeclarative)))
892 (home-page "https://community.kde.org/Frameworks")
893 (synopsis "Set of item models extending the Qt model-view framework")
894 (description "KItemModels provides the following models:
897 @item KBreadcrumbSelectionModel - Selects the parents of selected items to
900 @item KCheckableProxyModel - Adds a checkable capability to a source model.
902 @item KConcatenateRowsProxyModel - Concatenates rows from multiple source models.
904 @item KDescendantsProxyModel - Proxy Model for restructuring a Tree into a list.
906 @item KExtraColumnsProxyModel - Adds columns after existing columns.
908 @item KLinkItemSelectionModel - Share a selection in multiple views which do
909 not have the same source model.
911 @item KModelIndexProxyMapper - Mapping of indexes and selections through proxy
914 @item KRearrangeColumnsProxyModel - Can reorder and hide columns from the source
917 @item KRecursiveFilterProxyModel - Recursive filtering of models.
919 @item KSelectionProxyModel - A Proxy Model which presents a subset of its source
922 (license license:lgpl2.1+)))
924 (define-public kitemviews
931 "mirror://kde/stable/frameworks/"
932 (version-major+minor version) "/"
933 name "-" version ".tar.xz"))
936 "04vlmkvc3y5h7cpb6kdv9gha5axxkimhqh44mdg2ncyn4sas6j68"))))
937 (build-system qt-build-system)
939 `(("extra-cmake-modules" ,extra-cmake-modules)
940 ("qttools" ,qttools)))
942 `(("qtbase" ,qtbase)))
943 (home-page "https://community.kde.org/Frameworks")
944 (synopsis "Set of item views extending the Qt model-view framework")
945 (description "KItemViews includes a set of views, which can be used with
946 item models. It includes views for categorizing lists and to add search filters
947 to flat and hierarchical lists.")
948 (license (list license:gpl2+ license:lgpl2.1+))))
950 (define-public kplotting
957 "mirror://kde/stable/frameworks/"
958 (version-major+minor version) "/"
959 name "-" version ".tar.xz"))
962 "1wj4n2a8iz9ml1y0012xkpsx3dfp5gl2dn80sifrzvkxjxrhwach"))))
963 (build-system qt-build-system)
965 `(("extra-cmake-modules" ,extra-cmake-modules)
966 ("qttools" ,qttools)))
968 `(("qtbase" ,qtbase)))
969 (home-page "https://community.kde.org/Frameworks")
970 (synopsis "Data plotting library")
971 (description "KPlotWidget is a QWidget-derived class that provides a virtual
972 base class for easy data-plotting. The idea behind KPlotWidget is that you only
973 have to specify information in \"data units\", the natural units of the
974 data being plotted. KPlotWidget automatically converts everything to screen
976 (license license:lgpl2.1+)))
978 (define-public ksyntaxhighlighting
980 (name "ksyntaxhighlighting")
985 "mirror://kde/stable/frameworks/"
986 (version-major+minor version) "/"
987 "syntax-highlighting-" version ".tar.xz"))
990 "12jn7lqsp86329spai7n1n8i65nwhxh8gp33wkq543h7w3i2a3jb"))))
991 (build-system cmake-build-system)
993 `(("extra-cmake-modules" ,extra-cmake-modules)
996 ;; Optional, for compile-time validation of syntax definition files:
997 ("qtxmlpatterns" ,qtxmlpatterns)))
999 `(("qtbase" ,qtbase)))
1002 (modify-phases %standard-phases
1003 (add-after 'patch-source-shebangs 'unpatch-source-shebang
1005 ;; revert the patch-shebang phase on scripts which are
1006 ;; in fact test data
1007 (substitute* '("autotests/input/test.bash"
1008 "autotests/folding/test.bash.fold")
1009 (((which "bash")) "/bin/bash"))
1010 (substitute* '("autotests/input/highlight.sh"
1011 "autotests/folding/highlight.sh.fold")
1012 (((which "sh")) " /bin/sh")) ;; space in front!
1013 (substitute* '("autotests/input/highlight.pl"
1014 "autotests/folding/highlight.pl.fold")
1015 (((which "perl")) "/usr/bin/perl"))
1017 (home-page "https://community.kde.org/Frameworks")
1018 (synopsis "Syntax highlighting engine for Kate syntax definitions")
1019 (description "This is a stand-alone implementation of the Kate syntax
1020 highlighting engine. It's meant as a building block for text editors as well
1021 as for simple highlighted text rendering (e.g. as HTML), supporting both
1022 integration with a custom editor as well as a ready-to-use
1023 @code{QSyntaxHighlighter} sub-class.")
1024 (properties `((upstream-name . "syntax-highlighting")))
1025 (license license:lgpl2.1+)))
1027 (define-public kwayland
1034 "mirror://kde/stable/frameworks/"
1035 (version-major+minor version) "/"
1036 name "-" version ".tar.xz"))
1039 "0hrpbfzixjpnfy9q5x66q1fff0p7n80rrs127zzdv68pyi6456ry"))))
1040 (build-system cmake-build-system)
1042 `(("extra-cmake-modules" ,extra-cmake-modules)
1043 ("pkg-config" ,pkg-config)))
1045 `(("qtbase" ,qtbase)
1046 ("qtwayland" ,qtwayland)
1047 ("wayland" ,wayland)
1048 ("wayland-protocols" ,wayland-protocols)))
1050 `(#:tests? #f ; FIXME tests require weston to run
1051 ; weston requires wayland flags in mesa
1053 (modify-phases %standard-phases
1054 (add-before 'check 'check-setup
1056 (setenv "XDG_RUNTIME_DIR" "/tmp")
1058 (home-page "https://community.kde.org/Frameworks")
1059 (synopsis "Qt-style API to interact with the wayland client and server")
1060 (description "As the names suggest they implement a Client respectively a
1061 Server API for the Wayland protocol. The API is Qt-styled removing the needs to
1062 interact with a for a Qt developer uncomfortable low-level C-API. For example
1063 the callback mechanism from the Wayland API is replaced by signals, data types
1064 are adjusted to be what a Qt developer expects - two arguments of int are
1065 represented by a QPoint or a QSize.")
1066 (license license:lgpl2.1+)))
1068 (define-public kwidgetsaddons
1070 (name "kwidgetsaddons")
1075 "mirror://kde/stable/frameworks/"
1076 (version-major+minor version) "/"
1077 name "-" version ".tar.xz"))
1080 "03l37lh219np7pqfa56r2v7n5s5xg4rjq005qng4b5izd95ri56j"))))
1081 (build-system qt-build-system)
1083 `(("extra-cmake-modules" ,extra-cmake-modules)
1084 ("qttools" ,qttools)
1085 ("xorg-server" ,xorg-server-for-tests)))
1087 `(("qtbase" ,qtbase)))
1090 (modify-phases %standard-phases
1091 (add-after 'unpack 'adjust-tests
1093 ;; It is unclear why this test suddenly started failing.
1094 (substitute* "autotests/kcolumnresizertest.cpp"
1095 ((".*QCOMPARE.*") ""))
1097 (home-page "https://community.kde.org/Frameworks")
1098 (synopsis "Large set of desktop widgets")
1099 (description "Provided are action classes that can be added to toolbars or
1100 menus, a wide range of widgets for selecting characters, fonts, colors, actions,
1101 dates and times, or MIME types, as well as platform-aware dialogs for
1102 configuration pages, message boxes, and password requests.")
1103 (license (list license:gpl2+ license:lgpl2.1+))))
1105 (define-public kwindowsystem
1107 (name "kwindowsystem")
1112 "mirror://kde/stable/frameworks/"
1113 (version-major+minor version) "/"
1114 name "-" version ".tar.xz"))
1117 "0a68cj0bsl5a9sxfd969khznycrn9p6grp2b08hqacxqdknzs0wh"))))
1118 (build-system cmake-build-system)
1120 `(("extra-cmake-modules" ,extra-cmake-modules)
1121 ("pkg-config" ,pkg-config)
1122 ("dbus" ,dbus) ; for the tests
1123 ("openbox" ,openbox) ; for the tests
1124 ("qttools" ,qttools)
1125 ("xorg-server" ,xorg-server-for-tests))) ; for the tests
1127 `(("libxrender" ,libxrender)
1129 ("qtx11extras" ,qtx11extras)
1130 ("xcb-utils-keysyms" ,xcb-util-keysyms)
1131 ("xcb-util-wm" ,xcb-util-wm)))
1134 (modify-phases %standard-phases
1135 (add-before 'check 'blacklist-failing-tests
1137 ;; Blacklist a failing test-functions. FIXME: Make it pass.
1138 (with-output-to-file "autotests/BLACKLIST"
1140 (display "[testGroupLeader]\n*\n")
1141 (display "[testClientMachine]\n*\n"))) ;; requires network
1145 ;; The test suite requires a running window anager
1146 (setenv "XDG_RUNTIME_DIR" "/tmp")
1147 (system "Xvfb :1 -ac -screen 0 640x480x24 &")
1148 (setenv "DISPLAY" ":1")
1149 (sleep 5) ;; Give Xvfb a few moments to get on it's feet
1150 (system "openbox &")
1151 (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
1152 (setenv "DBUS_FATAL_WARNINGS" "0")
1153 (invoke "dbus-launch" "ctest" "."))))))
1154 (home-page "https://community.kde.org/Frameworks")
1155 (synopsis "KDE access to the windowing system")
1156 (description "KWindowSystem provides information about and allows
1157 interaction with the windowing system. It provides a high level API, which
1158 is windowing system independent and has platform specific
1159 implementations. This API is inspired by X11 and thus not all functionality
1160 is available on all windowing systems.
1162 In addition to the high level API, this framework also provides several
1163 lower level classes for interaction with the X Windowing System.")
1164 ;; Some source files mention lgpl2.0+, but the included license is
1165 ;; the lgpl2.1. Some source files are under non-copyleft licenses.
1166 (license license:lgpl2.1+)))
1168 (define-public modemmanager-qt
1170 (name "modemmanager-qt")
1175 "mirror://kde/stable/frameworks/"
1176 (version-major+minor version) "/"
1177 name "-" version ".tar.xz"))
1180 "0ydq1l823jgp0yrrpqi1zdk5dsg65ydk1x082qwsa9a0vzs0np3x"))))
1181 (build-system cmake-build-system)
1183 `(("extra-cmake-modules" ,extra-cmake-modules)
1185 ("pkg-config" ,pkg-config)))
1187 ;; Headers contain #include <ModemManager/ModemManager.h>
1188 `(("modem-manager" ,modem-manager)))
1190 `(("qtbase" ,qtbase)))
1193 (modify-phases %standard-phases
1196 (setenv "DBUS_FATAL_WARNINGS" "0")
1197 (invoke "dbus-launch" "ctest" "."))))))
1198 (home-page "https://community.kde.org/Frameworks")
1199 (synopsis "Qt wrapper for ModemManager DBus API")
1200 (description "ModemManagerQt provides access to all ModemManager features
1201 exposed on DBus. It allows you to manage modem devices and access to
1202 information available for your modem devices, like signal, location and
1204 (license license:lgpl2.1+)))
1206 (define-public networkmanager-qt
1208 (name "networkmanager-qt")
1213 "mirror://kde/stable/frameworks/"
1214 (version-major+minor version) "/"
1215 name "-" version ".tar.xz"))
1218 "1h2kdw5vs7mn3n7bvqwm36a48ra9iap6384kanz14zjbankj04c1"))))
1219 (build-system cmake-build-system)
1221 `(("extra-cmake-modules" ,extra-cmake-modules)
1223 ("pkg-config" ,pkg-config)))
1225 ;; Headers contain #include <NetworkManager.h> and
1226 ;; #include <libnm/NetworkManager.h>
1227 `(("network-manager" ,network-manager)))
1229 `(("qtbase" ,qtbase)))
1232 (modify-phases %standard-phases
1235 (setenv "DBUS_FATAL_WARNINGS" "0")
1236 (invoke "dbus-launch" "ctest" "."))))))
1237 (home-page "https://community.kde.org/Frameworks")
1238 (synopsis "Qt wrapper for NetworkManager DBus API")
1239 (description "NetworkManagerQt provides access to all NetworkManager
1240 features exposed on DBus. It allows you to manage your connections and control
1241 your network devices and also provides a library for parsing connection settings
1242 which are used in DBus communication.")
1243 (license license:lgpl2.1+)))
1245 (define-public oxygen-icons
1247 (name "oxygen-icons")
1252 "mirror://kde/stable/frameworks/"
1253 (version-major+minor version) "/"
1254 name "5" "-" version ".tar.xz"))
1257 "1rjsnz0g7zyzgii26sk370adb6jcyvr2lm8qi23fvqimifngqm2c"))))
1258 (build-system cmake-build-system)
1260 `(("extra-cmake-modules" ,extra-cmake-modules)
1261 ("fdupes" ,fdupes)))
1263 `(("qtbase" ,qtbase)))
1264 (home-page "https://community.kde.org/Frameworks")
1265 (synopsis "Oxygen provides the standard icon theme for the KDE desktop")
1266 (description "Oxygen icon theme for the KDE desktop")
1267 (license license:lgpl3+)
1268 (properties '((upstream-name . "oxygen-icons5")))))
1270 (define-public prison
1277 (uri (string-append "mirror://kde/stable/frameworks/"
1278 (version-major+minor version) "/"
1279 name "-" version ".tar.xz"))
1281 (base32 "1qflivvb593d2npc218xkdn3w5zvl7x8v1b52ydnggsxzbgkqvb4"))))
1282 (build-system cmake-build-system)
1284 `(("extra-cmake-modules" ,extra-cmake-modules)))
1286 `(("libdmtx" ,libdmtx)
1287 ("qrencode" ,qrencode)
1288 ("qtbase" ,qtbase))) ;; TODO: rethink: nix propagates this
1289 (home-page "https://api.kde.org/frameworks/prison/html/index.html")
1290 (synopsis "Barcode generation abstraction layer")
1291 (description "Prison is a Qt-based barcode abstraction layer/library and
1292 provides uniform access to generation of barcodes with data.")
1293 (license license:lgpl2.1+)))
1295 (define-public pulseaudio-qt
1297 (name "pulseaudio-qt")
1301 (uri (string-append "https://download.kde.org/stable/pulseaudio-qt"
1302 "/pulseaudio-qt-" version ".tar.xz"))
1305 "1i0ql68kxv9jxs24rsd3s7jhjid3f2fq56fj4wbp16zb4wd14099"))))
1306 (build-system cmake-build-system)
1308 `(("extra-cmake-modules" ,extra-cmake-modules)
1309 ("pkg-config" ,pkg-config)))
1312 ("pulseaudio" ,pulseaudio)
1313 ("qtdeclarative" ,qtdeclarative)
1314 ("qtbase" ,qtbase)))
1315 (home-page "https://invent.kde.org/libraries/pulseaudio-qt/")
1316 (synopsis "Qt bindings for PulseAudio")
1318 "pulseaudio-qt is a Qt-style wrapper for libpulse. It allows querying
1319 and manipulation of various PulseAudio objects such as @code{Sinks},
1320 @code{Sources} and @code{Streams}. It does not wrap the full feature set of
1322 ;; User can choose between LGPL version 2.1 or 3.0; or
1323 ;; "any later version accepted by the membership of KDE e.V".
1324 (license (list license:lgpl2.1 license:lgpl3))))
1326 (define-public qqc2-desktop-style
1328 (name "qqc2-desktop-style")
1333 "mirror://kde/stable/frameworks/"
1334 (version-major+minor version) "/"
1335 name "-" version ".tar.xz"))
1338 "1n47cl082zqdw6ykil04rw6bws4fn1m8wfx4vxv1aqj9warbdks3"))))
1339 (build-system cmake-build-system)
1341 `(("extra-cmake-modules" ,extra-cmake-modules)
1342 ("pkg-config" ,pkg-config)))
1345 ("kconfigwidgets" ,kconfigwidgets) ; optional
1346 ("kcoreaddons" ,kcoreaddons)
1347 ("kiconthemes" ,kiconthemes) ; optional
1348 ("kirigami" ,kirigami)
1350 ("qtdeclarative" ,qtdeclarative)
1351 ("qtquickcontrols2" ,qtquickcontrols2)))
1352 (home-page "https://community.kde.org/Frameworks")
1353 (synopsis "QtQuickControls2 style that integrates with the desktop")
1354 (description "This is a style for QtQuickControls2 which is using
1355 QWidget's QStyle to paint the controls in order to give it a native look and
1357 ;; Mostly LGPL 2+, but many files are dual-licensed
1358 (license (list license:lgpl2.1+ license:gpl3+))))
1360 (define-public solid
1367 "mirror://kde/stable/frameworks/"
1368 (version-major+minor version) "/"
1369 name "-" version ".tar.xz"))
1372 "0alng7ciw6xji0s2zrk8dsx1p0p9shrrfzl8wnkwygc5chnhysz7"))))
1373 (build-system cmake-build-system)
1376 (modify-phases %standard-phases
1379 (setenv "DBUS_FATAL_WARNINGS" "0")
1380 (invoke "dbus-launch" "ctest" "."))))))
1384 ("extra-cmake-modules" ,extra-cmake-modules)
1386 ("qttools" ,qttools)))
1388 `(("qtbase" ,qtbase)
1389 ("qtdeclarative" ,qtdeclarative)
1391 ;; TODO: Add runtime-only dependency MediaPlayerInfo
1392 (home-page "https://community.kde.org/Frameworks")
1393 (synopsis "Desktop hardware abstraction")
1394 (description "Solid is a device integration framework. It provides a way of
1395 querying and interacting with hardware independently of the underlying operating
1397 (license license:lgpl2.1+)))
1399 (define-public sonnet
1406 "mirror://kde/stable/frameworks/"
1407 (version-major+minor version) "/"
1408 name "-" version ".tar.xz"))
1411 "0b88h5fw1n8zyrg0vq3lj2jbjjyh0mk64lj6ab3643kxzqxbn30w"))))
1412 (build-system qt-build-system)
1414 `(("extra-cmake-modules" ,extra-cmake-modules)
1415 ("pkg-config" ,pkg-config)
1416 ("qttools" ,qttools)))
1418 `(("hunspell" ,hunspell)
1419 ;; TODO: hspell (for Hebrew), Voikko (for Finish)
1420 ("qtbase" ,qtbase)))
1421 (home-page "https://community.kde.org/Frameworks")
1422 (synopsis "Multi-language spell checker")
1423 (description "Sonnet is a plugin-based spell checking library for Qt-based
1424 applications. It supports several different plugins, including HSpell, Enchant,
1425 ASpell and HUNSPELL.")
1426 (license license:lgpl2.1+)))
1428 (define-public threadweaver
1430 (name "threadweaver")
1435 "mirror://kde/stable/frameworks/"
1436 (version-major+minor version) "/"
1437 name "-" version ".tar.xz"))
1440 "0y1q0wy073lf11g4jrp4bdw4kpj4ibqfscsxj6zlh8ban9zlf389"))))
1441 (build-system cmake-build-system)
1443 `(("extra-cmake-modules" ,extra-cmake-modules)))
1445 `(("qtbase" ,qtbase)))
1446 (home-page "https://community.kde.org/Frameworks")
1447 (synopsis "Helper for multithreaded programming")
1448 (description "ThreadWeaver is a helper for multithreaded programming. It
1449 uses a job-based interface to queue tasks and execute them in an efficient way.")
1450 (license license:lgpl2.1+)))
1455 ;; Tier 2 frameworks additionally depend on tier 1 frameworks, but still have
1456 ;; easily manageable dependencies.
1458 (define-public kactivities
1460 (name "kactivities")
1465 "mirror://kde/stable/frameworks/"
1466 (version-major+minor version) "/"
1467 name "-" version ".tar.xz"))
1470 "1whsp0f87lrcn61s9rfhy0aj68hm6zgfa38mq6frlkcjksi0z1vn"))))
1471 (build-system qt-build-system)
1473 `(("extra-cmake-modules" ,extra-cmake-modules)))
1477 ("kbookmarks" ,kbookmarks)
1478 ("kcodecs" ,kcodecs)
1479 ("kcompletion" ,kcompletion)
1480 ("kconfig" ,kconfig)
1481 ("kconfigwidgets" ,kconfigwidgets)
1482 ("kcoreaddons" ,kcoreaddons)
1484 ("kitemviews" ,kitemviews)
1485 ("kjobwidgets" ,kjobwidgets)
1486 ("kservice" ,kservice)
1487 ("kwidgetsaddons" ,kwidgetsaddons)
1488 ("kwindowsystem" ,kwindowsystem)
1489 ("kxmlgui" ,kxmlgui)
1491 ("qtdeclarative" ,qtdeclarative)
1493 (home-page "https://community.kde.org/Frameworks")
1494 (synopsis "Core components for the KDE Activity concept")
1495 (description "KActivities provides the infrastructure needed to manage a
1496 user's activities, allowing them to switch between tasks, and for applications
1497 to update their state to match the user's current activity. This includes a
1498 daemon, a library for interacting with that daemon, and plugins for integration
1499 with other frameworks.")
1501 (license (list license:gpl2+ license:lgpl2.0+ license:lgpl2.1+))))
1503 (define-public kauth
1510 "mirror://kde/stable/frameworks/"
1511 (version-major+minor version) "/"
1512 name "-" version ".tar.xz"))
1515 "0nmdz7ra3hpg0air4lfkzilv7cwx3zxs29k7sh8l3i1fs3qpjwxm"))))
1516 (build-system cmake-build-system)
1519 ("extra-cmake-modules" ,extra-cmake-modules)
1520 ("qttools" ,qttools)))
1522 `(("kcoreaddons" ,kcoreaddons)
1523 ("polkit-qt" ,polkit-qt)
1524 ("qtbase" ,qtbase)))
1527 (modify-phases %standard-phases
1528 (add-after 'unpack 'fix-cmake-install-directories
1530 ;; Make packages using kauth put their policy files and helpers
1531 ;; into their own prefix.
1532 (substitute* "KF5AuthConfig.cmake.in"
1533 (("@KAUTH_POLICY_FILES_INSTALL_DIR@")
1534 "${KDE_INSTALL_DATADIR}/polkit-1/actions")
1535 (("@KAUTH_HELPER_INSTALL_DIR@")
1536 "${KDE_INSTALL_LIBEXECDIR}")
1537 (("@KAUTH_HELPER_INSTALL_ABSOLUTE_DIR@")
1538 "${KDE_INSTALL_LIBEXECDIR}"))))
1541 (setenv "DBUS_FATAL_WARNINGS" "0")
1542 (invoke "dbus-launch" "ctest" "."))))))
1543 (home-page "https://community.kde.org/Frameworks")
1544 (synopsis "Execute actions as privileged user")
1545 (description "KAuth provides a convenient, system-integrated way to offload
1546 actions that need to be performed as a privileged user to small set of helper
1548 (license license:lgpl2.1+)))
1550 (define-public kcompletion
1552 (name "kcompletion")
1557 "mirror://kde/stable/frameworks/"
1558 (version-major+minor version) "/"
1559 name "-" version ".tar.xz"))
1562 "1pjgya8wi28jx63hcdi9v5f5487gzbkw2j1iganhd7bhcb8s7zpy"))))
1563 (build-system qt-build-system)
1565 `(("extra-cmake-modules" ,extra-cmake-modules)
1566 ("qttools" ,qttools)))
1568 `(("kconfig" ,kconfig)
1569 ("kwidgetsaddons" ,kwidgetsaddons)
1570 ("qtbase" ,qtbase)))
1571 (home-page "https://community.kde.org/Frameworks")
1572 (synopsis "Powerful autocompletion framework and widgets")
1573 (description "This framework helps implement autocompletion in Qt-based
1574 applications. It provides a set of completion-ready widgets, or can be
1575 integrated it into your application's other widgets.")
1576 (license license:lgpl2.1+)))
1578 (define-public kcontacts
1585 "mirror://kde/stable/frameworks/"
1586 (version-major+minor version) "/"
1587 name "-" version ".tar.xz"))
1590 "182ma11z3kqxq3cwy7kwprfqkb9bcmn44w7k9vixbid4pv5wa0lb"))))
1591 (build-system cmake-build-system)
1593 `(("extra-cmake-modules" ,extra-cmake-modules)
1594 ("xorg-server" ,xorg-server))) ; for the tests
1596 `(("qtbase" ,qtbase)))
1598 `(;; As required by KF5ContactsConfig.cmake.
1599 ("kcodecs" ,kcodecs)
1600 ("kconfig" ,kconfig)
1601 ("kcoreaddons" ,kcoreaddons)
1605 (modify-phases %standard-phases
1606 (add-before 'check 'start-xorg-server
1607 (lambda* (#:key inputs #:allow-other-keys)
1608 ;; The test suite requires a running X server.
1609 ;; Xvfb doesn't have proper glx support and needs a pixeldepth
1610 ;; of 24 bit to avoid "libGL error: failed to load driver: swrast"
1611 ;; "Could not initialize GLX"
1612 (system (string-append (assoc-ref inputs "xorg-server")
1613 "/bin/Xvfb :1 -screen 0 640x480x24 &"))
1614 (setenv "DISPLAY" ":1")
1616 (home-page "https://community.kde.org/Frameworks")
1617 (synopsis "API for contacts/address book data following the vCard standard")
1618 (description "This library provides a vCard data model, vCard
1619 input/output, contact group management, locale-aware address formatting, and
1620 localized country name to ISO 3166-1 alpha 2 code mapping and vice verca.
1622 (license license:lgpl2.1+)))
1624 (define-public kcrash
1631 "mirror://kde/stable/frameworks/"
1632 (version-major+minor version) "/"
1633 name "-" version ".tar.xz"))
1636 "11sy9hrjpvybqi53qjrnncy9mzifrb3vqxi2d12ldjzqyqd8pirp"))))
1637 (build-system qt-build-system)
1639 `(("extra-cmake-modules" ,extra-cmake-modules)))
1641 `(("kcoreaddons" ,kcoreaddons)
1642 ("kwindowsystem" ,kwindowsystem)
1644 ("qtx11extras" ,qtx11extras)))
1645 (home-page "https://community.kde.org/Frameworks")
1646 (synopsis "Graceful handling of application crashes")
1647 (description "KCrash provides support for intercepting and handling
1648 application crashes.")
1649 (license license:lgpl2.1+)))
1651 (define-public kdoctools
1658 "mirror://kde/stable/frameworks/"
1659 (version-major+minor version) "/"
1660 name "-" version ".tar.xz"))
1663 "0g0k83np2xaxk05spf14h5fvzy0n7kbcwx1sa9wjh570f6jx87am"))))
1664 (build-system cmake-build-system)
1666 `(("extra-cmake-modules" ,extra-cmake-modules)))
1668 `(("docbook-xml" ,docbook-xml)
1669 ("docbook-xsl" ,docbook-xsl)
1670 ("karchive" ,karchive)
1672 ("libxml2" ,libxml2)
1673 ("libxslt" ,libxslt)
1675 ("perl-uri" ,perl-uri)
1676 ("qtbase" ,qtbase)))
1679 (modify-phases %standard-phases
1680 (add-after 'unpack 'cmake-find-docbook
1681 (lambda* (#:key inputs #:allow-other-keys)
1682 (substitute* (find-files "cmake" "\\.cmake$")
1683 (("CMAKE_SYSTEM_PREFIX_PATH")
1684 "CMAKE_PREFIX_PATH"))
1685 (substitute* "cmake/FindDocBookXML4.cmake"
1686 (("^.*xml/docbook/schema/dtd.*$")
1687 "xml/dtd/docbook\n"))
1688 (substitute* "cmake/FindDocBookXSL.cmake"
1689 (("^.*xml/docbook/stylesheet.*$")
1690 (string-append "xml/xsl/docbook-xsl-"
1691 ,(package-version docbook-xsl) "\n")))
1693 (add-after 'install 'add-symlinks
1694 ;; Some package(s) (e.g. kdelibs4support) refer to this locale by a
1695 ;; different spelling.
1696 (lambda* (#:key outputs #:allow-other-keys)
1697 (let ((xsl (string-append (assoc-ref outputs "out")
1698 "/share/kf5/kdoctools/customization/xsl/")))
1699 (symlink (string-append xsl "pt_br.xml")
1700 (string-append xsl "pt-BR.xml")))
1702 (home-page "https://community.kde.org/Frameworks")
1703 (synopsis "Create documentation from DocBook")
1704 (description "Provides tools to generate documentation in various format
1705 from DocBook files.")
1706 (license license:lgpl2.1+)))
1708 (define-public kfilemetadata
1710 (name "kfilemetadata")
1715 "mirror://kde/stable/frameworks/"
1716 (version-major+minor version) "/"
1717 name "-" version ".tar.xz"))
1720 "18n1a5857090a1c1rxzd07sxs652gl6wr3n99sp8rxmvkghn9zsj"))))
1721 (build-system cmake-build-system)
1724 (modify-phases %standard-phases
1725 (add-before 'check 'disable-failing-test
1727 ;; Blacklist a failing test-function. FIXME: Make it pass.
1728 ;; UserMetaDataWriterTest fails with getxattr("…/writertest.txt")
1729 ;; -> EOPNOTSUPP (Operation not supported)
1730 (with-output-to-file "autotests/BLACKLIST"
1732 (display "[testMimetype]\n*\n")
1733 (display "[test]\n*\n")))
1736 `(("extra-cmake-modules" ,extra-cmake-modules)
1737 ("pkg-config" ,pkg-config)
1738 ("python-2" ,python-2)))
1741 ;; TODO: EPub http://sourceforge.net/projects/ebook-tools
1742 ("karchive" ,karchive)
1743 ("kcoreaddons" ,kcoreaddons)
1745 ("qtmultimedia" ,qtmultimedia)
1747 ;; Required run-time packages
1749 ;; Optional run-time packages
1752 ("poppler-qt5" ,poppler-qt5)
1753 ("taglib" ,taglib)))
1754 (home-page "https://community.kde.org/Frameworks")
1755 (synopsis "Extract metadata from different fileformats")
1756 (description "KFileMetaData provides a simple library for extracting the
1757 text and metadata from a number of different files. This library is typically
1758 used by file indexers to retrieve the metadata. This library can also be used
1759 by applications to write metadata.")
1760 (license (list license:lgpl2.0 license:lgpl2.1 license:lgpl3))))
1762 (define-public kimageformats
1764 (name "kimageformats")
1769 "mirror://kde/stable/frameworks/"
1770 (version-major+minor version) "/"
1771 name "-" version ".tar.xz"))
1774 "0pk4b725wapzdxv1mm6ddqcl6z8ffcpr32i5vrhrin8awi5gx13s"))))
1775 (build-system cmake-build-system)
1777 `(("extra-cmake-modules" ,extra-cmake-modules)
1778 ("pkg-config" ,pkg-config)))
1780 `(("karchive" ,karchive) ; for Krita and OpenRaster images
1781 ("openexr" ,openexr) ; for OpenEXR high dynamic-range images
1782 ("qtbase" ,qtbase)))
1785 (modify-phases %standard-phases
1786 ;; This test fails regularly (also at KDE CI, see
1787 ;; https://build.kde.org/job/Frameworks%20kimageformats%20kf5-qt5%20XenialQt5.7/6/testReport/)
1788 ;; delete offending portion
1789 (add-after 'unpack 'neuter-read-xcf-test
1791 (delete-file "autotests/read/xcf/simple-rgba-gimp-2.8.10.png")
1792 (delete-file "autotests/read/xcf/simple-rgba-gimp-2.8.10.xcf")))
1793 (add-before 'check 'check-setup
1795 ;; make Qt render "offscreen", required for tests
1796 (setenv "QT_QPA_PLATFORM" "offscreen")
1797 (setenv "QT_PLUGIN_PATH"
1798 (string-append (getcwd) "/bin:"
1799 (getenv "QT_PLUGIN_PATH")))
1801 ;; FIXME: The header files of ilmbase (propagated by openexr) are not
1802 ;; found when included by the header files of openexr, and an explicit
1803 ;; flag needs to be set.
1805 (list (string-append "-DCMAKE_CXX_FLAGS=-I"
1806 (assoc-ref %build-inputs "ilmbase")
1807 "/include/OpenEXR"))))
1808 (home-page "https://community.kde.org/Frameworks")
1809 (synopsis "Plugins to allow QImage to support extra file formats")
1810 (description "This framework provides additional image format plugins for
1811 QtGui. As such it is not required for the compilation of any other software,
1812 but may be a runtime requirement for Qt-based software to support certain image
1814 (license license:lgpl2.1+)))
1816 (define-public kjobwidgets
1818 (name "kjobwidgets")
1823 "mirror://kde/stable/frameworks/"
1824 (version-major+minor version) "/"
1825 name "-" version ".tar.xz"))
1828 "13kdczzyyh17hf6vlhh4li5bn4yq5bab5xa8mm63r9rynxihgclf"))))
1829 (build-system cmake-build-system)
1831 `(("extra-cmake-modules" ,extra-cmake-modules)
1832 ("qttools" ,qttools)))
1834 `(("kcoreaddons" ,kcoreaddons)
1835 ("kwidgetsaddons" ,kwidgetsaddons)
1837 ("qtx11extras" ,qtx11extras)))
1838 (home-page "https://community.kde.org/Frameworks")
1839 (synopsis "Widgets for showing progress of asynchronous jobs")
1840 (description "KJobWIdgets provides widgets for showing progress of
1841 asynchronous jobs.")
1842 (license license:lgpl2.1+)))
1844 (define-public knotifications
1846 (name "knotifications")
1851 "mirror://kde/stable/frameworks/"
1852 (version-major+minor version) "/"
1853 name "-" version ".tar.xz"))
1856 "01bn23xw2n53h9nl99lm3cjnqs8s66bmwkzf6fkpg9rzkykizbyc"))))
1857 (build-system cmake-build-system)
1859 `(("extra-cmake-modules" ,extra-cmake-modules)
1861 ("qttools" ,qttools)))
1863 `(("kcodecs" ,kcodecs)
1864 ("kconfig" ,kconfig)
1865 ("kcoreaddons" ,kcoreaddons)
1866 ("kwindowsystem" ,kwindowsystem)
1869 ("qtspeech" ,qtspeech)
1870 ;; TODO: Think about adding dbusmenu-qt5 from
1871 ;; https://launchpad.net/libdbusmenu-qt
1872 ("qtx11extras" ,qtx11extras)))
1875 (modify-phases %standard-phases
1876 (add-before 'check 'check-setup
1878 (setenv "HOME" (getcwd))
1882 (setenv "DBUS_FATAL_WARNINGS" "0")
1883 (invoke "dbus-launch" "ctest" "."))))))
1884 (home-page "https://community.kde.org/Frameworks")
1885 (synopsis "Desktop notifications")
1886 (description "KNotification is used to notify the user of an event. It
1887 covers feedback and persistent events.")
1888 (license license:lgpl2.1+)))
1890 (define-public kpackage
1897 "mirror://kde/stable/frameworks/"
1898 (version-major+minor version) "/"
1899 name "-" version ".tar.xz"))
1902 "03rp7p7i8ihz5wg58gjs638jk7xbszknfiy2j3r979snc57g95mv"))
1903 ;; Default to: external paths/symlinks can be followed by a
1905 (patches (search-patches "kpackage-allow-external-paths.patch"
1906 "kpackage-fix-KF5PackageMacros.cmake.patch"))))
1907 (build-system cmake-build-system)
1909 `(("extra-cmake-modules" ,extra-cmake-modules)))
1911 `(("karchive" ,karchive)
1912 ("kconfig" ,kconfig)
1913 ("kcoreaddons" ,kcoreaddons)
1914 ("kdoctools" ,kdoctools)
1916 ("qtbase" ,qtbase)))
1919 (modify-phases %standard-phases
1920 (add-after 'unpack 'patch
1922 ;; Make QDirIterator follow symlinks
1923 (substitute* '("src/kpackage/packageloader.cpp"
1924 "src/kpackage/private/packagejobthread.cpp")
1925 (("^\\s*(const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories)(;)" _ a b)
1926 (string-append a " | QDirIterator::FollowSymlinks" b))
1927 (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
1928 (string-append a " | QDirIterator::FollowSymlinks" b)))
1930 (add-after 'unpack 'patch-tests
1932 ;; /bin/ls doesn't exist in the build-container use /etc/passwd
1933 (substitute* "autotests/packagestructuretest.cpp"
1934 (("(addDirectoryDefinition\\(\")bin(\".*\")bin(\".*\")bin\""
1936 (string-append a "etc" b "etc" c "etc\""))
1937 (("filePath\\(\"bin\", QStringLiteral\\(\"ls\"))")
1938 "filePath(\"etc\", QStringLiteral(\"passwd\"))")
1939 (("\"/bin/ls\"") "\"/etc/passwd\""))
1941 (add-before 'check 'check-setup
1943 (setenv "HOME" (getcwd))
1945 (home-page "https://community.kde.org/Frameworks")
1946 (synopsis "Installation and loading of additional content as packages")
1947 (description "The Package framework lets the user install and load packages
1948 of non binary content such as scripted extensions or graphic assets, as if they
1949 were traditional plugins.")
1950 (license (list license:gpl2+ license:lgpl2.1+))))
1959 "mirror://kde/stable/frameworks/"
1960 (version-major+minor version) "/"
1961 name "-" version ".tar.xz"))
1964 "1hp6iilr2asf2269linfazjv4yjg7rsi8wydxx53yyr99r0bgmah"))))
1965 (build-system cmake-build-system)
1967 `(("extra-cmake-modules" ,extra-cmake-modules)))
1969 `(("kcoreaddons" ,kcoreaddons)
1971 ;; TODO: utempter, for managing UTMP entries
1972 ("qtbase" ,qtbase)))
1974 `(#:tests? #f ; FIXME: 1/1 tests fail.
1976 (modify-phases %standard-phases
1977 (add-after 'unpack 'patch-tests
1979 (substitute* "autotests/kptyprocesstest.cpp"
1980 (("/bin/bash") (which "bash")))
1982 (home-page "https://community.kde.org/Frameworks")
1983 (synopsis "Interfacing with pseudo terminal devices")
1984 (description "This library provides primitives to interface with pseudo
1985 terminal devices as well as a KProcess derived class for running child processes
1986 and communicating with them using a pty.")
1987 (license (list license:gpl2+ license:lgpl2.1+))))
1989 (define-public kunitconversion
1991 (name "kunitconversion")
1996 "mirror://kde/stable/frameworks/"
1997 (version-major+minor version) "/"
1998 name "-" version ".tar.xz"))
2001 "0sp4gfzpf40cdi0xnff9sn7b75z88j0589svz4rv77q5m137cgnn"))))
2002 (build-system cmake-build-system)
2005 (modify-phases %standard-phases
2006 (add-after 'unpack 'disable-a-failing-test-case
2008 ;; FIXME: Re-enable this test-case. It was committed with the
2009 ;; message: "tsan says it's clean, apart from issues in Qt
2010 ;; (reported upstream)"
2011 (substitute* "autotests/convertertest.cpp"
2012 (("const int numThreads = 2") "const int numThreads = 0")))))))
2014 `(("extra-cmake-modules" ,extra-cmake-modules)))
2017 ("qtbase" ,qtbase)))
2018 (home-page "https://community.kde.org/Frameworks")
2019 (synopsis "Converting physical units")
2020 (description "KUnitConversion provides functions to convert values in
2021 different physical units. It supports converting different prefixes (e.g. kilo,
2022 mega, giga) as well as converting between different unit systems (e.g. liters,
2024 (license license:lgpl2.1+)))
2026 (define-public syndication
2028 (name "syndication")
2033 "mirror://kde/stable/frameworks/"
2034 (version-major+minor version) "/"
2035 name "-" version ".tar.xz"))
2038 "1n3x8s1z4kd30xirfr07hi87vwhk4rilb5kslcjcgp5n9c0imcpv"))))
2039 (build-system cmake-build-system)
2041 `(("extra-cmake-modules" ,extra-cmake-modules)))
2043 `(("kcodecs" ,kcodecs)
2044 ("qtbase" ,qtbase)))
2045 (home-page "https://community.kde.org/Frameworks")
2046 (synopsis "RSS/Atom parser library")
2047 (description "@code{syndication} supports RSS (0.9/1.0, 0.91..2.0) and
2048 Atom (0.3 and 1.0) feeds. The library offers a unified, format-agnostic view
2049 on the parsed feed, so that the using application does not need to distinguish
2050 between feed formats.")
2051 (license license:lgpl2.1+)))
2056 ;; Tier 3 frameworks are generally more powerful, comprehensive packages, and
2057 ;; consequently have more complex dependencies.
2059 (define-public baloo
2066 "mirror://kde/stable/frameworks/"
2067 (version-major+minor version) "/"
2068 name "-" version ".tar.xz"))
2071 "1cf5pp9hn3pqypwyzh63ksasap3n7qz6n3y2xgb83ss3fra90pjf"))))
2072 (build-system cmake-build-system)
2074 `(("kcoreaddons" ,kcoreaddons)
2075 ("kfilemetadata" ,kfilemetadata)))
2078 ("extra-cmake-modules" ,extra-cmake-modules)))
2080 `(("kbookmarks" ,kbookmarks)
2081 ("kcompletion" ,kcompletion)
2082 ("kconfig" ,kconfig)
2084 ("kdbusaddons" ,kdbusaddons)
2085 ("kidletime" ,kidletime)
2087 ("kitemviews" ,kitemviews)
2089 ("kjobwidgets" ,kjobwidgets)
2090 ("kservice" ,kservice)
2091 ("kwidgetsaddons" ,kwidgetsaddons)
2092 ("kxmlgui" ,kxmlgui)
2095 ("qtdeclarative" ,qtdeclarative)
2099 (modify-phases %standard-phases
2100 (add-before 'check 'check-setup
2102 (setenv "HOME" (getcwd))
2103 ;; make Qt render "offscreen", required for tests
2104 (setenv "QT_QPA_PLATFORM" "offscreen")
2105 (with-output-to-file "bin/BLACKLIST"
2107 ;; Blacklist some failing tests. FIXME: Make them pass.
2108 (display "[testRenameFile]\n*\n")
2109 (display "[testMoveFile]\n*\n")))
2111 (add-after 'unpack 'remove-failing-test
2113 ;; FIXME: kinotifytest broke in 5.70.0 with commit 73183acf00 and
2114 ;; seems like an oversight. Reverting the commit makes it pass,
2115 ;; but causes other problems. Since just the test file names are
2116 ;; broken, disabling it should be safe. Try enabling for > 5.70.0.
2117 (substitute* "autotests/unit/file/CMakeLists.txt"
2118 ;; The test only runs on GNU/Linux, piggy-back on the check.
2119 (("CMAKE_SYSTEM_NAME MATCHES \"Linux\"" all)
2120 (string-append all " AND NOT TRUE")))
2124 (setenv "DBUS_FATAL_WARNINGS" "0")
2125 (invoke "dbus-launch" "ctest" "."))))))
2126 (home-page "https://community.kde.org/Frameworks")
2127 (synopsis "File searching and indexing")
2128 (description "Baloo provides file searching and indexing. It does so by
2129 maintaining an index of the contents of your files.")
2131 (license (list license:gpl2+ license:lgpl2.1+))))
2133 (define-public kactivities-stats
2135 (name "kactivities-stats")
2140 "mirror://kde/stable/frameworks/"
2141 (version-major+minor version) "/"
2142 name "-" version ".tar.xz"))
2145 "1cnfdnxkw9hwbqdzdygp2vzwxqwqhxyipzwdcgar0clgnf7zi7wx"))))
2146 (build-system cmake-build-system)
2148 `(("extra-cmake-modules" ,extra-cmake-modules)))
2151 ("kactivities" ,kactivities)
2152 ("kconfig" ,kconfig)
2154 ("qtdeclarative" ,qtdeclarative)))
2155 (home-page "https://community.kde.org/Frameworks")
2156 (synopsis "Access usage statistics collected by the activity manager")
2157 (description "The KActivitiesStats library provides a querying mechanism for
2158 the data that the activity manager collects---which documents have been opened
2159 by which applications, and what documents have been linked to which activity.")
2161 (license (list license:lgpl2.0+ license:lgpl2.1+ license:lgpl3+))))
2163 (define-public kbookmarks
2170 "mirror://kde/stable/frameworks/"
2171 (version-major+minor version) "/"
2172 name "-" version ".tar.xz"))
2175 "1i5vcyvyc9whmflbcg2kc562ch93yscfic1c1n9z347g26jmgras"))))
2176 (build-system cmake-build-system)
2178 `(("kwidgetsaddons" ,kwidgetsaddons)))
2180 `(("extra-cmake-modules" ,extra-cmake-modules)
2181 ("qttools" ,qttools)))
2184 ("kcodecs" ,kcodecs)
2185 ("kconfig" ,kconfig)
2186 ("kconfigwidgets" ,kconfigwidgets)
2187 ("kcoreaddons" ,kcoreaddons)
2188 ("kiconthemes" ,kiconthemes)
2189 ("kxmlgui" ,kxmlgui)
2190 ("qtbase" ,qtbase)))
2193 (modify-phases %standard-phases
2194 (add-before 'check 'check-setup
2196 (setenv "HOME" (getcwd))
2197 ;; make Qt render "offscreen", required for tests
2198 (setenv "QT_QPA_PLATFORM" "offscreen")
2200 (home-page "https://community.kde.org/Frameworks")
2201 (synopsis "Bookmarks management library")
2202 (description "KBookmarks lets you access and manipulate bookmarks stored
2203 using the XBEL format.")
2204 (license license:lgpl2.1+)))
2206 (define-public kcmutils
2213 "mirror://kde/stable/frameworks/"
2214 (version-major+minor version) "/"
2215 name "-" version ".tar.xz"))
2218 "08f4yr546brl1dppp0khvsw9ihmh9a7rp505913pdhi0sklaiimz"))))
2219 (build-system cmake-build-system)
2221 `(("kconfigwidgets" ,kconfigwidgets)
2222 ("kservice" ,kservice)))
2224 `(("extra-cmake-modules" ,extra-cmake-modules)))
2227 (modify-phases %standard-phases
2228 (add-after 'unpack 'patch
2230 (substitute* "src/kpluginselector.cpp"
2231 ;; make QDirIterator follow symlinks
2232 (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
2233 (string-append a " | QDirIterator::FollowSymlinks" b)))
2234 (substitute* "src/kcmoduleloader.cpp"
2235 ;; print plugin name when loading fails
2236 (("^\\s*(qWarning\\(\\) << \"Error loading) (plugin:\")( << loader\\.errorString\\(\\);)" _ a b c)
2237 (string-append a " KCM plugin\" << mod.service()->library() << \":\"" c)))
2241 ("kcodecs" ,kcodecs)
2242 ("kconfig" ,kconfig)
2243 ("kcoreaddons" ,kcoreaddons)
2244 ("kdeclarative" ,kdeclarative)
2245 ("kguiaddons" ,kguiaddons)
2246 ("kiconthemes" ,kiconthemes)
2247 ("kitemviews" ,kitemviews)
2249 ("kpackage" ,kpackage)
2250 ("kwidgetsaddons" ,kwidgetsaddons)
2251 ("kxmlgui" ,kxmlgui)
2253 ("qtdeclarative" ,qtdeclarative)))
2254 (home-page "https://community.kde.org/Frameworks")
2255 (synopsis "Utilities for KDE System Settings modules")
2256 (description "KCMUtils provides various classes to work with KCModules.
2257 KCModules can be created with the KConfigWidgets framework.")
2258 (license license:lgpl2.1+)))
2260 (define-public kconfigwidgets
2262 (name "kconfigwidgets")
2267 "mirror://kde/stable/frameworks/"
2268 (version-major+minor version) "/"
2269 name "-" version ".tar.xz"))
2272 "195dw7nyr3fp78y3vfnyjh0hwgwk46f80wdcm8dck5rkscl3v9xz"))))
2273 (build-system qt-build-system)
2276 ("kcodecs" ,kcodecs)
2277 ("kconfig" ,kconfig)
2278 ("kwidgetsaddons" ,kwidgetsaddons)))
2280 `(("extra-cmake-modules" ,extra-cmake-modules)
2281 ("kdoctools" ,kdoctools)))
2283 `(("kcoreaddons" ,kcoreaddons)
2284 ("kguiaddons" ,kguiaddons)
2286 ;; todo: PythonModuleGeneration
2288 ("qttools" ,qttools)))
2291 (modify-phases %standard-phases
2292 (add-after 'unpack 'patch
2294 (substitute* "src/khelpclient.cpp"
2295 ;; make QDirIterator follow symlinks
2296 (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
2297 (string-append a " | QDirIterator::FollowSymlinks" b)))
2299 (home-page "https://community.kde.org/Frameworks")
2300 (synopsis "Widgets for configuration dialogs")
2301 (description "KConfigWidgets provides easy-to-use classes to create
2302 configuration dialogs, as well as a set of widgets which uses KConfig to store
2305 (license (list license:gpl2+ license:lgpl2.1+))))
2307 (define-public kdeclarative
2309 (name "kdeclarative")
2314 "mirror://kde/stable/frameworks/"
2315 (version-major+minor version) "/"
2316 name "-" version ".tar.xz"))
2319 "1vq9pkrb0zsphi2sfx7cyy1kb6pklzjkmqdf5202z8vydlkc4549"))))
2320 (build-system cmake-build-system)
2322 `(("kconfig" ,kconfig)
2323 ("kpackage" ,kpackage)))
2325 `(("extra-cmake-modules" ,extra-cmake-modules)
2326 ("pkg-config" ,pkg-config)
2327 ("xorg-server" ,xorg-server-for-tests)))
2330 ("kbookmarks" ,kbookmarks)
2331 ("kcodecs" ,kcodecs)
2332 ("kcompletion" ,kcompletion)
2333 ("kconfigwidgets" ,kconfigwidgets)
2334 ("kcoreaddons" ,kcoreaddons)
2335 ("kglobalaccel" ,kglobalaccel)
2336 ("kguiaddons" ,kguiaddons)
2337 ("kiconthemes" ,kiconthemes)
2339 ("kitemviews" ,kitemviews)
2341 ("kjobwidgets" ,kjobwidgets)
2342 ("kservice" ,kservice)
2343 ("kwidgetsaddons" ,kwidgetsaddons)
2344 ("kwindowsystem" ,kwindowsystem)
2345 ("kxmlgui" ,kxmlgui)
2346 ("libepoxy" ,libepoxy)
2348 ("qtdeclarative" ,qtdeclarative)
2352 (modify-phases %standard-phases
2353 (add-before 'check 'start-xorg-server
2354 (lambda* (#:key inputs #:allow-other-keys)
2355 ;; The test suite requires a running X server, setting
2356 ;; QT_QPA_PLATFORM=offscreen does not suffice.
2357 (system (string-append (assoc-ref inputs "xorg-server")
2358 "/bin/Xvfb :1 -screen 0 640x480x24 &"))
2359 (setenv "DISPLAY" ":1")
2361 (home-page "https://community.kde.org/Frameworks")
2362 (synopsis "Integration of QML and KDE work spaces")
2363 (description "KDeclarative provides integration of QML and KDE work spaces.
2364 It's comprises two parts: a library used by the C++ part of your application to
2365 intergrate QML with KDE Frameworks specific features, and a series of QML imports
2366 that offer bindings to some of the Frameworks.")
2368 (license (list license:gpl2+ license:lgpl2.1+))))
2377 "mirror://kde/stable/frameworks/"
2378 (version-major+minor version) "/"
2379 name "-" version ".tar.xz"))
2382 "0zqd33vy4ny7g9as3bhd75qi1chz1nlqq133pgw8kjanvghwwnk9"))))
2383 (build-system cmake-build-system)
2385 `(("extra-cmake-modules" ,extra-cmake-modules)))
2387 `(("kconfig" ,kconfig)
2388 ("kcoreaddons" ,kcoreaddons)
2390 ("kdbusaddons" ,kdbusaddons)
2391 ("kdoctools" ,kdoctools)
2393 ("kservice" ,kservice)
2394 ("qtbase" ,qtbase)))
2395 (home-page "https://community.kde.org/Frameworks")
2396 (synopsis "Central daemon of KDE work spaces")
2397 (description "KDED stands for KDE Daemon. KDED runs in the background and
2398 performs a number of small tasks. Some of these tasks are built in, others are
2399 started on demand.")
2401 (license (list license:lgpl2.0+ license:lgpl2.1+))))
2403 (define-public kdesignerplugin
2405 (name "kdesignerplugin")
2410 "mirror://kde/stable/frameworks/"
2411 (version-major+minor version) "/portingAids/"
2412 name "-" version ".tar.xz"))
2415 "0dr6gcag2yzx8fvxis4x403jrcisywds95cywmiyz3pb5727cak2"))))
2416 (build-system qt-build-system)
2418 `(("extra-cmake-modules" ,extra-cmake-modules)
2419 ("qttools" ,qttools)))
2421 `(("kconfig" ,kconfig)
2422 ("kcoreaddons" ,kcoreaddons)
2423 ("kdoctools" ,kdoctools)
2426 ("kcompletion" ,kcompletion)
2427 ("kconfigwidgets" ,kconfigwidgets)
2428 ("kiconthemes" ,kiconthemes)
2429 ("kitemviews" ,kitemviews)
2431 ("kplotting" ,kplotting)
2432 ("ktextwidgets" ,ktextwidgets)
2433 ("kdewebkit" ,kdewebkit)
2434 ("kwidgetsaddons" ,kwidgetsaddons)
2435 ("kxmlgui" ,kxmlgui)
2436 ("qtwebkit" ,qtwebkit)
2437 ("sonnet" ,sonnet)))
2438 (home-page "https://community.kde.org/Frameworks")
2439 (synopsis "Integrating KDE frameworks widgets with Qt Designer")
2440 (description "This framework provides plugins for Qt Designer that allow it
2441 to display the widgets provided by various KDE frameworks, as well as a utility
2442 (kgendesignerplugin) that can be used to generate other such plugins from
2443 ini-style description files.")
2444 (license license:lgpl2.1+)))
2446 (define-public kdesu
2453 "mirror://kde/stable/frameworks/"
2454 (version-major+minor version) "/"
2455 name "-" version ".tar.xz"))
2458 "17k29g7jwgqj5xdmr509438b9sq65zx8khdr4viybjf5xpi0cf5m"))))
2459 (build-system cmake-build-system)
2463 `(("extra-cmake-modules" ,extra-cmake-modules)))
2465 `(("kconfig" ,kconfig)
2466 ("kcoreaddons" ,kcoreaddons)
2468 ("kservice" ,kservice)
2469 ("qtbase" ,qtbase)))
2470 (home-page "https://community.kde.org/Frameworks")
2471 (synopsis "User interface for running shell commands with root privileges")
2472 (description "KDESU provides functionality for building GUI front ends for
2473 (password asking) console mode programs. kdesu and kdessh use it to interface
2474 with su and ssh respectively.")
2475 (license license:lgpl2.1+)))
2477 (define-public kdewebkit
2484 "mirror://kde/stable/frameworks/"
2485 (version-major+minor version) "/portingAids/"
2486 name "-" version ".tar.xz"))
2489 "0y9ja3znkvzdbjfs91dwr4cmvl9fk97zpz2lkf0f9zhm2nw6q008"))))
2490 (build-system cmake-build-system)
2492 `(("extra-cmake-modules" ,extra-cmake-modules)
2493 ("qttools" ,qttools)))
2495 `(("kconfig" ,kconfig)
2496 ("kcoreaddons" ,kcoreaddons)
2498 ("kjobwidgets" ,kjobwidgets)
2500 ("kservice" ,kservice)
2501 ("kwallet" ,kwallet)
2503 ("qtwebkit" ,qtwebkit)))
2504 (home-page "https://community.kde.org/Frameworks")
2505 (synopsis "KDE Integration for QtWebKit")
2506 (description "This library provides KDE integration of the HTML rendering
2507 engine WebKit via QtWebKit.")
2508 (license license:lgpl2.1+)))
2510 (define-public kemoticons
2517 "mirror://kde/stable/frameworks/"
2518 (version-major+minor version) "/"
2519 name "-" version ".tar.xz"))
2522 "11v1srn3nii4j7cn4f19qvdw96pczwxhanzxlg4a9gf8kmnp5gxr"))))
2523 (build-system cmake-build-system)
2525 `(("kservice" ,kservice)))
2527 `(("extra-cmake-modules" ,extra-cmake-modules)))
2529 `(("karchive" ,karchive)
2530 ("kconfig" ,kconfig)
2531 ("kcoreaddons" ,kcoreaddons)
2532 ("qtbase" ,qtbase)))
2535 (modify-phases %standard-phases
2536 (add-before 'check 'check-setup
2538 (setenv "HOME" (getcwd))
2539 ;; make Qt render "offscreen", required for tests
2540 (setenv "QT_QPA_PLATFORM" "offscreen")
2542 (home-page "https://community.kde.org/Frameworks")
2543 (synopsis "Convert text emoticons to graphical emoticons")
2544 (description "KEmoticons converts emoticons from text to a graphical
2545 representation with images in HTML. It supports setting different themes for
2546 emoticons coming from different providers.")
2547 ;; dual licensed, image files are licensed under cc-by-sa4.0
2548 (license (list license:gpl2+ license:lgpl2.1+ license:cc-by-sa4.0))))
2550 (define-public kglobalaccel
2552 (name "kglobalaccel")
2557 "mirror://kde/stable/frameworks/"
2558 (version-major+minor version) "/"
2559 name "-" version ".tar.xz"))
2562 "0hmqigc8myiwwh7m6y2cm4vn0d3kmrhia179hyb84vpvvn3lm93z"))))
2563 (build-system qt-build-system)
2565 `(("extra-cmake-modules" ,extra-cmake-modules)
2566 ("pkg-config" ,pkg-config)
2567 ("qttools" ,qttools)))
2569 `(("kconfig" ,kconfig)
2571 ("kcoreaddons" ,kcoreaddons)
2572 ("kdbusaddons" ,kdbusaddons)
2573 ("kservice" ,kservice)
2574 ("kwindowsystem" ,kwindowsystem)
2577 ("qtx11extras" ,qtx11extras)
2578 ("xcb-util-keysyms" ,xcb-util-keysyms)))
2579 (home-page "https://community.kde.org/Frameworks")
2580 (synopsis "Global desktop keyboard shortcuts")
2581 (description "KGlobalAccel allows you to have global accelerators that are
2582 independent of the focused window. Unlike regular shortcuts, the application's
2583 window does not need focus for them to be activated.")
2584 (license license:lgpl2.1+)))
2586 (define-public kiconthemes
2588 (name "kiconthemes")
2593 "mirror://kde/stable/frameworks/"
2594 (version-major+minor version) "/"
2595 name "-" version ".tar.xz"))
2598 "09bqpf3drqyfc81vgab9bsh1wm5qbzdwqjlczhax38660nnvh0r9"))))
2599 (build-system cmake-build-system)
2601 `(("extra-cmake-modules" ,extra-cmake-modules)
2602 ("qttools" ,qttools)
2603 ("shared-mime-info" ,shared-mime-info)))
2605 `(("karchive" ,karchive)
2607 ("kcodecs" ,kcodecs)
2608 ("kcoreaddons" ,kcoreaddons)
2609 ("kconfig" ,kconfig)
2610 ("kconfigwidgets" ,kconfigwidgets)
2612 ("kitemviews" ,kitemviews)
2613 ("kwidgetsaddons" ,kwidgetsaddons)
2618 (modify-phases %standard-phases
2619 (add-before 'check 'check-setup
2620 (lambda* (#:key inputs #:allow-other-keys)
2621 (setenv "XDG_DATA_DIRS"
2622 (string-append (assoc-ref inputs "shared-mime-info")
2624 (setenv "HOME" (getcwd))
2625 ;; make Qt render "offscreen", required for tests
2626 (setenv "QT_QPA_PLATFORM" "offscreen")
2628 (home-page "https://community.kde.org/Frameworks")
2629 (synopsis "Icon GUI utilities")
2630 (description "This library contains classes to improve the handling of icons
2631 in applications using the KDE Frameworks.")
2632 (license license:lgpl2.1+)))
2634 (define-public kinit
2641 "mirror://kde/stable/frameworks/"
2642 (version-major+minor version) "/"
2643 name "-" version ".tar.xz"))
2646 "1x4whs8p1daxjfp4ksf70rxrv7fx3w17s5wh6446039wzz9bv6ki"))
2647 ;; Use the store paths for other packages and dynamically loaded
2649 (patches (search-patches "kinit-kdeinit-extra_libs.patch"
2650 "kinit-kdeinit-libpath.patch"))))
2651 (build-system cmake-build-system)
2654 (modify-phases %standard-phases
2655 (add-after 'unpack 'patch-paths
2656 (lambda* (#:key inputs outputs #:allow-other-keys)
2657 ;; Set patched-in values:
2658 (substitute* "src/kdeinit/kinit.cpp"
2659 (("GUIX_PKGS_KF5_KIO") (assoc-ref inputs "kio"))
2660 (("GUIX_PKGS_KF5_PARTS") (assoc-ref inputs "kparts"))
2661 (("GUIX_PKGS_KF5_PLASMA") (assoc-ref inputs "plasma-framework")))
2663 (native-search-paths
2664 (list (search-path-specification
2665 (variable "KDEINIT5_LIBRARY_PATH")
2666 (files '("lib/")))))
2668 `(("extra-cmake-modules" ,extra-cmake-modules)
2669 ("pkg-config" ,pkg-config)))
2672 ("kbookmarks" ,kbookmarks)
2673 ("kcodecs" ,kcodecs)
2674 ("kcompletion" ,kcompletion)
2675 ("kconfig" ,kconfig)
2676 ("kconfigwidgets" ,kconfigwidgets)
2677 ("kcoreaddons" ,kcoreaddons)
2679 ("kdbusaddons" ,kdbusaddons)
2680 ("kdoctools" ,kdoctools)
2682 ("kitemviews" ,kitemviews)
2684 ("kjobwidgets" ,kjobwidgets)
2686 ("kservice" ,kservice)
2687 ("kwidgetsaddons" ,kwidgetsaddons)
2688 ("kwindowsystem" ,kwindowsystem)
2689 ("kxmlgui" ,kxmlgui)
2690 ("libcap" ,libcap) ; to install start_kdeinit with CAP_SYS_RESOURCE
2691 ("plasma-framework" ,plasma-framework)
2694 (home-page "https://community.kde.org/Frameworks")
2695 (synopsis "Library to speed up start of applications on KDE workspaces")
2696 (description "Kdeinit is a process launcher similar to init used for booting
2697 UNIX. It launches processes by forking and then loading a dynamic library which
2698 contains a @code{kdemain(@dots{})} function. Using kdeinit to launch KDE
2699 applications makes starting KDE applications faster and reduces memory
2702 (license (list license:lgpl2.0+ license:lgpl2.1+))))
2711 "mirror://kde/stable/frameworks/"
2712 (version-major+minor version) "/"
2713 name "-" version ".tar.xz"))
2716 "1f33jdjjx6k1d5fab35x8xakc4ny9fyfrgkbib60xncc82lz2h5l"))
2717 (patches (search-patches "kio-search-smbd-on-PATH.patch"))))
2718 (build-system cmake-build-system)
2720 `(("kbookmarks" ,kbookmarks)
2721 ("kconfig" ,kconfig)
2722 ("kcompletion" ,kcompletion)
2723 ("kcoreaddons" ,kcoreaddons)
2724 ("kitemviews" ,kitemviews)
2725 ("kjobwidgets" ,kjobwidgets)
2726 ("kservice" ,kservice)
2727 ("kwindowsystem" ,kwindowsystem)
2728 ("kxmlgui" ,kxmlgui)
2732 ("qttools" ,qttools)
2733 ("extra-cmake-modules" ,extra-cmake-modules)))
2735 `(;; TODO: LibACL , <ftp://oss.sgi.com/projects/xfs/cmd_tars>
2737 ("karchive" ,karchive)
2739 ("kcodecs" ,kcodecs)
2740 ("kconfigwidgets" ,kconfigwidgets)
2742 ("kdbusaddons" ,kdbusaddons)
2743 ("kdoctools" ,kdoctools)
2744 ("kiconthemes" ,kiconthemes)
2746 ("knotifications" ,knotifications)
2747 ("ktextwidgets" ,ktextwidgets)
2748 ("kwallet" ,kwallet)
2749 ("kwidgetsaddons" ,kwidgetsaddons)
2750 ("libxml2" ,libxml2)
2751 ("libxslt" ,libxslt)
2753 ("qtscript" ,qtscript)
2754 ("qtx11extras" ,qtx11extras)
2755 ("sonnet" ,sonnet)))
2757 `(#:tests? #f ; FIXME: 41/50 tests fail.
2759 (modify-phases %standard-phases
2760 (add-after 'unpack 'patch
2762 ;; Better error message (taken from NixOS)
2763 (substitute* "src/kiod/kiod_main.cpp"
2764 (("(^\\s*qCWarning(KIOD_CATEGORY) << \"Error loading plugin:\")( << loader.errorString();)" _ a b)
2765 (string-append a "<< name" b)))
2767 (add-before 'check 'check-setup
2769 (setenv "HOME" (getcwd))
2770 (setenv "XDG_RUNTIME_DIR" (getcwd))
2771 ;; make Qt render "offscreen", required for tests
2772 (setenv "QT_QPA_PLATFORM" "offscreen")
2774 (add-after 'install 'add-symlinks
2775 ;; Some package(s) (e.g. bluedevil) refer to these service types by
2776 ;; the wrong name. I would prefer to patch those packages, but I
2777 ;; cannot find the files!
2778 (lambda* (#:key outputs #:allow-other-keys)
2779 (let ((kst5 (string-append (assoc-ref outputs "out")
2780 "/share/kservicetypes5/")))
2781 (symlink (string-append kst5 "kfileitemactionplugin.desktop")
2782 (string-append kst5 "kfileitemaction-plugin.desktop"))))))))
2785 ;; (setenv "DBUS_FATAL_WARNINGS" "0")
2786 ;; (zero? (system* "dbus-launch" "ctest" ".")))))))
2787 (home-page "https://community.kde.org/Frameworks")
2788 (synopsis "Network transparent access to files and data")
2789 (description "This framework implements a lot of file management functions.
2790 It supports accessing files locally as well as via HTTP and FTP out of the box
2791 and can be extended by plugins to support other protocols as well. There is a
2792 variety of plugins available, e.g. to support access via SSH. The framework can
2793 also be used to bridge a native protocol to a file-based interface. This makes
2794 the data accessible in all applications using the KDE file dialog or any other
2795 KIO enabled infrastructure.")
2796 (license license:lgpl2.1+)))
2798 (define-public knewstuff
2805 "mirror://kde/stable/frameworks/"
2806 (version-major+minor version) "/"
2807 name "-" version ".tar.xz"))
2810 "1hpxj4nawh57w8l64gjplb5mk5fpxiffm4x49kg75m637rxy19fq"))))
2811 (build-system cmake-build-system)
2813 `(("attica" ,attica)
2814 ("kservice" ,kservice)
2815 ("kxmlgui" ,kxmlgui)))
2817 `(("extra-cmake-modules" ,extra-cmake-modules)))
2819 `(("karchive" ,karchive)
2821 ("kbookmarks" ,kbookmarks)
2822 ("kcodecs" ,kcodecs)
2823 ("kcompletion" ,kcompletion)
2824 ("kconfig" ,kconfig)
2825 ("kconfigwidgets" ,kconfigwidgets)
2826 ("kcoreaddons" ,kcoreaddons)
2828 ("kitemviews" ,kitemviews)
2830 ("kiconthemes" ,kiconthemes)
2831 ("kjobwidgets" ,kjobwidgets)
2832 ("ktextwidgets" ,ktextwidgets)
2833 ("kwidgetsaddons" ,kwidgetsaddons)
2835 ("qtdeclarative" ,qtdeclarative)
2837 ("sonnet" ,sonnet)))
2840 (modify-phases %standard-phases
2841 (add-before 'check 'check-setup
2842 (lambda _ ; XDG_DATA_DIRS isn't set
2843 (setenv "HOME" (getcwd))
2844 ;; make Qt render "offscreen", required for tests
2845 (setenv "QT_QPA_PLATFORM" "offscreen")
2847 (home-page "https://community.kde.org/Frameworks")
2848 (synopsis "Framework for downloading and sharing additional application data")
2849 (description "The KNewStuff library implements collaborative data sharing
2850 for applications. It uses libattica to support the Open Collaboration Services
2852 (license license:lgpl2.1+)))
2854 (define-public knotifyconfig
2856 (name "knotifyconfig")
2861 "mirror://kde/stable/frameworks/"
2862 (version-major+minor version) "/"
2863 name "-" version ".tar.xz"))
2866 "1d483qrgyamwsqvcl70klv1g8744hn8z1h2j3qfydcvlwz8jy0gj"))))
2867 (build-system cmake-build-system)
2869 `(("extra-cmake-modules" ,extra-cmake-modules)))
2872 ("kbookmarks" ,kbookmarks)
2873 ("kcodecs" ,kcodecs)
2874 ("kcompletion" ,kcompletion)
2875 ("kconfig" ,kconfig)
2876 ("kconfigwidgets" ,kconfigwidgets)
2877 ("kcoreaddons" ,kcoreaddons)
2879 ("kitemviews" ,kitemviews)
2881 ("kjobwidgets" ,kjobwidgets)
2882 ("knotifications" ,knotifications)
2883 ("kservice" ,kservice)
2884 ("kwidgetsaddons" ,kwidgetsaddons)
2885 ("kxmlgui" ,kxmlgui)
2889 (home-page "https://community.kde.org/Frameworks")
2890 (synopsis "Configuration dialog for desktop notifications")
2891 (description "KNotifyConfig provides a configuration dialog for desktop
2892 notifications which can be embedded in your application.")
2894 (license (list license:lgpl2.0+ license:lgpl2.1+))))
2896 (define-public kparts
2903 "mirror://kde/stable/frameworks/"
2904 (version-major+minor version) "/"
2905 name "-" version ".tar.xz"))
2908 "1gfaxr856zrsjxzdxw1sj12s6aib6r703jgf7yvsl8kilg8l2gsk"))))
2909 (build-system qt-build-system)
2911 '(#:phases (modify-phases %standard-phases
2912 (add-after 'unpack 'disable-partloader-test
2914 (substitute* "autotests/CMakeLists.txt"
2915 ;; XXX: PartLoaderTest wants to create a .desktop file
2916 ;; in the common locations and test that MIME types work.
2917 ;; The setup required for this is extensive, skip for now.
2918 (("partloadertest\\.cpp") ""))
2922 ("ktextwidgets" ,ktextwidgets)
2923 ("kxmlgui" ,kxmlgui)))
2925 `(("extra-cmake-modules" ,extra-cmake-modules)
2926 ("shared-mime-info" ,shared-mime-info)))
2929 ("kbookmarks" ,kbookmarks)
2930 ("kcodecs" ,kcodecs)
2931 ("kcompletion" ,kcompletion)
2932 ("kconfig" ,kconfig)
2933 ("kconfigwidgets" ,kconfigwidgets)
2934 ("kcoreaddons" ,kcoreaddons)
2935 ("kiconthemes" ,kiconthemes)
2936 ("kitemviews" ,kitemviews)
2938 ("kjobwidgets" ,kjobwidgets)
2939 ("kservice" ,kservice)
2940 ("kwidgetsaddons" ,kwidgetsaddons)
2943 ("sonnet" ,sonnet)))
2944 (home-page "https://community.kde.org/Frameworks")
2945 (synopsis "Plugin framework for user interface components")
2946 (description "This library implements the framework for KDE parts, which are
2947 widgets with a user-interface defined in terms of actions.")
2948 (license license:lgpl2.1+)))
2950 (define-public kpeople
2957 "mirror://kde/stable/frameworks/"
2958 (version-major+minor version) "/"
2959 name "-" version ".tar.xz"))
2962 "1dhvly19pj9lx78g7mc89scibzmra1vhv4zz33222zidkbrf9ryl"))))
2963 (build-system qt-build-system)
2965 `(("extra-cmake-modules" ,extra-cmake-modules)))
2967 `(("kconfig" ,kconfig)
2968 ("kcoreaddons" ,kcoreaddons)
2969 ("kitemviews" ,kitemviews)
2971 ("kservice" ,kservice)
2972 ("kwidgetsaddons" ,kwidgetsaddons)
2974 ("qtdeclarative" ,qtdeclarative)))
2976 `(#:tests? #f)) ; FIXME: 1/3 tests fail.
2977 (home-page "https://community.kde.org/Frameworks")
2978 (synopsis "Provides access to all contacts and aggregates them by person")
2979 (description "KPeople offers unified access to our contacts from different
2980 sources, grouping them by person while still exposing all the data. KPeople
2981 also provides facilities to integrate the data provided in user interfaces by
2982 providing QML and Qt Widgets components. The sources are plugin-based, allowing
2983 to easily extend the contacts collection.")
2984 (license license:lgpl2.1+)))
2986 (define-public krunner
2993 "mirror://kde/stable/frameworks/"
2994 (version-major+minor version) "/"
2995 name "-" version ".tar.xz"))
2998 "0fhb26vi9z1mky79kq12qq4g4ghz3530cx84n5l3sdgkd6nfsyqf"))))
2999 (build-system cmake-build-system)
3001 `(("plasma-framework" ,plasma-framework)))
3003 `(("extra-cmake-modules" ,extra-cmake-modules)
3009 ("kbookmarks" ,kbookmarks)
3010 ("kcodecs" ,kcodecs)
3011 ("kcompletion" ,kcompletion)
3012 ("kconfig" ,kconfig)
3013 ("kconfigwidgets" ,kconfigwidgets)
3014 ("kcoreaddons" ,kcoreaddons)
3016 ("kitemviews" ,kitemviews)
3018 ("kjobwidgets" ,kjobwidgets)
3019 ("kpackage" ,kpackage)
3020 ("kservice" ,kservice)
3021 ("kwidgetsaddons" ,kwidgetsaddons)
3022 ("kwindowsystem" ,kwindowsystem)
3023 ("kxmlgui" ,kxmlgui)
3025 ("qtdeclarative" ,qtdeclarative)
3027 ("threadweaver" ,threadweaver)))
3030 (modify-phases %standard-phases
3031 (add-after 'unpack 'fix-paths-for-test
3032 ;; This test tries to access paths like /home, /usr/bin and /bin/ls
3033 ;; which don't exist in the build-container. Change to existing paths.
3035 (substitute* "autotests/runnercontexttest.cpp"
3036 (("/home\"") "/tmp\"") ;; single path-part
3037 (("//usr/bin\"") (string-append (getcwd) "\"")) ;; multiple path-parts
3039 (string-append (assoc-ref %build-inputs "coreutils") path)))))
3040 (add-before 'check 'check-setup
3042 (setenv "HOME" (getcwd))
3043 ;; make Qt render "offscreen", required for tests
3044 (setenv "QT_QPA_PLATFORM" "offscreen")
3045 ;; Blacklist some failing test-functions. FIXME: Make them pass.
3046 (with-output-to-file "bin/BLACKLIST"
3048 (display "[testMatch]\n*\n")
3049 (display "[testMulti]\n*\n")))
3053 (invoke "dbus-launch" "ctest" "."))))))
3054 (home-page "https://community.kde.org/Frameworks")
3055 (synopsis "Framework for Plasma runners")
3056 (description "The Plasma workspace provides an application called KRunner
3057 which, among other things, allows one to type into a text area which causes
3058 various actions and information that match the text appear as the text is being
3060 (license license:lgpl2.1+)))
3062 (define-public kservice
3069 "mirror://kde/stable/frameworks/"
3070 (version-major+minor version) "/"
3071 name "-" version ".tar.xz"))
3074 "0g49p5331f7dl46rvi43akmjm1jx70w9797j6d17jy7z9s9sqikw"))))
3075 (build-system cmake-build-system)
3077 `(("kconfig" ,kconfig)
3078 ("kcoreaddons" ,kcoreaddons)))
3081 ("extra-cmake-modules" ,extra-cmake-modules)
3084 `(("kcrash" ,kcrash)
3085 ("kdbusaddons" ,kdbusaddons)
3086 ("kdoctools" ,kdoctools)
3088 ("qtbase" ,qtbase)))
3090 `(#:tests? #f ; FIXME: 6/10 tests fail.
3092 (modify-phases %standard-phases
3093 (add-after 'unpack 'patch
3094 ;; Adopted from NixOS' patches "qdiriterator-follow-symlinks" and
3095 ;; "no-canonicalize-path".
3097 (substitute* "src/sycoca/kbuildsycoca.cpp"
3098 ;; make QDirIterator follow symlinks
3099 (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
3100 (string-append a " | QDirIterator::FollowSymlinks" b)))
3101 (substitute* "src/sycoca/vfolder_menu.cpp"
3102 ;; Normalize path, but don't resolve symlinks (taken from
3104 (("^\\s*QString resolved = QDir\\(dir\\)\\.canonicalPath\\(\\);")
3105 "QString resolved = QDir::cleanPath(dir);"))
3107 (add-before 'check 'check-setup
3109 (setenv "HOME" (getcwd))
3110 ;; make Qt render "offscreen", required for tests
3111 (setenv "QT_QPA_PLATFORM" "offscreen")
3113 (home-page "https://community.kde.org/Frameworks")
3114 (synopsis "Plugin framework for desktop services")
3115 (description "KService provides a plugin framework for handling desktop
3116 services. Services can be applications or libraries. They can be bound to MIME
3117 types or handled by application specific code.")
3119 (license (list license:gpl2+ license:gpl3+ license:lgpl2.1+))))
3121 (define-public ktexteditor
3123 (name "ktexteditor")
3128 "mirror://kde/stable/frameworks/"
3129 (version-major+minor version) "/"
3130 "ktexteditor-" version ".tar.xz"))
3133 "0k10yj1ia1w1mznj4g5nvp65p226zcvgwxc85ycn2w8lbkknidf7"))))
3134 (build-system cmake-build-system)
3136 `(("kparts" ,kparts)))
3138 `(("extra-cmake-modules" ,extra-cmake-modules)
3139 ("pkg-config" ,pkg-config)))
3141 `(;; TODO: editor-config
3142 ("karchive" ,karchive)
3144 ("kbookmarks" ,kbookmarks)
3145 ("kcodecs" ,kcodecs)
3146 ("kcompletion" ,kcompletion)
3147 ("kconfig" ,kconfig)
3148 ("kconfigwidgets" ,kconfigwidgets)
3149 ("kcoreaddons" ,kcoreaddons)
3150 ("kguiaddons" ,kguiaddons)
3151 ("kiconthemes" ,kiconthemes)
3153 ("kitemviews" ,kitemviews)
3155 ("kjobwidgets" ,kjobwidgets)
3156 ("kservice" ,kservice)
3157 ("ksyntaxhighlighting" ,ksyntaxhighlighting)
3158 ("ktextwidgets" ,ktextwidgets)
3159 ("kwidgetsaddons" ,kwidgetsaddons)
3160 ("kxmlgui" ,kxmlgui)
3161 ("libgit2" ,libgit2)
3164 ("qtdeclarative" ,qtdeclarative)
3165 ("qtscript" ,qtscript)
3166 ("qtxmlpatterns" ,qtxmlpatterns)
3168 ("sonnet" ,sonnet)))
3170 `(#:tests? #f ; FIXME: 2/54 tests fail: Cannot find fontdirectory qtbase/lib/font
3172 (modify-phases %standard-phases
3173 (add-after 'unpack 'setup
3174 (lambda* (#:key inputs #:allow-other-keys)
3175 (setenv "XDG_DATA_DIRS" ; FIXME build phase doesn't find parts.desktop
3176 (string-append (assoc-ref inputs "kparts") "/share"))
3178 (add-before 'check 'check-setup
3180 (setenv "HOME" (getcwd))
3181 ;; make Qt render "offscreen", required for tests
3182 (setenv "QT_QPA_PLATFORM" "offscreen")
3184 (add-after 'install 'add-symlinks
3185 ;; Some package(s) (e.g. plasma-sdk) refer to these service types
3186 ;; by the wrong name. I would prefer to patch those packages, but
3187 ;; I cannot find the files!
3188 (lambda* (#:key outputs #:allow-other-keys)
3189 (let ((kst5 (string-append (assoc-ref outputs "out")
3190 "/share/kservicetypes5/")))
3191 (symlink (string-append kst5 "ktexteditorplugin.desktop")
3192 (string-append kst5 "ktexteditor-plugin.desktop"))
3194 (home-page "https://community.kde.org/Frameworks")
3195 (synopsis "Full text editor component")
3196 (description "KTextEditor provides a powerful text editor component that you
3197 can embed in your application, either as a KPart or using the KF5::TextEditor
3200 (license (list license:gpl2+ license:lgpl2.0+ license:lgpl2.1+))))
3202 (define-public ktextwidgets
3204 (name "ktextwidgets")
3209 "mirror://kde/stable/frameworks/"
3210 (version-major+minor version) "/"
3211 name "-" version ".tar.xz"))
3214 "1609rlwba674kr9whawk93vb1b14b5ly7wvir7kjyjp4j715f47w"))))
3215 (build-system qt-build-system)
3218 ("sonnet" ,sonnet)))
3220 `(("extra-cmake-modules" ,extra-cmake-modules)
3221 ("qttools" ,qttools)))
3224 ("kcodecs" ,kcodecs)
3225 ("kcompletion" ,kcompletion)
3226 ("kconfig" ,kconfig)
3227 ("kconfigwidgets" ,kconfigwidgets)
3228 ("kcoreaddons" ,kcoreaddons)
3229 ("kiconthemes" ,kiconthemes)
3230 ("kservice" ,kservice)
3231 ("kwidgetsaddons" ,kwidgetsaddons)
3232 ("kwindowsystem" ,kwindowsystem)
3234 ("qtspeech" ,qtspeech)))
3235 (home-page "https://community.kde.org/Frameworks")
3236 (synopsis "Text editing widgets")
3237 (description "KTextWidgets provides widgets for displaying and editing text.
3238 It supports rich text as well as plain text.")
3240 (license (list license:lgpl2.0+ license:lgpl2.1+))))
3242 (define-public kwallet
3249 "mirror://kde/stable/frameworks/"
3250 (version-major+minor version) "/"
3251 name "-" version ".tar.xz"))
3254 "1ps6ywcirv7xcisvwfcpvk53wm7m8y5lrz4nhkm36rizrdglw19r"))))
3255 (build-system cmake-build-system)
3257 `(("extra-cmake-modules" ,extra-cmake-modules)))
3261 ("kcodecs" ,kcodecs)
3262 ("kconfig" ,kconfig)
3263 ("kconfigwidgets" ,kconfigwidgets)
3264 ("kcoreaddons" ,kcoreaddons)
3265 ("kdbusaddons" ,kdbusaddons)
3266 ("kdoctools" ,kdoctools)
3267 ("kiconthemes" ,kiconthemes)
3269 ("knotifications" ,knotifications)
3270 ("kservice" ,kservice)
3271 ("kwidgetsaddons" ,kwidgetsaddons)
3272 ("kwindowsystem" ,kwindowsystem)
3273 ("libgcrypt" ,libgcrypt)
3276 ("qtbase" ,qtbase)))
3277 (home-page "https://community.kde.org/Frameworks")
3278 (synopsis "Safe desktop-wide storage for passwords")
3279 (description "This framework contains an interface to KWallet, a safe
3280 desktop-wide storage for passwords and the kwalletd daemon used to safely store
3281 the passwords on KDE work spaces.")
3282 (license license:lgpl2.1+)))
3284 (define-public kxmlgui
3291 "mirror://kde/stable/frameworks/"
3292 (version-major+minor version) "/"
3293 name "-" version ".tar.xz"))
3296 "0cvzcq2dcz89c0ffhvfb820hfmqa87mfdbjvrqjwdysc9lr8zx8f"))))
3297 (build-system cmake-build-system)
3299 `(("kconfig" ,kconfig)
3300 ("kconfigwidgets" ,kconfigwidgets)))
3302 `(("extra-cmake-modules" ,extra-cmake-modules)
3303 ("qttools" ,qttools)))
3305 `(("attica" ,attica)
3307 ("kcodecs" ,kcodecs)
3308 ("kcoreaddons" ,kcoreaddons)
3309 ("kglobalaccel" ,kglobalaccel)
3310 ("kiconthemes" ,kiconthemes)
3311 ("kitemviews" ,kitemviews)
3313 ("ktextwidgets" ,ktextwidgets)
3314 ("kwidgetsaddons" ,kwidgetsaddons)
3315 ("kwindowsystem" ,kwindowsystem)
3317 ("sonnet" ,sonnet)))
3319 `(#:tests? #f ; FIXME: 1/5 tests fail.
3321 (modify-phases %standard-phases
3322 (add-before 'check 'check-setup
3324 (setenv "HOME" (getcwd))
3325 ;; make Qt render "offscreen", required for tests
3326 (setenv "QT_QPA_PLATFORM" "offscreen")
3328 (home-page "https://community.kde.org/Frameworks")
3329 (synopsis "Framework for managing menu and toolbar actions")
3330 (description "KXMLGUI provides a framework for managing menu and toolbar
3331 actions in an abstract way. The actions are configured through a XML description
3332 and hooks in the application code. The framework supports merging of multiple
3333 descriptions for integrating actions from plugins.")
3335 (license (list license:gpl2+ license:lgpl2.1+))))
3337 (define-public kxmlrpcclient
3339 (name "kxmlrpcclient")
3344 "mirror://kde/stable/frameworks/"
3345 (version-major+minor version) "/"
3346 name "-" version ".tar.xz"))
3349 "1cmfv2w9yfi8jhj5nawfz7kw8jbr1k5cr3n5xv3z59pg2vazsx8b"))))
3350 (build-system cmake-build-system)
3354 `(("extra-cmake-modules" ,extra-cmake-modules)))
3357 ("kbookmarks" ,kbookmarks)
3358 ("kcodecs" ,kcodecs)
3359 ("kcompletion" ,kcompletion)
3360 ("kconfig" ,kconfig)
3361 ("kconfigwidgets" ,kconfigwidgets)
3362 ("kcoreaddons" ,kcoreaddons)
3363 ("kitemviews" ,kitemviews)
3365 ("kjobwidgets" ,kjobwidgets)
3366 ("kservice" ,kservice)
3367 ("kwidgetsaddons" ,kwidgetsaddons)
3368 ("kxmlgui" ,kxmlgui)
3371 (home-page "https://community.kde.org/Frameworks")
3372 (synopsis "XML-RPC client")
3373 (description "This library contains simple XML-RPC Client support. It is a
3374 complete client and is easy to use. Only one interface is exposed,
3375 kxmlrpcclient/client.h and from that interface, you only need to use 3 methods:
3376 setUrl, setUserAgent and call.")
3378 (license (list license:bsd-2 license:lgpl2.1+))))
3380 (define-public plasma-framework
3382 (name "plasma-framework")
3387 "mirror://kde/stable/frameworks/"
3388 (version-major+minor version) "/"
3389 name "-" version ".tar.xz"))
3392 "06cxajsxj62g3c37ssrrcaxb9a12zbyp2kvrjqym329k5vd89272"))
3393 (patches (search-patches "plasma-framework-fix-KF5PlasmaMacros.cmake.patch"))))
3394 (build-system cmake-build-system)
3396 `(("kpackage" ,kpackage)
3397 ("kservice" ,kservice)))
3399 `(("extra-cmake-modules" ,extra-cmake-modules)
3400 ("pkg-config" ,pkg-config)))
3402 `(("kactivities" ,kactivities)
3403 ("karchive" ,karchive)
3405 ("kbookmarks" ,kbookmarks)
3406 ("kcodecs" ,kcodecs)
3407 ("kcompletion" ,kcompletion)
3408 ("kconfig" ,kconfig)
3409 ("kconfigwidgets" ,kconfigwidgets)
3410 ("kcoreaddons" ,kcoreaddons)
3411 ("kdbusaddons" ,kdbusaddons)
3412 ("kdeclarative" ,kdeclarative)
3413 ("kdoctools" ,kdoctools)
3414 ("kglobalaccel" ,kglobalaccel)
3415 ("kguiaddons" ,kguiaddons)
3416 ("kiconthemes" ,kiconthemes)
3417 ("kirigami" ,kirigami)
3418 ("kitemviews" ,kitemviews)
3421 ("kjobwidgets" ,kjobwidgets)
3422 ("knotificantions" ,knotifications)
3423 ("kwayland" ,kwayland)
3424 ("kwidgetsaddons" ,kwidgetsaddons)
3425 ("kwindowsystem" ,kwindowsystem)
3426 ("kxmlgui" ,kxmlgui)
3429 ("qtdeclarative" ,qtdeclarative)
3430 ("qtquickcontrols2" ,qtquickcontrols2)
3432 ("qtx11extras" ,qtx11extras)
3435 `(#:tests? #f ; FIXME: 9/15 tests fail.
3437 (modify-phases %standard-phases
3438 (add-before 'check 'check-setup
3440 (setenv "HOME" (getcwd))
3441 ;; make Qt render "offscreen", required for tests
3442 (setenv "QT_QPA_PLATFORM" "offscreen")
3444 (home-page "https://community.kde.org/Frameworks")
3445 (synopsis "Libraries, components and tools of Plasma workspaces")
3446 (description "The plasma framework provides QML components, libplasma and
3449 (license (list license:gpl2+ license:lgpl2.1+))))
3451 (define-public purpose
3458 "mirror://kde/stable/frameworks/"
3459 (version-major+minor version) "/"
3460 name "-" version ".tar.xz"))
3463 "1pxlx2hgj42zsisws8f486n8sg0vn5a5mhb85prifwkaw0rqzgah"))))
3464 (build-system cmake-build-system)
3466 `(("extra-cmake-modules" ,extra-cmake-modules)))
3468 `(;;TODO: ("kaccounts" ,kaccounts)
3469 ("kconfig" ,kconfig)
3470 ("kcoreaddons" ,kcoreaddons)
3471 ("knotifications" ,knotifications)
3474 ("kirigami" ,kirigami)
3476 ("qtdeclarative" ,qtdeclarative)))
3478 `(#:tests? #f ;; seem to require network; don't find QTQuick components
3479 #:configure-flags '("-DBUILD_TESTING=OFF"))) ; not run anyway
3480 (home-page "https://community.kde.org/Frameworks")
3481 (synopsis "Offers available actions for a specific purpose")
3482 (description "This framework offers the possibility to create integrate
3483 services and actions on any application without having to implement them
3484 specifically. Purpose will offer them mechanisms to list the different
3485 alternatives to execute given the requested action type and will facilitate
3486 components so that all the plugins can receive all the information they
3488 (license license:lgpl2.1+)))
3490 ;; This version of kdbusaddons does not use kinit as an input, and is used to
3491 ;; build kinit-bootstrap, as well as bootstrap versions of all kinit
3492 ;; dependencies which also rely on kdbusaddons.
3493 (define kdbusaddons-bootstrap
3495 (inherit kdbusaddons)
3497 (inherit (package-source kdbusaddons))
3499 (inputs (alist-delete "kinit" (package-inputs kdbusaddons)))
3501 (substitute-keyword-arguments (package-arguments kdbusaddons)
3503 `(modify-phases ,phases
3504 (delete 'patch-source)))))))
3506 (define kinit-bootstrap
3507 ((package-input-rewriting `((,kdbusaddons . ,kdbusaddons-bootstrap))) kinit))
3512 ;; Tier 4 frameworks can be mostly ignored by application programmers; this
3513 ;; tier consists of plugins acting behind the scenes to provide additional
3514 ;; functionality or platform integration to existing frameworks (including
3517 (define-public kde-frameworkintegration
3519 (name "kde-frameworkintegration")
3524 "mirror://kde/stable/frameworks/"
3525 (version-major+minor version) "/"
3526 "frameworkintegration-" version ".tar.xz"))
3529 "1lvccvhhkzdv1hw627kw3ds18gfq4bxdhlvh959piqxq5gh9d2n0"))))
3530 (build-system cmake-build-system)
3532 `(("extra-cmake-modules" ,extra-cmake-modules)
3533 ("pkg-config" ,pkg-config)))
3534 ;; TODO: Optional packages not yet in Guix: packagekitqt5, AppStreamQt
3536 `(("kconfig" ,kconfig)
3537 ("kconfigwidgets" ,kconfigwidgets)
3538 ("kcoreaddons" ,kcoreaddons)
3540 ("kiconthemes" ,kiconthemes)
3541 ("kitemviews" ,kitemviews)
3542 ("knewstuff" ,knewstuff)
3543 ("knotificantions" ,knotifications)
3544 ("kpackage" ,kpackage)
3545 ("kwidgetsaddons" ,kwidgetsaddons)
3547 ("qtx11extras" ,qtx11extras)))
3550 (modify-phases %standard-phases
3551 (add-before 'check 'check-setup
3553 (setenv "HOME" (getcwd))
3554 ;; Make Qt render "offscreen", required for tests
3555 (setenv "QT_QPA_PLATFORM" "offscreen")
3557 (home-page "https://community.kde.org/Frameworks")
3558 (synopsis "KDE Frameworks 5 workspace and cross-framework integration plugins")
3559 (description "Framework Integration is a set of plugins responsible for
3560 better integration of Qt applications when running on a KDE Plasma
3562 ;; This package is distributed under either LGPL2 or LGPL3, but some
3563 ;; files are explicitly LGPL2+.
3564 (license (list license:lgpl2.0 license:lgpl3 license:lgpl2.0+))
3565 (properties `((upstream-name . "frameworkintegration")))))
3570 ;; Porting Aids frameworks provide code and utilities to ease the transition
3571 ;; from kdelibs 4 to KDE Frameworks 5. Code should aim to port away from this
3572 ;; framework, new projects should avoid using these libraries.
3574 (define-public kdelibs4support
3576 (name "kdelibs4support")
3582 "mirror://kde/stable/frameworks/"
3583 (version-major+minor version) "/portingAids/"
3584 name "-" version ".tar.xz"))
3586 (base32 "0imkibjlfc0jshdzr05fz5dy2xmfhvgsfan9b1r35spwsn5qkawx"))))
3587 (build-system cmake-build-system)
3590 ("docbook-xml" ,docbook-xml-4.4) ; optional
3591 ("extra-cmake-modules" ,extra-cmake-modules)
3593 ("perl-uri" ,perl-uri)
3594 ("pkg-config" ,pkg-config)
3595 ("shared-mime-info" ,shared-mime-info)
3596 ("kjobwidgets" ,kjobwidgets) ;; required for running the tests
3598 ("tzdata" ,tzdata-for-tests)))
3600 ;; These are required to be installed along with this package, see
3601 ;; lib64/cmake/KF5KDELibs4Support/KF5KDELibs4SupportConfig.cmake
3602 `(("karchive" ,karchive)
3604 ("kconfigwidgets" ,kconfigwidgets)
3605 ("kcoreaddons" ,kcoreaddons)
3607 ("kdbusaddons" ,kdbusaddons)
3608 ("kdesignerplugin" ,kdesignerplugin)
3609 ("kdoctools" ,kdoctools)
3610 ("kemoticons" ,kemoticons)
3611 ("kguiaddons" ,kguiaddons)
3612 ("kiconthemes" ,kiconthemes)
3614 ("kitemmodels" ,kitemmodels)
3615 ("knotifications" ,knotifications)
3617 ("ktextwidgets" ,ktextwidgets)
3618 ("kunitconversion" ,kunitconversion)
3619 ("kwindowsystem" ,kwindowsystem)
3620 ("qtbase" ,qtbase)))
3622 `(("kcompletion" ,kcompletion)
3623 ("kconfig" ,kconfig)
3625 ("kglobalaccel" ,kglobalaccel)
3628 ("kservice" ,kservice)
3629 ("kwidgetsaddons" ,kwidgetsaddons)
3630 ("kxmlgui" ,kxmlgui)
3632 ("networkmanager-qt" ,networkmanager-qt)
3633 ("openssl" ,openssl)
3635 ("qttools" ,qttools)
3636 ("qtx11extras" ,qtx11extras)))
3637 ;; FIXME: Use Guix ca-bundle.crt in etc/xdg/ksslcalist and
3638 ;; share/kf5/kssl/ca-bundle.crt
3639 ;; TODO: NixOS has nix-kde-include-dir.patch to change std-dir "include"
3640 ;; into "@dev@/include/". Think about whether this is needed for us, too.
3643 (modify-phases %standard-phases
3644 (add-after 'unpack 'make-cmake-to-find-docbook
3646 (substitute* "cmake/FindDocBookXML4.cmake"
3647 (("^.*xml/docbook/schema/dtd.*$")
3648 "xml/dtd/docbook\n"))
3651 (add-after 'install 'check-post-install
3652 (lambda* (#:key inputs tests? #:allow-other-keys)
3653 (setenv "HOME" (getcwd))
3654 (setenv "TZDIR" ; KDateTimeTestsome needs TZDIR
3655 (string-append (assoc-ref inputs "tzdata")
3657 ;; Make Qt render "offscreen", required for tests
3658 (setenv "QT_QPA_PLATFORM" "offscreen")
3659 ;; enable debug output
3660 (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; enable debug output
3661 (setenv "DBUS_FATAL_WARNINGS" "0")
3662 ;; Make kstandarddirstest pass (see https://bugs.kde.org/381098)
3663 (mkdir-p ".kde-unit-test/xdg/config")
3664 (with-output-to-file ".kde-unit-test/xdg/config/foorc"
3665 (lambda () #t)) ;; simply touch the file
3666 ;; Blacklist a test-function (failing at build.kde.org, too).
3667 (with-output-to-file "autotests/BLACKLIST"
3669 (display "[testSmb]\n*\n")))
3670 ;; kuniqueapptest hangs. FIXME: Make this test pass.
3671 (invoke "dbus-launch" "ctest" "."
3672 "-E" "kstandarddirstest|kuniqueapptest"))))))
3673 (home-page "https://community.kde.org/Frameworks")
3674 (synopsis "KDE Frameworks 5 porting aid from KDELibs4")
3675 (description "This framework provides code and utilities to ease the
3676 transition from kdelibs 4 to KDE Frameworks 5. This includes CMake macros and
3677 C++ classes whose functionality has been replaced by code in CMake, Qt and
3680 Code should aim to port away from this framework eventually. The API
3681 documentation of the classes in this framework and the notes at
3682 http://community.kde.org/Frameworks/Porting_Notes should help with this.")
3683 ;; Most files are distributed under LGPL2+, but the package includes code
3684 ;; under a variety of licenses.
3685 (license (list license:lgpl2.1+ license:lgpl2.0 license:lgpl2.0+
3686 license:gpl2 license:gpl2+
3687 license:expat license:bsd-2 license:bsd-3
3688 license:public-domain))))
3690 (define-public khtml
3698 "mirror://kde/stable/frameworks/"
3699 (version-major+minor version) "/portingAids/"
3700 name "-" version ".tar.xz"))
3702 (base32 "1jh0g6xv57hyclnh54x0f72lby1gvlisan23y7mzlqf67aky52s5"))))
3703 (build-system qt-build-system)
3705 `(("extra-cmake-modules" ,extra-cmake-modules)
3708 `(("giflib" ,giflib)
3710 ("karchive" ,karchive)
3711 ("kcodecs" ,kcodecs)
3712 ("kglobalaccel" ,kglobalaccel)
3714 ("kiconthemes" ,kiconthemes)
3717 ("knotifications" ,knotifications)
3719 ("ktextwidgets" ,ktextwidgets)
3720 ("kwallet" ,kwallet)
3721 ("kwidgetsaddons" ,kwidgetsaddons)
3722 ("kwindowsystem" ,kwindowsystem)
3723 ("kxmlgui" ,kxmlgui)
3724 ("libjpeg" ,libjpeg-turbo)
3726 ("openssl" ,openssl)
3729 ("qtx11extras" ,qtx11extras)
3730 ("sonnet" ,sonnet)))
3731 (home-page "https://community.kde.org/Frameworks")
3732 (synopsis "KDE Frameworks 5 HTML widget and component")
3733 (description "KHTML is a web rendering engine, based on the KParts
3734 technology and using KJS for JavaScript support.")
3735 ;; Most files are distributed under LGPL2+, but the package includes code
3736 ;; under a variety of licenses.
3737 (license (list license:lgpl2.0+ license:lgpl2.1+
3738 license:gpl2 license:gpl3+
3739 license:expat license:bsd-2 license:bsd-3))))
3749 "mirror://kde/stable/frameworks/"
3750 (version-major+minor version) "/portingAids/"
3751 name "-" version ".tar.xz"))
3753 (base32 "0s3n0pdz59p5v967zrxcas3lb94k5bv9vi8058fi0l20nwwlcgh5"))))
3754 (build-system cmake-build-system)
3756 `(("extra-cmake-modules" ,extra-cmake-modules)
3757 ("kdoctools" ,kdoctools)
3759 ("pkg-config" ,pkg-config)))
3762 ("qtbase" ,qtbase)))
3763 (home-page "https://community.kde.org/Frameworks")
3764 (synopsis "KDE Frameworks 5 support for Javascript scripting in Qt
3766 (description "Add-on library to Qt which adds JavaScript scripting
3768 ;; Most files are distributed under LGPL2+, but the package also includes
3769 ;; code under a variety of licenses.
3770 (license (list license:lgpl2.1+
3771 license:bsd-2 license:bsd-3
3772 (license:non-copyleft "file://src/kjs/dtoa.cpp")))))
3774 (define-public kjsembed
3782 "mirror://kde/stable/frameworks/"
3783 (version-major+minor version) "/portingAids/"
3784 name "-" version ".tar.xz"))
3786 (base32 "0976faazhxhhi1wpvpcs8hwb2knz0z7j44v3ay3hw73rq4p3bipm"))))
3787 (build-system cmake-build-system)
3789 `(("extra-cmake-modules" ,extra-cmake-modules)
3790 ("kdoctools" ,kdoctools)
3791 ("qttools" ,qttools)))
3797 (home-page "https://community.kde.org/Frameworks")
3798 (synopsis "KDE Frameworks 5 embedded Javascript engine for Qt")
3799 (description "KJSEmbed provides a method of binding Javascript objects to
3800 QObjects, so you can script your applications.")
3801 (license license:lgpl2.1+)))
3803 (define-public kmediaplayer
3805 (name "kmediaplayer")
3811 "mirror://kde/stable/frameworks/"
3812 (version-major+minor version) "/portingAids/"
3813 name "-" version ".tar.xz"))
3815 (base32 "0lrm4y727nhwaivl37zpmnrwx048gfhyjw19m6q5z9p37lk43jja"))))
3816 (build-system qt-build-system)
3818 `(("extra-cmake-modules" ,extra-cmake-modules)
3819 ("kdoctools" ,kdoctools)
3820 ("qttools" ,qttools)))
3822 `(("kcompletion" ,kcompletion)
3823 ("kcoreaddons" ,kcoreaddons)
3825 ("kiconthemes" ,kiconthemes)
3828 ("kwidgetsaddons" ,kwidgetsaddons)
3829 ("kxmlgui" ,kxmlgui)
3830 ("qtbase" ,qtbase)))
3831 (home-page "https://community.kde.org/Frameworks")
3832 (synopsis "KDE Frameworks 5 plugin interface for media player features")
3833 (description "KMediaPlayer builds on the KParts framework to provide a
3834 common interface for KParts that can play media files.
3836 This framework is a porting aid. It is not recommended for new projects, and
3837 existing projects that use it are advised to port away from it, and use plain
3839 (license license:expat)))
3841 (define-public kross
3849 "mirror://kde/stable/frameworks/"
3850 (version-major+minor version) "/portingAids/"
3851 name "-" version ".tar.xz"))
3853 (base32 "12b527l12rcf421p613ydbacilp9v9iy90ma35w21sdf9a15k675"))))
3854 (build-system cmake-build-system)
3856 `(("extra-cmake-modules" ,extra-cmake-modules)
3857 ("kdoctools" ,kdoctools)
3858 ("qttools" ,qttools)))
3860 `(("kcompletion" ,kcompletion)
3861 ("kcoreaddons" ,kcoreaddons)
3863 ("kiconthemes" ,kiconthemes)
3865 ("kwidgetsaddons" ,kwidgetsaddons)
3866 ("kxmlgui" ,kxmlgui)
3868 ("qtscript" ,qtscript)))
3869 (home-page "https://community.kde.org/Frameworks")
3870 (synopsis "KDE Frameworks 5 solution for application scripting")
3871 (description "Kross is a scripting bridge for the KDE Development Platform
3872 used to embed scripting functionality into an application. It supports
3873 QtScript as a scripting interpreter backend.
3875 Kross provides an abstract API to provide scripting functionality in a
3876 interpreter-independent way. The application that uses Kross should not need
3877 to know anything about the scripting language being used. The core of Kross
3878 provides the framework to deal transparently with interpreter-backends and
3879 offers abstract functionality to deal with scripts.")
3880 ;; Most files are distributed under LGPL2+, but the package includes code
3881 ;; under a variety of licenses.
3882 (license (list license:lgpl2.0+ license:lgpl2.1+
3883 license:lgpl2.0 license:gpl3+))))