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