Commit | Line | Data |
---|---|---|
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 | |
108 | Management (PIM) storage service. It provides a common framework for | |
109 | applications to store and access mail, calendars, addressbooks, and other PIM | |
110 | data. | |
111 | ||
112 | This package contains the Akonadi PIM storage server and associated | |
113 | programs.") | |
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 | |
190 | data") | |
191 | (description "This library provides a utility and user interface | |
192 | functions 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 | |
258 | an IMAP4rev1 server. It manages connections, encryption and parameter quoting | |
259 | and encoding, but otherwise provides quite a low-level interface to the | |
260 | protocol. This library does not implement an IMAP client; it merely makes it | |
261 | easier 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+))) |