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> |
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 |
125 | processing electronic mail. It contains both utilities and server daemons | |
126 | and all operate in a protocol-agnostic way. The underlying libraries are | |
127 | also available, simplifying the addition of mail capabilities to new | |
128 | software.") | |
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 | |
154 | retrieval and forwarding utility intended to be used over on-demand | |
155 | TCP/IP links (such as SLIP or PPP connections). It supports every | |
156 | remote-mail protocol now in use on the Internet: POP2, POP3, RPOP, APOP, | |
157 | KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6 | |
158 | and IPSEC. | |
159 | ||
160 | Fetchmail retrieves mail from remote mail servers and forwards it via SMTP, | |
161 | so it can then be read by normal mail user agents such as mutt, elm | |
162 | or BSD Mail. It allows all your system MTA's filtering, forwarding, and | |
163 | aliasing 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 | |
203 | operating 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 | |
243 | the creation and parsing of messages using the Multipurpose Internet Mail | |
244 | Extension (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 | |
275 | content (body). The program is able to learn from the user's classifications | |
276 | and 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 | |
302 | can read the same mailbox from multiple computers. It supports IMAP as REMOTE | |
303 | repository 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 | |
351 | Maildir-format. Mu's purpose in life is to help you to quickly find the | |
352 | messages you need; in addition, it allows you to view messages, extract | |
353 | attachments, 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- | |
391 | ing, 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 | |
414 | POP3, IMAP4, SSL variants of both, maildirs, mboxrd files, external MDAs, | |
415 | arbitrary message filtering, single-user and domain-mailboxes, and many other | |
416 | useful 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 | |
458 | framework for different kinds of mail access: IMAP, SMTP, POP and NNTP. It | |
459 | provides an API for C language. It's the low-level API used by MailCore and | |
460 | MailCore 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 | |
502 | appearance and interface are designed to be familiar to new users coming from | |
503 | other popular email clients, as well as experienced users. Almost all commands | |
504 | are accessible with the keyboard. Plus, Claws-Mail is extensible via addons | |
505 | which 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 TČ |
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 | |
538 | an SMTP server (for example at a free mail provider) which takes care of further | |
539 | delivery.") | |
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 | |
621 | Cambridge for use on Unix systems connected to the Internet. In style it is | |
622 | similar to Smail 3, but its facilities are more general. There is a great | |
623 | deal of flexibility in the way mail can be routed, and there are extensive | |
624 | facilities for checking incoming mail.") | |
625 | (license gpl2+))) | |
626 | ||
681a6588 | 627 | ;;; mail.scm ends here |