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