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