gnu: Add kalarmcal.
[jackhill/guix/guix.git] / gnu / packages / kde-pim.scm
CommitLineData
e35b50ec
HG
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)
037994df 27 #:use-module (gnu packages cyrus-sasl)
e35b50ec
HG
28 #:use-module (gnu packages databases)
29 #:use-module (gnu packages documentation)
30 #:use-module (gnu packages gnome)
31 #:use-module (gnu packages kde-frameworks)
6e03dbea 32 #:use-module (gnu packages openldap)
e35b50ec
HG
33 #:use-module (gnu packages qt)
34 #:use-module (gnu packages sqlite)
35 #:use-module (gnu packages xml))
36
37(define-public akonadi
38 (package
39 (name "akonadi")
40 (version "19.08.3")
41 (source
42 (origin
43 (method url-fetch)
44 (uri (string-append "mirror://kde/stable/applications/" version
45 "/src/akonadi-" version ".tar.xz"))
46 (sha256
47 (base32 "0v7f1049wjnqxhwxr1443wc2cfbdqmf15xcwjz3j1m0vgdva9pyg"))
48 (patches (search-patches
49 "akonadi-paths.patch"
50 "akonadi-timestamps.patch"
51 "akonadi-Revert-Make-installation-properly-relocatabl.patch"))))
52 (build-system qt-build-system)
53 (native-inputs
54 `(("extra-cmake-modules" ,extra-cmake-modules)
55 ("qttools" ,qttools)
56 ("shared-mime-info" ,shared-mime-info)))
57 (inputs
58 `(("boost" ,boost)
59 ("kconfig" ,kconfig)
60 ("kconfigwidgets" ,kconfigwidgets)
61 ("kcoreaddons" ,kcoreaddons)
62 ("kcrash" ,kcrash)
63 ("kdbusaddons" ,kdbusaddons)
64 ("kdesignerplugin" ,kdesignerplugin)
65 ("ki18n" ,ki18n)
66 ("kiconthemes" ,kiconthemes)
67 ("kio" ,kio)
68 ("kitemmodels" ,kitemmodels)
69 ("kitemviews" ,kitemviews)
70 ("kwidgetsaddons" ,kwidgetsaddons)
71 ("kwindowsystem" ,kwindowsystem)
72 ("kxmlgui" ,kxmlgui)
73 ("libxml2" ,libxml2)
74 ("libxslt" ,libxslt)
75 ;; Do NOT add mysql or postgresql to the inputs. Otherwise the binaries
76 ;; and wrapped files will refer to them, even if the user choices none
77 ;; of these. Executables are searched on $PATH then.
78 ("qtbase" ,qtbase)
79 ("sqlite" ,sqlite)))
80 (arguments
81 `(#:tests? #f ;; TODO 135/167 tests fail
82 #:configure-flags '("-DDATABASE_BACKEND=SQLITE") ; lightweight
83 #:modules ((ice-9 textual-ports)
84 ,@%qt-build-system-modules)
85 #:phases
86 (modify-phases (@ (guix build qt-build-system) %standard-phases)
87 (add-before 'configure 'add-definitions
88 (lambda _
89 (let ((out (assoc-ref %outputs "out"))
90 (mysql (assoc-ref %build-inputs "mysql"))
91 (pgsql (assoc-ref %build-inputs "postgresql")))
92 (with-output-to-file "CMakeLists.txt.new"
93 (lambda _
94 (display
95 (string-append
96 "add_compile_definitions(\n"
97 "NIX_OUT=\"" out "\"\n"
98 ;; pin binaries for mysql backend
99 ")\n\n"))
100 (display
101 (call-with-input-file "CMakeLists.txt"
102 get-string-all))))
103 (rename-file "CMakeLists.txt.new" "CMakeLists.txt"))
104 #t)))))
105 (home-page "https://kontact.kde.org/components/akonadi.html")
106 (synopsis "Extensible cross-desktop storage service for PIM")
107 (description "Akonadi is an extensible cross-desktop Personal Information
108Management (PIM) storage service. It provides a common framework for
109applications to store and access mail, calendars, addressbooks, and other PIM
110data.
111
112This package contains the Akonadi PIM storage server and associated
113programs.")
114 (license license:fdl1.2+)))
7cfb118c 115
2a876c1c
HG
116(define-public kalarmcal
117 (package
118 (name "kalarmcal")
119 (version "19.08.3")
120 (source
121 (origin
122 (method url-fetch)
123 (uri (string-append "mirror://kde/stable/applications/" version
124 "/src/kalarmcal-" version ".tar.xz"))
125 (sha256
126 (base32 "0w9qsx2gqwny2v4fsj4awn814s9b7yrxvqrawlick3r2kp4x1sgn"))))
127 (build-system qt-build-system)
128 (native-inputs
129 `(("extra-cmake-modules" ,extra-cmake-modules)))
130 (inputs
131 `(("akonadi", akonadi)
132 ("boost" ,boost)
133 ("kcalendarcore" ,kcalendarcore)
134 ("kcalutils" ,kcalutils)
135 ("kcompletion" ,kcompletion)
136 ("kconfig" ,kconfig)
137 ("kconfigwidgets" ,kconfigwidgets)
138 ("kcoreaddons" ,kcoreaddons)
139 ("kdbusaddons" ,kdbusaddons)
140 ("kholidays" ,kholidays)
141 ("ki18n" ,ki18n)
142 ("kidentitymanagement" ,kidentitymanagement)
143 ("kio" ,kio)
144 ("kitemmodels" ,kitemmodels)
145 ("kpimtextedit" ,kpimtextedit)
146 ("ktextwidgets" ,ktextwidgets)
147 ("kxmlgui" ,kxmlgui)
148 ("qtbase" ,qtbase)))
149 (arguments
150 `(#:tests? #f)) ;; TODO: TZ setup
151 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
152 (synopsis "Library for handling kalarm calendar data")
153 (description "This library provides an API for KAlarm alarms.")
154 (license license:lgpl2.0+)))
155
68b1d81d
HG
156(define-public kcalutils
157 (package
158 (name "kcalutils")
159 (version "19.08.3")
160 (source
161 (origin
162 (method url-fetch)
163 (uri (string-append "mirror://kde/stable/applications/" version
164 "/src/kcalutils-" version ".tar.xz"))
165 (sha256
166 (base32 "1nlkik4qiciyh1slgpis3n5h9pks2ygdba9yq4s16nnmip4l45w2"))))
167 (build-system qt-build-system)
168 (native-inputs
169 `(("extra-cmake-modules" ,extra-cmake-modules)
170 ("libxml2" ,libxml2))) ;; xmllint required for tests
171 (inputs
172 `(("grantlee" ,grantlee)
173 ("kcalendarcore" ,kcalendarcore)
174 ("kcodecs" ,kcodecs)
175 ("kconfig" ,kconfig)
176 ("kconfigwidgets" ,kconfigwidgets)
177 ("kcoreaddons" ,kcoreaddons)
178 ("ki18n" ,ki18n)
179 ("kiconthemes" ,kiconthemes)
180 ("kidentitymanagement" ,kidentitymanagement)
181 ("kpimtextedit" ,kpimtextedit)
182 ("ktextwidgets" ,ktextwidgets)
183 ("kwidgetsaddons" ,kwidgetsaddons)
184 ("oxygen-icons" ,oxygen-icons) ; default icon set, required for tests
185 ("qtbase" ,qtbase)))
186 (arguments
187 `(#:tests? #f)) ;; TODO: seem to pull in some wrong theme
188 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
189 (synopsis "Library with utility functions for the handling of calendar
190data")
191 (description "This library provides a utility and user interface
192functions for accessing calendar data using the kcalcore API.")
193 (license license:lgpl2.0+)))
194
0a0df84f
HG
195(define-public kidentitymanagement
196 (package
197 (name "kidentitymanagement")
198 (version "19.08.3")
199 (source
200 (origin
201 (method url-fetch)
202 (uri (string-append "mirror://kde/stable/applications/" version
203 "/src/kidentitymanagement-" version ".tar.xz"))
204 (sha256
205 (base32 "0dqz49sp5hq44590rrxav8688aqlzsww4q4n55ksfy13nk9i5mbf"))))
206 (build-system qt-build-system)
207 (native-inputs
208 `(("extra-cmake-modules" ,extra-cmake-modules)))
209 (inputs
210 `(("kcodecs" ,kcodecs)
211 ("kcompletion" ,kcompletion)
212 ("kconfig" ,kconfig)
213 ("kcoreaddons" ,kcoreaddons)
214 ("kemoticons" ,kemoticons)
215 ("kiconthemes" ,kiconthemes)
216 ("kio" ,kio)
217 ("kpimtextedit" ,kpimtextedit)
218 ("ktextwidgets" ,ktextwidgets)
219 ("kxmlgui" ,kxmlgui)
220 ("qtbase" ,qtbase)))
221 (arguments
222 `(#:phases
223 (modify-phases %standard-phases
224 (add-before 'check 'set-home
225 (lambda _
226 (setenv "HOME" "/tmp/dummy-home") ;; FIXME: what is this?
227 #t)))))
228 (home-page "https://kontact.kde.org/")
229 (synopsis "Library for shared identities between mail applications")
230 (description "Library for shared identities between mail applications.")
231 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
232 (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
233
037994df
HG
234(define-public kimap
235 (package
236 (name "kimap")
237 (version "19.08.3")
238 (source
239 (origin
240 (method url-fetch)
241 (uri (string-append "mirror://kde/stable/applications/" version
242 "/src/kimap-" version ".tar.xz"))
243 (sha256
244 (base32 "0l8hb2z82jzbwr12lw5fismwk1a3ca4dk966p1fxg4bibck8vjj6"))))
245 (build-system qt-build-system)
246 (native-inputs
247 `(("extra-cmake-modules" ,extra-cmake-modules)))
248 (inputs
249 `(("cyrus-sasl" ,cyrus-sasl)
250 ("kcoreaddons" ,kcoreaddons)
251 ("ki18n" ,ki18n)
252 ("kio" ,kio)
253 ("kmime" ,kmime)
254 ("qtbase" ,qtbase)))
255 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
256 (synopsis "Library for handling IMAP")
257 (description "This library provides a job-based API for interacting with
258an IMAP4rev1 server. It manages connections, encryption and parameter quoting
259and encoding, but otherwise provides quite a low-level interface to the
260protocol. This library does not implement an IMAP client; it merely makes it
261easier to do so.")
262 (license ;; GPL for programs, LGPL for libraries
263 (list license:gpl2+ license:lgpl2.0+))))
264
6e03dbea
HG
265(define-public kldap
266 (package
267 (name "kldap")
268 (version "19.08.3")
269 (source
270 (origin
271 (method url-fetch)
272 (uri (string-append "mirror://kde/stable/applications/" version
273 "/src/kldap-" version ".tar.xz"))
274 (sha256
275 (base32 "1blbnj8av6h168g14gyphyd9sz87af773b1qglmbkv5pzbzaanxn"))))
276 (build-system qt-build-system)
277 (native-inputs
278 `(("extra-cmake-modules" ,extra-cmake-modules)
279 ("kdoctools" ,kdoctools)))
280 (inputs
281 `(("ki18n" ,ki18n)
282 ("kio" ,kio)
283 ("kwidgetsaddons" ,kwidgetsaddons)
284 ("qtbase" ,qtbase)))
285 (propagated-inputs
286 `(("cyrus-sasl" ,cyrus-sasl)
287 ("openldap" ,openldap)))
288 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
289 (synopsis "Library for accessing LDAP")
290 (description "This library provides an API for LDAP.")
291 (license license:lgpl2.0+)))
292
962b288a
HG
293(define-public kmbox
294 (package
295 (name "kmbox")
296 (version "19.08.3")
297 (source
298 (origin
299 (method url-fetch)
300 (uri (string-append "mirror://kde/stable/applications/" version
301 "/src/kmbox-" version ".tar.xz"))
302 (sha256
303 (base32 "13b5v1nx46k5ais3cms7yxrfi8p6xbljpkpg3f7v1asb6kshv7g2"))))
304 (build-system qt-build-system)
305 (native-inputs
306 `(("extra-cmake-modules" ,extra-cmake-modules)))
307 (inputs
308 `(("kcodecs" ,kcodecs)
309 ("kmime" ,kmime)
310 ("qtbase" ,qtbase)))
311 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
312 (synopsis "Library for handling mbox mailboxes")
313 (description "A library for accessing mail storages in MBox format.")
314 (license license:lgpl2.0+ )))
315
7cfb118c
HG
316(define-public kmime
317 (package
318 (name "kmime")
319 (version "19.08.3")
320 (source
321 (origin
322 (method url-fetch)
323 (uri (string-append "mirror://kde/stable/applications/" version
324 "/src/kmime-" version ".tar.xz"))
325 (sha256
326 (base32 "1pc00pwwrngsyr7ppvqwfgvcgy2wiqdbqxhv9xidn4dw9way2ng6"))))
327 (build-system qt-build-system)
328 (native-inputs
329 `(("extra-cmake-modules" ,extra-cmake-modules)))
330 (inputs
331 `(("kcodecs" ,kcodecs)
332 ("ki18n" ,ki18n)
333 ("qtbase" ,qtbase)))
334 (arguments
335 `(#:phases
336 (modify-phases %standard-phases
337 (add-after 'unpack 'fix-test-case
338 (lambda _
339 ;; This is curious: autotests/CMakeLists.txt sets LC_TIME=C, but
340 ;; the Qt locale returns different. See kmime commit 3a9651d26a.
341 (substitute* "autotests/dateformattertest.cpp"
342 (("(Today|Yesterday) 12:34:56" line day)
343 (string-append day " 12:34 PM")))
344 #t)))))
345 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
346 (synopsis "Library for handling MIME data")
347 (description "A library for MIME handling.")
348 (license license:lgpl2.0+)))
8c71fd43
HG
349
350(define-public kpimtextedit
351 (package
352 (name "kpimtextedit")
353 (version "19.08.3")
354 (source
355 (origin
356 (method url-fetch)
357 (uri (string-append "mirror://kde/stable/applications/" version
358 "/src/kpimtextedit-" version ".tar.xz"))
359 (sha256
360 (base32 "1as48j5qfpj9pqjck1615nlpk4a850m7xxcyl41gx8biww027zvm"))))
361 (build-system qt-build-system)
362 (native-inputs
363 `(("extra-cmake-modules" ,extra-cmake-modules)
364 ("qttools" ,qttools)))
365 (inputs
366 `(("grantlee" ,grantlee)
367 ("kcodecs" ,kcodecs)
368 ("kconfigwidgets" ,kconfigwidgets)
369 ("kcoreaddons" ,kcoreaddons)
370 ("kdesignerplugin" ,kdesignerplugin)
371 ("kemoticons" ,kemoticons)
372 ("ki18n" ,ki18n)
373 ("kiconthemes" ,kiconthemes)
374 ("kio" ,kio)
375 ("ksyntaxhighlighting" ,ksyntaxhighlighting)
376 ("ktextwidgets" ,ktextwidgets)
377 ("kwidgetsaddons" ,kwidgetsaddons)
378 ("kxmlgui" ,kxmlgui)
379 ("qtbase" ,qtbase)
380 ("qtspeech", qtspeech)
381 ("sonnet" ,sonnet)))
382 (arguments
383 `(#:tests? #f)) ;; TODO - test suite hangs
384 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
385 (synopsis "Library providing a textedit with PIM-specific features")
386 (description "A library for PIM-specific text editing utilities.")
387 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
388 (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
ff6adc0a
HG
389
390(define-public ktnef
391 (package
392 (name "ktnef")
393 (version "19.08.3")
394 (source
395 (origin
396 (method url-fetch)
397 (uri (string-append "mirror://kde/stable/applications/" version
398 "/src/ktnef-" version ".tar.xz"))
399 (sha256
400 (base32 "0kgfhh46130hg1xq8km5gjzxa3b620j1zdrg54qivxa782smgbl6"))))
401 (build-system qt-build-system)
402 (native-inputs
403 `(("extra-cmake-modules" ,extra-cmake-modules)))
404 (inputs
405 `(("kcalendarcore" ,kcalendarcore)
406 ("kcalutils" ,kcalutils)
407 ("kcodecs" ,kcodecs)
408 ("kconfig" ,kconfig)
409 ("kcontacts" ,kcontacts)
410 ("kcoreaddons" ,kcoreaddons)
411 ("ki18n" ,ki18n)
412 ("qtbase" ,qtbase)))
413 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/ktnef/html/")
414 (synopsis "Viewer for mail attachments using TNEF format")
415 (description "Viewer for mail attachments using TNEF format")
416 (license license:lgpl2.0+)))