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.scm205
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)))