gnu: ungoogled-chromium: Update to 81.0.4044.129-0.c2a89fb [security fixes].
[jackhill/guix/guix.git] / gnu / packages / golang.scm
index f94251a..69f46df 100644 (file)
@@ -1,10 +1,10 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
 ;;; Copyright © 2016 Andy Wingo <wingo@igalia.com>
 ;;; Copyright © 2016, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016, 2017 Petter <petter@mykolab.ch>
-;;; Copyright © 2016, 2017, 2019 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2017 Sergei Trofimovich <slyfox@inbox.ru>
 ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -14,8 +14,9 @@
 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;; Copyright @ 2018, 2019 Katherine Cox-Buday <cox.katherine.e@gmail.com>
 ;;; Copyright @ 2019 Giovanni Biscuolo <g@xelera.eu>
-;;; Copyright @ 2019 Alex Griffin <a@ajgrf.com>
+;;; Copyright @ 2019, 2020 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -216,11 +217,11 @@ in the style of communicating sequential processes (@dfn{CSP}).")
     (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux"))
     (license license:bsd-3)))
 
-(define-public go-1.12
+(define-public go-1.13
   (package
     (inherit go-1.4)
     (name "go")
-    (version "1.12.13")
+    (version "1.13.9")
     (source
      (origin
        (method url-fetch)
@@ -228,7 +229,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
                            name version ".src.tar.gz"))
        (sha256
         (base32
-         "19zmrhydd52vhdnzlhxqklzg1mnav434dcgw9wl4iajbvfwd70sk"))))
+         "07gksk9194wa90xyd6yhagxfv7syvsx29bh8ypc4mg700vc1kfrl"))))
     (arguments
      (substitute-keyword-arguments (package-arguments go-1.4)
        ((#:phases phases)
@@ -266,9 +267,6 @@ in the style of communicating sequential processes (@dfn{CSP}).")
                    (("/bin/pwd") (which "pwd"))
                    (("/bin/sh") (which "sh")))
 
-                 (substitute* "cmd/vendor/golang.org/x/sys/unix/syscall_unix_test.go"
-                   (("/usr/bin") "/tmp"))
-
                  ;; Add libgcc to runpath
                  (substitute* "cmd/link/internal/ld/lib.go"
                    (("!rpath.set") "true"))
@@ -370,7 +368,6 @@ in the style of communicating sequential processes (@dfn{CSP}).")
                       (docs (string-append doc_out "/share/doc/" ,name "-" ,version))
                       (src (string-append
                             (assoc-ref outputs "tests") "/share/" ,name "-" ,version)))
-                 (delete-file-recursively "../pkg/bootstrap")
                  ;; Prevent installation of the build cache, which contains
                  ;; store references to most of the tools used to build Go and
                  ;; would unnecessarily increase the size of Go's closure if it
@@ -408,7 +405,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
        ,@(package-native-inputs go-1.4)))
     (supported-systems %supported-systems)))
 
