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