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 | |
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 | |
150 | data") | |
151 | (description "This library provides a utility and user interface | |
152 | functions 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 | |
218 | an IMAP4rev1 server. It manages connections, encryption and parameter quoting | |
219 | and encoding, but otherwise provides quite a low-level interface to the | |
220 | protocol. This library does not implement an IMAP client; it merely makes it | |
221 | easier 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+))) |