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