gnu: go-github-com-mattn-go-colorable: Update to 0.1.8.
[jackhill/guix/guix.git] / gnu / packages / golang.scm
index cf69602..af007e3 100644 (file)
 ;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
-;;; Copyright @ 2018, 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
-;;; Copyright @ 2019 Giovanni Biscuolo <g@xelera.eu>
-;;; Copyright @ 2019, 2020 Alex Griffin <a@ajgrf.com>
+;;; Copyright © 2018, 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
+;;; Copyright © 2019 Giovanni Biscuolo <g@xelera.eu>
+;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2019, 2020 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
+;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.com>
+;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
+;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2020 raingloom <raingloom@riseup.net>
+;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -46,6 +51,7 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages glib)
   #:use-module (gnu packages base)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -54,6 +60,7 @@
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages web)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
                   ("os/os_test.go" "(.+)(TestHostname.+)")
                   ("time/format_test.go" "(.+)(TestParseInSydney.+)")
 
+                  ;; XXX: This test fails with tzdata 2020b and newer.  Later
+                  ;; Go releases work fine, so just disable this for the
+                  ;; bootstrap Go.
+                  ("time/example_test.go" "(.+)(ExampleParseInLocation.+)")
+
                   ("os/exec/exec_test.go" "(.+)(TestEcho.+)")
                   ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)")
                   ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)")
