GNU bug report logs - #47539
[PATCH 00/28] Add gh and dependencies

Previous Next

Package: guix-patches;

Reported by: Xinglu Chen <public <at> yoctocell.xyz>

Date: Thu, 1 Apr 2021 07:52:02 UTC

Severity: normal

Tags: patch

Done: Sharlatan Hellseher <sharlatanus <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 47539 in the body.
You can then email your comments to 47539 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 07:52:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Xinglu Chen <public <at> yoctocell.xyz>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 01 Apr 2021 07:52:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: guix-patches <at> gnu.org
Subject: [PATCH 00/28] Add gh and dependencies
Date: Thu, 01 Apr 2021 09:51:26 +0200
This patchset adds the 'gh' package, a CLI interface to GitHub.  The Go
importer did most of the work. :)

Some things to note:

- When building'gh', I couldn't get
  'go-github-com-charmbracelet-glamour' to build without moving some
  native-inputs to propagated-inputs, though, if I was only building
  'go-github-com-charmbracelet-glamour' it would build without moving
  things to propagated-inputs.  I am not sure why this happens.

- I found that (gnu packages syncthing) contained quite a few Go
  packages, I think it would make sense to move those packages to (gnu
  packages golang), and move the Syncthing package to (gnu packages
  sync).  This would be done in a separate commit though.

- The patch marked with 'D' adds a package which has been deprecated by
  upstream, but it is still needed by one of the packages that 'gh'
  depend on.  I have marked it as a hidden package, let me know if this
  is the right decision.

- The patch marked with 'W' adds a package which is needed by 'gh', but
  only used on Windows.  It is still Free Software (BSD-2), but I have
  also marked it as hidden.

Xinglu Chen (28):
  gnu: go-github-com-charmbracelet-glamour: Move some inputs to
    propagated-inputs.
  gnu: Add go-github-com-hinshun-vt10x.
  gnu: Add go-github-com-creack-pty.
D gnu: Add go-github-com-kr-pty.
  gnu: Add go-github-com-netflix-go-expect.
  gnu: Add go-github-com-alecaivazis-survey-v2.
  gnu: Add go-github-com-makenowjust-heredoc.
  gnu: Add go-github-com-briandowns-spinner.
  gnu: Add go-github-com-cli-browser.
  gnu: Add go-github-com-cli-oauth.
W gnu: Add go-github-com-cli-safeexec.
  gnu: Add go-github-com-russross-blackfriday-v2.
  gnu: Add go-github-com-shurcool-sanitized-anchor-name.
  gnu: Add go-github-com-cpuguy83-go-md2man-v2.
  gnu: Add go-github-com-enescakir-emoji.
  gnu: Add go-github-com-gabriel-vasile-mimetype.
  gnu: Add go-github-com-google-shlex.
  gnu: Add go-github-com-henvic-httpretty.
  gnu: Add go-github-com-itchyny-go-flags.
  gnu: Add go-github-com-itchyny-timefmt-go.
  gnu: Add go-github-com-itchyny-gojq.
  gnu: Add go-github-com-mattn-go-runewidth.
  gnu: Add go-github-com-rivo-uniseg.
  gnu: Add go-github-com-shurcool-githubv4.
  gnu: Add go-gopkg-in-yaml-v3.
  gnu: Add go-github-com-shurcool-graphql.
  gnu: Add go-github-com-cli-shurcool-graphql.
  gnu: Add gh.

 gnu/packages/golang.scm          | 745 ++++++++++++++++++++++++++++++-
 gnu/packages/version-control.scm |  92 ++++
 2 files changed, 826 insertions(+), 11 deletions(-)


base-commit: 94c77c9a0f7a1a4d7665d8fe566547016d2588d9
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:01 GMT) Full text and rfc822 format available.

Message #8 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 20/28] gnu: Add go-github-com-itchyny-timefmt-go.
Date: Thu, 01 Apr 2021 10:01:57 +0200
* gnu/packages/golang.scm (go-github-com-itchyny-timefmt-go): New variable.
---
 gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 2750443484..285622c5a0 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7546,3 +7546,27 @@ provides more options and uses reflection to provide a convenient and succinct
 way of specifying command line options.")
     (license license:bsd-3)))
 
+(define-public go-github-com-itchyny-timefmt-go
+  (package
+    (name "go-github-com-itchyny-timefmt-go")
+    (version "0.1.2")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/itchyny/timefmt-go.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1hfpvmbmzp5zbzz84p030jzd00jclnf4zr16f9r5bbq7xlhncj0z"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/itchyny/timefmt-go"))
+    (home-page
+      "https://github.com/itchyny/timefmt-go")
+    (synopsis "Efficient time formatting library for Go")
+    (description "This package provides functions for formatting and parsing
+date time strings.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:02 GMT) Full text and rfc822 format available.

Message #11 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 21/28] gnu: Add go-github-com-itchyny-gojq.
Date: Thu, 01 Apr 2021 10:02:00 +0200
* gnu/packages/golang.scm (go-github-com-itchyny-gojq): New variable.
---
 gnu/packages/golang.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 285622c5a0..3738e207b4 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7570,3 +7570,41 @@ way of specifying command line options.")
 date time strings.")
     (license license:expat)))
 
+(define-public go-github-com-itchyny-gojq
+  (package
+    (name "go-github-com-itchyny-gojq")
+    (version "0.12.2")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/itchyny/gojq.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1pxm341sgqkscwifpxlkvchz8ix3wivp80p59dv257kaa9diymgz"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/itchyny/gojq"))
+    (native-inputs
+      `(("go-gopkg-in-yaml-v3" ,go-gopkg-in-yaml-v3)
+        ("go-golang-org-x-sys" ,go-golang-org-x-sys)
+        ("go-github-com-mattn-go-runewidth"
+         ,go-github-com-mattn-go-runewidth)
+        ("go-github-com-mattn-go-isatty"
+         ,go-github-com-mattn-go-isatty)
+        ("go-github-com-itchyny-go-flags"
+         ,go-github-com-itchyny-go-flags)
+        ("go-github-com-google-go-cmp-cmp"
+         ,go-github-com-google-go-cmp-cmp)))
+    (propagated-inputs
+     `(("go-github-com-itchyny-timefmt-go"
+        ,go-github-com-itchyny-timefmt-go)))
+    (home-page "https://github.com/itchyny/gojq")
+    (synopsis "Pure Go implementation of jq")
+    (description "This package provides an implementation of @command{jq}
+command written in Go language.  It is also embedable as a library to other Go
+projects.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:02 GMT) Full text and rfc822 format available.

Message #14 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 22/28] gnu: Add go-github-com-mattn-go-runewidth.
Date: Thu, 01 Apr 2021 10:02:03 +0200
* gnu/packages/golang.scm (go-github-com-mattn-go-runewidth): New variable.
---
 gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 3738e207b4..a9ab18c77c 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7608,3 +7608,29 @@ command written in Go language.  It is also embedable as a library to other Go
 projects.")
     (license license:expat)))
 
+(define-public go-github-com-mattn-go-runewidth
+  (package
+    (name "go-github-com-mattn-go-runewidth")
+    (version "0.0.10")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/mattn/go-runewidth.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0jh9552ppqvkdfni7x623n0x5mbiaqqhjhmr0zkh28x56k4ysii4"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/mattn/go-runewidth"))
+    (native-inputs
+      `(("go-github-com-rivo-uniseg"
+         ,go-github-com-rivo-uniseg)))
+    (home-page "https://github.com/mattn/go-runewidth")
+    (synopsis "Functions to get fixed width of the character or string")
+    (description "This package provides functions to get fixed width of the
+character or string.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:03 GMT) Full text and rfc822 format available.

Message #17 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 23/28] gnu: Add go-github-com-rivo-uniseg.
Date: Thu, 01 Apr 2021 10:02:06 +0200
* gnu/packages/golang.scm (go-github-com-rivo-uniseg): New variable.
---
 gnu/packages/golang.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index a9ab18c77c..64a9a764be 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7634,3 +7634,26 @@ projects.")
 character or string.")
     (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.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0j7h22vfmjj562vr8gpsyrkrwp1pq9ayh5fylv24skxb467g9f0q"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/rivo/uniseg"))
+    (home-page "https://github.com/rivo/uniseg")
+    (synopsis "Unicode Text Segmentation for Go")
+    (description "This package implements Unicode Text Segmentation according
+to @url{https://unicode.org/reports/tr29/,Unicode Standard Annex #29}.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:03 GMT) Full text and rfc822 format available.

Message #20 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 24/28] gnu: Add go-github-com-shurcool-githubv4.
Date: Thu, 01 Apr 2021 10:02:08 +0200
* gnu/packages/golang.scm (go-github-com-shurcool-githubv4): New variable.
---
 gnu/packages/golang.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 64a9a764be..ef0287ff29 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7657,3 +7657,35 @@ character or string.")
 to @url{https://unicode.org/reports/tr29/,Unicode Standard Annex #29}.")
     (license license:expat)))
 
+(define-public go-github-com-shurcool-githubv4
+  (package
+    (name "go-github-com-shurcool-githubv4")
+    (version "0.0.0-20201206200315-234843c633fa")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/shurcooL/githubv4.git")
+               (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1jmmjv95vcm9vl5zpvwv77pq3mhf2j2vxc7pj75yfniymp2dh5mi"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/shurcooL/githubv4"))
+    (native-inputs
+     `(("go-github-com-shurcooL-graphql" ,go-github-com-shurcool-graphql)
+       ("go-golang-org-x-oauth2" ,go-golang-org-x-oauth2)))
+    (home-page "https://github.com/shurcooL/githubv4")
+    (synopsis "Client library for accessing the GitHub GraphQL API v4")
+    (description "This package is a client library for accessing the GitHub
+GraphQL API v4.  It focuses on the following things:
+
+@itemize
+@item Friendly, simple and powerful API.
+@item Correctness, high performance and efficiency.
+@item Support for all of GitHub GraphQL API v4 via code generation from schema.
+@end itemize")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:03 GMT) Full text and rfc822 format available.

Message #23 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 25/28] gnu: Add go-gopkg-in-yaml-v3.
Date: Thu, 01 Apr 2021 10:02:09 +0200
* gnu/packages/golang.scm (go-gopkg-in-yaml-v3): New variable.
---
 gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index ef0287ff29..5217bc383d 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7689,3 +7689,29 @@ GraphQL API v4.  It focuses on the following things:
 @end itemize")
     (license license:expat)))
 
+(define-public go-gopkg-in-yaml-v3
+  (package
+    (name "go-gopkg-in-yaml-v3")
+    (version "3.0.0-20210107192922-496545a6307b")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://gopkg.in/yaml.v3")
+               (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "06f4lnrp494wqaygv09dggr2dwf3z2bawqhnlnnwiamg5y787k4g"))))
+    (build-system go-build-system)
+    (arguments '(#:import-path "gopkg.in/yaml.v3"))
+    (native-inputs
+      `(("go-gopkg-in-check-v1" ,go-gopkg-in-check-v1)))
+    (home-page "https://gopkg.in/yaml.v3")
+    (synopsis "YAML support for the Go language")
+    (description "This library enables Go programs to comfortably encode and
+decode YAML values.  It is based on a pure Go port of the well-known libyaml C
+library to parse and generate YAML data quickly and reliably.")
+    (license (list license:expat
+                   license:asl2.0))))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:04 GMT) Full text and rfc822 format available.

Message #26 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 26/28] gnu: Add go-github-com-shurcool-graphql.
Date: Thu, 01 Apr 2021 10:02:12 +0200
* gnu/packages/golang.scm (go-github-com-shurcool-graphql): New variable.
---
 gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 5217bc383d..d6e5494c79 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7715,3 +7715,27 @@ library to parse and generate YAML data quickly and reliably.")
     (license (list license:expat
                    license:asl2.0))))
 
+(define-public go-github-com-shurcool-graphql
+  (package
+    (name "go-github-com-shurcool-graphql")
+    (version "0.0.0-20200928012149-18c5c3165e3a")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/shurcooL/graphql.git")
+             (commit (go-version->git-ref version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0psxc2q3qsh1lfag11m2gz54fzzvlss5znyf34aars94igsjywzx"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/shurcooL/graphql"))
+    (native-inputs
+     `(("go-golang-org-x-net" ,go-golang-org-x-net)))
+    (home-page "https://github.com/shurcooL/graphql")
+    (synopsis "GraphQL client implementation")
+    (description "This package provides a GraphQL client implementation.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:04 GMT) Full text and rfc822 format available.

Message #29 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 27/28] gnu: Add go-github-com-cli-shurcool-graphql.
Date: Thu, 01 Apr 2021 10:02:13 +0200
* gnu/packages/golang.scm (go-github-com-cli-shurcool-graphql): New variable.
---
 gnu/packages/golang.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index d6e5494c79..870a9628df 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7739,3 +7739,21 @@ library to parse and generate YAML data quickly and reliably.")
     (description "This package provides a GraphQL client implementation.")
     (license license:expat)))
 
+;; GitHub's fork of go-github-com-shurcool-graphql, used by the 'gh' CLI tool
+(define-public go-github-com-cli-shurcool-graphql
+  (package
+    (inherit go-github-com-shurcool-graphql)
+    (name "go-github-com-cli-shurcool-graphql")
+    ;; Use the commit from the 'named-queries' branch
+    (version "0.0.0-20200707151639-0f7232a2bf7e")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/cli/shurcooL-graphql.git")
+             (commit (go-version->git-ref version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "19dv1zprs9zv5gnwql29r7lym08gh2jwkz0w0f62823b57m1rjp6"))))
+    (home-page "https://github.com/cli/shurcooL-graphql")))
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:05 GMT) Full text and rfc822 format available.

Message #32 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 01/28] gnu: go-github-com-charmbracelet-glamour: Move some
Date: Thu, 01 Apr 2021 10:02:13 +0200
* gnu/packages/golang.scm
(go-github-com-charmbracelet-glamour)[native-inputs]: Move some
packages from here...
[propagated-inputs]: ...to here.
---
 gnu/packages/golang.scm | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index d9988cd7ad..05103e790f 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -5805,25 +5805,27 @@ which produce colorized output using github.com/fatih/color.")
     (arguments
      `(#:import-path "github.com/charmbracelet/glamour"))
     (native-inputs
+     `(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
+       ("go-github-com-muesli-termenv" ,go-github-com-muesli-termenv)
+       ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)))
+    ;; Needed for 'gh' to build
+    (propagated-inputs
      `(("go-github-com-alecthomas-chroma" ,go-github-com-alecthomas-chroma)
+       ("go-github-com-google-goterm" ,go-github-com-google-goterm)
+       ("go-github-com-aymerick-douceur" ,go-github-com-aymerick-douceur)
        ("go-github-com-danwakefield-fnmatch" ,go-github-com-danwakefield-fnmatch)
-       ("go-github-com-dlclark-regexp2" ,go-github-com-dlclark-regexp2)
-       ("go-github-com-microcosm-cc-bluemonday" ,go-github-com-microcosm-cc-bluemonday)
        ("go-github-com-chris-ramon-douceur" ,go-github-com-chris-ramon-douceur)
-       ("go-github-com-aymerick-douceur" ,go-github-com-aymerick-douceur)
        ("go-github-com-gorilla-css" ,go-github-com-gorilla-css)
+       ("go-golang-org-colorful" ,go-golang-org-colorful)
+       ("go-golang-org-x-net" ,go-golang-org-x-net)
        ("go-github-com-muesli-reflow-ansi" ,go-github-com-muesli-reflow-ansi)
+       ("go-github-com-microcosm-cc-bluemonday" ,go-github-com-microcosm-cc-bluemonday)
        ("go-github-com-muesli-reflow-wordwrap" ,go-github-com-muesli-reflow-wordwrap)
+       ("go-github-com-yuin-goldmark" ,go-github-com-yuin-goldmark)
+       ("go-github-com-dlclark-regexp2" ,go-github-com-dlclark-regexp2)
        ("go-github-com-muesli-reflow-indent" ,go-github-com-muesli-reflow-indent)
        ("go-github-com-muesli-reflow-padding" ,go-github-com-muesli-reflow-padding)
-       ("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
-       ("go-github-com-muesli-termenv" ,go-github-com-muesli-termenv)
-       ("go-github-com-google-goterm" ,go-github-com-google-goterm)
-       ("go-golang-org-colorful" ,go-golang-org-colorful)
-       ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
-       ("go-github-com-olekukonko-tablewriter" ,go-github-com-olekukonko-tablewriter)
-       ("go-github-com-yuin-goldmark" ,go-github-com-yuin-goldmark)
-       ("go-golang-org-x-net" ,go-golang-org-x-net)))
+       ("go-github-com-olekukonko-tablewriter" ,go-github-com-olekukonko-tablewriter)))
     (home-page "https://github.com/charmbracelet/glamour/")
     (synopsis "Write handsome command-line tools with glamour")
     (description "@code{glamour} lets you render markdown documents and
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:05 GMT) Full text and rfc822 format available.

Message #35 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 04/28] gnu: Add go-github-com-kr-pty.
Date: Thu, 01 Apr 2021 10:02:17 +0200
* gnu/packages/golang.scm (go-github-com-kr-pty): New variable.
---
This has been deprecated by upstream, but is needed to build 'gh'.

 gnu/packages/golang.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 60257ff84e..19b4d69bf7 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7082,3 +7082,28 @@ larged been influenced by st, rxvt, xterm, and iTerm as reference.")
     (description "Pty is a Go package for using Unix pseudo-terminals.")
     (license license:expat)))
 
+;; Deprecated in favor of 'go-github-com-creack-pty', but needed by 'gh'
+(define-public go-github-com-kr-pty
+  (hidden-package
+   (package
+     (name "go-github-com-kr-pty")
+     (version "1.1.8")
+     (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/kr/pty.git")
+              (commit (string-append "v" version))))
+        (file-name (git-file-name "go-github-com-kr-pty" version))
+        (sha256
+         (base32
+          "1vcl6f90n0f8s8b4fyh0832ilybjqcypqyj233lqj1hx62fvgdbk"))))
+     (build-system go-build-system)
+     (arguments '(#:import-path "github.com/kr/pty"))
+     (propagated-inputs
+      `(("go-github-com-creack-pty" ,go-github-com-creack-pty)))
+     (home-page "https://github.com/kr/pty")
+     (synopsis "PTY interface for Go")
+     (description "Pty is a Go package for using Unix pseudo-terminals.")
+     (license license:expat))))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:05 GMT) Full text and rfc822 format available.

Message #38 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 02/28] gnu: Add go-github-com-hinshun-vt10x.
Date: Thu, 01 Apr 2021 10:02:14 +0200
* gnu/packages/golang.scm (go-github-com-hinshun-vt10x): New variable.
---
 gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 05103e790f..52eb6e4882 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7036,3 +7036,27 @@ simplifications, and enforces style rules.")
      "This package provides a library for fast, structured, leveled logging in
 Go.")
     (license license:expat)))
+
+(define-public go-github-com-hinshun-vt10x
+  (package
+    (name "go-github-com-hinshun-vt10x")
+    (version "0.0.0-20180809195222-d55458df857c")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/hinshun/vt10x.git")
+               (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0vwsp5iii7pf4na8pkd7cn3bawkwnsimkv1sysy7bslclg5jm370"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/hinshun/vt10x"))
+    (home-page "https://github.com/hinshun/vt10x")
+    (synopsis "vt10x terminal emulation backend")
+    (description "This package is a vt10x terminal emulation backend.  It has
+larged been influenced by st, rxvt, xterm, and iTerm as reference.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:06 GMT) Full text and rfc822 format available.

Message #41 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 03/28] gnu: Add go-github-com-creack-pty.
Date: Thu, 01 Apr 2021 10:02:17 +0200
* gnu/packages/golang.scm (go-github-com-creack-pty): New variable.
---
 gnu/packages/golang.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 52eb6e4882..60257ff84e 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7060,3 +7060,25 @@ Go.")
 larged been influenced by st, rxvt, xterm, and iTerm as reference.")
     (license license:expat)))
 
+(define-public go-github-com-creack-pty
+  (package
+    (name "go-github-com-creack-pty")
+    (version "1.1.11")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/creack/pty.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0dwhch53vqxpnbiqvfa27cliabx9ma2m4dax4adlrz8rami4sakw"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/creack/pty"))
+    (home-page "https://github.com/creack/pty")
+    (synopsis "PTY interface for Go")
+    (description "Pty is a Go package for using Unix pseudo-terminals.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:06 GMT) Full text and rfc822 format available.

Message #44 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 05/28] gnu: Add go-github-com-netflix-go-expect.
Date: Thu, 01 Apr 2021 10:02:20 +0200
* gnu/packages/golang.scm (go-github-com-netflix-go-expect): New variable.
---
 gnu/packages/golang.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 19b4d69bf7..e2ab99a334 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7107,3 +7107,33 @@ larged been influenced by st, rxvt, xterm, and iTerm as reference.")
      (description "Pty is a Go package for using Unix pseudo-terminals.")
      (license license:expat))))
 
