gnu: ruby-pandoc-ruby: Use pandoc instead of ghc-pandoc.
[jackhill/guix/guix.git] / gnu / packages / golang.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
3 ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
4 ;;; Copyright © 2016 Andy Wingo <wingo@igalia.com>
5 ;;; Copyright © 2016, 2019 Ludovic Courtès <ludo@gnu.org>
6 ;;; Copyright © 2016, 2017 Petter <petter@mykolab.ch>
7 ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Leo Famulari <leo@famulari.name>
8 ;;; Copyright © 2017 Sergei Trofimovich <slyfox@inbox.ru>
9 ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
10 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
11 ;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
12 ;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
13 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
14 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
15 ;;; Copyright @ 2018, 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
16 ;;; Copyright @ 2019 Giovanni Biscuolo <g@xelera.eu>
17 ;;; Copyright @ 2019, 2020 Alex Griffin <a@ajgrf.com>
18 ;;; Copyright © 2019, 2020 Arun Isaac <arunisaac@systemreboot.net>
19 ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
20 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
21 ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.com>
22 ;;;
23 ;;; This file is part of GNU Guix.
24 ;;;
25 ;;; GNU Guix is free software; you can redistribute it and/or modify it
26 ;;; under the terms of the GNU General Public License as published by
27 ;;; the Free Software Foundation; either version 3 of the License, or (at
28 ;;; your option) any later version.
29 ;;;
30 ;;; GNU Guix is distributed in the hope that it will be useful, but
31 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
32 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33 ;;; GNU General Public License for more details.
34 ;;;
35 ;;; You should have received a copy of the GNU General Public License
36 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
37
38 (define-module (gnu packages golang)
39 #:use-module ((guix licenses) #:prefix license:)
40 #:use-module (guix utils)
41 #:use-module (guix download)
42 #:use-module (guix git-download)
43 #:use-module (guix packages)
44 #:use-module (guix build-system gnu)
45 #:use-module (guix build-system trivial)
46 #:use-module (guix build-system go)
47 #:use-module (gnu packages)
48 #:use-module (gnu packages admin)
49 #:use-module (gnu packages gcc)
50 #:use-module (gnu packages glib)
51 #:use-module (gnu packages base)
52 #:use-module (gnu packages perl)
53 #:use-module (gnu packages pkg-config)
54 #:use-module (gnu packages pcre)
55 #:use-module (gnu packages lua)
56 #:use-module (gnu packages mp3)
57 #:use-module (gnu packages textutils)
58 #:use-module (gnu packages tls)
59 #:use-module (ice-9 match)
60 #:use-module (srfi srfi-1))
61
62 ;; According to https://golang.org/doc/install/gccgo, gccgo-4.8.2 includes a
63 ;; complete go-1.1.2 implementation, gccgo-4.9 includes a complete go-1.2
64 ;; implementation, and gccgo-5 a complete implementation of go-1.4. Ultimately
65 ;; we hope to build go-1.5+ with a bootstrap process using gccgo-5. As of
66 ;; go-1.5, go cannot be bootstrapped without go-1.4, so we need to use go-1.4 or
67 ;; gccgo-5. Mips is not officially supported, but it should work if it is
68 ;; bootstrapped.
69
70 (define-public go-1.4
71 (package
72 (name "go")
73 ;; The C-language bootstrap of Go:
74 ;; https://golang.org/doc/install/source#go14
75 (version "1.4-bootstrap-20171003")
76 (source (origin
77 (method url-fetch)
78 (uri (string-append "https://storage.googleapis.com/golang/"
79 name version ".tar.gz"))
80 (sha256
81 (base32
82 "0liybk5z00hizsb5ypkbhqcawnwwa6mkwgvjjg4y3jm3ndg5pzzl"))))
83 (build-system gnu-build-system)
84 (outputs '("out"
85 "doc"
86 "tests"))
87 (arguments
88 `(#:modules ((ice-9 match)
89 (guix build gnu-build-system)
90 (guix build utils)
91 (srfi srfi-1))
92 #:tests? #f ; Tests are run by the all.bash script.
93 ,@(if (string-prefix? "aarch64-linux" (or (%current-system)
94 (%current-target-system)))
95 '(#:system "armhf-linux")
96 '())
97 #:phases
98 (modify-phases %standard-phases
99 (delete 'configure)
100 (add-after 'patch-generated-file-shebangs 'chdir
101 (lambda _
102 (chdir "src")
103 #t))
104 (add-before 'build 'prebuild
105 (lambda* (#:key inputs outputs #:allow-other-keys)
106 (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))
107 (ld (string-append (assoc-ref inputs "libc") "/lib"))
108 (loader (car (find-files ld "^ld-linux.+")))
109 (net-base (assoc-ref inputs "net-base"))
110 (tzdata-path
111 (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
112 (output (assoc-ref outputs "out")))
113
114 ;; Removing net/ tests, which fail when attempting to access
115 ;; network resources not present in the build container.
116 (for-each delete-file
117 '("net/multicast_test.go" "net/parse_test.go"
118 "net/port_test.go"))
119
120 ;; Add libgcc to the RUNPATH.
121 (substitute* "cmd/go/build.go"
122 (("cgoldflags := \\[\\]string\\{\\}")
123 (string-append "cgoldflags := []string{"
124 "\"-rpath=" gcclib "\"}"))
125 (("ldflags := buildLdflags")
126 (string-append
127 "ldflags := buildLdflags\n"
128 "ldflags = append(ldflags, \"-r\")\n"
129 "ldflags = append(ldflags, \"" gcclib "\")\n")))
130
131 (substitute* "os/os_test.go"
132 (("/usr/bin") (getcwd))
133 (("/bin/pwd") (which "pwd")))
134
135 ;; Disable failing tests: these tests attempt to access
136 ;; commands or network resources which are neither available or
137 ;; necessary for the build to succeed.
138 (for-each
139 (match-lambda
140 ((file regex)
141 (substitute* file
142 ((regex all before test_name)
143 (string-append before "Disabled" test_name)))))
144 '(("net/net_test.go" "(.+)(TestShutdownUnix.+)")
145 ("net/dial_test.go" "(.+)(TestDialTimeout.+)")
146 ("os/os_test.go" "(.+)(TestHostname.+)")
147 ("time/format_test.go" "(.+)(TestParseInSydney.+)")
148
149 ("os/exec/exec_test.go" "(.+)(TestEcho.+)")
150 ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)")
151 ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)")
152 ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)")
153 ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)")
154 ("os/exec/exec_test.go" "(.+)(TestPipes.+)")
155 ("os/exec/exec_test.go" "(.+)(TestStdinClose.+)")
156 ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)")
157 ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)")))
158
159 (substitute* "net/lookup_unix.go"
160 (("/etc/protocols") (string-append net-base "/etc/protocols")))
161 (substitute* "time/zoneinfo_unix.go"
162 (("/usr/share/zoneinfo/") tzdata-path))
163 (substitute* (find-files "cmd" "asm.c")
164 (("/lib/ld-linux.*\\.so\\.[0-9]") loader))
165 #t)))
166
167 (replace 'build
168 (lambda* (#:key inputs outputs #:allow-other-keys)
169 ;; FIXME: Some of the .a files are not bit-reproducible.
170 (let* ((output (assoc-ref outputs "out")))
171 (setenv "CC" (which "gcc"))
172 (setenv "GOOS" "linux")
173 (setenv "GOROOT" (dirname (getcwd)))
174 (setenv "GOROOT_FINAL" output)
175 (setenv "GO14TESTS" "1")
176 (invoke "sh" "all.bash"))))
177
178 (replace 'install
179 (lambda* (#:key outputs inputs #:allow-other-keys)
180 (let* ((output (assoc-ref outputs "out"))
181 (doc_out (assoc-ref outputs "doc"))
182 (bash (string-append (assoc-ref inputs "bash") "bin/bash"))
183 (docs (string-append doc_out "/share/doc/" ,name "-" ,version))
184 (tests (string-append
185 (assoc-ref outputs "tests") "/share/" ,name "-" ,version)))
186 (mkdir-p tests)
187 (copy-recursively "../test" (string-append tests "/test"))
188 (delete-file-recursively "../test")
189 (mkdir-p docs)
190 (copy-recursively "../api" (string-append docs "/api"))
191 (delete-file-recursively "../api")
192 (copy-recursively "../doc" (string-append docs "/doc"))
193 (delete-file-recursively "../doc")
194
195 (for-each (lambda (file)
196 (let ((file (string-append "../" file)))
197 (install-file file docs)
198 (delete-file file)))
199 '("README" "CONTRIBUTORS" "AUTHORS" "PATENTS"
200 "LICENSE" "VERSION" "robots.txt"))
201 (copy-recursively "../" output)
202 #t))))))
203 (inputs
204 `(("tzdata" ,tzdata)
205 ("pcre" ,pcre)
206 ("gcc:lib" ,(canonical-package gcc) "lib")))
207 (native-inputs
208 `(("pkg-config" ,pkg-config)
209 ("which" ,which)
210 ("net-base" ,net-base)
211 ("perl" ,perl)))
212
213 (home-page "https://golang.org/")
214 (synopsis "Compiler and libraries for Go, a statically-typed language")
215 (description "Go, also commonly referred to as golang, is an imperative
216 programming language designed primarily for systems programming. Go is a
217 compiled, statically typed language in the tradition of C and C++, but adds
218 garbage collection, various safety features, and concurrent programming features
219 in the style of communicating sequential processes (@dfn{CSP}).")
220 (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux"))
221 (license license:bsd-3)))
222
223 (define-public go-1.14
224 (package
225 (inherit go-1.4)
226 (name "go")
227 (version "1.14.4")
228 (source
229 (origin
230 (method git-fetch)
231 (uri (git-reference
232 (url "https://github.com/golang/go")
233 (commit (string-append "go" version))))
234 (file-name (git-file-name name version))
235 (sha256
236 (base32
237 "08bazglmqp123c9dgrxflvxd011xsqfxsgah2kzbvca0mhm6qcm3"))))
238 (arguments
239 (substitute-keyword-arguments (package-arguments go-1.4)
240 ((#:system system)
241 (if (string-prefix? "aarch64-linux" (or (%current-system)
242 (%current-target-system)))
243 "aarch64-linux"
244 system))
245 ((#:phases phases)
246 `(modify-phases ,phases
247 (replace 'prebuild
248 (lambda* (#:key inputs outputs #:allow-other-keys)
249 (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))
250 (ld (string-append (assoc-ref inputs "libc") "/lib"))
251 (loader (car (find-files ld "^ld-linux.+")))
252 (net-base (assoc-ref inputs "net-base"))
253 (tzdata-path
254 (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
255 (output (assoc-ref outputs "out")))
256
257 ;; Having the patch in the 'patches' field of <origin> breaks
258 ;; the 'TestServeContent' test due to the fact that
259 ;; timestamps are reset. Thus, apply it from here.
260 (invoke "patch" "-p2" "--force" "-i"
261 (assoc-ref inputs "go-skip-gc-test.patch"))
262
263 ;; A side effect of these test scripts is testing
264 ;; cgo. Attempts at using cgo flags and directives with these
265 ;; scripts as specified here (https://golang.org/cmd/cgo/)
266 ;; have not worked. The tests continue to state that they can
267 ;; not find object files/headers despite being present.
268 (for-each
269 delete-file
270 '("cmd/go/testdata/script/mod_case_cgo.txt"
271 "cmd/go/testdata/script/list_find.txt"
272 "cmd/go/testdata/script/list_compiled_imports.txt"
273 "cmd/go/testdata/script/cgo_syso_issue29253.txt"
274 "cmd/go/testdata/script/cover_cgo.txt"
275 "cmd/go/testdata/script/cover_cgo_xtest.txt"
276 "cmd/go/testdata/script/cover_cgo_extra_test.txt"
277 "cmd/go/testdata/script/cover_cgo_extra_file.txt"))
278
279 (for-each make-file-writable (find-files "."))
280
281 (substitute* "os/os_test.go"
282 (("/usr/bin") (getcwd))
283 (("/bin/pwd") (which "pwd"))
284 (("/bin/sh") (which "sh")))
285
286 ;; Add libgcc to runpath
287 (substitute* "cmd/link/internal/ld/lib.go"
288 (("!rpath.set") "true"))
289 (substitute* "cmd/go/internal/work/gccgo.go"
290 (("cgoldflags := \\[\\]string\\{\\}")
291 (string-append "cgoldflags := []string{"
292 "\"-rpath=" gcclib "\""
293 "}"))
294 (("\"-lgcc_s\", ")
295 (string-append
296 "\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", ")))
297 (substitute* "cmd/go/internal/work/gc.go"
298 (("ldflags = setextld\\(ldflags, compiler\\)")
299 (string-append
300 "ldflags = setextld(ldflags, compiler)\n"
301 "ldflags = append(ldflags, \"-r\")\n"
302 "ldflags = append(ldflags, \"" gcclib "\")\n")))
303
304 ;; Disable failing tests: these tests attempt to access
305 ;; commands or network resources which are neither available
306 ;; nor necessary for the build to succeed.
307 (for-each
308 (match-lambda
309 ((file regex)
310 (substitute* file
311 ((regex all before test_name)
312 (string-append before "Disabled" test_name)))))
313 '(("net/net_test.go" "(.+)(TestShutdownUnix.+)")
314 ("net/dial_test.go" "(.+)(TestDialTimeout.+)")
315 ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPort.+)")
316 ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPortWithCancel.+)")
317 ;; 127.0.0.1 doesn't exist
318 ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPTR.+)")
319 ;; 127.0.0.1 doesn't exist
320 ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPTRWithCancel.+)")
321 ;; /etc/services doesn't exist
322 ("net/parse_test.go" "(.+)(TestReadLine.+)")
323 ("os/os_test.go" "(.+)(TestHostname.+)")
324 ;; The user's directory doesn't exist
325 ("os/os_test.go" "(.+)(TestUserHomeDir.+)")
326 ("time/format_test.go" "(.+)(TestParseInSydney.+)")
327 ("time/format_test.go" "(.+)(TestParseInLocation.+)")
328 ("os/exec/exec_test.go" "(.+)(TestEcho.+)")
329 ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)")
330 ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)")
331 ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)")
332 ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)")
333 ("os/exec/exec_test.go" "(.+)(TestPipes.+)")
334 ("os/exec/exec_test.go" "(.+)(TestStdinClose.+)")
335 ("os/exec/exec_test.go" "(.+)(TestIgnorePipeErrorOnSuccess.+)")
336 ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)")
337 ("os/exec/exec_test.go" "(.+)(TestExtraFiles/areturn.+)")
338 ("cmd/go/go_test.go" "(.+)(TestCoverageWithCgo.+)")
339 ("cmd/go/go_test.go" "(.+)(TestTwoPkgConfigs.+)")
340 ("os/exec/exec_test.go" "(.+)(TestOutputStderrCapture.+)")
341 ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)")
342 ("os/exec/exec_test.go" "(.+)(TestExtraFilesRace.+)")
343 ("net/lookup_test.go" "(.+)(TestLookupPort.+)")
344 ("syscall/exec_linux_test.go"
345 "(.+)(TestCloneNEWUSERAndRemapNoRootDisableSetgroups.+)")))
346
347 ;; These tests fail on aarch64-linux
348 (substitute* "cmd/dist/test.go"
349 (("t.registerHostTest\\(\"testsanitizers/msan.*") ""))
350
351 ;; fix shebang for testar script
352 ;; note the target script is generated at build time.
353 (substitute* "../misc/cgo/testcarchive/carchive_test.go"
354 (("#!/usr/bin/env") (string-append "#!" (which "env"))))
355
356 (substitute* "net/lookup_unix.go"
357 (("/etc/protocols") (string-append net-base "/etc/protocols")))
358 (substitute* "net/port_unix.go"
359 (("/etc/services") (string-append net-base "/etc/services")))
360 (substitute* "time/zoneinfo_unix.go"
361 (("/usr/share/zoneinfo/") tzdata-path))
362 (substitute* (find-files "cmd" "\\.go")
363 (("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader))
364 #t)))
365 (add-before 'build 'set-bootstrap-variables
366 (lambda* (#:key outputs inputs #:allow-other-keys)
367 ;; Tell the build system where to find the bootstrap Go.
368 (let ((go (assoc-ref inputs "go")))
369 (setenv "GOROOT_BOOTSTRAP" go)
370 (setenv "GOGC" "400")
371 #t)))
372 (replace 'build
373 (lambda* (#:key inputs outputs #:allow-other-keys)
374 ;; FIXME: Some of the .a files are not bit-reproducible.
375 (let* ((output (assoc-ref outputs "out")))
376 (setenv "CC" (which "gcc"))
377 (setenv "GOOS" "linux")
378 (setenv "GOROOT" (dirname (getcwd)))
379 (setenv "GOROOT_FINAL" output)
380 (setenv "CGO_ENABLED" "1")
381 (invoke "sh" "all.bash"))))
382 (replace 'install
383 ;; TODO: Most of this could be factorized with Go 1.4.
384 (lambda* (#:key outputs #:allow-other-keys)
385 (let* ((output (assoc-ref outputs "out"))
386 (doc_out (assoc-ref outputs "doc"))
387 (docs (string-append doc_out "/share/doc/" ,name "-" ,version))
388 (src (string-append
389 (assoc-ref outputs "tests") "/share/" ,name "-" ,version)))
390 ;; Prevent installation of the build cache, which contains
391 ;; store references to most of the tools used to build Go and
392 ;; would unnecessarily increase the size of Go's closure if it
393 ;; was installed.
394 (delete-file-recursively "../pkg/obj")
395
396 (mkdir-p src)
397 (copy-recursively "../test" (string-append src "/test"))
398 (delete-file-recursively "../test")
399 (mkdir-p docs)
400 (copy-recursively "../api" (string-append docs "/api"))
401 (delete-file-recursively "../api")
402 (copy-recursively "../doc" (string-append docs "/doc"))
403 (delete-file-recursively "../doc")
404
405 (for-each
406 (lambda (file)
407 (let* ((filein (string-append "../" file))
408 (fileout (string-append docs "/" file)))
409 (copy-file filein fileout)
410 (delete-file filein)))
411 ;; Note the slightly different file names compared to 1.4.
412 '("README.md" "CONTRIBUTORS" "AUTHORS" "PATENTS"
413 "LICENSE" "VERSION" "CONTRIBUTING.md" "robots.txt"))
414
415 (copy-recursively "../" output)
416 #t)))))))
417 (native-inputs
418 `(("go" ,go-1.4)
419 ("go-skip-gc-test.patch" ,(search-patch "go-skip-gc-test.patch"))
420 ,@(match (%current-system)
421 ((or "armhf-linux" "aarch64-linux")
422 `(("gold" ,binutils-gold)))
423 (_ `()))
424 ,@(package-native-inputs go-1.4)))
425 (supported-systems %supported-systems)))
426
427 (define-public go go-1.14)
428
429 (define-public go-github-com-alsm-ioprogress
430 (let ((commit "063c3725f436e7fba0c8f588547bee21ffec7ac5")
431 (revision "0"))
432 (package
433 (name "go-github-com-alsm-ioprogress")
434 (version (git-version "0.0.0" revision commit))
435 (source (origin
436 (method git-fetch)
437 (uri (git-reference
438 (url "https://github.com/alsm/ioprogress")
439 (commit commit)))
440 (file-name (git-file-name name version))
441 (sha256
442 (base32
443 "10ym5qlq77nynmkxbk767f2hfwyxg2k7hrzph05hvgzv833dhivh"))))
444 (build-system go-build-system)
445 (arguments
446 '(#:import-path "github.com/alsm/ioprogress"))
447 (synopsis "Textual progress bars in Go")
448 (description "@code{ioprogress} is a Go library with implementations of
449 @code{io.Reader} and @code{io.Writer} that draws progress bars. The primary use
450 case for these are for command-line applications but alternate progress bar
451 writers can be supplied for alternate environments.")
452 (home-page "https://github.com/alsm/ioprogress")
453 (license license:expat))))
454
455 (define-public go-github-com-aki237-nscjar
456 (let ((commit "e2df936ddd6050d30dd90c7214c02b5019c42f06")
457 (revision "0"))
458 (package
459 (name "go-github-com-aki237-nscjar")
460 (version (git-version "0.0.0" revision commit))
461 (source (origin
462 (method git-fetch)
463 (uri (git-reference
464 (url "https://github.com/aki237/nscjar")
465 (commit commit)))
466 (file-name (git-file-name name version))
467 (sha256
468 (base32
469 "03y7zzq12qvhsq86lb06sgns8xrkblbn7i7wd886wk3zr5574b96"))))
470 (build-system go-build-system)
471 (arguments
472 '(#:import-path "github.com/aki237/nscjar"))
473 (synopsis "Handle Netscape / Mozilla cookies")
474 (description "@code{nscjar} is a Go library used to parse and output
475 Netscape/Mozilla's old-style cookie files. It also implements a simple cookie
476 jar struct to manage the cookies added to the cookie jar.")
477 (home-page "https://github.com/aki237/nscjar")
478 (license license:expat))))
479
480 (define-public go-github.com-jessevdk-go-flags
481 (package
482 (name "go-github.com-jessevdk-go-flags")
483 (version "1.3.0")
484 (source (origin
485 (method git-fetch)
486 (uri (git-reference
487 (url "https://github.com/jessevdk/go-flags")
488 (commit (string-append "v" version))))
489 (file-name (git-file-name name version))
490 (sha256
491 (base32
492 "1jk2k2l10lwrn1r3nxdvbs0yz656830j4khzirw8p4ahs7c5zz36"))))
493 (build-system go-build-system)
494 (arguments
495 '(#:import-path "github.com/jessevdk/go-flags"))
496 (synopsis "Go library for parsing command line arguments")
497 (description
498 "The @code{flags} package provides a command line option parser. The
499 functionality is similar to the go builtin @code{flag} package, but
500 @code{flags} provides more options and uses reflection to provide a succinct
501 way of specifying command line options.")
502 (home-page "https://github.com/jessevdk/go-flags")
503 (license license:bsd-3)))
504
505 (define-public go-gopkg.in-tomb.v2
506 (let ((commit "d5d1b5820637886def9eef33e03a27a9f166942c")
507 (revision "0"))
508 (package
509 (name "go-gopkg.in-tomb.v2")
510 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
511 (source (origin
512 (method git-fetch)
513 (uri (git-reference
514 (url "https://github.com/go-tomb/tomb")
515 (commit commit)))
516 (file-name (string-append name "-" version ".tar.gz"))
517 (sha256
518 (base32
519 "1sv15sri99szkdz1bkh0ir46w9n8prrwx5hfai13nrhkawfyfy10"))))
520 (build-system go-build-system)
521 (arguments
522 '(#:import-path "gopkg.in/tomb.v2"
523 #:phases
524 (modify-phases %standard-phases
525 (add-after 'unpack 'patch-source
526 (lambda _
527 ;; Add a missing % to fix the compilation of this test
528 (substitute* "src/gopkg.in/tomb.v2/tomb_test.go"
529 (("t.Fatalf\\(`Killf\\(\"BO%s")
530 "t.Fatalf(`Killf(\"BO%%s"))
531 #t)))))
532 (synopsis "@code{tomb} handles clean goroutine tracking and termination")
533 (description
534 "The @code{tomb} package handles clean goroutine tracking and
535 termination.")
536 (home-page "https://gopkg.in/tomb.v2")
537 (license license:bsd-3))))
538
539 (define-public go-github.com-jtolds-gls
540 (package
541 (name "go-github.com-jtolds-gls")
542 (version "4.20")
543 (source (origin
544 (method git-fetch)
545 (uri (git-reference
546 (url "https://github.com/jtolds/gls")
547 (commit (string-append "v" version))))
548 (file-name (git-file-name name version))
549 (sha256
550 (base32
551 "1k7xd2q2ysv2xsh373qs801v6f359240kx0vrl0ydh7731lngvk6"))))
552 (build-system go-build-system)
553 (arguments
554 '(#:import-path "github.com/jtolds/gls"))
555 (synopsis "@code{gls} provides Goroutine local storage")
556 (description
557 "The @code{gls} package provides a way to store a retrieve values
558 per-goroutine.")
559 (home-page "https://github.com/jtolds/gls")
560 (license license:expat)))
561
562 (define-public go-github-com-tj-docopt
563 (package
564 (name "go-github-com-tj-docopt")
565 (version "1.0.0")
566 (source (origin
567 (method git-fetch)
568 (uri (git-reference
569 (url "https://github.com/tj/docopt")
570 (commit (string-append "v" version))))
571 (file-name (git-file-name name version))
572 (sha256
573 (base32
574 "06h8hdg1mh3s78zqlr01g4si7k0f0g6pr7fj7lnvfg446hgc7080"))))
575 (build-system go-build-system)
576 (arguments
577 '(#:import-path "github.com/tj/docopt"))
578 (synopsis "Go implementation of docopt")
579 (description
580 "This library allows the user to define a command-line interface from a
581 program's help message rather than specifying it programmatically with
582 command-line parsers.")
583 (home-page "https://github.com/tj/docopt")
584 (license license:expat)))
585
586 (define-public go-github-com-hashicorp-hcl
587 (let ((commit "23c074d0eceb2b8a5bfdbb271ab780cde70f05a8")
588 (revision "0"))
589 (package
590 (name "go-github-com-hashicorp-hcl")
591 (version (git-version "0.0.0" revision commit))
592 (source (origin
593 (method git-fetch)
594 (uri (git-reference
595 (url "https://github.com/hashicorp/hcl")
596 (commit commit)))
597 (file-name (git-file-name name version))
598 (sha256
599 (base32
600 "0db4lpqb5m130rmfy3s3gjjf4dxllypmyrzxv6ggqhkmwmc7w4mc"))))
601 (build-system go-build-system)
602 (arguments
603 '(#:tests? #f
604 #:import-path "github.com/hashicorp/hcl"))
605 (synopsis "Go implementation of HashiCorp Configuration Language")
606 (description
607 "This package contains the main implementation of the @acronym{HCL,
608 HashiCorp Configuration Language}. HCL is designed to be a language for
609 expressing configuration which is easy for both humans and machines to read.")
610 (home-page "https://github.com/hashicorp/hcl")
611 (license license:mpl2.0))))
612
613 (define-public go-golang-org-x-tools
614 (let ((commit "8b927904ee0dec805c89aaf9172f4459296ed6e8")
615 (revision "0"))
616 (package
617 (name "go-golang-org-x-tools")
618 (version (git-version "0.1.3" revision commit))
619 (source (origin
620 (method git-fetch)
621 (uri (git-reference
622 (url "https://go.googlesource.com/tools")
623 (commit commit)))
624 (file-name (string-append "go.googlesource.com-tools-"
625 version "-checkout"))
626 (sha256
627 (base32
628 "0iinb70xhcjsddgi42ia1n745lx2ibnjdm6m2v666qrk3876vpck"))))
629 (build-system go-build-system)
630 (arguments
631 `(#:import-path "golang.org/x/tools"
632 ;; Source-only package
633 #:tests? #f
634 #:phases
635 (modify-phases %standard-phases
636 ;; Source-only package
637 (delete 'build))))
638 (synopsis "Tools that support the Go programming language")
639 (description "This package provides miscellaneous tools that support the
640 Go programming language.")
641 (home-page "https://go.googlesource.com/tools/")
642 (license license:bsd-3))))
643
644 (define-public go-golang-org-x-crypto
645 (let ((commit "2aa609cf4a9d7d1126360de73b55b6002f9e052a")
646 (revision "5"))
647 (package
648 (name "go-golang-org-x-crypto")
649 (version (git-version "0.0.0" revision commit))
650 (source (origin
651 (method git-fetch)
652 (uri (git-reference
653 (url "https://go.googlesource.com/crypto")
654 (commit commit)))
655 (file-name (string-append "go.googlesource.com-crypto-"
656 version "-checkout"))
657 (sha256
658 (base32
659 "1yvis6fqbsd7f356aqyi18f76vnwj3bry6mxqnkvshq4cwrf92il"))))
660 (build-system go-build-system)
661 (arguments
662 '(#:import-path "golang.org/x/crypto"
663 ;; Source-only package
664 #:tests? #f
665 #:phases
666 (modify-phases %standard-phases
667 ;; Source-only package
668 (delete 'build)
669 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
670 (lambda* (#:key outputs #:allow-other-keys)
671 (map (lambda (file)
672 (make-file-writable file))
673 (find-files
674 (string-append (assoc-ref outputs "out")
675 "/src/golang.org/x/crypto/ed25519/testdata")
676 ".*\\.gz$"))
677 #t)))))
678 (propagated-inputs
679 `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
680 (synopsis "Supplementary cryptographic libraries in Go")
681 (description "This package provides supplementary cryptographic libraries
682 for the Go language.")
683 (home-page "https://go.googlesource.com/crypto/")
684 (license license:bsd-3))))
685
686 (define-public go-golang-org-x-net
687 (let ((commit "ba9fcec4b297b415637633c5a6e8fa592e4a16c3")
688 (revision "4"))
689 (package
690 (name "go-golang-org-x-net")
691 (version (git-version "0.0.0" revision commit))
692 (source (origin
693 (method git-fetch)
694 (uri (git-reference
695 (url "https://go.googlesource.com/net")
696 (commit commit)))
697 (file-name (git-file-name name version))
698 (sha256
699 (base32
700 "1hbqvy6r0s5h0dpdqw8fynl3cq0acin3iyqki9xvl5r8h33yb9bx"))))
701 (build-system go-build-system)
702 (arguments
703 `(#:import-path "golang.org/x/net"
704 ; Source-only package
705 #:tests? #f
706 #:phases
707 (modify-phases %standard-phases
708 (delete 'build))))
709 (synopsis "Go supplemental networking libraries")
710 (description "This package provides supplemental Go networking libraries.")
711 (home-page "https://go.googlesource.com/net")
712 (license license:bsd-3))))
713
714 (define-public go-golang-org-x-image
715 (let ((commit "58c23975cae11f062d4b3b0c143fe248faac195d")
716 (revision "1"))
717 (package
718 (name "go-golang-org-x-image")
719 (version (git-version "0.0.0" revision commit))
720 (source (origin
721 (method git-fetch)
722 (uri (git-reference
723 (url "https://go.googlesource.com/image")
724 (commit commit)))
725 (file-name (string-append "go.googlesource.com-image-"
726 version "-checkout"))
727 (sha256
728 (base32
729 "0i2p2girc1sfcic6xs6vrq0fp3szfx057xppksb67kliywjjrm5x"))))
730 (build-system go-build-system)
731 (arguments
732 `(#:import-path "golang.org/x/image"
733 ; Source-only package
734 #:tests? #f
735 #:phases
736 (modify-phases %standard-phases
737 (delete 'build))))
738 (home-page "https://go.googlesource.com/image")
739 (synopsis "Supplemental Go image libraries")
740 (description "This package provides supplemental Go libraries for image
741 processing.")
742 (license license:bsd-3))))
743
744 (define-public go-golang-org-x-sys
745 (let ((commit "c709ea063b76879dc9915358f55d4d77c16ab6d5")
746 (revision "6"))
747 (package
748 (name "go-golang-org-x-sys")
749 (version (git-version "0.0.0" revision commit))
750 (source (origin
751 (method git-fetch)
752 (uri (git-reference
753 (url "https://go.googlesource.com/sys")
754 (commit commit)))
755 (file-name (git-file-name name version))
756 (sha256
757 (base32
758 "15nq53a6kcqchng4j0d1pjw0m6hny6126nhjdwqw5n9dzh6a226d"))))
759 (build-system go-build-system)
760 (arguments
761 `(#:import-path "golang.org/x/sys"
762 ;; Source-only package
763 #:tests? #f
764 #:phases
765 (modify-phases %standard-phases
766 (delete 'build))))
767 (synopsis "Go support for low-level system interaction")
768 (description "This package provides supplemental libraries offering Go
769 support for low-level interaction with the operating system.")
770 (home-page "https://go.googlesource.com/sys")
771 (license license:bsd-3))))
772
773 (define-public go-golang-org-x-text
774 (package
775 (name "go-golang-org-x-text")
776 (version "0.3.2")
777 (source (origin
778 (method git-fetch)
779 (uri (git-reference
780 (url "https://go.googlesource.com/text")
781 (commit (string-append "v" version))))
782 (file-name (string-append "go.googlesource.com-text-"
783 version "-checkout"))
784 (sha256
785 (base32
786 "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh"))))
787 (build-system go-build-system)
788 (arguments
789 `(#:import-path "golang.org/x/text"
790 ; Source-only package
791 #:tests? #f
792 #:phases
793 (modify-phases %standard-phases
794 (delete 'build))))
795 (synopsis "Supplemental Go text processing libraries")
796 (description "This package provides supplemental Go libraries for text
797 processing.")
798 (home-page "https://go.googlesource.com/text")
799 (license license:bsd-3)))
800
801 (define-public go-golang-org-x-time
802 (let ((commit "9d24e82272b4f38b78bc8cff74fa936d31ccd8ef")
803 (revision "2"))
804 (package
805 (name "go-golang-org-x-time")
806 (version (git-version "0.0.0" revision commit))
807 (source (origin
808 (method git-fetch)
809 (uri (git-reference
810 (url "https://go.googlesource.com/time")
811 (commit commit)))
812 (file-name (git-file-name name version))
813 (sha256
814 (base32
815 "1f5nkr4vys2vbd8wrwyiq2f5wcaahhpxmia85d1gshcbqjqf8dkb"))))
816 (build-system go-build-system)
817 (arguments
818 `(#:import-path "golang.org/x/time"
819 ; Source-only package
820 #:tests? #f
821 #:phases
822 (modify-phases %standard-phases
823 (delete 'build))))
824 ; (propagated-inputs
825 ; `(("go-golang-org-x-net" ,go-golang-org-x-net)))
826 (synopsis "Supplemental Go time libraries")
827 (description "This package provides supplemental Go libraries related to
828 time.")
829 (home-page "https://godoc.org/golang.org/x/time/rate")
830 (license license:bsd-3))))
831
832 (define-public go-golang-org-x-oauth2
833 (let ((commit "0f29369cfe4552d0e4bcddc57cc75f4d7e672a33")
834 (revision "1"))
835 (package
836 (name "go-golang-org-x-oauth2")
837 (version (git-version "0.0.0" revision commit))
838 (source (origin
839 (method git-fetch)
840 (uri (git-reference
841 (url "https://go.googlesource.com/oauth2")
842 (commit commit)))
843 (file-name (string-append "go.googlesource.com-oauth2-"
844 version "-checkout"))
845 (sha256
846 (base32
847 "06jwpvx0x2gjn2y959drbcir5kd7vg87k0r1216abk6rrdzzrzi2"))))
848 (build-system go-build-system)
849 (arguments
850 `(#:import-path "golang.org/x/oauth2"))
851 (propagated-inputs
852 `(("go-golang-org-x-net" ,go-golang-org-x-net)))
853 (home-page "https://go.googlesource.com/oauth2")
854 (synopsis "Client implementation of the OAuth 2.0 spec")
855 (description "This package contains a client implementation for OAuth 2.0
856 spec in Go.")
857 (license license:bsd-3))))
858
859 (define-public go-github-com-burntsushi-toml
860 (package
861 (name "go-github-com-burntsushi-toml")
862 (version "0.3.1")
863 (source
864 (origin
865 (method git-fetch)
866 (uri (git-reference
867 (url "https://github.com/BurntSushi/toml")
868 (commit (string-append "v" version))))
869 (file-name (git-file-name name version))
870 (sha256
871 (base32
872 "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6"))))
873 (build-system go-build-system)
874 (arguments
875 '(#:import-path "github.com/BurntSushi/toml"))
876 (home-page "https://github.com/BurntSushi/toml")
877 (synopsis "Toml parser and encoder for Go")
878 (description "This package is toml parser and encoder for Go. The interface
879 is similar to Go's standard library @code{json} and @code{xml} package.")
880 (license license:expat)))
881
882 (define-public go-github-com-getsentry-raven-go
883 (let ((commit "5c24d5110e0e198d9ae16f1f3465366085001d92")
884 (revision "0"))
885 (package
886 (name "go-github-com-getsentry-raven-go")
887 (version (git-version "0.2.0" revision commit))
888 (source
889 (origin
890 (method git-fetch)
891 (uri (git-reference
892 (url "https://github.com/getsentry/raven-go")
893 (commit commit)))
894 (file-name (git-file-name name version))
895 (sha256
896 (base32
897 "0lvc376sq8r8jhy2v1m6rf1wyld61pvbk0x6j9xpg56ivqy69xs7"))))
898 (build-system go-build-system)
899 (arguments
900 '(#:import-path "github.com/getsentry/raven-go"))
901 (propagated-inputs
902 `(("go-github-com-certifi-gocertifi" ,go-github-com-certifi-gocertifi)
903 ("go-github-com-pkg-errors" ,go-github-com-pkg-errors)))
904 (home-page "https://github.com/getsentry/raven-go")
905 (synopsis "Sentry client in Go")
906 (description "This package is a Go client API for the Sentry event/error
907 logging system.")
908 (license license:bsd-3))))
909
910 (define-public go-github-com-hashicorp-go-version
911 (let ((commit
912 "03c5bf6be031b6dd45afec16b1cf94fc8938bc77")
913 (revision "0"))
914 (package
915 (name "go-github-com-hashicorp-go-version")
916 (version (git-version "0.0.0" revision commit))
917 (source
918 (origin
919 (method git-fetch)
920 (uri (git-reference
921 (url "https://github.com/hashicorp/go-version")
922 (commit commit)))
923 (file-name (git-file-name name version))
924 (sha256
925 (base32
926 "0sjq57gpfznaqdrbyb2p0bn90g9h661cvr0jrk6ngags4pbw14ik"))))
927 (build-system go-build-system)
928 (arguments
929 '(#:import-path "github.com/hashicorp/go-version"))
930 (home-page
931 "https://github.com/hashicorp/go-version")
932 (synopsis "Go library for parsing and verifying versions and version
933 constraints")
934 (description "This package is a library for parsing versions and version
935 constraints, and verifying versions against a set of constraints. It can sort
936 a collection of versions properly, handles prerelease/beta versions, can
937 increment versions.")
938 (license license:mpl2.0))))
939
940 (define-public go-github-com-jpillora-backoff
941 (let ((commit
942 "06c7a16c845dc8e0bf575fafeeca0f5462f5eb4d")
943 (revision "0"))
944 (package
945 (name "go-github-com-jpillora-backoff")
946 (version (git-version "0.0.0" revision commit))
947 (source
948 (origin
949 (method git-fetch)
950 (uri (git-reference
951 (url "https://github.com/jpillora/backoff")
952 (commit commit)))
953 (file-name (git-file-name name version))
954 (sha256
955 (base32
956 "0xhvxr7bm47czdc5hy3kl508z3y4j91i2jm7vg774i52zych6k4l"))))
957 (build-system go-build-system)
958 (arguments
959 '(#:import-path "github.com/jpillora/backoff"))
960 (home-page "https://github.com/jpillora/backoff")
961 (synopsis "Simple exponential backoff counter in Go")
962 (description "This package is a simple exponential backoff counter in
963 Go.")
964 (license license:expat))))
965
966 (define-public go-github-com-stretchr-objx
967 (package
968 (name "go-github-com-stretchr-objx")
969 (version "0.2.0")
970 (source
971 (origin
972 (method git-fetch)
973 (uri (git-reference
974 (url "https://github.com/stretchr/objx")
975 (commit (string-append "v" version))))
976 (file-name (git-file-name name version))
977 (sha256
978 (base32
979 "0pcdvakxgddaiwcdj73ra4da05a3q4cgwbpm2w75ycq4kzv8ij8k"))))
980 (build-system go-build-system)
981 (arguments
982 '(#:import-path "github.com/stretchr/objx"))
983 (home-page "https://github.com/stretchr/objx")
984 (synopsis "Go package for dealing with maps, slices, JSON and other data")
985 (description "This package provides a Go library for dealing with maps,
986 slices, JSON and other data.")
987 (license license:expat)))
988
989 (define-public go-github-com-stretchr-testify
990 (package
991 (name "go-github-com-stretchr-testify")
992 (version "1.5.1")
993 (source
994 (origin
995 (method git-fetch)
996 (uri (git-reference
997 (url "https://github.com/stretchr/testify")
998 (commit (string-append "v" version))))
999 (file-name (git-file-name name version))
1000 (sha256
1001 (base32
1002 "09r89m1wy4cjv2nps1ykp00qjpi0531r07q3s34hr7m6njk4srkl"))))
1003 (build-system go-build-system)
1004 (arguments
1005 '(#:import-path "github.com/stretchr/testify"))
1006 (propagated-inputs
1007 `(("github.com/davecgh/go-spew" ,go-github-com-davecgh-go-spew)
1008 ("github.com/pmezard/go-difflib" ,go-github-com-pmezard-go-difflib)
1009 ("github.com/stretchr/objx" ,go-github-com-stretchr-objx)
1010 ("gopkg.in/yaml.v2" ,go-gopkg-in-yaml-v2)))
1011 (home-page "https://github.com/stretchr/testify")
1012 (synopsis "Go helper library for tests and invariant checking")
1013 (description "This package provide many tools for testifying that your
1014 code will behave as you intend.
1015
1016 Features include:
1017 @itemize
1018 @item Easy assertions
1019 @item Mocking
1020 @item HTTP response trapping
1021 @item Testing suite interfaces and functions.
1022 @end itemize")
1023 (license license:expat)))
1024
1025 (define-public go-github-com-tevino-abool
1026 (let ((commit
1027 "3c25f2fe7cd0ef3eabefce1d90efd69a65d35b12")
1028 (revision "0"))
1029 (package
1030 (name "go-github-com-tevino-abool")
1031 (version (git-version "0.0.0" revision commit))
1032 (source
1033 (origin
1034 (method git-fetch)
1035 (uri (git-reference
1036 (url "https://github.com/tevino/abool")
1037 (commit commit)))
1038 (file-name (git-file-name name version))
1039 (sha256
1040 (base32
1041 "1wxqrclxk93q0aj15z596dx2y57x9nkhi64nbrr5cxnhxn8vwixm"))))
1042 (build-system go-build-system)
1043 (arguments
1044 '(#:import-path "github.com/tevino/abool"))
1045 (home-page "https://github.com/tevino/abool")
1046 (synopsis "Atomic boolean library for Go code")
1047 (description "This package is atomic boolean library for Go code,
1048 optimized for performance yet simple to use.")
1049 (license license:expat))))
1050
1051 (define-public go-github-com-tv42-httpunix
1052 (let ((commit "2ba4b9c3382c77e7b9ea89d00746e6111d142a22")
1053 (revision "0"))
1054 (package
1055 (name "go-github-com-tv42-httpunix")
1056 (version (git-version "0.0.0" revision commit))
1057 (source
1058 (origin
1059 (method git-fetch)
1060 (uri (git-reference
1061 (url "https://github.com/tv42/httpunix.git")
1062 (commit commit)))
1063 (file-name (git-file-name name version))
1064 (sha256
1065 (base32 "0xbwpip2hsfhd2kd878jn5ndl8y1i9658lggha4x3xb5m1rsds9w"))))
1066 (build-system go-build-system)
1067 (arguments
1068 '(#:import-path "github.com/tv42/httpunix"))
1069 (home-page "https://github.com/tv42/httpunix")
1070 (synopsis "Go library to talk HTTP over Unix domain sockets")
1071 (description "This package is a Go library to talk HTTP over Unix domain
1072 sockets.")
1073 (license license:expat))))
1074
1075 (define-public go-github-com-blang-semver
1076 (let ((commit "60ec3488bfea7cca02b021d106d9911120d25fe9")
1077 (revision "0"))
1078 (package
1079 (name "go-github-com-blang-semver")
1080 (version (git-version "0.0.0" revision commit))
1081 (source
1082 (origin
1083 (method git-fetch)
1084 (uri (git-reference
1085 (url "https://github.com/blang/semver")
1086 (commit commit)))
1087 (file-name (git-file-name name version))
1088 (sha256
1089 (base32
1090 "19pli07y5592g4dyjyj0jq5rn548vc3fz0qg3624vm1j5828p1c2"))))
1091 (build-system go-build-system)
1092 (arguments
1093 '(#:import-path "github.com/blang/semver"))
1094 (home-page "https://github.com/blang/semver")
1095 (synopsis "Semantic versioning library written in Go")
1096 (description "Semver is a library for Semantic versioning written in Go.")
1097 (license license:expat))))
1098
1099 (define-public go-github-com-emicklei-go-restful
1100 (let ((commit "89ef8af493ab468a45a42bb0d89a06fccdd2fb22")
1101 (revision "0"))
1102 (package
1103 (name "go-github-com-emicklei-go-restful")
1104 (version (git-version "0.0.0" revision commit))
1105 (source
1106 (origin
1107 (method git-fetch)
1108 (uri (git-reference
1109 (url "https://github.com/emicklei/go-restful")
1110 (commit commit)))
1111 (file-name (git-file-name name version))
1112 (sha256
1113 (base32
1114 "0rrlfcfq80fkxifpih6bq31vavb5mf4530xz51pp9pq1mn2fzjfh"))))
1115 (build-system go-build-system)
1116 (arguments
1117 '(#:import-path "github.com/emicklei/go-restful"))
1118 (home-page "https://github.com/emicklei/go-restful")
1119 (synopsis "Build REST-style web services using Go")
1120 (description "This package provides @code{go-restful}, which helps
1121 developers to use @code{http} methods explicitly and in a way that's consistent
1122 with the HTTP protocol definition.")
1123 (license license:expat))))
1124
1125 (define-public go-github-com-google-cadvisor
1126 (let ((commit "2ed7198f77395ee9a172878a0a7ab92ab59a2cfd")
1127 (revision "0"))
1128 (package
1129 (name "go-github-com-google-cadvisor")
1130 (version (git-version "0.0.0" revision commit))
1131 (source
1132 (origin
1133 (method git-fetch)
1134 (uri (git-reference
1135 (url "https://github.com/google/cadvisor")
1136 (commit commit)))
1137 (file-name (git-file-name name version))
1138 (sha256
1139 (base32
1140 "1w8p345z5j0gk3yiq5ah0znd5lfh348p2s624k5r10drz04p3f55"))))
1141 (build-system go-build-system)
1142 (arguments
1143 '(#:import-path "github.com/google/cadvisor"))
1144 (home-page "https://github.com/google/cadvisor")
1145 (synopsis "Analyze resource usage of running containers")
1146 (description "The package provides @code{cadvisor}, which provides
1147 information about the resource usage and performance characteristics of running
1148 containers.")
1149 (license license:asl2.0))))
1150
1151 (define-public go-github-com-google-gofuzz
1152 (let ((commit "fd52762d25a41827db7ef64c43756fd4b9f7e382")
1153 (revision "0"))
1154 (package
1155 (name "go-github-com-google-gofuzz")
1156 (version (git-version "0.0.0" revision commit))
1157 (source
1158 (origin
1159 (method git-fetch)
1160 (uri (git-reference
1161 (url "https://github.com/google/gofuzz")
1162 (commit commit)))
1163 (file-name (git-file-name name version))
1164 (sha256
1165 (base32
1166 "1yxmmr73h0lq7ryf3q9a7pcm2x5xrg4d5bxkq8n5pxwxwyq26kw8"))))
1167 (build-system go-build-system)
1168 (arguments
1169 '(#:import-path "github.com/google/gofuzz"))
1170 (home-page "https://github.com/google/gofuzz")
1171 (synopsis "Fuzz testing library for Go")
1172 (description "Gofuzz is a library for populationg Go objects with random
1173 values for the purpose of fuzz testing.")
1174 (license license:asl2.0))))
1175
1176 (define-public go-github-com-gorilla-css
1177 (package
1178 (name "go-github-com-gorilla-css")
1179 (version "1.0.0")
1180 (source (origin
1181 (method git-fetch)
1182 (uri (git-reference
1183 (url "https://github.com/gorilla/css")
1184 (commit (string-append "v" version))))
1185 (file-name (git-file-name name version))
1186 (sha256
1187 (base32
1188 "116fhy3n7bsq3psyn4pa0i4x9zy916kh1zxslmbbp0p9l4i7ysrj"))))
1189 (build-system go-build-system)
1190 (arguments
1191 `(#:import-path "github.com/gorilla/css/scanner"
1192 #:unpack-path "github.com/gorilla/css"))
1193 (home-page "https://github.com/gorilla/css/")
1194 (synopsis "CSS3 tokenizer")
1195 (description "This package provides a CSS3 tokenizer.")
1196 (license license:bsd-3)))
1197
1198 (define-public go-github-com-gorilla-context
1199 (let ((commit "08b5f424b9271eedf6f9f0ce86cb9396ed337a42")
1200 (revision "0"))
1201 (package
1202 (name "go-github-com-gorilla-context")
1203 (version (git-version "0.0.0" revision commit))
1204 (source
1205 (origin
1206 (method git-fetch)
1207 (uri (git-reference
1208 (url "https://github.com/gorilla/context")
1209 (commit commit)))
1210 (file-name (git-file-name name version))
1211 (sha256
1212 (base32
1213 "03p4hn87vcmfih0p9w663qbx9lpsf7i7j3lc7yl7n84la3yz63m4"))))
1214 (build-system go-build-system)
1215 (arguments
1216 '(#:import-path "github.com/gorilla/context"))
1217 (home-page "https://github.com/gorilla/context")
1218 (synopsis "Go registry for request variables")
1219 (description "This package provides @code{gorilla/context}, which is a general purpose registry for global request variables in the Go programming language.")
1220 (license license:bsd-3))))
1221
1222 (define-public go-github-com-gorilla-mux
1223 (let ((commit "599cba5e7b6137d46ddf58fb1765f5d928e69604")
1224 (revision "0"))
1225 (package
1226 (name "go-github-com-gorilla-mux")
1227 (version (git-version "0.0.0" revision commit))
1228 (source
1229 (origin
1230 (method git-fetch)
1231 (uri (git-reference
1232 (url "https://github.com/gorilla/mux")
1233 (commit commit)))
1234 (file-name (git-file-name name version))
1235 (sha256
1236 (base32
1237 "0wd6jjii1kg5s0nk3ri6gqriz6hbd6bbcn6x4jf8n7ncrb8qsxyz"))))
1238 (build-system go-build-system)
1239 (arguments
1240 '(#:import-path "github.com/gorilla/mux"))
1241 (home-page "https://github.com/gorilla/mux")
1242 (synopsis "URL router and dispatcher for Go")
1243 (description
1244 "Gorilla/Mux implements a request router and dispatcher for matching
1245 incoming requests with their respective handler.")
1246 (license license:bsd-3))))
1247
1248 (define-public go-github-com-jonboulle-clockwork
1249 (let ((commit "e3653ace2d63753697e0e5b07b9393971c0bba9d")
1250 (revision "0"))
1251 (package
1252 (name "go-github-com-jonboulle-clockwork")
1253 (version (git-version "0.0.0" revision commit))
1254 (source
1255 (origin
1256 (method git-fetch)
1257 (uri (git-reference
1258 (url "https://github.com/jonboulle/clockwork")
1259 (commit commit)))
1260 (file-name (git-file-name name version))
1261 (sha256
1262 (base32
1263 "1avzqhks12a8x2yzpvjsf3k0gv9cy7zx2z88hn0scacnxkphisvc"))))
1264 (build-system go-build-system)
1265 (arguments
1266 '(#:import-path "github.com/jonboulle/clockwork"))
1267 (home-page "https://github.com/jonboulle/clockwork")
1268 (synopsis "Fake clock library for Go")
1269 (description
1270 "Replace uses of the @code{time} package with the
1271 @code{clockwork.Clock} interface instead.")
1272 (license license:asl2.0))))
1273
1274 (define-public go-github-com-spf13-afero
1275 (package
1276 (name "go-github-com-spf13-afero")
1277 (version "1.2.2")
1278 (source
1279 (origin
1280 (method git-fetch)
1281 (uri (git-reference
1282 (url "https://github.com/spf13/afero")
1283 (commit (string-append "v" version))))
1284 (file-name (git-file-name name version))
1285 (sha256
1286 (base32
1287 "0j9r65qgd58324m85lkl49vk9dgwd62g7dwvkfcm3k6i9dc555a9"))))
1288 (build-system go-build-system)
1289 (arguments
1290 `(#:import-path "github.com/spf13/afero"))
1291 (propagated-inputs
1292 `(("golang.org/x/text" ,go-golang-org-x-text)))
1293 (home-page "https://github.com/spf13/afero")
1294 (synopsis "File system abstraction for Go")
1295 (description
1296 "This package provides a file system abstraction for Go.")
1297 (license license:asl2.0)))
1298
1299 (define-public go-github-com-spf13-cast
1300 (package
1301 (name "go-github-com-spf13-cast")
1302 (version "1.3.1")
1303 (source
1304 (origin
1305 (method git-fetch)
1306 (uri (git-reference
1307 (url "https://github.com/spf13/cast")
1308 (commit (string-append "v" version))))
1309 (file-name (git-file-name name version))
1310 (sha256
1311 (base32
1312 "0lb84788glr0qzrq2ifi36rgvp96qrgywvxrr3ggq5hrbr38hgn1"))))
1313 (build-system go-build-system)
1314 (arguments
1315 `(#:import-path "github.com/spf13/cast"))
1316 (native-inputs
1317 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
1318 (home-page "https://github.com/spf13/cast")
1319 (synopsis "Safe and easy casting from one type to another in Go")
1320 (description "Safe and easy casting from one type to another in Go")
1321 (license license:expat)))
1322
1323 (define-public go-github-com-spf13-cobra
1324 (package
1325 (name "go-github-com-spf13-cobra")
1326 (version "1.0.0")
1327 (source
1328 (origin
1329 (method git-fetch)
1330 (uri (git-reference
1331 (url "https://github.com/spf13/cobra")
1332 (commit (string-append "v" version))))
1333 (file-name (git-file-name name version))
1334 (sha256
1335 (base32
1336 "0vbppqqhby302a5ayn0296jqr71qkcd4c9am7wzsk6z71fwdsa7h"))))
1337 (build-system go-build-system)
1338 (arguments
1339 `(#:import-path "github.com/spf13/cobra"))
1340 (propagated-inputs
1341 `(("github.com/spf13/pflag" ,go-github-com-spf13-pflag)))
1342 (home-page "https://github.com/spf13/cobra")
1343 (synopsis "Go library for creating CLI applications")
1344 (description "Cobra is both a library for creating powerful modern CLI
1345 applications as well as a program to generate applications and command files.")
1346 (license license:asl2.0)))
1347
1348 (define-public go-github-com-spf13-jwalterweatherman
1349 (package
1350 (name "go-github-com-spf13-jwalterweatherman")
1351 (version "1.1.0")
1352 (source
1353 (origin
1354 (method git-fetch)
1355 (uri (git-reference
1356 (url "https://github.com/spf13/jwalterweatherman")
1357 (commit (string-append "v" version))))
1358 (file-name (git-file-name name version))
1359 (sha256
1360 (base32
1361 "1ywmkwci5zyd88ijym6f30fj5c0k2yayxarkmnazf5ybljv50q7b"))))
1362 (build-system go-build-system)
1363 (arguments
1364 `(#:import-path "github.com/spf13/jwalterweatherman"))
1365 (native-inputs
1366 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
1367 (home-page "https://github.com/spf13/jwalterweatherman")
1368 (synopsis "Go logging library")
1369 (description "Go logging library")
1370 (license license:expat)))
1371
1372 (define-public go-github-com-spf13-pflag
1373 (package
1374 (name "go-github-com-spf13-pflag")
1375 (version "1.0.5")
1376 (source
1377 (origin
1378 (method git-fetch)
1379 (uri (git-reference
1380 (url "https://github.com/spf13/pflag")
1381 (commit (string-append "v" version))))
1382 (file-name (git-file-name name version))
1383 (sha256
1384 (base32
1385 "0gpmacngd0gpslnbkzi263f5ishigzgh6pbdv9hp092rnjl4nd31"))))
1386 (build-system go-build-system)
1387 (arguments
1388 '(#:import-path "github.com/spf13/pflag"))
1389 (home-page "https://github.com/spf13/pflag")
1390 (synopsis "Replacement for Go's @code{flag} package")
1391 (description
1392 "Pflag is library to replace Go's @code{flag} package. It implements
1393 POSIX/GNU-style command-line options with double hyphens. It is is compatible
1394 with the
1395 @uref{https://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html,
1396 GNU extensions} to the POSIX recommendations for command-line options.")
1397 (license license:bsd-3)))
1398
1399 (define-public go-github-com-spf13-viper
1400 (package
1401 (name "go-github-com-spf13-viper")
1402 (version "1.7.0")
1403 (source
1404 (origin
1405 (method git-fetch)
1406 (uri (git-reference
1407 (url "https://github.com/spf13/viper")
1408 (commit (string-append "v" version))))
1409 (file-name (git-file-name name version))
1410 (sha256
1411 (base32
1412 "099n2g7fg6r8hqyszqw2axr775qyhyvwhsykvgw0f0s16ql48h5c"))))
1413 (build-system go-build-system)
1414 (arguments
1415 '(#:import-path "github.com/spf13/viper"))
1416 (propagated-inputs
1417 `(("github.com/spf13/afero" ,go-github-com-spf13-afero)
1418 ("github.com/spf13/cast" ,go-github-com-spf13-cast)
1419 ("github.com/spf13/pflag" ,go-github-com-spf13-pflag)
1420 ("github.com/spf13/jwalterweatherman" ,go-github-com-spf13-jwalterweatherman)
1421 ("github.com/fsnotify/fsnotify" ,go-github-com-fsnotify-fsnotify)
1422 ("github.com/hashicorp/hcl" ,go-github-com-hashicorp-hcl)
1423 ("github.com/magiconair/properties" ,go-github-com-magiconair-properties)
1424 ("github.com/mitchellh/mapstructure" ,go-github-com-mitchellh-mapstructure)
1425 ("github.com/pelletier/go-toml" ,go-github-com-pelletier-go-toml)
1426 ("github.com/subosito/gotenv" ,go-github-com-subosito-gotenv)
1427
1428 ("gopkg.in/ini.v1" ,go-gopkg-in-ini-v1)
1429 ("gopkg.in/yaml.v2" ,go-gopkg-in-yaml-v2)))
1430 (native-inputs
1431 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
1432 (home-page "https://github.com/spf13/viper")
1433 (synopsis "Go configuration with fangs")
1434 (description
1435 "Viper is a complete configuration solution for Go applications including
1436 12-Factor apps. It is designed to work within an application, and can handle
1437 all types of configuration needs and formats.")
1438 (license license:expat)))
1439
1440 (define-public go-github-com-fsnotify-fsnotify
1441 (package
1442 (name "go-github-com-fsnotify-fsnotify")
1443 (version "1.4.9")
1444 (source
1445 (origin
1446 (method git-fetch)
1447 (uri (git-reference
1448 (url "https://github.com/fsnotify/fsnotify")
1449 (commit (string-append "v" version))))
1450 (file-name (git-file-name name version))
1451 (sha256
1452 (base32
1453 "1i1r72knpbfwwql9frn9bqc3nhfc2ai5m6qllcyr6wban62lr40x"))))
1454 (build-system go-build-system)
1455 (arguments
1456 `(#:import-path "github.com/fsnotify/fsnotify"))
1457 (propagated-inputs
1458 `(("golang.org/x/sys" ,go-golang-org-x-sys)))
1459 (home-page "https://github.com/fsnotify/fsnotify")
1460 (synopsis "File system notifications for Go")
1461 (description "File system notifications for Go")
1462 (license license:bsd-3)))
1463
1464 (define-public go-github-com-magiconair-properties
1465 (package
1466 (name "go-github-com-magiconair-properties")
1467 (version "1.8.1")
1468 (source
1469 (origin
1470 (method git-fetch)
1471 (uri (git-reference
1472 (url "https://github.com/magiconair/properties")
1473 (commit (string-append "v" version))))
1474 (file-name (git-file-name name version))
1475 (sha256
1476 (base32
1477 "19zqw1x0w0crh8zc84yy82nkcc5yjz72gviaf2xjgfm5a8np7nyb"))))
1478 (build-system go-build-system)
1479 (arguments
1480 `(#:import-path "github.com/magiconair/properties"))
1481 (home-page "https://github.com/magiconair/properties")
1482 (synopsis "Java properties scanner for Go")
1483 (description "Java properties scanner for Go")
1484 (license license:bsd-2)))
1485
1486 (define-public go-github-com-pelletier-go-toml
1487 (package
1488 (name "go-github-com-pelletier-go-toml")
1489 (version "1.8.0")
1490 (source
1491 (origin
1492 (method git-fetch)
1493 (uri (git-reference
1494 (url "https://github.com/pelletier/go-toml")
1495 (commit (string-append "v" version))))
1496 (file-name (git-file-name name version))
1497 (sha256
1498 (base32
1499 "0fxmjm85c9h43lvqz71wr93fcc63bhj82nwby80222xx8ja63g7y"))))
1500 (build-system go-build-system)
1501 (arguments
1502 `(#:import-path "github.com/pelletier/go-toml"))
1503 (native-inputs
1504 `(("github.com/BurntSushi/toml" ,go-github-com-burntsushi-toml)
1505 ("github.com/davecgh/go-spew" ,go-github-com-davecgh-go-spew)
1506 ("gopkg.in/yaml.v2" ,go-gopkg-in-yaml-v2)))
1507 (home-page "https://github.com/pelletier/go-toml")
1508 (synopsis "Go library for the TOML configuration language")
1509 (description "Go library for the TOML configuration language")
1510 (license license:expat)))
1511
1512 (define-public go-github-com-subosito-gotenv
1513 (package
1514 (name "go-github-com-subosito-gotenv")
1515 (version "1.2.0")
1516 (source
1517 (origin
1518 (method git-fetch)
1519 (uri (git-reference
1520 (url "https://github.com/subosito/gotenv")
1521 (commit (string-append "v" version))))
1522 (file-name (git-file-name name version))
1523 (sha256
1524 (base32
1525 "0mav91j7r4arjkpq5zcf9j74f6pww8ic53x43wy7kg3ibw31yjs5"))))
1526 (build-system go-build-system)
1527 (arguments
1528 `(#:import-path "github.com/subosito/gotenv"))
1529 (native-inputs
1530 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
1531 (home-page "https://github.com/subosito/gotenv")
1532 (synopsis "Go library for loading environment variables from files")
1533 (description "Go library for loading environment variables from files")
1534 (license license:expat)))
1535
1536 (define-public go-github-com-sirupsen-logrus
1537 (package
1538 (name "go-github-com-sirupsen-logrus")
1539 (version "1.0.5")
1540 (source
1541 (origin
1542 (method git-fetch)
1543 (uri (git-reference
1544 (url "https://github.com/sirupsen/logrus")
1545 (commit (string-append "v" version))))
1546 (file-name (git-file-name name version))
1547 (sha256
1548 (base32
1549 "0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz"))))
1550 (build-system go-build-system)
1551 (propagated-inputs
1552 `(("go-golang-org-x-crypto"
1553 ,go-golang-org-x-crypto)
1554 ("go-github-com-stretchr-testify"
1555 ,go-github-com-stretchr-testify)
1556 ("go-golang-org-x-sys" ,go-golang-org-x-sys)))
1557 (arguments
1558 '(#:tests? #f ;FIXME missing dependencies
1559 #:import-path "github.com/sirupsen/logrus"))
1560 (home-page "https://github.com/sirupsen/logrus")
1561 (synopsis "Structured, pluggable logging for Go")
1562 (description "Logrus is a structured logger for Go, completely API
1563 compatible with the standard library logger.")
1564 (license license:expat)))
1565
1566 (define-public go-github-com-rifflock-lfshook
1567 (package
1568 (name "go-github-com-rifflock-lfshook")
1569 (version "2.4")
1570 (source (origin
1571 (method git-fetch)
1572 (uri (git-reference
1573 (url "https://github.com/rifflock/lfshook")
1574 (commit (string-append "v" version))))
1575 (file-name (git-file-name name version))
1576 (sha256
1577 (base32
1578 "0wxqjcjfg8c0klmdgmbw3ckagby3wg9rkga9ihd4fsf05x5scxrc"))))
1579 (build-system go-build-system)
1580 (arguments
1581 `(#:import-path "github.com/rifflock/lfshook"))
1582 (propagated-inputs
1583 `(("go-github-com-sirupsen-logrus" ,go-github-com-sirupsen-logrus)))
1584 (home-page "https://github.com/rifflock/lfshook")
1585 (synopsis "Local File System hook for Logrus logger")
1586 (description "This package provides a hook for Logrus to write directly to
1587 a file on the file system. The log levels are dynamic at instantiation of the
1588 hook, so it is capable of logging at some or all levels.")
1589 (license license:expat)))
1590
1591 (define-public go-github-com-kardianos-osext
1592 (let ((commit "ae77be60afb1dcacde03767a8c37337fad28ac14")
1593 (revision "1"))
1594 (package
1595 (name "go-github-com-kardianos-osext")
1596 (version (git-version "0.0.0" revision commit))
1597 (source (origin
1598 (method git-fetch)
1599 (uri (git-reference
1600 (url "https://github.com/kardianos/osext")
1601 (commit commit)))
1602 (file-name (git-file-name name version))
1603 (sha256
1604 (base32
1605 "056dkgxrqjj5r18bnc3knlpgdz5p3yvp12y4y978hnsfhwaqvbjz"))))
1606 (build-system go-build-system)
1607 (arguments
1608 `(#:import-path "github.com/kardianos/osext"
1609 ;; The tests are flaky:
1610 ;; <https://github.com/kardianos/osext/issues/21>
1611 #:tests? #f))
1612 (synopsis "Find the running executable")
1613 (description "Osext provides a method for finding the current executable
1614 file that is running. This can be used for upgrading the current executable or
1615 finding resources located relative to the executable file.")
1616 (home-page "https://github.com/kardianos/osext")
1617 (license license:bsd-3))))
1618
1619 (define-public go-github-com-ayufan-golang-kardianos-service
1620 (let ((commit "0c8eb6d8fff2e2fb884a7bfd23e183fb63c0eff3")
1621 (revision "0"))
1622 (package
1623 (name "go-github-com-ayufan-golang-kardianos-service")
1624 (version (git-version "0.0.0" revision commit))
1625 (source
1626 (origin
1627 (method git-fetch)
1628 (uri (git-reference
1629 (url
1630 "https://github.com/ayufan/golang-kardianos-service.git")
1631 (commit commit)))
1632 (file-name (git-file-name name version))
1633 (sha256
1634 (base32
1635 "0x0cn7l5gda2khsfypix7adxd5yqighzn04mxjw6hc4ayrh7his5"))))
1636 (build-system go-build-system)
1637 (native-inputs
1638 `(("go-github-com-kardianos-osext"
1639 ,go-github-com-kardianos-osext)))
1640 (arguments
1641 '(#:tests? #f ;FIXME tests fail: Service is not running.
1642 #:import-path "github.com/ayufan/golang-kardianos-service"))
1643 (home-page "https://github.com/ayufan/golang-kardianos-service")
1644 (synopsis "Go interface to a variety of service supervisors")
1645 (description "This package provides @code{service}, a Go module that can
1646 run programs as a service using a variety of supervisors, including systemd,
1647 SysVinit, and more.")
1648 (license license:zlib))))
1649
1650 (define-public go-github-com-docker-distribution
1651 (let ((commit "325b0804fef3a66309d962357aac3c2ce3f4d329")
1652 (revision "0"))
1653 (package
1654 (name "go-github-com-docker-distribution")
1655 (version (git-version "0.0.0" revision commit))
1656 (source
1657 ;; FIXME: This bundles many things, see
1658 ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31881#41>.
1659 (origin
1660 (method git-fetch)
1661 (uri (git-reference
1662 (url "https://github.com/docker/distribution")
1663 (commit commit)))
1664 (file-name (git-file-name name version))
1665 (sha256
1666 (base32
1667 "1yg2zrikn3vkvkx5mn51p6bfjk840qdkn7ahhhvvcsc8mpigrjc6"))))
1668 (build-system go-build-system)
1669 (native-inputs
1670 `(("go-golang-org-x-sys" ,go-golang-org-x-sys)
1671 ("go-github-com-sirupsen-logrus"
1672 ,go-github-com-sirupsen-logrus)
1673 ("go-golang-org-x-crypto"
1674 ,go-golang-org-x-crypto)))
1675 (arguments
1676 '(#:import-path "github.com/docker/distribution"
1677 #:phases
1678 (modify-phases %standard-phases
1679 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
1680 (lambda* (#:key outputs #:allow-other-keys)
1681 (map (lambda (file)
1682 (make-file-writable file))
1683 (find-files
1684 (assoc-ref outputs "out")
1685 ".*\\.gz$"))
1686 #t)))))
1687 (home-page
1688 "https://github.com/docker/distribution")
1689 (synopsis "This package is a Docker toolset to pack, ship, store, and
1690 deliver content")
1691 (description "Docker Distribution is a Docker toolset to pack, ship,
1692 store, and deliver content. It contains Docker Registry 2.0 and libraries
1693 to interact with distribution components.")
1694 (license license:asl2.0))))
1695
1696 (define-public go-github-com-docker-go-connections
1697 (let ((commit "3ede32e2033de7505e6500d6c868c2b9ed9f169d")
1698 (revision "0"))
1699 (package
1700 (name "go-github-com-docker-go-connections")
1701 (version (git-version "0.0.0" revision commit))
1702 (source
1703 (origin
1704 (method git-fetch)
1705 (uri (git-reference
1706 (url "https://github.com/docker/go-connections")
1707 (commit commit)))
1708 (file-name (git-file-name name version))
1709 (sha256
1710 (base32
1711 "0v1pkr8apwmhyzbjfriwdrs1ihlk6pw7izm57r24mf9jdmg3fyb0"))))
1712 (build-system go-build-system)
1713 (arguments
1714 '(#:import-path "github.com/docker/go-connections"))
1715 (home-page "https://github.com/docker/go-connections")
1716 (synopsis "Networking library for Go")
1717 (description
1718 "This package provides a library to work with network connections in
1719 the Go language. In particular it provides tools to deal with network address
1720 translation (NAT), proxies, sockets, and transport layer security (TLS).")
1721 (license license:asl2.0))))
1722
1723 (define-public go-github-com-docker-machine
1724 (let ((commit "7b7a141da84480342357c51838be142bf183b095")
1725 (revision "0"))
1726 (package
1727 (name "go-github-com-docker-machine")
1728 (version (git-version "0.0.0" revision commit))
1729 (source
1730 (origin
1731 (method git-fetch)
1732 (uri (git-reference
1733 (url "https://github.com/docker/machine")
1734 (commit commit)))
1735 (file-name (git-file-name name version))
1736 (sha256
1737 (base32
1738 "0bavk0lvs462yh0lnmnxi9psi5qv1x3nvzmd2b0drsahlp1gxi8s"))))
1739 (build-system go-build-system)
1740 (arguments
1741 '(#:import-path "github.com/docker/machine"))
1742 (home-page "https://github.com/docker/machine")
1743 (synopsis "Machine management for a container-centric world")
1744 (description
1745 "@dfn{Machine} lets you create Docker hosts on your computer, on
1746 hosting providers, and inside your data center. It creates servers, installs
1747 Docker on them, then configures the Docker client to talk to them.")
1748 (license license:asl2.0))))
1749
1750 (define-public go-github-com-gorhill-cronexpr
1751 (let ((commit "f0984319b44273e83de132089ae42b1810f4933b")
1752 (revision "0"))
1753 (package
1754 (name "go-github-com-gorhill-cronexpr")
1755 (version (git-version "0.0.0" revision commit))
1756 (source
1757 (origin
1758 (method git-fetch)
1759 (uri (git-reference
1760 (url "https://github.com/gorhill/cronexpr")
1761 (commit commit)))
1762 (file-name (git-file-name name version))
1763 (sha256
1764 (base32
1765 "0dphhhqy3i7265znv3m8n57l80dmaq6z4hsj5kgd87qd19z8x0l2"))))
1766 (build-system go-build-system)
1767 (arguments
1768 '(#:import-path "github.com/gorhill/cronexpr"))
1769 (home-page "https://github.com/gorhill/cronexpr")
1770 (synopsis "Cron expression parser in the Go language")
1771 (description
1772 "This package provides a cron expression parser in the Go language.
1773 Given a cron expression and a time stamp, you can get the next time stamp
1774 which satisfies the cron expression.")
1775 (license (list license:gpl3+
1776 license:asl2.0)))))
1777
1778 (define-public go-gopkg-in-check-v1
1779 (let ((commit "788fd78401277ebd861206a03c884797c6ec5541")
1780 (revision "1"))
1781 (package
1782 (name "go-gopkg-in-check-v1")
1783 (version (git-version "1.0.0" revision commit))
1784 (source
1785 (origin
1786 (method git-fetch)
1787 (uri (git-reference
1788 (url "https://github.com/go-check/check")
1789 (commit commit)))
1790 (file-name (git-file-name name version))
1791 (sha256
1792 (base32
1793 "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a"))))
1794 (build-system go-build-system)
1795 (arguments
1796 '(#:import-path "gopkg.in/check.v1"))
1797 (propagated-inputs
1798 `(("go-github-com-kr-pretty" ,go-github-com-kr-pretty)))
1799 (home-page "https://gopkg.in/check.v1")
1800 (synopsis "Test framework for the Go language")
1801 (description "This package provides a test library for the Go language.")
1802 (license license:asl2.0))))
1803
1804 (define-public go-gopkg-in-ini-v1
1805 (package
1806 (name "go-gopkg-in-ini-v1")
1807 (version "1.56.0")
1808 (source
1809 (origin
1810 (method git-fetch)
1811 (uri (git-reference
1812 (url "https://github.com/go-ini/ini")
1813 (commit (string-append "v" version))))
1814 (file-name (git-file-name name version))
1815 (sha256
1816 (base32
1817 "0j5z0cngg6mq2f9id083jcdi7k6r2h35714pashv6sdv2q7bmfc5"))))
1818 (build-system go-build-system)
1819 (arguments
1820 '(#:import-path "gopkg.in/ini.v1"
1821 ;; Requires large unpackaged test framework
1822 #:tests? #f))
1823 (home-page "https://gopkg.in/ini.v1")
1824 (synopsis "Go library for ini files")
1825 (description "Go library for ini files")
1826 (license license:asl2.0)))
1827
1828 (define-public go-gopkg-in-yaml-v2
1829 (package
1830 (name "go-gopkg-in-yaml-v2")
1831 (version "2.2.2")
1832 (source
1833 (origin
1834 (method git-fetch)
1835 (uri (git-reference
1836 (url "https://gopkg.in/yaml.v2.git")
1837 (commit (string-append "v" version))))
1838 (file-name (git-file-name name version))
1839 (sha256
1840 (base32
1841 "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa"))))
1842 (build-system go-build-system)
1843 (arguments
1844 '(#:import-path "gopkg.in/yaml.v2"))
1845 (native-inputs
1846 `(("go-gopkg-in-check-v1" ,go-gopkg-in-check-v1)))
1847 (home-page "https://gopkg.in/yaml.v2")
1848 (synopsis "YAML reader and writer for the Go language")
1849 (description
1850 "This package provides a Go library for encode and decode YAML
1851 values.")
1852 (license license:asl2.0)))
1853
1854 (define-public go-github-com-mattn-go-isatty
1855 (package
1856 (name "go-github-com-mattn-go-isatty")
1857 (version "0.0.11")
1858 (source
1859 (origin
1860 (method git-fetch)
1861 (uri (git-reference
1862 (url "https://github.com/mattn/go-isatty")
1863 (commit (string-append "v" version))))
1864 (file-name (git-file-name name version))
1865 (sha256
1866 (base32
1867 "0h671sv7hfprja495kavazkalkx7xzaqksjh13brcnwq67ijrali"))))
1868 (build-system go-build-system)
1869 (propagated-inputs
1870 `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
1871 (arguments
1872 '(#:import-path "github.com/mattn/go-isatty"))
1873 (home-page "https://github.com/mattn/go-isatty")
1874 (synopsis "Provide @code{isatty} for Golang")
1875 (description "This package provides @code{isatty}, a Go module that can
1876 tell you whether a file descriptor points to a terminal and the type of the
1877 terminal.")
1878 (license license:expat)))
1879
1880 (define-public go-github-com-mattn-go-colorable
1881 (let ((commit "efa589957cd060542a26d2dd7832fd6a6c6c3ade")
1882 (revision "0"))
1883 (package
1884 (name "go-github-com-mattn-go-colorable")
1885 (version (git-version "0.0.0" revision commit))
1886 (source
1887 (origin
1888 (method git-fetch)
1889 (uri (git-reference
1890 (url "https://github.com/mattn/go-colorable")
1891 (commit commit)))
1892 (file-name (git-file-name name version))
1893 (sha256
1894 (base32
1895 "0kshi4hvm0ayrsxqxy0599iv81kryhd2fn9lwjyczpj593cq069r"))))
1896 (build-system go-build-system)
1897 (native-inputs
1898 `(("go-github-com-mattn-go-isatty"
1899 ,go-github-com-mattn-go-isatty)))
1900 (arguments
1901 '(#:import-path "github.com/mattn/go-colorable"))
1902 (home-page "https://github.com/mattn/go-colorable")
1903 (synopsis "Handle ANSI color escapes on Windows")
1904 (description "This package provides @code{colorable}, a module that
1905 makes it possible to handle ANSI color escapes on Windows.")
1906 (license license:expat))))
1907
1908 (define-public go-github-com-mattn-go-pointer
1909 (let ((commit "a0a44394634f41e4992b173b24f14fecd3318a67")
1910 (revision "1"))
1911 (package
1912 (name "go-github-com-mattn-go-pointer")
1913 (version (git-version "0.0.0" revision commit))
1914 (source
1915 (origin
1916 (method git-fetch)
1917 (uri (git-reference
1918 (url "https://github.com/mattn/go-pointer")
1919 (commit commit)))
1920 (sha256
1921 (base32
1922 "09w7hcyc0zz2g23vld6jbcmq4ar27xakp1ldjvh549i5izf2anhz"))
1923 (file-name (git-file-name name version))))
1924 (build-system go-build-system)
1925 (arguments
1926 '(#:import-path "github.com/mattn/go-pointer"))
1927 (home-page "https://github.com/mattn/go-pointer")
1928 (synopsis "Utility for cgo")
1929 (description
1930 "This package allows for a cgo argument to be passed a Go pointer.")
1931 (license license:expat))))
1932
1933 (define-public go-github-com-mgutz-ansi
1934 (let ((commit "9520e82c474b0a04dd04f8a40959027271bab992")
1935 (revision "0"))
1936 (package
1937 (name "go-github-com-mgutz-ansi")
1938 (version (git-version "0.0.0" revision commit))
1939 (source
1940 (origin
1941 (method git-fetch)
1942 (uri (git-reference
1943 (url
1944 "https://github.com/mgutz/ansi")
1945 (commit commit)))
1946 (file-name (git-file-name name version))
1947 (sha256
1948 (base32
1949 "00bz22314j26736w1f0q4jy9d9dfaml17vn890n5zqy3cmvmww1j"))))
1950 (build-system go-build-system)
1951 (native-inputs
1952 `(("go-github-com-mattn-go-isatty"
1953 ,go-github-com-mattn-go-isatty)
1954 ("go-github-com-mattn-go-colorable"
1955 ,go-github-com-mattn-go-colorable)))
1956 (arguments
1957 '(#:import-path "github.com/mgutz/ansi"))
1958 (home-page "https://github.com/mgutz/ansi")
1959 (synopsis "Small, fast library to create ANSI colored strings and codes")
1960 (description "This package provides @code{ansi}, a Go module that can
1961 generate ANSI colored strings.")
1962 (license license:expat))))
1963
1964 (define-public go-github-com-aarzilli-golua
1965 (let ((commit "03fc4642d792b1f2bc5e7343b403cf490f8c501d")
1966 (revision "0"))
1967 (package
1968 (name "go-github-com-aarzilli-golua")
1969 (version (git-version "0.0.0" revision commit))
1970 (source
1971 (origin
1972 (method git-fetch)
1973 (uri (git-reference
1974 (url
1975 "https://github.com/aarzilli/golua")
1976 (commit commit)))
1977 (file-name (git-file-name name version))
1978 (sha256
1979 (base32
1980 "1d9hr29i36cza98afj3g6rs3l7xbkprwzz0blcxsr9dd7nak20di"))))
1981 (build-system go-build-system)
1982 ;; From go-1.10 onward, "pkg" compiled libraries are not re-used, so
1983 ;; when this package required as input for another one, it will have to
1984 ;; be built again. Thus its CGO requirements must be made available in
1985 ;; the environment, that is, they must be propagated.
1986 (propagated-inputs
1987 `(("lua" ,lua)))
1988 (arguments
1989 `(#:unpack-path "github.com/aarzilli/golua"
1990 #:import-path "github.com/aarzilli/golua/lua"
1991 #:phases
1992 (modify-phases %standard-phases
1993 ;; While it's possible to fix the CGO_LDFLAGS with the "-tags"
1994 ;; command line argument, go-1.10+ does not re-use the produced pkg
1995 ;; for dependencies, which means we would need to propagate the
1996 ;; same "-tags" argument to all golua referrers. A substitution is
1997 ;; more convenient here. We also need to propagate the lua
1998 ;; dependency to make it available to referrers.
1999 (add-after 'unpack 'fix-lua-ldflags
2000 (lambda _
2001 (substitute* "src/github.com/aarzilli/golua/lua/lua.go"
2002 (("#cgo linux,!llua,!luaa LDFLAGS: -llua5.3")
2003 "#cgo linux,!llua,!luaa LDFLAGS: -llua")))))))
2004 (home-page "https://github.com/aarzilli/golua")
2005 (synopsis "Go Bindings for the Lua C API")
2006 (description "This package provides @code{lua}, a Go module that can
2007 run a Lua virtual machine.")
2008 (license license:expat))))
2009
2010 (define-public go-gitlab-com-ambrevar-golua-unicode
2011 (let ((commit "97ce517e7a1fe2407a90c317a9c74b173d396144")
2012 (revision "0"))
2013 (package
2014 (name "go-gitlab-com-ambrevar-golua-unicode")
2015 (version (git-version "0.0.0" revision commit))
2016 (source
2017 (origin
2018 (method git-fetch)
2019 (uri (git-reference
2020 (url
2021 "https://gitlab.com/ambrevar/golua")
2022 (commit commit)))
2023 (file-name (git-file-name name version))
2024 (sha256
2025 (base32
2026 "1izcp7p8nagjwqd13shb0020w7xhppib1a3glw2d1468bflhksnm"))))
2027 (build-system go-build-system)
2028 (native-inputs
2029 `(("lua" ,lua)
2030 ("go-github-com-aarzilli-golua" ,go-github-com-aarzilli-golua)))
2031 (arguments
2032 `(#:unpack-path "gitlab.com/ambrevar/golua"
2033 #:import-path "gitlab.com/ambrevar/golua/unicode"
2034 #:phases
2035 (modify-phases %standard-phases
2036 (replace 'check
2037 (lambda* (#:key import-path #:allow-other-keys)
2038 (setenv "USER" "homeless-dude")
2039 (invoke "go" "test" import-path))))))
2040 (home-page "https://gitlab.com/ambrevar/golua")
2041 (synopsis "Add Unicode support to Golua")
2042 (description "This extension to Arzilli's Golua adds Unicode support to
2043 all functions from the Lua string library. Lua patterns are replaced by Go
2044 regexps. This breaks compatibility with Lua, but Unicode support breaks it
2045 anyways and Go regexps are more powerful.")
2046 (license license:expat))))
2047
2048 (define-public go-github-com-yookoala-realpath
2049 (let ((commit "d19ef9c409d9817c1e685775e53d361b03eabbc8")
2050 (revision "0"))
2051 (package
2052 (name "go-github-com-yookoala-realpath")
2053 (version (git-version "0.0.0" revision commit))
2054 (source
2055 (origin
2056 (method git-fetch)
2057 (uri (git-reference
2058 (url
2059 "https://github.com/yookoala/realpath")
2060 (commit commit)))
2061 (file-name (git-file-name name version))
2062 (sha256
2063 (base32
2064 "0qvz1dcdldf53rq69fli76z5k1vr7prx9ds1d5rpzgs68kwn40nw"))))
2065 (build-system go-build-system)
2066 (arguments
2067 `(#:import-path "github.com/yookoala/realpath"))
2068 (home-page "https://github.com/yookoala/realpath")
2069 (synopsis "@code{realpath} for Golang")
2070 (description "This package provides @code{realpath}, a Go module that
2071 when provided with a valid relative path / alias path, it will return you with
2072 a string of its real absolute path in the system.")
2073 (license license:expat))))
2074
2075 (define-public go-gitlab-com-ambrevar-damerau
2076 (let ((commit "883829e1f25fad54015772ea663e69017cf22352")
2077 (revision "0"))
2078 (package
2079 (name "go-gitlab-com-ambrevar-damerau")
2080 (version (git-version "0.0.0" revision commit))
2081 (source
2082 (origin
2083 (method git-fetch)
2084 (uri (git-reference
2085 (url
2086 "https://gitlab.com/ambrevar/damerau")
2087 (commit commit)))
2088 (file-name (git-file-name name version))
2089 (sha256
2090 (base32
2091 "1b9p8fypc914ij1afn6ir346zsgfqrc5mqc1k3d53n4snypq27qv"))))
2092 (build-system go-build-system)
2093 (arguments
2094 `(#:import-path "gitlab.com/ambrevar/damerau"))
2095 (home-page "https://gitlab.com/ambrevar/damerau")
2096 (synopsis "Damerau-Levenshtein distance for Golang")
2097 (description "This is a spelling corrector implementing the
2098 Damerau-Levenshtein distance. Takes a string value input from the user.
2099 Looks for an identical word on a list of words, if none is found, look for a
2100 similar word.")
2101 (license license:expat))))
2102
2103 (define-public go-github-com-stevedonovan-luar
2104 (let ((commit "22d247e5366095f491cd83edf779ee99a78f5ead")
2105 (revision "0"))
2106 (package
2107 (name "go-github-com-stevedonovan-luar")
2108 (version (git-version "0.0.0" revision commit))
2109 (source
2110 (origin
2111 (method git-fetch)
2112 (uri (git-reference
2113 (url
2114 "https://github.com/stevedonovan/luar")
2115 (commit commit)))
2116 (file-name (git-file-name name version))
2117 (sha256
2118 (base32
2119 "1acjgw9cz1l0l9mzkyk7irz6cfk31wnxgbwa805fvm1rqcjzin2c"))))
2120 (build-system go-build-system)
2121 (native-inputs
2122 `(("go-github-com-aarzilli-golua" ,go-github-com-aarzilli-golua)))
2123 (arguments
2124 `(#:tests? #f ; Upstream tests are broken.
2125 #:import-path "github.com/stevedonovan/luar"))
2126 (home-page "https://github.com/stevedonovan/luar")
2127 (synopsis "Lua reflection bindings for Go")
2128 (description "Luar is designed to make using Lua from Go more
2129 convenient. Go structs, slices and maps can be automatically converted to Lua
2130 tables and vice-versa. The resulting conversion can either be a copy or a
2131 proxy. In the latter case, any change made to the result will reflect on the
2132 source.
2133
2134 Any Go function can be made available to Lua scripts, without having to write
2135 C-style wrappers.
2136
2137 Luar support cyclic structures (lists, etc.).
2138
2139 User-defined types can be made available to Lua as well: their exported
2140 methods can be called and usual operations such as indexing or arithmetic can
2141 be performed.")
2142 (license license:expat))))
2143
2144 (define-public go-github-com-michiwend-golang-pretty
2145 (let ((commit "8ac61812ea3fa540f3f141a444fcb0dd713cdca4")
2146 (revision "0"))
2147 (package
2148 (name "go-github-com-michiwend-golang-pretty")
2149 (version (git-version "0.0.0" revision commit))
2150 (source
2151 (origin
2152 (method git-fetch)
2153 (uri (git-reference
2154 (url
2155 "https://github.com/michiwend/golang-pretty")
2156 (commit commit)))
2157 (file-name (git-file-name name version))
2158 (sha256
2159 (base32
2160 "0rjfms0csjqi91xnddzx3rcrcaikc7xc027617px3kdwdap80ir4"))))
2161 (build-system go-build-system)
2162 (native-inputs
2163 `(("go-github-com-kr-text" ,go-github-com-kr-text)))
2164 (arguments
2165 `(#:tests? #f ; Upstream tests seem to be broken.
2166 #:import-path "github.com/michiwend/golang-pretty"))
2167 (home-page "https://github.com/michiwend/golang-pretty")
2168 (synopsis "Pretty printing for Go values")
2169 (description "Package @code{pretty} provides pretty-printing for Go
2170 values. This is useful during debugging, to avoid wrapping long output lines
2171 in the terminal.
2172
2173 It provides a function, @code{Formatter}, that can be used with any function
2174 that accepts a format string. It also provides convenience wrappers for
2175 functions in packages @code{fmt} and @code{log}.")
2176 (license license:expat))))
2177
2178 (define-public go-github-com-michiwend-gomusicbrainz
2179 (let ((commit "0cdeb13f9b24d2c714feb7e3c63d595cf7121d7d")
2180 (revision "0"))
2181 (package
2182 (name "go-github-com-michiwend-gomusicbrainz")
2183 (version (git-version "0.0.0" revision commit))
2184 (source
2185 (origin
2186 (method git-fetch)
2187 (uri (git-reference
2188 (url
2189 "https://github.com/michiwend/gomusicbrainz")
2190 (commit commit)))
2191 (file-name (git-file-name name version))
2192 (sha256
2193 (base32
2194 "1li9daw0kghb80rdmxbh7g72qhxcvx3rvhwq5gs0jrr9hb8pjvcn"))))
2195 (build-system go-build-system)
2196 (native-inputs
2197 `(("go-github-com-michiwend-golang-pretty" ,go-github-com-michiwend-golang-pretty)
2198 ("go-github-com-kr-text" ,go-github-com-kr-text)))
2199 (arguments
2200 `(#:import-path "github.com/michiwend/gomusicbrainz"))
2201 (home-page "https://github.com/michiwend/gomusicbrainz")
2202 (synopsis "MusicBrainz WS2 client library for Golang")
2203 (description "Currently GoMusicBrainz provides methods to perform search
2204 and lookup requests. Browse requests are not supported yet.")
2205 (license license:expat))))
2206
2207 (define-public go-github-com-wtolson-go-taglib
2208 (let ((commit "6e68349ff94ecea412de7e748cb5eaa26f472777")
2209 (revision "0"))
2210 (package
2211 (name "go-github-com-wtolson-go-taglib")
2212 (version (git-version "0.0.0" revision commit))
2213 (source
2214 (origin
2215 (method git-fetch)
2216 (uri (git-reference
2217 (url
2218 "https://github.com/wtolson/go-taglib")
2219 (commit commit)))
2220 (file-name (git-file-name name version))
2221 (sha256
2222 (base32
2223 "1cpjqnrviwflz150g78iir5ndrp3hh7a93zbp4dwbg6sb2q141p2"))))
2224 (build-system go-build-system)
2225 ;; From go-1.10 onward, "pkg" compiled libraries are not re-used, so
2226 ;; when this package required as input for another one, it will have to
2227 ;; be built again. Thus its CGO requirements must be made available in
2228 ;; the environment, that is, they must be propagated.
2229 (propagated-inputs
2230 `(("pkg-config" ,pkg-config)
2231 ("taglib" ,taglib)))
2232 (arguments
2233 `(#:import-path "github.com/wtolson/go-taglib"
2234 ;; Tests don't pass "vet" on Go since 1.11. See
2235 ;; https://github.com/wtolson/go-taglib/issues/12.
2236 #:phases
2237 (modify-phases %standard-phases
2238 (replace 'check
2239 (lambda* (#:key import-path #:allow-other-keys)
2240 (invoke "go" "test"
2241 "-vet=off"
2242 import-path))))))
2243 (home-page "https://github.com/wtolson/go-taglib")
2244 (synopsis "Go wrapper for taglib")
2245 (description "Go wrapper for taglib")
2246 (license license:unlicense))))
2247
2248 (define-public go-github-com-gogo-protobuf
2249 (package
2250 (name "go-github-com-gogo-protobuf")
2251 (version "1.3.1")
2252 (source (origin
2253 (method git-fetch)
2254 (uri (git-reference
2255 (url "https://github.com/gogo/protobuf")
2256 (commit (string-append "v" version))))
2257 (file-name (git-file-name name version))
2258 (sha256
2259 (base32
2260 "0x77x64sxjgfhmbijqfzmj8h4ar25l2w97h01q3cqs1wk7zfnkhp"))))
2261 (build-system go-build-system)
2262 (arguments
2263 `(#:import-path "github.com/gogo/protobuf"
2264 ; Source-only package
2265 #:tests? #f
2266 #:phases
2267 (modify-phases %standard-phases
2268 (delete 'build))))
2269 (synopsis "Protocol Buffers for Go with Gadgets")
2270 (description "Gogoprotobuf is a fork of golang/protobuf with extra code
2271 generation features. This code generation is used to achieve:
2272 @itemize
2273 @item fast marshalling and unmarshalling
2274 @item more canonical Go structures
2275 @item goprotobuf compatibility
2276 @item less typing by optionally generating extra helper code
2277 @item peace of mind by optionally generating test and benchmark code
2278 @item other serialization formats
2279 @end itemize")
2280 (home-page "https://github.com/gogo/protobuf")
2281 (license license:bsd-3)))
2282
2283 (define-public go-github-com-libp2p-go-flow-metrics
2284 (let ((commit "7e5a55af485341567f98d6847a373eb5ddcdcd43")
2285 (revision "0"))
2286 (package
2287 (name "go-github-com-libp2p-go-flow-metrics")
2288 (version (git-version "0.2.0" revision commit))
2289 (source
2290 (origin
2291 (method git-fetch)
2292 (uri (git-reference
2293 (url "https://github.com/libp2p/go-flow-metrics")
2294 (commit commit)))
2295 (file-name (git-file-name name version))
2296 (sha256
2297 (base32
2298 "1p87iyk6q6f3g3xkncssx400qlld8f2z93qiz8m1f97grfyhjif1"))))
2299 (build-system go-build-system)
2300 (arguments
2301 `(#:import-path "github.com/libp2p/go-flow-metrics"
2302 ;; TODO: Tests hang.
2303 #:tests? #f))
2304 (home-page
2305 "https://github.com/libp2p/go-flow-metrics")
2306 (synopsis "Simple library for tracking flow metrics")
2307 (description "A simple alternative to rcrowley's @command{go-metrics}
2308 that's a lot faster (and only does simple bandwidth metrics).")
2309 (license license:expat))))
2310
2311 (define-public go-github-com-davecgh-go-spew
2312 (package
2313 (name "go-github-com-davecgh-go-spew")
2314 (version "1.1.1")
2315 (source
2316 (origin
2317 (method git-fetch)
2318 (uri (git-reference
2319 (url "https://github.com/davecgh/go-spew")
2320 (commit (string-append "v" version))))
2321 (file-name (git-file-name name version))
2322 (sha256
2323 (base32
2324 "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y"))))
2325 (build-system go-build-system)
2326 (arguments
2327 '(#:unpack-path "github.com/davecgh/go-spew"
2328 #:import-path "github.com/davecgh/go-spew/spew"))
2329 (home-page "https://github.com/davecgh/go-spew")
2330 (synopsis "Deep pretty printer for Go data structures to aid in debugging")
2331 (description "Package @command{spew} implements a deep pretty printer
2332 for Go data structures to aid in debugging.
2333
2334 A quick overview of the additional features spew provides over the built-in printing facilities for Go data types are as follows:
2335
2336 @itemize
2337 @item Pointers are dereferenced and followed.
2338 @item Circular data structures are detected and handled properly.
2339 @item Custom Stringer/error interfaces are optionally invoked, including on
2340 unexported types.
2341 @item Custom types which only implement the Stringer/error interfaces via a
2342 pointer receiver are optionally invoked when passing non-pointer variables.
2343 @item Byte arrays and slices are dumped like the hexdump -C command which
2344 includes offsets, byte values in hex, and ASCII output (only when using Dump
2345 style).
2346 @end itemize\n")
2347 (license license:isc)))
2348
2349 (define-public go-github-com-btcsuite-btclog
2350 (let ((commit "84c8d2346e9fc8c7b947e243b9c24e6df9fd206a")
2351 (revision "0"))
2352 (package
2353 (name "go-github-com-btcsuite-btclog")
2354 (version (git-version "0.0.3" revision commit))
2355 (source
2356 (origin
2357 (method git-fetch)
2358 (uri (git-reference
2359 (url "https://github.com/btcsuite/btclog")
2360 (commit commit)))
2361 (file-name (git-file-name name version))
2362 (sha256
2363 (base32
2364 "02dl46wcnfpg9sqvg0ipipkpnd7lrf4fnvb9zy56jqa7mfcwc7wk"))))
2365 (build-system go-build-system)
2366 (arguments
2367 '(#:import-path "github.com/btcsuite/btclog"))
2368 (home-page "https://github.com/btcsuite/btclog")
2369 (synopsis "Subsystem aware logger for Go")
2370 (description "Package @command{btclog} defines a logger interface and
2371 provides a default implementation of a subsystem-aware leveled logger
2372 implementing the same interface.")
2373 (license license:isc))))
2374
2375 (define-public go-github-com-btcsuite-btcd-btcec
2376 (let ((commit "67e573d211ace594f1366b4ce9d39726c4b19bd0")
2377 (revision "0"))
2378 (package
2379 (name "go-github-com-btcsuite-btcd-btcec")
2380 (version (git-version "0.12.0-beta" revision commit))
2381 (source
2382 (origin
2383 (method git-fetch)
2384 (uri (git-reference
2385 (url "https://github.com/btcsuite/btcd")
2386 (commit commit)))
2387 (file-name (git-file-name name version))
2388 (sha256
2389 (base32
2390 "04s92gsy71w1jirlr5lkk9y6r5cparbas7nmf6ywbp7kq7fn8ajn"))))
2391 (build-system go-build-system)
2392 (arguments
2393 '(#:unpack-path "github.com/btcsuite/btcd"
2394 #:import-path "github.com/btcsuite/btcd/btcec"))
2395 (native-inputs
2396 `(("go-github-com-davecgh-go-spew" ,go-github-com-davecgh-go-spew)))
2397 (home-page "https://github.com/btcsuite/btcd")
2398 (synopsis "Elliptic curve cryptography to work with Bitcoin")
2399 (description "Package @command{btcec} implements elliptic curve
2400 cryptography needed for working with Bitcoin (secp256k1 only for now). It is
2401 designed so that it may be used with the standard crypto/ecdsa packages
2402 provided with Go. A comprehensive suite of test is provided to ensure proper
2403 functionality. Package @command{btcec} was originally based on work from
2404 ThePiachu which is licensed under the same terms as Go, but it has
2405 significantly diverged since then. The @command{btcsuite} developers original
2406 is licensed under the liberal ISC license.
2407
2408 Although this package was primarily written for btcd, it has intentionally
2409 been designed so it can be used as a standalone package for any projects
2410 needing to use secp256k1 elliptic curve cryptography.")
2411 (license license:isc))))
2412
2413 (define-public go-github-com-minio-sha256-simd
2414 (package
2415 (name "go-github-com-minio-sha256-simd")
2416 (version "0.1.1")
2417 (source
2418 (origin
2419 (method git-fetch)
2420 (uri (git-reference
2421 (url "https://github.com/minio/sha256-simd")
2422 (commit (string-append "v" version))))
2423 (file-name (git-file-name name version))
2424 (sha256
2425 (base32
2426 "1j0iqsckm97g4l79vd4mc7apbmkdar23jpzqpnpdhwpfd834j8lp"))))
2427 (build-system go-build-system)
2428 (arguments
2429 '(#:import-path "github.com/minio/sha256-simd"))
2430 (home-page "https://github.com/minio/sha256-simd")
2431 (synopsis "Accelerate SHA256 computations in pure Go")
2432 (description "Accelerate SHA256 computations in pure Go using AVX512 and
2433 AVX2 for Intel and ARM64 for ARM. On AVX512 it provides an up to 8x
2434 improvement (over 3 GB/s per core) in comparison to AVX2.
2435
2436 This package is designed as a replacement for @command{crypto/sha256}. For
2437 Intel CPUs it has two flavors for AVX512 and AVX2 (AVX/SSE are also
2438 supported). For ARM CPUs with the Cryptography Extensions, advantage is taken
2439 of the SHA2 instructions resulting in a massive performance improvement.
2440
2441 This package uses Golang assembly. The AVX512 version is based on the Intel's
2442 \"multi-buffer crypto library for IPSec\" whereas the other Intel
2443 implementations are described in \"Fast SHA-256 Implementations on Intel
2444 Architecture Processors\" by J. Guilford et al.")
2445 (license license:asl2.0)))
2446
2447 (define-public go-github-com-libp2p-go-libp2p-crypto
2448 (let ((commit "7240b40a3ddc47c4d17c15baabcbe45e5219171b")
2449 (revision "0"))
2450 (package
2451 (name "go-github-com-libp2p-go-libp2p-crypto")
2452 (version (git-version "2.0.1" revision commit))
2453 (source
2454 (origin
2455 (method git-fetch)
2456 (uri (git-reference
2457 (url "https://github.com/libp2p/go-libp2p-crypto")
2458 (commit commit)))
2459 (file-name (git-file-name name version))
2460 (sha256
2461 (base32
2462 "0qwpy57qv5143l9dlfwfvpqsxdd2i4zwnawx1w4pmgxxim3nw1wb"))))
2463 (build-system go-build-system)
2464 (arguments
2465 '(#:import-path "github.com/libp2p/go-libp2p-crypto"))
2466 (native-inputs
2467 `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
2468 ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
2469 ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
2470 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)))
2471 (home-page
2472 "https://github.com/libp2p/go-libp2p-crypto")
2473 (synopsis "Various cryptographic utilities used by IPFS")
2474 (description "Various cryptographic utilities used by IPFS")
2475 (license license:expat))))
2476
2477 (define-public go-github-com-mr-tron-base58
2478 (let ((commit "d724c80ecac7b49e4e562d58b2b4f4ee4ed8c312")
2479 (revision "0"))
2480 (package
2481 (name "go-github-com-mr-tron-base58")
2482 (version (git-version "1.1.0" revision commit))
2483 (source
2484 (origin
2485 (method git-fetch)
2486 (uri (git-reference
2487 (url "https://github.com/mr-tron/base58")
2488 (commit commit)))
2489 (file-name (git-file-name name version))
2490 (sha256
2491 (base32
2492 "12qhgnn9wf3c1ang16r4i778whk4wsrj7d90h2xgmz4fi1469rqa"))))
2493 (build-system go-build-system)
2494 (arguments
2495 `(#:unpack-path "github.com/mr-tron/base58"
2496 #:import-path "github.com/mr-tron/base58/base58"))
2497 (home-page "https://github.com/mr-tron/base58")
2498 (synopsis "Fast implementation of base58 encoding on Golang")
2499 (description "Fast implementation of base58 encoding on Golang. A
2500 trivial @command{big.Int} encoding benchmark results in 6 times faster
2501 encoding and 8 times faster decoding.")
2502 (license license:expat))))
2503
2504 (define-public go-github-com-gxed-hashland-keccakpg
2505 (let ((commit "d9f6b97f8db22dd1e090fd0bbbe98f09cc7dd0a8")
2506 (revision "0"))
2507 (package
2508 (name "go-github-com-gxed-hashland-keccakpg")
2509 (version (git-version "0.0.0" revision commit))
2510 (source
2511 (origin
2512 (method git-fetch)
2513 (uri (git-reference
2514 (url "https://github.com/gxed/hashland")
2515 (commit commit)))
2516 (file-name (git-file-name name version))
2517 (sha256
2518 (base32
2519 "1q23y4lacsz46k9gmgfw4iwwydw36j2601rbidmmswl94grpc386"))))
2520 (build-system go-build-system)
2521 (arguments
2522 '(#:unpack-path "github.com/gxed/hashland"
2523 #:import-path "github.com/gxed/hashland/keccakpg"))
2524 (home-page "https://github.com/gxed/hashland")
2525 (synopsis "Implements the Keccak (SHA-3) hash algorithm in Go")
2526 (description "Package @command{keccak} implements the Keccak (SHA-3)
2527 hash algorithm. See http://keccak.noekeon.org.")
2528 (license license:expat))))
2529
2530 (define-public go-github-com-minio-blake2b-simd
2531 (let ((commit "3f5f724cb5b182a5c278d6d3d55b40e7f8c2efb4")
2532 (revision "0"))
2533 (package
2534 (name "go-github-com-minio-blake2b-simd")
2535 (version (git-version "0.0.0" revision commit))
2536 (source
2537 (origin
2538 (method git-fetch)
2539 (uri (git-reference
2540 (url "https://github.com/minio/blake2b-simd")
2541 (commit commit)))
2542 (file-name (git-file-name name version))
2543 (sha256
2544 (base32
2545 "0b6jbnj62c0gmmfd4zdmh8xbg01p80f13yygir9xprqkzk6fikmd"))))
2546 (build-system go-build-system)
2547 (arguments
2548 '(#:import-path "github.com/minio/blake2b-simd"))
2549 (home-page "https://github.com/minio/blake2b-simd")
2550 (synopsis "Fast hashing in pure Go of BLAKE2b with SIMD instructions")
2551 (description "This package was initially based on the pure go BLAKE2b
2552 implementation of Dmitry Chestnykh and merged with the (cgo dependent) AVX
2553 optimized BLAKE2 implementation (which in turn is based on the official
2554 implementation. It does so by using Go's Assembler for amd64 architectures
2555 with a golang only fallback for other architectures.
2556
2557 In addition to AVX there is also support for AVX2 as well as SSE. Best
2558 performance is obtained with AVX2 which gives roughly a 4X performance
2559 increase approaching hashing speeds of 1GB/sec on a single core.")
2560 (license license:asl2.0))))
2561
2562 (define-public go-github-com-spaolacci-murmur3
2563 (package
2564 (name "go-github-com-spaolacci-murmur3")
2565 (version "1.1.0")
2566 (source
2567 (origin
2568 (method git-fetch)
2569 (uri (git-reference
2570 (url "https://github.com/spaolacci/murmur3")
2571 (commit (string-append "v" version))))
2572 (file-name (git-file-name name version))
2573 (sha256
2574 (base32
2575 "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25"))))
2576 (build-system go-build-system)
2577 (arguments
2578 '(#:import-path "github.com/spaolacci/murmur3"))
2579 (home-page "https://github.com/spaolacci/murmur3")
2580 (synopsis "Native MurmurHash3 Go implementation")
2581 (description "Native Go implementation of Austin Appleby's third MurmurHash
2582 revision (aka MurmurHash3).
2583
2584 Reference algorithm has been slightly hacked as to support the streaming mode
2585 required by Go's standard Hash interface.")
2586 (license license:bsd-3)))
2587
2588 (define-public go-github-com-twmb-murmur3
2589 (package
2590 (name "go-github-com-twmb-murmur3")
2591 (version "1.1.3")
2592 (source
2593 (origin
2594 (method git-fetch)
2595 (uri (git-reference
2596 (url "https://github.com/twmb/murmur3")
2597 (commit (string-append "v" version))))
2598 (file-name (git-file-name name version))
2599 (sha256
2600 (base32
2601 "00riapwkyf23l5wyis47mbr8rwr4yrjw491jfc30wpzs111c1gyy"))))
2602 (build-system go-build-system)
2603 (arguments
2604 '(#:import-path "github.com/twmb/murmur3"))
2605 (home-page "https://github.com/twmb/murmur3")
2606 (synopsis "Native MurmurHash3 Go implementation")
2607 (description "Native Go implementation of Austin Appleby's third
2608 MurmurHash revision (aka MurmurHash3).
2609
2610 Reference algorithm has been slightly hacked as to support the streaming mode
2611 required by Go's standard Hash interface.")
2612 (license license:bsd-3)))
2613
2614 (define-public go-github-com-multiformats-go-multihash
2615 (let ((commit "97cdb562a04c6ef66d8ed40cd62f8fbcddd396d6")
2616 (revision "0"))
2617 (package
2618 (name "go-github-com-multiformats-go-multihash")
2619 (version (git-version "1.0.8" revision commit))
2620 (source
2621 (origin
2622 (method git-fetch)
2623 (uri (git-reference
2624 (url "https://github.com/multiformats/go-multihash")
2625 (commit commit)))
2626 (file-name (git-file-name name version))
2627 (sha256
2628 (base32
2629 "02wd9akrwy4y5m0nig9m24p14bjjgb4n1djydrq8cm4yhbvjrrk0"))))
2630 (build-system go-build-system)
2631 (arguments
2632 '(#:import-path "github.com/multiformats/go-multihash"))
2633 (native-inputs
2634 `(("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
2635 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
2636 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
2637 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
2638 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
2639 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
2640 (home-page "https://github.com/multiformats/go-multihash")
2641 (synopsis "Multihash implementation in Go")
2642 (description "Multihash implementation in Go.")
2643 (license license:expat))))
2644
2645 (define-public go-github-com-libp2p-go-libp2p-peer
2646 (let ((commit "993d742bc29dcf4894b7730ba610fd78900be76c")
2647 (revision "0"))
2648 (package
2649 (name "go-github-com-libp2p-go-libp2p-peer")
2650 (version (git-version "2.3.8" revision commit))
2651 (source
2652 (origin
2653 (method git-fetch)
2654 (uri (git-reference
2655 (url "https://github.com/libp2p/go-libp2p-peer")
2656 (commit commit)))
2657 (file-name (git-file-name name version))
2658 (sha256
2659 (base32
2660 "1h96qjdi0i1wbr0jliap2903mycphas3ny0zdrm77yca9plcnphh"))))
2661 (build-system go-build-system)
2662 (arguments
2663 '(#:import-path "github.com/libp2p/go-libp2p-peer"))
2664 (native-inputs
2665 `(("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto)
2666 ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
2667 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
2668 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
2669 ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
2670 ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
2671 ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
2672 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
2673 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
2674 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
2675 (home-page "https://github.com/libp2p/go-libp2p-peer")
2676 (synopsis "PKI based identities for use in go-libp2p")
2677 (description "PKI based identities for use in @command{go-libp2p}.")
2678 (license license:expat))))
2679
2680 (define-public go-github-com-libp2p-go-libp2p-protocol
2681 (let ((commit "b29f3d97e3a2fb8b29c5d04290e6cb5c5018004b")
2682 (revision "0"))
2683 (package
2684 (name "go-github-com-libp2p-go-libp2p-protocol")
2685 (version (git-version "1.0.0" revision commit))
2686 (source
2687 (origin
2688 (method git-fetch)
2689 (uri (git-reference
2690 (url "https://github.com/libp2p/go-libp2p-protocol")
2691 (commit commit)))
2692 (file-name (git-file-name name version))
2693 (sha256
2694 (base32
2695 "1xgjfnx9zcqglg9li29wdqywsp8hz22wx6phns9zscni2jsfidld"))))
2696 (build-system go-build-system)
2697 (arguments
2698 '(#:import-path
2699 "github.com/libp2p/go-libp2p-protocol"))
2700 (home-page "https://github.com/libp2p/go-libp2p-protocol")
2701 (synopsis "Type for protocol strings in Golang")
2702 (description "Just a type for protocol strings. Nothing more.")
2703 (license license:expat))))
2704
2705 (define-public go-github-com-libp2p-go-libp2p-metrics
2706 (let ((commit "a10ff6e75dae3c868023867e8caa534a04bdc624")
2707 (revision "0"))
2708 (package
2709 (name "go-github-com-libp2p-go-libp2p-metrics")
2710 (version (git-version "2.1.6" revision commit))
2711 (source
2712 (origin
2713 (method git-fetch)
2714 (uri (git-reference
2715 (url "https://github.com/libp2p/go-libp2p-metrics")
2716 (commit commit)))
2717 (file-name (git-file-name name version))
2718 (sha256
2719 (base32
2720 "05wy0cq4h6yg9bzgapcvm2criwriicbswx80ma82gyn4a9fdrk8m"))))
2721 (build-system go-build-system)
2722 (arguments
2723 '(#:import-path "github.com/libp2p/go-libp2p-metrics"))
2724 (native-inputs
2725 `(("go-github-com-libp2p-go-flow-metrics" ,go-github-com-libp2p-go-flow-metrics)
2726 ("go-github-com-libp2p-go-libp2p-peer" ,go-github-com-libp2p-go-libp2p-peer)
2727 ("go-github-com-libp2p-go-libp2p-protocol" ,go-github-com-libp2p-go-libp2p-protocol)
2728 ("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto)
2729 ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
2730 ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
2731 ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
2732 ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
2733 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
2734 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
2735 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
2736 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
2737 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
2738 (home-page "https://github.com/libp2p/go-libp2p-metrics")
2739 (synopsis "Connection wrapper for go-libp2p that provides bandwidth metrics")
2740 (description "A connection wrapper for @command{go-libp2p} that provides bandwidth
2741 statistics for wrapped connections.")
2742 (license license:expat))))
2743
2744 (define-public go-github-com-mitchellh-go-homedir
2745 (let ((commit "ae18d6b8b3205b561c79e8e5f69bff09736185f4")
2746 (revision "0"))
2747 (package
2748 (name "go-github-com-mitchellh-go-homedir")
2749 (version (git-version "1.0.0" revision commit))
2750 (source
2751 (origin
2752 (method git-fetch)
2753 (uri (git-reference
2754 (url "https://github.com/mitchellh/go-homedir")
2755 (commit commit)))
2756 (file-name (git-file-name name version))
2757 (sha256
2758 (base32
2759 "0f0z0aa4wivk4z1y503dmnw0k0g0g403dly8i4q263gfshs82sbq"))))
2760 (build-system go-build-system)
2761 (arguments
2762 (quote (#:import-path "github.com/mitchellh/go-homedir"
2763 ;; TODO: Tests fail because it tries to access home.
2764 #:tests? #f)))
2765 (home-page "https://github.com/mitchellh/go-homedir")
2766 (synopsis "Go library for detecting and expanding the user's home directory without cgo")
2767 (description "This is a Go library for detecting the user's home
2768 directory without the use of @command{cgo}, so the library can be used in
2769 cross-compilation environments.
2770
2771 Usage is simple, just call homedir.Dir() to get the home directory for a user,
2772 and homedir.Expand() to expand the @command{~} in a path to the home
2773 directory.
2774
2775 Why not just use @command{os/user}? The built-in @command{os/user} package
2776 requires cgo on Darwin systems. This means that any Go code that uses that
2777 package cannot cross compile. But 99% of the time the use for
2778 @command{os/user} is just to retrieve the home directory, which we can do for
2779 the current user without cgo. This library does that, enabling
2780 cross-compilation.")
2781 (license license:expat))))
2782
2783 (define-public go-github-com-mitchellh-mapstructure
2784 (package
2785 (name "go-github-com-mitchellh-mapstructure")
2786 (version "1.1.2") ;; NOTE: Updating to 1.3.1 breaks tests on viper-1.7.0
2787 (source
2788 (origin
2789 (method git-fetch)
2790 (uri (git-reference
2791 (url "https://github.com/mitchellh/mapstructure")
2792 (commit (string-append "v" version))))
2793 (file-name (git-file-name name version))
2794 (sha256
2795 (base32
2796 "03bpv28jz9zhn4947saqwi328ydj7f6g6pf1m2d4m5zdh5jlfkrr"))))
2797 (build-system go-build-system)
2798 (arguments
2799 `(#:import-path "github.com/mitchellh/mapstructure"))
2800 (home-page "https://github.com/mitchellh/mapstructure")
2801 (synopsis "Go library for decoding generic map values")
2802 (description "Go library for decoding generic map values")
2803 (license license:expat)))
2804
2805 (define-public go-github-com-mitchellh-reflectwalk
2806 (package
2807 (name "go-github-com-mitchellh-reflectwalk")
2808 (version "1.0.1")
2809 (source (origin
2810 (method git-fetch)
2811 (uri (git-reference
2812 (url "https://github.com/mitchellh/reflectwalk")
2813 (commit (string-append "v" version))))
2814 (file-name (git-file-name name version))
2815 (sha256
2816 (base32
2817 "0pa6a3nhzwv5s5yqcmsmsfhdp5ggxsg2wa86f3akawxrhrkjarnx"))))
2818 (build-system go-build-system)
2819 (arguments
2820 `(#:import-path "github.com/mitchellh/reflectwalk"))
2821 (home-page "https://github.com/mitchellh/reflectwalk/")
2822 (synopsis "Walk a value in Go using reflection")
2823 (description "reflectwalk is a Go library for \"walking\" a value in Go
2824 using reflection, in the same way a directory tree can be \"walked\" on the
2825 filesystem. Walking a complex structure can allow you to do manipulations on
2826 unknown structures such as those decoded from JSON.")
2827 (license license:expat)))
2828
2829 (define-public go-github-com-mitchellh-copystructure
2830 (package
2831 (name "go-github-com-mitchellh-copystructure")
2832 (version "1.0.0")
2833 (source
2834 (origin
2835 (method git-fetch)
2836 (uri (git-reference
2837 (url "https://github.com/mitchellh/copystructure")
2838 (commit (string-append "v" version))))
2839 (file-name (git-file-name name version))
2840 (sha256
2841 (base32
2842 "05njg92w1088v4yl0js0zdrpfq6k37i9j14mxkr3p90p5yd9rrrr"))))
2843 (build-system go-build-system)
2844 (arguments
2845 `(#:import-path "github.com/mitchellh/copystructure"))
2846 (native-inputs
2847 `(("go-github-com-mitchellh-reflectwalk" ,go-github-com-mitchellh-reflectwalk)))
2848 (home-page "https://github.com/mitchellh/copystructure")
2849 (synopsis "Go library for decoding deep copying values")
2850 (description "@code{copystructure} is a Go library for deep copying values
2851 in Go.
2852
2853 This allows you to copy Go values that may contain reference values such as
2854 maps, slices, or pointers, and copy their data as well instead of just their
2855 references.")
2856 (license license:expat)))
2857
2858 (define-public go-github-com-multiformats-go-multiaddr
2859 (let ((commit "fe1c46f8be5af4aff4db286e08839295bd922efb")
2860 (revision "0"))
2861 (package
2862 (name "go-github-com-multiformats-go-multiaddr")
2863 (version (git-version "1.3.0" revision commit))
2864 (source
2865 (origin
2866 (method git-fetch)
2867 (uri (git-reference
2868 (url "https://github.com/multiformats/go-multiaddr")
2869 (commit commit)))
2870 (file-name (git-file-name name version))
2871 (sha256
2872 (base32
2873 "0p5f8h098a4yjjmzsgqs7vhx1iqifb8izwg3559cr4h7clkpzznh"))))
2874 (build-system go-build-system)
2875 (arguments
2876 '(#:import-path
2877 "github.com/multiformats/go-multiaddr"))
2878 (native-inputs
2879 `(("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
2880 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
2881 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
2882 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
2883 ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
2884 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
2885 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
2886 (home-page "https://github.com/multiformats/go-multiaddr")
2887 (synopsis "Composable and future-proof network addresses")
2888 (description "Multiaddr is a standard way to represent addresses that
2889 does the following:
2890
2891 @itemize
2892 @item Support any standard network protocols.
2893 @item Self-describe (include protocols).
2894 @item Have a binary packed format.
2895 @item Have a nice string representation.
2896 @item Encapsulate well.
2897 @end itemize\n")
2898 (license license:expat))))
2899
2900 (define-public go-github-com-multiformats-go-multiaddr-net
2901 (let ((commit "1cb9a0e8a6de3c8a10f6cee60d01d793603c4f7e")
2902 (revision "0"))
2903 (package
2904 (name "go-github-com-multiformats-go-multiaddr-net")
2905 (version (git-version "1.6.3" revision commit))
2906 (source
2907 (origin
2908 (method git-fetch)
2909 (uri (git-reference
2910 (url "https://github.com/multiformats/go-multiaddr-net")
2911 (commit commit)))
2912 (file-name (git-file-name name version))
2913 (sha256
2914 (base32
2915 "1ypgi47xdz3bh8lh7f8cmk7w3ql9g4izx5l3kzdg9gda1xn5zxq3"))))
2916 (build-system go-build-system)
2917 (arguments
2918 (quote (#:import-path "github.com/multiformats/go-multiaddr-net"
2919 ;; TODO: Tests fail because they try to access the network.
2920 #:tests? #f)))
2921 (native-inputs
2922 `(("go-github-com-multiformats-go-multiaddr" ,go-github-com-multiformats-go-multiaddr)
2923 ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
2924 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
2925 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
2926 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
2927 ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
2928 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
2929 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
2930 (home-page "https://github.com/multiformats/go-multiaddr-net")
2931 (synopsis "Multiaddress net tools")
2932 (description "This package provides Multiaddr specific versions of
2933 common functions in stdlib's @command{net} package. This means wrappers of
2934 standard net symbols like @command{net.Dial} and @command{net.Listen}, as well
2935 as conversion to and from @command{net.Addr}.")
2936 (license license:expat))))
2937
2938 (define-public go-github-com-whyrusleeping-tar-utils
2939 (let ((commit "8c6c8ba81d5c71fd69c0f48dbde4b2fb422b6dfc")
2940 (revision "0"))
2941 (package
2942 (name "go-github-com-whyrusleeping-tar-utils")
2943 (version (git-version "0.0.0" revision commit))
2944 (source
2945 (origin
2946 (method git-fetch)
2947 (uri (git-reference
2948 (url "https://github.com/whyrusleeping/tar-utils")
2949 (commit commit)))
2950 (file-name (git-file-name name version))
2951 (sha256
2952 (base32
2953 "14jjdw3yics0k467xsyk388684wdpi0bbx8nqj0y4pqxa0s0in6s"))))
2954 (build-system go-build-system)
2955 (arguments
2956 '(#:import-path
2957 "github.com/whyrusleeping/tar-utils"))
2958 (home-page "https://github.com/whyrusleeping/tar-utils")
2959 (synopsis "Tar utilities extracted from go-ipfs codebase")
2960 (description "Tar utilities extracted from @command{go-ipfs} codebase.")
2961 (license license:expat))))
2962
2963 (define-public go-github-com-cheekybits-is
2964 (let ((commit "68e9c0620927fb5427fda3708222d0edee89eae9")
2965 (revision "0"))
2966 (package
2967 (name "go-github-com-cheekybits-is")
2968 (version (git-version "0.0.0" revision commit))
2969 (source
2970 (origin
2971 (method git-fetch)
2972 (uri (git-reference
2973 (url "https://github.com/cheekybits/is")
2974 (commit commit)))
2975 (file-name (git-file-name name version))
2976 (sha256
2977 (base32
2978 "1mkbyzhwq3rby832ikq00nxv3jnckxsm3949wkxd8ya9js2jmg4d"))))
2979 (build-system go-build-system)
2980 (arguments
2981 '(#:import-path "github.com/cheekybits/is"))
2982 (home-page "https://github.com/cheekybits/is")
2983 (synopsis "Mini testing helper for Go")
2984 (description "A mini testing helper for Go.
2985
2986 @itemize
2987 @item It has a simple interface (@command{is.OK} and @command{is.Equal}).
2988 @item It plugs into existing Go toolchain (uses @command{testing.T}).
2989 @item It's obvious for newcomers.
2990 @item It also gives you @command{is.Panic} and @command{is.PanicWith} helpers
2991 - because testing panics is ugly.
2992 @end itemize\n")
2993 (license license:expat))))
2994
2995 (define-public go-github-com-sabhiram-go-gitignore
2996 (let ((commit "d3107576ba9425fc1c85f4b3569c4631b805a02e")
2997 (revision "0"))
2998 (package
2999 (name "go-github-com-sabhiram-go-gitignore")
3000 (version (git-version "1.0.2" revision commit))
3001 (source
3002 (origin
3003 (method git-fetch)
3004 (uri (git-reference
3005 (url "https://github.com/sabhiram/go-gitignore")
3006 (commit commit)))
3007 (file-name (git-file-name name version))
3008 (sha256
3009 (base32
3010 "1rdwyxgcsiwgmlqnc3k6h300mzlvjc3j21np4yh1h476wc8dvl0l"))))
3011 (build-system go-build-system)
3012 (arguments
3013 '(#:import-path
3014 "github.com/sabhiram/go-gitignore"))
3015 (native-inputs
3016 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
3017 (home-page "https://github.com/sabhiram/go-gitignore")
3018 (synopsis "Gitignore parser for Go")
3019 (description "A @command{.gitignore} parser for Go.")
3020 (license license:expat))))
3021
3022 (define-public go-github-com-urfave-cli
3023 (package
3024 (name "go-github-com-urfave-cli")
3025 (version "1.22.2")
3026 (source
3027 (origin
3028 (method git-fetch)
3029 (uri (git-reference
3030 (url "https://github.com/urfave/cli")
3031 (commit (string-append "v" version))))
3032 (file-name (git-file-name name version))
3033 (sha256
3034 (base32
3035 "10mcnvi5qmn00vpyk6si8gjka7p654wr9hac4zc9w5h3ickhvbdc"))))
3036 (build-system go-build-system)
3037 (arguments
3038 '(#:import-path "github.com/urfave/cli"))
3039 (propagated-inputs
3040 `(("go-github-com-go-md2man" ,go-github-com-go-md2man)))
3041 (home-page "https://github.com/urfave/cli")
3042 (synopsis "Simple, fast, and fun package for building command line apps in Go")
3043 (description "@command{cli} is a simple, fast, and fun package for
3044 building command line apps in Go. The goal is to enable developers to write
3045 fast and distributable command line applications in an expressive way.")
3046 (license license:expat)))
3047
3048 (define-public go-github-com-go-md2man
3049 (package
3050 (name "go-github-com-go-md2man")
3051 (version "2.0.0")
3052 (source
3053 (origin
3054 (method git-fetch)
3055 (uri (git-reference
3056 (url "https://github.com/cpuguy83/go-md2man")
3057 (commit (string-append "v" version))))
3058 (file-name (git-file-name name version))
3059 (sha256
3060 (base32
3061 "0r1f7v475dxxgzqci1mxfliwadcrk86ippflx9n411325l4g3ghv"))
3062 (modules '((guix build utils)))
3063 (snippet '(begin
3064 (delete-file-recursively "vendor")
3065 #t))))
3066 (build-system go-build-system)
3067 (arguments
3068 '(#:import-path "github.com/cpuguy83/go-md2man"))
3069 (propagated-inputs
3070 `(("go-github-com-russross-blackfriday" ,go-github-com-russross-blackfriday)))
3071 (home-page "https://github.com/cpuguy83/go-md2man")
3072 (synopsis "Convert markdown into roff")
3073 (description "Go-md2man is a Go program that converts markdown to roff for
3074 the purpose of building man pages.")
3075 (license license:expat)))
3076
3077 (define-public go-github-com-russross-blackfriday
3078 (package
3079 (name "go-github-com-russross-blackfriday")
3080 (version "2.0.1")
3081 (source
3082 (origin
3083 (method git-fetch)
3084 (uri (git-reference
3085 (url "https://github.com/russross/blackfriday")
3086 (commit (string-append "v" version))))
3087 (file-name (git-file-name name version))
3088 (sha256
3089 (base32
3090 "0nlz7isdd4rgnwzs68499hlwicxz34j2k2a0b8jy0y7ycd2bcr5j"))))
3091 (build-system go-build-system)
3092 (arguments
3093 '(#:import-path "github.com/russross/blackfriday"))
3094 (propagated-inputs
3095 `(("go-github-com-shurcool-sanitized-anchor-name"
3096 ,go-github-com-shurcool-sanitized-anchor-name)))
3097 (native-inputs
3098 `(("go-github-com-pmezard-go-difflib" ,go-github-com-pmezard-go-difflib)))
3099 (home-page "https://github.com/russross/blackfriday")
3100 (synopsis "Markdown processor in Go")
3101 (description "Blackfriday is a Markdown processor in Go.")
3102 (license license:bsd-2)))
3103
3104 (define-public go-github-com-shurcool-sanitized-anchor-name
3105 (package
3106 (name "go-github-com-shurcool-sanitized-anchor-name")
3107 (version "1.0.0")
3108 (source
3109 (origin
3110 (method git-fetch)
3111 (uri (git-reference
3112 (url "https://github.com/shurcooL/sanitized_anchor_name")
3113 (commit (string-append "v" version))))
3114 (file-name (git-file-name name version))
3115 (sha256
3116 (base32
3117 "1gv9p2nr46z80dnfjsklc6zxbgk96349sdsxjz05f3z6wb6m5l8f"))))
3118 (build-system go-build-system)
3119 (arguments
3120 '(#:import-path "github.com/shurcooL/sanitized_anchor_name"))
3121 (home-page "https://github.com/shurcooL/sanitized_anchor_name")
3122 (synopsis "Create sanitized anchor names")
3123 (description "This package provides a Go program for creating sanitized
3124 anchor names.")
3125 (license license:expat)))
3126
3127 (define-public go-github-com-pmezard-go-difflib
3128 (package
3129 (name "go-github-com-pmezard-go-difflib")
3130 (version "1.0.0")
3131 (source (origin
3132 (method git-fetch)
3133 (uri (git-reference
3134 (url "https://github.com/pmezard/go-difflib")
3135 (commit (string-append "v" version))))
3136 (file-name (git-file-name name version))
3137 (sha256
3138 (base32
3139 "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"))))
3140 (build-system go-build-system)
3141 (arguments
3142 '(#:import-path "github.com/pmezard/go-difflib/difflib"
3143 #:unpack-path "github.com/pmezard/go-difflib/"))
3144 (home-page "https://github.com/pmezard/go-difflib")
3145 (synopsis "Go diff implementation")
3146 (description "This package provides unified and context-aware diffs in Go.")
3147 (license license:bsd-3)))
3148
3149 (define-public go-github-com-whyrusleeping-json-filter
3150 (let ((commit "ff25329a9528f01c5175414f16cc0a6a162a5b8b")
3151 (revision "0"))
3152 (package
3153 (name "go-github-com-whyrusleeping-json-filter")
3154 (version (git-version "0.0.0" revision commit))
3155 (source
3156 (origin
3157 (method git-fetch)
3158 (uri (git-reference
3159 (url "https://github.com/whyrusleeping/json-filter")
3160 (commit commit)))
3161 (file-name (git-file-name name version))
3162 (sha256
3163 (base32
3164 "0cai0drvx4c8j686l908vpcsz3mw3vxi3ziz94b0f3c5ylpj07j7"))))
3165 (build-system go-build-system)
3166 (arguments
3167 '(#:import-path
3168 "github.com/whyrusleeping/json-filter"))
3169 (home-page "https://github.com/whyrusleeping/json-filter")
3170 (synopsis "Library to query JSON objects marshalled into map[string]interface")
3171 (description "A library to query JSON objects marshalled into
3172 @command{map[string]interface{}}.")
3173 (license license:expat))))
3174
3175 (define-public go-github-com-whyrusleeping-progmeter
3176 (let ((commit "f3e57218a75b913eff88d49a52c1debf9684ea04")
3177 (revision "0"))
3178 (package
3179 (name "go-github-com-whyrusleeping-progmeter")
3180 (version (git-version "0.0.0" revision commit))
3181 (source
3182 (origin
3183 (method git-fetch)
3184 (uri (git-reference
3185 (url "https://github.com/whyrusleeping/progmeter")
3186 (commit commit)))
3187 (file-name (git-file-name name version))
3188 (sha256
3189 (base32
3190 "0xs8rz6yhpvj9512c5v3b8dwr2kivywnyyfxzdfbr6fy1xc8zskb"))))
3191 (build-system go-build-system)
3192 (arguments
3193 '(#:import-path
3194 "github.com/whyrusleeping/progmeter"))
3195 (home-page "https://github.com/whyrusleeping/progmeter")
3196 (synopsis "Progress meter for Go")
3197 (description "Progress meter for Go.")
3198 (license license:expat))))
3199
3200 (define-public go-github-com-whyrusleeping-stump
3201 (let ((commit "206f8f13aae1697a6fc1f4a55799faf955971fc5")
3202 (revision "0"))
3203 (package
3204 (name "go-github-com-whyrusleeping-stump")
3205 (version (git-version "0.0.0" revision commit))
3206 (source
3207 (origin
3208 (method git-fetch)
3209 (uri (git-reference
3210 (url "https://github.com/whyrusleeping/stump")
3211 (commit commit)))
3212 (file-name (git-file-name name version))
3213 (sha256
3214 (base32
3215 "1s40qdppjnk8gijk7x6kbviiqz62nz3h6gic2q9cwcmq8r5isw7n"))))
3216 (build-system go-build-system)
3217 (arguments
3218 '(#:import-path "github.com/whyrusleeping/stump"))
3219 (home-page "https://github.com/whyrusleeping/stump")
3220 (synopsis "Very basic logging package for Go")
3221 (description "A simple log library, for when you don't really care to
3222 have super fancy logs.")
3223 (license license:expat))))
3224
3225 (define-public go-github-com-kr-fs
3226 (let ((commit "1455def202f6e05b95cc7bfc7e8ae67ae5141eba")
3227 (revision "0"))
3228 (package
3229 (name "go-github-com-kr-fs")
3230 (version (git-version "0.1.0" revision commit))
3231 (source
3232 (origin
3233 (method git-fetch)
3234 (uri (git-reference
3235 (url "https://github.com/kr/fs")
3236 (commit commit)))
3237 (file-name (git-file-name name version))
3238 (sha256
3239 (base32
3240 "11zg176x9hr9q7fsk95r6q0wf214gg4czy02slax4x56n79g6a7q"))))
3241 (build-system go-build-system)
3242 (arguments
3243 '(#:import-path "github.com/kr/fs"))
3244 (home-page "https://github.com/kr/fs")
3245 (synopsis "File-system-related functions for Go")
3246 (description
3247 "The fs package provides file-system-related Go functions.")
3248 (license license:bsd-3))))
3249
3250 (define-public go-github-com-direnv-go-dotenv
3251 (let ((commit "4cce6d1a66f7bc8dc730eab85cab6af1b801abed")
3252 (revision "0"))
3253 (package
3254 (name "go-github-com-direnv-go-dotenv")
3255 (version (git-version "0.0.0" revision commit))
3256 (source
3257 (origin
3258 (method git-fetch)
3259 (uri (git-reference
3260 (url "https://github.com/direnv/go-dotenv")
3261 (commit commit)))
3262 (file-name (git-file-name name version))
3263 (sha256
3264 (base32
3265 "00wn4fc2lma0csf6ryvlc6k9jbpbifm4n7i3kkd2xrfw5qlm29b6"))))
3266 (build-system go-build-system)
3267 (arguments
3268 '(#:import-path "github.com/direnv/go-dotenv"))
3269 (home-page "https://github.com/direnv/go-dotenv")
3270 (synopsis "Go dotenv parsing library")
3271 (description "This package provides a library for parsing the dotenv
3272 format in Go.")
3273 (license license:expat))))
3274
3275 (define-public go-github-com-kr-pretty
3276 (package
3277 (name "go-github-com-kr-pretty")
3278 (version "0.2.0")
3279 (source (origin
3280 (method git-fetch)
3281 (uri (git-reference
3282 (url "https://github.com/kr/pretty")
3283 (commit (string-append "v" version))))
3284 (file-name (git-file-name name version))
3285 (sha256
3286 (base32
3287 "1ywbfzz1h3a3qd8rpkiqwi1dm4w8ls9ijb4x1b7567grns9f0vnp"))))
3288 (build-system go-build-system)
3289 (propagated-inputs
3290 `(("go-github-com-kr-text" ,go-github-com-kr-text)))
3291 (arguments
3292 '(#:import-path "github.com/kr/pretty"))
3293 (synopsis "A pretty printer for Go values")
3294 (description "This package provides a pretty printer for Go values.")
3295 (home-page "https://github.com/kr/pretty")
3296 (license license:expat)))
3297
3298 (define-public go-github-com-kr-text
3299 (package
3300 (name "go-github-com-kr-text")
3301 (version "0.1.0")
3302 (source (origin
3303 (method git-fetch)
3304 (uri (git-reference
3305 (url "https://github.com/kr/text")
3306 (commit (string-append "v" version))))
3307 (file-name (git-file-name name version))
3308 (sha256
3309 (base32
3310 "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1"))))
3311 (build-system go-build-system)
3312 (arguments
3313 '(#:import-path "github.com/kr/text"))
3314 (synopsis "Text formatting in Go")
3315 (description "This package provides a text formatting functions in Go.")
3316 (home-page "https://github.com/kr/text")
3317 (license license:expat)))
3318
3319 (define-public go-golang-org-sql-mock
3320 (let ((commit "e98392b8111b45f8126e00af035a0dd95dc12e8b")
3321 (version "1.3.3")
3322 (revision "1"))
3323 (package
3324 (name "go-golang-org-sql-mock")
3325 (version (git-version version revision commit))
3326 (source (origin
3327 (method git-fetch)
3328 (uri (git-reference
3329 (url "https://github.com/DATA-DOG/go-sqlmock")
3330 (commit commit)))
3331 (file-name (git-file-name name version))
3332 (sha256
3333 (base32
3334 "033vv29g2wf6fd757ajfmha30bqin3b07377037zkl051mk6mghs"))))
3335 (build-system go-build-system)
3336 (arguments
3337 '(#:import-path "github.com/DATA-DOG/go-sqlmock"))
3338 (synopsis "Mock library implementing @code{sql/driver}")
3339 (description "This library simulates SQL-driver behavior in tests
3340 without requiring a real database connection.")
3341 (home-page "https://github.com/DATA-DOG/go-sqlmock")
3342 (license license:expat))))
3343
3344 (define-public go-golang-org-colorful
3345 (package
3346 (name "go-golang-org-colorful")
3347 (version "1.0.2")
3348 (source (origin
3349 (method git-fetch)
3350 (uri (git-reference
3351 (url "https://github.com/lucasb-eyer/go-colorful")
3352 (commit (string-append "v" version))))
3353 (file-name (git-file-name name version))
3354 (sha256
3355 (base32
3356 "0fig06880bvk1l92j4127v4x9sar4ds7ga8959gxxghb2w70b7l2"))))
3357 (build-system go-build-system)
3358 (arguments
3359 '(#:import-path "github.com/lucasb-eyer/go-colorful"))
3360 (native-inputs
3361 `(("go-golang-org-sql-mock" ,go-golang-org-sql-mock)))
3362 (synopsis "Convert between colorspaces and generate colors")
3363 (description "This package implements Go's @code{color.Color} interface
3364 and provides a means of converting colors stored as RGB to various
3365 colorspaces.")
3366 (home-page "https://github.com/lucasb-eyer/go-colorful")
3367 (license license:expat)))
3368
3369 (define-public go-github-com-gdamore-encoding
3370 (package
3371 (name "go-github-com-gdamore-encoding")
3372 (version "1.0.0")
3373 (source
3374 (origin
3375 (method git-fetch)
3376 (uri (git-reference
3377 (url "https://github.com/gdamore/encoding")
3378 (commit (string-append "v" version))))
3379 (file-name (git-file-name name version))
3380 (sha256
3381 (base32
3382 "1vmm5zll92i2fm4ajqx0gyx0p9j36496x5nabi3y0x7h0inv0pk9"))))
3383 (build-system go-build-system)
3384 (arguments
3385 '(#:import-path "github.com/gdamore/encoding"))
3386 (inputs
3387 `(("go-golang-org-x-text" ,go-golang-org-x-text)))
3388 (home-page "https://github.com/gdamore/encoding")
3389 (synopsis "Provide encodings missing from Go")
3390 (description "This package provides useful encodings not included in the
3391 standard @code{Text} package, including some for dealing with I/O streams from
3392 non-UTF-friendly sources.")
3393 (license license:expat)))
3394
3395 (define-public go-github-com-gdamore-tcell
3396 (let ((commit "aaadc574a6ed8dc3abe56036ca130dcee1ee6b6e")
3397 (version "1.1.2")
3398 (revision "1"))
3399 (package
3400 (name "go-github-com-gdamore-tcell")
3401 (version (git-version version revision commit))
3402 (source
3403 (origin
3404 (method git-fetch)
3405 (uri (git-reference
3406 (url "https://github.com/gdamore/tcell")
3407 (commit commit)))
3408 (file-name (git-file-name name version))
3409 (sha256
3410 (base32
3411 "0il2nnxp2cqiy73m49215dnf9in3vd25ji8qxbmq87c5qy7i1q9d"))))
3412 (build-system go-build-system)
3413 (arguments
3414 `(#:import-path "github.com/gdamore/tcell"
3415 #:phases
3416 (modify-phases %standard-phases
3417 (add-before 'reset-gzip-timestamps 'make-files-writable
3418 (lambda* (#:key outputs #:allow-other-keys)
3419 ;; Make sure .gz files are writable so that the
3420 ;; 'reset-gzip-timestamps' phase can do its work.
3421 (let ((out (assoc-ref outputs "out")))
3422 (for-each make-file-writable
3423 (find-files out "\\.gz$"))
3424 #t))))))
3425 (inputs
3426 `(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
3427 ("go-golang-org-colorful" ,go-golang-org-colorful)
3428 ("go-golang-org-x-text" ,go-golang-org-x-text)
3429 ("go-github-com-gdamore-encoding" ,go-github-com-gdamore-encoding)))
3430 (home-page "https://github.com/gdamore/tcell")
3431 (synopsis "Provide a cell-based view for text terminals")
3432 (description "This package includes a full parser and expander for
3433 terminfo capability strings to avoid hard-coding escape strings for
3434 formatting. It also favors portability, and includes support for all POSIX
3435 systems.")
3436 (license license:expat))))
3437
3438 (define-public go-github-com-mattn-go-shellwords
3439 (let ((commit "2444a32a19f450fabaa0bb3e96a703f15d9a97d2")
3440 (version "1.0.5")
3441 (revision "1"))
3442 (package
3443 (name "go-github-com-mattn-go-shellwords")
3444 (version (git-version version revision commit))
3445 (source
3446 (origin
3447 (method git-fetch)
3448 (uri (git-reference
3449 (url "https://github.com/mattn/go-shellwords")
3450 (commit commit)))
3451 (file-name (git-file-name name version))
3452 (sha256
3453 (base32
3454 "08zcgr1az1n8zaxzwdd205j86hczgyc52nxfnw5avpw7rrkf7v0d"))))
3455 (build-system go-build-system)
3456 (arguments
3457 `(#:import-path "github.com/mattn/go-shellwords"
3458 ;; TODO: can't make homeless-shelter:
3459 ;; go: disabling cache (/homeless-shelter/.cache/go-build) due to
3460 ;; initialization failure: mkdir /homeless-shelter: permission denied
3461
3462 ;; This doesn't seem to work:
3463
3464 ;; #:phases
3465 ;; (modify-phases %standard-phases
3466 ;; (replace 'check
3467 ;; (lambda* (#:key import-path #:allow-other-keys)
3468 ;; (setenv "HOME" "/tmp")
3469 ;; (invoke "go" "test" import-path))))
3470
3471 ;; TODO: There are also a couple of tests that have stymied Debian in
3472 ;; the past. They seem to work when run locally.
3473
3474 #:tests? #f
3475 ))
3476 (home-page "https://github.com/mattn/go-shellwords")
3477 (synopsis "Parse lines into shell words")
3478 (description "This package parses text into shell arguments. Based on
3479 the @code{cpan} module @code{Parse::CommandLine}.")
3480 (license license:expat))))
3481
3482 (define-public go-github-com-burntsushi-locker
3483 (let ((commit "a6e239ea1c69bff1cfdb20c4b73dadf52f784b6a")
3484 (revision "0"))
3485 (package
3486 (name "go-github-com-burntsushi-locker")
3487 (version (git-version "0.0.0" revision commit))
3488 (source
3489 (origin
3490 (method git-fetch)
3491 (uri (git-reference
3492 (url "https://github.com/BurntSushi/locker")
3493 (commit commit)))
3494 (file-name (git-file-name name version))
3495 (sha256
3496 (base32
3497 "1xak4aync4klswq5217qvw191asgla51jr42y94vp109lirm5dzg"))))
3498 (build-system go-build-system)
3499 (arguments
3500 '(#:import-path "github.com/BurntSushi/locker"))
3501 (home-page "https://github.com/BurntSushi/locker")
3502 (synopsis "Manage named ReadWrite mutexes in Go")
3503 (description "Golang package for conveniently using named read/write
3504 locks. These appear to be especially useful for synchronizing access to
3505 session based information in web applications.
3506
3507 The common use case is to use the package level functions, which use a package
3508 level set of locks (safe to use from multiple goroutines
3509 simultaneously). However, you may also create a new separate set of locks
3510 test.
3511
3512 All locks are implemented with read-write mutexes. To use them like a regular
3513 mutex, simply ignore the RLock/RUnlock functions.")
3514 (license license:unlicense))))
3515
3516 (define-public go-github-com-marten-seemann-qtls
3517 (package
3518 (name "go-github-com-marten-seemann-qtls")
3519 (version "0.4.1")
3520 (source (origin
3521 (method git-fetch)
3522 (uri (git-reference
3523 (url "https://github.com/marten-seemann/qtls")
3524 (commit (string-append "v" version))))
3525 (file-name (git-file-name name version))
3526 (sha256
3527 (base32
3528 "0dz60y98nm7l70hamq0v2vrs2dspyr5yqhnrds2dfh7hchxvq76j"))))
3529 (build-system go-build-system)
3530 (arguments
3531 '(#:import-path "github.com/marten-seemann/qtls"
3532 ;; The test suite requires networking.
3533 #:tests? #f))
3534 (propagated-inputs
3535 `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
3536 (synopsis "TLS 1.3 with QUIC in Go")
3537 (description "This package provides @code{qtls}, a QUIC-capable variant of
3538 the Go standard library's TLS 1.3 implementation.")
3539 (home-page "https://github.com/marten-seemann/qtls")
3540 (license license:bsd-3)))
3541
3542 (define-public go-github-com-marten-seemann-chacha20
3543 (package
3544 (name "go-github-com-marten-seemann-chacha20")
3545 (version "0.2.0")
3546 (source (origin
3547 (method git-fetch)
3548 (uri (git-reference
3549 (url "https://github.com/marten-seemann/chacha20")
3550 (commit (string-append "v" version))))
3551 (file-name (git-file-name name version))
3552 (sha256
3553 (base32
3554 "0x1j4cvbap45zk962qkjalc1h3axhzzdy9cdzhcjmprmm1ql4gjm"))))
3555 (build-system go-build-system)
3556 (arguments
3557 '(#:import-path "github.com/marten-seemann/chacha20"))
3558 (synopsis "ChaCha20 in Go")
3559 (description "This package is an external copy of the Go standard library's
3560 internal ChaCha20 package.")
3561 (home-page "https://github.com/marten-seemann/chacha20")
3562 (license license:bsd-3)))
3563
3564 (define-public go-github-com-cheekybits-genny
3565 (package
3566 (name "go-github-com-cheekybits-genny")
3567 (version "1.0.0")
3568 (source (origin
3569 (method git-fetch)
3570 (uri (git-reference
3571 (url "https://github.com/cheekybits/genny")
3572 (commit (string-append "v" version))))
3573 (file-name (git-file-name name version))
3574 (sha256
3575 (base32
3576 "1pcir5ic86713aqa51581rfb67rgc3m0c72ddjfcp3yakv9vyq87"))))
3577 (build-system go-build-system)
3578 (arguments
3579 '(#:import-path "github.com/cheekybits/genny"))
3580 (propagated-inputs
3581 `(("go-golang-org-x-tools" ,go-golang-org-x-tools)))
3582 (synopsis "Generics for Go")
3583 (description "This package provides @code{genny}, a Go language
3584 implementation of generics.")
3585 (home-page "https://github.com/cheekybits/genny/")
3586 (license license:expat)))
3587
3588 (define-public go-github-com-lucas-clemente-quic-go
3589 (package
3590 (name "go-github-com-lucas-clemente-quic-go")
3591 (version "0.14.4")
3592 (source (origin
3593 (method git-fetch)
3594 (uri (git-reference
3595 (url "https://github.com/lucas-clemente/quic-go")
3596 (commit (string-append "v" version))))
3597 (file-name (git-file-name name version))
3598 (sha256
3599 (base32
3600 "04l3gqbc3gh079n8vgnrsf8ypgv8sl63xjf28jqfrb45v2l73vyz"))))
3601 (build-system go-build-system)
3602 (arguments
3603 '(#:import-path "github.com/lucas-clemente/quic-go"
3604 ;; XXX More packages required...
3605 #:tests? #f))
3606 (propagated-inputs
3607 `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
3608 ("go-github-com-cheekybits-genny" ,go-github-com-cheekybits-genny)
3609 ("go-github-com-marten-seemann-chacha20" ,go-github-com-marten-seemann-chacha20)
3610 ("go-github-com-marten-seemann-qtls" ,go-github-com-marten-seemann-qtls)
3611 ("go-github-com-golang-protobuf-proto" ,go-github-com-golang-protobuf-proto)))
3612 (synopsis "QUIC in Go")
3613 (description "This package provides a Go language implementation of the QUIC
3614 network protocol.")
3615 (home-page "https://github.com/lucas-clemente/quic-go")
3616 (license license:expat)))
3617
3618 (define-public go-github-com-francoispqt-gojay
3619 (package
3620 (name "go-github-com-francoispqt-gojay")
3621 (version "1.2.13")
3622 (source (origin
3623 (method git-fetch)
3624 (uri (git-reference
3625 (url "https://github.com/francoispqt/gojay")
3626 (commit (string-append "v" version))))
3627 (file-name (git-file-name name version))
3628 (sha256
3629 (base32
3630 "1ix95qdyajfmxhf9y52vjrih63f181pjs4v5as8905s4d5vmkd06"))))
3631 (build-system go-build-system)
3632 (arguments
3633 '(#:import-path "github.com/francoispqt/gojay"))
3634 (propagated-inputs
3635 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
3636 (synopsis "JSON encoder/decoder with powerful stream API for Golang")
3637 (description "GoJay is a performant JSON encoder/decoder for Golang. It has
3638 a simple API and doesn't use reflection. It relies on small interfaces to
3639 decode/encode structures and slices.")
3640 (home-page "https://github.com/francoispqt/gojay")
3641 (license license:expat)))
3642
3643 (define-public go-github-com-pkg-errors
3644 (package
3645 (name "go-github-com-pkg-errors")
3646 (version "0.9.1")
3647 (source (origin
3648 (method git-fetch)
3649 (uri (git-reference
3650 (url "https://github.com/pkg/errors")
3651 (commit (string-append "v" version))))
3652 (file-name (git-file-name name version))
3653 (sha256
3654 (base32
3655 "1761pybhc2kqr6v5fm8faj08x9bql8427yqg6vnfv6nhrasx1mwq"))))
3656 (build-system go-build-system)
3657 (arguments
3658 `(#:import-path "github.com/pkg/errors"))
3659 (synopsis "Go error handling primitives")
3660 (description "This package provides @code{error}, which offers simple
3661 error handling primitives in Go.")
3662 (home-page "https://github.com/pkg/errors")
3663 (license license:bsd-2)))
3664
3665 (define-public go-github-com-maruel-panicparse
3666 (package
3667 (name "go-github-com-maruel-panicparse")
3668 (version "1.3.0")
3669 (source (origin
3670 (method git-fetch)
3671 (uri (git-reference
3672 (url "https://github.com/maruel/panicparse")
3673 (commit (string-append "v" version))))
3674 (file-name (git-file-name name version))
3675 (sha256
3676 (base32
3677 "13qkn7f64yln8jdmma37h6ra4c7anxkp3vfgvfyb6lb07dpr1ibq"))))
3678 (build-system go-build-system)
3679 (arguments
3680 '(#:import-path "github.com/maruel/panicparse"))
3681 (synopsis "Toolkit for parsing Go stack traces")
3682 (description "This package provides a toolkit for parsing Go language panic
3683 stack traces. It simplifies the traces to make salient information more visible
3684 and aid debugging.")
3685 (home-page "https://github.com/maruel/panicparse")
3686 (license license:asl2.0)))
3687
3688 (define-public go-github-com-robfig-cron
3689 (package
3690 (name "go-github-com-robfig-cron")
3691 (version "3.0.1")
3692 (source
3693 (origin
3694 (method git-fetch)
3695 (uri (git-reference
3696 (url "https://github.com/robfig/cron")
3697 (commit (string-append "v" version))))
3698 (file-name (git-file-name name version))
3699 (sha256
3700 (base32
3701 "1agzbw2dfk2d1mpmddr85s5vh6ygm8kqrvfg87i9d2wqnlsnliqm"))))
3702 (build-system go-build-system)
3703 (arguments
3704 `(#:import-path "github.com/robfig/cron"))
3705 (home-page "https://godoc.org/github.com/robfig/cron")
3706 (synopsis "Cron library for Go")
3707 (description "This package provides a cron library for Go. It implements
3708 a cron spec parser and job runner.")
3709 (license license:expat)))
3710
3711 (define-public go-github-com-shirou-gopsutil
3712 (let ((commit "47ef3260b6bf6ead847e7c8fc4101b33c365e399")
3713 (revision "0"))
3714 (package
3715 (name "go-github-com-shirou-gopsutil")
3716 (version (git-version "v2.19.7" revision commit))
3717 (source (origin
3718 (method git-fetch)
3719 (uri (git-reference
3720 (url "https://github.com/shirou/gopsutil")
3721 (commit commit))) ; XXX
3722 (file-name (git-file-name name version))
3723 (sha256
3724 (base32
3725 "0x1g4r32q4201nr2b754xnrrndmwsrhfr7zg37spya86qrmijnws"))))
3726 (build-system go-build-system)
3727 (arguments
3728 '(#:import-path "github.com/shirou/gopsutil"))
3729 (synopsis "Process and system monitoring in Go")
3730 (description "This package provides a library for retrieving information
3731 on running processes and system utilization (CPU, memory, disks, network,
3732 sensors).")
3733 (home-page "https://github.com/shirou/gopsutil")
3734 (license license:bsd-3))))
3735
3736 (define-public go-github-com-danwakefield-fnmatch
3737 (let ((commit "cbb64ac3d964b81592e64f957ad53df015803288")
3738 (revision "0"))
3739 (package
3740 (name "go-github-com-danwakefield-fnmatch")
3741 (version (git-version "0.0.0" revision commit))
3742 (source
3743 (origin
3744 (method git-fetch)
3745 (uri (git-reference
3746 (url "https://github.com/danwakefield/fnmatch")
3747 (commit commit)))
3748 (sha256
3749 (base32
3750 "0cbf511ppsa6hf59mdl7nbyn2b2n71y0bpkzbmfkdqjhanqh1lqz"))
3751 (file-name (git-file-name name version))))
3752 (build-system go-build-system)
3753 (arguments
3754 '(#:import-path "github.com/danwakefield/fnmatch"))
3755 (home-page "https://github.com/danwakefield/fnmatch")
3756 (synopsis "Updated clone of kballards golang fnmatch gist")
3757 (description "This package provides an updated clone of kballards golang
3758 fnmatch gist (https://gist.github.com/kballard/272720).")
3759 (license license:bsd-2))))
3760
3761 (define-public go-github-com-ddevault-go-libvterm
3762 (let ((commit "b7d861da381071e5d3701e428528d1bfe276e78f")
3763 (revision "0"))
3764 (package
3765 (name "go-github-com-ddevault-go-libvterm")
3766 (version (git-version "0.0.0" revision commit))
3767 (source
3768 (origin
3769 (method git-fetch)
3770 (uri (git-reference
3771 (url "https://github.com/ddevault/go-libvterm")
3772 (commit commit)))
3773 (sha256
3774 (base32
3775 "06vv4pgx0i6hjdjcar4ch18hp9g6q6687mbgkvs8ymmbacyhp7s6"))
3776 (file-name (git-file-name name version))))
3777 (build-system go-build-system)
3778 (arguments
3779 '(#:import-path "github.com/ddevault/go-libvterm"))
3780 (propagated-inputs
3781 `(("go-github-com-mattn-go-pointer" ,go-github-com-mattn-go-pointer)))
3782 (home-page "https://github.com/ddevault/go-libvterm")
3783 (synopsis "Go binding to libvterm")
3784 (description
3785 "This is a fork of another go-libvterm library for use with aerc.")
3786 (license license:expat))))
3787
3788 (define-public go-github-com-emersion-go-imap
3789 (package
3790 (name "go-github-com-emersion-go-imap")
3791 (version "1.0.0")
3792 (source
3793 (origin
3794 (method git-fetch)
3795 (uri (git-reference
3796 (url "https://github.com/emersion/go-imap")
3797 (commit (string-append "v" version))))
3798 (sha256
3799 (base32
3800 "1id8j2d0rn9sj8y62xhyygqpk5ygrcl9jlfx92sm1jsvxsm3kywq"))
3801 (file-name (git-file-name name version))))
3802 (build-system go-build-system)
3803 (arguments
3804 '(#:import-path "github.com/emersion/go-imap"))
3805 (native-inputs
3806 `(("go-golang-org-x-text" ,go-golang-org-x-text)))
3807 (home-page "https://github.com/emersion/go-imap")
3808 (synopsis "IMAP4rev1 library written in Go")
3809 (description "This package provides an IMAP4rev1 library written in Go. It
3810 can be used to build a client and/or a server.")
3811 (license license:expat)))
3812
3813 (define-public go-github-com-emersion-go-sasl
3814 (let ((commit "240c8404624e076f633766c16adbe96c7ac516b7")
3815 (revision "0"))
3816 (package
3817 (name "go-github-com-emersion-go-sasl")
3818 (version (git-version "0.0.0" revision commit))
3819 (source
3820 (origin
3821 (method git-fetch)
3822 (uri (git-reference
3823 (url "https://github.com/emersion/go-sasl")
3824 (commit commit)))
3825 (sha256
3826 (base32
3827 "1py18p3clp474xhx6ypyp0bgv6n1dfm24m95cyyqb0k3vibar6ih"))
3828 (file-name (git-file-name name version))))
3829 (build-system go-build-system)
3830 (arguments
3831 '(#:import-path "github.com/emersion/go-sasl"))
3832 (home-page "https://github.com/emersion/go-sasl")
3833 (synopsis "SASL library written in Go")
3834 (description "This package provides a SASL library written in Go.")
3835 (license license:expat))))
3836
3837 (define-public go-github-com-emersion-go-imap-idle
3838 (let ((commit "2704abd7050ed7f2143753554ee23affdf847bd9")
3839 (revision "0"))
3840 (package
3841 (name "go-github-com-emersion-go-imap-idle")
3842 (version (git-version "0.0.0" revision commit))
3843 (source
3844 (origin
3845 (method git-fetch)
3846 (uri (git-reference
3847 (url "https://github.com/emersion/go-imap-idle")
3848 (commit commit)))
3849 (sha256
3850 (base32
3851 "0blwcadmxgqsdwgr9m4jqfbpfa2viw5ah19xbybpa1z1z4aj5cbc"))
3852 (file-name (git-file-name name version))))
3853 (build-system go-build-system)
3854 (arguments
3855 '(#:import-path "github.com/emersion/go-imap-idle"))
3856 (native-inputs
3857 `(("go-github-com-emersion-go-imap" ,go-github-com-emersion-go-imap)
3858 ("go-github-com-emersion-go-sasl" ,go-github-com-emersion-go-sasl)
3859 ("go-golang-org-x-text" ,go-golang-org-x-text)))
3860 (home-page "https://github.com/emersion/go-imap-idle")
3861 (synopsis "IDLE extension for go-imap")
3862 (description "This package provides an IDLE extension for go-imap.")
3863 (license license:expat))))
3864
3865 (define-public go-github-com-fatih-color
3866 (package
3867 (name "go-github-com-fatih-color")
3868 (version "1.8.0")
3869 (source (origin
3870 (method git-fetch)
3871 (uri (git-reference
3872 (url "https://github.com/fatih/color")
3873 (commit (string-append "v" version))))
3874 (file-name (git-file-name name version))
3875 (sha256
3876 (base32
3877 "1zc0zlilf03h121f9jqq3ar0hfm7706547zysxp2qxbm920pz7h0"))))
3878 (build-system go-build-system)
3879 (arguments
3880 '(#:import-path "github.com/fatih/color"))
3881 (synopsis "Print colored text in Go")
3882 (description "This package provides an ANSI color package to output
3883 colorized or SGR defined output to the standard output.")
3884 (home-page "https://godoc.org/github.com/fatih/color")
3885 (license license:expat)))
3886
3887 (define-public go-github-com-google-go-cmp-cmp
3888 (package
3889 (name "go-github-com-google-go-cmp-cmp")
3890 (version "0.3.1")
3891 (source (origin
3892 (method git-fetch)
3893 (uri (git-reference
3894 (url "https://github.com/google/go-cmp")
3895 (commit (string-append "v" version))))
3896 (file-name (git-file-name name version))
3897 (sha256
3898 (base32
3899 "1caw49i0plkjxir7kdf5qhwls3krqwfmi7g4h392rdfwi3kfahx1"))))
3900 (build-system go-build-system)
3901 (arguments
3902 '(#:import-path "github.com/google/go-cmp/cmp"
3903 #:unpack-path "github.com/google/go-cmp"))
3904 (synopsis "Determine equality of values in Go")
3905 (description "This package provides a more powerful and safer
3906 alternative to @code{reflect.DeepEqual} for comparing whether two values
3907 are semantically equal in Go (for writing tests).")
3908 (home-page "https://godoc.org/github.com/google/go-cmp/cmp")
3909 (license license:asl2.0)))
3910
3911 (define-public go-github-com-google-uuid
3912 (package
3913 (name "go-github-com-google-uuid")
3914 (version "1.1.1")
3915 (source (origin
3916 (method git-fetch)
3917 (uri (git-reference
3918 (url "https://github.com/google/uuid")
3919 (commit (string-append "v" version))))
3920 (file-name (git-file-name name version))
3921 (sha256
3922 (base32
3923 "0hfxcf9frkb57k6q0rdkrmnfs78ms21r1qfk9fhlqga2yh5xg8zb"))))
3924 (build-system go-build-system)
3925 (arguments
3926 '(#:import-path "github.com/google/uuid"))
3927 (home-page "https://github.com/google/uuid/")
3928 (synopsis "Generate and inspect UUIDs based on RFC 4122 and DCE 1.1")
3929 (description "The uuid package generates and inspects UUIDs based on RFC
3930 4122 and DCE 1.1: Authentication and Security Services.")
3931 (license license:bsd-3)))
3932
3933 (define-public go-github-com-google-goterm
3934 (let ((commit "fc88cf888a3fa99ecc23d1efc1a44284268457d3")
3935 (revision "1"))
3936 (package
3937 (name "go-github-com-google-goterm")
3938 (version (git-version "0.0.1" revision commit))
3939 (source (origin
3940 (method git-fetch)
3941 (uri (git-reference
3942 (url "https://github.com/google/goterm")
3943 (commit commit)))
3944 (file-name (git-file-name name version))
3945 (sha256
3946 (base32
3947 "0809sf02dhg2bjhsz43pmlb5d7nbsnwxls3lw01zw5p7ri9bqwfb"))))
3948 (build-system go-build-system)
3949 (arguments
3950 `(#:import-path "github.com/google/goterm/term"
3951 #:unpack-path "github.com/google/goterm"))
3952 (home-page "https://github.com/google/goterm/")
3953 (synopsis "PTY creation and termios get/set attributes")
3954 (description "The term package implements PTY creation and termios get/set
3955 attributes. It also contains some convenience functions for colors, SSH to
3956 and from termios translations, readCh, reading passwords, etc.")
3957 (license license:bsd-3))))
3958
3959 (define-public go-github-com-google-go-querystring
3960 (let ((commit "992e8021cf787c100d55520d5c906e01536c0a19") ;fix format in tests
3961 (revision "1"))
3962 (package
3963 (name "go-github-com-google-go-querystring")
3964 (version "1.0.0")
3965 (source (origin
3966 (method git-fetch)
3967 (uri (git-reference
3968 (url "https://github.com/google/go-querystring")
3969 (commit commit)))
3970 (file-name (git-file-name name version))
3971 (sha256
3972 (base32
3973 "0mbx4jvf7nz4sk2fgqfq1llz4xb3vc4625b4x398mspr3a5077rs"))))
3974 (build-system go-build-system)
3975 (arguments
3976 `(#:import-path "github.com/google/go-querystring/query"
3977 #:unpack-path "github.com/google/go-querystring"))
3978 (home-page "https://github.com/google/go-querystring/")
3979 (synopsis "Library for encoding structs into URL query parameters")
3980 (description "@code{go-querystring} is Go library for encoding structs
3981 into URL query parameters.")
3982 (license license:bsd-3))))
3983
3984 (define-public go-github-com-google-go-github
3985 (package
3986 (name "go-github-com-google-go-github")
3987 (version "26.1.3")
3988 (source (origin
3989 (method git-fetch)
3990 (uri (git-reference
3991 (url "https://github.com/google/go-github")
3992 (commit (string-append "v" version))))
3993 (file-name (git-file-name name version))
3994 (sha256
3995 (base32
3996 "0x0zz1vcmllp6r6l2qin9b2llm5cxbf6n84rf99h8wrmhvzs2ipi"))))
3997 (build-system go-build-system)
3998 (arguments
3999 `(#:tests? #f ;application/octet-stream instead of text/plain
4000 #:import-path "github.com/google/go-github/v26/github"
4001 #:unpack-path "github.com/google/go-github/v26"))
4002 (native-inputs
4003 `(("go-github-com-google-go-querystring" ,go-github-com-google-go-querystring)
4004 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
4005 (home-page "https://github.com/google/go-github/")
4006 (synopsis "Client library for accessing the GitHub API v3")
4007 (description "@code{go-github} is a Go client library for accessing the
4008 GitHub API v3.")
4009 (license license:bsd-3)))
4010
4011 (define-public go-github-com-google-renameio
4012 (package
4013 (name "go-github-com-google-renameio")
4014 (version "0.1.0")
4015 (source (origin
4016 (method git-fetch)
4017 (uri (git-reference
4018 (url "https://github.com/google/renameio")
4019 (commit (string-append "v" version))))
4020 (file-name (git-file-name name version))
4021 (sha256
4022 (base32
4023 "1ki2x5a9nrj17sn092d6n4zr29lfg5ydv4xz5cp58z6cw8ip43jx"))))
4024 (build-system go-build-system)
4025 (arguments
4026 `(#:import-path "github.com/google/renameio"))
4027 (home-page "https://github.com/google/renameio/")
4028 (synopsis "Atomically create or replace a file or symbolic link")
4029 (description "@code{renameio} Go package provides a way to atomically
4030 create or replace a file or symbolic link.")
4031 (license license:asl2.0)))
4032
4033 (define-public go-golang.org-x-sync-errgroup
4034 (let ((commit "cd5d95a43a6e21273425c7ae415d3df9ea832eeb")
4035 (revision "0"))
4036 (package
4037 (name "go-golang.org-x-sync-errgroup")
4038 (version (git-version "0.0.0" revision commit))
4039 (source (origin
4040 (method git-fetch)
4041 (uri (git-reference
4042 (url "https://go.googlesource.com/sync")
4043 (commit commit)))
4044 (file-name (git-file-name name version))
4045 (sha256
4046 (base32
4047 "1nqkyz2y1qvqcma52ijh02s8aiqmkfb95j08f6zcjhbga3ds6hds"))))
4048 (build-system go-build-system)
4049 (arguments
4050 '(#:import-path "golang.org/x/sync/errgroup"
4051 #:unpack-path "golang.org/x/sync"))
4052 (synopsis "Synchronization, error propagation, and Context cancellation
4053 for groups of goroutines working on subtasks of a common task.")
4054 (description "This package provides synchronization, error propagation,
4055 and Context cancellation for groups of goroutines working on subtasks of a
4056 common task.")
4057 (home-page "https://godoc.org/golang.org/x/sync/errgroup")
4058 (license license:bsd-3))))
4059
4060 (define (go-gotest-tools-source version sha256-base32-hash)
4061 (origin
4062 (method git-fetch)
4063 (uri (git-reference
4064 (url "https://github.com/gotestyourself/gotest.tools")
4065 (commit (string-append "v" version))))
4066 (file-name (git-file-name "go-gotest-tools" version))
4067 (sha256
4068 (base32 sha256-base32-hash))))
4069
4070 ;; Note that version 3.0.0 is incompatible to 2.3.0.
4071 ;; See also <https://github.com/gotestyourself/gotest.tools/issues/166>.
4072 (define (go-gotest-tools-package suffix)
4073 (package
4074 (name (string-append "go-gotest-tools-"
4075 (string-replace-substring suffix "/" "-")))
4076 (version "2.3.0")
4077 (source
4078 (go-gotest-tools-source version
4079 "0071rjxp4xzcr3vprkaj1hdk35a3v45bx8v0ipk16wwc5hx84i2i"))
4080 (build-system go-build-system)
4081 (arguments
4082 `(#:import-path ,(string-append "gotest.tools/" suffix)
4083 #:unpack-path "gotest.tools"))
4084 (synopsis "@code{gotest-tools} part")
4085 (description "This package provides a part of @code{gotest-tools}.")
4086 (home-page "https://github.com/gotestyourself/gotest.tools")
4087 (license license:asl2.0)))
4088
4089 (define-public go-gotest-tools-internal-format
4090 (package (inherit (go-gotest-tools-package "internal/format"))
4091 (native-inputs
4092 `(("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
4093 ("go-github-com-google-go-cmp-cmp"
4094 ,go-github-com-google-go-cmp-cmp)))
4095 (synopsis "Formats messages for use with gotest-tools")
4096 (description "This package provides a way to format messages for use
4097 with gotest-tools.")))
4098
4099 (define-public go-gotest-tools-internal-difflib
4100 (package (inherit (go-gotest-tools-package "internal/difflib"))
4101 (synopsis "Differences for use with gotest-tools")
4102 (description "This package computes differences for use
4103 with gotest-tools.")))
4104
4105 (define-public go-gotest-tools-internal-source
4106 (package (inherit (go-gotest-tools-package "internal/source"))
4107 (native-inputs
4108 `(("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
4109 ("go-github-com-google-go-cmp-cmp" ,go-github-com-google-go-cmp-cmp)))
4110 (synopsis "Source code AST formatters for gotest-tools")
4111 (description "This package provides source code AST formatters for
4112 gotest-tools.")))
4113
4114 (define-public go-gotest-tools-assert
4115 (package (inherit (go-gotest-tools-package "assert"))
4116 (name "go-gotest-tools-assert")
4117 (arguments
4118 `(#:tests? #f ; Test failure concerning message formatting (FIXME)
4119 #:import-path "gotest.tools/assert"
4120 #:unpack-path "gotest.tools"))
4121 ;(propagated-inputs
4122 ; `(("go-gotest-tools-internal-format" ,go-gotest-tools-internal-format)))
4123 (native-inputs
4124 `(("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
4125 ("go-github-com-google-go-cmp-cmp"
4126 ,go-github-com-google-go-cmp-cmp)))
4127 (synopsis "Compare values and fail a test when a comparison fails")
4128 (description "This package provides a way to compare values and fail a
4129 test when a comparison fails.")
4130 (home-page "https://github.com/gotestyourself/gotest.tools")
4131 (license license:asl2.0)))
4132
4133 (define-public gotestsum
4134 (package
4135 (name "gotestsum")
4136 (version "0.4.0")
4137 (source (origin
4138 (method git-fetch)
4139 (uri (git-reference
4140 (url "https://github.com/gotestyourself/gotestsum")
4141 (commit (string-append "v" version))))
4142 (file-name (git-file-name name version))
4143 (sha256
4144 (base32
4145 "0y71qr3ss3hgc8c7nmvpwk946xy1jc5d8whsv6y77wb24ncla7n0"))))
4146 (build-system go-build-system)
4147 (arguments
4148 '(#:import-path "gotest.tools/gotestsum"))
4149 (native-inputs
4150 `(("go-github-com-fatih-color" ,go-github-com-fatih-color)
4151 ("go-golang.org-x-sync-errgroup" ,go-golang.org-x-sync-errgroup)
4152 ("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
4153 ("go-github-com-sirupsen-logrus"
4154 ,go-github-com-sirupsen-logrus)
4155 ("go-github-com-spf13-pflag" ,go-github-com-spf13-pflag)
4156 ("go-github-com-jonboulle-clockwork"
4157 ,go-github-com-jonboulle-clockwork)
4158 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
4159 ("go-gotest-tools-assert" ,go-gotest-tools-assert)
4160 ("go-github-com-google-go-cmp-cmp"
4161 ,go-github-com-google-go-cmp-cmp)
4162 ;; TODO: This would be better as a propagated-input of
4163 ;; go-gotest-tools-assert, but that does not work for
4164 ;; some reason.
4165 ("go-gotest-tools-internal-format"
4166 ,go-gotest-tools-internal-format)
4167 ("go-gotest-tools-internal-difflib"
4168 ,go-gotest-tools-internal-difflib)
4169 ("go-gotest-tools-internal-source"
4170 ,go-gotest-tools-internal-source)
4171 ("go-github-com-google-go-cmp-cmp"
4172 ,go-github-com-google-go-cmp-cmp)))
4173 (synopsis "Go test runner with output optimized for humans")
4174 (description "This package provides a @code{go test} runner with output
4175 optimized for humans, JUnit XML for CI integration, and a summary of the
4176 test results.")
4177 (home-page "https://github.com/gotestyourself/gotestsum")
4178 (license license:asl2.0)))
4179
4180 (define-public go-github-com-golang-protobuf-proto
4181 (package
4182 (name "go-github-com-golang-protobuf-proto")
4183 (version "1.3.1")
4184 (source (origin
4185 (method git-fetch)
4186 (uri (git-reference
4187 (url "https://github.com/golang/protobuf")
4188 (commit (string-append "v" version))))
4189 (file-name (git-file-name name version))
4190 (sha256
4191 (base32
4192 "15am4s4646qy6iv0g3kkqq52rzykqjhm4bf08dk0fy2r58knpsyl"))))
4193 (build-system go-build-system)
4194 (arguments
4195 '(#:import-path "github.com/golang/protobuf/proto"
4196 #:unpack-path "github.com/golang/protobuf"
4197 ;; Requires unpackaged golang.org/x/sync/errgroup
4198 #:tests? #f))
4199 (synopsis "Go support for Protocol Buffers")
4200 (description "This package provides Go support for the Protocol Buffers
4201 data serialization format.")
4202 (home-page "https://github.com/golang/protobuf")
4203 (license license:bsd-3)))
4204
4205 (define-public go-github-com-mattn-go-zglob
4206 (package
4207 (name "go-github-com-mattn-go-zglob")
4208 (version "0.0.3")
4209 (source (origin
4210 (method git-fetch)
4211 (uri (git-reference
4212 (url "https://github.com/mattn/go-zglob")
4213 (commit (string-append "v" version))))
4214 (file-name (git-file-name name version))
4215 (sha256
4216 (base32
4217 "1923lvakm66mzy62jmngdvcmbmiqclinsvnghs3907rgygnx1qc1"))))
4218 (build-system go-build-system)
4219 (arguments
4220 `(#:import-path "github.com/mattn/go-zglob"))
4221 (home-page "https://github.com/mattn/go-zglob")
4222 (synopsis "Glob library that descends into other directories")
4223 (description " A glob library that implements descending into other
4224 directories. It is optimized for filewalking. ")
4225 (license license:expat)))
4226
4227 (define-public go-github-com-willf-bitset
4228 (package
4229 (name "go-github-com-willf-bitset")
4230 (version "1.1.10")
4231 (source (origin
4232 (method git-fetch)
4233 (uri (git-reference
4234 (url "https://github.com/willf/bitset")
4235 (commit (string-append "v" version))))
4236 (file-name (git-file-name name version))
4237 (sha256
4238 (base32
4239 "0wpaxg6va3qwd0hq0b8rpb1hswvzzbfm2h8sjmcsdpbkydjjx9zg"))))
4240 (build-system go-build-system)
4241 (arguments
4242 '(#:import-path "github.com/willf/bitset"))
4243 (synopsis "Bitsets in Go")
4244 (description "This package provides a Go implementation of bitsets, which
4245 are a mapping between non-negative integers and boolean values focused on
4246 efficient space usage.")
4247 (home-page "https://github.com/willf/bitset")
4248 (license license:bsd-3)))
4249
4250 (define-public go-github-com-willf-bloom
4251 (package
4252 (name "go-github-com-willf-bloom")
4253 (version "2.0.3")
4254 (source (origin
4255 (method git-fetch)
4256 (uri (git-reference
4257 (url "https://github.com/willf/bloom")
4258 (commit (string-append "v" version))))
4259 (file-name (git-file-name name version))
4260 (sha256
4261 (base32
4262 "0ygan8pgcay7wx3cs3ja8rdqj7nly7v3and97ddcc66020jxchzg"))))
4263 (build-system go-build-system)
4264 (arguments
4265 '(#:import-path "github.com/willf/bloom"
4266 #:phases
4267 (modify-phases %standard-phases
4268 (add-after 'unpack 'patch-import-path
4269 (lambda _
4270 ;; See 'go.mod' in the source distribution of Syncthing 1.5.0 for
4271 ;; more information.
4272 ;; <https://github.com/spaolacci/murmur3/issues/29>
4273 (substitute* "src/github.com/willf/bloom/bloom.go"
4274 (("spaolacci") "twmb"))
4275 #t)))))
4276 (propagated-inputs
4277 `(("go-github-com-twmb-murmur3" ,go-github-com-twmb-murmur3)
4278 ("go-github-com-willf-bitset" ,go-github-com-willf-bitset)))
4279 (synopsis "Bloom filters in Go")
4280 (description "This package provides a Go implementation of bloom filters,
4281 based on murmurhash.")
4282 (home-page "https://github.com/willf/bloom")
4283 (license license:bsd-2)))
4284
4285 (define-public go-golang-org-rainycape-unidecode
4286 (let ((commit "cb7f23ec59bec0d61b19c56cd88cee3d0cc1870c")
4287 (revision "1"))
4288 (package
4289 (name "go-golang-org-rainycape-unidecode")
4290 (version (git-version "0.0.0" revision commit))
4291 (source (origin
4292 (method git-fetch)
4293 (uri (git-reference
4294 (url "https://github.com/rainycape/unidecode")
4295 (commit commit)))
4296 (file-name (string-append "go-golang-org-rainycape-unidecode-"
4297 version "-checkout"))
4298 (sha256
4299 (base32
4300 "1wvzdijd640blwkgmw6h09frkfa04kcpdq87n2zh2ymj1dzla5v5"))))
4301 (build-system go-build-system)
4302 (arguments
4303 `(#:import-path "golang.org/rainycape/unidecode"))
4304 (home-page "https://github.com/rainycape/unidecode")
4305 (synopsis "Unicode transliterator in Golang")
4306 (description "Unicode transliterator in Golang - Replaces non-ASCII
4307 characters with their ASCII approximations.")
4308 (license license:asl2.0))))
4309
4310 (define-public go-github-com-golang-freetype
4311 (let ((commit "e2365dfdc4a05e4b8299a783240d4a7d5a65d4e4")
4312 (revision "1"))
4313 (package
4314 (name "go-github-com-golang-freetype")
4315 (version (git-version "0.0.0" revision commit))
4316 (source (origin
4317 (method git-fetch)
4318 (uri (git-reference
4319 (url "https://github.com/golang/freetype")
4320 (commit commit)))
4321 (file-name (string-append "go-github-com-golang-freetype-"
4322 version "-checkout"))
4323 (sha256
4324 (base32
4325 "194w3djc6fv1rgcjqds085b9fq074panc5vw582bcb8dbfzsrqxc"))))
4326 (build-system go-build-system)
4327 (arguments
4328 `(#:import-path "github.com/golang/freetype"))
4329 (propagated-inputs
4330 `(("go-golang-org-x-image" ,go-golang-org-x-image)))
4331 (home-page "https://github.com/golang/freetype")
4332 (synopsis "Freetype font rasterizer in the Go programming language")
4333 (description "The Freetype font rasterizer in the Go programming language.")
4334 (license (list license:freetype
4335 license:gpl2+)))))
4336
4337 (define-public go-github-com-fogleman-gg
4338 (package
4339 (name "go-github-com-fogleman-gg")
4340 (version "1.3.0")
4341 (source (origin
4342 (method git-fetch)
4343 (uri (git-reference
4344 (url "https://github.com/fogleman/gg")
4345 (commit (string-append "v" version))))
4346 (file-name (git-file-name name version))
4347 (sha256
4348 (base32
4349 "1nkldjghbqnzj2djfaxhiv35kk341xhcrj9m2dwq65v684iqkk8n"))))
4350 (build-system go-build-system)
4351 (arguments
4352 `(#:tests? #f ; Issue with test flags.
4353 #:import-path "github.com/fogleman/gg"))
4354 (propagated-inputs
4355 `(("go-github-com-golang-freetype" ,go-github-com-golang-freetype)))
4356 (home-page "https://github.com/fogleman/gg")
4357 (synopsis "2D rendering in Go")
4358 (description "@code{gg} is a library for rendering 2D graphics in pure Go.")
4359 (license license:expat)))
4360
4361 (define-public go-github-com-gedex-inflector
4362 (let ((commit "16278e9db8130ac7ec405dc174cfb94344f16325")
4363 (revision "1"))
4364 (package
4365 (name "go-github-com-gedex-inflector")
4366 (version (git-version "0.0.0" revision commit))
4367 (source (origin
4368 (method git-fetch)
4369 (uri (git-reference
4370 (url "https://github.com/gedex/inflector")
4371 (commit commit)))
4372 (file-name (string-append "go-github-com-gedex-inflector-"
4373 version "-checkout"))
4374 (sha256
4375 (base32
4376 "05hjqw1m71vww4914d9h6nqa9jw3lgjzwsy7qaffl02s2lh1amks"))))
4377 (build-system go-build-system)
4378 (arguments
4379 `(#:import-path "github.com/gedex/inflector"))
4380 (home-page "https://github.com/gedex/inflector")
4381 (synopsis "Go library that pluralizes and singularizes English nouns")
4382 (description "Go library that pluralizes and singularizes English nouns.")
4383 (license license:bsd-2))))
4384
4385 (define-public go-github-com-klauspost-cpuid
4386 (package
4387 (name "go-github-com-klauspost-cpuid")
4388 (version "1.2.3")
4389 (source (origin
4390 (method git-fetch)
4391 (uri (git-reference
4392 (url "https://github.com/klauspost/cpuid")
4393 (commit (string-append "v" version))))
4394 (file-name (git-file-name name version))
4395 (sha256
4396 (base32
4397 "1s510210wdj5dkamii1qrk7v87k4qpdcrrjzflp5ha9iscw6b06l"))))
4398 (build-system go-build-system)
4399 (arguments
4400 `(#:import-path "github.com/klauspost/cpuid"))
4401 (home-page "https://github.com/klauspost/cpuid")
4402 (synopsis "CPU feature identification for Go")
4403 (description "@code{cpuid} provides information about the CPU running the
4404 current program. CPU features are detected on startup, and kept for fast access
4405 through the life of the application. Currently x86 / x64 (AMD64) is supported,
4406 and no external C (cgo) code is used, which should make the library very eas
4407 to use.")
4408 (license license:expat)))
4409
4410 (define-public go-github-com-pbnjay-memory
4411 (let ((commit "974d429e7ae40c89e7dcd41cfcc22a0bfbe42510")
4412 (revision "1"))
4413 (package
4414 (name "go-github-com-pbnjay-memory")
4415 (version (git-version "0.0.0" revision commit))
4416 (source (origin
4417 (method git-fetch)
4418 (uri (git-reference
4419 (url "https://github.com/pbnjay/memory")
4420 (commit commit)))
4421 (file-name (string-append "go-github-com-pbnjay-memory-"
4422 version "-checkout"))
4423 (sha256
4424 (base32
4425 "0kazg5psdn90pqadrzma5chdwh0l2by9z31sspr47gx93fhjmkkq"))))
4426 (build-system go-build-system)
4427 (arguments
4428 `(#:import-path "github.com/pbnjay/memory"))
4429 (home-page "https://github.com/gedex/inflector")
4430 (synopsis "Go library to report total system memory")
4431 (description "@code{memory} provides a single method reporting total
4432 physical system memory accessible to the kernel. It does not account for memory
4433 used by other processes.")
4434 (license license:bsd-3))))
4435
4436 (define-public go-github-com-surge-glog
4437 (let ((commit "2578deb2b95c665e6b1ebabf304ce2085c9e1985")
4438 (revision "1"))
4439 (package
4440 (name "go-github-com-surge-glog")
4441 (version (git-version "0.0.0" revision commit))
4442 (source (origin
4443 (method git-fetch)
4444 (uri (git-reference
4445 (url "https://github.com/surge/glog")
4446 (commit commit)))
4447 (file-name (string-append "go-github-com-surge-glog-"
4448 version "-checkout"))
4449 (sha256
4450 (base32
4451 "1bxcwxvsvr2hfpjz9hrrn0wrgykwmrbyk567102k3vafw9xdcwk4"))))
4452 (build-system go-build-system)
4453 (arguments
4454 `(#:import-path "github.com/surge/glog"))
4455 (home-page "https://github.com/surge/glog")
4456 (synopsis "Leveled execution logs for Go")
4457 (description "Leveled execution logs for Go.")
4458 (license license:asl2.0))))
4459
4460 (define-public go-github-com-surgebase-porter2
4461 (let ((commit "56e4718818e8dc4ea5ba6348402fc7661863732a")
4462 (revision "1"))
4463 (package
4464 (name "go-github-com-surgebase-porter2")
4465 (version (git-version "0.0.0" revision commit))
4466 (source (origin
4467 (method git-fetch)
4468 (uri (git-reference
4469 (url "https://github.com/surgebase/porter2")
4470 (commit commit)))
4471 (file-name (string-append "go-github-com-surgebase-porter2-"
4472 version "-checkout"))
4473 (sha256
4474 (base32
4475 "1ivcf83jlj9s7q5y9dfbpyl0br35cz8fcp0dm8sxxvqh54py06v2"))))
4476 (build-system go-build-system)
4477 (arguments
4478 `(#:import-path "github.com/surgebase/porter2"))
4479 (native-inputs
4480 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)
4481 ("go-github-com-surge-glog" ,go-github-com-surge-glog)))
4482 (home-page "https://github.com/surgebase/porter2")
4483 (synopsis "Go library implementing english Porter2 stemmer")
4484 (description "Porter2 implements the
4485 @url{http://snowball.tartarus.org/algorithms/english/stemmer.html, english
4486 Porter2 stemmer}. It is written completely using finite state machines to do
4487 suffix comparison, rather than the string-based or tree-based approaches.")
4488 (license license:asl2.0))))
4489
4490 (define-public go-github-com-masterminds-goutils
4491 (package
4492 (name "go-github-com-masterminds-goutils")
4493 (version "1.1.0")
4494 (source (origin
4495 (method git-fetch)
4496 (uri (git-reference
4497 (url "https://github.com/Masterminds/goutils")
4498 (commit (string-append "v" version))))
4499 (file-name (git-file-name name version))
4500 (sha256
4501 (base32
4502 "180px47gj936qyk5bkv5mbbgiil9abdjq6kwkf7sq70vyi9mcfiq"))))
4503 (build-system go-build-system)
4504 (arguments
4505 `(#:import-path "github.com/Masterminds/goutils"))
4506 (home-page "https://github.com/Masterminds/goutils/")
4507 (synopsis "Utility functions to manipulate strings")
4508 (description "GoUtils provides utility functions to manipulate strings in
4509 various ways. It is a Go implementation of some string manipulation libraries
4510 of Java Apache Commons.")
4511 (license license:asl2.0)))
4512
4513 (define-public go-github-com-masterminds-semver
4514 (package
4515 (name "go-github-com-masterminds-semver")
4516 (version "3.1.0")
4517 (source (origin
4518 (method git-fetch)
4519 (uri (git-reference
4520 (url "https://github.com/Masterminds/semver")
4521 (commit (string-append "v" version))))
4522 (file-name (git-file-name name version))
4523 (sha256
4524 (base32
4525 "1g1wizfdy29d02l9dh8gsb029yr4m4swp13swf0pnh9ryh5f1msz"))))
4526 (build-system go-build-system)
4527 (arguments
4528 `(#:import-path "github.com/Masterminds/semver"))
4529 (home-page "https://github.com/Masterminds/semver/")
4530 (synopsis "@code{semver} helps to work with semantic versions")
4531 (description "The semver package provides the ability to work with
4532 semantic versions. Specifically it provides the ability to:
4533 @itemize
4534 @item Parse semantic versions
4535 @item Sort semantic versions
4536 @item Check if a semantic version fits within a set of constraints
4537 @item Optionally work with a @code{v} prefix
4538 @end itemize\n")
4539 (license license:expat)))
4540
4541 (define-public go-github-com-huandu-xstrings
4542 (package
4543 (name "go-github-com-huandu-xstrings")
4544 (version "1.3.2")
4545 (source (origin
4546 (method git-fetch)
4547 (uri (git-reference
4548 (url "https://github.com/huandu/xstrings")
4549 (commit (string-append "v" version))))
4550 (file-name (git-file-name name version))
4551 (sha256
4552 (base32
4553 "0pwar6rc0fqb6pll38a44s81g5kb65vbg71jg5lx8caphjnikq5r"))))
4554 (build-system go-build-system)
4555 (arguments
4556 `(#:import-path "github.com/huandu/xstrings"))
4557 (home-page "https://github.com/huandu/xstrings/")
4558 (synopsis "Collection of string functions")
4559 (description "Go package xstrings is a collection of string functions,
4560 which are widely used in other languages but absent in Go package strings.")
4561 (license license:expat)))
4562
4563 (define-public go-github-com-imdario-mergo
4564 (package
4565 (name "go-github-com-imdario-mergo")
4566 (version "0.3.10")
4567 (source (origin
4568 (method git-fetch)
4569 (uri (git-reference
4570 (url "https://github.com/imdario/mergo")
4571 (commit (string-append "v" version))))
4572 (file-name (git-file-name name version))
4573 (sha256
4574 (base32
4575 "09h765p8yby9r8s0a3hv5kl8n2i382mda76wmvk48w1cc1w9s92p"))))
4576 (build-system go-build-system)
4577 (arguments
4578 `(#:import-path "github.com/imdario/mergo"))
4579 (native-inputs
4580 `(("go-gopkg-in-yaml-v2" ,go-gopkg-in-yaml-v2)))
4581 (home-page "https://github.com/imdario/mergo/")
4582 (synopsis "Helper to merge structs and maps in Golang")
4583 (description "Helper to merge structs and maps in Golang. Useful for
4584 configuration default values, avoiding messy if-statements.
4585
4586 Mergo merges same-type structs and maps by setting default values in
4587 zero-value fields. Mergo won't merge unexported (private) fields. It will do
4588 recursively any exported one. It also won't merge structs inside
4589 maps (because they are not addressable using Go reflection).")
4590 (license license:bsd-3)))
4591
4592 (define-public go-github-com-masterminds-sprig
4593 (package
4594 (name "go-github-com-masterminds-sprig")
4595 (version "3.1.0")
4596 (source (origin
4597 (method git-fetch)
4598 (uri (git-reference
4599 (url "https://github.com/Masterminds/sprig")
4600 (commit (string-append "v" version))))
4601 (file-name (git-file-name name version))
4602 (sha256
4603 (base32
4604 "0wwi8n2adjc5jlga25lqq0hrz4jcgd5vpll68y2dfji034caaq18"))))
4605 (build-system go-build-system)
4606 (arguments
4607 `(#:tests? #f ;network tests only
4608 #:import-path "github.com/Masterminds/sprig"))
4609 (native-inputs
4610 `(("go-github-com-masterminds-goutils" ,go-github-com-masterminds-goutils)
4611 ("go-github-com-masterminds-semver" ,go-github-com-masterminds-semver)
4612 ("go-github-com-google-uuid" ,go-github-com-google-uuid)
4613 ("go-github-com-huandu-xstrings" ,go-github-com-huandu-xstrings)
4614 ("go-github-com-imdario-mergo" ,go-github-com-imdario-mergo)
4615 ("go-github-com-mitchellh-reflectwalk" ,go-github-com-mitchellh-reflectwalk)
4616 ("go-github-com-mitchellh-copystructure" ,go-github-com-mitchellh-copystructure)
4617 ("go-github-com-spf13-cast" ,go-github-com-spf13-cast)
4618 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
4619 ("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
4620 (home-page "https://github.com/Masterminds/sprig/")
4621 (synopsis "Template functions for Go templates")
4622 (description "Sprig is a library that provides more than 100 commonly used
4623 template functions.")
4624 (license license:expat)))
4625
4626 (define-public go-github-com-bmatcuk-doublestar
4627 (package
4628 (name "go-github-com-bmatcuk-doublestar")
4629 (version "1.3.0")
4630 (source (origin
4631 (method git-fetch)
4632 (uri (git-reference
4633 (url "https://github.com/bmatcuk/doublestar")
4634 (commit (string-append "v" version))))
4635 (file-name (git-file-name name version))
4636 (sha256
4637 (base32
4638 "0bk5bixl6rqa8znxghyp6zndbccx9kdyrymjahgyp6qsrp7rk144"))))
4639 (build-system go-build-system)
4640 (arguments
4641 `(#:import-path "github.com/bmatcuk/doublestar"))
4642 (home-page "https://github.com/bmatcuk/doublestar/")
4643 (synopsis "Path pattern matching and globbing supporting doublestar")
4644 (description "@code{doublestar} is a Go implementation of path pattern
4645 matching and globbing with support for \"doublestar\" patterns.")
4646 (license license:expat)))
4647
4648 (define-public go-github-com-dlclark-regexp2
4649 (package
4650 (name "go-github-com-dlclark-regexp2")
4651 (version "1.2.0")
4652 (source (origin
4653 (method git-fetch)
4654 (uri (git-reference
4655 (url "https://github.com/dlclark/regexp2")
4656 (commit (string-append "v" version))))
4657 (file-name (git-file-name name version))
4658 (sha256
4659 (base32
4660 "011l1prsywvhhi0yc7qmpsca1cwavmawyyld5kjzi0ff9ghvj4ng"))))
4661 (build-system go-build-system)
4662 (arguments
4663 `(#:import-path "github.com/dlclark/regexp2"))
4664 (home-page "https://github.com/dlclark/regexp2/")
4665 (synopsis "Full featured regular expressions for Go")
4666 (description "Regexp2 is a feature-rich RegExp engine for Go.")
4667 (license license:expat)))
4668
4669 (define-public go-github-com-alecthomas-colour
4670 (package
4671 (name "go-github-com-alecthomas-colour")
4672 (version "0.1.0")
4673 (source (origin
4674 (method git-fetch)
4675 (uri (git-reference
4676 (url "https://github.com/alecthomas/colour")
4677 (commit (string-append "v" version))))
4678 (file-name (git-file-name name version))
4679 (sha256
4680 (base32
4681 "10zbm12j40ppia4b5ql2blmsps5jhh5d7ffphxx843qk7wlbqnjb"))))
4682 (build-system go-build-system)
4683 (arguments
4684 `(#:import-path "github.com/alecthomas/colour"))
4685 (native-inputs
4686 `(("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)))
4687 (home-page "https://github.com/alecthomas/colour/")
4688 (synopsis "Colour terminal text for Go")
4689 (description "Package colour provides Quake-style colour formatting for
4690 Unix terminals.
4691
4692 The package level functions can be used to write to stdout (or strings or
4693 other files). If stdout is not a terminal, colour formatting will be
4694 stripped.")
4695 (license license:expat)))
4696
4697 (define-public go-github-com-alecthomas-repr
4698 (let ((commit "4184120f674c8860a5b48142509a2411a0a1766f")
4699 (revision "1"))
4700 (package
4701 (name "go-github-com-alecthomas-repr")
4702 (version (git-version "0.0.1" revision commit))
4703 (source (origin
4704 (method git-fetch)
4705 (uri (git-reference
4706 (url "https://github.com/alecthomas/repr")
4707 (commit commit)))
4708 (file-name (git-file-name name version))
4709 (sha256
4710 (base32
4711 "1z0gdkjryxg1ps5fh4ybzip27g9lzdldz4hxqp5j7s2frbzaa9s7"))))
4712 (build-system go-build-system)
4713 (arguments
4714 `(#:import-path "github.com/alecthomas/repr"))
4715 (native-inputs
4716 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
4717 (home-page "https://github.com/alecthomas/repr/")
4718 (synopsis "Represent Go values in an almost direct form")
4719 (description "This package attempts to represent Go values in a form that
4720 can be used almost directly in Go source code.")
4721 (license license:expat))))
4722
4723 (define-public go-github-com-sergi-go-diff
4724 (package
4725 (name "go-github-com-sergi-go-diff")
4726 (version "1.1.0")
4727 (source (origin
4728 (method git-fetch)
4729 (uri (git-reference
4730 (url "https://github.com/sergi/go-diff")
4731 (commit (string-append "v" version))))
4732 (file-name (git-file-name name version))
4733 (sha256
4734 (base32
4735 "0ir8ali2vx0j7pipmlfd6k8c973akyy2nmbjrf008fm800zcp7z2"))))
4736 (build-system go-build-system)
4737 (arguments
4738 `(#:import-path "github.com/sergi/go-diff/diffmatchpatch"
4739 #:unpack-path "github.com/sergi/go-diff"))
4740 (native-inputs
4741 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
4742 (home-page "https://github.com/sergi/go-diff/")
4743 (synopsis "Algorithms to perform operations for synchronizing plain text")
4744 (description "@code{go-diff} offers algorithms to perform operations required for
4745 synchronizing plain text:
4746 @itemize
4747 @item compare two texts and return their differences
4748 @item perform fuzzy matching of text
4749 @item apply patches onto text
4750 @end itemize\n")
4751 (license license:expat)))
4752
4753 (define-public go-github-com-alecthomas-assert
4754 (let ((commit "405dbfeb8e38effee6e723317226e93fff912d06")
4755 (revision "1"))
4756 (package
4757 (name "go-github-com-alecthomas-assert")
4758 (version (git-version "0.0.1" revision commit))
4759 (source (origin
4760 (method git-fetch)
4761 (uri (git-reference
4762 (url "https://github.com/alecthomas/assert")
4763 (commit commit)))
4764 (file-name (git-file-name name version))
4765 (sha256
4766 (base32
4767 "1l567pi17k593nrd1qlbmiq8z9jy3qs60px2a16fdpzjsizwqx8l"))))
4768 (build-system go-build-system)
4769 (arguments
4770 `(#:import-path "github.com/alecthomas/assert"))
4771 (native-inputs
4772 `(("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
4773 ("go-github-com-alecthomas-colour" ,go-github-com-alecthomas-colour)
4774 ("go-github-com-alecthomas-repr" ,go-github-com-alecthomas-repr)
4775 ("go-github-com-sergi-go-diff" ,go-github-com-sergi-go-diff)))
4776 (home-page "https://github.com/alecthomas/assert/")
4777 (synopsis "Go assertion library")
4778 (description "Assertion library that:
4779 @itemize
4780 @item makes spotting differences in equality much easier
4781 @item uses repr and diffmatchpatch to display structural differences in colour
4782 @item aborts tests on first assertion failure
4783 @end itemize\n")
4784 (license license:expat))))
4785
4786 (define-public go-github-com-alecthomas-chroma
4787 (package
4788 (name "go-github-com-alecthomas-chroma")
4789 (version "0.8.0")
4790 (source (origin
4791 (method git-fetch)
4792 (uri (git-reference
4793 (url "https://github.com/alecthomas/chroma")
4794 (commit (string-append "v" version))))
4795 (file-name (git-file-name name version))
4796 (sha256
4797 (base32
4798 "066a6rdmf670d3v5sc7chbn7db09ldgxjympb03pcqwk644dixb1"))))
4799 (build-system go-build-system)
4800 (arguments
4801 `(#:import-path "github.com/alecthomas/chroma"))
4802 (native-inputs
4803 `(("go-github-com-dlclark-regexp2" ,go-github-com-dlclark-regexp2)
4804 ("go-github-com-alecthomas-assert" ,go-github-com-alecthomas-assert)
4805 ("go-github-com-alecthomas-colour" ,go-github-com-alecthomas-colour)
4806 ("go-github-com-alecthomas-repr" ,go-github-com-alecthomas-repr)
4807 ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
4808 ("go-github-com-sergi-go-diff" ,go-github-com-sergi-go-diff)))
4809 (home-page "https://github.com/alecthomas/chroma/")
4810 (synopsis "General purpose syntax highlighter in pure Go")
4811 (description "Chroma takes source code and other structured text and
4812 converts it into syntax highlighted HTML, ANSI-coloured text, etc.")
4813 (license license:expat)))
4814
4815 (define-public go-github-com-andybalholm-cascadia
4816 (package
4817 (name "go-github-com-andybalholm-cascadia")
4818 (version "1.0.0")
4819 (source (origin
4820 (method git-fetch)
4821 (uri (git-reference
4822 (url "https://github.com/andybalholm/cascadia")
4823 (commit (string-append "v" version))))
4824 (file-name (git-file-name name version))
4825 (sha256
4826 (base32
4827 "09j8cavbhqqdxjqrkwbc40g8p0i49zf3184rpjm5p2rjbprcghcc"))))
4828 (build-system go-build-system)
4829 (arguments
4830 `(#:import-path "github.com/andybalholm/cascadia"))
4831 (native-inputs
4832 `(("go-golang-org-x-net" ,go-golang-org-x-net)))
4833 (home-page "https://github.com/andybalholm/cascadia/")
4834 (synopsis "CSS selectors for HTML")
4835 (description "The Cascadia package implements CSS selectors for use with
4836 the parse trees produced by the html package.")
4837 (license license:bsd-2)))
4838
4839 (define-public go-github-com-puerkitobio-goquery
4840 (package
4841 (name "go-github-com-puerkitobio-goquery")
4842 (version "1.5.1")
4843 (source (origin
4844 (method git-fetch)
4845 (uri (git-reference
4846 (url "https://github.com/PuerkitoBio/goquery")
4847 (commit (string-append "v" version))))
4848 (file-name (git-file-name name version))
4849 (sha256
4850 (base32
4851 "08nf88cg663slzqr51k2jxlm1krnh86nrzwbk6v41ccq5jkfm7fx"))))
4852 (build-system go-build-system)
4853 (arguments
4854 `(#:import-path "github.com/PuerkitoBio/goquery"))
4855 (native-inputs
4856 `(("go-github-com-andybalholm-cascadia" ,go-github-com-andybalholm-cascadia)
4857 ("go-golang-org-x-net" ,go-golang-org-x-net)))
4858 (home-page "https://github.com/PuerkitoBio/goquery")
4859 (synopsis "Features similar to jQuery to the Go language")
4860 (description "@code{goquery} brings a syntax and a set of features similar
4861 to jQuery to the Go language.")
4862 (license license:bsd-3)))
4863
4864 (define-public go-github-com-aymerick-douceur
4865 (package
4866 (name "go-github-com-aymerick-douceur")
4867 (version "0.2.0")
4868 (source (origin
4869 (method git-fetch)
4870 (uri (git-reference
4871 (url "https://github.com/aymerick/douceur/")
4872 (commit (string-append "v" version))))
4873 (file-name (git-file-name name version))
4874 (sha256
4875 (base32
4876 "1hfysznib0fqbp8vqxpk0xiggpp0ayk2bsddi36vbg6f8zq5f81n"))))
4877 (build-system go-build-system)
4878 (arguments
4879 `(#:import-path "github.com/aymerick/douceur"))
4880 (native-inputs
4881 `(("go-github-com-puerkitobio-goquery" ,go-github-com-puerkitobio-goquery)
4882 ("go-github-com-andybalholm-cascadia" ,go-github-com-andybalholm-cascadia)
4883 ("go-golang-org-x-net" ,go-golang-org-x-net)
4884 ("go-github-com-gorilla-css" ,go-github-com-gorilla-css)))
4885 (home-page "https://github.com/aymerick/douceur/")
4886 (synopsis "CSS parser and inliner")
4887 (description "This package provides a CSS parser and inliner.")
4888 (license license:expat)))
4889
4890 (define-public go-github-com-chris-ramon-douceur
4891 (package
4892 (name "go-github-com-chris-ramon-douceur")
4893 (version "0.2.0")
4894 (source (origin
4895 (method git-fetch)
4896 (uri (git-reference
4897 (url "https://github.com/chris-ramon/douceur")
4898 (commit (string-append "v" version))))
4899 (file-name (git-file-name name version))
4900 (sha256
4901 (base32
4902 "1hfysznib0fqbp8vqxpk0xiggpp0ayk2bsddi36vbg6f8zq5f81n"))))
4903 (build-system go-build-system)
4904 (arguments
4905 `(#:import-path "github.com/chris-ramon/douceur"))
4906 (native-inputs
4907 `(("go-github-com-aymerick-douceur" ,go-github-com-aymerick-douceur)
4908 ("go-github-com-puerkitobio-goquery" ,go-github-com-puerkitobio-goquery)
4909 ("go-github-com-andybalholm-cascadia" ,go-github-com-andybalholm-cascadia)
4910 ("go-golang-org-x-net" ,go-golang-org-x-net)
4911 ("go-github-com-gorilla-css" ,go-github-com-gorilla-css)))
4912 (home-page "https://github.com/chris-ramon/douceur/")
4913 (synopsis "CSS parser and inliner")
4914 (description "This package provides a CSS parser and inliner.")
4915 (license license:expat)))
4916
4917 (define-public go-github-com-microcosm-cc-bluemonday
4918 (package
4919 (name "go-github-com-microcosm-cc-bluemonday")
4920 (version "1.0.3")
4921 (source (origin
4922 (method git-fetch)
4923 (uri (git-reference
4924 (url "https://github.com/microcosm-cc/bluemonday")
4925 (commit (string-append "v" version))))
4926 (file-name (git-file-name name version))
4927 (sha256
4928 (base32
4929 "071ph097c1iwbcc33x6kblj9rxb1r4mp3qfkrj4qw5mg7qcqxydk"))))
4930 (build-system go-build-system)
4931 (arguments
4932 `(#:import-path "github.com/microcosm-cc/bluemonday"))
4933 (native-inputs
4934 `(("go-github-com-chris-ramon-douceur" ,go-github-com-chris-ramon-douceur)
4935 ("go-github-com-aymerick-douceur" ,go-github-com-aymerick-douceur)
4936 ("go-github-com-gorilla-css" ,go-github-com-gorilla-css)
4937 ("go-golang-org-x-net" ,go-golang-org-x-net)))
4938 (home-page "https://github.com/microcosm-cc/bluemonday/")
4939 (synopsis "HTML sanitizer")
4940 (description "@code{bluemonday} is a HTML sanitizer implemented in Go.")
4941 (license license:bsd-3)))
4942
4943 (define-public go-github-com-muesli-reflow-wordwrap
4944 (package
4945 (name "go-github-com-muesli-reflow-wordwrap")
4946 (version "0.1.0")
4947 (source (origin
4948 (method git-fetch)
4949 (uri (git-reference
4950 (url "https://github.com/muesli/reflow")
4951 (commit (string-append "v" version))))
4952 (file-name (git-file-name "go-github-com-muesli-reflow" version))
4953 (sha256
4954 (base32
4955 "1vhynm2n1az13fn03lp0gi28p9mznq1mblglh8f2rb9y1vkd2dqr"))))
4956 (build-system go-build-system)
4957 (arguments
4958 `(#:import-path "github.com/muesli/reflow/wordwrap"
4959 #:unpack-path "github.com/muesli/reflow"))
4960 (native-inputs
4961 `(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)))
4962 (home-page "https://github.com/muesli/reflow/")
4963 (synopsis "Collection of methods helping to transform blocks of text")
4964 (description "This package provides a collection of ANSI-aware methods and
4965 io.Writers helping you to transform blocks of text.")
4966 (license license:expat)))
4967
4968 (define-public go-github-com-muesli-reflow-ansi
4969 (package
4970 (inherit go-github-com-muesli-reflow-wordwrap)
4971 (name "go-github-com-muesli-reflow-ansi")
4972 (arguments
4973 `(#:import-path "github.com/muesli/reflow/ansi"
4974 #:unpack-path "github.com/muesli/reflow"))))
4975
4976 (define-public go-github-com-muesli-reflow-indent
4977 (package
4978 (inherit go-github-com-muesli-reflow-wordwrap)
4979 (name "go-github-com-muesli-reflow-indent")
4980 (arguments
4981 `(#:import-path "github.com/muesli/reflow/indent"
4982 #:unpack-path "github.com/muesli/reflow"))))
4983
4984 (define-public go-github-com-muesli-reflow-padding
4985 (package
4986 (inherit go-github-com-muesli-reflow-wordwrap)
4987 (name "go-github-com-muesli-reflow-padding")
4988 (arguments
4989 `(#:import-path "github.com/muesli/reflow/padding"
4990 #:unpack-path "github.com/muesli/reflow"))))
4991
4992 (define-public go-github-com-muesli-termenv
4993 (package
4994 (name "go-github-com-muesli-termenv")
4995 (version "0.7.0")
4996 (source (origin
4997 (method git-fetch)
4998 (uri (git-reference
4999 (url "https://github.com/muesli/termenv")
5000 (commit (string-append "v" version))))
5001 (file-name (git-file-name name version))
5002 (sha256
5003 (base32
5004 "09fwrdhy7c9qlf70h97f5inh6xvkfq1vi8fwx9q7bwmjjbiykk8m"))))
5005 (build-system go-build-system)
5006 (arguments
5007 `(#:import-path "github.com/muesli/termenv"))
5008 (native-inputs
5009 `(("go-github-com-google-goterm" ,go-github-com-google-goterm)
5010 ("go-golang-org-colorful" ,go-golang-org-colorful)
5011 ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
5012 ("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)))
5013 (home-page "https://github.com/muesli/termenv/")
5014 (synopsis "Advanced styling options on the terminal")
5015 (description "termenv lets you safely use advanced styling options on the
5016 terminal. It gathers information about the terminal environment in terms of
5017 its ANSI and color support and offers you convenient methods to colorize and
5018 style your output, without you having to deal with all kinds of weird ANSI
5019 escape sequences and color conversions.")
5020 (license license:expat)))
5021
5022 (define-public go-github-com-olekukonko-tablewriter
5023 (package
5024 (name "go-github-com-olekukonko-tablewriter")
5025 (version "0.0.4")
5026 (source (origin
5027 (method git-fetch)
5028 (uri (git-reference
5029 (url "https://github.com/olekukonko/tablewriter")
5030 (commit (string-append "v" version))))
5031 (file-name (git-file-name name version))
5032 (sha256
5033 (base32
5034 "02r0n2b9yh3x8xyf48k17dxlwj234hlgjycylbjxi6qg08hfmz2x"))))
5035 (build-system go-build-system)
5036 (arguments
5037 `(#:import-path "github.com/olekukonko/tablewriter"))
5038 (native-inputs
5039 `(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)))
5040 (home-page "https://github.com/olekukonko/tablewriter/")
5041 (synopsis "Generate ASCII table")
5042 (description "This package allows to generate ASCII table. Features:
5043 @itemize
5044 @item automatic Padding
5045 @item support Multiple Lines
5046 @item supports Alignment
5047 @item support Custom Separators
5048 @item automatic Alignment of numbers and percentage
5049 @item write directly to http , file etc via @code{io.Writer}
5050 @item read directly from CSV file
5051 @item optional row line via @code{SetRowLine}
5052 @item normalise table header
5053 @item make CSV Headers optional
5054 @item enable or disable table border
5055 @item set custom footer support
5056 @item optional identical cells merging
5057 @item set custom caption
5058 @item optional reflowing of paragrpahs in multi-line cells
5059 @end itemize\n")
5060 (license license:expat)))
5061
5062 (define-public go-github-com-yuin-goldmark
5063 (package
5064 (name "go-github-com-yuin-goldmark")
5065 (version "1.2.1")
5066 (source (origin
5067 (method git-fetch)
5068 (uri (git-reference
5069 (url "https://github.com/yuin/goldmark")
5070 (commit (string-append "v" version))))
5071 (file-name (git-file-name name version))
5072 (sha256
5073 (base32
5074 "12rsnsf65drcp0jfw2jl9w589vsn3pxdk1zh3v9q908iigngrcmy"))))
5075 (build-system go-build-system)
5076 (arguments
5077 `(#:import-path "github.com/yuin/goldmark"))
5078 (home-page "https://github.com/yuin/goldmark/")
5079 (synopsis "Markdown parser")
5080 (description "This package provides a markdown parser.")
5081 (license license:expat)))
5082
5083 (define-public go-github-com-charmbracelet-glamour
5084 (package
5085 (name "go-github-com-charmbracelet-glamour")
5086 (version "0.2.0")
5087 (source (origin
5088 (method git-fetch)
5089 (uri (git-reference
5090 (url "https://github.com/charmbracelet/glamour")
5091 (commit (string-append "v" version))))
5092 (file-name (git-file-name name version))
5093 (sha256
5094 (base32
5095 "1idq8d13rp1hx2a1xak31fwl9fmi09p2x4ymvzl7aj850saw5w0z"))))
5096 (build-system go-build-system)
5097 (arguments
5098 `(#:import-path "github.com/charmbracelet/glamour"))
5099 (native-inputs
5100 `(("go-github-com-alecthomas-chroma" ,go-github-com-alecthomas-chroma)
5101 ("go-github-com-danwakefield-fnmatch" ,go-github-com-danwakefield-fnmatch)
5102 ("go-github-com-dlclark-regexp2" ,go-github-com-dlclark-regexp2)
5103 ("go-github-com-microcosm-cc-bluemonday" ,go-github-com-microcosm-cc-bluemonday)
5104 ("go-github-com-chris-ramon-douceur" ,go-github-com-chris-ramon-douceur)
5105 ("go-github-com-aymerick-douceur" ,go-github-com-aymerick-douceur)
5106 ("go-github-com-gorilla-css" ,go-github-com-gorilla-css)
5107 ("go-github-com-muesli-reflow-ansi" ,go-github-com-muesli-reflow-ansi)
5108 ("go-github-com-muesli-reflow-wordwrap" ,go-github-com-muesli-reflow-wordwrap)
5109 ("go-github-com-muesli-reflow-indent" ,go-github-com-muesli-reflow-indent)
5110 ("go-github-com-muesli-reflow-padding" ,go-github-com-muesli-reflow-padding)
5111 ("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
5112 ("go-github-com-muesli-termenv" ,go-github-com-muesli-termenv)
5113 ("go-github-com-google-goterm" ,go-github-com-google-goterm)
5114 ("go-golang-org-colorful" ,go-golang-org-colorful)
5115 ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
5116 ("go-github-com-olekukonko-tablewriter" ,go-github-com-olekukonko-tablewriter)
5117 ("go-github-com-yuin-goldmark" ,go-github-com-yuin-goldmark)
5118 ("go-golang-org-x-net" ,go-golang-org-x-net)))
5119 (home-page "https://github.com/charmbracelet/glamour/")
5120 (synopsis "Write handsome command-line tools with glamour")
5121 (description "@code{glamour} lets you render markdown documents and
5122 templates on ANSI compatible terminals. You can create your own stylesheet or
5123 use one of our glamourous default themes.")
5124 (license license:expat)))
5125
5126 (define-public go-github-com-coreos-go-semver
5127 (package
5128 (name "go-github-com-coreos-go-semver")
5129 (version "0.3.0")
5130 (source (origin
5131 (method git-fetch)
5132 (uri (git-reference
5133 (url "https://github.com/coreos/go-semver")
5134 (commit (string-append "v" version))))
5135 (file-name (git-file-name name version))
5136 (sha256
5137 (base32
5138 "0770h1mpig2j5sbiha3abnwaw8p6dg9i87r8pc7cf6m4kwml3sc9"))))
5139 (build-system go-build-system)
5140 (arguments
5141 `(#:import-path "github.com/coreos/go-semver"))
5142 (home-page "https://github.com/coreos/go-semver/")
5143 (synopsis "Semantic versioning library")
5144 (description "@code{go-semver} is a semantic versioning library for Go.
5145 It lets you parse and compare two semantic version strings.")
5146 (license license:asl2.0)))
5147
5148 (define-public go-github-com-emirpasic-gods
5149 (package
5150 (name "go-github-com-emirpasic-gods")
5151 (version "1.12.0")
5152 (source (origin
5153 (method git-fetch)
5154 (uri (git-reference
5155 (url "https://github.com/emirpasic/gods")
5156 (commit (string-append "v" version))))
5157 (file-name (git-file-name name version))
5158 (sha256
5159 (base32
5160 "0i5qqq7ajvw3mikr95zl9rsnfsjanzwpqqs6kzzplsfgsifybar1"))))
5161 (build-system go-build-system)
5162 (arguments
5163 `(#:import-path "github.com/emirpasic/gods"
5164 ; Source-only package
5165 #:tests? #f
5166 #:phases
5167 (modify-phases %standard-phases
5168 (delete 'build))))
5169 (home-page "https://github.com/emirpasic/gods/")
5170 (synopsis "Implementation of various data structures and algorithms in Go")
5171 (description "This package provides implementation of various data
5172 structures and algorithms in Go.")
5173 (license license:bsd-2)))
5174
5175 (define-public go-gopkg-in-warnings
5176 (package
5177 (name "go-gopkg-in-warnings")
5178 (version "0.1.2")
5179 (source (origin
5180 (method git-fetch)
5181 (uri (git-reference
5182 (url "https://github.com/go-warnings/warnings")
5183 (commit (string-append "v" version))))
5184 (file-name (git-file-name name version))
5185 (sha256
5186 (base32
5187 "1kzj50jn708cingn7a13c2wdlzs6qv89dr2h4zj8d09647vlnd81"))))
5188 (build-system go-build-system)
5189 (arguments
5190 `(#:import-path "gopkg.in/warnings.v0"))
5191 (home-page "https://gopkg.in/warnings.v0")
5192 (synopsis "Error handling with non-fatal errors")
5193 (description "Package warnings implements error handling with non-fatal
5194 errors (warnings).")
5195 (license license:bsd-2)))
5196
5197 (define-public go-github-com-go-git-gcfg
5198 (package
5199 (name "go-github-com-go-git-gcfg")
5200 (version "1.5.0")
5201 (source (origin
5202 (method git-fetch)
5203 (uri (git-reference
5204 (url "https://github.com/go-git/gcfg")
5205 (commit (string-append "v" version))))
5206 (file-name (git-file-name name version))
5207 (sha256
5208 (base32
5209 "1lb14z4j35pwz2b2rbykkpsq515spwbndb00gwn2xlrzn949xb83"))))
5210 (arguments
5211 `(#:import-path "github.com/go-git/gcfg"))
5212 (native-inputs
5213 `(("go-gopkg-in-warnings" ,go-gopkg-in-warnings)
5214 ("go-github-com-pkg-errors" ,go-github-com-pkg-errors)))
5215 (build-system go-build-system)
5216 (home-page "https://github.com/go-git/gcfg/")
5217 (synopsis "Gcfg reads INI-style configuration files into Go structs")
5218 (description "Gcfg reads INI-style configuration files into Go structs.")
5219 (license license:bsd-3)))
5220
5221 (define-public go-github-com-go-git-go-billy
5222 (package
5223 (name "go-github-com-go-git-go-billy")
5224 (version "5.0.0")
5225 (source (origin
5226 (method git-fetch)
5227 (uri (git-reference
5228 (url "https://github.com/go-git/go-billy")
5229 (commit (string-append "v" version))))
5230 (file-name (git-file-name name version))
5231 (sha256
5232 (base32
5233 "1wdzczfk1n50dl2zpgf46m69b0sm8qkan5xyv82pk9x53zm1dmdx"))))
5234 (build-system go-build-system)
5235 (arguments
5236 `(#:import-path "github.com/go-git/go-billy/v5"))
5237 (native-inputs
5238 `(("go-gopkg-in-check-v1" ,go-gopkg-in-check-v1)))
5239 (home-page "https://github.com/go-git/go-billy/")
5240 (synopsis "Filesystem abstraction for Go")
5241 (description "Billy implements an interface based on the os standard
5242 library, allowing to develop applications without dependency on the underlying
5243 storage. Makes it virtually free to implement mocks and testing over
5244 filesystem operations.")
5245 (license license:asl2.0)))
5246
5247 (define-public go-github-com-jbenet-go-context
5248 (let ((commit "d14ea06fba99483203c19d92cfcd13ebe73135f4")
5249 (revision "1"))
5250 (package
5251 (name "go-github-com-jbenet-go-context")
5252 (version (git-version "0.0.1" revision commit))
5253 (source (origin
5254 (method git-fetch)
5255 (uri (git-reference
5256 (url "https://github.com/jbenet/go-context")
5257 (commit commit)))
5258 (file-name (git-file-name name version))
5259 (sha256
5260 (base32
5261 "0q91f5549n81w3z5927n4a1mdh220bdmgl42zi3h992dcc4ls0sl"))))
5262 (build-system go-build-system)
5263 (arguments
5264 `(#:import-path "github.com/jbenet/go-context"
5265 ; Source-only package
5266 #:tests? #f
5267 #:phases
5268 (modify-phases %standard-phases
5269 (delete 'build))))
5270 (home-page "https://github.com/jbenet/go-context/")
5271 (synopsis "@code{jbenet's} context extensions")
5272 (description "This package provides @code{jbenet's} context
5273 extensions.")
5274 (license license:expat))))
5275
5276 (define-public go-github-com-kevinburke-ssh-config
5277 (package
5278 (name "go-github-com-kevinburke-ssh-config")
5279 (version "1.0")
5280 (source (origin
5281 (method git-fetch)
5282 (uri (git-reference
5283 (url "https://github.com/kevinburke/ssh_config")
5284 (commit version)))
5285 (file-name (git-file-name name version))
5286 (sha256
5287 (base32
5288 "05jvz5r58a057zxvic9dyr9v2wilha8l6366npwkqgxmnmk9sh5f"))))
5289 (arguments
5290 `(#:import-path "github.com/kevinburke/ssh_config"))
5291 (build-system go-build-system)
5292 (home-page "https://github.com/kevinburke/ssh_config/")
5293 (synopsis "Parser for @file{ssh_config} files")
5294 (description "This is a Go parser for @file{ssh_config} files.
5295 Importantly, this parser attempts to preserve comments in a given file, so you
5296 can manipulate a @file{ssh_config} file from a program.")
5297 (license license:expat)))
5298
5299 (define-public go-github-com-xanzy-ssh-agent
5300 (package
5301 (name "go-github-com-xanzy-ssh-agent")
5302 (version "0.2.1")
5303 (source (origin
5304 (method git-fetch)
5305 (uri (git-reference
5306 (url "https://github.com/xanzy/ssh-agent")
5307 (commit (string-append "v" version))))
5308 (file-name (git-file-name name version))
5309 (sha256
5310 (base32
5311 "1chjlnv5d6svpymxgsr62d992m2xi6jb5lybjc5zn1h3hv1m01av"))))
5312 (build-system go-build-system)
5313 (arguments
5314 `(#:import-path "github.com/xanzy/ssh-agent"))
5315 (native-inputs
5316 `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
5317 (home-page "https://github.com/xanzy/ssh-agent/")
5318 (synopsis "Control ssh-agent from Go")
5319 (description "Package agent implements the ssh-agent protocol, and
5320 provides both a client and a server. The client can talk to a standard
5321 ssh-agent that uses UNIX sockets, and one could implement an alternative
5322 ssh-agent process using the sample server. ")
5323 (license license:asl2.0)))
5324
5325 (define-public go-github-com-alcortesm-tgz
5326 (let ((commit "9c5fe88206d7765837fed3732a42ef88fc51f1a1")
5327 (revision "1"))
5328 (package
5329 (name "go-github-com-alcortesm-tgz")
5330 (version (git-version "0.0.1" revision commit))
5331 (source (origin
5332 (method git-fetch)
5333 (uri (git-reference
5334 (url "https://github.com/alcortesm/tgz")
5335 (commit commit)))
5336 (file-name (git-file-name name version))
5337 (sha256
5338 (base32
5339 "04dcwnz2c2i4wbq2vx3g2wrdgqpncr2r1h6p1k08rdwk4bq1h8c5"))
5340 (modules '((guix build utils)))
5341 (snippet
5342 '(begin
5343 (substitute* "tgz_test.go"
5344 ;; Fix format error
5345 (("t.Fatalf\\(\"%s: unexpected error extracting: %s\", err\\)")
5346 "t.Fatalf(\"%s: unexpected error extracting: %s\", com, err)"))
5347 #t))))
5348 (build-system go-build-system)
5349 (arguments
5350 `(#:import-path "github.com/alcortesm/tgz"
5351 #:phases
5352 (modify-phases %standard-phases
5353 (add-after 'unpack 'make-git-checkout-writable
5354 (lambda* (#:key outputs #:allow-other-keys)
5355 (for-each make-file-writable (find-files "."))
5356 (for-each make-file-writable (find-files (assoc-ref outputs "out")))
5357 #t)))))
5358 (home-page "https://github.com/alcortesm/tgz/")
5359 (synopsis "Go library to extract tgz files to temporal directories")
5360 (description "This package provides a Go library to extract tgz files to
5361 temporal directories.")
5362 (license license:expat))))
5363
5364 (define-public go-github-com-go-git-go-git-fixtures
5365 (package
5366 (name "go-github-com-go-git-go-git-fixtures")
5367 (version "4.0.1")
5368 (source (origin
5369 (method git-fetch)
5370 (uri (git-reference
5371 (url "https://github.com/go-git/go-git-fixtures")
5372 (commit (string-append "v" version))))
5373 (file-name (git-file-name name version))
5374 (sha256
5375 (base32
5376 "002yb1s2mxq2xijkl39ip1iyc3l52k23ikyi9ijfl4bgqxy79ljg"))))
5377 (build-system go-build-system)
5378 (arguments
5379 `(#:import-path "github.com/go-git/go-git-fixtures/v4"
5380 #:phases
5381 (modify-phases %standard-phases
5382 (delete 'reset-gzip-timestamps))))
5383 (native-inputs
5384 `(("go-github-com-alcortesm-tgz" ,go-github-com-alcortesm-tgz)
5385 ("go-github-com-go-git-go-billy" ,go-github-com-go-git-go-billy)
5386 ("go-golang-org-x-sys" ,go-golang-org-x-sys)
5387 ("go-gopkg-in-check-v1" ,go-gopkg-in-check-v1)))
5388 (home-page "https://github.com/go-git/go-git-fixtures/")
5389 (synopsis "Fixtures used by @code{go-git}")
5390 (description "This package provides fixtures used by @code{go-git}.")
5391 (license license:asl2.0)))
5392
5393 (define-public go-github-com-pkg-diff
5394 (let ((commit "531926345625d489a6b56f860a569e68245ace36")
5395 (revision "1"))
5396 (package
5397 (name "go-github-com-pkg-diff")
5398 (version (git-version "0.0.1" revision commit))
5399 (source (origin
5400 (method git-fetch)
5401 (uri (git-reference
5402 (url "https://github.com/pkg/diff")
5403 (commit commit)))
5404 (file-name (git-file-name name version))
5405 (sha256
5406 (base32
5407 "1770m7qhww6lm0wj1v3mhv6hwa2v92p4w2fqxj1xyrg5dd58d944"))))
5408 (build-system go-build-system)
5409 (arguments
5410 `(#:import-path "github.com/pkg/diff"))
5411 (native-inputs
5412 `(("go-github-com-sergi-go-diff" ,go-github-com-sergi-go-diff)))
5413 (home-page "https://github.com/pkg/diff/")
5414 (synopsis "Create and print diffs")
5415 (description
5416 "This package provides a Go library to create and print diffs.")
5417 (license license:bsd-3))))
5418
5419 (define-public go-github-com-twpayne-go-shell
5420 (package
5421 (name "go-github-com-twpayne-go-shell")
5422 (version "0.3.0")
5423 (source (origin
5424 (method git-fetch)
5425 (uri (git-reference
5426 (url "https://github.com/twpayne/go-shell")
5427 (commit (string-append "v" version))))
5428 (file-name (git-file-name name version))
5429 (sha256
5430 (base32
5431 "1hv0ggy3935iddjnmpp9vl0kqjknxpnbmm9w7xr3gds7fpbxz6yp"))))
5432 (build-system go-build-system)
5433 (arguments
5434 `(#:import-path "github.com/twpayne/go-shell"))
5435 (home-page "https://github.com/twpayne/go-shell/")
5436 (synopsis "Shell across multiple platforms")
5437 (description
5438 "Package @code{shell} returns a user's shell across multiple platforms.")
5439 (license license:expat)))
5440
5441 (define-public go-github-com-twpayne-go-vfs
5442 (package
5443 (name "go-github-com-twpayne-go-vfs")
5444 (version "1.5.0")
5445 (source (origin
5446 (method git-fetch)
5447 (uri (git-reference
5448 (url "https://github.com/twpayne/go-vfs")
5449 (commit (string-append "v" version))))
5450 (file-name (git-file-name name version))
5451 (sha256
5452 (base32
5453 "19dm3gi45znwaqbzxhwcgkiz8059bwa3ank80hc6qhdl579bpjnz"))))
5454 (build-system go-build-system)
5455 (arguments
5456 `(#:import-path "github.com/twpayne/go-vfs"))
5457 (native-inputs
5458 `(("go-github-com-bmatcuk-doublestar" ,go-github-com-bmatcuk-doublestar)))
5459 (home-page "https://github.com/twpayne/go-vfs/")
5460 (synopsis "Abstraction of the @code{os} and @code{ioutil} Go packages")
5461 (description "Package @code{vfs} provides an abstraction of the @code{os}
5462 and @code{ioutil} packages that is easy to test.")
5463 (license license:expat)))
5464
5465 (define-public go-github-com-twpayne-go-vfsafero
5466 (package
5467 (name "go-github-com-twpayne-go-vfsafero")
5468 (version "1.0.0")
5469 (source (origin
5470 (method git-fetch)
5471 (uri (git-reference
5472 (url "https://github.com/twpayne/go-vfsafero")
5473 (commit (string-append "v" version))))
5474 (file-name (git-file-name name version))
5475 (sha256
5476 (base32
5477 "18jwxhlrjd06z8xzg9ij0irl4f79jfy5jpwiz6xqlhzb1fja19pw"))))
5478 (build-system go-build-system)
5479 (arguments
5480 `(#:import-path "github.com/twpayne/go-vfsafero"))
5481 (native-inputs
5482 `(("go-github-com-twpayne-go-vfs" ,go-github-com-twpayne-go-vfs)
5483 ("go-github-com-spf13-afero" ,go-github-com-spf13-afero)))
5484 (home-page "https://github.com/twpayne/go-vfsafero/")
5485 (synopsis "Compatibility later between @code{go-vfs} and @code{afero}")
5486 (description
5487 "Package @code{vfsafero} provides a compatibility later between
5488 @code{go-github-com-twpayne-go-vfs} and @code{go-github-com-spf13-afero}.")
5489 (license license:expat)))
5490
5491 (define-public go-github-com-twpayne-go-xdg
5492 (package
5493 (name "go-github-com-twpayne-go-xdg")
5494 (version "3.1.0")
5495 (source (origin
5496 (method git-fetch)
5497 (uri (git-reference
5498 (url "https://github.com/twpayne/go-xdg")
5499 (commit (string-append "v" version))))
5500 (file-name (git-file-name name version))
5501 (sha256
5502 (base32
5503 "0j8q7yzixs6jlaad0lpa8hs6b240gm2cmy0yxgnprrbpa0y2r7ln"))))
5504 (build-system go-build-system)
5505 (arguments
5506 `(#:import-path "github.com/twpayne/go-xdg/v3"))
5507 (native-inputs
5508 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)
5509 ("go-github-com-twpayne-go-vfs" ,go-github-com-twpayne-go-vfs)))
5510 (home-page "https://github.com/twpayne/go-xdg/")
5511 (synopsis "Functions related to freedesktop.org")
5512 (description "Package @code{xdg} provides functions related to
5513 @uref{freedesktop.org}.")
5514 (license license:expat)))
5515
5516 (define-public go-github-com-godbus-dbus
5517 (package
5518 (name "go-github-com-godbus-dbus")
5519 (version "5.0.3")
5520 (source (origin
5521 (method git-fetch)
5522 (uri (git-reference
5523 (url "https://github.com/godbus/dbus")
5524 (commit (string-append "v" version))))
5525 (file-name (git-file-name name version))
5526 (sha256
5527 (base32
5528 "1bkc904073k807yxg6mvqaxrr6ammmhginr9p54jfb55mz3hfw3s"))))
5529 (build-system go-build-system)
5530 (arguments
5531 `(#:tests? #f ;no /var/run/dbus/system_bus_socket
5532 #:import-path "github.com/godbus/dbus"))
5533 (native-inputs
5534 `(("dbus" ,dbus))) ;dbus-launch
5535 (home-page "https://github.com/godbus/dbus/")
5536 (synopsis "Native Go client bindings for the D-Bus")
5537 (description "@code{dbus} is a library that implements native Go client
5538 bindings for the D-Bus message bus system.")
5539 (license license:bsd-2)))
5540
5541 (define-public go-github-com-zalando-go-keyring
5542 (package
5543 (name "go-github-com-zalando-go-keyring")
5544 (version "0.1.0")
5545 (source (origin
5546 (method git-fetch)
5547 (uri (git-reference
5548 (url "https://github.com/zalando/go-keyring")
5549 (commit (string-append "v" version))))
5550 (file-name (git-file-name name version))
5551 (sha256
5552 (base32
5553 "0kj54nkiyccy6m9iy9a53f6412a54xk96j88jaiq35yzdgfa4z3p"))))
5554 (build-system go-build-system)
5555 (arguments
5556 `(#:tests? #f ;XXX: Fix dbus tests
5557 #:import-path "github.com/zalando/go-keyring"))
5558 (native-inputs
5559 `(("go-github-com-godbus-dbus" ,go-github-com-godbus-dbus)
5560 ("dbus" ,dbus)))
5561 (home-page "https://github.com/zalando/go-keyring/")
5562 (synopsis "Library for working with system keyring")
5563 (description "@code{go-keyring} is a library for setting, getting and
5564 deleting secrets from the system keyring.")
5565 (license license:expat)))
5566
5567 (define-public go-etcd-io-bbolt
5568 (package
5569 (name "go-etcd-io-bbolt")
5570 (version "1.3.5")
5571 (source (origin
5572 (method git-fetch)
5573 (uri (git-reference
5574 (url "https://github.com/etcd-io/bbolt")
5575 (commit (string-append "v" version))))
5576 (file-name (git-file-name name version))
5577 (sha256
5578 (base32
5579 "1h64gipvcg7060byv5wjlf524kqwj12p3v08kfh4ygv46vpm8p2r"))))
5580 (build-system go-build-system)
5581 (arguments
5582 `(#:import-path "go.etcd.io/bbolt"))
5583 (home-page "https://pkg.go.dev/go.etcd.io/bbolt/")
5584 (synopsis "Low-level key/value store in Go")
5585 (description "This package implements a low-level key/value store in Go.")
5586 (license license:expat)))
5587
5588 (define-public go-github-com-rogpeppe-go-internal
5589 (package
5590 (name "go-github-com-rogpeppe-go-internal")
5591 (version "1.6.1")
5592 (source (origin
5593 (method git-fetch)
5594 (uri (git-reference
5595 (url "https://github.com/rogpeppe/go-internal")
5596 (commit (string-append "v" version))))
5597 (file-name (git-file-name name version))
5598 (sha256
5599 (base32
5600 "00j2vpp1bsggdvw1winkz23mg0q6drjiir5q0k49pmqx1sh7106l"))))
5601 (build-system go-build-system)
5602 (arguments
5603 `(#:import-path "github.com/rogpeppe/go-internal"
5604 ; Source-only package
5605 #:tests? #f
5606 #:phases
5607 (modify-phases %standard-phases
5608 (delete 'build))))
5609 (home-page "https://github.com/rogpeppe/go-internal/")
5610 (synopsis "Internal packages from the Go standard library")
5611 (description "This repository factors out an opinionated selection of
5612 internal packages and functionality from the Go standard library. Currently
5613 this consists mostly of packages and testing code from within the Go tool
5614 implementation.
5615
5616 Included are the following:
5617 @itemize
5618 @item dirhash: calculate hashes over directory trees the same way that the Go tool does.
5619 @item goproxytest: a GOPROXY implementation designed for test use.
5620 @item gotooltest: Use the Go tool inside test scripts (see testscript below)
5621 @item imports: list of known architectures and OSs, and support for reading import import statements.
5622 @item modfile: read and write go.mod files while preserving formatting and comments.
5623 @item module: module paths and versions.
5624 @item par: do work in parallel.
5625 @item semver: semantic version parsing.
5626 @item testenv: information on the current testing environment.
5627 @item testscript: script-based testing based on txtar files
5628 @item txtar: simple text-based file archives for testing.
5629 @end itemize\n")
5630 (license license:bsd-3)))
5631
5632 (define-public gopkg-in-errgo-fmt-errors
5633 (package
5634 (name "gopkg-in-errgo-fmt-errors")
5635 (version "2.1.0")
5636 (source (origin
5637 (method git-fetch)
5638 (uri (git-reference
5639 (url "https://github.com/go-errgo/errgo")
5640 (commit (string-append "v" version))))
5641 (file-name (git-file-name name version))
5642 (sha256
5643 (base32
5644 "065mbihiy7q67wnql0bzl9y1kkvck5ivra68254zbih52jxwrgr2"))))
5645 (build-system go-build-system)
5646 (arguments
5647 `(#:import-path "gopkg.in/errgo.v2/fmt/errors"
5648 #:tests? #f
5649 ;; Source-only package
5650 #:phases
5651 (modify-phases %standard-phases
5652 (delete 'build))))
5653 (home-page "https://godoc.org/gopkg.in/errgo.v2")
5654 (synopsis "Functions that use the fmt package to format error messages")
5655 (description "This package is the same as @code{gopkg.in/errgo.v2/errors}
5656 except that it adds convenience functions that use the fmt package to format
5657 error messages.")
5658 (license license:bsd-3)))