[PATCHSET] Adding aerc

OpenSubmitted by (.
Details
3 participants
  • Maxime Devos
  • (
  • Raghav Gururajan
Owner
unassigned
Severity
normal
(
(address . guix-patches@gnu.org)
CKHC5V250Z0C.2JLX1A9LT63JN@guix-aspire
I have just finished adding the aerc https://aerc-mail.org email client to Guix 'R Us in

Having used guixrus as a testbed, I now want to upstream the package and its dependencies to
Guix proper. I believe this was a commonly-requested package, so it will be nice to finally get
it done :)

The following is the dependency graph for aerc, after removing duplicate dependencies and those
already packaged in Guix:

aerc
\ go-github-com-zenhack-go-notmuch
| go-github-com-creack-pty
| go-google-golang-org-protobuf-proto
| go-google-golang-org-appengine
| go-github-com-xo-terminfo
| go-github-com-riywo-loginshell
| go-github-com-miolini-datacounter
| go-github-com-kyoh86-xdg
| go-github-com-go-ini-ini
| go-github-com-gatherstars-com-jwz
| \ go-github-com-rivo-tview
| | \ go-github-com-rivo-uniseq
| | | go-github-com-lucasb-eyer-go-colorful
| | go-github-com-jhillyerd-enmime
| \ go-github-com-ssor-bom
| | go-github-com-gogs-chardet
| | go-github-com-jaytaylor-html2text
| | go-github-com-go-test-deep
| | go-github-com-cention-sany-utf7
| go-github-com-emersion-go-imap-sortthread
| \ go-github-com-emersion-go-imap
| \ go-github-com-emersion-go-sasl
| | go-github-com-emersion-go-message
| \ go-github-com-emersion-go-textwrapper
| go-github-com-emersion-go-pgpmail
| \ go-github-com-protonmail-go-crypto-bitcurves
| | go-github-com-protonmail-go-crypto-brainpool
| | go-github-com-protonmail-go-crypto-eax
| | go-github-com-protonmail-go-crypto-internal-byteutil
| | go-github-com-protonmail-go-crypto-ocb
| | go-github-com-protonmail-go-crypto-openpgp
| go-github-com-emersion-go-smtp
| go-github-com-arran4-golang-ical
| \ go-github-com-niemeyer-pretty
| go-git-sr-ht--sircmpwn-getopt

which means that I should send them in the following order (so that each commit is atomic):

go-github-com-zenhack-go-notmuch
go-github-com-creack-pty
go-google-golang-org-protobuf-proto
go-google-golang-org-appengine
go-github-com-xo-terminfo
go-github-com-riywo-loginshell
go-github-com-miolini-datacounter
go-github-com-kyoh86-xdg
go-github-com-go-ini-ini
go-github-com-lucasb-eyer-go-colorful
go-github-com-rivo-uniseq
go-github-com-rivo-tview
go-github-com-ssor-bom
go-github-com-gogs-chatdet
go-github-com-jaytaylor-html2text
go-github-com-go-test-deep
go-github-com-cention-sany-utf7
go-github-com-jhillyerd-enmime
go-github-com-gatherstars-com-jwz
go-github-com-emersion-go-textwrapper
go-github-com-emersion-go-message
go-github-com-emersion-go-sasl
go-github-com-emersion-go-imap
go-github-com-emersion-go-imap-sortthread
go-github-com-protonmail-go-crypto-bitcurves
go-github-com-protonmail-go-crypto-brainpool
go-github-com-protonmail-go-crypto-eax
go-github-com-protonmail-go-crypto-internal-byteutil
go-github-com-protonmail-go-crypto-ocb
go-github-com-protonmail-go-crypto-openpgp
go-github-com-emersion-go-pgpmail
go-github-com-emersion-go-smtp
go-github-com-niemeyer-pretty
go-github-com-arran4-golang-ical
go-git-sr-ht--sircmpwn-getopt
aerc
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 01/41] gnu: Add go-github-com-zenhack-go-notmuch.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-1-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-zenhack-go-notmuch): New
variable.
---
gnu/packages/golang.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (51 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 61c29be116..01afa786ba 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -34,6 +34,7 @@
 ;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
 ;;; Copyright © 2021 Lu Hui <luhux76@gmail.com>
 ;;; Copyright © 2022 Pier-Hugues Pellerin <phpellerin@gmail.com>
+;;; Copyright © 2022 (unmatched parenthesis <paren@disroot.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -69,6 +70,7 @@ (define-module (gnu packages golang)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages lua)
+  #:use-module (gnu packages mail)
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages password-utils)
   #:use-module (gnu packages pcre)
@@ -9834,3 +9836,28 @@ (define-public go-github-com-google-go-jsonnet
 production-ready implementation, compatible with the original Jsonnet C++
 implementation.")
     (license license:asl2.0)))
+
+(define-public go-github-com-zenhack-go-notmuch
+  (package
+    (name "go-github-com-zenhack-go-notmuch")
+    (version "0.0.0-20211022191430-4d57e8ad2a8b")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/zenhack/go.notmuch")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1j2s5smjf7pp7i72dw12sm9iz961y3cy8nkm7hmrg53f6wna57h9"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/zenhack/go.notmuch"
+           ;; XXX: Seems like the tests try to access fixtures that don't exist?
+           #:tests? #f))
+    (propagated-inputs (list notmuch))
+    (home-page "https://github.com/zenhack/go.notmuch")
+    (synopsis "Go bindings to libnotmuch")
+    (description "Package notmuch provides a Go language binding to the notmuch
+email library.")
+    (license license:gpl3+)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 02/41] gnu: Add go-github-com-creack-pty.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-2-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-creack-pty): New variable.

Signed-off-by: (unmatched-parenthesis <paren@disroot.org>
---
gnu/packages/golang.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 01afa786ba..7570ce6c6f 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -9861,3 +9861,25 @@ (define-public go-github-com-zenhack-go-notmuch
     (description "Package notmuch provides a Go language binding to the notmuch
 email library.")
     (license license:gpl3+)))
+
+(define-public go-github-com-creack-pty
+  (package
+    (name "go-github-com-creack-pty")
+    (version "1.1.18")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/creack/pty")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1qqhcgfym0napz8damj7dhfw28g2qn2f5h3lr93i0sxawq926yzc"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/creack/pty"))
+    (home-page "https://github.com/creack/pty")
+    (synopsis "Pseudoterminal handling in Go")
+    (description
+     "Package pty provides functions for working with Unix pseudoterminals.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 03/41] gnu: Add go-google-golang-org-protobuf-proto.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-3-paren@disroot.org
* gnu/packages/golang.scm (go-google-golang-org-protobuf-proto): New
variable.
---
gnu/packages/golang.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 7570ce6c6f..a39b5e5cd2 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -9883,3 +9883,31 @@ (define-public go-github-com-creack-pty
     (description
      "Package pty provides functions for working with Unix pseudoterminals.")
     (license license:expat)))
+
+(define-public go-google-golang-org-protobuf-proto
+  (package
+    (name "go-google-golang-org-protobuf-proto")
+    (version "1.28.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://go.googlesource.com/protobuf")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1nzcc4qc00afi24nb7nlnwyzvvr6b8s8qdrn1sw085nygh2y2x8r"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "google.golang.org/protobuf/proto"
+           #:unpack-path "google.golang.org/protobuf"))
+    (propagated-inputs (list go-github-com-google-go-cmp-cmp
+                             go-github-com-golang-protobuf-proto))
+    (home-page "https://google.golang.org/protobuf")
+    (synopsis "Go support for Protocol Buffers")
+    (description
+     "This project hosts the Go implementation for
+@url{https://developers.google.com/protocol-buffers,protocol buffers}, which
+is a language-neutral, platform-neutral, extensible mechanism for serializing
+structured data.")
+    (license license:bsd-3)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 04/41] gnu: Add go-google-golang-org-appengine.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-4-paren@disroot.org
* gnu/packages/golang.scm (go-google-golang-org-appengine): New
variable.
---
gnu/packages/golang.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index a39b5e5cd2..aaa9f79012 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -9911,3 +9911,28 @@ (define-public go-google-golang-org-protobuf-proto
 is a language-neutral, platform-neutral, extensible mechanism for serializing
 structured data.")
     (license license:bsd-3)))
+
+(define-public go-google-golang-org-appengine
+  (package
+    (name "go-google-golang-org-appengine")
+    (version "1.6.7")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/golang/appengine")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1wkipg7xxc0ha5p6c3bj0vpgq38l18441n5l6zxdhx0gzvz5z1hs"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "google.golang.org/appengine"))
+    (propagated-inputs (list go-golang-org-x-text go-golang-org-x-net
+                             go-github-com-golang-protobuf-proto))
+    (home-page "https://google.golang.org/appengine")
+    (synopsis "Go runtime on Google App Engine")
+    (description
+     "Package appengine provides basic functionality for running Go on
+Google App Engine.")
+    (license license:asl2.0)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 05/41] gnu: Add go-github-com-xo-terminfo.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-5-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-xo-terminfo): New variable.
---
gnu/packages/golang.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index aaa9f79012..b4fc3ed2b9 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -9936,3 +9936,25 @@ (define-public go-google-golang-org-appengine
      "Package appengine provides basic functionality for running Go on
 Google App Engine.")
     (license license:asl2.0)))
+
+(define-public go-github-com-xo-terminfo
+  (package
+    (name "go-github-com-xo-terminfo")
+    (version "0.0.0-20210125001918-ca9a967f8778")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/xo/terminfo")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "05gdcvcbwcrcwxznhvs1q1xh4irz2d10v2mz179pydjh30kjc0j5"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/xo/terminfo"))
+    (home-page "https://github.com/xo/terminfo")
+    (synopsis "Read the terminfo database in Go")
+    (description
+     "Package terminfo implements terminfo database reading in pure Go.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 06/41] gnu: Add go-github-com-riywo-loginshell.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-6-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-riywo-loginshell): New
variable.
---
gnu/packages/golang.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index b4fc3ed2b9..6dbdf065b1 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -9958,3 +9958,30 @@ (define-public go-github-com-xo-terminfo
     (description
      "Package terminfo implements terminfo database reading in pure Go.")
     (license license:expat)))
+
+(define-public go-github-com-riywo-loginshell
+  (package
+    (name "go-github-com-riywo-loginshell")
+    (version "0.0.0-20200815045211-7d26008be1ab")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/riywo/loginshell")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "138yvis6lipw9x02jyiz7472bxi20206bcfikcar54i3xsww9q4i"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path
+           "github.com/riywo/loginshell"
+           ;; Tests try to get the current user's login shell; the build
+           ;; user doesn't have one.
+           #:tests? #f))
+    (home-page "https://github.com/riywo/loginshell")
+    (synopsis "Get the user's login shell in Go")
+    (description
+     "This package provides a Go library to get the login shell of the
+current user.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 07/41] gnu: Add go-github-com-miolini-datacounter.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-7-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-miolini-datacounter): New
variable.
---
gnu/packages/golang.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 6dbdf065b1..6a18ba2fd5 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -9985,3 +9985,25 @@ (define-public go-github-com-riywo-loginshell
      "This package provides a Go library to get the login shell of the
 current user.")
     (license license:expat)))
+
+(define-public go-github-com-miolini-datacounter
+  (package
+    (name "go-github-com-miolini-datacounter")
+    (version "1.0.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/miolini/datacounter")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0s1hxqy6666qd524rdp1dr3778davc8gx9brg9lkcjvr5l05s9wa"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/miolini/datacounter"))
+    (home-page "https://github.com/miolini/datacounter")
+    (synopsis "Counters for readers/writers")
+    (description "Package datacounter provides counters for readers and
+writers.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 08/41] gnu: Add go-github-com-kyoh86-xdg.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-8-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-kyoh86-xdg): New variable.
---
gnu/packages/golang.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 6a18ba2fd5..648ad7956d 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10007,3 +10007,26 @@ (define-public go-github-com-miolini-datacounter
     (description "Package datacounter provides counters for readers and
 writers.")
     (license license:expat)))
+
+(define-public go-github-com-kyoh86-xdg
+  (package
+    (name "go-github-com-kyoh86-xdg")
+    (version "1.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/kyoh86/xdg")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0a5nz53fdz1c2qvwlf2dpjdd72nxri95i6q4b07c37kiipgaxncn"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/kyoh86/xdg"))
+    (home-page "https://github.com/kyoh86/xdg")
+    (synopsis "XDG Base Directories for Go")
+    (description
+     "Package xdg provides lightweight helper functions in golang to get config,
+data and cache directories according to the XDG Base Directory Specification")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 09/41] gnu: Add go-github-com-go-ini-ini.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-9-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-go-ini-ini): New variable.
---
gnu/packages/golang.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 648ad7956d..e0f5039803 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10030,3 +10030,26 @@ (define-public go-github-com-kyoh86-xdg
      "Package xdg provides lightweight helper functions in golang to get config,
 data and cache directories according to the XDG Base Directory Specification")
     (license license:expat)))
+
+(define-public go-github-com-go-ini-ini
+  (package
+    (name "go-github-com-go-ini-ini")
+    (version "1.66.6")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/go-ini/ini")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0kqg13606hnw8f75cb59fsy1m85kiqf3csi2g7q2512avdmaphc9"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/go-ini/ini"))
+    (propagated-inputs (list go-github-com-stretchr-testify))
+    (home-page "https://github.com/go-ini/ini")
+    (synopsis "INI support for Go")
+    (description
+     "Package ini provides INI file read and write functionality in Go.")
+    (license license:asl2.0)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 10/41] gnu: Add go-github-com-lucasb-eyer-go-colorful.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-10-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-lucasb-eyer-go-colorful): New
variable.
---
gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index e0f5039803..a8e27ab22b 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10053,3 +10053,29 @@ (define-public go-github-com-go-ini-ini
     (description
      "Package ini provides INI file read and write functionality in Go.")
     (license license:asl2.0)))
+
+(define-public go-github-com-lucasb-eyer-go-colorful
+  (package
+    (name "go-github-com-lucasb-eyer-go-colorful")
+    (version "1.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/lucasb-eyer/go-colorful")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "08c3fkf27r16izjjd4w94xd1z7w1r4mdalbl53ms2ka2j465s3qs"))))
+    (build-system go-build-system)
+    (inputs (list go-golang-org-x-image))
+    (arguments
+     (list #:import-path "github.com/lucasb-eyer/go-colorful"))
+    (home-page "https://github.com/lucasb-eyer/go-colorful")
+    (synopsis "Library for playing with colors in Go")
+    (description
+     "@code{go-github-com-lucasb-eyer-go-colorful} is a library for playing
+with colors in Go.  @code{go-github-com-lucasb-eyer-go-colorful} stores
+colors in RGB and provides methods for converting these to various color
+spaces.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 11/41] gnu: Add go-github-com-rivo-uniseq.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-11-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-rivo-uniseq): New variable.
---
gnu/packages/golang.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index a8e27ab22b..ce0313f69d 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10079,3 +10079,28 @@ (define-public go-github-com-lucasb-eyer-go-colorful
 colors in RGB and provides methods for converting these to various color
 spaces.")
     (license license:expat)))
+
+(define-public go-github-com-rivo-uniseq
+  (package
+    (name "go-github-com-rivo-uniseq")
+    (version "0.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/rivo/uniseg")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0j7h22vfmjj562vr8gpsyrkrwp1pq9ayh5fylv24skxb467g9f0q"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/rivo/uniseq"))
+    (home-page "https://github.com/rivo/uniseg")
+    (synopsis "Unicode Text Segmentation for Go")
+    (description
+     "@code{go-github-com-rivo-uniseq} package provides a tool to iterate
+over these grapheme clusters.  This may be used to determine the number
+of user-perceived characters, to split strings in their intended places,
+or to extract individual characters which form a unit.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 12/41] gnu: Add go-github-com-rivo-tview.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-12-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-rivo-tview): New variable.
---
gnu/packages/golang.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index ce0313f69d..8bbef159c4 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10104,3 +10104,33 @@ (define-public go-github-com-rivo-uniseq
 of user-perceived characters, to split strings in their intended places,
 or to extract individual characters which form a unit.")
     (license license:expat)))
+
+(define-public go-github-com-rivo-tview
+  (package
+    (name "go-github-com-rivo-tview")
+    (version "0.0.0-20220307222120-9994674d60a8")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/rivo/tview")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0594ishcsd582apbz8jvhz8dg5i7nvyl3k6b6bzprf3z5kmsy9vk"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/rivo/tview"))
+    (propagated-inputs (list go-golang-org-x-term
+                             go-golang-org-x-sys
+                             go-github-com-rivo-uniseq
+                             go-github-com-mattn-go-runewidth
+                             go-github-com-lucasb-eyer-go-colorful
+                             go-github-com-gdamore-tcell-v2))
+    (home-page "https://github.com/rivo/tview")
+    (synopsis "Rich Interactive Widgets for Terminal UIs")
+    (description
+     "Package tview implements rich widgets for terminal based user
+interfaces.  The widgets provided with this package are useful for data
+exploration and data entry.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 13/41] gnu: Add go-github-com-ssor-bom.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-13-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-ssor-bom): New variable.
---
gnu/packages/golang.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 8bbef159c4..e35f467597 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10134,3 +10134,26 @@ (define-public go-github-com-rivo-tview
 interfaces.  The widgets provided with this package are useful for data
 exploration and data entry.")
     (license license:expat)))