+(define-public go-github-com-netflix-go-expect
+  (package
+    (name "go-github-com-netflix-go-expect")
+    (version "0.0.0-20201125194554-85d881c3777e")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/Netflix/go-expect.git")
+               (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "01s59hsdwy2nngngcgzyhncys56pdgzr6lff7k8kjrh26zk6pdv5"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/Netflix/go-expect"))
+    (native-inputs
+      `(("go-github-com-stretchr-testify"
+         ,go-github-com-stretchr-testify)
+        ("go-github-com-kr-pty" ,go-github-com-kr-pty)))
+    (home-page
+      "https://github.com/Netflix/go-expect")
+    (synopsis "Expect-like library to automate control of terminal programs")
+    (description "This package provides an expect-like interface to automate
+control of applications.  It is unlike expect in that it does not spawn or
+manage process lifecycle.  This package only focuses on expecting output and
+sending input through it's pseudoterminal.")
+    (license license:asl2.0)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:07 GMT) Full text and rfc822 format available.

Message #47 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 06/28] gnu: Add go-github-com-alecaivazis-survey-v2.
Date: Thu, 01 Apr 2021 10:02:23 +0200
* gnu/packages/golang.scm (go-github-com-alecaivazis-survey-v2): New variable.
---
 gnu/packages/golang.scm | 49 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index e2ab99a334..80befc8c45 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -62,6 +62,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages textutils)
+  #:use-module ((gnu packages syncthing) #:select (go-github-com-kballard-go-shellquote))
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web)
   #:use-module (ice-9 match)
@@ -7137,3 +7138,51 @@ manage process lifecycle.  This package only focuses on expecting output and
 sending input through it's pseudoterminal.")
     (license license:asl2.0)))
 
+(define-public go-github-com-alecaivazis-survey-v2
+  (package
+    (name "go-github-com-alecaivazis-survey-v2")
+    (version "2.2.9")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/AlecAivazis/survey.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1jw4ka44q7a2885fil4qnb56mdlixmy5ysd68i5h5dblbq4r61l1"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/AlecAivazis/survey"))
+    (native-inputs
+      `(("go-golang-org-x-text" ,go-golang-org-x-text)
+        ("go-golang-org-x-sys" ,go-golang-org-x-sys)
+        ("go-golang-org-x-crypto"
+         ,go-golang-org-x-crypto)
+        ("go-github-com-stretchr-testify"
+         ,go-github-com-stretchr-testify)
+        ("go-github-com-pmezard-go-difflib"
+         ,go-github-com-pmezard-go-difflib)
+        ("go-github-com-mgutz-ansi"
+         ,go-github-com-mgutz-ansi)
+        ("go-github-com-mattn-go-isatty"
+         ,go-github-com-mattn-go-isatty)
+        ("go-github-com-mattn-go-colorable"
+         ,go-github-com-mattn-go-colorable)
+        ("go-github-com-kr-pty" ,go-github-com-kr-pty)
+        ("go-github-com-kballard-go-shellquote"
+         ,go-github-com-kballard-go-shellquote)
+        ("go-github-com-hinshun-vt10x"
+         ,go-github-com-hinshun-vt10x)
+        ("go-github-com-davecgh-go-spew"
+         ,go-github-com-davecgh-go-spew)
+        ("go-github-com-netflix-go-expect"
+         ,go-github-com-netflix-go-expect)))
+    (home-page
+      "https://github.com/AlecAivazis/survey")
+    (synopsis "Build interactive prompts on terminals")
+    (description "This is a library for building interactive prompts on
+terminals supporting ANSI escape sequences.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:07 GMT) Full text and rfc822 format available.

Message #50 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 07/28] gnu: Add go-github-com-makenowjust-heredoc.
Date: Thu, 01 Apr 2021 10:02:24 +0200
* gnu/packages/golang.scm (go-github-com-makenowjust-heredoc): New variable.
---
 gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 80befc8c45..9f8037218f 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7186,3 +7186,27 @@ sending input through it's pseudoterminal.")
 terminals supporting ANSI escape sequences.")
     (license license:expat)))
 
+(define-public go-github-com-makenowjust-heredoc
+  (package
+    (name "go-github-com-makenowjust-heredoc")
+    (version "1.0.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/MakeNowJust/heredoc.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "18f21zm8n2wlnkz1ylw8rcxmqxyv2rlz8749yfqggm2m0m2884pj"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/MakeNowJust/heredoc"))
+    (home-page
+      "https://github.com/MakeNowJust/heredoc")
+    (synopsis "Here-documents with keeping indent")
+    (description "This package provides the Here-document with keeping
+indent.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:07 GMT) Full text and rfc822 format available.

Message #53 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 08/28] gnu: Add go-github-com-briandowns-spinner.
Date: Thu, 01 Apr 2021 10:02:25 +0200
* gnu/packages/golang.scm (go-github-com-briandowns-spinner): New variable.
---
 gnu/packages/golang.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 9f8037218f..26cbd7edad 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7210,3 +7210,32 @@ terminals supporting ANSI escape sequences.")
 indent.")
     (license license:expat)))
 
