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