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