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