Subject: [bug#55903] [PATCH v2 35/35] gnu: Add aerc.

From: "(" <[email-masked]>
Date: Mon, 13 Jun 2022 07:56:34 +0100

From: "(unmatched-parenthesis" <[email-masked]>

* gnu/packages/mail.scm (aerc): New variable.
---
 gnu/packages/mail.scm | 85 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 85 insertions(+)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 8596d0808b..2d75837c0e 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -47,6 +47,7 @@
 ;;; Copyright © 2022 Andrew Tropin <[email-masked]>
 ;;; Copyright © 2022 Justin Veilleux <[email-masked]>
 ;;; Copyright © 2022 Thiago Jung Bauermann <[email-masked]>
+;;; Copyright © 2022 (unmatched parenthesis <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -4649,3 +4650,87 @@ (define-public smtpmail
 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.10.0-20220609074223-83e0e2638df9")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.sr.ht/~rjarry/aerc")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "16lynv7adbkqnwr9kd061v3x5ls4libhcvqby0ryj6s72ra5h27j"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "git.sr.ht/~rjarry/aerc"
+           #:install-source? #f ; end-user application
+           #:build-flags
+           #~(list "-tags=notmuch" "-ldflags"
+                   (string-append "-X main.Version="
+                                  #$(go-version->git-ref version)
+                                  " -X git.sr.ht/~rjarry/aerc/config.shareDir="
+                                  #$output "/share/aerc"))
+           #:phases
+           #~(modify-phases %standard-phases
+              (add-after 'build 'doc
+                (lambda* (#:key import-path #:allow-other-keys)
+                  (with-directory-excursion (string-append "src/" import-path)
+                    (invoke "make" "doc"))))
+              (replace 'install
+                (lambda* (#:key outputs import-path #:allow-other-keys)
+                  (let ((out (assoc-ref outputs "out")))
+                    (with-directory-excursion (string-append "src/" import-path)
+                      (invoke "make" "install"
+                              (string-append "PREFIX=" out)))))))))
+    (inputs (list 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
+                  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-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-git-sr-ht--sircmpwn-getopt))
+    (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+)))
-- 
2.36.1