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