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.scm225
1 files changed, 111 insertions, 114 deletions
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index d601a6e4bc..d253ca7011 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -24,10 +24,10 @@
 ;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com>
 ;;; Copyright © 2017–2022 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017, 2018, 2020 Rene Saavedra <pacoon@protonmail.com>
-;;; Copyright © 2018, 2019, 2020, 2021 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2018, 2019, 2020, 2021, 2022 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
-;;; Copyright © 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2019, 2020, 2021 Tanguy Le Carrour <tanguy@bioneland.org>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 ;;; Copyright © 2020 Justus Winter <justus@sequoia-pgp.org>
@@ -365,7 +365,6 @@ example, modify the message headers or body, or encrypt or sign the message.")
            libltdl
            gdbm
            ;; Required for SEARCH CHARSET.
-           libiconv
            libunistring))
     (home-page "https://mailutils.org")
     (synopsis "Utilities and library for reading and serving mail")
@@ -553,7 +552,7 @@ aliasing facilities to work just as they would on normal mail.")
 (define-public mutt
   (package
     (name "mutt")
-    (version "2.1.5")
+    (version "2.2.1")
     (source (origin
              (method url-fetch)
              (uri (list
@@ -563,7 +562,7 @@ aliasing facilities to work just as they would on normal mail.")
                                    version ".tar.gz")))
              (sha256
               (base32
-               "1q1bq5qfv67s6ynbqga19ifaprgavhdbgg154kb9ffingvj0k8wj"))
+               "1ddbhwsycfpf430k52l5gggywd09h10hwcwzpydam43c5ga30vdp"))
              (patches (search-patches "mutt-store-references.patch"))))
     (build-system gnu-build-system)
     (inputs
@@ -1056,52 +1055,47 @@ and corrections.  It is based on a Bayesian filter.")
     (license license:gpl3+)))
 
 (define-public offlineimap3
-  ;; The OfflineIMAP3 fork does not yet have a release, but it's likely to be
-  ;; 8.0.0 but the source still reports 7.3.0, see
-  ;; https://github.com/OfflineIMAP/offlineimap3/issues/10.
-  (let ((commit "4ca9c75c6f9a0cc8dc7b69dd6abf073e494cc0e5")
-        (revision "0"))
-    (package
-      (name "offlineimap3")
-      (version (git-version "7.3.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/OfflineIMAP/offlineimap3")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "0nzh5dcc559jfw4yy12gc98s17w82b15zxikspc6apd8filmk9xg"))))
-      (build-system python-build-system)
-      (native-inputs
-       (list asciidoc))
-      (inputs
-       (list python-distro python-imaplib2 python-rfc6555))
-      (arguments
-       `(;; Tests require a modifiable IMAP account.
-         #:tests? #f
-         #:phases
-         (modify-phases %standard-phases
-           (add-after 'build 'build-documentation
-             (lambda _
-               (substitute* "docs/Makefile"
-                 ;; Prevent xmllint and xsltproc from downloading a DTD file.
-                 (("a2x -v") "a2x --no-xmllint --xsltproc-opts=--nonet -v"))
-               (invoke "make" "-C" "docs" "man")))
-           (add-after 'install 'install-documentation
-             (lambda* (#:key outputs #:allow-other-keys)
-               (let* ((out (assoc-ref outputs "out"))
-                      (man (string-append out "/share/man")))
-                 (install-file "docs/offlineimap.1" (string-append man "/man1"))
-                 (install-file "docs/offlineimapui.7" (string-append man "/man7"))))))))
-      (home-page "https://www.offlineimap.org")
-      (synopsis "Sync emails between two repositories")
-      (description
-       "OfflineImap synchronizes emails between two repositories, so that you
+  (package
+    (name "offlineimap3")
+    (version "8.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/OfflineIMAP/offlineimap3")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0y3giaz9i8vvczlxkbwymfkn3vi9fv599dy4pc2pn2afxsl4mg2w"))))
+    (build-system python-build-system)
+    (native-inputs
+     (list asciidoc))
+    (inputs
+     (list python-distro python-imaplib2 python-rfc6555))
+    (arguments
+     `(;; Tests require a modifiable IMAP account.
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'build 'build-documentation
+           (lambda _
+             (substitute* "docs/Makefile"
+               ;; Prevent xmllint and xsltproc from downloading a DTD file.
+               (("a2x -v") "a2x --no-xmllint --xsltproc-opts=--nonet -v"))
+             (invoke "make" "-C" "docs" "man")))
+         (add-after 'install 'install-documentation
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (man (string-append out "/share/man")))
+               (install-file "docs/offlineimap.1" (string-append man "/man1"))
+               (install-file "docs/offlineimapui.7" (string-append man "/man7"))))))))
+    (home-page "https://www.offlineimap.org")
+    (synopsis "Sync emails between two repositories")
+    (description
+     "OfflineImap synchronizes emails between two repositories, so that you
 can read the same mailbox from multiple computers.  It supports IMAP as REMOTE
 repository and Maildir/IMAP as LOCAL repository.")
-      (license license:gpl2+))))
+    (license license:gpl2+)))
 
 (define-public offlineimap
   (deprecated-package "offlineimap" offlineimap3))
