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