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