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