-(define-public go go-1.12)
+(define-public go go-1.13)
 
 (define-public go-github-com-alsm-ioprogress
   (let ((commit "063c3725f436e7fba0c8f588547bee21ffec7ac5")
@@ -626,8 +623,8 @@ Go programming language.")
       (license license:bsd-3))))
 
 (define-public go-golang-org-x-crypto
-  (let ((commit "b7391e95e576cacdcdd422573063bc057239113d")
-        (revision "3"))
+  (let ((commit "9756ffdc24725223350eb3266ffb92590d28f278")
+        (revision "4"))
     (package
       (name "go-golang-org-x-crypto")
       (version (git-version "0.0.0" revision commit))
@@ -640,7 +637,7 @@ Go programming language.")
                                           version "-checkout"))
                 (sha256
                  (base32
-                  "1jqfh81mhgwcc6b9l0bs6rb0707s01qpvn7896i5bsmig46lc7zm"))))
+                  "0q7hxaaq6lp0v8qqzifvysl47z5rfdlrxkh3d29vsl3wyby3dxl8"))))
       (build-system go-build-system)
       (arguments
        '(#:import-path "golang.org/x/crypto"
@@ -668,8 +665,8 @@ for the Go language.")
       (license license:bsd-3))))
 
 (define-public go-golang-org-x-net
-  (let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
-        (revision "3"))
+  (let ((commit "ba9fcec4b297b415637633c5a6e8fa592e4a16c3")
+        (revision "4"))
     (package
       (name "go-golang-org-x-net")
       (version (git-version "0.0.0" revision commit))
@@ -681,7 +678,7 @@ for the Go language.")
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
+                  "1hbqvy6r0s5h0dpdqw8fynl3cq0acin3iyqki9xvl5r8h33yb9bx"))))
       (build-system go-build-system)
       (arguments
        `(#:import-path "golang.org/x/net"
@@ -695,9 +692,39 @@ for the Go language.")
       (home-page "https://go.googlesource.com/net")
       (license license:bsd-3))))
 
+(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))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                       (url "https://go.googlesource.com/image")
+                       (commit commit)))
+                (file-name (string-append "go.googlesource.com-image-"
+                                          version "-checkout"))
+                (sha256
+                 (base32
+                  "0i2p2girc1sfcic6xs6vrq0fp3szfx057xppksb67kliywjjrm5x"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "golang.org/x/image"
+         ; Source-only package
+         #:tests? #f
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'build))))
+      (home-page "https://go.googlesource.com/image")
+      (synopsis "Supplemental Go image libraries")
+      (description "This package provides supplemental Go libraries for image
+processing.")
+      (license license:bsd-3))))
+
 (define-public go-golang-org-x-sys
-  (let ((commit "04f50cda93cbb67f2afa353c52f342100e80e625")
-        (revision "4"))
+  (let ((commit "749cb33beabd9aa6d3178e3de05bcc914f70b2bf")
+        (revision "5"))
     (package
       (name "go-golang-org-x-sys")
       (version (git-version "0.0.0" revision commit))
@@ -709,7 +736,7 @@ for the Go language.")
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "0hmfsz9y1ingwsn482hlzzmzs7kr3cklm0ana0mbdk70isw2bxnw"))))
+                  "0dm3257q3rv2kyn5lmqqim2fqg634v6rhrqq4glvbk4wx4l3v337"))))
       (build-system go-build-system)
       (arguments
        `(#:import-path "golang.org/x/sys"
@@ -753,8 +780,8 @@ support for low-level interaction with the operating system.")
     (license license:bsd-3)))
 
 (define-public go-golang-org-x-time
-  (let ((commit "6dc17368e09b0e8634d71cac8168d853e869a0c7")
-        (revision "1"))
+  (let ((commit "9d24e82272b4f38b78bc8cff74fa936d31ccd8ef")
+        (revision "2"))
     (package
       (name "go-golang-org-x-time")
       (version (git-version "0.0.0" revision commit))
@@ -766,7 +793,7 @@ support for low-level interaction with the operating system.")
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "1fx4cf5fpdz00g3c7vxzy92hdcg0vh4yqw00qp5s52j72qixynbk"))))
+                  "1f5nkr4vys2vbd8wrwyiq2f5wcaahhpxmia85d1gshcbqjqf8dkb"))))
       (build-system go-build-system)
       (arguments
        `(#:import-path "golang.org/x/time"
@@ -1169,7 +1196,7 @@ GNU extensions} to the POSIX recommendations for command-line options.")
         (base32
          "0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz"))))
     (build-system go-build-system)
-    (native-inputs
+    (propagated-inputs
      `(("go-golang-org-x-crypto"
         ,go-golang-org-x-crypto)
        ("go-github-com-stretchr-testify"
@@ -1184,6 +1211,31 @@ GNU extensions} to the POSIX recommendations for command-line options.")
 compatible with the standard library logger.")
     (license license:expat)))
 
