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