gnu: neomutt: Update to 20170609.
[jackhill/guix/guix.git] / gnu / packages / mail.scm
index a9b2cb3..f4003d7 100644 (file)
@@ -8,19 +8,22 @@
 ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
 ;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
 ;;; Copyright © 2016 Al McElrath <hello@yrns.org>
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
 ;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
-;;; Copyright © 2016, 2017 <contact.ng0@cryptolab.net>
+;;; Copyright © 2016, 2017 ng0 <ng0@no-reply.infotropique.org>
 ;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
-;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2016, 2017 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 Rene Saavedra <rennes@openmailbox.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
 
 (define-module (gnu packages mail)
   #:use-module (gnu packages)
+  #:use-module (gnu packages aspell)
   #: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 crypto)
   #: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 django)
   #:use-module (gnu packages dns)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages emacs)
   #:use-module (gnu packages enchant)
   #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
@@ -61,6 +68,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages kerberos)
   #:use-module (gnu packages libcanberra)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libidn)
@@ -68,6 +76,7 @@
   #:use-module (gnu packages lua)
   #:use-module (gnu packages m4)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages openldap)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages python)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages samba)
   #:use-module (gnu packages screen)
+  #:use-module (gnu packages tcl)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages web)
+  #:use-module (gnu packages webkit)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages docbook)
                 #:select (gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+
                            non-copyleft (expat . license:expat) bsd-3
                            public-domain bsd-4 isc (openssl . license:openssl)
-                           bsd-2 x11-style))
+                           bsd-2 x11-style agpl3 asl2.0 perl-license))
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
 (define-public mailutils
   (package
     (name "mailutils")
-    (version "3.1.1")
+    (version "3.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/mailutils/mailutils-"
                                  version ".tar.bz2"))
              (sha256
               (base32
-               "1dpylyg79avi7brpkcmzaq7bqqkz45flp0ws6f2c8b1gyz4hdnzm"))))
+               "0c06yj5hgqibi24ib9sx865kq6i1h18wn201g6iwcfbpi2a7psdm"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
        ("linux-pam" ,linux-pam)
        ("libltdl" ,libltdl)
        ("gdbm" ,gdbm)))