+(define-public go-github-com-rifflock-lfshook
+  (package
+    (name "go-github-com-rifflock-lfshook")
+    (version "2.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/rifflock/lfshook.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0wxqjcjfg8c0klmdgmbw3ckagby3wg9rkga9ihd4fsf05x5scxrc"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/rifflock/lfshook"))
+    (propagated-inputs
+     `(("go-github-com-sirupsen-logrus" ,go-github-com-sirupsen-logrus)))
+    (home-page "https://github.com/rifflock/lfshook")
+    (synopsis "Local File System hook for Logrus logger")
+    (description "This package provides a hook for Logrus to write directly to
+a file on the filesystem.  The log levels are dynamic at instantiation of the
+hook, so it is capable of logging at some or all levels.")
+    (license license:expat)))
+
 (define-public go-github-com-kardianos-osext
   (let ((commit "ae77be60afb1dcacde03767a8c37337fad28ac14")
         (revision "1"))
@@ -1426,7 +1478,7 @@ values.")
 (define-public go-github-com-mattn-go-isatty
   (package
     (name "go-github-com-mattn-go-isatty")
-    (version "0.0.7")
+    (version "0.0.11")
     (source
      (origin
        (method git-fetch)
@@ -1436,7 +1488,7 @@ values.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1i77aq4gf9as03m8fpfh8fq49n4z9j7548blrcsidm1xhslzk5xd"))))
+         "0h671sv7hfprja495kavazkalkx7xzaqksjh13brcnwq67ijrali"))))
     (build-system go-build-system)
     (propagated-inputs
      `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
@@ -1795,7 +1847,7 @@ and lookup requests.  Browse requests are not supported yet.")
 (define-public go-github-com-gogo-protobuf
   (package
     (name "go-github-com-gogo-protobuf")
-    (version "1.2.1")
+    (version "1.3.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -1804,7 +1856,7 @@ and lookup requests.  Browse requests are not supported yet.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m"))))
+                "0x77x64sxjgfhmbijqfzmj8h4ar25l2w97h01q3cqs1wk7zfnkhp"))))
     (build-system go-build-system)
     (arguments
      `(#:import-path "github.com/gogo/protobuf"
@@ -1960,27 +2012,25 @@ needing to use secp256k1 elliptic curve cryptography.")
       (license license:isc))))
 
 (define-public go-github-com-minio-sha256-simd
-  (let ((commit "cc1980cb03383b1d46f518232672584432d7532d")
-        (revision "3"))
-    (package
-      (name "go-github-com-minio-sha256-simd")
-      (version (git-version "0.0.0" revision commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/minio/sha256-simd.git")
-               (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32
-           "04fp98nal0wsb26zwhw82spn5camxslc68g3xp8g4af9w6k9g31j"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:import-path "github.com/minio/sha256-simd"))
-      (home-page "https://github.com/minio/sha256-simd")
-      (synopsis "Accelerate SHA256 computations in pure Go")
-      (description "Accelerate SHA256 computations in pure Go using AVX512 and
+  (package
+    (name "go-github-com-minio-sha256-simd")
+    (version "0.1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/minio/sha256-simd.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1j0iqsckm97g4l79vd4mc7apbmkdar23jpzqpnpdhwpfd834j8lp"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/minio/sha256-simd"))
+    (home-page "https://github.com/minio/sha256-simd")
+    (synopsis "Accelerate SHA256 computations in pure Go")
+    (description "Accelerate SHA256 computations in pure Go using AVX512 and
 AVX2 for Intel and ARM64 for ARM.  On AVX512 it provides an up to 8x
 improvement (over 3 GB/s per core) in comparison to AVX2.
 
@@ -1993,7 +2043,7 @@ This package uses Golang assembly.  The AVX512 version is based on the Intel's
 \"multi-buffer crypto library for IPSec\" whereas the other Intel
 implementations are described in \"Fast SHA-256 Implementations on Intel
 Architecture Processors\" by J. Guilford et al.")
-      (license license:asl2.0))))
+    (license license:asl2.0)))
 
 (define-public go-github-com-libp2p-go-libp2p-crypto
   (let ((commit "7240b40a3ddc47c4d17c15baabcbe45e5219171b")
@@ -2111,25 +2161,51 @@ increase approaching hashing speeds of 1GB/sec on a single core.")
       (license license:asl2.0))))
 
 (define-public go-github-com-spaolacci-murmur3
-  (let ((commit "f09979ecbc725b9e6d41a297405f65e7e8804acc")
+  (package
+    (name "go-github-com-spaolacci-murmur3")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/spaolacci/murmur3.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/spaolacci/murmur3"))
+    (home-page "https://github.com/spaolacci/murmur3")
+    (synopsis "Native MurmurHash3 Go implementation")
+    (description "Native Go implementation of Austin Appleby's third MurmurHash
+revision (aka MurmurHash3).
+
+Reference algorithm has been slightly hacked as to support the streaming mode
+required by Go's standard Hash interface.")
+    (license license:bsd-3)))
+
+(define-public go-github-com-calmh-murmur3
+  (let ((commit "74e9af8f47ac56901c490d45546ca167b60c7066")
         (revision "0"))
     (package
-      (name "go-github-com-spaolacci-murmur3")
-      (version (git-version "1.1" revision commit))
+      (name "go-github-com-calmh-murmur3")
+      (version (git-version "1.1.0" revision commit))
       (source
        (origin
          (method git-fetch)
          (uri (git-reference
-               (url "https://github.com/spaolacci/murmur3.git")
+               (url "https://github.com/calmh/murmur3.git")
                (commit commit)))
          (file-name (git-file-name name version))
          (sha256
           (base32
-           "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25"))))
+           "0k8345ivx228qdbkl8bisd2wxwsinkb44ghba6r09538fr3fbr5w"))))
       (build-system go-build-system)
       (arguments
-       '(#:import-path "github.com/spaolacci/murmur3"))
-      (home-page "https://github.com/spaolacci/murmur3")
+       '(#:import-path "github.com/calmh/murmur3"))
+      (home-page "https://github.com/calmh/murmur3")
       (synopsis "Native MurmurHash3 Go implementation")
       (description "Native Go implementation of Austin Appleby's third
 MurmurHash revision (aka MurmurHash3).
@@ -2474,7 +2550,7 @@ as conversion to and from @command{net.Addr}.")
 (define-public go-github-com-urfave-cli
   (package
     (name "go-github-com-urfave-cli")
-    (version "1.21.0")
+    (version "1.22.2")
     (source
      (origin
        (method git-fetch)
@@ -2484,10 +2560,12 @@ as conversion to and from @command{net.Addr}.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "104jldhxn6d97l5vsbsl0q8hgy1bxrahbr6dbfqrlppva51jmydd"))))
+         "10mcnvi5qmn00vpyk6si8gjka7p654wr9hac4zc9w5h3ickhvbdc"))))
     (build-system go-build-system)
     (arguments
      '(#:import-path "github.com/urfave/cli"))
+    (propagated-inputs
+     `(("go-github-com-go-md2man" ,go-github-com-go-md2man)))
     (home-page "https://github.com/urfave/cli")
     (synopsis "Simple, fast, and fun package for building command line apps in Go")
     (description "@command{cli} is a simple, fast, and fun package for
@@ -2495,6 +2573,107 @@ building command line apps in Go.  The goal is to enable developers to write
 fast and distributable command line applications in an expressive way.")
     (license license:expat)))
 