+(define-public go-github-com-briandowns-spinner
+  (package
+    (name "go-github-com-briandowns-spinner")
+    (version "1.12.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/briandowns/spinner.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1n6h2iqq5anqg9p2pwz684vhfjx0944rrw53x2cn5m1dybp6rbwx"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/briandowns/spinner"))
+    (native-inputs
+      `(("go-github-com-mattn-go-colorable"
+         ,go-github-com-mattn-go-colorable)
+        ("go-github-com-fatih-color"
+         ,go-github-com-fatih-color)))
+    (home-page
+      "https://github.com/briandowns/spinner")
+    (synopsis "Progress indicator for any terminal application")
+    (description "This is a simple package to add a spinner or progress
+indicator to any terminal application. ")
+    (license license:asl2.0)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:08 GMT) Full text and rfc822 format available.

Message #56 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 09/28] gnu: Add go-github-com-cli-browser.
Date: Thu, 01 Apr 2021 10:02:27 +0200
* gnu/packages/golang.scm (go-github-com-cli-browser): New variable.
---
 gnu/packages/golang.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 26cbd7edad..92ec492cc6 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7239,3 +7239,28 @@ indent.")
 indicator to any terminal application. ")
     (license license:asl2.0)))
 
+(define-public go-github-com-cli-browser
+  (package
+    (name "go-github-com-cli-browser")
+    (version "1.1.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/cli/browser.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "13z27cc0a184bhprspwclzbvrzsrfd5qyk5r2djfx5nm85igxr0n"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/cli/browser"))
+    (native-inputs
+      `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
+    (home-page "https://github.com/cli/browser")
+    (synopsis "Helpers to open URLs, or files in the default web browser")
+    (description "This library provides helpers to open URLs, readers, or
+files in the system default web browser.")
+    (license license:bsd-2)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:08 GMT) Full text and rfc822 format available.

Message #59 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 10/28] gnu: Add go-github-com-cli-oauth.
Date: Thu, 01 Apr 2021 10:02:28 +0200
* gnu/packages/golang.scm (go-github-com-cli-oauth): New variable.
---
 gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 92ec492cc6..a2c203dafa 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7264,3 +7264,29 @@ indicator to any terminal application. ")
 files in the system default web browser.")
     (license license:bsd-2)))
 
+(define-public go-github-com-cli-oauth
+  (package
+    (name "go-github-com-cli-oauth")
+    (version "0.8.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/cli/oauth.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1b96cl53qc40xsgpxpy9qkrib4a4g02a4sq442qp8749qab5ljhs"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/cli/oauth"))
+    (native-inputs
+      `(("go-github-com-cli-browser"
+         ,go-github-com-cli-browser)))
+    (home-page "https://github.com/cli/oauth")
+    (synopsis "Perform OAuth Device flow and Web application flow in Go")
+    (description "This is a library for performing OAuth Device flow and Web
+application flow in Go client apps.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:09 GMT) Full text and rfc822 format available.

Message #62 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 11/28] gnu: Add go-github-com-cli-safeexec.
Date: Thu, 01 Apr 2021 10:02:29 +0200
* gnu/packages/golang.scm (go-github-com-cli-safeexec): New variable.
---
This is only used on Windows, but is needed by the 'gh' package so it is
marked as hidden.

 gnu/packages/golang.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index a2c203dafa..9265083978 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7290,3 +7290,28 @@ files in the system default web browser.")
 application flow in Go client apps.")
     (license license:expat)))
 
+;; Needed by the 'gh' GitHub CLI tool
+(define-public go-github-com-cli-safeexec
+  (hidden-package
+   (package
+     (name "go-github-com-cli-safeexec")
+     (version "1.0.0")
+     (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/cli/safeexec.git")
+              (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "1q80va3721dyw33lrnv7x3gd66kcnbsm38dv3lk7xqhii2adawmk"))))
+     (build-system go-build-system)
+     (arguments
+      '(#:import-path "github.com/cli/safeexec"))
+     (home-page "https://github.com/cli/safeexec")
+     (synopsis "Safer alternative to exec.LookPath() on Windows")
+     (description "This library provides a safer alternative to
+@code{exec.LookPath()} on Windows.")
+     (license license:bsd-2))))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:09 GMT) Full text and rfc822 format available.

Message #65 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 12/28] gnu: Add go-github-com-russross-blackfriday-v2.
Date: Thu, 01 Apr 2021 10:02:29 +0200
* gnu/packages/golang.scm (go-github-com-russross-blackfriday-v2): New variable.
---
 gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 9265083978..c7f2cd7083 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7315,3 +7315,29 @@ application flow in Go client apps.")
 @code{exec.LookPath()} on Windows.")
      (license license:bsd-2))))
 
+(define-public go-github-com-russross-blackfriday-v2
+  (package
+    (name "go-github-com-russross-blackfriday-v2")
+    (version "2.1.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/russross/blackfriday.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0d1rg1drrfmabilqjjayklsz5d0n3hkf979sr3wsrw92bfbkivs7"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/russross/blackfriday"))
+    (home-page
+      "https://github.com/russross/blackfriday")
+    (synopsis "Markdown processor implemented in Go")
+    (description "Blackfriday is a Markdown processor implemented in Go.  It
+is paranoid about its input (so you can safely feed it user-supplied data), it
+is fast, it supports common extensions (tables, smart punctuation
+substitutions, etc.), and it is safe for all utf-8 (unicode) input.")
+    (license license:bsd-2)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:09 GMT) Full text and rfc822 format available.

Message #68 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 13/28] gnu: Add go-github-com-shurcool-sanitized-anchor-name.
Date: Thu, 01 Apr 2021 10:02:30 +0200
* gnu/packages/golang.scm (go-github-com-shurcool-sanitized-anchor-name): New variable.
---
 gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index c7f2cd7083..adeaa7e88d 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7341,3 +7341,29 @@ is fast, it supports common extensions (tables, smart punctuation
 substitutions, etc.), and it is safe for all utf-8 (unicode) input.")
     (license license:bsd-2)))
 
+(define-public go-github-com-shurcool-sanitized-anchor-name
+  (package
+    (name "go-github-com-shurcool-sanitized-anchor-name")
+    (version "1.0.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/shurcooL/sanitized_anchor_name.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1gv9p2nr46z80dnfjsklc6zxbgk96349sdsxjz05f3z6wb6m5l8f"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path
+        "github.com/shurcooL/sanitized_anchor_name"))
+    (home-page
+      "https://github.com/shurcooL/sanitized_anchor_name")
+    (synopsis "Create sanitized anchor names")
+    (description "This package provides a function to create sanitized anchor
+names.  Its logic can be reused by multiple packages to create interoperable
+anchor names and links to those anchors.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:10 GMT) Full text and rfc822 format available.

Message #71 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 14/28] gnu: Add go-github-com-cpuguy83-go-md2man-v2.
Date: Thu, 01 Apr 2021 10:02:31 +0200
* gnu/packages/golang.scm (go-github-com-cpuguy83-go-md2man-v2): New variable.
---
 gnu/packages/golang.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index adeaa7e88d..1ba938715e 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7367,3 +7367,33 @@ names.  Its logic can be reused by multiple packages to create interoperable
 anchor names and links to those anchors.")
     (license license:expat)))
 
+(define-public go-github-com-cpuguy83-go-md2man-v2
+  (package
+    (name "go-github-com-cpuguy83-go-md2man-v2")
+    (version "2.0.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/cpuguy83/go-md2man.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0r1f7v475dxxgzqci1mxfliwadcrk86ippflx9n411325l4g3ghv"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/cpuguy83/go-md2man"))
+    (native-inputs
+      `(("go-github-com-shurcool-sanitized-anchor-name"
+         ,go-github-com-shurcool-sanitized-anchor-name)
+        ("go-github-com-russross-blackfriday-v2"
+         ,go-github-com-russross-blackfriday-v2)
+        ("go-github-com-pmezard-go-difflib"
+         ,go-github-com-pmezard-go-difflib)))
+    (home-page
+      "https://github.com/cpuguy83/go-md2man")
+    (synopsis "Convert Markdown into Man pages")
+    (description "This package converts Markdown into Roff Man pages.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:10 GMT) Full text and rfc822 format available.

Message #74 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 18/28] gnu: Add go-github-com-henvic-httpretty.
Date: Thu, 01 Apr 2021 10:02:34 +0200
* gnu/packages/golang.scm (go-github-com-henvic-httpretty): New variable.
---
 gnu/packages/golang.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index fafe3fc226..7a2abc92f9 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7490,3 +7490,26 @@ based on magic numbers.  Features include
 shell-style quoting, commenting, and escaping.")
     (license license:asl2.0)))
 
+(define-public go-github-com-henvic-httpretty
+  (package
+    (name "go-github-com-henvic-httpretty")
+    (version "0.0.6")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/henvic/httpretty.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1jbnj1x8wribayx65ssxigs9p88pi0cxg36h8qhqvqz1pqiygksa"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/henvic/httpretty"))
+    (home-page "https://github.com/henvic/httpretty")
+    (synopsis "Print the HTTP requests you make on your terminal")
+    (description "This packages prints the HTTP requests you make with Go
+pretty on your terminal.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:11 GMT) Full text and rfc822 format available.

Message #77 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 19/28] gnu: Add go-github-com-itchyny-go-flags.
Date: Thu, 01 Apr 2021 10:02:37 +0200
* gnu/packages/golang.scm (go-github-com-itchyny-go-flags): New variable.
---
 gnu/packages/golang.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 7a2abc92f9..2750443484 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7513,3 +7513,36 @@ shell-style quoting, commenting, and escaping.")
 pretty on your terminal.")
     (license license:expat)))
 
+(define-public go-github-com-itchyny-go-flags
+  (package
+    (name "go-github-com-itchyny-go-flags")
+    (version "1.5.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/itchyny/go-flags.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0qfh7gn95aldlsigk72jl87npmwvx15kb7df1100d6j0nbakd8b5"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path
+       "github.com/itchyny/go-flags"
+       ;; Unable to find man page
+       #:tests? #f))
+    (native-inputs
+      `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
+    (home-page "https://github.com/itchyny/go-flags")
+    (synopsis "Go library for parsing command line arguments")
+    (description "This library provides similar functionality to the builtin
+flag library of Go, but provides much more functionality.
+
+Package flags provides an extensive command line option parser.  The flags
+package is similar in functionality to the go builtin flag package but
+provides more options and uses reflection to provide a convenient and succinct
+way of specifying command line options.")
+    (license license:bsd-3)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:11 GMT) Full text and rfc822 format available.

Message #80 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 15/28] gnu: Add go-github-com-enescakir-emoji.
Date: Thu, 01 Apr 2021 10:02:32 +0200
* gnu/packages/golang.scm (go-github-com-enescakir-emoji): New variable.
---
 gnu/packages/golang.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 1ba938715e..11eb330d6d 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7397,3 +7397,26 @@ anchor names and links to those anchors.")
     (description "This package converts Markdown into Roff Man pages.")
     (license license:expat)))
 
+(define-public go-github-com-enescakir-emoji
+  (package
+    (name "go-github-com-enescakir-emoji")
+    (version "1.0.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/enescakir/emoji.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1xnisfsn94izcjhl4xywd971av4b5v1n67figp16wh443lhihxky"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/enescakir/emoji"))
+    (home-page "https://github.com/enescakir/emoji")
+    (synopsis "Minimalistic emoji package for Go")
+    (description "This package provides a minimalistic emoji library for
+Go.  It lets you use emoji characters in strings.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:12 GMT) Full text and rfc822 format available.

Message #83 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 28/28] gnu: Add gh.
Date: Thu, 01 Apr 2021 10:02:38 +0200
* gnu/packages/version-control.scm (gh): New variable.
---
 gnu/packages/version-control.scm | 92 ++++++++++++++++++++++++++++++++
 1 file changed, 92 insertions(+)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index e7fa6e6777..1d3f8d1b7c 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -118,6 +118,7 @@
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages sync)
+  #:use-module ((gnu packages syncthing) #:select (go-github-com-kballard-go-shellquote))
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages time)
@@ -3021,6 +3022,97 @@ commit message side by side
 If several repos are related, it helps to see their status together.")
       (license license:expat))))
 
+(define-public gh
+  (package
+    (name "gh")
+    (version "1.8.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/cli/cli.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "009jh1i1ji7d773ismifdw4qvwlb8s1zn14d0n84j9h3n0hyynbc"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path
+       "github.com/cli/cli/cmd/gh"
+       #:unpack-path
+       "github.com/cli/cli"))
+    (native-inputs
+     `(("go" ,go)))
+    (inputs
+     `(("go-github-com-cli-shurcool-graphql"
+        ,go-github-com-cli-shurcool-graphql)
+       ("go-gopkg-in-yaml-v3" ,go-gopkg-in-yaml-v3)
+       ("go-golang-org-x-text" ,go-golang-org-x-text)
+       ("go-golang-org-x-sync" ,go-golang-org-x-sync)
+       ("go-golang-org-x-crypto"
+        ,go-golang-org-x-crypto)
+       ("go-github-com-stretchr-testify"
+        ,go-github-com-stretchr-testify)
+       ("go-github-com-spf13-pflag"
+        ,go-github-com-spf13-pflag)
+       ("go-github-com-spf13-cobra"
+        ,go-github-com-spf13-cobra)
+       ("go-github-com-shurcool-githubv4"
+        ,go-github-com-shurcool-githubv4)
+       ("go-github-com-rivo-uniseg"
+        ,go-github-com-rivo-uniseg)
+       ("go-github-com-muesli-termenv"
+        ,go-github-com-muesli-termenv)
+       ("go-github-com-mitchellh-go-homedir"
+        ,go-github-com-mitchellh-go-homedir)
+       ("go-github-com-mgutz-ansi"
+        ,go-github-com-mgutz-ansi)
+       ("go-github-com-mattn-go-runewidth"
+        ,go-github-com-mattn-go-runewidth)
+       ("go-github-com-mattn-go-isatty"
+        ,go-github-com-mattn-go-isatty)
+       ("go-github-com-mattn-go-colorable"
+        ,go-github-com-mattn-go-colorable)
+       ("go-github-com-kballard-go-shellquote"
+        ,go-github-com-kballard-go-shellquote)
+       ("go-github-com-itchyny-gojq"
+        ,go-github-com-itchyny-gojq)
+       ("go-github-com-henvic-httpretty"
+        ,go-github-com-henvic-httpretty)
+       ("go-github-com-hashicorp-go-version"
+        ,go-github-com-hashicorp-go-version)
+       ("go-github-com-google-shlex"
+        ,go-github-com-google-shlex)
+       ("go-github-com-google-go-cmp-cmp"
+        ,go-github-com-google-go-cmp-cmp)
+       ("go-github-com-gabriel-vasile-mimetype"
+        ,go-github-com-gabriel-vasile-mimetype)
+       ("go-github-com-enescakir-emoji"
+        ,go-github-com-enescakir-emoji)
+       ("go-github-com-cpuguy83-go-md2man-v2"
+        ,go-github-com-cpuguy83-go-md2man-v2)
+       ("go-github-com-cli-safeexec"
+        ,go-github-com-cli-safeexec)
+       ("go-github-com-cli-oauth"
+        ,go-github-com-cli-oauth)
+       ("go-github-com-cli-browser"
+        ,go-github-com-cli-browser)
+       ("go-github-com-briandowns-spinner"
+        ,go-github-com-briandowns-spinner)
+       ("go-github-com-makenowjust-heredoc"
+        ,go-github-com-makenowjust-heredoc)
+       ("go-github-com-alecaivazis-survey-v2"
+        ,go-github-com-alecaivazis-survey-v2)
+       ("go-github-com-charmbracelet-glamour"
+        ,go-github-com-charmbracelet-glamour)))
+    (home-page "https://github.com/cli/cli")
+    (synopsis "GitHub CLI tool")
+    (description "@command{gh} is GitHub on the command line.  It brings pull
+requests, issues, and other GitHub concepts to the terminal next to where you
+are already working with Git and your code.")
+    (license license:expat)))
+
 (define-public ghq
   (package
     (name "ghq")
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:12 GMT) Full text and rfc822 format available.

Message #86 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 16/28] gnu: Add go-github-com-gabriel-vasile-mimetype.
Date: Thu, 01 Apr 2021 10:02:32 +0200
* gnu/packages/golang.scm (go-github-com-gabriel-vasile-mimetype): New variable.
---
 gnu/packages/golang.scm | 47 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 11eb330d6d..8e942fa955 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7420,3 +7420,50 @@ anchor names and links to those anchors.")
 Go.  It lets you use emoji characters in strings.")
     (license license:expat)))
 
+(define-public go-github-com-gabriel-vasile-mimetype
+  (package
+    (name "go-github-com-gabriel-vasile-mimetype")
+    (version "1.2.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/gabriel-vasile/mimetype.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0ysb0pjhyr9b7q2y39b5hpwsaidgfl42gd07yj34mgmb9wfjb7ch"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path
+       "github.com/gabriel-vasile/mimetype"
+       ;; FIXME: Cannot open 'supported_mimes.md'
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         ;; The files are read-only
+         (add-before 'reset-gzip-timestamps 'make-gz-files-writable
+           (lambda* (#:key outputs #:allow-other-keys)
+             (for-each make-file-writable
+                       (find-files (string-append (assoc-ref outputs "out"))
+                                   ".*\\.gz$"))
+             #t)))))
+
+    (home-page
+      "https://github.com/gabriel-vasile/mimetype")
+    (synopsis "A fast golang library for MIME type and file extension detection")
+    (description "This is a package for detecting MIME types and extensions
+based on magic numbers.  Features include
+
+@itemize
+@item fast and precise MIME type and file extension detection
+@item long list of supported MIME types
+@item common file formats are prioritized
+@item small and simple API
+@item handles MIME type aliases
+@item thread safe
+@item low memory usage, besides the file header
+@end itemize")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 08:03:12 GMT) Full text and rfc822 format available.

Message #89 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH 17/28] gnu: Add go-github-com-google-shlex.
Date: Thu, 01 Apr 2021 10:02:33 +0200
* gnu/packages/golang.scm (go-github-com-google-shlex): New variable.
---
 gnu/packages/golang.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 8e942fa955..fafe3fc226 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7467,3 +7467,26 @@ based on magic numbers.  Features include
 @end itemize")
     (license license:expat)))
 
+(define-public go-github-com-google-shlex
+  (package
+    (name "go-github-com-google-shlex")
+    (version "0.0.0-20191202100458-e7afc7fbc510")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/google/shlex.git")
+               (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "14z8hqyik910wk2qwnzgz8mjsmiamxa0pj55ahbv0jx6j3dgvzfm"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/google/shlex"))
+    (home-page "https://github.com/google/shlex")
+    (synopsis "Simple lexer for Go")
+    (description "This library provides is a simple lexer for Go that supports
+shell-style quoting, commenting, and escaping.")
+    (license license:asl2.0)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 10:09:01 GMT) Full text and rfc822 format available.

Message #92 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Leo Prikler <leo.prikler <at> student.tugraz.at>
To: Xinglu Chen <public <at> yoctocell.xyz>, 47539 <at> debbugs.gnu.org
Subject: Re: [PATCH 00/28] Add gh and dependencies
Date: Thu, 01 Apr 2021 12:08:15 +0200
Hi,

Am Donnerstag, den 01.04.2021, 09:51 +0200 schrieb Xinglu Chen:
> This patchset adds the 'gh' package, a CLI interface to GitHub.  The
> Go
> importer did most of the work. :)
I am not experienced with Go, so I can't comment on the rest too much,
but I wanted to point out, that single, double and triple letter
packages are (imo rightly) frowned upon in the Guix project. 
Considering, that this is the *official* Github CLI tool, a name like
"github-cli" would probably make more sense here.

> Some things to note:
> 
> - When building'gh', I couldn't get
>   'go-github-com-charmbracelet-glamour' to build without moving some
>   native-inputs to propagated-inputs, though, if I was only building
>   'go-github-com-charmbracelet-glamour' it would build without moving
>   things to propagated-inputs.  I am not sure why this happens.
Perhaps you need to add those native inputs as native inputs to gh as
well?  Try adding its native inputs to gh and see whether that changes
something.

> - I found that (gnu packages syncthing) contained quite a few Go
>   packages, I think it would make sense to move those packages to
> (gnu
>   packages golang), and move the Syncthing package to (gnu packages
>   sync).  This would be done in a separate commit though.
Indeed, that should probably done in a separate set.

> - The patch marked with 'D' adds a package which has been deprecated
> by
>   upstream, but it is still needed by one of the packages that 'gh'
>   depend on.  I have marked it as a hidden package, let me know if
> this
>   is the right decision.
Yes, we do so for other packages as well, that require outdated or
otherwise modified versions, that should not show up in user profiles
unless they really, really want to and use manifests to achieve their
goals.

> - The patch marked with 'W' adds a package which is needed by 'gh',
> but
>   only used on Windows.  It is still Free Software (BSD-2), but I
> have
>   also marked it as hidden.
This is at least in some sense an acceptable workaround, but how large
would the effort be to outright drop references to this package, given
that it's already not "actively" being used?

Regards,
Leo






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 14:50:03 GMT) Full text and rfc822 format available.

Message #95 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: Leo Prikler <leo.prikler <at> student.tugraz.at>, 47539 <at> debbugs.gnu.org
Subject: Re: [PATCH 00/28] Add gh and dependencies
Date: Thu, 01 Apr 2021 16:49:23 +0200
On Thu, Apr 01 2021, Leo Prikler wrote:

> Hi,
>
> Am Donnerstag, den 01.04.2021, 09:51 +0200 schrieb Xinglu Chen:
>> This patchset adds the 'gh' package, a CLI interface to GitHub.  The
>> Go importer did most of the work. :)
> I am not experienced with Go, so I can't comment on the rest too much,
> but I wanted to point out, that single, double and triple letter
> packages are (imo rightly) frowned upon in the Guix project. 
> Considering, that this is the *official* Github CLI tool, a name like
> "github-cli" would probably make more sense here.

Oh yeah, I saw the thread on guix-devel, I should have thought of this.

>> - When building'gh', I couldn't get
>>   'go-github-com-charmbracelet-glamour' to build without moving some
>>   native-inputs to propagated-inputs, though, if I was only building
>>   'go-github-com-charmbracelet-glamour' it would build without moving
>>   things to propagated-inputs.  I am not sure why this happens.
> Perhaps you need to add those native inputs as native inputs to gh as
> well?  Try adding its native inputs to gh and see whether that changes
> something.

I will try and report back.

>> - The patch marked with 'D' adds a package which has been deprecated
>>   by upstream, but it is still needed by one of the packages that 'gh'
>>   depend on.  I have marked it as a hidden package, let me know if this
>>   is the right decision.
> Yes, we do so for other packages as well, that require outdated or
> otherwise modified versions, that should not show up in user profiles
> unless they really, really want to and use manifests to achieve their
> goals.

Good to know, I will have to mark 'go-github-com-cli-shurcool-graphql'
as hidden as well since it's GitHubs' fork of
'go-github-com-shurcool-graphql' and most likely only used by 'gh'.

>> - The patch marked with 'W' adds a package which is needed by 'gh',
>>   but only used on Windows.  It is still Free Software (BSD-2), but I
>>   have also marked it as hidden.
> This is at least in some sense an acceptable workaround, but how large
> would the effort be to outright drop references to this package, given
> that it's already not "actively" being used?

I am not familiar with the Go ecosystem so I don't know if this will be
possible, but I will look into it.

Thank you for the rewiew!




Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 16:21:02 GMT) Full text and rfc822 format available.

Message #98 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Leo Prikler <leo.prikler <at> student.tugraz.at>
To: Xinglu Chen <public <at> yoctocell.xyz>, 47539 <at> debbugs.gnu.org
Subject: Re: [PATCH 00/28] Add gh and dependencies
Date: Thu, 01 Apr 2021 18:20:12 +0200
Hi,
Am Donnerstag, den 01.04.2021, 16:49 +0200 schrieb Xinglu Chen:
> > > - The patch marked with 'D' adds a package which has been
> > > deprecated
> > >   by upstream, but it is still needed by one of the packages that
> > > 'gh'
> > >   depend on.  I have marked it as a hidden package, let me know
> > > if this
> > >   is the right decision.
> > Yes, we do so for other packages as well, that require outdated or
> > otherwise modified versions, that should not show up in user
> > profiles
> > unless they really, really want to and use manifests to achieve
> > their
> > goals.
> 
> Good to know, I will have to mark 'go-github-com-cli-shurcool-
> graphql'
> as hidden as well since it's GitHubs' fork of
> 'go-github-com-shurcool-graphql' and most likely only used by 'gh'.
Just to clarify, I don't think that hiding will be necessary for this
package (since it differs by name), but it might still be a good idea
to hide it if you have a justification for doing so.  That said, your
judgement on this matter is probably going to be better than mine.

Regards,
Leo





Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 16:27:02 GMT) Full text and rfc822 format available.

Message #101 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: Leo Prikler <leo.prikler <at> student.tugraz.at>, 47539 <at> debbugs.gnu.org
Subject: Re: [bug#47539] [PATCH 00/28] Add gh and dependencies
Date: Thu, 01 Apr 2021 18:25:55 +0200
On Thu, Apr 01 2021, Xinglu Chen wrote:

>>> - When building'gh', I couldn't get
>>>   'go-github-com-charmbracelet-glamour' to build without moving some
>>>   native-inputs to propagated-inputs, though, if I was only building
>>>   'go-github-com-charmbracelet-glamour' it would build without moving
>>>   things to propagated-inputs.  I am not sure why this happens.
>> Perhaps you need to add those native inputs as native inputs to gh as
>> well?  Try adding its native inputs to gh and see whether that changes
>> something.
>
> I will try and report back.

Adding the packages as native-inputs for github-cli fixed the problem.
Thank you!

>>> - The patch marked with 'W' adds a package which is needed by 'gh',
>>>   but only used on Windows.  It is still Free Software (BSD-2), but I
>>>   have also marked it as hidden.
>> This is at least in some sense an acceptable workaround, but how large
>> would the effort be to outright drop references to this package, given
>> that it's already not "actively" being used?
>
> I am not familiar with the Go ecosystem so I don't know if this will be
> possible, but I will look into it.

Compiling github-cli without the package doesn't work, and the package
is used in multiple places in the source code.  I don't really know what
we can do here.  Should I open an issue on their GitHub page, or just
leave it as is?




Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 16:48:01 GMT) Full text and rfc822 format available.

Message #104 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Leo Prikler <leo.prikler <at> student.tugraz.at>
To: Xinglu Chen <public <at> yoctocell.xyz>, 47539 <at> debbugs.gnu.org
Subject: Re: [bug#47539] [PATCH 00/28] Add gh and dependencies
Date: Thu, 01 Apr 2021 18:47:00 +0200
Am Donnerstag, den 01.04.2021, 18:25 +0200 schrieb Xinglu Chen:
> On Thu, Apr 01 2021, Xinglu Chen wrote:
> 
> > > > - When building'gh', I couldn't get
> > > >   'go-github-com-charmbracelet-glamour' to build without moving
> > > > some
> > > >   native-inputs to propagated-inputs, though, if I was only
> > > > building
> > > >   'go-github-com-charmbracelet-glamour' it would build without
> > > > moving
> > > >   things to propagated-inputs.  I am not sure why this happens.
> > > Perhaps you need to add those native inputs as native inputs to
> > > gh as
> > > well?  Try adding its native inputs to gh and see whether that
> > > changes
> > > something.
> > 
> > I will try and report back.
> 
> Adding the packages as native-inputs for github-cli fixed the
> problem.
> Thank you!
You're welcome.

> > > > - The patch marked with 'W' adds a package which is needed by
> > > > 'gh',
> > > >   but only used on Windows.  It is still Free Software (BSD-2), 
> > > > but I
> > > >   have also marked it as hidden.
> > > This is at least in some sense an acceptable workaround, but how
> > > large
> > > would the effort be to outright drop references to this package,
> > > given
> > > that it's already not "actively" being used?
> > 
> > I am not familiar with the Go ecosystem so I don't know if this
> > will be
> > possible, but I will look into it.
> 
> Compiling github-cli without the package doesn't work, and the
> package
> is used in multiple places in the source code.  I don't really know
> what
> we can do here.  Should I open an issue on their GitHub page, or just
> leave it as is?
For now, I don't think this is going to be a blocking issue, as long as
the package and the input are appropriately marked, e.g. with comments,
and we make sure not to endorse the Microsoft OS through them.  
As to how we might handle this, we could do our own investigations into
dropping the dependency, but asking a question (make sure to tag it as
such) should work as well.  Also be clear, that the goal is not
necessarily to remove the dependency altogether, but rather make it an
optional one.

After doing some quick investigations myself, I think the following
pair of substitute*s might work:
  (("github.com/cli/safeexec") "os/exec")
  (("safeexec") "exec")

Regards,
Leo





Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 17:23:02 GMT) Full text and rfc822 format available.

Message #107 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Jack Hill <jackhill <at> jackhill.us>
To: Leo Prikler <leo.prikler <at> student.tugraz.at>
Cc: 47539 <at> debbugs.gnu.org, Xinglu Chen <public <at> yoctocell.xyz>
Subject: Re: [bug#47539] [PATCH 00/28] Add gh and dependencies
Date: Thu, 1 Apr 2021 13:21:50 -0400 (EDT)
On Thu, 1 Apr 2021, Leo Prikler wrote:

> After doing some quick investigations myself, I think the following
> pair of substitute*s might work:
>  (("github.com/cli/safeexec") "os/exec")
>  (("safeexec") "exec")

I happened to be reading the Go blog post about command path security [0]. 
I haven't looked at it very closely, but I'm hopeful that future gh 
versions may be able to get safeexec-like behavior from the Go standard 
library.

[0] https://blog.golang.org/path-security

Best,
Jack




Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:06:02 GMT) Full text and rfc822 format available.

Message #110 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: Leo Prikler <leo.prikler <at> student.tugraz.at>, 47539 <at> debbugs.gnu.org
Subject: Re: [bug#47539] [PATCH 00/28] Add gh and dependencies
Date: Thu, 01 Apr 2021 20:05:01 +0200
On Thu, Apr 01 2021, Leo Prikler wrote:

>> Compiling github-cli without the package doesn't work, and the
>> package is used in multiple places in the source code.  I don't
>> really know what we can do here.  Should I open an issue on their
>> GitHub page, or just leave it as is?
> For now, I don't think this is going to be a blocking issue, as long as
> the package and the input are appropriately marked, e.g. with comments,
> and we make sure not to endorse the Microsoft OS through them.  
> As to how we might handle this, we could do our own investigations into
> dropping the dependency, but asking a question (make sure to tag it as
> such) should work as well.  Also be clear, that the goal is not
> necessarily to remove the dependency altogether, but rather make it an
> optional one.
>
> After doing some quick investigations myself, I think the following
> pair of substitute*s might work:
>   (("github.com/cli/safeexec") "os/exec")
>   (("safeexec") "exec")

Thank you for the pointer, I managed to get it to work with the
following snippet:

#+begin_src scheme
(add-after 'unpack 'remove-safeexec
           (lambda* (#:key outputs #:allow-other-keys)
             (let ((prefix-file (lambda (file)
                             (string-append "src/github.com/cli/cli/" file))))
               ;; 'github.com/cli/safeexec' is only used for Windows, we
               ;; replace it with the regular 'os/exec'.  See
               ;; <https://issues.guix.gnu.org/47539> for discussion.
               (substitute* (map prefix-file
                                 '("pkg/cmd/alias/expand/expand.go"
                                   "script/build.go"))
                 (("github.com/cli/safeexec") "os/exec")
                 (("safeexec") "exec"))
               ;; These files have already imported 'os/exec', meaning that
               ;; 'os/exec' would get imported twice, causing an error.
               ;; Instead, we just remove the 'github.com/cli/safeexec'.
               (substitute* (map prefix-file
                                 '("cmd/gh/main.go"
                                   "git/git.go"
                                   "pkg/iostreams/iostreams.go"
                                   "pkg/cmd/auth/shared/ssh_keys.go"
                                   "pkg/cmd/pr/checkout/checkout.go"
                                   "pkg/cmdutil/web_browser.go"
                                   "pkg/surveyext/editor_manual.go"))
                 (("\"github.com/cli/safeexec\"") "")
                 (("safeexec") "exec")))))
#+end_src

I also used it to open an issue and everything worked as expected.




Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:11:02 GMT) Full text and rfc822 format available.

Message #113 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Leo Prikler <leo.prikler <at> student.tugraz.at>
To: Xinglu Chen <public <at> yoctocell.xyz>, 47539 <at> debbugs.gnu.org
Subject: Re: [ SPAM? ] Re: [bug#47539] [PATCH 00/28] Add gh and dependencies
Date: Thu, 01 Apr 2021 20:10:51 +0200
Am Donnerstag, den 01.04.2021, 20:05 +0200 schrieb Xinglu Chen:
> On Thu, Apr 01 2021, Leo Prikler wrote:
> 
> > > Compiling github-cli without the package doesn't work, and the
> > > package is used in multiple places in the source code.  I don't
> > > really know what we can do here.  Should I open an issue on their
> > > GitHub page, or just leave it as is?
> > For now, I don't think this is going to be a blocking issue, as
> > long as
> > the package and the input are appropriately marked, e.g. with
> > comments,
> > and we make sure not to endorse the Microsoft OS through them.  
> > As to how we might handle this, we could do our own investigations
> > into
> > dropping the dependency, but asking a question (make sure to tag it
> > as
> > such) should work as well.  Also be clear, that the goal is not
> > necessarily to remove the dependency altogether, but rather make it
> > an
> > optional one.
> > 
> > After doing some quick investigations myself, I think the following
> > pair of substitute*s might work:
> >   (("github.com/cli/safeexec") "os/exec")
> >   (("safeexec") "exec")
> 
> Thank you for the pointer, I managed to get it to work with the
> following snippet:
> 
> #+begin_src scheme
> (add-after 'unpack 'remove-safeexec
>            (lambda* (#:key outputs #:allow-other-keys)
>              (let ((prefix-file (lambda (file)
>                              (string-append "src/github.com/cli/cli/"
> file))))
>                ;; 'github.com/cli/safeexec' is only used for Windows,
> we
>                ;; replace it with the regular 'os/exec'.  See
>                ;; <https://issues.guix.gnu.org/47539> for discussion.
>                (substitute* (map prefix-file
>                                  '("pkg/cmd/alias/expand/expand.go"
>                                    "script/build.go"))
>                  (("github.com/cli/safeexec") "os/exec")
>                  (("safeexec") "exec"))
>                ;; These files have already imported 'os/exec',
> meaning that
>                ;; 'os/exec' would get imported twice, causing an
> error.
>                ;; Instead, we just remove the
> 'github.com/cli/safeexec'.
>                (substitute* (map prefix-file
>                                  '("cmd/gh/main.go"
>                                    "git/git.go"
>                                    "pkg/iostreams/iostreams.go"
>                                    "pkg/cmd/auth/shared/ssh_keys.go"
>                                    "pkg/cmd/pr/checkout/checkout.go"
>                                    "pkg/cmdutil/web_browser.go"
>                                    "pkg/surveyext/editor_manual.go"))
>                  (("\"github.com/cli/safeexec\"") "")
>                  (("safeexec") "exec")))))
> #+end_src
This should probably be implemented with directory excursions, but
other than that if it works for you, then LGTM :)





Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:17:02 GMT) Full text and rfc822 format available.

Message #116 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: Leo Prikler <leo.prikler <at> student.tugraz.at>, 47539 <at> debbugs.gnu.org
Subject: Re: [bug#47539] [PATCH 00/28] Add gh and dependencies
Date: Thu, 01 Apr 2021 20:16:11 +0200
On Thu, Apr 01 2021, Leo Prikler wrote:

> Am Donnerstag, den 01.04.2021, 20:05 +0200 schrieb Xinglu Chen:
>> 
>> Thank you for the pointer, I managed to get it to work with the
>> following snippet:
>> 
>> #+begin_src scheme
>> (add-after 'unpack 'remove-safeexec
>>            (lambda* (#:key outputs #:allow-other-keys)
>>              (let ((prefix-file (lambda (file)
>>                              (string-append "src/github.com/cli/cli/"
>> file))))
>>                ;; 'github.com/cli/safeexec' is only used for Windows,
>> we
>>                ;; replace it with the regular 'os/exec'.  See
>>                ;; <https://issues.guix.gnu.org/47539> for discussion.
>>                (substitute* (map prefix-file
>>                                  '("pkg/cmd/alias/expand/expand.go"
>>                                    "script/build.go"))
>>                  (("github.com/cli/safeexec") "os/exec")
>>                  (("safeexec") "exec"))
>>                ;; These files have already imported 'os/exec',
>> meaning that
>>                ;; 'os/exec' would get imported twice, causing an
>> error.
>>                ;; Instead, we just remove the
>> 'github.com/cli/safeexec'.
>>                (substitute* (map prefix-file
>>                                  '("cmd/gh/main.go"
>>                                    "git/git.go"
>>                                    "pkg/iostreams/iostreams.go"
>>                                    "pkg/cmd/auth/shared/ssh_keys.go"
>>                                    "pkg/cmd/pr/checkout/checkout.go"
>>                                    "pkg/cmdutil/web_browser.go"
>>                                    "pkg/surveyext/editor_manual.go"))
>>                  (("\"github.com/cli/safeexec\"") "")
>>                  (("safeexec") "exec")))))
>> #+end_src
> This should probably be implemented with directory excursions, but
> other than that if it works for you, then LGTM :)

Ah, I didn't know about that.  Thanks for pointing this out. :)




Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:02 GMT) Full text and rfc822 format available.

Message #119 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 19/26] gnu: Add go-github-com-itchyny-gojq.
Date: Thu, 01 Apr 2021 20:31:10 +0200
* gnu/packages/golang.scm (go-github-com-itchyny-gojq): New variable.
---
 gnu/packages/golang.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 9023816f59..35187a9bb8 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7543,3 +7543,41 @@ way of specifying command line options.")
 date time strings.")
     (license license:expat)))
 
+(define-public go-github-com-itchyny-gojq
+  (package
+    (name "go-github-com-itchyny-gojq")
+    (version "0.12.2")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/itchyny/gojq.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1pxm341sgqkscwifpxlkvchz8ix3wivp80p59dv257kaa9diymgz"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/itchyny/gojq"))
+    (native-inputs
+      `(("go-gopkg-in-yaml-v3" ,go-gopkg-in-yaml-v3)
+        ("go-golang-org-x-sys" ,go-golang-org-x-sys)
+        ("go-github-com-mattn-go-runewidth"
+         ,go-github-com-mattn-go-runewidth)
+        ("go-github-com-mattn-go-isatty"
+         ,go-github-com-mattn-go-isatty)
+        ("go-github-com-itchyny-go-flags"
+         ,go-github-com-itchyny-go-flags)
+        ("go-github-com-google-go-cmp-cmp"
+         ,go-github-com-google-go-cmp-cmp)))
+    (propagated-inputs
+     `(("go-github-com-itchyny-timefmt-go"
+        ,go-github-com-itchyny-timefmt-go)))
+    (home-page "https://github.com/itchyny/gojq")
+    (synopsis "Pure Go implementation of jq")
+    (description "This package provides an implementation of @command{jq}
+command written in Go language.  It is also embedable as a library to other Go
+projects.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:02 GMT) Full text and rfc822 format available.

Message #122 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 18/26] gnu: Add go-github-com-itchyny-timefmt-go.
Date: Thu, 01 Apr 2021 20:31:07 +0200
* gnu/packages/golang.scm (go-github-com-itchyny-timefmt-go): New variable.
---
 gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 6707b15273..9023816f59 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7519,3 +7519,27 @@ provides more options and uses reflection to provide a convenient and succinct
 way of specifying command line options.")
     (license license:bsd-3)))
 
+(define-public go-github-com-itchyny-timefmt-go
+  (package
+    (name "go-github-com-itchyny-timefmt-go")
+    (version "0.1.2")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/itchyny/timefmt-go.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1hfpvmbmzp5zbzz84p030jzd00jclnf4zr16f9r5bbq7xlhncj0z"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/itchyny/timefmt-go"))
+    (home-page
+      "https://github.com/itchyny/timefmt-go")
+    (synopsis "Efficient time formatting library for Go")
+    (description "This package provides functions for formatting and parsing
+date time strings.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:03 GMT) Full text and rfc822 format available.

Message #125 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 20/26] gnu: Add go-github-com-mattn-go-runewidth.
Date: Thu, 01 Apr 2021 20:31:11 +0200
* gnu/packages/golang.scm (go-github-com-mattn-go-runewidth): New variable.
---
 gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 35187a9bb8..c86a78cc98 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7581,3 +7581,29 @@ command written in Go language.  It is also embedable as a library to other Go
 projects.")
     (license license:expat)))
 
+(define-public go-github-com-mattn-go-runewidth
+  (package
+    (name "go-github-com-mattn-go-runewidth")
+    (version "0.0.10")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/mattn/go-runewidth.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0jh9552ppqvkdfni7x623n0x5mbiaqqhjhmr0zkh28x56k4ysii4"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/mattn/go-runewidth"))
+    (native-inputs
+      `(("go-github-com-rivo-uniseg"
+         ,go-github-com-rivo-uniseg)))
+    (home-page "https://github.com/mattn/go-runewidth")
+    (synopsis "Functions to get fixed width of the character or string")
+    (description "This package provides functions to get fixed width of the
+character or string.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:03 GMT) Full text and rfc822 format available.

Message #128 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 21/26] gnu: Add go-github-com-rivo-uniseg.
Date: Thu, 01 Apr 2021 20:31:12 +0200
* gnu/packages/golang.scm (go-github-com-rivo-uniseg): New variable.
---
 gnu/packages/golang.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index c86a78cc98..1e6e5e7aa5 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7607,3 +7607,26 @@ projects.")
 character or string.")
     (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.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0j7h22vfmjj562vr8gpsyrkrwp1pq9ayh5fylv24skxb467g9f0q"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/rivo/uniseg"))
+    (home-page "https://github.com/rivo/uniseg")
+    (synopsis "Unicode Text Segmentation for Go")
+    (description "This package implements Unicode Text Segmentation according
+to @url{https://unicode.org/reports/tr29/,Unicode Standard Annex #29}.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:04 GMT) Full text and rfc822 format available.

Message #131 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 23/26] gnu: Add go-gopkg-in-yaml-v3.
Date: Thu, 01 Apr 2021 20:31:15 +0200
* gnu/packages/golang.scm (go-gopkg-in-yaml-v3): New variable.
---
 gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 1ee6728a4f..2186e023ea 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7662,3 +7662,29 @@ GraphQL API v4.  It focuses on the following things:
 @end itemize")
     (license license:expat)))
 
+(define-public go-gopkg-in-yaml-v3
+  (package
+    (name "go-gopkg-in-yaml-v3")
+    (version "3.0.0-20210107192922-496545a6307b")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://gopkg.in/yaml.v3")
+               (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "06f4lnrp494wqaygv09dggr2dwf3z2bawqhnlnnwiamg5y787k4g"))))
+    (build-system go-build-system)
+    (arguments '(#:import-path "gopkg.in/yaml.v3"))
+    (native-inputs
+      `(("go-gopkg-in-check-v1" ,go-gopkg-in-check-v1)))
+    (home-page "https://gopkg.in/yaml.v3")
+    (synopsis "YAML support for the Go language")
+    (description "This library enables Go programs to comfortably encode and
+decode YAML values.  It is based on a pure Go port of the well-known libyaml C
+library to parse and generate YAML data quickly and reliably.")
+    (license (list license:expat
+                   license:asl2.0))))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:04 GMT) Full text and rfc822 format available.

Message #134 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 24/26] gnu: Add go-github-com-shurcool-graphql.
Date: Thu, 01 Apr 2021 20:31:16 +0200
* gnu/packages/golang.scm (go-github-com-shurcool-graphql): New variable.
---
 gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 2186e023ea..f220eca4ac 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7688,3 +7688,27 @@ library to parse and generate YAML data quickly and reliably.")
     (license (list license:expat
                    license:asl2.0))))
 
+(define-public go-github-com-shurcool-graphql
+  (package
+    (name "go-github-com-shurcool-graphql")
+    (version "0.0.0-20200928012149-18c5c3165e3a")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/shurcooL/graphql.git")
+             (commit (go-version->git-ref version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0psxc2q3qsh1lfag11m2gz54fzzvlss5znyf34aars94igsjywzx"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/shurcooL/graphql"))
+    (native-inputs
+     `(("go-golang-org-x-net" ,go-golang-org-x-net)))
+    (home-page "https://github.com/shurcooL/graphql")
+    (synopsis "GraphQL client implementation")
+    (description "This package provides a GraphQL client implementation.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:04 GMT) Full text and rfc822 format available.

Message #137 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 22/26] gnu: Add go-github-com-shurcool-githubv4.
Date: Thu, 01 Apr 2021 20:31:14 +0200
* gnu/packages/golang.scm (go-github-com-shurcool-githubv4): New variable.
---
 gnu/packages/golang.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 1e6e5e7aa5..1ee6728a4f 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7630,3 +7630,35 @@ character or string.")
 to @url{https://unicode.org/reports/tr29/,Unicode Standard Annex #29}.")
     (license license:expat)))
 
+(define-public go-github-com-shurcool-githubv4
+  (package
+    (name "go-github-com-shurcool-githubv4")
+    (version "0.0.0-20201206200315-234843c633fa")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/shurcooL/githubv4.git")
+               (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1jmmjv95vcm9vl5zpvwv77pq3mhf2j2vxc7pj75yfniymp2dh5mi"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/shurcooL/githubv4"))
+    (native-inputs
+     `(("go-github-com-shurcooL-graphql" ,go-github-com-shurcool-graphql)
+       ("go-golang-org-x-oauth2" ,go-golang-org-x-oauth2)))
+    (home-page "https://github.com/shurcooL/githubv4")
+    (synopsis "Client library for accessing the GitHub GraphQL API v4")
+    (description "This package is a client library for accessing the GitHub
+GraphQL API v4.  It focuses on the following things:
+
+@itemize
+@item Friendly, simple and powerful API.
+@item Correctness, high performance and efficiency.
+@item Support for all of GitHub GraphQL API v4 via code generation from schema.
+@end itemize")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:05 GMT) Full text and rfc822 format available.

Message #140 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 00/26] Add github-cli and dependencies
Date: Thu, 01 Apr 2021 20:31:19 +0200
Changes since v1:

- Renamed 'gh' to 'github-cli' to avoid short two or three letter names.

- Added a phase in 'github-cli' to remove its dependence on the
  'go-github-com-cli-safeexec' package, and I also removed
  'go-github-com-cli-safeexec' itself since it is only used on Windows.

- Removed 'go-github-com-shurcool-sanitized-anchor-name' because it
  already existed.  Upstream uses '_' instead of '-' in the name, the Go
  importer didn't convert '_' to '-' so I had to fix it myself without
  realizing that the package already existed.
  
- Marked 'go-github-com-cli-shurcool-graphql' as a hidden package
  because it is GitHub's own fork of 'go-github-com-shurcool-graphql',
  and is only used by 'github-cli'.
  
Xinglu Chen (26):
  gnu: Add go-github-com-hinshun-vt10x.
  gnu: Add go-github-com-creack-pty.
  gnu: Add go-github-com-kr-pty.
  gnu: Add go-github-com-netflix-go-expect.
  gnu: Add go-github-com-alecaivazis-survey-v2.
  gnu: Add go-github-com-makenowjust-heredoc.
  gnu: Add go-github-com-briandowns-spinner.
  gnu: Add go-github-com-cli-browser.
  gnu: Add go-github-com-cli-oauth.
  gnu: Add go-github-com-cli-safeexec.
  gnu: Add go-github-com-russross-blackfriday-v2.
  gnu: Add go-github-com-cpuguy83-go-md2man-v2.
  gnu: Add go-github-com-enescakir-emoji.
  gnu: Add go-github-com-gabriel-vasile-mimetype.
  gnu: Add go-github-com-google-shlex.
  gnu: Add go-github-com-henvic-httpretty.
  gnu: Add go-github-com-itchyny-go-flags.
  gnu: Add go-github-com-itchyny-timefmt-go.
  gnu: Add go-github-com-itchyny-gojq.
  gnu: Add go-github-com-mattn-go-runewidth.
  gnu: Add go-github-com-rivo-uniseg.
  gnu: Add go-github-com-shurcool-githubv4.
  gnu: Add go-gopkg-in-yaml-v3.
  gnu: Add go-github-com-shurcool-graphql.
  gnu: Add go-github-com-cli-shurcool-graphql.
  gnu: Add github-cli.

 gnu/packages/golang.scm          | 697 +++++++++++++++++++++++++++++++
 gnu/packages/version-control.scm | 145 +++++++
 2 files changed, 842 insertions(+)


base-commit: 9c9a36de732ea8485e47e84b888e121233f68452
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:05 GMT) Full text and rfc822 format available.

Message #143 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 04/26] gnu: Add go-github-com-netflix-go-expect.
Date: Thu, 01 Apr 2021 20:31:30 +0200
* gnu/packages/golang.scm (go-github-com-netflix-go-expect): New variable.
---
 gnu/packages/golang.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 6664e28e8f..57ae6e3210 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7106,3 +7106,33 @@ larged been influenced by st, rxvt, xterm, and iTerm as reference.")
      (description "Pty is a Go package for using Unix pseudo-terminals.")
      (license license:expat))))
 
+(define-public go-github-com-netflix-go-expect
+  (package
+    (name "go-github-com-netflix-go-expect")
+    (version "0.0.0-20201125194554-85d881c3777e")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/Netflix/go-expect.git")
+               (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "01s59hsdwy2nngngcgzyhncys56pdgzr6lff7k8kjrh26zk6pdv5"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/Netflix/go-expect"))
+    (native-inputs
+      `(("go-github-com-stretchr-testify"
+         ,go-github-com-stretchr-testify)
+        ("go-github-com-kr-pty" ,go-github-com-kr-pty)))
+    (home-page
+      "https://github.com/Netflix/go-expect")
+    (synopsis "Expect-like library to automate control of terminal programs")
+    (description "This package provides an expect-like interface to automate
+control of applications.  It is unlike expect in that it does not spawn or
+manage process lifecycle.  This package only focuses on expecting output and
+sending input through it's pseudoterminal.")
+    (license license:asl2.0)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:06 GMT) Full text and rfc822 format available.

Message #146 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 01/26] gnu: Add go-github-com-hinshun-vt10x.
Date: Thu, 01 Apr 2021 20:31:23 +0200
* gnu/packages/golang.scm (go-github-com-hinshun-vt10x): New variable.
---
 gnu/packages/golang.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index d9988cd7ad..5e0526184f 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -25,6 +25,7 @@
 ;;; Copyright © 2020 Martin Becze <mjbecze <at> riseup.net>
 ;;; Copyright © 2021 Ricardo Wurmus <rekado <at> elephly.net>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv <at> posteo.net>
+;;; Copyright © 2021 Xinglu Chen <public <at> yoctocell.xyz>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -7034,3 +7035,27 @@ simplifications, and enforces style rules.")
      "This package provides a library for fast, structured, leveled logging in
 Go.")
     (license license:expat)))
+
+(define-public go-github-com-hinshun-vt10x
+  (package
+    (name "go-github-com-hinshun-vt10x")
+    (version "0.0.0-20180809195222-d55458df857c")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/hinshun/vt10x.git")
+               (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0vwsp5iii7pf4na8pkd7cn3bawkwnsimkv1sysy7bslclg5jm370"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/hinshun/vt10x"))
+    (home-page "https://github.com/hinshun/vt10x")
+    (synopsis "vt10x terminal emulation backend")
+    (description "This package is a vt10x terminal emulation backend.  It has
+larged been influenced by st, rxvt, xterm, and iTerm as reference.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:06 GMT) Full text and rfc822 format available.

Message #149 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 05/26] gnu: Add go-github-com-alecaivazis-survey-v2.
Date: Thu, 01 Apr 2021 20:31:31 +0200
* gnu/packages/golang.scm (go-github-com-alecaivazis-survey-v2): New variable.
---
 gnu/packages/golang.scm | 49 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 57ae6e3210..268a88e15b 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -63,6 +63,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages textutils)
+  #:use-module ((gnu packages syncthing) #:select (go-github-com-kballard-go-shellquote))
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web)
   #:use-module (ice-9 match)
@@ -7136,3 +7137,51 @@ manage process lifecycle.  This package only focuses on expecting output and
 sending input through it's pseudoterminal.")
     (license license:asl2.0)))
 
