diff options
Diffstat (limited to 'gnu/packages/mail.scm')
-rw-r--r-- | gnu/packages/mail.scm | 205 |
1 files changed, 136 insertions, 69 deletions
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 6aacdcb73c..a0dca6351a 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -49,13 +49,14 @@ ;;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.com> ;;; Copyright © 2022 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2022 muradm <mail@muradm.net> -;;; Copyright © 2022 jgart <jgart@dismail.de> +;;; Copyright © 2022, 2024 jgart <jgart@dismail.de> ;;; Copyright © 2022 ( <paren@disroot.org> ;;; Copyright © 2022 Mathieu Laparie <mlaparie@disr.it> ;;; Copyright © 2023 Timo Wilken <guix@twilken.net> ;;; Copyright © 2023 Arjan Adriaanse <arjan@adriaan.se> ;;; Copyright © 2023 Wilko Meyer <w@wmeyer.eu> ;;; Copyright © 2024 Benjamin Slade <slade@lambda-y.net> +;;; Copyright © 2024 Jean Simard <woshilapin@tuziwo.info> ;;; ;;; This file is part of GNU Guix. ;;; @@ -85,6 +86,7 @@ #:use-module (gnu packages c) #:use-module (gnu packages calendar) #:use-module (gnu packages check) + #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages curl) @@ -1643,7 +1645,7 @@ and search library.") (define-public bower (package (name "bower") - (version "1.0") + (version "1.1") (home-page "https://github.com/wangp/bower") (source (origin @@ -1653,7 +1655,7 @@ and search library.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0vcsbxlsvr2wv3c7sfr3yj21kbqy259skpxg00vf5bdkbc8qknq4")))) + (base32 "1zh2zlwdmpq6195kg87q5dh864jvabxnrvfvzhks53pf9wjkv80a")))) (build-system gnu-build-system) (arguments (list @@ -1975,7 +1977,7 @@ delivery.") (define-public exim (package (name "exim") - (version "4.97.1") + (version "4.98") (source (origin (method url-fetch) @@ -1989,7 +1991,7 @@ delivery.") (string-append "https://ftp.exim.org/pub/exim/exim4/old/" file-name)))) (sha256 - (base32 "1afzxyffjqm2xm5v6b731hbfm1fi4q35ja45a29kaycsa1bj0y5x")))) + (base32 "1xsjb2hqasxsqsmrcv98c2dvfgcsiy0j0g229fx974lzfy511g0f")))) (build-system gnu-build-system) (arguments (list #:phases @@ -2090,7 +2092,7 @@ facilities for checking incoming mail.") (package (name "dovecot") ;; Also update dovecot-pigeonhole when updating to a new minor version. - (version "2.3.21") + (version "2.3.21.1") (source (origin (method url-fetch) @@ -2098,7 +2100,7 @@ facilities for checking incoming mail.") (version-major+minor version) "/" "dovecot-" version ".tar.gz")) (sha256 - (base32 "0bah6rn5ihczai8q50p6pqxwj73j21smib89ycp7q8qwly9i1c85")) + (base32 "0zh9971d49dl5q1km31jnrd3vg53j9aaxnppic412xi9qiwa341d")) (patches (search-patches "dovecot-opensslv3.patch")))) (build-system gnu-build-system) @@ -2160,7 +2162,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.21") + (version "0.5.21.1") (source (origin (method url-fetch) @@ -2168,7 +2170,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 "09zd7n6ljqaj3i3m6r1hn1vb1cjhy64040vji82i4rq7b4k1v9qw")) + (base32 "14j6bj9dc0c2f6pi251jyhfiwyg7n9gi2c840vg261v29cldnxq3")) (modules '((guix build utils))) (snippet '(begin @@ -3316,6 +3318,10 @@ from the Cyrus IMAP project.") ;; Fix some incorrectly hard-coded external tool file names. (add-after 'unpack 'patch-FHS-file-names (lambda _ + ;; avoids warning smtpd: couldn't enqueue offline message + ;; smtpctl exited abnormally + (substitute* "usr.sbin/smtpd/smtpd.h" + (("/usr/bin/smtpctl") "/run/setuid-programs/smtpctl")) (substitute* "usr.sbin/smtpd/smtpctl.c" ;; ‘gzcat’ is auto-detected at compile time, but ‘cat’ isn't. (("/bin/cat") (which "cat"))) @@ -4336,6 +4342,37 @@ related tools to process winmail.dat files.") Git and exports them in maildir format or to an MDA through a pipe.") (license license:gpl2)))) +(define-public bubger + (package + (name "bubger") + (version "1.1") + (source + (origin + (method url-fetch) + (uri + (string-append "https://git.causal.agency/bubger/snapshot/bubger-" + version ".tar.gz")) + (sha256 + (base32 "014r9p7f0ismhybvcs4p3s4ph3lcygn15kfdkd73i09fb82pqyw6")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ; There are no tests. + #:make-flags + #~(list + (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" #$output)))) + (native-inputs + (list pkg-config universal-ctags)) + (inputs (list libressl)) + (home-page "https://code.causal.agency/june/bubger") + (synopsis "IMAP archive generator") + (description + "@command{bubger} is a mailing list archive generator for mail stored in +IMAP. It produces static files of HTML, Atom and mboxrd, making its output +easy to serve from a host without IMAP access. It requires the IMAP THREAD +extension.") + (license license:gpl3+))) + (define-public public-inbox (package (name "public-inbox") @@ -4998,7 +5035,7 @@ remote SMTP server.") (define-public aerc (package (name "aerc") - (version "0.15.2") + (version "0.18.1") (source (origin (method git-fetch) (uri (git-reference @@ -5007,7 +5044,7 @@ remote SMTP server.") (file-name (git-file-name name version)) (sha256 (base32 - "1gbprx0i8d13q974n5hsys6lllav5cpll3cwrr1hfw6307hc001r")))) + "1gj8m8xvqaf0lsnk4h1n9d0qhwi8d3mm0w9zhw16v888n7rll9fb")))) (build-system go-build-system) (arguments (list #:import-path "git.sr.ht/~rjarry/aerc" @@ -5016,23 +5053,19 @@ remote SMTP server.") #:build-flags #~(list "-tags=notmuch" (string-append - "-ldflags=-X main.Version=" #$version - " -X git.sr.ht/~rjarry/aerc/config.libexecDir=" - #$output "/libexec/aerc" - " -X git.sr.ht/~rjarry/aerc/config.shareDir=" - #$output "/share/aerc")) + "-ldflags=-X main.Version=" #$version + " -X git.sr.ht/~rjarry/aerc/config.libexecDir=" + #$output "/libexec/aerc" + " -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") + (with-directory-excursion (string-append "src/" import-path) + (substitute* (find-files "." "\\.go$") + ;; Patch all occurrences to "sh" with absolute path to + ;; the shell available in Guix. (("\"sh\"") (string-append "\"" (search-input-file inputs "bin/sh") @@ -5041,8 +5074,8 @@ remote SMTP server.") (substitute* "commands/z.go" (("\"zoxide\"") (string-append - "\"" (search-input-file inputs "bin/zoxide") - "\"")))) + "\"" (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" @@ -5064,51 +5097,47 @@ remote SMTP server.") (string-append "PREFIX=" #$output))))))) (inputs (append - (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 - python - python-vobject) - (if (supported-package? zoxide) - (list zoxide) - '()))) - (native-inputs (list scdoc)) + (list gnupg + notmuch ; Failing to build without it. + python + python-vobject) + (if (supported-package? zoxide) + (list zoxide) + '()))) + (native-inputs + (list go-git-sr-ht-rjarry-go-opt + go-git-sr-ht-rockorager-go-jmap + go-git-sr-ht-rockorager-vaxis + go-github-com-protonmail-go-crypto + go-github-com-arran4-golang-ical + go-github-com-danwakefield-fnmatch + go-github-com-emersion-go-imap + go-github-com-emersion-go-imap-sortthread + go-github-com-emersion-go-maildir + go-github-com-emersion-go-mbox + go-github-com-emersion-go-message + go-github-com-emersion-go-msgauth + go-github-com-emersion-go-pgpmail + go-github-com-emersion-go-sasl + go-github-com-emersion-go-smtp + go-github-com-fsnotify-fsnotify + go-github-com-gatherstars-com-jwz + go-github-com-go-ini-ini + go-github-com-lithammer-fuzzysearch + go-github-com-mattn-go-isatty + go-github-com-mattn-go-runewidth + go-github-com-pkg-errors + go-github-com-riywo-loginshell + go-github-com-stretchr-testify + go-github-com-syndtr-goleveldb + go-golang-org-x-image + go-golang-org-x-oauth2 + go-golang-org-x-sys + go-golang-org-x-tools + 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 + (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} @@ -5121,3 +5150,41 @@ features: ;; <https://lists.sr.ht/~rjarry/aerc-devel/%3Cb5cb213a7d0c699a886971658c2476 ;; 1073eb2391%40disroot.org%3E> (license license:gpl3+))) + +(define-public hydroxide + (package + (name "hydroxide") + (version "0.2.29") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emersion/hydroxide") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "11gbikrgm7nf0zjav64202wsnr9pvrmslm2rzg9d9rbvwdqcq1jl")))) + (build-system go-build-system) + (arguments + (list + #:install-source? #f + #:import-path "github.com/emersion/hydroxide/cmd/hydroxide" + #:unpack-path "github.com/emersion/hydroxide")) + (native-inputs + (list go-github-com-protonmail-go-crypto + go-github-com-boltdb-bolt + go-github-com-emersion-go-bcrypt + go-github-com-emersion-go-imap + go-github-com-emersion-go-mbox + go-github-com-emersion-go-message + go-github-com-emersion-go-smtp + go-github-com-emersion-go-vcard + go-github-com-emersion-go-webdav + go-golang-org-x-crypto + go-golang-org-x-term)) + (home-page "https://github.com/emersion/hydroxide") + (synopsis "ProtonMail CardDAV, IMAP and SMTP bridge") + (description + "This package implements a functionality to translate standard +protocols (SMTP, IMAP, CardDAV) into ProtonMail API requests.") + (license license:expat))) |