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