gnu: Add Email-Address.
[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>
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
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")
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
206operating 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
248the creation and parsing of messages using the Multipurpose Internet Mail
249Extension (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
280content (body). The program is able to learn from the user's classifications
281and 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
307can read the same mailbox from multiple computers. It supports IMAP as REMOTE
308repository 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
356Maildir-format. Mu's purpose in life is to help you to quickly find the
357messages you need; in addition, it allows you to view messages, extract
358attachments, 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-
396ing, 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
419POP3, IMAP4, SSL variants of both, maildirs, mboxrd files, external MDAs,
420arbitrary message filtering, single-user and domain-mailboxes, and many other
421useful 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
463framework for different kinds of mail access: IMAP, SMTP, POP and NNTP. It
464provides an API for C language. It's the low-level API used by MailCore and
465MailCore 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
507appearance and interface are designed to be familiar to new users coming from
508other popular email clients, as well as experienced users. Almost all commands
509are accessible with the keyboard. Plus, Claws-Mail is extensible via addons
510which 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
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
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
542an SMTP server (for example at a free mail provider) which takes care of further
543delivery.")
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
625Cambridge for use on Unix systems connected to the Internet. In style it is
626similar to Smail 3, but its facilities are more general. There is a great
627deal of flexibility in the way mail can be routed, and there are extensive
628facilities for checking incoming mail.")
629 (license gpl2+)))
630
81ce19f4
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
650mailboxes. 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
669locates email addresses in strings and returns a list of Email::Address
670objects found. Alternatively you may construct objects manually.")
671 (license (package-license perl))))
672
681a6588 673;;; mail.scm ends here