aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/mail.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/mail.scm')
-rw-r--r--gnu/packages/mail.scm113
1 files changed, 73 insertions, 40 deletions
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index bfa4528b14..69211ed9b2 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -32,7 +32,7 @@
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Justus Winter <justus@sequoia-pgp.org>
;;; Copyright © 2020 Eric Brown <ecbrown@ericcbrown.com>
-;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020, 2021 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
@@ -168,6 +168,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system guile)
+ #:use-module (guix build-system emacs)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
@@ -261,18 +262,16 @@ example, modify the message headers or body, or encrypt or sign the message.")
(define-public mailutils
(package
(name "mailutils")
- (version "3.10")
+ (version "3.13")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/mailutils/mailutils-"
version ".tar.xz"))
(sha256
(base32
- "17smrxjdgbbzbzakik30vj46q4iib85ksqhb82jr4vjp57akszh9"))
+ "1iwl82d6aa2acsdxbqh1s5xx44sg83b4yxqik408m1s9rcfrf86r"))
(patches
- ;; Fixes https://issues.guix.gnu.org/43088.
- (search-patches "mailutils-fix-uninitialized-variable.patch"
- "mailutils-variable-lookup.patch"))))
+ (search-patches "mailutils-variable-lookup.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -296,8 +295,9 @@ example, modify the message headers or body, or encrypt or sign the message.")
;; The 'pipeact.at' tests generate a shell script; make
;; sure it uses the right shell.
(substitute* '("sieve/tests/testsuite"
- "mh/tests/testsuite")
- (("#! /bin/sh")
+ "mh/tests/testsuite"
+ "libmailutils/tests/lock.at")
+ (("#! ?/bin/sh")
(string-append "#!" (which "sh"))))
(substitute* "mh/tests/testsuite"
@@ -329,8 +329,9 @@ example, modify the message headers or body, or encrypt or sign the message.")
(format port "Path: ~a/Mail-for-tests~%"
(getcwd))))
- #t)))
- ;; TODO: Add `--with-sql'.
+ (substitute* "imap4d/tests/testclient.c"
+ (("\"/bin/sh\"")
+ (string-append "\"" (which "sh") "\""))))))
#:configure-flags
(list "--sysconfdir=/etc"
@@ -342,16 +343,20 @@ example, modify the message headers or body, or encrypt or sign the message.")
(package-inputs this-package))
(("guile" guile)
(version-major+minor
- (package-version guile))))))
-
- #:parallel-tests? #f))
+ (package-version guile))))))))
(native-inputs
- `(("perl" ,perl) ;for 'gylwrap'
+ ;; Regeneration of the build system is triggered by touching the
+ ;; 'libmailutils/tests/lock.at' file.
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("gettext" ,gettext-minimal)
+ ("libtool" ,libtool)
+ ("m4" ,m4)
+ ("perl" ,perl) ;for 'gylwrap'
("texinfo" ,texinfo)
("dejagnu" ,dejagnu)))
(inputs
- `(("m4" ,m4)
- ("guile" ,guile-3.0)
+ `(("guile" ,guile-3.0)
("gsasl" ,gsasl)
("gnutls" ,gnutls)
("ncurses" ,ncurses)
@@ -359,7 +364,6 @@ example, modify the message headers or body, or encrypt or sign the message.")
("linux-pam" ,linux-pam)
("libltdl" ,libltdl)
("gdbm" ,gdbm)
-
;; Required for SEARCH CHARSET.
("libiconv" ,libiconv)
("libunistring" ,libunistring)))
@@ -370,7 +374,24 @@ example, modify the message headers or body, or encrypt or sign the message.")
processing electronic mail. It contains both utilities and server daemons
and all operate in a protocol-agnostic way. The underlying libraries are
also available, simplifying the addition of mail capabilities to new
-software.")
+software. GNU Mailutils provides the following commands:
+@itemize @command
+@item dotlock
+@item decodemail
+@item frm
+@item from
+@item guimb
+@item mail
+@item mailutils
+@item mailutils-config
+@item messages
+@item mimeview
+@item movemail
+@item popauth
+@item putmail
+@item readmsg
+@item sieve
+@end itemize")
(license
;; Libraries are under LGPLv3+, and programs under GPLv3+.
(list license:gpl3+ license:lgpl3+))))
@@ -1342,31 +1363,18 @@ invoking @command{notifymuch} from the post-new hook.")
"1myylb19hj5nb1vriqng252vfjwwkgbi3gxj93pi2q1fzyw7w2lf"))))
(build-system gnu-build-system)
(arguments
- `(#:modules ((guix build gnu-build-system)
- ((guix build emacs-build-system) #:prefix emacs:)
- (guix build utils))
- #:imported-modules (,@%gnu-build-system-modules
- (guix build emacs-build-system)
- (guix build emacs-utils))
- #:make-flags
+ `(#:make-flags
(list "V=1" ; verbose test output
"NOTMUCH_TEST_TIMEOUT=1h") ; don't fail on slow machines
#:phases (modify-phases %standard-phases
- (add-after 'unpack 'patch-notmuch-lib.el
- (lambda _
- (substitute* "emacs/notmuch-lib.el"
- (("/bin/sh") (which "sh")))))
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
- (setenv "CC" "gcc")
+ (setenv "CC" ,(cc-for-target))
(setenv "CONFIG_SHELL" (which "sh"))
-
- (let* ((out (assoc-ref outputs "out"))
- (elisp (emacs:elpa-directory out)))
+ (let* ((out (assoc-ref outputs "out")))
(invoke "./configure"
(string-append "--prefix=" out)
- (string-append "--emacslispdir=" elisp)
- (string-append "--emacsetcdir=" elisp)))))
+ "--without-emacs"))))
(add-before 'check 'disable-failing-tests
;; FIXME: Investigate why these tests are failing,
;; and try removing this for notmuch versions > 0.31.
@@ -1375,21 +1383,20 @@ invoking @command{notifymuch} from the post-new hook.")
(("\\$NOTMUCH_GMIME_X509_CERT_VALIDITY") "0"))))
(add-before 'check 'prepare-test-environment
(lambda _
- (setenv "TEST_CC" "gcc")
+ (setenv "TEST_CC" ,(cc-for-target))
;; Patch various inline shell invocations.
(substitute* (find-files "test" "\\.sh$")
- (("/bin/sh") (which "sh")))))
- (add-after 'install 'make-autoloads
- (assoc-ref emacs:%standard-phases 'make-autoloads)))))
+ (("/bin/sh") (which "sh"))))))))
(native-inputs
`(("bash-completion" ,bash-completion)
- ("emacs" ,emacs-no-x) ; -minimal lacks libxml, needed for some tests
("pkg-config" ,pkg-config)
("python" ,python)
("python-docutils" ,python-docutils)
("sphinx" ,python-sphinx)
+ ("texinfo" ,texinfo)
;; The following are required for tests only.
+ ("emacs" ,emacs-no-x) ; -minimal lacks libxml, needed for some tests
("which" ,which)
("dtach" ,dtach)
("gnupg" ,gnupg)
@@ -1408,6 +1415,32 @@ invoking @command{notifymuch} from the post-new hook.")
ing, and tagging large collections of email messages.")
(license license:gpl3+)))
+(define-public emacs-notmuch
+ (package
+ (inherit notmuch)
+ (name "emacs-notmuch")
+ (build-system emacs-build-system)
+ (native-inputs '())
+ (inputs
+ `(("notmuch" ,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\"")))))))))
+ (synopsis "Run Notmuch within Emacs")
+ (description
+ "This package provides an Emacs-based interface to the Notmuch mail
+system.")))
+
(define-public notmuch-addrlookup-c
(package
(name "notmuch-addrlookup-c")