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