+
+(define-public go-github-com-ssor-bom
+  (package
+    (name "go-github-com-ssor-bom")
+    (version "0.0.0-20170718123548-6386211fdfcf")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/ssor/bom")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "09g5496ifwqxqclh2iw58plcwcz0sczlnxwqxzwmnl4shdl371ld"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/ssor/bom"))
+    (home-page "https://github.com/ssor/bom")
+    (synopsis "Cleaning BOMs in Go")
+    (description
+     "Package bom provides small tools for cleaning BOMs from a byte
+array or reader.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 14/41] gnu: Add go-github-com-gogs-chardet.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-14-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-gogs-chardet): New variable.
---
gnu/packages/golang.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index e35f467597..8caf840ae2 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10157,3 +10157,25 @@ (define-public go-github-com-ssor-bom
      "Package bom provides small tools for cleaning BOMs from a byte
 array or reader.")
     (license license:expat)))
+
+(define-public go-github-com-gogs-chardet
+  (package
+    (name "go-github-com-gogs-chardet")
+    (version "0.0.0-20211120154057-b7413eaefb8f")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/gogs/chardet")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "12j8q5wc9m4n51v2j2m40nahqdl9bh3hzpdp26clzq91kc2amiz0"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/gogs/chardet"))
+    (home-page "https://github.com/gogs/chardet")
+    (synopsis "Character set detection for Go")
+    (description "Package chardet ports character set detection from ICU
+to Go.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 15/41] gnu: Add go-github-com-jaytaylor-html2text.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-15-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-jaytaylor-html2text): New
variable.
---
gnu/packages/golang.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 8caf840ae2..4f6770358f 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10179,3 +10179,31 @@ (define-public go-github-com-gogs-chardet
     (description "Package chardet ports character set detection from ICU
 to Go.")
     (license license:expat)))
