system: Rename (gnu system linux) to (gnu system pam).
[jackhill/guix/guix.git] / gnu / packages / mail.scm
CommitLineData
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>
2e88d113 10;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
a661e420
LC
11;;;
12;;; This file is part of GNU Guix.
13;;;
14;;; GNU Guix is free software; you can redistribute it and/or modify it
15;;; under the terms of the GNU General Public License as published by
16;;; the Free Software Foundation; either version 3 of the License, or (at
17;;; your option) any later version.
18;;;
19;;; GNU Guix is distributed in the hope that it will be useful, but
20;;; WITHOUT ANY WARRANTY; without even the implied warranty of
21;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22;;; GNU General Public License for more details.
23;;;
24;;; You should have received a copy of the GNU General Public License
25;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
26
1fdd3ee2 27(define-module (gnu packages mail)
59a43334 28 #:use-module (gnu packages)
d983a14f 29 #:use-module (gnu packages autotools)
d2938d59 30 #:use-module (gnu packages base)
e8435c4d 31 #:use-module (gnu packages backup)
ee886454 32 #:use-module (gnu packages bash)
f58f767b 33 #:use-module (gnu packages curl)
4fd6bf53 34 #:use-module (gnu packages cyrus-sasl)
81ce19f4 35 #:use-module (gnu packages databases)
d983a14f 36 #:use-module (gnu packages dejagnu)
d2938d59 37 #:use-module (gnu packages emacs)
e8435c4d 38 #:use-module (gnu packages enchant)
e8435c4d 39 #:use-module (gnu packages ghostscript)
d2938d59 40 #:use-module (gnu packages glib)
e8435c4d 41 #:use-module (gnu packages gnome)
524e1df6 42 #:use-module (gnu packages gnupg)
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)
1ffa7090 50 #:use-module (gnu packages ncurses)
66cc3ab2 51 #:use-module (gnu packages pcre)
13f04f48 52 #:use-module (gnu packages perl)
3919a31a 53 #:use-module (gnu packages python)
1ffa7090 54 #:use-module (gnu packages readline)
d2938d59 55 #:use-module (gnu packages search)
1ffa7090 56 #:use-module (gnu packages texinfo)
681a6588
MW
57 #:use-module (gnu packages compression)
58 #:use-module (gnu packages glib)
59 #:use-module (gnu packages pkg-config)
a7e59c50 60 #:use-module (gnu packages flex)
1bd3f849
DT
61 #:use-module (gnu packages gdb)
62 #:use-module (gnu packages samba)
a7fd7b68 63 #:use-module (gnu packages tls)
f58f767b 64 #:use-module (gnu packages xml)
e8435c4d 65 #:use-module (gnu packages xorg)
d983a14f 66 #:use-module ((guix licenses)
7d2b784b
MW
67 #:select (gpl2 gpl2+ gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ non-copyleft
68 (expat . license:expat)))
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
128processing electronic mail. It contains both utilities and server daemons
129and all operate in a protocol-agnostic way. The underlying libraries are
130also available, simplifying the addition of mail capabilities to new
131software.")
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
157retrieval and forwarding utility intended to be used over on-demand
158TCP/IP links (such as SLIP or PPP connections). It supports every
159remote-mail protocol now in use on the Internet: POP2, POP3, RPOP, APOP,
160KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6
161and IPSEC.
162
163Fetchmail retrieves mail from remote mail servers and forwards it via SMTP,
164so it can then be read by normal mail user agents such as mutt, elm
165or BSD Mail. It allows all your system MTA's filtering, forwarding, and
166aliasing 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")
d82633d0 172 (version "1.5.24")
13f04f48
AE
173 (source (origin
174 (method url-fetch)
d82633d0
AE
175 (uri (string-append "ftp://ftp.mutt.org/pub/mutt/mutt-"
176 version ".tar.gz"))
13f04f48
AE
177 (sha256
178 (base32
d82633d0
AE
179 "0012njrgxf1barjksqkx7ccid2l0xyikhna9mjs9vcfpbrvcm4m2"))
180 (patches (list (search-patch "mutt-store-references.patch")))))
13f04f48
AE
181 (build-system gnu-build-system)
182 (inputs
4fd6bf53 183 `(("cyrus-sasl" ,cyrus-sasl)
524e1df6 184 ("gpgme" ,gpgme)
4fd6bf53 185 ("ncurses" ,ncurses)
13f04f48
AE
186 ("openssl" ,openssl)
187 ("perl" ,perl)))
188 (arguments
189 `(#:configure-flags '("--enable-smtp"
190 "--enable-imap"
191 "--enable-pop"
524e1df6 192 "--enable-gpgme"
13f04f48 193 "--with-ssl"
4fd6bf53 194 "--with-sasl"
13f04f48
AE
195 ;; so that mutt does not check whether the path
196 ;; exists, which it does not in the chroot
197 "--with-mailpath=/var/mail")))
198 (home-page "http://www.mutt.org/")
199 (synopsis "Mail client")
200 (description
201 "Mutt is a small but very powerful text-based mail client for Unix
202operating systems.")
203 (license gpl2+)))
681a6588
MW
204
205(define-public gmime
206 (package
207 (name "gmime")
208 (version "2.6.19")
209 (source (origin
210 (method url-fetch)
75630043 211 (uri (string-append "mirror://gnome/sources/gmime/"
29a7c98a 212 (version-major+minor version)
681a6588
MW
213 "/gmime-" version ".tar.xz"))
214 (sha256
215 (base32
216 "0jm1fgbjgh496rsc0il2y46qd4bqq2ln9168p4zzh68mk4ml1yxg"))))
217 (build-system gnu-build-system)
218 (native-inputs
219 `(("pkg-config" ,pkg-config)
220 ("gnupg" ,gnupg))) ; for tests only
221 (inputs `(("glib" ,glib)
222 ("gpgme" ,gpgme)
223 ("zlib" ,zlib)))
224 (arguments
225 `(#:phases
226 (alist-cons-after
227 'unpack 'patch-paths-in-tests
228 (lambda _
93c117ee
MW
229 ;; The test programs run several programs using 'system' with
230 ;; hard-coded paths. Here we patch them all. We also change "gpg"
231 ;; to "gpg2". We use ISO-8859-1 here because test-iconv.c contains
232 ;; raw byte sequences in several different encodings.
233 (with-fluids ((%default-port-encoding #f))
234 (substitute* (find-files "tests" "\\.c$")
235 (("(system *\\(\")(/[^ ]*)" all pre prog-path)
236 (let* ((base (basename prog-path))
237 (prog (which (if (string=? base "gpg") "gpg2" base))))
238 (string-append pre (or prog (error "not found: " base))))))))
681a6588
MW
239 %standard-phases)))
240 (home-page "http://spruce.sourceforge.net/gmime/")
241 (synopsis "MIME message parser and creator library")
242 (description
243 "GMime provides a core library and set of utilities which may be used for
244the creation and parsing of messages using the Multipurpose Internet Mail
245Extension (MIME).")
246 (license (list lgpl2.1+ gpl2+ gpl3+))))
247
a7e59c50
LC
248(define-public bogofilter
249 (package
250 (name "bogofilter")
251 (version "1.2.4")
252 (source (origin
253 (method url-fetch)
254 (uri (string-append "mirror://sourceforge/bogofilter/bogofilter-"
255 version "/bogofilter-"
256 version ".tar.bz2"))
257 (sha256
258 (base32
259 "1d56n2m9inm8gnzm88aa27xl2a7sp7aff3484vmflpqkinjqf0p1"))))
260 (build-system gnu-build-system)
261 (arguments
262 '(#:phases (alist-cons-before
263 'check 'pre-check
264 (lambda _
265 (substitute* "src/tests/t.frame"
266 (("GREP=/bin/grep")
267 (string-append "GREP=" (which "grep") "\n"))))
268 %standard-phases)))
269 (native-inputs `(("flex" ,flex)))
270 (inputs `(("bdb" ,bdb)))
271 (home-page "http://bogofilter.sourceforge.net/")
272 (synopsis "Mail classifier based on a Bayesian filter")
273 (description
274 "Bogofilter is a mail filter that classifies mail as spam or ham
275 (non-spam) by a statistical analysis of the message's header and
276content (body). The program is able to learn from the user's classifications
277and corrections. It is based on a Bayesian filter.")
278 (license gpl2)))
279
3919a31a
EB
280(define-public offlineimap
281 (package
282 (name "offlineimap")
07cd148c 283 (version "6.5.7")
3919a31a
EB
284 (source (origin
285 (method url-fetch)
286 (uri (string-append "https://github.com/OfflineIMAP/offlineimap/"
287 "archive/v" version ".tar.gz"))
f586c877 288 (file-name (string-append name "-" version ".tar.gz"))
3919a31a
EB
289 (sha256
290 (base32
07cd148c 291 "18whwc4f8nk8gi3mjw9153c9cvwd3i9i7njmpdbhcplrv33m5pmp"))))
3919a31a
EB
292 (build-system python-build-system)
293 (native-inputs `(("python" ,python-2)))
294 (arguments
295 ;; The setup.py script expects python-2.
296 `(#:python ,python-2
297 ;; Tests require a modifiable IMAP account.
298 #:tests? #f))
299 (home-page "http://www.offlineimap.org")
300 (synopsis "Synch emails between two repositories")
301 (description
302 "OfflineImap synchronizes emails between two repositories, so that you
303can read the same mailbox from multiple computers. It supports IMAP as REMOTE
304repository and Maildir/IMAP as LOCAL repository.")
7886e23b 305 (license gpl2+)))
3919a31a 306
c21317d4
LC
307(define %mu-gtester-patch
308 ;; Ensure tests have unique names, to placate GLib 2.6's gtester.
309 (origin
310 (method url-fetch)
311 (uri "https://github.com/djcb/mu/commit/b44039ed.patch")
312 (sha256
313 (base32
314 "165hryqqhx3wah8a4f5jaq465azx1pm9r4jid7880pys9gd88qlv"))))
315
d2938d59
EB
316(define-public mu
317 (package
318 (name "mu")
c284e78f 319 (version "0.9.13")
d2938d59
EB
320 (source (origin
321 (method url-fetch)
922eaede 322 (uri (string-append "https://github.com/djcb/mu/archive/v"
d2938d59 323 version ".tar.gz"))
922eaede 324 (file-name (string-append "mu-" version ".tar.gz"))
d2938d59
EB
325 (sha256
326 (base32
c21317d4
LC
327 "0wj33pma8xgjvn2akk7khzbycwn4c9sshxvzdph9dnpy7gyqxj51"))
328 (patches (list %mu-gtester-patch))))
d2938d59
EB
329 (build-system gnu-build-system)
330 (native-inputs
331 `(("pkg-config" ,pkg-config)
9fd571a2 332 ("glib" ,glib "bin") ; for gtester
922eaede
PW
333 ("autoconf" ,autoconf)
334 ("automake" ,automake)
335 ("libtool" ,libtool)
d2938d59
EB
336 ("texinfo" ,texinfo)))
337 ;; TODO: Add webkit and gtk to build the mug GUI.
338 (inputs
339 `(("xapian" ,xapian)
2d32d153 340 ("emacs" ,emacs-no-x)
d2938d59
EB
341 ("guile" ,guile-2.0)
342 ("glib" ,glib)
343 ("gmime" ,gmime)
344 ("tzdata" ,tzdata))) ;for mu/test/test-mu-query.c
345 (arguments
922eaede
PW
346 '(#:phases (alist-cons-after
347 'unpack 'autoreconf
348 (lambda _
349 (zero? (system* "autoreconf" "-vi")))
350 (alist-cons-before
351 'check 'check-tz-setup
352 (lambda* (#:key inputs #:allow-other-keys)
353 ;; For mu/test/test-mu-query.c
354 (setenv "TZDIR"
355 (string-append (assoc-ref inputs "tzdata")
356 "/share/zoneinfo")))
357 %standard-phases))))
d2938d59
EB
358 (home-page "http://www.djcbsoftware.nl/code/mu/")
359 (synopsis "Quickly find emails")
360 (description
361 "Mu is a tool for dealing with e-mail messages stored in the
362Maildir-format. Mu's purpose in life is to help you to quickly find the
363messages you need; in addition, it allows you to view messages, extract
364attachments, create new maildirs, and so on.")
365 (license gpl3+)))
366
1bd3f849
DT
367(define-public notmuch
368 (package
369 (name "notmuch")
eb537f57 370 (version "0.20.2")
1bd3f849
DT
371 (source (origin
372 (method url-fetch)
373 (uri (string-append "http://notmuchmail.org/releases/notmuch-"
374 version ".tar.gz"))
375 (sha256
376 (base32
eb537f57 377 "1v5dcnlg4km5hfaq0i0qywq5fn66fi0rq4aaibyqkwxz8mis4hgp"))))
1bd3f849
DT
378 (build-system gnu-build-system)
379 (arguments
eb537f57
DT
380 '(#:tests? #f ;; FIXME: 637 tests; 70 fail and 98 are skipped
381 #:phases (modify-phases %standard-phases
382 (replace 'configure
383 (lambda* (#:key outputs #:allow-other-keys)
384 (setenv "CC" "gcc")
385 (setenv "CONFIG_SHELL" (which "sh"))
ee886454 386
eb537f57
DT
387 (let ((out (assoc-ref outputs "out")))
388 (zero? (system* "./configure"
389 (string-append "--prefix=" out)))))))))
1bd3f849 390 (native-inputs
ee886454
MW
391 `(("pkg-config" ,pkg-config)
392 ("python" ,python-2)
eb537f57
DT
393 ("python-docutils" ,python2-docutils)
394 ("python-sphinx" ,python2-sphinx)
ee886454 395 ("bash-completion" ,bash-completion)))
1bd3f849
DT
396 (inputs
397 `(("emacs" ,emacs)
398 ("glib" ,glib)
399 ("gmime" ,gmime)
400 ("talloc" ,talloc)
401 ("xapian" ,xapian)
402 ("zlib" ,zlib)))
403 (home-page "http://notmuchmail.org/")
404 (synopsis "Thread-based email index, search, and tagging")
405 (description
406 "Notmuch is a command-line based program for indexing, searching, read-
407ing, and tagging large collections of email messages.")
408 (license gpl3+)))
409
1c74da21
LC
410(define-public python2-notmuch
411 (package
412 (name "python2-notmuch")
413 (version "0.15.2")
414 (source (origin
415 (method url-fetch)
416 (uri (string-append
417 "https://pypi.python.org/packages/source/n/notmuch/notmuch-"
418 version
419 ".tar.gz"))
420 (sha256
421 (base32
422 "18g8701ibr153ngsz258kgcd42wqnbf9ifpqig1bijy6b0zx9xn5"))))
423 (build-system python-build-system)
424 (inputs `(("notmuch" ,notmuch)))
425 (arguments
426 `(#:python ,python-2
427 #:phases (modify-phases %standard-phases
428 (add-before
429 'build 'set-libnotmuch-file-name
430 (lambda* (#:key inputs #:allow-other-keys)
431 (let ((notmuch (assoc-ref inputs "notmuch")))
432 (substitute* "notmuch/globals.py"
433 (("libnotmuch\\.so\\.[0-9]")
434 (string-append notmuch "/lib/libnotmuch.so.4")))
435 #t))))
436 #:tests? #f)) ;no "test" target
437 (home-page "http://notmuchmail.org/")
438 (synopsis "Python bindings of the Notmuch mail indexing library")
439 (description
440 "This package provides Python bindings to use the Notmuch mail indexing
441and search library.")
442 (license gpl3+)))
443
98e9e22f
SB
444(define-public getmail
445 (package
446 (name "getmail")
447 (version "4.46.0")
448 (source
449 (origin
450 (method url-fetch)
451 (uri (string-append "http://pyropus.ca/software/getmail/old-versions/"
452 name "-" version ".tar.gz"))
453 (sha256
454 (base32
455 "15rqmm25pq6ll8aaqh8h6pfdkpqs7y6yismb3h3w1bz8j292c8zl"))))
456 (build-system python-build-system)
457 (arguments
458 `(#:tests? #f ; no tests
459 #:python ,python-2))
460 (home-page "http://pyropus.ca/software/getmail/")
461 (synopsis "Mail retriever")
462 (description
463 "A flexible, extensible mail retrieval system with support for
464POP3, IMAP4, SSL variants of both, maildirs, mboxrd files, external MDAs,
465arbitrary message filtering, single-user and domain-mailboxes, and many other
466useful features.")
467
468 ;; License is specified in file '__init__.py'.
469 (license gpl2)))
470
f58f767b
JL
471(define-public libetpan
472 (package
473 (name "libetpan")
474 (version "1.6")
475 (source (origin
476 (method url-fetch)
477 (uri (string-append "https://github.com/dinhviethoa/" name
478 "/archive/" version ".tar.gz"))
f586c877 479 (file-name (string-append name "-" version ".tar.gz"))
f58f767b
JL
480 (sha256
481 (base32 "05qyqx2c1ppb1jnrs3m52i60f9xlxfxdmb9dnwg4vqjv8kwv2qkr"))))
482 (build-system gnu-build-system)
483 (native-inputs `(("autoconf" ,(autoconf-wrapper))
484 ("automake" ,automake)
3246cc91 485 ("libtool" ,libtool)
f58f767b
JL
486 ("pkg-config" ,pkg-config)))
487 (propagated-inputs
488 ;; 'libetpan-config --libs' returns '-lssl -lcrypto -lsasl2', so these
489 ;; libraries need to be propagated.
490 `(("cyrus-sasl" ,cyrus-sasl)
491 ("openssl" ,openssl)))
492 (inputs
493 `(("curl" ,curl)
494 ("expat" ,expat)))
495 (arguments
722ec722
MW
496 '(#:phases (alist-cons-after
497 'unpack 'autogen
f58f767b 498 (lambda _
722ec722
MW
499 (setenv "NOCONFIGURE" "true")
500 (zero? (system* "sh" "autogen.sh")))
f58f767b
JL
501 %standard-phases)
502 #:configure-flags
503 '("--disable-static" "--disable-db")))
504 (home-page "http://www.etpan.org/libetpan.html")
505 (synopsis "Portable middleware for email access")
506 (description
507 "The purpose of this mail library is to provide a portable, efficient
508framework for different kinds of mail access: IMAP, SMTP, POP and NNTP. It
509provides an API for C language. It's the low-level API used by MailCore and
510MailCore 2.")
166191b3 511 (license (non-copyleft "file://COPYING"))))
f58f767b 512
e8435c4d
JL
513(define-public claws-mail
514 (package
515 (name "claws-mail")
762b1971 516 (version "3.13.0")
e8435c4d
JL
517 (source (origin
518 (method url-fetch)
519 (uri (string-append
762b1971 520 "http://www.claws-mail.org/releases/" name "-" version
6ea4b094 521 ".tar.xz"))
e8435c4d 522 (sha256
762b1971 523 (base32 "0fpr9gdgrs5yggm61a6135ca06x0cflddsh8dwfqmpb3dj07cl1n"))))
e8435c4d
JL
524 (build-system gnu-build-system)
525 (native-inputs `(("pkg-config" ,pkg-config)))
526 (inputs `(("bogofilter" ,bogofilter)
527 ("curl" ,curl)
528 ("dbus-glib" ,dbus-glib)
e8435c4d
JL
529 ("enchant" ,enchant)
530 ("expat" ,expat)
531 ("ghostscript" ,ghostscript)
532 ("hicolor-icon-theme" ,hicolor-icon-theme)
533 ("gnupg" ,gnupg)
534 ("gnutls" ,gnutls)
535 ("gpgme" ,gpgme)
536 ("gtk" ,gtk+-2)
537 ("libarchive" ,libarchive)
538 ("libcanberra" ,libcanberra)
539 ("libetpan" ,libetpan)
540 ("libnotify" ,libnotify)
541 ("libsm" ,libsm)
542 ("libxml2" ,libxml2)
543 ("perl" ,perl)
544 ("python-2" ,python-2)))
545 (arguments
546 '(#:configure-flags
547 '("--enable-gnutls" "--enable-pgpmime-plugin" "--enable-enchant")))
548 (synopsis "GTK-based Email client")
549 (description
550 "Claws-Mail is an email client (and news reader) based on GTK+. The
551appearance and interface are designed to be familiar to new users coming from
552other popular email clients, as well as experienced users. Almost all commands
553are accessible with the keyboard. Plus, Claws-Mail is extensible via addons
554which can add many functionalities to the base client.")
555 (home-page "http://www.claws-mail.org/")
556 (license gpl3+))) ; most files are actually public domain or x11
557
d6e941bc
558(define-public msmtp
559 (package
560 (name "msmtp")
561 (version "1.4.32")
562 (source
563 (origin
564 (method url-fetch)
565 (uri (string-append
07047881 566 "mirror://sourceforge/msmtp/msmtp-" version ".tar.bz2"))
d6e941bc
567 (sha256 (base32
568 "122z38pv4q03w3mbnhrhg4w85a51258sfdg2ips0b6cgwz3wbw1b"))))
569 (build-system gnu-build-system)
570 (inputs
571 `(("libidn" ,libidn)
572 ("gnutls" ,gnutls)
573 ("zlib" ,zlib)
574 ("gsasl" ,gsasl)))
575 (native-inputs
576 `(("pkg-config" ,pkg-config)))
577 (home-page "http://msmtp.sourceforge.net/")
578 (arguments
579 `(#:configure-flags (list "--with-libgsasl"
580 "--with-libidn"
581 "--with-ssl=gnutls")))
582 (synopsis
583 "Simple and easy to use SMTP client with decent sendmail compatibility")
584 (description
585 "msmtp is an SMTP client. In the default mode, it transmits a mail to
586an SMTP server (for example at a free mail provider) which takes care of further
587delivery.")
588 (license gpl3+)))
589
66cc3ab2
TUBK
590(define-public exim
591 (package
592 (name "exim")
593 (version "4.85")
594 (source
595 (origin
596 (method url-fetch)
597 (uri (string-append
598 "ftp://ftp.exim.org/pub/exim/exim4/exim-" version ".tar.bz2"))
599 (sha256
600 (base32 "195a3ll5ck9viazf9pvgcyc0sziln5g0ggmlm6ax002lphmiy88k"))))
601 (build-system gnu-build-system)
602 (inputs
603 `(("bdb" ,bdb)
604 ("gnutls" ,gnutls)
605 ("gzip" ,gzip)
606 ("bzip2" ,bzip2)
607 ("xz" ,xz)
608 ("pcre" ,pcre)
609 ("perl" ,perl)
610 ("libxt" ,libxt)
611 ("libxaw" ,libxaw)))
612 (native-inputs
613 `(("perl" ,perl)))
614 (arguments
615 '(#:phases
616 (alist-replace
617 'configure
618 ;; We'd use #:make-flags but the top-level Makefile calls others
619 ;; recursively, so just set all variables this way.
620 (lambda* (#:key outputs inputs #:allow-other-keys)
621 (substitute* '("Makefile" "OS/Makefile-Default")
622 (("(RM_COMMAND=).*" all var)
623 (string-append var "rm\n")))
624 (copy-file "src/EDITME" "Local/Makefile")
625 (copy-file "exim_monitor/EDITME" "Local/eximon.conf")
626 (let ((out (assoc-ref outputs "out"))
627 (gzip (assoc-ref inputs "gzip"))
628 (bzip2 (assoc-ref inputs "bzip2"))
629 (xz (assoc-ref inputs "xz")))
630 (substitute* '("Local/Makefile")
631 (("(BIN_DIRECTORY=).*" all var)
632 (string-append var out "/bin\n"))
633 (("(CONFIGURE_FILE=).*" all var)
634 (string-append var out "/etc/exim.conf\n"))
635 (("(EXIM_USER=).*" all var)
636 (string-append var "nobody\n"))
637 (("(FIXED_NEVER_USERS=).*" all var)
638 (string-append var "\n")) ;XXX no root in build environment
639 (("(COMPRESS_COMMAND=).*" all var)
640 (string-append var gzip "/bin/gzip\n"))
641 (("(ZCAT_COMMAND=).*" all var)
642 (string-append var gzip "/bin/zcat\n")))
643 ;; This file has hardcoded names for tools despite the zcat
644 ;; configuration above.
645 (substitute* '("src/exigrep.src")
646 (("'zcat'") (string-append "'" gzip "/bin/zcat'"))
647 (("'bzcat'") (string-append "'" bzip2 "/bin/bzcat'"))
648 (("'xzcat'") (string-append "'" xz "/bin/xzcat'"))
649 (("'lzma'") (string-append "'" xz "/bin/lzma'")))))
650 (alist-cons-before
651 'build 'fix-sh-paths
652 (lambda* (#:key inputs #:allow-other-keys)
653 (substitute* '("scripts/lookups-Makefile" "scripts/reversion")
654 (("SHELL=/bin/sh") "SHELL=sh"))
655 (substitute* '("scripts/Configure-config.h")
656 (("\\| /bin/sh") "| sh"))
657 (let ((bash (assoc-ref inputs "bash")))
658 (substitute* '("scripts/Configure-eximon")
659 (("#!/bin/sh") (string-append "#!" bash "/bin/sh")))))
660 %standard-phases))
661 #:make-flags '("INSTALL_ARG=-no_chown")
662 ;; No 'check' target.
663 #:tests? #f))
664 (home-page "http://www.exim.org/")
665 (synopsis
666 "Message Transfer Agent (MTA) developed at the University of Cambridge")
667 (description
668 "Exim is a message transfer agent (MTA) developed at the University of
669Cambridge for use on Unix systems connected to the Internet. In style it is
670similar to Smail 3, but its facilities are more general. There is a great
671deal of flexibility in the way mail can be routed, and there are extensive
672facilities for checking incoming mail.")
673 (license gpl2+)))
674
7d2b784b
MW
675(define-public dovecot
676 (package
677 (name "dovecot")
678 (version "2.2.16")
679 (source
680 (origin
681 (method url-fetch)
682 (uri (string-append "http://www.dovecot.org/releases/"
683 (version-major+minor version) "/"
684 name "-" version ".tar.gz"))
685 (sha256 (base32
686 "1w6gg4h9mxg3i8faqpmgj19imzyy001b0v8ihch8ma3zl63i5kjn"))))
687 (build-system gnu-build-system)
688 (native-inputs
689 `(("pkg-config" ,pkg-config)))
690 (inputs
691 `(("openssl" ,openssl)
692 ("zlib" ,zlib)
693 ("bzip2" ,bzip2)
694 ("sqlite" ,sqlite)))
695 (arguments
696 `(#:configure-flags '("--sysconfdir=/etc"
697 "--localstatedir=/var")
698 #:phases (modify-phases %standard-phases
699 (add-before
700 'configure 'pre-configure
701 (lambda _
702 ;; Simple hack to avoid installing in /etc
703 (substitute* '("doc/Makefile.in"
704 "doc/example-config/Makefile.in")
705 (("pkgsysconfdir = .*")
706 "pkgsysconfdir = /tmp/etc"))
707 #t)))))
708 (home-page "http://www.dovecot.org")
709 (synopsis "Secure POP3/IMAP server")
710 (description
711 "Dovecot is a mail server whose major goals are security and reliability.
712It supports mbox/Maildir and its own dbox/mdbox formats.")
713 ;; Most source files are covered by either lgpl2.1 or expat. The SHA code
714 ;; is covered by a variant of BSD-3, and UnicodeData.txt is covered by the
715 ;; Unicode, Inc. License Agreement for Data Files and Software.
716 (license (list lgpl2.1 license:expat (non-copyleft "file://COPYING")))))
717
81ce19f4
718(define-public isync
719 (package
720 (name "isync")
721 (version "1.1.2")
722 (source
723 (origin
724 (method url-fetch)
725 (uri (string-append "mirror://sourceforge/isync/isync/"
726 version "/isync-" version ".tar.gz"))
727 (sha256 (base32
728 "1960ah3fmp75cakd06lcx50n5q0yvfsadjh3lffhyvjvj7ava9d2"))))
729 (build-system gnu-build-system)
730 (inputs
731 `(("bdb" ,bdb)
732 ("openssl" ,openssl)))
733 (home-page "http://isync.sourceforge.net/")
734 (synopsis "Mailbox synchronization program")
735 (description
736 "isync/mbsync is command line tool for two-way synchronization of
737mailboxes. Currently Maildir and IMAP are supported types.")
738 (license gpl2+)))
739
26b8de19
EB
740(define-public perl-email-abstract
741 (package
742 (name "perl-email-abstract")
743 (version "3.008")
744 (source
745 (origin
746 (method url-fetch)
747 (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
748 "Email-Abstract-" version ".tar.gz"))
749 (sha256
750 (base32
751 "0h42rhvp769wb421cpbbg6v6xjp8iv86mvz70pqgfgf4nsn6jwgw"))))
752 (build-system perl-build-system)
753 (propagated-inputs
754 `(("perl-email-simple" ,perl-email-simple)
755 ("perl-mro-compat" ,perl-mro-compat)))
756 (home-page "http://search.cpan.org/dist/Email-Abstract")
757 (synopsis "Interface to mail representations")
758 (description "Email::Abstract provides module writers with the ability to
759write simple, representation-independent mail handling code.")
760 (license (package-license perl))))
761
ebda902f
EB
762(define-public perl-email-address
763 (package
764 (name "perl-email-address")
765 (version "1.907")
766 (source
767 (origin
768 (method url-fetch)
769 (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
770 "Email-Address-" version ".tar.gz"))
771 (sha256
772 (base32
773 "1ai4r149pzjv9dc2vddir8zylj0z1pii93rm4g591lx7avim71hx"))))
774 (build-system perl-build-system)
775 (home-page "http://search.cpan.org/dist/Email-Address")
776 (synopsis "Email address parsing and creation")
777 (description "Email::Address implements a regex-based RFC 2822 parser that
778locates email addresses in strings and returns a list of Email::Address
779objects found. Alternatively you may construct objects manually.")
780 (license (package-license perl))))
781
aa86a3be
EB
782(define-public perl-email-date-format
783 (package
784 (name "perl-email-date-format")
785 (version "1.005")
786 (source
787 (origin
788 (method url-fetch)
789 (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
790 "Email-Date-Format-" version ".tar.gz"))
791 (sha256
792 (base32
793 "012ivfwpnbl3wr50f9c6f4azhdlxnm31pdn72528g79v61z6372p"))))
794 (build-system perl-build-system)
795 (home-page "http://search.cpan.org/dist/Email-Date-Format")
796 (synopsis "Produce RFC 2822 date strings")
797 (description "Email::Date::Format provides a means for generating an RFC
7982822 compliant datetime string.")
799 (license (package-license perl))))
800
08bf7095
EB
801(define-public perl-email-messageid
802 (package
803 (name "perl-email-messageid")
804 (version "1.405")
805 (source
806 (origin
807 (method url-fetch)
808 (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
809 "Email-MessageID-" version ".tar.gz"))
810 (sha256
811 (base32
812 "09216naz21x99ff33wdm3j3zq1zhdbxhrsmx8bvavjrw3gjsvrq3"))))
813 (build-system perl-build-system)
814 (home-page "http://search.cpan.org/dist/Email-MessageID")
815 (synopsis "Generate world unique message-ids")
816 (description "Email::MessageID generates recommended message-ids to
817identify a message uniquely.")
818 (license (package-license perl))))
819
0a4c49f6
EB
820(define-public perl-email-mime
821 (package
822 (name "perl-email-mime")
823 (version "1.929")
824 (source
825 (origin
826 (method url-fetch)
827 (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
828 "Email-MIME-" version ".tar.gz"))
829 (sha256
830 (base32
831 "1sf7dldg4dvicyw6dl1vx6s1gjq3fcppi0103ikl0vi6v5xjdjdh"))))
832 (build-system perl-build-system)
833 (propagated-inputs
834 `(("perl-email-address" ,perl-email-address)
835 ("perl-email-messageid" ,perl-email-messageid)
836 ("perl-email-mime-contenttype" ,perl-email-mime-contenttype)
837 ("perl-email-mime-encodings" ,perl-email-mime-encodings)
838 ("perl-email-simple" ,perl-email-simple)
839 ("perl-mime-types" ,perl-mime-types)))
840 (home-page "http://search.cpan.org/dist/Email-MIME")
841 (synopsis "MIME message handling")
842 (description "Email::MIME is an extension of the Email::Simple module, to
843handle MIME encoded messages. It takes a message as a string, splits it up
844into its constituent parts, and allows you access to various parts of the
845message. Headers are decoded from MIME encoding.")
846 (license (package-license perl))))
847
55025bb5
EB
848(define-public perl-email-mime-contenttype
849 (package
850 (name "perl-email-mime-contenttype")
851 (version "1.017")
852 (source
853 (origin
854 (method url-fetch)
855 (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
856 "Email-MIME-ContentType-" version ".tar.gz"))
857 (sha256
858 (base32
859 "1cl1l97lg690dh7i704hqi7yhxalq1chy7ylld5yc5v38jqa6gcn"))))
860 (build-system perl-build-system)
861 (native-inputs
862 `(("perl-capture-tiny" ,perl-capture-tiny)))
863 (home-page "http://search.cpan.org/dist/Email-MIME-ContentType")
864 (synopsis "Parse MIME Content-Type headers")
865 (description "Email::MIME::ContentType parses a MIME Content-Type
866header.")
867 (license (package-license perl))))
868
02e29936
EB
869(define-public perl-email-mime-encodings
870 (package
871 (name "perl-email-mime-encodings")
872 (version "1.315")
873 (source
874 (origin
875 (method url-fetch)
876 (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
877 "Email-MIME-Encodings-" version ".tar.gz"))
878 (sha256
879 (base32
880 "0p5b8g9gh35m8fqrpx60g4bp98rvwd02n5b0vm9wh7mk0xah8wac"))))
881 (build-system perl-build-system)
882 (native-inputs
883 `(("perl-capture-tiny" ,perl-capture-tiny)))
884 (home-page "http://search.cpan.org/dist/Email-MIME-Encodings")
885 (synopsis "Unified interface to MIME encoding and decoding")
886 (description "This module wraps MIME::Base64 and MIME::QuotedPrint.")
887 (license (package-license perl))))
888
a24c5420
EB
889(define-public perl-email-sender
890 (package
891 (name "perl-email-sender")
892 (version "1.300016")
893 (source
894 (origin
895 (method url-fetch)
896 (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
897 "Email-Sender-" version ".tar.gz"))
898 (sha256
899 (base32
900 "18x26fjh399q3s2g8dajb9r10633c46jrnbvycpnpclgnzhjs100"))))
901 (build-system perl-build-system)
902 (native-inputs
903 `(("perl-capture-tiny" ,perl-capture-tiny)))
904 (propagated-inputs
905 `(("perl-email-abstract" ,perl-email-abstract)
906 ("perl-email-address" ,perl-email-address)
907 ("perl-email-simple" ,perl-email-simple)
908 ("perl-list-moreutils" ,perl-list-moreutils)
909 ("perl-module-runtime" ,perl-module-runtime)
910 ("perl-moo" ,perl-moo)
911 ("perl-moox-types-mooselike" ,perl-moox-types-mooselike)
912 ("perl-sub-exporter" ,perl-sub-exporter)
913 ("perl-throwable" ,perl-throwable)
914 ("perl-try-tiny" ,perl-try-tiny)))
915 (home-page "http://search.cpan.org/dist/Email-Sender")
916 (synopsis "Perl library for sending email")
917 (description "Email::Sender replaces the old and sometimes problematic
918Email::Send library.")
919 (license (package-license perl))))
920
151ef3ed
EB
921(define-public perl-email-simple
922 (package
923 (name "perl-email-simple")
924 (version "2.206")
925 (source
926 (origin
927 (method url-fetch)
928 (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
929 "Email-Simple-" version ".tar.gz"))
930 (sha256
931 (base32
932 "19dpy3j5na2k9qw1jcpc8ia25038068r9j1bn34f9yyrisz7s522"))))
933 (build-system perl-build-system)
934 (propagated-inputs
935 `(("perl-email-date-format" ,perl-email-date-format)))
936 (home-page "http://search.cpan.org/dist/Email-Simple")
937 (synopsis "Parsing of RFC 2822 messages")
938 (description "Email::Simple provides simple parsing of RFC 2822 message
939format and headers.")
940 (license (package-license perl))))
941
681a6588 942;;; mail.scm ends here