;;; 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>
;;; 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.
;;;
(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)
name version ".src.tar.gz"))
(sha256
(base32
- "19zmrhydd52vhdnzlhxqklzg1mnav434dcgw9wl4iajbvfwd70sk"))))
+ "07gksk9194wa90xyd6yhagxfv7syvsx29bh8ypc4mg700vc1kfrl"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.4)
((#:phases phases)
(("/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"))
(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
,@(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")
(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))
version "-checkout"))
(sha256
(base32
- "1jqfh81mhgwcc6b9l0bs6rb0707s01qpvn7896i5bsmig46lc7zm"))))
+ "0q7hxaaq6lp0v8qqzifvysl47z5rfdlrxkh3d29vsl3wyby3dxl8"))))
(build-system go-build-system)
(arguments
'(#:import-path "golang.org/x/crypto"
(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))
(file-name (git-file-name name version))
(sha256
(base32
- "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
+ "1hbqvy6r0s5h0dpdqw8fynl3cq0acin3iyqki9xvl5r8h33yb9bx"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/net"
(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))
(file-name (git-file-name name version))
(sha256
(base32
- "0hmfsz9y1ingwsn482hlzzmzs7kr3cklm0ana0mbdk70isw2bxnw"))))
+ "0dm3257q3rv2kyn5lmqqim2fqg634v6rhrqq4glvbk4wx4l3v337"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/sys"
(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))
(file-name (git-file-name name version))
(sha256
(base32
- "1fx4cf5fpdz00g3c7vxzy92hdcg0vh4yqw00qp5s52j72qixynbk"))))
+ "1f5nkr4vys2vbd8wrwyiq2f5wcaahhpxmia85d1gshcbqjqf8dkb"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/time"
(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"
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"))
(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)
(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)))
(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
(file-name (git-file-name name version))
(sha256
(base32
- "06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m"))))
+ "0x77x64sxjgfhmbijqfzmj8h4ar25l2w97h01q3cqs1wk7zfnkhp"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/gogo/protobuf"
(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.
\"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")
(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).
(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)
(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
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"))
(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
(file-name (git-file-name name version))
(sha256
(base32
- "0b9p7bwkm9hfg1mb565q4nw5k7xyks0z2xagz5fp95azy2psbnfg"))))
+ "1mdymj66qrqy80pfkwy9s9z9ifkg251whngw5lim09zm90wv2q7a"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/marten-seemann/qtls"
(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
(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"
(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.")
(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
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))))