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