-    (home-page "https://www.gnu.org/software/mailutils/")
+    (home-page "https://mailutils.org")
     (synopsis "Utilities and library for reading and serving mail")
     (description
      "GNU Mailutils is a collection of programs for managing, viewing and
@@ -214,14 +225,14 @@ aliasing facilities to work just as they would on normal mail.")
 (define-public mutt
   (package
     (name "mutt")
-    (version "1.7.2")
+    (version "1.8.3")
     (source (origin
              (method url-fetch)
-             (uri (string-append "ftp://ftp.mutt.org/pub/mutt/mutt-"
-                                 version ".tar.gz"))
+             (uri (string-append "https://bitbucket.org/mutt/mutt/downloads/"
+                                 "mutt-" version ".tar.gz"))
              (sha256
               (base32
-               "1yazrl82s9fxmamnlvwmsxhwrxnwv6kwakgfmawda8ndhwb50lqm"))
+               "0hpd896mw630sd6ps60hpka8cg691nvr627n8kmabv7zcxnp90cv"))
              (patches (search-patches "mutt-store-references.patch"))))
     (build-system gnu-build-system)
     (inputs
@@ -254,16 +265,15 @@ operating systems.")
   (package
     (inherit mutt)
     (name "neomutt")
-    (version "20170113")
+    (version "20170609")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/" name "/" name
                            "/archive/" name "-" version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0cqr77q263b5qcmdw6g0qixdpk6gmzgzpa03v226nr55v2ips9jg"))))
+         "1kdhnhdlv84v6brhqgh8g0h6cpcbwfc59b4g09zkkgqc4fnggapy"))))
     (inputs
      `(("cyrus-sasl" ,cyrus-sasl)
        ("gdbm" ,gdbm)
@@ -272,27 +282,29 @@ operating systems.")
        ("gnutls" ,gnutls)
        ("openssl" ,openssl) ;For smime
        ("perl" ,perl)
+       ("kyotocabinet" ,kyotocabinet)
        ("libxslt" ,libxslt)
        ("libidn" ,libidn)
        ("libxml2" ,libxml2)
+       ("lmdb" ,lmdb)
        ("docbook-xsl" ,docbook-xsl)
        ("notmuch" ,notmuch)))
     (native-inputs
      `(("autoconf" ,autoconf)
        ("automake" ,automake)
+       ("gettext-minimal" ,gettext-minimal)
        ("pkg-config" ,pkg-config)))
     (arguments
      `(#:configure-flags
-       (list "--enable-smtp"
-             "--enable-imap"
-             "--enable-pop"
-             "--enable-gpgme"
+       (list "--enable-gpgme"
 
              ;; database, implies header caching
              "--without-tokyocabinet"
              "--without-qdbm"
              "--without-bdb"
-             "--without-lmdb"
+             "--with-lmdb"
+             (string-append "--with-kyotocabinet="
+                            (assoc-ref %build-inputs "kyotocabinet"))
              "--with-gdbm"
 
              "--with-gnutls"
@@ -310,8 +322,6 @@ operating systems.")
              "--with-mailpath=/var/mail"
 
              "--with-external-dotlock"
-             "--enable-nntp"
-             "--enable-compressed"
 
              (string-append "--with-curses="
                             (assoc-ref %build-inputs "ncurses")))
@@ -324,13 +334,12 @@ operating systems.")
     (synopsis "Command-line mail reader based on Mutt")
     (description
      "NeoMutt is a command-line mail reader which is based on mutt.
-It adds a large amount of features to mutt, and they all find their way
-into mutt, so it is not a fork but a large set of feature patches.")))
+It adds a large amount of new and improved features to mutt.")))
 
 (define-public gmime
   (package
     (name "gmime")
-    (version "2.6.22")
+    (version "2.6.23")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/gmime/"
@@ -338,7 +347,7 @@ into mutt, so it is not a fork but a large set of feature patches.")))
                                   "/gmime-" version ".tar.xz"))
               (sha256
                (base32
-                "0fjmsphvz8srsmcdl4v13p2z4jp2migaybyny444hal4snbr0py2"))))
+                "0slzlzcr3h8jikpz5a5amqd0csqh2m40gdk910ws2hnaf5m6hjbi"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -407,7 +416,7 @@ and corrections.  It is based on a Bayesian filter.")
 (define-public offlineimap
   (package
     (name "offlineimap")
-    (version "7.0.13")
+    (version "7.1.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/OfflineIMAP/offlineimap/"
@@ -415,11 +424,10 @@ and corrections.  It is based on a Bayesian filter.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1kl72wcxnxb4y5lm2f7ymwjsisnnpwb4w971ajkxlsiwjhzq8i7p"))))
+                "00xpxh0pxcvv3mjgb3vq3x51v498dhqcaixyb3a4srmfgskzh956"))))
     (build-system python-build-system)
     (native-inputs
-     `(("asciidoc" ,asciidoc)
-       ("libxslt" ,libxslt)))  ; for xsltproc
+     `(("asciidoc" ,asciidoc)))
     (inputs `(("python2-pysqlite" ,python2-pysqlite)
               ("python2-six" ,python2-six)))
     (arguments
@@ -659,14 +667,14 @@ invoking @command{notifymuch} from the post-new hook.")
 (define-public notmuch
   (package
     (name "notmuch")
-    (version "0.23.5")
+    (version "0.24.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://notmuchmail.org/releases/notmuch-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0ry2k9sdwd1vw8cf6svch8wk98523s07mwxvsf7b8kghqnrr89n6"))))
+                "0lfchvapk11qazdgsxj42igp9mpp83zbd0h1jj6r3ifmhikajxma"))))
     (build-system gnu-build-system)
     (arguments
      '(#:make-flags (list "V=1") ; Verbose test output.
@@ -824,14 +832,14 @@ useful features.")
 (define-public libetpan
   (package
     (name "libetpan")
-    (version "1.7.2")
+    (version "1.8")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://github.com/dinhviethoa/" name
                    "/archive/" version ".tar.gz"))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
-               (base32 "081ixgj3skglq9i7v0jb835lmfx21zi4i5b7997igwr0lj174y9j"))))
+               (base32 "1sxnaglp5hb0z78sgnfzva4x8m4flqhicvm1dz0krkxdmfsafrsf"))))
     (build-system gnu-build-system)
     (native-inputs `(("autoconf" ,(autoconf-wrapper))
                      ("automake" ,automake)
@@ -862,7 +870,7 @@ useful features.")
 framework for different kinds of mail access: IMAP, SMTP, POP and NNTP.  It
 provides an API for C language.  It's the low-level API used by MailCore and
 MailCore 2.")
-    (license (non-copyleft "file://COPYING"))))
+    (license bsd-3)))
 
 (define-public compface
   (package
@@ -888,7 +896,7 @@ compresses it.")
 (define-public claws-mail
   (package
     (name "claws-mail")
-    (version "3.14.1")
+    (version "3.15.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -896,7 +904,7 @@ compresses it.")
                     ".tar.xz"))
               (sha256
                (base32
-                "0df34gj4r5cbb92834hph19gnh7ih9rgmmw47rliyg8b9z01v6mp"))))
+                "0bnwd3l04y6j1nw3h861rdy6k6lyjzsi51j04d33vbpq8c6jskaf"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)))
     (inputs `(("bogofilter" ,bogofilter)
@@ -1076,7 +1084,7 @@ facilities for checking incoming mail.")
 (define-public dovecot
   (package
     (name "dovecot")
-    (version "2.2.27")
+    (version "2.2.30.2")
     (source
      (origin
        (method url-fetch)
@@ -1084,7 +1092,7 @@ facilities for checking incoming mail.")
                            (version-major+minor version) "/"
                            name "-" version ".tar.gz"))
        (sha256 (base32
-                "1s8qvr6fa9d0n179kdwgpsi72zkvpbh9q57q8fr2fjysgjl94zw9"))))
+                "17hqhzfqlk08d20x9rwi0lyvy13pc0x8sr1zcg89vapf3jfagnzk"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
@@ -1126,6 +1134,101 @@ It supports mbox/Maildir and its own dbox/mdbox formats.")
     ;; Unicode, Inc. License Agreement for Data Files and Software.
     (license (list lgpl2.1 license:expat (non-copyleft "file://COPYING")))))
 
