Commit | Line | Data |
---|---|---|
a661e420 | 1 | ;;; GNU Guix --- Functional package management for GNU |
3246cc91 | 2 | ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> |
722ec722 | 3 | ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> |
29a7c98a | 4 | ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> |
98e9e22f | 5 | ;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com> |
f58f767b | 6 | ;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu> |
66cc3ab2 | 7 | ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> |
17dd4329 | 8 | ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> |
ebda902f | 9 | ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> |
a661e420 LC |
10 | ;;; |
11 | ;;; This file is part of GNU Guix. | |
12 | ;;; | |
13 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
14 | ;;; under the terms of the GNU General Public License as published by | |
15 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
16 | ;;; your option) any later version. | |
17 | ;;; | |
18 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
19 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
20 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
21 | ;;; GNU General Public License for more details. | |
22 | ;;; | |
23 | ;;; You should have received a copy of the GNU General Public License | |
24 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
25 | ||
1fdd3ee2 | 26 | (define-module (gnu packages mail) |
59a43334 | 27 | #:use-module (gnu packages) |
d983a14f | 28 | #:use-module (gnu packages autotools) |
d2938d59 | 29 | #:use-module (gnu packages base) |
e8435c4d | 30 | #:use-module (gnu packages backup) |
f58f767b | 31 | #:use-module (gnu packages curl) |
4fd6bf53 | 32 | #:use-module (gnu packages cyrus-sasl) |
81ce19f4 | 33 | #:use-module (gnu packages databases) |
d983a14f | 34 | #:use-module (gnu packages dejagnu) |
d2938d59 | 35 | #:use-module (gnu packages emacs) |
e8435c4d | 36 | #:use-module (gnu packages enchant) |
1ffa7090 | 37 | #:use-module (gnu packages gdbm) |
e8435c4d | 38 | #:use-module (gnu packages ghostscript) |
d2938d59 | 39 | #:use-module (gnu packages glib) |
e8435c4d | 40 | #:use-module (gnu packages gnome) |
524e1df6 | 41 | #:use-module (gnu packages gnupg) |
d983a14f | 42 | #:use-module (gnu packages gnutls) |
d6e941bc | 43 | #:use-module (gnu packages gsasl) |
e8435c4d | 44 | #:use-module (gnu packages gtk) |
1ffa7090 | 45 | #:use-module (gnu packages guile) |
e8435c4d | 46 | #:use-module (gnu packages libcanberra) |
d6e941bc | 47 | #:use-module (gnu packages libidn) |
d983a14f AE |
48 | #:use-module (gnu packages linux) |
49 | #:use-module (gnu packages m4) | |
5f96f303 | 50 | #:use-module (gnu packages databases) |
1ffa7090 | 51 | #:use-module (gnu packages ncurses) |
d983a14f | 52 | #:use-module (gnu packages openssl) |
66cc3ab2 | 53 | #:use-module (gnu packages pcre) |
13f04f48 | 54 | #:use-module (gnu packages perl) |
3919a31a | 55 | #:use-module (gnu packages python) |
1ffa7090 | 56 | #:use-module (gnu packages readline) |
d2938d59 | 57 | #:use-module (gnu packages search) |
1ffa7090 | 58 | #:use-module (gnu packages texinfo) |
681a6588 MW |
59 | #:use-module (gnu packages compression) |
60 | #:use-module (gnu packages glib) | |
61 | #:use-module (gnu packages pkg-config) | |
a7e59c50 | 62 | #:use-module (gnu packages flex) |
1bd3f849 DT |
63 | #:use-module (gnu packages gdb) |
64 | #:use-module (gnu packages samba) | |
f58f767b | 65 | #:use-module (gnu packages xml) |
e8435c4d | 66 | #:use-module (gnu packages xorg) |
d983a14f | 67 | #:use-module ((guix licenses) |
166191b3 | 68 | #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ lgpl3+ non-copyleft)) |
a661e420 LC |
69 | #:use-module (guix packages) |
70 | #:use-module (guix download) | |
29a7c98a | 71 | #:use-module (guix utils) |
681a6588 | 72 | #:use-module (guix build-system gnu) |
ebda902f | 73 | #:use-module (guix build-system perl) |
29a7c98a | 74 | #:use-module (guix build-system python)) |
a661e420 LC |
75 | |
76 | (define-public mailutils | |
77 | (package | |
78 | (name "mailutils") | |
79 | (version "2.2") | |
80 | (source (origin | |
81 | (method url-fetch) | |
82 | (uri (string-append "mirror://gnu/mailutils/mailutils-" | |
83 | version ".tar.bz2")) | |
84 | (sha256 | |
85 | (base32 | |
01eafd38 LC |
86 | "0szbqa12zqzldqyw97lxqax3ja2adis83i7brdfsxmrfw68iaf65")) |
87 | (patches (list (search-patch "m4-gets-undeclared.patch"))))) | |
a661e420 LC |
88 | (build-system gnu-build-system) |
89 | (arguments | |
90 | '(;; TODO: Add `--with-sql'. | |
a661e420 LC |
91 | #:phases (alist-cons-before |
92 | 'build 'pre-build | |
93 | (lambda _ | |
94 | ;; Use Guile 2.0's public API. | |
95 | (substitute* "libmu_scm/mu_message.c" | |
96 | (("scm_i_string_length") | |
97 | "scm_c_string_length")) | |
98 | ||
99 | ;; This file should be generated to use the right | |
100 | ;; value of $(libdir) et al. | |
101 | (delete-file "libmu_scm/mailutils.scm") | |
102 | ||
103 | ;; Use the right file name for `cat'. | |
104 | (substitute* "testsuite/lib/mailutils.exp" | |
105 | (("/bin/cat") | |
106 | (which "cat")))) | |
107 | %standard-phases) | |
108 | #:parallel-tests? #f)) | |
109 | (inputs | |
110 | `(("dejagnu" ,dejagnu) | |
111 | ("m4" ,m4) | |
112 | ("texinfo" ,texinfo) | |
113 | ("guile" ,guile-2.0) | |
114 | ("gnutls" ,gnutls) | |
115 | ("ncurses" ,ncurses) | |
eb8cc645 MW |
116 | |
117 | ;; With Readline 6.3, examples/pop3client.c fails to build because it | |
118 | ;; uses the now undefined 'CPPFunction' type. | |
119 | ("readline" ,readline-6.2) | |
120 | ||
a661e420 | 121 | ("linux-pam" ,linux-pam) |
3246cc91 | 122 | ("libltdl" ,libltdl) |
01eafd38 | 123 | ("gdbm" ,gdbm))) |
a661e420 | 124 | (home-page "http://www.gnu.org/software/mailutils/") |
f50d2669 | 125 | (synopsis "Utilities and library for reading and serving mail") |
a661e420 | 126 | (description |
79c311b8 LC |
127 | "GNU Mailutils is a collection of programs for managing, viewing and |
128 | processing electronic mail. It contains both utilities and server daemons | |
129 | and all operate in a protocol-agnostic way. The underlying libraries are | |
130 | also available, simplifying the addition of mail capabilities to new | |
131 | software.") | |
a661e420 LC |
132 | (license |
133 | ;; Libraries are under LGPLv3+, and programs under GPLv3+. | |
134 | (list gpl3+ lgpl3+)))) | |
d983a14f AE |
135 | |
136 | (define-public fetchmail | |
137 | (package | |
138 | (name "fetchmail") | |
139 | (version "6.3.26") | |
140 | (source (origin | |
141 | (method url-fetch) | |
142 | (uri (string-append "mirror://sourceforge/fetchmail/branch_6.3/fetchmail-" | |
143 | version ".tar.xz")) | |
144 | (sha256 | |
145 | (base32 | |
146 | "0l78ayvi9dm8hd190gl139cs2xqsrf7r9ncilslw20mgvd6cbd3r")))) | |
147 | (build-system gnu-build-system) | |
148 | (inputs | |
149 | `(("openssl" ,openssl))) | |
150 | (arguments | |
151 | `(#:configure-flags (list (string-append "--with-ssl=" | |
152 | (assoc-ref %build-inputs "openssl"))))) | |
07af3e5e | 153 | (home-page "http://www.fetchmail.info/") |
ae2189a9 | 154 | (synopsis "Remote-mail retrieval and forwarding utility") |
d983a14f AE |
155 | (description |
156 | "Fetchmail is a full-featured, robust, well-documented remote-mail | |
157 | retrieval and forwarding utility intended to be used over on-demand | |
158 | TCP/IP links (such as SLIP or PPP connections). It supports every | |
159 | remote-mail protocol now in use on the Internet: POP2, POP3, RPOP, APOP, | |
160 | KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6 | |
161 | and IPSEC. | |
162 | ||
163 | Fetchmail retrieves mail from remote mail servers and forwards it via SMTP, | |
164 | so it can then be read by normal mail user agents such as mutt, elm | |
165 | or BSD Mail. It allows all your system MTA's filtering, forwarding, and | |
166 | aliasing facilities to work just as they would on normal mail.") | |
167 | (license gpl2+))) ; most files are actually public domain or x11 | |
13f04f48 AE |
168 | |
169 | (define-public mutt | |
170 | (package | |
171 | (name "mutt") | |
fb9c3acc | 172 | (version "1.5.23") |
13f04f48 AE |
173 | (source (origin |
174 | (method url-fetch) | |
fb9c3acc MW |
175 | (uri (list ;; Temporarily put bitbucket first, because |
176 | ;; ftp.mutt.org has been down for a while. | |
177 | (string-append "https://bitbucket.org/mutt/mutt/downloads/mutt-" | |
178 | version ".tar.gz") | |
179 | (string-append "ftp://ftp.mutt.org/mutt/devel/mutt-" | |
180 | version ".tar.gz"))) | |
13f04f48 AE |
181 | (sha256 |
182 | (base32 | |
63d526e2 MW |
183 | "0dzx4qk50pjfsb6cs5jahng96a52k12f7pm0sc78iqdrawg71w1s")) |
184 | (patches (list (search-patch "mutt-CVE-2014-9116.patch"))))) | |
13f04f48 AE |
185 | (build-system gnu-build-system) |
186 | (inputs | |
4fd6bf53 | 187 | `(("cyrus-sasl" ,cyrus-sasl) |
524e1df6 | 188 | ("gpgme" ,gpgme) |
4fd6bf53 | 189 | ("ncurses" ,ncurses) |
13f04f48 AE |
190 | ("openssl" ,openssl) |
191 | ("perl" ,perl))) | |
192 | (arguments | |
193 | `(#:configure-flags '("--enable-smtp" | |
194 | "--enable-imap" | |
195 | "--enable-pop" | |
524e1df6 | 196 | "--enable-gpgme" |
13f04f48 | 197 | "--with-ssl" |
4fd6bf53 | 198 | "--with-sasl" |
13f04f48 AE |
199 | ;; so that mutt does not check whether the path |
200 | ;; exists, which it does not in the chroot | |
201 | "--with-mailpath=/var/mail"))) | |
202 | (home-page "http://www.mutt.org/") | |
203 | (synopsis "Mail client") | |
204 | (description | |
205 | "Mutt is a small but very powerful text-based mail client for Unix | |
206 | operating systems.") | |
207 | (license gpl2+))) | |
681a6588 MW |
208 | |
209 | (define-public gmime | |
210 | (package | |
211 | (name "gmime") | |
212 | (version "2.6.19") | |
213 | (source (origin | |
214 | (method url-fetch) | |
75630043 | 215 | (uri (string-append "mirror://gnome/sources/gmime/" |
29a7c98a | 216 | (version-major+minor version) |
681a6588 MW |
217 | "/gmime-" version ".tar.xz")) |
218 | (sha256 | |
219 | (base32 | |
220 | "0jm1fgbjgh496rsc0il2y46qd4bqq2ln9168p4zzh68mk4ml1yxg")))) | |
221 | (build-system gnu-build-system) | |
222 | (native-inputs | |
223 | `(("pkg-config" ,pkg-config) | |
224 | ("gnupg" ,gnupg))) ; for tests only | |
225 | (inputs `(("glib" ,glib) | |
226 | ("gpgme" ,gpgme) | |
227 | ("zlib" ,zlib))) | |
228 | (arguments | |
229 | `(#:phases | |
230 | (alist-cons-after | |
231 | 'unpack 'patch-paths-in-tests | |
232 | (lambda _ | |
93c117ee MW |
233 | ;; The test programs run several programs using 'system' with |
234 | ;; hard-coded paths. Here we patch them all. We also change "gpg" | |
235 | ;; to "gpg2". We use ISO-8859-1 here because test-iconv.c contains | |
236 | ;; raw byte sequences in several different encodings. | |
237 | (with-fluids ((%default-port-encoding #f)) | |
238 | (substitute* (find-files "tests" "\\.c$") | |
239 | (("(system *\\(\")(/[^ ]*)" all pre prog-path) | |
240 | (let* ((base (basename prog-path)) | |
241 | (prog (which (if (string=? base "gpg") "gpg2" base)))) | |
242 | (string-append pre (or prog (error "not found: " base)))))))) | |
681a6588 MW |
243 | %standard-phases))) |
244 | (home-page "http://spruce.sourceforge.net/gmime/") | |
245 | (synopsis "MIME message parser and creator library") | |
246 | (description | |
247 | "GMime provides a core library and set of utilities which may be used for | |
248 | the creation and parsing of messages using the Multipurpose Internet Mail | |
249 | Extension (MIME).") | |
250 | (license (list lgpl2.1+ gpl2+ gpl3+)))) | |
251 | ||
a7e59c50 LC |
252 | (define-public bogofilter |
253 | (package | |
254 | (name "bogofilter") | |
255 | (version "1.2.4") | |
256 | (source (origin | |
257 | (method url-fetch) | |
258 | (uri (string-append "mirror://sourceforge/bogofilter/bogofilter-" | |
259 | version "/bogofilter-" | |
260 | version ".tar.bz2")) | |
261 | (sha256 | |
262 | (base32 | |
263 | "1d56n2m9inm8gnzm88aa27xl2a7sp7aff3484vmflpqkinjqf0p1")))) | |
264 | (build-system gnu-build-system) | |
265 | (arguments | |
266 | '(#:phases (alist-cons-before | |
267 | 'check 'pre-check | |
268 | (lambda _ | |
269 | (substitute* "src/tests/t.frame" | |
270 | (("GREP=/bin/grep") | |
271 | (string-append "GREP=" (which "grep") "\n")))) | |
272 | %standard-phases))) | |
273 | (native-inputs `(("flex" ,flex))) | |
274 | (inputs `(("bdb" ,bdb))) | |
275 | (home-page "http://bogofilter.sourceforge.net/") | |
276 | (synopsis "Mail classifier based on a Bayesian filter") | |
277 | (description | |
278 | "Bogofilter is a mail filter that classifies mail as spam or ham | |
279 | (non-spam) by a statistical analysis of the message's header and | |
280 | content (body). The program is able to learn from the user's classifications | |
281 | and corrections. It is based on a Bayesian filter.") | |
282 | (license gpl2))) | |
283 | ||
3919a31a EB |
284 | (define-public offlineimap |
285 | (package | |
286 | (name "offlineimap") | |
287 | (version "6.5.5") | |
288 | (source (origin | |
289 | (method url-fetch) | |
290 | (uri (string-append "https://github.com/OfflineIMAP/offlineimap/" | |
291 | "archive/v" version ".tar.gz")) | |
f586c877 | 292 | (file-name (string-append name "-" version ".tar.gz")) |
3919a31a EB |
293 | (sha256 |
294 | (base32 | |
295 | "00k84qagph3xnxss6rkxm61x07ngz8fvffx4z9jyw5baf3cdd32p")))) | |
296 | (build-system python-build-system) | |
297 | (native-inputs `(("python" ,python-2))) | |
298 | (arguments | |
299 | ;; The setup.py script expects python-2. | |
300 | `(#:python ,python-2 | |
301 | ;; Tests require a modifiable IMAP account. | |
302 | #:tests? #f)) | |
303 | (home-page "http://www.offlineimap.org") | |
304 | (synopsis "Synch emails between two repositories") | |
305 | (description | |
306 | "OfflineImap synchronizes emails between two repositories, so that you | |
307 | can read the same mailbox from multiple computers. It supports IMAP as REMOTE | |
308 | repository and Maildir/IMAP as LOCAL repository.") | |
7886e23b | 309 | (license gpl2+))) |
3919a31a | 310 | |
d2938d59 EB |
311 | (define-public mu |
312 | (package | |
313 | (name "mu") | |
945e9c0c | 314 | (version "0.9.12") |
d2938d59 EB |
315 | (source (origin |
316 | (method url-fetch) | |
922eaede | 317 | (uri (string-append "https://github.com/djcb/mu/archive/v" |
d2938d59 | 318 | version ".tar.gz")) |
922eaede | 319 | (file-name (string-append "mu-" version ".tar.gz")) |
d2938d59 EB |
320 | (sha256 |
321 | (base32 | |
945e9c0c | 322 | "1bxryacmas2llj68m2dv8dr1vwx8f5k2i2azh69jajkpqx7i4wdq")))) |
d2938d59 EB |
323 | (build-system gnu-build-system) |
324 | (native-inputs | |
325 | `(("pkg-config" ,pkg-config) | |
9fd571a2 | 326 | ("glib" ,glib "bin") ; for gtester |
922eaede PW |
327 | ("autoconf" ,autoconf) |
328 | ("automake" ,automake) | |
329 | ("libtool" ,libtool) | |
d2938d59 EB |
330 | ("texinfo" ,texinfo))) |
331 | ;; TODO: Add webkit and gtk to build the mug GUI. | |
332 | (inputs | |
333 | `(("xapian" ,xapian) | |
2d32d153 | 334 | ("emacs" ,emacs-no-x) |
d2938d59 EB |
335 | ("guile" ,guile-2.0) |
336 | ("glib" ,glib) | |
337 | ("gmime" ,gmime) | |
338 | ("tzdata" ,tzdata))) ;for mu/test/test-mu-query.c | |
339 | (arguments | |
922eaede PW |
340 | '(#:phases (alist-cons-after |
341 | 'unpack 'autoreconf | |
342 | (lambda _ | |
343 | (zero? (system* "autoreconf" "-vi"))) | |
344 | (alist-cons-before | |
345 | 'check 'check-tz-setup | |
346 | (lambda* (#:key inputs #:allow-other-keys) | |
347 | ;; For mu/test/test-mu-query.c | |
348 | (setenv "TZDIR" | |
349 | (string-append (assoc-ref inputs "tzdata") | |
350 | "/share/zoneinfo"))) | |
351 | %standard-phases)))) | |
d2938d59 EB |
352 | (home-page "http://www.djcbsoftware.nl/code/mu/") |
353 | (synopsis "Quickly find emails") | |
354 | (description | |
355 | "Mu is a tool for dealing with e-mail messages stored in the | |
356 | Maildir-format. Mu's purpose in life is to help you to quickly find the | |
357 | messages you need; in addition, it allows you to view messages, extract | |
358 | attachments, create new maildirs, and so on.") | |
359 | (license gpl3+))) | |
360 | ||
1bd3f849 DT |
361 | (define-public notmuch |
362 | (package | |
363 | (name "notmuch") | |
7f767bcc | 364 | (version "0.18.1") |
1bd3f849 DT |
365 | (source (origin |
366 | (method url-fetch) | |
367 | (uri (string-append "http://notmuchmail.org/releases/notmuch-" | |
368 | version ".tar.gz")) | |
369 | (sha256 | |
370 | (base32 | |
7f767bcc | 371 | "1pdp9l7yv71d3fjb30qyccva8h03hvg88q4a00yi50v2j70kvmgj")))) |
1bd3f849 DT |
372 | (build-system gnu-build-system) |
373 | (arguments | |
374 | '(#:tests? #f ;; FIXME: Test suite hangs and times out. | |
375 | #:phases (alist-replace | |
376 | 'configure | |
377 | (lambda* (#:key outputs #:allow-other-keys) | |
378 | (setenv "CONFIG_SHELL" (which "sh")) | |
379 | (let ((out (assoc-ref outputs "out"))) | |
380 | (zero? (system* "./configure" | |
381 | (string-append "--prefix=" out))))) | |
382 | %standard-phases))) | |
383 | (native-inputs | |
384 | `(("pkg-config" ,pkg-config))) | |
385 | (inputs | |
386 | `(("emacs" ,emacs) | |
387 | ("glib" ,glib) | |
388 | ("gmime" ,gmime) | |
389 | ("talloc" ,talloc) | |
390 | ("xapian" ,xapian) | |
391 | ("zlib" ,zlib))) | |
392 | (home-page "http://notmuchmail.org/") | |
393 | (synopsis "Thread-based email index, search, and tagging") | |
394 | (description | |
395 | "Notmuch is a command-line based program for indexing, searching, read- | |
396 | ing, and tagging large collections of email messages.") | |
397 | (license gpl3+))) | |
398 | ||
98e9e22f SB |
399 | (define-public getmail |
400 | (package | |
401 | (name "getmail") | |
402 | (version "4.46.0") | |
403 | (source | |
404 | (origin | |
405 | (method url-fetch) | |
406 | (uri (string-append "http://pyropus.ca/software/getmail/old-versions/" | |
407 | name "-" version ".tar.gz")) | |
408 | (sha256 | |
409 | (base32 | |
410 | "15rqmm25pq6ll8aaqh8h6pfdkpqs7y6yismb3h3w1bz8j292c8zl")))) | |
411 | (build-system python-build-system) | |
412 | (arguments | |
413 | `(#:tests? #f ; no tests | |
414 | #:python ,python-2)) | |
415 | (home-page "http://pyropus.ca/software/getmail/") | |
416 | (synopsis "Mail retriever") | |
417 | (description | |
418 | "A flexible, extensible mail retrieval system with support for | |
419 | POP3, IMAP4, SSL variants of both, maildirs, mboxrd files, external MDAs, | |
420 | arbitrary message filtering, single-user and domain-mailboxes, and many other | |
421 | useful features.") | |
422 | ||
423 | ;; License is specified in file '__init__.py'. | |
424 | (license gpl2))) | |
425 | ||
f58f767b JL |
426 | (define-public libetpan |
427 | (package | |
428 | (name "libetpan") | |
429 | (version "1.6") | |
430 | (source (origin | |
431 | (method url-fetch) | |
432 | (uri (string-append "https://github.com/dinhviethoa/" name | |
433 | "/archive/" version ".tar.gz")) | |
f586c877 | 434 | (file-name (string-append name "-" version ".tar.gz")) |
f58f767b JL |
435 | (sha256 |
436 | (base32 "05qyqx2c1ppb1jnrs3m52i60f9xlxfxdmb9dnwg4vqjv8kwv2qkr")))) | |
437 | (build-system gnu-build-system) | |
438 | (native-inputs `(("autoconf" ,(autoconf-wrapper)) | |
439 | ("automake" ,automake) | |
3246cc91 | 440 | ("libtool" ,libtool) |
f58f767b JL |
441 | ("pkg-config" ,pkg-config))) |
442 | (propagated-inputs | |
443 | ;; 'libetpan-config --libs' returns '-lssl -lcrypto -lsasl2', so these | |
444 | ;; libraries need to be propagated. | |
445 | `(("cyrus-sasl" ,cyrus-sasl) | |
446 | ("openssl" ,openssl))) | |
447 | (inputs | |
448 | `(("curl" ,curl) | |
449 | ("expat" ,expat))) | |
450 | (arguments | |
722ec722 MW |
451 | '(#:phases (alist-cons-after |
452 | 'unpack 'autogen | |
f58f767b | 453 | (lambda _ |
722ec722 MW |
454 | (setenv "NOCONFIGURE" "true") |
455 | (zero? (system* "sh" "autogen.sh"))) | |
f58f767b JL |
456 | %standard-phases) |
457 | #:configure-flags | |
458 | '("--disable-static" "--disable-db"))) | |
459 | (home-page "http://www.etpan.org/libetpan.html") | |
460 | (synopsis "Portable middleware for email access") | |
461 | (description | |
462 | "The purpose of this mail library is to provide a portable, efficient | |
463 | framework for different kinds of mail access: IMAP, SMTP, POP and NNTP. It | |
464 | provides an API for C language. It's the low-level API used by MailCore and | |
465 | MailCore 2.") | |
166191b3 | 466 | (license (non-copyleft "file://COPYING")))) |
f58f767b | 467 | |
e8435c4d JL |
468 | (define-public claws-mail |
469 | (package | |
470 | (name "claws-mail") | |
471 | (version "3.11.1") | |
472 | (source (origin | |
473 | (method url-fetch) | |
474 | (uri (string-append | |
6ea4b094 TUBK |
475 | "mirror://sourceforge/claws-mail/claws-mail-" version |
476 | ".tar.xz")) | |
e8435c4d JL |
477 | (sha256 |
478 | (base32 "0cyixz1jgfpi8abh9fbb8ylx9mcvw4jqj81cms666wpqr6v828yp")))) | |
479 | (build-system gnu-build-system) | |
480 | (native-inputs `(("pkg-config" ,pkg-config))) | |
481 | (inputs `(("bogofilter" ,bogofilter) | |
482 | ("curl" ,curl) | |
483 | ("dbus-glib" ,dbus-glib) | |
484 | ("dbus" ,dbus) | |
485 | ("enchant" ,enchant) | |
486 | ("expat" ,expat) | |
487 | ("ghostscript" ,ghostscript) | |
488 | ("hicolor-icon-theme" ,hicolor-icon-theme) | |
489 | ("gnupg" ,gnupg) | |
490 | ("gnutls" ,gnutls) | |
491 | ("gpgme" ,gpgme) | |
492 | ("gtk" ,gtk+-2) | |
493 | ("libarchive" ,libarchive) | |
494 | ("libcanberra" ,libcanberra) | |
495 | ("libetpan" ,libetpan) | |
496 | ("libnotify" ,libnotify) | |
497 | ("libsm" ,libsm) | |
498 | ("libxml2" ,libxml2) | |
499 | ("perl" ,perl) | |
500 | ("python-2" ,python-2))) | |
501 | (arguments | |
502 | '(#:configure-flags | |
503 | '("--enable-gnutls" "--enable-pgpmime-plugin" "--enable-enchant"))) | |
504 | (synopsis "GTK-based Email client") | |
505 | (description | |
506 | "Claws-Mail is an email client (and news reader) based on GTK+. The | |
507 | appearance and interface are designed to be familiar to new users coming from | |
508 | other popular email clients, as well as experienced users. Almost all commands | |
509 | are accessible with the keyboard. Plus, Claws-Mail is extensible via addons | |
510 | which can add many functionalities to the base client.") | |
511 | (home-page "http://www.claws-mail.org/") | |
512 | (license gpl3+))) ; most files are actually public domain or x11 | |
513 | ||
d6e941bc TČ |
514 | (define-public msmtp |
515 | (package | |
516 | (name "msmtp") | |
517 | (version "1.4.32") | |
518 | (source | |
519 | (origin | |
520 | (method url-fetch) | |
521 | (uri (string-append | |
07047881 | 522 | "mirror://sourceforge/msmtp/msmtp-" version ".tar.bz2")) |
d6e941bc TČ |
523 | (sha256 (base32 |
524 | "122z38pv4q03w3mbnhrhg4w85a51258sfdg2ips0b6cgwz3wbw1b")))) | |
525 | (build-system gnu-build-system) | |
526 | (inputs | |
527 | `(("libidn" ,libidn) | |
528 | ("gnutls" ,gnutls) | |
529 | ("zlib" ,zlib) | |
530 | ("gsasl" ,gsasl))) | |
531 | (native-inputs | |
532 | `(("pkg-config" ,pkg-config))) | |
533 | (home-page "http://msmtp.sourceforge.net/") | |
534 | (arguments | |
535 | `(#:configure-flags (list "--with-libgsasl" | |
536 | "--with-libidn" | |
537 | "--with-ssl=gnutls"))) | |
538 | (synopsis | |
539 | "Simple and easy to use SMTP client with decent sendmail compatibility") | |
540 | (description | |
541 | "msmtp is an SMTP client. In the default mode, it transmits a mail to | |
542 | an SMTP server (for example at a free mail provider) which takes care of further | |
543 | delivery.") | |
544 | (license gpl3+))) | |
545 | ||
66cc3ab2 TUBK |
546 | (define-public exim |
547 | (package | |
548 | (name "exim") | |
549 | (version "4.85") | |
550 | (source | |
551 | (origin | |
552 | (method url-fetch) | |
553 | (uri (string-append | |
554 | "ftp://ftp.exim.org/pub/exim/exim4/exim-" version ".tar.bz2")) | |
555 | (sha256 | |
556 | (base32 "195a3ll5ck9viazf9pvgcyc0sziln5g0ggmlm6ax002lphmiy88k")))) | |
557 | (build-system gnu-build-system) | |
558 | (inputs | |
559 | `(("bdb" ,bdb) | |
560 | ("gnutls" ,gnutls) | |
561 | ("gzip" ,gzip) | |
562 | ("bzip2" ,bzip2) | |
563 | ("xz" ,xz) | |
564 | ("pcre" ,pcre) | |
565 | ("perl" ,perl) | |
566 | ("libxt" ,libxt) | |
567 | ("libxaw" ,libxaw))) | |
568 | (native-inputs | |
569 | `(("perl" ,perl))) | |
570 | (arguments | |
571 | '(#:phases | |
572 | (alist-replace | |
573 | 'configure | |
574 | ;; We'd use #:make-flags but the top-level Makefile calls others | |
575 | ;; recursively, so just set all variables this way. | |
576 | (lambda* (#:key outputs inputs #:allow-other-keys) | |
577 | (substitute* '("Makefile" "OS/Makefile-Default") | |
578 | (("(RM_COMMAND=).*" all var) | |
579 | (string-append var "rm\n"))) | |
580 | (copy-file "src/EDITME" "Local/Makefile") | |
581 | (copy-file "exim_monitor/EDITME" "Local/eximon.conf") | |
582 | (let ((out (assoc-ref outputs "out")) | |
583 | (gzip (assoc-ref inputs "gzip")) | |
584 | (bzip2 (assoc-ref inputs "bzip2")) | |
585 | (xz (assoc-ref inputs "xz"))) | |
586 | (substitute* '("Local/Makefile") | |
587 | (("(BIN_DIRECTORY=).*" all var) | |
588 | (string-append var out "/bin\n")) | |
589 | (("(CONFIGURE_FILE=).*" all var) | |
590 | (string-append var out "/etc/exim.conf\n")) | |
591 | (("(EXIM_USER=).*" all var) | |
592 | (string-append var "nobody\n")) | |
593 | (("(FIXED_NEVER_USERS=).*" all var) | |
594 | (string-append var "\n")) ;XXX no root in build environment | |
595 | (("(COMPRESS_COMMAND=).*" all var) | |
596 | (string-append var gzip "/bin/gzip\n")) | |
597 | (("(ZCAT_COMMAND=).*" all var) | |
598 | (string-append var gzip "/bin/zcat\n"))) | |
599 | ;; This file has hardcoded names for tools despite the zcat | |
600 | ;; configuration above. | |
601 | (substitute* '("src/exigrep.src") | |
602 | (("'zcat'") (string-append "'" gzip "/bin/zcat'")) | |
603 | (("'bzcat'") (string-append "'" bzip2 "/bin/bzcat'")) | |
604 | (("'xzcat'") (string-append "'" xz "/bin/xzcat'")) | |
605 | (("'lzma'") (string-append "'" xz "/bin/lzma'"))))) | |
606 | (alist-cons-before | |
607 | 'build 'fix-sh-paths | |
608 | (lambda* (#:key inputs #:allow-other-keys) | |
609 | (substitute* '("scripts/lookups-Makefile" "scripts/reversion") | |
610 | (("SHELL=/bin/sh") "SHELL=sh")) | |
611 | (substitute* '("scripts/Configure-config.h") | |
612 | (("\\| /bin/sh") "| sh")) | |
613 | (let ((bash (assoc-ref inputs "bash"))) | |
614 | (substitute* '("scripts/Configure-eximon") | |
615 | (("#!/bin/sh") (string-append "#!" bash "/bin/sh"))))) | |
616 | %standard-phases)) | |
617 | #:make-flags '("INSTALL_ARG=-no_chown") | |
618 | ;; No 'check' target. | |
619 | #:tests? #f)) | |
620 | (home-page "http://www.exim.org/") | |
621 | (synopsis | |
622 | "Message Transfer Agent (MTA) developed at the University of Cambridge") | |
623 | (description | |
624 | "Exim is a message transfer agent (MTA) developed at the University of | |
625 | Cambridge for use on Unix systems connected to the Internet. In style it is | |
626 | similar to Smail 3, but its facilities are more general. There is a great | |
627 | deal of flexibility in the way mail can be routed, and there are extensive | |
628 | facilities for checking incoming mail.") | |
629 | (license gpl2+))) | |
630 | ||
81ce19f4 TČ |
631 | (define-public isync |
632 | (package | |
633 | (name "isync") | |
634 | (version "1.1.2") | |
635 | (source | |
636 | (origin | |
637 | (method url-fetch) | |
638 | (uri (string-append "mirror://sourceforge/isync/isync/" | |
639 | version "/isync-" version ".tar.gz")) | |
640 | (sha256 (base32 | |
641 | "1960ah3fmp75cakd06lcx50n5q0yvfsadjh3lffhyvjvj7ava9d2")))) | |
642 | (build-system gnu-build-system) | |
643 | (inputs | |
644 | `(("bdb" ,bdb) | |
645 | ("openssl" ,openssl))) | |
646 | (home-page "http://isync.sourceforge.net/") | |
647 | (synopsis "Mailbox synchronization program") | |
648 | (description | |
649 | "isync/mbsync is command line tool for two-way synchronization of | |
650 | mailboxes. Currently Maildir and IMAP are supported types.") | |
651 | (license gpl2+))) | |
652 | ||
ebda902f EB |
653 | (define-public perl-email-address |
654 | (package | |
655 | (name "perl-email-address") | |
656 | (version "1.907") | |
657 | (source | |
658 | (origin | |
659 | (method url-fetch) | |
660 | (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" | |
661 | "Email-Address-" version ".tar.gz")) | |
662 | (sha256 | |
663 | (base32 | |
664 | "1ai4r149pzjv9dc2vddir8zylj0z1pii93rm4g591lx7avim71hx")))) | |
665 | (build-system perl-build-system) | |
666 | (home-page "http://search.cpan.org/dist/Email-Address") | |
667 | (synopsis "Email address parsing and creation") | |
668 | (description "Email::Address implements a regex-based RFC 2822 parser that | |
669 | locates email addresses in strings and returns a list of Email::Address | |
670 | objects found. Alternatively you may construct objects manually.") | |
671 | (license (package-license perl)))) | |
672 | ||
08bf7095 EB |
673 | (define-public perl-email-messageid |
674 | (package | |
675 | (name "perl-email-messageid") | |
676 | (version "1.405") | |
677 | (source | |
678 | (origin | |
679 | (method url-fetch) | |
680 | (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" | |
681 | "Email-MessageID-" version ".tar.gz")) | |
682 | (sha256 | |
683 | (base32 | |
684 | "09216naz21x99ff33wdm3j3zq1zhdbxhrsmx8bvavjrw3gjsvrq3")))) | |
685 | (build-system perl-build-system) | |
686 | (home-page "http://search.cpan.org/dist/Email-MessageID") | |
687 | (synopsis "Generate world unique message-ids") | |
688 | (description "Email::MessageID generates recommended message-ids to | |
689 | identify a message uniquely.") | |
690 | (license (package-license perl)))) | |
691 | ||
55025bb5 EB |
692 | (define-public perl-email-mime-contenttype |
693 | (package | |
694 | (name "perl-email-mime-contenttype") | |
695 | (version "1.017") | |
696 | (source | |
697 | (origin | |
698 | (method url-fetch) | |
699 | (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" | |
700 | "Email-MIME-ContentType-" version ".tar.gz")) | |
701 | (sha256 | |
702 | (base32 | |
703 | "1cl1l97lg690dh7i704hqi7yhxalq1chy7ylld5yc5v38jqa6gcn")))) | |
704 | (build-system perl-build-system) | |
705 | (native-inputs | |
706 | `(("perl-capture-tiny" ,perl-capture-tiny))) | |
707 | (home-page "http://search.cpan.org/dist/Email-MIME-ContentType") | |
708 | (synopsis "Parse MIME Content-Type headers") | |
709 | (description "Email::MIME::ContentType parses a MIME Content-Type | |
710 | header.") | |
711 | (license (package-license perl)))) | |
712 | ||
681a6588 | 713 | ;;; mail.scm ends here |