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