+(define-public dovecot-trees
+  (package
+    (name "dovecot-trees")
+    (version "2.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://0xacab.org/riseuplabs/trees/repository/"
+                           "archive.tar.gz?ref=v" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0rkk10b1bsjz979sc864vpgcdchy7yxwmyv4ik50lar1h6awdnrf"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("automake" ,automake)
+       ("autoconf" ,autoconf)
+       ("libtool" ,libtool)
+       ("dovecot" ,dovecot)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libsodium" ,libsodium)))
+    (arguments
+     `(#:tests? #f ;No tests exist.
+       #:configure-flags (list (string-append "--with-dovecot="
+                                              (assoc-ref %build-inputs "dovecot")
+                                              "/lib/dovecot"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'autogen
+           (lambda _
+             (zero? (system* "./autogen.sh")))))))
+    (home-page "https://0xacab.org/riseuplabs/trees")
+    (synopsis "NaCL-based Dovecot email storage encryption plugin")
+    (description
+     "Technology for Resting Email Encrypted Storage (TREES) is a NaCL-based
+Dovecot encryption plugin.  This plugin adds individually encrypted mail
+storage to the Dovecot IMAP server.  It is inspired by Posteo's scrambler
+which uses OpenSSL and RSA keypairs.  TREES works in a similar way, but uses
+the Sodium crypto library (based on NaCL).
+
+How it works:
+@enumerate
+@item On IMAP log in, the user's cleartext password is passed to the plugin.
+@item The plugin creates an argon2 digest from the password.
+@item This password digest is used as a symmetric secret to decrypt a libsodium secretbox.
+@item Inside the secretbox is stored a Curve25519 private key.
+@item The Curve25519 private key is used to decrypt each individual message,
+using lidsodium sealed boxes.
+@item New mail is encrypted as it arrives using the Curve25519 public key.
+@end enumerate\n")
+    (license agpl3)))
+
+(define-public dovecot-libsodium-plugin
+  (let ((commit "044de73c01c35385df0105f6b387bec5d5317ce7")
+        (revision "1"))
+    (package
+      (name "dovecot-libsodium-plugin")
+      (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/LuckyFellow/dovecot-libsodium-plugin")
+               (commit commit)))
+         (file-name (string-append name "-" version "-checkout"))
+         (sha256
+          (base32
+           "13h07l7xy713zchnj2p9fhvq7fdl4zy1ai94li3ygkqjjj8hrgas"))))
+      (build-system gnu-build-system)
+      (native-inputs
+       `(("automake" ,automake)
+         ("autoconf" ,autoconf)
+         ("libtool" ,libtool)
+         ("dovecot" ,dovecot)
+         ("pkg-config" ,pkg-config)))
+      (inputs
+       `(("libsodium" ,libsodium)))
+      (arguments
+       `(#:tests? #f ;No tests exist.
+         #:configure-flags (list (string-append "--with-dovecot="
+                                                (assoc-ref %build-inputs "dovecot")
+                                                "/lib/dovecot"))
+         #:phases
+         (modify-phases %standard-phases
+           (add-before 'configure 'autogen
+             (lambda _
+               (zero? (system* "./autogen.sh")))))))
+      (home-page "https://github.com/LuckyFellow/dovecot-libsodium-plugin")
+      (synopsis "Libsodium password hashing schemes plugin for Dovecot")
+      (description
+       "@code{dovecot-libsodium-plugin} provides libsodium password
+hashing schemes plugin for @code{Dovecot}.")
+      (license gpl3+))))
+
 (define-public isync
   (package
     (name "isync")
@@ -1169,7 +1272,7 @@ mailboxes.  Currently Maildir and IMAP are supported types.")
     (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))))
