gnu: sqlite: Upgrade to 3.8.4.3.
[jackhill/guix/guix.git] / gnu / packages / mail.scm
CommitLineData
a661e420 1;;; GNU Guix --- Functional package management for GNU
a7e59c50 2;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
681a6588 3;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
a661e420
LC
4;;;
5;;; This file is part of GNU Guix.
6;;;
7;;; GNU Guix is free software; you can redistribute it and/or modify it
8;;; under the terms of the GNU General Public License as published by
9;;; the Free Software Foundation; either version 3 of the License, or (at
10;;; your option) any later version.
11;;;
12;;; GNU Guix is distributed in the hope that it will be useful, but
13;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15;;; GNU General Public License for more details.
16;;;
17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
1fdd3ee2 20(define-module (gnu packages mail)
59a43334 21 #:use-module (gnu packages)
d983a14f 22 #:use-module (gnu packages autotools)
4fd6bf53 23 #:use-module (gnu packages cyrus-sasl)
d983a14f 24 #:use-module (gnu packages dejagnu)
1ffa7090 25 #:use-module (gnu packages gdbm)
524e1df6 26 #:use-module (gnu packages gnupg)
d983a14f 27 #:use-module (gnu packages gnutls)
1ffa7090 28 #:use-module (gnu packages guile)
d983a14f
AE
29 #:use-module (gnu packages linux)
30 #:use-module (gnu packages m4)
31 #:use-module (gnu packages mysql)
1ffa7090 32 #:use-module (gnu packages ncurses)
d983a14f 33 #:use-module (gnu packages openssl)
13f04f48 34 #:use-module (gnu packages perl)
1ffa7090 35 #:use-module (gnu packages readline)
1ffa7090 36 #:use-module (gnu packages texinfo)
681a6588
MW
37 #:use-module (gnu packages compression)
38 #:use-module (gnu packages glib)
39 #:use-module (gnu packages pkg-config)
a7e59c50
LC
40 #:use-module (gnu packages flex)
41 #:use-module (gnu packages bdb)
d983a14f 42 #:use-module ((guix licenses)
a7e59c50 43 #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ lgpl3+))
a661e420
LC
44 #:use-module (guix packages)
45 #:use-module (guix download)
681a6588
MW
46 #:use-module (guix build-system gnu)
47 #:use-module (srfi srfi-1))
a661e420
LC
48
49(define-public mailutils
50 (package
51 (name "mailutils")
52 (version "2.2")
53 (source (origin
54 (method url-fetch)
55 (uri (string-append "mirror://gnu/mailutils/mailutils-"
56 version ".tar.bz2"))
57 (sha256
58 (base32
01eafd38
LC
59 "0szbqa12zqzldqyw97lxqax3ja2adis83i7brdfsxmrfw68iaf65"))
60 (patches (list (search-patch "m4-gets-undeclared.patch")))))
a661e420
LC
61 (build-system gnu-build-system)
62 (arguments
63 '(;; TODO: Add `--with-sql'.
a661e420
LC
64 #:phases (alist-cons-before
65 'build 'pre-build
66 (lambda _
67 ;; Use Guile 2.0's public API.
68 (substitute* "libmu_scm/mu_message.c"
69 (("scm_i_string_length")
70 "scm_c_string_length"))
71
72 ;; This file should be generated to use the right
73 ;; value of $(libdir) et al.
74 (delete-file "libmu_scm/mailutils.scm")
75
76 ;; Use the right file name for `cat'.
77 (substitute* "testsuite/lib/mailutils.exp"
78 (("/bin/cat")
79 (which "cat"))))
80 %standard-phases)
81 #:parallel-tests? #f))
82 (inputs
83 `(("dejagnu" ,dejagnu)
84 ("m4" ,m4)
85 ("texinfo" ,texinfo)
86 ("guile" ,guile-2.0)
87 ("gnutls" ,gnutls)
88 ("ncurses" ,ncurses)
89 ("readline" ,readline)
90 ("linux-pam" ,linux-pam)
91 ("libtool" ,libtool)
01eafd38 92 ("gdbm" ,gdbm)))
a661e420 93 (home-page "http://www.gnu.org/software/mailutils/")
f50d2669 94 (synopsis "Utilities and library for reading and serving mail")
a661e420 95 (description
79c311b8
LC
96 "GNU Mailutils is a collection of programs for managing, viewing and
97processing electronic mail. It contains both utilities and server daemons
98and all operate in a protocol-agnostic way. The underlying libraries are
99also available, simplifying the addition of mail capabilities to new
100software.")
a661e420
LC
101 (license
102 ;; Libraries are under LGPLv3+, and programs under GPLv3+.
103 (list gpl3+ lgpl3+))))
d983a14f
AE
104
105(define-public fetchmail
106 (package
107 (name "fetchmail")
108 (version "6.3.26")
109 (source (origin
110 (method url-fetch)
111 (uri (string-append "mirror://sourceforge/fetchmail/branch_6.3/fetchmail-"
112 version ".tar.xz"))
113 (sha256
114 (base32
115 "0l78ayvi9dm8hd190gl139cs2xqsrf7r9ncilslw20mgvd6cbd3r"))))
116 (build-system gnu-build-system)
117 (inputs
118 `(("openssl" ,openssl)))
119 (arguments
120 `(#:configure-flags (list (string-append "--with-ssl="
121 (assoc-ref %build-inputs "openssl")))))
122 (home-page "http://fetchmail.berlios.de/")
123 (synopsis "Remote-mailr etrieval and forwarding utility")
124 (description
125 "Fetchmail is a full-featured, robust, well-documented remote-mail
126retrieval and forwarding utility intended to be used over on-demand
127TCP/IP links (such as SLIP or PPP connections). It supports every
128remote-mail protocol now in use on the Internet: POP2, POP3, RPOP, APOP,
129KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6
130and IPSEC.
131
132Fetchmail retrieves mail from remote mail servers and forwards it via SMTP,
133so it can then be read by normal mail user agents such as mutt, elm
134or BSD Mail. It allows all your system MTA's filtering, forwarding, and
135aliasing facilities to work just as they would on normal mail.")
136 (license gpl2+))) ; most files are actually public domain or x11
13f04f48
AE
137
138(define-public mutt
139 (package
140 (name "mutt")
fb9c3acc 141 (version "1.5.23")
13f04f48
AE
142 (source (origin
143 (method url-fetch)
fb9c3acc
MW
144 (uri (list ;; Temporarily put bitbucket first, because
145 ;; ftp.mutt.org has been down for a while.
146 (string-append "https://bitbucket.org/mutt/mutt/downloads/mutt-"
147 version ".tar.gz")
148 (string-append "ftp://ftp.mutt.org/mutt/devel/mutt-"
149 version ".tar.gz")))
13f04f48
AE
150 (sha256
151 (base32
fb9c3acc 152 "0dzx4qk50pjfsb6cs5jahng96a52k12f7pm0sc78iqdrawg71w1s"))))
13f04f48
AE
153 (build-system gnu-build-system)
154 (inputs
4fd6bf53 155 `(("cyrus-sasl" ,cyrus-sasl)
524e1df6 156 ("gpgme" ,gpgme)
4fd6bf53 157 ("ncurses" ,ncurses)
13f04f48
AE
158 ("openssl" ,openssl)
159 ("perl" ,perl)))
160 (arguments
161 `(#:configure-flags '("--enable-smtp"
162 "--enable-imap"
163 "--enable-pop"
524e1df6 164 "--enable-gpgme"
13f04f48 165 "--with-ssl"
4fd6bf53 166 "--with-sasl"
13f04f48
AE
167 ;; so that mutt does not check whether the path
168 ;; exists, which it does not in the chroot
169 "--with-mailpath=/var/mail")))
170 (home-page "http://www.mutt.org/")
171 (synopsis "Mail client")
172 (description
173 "Mutt is a small but very powerful text-based mail client for Unix
174operating systems.")
175 (license gpl2+)))
681a6588
MW
176
177(define-public gmime
178 (package
179 (name "gmime")
180 (version "2.6.19")
181 (source (origin
182 (method url-fetch)
75630043 183 (uri (string-append "mirror://gnome/sources/gmime/"
681a6588
MW
184 (string-join (take (string-split version #\.)
185 2)
186 ".")
187 "/gmime-" version ".tar.xz"))
188 (sha256
189 (base32
190 "0jm1fgbjgh496rsc0il2y46qd4bqq2ln9168p4zzh68mk4ml1yxg"))))
191 (build-system gnu-build-system)
192 (native-inputs
193 `(("pkg-config" ,pkg-config)
194 ("gnupg" ,gnupg))) ; for tests only
195 (inputs `(("glib" ,glib)
196 ("gpgme" ,gpgme)
197 ("zlib" ,zlib)))
198 (arguments
199 `(#:phases
200 (alist-cons-after
201 'unpack 'patch-paths-in-tests
202 (lambda _
203 ;; The test programs run several programs using 'system'
204 ;; with hard-coded paths. Here we patch them all. We also
205 ;; change "gpg" to "gpg2".
206 (substitute* (find-files "tests" "\\.c$")
207 (("(system *\\(\")(/[^ ]*)" all pre prog-path)
208 (let* ((base (basename prog-path))
209 (prog (which (if (string=? base "gpg") "gpg2" base))))
210 (string-append pre (or prog (error "not found: " base)))))))
211 %standard-phases)))
212 (home-page "http://spruce.sourceforge.net/gmime/")
213 (synopsis "MIME message parser and creator library")
214 (description
215 "GMime provides a core library and set of utilities which may be used for
216the creation and parsing of messages using the Multipurpose Internet Mail
217Extension (MIME).")
218 (license (list lgpl2.1+ gpl2+ gpl3+))))
219
a7e59c50
LC
220(define-public bogofilter
221 (package
222 (name "bogofilter")
223 (version "1.2.4")
224 (source (origin
225 (method url-fetch)
226 (uri (string-append "mirror://sourceforge/bogofilter/bogofilter-"
227 version "/bogofilter-"
228 version ".tar.bz2"))
229 (sha256
230 (base32
231 "1d56n2m9inm8gnzm88aa27xl2a7sp7aff3484vmflpqkinjqf0p1"))))
232 (build-system gnu-build-system)
233 (arguments
234 '(#:phases (alist-cons-before
235 'check 'pre-check
236 (lambda _
237 (substitute* "src/tests/t.frame"
238 (("GREP=/bin/grep")
239 (string-append "GREP=" (which "grep") "\n"))))
240 %standard-phases)))
241 (native-inputs `(("flex" ,flex)))
242 (inputs `(("bdb" ,bdb)))
243 (home-page "http://bogofilter.sourceforge.net/")
244 (synopsis "Mail classifier based on a Bayesian filter")
245 (description
246 "Bogofilter is a mail filter that classifies mail as spam or ham
247 (non-spam) by a statistical analysis of the message's header and
248content (body). The program is able to learn from the user's classifications
249and corrections. It is based on a Bayesian filter.")
250 (license gpl2)))
251
681a6588 252;;; mail.scm ends here