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