+
+(define-public go-github-com-jaytaylor-html2text
+  (package
+    (name "go-github-com-jaytaylor-html2text")
+    (version "0.0.0-20211105163654-bc68cce691ba")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/jaytaylor/html2text")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "12ckgkp8xqgp0fh6019nwp4ssg2k1rv1a67cpk37ian4q5zrvppm"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/jaytaylor/html2text"
+           ;; XXX: Seems to make incorrect assertions about the text it produces?
+           #:tests? #f))
+    (propagated-inputs (list go-golang-org-x-net
+                             go-github-com-olekukonko-tablewriter
+                             go-github-com-ssor-bom))
+    (home-page "https://github.com/jaytaylor/html2text")
+    (synopsis "Convert HTML email to text")
+    (description
+     "Package html2text converts HTML emails to textual ones.  Ensure
+your emails are readable by all!")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 16/41] gnu: Add go-github-com-go-test-deep.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-16-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-go-test-deep): New variable.
---
gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 4f6770358f..7f45618e72 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10207,3 +10207,27 @@ (define-public go-github-com-jaytaylor-html2text
      "Package html2text converts HTML emails to textual ones.  Ensure
 your emails are readable by all!")
     (license license:expat)))
+
+(define-public go-github-com-go-test-deep
+  (package
+    (name "go-github-com-go-test-deep")
+    (version "1.0.8")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/go-test/deep")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1mmw2w3by7y24jjpjwmf2gfl08c65jihn3si9m0sswmagmdsk8q0"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/go-test/deep"))
+    (home-page "https://github.com/go-test/deep")
+    (synopsis "Human-friendly deep variable equality in Go")
+    (description
+     "Package deep provides function deep.Equal which is like
+reflect.DeepEqual but returns a list of differences.  This is helpful
+when comparing complex types like structures and maps.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 17/41] gnu: Add go-github-com-cention-sany-utf7.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-17-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-cention-sany-utf7): New
variable.
---
gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 7f45618e72..34cf0de952 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10231,3 +10231,27 @@ (define-public go-github-com-go-test-deep
 reflect.DeepEqual but returns a list of differences.  This is helpful
 when comparing complex types like structures and maps.")
     (license license:expat)))
+
+(define-public go-github-com-cention-sany-utf7
+  (package
+    (name "go-github-com-cention-sany-utf7")
+    (version "0.0.0-20170124080048-26cad61bd60a")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/cention-sany/utf7")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1jy15ryfcln1iwchrksqyrnyfy41gisymm4f9sr1d73ja029bznm"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/cention-sany/utf7"))
+    (propagated-inputs (list go-golang-org-x-text))
+    (home-page "https://github.com/cention-sany/utf7")
+    (synopsis "UTF-7 for Go")
+    (description
+     "Package utf7 provides support for the obsolete UTF-7 text encoding
+in Go.")
+    (license license:bsd-3)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 18/41] gnu: Add go-github-com-jhillyerd-enmime.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-18-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-jhillyerd-enmime): New
variable.
---
gnu/packages/golang.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (46 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 34cf0de952..e16af75883 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10255,3 +10255,39 @@ (define-public go-github-com-cention-sany-utf7
      "Package utf7 provides support for the obsolete UTF-7 text encoding
 in Go.")
     (license license:bsd-3)))
+
+(define-public go-github-com-jhillyerd-enmime
+  (package
+    (name "go-github-com-jhillyerd-enmime")
+    (version "0.9.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/jhillyerd/enmime")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "124dqm598phbmalyx2gmxk201z9kq4ckvvdq8rc0akjlp24nxqbb"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/jhillyerd/enmime"))
+    (propagated-inputs (list go-golang-org-x-text
+                             go-golang-org-x-net
+                             go-github-com-stretchr-testify
+                             go-github-com-ssor-bom
+                             go-github-com-rivo-uniseq
+                             go-github-com-pkg-errors
+                             go-github-com-olekukonko-tablewriter
+                             go-github-com-mattn-go-runewidth
+                             go-github-com-gogs-chardet
+                             go-github-com-jaytaylor-html2text
+                             go-github-com-go-test-deep
+                             go-github-com-cention-sany-utf7))
+    (home-page "https://github.com/jhillyerd/enmime")
+    (synopsis "Encode and decode MIME")
+    (description
+     "Package enmime implements a MIME encoding and decoding library.
+It's built on top of Go's included mime/multipart support where possible,
+but is geared towards parsing MIME encoded emails.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 19/41] gnu: Add go-github-com-gatherstars-com-jwz.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-19-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-gatherstars-com-jwz): New
variable.
---
gnu/packages/golang.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index e16af75883..14fc8385d7 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10291,3 +10291,30 @@ (define-public go-github-com-jhillyerd-enmime
 It's built on top of Go's included mime/multipart support where possible,
 but is geared towards parsing MIME encoded emails.")
     (license license:expat)))
+
+(define-public go-github-com-gatherstars-com-jwz
+  (package
+    (name "go-github-com-gatherstars-com-jwz")
+    (version "1.3.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/gatherstars-com/jwz")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1h37h5w139d3rhvp1n7kz2jm5zhk4pjzf3sip04v48nphkika60c"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/gatherstars-com/jwz"))
+    (propagated-inputs (list go-github-com-rivo-tview
+                             go-github-com-jhillyerd-enmime
+                             go-github-com-gdamore-tcell-v2))
+    (home-page "https://github.com/gatherstars-com/jwz")
+    (synopsis "JWZ's email threading algorithm implemented in Go")
+    (description
+     "Package jwz is an implementation of the email threading algorithm
+created by Jamie Zawinski and explained by him at
+@url{https://www.jwz.org/doc/threading.html,https://www.jwz.org/doc/threading.html}.")
+    (license license:asl2.0)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 20/41] gnu: Add go-github-com-emersion-go-textwrapper.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-20-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-emersion-go-textwrapper): New
variable.
---
gnu/packages/golang.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 14fc8385d7..8a5c566a08 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10318,3 +10318,26 @@ (define-public go-github-com-gatherstars-com-jwz
 created by Jamie Zawinski and explained by him at
 @url{https://www.jwz.org/doc/threading.html,https://www.jwz.org/doc/threading.html}.")
     (license license:asl2.0)))
+
+(define-public go-github-com-emersion-go-textwrapper
+  (package
+    (name "go-github-com-emersion-go-textwrapper")
+    (version "0.0.0-20200911093747-65d896831594")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/emersion/go-textwrapper")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1lh9d7zvj6gm1rr6sv5xlagklgx9d666hq5srd37a4sdcjkbiqmq"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/emersion/go-textwrapper"))
+    (home-page "https://github.com/emersion/go-textwrapper")
+    (synopsis "Text-wrapping writer for Go")
+    (description
+     "This package provides a writer that wraps long text lines to a specified
+length.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 21/41] gnu: Add go-github-com-emersion-go-message.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-21-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-emersion-go-message): New
variable.
---
gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 8a5c566a08..883dfcbd20 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10341,3 +10341,27 @@ (define-public go-github-com-emersion-go-textwrapper
      "This package provides a writer that wraps long text lines to a specified
 length.")
     (license license:expat)))
+
+(define-public go-github-com-emersion-go-message
+  (package
+    (name "go-github-com-emersion-go-message")
+    (version "0.16.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/emersion/go-message")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1j5qdhsna28xcs843zsiccw700rld5hin466dl0n3a0ax1w13ay0"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/emersion/go-message"))
+    (propagated-inputs (list go-golang-org-x-text
+                             go-github-com-emersion-go-textwrapper))
+    (home-page "https://github.com/emersion/go-message")
+    (synopsis "Multipurpose messages in Go")
+    (description
+     "Package message implements reading and writing multipurpose messages.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 22/41] gnu: Add go-github-com-emersion-go-sasl.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-22-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-emersion-go-sasl): New
variable.
---
gnu/packages/golang.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 883dfcbd20..bf4be69ae5 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10365,3 +10365,24 @@ (define-public go-github-com-emersion-go-message
     (description
      "Package message implements reading and writing multipurpose messages.")
     (license license:expat)))
+
+(define-public go-github-com-emersion-go-sasl
+  (package
+    (name "go-github-com-emersion-go-sasl")
+    (version "0.0.0-20211008083017-0b9dcfb154ac")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/emersion/go-sasl")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1cbf86wkqrdinfydndgdlnayg4a5mg3d4vqra377j2sfkg7wj0hs"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/emersion/go-sasl"))
+    (home-page "https://github.com/emersion/go-sasl")
+    (synopsis "SASL library written in Go")
+    (description "This package provides a SASL library written in Go.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 23/41] gnu: Add go-github-com-emersion-go-imap.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-23-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-emersion-go-imap): New
variable.
---
gnu/packages/golang.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index bf4be69ae5..f579b63fb0 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10386,3 +10386,28 @@ (define-public go-github-com-emersion-go-sasl
     (synopsis "SASL library written in Go")
     (description "This package provides a SASL library written in Go.")
     (license license:expat)))
+
+(define-public go-github-com-emersion-go-imap
+  (package
+    (name "go-github-com-emersion-go-imap")
+    (version "1.2.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/emersion/go-imap")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0ak2ysvfcc9w0g1070msis8x9sh6gzvf0nd65ks594siwbmqddw8"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/emersion/go-imap"))
+    (propagated-inputs (list go-golang-org-x-text
+                             go-github-com-emersion-go-sasl
+                             go-github-com-emersion-go-message))
+    (home-page "https://github.com/emersion/go-imap")
+    (synopsis "IMAP4rev1 library written in Go")
+    (description "This package provides an IMAP4rev1 library written in
+Go.  It can be used to build IMAP clients and servers.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 24/41] gnu: Add go-github-com-emersion-go-imap-sortthread.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-24-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-emersion-go-imap-sortthread):
New variable.
---
gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index f579b63fb0..b66ded6f61 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10411,3 +10411,27 @@ (define-public go-github-com-emersion-go-imap
     (description "This package provides an IMAP4rev1 library written in
 Go.  It can be used to build IMAP clients and servers.")
     (license license:expat)))
+
+(define-public go-github-com-emersion-go-imap-sortthread
+  (package
+    (name "go-github-com-emersion-go-imap-sortthread")
+    (version "1.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/emersion/go-imap-sortthread")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1cfbgz1l5angnj52v9pxwggai2shx0h78ffcp7j4r4lr7lzflnwz"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/emersion/go-imap-sortthread"))
+    (propagated-inputs (list go-golang-org-x-text
+                             go-github-com-emersion-go-sasl
+                             go-github-com-emersion-go-imap))
+    (home-page "https://github.com/emersion/go-imap-sortthread")
+    (synopsis "SORT and THREAD for go-imap")
+    (description "Package sortthread implements SORT and THREAD for go-imap.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 25/41] gnu: Add go-github-com-protonmail-go-crypto-openpgp.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-25-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-protonmail-go-crypto-openpgp):
New variable.
---
gnu/packages/golang.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index b66ded6f61..06d635b03b 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10435,3 +10435,31 @@ (define-public go-github-com-emersion-go-imap-sortthread
     (synopsis "SORT and THREAD for go-imap")
     (description "Package sortthread implements SORT and THREAD for go-imap.")
     (license license:expat)))
+
+(define-public go-github-com-protonmail-go-crypto-openpgp
+  (package
+    (name "go-github-com-protonmail-go-crypto-openpgp")
+    (version "0.0.0-20220517143526-88bb52951d5b")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/ProtonMail/go-crypto")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "15dsjxsgr6sbfi651kav3vcfpkkzfb383rahasff4fvb6hwfjr1l"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/ProtonMail/go-crypto/openpgp"
+           #:unpack-path "github.com/ProtonMail/go-crypto"))
+    (propagated-inputs (list go-golang-org-x-crypto))
+    (home-page "https://github.com/ProtonMail/go-crypto")
+    (synopsis "Fork of golang.org/x/crypto with up-to-date OpenPGP
+implementation")
+    (description
+     "Package crypto provides cryptography for Go.  This version of the
+package is a fork that adds a more up-to-date OpenPGP implementation.  It
+is completely backwards compatible with
+@url{golang.org/x/crypto,the official package}.")
+    (license license:bsd-3)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 26/41] gnu: Add go-github-com-protonmail-go-crypto-bitcurves.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-26-paren@disroot.org
---
gnu/packages/golang.scm | 9 +++++++++
1 file changed, 9 insertions(+)

Toggle diff (19 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 06d635b03b..9286e26e5a 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10463,3 +10463,12 @@ (define-public go-github-com-protonmail-go-crypto-openpgp
 is completely backwards compatible with
 @url{golang.org/x/crypto,the official package}.")
     (license license:bsd-3)))
+
+(define-public go-github-com-protonmail-go-crypto-bitcurves
+  (package
+    (inherit go-github-com-protonmail-go-crypto-openpgp)
+    (name "go-github-com-protonmail-go-crypto-bitcurves")
+    (arguments
+     (substitute-keyword-arguments (package-arguments
+                                    go-github-com-protonmail-go-crypto-openpgp)
+       ((#:import-path _) "github.com/ProtonMail/go-crypto/bitcurves")))))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 28/41] gnu: Add go-github-com-go-crypto-eax.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-28-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-go-crypto-eax): New variable.
---
gnu/packages/golang.scm | 9 +++++++++
1 file changed, 9 insertions(+)

Toggle diff (19 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index e2b3388e1d..d93e39119f 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10481,3 +10481,12 @@ (define-public go-github-com-protonmail-go-crypto-brainpool
      (substitute-keyword-arguments (package-arguments
                                     go-github-com-protonmail-go-crypto-openpgp)
        ((#:import-path _) "github.com/ProtonMail/go-crypto/brainpool")))))
+
+(define-public go-github-com-protonmail-go-crypto-eax
+  (package
+    (inherit go-github-com-protonmail-go-crypto-openpgp)
+    (name "go-github-com-protonmail-go-crypto-eax")
+    (arguments
+     (substitute-keyword-arguments (package-arguments
+                                    go-github-com-protonmail-go-crypto-openpgp)
+       ((#:import-path _) "github.com/ProtonMail/go-crypto/eax")))))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 27/41] gnu: Add go-github-com-protonmail-go-crypto-brainpool.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-27-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-protonmail-go-crypto-brainpool):
New variable.
---
gnu/packages/golang.scm | 9 +++++++++
1 file changed, 9 insertions(+)

Toggle diff (19 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 9286e26e5a..e2b3388e1d 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10472,3 +10472,12 @@ (define-public go-github-com-protonmail-go-crypto-bitcurves
      (substitute-keyword-arguments (package-arguments
                                     go-github-com-protonmail-go-crypto-openpgp)
        ((#:import-path _) "github.com/ProtonMail/go-crypto/bitcurves")))))
+
+(define-public go-github-com-protonmail-go-crypto-brainpool
+  (package
+    (inherit go-github-com-protonmail-go-crypto-openpgp)
+    (name "go-github-com-protonmail-go-crypto-brainpool")
+    (arguments
+     (substitute-keyword-arguments (package-arguments
+                                    go-github-com-protonmail-go-crypto-openpgp)
+       ((#:import-path _) "github.com/ProtonMail/go-crypto/brainpool")))))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 29/41] gnu: Add go-github-com-protonmail-go-crypto-internal-byteutil.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-29-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-protonmail-go-crypto-internal-byteutil):
New variable.
---
gnu/packages/golang.scm | 9 +++++++++
1 file changed, 9 insertions(+)

Toggle diff (19 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index d93e39119f..d3604854f7 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10490,3 +10490,12 @@ (define-public go-github-com-protonmail-go-crypto-eax
      (substitute-keyword-arguments (package-arguments
                                     go-github-com-protonmail-go-crypto-openpgp)
        ((#:import-path _) "github.com/ProtonMail/go-crypto/eax")))))
+
+(define-public go-github-com-protonmail-go-crypto-internal-byteutil
+  (package
+    (inherit go-github-com-protonmail-go-crypto-openpgp)
+    (name "go-github-com-protonmail-go-crypto-internal-byteutil")
+    (arguments
+     (substitute-keyword-arguments (package-arguments
+                                    go-github-com-protonmail-go-crypto-openpgp)
+       ((#:import-path _) "github.com/ProtonMail/go-crypto/internal/byteutil")))))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 30/41] gnu: Add go-github-com-protonmail-go-crypto-ocb.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-30-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-protonmail-go-crypto-ocb): New
variable.
---
gnu/packages/golang.scm | 9 +++++++++
1 file changed, 9 insertions(+)

Toggle diff (19 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index d3604854f7..0b157e4e5d 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10499,3 +10499,12 @@ (define-public go-github-com-protonmail-go-crypto-internal-byteutil
      (substitute-keyword-arguments (package-arguments
                                     go-github-com-protonmail-go-crypto-openpgp)
        ((#:import-path _) "github.com/ProtonMail/go-crypto/internal/byteutil")))))
+
+(define-public go-github-com-protonmail-go-crypto-ocb
+  (package
+    (inherit go-github-com-protonmail-go-crypto-openpgp)
+    (name "go-github-com-protonmail-go-crypto-ocb")
+    (arguments
+     (substitute-keyword-arguments (package-arguments
+                                    go-github-com-protonmail-go-crypto-openpgp)
+       ((#:import-path _) "github.com/ProtonMail/go-crypto/ocb")))))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 31/41] gnu: Add go-github-com-emersion-go-pgpmail.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-31-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-emersion-go-pgpmail): New
variable.
---
gnu/packages/golang.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (44 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 0b157e4e5d..ab34d02190 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10508,3 +10508,37 @@ (define-public go-github-com-protonmail-go-crypto-ocb
      (substitute-keyword-arguments (package-arguments
                                     go-github-com-protonmail-go-crypto-openpgp)
        ((#:import-path _) "github.com/ProtonMail/go-crypto/ocb")))))
+
+(define-public go-github-com-emersion-go-pgpmail
+  (package
+    (name "go-github-com-emersion-go-pgpmail")
+    (version "0.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/emersion/go-pgpmail")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0ar26b0apw5bxn58qfn1a79cxigbmrqm1irh1rb7x57fydihc7wm"))))
+    (build-system go-build-system)
+    (arguments
+     (list ;; tests don't support our version of protonmail/go-crypto; see
+           ;; <https://github.com/emersion/go-pgpmail/issues/12>
+           #:tests? #f
+           #:import-path "github.com/emersion/go-pgpmail"))
+    (propagated-inputs (list go-golang-org-x-text
+                             go-golang-org-x-crypto
+                             go-github-com-emersion-go-message
+                             go-github-com-protonmail-go-crypto-bitcurves
+                             go-github-com-protonmail-go-crypto-brainpool
+                             go-github-com-protonmail-go-crypto-internal-byteutil
+                             go-github-com-protonmail-go-crypto-eax
+                             go-github-com-protonmail-go-crypto-ocb
+                             go-github-com-protonmail-go-crypto-openpgp))
+    (home-page "https://github.com/emersion/go-pgpmail")
+    (synopsis "PGP mail encryption for Go")
+    (description
+     "Package pgpmail implements PGP encryption for e-mail messages.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 32/41] gnu: Add go-github-com-emersion-go-smtp.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-32-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-emersion-go-smtp): New
variable.
---
gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index ab34d02190..00b6945e10 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10542,3 +10542,27 @@ (define-public go-github-com-emersion-go-pgpmail
     (description
      "Package pgpmail implements PGP encryption for e-mail messages.")
     (license license:expat)))
+
+(define-public go-github-com-emersion-go-smtp
+  (package
+    (name "go-github-com-emersion-go-smtp")
+    (version "0.15.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/emersion/go-smtp")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1vhc0vpjd4yhxk6wrh01sdpi7nprjn98s46yy82xwlkm0cskl0h7"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/emersion/go-smtp"))
+    (propagated-inputs (list go-github-com-emersion-go-sasl))
+    (home-page "https://github.com/emersion/go-smtp")
+    (synopsis "SMTP implementation for Go")
+    (description
+     "Package smtp implements the Simple Mail Transfer Protocol as defined in
+@url{https://rfc-editor.org/rfc/rfc5321.html,RFC 5321}.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 33/41] gnu: Add go-github-com-niemeyer-pretty.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-33-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-niemeyer-pretty): New variable.
---
gnu/packages/golang.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (51 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 00b6945e10..61a7ee8edd 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -56,6 +56,7 @@ (define-module (gnu packages golang)
   #:use-module (guix utils)
   #:use-module ((guix build utils) #:select (alist-replace))
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module (guix packages)
   #:use-module (guix build-system gnu)
@@ -10566,3 +10567,36 @@ (define-public go-github-com-emersion-go-smtp
      "Package smtp implements the Simple Mail Transfer Protocol as defined in
 @url{https://rfc-editor.org/rfc/rfc5321.html,RFC 5321}.")
     (license license:expat)))
+
+(define-public go-github-com-niemeyer-pretty
+  (package
+    (name "go-github-com-niemeyer-pretty")
+    (version "0.0.0-20200227124842-a10e7caefd8e")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/niemeyer/pretty")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1jmazh4xzaa3v6g46hz60q2z7nmqs9l9cxdzmmscn3kbcs2znq4v"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/niemeyer/pretty"
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'int-to-string-with-rune
+                 (lambda* (#:key import-path #:allow-other-keys)
+                   (with-directory-excursion (string-append "src/" import-path)
+                     (substitute* "formatter.go"
+                       (("s \\+= string\\(i\\)")
+                        "s += string(rune(i))"))))))))
+    (propagated-inputs (list go-github-com-kr-text))
+    (home-page "https://github.com/niemeyer/pretty")
+    (synopsis "Pretty-print Go values")
+    (description
+     "Package pretty provides pretty-printing for Go values.  This is
+useful during debugging, to avoid wrapping long output lines in the
+terminal.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 34/41] gnu: Add go-github-com-arran4-golang-ical.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-34-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-arran4-golang-ical): New
variable.
---
gnu/packages/golang.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 61a7ee8edd..d5679961a6 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10600,3 +10600,31 @@ (define-public go-github-com-niemeyer-pretty
 useful during debugging, to avoid wrapping long output lines in the
 terminal.")
     (license license:expat)))
+
+(define-public go-github-com-arran4-golang-ical
+  (package
+    (name "go-github-com-arran4-golang-ical")
+    (version "0.0.0-20220517104411-fd89fefb0182")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/arran4/golang-ical")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0bxs0b5yg26liiifc0cc41l307r0wc93hp8iygv8dgpc60yzncaw"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/arran4/golang-ical"))
+    (propagated-inputs (list go-gopkg-in-yaml-v3
+                             go-gopkg-in-check-v1
+                             go-github-com-stretchr-testify
+                             go-github-com-niemeyer-pretty
+                             go-github-com-kr-text
+                             go-github-com-davecgh-go-spew))
+    (home-page "https://github.com/arran4/golang-ical")
+    (synopsis "Handle iCalenders in Go")
+    (description
+     "Package ical provides an ICS/iCalender parser and serialiser for Go.")
+    (license license:asl2.0)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 36/41] gnu: Add go-github-com-lithammer-fuzzysearch.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-36-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-lithammer-fuzzysearch): New
variable.
---
gnu/packages/golang.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index e564e1a972..1e570584ab 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10651,3 +10651,31 @@ (define-public go-git-sr-ht--sircmpwn-getopt
     (description
      "Package getopt is a POSIX-compatible implementation of getopt(3) for Go.")
     (license license:bsd-3)))
+
+(define-public go-github-com-lithammer-fuzzysearch
+  (package
+    (name "go-github-com-lithammer-fuzzysearch")
+    (version "1.1.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/lithammer/fuzzysearch")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "095zw3ffkp1w1lz4gby92b7vgi9zfvqc2s3rkl166a4narhv85fg"))))
+    (build-system go-build-system)
+    (propagated-inputs (list go-golang-org-x-text))
+    (arguments
+     (list #:import-path "github.com/lithammer/fuzzysearch"
+           #:tests? #f
+           #:phases
+           #~(modify-phases %standard-phases
+               (delete 'build))))
+    (home-page "https://github.com/lithammer/fuzzysearch")
+    (synopsis "Tiny and fast fuzzy search in Go")
+    (description
+     "A speedy fuzzy matching package for Go inspired by the JavaScript
+library bevacqua/fuzzysearch.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 35/41] gnu: Add go-git-sr-ht--sircmpwn-getopt.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-35-paren@disroot.org
* gnu/packages/golang.scm (go-git-sr-ht--sircmpwn-getopt): New variable.
---
gnu/packages/golang.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index d5679961a6..e564e1a972 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10628,3 +10628,26 @@ (define-public go-github-com-arran4-golang-ical
     (description
      "Package ical provides an ICS/iCalender parser and serialiser for Go.")
     (license license:asl2.0)))
+
+(define-public go-git-sr-ht--sircmpwn-getopt
+  (package
+    (name "go-git-sr-ht--sircmpwn-getopt")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.sr.ht/~sircmpwn/getopt")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0f9rammnmhaz21qkmz7qf76r8jlzi323g05ps3j7gwrxlw7442a6"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "git.sr.ht/~sircmpwn/getopt"))
+    (propagated-inputs (list go-github-com-stretchr-testify))
+    (home-page "https://git.sr.ht/~sircmpwn/getopt")
+    (synopsis "POSIX getopt for Go")
+    (description
+     "Package getopt is a POSIX-compatible implementation of getopt(3) for Go.")
+    (license license:bsd-3)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 37/41] gnu: Add go-github-com-google-shlex.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-37-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-google-shlex): New variable.
---
gnu/packages/golang.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 1e570584ab..bd22e7ff44 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10679,3 +10679,25 @@ (define-public go-github-com-lithammer-fuzzysearch
      "A speedy fuzzy matching package for Go inspired by the JavaScript
 library bevacqua/fuzzysearch.")
     (license license:expat)))
+
+(define-public go-github-com-google-shlex
+  (package
+    (name "go-github-com-google-shlex")
+    (version "v0.0.0-20181106134648-c34317bd91bf")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/google/shlex")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "00qivza4hkllfkar2vpqmyxybi0fwqipgijv61dgapq4xddxdq0r"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/google/shlex"))
+    (home-page "https://github.com/google/shlex")
+    (synopsis "Simple lexer for Go")
+    (description "Shlex is a simple lexer for Go that supports shell-style
+quoting, commenting, and escaping.")
+    (license license:asl2.0)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 38/41] gnu: Add go-github-com-emersion-go-maildir.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-38-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-emersion-go-maildir): New
variable.
---
gnu/packages/golang.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index bd22e7ff44..3ae7092f2e 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10701,3 +10701,26 @@ (define-public go-github-com-google-shlex
     (description "Shlex is a simple lexer for Go that supports shell-style
 quoting, commenting, and escaping.")
     (license license:asl2.0)))
+
+(define-public go-github-com-emersion-go-maildir
+  (package
+    (name "go-github-com-emersion-go-maildir")
+    (version "0.3.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/emersion/go-maildir")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1rs9kbacjpcza25pmdkbm7sdm7r6gq4g44nihi9asyrvspx96zf2"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/emersion/go-maildir"))
+    (home-page "https://github.com/emersion/go-maildir")
+    (synopsis "Maildir interface for Go")
+    (description
+     "Package maildir provides an interface to mailboxes in the Maildir
+format.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 39/41] gnu: Add go-github-com-emersion-go-milter.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-39-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-emersion-go-milter): New
variable.
---
gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 3ae7092f2e..069311b221 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10724,3 +10724,27 @@ (define-public go-github-com-emersion-go-maildir
      "Package maildir provides an interface to mailboxes in the Maildir
 format.")
     (license license:expat)))
+
+(define-public go-github-com-emersion-go-milter
+  (package
+    (name "go-github-com-emersion-go-milter")
+    (version "0.3.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/emersion/go-milter")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "10vpry5gjz2bh9qchcx4p59zm7cc6cb6bfkii2n6vsn4svb950sa"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/emersion/go-milter"))
+    (propagated-inputs (list go-github-com-emersion-go-message))
+    (home-page "https://github.com/emersion/go-milter")
+    (synopsis "Milter mail filters in Go")
+    (description
+     "Package milter provides an interface to implement milter mail
+filters in Go.")
+    (license license:bsd-2)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 40/41] gnu: Add go-github-com-emersion-go-msgauth-authres.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-40-paren@disroot.org
* gnu/packages/golang.scm (go-github-com-emersion-go-msgauth-authres):
New variable.
---
gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 069311b221..f13b39fc88 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10748,3 +10748,29 @@ (define-public go-github-com-emersion-go-milter
      "Package milter provides an interface to implement milter mail
 filters in Go.")
     (license license:bsd-2)))
+
+(define-public go-github-com-emersion-go-msgauth-authres
+  (package
+    (name "go-github-com-emersion-go-msgauth-authres")
+    (version "0.6.6")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/emersion/go-msgauth")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0ds8yr4cm9wigcxg1sxc2m0wmy4z9n6gws3mj50dmf2ayij69z9j"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:unpack-path "github.com/emersion/go-msgauth"
+           #:import-path "github.com/emersion/go-msgauth/authres"))
+    (propagated-inputs (list go-golang-org-x-crypto
+                             go-github-com-emersion-go-milter
+                             go-github-com-emersion-go-message))
+    (home-page "https://github.com/emersion/go-msgauth")
+    (synopsis "Email authentication for Go")
+    (description "Package msgauth provides a Go library for authenticating
+emails.")
+    (license license:expat)))
-- 
2.36.1
(
(
(unmatched-parenthesis wrote on 11 Jun 21:16 +0200
[PATCH 41/41] gnu: Add aerc.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220611191653.15471-41-paren@disroot.org
* gnu/packages/mail.scm (aerc): New variable.
---
gnu/packages/mail.scm | 87 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 87 insertions(+)

Toggle diff (104 lines)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 8596d0808b..0753a7df2c 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -47,6 +47,7 @@
 ;;; Copyright © 2022 Andrew Tropin <andrew@trop.in>
 ;;; Copyright © 2022 Justin Veilleux <terramorpha@cock.li>
 ;;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.com>
+;;; Copyright © 2022 (unmatched parenthesis <paren@disroot.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -4649,3 +4650,89 @@ (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-gopkg-in-yaml-v2
+                  go-google-golang-org-protobuf-proto
+                  go-google-golang-org-appengine
+                  go-golang-org-x-term
+                  go-golang-org-x-sys
+                  go-golang-org-x-oauth2
+                  go-golang-org-x-net
+                  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-pointer
+                  go-github-com-mattn-go-isatty
+                  go-github-com-lucasb-eyer-go-colorful
+                  go-github-com-lithammer-fuzzysearch
+                  go-github-com-kyoh86-xdg
+                  go-github-com-imdario-mergo
+                  go-github-com-google-shlex
+                  go-github-com-golang-protobuf-proto
+                  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-authres
+                  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-openpgp
+                  go-git-sr-ht--sircmpwn-getopt))
+    (native-inputs (list scdoc))
+    (home-page "https://git.sr.ht/~rjarry/aerc")
+    (synopsis "Terminal email client")
+    (description "@code{aerc} is an email client for your terminal.")
+    ;; 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
(
Fwd: Re: [PATCHSET] Adding aerc
(address . 55903@debbugs.gnu.org)
CKNKRPG9HR5N.YPERJQ8CNM5H@guix-aspire
Well, looks like there was more dependencies than I expected... if only there were
some way to automate making that list. I also updated the aerc package to the latest
commit as of this writing :)
M
M
Maxime Devos wrote on 12 Jun 00:19 +0200
Re: [bug#55903] [PATCH 03/41] gnu: Add go-google-golang-org-protobuf-proto.
8697f19cec2416aa29a11babfd43e04e04e75997.camel@telenet.be
(unmatched-parenthesis via Guix-patches via schreef op za 11-06-2022 om
20:16 [+0100]:
Toggle quote (2 lines)
> * gnu/packages/golang.scm (go-google-golang-org-protobuf-proto): New

We already have (a variant of) this:

go-github-com-gogo-protobuf description mentions: ‘goprotobuf
compatibility’ (not sure if that refers to API or serialisation format
though).

Or: go-github-com-golang-protobuf-proto (looks the same for a distance
except for domain name).

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqUU/RccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7sWSAP40BHgDFLId0yyOAWSVF85QVGPJ
bB9cdWH5KbXWKF75/wEAgKX/1+sxwTDmpYo8YmOPvQdEYuBBVMEHVyt1Sjh6FgI=
=2mJV
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 00:20 +0200
Re: [bug#55903] [PATCH 37/41] gnu: Add go-github-com-google-shlex.
082e13797d1980ee60014c85a2a203ea93c2057b.camel@telenet.be
(unmatched-parenthesis via Guix-patches via schreef op za 11-06-2022 om
20:16 [+0100]:
Toggle quote (2 lines)
> +    (version "v0.0.0-20181106134648-c34317bd91bf")

No need to keep v prefixes in the Guix version.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqUVMxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7tlOAP9TdDm9m0H2Wf14kcee9JbjzNU7
HXnFqBxhGRMfaG8alwD/S8EUxOuMoj/yMq6cYOL/YRIAOjCBEGBEdUsS+fYO/gA=
=OIq7
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 00:21 +0200
ff8b03acf192c28b136cba534e6c86c2a7861707.camel@telenet.be
(unmatched-parenthesis via Guix-patches via schreef op za 11-06-2022 om
20:16 [+0100]:
Toggle quote (2 lines)
> * gnu/packages/golang.scm (go-github-com-google-shlex): New variable.

-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqUVgBccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7rlDAQC0p6YlGc8PwKkhNT1Li3q3g36o
ue4m3RtORk1Y2iaBawEAnczspkX0xsmg8uZB77KfYB66Ae/qkGZ1OXn48d1vewk=
=1IH/
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 00:27 +0200
Re: [bug#55903] [PATCH 25/41] gnu: Add go-github-com-protonmail-go-crypto-openpgp.
8bda65b813803639b127a174bbd0a74b3d383858.camel@telenet.be
(unmatched-parenthesis via Guix-patches via schreef op za 11-06-2022 om
20:16 [+0100]:
Toggle quote (6 lines)
> +     "Package crypto provides cryptography for Go.  This version of the
> +package is a fork that adds a more up-to-date OpenPGP implementation.  It
> +is completely backwards compatible with
> +@url{golang.org/x/crypto,the official package}.")
> +    (license license:bsd-3)))

If it's backward compatible, maybe packaging the fork isn't necessary.
Also, packaging all the forks in the world of everything is unscalable,
so I think we need to at least require that forks look into upstreaming
their changes. Likewise for other packages in this patch series that
are forks (if any).

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqUWzxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7iAqAQCD6mkWr2CepIJynNv3rFooSoRg
jWoUFl5IWEjfUhOc5gD/WjG/TQpOYS7aQUmOlbQpfsmWG5KEbQJ/h5QWzOaJEQo=
=QrMU
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 00:28 +0200
Re: [bug#55903] [PATCH 04/41] gnu: Add go-google-golang-org-appengine.
74d0455b26eeba947c3a92ade064617882f888f0.camel@telenet.be
(unmatched-parenthesis via Guix-patches via schreef op za 11-06-2022 om
20:16 [+0100]:
Toggle quote (4 lines)
> +    (description
> +     "Package appengine provides basic functionality for running Go on
> +Google App Engine.")

Guix does not run on Google App Engine AFAIK, so no need to include
this package.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqUXIhccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7lEfAQD9pT6Z8UmtU9oLz/1nQ5TQE5Jh
0WSZMsoP29ZMgTviFwD8CinfNNQhlHqVmVBSao5eoIjAoq31e4a3+F6nYtJCgwI=
=E2Gv
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 00:30 +0200
Re: [bug#55903] [PATCH 02/41] gnu: Add go-github-com-creack-pty.
a10ffaafad076b9c01373f983feacca86b227800.camel@telenet.be
(unmatched-parenthesis via Guix-patches via schreef op za 11-06-2022 om
20:16 [+0100]:
Toggle quote (9 lines)
> +(define-public go-github-com-creack-pty
> +  (package
> +    (name "go-github-com-creack-pty")
> +    (version "1.1.18")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/creack/pty")

This contains generated files:


Please delete, regenerate and check the other new packages as well.

Greetings,
MAxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqUXjxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7kzHAP9d3kYpo0fklI8KBpIBitsrBij8
OFZ27eFnlQ9ot2IkRAD/SuUzcrgCtks28yUwmevjWk7V+pY7ot0HE2eoxK6IlQU=
=94W0
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 00:32 +0200
910089ad5f6afca5812fdd17a77cd1f0bc0db7b1.camel@telenet.be
(unmatched-parenthesis via Guix-patches via schreef op za 11-06-2022 om
20:16 [+0100]:
Toggle quote (2 lines)
> +     "Package pty provides functions for working with Unix pseudoterminals.")

Not grammatical, add ‘The’ before ‘Package’. Also check other
packages.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqUYBRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7i2UAP9fuLC/TBWhdxkcWd9wppjqUVpP
zx258T1CwIbPcS3H0gEA014w/SGDnpDoObUehH6U+RWo6s0xLSpMfs/LtLLioAw=
=d8Nq
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 00:34 +0200
Re: [bug#55903] [PATCHSET] Adding aerc
bb97c4c11e1cb2dadf2e543d228b49a9afdce786.camel@telenet.be
If this superseded https://issues.guix.gnu.org/37444, please close
that issue.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqUYZBccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7rVfAQDMZYpB0cC7ygYyAzPMT9YZsIUt
7YR1sjhqxIgONcSB9AEA2FXuiv2fV+Ds9OzBk/v3bR/TxOE516ZdQdCOMSsYKgc=
=INuv
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 00:35 +0200
Re: [bug#55903] [PATCH 02/41] gnu: Add go-github-com-creack-pty.
eb374749fed8497a821ab4e2cbaafde32c8217f5.camel@telenet.be
(unmatched-parenthesis via Guix-patches via schreef op za 11-06-2022 om
20:16 [+0100]:
Toggle quote (2 lines)
> Signed-off-by: (unmatched-parenthesis <paren@disroot.org>

That's not how we use that in Guix -- search in the manual for
Signed-off-by.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqUYlRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7vp7APsFBsVwlIi1jxlJmlltsgGrIQSA
qUSXYQUUTjC+li7XkAD/aq7dOn8IYA6os2BONiHj2JWivFeNwpaZWgnxyL2r1gI=
=Yu/T
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 00:38 +0200
62368a0ba241a2d35115051cd6aa82efdf102407.camel@telenet.be
(unmatched-parenthesis via Guix-patches via schreef op za 11-06-2022 om
20:16 [+0100]:
Toggle quote (2 lines)
> * gnu/packages/golang.scm (go-github-com-creack-pty): New variable.

In the previous patch series, ‘go-git-sr-ht-sircmpwn-pty’ was used
instead. What is the reason for changing it in the new version of the
patch series? Likewise, why the change from sircmpwn/aerc to
~rjarry/aerc? Likewise for other packages. Likewise, why has the
'wrap-program' been dropped in aerc? Please mention such things in the
cover letter.


Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqUZUhccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7lpYAQDIcqmzzRP+xmZepfrvF3Av+Yn8
aF7OoR2hNS0KmGDJmgD+O/cvbG0wURfXMphPMr/5LKZ7Hm58JJOZ7OoDoOsMPgI=
=serw
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 00:41 +0200
Re: [bug#55903] [PATCH 05/41] gnu: Add go-github-com-xo-terminfo.
7a9ba089c222a94c0a1a5a06164aec7fdf1f9fec.camel@telenet.be
(unmatched-parenthesis via Guix-patches via schreef op za 11-06-2022 om
20:16 [+0100]:
Toggle quote (2 lines)
> immplemented in pure Go

Guix is not a language-specific package manager, it supports working
with multiple languages at the same time, so mentioning ‘it doesn't use
dependencies in other languages’ is usually irrelevant in Guix.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqUaLRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7pWGAP0aCjFMYc6aX01xZmEje0iIgr9w
OHnBPA/wapcCBspIfAD9Fhvof3dgSD4b7Cq1xgZeWjj0mFccRzFD0MWJ6yp/eA8=
=PWVP
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 00:44 +0200
9c463e02ad3e7eeb102643a0c09a7f38795e19fa.camel@telenet.be
(unmatched-parenthesis via Guix-patches via schreef op za 11-06-2022 om
20:16 [+0100]:
Toggle quote (14 lines)
> +(define-public go-github-com-xo-terminfo
> +  (package
> +    (name "go-github-com-xo-terminfo")
> +    (version "0.0.0-20210125001918-ca9a967f8778")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/xo/terminfo")
> +                    (commit (go-version->git-ref version))))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +                "05gdcvcbwcrcwxznhvs1q1xh4irz2d10v2mz179pydjh30kjc0j5"))))

Are the tests actually run? There's a neetwork-accessing test in
so something weird seems to be going on.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqUatxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7r6eAP4giVRurvHx/AzLd2vXcqD6TDsU
FtRbPSlJQyqyevTkqAD/TOiyemluEnggTW87Pe8wxtSZ5/rxASd1E0jcvMIfPws=
=294f
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 00:45 +0200
Re: [bug#55903] [PATCH 09/41] gnu: Add go-github-com-go-ini-ini.
484464c9383fed07197a8ca32738364ba8652cad.camel@telenet.be
(unmatched-parenthesis via Guix-patches via schreef op za 11-06-2022 om
20:16 [+0100]:
Toggle quote (14 lines)
> +(define-public go-github-com-go-ini-ini
> +  (package
> +    (name "go-github-com-go-ini-ini")
> +    (version "1.66.6")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/go-ini/ini")
> +                    (commit (string-append "v" version))))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +                "0kqg13606hnw8f75cb59fsy1m85kiqf3csi2g7q2512avdmaphc9"))))

From a distance, these look like the same thing as go-gopkg-in-ini-v1
or go-gopkg-in-ini? Why the new definition.

Greetings,
Maxime
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqUbEhccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7htFAP9N5pqqyA0fTtwjMC8vDa/ZrfWH
ACYlCRTMfR3SZ9MBPQEAjHshLuPR+2MVYfilBh/6BOsp4lNBMIpspG3cvxFSqAw=
=xSpF
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 00:48 +0200
Re: [bug#55903] [PATCH 15/41] gnu: Add go-github-com-jaytaylor-html2text.
647636b1f84935e787ba0df04a3f5ba0773aa8f4.camel@telenet.be
(unmatched-parenthesis via Guix-patches via schreef op za 11-06-2022 om
20:16 [+0100]:
Toggle quote (3 lines)
> Ensure
> +your emails are readable by all!"

Rather markety. Also: ensure->It ensures that.


Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqUb2BccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7kDRAP9GEYNK9qUS8pPByjQJKF9wSPlj
thPUAFDBU+P2gQcRKgEAppEHeY+mBDEpuSaVeA+/79J/DwsqPh+LSRQ+uN89AQQ=
=W+/S
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 00:49 +0200
dbd482eb456066c99945d1e00d2799153ae886ff.camel@telenet.be
(unmatched-parenthesis via Guix-patches via schreef op za 11-06-2022 om
20:16 [+0100]:
Toggle quote (2 lines)
> +           ;; XXX: Seems to make incorrect assertions about the text it produces?

Please add a link to the upstream bug report, such that future updaters
of the package can easily check whether the issue has been resolved and
hence whether tests can be re-enabled, and such that reviewers can
evaluate whether the bug is likely to be a problem for users.
Likewise for all other new package disabling tests, if any.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqUcERccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7hGIAP0Y8KLbIhMO0HG1u8B03Y80hzPV
d/sYJVrQn16rwbzwaQEAmP1ZYswBgHO96mwJeGMlBe3jca865JX/2qTX5oy9vQk=
=X9XE
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 00:53 +0200
Re: [bug#55903] [PATCH 18/41] gnu: Add go-github-com-jhillyerd-enmime.
44cbee98828cdb05555fab8f3e0e3b7b00785dcb.camel@telenet.be
(unmatched-parenthesis via Guix-patches via schreef op za 11-06-2022 om
20:16 [+0100]:
Toggle quote (2 lines)
> +It's built on top of Go's included mime/multipart support where possible

Implementation detail. AFAICT this is not relevant to users of go-
github-com-jhillyerd-enmime. Instead, maybe you could write about
which MIME things it supports (e.g., does it support reassembly?
mime/alternative? streaming?)?

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqUc0BccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7guxAQCZUudyBse8knF/PR4WT0DVfm7n
rXmhBJSo7oSzQ4NnqwEAzF3t3irNOu40vcohOg/nSXuFfZHisu5QzERdUZEF1ww=
=b+9n
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 00:57 +0200
Re: [bug#55903] [PATCH 19/41] gnu: Add go-github-com-gatherstars-com-jwz.
f8cf245f3b0ea763e4a720b2365d9f72380bf1de.camel@telenet.be
(unmatched-parenthesis via Guix-patches via schreef op za 11-06-2022 om
20:16 [+0100]:
Toggle quote (3 lines)
>
> [...] created by Jamie Zawinski and explained by him at

Packages are packaged in Guix for the convenience of the user, not for
making the author of the software popular. Instead, maybe you could
write a _short_ description on what threading is, what things are taken
in account (In-Reply-To, References, ..), and maybe whether it scales
lineary or exponentially or whatever?

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqUdxxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7iMBAQDGssWGTrzl+rybNghsF+IlUjqW
C0i4JaKu39jG23RNlAEAvOyIvMv1oE8hphVT8YdHLQh3Z1STq8Lpfq210ua9bQM=
=TJT3
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 00:59 +0200
Re: [bug#55903] [PATCH 21/41] gnu: Add go-github-com-emersion-go-message.
e6e6c7a9f65965fe8c4d04ab4522927f22047b1e.camel@telenet.be
(unmatched-parenthesis via Guix-patches via schreef op za 11-06-2022 om
20:16 [+0100]:
Toggle quote (2 lines)
> +     "Package message implements reading and writing multipurpose messages.")

This is rather vague -- what kind of messages? Also grammer, a ‘the’
is missing before ‘Package’ and 'message'. Maybe better: ‘This package
implements ...’.

Greetings,
Maxime
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqUePxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7tFlAQDdHKZLpTczcSF8Luww9LtprWDM
iZpQE7Wxx5yIA8vfjQEAxRxXIM131Tc1SejbnQlPfglNSwsAjUbI3Ck52mro7w8=
=9Y9v
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 01:01 +0200
Re: [bug#55903] [PATCH 24/41] gnu: Add go-github-com-emersion-go-imap-sortthread.
647db6e9820758044894e8c12d89f4a851c934db.camel@telenet.be
(unmatched-parenthesis via Guix-patches via schreef op za 11-06-2022 om
20:16 [+0100]:
Toggle quote (3 lines)
> +    (synopsis "SORT and THREAD for go-imap")
> +    (description "Package sortthread implements SORT and THREAD for go-imap.")

This doesn't really explain anything, except that's it related to
sorting and imap. Needs to be longer and explain what is meant by SORT
and THREAD. Also, it's not named go-imap, but go-github-...-go-imap
here.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqUe3RccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7vArAQCDqsO0vYeCSdC1U49cINh8GmLc
oDX+BzbfdbaX/iPJ1wEA1/TXF4yjTFMUi3NmUC5Weqv/l5+chzjb6zVrwsevAgw=
=QiWO
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 01:02 +0200
Re: [bug#55903] [PATCH 41/41] gnu: Add aerc.
abd2a41b99cd912dd689e8b8ed0959be3928ca9b.camel@telenet.be
(unmatched-parenthesis via Guix-patches via schreef op za 11-06-2022 om
20:16 [+0100]:
Toggle quote (3 lines)
> +    (synopsis "Terminal email client")
> +    (description "@code{aerc} is an email client for your terminal.")

These are both a synopsis. This is rather terse for a description.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqUfGxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7kYCAP0U2+NY3syBUhRsijN2kKT6rm/r
weWH8KyRL+LAj/mLlQD/VYXkKXrRR2PAxbdD8U+k3JjQy+FjKq9b60QkK+rP9g4=
=/FRb
-----END PGP SIGNATURE-----


(
Re: [bug#55903] [PATCH 02/41] gnu: Add go-github-com-creack-pty.
CKO2VFPU18X1.3S9YVQW7H297W@guix-aspire
On Sat Jun 11, 2022 at 11:30 PM BST, Maxime Devos wrote:
Toggle quote (6 lines)
> This contains generated files:
>
> https://github.com/creack/pty/blob/master/ztypes_freebsd_arm.go
>
> Please delete, regenerate and check the other new packages as well.

Good catch, thanks!
(
Re: [bug#55903] [PATCH 03/41] gnu: Add go-google-golang-org-protobuf-proto.
CKO2YSJR99WG.26S5XKQAXCXD1@guix-aspire
On Sat Jun 11, 2022 at 11:19 PM BST, Maxime Devos wrote:
Toggle quote (6 lines)
> go-github-com-gogo-protobuf description mentions: ‘goprotobuf
> compatibility’ (not sure if that refers to API or serialisation format
> though).
> Or: go-github-com-golang-protobuf-proto (looks the same for a distance
> except for domain name).

They're not the same. From https://github.com/golang/protobuf:

Toggle quote (6 lines)
> This module (github.com/golang/protobuf) contains Go bindings for protocol
> buffers. It has been superseded by the google.golang.org/protobuf module,
> which contains an updated and simplified API, support for protobuf reflection,
> and many other improvements. We recommend that new code use the
> google.golang.org/protobuf module.

Toggle quote (2 lines)
> gogoprotobuf is a fork of golang/protobuf with extra code generation features.

which implies that it has golang/protobuf's API, which as mentioned above is not
the same as the google-golang-org one.
(
Re: [bug#55903] [PATCH 04/41] gnu: Add go-google-golang-org-appengine.
CKO31QZ7U42R.UD4RPNLI2APU@guix-aspire
On Sat Jun 11, 2022 at 11:28 PM BST, Maxime Devos wrote:
Toggle quote (3 lines)
> Guix does not run on Google App Engine AFAIK, so no need to include
> this package.

The official descriptions of this package are extraordinarily vague, so this
was my best attempt at estimating what it's for. Seems like it's never imported
in the source code of aerc... I wonder why it's in go.mod. I'll ask #aerc
about this one.
(
Re: [bug#55903] [PATCH 05/41] gnu: Add go-github-com-xo-terminfo.
CKO3293GUDH5.ZRTY8MR66NP@guix-aspire
On Sat Jun 11, 2022 at 11:41 PM BST, Maxime Devos wrote:
Toggle quote (4 lines)
> Guix is not a language-specific package manager, it supports working
> with multiple languages at the same time, so mentioning ‘it doesn't use
> dependencies in other languages’ is usually irrelevant in Guix.

Okay, I'll change that (and fix the typo ;)
(
Re: [bug#55903] [PATCH 09/41] gnu: Add go-github-com-go-ini-ini.
CKO373LKDZFG.12YOQDFVK0F0O@guix-aspire
On Sat Jun 11, 2022 at 11:45 PM BST, Maxime Devos wrote:
Toggle quote (3 lines)
> From a distance, these look like the same thing as go-gopkg-in-ini-v1
> or go-gopkg-in-ini? Why the new definition.

Yes, they are the same (with different versions). aerc's source code uses
the github.com import path, though. I'll replace that package with one
inherited from go-gopkg-in-ini and modified to use the github import path.
(
Re: [bug#55903] [PATCH 15/41] gnu: Add go-github-com-jaytaylor-html2text.
CKO37ODCW6RK.1F74SWU0GNXZQ@guix-aspire
On Sat Jun 11, 2022 at 11:48 PM BST, Maxime Devos wrote:
Toggle quote (2 lines)
> Rather markety. Also: ensure->It ensures that.

Fair enough; this was the description I got when I `guix import`ed it.
(
CKO38U8HFH1E.20O3Y33FZ5YRL@guix-aspire
On Sat Jun 11, 2022 at 11:49 PM BST, Maxime Devos wrote:
Toggle quote (6 lines)
> Please add a link to the upstream bug report, such that future updaters
> of the package can easily check whether the issue has been resolved and
> hence whether tests can be re-enabled, and such that reviewers can
> evaluate whether the bug is likely to be a problem for users.
> Likewise for all other new package disabling tests, if any.

add that link to the comment.
(
Re: [bug#55903] [PATCH 18/41] gnu: Add go-github-com-jhillyerd-enmime.
CKO393VKBZZY.375WX5WD6FYTN@guix-aspire
On Sat Jun 11, 2022 at 11:53 PM BST, Maxime Devos wrote:
Toggle quote (5 lines)
> Implementation detail. AFAICT this is not relevant to users of go-
> github-com-jhillyerd-enmime. Instead, maybe you could write about
> which MIME things it supports (e.g., does it support reassembly?
> mime/alternative? streaming?)?

Noted!
(
Re: [bug#55903] [PATCH 19/41] gnu: Add go-github-com-gatherstars-com-jwz.
CKO3AJTLNGK1.8FU7FBQDYUY7@guix-aspire
On Sat Jun 11, 2022 at 11:57 PM BST, Maxime Devos wrote:
Toggle quote (6 lines)
> Packages are packaged in Guix for the convenience of the user, not for
> making the author of the software popular. Instead, maybe you could
> write a _short_ description on what threading is, what things are taken
> in account (In-Reply-To, References, ..), and maybe whether it scales
> lineary or exponentially or whatever?

Okay, I'll look into it. (The official description doesn't have anything
like that; it just mentions that it's an email threading library using
jwz's algorithm.)
(
Re: [bug#55903] [PATCH 21/41] gnu: Add go-github-com-emersion-go-message.
CKO3CM1H1UY5.1V29I1ZMOO19V@guix-aspire
On Sat Jun 11, 2022 at 11:59 PM BST, Maxime Devos wrote:
Toggle quote (2 lines)
> This is rather vague -- what kind of messages?

Toggle quote (3 lines)
> Also grammer, a ‘the’ is missing before ‘Package’ and 'message'.
> Maybe better: ‘This package implements ...’.

This is standard wording for Go package descriptions: "Package xxx
implements yyy". No, it doesn't make sense :)
(
Re: [bug#55903] [PATCH 24/41] gnu: Add go-github-com-emersion-go-imap-sortthread.
CKO3D5DS75H6.8WK0YT0YVAMM@guix-aspire
On Sun Jun 12, 2022 at 12:01 AM BST, Maxime Devos wrote:
Toggle quote (5 lines)
> This doesn't really explain anything, except that's it related to
> sorting and imap. Needs to be longer and explain what is meant by SORT
> and THREAD. Also, it's not named go-imap, but go-github-...-go-imap
> here.

Noted...
(
Re: [bug#55903] [PATCH 25/41] gnu: Add go-github-com-protonmail-go-crypto-openpgp.
CKO3G991F1VH.LTTWS589JAVT@guix-aspire
On Sat Jun 11, 2022 at 11:27 PM BST, Maxime Devos wrote:
Toggle quote (2 lines)
> If it's backward compatible, maybe packaging the fork isn't necessary.

The _API_ is backwards compatible, but packaging it is necessary because
the OpenPGP implementation is different (although you use it the same way).

Toggle quote (5 lines)
> Also, packaging all the forks in the world of everything is unscalable,
> so I think we need to at least require that forks look into upstreaming
> their changes. Likewise for other packages in this patch series that
> are forks (if any).

Go packaging is a bit crazy, seems like this kind of fork overuse is common.
Sadly, it's usually necessary to package the forks. (There'll be a reason
they're using the forks in the first place...)
(
Re: [bug#55903] [PATCH 37/41] gnu: Add go-github-com-google-shlex.
CKO3GP7W2PCM.30MUQBZWGTCY0@guix-aspire
On Sat Jun 11, 2022 at 11:20 PM BST, Maxime Devos wrote:
Toggle quote (2 lines)
> No need to keep v prefixes in the Guix version.

Oops! Thanks.
(
Re: [bug#55903] [PATCH 41/41] gnu: Add aerc.
CKO3HOD63BCZ.1N3QY6YSNX9K0@guix-aspire
On Sun Jun 12, 2022 at 12:02 AM BST, Maxime Devos wrote:
Toggle quote (2 lines)
> These are both a synopsis. This is rather terse for a description.

Okay, I'll expand on that. Thanks for the review :D
(
Re: [bug#55903] [PATCHSET] Adding aerc
CKO3I43GRSMH.SLZ2LMQGH0GZ@guix-aspire
On Sat Jun 11, 2022 at 11:34 PM BST, Maxime Devos wrote:
Toggle quote (3 lines)
> If this superseded https://issues.guix.gnu.org/37444, please close
> that issue.

Oh, I thought only certain people (ludovic etc) could do that. Thanks!
(
Re: [bug#55903] [PATCH 02/41] gnu: Add go-github-com-creack-pty.
CKO5DR42LQZP.2MM2W72PQG2EM@guix-aspire
On Sat Jun 11, 2022 at 11:35 PM BST, Maxime Devos wrote:
Toggle quote (3 lines)
> That's not how we use that in Guix -- search in the manual for
> Signed-off-by.

Oops, forgot that we don't sign-off when I wrote that commit.
(
CKO5EB8EEJB0.1893AZRTJVR9U@guix-aspire
On Sat Jun 11, 2022 at 11:32 PM BST, Maxime Devos wrote:
Toggle quote (3 lines)
> Not grammatical, add ‘The’ before ‘Package’. Also check other
> packages.

As mentioned before, this pattern is extremely common in Go package
descriptions.
(
CKO5Q2L0RQ2K.1313FS3DW986D@guix-aspire
On Sat Jun 11, 2022 at 11:38 PM BST, Maxime Devos wrote:
Toggle quote (2 lines)
> In the previous patch series, ‘go-git-sr-ht-sircmpwn-pty’ was used

Presumably sircmpwn-pty was a temporary fork done for one reason or
another. The go.mod now uses creack-pty.

Toggle quote (2 lines)
> Likewise, why the change from sircmpwn/aerc to ~rjarry/aerc?

Drew DeVault stopped maintaining aerc, so rjarry forked it -.o.-

Toggle quote (2 lines)
> Likewise, why has the 'wrap-program' been dropped in aerc?

Not sure why that wrap-program was there in the first place. Maybe
aerc invoked some ncurses program at one point? Strange thing to do.
Anyway, the PATH change isn't required anymore, so the wrap-program
isn't either. aerc *does* invoke colordiff for displaying some
messages, but I'm pretty sure that invoked programs shouldn't

Toggle quote (2 lines)
> Please mention such things in the cover letter.

This patchset was actually done from scratch; I didn't include any
of the original code, and I hadn't actually looked at it, since aerc
has changed quite a lot.
(
Re: [bug#55903] [PATCH 04/41] gnu: Add go-google-golang-org-appengine.
CKO5R7AFGCVT.10WA1BZYDSE37@guix-aspire
On Sat Jun 11, 2022 at 11:28 PM BST, Maxime Devos wrote:
Toggle quote (3 lines)
> Guix does not run on Google App Engine AFAIK, so no need to include
> this package.

Tested it without the appengine package in inputs, and it builds fine,
so I'll remove that one :)
M
M
Maxime Devos wrote on 12 Jun 14:38 +0200
Re: [bug#55903] [PATCH 03/41] gnu: Add go-google-golang-org-protobuf-proto.
b0128dbb2ba5a6b7f5fba62ec4e4a4075fc3abf5.camel@telenet.be
( schreef op zo 12-06-2022 om 11:23 [+0100]:
Toggle quote (10 lines)
> They're not the same. From https://github.com/golang/protobuf:
>
> > This module (github.com/golang/protobuf) contains Go bindings for protocol
> > buffers. It has been superseded by the google.golang.org/protobuf module,
> > which contains an updated and simplified API, support for protobuf reflection,
> > and many other improvements. We recommend that new code use the
> > google.golang.org/protobuf module.
>
> and from https://github.com/gogo/protobuf:

As these questions keeps popping up again, maybe this is info to put in
the package descriptions of go-github-com-gogo-protobuf, go-github-com-
golang-protobuf-proto and go-google-golang-org-protobuf-proto?

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqXeMxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7g+nAP0WrzD57Zg6/3KB7uUlp0N/HVMT
w7P5PDv0QquNKhbPcgD9F2kOASA+169NKodMcTS1Z0wA+3EPXdjFH44HuIK3AQA=
=Yd5s
-----END PGP SIGNATURE-----


(
CKO5XOUJF0P5.1E97VU9QNSKYL@guix-aspire
On Sun Jun 12, 2022 at 1:38 PM BST, Maxime Devos wrote:
Toggle quote (4 lines)
> As these questions keeps popping up again, maybe this is info to put in
> the package descriptions of go-github-com-gogo-protobuf, go-github-com-
> golang-protobuf-proto and go-google-golang-org-protobuf-proto?

Good idea.
M
M
Maxime Devos wrote on 12 Jun 14:53 +0200
Re: [bug#55903] [PATCH 25/41] gnu: Add go-github-com-protonmail-go-crypto-openpgp.
a8f8034efd3705f184bd9112589d8acbca13fef2.camel@telenet.be
( schreef op zo 12-06-2022 om 11:46 [+0100]:
Toggle quote (11 lines)
> On Sat Jun 11, 2022 at 11:27 PM BST, Maxime Devos wrote:
> > If it's backward compatible, maybe packaging the fork isn't necessary.
>
> The _API_ is backwards compatible, but packaging it is necessary because
> the OpenPGP implementation is different (although you use it the same way).
>
> [...]
> Go packaging is a bit crazy, seems like this kind of fork overuse is
> common. Sadly, it's usually necessary to package the forks. (There'll
> be a reason they're using the forks in the first place...)

It's not necessary to package the forks if the fork is merged back
upstream, and we can refuse to package impacted packages until things
improve. Or if upstream is unmaintained, point the
go-golang-org-x-crypto package at the protonmail fork (*). Go
packaging needs to become less cracy. We don't have to participate in
spreading the dependency hell.

(*) Looking at
the reason appears to be a lack of maintaining, but looking at
https://go.googlesource.com/crypto/, upstream appears to be active
again, so AFAICT they don't have a reason anymore.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqXh2BccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7sRRAQCZfL75n5DqJXrFthrqf1sXEHZI
yl4Z8bOyB6Khd4WQ6gD9EYggw/b0qUI2cM42Xref5K3X27uaRT3eoiqSSOs7Sw4=
=w2cL
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 14:59 +0200
Re: [bug#55903] [PATCH 21/41] gnu: Add go-github-com-emersion-go-message.
13d9184f8b62622400c2b477071ae75987288a07.camel@telenet.be
( schreef op zo 12-06-2022 om 11:41 [+0100]:
Toggle quote (3 lines)
> This is standard wording for Go package descriptions: "Package xxx
> implements yyy". No, it doesn't make sense :)

This documentation bug is common. That doesn't make it correct (*,**).
Even if it was standard, standard can be incorrect and subject to
improving. If a practice doesn't make sense, then that practice needs
to be changed.

(*) Lack of an article is not incorrect per se, but we don't have space
limitations in the description field, so no need to compress the
description by leaving out articles.

(**) E.g., there is a wide-spread (standard?) cross-compilation bug in
the use of 'wrap-program', which is more often than not used
incorrectly, see https://issues.guix.gnu.org/49327. This does not
make it somehow correct.

Greetings,
Maxime
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqXjNBccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7oCjAP9lSNRXCwqfbLT2CTDmU+DsZbQX
RI/iFb6wjZxCeFdVugEApRJcb1WH30odQPKGE3/pEhtkPOrC4wDcGECLYJz51A4=
=WK5Z
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 15:00 +0200
Re: [bug#55903] [PATCH 02/41] gnu: Add go-github-com-creack-pty.
920ba622f73291c43ee1f271be417b71be455322.camel@telenet.be
( schreef op zo 12-06-2022 om 13:33 [+0100]:
Toggle quote (4 lines)
> This patchset was actually done from scratch; I didn't include any
> of the original code, and I hadn't actually looked at it, since aerc
> has changed quite a lot.

Ok.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqXjiRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7uQSAP0TQn9rokJtyrg5gEamaJfcg71Q
hf7Nq0hviE2Ly4dCkAD+Iw78XGGddhV7qumy5ycZJ1337ygR2O2wjSt+14oEKAs=
=Peb2
-----END PGP SIGNATURE-----


(
Re: [bug#55903] [PATCH 25/41] gnu: Add go-github-com-protonmail-go-crypto-openpgp.
CKO6KYN6A9L5.12S4T2DUPQQ88@guix-aspire
On Sun Jun 12, 2022 at 1:53 PM BST, Maxime Devos wrote:
Toggle quote (2 lines)
> we can refuse to package impacted packages until things improve.

I'm not sure boycotting packages is a good idea... If we did that, there'd
be a _lot_ of useful Rust and Go packages that we'd be refusing to package.
Anyway, I think it'd probably just drive people even further away from
distribution package management towards the "modern" (read: insecure,
bloated, and inherently flawed) stuff like Docker and Flatpak.

Toggle quote (3 lines)
> Or if upstream is unmaintained, point the go-golang-org-x-crypto package
> at the protonmail fork.

Seems a little risky just to avoid packaging one fork. It's possible the two
have diverged since the protonmail version was created, too.

Toggle quote (3 lines)
> Go packaging needs to become less cracy. We don't have to participate
> in spreading the dependency hell.

I agree! It's an awful situation created by fundumentally borked dependency
management systems. But I don't see anything we can do about it other than
try to convince people that carelessly adding dependencies is Not A Good
Idea.
(
Re: [bug#55903] [PATCH 21/41] gnu: Add go-github-com-emersion-go-message.
CKO6LW5Y63KY.5WAAX6Y08FPP@guix-aspire
On Sun Jun 12, 2022 at 1:59 PM BST, Maxime Devos wrote:
Toggle quote (5 lines)
> This documentation bug is common. That doesn't make it correct (*,**).
> Even if it was standard, standard can be incorrect and subject to
> improving. If a practice doesn't make sense, then that practice needs
> to be changed.

Okay then. I'll change that wording.
M
M
Maxime Devos wrote on 12 Jun 15:40 +0200
Re: [bug#55903] [PATCH 25/41] gnu: Add go-github-com-protonmail-go-crypto-openpgp.
c4c3b8f5b1457fe93c667e225f93584d7f144b73.camel@telenet.be
( schreef op zo 12-06-2022 om 14:13 [+0100]:
Toggle quote (5 lines)
> On Sun Jun 12, 2022 at 1:53 PM BST, Maxime Devos wrote:
> > we can refuse to package impacted packages until things improve.
>
> I'm not sure boycotting packages is a good idea... If we did that,

It doesn't have to boycotting. E.g., the packager could talk with
upstream to look into upstreaming things, helping with preparing the
remaining changes for submitting upstream, submit them, etc.

Toggle quote (3 lines)
> there'd be a _lot_ of useful Rust and Go packages that we'd be
> refusing to package.

FWIW, Rust doesn't seem to do forking much, if at all. And the
multiple-version dependencies thing for a large part disappears with
antioxidant, and in my experience if you send some patches for updating
crates to make some changes for compatibility with newer versions etc.,
the maintainers seem agreeable (and often, albeit not always, the
patches are rather simple), and to a large degree (albeit not always)
upstream does the ‘update to new versions’ things by theirselves.

Also, maybe this would be a lot of Go packages. But things aren't
going to fix theirselves by ignoring the problems.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqXszhccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7sSdAQCkqt1tBiJtvusAEj1O3idb5gZn
BjoK6cTHIDiydINoyAD/f/XQsJwpShROWvwFdBD6f0FarSqSOxiKlgYjdgsgnAE=
=/gbB
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 12 Jun 15:57 +0200
4d3af1c869ccdeded6e7b9990941218e6364df78.camel@telenet.be
( schreef op zo 12-06-2022 om 14:13 [+0100]:
Toggle quote (2 lines)
> Seems a little risky just to avoid packaging one fork

It's not about _one_ fork, it's about forks in general.
And wasn't it backwards compatible? And no need the slightly risky
‘point the go-golang-org-x-crypto package at protonmail’ if it is
upstreamed instead.

Toggle quote (5 lines)
> Anyway, I think it'd probably just drive people even further away
> from distribution package management towards the "modern" (read:
> insecure, bloated, and inherently flawed) stuff like Docker and
> Flatpak.

At some point, if people shoot theirselves in the foot by being misled
by other projects, that's not something Guix can help with avoiding I
think. (Unless someone wants to start an awareness campaign?)

Anyway, I don't follow -- your proposal is to include all the forks
where used by upstream, which leads to insecurity because:

* more packages -> more complexity -> more difficult to do changes
* more packages -> more packages that can be out-of-date
* more forks -> more forks that might be unmaintained and hence be at
risk of being known-insecure by attackers without an update
available
* more packages -> more packages that need to be updated -> less time
for structural improvement on security
* more packages -> more opportunity for malware to enter.

and also:

* more packages that +- do the same thing -> bloat

So from here, the proposal implies making packaging in Guix worse in
some aspects, such that people don't use other system's that are bad in
the same aspects ... I don't think it's a good idea to start a ‘race
to the bottom’ [0].


Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqXw0hccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7iTWAP4hTOGSwH6jp5rzjH2m2KxKkZcs
gEbcSFDyu/dgzflKgwD/as6S/emLYONgxypI4kAhuD5EcXprmGIy5ic70ZAX3QI=
=B/K4
-----END PGP SIGNATURE-----


(
CKOA8P0HSBG9.2PTWCSOSEYGO8@guix-aspire
Okay, when I tried to replace x/crypto with a shim that inherits from
protonmail/crypto, the build of emersion/pgpmail failed. Looks like
protonmail/crypto actually mostly just reexports x/crypto, except for
the parts that it changes. So, sadly, there is no way we can get rid
of this fork.

I also stumbled across this that indicates that the protonmail version
might not actually be as backwards-compatible as it claims to be:

I think I've now addressed all your review points. I'll be sending in
a new patchset soon :)
(
[PATCH v2 01/35] gnu: Add go-github-com-zenhack-go-notmuch.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-1-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-zenhack-go-notmuch): New
variable.
---
gnu/packages/golang.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (52 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 61c29be116..6f1ed9eda2 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -34,6 +34,7 @@
 ;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
 ;;; Copyright © 2021 Lu Hui <luhux76@gmail.com>
 ;;; Copyright © 2022 Pier-Hugues Pellerin <phpellerin@gmail.com>
+;;; Copyright © 2022 (unmatched parenthesis <paren@disroot.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -69,6 +70,7 @@ (define-module (gnu packages golang)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages lua)
+  #:use-module (gnu packages mail)
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages password-utils)
   #:use-module (gnu packages pcre)
@@ -9834,3 +9836,29 @@ (define-public go-github-com-google-go-jsonnet
 production-ready implementation, compatible with the original Jsonnet C++
 implementation.")
     (license license:asl2.0)))
+
+(define-public go-github-com-zenhack-go-notmuch
+  (package
+    (name "go-github-com-zenhack-go-notmuch")
+    (version "0.0.0-20211022191430-4d57e8ad2a8b")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/zenhack/go.notmuch")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1j2s5smjf7pp7i72dw12sm9iz961y3cy8nkm7hmrg53f6wna57h9"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/zenhack/go.notmuch"
+           ;; XXX: Tests require you to download fixtures from the Internet.
+           ;; See <https://github.com/zenhack/go.notmuch/blob/master/Makefile>.
+           #:tests? #f))
+    (propagated-inputs (list notmuch))
+    (home-page "https://github.com/zenhack/go.notmuch")
+    (synopsis "Go bindings to libnotmuch")
+    (description "The notmuch package provides a Go language binding to the
+notmuch email library.")
+    (license license:gpl3+)))
-- 
2.36.1
(
[PATCH v2 03/35] gnu: Add go-google-golang-org-protobuf.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-3-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-google-golang-org-protobuf): New variable.
---
gnu/packages/golang.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (51 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 50b7ac2e23..bec0a2b95b 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -56,6 +56,7 @@ (define-module (gnu packages golang)
   #:use-module (guix utils)
   #:use-module ((guix build utils) #:select (alist-replace))
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module (guix packages)
   #:use-module (guix build-system gnu)
@@ -9925,3 +9926,36 @@ (define-public go-github-com-creack-pty
     (description
      "The pty package provides functions for working with Unix pseudoterminals.")
     (license license:expat)))
+
+(define-public go-google-golang-org-protobuf
+  (package
+    (name "go-google-golang-org-protobuf")
+    (version "1.28.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://go.googlesource.com/protobuf")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1nzcc4qc00afi24nb7nlnwyzvvr6b8s8qdrn1sw085nygh2y2x8r"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "google.golang.org/protobuf"
+           #:tests? #f ; source-only package
+           #:phases #~(modify-phases %standard-phases
+                        ;; source-only package
+                        (delete 'build))))
+    (propagated-inputs (list go-github-com-google-go-cmp-cmp
+                             go-github-com-golang-protobuf-proto))
+    (home-page "https://google.golang.org/protobuf")
+    (synopsis "Go library for Protocol Buffers")
+    (description
+     "The protobuf package provides a Go implementation of Protocol Buffers, a
+language and platform neutral, extensible mechanism for serializing structured
+data.
+
+This package is a successor to @code{go-github-com-golang-protobuf} with an
+improved and cleaner API.")
+    (license license:bsd-3)))
-- 
2.36.1
(
[PATCH v2 04/35] gnu: Add go-github-com-xo-terminfo.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-4-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-xo-terminfo): New variable.
---
gnu/packages/golang.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index bec0a2b95b..9382aeb7ee 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -9959,3 +9959,25 @@ (define-public go-google-golang-org-protobuf
 This package is a successor to @code{go-github-com-golang-protobuf} with an
 improved and cleaner API.")
     (license license:bsd-3)))
+
+(define-public go-github-com-xo-terminfo
+  (package
+    (name "go-github-com-xo-terminfo")
+    (version "0.0.0-20210125001918-ca9a967f8778")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/xo/terminfo")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "05gdcvcbwcrcwxznhvs1q1xh4irz2d10v2mz179pydjh30kjc0j5"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/xo/terminfo"))
+    (home-page "https://github.com/xo/terminfo")
+    (synopsis "Read the terminfo database in Go")
+    (description
+     "The terminfo package implements terminfo database reading for Go.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 02/35] gnu: Add go-github-com-creack-pty.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-2-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-creack-pty): New variable.
---
gnu/packages/golang.scm | 63 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)

Toggle diff (80 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 6f1ed9eda2..50b7ac2e23 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -86,6 +86,23 @@ (define-module (gnu packages golang)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
+(define (gnu-triplet->go-architecture target)
+  (letrec-syntax
+      ((matches (syntax-rules (=>)
+                  ((_ (target-prefix => architecture) rest ...)
+                   (if (string-prefix? target-prefix target)
+                     architecture
+                     (matches rest ...)))
+                  ((_) (error "unsupported target" target)))))
+    (matches ("x86_64"      => "amd64")
+             ("i686"        => "386")
+             ("aarch64"     => "arm64")
+             ("arm"         => "arm")
+             ("powerpc64le" => "ppc64le")
+             ("powerpc"     => "ppc")
+             ("mips64el"    => "mips64le")
+             ("riscv64"     => "riscv64"))))
+
 ;; According to https://golang.org/doc/install/gccgo, gccgo-4.8.2 includes a
 ;; complete go-1.1.2 implementation, gccgo-4.9 includes a complete go-1.2
 ;; implementation, and gccgo-5 a complete implementation of go-1.4.  Ultimately
@@ -9862,3 +9879,49 @@ (define-public go-github-com-zenhack-go-notmuch
     (description "The notmuch package provides a Go language binding to the
 notmuch email library.")
     (license license:gpl3+)))
+
+(define-public go-github-com-creack-pty
+  (package
+    (name "go-github-com-creack-pty")
+    (version "1.1.18")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/creack/pty")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1qqhcgfym0napz8damj7dhfw28g2qn2f5h3lr93i0sxawq926yzc"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/creack/pty"
+           #:modules '((ice-9 popen)
+                       (ice-9 textual-ports)
+                       (guix build go-build-system)
+                       (guix build utils))
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'regenerate-types
+                 (lambda* (#:key import-path #:allow-other-keys)
+                   ;; Generated files are included (ztypes_*). We need to remake
+                   ;; them with Cgo.
+                   (with-directory-excursion (string-append "src/" import-path)
+                     (let* ((go-arch
+                             #$(gnu-triplet->go-architecture
+                                (or (%current-target-system)
+                                    (nix-system->gnu-triplet (%current-system)))))
+                            (file (string-append "ztypes_" go-arch ".go"))
+                            (pipe (open-input-pipe "go tool cgo -godefs types.go"))
+                            (text (get-string-all pipe)))
+                       (close-pipe pipe)
+                       (for-each delete-file
+                         (find-files (getcwd) (file-name-predicate
+                                               "ztypes_[a-zA-Z0-9_]+.go")))
+                       (with-output-to-file file
+                         (lambda () (display text))))))))))
+    (home-page "https://github.com/creack/pty")
+    (synopsis "Pseudoterminal handling in Go")
+    (description
+     "The pty package provides functions for working with Unix pseudoterminals.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 06/35] gnu: Add go-github-com-miolini-datacounter.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-6-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-miolini-datacounter): New
variable.
---
gnu/packages/golang.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index c51e0a541f..853f752fc7 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10007,3 +10007,25 @@ (define-public go-github-com-riywo-loginshell
      "The loginshell package provides a Go library to get the login shell
 of the current user.")
     (license license:expat)))
+
+(define-public go-github-com-miolini-datacounter
+  (package
+    (name "go-github-com-miolini-datacounter")
+    (version "1.0.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/miolini/datacounter")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0s1hxqy6666qd524rdp1dr3778davc8gx9brg9lkcjvr5l05s9wa"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/miolini/datacounter"))
+    (home-page "https://github.com/miolini/datacounter")
+    (synopsis "Counters for Go readers and writers")
+    (description "The datacounter package provides counters for Go readers
+and writers.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 07/35] gnu: Add go-github-com-kyoh86-xdg.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-7-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-kyoh86-xdg): New variable.
---
gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 853f752fc7..6ed965a290 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10029,3 +10029,27 @@ (define-public go-github-com-miolini-datacounter
     (description "The datacounter package provides counters for Go readers
 and writers.")
     (license license:expat)))
+
+(define-public go-github-com-kyoh86-xdg
+  (package
+    (name "go-github-com-kyoh86-xdg")
+    (version "1.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/kyoh86/xdg")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0a5nz53fdz1c2qvwlf2dpjdd72nxri95i6q4b07c37kiipgaxncn"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/kyoh86/xdg"))
+    (home-page "https://github.com/kyoh86/xdg")
+    (synopsis "XDG base directories for Go")
+    (description
+     "The xdg package provides lightweight helper functions in Go to get
+config, data and cache directories according to the XDG Base Directory
+Specification.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 05/35] gnu: Add go-github-com-riywo-loginshell.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-5-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-riywo-loginshell): New
variable.
---
gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 9382aeb7ee..c51e0a541f 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -9981,3 +9981,29 @@ (define-public go-github-com-xo-terminfo
     (description
      "The terminfo package implements terminfo database reading for Go.")
     (license license:expat)))
+
+(define-public go-github-com-riywo-loginshell
+  (package
+    (name "go-github-com-riywo-loginshell")
+    (version "0.0.0-20200815045211-7d26008be1ab")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/riywo/loginshell")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "138yvis6lipw9x02jyiz7472bxi20206bcfikcar54i3xsww9q4i"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/riywo/loginshell"
+           ;; Tests try to get the current user's login shell; the build
+           ;; user doesn't have one.
+           #:tests? #f))
+    (home-page "https://github.com/riywo/loginshell")
+    (synopsis "Get the user's login shell in Go")
+    (description
+     "The loginshell package provides a Go library to get the login shell
+of the current user.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 08/35] gnu: Add go-github-com-go-ini-ini.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-8-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-go-ini-ini): New variable.
---
gnu/packages/golang.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 6ed965a290..ebc3a27686 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10053,3 +10053,24 @@ (define-public go-github-com-kyoh86-xdg
 config, data and cache directories according to the XDG Base Directory
 Specification.")
     (license license:expat)))
+
+;;; XXX: Since commit bfb61065f05a6eac0cf63b16db43d0c3e864c658, the
+;;; canonical name of the ini package is `go-github-com-go-ini-ini`,
+;;; not `go-gopkg-in-ini`.
+(define-public go-github-com-go-ini-ini
+  (package
+    (inherit go-gopkg-in-ini)
+    (name "go-github-com-go-ini-ini")
+    (version "1.66.6")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/go-ini/ini")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0kqg13606hnw8f75cb59fsy1m85kiqf3csi2g7q2512avdmaphc9"))))
+    (arguments
+     (list #:import-path "github.com/go-ini/ini"))
+    (propagated-inputs (list go-github-com-stretchr-testify))))
-- 
2.36.1
(
[PATCH v2 10/35] gnu: Add go-github-com-rivo-uniseg.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-10-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-rivo-uniseg): New variable.
---
gnu/packages/golang.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 70ebb2f828..73b31b236b 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10099,3 +10099,28 @@ (define-public go-github-com-lucasb-eyer-go-colorful
 colorful stores colors in RGB and provides methods for converting these to
 various color spaces.")
     (license license:expat)))
+
+(define-public go-github-com-rivo-uniseg
+  (package
+    (name "go-github-com-rivo-uniseg")
+    (version "0.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/rivo/uniseg")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0j7h22vfmjj562vr8gpsyrkrwp1pq9ayh5fylv24skxb467g9f0q"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/rivo/uniseg"))
+    (home-page "https://github.com/rivo/uniseg")
+    (synopsis "Unicode text segmentation for Go")
+    (description
+     "The uniseg package provides a tool to iterate over grapheme clusters.
+This may be used to determine the number of user-perceived characters, to
+split strings in their intended places, or to extract individual characters
+which form a unit.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 09/35] gnu: Add go-github-com-lucasb-eyer-go-colorful.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-9-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-lucasb-eyer-go-colorful): New
variable.
---
gnu/packages/golang.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index ebc3a27686..70ebb2f828 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10074,3 +10074,28 @@ (define-public go-github-com-go-ini-ini
     (arguments
      (list #:import-path "github.com/go-ini/ini"))
     (propagated-inputs (list go-github-com-stretchr-testify))))
+
+(define-public go-github-com-lucasb-eyer-go-colorful
+  (package
+    (name "go-github-com-lucasb-eyer-go-colorful")
+    (version "1.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/lucasb-eyer/go-colorful")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "08c3fkf27r16izjjd4w94xd1z7w1r4mdalbl53ms2ka2j465s3qs"))))
+    (build-system go-build-system)
+    (inputs (list go-golang-org-x-image))
+    (arguments
+     (list #:import-path "github.com/lucasb-eyer/go-colorful"))
+    (home-page "https://github.com/lucasb-eyer/go-colorful")
+    (synopsis "Library for playing with colors in Go")
+    (description
+     "The colorful package providos a library for using colors in Go.
+colorful stores colors in RGB and provides methods for converting these to
+various color spaces.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 11/35] gnu: Add go-github-com-rivo-tview.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-11-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-rivo-tview): New variable.
---
gnu/packages/golang.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 73b31b236b..a054a9aeb6 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10124,3 +10124,33 @@ (define-public go-github-com-rivo-uniseg
 split strings in their intended places, or to extract individual characters
 which form a unit.")
     (license license:expat)))
+
+(define-public go-github-com-rivo-tview
+  (package
+    (name "go-github-com-rivo-tview")
+    (version "0.0.0-20220307222120-9994674d60a8")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/rivo/tview")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0594ishcsd582apbz8jvhz8dg5i7nvyl3k6b6bzprf3z5kmsy9vk"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/rivo/tview"))
+    (propagated-inputs (list go-golang-org-x-term
+                             go-golang-org-x-sys
+                             go-github-com-rivo-uniseg
+                             go-github-com-mattn-go-runewidth
+                             go-github-com-lucasb-eyer-go-colorful
+                             go-github-com-gdamore-tcell-v2))
+    (home-page "https://github.com/rivo/tview")
+    (synopsis "Rich Interactive Widgets for Terminal UIs")
+    (description
+     "The tview package implements rich widgets for terminal based user
+interfaces.  The widgets provided with this package are useful for data
+exploration and data entry.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 12/35] gnu: Add go-github-com-ssor-bom.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-12-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-ssor-bom): New variable.
---
gnu/packages/golang.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index a054a9aeb6..23c12ea247 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10154,3 +10154,26 @@ (define-public go-github-com-rivo-tview
 interfaces.  The widgets provided with this package are useful for data
 exploration and data entry.")
     (license license:expat)))
+
+(define-public go-github-com-ssor-bom
+  (package
+    (name "go-github-com-ssor-bom")
+    (version "0.0.0-20170718123548-6386211fdfcf")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/ssor/bom")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "09g5496ifwqxqclh2iw58plcwcz0sczlnxwqxzwmnl4shdl371ld"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/ssor/bom"))
+    (home-page "https://github.com/ssor/bom")
+    (synopsis "Cleaning BOMs in Go")
+    (description
+     "The bom package provides small tools for cleaning BOMs from a byte
+array or reader.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 14/35] gnu: Add go-github-com-jaytaylor-html2text.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-14-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-jaytaylor-html2text): New
variable.
---
gnu/packages/golang.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 3912e0225d..7155750c02 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10199,3 +10199,31 @@ (define-public go-github-com-gogs-chardet
     (description "The chardet package ports character set detection from
 ICU to Go.")
     (license license:expat)))
+
+(define-public go-github-com-jaytaylor-html2text
+  (package
+    (name "go-github-com-jaytaylor-html2text")
+    (version "0.0.0-20211105163654-bc68cce691ba")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/jaytaylor/html2text")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "12ckgkp8xqgp0fh6019nwp4ssg2k1rv1a67cpk37ian4q5zrvppm"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/jaytaylor/html2text"
+           ;; Tests are broken: <https://github.com/jaytaylor/html2text/issues/53>
+           #:tests? #f))
+    (propagated-inputs (list go-golang-org-x-net
+                             go-github-com-olekukonko-tablewriter
+                             go-github-com-ssor-bom))
+    (home-page "https://github.com/jaytaylor/html2text")
+    (synopsis "Convert HTML emails to text")
+    (description
+     "The html2text package converts HTML emails to plain text, allowing
+text-only mail clients to display them.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 13/35] gnu: Add go-github-com-gogs-chardet.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-13-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-gogs-chardet): New variable.
---
gnu/packages/golang.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 23c12ea247..3912e0225d 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10177,3 +10177,25 @@ (define-public go-github-com-ssor-bom
      "The bom package provides small tools for cleaning BOMs from a byte
 array or reader.")
     (license license:expat)))
+
+(define-public go-github-com-gogs-chardet
+  (package
+    (name "go-github-com-gogs-chardet")
+    (version "0.0.0-20211120154057-b7413eaefb8f")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/gogs/chardet")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "12j8q5wc9m4n51v2j2m40nahqdl9bh3hzpdp26clzq91kc2amiz0"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/gogs/chardet"))
+    (home-page "https://github.com/gogs/chardet")
+    (synopsis "Character set detection for Go")
+    (description "The chardet package ports character set detection from
+ICU to Go.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 16/35] gnu: Add go-github-com-cention-sany-utf7.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-16-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-cention-sany-utf7): New
variable.
---
gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index ff6cb664c7..8ba54faa24 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10251,3 +10251,27 @@ (define-public go-github-com-go-test-deep
 reflect.DeepEqual but returns a list of differences.  This is helpful
 when comparing complex types like structures and maps.")
     (license license:expat)))
+
+(define-public go-github-com-cention-sany-utf7
+  (package
+    (name "go-github-com-cention-sany-utf7")
+    (version "0.0.0-20170124080048-26cad61bd60a")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/cention-sany/utf7")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1jy15ryfcln1iwchrksqyrnyfy41gisymm4f9sr1d73ja029bznm"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/cention-sany/utf7"))
+    (propagated-inputs (list go-golang-org-x-text))
+    (home-page "https://github.com/cention-sany/utf7")
+    (synopsis "UTF-7 for Go")
+    (description
+     "The utf7 package provides support for the obsolete UTF-7 text
+encoding in Go.")
+    (license license:bsd-3)))
-- 
2.36.1
(
[PATCH v2 15/35] gnu: Add go-github-com-go-test-deep.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-15-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-go-test-deep): New variable.
---
gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 7155750c02..ff6cb664c7 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10227,3 +10227,27 @@ (define-public go-github-com-jaytaylor-html2text
      "The html2text package converts HTML emails to plain text, allowing
 text-only mail clients to display them.")
     (license license:expat)))
+
+(define-public go-github-com-go-test-deep
+  (package
+    (name "go-github-com-go-test-deep")
+    (version "1.0.8")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/go-test/deep")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1mmw2w3by7y24jjpjwmf2gfl08c65jihn3si9m0sswmagmdsk8q0"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/go-test/deep"))
+    (home-page "https://github.com/go-test/deep")
+    (synopsis "Human-friendly deep variable equality in Go")
+    (description
+     "The deep package provides the deep.Equal function which is like
+reflect.DeepEqual but returns a list of differences.  This is helpful
+when comparing complex types like structures and maps.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 17/35] gnu: Add go-github-com-jhillyerd-enmime.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-17-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-jhillyerd-enmime): New
variable.
---
gnu/packages/golang.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 8ba54faa24..30a600bffe 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10275,3 +10275,38 @@ (define-public go-github-com-cention-sany-utf7
      "The utf7 package provides support for the obsolete UTF-7 text
 encoding in Go.")
     (license license:bsd-3)))
+
+(define-public go-github-com-jhillyerd-enmime
+  (package
+    (name "go-github-com-jhillyerd-enmime")
+    (version "0.9.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/jhillyerd/enmime")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "124dqm598phbmalyx2gmxk201z9kq4ckvvdq8rc0akjlp24nxqbb"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/jhillyerd/enmime"))
+    (propagated-inputs (list go-golang-org-x-text
+                             go-golang-org-x-net
+                             go-github-com-stretchr-testify
+                             go-github-com-ssor-bom
+                             go-github-com-rivo-uniseg
+                             go-github-com-pkg-errors
+                             go-github-com-olekukonko-tablewriter
+                             go-github-com-mattn-go-runewidth
+                             go-github-com-gogs-chardet
+                             go-github-com-jaytaylor-html2text
+                             go-github-com-go-test-deep
+                             go-github-com-cention-sany-utf7))
+    (home-page "https://github.com/jhillyerd/enmime")
+    (synopsis "MIME encoder and decoder for Go")
+    (description
+     "The enmime package implements a MIME encoding and decoding
+library geared towards parsing MIME encoded emails.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 18/35] gnu: Add go-github-com-gatherstars-com-jwz.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-18-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-gatherstars-com-jwz): New
variable.
---
gnu/packages/golang.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 30a600bffe..535f082f76 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10310,3 +10310,30 @@ (define-public go-github-com-jhillyerd-enmime
      "The enmime package implements a MIME encoding and decoding
 library geared towards parsing MIME encoded emails.")
     (license license:expat)))
+
+(define-public go-github-com-gatherstars-com-jwz
+  (package
+    (name "go-github-com-gatherstars-com-jwz")
+    (version "1.3.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/gatherstars-com/jwz")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1h37h5w139d3rhvp1n7kz2jm5zhk4pjzf3sip04v48nphkika60c"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/gatherstars-com/jwz"))
+    (propagated-inputs (list go-github-com-rivo-tview
+                             go-github-com-jhillyerd-enmime
+                             go-github-com-gdamore-tcell-v2))
+    (home-page "https://github.com/gatherstars-com/jwz")
+    (synopsis "Implementation in Go of the email threading algorithm
+originally invented for Netscape Mail")
+    (description
+     "The jwz package provides an implementation of the email threading
+algorithm originally designed for use in Netscape Mail 2.0 for Go.")
+    (license license:asl2.0)))
-- 
2.36.1
(
[PATCH v2 19/35] gnu: Add go-github-com-emersion-go-textwrapper.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-19-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-emersion-go-textwrapper): New
variable.
---
gnu/packages/golang.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 535f082f76..0cb26aa757 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10337,3 +10337,26 @@ (define-public go-github-com-gatherstars-com-jwz
      "The jwz package provides an implementation of the email threading
 algorithm originally designed for use in Netscape Mail 2.0 for Go.")
     (license license:asl2.0)))
+
+(define-public go-github-com-emersion-go-textwrapper
+  (package
+    (name "go-github-com-emersion-go-textwrapper")
+    (version "0.0.0-20200911093747-65d896831594")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/emersion/go-textwrapper")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1lh9d7zvj6gm1rr6sv5xlagklgx9d666hq5srd37a4sdcjkbiqmq"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/emersion/go-textwrapper"))
+    (home-page "https://github.com/emersion/go-textwrapper")
+    (synopsis "Text-wrapping writer for Go")
+    (description
+     "The textwrapper package provides a writer that wraps long text lines to
+a specified length.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 20/35] gnu: Add go-github-com-emersion-go-message.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-20-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-emersion-go-message): New
variable.
---
gnu/packages/golang.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 0cb26aa757..9900aaa00f 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10360,3 +10360,28 @@ (define-public go-github-com-emersion-go-textwrapper
      "The textwrapper package provides a writer that wraps long text lines to
 a specified length.")
     (license license:expat)))
+
+(define-public go-github-com-emersion-go-message
+  (package
+    (name "go-github-com-emersion-go-message")
+    (version "0.16.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/emersion/go-message")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1j5qdhsna28xcs843zsiccw700rld5hin466dl0n3a0ax1w13ay0"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/emersion/go-message"))
+    (propagated-inputs (list go-golang-org-x-text
+                             go-github-com-emersion-go-textwrapper))
+    (home-page "https://github.com/emersion/go-message")
+    (synopsis "Internet messages and MIME for Go")
+    (description
+     "The message package implements the Internet Message Format and Multipurpose
+Internet Mail Extensions in Go.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 21/35] gnu: Add go-github-com-emersion-go-sasl.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-21-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-emersion-go-sasl): New
variable.
---
gnu/packages/golang.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 9900aaa00f..2f2b73cd8d 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10385,3 +10385,25 @@ (define-public go-github-com-emersion-go-message
      "The message package implements the Internet Message Format and Multipurpose
 Internet Mail Extensions in Go.")
     (license license:expat)))
+
+(define-public go-github-com-emersion-go-sasl
+  (package
+    (name "go-github-com-emersion-go-sasl")
+    (version "0.0.0-20211008083017-0b9dcfb154ac")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/emersion/go-sasl")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1cbf86wkqrdinfydndgdlnayg4a5mg3d4vqra377j2sfkg7wj0hs"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/emersion/go-sasl"))
+    (home-page "https://github.com/emersion/go-sasl")
+    (synopsis "SASL library written in Go")
+    (description "The sasl package provides a Simple Authentication and Security
+Layer implementation for Go.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 22/35] gnu: Add go-github-com-emersion-go-imap.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-22-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-emersion-go-imap): New
variable.
---
gnu/packages/golang.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 2f2b73cd8d..f042d51c2d 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10407,3 +10407,28 @@ (define-public go-github-com-emersion-go-sasl
     (description "The sasl package provides a Simple Authentication and Security
 Layer implementation for Go.")
     (license license:expat)))
+
+(define-public go-github-com-emersion-go-imap
+  (package
+    (name "go-github-com-emersion-go-imap")
+    (version "1.2.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/emersion/go-imap")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0ak2ysvfcc9w0g1070msis8x9sh6gzvf0nd65ks594siwbmqddw8"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/emersion/go-imap"))
+    (propagated-inputs (list go-golang-org-x-text
+                             go-github-com-emersion-go-sasl
+                             go-github-com-emersion-go-message))
+    (home-page "https://github.com/emersion/go-imap")
+    (synopsis "IMAP4rev1 library written in Go")
+    (description "The imap package provides an IMAP4rev1 library written in
+Go.  It can be used to build IMAP clients and servers.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 23/35] gnu: Add go-github-com-emersion-go-imap-sortthread.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-23-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-emersion-go-imap-sortthread):
New variable.
---
gnu/packages/golang.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index f042d51c2d..3a9917de01 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10432,3 +10432,28 @@ (define-public go-github-com-emersion-go-imap
     (description "The imap package provides an IMAP4rev1 library written in
 Go.  It can be used to build IMAP clients and servers.")
     (license license:expat)))
+
+(define-public go-github-com-emersion-go-imap-sortthread
+  (package
+    (name "go-github-com-emersion-go-imap-sortthread")
+    (version "1.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/emersion/go-imap-sortthread")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1cfbgz1l5angnj52v9pxwggai2shx0h78ffcp7j4r4lr7lzflnwz"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/emersion/go-imap-sortthread"))
+    (propagated-inputs (list go-golang-org-x-text
+                             go-github-com-emersion-go-sasl
+                             go-github-com-emersion-go-imap))
+    (home-page "https://github.com/emersion/go-imap-sortthread")
+    (synopsis "Sorting and threading of messages for the imap package")
+    (description "The sortthread package implements message sorting
+and threading for @code{go-github-com-emersion-go-imap}.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 24/35] gnu: Add go-github-com-protonmail-go-crypto.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-24-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-protonmail-go-crypto): New variable.
---
gnu/packages/golang.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 3a9917de01..d8b894acaf 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10457,3 +10457,35 @@ (define-public go-github-com-emersion-go-imap-sortthread
     (description "The sortthread package implements message sorting
 and threading for @code{go-github-com-emersion-go-imap}.")
     (license license:expat)))
+
+(define-public go-github-com-protonmail-go-crypto
+  (package
+    (name "go-github-com-protonmail-go-crypto")
+    (version "0.0.0-20220517143526-88bb52951d5b")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/ProtonMail/go-crypto")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "15dsjxsgr6sbfi651kav3vcfpkkzfb383rahasff4fvb6hwfjr1l"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/ProtonMail/go-crypto"
+           #:tests? #f ; Source-only package.
+           #:phases
+           #~(modify-phases %standard-phases
+               ;; Source-only package.
+               (delete 'build))))
+    (propagated-inputs (list go-golang-org-x-crypto))
+    (home-page "https://github.com/ProtonMail/go-crypto")
+    (synopsis "Fork of golang.org/x/crypto with up-to-date OpenPGP
+implementation")
+    (description
+     "The crypto package provides cryptography for Go.  This version of the
+package is a fork that adds a more up-to-date OpenPGP implementation.  It
+is completely backwards compatible with
+@url{golang.org/x/crypto,the official package}.")
+    (license license:bsd-3)))
-- 
2.36.1
(
[PATCH v2 26/35] gnu: Add go-github-com-emersion-go-smtp.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-26-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-emersion-go-smtp): New
variable.
---
gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 8126e2b8db..870f0f17b9 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10518,3 +10518,27 @@ (define-public go-github-com-emersion-go-pgpmail
     (description
      "The pgpmail package implements PGP encryption for e-mail messages.")
     (license license:expat)))
+
+(define-public go-github-com-emersion-go-smtp
+  (package
+    (name "go-github-com-emersion-go-smtp")
+    (version "0.15.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/emersion/go-smtp")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1vhc0vpjd4yhxk6wrh01sdpi7nprjn98s46yy82xwlkm0cskl0h7"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/emersion/go-smtp"))
+    (propagated-inputs (list go-github-com-emersion-go-sasl))
+    (home-page "https://github.com/emersion/go-smtp")
+    (synopsis "SMTP implementation for Go")
+    (description
+     "The smtp package implements the Simple Mail Transfer Protocol as defined
+by RFC 5321.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 27/35] gnu: Add go-github-com-niemeyer-pretty.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-27-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-niemeyer-pretty): New variable.
---
gnu/packages/golang.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 870f0f17b9..b7cc211333 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10542,3 +10542,36 @@ (define-public go-github-com-emersion-go-smtp
      "The smtp package implements the Simple Mail Transfer Protocol as defined
 by RFC 5321.")
     (license license:expat)))
+
+(define-public go-github-com-niemeyer-pretty
+  (package
+    (name "go-github-com-niemeyer-pretty")
+    (version "0.0.0-20200227124842-a10e7caefd8e")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/niemeyer/pretty")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1jmazh4xzaa3v6g46hz60q2z7nmqs9l9cxdzmmscn3kbcs2znq4v"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/niemeyer/pretty"
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'int-to-string-with-rune
+                 (lambda* (#:key import-path #:allow-other-keys)
+                   (with-directory-excursion (string-append "src/" import-path)
+                     (substitute* "formatter.go"
+                       (("s \\+= string\\(i\\)")
+                        "s += string(rune(i))"))))))))
+    (propagated-inputs (list go-github-com-kr-text))
+    (home-page "https://github.com/niemeyer/pretty")
+    (synopsis "Pretty-print Go values")
+    (description
+     "The pretty package provides pretty-printing for Go values.  This is
+useful during debugging, to avoid wrapping long output lines in the
+terminal.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 28/35] gnu: Add go-github-com-arran4-golang-ical.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-28-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-arran4-golang-ical): New
variable.
---
gnu/packages/golang.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index b7cc211333..01a6bfb8bd 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10575,3 +10575,31 @@ (define-public go-github-com-niemeyer-pretty
 useful during debugging, to avoid wrapping long output lines in the
 terminal.")
     (license license:expat)))
+
+(define-public go-github-com-arran4-golang-ical
+  (package
+    (name "go-github-com-arran4-golang-ical")
+    (version "0.0.0-20220517104411-fd89fefb0182")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/arran4/golang-ical")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0bxs0b5yg26liiifc0cc41l307r0wc93hp8iygv8dgpc60yzncaw"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/arran4/golang-ical"))
+    (propagated-inputs (list go-gopkg-in-yaml-v3
+                             go-gopkg-in-check-v1
+                             go-github-com-stretchr-testify
+                             go-github-com-niemeyer-pretty
+                             go-github-com-kr-text
+                             go-github-com-davecgh-go-spew))
+    (home-page "https://github.com/arran4/golang-ical")
+    (synopsis "Handle iCalenders in Go")
+    (description
+     "The ical package provides an ICS/iCalender parser and serialiser for Go.")
+    (license license:asl2.0)))
-- 
2.36.1
(
[PATCH v2 31/35] gnu: Add go-github-com-google-shlex.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-31-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-google-shlex): New variable.
---
gnu/packages/golang.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 641f72cae8..e0fd06805a 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10656,3 +10656,26 @@ (define-public go-github-com-lithammer-fuzzysearch
      "A speedy fuzzy matching package for Go inspired by the JavaScript
 library bevacqua/fuzzysearch.")
     (license license:expat)))
+
+(define-public go-github-com-google-shlex
+  (package
+    (name "go-github-com-google-shlex")
+    (version "0.0.0-20181106134648-c34317bd91bf")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/google/shlex")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "00qivza4hkllfkar2vpqmyxybi0fwqipgijv61dgapq4xddxdq0r"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/google/shlex"))
+    (home-page "https://github.com/google/shlex")
+    (synopsis "Simple lexer for Go")
+    (description
+     "Shlex is a simple lexer for Go that supports shell-style quoting,
+commenting, and escaping.")
+    (license license:asl2.0)))
-- 
2.36.1
(
[PATCH v2 30/35] gnu: Add go-github-com-lithammer-fuzzysearch.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-30-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-lithammer-fuzzysearch): New
variable.
---
gnu/packages/golang.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index c8bbe28e26..641f72cae8 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10627,3 +10627,32 @@ (define-public go-git-sr-ht--sircmpwn-getopt
      "The getopt package is a POSIX-compatible implementation of getopt(3)
 for Go.")
     (license license:bsd-3)))
+
+(define-public go-github-com-lithammer-fuzzysearch
+  (package
+    (name "go-github-com-lithammer-fuzzysearch")
+    (version "1.1.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/lithammer/fuzzysearch")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "095zw3ffkp1w1lz4gby92b7vgi9zfvqc2s3rkl166a4narhv85fg"))))
+    (build-system go-build-system)
+    (propagated-inputs (list go-golang-org-x-text))
+    (arguments
+     (list #:import-path "github.com/lithammer/fuzzysearch"
+           #:tests? #f ; Source-only package.
+           #:phases
+           #~(modify-phases %standard-phases
+               ;; Source-only package.
+               (delete 'build))))
+    (home-page "https://github.com/lithammer/fuzzysearch")
+    (synopsis "Tiny and fast fuzzy search in Go")
+    (description
+     "A speedy fuzzy matching package for Go inspired by the JavaScript
+library bevacqua/fuzzysearch.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 29/35] gnu: Add go-git-sr-ht--sircmpwn-getopt.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-29-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-git-sr-ht--sircmpwn-getopt): New variable.
---
gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 01a6bfb8bd..c8bbe28e26 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10603,3 +10603,27 @@ (define-public go-github-com-arran4-golang-ical
     (description
      "The ical package provides an ICS/iCalender parser and serialiser for Go.")
     (license license:asl2.0)))
+
+(define-public go-git-sr-ht--sircmpwn-getopt
+  (package
+    (name "go-git-sr-ht--sircmpwn-getopt")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.sr.ht/~sircmpwn/getopt")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0f9rammnmhaz21qkmz7qf76r8jlzi323g05ps3j7gwrxlw7442a6"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "git.sr.ht/~sircmpwn/getopt"))
+    (propagated-inputs (list go-github-com-stretchr-testify))
+    (home-page "https://git.sr.ht/~sircmpwn/getopt")
+    (synopsis "POSIX getopt for Go")
+    (description
+     "The getopt package is a POSIX-compatible implementation of getopt(3)
+for Go.")
+    (license license:bsd-3)))
-- 
2.36.1
(
[PATCH v2 32/35] gnu: Add go-github-com-emersion-go-maildir.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-32-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-emersion-go-maildir): New
variable.
---
gnu/packages/golang.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index e0fd06805a..0c9f557b0b 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10679,3 +10679,26 @@ (define-public go-github-com-google-shlex
      "Shlex is a simple lexer for Go that supports shell-style quoting,
 commenting, and escaping.")
     (license license:asl2.0)))
+
+(define-public go-github-com-emersion-go-maildir
+  (package
+    (name "go-github-com-emersion-go-maildir")
+    (version "0.3.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/emersion/go-maildir")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1rs9kbacjpcza25pmdkbm7sdm7r6gq4g44nihi9asyrvspx96zf2"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/emersion/go-maildir"))
+    (home-page "https://github.com/emersion/go-maildir")
+    (synopsis "Maildir interface for Go")
+    (description
+     "The maildir package provides an interface to mailboxes in the Maildir
+format.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 34/35] gnu: Add go-github-com-emersion-go-msgauth.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-34-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-emersion-go-msgauth): New
variable.
---
gnu/packages/golang.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index b4e2614787..2aeb76d1d3 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10726,3 +10726,33 @@ (define-public go-github-com-emersion-go-milter
      "The milter package provides an interface to implement milter mail
 filters in Go.")
     (license license:bsd-2)))
+
+(define-public go-github-com-emersion-go-msgauth
+  (package
+    (name "go-github-com-emersion-go-msgauth")
+    (version "0.6.6")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/emersion/go-msgauth")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0ds8yr4cm9wigcxg1sxc2m0wmy4z9n6gws3mj50dmf2ayij69z9j"))))
+    (build-system go-build-system)
+    (arguments
+      (list #:import-path "github.com/emersion/go-msgauth"
+            #:tests? #f ; Source-only package.
+            #:phases
+            #~(modify-phases %standard-phases
+                ;; Source-only package.
+                (delete 'build))))
+    (propagated-inputs (list go-golang-org-x-crypto
+                             go-github-com-emersion-go-milter
+                             go-github-com-emersion-go-message))
+    (home-page "https://github.com/emersion/go-msgauth")
+    (synopsis "Email authentication for Go")
+    (description "The msgauth package provides a Go library for authenticating
+emails.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 33/35] gnu: Add go-github-com-emersion-go-milter.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-33-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-emersion-go-milter): New
variable.
---
gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 0c9f557b0b..b4e2614787 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10702,3 +10702,27 @@ (define-public go-github-com-emersion-go-maildir
      "The maildir package provides an interface to mailboxes in the Maildir
 format.")
     (license license:expat)))
+
+(define-public go-github-com-emersion-go-milter
+  (package
+    (name "go-github-com-emersion-go-milter")
+    (version "0.3.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/emersion/go-milter")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "10vpry5gjz2bh9qchcx4p59zm7cc6cb6bfkii2n6vsn4svb950sa"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/emersion/go-milter"))
+    (propagated-inputs (list go-github-com-emersion-go-message))
+    (home-page "https://github.com/emersion/go-milter")
+    (synopsis "Milter mail filters in Go")
+    (description
+     "The milter package provides an interface to implement milter mail
+filters in Go.")
+    (license license:bsd-2)))
-- 
2.36.1
(
[PATCH v2 25/35] gnu: Add go-github-com-emersion-go-pgpmail.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-25-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-emersion-go-pgpmail): New
variable.
---
gnu/packages/golang.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index d8b894acaf..8126e2b8db 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -10489,3 +10489,32 @@ (define-public go-github-com-protonmail-go-crypto
 is completely backwards compatible with
 @url{golang.org/x/crypto,the official package}.")
     (license license:bsd-3)))
+
+(define-public go-github-com-emersion-go-pgpmail
+  (package
+    (name "go-github-com-emersion-go-pgpmail")
+    (version "0.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/emersion/go-pgpmail")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0ar26b0apw5bxn58qfn1a79cxigbmrqm1irh1rb7x57fydihc7wm"))))
+    (build-system go-build-system)
+    (arguments
+     (list ;; tests don't support our version of protonmail/go-crypto; see
+           ;; <https://github.com/emersion/go-pgpmail/issues/12>
+           #:tests? #f
+           #:import-path "github.com/emersion/go-pgpmail"))
+    (propagated-inputs (list go-golang-org-x-text
+                             go-golang-org-x-crypto
+                             go-github-com-emersion-go-message
+                             go-github-com-protonmail-go-crypto))
+    (home-page "https://github.com/emersion/go-pgpmail")
+    (synopsis "PGP mail encryption for Go")
+    (description
+     "The pgpmail package implements PGP encryption for e-mail messages.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v2 35/35] gnu: Add aerc.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613065634.25256-35-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

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

Toggle diff (102 lines)
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 <andrew@trop.in>
 ;;; Copyright © 2022 Justin Veilleux <terramorpha@cock.li>
 ;;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.com>
+;;; Copyright © 2022 (unmatched parenthesis <paren@disroot.org>
 ;;;
 ;;; 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
M
M
Maxime Devos wrote on 13 Jun 09:43 +0200
Re: [bug#55903] [PATCH v2 02/35] gnu: Add go-github-com-creack-pty.
3acc3feb4252d47ba76dea7099ba6d3cc9bf005b.camel@telenet.be
( via Guix-patches via schreef op ma 13-06-2022 om 07:56 [+0100]:
Toggle quote (18 lines)
> +(define (gnu-triplet->go-architecture target)
> +  (letrec-syntax
> +      ((matches (syntax-rules (=>)
> +                  ((_ (target-prefix => architecture) rest ...)
> +                   (if (string-prefix? target-prefix target)
> +                     architecture
> +                     (matches rest ...)))
> +                  ((_) (error "unsupported target" target)))))
> +    (matches ("x86_64"      => "amd64")
> +             ("i686"        => "386")
> +             ("aarch64"     => "arm64")
> +             ("arm"         => "arm")
> +             ("powerpc64le" => "ppc64le")
> +             ("powerpc"     => "ppc")
> +             ("mips64el"    => "mips64le")
> +             ("riscv64"     => "riscv64"))))


This looks like 'go-target' in (guix build-system go)?
(Haven't looked at the rest of the revised patches)

Toggle quote (3 lines)
> + (with-output-to-file file
> + (lambda () (display text))))))))))

You can avoid global state here by using call-with-output-file.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYqbqiRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7o4CAP4pBIaBG6BcT1VGEIRszwNq94ZM
9poAmmCUrjK5XgTOKQD8DbJ9Ix+iCcQxvvxu4f/LfzVbRNJ4p8FjJ0G4IkgCIgA=
=qibM
-----END PGP SIGNATURE-----


(
[PATCH v3 01/35] gnu: Add go-github-com-zenhack-go-notmuch.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613194030.3540-1-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-zenhack-go-notmuch): New
variable.
---
gnu/packages/golang.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (53 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 61c29be116..8353aa280f 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -34,6 +34,7 @@
 ;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
 ;;; Copyright © 2021 Lu Hui <luhux76@gmail.com>
 ;;; Copyright © 2022 Pier-Hugues Pellerin <phpellerin@gmail.com>
+;;; Copyright © 2022 (unmatched parenthesis <paren@disroot.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -69,6 +70,7 @@ (define-module (gnu packages golang)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages lua)
+  #:use-module (gnu packages mail)
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages password-utils)
   #:use-module (gnu packages pcre)
@@ -9834,3 +9836,30 @@ (define-public go-github-com-google-go-jsonnet
 production-ready implementation, compatible with the original Jsonnet C++
 implementation.")
     (license license:asl2.0)))
+
+(define-public go-github-com-zenhack-go-notmuch
+  (package
+    (name "go-github-com-zenhack-go-notmuch")
+    (version "0.0.0-20211022191430-4d57e8ad2a8b")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/zenhack/go.notmuch")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1j2s5smjf7pp7i72dw12sm9iz961y3cy8nkm7hmrg53f6wna57h9"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/zenhack/go.notmuch"
+           ;; XXX: Tests require you to download fixtures from the Internet.
+           ;; See <https://github.com/zenhack/go.notmuch/blob/master/Makefile>.
+           #:tests? #f))
+    (propagated-inputs (list notmuch))
+    (home-page "https://github.com/zenhack/go.notmuch")
+    (synopsis "Go bindings to libnotmuch")
+    (description
+     "The notmuch package provides a Go language binding to the notmuch
+email library.")
+    (license license:gpl3+)))
-- 
2.36.1
(
[PATCH v3 02/35] gnu: Add go-github-com-creack-pty.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613194030.3540-2-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-creack-pty): New variable.
* guix/build-system/go.scm (go-target): Add to exported variables.
---
gnu/packages/golang.scm | 47 ++++++++++++++++++++++++++++++++++++++++
guix/build-system/go.scm | 1 +
2 files changed, 48 insertions(+)

Toggle diff (69 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 8353aa280f..9f92ea9442 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -9863,3 +9863,50 @@ (define-public go-github-com-zenhack-go-notmuch
      "The notmuch package provides a Go language binding to the notmuch
 email library.")
     (license license:gpl3+)))
+
+(define-public go-github-com-creack-pty
+  (package
+    (name "go-github-com-creack-pty")
+    (version "1.1.18")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/creack/pty")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1qqhcgfym0napz8damj7dhfw28g2qn2f5h3lr93i0sxawq926yzc"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/creack/pty"
+           #:modules '((ice-9 popen)
+                       (ice-9 textual-ports)
+                       (guix build go-build-system)
+                       (guix build utils))
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'regenerate-types
+                 (lambda* (#:key import-path #:allow-other-keys)
+                   ;; Generated files are included (ztypes_*). We need to remake
+                   ;; them with Cgo.
+                   (with-directory-excursion (string-append "src/" import-path)
+                     (let* ((go-arch
+                             #$(car (go-target
+                                     (or (%current-target-system)
+                                         (nix-system->gnu-triplet (%current-system))))))
+                            (file (string-append "ztypes_" go-arch ".go"))
+                            (pipe (open-input-pipe "go tool cgo -godefs types.go"))
+                            (text (get-string-all pipe)))
+                       (close-pipe pipe)
+                       (for-each delete-file
+                         (find-files (getcwd) (file-name-predicate
+                                               "ztypes_[a-zA-Z0-9_]+.go")))
+                       (call-with-output-file file
+                         (lambda (port)
+                           (display text port))))))))))
+    (home-page "https://github.com/creack/pty")
+    (synopsis "Pseudoterminal handling in Go")
+    (description
+     "The pty package provides functions for working with Unix pseudoterminals.")
+    (license license:expat)))
diff --git a/guix/build-system/go.scm b/guix/build-system/go.scm
index 5e0e5bbad3..9e5f972c84 100644
--- a/guix/build-system/go.scm
+++ b/guix/build-system/go.scm
@@ -38,6 +38,7 @@ (define-module (guix build-system go)
             go-build-system
 
             go-pseudo-version?
+            go-target
             go-version->git-ref))
 
 ;; Commentary:
-- 
2.36.1
(
[PATCH v3 04/35] gnu: Add go-github-com-xo-terminfo.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613194030.3540-4-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-xo-terminfo): New variable.
---
gnu/packages/golang.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 90ae9597f2..0a4a04c04b 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -9944,3 +9944,25 @@ (define-public go-google-golang-org-protobuf
 This package is a successor to @code{go-github-com-golang-protobuf} with an
 improved and cleaner API.")
     (license license:bsd-3)))
+
+(define-public go-github-com-xo-terminfo
+  (package
+    (name "go-github-com-xo-terminfo")
+    (version "0.0.0-20210125001918-ca9a967f8778")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/xo/terminfo")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "05gdcvcbwcrcwxznhvs1q1xh4irz2d10v2mz179pydjh30kjc0j5"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "github.com/xo/terminfo"))
+    (home-page "https://github.com/xo/terminfo")
+    (synopsis "Read the terminfo database in Go")
+    (description
+     "The terminfo package implements terminfo database reading for Go.")
+    (license license:expat)))
-- 
2.36.1
(
[PATCH v3 03/35] gnu: Add go-google-golang-org-protobuf.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613194030.3540-3-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-google-golang-org-protobuf): New variable.
---
gnu/packages/golang.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (51 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 9f92ea9442..90ae9597f2 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -56,6 +56,7 @@ (define-module (gnu packages golang)
   #:use-module (guix utils)
   #:use-module ((guix build utils) #:select (alist-replace))
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module (guix packages)
   #:use-module (guix build-system gnu)
@@ -9910,3 +9911,36 @@ (define-public go-github-com-creack-pty
     (description
      "The pty package provides functions for working with Unix pseudoterminals.")
     (license license:expat)))
+
+(define-public go-google-golang-org-protobuf
+  (package
+    (name "go-google-golang-org-protobuf")
+    (version "1.28.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://go.googlesource.com/protobuf")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1nzcc4qc00afi24nb7nlnwyzvvr6b8s8qdrn1sw085nygh2y2x8r"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:import-path "google.golang.org/protobuf"
+           #:tests? #f ; source-only package
+           #:phases #~(modify-phases %standard-phases
+                        ;; source-only package
+                        (delete 'build))))
+    (propagated-inputs (list go-github-com-google-go-cmp-cmp
+                             go-github-com-golang-protobuf-proto))
+    (home-page "https://google.golang.org/protobuf")
+    (synopsis "Go library for Protocol Buffers")
+    (description
+     "The protobuf package provides a Go implementation of Protocol Buffers, a
+language and platform neutral, extensible mechanism for serializing structured
+data.
+
+This package is a successor to @code{go-github-com-golang-protobuf} with an
+improved and cleaner API.")
+    (license license:bsd-3)))
-- 
2.36.1
(
[PATCH v3 05/35] gnu: Add go-github-com-riywo-loginshell.
(address . 55903@debbugs.gnu.org)(name . (unmatched-parenthesis)(address . paren@disroot.org)
20220613194030.3540-5-paren@disroot.org
From: "(unmatched-parenthesis" <paren@disroot.org>

* gnu/packages/golang.scm (go-github-com-riywo-loginshell): New
variable.
---
gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 0a4a04c04b..f09548e799 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -9966,3 +9966,29 @@ (define-public go-github-com-xo-terminfo
     (description
      "The terminfo package implements terminfo database reading for Go.")
     (license license:expat)))
+
+(define-public go-github-com-riywo-loginshell
+  (package
+    (name "go-github-com-riywo-loginshell")
+    (version "0.0.0-20200815045211-7d26008be1ab")
+    (source (origin
+              (method git-fetch)