Commit | Line | Data |
---|---|---|
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> |
2e88d113 | 10 | ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> |
a661e420 LC |
11 | ;;; |
12 | ;;; This file is part of GNU Guix. | |
13 | ;;; | |
14 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
15 | ;;; under the terms of the GNU General Public License as published by | |
16 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
17 | ;;; your option) any later version. | |
18 | ;;; | |
19 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
20 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
21 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
22 | ;;; GNU General Public License for more details. | |
23 | ;;; | |
24 | ;;; You should have received a copy of the GNU General Public License | |
25 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
26 | ||
1fdd3ee2 | 27 | (define-module (gnu packages mail) |
59a43334 | 28 | #:use-module (gnu packages) |
d983a14f | 29 | #:use-module (gnu packages autotools) |
d2938d59 | 30 | #:use-module (gnu packages base) |
e8435c4d | 31 | #:use-module (gnu packages backup) |
ee886454 | 32 | #:use-module (gnu packages bash) |
f58f767b | 33 | #:use-module (gnu packages curl) |
4fd6bf53 | 34 | #:use-module (gnu packages cyrus-sasl) |
81ce19f4 | 35 | #:use-module (gnu packages databases) |
d983a14f | 36 | #:use-module (gnu packages dejagnu) |
d2938d59 | 37 | #:use-module (gnu packages emacs) |
e8435c4d | 38 | #:use-module (gnu packages enchant) |
e8435c4d | 39 | #:use-module (gnu packages ghostscript) |
d2938d59 | 40 | #:use-module (gnu packages glib) |
e8435c4d | 41 | #:use-module (gnu packages gnome) |
524e1df6 | 42 | #:use-module (gnu packages gnupg) |
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) | |
1ffa7090 | 50 | #:use-module (gnu packages ncurses) |
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) | |
a7fd7b68 | 63 | #:use-module (gnu packages tls) |
f58f767b | 64 | #:use-module (gnu packages xml) |
e8435c4d | 65 | #:use-module (gnu packages xorg) |
d983a14f | 66 | #:use-module ((guix licenses) |
7d2b784b MW |
67 | #:select (gpl2 gpl2+ gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ non-copyleft |
68 | (expat . license:expat))) | |
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 |
128 | processing electronic mail. It contains both utilities and server daemons | |
129 | and all operate in a protocol-agnostic way. The underlying libraries are | |
130 | also available, simplifying the addition of mail capabilities to new | |
131 | software.") | |
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 | |
157 | retrieval and forwarding utility intended to be used over on-demand | |
158 | TCP/IP links (such as SLIP or PPP connections). It supports every | |
159 | remote-mail protocol now in use on the Internet: POP2, POP3, RPOP, APOP, | |
160 | KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6 | |
161 | and IPSEC. | |
162 | ||
163 | Fetchmail retrieves mail from remote mail servers and forwards it via SMTP, | |
164 | so it can then be read by normal mail user agents such as mutt, elm | |
165 | or BSD Mail. It allows all your system MTA's filtering, forwarding, and | |
166 | aliasing 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") | |
d82633d0 | 172 | (version "1.5.24") |
13f04f48 AE |
173 | (source (origin |
174 | (method url-fetch) | |
d82633d0 AE |
175 | (uri (string-append "ftp://ftp.mutt.org/pub/mutt/mutt-" |
176 | version ".tar.gz")) | |
13f04f48 AE |
177 | (sha256 |
178 | (base32 | |
d82633d0 AE |
179 | "0012njrgxf1barjksqkx7ccid2l0xyikhna9mjs9vcfpbrvcm4m2")) |
180 | (patches (list (search-patch "mutt-store-references.patch"))))) | |
13f04f48 AE |
181 | (build-system gnu-build-system) |
182 | (inputs | |
4fd6bf53 | 183 | `(("cyrus-sasl" ,cyrus-sasl) |
524e1df6 | 184 | ("gpgme" ,gpgme) |
4fd6bf53 | 185 | ("ncurses" ,ncurses) |
13f04f48 AE |
186 | ("openssl" ,openssl) |
187 | ("perl" ,perl))) | |
188 | (arguments | |
189 | `(#:configure-flags '("--enable-smtp" | |
190 | "--enable-imap" | |
191 | "--enable-pop" | |
524e1df6 | 192 | "--enable-gpgme" |
13f04f48 | 193 | "--with-ssl" |
4fd6bf53 | 194 | "--with-sasl" |
13f04f48 AE |
195 | ;; so that mutt does not check whether the path |
196 | ;; exists, which it does not in the chroot | |
197 | "--with-mailpath=/var/mail"))) | |
198 | (home-page "http://www.mutt.org/") | |
199 | (synopsis "Mail client") | |
200 | (description | |
201 | "Mutt is a small but very powerful text-based mail client for Unix | |
202 | operating systems.") | |
203 | (license gpl2+))) | |
681a6588 MW |
204 | |
205 | (define-public gmime | |
206 | (package | |
207 | (name "gmime") | |
208 | (version "2.6.19") | |
209 | (source (origin | |
210 | (method url-fetch) | |
75630043 | 211 | (uri (string-append "mirror://gnome/sources/gmime/" |
29a7c98a | 212 | (version-major+minor version) |
681a6588 MW |
213 | "/gmime-" version ".tar.xz")) |
214 | (sha256 | |
215 | (base32 | |
216 | "0jm1fgbjgh496rsc0il2y46qd4bqq2ln9168p4zzh68mk4ml1yxg")))) | |
217 | (build-system gnu-build-system) | |
218 | (native-inputs | |
219 | `(("pkg-config" ,pkg-config) | |
220 | ("gnupg" ,gnupg))) ; for tests only | |
221 | (inputs `(("glib" ,glib) | |
222 | ("gpgme" ,gpgme) | |
223 | ("zlib" ,zlib))) | |
224 | (arguments | |
225 | `(#:phases | |
226 | (alist-cons-after | |
227 | 'unpack 'patch-paths-in-tests | |
228 | (lambda _ | |
93c117ee MW |
229 | ;; The test programs run several programs using 'system' with |
230 | ;; hard-coded paths. Here we patch them all. We also change "gpg" | |
231 | ;; to "gpg2". We use ISO-8859-1 here because test-iconv.c contains | |
232 | ;; raw byte sequences in several different encodings. | |
233 | (with-fluids ((%default-port-encoding #f)) | |
234 | (substitute* (find-files "tests" "\\.c$") | |
235 | (("(system *\\(\")(/[^ ]*)" all pre prog-path) | |
236 | (let* ((base (basename prog-path)) | |
237 | (prog (which (if (string=? base "gpg") "gpg2" base)))) | |
238 | (string-append pre (or prog (error "not found: " base)))))))) | |
681a6588 MW |
239 | %standard-phases))) |
240 | (home-page "http://spruce.sourceforge.net/gmime/") | |
241 | (synopsis "MIME message parser and creator library") | |
242 | (description | |
243 | "GMime provides a core library and set of utilities which may be used for | |
244 | the creation and parsing of messages using the Multipurpose Internet Mail | |
245 | Extension (MIME).") | |
246 | (license (list lgpl2.1+ gpl2+ gpl3+)))) | |
247 | ||
a7e59c50 LC |
248 | (define-public bogofilter |
249 | (package | |
250 | (name "bogofilter") | |
251 | (version "1.2.4") | |
252 | (source (origin | |
253 | (method url-fetch) | |
254 | (uri (string-append "mirror://sourceforge/bogofilter/bogofilter-" | |
255 | version "/bogofilter-" | |
256 | version ".tar.bz2")) | |
257 | (sha256 | |
258 | (base32 | |
259 | "1d56n2m9inm8gnzm88aa27xl2a7sp7aff3484vmflpqkinjqf0p1")))) | |
260 | (build-system gnu-build-system) | |
261 | (arguments | |
262 | '(#:phases (alist-cons-before | |
263 | 'check 'pre-check | |
264 | (lambda _ | |
265 | (substitute* "src/tests/t.frame" | |
266 | (("GREP=/bin/grep") | |
267 | (string-append "GREP=" (which "grep") "\n")))) | |
268 | %standard-phases))) | |
269 | (native-inputs `(("flex" ,flex))) | |
270 | (inputs `(("bdb" ,bdb))) | |
271 | (home-page "http://bogofilter.sourceforge.net/") | |
272 | (synopsis "Mail classifier based on a Bayesian filter") | |
273 | (description | |
274 | "Bogofilter is a mail filter that classifies mail as spam or ham | |
275 | (non-spam) by a statistical analysis of the message's header and | |
276 | content (body). The program is able to learn from the user's classifications | |
277 | and corrections. It is based on a Bayesian filter.") | |
278 | (license gpl2))) | |
279 | ||
3919a31a EB |
280 | (define-public offlineimap |
281 | (package | |
282 | (name "offlineimap") | |
07cd148c | 283 | (version "6.5.7") |
3919a31a EB |
284 | (source (origin |
285 | (method url-fetch) | |
286 | (uri (string-append "https://github.com/OfflineIMAP/offlineimap/" | |
287 | "archive/v" version ".tar.gz")) | |
f586c877 | 288 | (file-name (string-append name "-" version ".tar.gz")) |
3919a31a EB |
289 | (sha256 |
290 | (base32 | |
07cd148c | 291 | "18whwc4f8nk8gi3mjw9153c9cvwd3i9i7njmpdbhcplrv33m5pmp")))) |
3919a31a EB |
292 | (build-system python-build-system) |
293 | (native-inputs `(("python" ,python-2))) | |
294 | (arguments | |
295 | ;; The setup.py script expects python-2. | |
296 | `(#:python ,python-2 | |
297 | ;; Tests require a modifiable IMAP account. | |
298 | #:tests? #f)) | |
299 | (home-page "http://www.offlineimap.org") | |
300 | (synopsis "Synch emails between two repositories") | |
301 | (description | |
302 | "OfflineImap synchronizes emails between two repositories, so that you | |
303 | can read the same mailbox from multiple computers. It supports IMAP as REMOTE | |
304 | repository and Maildir/IMAP as LOCAL repository.") | |
7886e23b | 305 | (license gpl2+))) |
3919a31a | 306 | |
c21317d4 LC |
307 | (define %mu-gtester-patch |
308 | ;; Ensure tests have unique names, to placate GLib 2.6's gtester. | |
309 | (origin | |
310 | (method url-fetch) | |
311 | (uri "https://github.com/djcb/mu/commit/b44039ed.patch") | |
312 | (sha256 | |
313 | (base32 | |
314 | "165hryqqhx3wah8a4f5jaq465azx1pm9r4jid7880pys9gd88qlv")))) | |
315 | ||
d2938d59 EB |
316 | (define-public mu |
317 | (package | |
318 | (name "mu") | |
c284e78f | 319 | (version "0.9.13") |
d2938d59 EB |
320 | (source (origin |
321 | (method url-fetch) | |
922eaede | 322 | (uri (string-append "https://github.com/djcb/mu/archive/v" |
d2938d59 | 323 | version ".tar.gz")) |
922eaede | 324 | (file-name (string-append "mu-" version ".tar.gz")) |
d2938d59 EB |
325 | (sha256 |
326 | (base32 | |
c21317d4 LC |
327 | "0wj33pma8xgjvn2akk7khzbycwn4c9sshxvzdph9dnpy7gyqxj51")) |
328 | (patches (list %mu-gtester-patch)))) | |
d2938d59 EB |
329 | (build-system gnu-build-system) |
330 | (native-inputs | |
331 | `(("pkg-config" ,pkg-config) | |
9fd571a2 | 332 | ("glib" ,glib "bin") ; for gtester |
922eaede PW |
333 | ("autoconf" ,autoconf) |
334 | ("automake" ,automake) | |
335 | ("libtool" ,libtool) | |
d2938d59 EB |
336 | ("texinfo" ,texinfo))) |
337 | ;; TODO: Add webkit and gtk to build the mug GUI. | |
338 | (inputs | |
339 | `(("xapian" ,xapian) | |
2d32d153 | 340 | ("emacs" ,emacs-no-x) |
d2938d59 EB |
341 | ("guile" ,guile-2.0) |
342 | ("glib" ,glib) | |
343 | ("gmime" ,gmime) | |
344 | ("tzdata" ,tzdata))) ;for mu/test/test-mu-query.c | |
345 | (arguments | |
922eaede PW |
346 | '(#:phases (alist-cons-after |
347 | 'unpack 'autoreconf | |
348 | (lambda _ | |
349 | (zero? (system* "autoreconf" "-vi"))) | |
350 | (alist-cons-before | |
351 | 'check 'check-tz-setup | |
352 | (lambda* (#:key inputs #:allow-other-keys) | |
353 | ;; For mu/test/test-mu-query.c | |
354 | (setenv "TZDIR" | |
355 | (string-append (assoc-ref inputs "tzdata") | |
356 | "/share/zoneinfo"))) | |
357 | %standard-phases)))) | |
d2938d59 EB |
358 | (home-page "http://www.djcbsoftware.nl/code/mu/") |
359 | (synopsis "Quickly find emails") | |
360 | (description | |
361 | "Mu is a tool for dealing with e-mail messages stored in the | |
362 | Maildir-format. Mu's purpose in life is to help you to quickly find the | |
363 | messages you need; in addition, it allows you to view messages, extract | |
364 | attachments, create new maildirs, and so on.") | |
365 | (license gpl3+))) | |
366 | ||
1bd3f849 DT |
367 | (define-public notmuch |
368 | (package | |
369 | (name "notmuch") | |
eb537f57 | 370 | (version "0.20.2") |
1bd3f849 DT |
371 | (source (origin |
372 | (method url-fetch) | |
373 | (uri (string-append "http://notmuchmail.org/releases/notmuch-" | |
374 | version ".tar.gz")) | |
375 | (sha256 | |
376 | (base32 | |
eb537f57 | 377 | "1v5dcnlg4km5hfaq0i0qywq5fn66fi0rq4aaibyqkwxz8mis4hgp")))) |
1bd3f849 DT |
378 | (build-system gnu-build-system) |
379 | (arguments | |
eb537f57 DT |
380 | '(#:tests? #f ;; FIXME: 637 tests; 70 fail and 98 are skipped |
381 | #:phases (modify-phases %standard-phases | |
382 | (replace 'configure | |
383 | (lambda* (#:key outputs #:allow-other-keys) | |
384 | (setenv "CC" "gcc") | |
385 | (setenv "CONFIG_SHELL" (which "sh")) | |
ee886454 | 386 | |
eb537f57 DT |
387 | (let ((out (assoc-ref outputs "out"))) |
388 | (zero? (system* "./configure" | |
389 | (string-append "--prefix=" out))))))))) | |
1bd3f849 | 390 | (native-inputs |
ee886454 MW |
391 | `(("pkg-config" ,pkg-config) |
392 | ("python" ,python-2) | |
eb537f57 DT |
393 | ("python-docutils" ,python2-docutils) |
394 | ("python-sphinx" ,python2-sphinx) | |
ee886454 | 395 | ("bash-completion" ,bash-completion))) |
1bd3f849 DT |
396 | (inputs |
397 | `(("emacs" ,emacs) | |
398 | ("glib" ,glib) | |
399 | ("gmime" ,gmime) | |
400 | ("talloc" ,talloc) | |
401 | ("xapian" ,xapian) | |
402 | ("zlib" ,zlib))) | |
403 | (home-page "http://notmuchmail.org/") | |
404 | (synopsis "Thread-based email index, search, and tagging") | |
405 | (description | |
406 | "Notmuch is a command-line based program for indexing, searching, read- | |
407 | ing, and tagging large collections of email messages.") | |
408 | (license gpl3+))) | |
409 | ||
1c74da21 LC |
410 | (define-public python2-notmuch |
411 | (package | |
412 | (name "python2-notmuch") | |
413 | (version "0.15.2") | |
414 | (source (origin | |
415 | (method url-fetch) | |
416 | (uri (string-append | |
417 | "https://pypi.python.org/packages/source/n/notmuch/notmuch-" | |
418 | version | |
419 | ".tar.gz")) | |
420 | (sha256 | |
421 | (base32 | |
422 | "18g8701ibr153ngsz258kgcd42wqnbf9ifpqig1bijy6b0zx9xn5")))) | |
423 | (build-system python-build-system) | |
424 | (inputs `(("notmuch" ,notmuch))) | |
425 | (arguments | |
426 | `(#:python ,python-2 | |
427 | #:phases (modify-phases %standard-phases | |
428 | (add-before | |
429 | 'build 'set-libnotmuch-file-name | |
430 | (lambda* (#:key inputs #:allow-other-keys) | |
431 | (let ((notmuch (assoc-ref inputs "notmuch"))) | |
432 | (substitute* "notmuch/globals.py" | |
433 | (("libnotmuch\\.so\\.[0-9]") | |
434 | (string-append notmuch "/lib/libnotmuch.so.4"))) | |
435 | #t)))) | |
436 | #:tests? #f)) ;no "test" target | |
437 | (home-page "http://notmuchmail.org/") | |
438 | (synopsis "Python bindings of the Notmuch mail indexing library") | |
439 | (description | |
440 | "This package provides Python bindings to use the Notmuch mail indexing | |
441 | and search library.") | |
442 | (license gpl3+))) | |
443 | ||
98e9e22f SB |
444 | (define-public getmail |
445 | (package | |
446 | (name "getmail") | |
447 | (version "4.46.0") | |
448 | (source | |
449 | (origin | |
450 | (method url-fetch) | |
451 | (uri (string-append "http://pyropus.ca/software/getmail/old-versions/" | |
452 | name "-" version ".tar.gz")) | |
453 | (sha256 | |
454 | (base32 | |
455 | "15rqmm25pq6ll8aaqh8h6pfdkpqs7y6yismb3h3w1bz8j292c8zl")))) | |
456 | (build-system python-build-system) | |
457 | (arguments | |
458 | `(#:tests? #f ; no tests | |
459 | #:python ,python-2)) | |
460 | (home-page "http://pyropus.ca/software/getmail/") | |
461 | (synopsis "Mail retriever") | |
462 | (description | |
463 | "A flexible, extensible mail retrieval system with support for | |
464 | POP3, IMAP4, SSL variants of both, maildirs, mboxrd files, external MDAs, | |
465 | arbitrary message filtering, single-user and domain-mailboxes, and many other | |
466 | useful features.") | |
467 | ||
468 | ;; License is specified in file '__init__.py'. | |
469 | (license gpl2))) | |
470 | ||
f58f767b JL |
471 | (define-public libetpan |
472 | (package | |
473 | (name "libetpan") | |
474 | (version "1.6") | |
475 | (source (origin | |
476 | (method url-fetch) | |
477 | (uri (string-append "https://github.com/dinhviethoa/" name | |
478 | "/archive/" version ".tar.gz")) | |
f586c877 | 479 | (file-name (string-append name "-" version ".tar.gz")) |
f58f767b JL |
480 | (sha256 |
481 | (base32 "05qyqx2c1ppb1jnrs3m52i60f9xlxfxdmb9dnwg4vqjv8kwv2qkr")))) | |
482 | (build-system gnu-build-system) | |
483 | (native-inputs `(("autoconf" ,(autoconf-wrapper)) | |
484 | ("automake" ,automake) | |
3246cc91 | 485 | ("libtool" ,libtool) |
f58f767b JL |
486 | ("pkg-config" ,pkg-config))) |
487 | (propagated-inputs | |
488 | ;; 'libetpan-config --libs' returns '-lssl -lcrypto -lsasl2', so these | |
489 | ;; libraries need to be propagated. | |
490 | `(("cyrus-sasl" ,cyrus-sasl) | |
491 | ("openssl" ,openssl))) | |
492 | (inputs | |
493 | `(("curl" ,curl) | |
494 | ("expat" ,expat))) | |
495 | (arguments | |
722ec722 MW |
496 | '(#:phases (alist-cons-after |
497 | 'unpack 'autogen | |
f58f767b | 498 | (lambda _ |
722ec722 MW |
499 | (setenv "NOCONFIGURE" "true") |
500 | (zero? (system* "sh" "autogen.sh"))) | |
f58f767b JL |
501 | %standard-phases) |
502 | #:configure-flags | |
503 | '("--disable-static" "--disable-db"))) | |
504 | (home-page "http://www.etpan.org/libetpan.html") | |
505 | (synopsis "Portable middleware for email access") | |
506 | (description | |
507 | "The purpose of this mail library is to provide a portable, efficient | |
508 | framework for different kinds of mail access: IMAP, SMTP, POP and NNTP. It | |
509 | provides an API for C language. It's the low-level API used by MailCore and | |
510 | MailCore 2.") | |
166191b3 | 511 | (license (non-copyleft "file://COPYING")))) |
f58f767b | 512 | |
e8435c4d JL |
513 | (define-public claws-mail |
514 | (package | |
515 | (name "claws-mail") | |
762b1971 | 516 | (version "3.13.0") |
e8435c4d JL |
517 | (source (origin |
518 | (method url-fetch) | |
519 | (uri (string-append | |
762b1971 | 520 | "http://www.claws-mail.org/releases/" name "-" version |
6ea4b094 | 521 | ".tar.xz")) |
e8435c4d | 522 | (sha256 |
762b1971 | 523 | (base32 "0fpr9gdgrs5yggm61a6135ca06x0cflddsh8dwfqmpb3dj07cl1n")))) |
e8435c4d JL |
524 | (build-system gnu-build-system) |
525 | (native-inputs `(("pkg-config" ,pkg-config))) | |
526 | (inputs `(("bogofilter" ,bogofilter) | |
527 | ("curl" ,curl) | |
528 | ("dbus-glib" ,dbus-glib) | |
e8435c4d JL |
529 | ("enchant" ,enchant) |
530 | ("expat" ,expat) | |
531 | ("ghostscript" ,ghostscript) | |
532 | ("hicolor-icon-theme" ,hicolor-icon-theme) | |
533 | ("gnupg" ,gnupg) | |
534 | ("gnutls" ,gnutls) | |
535 | ("gpgme" ,gpgme) | |
536 | ("gtk" ,gtk+-2) | |
537 | ("libarchive" ,libarchive) | |
538 | ("libcanberra" ,libcanberra) | |
539 | ("libetpan" ,libetpan) | |
540 | ("libnotify" ,libnotify) | |
541 | ("libsm" ,libsm) | |
542 | ("libxml2" ,libxml2) | |
543 | ("perl" ,perl) | |
544 | ("python-2" ,python-2))) | |
545 | (arguments | |
546 | '(#:configure-flags | |
547 | '("--enable-gnutls" "--enable-pgpmime-plugin" "--enable-enchant"))) | |
548 | (synopsis "GTK-based Email client") | |
549 | (description | |
550 | "Claws-Mail is an email client (and news reader) based on GTK+. The | |
551 | appearance and interface are designed to be familiar to new users coming from | |
552 | other popular email clients, as well as experienced users. Almost all commands | |
553 | are accessible with the keyboard. Plus, Claws-Mail is extensible via addons | |
554 | which can add many functionalities to the base client.") | |
555 | (home-page "http://www.claws-mail.org/") | |
556 | (license gpl3+))) ; most files are actually public domain or x11 | |
557 | ||
d6e941bc TČ |
558 | (define-public msmtp |
559 | (package | |
560 | (name "msmtp") | |
561 | (version "1.4.32") | |
562 | (source | |
563 | (origin | |
564 | (method url-fetch) | |
565 | (uri (string-append | |
07047881 | 566 | "mirror://sourceforge/msmtp/msmtp-" version ".tar.bz2")) |
d6e941bc TČ |
567 | (sha256 (base32 |
568 | "122z38pv4q03w3mbnhrhg4w85a51258sfdg2ips0b6cgwz3wbw1b")))) | |
569 | (build-system gnu-build-system) | |
570 | (inputs | |
571 | `(("libidn" ,libidn) | |
572 | ("gnutls" ,gnutls) | |
573 | ("zlib" ,zlib) | |
574 | ("gsasl" ,gsasl))) | |
575 | (native-inputs | |
576 | `(("pkg-config" ,pkg-config))) | |
577 | (home-page "http://msmtp.sourceforge.net/") | |
578 | (arguments | |
579 | `(#:configure-flags (list "--with-libgsasl" | |
580 | "--with-libidn" | |
581 | "--with-ssl=gnutls"))) | |
582 | (synopsis | |
583 | "Simple and easy to use SMTP client with decent sendmail compatibility") | |
584 | (description | |
585 | "msmtp is an SMTP client. In the default mode, it transmits a mail to | |
586 | an SMTP server (for example at a free mail provider) which takes care of further | |
587 | delivery.") | |
588 | (license gpl3+))) | |
589 | ||
66cc3ab2 TUBK |
590 | (define-public exim |
591 | (package | |
592 | (name "exim") | |
593 | (version "4.85") | |
594 | (source | |
595 | (origin | |
596 | (method url-fetch) | |
597 | (uri (string-append | |
598 | "ftp://ftp.exim.org/pub/exim/exim4/exim-" version ".tar.bz2")) | |
599 | (sha256 | |
600 | (base32 "195a3ll5ck9viazf9pvgcyc0sziln5g0ggmlm6ax002lphmiy88k")))) | |
601 | (build-system gnu-build-system) | |
602 | (inputs | |
603 | `(("bdb" ,bdb) | |
604 | ("gnutls" ,gnutls) | |
605 | ("gzip" ,gzip) | |
606 | ("bzip2" ,bzip2) | |
607 | ("xz" ,xz) | |
608 | ("pcre" ,pcre) | |
609 | ("perl" ,perl) | |
610 | ("libxt" ,libxt) | |
611 | ("libxaw" ,libxaw))) | |
612 | (native-inputs | |
613 | `(("perl" ,perl))) | |
614 | (arguments | |
615 | '(#:phases | |
616 | (alist-replace | |
617 | 'configure | |
618 | ;; We'd use #:make-flags but the top-level Makefile calls others | |
619 | ;; recursively, so just set all variables this way. | |
620 | (lambda* (#:key outputs inputs #:allow-other-keys) | |
621 | (substitute* '("Makefile" "OS/Makefile-Default") | |
622 | (("(RM_COMMAND=).*" all var) | |
623 | (string-append var "rm\n"))) | |
624 | (copy-file "src/EDITME" "Local/Makefile") | |
625 | (copy-file "exim_monitor/EDITME" "Local/eximon.conf") | |
626 | (let ((out (assoc-ref outputs "out")) | |
627 | (gzip (assoc-ref inputs "gzip")) | |
628 | (bzip2 (assoc-ref inputs "bzip2")) | |
629 | (xz (assoc-ref inputs "xz"))) | |
630 | (substitute* '("Local/Makefile") | |
631 | (("(BIN_DIRECTORY=).*" all var) | |
632 | (string-append var out "/bin\n")) | |
633 | (("(CONFIGURE_FILE=).*" all var) | |
634 | (string-append var out "/etc/exim.conf\n")) | |
635 | (("(EXIM_USER=).*" all var) | |
636 | (string-append var "nobody\n")) | |
637 | (("(FIXED_NEVER_USERS=).*" all var) | |
638 | (string-append var "\n")) ;XXX no root in build environment | |
639 | (("(COMPRESS_COMMAND=).*" all var) | |
640 | (string-append var gzip "/bin/gzip\n")) | |
641 | (("(ZCAT_COMMAND=).*" all var) | |
642 | (string-append var gzip "/bin/zcat\n"))) | |
643 | ;; This file has hardcoded names for tools despite the zcat | |
644 | ;; configuration above. | |
645 | (substitute* '("src/exigrep.src") | |
646 | (("'zcat'") (string-append "'" gzip "/bin/zcat'")) | |
647 | (("'bzcat'") (string-append "'" bzip2 "/bin/bzcat'")) | |
648 | (("'xzcat'") (string-append "'" xz "/bin/xzcat'")) | |
649 | (("'lzma'") (string-append "'" xz "/bin/lzma'"))))) | |
650 | (alist-cons-before | |
651 | 'build 'fix-sh-paths | |
652 | (lambda* (#:key inputs #:allow-other-keys) | |
653 | (substitute* '("scripts/lookups-Makefile" "scripts/reversion") | |
654 | (("SHELL=/bin/sh") "SHELL=sh")) | |
655 | (substitute* '("scripts/Configure-config.h") | |
656 | (("\\| /bin/sh") "| sh")) | |
657 | (let ((bash (assoc-ref inputs "bash"))) | |
658 | (substitute* '("scripts/Configure-eximon") | |
659 | (("#!/bin/sh") (string-append "#!" bash "/bin/sh"))))) | |
660 | %standard-phases)) | |
661 | #:make-flags '("INSTALL_ARG=-no_chown") | |
662 | ;; No 'check' target. | |
663 | #:tests? #f)) | |
664 | (home-page "http://www.exim.org/") | |
665 | (synopsis | |
666 | "Message Transfer Agent (MTA) developed at the University of Cambridge") | |
667 | (description | |
668 | "Exim is a message transfer agent (MTA) developed at the University of | |
669 | Cambridge for use on Unix systems connected to the Internet. In style it is | |
670 | similar to Smail 3, but its facilities are more general. There is a great | |
671 | deal of flexibility in the way mail can be routed, and there are extensive | |
672 | facilities for checking incoming mail.") | |
673 | (license gpl2+))) | |
674 | ||
7d2b784b MW |
675 | (define-public dovecot |
676 | (package | |
677 | (name "dovecot") | |
678 | (version "2.2.16") | |
679 | (source | |
680 | (origin | |
681 | (method url-fetch) | |
682 | (uri (string-append "http://www.dovecot.org/releases/" | |
683 | (version-major+minor version) "/" | |
684 | name "-" version ".tar.gz")) | |
685 | (sha256 (base32 | |
686 | "1w6gg4h9mxg3i8faqpmgj19imzyy001b0v8ihch8ma3zl63i5kjn")))) | |
687 | (build-system gnu-build-system) | |
688 | (native-inputs | |
689 | `(("pkg-config" ,pkg-config))) | |
690 | (inputs | |
691 | `(("openssl" ,openssl) | |
692 | ("zlib" ,zlib) | |
693 | ("bzip2" ,bzip2) | |
694 | ("sqlite" ,sqlite))) | |
695 | (arguments | |
696 | `(#:configure-flags '("--sysconfdir=/etc" | |
697 | "--localstatedir=/var") | |
698 | #:phases (modify-phases %standard-phases | |
699 | (add-before | |
700 | 'configure 'pre-configure | |
701 | (lambda _ | |
702 | ;; Simple hack to avoid installing in /etc | |
703 | (substitute* '("doc/Makefile.in" | |
704 | "doc/example-config/Makefile.in") | |
705 | (("pkgsysconfdir = .*") | |
706 | "pkgsysconfdir = /tmp/etc")) | |
707 | #t))))) | |
708 | (home-page "http://www.dovecot.org") | |
709 | (synopsis "Secure POP3/IMAP server") | |
710 | (description | |
711 | "Dovecot is a mail server whose major goals are security and reliability. | |
712 | It supports mbox/Maildir and its own dbox/mdbox formats.") | |
713 | ;; Most source files are covered by either lgpl2.1 or expat. The SHA code | |
714 | ;; is covered by a variant of BSD-3, and UnicodeData.txt is covered by the | |
715 | ;; Unicode, Inc. License Agreement for Data Files and Software. | |
716 | (license (list lgpl2.1 license:expat (non-copyleft "file://COPYING"))))) | |
717 | ||
81ce19f4 TČ |
718 | (define-public isync |
719 | (package | |
720 | (name "isync") | |
721 | (version "1.1.2") | |
722 | (source | |
723 | (origin | |
724 | (method url-fetch) | |
725 | (uri (string-append "mirror://sourceforge/isync/isync/" | |
726 | version "/isync-" version ".tar.gz")) | |
727 | (sha256 (base32 | |
728 | "1960ah3fmp75cakd06lcx50n5q0yvfsadjh3lffhyvjvj7ava9d2")))) | |
729 | (build-system gnu-build-system) | |
730 | (inputs | |
731 | `(("bdb" ,bdb) | |
732 | ("openssl" ,openssl))) | |
733 | (home-page "http://isync.sourceforge.net/") | |
734 | (synopsis "Mailbox synchronization program") | |
735 | (description | |
736 | "isync/mbsync is command line tool for two-way synchronization of | |
737 | mailboxes. Currently Maildir and IMAP are supported types.") | |
738 | (license gpl2+))) | |
739 | ||
26b8de19 EB |
740 | (define-public perl-email-abstract |
741 | (package | |
742 | (name "perl-email-abstract") | |
743 | (version "3.008") | |
744 | (source | |
745 | (origin | |
746 | (method url-fetch) | |
747 | (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" | |
748 | "Email-Abstract-" version ".tar.gz")) | |
749 | (sha256 | |
750 | (base32 | |
751 | "0h42rhvp769wb421cpbbg6v6xjp8iv86mvz70pqgfgf4nsn6jwgw")))) | |
752 | (build-system perl-build-system) | |
753 | (propagated-inputs | |
754 | `(("perl-email-simple" ,perl-email-simple) | |
755 | ("perl-mro-compat" ,perl-mro-compat))) | |
756 | (home-page "http://search.cpan.org/dist/Email-Abstract") | |
757 | (synopsis "Interface to mail representations") | |
758 | (description "Email::Abstract provides module writers with the ability to | |
759 | write simple, representation-independent mail handling code.") | |
760 | (license (package-license perl)))) | |
761 | ||
ebda902f EB |
762 | (define-public perl-email-address |
763 | (package | |
764 | (name "perl-email-address") | |
765 | (version "1.907") | |
766 | (source | |
767 | (origin | |
768 | (method url-fetch) | |
769 | (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" | |
770 | "Email-Address-" version ".tar.gz")) | |
771 | (sha256 | |
772 | (base32 | |
773 | "1ai4r149pzjv9dc2vddir8zylj0z1pii93rm4g591lx7avim71hx")))) | |
774 | (build-system perl-build-system) | |
775 | (home-page "http://search.cpan.org/dist/Email-Address") | |
776 | (synopsis "Email address parsing and creation") | |
777 | (description "Email::Address implements a regex-based RFC 2822 parser that | |
778 | locates email addresses in strings and returns a list of Email::Address | |
779 | objects found. Alternatively you may construct objects manually.") | |
780 | (license (package-license perl)))) | |
781 | ||
aa86a3be EB |
782 | (define-public perl-email-date-format |
783 | (package | |
784 | (name "perl-email-date-format") | |
785 | (version "1.005") | |
786 | (source | |
787 | (origin | |
788 | (method url-fetch) | |
789 | (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" | |
790 | "Email-Date-Format-" version ".tar.gz")) | |
791 | (sha256 | |
792 | (base32 | |
793 | "012ivfwpnbl3wr50f9c6f4azhdlxnm31pdn72528g79v61z6372p")))) | |
794 | (build-system perl-build-system) | |
795 | (home-page "http://search.cpan.org/dist/Email-Date-Format") | |
796 | (synopsis "Produce RFC 2822 date strings") | |
797 | (description "Email::Date::Format provides a means for generating an RFC | |
798 | 2822 compliant datetime string.") | |
799 | (license (package-license perl)))) | |
800 | ||
08bf7095 EB |
801 | (define-public perl-email-messageid |
802 | (package | |
803 | (name "perl-email-messageid") | |
804 | (version "1.405") | |
805 | (source | |
806 | (origin | |
807 | (method url-fetch) | |
808 | (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" | |
809 | "Email-MessageID-" version ".tar.gz")) | |
810 | (sha256 | |
811 | (base32 | |
812 | "09216naz21x99ff33wdm3j3zq1zhdbxhrsmx8bvavjrw3gjsvrq3")))) | |
813 | (build-system perl-build-system) | |
814 | (home-page "http://search.cpan.org/dist/Email-MessageID") | |
815 | (synopsis "Generate world unique message-ids") | |
816 | (description "Email::MessageID generates recommended message-ids to | |
817 | identify a message uniquely.") | |
818 | (license (package-license perl)))) | |
819 | ||
0a4c49f6 EB |
820 | (define-public perl-email-mime |
821 | (package | |
822 | (name "perl-email-mime") | |
823 | (version "1.929") | |
824 | (source | |
825 | (origin | |
826 | (method url-fetch) | |
827 | (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" | |
828 | "Email-MIME-" version ".tar.gz")) | |
829 | (sha256 | |
830 | (base32 | |
831 | "1sf7dldg4dvicyw6dl1vx6s1gjq3fcppi0103ikl0vi6v5xjdjdh")))) | |
832 | (build-system perl-build-system) | |
833 | (propagated-inputs | |
834 | `(("perl-email-address" ,perl-email-address) | |
835 | ("perl-email-messageid" ,perl-email-messageid) | |
836 | ("perl-email-mime-contenttype" ,perl-email-mime-contenttype) | |
837 | ("perl-email-mime-encodings" ,perl-email-mime-encodings) | |
838 | ("perl-email-simple" ,perl-email-simple) | |
839 | ("perl-mime-types" ,perl-mime-types))) | |
840 | (home-page "http://search.cpan.org/dist/Email-MIME") | |
841 | (synopsis "MIME message handling") | |
842 | (description "Email::MIME is an extension of the Email::Simple module, to | |
843 | handle MIME encoded messages. It takes a message as a string, splits it up | |
844 | into its constituent parts, and allows you access to various parts of the | |
845 | message. Headers are decoded from MIME encoding.") | |
846 | (license (package-license perl)))) | |
847 | ||
55025bb5 EB |
848 | (define-public perl-email-mime-contenttype |
849 | (package | |
850 | (name "perl-email-mime-contenttype") | |
851 | (version "1.017") | |
852 | (source | |
853 | (origin | |
854 | (method url-fetch) | |
855 | (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" | |
856 | "Email-MIME-ContentType-" version ".tar.gz")) | |
857 | (sha256 | |
858 | (base32 | |
859 | "1cl1l97lg690dh7i704hqi7yhxalq1chy7ylld5yc5v38jqa6gcn")))) | |
860 | (build-system perl-build-system) | |
861 | (native-inputs | |
862 | `(("perl-capture-tiny" ,perl-capture-tiny))) | |
863 | (home-page "http://search.cpan.org/dist/Email-MIME-ContentType") | |
864 | (synopsis "Parse MIME Content-Type headers") | |
865 | (description "Email::MIME::ContentType parses a MIME Content-Type | |
866 | header.") | |
867 | (license (package-license perl)))) | |
868 | ||
02e29936 EB |
869 | (define-public perl-email-mime-encodings |
870 | (package | |
871 | (name "perl-email-mime-encodings") | |
872 | (version "1.315") | |
873 | (source | |
874 | (origin | |
875 | (method url-fetch) | |
876 | (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" | |
877 | "Email-MIME-Encodings-" version ".tar.gz")) | |
878 | (sha256 | |
879 | (base32 | |
880 | "0p5b8g9gh35m8fqrpx60g4bp98rvwd02n5b0vm9wh7mk0xah8wac")))) | |
881 | (build-system perl-build-system) | |
882 | (native-inputs | |
883 | `(("perl-capture-tiny" ,perl-capture-tiny))) | |
884 | (home-page "http://search.cpan.org/dist/Email-MIME-Encodings") | |
885 | (synopsis "Unified interface to MIME encoding and decoding") | |
886 | (description "This module wraps MIME::Base64 and MIME::QuotedPrint.") | |
887 | (license (package-license perl)))) | |
888 | ||
a24c5420 EB |
889 | (define-public perl-email-sender |
890 | (package | |
891 | (name "perl-email-sender") | |
892 | (version "1.300016") | |
893 | (source | |
894 | (origin | |
895 | (method url-fetch) | |
896 | (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" | |
897 | "Email-Sender-" version ".tar.gz")) | |
898 | (sha256 | |
899 | (base32 | |
900 | "18x26fjh399q3s2g8dajb9r10633c46jrnbvycpnpclgnzhjs100")))) | |
901 | (build-system perl-build-system) | |
902 | (native-inputs | |
903 | `(("perl-capture-tiny" ,perl-capture-tiny))) | |
904 | (propagated-inputs | |
905 | `(("perl-email-abstract" ,perl-email-abstract) | |
906 | ("perl-email-address" ,perl-email-address) | |
907 | ("perl-email-simple" ,perl-email-simple) | |
908 | ("perl-list-moreutils" ,perl-list-moreutils) | |
909 | ("perl-module-runtime" ,perl-module-runtime) | |
910 | ("perl-moo" ,perl-moo) | |
911 | ("perl-moox-types-mooselike" ,perl-moox-types-mooselike) | |
912 | ("perl-sub-exporter" ,perl-sub-exporter) | |
913 | ("perl-throwable" ,perl-throwable) | |
914 | ("perl-try-tiny" ,perl-try-tiny))) | |
915 | (home-page "http://search.cpan.org/dist/Email-Sender") | |
916 | (synopsis "Perl library for sending email") | |
917 | (description "Email::Sender replaces the old and sometimes problematic | |
918 | Email::Send library.") | |
919 | (license (package-license perl)))) | |
920 | ||
151ef3ed EB |
921 | (define-public perl-email-simple |
922 | (package | |
923 | (name "perl-email-simple") | |
924 | (version "2.206") | |
925 | (source | |
926 | (origin | |
927 | (method url-fetch) | |
928 | (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" | |
929 | "Email-Simple-" version ".tar.gz")) | |
930 | (sha256 | |
931 | (base32 | |
932 | "19dpy3j5na2k9qw1jcpc8ia25038068r9j1bn34f9yyrisz7s522")))) | |
933 | (build-system perl-build-system) | |
934 | (propagated-inputs | |
935 | `(("perl-email-date-format" ,perl-email-date-format))) | |
936 | (home-page "http://search.cpan.org/dist/Email-Simple") | |
937 | (synopsis "Parsing of RFC 2822 messages") | |
938 | (description "Email::Simple provides simple parsing of RFC 2822 message | |
939 | format and headers.") | |
940 | (license (package-license perl)))) | |
941 | ||
681a6588 | 942 | ;;; mail.scm ends here |