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