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