+(define-public go-github-com-go-md2man
+  (package
+    (name "go-github-com-go-md2man")
+    (version "2.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/cpuguy83/go-md2man")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0r1f7v475dxxgzqci1mxfliwadcrk86ippflx9n411325l4g3ghv"))
+       (modules '((guix build utils)))
+       (snippet '(begin
+                   (delete-file-recursively "vendor")
+                   #t))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/cpuguy83/go-md2man"))
+    (propagated-inputs
+     `(("go-github-com-russross-blackfriday" ,go-github-com-russross-blackfriday)))
+    (home-page "https://github.com/cpuguy83/go-md2man")
+    (synopsis "Convert markdown into roff")
+    (description "Go-md2man is a Go program that converts markdown to roff for
+the purpose of building man pages.")
+    (license license:expat)))
+
+(define-public go-github-com-russross-blackfriday
+  (package
+    (name "go-github-com-russross-blackfriday")
+    (version "2.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/russross/blackfriday")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0nlz7isdd4rgnwzs68499hlwicxz34j2k2a0b8jy0y7ycd2bcr5j"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/russross/blackfriday"))
+    (propagated-inputs
+     `(("go-github-com-shurcool-sanitized-anchor-name"
+        ,go-github-com-shurcool-sanitized-anchor-name)))
+    (native-inputs
+     `(("go-github-com-pmezard-go-difflib" ,go-github-com-pmezard-go-difflib)))
+    (home-page "https://github.com/russross/blackfriday")
+    (synopsis "Markdown processor in Go")
+    (description "Blackfriday is a Markdown processor in Go.")
+    (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")
+             (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 Go program for creating sanitized
+anchor names.")
+    (license license:expat)))
+
+(define-public go-github-com-pmezard-go-difflib
+  (package
+    (name "go-github-com-pmezard-go-difflib")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/pmezard/go-difflib")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/pmezard/go-difflib/difflib"
+       #:unpack-path "github.com/pmezard/go-difflib/"))
+    (home-page "https://github.com/pmezard/go-difflib")
+    (synopsis "Go diff implementation")
+    (description "This package provides unified and context-aware diffs in Go.")
+    (license license:bsd-3)))
+
 (define-public go-github-com-whyrusleeping-json-filter
   (let ((commit "ff25329a9528f01c5175414f16cc0a6a162a5b8b")
         (revision "0"))
@@ -2865,7 +3044,7 @@ mutex, simply ignore the RLock/RUnlock functions.")
 (define-public go-github-com-marten-seemann-qtls
   (package
     (name "go-github-com-marten-seemann-qtls")
-    (version "0.2.3")
+    (version "0.3.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2874,7 +3053,7 @@ mutex, simply ignore the RLock/RUnlock functions.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0b9p7bwkm9hfg1mb565q4nw5k7xyks0z2xagz5fp95azy2psbnfg"))))
+                "1mdymj66qrqy80pfkwy9s9z9ifkg251whngw5lim09zm90wv2q7a"))))
     (build-system go-build-system)
     (arguments
      '(#:import-path "github.com/marten-seemann/qtls"
@@ -2915,7 +3094,7 @@ implementation of generics.")
 (define-public go-github-com-lucas-clemente-quic-go
   (package
     (name "go-github-com-lucas-clemente-quic-go")
-    (version "0.11.2")
+    (version "0.12.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2924,7 +3103,7 @@ implementation of generics.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0gqm5mc8alg84ra7yxach34il1jvcij8f76qdqcahnd3d2nhjbia"))))
+                "156nhq4dvw7mr08j952248v81q7702phbn4mp228319sahnbv65h"))))
     (build-system go-build-system)
     (arguments
      '(#:import-path "github.com/lucas-clemente/quic-go"
@@ -2933,7 +3112,8 @@ implementation of generics.")
     (propagated-inputs
      `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
        ("go-github-com-cheekybits-genny" ,go-github-com-cheekybits-genny)
-       ("go-github-com-marten-seemann-qtls" ,go-github-com-marten-seemann-qtls)))
+       ("go-github-com-marten-seemann-qtls" ,go-github-com-marten-seemann-qtls)
+       ("go-github-com-golang-protobuf-proto" ,go-github-com-golang-protobuf-proto)))
     (synopsis "QUIC in Go")
     (description "This package provides a Go language implementation of the QUIC
 network protocol.")
@@ -2941,28 +3121,26 @@ network protocol.")
     (license license:expat)))
 
 (define-public go-github-com-pkg-errors
-  (let ((commit "27936f6d90f9c8e1145f11ed52ffffbfdb9e0af7")
-        (revision "0"))
-    (package
-      (name "go-github-com-pkg-errors")
-      (version (git-version "0.8.1" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/pkg/errors.git")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "0yzmgi6g4ak4q8y7w6x0n5cbinlcn8yc3gwgzy4yck00qdn25d6y"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "github.com/pkg/errors"))
-      (synopsis "Go error handling primitives")
-      (description "This package provides @code{error}, which offers simple
+  (package
+    (name "go-github-com-pkg-errors")
+    (version "0.9.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/pkg/errors.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1761pybhc2kqr6v5fm8faj08x9bql8427yqg6vnfv6nhrasx1mwq"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/pkg/errors"))
+    (synopsis "Go error handling primitives")
+    (description "This package provides @code{error}, which offers simple
 error handling primitives in Go.")
-      (home-page "https://github.com/pkg/errors")
-      (license license:bsd-2))))
+    (home-page "https://github.com/pkg/errors")
+    (license license:bsd-2)))
 
 (define-public go-github-com-maruel-panicparse
   (package
@@ -3080,3 +3258,460 @@ alternative to @code{reflect.DeepEqual} for comparing whether two values
 are semantically equal in Go (for writing tests).")
     (home-page "https://godoc.org/github.com/google/go-cmp/cmp")
     (license license:asl2.0)))
+
+(define-public go-golang.org-x-sync-errgroup
+  (let ((commit "cd5d95a43a6e21273425c7ae415d3df9ea832eeb")
+        (revision "0"))
+    (package
+      (name "go-golang.org-x-sync-errgroup")
+      (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
+                  "1nqkyz2y1qvqcma52ijh02s8aiqmkfb95j08f6zcjhbga3ds6hds"))))
+      (build-system go-build-system)
+      (arguments
+       '(#:import-path "golang.org/x/sync/errgroup"
+         #:unpack-path "golang.org/x/sync"))
+      (synopsis "Synchronization, error propagation, and Context cancellation
+for groups of goroutines working on subtasks of a common task.")
+      (description "This package provides synchronization, error propagation,
+and Context cancellation for groups of goroutines working on subtasks of a
+common task.")
+      (home-page "https://godoc.org/golang.org/x/sync/errgroup")
+      (license license:bsd-3))))
+
+(define (go-gotest-tools-source version sha256-base32-hash)
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://github.com/gotestyourself/gotest.tools.git")
+          (commit (string-append "v" version))))
+    (file-name (git-file-name "go-gotest-tools" version))
+    (sha256
+     (base32 sha256-base32-hash))))
+
+;; Note that version 3.0.0 is incompatible to 2.3.0.
+;; See also <https://github.com/gotestyourself/gotest.tools/issues/166>.
+(define (go-gotest-tools-package suffix)
+  (package
+    (name (string-append "go-gotest-tools-"
+                         (string-replace-substring suffix "/" "-")))
+    (version "2.3.0")
+    (source
+     (go-gotest-tools-source version
+      "0071rjxp4xzcr3vprkaj1hdk35a3v45bx8v0ipk16wwc5hx84i2i"))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path ,(string-append "gotest.tools/" suffix)
+       #:unpack-path "gotest.tools"))
+    (synopsis "@code{gotest-tools} part")
+    (description "This package provides a part of @code{gotest-tools}.")
+    (home-page "https://github.com/gotestyourself/gotest.tools")
+    (license license:asl2.0)))
+
+(define-public go-gotest-tools-internal-format
+  (package (inherit (go-gotest-tools-package "internal/format"))
+    (native-inputs
+     `(("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
+       ("go-github-com-google-go-cmp-cmp"
+        ,go-github-com-google-go-cmp-cmp)))
+    (synopsis "Formats messages for use with gotest-tools")
+    (description "This package provides a way to format messages for use
+with gotest-tools.")))
+
+(define-public go-gotest-tools-internal-difflib
+  (package (inherit (go-gotest-tools-package "internal/difflib"))
+    (synopsis "Differences for use with gotest-tools")
+    (description "This package computes differences for use
+with gotest-tools.")))
+
+(define-public go-gotest-tools-internal-source
+  (package (inherit (go-gotest-tools-package "internal/source"))
+    (native-inputs
+     `(("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
+       ("go-github-com-google-go-cmp-cmp" ,go-github-com-google-go-cmp-cmp)))
+    (synopsis "Source code AST formatters for gotest-tools")
+    (description "This package provides source code AST formatters for
+gotest-tools.")))
+
+(define-public go-gotest-tools-assert
+  (package (inherit (go-gotest-tools-package "assert"))
+    (name "go-gotest-tools-assert")
+    (arguments
+     `(#:tests? #f ; Test failure concerning message formatting (FIXME)
+       #:import-path "gotest.tools/assert"
+       #:unpack-path "gotest.tools"))
+    ;(propagated-inputs
+    ; `(("go-gotest-tools-internal-format" ,go-gotest-tools-internal-format)))
+    (native-inputs
+     `(("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
+       ("go-github-com-google-go-cmp-cmp"
+        ,go-github-com-google-go-cmp-cmp)))
+    (synopsis "Compare values and fail a test when a comparison fails")
+    (description "This package provides a way to compare values and fail a
+test when a comparison fails.")
+    (home-page "https://github.com/gotestyourself/gotest.tools")
+    (license license:asl2.0)))
+
+(define-public gotestsum
+  (package
+    (name "gotestsum")
+    (version "0.4.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/gotestyourself/gotestsum.git")
+                     (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0y71qr3ss3hgc8c7nmvpwk946xy1jc5d8whsv6y77wb24ncla7n0"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "gotest.tools/gotestsum"))
+    (native-inputs
+     `(("go-github-com-fatih-color" ,go-github-com-fatih-color)
+       ("go-golang.org-x-sync-errgroup" ,go-golang.org-x-sync-errgroup)
+       ("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
+       ("go-github-com-sirupsen-logrus"
+        ,go-github-com-sirupsen-logrus)
+       ("go-github-com-spf13-pflag" ,go-github-com-spf13-pflag)
+       ("go-github-com-jonboulle-clockwork"
+        ,go-github-com-jonboulle-clockwork)
+       ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
+       ("go-gotest-tools-assert" ,go-gotest-tools-assert)
+       ("go-github-com-google-go-cmp-cmp"
+        ,go-github-com-google-go-cmp-cmp)
+       ;; TODO: This would be better as a propagated-input of
+       ;; go-gotest-tools-assert, but that does not work for
+       ;; some reason.
+       ("go-gotest-tools-internal-format"
+        ,go-gotest-tools-internal-format)
+       ("go-gotest-tools-internal-difflib"
+        ,go-gotest-tools-internal-difflib)
+       ("go-gotest-tools-internal-source"
+        ,go-gotest-tools-internal-source)
+       ("go-github-com-google-go-cmp-cmp"
+        ,go-github-com-google-go-cmp-cmp)))
+    (synopsis "Go test runner with output optimized for humans")
+    (description "This package provides a @code{go test} runner with output
+optimized for humans, JUnit XML for CI integration, and a summary of the
+test results.")
+    (home-page "https://github.com/gotestyourself/gotestsum")
+    (license license:asl2.0)))
+
+(define-public go-github-com-golang-protobuf-proto
+  (package
+    (name "go-github-com-golang-protobuf-proto")
+    (version "1.3.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/golang/protobuf.git")
+                     (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "15am4s4646qy6iv0g3kkqq52rzykqjhm4bf08dk0fy2r58knpsyl"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/golang/protobuf/proto"
+       #:unpack-path "github.com/golang/protobuf"
+       ;; Requires unpackaged golang.org/x/sync/errgroup
+       #:tests? #f))
+    (synopsis "Go support for Protocol Buffers")
+    (description "This package provides Go support for the Protocol Buffers
+data serialization format.")
+    (home-page "https://github.com/golang/protobuf")
+    (license license:bsd-3)))
+
+(define-public go-github-com-mattn-go-zglob
+  (package
+    (name "go-github-com-mattn-go-zglob")
+    (version "0.0.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/mattn/go-zglob.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1sncdyq5fbd42al4amyy91h7vlzm3wm6c9vl8za2pjgfgsd581fz"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/mattn/go-zglob"))
+    (home-page "https://github.com/mattn/go-zglob")
+    (synopsis "Glob library that descends into other directories")
+    (description " A glob library that implements descending into other
+directories.  It is optimized for filewalking. ")
+    (license license:expat)))
+
+(define-public go-github-com-willf-bitset
+  (package
+    (name "go-github-com-willf-bitset")
+    (version "1.1.10")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/willf/bitset")
+                     (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0wpaxg6va3qwd0hq0b8rpb1hswvzzbfm2h8sjmcsdpbkydjjx9zg"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/willf/bitset"))
+    (synopsis "Bitsets in Go")
+    (description "This package provides a Go implementation of bitsets, which
+are a mapping between non-negative integers and boolean values focused on
+efficient space usage.")
+    (home-page "https://github.com/willf/bitset")
+    (license license:bsd-3)))
+
+(define-public go-github-com-willf-bloom
+  (package
+    (name "go-github-com-willf-bloom")
+    (version "2.0.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/willf/bloom")
+                     (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0ygan8pgcay7wx3cs3ja8rdqj7nly7v3and97ddcc66020jxchzg"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/willf/bloom"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-import-path
+           (lambda _
+             ;; See 'go.mod' in the source distribution of Syncthing 1.4.1 for
+             ;; more information.
+             ;; <https://github.com/spaolacci/murmur3/issues/29>
+             (substitute* "src/github.com/willf/bloom/bloom.go"
+               (("spaolacci") "calmh"))
+             #t)))))
+    (propagated-inputs
+     `(("go-github-com-calmh-murmur3" ,go-github-com-calmh-murmur3)
+       ("go-github-com-willf-bitset" ,go-github-com-willf-bitset)))
+    (synopsis "Bloom filters in Go")
+    (description "This package provides a Go implementation of bloom filters,
+based on murmurhash.")
+    (home-page "https://github.com/willf/bloom")
+    (license license:bsd-2)))
+
+(define-public go-golang-org-rainycape-unidecode
+  (let ((commit "cb7f23ec59bec0d61b19c56cd88cee3d0cc1870c")
+        (revision "1"))
+    (package
+      (name "go-golang-org-rainycape-unidecode")
+      (version (git-version "0.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                       (url "https://github.com/rainycape/unidecode")
+                       (commit commit)))
+                (file-name (string-append "go-golang-org-rainycape-unidecode-"
+                                          version "-checkout"))
+                (sha256
+                 (base32
+                  "1wvzdijd640blwkgmw6h09frkfa04kcpdq87n2zh2ymj1dzla5v5"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "golang.org/rainycape/unidecode"))
+      (home-page "https://github.com/rainycape/unidecode")
+      (synopsis "Unicode transliterator in Golang")
+      (description "Unicode transliterator in Golang - Replaces non-ASCII
+characters with their ASCII approximations.")
+      (license license:asl2.0))))
+
+(define-public go-github-com-golang-freetype
+  (let ((commit "e2365dfdc4a05e4b8299a783240d4a7d5a65d4e4")
+        (revision "1"))
+    (package
+      (name "go-github-com-golang-freetype")
+      (version (git-version "0.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                       (url "https://github.com/golang/freetype")
+                       (commit commit)))
+                (file-name (string-append "go-github-com-golang-freetype-"
+                                          version "-checkout"))
+                (sha256
+                 (base32
+                  "194w3djc6fv1rgcjqds085b9fq074panc5vw582bcb8dbfzsrqxc"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/golang/freetype"))
+      (propagated-inputs
+       `(("go-golang-org-x-image" ,go-golang-org-x-image)))
+      (home-page "https://github.com/golang/freetype")
+      (synopsis "Freetype font rasterizer in the Go programming language")
+      (description "The Freetype font rasterizer in the Go programming language.")
+      (license (list license:freetype
+                     license:gpl2+)))))
+
+(define-public go-github-com-fogleman-gg
+  (package
+    (name "go-github-com-fogleman-gg")
+    (version "1.3.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/fogleman/gg")
+                     (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1nkldjghbqnzj2djfaxhiv35kk341xhcrj9m2dwq65v684iqkk8n"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:tests? #f      ; Issue with test flags.
+       #:import-path "github.com/fogleman/gg"))
+    (propagated-inputs
+     `(("go-github-com-golang-freetype" ,go-github-com-golang-freetype)))
+    (home-page "https://github.com/fogleman/gg")
+    (synopsis "2D rendering in Go")
+    (description "@code{gg} is a library for rendering 2D graphics in pure Go.")
+    (license license:expat)))
+
+(define-public go-github-com-gedex-inflector
+  (let ((commit "16278e9db8130ac7ec405dc174cfb94344f16325")
+        (revision "1"))
+    (package
+      (name "go-github-com-gedex-inflector")
+      (version (git-version "0.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                       (url "https://github.com/gedex/inflector")
+                       (commit commit)))
+                (file-name (string-append "go-github-com-gedex-inflector-"
+                                          version "-checkout"))
+                (sha256
+                 (base32
+                  "05hjqw1m71vww4914d9h6nqa9jw3lgjzwsy7qaffl02s2lh1amks"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/gedex/inflector"))
+      (home-page "https://github.com/gedex/inflector")
+      (synopsis "Go library that pluralizes and singularizes English nouns")
+      (description "Go library that pluralizes and singularizes English nouns.")
+      (license license:bsd-2))))
+
+(define-public go-github-com-klauspost-cpuid
+  (package
+    (name "go-github-com-klauspost-cpuid")
+    (version "1.2.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/klauspost/cpuid")
+                     (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1s510210wdj5dkamii1qrk7v87k4qpdcrrjzflp5ha9iscw6b06l"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/klauspost/cpuid"))
+    (home-page "https://github.com/klauspost/cpuid")
+    (synopsis "CPU feature identification for Go")
+    (description "@code{cpuid} provides information about the CPU running the
+current program.  CPU features are detected on startup, and kept for fast access
+through the life of the application.  Currently x86 / x64 (AMD64) is supported,
+and no external C (cgo) code is used, which should make the library very eas
+to use.")
+    (license license:expat)))
+
+(define-public go-github-com-pbnjay-memory
+  (let ((commit "974d429e7ae40c89e7dcd41cfcc22a0bfbe42510")
+        (revision "1"))
+    (package
+      (name "go-github-com-pbnjay-memory")
+      (version (git-version "0.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                       (url "https://github.com/pbnjay/memory")
+                       (commit commit)))
+                (file-name (string-append "go-github-com-pbnjay-memory-"
+                                          version "-checkout"))
+                (sha256
+                 (base32
+                  "0kazg5psdn90pqadrzma5chdwh0l2by9z31sspr47gx93fhjmkkq"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/pbnjay/memory"))
+      (home-page "https://github.com/gedex/inflector")
+      (synopsis "Go library to report total system memory")
+      (description "@code{memory} provides a single method reporting total
+physical system memory accessible to the kernel.  It does not account for memory
+used by other processes.")
+      (license license:bsd-3))))
+
+(define-public go-github-com-surge-glog
+  (let ((commit "2578deb2b95c665e6b1ebabf304ce2085c9e1985")
+        (revision "1"))
+    (package
+      (name "go-github-com-surge-glog")
+      (version (git-version "0.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                       (url "https://github.com/surge/glog")
+                       (commit commit)))
+                (file-name (string-append "go-github-com-surge-glog-"
+                                          version "-checkout"))
+                (sha256
+                 (base32
+                  "1bxcwxvsvr2hfpjz9hrrn0wrgykwmrbyk567102k3vafw9xdcwk4"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/surge/glog"))
+      (home-page "https://github.com/surge/glog")
+      (synopsis "Leveled execution logs for Go")
+      (description "Leveled execution logs for Go.")
+      (license license:asl2.0))))
+
+(define-public go-github-com-surgebase-porter2
+  (let ((commit "56e4718818e8dc4ea5ba6348402fc7661863732a")
+        (revision "1"))
+    (package
+      (name "go-github-com-surgebase-porter2")
+      (version (git-version "0.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                       (url "https://github.com/surgebase/porter2")
+                       (commit commit)))
+                (file-name (string-append "go-github-com-surgebase-porter2-"
+                                          version "-checkout"))
+                (sha256
+                 (base32
+                  "1ivcf83jlj9s7q5y9dfbpyl0br35cz8fcp0dm8sxxvqh54py06v2"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/surgebase/porter2"))
+      (native-inputs
+       `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)
+         ("go-github-com-surge-glog" ,go-github-com-surge-glog)))
+      (home-page "https://github.com/surgebase/porter2")
+      (synopsis "Go library implementing english Porter2 stemmer")
+      (description "Porter2 implements the
+@url{http://snowball.tartarus.org/algorithms/english/stemmer.html, english
+Porter2 stemmer}.  It is written completely using finite state machines to do
+suffix comparison, rather than the string-based or tree-based approaches.")
+      (license license:asl2.0))))