+    (license perl-license)))
 
 (define-public perl-email-address
   (package
@@ -1189,7 +1292,7 @@ write simple, representation-independent mail handling code.")
     (description "Email::Address implements a regex-based RFC 2822 parser that
 locates email addresses in strings and returns a list of Email::Address
 objects found.  Alternatively you may construct objects manually.")
-    (license (package-license perl))))
+    (license perl-license)))
 
 (define-public perl-email-date-format
   (package
@@ -1208,7 +1311,7 @@ objects found.  Alternatively you may construct objects manually.")
     (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))))
+    (license perl-license)))
 
 (define-public perl-email-messageid
   (package
@@ -1227,12 +1330,12 @@ objects found.  Alternatively you may construct objects manually.")
     (synopsis "Generate world unique message-ids")
     (description "Email::MessageID generates recommended message-ids to
 identify a message uniquely.")
-    (license (package-license perl))))
+    (license perl-license)))
 
 (define-public perl-email-mime
   (package
     (name "perl-email-mime")
-    (version "1.937")
+    (version "1.940")
     (source
      (origin
        (method url-fetch)
@@ -1240,7 +1343,7 @@ identify a message uniquely.")
                            "Email-MIME-" version ".tar.gz"))
        (sha256
         (base32
-         "0s50i3nxi9dr81p4rn017nrarc40yrwz0qcw34q8k3pvdf46fr9n"))))
+         "0pnxbr16cn5qy96xqhp9zmd94ashc9ivqh10qbgbc3f637a0mfir"))))
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-email-address" ,perl-email-address)
@@ -1255,7 +1358,7 @@ identify a message uniquely.")
 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))))