+(define-public go-github-com-alecaivazis-survey-v2
+  (package
+    (name "go-github-com-alecaivazis-survey-v2")
+    (version "2.2.9")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/AlecAivazis/survey.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1jw4ka44q7a2885fil4qnb56mdlixmy5ysd68i5h5dblbq4r61l1"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/AlecAivazis/survey"))
+    (native-inputs
+      `(("go-golang-org-x-text" ,go-golang-org-x-text)
+        ("go-golang-org-x-sys" ,go-golang-org-x-sys)
+        ("go-golang-org-x-crypto"
+         ,go-golang-org-x-crypto)
+        ("go-github-com-stretchr-testify"
+         ,go-github-com-stretchr-testify)
+        ("go-github-com-pmezard-go-difflib"
+         ,go-github-com-pmezard-go-difflib)
+        ("go-github-com-mgutz-ansi"
+         ,go-github-com-mgutz-ansi)
+        ("go-github-com-mattn-go-isatty"
+         ,go-github-com-mattn-go-isatty)
+        ("go-github-com-mattn-go-colorable"
+         ,go-github-com-mattn-go-colorable)
+        ("go-github-com-kr-pty" ,go-github-com-kr-pty)
+        ("go-github-com-kballard-go-shellquote"
+         ,go-github-com-kballard-go-shellquote)
+        ("go-github-com-hinshun-vt10x"
+         ,go-github-com-hinshun-vt10x)
+        ("go-github-com-davecgh-go-spew"
+         ,go-github-com-davecgh-go-spew)
+        ("go-github-com-netflix-go-expect"
+         ,go-github-com-netflix-go-expect)))
+    (home-page
+      "https://github.com/AlecAivazis/survey")
+    (synopsis "Build interactive prompts on terminals")
+    (description "This is a library for building interactive prompts on
+terminals supporting ANSI escape sequences.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:06 GMT) Full text and rfc822 format available.

Message #152 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 06/26] gnu: Add go-github-com-makenowjust-heredoc.
Date: Thu, 01 Apr 2021 20:31:32 +0200
* gnu/packages/golang.scm (go-github-com-makenowjust-heredoc): New variable.
---
 gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 268a88e15b..b1e9baf85b 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7185,3 +7185,27 @@ sending input through it's pseudoterminal.")
 terminals supporting ANSI escape sequences.")
     (license license:expat)))
 
+(define-public go-github-com-makenowjust-heredoc
+  (package
+    (name "go-github-com-makenowjust-heredoc")
+    (version "1.0.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/MakeNowJust/heredoc.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "18f21zm8n2wlnkz1ylw8rcxmqxyv2rlz8749yfqggm2m0m2884pj"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/MakeNowJust/heredoc"))
+    (home-page
+      "https://github.com/MakeNowJust/heredoc")
+    (synopsis "Here-documents with keeping indent")
+    (description "This package provides the Here-document with keeping
+indent.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:07 GMT) Full text and rfc822 format available.

Message #155 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 25/26] gnu: Add go-github-com-cli-shurcool-graphql.
Date: Thu, 01 Apr 2021 20:31:17 +0200
* gnu/packages/golang.scm (go-github-com-cli-shurcool-graphql): New variable.
---
 gnu/packages/golang.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index f220eca4ac..4ca2f280f9 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7712,3 +7712,22 @@ library to parse and generate YAML data quickly and reliably.")
     (description "This package provides a GraphQL client implementation.")
     (license license:expat)))
 
+;; GitHub's fork of go-github-com-shurcool-graphql, used by the 'github-cli'
+(define-public go-github-com-cli-shurcool-graphql
+  (hidden-package
+   (package
+     (inherit go-github-com-shurcool-graphql)
+     (name "go-github-com-cli-shurcool-graphql")
+     ;; Use the commit from the 'named-queries' branch
+     (version "0.0.0-20200707151639-0f7232a2bf7e")
+     (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/cli/shurcooL-graphql.git")
+              (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "19dv1zprs9zv5gnwql29r7lym08gh2jwkz0w0f62823b57m1rjp6"))))
+     (home-page "https://github.com/cli/shurcooL-graphql"))))
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:07 GMT) Full text and rfc822 format available.

Message #158 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 02/26] gnu: Add go-github-com-creack-pty.
Date: Thu, 01 Apr 2021 20:31:27 +0200
* gnu/packages/golang.scm (go-github-com-creack-pty): New variable.
---
 gnu/packages/golang.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 5e0526184f..e6f834e7af 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7059,3 +7059,25 @@ Go.")
 larged been influenced by st, rxvt, xterm, and iTerm as reference.")
     (license license:expat)))
 
+(define-public go-github-com-creack-pty
+  (package
+    (name "go-github-com-creack-pty")
+    (version "1.1.11")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/creack/pty.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0dwhch53vqxpnbiqvfa27cliabx9ma2m4dax4adlrz8rami4sakw"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/creack/pty"))
+    (home-page "https://github.com/creack/pty")
+    (synopsis "PTY interface for Go")
+    (description "Pty is a Go package for using Unix pseudo-terminals.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:08 GMT) Full text and rfc822 format available.

Message #161 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 07/26] gnu: Add go-github-com-briandowns-spinner.
Date: Thu, 01 Apr 2021 20:31:33 +0200
* gnu/packages/golang.scm (go-github-com-briandowns-spinner): New variable.
---
 gnu/packages/golang.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index b1e9baf85b..11312227ff 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7209,3 +7209,32 @@ terminals supporting ANSI escape sequences.")
 indent.")
     (license license:expat)))
 
+(define-public go-github-com-briandowns-spinner
+  (package
+    (name "go-github-com-briandowns-spinner")
+    (version "1.12.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/briandowns/spinner.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1n6h2iqq5anqg9p2pwz684vhfjx0944rrw53x2cn5m1dybp6rbwx"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/briandowns/spinner"))
+    (native-inputs
+      `(("go-github-com-mattn-go-colorable"
+         ,go-github-com-mattn-go-colorable)
+        ("go-github-com-fatih-color"
+         ,go-github-com-fatih-color)))
+    (home-page
+      "https://github.com/briandowns/spinner")
+    (synopsis "Progress indicator for any terminal application")
+    (description "This is a simple package to add a spinner or progress
+indicator to any terminal application. ")
+    (license license:asl2.0)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:08 GMT) Full text and rfc822 format available.

Message #164 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 08/26] gnu: Add go-github-com-cli-browser.
Date: Thu, 01 Apr 2021 20:31:34 +0200
* gnu/packages/golang.scm (go-github-com-cli-browser): New variable.
---
 gnu/packages/golang.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 11312227ff..1cdc04bde6 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7238,3 +7238,28 @@ indent.")
 indicator to any terminal application. ")
     (license license:asl2.0)))
 
