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