gnu: go-github-com-google-go-cmp-cmp: Update to 0.5.2.
[jackhill/guix/guix.git] / gnu / packages / golang.scm
CommitLineData
7a2941a8 1;;; GNU Guix --- Functional package management for GNU
2573709c 2;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
7a2941a8
MJ
3;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
4;;; Copyright © 2016 Andy Wingo <wingo@igalia.com>
b9388925 5;;; Copyright © 2016, 2019 Ludovic Courtès <ludo@gnu.org>
c04ef86e 6;;; Copyright © 2016, 2017 Petter <petter@mykolab.ch>
2c0bc073 7;;; Copyright © 2016, 2017, 2018, 2019, 2020 Leo Famulari <leo@famulari.name>
c04ef86e 8;;; Copyright © 2017 Sergei Trofimovich <slyfox@inbox.ru>
eaca9ff0 9;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
247064c3 10;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
c4d2cffa 11;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
e60352e4 12;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
fb50664f 13;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
4715f92e 14;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
6c273ee4
TGR
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>
61aa30df 18;;; Copyright © 2019, 2020 Arun Isaac <arunisaac@systemreboot.net>
48f57932 19;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
648ae621 20;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
9b268ef7 21;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.com>
58420d23 22;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
939680f3 23;;; Copyright © 2020 raingloom <raingloom@riseup.net>
7a2941a8 24;;;
8a610eb6 25;;; This file is part of GNU Guix.
7a2941a8
MJ
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)
d3878e88 44 #:use-module (guix git-download)
7a2941a8
MJ
45 #:use-module (guix packages)
46 #:use-module (guix build-system gnu)
830dc251 47 #:use-module (guix build-system trivial)
d3878e88 48 #:use-module (guix build-system go)
b9388925 49 #:use-module (gnu packages)
7a2941a8
MJ
50 #:use-module (gnu packages admin)
51 #:use-module (gnu packages gcc)
cff62457 52 #:use-module (gnu packages glib)
7a2941a8
MJ
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)
e25ddef5 57 #:use-module (gnu packages lua)
53182924 58 #:use-module (gnu packages mp3)
06c2d0e6 59 #:use-module (gnu packages textutils)
8ffc727e 60 #:use-module (gnu packages tls)
7a2941a8 61 #:use-module (ice-9 match)
9c359ff4 62 #:use-module (srfi srfi-1))
7a2941a8
MJ
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")
9bc1de31 75 ;; The C-language bootstrap of Go:
521d736a
AG
76 ;; https://golang.org/doc/install/source#go14
77 (version "1.4-bootstrap-20171003")
7a2941a8
MJ
78 (source (origin
79 (method url-fetch)
80 (uri (string-append "https://storage.googleapis.com/golang/"
521d736a 81 name version ".tar.gz"))
7a2941a8
MJ
82 (sha256
83 (base32
521d736a 84 "0liybk5z00hizsb5ypkbhqcawnwwa6mkwgvjjg4y3jm3ndg5pzzl"))))
7a2941a8
MJ
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)
1d698a8b
ST
92 (guix build utils)
93 (srfi srfi-1))
7a2941a8 94 #:tests? #f ; Tests are run by the all.bash script.
2ab321ca
EF
95 ,@(if (string-prefix? "aarch64-linux" (or (%current-system)
96 (%current-target-system)))
97 '(#:system "armhf-linux")
98 '())
7a2941a8
MJ
99 #:phases
100 (modify-phases %standard-phases
101 (delete 'configure)
102 (add-after 'patch-generated-file-shebangs 'chdir
103 (lambda _
2a49f7ad
TGR
104 (chdir "src")
105 #t))
7a2941a8
MJ
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.+)")
4b0bac4b 150
7a2941a8
MJ
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)
521d736a 177 (setenv "GO14TESTS" "1")
2a49f7ad 178 (invoke "sh" "all.bash"))))
7a2941a8
MJ
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)
58c36736 208 ("gcc:lib" ,(canonical-package gcc) "lib")))
7a2941a8 209 (native-inputs
3f0ec617 210 `(("pkg-config" ,pkg-config)
7a2941a8
MJ
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
247064c3
TGR
218programming language designed primarily for systems programming. Go is a
219compiled, statically typed language in the tradition of C and C++, but adds
220garbage collection, various safety features, and concurrent programming features
221in the style of communicating sequential processes (@dfn{CSP}).")
2ab321ca 222 (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux"))
7a2941a8 223 (license license:bsd-3)))
ec91bcb5 224
6e9f8826 225(define-public go-1.14
18199da4
KCB
226 (package
227 (inherit go-1.4)
228 (name "go")
93e55871 229 (version "1.14.10")
18199da4
KCB
230 (source
231 (origin
6e9f8826
KCB
232 (method git-fetch)
233 (uri (git-reference
b0e7b699 234 (url "https://github.com/golang/go")
6e9f8826
KCB
235 (commit (string-append "go" version))))
236 (file-name (git-file-name name version))
18199da4
KCB
237 (sha256
238 (base32
93e55871 239 "0h1nmqzjc0xxpn6n2hjq7692gdqkznagzdmiq9490yzkrrii2lgk"))))
18199da4
KCB
240 (arguments
241 (substitute-keyword-arguments (package-arguments go-1.4)
9b032995
EF
242 ((#:system system)
243 (if (string-prefix? "aarch64-linux" (or (%current-system)
244 (%current-target-system)))
245 "aarch64-linux"
246 system))
18199da4
KCB
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
ae71bef5
LC
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
18199da4
KCB
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"
6e9f8826
KCB
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 "."))
18199da4
KCB
282
283 (substitute* "os/os_test.go"
284 (("/usr/bin") (getcwd))
285 (("/bin/pwd") (which "pwd"))
286 (("/bin/sh") (which "sh")))
287
18199da4
KCB
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.+)")
ec91bcb5
MJ
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.+)")
3f157443 341 ("cmd/go/go_test.go" "(.+)(TestTwoPkgConfigs.+)")
ec91bcb5
MJ
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"
17399545 347 "(.+)(TestCloneNEWUSERAndRemapNoRootDisableSetgroups.+)")))
ec91bcb5 348
9b032995
EF
349 ;; These tests fail on aarch64-linux
350 (substitute* "cmd/dist/test.go"
351 (("t.registerHostTest\\(\"testsanitizers/msan.*") ""))
352
ec91bcb5
MJ
353 ;; fix shebang for testar script
354 ;; note the target script is generated at build time.
a6169621 355 (substitute* "../misc/cgo/testcarchive/carchive_test.go"
ec91bcb5
MJ
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))
c04ef86e
P
364 (substitute* (find-files "cmd" "\\.go")
365 (("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader))
ec91bcb5
MJ
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.
5a14b913 370 (let ((go (assoc-ref inputs "go")))
ec91bcb5 371 (setenv "GOROOT_BOOTSTRAP" go)
ec91bcb5 372 (setenv "GOGC" "400")
ec91bcb5 373 #t)))
04a95a4f
LF
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")
188b88e2 383 (invoke "sh" "all.bash"))))
ec91bcb5
MJ
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)))
5a14b913
LF
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")
ec91bcb5
MJ
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
188b88e2
TGR
417 (copy-recursively "../" output)
418 #t)))))))
ec91bcb5
MJ
419 (native-inputs
420 `(("go" ,go-1.4)
ae71bef5 421 ("go-skip-gc-test.patch" ,(search-patch "go-skip-gc-test.patch"))
1009e6e7
EF
422 ,@(match (%current-system)
423 ((or "armhf-linux" "aarch64-linux")
424 `(("gold" ,binutils-gold)))
425 (_ `()))
dda785f6
EF
426 ,@(package-native-inputs go-1.4)))
427 (supported-systems %supported-systems)))
ec91bcb5 428
6e9f8826 429(define-public go go-1.14)
d3878e88
LF
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
b0e7b699 440 (url "https://github.com/alsm/ioprogress")
d3878e88 441 (commit commit)))
fdbece74 442 (file-name (git-file-name name version))
d3878e88
LF
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
452case for these are for command-line applications but alternate progress bar
453writers can be supplied for alternate environments.")
454 (home-page "https://github.com/alsm/ioprogress")
455 (license license:expat))))
11b12655
LF
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
b0e7b699 466 (url "https://github.com/aki237/nscjar")
11b12655 467 (commit commit)))
82f09c0e 468 (file-name (git-file-name name version))
11b12655
LF
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
477Netscape/Mozilla's old-style cookie files. It also implements a simple cookie
478jar struct to manage the cookies added to the cookie jar.")
479 (home-page "https://github.com/aki237/nscjar")
480 (license license:expat))))
12f496ba 481
60a8cbc4
CB
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
501functionality is similar to the go builtin @code{flag} package, but
502@code{flags} provides more options and uses reflection to provide a succinct
503way of specifying command line options.")
504 (home-page "https://github.com/jessevdk/go-flags")
505 (license license:bsd-3)))
210c6d95
CB
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
b0e7b699 516 (url "https://github.com/go-tomb/tomb")
210c6d95
CB
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
69a64ecd
CB
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)))))
210c6d95
CB
534 (synopsis "@code{tomb} handles clean goroutine tracking and termination")
535 (description
536 "The @code{tomb} package handles clean goroutine tracking and
537termination.")
538 (home-page "https://gopkg.in/tomb.v2")
539 (license license:bsd-3))))
da6f9d41
CB
540
541(define-public go-github.com-jtolds-gls
542 (package
543 (name "go-github.com-jtolds-gls")
f0736d47 544 (version "4.20")
da6f9d41
CB
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
f0736d47 553 "1k7xd2q2ysv2xsh373qs801v6f359240kx0vrl0ydh7731lngvk6"))))
da6f9d41
CB
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
560per-goroutine.")
561 (home-page "https://github.com/jtolds/gls")
562 (license license:expat)))
c4d2cffa 563
e8fd351e
H
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
c4d2cffa
CB
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
5c6b576a 607program's help message rather than specifying it programmatically with
c4d2cffa
CB
608command-line parsers.")
609 (home-page "https://github.com/tj/docopt")
610 (license license:expat)))
ed0c6a76
CB
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,
634HashiCorp Configuration Language}. HCL is designed to be a language for
635expressing configuration which is easy for both humans and machines to read.")
636 (home-page "https://github.com/hashicorp/hcl")
637 (license license:mpl2.0))))
269d0858 638
33b67efe
LF
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
666Go programming language.")
667 (home-page "https://go.googlesource.com/tools/")
668 (license license:bsd-3))))
5bbf203c
LF
669
670(define-public go-golang-org-x-crypto
c2176548
LF
671 (let ((commit "2aa609cf4a9d7d1126360de73b55b6002f9e052a")
672 (revision "5"))
5bbf203c
LF
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
c2176548 685 "1yvis6fqbsd7f356aqyi18f76vnwj3bry6mxqnkvshq4cwrf92il"))))
5bbf203c
LF
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
561d391b 705 `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
5bbf203c
LF
706 (synopsis "Supplementary cryptographic libraries in Go")
707 (description "This package provides supplementary cryptographic libraries
708for the Go language.")
709 (home-page "https://go.googlesource.com/crypto/")
710 (license license:bsd-3))))
33b67efe 711
561d391b 712(define-public go-golang-org-x-net
7cb90f22
LF
713 (let ((commit "ba9fcec4b297b415637633c5a6e8fa592e4a16c3")
714 (revision "4"))
269d0858 715 (package
561d391b 716 (name "go-golang-org-x-net")
269d0858
LF
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
7cb90f22 726 "1hbqvy6r0s5h0dpdqw8fynl3cq0acin3iyqki9xvl5r8h33yb9bx"))))
269d0858
LF
727 (build-system go-build-system)
728 (arguments
561d391b
LF
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.")
269d0858
LF
737 (home-page "https://go.googlesource.com/net")
738 (license license:bsd-3))))
739
2573709c
EF
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
767processing.")
768 (license license:bsd-3))))
769
e3587052
H
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
795to the ones provided by the language and “sync” and “sync/atomic”
796packages.")
797 (home-page "https://go.googlesource.com/sync/")
798 (license license:bsd-3))))
799
561d391b 800(define-public go-golang-org-x-sys
939680f3 801 (let ((commit "05986578812163b26672dabd9b425240ae2bb0ad")
802 (revision "7"))
269d0858 803 (package
561d391b 804 (name "go-golang-org-x-sys")
269d0858
LF
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
939680f3 814 "1q2rxb6z5l6pmlckjsz2l0b8lw7bqgk6frhzbmi1dv0y5irb2ka7"))))
269d0858
LF
815 (build-system go-build-system)
816 (arguments
561d391b
LF
817 `(#:import-path "golang.org/x/sys"
818 ;; Source-only package
819 #:tests? #f
820 #:phases
821 (modify-phases %standard-phases
822 (delete 'build))))
269d0858 823 (synopsis "Go support for low-level system interaction")
561d391b
LF
824 (description "This package provides supplemental libraries offering Go
825support for low-level interaction with the operating system.")
269d0858
LF
826 (home-page "https://go.googlesource.com/sys")
827 (license license:bsd-3))))
828
561d391b 829(define-public go-golang-org-x-text
4a136536 830 (package
561d391b 831 (name "go-golang-org-x-text")
06c2d0e6
BL
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
561d391b
LF
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.")
06c2d0e6
BL
854 (home-page "https://go.googlesource.com/text")
855 (license license:bsd-3)))
856
561d391b 857(define-public go-golang-org-x-time
720420e3
LF
858 (let ((commit "9d24e82272b4f38b78bc8cff74fa936d31ccd8ef")
859 (revision "2"))
269d0858 860 (package
561d391b 861 (name "go-golang-org-x-time")
269d0858
LF
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
720420e3 871 "1f5nkr4vys2vbd8wrwyiq2f5wcaahhpxmia85d1gshcbqjqf8dkb"))))
269d0858
LF
872 (build-system go-build-system)
873 (arguments
561d391b
LF
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
884time.")
269d0858
LF
885 (home-page "https://godoc.org/golang.org/x/time/rate")
886 (license license:bsd-3))))
e60352e4 887
4b527228
MB
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
560eec40
RP
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
fb50664f 939(define-public go-github-com-burntsushi-toml
0e558640
LF
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
b0e7b699 947 (url "https://github.com/BurntSushi/toml")
0e558640
LF
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
959is similar to Go's standard library @code{json} and @code{xml} package.")
960 (license license:expat)))
8c5a69aa
PAR
961
962(define-public go-github-com-getsentry-raven-go
8ffc727e 963 (let ((commit "5c24d5110e0e198d9ae16f1f3465366085001d92")
8c5a69aa
PAR
964 (revision "0"))
965 (package
966 (name "go-github-com-getsentry-raven-go")
8ffc727e 967 (version (git-version "0.2.0" revision commit))
8c5a69aa
PAR
968 (source
969 (origin
970 (method git-fetch)
971 (uri (git-reference
b0e7b699 972 (url "https://github.com/getsentry/raven-go")
8c5a69aa
PAR
973 (commit commit)))
974 (file-name (git-file-name name version))
975 (sha256
976 (base32
8ffc727e 977 "0lvc376sq8r8jhy2v1m6rf1wyld61pvbk0x6j9xpg56ivqy69xs7"))))
8c5a69aa
PAR
978 (build-system go-build-system)
979 (arguments
980 '(#:import-path "github.com/getsentry/raven-go"))
8ffc727e
LF
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")
8c5a69aa 985 (synopsis "Sentry client in Go")
8ffc727e 986 (description "This package is a Go client API for the Sentry event/error
8c5a69aa
PAR
987logging system.")
988 (license license:bsd-3))))
0972411a
PAR
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
b0e7b699 1001 (url "https://github.com/hashicorp/go-version")
0972411a
PAR
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
1013constraints")
1014 (description "This package is a library for parsing versions and version
1015constraints, and verifying versions against a set of constraints. It can sort
1016a collection of versions properly, handles prerelease/beta versions, can
1017increment versions.")
1018 (license license:mpl2.0))))
c4230cda
PAR
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
b0e7b699 1031 (url "https://github.com/jpillora/backoff")
c4230cda
PAR
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
1043Go.")
1044 (license license:expat))))
28380e0e 1045
0601fb29
JK
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
b0e7b699 1054 (url "https://github.com/stretchr/objx")
0601fb29
JK
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,
1066slices, JSON and other data.")
1067 (license license:expat)))
1068
28380e0e 1069(define-public go-github-com-stretchr-testify
715f589e
JK
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
b0e7b699 1077 (url "https://github.com/stretchr/testify")
715f589e
JK
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
28380e0e
PAR
1094code will behave as you intend.
1095
1096Features 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")
715f589e 1103 (license license:expat)))
21290c35
PAR
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
b0e7b699 1116 (url "https://github.com/tevino/abool")
21290c35
PAR
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,
1128optimized for performance yet simple to use.")
1129 (license license:expat))))
7c2ebbd4 1130
9b268ef7
NG
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
1152sockets.")
1153 (license license:expat))))
1154
67836c59 1155(define-public go-github-com-blang-semver
db388401
LF
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
b0e7b699 1165 (url "https://github.com/blang/semver")
db388401
LF
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))))
67836c59 1178
7979f7df
PAR
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
b0e7b699 1189 (url "https://github.com/emicklei/go-restful")
7979f7df
PAR
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
1201developers to use @code{http} methods explicitly and in a way that's consistent
1202with the HTTP protocol definition.")
1203 (license license:expat))))
73fe19ef
PAR
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
b0e7b699 1215 (url "https://github.com/google/cadvisor")
73fe19ef
PAR
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
ae03ce0f 1227information about the resource usage and performance characteristics of running
73fe19ef
PAR
1228containers.")
1229 (license license:asl2.0))))
daed2c5e
PAR
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
b0e7b699 1241 (url "https://github.com/google/gofuzz")
daed2c5e
PAR
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
1253values for the purpose of fuzz testing.")
1254 (license license:asl2.0))))
9cf879a5 1255
fa70d264
OP
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
9cf879a5
PAR
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
b0e7b699 1288 (url "https://github.com/gorilla/context")
9cf879a5
PAR
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))))
e8cdf560
PAR
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
b0e7b699 1312 (url "https://github.com/gorilla/mux")
e8cdf560
PAR
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
1325incoming requests with their respective handler.")
1326 (license license:bsd-3))))
bcb21790
PAR
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
b0e7b699 1338 (url "https://github.com/jonboulle/clockwork")
bcb21790
PAR
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))))
76a2b278 1353
648ae621
JK
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")
3786f296
TGR
1374 (synopsis "File system abstraction for Go")
1375 (description
1376 "This package provides a file system abstraction for Go.")
648ae621
JK
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
1425applications 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
76a2b278 1452(define-public go-github-com-spf13-pflag
28cdd818
DM
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
b0e7b699 1460 (url "https://github.com/spf13/pflag")
28cdd818
DM
1461 (commit (string-append "v" version))))
1462 (file-name (git-file-name name version))
1463 (sha256
648ae621
JK
1464 (base32
1465 "0gpmacngd0gpslnbkzi263f5ishigzgh6pbdv9hp092rnjl4nd31"))))
28cdd818
DM
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
76a2b278
PAR
1473POSIX/GNU-style command-line options with double hyphens. It is is compatible
1474with the
1475@uref{https://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html,
1476GNU extensions} to the POSIX recommendations for command-line options.")
28cdd818 1477 (license license:bsd-3)))
7427b2c6 1478
648ae621
JK
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
b0e7b699 1487 (url "https://github.com/spf13/viper")
648ae621
JK
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
151612-Factor apps. It is designed to work within an application, and can handle
1517all 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
7427b2c6
PAR
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
b0e7b699 1624 (url "https://github.com/sirupsen/logrus")
7427b2c6 1625 (commit (string-append "v" version))))
f1d4d79f 1626 (file-name (git-file-name name version))
7427b2c6
PAR
1627 (sha256
1628 (base32
1629 "0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz"))))
1630 (build-system go-build-system)
8320c725 1631 (propagated-inputs
561d391b
LF
1632 `(("go-golang-org-x-crypto"
1633 ,go-golang-org-x-crypto)
7427b2c6
PAR
1634 ("go-github-com-stretchr-testify"
1635 ,go-github-com-stretchr-testify)
561d391b 1636 ("go-golang-org-x-sys" ,go-golang-org-x-sys)))
7427b2c6
PAR
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
1643compatible with the standard library logger.")
1644 (license license:expat)))
5cc2b845 1645
aff95768
AG
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
b0e7b699 1653 (url "https://github.com/rifflock/lfshook")
aff95768
AG
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
87fd44b0 1667a file on the file system. The log levels are dynamic at instantiation of the
aff95768
AG
1668hook, so it is capable of logging at some or all levels.")
1669 (license license:expat)))
1670
5cc2b845
LF
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
1694file that is running. This can be used for upgrading the current executable or
1695finding resources located relative to the executable file.")
1696 (home-page "https://github.com/kardianos/osext")
1697 (license license:bsd-3))))
aed4944d
PAR
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
1726run programs as a service using a variety of supervisors, including systemd,
1727SysVinit, and more.")
1728 (license license:zlib))))
e2826118
PAR
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
561d391b 1750 `(("go-golang-org-x-sys" ,go-golang-org-x-sys)
e2826118
PAR
1751 ("go-github-com-sirupsen-logrus"
1752 ,go-github-com-sirupsen-logrus)
561d391b
LF
1753 ("go-golang-org-x-crypto"
1754 ,go-golang-org-x-crypto)))
e2826118
PAR
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")
a95b6436 1769 (synopsis "This package is a Docker toolset to pack, ship, store, and
e2826118 1770deliver content")
a95b6436
VC
1771 (description "Docker Distribution is a Docker toolset to pack, ship,
1772store, and deliver content. It contains Docker Registry 2.0 and libraries
1773to interact with distribution components.")
e2826118 1774 (license license:asl2.0))))
01bcc94c
PAR
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
b0e7b699 1786 (url "https://github.com/docker/go-connections")
01bcc94c
PAR
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
f0b32cea 1798 "This package provides a library to work with network connections in
01bcc94c
PAR
1799the Go language. In particular it provides tools to deal with network address
1800translation (NAT), proxies, sockets, and transport layer security (TLS).")
1801 (license license:asl2.0))))
af132bcc
PAR
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
b0e7b699 1813 (url "https://github.com/docker/machine")
af132bcc
PAR
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
1826hosting providers, and inside your data center. It creates servers, installs
1827Docker on them, then configures the Docker client to talk to them.")
1828 (license license:asl2.0))))
d850e7a0
PAR
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
b0e7b699 1840 (url "https://github.com/gorhill/cronexpr")
d850e7a0
PAR
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.
1853Given a cron expression and a time stamp, you can get the next time stamp
1854which satisfies the cron expression.")
1855 (license (list license:gpl3+
1856 license:asl2.0)))))
abd47216
PAR
1857
1858(define-public go-gopkg-in-check-v1
a2dbcfdd
LF
1859 (let ((commit "788fd78401277ebd861206a03c884797c6ec5541")
1860 (revision "1"))
abd47216
PAR
1861 (package
1862 (name "go-gopkg-in-check-v1")
a2dbcfdd 1863 (version (git-version "1.0.0" revision commit))
abd47216
PAR
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
a2dbcfdd 1873 "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a"))))
abd47216
PAR
1874 (build-system go-build-system)
1875 (arguments
1876 '(#:import-path "gopkg.in/check.v1"))
a2dbcfdd
LF
1877 (propagated-inputs
1878 `(("go-github-com-kr-pretty" ,go-github-com-kr-pretty)))
abd47216
PAR
1879 (home-page "https://gopkg.in/check.v1")
1880 (synopsis "Test framework for the Go language")
a2dbcfdd 1881 (description "This package provides a test library for the Go language.")
abd47216 1882 (license license:asl2.0))))
d2c5e912 1883
648ae621
JK
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
d2c5e912 1908(define-public go-gopkg-in-yaml-v2
c17e69b3
LF
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
d2c5e912 1931values.")
c17e69b3 1932 (license license:asl2.0)))
3291be81
PN
1933
1934(define-public go-github-com-mattn-go-isatty
24e3520d
LF
1935 (package
1936 (name "go-github-com-mattn-go-isatty")
df14a8b6 1937 (version "0.0.11")
24e3520d
LF
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
df14a8b6 1947 "0h671sv7hfprja495kavazkalkx7xzaqksjh13brcnwq67ijrali"))))
24e3520d 1948 (build-system go-build-system)
36bb1d5a 1949 (propagated-inputs
561d391b 1950 `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
24e3520d
LF
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
3291be81
PN
1956tell you whether a file descriptor points to a terminal and the type of the
1957terminal.")
24e3520d 1958 (license license:expat)))
7601b4e4
PN
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
1985makes it possible to handle ANSI color escapes on Windows.")
1986 (license license:expat))))
32cb1af6 1987
9a3ddeea
MB
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
32cb1af6
PN
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
2041generate ANSI colored strings.")
2042 (license license:expat))))
e25ddef5
PN
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)
5c475841
PN
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
e25ddef5
PN
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
5c475841
PN
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")))))))
e25ddef5
PN
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
2087run a Lua virtual machine.")
2088 (license license:expat))))
f25e3b39
PN
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
2123all functions from the Lua string library. Lua patterns are replaced by Go
2124regexps. This breaks compatibility with Lua, but Unicode support breaks it
2125anyways and Go regexps are more powerful.")
2126 (license license:expat))))
b4d1440f
PN
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
2151when provided with a valid relative path / alias path, it will return you with
2152a string of its real absolute path in the system.")
0e11f5da 2153 (license license:expat))))
54b83f0e
PN
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
2178Damerau-Levenshtein distance. Takes a string value input from the user.
2179Looks for an identical word on a list of words, if none is found, look for a
2180similar word.")
2181 (license license:expat))))
c4962817
PN
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
2209convenient. Go structs, slices and maps can be automatically converted to Lua
2210tables and vice-versa. The resulting conversion can either be a copy or a
2211proxy. In the latter case, any change made to the result will reflect on the
2212source.
2213
2214Any Go function can be made available to Lua scripts, without having to write
2215C-style wrappers.
2216
2217Luar support cyclic structures (lists, etc.).
2218
2219User-defined types can be made available to Lua as well: their exported
2220methods can be called and usual operations such as indexing or arithmetic can
2221be performed.")
2222 (license license:expat))))
bc3138d2 2223
9630ae34
PN
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
2250values. This is useful during debugging, to avoid wrapping long output lines
2251in the terminal.
2252
2253It provides a function, @code{Formatter}, that can be used with any function
2254that accepts a format string. It also provides convenience wrappers for
2255functions in packages @code{fmt} and @code{log}.")
2256 (license license:expat))))
62879d22
PN
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
2284and lookup requests. Browse requests are not supported yet.")
2285 (license license:expat))))
53182924
PN
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)
46a4ae22
PN
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
53182924
PN
2310 `(("pkg-config" ,pkg-config)
2311 ("taglib" ,taglib)))
2312 (arguments
46a4ae22 2313 `(#:import-path "github.com/wtolson/go-taglib"
e53f9ce2 2314 ;; Tests don't pass "vet" on Go since 1.11. See
46a4ae22
PN
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))))))
53182924
PN
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))))
5787e152 2327
5787e152 2328(define-public go-github-com-gogo-protobuf
2f9bbd8e
LF
2329 (package
2330 (name "go-github-com-gogo-protobuf")
a2c885b3 2331 (version "1.3.1")
2f9bbd8e
LF
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
a2c885b3 2340 "0x77x64sxjgfhmbijqfzmj8h4ar25l2w97h01q3cqs1wk7zfnkhp"))))
2f9bbd8e
LF
2341 (build-system go-build-system)
2342 (arguments
35defe61
LF
2343 `(#:import-path "github.com/gogo/protobuf"
2344 ; Source-only package
2345 #:tests? #f
2346 #:phases
2347 (modify-phases %standard-phases
2348 (delete 'build))))
2f9bbd8e
LF
2349 (synopsis "Protocol Buffers for Go with Gadgets")
2350 (description "Gogoprotobuf is a fork of golang/protobuf with extra code
5787e152
PN
2351generation 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")
2f9bbd8e
LF
2360 (home-page "https://github.com/gogo/protobuf")
2361 (license license:bsd-3)))
5787e152 2362
386bd7ba
PN
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
b0e7b699 2373 (url "https://github.com/libp2p/go-flow-metrics")
386bd7ba
PN
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}
2388that's a lot faster (and only does simple bandwidth metrics).")
2389 (license license:expat))))
6a95e3a3
PN
2390
2391(define-public go-github-com-davecgh-go-spew
388ffbfb
JK
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
b0e7b699 2399 (url "https://github.com/davecgh/go-spew")
388ffbfb
JK
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
6a95e3a3
PN
2412for Go data structures to aid in debugging.
2413
2414A 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
2420unexported types.
2421@item Custom types which only implement the Stringer/error interfaces via a
2422pointer receiver are optionally invoked when passing non-pointer variables.
2423@item Byte arrays and slices are dumped like the hexdump -C command which
2424includes offsets, byte values in hex, and ASCII output (only when using Dump
2425style).
2426@end itemize\n")
388ffbfb 2427 (license license:isc)))
171c3259
PN
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
b0e7b699 2439 (url "https://github.com/btcsuite/btclog")
171c3259
PN
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
2451provides a default implementation of a subsystem-aware leveled logger
2452implementing the same interface.")
2453 (license license:isc))))
d5599afa
PN
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
b0e7b699 2465 (url "https://github.com/btcsuite/btcd")
d5599afa
PN
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
2480cryptography needed for working with Bitcoin (secp256k1 only for now). It is
2481designed so that it may be used with the standard crypto/ecdsa packages
2482provided with Go. A comprehensive suite of test is provided to ensure proper
2483functionality. Package @command{btcec} was originally based on work from
2484ThePiachu which is licensed under the same terms as Go, but it has
2ec41781 2485significantly diverged since then. The @command{btcsuite} developers original
d5599afa
PN
2486is licensed under the liberal ISC license.
2487
2488Although this package was primarily written for btcd, it has intentionally
2489been designed so it can be used as a standalone package for any projects
2490needing to use secp256k1 elliptic curve cryptography.")
2491 (license license:isc))))
ff2d11c3
PN
2492
2493(define-public go-github-com-minio-sha256-simd
be47a83a
LF
2494 (package
2495 (name "go-github-com-minio-sha256-simd")
e4d8efe9 2496 (version "0.1.1")
be47a83a
LF
2497 (source
2498 (origin
2499 (method git-fetch)
2500 (uri (git-reference
b0e7b699 2501 (url "https://github.com/minio/sha256-simd")
be47a83a
LF
2502 (commit (string-append "v" version))))
2503 (file-name (git-file-name name version))
2504 (sha256
2505 (base32
e4d8efe9 2506 "1j0iqsckm97g4l79vd4mc7apbmkdar23jpzqpnpdhwpfd834j8lp"))))
be47a83a
LF
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
ff2d11c3
PN
2513AVX2 for Intel and ARM64 for ARM. On AVX512 it provides an up to 8x
2514improvement (over 3 GB/s per core) in comparison to AVX2.
2515
2516This package is designed as a replacement for @command{crypto/sha256}. For
2517Intel CPUs it has two flavors for AVX512 and AVX2 (AVX/SSE are also
2518supported). For ARM CPUs with the Cryptography Extensions, advantage is taken
2519of the SHA2 instructions resulting in a massive performance improvement.
2520
2521This package uses Golang assembly. The AVX512 version is based on the Intel's
2522\"multi-buffer crypto library for IPSec\" whereas the other Intel
2523implementations are described in \"Fast SHA-256 Implementations on Intel
2524Architecture Processors\" by J. Guilford et al.")
be47a83a 2525 (license license:asl2.0)))
71f36804
PN
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
b0e7b699 2537 (url "https://github.com/libp2p/go-libp2p-crypto")
71f36804
PN
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
561d391b 2547 `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
71f36804 2548 ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
35defe61 2549 ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
71f36804
PN
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))))
15272a50
PN
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
b0e7b699 2567 (url "https://github.com/mr-tron/base58")
15272a50
PN
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
2580trivial @command{big.Int} encoding benchmark results in 6 times faster
2581encoding and 8 times faster decoding.")
2582 (license license:expat))))
27d59d8b
PN
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
b0e7b699 2594 (url "https://github.com/gxed/hashland")
27d59d8b
PN
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)
2607hash algorithm. See http://keccak.noekeon.org.")
2608 (license license:expat))))
90f2a848
PN
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
b0e7b699 2620 (url "https://github.com/minio/blake2b-simd")
90f2a848
PN
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
2632implementation of Dmitry Chestnykh and merged with the (cgo dependent) AVX
2633optimized BLAKE2 implementation (which in turn is based on the official
2634implementation. It does so by using Go's Assembler for amd64 architectures
2635with a golang only fallback for other architectures.
2636
2637In addition to AVX there is also support for AVX2 as well as SSE. Best
2638performance is obtained with AVX2 which gives roughly a 4X performance
2639increase approaching hashing speeds of 1GB/sec on a single core.")
2640 (license license:asl2.0))))
9a7f1575
PN
2641
2642(define-public go-github-com-spaolacci-murmur3
cb78846c
LF
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
b0e7b699 2650 (url "https://github.com/spaolacci/murmur3")
cb78846c
LF
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
2662revision (aka MurmurHash3).
9a7f1575
PN
2663
2664Reference algorithm has been slightly hacked as to support the streaming mode
2665required by Go's standard Hash interface.")
cb78846c 2666 (license license:bsd-3)))
2e42e587 2667
64905c24
LF
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
b0e7b699 2676 (url "https://github.com/twmb/murmur3")
64905c24
LF
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
ea2dcf16
LF
2688MurmurHash revision (aka MurmurHash3).
2689
2690Reference algorithm has been slightly hacked as to support the streaming mode
2691required by Go's standard Hash interface.")
64905c24 2692 (license license:bsd-3)))
ea2dcf16 2693
2e42e587
PN
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
b0e7b699 2704 (url "https://github.com/multiformats/go-multihash")
2e42e587
PN
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)
561d391b 2719 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
2e42e587
PN
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))))
1db1e3c7
PN
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
b0e7b699 2735 (url "https://github.com/libp2p/go-libp2p-peer")
1db1e3c7
PN
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)
35defe61 2746 ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
1db1e3c7
PN
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)
561d391b 2754 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
1db1e3c7
PN
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))))
43a5c177
PN
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
b0e7b699 2770 (url "https://github.com/libp2p/go-libp2p-protocol")
43a5c177
PN
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))))
77d8a917
PN
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
b0e7b699 2795 (url "https://github.com/libp2p/go-libp2p-metrics")
77d8a917
PN
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)
35defe61 2812 ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
77d8a917
PN
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)
561d391b 2817 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
77d8a917
PN
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
2821statistics for wrapped connections.")
2822 (license license:expat))))
8cb91281
PN
2823
2824(define-public go-github-com-mitchellh-go-homedir
db388401
LF
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
b0e7b699 2834 (url "https://github.com/mitchellh/go-homedir")
db388401
LF
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
8cb91281
PN
2848directory without the use of @command{cgo}, so the library can be used in
2849cross-compilation environments.
2850
2851Usage is simple, just call homedir.Dir() to get the home directory for a user,
2852and homedir.Expand() to expand the @command{~} in a path to the home
2853directory.
2854
2855Why not just use @command{os/user}? The built-in @command{os/user} package
2856requires cgo on Darwin systems. This means that any Go code that uses that
2857package 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
2859the current user without cgo. This library does that, enabling
2860cross-compilation.")
db388401 2861 (license license:expat))))
e53121b3 2862
648ae621
JK
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
37cb391e
OP
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
2904using reflection, in the same way a directory tree can be \"walked\" on the
7230f6d5 2905file system. Walking a complex structure can allow you to do manipulations on
37cb391e
OP
2906unknown structures such as those decoded from JSON.")
2907 (license license:expat)))
c08dd5c5
OP
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
2931in Go.
2932
2933This allows you to copy Go values that may contain reference values such as
2934maps, slices, or pointers, and copy their data as well instead of just their
2935references.")
2936 (license license:expat)))
2937
e53121b3
PN
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
b0e7b699 2948 (url "https://github.com/multiformats/go-multiaddr")
e53121b3
PN
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)
561d391b 2965 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
e53121b3
PN
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
2969does 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))))
66fb6e29
PN
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
b0e7b699 2990 (url "https://github.com/multiformats/go-multiaddr-net")
66fb6e29
PN
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)
561d391b 3009 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
66fb6e29
PN
3010 (home-page "https://github.com/multiformats/go-multiaddr-net")
3011 (synopsis "Multiaddress net tools")
3012 (description "This package provides Multiaddr specific versions of
3013common functions in stdlib's @command{net} package. This means wrappers of
3014standard net symbols like @command{net.Dial} and @command{net.Listen}, as well
3015as conversion to and from @command{net.Addr}.")
3016 (license license:expat))))
38d346dc
PN
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
b0e7b699 3028 (url "https://github.com/whyrusleeping/tar-utils")
38d346dc
PN
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))))
ad8d4637
PN
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
b0e7b699 3053 (url "https://github.com/cheekybits/is")
ad8d4637
PN
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))))
20f48e4b
PN
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
b0e7b699 3085 (url "https://github.com/sabhiram/go-gitignore")
20f48e4b
PN
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))))
b5bb0b50
PN
3101
3102(define-public go-github-com-urfave-cli
a8ad05d4
LF
3103 (package
3104 (name "go-github-com-urfave-cli")
5d9515d8 3105 (version "1.22.2")
a8ad05d4
LF
3106 (source
3107 (origin
3108 (method git-fetch)
3109 (uri (git-reference
b0e7b699 3110 (url "https://github.com/urfave/cli")
a8ad05d4
LF
3111 (commit (string-append "v" version))))
3112 (file-name (git-file-name name version))
3113 (sha256
3114 (base32
5d9515d8 3115 "10mcnvi5qmn00vpyk6si8gjka7p654wr9hac4zc9w5h3ickhvbdc"))))
a8ad05d4
LF
3116 (build-system go-build-system)
3117 (arguments
3118 '(#:import-path "github.com/urfave/cli"))
5d9515d8
LF
3119 (propagated-inputs
3120 `(("go-github-com-go-md2man" ,go-github-com-go-md2man)))
a8ad05d4
LF
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
b5bb0b50
PN
3124building command line apps in Go. The goal is to enable developers to write
3125fast and distributable command line applications in an expressive way.")
a8ad05d4 3126 (license license:expat)))
7bd9020e 3127
2c0bc073
LF
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
3154the purpose of building man pages.")
3155 (license license:expat)))
3156
0ca8bc01
LF
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
47a4a6da
LF
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
3204anchor names.")
3205 (license license:expat)))
3206
3c06b060
LF
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
7bd9020e
PN
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
b0e7b699 3239 (url "https://github.com/whyrusleeping/json-filter")
7bd9020e
PN
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))))
38566e97
PN
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
b0e7b699 3265 (url "https://github.com/whyrusleeping/progmeter")
38566e97
PN
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))))
56eb7bd3
PN
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
b0e7b699 3290 (url "https://github.com/whyrusleeping/stump")
56eb7bd3
PN
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
3302have super fancy logs.")
3303 (license license:expat))))
5b6c3ad0
PN
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
b0e7b699 3315 (url "https://github.com/kr/fs")
5b6c3ad0
PN
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")
52beae7b
TGR
3325 (synopsis "File-system-related functions for Go")
3326 (description
3327 "The fs package provides file-system-related Go functions.")
5b6c3ad0 3328 (license license:bsd-3))))
bc58bb9b
LF
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
3352format in Go.")
3353 (license license:expat))))
56f610f5 3354
aa413ff8
LF
3355(define-public go-github-com-kr-pretty
3356 (package
3357 (name "go-github-com-kr-pretty")
618df2e3 3358 (version "0.2.0")
aa413ff8
LF
3359 (source (origin
3360 (method git-fetch)
3361 (uri (git-reference
b0e7b699 3362 (url "https://github.com/kr/pretty")
aa413ff8
LF
3363 (commit (string-append "v" version))))
3364 (file-name (git-file-name name version))
3365 (sha256
3366 (base32
bdc7f72f 3367 "1ywbfzz1h3a3qd8rpkiqwi1dm4w8ls9ijb4x1b7567grns9f0vnp"))))
aa413ff8
LF
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
58420d23
RPG
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
3400structure. It can also produce a much more verbose, one-item-per-line
3401representation suitable for computing diffs.")
3402 (license license:asl2.0)))
3403
56f610f5
LF
3404(define-public go-github-com-kr-text
3405 (package
3406 (name "go-github-com-kr-text")
db388401 3407 (version "0.1.0")
56f610f5
LF
3408 (source (origin
3409 (method git-fetch)
3410 (uri (git-reference
b0e7b699 3411 (url "https://github.com/kr/text")
56f610f5
LF
3412 (commit (string-append "v" version))))
3413 (file-name (git-file-name name version))
3414 (sha256
3415 (base32
db388401 3416 "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1"))))
56f610f5
LF
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)))
4ddf067f 3424
be42a38a
BL
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
3446without requiring a real database connection.")
3447 (home-page "https://github.com/DATA-DOG/go-sqlmock")
3448 (license license:expat))))
3449
a881a087
BL
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
3470and provides a means of converting colors stored as RGB to various
3471colorspaces.")
3472 (home-page "https://github.com/lucasb-eyer/go-colorful")
3473 (license license:expat)))
3474
42a0cfee
BL
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
561d391b 3493 `(("go-golang-org-x-text" ,go-golang-org-x-text)))
42a0cfee
BL
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
3497standard @code{Text} package, including some for dealing with I/O streams from
3498non-UTF-friendly sources.")
3499 (license license:expat)))
3500
a6689b99
BL
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)
561d391b 3534 ("go-golang-org-x-text" ,go-golang-org-x-text)
a6689b99
BL
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
3539terminfo capability strings to avoid hard-coding escape strings for
3540formatting. It also favors portability, and includes support for all POSIX
3541systems.")
3542 (license license:expat))))
3543
f8157350
BL
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
3585the @code{cpan} module @code{Parse::CommandLine}.")
3586 (license license:expat))))
3587
4ddf067f
GB
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
3610locks. These appear to be especially useful for synchronizing access to
3611session based information in web applications.
3612
3613The common use case is to use the package level functions, which use a package
3614level set of locks (safe to use from multiple goroutines
3615simultaneously). However, you may also create a new separate set of locks
3616test.
3617
3618All locks are implemented with read-write mutexes. To use them like a regular
3619mutex, simply ignore the RLock/RUnlock functions.")
3620 (license license:unlicense))))
a3b1dc49
LF
3621
3622(define-public go-github-com-marten-seemann-qtls
3623 (package
3624 (name "go-github-com-marten-seemann-qtls")
4a1bc866 3625 (version "0.4.1")
a3b1dc49
LF
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
4a1bc866 3634 "0dz60y98nm7l70hamq0v2vrs2dspyr5yqhnrds2dfh7hchxvq76j"))))
a3b1dc49
LF
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
3644the Go standard library's TLS 1.3 implementation.")
3645 (home-page "https://github.com/marten-seemann/qtls")
3646 (license license:bsd-3)))
8201afdf 3647
7df8cb25
LF
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
3666internal ChaCha20 package.")
3667 (home-page "https://github.com/marten-seemann/chacha20")
3668 (license license:bsd-3)))
3669
8201afdf
LF
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
3690implementation of generics.")
3691 (home-page "https://github.com/cheekybits/genny/")
3692 (license license:expat)))
6d766bec
LF
3693
3694(define-public go-github-com-lucas-clemente-quic-go
3695 (package
3696 (name "go-github-com-lucas-clemente-quic-go")
cfe4b6e2 3697 (version "0.14.4")
6d766bec
LF
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
cfe4b6e2 3706 "04l3gqbc3gh079n8vgnrsf8ypgv8sl63xjf28jqfrb45v2l73vyz"))))
6d766bec
LF
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)
cfe4b6e2 3715 ("go-github-com-marten-seemann-chacha20" ,go-github-com-marten-seemann-chacha20)
05b8096d
LF
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)))
6d766bec
LF
3718 (synopsis "QUIC in Go")
3719 (description "This package provides a Go language implementation of the QUIC
3720network protocol.")
3721 (home-page "https://github.com/lucas-clemente/quic-go")
3722 (license license:expat)))
2da5275f 3723
6115ab1d
EF
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
3744a simple API and doesn't use reflection. It relies on small interfaces to
3745decode/encode structures and slices.")
3746 (home-page "https://github.com/francoispqt/gojay")
3747 (license license:expat)))
3748
2da5275f 3749(define-public go-github-com-pkg-errors
726727e1
LF
3750 (package
3751 (name "go-github-com-pkg-errors")
98c87318 3752 (version "0.9.1")
726727e1
LF
3753 (source (origin
3754 (method git-fetch)
3755 (uri (git-reference
b0e7b699 3756 (url "https://github.com/pkg/errors")
726727e1
LF
3757 (commit (string-append "v" version))))
3758 (file-name (git-file-name name version))
3759 (sha256
3760 (base32
98c87318 3761 "1761pybhc2kqr6v5fm8faj08x9bql8427yqg6vnfv6nhrasx1mwq"))))
726727e1
LF
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
2da5275f 3767error handling primitives in Go.")
726727e1
LF
3768 (home-page "https://github.com/pkg/errors")
3769 (license license:bsd-2)))
d0ced446
LF
3770
3771(define-public go-github-com-maruel-panicparse
3772 (package
3773 (name "go-github-com-maruel-panicparse")
db388401 3774 (version "1.3.0")
d0ced446
LF
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
db388401 3783 "13qkn7f64yln8jdmma37h6ra4c7anxkp3vfgvfyb6lb07dpr1ibq"))))
d0ced446
LF
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
3789stack traces. It simplifies the traces to make salient information more visible
3790and aid debugging.")
3791 (home-page "https://github.com/maruel/panicparse")
3792 (license license:asl2.0)))
e30bdd49
AI
3793
3794(define-public go-github-com-robfig-cron
3795 (package
3796 (name "go-github-com-robfig-cron")
61aa30df 3797 (version "3.0.1")
e30bdd49
AI
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
61aa30df 3807 "1agzbw2dfk2d1mpmddr85s5vh6ygm8kqrvfg87i9d2wqnlsnliqm"))))
e30bdd49
AI
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
3814a cron spec parser and job runner.")
3815 (license license:expat)))
9a2f2334
LF
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
f1d4d79f 3828 (file-name (git-file-name name version))
9a2f2334
LF
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
3837on running processes and system utilization (CPU, memory, disks, network,
3838sensors).")
3839 (home-page "https://github.com/shirou/gopsutil")
3840 (license license:bsd-3))))
07f7bf36 3841
d6bae2b7
MB
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
3864fnmatch gist (https://gist.github.com/kballard/272720).")
3865 (license license:bsd-2))))
3866
bffb8f3c
MB
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
48ee9aa4
MB
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
3916can be used to build a client and/or a server.")
3917 (license license:expat)))
3918
9ba67ef0
MB
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
1ed87c01
MB
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
07f7bf36
DM
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
b0e7b699 3978 (url "https://github.com/fatih/color")
07f7bf36
DM
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
3989colorized or SGR defined output to the standard output.")
3990 (home-page "https://godoc.org/github.com/fatih/color")
3991 (license license:expat)))
ee46bc59
DM
3992
3993(define-public go-github-com-google-go-cmp-cmp
3994 (package
3995 (name "go-github-com-google-go-cmp-cmp")
00c0bfd4 3996 (version "0.5.2")
ee46bc59
DM
3997 (source (origin
3998 (method git-fetch)
3999 (uri (git-reference
b0e7b699 4000 (url "https://github.com/google/go-cmp")
ee46bc59
DM
4001 (commit (string-append "v" version))))
4002 (file-name (git-file-name name version))
4003 (sha256
4004 (base32
00c0bfd4 4005 "0qchy411jm9q2l9mf7x3ry2ycaqp9xdhf2nx14qrpzcxfigv2705"))))
ee46bc59
DM
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"))
00c0bfd4
RP
4010 (propagated-inputs
4011 `(("go-golang-org-x-xerrors" ,go-golang-org-x-xerrors)))
ee46bc59
DM
4012 (synopsis "Determine equality of values in Go")
4013 (description "This package provides a more powerful and safer
4014alternative to @code{reflect.DeepEqual} for comparing whether two values
4015are semantically equal in Go (for writing tests).")
4016 (home-page "https://godoc.org/github.com/google/go-cmp/cmp")
4017 (license license:asl2.0)))
cb2555e2 4018
4ca2f9d8
OP
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
40384122 and DCE 1.1: Authentication and Security Services.")
4039 (license license:bsd-3)))
4040
e465f72f
OP
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
4063attributes. It also contains some convenience functions for colors, SSH to
4064and from termios translations, readCh, reading passwords, etc.")
4065 (license license:bsd-3))))
4066
39818354
OP
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
4089into URL query parameters.")
4090 (license license:bsd-3))))
4091
697eb087
OP
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
4116GitHub API v3.")
4117 (license license:bsd-3)))
4118
bb547efd
OP
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
4138create or replace a file or symbolic link.")
4139 (license license:asl2.0)))
4140
cb2555e2
DM
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"))
5fb3c002 4160 (synopsis "Synchronization, error propagation, and Context cancellation
cb2555e2
DM
4161for groups of goroutines working on subtasks of a common task.")
4162 (description "This package provides synchronization, error propagation,
db7e24ce 4163and Context cancellation for groups of goroutines working on subtasks of a
cb2555e2
DM
4164common task.")
4165 (home-page "https://godoc.org/golang.org/x/sync/errgroup")
4166 (license license:bsd-3))))
9d64d150 4167
90bce159
DM
4168(define (go-gotest-tools-source version sha256-base32-hash)
4169 (origin
4170 (method git-fetch)
4171 (uri (git-reference
b0e7b699 4172 (url "https://github.com/gotestyourself/gotest.tools")
90bce159
DM
4173 (commit (string-append "v" version))))
4174 (file-name (git-file-name "go-gotest-tools" version))
4175 (sha256
4176 (base32 sha256-base32-hash))))
4177
2d1232e0
DM
4178;; Note that version 3.0.0 is incompatible to 2.3.0.
4179;; See also <https://github.com/gotestyourself/gotest.tools/issues/166>.
944f370b 4180(define (go-gotest-tools-package suffix)
9d64d150 4181 (package
944f370b
DM
4182 (name (string-append "go-gotest-tools-"
4183 (string-replace-substring suffix "/" "-")))
4184 (version "2.3.0")
90bce159
DM
4185 (source
4186 (go-gotest-tools-source version
944f370b 4187 "0071rjxp4xzcr3vprkaj1hdk35a3v45bx8v0ipk16wwc5hx84i2i"))
9d64d150
DM
4188 (build-system go-build-system)
4189 (arguments
944f370b
DM
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
d19e096a
DM
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
4205with gotest-tools.")))
4206
67d84852
DM
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
4211with gotest-tools.")))
4212
1e18d073
DM
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
4220gotest-tools.")))
4221
944f370b
DM
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)))
9d64d150
DM
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
4237test when a comparison fails.")
4238 (home-page "https://github.com/gotestyourself/gotest.tools")
4239 (license license:asl2.0)))
639371c6
DM
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
b0e7b699 4248 (url "https://github.com/gotestyourself/gotestsum")
639371c6
DM
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)
d78178fa
DM
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)
639371c6
DM
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
4283optimized for humans, JUnit XML for CI integration, and a summary of the
4284test results.")
4285 (home-page "https://github.com/gotestyourself/gotestsum")
4286 (license license:asl2.0)))
a726d91d
LF
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
b0e7b699 4295 (url "https://github.com/golang/protobuf")
a726d91d
LF
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
4309data serialization format.")
4310 (home-page "https://github.com/golang/protobuf")
4311 (license license:bsd-3)))
42c6503d
AG
4312
4313(define-public go-github-com-mattn-go-zglob
4314 (package
4315 (name "go-github-com-mattn-go-zglob")
d7966ff2 4316 (version "0.0.3")
42c6503d
AG
4317 (source (origin
4318 (method git-fetch)
4319 (uri (git-reference
b0e7b699 4320 (url "https://github.com/mattn/go-zglob")
42c6503d
AG
4321 (commit (string-append "v" version))))
4322 (file-name (git-file-name name version))
4323 (sha256
4324 (base32
d7966ff2 4325 "1923lvakm66mzy62jmngdvcmbmiqclinsvnghs3907rgygnx1qc1"))))
42c6503d
AG
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
4332directories. It is optimized for filewalking. ")
4333 (license license:expat)))
88841a3e
LF
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
4353are a mapping between non-negative integers and boolean values focused on
4354efficient space usage.")
4355 (home-page "https://github.com/willf/bitset")
4356 (license license:bsd-3)))
79405c03
LF
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
ea2dcf16
LF
4373 '(#:import-path "github.com/willf/bloom"
4374 #:phases
4375 (modify-phases %standard-phases
4376 (add-after 'unpack 'patch-import-path
4377 (lambda _
64905c24 4378 ;; See 'go.mod' in the source distribution of Syncthing 1.5.0 for
ea2dcf16
LF
4379 ;; more information.
4380 ;; <https://github.com/spaolacci/murmur3/issues/29>
4381 (substitute* "src/github.com/willf/bloom/bloom.go"
64905c24 4382 (("spaolacci") "twmb"))
ea2dcf16 4383 #t)))))
79405c03 4384 (propagated-inputs
64905c24 4385 `(("go-github-com-twmb-murmur3" ,go-github-com-twmb-murmur3)
79405c03
LF
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,
4389based on murmurhash.")
4390 (home-page "https://github.com/willf/bloom")
4391 (license license:bsd-2)))
3770bd65
EF
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
4415characters with their ASCII approximations.")
4416 (license license:asl2.0))))
ae863ccd
EF
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+)))))
40c86b39
EF
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)))
44b9e8fd
EF
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))))
cb380998
EF
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
4512current program. CPU features are detected on startup, and kept for fast access
4513through the life of the application. Currently x86 / x64 (AMD64) is supported,
4514and no external C (cgo) code is used, which should make the library very eas
4515to use.")
4516 (license license:expat)))
03baf02e
EF
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
4540physical system memory accessible to the kernel. It does not account for memory
4541used by other processes.")
4542 (license license:bsd-3))))
62cfb491
EF
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))))
073c64dc
EF
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
4594Porter2 stemmer}. It is written completely using finite state machines to do
4595suffix comparison, rather than the string-based or tree-based approaches.")
4596 (license license:asl2.0))))
38713d5a
OP
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
4617various ways. It is a Go implementation of some string manipulation libraries
4618of Java Apache Commons.")
4619 (license license:asl2.0)))
8dd626ee
OP
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
4640semantic 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)))
75a0cab4
OP
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,
4668which are widely used in other languages but absent in Go package strings.")
4669 (license license:expat)))
0b744249
OP
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
4692configuration default values, avoiding messy if-statements.
4693
4694Mergo merges same-type structs and maps by setting default values in
4695zero-value fields. Mergo won't merge unexported (private) fields. It will do
4696recursively any exported one. It also won't merge structs inside
4697maps (because they are not addressable using Go reflection).")
4698 (license license:bsd-3)))
26db4c95
OP
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
4731template functions.")
38713d5a 4732 (license license:expat)))
bdb5a108
OP
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
4753matching and globbing with support for \"doublestar\" patterns.")
4754 (license license:expat)))
1d47f752
OP
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)))
1a53f5b9
OP
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
4798Unix terminals.
4799
4800The package level functions can be used to write to stdout (or strings or
4801other files). If stdout is not a terminal, colour formatting will be
4802stripped.")
4803 (license license:expat)))
9b363021
OP
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
4828can be used almost directly in Go source code.")
4829 (license license:expat))))
1871d264
OP
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
4853synchronizing 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)))
24f00016
OP
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))))
f12cca09
OP
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
4920converts it into syntax highlighted HTML, ANSI-coloured text, etc.")
4921 (license license:expat)))
1a1463c2
OP
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
4944the parse trees produced by the html package.")
4945 (license license:bsd-2)))
fc8d9df7
OP
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
4969to jQuery to the Go language.")
4970 (license license:bsd-3)))
0a990222
OP
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)))
d3346140
OP
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)))
36fcbafd
OP
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)))
633a1821
OP
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))))
d079145d 5060 (file-name (git-file-name "go-github-com-muesli-reflow" version))
633a1821
OP
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
5073io.Writers helping you to transform blocks of text.")
5074 (license license:expat)))
001c278f
OP
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"))))
5137a053
OP
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"))))
4ac7a763
OP
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"))))
55374b80
OP
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
5124terminal. It gathers information about the terminal environment in terms of
5125its ANSI and color support and offers you convenient methods to colorize and
5126style your output, without you having to deal with all kinds of weird ANSI
5127escape sequences and color conversions.")
5128 (license license:expat)))
f63b2dd7
OP
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)))
5e8a102f
OP
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)))
2ab8fad7
OP
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
5230templates on ANSI compatible terminals. You can create your own stylesheet or
5231use one of our glamourous default themes.")
5232 (license license:expat)))
b955cd4a
OP
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.
5253It lets you parse and compare two semantic version strings.")
5254 (license license:asl2.0)))
9a9bd333 5255
507da2fe 5256(define-public go-github-com-emirpasic-gods
9a9bd333 5257 (package
507da2fe 5258 (name "go-github-com-emirpasic-gods")
9a9bd333
OP
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
507da2fe
OP
5271 `(#:import-path "github.com/emirpasic/gods"
5272 ; Source-only package
5273 #:tests? #f
5274 #:phases
5275 (modify-phases %standard-phases
5276 (delete 'build))))
9a9bd333
OP
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
5280structures and algorithms in Go.")
5281 (license license:bsd-2)))
ffa2e84f 5282
f18df4f9
OP
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
5302errors (warnings).")
5303 (license license:bsd-2)))
b3cd7c9b
OP
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)))
c9931876
OP
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/")
7230f6d5
TGR
5348 (synopsis "File system abstraction for Go")
5349 (description "Billy implements an interface based on the OS's standard
5350library to develop applications without depending on the underlying storage.
5351This makes it virtually free to implement mocks and testing over
5352file system operations.")
c9931876 5353 (license license:asl2.0)))
c562048c 5354
911de79e 5355(define-public go-github-com-jbenet-go-context
c562048c
OP
5356 (let ((commit "d14ea06fba99483203c19d92cfcd13ebe73135f4")
5357 (revision "1"))
5358 (package
911de79e 5359 (name "go-github-com-jbenet-go-context")
c562048c
OP
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
911de79e
OP
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))))
c562048c
OP
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
5381extensions.")
5382 (license license:expat))))
159a9ec0
OP
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.
5403Importantly, this parser attempts to preserve comments in a given file, so you
5404can manipulate a @file{ssh_config} file from a program.")
5405 (license license:expat)))
b186a8c5
OP
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
5428provides both a client and a server. The client can talk to a standard
5429ssh-agent that uses UNIX sockets, and one could implement an alternative
5430ssh-agent process using the sample server. ")
5431 (license license:asl2.0)))
fd2a3046
OP
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
5469temporal directories.")
5470 (license license:expat))))
e0f1789d
OP
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)))
55ce6fe9
OP
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))))
fb1cc65a
OP
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)))
ae110203
OP
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}
5570and @code{ioutil} packages that is easy to test.")
5571 (license license:expat)))
ded1792e
OP
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)))
e3997ad7
OP
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)))
cff62457
OP
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
5646bindings for the D-Bus message bus system.")
5647 (license license:bsd-2)))
ea60163a
OP
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
5672deleting secrets from the system keyring.")
5673 (license license:expat)))
f4d548b8
OP
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)))
d30ba267
OP
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
5720internal packages and functionality from the Go standard library. Currently
5721this consists mostly of packages and testing code from within the Go tool
5722implementation.
5723
5724Included 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)))
920c113f
OP
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}
5764except that it adds convenience functions that use the fmt package to format
5765error messages.")
5766 (license license:bsd-3)))
6e085d6f 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,
5790inspired by the causal messaging system in the Pony programming language.")
5791 (license license:expat))))
4a28246d 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
5820the terminal.")
5821 (license license:bsd-3)))
fd595f31 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
5846log package. All the functionality of the built-in package still exists and
5847is unchanged. This package contains a series of small enhancements and
5848additions.")
5849 (license license:bsd-3))))