@@ -1335,40 +1329,36 @@ invoking @command{notifymuch} from the post-new hook.")
 (define-public notmuch
   (package
     (name "notmuch")
-    (version "0.34.3")
+    (version "0.35")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://notmuchmail.org/releases/notmuch-"
                            version ".tar.xz"))
        (sha256
-        (base32 "1278r8x8l2hsxg8plbfk7w2md0fagdm243lm7df5m0gx7d411s9z"))))
+        (base32 "0fdc81m24xrbhfrhw00g12ak4b8hap4961sq7ap6q2pjqhac8cd8"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:make-flags
-       (list "V=1"                      ; verbose test output
-             "NOTMUCH_TEST_TIMEOUT=1h") ; don't fail on slow machines
-       #:phases (modify-phases %standard-phases
-                  (replace 'configure
-                    (lambda* (#:key outputs #:allow-other-keys)
-                      (setenv "CC" ,(cc-for-target))
-                      (setenv "CONFIG_SHELL" (which "sh"))
-                      (let* ((out (assoc-ref outputs "out")))
-                        (invoke "./configure"
-                                (string-append "--prefix=" out)
-                                "--without-emacs"))))
-                  (add-before 'check 'disable-failing-tests
-                    ;; FIXME: Investigate why these tests are failing,
-                    ;; and try removing this for notmuch versions > 0.31.
-                    (lambda _
-                      (substitute* "test/T356-protected-headers.sh"
-                        (("\\$NOTMUCH_GMIME_X509_CERT_VALIDITY") "0"))))
-                  (add-before 'check 'prepare-test-environment
-                    (lambda _
-                      (setenv "TEST_CC" ,(cc-for-target))
-                      ;; Patch various inline shell invocations.
-                      (substitute* (find-files "test" "\\.sh$")
-                        (("/bin/sh") (which "sh"))))))))
+     (list
+      #:make-flags
+      #~(list "V=1"                      ; verbose test output
+              "NOTMUCH_TEST_TIMEOUT=1h") ; don't fail on slow machines
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'configure
+            (lambda* (#:key inputs #:allow-other-keys)
+              (setenv "CC" #$(cc-for-target))
+              (setenv "CONFIG_SHELL" (search-input-file inputs "/bin/sh"))
+              (invoke "./configure"
+                      (string-append "--prefix=" #$output)
+                      "--without-emacs")))
+          (add-before 'check 'prepare-test-environment
+            (lambda* (#:key inputs #:allow-other-keys)
+              (setenv "TEST_CC" #$(cc-for-target))
+              ;; Patch various inline shell invocations.
+              (let ((sh (search-input-file inputs "/bin/sh")))
+                (substitute* (find-files "test" "\\.sh$")
+                  (("/bin/sh") sh))))))))
     (native-inputs
      (list bash-completion
            pkg-config
@@ -1377,7 +1367,7 @@ invoking @command{notifymuch} from the post-new hook.")
            python-sphinx
            texinfo
            ;; The following are required for tests only.
-           emacs-no-x ; -minimal lacks libxml, needed for some tests
+           emacs-no-x           ; -minimal lacks libxml, needed for some tests
            which
            dtach
            gnupg
@@ -1401,18 +1391,19 @@ ing, and tagging large collections of email messages.")
     (inputs
      (list notmuch))
     (arguments
-     `(#:exclude (cons* "make-deps.el" "rstdoc.el" %default-exclude)
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'chdir
-           (lambda _
-             (chdir "emacs")))
-         (add-after 'chdir 'patch-paths
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((notmuch (assoc-ref inputs "notmuch")))
-               (substitute* "notmuch-lib.el"
-                 (("\"notmuch\"")
-                  (string-append "\"" notmuch "/bin/notmuch\"")))))))))
+     (list
+      #:exclude #~(cons* "make-deps.el" "rstdoc.el" %default-exclude)
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'chdir
+            (lambda _
+              (chdir "emacs")))
+          (add-after 'chdir 'patch-paths
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((notmuch (search-input-file inputs "/bin/notmuch")))
+                (substitute* "notmuch-lib.el"
+                  (("\"notmuch\"")
+                   (string-append "\"" notmuch "\"")))))))))
     (synopsis "Run Notmuch within Emacs")
     (description
      "This package provides an Emacs-based interface to the Notmuch mail
@@ -1874,7 +1865,7 @@ facilities for checking incoming mail.")
   (package
     (name "dovecot")
     ;; Also update dovecot-pigeonhole when updating to a new minor version.
-    (version "2.3.17.1")
+    (version "2.3.18")
     (source
      (origin
        (method url-fetch)
@@ -1882,7 +1873,7 @@ facilities for checking incoming mail.")
                            (version-major+minor version) "/"
                            "dovecot-" version ".tar.gz"))
        (sha256
-        (base32 "1f525bvpjvi4rnwqjsqaqrbdii08sqmc1v8xq03m19w1vk6cqrqw"))))
+        (base32 "0cvcbp6f5i8sg2sz8d3j654xrf4a74h7rszfpm2kq2bciik3zrq6"))))
     (build-system gnu-build-system)
     (native-inputs
      (list pkg-config))
@@ -1904,6 +1895,10 @@ facilities for checking incoming mail.")
                            "--localstatedir=/var"
                            "--with-sqlite"  ; not auto-detected
                            "--with-lucene") ; not auto-detected
+       ;; The -rdynamic linker flag is needed for the backtrace() function to
+       ;; have symbol names rather than just addresses.  Dovecot's tests rely
+       ;; on this, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=962630.
+       #:make-flags (list "LDFLAGS=-rdynamic")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-file-names
@@ -1938,7 +1933,7 @@ It supports mbox/Maildir and its own dbox/mdbox formats.")
   (let ((dovecot-version (version-major+minor (package-version dovecot))))
     (package
       (name "dovecot-pigeonhole")
-      (version "0.5.17.1")
+      (version "0.5.18")
       (source
        (origin
          (method url-fetch)
@@ -1946,7 +1941,7 @@ It supports mbox/Maildir and its own dbox/mdbox formats.")
                "https://pigeonhole.dovecot.org/releases/" dovecot-version "/"
                "dovecot-" dovecot-version "-pigeonhole-" version ".tar.gz"))
          (sha256
-          (base32 "04j5z3y8yyci4ni9j9i7cy0zg1qj2sm9zfarmjcvs9vydpga7i1w"))
+          (base32 "198865a9fv9a8gj8lsp4jjylalm6qzjyqhsk22jwpppjsvw2in56"))
          (modules '((guix build utils)))
          (snippet
           '(begin
@@ -2731,13 +2726,14 @@ converts them to maildir format directories.")
     (native-inputs
      (list perl))
     (arguments
-     `(#:tests? #f                   ; XXX: Upstream tests appear to be broken
-       #:make-flags (list (string-append "CC=" ,(cc-for-target))
-                          "PREFIX="
-                          (string-append "DESTDIR=" %output))
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'configure))))
+     (list
+      #:make-flags
+      #~(list #$(string-append "CC=" (cc-for-target))
+              "PREFIX="
+              (string-append "DESTDIR=" #$output))
+      #:phases
+      #~(modify-phases %standard-phases
+          (delete 'configure))))
     (home-page "https://github.com/leahneukirchen/mblaze")
     (synopsis "Unix utilities to deal with Maildir")
     (description
@@ -3856,13 +3852,13 @@ servers.  The 4rev1 and 4 versions of IMAP are supported.")
 (define-public urlscan
   (package
     (name "urlscan")
-    (version "0.9.8")
+    (version "0.9.9")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "urlscan" version))
         (sha256
-         (base32 "1imrg2r9cshfvdwkdkm9y4i58qzkgnnwkswmh3kgy38m334mlcyf"))))
+         (base32 "1lc06i4r29s7qsfds4w3ip85n5fxjn65n47wxh8pvyb46fdvjrns"))))
     (build-system python-build-system)
     (propagated-inputs
      (list python-urwid))
@@ -3903,8 +3899,8 @@ It is a replacement for the @command{urlview} program.")
     (license license:gpl2+)))
 
 (define-public mumi
-  (let ((commit "8a45281801ade7524dbdee423c28b326051719de")
-        (revision "6"))
+  (let ((commit "f5232c49fe8a3b127c96f7b502775f16aebf3033")
+        (revision "7"))
     (package
       (name "mumi")
       (version (git-version "0.0.1" revision commit))
@@ -3916,7 +3912,7 @@ It is a replacement for the @command{urlview} program.")
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "0p1i66j721y5hwbdy97kv4gw892nx7xrdfjrs12fn90cwkl611mp"))))
+                  "1dc4m7l9mmi7lm0cfmyf5yg6bkpirsvmfq347sf1ch1svg5r7y9n"))))
       (build-system gnu-build-system)
       (arguments
        `(#:modules ((guix build gnu-build-system)
@@ -3944,16 +3940,17 @@ It is a replacement for the @command{urlview} program.")
                    `("GUILE_LOAD_COMPILED_PATH" ":" prefix
                      (,go ,(getenv "GUILE_LOAD_COMPILED_PATH"))))))))))
       (inputs
-       `(("guile-email" ,guile-email-latest)
-         ("guile-fibers" ,guile-fibers)
-         ("guile-gcrypt" ,guile-gcrypt)
-         ("guile-json" ,guile-json-3)
-         ("guile-redis" ,guile-redis)
-         ("guile-syntax-highlight" ,guile-syntax-highlight)
-         ("guile-webutils" ,guile-webutils)
-         ("guile-xapian" ,guile-xapian)
-         ("guile" ,guile-3.0)
-         ("mailutils" ,mailutils)))
+       (list guile-email-latest
+             guile-fibers
+             guile-gcrypt
+             guile-json-3
+             guile-kolam
+             guile-redis
+             guile-syntax-highlight
+             guile-webutils
+             guile-xapian
+             guile-3.0
+             mailutils))
       (native-inputs
        (list autoconf automake pkg-config))
       (home-page "https://git.elephly.net/software/mumi.git")