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