+(define-public go-github-com-cli-browser
+  (package
+    (name "go-github-com-cli-browser")
+    (version "1.1.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/cli/browser.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "13z27cc0a184bhprspwclzbvrzsrfd5qyk5r2djfx5nm85igxr0n"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/cli/browser"))
+    (native-inputs
+      `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
+    (home-page "https://github.com/cli/browser")
+    (synopsis "Helpers to open URLs, or files in the default web browser")
+    (description "This library provides helpers to open URLs, readers, or
+files in the system default web browser.")
+    (license license:bsd-2)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:08 GMT) Full text and rfc822 format available.

Message #167 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 03/26] gnu: Add go-github-com-kr-pty.
Date: Thu, 01 Apr 2021 20:31:28 +0200
* gnu/packages/golang.scm (go-github-com-kr-pty): New variable.
---
 gnu/packages/golang.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index e6f834e7af..6664e28e8f 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7081,3 +7081,28 @@ larged been influenced by st, rxvt, xterm, and iTerm as reference.")
     (description "Pty is a Go package for using Unix pseudo-terminals.")
     (license license:expat)))
 
+;; Deprecated in favor of 'go-github-com-creack-pty', but needed by github-cli
+(define-public go-github-com-kr-pty
+  (hidden-package
+   (package
+     (name "go-github-com-kr-pty")
+     (version "1.1.8")
+     (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/kr/pty.git")
+              (commit (string-append "v" version))))
+        (file-name (git-file-name "go-github-com-kr-pty" version))
+        (sha256
+         (base32
+          "1vcl6f90n0f8s8b4fyh0832ilybjqcypqyj233lqj1hx62fvgdbk"))))
+     (build-system go-build-system)
+     (arguments '(#:import-path "github.com/kr/pty"))
+     (propagated-inputs
+      `(("go-github-com-creack-pty" ,go-github-com-creack-pty)))
+     (home-page "https://github.com/kr/pty")
+     (synopsis "PTY interface for Go")
+     (description "Pty is a Go package for using Unix pseudo-terminals.")
+     (license license:expat))))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:09 GMT) Full text and rfc822 format available.

Message #170 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 09/26] gnu: Add go-github-com-cli-oauth.
Date: Thu, 01 Apr 2021 20:31:35 +0200
* gnu/packages/golang.scm (go-github-com-cli-oauth): New variable.
---
 gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 1cdc04bde6..8d0a44c06c 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7263,3 +7263,29 @@ indicator to any terminal application. ")
 files in the system default web browser.")
     (license license:bsd-2)))
 
+(define-public go-github-com-cli-oauth
+  (package
+    (name "go-github-com-cli-oauth")
+    (version "0.8.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/cli/oauth.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1b96cl53qc40xsgpxpy9qkrib4a4g02a4sq442qp8749qab5ljhs"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/cli/oauth"))
+    (native-inputs
+      `(("go-github-com-cli-browser"
+         ,go-github-com-cli-browser)))
+    (home-page "https://github.com/cli/oauth")
+    (synopsis "Perform OAuth Device flow and Web application flow in Go")
+    (description "This is a library for performing OAuth Device flow and Web
+application flow in Go client apps.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:09 GMT) Full text and rfc822 format available.

Message #173 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 10/26] gnu: Add go-github-com-cli-safeexec.
Date: Thu, 01 Apr 2021 20:31:36 +0200
* gnu/packages/golang.scm (go-github-com-cli-safeexec): New variable.
---
 gnu/packages/golang.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 8d0a44c06c..1d5c99e08a 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7289,3 +7289,28 @@ files in the system default web browser.")
 application flow in Go client apps.")
     (license license:expat)))
 
+;; Needed by the 'github-cli'
+(define-public go-github-com-cli-safeexec
+  (hidden-package
+   (package
+     (name "go-github-com-cli-safeexec")
+     (version "1.0.0")
+     (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/cli/safeexec.git")
+              (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "1q80va3721dyw33lrnv7x3gd66kcnbsm38dv3lk7xqhii2adawmk"))))
+     (build-system go-build-system)
+     (arguments
+      '(#:import-path "github.com/cli/safeexec"))
+     (home-page "https://github.com/cli/safeexec")
+     (synopsis "Safer alternative to exec.LookPath() on Windows")
+     (description "This library provides a safer alternative to
+@code{exec.LookPath()} on Windows.")
+     (license license:bsd-2))))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:10 GMT) Full text and rfc822 format available.

Message #176 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 11/26] gnu: Add go-github-com-russross-blackfriday-v2.
Date: Thu, 01 Apr 2021 20:31:37 +0200
* gnu/packages/golang.scm (go-github-com-russross-blackfriday-v2): New variable.
---
 gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 1d5c99e08a..cbfc5c7706 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7314,3 +7314,29 @@ application flow in Go client apps.")
 @code{exec.LookPath()} on Windows.")
      (license license:bsd-2))))
 
+(define-public go-github-com-russross-blackfriday-v2
+  (package
+    (name "go-github-com-russross-blackfriday-v2")
+    (version "2.1.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/russross/blackfriday.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0d1rg1drrfmabilqjjayklsz5d0n3hkf979sr3wsrw92bfbkivs7"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/russross/blackfriday"))
+    (home-page
+      "https://github.com/russross/blackfriday")
+    (synopsis "Markdown processor implemented in Go")
+    (description "Blackfriday is a Markdown processor implemented in Go.  It
+is paranoid about its input (so you can safely feed it user-supplied data), it
+is fast, it supports common extensions (tables, smart punctuation
+substitutions, etc.), and it is safe for all utf-8 (unicode) input.")
+    (license license:bsd-2)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:10 GMT) Full text and rfc822 format available.

Message #179 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 12/26] gnu: Add go-github-com-cpuguy83-go-md2man-v2.
Date: Thu, 01 Apr 2021 20:31:38 +0200
* gnu/packages/golang.scm (go-github-com-cpuguy83-go-md2man-v2): New variable.
---
 gnu/packages/golang.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index cbfc5c7706..13ce1a4e4e 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7340,3 +7340,32 @@ is fast, it supports common extensions (tables, smart punctuation
 substitutions, etc.), and it is safe for all utf-8 (unicode) input.")
     (license license:bsd-2)))
 
+(define-public go-github-com-cpuguy83-go-md2man-v2
+  (package
+    (name "go-github-com-cpuguy83-go-md2man-v2")
+    (version "2.0.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/cpuguy83/go-md2man.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0r1f7v475dxxgzqci1mxfliwadcrk86ippflx9n411325l4g3ghv"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/cpuguy83/go-md2man"))
+    (native-inputs
+      `(("go-github-com-shurcool-sanitized-anchor-name"
+         ,go-github-com-shurcool-sanitized-anchor-name)
+        ("go-github-com-russross-blackfriday-v2"
+         ,go-github-com-russross-blackfriday-v2)
+        ("go-github-com-pmezard-go-difflib"
+         ,go-github-com-pmezard-go-difflib)))
+    (home-page
+      "https://github.com/cpuguy83/go-md2man")
+    (synopsis "Convert Markdown into Man pages")
+    (description "This package converts Markdown into Roff Man pages.")
+    (license license:expat)))
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:10 GMT) Full text and rfc822 format available.

Message #182 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 13/26] gnu: Add go-github-com-enescakir-emoji.
Date: Thu, 01 Apr 2021 20:31:39 +0200
* gnu/packages/golang.scm (go-github-com-enescakir-emoji): New variable.
---
 gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 13ce1a4e4e..231f1babc6 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7369,3 +7369,27 @@ substitutions, etc.), and it is safe for all utf-8 (unicode) input.")
     (synopsis "Convert Markdown into Man pages")
     (description "This package converts Markdown into Roff Man pages.")
     (license license:expat)))
+
+(define-public go-github-com-enescakir-emoji
+  (package
+    (name "go-github-com-enescakir-emoji")
+    (version "1.0.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/enescakir/emoji.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1xnisfsn94izcjhl4xywd971av4b5v1n67figp16wh443lhihxky"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/enescakir/emoji"))
+    (home-page "https://github.com/enescakir/emoji")
+    (synopsis "Minimalistic emoji package for Go")
+    (description "This package provides a minimalistic emoji library for
+Go.  It lets you use emoji characters in strings.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:11 GMT) Full text and rfc822 format available.

Message #185 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 14/26] gnu: Add go-github-com-gabriel-vasile-mimetype.
Date: Thu, 01 Apr 2021 20:31:39 +0200
* gnu/packages/golang.scm (go-github-com-gabriel-vasile-mimetype): New variable.
---
 gnu/packages/golang.scm | 47 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 231f1babc6..5d05c383c6 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7393,3 +7393,50 @@ substitutions, etc.), and it is safe for all utf-8 (unicode) input.")
 Go.  It lets you use emoji characters in strings.")
     (license license:expat)))
 
+(define-public go-github-com-gabriel-vasile-mimetype
+  (package
+    (name "go-github-com-gabriel-vasile-mimetype")
+    (version "1.2.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/gabriel-vasile/mimetype.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0ysb0pjhyr9b7q2y39b5hpwsaidgfl42gd07yj34mgmb9wfjb7ch"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path
+       "github.com/gabriel-vasile/mimetype"
+       ;; FIXME: Cannot open 'supported_mimes.md'
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         ;; The files are read-only
+         (add-before 'reset-gzip-timestamps 'make-gz-files-writable
+           (lambda* (#:key outputs #:allow-other-keys)
+             (for-each make-file-writable
+                       (find-files (string-append (assoc-ref outputs "out"))
+                                   ".*\\.gz$"))
+             #t)))))
+
+    (home-page
+      "https://github.com/gabriel-vasile/mimetype")
+    (synopsis "A fast golang library for MIME type and file extension detection")
+    (description "This is a package for detecting MIME types and extensions
+based on magic numbers.  Features include
+
+@itemize
+@item fast and precise MIME type and file extension detection
+@item long list of supported MIME types
+@item common file formats are prioritized
+@item small and simple API
+@item handles MIME type aliases
+@item thread safe
+@item low memory usage, besides the file header
+@end itemize")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:11 GMT) Full text and rfc822 format available.

Message #188 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 15/26] gnu: Add go-github-com-google-shlex.
Date: Thu, 01 Apr 2021 20:31:41 +0200
* gnu/packages/golang.scm (go-github-com-google-shlex): New variable.
---
 gnu/packages/golang.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 5d05c383c6..e8712b22d5 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7440,3 +7440,26 @@ based on magic numbers.  Features include
 @end itemize")
     (license license:expat)))
 
+(define-public go-github-com-google-shlex
+  (package
+    (name "go-github-com-google-shlex")
+    (version "0.0.0-20191202100458-e7afc7fbc510")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/google/shlex.git")
+               (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "14z8hqyik910wk2qwnzgz8mjsmiamxa0pj55ahbv0jx6j3dgvzfm"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/google/shlex"))
+    (home-page "https://github.com/google/shlex")
+    (synopsis "Simple lexer for Go")
+    (description "This library provides is a simple lexer for Go that supports
+shell-style quoting, commenting, and escaping.")
+    (license license:asl2.0)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:12 GMT) Full text and rfc822 format available.

Message #191 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 17/26] gnu: Add go-github-com-itchyny-go-flags.
Date: Thu, 01 Apr 2021 20:31:43 +0200
* gnu/packages/golang.scm (go-github-com-itchyny-go-flags): New variable.
---
 gnu/packages/golang.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 0234522408..6707b15273 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7486,3 +7486,36 @@ shell-style quoting, commenting, and escaping.")
 pretty on your terminal.")
     (license license:expat)))
 
+(define-public go-github-com-itchyny-go-flags
+  (package
+    (name "go-github-com-itchyny-go-flags")
+    (version "1.5.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/itchyny/go-flags.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0qfh7gn95aldlsigk72jl87npmwvx15kb7df1100d6j0nbakd8b5"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path
+       "github.com/itchyny/go-flags"
+       ;; Unable to find man page
+       #:tests? #f))
+    (native-inputs
+      `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
+    (home-page "https://github.com/itchyny/go-flags")
+    (synopsis "Go library for parsing command line arguments")
+    (description "This library provides similar functionality to the builtin
+flag library of Go, but provides much more functionality.
+
+Package flags provides an extensive command line option parser.  The flags
+package is similar in functionality to the go builtin flag package but
+provides more options and uses reflection to provide a convenient and succinct
+way of specifying command line options.")
+    (license license:bsd-3)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:12 GMT) Full text and rfc822 format available.

Message #194 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 26/26] gnu: Add github-cli.
Date: Thu, 01 Apr 2021 20:31:44 +0200
* gnu/packages/version-control.scm (github-cli): New variable.
---
 gnu/packages/version-control.scm | 145 +++++++++++++++++++++++++++++++
 1 file changed, 145 insertions(+)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index e7fa6e6777..6e66897806 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -118,6 +118,7 @@
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages sync)
+  #:use-module ((gnu packages syncthing) #:select (go-github-com-kballard-go-shellquote))
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages time)
@@ -3021,6 +3022,150 @@ commit message side by side
 If several repos are related, it helps to see their status together.")
       (license license:expat))))
 
+(define-public github-cli
+  (package
+    (name "github-cli")
+    (version "1.8.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/cli/cli.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "009jh1i1ji7d773ismifdw4qvwlb8s1zn14d0n84j9h3n0hyynbc"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path
+       "github.com/cli/cli/cmd/gh"
+       #:unpack-path
+       "github.com/cli/cli"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-safeexec
+           (lambda* (#:key outputs #:allow-other-keys)
+             (with-directory-excursion "src/github.com/cli/cli/"
+               ;; 'github.com/cli/safeexec' is only used for Windows, we
+               ;; replace it with the regular 'os/exec'.  See
+               ;; <https://issues.guix.gnu.org/47539> for discussion.
+               (substitute* '("pkg/cmd/alias/expand/expand.go"
+                              "script/build.go")
+                 (("github.com/cli/safeexec") "os/exec")
+                 (("safeexec") "exec"))
+               ;; These files have already imported 'os/exec', meaning that
+               ;; 'os/exec' would get imported twice, causing an error.
+               ;; Instead, we just remove the 'github.com/cli/safeexec'.
+               (substitute* '("cmd/gh/main.go"
+                              "git/git.go"
+                              "pkg/iostreams/iostreams.go"
+                              "pkg/cmd/auth/shared/ssh_keys.go"
+                              "pkg/cmd/pr/checkout/checkout.go"
+                              "pkg/cmdutil/web_browser.go"
+                              "pkg/surveyext/editor_manual.go")
+                 (("\"github.com/cli/safeexec\"") "")
+                 (("safeexec") "exec"))))))))
+    (native-inputs
+     `(("go-github-com-cli-shurcool-graphql"
+        ,go-github-com-cli-shurcool-graphql)
+       ("go-gopkg-in-yaml-v3" ,go-gopkg-in-yaml-v3)
+       ("go-golang-org-x-text" ,go-golang-org-x-text)
+       ("go-golang-org-x-sync" ,go-golang-org-x-sync)
+       ("go-golang-org-x-crypto"
+        ,go-golang-org-x-crypto)
+       ("go-github-com-stretchr-testify"
+        ,go-github-com-stretchr-testify)
+       ("go-github-com-spf13-pflag"
+        ,go-github-com-spf13-pflag)
+       ("go-github-com-spf13-cobra"
+        ,go-github-com-spf13-cobra)
+       ("go-github-com-shurcool-githubv4"
+        ,go-github-com-shurcool-githubv4)
+       ("go-github-com-rivo-uniseg"
+        ,go-github-com-rivo-uniseg)
+       ("go-github-com-muesli-termenv"
+        ,go-github-com-muesli-termenv)
+       ("go-github-com-mitchellh-go-homedir"
+        ,go-github-com-mitchellh-go-homedir)
+       ("go-github-com-mgutz-ansi"
+        ,go-github-com-mgutz-ansi)
+       ("go-github-com-mattn-go-runewidth"
+        ,go-github-com-mattn-go-runewidth)
+       ("go-github-com-mattn-go-isatty"
+        ,go-github-com-mattn-go-isatty)
+       ("go-github-com-mattn-go-colorable"
+        ,go-github-com-mattn-go-colorable)
+       ("go-github-com-kballard-go-shellquote"
+        ,go-github-com-kballard-go-shellquote)
+       ("go-github-com-itchyny-gojq"
+        ,go-github-com-itchyny-gojq)
+       ("go-github-com-henvic-httpretty"
+        ,go-github-com-henvic-httpretty)
+       ("go-github-com-hashicorp-go-version"
+        ,go-github-com-hashicorp-go-version)
+       ("go-github-com-google-shlex"
+        ,go-github-com-google-shlex)
+       ("go-github-com-google-go-cmp-cmp"
+        ,go-github-com-google-go-cmp-cmp)
+       ("go-github-com-gabriel-vasile-mimetype"
+        ,go-github-com-gabriel-vasile-mimetype)
+       ("go-github-com-enescakir-emoji"
+        ,go-github-com-enescakir-emoji)
+       ("go-github-com-cpuguy83-go-md2man-v2"
+        ,go-github-com-cpuguy83-go-md2man-v2)
+       ("go-github-com-cli-oauth"
+        ,go-github-com-cli-oauth)
+       ("go-github-com-cli-browser"
+        ,go-github-com-cli-browser)
+       ("go-github-com-briandowns-spinner"
+        ,go-github-com-briandowns-spinner)
+       ("go-github-com-makenowjust-heredoc"
+        ,go-github-com-makenowjust-heredoc)
+       ("go-github-com-alecaivazis-survey-v2"
+        ,go-github-com-alecaivazis-survey-v2)
+       ("go-github-com-charmbracelet-glamour"
+        ,go-github-com-charmbracelet-glamour)
+       ("go-github-com-alecthomas-chroma"
+        ,go-github-com-alecthomas-chroma)
+       ("go-github-com-google-goterm"
+        ,go-github-com-google-goterm)
+       ("go-github-com-aymerick-douceur"
+        ,go-github-com-aymerick-douceur)
+       ("go-github-com-danwakefield-fnmatch"
+        ,go-github-com-danwakefield-fnmatch)
+       ("go-github-com-chris-ramon-douceur"
+        ,go-github-com-chris-ramon-douceur)
+       ("go-github-com-gorilla-css"
+        ,go-github-com-gorilla-css)
+       ("go-golang-org-colorful"
+        ,go-golang-org-colorful)
+       ("go-golang-org-x-net"
+        ,go-golang-org-x-net)
+       ("go-github-com-muesli-reflow-ansi"
+        ,go-github-com-muesli-reflow-ansi)
+       ("go-github-com-microcosm-cc-bluemonday"
+        ,go-github-com-microcosm-cc-bluemonday)
+       ("go-github-com-muesli-reflow-wordwrap"
+        ,go-github-com-muesli-reflow-wordwrap)
+       ("go-github-com-yuin-goldmark"
+        ,go-github-com-yuin-goldmark)
+       ("go-github-com-dlclark-regexp2"
+        ,go-github-com-dlclark-regexp2)
+       ("go-github-com-muesli-reflow-indent"
+        ,go-github-com-muesli-reflow-indent)
+       ("go-github-com-muesli-reflow-padding"
+        ,go-github-com-muesli-reflow-padding)
+       ("go-github-com-olekukonko-tablewriter"
+        ,go-github-com-olekukonko-tablewriter)))
+    (home-page "https://github.com/cli/cli")
+    (synopsis "CLI interface to GitHub")
+    (description "This package provides the @command{gh} command, an interface
+to GitHub on the command line.  It brings pull requests, issues, and other
+GitHub concepts to the terminal next to where you are already working with Git
+and your code.")
+    (license license:expat)))
+
 (define-public ghq
   (package
     (name "ghq")
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 01 Apr 2021 18:32:12 GMT) Full text and rfc822 format available.

Message #197 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v2 16/26] gnu: Add go-github-com-henvic-httpretty.
Date: Thu, 01 Apr 2021 20:31:42 +0200
* gnu/packages/golang.scm (go-github-com-henvic-httpretty): New variable.
---
 gnu/packages/golang.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index e8712b22d5..0234522408 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7463,3 +7463,26 @@ based on magic numbers.  Features include
 shell-style quoting, commenting, and escaping.")
     (license license:asl2.0)))
 
+(define-public go-github-com-henvic-httpretty
+  (package
+    (name "go-github-com-henvic-httpretty")
+    (version "0.0.6")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/henvic/httpretty.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1jbnj1x8wribayx65ssxigs9p88pi0cxg36h8qhqvqz1pqiygksa"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/henvic/httpretty"))
+    (home-page "https://github.com/henvic/httpretty")
+    (synopsis "Print the HTTP requests you make on your terminal")
+    (description "This packages prints the HTTP requests you make with Go
+pretty on your terminal.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 13:25:02 GMT) Full text and rfc822 format available.

Message #200 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Cc: Leo Prikler <leo.prikler <at> student.tugraz.at>
Subject: Re: [bug#47539] [PATCH v2 00/26] Add github-cli and dependencies
Date: Mon, 19 Apr 2021 15:24:03 +0200
Friendly ping! :)




Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 14:16:02 GMT) Full text and rfc822 format available.

Message #203 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Leo Prikler <leo.prikler <at> student.tugraz.at>
To: Xinglu Chen <public <at> yoctocell.xyz>, 47539 <at> debbugs.gnu.org
Subject: Re: [bug#47539] [PATCH v2 00/26] Add github-cli and dependencies
Date: Mon, 19 Apr 2021 16:15:40 +0200
Am Montag, den 19.04.2021, 15:24 +0200 schrieb Xinglu Chen:
> Friendly ping! :)
I think you fixed most of my concerns from the previous run, but
looking at Patchwork, there appear to still be a few issues:

1. Some patches don't seem to apply correctly over at Patchwork [1]. 
This can perhaps be ignored, as it seems to be an issue with patches
being received out of order and the last one applies cleanly.
2. The corresponding revision fails to build [2].
3. The patch for safeexec still seems to be part of the series even
though it's unused.  Didn't you mean to exclude that one?

Again, I'm not really familiar with the Go side of things, so while as
a reviewer I can point out stuff, that is not aesthetically pleasing,
as a committer I'm somewhat forced to trust what the CI tells me.  I
would personally feel more reassured if someone with a bit of Go
experience had a look at this patch set, but judging from the 2 weeks
of silence, it seems they are all sleeping or silently trusting me to
do a good job.

Regards,
Leo

[1] 
https://patches.guix-patches.cbaines.net/project/guix-patches/list/?series=7514
[2] https://data.guix-patches.cbaines.net/job/12256





Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 14:40:02 GMT) Full text and rfc822 format available.

Message #206 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: Leo Prikler <leo.prikler <at> student.tugraz.at>, 47539 <at> debbugs.gnu.org
Subject: Re: [bug#47539] [PATCH v2 00/26] Add github-cli and dependencies
Date: Mon, 19 Apr 2021 16:39:49 +0200
On Mon, Apr 19 2021, Leo Prikler wrote:

> Am Montag, den 19.04.2021, 15:24 +0200 schrieb Xinglu Chen:
>> Friendly ping! :)
> I think you fixed most of my concerns from the previous run, but
> looking at Patchwork, there appear to still be a few issues:
>
> 1. Some patches don't seem to apply correctly over at Patchwork [1]. 
> This can perhaps be ignored, as it seems to be an issue with patches
> being received out of order and the last one applies cleanly.

Hmm, they applied on my local checkout, maybe it’s something to do with
the order.

> 2. The corresponding revision fails to build [2].

I will look into that.

> 3. The patch for safeexec still seems to be part of the series even
> though it's unused.  Didn't you mean to exclude that one?

Oops, not sure what I did there, it should be removed.

> Again, I'm not really familiar with the Go side of things, so while as
> a reviewer I can point out stuff, that is not aesthetically pleasing,
> as a committer I'm somewhat forced to trust what the CI tells me.  I
> would personally feel more reassured if someone with a bit of Go
> experience had a look at this patch set, but judging from the 2 weeks
> of silence, it seems they are all sleeping or silently trusting me to
> do a good job.

Understood, thanks for taking a look!





Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:23:02 GMT) Full text and rfc822 format available.

Message #209 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 00/25] Add github-cli and dependencies
Date: Mon, 19 Apr 2021 17:21:51 +0200
Changes since v2:

- Actually remove go-github-com-cli-safeexec

Xinglu Chen (25):
  gnu: Add go-github-com-hinshun-vt10x.
  gnu: Add go-github-com-creack-pty.
  gnu: Add go-github-com-kr-pty.
  gnu: Add go-github-com-netflix-go-expect.
  gnu: Add go-github-com-alecaivazis-survey-v2.
  gnu: Add go-github-com-makenowjust-heredoc.
  gnu: Add go-github-com-briandowns-spinner.
  gnu: Add go-github-com-cli-browser.
  gnu: Add go-github-com-cli-oauth.
  gnu: Add go-github-com-russross-blackfriday-v2.
  gnu: Add go-github-com-cpuguy83-go-md2man-v2.
  gnu: Add go-github-com-enescakir-emoji.
  gnu: Add go-github-com-gabriel-vasile-mimetype.
  gnu: Add go-github-com-google-shlex.
  gnu: Add go-github-com-henvic-httpretty.
  gnu: Add go-github-com-itchyny-go-flags.
  gnu: Add go-github-com-itchyny-timefmt-go.
  gnu: Add go-github-com-itchyny-gojq.
  gnu: Add go-github-com-mattn-go-runewidth.
  gnu: Add go-github-com-rivo-uniseg.
  gnu: Add go-github-com-shurcool-githubv4.
  gnu: Add go-gopkg-in-yaml-v3.
  gnu: Add go-github-com-shurcool-graphql.
  gnu: Add go-github-com-cli-shurcool-graphql.
  gnu: Add github-cli.

 gnu/packages/golang.scm          | 672 +++++++++++++++++++++++++++++++
 gnu/packages/version-control.scm | 145 +++++++
 2 files changed, 817 insertions(+)


base-commit: 1eb26d0e07ad439c935b324c1ed858f50e9dcccd
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:23:03 GMT) Full text and rfc822 format available.

Message #212 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 01/25] gnu: Add go-github-com-hinshun-vt10x.
Date: Mon, 19 Apr 2021 17:22:01 +0200
* gnu/packages/golang.scm (go-github-com-hinshun-vt10x): New variable.
---
 gnu/packages/golang.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 6502740220..b08f0ababc 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -25,6 +25,7 @@
 ;;; Copyright © 2020 Martin Becze <mjbecze <at> riseup.net>
 ;;; Copyright © 2021 Ricardo Wurmus <rekado <at> elephly.net>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv <at> posteo.net>
+;;; Copyright © 2021 Xinglu Chen <public <at> yoctocell.xyz>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -7033,3 +7034,27 @@ simplifications, and enforces style rules.")
      "This package provides a library for fast, structured, leveled logging in
 Go.")
     (license license:expat)))
+
+(define-public go-github-com-hinshun-vt10x
+  (package
+    (name "go-github-com-hinshun-vt10x")
+    (version "0.0.0-20180809195222-d55458df857c")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/hinshun/vt10x.git")
+               (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0vwsp5iii7pf4na8pkd7cn3bawkwnsimkv1sysy7bslclg5jm370"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/hinshun/vt10x"))
+    (home-page "https://github.com/hinshun/vt10x")
+    (synopsis "vt10x terminal emulation backend")
+    (description "This package is a vt10x terminal emulation backend.  It has
+larged been influenced by st, rxvt, xterm, and iTerm as reference.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:23:03 GMT) Full text and rfc822 format available.

Message #215 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 02/25] gnu: Add go-github-com-creack-pty.
Date: Mon, 19 Apr 2021 17:22:08 +0200
* gnu/packages/golang.scm (go-github-com-creack-pty): New variable.
---
 gnu/packages/golang.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index b08f0ababc..f1a6783215 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7058,3 +7058,25 @@ Go.")
 larged been influenced by st, rxvt, xterm, and iTerm as reference.")
     (license license:expat)))
 
