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.scm387
1 files changed, 269 insertions, 118 deletions
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 11cea9a547..80e2ce2a9b 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -17,7 +17,7 @@
;;; Copyright © 2016, 2017 Troy Sankey <sankeytms@gmail.com>
;;; Copyright © 2016, 2017, 2018 Nikita <nikita@n0.is>
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
-;;; Copyright © 2016–2022 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2016–2023 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
@@ -50,6 +50,7 @@
;;; Copyright © 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2022 muradm <mail@muradm.net>
;;; Copyright © 2022 jgart <jgart@dismail.de>
+;;; Copyright © 2022 ( <paren@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -151,6 +152,7 @@
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby)
+ #:use-module (gnu packages rust-apps)
#:use-module (gnu packages search)
#:use-module (gnu packages serialization)
#:use-module (gnu packages samba)
@@ -560,7 +562,7 @@ aliasing facilities to work just as they would on normal mail.")
(define-public mutt
(package
(name "mutt")
- (version "2.2.7")
+ (version "2.2.9")
(source (origin
(method url-fetch)
(uri (list
@@ -570,7 +572,7 @@ aliasing facilities to work just as they would on normal mail.")
version ".tar.gz")))
(sha256
(base32
- "1wbdsgx5x7h4alsfmjqac46xvbbakc7djlpngd3rydmvb27qa4zb"))
+ "1yyg49sgghi7pgw7xr3cnzgypa9yd0kdc3nsrqq1zzjq3liinlzs"))
(patches (search-patches "mutt-store-references.patch"))))
(build-system gnu-build-system)
(inputs
@@ -607,7 +609,7 @@ operating systems.")
(define-public neomutt
(package
(name "neomutt")
- (version "20211029")
+ (version "20220429")
(source
(origin
(method git-fetch)
@@ -616,7 +618,7 @@ operating systems.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1ad05k98z9r317k2hhxbgdic00iha5r0k0f8224anz60i9kc78w5"))))
+ (base32 "106m6al48m22gl8848z8d0hsg2qiaz74vgy4f37hycl4v5d3n5ic"))))
(build-system gnu-build-system)
(inputs
(list cyrus-sasl
@@ -1162,7 +1164,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
(define-public mu
(package
(name "mu")
- (version "1.8.9")
+ (version "1.8.13")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1171,7 +1173,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
(file-name (git-file-name name version))
(sha256
(base32
- "1anpv49242qpayziz111rzznkmfgkd2a9y5xda6xhmzhqdhx79h2"))))
+ "0y4f5p7pwmaj8733rjzg29038dw33057qlsbsq2wapvp24wcjymr"))))
(build-system meson-build-system)
(native-inputs
(list pkg-config
@@ -1323,14 +1325,14 @@ invoking @command{notifymuch} from the post-new hook.")
(define-public notmuch
(package
(name "notmuch")
- (version "0.36")
+ (version "0.37")
(source
(origin
(method url-fetch)
(uri (string-append "https://notmuchmail.org/releases/notmuch-"
version ".tar.xz"))
(sha256
- (base32 "0h6f6mh9m9vrijm638x5sbsl321b74a25cdasbxhx67x62w320hk"))))
+ (base32 "1xl64xh0ijfkx265lcj9cqv1wkzha8gsn9jn4fw4xgvqigr6sxhf"))))
(build-system gnu-build-system)
(arguments
(list
@@ -1611,7 +1613,7 @@ pairs have previously synchronized.")
(define-public getmail6
(package
(name "getmail6")
- (version "6.18.9")
+ (version "6.18.11")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1620,7 +1622,7 @@ pairs have previously synchronized.")
(file-name (git-file-name name version))
(sha256
(base32
- "1ch5hagkpybmkgg2wbb2mids3nbmjqgdqjhczzz7pvj4hx2m8fdb"))))
+ "0dr2grcxnn21prv6dj8sd9c68zs1fxy00wc676rnghcs4yfnb78h"))))
(build-system python-build-system)
(arguments (list #:tests? #f)) ;tests require docker
(home-page "https://github.com/getmail6/getmail6")
@@ -1692,7 +1694,7 @@ compresses it.")
(define-public claws-mail
(package
(name "claws-mail")
- (version "4.1.0")
+ (version "4.1.1")
(source
(origin
(method url-fetch)
@@ -1700,7 +1702,7 @@ compresses it.")
(string-append "https://www.claws-mail.org/releases/claws-mail-"
version ".tar.xz"))
(sha256
- (base32 "13ksh4iwr23zi86fwmiwxha94xqrr5zxq373i82rwaldvfh9q6hf"))))
+ (base32 "0i037bskrnmsmylhmqayjg0pmsr0m2zx8xhbxc6mwvw9q40fg2di"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags
@@ -1947,7 +1949,7 @@ facilities for checking incoming mail.")
(package
(name "dovecot")
;; Also update dovecot-pigeonhole when updating to a new minor version.
- (version "2.3.19.1")
+ (version "2.3.20")
(source
(origin
(method url-fetch)
@@ -1955,7 +1957,7 @@ facilities for checking incoming mail.")
(version-major+minor version) "/"
"dovecot-" version ".tar.gz"))
(sha256
- (base32 "0lawd8grwxass1frlw9bdd49fpwwxsv2qnxllsg6a2bkgpcbqnnv"))))
+ (base32 "0ll546dldhxqk8yr2jnfq0rag7vp9d9hz7gf6pgsnj41jvmk5a6a"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
@@ -2015,7 +2017,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.19")
+ (version "0.5.20")
(source
(origin
(method url-fetch)
@@ -2023,7 +2025,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 "033kkhby9k9yrmgvlfmyzp8fccsw5bhq1dyvxj94sg3grkpj7f8h"))
+ (base32 "163wc5spzvy9pcpsbz3adl22h8f1krp21fh9mql16b7af14bscmf"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -2480,13 +2482,13 @@ compatibility shims for the @command{sendmail}, @command{mailq}, and
(define-public fdm
(package
(name "fdm")
- (version "2.1")
+ (version "2.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/nicm/fdm/releases/download/"
version "/fdm-" version ".tar.gz"))
(sha256
- (base32 "1zxd5j5x2gp6m62j83xsjyfglw1p6gn4zk5qx10djdh8xzkg53c5"))))
+ (base32 "05kczdk44cbk3rg77rwgp47hw75al6b09wlv3cff4d4qh8bx3ajk"))))
(build-system gnu-build-system)
(inputs
(list tdb openssl zlib))
@@ -2556,7 +2558,7 @@ for a variety of mailbox formats such as mbox, mh and maildir. Incoming mail
can be sorted into separate files/directories and arbitrary commands can be
executed on mail arrival. Procmail is considered stable, but is no longer
maintained.")
- (license license:gpl2+))) ;; procmail allows to choose the
+ (license license:gpl2+))) ;; procmail allows choosing the
;; nonfree Artistic License 1.0
;; as alternative to the GPL2+.
;; This option is not listed here.
@@ -2564,13 +2566,13 @@ maintained.")
(define-public khard
(package
(name "khard")
- (version "0.17.0")
+ (version "0.18.0")
(source (origin
(method url-fetch)
(uri (pypi-uri name version))
(sha256
(base32
- "062nv4xkfsjc11k9m52dh6xjn9z68a4a6x1s8z05wwv4jbp1lkhn"))))
+ "05860fdayqap128l7i6bcmi9kdyi2gx02g2pmh88d56xgysd927y"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -2579,8 +2581,7 @@ maintained.")
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(zsh (string-append out "/share/zsh/site-functions")))
- (copy-recursively "misc/zsh" zsh)
- #t))))))
+ (copy-recursively "misc/zsh" zsh)))))))
(native-inputs
(list python-setuptools-scm))
(inputs
@@ -2728,8 +2729,7 @@ DKIM and/or DomainKeys.")
"perl-mailtools"
"perl-mime-tools"
"perl-net-dns"
- "perl-timedate"))
- #t))))))
+ "perl-timedate"))))))))
(inputs
(list perl
perl-crypt-openssl-rsa
@@ -2742,7 +2742,7 @@ DKIM and/or DomainKeys.")
perl-net-server
perl-socket6
perl-timedate))
- (home-page "http://dkimproxy.sourceforge.net/")
+ (home-page "https://dkimproxy.sourceforge.net")
(synopsis "SMTP proxy to sign and verify Internet mail with DKIM headers")
(description
"DKIMproxy is an SMTP proxy that signs and verifies Internet mail using the
@@ -2891,14 +2891,14 @@ easily (one at a time).")
(define-public mpop
(package
(name "mpop")
- (version "1.4.16")
+ (version "1.4.17")
(source
(origin
(method url-fetch)
(uri (string-append "https://marlam.de/mpop/releases/"
"mpop-" version ".tar.xz"))
(sha256
- (base32 "1yc7lsdy9gvlslvljqg34kvcaf4wvrwlvj6h5awkzlp6x9qva3l7"))))
+ (base32 "1mcbvzdbdr86zsq8zr1zryjrmfiqikckx3648zvdjh99mm5lkbj2"))))
(build-system gnu-build-system)
(inputs
(list gnutls))
@@ -3292,7 +3292,7 @@ writing OpenSMTPd filters.")
(define-public opensmtpd-filter-dkimsign
(package
(name "opensmtpd-filter-dkimsign")
- (version "0.5")
+ (version "0.6")
(source
(origin
(method url-fetch)
@@ -3301,7 +3301,7 @@ writing OpenSMTPd filters.")
(string-append "https://distfiles.sigtrap.nl/"
"filter-dkimsign-" version ".tar.gz")))
(sha256
- (base32 "0jwp47ixibnz8rghn193bk2hxh1j1zfrnidml18j7d7cylxfrd55"))))
+ (base32 "1hrn31hayr0hb32km5c42hhbaxw7g3jcgm59p0v0ydlj1fs0sprv"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@@ -3322,8 +3322,8 @@ writing OpenSMTPd filters.")
(list mandoc)) ; silently installs empty man page without
(inputs
(list libevent libopensmtpd
- ;; XXX Our OpenSMTPd package uses libressl, but this package currently
- ;; supports HAVE_ED25519 only with openssl. Switch back when possible.
+ ;; Our OpenSMTPd package uses libressl, but this package currently
+ ;; supports HAVE_ED25519 only with openssl.
openssl))
(home-page "http://imperialat.at/dev/filter-dkimsign/")
(synopsis "OpenSMTPd filter for signing mail with DKIM")
@@ -3811,14 +3811,14 @@ tools and applications:
(define-public balsa
(package
(name "balsa")
- (version "2.6.3")
+ (version "2.6.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://pawsa.fedorapeople.org/balsa/"
"balsa-" version ".tar.xz"))
(sha256
- (base32 "1m0x3rk7cp7slr47rmg4y91rbxgs652v706lyxj600m5r5v4bl6l"))))
+ (base32 "1hcgmjka2x2igdrmvzlfs12mv892kv4vzv5iy90kvcqxa625kymy"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -3831,7 +3831,13 @@ tools and applications:
"--with-gpgme"
"--with-sqlite"
"--with-compface"
- "--with-ldap")))
+ "--with-ldap")
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'adjust-for-new-webkitgtk
+ (lambda _
+ (substitute* "configure"
+ (("webkit2gtk-4.0")
+ "webkit2gtk-4.1")))))))
(inputs
(list cyrus-sasl
enchant
@@ -3860,6 +3866,9 @@ tools and applications:
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 Sendmail.")
+ (properties
+ '((release-monitoring-url
+ . "https://pawsa.fedorapeople.org/balsa/download.html")))
(license license:gpl3+)))
(define-public afew
@@ -3935,7 +3944,7 @@ PGP handling, multiple servers, and secure connections.")
(define-public imapfilter
(package
(name "imapfilter")
- (version "2.7.5")
+ (version "2.7.6")
(source
(origin
(method git-fetch)
@@ -3944,16 +3953,17 @@ PGP handling, multiple servers, and secure connections.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0a7f85r3axwclzw1s79zl2l8222nj2gklvvq33w9qv0dz5n71dcx"))))
+ (base32 "0di9gwavgyr1xkd8sfh52ldkn2lq1kdad76ww2x4y0lhimnxw7gc"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f
- #:make-flags
- (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
- (string-append "CC=" ,(cc-for-target)))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)))) ; no configure script
+ (list
+ #:tests? #f
+ #:make-flags
+ #~(list (string-append "PREFIX=" #$output)
+ (string-append "CC=" #$(cc-for-target)))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)))) ; no configure script
(inputs
(list lua pcre2 openssl))
(home-page "https://github.com/lefcha/imapfilter")
@@ -4015,11 +4025,11 @@ It is a replacement for the @command{urlview} program.")
(license license:gpl2+)))
(define-public mumi
- (let ((commit "02485074c9ae3d3b0039ac4c44fa37f2e2e75eac")
+ (let ((commit "b2a8280f158957e18d714dea78637f6504dd7613")
(revision "1"))
(package
(name "mumi")
- (version (git-version "0.0.2" revision commit))
+ (version (git-version "0.0.5" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4028,35 +4038,40 @@ It is a replacement for the @command{urlview} program.")
(file-name (git-file-name name version))
(sha256
(base32
- "1ppqz4bclbw3rqgd2fq4mj8hsrd9cfdddjzaycm5b0ffdsm8nrs3"))))
+ "1ygcbrnwvqa4zi93mbry5afw6dr4fbm7pgkn1gbsydp6qjfsm88q"))))
(build-system gnu-build-system)
(arguments
- `(#:modules ((guix build gnu-build-system)
+ (list
+ #:modules '((guix build gnu-build-system)
((guix build guile-build-system)
#:select (target-guile-effective-version))
(guix build utils))
- #:imported-modules ((guix build guile-build-system)
+ #:imported-modules `((guix build guile-build-system)
,@%gnu-build-system-modules)
- #:configure-flags '("--localstatedir=/var")
-
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'wrap-executable
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- (version (target-guile-effective-version))
- (scm (string-append out "/share/guile/site/" version))
- (go (string-append out "/lib/guile/" version
- "/site-ccache")))
- (wrap-program (string-append bin "/mumi")
- `("GUILE_LOAD_PATH" ":" prefix
- (,scm ,(getenv "GUILE_LOAD_PATH")))
- `("GUILE_LOAD_COMPILED_PATH" ":" prefix
- (,go ,(getenv "GUILE_LOAD_COMPILED_PATH"))))))))))
+ #:configure-flags '(list "--localstatedir=/var")
+
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'install-picocss
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((pico (dirname (search-input-file inputs "/scss/pico.scss"))))
+ (mkdir-p "assets/pico/scss")
+ (copy-recursively pico "assets/pico/scss"))))
+ (add-after 'install 'wrap-executable
+ (lambda _
+ (let* ((bin (string-append #$output "/bin"))
+ (version (target-guile-effective-version))
+ (scm (string-append #$output "/share/guile/site/" version))
+ (go (string-append #$output "/lib/guile/" version
+ "/site-ccache")))
+ (wrap-program (string-append bin "/mumi")
+ `("GUILE_LOAD_PATH" ":" prefix
+ (,scm ,(getenv "GUILE_LOAD_PATH")))
+ `("GUILE_LOAD_COMPILED_PATH" ":" prefix
+ (,go ,(getenv "GUILE_LOAD_COMPILED_PATH"))))))))))
(inputs
- (list guile-email-latest
+ (list guile-email
guile-fibers
guile-gcrypt
guile-json-4
@@ -4068,7 +4083,16 @@ It is a replacement for the @command{urlview} program.")
guile-3.0
mailutils))
(native-inputs
- (list autoconf automake pkg-config))
+ (list autoconf automake pkg-config sassc
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/picocss/pico.git")
+ (commit "3052db4bd3439e236479dc0f98069f7d3b559486")))
+ (file-name (git-file-name "pico" "1.5.6"))
+ (sha256
+ (base32
+ "1gs1li48hqizx7lc4n2fdxn9i2v4vafkqpza7svvfpcamfz29jpi")))))
(home-page "https://git.elephly.net/software/mumi.git")
(synopsis "Debbugs web interface")
(description "Mumi is a Debbugs web interface.")
@@ -4141,7 +4165,7 @@ Git and exports them in maildir format or to an MDA through a pipe.")
(define-public public-inbox
(package
(name "public-inbox")
- (version "1.8.0")
+ (version "1.9.0")
(source
(origin (method git-fetch)
(uri (git-reference
@@ -4149,9 +4173,8 @@ Git and exports them in maildir format or to an MDA through a pipe.")
(commit (string-append "v" version))))
(sha256
(base32
- "0xni1l54v1z3p0zb52807maay0yqabp8jgf5iras5zmhgjyk3swz"))
- (file-name (git-file-name name version))
- (patches (search-patches "public-inbox-fix-spawn-test.patch"))))
+ "0cgvxg0f32nvb3079x46gjkfis4bc98s6nx6kl8rm90kmb1kxkx9"))
+ (file-name (git-file-name name version))))
(build-system perl-build-system)
(arguments
`(#:imported-modules (,@%perl-build-system-modules
@@ -4227,33 +4250,39 @@ Git and exports them in maildir format or to an MDA through a pipe.")
(list ;; For testing.
lsof openssl tini))
(inputs
- (list bash-minimal
- curl
- git
- perl-dbd-sqlite
- perl-dbi
- perl-email-address-xs
- perl-email-mime-contenttype
- perl-email-mime
- perl-email-simple
- perl-net-server
- perl-plack-middleware-deflater
- perl-plack-middleware-reverseproxy
- perl-plack
- perl-search-xapian
- perl-socket-msghdr
- perl-timedate
- perl-uri-escape
- perl-inline-c
- perl-parse-recdescent
- perl-linux-inotify2
- ;; FIXME: Perl modules are unable to find the config file for highlight
- ;; https://issues.guix.gnu.org/48033#4
- ;; ("highlight" ,highlight)
- ;; For testing.
- perl-ipc-run
- perl-xml-feed
- xapian))
+ (append
+ (if (not (target-64bit?))
+ ;; Required by test t/pop3d.t, otherwise fails with
+ ;; “sizeof(off_t)=8 requires File::FcntlLock”.
+ (list perl-file-fcntllock)
+ '())
+ (list bash-minimal
+ curl
+ git
+ perl-dbd-sqlite
+ perl-dbi
+ perl-email-address-xs
+ perl-email-mime-contenttype
+ perl-email-mime
+ perl-email-simple
+ perl-net-server
+ perl-plack-middleware-deflater
+ perl-plack-middleware-reverseproxy
+ perl-plack
+ perl-search-xapian
+ perl-socket-msghdr
+ perl-timedate
+ perl-uri-escape
+ perl-inline-c
+ perl-parse-recdescent
+ perl-linux-inotify2
+ ;; FIXME: Perl modules are unable to find the config file for highlight
+ ;; https://issues.guix.gnu.org/48033#4
+ ;; ("highlight" ,highlight)
+ ;; For testing.
+ perl-ipc-run
+ perl-xml-feed
+ xapian)))
(home-page "https://public-inbox.org/README.html")
(synopsis "Archive mailing lists in Git repositories")
(description
@@ -4454,7 +4483,7 @@ on RFC 3501 and original @code{imaplib} module.")
(define-public rspamd
(package
(name "rspamd")
- (version "3.2")
+ (version "3.4")
(source
(origin
(method git-fetch)
@@ -4462,7 +4491,7 @@ on RFC 3501 and original @code{imaplib} module.")
(url "https://github.com/rspamd/rspamd")
(commit version)))
(sha256
- (base32 "122d5m1nfxxz93bhsk8lm4dazvdknzphb0a1188m7bsa4iynbfv2"))
+ (base32 "0jgmi8wqzsnwvfj6w4njzhxhcawbafsdxjkx1ym8r2jx8k4hwhi8"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -4527,7 +4556,7 @@ undelete email messages from Outlook Express .dbx files.")
(native-inputs
(list pkg-config))
(home-page "https://www.five-ten-sg.com/libpst/")
- (synopsis "")
+ (synopsis "Tools to process Outlook email archives")
(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
@@ -4551,7 +4580,7 @@ databases, and other tools to process Outlook email archives.")
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no tests
- #:make-flags `((string-append "CC=" ,(cc-for-target)))
+ #:make-flags (list (string-append "CC=" ,(cc-for-target)))
#:phases
(modify-phases %standard-phases
(delete 'configure) ;no configure script
@@ -4655,7 +4684,7 @@ means--it's all programmable).")
(define-public rss2email
(package
(name "rss2email")
- (version "3.13.1")
+ (version "3.14")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4664,21 +4693,26 @@ means--it's all programmable).")
(file-name (git-file-name name version))
(sha256
(base32
- "0g1yr3v3ibdh2jqil64fbdbplx5m2yzxr893fqfkwcc5c7fbwl4d"))))
+ "0rmcwvf8whf49qq5rgp5hhmhfjli1vhjlc7fjhj24gyy1kkjir2k"))))
(build-system python-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (with-directory-excursion "test"
- ;; Skip networking tests
- (substitute* "test.py"
- (("( *)class (:?TestSend|TestFetch).*" match indent)
- (string-append indent "@unittest.skip(\"Networking stuff skipped\")\n"
- indent match)))
- (invoke "python" "-m" "unittest"))))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "test"
+ ;; Skip networking tests
+ (substitute* "test.py"
+ (("( *)class (:?TestSend|TestFetch).*" match indent)
+ (string-append indent
+ "@unittest.skip(\"Networking stuff skipped\")\n"
+ indent match)))
+ (invoke "python" "-m" "unittest")))))
+ (add-after 'install 'install-documentation
+ (lambda _
+ (install-file "r2e.1" (string-append #$output "share/man/man1")))))))
(inputs
(list python-feedparser python-html2text))
(home-page "https://github.com/rss2email/rss2email")
@@ -4748,3 +4782,120 @@ addresses.")
mailserver on their machine. It enables these users to send their mail over a
remote SMTP server.")
(license license:gpl2+)))
+
+(define-public aerc
+ (package
+ (name "aerc")
+ (version "0.13.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~rjarry/aerc")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "18rykklc0ppl53sm9lzhrw6kv4rcc7x45nv7qii7m4qads2pyjm5"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "git.sr.ht/~rjarry/aerc"
+ ;; Installing the source is only necessary for Go libraries.
+ #:install-source? #f
+ #:build-flags
+ #~(list "-tags=notmuch" "-ldflags"
+ (string-append "-X main.Version=" #$version
+ " -X git.sr.ht/~rjarry/aerc/config.shareDir="
+ #$output "/share/aerc"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-paths
+ (lambda* (#:key import-path inputs #:allow-other-keys)
+ (with-directory-excursion
+ (string-append "src/" import-path)
+ (substitute* (list "config/config.go"
+ "lib/templates/template.go"
+ "widgets/compose.go"
+ "widgets/msgviewer.go"
+ "worker/maildir/worker.go"
+ "worker/notmuch/worker.go")
+ (("\"sh\"")
+ (string-append
+ "\"" (search-input-file inputs "bin/sh")
+ "\"")))
+ (substitute* "commands/z.go"
+ (("\"zoxide\"")
+ (string-append
+ "\"" (search-input-file inputs "bin/zoxide")
+ "\"")))
+ (substitute* (list "lib/crypto/gpg/gpg.go"
+ "lib/crypto/gpg/gpg_test.go"
+ "lib/crypto/gpg/gpgbin/keys.go"
+ "lib/crypto/gpg/gpgbin/gpgbin.go")
+ (("\"gpg\"")
+ (string-append
+ "\"" (search-input-file inputs "bin/gpg")
+ "\""))
+ (("strings\\.Contains\\(stderr\\.String\\(\\), .*\\)")
+ "strings.Contains(stderr.String(), \"gpg\")")))))
+ (add-after 'build 'doc
+ (lambda* (#:key import-path build-flags #:allow-other-keys)
+ (invoke "make" "doc" "-C"
+ (string-append "src/" import-path))))
+ (replace 'install
+ (lambda* (#:key import-path build-flags #:allow-other-keys)
+ (invoke "make" "install" "-C"
+ (string-append "src/" import-path)
+ (string-append "PREFIX=" #$output)))))))
+ (inputs (list gnupg
+ go-github-com-zenhack-go-notmuch
+ go-golang-org-x-oauth2
+ go-github-com-xo-terminfo
+ go-github-com-stretchr-testify
+ go-github-com-riywo-loginshell
+ go-github-com-pkg-errors
+ go-github-com-mitchellh-go-homedir
+ go-github-com-miolini-datacounter
+ go-github-com-mattn-go-runewidth
+ go-github-com-mattn-go-isatty
+ go-github-com-lithammer-fuzzysearch
+ go-github-com-kyoh86-xdg
+ go-github-com-imdario-mergo
+ go-github-com-google-shlex
+ go-github-com-go-ini-ini
+ go-github-com-gdamore-tcell-v2
+ go-github-com-gatherstars-com-jwz
+ go-github-com-fsnotify-fsnotify
+ go-github-com-emersion-go-smtp
+ go-github-com-emersion-go-sasl
+ go-github-com-emersion-go-pgpmail
+ go-github-com-emersion-go-message
+ go-github-com-emersion-go-maildir
+ go-github-com-emersion-go-imap-sortthread
+ go-github-com-emersion-go-imap
+ go-github-com-emersion-go-msgauth
+ go-github-com-emersion-go-mbox
+ go-github-com-ddevault-go-libvterm
+ go-github-com-danwakefield-fnmatch
+ go-github-com-creack-pty
+ go-github-com-arran4-golang-ical
+ go-github-com-protonmail-go-crypto
+ go-github-com-syndtr-goleveldb-leveldb
+ go-git-sr-ht-sircmpwn-getopt
+ go-git-sr-ht-rockorager-tcell-term
+ zoxide))
+ (native-inputs (list scdoc))
+ (home-page "https://git.sr.ht/~rjarry/aerc")
+ (synopsis "Email client for the terminal")
+ (description "@code{aerc} is a textual email client for terminals. It
+features:
+@enumerate
+@item First-class support for using patches and @code{git send-email}
+@item Vi-like keybindings and command system
+@item A built-in console
+@item Support for multiple accounts
+@end enumerate")
+ ;; The license given is MIT/Expat; however, linking against notmuch
+ ;; effectively makes it GPL-3.0-or-later. See this thread discussing it:
+ ;; <https://lists.sr.ht/~rjarry/aerc-devel/%3Cb5cb213a7d0c699a886971658c2476
+ ;; 1073eb2391%40disroot.org%3E>
+ (license license:gpl3+)))