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