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