@@ -222,7 +234,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
   (package
     (inherit go-1.4)
     (name "go")
-    (version "1.14.4")
+    (version "1.14.10")
     (source
      (origin
        (method git-fetch)
@@ -232,7 +244,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "08bazglmqp123c9dgrxflvxd011xsqfxsgah2kzbvca0mhm6qcm3"))))
+         "0h1nmqzjc0xxpn6n2hjq7692gdqkznagzdmiq9490yzkrrii2lgk"))))
     (arguments
      (substitute-keyword-arguments (package-arguments go-1.4)
        ((#:system system)
@@ -500,6 +512,35 @@ way of specifying command line options.")
     (home-page "https://github.com/jessevdk/go-flags")
     (license license:bsd-3)))
 
+(define-public go-github-com-aws-sdk
+  (package
+    (name "go-github-com-aws-sdk")
+    (version "1.35.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/aws/aws-sdk-go")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1ky5lw2s2zpslnnqcs6hgsrwvwbxwgflb5jwf16dd4aga3vrg10c"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/aws/aws-sdk-go/aws"
+       #:unpack-path "github.com/aws/aws-sdk-go"))
+    (propagated-inputs
+     `(("go-github-com-go-sql-driver-mysql" ,go-github-com-go-sql-driver-mysql)
+       ("go-github-com-jmespath-go-jmespath" ,go-github-com-jmespath-go-jmespath)
+       ("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
+       ("go-golang-org-x-net" ,go-golang-org-x-net)))
+    (home-page "https://github.com/aws/aws-sdk-go")
+    (synopsis "Library to access Amazon Web Services (AWS)")
+    (description
+     "This is the official AWS SDK for the Go programming language.")
+    (license license:asl2.0)))
+
 (define-public go-gopkg.in-tomb.v2
   (let ((commit "d5d1b5820637886def9eef33e03a27a9f166942c")
         (revision "0"))
@@ -534,6 +575,32 @@ termination.")
       (home-page "https://gopkg.in/tomb.v2")
       (license license:bsd-3))))
 
+(define-public go-gopkg-in-natefinch-lumberjack.v2
+  (package
+    (name "go-gopkg-in-natefinch-lumberjack.v2")
+    (version "2.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/natefinch/lumberjack")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1l3vlv72b7rfkpy1164kwd3qzrqmmjnb67akzxqp2mlvc66k6p3d"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "gopkg.in/natefinch/lumberjack.v2"))
+    (propagated-inputs
+     `(("github.com/burntsush/toml" ,go-github-com-burntsushi-toml)
+       ("gopkg.in/yaml.v2" ,go-gopkg-in-yaml-v2)))
+    (home-page "https://github.com/natefinch/lumberjack")
+    (synopsis "Rolling logger for Go")
+    (description
+     "Lumberjack is a Go package for writing logs to rolling files.")
+    (license license:expat)))
+
 (define-public go-github.com-jtolds-gls
   (package
     (name "go-github.com-jtolds-gls")
@@ -557,6 +624,30 @@ per-goroutine.")
     (home-page "https://github.com/jtolds/gls")
     (license license:expat)))
 
+(define-public go-github-com-saracen-walker
+  (package
+    (name "go-github-com-saracen-walker")
+    (version "0.1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/saracen/walker")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1rq1lrp99lx7k1ysbfznn4c1iagnxdhb4lnnklsadnnzi3gvygqz"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/saracen/walker"))
+    (inputs
+     `(("go-golang-org-x-sync" ,go-golang-org-x-sync)))
+    (home-page "https://github.com/saracen/walker")
+    (synopsis "Faster, parallel version of Go's filepath.Walk")
+    (license license:expat)
+    (description "The @code{walker} function is a faster, parallel version, of
+@code{filepath.Walk}")))
+
 (define-public go-github-com-tj-docopt
   (package
     (name "go-github-com-tj-docopt")
@@ -739,9 +830,39 @@ for the Go language.")
 processing.")
       (license license:bsd-3))))
 
+(define-public go-golang-org-x-sync
+  (let ((commit "6e8e738ad208923de99951fe0b48239bfd864f28")
+        (revision "1"))
+    (package
+      (name "go-golang-org-x-sync")
+      (version (git-version "0.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://go.googlesource.com/sync")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1avk27pszd5l5df6ff7j78wgla46ir1hhy2jwfl9a3c0ys602yx9"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "golang.org/x/sync"
+         #:tests? #f
+         ;; Source-only package
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'build))))
+      (synopsis "Additional Go concurrency primitives")
+      (description "This package provides Go concurrency primitives in addition
+to the ones provided by the language and “sync” and “sync/atomic”
+packages.")
+      (home-page "https://go.googlesource.com/sync/")
+      (license license:bsd-3))))
+
 (define-public go-golang-org-x-sys
-  (let ((commit "c709ea063b76879dc9915358f55d4d77c16ab6d5")
-        (revision "6"))
+  (let ((commit "05986578812163b26672dabd9b425240ae2bb0ad")
+        (revision "7"))
     (package
       (name "go-golang-org-x-sys")
       (version (git-version "0.0.0" revision commit))
@@ -753,7 +874,7 @@ processing.")
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "15nq53a6kcqchng4j0d1pjw0m6hny6126nhjdwqw5n9dzh6a226d"))))
+                  "1q2rxb6z5l6pmlckjsz2l0b8lw7bqgk6frhzbmi1dv0y5irb2ka7"))))
       (build-system go-build-system)
       (arguments
        `(#:import-path "golang.org/x/sys"
@@ -854,6 +975,30 @@ time.")
  spec in Go.")
       (license license:bsd-3))))
 
+(define-public go-golang-org-x-xerrors
+  (let ((commit "5ec99f83aff198f5fbd629d6c8d8eb38a04218ca")
+        (revision "0"))
+    (package
+      (name "go-golang-org-x-xerrors")
+      (version (git-version "0.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://go.googlesource.com/xerrors")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1dbzc3gmf2haazpv7cgmv97rq40g2xzwbglc17vas8dwhgwgwrzb"))))
+      (build-system go-build-system)
+      (arguments
+       '(#:import-path "golang.org/x/xerrors"))
+      (synopsis "Go 1.13 error values")
+      (description
+       "This package holds the transition packages for the new Go 1.13 error values.")
+      (home-page "https://godoc.org/golang.org/x/xerrors")
+      (license license:bsd-3))))
+
 (define-public go-github-com-burntsushi-toml
   (package
     (name "go-github-com-burntsushi-toml")
@@ -1046,55 +1191,77 @@ Features include:
 optimized for performance yet simple to use.")
       (license license:expat))))
 
-(define-public go-github-com-blang-semver
-  (let ((commit "60ec3488bfea7cca02b021d106d9911120d25fe9")
+(define-public go-github-com-tv42-httpunix
+  (let ((commit "2ba4b9c3382c77e7b9ea89d00746e6111d142a22")
         (revision "0"))
     (package
-      (name "go-github-com-blang-semver")
+      (name "go-github-com-tv42-httpunix")
       (version (git-version "0.0.0" revision commit))
       (source
        (origin
          (method git-fetch)
          (uri (git-reference
-               (url "https://github.com/blang/semver")
+               (url "https://github.com/tv42/httpunix")
                (commit commit)))
          (file-name (git-file-name name version))
          (sha256
-          (base32
-           "19pli07y5592g4dyjyj0jq5rn548vc3fz0qg3624vm1j5828p1c2"))))
+          (base32 "0xbwpip2hsfhd2kd878jn5ndl8y1i9658lggha4x3xb5m1rsds9w"))))
       (build-system go-build-system)
       (arguments
-       '(#:import-path "github.com/blang/semver"))
-      (home-page "https://github.com/blang/semver")
-      (synopsis "Semantic versioning library written in Go")
-      (description "Semver is a library for Semantic versioning written in Go.")
+       '(#:import-path "github.com/tv42/httpunix"))
+      (home-page "https://github.com/tv42/httpunix")
+      (synopsis "Go library to talk HTTP over Unix domain sockets")
+      (description "This package is a Go library to talk HTTP over Unix domain
+sockets.")
       (license license:expat))))
 
-(define-public go-github-com-emicklei-go-restful
-  (let ((commit "89ef8af493ab468a45a42bb0d89a06fccdd2fb22")
+(define-public go-github-com-blang-semver
+  (let ((commit "60ec3488bfea7cca02b021d106d9911120d25fe9")
         (revision "0"))
     (package
-      (name "go-github-com-emicklei-go-restful")
+      (name "go-github-com-blang-semver")
       (version (git-version "0.0.0" revision commit))
       (source
        (origin
          (method git-fetch)
          (uri (git-reference
-               (url "https://github.com/emicklei/go-restful")
+               (url "https://github.com/blang/semver")
                (commit commit)))
          (file-name (git-file-name name version))
          (sha256
           (base32
-           "0rrlfcfq80fkxifpih6bq31vavb5mf4530xz51pp9pq1mn2fzjfh"))))
+           "19pli07y5592g4dyjyj0jq5rn548vc3fz0qg3624vm1j5828p1c2"))))
       (build-system go-build-system)
       (arguments
-       '(#:import-path "github.com/emicklei/go-restful"))
-      (home-page "https://github.com/emicklei/go-restful")
-      (synopsis "Build REST-style web services using Go")
-      (description "This package provides @code{go-restful}, which helps
+       '(#:import-path "github.com/blang/semver"))
+      (home-page "https://github.com/blang/semver")
+      (synopsis "Semantic versioning library written in Go")
+      (description "Semver is a library for Semantic versioning written in Go.")
+      (license license:expat))))
+
+(define-public go-github-com-emicklei-go-restful
+  (package
+    (name "go-github-com-emicklei-go-restful")
+    (version "3.4.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/emicklei/go-restful")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0m1y5a6xr6hmdj77afrvyh2llkbhn1166lcrgis654shl8zs9qhz"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/emicklei/go-restful"))
+    (home-page "https://github.com/emicklei/go-restful")
+    (synopsis "Build REST-style web services using Go")
+    (description "This package provides @code{go-restful}, which helps
 developers to use @code{http} methods explicitly and in a way that's consistent
 with the HTTP protocol definition.")
-      (license license:expat))))
+    (license license:expat)))
 
 (define-public go-github-com-google-cadvisor
   (let ((commit "2ed7198f77395ee9a172878a0a7ab92ab59a2cfd")
@@ -1194,30 +1361,106 @@ values for the purpose of fuzz testing.")
       (license license:bsd-3))))
 
 (define-public go-github-com-gorilla-mux
-  (let ((commit "599cba5e7b6137d46ddf58fb1765f5d928e69604")
-        (revision "0"))
-    (package
-      (name "go-github-com-gorilla-mux")
-      (version (git-version "0.0.0" revision commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/gorilla/mux")
-               (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32
-           "0wd6jjii1kg5s0nk3ri6gqriz6hbd6bbcn6x4jf8n7ncrb8qsxyz"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:import-path "github.com/gorilla/mux"))
-      (home-page "https://github.com/gorilla/mux")
-      (synopsis "URL router and dispatcher for Go")
-      (description
-       "Gorilla/Mux implements a request router and dispatcher for matching
+  (package
+    (name "go-github-com-gorilla-mux")
+    (version "1.8.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/gorilla/mux")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "18f0q9qxgq1yh4ji07mqhiydfcwvi56z9d775v7dc7yckj33kpdk"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/gorilla/mux"))
+    (home-page "https://github.com/gorilla/mux")
+    (synopsis "URL router and dispatcher for Go")
+    (description
+     "Gorilla/Mux implements a request router and dispatcher for matching
 incoming requests with their respective handler.")
-      (license license:bsd-3))))
+    (license license:bsd-3)))
+
+(define-public go-github-com-gorilla-handlers
+  (package
+    (name "go-github-com-gorilla-handlers")
+    (version "1.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/gorilla/handlers")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "15gycdz9lkjnsvvichsbdf25vf6pi1sfn41khhz53iqf300l0w0s"))))
+    (build-system go-build-system)
+    (propagated-inputs
+     `(("github.com/felixge/httpsnoop" ,go-github-com-felixge-httpsnoop)))
+    (arguments
+     '(#:tests? #f                      ; Tries to download from the internet
+       #:import-path "github.com/gorilla/handlers"))
+    (home-page "https://github.com/gorilla/handlers")
+    (synopsis "Middleware for Go HTTP services and web applications")
+    (description "A collection of useful middleware for Go HTTP services
+and web applications.")
+    (license license:bsd-3)))
+
+(define-public go-github-com-gorilla-securecookie
+  (package
+    (name "go-github-com-gorilla-securecookie")
+    (version "1.1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/gorilla/securecookie")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "16bqimpxs9vj5n59vm04y04v665l7jh0sddxn787pfafyxcmh410"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/gorilla/securecookie"))
+    (home-page "https://github.com/gorilla/securecookie")
+    (synopsis "Encodes and decodes authenticated and optionally encrypted
+cookie values")
+    (description
+     "Gorilla/securecookie encodes and decodes authenticated and optionally
+encrypted cookie values for Go web applications.")
+    (license license:bsd-3)))
+
+(define-public go-github-com-gorilla-csrf
+  (package
+    (name "go-github-com-gorilla-csrf")
+    (version "1.7.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/gorilla/csrf")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0iryq0z48yi7crfbd8jxyn7lh1gsglpiglvjgnf23bz6xfisssav"))))
+    (build-system go-build-system)
+    (propagated-inputs
+     `(("github.com/gorilla/securecookie" ,go-github-com-gorilla-securecookie)
+       ("github.com/pkg/errors" ,go-github-com-pkg-errors)))
+    (arguments
+     '(#:import-path "github.com/gorilla/csrf"))
+    (home-page "https://github.com/gorilla/csrf")
+    (synopsis "Cross Site Request Forgery (CSRF) prevention middleware")
+    (description
+     "Gorilla/csrf provides Cross Site Request Forgery (CSRF) prevention
+middleware for Go web applications and services.")
+    (license license:bsd-3)))
 
 (define-public go-github-com-jonboulle-clockwork
   (let ((commit "e3653ace2d63753697e0e5b07b9393971c0bba9d")
@@ -1411,6 +1654,31 @@ GNU extensions} to the POSIX recommendations for command-line options.")
 all types of configuration needs and formats.")
     (license license:expat)))
 
+(define-public go-github-com-felixge-httpsnoop
+  (package
+    (name "go-github-com-felixge-httpsnoop")
+    (version "1.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/felixge/httpsnoop")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0ncd8lar5zxiwjhsp315s4hsl4bhnm271h49jhyxc66r5yffgmac"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/felixge/httpsnoop"))
+    (home-page "https://github.com/felixge/httpsnoop/")
+    (synopsis "Capture http related metrics")
+    (description
+     "Httpsnoop provides an easy way to capture http related
+metrics (i.e. response time, bytes written, and http status code) from your
+application's http.Handlers.")
+    (license license:expat)))
+
 (define-public go-github-com-fsnotify-fsnotify
   (package
     (name "go-github-com-fsnotify-fsnotify")
@@ -1438,7 +1706,7 @@ all types of configuration needs and formats.")
 (define-public go-github-com-magiconair-properties
   (package
     (name "go-github-com-magiconair-properties")
-    (version "1.8.1")
+    (version "1.8.4")
     (source
      (origin
        (method git-fetch)
@@ -1448,7 +1716,7 @@ all types of configuration needs and formats.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "19zqw1x0w0crh8zc84yy82nkcc5yjz72gviaf2xjgfm5a8np7nyb"))))
+         "0q7d55z0v8y55dyy8nhgdnswf5zkgj3i87irbk294nvzhx01bnxd"))))
     (build-system go-build-system)
     (arguments
      `(#:import-path "github.com/magiconair/properties"))
@@ -1601,7 +1869,7 @@ finding resources located relative to the executable file.")
          (method git-fetch)
          (uri (git-reference
                (url
-                "https://github.com/ayufan/golang-kardianos-service.git")
+                "https://github.com/ayufan/golang-kardianos-service")
                (commit commit)))
          (file-name (git-file-name name version))
          (sha256
@@ -1852,32 +2120,30 @@ terminal.")
     (license license:expat)))
 
 (define-public go-github-com-mattn-go-colorable
-  (let ((commit "efa589957cd060542a26d2dd7832fd6a6c6c3ade")
-        (revision "0"))
-    (package
-      (name "go-github-com-mattn-go-colorable")
-      (version (git-version "0.0.0" revision commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/mattn/go-colorable")
-               (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32
-           "0kshi4hvm0ayrsxqxy0599iv81kryhd2fn9lwjyczpj593cq069r"))))
-      (build-system go-build-system)
-      (native-inputs
-       `(("go-github-com-mattn-go-isatty"
-          ,go-github-com-mattn-go-isatty)))
-      (arguments
-       '(#:import-path "github.com/mattn/go-colorable"))
-      (home-page "https://github.com/mattn/go-colorable")
-      (synopsis "Handle ANSI color escapes on Windows")
-      (description "This package provides @code{colorable}, a module that
+  (package
+    (name "go-github-com-mattn-go-colorable")
+    (version "0.1.8")
+    (home-page "https://github.com/mattn/go-colorable")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0q34zqwbnls72md8q8mhj368s7p3i4xspvs3rk8fs76s0pn7dr2l"))))
+    (build-system go-build-system)
+    (native-inputs
+     `(("go-github-com-mattn-go-isatty"
+        ,go-github-com-mattn-go-isatty)))
+    (arguments
+     '(#:import-path "github.com/mattn/go-colorable"))
+    (synopsis "Handle ANSI color escapes on Windows")
+    (description "This package provides @code{colorable}, a module that
 makes it possible to handle ANSI color escapes on Windows.")
-      (license license:expat))))
+    (license license:expat)))
 
 (define-public go-github-com-mattn-go-pointer
   (let ((commit "a0a44394634f41e4992b173b24f14fecd3318a67")
@@ -2796,7 +3062,7 @@ cross-compilation.")
     (synopsis "Walk a value in Go using reflection")
     (description "reflectwalk is a Go library for \"walking\" a value in Go
 using reflection, in the same way a directory tree can be \"walked\" on the
-filesystem.  Walking a complex structure can allow you to do manipulations on
+file system.  Walking a complex structure can allow you to do manipulations on
 unknown structures such as those decoded from JSON.")
     (license license:expat)))
 
@@ -3249,7 +3515,7 @@ format in Go.")
 (define-public go-github-com-kr-pretty
   (package
     (name "go-github-com-kr-pretty")
-    (version "0.2.0")
+    (version "0.2.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -3258,17 +3524,43 @@ format in Go.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1ywbfzz1h3a3qd8rpkiqwi1dm4w8ls9ijb4x1b7567grns9f0vnp"))))
+                "0vzfz06y9q8gs2nxx0kys0591vzp78k0fvpb8digi5n15h3b25hy"))))
     (build-system go-build-system)
     (propagated-inputs
      `(("go-github-com-kr-text" ,go-github-com-kr-text)))
     (arguments
      '(#:import-path "github.com/kr/pretty"))
-    (synopsis "A pretty printer for Go values")
+    (synopsis "Pretty printer for Go values")
     (description "This package provides a pretty printer for Go values.")
     (home-page "https://github.com/kr/pretty")
     (license license:expat)))
 
+(define-public go-github-com-kylelemons-godebug
+  (package
+    (name "go-github-com-kylelemons-godebug")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/kylelemons/godebug")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0dkk3friykg8p6wgqryx6745ahhb9z1j740k7px9dac6v5xjp78c"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/kylelemons/godebug/diff"
+       #:unpack-path "github.com/kylelemons/godebug"))
+    (home-page "https://github.com/kylelemons/godebug")
+    (synopsis "Pretty printer for Go values.")
+    (description
+     "This package will pretty print a compact representation of a Go data
+structure.  It can also produce a much more verbose, one-item-per-line
+representation suitable for computing diffs.")
+    (license license:asl2.0)))
+
 (define-public go-github-com-kr-text
   (package
     (name "go-github-com-kr-text")
@@ -3315,11 +3607,36 @@ without requiring a real database connection.")
       (home-page "https://github.com/DATA-DOG/go-sqlmock")
       (license license:expat))))
 
-(define-public go-golang-org-colorful
+(define-public go-github-com-go-sql-driver-mysql
   (package
-    (name "go-golang-org-colorful")
-    (version "1.0.2")
-    (source (origin
+    (name "go-github-com-go-sql-driver-mysql")
+    (version "1.5.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/go-sql-driver/mysql")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "11x0m9yf3kdnf6981182r824psgxwfaqhn3x3in4yiidp0w0hk3v"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:tests? #f ;; tests require a network connection
+       #:import-path "github.com/go-sql-driver/mysql"))
+    (home-page "https://github.com/go-sql-driver/mysql")
+    (synopsis "MySQL driver for golang")
+    (description
+     "This is a pure Go implementaton of the MySQL API, compatible with
+golang's database/sql package.")
+    (license license:mpl2.0)))
+
+(define-public go-golang-org-colorful
+  (package
+    (name "go-golang-org-colorful")
+    (version "1.0.2")
+    (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/lucasb-eyer/go-colorful")
@@ -3861,7 +4178,7 @@ colorized or SGR defined output to the standard output.")
 (define-public go-github-com-google-go-cmp-cmp
   (package
     (name "go-github-com-google-go-cmp-cmp")
-    (version "0.3.1")
+    (version "0.5.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -3870,11 +4187,13 @@ colorized or SGR defined output to the standard output.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1caw49i0plkjxir7kdf5qhwls3krqwfmi7g4h392rdfwi3kfahx1"))))
+                "0qchy411jm9q2l9mf7x3ry2ycaqp9xdhf2nx14qrpzcxfigv2705"))))
     (build-system go-build-system)
     (arguments
      '(#:import-path "github.com/google/go-cmp/cmp"
        #:unpack-path "github.com/google/go-cmp"))
+    (propagated-inputs
+     `(("go-golang-org-x-xerrors" ,go-golang-org-x-xerrors)))
     (synopsis "Determine equality of values in Go")
     (description "This package provides a more powerful and safer
 alternative to @code{reflect.DeepEqual} for comparing whether two values
@@ -3930,6 +4249,80 @@ attributes.  It also contains some convenience functions for colors, SSH to
 and from termios translations, readCh, reading passwords, etc.")
       (license license:bsd-3))))
 
+(define-public go-github-com-google-go-querystring
+  (let ((commit "992e8021cf787c100d55520d5c906e01536c0a19") ;fix format in tests
+        (revision "1"))
+    (package
+      (name "go-github-com-google-go-querystring")
+      (version "1.0.0")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/google/go-querystring")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0mbx4jvf7nz4sk2fgqfq1llz4xb3vc4625b4x398mspr3a5077rs"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/google/go-querystring/query"
+         #:unpack-path "github.com/google/go-querystring"))
+      (home-page "https://github.com/google/go-querystring/")
+      (synopsis "Library for encoding structs into URL query parameters")
+      (description "@code{go-querystring} is Go library for encoding structs
+into URL query parameters.")
+      (license license:bsd-3))))
+
+(define-public go-github-com-google-go-github
+  (package
+    (name "go-github-com-google-go-github")
+    (version "26.1.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/google/go-github")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0x0zz1vcmllp6r6l2qin9b2llm5cxbf6n84rf99h8wrmhvzs2ipi"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:tests? #f ;application/octet-stream instead of text/plain
+       #:import-path "github.com/google/go-github/v26/github"
+       #:unpack-path "github.com/google/go-github/v26"))
+    (native-inputs
+     `(("go-github-com-google-go-querystring" ,go-github-com-google-go-querystring)
+       ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
+    (home-page "https://github.com/google/go-github/")
+    (synopsis "Client library for accessing the GitHub API v3")
+    (description "@code{go-github} is a Go client library for accessing the
+GitHub API v3.")
+    (license license:bsd-3)))
+
+(define-public go-github-com-google-renameio
+  (package
+    (name "go-github-com-google-renameio")
+    (version "0.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/google/renameio")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1ki2x5a9nrj17sn092d6n4zr29lfg5ydv4xz5cp58z6cw8ip43jx"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/google/renameio"))
+    (home-page "https://github.com/google/renameio/")
+    (synopsis "Atomically create or replace a file or symbolic link")
+    (description "@code{renameio} Go package provides a way to atomically
+create or replace a file or symbolic link.")
+    (license license:asl2.0)))
+
 (define-public go-golang.org-x-sync-errgroup
   (let ((commit "cd5d95a43a6e21273425c7ae415d3df9ea832eeb")
         (revision "0"))
@@ -4105,7 +4498,7 @@ data serialization format.")
 (define-public go-github-com-mattn-go-zglob
   (package
     (name "go-github-com-mattn-go-zglob")
-    (version "0.0.1")
+    (version "0.0.3")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -4114,7 +4507,7 @@ data serialization format.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1sncdyq5fbd42al4amyy91h7vlzm3wm6c9vl8za2pjgfgsd581fz"))))
+                "1923lvakm66mzy62jmngdvcmbmiqclinsvnghs3907rgygnx1qc1"))))
     (build-system go-build-system)
     (arguments
      `(#:import-path "github.com/mattn/go-zglob"))
@@ -4761,6 +5154,34 @@ the parse trees produced by the html package.")
 to jQuery to the Go language.")
     (license license:bsd-3)))
 
+(define-public go-github-com-jmespath-go-jmespath
+  (package
+    (name "go-github-com-jmespath-go-jmespath")
+    (version "0.4.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/jmespath/go-jmespath")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "18zyr9nlywmwp3wpzcjxrgq9s9d2mmc6zg6xhsna00m663nkyc3n"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/jmespath/go-jmespath"))
+    (native-inputs
+     `(("go-github-com-davecgh-go-spew" ,go-github-com-davecgh-go-spew)
+       ("go-github-com-pmezard-go-difflib" ,go-github-com-pmezard-go-difflib)
+       ("go-gopkg-in-yaml-v2" ,go-gopkg-in-yaml-v2)))
+    (home-page "https://github.com/jmespath/go-jmespath")
+    (synopsis "Golang implementation of JMESPath")
+    (description
+     "This package implements JMESPath, a query language for JSON.  It
+transforms one JSON document into another through a JMESPath expression.")
+    (license license:asl2.0)))
+
 (define-public go-github-com-aymerick-douceur
   (package
     (name "go-github-com-aymerick-douceur")
@@ -4849,6 +5270,7 @@ to jQuery to the Go language.")
               (uri (git-reference
                     (url "https://github.com/muesli/reflow")
                     (commit (string-append "v" version))))
+              (file-name (git-file-name "go-github-com-muesli-reflow" version))
               (sha256
                (base32
                 "1vhynm2n1az13fn03lp0gi28p9mznq1mblglh8f2rb9y1vkd2dqr"))))
@@ -4918,6 +5340,33 @@ style your output, without you having to deal with all kinds of weird ANSI
 escape sequences and color conversions.")
     (license license:expat)))
 
+(define-public go-github-com-nwidger-jsoncolor
+  (package
+    (name "go-github-com-nwidger-jsoncolor")
+    (version "0.3.0")
+    (home-page "https://github.com/nwidger/jsoncolor")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "13rd146pnj7qm70r1333gyd1f61x40nafxlpvdxlci9h7mx8c5p8"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/nwidger/jsoncolor"))
+    (native-inputs
+     `(("go-github-com-fatih-color" ,go-github-com-fatih-color)))
+    (synopsis "Colorized JSON marshalling and encoding")
+    (description
+     "@code{jsoncolor} is a drop-in replacement for @code{encoding/json}'s
+@code{Marshal} and @code{MarshalIndent} functions and @code{Encoder} type
+which produce colorized output using github.com/fatih/color.")
+    (license license:expat)))
+
 (define-public go-github-com-olekukonko-tablewriter
   (package
     (name "go-github-com-olekukonko-tablewriter")
@@ -4938,7 +5387,7 @@ escape sequences and color conversions.")
      `(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)))
     (home-page "https://github.com/olekukonko/tablewriter/")
     (synopsis "Generate ASCII table")
-    (description "This package allows to generate ASCII table.  Features:
+    (description "This package generates ASCII tables.  Features:
 @itemize
 @item automatic Padding
 @item support Multiple Lines
@@ -5044,9 +5493,9 @@ use one of our glamourous default themes.")
 It lets you parse and compare two semantic version strings.")
     (license license:asl2.0)))
 
-(define-public go-github-com-emirpasic-gods-trees-binaryheap
+(define-public go-github-com-emirpasic-gods
   (package
-    (name "go-github-com-emirpasic-gods-trees-binaryheap")
+    (name "go-github-com-emirpasic-gods")
     (version "1.12.0")
     (source (origin
               (method git-fetch)
@@ -5059,26 +5508,791 @@ It lets you parse and compare two semantic version strings.")
                 "0i5qqq7ajvw3mikr95zl9rsnfsjanzwpqqs6kzzplsfgsifybar1"))))
     (build-system go-build-system)
     (arguments
-     `(#:import-path "github.com/emirpasic/gods/trees/binaryheap"
-       #:unpack-path "github.com/emirpasic/gods"))
+     `(#:import-path "github.com/emirpasic/gods"
+       ; Source-only package
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'build))))
     (home-page "https://github.com/emirpasic/gods/")
     (synopsis "Implementation of various data structures and algorithms in Go")
     (description "This package provides implementation of various data
 structures and algorithms in Go.")
     (license license:bsd-2)))
 
-(define-public go-github-com-emirpasic-gods-containers
+(define-public go-gopkg-in-warnings
+  (package
+    (name "go-gopkg-in-warnings")
+    (version "0.1.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/go-warnings/warnings")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1kzj50jn708cingn7a13c2wdlzs6qv89dr2h4zj8d09647vlnd81"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "gopkg.in/warnings.v0"))
+    (home-page "https://gopkg.in/warnings.v0")
+    (synopsis "Error handling with non-fatal errors")
+    (description "Package warnings implements error handling with non-fatal
+errors (warnings).")
+    (license license:bsd-2)))
+
+(define-public go-github-com-go-git-gcfg
+  (package
+    (name "go-github-com-go-git-gcfg")
+    (version "1.5.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/go-git/gcfg")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1lb14z4j35pwz2b2rbykkpsq515spwbndb00gwn2xlrzn949xb83"))))
+    (arguments
+     `(#:import-path "github.com/go-git/gcfg"))
+    (native-inputs
+     `(("go-gopkg-in-warnings" ,go-gopkg-in-warnings)
+       ("go-github-com-pkg-errors" ,go-github-com-pkg-errors)))
+    (build-system go-build-system)
+    (home-page "https://github.com/go-git/gcfg/")
+    (synopsis "Gcfg reads INI-style configuration files into Go structs")
+    (description "Gcfg reads INI-style configuration files into Go structs.")
+    (license license:bsd-3)))
+
+(define-public go-github-com-go-git-go-billy
+  (package
+    (name "go-github-com-go-git-go-billy")
+    (version "5.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/go-git/go-billy")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1wdzczfk1n50dl2zpgf46m69b0sm8qkan5xyv82pk9x53zm1dmdx"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/go-git/go-billy/v5"))
+    (native-inputs
+     `(("go-gopkg-in-check-v1" ,go-gopkg-in-check-v1)))
+    (home-page "https://github.com/go-git/go-billy/")
+    (synopsis "File system abstraction for Go")
+    (description "Billy implements an interface based on the OS's standard
+library to develop applications without depending on the underlying storage.
+This makes it virtually free to implement mocks and testing over
+file system operations.")
+    (license license:asl2.0)))
+
+(define-public go-github-com-jbenet-go-context
+  (let ((commit "d14ea06fba99483203c19d92cfcd13ebe73135f4")
+        (revision "1"))
+    (package
+      (name "go-github-com-jbenet-go-context")
+      (version (git-version "0.0.1" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/jbenet/go-context")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0q91f5549n81w3z5927n4a1mdh220bdmgl42zi3h992dcc4ls0sl"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/jbenet/go-context"
+         ; Source-only package
+         #:tests? #f
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'build))))
+      (home-page "https://github.com/jbenet/go-context/")
+      (synopsis "@code{jbenet's} context extensions")
+      (description "This package provides @code{jbenet's} context
+extensions.")
+      (license license:expat))))
+
+(define-public go-github-com-kevinburke-ssh-config
+  (package
+    (name "go-github-com-kevinburke-ssh-config")
+    (version "1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/kevinburke/ssh_config")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "05jvz5r58a057zxvic9dyr9v2wilha8l6366npwkqgxmnmk9sh5f"))))
+    (arguments
+     `(#:import-path "github.com/kevinburke/ssh_config"))
+    (build-system go-build-system)
+    (home-page "https://github.com/kevinburke/ssh_config/")
+    (synopsis "Parser for @file{ssh_config} files")
+    (description "This is a Go parser for @file{ssh_config} files.
+Importantly, this parser attempts to preserve comments in a given file, so you
+can manipulate a @file{ssh_config} file from a program.")
+    (license license:expat)))
+
+(define-public go-github-com-xanzy-ssh-agent
+  (package
+    (name "go-github-com-xanzy-ssh-agent")
+    (version "0.2.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/xanzy/ssh-agent")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1chjlnv5d6svpymxgsr62d992m2xi6jb5lybjc5zn1h3hv1m01av"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/xanzy/ssh-agent"))
+    (native-inputs
+     `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
+    (home-page "https://github.com/xanzy/ssh-agent/")
+    (synopsis "Control ssh-agent from Go")
+    (description "Package agent implements the ssh-agent protocol, and
+provides both a client and a server.  The client can talk to a standard
+ssh-agent that uses UNIX sockets, and one could implement an alternative
+ssh-agent process using the sample server. ")
+    (license license:asl2.0)))
+
+(define-public go-github-com-alcortesm-tgz
+  (let ((commit "9c5fe88206d7765837fed3732a42ef88fc51f1a1")
+        (revision "1"))
+    (package
+      (name "go-github-com-alcortesm-tgz")
+      (version (git-version "0.0.1" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/alcortesm/tgz")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "04dcwnz2c2i4wbq2vx3g2wrdgqpncr2r1h6p1k08rdwk4bq1h8c5"))
+                (modules '((guix build utils)))
+                (snippet
+                 '(begin
+                    (substitute* "tgz_test.go"
+                      ;; Fix format error
+                      (("t.Fatalf\\(\"%s: unexpected error extracting: %s\", err\\)")
+                       "t.Fatalf(\"%s: unexpected error extracting: %s\", com, err)"))
+                    #t))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/alcortesm/tgz"
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'make-git-checkout-writable
+             (lambda* (#:key outputs #:allow-other-keys)
+               (for-each make-file-writable (find-files "."))
+               (for-each make-file-writable (find-files (assoc-ref outputs "out")))
+               #t)))))
+      (home-page "https://github.com/alcortesm/tgz/")
+      (synopsis "Go library to extract tgz files to temporal directories")
+      (description "This package provides a Go library to extract tgz files to
+temporal directories.")
+      (license license:expat))))
+
+(define-public go-github-com-go-git-go-git-fixtures
   (package
-    (inherit go-github-com-emirpasic-gods-trees-binaryheap)
-    (name "go-github-com-emirpasic-gods-containers")
+    (name "go-github-com-go-git-go-git-fixtures")
+    (version "4.0.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/go-git/go-git-fixtures")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "002yb1s2mxq2xijkl39ip1iyc3l52k23ikyi9ijfl4bgqxy79ljg"))))
+    (build-system go-build-system)
     (arguments
-     `(#:import-path "github.com/emirpasic/gods/containers"
-       #:unpack-path "github.com/emirpasic/gods"))))
+     `(#:import-path "github.com/go-git/go-git-fixtures/v4"
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'reset-gzip-timestamps))))
+    (native-inputs
+     `(("go-github-com-alcortesm-tgz" ,go-github-com-alcortesm-tgz)
+       ("go-github-com-go-git-go-billy" ,go-github-com-go-git-go-billy)
+       ("go-golang-org-x-sys" ,go-golang-org-x-sys)
+       ("go-gopkg-in-check-v1" ,go-gopkg-in-check-v1)))
+    (home-page "https://github.com/go-git/go-git-fixtures/")
+    (synopsis "Fixtures used by @code{go-git}")
+    (description "This package provides fixtures used by @code{go-git}.")
+    (license license:asl2.0)))
 
-(define-public go-github-com-emirpasic-gods-lists-arraylist
+(define-public go-github-com-pkg-diff
+  (let ((commit "531926345625d489a6b56f860a569e68245ace36")
+        (revision "1"))
+    (package
+      (name "go-github-com-pkg-diff")
+      (version (git-version "0.0.1" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/pkg/diff")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1770m7qhww6lm0wj1v3mhv6hwa2v92p4w2fqxj1xyrg5dd58d944"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/pkg/diff"))
+      (native-inputs
+       `(("go-github-com-sergi-go-diff" ,go-github-com-sergi-go-diff)))
+      (home-page "https://github.com/pkg/diff/")
+      (synopsis "Create and print diffs")
+      (description
+       "This package provides a Go library to create and print diffs.")
+      (license license:bsd-3))))
+
+(define-public go-github-com-twpayne-go-shell
   (package
-    (inherit go-github-com-emirpasic-gods-trees-binaryheap)
-    (name "go-github-com-emirpasic-gods-lists-arraylist")
+    (name "go-github-com-twpayne-go-shell")
+    (version "0.3.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/twpayne/go-shell")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1hv0ggy3935iddjnmpp9vl0kqjknxpnbmm9w7xr3gds7fpbxz6yp"))))
+    (build-system go-build-system)
     (arguments
-     `(#:import-path "github.com/emirpasic/gods/lists/arraylist"
-       #:unpack-path "github.com/emirpasic/gods"))))
+     `(#:import-path "github.com/twpayne/go-shell"))
+    (home-page "https://github.com/twpayne/go-shell/")
+    (synopsis "Shell across multiple platforms")
+    (description
+     "Package @code{shell} returns a user's shell across multiple platforms.")
+    (license license:expat)))
+
+(define-public go-github-com-twpayne-go-vfs
+  (package
+    (name "go-github-com-twpayne-go-vfs")
+    (version "1.5.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/twpayne/go-vfs")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "19dm3gi45znwaqbzxhwcgkiz8059bwa3ank80hc6qhdl579bpjnz"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/twpayne/go-vfs"))
+    (native-inputs
+     `(("go-github-com-bmatcuk-doublestar" ,go-github-com-bmatcuk-doublestar)))
+    (home-page "https://github.com/twpayne/go-vfs/")
+    (synopsis "Abstraction of the @code{os} and @code{ioutil} Go packages")
+    (description "Package @code{vfs} provides an abstraction of the @code{os}
+and @code{ioutil} packages that is easy to test.")
+    (license license:expat)))
+
+(define-public go-github-com-twpayne-go-vfsafero
+  (package
+    (name "go-github-com-twpayne-go-vfsafero")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/twpayne/go-vfsafero")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "18jwxhlrjd06z8xzg9ij0irl4f79jfy5jpwiz6xqlhzb1fja19pw"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/twpayne/go-vfsafero"))
+    (native-inputs
+     `(("go-github-com-twpayne-go-vfs" ,go-github-com-twpayne-go-vfs)
+       ("go-github-com-spf13-afero" ,go-github-com-spf13-afero)))
+    (home-page "https://github.com/twpayne/go-vfsafero/")
+    (synopsis "Compatibility later between @code{go-vfs} and @code{afero}")
+    (description
+     "Package @code{vfsafero} provides a compatibility later between
+@code{go-github-com-twpayne-go-vfs} and @code{go-github-com-spf13-afero}.")
+    (license license:expat)))
+
+(define-public go-github-com-twpayne-go-xdg
+  (package
+    (name "go-github-com-twpayne-go-xdg")
+    (version "3.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/twpayne/go-xdg")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0j8q7yzixs6jlaad0lpa8hs6b240gm2cmy0yxgnprrbpa0y2r7ln"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/twpayne/go-xdg/v3"))
+    (native-inputs
+     `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)
+       ("go-github-com-twpayne-go-vfs" ,go-github-com-twpayne-go-vfs)))
+    (home-page "https://github.com/twpayne/go-xdg/")
+    (synopsis "Functions related to freedesktop.org")
+    (description "Package @code{xdg} provides functions related to
+@uref{freedesktop.org}.")
+    (license license:expat)))
+
+(define-public go-github-com-godbus-dbus
+  (package
+    (name "go-github-com-godbus-dbus")
+    (version "5.0.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/godbus/dbus")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1bkc904073k807yxg6mvqaxrr6ammmhginr9p54jfb55mz3hfw3s"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:tests? #f ;no /var/run/dbus/system_bus_socket
+       #:import-path "github.com/godbus/dbus"))
+    (native-inputs
+     `(("dbus" ,dbus))) ;dbus-launch
+    (home-page "https://github.com/godbus/dbus/")
+    (synopsis "Native Go client bindings for the D-Bus")
+    (description "@code{dbus} is a library that implements native Go client
+bindings for the D-Bus message bus system.")
+    (license license:bsd-2)))
+
+(define-public go-github-com-zalando-go-keyring
+  (package
+    (name "go-github-com-zalando-go-keyring")
+    (version "0.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/zalando/go-keyring")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0kj54nkiyccy6m9iy9a53f6412a54xk96j88jaiq35yzdgfa4z3p"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:tests? #f ;XXX: Fix dbus tests
+       #:import-path "github.com/zalando/go-keyring"))
+    (native-inputs
+     `(("go-github-com-godbus-dbus" ,go-github-com-godbus-dbus)
+       ("dbus" ,dbus)))
+    (home-page "https://github.com/zalando/go-keyring/")
+    (synopsis "Library for working with system keyring")
+    (description "@code{go-keyring} is a library for setting, getting and
+deleting secrets from the system keyring.")
+    (license license:expat)))
+
+(define-public go-etcd-io-bbolt
+  (package
+    (name "go-etcd-io-bbolt")
+    (version "1.3.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/etcd-io/bbolt")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1h64gipvcg7060byv5wjlf524kqwj12p3v08kfh4ygv46vpm8p2r"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "go.etcd.io/bbolt"))
+    (home-page "https://pkg.go.dev/go.etcd.io/bbolt/")
+    (synopsis "Low-level key/value store in Go")
+    (description "This package implements a low-level key/value store in Go.")
+    (license license:expat)))
+
+(define-public go-github-com-rogpeppe-go-internal
+  (package
+    (name "go-github-com-rogpeppe-go-internal")
+    (version "1.6.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/rogpeppe/go-internal")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "00j2vpp1bsggdvw1winkz23mg0q6drjiir5q0k49pmqx1sh7106l"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/rogpeppe/go-internal"
+       ; Source-only package
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'build))))
+    (home-page "https://github.com/rogpeppe/go-internal/")
+    (synopsis "Internal packages from the Go standard library")
+    (description "This repository factors out an opinionated selection of
+internal packages and functionality from the Go standard library.  Currently
+this consists mostly of packages and testing code from within the Go tool
+implementation.
+
+Included are the following:
+@itemize
+@item dirhash: calculate hashes over directory trees the same way that the Go tool does.
+@item goproxytest: a GOPROXY implementation designed for test use.
+@item gotooltest: Use the Go tool inside test scripts (see testscript below)
+@item imports: list of known architectures and OSs, and support for reading import import statements.
+@item modfile: read and write go.mod files while preserving formatting and comments.
+@item module: module paths and versions.
+@item par: do work in parallel.
+@item semver: semantic version parsing.
+@item testenv: information on the current testing environment.
+@item testscript: script-based testing based on txtar files
+@item txtar: simple text-based file archives for testing.
+@end itemize\n")
+    (license license:bsd-3)))
+
+(define-public gopkg-in-errgo-fmt-errors
+  (package
+    (name "gopkg-in-errgo-fmt-errors")
+    (version "2.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/go-errgo/errgo")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "065mbihiy7q67wnql0bzl9y1kkvck5ivra68254zbih52jxwrgr2"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "gopkg.in/errgo.v2/fmt/errors"
+       #:tests? #f
+       ;; Source-only package
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'build))))
+    (home-page "https://godoc.org/gopkg.in/errgo.v2")
+    (synopsis "Functions that use the fmt package to format error messages")
+    (description "This package is the same as @code{gopkg.in/errgo.v2/errors}
+except that it adds convenience functions that use the fmt package to format
+error messages.")
+    (license license:bsd-3)))
+
+(define-public go-github-com-arceliar-phony
+  (let ((commit "d0c68492aca0bd4b5c5c8e0452c9b4c8af923eaf")
+        (revision "0"))
+    (package
+      (name "go-github-com-arceliar-phony")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/Arceliar/phony")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0876y0hlb1zh8hn0pxrb5zfdadvaqmqwlr66p19yl2a76galz992"))))
+      (arguments
+       '(#:import-path "github.com/Arceliar/phony"))
+      (build-system go-build-system)
+      (home-page "https://github.com/Arceliar/phony")
+      (synopsis "Very minimal actor model library")
+      (description "Phony is a very minimal actor model library for Go,
+inspired by the causal messaging system in the Pony programming language.")
+      (license license:expat))))
+
+(define-public go-github-com-cheggaaa-pb
+  (package
+    (name "go-github-com-cheggaaa-pb")
+    (version "3.0.4")
+    (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/cheggaaa/pb/")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0xhsv9yf3fz918ay6w0d87jnb3hk9vxvi16jk172kqq26x7jixd0"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/cheggaaa/pb/"))
+    (propagated-inputs
+     `(("go-github-com-fatih-color" ,go-github-com-fatih-color)
+       ("go-github-com-mattn-go-colorable" ,go-github-com-mattn-go-colorable)
+       ("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
+       ("go-golang-org-x-sys" ,go-golang-org-x-sys)))
+    (native-inputs
+     `(("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)))
+    (home-page "https://github.com/cheggaaa/pb/")
+    (synopsis "Console progress bar for Go")
+    (description "This package is a Go library that draws progress bars on
+the terminal.")
+    (license license:bsd-3)))
+
+(define-public go-github-com-gologme-log
+  ;; this is the same as v1.2.0, only the LICENSE file changed
+  (let ((commit "720ba0b3ccf0a91bc6018c9967a2479f93f56a55"))
+    (package
+      (name "go-github-com-gologme-log")
+      (version "1.2.0")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/gologme/log")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0z3gs5ngv2jszp42ypp3ai0pn410v3b2m674g73ma7vsbn2yjk1n"))))
+      (build-system go-build-system)
+      (arguments
+       '(#:import-path "github.com/gologme/log"))
+      (home-page "https://github.com/gologme/log/")
+      (synopsis
+       "Fork of the golang built in log package to add support for levels")
+      (description "This package is a drop in replacement for the built-in Go
+log package.  All the functionality of the built-in package still exists and
+is unchanged.  This package contains a series of small enhancements and
+additions.")
+      (license license:bsd-3))))
+
+(define-public go-github-com-frankban-quicktest
+  (package
+    (name "go-github-com-frankban-quicktest")
+    (version "1.11.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/frankban/quicktest")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0b1b44b2hli2p969gqz30z8v9z6ahlklpqzi17nwk1lsjz9yv938"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/frankban/quicktest"))
+    (propagated-inputs
+     `(("go-github-com-google-go-cmp-cmp" ,go-github-com-google-go-cmp-cmp)
+       ("go-github-com-kr-pretty" ,go-github-com-kr-pretty)))
+    (home-page "https://github.com/frankban/quicktest")
+    (synopsis "Quick helpers for testing Go applications")
+    (description
+     "Package quicktest provides a collection of Go helpers for writing
+tests.")
+    (license license:expat)))
+
+(define-public go-github-com-bep-golibsass
+  (package
+    (name "go-github-com-bep-golibsass")
+    (version "0.7.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/bep/golibsass")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0xk3m2ynbydzx87dz573ihwc4ryq0r545vz937szz175ivgfrhh3"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (delete-file-recursively "libsass_src")
+           #t))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/bep/golibsass/libsass"
+       #:unpack-path "github.com/bep/golibsass"
+       ;; The dev build tag modifies the build to link to system libsass
+       ;; instead of including the bundled one (which we remove.)
+       ;; https://github.com/bep/golibsass/blob/v0.7.0/internal/libsass/a__cgo_dev.go
+       #:build-flags '("-tags" "dev")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'generate-bindings
+           ;; Generate bindings for system libsass, replacing the
+           ;; pre-generated bindings.
+           (lambda* (#:key inputs unpack-path #:allow-other-keys)
+             (mkdir-p (string-append "src/" unpack-path "/internal/libsass"))
+             (let ((libsass-src (string-append (assoc-ref inputs "libsass-src") "/src")))
+               (substitute* (string-append "src/" unpack-path "/gen/main.go")
+                 (("filepath.Join\\(rootDir, \"libsass_src\", \"src\"\\)")
+                  (string-append "\"" libsass-src "\""))
+                 (("../../libsass_src/src/")
+                  libsass-src)))
+             (invoke "go" "generate" (string-append unpack-path "/gen"))
+             #t))
+         (replace 'check
+           (lambda* (#:key tests? import-path #:allow-other-keys)
+             (if tests?
+                 (invoke "go" "test" import-path "-tags" "dev"))
+             #t)))))
+    (propagated-inputs
+     `(("libsass" ,libsass)))
+    (native-inputs
+     `(("go-github-com-frankban-quicktest" ,go-github-com-frankban-quicktest)
+       ("libsass-src" ,(package-source libsass))))
+    (home-page "https://github.com/bep/golibsass")
+    (synopsis "Easy to use Go bindings for LibSass")
+    (description
+     "This package provides SCSS compiler support for Go applications.")
+    (license license:expat)))
+
+(define-public go-github-com-hashicorp-go-syslog
+  (package
+    (name "go-github-com-hashicorp-go-syslog")
+    (version "1.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/hashicorp/go-syslog")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "09vccqggz212cg0jir6vv708d6mx0f9w5bxrcdah3h6chgmal6v1"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/hashicorp/go-syslog"))
+    (home-page "https://github.com/hashicorp/go-syslog")
+    (synopsis "Golang syslog wrapper, cross-compile friendly")
+    (description "This package is a very simple wrapper around log/syslog")
+    (license license:expat)))
+
+(define-public go-github-com-hjson-hjson-go
+  (package
+    (name "go-github-com-hjson-hjson-go")
+    (version "3.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/hjson/hjson-go")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1dfdiahimg6z9idg8jiqxwnlwjnmasbjccx8gnag49cz4yfqskaz"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/hjson/hjson-go"))
+    (home-page "https://hjson.org/")
+    (synopsis "Human JSON implementation for Go")
+    (description "Hjson is a syntax extension to JSON.  It is intended to be
+used like a user interface for humans, to read and edit before passing the
+JSON data to the machine.")
+    (license license:expat)))
+
+(define-public go-golang-zx2c4-com-wireguard
+  (package
+    (name "go-golang-zx2c4-com-wireguard")
+    (version "0.0.20200320")
+    (source
+     (origin
+       (method git-fetch)
+       ;; NOTE: module URL is a redirect
+       ;; target: git.zx2c4.com/wireguard-go
+       ;; source: golang.zx2c4.com/wireguard
+       (uri (git-reference
+             (url "https://git.zx2c4.com/wireguard-go/")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0fy4qsss3i3pkq1rpgjds4aipbwlh1dr9hbbf7jn2a1c63kfks0r"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "golang.zx2c4.com/wireguard"))
+    (propagated-inputs
+     `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
+       ("go-golang-org-x-net" ,go-golang-org-x-net)
+       ("go-golang-org-x-sys" ,go-golang-org-x-sys)
+       ("go-golang-org-x-text" ,go-golang-org-x-text)))
+    (home-page "https://git.zx2c4.com/wireguard")
+    (synopsis "Implementation of WireGuard in Go")
+    (description "This package is a Go Implementation of WireGuard.")
+    (license license:expat)))
+
+(define-public go-github-com-kardianos-minwinsvc
+  (package
+    (name "go-github-com-kardianos-minwinsvc")
+    (version "1.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/kardianos/minwinsvc")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0z941cxymkjcsj3p5l3g4wm2da3smz7iyqk2wbs5y8lmxd4kfzd8"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/kardianos/minwinsvc"))
+    (home-page "https://github.com/kardianos/minwinsvc/")
+    ;; some packages (Yggdrasil) need it to compile
+    ;; it's a tiny package and it's easier to bundle it than to patch it out
+    (synopsis "Minimal windows only service stub for Go")
+    (description "Go programs designed to run from most *nix style operating
+systems can import this package to enable running programs as services without
+modifying them.")
+    (license license:zlib)))
+
+(define-public go-github.com-ulikunitz-xz
+  (package
+    (name "go-github.com-ulikunitz-xz")
+    (version "0.5.8")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/ulikunitz/xz.git")
+                    (commit (string-append "v" version))))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "1xnsymi5fmmm734bi4c6z57p5cvnyxlpi29yxs4v21w5k763aypd"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/ulikunitz/xz"))
+    (synopsis "Read and write xz compressed streams in Go")
+    (description "This package provides a library to read and write xz
+compressed streams in Go.")
+    (home-page "https://github.com/ulikunitz/xz")
+    (license license:bsd-3)))