projects/guix·blob java-team · refs

900 lines · 29.9 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2017 Mark Meyer <[email protected]>
3;;; Copyright © 2019-2021 Tobias Geerinckx-Rice <[email protected]>
4;;; Copyright © 2019 Nicolas Goaziou <[email protected]>
5;;; Copyright © 2019, 2020 Hartmut Goebel <[email protected]>
6;;; Copyright © 2020 Marius Bakke <[email protected]>
7;;; Copyright © 2020-2025 Zheng Junjie <[email protected]>
8;;; Copyright © 2020, 2021 Ludovic Courtès <[email protected]>
9;;; Copyright © 2021 Michael Rohleder <[email protected]>
10;;; Copyright © 2021 Alexandros Theodotou <[email protected]>
11;;; Copyright © 2021 la snesne <[email protected]>
12;;; Copyright © 2021, 2023 Vinicius Monego <[email protected]>
13;;; Copyright © 2022 Brendan Tildesley <[email protected]>
14;;; Copyright © 2022 Petr Hodina <[email protected]>
15;;; Copyright © 2023 Mehmet Tekman <[email protected]>
16;;; Copyright © 2023, 2025, 2026 Sughosha <[email protected]>
17;;; Copyright © 2024 Maxim Cournoyer <[email protected]>
18;;; Copyright © 2024 Remco van 't Veer <[email protected]>
19;;; Copyright © 2025 Sergio Pastor Pérez <[email protected]>
20;;; Copyright © 2025 pinoaffe <[email protected]>
21;;; Copyright © 2025 Zhu Zihao <[email protected]>
22;;;
23;;; This file is part of GNU Guix.
24;;;
25;;; GNU Guix is free software; you can redistribute it and/or modify it
26;;; under the terms of the GNU General Public License as published by
27;;; the Free Software Foundation; either version 3 of the License, or (at
28;;; your option) any later version.
29;;;
30;;; GNU Guix is distributed in the hope that it will be useful, but
31;;; WITHOUT ANY WARRANTY; without even the implied warranty of
32;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33;;; GNU General Public License for more details.
34;;;
35;;; You should have received a copy of the GNU General Public License
36;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
37
38(define-module (gnu packages kde-graphics)
39 #:use-module (guix build-system cmake)
40 #:use-module (guix build-system qt)
41 #:use-module (guix download)
42 #:use-module (guix gexp)
43 #:use-module (guix git-download)
44 #:use-module ((guix licenses) #:prefix license:)
45 #:use-module (guix utils)
46 #:use-module (guix packages)
47 #:use-module (gnu packages)
48 #:use-module (gnu packages algebra)
49 #:use-module (gnu packages astronomy)
50 #:use-module (gnu packages bash)
51 #:use-module (gnu packages bison)
52 #:use-module (gnu packages boost)
53 #:use-module (gnu packages check)
54 #:use-module (gnu packages cpp)
55 #:use-module (gnu packages curl)
56 #:use-module (gnu packages compression)
57 #:use-module (gnu packages djvu)
58 #:use-module (gnu packages documentation)
59 #:use-module (gnu packages ebook)
60 #:use-module (gnu packages compiler-tools)
61 #:use-module (gnu packages fontutils)
62 #:use-module (gnu packages freedesktop)
63 #:use-module (gnu packages fribidi)
64 #:use-module (gnu packages gettext)
65 #:use-module (gnu packages ghostscript)
66 #:use-module (gnu packages gimp)
67 #:use-module (gnu packages gl)
68 #:use-module (gnu packages glib)
69 #:use-module (gnu packages graphics)
70 #:use-module (gnu packages graphviz)
71 #:use-module (gnu packages gtk)
72 #:use-module (gnu packages image)
73 #:use-module (gnu packages imagemagick)
74 #:use-module (gnu packages image-processing)
75 #:use-module (gnu packages kde-education)
76 #:use-module (gnu packages kde-frameworks)
77 #:use-module (gnu packages kde-pim)
78 #:use-module (gnu packages kde-multimedia)
79 #:use-module (gnu packages kde-plasma)
80 #:use-module (gnu packages maths)
81 #:use-module (gnu packages markup)
82 #:use-module (gnu packages pdf)
83 #:use-module (gnu packages perl)
84 #:use-module (gnu packages photo)
85 #:use-module (gnu packages pkg-config)
86 #:use-module (gnu packages python)
87 #:use-module (gnu packages qt)
88 #:use-module (gnu packages ruby)
89 #:use-module (gnu packages scanner)
90 #:use-module (gnu packages sdl)
91 #:use-module (gnu packages tex)
92 #:use-module (gnu packages unicode)
93 #:use-module (gnu packages video)
94 #:use-module (gnu packages xdisorg)
95 #:use-module (gnu packages xml)
96 #:use-module (gnu packages xorg))
97
98(define-public kquickimageeditor
99 (package
100 (name "kquickimageeditor")
101 (version "0.6.1")
102 (source
103 (origin
104 (method url-fetch)
105 (uri (string-append "mirror://kde/stable/" name "/"
106 name "-" version ".tar.xz"))
107 (sha256
108 (base32 "1ylrpb8znxcb4jg7hpcpdymj56pcrklnnscxdkilx0dvp45q0s5q"))))
109 (build-system qt-build-system)
110 (arguments
111 (list #:qtbase qtbase
112 #:tests? #f))
113 ;; As required by the QML modules.
114 (propagated-inputs
115 (list kirigami
116 qtdeclarative))
117 (native-inputs
118 (list extra-cmake-modules))
119 (inputs
120 (list kconfig
121 opencv))
122 (home-page "https://invent.kde.org/libraries/kquickimageeditor/")
123 (synopsis "QtQuick components for image editing")
124 (description "KQuickImageEditor is a set of QtQuick components providing
125image editing capabilities.")
126 (license license:lgpl2.1+)))
127
128(define-public ksanecore
129 (package
130 (name "ksanecore")
131 (version "26.04.1")
132 (source
133 (origin
134 (method url-fetch)
135 (uri (string-append "mirror://kde/stable/release-service/" version
136 "/src/ksanecore-" version ".tar.xz"))
137 (sha256
138 (base32 "1qh5j8aljskh7lznbx760ps8xkgj4m8jvkfph8kwvbiz46avibbj"))))
139 (build-system qt-build-system)
140 (arguments
141 (list #:qtbase qtbase
142 #:tests? #f))
143 (native-inputs
144 (list extra-cmake-modules))
145 (inputs
146 (list ki18n
147 sane))
148 (home-page "https://invent.kde.org/libraries/ksanecore")
149 (synopsis "Library providing logic to interface scanners")
150 (description
151 "KSaneCore is a library that provides a Qt interface for the SANE library
152for scanner hardware.")
153 (license license:lgpl3+)))
154
155(define-public colord-kde
156 (package
157 (name "colord-kde")
158 (version "26.04.1")
159 (source
160 (origin
161 (method url-fetch)
162 (uri (string-append "mirror://kde/stable/release-service/" version
163 "/src/colord-kde-" version ".tar.xz"))
164 (sha256
165 (base32 "0dvv2wcvpbbq1lz2msid1zdbjny8y43d9mirw76yx3nn3cd7ibym"))))
166 (build-system cmake-build-system)
167 (arguments
168 (list #:tests? #f)) ;no tests
169 (native-inputs
170 (list extra-cmake-modules pkg-config))
171 (inputs
172 (list kcmutils
173 kcoreaddons
174 kdbusaddons
175 ki18n
176 kitemmodels
177 kwidgetsaddons
178 kwindowsystem
179 lcms
180 libx11
181 libxcb
182 libxrandr
183 qtbase))
184 (home-page "https://invent.kde.org/graphics/colord-kde")
185 (synopsis "Colord interfaces and session daemon provider")
186 (description "This package provides interfaces and session daemon to
187@code{colord}.")
188 (license license:gpl2+)))
189
190(define-public digikam
191 (package
192 (name "digikam")
193 (version "9.0.0")
194 (source (origin
195 (method url-fetch)
196 (uri (string-append "mirror://kde/stable/digikam/"
197 version "/digiKam-" version ".tar.xz"))
198 (sha256
199 (base32 "1wwfs3phwknxxmv7bs657fcw78dlnzj5zr4hc34i03p09w1fm03n"))))
200 (build-system qt-build-system)
201 (home-page "https://www.digikam.org/download/git/")
202 (arguments (list
203 #:tests? #f
204 #:build-type "Release"
205 #:configure-flags #~(list "-DENABLE_MEDIAPLAYER=ON" ; for video playback
206 "-DENABLE_QWEBENGINE=ON" ; for web content
207 "-DENABLE_KFILEMETADATASUPPORT=ON"
208 "-DENABLE_AKONADICONTACTSUPPORT=ON"
209 "-DBUILD_WITH_QT6=ON"
210 "-DENABLE_APPSTYLES=ON")
211 #:qtbase qtbase
212 #:phases
213 #~(modify-phases %standard-phases
214 (add-after 'unpack 'copy-test-data
215 (lambda* (#:key inputs #:allow-other-keys)
216 (copy-recursively (assoc-ref inputs "digikam-test-data")
217 "test-data")))
218 (add-after 'install 'wrap-binary
219 (lambda* (#:key inputs outputs #:allow-other-keys)
220 (wrap-program (string-append (assoc-ref outputs "out")
221 "/bin/digikam")
222 `("PATH" ":" prefix
223 (,(dirname
224 (search-input-file inputs "/bin/exiftool"))))))))))
225 (native-search-paths
226 (list (search-path-specification
227 (variable "DK_PLUGIN_PATH")
228 (separator ";")
229 (files '("lib/qt6/plugins/digikam")))))
230 (inputs (list
231 akonadi-contacts
232 bash-minimal
233 boost
234 ecm
235 eigen
236 exiv2-static ; digikam only wants to statically link against exiv2
237 ffmpeg
238 glib
239 ijg-libjpeg
240 imagemagick
241 jasper
242 kcalendarcore
243 kconfig
244 kcoreaddons
245 kfilemetadata
246 ki18n
247 kiconthemes
248 kio
249 knotifications
250 knotifyconfig
251 kservice
252 kwindowsystem
253 kxmlgui
254 lcms
255 lensfun
256 libgphoto2
257 libheif
258 libjpeg-turbo
259 libjxl
260 libksane
261 libpng
262 libtiff
263 libxml2
264 libxslt
265 marble
266 mesa
267 opencv
268 perl-image-exiftool
269 python-wrapper
270 qtimageformats
271 qtmultimedia
272 qtnetworkauth
273 qtscxml
274 qtsvg
275 qtwayland
276 qtwebengine
277 ruby
278 sane-backends
279 solid
280 sonnet
281 threadweaver
282 x265))
283 (native-inputs (list
284 (origin
285 (method git-fetch)
286 (uri (git-reference
287 (url "https://invent.kde.org/graphics/digikam-test-data/")
288 (commit "83efefdfc7fffa35e5e260d3b5a4aec01ebbdb40")))
289 (file-name "digikam-test-data")
290 (sha256
291 (base32
292 "0mf7rzwhy5yyj47xh4vs0i841m8885yy9qganli04d8skikl0s6z")))
293 appstream
294 bison
295 doxygen
296 extra-cmake-modules
297 flex
298 graphviz ; for inheritance graphs in documentation
299 perl
300 pkg-config))
301 (synopsis "Photo management, organizing and editing suite")
302 (description "digiKam is an advanced open-source digital photo management
303application. It provides a comprehensive set of tools for importing,
304managing, editing, and sharing photos and RAW files.
305
306You can use digiKam's import capabilities to easily transfer photos, RAW
307files, and videos directly from your camera and external storage devices (SD
308cards, USB disks, etc.). The application allows you to configure import
309settings and rules that process and organize imported items on-the-fly.")
310 (license (list license:bsd-3 ; cmake scripts
311 license:cc0 ; test data
312 license:gpl2+)))) ; code
313
314(define-public gwenview
315 (package
316 (name "gwenview")
317 (version "26.04.1")
318 (source
319 (origin
320 (method url-fetch)
321 (uri (string-append "mirror://kde/stable/release-service/" version
322 "/src/gwenview-" version ".tar.xz"))
323 (sha256
324 (base32 "1g83191ylv8r8c5vy11vdp4fpxz1ywrv5x4d2glcdhqygkcxdj27"))))
325 (build-system qt-build-system)
326 (arguments
327 (list #:qtbase qtbase
328 #:test-exclude
329 (string-append "("
330 (string-join '("placetreemodeltest"
331 "historymodeltest"
332 "contextmanagertest"
333 "urlutilstest")
334 "|")
335 ")")))
336 (native-inputs
337 (list extra-cmake-modules
338 kdoctools
339 pkg-config))
340 (inputs
341 (list baloo
342 cfitsio
343 exiv2
344 plasma-activities
345 kcolorpicker
346 kcrash
347 kguiaddons
348 ki18n
349 kiconthemes
350 kimageannotator
351 kio
352 kitemmodels
353 knotifications
354 kparts
355 lcms
356 libjpeg-turbo
357 libkdcraw
358 libpng
359 libtiff
360 libxkbcommon
361 phonon
362 purpose
363 qtimageformats
364 qtmultimedia
365 qtsvg
366 qtwayland
367 wayland
368 wayland-protocols
369 zlib))
370 (home-page "https://userbase.kde.org/Gwenview")
371 (synopsis "Image viewer for KDE")
372 (description
373 "Gwenview is an image viewer for KDE. It also provides image editing and
374annotating features.")
375 (license license:gpl2+)))
376
377(define-public kcolorchooser
378 (package
379 (name "kcolorchooser")
380 (version "26.04.1")
381 (source
382 (origin
383 (method url-fetch)
384 (uri (string-append "mirror://kde/stable/release-service/" version
385 "/src/kcolorchooser-" version ".tar.xz"))
386 (sha256
387 (base32
388 "0kj8zgpm835cndkr6wysl67dyr82bdqppjhffdykf9a87figwp15"))))
389 (build-system qt-build-system)
390 (native-inputs
391 (list extra-cmake-modules))
392 (inputs
393 (list kcoreaddons
394 ki18n
395 kxmlgui
396 qtwayland))
397 (arguments
398 (list #:qtbase qtbase
399 #:tests? #f))
400 (home-page "https://apps.kde.org/de/kcolorchooser/")
401 (synopsis "Color selector utility")
402 (description "KColorChooser is a utility to select a color.")
403 (license license:expat)))
404
405(define-public kdegraphics-mobipocket
406 (package
407 (name "kdegraphics-mobipocket")
408 (version "26.04.1")
409 (source
410 (origin
411 (method url-fetch)
412 (uri (string-append "mirror://kde/stable/release-service/" version
413 "/src/" name "-" version ".tar.xz"))
414 (sha256
415 (base32 "1ggpkwa4s8zg0x5zdpakdck2d44am21n88lk72cg80j464vkhdfy"))))
416 (build-system cmake-build-system)
417 (arguments
418 (list #:tests? #f
419 #:configure-flags #~(list "-DQT_MAJOR_VERSION=6")))
420 (native-inputs
421 (list extra-cmake-modules))
422 (inputs
423 (list kio qtbase qt5compat))
424 (home-page "https://apps.kde.org/en/kdegraphics_mobipocket")
425 (synopsis "KDE thumbnailer for Mobipocket files")
426 (description "This package provides a KDE plugin that shows thumbnails of
427Mobipocket e-books in Dolphin and other KDE apps.")
428 (license license:gpl2+)))
429
430(define-public kdegraphics-thumbnailers
431 (package
432 (name "kdegraphics-thumbnailers")
433 (version "26.04.1")
434 (source
435 (origin
436 (method url-fetch)
437 (uri (string-append "mirror://kde/stable/release-service/" version
438 "/src/" name "-" version ".tar.xz"))
439 (sha256
440 (base32 "006257sl50vrvd91w5gkzjwf98s0k4c1dy08k689j2v0pp4ffkv8"))))
441 (build-system cmake-build-system)
442 (arguments
443 (list
444 #:tests? #f ;No tests.
445 #:configure-flags
446 #~'("-DQT_MAJOR_VERSION=6")
447 #:phases
448 #~(modify-phases %standard-phases
449 (add-after 'unpack 'fix-paths
450 (lambda* (#:key inputs #:allow-other-keys)
451 (substitute* "ps/gscreator.cpp"
452 (("\"gs\",")
453 (string-append "\""
454 (search-input-file inputs "bin/gs") "\","))
455 (("\"dvips\",")
456 (string-append "\""
457 (search-input-file inputs "bin/dvips") "\","))))))))
458 (native-inputs (list extra-cmake-modules))
459 (inputs (list ghostscript
460 karchive
461 kdegraphics-mobipocket
462 kio
463 libkdcraw
464 libkexiv2
465 qtbase
466 texlive-dvips-bin))
467 (home-page "https://apps.kde.org/kdegraphics_thumbnailers")
468 (synopsis "KDE thumbnailer for media files")
469 (description "These plugins allow KDE software to display thumbnails for
470PostScript, PDF, RAW, Mobipocket, and Blender files.")
471 (license license:gpl2)))
472
473(define-public kdiagram
474 (package
475 (name "kdiagram")
476 (version "3.0.1")
477 (source
478 (origin
479 (method url-fetch)
480 (uri (string-append "mirror://kde/stable/kdiagram/" version
481 "/kdiagram-" version ".tar.xz"))
482 (sha256
483 (base32 "0vcw339v6nl1haznp58spimanfhw143cindbym1q3ccxrp1b0na6"))
484 (patches (search-patches
485 "kdiagram-Fix-missing-link-libraries.patch"))))
486 (build-system qt-build-system)
487 (propagated-inputs
488 (list qtsvg)) ;required by KGantt6Config.cmake
489 (native-inputs
490 (list extra-cmake-modules qttools))
491 (arguments (list #:qtbase qtbase))
492 (home-page "https://invent.kde.org/graphics/kdiagram")
493 (synopsis "Libraries for creating business diagrams")
494 (description "This package provides libraries for integrating business
495diagrams in Qt-based applications.
496
497@code{KCharts} provides an implementation of the ODF Chart specification. It
498supports stock charts, box charts, and whisker charts. @code{KGantt} provides
499a module for implementing ODF Gantt charts, which are bar charts that
500illustrate project schedules.")
501 (license license:gpl2+)))
502
503(define-public kgraphviewer
504 (package
505 (name "kgraphviewer")
506 (version "2.5.0")
507 (source (origin
508 (method url-fetch)
509 (uri (string-append
510 "mirror://kde/stable/kgraphviewer/"
511 version "/" name "-" version ".tar.xz"))
512 (sha256
513 (base32
514 "0s9b3q7wvrbz52d500mcaflkrfjwhbzh5bsf5gxzgxjdzdiywaw7"))))
515 (build-system qt-build-system)
516 (inputs
517 (list boost
518 graphviz
519 ki18n
520 kiconthemes
521 kparts
522 qt5compat
523 qtsvg
524 qtwayland))
525 (native-inputs
526 (list pkg-config extra-cmake-modules kdoctools))
527 (arguments
528 (list #:qtbase qtbase
529 #:tests? #f))
530 (home-page "https://apps.kde.org/kgraphviewer/")
531 (synopsis "Graphviz dot graph viewer for KDE")
532 (description "KGraphViewer is a Graphviz DOT graph file viewer, aimed to
533replace the other outdated Graphviz tools.")
534 (license license:gpl2+)))
535
536(define-public kolourpaint
537 (package
538 (name "kolourpaint")
539 (version "26.04.1")
540 (source
541 (origin
542 (method url-fetch)
543 (uri (string-append "mirror://kde/stable/release-service/" version
544 "/src/kolourpaint-" version ".tar.xz"))
545 (sha256
546 (base32 "02b6szjb6l1yx4yvki9xp2zc1pr8iiml4s1c1b29hx5gnaad2992"))))
547 (build-system qt-build-system)
548 (native-inputs
549 (list extra-cmake-modules kdoctools))
550 (inputs
551 (list kcrash
552 kguiaddons
553 ki18n
554 kio
555 kjobwidgets
556 ktextwidgets
557 kwidgetsaddons
558 kxmlgui
559 libksane
560 qtwayland))
561 (arguments
562 (list #:qtbase qtbase
563 #:tests? #f))
564 (home-page "http://kolourpaint.org/")
565 (synopsis "Paint program for KDE")
566 (description "KolourPaint is a paint program for KDE. It is useful for
567painting, image manipulating and icon editing.")
568 (license (list license:lgpl2.0+ license:bsd-2))))
569
570(define-public krita
571 (package
572 (name "krita")
573 (version "5.2.16")
574 (source
575 (origin
576 (method url-fetch)
577 (uri (string-append
578 "mirror://kde/stable/krita/" version "/krita-" version
579 ".tar.gz"))
580 (sha256
581 (base32 "1d9wl7hzwip2zzgcff2gfmj6rg534dmidnqphfswjvgq46j80a1w"))
582 (patches (search-patches "krita-bump-sip-abi-version-to-12.8.patch"))))
583 (build-system qt-build-system)
584 (arguments
585 `(#:tests? #f
586 #:configure-flags (list "-DCMAKE_CXX_FLAGS=-fPIC")
587 #:phases (modify-phases %standard-phases
588 (add-after 'install 'wrap-bin
589 (lambda* (#:key outputs #:allow-other-keys)
590 (let* ((out (assoc-ref outputs "out"))
591 (python-path (getenv "GUIX_PYTHONPATH")))
592 (wrap-program (string-append out "/bin/krita")
593 `("GUIX_PYTHONPATH" ":" prefix (,python-path)))))))))
594 (native-inputs
595 (list curl
596 eigen
597 extra-cmake-modules
598 gettext-minimal
599 kitemmodels
600 pkg-config
601 qwt))
602 (inputs
603 (list bash-minimal
604 boost-1.83
605 exiv2
606 fontconfig
607 fftw-cmake
608 ;; fftw
609 ;; We use fftw-cmake since fftwm doesn't provide the required
610 ;; CMake files when build with gnu.
611 ;; See: https://bugzilla.redhat.com/show_bug.cgi?id=1729652#c5
612 freetype
613 fribidi
614 giflib
615 gsl
616 harfbuzz
617 imath
618 immer
619 karchive-5
620 kcompletion-5
621 kconfig-5
622 kcoreaddons-5
623 kcrash-5
624 kguiaddons-5
625 ki18n-5
626 kiconthemes-5
627 kio-5
628 kitemviews-5
629 kseexpr
630 kwidgetsaddons-5
631 kwindowsystem-5
632 kxmlgui-5
633 lager
634 lcms
635 libheif
636 libjpeg-turbo
637 libjxl
638 libkdcraw-qt5
639 libmypaint
640 libpng
641 ;; libraqm
642 ;; We use the provided 3rd_party_vendor library instead of
643 ;; libraqm 0.10.1 with patches until libraqm is patched.
644 ;; See: https://github.com/HOST-Oman/libraqm/issues/191
645 libraw
646 libtiff
647 libunibreak
648 libwebp
649 libx11
650 libxcb
651 libxi
652 mlt
653 opencolorio
654 openexr
655 openjpeg
656 perl
657 poppler-qt5
658 python-pyqt
659 python-pyqt5-sip
660 qtbase-5
661 qtdeclarative-5
662 qtmultimedia-5
663 qtsvg-5
664 qtwayland-5
665 qtx11extras
666 quazip-5
667 sdl2
668 xsimd
669 zlib
670 zug))
671 (home-page "https://krita.org")
672 (synopsis "Digital painting application")
673 (description
674 "Krita is a professional painting tool designed for concept artists,
675illustrators, matte and texture artists, and the VFX industry. Notable
676features include brush stabilizers, brush engines and wrap-around mode.")
677 (license license:gpl2+)))
678
679(define-public kseexpr
680 (package
681 (name "kseexpr")
682 (version "4.0.4.0")
683 (source
684 (origin
685 (method git-fetch)
686 (uri (git-reference
687 (url "https://invent.kde.org/graphics/kseexpr")
688 (commit (string-append "v" version))))
689 (file-name (git-file-name name version))
690 (sha256
691 (base32 "888q3kkv2wq426w000iq14wy3a45rrnn0bmsdks6caz4vq04ccay"))))
692 (build-system qt-build-system)
693 (arguments
694 `(#:tests? #f
695 #:configure-flags (list "-DBUILD_TESTS=ON"))) ; disabled by default
696 (native-inputs
697 (list bison doxygen extra-cmake-modules flex googletest))
698 (inputs
699 (list ki18n libpng qtbase-5))
700 (home-page "https://invent.kde.org/graphics/kseexpr")
701 (synopsis "Embeddable expression evaluation engine")
702 (description "This package contains the fork of Disney Animation's SeExpr
703expression library, that is used in Krita.")
704 (license license:gpl3+)))
705
706(define-public libkdcraw
707 (package
708 (name "libkdcraw")
709 (version "26.04.1")
710 (source
711 (origin
712 (method url-fetch)
713 (uri (string-append "mirror://kde/stable/release-service/" version
714 "/src/" name "-" version ".tar.xz"))
715 (sha256
716 (base32 "1vwspn83v5czkmqj5dns8x39ab20c82mlxs7dll1wk7qi1s8p2fw"))))
717 (build-system cmake-build-system)
718 (native-inputs
719 (list pkg-config extra-cmake-modules))
720 (inputs
721 (list libraw qtbase))
722 (arguments (list #:tests? #f
723 #:configure-flags
724 #~(list #$(string-append
725 "-DQT_MAJOR_VERSION="
726 (version-major
727 (package-version
728 (this-package-input "qtbase")))))))
729 (home-page "https://invent.kde.org/graphics/libkdcraw")
730 (synopsis "C++ interface used to decode RAW picture files")
731 (description "Libkdcraw is a C++ interface around LibRaw library used to
732decode RAW picture files.")
733 (license (list license:gpl2+ license:bsd-3))))
734
735(define-public libkdcraw-qt5
736 (package
737 (inherit libkdcraw)
738 (name "libkdcraw-qt5")
739 (version "25.12.3") ;; The last version with Qt5 support
740 (source
741 (origin
742 (method url-fetch)
743 (uri (string-append "mirror://kde/stable/release-service/" version
744 "/src/" (package-name libkdcraw) "-" version ".tar.xz"))
745 (sha256
746 (base32 "1bwr8j7ph3cfgy3kmrwkcrdq72ck95lq3qgqnrc1i8ms9gqj1ci3"))))
747 (inputs (modify-inputs inputs
748 (replace "qtbase" qtbase-5)))))
749
750(define-public libksane
751 (package
752 (name "libksane")
753 (version "26.04.1")
754 (source
755 (origin
756 (method url-fetch)
757 (uri (string-append "mirror://kde/stable/release-service/" version
758 "/src/libksane-" version ".tar.xz"))
759 (sha256
760 (base32 "07gf3zgs0vkiir9csbravmabf62m4d26481vmfpp4n7kg1gk6y4d"))))
761 (build-system qt-build-system)
762 (arguments
763 (list #:qtbase qtbase
764 #:tests? #f))
765 (native-inputs
766 (list extra-cmake-modules))
767 (inputs
768 (list ki18n
769 ksanecore
770 ktextwidgets
771 kwallet
772 kwidgetsaddons))
773 (home-page "https://invent.kde.org/graphics/libksane")
774 (synopsis "Library providing QWidget with logic to interface scanners")
775 (description
776 "Libksane is a Qt-based interface for SANE library to control flat
777scanners.")
778 (license license:lgpl3+)))
779
780(define-public libkexiv2
781 (package
782 (name "libkexiv2")
783 (version "26.04.1")
784 (source
785 (origin
786 (method url-fetch)
787 (uri (string-append "mirror://kde/stable/release-service/" version
788 "/src/" name "-" version ".tar.xz"))
789 (sha256
790 (base32 "1rckkjqrh77wipmijhmzaz2d0qrnhcm6l6vjl1cx0qsbvc8cf9vq"))))
791 (build-system cmake-build-system)
792 (arguments
793 (list
794 #:tests? #f
795 #:configure-flags #~(list "-DQT_MAJOR_VERSION=6")))
796 (native-inputs
797 (list extra-cmake-modules))
798 (inputs
799 (list exiv2 qtbase))
800 (home-page "https://invent.kde.org/graphics/libkexiv2")
801 (synopsis "Manipulate the metadata of images")
802 (description "Libkexiv2 wraps the Exiv2 library, allowing to manipulate
803picture metadata as EXIF/IPTC and XMP.")
804 (license license:gpl2+)))
805
806(define-public okular
807 (package
808 (name "okular")
809 (version "26.04.1")
810 (source
811 (origin
812 (method url-fetch)
813 (uri (string-append "mirror://kde/stable/release-service/" version
814 "/src/" name "-" version ".tar.xz"))
815 (sha256
816 (base32 "19mvqvzxqsh4i50dlbnf09mfqnypxnks141ij5d46qpyx7cs11rx"))))
817 (build-system qt-build-system)
818 (arguments
819 (list
820 #:qtbase qtbase
821 #:test-exclude
822 (string-append "("
823 (string-join '("annotationtoolbartest"
824 "mainshelltest"
825 "parttest"
826 "chmgeneratortest")
827 "|")
828 ")")
829 #:phases
830 #~(modify-phases %standard-phases
831 (delete 'check)
832 ;; use installed data to check.
833 (add-after 'install 'check
834 (lambda* (#:key tests? (test-exclude "") #:allow-other-keys)
835 (when tests?
836 (invoke "ctest"
837 "--output-on-failure"
838 "--rerun-failed"
839 "-E"
840 test-exclude))))
841 (add-before 'check 'check-setup
842 (lambda* (#:key outputs #:allow-other-keys)
843 (let ((share (string-append (assoc-ref outputs "out") "/share")))
844 (setenv "QT_QPA_PLATFORM" "offscreen")
845 (setenv "HOME" ".")
846 (setenv "XDG_DATA_DIRS"
847 (string-append
848 share ":" (getenv "XDG_DATA_DIRS")))
849 (invoke "update-desktop-database" "-v" share)))))))
850 ;; As required by Okular6Config.cmake.
851 (propagated-inputs
852 (list kconfig kcoreaddons kxmlgui))
853 (native-inputs
854 (list extra-cmake-modules kdoctools pkg-config
855 ;; for test
856 desktop-file-utils
857 python-wrapper))
858 (inputs
859 (list ebook-tools
860 breeze-icons
861 discount
862 djvulibre
863 plasma-activities
864 chmlib
865 kdegraphics-mobipocket
866 karchive
867 kbookmarks
868 kcompletion
869 libjpeg-turbo
870 libtiff
871 kirigami
872 purpose
873 freetype
874 ki18n
875 kiconthemes
876 kio
877 kparts
878 kpty
879 ktextwidgets
880 qtspeech
881 kwallet
882 kwindowsystem
883 libkexiv2
884 libspectre
885 libzip
886 libxkbcommon
887 phonon
888 poppler-qt6
889 qca
890 qtdeclarative
891 qtsvg
892 qtwayland
893 threadweaver
894 kcrash))
895 (home-page "https://apps.kde.org/okular/")
896 (synopsis "Document viewer")
897 (description
898 "Okular is a document viewer developed for KDE. It can display files in
899a variety of formats, including PDF, PostScript, DejaVu, and EPub.")
900 (license license:gpl2+)))