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