;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages backup)
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages bison)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages databases)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages emacs)
#:use-module (gnu packages enchant)
- #:use-module (gnu packages gdbm)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
- #:use-module (gnu packages gnutls)
#:use-module (gnu packages gsasl)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages flex)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libidn)
#:use-module (gnu packages linux)
#:use-module (gnu packages m4)
- #:use-module (gnu packages databases)
#:use-module (gnu packages ncurses)
- #:use-module (gnu packages openssl)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages flex)
#:use-module (gnu packages gdb)
#:use-module (gnu packages samba)
+ #:use-module (gnu packages tls)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module ((guix licenses)
- #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ lgpl3+ non-copyleft))
+ #:select (gpl2 gpl2+ gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ non-copyleft
+ (expat . license:expat)))
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
(define-public mutt
(package
(name "mutt")
- (version "1.5.23")
+ (version "1.5.24")
(source (origin
(method url-fetch)
- (uri (list ;; Temporarily put bitbucket first, because
- ;; ftp.mutt.org has been down for a while.
- (string-append "https://bitbucket.org/mutt/mutt/downloads/mutt-"
- version ".tar.gz")
- (string-append "ftp://ftp.mutt.org/mutt/devel/mutt-"
- version ".tar.gz")))
+ (uri (string-append "ftp://ftp.mutt.org/pub/mutt/mutt-"
+ version ".tar.gz"))
(sha256
(base32
- "0dzx4qk50pjfsb6cs5jahng96a52k12f7pm0sc78iqdrawg71w1s"))
- (patches (list (search-patch "mutt-CVE-2014-9116.patch")))))
+ "0012njrgxf1barjksqkx7ccid2l0xyikhna9mjs9vcfpbrvcm4m2"))
+ (patches (list (search-patch "mutt-store-references.patch")))))
(build-system gnu-build-system)
(inputs
`(("cyrus-sasl" ,cyrus-sasl)
(define-public gmime
(package
(name "gmime")
- (version "2.6.19")
+ (version "2.6.20")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/gmime/"
"/gmime-" version ".tar.xz"))
(sha256
(base32
- "0jm1fgbjgh496rsc0il2y46qd4bqq2ln9168p4zzh68mk4ml1yxg"))))
+ "0rfzbgsh8ira5p76kdghygl5i3fvmmx4wbw5rp7f8ajc4vxp18g0"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("zlib" ,zlib)))
(arguments
`(#:phases
- (alist-cons-after
- 'unpack 'patch-paths-in-tests
- (lambda _
- ;; The test programs run several programs using 'system' with
- ;; hard-coded paths. Here we patch them all. We also change "gpg"
- ;; to "gpg2". We use ISO-8859-1 here because test-iconv.c contains
- ;; raw byte sequences in several different encodings.
- (with-fluids ((%default-port-encoding #f))
- (substitute* (find-files "tests" "\\.c$")
- (("(system *\\(\")(/[^ ]*)" all pre prog-path)
- (let* ((base (basename prog-path))
- (prog (which (if (string=? base "gpg") "gpg2" base))))
- (string-append pre (or prog (error "not found: " base))))))))
- %standard-phases)))
+ (modify-phases %standard-phases
+ (add-after
+ 'unpack 'patch-paths-in-tests
+ (lambda _
+ ;; The test programs run several programs using 'system' with
+ ;; hard-coded paths. Here we patch them all. We also change "gpg"
+ ;; to "gpg2". We use ISO-8859-1 here because test-iconv.c contains
+ ;; raw byte sequences in several different encodings.
+ (with-fluids ((%default-port-encoding #f))
+ (substitute* (find-files "tests" "\\.c$")
+ (("(system *\\(\")(/[^ ]*)" all pre prog-path)
+ (let* ((base (basename prog-path))
+ (prog (which (if (string=? base "gpg") "gpg2" base))))
+ (string-append pre
+ (or prog (error "not found: " base))))))))))))
(home-page "http://spruce.sourceforge.net/gmime/")
(synopsis "MIME message parser and creator library")
(description
(define-public offlineimap
(package
(name "offlineimap")
- (version "6.5.5")
+ (version "6.5.7")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/OfflineIMAP/offlineimap/"
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "00k84qagph3xnxss6rkxm61x07ngz8fvffx4z9jyw5baf3cdd32p"))))
+ "18whwc4f8nk8gi3mjw9153c9cvwd3i9i7njmpdbhcplrv33m5pmp"))))
(build-system python-build-system)
(native-inputs `(("python" ,python-2)))
(arguments
repository and Maildir/IMAP as LOCAL repository.")
(license gpl2+)))
+(define %mu-gtester-patch
+ ;; Ensure tests have unique names, to placate GLib 2.6's gtester.
+ (origin
+ (method url-fetch)
+ (uri "https://github.com/djcb/mu/commit/b44039ed.patch")
+ (sha256
+ (base32
+ "165hryqqhx3wah8a4f5jaq465azx1pm9r4jid7880pys9gd88qlv"))))
+
(define-public mu
(package
(name "mu")
- (version "0.9.12")
+ (version "0.9.13")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/djcb/mu/archive/v"
(file-name (string-append "mu-" version ".tar.gz"))
(sha256
(base32
- "1bxryacmas2llj68m2dv8dr1vwx8f5k2i2azh69jajkpqx7i4wdq"))))
+ "0wj33pma8xgjvn2akk7khzbycwn4c9sshxvzdph9dnpy7gyqxj51"))
+ (patches (list %mu-gtester-patch))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
(define-public notmuch
(package
(name "notmuch")
- (version "0.18.1")
+ (version "0.20.2")
(source (origin
(method url-fetch)
(uri (string-append "http://notmuchmail.org/releases/notmuch-"
version ".tar.gz"))
(sha256
(base32
- "1pdp9l7yv71d3fjb30qyccva8h03hvg88q4a00yi50v2j70kvmgj"))))
+ "1v5dcnlg4km5hfaq0i0qywq5fn66fi0rq4aaibyqkwxz8mis4hgp"))))
(build-system gnu-build-system)
(arguments
- '(#:tests? #f ;; FIXME: Test suite hangs and times out.
- #:phases (alist-replace
- 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (setenv "CONFIG_SHELL" (which "sh"))
- (let ((out (assoc-ref outputs "out")))
- (zero? (system* "./configure"
- (string-append "--prefix=" out)))))
- %standard-phases)))
+ '(#:tests? #f ;; FIXME: 637 tests; 70 fail and 98 are skipped
+ #:phases (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (setenv "CC" "gcc")
+ (setenv "CONFIG_SHELL" (which "sh"))
+
+ (let ((out (assoc-ref outputs "out")))
+ (zero? (system* "./configure"
+ (string-append "--prefix=" out)))))))))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)
+ ("python" ,python-2)
+ ("python-docutils" ,python2-docutils)
+ ("python-sphinx" ,python2-sphinx)
+ ("bash-completion" ,bash-completion)))
(inputs
`(("emacs" ,emacs)
("glib" ,glib)
ing, and tagging large collections of email messages.")
(license gpl3+)))
+(define-public python2-notmuch
+ (package
+ (name "python2-notmuch")
+ (version "0.15.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/source/n/notmuch/notmuch-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "18g8701ibr153ngsz258kgcd42wqnbf9ifpqig1bijy6b0zx9xn5"))))
+ (build-system python-build-system)
+ (inputs `(("notmuch" ,notmuch)))
+ (arguments
+ `(#:python ,python-2
+ #:phases (modify-phases %standard-phases
+ (add-before
+ 'build 'set-libnotmuch-file-name
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((notmuch (assoc-ref inputs "notmuch")))
+ (substitute* "notmuch/globals.py"
+ (("libnotmuch\\.so\\.[0-9]")
+ (string-append notmuch "/lib/libnotmuch.so.4")))
+ #t))))
+ #:tests? #f)) ;no "test" target
+ (home-page "http://notmuchmail.org/")
+ (synopsis "Python bindings of the Notmuch mail indexing library")
+ (description
+ "This package provides Python bindings to use the Notmuch mail indexing
+and search library.")
+ (license gpl3+)))
+
(define-public getmail
(package
(name "getmail")
(define-public claws-mail
(package
(name "claws-mail")
- (version "3.11.1")
+ (version "3.13.0")
(source (origin
(method url-fetch)
(uri (string-append
- "mirror://sourceforge/claws-mail/claws-mail-" version
+ "http://www.claws-mail.org/releases/" name "-" version
".tar.xz"))
(sha256
- (base32 "0cyixz1jgfpi8abh9fbb8ylx9mcvw4jqj81cms666wpqr6v828yp"))))
+ (base32 "0fpr9gdgrs5yggm61a6135ca06x0cflddsh8dwfqmpb3dj07cl1n"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("bogofilter" ,bogofilter)
("curl" ,curl)
("dbus-glib" ,dbus-glib)
- ("dbus" ,dbus)
("enchant" ,enchant)
("expat" ,expat)
("ghostscript" ,ghostscript)
(define-public msmtp
(package
(name "msmtp")
- (version "1.4.32")
+ (version "1.6.2")
(source
(origin
(method url-fetch)
(uri (string-append
- "mirror://sourceforge/msmtp/msmtp-" version ".tar.bz2"))
+ "mirror://sourceforge/msmtp/msmtp-" version ".tar.xz"))
(sha256 (base32
- "122z38pv4q03w3mbnhrhg4w85a51258sfdg2ips0b6cgwz3wbw1b"))))
+ "12c7ljahb06pgn8yvvw526xvr11vnr6d4nr0apylixddpxycsvig"))))
(build-system gnu-build-system)
(inputs
`(("libidn" ,libidn)
(arguments
`(#:configure-flags (list "--with-libgsasl"
"--with-libidn"
- "--with-ssl=gnutls")))
+ "--with-tls=gnutls")))
(synopsis
"Simple and easy to use SMTP client with decent sendmail compatibility")
(description
facilities for checking incoming mail.")
(license gpl2+)))
+(define-public dovecot
+ (package
+ (name "dovecot")
+ (version "2.2.19")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://www.dovecot.org/releases/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.gz"))
+ (sha256 (base32
+ "17sf5aancad4pg1vx1606k99389wg76blpqzmnmxlz4hklzix7km"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("openssl" ,openssl)
+ ("zlib" ,zlib)
+ ("bzip2" ,bzip2)
+ ("sqlite" ,sqlite)
+ ("linux-pam" ,linux-pam)))
+ (arguments
+ `(#:configure-flags '("--sysconfdir=/etc"
+ "--localstatedir=/var")
+ #:phases (modify-phases %standard-phases
+ (add-before
+ 'configure 'pre-configure
+ (lambda _
+ ;; Simple hack to avoid installing in /etc
+ (substitute* '("doc/Makefile.in"
+ "doc/example-config/Makefile.in")
+ (("pkgsysconfdir = .*")
+ "pkgsysconfdir = /tmp/etc"))
+ #t)))))
+ (home-page "http://www.dovecot.org")
+ (synopsis "Secure POP3/IMAP server")
+ (description
+ "Dovecot is a mail server whose major goals are security and reliability.
+It supports mbox/Maildir and its own dbox/mdbox formats.")
+ ;; Most source files are covered by either lgpl2.1 or expat. The SHA code
+ ;; is covered by a variant of BSD-3, and UnicodeData.txt is covered by the
+ ;; Unicode, Inc. License Agreement for Data Files and Software.
+ (license (list lgpl2.1 license:expat (non-copyleft "file://COPYING")))))
+
(define-public isync
(package
(name "isync")
mailboxes. Currently Maildir and IMAP are supported types.")
(license gpl2+)))
+(define-public perl-email-abstract
+ (package
+ (name "perl-email-abstract")
+ (version "3.008")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
+ "Email-Abstract-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0h42rhvp769wb421cpbbg6v6xjp8iv86mvz70pqgfgf4nsn6jwgw"))))
+ (build-system perl-build-system)
+ (propagated-inputs
+ `(("perl-email-simple" ,perl-email-simple)
+ ("perl-mro-compat" ,perl-mro-compat)))
+ (home-page "http://search.cpan.org/dist/Email-Abstract")
+ (synopsis "Interface to mail representations")
+ (description "Email::Abstract provides module writers with the ability to
+write simple, representation-independent mail handling code.")
+ (license (package-license perl))))
+
(define-public perl-email-address
(package
(name "perl-email-address")
objects found. Alternatively you may construct objects manually.")
(license (package-license perl))))
+(define-public perl-email-date-format
+ (package
+ (name "perl-email-date-format")
+ (version "1.005")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
+ "Email-Date-Format-" version ".tar.gz"))
+ (sha256
+ (base32
+ "012ivfwpnbl3wr50f9c6f4azhdlxnm31pdn72528g79v61z6372p"))))
+ (build-system perl-build-system)
+ (home-page "http://search.cpan.org/dist/Email-Date-Format")
+ (synopsis "Produce RFC 2822 date strings")
+ (description "Email::Date::Format provides a means for generating an RFC
+2822 compliant datetime string.")
+ (license (package-license perl))))
+
(define-public perl-email-messageid
(package
(name "perl-email-messageid")
identify a message uniquely.")
(license (package-license perl))))
+(define-public perl-email-mime
+ (package
+ (name "perl-email-mime")
+ (version "1.929")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
+ "Email-MIME-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1sf7dldg4dvicyw6dl1vx6s1gjq3fcppi0103ikl0vi6v5xjdjdh"))))
+ (build-system perl-build-system)
+ (propagated-inputs
+ `(("perl-email-address" ,perl-email-address)
+ ("perl-email-messageid" ,perl-email-messageid)
+ ("perl-email-mime-contenttype" ,perl-email-mime-contenttype)
+ ("perl-email-mime-encodings" ,perl-email-mime-encodings)
+ ("perl-email-simple" ,perl-email-simple)
+ ("perl-mime-types" ,perl-mime-types)))
+ (home-page "http://search.cpan.org/dist/Email-MIME")
+ (synopsis "MIME message handling")
+ (description "Email::MIME is an extension of the Email::Simple module, to
+handle MIME encoded messages. It takes a message as a string, splits it up
+into its constituent parts, and allows you access to various parts of the
+message. Headers are decoded from MIME encoding.")
+ (license (package-license perl))))
+
(define-public perl-email-mime-contenttype
(package
(name "perl-email-mime-contenttype")
(description "This module wraps MIME::Base64 and MIME::QuotedPrint.")
(license (package-license perl))))
+(define-public perl-email-sender
+ (package
+ (name "perl-email-sender")
+ (version "1.300016")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
+ "Email-Sender-" version ".tar.gz"))
+ (sha256
+ (base32
+ "18x26fjh399q3s2g8dajb9r10633c46jrnbvycpnpclgnzhjs100"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-capture-tiny" ,perl-capture-tiny)))
+ (propagated-inputs
+ `(("perl-email-abstract" ,perl-email-abstract)
+ ("perl-email-address" ,perl-email-address)
+ ("perl-email-simple" ,perl-email-simple)
+ ("perl-list-moreutils" ,perl-list-moreutils)
+ ("perl-module-runtime" ,perl-module-runtime)
+ ("perl-moo" ,perl-moo)
+ ("perl-moox-types-mooselike" ,perl-moox-types-mooselike)
+ ("perl-sub-exporter" ,perl-sub-exporter)
+ ("perl-throwable" ,perl-throwable)
+ ("perl-try-tiny" ,perl-try-tiny)))
+ (home-page "http://search.cpan.org/dist/Email-Sender")
+ (synopsis "Perl library for sending email")
+ (description "Email::Sender replaces the old and sometimes problematic
+Email::Send library.")
+ (license (package-license perl))))
+
+(define-public perl-email-simple
+ (package
+ (name "perl-email-simple")
+ (version "2.206")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
+ "Email-Simple-" version ".tar.gz"))
+ (sha256
+ (base32
+ "19dpy3j5na2k9qw1jcpc8ia25038068r9j1bn34f9yyrisz7s522"))))
+ (build-system perl-build-system)
+ (propagated-inputs
+ `(("perl-email-date-format" ,perl-email-date-format)))
+ (home-page "http://search.cpan.org/dist/Email-Simple")
+ (synopsis "Parsing of RFC 2822 messages")
+ (description "Email::Simple provides simple parsing of RFC 2822 message
+format and headers.")
+ (license (package-license perl))))
+
+(define-public libesmtp
+ (package
+ (name "libesmtp")
+ (version "1.0.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://www.stafford.uklinux.net/libesmtp/libesmtp-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "02zbniyz7qys1jmx3ghx21kxmns1wc3hmv80gp7ag7yra9f1m9nh"))))
+ (build-system gnu-build-system)
+ (propagated-inputs
+ `(("openssl" ,openssl)))
+ (home-page "http://www.stafford.uklinux.net/libesmtp/")
+ (synopsis "Library for sending mail via remote hosts using SMTP")
+ (description "libESMTP is an SMTP client which manages posting (or
+submission of) electronic mail via a preconfigured Mail Transport Agent (MTA).
+It may be used as part of a Mail User Agent (MUA) or other program that must
+be able to post electronic mail where mail functionality may not be that
+program's primary purpose.")
+ (license (list lgpl2.1+ gpl2+))))
+
+(define-public esmtp
+ (package
+ (name "esmtp")
+ (version "1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/andywingo/esmtp.git")
+ (commit "01bf9fc")))
+ (sha256
+ (base32
+ "1ay282rrl92h0m0m8z5zzjnwiiagi7c78aq2qvhia5mw7prwfyw2"))
+ (file-name (string-append name "-" version "-checkout"))))
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-before
+ 'configure 'autoconf
+ (lambda _ (zero? (system* "autoreconf" "-vfi")))))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("bison" ,bison)
+ ("flex" ,flex)
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
+ (inputs
+ `(("libesmtp" ,libesmtp)))
+ (home-page "http://sourceforge.net/projects/esmtp/")
+ (synopsis "Relay-only mail transfer agent (MTA)")
+ (description "Esmtp is a simple relay-only mail transfer agent built using
+libESMTP. It sends e-mail via a remote SMTP server using credentials from the
+user's @file{$HOME/.esmtprc} configuration file; see the @command{esmtprc} man
+page for more on configuration. This package also provides minimal
+compatibility shims for the @command{sendmail}, @command{mailq}, and
+@command{newaliases} commands.")
+ (license gpl2+)))
+
;;; mail.scm ends here