+(define-public go-github-com-creack-pty
+  (package
+    (name "go-github-com-creack-pty")
+    (version "1.1.11")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/creack/pty.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0dwhch53vqxpnbiqvfa27cliabx9ma2m4dax4adlrz8rami4sakw"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/creack/pty"))
+    (home-page "https://github.com/creack/pty")
+    (synopsis "PTY interface for Go")
+    (description "Pty is a Go package for using Unix pseudo-terminals.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:23:03 GMT) Full text and rfc822 format available.

Message #218 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 03/25] gnu: Add go-github-com-kr-pty.
Date: Mon, 19 Apr 2021 17:22:15 +0200
* gnu/packages/golang.scm (go-github-com-kr-pty): New variable.
---
 gnu/packages/golang.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index f1a6783215..0ff2d61740 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7080,3 +7080,28 @@ larged been influenced by st, rxvt, xterm, and iTerm as reference.")
     (description "Pty is a Go package for using Unix pseudo-terminals.")
     (license license:expat)))
 
+;; Deprecated in favor of 'go-github-com-creack-pty', but needed by github-cli
+(define-public go-github-com-kr-pty
+  (hidden-package
+   (package
+     (name "go-github-com-kr-pty")
+     (version "1.1.8")
+     (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/kr/pty.git")
+              (commit (string-append "v" version))))
+        (file-name (git-file-name "go-github-com-kr-pty" version))
+        (sha256
+         (base32
+          "1vcl6f90n0f8s8b4fyh0832ilybjqcypqyj233lqj1hx62fvgdbk"))))
+     (build-system go-build-system)
+     (arguments '(#:import-path "github.com/kr/pty"))
+     (propagated-inputs
+      `(("go-github-com-creack-pty" ,go-github-com-creack-pty)))
+     (home-page "https://github.com/kr/pty")
+     (synopsis "PTY interface for Go")
+     (description "Pty is a Go package for using Unix pseudo-terminals.")
+     (license license:expat))))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:23:04 GMT) Full text and rfc822 format available.

Message #221 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 05/25] gnu: Add go-github-com-alecaivazis-survey-v2.
Date: Mon, 19 Apr 2021 17:22:26 +0200
* gnu/packages/golang.scm (go-github-com-alecaivazis-survey-v2): New variable.
---
 gnu/packages/golang.scm | 49 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 91f853c105..64740316cb 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -63,6 +63,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages textutils)
+  #:use-module ((gnu packages syncthing) #:select (go-github-com-kballard-go-shellquote))
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web)
   #:use-module (ice-9 match)
@@ -7135,3 +7136,51 @@ manage process lifecycle.  This package only focuses on expecting output and
 sending input through it's pseudoterminal.")
     (license license:asl2.0)))
 
+(define-public go-github-com-alecaivazis-survey-v2
+  (package
+    (name "go-github-com-alecaivazis-survey-v2")
+    (version "2.2.9")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/AlecAivazis/survey.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1jw4ka44q7a2885fil4qnb56mdlixmy5ysd68i5h5dblbq4r61l1"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/AlecAivazis/survey"))
+    (native-inputs
+      `(("go-golang-org-x-text" ,go-golang-org-x-text)
+        ("go-golang-org-x-sys" ,go-golang-org-x-sys)
+        ("go-golang-org-x-crypto"
+         ,go-golang-org-x-crypto)
+        ("go-github-com-stretchr-testify"
+         ,go-github-com-stretchr-testify)
+        ("go-github-com-pmezard-go-difflib"
+         ,go-github-com-pmezard-go-difflib)
+        ("go-github-com-mgutz-ansi"
+         ,go-github-com-mgutz-ansi)
+        ("go-github-com-mattn-go-isatty"
+         ,go-github-com-mattn-go-isatty)
+        ("go-github-com-mattn-go-colorable"
+         ,go-github-com-mattn-go-colorable)
+        ("go-github-com-kr-pty" ,go-github-com-kr-pty)
+        ("go-github-com-kballard-go-shellquote"
+         ,go-github-com-kballard-go-shellquote)
+        ("go-github-com-hinshun-vt10x"
+         ,go-github-com-hinshun-vt10x)
+        ("go-github-com-davecgh-go-spew"
+         ,go-github-com-davecgh-go-spew)
+        ("go-github-com-netflix-go-expect"
+         ,go-github-com-netflix-go-expect)))
+    (home-page
+      "https://github.com/AlecAivazis/survey")
+    (synopsis "Build interactive prompts on terminals")
+    (description "This is a library for building interactive prompts on
+terminals supporting ANSI escape sequences.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:23:04 GMT) Full text and rfc822 format available.

Message #224 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 04/25] gnu: Add go-github-com-netflix-go-expect.
Date: Mon, 19 Apr 2021 17:22:20 +0200
* gnu/packages/golang.scm (go-github-com-netflix-go-expect): New variable.
---
 gnu/packages/golang.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 0ff2d61740..91f853c105 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7105,3 +7105,33 @@ larged been influenced by st, rxvt, xterm, and iTerm as reference.")
      (description "Pty is a Go package for using Unix pseudo-terminals.")
      (license license:expat))))
 
+(define-public go-github-com-netflix-go-expect
+  (package
+    (name "go-github-com-netflix-go-expect")
+    (version "0.0.0-20201125194554-85d881c3777e")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/Netflix/go-expect.git")
+               (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "01s59hsdwy2nngngcgzyhncys56pdgzr6lff7k8kjrh26zk6pdv5"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/Netflix/go-expect"))
+    (native-inputs
+      `(("go-github-com-stretchr-testify"
+         ,go-github-com-stretchr-testify)
+        ("go-github-com-kr-pty" ,go-github-com-kr-pty)))
+    (home-page
+      "https://github.com/Netflix/go-expect")
+    (synopsis "Expect-like library to automate control of terminal programs")
+    (description "This package provides an expect-like interface to automate
+control of applications.  It is unlike expect in that it does not spawn or
+manage process lifecycle.  This package only focuses on expecting output and
+sending input through it's pseudoterminal.")
+    (license license:asl2.0)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:23:05 GMT) Full text and rfc822 format available.

Message #227 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 06/25] gnu: Add go-github-com-makenowjust-heredoc.
Date: Mon, 19 Apr 2021 17:22:32 +0200
* gnu/packages/golang.scm (go-github-com-makenowjust-heredoc): New variable.
---
 gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 64740316cb..650844fcbf 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7184,3 +7184,27 @@ sending input through it's pseudoterminal.")
 terminals supporting ANSI escape sequences.")
     (license license:expat)))
 
+(define-public go-github-com-makenowjust-heredoc
+  (package
+    (name "go-github-com-makenowjust-heredoc")
+    (version "1.0.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/MakeNowJust/heredoc.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "18f21zm8n2wlnkz1ylw8rcxmqxyv2rlz8749yfqggm2m0m2884pj"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/MakeNowJust/heredoc"))
+    (home-page
+      "https://github.com/MakeNowJust/heredoc")
+    (synopsis "Here-documents with keeping indent")
+    (description "This package provides the Here-document with keeping
+indent.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:23:05 GMT) Full text and rfc822 format available.

Message #230 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 07/25] gnu: Add go-github-com-briandowns-spinner.
Date: Mon, 19 Apr 2021 17:22:38 +0200
* gnu/packages/golang.scm (go-github-com-briandowns-spinner): New variable.
---
 gnu/packages/golang.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 650844fcbf..968166df75 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7208,3 +7208,32 @@ terminals supporting ANSI escape sequences.")
 indent.")
     (license license:expat)))
 
+(define-public go-github-com-briandowns-spinner
+  (package
+    (name "go-github-com-briandowns-spinner")
+    (version "1.12.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/briandowns/spinner.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1n6h2iqq5anqg9p2pwz684vhfjx0944rrw53x2cn5m1dybp6rbwx"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/briandowns/spinner"))
+    (native-inputs
+      `(("go-github-com-mattn-go-colorable"
+         ,go-github-com-mattn-go-colorable)
+        ("go-github-com-fatih-color"
+         ,go-github-com-fatih-color)))
+    (home-page
+      "https://github.com/briandowns/spinner")
+    (synopsis "Progress indicator for any terminal application")
+    (description "This is a simple package to add a spinner or progress
+indicator to any terminal application. ")
+    (license license:asl2.0)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:23:06 GMT) Full text and rfc822 format available.

Message #233 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 08/25] gnu: Add go-github-com-cli-browser.
Date: Mon, 19 Apr 2021 17:22:43 +0200
* gnu/packages/golang.scm (go-github-com-cli-browser): New variable.
---
 gnu/packages/golang.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 968166df75..17ea7dc210 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7237,3 +7237,28 @@ indent.")
 indicator to any terminal application. ")
     (license license:asl2.0)))
 
+(define-public go-github-com-cli-browser
+  (package
+    (name "go-github-com-cli-browser")
+    (version "1.1.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/cli/browser.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "13z27cc0a184bhprspwclzbvrzsrfd5qyk5r2djfx5nm85igxr0n"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/cli/browser"))
+    (native-inputs
+      `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
+    (home-page "https://github.com/cli/browser")
+    (synopsis "Helpers to open URLs, or files in the default web browser")
+    (description "This library provides helpers to open URLs, readers, or
+files in the system default web browser.")
+    (license license:bsd-2)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:23:06 GMT) Full text and rfc822 format available.

Message #236 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 09/25] gnu: Add go-github-com-cli-oauth.
Date: Mon, 19 Apr 2021 17:22:48 +0200
* gnu/packages/golang.scm (go-github-com-cli-oauth): New variable.
---
 gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 17ea7dc210..f250571c38 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7262,3 +7262,29 @@ indicator to any terminal application. ")
 files in the system default web browser.")
     (license license:bsd-2)))
 
+(define-public go-github-com-cli-oauth
+  (package
+    (name "go-github-com-cli-oauth")
+    (version "0.8.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/cli/oauth.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1b96cl53qc40xsgpxpy9qkrib4a4g02a4sq442qp8749qab5ljhs"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/cli/oauth"))
+    (native-inputs
+      `(("go-github-com-cli-browser"
+         ,go-github-com-cli-browser)))
+    (home-page "https://github.com/cli/oauth")
+    (synopsis "Perform OAuth Device flow and Web application flow in Go")
+    (description "This is a library for performing OAuth Device flow and Web
+application flow in Go client apps.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:23:06 GMT) Full text and rfc822 format available.

Message #239 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 10/25] gnu: Add go-github-com-russross-blackfriday-v2.
Date: Mon, 19 Apr 2021 17:22:53 +0200
* gnu/packages/golang.scm (go-github-com-russross-blackfriday-v2): New variable.
---
 gnu/packages/golang.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index f250571c38..88b944b25a 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7288,3 +7288,28 @@ files in the system default web browser.")
 application flow in Go client apps.")
     (license license:expat)))
 
+(define-public go-github-com-russross-blackfriday-v2
+  (package
+    (name "go-github-com-russross-blackfriday-v2")
+    (version "2.1.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/russross/blackfriday.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0d1rg1drrfmabilqjjayklsz5d0n3hkf979sr3wsrw92bfbkivs7"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/russross/blackfriday"))
+    (home-page
+      "https://github.com/russross/blackfriday")
+    (synopsis "Markdown processor implemented in Go")
+    (description "Blackfriday is a Markdown processor implemented in Go.  It
+is paranoid about its input (so you can safely feed it user-supplied data), it
+is fast, it supports common extensions (tables, smart punctuation
+substitutions, etc.), and it is safe for all utf-8 (unicode) input.")
+    (license license:bsd-2)))
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:24:02 GMT) Full text and rfc822 format available.

Message #242 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 11/25] gnu: Add go-github-com-cpuguy83-go-md2man-v2.
Date: Mon, 19 Apr 2021 17:22:58 +0200
* gnu/packages/golang.scm (go-github-com-cpuguy83-go-md2man-v2): New variable.
---
 gnu/packages/golang.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 88b944b25a..ee4a94c613 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7313,3 +7313,33 @@ is paranoid about its input (so you can safely feed it user-supplied data), it
 is fast, it supports common extensions (tables, smart punctuation
 substitutions, etc.), and it is safe for all utf-8 (unicode) input.")
     (license license:bsd-2)))
