gnu: Add ktnef.
[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
68b1d81d
HG
116(define-public kcalutils
117 (package
118 (name "kcalutils")
119 (version "19.08.3")
120 (source
121 (origin
122 (method url-fetch)
123 (uri (string-append "mirror://kde/stable/applications/" version
124 "/src/kcalutils-" version ".tar.xz"))
125 (sha256
126 (base32 "1nlkik4qiciyh1slgpis3n5h9pks2ygdba9yq4s16nnmip4l45w2"))))
127 (build-system qt-build-system)
128 (native-inputs
129 `(("extra-cmake-modules" ,extra-cmake-modules)
130 ("libxml2" ,libxml2))) ;; xmllint required for tests
131 (inputs
132 `(("grantlee" ,grantlee)
133 ("kcalendarcore" ,kcalendarcore)
134 ("kcodecs" ,kcodecs)
135 ("kconfig" ,kconfig)
136 ("kconfigwidgets" ,kconfigwidgets)
137 ("kcoreaddons" ,kcoreaddons)
138 ("ki18n" ,ki18n)
139 ("kiconthemes" ,kiconthemes)
140 ("kidentitymanagement" ,kidentitymanagement)
141 ("kpimtextedit" ,kpimtextedit)
142 ("ktextwidgets" ,ktextwidgets)
143 ("kwidgetsaddons" ,kwidgetsaddons)
144 ("oxygen-icons" ,oxygen-icons) ; default icon set, required for tests
145 ("qtbase" ,qtbase)))
146 (arguments
147 `(#:tests? #f)) ;; TODO: seem to pull in some wrong theme
148 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
149 (synopsis "Library with utility functions for the handling of calendar
150data")
151 (description "This library provides a utility and user interface
152functions for accessing calendar data using the kcalcore API.")
153 (license license:lgpl2.0+)))
154
0a0df84f
HG
155(define-public kidentitymanagement
156 (package
157 (name "kidentitymanagement")
158 (version "19.08.3")
159 (source
160 (origin
161 (method url-fetch)
162 (uri (string-append "mirror://kde/stable/applications/" version
163 "/src/kidentitymanagement-" version ".tar.xz"))
164 (sha256
165 (base32 "0dqz49sp5hq44590rrxav8688aqlzsww4q4n55ksfy13nk9i5mbf"))))
166 (build-system qt-build-system)
167 (native-inputs
168 `(("extra-cmake-modules" ,extra-cmake-modules)))
169 (inputs
170 `(("kcodecs" ,kcodecs)
171 ("kcompletion" ,kcompletion)
172 ("kconfig" ,kconfig)
173 ("kcoreaddons" ,kcoreaddons)
174 ("kemoticons" ,kemoticons)
175 ("kiconthemes" ,kiconthemes)
176 ("kio" ,kio)
177 ("kpimtextedit" ,kpimtextedit)
178 ("ktextwidgets" ,ktextwidgets)
179 ("kxmlgui" ,kxmlgui)
180 ("qtbase" ,qtbase)))
181 (arguments
182 `(#:phases
183 (modify-phases %standard-phases
184 (add-before 'check 'set-home
185 (lambda _
186 (setenv "HOME" "/tmp/dummy-home") ;; FIXME: what is this?
187 #t)))))
188 (home-page "https://kontact.kde.org/")
189 (synopsis "Library for shared identities between mail applications")
190 (description "Library for shared identities between mail applications.")
191 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
192 (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
193
037994df
HG
194(define-public kimap
195 (package
196 (name "kimap")
197 (version "19.08.3")
198 (source
199 (origin
200 (method url-fetch)
201 (uri (string-append "mirror://kde/stable/applications/" version
202 "/src/kimap-" version ".tar.xz"))
203 (sha256
204 (base32 "0l8hb2z82jzbwr12lw5fismwk1a3ca4dk966p1fxg4bibck8vjj6"))))
205 (build-system qt-build-system)
206 (native-inputs
207 `(("extra-cmake-modules" ,extra-cmake-modules)))
208 (inputs
209 `(("cyrus-sasl" ,cyrus-sasl)
210 ("kcoreaddons" ,kcoreaddons)
211 ("ki18n" ,ki18n)
212 ("kio" ,kio)
213 ("kmime" ,kmime)
214 ("qtbase" ,qtbase)))
215 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
216 (synopsis "Library for handling IMAP")
217 (description "This library provides a job-based API for interacting with
218an IMAP4rev1 server. It manages connections, encryption and parameter quoting
219and encoding, but otherwise provides quite a low-level interface to the
220protocol. This library does not implement an IMAP client; it merely makes it
221easier to do so.")
222 (license ;; GPL for programs, LGPL for libraries
223 (list license:gpl2+ license:lgpl2.0+))))
224
6e03dbea
HG
225(define-public kldap
226 (package
227 (name "kldap")
228 (version "19.08.3")
229 (source
230 (origin
231 (method url-fetch)
232 (uri (string-append "mirror://kde/stable/applications/" version
233 "/src/kldap-" version ".tar.xz"))
234 (sha256
235 (base32 "1blbnj8av6h168g14gyphyd9sz87af773b1qglmbkv5pzbzaanxn"))))
236 (build-system qt-build-system)
237 (native-inputs
238 `(("extra-cmake-modules" ,extra-cmake-modules)
239 ("kdoctools" ,kdoctools)))
240 (inputs
241 `(("ki18n" ,ki18n)
242 ("kio" ,kio)
243 ("kwidgetsaddons" ,kwidgetsaddons)
244 ("qtbase" ,qtbase)))
245 (propagated-inputs
246 `(("cyrus-sasl" ,cyrus-sasl)
247 ("openldap" ,openldap)))
248 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
249 (synopsis "Library for accessing LDAP")
250 (description "This library provides an API for LDAP.")
251 (license license:lgpl2.0+)))
252
962b288a
HG
253(define-public kmbox
254 (package
255 (name "kmbox")
256 (version "19.08.3")
257 (source
258 (origin
259 (method url-fetch)
260 (uri (string-append "mirror://kde/stable/applications/" version
261 "/src/kmbox-" version ".tar.xz"))
262 (sha256
263 (base32 "13b5v1nx46k5ais3cms7yxrfi8p6xbljpkpg3f7v1asb6kshv7g2"))))
264 (build-system qt-build-system)
265 (native-inputs
266 `(("extra-cmake-modules" ,extra-cmake-modules)))
267 (inputs
268 `(("kcodecs" ,kcodecs)
269 ("kmime" ,kmime)
270 ("qtbase" ,qtbase)))
271 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
272 (synopsis "Library for handling mbox mailboxes")
273 (description "A library for accessing mail storages in MBox format.")
274 (license license:lgpl2.0+ )))
275
7cfb118c
HG
276(define-public kmime
277 (package
278 (name "kmime")
279 (version "19.08.3")
280 (source
281 (origin
282 (method url-fetch)
283 (uri (string-append "mirror://kde/stable/applications/" version
284 "/src/kmime-" version ".tar.xz"))
285 (sha256
286 (base32 "1pc00pwwrngsyr7ppvqwfgvcgy2wiqdbqxhv9xidn4dw9way2ng6"))))
287 (build-system qt-build-system)
288 (native-inputs
289 `(("extra-cmake-modules" ,extra-cmake-modules)))
290 (inputs
291 `(("kcodecs" ,kcodecs)
292 ("ki18n" ,ki18n)
293 ("qtbase" ,qtbase)))
294 (arguments
295 `(#:phases
296 (modify-phases %standard-phases
297 (add-after 'unpack 'fix-test-case
298 (lambda _
299 ;; This is curious: autotests/CMakeLists.txt sets LC_TIME=C, but
300 ;; the Qt locale returns different. See kmime commit 3a9651d26a.
301 (substitute* "autotests/dateformattertest.cpp"
302 (("(Today|Yesterday) 12:34:56" line day)
303 (string-append day " 12:34 PM")))
304 #t)))))
305 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
306 (synopsis "Library for handling MIME data")
307 (description "A library for MIME handling.")
308 (license license:lgpl2.0+)))
8c71fd43
HG
309
310(define-public kpimtextedit
311 (package
312 (name "kpimtextedit")
313 (version "19.08.3")
314 (source
315 (origin
316 (method url-fetch)
317 (uri (string-append "mirror://kde/stable/applications/" version
318 "/src/kpimtextedit-" version ".tar.xz"))
319 (sha256
320 (base32 "1as48j5qfpj9pqjck1615nlpk4a850m7xxcyl41gx8biww027zvm"))))
321 (build-system qt-build-system)
322 (native-inputs
323 `(("extra-cmake-modules" ,extra-cmake-modules)
324 ("qttools" ,qttools)))
325 (inputs
326 `(("grantlee" ,grantlee)
327 ("kcodecs" ,kcodecs)
328 ("kconfigwidgets" ,kconfigwidgets)
329 ("kcoreaddons" ,kcoreaddons)
330 ("kdesignerplugin" ,kdesignerplugin)
331 ("kemoticons" ,kemoticons)
332 ("ki18n" ,ki18n)
333 ("kiconthemes" ,kiconthemes)
334 ("kio" ,kio)
335 ("ksyntaxhighlighting" ,ksyntaxhighlighting)
336 ("ktextwidgets" ,ktextwidgets)
337 ("kwidgetsaddons" ,kwidgetsaddons)
338 ("kxmlgui" ,kxmlgui)
339 ("qtbase" ,qtbase)
340 ("qtspeech", qtspeech)
341 ("sonnet" ,sonnet)))
342 (arguments
343 `(#:tests? #f)) ;; TODO - test suite hangs
344 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/")
345 (synopsis "Library providing a textedit with PIM-specific features")
346 (description "A library for PIM-specific text editing utilities.")
347 (license ;; GPL for programs, LGPL for libraries, FDL for documentation
348 (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+))))
ff6adc0a
HG
349
350(define-public ktnef
351 (package
352 (name "ktnef")
353 (version "19.08.3")
354 (source
355 (origin
356 (method url-fetch)
357 (uri (string-append "mirror://kde/stable/applications/" version
358 "/src/ktnef-" version ".tar.xz"))
359 (sha256
360 (base32 "0kgfhh46130hg1xq8km5gjzxa3b620j1zdrg54qivxa782smgbl6"))))
361 (build-system qt-build-system)
362 (native-inputs
363 `(("extra-cmake-modules" ,extra-cmake-modules)))
364 (inputs
365 `(("kcalendarcore" ,kcalendarcore)
366 ("kcalutils" ,kcalutils)
367 ("kcodecs" ,kcodecs)
368 ("kconfig" ,kconfig)
369 ("kcontacts" ,kcontacts)
370 ("kcoreaddons" ,kcoreaddons)
371 ("ki18n" ,ki18n)
372 ("qtbase" ,qtbase)))
373 (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/ktnef/html/")
374 (synopsis "Viewer for mail attachments using TNEF format")
375 (description "Viewer for mail attachments using TNEF format")
376 (license license:lgpl2.0+)))