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