+    (license perl-license)))
 
 (define-public perl-email-mime-contenttype
   (package
@@ -1276,7 +1379,7 @@ message.  Headers are decoded from MIME encoding.")
     (synopsis "Parse MIME Content-Type headers")
     (description "Email::MIME::ContentType parses a MIME Content-Type
 header.")
-    (license (package-license perl))))
+    (license perl-license)))
 
 (define-public perl-email-mime-encodings
   (package
@@ -1296,7 +1399,7 @@ header.")
     (home-page "http://search.cpan.org/dist/Email-MIME-Encodings")
     (synopsis "Unified interface to MIME encoding and decoding")
     (description "This module wraps MIME::Base64 and MIME::QuotedPrint.")
-    (license (package-license perl))))
+    (license perl-license)))
 
 (define-public perl-email-sender
   (package
@@ -1328,12 +1431,12 @@ header.")
     (synopsis "Perl library for sending email")
     (description "Email::Sender replaces the old and sometimes problematic
 Email::Send library.")
-    (license (package-license perl))))
+    (license perl-license)))
 
 (define-public perl-email-simple
   (package
     (name "perl-email-simple")
-    (version "2.211")
+    (version "2.213")
     (source
      (origin
        (method url-fetch)
@@ -1341,7 +1444,7 @@ Email::Send library.")
                            "Email-Simple-" version ".tar.gz"))
        (sha256
         (base32
-         "1if4a2wh4iwlcycqrd2fhkx04ngmd75q444gh43w0r9p15ym5f8w"))))
+         "1ibwsng63gvqqc6r2135mjwfdzazxkb1x8q7f87wqcbjcjfpmffd"))))
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-email-date-format" ,perl-email-date-format)))
@@ -1349,7 +1452,7 @@ Email::Send library.")
     (synopsis "Parsing of RFC 2822 messages")
     (description "Email::Simple provides simple parsing of RFC 2822 message
 format and headers.")
-    (license (package-license perl))))
+    (license perl-license)))
 
 (define-public libesmtp
   (package
@@ -1358,8 +1461,14 @@ format and headers.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "http://www.stafford.uklinux.net/libesmtp/libesmtp-"
-                           version ".tar.bz2"))
+       (uri (list (string-append "https://pkgs.fedoraproject.org/repo/pkgs/"
+                                 "libesmtp/libesmtp-" version ".tar.bz2/"
+                                 "bf3915e627fd8f35524a8fdfeed979c8/libesmtp-"
+                                 version ".tar.bz2")
+                  ;; XXX This site is offline, so we fetch Fedora's cached copy
+                  ;; of the source tarball.
+                  (string-append "http://www.stafford.uklinux.net/libesmtp/libesmtp-"
+                                 version ".tar.bz2")))
        (sha256
         (base32
          "02zbniyz7qys1jmx3ghx21kxmns1wc3hmv80gp7ag7yra9f1m9nh"))))
