gnu: Move perl-mime-types to (gnu packages perl).
[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)
81ce19f4 32 #:use-module (gnu packages databases)
d983a14f 33 #:use-module (gnu packages dejagnu)
d2938d59 34 #:use-module (gnu packages emacs)
e8435c4d 35 #:use-module (gnu packages enchant)
1ffa7090 36 #:use-module (gnu packages gdbm)
e8435c4d 37 #:use-module (gnu packages ghostscript)
d2938d59 38 #:use-module (gnu packages glib)
e8435c4d 39 #:use-module (gnu packages gnome)
524e1df6 40 #:use-module (gnu packages gnupg)
d983a14f 41 #:use-module (gnu packages gnutls)
d6e941bc 42 #:use-module (gnu packages gsasl)
e8435c4d 43 #:use-module (gnu packages gtk)
1ffa7090 44 #:use-module (gnu packages guile)
e8435c4d 45 #:use-module (gnu packages libcanberra)
d6e941bc 46 #:use-module (gnu packages libidn)
d983a14f
AE
47 #:use-module (gnu packages linux)
48 #:use-module (gnu packages m4)
5f96f303 49 #:use-module (gnu packages databases)
1ffa7090 50 #:use-module (gnu packages ncurses)
d983a14f 51 #:use-module (gnu packages openssl)
66cc3ab2 52 #:use-module (gnu packages pcre)
13f04f48 53 #:use-module (gnu packages perl)
3919a31a 54 #:use-module (gnu packages python)
1ffa7090 55 #:use-module (gnu packages readline)
d2938d59 56 #:use-module (gnu packages search)
1ffa7090 57 #:use-module (gnu packages texinfo)
681a6588
MW
58 #:use-module (gnu packages compression)
59 #:use-module (gnu packages glib)
60 #:use-module (gnu packages pkg-config)
a7e59c50 61 #:use-module (gnu packages flex)
1bd3f849
DT
62 #:use-module (gnu packages gdb)
63 #:use-module (gnu packages samba)
f58f767b 64 #:use-module (gnu packages xml)
e8435c4d 65 #:use-module (gnu packages xorg)
d983a14f 66 #:use-module ((guix licenses)
166191b3 67 #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ lgpl3+ non-copyleft))
a661e420
LC
68 #:use-module (guix packages)
69 #:use-module (guix download)
29a7c98a 70 #:use-module (guix utils)
681a6588 71 #:use-module (guix build-system gnu)
29a7c98a 72 #:use-module (guix build-system python))
a661e420
LC
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
01eafd38
LC
84 "0szbqa12zqzldqyw97lxqax3ja2adis83i7brdfsxmrfw68iaf65"))
85 (patches (list (search-patch "m4-gets-undeclared.patch")))))
a661e420
LC
86 (build-system gnu-build-system)
87 (arguments
88 '(;; TODO: Add `--with-sql'.
a661e420
LC
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)
eb8cc645
MW
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
a661e420 119 ("linux-pam" ,linux-pam)
3246cc91 120 ("libltdl" ,libltdl)
01eafd38 121 ("gdbm" ,gdbm)))
a661e420 122 (home-page "http://www.gnu.org/software/mailutils/")
f50d2669 123 (synopsis "Utilities and library for reading and serving mail")
a661e420 124 (description
79c311b8
LC
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.")
a661e420
LC
130 (license
131 ;; Libraries are under LGPLv3+, and programs under GPLv3+.
132 (list gpl3+ lgpl3+))))
d983a14f
AE
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")))))
07af3e5e 151 (home-page "http://www.fetchmail.info/")
ae2189a9 152 (synopsis "Remote-mail retrieval and forwarding utility")
d983a14f
AE
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
13f04f48
AE
166
167(define-public mutt
168 (package
169 (name "mutt")
fb9c3acc 170 (version "1.5.23")
13f04f48
AE
171 (source (origin
172 (method url-fetch)
fb9c3acc
MW
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")))
13f04f48
AE
179 (sha256
180 (base32
63d526e2
MW
181 "0dzx4qk50pjfsb6cs5jahng96a52k12f7pm0sc78iqdrawg71w1s"))
182 (patches (list (search-patch "mutt-CVE-2014-9116.patch")))))
13f04f48
AE
183 (build-system gnu-build-system)
184 (inputs
4fd6bf53 185 `(("cyrus-sasl" ,cyrus-sasl)
524e1df6 186 ("gpgme" ,gpgme)
4fd6bf53 187 ("ncurses" ,ncurses)
13f04f48
AE
188 ("openssl" ,openssl)
189 ("perl" ,perl)))
190 (arguments
191 `(#:configure-flags '("--enable-smtp"
192 "--enable-imap"
193 "--enable-pop"
524e1df6 194 "--enable-gpgme"
13f04f48 195 "--with-ssl"
4fd6bf53 196 "--with-sasl"
13f04f48
AE
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+)))
681a6588
MW
206
207(define-public gmime
208 (package
209 (name "gmime")
210 (version "2.6.19")
211 (source (origin
212 (method url-fetch)
75630043 213 (uri (string-append "mirror://gnome/sources/gmime/"
29a7c98a 214 (version-major+minor version)
681a6588
MW
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 _
93c117ee
MW
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))))))))
681a6588
MW
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
a7e59c50
LC
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
3919a31a
EB
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"))
f586c877 290 (file-name (string-append name "-" version ".tar.gz"))
3919a31a
EB
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.")
7886e23b 307 (license gpl2+)))
3919a31a 308
d2938d59
EB
309(define-public mu
310 (package
311 (name "mu")
945e9c0c 312 (version "0.9.12")
d2938d59
EB
313 (source (origin
314 (method url-fetch)
922eaede 315 (uri (string-append "https://github.com/djcb/mu/archive/v"
d2938d59 316 version ".tar.gz"))
922eaede 317 (file-name (string-append "mu-" version ".tar.gz"))
d2938d59
EB
318 (sha256
319 (base32
945e9c0c 320 "1bxryacmas2llj68m2dv8dr1vwx8f5k2i2azh69jajkpqx7i4wdq"))))
d2938d59
EB
321 (build-system gnu-build-system)
322 (native-inputs
323 `(("pkg-config" ,pkg-config)
9fd571a2 324 ("glib" ,glib "bin") ; for gtester
922eaede
PW
325 ("autoconf" ,autoconf)
326 ("automake" ,automake)
327 ("libtool" ,libtool)
d2938d59
EB
328 ("texinfo" ,texinfo)))
329 ;; TODO: Add webkit and gtk to build the mug GUI.
330 (inputs
331 `(("xapian" ,xapian)
2d32d153 332 ("emacs" ,emacs-no-x)
d2938d59
EB
333 ("guile" ,guile-2.0)
334 ("glib" ,glib)
335 ("gmime" ,gmime)
336 ("tzdata" ,tzdata))) ;for mu/test/test-mu-query.c
337 (arguments
922eaede
PW
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))))
d2938d59
EB
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
1bd3f849
DT
359(define-public notmuch
360 (package
361 (name "notmuch")
7f767bcc 362 (version "0.18.1")
1bd3f849
DT
363 (source (origin
364 (method url-fetch)
365 (uri (string-append "http://notmuchmail.org/releases/notmuch-"
366 version ".tar.gz"))
367 (sha256
368 (base32
7f767bcc 369 "1pdp9l7yv71d3fjb30qyccva8h03hvg88q4a00yi50v2j70kvmgj"))))
1bd3f849
DT
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
98e9e22f
SB
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
f58f767b
JL
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"))
f586c877 432 (file-name (string-append name "-" version ".tar.gz"))
f58f767b
JL
433 (sha256
434 (base32 "05qyqx2c1ppb1jnrs3m52i60f9xlxfxdmb9dnwg4vqjv8kwv2qkr"))))
435 (build-system gnu-build-system)
436 (native-inputs `(("autoconf" ,(autoconf-wrapper))
437 ("automake" ,automake)
3246cc91 438 ("libtool" ,libtool)
f58f767b
JL
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
722ec722
MW
449 '(#:phases (alist-cons-after
450 'unpack 'autogen
f58f767b 451 (lambda _
722ec722
MW
452 (setenv "NOCONFIGURE" "true")
453 (zero? (system* "sh" "autogen.sh")))
f58f767b
JL
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.")
166191b3 464 (license (non-copyleft "file://COPYING"))))
f58f767b 465
e8435c4d
JL
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
6ea4b094
TUBK
473 "mirror://sourceforge/claws-mail/claws-mail-" version
474 ".tar.xz"))
e8435c4d
JL
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
d6e941bc
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
07047881 520 "mirror://sourceforge/msmtp/msmtp-" version ".tar.bz2"))
d6e941bc
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
66cc3ab2
TUBK
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
81ce19f4
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
681a6588 651;;; mail.scm ends here