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