@@ -1494,13 +1603,13 @@ maintained.")
 (define-public khard
   (package
     (name "khard")
-    (version "0.11.3")
+    (version "0.11.4")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri name version))
               (sha256
                (base32
-                "1v66khq5w17xdbkpb00pf9xbl84dlzx4lq286fvzskb949b3y4yn"))))
+                "1shhlq6ljbd8095hd82v4mw56rjcfxf1ymmgknbgh8gix02nsxw1"))))
     (build-system python-build-system)
     (arguments
       `(#:phases
@@ -1509,7 +1618,11 @@ maintained.")
             (lambda* (#:key outputs #:allow-other-keys)
               (let* ((out (assoc-ref outputs "out"))
                      (doc (string-append out "/share/doc/khard")))
-                (copy-recursively "misc/khard" doc)))))))
+                (copy-recursively "misc/khard" doc)
+                #t))))
+        ;; FIXME: check phase fails with
+        ;; "Config file /tmp/.config/khard/khard.conf not available"
+        #:tests? #f))
     (propagated-inputs
      `(("python-vobject" ,python-vobject)
        ("python-pyyaml" ,python-pyyaml)
@@ -1937,7 +2050,7 @@ the GNU Mailman 3 REST API.")
     (description
      "Mlmmj is a simple and slim mailing list manager (MLM) inspired by ezmlm.
 It works with many different Mail Transport Agents (MTAs) and is simple for a
-system adminstrator to install, configure and integrate with other software.
+system administrator to install, configure and integrate with other software.
 As it uses very few resources, and requires no daemons, it is ideal for
 installation on systems where resources are limited.  Its features include:
 @enumerate
@@ -1951,3 +2064,275 @@ installation on systems where resources are limited.  Its features include:
 @item Rich and customisable texts for automated operations.
 @end enumerate\n")
     (license license:expat)))
+
+(define-public python-django-mailman3
+  (package
+    (name "python-django-mailman3")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "django-mailman3" version))
+       (sha256
+        (base32
+         "1adxyh8knw9knjlh73xq0jpn5adml0ck4alsv0swakm95wfyx46z"))))
+    (build-system python-build-system)
+    (inputs
+     `(("python-django" ,python-django)))
+    (propagated-inputs
+     `(("python-requests" ,python-requests)
+       ("python-requests-oauthlib" ,python-requests-oauthlib)
+       ("python-openid" ,python-openid)
+       ("python-mailmanclient" ,python-mailmanclient)
+       ("python-django-allauth" ,python-django-allauth)
+       ("python-django-gravatar2" ,python-django-gravatar2)
+       ("python-pytz" ,python-pytz)))
+    (home-page "https://gitlab.com/mailman/django-mailman3")
+    (synopsis "Django library for Mailman UIs")
+    (description
+     "Libraries and templates for Django-based interfaces
+interacting with Mailman.")
+    (license gpl3+)))
+
+(define-public python2-django-mailman3
+  (let ((base (package-with-python2
+               python-django-mailman3)))
+    (package
+      (inherit base)
+      (propagated-inputs
+       `(("python2-openid" ,python2-openid)
+         ,@(package-propagated-inputs base))))))
+
+(define-public postorius
+  (package
+    (name "postorius")
+    (version "1.0.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "postorius" version "+post2.tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1wymcpv2icjjy8h1ni52p6dr7wwxf71ivqgbqhzx4i82yqphcaq5"))))
+    (build-system python-build-system)
+    (arguments
+     `(; One test dependency relies on Persona, which was shut down in
+       ;; November 2016.
+       #:tests? #f
+       ;; The part of the frontend of Mailman is still python 2.7.
+       #:python ,python-2))
+    (inputs
+     `(("python2-django" ,python2-django)
+       ("python2-django-mailman3" ,python2-django-mailman3)
+       ("python2-mailmanclient" ,python2-mailmanclient)))
+    (home-page "https://gitlab.com/mailman/postorius")
+    (synopsis "Web user interface for GNU Mailman")
+    (description
+     "Postorius is a Django app which provides a web user interface
+to access GNU Mailman.")
+    (license (list gpl3+ lgpl3+))))
+
+(define-public blists
+  (package
+    (name "blists")
+    (version "1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://download.openwall.net/pub/projects/"
+                           "blists/blists-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1gp51kmb8yv8d693wcpdslmwlbw5w2kgz4kxhrcaf7y89w8wy4qd"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; No tests
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin")))
+               (install-file "bindex" bin)
+               (install-file "bit" bin)
+               #t))))))
+    (home-page "http://www.openwall.com/blists/")
+    (synopsis "Web interface to mailing list archives")
+    (description
+     "Blists is a web interface to mailing list archives that works off
+indexed mbox files.  There are two programs: @code{bindex} and @code{bit}.
+@code{bindex} generates or updates the index file (incremental updates
+are supported).  @code{bit} is a CGI/SSI program that generates web pages
+on the fly.  Both programs are written in C and are very fast.")
+    (license license:expat)))
+
+(define-public swaks
+  (package
+    (name "swaks")
+    (version "20170101.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "http://jetmore.org/john/code/swaks/files/swaks-"
+             version ".tar.gz"))
+       (sha256
+        (base32
+         "0pli4mlhasnqqxmmxalwyg3x7n2vhcbgsnp2xgddamjavv82vrl4"))))
+    (build-system perl-build-system)
+    (inputs
+     `(("perl-net-dns" ,perl-net-dns)
+       ("perl-net-ssleay" ,perl-net-ssleay)))
+    (arguments
+     `(#:tests? #f ; No tests
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'build
+           (lambda _
+             (zero? (system* "pod2man" "doc/ref.pod" "swaks.1"))))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (install-file "swaks" (string-append out "/bin"))
+               (install-file "swaks.1" (string-append out "/share/man/man1")))
+             #t))
+         (add-after 'install 'wrap-program
+           (lambda* (#:key outputs #:allow-other-keys)
+             (wrap-program (string-append (assoc-ref outputs "out")
+                                          "/bin/swaks")
+               `("PERL5LIB" ":" = (,(getenv "PERL5LIB"))))
+             #t)))))
+    (home-page "http://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,
+authentication, and pipelining; multiple versions of the SMTP protocol
+including SMTP, ESMTP, and LMTP; and multiple transport methods including
+unix-domain sockets, internet-domain sockets, and pipes to spawned processes.
+Options can be specified in environment variables, configuration files, and
+the command line allowing maximum configurability and ease of use for
+operators and scripters.")
+    (license gpl2+)))
+
+(define-public alpine
+  (package
+    (name "alpine")
+    (version "2.21")
+    (source
+     (origin
+       (method url-fetch)
+       ;; There are two versions: the plain continuation of Alpine without extra
+       ;; patches and the version which adds extra fixes. Every distro uses
+       ;; the patched version, and so do we to not break expectations.
+       ;; http://patches.freeiz.com/alpine/readme/README.patches
+       (uri (string-append "http://patches.freeiz.com/alpine/patches/alpine-"
+                           version "/alpine-" version ".tar.xz"))
+       (sha256
+        (base32
+         "1k9hcfjywfk3mpsl71hjza3nk6icgf1b6xxzgx10kdzg5yci5x5m"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags (list "CC=gcc")
+       #:configure-flags (list (string-append "--with-ssl-include-dir="
+                                              (assoc-ref %build-inputs "openssl")
+                                              "/include/openssl")
+                               (string-append "--with-ssl-dir="
+                                              (assoc-ref %build-inputs "openssl"))
+                               (string-append "--with-ssl-certs-dir="
+                                              "/etc/ssl/certs/")
+                               (string-append "--with-ssl-lib-dir="
+                                              (assoc-ref %build-inputs "openssl")
+                                              "/lib")
+                               (string-append "--with-interactive-spellcheck="
+                                              (assoc-ref %build-inputs "aspell")
+                                              "/bin/aspell"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'make-reproducible
+           (lambda _
+             ;; This removes time-dependent code to make alpine reproducible.
+             (substitute* "pico/blddate.c"
+               (("%02d-%s-%d") "1970-01-01"))
+             (substitute* (list "alpine/Makefile.in"
+                                "web/src/alpined.d/Makefile.in")
+               (("`date`") "1970-01-01"))
+             #t)))))
+    (inputs
+     `(("ncurses" ,ncurses)
+       ("openssl" ,openssl)
+       ("gnutls" ,gnutls)
+       ("openldap" ,openldap)
+       ("cyrus-sasl" ,cyrus-sasl)
+       ("mit-krb5" ,mit-krb5)
+       ("aspell" ,aspell)
+       ("tcl" ,tcl)
+       ("linux-pam" ,linux-pam)))
+    (home-page "http://patches.freeiz.com/alpine/")
+    (synopsis "Alternatively Licensed Program for Internet News and Email")
+    (description
+     "Alpine is a text-based mail and news client.  Alpine includes several
+tools and applications:
+@enumerate
+@item alpine, the Alpine mailer
+@item pico, the standalone text editor, GNU nano's predecessor
+@item pilot, the standalone file system navigator
+@end enumerate\n")
+    (license asl2.0)))
+
+(define-public balsa
+  (package
+    (name "balsa")
+    (version "2.5.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pawsa.fedorapeople.org/balsa/balsa-"
+                           version ".tar.bz2"))
+       (sha256
+        (base32
+         "15jkwp3ylbwd8iha4dr37z1xb6mkk31ym90vv3h2a5xk2rmym5mq"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       '(;; Balsa tries to install additional MIME icons
+         ;; under gtk+ directory.
+         "--enable-extra-mimeicons=no"
+         "--with-gtksourceview"
+         "--with-canberra"
+         "--with-spell-checker=gtkspell"
+         "--with-gpgme"
+         "--with-sqlite"
+         "--with-compface"
+         "--with-ldap")))
+    (inputs
+     `(("cyrus-sasl" ,cyrus-sasl)
+       ("enchant" ,enchant)
+       ("gdk-pixbuf" ,gdk-pixbuf)
+       ("gmime" ,gmime)
+       ("gnutls" ,gnutls)
+       ("gpgme" ,gpgme)
+       ("gtk+" ,gtk+)
+       ("gtksourceview" ,gtksourceview)
+       ("gtkspell3" ,gtkspell3)
+       ("libcanberra" ,libcanberra)
+       ("libesmtp" ,libesmtp)
+       ("libnotify" ,libnotify)
+       ("openldap" ,openldap)
+       ("sqlite" ,sqlite)
+       ("webkitgtk" ,webkitgtk)))
+    (native-inputs
+     `(("compface" ,compface)
+       ("glib" ,glib "bin")
+       ("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)
+       ("yelp-tools" ,yelp-tools)))
+    (home-page "https://pawsa.fedorapeople.org/balsa")
+    (synopsis "E-mail client for GNOME")
+    (description "Balsa is a highly configurable and robust mail client for
+the GNOME desktop.  It supports both POP3 and IMAP servers as well as the
+mbox, maildir and mh local mailbox formats.  Balsa also supports SMTP and/or
+the use of a local MTA such as Sendemail.")
+    (license gpl3+)))