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