+
+(define-public go-github-com-cpuguy83-go-md2man-v2
+  (package
+    (name "go-github-com-cpuguy83-go-md2man-v2")
+    (version "2.0.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/cpuguy83/go-md2man.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0r1f7v475dxxgzqci1mxfliwadcrk86ippflx9n411325l4g3ghv"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/cpuguy83/go-md2man"))
+    (native-inputs
+      `(("go-github-com-shurcool-sanitized-anchor-name"
+         ,go-github-com-shurcool-sanitized-anchor-name)
+        ("go-github-com-russross-blackfriday-v2"
+         ,go-github-com-russross-blackfriday-v2)
+        ("go-github-com-pmezard-go-difflib"
+         ,go-github-com-pmezard-go-difflib)))
+    (home-page
+      "https://github.com/cpuguy83/go-md2man")
+    (synopsis "Convert Markdown into Man pages")
+    (description "This package converts Markdown into Roff Man pages.")
+    (license license:expat)))
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:24:02 GMT) Full text and rfc822 format available.

Message #245 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 12/25] gnu: Add go-github-com-enescakir-emoji.
Date: Mon, 19 Apr 2021 17:23:05 +0200
* gnu/packages/golang.scm (go-github-com-enescakir-emoji): New variable.
---
 gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index ee4a94c613..289685ef4c 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7343,3 +7343,27 @@ substitutions, etc.), and it is safe for all utf-8 (unicode) input.")
     (synopsis "Convert Markdown into Man pages")
     (description "This package converts Markdown into Roff Man pages.")
     (license license:expat)))
+
+(define-public go-github-com-enescakir-emoji
+  (package
+    (name "go-github-com-enescakir-emoji")
+    (version "1.0.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/enescakir/emoji.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1xnisfsn94izcjhl4xywd971av4b5v1n67figp16wh443lhihxky"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/enescakir/emoji"))
+    (home-page "https://github.com/enescakir/emoji")
+    (synopsis "Minimalistic emoji package for Go")
+    (description "This package provides a minimalistic emoji library for
+Go.  It lets you use emoji characters in strings.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:24:02 GMT) Full text and rfc822 format available.

Message #248 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 13/25] gnu: Add go-github-com-gabriel-vasile-mimetype.
Date: Mon, 19 Apr 2021 17:23:11 +0200
* gnu/packages/golang.scm (go-github-com-gabriel-vasile-mimetype): New variable.
---
 gnu/packages/golang.scm | 47 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 289685ef4c..7dfc098480 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7367,3 +7367,50 @@ substitutions, etc.), and it is safe for all utf-8 (unicode) input.")
 Go.  It lets you use emoji characters in strings.")
     (license license:expat)))
 
+(define-public go-github-com-gabriel-vasile-mimetype
+  (package
+    (name "go-github-com-gabriel-vasile-mimetype")
+    (version "1.2.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/gabriel-vasile/mimetype.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0ysb0pjhyr9b7q2y39b5hpwsaidgfl42gd07yj34mgmb9wfjb7ch"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path
+       "github.com/gabriel-vasile/mimetype"
+       ;; FIXME: Cannot open 'supported_mimes.md'
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         ;; The files are read-only
+         (add-before 'reset-gzip-timestamps 'make-gz-files-writable
+           (lambda* (#:key outputs #:allow-other-keys)
+             (for-each make-file-writable
+                       (find-files (string-append (assoc-ref outputs "out"))
+                                   ".*\\.gz$"))
+             #t)))))
+
+    (home-page
+      "https://github.com/gabriel-vasile/mimetype")
+    (synopsis "A fast golang library for MIME type and file extension detection")
+    (description "This is a package for detecting MIME types and extensions
+based on magic numbers.  Features include
+
+@itemize
+@item fast and precise MIME type and file extension detection
+@item long list of supported MIME types
+@item common file formats are prioritized
+@item small and simple API
+@item handles MIME type aliases
+@item thread safe
+@item low memory usage, besides the file header
+@end itemize")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:24:03 GMT) Full text and rfc822 format available.

Message #251 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 14/25] gnu: Add go-github-com-google-shlex.
Date: Mon, 19 Apr 2021 17:23:16 +0200
* gnu/packages/golang.scm (go-github-com-google-shlex): New variable.
---
 gnu/packages/golang.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 7dfc098480..857a524e69 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7414,3 +7414,26 @@ based on magic numbers.  Features include
 @end itemize")
     (license license:expat)))
 
+(define-public go-github-com-google-shlex
+  (package
+    (name "go-github-com-google-shlex")
+    (version "0.0.0-20191202100458-e7afc7fbc510")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/google/shlex.git")
+               (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "14z8hqyik910wk2qwnzgz8mjsmiamxa0pj55ahbv0jx6j3dgvzfm"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/google/shlex"))
+    (home-page "https://github.com/google/shlex")
+    (synopsis "Simple lexer for Go")
+    (description "This library provides is a simple lexer for Go that supports
+shell-style quoting, commenting, and escaping.")
+    (license license:asl2.0)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:24:03 GMT) Full text and rfc822 format available.

Message #254 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 15/25] gnu: Add go-github-com-henvic-httpretty.
Date: Mon, 19 Apr 2021 17:23:21 +0200
* gnu/packages/golang.scm (go-github-com-henvic-httpretty): New variable.
---
 gnu/packages/golang.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 857a524e69..31f7ead170 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7437,3 +7437,26 @@ based on magic numbers.  Features include
 shell-style quoting, commenting, and escaping.")
     (license license:asl2.0)))
 
+(define-public go-github-com-henvic-httpretty
+  (package
+    (name "go-github-com-henvic-httpretty")
+    (version "0.0.6")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/henvic/httpretty.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1jbnj1x8wribayx65ssxigs9p88pi0cxg36h8qhqvqz1pqiygksa"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/henvic/httpretty"))
+    (home-page "https://github.com/henvic/httpretty")
+    (synopsis "Print the HTTP requests you make on your terminal")
+    (description "This packages prints the HTTP requests you make with Go
+pretty on your terminal.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:24:04 GMT) Full text and rfc822 format available.

Message #257 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 16/25] gnu: Add go-github-com-itchyny-go-flags.
Date: Mon, 19 Apr 2021 17:23:26 +0200
* gnu/packages/golang.scm (go-github-com-itchyny-go-flags): New variable.
---
 gnu/packages/golang.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 31f7ead170..720b9111bc 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7460,3 +7460,36 @@ shell-style quoting, commenting, and escaping.")
 pretty on your terminal.")
     (license license:expat)))
 
+(define-public go-github-com-itchyny-go-flags
+  (package
+    (name "go-github-com-itchyny-go-flags")
+    (version "1.5.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/itchyny/go-flags.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0qfh7gn95aldlsigk72jl87npmwvx15kb7df1100d6j0nbakd8b5"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path
+       "github.com/itchyny/go-flags"
+       ;; Unable to find man page
+       #:tests? #f))
+    (native-inputs
+      `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
+    (home-page "https://github.com/itchyny/go-flags")
+    (synopsis "Go library for parsing command line arguments")
+    (description "This library provides similar functionality to the builtin
+flag library of Go, but provides much more functionality.
+
+Package flags provides an extensive command line option parser.  The flags
+package is similar in functionality to the go builtin flag package but
+provides more options and uses reflection to provide a convenient and succinct
+way of specifying command line options.")
+    (license license:bsd-3)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:24:04 GMT) Full text and rfc822 format available.

Message #260 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 17/25] gnu: Add go-github-com-itchyny-timefmt-go.
Date: Mon, 19 Apr 2021 17:23:31 +0200
* gnu/packages/golang.scm (go-github-com-itchyny-timefmt-go): New variable.
---
 gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 720b9111bc..24867cebb2 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7493,3 +7493,27 @@ provides more options and uses reflection to provide a convenient and succinct
 way of specifying command line options.")
     (license license:bsd-3)))
 
+(define-public go-github-com-itchyny-timefmt-go
+  (package
+    (name "go-github-com-itchyny-timefmt-go")
+    (version "0.1.2")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/itchyny/timefmt-go.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1hfpvmbmzp5zbzz84p030jzd00jclnf4zr16f9r5bbq7xlhncj0z"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/itchyny/timefmt-go"))
+    (home-page
+      "https://github.com/itchyny/timefmt-go")
+    (synopsis "Efficient time formatting library for Go")
+    (description "This package provides functions for formatting and parsing
+date time strings.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:24:04 GMT) Full text and rfc822 format available.

Message #263 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 18/25] gnu: Add go-github-com-itchyny-gojq.
Date: Mon, 19 Apr 2021 17:23:36 +0200
* gnu/packages/golang.scm (go-github-com-itchyny-gojq): New variable.
---
 gnu/packages/golang.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 24867cebb2..8327e328a0 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7517,3 +7517,41 @@ way of specifying command line options.")
 date time strings.")
     (license license:expat)))
 
+(define-public go-github-com-itchyny-gojq
+  (package
+    (name "go-github-com-itchyny-gojq")
+    (version "0.12.2")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/itchyny/gojq.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1pxm341sgqkscwifpxlkvchz8ix3wivp80p59dv257kaa9diymgz"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/itchyny/gojq"))
+    (native-inputs
+      `(("go-gopkg-in-yaml-v3" ,go-gopkg-in-yaml-v3)
+        ("go-golang-org-x-sys" ,go-golang-org-x-sys)
+        ("go-github-com-mattn-go-runewidth"
+         ,go-github-com-mattn-go-runewidth)
+        ("go-github-com-mattn-go-isatty"
+         ,go-github-com-mattn-go-isatty)
+        ("go-github-com-itchyny-go-flags"
+         ,go-github-com-itchyny-go-flags)
+        ("go-github-com-google-go-cmp-cmp"
+         ,go-github-com-google-go-cmp-cmp)))
+    (propagated-inputs
+     `(("go-github-com-itchyny-timefmt-go"
+        ,go-github-com-itchyny-timefmt-go)))
+    (home-page "https://github.com/itchyny/gojq")
+    (synopsis "Pure Go implementation of jq")
+    (description "This package provides an implementation of @command{jq}
+command written in Go language.  It is also embedable as a library to other Go
+projects.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:24:05 GMT) Full text and rfc822 format available.

Message #266 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 19/25] gnu: Add go-github-com-mattn-go-runewidth.
Date: Mon, 19 Apr 2021 17:23:42 +0200
* gnu/packages/golang.scm (go-github-com-mattn-go-runewidth): New variable.
---
 gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 8327e328a0..9e3d9174c1 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7555,3 +7555,29 @@ command written in Go language.  It is also embedable as a library to other Go
 projects.")
     (license license:expat)))
 
+(define-public go-github-com-mattn-go-runewidth
+  (package
+    (name "go-github-com-mattn-go-runewidth")
+    (version "0.0.10")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/mattn/go-runewidth.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0jh9552ppqvkdfni7x623n0x5mbiaqqhjhmr0zkh28x56k4ysii4"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/mattn/go-runewidth"))
+    (native-inputs
+      `(("go-github-com-rivo-uniseg"
+         ,go-github-com-rivo-uniseg)))
+    (home-page "https://github.com/mattn/go-runewidth")
+    (synopsis "Functions to get fixed width of the character or string")
+    (description "This package provides functions to get fixed width of the
+character or string.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:24:06 GMT) Full text and rfc822 format available.

Message #269 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 20/25] gnu: Add go-github-com-rivo-uniseg.
Date: Mon, 19 Apr 2021 17:23:48 +0200
* gnu/packages/golang.scm (go-github-com-rivo-uniseg): New variable.
---
 gnu/packages/golang.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 9e3d9174c1..d66ee2050e 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7581,3 +7581,26 @@ projects.")
 character or string.")
     (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.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0j7h22vfmjj562vr8gpsyrkrwp1pq9ayh5fylv24skxb467g9f0q"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/rivo/uniseg"))
+    (home-page "https://github.com/rivo/uniseg")
+    (synopsis "Unicode Text Segmentation for Go")
+    (description "This package implements Unicode Text Segmentation according
+to @url{https://unicode.org/reports/tr29/,Unicode Standard Annex #29}.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:24:06 GMT) Full text and rfc822 format available.

Message #272 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 21/25] gnu: Add go-github-com-shurcool-githubv4.
Date: Mon, 19 Apr 2021 17:23:54 +0200
* gnu/packages/golang.scm (go-github-com-shurcool-githubv4): New variable.
---
 gnu/packages/golang.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index d66ee2050e..a2f2bf45c9 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7604,3 +7604,35 @@ character or string.")
 to @url{https://unicode.org/reports/tr29/,Unicode Standard Annex #29}.")
     (license license:expat)))
 
+(define-public go-github-com-shurcool-githubv4
+  (package
+    (name "go-github-com-shurcool-githubv4")
+    (version "0.0.0-20201206200315-234843c633fa")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/shurcooL/githubv4.git")
+               (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "1jmmjv95vcm9vl5zpvwv77pq3mhf2j2vxc7pj75yfniymp2dh5mi"))))
+    (build-system go-build-system)
+    (arguments
+      '(#:import-path "github.com/shurcooL/githubv4"))
+    (native-inputs
+     `(("go-github-com-shurcooL-graphql" ,go-github-com-shurcool-graphql)
+       ("go-golang-org-x-oauth2" ,go-golang-org-x-oauth2)))
+    (home-page "https://github.com/shurcooL/githubv4")
+    (synopsis "Client library for accessing the GitHub GraphQL API v4")
+    (description "This package is a client library for accessing the GitHub
+GraphQL API v4.  It focuses on the following things:
+
+@itemize
+@item Friendly, simple and powerful API.
+@item Correctness, high performance and efficiency.
+@item Support for all of GitHub GraphQL API v4 via code generation from schema.
+@end itemize")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:25:01 GMT) Full text and rfc822 format available.

Message #275 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 22/25] gnu: Add go-gopkg-in-yaml-v3.
Date: Mon, 19 Apr 2021 17:23:59 +0200
* gnu/packages/golang.scm (go-gopkg-in-yaml-v3): New variable.
---
 gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index a2f2bf45c9..9182fb183f 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7636,3 +7636,29 @@ GraphQL API v4.  It focuses on the following things:
 @end itemize")
     (license license:expat)))
 
+(define-public go-gopkg-in-yaml-v3
+  (package
+    (name "go-gopkg-in-yaml-v3")
+    (version "3.0.0-20210107192922-496545a6307b")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://gopkg.in/yaml.v3")
+               (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "06f4lnrp494wqaygv09dggr2dwf3z2bawqhnlnnwiamg5y787k4g"))))
+    (build-system go-build-system)
+    (arguments '(#:import-path "gopkg.in/yaml.v3"))
+    (native-inputs
+      `(("go-gopkg-in-check-v1" ,go-gopkg-in-check-v1)))
+    (home-page "https://gopkg.in/yaml.v3")
+    (synopsis "YAML support for the Go language")
+    (description "This library enables Go programs to comfortably encode and
+decode YAML values.  It is based on a pure Go port of the well-known libyaml C
+library to parse and generate YAML data quickly and reliably.")
+    (license (list license:expat
+                   license:asl2.0))))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:25:02 GMT) Full text and rfc822 format available.

Message #278 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 23/25] gnu: Add go-github-com-shurcool-graphql.
Date: Mon, 19 Apr 2021 17:24:04 +0200
* gnu/packages/golang.scm (go-github-com-shurcool-graphql): New variable.
---
 gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 9182fb183f..b4195d1c6f 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7662,3 +7662,27 @@ library to parse and generate YAML data quickly and reliably.")
     (license (list license:expat
                    license:asl2.0))))
 
+(define-public go-github-com-shurcool-graphql
+  (package
+    (name "go-github-com-shurcool-graphql")
+    (version "0.0.0-20200928012149-18c5c3165e3a")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/shurcooL/graphql.git")
+             (commit (go-version->git-ref version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0psxc2q3qsh1lfag11m2gz54fzzvlss5znyf34aars94igsjywzx"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/shurcooL/graphql"))
+    (native-inputs
+     `(("go-golang-org-x-net" ,go-golang-org-x-net)))
+    (home-page "https://github.com/shurcooL/graphql")
+    (synopsis "GraphQL client implementation")
+    (description "This package provides a GraphQL client implementation.")
+    (license license:expat)))
+
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:25:02 GMT) Full text and rfc822 format available.

Message #281 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 24/25] gnu: Add go-github-com-cli-shurcool-graphql.
Date: Mon, 19 Apr 2021 17:24:10 +0200
* gnu/packages/golang.scm (go-github-com-cli-shurcool-graphql): New variable.
---
 gnu/packages/golang.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index b4195d1c6f..642b364bcd 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7686,3 +7686,22 @@ library to parse and generate YAML data quickly and reliably.")
     (description "This package provides a GraphQL client implementation.")
     (license license:expat)))
 
+;; GitHub's fork of go-github-com-shurcool-graphql, used by the 'github-cli'
+(define-public go-github-com-cli-shurcool-graphql
+  (hidden-package
+   (package
+     (inherit go-github-com-shurcool-graphql)
+     (name "go-github-com-cli-shurcool-graphql")
+     ;; Use the commit from the 'named-queries' branch
+     (version "0.0.0-20200707151639-0f7232a2bf7e")
+     (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/cli/shurcooL-graphql.git")
+              (commit (go-version->git-ref version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "19dv1zprs9zv5gnwql29r7lym08gh2jwkz0w0f62823b57m1rjp6"))))
+     (home-page "https://github.com/cli/shurcooL-graphql"))))
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 15:25:03 GMT) Full text and rfc822 format available.

Message #284 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: 47539 <at> debbugs.gnu.org
Subject: [PATCH v3 25/25] gnu: Add github-cli.
Date: Mon, 19 Apr 2021 17:24:14 +0200
* gnu/packages/version-control.scm (github-cli): New variable.
---
 gnu/packages/version-control.scm | 145 +++++++++++++++++++++++++++++++
 1 file changed, 145 insertions(+)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index ebddd9522a..da6f71ccfe 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -118,6 +118,7 @@
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages sync)
+  #:use-module ((gnu packages syncthing) #:select (go-github-com-kballard-go-shellquote))
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages time)
@@ -3021,6 +3022,150 @@ commit message side by side
 If several repos are related, it helps to see their status together.")
       (license license:expat))))
 
