gnu: kdenlive: Add breeze-icons.
[jackhill/guix/guix.git] / gnu / packages / kde.scm
CommitLineData
d34c594a 1;;; GNU Guix --- Functional package management for GNU
f97ad3f8 2;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
15cd7067 3;;; Copyright © 2016 David Craven <david@craven.ch>
d3065c87 4;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
a50f5258 5;;; Copyright © 2017, 2018 Mark Meyer <mark@ofosos.org>
fc87c7ce 6;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
a50f5258 7;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
2668e06e 8;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
00fad32a 9;;; Copyright © 2018, 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
9b65dea8 10;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
9141cec4 11;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
a2954e2a 12;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
18bf33a7 13;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com>
7a8d4557 14;;; Copyright © 2020 Zheng Junjie <873216071@qq.com>
d34c594a
EF
15;;;
16;;; This file is part of GNU Guix.
17;;;
18;;; GNU Guix is free software; you can redistribute it and/or modify it
19;;; under the terms of the GNU General Public License as published by
20;;; the Free Software Foundation; either version 3 of the License, or (at
21;;; your option) any later version.
22;;;
23;;; GNU Guix is distributed in the hope that it will be useful, but
24;;; WITHOUT ANY WARRANTY; without even the implied warranty of
25;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26;;; GNU General Public License for more details.
27;;;
28;;; You should have received a copy of the GNU General Public License
29;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
30
31(define-module (gnu packages kde)
32 #:use-module (guix build-system cmake)
e185e900 33 #:use-module (guix build-system qt)
e87b83b6 34 #:use-module (guix deprecation)
d34c594a 35 #:use-module (guix download)
a50f5258 36 #:use-module (guix git-download)
d34c594a
EF
37 #:use-module ((guix licenses) #:prefix license:)
38 #:use-module (guix packages)
39 #:use-module (guix utils)
38988dbe 40 #:use-module (gnu packages)
40761f57 41 #:use-module (gnu packages algebra)
c02c8cf4 42 #:use-module (gnu packages apr)
b9c9cdbf 43 #:use-module (gnu packages audio)
00fad32a 44 #:use-module (gnu packages bison)
c02c8cf4 45 #:use-module (gnu packages boost)
6e23bee6 46 #:use-module (gnu packages code)
a2954e2a 47 #:use-module (gnu packages cpp)
f447dbc7 48 #:use-module (gnu packages compression)
40761f57 49 #:use-module (gnu packages curl)
a387cbab 50 #:use-module (gnu packages djvu)
f447dbc7 51 #:use-module (gnu packages documentation)
a387cbab 52 #:use-module (gnu packages ebook)
00fad32a 53 #:use-module (gnu packages flex)
a387cbab 54 #:use-module (gnu packages fontutils)
40761f57
MM
55 #:use-module (gnu packages gettext)
56 #:use-module (gnu packages ghostscript)
7781afde
TD
57 #:use-module (gnu packages gl)
58 #:use-module (gnu packages gnome)
40761f57
MM
59 #:use-module (gnu packages graphics)
60 #:use-module (gnu packages image)
550791b8 61 #:use-module (gnu packages kde-frameworks)
9141cec4 62 #:use-module (gnu packages kde-pim)
bec2a2e1 63 #:use-module (gnu packages kde-plasma)
15cd7067 64 #:use-module (gnu packages linux)
7781afde 65 #:use-module (gnu packages llvm)
a387cbab 66 #:use-module (gnu packages markup)
40761f57
MM
67 #:use-module (gnu packages maths)
68 #:use-module (gnu packages pdf)
69 #:use-module (gnu packages perl)
70 #:use-module (gnu packages photo)
d34c594a 71 #:use-module (gnu packages pkg-config)
b9c9cdbf 72 #:use-module (gnu packages pulseaudio)
ce8964b6 73 #:use-module (gnu packages python)
d34c594a 74 #:use-module (gnu packages tls)
c02c8cf4 75 #:use-module (gnu packages qt)
40761f57 76 #:use-module (gnu packages version-control)
a50f5258 77 #:use-module (gnu packages video)
ce8964b6 78 #:use-module (gnu packages xdisorg)
b2fdd0cf 79 #:use-module (gnu packages xml)
40761f57 80 #:use-module (gnu packages xorg))
d34c594a 81
15622105
HG
82(define-public baloo-widgets
83 (package
84 (name "baloo-widgets")
6701d232 85 (version "20.04.1")
15622105
HG
86 (source
87 (origin
88 (method url-fetch)
6701d232 89 (uri (string-append "mirror://kde/stable/release-service/" version
15622105
HG
90 "/src/baloo-widgets-" version ".tar.xz"))
91 (sha256
6701d232 92 (base32 "1x4v79vhvc5ixkbsf3jyjz5ig1lf78rfw3r7g3llpb4j1kcp3wh0"))))
15622105
HG
93 (build-system qt-build-system)
94 (native-inputs
95 `(("extra-cmake-modules" ,extra-cmake-modules)))
96 (inputs
97 `(("baloo" ,baloo)
98 ("kconfig" ,kconfig)
99 ("ki18n" ,ki18n)
100 ("kio" ,kio)
101 ("qtbase" ,qtbase)))
102 (arguments
103 `(#:phases
104 (modify-phases %standard-phases
105 (add-before 'check 'check-setup
106 (lambda _
107 (setenv "QT_QPA_PLATFORM" "offscreen")
108 #t)))))
109 (home-page "https://community.kde.org/Baloo")
110 (synopsis "Wigets for use with Baloo")
111 (description "Baloo is a framework for searching and managing metadata.
112This package contains GUI widgets for baloo.")
113 (license license:lgpl2.0+)))
114
b2fdd0cf
HG
115(define-public grantleetheme
116 (package
117 (name "grantleetheme")
6701d232 118 (version "20.04.1")
b2fdd0cf
HG
119 (source
120 (origin
121 (method url-fetch)
6701d232 122 (uri (string-append "mirror://kde/stable/release-service/" version
b2fdd0cf
HG
123 "/src/grantleetheme-" version ".tar.xz"))
124 (sha256
6701d232 125 (base32 "0gabc5cb0sf00s7m5v2jnq55qsrdbrq6nqd15y1i15p788zifsjx"))
b2fdd0cf
HG
126 (patches (search-patches "grantlee-merge-theme-dirs.patch"))))
127 (build-system qt-build-system)
128 (native-inputs
129 `(("extra-cmake-modules" ,extra-cmake-modules)
130 ("libxml2" ,libxml2))) ;; xmllint required for tests
131 (inputs
132 `(("grantlee" ,grantlee)
6701d232 133 ("kguiaddons" ,kguiaddons)
b2fdd0cf
HG
134 ("ki18n" ,ki18n)
135 ("kiconthemes" ,kiconthemes)
136 ("knewstuff" ,knewstuff)
137 ("qtbase" ,qtbase)))
b828057e 138 (home-page "https://invent.kde.org/pim/grantleetheme")
b2fdd0cf
HG
139 (synopsis "Library providing Grantlee theme support")
140 (description "This library provides Grantlee theme support.")
141 (license ;; LGPL for libraries, FDL for documentation
6701d232 142 (list license:lgpl2.1+ license:fdl1.2+))))
b2fdd0cf 143
a50f5258 144(define-public kdenlive
c073efc9 145 (let ((version "20.08.3"))
a50f5258
MM
146 (package
147 (name "kdenlive")
148 (version version)
149 (source
150 (origin
151 (method git-fetch)
152 (uri (git-reference
8ba70a6a 153 (url "https://invent.kde.org/multimedia/kdenlive")
a50f5258
MM
154 (commit (string-append "v" version))))
155 (file-name (string-append name "-" version "-checkout"))
156 (sha256
c073efc9 157 (base32 "0x0qfwf6wfnybjyjvmllpf87sm27d1n2akslhp2k8ins838qy55i"))))
a50f5258
MM
158 (build-system cmake-build-system)
159 (native-inputs
160 `(("extra-cmake-modules" ,extra-cmake-modules)
34b6dd36 161 ("pkg-config" ,pkg-config)
a50f5258 162 ("qttools" ,qttools)))
a50f5258
MM
163 (inputs
164 `(("shared-mime-info" ,shared-mime-info)
165 ("frei0r-plugins" ,frei0r-plugins)
3f663e57 166 ("ffmpeg" ,ffmpeg)
a2954e2a
MR
167 ("rttr" ,rttr)
168 ("mlt" ,mlt)
a50f5258
MM
169 ("qtbase" ,qtbase)
170 ("qtscript" ,qtscript)
171 ("qtsvg" ,qtsvg)
a2954e2a 172 ("qtmultimedia" ,qtmultimedia)
a50f5258
MM
173 ("kparts" ,kparts)
174 ("knotifications" ,knotifications)
175 ("karchive" ,karchive)
176 ("kdbusaddons" ,kdbusaddons)
177 ("kcrash" ,kcrash)
178 ("kguiaddons" ,kguiaddons)
179 ("knewstuff" ,knewstuff)
180 ("knotifyconfig" ,knotifyconfig)
181 ("kfilemetadata" ,kfilemetadata)
182 ("kdoctools" ,kdoctools)
b42b5afd
MW
183 ("kdeclarative" ,kdeclarative)
184 ("qtdeclarative" ,qtdeclarative)
185 ("qtquickcontrols" ,qtquickcontrols)
a2954e2a 186 ("qtquickcontrols2" ,qtquickcontrols2)
b42b5afd 187 ("kiconthemes" ,kiconthemes)
66016b1a
HG
188 ("breeze" ,breeze) ; make dark them available easily
189 ("breeze-icons" ,breeze-icons) ; recommended icon set
34b6dd36
PG
190 ("purpose" ,purpose)
191 ("qtwebkit" ,qtwebkit)
a50f5258 192 ("qtgraphicaleffects" ,qtgraphicaleffects)
b42b5afd 193 ("kplotting" ,kplotting)))
a50f5258 194 (arguments
a2954e2a
MR
195 `(#:tests? #f ;TODO needs X
196 #:phases
a50f5258
MM
197 (modify-phases %standard-phases
198 (add-after 'install 'wrap-executable
199 (lambda* (#:key inputs outputs #:allow-other-keys)
200 (let* ((out (assoc-ref outputs "out"))
a50f5258 201 (qtbase (assoc-ref inputs "qtbase"))
a50f5258 202 (frei0r (assoc-ref inputs "frei0r-plugins"))
3f663e57 203 (ffmpeg (assoc-ref inputs "ffmpeg"))
66016b1a
HG
204 (breeze (assoc-ref inputs "breeze"))
205 (breeze-icons (assoc-ref inputs "breeze-icons")))
a50f5258 206 (wrap-program (string-append out "/bin/kdenlive")
3f663e57
PG
207 `("PATH" ":" prefix
208 ,(list (string-append ffmpeg "/bin")))
e33a1e54 209 `("XDG_DATA_DIRS" ":" prefix
66016b1a
HG
210 ,(list (string-append breeze "/share")
211 (string-append breeze-icons "/share")))
a50f5258 212 `("QT_PLUGIN_PATH" ":" prefix
cd6ec670 213 ,(list (getenv "QT_PLUGIN_PATH")))
a50f5258
MM
214 `("FREI0R_PATH" ":" =
215 (,(string-append frei0r "/lib/frei0r-1/")))
216 `("QT_QPA_PLATFORM_PLUGIN_PATH" ":" =
217 (,(string-append qtbase "/lib/qt5/plugins/platforms")))
218 `("QML2_IMPORT_PATH" ":" prefix
cd6ec670 219 ,(list (getenv "QML2_IMPORT_PATH")))
a2954e2a
MR
220 `("MLT_PREFIX" ":" =
221 (,(assoc-ref inputs "mlt")))))
a50f5258
MM
222 #t)))))
223 (home-page "https://kdenlive.org")
224 (synopsis "Non-linear video editor")
225 (description "Kdenlive is an acronym for KDE Non-Linear Video Editor.
226
227Non-linear video editing is much more powerful than beginner's (linear)
228editors, hence it requires a bit more organization before starting. However,
229it is not reserved to specialists and can be used for small personal
230projects.")
231 (license license:gpl2+))))
232
7781afde
TD
233(define-public kdevelop
234 (package
235 (name "kdevelop")
32a4c032 236 (version "5.5.2")
7781afde
TD
237 (source
238 (origin
239 (method url-fetch)
240 (uri (string-append "mirror://kde/stable/kdevelop"
241 "/" version "/src/kdevelop-"
242 version ".tar.xz"))
243 (sha256
32a4c032 244 (base32 "1nkl3z1n1l7ly2zvmbx2sdhx5q72wcvpwhzsz3qgw1474qd9i3i2"))))
6e23bee6 245 (build-system qt-build-system)
7781afde
TD
246 (native-inputs
247 `(("extra-cmake-modules" ,extra-cmake-modules)
248 ("pkg-config" ,pkg-config)
6e23bee6 249 ("shared-mime-info" ,shared-mime-info)
7781afde
TD
250 ("qttools" ,qttools)))
251 (inputs
6e23bee6
HG
252 `(("boost" ,boost)
253 ("clang" ,clang)
254 ("grantlee" ,grantlee)
7781afde
TD
255 ("karchive" ,karchive)
256 ("kcmutils" ,kcmutils)
6e23bee6 257 ("kcrash" ,kcrash)
7781afde
TD
258 ("kdeclarative" ,kdeclarative)
259 ("kdoctools" ,kdoctools)
260 ("kguiaddons" ,kguiaddons)
261 ("ki18n" ,ki18n)
7781afde 262 ("kiconthemes" ,kiconthemes)
6e23bee6 263 ("kio" ,kio) ;; not checked as requirement
7781afde
TD
264 ("kitemmodels" ,kitemmodels)
265 ("kitemviews" ,kitemviews)
266 ("kjobwidgets" ,kjobwidgets)
7781afde 267 ("knotifications" ,knotifications)
6e23bee6 268 ("knotifyconfig" ,knotifyconfig)
7781afde 269 ("kparts" ,kparts)
6e23bee6 270 ("kservice" ,kservice)
7781afde
TD
271 ("ktexteditor" ,ktexteditor)
272 ("kwindowsystem" ,kwindowsystem)
6e23bee6
HG
273 ("kxmlgui" ,kxmlgui)
274 ("libkomparediff2" ,libkomparediff2)
275 ("oxygen-icons" ,oxygen-icons)
276 ("qtbase" ,qtbase)
277 ("qtdeclarative" ,qtdeclarative)
278 ("qtquickcontrols" ,qtquickcontrols) ;; not checked as requirement
279 ("qtquickcontrols2" ,qtquickcontrols2) ;; not checked as requirement
280 ("qtwebkit" ,qtwebkit)
281 ("threadweaver" ,threadweaver)
282
283 ;; recommendes
284 ("astyle" ,astyle)
285 ("kdevelop-pg-qt" ,kdevelop-pg-qt)
286 ("libksysguard" ,libksysguard)
287
288 ;; optional
289 ("apr" ,apr) ; required for subversion support
290 ("apr-util" ,apr-util) ; required for subversion support
291 ("attica" ,attica)
292 ("kconfigwidgets" ,kconfigwidgets)
293 ("knewstuff" ,knewstuff)
294 ("krunner" ,krunner)
295 ;; TODO: OktetaGui, OktetaKastenControllers
7781afde 296 ("plasma" ,plasma-framework)
6e23bee6
HG
297 ;; TODO: purpose
298 ("sonnet" ,sonnet)
299 ("subversion" ,subversion)))
300
301 ;; run-time packages - TODO
302 ;; ClazyStandalone
303 ;; Cppcheck
304 ;; heaptrack
305 ;; heaptrack_gui
306 ;; meson
7781afde 307 (arguments
6e23bee6
HG
308 `(#:tests? #f ;; there are some issues with the test suite
309 #:phases
0422d3e1 310 (modify-phases %standard-phases
6e23bee6
HG
311 (add-before 'configure 'add-include-path
312 (lambda* (#:key inputs #:allow-other-keys)
313 (substitute* "cmake/modules/FindClang.cmake"
314 (("^\\s*PATHS \"\\$\\{CLANG_LIBRARY_DIRS\\}\"" line)
315 (string-append line " " (assoc-ref inputs "clang") "/lib")))
316 #t)))))
7781afde
TD
317 (home-page "https://kdevelop.org")
318 (synopsis "IDE for C, C++, Python, Javascript and PHP")
319 (description "The KDevelop IDE provides semantic syntax highlighting, as
320well as code navigation and completion for C, C++ (using Clang/LLVM), QML,
321JavaScript, Python and PHP. It also integrates with a debugger, different
322build systems (CMake, QMake, custom Makefiles) and version control
323software (Git, Subversion, Mercurial, CVS and Bazaar).")
324 (license license:lgpl2.1+)))
325
8bb115e0
TD
326(define-public kdevelop-pg-qt
327 (package
328 (name "kdevelop-pg-qt")
f97ad3f8 329 (version "2.2.1")
8bb115e0
TD
330 (source
331 (origin
f97ad3f8
EF
332 (method git-fetch)
333 (uri (git-reference
334 (url "https://github.com/KDE/kdevelop-pg-qt")
335 (commit (string-append "v" version))))
336 (file-name (git-file-name name version))
8bb115e0 337 (sha256
f97ad3f8 338 (base32 "1kfab4p717acbdkcdi41d98vwch7v431gb2qi6s38hmclsf8bf8g"))))
8bb115e0
TD
339 (native-inputs
340 `(("extra-cmake-modules" ,extra-cmake-modules)))
341 (inputs
342 `(("qtbase" ,qtbase)))
343 (build-system cmake-build-system)
344 (home-page "https://kde.org")
345 (synopsis "Parser generator library for KDevplatform")
346 (description "KDevelop-PG-Qt is the parser generator used in KDevplatform
347for some KDevelop language plugins (Ruby, PHP, CSS...).")
348 (license license:lgpl2.0+)))
349
e87b83b6 350;; kdevplatform was merged into kdevelop as of 5.2.x
9b65dea8 351(define-deprecated kdevplatform kdevelop)
c02c8cf4 352
9d95d8bd
HG
353(define-public kdiagram
354 (package
355 (name "kdiagram")
8415182a 356 (version "2.7.0")
9d95d8bd
HG
357 (source
358 (origin
359 (method url-fetch)
360 (uri (string-append "mirror://kde/stable/kdiagram/" version
361 "/kdiagram-" version ".tar.xz"))
362 (sha256
8415182a 363 (base32 "1pgvf2q8b59hw0jg5ajmj5nrn4q8cgnifpvdd0fynk2ml6zym8k3"))
9d95d8bd
HG
364 (patches (search-patches
365 "kdiagram-Fix-missing-link-libraries.patch"))))
366 (build-system qt-build-system)
367 (native-inputs
368 `(("extra-cmake-modules" ,extra-cmake-modules)
369 ("qttools" ,qttools)))
370 (inputs
371 `(("qtbase" ,qtbase)
372 ("qtsvg" ,qtsvg)))
b828057e 373 (home-page "https://invent.kde.org/graphics/kdiagram")
9d95d8bd
HG
374 (synopsis "Libraries for creating business diagrams")
375 (description "This package provides libraries for integrating business
376diagrams in Qt-based applications.
377
378@code{KCharts} provides an implementation of the ODF Chart specification. It
379supports stock charts, box charts, and whisker charts. @code{KGantt} provides
380a module for implementing ODF Gantt charts, which are bar charts that
381illustrate project schedules.")
382 (license license:gpl2+)))
383
40761f57
MM
384(define-public krita
385 (package
386 (name "krita")
eaae3e11 387 (version "4.4.1")
40761f57
MM
388 (source (origin
389 (method url-fetch)
390 (uri (string-append
6d8bffd1 391 "mirror://kde/stable/krita/" version
2668e06e 392 "/krita-" version ".tar.gz"))
40761f57
MM
393 (sha256
394 (base32
eaae3e11 395 "05rq5hkh2lmk8hall2h9ccaav0nw8fj7vd4aff5fyp2fiq3aybbg"))))
40761f57
MM
396 (build-system cmake-build-system)
397 (arguments
398 `(#:tests? #f
399 #:configure-flags
2668e06e 400 (list "-DBUILD_TESTING=OFF"
1475d5c6 401 (string-append "-DCMAKE_CXX_FLAGS=-I"
7d703a2f 402 (assoc-ref %build-inputs "openexr")
990e93fc
LF
403 "/include/OpenEXR"))
404 #:phases
405 (modify-phases %standard-phases
1ee750ba
LF
406 ;; Ensure that icons are found at runtime.
407 ;; This works around <https://bugs.gnu.org/22138>.
990e93fc
LF
408 (add-after 'install 'wrap-executable
409 (lambda* (#:key inputs outputs #:allow-other-keys)
410 (let ((out (assoc-ref outputs "out"))
411 (qt '("qtbase" "qtsvg")))
412 (wrap-program (string-append out "/bin/krita")
413 `("QT_PLUGIN_PATH" ":" prefix
414 ,(map (lambda (label)
415 (string-append (assoc-ref inputs label)
416 "/lib/qt5/plugins/"))
417 qt)))
418 #t))))))
40761f57
MM
419 (native-inputs
420 `(("curl" ,curl)
421 ("eigen" ,eigen)
422 ("extra-cmake-modules" ,extra-cmake-modules)
423 ("gettext-minimal" ,gettext-minimal)
424 ("kitemmodels" ,kitemmodels)
2668e06e 425 ("pkg-config" ,pkg-config)
1475d5c6
MM
426 ("qwt" ,qwt)
427 ("vc" ,vc)))
40761f57 428 (inputs
2668e06e
NG
429 `(("boost" ,boost)
430 ("exiv2" ,exiv2)
431 ("fftw" ,fftw)
432 ("gsl" ,gsl)
433 ("ilmbase" ,ilmbase)
40761f57
MM
434 ("karchive" ,karchive)
435 ("kcompletion" ,kcompletion)
436 ("kconfig" ,kconfig)
437 ("kcoreaddons" ,kcoreaddons)
438 ("kcrash" ,kcrash)
439 ("kguiaddons" ,kguiaddons)
440 ("ki18n" ,ki18n)
441 ("kiconthemes" ,kiconthemes)
442 ("kio" ,kio)
443 ("kitemviews" ,kitemviews)
444 ("kwidgetsaddons" ,kwidgetsaddons)
445 ("kwindowsystem" ,kwindowsystem)
446 ("kxmlgui" ,kxmlgui)
40761f57 447 ("lcms" ,lcms)
1475d5c6 448 ("libjpeg-turbo" ,libjpeg-turbo)
2668e06e
NG
449 ("libpng" ,libpng)
450 ("libraw" ,libraw-0.18)
451 ("libtiff" ,libtiff)
40761f57
MM
452 ("libx11" ,libx11)
453 ("libxcb" ,libxcb)
454 ("libxi" ,libxi)
2668e06e 455 ("openexr" ,openexr)
1475d5c6 456 ("perl" ,perl)
2668e06e 457 ("poppler-qt5" ,poppler-qt5)
c23737d6 458 ("qtbase" ,qtbase)
2668e06e
NG
459 ("qtdeclarative" ,qtdeclarative)
460 ("qtmultimedia" ,qtmultimedia)
461 ("qtsvg" ,qtsvg)
462 ("qtx11extras" ,qtx11extras)
463 ("quazip" ,quazip)
464 ("zlib" ,zlib)))
40761f57
MM
465 (home-page "https://krita.org")
466 (synopsis "Digital painting application")
467 (description
468 "Krita is a professional painting tool designed for concept artists,
469illustrators, matte and texture artists, and the VFX industry. Notable
470features include brush stabilizers, brush engines and wrap-around mode.")
471 (license license:gpl2+)))
472
5a16e1c0
TD
473(define-public libkomparediff2
474 (package
475 (name "libkomparediff2")
6701d232 476 (version "20.04.1")
5a16e1c0
TD
477 (source
478 (origin
479 (method url-fetch)
6701d232 480 (uri (string-append "mirror://kde/stable/release-service/" version
40b5ec2f 481 "/src/libkomparediff2-" version ".tar.xz"))
5a16e1c0 482 (sha256
6701d232 483 (base32 "0m8m7sgpf2f4nxpaaymyvihlk0pcyblyd99mcbibrnyr5kzkzzdc"))))
5a16e1c0
TD
484 (native-inputs
485 `(("extra-cmake-modules" ,extra-cmake-modules)
486 ("pkg-config" ,pkg-config)))
487 (inputs
488 `(("kcodecs" ,kcodecs)
489 ("kconfig" ,kconfig)
490 ("kcoreaddons" ,kcoreaddons)
491 ("ki18n" ,ki18n)
492 ("kio" ,kio)
493 ("kxmlgui" ,kxmlgui)
494 ("qtbase" ,qtbase)))
495 (build-system cmake-build-system)
496 (home-page "https://kde.org")
497 (synopsis "Library to compare files and strings, used in Kompare and KDevelop")
498 (description "Libkomparediff2 is a library to work with diffs and patches,
499used in KDE development tools Kompare and KDevelop.")
500
501 ;; GPL, some files are also licensed under LGPL or BSD, see COPYING in the
502 ;; source archive
503 (license (list license:gpl2+ license:lgpl2.0+ license:bsd-3))))
504
d34c594a
EF
505(define-public qca
506 (package
507 (name "qca")
565d2eb0 508 (version "2.3.0")
d34c594a
EF
509 (source
510 (origin
511 (method url-fetch)
bb8d1b2a 512 (uri (string-append "mirror://kde/stable/qca/" version
7f5f61ae 513 "/qca-" version ".tar.xz"))
d34c594a
EF
514 (sha256
515 (base32
565d2eb0 516 "1mrj748yz1grgzmfbmffgjkpcqiaj1l3m4pbddwcj7dnl50yys0x"))))
d34c594a
EF
517 (build-system cmake-build-system)
518 (native-inputs
519 `(("pkg-config" ,pkg-config)))
520 (inputs
521 `(("openssl" ,openssl)
05b9c00e 522 ("qtbase" ,qtbase)))
49e6b0d9 523 (home-page "https://userbase.kde.org/QCA")
d34c594a
EF
524 (synopsis "Libraries for the Qt Cryptographic Architecture")
525 (description "The Qt Cryptographic Architecture (QCA) provides a
526straightforward and cross-platform API for a range of cryptographic features,
527including SSL/TLS, X.509 certificates, SASL, OpenPGP, S/MIME CMS, and smart
528cards.")
63be1a7d 529 (license license:lgpl2.1+)))
550791b8 530
15cd7067
HG
531(define-public kpmcore
532 (package
533 (name "kpmcore")
5db3f6c1 534 (version "4.1.0")
15cd7067
HG
535 (source (origin
536 (method url-fetch)
537 (uri (string-append
538 "mirror://kde/stable/kpmcore"
539 "/" version "/src/"
540 name "-" version ".tar.xz"))
541 (sha256
542 (base32
5db3f6c1 543 "0jsig7algmab9h0fb09my0axjqzw83zgscamhzl8931lribs6idm"))))
15cd7067
HG
544 (build-system cmake-build-system)
545 (native-inputs
546 `(("extra-cmake-modules" ,extra-cmake-modules)
547 ("pkg-config" ,pkg-config)))
548 (inputs
9c881490
549 `(("kauth" ,kauth)
550 ("kcoreaddons" ,kcoreaddons)
15cd7067 551 ("ki18n" ,ki18n)
9c881490 552 ("kwidgetsaddons" ,kwidgetsaddons)
15cd7067 553 ("qtbase" ,qtbase)
38988dbe 554 ("qca" ,qca)
bb93042c 555 ("util-linux" ,util-linux "lib")))
15cd7067
HG
556 (home-page "https://community.kde.org/Frameworks")
557 (synopsis "Library for managing partitions")
558 (description "Library for managing partitions.")
559 (license license:gpl3+)))
560
550791b8
EF
561(define-public snorenotify
562 (package
563 (name "snorenotify")
564 (version "0.7.0")
565 (source
566 (origin
567 (method url-fetch)
343bffbd 568 (uri (string-append "mirror://kde/stable/snorenotify/"
550791b8
EF
569 version "/src/snorenotify-" version ".tar.xz"))
570 (sha256
571 (base32
572 "0jz6ivk90h7iwgyxar7xzzj8yvzn6s1my6cqs9bdnwqswfk1nhbd"))))
573 (build-system cmake-build-system)
574 (arguments
575 `(#:tests? #f)) ; both tests fail, require display
576 (inputs
3c526173
EF
577 `(("qtbase" ,qtbase)))
578 (native-inputs
550791b8 579 `(("extra-cmake-modules" ,extra-cmake-modules)
5f2074ca 580 ("qttools" ,qttools)))
550791b8
EF
581 (home-page "https://techbase.kde.org/Projects/Snorenotify")
582 (synopsis "Qt notification framework")
583 (description "Snorenotify is a multi platform Qt notification framework.
584Using a plugin system it is possible to create notifications with many
585different notification systems.")
586 (license license:lgpl3)))
ce8964b6
EF
587
588(define-public kdeconnect
589 (package
590 (name "kdeconnect")
05b23730 591 (version "20.04.2")
ce8964b6
EF
592 (source
593 (origin
594 (method url-fetch)
0526185e
EF
595 (uri (string-append "mirror://kde/stable/release-service/"
596 version "/src/kdeconnect-kde-"
ce8964b6
EF
597 version ".tar.xz"))
598 (sha256
599 (base32
05b23730 600 "0yq3afbbcc9gmlcachvh3xz3gdj57092fpagp36l5knw8gr0d9ip"))))
e185e900 601 (build-system qt-build-system)
ce8964b6 602 (arguments
720855b5 603 `(#:configure-flags '("-DBUILD_TESTING=ON"
0526185e 604 "-DKDE_INSTALL_LIBEXECDIR=libexec")
9141cec4
MB
605 #:phases (modify-phases %standard-phases
606 (add-after 'set-paths 'extend-CPLUS_INCLUDE_PATH
607 (lambda* (#:key inputs #:allow-other-keys)
608 ;; FIXME: <kcmutils_version.h> is not found during one
609 ;; of the compilation steps without this hack.
610 (setenv "CPLUS_INCLUDE_PATH"
611 (string-append (assoc-ref inputs "kcmutils")
612 "/include/KF5:"
613 (or (getenv "CPLUS_INCLUDE_PATH")
614 "")))
615 #t)))
cd165d10 616 #:tests? #f)) ; tests fail hard in our build environment
ce8964b6
EF
617 (native-inputs
618 `(("extra-cmake-modules" ,extra-cmake-modules)
619 ("kdoctools" ,kdoctools)
620 ("libxtst" ,libxtst)
621 ("pkg-config" ,pkg-config)
622 ("python" ,python-wrapper)))
623 (inputs
624 `(("kcmutils" ,kcmutils)
625 ("kconfigwidgets" ,kconfigwidgets)
626 ("kdbusaddons" ,kdbusaddons)
627 ("ki18n" ,ki18n)
628 ("kiconthemes" ,kiconthemes)
629 ("kio" ,kio)
9141cec4 630 ("kirigami" ,kirigami)
ce8964b6 631 ("knotifications" ,knotifications)
9141cec4
MB
632 ("kpeople" ,kpeople)
633 ("kpeoplevcard" ,kpeoplevcard)
ce8964b6
EF
634 ("kwayland" ,kwayland)
635 ("libfakekey" ,libfakekey)
9141cec4 636 ("pulseaudio-qt" ,pulseaudio-qt)
ce8964b6
EF
637 ("qca" ,qca)
638 ("qtbase" ,qtbase)
639 ("qtdeclarative" ,qtdeclarative)
31113b6f 640 ("qtgraphicaleffects" ,qtgraphicaleffects)
9141cec4 641 ("qtmultimedia" ,qtmultimedia)
31113b6f
EF
642 ("qtquickcontrols" ,qtquickcontrols)
643 ("qtquickcontrols2" ,qtquickcontrols2)
ce8964b6
EF
644 ("qtx11extras" ,qtx11extras)))
645 (home-page "https://community.kde.org/KDEConnect")
646 (synopsis "Enable your devices to communicate with each other")
647 (description "KDE Connect is a project that enables all your devices to
648communicate with each other. Here's a few things KDE Connect can do:
649@enumerate
650@item Receive your phone notifications on your desktop computer and reply to messages
651@item Control music playing on your desktop from your phone
652@item Use your phone as a remote control for your desktop
653@item Run predefined commands on your PC from connected devices
654@item Check your phones battery level from the desktop
655@item Ring your phone to help finding it
656@item Share files and links between devices
657@item Browse your phone from the desktop
658@item Control the desktop's volume from the phone
659@end enumerate")
0d7dfbce 660 (properties `((upstream-name . "kdeconnect-kde")))
ce8964b6 661 (license (list license:gpl2 license:gpl3)))) ; dual licensed
dece3433
EF
662
663(define-public kqtquickcharts
664 (package
665 (name "kqtquickcharts")
6701d232 666 (version "20.04.1")
dece3433
EF
667 (source
668 (origin
669 (method url-fetch)
6701d232 670 (uri (string-append "mirror://kde/stable/release-service/"
dece3433
EF
671 version "/src/kqtquickcharts-" version ".tar.xz"))
672 (sha256
673 (base32
6701d232 674 "1wxp35mf9zlpgzi4msdl86b2krdq2ipqw371gyx23r7j84vdyxi3"))))
dece3433
EF
675 (build-system cmake-build-system)
676 (native-inputs
677 `(("extra-cmake-modules" ,extra-cmake-modules)))
678 (inputs
679 `(("qtbase" ,qtbase)
680 ("qtdeclarative" ,qtdeclarative)))
681 (home-page "https://phabricator.kde.org/source/kqtquickcharts/")
682 (synopsis "Interactive charts for Qt Quick")
683 (description
684 "Kqtquickcharts is a QtQuick plugin to render beautiful and interactive
685charts.")
686 (license license:lgpl2.1+)))
8cf20d73
LC
687
688(define-public kcachegrind
689 (package
690 (name "kcachegrind")
6701d232 691 (version "20.04.1")
8cf20d73
LC
692 (source (origin
693 (method url-fetch)
6701d232 694 (uri (string-append "mirror://kde/stable/release-service/" version
8cf20d73
LC
695 "/src/kcachegrind-" version ".tar.xz"))
696 (sha256
697 (base32
6701d232 698 "0fx17s6fj1pxl1mgfrqhchk8sihkbji1x8y3nhb1r0971wzd1nsc"))))
8cf20d73
LC
699 (build-system cmake-build-system)
700 (native-inputs
701 `(("extra-cmake-modules" ,extra-cmake-modules)
702 ("perl" ,perl)
703 ("python" ,python)
704 ("qttools" ,qttools)
705 ("kdoctools" ,kdoctools)))
706 (inputs
707 `(("qtbase" ,qtbase)
708 ("karchive" ,karchive)
709 ("ki18n" ,ki18n)
710 ("kio" ,kio)
711 ("kdbusaddons" ,kdbusaddons)))
712 ;; Note: The 'hotshot2calltree' and 'pprof2calltree' scripts depend on
713 ;; Python and PHP, respectively. These are optional and we ignore them
714 ;; for now.
715 (home-page "https://kcachegrind.github.io/html/Home.html")
716 (synopsis "Visualize profiles produces by Valgrind's Cachegrind tool")
717 (description
718 "The data files generated by the Callgrind of Valgrind, an application
719profiler, can be loaded into KCachegrind for browsing the performance results.
720There is also a command-line tool to get ASCII reports from data files without
721the need to use KCachegrind.
722
723The format of Callgrind output is documented. With conversion scripts,
724KCachegrind is able to visualize output of other profilers like OProfile, a
725system-wide profiler for Linux using statistical sampling with hardware
726performance counters. There also exist converters for profiling output of
727Python, PHP, and Perl.")
728 (license license:gpl2)))
b9c9cdbf
HG
729
730(define-public libkdegames
731 (package
732 (name "libkdegames")
6701d232 733 (version "20.04.1")
b9c9cdbf
HG
734 (source
735 (origin
736 (method url-fetch)
6701d232 737 (uri (string-append "mirror://kde/stable/release-service/" version
b9c9cdbf
HG
738 "/src/libkdegames-" version ".tar.xz"))
739 (sha256
6701d232 740 (base32 "1xsrrvhwjwi5aajcaxydmzc69i4yx6shs8ly8vr85njc188ycg13"))))
cd165d10 741 (build-system qt-build-system)
b9c9cdbf
HG
742 (native-inputs
743 `(("extra-cmake-modules" ,extra-cmake-modules)))
744 (inputs
745 `(("karchive" ,karchive)
746 ("kbookmarks" ,kbookmarks)
747 ("kcodecs" ,kcodecs)
748 ("kcompletion" ,kcompletion)
749 ("kconfigwidgets" ,kconfigwidgets)
750 ("kcrash" ,kcrash)
751 ("kdbusaddons" ,kdbusaddons)
752 ("kdeclarative" ,kdeclarative)
753 ("kdnssd" ,kdnssd)
754 ("kglobalaccel" ,kglobalaccel)
755 ("kguiaddons" ,kguiaddons)
756 ("ki18n" ,ki18n)
757 ("kiconthemes" ,kiconthemes)
758 ;("kio" ,kio)
759 ("kitemviews" ,kitemviews)
760 ("kjobwidgets" ,kjobwidgets)
761 ("knewstuff" ,knewstuff)
762 ("kservice" ,kservice)
763 ("ktextwidgets" ,ktextwidgets)
764 ("kwidgetsaddons" ,kwidgetsaddons)
765 ("kxmlgui" ,kxmlgui)
766 ("libsndfile" ,libsndfile)
767 ("openal" ,openal)
768 ("qtbase" ,qtbase)
769 ("qtdeclarative" ,qtdeclarative)
770 ("qtsvg" ,qtsvg)))
b9c9cdbf
HG
771 (home-page "https://games.kde.org/")
772 (synopsis "Runtime library for kdegames")
773 (description "Runtime library for kdegames")
774 (license (list license:gpl2+ license:fdl1.2+))))
9b98d288 775
a387cbab
ZJ
776(define-public okular
777 (package
778 (name "okular")
779 (version "20.12.0")
780 (source
781 (origin
782 (method url-fetch)
783 (uri (string-append "mirror://kde/stable/release-service/" version
784 "/src/" name "-" version ".tar.xz"))
785 (sha256
786 (base32 "1kib8zqfd9qgqn7bz88hay2j3kcvarnlfyr3a417pi6rvaam6b4p"))))
787 (build-system qt-build-system)
788 ;; The tests fail because they can't find the proper mimetype plugins:
789 ;; "org.kde.okular.core: No plugin for mimetype '"image/jpeg"'."
790 ;; The built program seems to work okay, so we skip the tests for now.
791 (arguments
792 `(#:tests? #f
793 #:configure-flags
794 (list "-DBUILD_TESTING=OFF")))
795 (native-inputs
796 `(("extra-cmake-modules" ,extra-cmake-modules)
797 ("kdoctools" ,kdoctools)
798 ("pkg-config" ,pkg-config)))
799 (inputs
800 `(("ebook-tools" ,ebook-tools)
801 ("breeze-icons" ,breeze-icons)
802 ("discount" ,discount)
803 ("djvulibre" ,djvulibre)
804 ("kactivities" ,kactivities)
805 ("khtml" ,khtml)
806 ("chmlib" ,chmlib)
807 ("kdegraphics-mobipocket" ,kdegraphics-mobipocket)
808 ("karchive" ,karchive)
809 ("kbookmarks" ,kbookmarks)
810 ("kcompletion" ,kcompletion)
811 ("kconfig" ,kconfig)
812 ("qtbase" ,qtbase)
813 ("libjpeg-turbo" ,libjpeg-turbo)
814 ("libtiff" ,libtiff)
815 ("kirigami" ,kirigami)
816 ("purpose" ,purpose)
817 ("freetype" ,freetype)
818 ("kiconthemes" ,kiconthemes)
819 ("kio" ,kio)
820 ("kparts" ,kparts)
821 ("kpty" ,kpty)
822 ("qtspeech" ,qtspeech)
823 ("kwallet" ,kwallet)
824 ("kwindowsystem" ,kwindowsystem)
825 ("libkexiv2" ,libkexiv2)
826 ("libspectre" ,libspectre)
827 ("libzip" ,libzip)
828 ("phonon" ,phonon)
829 ("poppler-qt5" ,poppler-qt5)
830 ("qca" ,qca)
831 ("qtdeclarative" ,qtdeclarative)
832 ("qtsvg" ,qtsvg)
833 ("threadweaver" ,threadweaver)
834 ("kcrash" ,kcrash)
835 ("kjs" ,kjs)))
836 (home-page "https://kde.org/applications/graphics/okular/")
785a0f72
LC
837 (synopsis "Document viewer")
838 (description
839 "Okular is a document viewer developed for KDE. It can display files in
840a variety of formats, including PDF, PostScript, DejaVu, and EPub.")
a387cbab
ZJ
841 (license license:gpl2+)))
842
7a8d4557
ZJ
843(define-public kdegraphics-mobipocket
844 (package
845 (name "kdegraphics-mobipocket")
846 (version "20.12.0")
847 (source
848 (origin
849 (method url-fetch)
850 (uri (string-append "mirror://kde/stable/release-service/" version
851 "/src/" name "-" version ".tar.xz"))
852 (sha256
853 (base32 "0fm880lp9g60zgrkjyh4jxws6x0s77l9ia4f8pza3w8sxcbbswk5"))))
854 (build-system cmake-build-system)
855 (native-inputs
856 `(("extra-cmake-modules" ,extra-cmake-modules)))
857 (inputs
858 `(("kio" ,kio)
859 ("qtbase" ,qtbase)))
860 (home-page "https://apps.kde.org/en/kdegraphics_mobipocket")
861 (synopsis "KDE thumbnailer for Mobipocket files")
862 (description "This package provides a KDE plugin that shows thumbnails of
863Mobipocket e-books in Dolphin and other KDE apps.")
864 (license license:gpl2+)))
fdfa25ed
ZJ
865
866(define-public libkexiv2
867 (package
868 (name "libkexiv2")
869 (version "20.12.0")
870 (source
871 (origin
872 (method url-fetch)
873 (uri (string-append "mirror://kde/stable/release-service/" version
874 "/src/" name "-" version ".tar.xz"))
875 (sha256
876 (base32 "0k0iinf7s8qlk3fwvq7iic1b4zn2gm65rfd58q7d3wb1i1j2hjjk"))))
877 (build-system cmake-build-system)
878 (native-inputs
879 `(("extra-cmake-modules" ,extra-cmake-modules)))
880 (inputs
881 `(("exiv2" ,exiv2)
882 ("qtbase" ,qtbase)))
883 (home-page "https://invent.kde.org/graphics/libkexiv2")
884 (synopsis "Manipulate the metadata of images")
885 (description "Libkexiv2 wraps the Exiv2 library, allowing to manipulate
886picture metadata as EXIF/IPTC and XMP.")
887 (license license:gpl2+)))
888
9b98d288
HG
889(define-public zeroconf-ioslave
890 (package
891 (name "zeroconf-ioslave")
6701d232 892 (version "20.04.1")
9b98d288
HG
893 (source
894 (origin
895 (method url-fetch)
6701d232 896 (uri (string-append "mirror://kde/stable/release-service/" version
9b98d288
HG
897 "/src/zeroconf-ioslave-" version ".tar.xz"))
898 (sha256
6701d232 899 (base32 "1qck5jyc4psslpibhki8sz8aj0hsnx8z791vzyn10lmdzn71vx8c"))))
9b98d288
HG
900 (build-system qt-build-system)
901 (native-inputs
902 `(("extra-cmake-modules" ,extra-cmake-modules)))
903 (inputs
904 `(("kdbusaddons" ,kdbusaddons)
905 ("kdnssd" ,kdnssd)
906 ("ki18n" ,ki18n)
907 ("kio" ,kio)
908 ("qtbase" ,qtbase)))
909 (home-page "https://kde.org/applications/internet/org.kde.zeroconf_ioslave")
910 (synopsis "DNS-SD Service Discovery Monitor")
911 (description "Adds an entry to Dolphin's Network page to show local
912services such as printers which advertise themselves with DNSSD (called Avahi
913or Bonjour by other projects).")
914 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
915 (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
00fad32a
HG
916
917
918(define-public kuserfeedback
919 ;; FIXME: Try to reduce data collection and ensure transmission i disabled by default.
920 ;; FIXME: Check https://www.reddit.com/r/kde/comments/f7ojg9 for insights
921 (package
922 (name "kuserfeedback")
923 (version "1.0.0")
924 (source
925 (origin
926 (method url-fetch)
927 (uri (string-append "mirror://kde/stable/kuserfeedback/"
928 "/kuserfeedback-" version ".tar.xz"))
929 (sha256
930 (base32 "1dwx9fscnfp3zsxdir774skn8xvad2dvscnaaw3ji6mrnkmm6bss"))))
931 (build-system qt-build-system)
932 (native-inputs
933 `(("extra-cmake-modules" ,extra-cmake-modules)
934 ("qttools" ,qttools)
935 ;; For optional component "Survey target expression parser"
936 ("bison" ,bison)
937 ("flex" ,flex)
938 ;; For syntax checking and unit tests of PHP server code
939 ;;("php" ,php)
940 ;;("phpunit" ,phpunit)
941 ))
942 (inputs
943 `(("qtbase" ,qtbase)
944 ("qtcharts" ,qtcharts)
945 ("qtdeclarative" ,qtdeclarative)
946 ("qtsvg" ,qtsvg)))
947 (arguments
948 `(#:tests? #f)) ;; 4/17 fail
949 (home-page "https://api.kde.org/frameworks/kuserfeedback/html/")
950 (synopsis "Framework for collecting feedback from application users via
951telemetry and targeted surveys")
952 (description "This framework consists of the following components:
c8ac02b2 953@itemize
00fad32a
HG
954@item Libraries for use in applications.
955@item QML bindings for the above.
956@item A server application.
957@item A management and analytics application.
958@end itemize")
959 (license license:expat)))