projects/guix·blob javascript-team · refs

899 lines · 29.8 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.1.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 "1qbjbdi3fb22gqnc939k815h8z4d9xp17i1srd9phy54x68r2c57"))))
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 #:allow-other-keys)
220 (wrap-program (string-append #$output "/bin/digikam")
221 `("PATH" ":" prefix
222 (,(dirname
223 (search-input-file inputs "/bin/exiftool"))))))))))
224 (native-search-paths
225 (list (search-path-specification
226 (variable "DK_PLUGIN_PATH")
227 (separator ";")
228 (files '("lib/qt6/plugins/digikam")))))
229 (inputs (list
230 akonadi-contacts
231 bash-minimal
232 boost
233 ecm
234 eigen
235 exiv2-static ; digikam only wants to statically link against exiv2
236 ffmpeg
237 glib
238 ijg-libjpeg
239 imagemagick
240 jasper
241 kcalendarcore
242 kconfig
243 kcoreaddons
244 kfilemetadata
245 ki18n
246 kiconthemes
247 kio
248 knotifications
249 knotifyconfig
250 kservice
251 kwindowsystem
252 kxmlgui
253 lcms
254 lensfun
255 libgphoto2
256 libheif
257 libjpeg-turbo
258 libjxl
259 libksane
260 libpng
261 libtiff
262 libxml2
263 libxslt
264 marble
265 mesa
266 opencv
267 perl-image-exiftool
268 python-wrapper
269 qtimageformats
270 qtmultimedia
271 qtnetworkauth
272 qtscxml
273 qtsvg
274 qtwayland
275 qtwebengine
276 ruby
277 sane-backends
278 solid
279 sonnet
280 threadweaver
281 x265))
282 (native-inputs (list
283 (origin
284 (method git-fetch)
285 (uri (git-reference
286 (url "https://invent.kde.org/graphics/digikam-test-data/")
287 (commit "83efefdfc7fffa35e5e260d3b5a4aec01ebbdb40")))
288 (file-name "digikam-test-data")
289 (sha256
290 (base32
291 "0mf7rzwhy5yyj47xh4vs0i841m8885yy9qganli04d8skikl0s6z")))
292 appstream
293 bison
294 doxygen
295 extra-cmake-modules
296 flex
297 graphviz ; for inheritance graphs in documentation
298 perl
299 pkg-config))
300 (synopsis "Photo management, organizing and editing suite")
301 (description "digiKam is an advanced open-source digital photo management
302application. It provides a comprehensive set of tools for importing,
303managing, editing, and sharing photos and RAW files.
304
305You can use digiKam's import capabilities to easily transfer photos, RAW
306files, and videos directly from your camera and external storage devices (SD
307cards, USB disks, etc.). The application allows you to configure import
308settings and rules that process and organize imported items on-the-fly.")
309 (license (list license:bsd-3 ; cmake scripts
310 license:cc0 ; test data
311 license:gpl2+)))) ; code
312
313(define-public gwenview
314 (package
315 (name "gwenview")
316 (version "26.04.1")
317 (source
318 (origin
319 (method url-fetch)
320 (uri (string-append "mirror://kde/stable/release-service/" version
321 "/src/gwenview-" version ".tar.xz"))
322 (sha256
323 (base32 "1g83191ylv8r8c5vy11vdp4fpxz1ywrv5x4d2glcdhqygkcxdj27"))))
324 (build-system qt-build-system)
325 (arguments
326 (list #:qtbase qtbase
327 #:test-exclude
328 (string-append "("
329 (string-join '("placetreemodeltest"
330 "historymodeltest"
331 "contextmanagertest"
332 "urlutilstest")
333 "|")
334 ")")))
335 (native-inputs
336 (list extra-cmake-modules
337 kdoctools
338 pkg-config))
339 (inputs
340 (list baloo
341 cfitsio
342 exiv2
343 plasma-activities
344 kcolorpicker
345 kcrash
346 kguiaddons
347 ki18n
348 kiconthemes
349 kimageannotator
350 kio
351 kitemmodels
352 knotifications
353 kparts
354 lcms
355 libjpeg-turbo
356 libkdcraw
357 libpng
358 libtiff
359 libxkbcommon
360 phonon
361 purpose
362 qtimageformats
363 qtmultimedia
364 qtsvg
365 qtwayland
366 wayland
367 wayland-protocols
368 zlib))
369 (home-page "https://userbase.kde.org/Gwenview")
370 (synopsis "Image viewer for KDE")
371 (description
372 "Gwenview is an image viewer for KDE. It also provides image editing and
373annotating features.")
374 (license license:gpl2+)))
375
376(define-public kcolorchooser
377 (package
378 (name "kcolorchooser")
379 (version "26.04.1")
380 (source
381 (origin
382 (method url-fetch)
383 (uri (string-append "mirror://kde/stable/release-service/" version
384 "/src/kcolorchooser-" version ".tar.xz"))
385 (sha256
386 (base32
387 "0kj8zgpm835cndkr6wysl67dyr82bdqppjhffdykf9a87figwp15"))))
388 (build-system qt-build-system)
389 (native-inputs
390 (list extra-cmake-modules))
391 (inputs
392 (list kcoreaddons
393 ki18n
394 kxmlgui
395 qtwayland))
396 (arguments
397 (list #:qtbase qtbase
398 #:tests? #f))
399 (home-page "https://apps.kde.org/de/kcolorchooser/")
400 (synopsis "Color selector utility")
401 (description "KColorChooser is a utility to select a color.")
402 (license license:expat)))
403
404(define-public kdegraphics-mobipocket
405 (package
406 (name "kdegraphics-mobipocket")
407 (version "26.04.1")
408 (source
409 (origin
410 (method url-fetch)
411 (uri (string-append "mirror://kde/stable/release-service/" version
412 "/src/" name "-" version ".tar.xz"))
413 (sha256
414 (base32 "1ggpkwa4s8zg0x5zdpakdck2d44am21n88lk72cg80j464vkhdfy"))))
415 (build-system cmake-build-system)
416 (arguments
417 (list #:tests? #f
418 #:configure-flags #~(list "-DQT_MAJOR_VERSION=6")))
419 (native-inputs
420 (list extra-cmake-modules))
421 (inputs
422 (list kio qtbase qt5compat))
423 (home-page "https://apps.kde.org/en/kdegraphics_mobipocket")
424 (synopsis "KDE thumbnailer for Mobipocket files")
425 (description "This package provides a KDE plugin that shows thumbnails of
426Mobipocket e-books in Dolphin and other KDE apps.")
427 (license license:gpl2+)))
428
429(define-public kdegraphics-thumbnailers
430 (package
431 (name "kdegraphics-thumbnailers")
432 (version "26.04.1")
433 (source
434 (origin
435 (method url-fetch)
436 (uri (string-append "mirror://kde/stable/release-service/" version
437 "/src/" name "-" version ".tar.xz"))
438 (sha256
439 (base32 "006257sl50vrvd91w5gkzjwf98s0k4c1dy08k689j2v0pp4ffkv8"))))
440 (build-system cmake-build-system)
441 (arguments
442 (list
443 #:tests? #f ;No tests.
444 #:configure-flags
445 #~'("-DQT_MAJOR_VERSION=6")
446 #:phases
447 #~(modify-phases %standard-phases
448 (add-after 'unpack 'fix-paths
449 (lambda* (#:key inputs #:allow-other-keys)
450 (substitute* "ps/gscreator.cpp"
451 (("\"gs\",")
452 (string-append "\""
453 (search-input-file inputs "bin/gs") "\","))
454 (("\"dvips\",")
455 (string-append "\""
456 (search-input-file inputs "bin/dvips") "\","))))))))
457 (native-inputs (list extra-cmake-modules))
458 (inputs (list ghostscript
459 karchive
460 kdegraphics-mobipocket
461 kio
462 libkdcraw
463 libkexiv2
464 qtbase
465 texlive-dvips-bin))
466 (home-page "https://apps.kde.org/kdegraphics_thumbnailers")
467 (synopsis "KDE thumbnailer for media files")
468 (description "These plugins allow KDE software to display thumbnails for
469PostScript, PDF, RAW, Mobipocket, and Blender files.")
470 (license license:gpl2)))
471
472(define-public kdiagram
473 (package
474 (name "kdiagram")
475 (version "3.0.1")
476 (source
477 (origin
478 (method url-fetch)
479 (uri (string-append "mirror://kde/stable/kdiagram/" version
480 "/kdiagram-" version ".tar.xz"))
481 (sha256
482 (base32 "0vcw339v6nl1haznp58spimanfhw143cindbym1q3ccxrp1b0na6"))
483 (patches (search-patches
484 "kdiagram-Fix-missing-link-libraries.patch"))))
485 (build-system qt-build-system)
486 (propagated-inputs
487 (list qtsvg)) ;required by KGantt6Config.cmake
488 (native-inputs
489 (list extra-cmake-modules qttools))
490 (arguments (list #:qtbase qtbase))
491 (home-page "https://invent.kde.org/graphics/kdiagram")
492 (synopsis "Libraries for creating business diagrams")
493 (description "This package provides libraries for integrating business
494diagrams in Qt-based applications.
495
496@code{KCharts} provides an implementation of the ODF Chart specification. It
497supports stock charts, box charts, and whisker charts. @code{KGantt} provides
498a module for implementing ODF Gantt charts, which are bar charts that
499illustrate project schedules.")
500 (license license:gpl2+)))
501
502(define-public kgraphviewer
503 (package
504 (name "kgraphviewer")
505 (version "2.5.0")
506 (source (origin
507 (method url-fetch)
508 (uri (string-append
509 "mirror://kde/stable/kgraphviewer/"
510 version "/" name "-" version ".tar.xz"))
511 (sha256
512 (base32
513 "0s9b3q7wvrbz52d500mcaflkrfjwhbzh5bsf5gxzgxjdzdiywaw7"))))
514 (build-system qt-build-system)
515 (inputs
516 (list boost
517 graphviz
518 ki18n
519 kiconthemes
520 kparts
521 qt5compat
522 qtsvg
523 qtwayland))
524 (native-inputs
525 (list pkg-config extra-cmake-modules kdoctools))
526 (arguments
527 (list #:qtbase qtbase
528 #:tests? #f))
529 (home-page "https://apps.kde.org/kgraphviewer/")
530 (synopsis "Graphviz dot graph viewer for KDE")
531 (description "KGraphViewer is a Graphviz DOT graph file viewer, aimed to
532replace the other outdated Graphviz tools.")
533 (license license:gpl2+)))
534
535(define-public kolourpaint
536 (package
537 (name "kolourpaint")
538 (version "26.04.1")
539 (source
540 (origin
541 (method url-fetch)
542 (uri (string-append "mirror://kde/stable/release-service/" version
543 "/src/kolourpaint-" version ".tar.xz"))
544 (sha256
545 (base32 "02b6szjb6l1yx4yvki9xp2zc1pr8iiml4s1c1b29hx5gnaad2992"))))
546 (build-system qt-build-system)
547 (native-inputs
548 (list extra-cmake-modules kdoctools))
549 (inputs
550 (list kcrash
551 kguiaddons
552 ki18n
553 kio
554 kjobwidgets
555 ktextwidgets
556 kwidgetsaddons
557 kxmlgui
558 libksane
559 qtwayland))
560 (arguments
561 (list #:qtbase qtbase
562 #:tests? #f))
563 (home-page "http://kolourpaint.org/")
564 (synopsis "Paint program for KDE")
565 (description "KolourPaint is a paint program for KDE. It is useful for
566painting, image manipulating and icon editing.")
567 (license (list license:lgpl2.0+ license:bsd-2))))
568
569(define-public krita
570 (package
571 (name "krita")
572 (version "5.2.16")
573 (source
574 (origin
575 (method url-fetch)
576 (uri (string-append
577 "mirror://kde/stable/krita/" version "/krita-" version
578 ".tar.gz"))
579 (sha256
580 (base32 "1d9wl7hzwip2zzgcff2gfmj6rg534dmidnqphfswjvgq46j80a1w"))
581 (patches (search-patches "krita-bump-sip-abi-version-to-12.8.patch"))))
582 (build-system qt-build-system)
583 (arguments
584 `(#:tests? #f
585 #:configure-flags (list "-DCMAKE_CXX_FLAGS=-fPIC")
586 #:phases (modify-phases %standard-phases
587 (add-after 'install 'wrap-bin
588 (lambda* (#:key outputs #:allow-other-keys)
589 (let* ((out (assoc-ref outputs "out"))
590 (python-path (getenv "GUIX_PYTHONPATH")))
591 (wrap-program (string-append out "/bin/krita")
592 `("GUIX_PYTHONPATH" ":" prefix (,python-path)))))))))
593 (native-inputs
594 (list curl
595 eigen
596 extra-cmake-modules
597 gettext-minimal
598 kitemmodels
599 pkg-config
600 qwt))
601 (inputs
602 (list bash-minimal
603 boost-1.83
604 exiv2
605 fontconfig
606 fftw-cmake
607 ;; fftw
608 ;; We use fftw-cmake since fftwm doesn't provide the required
609 ;; CMake files when build with gnu.
610 ;; See: https://bugzilla.redhat.com/show_bug.cgi?id=1729652#c5
611 freetype
612 fribidi
613 giflib
614 gsl
615 harfbuzz
616 imath
617 immer
618 karchive-5
619 kcompletion-5
620 kconfig-5
621 kcoreaddons-5
622 kcrash-5
623 kguiaddons-5
624 ki18n-5
625 kiconthemes-5
626 kio-5
627 kitemviews-5
628 kseexpr
629 kwidgetsaddons-5
630 kwindowsystem-5
631 kxmlgui-5
632 lager
633 lcms
634 libheif
635 libjpeg-turbo
636 libjxl
637 libkdcraw-qt5
638 libmypaint
639 libpng
640 ;; libraqm
641 ;; We use the provided 3rd_party_vendor library instead of
642 ;; libraqm 0.10.1 with patches until libraqm is patched.
643 ;; See: https://github.com/HOST-Oman/libraqm/issues/191
644 libraw
645 libtiff
646 libunibreak
647 libwebp
648 libx11
649 libxcb
650 libxi
651 mlt
652 opencolorio
653 openexr
654 openjpeg
655 perl
656 poppler-qt5
657 python-pyqt
658 python-pyqt5-sip
659 qtbase-5
660 qtdeclarative-5
661 qtmultimedia-5
662 qtsvg-5
663 qtwayland-5
664 qtx11extras
665 quazip-5
666 sdl2
667 xsimd
668 zlib
669 zug))
670 (home-page "https://krita.org")
671 (synopsis "Digital painting application")
672 (description
673 "Krita is a professional painting tool designed for concept artists,
674illustrators, matte and texture artists, and the VFX industry. Notable
675features include brush stabilizers, brush engines and wrap-around mode.")
676 (license license:gpl2+)))
677
678(define-public kseexpr
679 (package
680 (name "kseexpr")
681 (version "4.0.4.0")
682 (source
683 (origin
684 (method git-fetch)
685 (uri (git-reference
686 (url "https://invent.kde.org/graphics/kseexpr")
687 (commit (string-append "v" version))))
688 (file-name (git-file-name name version))
689 (sha256
690 (base32 "888q3kkv2wq426w000iq14wy3a45rrnn0bmsdks6caz4vq04ccay"))))
691 (build-system qt-build-system)
692 (arguments
693 `(#:tests? #f
694 #:configure-flags (list "-DBUILD_TESTS=ON"))) ; disabled by default
695 (native-inputs
696 (list bison doxygen extra-cmake-modules flex googletest))
697 (inputs
698 (list ki18n libpng qtbase-5))
699 (home-page "https://invent.kde.org/graphics/kseexpr")
700 (synopsis "Embeddable expression evaluation engine")
701 (description "This package contains the fork of Disney Animation's SeExpr
702expression library, that is used in Krita.")
703 (license license:gpl3+)))
704
705(define-public libkdcraw
706 (package
707 (name "libkdcraw")
708 (version "26.04.1")
709 (source
710 (origin
711 (method url-fetch)
712 (uri (string-append "mirror://kde/stable/release-service/" version
713 "/src/" name "-" version ".tar.xz"))
714 (sha256
715 (base32 "1vwspn83v5czkmqj5dns8x39ab20c82mlxs7dll1wk7qi1s8p2fw"))))
716 (build-system cmake-build-system)
717 (native-inputs
718 (list pkg-config extra-cmake-modules))
719 (inputs
720 (list libraw qtbase))
721 (arguments (list #:tests? #f
722 #:configure-flags
723 #~(list #$(string-append
724 "-DQT_MAJOR_VERSION="
725 (version-major
726 (package-version
727 (this-package-input "qtbase")))))))
728 (home-page "https://invent.kde.org/graphics/libkdcraw")
729 (synopsis "C++ interface used to decode RAW picture files")
730 (description "Libkdcraw is a C++ interface around LibRaw library used to
731decode RAW picture files.")
732 (license (list license:gpl2+ license:bsd-3))))
733
734(define-public libkdcraw-qt5
735 (package
736 (inherit libkdcraw)
737 (name "libkdcraw-qt5")
738 (version "25.12.3") ;; The last version with Qt5 support
739 (source
740 (origin
741 (method url-fetch)
742 (uri (string-append "mirror://kde/stable/release-service/" version
743 "/src/" (package-name libkdcraw) "-" version ".tar.xz"))
744 (sha256
745 (base32 "1bwr8j7ph3cfgy3kmrwkcrdq72ck95lq3qgqnrc1i8ms9gqj1ci3"))))
746 (inputs (modify-inputs inputs
747 (replace "qtbase" qtbase-5)))))
748
749(define-public libksane
750 (package
751 (name "libksane")
752 (version "26.04.1")
753 (source
754 (origin
755 (method url-fetch)
756 (uri (string-append "mirror://kde/stable/release-service/" version
757 "/src/libksane-" version ".tar.xz"))
758 (sha256
759 (base32 "07gf3zgs0vkiir9csbravmabf62m4d26481vmfpp4n7kg1gk6y4d"))))
760 (build-system qt-build-system)
761 (arguments
762 (list #:qtbase qtbase
763 #:tests? #f))
764 (native-inputs
765 (list extra-cmake-modules))
766 (inputs
767 (list ki18n
768 ksanecore
769 ktextwidgets
770 kwallet
771 kwidgetsaddons))
772 (home-page "https://invent.kde.org/graphics/libksane")
773 (synopsis "Library providing QWidget with logic to interface scanners")
774 (description
775 "Libksane is a Qt-based interface for SANE library to control flat
776scanners.")
777 (license license:lgpl3+)))
778
779(define-public libkexiv2
780 (package
781 (name "libkexiv2")
782 (version "26.04.1")
783 (source
784 (origin
785 (method url-fetch)
786 (uri (string-append "mirror://kde/stable/release-service/" version
787 "/src/" name "-" version ".tar.xz"))
788 (sha256
789 (base32 "1rckkjqrh77wipmijhmzaz2d0qrnhcm6l6vjl1cx0qsbvc8cf9vq"))))
790 (build-system cmake-build-system)
791 (arguments
792 (list
793 #:tests? #f
794 #:configure-flags #~(list "-DQT_MAJOR_VERSION=6")))
795 (native-inputs
796 (list extra-cmake-modules))
797 (inputs
798 (list exiv2 qtbase))
799 (home-page "https://invent.kde.org/graphics/libkexiv2")
800 (synopsis "Manipulate the metadata of images")
801 (description "Libkexiv2 wraps the Exiv2 library, allowing to manipulate
802picture metadata as EXIF/IPTC and XMP.")
803 (license license:gpl2+)))
804
805(define-public okular
806 (package
807 (name "okular")
808 (version "26.04.1")
809 (source
810 (origin
811 (method url-fetch)
812 (uri (string-append "mirror://kde/stable/release-service/" version
813 "/src/" name "-" version ".tar.xz"))
814 (sha256
815 (base32 "19mvqvzxqsh4i50dlbnf09mfqnypxnks141ij5d46qpyx7cs11rx"))))
816 (build-system qt-build-system)
817 (arguments
818 (list
819 #:qtbase qtbase
820 #:test-exclude
821 (string-append "("
822 (string-join '("annotationtoolbartest"
823 "mainshelltest"
824 "parttest"
825 "chmgeneratortest")
826 "|")
827 ")")
828 #:phases
829 #~(modify-phases %standard-phases
830 (delete 'check)
831 ;; use installed data to check.
832 (add-after 'install 'check
833 (lambda* (#:key tests? (test-exclude "") #:allow-other-keys)
834 (when tests?
835 (invoke "ctest"
836 "--output-on-failure"
837 "--rerun-failed"
838 "-E"
839 test-exclude))))
840 (add-before 'check 'check-setup
841 (lambda* (#:key outputs #:allow-other-keys)
842 (let ((share (string-append (assoc-ref outputs "out") "/share")))
843 (setenv "QT_QPA_PLATFORM" "offscreen")
844 (setenv "HOME" ".")
845 (setenv "XDG_DATA_DIRS"
846 (string-append
847 share ":" (getenv "XDG_DATA_DIRS")))
848 (invoke "update-desktop-database" "-v" share)))))))
849 ;; As required by Okular6Config.cmake.
850 (propagated-inputs
851 (list kconfig kcoreaddons kxmlgui))
852 (native-inputs
853 (list extra-cmake-modules kdoctools pkg-config
854 ;; for test
855 desktop-file-utils
856 python-wrapper))
857 (inputs
858 (list ebook-tools
859 breeze-icons
860 discount
861 djvulibre
862 plasma-activities
863 chmlib
864 kdegraphics-mobipocket
865 karchive
866 kbookmarks
867 kcompletion
868 libjpeg-turbo
869 libtiff
870 kirigami
871 purpose
872 freetype
873 ki18n
874 kiconthemes
875 kio
876 kparts
877 kpty
878 ktextwidgets
879 qtspeech
880 kwallet
881 kwindowsystem
882 libkexiv2
883 libspectre
884 libzip
885 libxkbcommon
886 phonon
887 poppler-qt6
888 qca
889 qtdeclarative
890 qtsvg
891 qtwayland
892 threadweaver
893 kcrash))
894 (home-page "https://apps.kde.org/okular/")
895 (synopsis "Document viewer")
896 (description
897 "Okular is a document viewer developed for KDE. It can display files in
898a variety of formats, including PDF, PostScript, DejaVu, and EPub.")
899 (license license:gpl2+)))