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