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