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