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