projects/guix·blob javascript-team · refs

5088 lines · 183.9 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2015, 2023 Andreas Enge <[email protected]>
3;;; Copyright © 2016, 2017, 2019, 2020, 2022, 2023 Efraim Flashner <[email protected]>
4;;; Copyright © 2016-2020 Hartmut Goebel <[email protected]>
5;;; Copyright © 2016 David Craven <[email protected]>
6;;; Copyright © 2017 Thomas Danckaert <[email protected]>
7;;; Copyright © 2018, 2019, 2021 Tobias Geerinckx-Rice <[email protected]>
8;;; Copyright © 2019 Ricardo Wurmus <[email protected]>
9;;; Copyright © 2020 Vincent Legoll <[email protected]>
10;;; Copyright © 2020 Marius Bakke <[email protected]>
11;;; Copyright © 2021 Alexandros Theodotou <[email protected]>
12;;; Copyright © 2022 Brendan Tildesley <[email protected]>
13;;; Copyright © 2022 Petr Hodina <[email protected]>
14;;; Copyright © 2023-2025 Zheng Junjie <[email protected]>
15;;; Copyright © 2023-2026 Sughosha <[email protected]>
16;;; Copyright © 2024-2025 Maxim Cournoyer <[email protected]>
17;;;
18;;; This file is part of GNU Guix.
19;;;
20;;; GNU Guix is free software; you can redistribute it and/or modify it
21;;; under the terms of the GNU General Public License as published by
22;;; the Free Software Foundation; either version 3 of the License, or (at
23;;; your option) any later version.
24;;;
25;;; GNU Guix is distributed in the hope that it will be useful, but
26;;; WITHOUT ANY WARRANTY; without even the implied warranty of
27;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28;;; GNU General Public License for more details.
29;;;
30;;; You should have received a copy of the GNU General Public License
31;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
32
33(define-module (gnu packages kde-frameworks)
34 #:use-module (guix build-system cmake)
35 #:use-module (guix build-system pyproject)
36 #:use-module (guix build-system qt)
37 #:use-module (guix download)
38 #:use-module (guix git-download)
39 #:use-module ((guix licenses) #:prefix license:)
40 #:use-module (guix packages)
41 #:use-module (guix utils)
42 #:use-module (guix gexp)
43 #:use-module (gnu packages)
44 #:use-module (gnu packages acl)
45 #:use-module (gnu packages admin)
46 #:use-module (gnu packages aidc)
47 #:use-module (gnu packages aspell)
48 #:use-module (gnu packages attr)
49 #:use-module (gnu packages base)
50 #:use-module (gnu packages bash)
51 #:use-module (gnu packages boost)
52 #:use-module (gnu packages bison)
53 #:use-module (gnu packages boost)
54 #:use-module (gnu packages calendar)
55 #:use-module (gnu packages check)
56 #:use-module (gnu packages compression)
57 #:use-module (gnu packages databases)
58 #:use-module (gnu packages dns)
59 #:use-module (gnu packages docbook)
60 #:use-module (gnu packages ebook)
61 #:use-module (gnu packages compiler-tools)
62 #:use-module (gnu packages freedesktop)
63 #:use-module (gnu packages gettext)
64 #:use-module (gnu packages gl)
65 #:use-module (gnu packages glib)
66 #:use-module (gnu packages gnome)
67 #:use-module (gnu packages gnupg)
68 #:use-module (gnu packages gperf)
69 #:use-module (gnu packages graphics)
70 #:use-module (gnu packages gstreamer)
71 #:use-module (gnu packages gtk)
72 #:use-module (gnu packages hunspell)
73 #:use-module (gnu packages image)
74 #:use-module (gnu packages iso-codes)
75 #:use-module (gnu packages kerberos)
76 #:use-module (gnu packages kde-graphics)
77 #:use-module (gnu packages kde-multimedia)
78 #:use-module (gnu packages kde-plasma)
79 #:use-module (gnu packages libcanberra)
80 #:use-module (gnu packages linux)
81 #:use-module (gnu packages mp3)
82 #:use-module (gnu packages pdf)
83 #:use-module (gnu packages pcre)
84 #:use-module (gnu packages perl)
85 #:use-module (gnu packages photo)
86 #:use-module (gnu packages pkg-config)
87 #:use-module (gnu packages polkit)
88 #:use-module (gnu packages pulseaudio)
89 #:use-module (gnu packages python)
90 #:use-module (gnu packages python-build)
91 #:use-module (gnu packages python-xyz)
92 #:use-module (gnu packages python-web)
93 #:use-module (gnu packages qt)
94 #:use-module (gnu packages textutils)
95 #:use-module (gnu packages tls)
96 #:use-module (gnu packages text-editors)
97 #:use-module (gnu packages version-control)
98 #:use-module (gnu packages video)
99 #:use-module (gnu packages vulkan)
100 #:use-module (gnu packages web)
101 #:use-module (gnu packages window-management)
102 #:use-module (gnu packages xml)
103 #:use-module (gnu packages xdisorg)
104 #:use-module (gnu packages xorg)
105 #:use-module (srfi srfi-1))
106
107(define-public extra-cmake-modules
108 (package
109 (name "extra-cmake-modules")
110 (version "6.24.0")
111 (source (origin
112 (method url-fetch)
113 (uri (string-append
114 "mirror://kde/stable/frameworks/"
115 (version-major+minor version) "/"
116 name "-" version ".tar.xz"))
117 (sha256
118 (base32
119 "18z6l65n6zhaqsyg0s61j87mkl7yykfj17am0af0k3jqfvhzgwwf"))))
120 (build-system cmake-build-system)
121 (native-inputs
122 ;; Add test dependency, except on armhf where building it is too
123 ;; expensive.
124 (if (and (not (%current-target-system))
125 (string=? (%current-system) "armhf-linux"))
126 '()
127 (list qtbase python-minimal))) ;for tests (needs qmake)
128 (arguments
129 (list
130 #:configure-flags #~'("-DQT_MAJOR_VERSION=6")
131 #:tests? (and (not (%current-target-system))
132 (not (null? (package-native-inputs this-package))))
133 #:phases
134 #~(modify-phases %standard-phases
135 (add-after 'unpack 'fix-lib-and-libexec-path
136 (lambda _
137 (substitute* "kde-modules/KDEInstallDirsCommon.cmake"
138 ;; Always install into /lib and not into /lib64.
139 (("\"lib64\"") "\"lib\"")
140 ;; Install into /libexec and not into /lib/libexec.
141 (("LIBDIR \"libexec\"") "EXECROOTDIR \"libexec\""))
142
143 ;; Determine the install path by the major version of Qt.
144 ;; TODO: Base the following on values taken from Qt
145 ;; Install plugins into lib/qt5/plugins
146 ;; TODO: Check if this is okay for Android, too
147 ;; (see comment in KDEInstallDirs.cmake)
148 (substitute* '("kde-modules/KDEInstallDirs5.cmake"
149 "kde-modules/KDEInstallDirs6.cmake")
150 ;; Fix the installation path of Qt plugins.
151 (("_define_relative\\(QTPLUGINDIR \"\\$\\{_pluginsDirParent}\" \"plugins\"")
152 "_define_relative(QTPLUGINDIR \"${_pluginsDirParent}\" \"qt${QT_MAJOR_VERSION}/plugins\"")
153 ;; Fix the installation path of QML files.
154 (("_define_relative\\(QMLDIR LIBDIR \"qml\"")
155 "_define_relative(QMLDIR LIBDIR \"qt${QT_MAJOR_VERSION}/qml\""))
156
157 ;; Qt Quick Control 1 is no longer available in Qt 6.
158 (substitute* '("kde-modules/KDEInstallDirs5.cmake")
159 (("_define_relative\\(QTQUICKIMPORTSDIR QTPLUGINDIR \"imports\"")
160 "_define_relative(QTQUICKIMPORTSDIR LIBDIR \"qt5/imports\""))
161
162 (substitute* "modules/ECMGeneratePriFile.cmake"
163 ;; Install pri-files into lib/qt${QT_MAJOR_VERSION}/mkspecs
164 (("set\\(ECM_MKSPECS_INSTALL_DIR mkspecs/modules")
165 "set(ECM_MKSPECS_INSTALL_DIR lib/qt${QT_MAJOR_VERSION}/mkspecs/modules"))))
166 ;; Work around for the failed test KDEFetchTranslations.
167 ;; It complains that the cmake project name is not
168 ;; ".*/extra-cmake-modules".
169 ;; TODO: Fix it upstream.
170 (add-after 'unpack 'fix-test
171 (lambda _
172 (substitute* "tests/KDEFetchTranslations/CMakeLists.txt"
173 (("\\.\\*/extra-cmake-modules") "extra-cmake-modules"))))
174 ;; install and check phase are swapped to prevent install from failing
175 ;; after testsuire has run
176 (add-after 'install 'check-post-install
177 (assoc-ref %standard-phases 'check))
178 (delete 'check))))
179 ;; use for cross-compiling.
180 (native-search-paths
181 (list (search-path-specification
182 (variable "ECM_DIR")
183 (separator #f)
184 (files '("share/ECM")))))
185 ;; optional dependencies - to save space, we do not add these inputs.
186 ;; Sphinx > 1.2:
187 ;; Required to build Extra CMake Modules documentation in Qt Help format.
188 ;; Qt5LinguistTools , Qt5 linguist tools. , <http://www.qt.io/>
189 ;; Required to run tests for the ECMPoQmTools module.
190 ;; Qt5Core
191 ;; Required to run tests for the ECMQtDeclareLoggingCategory module,
192 ;; and for some tests of the KDEInstallDirs module.
193 (home-page "https://community.kde.org/Frameworks")
194 (synopsis "CMake module files for common software used by KDE")
195 (description "The Extra CMake Modules package, or ECM, adds to the
196modules provided by CMake to find common software. In addition, it provides
197common build settings used in software produced by the KDE community.")
198 (license license:bsd-3)))
199
200(define-public kquickcharts
201 (package
202 (name "kquickcharts")
203 (version "6.24.0")
204 (source (origin
205 (method url-fetch)
206 (uri (string-append "mirror://kde/stable/frameworks/"
207 (version-major+minor version)
208 "/" name "-" version ".tar.xz"))
209 (sha256
210 (base32
211 "1aqspnvgj3pq82vvq4n60q39p7vccb672ybiqifj4b3y36l18jiv"))))
212 (build-system qt-build-system)
213 (arguments (list #:qtbase qtbase))
214 ;; These packages are required by the QML modules.
215 (propagated-inputs (list kirigami qtdeclarative))
216 (native-inputs (list extra-cmake-modules glslang pkg-config))
217 (inputs (list qtshadertools))
218 (home-page "https://api.kde.org/frameworks/kquickcharts/html/index.html")
219 (synopsis "QtQuick plugin providing high-performance charts")
220 (description
221 "The Quick Charts module provides a set of charts that can be
222used from QtQuick applications for both simple display of data as well as
223continuous display of high-volume data.")
224 (license (list license:lgpl2.1 license:lgpl3))))
225
226(define-public kuserfeedback
227 ;; FIXME: Try to reduce data collection and ensure transmission i disabled by default.
228 ;; FIXME: Check https://www.reddit.com/r/kde/comments/f7ojg9 for insights
229 (package
230 (name "kuserfeedback")
231 (version "1.3.0")
232 (source
233 (origin
234 (method url-fetch)
235 (uri (string-append "mirror://kde/stable/kuserfeedback/"
236 "/kuserfeedback-" version ".tar.xz"))
237 (sha256
238 (base32 "04zx5wfzqyargbvkbd66iabi4mfsn34qh5mbhpm90inx4aw0h8r5"))))
239 (build-system qt-build-system)
240 (native-inputs
241 (list extra-cmake-modules
242 qttools
243 ;; For optional component "Survey target expression parser"
244 bison
245 flex
246 ;; For syntax checking and unit tests of PHP server code
247 ;;("php" ,php)
248 ;;("phpunit" ,phpunit)
249 ))
250 (inputs
251 (list qtdeclarative qtsvg))
252 (arguments
253 (list
254 #:qtbase qtbase
255 #:configure-flags #~(list "-DQT_MAJOR_VERSION=6")
256 #:tests? #f)) ;; 4/17 fail
257 (home-page "https://api.kde.org/frameworks/kuserfeedback/html/")
258 (synopsis "Collect application feedback via telemetry and targeted
259surveys")
260 (description "This framework consists of the following components:
261@itemize
262@item Libraries for use in applications.
263@item QML bindings for the above.
264@item A server application.
265@item A management and analytics application.
266@end itemize")
267 (license license:expat)))
268
269(define-public futuresql
270 (package
271 (name "futuresql")
272 (version "0.1.1")
273 (source
274 (origin
275 (method url-fetch)
276 (uri (string-append "mirror://kde/stable/futuresql/futuresql-"
277 version ".tar.xz"))
278 (sha256
279 (base32 "0hxxpv672jw3d14gk6dilphfcwkmbyffv0r9pakkr2v1m7axhkp4"))))
280 (build-system qt-build-system)
281 (native-inputs
282 (list extra-cmake-modules))
283 (inputs (list qcoro-qt6))
284 (arguments
285 (list #:qtbase qtbase
286 #:configure-flags #~(list "-DQT_MAJOR_VERSION=6")))
287 (home-page "https://api.kde.org/futuresql/html/index.html")
288 (synopsis "Non-blocking Qt database framework")
289 (description "This package provides a non-blocking Qt database framework.")
290 (license license:lgpl2.1+)))
291
292(define-public libqaccessibilityclient
293 (package
294 (name "libqaccessibilityclient")
295 (version "0.6.0")
296 (source (origin
297 (method url-fetch)
298 (uri (string-append "mirror://kde/stable/" name
299 "/libqaccessibilityclient-" version
300 ".tar.xz"))
301 (sha256
302 (base32
303 "0csxbwy4479196l32j4xnk672kiyggcaf3fi3q2cbj9dc94c8l2c"))))
304 (build-system cmake-build-system)
305 (arguments
306 (list #:tests? #f ;TODO: Failing tests
307 #:configure-flags
308 #~(list (string-append
309 "-DQT_MAJOR_VERSION="
310 #$(version-major
311 (package-version (this-package-input "qtbase")))))
312 #:phases #~(modify-phases %standard-phases
313 (replace 'check
314 (lambda* (#:key tests? #:allow-other-keys)
315 (when tests?
316 ;; make Qt render "offscreen", required for tests
317 (setenv "QT_QPA_PLATFORM" "offscreen")
318 ;; For missing '/etc/machine-id'
319 (setenv "DBUS_FATAL_WARNINGS" "0")
320 (setenv "HOME"
321 (getcwd))
322 (invoke "dbus-launch" "ctest")))))))
323 (native-inputs (list dbus extra-cmake-modules))
324 (inputs (list qtbase))
325 (home-page "https://invent.kde.org/libraries/libqaccessibilityclient")
326 (synopsis "Helper library to make writing accessibility tools easier")
327 (description "This package provides library that is used when writing
328accessibility clients such as screen readers.")
329 (license license:lgpl2.1+)))
330
331(define-public qca
332 (package
333 (name "qca")
334 (version "2.3.10")
335 (source
336 (origin
337 (method url-fetch)
338 (uri (string-append "mirror://kde/stable/qca/" version
339 "/qca-" version ".tar.xz"))
340 (sha256
341 (base32 "00jas7hf8l0y9yixwrscvk0c6vkj3h9bn9ljf5jr6m9xm4np4nqw"))))
342 (build-system cmake-build-system)
343 (native-inputs
344 (list pkg-config))
345 (inputs
346 (list openssl qtbase-5))
347 (home-page "https://userbase.kde.org/QCA")
348 (synopsis "Libraries for the Qt Cryptographic Architecture")
349 (description "The Qt Cryptographic Architecture (QCA) provides a
350straightforward and cross-platform API for a range of cryptographic features,
351including SSL/TLS, X.509 certificates, SASL, OpenPGP, S/MIME CMS, and smart
352cards.")
353 (license license:lgpl2.1+)))
354
355(define-public qca-qt6
356 (package
357 (inherit qca)
358 (name "qca-qt6")
359 (arguments (list #:configure-flags #~(list "-DBUILD_WITH_QT6=ON")))
360 (inputs
361 (list openssl qtbase qt5compat))))
362
363
364;; Tier 1
365;;
366;; Tier 1 frameworks depend only on Qt (and possibly a small number of other
367;; third-party libraries), so can easily be used by an Qt-based project.
368
369(define-public attica
370 (package
371 (name "attica")
372 (version "6.24.0")
373 (source (origin
374 (method url-fetch)
375 (uri (string-append
376 "mirror://kde/stable/frameworks/"
377 (version-major+minor version) "/"
378 name "-" version ".tar.xz"))
379 (sha256
380 (base32
381 "1jxb22qn6vm966y38v0b9g1yynlrkgqf614ippykn2dsiwa7gsk7"))))
382 (build-system cmake-build-system)
383 (native-inputs
384 (list extra-cmake-modules))
385 (inputs (list qtbase))
386 (arguments
387 (list
388 #:phases
389 #~(modify-phases %standard-phases
390 (add-after 'unpack 'disable-network-tests
391 (lambda _
392 ;; These tests require network access.
393 (substitute* "autotests/CMakeLists.txt"
394 ((".*providertest.cpp") "")))))))
395 (home-page "https://community.kde.org/Frameworks")
396 (synopsis "Open Collaboration Service client library")
397 (description "Attica is a Qt library that implements the Open
398Collaboration Services API version 1.6.
399
400It grants easy access to the services such as querying information about
401persons and contents. The library is used in KNewStuff3 as content provider.
402In order to integrate with KDE's Plasma Desktop, a platform plugin exists in
403kdebase.
404
405The REST API is defined here:
406http://freedesktop.org/wiki/Specifications/open-collaboration-services/")
407 (license (list license:lgpl2.1+ license:lgpl3+))))
408
409(define-public attica-5
410 (package
411 (inherit attica)
412 (name "attica")
413 (version "5.116.0")
414 (source (origin
415 (method url-fetch)
416 (uri (string-append
417 "mirror://kde/stable/frameworks/"
418 (version-major+minor version) "/"
419 name "-" version ".tar.xz"))
420 (sha256
421 (base32
422 "1shzs985fimd15w2d9cxpcbq7by33v05hb00rp79k6cqvp20f4b8"))))
423 (inputs (list qtbase-5))))
424
425(define-public bluez-qt
426 (package
427 (name "bluez-qt")
428 (version "6.24.0")
429 (source (origin
430 (method url-fetch)
431 (uri (string-append
432 "mirror://kde/stable/frameworks/"
433 (version-major+minor version) "/"
434 name "-" version ".tar.xz"))
435 (sha256
436 (base32
437 "1cssbvi3ap7sbk70sllkkc10409ha7zfphwsskd1f15zl9ygfz4h"))))
438 (build-system cmake-build-system)
439 (propagated-inputs
440 (list qtdeclarative)) ;required by bluezqtextensionplugin.qmltypes
441 (native-inputs
442 (list dbus extra-cmake-modules))
443 (inputs
444 (list qtbase))
445 (arguments
446 (list #:test-exclude "bluezqt-qmltests"
447 #:phases
448 #~(modify-phases %standard-phases
449 (replace 'check
450 (lambda* (#:key tests? (test-exclude "") #:allow-other-keys)
451 (when tests?
452 (setenv "DBUS_FATAL_WARNINGS" "0")
453 (invoke "dbus-launch" "ctest" "-E" test-exclude)))))))
454 (home-page "https://community.kde.org/Frameworks")
455 (synopsis "QML wrapper for BlueZ")
456 (description "bluez-qt is a Qt-style library for accessing the bluez
457Bluetooth stack. It is used by the KDE Bluetooth stack, BlueDevil.")
458 (license (list license:lgpl2.1+ license:lgpl3+))))
459
460(define-public breeze-icons
461 (package
462 (name "breeze-icons")
463 (version "6.24.0")
464 (source (origin
465 (method url-fetch)
466 (uri (string-append "mirror://kde/stable/frameworks/"
467 (version-major+minor version)
468 "/" name "-" version ".tar.xz"))
469 (sha256
470 (base32
471 "12yymc4vafp6npiz0w4m8814ipir3d5mkr1ysm2mzy989f1pvmk3"))))
472 (build-system cmake-build-system)
473 (native-inputs
474 (list extra-cmake-modules
475 fdupes
476 `(,gtk+ "bin")
477 python
478 python-lxml)) ;for 24x24 icon generation
479 (inputs (list qtbase))
480 (arguments
481 (list #:phases #~(modify-phases %standard-phases
482 (add-after 'install 'update-cache
483 (lambda* _
484 (invoke "gtk-update-icon-cache"
485 (string-append #$output
486 "/share/icons/breeze"))
487 (invoke "gtk-update-icon-cache"
488 (string-append #$output
489 "/share/icons/breeze-dark")))))))
490 (home-page "https://community.kde.org/Frameworks")
491 (synopsis "Default KDE Plasma icon theme")
492 (description "Breeze provides a freedesktop.org compatible icon theme.
493It is the default icon theme for the KDE Plasma desktop.")
494 ;; The license file mentions lgpl3+. The license files in the source
495 ;; directories are lgpl3, while the top directory contains the lgpl2.1.
496 ;; text.
497 (license license:lgpl3+)))
498
499(define-public kapidox
500 (package
501 (name "kapidox")
502 (version "6.24.0")
503 (source (origin
504 (method url-fetch)
505 (uri (string-append
506 "mirror://kde/stable/frameworks/"
507 (version-major+minor version) "/"
508 name "-" version ".tar.xz"))
509 (sha256
510 (base32
511 "0vhyzf843sv861wj639aq8x7nd0s7rl2qkzjb87a8c7bh5xaj45b"))))
512 (build-system pyproject-build-system)
513 (arguments
514 (list #:tests? #f ; test need network
515 #:phases
516 #~(modify-phases %standard-phases
517 ;; Some package requirements are not necessary.
518 (delete 'sanity-check)
519 (add-after 'install 'wrap-path
520 (lambda _
521 (wrap-program (string-append #$output
522 "/bin/depdiagram_generate_all")
523 `("PATH" prefix
524 (,(string-append #$(this-package-input "coreutils")
525 "/bin")))))))))
526 (native-inputs (list python-setuptools))
527 (propagated-inputs
528 ;; kapidox is a python programm
529 ;; TODO: check if doxygen has to be installed, the readme does not
530 ;; mention it. The openSuse .rpm lists doxygen, graphviz, graphviz-gd,
531 ;; and python-xml.
532 (list python python-jinja2 python-pyyaml python-requests))
533 (inputs
534 (list bash-minimal coreutils qtbase))
535 (home-page "https://community.kde.org/Frameworks")
536 (synopsis "KDE Doxygen Tools")
537 (description "This framework contains scripts and data for building API
538documentation (dox) in a standard format and style for KDE.
539
540For the actual documentation extraction and formatting the Doxygen tool is
541used, but this framework provides a wrapper script to make generating the
542documentation more convenient (including reading settings from the target
543framework or other module) and a standard template for the generated
544documentation.")
545 ;; Most parts are bsd-2, but included jquery is expat
546 ;; This list is taken from http://packaging.neon.kde.org/cgit/
547 (license (list license:bsd-2 license:expat))))
548
549(define-public karchive
550 (package
551 (name "karchive")
552 (version "6.24.0")
553 (source (origin
554 (method url-fetch)
555 (uri (string-append "mirror://kde/stable/frameworks/"
556 (version-major+minor version)
557 "/" name "-" version ".tar.xz"))
558 (sha256
559 (base32
560 "038d2pzxk9r99jl4j0pvmbsklx0yw9mvpn0nsnz0pr0jj0fam3xn"))))
561 (build-system cmake-build-system)
562 (arguments
563 (list #:test-exclude "karchivetest"
564 #:phases
565 #~(modify-phases %standard-phases
566 (replace 'check
567 (lambda* (#:key tests? test-exclude #:allow-other-keys)
568 (when tests?
569 (invoke "ctest" "-E" test-exclude)))))))
570 (native-inputs
571 (list extra-cmake-modules pkg-config qttools))
572 (inputs (list bzip2 openssl qtbase xz zlib `(,zstd "lib")))
573 (synopsis "Qt 6 addon providing access to numerous types of archives")
574 (description
575 "KArchive provides classes for easy reading, creation and
576manipulation of @code{archive} formats like ZIP and TAR.
577
578It also provides transparent compression and decompression of data, like the
579GZip format, via a subclass of QIODevice.")
580 (home-page "https://community.kde.org/Frameworks")
581 ;; The included licenses is are gpl2 and lgpl2.1, but the sources are
582 ;; under a variety of licenses.
583 ;; This list is taken from http://packaging.neon.kde.org/cgit/
584 (license (list license:lgpl2.1 license:lgpl2.1+
585 license:lgpl3+ license:bsd-2))))
586
587(define-public karchive-5
588 (package
589 (inherit karchive)
590 (name "karchive")
591 (version "5.116.0")
592 (source (origin
593 (method url-fetch)
594 (uri (string-append "mirror://kde/stable/frameworks/"
595 (version-major+minor version)
596 "/" name "-" version ".tar.xz"))
597 (sha256
598 (base32
599 "02m3vvw58qsgmaps184xwy97bg4pgjl4i1gjwzn66h5qf34y6qqn"))))
600 (native-inputs
601 (list extra-cmake-modules pkg-config qttools-5))
602 (inputs
603 (list bzip2 qtbase-5 xz zlib `(,zstd "lib")))
604 (synopsis "Qt 5 addon providing access to numerous types of archives")))
605
606(define-public kcalendarcore
607 (package
608 (name "kcalendarcore")
609 (version "6.24.0")
610 (source (origin
611 (method url-fetch)
612 (uri (string-append
613 "mirror://kde/stable/frameworks/"
614 (version-major+minor version) "/"
615 name "-" version ".tar.xz"))
616 (sha256
617 (base32
618 "0ni4zjjf5dmgcpmwni8pk8flcmijb1jrzjgw6f87sk1sr5ij842p"))))
619 (build-system cmake-build-system)
620 (native-inputs
621 (list extra-cmake-modules perl tzdata-for-tests))
622 (inputs (list libical qtbase qtdeclarative))
623 (arguments
624 (list
625 #:phases
626 #~(modify-phases %standard-phases
627 (add-before 'check 'check-setup
628 (lambda* (#:key inputs #:allow-other-keys)
629 (setenv "QT_QPA_PLATFORM" "offscreen")
630 (setenv "TZ" "Europe/Prague")
631 (setenv "TZDIR"
632 (search-input-directory inputs
633 "share/zoneinfo")))))))
634 (home-page "https://community.kde.org/Frameworks")
635 (synopsis "Library for interfacing with calendars")
636 (description "This library provides access to and handling of calendar
637data. It supports the standard formats iCalendar and vCalendar and the group
638scheduling standard iTIP.
639
640A calendar contains information like incidences (events, to-dos, journals),
641alarms, time zones, and other useful information. This API provides access to
642that calendar information via well known calendar formats iCalendar (or iCal)
643and the older vCalendar.")
644 (license (list license:lgpl3+ license:bsd-2))))
645
646(define-public kcodecs
647 (package
648 (name "kcodecs")
649 (version "6.24.0")
650 (source (origin
651 (method url-fetch)
652 (uri (string-append
653 "mirror://kde/stable/frameworks/"
654 (version-major+minor version) "/"
655 name "-" version ".tar.xz"))
656 (sha256
657 (base32
658 "1xynxx5633wa0xzwgcami134r3b15g2r9mjfv5jjy1afjiqs642h"))))
659 (build-system cmake-build-system)
660 (native-inputs (list extra-cmake-modules gperf qttools))
661 (inputs (list qtbase))
662 (home-page "https://community.kde.org/Frameworks")
663 (synopsis "String encoding and manipulating library")
664 (description "KCodecs provide a collection of methods to manipulate
665strings using various encodings.
666
667It can automatically determine the charset of a string, translate XML
668entities, validate email addresses, and find encodings by name in a more
669tolerant way than QTextCodec (useful e.g. for data coming from the
670Internet).")
671 ;; The included licenses is are gpl2 and lgpl2.1, but the sources are
672 ;; under a variety of licenses.
673 ;; This list is taken from http://packaging.neon.kde.org/cgit/
674 (license (list license:gpl2 license:gpl2+ license:bsd-2
675 license:lgpl2.1 license:lgpl2.1+ license:expat
676 license:lgpl3+ license:mpl1.1))))
677
678(define-public kcodecs-5
679 (package
680 (inherit kcodecs)
681 (name "kcodecs")
682 (version "5.116.0")
683 (source (origin
684 (method url-fetch)
685 (uri (string-append
686 "mirror://kde/stable/frameworks/"
687 (version-major+minor version) "/"
688 name "-" version ".tar.xz"))
689 (sha256
690 (base32
691 "03k8scmswxhx7bng5fh3niq84gqzksb19sf6ah4bdz6aj4pd52d4"))))
692 (native-inputs (list extra-cmake-modules gperf qttools-5))
693 (inputs (list qtbase-5))))
694
695(define-public kcolorpicker
696 (package
697 (name "kcolorpicker")
698 (version "0.3.1")
699 (source
700 (origin
701 (method git-fetch)
702 (uri (git-reference
703 (url "https://github.com/ksnip/kColorPicker")
704 (commit (string-append "v" version))))
705 (file-name (git-file-name name version))
706 (sha256
707 (base32
708 "1px40rasvz0r5db9av125q9mlyjz4xdnckg2767i3fndj3ic0vql"))))
709 (build-system qt-build-system)
710 (arguments
711 (list #:qtbase qtbase
712 #:configure-flags #~(list "-DCMAKE_CXX_FLAGS=-fPIC"
713 "-DBUILD_TESTS=ON"
714 "-DBUILD_WITH_QT6=ON")))
715 (home-page "https://github.com/ksnip/kColorPicker")
716 (synopsis "Color Picker with popup menu")
717 (description
718 "@code{KColorPicker} is a subclass of @code{QToolButton} with color popup
719menu which lets you select a color. The popup features a color dialog button
720which can be used to add custom colors to the popup menu.")
721 (license license:lgpl3+)))
722
723(define-public kcolorscheme
724 (package
725 (name "kcolorscheme")
726 (version "6.24.0")
727 (source (origin
728 (method url-fetch)
729 (uri (string-append
730 "mirror://kde/stable/frameworks/"
731 (version-major+minor version) "/"
732 name "-" version ".tar.xz"))
733
734 (sha256
735 (base32
736 "1ic43vipiwdyviylcj2n2j8lnjcqr52rc148hnnlk04vbqay1jg9"))))
737 (build-system qt-build-system)
738 (native-inputs (list extra-cmake-modules))
739 (inputs (list kguiaddons ki18n
740 qtdeclarative
741 libxkbcommon))
742 (propagated-inputs (list kconfig))
743 (arguments (list
744 ;; FIXME: The test fails in the compile environment and succeeds
745 ;; in the real world;
746 #:tests? #f
747 #:qtbase qtbase))
748 (synopsis "Classes to read and interact with KColorScheme")
749 (description "This package provide a Classes to read and interact with
750KColorScheme.")
751 (home-page "https://community.kde.org/Frameworks")
752 (license (list license:cc0
753 license:lgpl2.0+
754 license:lgpl2.1
755 license:bsd-2
756 license:lgpl3))))
757
758(define-public kconfig
759 (package
760 (name "kconfig")
761 (version "6.24.0")
762 (source (origin
763 (method url-fetch)
764 (uri (string-append
765 "mirror://kde/stable/frameworks/"
766 (version-major+minor version) "/"
767 name "-" version ".tar.xz"))
768 (sha256
769 (base32
770 "07v5ngxycc39h0mp0yhvz6j7dpk54h7ham3g9bjsvlcv87cbvks5"))))
771 (build-system qt-build-system)
772 (native-inputs
773 (list dbus extra-cmake-modules inetutils qttools tzdata-for-tests))
774 (propagated-inputs (list qtdeclarative))
775 (arguments
776 (list
777 #:qtbase qtbase
778 #:phases
779 #~(modify-phases %standard-phases
780 (add-before 'check 'check-setup
781 (lambda* (#:key inputs tests? #:allow-other-keys)
782 (when tests?
783 (with-output-to-file "autotests/BLACKLIST"
784 (lambda _
785 (for-each
786 (lambda (name)
787 (display (string-append "[" name "]\n*\n")))
788 (list "testNotifyIllegalObjectPath"
789 "testLocalDeletion"
790 "testNotify"
791 "testSignal"
792 "testDataUpdated"))))
793 (setenv "TZDIR"
794 (search-input-directory inputs
795 "share/zoneinfo"))
796 (setenv "HOME" (getcwd))
797 (setenv "QT_QPA_PLATFORM" "offscreen")))))))
798 (home-page "https://community.kde.org/Frameworks")
799 (synopsis "Kconfiguration settings framework for Qt")
800 (description "KConfig provides an advanced configuration system.
801It is made of two parts: KConfigCore and KConfigGui.
802
803KConfigCore provides access to the configuration files themselves.
804It features:
805
806@enumerate
807@item Code generation: describe your configuration in an XML file, and use
808`kconfig_compiler to generate classes that read and write configuration
809entries.
810
811@item Cascading configuration files (global settings overridden by local
812settings).
813
814@item Optional shell expansion support (see docs/options.md).
815
816@item The ability to lock down configuration options (see docs/options.md).
817@end enumerate
818
819KConfigGui provides a way to hook widgets to the configuration so that they
820are automatically initialized from the configuration and automatically
821propagate their changes to their respective configuration files.")
822 ;; The included licenses is are gpl2 and lgpl2.1, but the sources are
823 ;; under a variety of licenses.
824 ;; This list is taken from http://packaging.neon.kde.org/cgit/
825 (license (list license:lgpl2.1 license:lgpl2.1+ license:expat
826 license:lgpl3+ license:gpl1 ; licende:mit-olif
827 license:bsd-2 license:bsd-3))))
828
829(define-public kconfig-5
830 (package
831 (inherit kconfig)
832 (name "kconfig")
833 (version "5.116.0")
834 (source (origin
835 (method url-fetch)
836 (uri (string-append
837 "mirror://kde/stable/frameworks/"
838 (version-major+minor version) "/"
839 name "-" version ".tar.xz"))
840 (sha256
841 (base32
842 "03j7cw0c05rpxrnblrc5ziq7vy1v193l5gj9bix1dakkj9hf6p9c"))))
843 (native-inputs
844 (list dbus extra-cmake-modules inetutils qttools-5
845 xorg-server-for-tests))
846 (inputs
847 (list qtdeclarative-5))
848 (propagated-inputs '())
849 (arguments
850 (list #:test-exclude "(kconfigcore-kconfigtest|\
851kconfiggui-kstandardshortcutwatchertest)"
852 #:phases
853 #~(modify-phases %standard-phases
854 (add-before 'check 'pre-check
855 (lambda* (#:key tests? #:allow-other-keys)
856 (when tests? ;; kconfigcore-kconfigtest fails inconsistently!!
857 (setenv "HOME" (getcwd))
858 (setenv "QT_QPA_PLATFORM" "offscreen")))))))))
859
860(define-public kcoreaddons
861 (package
862 (name "kcoreaddons")
863 (version "6.24.0")
864 (source (origin
865 (method url-fetch)
866 (uri (string-append
867 "mirror://kde/stable/frameworks/"
868 (version-major+minor version) "/"
869 name "-" version ".tar.xz"))
870 (sha256
871 (base32
872 "0z7z1rmpr39rndjjqc3y93hsqwphhh2n44vlpkkgcng89pcv0bxw"))))
873 (build-system qt-build-system)
874 ;; As required by kcoreaddonsplugin.qmltypes.
875 (propagated-inputs (list qtdeclarative))
876 (native-inputs (list extra-cmake-modules qttools shared-mime-info))
877 (arguments
878 (list
879 #:qtbase qtbase
880 #:configure-flags
881 ;; XXX: build python bindings.
882 #~(list "-DBUILD_PYTHON_BINDINGS=OFF")
883 #:phases
884 #~(modify-phases %standard-phases
885 (add-before 'check 'blacklist-failing-test
886 (lambda _
887 ;; Blacklist failing tests.
888 (with-output-to-file "autotests/BLACKLIST"
889 (lambda _
890 ;; FIXME: Make it pass. Test failure caused by stout/stderr
891 ;; being interleaved.
892 (display "[test_channels]\n*\n")
893 ;; FIXME
894 (display "[test_inheritance]\n*\n")))))
895 (add-before 'check 'check-setup
896 (lambda _
897 (setenv "HOME" (getcwd))
898 (setenv "TMPDIR" (getcwd)))))))
899 (home-page "https://community.kde.org/Frameworks")
900 (synopsis "Qt addon library with a collection of non-GUI utilities")
901 (description "KCoreAddons provides classes built on top of QtCore to
902perform various tasks such as manipulating mime types, autosaving files,
903creating backup files, generating random sequences, performing text
904manipulations such as macro replacement, accessing user information and
905many more.")
906 (license (list license:lgpl2.0+ license:lgpl2.1+))))
907
908(define-public kcoreaddons-5
909 (package
910 (inherit kcoreaddons)
911 (name "kcoreaddons")
912 (version "5.116.0")
913 (source (origin
914 (method url-fetch)
915 (uri (string-append
916 "mirror://kde/stable/frameworks/"
917 (version-major+minor version) "/"
918 name "-" version ".tar.xz"))
919 (sha256
920 (base32
921 "0x1inzglgpz2z2w25bp46hzjv74gp3vyd3i911xczz7wd30b9yyy"))))
922 (build-system cmake-build-system)
923 (native-inputs
924 (list extra-cmake-modules qttools-5 shared-mime-info))
925 (inputs
926 (list qtbase-5))
927 (arguments
928 (list
929 #:phases
930 #~(modify-phases %standard-phases
931 (add-before 'check 'blacklist-failing-test
932 (lambda _
933 ;; Blacklist failing tests.
934 (with-output-to-file "autotests/BLACKLIST"
935 (lambda _
936 ;; FIXME: Make it pass. Test failure caused by stout/stderr
937 ;; being interleaved.
938 (display "[test_channels]\n*\n")
939 ;; FIXME
940 (display "[test_inheritance]\n*\n")))))
941 (add-before 'check 'check-setup
942 (lambda _
943 (setenv "HOME" (getcwd))
944 (setenv "TMPDIR" (getcwd)))))))))
945
946(define-public kdbusaddons
947 (package
948 (name "kdbusaddons")
949 (version "6.24.0")
950 (source (origin
951 (method url-fetch)
952 (uri (string-append
953 "mirror://kde/stable/frameworks/"
954 (version-major+minor version) "/"
955 name "-" version ".tar.xz"))
956 (sha256
957 (base32
958 "04ddd3qj3kssn7hvp8iglak4q6mkgpwbiblzw1mp1zkxm4qi963n"))))
959 (build-system qt-build-system)
960 (native-inputs
961 (list extra-cmake-modules dbus qttools))
962 (inputs (list libxkbcommon))
963 (arguments
964 (list #:qtbase qtbase
965 #:phases
966 #~(modify-phases %standard-phases
967 (replace 'check
968 (lambda* (#:key tests? #:allow-other-keys)
969 (when tests?
970 (invoke "dbus-launch" "ctest")))))))
971 (home-page "https://community.kde.org/Frameworks")
972 (synopsis "Convenience classes for DBus")
973 (description "KDBusAddons provides convenience classes on top of QtDBus,
974as well as an API to create KDED modules.")
975 ;; Some source files mention lgpl2.0+, but the included license is
976 ;; the lgpl2.1. Some source files are under non-copyleft licenses.
977 (license license:lgpl2.1+)))
978
979(define-public kdbusaddons-5
980 (package
981 (inherit kdbusaddons)
982 (name "kdbusaddons")
983 (version "5.116.0")
984 (source (origin
985 (method url-fetch)
986 (uri (string-append
987 "mirror://kde/stable/frameworks/"
988 (version-major+minor version) "/"
989 name "-" version ".tar.xz"))
990 (sha256
991 (base32
992 "0mlfphk8knbvpyns3ixd8da9zjvsms29mv5z2xgif9y20i5kmdq3"))))
993 (build-system cmake-build-system)
994 (native-inputs
995 (list extra-cmake-modules dbus qttools-5))
996 (inputs
997 (list qtbase-5 qtx11extras kinit-bootstrap))
998 ;; kinit-bootstrap: kinit package which does not depend on kdbusaddons.
999 (arguments
1000 (list #:phases
1001 #~(modify-phases %standard-phases
1002 (add-before 'configure 'patch-source
1003 (lambda* (#:key inputs #:allow-other-keys)
1004 ;; look for the kdeinit5 executable in kinit's store directory,
1005 ;; instead of the current application's directory:
1006 (substitute* "src/kdeinitinterface.cpp"
1007 (("<< QCoreApplication::applicationDirPath..")
1008 (string-append
1009 "<< QString::fromUtf8(\"/"
1010 (dirname (search-input-file inputs "bin/kdeinit5"))
1011 "\")" )))))
1012 (replace 'check
1013 (lambda* (#:key tests? #:allow-other-keys)
1014 (when tests?
1015 (setenv "DBUS_FATAL_WARNINGS" "0")
1016 (invoke "dbus-launch" "ctest")))))))))
1017
1018(define kdbusaddons-5-bootstrap
1019 (package
1020 (inherit kdbusaddons-5)
1021 (source (origin
1022 (inherit (package-source kdbusaddons-5))
1023 (patches '())))
1024 (inputs (modify-inputs inputs (delete "kinit")))
1025 (arguments
1026 (substitute-keyword-arguments arguments
1027 ((#:phases phases)
1028 #~(modify-phases #$phases
1029 (delete 'patch-source)))))))
1030
1031(define-public kdnssd
1032 (package
1033 (name "kdnssd")
1034 (version "6.24.0")
1035 (source (origin
1036 (method url-fetch)
1037 (uri (string-append
1038 "mirror://kde/stable/frameworks/"
1039 (version-major+minor version) "/"
1040 name "-" version ".tar.xz"))
1041 (sha256
1042 (base32
1043 "18693j6sqa7yymjn7b0pkxycfk6gfmgi5dsfdd1i2ahi2v9zdyrc"))))
1044 (build-system cmake-build-system)
1045 (native-inputs
1046 (list extra-cmake-modules qttools))
1047 (inputs
1048 (list avahi ; alternatively dnssd could be used
1049 qtbase))
1050 (arguments (list #:tests? #f))
1051 (home-page "https://community.kde.org/Frameworks")
1052 (synopsis "Network service discovery using Zeroconf")
1053 (description "KDNSSD is a library for handling the DNS-based Service
1054Discovery Protocol (DNS-SD), the layer of Zeroconf that allows network services,
1055such as printers, to be discovered without any user intervention or centralized
1056infrastructure.")
1057 (license license:lgpl2.1+)))
1058
1059(define-public kdnssd-5
1060 (package
1061 (inherit kdnssd)
1062 (name "kdnssd")
1063 (version "5.116.0")
1064 (source (origin
1065 (method url-fetch)
1066 (uri (string-append
1067 "mirror://kde/stable/frameworks/"
1068 (version-major+minor version) "/"
1069 name "-" version ".tar.xz"))
1070 (sha256
1071 (base32
1072 "1z2xyir6xvyyq3j48wmra3zka6hlpjr2rnfc4gbijl0aazv6srrm"))))
1073 (native-inputs
1074 (list extra-cmake-modules qttools-5))
1075 (inputs
1076 (list avahi qtbase-5))))
1077
1078(define-public kguiaddons
1079 (package
1080 (name "kguiaddons")
1081 (version "6.24.0")
1082 (source (origin
1083 (method url-fetch)
1084 (uri (string-append
1085 "mirror://kde/stable/frameworks/"
1086 (version-major+minor version) "/"
1087 name "-" version ".tar.xz"))
1088 (sha256
1089 (base32
1090 "1bsy753q7nsnmvm8abyh1758i0pm6jaxqplmnvhngg4wfdb4pr65"))))
1091 (build-system qt-build-system)
1092 ;; As required by kguiaddonsqml.qmltypes.
1093 (propagated-inputs (list qtdeclarative))
1094 ;; TODO: Build packages for the Python bindings. Ideally this will be
1095 ;; done for all versions of python guix supports. Requires python,
1096 ;; python-sip, clang-python, libclang. Requires python-2 in all cases for
1097 ;; clang-python.
1098 (native-inputs (list extra-cmake-modules
1099 pkg-config
1100 wayland-protocols))
1101 (inputs
1102 (list libxkbcommon
1103 qtwayland
1104 plasma-wayland-protocols
1105 wayland))
1106 (arguments (list
1107 ;; XXX: build python bindings.
1108 #:configure-flags #~(list "-DBUILD_PYTHON_BINDINGS=OFF")
1109 #:qtbase qtbase))
1110 (home-page "https://community.kde.org/Frameworks")
1111 (synopsis "Utilities for graphical user interfaces")
1112 (description "The KDE GUI addons provide utilities for graphical user
1113interfaces in the areas of colors, fonts, text, images, keyboard input.")
1114 (license (list license:gpl2+ license:lgpl2.1+))))
1115
1116(define-public kguiaddons-5
1117 (package
1118 (inherit kguiaddons)
1119 (name "kguiaddons")
1120 (version "5.116.0")
1121 (source (origin
1122 (method url-fetch)
1123 (uri (string-append
1124 "mirror://kde/stable/frameworks/"
1125 (version-major+minor version) "/"
1126 name "-" version ".tar.xz"))
1127 (sha256
1128 (base32
1129 "1rpw6glgchf7qs4rh7jxy9sas73708yllba1q880gdicn1nda42w"))))
1130 (native-inputs (list extra-cmake-modules pkg-config))
1131 (arguments '())
1132 (inputs
1133 (list qtwayland-5 qtx11extras plasma-wayland-protocols wayland))))
1134
1135(define-public kholidays
1136 (package
1137 (name "kholidays")
1138 (version "6.24.0")
1139 (source (origin
1140 (method url-fetch)
1141 (uri (string-append
1142 "mirror://kde/stable/frameworks/"
1143 (version-major+minor version) "/"
1144 name "-" version ".tar.xz"))
1145 (sha256
1146 (base32 "1gmp35sp5via3aphzrj3c2dapdbvjmgnc6pqgwqf10iv03mc98wl"))))
1147 (build-system cmake-build-system)
1148 ;; As required by kholidaysdeclarativeplugin.qmltypes.
1149 (propagated-inputs (list qtdeclarative))
1150 (native-inputs (list bison extra-cmake-modules flex qttools))
1151 (inputs (list qtbase))
1152 (home-page "https://invent.kde.org/frameworks/kholidays")
1153 (synopsis "Library for regional holiday information")
1154 (description "This library provides a C++ API that determines holiday and
1155other special events for a geographical region.")
1156 (license license:lgpl2.0+)))
1157
1158(define-public ki18n
1159 (package
1160 (name "ki18n")
1161 (version "6.24.0")
1162 (source (origin
1163 (method url-fetch)
1164 (uri (string-append
1165 "mirror://kde/stable/frameworks/"
1166 (version-major+minor version) "/"
1167 name "-" version ".tar.xz"))
1168 (sha256
1169 (base32
1170 "0mqbbic2kcg72fmgmv09d578kmx9c3cim9dv9m6whr172lfbc93l"))))
1171 (build-system cmake-build-system)
1172 (propagated-inputs
1173 (list gettext-minimal ;required by KF6I18nConfig.cmake
1174 qtdeclarative)) ;required by the QML modules
1175 (native-inputs
1176 (list extra-cmake-modules python-minimal tzdata-for-tests))
1177 (inputs
1178 (list qtbase iso-codes/pinned))
1179 (arguments
1180 (list
1181 #:test-exclude
1182 (string-append "("
1183 (string-join '("kcatalogtest"
1184 "kcountrytest"
1185 "kcountrysubdivisiontest")
1186 "|")
1187 ")")
1188 #:phases
1189 #~(modify-phases %standard-phases
1190 (replace 'check
1191 (lambda* (#:key tests? test-exclude #:allow-other-keys)
1192 (when tests?
1193 (setenv "HOME"
1194 (getcwd))
1195 (invoke "ctest" "-E" test-exclude)))))))
1196 (home-page "https://community.kde.org/Frameworks")
1197 (synopsis "KDE Gettext-based UI text internationalization")
1198 (description "KI18n provides functionality for internationalizing user
1199interface text in applications, based on the GNU Gettext translation system. It
1200wraps the standard Gettext functionality, so that the programmers and translators
1201can use the familiar Gettext tools and workflows.
1202
1203KI18n provides additional functionality as well, for both programmers and
1204translators, which can help to achieve a higher overall quality of source and
1205translated text. This includes argument capturing, customizable markup, and
1206translation scripting.")
1207 (license license:lgpl2.1+)))
1208
1209(define-public ki18n-5
1210 (package
1211 (inherit ki18n)
1212 (name "ki18n")
1213 (version "5.116.0")
1214 (source (origin
1215 (method url-fetch)
1216 (uri (string-append
1217 "mirror://kde/stable/frameworks/"
1218 (version-major+minor version) "/"
1219 name "-" version ".tar.xz"))
1220 (sha256
1221 (base32
1222 "1kbb3rq85hbw1h5bd1w9cmdgz8bdg47w9b133ha41qlhh1i50clk"))))
1223 (propagated-inputs
1224 (list gettext-minimal python))
1225 (native-inputs
1226 (list extra-cmake-modules))
1227 (inputs
1228 (list qtbase-5 qtdeclarative-5 qtscript-5 iso-codes/pinned))))
1229
1230(define-public kidletime
1231 (package
1232 (name "kidletime")
1233 (version "6.24.0")
1234 (source
1235 (origin
1236 (method url-fetch)
1237 (uri (string-append "mirror://kde/stable/frameworks/"
1238 (version-major+minor version) "/"
1239 name "-" version ".tar.xz"))
1240 (sha256
1241 (base32 "01nb7jx545alp9ag5jaa8902f5xyxzxgafwpx5aiy2lhj73y135y"))))
1242 (build-system cmake-build-system)
1243 (arguments (list #:tests? #f))
1244 (native-inputs
1245 (list extra-cmake-modules pkg-config
1246 ;; for wayland-scanner
1247 wayland))
1248 (inputs
1249 (list qtbase
1250 qtwayland
1251 wayland
1252 plasma-wayland-protocols
1253 wayland-protocols
1254 libxkbcommon))
1255 (home-page "https://community.kde.org/Frameworks")
1256 (synopsis "Reporting of idle time of user and system")
1257 (description "KIdleTime is a singleton reporting information on idle time.
1258It is useful not only for finding out about the current idle time of the PC,
1259but also for getting notified upon idle time events, such as custom timeouts,
1260or user activity.")
1261 (license (list license:gpl2+ license:lgpl2.1+))))
1262
1263(define-public kirigami
1264 (package
1265 (name "kirigami")
1266 (version "6.24.0")
1267 (source (origin
1268 (method url-fetch)
1269 (uri (string-append
1270 "mirror://kde/stable/frameworks/"
1271 (version-major+minor version) "/"
1272 "kirigami-" version ".tar.xz"))
1273 (sha256
1274 (base32
1275 "1kmhlpg14593dmrx2y9idf7lmba9snwbwda34i27v1j9wgglfckv"))))
1276 (build-system cmake-build-system)
1277 (arguments
1278 (list
1279 #:phases
1280 #~(modify-phases %standard-phases
1281 (add-before 'check 'set-offscreen-display
1282 (lambda _
1283 (setenv "QT_QPA_PLATFORM" "offscreen"))))))
1284 ;; As required by KF6KirigamiConfig.cmake.
1285 (propagated-inputs
1286 (list qtdeclarative))
1287 (native-inputs
1288 (list extra-cmake-modules qttools))
1289 (inputs
1290 (list kwindowsystem
1291 qtshadertools
1292 qtbase
1293 qtsvg
1294 libxkbcommon))
1295 (home-page "https://community.kde.org/Frameworks")
1296 (synopsis "QtQuick components for mobile user interfaces")
1297 (description "Kirigami is a set of high level QtQuick components looking
1298and feeling well on both mobile and desktop devices. They ease the creation
1299of applications that follow the Kirigami Human Interface Guidelines.")
1300 (license license:lgpl2.1+)))
1301
1302(define-public kirigami-5
1303 (package
1304 (inherit kirigami)
1305 (name "kirigami")
1306 (version "5.116.0")
1307 (source (origin
1308 (method url-fetch)
1309 (uri (string-append
1310 "mirror://kde/stable/frameworks/"
1311 (version-major+minor version) "/"
1312 "kirigami2-" version ".tar.xz"))
1313 (sha256
1314 (base32
1315 "1q69b1qd2qs9hpwgw0y0ig93ag41l50dghribsnqhi0c9aklsn4b"))))
1316 (arguments
1317 ;; Tests require an OpenGL context
1318 (list #:tests? #f))
1319 (native-inputs
1320 (list extra-cmake-modules qttools-5))
1321 (inputs
1322 (list kwindowsystem-5
1323 qtbase-5
1324 qtdeclarative-5
1325 qtquickcontrols2-5
1326 qtsvg-5
1327 ;; Run-time dependency
1328 qtgraphicaleffects))
1329 (properties `((upstream-name . "kirigami2")))))
1330
1331(define-public kitemmodels
1332 (package
1333 (name "kitemmodels")
1334 (version "6.24.0")
1335 (source (origin
1336 (method url-fetch)
1337 (uri (string-append
1338 "mirror://kde/stable/frameworks/"
1339 (version-major+minor version) "/"
1340 name "-" version ".tar.xz"))
1341 (sha256
1342 (base32
1343 "09wpjnpmi45v7cjhbcqzr6ms5yqf6j9106k9ji54dwhdvr3vydk6"))))
1344 (build-system qt-build-system)
1345 ;; As required by itemmodelsplugin.qmltypes.
1346 (propagated-inputs
1347 (list qtdeclarative))
1348 (native-inputs
1349 (list extra-cmake-modules))
1350 (arguments (list #:qtbase qtbase))
1351 (home-page "https://community.kde.org/Frameworks")
1352 (synopsis "Set of item models extending the Qt model-view framework")
1353 (description "KItemModels provides the following models:
1354
1355@enumerate
1356@item KBreadcrumbSelectionModel - Selects the parents of selected items to
1357create breadcrumbs.
1358
1359@item KCheckableProxyModel - Adds a checkable capability to a source model.
1360
1361@item KConcatenateRowsProxyModel - Concatenates rows from multiple source models.
1362
1363@item KDescendantsProxyModel - Proxy Model for restructuring a Tree into a list.
1364
1365@item KExtraColumnsProxyModel - Adds columns after existing columns.
1366
1367@item KLinkItemSelectionModel - Share a selection in multiple views which do
1368not have the same source model.
1369
1370@item KModelIndexProxyMapper - Mapping of indexes and selections through proxy
1371models.
1372
1373@item KRearrangeColumnsProxyModel - Can reorder and hide columns from the source
1374model.
1375
1376@item KRecursiveFilterProxyModel - Recursive filtering of models.
1377
1378@item KSelectionProxyModel - A Proxy Model which presents a subset of its source
1379model to observers
1380@end enumerate")
1381 (license license:lgpl2.1+)))
1382
1383(define-public kitemviews
1384 (package
1385 (name "kitemviews")
1386 (version "6.24.0")
1387 (source (origin
1388 (method url-fetch)
1389 (uri (string-append
1390 "mirror://kde/stable/frameworks/"
1391 (version-major+minor version) "/"
1392 name "-" version ".tar.xz"))
1393 (sha256
1394 (base32
1395 "1yl2454fciq6psspkrjmj7xfjg08chsml4bk7s4yg0i7fw0qpwy7"))))
1396 (build-system qt-build-system)
1397 (native-inputs
1398 (list extra-cmake-modules qttools))
1399 (arguments (list #:qtbase qtbase))
1400 (home-page "https://community.kde.org/Frameworks")
1401 (synopsis "Set of item views extending the Qt model-view framework")
1402 (description "KItemViews includes a set of views, which can be used with
1403item models. It includes views for categorizing lists and to add search filters
1404to flat and hierarchical lists.")
1405 (license (list license:gpl2+ license:lgpl2.1+))))
1406
1407(define-public kitemviews-5
1408 (package
1409 (inherit kitemviews)
1410 (name "kitemviews")
1411 (version "5.116.0")
1412 (source (origin
1413 (method url-fetch)
1414 (uri (string-append
1415 "mirror://kde/stable/frameworks/"
1416 (version-major+minor version) "/"
1417 name "-" version ".tar.xz"))
1418 (sha256
1419 (base32
1420 "1sq1kvqb9g0gzlyfyix9xsjq6wl2i1s3mfqkpdc0rdns13sgn3kc"))))
1421 (native-inputs
1422 (list extra-cmake-modules qttools-5))
1423 (arguments '())))
1424
1425(define-public kplotting
1426 (package
1427 (name "kplotting")
1428 (version "6.24.0")
1429 (source (origin
1430 (method url-fetch)
1431 (uri (string-append
1432 "mirror://kde/stable/frameworks/"
1433 (version-major+minor version) "/"
1434 name "-" version ".tar.xz"))
1435 (sha256
1436 (base32
1437 "1kzyl3cbdybw1ysribs0iidwggla65ffr0j5ndg50nzvlmfym31r"))))
1438 (build-system qt-build-system)
1439 (native-inputs
1440 (list extra-cmake-modules qttools))
1441 (arguments (list #:qtbase qtbase))
1442 (home-page "https://community.kde.org/Frameworks")
1443 (synopsis "Data plotting library")
1444 (description "KPlotWidget is a QWidget-derived class that provides a virtual
1445base class for easy data-plotting. The idea behind KPlotWidget is that you only
1446have to specify information in \"data units\", the natural units of the
1447data being plotted. KPlotWidget automatically converts everything to screen
1448pixel units.")
1449 (license license:lgpl2.1+)))
1450
1451(define-public ksvg
1452 (package
1453 (name "ksvg")
1454 (version "6.24.0")
1455 (source (origin
1456 (method url-fetch)
1457 (uri (string-append
1458 "mirror://kde/stable/frameworks/"
1459 (version-major+minor version) "/"
1460 name "-" version ".tar.xz"))
1461 (sha256
1462 (base32
1463 "1lplh2af1nmpdxkwgxikfgc9dhny9i27yhp07pl54566nimizmn4"))))
1464 (build-system qt-build-system)
1465 (propagated-inputs
1466 (list qtdeclarative)) ;required by corebindingsplugin.qmltypes
1467 (native-inputs
1468 (list extra-cmake-modules qttools))
1469 (inputs
1470 (list
1471 qtsvg
1472 karchive
1473 kconfig
1474 kcolorscheme
1475 kcoreaddons
1476 kguiaddons
1477 kirigami))
1478 (arguments
1479 (list
1480 #:qtbase qtbase
1481 #:phases #~(modify-phases %standard-phases
1482 (delete 'check) ;; move after the install phase
1483 (add-after 'install 'check
1484 (lambda* (#:key tests? #:allow-other-keys)
1485 (when tests?
1486 (setenv "HOME" (getcwd))
1487 (invoke "ctest" "--rerun-failed"
1488 "--output-on-failure")))))))
1489 (home-page "https://community.kde.org/Frameworks")
1490 (synopsis "Components for handling SVGs")
1491 (description "A library for rendering SVG-based themes with stylesheet
1492re-coloring and on-disk caching.")
1493 (license license:lgpl2.1+)))
1494
1495(define-public ksyntaxhighlighting
1496 (package
1497 (name "ksyntaxhighlighting")
1498 (version "6.24.0")
1499 (source (origin
1500 (method url-fetch)
1501 (uri (string-append
1502 "mirror://kde/stable/frameworks/"
1503 (version-major+minor version) "/"
1504 "syntax-highlighting-" version ".tar.xz"))
1505 (sha256
1506 (base32
1507 "0va8cn579kn2c6lfv1jzpd9yp0gclpxd9ixrj7xfqw31vi35j706"))))
1508 (build-system cmake-build-system)
1509 (propagated-inputs
1510 (list qtdeclarative)) ;required by kquicksyntaxhighlightingplugin.qmltypes
1511 (native-inputs
1512 (list extra-cmake-modules perl qttools))
1513 (inputs
1514 (list qtbase))
1515 (arguments
1516 (list
1517 #:tests? #f ;; XXX: Fix tests.
1518 #:phases
1519 #~(modify-phases %standard-phases
1520 (add-after 'patch-source-shebangs 'unpatch-source-shebang
1521 (lambda _
1522 ;; revert the patch-shebang phase on scripts which are
1523 ;; in fact test data
1524 (substitute* '("autotests/input/highlight.sh"
1525 "autotests/folding/highlight.sh.fold")
1526 (((which "sh")) " /bin/sh")) ;; space in front!
1527 (substitute* '("autotests/input/highlight.pl"
1528 "autotests/folding/highlight.pl.fold")
1529 (((which "perl")) "/usr/bin/perl")))))))
1530 (home-page "https://community.kde.org/Frameworks")
1531 (synopsis "Syntax highlighting engine for Kate syntax definitions")
1532 (description "This is a stand-alone implementation of the Kate syntax
1533highlighting engine. It's meant as a building block for text editors as well
1534as for simple highlighted text rendering (e.g. as HTML), supporting both
1535integration with a custom editor as well as a ready-to-use
1536@code{QSyntaxHighlighter} sub-class.")
1537 (properties `((upstream-name . "syntax-highlighting")))
1538 (license license:lgpl2.1+)))
1539
1540(define-public plasma-wayland-protocols
1541 (package
1542 (name "plasma-wayland-protocols")
1543 (version "1.20.0")
1544 (source (origin
1545 (method url-fetch)
1546 (uri (string-append "mirror://kde/stable/" name "/"
1547 name "-" version ".tar.xz"))
1548 (sha256
1549 (base32
1550 "0slxlyahdcsd10k1qan0s3hizcafjq6vy2k75scfa711c8abn64q"))))
1551 (build-system cmake-build-system)
1552 (native-inputs (list extra-cmake-modules wayland))
1553 (arguments '(#:tests? #f)) ;no tests
1554 (home-page "https://community.kde.org/Frameworks")
1555 (synopsis "KDE Plasma Wayland Protocols")
1556 (description
1557 "This package contains XML files describing non-standard Wayland
1558protocols used in KDE Plasma.")
1559 ;; The XML files have varying licenses, open them for details.
1560 (license (list license:bsd-3
1561 license:lgpl2.1+
1562 license:expat))))
1563
1564(define-public kwayland
1565 (package
1566 (name "kwayland")
1567 (version "6.5.5")
1568 (source (origin
1569 (method url-fetch)
1570 (uri (string-append "mirror://kde/stable/plasma/"
1571 version "/kwayland" "-"
1572 version ".tar.xz"))
1573 (sha256
1574 (base32
1575 "15ykrwi0mnxx2sg7x5hdpggxkqpzdp9f22wl56sgiiyfvrg11c2x"))))
1576 (build-system qt-build-system)
1577 (native-inputs
1578 (list extra-cmake-modules pkg-config
1579 ;; for wayland-scanner
1580 wayland))
1581 (inputs
1582 (list libxkbcommon
1583 plasma-wayland-protocols
1584 qtwayland
1585 wayland
1586 wayland-protocols))
1587 (arguments
1588 (list #:qtbase qtbase
1589 #:tests? #f))
1590 (home-page "https://invent.kde.org/plasma/kwayland")
1591 (synopsis "Qt-style API to interact with the wayland client and server")
1592 (description "As the names suggest they implement a Client respectively a
1593Server API for the Wayland protocol. The API is Qt-styled removing the needs to
1594interact with a for a Qt developer uncomfortable low-level C-API. For example
1595the callback mechanism from the Wayland API is replaced by signals, data types
1596are adjusted to be what a Qt developer expects - two arguments of int are
1597represented by a QPoint or a QSize.")
1598 (license license:lgpl2.1+)))
1599
1600(define-public kwayland-5
1601 (package
1602 (inherit kwayland)
1603 (name "kwayland")
1604 (version "5.116.0")
1605 (source (origin
1606 (method url-fetch)
1607 (uri (string-append
1608 "mirror://kde/stable/frameworks/"
1609 (version-major+minor version) "/"
1610 name "-" version ".tar.xz"))
1611 (sha256
1612 (base32
1613 "1n5fq0gppx6rzgzkkskd077jygzj7cindb7zwr35yvbg5l69gdc8"))
1614 (patches (search-patches "kwayland-5-fix-build.patch"))))
1615 (native-inputs
1616 (list extra-cmake-modules pkg-config))
1617 (inputs
1618 (list libxkbcommon
1619 plasma-wayland-protocols
1620 qtwayland-5
1621 wayland
1622 wayland-protocols))
1623 (arguments
1624 (list
1625 ;; Tests spawn Wayland sessions that cannot run in parallel.
1626 #:parallel-tests? #f
1627 #:phases
1628 #~(modify-phases %standard-phases
1629 (add-before 'check 'set-XDG_RUNTIME_DIR
1630 (lambda _
1631 (setenv "XDG_RUNTIME_DIR" (getcwd))))
1632 (replace 'check
1633 (lambda* (#:key tests? #:allow-other-keys)
1634 (when tests?
1635 (invoke "ctest" "-E"
1636 (string-append
1637 "("
1638 (string-join
1639 ;; XXX: maybe is upstream bug
1640 '("kwayland-testWaylandRegistry"
1641 "kwayland-testPlasmaShell"
1642 "kwayland-testPlasmaWindowModel"
1643 ;; The 'kwayland-testXdgForeign' may fail on
1644 ;; powerpc64le with a 'Subprocess aborted' error.
1645 "kwayland-testXdgForeign") "|")
1646 ")"))))))))))
1647
1648(define-public kwidgetsaddons
1649 (package
1650 (name "kwidgetsaddons")
1651 (version "6.24.0")
1652 (source (origin
1653 (method url-fetch)
1654 (uri (string-append
1655 "mirror://kde/stable/frameworks/"
1656 (version-major+minor version) "/"
1657 name "-" version ".tar.xz"))
1658 (sha256
1659 (base32
1660 "01q1qa2a79m28wz63b1ycvc541b10fgkfkysl7l7530digjn7rfz"))))
1661 (build-system qt-build-system)
1662 (native-inputs
1663 (list extra-cmake-modules qttools))
1664 (arguments
1665 (list
1666 #:qtbase qtbase
1667 #:configure-flags
1668 ;; XXX: build python bindings.
1669 #~(list "-DBUILD_PYTHON_BINDINGS=OFF")
1670 #:test-exclude "ktooltipwidgettest"
1671 #:phases
1672 #~(modify-phases %standard-phases
1673 (replace 'check
1674 (lambda* (#:key tests? parallel-tests? test-exclude
1675 #:allow-other-keys)
1676 (when tests?
1677 ;; hideLaterShouldHideAfterDelay function time: 300000ms, total time: 300009ms
1678 (invoke "ctest" "-E" test-exclude
1679 "-j"
1680 (if parallel-tests?
1681 (number->string (parallel-job-count))
1682 "1"))))))))
1683 (home-page "https://community.kde.org/Frameworks")
1684 (synopsis "Large set of desktop widgets")
1685 (description "Provided are action classes that can be added to toolbars or
1686menus, a wide range of widgets for selecting characters, fonts, colors, actions,
1687dates and times, or MIME types, as well as platform-aware dialogs for
1688configuration pages, message boxes, and password requests.")
1689 (license (list license:gpl2+ license:lgpl2.1+))))
1690
1691(define-public kwidgetsaddons-5
1692 (package
1693 (inherit kwidgetsaddons)
1694 (name "kwidgetsaddons")
1695 (version "5.116.0")
1696 (source (origin
1697 (method url-fetch)
1698 (uri (string-append
1699 "mirror://kde/stable/frameworks/"
1700 (version-major+minor version) "/"
1701 name "-" version ".tar.xz"))
1702 (sha256
1703 (base32
1704 "0rcm27wra9s7kzlk67y0f57l0rnh5vb9c2w39h6yjq37y5af1qd8"))))
1705 (native-inputs
1706 (list extra-cmake-modules qttools-5 xorg-server-for-tests))
1707 (arguments
1708 (list
1709 #:phases
1710 #~(modify-phases %standard-phases
1711 (replace 'check
1712 (lambda* (#:key tests? #:allow-other-keys)
1713 (when tests?
1714 (setenv "XDG_CACHE_HOME" "/tmp/xdg-cache")
1715 (invoke "ctest" "-E"
1716 "(ksqueezedtextlabelautotest|\
1717kwidgetsaddons-kcolumnresizertest)")))))))))
1718
1719(define-public kwindowsystem
1720 (package
1721 (name "kwindowsystem")
1722 (version "6.24.0")
1723 (source (origin
1724 (method url-fetch)
1725 (uri (string-append
1726 "mirror://kde/stable/frameworks/"
1727 (version-major+minor version) "/"
1728 name "-" version ".tar.xz"))
1729 (sha256
1730 (base32
1731 "0n1yy5ll31rrnhqd3vfn60qpg4pxgkx1y37arrii5f786rcdk492"))))
1732 (build-system cmake-build-system)
1733 (propagated-inputs
1734 (list qtdeclarative)) ;required by KWindowSystem.qmltypes
1735 (native-inputs
1736 (list extra-cmake-modules
1737 pkg-config
1738 wayland; for wayland-scanner
1739 dbus ; for the tests
1740 openbox ; for the test
1741 qttools
1742 xorg-server-for-tests)) ; for the tests
1743 (inputs
1744 (list qtbase
1745 qtwayland
1746 wayland-protocols
1747 plasma-wayland-protocols
1748 libxkbcommon
1749 wayland
1750 xcb-util-keysyms
1751 xcb-util-wm))
1752 (arguments
1753 (list
1754 #:phases
1755 #~(modify-phases %standard-phases
1756 (replace 'check
1757 (lambda* (#:key tests? #:allow-other-keys)
1758 ;; The test suite requires a running window anager
1759 (when tests?
1760 (setenv "XDG_RUNTIME_DIR" (getcwd))
1761 (system "Xvfb :1 -ac -screen 0 640x480x24 &")
1762 (setenv "DISPLAY" ":1")
1763 (sleep 5) ;; Give Xvfb a few moments to get on it's feet
1764 (system "openbox &")
1765 (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
1766 (setenv "DBUS_FATAL_WARNINGS" "0")
1767 (invoke "dbus-launch" "ctest")))))))
1768 (home-page "https://community.kde.org/Frameworks")
1769 (synopsis "KDE access to the windowing system")
1770 (description "KWindowSystem provides information about and allows
1771interaction with the windowing system. It provides a high level API, which
1772is windowing system independent and has platform specific
1773implementations. This API is inspired by X11 and thus not all functionality
1774is available on all windowing systems.
1775
1776In addition to the high level API, this framework also provides several
1777lower level classes for interaction with the X Windowing System.")
1778 ;; Some source files mention lgpl2.0+, but the included license is
1779 ;; the lgpl2.1. Some source files are under non-copyleft licenses.
1780 (license license:lgpl2.1+)))
1781
1782(define-public kwindowsystem-5
1783 (package
1784 (inherit kwindowsystem)
1785 (name "kwindowsystem")
1786 (version "5.116.0")
1787 (source (origin
1788 (method url-fetch)
1789 (uri (string-append
1790 "mirror://kde/stable/frameworks/"
1791 (version-major+minor version) "/"
1792 name "-" version ".tar.xz"))
1793 (sha256
1794 (base32
1795 "0d2kxcpcvpzv07ldd1kb5gjclhmn6gcn5ms0bd8f5g9gflrpdjby"))))
1796 (native-inputs
1797 (list extra-cmake-modules
1798 pkg-config
1799 dbus ; for the tests
1800 openbox ; for the tests
1801 qttools-5
1802 xorg-server-for-tests)) ; for the tests
1803 (inputs
1804 (list libxrender
1805 qtbase-5
1806 qtx11extras
1807 xcb-util-keysyms
1808 xcb-util-wm))))
1809
1810(define-public modemmanager-qt
1811 (package
1812 (name "modemmanager-qt")
1813 (version "6.24.0")
1814 (source (origin
1815 (method url-fetch)
1816 (uri (string-append
1817 "mirror://kde/stable/frameworks/"
1818 (version-major+minor version) "/"
1819 name "-" version ".tar.xz"))
1820 (sha256
1821 (base32
1822 "1lhfx225w9c7lrzr59pmhv90mgiz4fa40bamh1wrsz72367gyn66"))))
1823 (build-system cmake-build-system)
1824 (native-inputs
1825 (list extra-cmake-modules dbus pkg-config))
1826 (propagated-inputs
1827 ;; Headers contain #include <ModemManager/ModemManager.h>
1828 (list modem-manager))
1829 (inputs
1830 (list qtbase))
1831 (arguments
1832 (list #:phases #~(modify-phases %standard-phases
1833 (replace 'check
1834 (lambda* (#:key tests? #:allow-other-keys)
1835 (when tests?
1836 (setenv "DBUS_FATAL_WARNINGS" "0")
1837 (invoke "dbus-launch" "ctest")))))))
1838 (home-page "https://community.kde.org/Frameworks")
1839 (synopsis "Qt wrapper for ModemManager DBus API")
1840 (description "ModemManagerQt provides access to all ModemManager features
1841exposed on DBus. It allows you to manage modem devices and access to
1842information available for your modem devices, like signal, location and
1843messages.")
1844 (license license:lgpl2.1+)))
1845
1846(define-public networkmanager-qt
1847 (package
1848 (name "networkmanager-qt")
1849 (version "6.24.0")
1850 (source (origin
1851 (method url-fetch)
1852 (uri (string-append
1853 "mirror://kde/stable/frameworks/"
1854 (version-major+minor version) "/"
1855 name "-" version ".tar.xz"))
1856 (sha256
1857 (base32
1858 "1zqgxyig5x4yy7yvpzrm72yravb742rq2i17nj3kydalw204zm5r"))))
1859 (build-system cmake-build-system)
1860 (native-inputs
1861 (list extra-cmake-modules dbus pkg-config))
1862 (inputs (list qtbase))
1863 (propagated-inputs
1864 ;; Headers contain #include <NetworkManager.h> and
1865 ;; #include <libnm/NetworkManager.h>
1866 (list network-manager
1867 qtdeclarative))
1868 (arguments
1869 (list #:phases #~(modify-phases %standard-phases
1870 (replace 'check
1871 (lambda* (#:key tests? #:allow-other-keys)
1872 (when tests?
1873 (setenv "DBUS_FATAL_WARNINGS" "0")
1874 (invoke "dbus-launch" "ctest")))))))
1875 (home-page "https://community.kde.org/Frameworks")
1876 (synopsis "Qt wrapper for NetworkManager DBus API")
1877 (description "NetworkManagerQt provides access to all NetworkManager
1878features exposed on DBus. It allows you to manage your connections and control
1879your network devices and also provides a library for parsing connection settings
1880which are used in DBus communication.")
1881 (license license:lgpl2.1+)))
1882
1883(define-public oxygen-icons
1884 (package
1885 (name "oxygen-icons")
1886 (version "6.1.0")
1887 (source (origin
1888 (method url-fetch)
1889 (uri (string-append
1890 "mirror://kde/stable/oxygen-icons/"
1891 "/oxygen-icons" "-" version ".tar.xz"))
1892 (sha256
1893 (base32
1894 "0s2d2zr10f6lypcjsp7x4srxczf8kmhipgya0x2pq1n5g489gjhn"))))
1895 (build-system cmake-build-system)
1896 (native-inputs
1897 (list extra-cmake-modules
1898 ;; for test
1899 fdupes))
1900 (inputs (list qtbase))
1901 (home-page "https://community.kde.org/Frameworks")
1902 (synopsis "Oxygen provides the standard icon theme for the KDE desktop")
1903 (description "Oxygen icon theme for the KDE desktop")
1904 (license license:lgpl3+)))
1905
1906(define-public prison
1907 (package
1908 (name "prison")
1909 (version "6.24.0")
1910 (source
1911 (origin
1912 (method url-fetch)
1913 (uri (string-append "mirror://kde/stable/frameworks/"
1914 (version-major+minor version) "/"
1915 name "-" version ".tar.xz"))
1916 (sha256
1917 (base32 "0d6dwkfxf4lpn9l0snclb24pj70is15dc8hz9jb5nh0fzm8jpsir"))))
1918 (build-system cmake-build-system)
1919 (propagated-inputs
1920 (list qtdeclarative)) ;required by the QML modules
1921 (native-inputs
1922 (list extra-cmake-modules))
1923 (inputs
1924 (list libdmtx zxing-cpp qrencode qtbase qtmultimedia))
1925 (home-page "https://api.kde.org/frameworks/prison/html/index.html")
1926 (synopsis "Barcode generation abstraction layer")
1927 (description "Prison is a Qt-based barcode abstraction layer/library and
1928provides uniform access to generation of barcodes with data.")
1929 (license license:lgpl2.1+)))
1930
1931(define-public pulseaudio-qt
1932 (package
1933 (name "pulseaudio-qt")
1934 (version "1.8.1")
1935 (source (origin
1936 (method url-fetch)
1937 (uri (string-append "mirror://kde//stable/pulseaudio-qt"
1938 "/pulseaudio-qt-" version ".tar.xz"))
1939 (sha256
1940 (base32
1941 "1jdkfsdfg2vq1sz0dy11iw46s2d176nk9ckz61ysl228p5arqqbr"))))
1942 (build-system cmake-build-system)
1943 (arguments (list #:configure-flags #~(list "-DBUILD_WITH_QT6=ON")))
1944 (native-inputs
1945 (list extra-cmake-modules pkg-config))
1946 (inputs
1947 (list glib pulseaudio qtdeclarative qtbase))
1948 (home-page "https://invent.kde.org/libraries/pulseaudio-qt/")
1949 (synopsis "Qt bindings for PulseAudio")
1950 (description
1951 "pulseaudio-qt is a Qt-style wrapper for libpulse. It allows querying
1952and manipulation of various PulseAudio objects such as @code{Sinks},
1953@code{Sources} and @code{Streams}. It does not wrap the full feature set of
1954libpulse.")
1955 ;; User can choose between LGPL version 2.1 or 3.0; or
1956 ;; "any later version accepted by the membership of KDE e.V".
1957 (license (list license:lgpl2.1 license:lgpl3))))
1958
1959(define-public qqc2-desktop-style
1960 (package
1961 (name "qqc2-desktop-style")
1962 (version "6.24.0")
1963 (source (origin
1964 (method url-fetch)
1965 (uri (string-append
1966 "mirror://kde/stable/frameworks/"
1967 (version-major+minor version) "/"
1968 name "-" version ".tar.xz"))
1969 (sha256
1970 (base32
1971 "0r6y4aqv0pmfyqigvzclzpkfvcqa6dd2fj0r6whzs7bgb4dpm5j5"))))
1972 (build-system qt-build-system)
1973 (arguments
1974 (list
1975 #:qtbase qtbase
1976 #:phases #~(modify-phases %standard-phases
1977 (delete 'check) ;; move after the install phase
1978 (add-after 'install 'check
1979 (lambda* (#:key tests? #:allow-other-keys)
1980 (when tests?
1981 (setenv "QML_IMPORT_PATH"
1982 (string-append #$output "/lib/qt6/qml:"
1983 (getenv "QML_IMPORT_PATH")))
1984 (setenv "QT_PLUGIN_PATH"
1985 (string-append #$output "/lib/qt6/plugins:"
1986 (getenv "QT_PLUGIN_PATH")))
1987 (setenv "HOME" (getcwd))
1988 (invoke "dbus-launch" "ctest"
1989 "--rerun-failed" "--output-on-failure")))))))
1990 ;; These packages are required by the QML modules.
1991 (propagated-inputs
1992 (list kirigami
1993 qtdeclarative
1994 sonnet))
1995 (native-inputs
1996 (list extra-cmake-modules dbus pkg-config qttools))
1997 (inputs
1998 (list kauth
1999 kcolorscheme
2000 kconfig ; optional
2001 kcoreaddons
2002 kiconthemes))
2003 (home-page "https://community.kde.org/Frameworks")
2004 (synopsis "QtQuickControls2 style that integrates with the desktop")
2005 (description "This is a style for QtQuickControls2 which is using
2006QWidget's QStyle to paint the controls in order to give it a native look and
2007feel.")
2008 ;; Mostly LGPL 2+, but many files are dual-licensed
2009 (license (list license:lgpl2.1+ license:gpl3+))))
2010
2011(define-public solid
2012 (package
2013 (name "solid")
2014 (version "6.24.0")
2015 (source (origin
2016 (method url-fetch)
2017 (uri (string-append
2018 "mirror://kde/stable/frameworks/"
2019 (version-major+minor version) "/"
2020 name "-" version ".tar.xz"))
2021 (sha256
2022 (base32
2023 "1zak58rkwm9m0zw2ag29g6q894vccq5hfyc8j7cwvzrjzw46jl1g"))))
2024 (build-system cmake-build-system)
2025 (propagated-inputs
2026 (list qtdeclarative)) ;required by sonnetquickplugin.qmltypes
2027 (native-inputs
2028 (list bison dbus extra-cmake-modules flex pkg-config qttools))
2029 ;; TODO: Add runtime-only dependency MediaPlayerInfo
2030 (inputs
2031 (list eudev
2032 libxkbcommon
2033 qtbase
2034 `(,util-linux "lib")
2035 vulkan-headers))
2036 (home-page "https://community.kde.org/Frameworks")
2037 (synopsis "Desktop hardware abstraction")
2038 (description "Solid is a device integration framework. It provides a way of
2039querying and interacting with hardware independently of the underlying operating
2040system.")
2041 (license license:lgpl2.1+)))
2042
2043(define-public solid-5
2044 (package
2045 (inherit solid)
2046 (name "solid")
2047 (version "5.116.0")
2048 (source (origin
2049 (method url-fetch)
2050 (uri (string-append
2051 "mirror://kde/stable/frameworks/"
2052 (version-major+minor version) "/"
2053 name "-" version ".tar.xz"))
2054 (sha256
2055 (base32
2056 "04359x7rhhl68xcrspxywxywb900dvlkna5fb442npwiqaxdxhy6"))))
2057 (arguments
2058 (list #:phases #~(modify-phases %standard-phases
2059 (replace 'check
2060 (lambda* (#:key tests? #:allow-other-keys)
2061 (when tests?
2062 (setenv "DBUS_FATAL_WARNINGS" "0")
2063 (invoke "dbus-launch" "ctest")))))))
2064 (native-inputs
2065 (list bison dbus extra-cmake-modules flex qttools-5))
2066 (inputs
2067 (list qtbase-5 qtdeclarative-5 eudev))))
2068
2069(define-public sonnet
2070 (package
2071 (name "sonnet")
2072 (version "6.24.0")
2073 (source (origin
2074 (method url-fetch)
2075 (uri (string-append
2076 "mirror://kde/stable/frameworks/"
2077 (version-major+minor version) "/"
2078 name "-" version ".tar.xz"))
2079 (sha256
2080 (base32
2081 "1rwsxvqa3zq2w92kj46z2cswxsxw24sfq5y7mjxr6k0m9nyhgwgm"))))
2082 (build-system qt-build-system)
2083 (arguments (list #:qtbase qtbase))
2084 (native-inputs
2085 (list extra-cmake-modules pkg-config qttools))
2086 (inputs
2087 (list aspell hunspell
2088 ;; TODO: hspell (for Hebrew), Voikko (for Finish)
2089 qtdeclarative))
2090 (home-page "https://community.kde.org/Frameworks")
2091 (synopsis "Multi-language spell checker")
2092 (description "Sonnet is a plugin-based spell checking library for Qt-based
2093applications. It supports several different plugins, including HSpell, Enchant,
2094ASpell and HUNSPELL.")
2095 (license license:lgpl2.1+)))
2096
2097(define-public sonnet-5
2098 (package
2099 (inherit sonnet)
2100 (name "sonnet")
2101 (version "5.116.0")
2102 (source (origin
2103 (method url-fetch)
2104 (uri (string-append
2105 "mirror://kde/stable/frameworks/"
2106 (version-major+minor version) "/"
2107 name "-" version ".tar.xz"))
2108 (sha256
2109 (base32
2110 "0jja3wxk4h62ik5pkf0i5v9012d0qjaljyaab2a9g0j2wy070hcq"))))
2111 (arguments '())
2112 (native-inputs
2113 (list extra-cmake-modules pkg-config qttools-5))
2114 (inputs
2115 (list aspell
2116 hunspell
2117 qtdeclarative-5))))
2118
2119(define-public threadweaver
2120 (package
2121 (name "threadweaver")
2122 (version "6.24.0")
2123 (source (origin
2124 (method url-fetch)
2125 (uri (string-append
2126 "mirror://kde/stable/frameworks/"
2127 (version-major+minor version) "/"
2128 name "-" version ".tar.xz"))
2129 (sha256
2130 (base32
2131 "0vylbrg1bkhghc8lra73valmnv5sxb8yjainr2ywvrwp2fb0hxma"))))
2132 (build-system cmake-build-system)
2133 (native-inputs (list extra-cmake-modules))
2134 (inputs (list qtbase))
2135 (home-page "https://community.kde.org/Frameworks")
2136 (synopsis "Helper for multithreaded programming")
2137 (description "ThreadWeaver is a helper for multithreaded programming. It
2138uses a job-based interface to queue tasks and execute them in an efficient way.")
2139 (license license:lgpl2.1+)))
2140
2141
2142;; Tier 2
2143;;
2144;; Tier 2 frameworks additionally depend on tier 1 frameworks, but still have
2145;; easily manageable dependencies.
2146
2147(define-public kactivities
2148 (package
2149 (name "kactivities")
2150 (version "5.116.0")
2151 (source (origin
2152 (method url-fetch)
2153 (uri (string-append
2154 "mirror://kde/stable/frameworks/"
2155 (version-major+minor version) "/"
2156 name "-" version ".tar.xz"))
2157 (sha256
2158 (base32
2159 "0zbjs4sysfaf6zsdnfmkbpxsc2bg5ncnhkzfn1dyhrsqk68lwz3s"))))
2160 (build-system qt-build-system)
2161 (native-inputs
2162 (list extra-cmake-modules))
2163 (inputs
2164 (list boost
2165 kauth-5
2166 kbookmarks-5
2167 kcodecs-5
2168 kcompletion-5
2169 kconfig-5
2170 kconfigwidgets-5
2171 kcoreaddons-5
2172 kio-5
2173 kitemviews-5
2174 kjobwidgets-5
2175 kservice-5
2176 kwidgetsaddons-5
2177 kwindowsystem-5
2178 kxmlgui-5
2179 qtdeclarative-5
2180 solid-5))
2181 (arguments (list #:tests? #f))
2182 (home-page "https://community.kde.org/Frameworks")
2183 (synopsis "Core components for the KDE Activity concept")
2184 (description "KActivities provides the infrastructure needed to manage a
2185user's activities, allowing them to switch between tasks, and for applications
2186to update their state to match the user's current activity. This includes a
2187daemon, a library for interacting with that daemon, and plugins for integration
2188with other frameworks.")
2189 ;; triple licensed
2190 (license (list license:gpl2+ license:lgpl2.0+ license:lgpl2.1+))))
2191
2192(define-public kauth
2193 (package
2194 (name "kauth")
2195 (version "6.24.0")
2196 (source (origin
2197 (method url-fetch)
2198 (uri (string-append
2199 "mirror://kde/stable/frameworks/"
2200 (version-major+minor version) "/"
2201 name "-" version ".tar.xz"))
2202 (sha256
2203 (base32
2204 "0k1qdzpb46zmjf10gcnwprfdgqw7wjdipn3dz0vb69154xz6d5pm"))
2205 (modules '((guix build utils)))
2206 ;; Make packages using kauth put their policy files and helpers
2207 ;; into their own prefix.
2208 (snippet
2209 `(substitute* ,(string-append "KF"
2210 (version-major version)
2211 "AuthConfig.cmake.in")
2212 (("@KAUTH_POLICY_FILES_INSTALL_DIR@")
2213 "${KDE_INSTALL_DATADIR}/polkit-1/actions")
2214 (("@KAUTH_HELPER_INSTALL_DIR@")
2215 "${KDE_INSTALL_LIBEXECDIR}/kauth")
2216 (("@KAUTH_HELPER_INSTALL_ABSOLUTE_DIR@")
2217 "${KDE_INSTALL_FULL_LIBEXECDIR}/kauth")))))
2218 (build-system cmake-build-system)
2219 (native-inputs
2220 (list dbus extra-cmake-modules qttools))
2221 (propagated-inputs (list kcoreaddons))
2222 (inputs
2223 (list kwindowsystem polkit-qt6 qtbase))
2224 (arguments
2225 (list
2226 #:phases
2227 #~(modify-phases %standard-phases
2228 (replace 'check
2229 (lambda* (#:key tests? #:allow-other-keys)
2230 (when tests?
2231 (setenv "QT_QPA_PLATFORM" "offscreen")
2232 (setenv "DBUS_FATAL_WARNINGS" "0")
2233 (invoke "dbus-launch" "ctest")))))))
2234 (home-page "https://community.kde.org/Frameworks")
2235 (synopsis "Execute actions as privileged user")
2236 (description "KAuth provides a convenient, system-integrated way to offload
2237actions that need to be performed as a privileged user to small set of helper
2238utilities.")
2239 (license license:lgpl2.1+)))
2240
2241(define-public kauth-5
2242 (package
2243 (inherit kauth)
2244 (name "kauth")
2245 (version "5.116.0")
2246 (source (origin
2247 (method url-fetch)
2248 (uri (string-append
2249 "mirror://kde/stable/frameworks/"
2250 (version-major+minor version) "/"
2251 name "-" version ".tar.xz"))
2252 (sha256
2253 (base32
2254 "1x0zd6lqv855jkihxpzhxs732qiva31kzjah9hf2j6xaq0dfxqdc"))))
2255 (build-system cmake-build-system)
2256 (native-inputs
2257 (list dbus extra-cmake-modules qttools-5))
2258 (inputs
2259 (list kcoreaddons-5 polkit-qt qtbase-5))
2260 (propagated-inputs '())))
2261
2262(define-public kcompletion
2263 (package
2264 (name "kcompletion")
2265 (version "6.24.0")
2266 (source (origin
2267 (method url-fetch)
2268 (uri (string-append
2269 "mirror://kde/stable/frameworks/"
2270 (version-major+minor version) "/"
2271 name "-" version ".tar.xz"))
2272 (sha256
2273 (base32
2274 "1mbhsgg5amv76vnnms399n9hsksc0lgz5mqhfa6mbnmqvkrbipqv"))))
2275 (build-system qt-build-system)
2276 (native-inputs
2277 (list extra-cmake-modules qttools))
2278 (inputs
2279 (list kcodecs kconfig kwidgetsaddons))
2280 (arguments (list #:qtbase qtbase))
2281 (home-page "https://community.kde.org/Frameworks")
2282 (synopsis "Powerful autocompletion framework and widgets")
2283 (description "This framework helps implement autocompletion in Qt-based
2284applications. It provides a set of completion-ready widgets, or can be
2285integrated it into your application's other widgets.")
2286 (license license:lgpl2.1+)))
2287
2288(define-public kcompletion-5
2289 (package
2290 (inherit kcompletion)
2291 (name "kcompletion")
2292 (version "5.116.0")
2293 (source (origin
2294 (method url-fetch)
2295 (uri (string-append
2296 "mirror://kde/stable/frameworks/"
2297 (version-major+minor version) "/"
2298 name "-" version ".tar.xz"))
2299 (sha256
2300 (base32
2301 "1sh9gpbi65mbs8bszrxh7a9ifgcr7z5jrhsac3670905a6mdmfjj"))))
2302 (native-inputs
2303 (list extra-cmake-modules qttools-5))
2304 (inputs
2305 (list kconfig-5 kwidgetsaddons-5))
2306 (arguments '())))
2307
2308(define-public kcontacts
2309 (package
2310 (name "kcontacts")
2311 (version "6.24.0")
2312 (source (origin
2313 (method url-fetch)
2314 (uri (string-append
2315 "mirror://kde/stable/frameworks/"
2316 (version-major+minor version) "/"
2317 name "-" version ".tar.xz"))
2318 (patches
2319 (search-patches "kcontacts-incorrect-country-name.patch"))
2320 (sha256
2321 (base32
2322 "12xl98rim50w8jz66jxa3dqvpl9cgnj7imvdk5yd8rkrdh75rz3z"))))
2323 (build-system qt-build-system)
2324 (native-inputs (list extra-cmake-modules
2325 ;; for test
2326 iso-codes))
2327 (propagated-inputs
2328 (list
2329 ;; As required by KF6ContactsConfig.cmake.
2330 kcodecs kconfig kcoreaddons ki18n
2331 ;; As required by kcontactsqml.qmltypes.
2332 qtdeclarative))
2333 (arguments
2334 (list
2335 #:qtbase qtbase
2336 #:test-exclude "kcontacts-addresstest"
2337 #:phases
2338 #~(modify-phases %standard-phases
2339 (add-before 'check 'check-setup
2340 (lambda _ (setenv "HOME" (getcwd))))
2341 (replace 'check
2342 (lambda* (#:key tests? parallel-tests? test-exclude
2343 #:allow-other-keys)
2344 (when tests?
2345 (invoke "ctest" "-E" test-exclude
2346 "--rerun-failed" "--output-on-failure"
2347 "-j" (if parallel-tests?
2348 (number->string (parallel-job-count))
2349 "1"))))))))
2350 (home-page "https://community.kde.org/Frameworks")
2351 (synopsis "API for contacts/address book data following the vCard standard")
2352 (description "This library provides a vCard data model, vCard
2353input/output, contact group management, locale-aware address formatting, and
2354localized country name to ISO 3166-1 alpha 2 code mapping and vice verca.
2355")
2356 (license license:lgpl2.1+)))
2357
2358(define-public kcrash
2359 (package
2360 (name "kcrash")
2361 (version "6.24.0")
2362 (source (origin
2363 (method url-fetch)
2364 (uri (string-append
2365 "mirror://kde/stable/frameworks/"
2366 (version-major+minor version) "/"
2367 name "-" version ".tar.xz"))
2368 (sha256
2369 (base32
2370 "0x40xw00cc11g6ydfh69gc69bmrx10gmpbrd6i37wn4n7j644i25"))))
2371 (build-system qt-build-system)
2372 (native-inputs (list extra-cmake-modules))
2373 (inputs (list kcoreaddons kwindowsystem))
2374 (arguments
2375 (list #:qtbase qtbase
2376 #:phases
2377 #~(modify-phases %standard-phases
2378 (add-before 'check 'check-setup
2379 (lambda _ (setenv "HOME" (getcwd)))))))
2380 (home-page "https://community.kde.org/Frameworks")
2381 (synopsis "Graceful handling of application crashes")
2382 (description "KCrash provides support for intercepting and handling
2383application crashes.")
2384 (license license:lgpl2.1+)))
2385
2386(define-public kcrash-5
2387 (package
2388 (inherit kcrash)
2389 (name "kcrash")
2390 (version "5.116.0")
2391 (source (origin
2392 (method url-fetch)
2393 (uri (string-append
2394 "mirror://kde/stable/frameworks/"
2395 (version-major+minor version) "/"
2396 name "-" version ".tar.xz"))
2397 (sha256
2398 (base32
2399 "0rg8g50y44gq3hjl5fc36siyyq3czd2zrf4c70fspk33svwldlw1"))))
2400 (native-inputs
2401 (list extra-cmake-modules))
2402 (inputs
2403 (list kcoreaddons-5 kwindowsystem-5 qtx11extras))
2404 (arguments '())))
2405
2406(define-public kdoctools
2407 (package
2408 (name "kdoctools")
2409 (version "6.24.0")
2410 (source (origin
2411 (method url-fetch)
2412 (uri (string-append
2413 "mirror://kde/stable/frameworks/"
2414 (version-major+minor version) "/"
2415 name "-" version ".tar.xz"))
2416 (sha256
2417 (base32
2418 "1m30jqnksgn8cjyyq9fwwq75g32pr0hfbb8lq7316f3q5z2m3qxf"))))
2419 (build-system cmake-build-system)
2420 (native-inputs
2421 (list extra-cmake-modules))
2422 (inputs
2423 (list docbook-xml-4.5
2424 docbook-xsl
2425 gettext-minimal
2426 karchive
2427 ki18n
2428 libxml2
2429 libxslt
2430 perl
2431 perl-uri
2432 qtbase))
2433 (arguments
2434 (list
2435 #:phases
2436 #~(modify-phases %standard-phases
2437 (add-after 'unpack 'cmake-find-docbook
2438 (lambda* (#:key inputs #:allow-other-keys)
2439 (substitute* (find-files "cmake" "\\.cmake$")
2440 (("CMAKE_SYSTEM_PREFIX_PATH") "CMAKE_PREFIX_PATH"))
2441 (substitute* "cmake/FindDocBookXML4.cmake"
2442 (("^.*xml/docbook/schema/dtd.*$")
2443 "xml/dtd/docbook\n"))
2444 (substitute* "cmake/FindDocBookXSL.cmake"
2445 (("^.*xml/docbook/stylesheet.*$")
2446 (string-append "xml/xsl/docbook-xsl-"
2447 #$(package-version (this-package-input "docbook-xsl"))
2448 "\n"))))))))
2449 (home-page "https://community.kde.org/Frameworks")
2450 (synopsis "Create documentation from DocBook")
2451 (description "Provides tools to generate documentation in various format
2452from DocBook files.")
2453 (license license:lgpl2.1+)))
2454
2455(define-public kdoctools-5
2456 (package
2457 (inherit kdoctools)
2458 (name "kdoctools")
2459 (version "5.116.0")
2460 (source (origin
2461 (method url-fetch)
2462 (uri (string-append
2463 "mirror://kde/stable/frameworks/"
2464 (version-major+minor version) "/"
2465 name "-" version ".tar.xz"))
2466 (sha256
2467 (base32
2468 "1cvb39ggc79fpfa84rshm6vl10h0avn2rf6qxaxb41r9887ad81n"))))
2469 (native-inputs
2470 (list extra-cmake-modules))
2471 (inputs
2472 (list docbook-xml-4.5
2473 docbook-xsl
2474 karchive-5
2475 ki18n-5
2476 libxml2
2477 libxslt
2478 perl
2479 perl-uri
2480 qtbase-5))
2481 (arguments
2482 (list
2483 #:phases
2484 #~(modify-phases %standard-phases
2485 (add-after 'unpack 'cmake-find-docbook
2486 (lambda* (#:key inputs #:allow-other-keys)
2487 (substitute* (find-files "cmake" "\\.cmake$")
2488 (("CMAKE_SYSTEM_PREFIX_PATH")
2489 "CMAKE_PREFIX_PATH"))
2490 (substitute* "cmake/FindDocBookXML4.cmake"
2491 (("^.*xml/docbook/schema/dtd.*$")
2492 "xml/dtd/docbook\n"))
2493 (substitute* "cmake/FindDocBookXSL.cmake"
2494 (("^.*xml/docbook/stylesheet.*$")
2495 (string-append "xml/xsl/docbook-xsl-"
2496 #$(package-version docbook-xsl)
2497 "\n")))))
2498 (add-after 'install 'add-symlinks
2499 ;; Some package(s) (e.g. kdelibs4support) refer to this locale by a
2500 ;; different spelling.
2501 (lambda* (#:key outputs #:allow-other-keys)
2502 (let ((xsl (string-append (assoc-ref outputs "out")
2503 "/share/kf5/kdoctools/customization/xsl/")))
2504 (symlink (string-append xsl "pt_br.xml")
2505 (string-append xsl "pt-BR.xml"))))))))))
2506
2507(define-public kfilemetadata
2508 (package
2509 (name "kfilemetadata")
2510 (version "6.24.0")
2511 (source (origin
2512 (method url-fetch)
2513 (uri (string-append
2514 "mirror://kde/stable/frameworks/"
2515 (version-major+minor version) "/"
2516 name "-" version ".tar.xz"))
2517 (sha256
2518 (base32
2519 "08yfl8d7zbgajfm2axgrvklr0d82fvbrbzhiyrk1zbzrmkmw5z9f"))))
2520 (build-system cmake-build-system)
2521 (arguments
2522 (list
2523 #:test-exclude
2524 (string-append "("
2525 (string-join '("exiv2extractortest"
2526 "usermetadatawritertest")
2527 "|")
2528 ")")
2529 #:phases
2530 #~(modify-phases %standard-phases
2531 (replace 'check
2532 (lambda* (#:key tests? test-exclude #:allow-other-keys)
2533 (when tests?
2534 (setenv "QT_QPA_PLATFORM" "offscreen")
2535 (invoke "ctest" "-E" test-exclude)))))))
2536 (native-inputs (list extra-cmake-modules pkg-config))
2537 (inputs
2538 (list attr
2539 ebook-tools
2540 kcodecs
2541 libplasma
2542 karchive
2543 kconfig
2544 kcoreaddons
2545 kdegraphics-mobipocket
2546 ki18n
2547 qtmultimedia
2548 qtbase
2549 ;; Required run-time packages
2550 catdoc
2551 ;; Optional run-time packages
2552 exiv2
2553 ffmpeg
2554 poppler-qt6
2555 taglib))
2556 (home-page "https://community.kde.org/Frameworks")
2557 (synopsis "Extract metadata from different fileformats")
2558 (description "KFileMetaData provides a simple library for extracting the
2559text and metadata from a number of different files. This library is typically
2560used by file indexers to retrieve the metadata. This library can also be used
2561by applications to write metadata.")
2562 (license (list license:lgpl2.0 license:lgpl2.1 license:lgpl3))))
2563
2564(define-public kimageannotator
2565 (package
2566 (name "kimageannotator")
2567 (version "0.7.2")
2568 (source
2569 (origin
2570 (method git-fetch)
2571 (uri (git-reference
2572 (url "https://github.com/ksnip/kImageAnnotator")
2573 (commit (string-append "v" version))))
2574 (file-name (git-file-name name version))
2575 (sha256
2576 (base32
2577 "1h8dab7yd8ads88gcxh2w8rqrgvyjb1fs3xkklcjssg62nq4v8s8"))))
2578 (build-system qt-build-system)
2579 (arguments
2580 (list #:qtbase qtbase
2581 #:test-exclude "AnnotationAreaTest"
2582 #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
2583 "-DBUILD_TESTS=ON"
2584 "-DBUILD_WITH_QT6=ON")
2585 #:phases
2586 #~(modify-phases %standard-phases
2587 (replace 'check
2588 (lambda* (#:key tests? test-exclude #:allow-other-keys)
2589 (when tests?
2590 ;; 1 test requires a running X server, it calls
2591 ;; 'XCloseDisplay'.
2592 (system "Xvfb :1 -screen 0 640x480x24 &")
2593 (setenv "DISPLAY" ":1")
2594 (invoke "ctest" "--test-dir" "tests" "-E"
2595 test-exclude)))))))
2596 (native-inputs
2597 (list qttools xorg-server-for-tests))
2598 (inputs
2599 (list googletest qtsvg kcolorpicker))
2600 (home-page "https://github.com/ksnip/kImageAnnotator")
2601 (synopsis "Image annotating library")
2602 (description "This library provides tools to annotate images.")
2603 (license license:lgpl3+)))
2604
2605(define-public kimageformats
2606 (package
2607 (name "kimageformats")
2608 (version "6.24.0")
2609 (source (origin
2610 (method url-fetch)
2611 (uri (string-append
2612 "mirror://kde/stable/frameworks/"
2613 (version-major+minor version) "/"
2614 name "-" version ".tar.xz"))
2615 (sha256
2616 (base32
2617 "1qhn9zh44ai8r37q41cj2z6k2s917bjz147k4dvf69r27s33b7by"))))
2618 (build-system cmake-build-system)
2619 (native-inputs
2620 (list extra-cmake-modules pkg-config))
2621 (inputs
2622 (list karchive ; for Krita and OpenRaster images
2623 openexr ; for OpenEXR high dynamic-range images
2624 qtbase
2625 libjxl
2626 libraw
2627 libavif
2628 ;; see https://bugs.kde.org/show_bug.cgi?id=468288,
2629 ;; kimageformats-read-psd test need QTiffPlugin
2630 qtimageformats
2631 ;; FIXME: make openexr propagate two package
2632 imath zlib))
2633 (arguments
2634 (list
2635 #:phases
2636 #~(modify-phases %standard-phases
2637 (add-before 'check 'check-setup
2638 (lambda _
2639 ;; make Qt render "offscreen", required for tests
2640 (setenv "QT_QPA_PLATFORM" "offscreen"))))))
2641 (home-page "https://community.kde.org/Frameworks")
2642 (synopsis "Plugins to allow QImage to support extra file formats")
2643 (description "This framework provides additional image format plugins for
2644QtGui. As such it is not required for the compilation of any other software,
2645but may be a runtime requirement for Qt-based software to support certain image
2646formats.")
2647 (license license:lgpl2.1+)))
2648
2649(define-public kjobwidgets
2650 (package
2651 (name "kjobwidgets")
2652 (version "6.24.0")
2653 (source (origin
2654 (method url-fetch)
2655 (uri (string-append
2656 "mirror://kde/stable/frameworks/"
2657 (version-major+minor version) "/"
2658 name "-" version ".tar.xz"))
2659 (sha256
2660 (base32
2661 "0qcv9x2xpbbgabppqm2zzjd7c7xrhw760mkn2na87f99px4z9idk"))))
2662 (build-system cmake-build-system)
2663 ;; As required by KF6JobWidgetsConfig.cmake.
2664 (propagated-inputs
2665 (list kcoreaddons))
2666 (native-inputs
2667 (list extra-cmake-modules qttools))
2668 (inputs
2669 (list libxkbcommon knotifications kwidgetsaddons qtbase))
2670 (arguments
2671 (list #:tests? #f
2672 #:configure-flags
2673 ;; XXX: build python bindings.
2674 #~(list "-DBUILD_PYTHON_BINDINGS=OFF")))
2675 (home-page "https://community.kde.org/Frameworks")
2676 (synopsis "Widgets for showing progress of asynchronous jobs")
2677 (description "KJobWIdgets provides widgets for showing progress of
2678asynchronous jobs.")
2679 (license license:lgpl2.1+)))
2680
2681(define-public kjobwidgets-5
2682 (package
2683 (inherit kjobwidgets)
2684 (name "kjobwidgets")
2685 (version "5.116.0")
2686 (source (origin
2687 (method url-fetch)
2688 (uri (string-append
2689 "mirror://kde/stable/frameworks/"
2690 (version-major+minor version) "/"
2691 name "-" version ".tar.xz"))
2692 (sha256
2693 (base32
2694 "11xy7n2sz340wili21ia92ihfq76irh8c7db8x1qsgqq09ypzhza"))))
2695 (native-inputs
2696 (list extra-cmake-modules qttools-5))
2697 (inputs
2698 (list kcoreaddons-5 kwidgetsaddons-5 qtbase-5 qtx11extras))))
2699
2700(define-public knotifications
2701 (package
2702 (name "knotifications")
2703 (version "6.24.0")
2704 (source (origin
2705 (method url-fetch)
2706 (uri (string-append
2707 "mirror://kde/stable/frameworks/"
2708 (version-major+minor version) "/"
2709 name "-" version ".tar.xz"))
2710 (sha256
2711 (base32
2712 "0h19wi493k6a44vss2jd06li5bi6yllhpk49s6b9pqwsmhs0pfqj"))))
2713 (build-system cmake-build-system)
2714 (arguments
2715 (list #:tests? #f
2716 #:configure-flags
2717 ;; XXX: build python bindings.
2718 #~(list "-DBUILD_PYTHON_BINDINGS=OFF")))
2719 (native-inputs
2720 (list extra-cmake-modules pkg-config qttools))
2721 (propagated-inputs (list qtdeclarative))
2722 (inputs
2723 (list kconfig
2724 kcoreaddons
2725 libcanberra
2726 qtbase))
2727 (home-page "https://community.kde.org/Frameworks")
2728 (synopsis "Desktop notifications")
2729 (description "KNotification is used to notify the user of an event. It
2730covers feedback and persistent events.")
2731 (license license:lgpl2.1+)))
2732
2733(define-public knotifications-5
2734 (package
2735 (inherit knotifications)
2736 (name "knotifications")
2737 (version "5.116.0")
2738 (source (origin
2739 (method url-fetch)
2740 (uri (string-append
2741 "mirror://kde/stable/frameworks/"
2742 (version-major+minor version) "/"
2743 name "-" version ".tar.xz"))
2744 (sha256
2745 (base32
2746 "0jxld7f82psa48r0n9qv1cks6w1vd6krjnyb4mw68vgm38030na8"))))
2747 (native-inputs
2748 (list extra-cmake-modules dbus pkg-config qttools-5))
2749 (inputs
2750 (list kcodecs-5
2751 kconfig-5
2752 kcoreaddons-5
2753 kwindowsystem-5
2754 libcanberra
2755 libdbusmenu-qt
2756 phonon-qt5
2757 qtdeclarative-5
2758 qtbase-5
2759 qtspeech-5
2760 qtx11extras))
2761 (propagated-inputs '())
2762 (arguments
2763 (list #:phases #~(modify-phases %standard-phases
2764 (replace 'check
2765 (lambda* (#:key tests? #:allow-other-keys)
2766 (when tests?
2767 (setenv "HOME"
2768 (getcwd))
2769 (setenv "DBUS_FATAL_WARNINGS" "0")
2770 (invoke "dbus-launch" "ctest")))))))))
2771
2772(define-public kpackage
2773 (package
2774 (name "kpackage")
2775 (version "6.24.0")
2776 (source (origin
2777 (method url-fetch)
2778 (uri (string-append
2779 "mirror://kde/stable/frameworks/"
2780 (version-major+minor version) "/"
2781 name "-" version ".tar.xz"))
2782 (sha256
2783 (base32
2784 "0x607kz7ig8a6qlwbpg305klf7654x08z530hxbghr57c5gw7q2h"))
2785 (modules '((guix build utils)))
2786 ;; Allow following paths or symlinks outside this package.
2787 (snippet
2788 '(substitute* "src/kpackage/private/package_p.h"
2789 (("bool externalPaths = false;")
2790 "bool externalPaths = true;")))))
2791 (build-system cmake-build-system)
2792 (native-inputs
2793 (list extra-cmake-modules))
2794 (propagated-inputs (list kcoreaddons))
2795 (inputs
2796 (list karchive
2797 kconfig
2798 kdoctools
2799 ki18n
2800 qtbase))
2801 (arguments
2802 (list
2803 ;; The `plasma-querytest' test is known to fail when tests are run in parallel:
2804 ;; <https://sources.debian.org/src/kpackage/5.115.0-2/debian/changelog/#L109>
2805 #:parallel-tests? #f
2806 #:phases
2807 #~(modify-phases %standard-phases
2808 (add-before 'check 'check-setup
2809 (lambda _ (setenv "HOME" (getcwd)))))))
2810 (home-page "https://community.kde.org/Frameworks")
2811 (synopsis "Installation and loading of additional content as packages")
2812 (description "The Package framework lets the user install and load packages
2813of non binary content such as scripted extensions or graphic assets, as if they
2814were traditional plugins.")
2815 (license (list license:gpl2+ license:lgpl2.1+))))
2816
2817(define-public kpackage-5
2818 (package
2819 (inherit kpackage)
2820 (name "kpackage")
2821 (version "5.116.0")
2822 (source (origin
2823 (method url-fetch)
2824 (uri (string-append
2825 "mirror://kde/stable/frameworks/"
2826 (version-major+minor version) "/"
2827 name "-" version ".tar.xz"))
2828 (sha256
2829 (base32
2830 "1gpixfkyaflmzk8lkxnknydm4x6w5339yrgs2n9g229bqy2v21ap"))))
2831 (native-inputs
2832 (list extra-cmake-modules))
2833 (inputs
2834 (list karchive-5
2835 kconfig-5
2836 kcoreaddons-5
2837 kdoctools-5
2838 ki18n-5
2839 qtbase-5))
2840 (propagated-inputs '())
2841 (arguments
2842 (list
2843 #:phases
2844 #~(modify-phases %standard-phases
2845 (add-after 'unpack 'patch
2846 (lambda _
2847 (substitute* "src/kpackage/package.cpp"
2848 (("externalPaths.false.")
2849 "externalPaths(true)"))
2850 ;; Make QDirIterator follow symlinks
2851 (substitute* '("src/kpackage/packageloader.cpp")
2852 (("^\\s*(const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories)(;)"
2853 _ a b)
2854 (string-append a " | QDirIterator::FollowSymlinks" b))
2855 (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)"
2856 _ a b)
2857 (string-append a " | QDirIterator::FollowSymlinks" b)))))
2858 (add-after 'unpack 'patch-tests
2859 (lambda _
2860 ;; /bin/ls doesn't exist in the build-container use /etc/passwd
2861 (substitute* "autotests/packagestructuretest.cpp"
2862 (("(addDirectoryDefinition\\(\")bin(\".*\")bin(\".*\")bin\""
2863 _ a b c)
2864 (string-append a "etc" b "etc" c "etc\""))
2865 (("filePath\\(\"bin\", QStringLiteral\\(\"ls\"))")
2866 "filePath(\"etc\", QStringLiteral(\"passwd\"))")
2867 (("\"/bin/ls\"")
2868 "\"/etc/passwd\""))))
2869 (add-after 'unpack 'disable-problematic-tests
2870 (lambda _
2871 ;; The 'plasma-query' test fails non-deterministically, as
2872 ;; reported e.g. in <https://bugs.gentoo.org/919151>.
2873 (substitute* "autotests/CMakeLists.txt"
2874 ((".*querytest.*")
2875 ""))))
2876 (add-before 'check 'check-setup
2877 (lambda _
2878 (setenv "HOME" (getcwd)))))))))
2879
2880(define-public kpty
2881 (package
2882 (name "kpty")
2883 (version "6.24.0")
2884 (source (origin
2885 (method url-fetch)
2886 (uri (string-append
2887 "mirror://kde/stable/frameworks/"
2888 (version-major+minor version) "/"
2889 name "-" version ".tar.xz"))
2890 (sha256
2891 (base32
2892 "06c35dwzb7jhl148y0fmnn5xj8vmfac8jlpx10q8ga0ih97z3br7"))))
2893 (build-system cmake-build-system)
2894 (propagated-inputs
2895 (list kcoreaddons)) ;required by KF6PtyConfig.cmake
2896 (native-inputs
2897 (list extra-cmake-modules))
2898 (inputs
2899 ;; TODO: utempter, for managing UTMP entries
2900 (list ki18n qtbase))
2901 (arguments
2902 (list #:tests? #f ; FIXME: 1/1 tests fail.
2903 #:phases #~(modify-phases %standard-phases
2904 (add-after 'unpack 'patch-tests
2905 (lambda _
2906 (substitute* "autotests/kptyprocesstest.cpp"
2907 (("/bin/sh")
2908 (which "bash"))))))))
2909 (home-page "https://community.kde.org/Frameworks")
2910 (synopsis "Interfacing with pseudo terminal devices")
2911 (description "This library provides primitives to interface with pseudo
2912terminal devices as well as a KProcess derived class for running child processes
2913and communicating with them using a pty.")
2914 (license (list license:gpl2+ license:lgpl2.1+))))
2915
2916(define-public kunitconversion
2917 (package
2918 (name "kunitconversion")
2919 (version "6.24.0")
2920 (source (origin
2921 (method url-fetch)
2922 (uri (string-append
2923 "mirror://kde/stable/frameworks/"
2924 (version-major+minor version) "/"
2925 name "-" version ".tar.xz"))
2926 (sha256
2927 (base32
2928 "19lzjwa5f5ndgg34pmfv2n34pychal5mdsmwbrmxa0n390p5ikd0"))))
2929 (build-system cmake-build-system)
2930 (native-inputs
2931 (list extra-cmake-modules))
2932 (inputs
2933 (list ki18n qtbase))
2934 (arguments (list
2935 #:configure-flags
2936 ;; XXX: build python bindings.
2937 #~(list "-DBUILD_PYTHON_BINDINGS=OFF")
2938 #:tests? #f)) ;; Requires network.
2939 (home-page "https://community.kde.org/Frameworks")
2940 (synopsis "Converting physical units")
2941 (description "KUnitConversion provides functions to convert values in
2942different physical units. It supports converting different prefixes (e.g. kilo,
2943mega, giga) as well as converting between different unit systems (e.g. liters,
2944gallons).")
2945 (license license:lgpl2.1+)))
2946
2947(define-public syndication
2948 (package
2949 (name "syndication")
2950 (version "6.24.0")
2951 (source (origin
2952 (method url-fetch)
2953 (uri (string-append
2954 "mirror://kde/stable/frameworks/"
2955 (version-major+minor version) "/"
2956 name "-" version ".tar.xz"))
2957 (sha256
2958 (base32
2959 "0p50d2kvhw2b2m99rbxaf8dvz2r2m1l43s9clbcqsfd04fzq5qlr"))))
2960 (build-system cmake-build-system)
2961 (native-inputs
2962 (list extra-cmake-modules))
2963 (inputs
2964 (list kcodecs qtbase))
2965 (home-page "https://community.kde.org/Frameworks")
2966 (synopsis "RSS/Atom parser library")
2967 (description "@code{syndication} supports RSS (0.9/1.0, 0.91..2.0) and
2968Atom (0.3 and 1.0) feeds. The library offers a unified, format-agnostic view
2969on the parsed feed, so that the using application does not need to distinguish
2970between feed formats.")
2971 (license license:lgpl2.1+)))
2972
2973
2974;; Tier 3
2975;;
2976;; Tier 3 frameworks are generally more powerful, comprehensive packages, and
2977;; consequently have more complex dependencies.
2978
2979(define-public baloo
2980 (package
2981 (name "baloo")
2982 (version "6.24.0")
2983 (source (origin
2984 (method url-fetch)
2985 (uri (string-append
2986 "mirror://kde/stable/frameworks/"
2987 (version-major+minor version) "/"
2988 name "-" version ".tar.xz"))
2989 (sha256
2990 (base32
2991 "1r2w361axff4mfc3khsq8zd9dly5yavlz4vir606nqxr2xl6fwhz"))))
2992 (build-system cmake-build-system)
2993 (propagated-inputs
2994 (list kcoreaddons ;required by KF6BalooConfig.cmake
2995 kfilemetadata ;required by KF6BalooConfig.cmake
2996 qtdeclarative)) ;required by QML modules
2997 (native-inputs
2998 (list dbus extra-cmake-modules))
2999 (inputs
3000 (list kbookmarks
3001 kcompletion
3002 kconfig
3003 kcrash
3004 kdbusaddons
3005 kidletime
3006 kio
3007 kitemviews
3008 ki18n
3009 kjobwidgets
3010 kservice
3011 kwidgetsaddons
3012 kxmlgui
3013 lmdb
3014 qtbase
3015 qtdeclarative
3016 solid))
3017 (arguments
3018 (list #:test-exclude
3019 (string-append "("
3020 (string-join '("filewatchtest" ;requires udisks2
3021 ;; testMoveRootFolder() and
3022 ;; testRacyReplace() fail.
3023 "kinotifytest")
3024 "|")
3025 ")")
3026 #:phases
3027 #~(modify-phases %standard-phases
3028 (replace 'check
3029 (lambda* (#:key tests? test-exclude #:allow-other-keys)
3030 (when tests?
3031 (setenv "DBUS_FATAL_WARNINGS" "0")
3032 (setenv "HOME"
3033 (getcwd))
3034 (invoke "dbus-launch" "ctest" "-E" test-exclude)))))))
3035 (home-page "https://community.kde.org/Frameworks")
3036 (synopsis "File searching and indexing")
3037 (description "Baloo provides file searching and indexing. It does so by
3038maintaining an index of the contents of your files.")
3039 ;; dual licensed
3040 (license (list license:gpl2+ license:lgpl2.1+))))
3041
3042(define-public kbookmarks
3043 (package
3044 (name "kbookmarks")
3045 (version "6.24.0")
3046 (source (origin
3047 (method url-fetch)
3048 (uri (string-append
3049 "mirror://kde/stable/frameworks/"
3050 (version-major+minor version) "/"
3051 name "-" version ".tar.xz"))
3052 (sha256
3053 (base32
3054 "0pcdsqiwwb5wkk49g1mj4c43n9w5ik6kl31d2zkkjnbzqxbs1bg2"))))
3055 (build-system cmake-build-system)
3056 (propagated-inputs
3057 (list kwidgetsaddons))
3058 (native-inputs
3059 (list extra-cmake-modules qttools))
3060 (inputs
3061 (list kauth
3062 kcodecs
3063 kconfig
3064 kconfigwidgets
3065 kcoreaddons
3066 kiconthemes
3067 kcolorscheme
3068 kxmlgui
3069 qtdeclarative
3070 qtbase))
3071 (arguments
3072 (list
3073 #:phases
3074 #~(modify-phases %standard-phases
3075 (add-before 'check 'check-setup
3076 (lambda _
3077 (setenv "HOME" (getcwd))
3078 ;; make Qt render "offscreen", required for tests
3079 (setenv "QT_QPA_PLATFORM" "offscreen"))))))
3080 (home-page "https://community.kde.org/Frameworks")
3081 (synopsis "Bookmarks management library")
3082 (description "KBookmarks lets you access and manipulate bookmarks stored
3083using the XBEL format.")
3084 (license license:lgpl2.1+)))
3085
3086(define-public kbookmarks-5
3087 (package
3088 (inherit kbookmarks)
3089 (name "kbookmarks")
3090 (version "5.116.0")
3091 (source (origin
3092 (method url-fetch)
3093 (uri (string-append
3094 "mirror://kde/stable/frameworks/"
3095 (version-major+minor version) "/"
3096 name "-" version ".tar.xz"))
3097 (sha256
3098 (base32
3099 "01cg6qsfjr59ncrxwmiid36cpzynjwxgfydgk23j29bk9gjml2jl"))))
3100 (propagated-inputs
3101 (list kwidgetsaddons-5))
3102 (native-inputs
3103 (list extra-cmake-modules qttools-5))
3104 (inputs
3105 (list kauth-5
3106 kcodecs-5
3107 kconfig-5
3108 kconfigwidgets-5
3109 kcoreaddons-5
3110 kiconthemes-5
3111 kxmlgui-5
3112 qtbase-5))))
3113
3114(define-public kcmutils
3115 (package
3116 (name "kcmutils")
3117 (version "6.24.0")
3118 (source (origin
3119 (method url-fetch)
3120 (uri (string-append
3121 "mirror://kde/stable/frameworks/"
3122 (version-major+minor version) "/"
3123 name "-" version ".tar.xz"))
3124 (sha256
3125 (base32
3126 "12p5x0z38h6lymq8gqsgr7x4a9bxk0yssls0vp4ip8ak5c04ccw9"))))
3127 (build-system qt-build-system)
3128 (propagated-inputs
3129 (list kconfigwidgets
3130 kcoreaddons
3131 kirigami ;required by the QML modules
3132 qtdeclarative))
3133 (native-inputs
3134 (list extra-cmake-modules
3135 gettext-minimal
3136 qttools))
3137 (inputs
3138 (list kcolorscheme
3139 kcompletion
3140 kguiaddons
3141 ki18n
3142 kiconthemes
3143 kio
3144 kitemviews
3145 kwidgetsaddons
3146 kxmlgui
3147 qtwayland))
3148 (arguments
3149 (list #:qtbase qtbase
3150 #:phases
3151 #~(modify-phases %standard-phases
3152 (add-after 'unpack 'unrequire-qmlmodule
3153 (lambda _
3154 ;; HACK: ecm_find_qmlmodule cannot find qmlmodule on other
3155 ;; prefix, so we remove its requirement.
3156 (substitute* "CMakeLists.txt"
3157 (("(org\\.kde\\.kirigami) REQUIRED" _ keep) keep)))))))
3158 (home-page "https://community.kde.org/Frameworks")
3159 (synopsis "Utilities for KDE System Settings modules")
3160 (description "KCMUtils provides various classes to work with KCModules.
3161KCModules can be created with the KConfigWidgets framework.")
3162 (license license:lgpl2.1+)))
3163
3164(define-public kcmutils-5
3165 (package
3166 (inherit kcmutils)
3167 (name "kcmutils")
3168 (version "5.116.0")
3169 (source (origin
3170 (method url-fetch)
3171 (uri (string-append
3172 "mirror://kde/stable/frameworks/"
3173 (version-major+minor version) "/"
3174 name "-" version ".tar.xz"))
3175 (sha256
3176 (base32
3177 "06aw308wv3fyl1g60n1i2hxx74f0isdsfwwzidsjk79danyqsa4i"))))
3178 (propagated-inputs
3179 (list kconfigwidgets-5 kservice-5))
3180 (native-inputs
3181 (list extra-cmake-modules))
3182 (arguments
3183 (list
3184 #:phases
3185 #~(modify-phases %standard-phases
3186 (add-after 'unpack 'patch
3187 (lambda _
3188 (substitute* "src/kpluginselector.cpp"
3189 ;; make QDirIterator follow symlinks
3190 (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)"
3191 _ a b)
3192 (string-append a
3193 " | QDirIterator::FollowSymlinks" b)))
3194 (substitute* "src/kcmoduleloader.cpp"
3195 ;; print plugin name when loading fails
3196 (("^\\s*(qWarning\\(\\) << \"Error loading) (plugin:\")( << loader\\.errorString\\(\\);)"
3197 _ a b c)
3198 (string-append a
3199 " KCM plugin\" << mod.service()->library() << \":\""
3200 c)))))
3201 (add-before 'check 'check-setup
3202 (lambda _
3203 (setenv "QT_QPA_PLATFORM" "offscreen"))))))
3204 (inputs
3205 (list kauth-5
3206 kcodecs-5
3207 kconfig-5
3208 kcoreaddons-5
3209 kdeclarative-5
3210 kguiaddons-5
3211 kiconthemes-5
3212 kitemviews-5
3213 ki18n-5
3214 kpackage-5
3215 kwidgetsaddons-5
3216 kxmlgui-5
3217 qtbase-5
3218 qtdeclarative-5))))
3219
3220(define-public kconfigwidgets
3221 (package
3222 (name "kconfigwidgets")
3223 (version "6.24.0")
3224 (source (origin
3225 (method url-fetch)
3226 (uri (string-append
3227 "mirror://kde/stable/frameworks/"
3228 (version-major+minor version) "/"
3229 name "-" version ".tar.xz"))
3230 (sha256
3231 (base32
3232 "1w5f4wspgmlzd7smv9gq1kvnsk7xp9msc78gbk930vmxlm433x5s"))))
3233 (build-system qt-build-system)
3234 (propagated-inputs
3235 (list kcodecs kconfig kcolorscheme kwidgetsaddons))
3236 (native-inputs
3237 (list extra-cmake-modules kdoctools qttools))
3238 (inputs
3239 (list kcoreaddons
3240 kguiaddons
3241 ki18n
3242 ;; todo: PythonModuleGeneration
3243 qtdeclarative
3244 libxkbcommon))
3245 (arguments
3246 (list
3247 #:qtbase qtbase
3248 #:test-exclude
3249 (string-append "("
3250 (string-join '("kstandardactiontest"
3251 "klanguagenametest")
3252 "|")
3253 ")")
3254 #:phases
3255 #~(modify-phases %standard-phases
3256 (add-after 'unpack 'patch
3257 (lambda _
3258 (substitute* "src/khelpclient.cpp"
3259 ;; make QDirIterator follow symlinks
3260 (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
3261 (string-append a " | QDirIterator::FollowSymlinks" b)))))
3262 (replace 'check
3263 (lambda* (#:key tests? test-exclude #:allow-other-keys)
3264 (when tests?
3265 (setenv "HOME"
3266 (getcwd))
3267 (invoke "ctest" "-E" test-exclude)))))))
3268 (home-page "https://community.kde.org/Frameworks")
3269 (synopsis "Widgets for configuration dialogs")
3270 (description "KConfigWidgets provides easy-to-use classes to create
3271configuration dialogs, as well as a set of widgets which uses KConfig to store
3272their settings.")
3273 ;; dual licensed
3274 (license (list license:gpl2+ license:lgpl2.1+))))
3275
3276(define-public kconfigwidgets-5
3277 (package
3278 (inherit kconfigwidgets)
3279 (name "kconfigwidgets")
3280 (version "5.116.0")
3281 (source (origin
3282 (method url-fetch)
3283 (uri (string-append
3284 "mirror://kde/stable/frameworks/"
3285 (version-major+minor version) "/"
3286 name "-" version ".tar.xz"))
3287 (sha256
3288 (base32
3289 "1f65ayyyadiajf7xgf7369rly2yzigh6gqlb0nkgg8cp2bq9fmp4"))))
3290 (propagated-inputs
3291 (list kauth-5 kcodecs-5 kconfig-5 kwidgetsaddons-5))
3292 (native-inputs
3293 (list extra-cmake-modules kdoctools-5 qttools-5))
3294 (inputs
3295 (list kcoreaddons-5
3296 kguiaddons-5
3297 ;; todo: PythonModuleGeneration
3298 ki18n-5))
3299 (arguments
3300 (list
3301 #:phases
3302 #~(modify-phases %standard-phases
3303 (add-after 'unpack 'patch
3304 (lambda _
3305 (substitute* "src/khelpclient.cpp"
3306 ;; make QDirIterator follow symlinks
3307 (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
3308 (string-append a " | QDirIterator::FollowSymlinks" b)))))
3309 (replace 'check
3310 (lambda* (#:key tests? #:allow-other-keys)
3311 (when tests?
3312 (setenv "HOME"
3313 (getcwd))
3314 (invoke "ctest" "-E" "kstandardactiontest")))))))))
3315
3316(define-public kdeclarative
3317 (package
3318 (name "kdeclarative")
3319 (version "6.24.0")
3320 (source (origin
3321 (method url-fetch)
3322 (uri (string-append
3323 "mirror://kde/stable/frameworks/"
3324 (version-major+minor version) "/"
3325 name "-" version ".tar.xz"))
3326 (sha256
3327 (base32
3328 "05b92c5shmb1nq96w7c810q2pnraymsbr4jfhqb5lynfm1x6j3fh"))))
3329 (build-system cmake-build-system)
3330 (propagated-inputs
3331 (list kconfig qtdeclarative))
3332 (native-inputs
3333 (list extra-cmake-modules))
3334 (inputs
3335 (list kglobalaccel
3336 kguiaddons
3337 ki18n
3338 kwidgetsaddons
3339 qtshadertools
3340 qtbase))
3341 (arguments (list #:tests? #f))
3342 (home-page "https://community.kde.org/Frameworks")
3343 (synopsis "Integration of QML and KDE work spaces")
3344 (description "KDeclarative provides integration of QML and KDE work spaces.
3345It's comprises two parts: a library used by the C++ part of your application to
3346integrate QML with KDE Frameworks specific features, and a series of QML imports
3347that offer bindings to some of the Frameworks.")
3348 ;; dual licensed
3349 (license (list license:gpl2+ license:lgpl2.1+))))
3350
3351(define-public kdeclarative-5
3352 (package
3353 (inherit kdeclarative)
3354 (name "kdeclarative")
3355 (version "5.116.0")
3356 (source (origin
3357 (method url-fetch)
3358 (uri (string-append
3359 "mirror://kde/stable/frameworks/"
3360 (version-major+minor version) "/"
3361 name "-" version ".tar.xz"))
3362 (sha256
3363 (base32
3364 "0py5x9ia8p7ngk1q3nqwqi1b9zv6jdxc23qam8xyqbfjqcm9qzwy"))))
3365 (propagated-inputs
3366 (list kconfig-5 kpackage-5 qtdeclarative-5))
3367 (native-inputs
3368 (list dbus extra-cmake-modules pkg-config xorg-server-for-tests))
3369 (inputs
3370 (list kauth-5
3371 kcoreaddons-5
3372 kglobalaccel-5
3373 kguiaddons-5
3374 kiconthemes-5
3375 kio-5
3376 ki18n-5
3377 kjobwidgets-5
3378 knotifications-5
3379 kservice-5
3380 kwidgetsaddons-5
3381 kwindowsystem-5
3382 libepoxy
3383 qtbase-5
3384 qtdeclarative-5
3385 solid-5))
3386 (arguments
3387 (list #:phases
3388 #~(modify-phases %standard-phases
3389 (add-before 'check 'start-xorg-server
3390 (lambda* (#:key inputs #:allow-other-keys)
3391 ;; The test suite requires a running X server, setting
3392 ;; QT_QPA_PLATFORM=offscreen does not suffice.
3393 (system "Xvfb :1 -screen 0 640x480x24 &")
3394 (setenv "DISPLAY" ":1")))
3395 (replace 'check
3396 (lambda* (#:key tests? #:allow-other-keys)
3397 (when tests?
3398 (setenv "HOME"
3399 (getcwd))
3400 (setenv "XDG_RUNTIME_DIR"
3401 (getcwd))
3402 (setenv "QT_QPA_PLATFORM" "offscreen")
3403 (setenv "DBUS_FATAL_WARNINGS" "0")
3404 (invoke "dbus-launch" "ctest")))))))))
3405
3406(define-public kded
3407 (package
3408 (name "kded")
3409 (version "6.24.0")
3410 (source (origin
3411 (method url-fetch)
3412 (uri (string-append
3413 "mirror://kde/stable/frameworks/"
3414 (version-major+minor version) "/"
3415 name "-" version ".tar.xz"))
3416 (sha256
3417 (base32
3418 "19djjsm19nsg4965pr91ajyjqyg9fw7hzsdbprf44q8903a822gn"))))
3419 (build-system qt-build-system)
3420 (arguments
3421 (list #:qtbase qtbase
3422 #:tests? #f))
3423 (native-inputs
3424 (list extra-cmake-modules kdoctools))
3425 (inputs
3426 (list kconfig
3427 kcoreaddons
3428 kcrash
3429 kdbusaddons
3430 kdoctools
3431 kservice
3432 qtwayland))
3433 (home-page "https://community.kde.org/Frameworks")
3434 (synopsis "Central daemon of KDE work spaces")
3435 (description "KDED stands for KDE Daemon. KDED runs in the background and
3436performs a number of small tasks. Some of these tasks are built in, others are
3437started on demand.")
3438 ;; dual licensed
3439 (license (list license:lgpl2.0+ license:lgpl2.1+))))
3440
3441(define-public kded-5
3442 (package
3443 (inherit kded)
3444 (name "kded")
3445 (version "5.116.0")
3446 (source (origin
3447 (method url-fetch)
3448 (uri (string-append
3449 "mirror://kde/stable/frameworks/"
3450 (version-major+minor version) "/"
3451 name "-" version ".tar.xz"))
3452 (sha256
3453 (base32
3454 "0gd0dy748zw12xksk7xmv1xkra2g9s3av4d0i1d7dbb6z1ap5djw"))))
3455 (native-inputs
3456 (list extra-cmake-modules kdoctools-5))
3457 (inputs
3458 (list kconfig-5
3459 kcoreaddons-5
3460 kcrash-5
3461 kdbusaddons-5
3462 kdoctools-5
3463 kservice-5
3464 qtbase-5))))
3465
3466(define-public kdesu
3467 (package
3468 (name "kdesu")
3469 (version "6.24.0")
3470 (source (origin
3471 (method url-fetch)
3472 (uri (string-append
3473 "mirror://kde/stable/frameworks/"
3474 (version-major+minor version) "/"
3475 name "-" version ".tar.xz"))
3476 (sha256
3477 (base32
3478 "1lq7m109ad1cd8dajq9xs7wr55rxcgsvpkifcg19cgag5h0dsnmy"))))
3479 (build-system cmake-build-system)
3480 (propagated-inputs
3481 (list kpty))
3482 (native-inputs
3483 (list extra-cmake-modules))
3484 (inputs
3485 (list kconfig kcoreaddons ki18n kservice qtbase))
3486 ;; FIXME: kdesutest test fail.
3487 (arguments (list #:tests? #f))
3488 (home-page "https://community.kde.org/Frameworks")
3489 (synopsis "User interface for running shell commands with root privileges")
3490 (description "KDESU provides functionality for building GUI front ends for
3491(password asking) console mode programs. kdesu and kdessh use it to interface
3492with su and ssh respectively.")
3493 (license license:lgpl2.1+)))
3494
3495(define-public kglobalaccel
3496 (package
3497 (name "kglobalaccel")
3498 (version "6.24.0")
3499 (source (origin
3500 (method url-fetch)
3501 (uri (string-append
3502 "mirror://kde/stable/frameworks/"
3503 (version-major+minor version) "/"
3504 name "-" version ".tar.xz"))
3505 (sha256
3506 (base32
3507 "02mgnnln3rhjgvps7gcxqgyqdx8p2sq63k0k4x0balg9jpsd3icx"))))
3508 (build-system qt-build-system)
3509 (native-inputs
3510 (list extra-cmake-modules pkg-config qttools))
3511 (inputs
3512 (list kconfig
3513 kcrash
3514 kcoreaddons
3515 kdbusaddons
3516 kwindowsystem
3517 libxkbcommon
3518 qtdeclarative))
3519 (arguments
3520 (list
3521 #:tests? #f
3522 #:qtbase qtbase))
3523 (home-page "https://community.kde.org/Frameworks")
3524 (synopsis "Global desktop keyboard shortcuts")
3525 (description "KGlobalAccel allows you to have global accelerators that are
3526independent of the focused window. Unlike regular shortcuts, the application's
3527window does not need focus for them to be activated.")
3528 (license license:lgpl2.1+)))
3529
3530(define-public kglobalaccel-5
3531 (package
3532 (inherit kglobalaccel)
3533 (name "kglobalaccel")
3534 (version "5.116.0")
3535 (source (origin
3536 (method url-fetch)
3537 (uri (string-append
3538 "mirror://kde/stable/frameworks/"
3539 (version-major+minor version) "/"
3540 name "-" version ".tar.xz"))
3541 (sha256
3542 (base32
3543 "0rlqclaq4szzqa2kz7c9ad81rm0b2byr806l5v0xz968h8jampzn"))))
3544 (native-inputs
3545 (list extra-cmake-modules pkg-config qttools-5))
3546 (inputs
3547 (list kconfig-5
3548 kcrash-5
3549 kcoreaddons-5
3550 kdbusaddons-5
3551 kwindowsystem-5
3552 qtx11extras
3553 qtdeclarative-5
3554 xcb-util-keysyms))
3555 (arguments '())))
3556
3557(define-public kiconthemes
3558 (package
3559 (name "kiconthemes")
3560 (version "6.24.0")
3561 (source (origin
3562 (method url-fetch)
3563 (uri (string-append
3564 "mirror://kde/stable/frameworks/"
3565 (version-major+minor version) "/"
3566 name "-" version ".tar.xz"))
3567 (sha256
3568 (base32
3569 "0mjrxpky387zmchbakn62qcci6gd4vmm43pqnsa3nsclmi0i3vjz"))))
3570 (build-system qt-build-system)
3571 (propagated-inputs
3572 (list qtdeclarative)) ;required by iconthemesplugin.qmltypes
3573 (native-inputs
3574 (list extra-cmake-modules qttools shared-mime-info))
3575 (inputs
3576 (list breeze-icons
3577 karchive
3578 kauth
3579 kcodecs
3580 kcolorscheme
3581 kconfig
3582 kconfigwidgets
3583 kcoreaddons
3584 ki18n
3585 kitemviews
3586 kwidgetsaddons
3587 libxkbcommon
3588 qtsvg
3589 qtwayland))
3590 (arguments
3591 (list #:qtbase qtbase
3592 #:phases
3593 #~(modify-phases %standard-phases
3594 (add-after 'unpack 'enable-testing
3595 (lambda _
3596 (substitute* "CMakeLists.txt"
3597 (("if \\(BUILD_TESTING\\)" all)
3598 (string-append all "\n enable_testing()")))))
3599 (add-before 'check 'check-setup
3600 (lambda _
3601 (setenv "HOME" (getcwd)))))))
3602 (home-page "https://community.kde.org/Frameworks")
3603 (synopsis "Icon GUI utilities")
3604 (description "This library contains classes to improve the handling of icons
3605in applications using the KDE Frameworks.")
3606 (license license:lgpl2.1+)))
3607
3608(define-public kiconthemes-5
3609 (package
3610 (inherit kiconthemes)
3611 (name "kiconthemes")
3612 (version "5.116.0")
3613 (source (origin
3614 (method url-fetch)
3615 (uri (string-append
3616 "mirror://kde/stable/frameworks/"
3617 (version-major+minor version) "/"
3618 name "-" version ".tar.xz"))
3619 (sha256
3620 (base32
3621 "0q859zbjys7lajwpgl78ji4dif7cxdxirqb8b6f7k7bk53ignvly"))))
3622 (build-system cmake-build-system)
3623 (native-inputs
3624 (list extra-cmake-modules qttools-5 shared-mime-info))
3625 (inputs
3626 (list karchive-5
3627 kauth-5
3628 kcodecs-5
3629 kcoreaddons-5
3630 kconfig-5
3631 kconfigwidgets-5
3632 ki18n-5
3633 kitemviews-5
3634 kwidgetsaddons-5
3635 qtbase-5
3636 qtdeclarative-5
3637 qtsvg-5))
3638 (arguments
3639 (list #:phases
3640 #~(modify-phases %standard-phases
3641 (add-before 'check 'check-setup
3642 (lambda* (#:key inputs #:allow-other-keys)
3643 (setenv "XDG_DATA_DIRS"
3644 (string-append #$(this-package-native-input
3645 "shared-mime-info")
3646 "/share"))
3647 (setenv "HOME" (getcwd))
3648 ;; make Qt render "offscreen", required for tests
3649 (setenv "QT_QPA_PLATFORM" "offscreen"))))))))
3650
3651(define-public kinit
3652 (package
3653 (name "kinit")
3654 (version "5.116.0")
3655 (source (origin
3656 (method url-fetch)
3657 (uri (string-append
3658 "mirror://kde/stable/frameworks/"
3659 (version-major+minor version) "/"
3660 name "-" version ".tar.xz"))
3661 (sha256
3662 (base32
3663 "0b5w7pk7wbyzix2jvn3yk89f9r620wrx55v3cgvj4p83c73ar974"))
3664 ;; Use the store paths for other packages and dynamically loaded
3665 ;; libs
3666 (patches (search-patches "kinit-kdeinit-extra_libs.patch"))))
3667 (build-system cmake-build-system)
3668 (arguments
3669 (list
3670 #:tests? #f
3671 #:phases
3672 #~(modify-phases %standard-phases
3673 (add-after 'unpack 'patch-paths
3674 (lambda* (#:key inputs outputs #:allow-other-keys)
3675 ;; Set patched-in values:
3676 (substitute* "src/kdeinit/kinit.cpp"
3677 (("GUIX_PKGS_KF5_KIO") #$(this-package-input "kio"))
3678 (("GUIX_PKGS_KF5_PARTS") #$(this-package-input "kparts"))
3679 (("GUIX_PKGS_KF5_PLASMA")
3680 #$(this-package-input "plasma-framework"))))))))
3681 (native-search-paths
3682 (list (search-path-specification
3683 (variable "KDEINIT5_LIBRARY_PATH")
3684 (files '("lib/")))))
3685 (native-inputs
3686 (list extra-cmake-modules pkg-config))
3687 (inputs
3688 (list kauth-5
3689 kbookmarks-5
3690 kcodecs-5
3691 kcompletion-5
3692 kconfig-5
3693 kconfigwidgets-5
3694 kcoreaddons-5
3695 kcrash-5
3696 kdbusaddons-5
3697 kdoctools-5
3698 kio-5
3699 kitemviews-5
3700 ki18n-5
3701 kjobwidgets-5
3702 kparts-5
3703 kservice-5
3704 kwidgetsaddons-5
3705 kwindowsystem-5
3706 kxmlgui-5
3707 libcap ; to install start_kdeinit with CAP_SYS_RESOURCE
3708 plasma-framework
3709 qtbase-5
3710 solid-5))
3711 (home-page "https://community.kde.org/Frameworks")
3712 (synopsis "Library to speed up start of applications on KDE workspaces")
3713 (description "Kdeinit is a process launcher similar to init used for booting
3714UNIX. It launches processes by forking and then loading a dynamic library which
3715contains a @code{kdemain(@dots{})} function. Using kdeinit to launch KDE
3716applications makes starting KDE applications faster and reduces memory
3717consumption.")
3718 ;; dual licensed
3719 (license (list license:lgpl2.0+ license:lgpl2.1+))))
3720
3721(define kinit-bootstrap
3722 ((package-input-rewriting `((,kdbusaddons-5 . ,kdbusaddons-5-bootstrap))) kinit))
3723
3724(define-public kio
3725 (package
3726 (name "kio")
3727 (version "6.24.0")
3728 (source (origin
3729 (method url-fetch)
3730 (uri (string-append
3731 "mirror://kde/stable/frameworks/"
3732 (version-major+minor version) "/"
3733 name "-" version ".tar.xz"))
3734 (sha256
3735 (base32
3736 "1i7kd12xv39zx9141298g3qdhf6vffshkp6cb3sr4kwj6yp2dglz"))))
3737 (build-system qt-build-system)
3738 (propagated-inputs
3739 (list acl
3740 kbookmarks
3741 kconfig
3742 kcompletion
3743 kcoreaddons
3744 kitemviews
3745 kjobwidgets
3746 kservice
3747 kwidgetsaddons
3748 kwindowsystem
3749 solid))
3750 (native-inputs
3751 (list extra-cmake-modules dbus kdoctools qttools))
3752 (inputs (list karchive
3753 kauth
3754 kcodecs
3755 kconfigwidgets
3756 kcrash
3757 kdbusaddons
3758 kded
3759 kguiaddons
3760 kiconthemes
3761 ki18n
3762 kwallet
3763 libxml2
3764 libxslt
3765 qt5compat
3766 qtdeclarative
3767 qtwayland
3768 libxkbcommon
3769 sonnet
3770 `(,util-linux "lib") ; libmount
3771 zlib))
3772 (arguments
3773 (list
3774 #:qtbase qtbase
3775 #:test-exclude
3776 (string-append "("
3777 (string-join '("kiogui-favicontest"
3778 "kiocore-filefiltertest"
3779 "kpasswdservertest"
3780 "kiowidgets-kfileitemactionstest"
3781 "kiofilewidgets-kfileplacesmodeltest"
3782 ;; This test requires '/etc/passwd' owned
3783 ;; by root.
3784 "testtrash"
3785 ;; This test requires 'HOME=/home/$USER'.
3786 "kiofilewidgets-knewfilemenutest"
3787 ;; The following tests fail or are flaky (see:
3788 ;; https://bugs.kde.org/show_bug.cgi?id=440721).
3789 "kiocore-jobtest"
3790 "kiocore-kmountpointtest"
3791 "kiowidgets-kdirlistertest"
3792 "kiocore-kfileitemtest"
3793 "kiocore-ktcpsockettest"
3794 "kiocore-mimetypefinderjobtest"
3795 "kiocore-krecentdocumenttest"
3796 "kiocore-http_jobtest"
3797 "kiogui-openurljobtest"
3798 "kioslave-httpheaderdispositiontest"
3799 "applicationlauncherjob_forkingtest"
3800 "applicationlauncherjob_scopetest"
3801 "applicationlauncherjob_servicetest"
3802 "commandlauncherjob_forkingtest"
3803 "commandlauncherjob_scopetest"
3804 "commandlauncherjob_servicetest"
3805 "kiowidgets-kdirmodeltest"
3806 "kiowidgets-kurifiltertest-colon-separator"
3807 "kiofilewidgets-kfilewidgettest"
3808 "kiowidgets-kurifiltertest-space-separator"
3809 "kioworker-httpheaderdispositiontest")
3810 "|")
3811 ")")
3812 #:phases
3813 #~(modify-phases %standard-phases
3814 (add-after 'unpack 'patch
3815 (lambda _
3816 ;; Better error message (taken from NixOS)
3817 (substitute* "src/kiod/kiod_main.cpp"
3818 (("(^\\s*qCWarning(KIOD_CATEGORY) << \
3819\"Error loading plugin:\")( << loader.errorString();)" _ a b)
3820 (string-append a "<< name" b)))))
3821 (replace 'check
3822 (lambda* (#:key tests? test-exclude #:allow-other-keys)
3823 (when tests?
3824 (setenv "HOME" (getcwd))
3825 (setenv "XDG_RUNTIME_DIR" (getcwd))
3826 (invoke "dbus-launch" "ctest"
3827 "--rerun-failed" "--output-on-failure" "-E"
3828 test-exclude)))))))
3829 (home-page "https://community.kde.org/Frameworks")
3830 (synopsis "Network transparent access to files and data")
3831 (description "This framework implements a lot of file management functions.
3832It supports accessing files locally as well as via HTTP and FTP out of the box
3833and can be extended by plugins to support other protocols as well. There is a
3834variety of plugins available, e.g. to support access via SSH. The framework can
3835also be used to bridge a native protocol to a file-based interface. This makes
3836the data accessible in all applications using the KDE file dialog or any other
3837KIO enabled infrastructure.")
3838 (license license:lgpl2.1+)))
3839
3840(define-public kio-5
3841 (package
3842 (inherit kio)
3843 (name "kio")
3844 (version "5.116.0")
3845 (source (origin
3846 (method url-fetch)
3847 (uri (string-append
3848 "mirror://kde/stable/frameworks/"
3849 (version-major+minor version) "/"
3850 name "-" version ".tar.xz"))
3851 (sha256
3852 (base32
3853 "0nhins85cqlr3xz4xi0g54rshagphin3pjjx2qxs0fcwcpb1kdzg"))
3854 (patches (search-patches "kio-search-smbd-on-PATH.patch"))))
3855 (propagated-inputs
3856 (list acl
3857 kbookmarks-5
3858 kconfig-5
3859 kcompletion-5
3860 kcoreaddons-5
3861 kitemviews-5
3862 kjobwidgets-5
3863 kservice-5
3864 kwindowsystem-5
3865 kxmlgui-5
3866 solid-5))
3867 (native-inputs
3868 (list extra-cmake-modules dbus kdoctools-5 qttools-5))
3869 (inputs (list mit-krb5
3870 karchive-5
3871 kauth-5
3872 kcodecs-5
3873 kconfigwidgets-5
3874 kcrash-5
3875 kdbusaddons-5
3876 kded-5
3877 kguiaddons-5
3878 kiconthemes-5
3879 ki18n-5
3880 knotifications-5
3881 ktextwidgets-5
3882 kwallet-5
3883 kwidgetsaddons-5
3884 libxml2
3885 libxslt
3886 qtbase-5
3887 qtdeclarative-5
3888 qtscript-5
3889 qtx11extras
3890 sonnet-5
3891 `(,util-linux "lib") ; libmount
3892 zlib))
3893 (arguments
3894 (list
3895 #:phases
3896 #~(modify-phases %standard-phases
3897 (add-after 'unpack 'patch
3898 (lambda _
3899 ;; Better error message (taken from NixOS)
3900 (substitute* "src/kiod/kiod_main.cpp"
3901 (("(^\\s*qCWarning(KIOD_CATEGORY) << \
3902\"Error loading plugin:\")( << loader.errorString();)" _ a b)
3903 (string-append a "<< name" b)))))
3904 (replace 'check
3905 (lambda* (#:key tests? #:allow-other-keys)
3906 (when tests?
3907 (setenv "HOME" (getcwd))
3908 (setenv "XDG_RUNTIME_DIR" (getcwd))
3909 (setenv "QT_QPA_PLATFORM" "offscreen")
3910 (setenv "DBUS_FATAL_WARNINGS" "0")
3911 (invoke "dbus-launch" "ctest"
3912 "--rerun-failed" "--output-on-failure"
3913 "-E"
3914 ;; The following tests fail or are flaky (see:
3915 ;; https://bugs.kde.org/show_bug.cgi?id=440721).
3916 (string-append "(kiocore-jobtest"
3917 "|kiocore-kmountpointtest"
3918 "|kiowidgets-kdirlistertest"
3919 "|kiocore-kfileitemtest"
3920 "|kiocore-ktcpsockettest"
3921 "|kiocore-mimetypefinderjobtest"
3922 "|kiocore-krecentdocumenttest"
3923 "|kiocore-http_jobtest"
3924 "|kiogui-openurljobtest"
3925 "|kioslave-httpheaderdispositiontest"
3926 "|applicationlauncherjob_forkingtest"
3927 "|applicationlauncherjob_scopetest"
3928 "|applicationlauncherjob_servicetest"
3929 "|commandlauncherjob_forkingtest"
3930 "|commandlauncherjob_scopetest"
3931 "|commandlauncherjob_servicetest"
3932 "|kiowidgets-kdirmodeltest"
3933 "|kiowidgets-kurifiltertest-colon-separator"
3934 "|kiofilewidgets-kfilewidgettest"
3935 "|kiowidgets-kurifiltertest-space-separator"
3936 "|kioworker-httpheaderdispositiontest)")))))
3937 (add-after 'install 'add-symlinks
3938 (lambda* (#:key outputs #:allow-other-keys)
3939 (let ((kst5 (string-append #$output "/share/kservicetypes5/")))
3940 (symlink (string-append kst5 "kfileitemactionplugin.desktop")
3941 (string-append kst5 "kfileitemaction-plugin.desktop"))))))))))
3942
3943(define-public kirigami-addons
3944 (package
3945 (name "kirigami-addons")
3946 (version "1.12.0")
3947 (source
3948 (origin
3949 (method git-fetch)
3950 (uri (git-reference
3951 (url "https://invent.kde.org/libraries/kirigami-addons")
3952 (commit (string-append "v" version))))
3953 (file-name (git-file-name name version))
3954 (sha256
3955 (base32 "0vwnv5vslw3w8is7pa7sshm1gw99r3krdg6chs36393a43cga3ri"))))
3956 (build-system qt-build-system)
3957 (arguments
3958 (list
3959 #:qtbase qtbase
3960 #:tests? #f)) ;failing tests
3961 ;; These packages are required by the QML modules.
3962 (propagated-inputs
3963 (list kconfig
3964 kirigami
3965 kitemmodels
3966 qqc2-desktop-style
3967 qtdeclarative
3968 qtmultimedia
3969 sonnet))
3970 (native-inputs (list extra-cmake-modules))
3971 (inputs (list kcolorscheme
3972 kcoreaddons
3973 kcrash
3974 kglobalaccel
3975 kguiaddons
3976 ki18n
3977 kiconthemes))
3978 (home-page "https://invent.kde.org/libraries/kirigami-addons")
3979 (synopsis "Add-ons for the Kirigami framework")
3980 (description
3981 "This package provides Kirigami components usable by both touch
3982and desktop experiences.")
3983 (license license:lgpl2.0+)))
3984
3985(define-public knewstuff
3986 (package
3987 (name "knewstuff")
3988 (version "6.24.0")
3989 (source (origin
3990 (method url-fetch)
3991 (uri (string-append
3992 "mirror://kde/stable/frameworks/"
3993 (version-major+minor version) "/"
3994 name "-" version ".tar.xz"))
3995 (sha256
3996 (base32
3997 "019aisqf9njb33v292k32bzpqbqv8h0k4i1i041ndx6ib3hz8ncp"))))
3998 (build-system qt-build-system)
3999 (propagated-inputs
4000 (list ;; Required by KF6NewStuffCoreConfig.cmake.
4001 attica kcoreaddons
4002 ;; Required by the QML modules.
4003 kcmutils kirigami qtdeclarative))
4004 (native-inputs
4005 (list extra-cmake-modules qttools))
4006 (inputs
4007 (list karchive
4008 kconfig
4009 ki18n
4010 kpackage
4011 kwidgetsaddons
4012 qtwayland
4013 syndication))
4014 (arguments
4015 (list #:qtbase qtbase
4016 ;; This failing test is run by the cmake-build-system phases but not
4017 ;; by the gnu-build-system phases.
4018 #:test-exclude "knewstuff-atticaprovidertest"
4019 #:phases
4020 #~(modify-phases %standard-phases
4021 (add-before 'check 'check-setup
4022 (lambda _ ; XDG_DATA_DIRS isn't set
4023 (setenv "HOME" (getcwd)))))))
4024 (home-page "https://community.kde.org/Frameworks")
4025 (synopsis "Framework for downloading and sharing additional application data")
4026 (description "The KNewStuff library implements collaborative data sharing
4027for applications. It uses libattica to support the Open Collaboration Services
4028specification.")
4029 (license license:lgpl2.1+)))
4030
4031(define-public knewstuff-5
4032 (package
4033 (inherit knewstuff)
4034 (name "knewstuff")
4035 (version "5.116.0")
4036 (source (origin
4037 (method url-fetch)
4038 (uri (string-append
4039 "mirror://kde/stable/frameworks/"
4040 (version-major+minor version) "/"
4041 name "-" version ".tar.xz"))
4042 (sha256
4043 (base32
4044 "02n7429ldkyyzbk9rbr9h4ss80zhc3vnir29q2yksyhcyqkkjc42"))))
4045 (propagated-inputs
4046 (list attica-5 kservice-5 kxmlgui-5))
4047 (native-inputs
4048 (list extra-cmake-modules qttools-5))
4049 (inputs
4050 (list karchive-5
4051 kauth-5
4052 kbookmarks-5
4053 kcodecs-5
4054 kcompletion-5
4055 kconfig-5
4056 kconfigwidgets-5
4057 kcoreaddons-5
4058 kio-5
4059 kitemviews-5
4060 ki18n-5
4061 kiconthemes-5
4062 kjobwidgets-5
4063 kpackage-5
4064 ktextwidgets-5
4065 kwidgetsaddons-5
4066 qtbase-5
4067 qtdeclarative-5
4068 solid-5
4069 sonnet-5))))
4070
4071(define-public knotifyconfig
4072 (package
4073 (name "knotifyconfig")
4074 (version "6.24.0")
4075 (source (origin
4076 (method url-fetch)
4077 (uri (string-append
4078 "mirror://kde/stable/frameworks/"
4079 (version-major+minor version) "/"
4080 name "-" version ".tar.xz"))
4081 (sha256
4082 (base32
4083 "1dl33mp0pgmwjgbdw4fz4d2aps73rnl4nhrjzf48hlvapiz91sj6"))))
4084 (build-system cmake-build-system)
4085 (arguments (list #:tests? #f))
4086 (native-inputs
4087 (list extra-cmake-modules))
4088 (inputs
4089 (list kauth
4090 kbookmarks
4091 kcodecs
4092 kcompletion
4093 kconfig
4094 kconfigwidgets
4095 kcoreaddons
4096 kguiaddons
4097 kio
4098 kitemviews
4099 ki18n
4100 kjobwidgets
4101 knotifications
4102 kservice
4103 kwidgetsaddons
4104 kxmlgui
4105 libcanberra
4106 phonon
4107 qtbase
4108 qtmultimedia
4109 solid))
4110 (home-page "https://community.kde.org/Frameworks")
4111 (synopsis "Configuration dialog for desktop notifications")
4112 (description "KNotifyConfig provides a configuration dialog for desktop
4113notifications which can be embedded in your application.")
4114 ;; dual licensed
4115 (license (list license:lgpl2.0+ license:lgpl2.1+))))
4116
4117(define-public kparts
4118 (package
4119 (name "kparts")
4120 (version "6.24.0")
4121 (source (origin
4122 (method url-fetch)
4123 (uri (string-append
4124 "mirror://kde/stable/frameworks/"
4125 (version-major+minor version) "/"
4126 name "-" version ".tar.xz"))
4127 (sha256
4128 (base32
4129 "1rsl5zkphkg4ldbgvwn1cq79rjfw31f314zym9s7kxz0cwhvg85l"))))
4130 (build-system qt-build-system)
4131 (arguments
4132 (list #:qtbase qtbase
4133 #:phases
4134 #~(modify-phases %standard-phases
4135 (add-after 'unpack 'disable-partloader-test
4136 (lambda _
4137 (substitute* "autotests/CMakeLists.txt"
4138 ;; XXX: PartLoaderTest wants to create a .desktop file
4139 ;; in the common locations and test that MIME types work.
4140 ;; The setup required for this is extensive, skip for now.
4141 (("partloadertest\\.cpp") "")))))))
4142 (propagated-inputs
4143 (list kio kservice kxmlgui))
4144 (native-inputs
4145 (list extra-cmake-modules shared-mime-info))
4146 (inputs
4147 (list
4148 kcompletion
4149 kconfig
4150 kcoreaddons
4151 kitemviews
4152 ki18n
4153 kjobwidgets
4154 kwidgetsaddons))
4155 (home-page "https://community.kde.org/Frameworks")
4156 (synopsis "Plugin framework for user interface components")
4157 (description "This library implements the framework for KDE parts, which are
4158widgets with a user-interface defined in terms of actions.")
4159 (license license:lgpl2.1+)))
4160
4161(define-public kparts-5
4162 (package
4163 (inherit kparts)
4164 (name "kparts")
4165 (version "5.116.0")
4166 (source (origin
4167 (method url-fetch)
4168 (uri (string-append
4169 "mirror://kde/stable/frameworks/"
4170 (version-major+minor version) "/"
4171 name "-" version ".tar.xz"))
4172 (sha256
4173 (base32
4174 "0czrlqh5cxnj1mlbz839c7hifhnpzl476d92lv4hxji50wnjlfqr"))))
4175 (arguments
4176 (substitute-keyword-arguments arguments
4177 ((#:qtbase _ #f) qtbase-5)))
4178 (propagated-inputs
4179 (list kio-5 ktextwidgets-5 kxmlgui-5))
4180 (native-inputs
4181 (list extra-cmake-modules shared-mime-info))
4182 (inputs
4183 (list kauth-5
4184 kbookmarks-5
4185 kcodecs-5
4186 kcompletion-5
4187 kconfig-5
4188 kconfigwidgets-5
4189 kcoreaddons-5
4190 kiconthemes-5
4191 kitemviews-5
4192 ki18n-5
4193 kjobwidgets-5
4194 kservice-5
4195 kwidgetsaddons-5
4196 qtbase-5
4197 solid-5
4198 sonnet-5))))
4199
4200(define-public kpeople
4201 (package
4202 (name "kpeople")
4203 (version "6.24.0")
4204 (source (origin
4205 (method url-fetch)
4206 (uri (string-append
4207 "mirror://kde/stable/frameworks/"
4208 (version-major+minor version) "/"
4209 name "-" version ".tar.xz"))
4210 (sha256
4211 (base32
4212 "197yj0w39wd1s7dc4c2v04nycpk90d2lmbz4m2xknk5n7rsngqnk"))))
4213 (build-system qt-build-system)
4214 (propagated-inputs
4215 (list qtdeclarative)) ;required by KF6PeopleDeclarative.qmltypes
4216 (native-inputs
4217 (list extra-cmake-modules))
4218 (inputs
4219 (list kconfig
4220 kcoreaddons
4221 kitemviews
4222 ki18n
4223 kservice
4224 kcontacts
4225 kwidgetsaddons))
4226 (arguments
4227 (list #:qtbase qtbase
4228 #:tests? #f)) ; FIXME: 1/3 tests fail.
4229 (home-page "https://community.kde.org/Frameworks")
4230 (synopsis "Provides access to all contacts and aggregates them by person")
4231 (description "KPeople offers unified access to our contacts from different
4232sources, grouping them by person while still exposing all the data. KPeople
4233also provides facilities to integrate the data provided in user interfaces by
4234providing QML and Qt Widgets components. The sources are plugin-based, allowing
4235to easily extend the contacts collection.")
4236 (license license:lgpl2.1+)))
4237
4238(define-public krunner
4239 (package
4240 (name "krunner")
4241 (version "6.24.0")
4242 (source (origin
4243 (method url-fetch)
4244 (uri (string-append
4245 "mirror://kde/stable/frameworks/"
4246 (version-major+minor version) "/"
4247 name "-" version ".tar.xz"))
4248 (sha256
4249 (base32
4250 "0kcfzw4803d114wca8vl66359nkgf7rihp1qkcrwmh1i58lxfxap"))))
4251 (build-system qt-build-system)
4252 (propagated-inputs
4253 (list kcoreaddons))
4254 (native-inputs
4255 (list extra-cmake-modules
4256 ;; For tests.
4257 dbus))
4258 (inputs
4259 (list kconfig
4260 kitemmodels
4261 ki18n
4262 kwindowsystem
4263 qtdeclarative))
4264 (arguments
4265 (list
4266 #:qtbase qtbase
4267 #:phases
4268 #~(modify-phases %standard-phases
4269 (replace 'check
4270 (lambda* (#:key tests? #:allow-other-keys)
4271 (when tests?
4272 (setenv "HOME" (getcwd))
4273 (invoke "dbus-launch" "ctest")))))))
4274 (home-page "https://community.kde.org/Frameworks")
4275 (synopsis "Framework for Plasma runners")
4276 (description "The Plasma workspace provides an application called KRunner
4277which, among other things, allows one to type into a text area which causes
4278various actions and information that match the text appear as the text is being
4279typed.")
4280 (license license:lgpl2.1+)))
4281
4282(define-public kservice
4283 (package
4284 (name "kservice")
4285 (version "6.24.0")
4286 (source (origin
4287 (method url-fetch)
4288 (uri (string-append
4289 "mirror://kde/stable/frameworks/"
4290 (version-major+minor version) "/"
4291 name "-" version ".tar.xz"))
4292 (sha256
4293 (base32
4294 "08wpffqzyl07b16h4vjk8x5wj77bmb2sz5nf1xnd2j99npxfbczp"))))
4295 (build-system cmake-build-system)
4296 (propagated-inputs
4297 (list kconfig kcoreaddons kdoctools))
4298 (native-inputs
4299 (list bison extra-cmake-modules flex shared-mime-info))
4300 (inputs
4301 (list kcrash kdbusaddons kdoctools ki18n qtbase qtdeclarative))
4302 (arguments
4303 (list
4304 #:parallel-tests? #f
4305 #:phases
4306 #~(modify-phases %standard-phases
4307 (add-after 'unpack 'patch
4308 ;; Adopted from NixOS' patches "qdiriterator-follow-symlinks" and
4309 ;; "no-canonicalize-path".
4310 (lambda _
4311 (substitute* "src/sycoca/kbuildsycoca.cpp"
4312 ;; make QDirIterator follow symlinks
4313 (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
4314 (string-append a " | QDirIterator::FollowSymlinks" b)))
4315 (substitute* "src/sycoca/vfolder_menu.cpp"
4316 ;; Normalize path, but don't resolve symlinks (taken from
4317 ;; NixOS)
4318 (("^\\s*QString resolved = QDir\\(dir\\)\\.canonicalPath\\(\\);")
4319 "QString resolved = QDir::cleanPath(dir);"))))
4320 (add-before 'check 'check-setup
4321 (lambda _
4322 (with-output-to-file "autotests/BLACKLIST"
4323 (lambda _
4324 (for-each
4325 (lambda (name) (display (string-append "[" name "]\n*\n")))
4326 (list "extraFileInFutureShouldRebuildSycocaOnce"
4327 "testNonReadableSycoca"))))
4328 (setenv "XDG_RUNTIME_DIR" (getcwd))
4329 (setenv "HOME" (getcwd))
4330 ;; Make Qt render "offscreen", required for tests
4331 (setenv "QT_QPA_PLATFORM" "offscreen"))))))
4332 (home-page "https://community.kde.org/Frameworks")
4333 (synopsis "Plugin framework for desktop services")
4334 (description "KService provides a plugin framework for handling desktop
4335services. Services can be applications or libraries. They can be bound to MIME
4336types or handled by application specific code.")
4337 ;; triple licensed
4338 (license (list license:gpl2+ license:gpl3+ license:lgpl2.1+))))
4339
4340(define-public kservice-5
4341 (package
4342 (inherit kservice)
4343 (name "kservice")
4344 (version "5.116.0")
4345 (source (origin
4346 (method url-fetch)
4347 (uri (string-append
4348 "mirror://kde/stable/frameworks/"
4349 (version-major+minor version) "/"
4350 name "-" version ".tar.xz"))
4351 (sha256
4352 (base32
4353 "0sd8yj9a1ja97c515g9shjqyzdz0jd7rn3r06g5659nh2z1w5dsj"))))
4354 (propagated-inputs
4355 (list kconfig-5 kcoreaddons-5 kdoctools-5))
4356 (native-inputs
4357 (list bison extra-cmake-modules flex shared-mime-info))
4358 (inputs
4359 (list kcrash-5 kdbusaddons-5 kdoctools-5 ki18n-5 qtbase-5))
4360 (arguments
4361 (list #:phases
4362 #~(modify-phases %standard-phases
4363 (add-after 'unpack 'patch
4364 ;; Adopted from NixOS' patches "qdiriterator-follow-symlinks" and
4365 ;; "no-canonicalize-path".
4366 (lambda _
4367 (substitute* "src/sycoca/kbuildsycoca.cpp"
4368 ;; make QDirIterator follow symlinks
4369 (("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
4370 (string-append a " | QDirIterator::FollowSymlinks" b)))
4371 (substitute* "src/sycoca/vfolder_menu.cpp"
4372 ;; Normalize path, but don't resolve symlinks (taken from
4373 ;; NixOS)
4374 (("^\\s*QString resolved = QDir\\(dir\\)\\.canonicalPath\\(\\);")
4375 "QString resolved = QDir::cleanPath(dir);"))))
4376 (replace 'check
4377 (lambda* (#:key tests? #:allow-other-keys)
4378 (when tests?
4379 (setenv "HOME" (getcwd))
4380 (setenv "QT_QPA_PLATFORM" "offscreen")
4381 ;; Disable failing tests.
4382 (invoke "ctest" "-E" "(kautostarttest|ksycocatest|kapplicationtradertest)")))))))))
4383
4384(define-public kstatusnotifieritem
4385 (package
4386 (name "kstatusnotifieritem")
4387 (version "6.24.0")
4388 (source (origin
4389 (method url-fetch)
4390 (uri (string-append
4391 "mirror://kde/stable/frameworks/"
4392 (version-major+minor version) "/"
4393 name "-" version ".tar.xz"))
4394 (sha256
4395 (base32
4396 "1zw6z20yq587m48gg0msvpfi3319c1n6v6ij61rh0q3sqbf7fv7p"))))
4397 (build-system qt-build-system)
4398 (arguments
4399 (list
4400 #:configure-flags
4401 ;; XXX: build python bindings.
4402 #~(list "-DBUILD_PYTHON_BINDINGS=OFF")
4403 #:qtbase qtbase
4404 #:tests? #f))
4405 (native-inputs (list extra-cmake-modules qttools))
4406 (inputs (list kwindowsystem libxkbcommon))
4407 (home-page "https://community.kde.org/Frameworks")
4408 (synopsis "Implementation of Status Notifier Items")
4409 (description "This package provides a Implementation of Status Notifier
4410Items.")
4411 (license (list license:cc0 license:lgpl2.0+))))
4412
4413(define-public ktexteditor
4414 (package
4415 (name "ktexteditor")
4416 (version "6.24.0")
4417 (source (origin
4418 (method url-fetch)
4419 (uri (string-append
4420 "mirror://kde/stable/frameworks/"
4421 (version-major+minor version) "/"
4422 "ktexteditor-" version ".tar.xz"))
4423 (sha256
4424 (base32
4425 "1qvq7wvjdcwcc2b03ddyq61fp03qmp1kgy29m0h0xb8jfxvkqw7x"))))
4426 (build-system cmake-build-system)
4427 (propagated-inputs
4428 (list kparts
4429 ksyntaxhighlighting))
4430 (native-inputs
4431 (list extra-cmake-modules pkg-config))
4432 (inputs
4433 (list editorconfig-core-c
4434 karchive
4435 kauth
4436 kcompletion
4437 kconfigwidgets
4438 kcolorscheme
4439 kguiaddons
4440 kitemviews
4441 ki18n
4442 ktextwidgets
4443 kwidgetsaddons
4444 kxmlgui
4445 qtbase
4446 qtdeclarative
4447 qtspeech
4448 sonnet))
4449 (arguments
4450 (list #:test-exclude
4451 (string-append "("
4452 (string-join '("exiv2extractortest"
4453 "usermetadatawritertest")
4454 "|")
4455 ")")
4456 #:phases
4457 #~(modify-phases %standard-phases
4458 (replace 'check
4459 (lambda* (#:key tests? test-exclude #:allow-other-keys)
4460 (when tests?
4461 (setenv "QT_QPA_PLATFORM" "offscreen")
4462 (invoke "ctest" "-E" test-exclude)))))))
4463 (home-page "https://community.kde.org/Frameworks")
4464 (synopsis "Full text editor component")
4465 (description "KTextEditor provides a powerful text editor component that you
4466can embed in your application, either as a KPart or using the KF5::TextEditor
4467library.")
4468 ;; triple licensed
4469 (license (list license:gpl2+ license:lgpl2.0+ license:lgpl2.1+))))
4470
4471(define-public ktextwidgets
4472 (package
4473 (name "ktextwidgets")
4474 (version "6.24.0")
4475 (source (origin
4476 (method url-fetch)
4477 (uri (string-append
4478 "mirror://kde/stable/frameworks/"
4479 (version-major+minor version) "/"
4480 name "-" version ".tar.xz"))
4481 (sha256
4482 (base32
4483 "05bd11il2zkblz5701h83rv08v6vl7sizk702gxcvasa04hpv3xs"))))
4484 (build-system qt-build-system)
4485 (propagated-inputs
4486 (list ki18n sonnet))
4487 (native-inputs
4488 (list extra-cmake-modules qttools))
4489 (inputs
4490 (list kauth
4491 kcodecs
4492 kcompletion
4493 kconfig
4494 kconfigwidgets
4495 kcoreaddons
4496 kiconthemes
4497 kservice
4498 kwidgetsaddons
4499 kwindowsystem
4500 qtspeech))
4501 (arguments (list #:qtbase qtbase))
4502 (home-page "https://community.kde.org/Frameworks")
4503 (synopsis "Text editing widgets")
4504 (description "KTextWidgets provides widgets for displaying and editing text.
4505It supports rich text as well as plain text.")
4506 ;; dual licensed
4507 (license (list license:lgpl2.0+ license:lgpl2.1+))))
4508
4509(define-public ktextwidgets-5
4510 (package
4511 (inherit ktextwidgets)
4512 (name "ktextwidgets")
4513 (version "5.116.0")
4514 (source (origin
4515 (method url-fetch)
4516 (uri (string-append
4517 "mirror://kde/stable/frameworks/"
4518 (version-major+minor version) "/"
4519 name "-" version ".tar.xz"))
4520 (sha256
4521 (base32
4522 "0lkm27g1dc6vmyjz7jaiqh2z1cfgvzlnk58wcs2bkny05i87x01l"))))
4523 (propagated-inputs
4524 (list ki18n-5 sonnet-5))
4525 (native-inputs
4526 (list extra-cmake-modules qttools-5))
4527 (inputs
4528 (list kauth-5
4529 kcodecs-5
4530 kcompletion-5
4531 kconfig-5
4532 kconfigwidgets-5
4533 kcoreaddons-5
4534 kiconthemes-5
4535 kservice-5
4536 kwidgetsaddons-5
4537 kwindowsystem-5
4538 qtbase-5
4539 qtspeech-5))))
4540
4541(define-public ktexttemplate
4542 (package
4543 (name "ktexttemplate")
4544 (version "6.24.0")
4545 (source (origin
4546 (method url-fetch)
4547 (uri (string-append
4548 "mirror://kde/stable/frameworks/"
4549 (version-major+minor version) "/ktexttemplate-"
4550 version ".tar.xz"))
4551 (sha256
4552 (base32
4553 "1q482jhd8cgf9zfkps7pk0sls2y99zzms1q13ddzw28xyrliy0l5"))))
4554 (build-system qt-build-system)
4555 (native-inputs
4556 (list extra-cmake-modules))
4557 (inputs (list qtdeclarative))
4558 (arguments (list #:qtbase qtbase))
4559 (home-page "https://community.kde.org/Frameworks")
4560 (synopsis "KDE's Text Template")
4561 (description "KTextTemplate is to make it easier for application developers
4562to separate the structure of documents from the data they contain.")
4563 (license (list license:lgpl2.1+))))
4564
4565(define-public kwallet
4566 (package
4567 (name "kwallet")
4568 (version "6.24.0")
4569 (source (origin
4570 (method url-fetch)
4571 (uri (string-append
4572 "mirror://kde/stable/frameworks/"
4573 (version-major+minor version) "/"
4574 name "-" version ".tar.xz"))
4575 (sha256
4576 (base32
4577 "084m9zjq401a2q2403lyxxl9cyb3v6i7vi4n63krmz524kn2cjh9"))))
4578 (build-system cmake-build-system)
4579 (arguments
4580 (list #:test-exclude "fdo_secrets_test";seems to require network
4581 #:phases
4582 #~(modify-phases %standard-phases
4583 (replace 'check
4584 (lambda* (#:key tests? test-exclude #:allow-other-keys)
4585 (when tests?
4586 (invoke "ctest" "-E" test-exclude)))))))
4587 (native-inputs
4588 (list extra-cmake-modules kdoctools pkg-config))
4589 (inputs
4590 (list gpgmepp
4591 kauth
4592 kcodecs
4593 kconfig
4594 kconfigwidgets
4595 kcoreaddons
4596 kcrash
4597 kdbusaddons
4598 kdoctools
4599 kiconthemes
4600 ki18n
4601 knotifications
4602 kservice
4603 kwidgetsaddons
4604 kwindowsystem
4605 libgcrypt
4606 libsecret
4607 phonon
4608 qgpgme
4609 qca-qt6
4610 qtbase))
4611 (home-page "https://community.kde.org/Frameworks")
4612 (synopsis "Safe desktop-wide storage for passwords")
4613 (description "This framework contains an interface to KWallet, a safe
4614desktop-wide storage for passwords and the kwalletd daemon used to safely store
4615the passwords on KDE work spaces.")
4616 (license license:lgpl2.1+)))
4617
4618(define-public kwallet-5
4619 (package
4620 (inherit kwallet)
4621 (name "kwallet")
4622 (version "5.116.0")
4623 (source (origin
4624 (method url-fetch)
4625 (uri (string-append
4626 "mirror://kde/stable/frameworks/"
4627 (version-major+minor version) "/"
4628 name "-" version ".tar.xz"))
4629 (sha256
4630 (base32
4631 "12s4rnybadpcjmw3dvdn68vm369h1yk7yp7mv736mj1brdg8pkhy"))))
4632 (native-inputs
4633 (list extra-cmake-modules kdoctools-5))
4634 (inputs
4635 (list gpgmepp
4636 kauth-5
4637 kcodecs-5
4638 kconfig-5
4639 kconfigwidgets-5
4640 kcoreaddons-5
4641 kdbusaddons-5
4642 kdoctools-5
4643 kiconthemes-5
4644 ki18n-5
4645 knotifications-5
4646 kservice-5
4647 kwidgetsaddons-5
4648 kwindowsystem-5
4649 libgcrypt
4650 phonon-qt5
4651 qgpgme-qt5
4652 qca
4653 qtbase-5))))
4654
4655(define-public kxmlgui
4656 (package
4657 (name "kxmlgui")
4658 (version "6.24.0")
4659 (source (origin
4660 (method url-fetch)
4661 (uri (string-append
4662 "mirror://kde/stable/frameworks/"
4663 (version-major+minor version) "/"
4664 name "-" version ".tar.xz"))
4665 (sha256
4666 (base32
4667 "05ing5g40ycxxh50rz8zffqhxb28k3i7q5cxmqv8npb74drqhzzq"))))
4668 (build-system cmake-build-system)
4669 (propagated-inputs
4670 (list
4671 ;; Required by KF6XmlGuiConfig.cmake.
4672 kconfig
4673 kconfigwidgets
4674 kguiaddons
4675 qtbase))
4676 (native-inputs
4677 (list extra-cmake-modules qttools))
4678 (inputs
4679 (list attica
4680 kauth
4681 kcodecs
4682 kcolorscheme
4683 kcoreaddons
4684 kglobalaccel
4685 kiconthemes
4686 kitemviews
4687 ki18n
4688 ktextwidgets
4689 kwidgetsaddons
4690 kwindowsystem
4691 qtdeclarative
4692 sonnet))
4693 (arguments
4694 (list #:configure-flags
4695 ;; XXX: build python bindings.
4696 #~(list "-DBUILD_PYTHON_BINDINGS=OFF")
4697 #:phases
4698 #~(modify-phases %standard-phases
4699 (add-before 'check 'check-setup
4700 (lambda* (#:key tests? #:allow-other-keys)
4701 (with-output-to-file "autotests/BLACKLIST"
4702 (lambda _
4703 (for-each
4704 (lambda (name)
4705 (display (string-append "[" name "]\n*\n")))
4706 (list "testSpecificApplicationLanguageQLocale"
4707 "testToolButtonStyleNoXmlGui"
4708 "testToolButtonStyleXmlGui"))))
4709 (setenv "HOME" (getcwd))
4710 (setenv "QT_QPA_PLATFORM" "offscreen"))))))
4711 (home-page "https://community.kde.org/Frameworks")
4712 (synopsis "Framework for managing menu and toolbar actions")
4713 (description "KXMLGUI provides a framework for managing menu and toolbar
4714actions in an abstract way. The actions are configured through a XML description
4715and hooks in the application code. The framework supports merging of multiple
4716descriptions for integrating actions from plugins.")
4717 ;; dual licensed
4718 (license (list license:gpl2+ license:lgpl2.1+))))
4719
4720(define-public kxmlgui-5
4721 (package
4722 (inherit kxmlgui)
4723 (name "kxmlgui")
4724 (version "5.116.0")
4725 (source (origin
4726 (method url-fetch)
4727 (uri (string-append
4728 "mirror://kde/stable/frameworks/"
4729 (version-major+minor version) "/"
4730 name "-" version ".tar.xz"))
4731 (sha256
4732 (base32
4733 "0h3s3jcmn4pzcfxs4hywrgk92dd5hfx9hzyy14f03c0dafi6crb3"))))
4734 (propagated-inputs
4735 (list kconfig-5 kconfigwidgets-5))
4736 (native-inputs
4737 (list extra-cmake-modules qttools-5 xorg-server-for-tests))
4738 (inputs
4739 (list attica-5
4740 kauth-5
4741 kcodecs-5
4742 kcoreaddons-5
4743 kglobalaccel-5
4744 kguiaddons-5
4745 kiconthemes-5
4746 kitemviews-5
4747 ki18n-5
4748 ktextwidgets-5
4749 kwidgetsaddons-5
4750 kwindowsystem-5
4751 qtbase-5
4752 sonnet-5))
4753 (arguments
4754 (list #:phases
4755 #~(modify-phases %standard-phases
4756 (replace 'check
4757 (lambda* (#:key tests? #:allow-other-keys)
4758 (when tests?
4759 (setenv "HOME" (getcwd))
4760 (setenv "QT_QPA_PLATFORM" "offscreen") ;; These tests fail
4761 (invoke "ctest" "-E" "(ktoolbar_unittest|kxmlgui_unittest)")))))))))
4762
4763(define-public plasma-framework
4764 (package
4765 (name "plasma-framework")
4766 (version "5.116.0")
4767 (source (origin
4768 (method url-fetch)
4769 (uri (string-append
4770 "mirror://kde/stable/frameworks/"
4771 (version-major+minor version) "/"
4772 name "-" version ".tar.xz"))
4773 (sha256
4774 (base32
4775 "0kwza2n9vbzf9p9dq7j448ynlfgg65918fvxw1n209zmlm6jr4vy"))))
4776 (build-system cmake-build-system)
4777 (propagated-inputs
4778 (list kpackage-5 kservice-5))
4779 (native-inputs
4780 (list extra-cmake-modules kdoctools-5 pkg-config))
4781 (inputs (list kactivities
4782 karchive-5
4783 kauth-5
4784 kbookmarks-5
4785 kcodecs-5
4786 kcompletion-5
4787 kconfig-5
4788 kconfigwidgets-5
4789 kcoreaddons-5
4790 kdbusaddons-5
4791 kdeclarative-5
4792 kglobalaccel-5
4793 kguiaddons-5
4794 kiconthemes-5
4795 kirigami-5
4796 kitemviews-5
4797 kio-5
4798 ki18n-5
4799 kjobwidgets-5
4800 knotifications-5
4801 kwayland-5
4802 kwidgetsaddons-5
4803 kwindowsystem-5
4804 kxmlgui-5
4805 ;; XXX: "undefined reference to `glGetString'" errors occur without libglvnd,
4806 libglvnd
4807 phonon-qt5
4808 qtbase-5
4809 qtdeclarative-5
4810 qtquickcontrols2-5
4811 qtsvg-5
4812 qtx11extras
4813 solid-5))
4814 (arguments
4815 (list #:phases
4816 #~(modify-phases %standard-phases
4817 (replace 'check
4818 (lambda* (#:key tests? #:allow-other-keys)
4819 (when tests?
4820 (setenv "HOME"
4821 (getcwd))
4822 (setenv "QT_QPA_PLATFORM" "offscreen") ;; These tests fail
4823 (invoke "ctest" "-E"
4824 (string-append "(plasma-dialogstatetest"
4825 "|plasma-iconitemtest"
4826 "|plasma-themetest"
4827 "|iconitemhidpitest"
4828 "|dialognativetest)"))))))))
4829 (home-page "https://community.kde.org/Frameworks")
4830 (synopsis "Libraries, components and tools of Plasma workspaces")
4831 (description "The plasma framework provides QML components, libplasma and
4832script engines.")
4833 ;; dual licensed
4834 (license (list license:gpl2+ license:lgpl2.1+))))
4835
4836(define-public purpose
4837 (package
4838 (name "purpose")
4839 (version "6.24.0")
4840 (source (origin
4841 (method url-fetch)
4842 (uri (string-append
4843 "mirror://kde/stable/frameworks/"
4844 (version-major+minor version) "/"
4845 name "-" version ".tar.xz"))
4846 (sha256
4847 (base32
4848 "0ixwpq2x4ga61mqdwpqka0kk8kg67hf9y7jql1aidgvrdwivlpg9"))))
4849 (build-system cmake-build-system)
4850 (propagated-inputs
4851 (list kcoreaddons ;required by KF6PurposeConfig.cmake
4852 kirigami kitemmodels qtdeclarative)) ;required by the QML modules
4853 (native-inputs
4854 (list extra-cmake-modules gettext-minimal))
4855 (inputs
4856 (list
4857 ;;TODO: accounts-qml-module
4858 ;;TODO: kaccounts
4859 kcmutils
4860 kcompletion
4861 kconfig
4862 kdeclarative
4863 ki18n
4864 kio
4865 kitemviews
4866 knotifications
4867 kservice
4868 kwidgetsaddons
4869 prison
4870 qtbase))
4871 (arguments
4872 (list #:tests? #f ;; seem to require network; don't find QTQuick components
4873 #:phases
4874 #~(modify-phases %standard-phases
4875 (add-after 'unpack 'unrequire-qmlmodule
4876 (lambda _
4877 ;; HACK: ecm_find_qmlmodule cannot find qmlmodule on other
4878 ;; prefix, so we remove its requirement.
4879 (substitute* "CMakeLists.txt"
4880 (("(org\\.kde\\.prison) REQUIRED" _ keep) keep)
4881 (("(org\\.kde\\.kitemmodels) REQUIRED" _ keep) keep)
4882 (("(org\\.kde\\.kcmutils) REQUIRED" _ keep) keep)))))))
4883 (home-page "https://community.kde.org/Frameworks")
4884 (synopsis "Offers available actions for a specific purpose")
4885 (description "This framework offers the possibility to create integrate
4886services and actions on any application without having to implement them
4887specifically. Purpose will offer them mechanisms to list the different
4888alternatives to execute given the requested action type and will facilitate
4889components so that all the plugins can receive all the information they
4890need.")
4891 (license license:lgpl2.1+)))
4892
4893(define-public ktextaddons
4894 (package
4895 (name "ktextaddons")
4896 (version "2.0.0")
4897 (source
4898 (origin
4899 (method url-fetch)
4900 (uri (string-append
4901 "mirror://kde/stable/" name "/" name "-" version ".tar.xz"))
4902 (sha256
4903 (base32
4904 "0yfyz6rlfkx1a3wa360ydgfz668l1s42qd25n3995vqblv6dl081"))))
4905 (build-system qt-build-system)
4906 (arguments
4907 (list #:qtbase qtbase
4908 #:test-exclude
4909 (string-append "("
4910 (string-join '("grammalecteresultwidgettest"
4911 "grammalecteconfigwidgettest"
4912 "grammalecteresultjobtest"
4913 "languagetoolconfigwidgettest"
4914 "translator-translatorwidgettest"
4915 "translator-translatorengineloader\
4916test"
4917 "texttospeech-texttospeechactions\
4918test")
4919 "|")
4920 ")")
4921 #:configure-flags #~(list "-DQT_MAJOR_VERSION=6")
4922 #:phases
4923 #~(modify-phases %standard-phases
4924 (replace 'check
4925 (lambda* (#:key tests? (test-exclude "") #:allow-other-keys)
4926 (when tests?
4927 (setenv "HOME" (getcwd))
4928 ;; XXX: 6 tests failed due to:
4929 ;; missing icons
4930 ;; translators plugins not available during tests
4931 (invoke "ctest" "-E" test-exclude)))))))
4932 (native-inputs
4933 (list extra-cmake-modules
4934 qttools))
4935 (inputs
4936 (list karchive
4937 kconfigwidgets
4938 kcoreaddons
4939 ki18n
4940 kiconthemes
4941 kio
4942 ksyntaxhighlighting
4943 ktextwidgets
4944 kxmlgui
4945 qtkeychain-qt6
4946 qtmultimedia
4947 qtspeech
4948 sonnet))
4949 (home-page "https://community.kde.org/Frameworks")
4950 (synopsis "Various text handling addons")
4951 (description "This library provides text addons (autocorrection, text to
4952speak, grammar checking, text translator, emoticon support) for Qt
4953applications.")
4954 (license
4955 (list license:lgpl2.0+ license:bsd-3 license:gpl2+ license:cc0))))
4956
4957
4958;; Tier 4
4959;;
4960;; Tier 4 frameworks can be mostly ignored by application programmers; this
4961;; tier consists of plugins acting behind the scenes to provide additional
4962;; functionality or platform integration to existing frameworks (including
4963;; Qt).
4964
4965(define-public kde-frameworkintegration
4966 (package
4967 (name "kde-frameworkintegration")
4968 (version "6.24.0")
4969 (source (origin
4970 (method url-fetch)
4971 (uri (string-append
4972 "mirror://kde/stable/frameworks/"
4973 (version-major+minor version) "/"
4974 "frameworkintegration-" version ".tar.xz"))
4975 (sha256
4976 (base32
4977 "0rbxlwphillpy9p099bhqxjncabi3sk01qkfvw33xii103l77x5a"))))
4978 (build-system cmake-build-system)
4979 ;; As required by KF6FrameworkIntegrationConfig.cmake.
4980 (propagated-inputs
4981 (list kcolorscheme kiconthemes kwidgetsaddons))
4982 (native-inputs
4983 (list extra-cmake-modules pkg-config))
4984 (inputs (list packagekit-qt6
4985 appstream-qt6
4986 kconfig
4987 kconfigwidgets
4988 kcoreaddons
4989 ki18n
4990 kitemviews
4991 knewstuff
4992 knotifications
4993 kpackage
4994 qtbase))
4995 (arguments
4996 (list #:phases
4997 #~(modify-phases %standard-phases
4998 (add-before 'check 'check-setup
4999 (lambda _
5000 (setenv "HOME" (getcwd))
5001 ;; Make Qt render "offscreen", required for tests
5002 (setenv "QT_QPA_PLATFORM" "offscreen"))))))
5003 (home-page "https://community.kde.org/Frameworks")
5004 (synopsis "KDE Frameworks 6 workspace and cross-framework integration plugins")
5005 (description "Framework Integration is a set of plugins responsible for
5006better integration of Qt applications when running on a KDE Plasma
5007workspace.")
5008 ;; This package is distributed under either LGPL2 or LGPL3, but some
5009 ;; files are explicitly LGPL2+.
5010 (license (list license:lgpl2.0 license:lgpl3 license:lgpl2.0+))
5011 (properties `((upstream-name . "frameworkintegration")))))
5012
5013
5014;; Porting Aids
5015;;
5016;; Porting Aids frameworks provide code and utilities to ease the transition
5017;; from kdelibs 4 to KDE Frameworks 5. Code should aim to port away from this
5018;; framework, new projects should avoid using these libraries.
5019
5020(define-public kjs
5021 (package
5022 (name "kjs")
5023 (version "5.116.0")
5024 (source
5025 (origin
5026 (method url-fetch)
5027 (uri (string-append
5028 "mirror://kde/stable/frameworks/"
5029 (version-major+minor version) "/portingAids/"
5030 name "-" version ".tar.xz"))
5031 (sha256
5032 (base32 "1dz1v5gizjywp452q98r4ka6iafa3b3c24ck8jv1xcym64zg7d4z"))))
5033 (build-system cmake-build-system)
5034 (native-inputs
5035 (list extra-cmake-modules kdoctools perl pkg-config))
5036 (inputs
5037 (list pcre qtbase-5))
5038 (home-page "https://community.kde.org/Frameworks")
5039 (synopsis "KDE Frameworks 5 support for Javascript scripting in Qt
5040applications")
5041 (description "Add-on library to Qt which adds JavaScript scripting
5042support.")
5043 ;; Most files are distributed under LGPL2+, but the package also includes
5044 ;; code under a variety of licenses.
5045 (license (list license:lgpl2.1+
5046 license:bsd-2 license:bsd-3
5047 (license:non-copyleft "file://src/kjs/dtoa.cpp")))))
5048
5049(define-public kdav
5050 (package
5051 (name "kdav")
5052 (version "6.24.0")
5053 (source
5054 (origin
5055 (method url-fetch)
5056 (uri (string-append "mirror://kde/stable/frameworks/"
5057 (version-major+minor version) "/"
5058 name "-" version ".tar.xz"))
5059 (sha256
5060 (base32 "04r9chakc22i6srysh8w43944ak631941wmdpqphsfj0an36kidc"))))
5061 (build-system qt-build-system)
5062 (native-inputs
5063 (list extra-cmake-modules))
5064 (propagated-inputs (list kcoreaddons))
5065 (inputs
5066 (list ki18n kio))
5067 (arguments
5068 (list
5069 #:test-exclude
5070 (string-append "("
5071 (string-join '("kdav-davcollectionsmultifetchjobtest"
5072 "kdav-davitemfetchjob")
5073 "|")
5074 ")")
5075 #:qtbase qtbase
5076 #:phases #~(modify-phases %standard-phases
5077 (replace 'check
5078 (lambda* (#:key tests? test-exclude #:allow-other-keys)
5079 (when tests?
5080 ;; Seems to require network.
5081 (invoke "ctest" "-E" test-exclude)))))))
5082 (home-page "https://invent.kde.org/frameworks/kdav")
5083 (synopsis "DAV protocol implementation with KJobs")
5084 (description "This is a DAV protocol implementation with KJobs. Calendars
5085and todos are supported, using either GroupDAV or CalDAV, and contacts are
5086supported using GroupDAV or CardDAV.")
5087 (license ;; GPL for programs, LGPL for libraries
5088 (list license:gpl2+ license:lgpl2.0+))))