summary refs log tree commit diff
path: root/gnu/packages/mail.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/mail.scm')
-rw-r--r--gnu/packages/mail.scm176
1 files changed, 116 insertions, 60 deletions
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index c415e85552..d7e76ac3e5 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
 ;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com>
@@ -15,15 +15,17 @@
 ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
 ;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2016, 2017 Troy Sankey <sankeytms@gmail.com>
-;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
+;;; Copyright © 2016, 2017, 2018 ng0 <ng0@crash.cx>
 ;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
-;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2016 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
+;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -101,6 +103,7 @@
   #:use-module (gnu packages networking)
   #:use-module (gnu packages web)
   #:use-module (gnu packages webkit)
+  #:use-module (gnu packages w3m)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages docbook)
@@ -128,7 +131,15 @@
                                  version ".tar.bz2"))
              (sha256
               (base32
-               "1dn71p85wlyisnwsb485sk3q5v393k3dizsa9fmimskdwjwgk3ch"))))
+               "1dn71p85wlyisnwsb485sk3q5v393k3dizsa9fmimskdwjwgk3ch"))
+             (patches
+              (search-patches "mailutils-uninitialized-memory.patch"))
+             (snippet
+              ;; For a rebuild of the Flex/Bison byproducts touched by the
+              ;; patch above.
+              '(for-each delete-file
+                         '("mh/mh_alias_lex.c"
+                           "libmailutils/cfg/parser.c")))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
@@ -181,6 +192,12 @@
        ;; TODO: Add `--with-sql'.
        #:configure-flags '("--sysconfdir=/etc")
        #:parallel-tests? #f))
+    (native-inputs
+     ;; Note: Bison and Flex needed due to
+     ;; 'mailutils-uninitialized-memory.patch'.
+     `(("bison" ,bison)
+       ("flex" ,flex)
+       ("perl" ,perl)))                           ;for 'gylwrap'
     (inputs
      `(("dejagnu" ,dejagnu)
        ("m4" ,m4)
@@ -240,14 +257,14 @@ aliasing facilities to work just as they would on normal mail.")
 (define-public mutt
   (package
     (name "mutt")
-    (version "1.9.2")
+    (version "1.9.3")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://bitbucket.org/mutt/mutt/downloads/"
                                  "mutt-" version ".tar.gz"))
              (sha256
               (base32
-               "15kqxpx8bykqbyw4q33hkz0j2f65v6cl21sl5li2vw5vaaim5qd2"))
+               "1qbngck1pq1jkpnbpcwcb2q2zqrkgp0nd68wwp57bprxjgb8a6j3"))
              (patches (search-patches "mutt-store-references.patch"))))
     (build-system gnu-build-system)
     (inputs
@@ -279,7 +296,7 @@ operating systems.")
 (define-public neomutt
   (package
     (name "neomutt")
-    (version "20171208")
+    (version "20171215")
     (source
      (origin
        (method url-fetch)
@@ -287,7 +304,7 @@ operating systems.")
                            "/archive/" name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0dfp7m794ws6vg029zx7wrrjrscrnmi8cvbzqzgxafl97bbjipwz"))))
+         "1df1c2ynvivna42ifj1lxmgb0bbfih0ggn1afyniadzjm6cnxdvz"))))
     (build-system gnu-build-system)
     (inputs
      `(("cyrus-sasl" ,cyrus-sasl)
@@ -302,46 +319,84 @@ operating systems.")
        ("libidn" ,libidn)
        ("libxml2" ,libxml2)
        ("lmdb" ,lmdb)
-       ("docbook-xsl" ,docbook-xsl)
        ("notmuch" ,notmuch)))
     (native-inputs
-     `(("autoconf" ,autoconf)
-       ("automake" ,automake)
+     `(("automake" ,automake)
        ("gettext-minimal" ,gettext-minimal)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("docbook-xsl" ,docbook-xsl)
+       ("docbook-xml" ,docbook-xml)
+       ("w3m" ,w3m)
+       ("tcl" ,tcl)))
     (arguments
-     `(#:configure-flags
-       (list "--enable-gpgme"
+     `(#:tests? #f
+       #:configure-flags
+       (list "--gpgme"
 
              ;; database, implies header caching
-             "--without-tokyocabinet"
-             "--without-qdbm"
-             "--without-bdb"
-             "--with-lmdb"
-             (string-append "--with-kyotocabinet="
-                            (assoc-ref %build-inputs "kyotocabinet"))
-             "--with-gdbm"
-
-             "--with-gnutls"
-             "--without-ssl"
-             "--with-sasl"
-
-             "--enable-smime"
-             "--enable-notmuch"
-             "--with-idn"
+             "--disable-tokyocabinet"
+             "--disable-qdbm"
+             "--disable-bdb"
+             "--lmdb"
+             "--kyotocabinet"
+
+             "--gdbm"
+
+             "--gnutls"
+             "--disable-ssl"
+             "--sasl"
+             (string-append "--with-sasl="
+                            (assoc-ref %build-inputs "cyrus-sasl"))
+
+
+             "--smime"
+             "--notmuch"
+             "--idn"
 
              ;; If we do not set this, neomutt wants to check
              ;; whether the path exists, which it does not
              ;; in the chroot. The workaround is this.
              "--with-mailpath=/var/mail"
 
-             (string-append "--with-curses="
-                            (assoc-ref %build-inputs "ncurses")))
+             "--with-ui=ncurses"
+             (string-append "--with-ncurses="
+                            (assoc-ref %build-inputs "ncurses"))
+             (string-append "--prefix="
+                            (assoc-ref %outputs "out"))
+             "--debug")
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'autoconf
+         ;; TODO: autosetup is meant to be included in the source,
+         ;; but we should package autosetup and use our own version of it.
+         (add-before 'configure 'fix-docbook
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* '("doc/chunk.xsl" "doc/manual.xml.tail"
+                            "doc/html.xsl" "doc/manual.xml.head")
+               (("http://docbook.sourceforge.net/release/xsl/current/")
+                (string-append (assoc-ref inputs "docbook-xsl")
+                               "/xml/xsl/docbook-xsl-"
+                               ,(package-version docbook-xsl) "/"))
+               (("http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd")
+                (string-append (assoc-ref inputs "docbook-xml")
+                               "/xml/dtd/docbook/docbookx.dtd")))
+             #t))
+         (add-before 'configure 'fix-sasl-test
            (lambda _
-             (zero? (system* "sh" "autoreconf" "-vfi")))))))
+             ;; Upstream suggestion to fix the failing sasl autosetup test.
+             (substitute* "auto.def"
+               (("cc-with \\[list -cflags -I\\$prefix/include -libs")
+                "cc-with [list -includes stddef.h -cflags -I$prefix/include -libs"))
+             #t))
+         (replace 'configure
+           (lambda* (#:key outputs inputs configure-flags #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (flags `(,@configure-flags))
+                    (bash (which "bash")))
+               (setenv "SHELL" bash)
+               (setenv "CONFIG_SHELL" bash)
+               (apply invoke bash
+                      (string-append (getcwd) "/configure")
+                      flags)))))))
     (home-page "https://www.neomutt.org/")
     (synopsis "Command-line mail reader based on Mutt")
     (description
@@ -429,7 +484,7 @@ and corrections.  It is based on a Bayesian filter.")
 (define-public offlineimap
   (package
     (name "offlineimap")
-    (version "7.1.4")
+    (version "7.1.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/OfflineIMAP/offlineimap/"
@@ -437,7 +492,7 @@ and corrections.  It is based on a Bayesian filter.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0m34iks3l9p6shqkgfhfpiccglm6gk5nj98x20pvahl58nclmzn6"))))
+                "1qa3km3s3yhmpgzh76dnzwn22aa8fh39814zgnlyhs07l23ffa4f"))))
     (build-system python-build-system)
     (native-inputs
      `(("asciidoc" ,asciidoc)))
@@ -532,27 +587,27 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
 (define-public mu
   (package
     (name "mu")
-    (version "0.9.18")
+    (version "1.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/djcb/mu/releases/"
-                                  "download/" version "/mu-"
-                                  version ".tar.gz"))
+                                  "download/v" version "/mu-"
+                                  version ".tar.xz"))
               (sha256
                (base32
-                "02g82zvxfgn17wzy846bfxj0izjj7yklhwdnhwxy1y2kin4fqnb5"))))
+                "04x5azl19gszw2h7argq666gf9xs4hy9q7w9cbqxvy08n56xqsln"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("glib" ,glib "bin")             ; for gtester
-       ("emacs" ,emacs-minimal)))
+       ("emacs" ,emacs-minimal)
+       ("tzdata" ,tzdata-for-tests)))   ;for mu/test/test-mu-query.c
     ;; TODO: Add webkit and gtk to build the mug GUI.
     (inputs
      `(("xapian" ,xapian)
        ("guile" ,guile-2.2)
        ("glib" ,glib)
-       ("gmime" ,gmime)
-       ("tzdata" ,tzdata)))             ;for mu/test/test-mu-query.c
+       ("gmime" ,gmime)))
     (arguments
      `(#:modules ((guix build gnu-build-system)
                   (guix build utils)
@@ -1049,17 +1104,17 @@ delivery.")
 (define-public exim
   (package
     (name "exim")
-    (version "4.90")
+    (version "4.90.1")
     (source
      (origin
        (method url-fetch)
-       (uri (list (string-append "ftp://ftp.exim.org/pub/exim/exim4/exim-"
+       (uri (list (string-append "https://ftp.exim.org/pub/exim/exim4/exim-"
                                  version ".tar.bz2")
-                  (string-append "ftp://ftp.exim.org/pub/exim/exim4/old/exim-"
+                  (string-append "https://ftp.exim.org/pub/exim/exim4/old/exim-"
                                  version ".tar.bz2")))
        (sha256
         (base32
-         "1cmx2648zhpsc4pznky7qsqbjazd3wn4gpslbl30j56cv1m6rb3x"))))
+         "1w6blvvrd87c649j8xpag034md2w1ib0db9c4ijqbzc5dh2i1xfq"))))
     (build-system gnu-build-system)
     (inputs
      `(("bdb" ,bdb)
@@ -1144,6 +1199,7 @@ facilities for checking incoming mail.")
        (uri (string-append "https://www.dovecot.org/releases/"
                            (version-major+minor version) "/"
                            name "-" version ".tar.gz"))
+       (patches (search-patches "dovecot-CVE-2017-15132.patch"))
        (sha256 (base32
                 "10c5myzgys866c3x6jdr1s9x9pqnjd5vpyz8z384sph21m3wnq6y"))))
     (build-system gnu-build-system)
