summaryrefslogtreecommitdiff
path: root/gnu/packages/mail.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/mail.scm')
-rw-r--r--gnu/packages/mail.scm355
1 files changed, 232 insertions, 123 deletions
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index bdfc432880..69211ed9b2 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -9,7 +9,7 @@
;;; Copyright © 2015, 2016, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
+;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Al McElrath <hello@yrns.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
@@ -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>
@@ -157,6 +157,7 @@
#:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
+ #:use-module (guix deprecation)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix svn-download)
@@ -167,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)
@@ -260,17 +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"))))
+ (search-patches "mailutils-variable-lookup.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -294,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"
@@ -327,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"
@@ -340,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)
@@ -357,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)))
@@ -368,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+))))
@@ -499,7 +522,7 @@ to run without any changes.")
(define-public fetchmail
(package
(name "fetchmail")
- (version "6.4.19")
+ (version "6.4.21")
(source
(origin
(method url-fetch)
@@ -507,7 +530,7 @@ to run without any changes.")
(version-major+minor version) "/"
"fetchmail-" version ".tar.xz"))
(sha256
- (base32 "0pvbknpimf38ws4gskad79wd1cvy62kcsjy65sm0rr83s6ii33fd"))))
+ (base32 "07cxr5137hvrk8jfgn4wd6sq9361c3d40w8krnjxm8fpmwf9qiba"))))
(build-system gnu-build-system)
(inputs
`(("openssl" ,openssl)))
@@ -534,7 +557,7 @@ aliasing facilities to work just as they would on normal mail.")
(define-public mutt
(package
(name "mutt")
- (version "2.1.0")
+ (version "2.1.1")
(source (origin
(method url-fetch)
(uri (list
@@ -544,7 +567,7 @@ aliasing facilities to work just as they would on normal mail.")
version ".tar.gz")))
(sha256
(base32
- "0dqd6gg1wwhxjgdfl8j0kf93mw43kvd6wrwrzkscq2wjrsy5p0w0"))
+ "0jjjvqkqmpj55v111p1a1i2ry7mpd1bpphn1bhvlr18rgw7xdrja"))
(patches (search-patches "mutt-store-references.patch"))))
(build-system gnu-build-system)
(inputs
@@ -1045,53 +1068,58 @@ content (body). The program is able to learn from the user's classifications
and corrections. It is based on a Bayesian filter.")
(license license:gpl3+)))
-(define-public offlineimap
- (package
- (name "offlineimap")
- (version "7.3.3")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/OfflineIMAP/offlineimap")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1gg8ry67i20qapj4z20am9bm67m2q28kixcj7ja75m897vhzarnq"))))
- (build-system python-build-system)
- (native-inputs
- `(("asciidoc" ,asciidoc)))
- (inputs
- `(("python2-pysqlite" ,python2-pysqlite)
- ("python2-rfc6555" ,python2-rfc6555)
- ("python2-six" ,python2-six)))
- (arguments
- ;; The setup.py script expects python-2.
- `(#:python ,python-2
- ;; 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"))
- #t))))))
- (home-page "https://www.offlineimap.org")
- (synopsis "Sync emails between two repositories")
- (description
- "OfflineImap synchronizes emails between two repositories, so that you
+(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
+ `(("asciidoc" ,asciidoc)))
+ (inputs
+ `(("python-distro" ,python-distro)
+ ("python-imaplib2" ,python-imaplib2)
+ ("python-rfc6555" ,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))
(define-public emacs-mew
(package
@@ -1147,7 +1175,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
(define-public mu
(package
(name "mu")
- (version "1.4.15")
+ (version "1.6.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/djcb/mu/releases/"
@@ -1155,7 +1183,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
"mu-" version ".tar.xz"))
(sha256
(base32
- "0ailz0k5fdgq6gdl5m7jxy315b7qn5ckj6xwd49hsiq9vqblwlpp"))))
+ "0irqr1z1ljmij2vbj8dr8w9mbfalzikxr4s6340jjwmkmhaslh2h"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -1164,7 +1192,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
("tzdata" ,tzdata-for-tests))) ; for mu/test/test-mu-query.c
(inputs
`(("xapian" ,xapian)
- ("guile" ,guile-2.2)
+ ("guile" ,guile-3.0)
("glib" ,glib)
("gmime" ,gmime)))
(arguments
@@ -1182,29 +1210,20 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
;; the lispdir anyway, so we have to modify "configure.ac".
(lambda _
(substitute* "configure"
- (("^ +lispdir=\"\\$\\{lispdir\\}/mu4e/\".*") "")
- ;; Use latest Guile
- (("guile-2.0") "guile-2.2"))
- (substitute* '("guile/Makefile.in"
- "guile/mu/Makefile.in")
- (("share/guile/site/2.0/") "share/guile/site/2.2/"))
- #t))
+ (("^ +lispdir=\"\\$\\{lispdir\\}/mu4e/\".*") ""))))
(add-after 'unpack 'patch-bin-sh-in-tests
(lambda _
- (substitute* '("guile/tests/test-mu-guile.c"
- "mu/test-mu-cmd.c"
- "mu/test-mu-cmd-cfind.c"
- "mu/test-mu-query.c"
- "mu/test-mu-threads.c")
- (("/bin/sh") (which "sh")))
- #t))
+ (substitute* '("guile/tests/test-mu-guile.cc"
+ "mu/test-mu-cmd.cc"
+ "mu/test-mu-cmd-cfind.cc"
+ "mu/test-mu-query.cc")
+ (("/bin/sh") (which "sh")))))
(add-before 'install 'fix-ffi
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "guile/mu.scm"
(("\"libguile-mu\"")
(format #f "\"~a/lib/libguile-mu\""
- (assoc-ref outputs "out"))))
- #t))
+ (assoc-ref outputs "out"))))))
(add-before 'check 'check-tz-setup
(lambda* (#:key inputs #:allow-other-keys)
;; For mu/test/test-mu-query.c
@@ -1215,8 +1234,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
(emacs-generate-autoloads
"mu4e"
(string-append (assoc-ref outputs "out")
- "/share/emacs/site-lisp"))
- #t)))))
+ "/share/emacs/site-lisp")))))))
(home-page "https://www.djcbsoftware.nl/code/mu/")
(synopsis "Quickly find emails")
(description
@@ -1345,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.
@@ -1378,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)
@@ -1411,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")
@@ -1628,6 +1658,16 @@ compresses it.")
"gtk_update_icon_cache=true")
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Use absolute paths to referenced programs.
+ (let* ((mailutils (assoc-ref inputs "mailutils"))
+ (inc (string-append mailutils "/bin/mu-mh/inc"))
+ (send-mail (assoc-ref inputs "sendmail"))
+ (sendmail (string-append send-mail "/sbin/sendmail")))
+ (substitute* "src/common/defs.h"
+ (("/usr/bin/mh/inc") inc)
+ (("/usr/sbin/sendmail") sendmail)))))
(add-before 'build 'patch-mime
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/procmime.c"
@@ -1673,6 +1713,7 @@ compresses it.")
("libsm" ,libsm)
("libsoup" ,libsoup)
("libxml2" ,libxml2)
+ ("mailutils" ,mailutils)
("nettle" ,nettle)
("network-manager" ,network-manager)
("openldap" ,openldap)
@@ -1680,6 +1721,7 @@ compresses it.")
("poppler" ,poppler)
("python" ,python)
("python-pygobject" ,python-pygobject)
+ ("sendmail" ,sendmail)
("shared-mime-info" ,shared-mime-info)
("startup-notification" ,startup-notification)
;;("webkitgtk" ,webkitgtk)
@@ -1861,7 +1903,7 @@ facilities for checking incoming mail.")
(package
(name "dovecot")
;; Also update dovecot-pigeonhole when updating to a new minor version.
- (version "2.3.15")
+ (version "2.3.16")
(source
(origin
(method url-fetch)
@@ -1869,7 +1911,7 @@ facilities for checking incoming mail.")
(version-major+minor version) "/"
"dovecot-" version ".tar.gz"))
(sha256
- (base32 "141manrh54cy8xizr7f8fsa3vdzc2ccfgdz87l9rjylm8mfxvfr1"))))
+ (base32 "04ngqv5mml5z0i4p7fkchp4xw2awy7x7mq2mim9frnav0m9iv9q3"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -1930,7 +1972,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.15")
+ (version "0.5.16")
(source
(origin
(method url-fetch)
@@ -1938,7 +1980,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 "1l2h0p8ddsl3ja2lnwk0mfqplqh8n0iw8k27awd3ak7prr88yjg1"))
+ (base32 "0f79qsiqnhaxn7mrrfcrnsjyv6357kzb7wa0chhfd69vwa06g8sw"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -2093,14 +2135,14 @@ hashing scheme (such as scrypt) plug-in for @code{Dovecot}.")
(define-public isync
(package
(name "isync")
- (version "1.4.2")
+ (version "1.4.3")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/isync/isync/"
version "/isync-" version ".tar.gz"))
(sha256 (base32
- "0hskfpj4r4q3959k3npyqli353daj3r5d9mfia9bbmig87nyfd8r"))))
+ "024p3glj4p7fhrssw5sr55arls9zna1igxxrspxlfd6sbds21ixl"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)))
@@ -2386,7 +2428,8 @@ be expected from a simple client.")
(sha256
(base32
"1ay282rrl92h0m0m8z5zzjnwiiagi7c78aq2qvhia5mw7prwfyw2"))
- (file-name (string-append name "-" version "-checkout"))))
+ (file-name (string-append name "-" version "-checkout"))
+ (patches (search-patches "esmtp-add-lesmtp.patch"))))
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'bootstrap
@@ -2868,6 +2911,13 @@ powerful user customization features.")
(substitute* "devtools/bin/Build"
(("SHELL=/bin/sh") (string-append "SHELL=" (which "sh"))))
#t))
+ (add-before 'build 'replace-/usr
+ (lambda _
+ (substitute*
+ '("devtools/OS/Linux"
+ "cf/ostype/mklinux.m4"
+ "cf/ostype/linux.m4")
+ (("/usr/sbin") "/sbin"))))
(replace 'configure
(lambda _
@@ -2879,6 +2929,11 @@ powerful user customization features.")
(with-output-to-file "devtools/Site/site.config.m4"
(lambda ()
(format #t "
+define(`confEBINDIR', `/sbin')
+define(`confSBINDIR', `/sbin')
+define(`confMBINDIR', `/sbin')
+define(`confUBINDIR', `/bin')
+define(`confLINKS', `')
define(`confCC', `gcc')
define(`confOPTIMIZE', `-g -O2')
define(`confLIBS', `-lresolv')
@@ -2897,13 +2952,21 @@ define(`confINST_DEP', `')
(add-before 'install 'pre-install
(lambda _
(let ((out (assoc-ref %outputs "out")))
- (mkdir-p (string-append out "/usr/bin"))
- (mkdir-p (string-append out "/usr/sbin"))
+ (mkdir-p (string-append out "/bin"))
+ (mkdir-p (string-append out "/sbin"))
(mkdir-p (string-append out "/etc/mail"))
(setenv "DESTDIR" out)
(with-directory-excursion "cf/cf"
(invoke "sh" "Build" "install-cf"))
- #t))))
+ #t)))
+ (add-after 'install 'post-install
+ (lambda _
+ ;; Make symbolic links manually, because build script uses
+ ;; absolute paths for them and ignores DESTDIR.
+ (for-each
+ (lambda (name)
+ (symlink "../sbin/sendmail" (string-append %output "/bin/" name)))
+ '("hoststat" "newaliases" "mailq" "purgestat")))))
;; There is no make check. There are some post installation tests, but those
;; require root privileges
#:tests? #f))
@@ -3730,14 +3793,14 @@ tools and applications:
(define-public balsa
(package
(name "balsa")
- (version "2.6.2")
+ (version "2.6.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://pawsa.fedorapeople.org/balsa/"
- "balsa-" version ".tar.bz2"))
+ "balsa-" version ".tar.xz"))
(sha256
- (base32 "1w0239i01mw4wwwy7xh8gz7zgl5khwvfm5wy35x0swvvax021mai"))))
+ (base32 "1m0x3rk7cp7slr47rmg4y91rbxgs652v706lyxj600m5r5v4bl6l"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -4336,6 +4399,24 @@ based on asyncio.")
(license (list license:asl2.0
license:lgpl3)))) ; only for setup_helpers.py
+(define-public python-imaplib2
+ (package
+ (name "python-imaplib2")
+ (version "3.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "imaplib2" version))
+ (sha256
+ (base32
+ "0nqyb274hq30agg1c0zkb5ijmcirgg35sp4dp4n292l665dlijwn"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/jazzband/imaplib2/")
+ (synopsis "Threaded Python IMAP4 client")
+ (description "This package provides a threaded Python IMAP4 client, based
+on RFC 3501 and original @code{imaplib} module.")
+ (license license:expat)))
+
(define-public rspamd
(package
(name "rspamd")
@@ -4393,6 +4474,34 @@ score.")
undelete email messages from Outlook Express .dbx files.")
(license license:gpl3+)))
+(define-public libpst
+ (package
+ (name "libpst")
+ (version "0.6.76")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.five-ten-sg.com/libpst/packages/"
+ "libpst-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0hhbbb8ddsgjhv9y1xd8s9ixlhdnjmhw12v06jwx4j6vpgp1na9x"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("boost" ,boost)
+ ("libgsf" ,libgsf)
+ ("python" ,python)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://www.five-ten-sg.com/libpst/")
+ (synopsis "")
+ (description "The Libpst utilities include @code{readpst} which can
+convert email messages to both mbox and MH mailbox formats, @code{pst2ldif}
+which can convert the contacts to @code{.ldif} format for import into LDAP
+databases, and other tools to process Outlook email archives.")
+ (license license:gpl2+)))
+
(define-public crm114
(package
(name "crm114")