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