@@ -1916,14 +1972,14 @@ transfer protocols.")
 (define-public opensmtpd
   (package
     (name "opensmtpd")
-    (version "6.0.2p1")
+    (version "6.0.3p1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.opensmtpd.org/archives/"
                                   name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1b4h64w45hpmfq5721smhg4s0shs64gbcjqjpx3fbiw4hz8bdy9a"))))
+                "10bsfsnlg9d9i6l2izdnxp05s3ri8fvwzqxvx1jmarc852382619"))))
     (build-system gnu-build-system)
     (inputs
      `(("bdb" ,bdb)
@@ -1937,10 +1993,10 @@ transfer protocols.")
        ("groff" ,groff)))
     (arguments
      `(#:configure-flags
-       (list "--with-table-db" "--localstatedir=/var"
+       (list "--with-table-db" "--with-auth-pam" "--localstatedir=/var"
              "--with-user-smtpd=smtpd" "--with-user-queue=smtpq"
              "--with-group-queue=smtpq"
-             "--with-path-socket=/var/run"
+             "--with-path-socket=/var/run" ; not default (./configure lies)
              "--with-path-CAfile=/etc/ssl/certs/ca-certificates.crt")
        #:phases
        (modify-phases %standard-phases
@@ -2039,14 +2095,14 @@ for OpenSMTPD to extend its functionality.")
 (define-public python-mailmanclient
   (package
     (name "python-mailmanclient")
-    (version "1.0.1")
+    (version "3.1.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "mailmanclient" version))
        (sha256
         (base32
-         "1cfjh45fgbsax5hjj2inq9nk33dhdvh63xhysc8dhnqidgqgm8c5"))))
+         "0fdfs5g3pf30v2i7w18pdkv9xnfxmfcv66mzv56dck0a1igq07m3"))))
     (build-system python-build-system)
     (arguments
      `(#:tests? #f)) ; Requires mailman running
@@ -2066,7 +2122,7 @@ the GNU Mailman 3 REST API.")
 (define-public mlmmj
   (package
     (name "mlmmj")
-    (version "1.2.19.0")
+    (version "1.3.0")
     (source
      (origin
        (method url-fetch)
@@ -2074,7 +2130,7 @@ the GNU Mailman 3 REST API.")
                            version ".tar.bz2"))
        (sha256
         (base32
-         "1piwvcxkqadjwk5x8jicaiyz9nngmaj3w13ghdqgaki32xd7zk9v"))))
+         "0hpj10qad821ci11si8xc2qnmkzfn90y13s43fm4fca38f0qjp8w"))))
     (build-system gnu-build-system)
     (inputs
      `(("perl" ,perl))) ; For "contrib/web/"
@@ -2125,14 +2181,14 @@ installation on systems where resources are limited.  Its features include:
 (define-public python2-django-mailman3
   (package
     (name "python2-django-mailman3")
-    (version "1.0.1")
+    (version "1.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "django-mailman3" version))
        (sha256
         (base32
-         "1adxyh8knw9knjlh73xq0jpn5adml0ck4alsv0swakm95wfyx46z"))))
+         "1xjdkgfjwhgyrp5nxw65dcpcsr98ygj6856sp0bwkrmyxpd1xxk2"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -2236,7 +2292,7 @@ on the fly.  Both programs are written in C and are very fast.")
      (origin
        (method url-fetch)
        (uri (string-append
-             "http://jetmore.org/john/code/swaks/files/swaks-"
+             "https://jetmore.org/john/code/swaks/files/swaks-"
              version ".tar.gz"))
        (sha256
         (base32
@@ -2252,7 +2308,7 @@ on the fly.  Both programs are written in C and are very fast.")
          (delete 'configure)
          (replace 'build
            (lambda _
-             (zero? (system* "pod2man" "doc/ref.pod" "swaks.1"))))
+             (invoke "pod2man" "doc/ref.pod" "swaks.1")))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
@@ -2265,7 +2321,7 @@ on the fly.  Both programs are written in C and are very fast.")
                                           "/bin/swaks")
                `("PERL5LIB" ":" = (,(getenv "PERL5LIB"))))
              #t)))))
-    (home-page "http://jetmore.org/john/code/swaks/")
+    (home-page "https://jetmore.org/john/code/swaks/")
     (synopsis "Featureful SMTP test tool")
     (description "Swaks is a flexible, scriptable, transaction-oriented SMTP
 test tool.  It handles SMTP features and extensions such as TLS,