diff options
Diffstat (limited to 'gnu/packages/mail.scm')
-rw-r--r-- | gnu/packages/mail.scm | 355 |
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") |