diff options
author | Efraim Flashner <efraim@flashner.co.il> | 2023-01-30 11:33:18 +0200 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2023-01-30 12:39:40 +0200 |
commit | 4cf1acc7f3033b50b0bf19e02c9f522d522d338c (patch) | |
tree | 9fd64956ee60304c15387eb394cd649e49f01467 /gnu/packages/mail.scm | |
parent | edb8c09addd186d9538d43b12af74d6c7aeea082 (diff) | |
parent | 595b53b74e3ef57a1c0c96108ba86d38a170a241 (diff) |
Merge remote-tracking branch 'origin/master' into core-updates
Conflicts:
doc/guix.texi
gnu/local.mk
gnu/packages/admin.scm
gnu/packages/base.scm
gnu/packages/chromium.scm
gnu/packages/compression.scm
gnu/packages/databases.scm
gnu/packages/diffoscope.scm
gnu/packages/freedesktop.scm
gnu/packages/gnome.scm
gnu/packages/gnupg.scm
gnu/packages/guile.scm
gnu/packages/inkscape.scm
gnu/packages/llvm.scm
gnu/packages/openldap.scm
gnu/packages/pciutils.scm
gnu/packages/ruby.scm
gnu/packages/samba.scm
gnu/packages/sqlite.scm
gnu/packages/statistics.scm
gnu/packages/syndication.scm
gnu/packages/tex.scm
gnu/packages/tls.scm
gnu/packages/version-control.scm
gnu/packages/xml.scm
guix/build-system/copy.scm
guix/scripts/home.scm
Diffstat (limited to 'gnu/packages/mail.scm')
-rw-r--r-- | gnu/packages/mail.scm | 387 |
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+))) |