gnu: Add kleopatra.
[jackhill/guix/guix.git] / gnu / packages / kde-pim.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2017, 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
3 ;;;
4 ;;; This file is part of GNU Guix.
5 ;;;
6 ;;; GNU Guix is free software; you can redistribute it and/or modify it
7 ;;; under the terms of the GNU General Public License as published by
8 ;;; the Free Software Foundation; either version 3 of the License, or (at
9 ;;; your option) any later version.
10 ;;;
11 ;;; GNU Guix is distributed in the hope that it will be useful, but
12 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 ;;; GNU General Public License for more details.
15 ;;;
16 ;;; You should have received a copy of the GNU General Public License
17 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19 (define-module (gnu packages kde-pim)
20 #:use-module (guix build-system qt)
21 #:use-module (guix download)
22 #:use-module ((guix licenses) #:prefix license:)
23 #:use-module (guix packages)
24 #:use-module (guix utils)
25 #:use-module (gnu packages)
26 #:use-module (gnu packages boost)
27 #:use-module (gnu packages cyrus-sasl)
28 #:use-module (gnu packages databases)
29 #:use-module (gnu packages documentation)
30 #:use-module (gnu packages glib)
31 #:use-module (gnu packages gnome)
32 #:use-module (gnu packages gnupg)
33 #:use-module (gnu packages kde-frameworks)
34 #:use-module (gnu packages openldap)
35 #:use-module (gnu packages qt)
36 #:use-module (gnu packages search)
37 #:use-module (gnu packages sqlite)
38 #:use-module (gnu packages xml))
39
40 (define-public akonadi
41 (package
42 (name "akonadi")
43 (version "19.08.3")
44 (source
45 (origin
46 (method url-fetch)
47 (uri (string-append "mirror://kde/stable/applications/" version
48 "/src/akonadi-" version ".tar.xz"))
49 (sha256
50 (base32 "0v7f1049wjnqxhwxr1443wc2cfbdqmf15xcwjz3j1m0vgdva9pyg"))
51 (patches (search-patches
52 "akonadi-paths.patch"
53 "akonadi-timestamps.patch"
54 "akonadi-Revert-Make-installation-properly-relocatabl.patch"))))
55 (build-system qt-build-system)
56 (native-inputs
57 `(("extra-cmake-modules" ,extra-cmake-modules)
58 ("qttools" ,qttools)
59 ("shared-mime-info" ,shared-mime-info)))
60 (inputs
61 `(("boost" ,boost)
62 ("kconfig" ,kconfig)
63 ("kconfigwidgets" ,kconfigwidgets)
64 ("kcoreaddons" ,kcoreaddons)
65 ("kcrash" ,kcrash)
66 ("kdbusaddons" ,kdbusaddons)
67 ("kdesignerplugin" ,kdesignerplugin)
68 ("ki18n" ,ki18n)
69 ("kiconthemes" ,kiconthemes)
70 ("kio" ,kio)
71 ("kitemmodels" ,kitemmodels)
72 ("kitemviews" ,kitemviews)
73 ("kwidgetsaddons" ,kwidgetsaddons)
74 ("kwindowsystem" ,kwindowsystem)
75 ("kxmlgui" ,kxmlgui)
76 ("libxml2" ,libxml2)
77 ("libxslt" ,libxslt)
78 ;; Do NOT add mysql or postgresql to the inputs. Otherwise the binaries
79 ;; and wrapped files will refer to them, even if the user choices none
80 ;; of these. Executables are searched on $PATH then.
81 ("qtbase" ,qtbase)
82 ("sqlite" ,sqlite)))
83 (arguments
84 `(#:tests? #f ;; TODO 135/167 tests fail
85 #:configure-flags '("-DDATABASE_BACKEND=SQLITE") ; lightweight
86 #:modules ((ice-9 textual-ports)
87 ,@%qt-build-system-modules)
88 #:phases
89 (modify-phases (@ (guix build qt-build-system) %standard-phases)
90 (add-before 'configure 'add-definitions
91 (lambda _
92 (let ((out (assoc-ref %outputs "out"))
93 (mysql (assoc-ref %build-inputs "mysql"))
94 (pgsql (assoc-ref %build-inputs "postgresql")))
95 (with-output-to-file "CMakeLists.txt.new"
96 (lambda _
97 (display
98 (string-append
99 "add_compile_definitions(\n"
100 "NIX_OUT=\"" out "\"\n"
101 ;; pin binaries for mysql backend
102 ")\n\n"))
103 (display
104 (call-with-input-file "CMakeLists.txt"
105 get-string-all))))
106 (rename-file "CMakeLists.txt.new" "CMakeLists.txt"))
107 #t)))))
108 (home-page "https://kontact.kde.org/components/akonadi.html")
109 (synopsis "Extensible cross-desktop storage service for PIM")
110 (description "Akonadi is an extensible cross-desktop Personal Information
111 Management (PIM) storage service. It provides a common framework for
112 applications to store and access mail, calendars, addressbooks, and other PIM
113 data.
114
115 This package contains the Akonadi PIM storage server and associated
116 programs.")
117 (license license:fdl1.2+)))
118
119 (define-public akonadi-calendar
120 (package
121 (name "akonadi-calendar")
122 (version "19.08.3")
123 (source
124 (origin
125 (method url-fetch)
126 (uri (string-append "mirror://kde/stable/applications/" version
127 "/src/akonadi-calendar-" version ".tar.xz"))
128 (sha256
129 (base32 "1550h08i8rjnbd9yrnhd9v3v68ingrag2bdxrbid62qvam0n5ihy"))))
130 (build-system qt-build-system)
131 (native-inputs
132 `(("extra-cmake-modules" ,extra-cmake-modules)))
133 (inputs
134 `(("akonadi" ,akonadi)
135 ("akonadi-contacts" ,akonadi-contacts)
136 ("akonadi-mime" ,akonadi-mime)
137 ("boost" ,boost)
138 ("kcalendarcore" ,kcalendarcore)
139 ("kcalutils" ,kcalutils)
140 ("kcodecs" ,kcodecs)
141 ("kcontacts" ,kcontacts)
142 ("kdbusaddons" ,kdbusaddons)
143 ("ki18n" ,ki18n)
144 ("kiconthemes" ,kiconthemes)
145 ("kidentitymanagement" ,kidentitymanagement)
146 ("kio" ,kio)
147 ("kitemmodels" ,kitemmodels)
148 ("kmailtransport" ,kmailtransport)
149 ("kmime" ,kmime)
150 ("kpimtextedit" ,kpimtextedit)
151 ("ksmtp" ,ksmtp)
152 ("ktextwidgets" ,ktextwidgets)
153 ("kwallet" ,kwallet)
154 ("qtbase" ,qtbase)))
155 (arguments
156 `(#:tests? #f)) ;; TODO: 1/1 test fails
157 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/akonadi/html/")
158 (synopsis "Library providing calendar helpers for Akonadi items")
159 (description "This library manages calendar specific actions for
160 collection and item views.")
161 (license license:lgpl2.0+)))
162
163 (define-public akonadi-contacts
164 (package
165 (name "akonadi-contacts")
166 (version "19.08.3")
167 (source
168 (origin
169 (method url-fetch)
170 (uri (string-append "mirror://kde/stable/applications/" version
171 "/src/akonadi-contacts-" version ".tar.xz"))
172 (sha256
173 (base32 "1pw1s8c6dlcb103cw46p1ikvas3y8cwiwnfdny2jd3hr3rig4px9"))))
174 (build-system qt-build-system)
175 (native-inputs
176 `(("extra-cmake-modules" ,extra-cmake-modules)))
177 (inputs
178 `(("akonadi" ,akonadi)
179 ("boost" ,boost)
180 ("kauth" ,kauth)
181 ("kcodecs" ,kcodecs)
182 ("kcompletion" ,kcompletion)
183 ("kconfigwidgets" ,kconfigwidgets)
184 ("kcontacts" ,kcontacts)
185 ("kcoreaddons" ,kcoreaddons)
186 ("kdbusaddons" ,kdbusaddons)
187 ("ki18n" ,ki18n)
188 ("kiconthemes" ,kiconthemes)
189 ("kitemmodels" ,kitemmodels)
190 ("kitemviews" ,kitemviews)
191 ("kjobwidgets" ,kjobwidgets)
192 ("kmime" ,kmime)
193 ("kservice" ,kservice)
194 ("ktextwidgets" ,ktextwidgets)
195 ("kwidgetsaddons" ,kwidgetsaddons)
196 ("kxmlgui" ,kxmlgui)
197 ("prison" ,prison)
198 ("kio" ,kio)
199 ("qtbase" ,qtbase)
200 ("solid" ,solid)
201 ("sonnet" ,sonnet)))
202 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/akonadi/html/")
203 (synopsis "Akonadi contacts access library")
204 (description "Akonadi Contacts is a library that effectively bridges the
205 type-agnostic API of the Akonadi client libraries and the domain-specific
206 KContacts library. It provides jobs, models and other helpers to make working
207 with contacts and addressbooks through Akonadi easier.
208
209 The library provides a complex dialog for editing contacts and several models
210 to list and filter contacts.")
211 (license ;; GPL for programs, LGPL for libraries
212 (list license:gpl2+ license:lgpl2.0+))))
213
214 (define-public akonadi-mime
215 (package
216 (name "akonadi-mime")
217 (version "19.08.3")
218 (source
219 (origin
220 (method url-fetch)
221 (uri (string-append "mirror://kde/stable/applications/" version
222 "/src/akonadi-mime-" version ".tar.xz"))
223 (sha256
224 (base32 "03q3dnhzcgmgcqvijnwi4ikg0m1zad2l679bqnp051v27fvs4yg7"))))
225 (build-system qt-build-system)
226 (native-inputs
227 `(("extra-cmake-modules" ,extra-cmake-modules)
228 ("libxslt" ,libxslt) ;; xslt for generating interface descriptions
229 ("shared-mime-info" ,shared-mime-info)))
230 (inputs
231 `(("akonadi" ,akonadi)
232 ("boost", boost)
233 ("kcodecs" ,kcodecs)
234 ("kconfig" ,kconfig)
235 ("kconfigwidgets" ,kconfigwidgets)
236 ("kdbusaddons" ,kdbusaddons)
237 ("ki18n" ,ki18n)
238 ("kio" ,kio)
239 ("kitemmodels" ,kitemmodels)
240 ("kmime" ,kmime)
241 ("kwidgetsaddons" ,kwidgetsaddons)
242 ("kxmlgui" ,kxmlgui)
243 ("qtbase" ,qtbase)))
244 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/akonadi/html/")
245 (arguments
246 `(#:phases
247 (modify-phases %standard-phases
248 (add-after 'unpack 'copy-desktop-file-early
249 (lambda _
250 (let ((plugins-dir "/tmp/.local/share/akonadi/plugins/serializer"))
251 (mkdir-p plugins-dir)
252 (copy-file "serializers/akonadi_serializer_mail.desktop"
253 (string-append plugins-dir "/akonadi_serializer_mail.desktop")))
254 #t))
255 (add-before 'check 'check-setup
256 (lambda _
257 (setenv "HOME" "/tmp")
258 #t)))))
259 (synopsis "Akonadi MIME handling library")
260 (description "Akonadi Mime is a library that effectively bridges the
261 type-agnostic API of the Akonadi client libraries and the domain-specific
262 KMime library. It provides jobs, models and other helpers to make working
263 with emails through Akonadi easier.")
264 (license ;; GPL for programs, LGPL for libraries
265 (list license:gpl2+ license:lgpl2.0+))))
266
267 (define-public akonadi-notes
268 (package
269 (name "akonadi-notes")
270 (version "19.08.3")
271 (source
272 (origin
273 (method url-fetch)
274 (uri (string-append "mirror://kde/stable/applications/" version
275 "/src/akonadi-notes-" version ".tar.xz"))
276 (sha256
277 (base32 "0r8vh11bfjzhspb5kp2d0kcgwqd2m5qpxpamiajzjq910f51sw3w"))))
278 (build-system qt-build-system)
279 (native-inputs
280 `(("extra-cmake-modules" ,extra-cmake-modules)))
281 (inputs
282 `(("akonadi" ,akonadi)
283 ("kcodecs" ,kcodecs)
284 ("ki18n" ,ki18n)
285 ("kmime" ,kmime)
286 ("qtbase" ,qtbase)))
287 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/akonadi/html/")
288 (synopsis "Akonadi notes access library")
289 (description "Akonadi Notes is a library that effectively bridges the
290 type-agnostic API of the Akonadi client libraries and the domain-specific
291 KMime library. It provides a helper class for note attachments and for
292 wrapping notes into KMime::Message objects.")
293 (license ;; GPL for programs, LGPL for libraries
294 (list license:gpl2+ license:lgpl2.0+))))
295
296 (define-public akonadi-search
297 (package
298 (name "akonadi-search")
299 (version "19.08.3")
300 (source
301 (origin
302 (method url-fetch)
303 (uri (string-append "mirror://kde/stable/applications/" version
304 "/src/akonadi-search-" version ".tar.xz"))
305 (sha256
306 (base32 "16qzs2cs4nxwrpwcdgwry95qn6wmg8s1p4w3qajx1ahkgwmsh11s"))))
307 (build-system qt-build-system)
308 (native-inputs
309 `(("extra-cmake-modules" ,extra-cmake-modules)))
310 (inputs
311 `(("akonadi" ,akonadi)
312 ("akonadi-mime" ,akonadi-mime)
313 ("boost" ,boost)
314 ("kcalendarcore" ,kcalendarcore)
315 ("kcmutils" ,kcmutils)
316 ("kcontacts" ,kcontacts)
317 ("kcrash" ,kcrash)
318 ("kdbusaddons" ,kdbusaddons)
319 ("ki18n" ,ki18n)
320 ("kio" ,kio)
321 ("kitemmodels" ,kitemmodels)
322 ("kmime" ,kmime)
323 ("krunner" ,krunner)
324 ("kwindowsystem" ,kwindowsystem)
325 ("qtbase" ,qtbase)
326 ("xapian" ,xapian)))
327 (arguments
328 `(#:tests? #f)) ;; TODO: needs dbus
329 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/akonadi/html/")
330 (synopsis "Akonadi search library")
331 (description "Xapian-based indexing and query infrastructure for
332 Akonadi.")
333 (license ;; GPL for programs, LGPL for libraries
334 (list license:gpl2+ license:lgpl2.0+))))
335
336 (define-public kalarmcal
337 (package
338 (name "kalarmcal")
339 (version "19.08.3")
340 (source
341 (origin
342 (method url-fetch)
343 (uri (string-append "mirror://kde/stable/applications/" version
344 "/src/kalarmcal-" version ".tar.xz"))
345 (sha256
346 (base32 "0w9qsx2gqwny2v4fsj4awn814s9b7yrxvqrawlick3r2kp4x1sgn"))))
347 (build-system qt-build-system)
348 (native-inputs
349 `(("extra-cmake-modules" ,extra-cmake-modules)))
350 (inputs
351 `(("akonadi", akonadi)
352 ("boost" ,boost)
353 ("kcalendarcore" ,kcalendarcore)
354 ("kcalutils" ,kcalutils)
355 ("kcompletion" ,kcompletion)
356 ("kconfig" ,kconfig)
357 ("kconfigwidgets" ,kconfigwidgets)
358 ("kcoreaddons" ,kcoreaddons)
359 ("kdbusaddons" ,kdbusaddons)
360 ("kholidays" ,kholidays)
361 ("ki18n" ,ki18n)
362 ("kidentitymanagement" ,kidentitymanagement)
363 ("kio" ,kio)
364 ("kitemmodels" ,kitemmodels)
365 ("kpimtextedit" ,kpimtextedit)
366 ("ktextwidgets" ,ktextwidgets)
367 ("kxmlgui" ,kxmlgui)
368 ("qtbase" ,qtbase)))
369 (arguments
370 `(#:tests? #f)) ;; TODO: TZ setup
371 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
372 (synopsis "Library for handling kalarm calendar data")
373 (description "This library provides an API for KAlarm alarms.")
374 (license license:lgpl2.0+)))
375
376 (define-public kcalutils
377 (package
378 (name "kcalutils")
379 (version "19.08.3")
380 (source
381 (origin
382 (method url-fetch)
383 (uri (string-append "mirror://kde/stable/applications/" version
384 "/src/kcalutils-" version ".tar.xz"))
385 (sha256
386 (base32 "1nlkik4qiciyh1slgpis3n5h9pks2ygdba9yq4s16nnmip4l45w2"))))
387 (build-system qt-build-system)
388 (native-inputs
389 `(("extra-cmake-modules" ,extra-cmake-modules)
390 ("libxml2" ,libxml2))) ;; xmllint required for tests
391 (inputs
392 `(("grantlee" ,grantlee)
393 ("kcalendarcore" ,kcalendarcore)
394 ("kcodecs" ,kcodecs)
395 ("kconfig" ,kconfig)
396 ("kconfigwidgets" ,kconfigwidgets)
397 ("kcoreaddons" ,kcoreaddons)
398 ("ki18n" ,ki18n)
399 ("kiconthemes" ,kiconthemes)
400 ("kidentitymanagement" ,kidentitymanagement)
401 ("kpimtextedit" ,kpimtextedit)
402 ("ktextwidgets" ,ktextwidgets)
403 ("kwidgetsaddons" ,kwidgetsaddons)
404 ("oxygen-icons" ,oxygen-icons) ; default icon set, required for tests
405 ("qtbase" ,qtbase)))
406 (arguments
407 `(#:tests? #f)) ;; TODO: seem to pull in some wrong theme
408 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
409 (synopsis "Library with utility functions for the handling of calendar
410 data")
411 (description "This library provides a utility and user interface
412 functions for accessing calendar data using the kcalcore API.")
413 (license license:lgpl2.0+)))
414
415 (define-public kidentitymanagement
416 (package
417 (name "kidentitymanagement")
418 (version "19.08.3")
419 (source
420 (origin
421 (method url-fetch)
422 (uri (string-append "mirror://kde/stable/applications/" version
423 "/src/kidentitymanagement-" version ".tar.xz"))
424 (sha256
425 (base32 "0dqz49sp5hq44590rrxav8688aqlzsww4q4n55ksfy13nk9i5mbf"))))
426 (build-system qt-build-system)
427 (native-inputs
428 `(("extra-cmake-modules" ,extra-cmake-modules)))
429 (inputs
430 `(("kcodecs" ,kcodecs)
431 ("kcompletion" ,kcompletion)
432 ("kconfig" ,kconfig)
433 ("kcoreaddons" ,kcoreaddons)
434 ("kemoticons" ,kemoticons)
435 ("kiconthemes" ,kiconthemes)
436 ("kio" ,kio)
437 ("kpimtextedit" ,kpimtextedit)
438 ("ktextwidgets" ,ktextwidgets)
439 ("kxmlgui" ,kxmlgui)
440 ("qtbase" ,qtbase)))
441 (arguments
442 `(#:phases
443 (modify-phases %standard-phases
444 (add-before 'check 'set-home
445 (lambda _
446 (setenv "HOME" "/tmp/dummy-home") ;; FIXME: what is this?
447 #t)))))
448 (home-page "https://kontact.kde.org/")
449 (synopsis "Library for shared identities between mail applications")
450 (description "Library for shared identities between mail applications.")
451 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
452 (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
453
454 (define-public kimap
455 (package
456 (name "kimap")
457 (version "19.08.3")
458 (source
459 (origin
460 (method url-fetch)
461 (uri (string-append "mirror://kde/stable/applications/" version
462 "/src/kimap-" version ".tar.xz"))
463 (sha256
464 (base32 "0l8hb2z82jzbwr12lw5fismwk1a3ca4dk966p1fxg4bibck8vjj6"))))
465 (build-system qt-build-system)
466 (native-inputs
467 `(("extra-cmake-modules" ,extra-cmake-modules)))
468 (inputs
469 `(("cyrus-sasl" ,cyrus-sasl)
470 ("kcoreaddons" ,kcoreaddons)
471 ("ki18n" ,ki18n)
472 ("kio" ,kio)
473 ("kmime" ,kmime)
474 ("qtbase" ,qtbase)))
475 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
476 (synopsis "Library for handling IMAP")
477 (description "This library provides a job-based API for interacting with
478 an IMAP4rev1 server. It manages connections, encryption and parameter quoting
479 and encoding, but otherwise provides quite a low-level interface to the
480 protocol. This library does not implement an IMAP client; it merely makes it
481 easier to do so.")
482 (license ;; GPL for programs, LGPL for libraries
483 (list license:gpl2+ license:lgpl2.0+))))
484
485 (define-public kldap
486 (package
487 (name "kldap")
488 (version "19.08.3")
489 (source
490 (origin
491 (method url-fetch)
492 (uri (string-append "mirror://kde/stable/applications/" version
493 "/src/kldap-" version ".tar.xz"))
494 (sha256
495 (base32 "1blbnj8av6h168g14gyphyd9sz87af773b1qglmbkv5pzbzaanxn"))))
496 (build-system qt-build-system)
497 (native-inputs
498 `(("extra-cmake-modules" ,extra-cmake-modules)
499 ("kdoctools" ,kdoctools)))
500 (inputs
501 `(("ki18n" ,ki18n)
502 ("kio" ,kio)
503 ("kwidgetsaddons" ,kwidgetsaddons)
504 ("qtbase" ,qtbase)))
505 (propagated-inputs
506 `(("cyrus-sasl" ,cyrus-sasl)
507 ("openldap" ,openldap)))
508 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
509 (synopsis "Library for accessing LDAP")
510 (description "This library provides an API for LDAP.")
511 (license license:lgpl2.0+)))
512
513 (define-public kleopatra
514 (package
515 (name "kleopatra")
516 (version "19.08.3")
517 (source
518 (origin
519 (method url-fetch)
520 (uri (string-append "mirror://kde/stable/applications/" version
521 "/src/kleopatra-" version ".tar.xz"))
522 (sha256
523 (base32 "1bqwxdl91s2nai871vvhkmcc3simbnvr2i5m6dnl327bplzqgfa4"))))
524 (build-system qt-build-system)
525 (native-inputs
526 `(("dbus" ,dbus)
527 ("extra-cmake-modules" ,extra-cmake-modules)
528 ("gnupg" ,gnupg) ;; TODO: Remove after gpgme uses fixed path
529 ("kdoctools" ,kdoctools)))
530 (inputs
531 `(("boost" ,boost)
532 ("gpgme" ,gpgme)
533 ("kcmutils" ,kcmutils)
534 ("kcodecs" ,kcodecs)
535 ("kconfig" ,kconfig)
536 ("kconfigwidgets" ,kconfigwidgets)
537 ("kcoreaddons" ,kcoreaddons)
538 ("kcrash" ,kcrash)
539 ("kdbusaddons" ,kdbusaddons)
540 ("ki18n" ,ki18n)
541 ("kiconthemes" ,kiconthemes)
542 ("kitemmodels" ,kitemmodels)
543 ("kmime" ,kmime)
544 ("knotifications" ,knotifications)
545 ("ktextwidgets" ,ktextwidgets)
546 ("kwidgetsaddons" ,kwidgetsaddons)
547 ("kwindowsystem" ,kwindowsystem)
548 ("kxmlgui" ,kxmlgui)
549 ("libassuan" ,libassuan)
550 ("libkleo" ,libkleo)
551 ("oxygen-icons" ,oxygen-icons) ;; default icon set
552 ("qgpgme" ,qgpgme)
553 ("qtbase" ,qtbase)))
554 (arguments
555 `(#:phases
556 (modify-phases %standard-phases
557 (replace 'check
558 (lambda _
559 (invoke "dbus-launch" "ctest" ".")
560 #t)))))
561 (home-page "https://kde.org/applications/utilities/org.kde.kleopatra")
562 (synopsis "Certificate Manager and Unified Crypto GUI")
563 (description "Kleopatra is a certificate manager and a universal crypto
564 GUI. It supports managing X.509 and OpenPGP certificates in the GpgSM keybox
565 and retrieving certificates from LDAP servers.")
566 (license ;; GPL for programs, FDL for documentation
567 (list license:gpl2+ license:fdl1.2+))))
568
569 (define-public kmailtransport
570 (package
571 (name "kmailtransport")
572 (version "19.08.3")
573 (source
574 (origin
575 (method url-fetch)
576 (uri (string-append "mirror://kde/stable/applications/" version
577 "/src/kmailtransport-" version ".tar.xz"))
578 (sha256
579 (base32 "04jdnqxbp4382vjxh06rrvsigbrygqfkw0fvbbjnjymp585mgkr4"))))
580 (build-system qt-build-system)
581 (native-inputs
582 `(("extra-cmake-modules" ,extra-cmake-modules)
583 ("kdoctools" ,kdoctools)))
584 (inputs
585 `(("akonadi" ,akonadi)
586 ("akonadi-mime" ,akonadi-mime)
587 ("boost" ,boost)
588 ("cyrus-sasl" ,cyrus-sasl)
589 ("kcalendarcore" ,kcalendarcore)
590 ("kcmutils" ,kcmutils)
591 ("kcontacts" ,kcontacts)
592 ("kdbusaddons" ,kdbusaddons)
593 ("kconfigwidgets" ,kconfigwidgets)
594 ("ki18n" ,ki18n)
595 ("kitemmodels", kitemmodels)
596 ("kio" ,kio)
597 ("kmime" ,kmime)
598 ("ksmtp" ,ksmtp)
599 ("ktextwidgets" ,ktextwidgets)
600 ("kwallet" ,kwallet)
601 ("libkgapi" ,libkgapi)
602 ("qtbase" ,qtbase)))
603 (arguments
604 `(#:tests? #f)) ;; TODO - 3/3 tests fail, require drkonqi
605 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
606 (synopsis "Mail transport service library")
607 (description " This library provides an API and support code for managing
608 mail transport.")
609 (license license:lgpl2.0+)))
610
611 (define-public kmbox
612 (package
613 (name "kmbox")
614 (version "19.08.3")
615 (source
616 (origin
617 (method url-fetch)
618 (uri (string-append "mirror://kde/stable/applications/" version
619 "/src/kmbox-" version ".tar.xz"))
620 (sha256
621 (base32 "13b5v1nx46k5ais3cms7yxrfi8p6xbljpkpg3f7v1asb6kshv7g2"))))
622 (build-system qt-build-system)
623 (native-inputs
624 `(("extra-cmake-modules" ,extra-cmake-modules)))
625 (inputs
626 `(("kcodecs" ,kcodecs)
627 ("kmime" ,kmime)
628 ("qtbase" ,qtbase)))
629 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
630 (synopsis "Library for handling mbox mailboxes")
631 (description "A library for accessing mail storages in MBox format.")
632 (license license:lgpl2.0+ )))
633
634 (define-public kmime
635 (package
636 (name "kmime")
637 (version "19.08.3")
638 (source
639 (origin
640 (method url-fetch)
641 (uri (string-append "mirror://kde/stable/applications/" version
642 "/src/kmime-" version ".tar.xz"))
643 (sha256
644 (base32 "1pc00pwwrngsyr7ppvqwfgvcgy2wiqdbqxhv9xidn4dw9way2ng6"))))
645 (build-system qt-build-system)
646 (native-inputs
647 `(("extra-cmake-modules" ,extra-cmake-modules)))
648 (inputs
649 `(("kcodecs" ,kcodecs)
650 ("ki18n" ,ki18n)
651 ("qtbase" ,qtbase)))
652 (arguments
653 `(#:phases
654 (modify-phases %standard-phases
655 (add-after 'unpack 'fix-test-case
656 (lambda _
657 ;; This is curious: autotests/CMakeLists.txt sets LC_TIME=C, but
658 ;; the Qt locale returns different. See kmime commit 3a9651d26a.
659 (substitute* "autotests/dateformattertest.cpp"
660 (("(Today|Yesterday) 12:34:56" line day)
661 (string-append day " 12:34 PM")))
662 #t)))))
663 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
664 (synopsis "Library for handling MIME data")
665 (description "A library for MIME handling.")
666 (license license:lgpl2.0+)))
667
668 (define-public kontactinterface
669 (package
670 (name "kontactinterface")
671 (version "19.08.3")
672 (source
673 (origin
674 (method url-fetch)
675 (uri (string-append "mirror://kde/stable/applications/" version
676 "/src/kontactinterface-" version ".tar.xz"))
677 (sha256
678 (base32 "1p0iw9i8cxh3jn7094wvxhlpc2sw52q8csfdgch1lf3dwhkpp0k7"))))
679 (build-system qt-build-system)
680 (native-inputs
681 `(("extra-cmake-modules" ,extra-cmake-modules)))
682 (inputs
683 `(("kcoreaddons" ,kcoreaddons)
684 ("ki18n" ,ki18n)
685 ("kiconthemes" ,kiconthemes)
686 ("kparts" ,kparts)
687 ("kwindowsystem" ,kwindowsystem)
688 ("kxmlgui" ,kxmlgui)
689 ("qtbase" ,qtbase)))
690 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
691 (synopsis "Kontact interface library")
692 (description "Kontact Interface library.")
693 (license license:lgpl2.0+)))
694
695 (define-public kpimtextedit
696 (package
697 (name "kpimtextedit")
698 (version "19.08.3")
699 (source
700 (origin
701 (method url-fetch)
702 (uri (string-append "mirror://kde/stable/applications/" version
703 "/src/kpimtextedit-" version ".tar.xz"))
704 (sha256
705 (base32 "1as48j5qfpj9pqjck1615nlpk4a850m7xxcyl41gx8biww027zvm"))))
706 (build-system qt-build-system)
707 (native-inputs
708 `(("extra-cmake-modules" ,extra-cmake-modules)
709 ("qttools" ,qttools)))
710 (inputs
711 `(("grantlee" ,grantlee)
712 ("kcodecs" ,kcodecs)
713 ("kconfigwidgets" ,kconfigwidgets)
714 ("kcoreaddons" ,kcoreaddons)
715 ("kdesignerplugin" ,kdesignerplugin)
716 ("kemoticons" ,kemoticons)
717 ("ki18n" ,ki18n)
718 ("kiconthemes" ,kiconthemes)
719 ("kio" ,kio)
720 ("ksyntaxhighlighting" ,ksyntaxhighlighting)
721 ("ktextwidgets" ,ktextwidgets)
722 ("kwidgetsaddons" ,kwidgetsaddons)
723 ("kxmlgui" ,kxmlgui)
724 ("qtbase" ,qtbase)
725 ("qtspeech", qtspeech)
726 ("sonnet" ,sonnet)))
727 (arguments
728 `(#:tests? #f)) ;; TODO - test suite hangs
729 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
730 (synopsis "Library providing a textedit with PIM-specific features")
731 (description "A library for PIM-specific text editing utilities.")
732 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
733 (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
734
735 (define-public ksmtp
736 (package
737 (name "ksmtp")
738 (version "19.08.3")
739 (source
740 (origin
741 (method url-fetch)
742 (uri (string-append "mirror://kde/stable/applications/" version
743 "/src/ksmtp-" version ".tar.xz"))
744 (sha256
745 (base32 "1pd8mma3xbq83jkn76gqinn6xh9imaji0jrg3qzysf5rvjl8kcqn"))))
746 (build-system qt-build-system)
747 (native-inputs
748 `(("extra-cmake-modules" ,extra-cmake-modules)))
749 (inputs
750 `(("cyrus-sasl" ,cyrus-sasl)
751 ("kcodecs" ,kcodecs)
752 ("kconfig" ,kconfig)
753 ("kcoreaddons" ,kcoreaddons)
754 ("ki18n" ,ki18n)
755 ("kio" ,kio)
756 ("qtbase" ,qtbase)))
757 (arguments
758 `(#:tests? #f ;; TODO: does not find sasl mechs
759 #:phases
760 (modify-phases %standard-phases
761 (add-after 'unpack 'Use-KDE_INSTALL_TARGETS_DEFAULT_ARGS-when-installing
762 (lambda _
763 (substitute* "src/CMakeLists.txt"
764 (("^(install\\(.* )\\$\\{KF5_INSTALL_TARGETS_DEFAULT_ARGS\\}\\)"
765 _ prefix)
766 (string-append prefix "${KDE_INSTALL_TARGETS_DEFAULT_ARGS})")))
767 #t)))))
768 (home-page "https://cgit.kde.org/ksmtp.git")
769 (synopsis "Library for sending email through an SMTP server")
770 (description "This library provides an API for handling SMTP
771 services. SMTP (Simple Mail Transfer Protocol) is the most prevalent Internet
772 standard protocols for e-mail transmission.")
773 (license license:lgpl2.0+)))
774
775 (define-public ktnef
776 (package
777 (name "ktnef")
778 (version "19.08.3")
779 (source
780 (origin
781 (method url-fetch)
782 (uri (string-append "mirror://kde/stable/applications/" version
783 "/src/ktnef-" version ".tar.xz"))
784 (sha256
785 (base32 "0kgfhh46130hg1xq8km5gjzxa3b620j1zdrg54qivxa782smgbl6"))))
786 (build-system qt-build-system)
787 (native-inputs
788 `(("extra-cmake-modules" ,extra-cmake-modules)))
789 (inputs
790 `(("kcalendarcore" ,kcalendarcore)
791 ("kcalutils" ,kcalutils)
792 ("kcodecs" ,kcodecs)
793 ("kconfig" ,kconfig)
794 ("kcontacts" ,kcontacts)
795 ("kcoreaddons" ,kcoreaddons)
796 ("ki18n" ,ki18n)
797 ("qtbase" ,qtbase)))
798 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/ktnef/html/")
799 (synopsis "Viewer for mail attachments using TNEF format")
800 (description "Viewer for mail attachments using TNEF format")
801 (license license:lgpl2.0+)))
802
803 (define-public libkgapi
804 (package
805 (name "libkgapi")
806 (version "19.08.3")
807 (source
808 (origin
809 (method url-fetch)
810 (uri (string-append "mirror://kde/stable/applications/" version
811 "/src/libkgapi-" version ".tar.xz"))
812 (sha256
813 (base32 "0z76b745n4hhjndrhv1w5acibia8x1frh78jx7bvxa72d8wphn08"))))
814 (build-system qt-build-system)
815 (native-inputs
816 `(("extra-cmake-modules" ,extra-cmake-modules)
817 ("qttools" ,qttools)))
818 (inputs
819 `(("cyrus-sasl" ,cyrus-sasl)
820 ("ki18n" ,ki18n)
821 ("kcontacts" ,kcontacts)
822 ("kcalendarcore" ,kcalendarcore)
823 ("kio" ,kio)
824 ("kwallet" ,kwallet)
825 ("kwindowsystem" ,kwindowsystem)
826 ("qtbase" ,qtbase)
827 ("qtdeclarative" ,qtdeclarative)
828 ("qtwebchannel" ,qtwebchannel)
829 ("qtwebengine" ,qtwebengine)))
830 (arguments
831 `(#:tests? #f)) ;; TODO 6/48 tests fail
832 (home-page "https://cgit.kde.org/libkgapi.git")
833 (synopsis "Library for accessing various Google services via their public
834 API")
835 (description "@code{LibKGAPI} is a C++ library that implements APIs for
836 various Google services.")
837 (license license:lgpl2.0+)))
838
839 (define-public libkleo
840 (package
841 (name "libkleo")
842 (version "19.08.3")
843 (source
844 (origin
845 (method url-fetch)
846 (uri (string-append "mirror://kde/stable/applications/" version
847 "/src/libkleo-" version ".tar.xz"))
848 (sha256
849 (base32 "0vjp07j102mi20c4q2fdvkjc0skb9q7msxp64n76wy3cciv346jz"))))
850 (build-system qt-build-system)
851 (native-inputs
852 `(("extra-cmake-modules" ,extra-cmake-modules)
853 ("kdoctools" ,kdoctools)
854 ("qttools" ,qttools)))
855 (inputs
856 `(("boost" ,boost)
857 ("gpgme" ,gpgme)
858 ("kcodecs" ,kcodecs)
859 ("kcompletion" ,kcompletion)
860 ("kconfig" ,kconfig)
861 ("kcoreaddons" ,kcoreaddons)
862 ("kcrash" ,kcrash)
863 ("ki18n" ,ki18n)
864 ("kitemmodels" ,kitemmodels)
865 ("kwidgetsaddons" ,kwidgetsaddons)
866 ("kwindowsystem" ,kwindowsystem)
867 ("kpimtextedit" ,kpimtextedit)
868 ("qgpgme" ,qgpgme)
869 ("qtbase" ,qtbase)))
870 (home-page "https://cgit.kde.org/libkleo.git/")
871 (synopsis "KDE PIM cryptographic library")
872 (description "@code{libkleo} is a library for Kleopatra and other parts of
873 KDE using certificate-based crypto.")
874 (license ;; GPL for programs, LGPL for libraries
875 (list license:gpl2+ license:lgpl2.0+))))