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