+(define-public github-cli
+  (package
+    (name "github-cli")
+    (version "1.8.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/cli/cli.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "009jh1i1ji7d773ismifdw4qvwlb8s1zn14d0n84j9h3n0hyynbc"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path
+       "github.com/cli/cli/cmd/gh"
+       #:unpack-path
+       "github.com/cli/cli"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-safeexec
+           (lambda* (#:key outputs #:allow-other-keys)
+             (with-directory-excursion "src/github.com/cli/cli/"
+               ;; 'github.com/cli/safeexec' is only used for Windows, we
+               ;; replace it with the regular 'os/exec'.  See
+               ;; <https://issues.guix.gnu.org/47539> for discussion.
+               (substitute* '("pkg/cmd/alias/expand/expand.go"
+                              "script/build.go")
+                 (("github.com/cli/safeexec") "os/exec")
+                 (("safeexec") "exec"))
+               ;; These files have already imported 'os/exec', meaning that
+               ;; 'os/exec' would get imported twice, causing an error.
+               ;; Instead, we just remove the 'github.com/cli/safeexec'.
+               (substitute* '("cmd/gh/main.go"
+                              "git/git.go"
+                              "pkg/iostreams/iostreams.go"
+                              "pkg/cmd/auth/shared/ssh_keys.go"
+                              "pkg/cmd/pr/checkout/checkout.go"
+                              "pkg/cmdutil/web_browser.go"
+                              "pkg/surveyext/editor_manual.go")
+                 (("\"github.com/cli/safeexec\"") "")
+                 (("safeexec") "exec"))))))))
+    (native-inputs
+     `(("go-github-com-cli-shurcool-graphql"
+        ,go-github-com-cli-shurcool-graphql)
+       ("go-gopkg-in-yaml-v3" ,go-gopkg-in-yaml-v3)
+       ("go-golang-org-x-text" ,go-golang-org-x-text)
+       ("go-golang-org-x-sync" ,go-golang-org-x-sync)
+       ("go-golang-org-x-crypto"
+        ,go-golang-org-x-crypto)
+       ("go-github-com-stretchr-testify"
+        ,go-github-com-stretchr-testify)
+       ("go-github-com-spf13-pflag"
+        ,go-github-com-spf13-pflag)
+       ("go-github-com-spf13-cobra"
+        ,go-github-com-spf13-cobra)
+       ("go-github-com-shurcool-githubv4"
+        ,go-github-com-shurcool-githubv4)
+       ("go-github-com-rivo-uniseg"
+        ,go-github-com-rivo-uniseg)
+       ("go-github-com-muesli-termenv"
+        ,go-github-com-muesli-termenv)
+       ("go-github-com-mitchellh-go-homedir"
+        ,go-github-com-mitchellh-go-homedir)
+       ("go-github-com-mgutz-ansi"
+        ,go-github-com-mgutz-ansi)
+       ("go-github-com-mattn-go-runewidth"
+        ,go-github-com-mattn-go-runewidth)
+       ("go-github-com-mattn-go-isatty"
+        ,go-github-com-mattn-go-isatty)
+       ("go-github-com-mattn-go-colorable"
+        ,go-github-com-mattn-go-colorable)
+       ("go-github-com-kballard-go-shellquote"
+        ,go-github-com-kballard-go-shellquote)
+       ("go-github-com-itchyny-gojq"
+        ,go-github-com-itchyny-gojq)
+       ("go-github-com-henvic-httpretty"
+        ,go-github-com-henvic-httpretty)
+       ("go-github-com-hashicorp-go-version"
+        ,go-github-com-hashicorp-go-version)
+       ("go-github-com-google-shlex"
+        ,go-github-com-google-shlex)
+       ("go-github-com-google-go-cmp-cmp"
+        ,go-github-com-google-go-cmp-cmp)
+       ("go-github-com-gabriel-vasile-mimetype"
+        ,go-github-com-gabriel-vasile-mimetype)
+       ("go-github-com-enescakir-emoji"
+        ,go-github-com-enescakir-emoji)
+       ("go-github-com-cpuguy83-go-md2man-v2"
+        ,go-github-com-cpuguy83-go-md2man-v2)
+       ("go-github-com-cli-oauth"
+        ,go-github-com-cli-oauth)
+       ("go-github-com-cli-browser"
+        ,go-github-com-cli-browser)
+       ("go-github-com-briandowns-spinner"
+        ,go-github-com-briandowns-spinner)
+       ("go-github-com-makenowjust-heredoc"
+        ,go-github-com-makenowjust-heredoc)
+       ("go-github-com-alecaivazis-survey-v2"
+        ,go-github-com-alecaivazis-survey-v2)
+       ("go-github-com-charmbracelet-glamour"
+        ,go-github-com-charmbracelet-glamour)
+       ("go-github-com-alecthomas-chroma"
+        ,go-github-com-alecthomas-chroma)
+       ("go-github-com-google-goterm"
+        ,go-github-com-google-goterm)
+       ("go-github-com-aymerick-douceur"
+        ,go-github-com-aymerick-douceur)
+       ("go-github-com-danwakefield-fnmatch"
+        ,go-github-com-danwakefield-fnmatch)
+       ("go-github-com-chris-ramon-douceur"
+        ,go-github-com-chris-ramon-douceur)
+       ("go-github-com-gorilla-css"
+        ,go-github-com-gorilla-css)
+       ("go-golang-org-colorful"
+        ,go-golang-org-colorful)
+       ("go-golang-org-x-net"
+        ,go-golang-org-x-net)
+       ("go-github-com-muesli-reflow-ansi"
+        ,go-github-com-muesli-reflow-ansi)
+       ("go-github-com-microcosm-cc-bluemonday"
+        ,go-github-com-microcosm-cc-bluemonday)
+       ("go-github-com-muesli-reflow-wordwrap"
+        ,go-github-com-muesli-reflow-wordwrap)
+       ("go-github-com-yuin-goldmark"
+        ,go-github-com-yuin-goldmark)
+       ("go-github-com-dlclark-regexp2"
+        ,go-github-com-dlclark-regexp2)
+       ("go-github-com-muesli-reflow-indent"
+        ,go-github-com-muesli-reflow-indent)
+       ("go-github-com-muesli-reflow-padding"
+        ,go-github-com-muesli-reflow-padding)
+       ("go-github-com-olekukonko-tablewriter"
+        ,go-github-com-olekukonko-tablewriter)))
+    (home-page "https://github.com/cli/cli")
+    (synopsis "CLI interface to GitHub")
+    (description "This package provides the @command{gh} command, an interface
+to GitHub on the command line.  It brings pull requests, issues, and other
+GitHub concepts to the terminal next to where you are already working with Git
+and your code.")
+    (license license:expat)))
+
 (define-public ghq
   (package
     (name "ghq")
-- 
2.31.1






Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 19 Apr 2021 22:38:02 GMT) Full text and rfc822 format available.

Message #287 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Sharlatan Hellseher <sharlatanus <at> gmail.com>
To: 47539 <at> debbugs.gnu.org
Date: Mon, 19 Apr 2021 22:37:07 +0000
For the Glang package where version is not defined

--8<---------------cut here---------------start------------->8---
+(define-public go-github-com-shurcool-githubv4
+ (package+ (name "go-github-com-shurcool-githubv4")
+ (version "0.0.0-20201206200315-234843c633fa")
--8<---------------cut here---------------start------------->8---

It's better to use latest commit (check any of gnu/packages/golang.scm)

--8<---------------cut here---------------start------------->8---
(define-public go-golang-org-x-image
  (let ((commit "58c23975cae11f062d4b3b0c143fe248faac195d")
        (revision "1"))
    (package
      (name "go-golang-org-x-image")
      (version (git-version "0.0.0" revision commit))
--8<---------------cut here---------------start------------->8---

-- 
… наш разум - превосходная объяснительная машина которая способна
найти смысл почти в чем угодно, истолковать любой феномен, но
совершенно не в состоянии принять мысль о непредсказуемости.

Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Tue, 20 Apr 2021 05:28:02 GMT) Full text and rfc822 format available.

Message #290 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: Sharlatan Hellseher <sharlatanus <at> gmail.com>, 47539 <at> debbugs.gnu.org
Subject: Re: [bug#47539]
Date: Tue, 20 Apr 2021 07:26:59 +0200
On Mon, Apr 19 2021, Sharlatan Hellseher wrote:

> For the Glang package where version is not defined
>
> --8<---------------cut here---------------start------------->8---
> +(define-public go-github-com-shurcool-githubv4
> + (package+ (name "go-github-com-shurcool-githubv4")
> + (version "0.0.0-20201206200315-234843c633fa")
> --8<---------------cut here---------------start------------->8---
>
> It's better to use latest commit (check any of gnu/packages/golang.scm)

The github-cli package specifies an exact revision for some of its
dependencies[1], and thats what the Go importer generated.  Should I use
the latest commit anyway?

[1]: https://github.com/cli/cli/blob/trunk/go.mod





Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Tue, 20 Apr 2021 05:35:01 GMT) Full text and rfc822 format available.

Message #293 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Xinglu Chen <public <at> yoctocell.xyz>
Cc: 47539 <at> debbugs.gnu.org, Sharlatan Hellseher <sharlatanus <at> gmail.com>
Subject: Re: [bug#47539]
Date: Tue, 20 Apr 2021 01:34:23 -0400
On Tue, Apr 20, 2021 at 07:26:59AM +0200, Xinglu Chen wrote:
> The github-cli package specifies an exact revision for some of its
> dependencies[1], and thats what the Go importer generated.  Should I use
> the latest commit anyway?
> 
> [1]: https://github.com/cli/cli/blob/trunk/go.mod

You should always use what's specified in go.mod.

Golang software is like that: You should use exact versions of
dependencies.




Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Tue, 20 Apr 2021 07:36:01 GMT) Full text and rfc822 format available.

Message #296 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: Leo Famulari <leo <at> famulari.name>
Cc: 47539 <at> debbugs.gnu.org, Sharlatan Hellseher <sharlatanus <at> gmail.com>
Subject: Re: [bug#47539]
Date: Tue, 20 Apr 2021 09:34:52 +0200
On Tue, Apr 20 2021, Leo Famulari wrote:

> On Tue, Apr 20, 2021 at 07:26:59AM +0200, Xinglu Chen wrote:
>> The github-cli package specifies an exact revision for some of its
>> dependencies[1], and thats what the Go importer generated.  Should I use
>> the latest commit anyway?
>> 
>> [1]: https://github.com/cli/cli/blob/trunk/go.mod
>
> You should always use what's specified in go.mod.
>
> Golang software is like that: You should use exact versions of
> dependencies.

Ok, that’s what I did. :)




Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Fri, 21 May 2021 17:10:02 GMT) Full text and rfc822 format available.

Message #299 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Leo Prikler <leo.prikler <at> student.tugraz.at>
To: Xinglu Chen <public <at> yoctocell.xyz>, Leo Famulari <leo <at> famulari.name>
Cc: 47539 <at> debbugs.gnu.org, Sharlatan Hellseher <sharlatanus <at> gmail.com>
Subject: Re: [bug#47539]
Date: Fri, 21 May 2021 19:08:49 +0200
Am Dienstag, den 20.04.2021, 09:34 +0200 schrieb Xinglu Chen:
> On Tue, Apr 20 2021, Leo Famulari wrote:
> 
> > On Tue, Apr 20, 2021 at 07:26:59AM +0200, Xinglu Chen wrote:
> > > The github-cli package specifies an exact revision for some of
> > > its
> > > dependencies[1], and thats what the Go importer
> > > generated.  Should I use
> > > the latest commit anyway?
> > > 
> > > [1]: https://github.com/cli/cli/blob/trunk/go.mod
> > 
> > You should always use what's specified in go.mod.
> > 
> > Golang software is like that: You should use exact versions of
> > dependencies.
> 
> Ok, that’s what I did. :)
It seems patchwork does not want to process this patch in the way I
want it to process it.
@lfam: Does this patch look good to you?  If so, can we apply it?

Regards,
Leo





Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Fri, 21 May 2021 20:35:01 GMT) Full text and rfc822 format available.

Message #302 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Leo Prikler <leo.prikler <at> student.tugraz.at>
Cc: Sharlatan Hellseher <sharlatanus <at> gmail.com>, 47539 <at> debbugs.gnu.org,
 Xinglu Chen <public <at> yoctocell.xyz>
Subject: Re: [bug#47539]
Date: Fri, 21 May 2021 16:34:51 -0400
On Fri, May 21, 2021 at 07:08:49PM +0200, Leo Prikler wrote:
> @lfam: Does this patch look good to you?  If so, can we apply it?

I notice that (most of?) the new packages use native-inputs for their
dependencies.

If these dependencies are used at run-time, I would propagate them
instead. This way, they will be available in the build environment of
packages that depend on the package that is using them, which matters
for our go-build-system, where everything is built from scratch in each
package. If I remember correctly, that is...

Otherwise, if they pass `guix lint`, the licenses have been checked, and
the software works, LGTM.




Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Sat, 05 Jun 2021 19:52:02 GMT) Full text and rfc822 format available.

Message #305 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: Leo Famulari <leo <at> famulari.name>, Leo Prikler
 <leo.prikler <at> student.tugraz.at>
Cc: 47539 <at> debbugs.gnu.org
Subject: Re: [bug#47539]
Date: Sat, 05 Jun 2021 21:16:36 +0200
[Message part 1 (text/plain, inline)]
On Fri, May 21 2021, Leo Famulari wrote:

> On Fri, May 21, 2021 at 07:08:49PM +0200, Leo Prikler wrote:
>> @lfam: Does this patch look good to you?  If so, can we apply it?
>
> I notice that (most of?) the new packages use native-inputs for their
> dependencies.
>
> If these dependencies are used at run-time, I would propagate them
> instead. This way, they will be available in the build environment of
> packages that depend on the package that is using them, which matters
> for our go-build-system, where everything is built from scratch in each
> package. If I remember correctly, that is...

I am not familiar with the Go ecosystem, is there a way to tell if a
dependency is used at runtime?

Sorry for the delay.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Sun, 06 Jun 2021 17:27:02 GMT) Full text and rfc822 format available.

Message #308 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Xinglu Chen <public <at> yoctocell.xyz>
Cc: 47539 <at> debbugs.gnu.org, Leo Prikler <leo.prikler <at> student.tugraz.at>
Subject: Re: [bug#47539]
Date: Sun, 6 Jun 2021 13:26:41 -0400
On Sat, Jun 05, 2021 at 09:16:36PM +0200, Xinglu Chen wrote:
> On Fri, May 21 2021, Leo Famulari wrote:
> > I notice that (most of?) the new packages use native-inputs for their
> > dependencies.
> >
> > If these dependencies are used at run-time, I would propagate them
> > instead. This way, they will be available in the build environment of
> > packages that depend on the package that is using them, which matters
> > for our go-build-system, where everything is built from scratch in each
> > package. If I remember correctly, that is...
> 
> I am not familiar with the Go ecosystem, is there a way to tell if a
> dependency is used at runtime?

Remember, Go uses static compilation, so Guix's concept of "runtime"
dependencies doesn't apply to Go like it does for other languages.

For Go, you'll know that a dependency was missing, because the build
will fail without it.

Our current go-build-system implementation rebuilds every dependency
from source when it is used while building another package
(inefficient!). 

If foo requires bar, and baz depends on foo, then bar needs to be
available when building baz. That is because foo will be rebuilt while
building baz.

We must either propagate bar from foo, or make baz depend on it.
Technically, bar is a dependency of foo, so it is correct to propagate
it from foo.

You may also check if baz also depends on bar, by checking if baz tries
to import bar. Go software imports (or declares?) its dependencies by
importing them using "import paths" [0], as shown in this example:

https://github.com/syncthing/syncthing/blob/v1.17.0/cmd/strelaypoolsrv/main.go#L5

The external or non-stdlib dependencies are named by what looks like a
URL. These URL-like "import paths" are the actual and unique names for
Go programs.

So, if baz also depends on bar, your grep in the baz source code will
return a match for the import path of bar; something like
'github.com/author/bar'.

Does that make sense? I'm happy to clarify things until it does :)

[0] https://golang.org/doc/code#Organization




Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 07 Jun 2021 13:00:02 GMT) Full text and rfc822 format available.

Message #311 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: Leo Famulari <leo <at> famulari.name>
Cc: 47539 <at> debbugs.gnu.org, Leo Prikler <leo.prikler <at> student.tugraz.at>
Subject: Re: [bug#47539]
Date: Mon, 07 Jun 2021 14:58:54 +0200
[Message part 1 (text/plain, inline)]
On Sun, Jun 06 2021, Leo Famulari wrote:

> On Sat, Jun 05, 2021 at 09:16:36PM +0200, Xinglu Chen wrote:
>> On Fri, May 21 2021, Leo Famulari wrote:
>> > I notice that (most of?) the new packages use native-inputs for their
>> > dependencies.
>> >
>> > If these dependencies are used at run-time, I would propagate them
>> > instead. This way, they will be available in the build environment of
>> > packages that depend on the package that is using them, which matters
>> > for our go-build-system, where everything is built from scratch in each
>> > package. If I remember correctly, that is...
>> 
>> I am not familiar with the Go ecosystem, is there a way to tell if a
>> dependency is used at runtime?
>
> Remember, Go uses static compilation, so Guix's concept of "runtime"
> dependencies doesn't apply to Go like it does for other languages.
>
> For Go, you'll know that a dependency was missing, because the build
> will fail without it.

Everything built fine the last time I was working on this, and I was
able to open a GitHub issue using the resulting ‘gh’ binary, so things
seem to be OK.

> Our current go-build-system implementation rebuilds every dependency
> from source when it is used while building another package
> (inefficient!).

So kinda like what Cargo does?  Go doesn’t seem to have the concept of
shared libraries, I guess?

> If foo requires bar, and baz depends on foo, then bar needs to be
> available when building baz. That is because foo will be rebuilt while
> building baz.
>
> We must either propagate bar from foo, or make baz depend on it.
> Technically, bar is a dependency of foo, so it is correct to propagate
> it from foo.

So if A dependes on B which depends on C, and I want to build A, then C
has to be a ‘propagated-input’ for B?  Did I get that right?

But if I just want to build B, should C still be a ‘propagated-input’
for B?

> You may also check if baz also depends on bar, by checking if baz tries
> to import bar. Go software imports (or declares?) its dependencies by
> importing them using "import paths" [0], as shown in this example:

Right, but shouldn’t it be enough to just look at the content of the
go.mod file, won’t it list all the dependencies of the package?


[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 07 Jun 2021 13:13:01 GMT) Full text and rfc822 format available.

Message #314 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: Leo Famulari <leo <at> famulari.name>
Cc: 47539 <at> debbugs.gnu.org, Leo Prikler <leo.prikler <at> student.tugraz.at>
Subject: Re: [bug#47539]
Date: Mon, 07 Jun 2021 15:11:53 +0200
[Message part 1 (text/plain, inline)]
On Mon, Jun 07 2021, Xinglu Chen wrote:

> On Sun, Jun 06 2021, Leo Famulari wrote:
>
>> On Sat, Jun 05, 2021 at 09:16:36PM +0200, Xinglu Chen wrote:
>>> On Fri, May 21 2021, Leo Famulari wrote:
>>> > I notice that (most of?) the new packages use native-inputs for their
>>> > dependencies.
>>> >
>>> > If these dependencies are used at run-time, I would propagate them
>>> > instead. This way, they will be available in the build environment of
>>> > packages that depend on the package that is using them, which matters
>>> > for our go-build-system, where everything is built from scratch in each
>>> > package. If I remember correctly, that is...
>>> 
>>> I am not familiar with the Go ecosystem, is there a way to tell if a
>>> dependency is used at runtime?
>>
>> If foo requires bar, and baz depends on foo, then bar needs to be
>> available when building baz. That is because foo will be rebuilt while
>> building baz.
>>
>> We must either propagate bar from foo, or make baz depend on it.
>> Technically, bar is a dependency of foo, so it is correct to propagate
>> it from foo.
>
> So if A dependes on B which depends on C, and I want to build A, then C
> has to be a ‘propagated-input’ for B?  Did I get that right?
>
> But if I just want to build B, should C still be a ‘propagated-input’
> for B?

Since a new version of the ‘github-cli’ package is out, I ran
‘./pre-inst-env guix import go -r github.com/cli/cli’ to see if it had
any new dependencies.  I noticed that the Go importer put all the
dependencies as ‘propagated-input’ instead of ‘native-input’ (which it
did before).

My guess is that basically everything should be propagated?

[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 07 Jun 2021 13:35:02 GMT) Full text and rfc822 format available.

Message #317 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Leo Prikler <leo.prikler <at> student.tugraz.at>
To: Xinglu Chen <public <at> yoctocell.xyz>, Leo Famulari <leo <at> famulari.name>
Cc: 47539 <at> debbugs.gnu.org
Subject: Re: [bug#47539]
Date: Mon, 07 Jun 2021 15:33:40 +0200
Am Montag, den 07.06.2021, 15:11 +0200 schrieb Xinglu Chen:
> On Mon, Jun 07 2021, Xinglu Chen wrote:
> 
> > On Sun, Jun 06 2021, Leo Famulari wrote:
> > 
> > > On Sat, Jun 05, 2021 at 09:16:36PM +0200, Xinglu Chen wrote:
> > > > On Fri, May 21 2021, Leo Famulari wrote:
> > > > > I notice that (most of?) the new packages use native-inputs
> > > > > for their
> > > > > dependencies.
> > > > > 
> > > > > If these dependencies are used at run-time, I would propagate
> > > > > them
> > > > > instead. This way, they will be available in the build
> > > > > environment of
> > > > > packages that depend on the package that is using them, which
> > > > > matters
> > > > > for our go-build-system, where everything is built from
> > > > > scratch in each
> > > > > package. If I remember correctly, that is...
> > > > 
> > > > I am not familiar with the Go ecosystem, is there a way to tell
> > > > if a
> > > > dependency is used at runtime?
> > > 
> > > If foo requires bar, and baz depends on foo, then bar needs to be
> > > available when building baz. That is because foo will be rebuilt
> > > while
> > > building baz.
> > > 
> > > We must either propagate bar from foo, or make baz depend on it.
> > > Technically, bar is a dependency of foo, so it is correct to
> > > propagate
> > > it from foo.
> > 
> > So if A dependes on B which depends on C, and I want to build A,
> > then C
> > has to be a ‘propagated-input’ for B?  Did I get that right?
> > 
> > But if I just want to build B, should C still be a ‘propagated-
> > input’
> > for B?
> 
> Since a new version of the ‘github-cli’ package is out, I ran
> ‘./pre-inst-env guix import go -r github.com/cli/cli’ to see if it
> had
> any new dependencies.  I noticed that the Go importer put all the
> dependencies as ‘propagated-input’ instead of ‘native-input’ (which
> it
> did before).
> 
> My guess is that basically everything should be propagated?
Do cross-check with the output of the Go importer.  While there were
some modifications that we made (e.g. the safeexec thing), the Go
importer probably does "the right thing™".

Regards,
Leo





Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Mon, 07 Jun 2021 17:20:01 GMT) Full text and rfc822 format available.

Message #320 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Xinglu Chen <public <at> yoctocell.xyz>
Cc: 47539 <at> debbugs.gnu.org, Leo Prikler <leo.prikler <at> student.tugraz.at>
Subject: Re: [bug#47539]
Date: Mon, 7 Jun 2021 13:19:07 -0400
On Mon, Jun 07, 2021 at 02:58:54PM +0200, Xinglu Chen wrote:
> So kinda like what Cargo does?  Go doesn’t seem to have the concept of
> shared libraries, I guess?

Apparently it has some concept of them, but it seems that it does static
compilation by default. This is touted as one of the strengths of Go: it
creates fully independent run-anywhere binaries.

> So if A dependes on B which depends on C, and I want to build A, then C
> has to be a ‘propagated-input’ for B?  Did I get that right?

Yes, for our go-build-system.

> But if I just want to build B, should C still be a ‘propagated-input’
> for B?

Yes, unless B is only an end-user executable, such as Syncthing. In that
case it doesn't matter if you use inputs or propagated-inputs.

> Right, but shouldn’t it be enough to just look at the content of the
> go.mod file, won’t it list all the dependencies of the package?

Yes, that should work too! But the module imports are the ultimate
"source of truth" in terms of what is used.

Sometimes you will find a Go program that has extraneous things in
go.mod. They are listed in go.mod but not actually imported anywhere,
and thus not used.

Also, I started learning about Go before Go modules were introduced, so
my admittedly weak knowledge is now even weaker. I only learned about Go
in order to do Guix packaging. If it sounds like I am wrong about
something, I probably am :)




Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Thu, 15 Jul 2021 12:25:01 GMT) Full text and rfc822 format available.

Message #323 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Leo Prikler <leo.prikler <at> student.tugraz.at>
To: Leo Famulari <leo <at> famulari.name>, Xinglu Chen <public <at> yoctocell.xyz>
Cc: 47539 <at> debbugs.gnu.org
Subject: Re: [bug#47539] Add github-cli
Date: Thu, 15 Jul 2021 14:24:20 +0200
Hi everyone,

Am Montag, den 07.06.2021, 13:19 -0400 schrieb Leo Famulari:
> > So if A dependes on B which depends on C, and I want to build A,
> > then C has to be a ‘propagated-input’ for B?  Did I get that right?
> 
> Yes, for our go-build-system.
> 
> > But if I just want to build B, should C still be a ‘propagated-
> > input’ for B?
> 
> Yes, unless B is only an end-user executable, such as Syncthing.  In
> that case it doesn't matter if you use inputs or propagated-inputs.
For context, I think github-cli will probably be fine using inputs
instead of propagated inputs, but the rest down the chain might need to
be adjusted.

There has been some time since the last patch was sent and I sadly
doubt cbaines' patchwork will try to build this package.  Is v3 good to
go to master?  Should Xinglu send a v4?  @Xinglu, are you still
interested in merging v3/creating a v4?

Regards,
Leo





Information forwarded to guix-patches <at> gnu.org:
bug#47539; Package guix-patches. (Fri, 16 Jul 2021 17:21:02 GMT) Full text and rfc822 format available.

Message #326 received at 47539 <at> debbugs.gnu.org (full text, mbox):

From: Xinglu Chen <public <at> yoctocell.xyz>
To: Leo Prikler <leo.prikler <at> student.tugraz.at>, Leo Famulari
 <leo <at> famulari.name>
Cc: 47539 <at> debbugs.gnu.org
Subject: Re: [bug#47539] Add github-cli
Date: Fri, 16 Jul 2021 19:20:08 +0200
[Message part 1 (text/plain, inline)]
On Thu, Jul 15 2021, Leo Prikler wrote:

> Hi everyone,
>
> Am Montag, den 07.06.2021, 13:19 -0400 schrieb Leo Famulari:
>> > So if A dependes on B which depends on C, and I want to build A,
>> > then C has to be a ‘propagated-input’ for B?  Did I get that right?
>> 
>> Yes, for our go-build-system.
>> 
>> > But if I just want to build B, should C still be a ‘propagated-
>> > input’ for B?
>> 
>> Yes, unless B is only an end-user executable, such as Syncthing.  In
>> that case it doesn't matter if you use inputs or propagated-inputs.
> For context, I think github-cli will probably be fine using inputs
> instead of propagated inputs, but the rest down the chain might need to
> be adjusted.
>
> There has been some time since the last patch was sent and I sadly
> doubt cbaines' patchwork will try to build this package.  Is v3 good to
> go to master?  Should Xinglu send a v4?  @Xinglu, are you still
> interested in merging v3/creating a v4?

A few weeks ago I tried to update ‘github-cli’ to the latest version,
but it required some new packages to be packaged, and I got stuck trying
to package one of them.

I don’t really have much interest in packaging it (well, Go packages in
general) anymore since I rarely interact with GitHub anyway.  Unless
someone else would like to pick it up, I am OK with closing the bug.

Sorry for not following up on this.
[signature.asc (application/pgp-signature, inline)]

Reply sent to Sharlatan Hellseher <sharlatanus <at> gmail.com>:
You have taken responsibility. (Tue, 11 Feb 2025 19:40:02 GMT) Full text and rfc822 format available.

Notification sent to Xinglu Chen <public <at> yoctocell.xyz>:
bug acknowledged by developer. (Tue, 11 Feb 2025 19:40:02 GMT) Full text and rfc822 format available.

Message #331 received at 47539-done <at> debbugs.gnu.org (full text, mbox):

From: Sharlatan Hellseher <sharlatanus <at> gmail.com>
To: 47539-done <at> debbugs.gnu.org
Subject: [PATCH 00/28] Add gh and dependencies
Date: Tue, 11 Feb 2025 19:39:15 +0000
[Message part 1 (text/plain, inline)]
Hi,

This patch series is a way behind the latest version and no longer
applicable.

Closing as not applied.

Oleg
[Message part 2 (text/html, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 12 Mar 2025 11:24:20 GMT) Full text and rfc822 format available.

This bug report was last modified 1 day ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.