gnu: go-golang-org-x-sys-unix: Update to 0.0.0-2.4d1cda0.
[jackhill/guix/guix.git] / gnu / packages / golang.scm
CommitLineData
7a2941a8 1;;; GNU Guix --- Functional package management for GNU
1009e6e7 2;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
7a2941a8
MJ
3;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
4;;; Copyright © 2016 Andy Wingo <wingo@igalia.com>
ec91bcb5 5;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
c04ef86e 6;;; Copyright © 2016, 2017 Petter <petter@mykolab.ch>
17399545 7;;; Copyright © 2016, 2017 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>
21280a8c 15;;; Copyright @ 2018 Katherine Cox-Buday <cox.katherine.e@gmail.com>
7a2941a8 16;;;
8a610eb6 17;;; This file is part of GNU Guix.
7a2941a8
MJ
18;;;
19;;; GNU Guix is free software; you can redistribute it and/or modify it
20;;; under the terms of the GNU General Public License as published by
21;;; the Free Software Foundation; either version 3 of the License, or (at
22;;; your option) any later version.
23;;;
24;;; GNU Guix is distributed in the hope that it will be useful, but
25;;; WITHOUT ANY WARRANTY; without even the implied warranty of
26;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27;;; GNU General Public License for more details.
28;;;
29;;; You should have received a copy of the GNU General Public License
30;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
31
32(define-module (gnu packages golang)
33 #:use-module ((guix licenses) #:prefix license:)
34 #:use-module (guix utils)
35 #:use-module (guix download)
d3878e88 36 #:use-module (guix git-download)
7a2941a8
MJ
37 #:use-module (guix packages)
38 #:use-module (guix build-system gnu)
830dc251 39 #:use-module (guix build-system trivial)
d3878e88 40 #:use-module (guix build-system go)
7a2941a8
MJ
41 #:use-module (gnu packages admin)
42 #:use-module (gnu packages gcc)
43 #:use-module (gnu packages base)
44 #:use-module (gnu packages perl)
45 #:use-module (gnu packages pkg-config)
46 #:use-module (gnu packages pcre)
e25ddef5 47 #:use-module (gnu packages lua)
53182924 48 #:use-module (gnu packages mp3)
7a2941a8 49 #:use-module (ice-9 match)
9c359ff4 50 #:use-module (srfi srfi-1))
7a2941a8
MJ
51
52;; According to https://golang.org/doc/install/gccgo, gccgo-4.8.2 includes a
53;; complete go-1.1.2 implementation, gccgo-4.9 includes a complete go-1.2
54;; implementation, and gccgo-5 a complete implementation of go-1.4. Ultimately
55;; we hope to build go-1.5+ with a bootstrap process using gccgo-5. As of
56;; go-1.5, go cannot be bootstrapped without go-1.4, so we need to use go-1.4 or
57;; gccgo-5. Mips is not officially supported, but it should work if it is
58;; bootstrapped.
59
60(define-public go-1.4
61 (package
62 (name "go")
63 (version "1.4.3")
64 (source (origin
65 (method url-fetch)
66 (uri (string-append "https://storage.googleapis.com/golang/"
67 name version ".src.tar.gz"))
68 (sha256
69 (base32
70 "0na9yqilzpvq0bjndbibfp07wr796gf252y471cip10bbdqgqiwr"))))
71 (build-system gnu-build-system)
72 (outputs '("out"
73 "doc"
74 "tests"))
75 (arguments
76 `(#:modules ((ice-9 match)
77 (guix build gnu-build-system)
1d698a8b
ST
78 (guix build utils)
79 (srfi srfi-1))
7a2941a8 80 #:tests? #f ; Tests are run by the all.bash script.
2ab321ca
EF
81 ,@(if (string-prefix? "aarch64-linux" (or (%current-system)
82 (%current-target-system)))
83 '(#:system "armhf-linux")
84 '())
7a2941a8
MJ
85 #:phases
86 (modify-phases %standard-phases
87 (delete 'configure)
88 (add-after 'patch-generated-file-shebangs 'chdir
89 (lambda _
2a49f7ad
TGR
90 (chdir "src")
91 #t))
7a2941a8
MJ
92 (add-before 'build 'prebuild
93 (lambda* (#:key inputs outputs #:allow-other-keys)
94 (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))
95 (ld (string-append (assoc-ref inputs "libc") "/lib"))
96 (loader (car (find-files ld "^ld-linux.+")))
97 (net-base (assoc-ref inputs "net-base"))
98 (tzdata-path
99 (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
100 (output (assoc-ref outputs "out")))
101
102 ;; Removing net/ tests, which fail when attempting to access
103 ;; network resources not present in the build container.
104 (for-each delete-file
105 '("net/multicast_test.go" "net/parse_test.go"
106 "net/port_test.go"))
107
108 ;; Add libgcc to the RUNPATH.
109 (substitute* "cmd/go/build.go"
110 (("cgoldflags := \\[\\]string\\{\\}")
111 (string-append "cgoldflags := []string{"
112 "\"-rpath=" gcclib "\"}"))
113 (("ldflags := buildLdflags")
114 (string-append
115 "ldflags := buildLdflags\n"
116 "ldflags = append(ldflags, \"-r\")\n"
117 "ldflags = append(ldflags, \"" gcclib "\")\n")))
118
119 (substitute* "os/os_test.go"
120 (("/usr/bin") (getcwd))
121 (("/bin/pwd") (which "pwd")))
122
123 ;; Disable failing tests: these tests attempt to access
124 ;; commands or network resources which are neither available or
125 ;; necessary for the build to succeed.
126 (for-each
127 (match-lambda
128 ((file regex)
129 (substitute* file
130 ((regex all before test_name)
131 (string-append before "Disabled" test_name)))))
132 '(("net/net_test.go" "(.+)(TestShutdownUnix.+)")
133 ("net/dial_test.go" "(.+)(TestDialTimeout.+)")
134 ("os/os_test.go" "(.+)(TestHostname.+)")
135 ("time/format_test.go" "(.+)(TestParseInSydney.+)")
4b0bac4b
LF
136
137 ;; Tzdata 2016g changed the name of the time zone used in this
138 ;; test, and the patch for Go 1.7 does not work for 1.4.3:
139 ;; https://github.com/golang/go/issues/17545
140 ;; https://github.com/golang/go/issues/17276
141 ("time/time_test.go" "(.+)(TestLoadFixed.+)")
f826c8c7 142 ("time/format_test.go" "(.+)(TestParseInLocation.+)")
4b0bac4b 143
7a2941a8
MJ
144 ("os/exec/exec_test.go" "(.+)(TestEcho.+)")
145 ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)")
146 ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)")
147 ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)")
148 ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)")
149 ("os/exec/exec_test.go" "(.+)(TestPipes.+)")
150 ("os/exec/exec_test.go" "(.+)(TestStdinClose.+)")
151 ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)")
152 ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)")))
153
154 (substitute* "net/lookup_unix.go"
155 (("/etc/protocols") (string-append net-base "/etc/protocols")))
156 (substitute* "time/zoneinfo_unix.go"
157 (("/usr/share/zoneinfo/") tzdata-path))
158 (substitute* (find-files "cmd" "asm.c")
159 (("/lib/ld-linux.*\\.so\\.[0-9]") loader))
160 #t)))
161
162 (replace 'build
163 (lambda* (#:key inputs outputs #:allow-other-keys)
164 ;; FIXME: Some of the .a files are not bit-reproducible.
165 (let* ((output (assoc-ref outputs "out")))
166 (setenv "CC" (which "gcc"))
167 (setenv "GOOS" "linux")
168 (setenv "GOROOT" (dirname (getcwd)))
169 (setenv "GOROOT_FINAL" output)
04a95a4f
LF
170 ;; Go 1.4's cgo will not work with binutils >= 2.27:
171 ;; https://github.com/golang/go/issues/16906
172 (setenv "CGO_ENABLED" "0")
2a49f7ad 173 (invoke "sh" "all.bash"))))
7a2941a8
MJ
174
175 (replace 'install
176 (lambda* (#:key outputs inputs #:allow-other-keys)
177 (let* ((output (assoc-ref outputs "out"))
178 (doc_out (assoc-ref outputs "doc"))
179 (bash (string-append (assoc-ref inputs "bash") "bin/bash"))
180 (docs (string-append doc_out "/share/doc/" ,name "-" ,version))
181 (tests (string-append
182 (assoc-ref outputs "tests") "/share/" ,name "-" ,version)))
183 (mkdir-p tests)
184 (copy-recursively "../test" (string-append tests "/test"))
185 (delete-file-recursively "../test")
186 (mkdir-p docs)
187 (copy-recursively "../api" (string-append docs "/api"))
188 (delete-file-recursively "../api")
189 (copy-recursively "../doc" (string-append docs "/doc"))
190 (delete-file-recursively "../doc")
191
192 (for-each (lambda (file)
193 (let ((file (string-append "../" file)))
194 (install-file file docs)
195 (delete-file file)))
196 '("README" "CONTRIBUTORS" "AUTHORS" "PATENTS"
197 "LICENSE" "VERSION" "robots.txt"))
198 (copy-recursively "../" output)
199 #t))))))
200 (inputs
201 `(("tzdata" ,tzdata)
202 ("pcre" ,pcre)
fcbb8461
LF
203 ;; Building Go 1.10 with the Go 1.4 bootstrap, Thread Sanitizer from GCC
204 ;; 5 finds a data race during the the test suite of Go 1.10. With GCC 6,
205 ;; the race doesn't seem to be present:
206 ;; https://github.com/golang/go/issues/24046
207 ("gcc:lib" ,gcc-6 "lib")))
7a2941a8 208 (native-inputs
3f0ec617 209 `(("pkg-config" ,pkg-config)
7a2941a8
MJ
210 ("which" ,which)
211 ("net-base" ,net-base)
212 ("perl" ,perl)))
213
214 (home-page "https://golang.org/")
215 (synopsis "Compiler and libraries for Go, a statically-typed language")
216 (description "Go, also commonly referred to as golang, is an imperative
247064c3
TGR
217programming language designed primarily for systems programming. Go is a
218compiled, statically typed language in the tradition of C and C++, but adds
219garbage collection, various safety features, and concurrent programming features
220in the style of communicating sequential processes (@dfn{CSP}).")
2ab321ca 221 (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux"))
7a2941a8 222 (license license:bsd-3)))
ec91bcb5 223
5a14b913 224(define-public go-1.11
ec91bcb5
MJ
225 (package
226 (inherit go-1.4)
227 (name "go")
5a14b913 228 (version "1.11.5")
ec91bcb5
MJ
229 (source
230 (origin
231 (method url-fetch)
232 (uri (string-append "https://storage.googleapis.com/golang/"
233 name version ".src.tar.gz"))
234 (sha256
235 (base32
5a14b913 236 "0gllmbjvp12iszwils8id78mvjxwviwf98lh2gdkb236n4mz07mw"))))
ec91bcb5
MJ
237 (arguments
238 (substitute-keyword-arguments (package-arguments go-1.4)
239 ((#:phases phases)
240 `(modify-phases ,phases
5a14b913
LF
241 ;; XXX Work around the Go 1.11.5 tarbomb.
242 ;; <https://github.com/golang/go/issues/29906>
243 (add-after 'unpack 'tarbomb-workaround
244 (lambda _
245 (chdir "..")
246 (delete-file-recursively "gocache")
247 (delete-file-recursively "tmp")
248 #t))
249 (replace 'chdir
250 (lambda _
251 (chdir "go/src")
252 #t))
ec91bcb5 253 (replace 'prebuild
ec91bcb5
MJ
254 (lambda* (#:key inputs outputs #:allow-other-keys)
255 (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))
256 (ld (string-append (assoc-ref inputs "libc") "/lib"))
257 (loader (car (find-files ld "^ld-linux.+")))
258 (net-base (assoc-ref inputs "net-base"))
259 (tzdata-path
260 (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
261 (output (assoc-ref outputs "out")))
262
ec91bcb5 263 (for-each delete-file
5a14b913
LF
264 ;; Removing net/ tests, which fail when attempting to access
265 ;; network resources not present in the build container.
a6169621
P
266 '("net/listen_test.go"
267 "net/parse_test.go"
5a14b913
LF
268 "net/cgo_unix_test.go"
269 ;; A side effect of these test scripts is testing
270 ;; cgo. Attempts at using cgo flags and
271 ;; directives with these scripts as specified
272 ;; here (https://golang.org/cmd/cgo/) have not
273 ;; worked. The tests continue to state that they
274 ;; can not find crt1.o despite being present.
275 "cmd/go/testdata/script/list_compiled_imports.txt"
276 "cmd/go/testdata/script/mod_case_cgo.txt"
277 ;; https://github.com/golang/go/issues/24884
278 "os/user/user_test.go"))
ec91bcb5
MJ
279
280 (substitute* "os/os_test.go"
281 (("/usr/bin") (getcwd))
a6169621
P
282 (("/bin/pwd") (which "pwd"))
283 (("/bin/sh") (which "sh")))
ec91bcb5 284
5a14b913
LF
285 (substitute* "cmd/vendor/golang.org/x/sys/unix/syscall_unix_test.go"
286 (("/usr/bin") "/tmp"))
287
ec91bcb5
MJ
288 ;; Add libgcc to runpath
289 (substitute* "cmd/link/internal/ld/lib.go"
290 (("!rpath.set") "true"))
5a14b913 291 (substitute* "cmd/go/internal/work/gccgo.go"
ec91bcb5
MJ
292 (("cgoldflags := \\[\\]string\\{\\}")
293 (string-append "cgoldflags := []string{"
294 "\"-rpath=" gcclib "\""
295 "}"))
5a14b913
LF
296 (("\"-lgcc_s\", ")
297 (string-append
298 "\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", ")))
299 (substitute* "cmd/go/internal/work/gc.go"
ec91bcb5
MJ
300 (("ldflags = setextld\\(ldflags, compiler\\)")
301 (string-append
302 "ldflags = setextld(ldflags, compiler)\n"
303 "ldflags = append(ldflags, \"-r\")\n"
5a14b913 304 "ldflags = append(ldflags, \"" gcclib "\")\n")))
0a3e9bf6 305
ec91bcb5 306 ;; Disable failing tests: these tests attempt to access
1c797d4b
LF
307 ;; commands or network resources which are neither available
308 ;; nor necessary for the build to succeed.
ec91bcb5
MJ
309 (for-each
310 (match-lambda
311 ((file regex)
312 (substitute* file
313 ((regex all before test_name)
314 (string-append before "Disabled" test_name)))))
315 '(("net/net_test.go" "(.+)(TestShutdownUnix.+)")
316 ("net/dial_test.go" "(.+)(TestDialTimeout.+)")
317 ("os/os_test.go" "(.+)(TestHostname.+)")
318 ("time/format_test.go" "(.+)(TestParseInSydney.+)")
f826c8c7 319 ("time/format_test.go" "(.+)(TestParseInLocation.+)")
ec91bcb5
MJ
320 ("os/exec/exec_test.go" "(.+)(TestEcho.+)")
321 ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)")
322 ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)")
323 ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)")
324 ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)")
325 ("os/exec/exec_test.go" "(.+)(TestPipes.+)")
326 ("os/exec/exec_test.go" "(.+)(TestStdinClose.+)")
327 ("os/exec/exec_test.go" "(.+)(TestIgnorePipeErrorOnSuccess.+)")
328 ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)")
329 ("os/exec/exec_test.go" "(.+)(TestExtraFiles/areturn.+)")
330 ("cmd/go/go_test.go" "(.+)(TestCoverageWithCgo.+)")
3f157443 331 ("cmd/go/go_test.go" "(.+)(TestTwoPkgConfigs.+)")
ec91bcb5
MJ
332 ("os/exec/exec_test.go" "(.+)(TestOutputStderrCapture.+)")
333 ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)")
334 ("os/exec/exec_test.go" "(.+)(TestExtraFilesRace.+)")
335 ("net/lookup_test.go" "(.+)(TestLookupPort.+)")
336 ("syscall/exec_linux_test.go"
17399545 337 "(.+)(TestCloneNEWUSERAndRemapNoRootDisableSetgroups.+)")))
ec91bcb5 338
ec91bcb5
MJ
339 ;; fix shebang for testar script
340 ;; note the target script is generated at build time.
a6169621 341 (substitute* "../misc/cgo/testcarchive/carchive_test.go"
ec91bcb5
MJ
342 (("#!/usr/bin/env") (string-append "#!" (which "env"))))
343
344 (substitute* "net/lookup_unix.go"
345 (("/etc/protocols") (string-append net-base "/etc/protocols")))
346 (substitute* "net/port_unix.go"
347 (("/etc/services") (string-append net-base "/etc/services")))
348 (substitute* "time/zoneinfo_unix.go"
349 (("/usr/share/zoneinfo/") tzdata-path))
c04ef86e
P
350 (substitute* (find-files "cmd" "\\.go")
351 (("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader))
ec91bcb5
MJ
352 #t)))
353 (add-before 'build 'set-bootstrap-variables
354 (lambda* (#:key outputs inputs #:allow-other-keys)
355 ;; Tell the build system where to find the bootstrap Go.
5a14b913 356 (let ((go (assoc-ref inputs "go")))
ec91bcb5 357 (setenv "GOROOT_BOOTSTRAP" go)
ec91bcb5 358 (setenv "GOGC" "400")
ec91bcb5 359 #t)))
04a95a4f
LF
360 (replace 'build
361 (lambda* (#:key inputs outputs #:allow-other-keys)
362 ;; FIXME: Some of the .a files are not bit-reproducible.
363 (let* ((output (assoc-ref outputs "out")))
364 (setenv "CC" (which "gcc"))
365 (setenv "GOOS" "linux")
366 (setenv "GOROOT" (dirname (getcwd)))
367 (setenv "GOROOT_FINAL" output)
368 (setenv "CGO_ENABLED" "1")
188b88e2 369 (invoke "sh" "all.bash"))))
04a95a4f 370
ec91bcb5
MJ
371 (replace 'install
372 ;; TODO: Most of this could be factorized with Go 1.4.
373 (lambda* (#:key outputs #:allow-other-keys)
374 (let* ((output (assoc-ref outputs "out"))
375 (doc_out (assoc-ref outputs "doc"))
376 (docs (string-append doc_out "/share/doc/" ,name "-" ,version))
377 (src (string-append
378 (assoc-ref outputs "tests") "/share/" ,name "-" ,version)))
379 (delete-file-recursively "../pkg/bootstrap")
5a14b913
LF
380 ;; Prevent installation of the build cache, which contains
381 ;; store references to most of the tools used to build Go and
382 ;; would unnecessarily increase the size of Go's closure if it
383 ;; was installed.
384 (delete-file-recursively "../pkg/obj")
ec91bcb5
MJ
385
386 (mkdir-p src)
387 (copy-recursively "../test" (string-append src "/test"))
388 (delete-file-recursively "../test")
389 (mkdir-p docs)
390 (copy-recursively "../api" (string-append docs "/api"))
391 (delete-file-recursively "../api")
392 (copy-recursively "../doc" (string-append docs "/doc"))
393 (delete-file-recursively "../doc")
394
395 (for-each
396 (lambda (file)
397 (let* ((filein (string-append "../" file))
398 (fileout (string-append docs "/" file)))
399 (copy-file filein fileout)
400 (delete-file filein)))
401 ;; Note the slightly different file names compared to 1.4.
402 '("README.md" "CONTRIBUTORS" "AUTHORS" "PATENTS"
403 "LICENSE" "VERSION" "CONTRIBUTING.md" "robots.txt"))
404
188b88e2
TGR
405 (copy-recursively "../" output)
406 #t)))))))
ec91bcb5
MJ
407 (native-inputs
408 `(("go" ,go-1.4)
1009e6e7
EF
409 ,@(match (%current-system)
410 ((or "armhf-linux" "aarch64-linux")
411 `(("gold" ,binutils-gold)))
412 (_ `()))
dda785f6
EF
413 ,@(package-native-inputs go-1.4)))
414 (supported-systems %supported-systems)))
ec91bcb5 415
9a65a052 416(define-public go go-1.11)
d3878e88
LF
417
418(define-public go-github-com-alsm-ioprogress
419 (let ((commit "063c3725f436e7fba0c8f588547bee21ffec7ac5")
420 (revision "0"))
421 (package
422 (name "go-github-com-alsm-ioprogress")
423 (version (git-version "0.0.0" revision commit))
424 (source (origin
425 (method git-fetch)
426 (uri (git-reference
427 (url "https://github.com/alsm/ioprogress.git")
428 (commit commit)))
fdbece74 429 (file-name (git-file-name name version))
d3878e88
LF
430 (sha256
431 (base32
432 "10ym5qlq77nynmkxbk767f2hfwyxg2k7hrzph05hvgzv833dhivh"))))
433 (build-system go-build-system)
434 (arguments
435 '(#:import-path "github.com/alsm/ioprogress"))
436 (synopsis "Textual progress bars in Go")
437 (description "@code{ioprogress} is a Go library with implementations of
438@code{io.Reader} and @code{io.Writer} that draws progress bars. The primary use
439case for these are for command-line applications but alternate progress bar
440writers can be supplied for alternate environments.")
441 (home-page "https://github.com/alsm/ioprogress")
442 (license license:expat))))
11b12655
LF
443
444(define-public go-github-com-aki237-nscjar
445 (let ((commit "e2df936ddd6050d30dd90c7214c02b5019c42f06")
446 (revision "0"))
447 (package
448 (name "go-github-com-aki237-nscjar")
449 (version (git-version "0.0.0" revision commit))
450 (source (origin
451 (method git-fetch)
452 (uri (git-reference
453 (url "https://github.com/aki237/nscjar.git")
454 (commit commit)))
82f09c0e 455 (file-name (git-file-name name version))
11b12655
LF
456 (sha256
457 (base32
458 "03y7zzq12qvhsq86lb06sgns8xrkblbn7i7wd886wk3zr5574b96"))))
459 (build-system go-build-system)
460 (arguments
461 '(#:import-path "github.com/aki237/nscjar"))
462 (synopsis "Handle Netscape / Mozilla cookies")
463 (description "@code{nscjar} is a Go library used to parse and output
464Netscape/Mozilla's old-style cookie files. It also implements a simple cookie
465jar struct to manage the cookies added to the cookie jar.")
466 (home-page "https://github.com/aki237/nscjar")
467 (license license:expat))))
12f496ba 468
60a8cbc4
CB
469(define-public go-github.com-jessevdk-go-flags
470 (package
471 (name "go-github.com-jessevdk-go-flags")
472 (version "1.3.0")
473 (source (origin
474 (method git-fetch)
475 (uri (git-reference
476 (url "https://github.com/jessevdk/go-flags")
477 (commit (string-append "v" version))))
478 (file-name (git-file-name name version))
479 (sha256
480 (base32
481 "1jk2k2l10lwrn1r3nxdvbs0yz656830j4khzirw8p4ahs7c5zz36"))))
482 (build-system go-build-system)
483 (arguments
484 '(#:import-path "github.com/jessevdk/go-flags"))
485 (synopsis "Go library for parsing command line arguments")
486 (description
487 "The @code{flags} package provides a command line option parser. The
488functionality is similar to the go builtin @code{flag} package, but
489@code{flags} provides more options and uses reflection to provide a succinct
490way of specifying command line options.")
491 (home-page "https://github.com/jessevdk/go-flags")
492 (license license:bsd-3)))
210c6d95
CB
493
494(define-public go-gopkg.in-tomb.v2
495 (let ((commit "d5d1b5820637886def9eef33e03a27a9f166942c")
496 (revision "0"))
497 (package
498 (name "go-gopkg.in-tomb.v2")
499 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
500 (source (origin
501 (method git-fetch)
502 (uri (git-reference
503 (url "https://github.com/go-tomb/tomb.git")
504 (commit commit)))
505 (file-name (string-append name "-" version ".tar.gz"))
506 (sha256
507 (base32
508 "1sv15sri99szkdz1bkh0ir46w9n8prrwx5hfai13nrhkawfyfy10"))))
509 (build-system go-build-system)
510 (arguments
69a64ecd
CB
511 '(#:import-path "gopkg.in/tomb.v2"
512 #:phases
513 (modify-phases %standard-phases
514 (add-after 'unpack 'patch-source
515 (lambda _
516 ;; Add a missing % to fix the compilation of this test
517 (substitute* "src/gopkg.in/tomb.v2/tomb_test.go"
518 (("t.Fatalf\\(`Killf\\(\"BO%s")
519 "t.Fatalf(`Killf(\"BO%%s"))
520 #t)))))
210c6d95
CB
521 (synopsis "@code{tomb} handles clean goroutine tracking and termination")
522 (description
523 "The @code{tomb} package handles clean goroutine tracking and
524termination.")
525 (home-page "https://gopkg.in/tomb.v2")
526 (license license:bsd-3))))
da6f9d41
CB
527
528(define-public go-github.com-jtolds-gls
529 (package
530 (name "go-github.com-jtolds-gls")
f0736d47 531 (version "4.20")
da6f9d41
CB
532 (source (origin
533 (method git-fetch)
534 (uri (git-reference
535 (url "https://github.com/jtolds/gls")
536 (commit (string-append "v" version))))
537 (file-name (git-file-name name version))
538 (sha256
539 (base32
f0736d47 540 "1k7xd2q2ysv2xsh373qs801v6f359240kx0vrl0ydh7731lngvk6"))))
da6f9d41
CB
541 (build-system go-build-system)
542 (arguments
543 '(#:import-path "github.com/jtolds/gls"))
544 (synopsis "@code{gls} provides Goroutine local storage")
545 (description
546 "The @code{gls} package provides a way to store a retrieve values
547per-goroutine.")
548 (home-page "https://github.com/jtolds/gls")
549 (license license:expat)))
c4d2cffa
CB
550
551(define-public go-github-com-tj-docopt
552 (package
553 (name "go-github-com-tj-docopt")
554 (version "1.0.0")
555 (source (origin
556 (method git-fetch)
557 (uri (git-reference
558 (url "https://github.com/tj/docopt")
559 (commit (string-append "v" version))))
560 (file-name (git-file-name name version))
561 (sha256
562 (base32
563 "06h8hdg1mh3s78zqlr01g4si7k0f0g6pr7fj7lnvfg446hgc7080"))))
564 (build-system go-build-system)
565 (arguments
566 '(#:import-path "github.com/tj/docopt"))
567 (synopsis "Go implementation of docopt")
568 (description
569 "This library allows the user to define a command-line interface from a
570program's help message rather than specifying it programatically with
571command-line parsers.")
572 (home-page "https://github.com/tj/docopt")
573 (license license:expat)))
ed0c6a76
CB
574
575(define-public go-github-com-hashicorp-hcl
576 (let ((commit "23c074d0eceb2b8a5bfdbb271ab780cde70f05a8")
577 (revision "0"))
578 (package
579 (name "go-github-com-hashicorp-hcl")
580 (version (git-version "0.0.0" revision commit))
581 (source (origin
582 (method git-fetch)
583 (uri (git-reference
584 (url "https://github.com/hashicorp/hcl")
585 (commit commit)))
586 (file-name (git-file-name name version))
587 (sha256
588 (base32
589 "0db4lpqb5m130rmfy3s3gjjf4dxllypmyrzxv6ggqhkmwmc7w4mc"))))
590 (build-system go-build-system)
591 (arguments
592 '(#:tests? #f
593 #:import-path "github.com/hashicorp/hcl"))
594 (synopsis "Go implementation of HashiCorp Configuration Language")
595 (description
596 "This package contains the main implementation of the @acronym{HCL,
597HashiCorp Configuration Language}. HCL is designed to be a language for
598expressing configuration which is easy for both humans and machines to read.")
599 (home-page "https://github.com/hashicorp/hcl")
600 (license license:mpl2.0))))
269d0858
LF
601
602(define-public go-golang-org-x-crypto-bcrypt
782dd442
LF
603 (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8")
604 (revision "2"))
269d0858
LF
605 (package
606 (name "go-golang-org-x-crypto-bcrypt")
607 (version (git-version "0.0.0" revision commit))
608 (source (origin
609 (method git-fetch)
610 (uri (git-reference
611 (url "https://go.googlesource.com/crypto")
612 (commit commit)))
613 (file-name (string-append "go.googlesource.com-crypto-"
614 version "-checkout"))
615 (sha256
616 (base32
782dd442 617 "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr"))))
269d0858
LF
618 (build-system go-build-system)
619 (arguments
620 `(#:import-path "golang.org/x/crypto/bcrypt"
9c359ff4 621 #:unpack-path "golang.org/x/crypto"))
269d0858
LF
622 (synopsis "Bcrypt in Go")
623 (description "This package provides a Go implementation of the bcrypt
624password hashing function.")
625 (home-page "https://go.googlesource.com/crypto/")
626 (license license:bsd-3))))
627
628(define-public go-golang-org-x-crypto-blowfish
782dd442
LF
629 (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8")
630 (revision "2"))
269d0858
LF
631 (package
632 (name "go-golang-org-x-crypto-blowfish")
633 (version (git-version "0.0.0" revision commit))
634 (source (origin
635 (method git-fetch)
636 (uri (git-reference
637 (url "https://go.googlesource.com/crypto")
638 (commit commit)))
639 (file-name (string-append "go.googlesource.com-crypto-"
640 version "-checkout"))
641 (sha256
642 (base32
782dd442 643 "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr"))))
269d0858
LF
644 (build-system go-build-system)
645 (arguments
646 `(#:import-path "golang.org/x/crypto/blowfish"
9c359ff4 647 #:unpack-path "golang.org/x/crypto"))
269d0858
LF
648 (synopsis "Blowfish in Go")
649 (description "This package provides a Go implementation of the Blowfish
650symmetric-key block cipher.")
651 (home-page "https://go.googlesource.com/crypto/")
652 (license license:bsd-3))))
653
654(define-public go-golang-org-x-crypto-pbkdf2
782dd442
LF
655 (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8")
656 (revision "2"))
269d0858
LF
657 (package
658 (name "go-golang-org-x-crypto-pbkdf2")
659 (version (git-version "0.0.0" revision commit))
660 (source (origin
661 (method git-fetch)
662 (uri (git-reference
663 (url "https://go.googlesource.com/crypto")
664 (commit commit)))
665 (file-name (string-append "go.googlesource.com-crypto-"
666 version "-checkout"))
667 (sha256
668 (base32
782dd442 669 "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr"))))
269d0858
LF
670 (build-system go-build-system)
671 (arguments
672 `(#:import-path "golang.org/x/crypto/pbkdf2"
9c359ff4 673 #:unpack-path "golang.org/x/crypto"))
269d0858
LF
674 (synopsis "PBKDF2 in Go")
675 (description "This package provides a Go implementation of the PBKDF2 key
676derivation function.")
677 (home-page "https://go.googlesource.com/crypto/")
678 (license license:bsd-3))))
679
680(define-public go-golang-org-x-crypto-tea
782dd442
LF
681 (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8")
682 (revision "2"))
269d0858
LF
683 (package
684 (name "go-golang-org-x-crypto-tea")
685 (version (git-version "0.0.0" revision commit))
686 (source (origin
687 (method git-fetch)
688 (uri (git-reference
689 (url "https://go.googlesource.com/crypto")
690 (commit commit)))
691 (file-name (string-append "go.googlesource.com-crypto-"
692 version "-checkout"))
693 (sha256
694 (base32
782dd442 695 "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr"))))
269d0858
LF
696 (build-system go-build-system)
697 (arguments
698 `(#:import-path "golang.org/x/crypto/tea"
9c359ff4 699 #:unpack-path "golang.org/x/crypto"))
269d0858
LF
700 (synopsis "Tiny Encryption Algorithm (TEA) in Go")
701 (description "This packages a Go implementation of the Tiny Encryption
702Algorithm (TEA) block cipher.")
703 (home-page "https://go.googlesource.com/crypto/")
704 (license license:bsd-3))))
705
706(define-public go-golang-org-x-crypto-salsa20
782dd442
LF
707 (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8")
708 (revision "2"))
269d0858
LF
709 (package
710 (name "go-golang-org-x-crypto-salsa20")
711 (version (git-version "0.0.0" revision commit))
712 (source (origin
713 (method git-fetch)
714 (uri (git-reference
715 (url "https://go.googlesource.com/crypto")
716 (commit commit)))
717 (file-name (string-append "go.googlesource.com-crypto-"
718 version "-checkout"))
719 (sha256
720 (base32
782dd442 721 "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr"))))
269d0858
LF
722 (build-system go-build-system)
723 (arguments
724 `(#:import-path "golang.org/x/crypto/salsa20"
9c359ff4 725 #:unpack-path "golang.org/x/crypto"))
269d0858
LF
726 (synopsis "Salsa20 in Go")
727 (description "This packages provides a Go implementation of the Salsa20
728stream cipher.")
729 (home-page "https://go.googlesource.com/crypto/")
730 (license license:bsd-3))))
731
732(define-public go-golang-org-x-crypto-cast5
782dd442
LF
733 (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8")
734 (revision "2"))
269d0858
LF
735 (package
736 (name "go-golang-org-x-crypto-cast5")
737 (version (git-version "0.0.0" revision commit))
738 (source (origin
739 (method git-fetch)
740 (uri (git-reference
741 (url "https://go.googlesource.com/crypto")
742 (commit commit)))
743 (file-name (string-append "go.googlesource.com-crypto-"
744 version "-checkout"))
745 (sha256
746 (base32
782dd442 747 "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr"))))
269d0858
LF
748 (build-system go-build-system)
749 (arguments
750 `(#:import-path "golang.org/x/crypto/cast5"
9c359ff4 751 #:unpack-path "golang.org/x/crypto"))
269d0858
LF
752 (synopsis "Cast5 in Go")
753 (description "This packages provides a Go implementation of the Cast5
754symmetric-key block cipher.")
755 (home-page "https://go.googlesource.com/crypto/")
756 (license license:bsd-3))))
757
758(define-public go-golang-org-x-crypto-twofish
782dd442
LF
759 (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8")
760 (revision "2"))
269d0858
LF
761 (package
762 (name "go-golang-org-x-crypto-twofish")
763 (version (git-version "0.0.0" revision commit))
764 (source (origin
765 (method git-fetch)
766 (uri (git-reference
767 (url "https://go.googlesource.com/crypto")
768 (commit commit)))
769 (file-name (string-append "go.googlesource.com-crypto-"
770 version "-checkout"))
771 (sha256
772 (base32
782dd442 773 "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr"))))
269d0858
LF
774 (build-system go-build-system)
775 (arguments
776 `(#:import-path "golang.org/x/crypto/twofish"
9c359ff4 777 #:unpack-path "golang.org/x/crypto"))
269d0858
LF
778 (synopsis "Twofish in Go")
779 (description "This packages provides a Go implementation of the Twofish
780symmetric-key block cipher.")
781 (home-page "https://go.googlesource.com/crypto/")
782 (license license:bsd-3))))
783
784(define-public go-golang-org-x-crypto-xtea
782dd442
LF
785 (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8")
786 (revision "2"))
269d0858
LF
787 (package
788 (name "go-golang-org-x-crypto-xtea")
789 (version (git-version "0.0.0" revision commit))
790 (source (origin
791 (method git-fetch)
792 (uri (git-reference
793 (url "https://go.googlesource.com/crypto")
794 (commit commit)))
795 (file-name (string-append "go.googlesource.com-crypto-"
796 version "-checkout"))
797 (sha256
798 (base32
782dd442 799 "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr"))))
269d0858
LF
800 (build-system go-build-system)
801 (arguments
802 `(#:import-path "golang.org/x/crypto/xtea"
9c359ff4 803 #:unpack-path "golang.org/x/crypto"))
269d0858
LF
804 (synopsis "eXtended Tiny Encryption Algorithm (XTEA) in Go")
805 (description "This package provides a Go implementation of the eXtended
806Tiny Encryption Algorithm (XTEA) block cipher.")
807 (home-page "https://go.googlesource.com/crypto/")
808 (license license:bsd-3))))
809
7eb0ad38
PN
810(define-public go-golang-org-x-crypto-ed25519
811 (package
812 (inherit go-golang-org-x-crypto-bcrypt)
813 (name "go-golang-org-x-crypto-ed25519")
814 (arguments
9c359ff4
LF
815 `(#:import-path "golang.org/x/crypto/ed25519"
816 #:unpack-path "golang.org/x/crypto"
817 #:phases
818 (modify-phases %standard-phases
819 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
820 (lambda* (#:key outputs #:allow-other-keys)
821 (map (lambda (file)
822 (make-file-writable file))
823 (find-files
824 (string-append (assoc-ref outputs "out")
825 "/src/golang.org/x/crypto/ed25519/testdata")
826 ".*\\.gz$"))
827 #t)))))
7eb0ad38
PN
828 (synopsis "ED25519 in Go")
829 (description "This package provides a Go implementation of the ED25519
830signature algorithm.")))
831
a9010ead
PN
832(define-public go-golang-org-x-crypto-ripemd160
833 (package
834 (inherit go-golang-org-x-crypto-bcrypt)
835 (name "go-golang-org-x-crypto-ripemd160")
836 (arguments
837 (substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt)
838 ((#:import-path _)
839 "golang.org/x/crypto/ripemd160")))
840 (synopsis "RIPEMD-160 in Go")
841 (description "This package provides a Go implementation of the RIPEMD-160
842hash algorithm.")))
843
6fa257cc
PN
844(define-public go-golang-org-x-crypto-blake2s
845 (package
846 (inherit go-golang-org-x-crypto-bcrypt)
847 (name "go-golang-org-x-crypto-blake2s")
848 (arguments
849 (substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt)
850 ((#:import-path _)
851 "golang.org/x/crypto/blake2s")))
852 (synopsis "BLAKE2s in Go")
853 (description "This package provides a Go implementation of the BLAKE2s
854hash algorithm.")))
855
19789c8b
PN
856(define-public go-golang-org-x-crypto-sha3
857 (package
858 (inherit go-golang-org-x-crypto-bcrypt)
859 (name "go-golang-org-x-crypto-sha3")
860 (arguments
861 (substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt)
862 ((#:import-path _)
863 "golang.org/x/crypto/sha3")))
864 (synopsis "SHA-3 in Go")
865 (description "This package provides a Go implementation of the SHA-3
866fixed-output-length hash functions and the SHAKE variable-output-length hash
867functions defined by FIPS-202.")))
868
269d0858 869(define-public go-golang-org-x-net-ipv4
3034d1a1
LF
870 (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0")
871 (revision "2"))
269d0858
LF
872 (package
873 (name "go-golang-org-x-net-ipv4")
874 (version (git-version "0.0.0" revision commit))
875 (source (origin
876 (method git-fetch)
877 (uri (git-reference
878 (url "https://go.googlesource.com/net")
879 (commit commit)))
880 (file-name (git-file-name name version))
881 (sha256
882 (base32
3034d1a1 883 "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k"))))
269d0858
LF
884 (build-system go-build-system)
885 (arguments
886 `(#:import-path "golang.org/x/net/ipv4"
887 #:unpack-path "golang.org/x/net"))
888 (synopsis "Go IPv4 support")
889 (description "This package provides @code{ipv4}, which implements IP-level
890socket options for the Internet Protocol version 4.")
891 (home-page "https://go.googlesource.com/net")
892 (license license:bsd-3))))
893
894(define-public go-golang-org-x-net-bpf
3034d1a1
LF
895 (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0")
896 (revision "2"))
269d0858
LF
897 (package
898 (name "go-golang-org-x-net-bpf")
899 (version (git-version "0.0.0" revision commit))
900 (source (origin
901 (method git-fetch)
902 (uri (git-reference
903 (url "https://go.googlesource.com/net")
904 (commit commit)))
905 (file-name (string-append "go.googlesource.com-net-"
906 version "-checkout"))
907 (sha256
908 (base32
3034d1a1 909 "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k"))))
269d0858
LF
910 (build-system go-build-system)
911 (arguments
912 `(#:import-path "golang.org/x/net/bpf"
913 #:unpack-path "golang.org/x/net"))
914 (synopsis "Berkeley Packet Filters (BPF) in Go")
915 (description "This packages provides a Go implementation of the Berkeley
916Packet Filter (BPF) virtual machine.")
917 (home-page "https://go.googlesource.com/net/")
918 (license license:bsd-3))))
919
920(define-public go-golang-org-x-net-context
3034d1a1
LF
921 (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0")
922 (revision "2"))
269d0858
LF
923 (package
924 (name "go-golang-org-x-net-context")
925 (version (git-version "0.0.0" revision commit))
926 (source (origin
927 (method git-fetch)
928 (uri (git-reference
929 (url "https://go.googlesource.com/net")
930 (commit commit)))
931 (file-name (string-append "go.googlesource.com-net-"
932 version "-checkout"))
933 (sha256
934 (base32
3034d1a1 935 "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k"))))
269d0858
LF
936 (build-system go-build-system)
937 (arguments
938 `(#:import-path "golang.org/x/net/context"
939 #:unpack-path "golang.org/x/net"))
940 (synopsis "Golang Context type")
941 (description "This packages provides @code{context}, which defines the
942Context type, which carries deadlines, cancelation signals, and other
943request-scoped values across API boundaries and between processes.")
944 (home-page "https://go.googlesource.com/net/")
945 (license license:bsd-3))))
946
3034d1a1
LF
947(define-public go-golang-org-x-net-internal-socks
948 (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0")
949 (revision "2"))
950 (package
951 (name "go-golang-org-x-net-internal-socks")
952 (version (git-version "0.0.0" revision commit))
953 (source (origin
954 (method git-fetch)
955 (uri (git-reference
956 (url "https://go.googlesource.com/net")
957 (commit commit)))
958 (file-name (string-append "go.googlesource.com-net-"
959 version "-checkout"))
960 (sha256
961 (base32
962 "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k"))))
963 (build-system go-build-system)
964 (arguments
965 `(#:import-path "golang.org/x/net/internal/socks"
966 #:unpack-path "golang.org/x/net"))
967 (synopsis "")
968 (description "")
969 (home-page "https://go.googlesource.com/net/")
970 (license license:bsd-3))))
971
972(define-public go-golang-org-x-net-internal-socket
973 (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0")
974 (revision "2"))
975 (package
976 (name "go-golang-org-x-net-internal-socket")
977 (version (git-version "0.0.0" revision commit))
978 (source (origin
979 (method git-fetch)
980 (uri (git-reference
981 (url "https://go.googlesource.com/net")
982 (commit commit)))
983 (file-name (string-append "go.googlesource.com-net-"
984 version "-checkout"))
985 (sha256
986 (base32
987 "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k"))))
988 (build-system go-build-system)
989 (arguments
990 `(#:import-path "golang.org/x/net/internal/socket"
991 #:unpack-path "golang.org/x/net"))
992 (synopsis "")
993 (description "")
994 (home-page "https://go.googlesource.com/net/")
995 (license license:bsd-3))))
996
269d0858 997(define-public go-golang-org-x-net-internal-iana
3034d1a1
LF
998 (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0")
999 (revision "2"))
269d0858
LF
1000 (package
1001 (name "go-golang-org-x-net-internal-iana")
1002 (version (git-version "0.0.0" revision commit))
1003 (source (origin
1004 (method git-fetch)
1005 (uri (git-reference
1006 (url "https://go.googlesource.com/net")
1007 (commit commit)))
1008 (file-name (string-append "go.googlesource.com-net-"
1009 version "-checkout"))
1010 (sha256
1011 (base32
3034d1a1 1012 "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k"))))
269d0858
LF
1013 (build-system go-build-system)
1014 (arguments
1015 `(#:import-path "golang.org/x/net/internal/iana"
1016 #:unpack-path "golang.org/x/net"))
1017 (synopsis "Go support for assigned numbers (IANA)")
1018 (description "This packages provides @code{iana}, which provides protocol
1019number resources managed by the Internet Assigned Numbers Authority (IANA).")
1020 (home-page "https://go.googlesource.com/net/")
1021 (license license:bsd-3))))
1022
1023(define-public go-golang-org-x-net-ipv6
3034d1a1
LF
1024 (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0")
1025 (revision "2"))
269d0858
LF
1026 (package
1027 (name "go-golang-org-x-net-ipv6")
1028 (version (git-version "0.0.0" revision commit))
1029 (source (origin
1030 (method git-fetch)
1031 (uri (git-reference
1032 (url "https://go.googlesource.com/net")
1033 (commit commit)))
1034 (file-name (string-append "go.googlesource.com-net-"
1035 version "-checkout"))
1036 (sha256
1037 (base32
3034d1a1 1038 "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k"))))
269d0858
LF
1039 (build-system go-build-system)
1040 (arguments
1041 `(#:import-path "golang.org/x/net/ipv6"
1042 #:unpack-path "golang.org/x/net"))
1043 (synopsis "Go IPv6 support")
1044 (description "This packages provides @code{ipv6}, which implements
1045IP-level socket options for the Internet Protocol version 6.")
1046 (home-page "https://go.googlesource.com/net")
1047 (license license:bsd-3))))
1048
1049(define-public go-golang-org-x-net-proxy
3034d1a1
LF
1050 (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0")
1051 (revision "2"))
269d0858
LF
1052 (package
1053 (name "go-golang-org-x-net-proxy")
1054 (version (git-version "0.0.0" revision commit))
1055 (source (origin
1056 (method git-fetch)
1057 (uri (git-reference
1058 (url "https://go.googlesource.com/net")
1059 (commit commit)))
1060 (file-name (string-append "go.googlesource.com-net-"
1061 version "-checkout"))
1062 (sha256
1063 (base32
3034d1a1 1064 "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k"))))
269d0858
LF
1065 (build-system go-build-system)
1066 (arguments
1067 `(#:import-path "golang.org/x/net/proxy"
1068 #:unpack-path "golang.org/x/net/"))
1069 (synopsis "Go support for network proxies")
1070 (description "This packages provides @code{proxy}, which provides support
1071for a variety of protocols to proxy network data.")
1072 (home-page "https://go.googlesource.com/net")
1073 (license license:bsd-3))))
1074
1075(define-public go-golang-org-x-sys-unix
b3f0f8a6
LF
1076 (let ((commit "4d1cda033e0619309c606fc686de3adcf599539e")
1077 (revision "2"))
269d0858
LF
1078 (package
1079 (name "go-golang-org-x-sys-unix")
1080 (version (git-version "0.0.0" revision commit))
1081 (source (origin
1082 (method git-fetch)
1083 (uri (git-reference
1084 (url "https://go.googlesource.com/sys")
1085 (commit commit)))
1086 (file-name (git-file-name name version))
1087 (sha256
1088 (base32
b3f0f8a6 1089 "1wgaldbnkmh568v8kkgvnmkskaj96fqrbzhx23yji2kh1432q6gh"))))
269d0858
LF
1090 (build-system go-build-system)
1091 (arguments
1092 `(#:import-path "golang.org/x/sys/unix"
b3f0f8a6 1093 #:unpack-path "golang.org/x/sys"))
269d0858
LF
1094 (synopsis "Go support for low-level system interaction")
1095 (description "This package provides @code{unix}, which offers Go support
1096for low-level interaction with the operating system.")
1097 (home-page "https://go.googlesource.com/sys")
1098 (license license:bsd-3))))
1099
1100(define-public go-golang-org-x-text-transform
1101 (let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3")
1102 (revision "1"))
1103 (package
1104 (name "go-golang-org-x-text-transform")
1105 (version (git-version "0.0.0" revision commit))
1106 (source (origin
1107 (method git-fetch)
1108 (uri (git-reference
1109 (url "https://go.googlesource.com/text")
1110 (commit commit)))
1111 (file-name (string-append "go.googlesource.com-text-"
1112 version "-checkout"))
1113 (sha256
1114 (base32
1115 "1cvnnx8nwx5c7gr6ajs7sldhbqh52n7h6fsa3i21l2lhx6xrsh4w"))))
1116 (build-system go-build-system)
1117 (arguments
1118 `(#:import-path "golang.org/x/text/transform"
1119 #:unpack-path "golang.org/x/text"))
1120 (synopsis "Go text transformation")
1121 (description "This package provides @code{transform}, which provides
1122reader and writer wrappers that transform the bytes passing through. Example
1123transformations provided by other packages include normalization and conversion
1124between character sets.")
1125 (home-page "https://go.googlesource.com/text")
1126 (license license:bsd-3))))
1127
1128(define-public go-golang-org-x-text-unicode-norm
1129 (let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3")
1130 (revision "1"))
1131 (package
1132 (name "go-golang-org-x-text-unicode-norm")
1133 (version (git-version "0.0.0" revision commit))
1134 (source (origin
1135 (method git-fetch)
1136 (uri (git-reference
1137 (url "https://go.googlesource.com/text")
1138 (commit commit)))
1139 (file-name (string-append "go.googlesource.com-text-"
1140 version "-checkout"))
1141 (sha256
1142 (base32
1143 "1cvnnx8nwx5c7gr6ajs7sldhbqh52n7h6fsa3i21l2lhx6xrsh4w"))))
1144 (build-system go-build-system)
1145 (arguments
1146 `(#:import-path "golang.org/x/text/unicode/norm"
1147 #:unpack-path "golang.org/x/text"))
1148 (synopsis "Unicode normalization in Go")
1149 (description "This package provides @code{norm}, which contains types and
1150functions for normalizing Unicode strings.")
1151 (home-page "https://go.googlesource.com/text")
1152 (license license:bsd-3))))
1153
1154(define-public go-golang-org-x-time-rate
1155 (let ((commit "6dc17368e09b0e8634d71cac8168d853e869a0c7")
1156 (revision "1"))
1157 (package
1158 (name "go-golang-org-x-time-rate")
1159 (version (git-version "0.0.0" revision commit))
1160 (source (origin
1161 (method git-fetch)
1162 (uri (git-reference
1163 (url "https://go.googlesource.com/time")
1164 (commit commit)))
1165 (file-name (git-file-name name version))
1166 (sha256
1167 (base32
1168 "1fx4cf5fpdz00g3c7vxzy92hdcg0vh4yqw00qp5s52j72qixynbk"))))
1169 (build-system go-build-system)
1170 (arguments
1171 `(#:import-path "golang.org/x/time/rate"
1172 #:unpack-path "golang.org/x/time"))
1173 (propagated-inputs
1174 `(("go-golang-org-x-net-context" ,go-golang-org-x-net-context)))
1175 (synopsis "Rate limiting in Go")
1176 (description "This package provides @{rate}, which implements rate
1177limiting in Go.")
1178 (home-page "https://godoc.org/golang.org/x/time/rate")
1179 (license license:bsd-3))))
e60352e4
1180
1181(define-public go-golang-org-x-crypto-ssh-terminal
1182 (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
1183 (revision "1"))
1184 (package
1185 (name "go-golang-org-x-crypto-ssh-terminal")
1186 (version (git-version "0.0.0" revision commit))
1187 (source (origin
1188 (method git-fetch)
1189 (uri (git-reference
1190 (url "https://go.googlesource.com/crypto")
1191 (commit commit)))
1192 (file-name (string-append "go.googlesource.com-crypto-"
1193 version "-checkout"))
1194 (sha256
1195 (base32
1196 "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
1197 (build-system go-build-system)
1198 (inputs
1199 `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
1200 (arguments
1201 `(#:import-path "golang.org/x/crypto/ssh/terminal"
9c359ff4 1202 #:unpack-path "golang.org/x/crypto"))
e60352e4
1203 (synopsis "Terminal functions for Go")
1204 (description "This package provides @{terminal}, which implements
1205support functions for dealing with terminals, as commonly found on UNIX
1206systems.")
1207 (home-page "https://go.googlesource.com/crypto/")
1208 (license license:bsd-3))))
fb50664f
PAR
1209
1210(define-public go-github-com-burntsushi-toml
1211 (let ((commit
1212 "a368813c5e648fee92e5f6c30e3944ff9d5e8895")
1213 (revision "0"))
1214 (package
1215 (name "go-github-com-burntsushi-toml")
1216 (version (git-version "0.0.0" revision commit))
1217 (source
1218 (origin
1219 (method git-fetch)
1220 (uri (git-reference
1221 (url "https://github.com/BurntSushi/toml.git")
1222 (commit commit)))
1223 (file-name (git-file-name name version))
1224 (sha256
1225 (base32
1226 "1sjxs2lwc8jpln80s4rlzp7nprbcljhy5mz4rf9995gq93wqnym5"))))
1227 (build-system go-build-system)
1228 (arguments
1229 '(#:import-path "github.com/BurntSushi/toml"))
1230 (home-page "https://github.com/BurntSushi/toml")
1231 (synopsis "Toml parser and encoder for Go")
1232 (description "This package is toml parser and encoder for Go. The
1233interface is similar to Go's standard library @code{json} and @code{xml}
1234package.")
1235 (license license:expat))))
8c5a69aa
PAR
1236
1237(define-public go-github-com-getsentry-raven-go
1238 (let ((commit
1239 "dffeb57df75d6a911f00232155194e43d79d38d7")
1240 (revision "0"))
1241 (package
1242 (name "go-github-com-getsentry-raven-go")
1243 (version (git-version "0.0.0" revision commit))
1244 (source
1245 (origin
1246 (method git-fetch)
1247 (uri (git-reference
1248 (url "https://github.com/getsentry/raven-go.git")
1249 (commit commit)))
1250 (file-name (git-file-name name version))
1251 (sha256
1252 (base32
1253 "13sb9rvl3369m7fah3ss9g0hwky259snqfn8gmbr0h5zvp651lja"))))
1254 (build-system go-build-system)
1255 (arguments
1256 '(#:import-path "github.com/getsentry/raven-go"))
1257 (home-page
1258 "https://github.com/getsentry/raven-go")
1259 (synopsis "Sentry client in Go")
1260 (description "This package is Go client API for the Sentry event/error
1261logging system.")
1262 (license license:bsd-3))))
0972411a
PAR
1263
1264(define-public go-github-com-hashicorp-go-version
1265 (let ((commit
1266 "03c5bf6be031b6dd45afec16b1cf94fc8938bc77")
1267 (revision "0"))
1268 (package
1269 (name "go-github-com-hashicorp-go-version")
1270 (version (git-version "0.0.0" revision commit))
1271 (source
1272 (origin
1273 (method git-fetch)
1274 (uri (git-reference
1275 (url "https://github.com/hashicorp/go-version.git")
1276 (commit commit)))
1277 (file-name (git-file-name name version))
1278 (sha256
1279 (base32
1280 "0sjq57gpfznaqdrbyb2p0bn90g9h661cvr0jrk6ngags4pbw14ik"))))
1281 (build-system go-build-system)
1282 (arguments
1283 '(#:import-path "github.com/hashicorp/go-version"))
1284 (home-page
1285 "https://github.com/hashicorp/go-version")
1286 (synopsis "Go library for parsing and verifying versions and version
1287constraints")
1288 (description "This package is a library for parsing versions and version
1289constraints, and verifying versions against a set of constraints. It can sort
1290a collection of versions properly, handles prerelease/beta versions, can
1291increment versions.")
1292 (license license:mpl2.0))))
c4230cda
PAR
1293
1294(define-public go-github-com-jpillora-backoff
1295 (let ((commit
1296 "06c7a16c845dc8e0bf575fafeeca0f5462f5eb4d")
1297 (revision "0"))
1298 (package
1299 (name "go-github-com-jpillora-backoff")
1300 (version (git-version "0.0.0" revision commit))
1301 (source
1302 (origin
1303 (method git-fetch)
1304 (uri (git-reference
1305 (url "https://github.com/jpillora/backoff.git")
1306 (commit commit)))
1307 (file-name (git-file-name name version))
1308 (sha256
1309 (base32
1310 "0xhvxr7bm47czdc5hy3kl508z3y4j91i2jm7vg774i52zych6k4l"))))
1311 (build-system go-build-system)
1312 (arguments
1313 '(#:import-path "github.com/jpillora/backoff"))
1314 (home-page "https://github.com/jpillora/backoff")
1315 (synopsis "Simple exponential backoff counter in Go")
1316 (description "This package is a simple exponential backoff counter in
1317Go.")
1318 (license license:expat))))
28380e0e
PAR
1319
1320(define-public go-github-com-stretchr-testify
1321 (let ((commit
1322 "b1f989447a57594c728884458a39abf3a73447f7")
1323 (revision "0"))
1324 (package
1325 (name "go-github-com-stretchr-testify")
1326 (version (git-version "1.1.4" revision commit))
1327 (source
1328 (origin
1329 (method git-fetch)
1330 (uri (git-reference
1331 (url "https://github.com/stretchr/testify.git")
1332 (commit commit)))
1333 (file-name (git-file-name name version))
1334 (sha256
1335 (base32
1336 "0p0gkqzh2p8r5g0rxm885ljl7ghih7h7hx9w562imx5ka0vdgixv"))))
1337 (build-system go-build-system)
1338 (arguments
1339 '(#:import-path "github.com/stretchr/testify"))
1340 (home-page "https://github.com/stretchr/testify")
1341 (synopsis "Go helper library for tests and invariant checking")
1342 (description "This package provide many tools for testifying that your
1343code will behave as you intend.
1344
1345Features include:
1346@itemize
1347@item Easy assertions
1348@item Mocking
1349@item HTTP response trapping
1350@item Testing suite interfaces and functions.
1351@end itemize")
1352 (license license:expat))))
21290c35
PAR
1353
1354(define-public go-github-com-tevino-abool
1355 (let ((commit
1356 "3c25f2fe7cd0ef3eabefce1d90efd69a65d35b12")
1357 (revision "0"))
1358 (package
1359 (name "go-github-com-tevino-abool")
1360 (version (git-version "0.0.0" revision commit))
1361 (source
1362 (origin
1363 (method git-fetch)
1364 (uri (git-reference
1365 (url "https://github.com/tevino/abool.git")
1366 (commit commit)))
1367 (file-name (git-file-name name version))
1368 (sha256
1369 (base32
1370 "1wxqrclxk93q0aj15z596dx2y57x9nkhi64nbrr5cxnhxn8vwixm"))))
1371 (build-system go-build-system)
1372 (arguments
1373 '(#:import-path "github.com/tevino/abool"))
1374 (home-page "https://github.com/tevino/abool")
1375 (synopsis "Atomic boolean library for Go code")
1376 (description "This package is atomic boolean library for Go code,
1377optimized for performance yet simple to use.")
1378 (license license:expat))))
7c2ebbd4 1379
67836c59
PAR
1380(define-public go-github-com-blang-semver
1381 (let ((commit "60ec3488bfea7cca02b021d106d9911120d25fe9")
1382 (revision "0"))
1383 (package
1384 (name "go-github-com-blang-semver")
1385 (version (git-version "0.0.0" revision commit))
1386 (source
1387 (origin
1388 (method git-fetch)
1389 (uri (git-reference
1390 (url "https://github.com/blang/semver.git")
1391 (commit commit)))
1392 (file-name (git-file-name name version))
1393 (sha256
1394 (base32
1395 "19pli07y5592g4dyjyj0jq5rn548vc3fz0qg3624vm1j5828p1c2"))))
1396 (build-system go-build-system)
1397 (arguments
1398 '(#:import-path "github.com/blang/semver"))
1399 (home-page "https://github.com/blang/semver")
1400 (synopsis "Semantic versioning library written in Go")
1401 (description "Semver is a library for Semantic versioning written in Go.")
1402 (license license:expat))))
1403
7979f7df
PAR
1404(define-public go-github-com-emicklei-go-restful
1405 (let ((commit "89ef8af493ab468a45a42bb0d89a06fccdd2fb22")
1406 (revision "0"))
1407 (package
1408 (name "go-github-com-emicklei-go-restful")
1409 (version (git-version "0.0.0" revision commit))
1410 (source
1411 (origin
1412 (method git-fetch)
1413 (uri (git-reference
1414 (url "https://github.com/emicklei/go-restful.git")
1415 (commit commit)))
1416 (file-name (git-file-name name version))
1417 (sha256
1418 (base32
1419 "0rrlfcfq80fkxifpih6bq31vavb5mf4530xz51pp9pq1mn2fzjfh"))))
1420 (build-system go-build-system)
1421 (arguments
1422 '(#:import-path "github.com/emicklei/go-restful"))
1423 (home-page "https://github.com/emicklei/go-restful")
1424 (synopsis "Build REST-style web services using Go")
1425 (description "This package provides @code{go-restful}, which helps
1426developers to use @code{http} methods explicitly and in a way that's consistent
1427with the HTTP protocol definition.")
1428 (license license:expat))))
73fe19ef
PAR
1429
1430(define-public go-github-com-google-cadvisor
1431 (let ((commit "2ed7198f77395ee9a172878a0a7ab92ab59a2cfd")
1432 (revision "0"))
1433 (package
1434 (name "go-github-com-google-cadvisor")
1435 (version (git-version "0.0.0" revision commit))
1436 (source
1437 (origin
1438 (method git-fetch)
1439 (uri (git-reference
1440 (url "https://github.com/google/cadvisor.git")
1441 (commit commit)))
1442 (file-name (git-file-name name version))
1443 (sha256
1444 (base32
1445 "1w8p345z5j0gk3yiq5ah0znd5lfh348p2s624k5r10drz04p3f55"))))
1446 (build-system go-build-system)
1447 (arguments
1448 '(#:import-path "github.com/google/cadvisor"))
1449 (home-page "https://github.com/google/cadvisor")
1450 (synopsis "Analyze resource usage of running containers")
1451 (description "The package provides @code{cadvisor}, which provides
1452information about the resource usage and preformance characteristics of running
1453containers.")
1454 (license license:asl2.0))))
daed2c5e
PAR
1455
1456(define-public go-github-com-google-gofuzz
1457 (let ((commit "fd52762d25a41827db7ef64c43756fd4b9f7e382")
1458 (revision "0"))
1459 (package
1460 (name "go-github-com-google-gofuzz")
1461 (version (git-version "0.0.0" revision commit))
1462 (source
1463 (origin
1464 (method git-fetch)
1465 (uri (git-reference
1466 (url "https://github.com/google/gofuzz.git")
1467 (commit commit)))
1468 (file-name (git-file-name name version))
1469 (sha256
1470 (base32
1471 "1yxmmr73h0lq7ryf3q9a7pcm2x5xrg4d5bxkq8n5pxwxwyq26kw8"))))
1472 (build-system go-build-system)
1473 (arguments
1474 '(#:import-path "github.com/google/gofuzz"))
1475 (home-page "https://github.com/google/gofuzz")
1476 (synopsis "Fuzz testing library for Go")
1477 (description "Gofuzz is a library for populationg Go objects with random
1478values for the purpose of fuzz testing.")
1479 (license license:asl2.0))))
9cf879a5
PAR
1480
1481(define-public go-github-com-gorilla-context
1482 (let ((commit "08b5f424b9271eedf6f9f0ce86cb9396ed337a42")
1483 (revision "0"))
1484 (package
1485 (name "go-github-com-gorilla-context")
1486 (version (git-version "0.0.0" revision commit))
1487 (source
1488 (origin
1489 (method git-fetch)
1490 (uri (git-reference
1491 (url "https://github.com/gorilla/context.git")
1492 (commit commit)))
1493 (file-name (git-file-name name version))
1494 (sha256
1495 (base32
1496 "03p4hn87vcmfih0p9w663qbx9lpsf7i7j3lc7yl7n84la3yz63m4"))))
1497 (build-system go-build-system)
1498 (arguments
1499 '(#:import-path "github.com/gorilla/context"))
1500 (home-page "https://github.com/gorilla/context")
1501 (synopsis "Go registry for request variables")
1502 (description "This package provides @code{gorilla/context}, which is a general purpose registry for global request variables in the Go programming language.")
1503 (license license:bsd-3))))
e8cdf560
PAR
1504
1505(define-public go-github-com-gorilla-mux
1506 (let ((commit "599cba5e7b6137d46ddf58fb1765f5d928e69604")
1507 (revision "0"))
1508 (package
1509 (name "go-github-com-gorilla-mux")
1510 (version (git-version "0.0.0" revision commit))
1511 (source
1512 (origin
1513 (method git-fetch)
1514 (uri (git-reference
1515 (url "https://github.com/gorilla/mux.git")
1516 (commit commit)))
1517 (file-name (git-file-name name version))
1518 (sha256
1519 (base32
1520 "0wd6jjii1kg5s0nk3ri6gqriz6hbd6bbcn6x4jf8n7ncrb8qsxyz"))))
1521 (build-system go-build-system)
1522 (arguments
1523 '(#:import-path "github.com/gorilla/mux"))
1524 (home-page "https://github.com/gorilla/mux")
1525 (synopsis "URL router and dispatcher for Go")
1526 (description
1527 "Gorilla/Mux implements a request router and dispatcher for matching
1528incoming requests with their respective handler.")
1529 (license license:bsd-3))))
bcb21790
PAR
1530
1531(define-public go-github-com-jonboulle-clockwork
1532 (let ((commit "e3653ace2d63753697e0e5b07b9393971c0bba9d")
1533 (revision "0"))
1534 (package
1535 (name "go-github-com-jonboulle-clockwork")
1536 (version (git-version "0.0.0" revision commit))
1537 (source
1538 (origin
1539 (method git-fetch)
1540 (uri (git-reference
1541 (url "https://github.com/jonboulle/clockwork.git")
1542 (commit commit)))
1543 (file-name (git-file-name name version))
1544 (sha256
1545 (base32
1546 "1avzqhks12a8x2yzpvjsf3k0gv9cy7zx2z88hn0scacnxkphisvc"))))
1547 (build-system go-build-system)
1548 (arguments
1549 '(#:import-path "github.com/jonboulle/clockwork"))
1550 (home-page "https://github.com/jonboulle/clockwork")
1551 (synopsis "Fake clock library for Go")
1552 (description
1553 "Replace uses of the @code{time} package with the
1554@code{clockwork.Clock} interface instead.")
1555 (license license:asl2.0))))
76a2b278
PAR
1556
1557(define-public go-github-com-spf13-pflag
1558 (let ((commit "4f9190456aed1c2113ca51ea9b89219747458dc1")
1559 (revision "0"))
1560 (package
1561 (name "go-github-com-spf13-pflag")
1562 (version (git-version "0.0.0" revision commit))
1563 (source
1564 (origin
1565 (method git-fetch)
1566 (uri (git-reference
1567 (url "https://github.com/spf13/pflag.git")
1568 (commit commit)))
1569 (file-name (git-file-name name version))
1570 (sha256
1571 (base32
1572 "12vrlcsbwjqlfc49rwky45mbcj74c0kb6z54354pzas6fwzyi1kc"))))
1573 (build-system go-build-system)
1574 (arguments
1575 '(#:import-path "github.com/spf13/pflag"))
1576 (home-page "https://github.com/spf13/pflag")
1577 (synopsis "Replacement for Go's @code{flag} package")
1578 (description
1579 "Pflag is library to replace Go's @code{flag} package. It implements
1580POSIX/GNU-style command-line options with double hyphens. It is is compatible
1581with the
1582@uref{https://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html,
1583GNU extensions} to the POSIX recommendations for command-line options.")
1584 (license license:bsd-3))))
7427b2c6
PAR
1585
1586(define-public go-github-com-sirupsen-logrus
1587 (package
1588 (name "go-github-com-sirupsen-logrus")
1589 (version "1.0.5")
1590 (source
1591 (origin
1592 (method git-fetch)
1593 (uri (git-reference
1594 (url "https://github.com/sirupsen/logrus.git")
1595 (commit (string-append "v" version))))
1596 (sha256
1597 (base32
1598 "0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz"))))
1599 (build-system go-build-system)
1600 (native-inputs
1601 `(("go-golang-org-x-crypto-ssh-terminal"
1602 ,go-golang-org-x-crypto-ssh-terminal)
1603 ("go-github-com-stretchr-testify"
1604 ,go-github-com-stretchr-testify)
1605 ("go-golang-org-x-sys-unix"
1606 ,go-golang-org-x-sys-unix)))
1607 (arguments
1608 '(#:tests? #f ;FIXME missing dependencies
1609 #:import-path "github.com/sirupsen/logrus"))
1610 (home-page "https://github.com/sirupsen/logrus")
1611 (synopsis "Structured, pluggable logging for Go")
1612 (description "Logrus is a structured logger for Go, completely API
1613compatible with the standard library logger.")
1614 (license license:expat)))
5cc2b845
LF
1615
1616(define-public go-github-com-kardianos-osext
1617 (let ((commit "ae77be60afb1dcacde03767a8c37337fad28ac14")
1618 (revision "1"))
1619 (package
1620 (name "go-github-com-kardianos-osext")
1621 (version (git-version "0.0.0" revision commit))
1622 (source (origin
1623 (method git-fetch)
1624 (uri (git-reference
1625 (url "https://github.com/kardianos/osext")
1626 (commit commit)))
1627 (file-name (git-file-name name version))
1628 (sha256
1629 (base32
1630 "056dkgxrqjj5r18bnc3knlpgdz5p3yvp12y4y978hnsfhwaqvbjz"))))
1631 (build-system go-build-system)
1632 (arguments
1633 `(#:import-path "github.com/kardianos/osext"
1634 ;; The tests are flaky:
1635 ;; <https://github.com/kardianos/osext/issues/21>
1636 #:tests? #f))
1637 (synopsis "Find the running executable")
1638 (description "Osext provides a method for finding the current executable
1639file that is running. This can be used for upgrading the current executable or
1640finding resources located relative to the executable file.")
1641 (home-page "https://github.com/kardianos/osext")
1642 (license license:bsd-3))))
aed4944d
PAR
1643
1644(define-public go-github-com-ayufan-golang-kardianos-service
1645 (let ((commit "0c8eb6d8fff2e2fb884a7bfd23e183fb63c0eff3")
1646 (revision "0"))
1647 (package
1648 (name "go-github-com-ayufan-golang-kardianos-service")
1649 (version (git-version "0.0.0" revision commit))
1650 (source
1651 (origin
1652 (method git-fetch)
1653 (uri (git-reference
1654 (url
1655 "https://github.com/ayufan/golang-kardianos-service.git")
1656 (commit commit)))
1657 (file-name (git-file-name name version))
1658 (sha256
1659 (base32
1660 "0x0cn7l5gda2khsfypix7adxd5yqighzn04mxjw6hc4ayrh7his5"))))
1661 (build-system go-build-system)
1662 (native-inputs
1663 `(("go-github-com-kardianos-osext"
1664 ,go-github-com-kardianos-osext)))
1665 (arguments
1666 '(#:tests? #f ;FIXME tests fail: Service is not running.
1667 #:import-path "github.com/ayufan/golang-kardianos-service"))
1668 (home-page "https://github.com/ayufan/golang-kardianos-service")
1669 (synopsis "Go interface to a variety of service supervisors")
1670 (description "This package provides @code{service}, a Go module that can
1671run programs as a service using a variety of supervisors, including systemd,
1672SysVinit, and more.")
1673 (license license:zlib))))
e2826118
PAR
1674
1675(define-public go-github-com-docker-distribution
1676 (let ((commit "325b0804fef3a66309d962357aac3c2ce3f4d329")
1677 (revision "0"))
1678 (package
1679 (name "go-github-com-docker-distribution")
1680 (version (git-version "0.0.0" revision commit))
1681 (source
1682 ;; FIXME: This bundles many things, see
1683 ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31881#41>.
1684 (origin
1685 (method git-fetch)
1686 (uri (git-reference
1687 (url "https://github.com/docker/distribution")
1688 (commit commit)))
1689 (file-name (git-file-name name version))
1690 (sha256
1691 (base32
1692 "1yg2zrikn3vkvkx5mn51p6bfjk840qdkn7ahhhvvcsc8mpigrjc6"))))
1693 (build-system go-build-system)
1694 (native-inputs
1695 `(("go-golang-org-x-sys-unix"
1696 ,go-golang-org-x-sys-unix)
1697 ("go-github-com-sirupsen-logrus"
1698 ,go-github-com-sirupsen-logrus)
1699 ("go-golang-org-x-crypto-ssh-terminal"
1700 ,go-golang-org-x-crypto-ssh-terminal)))
1701 (arguments
1702 '(#:import-path "github.com/docker/distribution"
1703 #:phases
1704 (modify-phases %standard-phases
1705 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
1706 (lambda* (#:key outputs #:allow-other-keys)
1707 (map (lambda (file)
1708 (make-file-writable file))
1709 (find-files
1710 (assoc-ref outputs "out")
1711 ".*\\.gz$"))
1712 #t)))))
1713 (home-page
1714 "https://github.com/docker/distribution")
1715 (synopsis "This package is Docker toolset to pack, ship, store, and
1716deliver content")
1717 (description "Docker Distribution is Docker toolset to pack, ship,
1718store, and deliver content. It's containe Docker Registry 2.0 and libraries
1719to interacting with distribution components.")
1720 (license license:asl2.0))))
01bcc94c
PAR
1721
1722(define-public go-github-com-docker-go-connections
1723 (let ((commit "3ede32e2033de7505e6500d6c868c2b9ed9f169d")
1724 (revision "0"))
1725 (package
1726 (name "go-github-com-docker-go-connections")
1727 (version (git-version "0.0.0" revision commit))
1728 (source
1729 (origin
1730 (method git-fetch)
1731 (uri (git-reference
1732 (url "https://github.com/docker/go-connections.git")
1733 (commit commit)))
1734 (file-name (git-file-name name version))
1735 (sha256
1736 (base32
1737 "0v1pkr8apwmhyzbjfriwdrs1ihlk6pw7izm57r24mf9jdmg3fyb0"))))
1738 (build-system go-build-system)
1739 (arguments
1740 '(#:import-path "github.com/docker/go-connections"))
1741 (home-page "https://github.com/docker/go-connections")
1742 (synopsis "Networking library for Go")
1743 (description
1744 "This packages provides a library to work with network connections in
1745the Go language. In particular it provides tools to deal with network address
1746translation (NAT), proxies, sockets, and transport layer security (TLS).")
1747 (license license:asl2.0))))
af132bcc
PAR
1748
1749(define-public go-github-com-docker-machine
1750 (let ((commit "7b7a141da84480342357c51838be142bf183b095")
1751 (revision "0"))
1752 (package
1753 (name "go-github-com-docker-machine")
1754 (version (git-version "0.0.0" revision commit))
1755 (source
1756 (origin
1757 (method git-fetch)
1758 (uri (git-reference
1759 (url "https://github.com/docker/machine.git")
1760 (commit commit)))
1761 (file-name (git-file-name name version))
1762 (sha256
1763 (base32
1764 "0bavk0lvs462yh0lnmnxi9psi5qv1x3nvzmd2b0drsahlp1gxi8s"))))
1765 (build-system go-build-system)
1766 (arguments
1767 '(#:import-path "github.com/docker/machine"))
1768 (home-page "https://github.com/docker/machine")
1769 (synopsis "Machine management for a container-centric world")
1770 (description
1771 "@dfn{Machine} lets you create Docker hosts on your computer, on
1772hosting providers, and inside your data center. It creates servers, installs
1773Docker on them, then configures the Docker client to talk to them.")
1774 (license license:asl2.0))))
d850e7a0
PAR
1775
1776(define-public go-github-com-gorhill-cronexpr
1777 (let ((commit "f0984319b44273e83de132089ae42b1810f4933b")
1778 (revision "0"))
1779 (package
1780 (name "go-github-com-gorhill-cronexpr")
1781 (version (git-version "0.0.0" revision commit))
1782 (source
1783 (origin
1784 (method git-fetch)
1785 (uri (git-reference
1786 (url "https://github.com/gorhill/cronexpr.git")
1787 (commit commit)))
1788 (file-name (git-file-name name version))
1789 (sha256
1790 (base32
1791 "0dphhhqy3i7265znv3m8n57l80dmaq6z4hsj5kgd87qd19z8x0l2"))))
1792 (build-system go-build-system)
1793 (arguments
1794 '(#:import-path "github.com/gorhill/cronexpr"))
1795 (home-page "https://github.com/gorhill/cronexpr")
1796 (synopsis "Cron expression parser in the Go language")
1797 (description
1798 "This package provides a cron expression parser in the Go language.
1799Given a cron expression and a time stamp, you can get the next time stamp
1800which satisfies the cron expression.")
1801 (license (list license:gpl3+
1802 license:asl2.0)))))
abd47216
PAR
1803
1804(define-public go-gopkg-in-check-v1
1805 (let ((commit "20d25e2804050c1cd24a7eea1e7a6447dd0e74ec")
1806 (revision "0"))
1807 (package
1808 (name "go-gopkg-in-check-v1")
1809 (version (git-version "0.0.0" revision commit))
1810 (source
1811 (origin
1812 (method git-fetch)
1813 (uri (git-reference
1814 (url "https://github.com/go-check/check")
1815 (commit commit)))
1816 (file-name (git-file-name name version))
1817 (sha256
1818 (base32
1819 "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np"))))
1820 (build-system go-build-system)
1821 (arguments
1822 '(#:import-path "gopkg.in/check.v1"))
1823 (home-page "https://gopkg.in/check.v1")
1824 (synopsis "Test framework for the Go language")
1825 (description
1826 "This package provides a test library for the Go language.")
1827 (license license:asl2.0))))
d2c5e912
PAR
1828
1829(define-public go-gopkg-in-yaml-v2
1830 (let ((commit "14227de293ca979cf205cd88769fe71ed96a97e2")
1831 (revision "0"))
1832 (package
1833 (name "go-gopkg-in-yaml-v2")
1834 (version (git-version "0.0.0" revision commit))
1835 (source
1836 (origin
1837 (method git-fetch)
1838 (uri (git-reference
1839 (url "https://gopkg.in/yaml.v2.git")
1840 (commit commit)))
1841 (file-name (git-file-name name version))
1842 (sha256
1843 (base32
1844 "038hnrjcnjygyi3qidfrkpkakis82qg381sr495d2s40g2dwlzah"))))
1845 (build-system go-build-system)
1846 (arguments
1847 '(#:import-path "gopkg.in/yaml.v2"))
1848 (native-inputs
1849 `(("go-gopkg-in-check-v1" ,go-gopkg-in-check-v1)))
1850 (home-page "https://gopkg.in/yaml.v2")
1851 (synopsis "YAML reader and writer for the Go language")
1852 (description
1853 "This package provides a Go library for encode and decode YAML
1854values.")
1855 (license license:asl2.0))))
3291be81
PN
1856
1857(define-public go-github-com-mattn-go-isatty
1858 (let ((commit "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c")
1859 (revision "0"))
1860 (package
1861 (name "go-github-com-mattn-go-isatty")
1862 (version (git-version "0.0.0" revision commit))
1863 (source
1864 (origin
1865 (method git-fetch)
1866 (uri (git-reference
1867 (url "https://github.com/mattn/go-isatty")
1868 (commit commit)))
1869 (file-name (git-file-name name version))
1870 (sha256
1871 (base32
1872 "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w"))))
1873 (build-system go-build-system)
1874 (arguments
1875 '(#:import-path "github.com/mattn/go-isatty"))
1876 (home-page "https://github.com/mattn/go-isatty")
1877 (synopsis "Provide @code{isatty} for Golang")
1878 (description "This package provides @code{isatty}, a Go module that can
1879tell you whether a file descriptor points to a terminal and the type of the
1880terminal.")
1881 (license license:expat))))
7601b4e4
PN
1882
1883(define-public go-github-com-mattn-go-colorable
1884 (let ((commit "efa589957cd060542a26d2dd7832fd6a6c6c3ade")
1885 (revision "0"))
1886 (package
1887 (name "go-github-com-mattn-go-colorable")
1888 (version (git-version "0.0.0" revision commit))
1889 (source
1890 (origin
1891 (method git-fetch)
1892 (uri (git-reference
1893 (url "https://github.com/mattn/go-colorable")
1894 (commit commit)))
1895 (file-name (git-file-name name version))
1896 (sha256
1897 (base32
1898 "0kshi4hvm0ayrsxqxy0599iv81kryhd2fn9lwjyczpj593cq069r"))))
1899 (build-system go-build-system)
1900 (native-inputs
1901 `(("go-github-com-mattn-go-isatty"
1902 ,go-github-com-mattn-go-isatty)))
1903 (arguments
1904 '(#:import-path "github.com/mattn/go-colorable"))
1905 (home-page "https://github.com/mattn/go-colorable")
1906 (synopsis "Handle ANSI color escapes on Windows")
1907 (description "This package provides @code{colorable}, a module that
1908makes it possible to handle ANSI color escapes on Windows.")
1909 (license license:expat))))
32cb1af6
PN
1910
1911(define-public go-github-com-mgutz-ansi
1912 (let ((commit "9520e82c474b0a04dd04f8a40959027271bab992")
1913 (revision "0"))
1914 (package
1915 (name "go-github-com-mgutz-ansi")
1916 (version (git-version "0.0.0" revision commit))
1917 (source
1918 (origin
1919 (method git-fetch)
1920 (uri (git-reference
1921 (url
1922 "https://github.com/mgutz/ansi")
1923 (commit commit)))
1924 (file-name (git-file-name name version))
1925 (sha256
1926 (base32
1927 "00bz22314j26736w1f0q4jy9d9dfaml17vn890n5zqy3cmvmww1j"))))
1928 (build-system go-build-system)
1929 (native-inputs
1930 `(("go-github-com-mattn-go-isatty"
1931 ,go-github-com-mattn-go-isatty)
1932 ("go-github-com-mattn-go-colorable"
1933 ,go-github-com-mattn-go-colorable)))
1934 (arguments
1935 '(#:import-path "github.com/mgutz/ansi"))
1936 (home-page "https://github.com/mgutz/ansi")
1937 (synopsis "Small, fast library to create ANSI colored strings and codes")
1938 (description "This package provides @code{ansi}, a Go module that can
1939generate ANSI colored strings.")
1940 (license license:expat))))
e25ddef5
PN
1941
1942(define-public go-github-com-aarzilli-golua
1943 (let ((commit "03fc4642d792b1f2bc5e7343b403cf490f8c501d")
1944 (revision "0"))
1945 (package
1946 (name "go-github-com-aarzilli-golua")
1947 (version (git-version "0.0.0" revision commit))
1948 (source
1949 (origin
1950 (method git-fetch)
1951 (uri (git-reference
1952 (url
1953 "https://github.com/aarzilli/golua")
1954 (commit commit)))
1955 (file-name (git-file-name name version))
1956 (sha256
1957 (base32
1958 "1d9hr29i36cza98afj3g6rs3l7xbkprwzz0blcxsr9dd7nak20di"))))
1959 (build-system go-build-system)
5c475841
PN
1960 ;; From go-1.10 onward, "pkg" compiled libraries are not re-used, so
1961 ;; when this package required as input for another one, it will have to
1962 ;; be built again. Thus its CGO requirements must be made available in
1963 ;; the environment, that is, they must be propagated.
1964 (propagated-inputs
e25ddef5
PN
1965 `(("lua" ,lua)))
1966 (arguments
1967 `(#:unpack-path "github.com/aarzilli/golua"
1968 #:import-path "github.com/aarzilli/golua/lua"
1969 #:phases
1970 (modify-phases %standard-phases
5c475841
PN
1971 ;; While it's possible to fix the CGO_LDFLAGS with the "-tags"
1972 ;; command line argument, go-1.10+ does not re-use the produced pkg
1973 ;; for dependencies, which means we would need to propagate the
1974 ;; same "-tags" argument to all golua referrers. A substitution is
1975 ;; more convenient here. We also need to propagate the lua
1976 ;; dependency to make it available to referrers.
1977 (add-after 'unpack 'fix-lua-ldflags
1978 (lambda _
1979 (substitute* "src/github.com/aarzilli/golua/lua/lua.go"
1980 (("#cgo linux,!llua,!luaa LDFLAGS: -llua5.3")
1981 "#cgo linux,!llua,!luaa LDFLAGS: -llua")))))))
e25ddef5
PN
1982 (home-page "https://github.com/aarzilli/golua")
1983 (synopsis "Go Bindings for the Lua C API")
1984 (description "This package provides @code{lua}, a Go module that can
1985run a Lua virtual machine.")
1986 (license license:expat))))
f25e3b39
PN
1987
1988(define-public go-gitlab-com-ambrevar-golua-unicode
1989 (let ((commit "97ce517e7a1fe2407a90c317a9c74b173d396144")
1990 (revision "0"))
1991 (package
1992 (name "go-gitlab-com-ambrevar-golua-unicode")
1993 (version (git-version "0.0.0" revision commit))
1994 (source
1995 (origin
1996 (method git-fetch)
1997 (uri (git-reference
1998 (url
1999 "https://gitlab.com/ambrevar/golua")
2000 (commit commit)))
2001 (file-name (git-file-name name version))
2002 (sha256
2003 (base32
2004 "1izcp7p8nagjwqd13shb0020w7xhppib1a3glw2d1468bflhksnm"))))
2005 (build-system go-build-system)
2006 (native-inputs
2007 `(("lua" ,lua)
2008 ("go-github-com-aarzilli-golua" ,go-github-com-aarzilli-golua)))
2009 (arguments
2010 `(#:unpack-path "gitlab.com/ambrevar/golua"
2011 #:import-path "gitlab.com/ambrevar/golua/unicode"
2012 #:phases
2013 (modify-phases %standard-phases
2014 (replace 'check
2015 (lambda* (#:key import-path #:allow-other-keys)
2016 (setenv "USER" "homeless-dude")
2017 (invoke "go" "test" import-path))))))
2018 (home-page "https://gitlab.com/ambrevar/golua")
2019 (synopsis "Add Unicode support to Golua")
2020 (description "This extension to Arzilli's Golua adds Unicode support to
2021all functions from the Lua string library. Lua patterns are replaced by Go
2022regexps. This breaks compatibility with Lua, but Unicode support breaks it
2023anyways and Go regexps are more powerful.")
2024 (license license:expat))))
b4d1440f
PN
2025
2026(define-public go-github-com-yookoala-realpath
2027 (let ((commit "d19ef9c409d9817c1e685775e53d361b03eabbc8")
2028 (revision "0"))
2029 (package
2030 (name "go-github-com-yookoala-realpath")
2031 (version (git-version "0.0.0" revision commit))
2032 (source
2033 (origin
2034 (method git-fetch)
2035 (uri (git-reference
2036 (url
2037 "https://github.com/yookoala/realpath")
2038 (commit commit)))
2039 (file-name (git-file-name name version))
2040 (sha256
2041 (base32
2042 "0qvz1dcdldf53rq69fli76z5k1vr7prx9ds1d5rpzgs68kwn40nw"))))
2043 (build-system go-build-system)
2044 (arguments
2045 `(#:import-path "github.com/yookoala/realpath"))
2046 (home-page "https://github.com/yookoala/realpath")
2047 (synopsis "@code{realpath} for Golang")
2048 (description "This package provides @code{realpath}, a Go module that
2049when provided with a valid relative path / alias path, it will return you with
2050a string of its real absolute path in the system.")
0e11f5da 2051 (license license:expat))))
54b83f0e
PN
2052
2053(define-public go-gitlab-com-ambrevar-damerau
2054 (let ((commit "883829e1f25fad54015772ea663e69017cf22352")
2055 (revision "0"))
2056 (package
2057 (name "go-gitlab-com-ambrevar-damerau")
2058 (version (git-version "0.0.0" revision commit))
2059 (source
2060 (origin
2061 (method git-fetch)
2062 (uri (git-reference
2063 (url
2064 "https://gitlab.com/ambrevar/damerau")
2065 (commit commit)))
2066 (file-name (git-file-name name version))
2067 (sha256
2068 (base32
2069 "1b9p8fypc914ij1afn6ir346zsgfqrc5mqc1k3d53n4snypq27qv"))))
2070 (build-system go-build-system)
2071 (arguments
2072 `(#:import-path "gitlab.com/ambrevar/damerau"))
2073 (home-page "https://gitlab.com/ambrevar/damerau")
2074 (synopsis "Damerau-Levenshtein distance for Golang")
2075 (description "This is a spelling corrector implementing the
2076Damerau-Levenshtein distance. Takes a string value input from the user.
2077Looks for an identical word on a list of words, if none is found, look for a
2078similar word.")
2079 (license license:expat))))
c4962817
PN
2080
2081(define-public go-github-com-stevedonovan-luar
2082 (let ((commit "22d247e5366095f491cd83edf779ee99a78f5ead")
2083 (revision "0"))
2084 (package
2085 (name "go-github-com-stevedonovan-luar")
2086 (version (git-version "0.0.0" revision commit))
2087 (source
2088 (origin
2089 (method git-fetch)
2090 (uri (git-reference
2091 (url
2092 "https://github.com/stevedonovan/luar")
2093 (commit commit)))
2094 (file-name (git-file-name name version))
2095 (sha256
2096 (base32
2097 "1acjgw9cz1l0l9mzkyk7irz6cfk31wnxgbwa805fvm1rqcjzin2c"))))
2098 (build-system go-build-system)
2099 (native-inputs
2100 `(("go-github-com-aarzilli-golua" ,go-github-com-aarzilli-golua)))
2101 (arguments
2102 `(#:tests? #f ; Upstream tests are broken.
2103 #:import-path "github.com/stevedonovan/luar"))
2104 (home-page "https://github.com/stevedonovan/luar")
2105 (synopsis "Lua reflection bindings for Go")
2106 (description "Luar is designed to make using Lua from Go more
2107convenient. Go structs, slices and maps can be automatically converted to Lua
2108tables and vice-versa. The resulting conversion can either be a copy or a
2109proxy. In the latter case, any change made to the result will reflect on the
2110source.
2111
2112Any Go function can be made available to Lua scripts, without having to write
2113C-style wrappers.
2114
2115Luar support cyclic structures (lists, etc.).
2116
2117User-defined types can be made available to Lua as well: their exported
2118methods can be called and usual operations such as indexing or arithmetic can
2119be performed.")
2120 (license license:expat))))
bc3138d2
PN
2121
2122(define-public go-github-com-kr-text
2123 (let ((commit "e2ffdb16a802fe2bb95e2e35ff34f0e53aeef34f")
2124 (revision "0"))
2125 (package
2126 (name "go-github-com-kr-text")
2127 (version (git-version "0.0.0" revision commit))
2128 (source
2129 (origin
2130 (method git-fetch)
2131 (uri (git-reference
2132 (url
2133 "https://github.com/kr/text")
2134 (commit commit)))
2135 (file-name (git-file-name name version))
2136 (sha256
2137 (base32
2138 "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1"))))
2139 (build-system go-build-system)
2140 (arguments
2141 `(#:import-path "github.com/kr/text"))
2142 (home-page "https://github.com/kr/text")
2143 (synopsis "Go package for manipulating paragraphs of text")
2144 (description "Package @code{text} provides manipulation Go functions for
2145paragraphs of text.")
2146 (license license:expat))))
9630ae34
PN
2147
2148(define-public go-github-com-michiwend-golang-pretty
2149 (let ((commit "8ac61812ea3fa540f3f141a444fcb0dd713cdca4")
2150 (revision "0"))
2151 (package
2152 (name "go-github-com-michiwend-golang-pretty")
2153 (version (git-version "0.0.0" revision commit))
2154 (source
2155 (origin
2156 (method git-fetch)
2157 (uri (git-reference
2158 (url
2159 "https://github.com/michiwend/golang-pretty")
2160 (commit commit)))
2161 (file-name (git-file-name name version))
2162 (sha256
2163 (base32
2164 "0rjfms0csjqi91xnddzx3rcrcaikc7xc027617px3kdwdap80ir4"))))
2165 (build-system go-build-system)
2166 (native-inputs
2167 `(("go-github-com-kr-text" ,go-github-com-kr-text)))
2168 (arguments
2169 `(#:tests? #f ; Upstream tests seem to be broken.
2170 #:import-path "github.com/michiwend/golang-pretty"))
2171 (home-page "https://github.com/michiwend/golang-pretty")
2172 (synopsis "Pretty printing for Go values")
2173 (description "Package @code{pretty} provides pretty-printing for Go
2174values. This is useful during debugging, to avoid wrapping long output lines
2175in the terminal.
2176
2177It provides a function, @code{Formatter}, that can be used with any function
2178that accepts a format string. It also provides convenience wrappers for
2179functions in packages @code{fmt} and @code{log}.")
2180 (license license:expat))))
62879d22
PN
2181
2182(define-public go-github-com-michiwend-gomusicbrainz
2183 (let ((commit "0cdeb13f9b24d2c714feb7e3c63d595cf7121d7d")
2184 (revision "0"))
2185 (package
2186 (name "go-github-com-michiwend-gomusicbrainz")
2187 (version (git-version "0.0.0" revision commit))
2188 (source
2189 (origin
2190 (method git-fetch)
2191 (uri (git-reference
2192 (url
2193 "https://github.com/michiwend/gomusicbrainz")
2194 (commit commit)))
2195 (file-name (git-file-name name version))
2196 (sha256
2197 (base32
2198 "1li9daw0kghb80rdmxbh7g72qhxcvx3rvhwq5gs0jrr9hb8pjvcn"))))
2199 (build-system go-build-system)
2200 (native-inputs
2201 `(("go-github-com-michiwend-golang-pretty" ,go-github-com-michiwend-golang-pretty)
2202 ("go-github-com-kr-text" ,go-github-com-kr-text)))
2203 (arguments
2204 `(#:import-path "github.com/michiwend/gomusicbrainz"))
2205 (home-page "https://github.com/michiwend/gomusicbrainz")
2206 (synopsis "MusicBrainz WS2 client library for Golang")
2207 (description "Currently GoMusicBrainz provides methods to perform search
2208and lookup requests. Browse requests are not supported yet.")
2209 (license license:expat))))
53182924
PN
2210
2211(define-public go-github-com-wtolson-go-taglib
2212 (let ((commit "6e68349ff94ecea412de7e748cb5eaa26f472777")
2213 (revision "0"))
2214 (package
2215 (name "go-github-com-wtolson-go-taglib")
2216 (version (git-version "0.0.0" revision commit))
2217 (source
2218 (origin
2219 (method git-fetch)
2220 (uri (git-reference
2221 (url
2222 "https://github.com/wtolson/go-taglib")
2223 (commit commit)))
2224 (file-name (git-file-name name version))
2225 (sha256
2226 (base32
2227 "1cpjqnrviwflz150g78iir5ndrp3hh7a93zbp4dwbg6sb2q141p2"))))
2228 (build-system go-build-system)
46a4ae22
PN
2229 ;; From go-1.10 onward, "pkg" compiled libraries are not re-used, so
2230 ;; when this package required as input for another one, it will have to
2231 ;; be built again. Thus its CGO requirements must be made available in
2232 ;; the environment, that is, they must be propagated.
2233 (propagated-inputs
53182924
PN
2234 `(("pkg-config" ,pkg-config)
2235 ("taglib" ,taglib)))
2236 (arguments
46a4ae22
PN
2237 `(#:import-path "github.com/wtolson/go-taglib"
2238 ;; Tests don't pass "vet" on go-1.11. See
2239 ;; https://github.com/wtolson/go-taglib/issues/12.
2240 #:phases
2241 (modify-phases %standard-phases
2242 (replace 'check
2243 (lambda* (#:key import-path #:allow-other-keys)
2244 (invoke "go" "test"
2245 "-vet=off"
2246 import-path))))))
53182924
PN
2247 (home-page "https://github.com/wtolson/go-taglib")
2248 (synopsis "Go wrapper for taglib")
2249 (description "Go wrapper for taglib")
2250 (license license:unlicense))))
5787e152 2251
5787e152
PN
2252(define-public go-github-com-gogo-protobuf
2253 (let ((commit "160de10b2537169b5ae3e7e221d28269ef40d311")
2254 (revision "2"))
2255 (package
2256 (name "go-github-com-gogo-protobuf")
2257 (version (git-version "0.5" revision commit))
2258 (source (origin
2259 (method git-fetch)
2260 (uri (git-reference
2261 (url "https://github.com/gogo/protobuf")
2262 (commit commit)))
2263 (file-name (git-file-name name version))
2264 (sha256
2265 (base32
2266 "0hxq28sgxym04rv0q40gpwkh4ni359q21hq3g78wwxwx4qfd4zwm"))))
2267 (build-system go-build-system)
2268 (arguments
2269 `(#:import-path "github.com/gogo/protobuf/proto"
2270 #:unpack-path "github.com/gogo/protobuf"))
2271 (propagated-inputs
2272 `(("go-github-com-gogo-protobuf-protoc-gen-gogo"
2273 ,go-github-com-gogo-protobuf-protoc-gen-gogo)))
2274 (synopsis "Protocol Buffers for Go with Gadgets")
2275 (description "Gogoprotobuf is a fork of golang/protobuf with extra code
2276generation features. This code generation is used to achieve:
2277@itemize
2278@item fast marshalling and unmarshalling
2279@item more canonical Go structures
2280@item goprotobuf compatibility
2281@item less typing by optionally generating extra helper code
2282@item peace of mind by optionally generating test and benchmark code
2283@item other serialization formats
2284@end itemize")
2285 (home-page "https://github.com/gogo/protobuf")
2286 (license license:bsd-3))))
2287
2288(define-public go-github-com-gogo-protobuf-protoc-gen-gogo
2289 (let ((commit "efccd33a0c20aa078705571d5ddbfa14c8395a63")
2290 (revision "0"))
2291 (package
2292 (name "go-github-com-gogo-protobuf-protoc-gen-gogo")
2293 (version (git-version "0.2" revision commit))
2294 (source (origin
2295 (method git-fetch)
2296 (uri (git-reference
2297 (url "https://github.com/gogo/protobuf")
2298 (commit commit)))
2299 (file-name (git-file-name name version))
2300 (sha256
2301 (base32
2302 "09kfa3aqmhh7p0rc6wd4fw5cjccidsk9vgcy13albv0g8vnbmmgw"))))
2303 (build-system go-build-system)
2304 (arguments
2305 `(#:import-path "github.com/gogo/protobuf/protoc-gen-gogo"
2306 #:unpack-path "github.com/gogo/protobuf"))
2307 (synopsis "Protocol Buffers for Go with Gadgets")
2308 (description "Gogoprotobuf is a fork of golang/protobuf with extra code
2309generation features. This code generation is used to achieve:
2310@itemize
2311@item fast marshalling and unmarshalling
2312@item more canonical Go structures
2313@item goprotobuf compatibility
2314@item less typing by optionally generating extra helper code
2315@item peace of mind by optionally generating test and benchmark code
2316@item other serialization formats
2317@end itemize")
2318 (home-page "https://github.com/gogo/protobuf")
2319 (license license:bsd-3))))
2320
2321(define-public go-github-com-gogo-protobuf-proto
2322 (let ((commit
2323 "fd322a3c49630fe6d05737e2b7d9426e6680e28d")
2324 (revision "0"))
2325 (package
2326 (name "go-github-com-gogo-protobuf-proto")
2327 (version (git-version "0.0.0" revision commit))
2328 (source
2329 (origin
2330 (method git-fetch)
2331 (uri (git-reference
2332 (url "https://github.com/gogo/protobuf.git")
2333 (commit commit)))
2334 (file-name (git-file-name name version))
2335 (sha256
2336 (base32
2337 "1zi85584dy91hyrwpanygz1pppi0chn3hzzv128i83i6j45a5fp9"))))
2338 (build-system go-build-system)
2339 (arguments
2340 '(#:unpack-path "github.com/gogo/protobuf"
2341 #:import-path "github.com/gogo/protobuf/proto"))
2342 (native-inputs `())
2343 (home-page "https://github.com/gogo/protobuf")
2344 (synopsis "XXX")
2345 (description "XXX")
2346 (license license:expat))))
386bd7ba
PN
2347
2348(define-public go-github-com-libp2p-go-flow-metrics
2349 (let ((commit "7e5a55af485341567f98d6847a373eb5ddcdcd43")
2350 (revision "0"))
2351 (package
2352 (name "go-github-com-libp2p-go-flow-metrics")
2353 (version (git-version "0.2.0" revision commit))
2354 (source
2355 (origin
2356 (method git-fetch)
2357 (uri (git-reference
2358 (url "https://github.com/libp2p/go-flow-metrics.git")
2359 (commit commit)))
2360 (file-name (git-file-name name version))
2361 (sha256
2362 (base32
2363 "1p87iyk6q6f3g3xkncssx400qlld8f2z93qiz8m1f97grfyhjif1"))))
2364 (build-system go-build-system)
2365 (arguments
2366 `(#:import-path "github.com/libp2p/go-flow-metrics"
2367 ;; TODO: Tests hang.
2368 #:tests? #f))
2369 (home-page
2370 "https://github.com/libp2p/go-flow-metrics")
2371 (synopsis "Simple library for tracking flow metrics")
2372 (description "A simple alternative to rcrowley's @command{go-metrics}
2373that's a lot faster (and only does simple bandwidth metrics).")
2374 (license license:expat))))
6a95e3a3
PN
2375
2376(define-public go-github-com-davecgh-go-spew
2377 (let ((commit "d8f796af33cc11cb798c1aaeb27a4ebc5099927d")
2378 (revision "0"))
2379 (package
2380 (name "go-github-com-davecgh-go-spew")
2381 (version (git-version "0.0.0" revision commit))
2382 (source
2383 (origin
2384 (method git-fetch)
2385 (uri (git-reference
2386 (url "https://github.com/davecgh/go-spew.git")
2387 (commit commit)))
2388 (file-name (git-file-name name version))
2389 (sha256
2390 (base32
2391 "19z27f306fpsrjdvkzd61w1bdazcdbczjyjck177g33iklinhpvx"))))
2392 (build-system go-build-system)
2393 (arguments
2394 '(#:unpack-path "github.com/davecgh/go-spew"
2395 #:import-path "github.com/davecgh/go-spew/spew"))
2396 (home-page "https://github.com/davecgh/go-spew")
2397 (synopsis "Deep pretty printer for Go data structures to aid in debugging")
2398 (description "Package @command{spew} implements a deep pretty printer
2399for Go data structures to aid in debugging.
2400
2401A quick overview of the additional features spew provides over the built-in printing facilities for Go data types are as follows:
2402
2403@itemize
2404@item Pointers are dereferenced and followed.
2405@item Circular data structures are detected and handled properly.
2406@item Custom Stringer/error interfaces are optionally invoked, including on
2407unexported types.
2408@item Custom types which only implement the Stringer/error interfaces via a
2409pointer receiver are optionally invoked when passing non-pointer variables.
2410@item Byte arrays and slices are dumped like the hexdump -C command which
2411includes offsets, byte values in hex, and ASCII output (only when using Dump
2412style).
2413@end itemize\n")
2414 (license license:isc))))
171c3259
PN
2415
2416(define-public go-github-com-btcsuite-btclog
2417 (let ((commit "84c8d2346e9fc8c7b947e243b9c24e6df9fd206a")
2418 (revision "0"))
2419 (package
2420 (name "go-github-com-btcsuite-btclog")
2421 (version (git-version "0.0.3" revision commit))
2422 (source
2423 (origin
2424 (method git-fetch)
2425 (uri (git-reference
2426 (url "https://github.com/btcsuite/btclog.git")
2427 (commit commit)))
2428 (file-name (git-file-name name version))
2429 (sha256
2430 (base32
2431 "02dl46wcnfpg9sqvg0ipipkpnd7lrf4fnvb9zy56jqa7mfcwc7wk"))))
2432 (build-system go-build-system)
2433 (arguments
2434 '(#:import-path "github.com/btcsuite/btclog"))
2435 (home-page "https://github.com/btcsuite/btclog")
2436 (synopsis "Subsystem aware logger for Go")
2437 (description "Package @command{btclog} defines a logger interface and
2438provides a default implementation of a subsystem-aware leveled logger
2439implementing the same interface.")
2440 (license license:isc))))
d5599afa
PN
2441
2442(define-public go-github-com-btcsuite-btcd-btcec
2443 (let ((commit "67e573d211ace594f1366b4ce9d39726c4b19bd0")
2444 (revision "0"))
2445 (package
2446 (name "go-github-com-btcsuite-btcd-btcec")
2447 (version (git-version "0.12.0-beta" revision commit))
2448 (source
2449 (origin
2450 (method git-fetch)
2451 (uri (git-reference
2452 (url "https://github.com/btcsuite/btcd.git")
2453 (commit commit)))
2454 (file-name (git-file-name name version))
2455 (sha256
2456 (base32
2457 "04s92gsy71w1jirlr5lkk9y6r5cparbas7nmf6ywbp7kq7fn8ajn"))))
2458 (build-system go-build-system)
2459 (arguments
2460 '(#:unpack-path "github.com/btcsuite/btcd"
2461 #:import-path "github.com/btcsuite/btcd/btcec"))
2462 (native-inputs
2463 `(("go-github-com-davecgh-go-spew" ,go-github-com-davecgh-go-spew)))
2464 (home-page "https://github.com/btcsuite/btcd")
2465 (synopsis "Elliptic curve cryptography to work with Bitcoin")
2466 (description "Package @command{btcec} implements elliptic curve
2467cryptography needed for working with Bitcoin (secp256k1 only for now). It is
2468designed so that it may be used with the standard crypto/ecdsa packages
2469provided with Go. A comprehensive suite of test is provided to ensure proper
2470functionality. Package @command{btcec} was originally based on work from
2471ThePiachu which is licensed under the same terms as Go, but it has
2472signficantly diverged since then. The @command{btcsuite} developers original
2473is licensed under the liberal ISC license.
2474
2475Although this package was primarily written for btcd, it has intentionally
2476been designed so it can be used as a standalone package for any projects
2477needing to use secp256k1 elliptic curve cryptography.")
2478 (license license:isc))))
ff2d11c3
PN
2479
2480(define-public go-github-com-minio-sha256-simd
0c28ee8c
LF
2481 (let ((commit "cc1980cb03383b1d46f518232672584432d7532d")
2482 (revision "3"))
ff2d11c3
PN
2483 (package
2484 (name "go-github-com-minio-sha256-simd")
2485 (version (git-version "0.0.0" revision commit))
2486 (source
2487 (origin
2488 (method git-fetch)
2489 (uri (git-reference
2490 (url "https://github.com/minio/sha256-simd.git")
2491 (commit commit)))
2492 (file-name (git-file-name name version))
2493 (sha256
2494 (base32
0c28ee8c 2495 "04fp98nal0wsb26zwhw82spn5camxslc68g3xp8g4af9w6k9g31j"))))
ff2d11c3
PN
2496 (build-system go-build-system)
2497 (arguments
2498 '(#:import-path "github.com/minio/sha256-simd"))
2499 (home-page "https://github.com/minio/sha256-simd")
2500 (synopsis "Accelerate SHA256 computations in pure Go")
2501 (description "Accelerate SHA256 computations in pure Go using AVX512 and
2502AVX2 for Intel and ARM64 for ARM. On AVX512 it provides an up to 8x
2503improvement (over 3 GB/s per core) in comparison to AVX2.
2504
2505This package is designed as a replacement for @command{crypto/sha256}. For
2506Intel CPUs it has two flavors for AVX512 and AVX2 (AVX/SSE are also
2507supported). For ARM CPUs with the Cryptography Extensions, advantage is taken
2508of the SHA2 instructions resulting in a massive performance improvement.
2509
2510This package uses Golang assembly. The AVX512 version is based on the Intel's
2511\"multi-buffer crypto library for IPSec\" whereas the other Intel
2512implementations are described in \"Fast SHA-256 Implementations on Intel
2513Architecture Processors\" by J. Guilford et al.")
2514 (license license:asl2.0))))
71f36804
PN
2515
2516(define-public go-github-com-libp2p-go-libp2p-crypto
2517 (let ((commit "7240b40a3ddc47c4d17c15baabcbe45e5219171b")
2518 (revision "0"))
2519 (package
2520 (name "go-github-com-libp2p-go-libp2p-crypto")
2521 (version (git-version "2.0.1" revision commit))
2522 (source
2523 (origin
2524 (method git-fetch)
2525 (uri (git-reference
2526 (url "https://github.com/libp2p/go-libp2p-crypto.git")
2527 (commit commit)))
2528 (file-name (git-file-name name version))
2529 (sha256
2530 (base32
2531 "0qwpy57qv5143l9dlfwfvpqsxdd2i4zwnawx1w4pmgxxim3nw1wb"))))
2532 (build-system go-build-system)
2533 (arguments
2534 '(#:import-path "github.com/libp2p/go-libp2p-crypto"))
2535 (native-inputs
2536 `(("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519)
2537 ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
2538 ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
2539 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)))
2540 (home-page
2541 "https://github.com/libp2p/go-libp2p-crypto")
2542 (synopsis "Various cryptographic utilities used by IPFS")
2543 (description "Various cryptographic utilities used by IPFS")
2544 (license license:expat))))
15272a50
PN
2545
2546(define-public go-github-com-mr-tron-base58
2547 (let ((commit "d724c80ecac7b49e4e562d58b2b4f4ee4ed8c312")
2548 (revision "0"))
2549 (package
2550 (name "go-github-com-mr-tron-base58")
2551 (version (git-version "1.1.0" revision commit))
2552 (source
2553 (origin
2554 (method git-fetch)
2555 (uri (git-reference
2556 (url "https://github.com/mr-tron/base58.git")
2557 (commit commit)))
2558 (file-name (git-file-name name version))
2559 (sha256
2560 (base32
2561 "12qhgnn9wf3c1ang16r4i778whk4wsrj7d90h2xgmz4fi1469rqa"))))
2562 (build-system go-build-system)
2563 (arguments
2564 `(#:unpack-path "github.com/mr-tron/base58"
2565 #:import-path "github.com/mr-tron/base58/base58"))
2566 (home-page "https://github.com/mr-tron/base58")
2567 (synopsis "Fast implementation of base58 encoding on Golang")
2568 (description "Fast implementation of base58 encoding on Golang. A
2569trivial @command{big.Int} encoding benchmark results in 6 times faster
2570encoding and 8 times faster decoding.")
2571 (license license:expat))))
27d59d8b
PN
2572
2573(define-public go-github-com-gxed-hashland-keccakpg
2574 (let ((commit "d9f6b97f8db22dd1e090fd0bbbe98f09cc7dd0a8")
2575 (revision "0"))
2576 (package
2577 (name "go-github-com-gxed-hashland-keccakpg")
2578 (version (git-version "0.0.0" revision commit))
2579 (source
2580 (origin
2581 (method git-fetch)
2582 (uri (git-reference
2583 (url "https://github.com/gxed/hashland.git")
2584 (commit commit)))
2585 (file-name (git-file-name name version))
2586 (sha256
2587 (base32
2588 "1q23y4lacsz46k9gmgfw4iwwydw36j2601rbidmmswl94grpc386"))))
2589 (build-system go-build-system)
2590 (arguments
2591 '(#:unpack-path "github.com/gxed/hashland"
2592 #:import-path "github.com/gxed/hashland/keccakpg"))
2593 (home-page "https://github.com/gxed/hashland")
2594 (synopsis "Implements the Keccak (SHA-3) hash algorithm in Go")
2595 (description "Package @command{keccak} implements the Keccak (SHA-3)
2596hash algorithm. See http://keccak.noekeon.org.")
2597 (license license:expat))))
90f2a848
PN
2598
2599(define-public go-github-com-minio-blake2b-simd
2600 (let ((commit "3f5f724cb5b182a5c278d6d3d55b40e7f8c2efb4")
2601 (revision "0"))
2602 (package
2603 (name "go-github-com-minio-blake2b-simd")
2604 (version (git-version "0.0.0" revision commit))
2605 (source
2606 (origin
2607 (method git-fetch)
2608 (uri (git-reference
2609 (url "https://github.com/minio/blake2b-simd.git")
2610 (commit commit)))
2611 (file-name (git-file-name name version))
2612 (sha256
2613 (base32
2614 "0b6jbnj62c0gmmfd4zdmh8xbg01p80f13yygir9xprqkzk6fikmd"))))
2615 (build-system go-build-system)
2616 (arguments
2617 '(#:import-path "github.com/minio/blake2b-simd"))
2618 (home-page "https://github.com/minio/blake2b-simd")
2619 (synopsis "Fast hashing in pure Go of BLAKE2b with SIMD instructions")
2620 (description "This package was initially based on the pure go BLAKE2b
2621implementation of Dmitry Chestnykh and merged with the (cgo dependent) AVX
2622optimized BLAKE2 implementation (which in turn is based on the official
2623implementation. It does so by using Go's Assembler for amd64 architectures
2624with a golang only fallback for other architectures.
2625
2626In addition to AVX there is also support for AVX2 as well as SSE. Best
2627performance is obtained with AVX2 which gives roughly a 4X performance
2628increase approaching hashing speeds of 1GB/sec on a single core.")
2629 (license license:asl2.0))))
9a7f1575
PN
2630
2631(define-public go-github-com-spaolacci-murmur3
2632 (let ((commit "f09979ecbc725b9e6d41a297405f65e7e8804acc")
2633 (revision "0"))
2634 (package
2635 (name "go-github-com-spaolacci-murmur3")
2636 (version (git-version "1.1" revision commit))
2637 (source
2638 (origin
2639 (method git-fetch)
2640 (uri (git-reference
2641 (url "https://github.com/spaolacci/murmur3.git")
2642 (commit commit)))
2643 (file-name (git-file-name name version))
2644 (sha256
2645 (base32
2646 "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25"))))
2647 (build-system go-build-system)
2648 (arguments
2649 '(#:import-path "github.com/spaolacci/murmur3"))
2650 (home-page "https://github.com/spaolacci/murmur3")
2651 (synopsis "Native MurmurHash3 Go implementation")
2652 (description "Native Go implementation of Austin Appleby's third
2653MurmurHash revision (aka MurmurHash3).
2654
2655Reference algorithm has been slightly hacked as to support the streaming mode
2656required by Go's standard Hash interface.")
2657 (license license:bsd-3))))
2e42e587
PN
2658
2659(define-public go-github-com-multiformats-go-multihash
2660 (let ((commit "97cdb562a04c6ef66d8ed40cd62f8fbcddd396d6")
2661 (revision "0"))
2662 (package
2663 (name "go-github-com-multiformats-go-multihash")
2664 (version (git-version "1.0.8" revision commit))
2665 (source
2666 (origin
2667 (method git-fetch)
2668 (uri (git-reference
2669 (url "https://github.com/multiformats/go-multihash.git")
2670 (commit commit)))
2671 (file-name (git-file-name name version))
2672 (sha256
2673 (base32
2674 "02wd9akrwy4y5m0nig9m24p14bjjgb4n1djydrq8cm4yhbvjrrk0"))))
2675 (build-system go-build-system)
2676 (arguments
2677 '(#:import-path "github.com/multiformats/go-multihash"))
2678 (native-inputs
2679 `(("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
2680 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
2681 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
2682 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
2683 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
9c359ff4
LF
2684 ("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)
2685 ("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)))
2e42e587
PN
2686 (home-page "https://github.com/multiformats/go-multihash")
2687 (synopsis "Multihash implementation in Go")
2688 (description "Multihash implementation in Go.")
2689 (license license:expat))))
1db1e3c7
PN
2690
2691(define-public go-github-com-libp2p-go-libp2p-peer
2692 (let ((commit "993d742bc29dcf4894b7730ba610fd78900be76c")
2693 (revision "0"))
2694 (package
2695 (name "go-github-com-libp2p-go-libp2p-peer")
2696 (version (git-version "2.3.8" revision commit))
2697 (source
2698 (origin
2699 (method git-fetch)
2700 (uri (git-reference
2701 (url "https://github.com/libp2p/go-libp2p-peer.git")
2702 (commit commit)))
2703 (file-name (git-file-name name version))
2704 (sha256
2705 (base32
2706 "1h96qjdi0i1wbr0jliap2903mycphas3ny0zdrm77yca9plcnphh"))))
2707 (build-system go-build-system)
2708 (arguments
2709 '(#:import-path "github.com/libp2p/go-libp2p-peer"))
2710 (native-inputs
2711 `(("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto)
2712 ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
2713 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
2714 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
2715 ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
2716 ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
2717 ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
2718 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
2719 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
9c359ff4
LF
2720 ("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)
2721 ("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519)
2722 ("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)))
1db1e3c7
PN
2723 (home-page "https://github.com/libp2p/go-libp2p-peer")
2724 (synopsis "PKI based identities for use in go-libp2p")
2725 (description "PKI based identities for use in @command{go-libp2p}.")
2726 (license license:expat))))
43a5c177
PN
2727
2728(define-public go-github-com-libp2p-go-libp2p-protocol
2729 (let ((commit "b29f3d97e3a2fb8b29c5d04290e6cb5c5018004b")
2730 (revision "0"))
2731 (package
2732 (name "go-github-com-libp2p-go-libp2p-protocol")
2733 (version (git-version "1.0.0" revision commit))
2734 (source
2735 (origin
2736 (method git-fetch)
2737 (uri (git-reference
2738 (url "https://github.com/libp2p/go-libp2p-protocol.git")
2739 (commit commit)))
2740 (file-name (git-file-name name version))
2741 (sha256
2742 (base32
2743 "1xgjfnx9zcqglg9li29wdqywsp8hz22wx6phns9zscni2jsfidld"))))
2744 (build-system go-build-system)
2745 (arguments
2746 '(#:import-path
2747 "github.com/libp2p/go-libp2p-protocol"))
2748 (home-page "https://github.com/libp2p/go-libp2p-protocol")
2749 (synopsis "Type for protocol strings in Golang")
2750 (description "Just a type for protocol strings. Nothing more.")
2751 (license license:expat))))
77d8a917
PN
2752
2753(define-public go-github-com-libp2p-go-libp2p-metrics
2754 (let ((commit "a10ff6e75dae3c868023867e8caa534a04bdc624")
2755 (revision "0"))
2756 (package
2757 (name "go-github-com-libp2p-go-libp2p-metrics")
2758 (version (git-version "2.1.6" revision commit))
2759 (source
2760 (origin
2761 (method git-fetch)
2762 (uri (git-reference
2763 (url "https://github.com/libp2p/go-libp2p-metrics.git")
2764 (commit commit)))
2765 (file-name (git-file-name name version))
2766 (sha256
2767 (base32
2768 "05wy0cq4h6yg9bzgapcvm2criwriicbswx80ma82gyn4a9fdrk8m"))))
2769 (build-system go-build-system)
2770 (arguments
2771 '(#:import-path "github.com/libp2p/go-libp2p-metrics"))
2772 (native-inputs
2773 `(("go-github-com-libp2p-go-flow-metrics" ,go-github-com-libp2p-go-flow-metrics)
2774 ("go-github-com-libp2p-go-libp2p-peer" ,go-github-com-libp2p-go-libp2p-peer)
2775 ("go-github-com-libp2p-go-libp2p-protocol" ,go-github-com-libp2p-go-libp2p-protocol)
2776 ("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto)
2777 ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
2778 ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
2779 ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
2780 ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
2781 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
2782 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
2783 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
2784 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
9c359ff4
LF
2785 ("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)
2786 ("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519)
2787 ("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)))
77d8a917
PN
2788 (home-page "https://github.com/libp2p/go-libp2p-metrics")
2789 (synopsis "Connection wrapper for go-libp2p that provides bandwidth metrics")
2790 (description "A connection wrapper for @command{go-libp2p} that provides bandwidth
2791statistics for wrapped connections.")
2792 (license license:expat))))
8cb91281
PN
2793
2794(define-public go-github-com-mitchellh-go-homedir
2795 (let ((commit "ae18d6b8b3205b561c79e8e5f69bff09736185f4")
2796 (revision "0"))
2797 (package
2798 (name "go-github-com-mitchellh-go-homedir")
2799 (version (git-version "1.0.0" revision commit))
2800 (source
2801 (origin
2802 (method git-fetch)
2803 (uri (git-reference
2804 (url "https://github.com/mitchellh/go-homedir.git")
2805 (commit commit)))
2806 (file-name (git-file-name name version))
2807 (sha256
2808 (base32
2809 "0f0z0aa4wivk4z1y503dmnw0k0g0g403dly8i4q263gfshs82sbq"))))
2810 (build-system go-build-system)
2811 (arguments
2812 (quote (#:import-path "github.com/mitchellh/go-homedir"
2813 ;; TODO: Tests fail because it tries to access home.
2814 #:tests? #f)))
2815 (home-page "https://github.com/mitchellh/go-homedir")
2816 (synopsis "Go library for detecting and expanding the user's home directory without cgo")
2817 (description "This is a Go library for detecting the user's home
2818directory without the use of @command{cgo}, so the library can be used in
2819cross-compilation environments.
2820
2821Usage is simple, just call homedir.Dir() to get the home directory for a user,
2822and homedir.Expand() to expand the @command{~} in a path to the home
2823directory.
2824
2825Why not just use @command{os/user}? The built-in @command{os/user} package
2826requires cgo on Darwin systems. This means that any Go code that uses that
2827package cannot cross compile. But 99% of the time the use for
2828@command{os/user} is just to retrieve the home directory, which we can do for
2829the current user without cgo. This library does that, enabling
2830cross-compilation.")
2831 (license license:expat))))
e53121b3
PN
2832
2833(define-public go-github-com-multiformats-go-multiaddr
2834 (let ((commit "fe1c46f8be5af4aff4db286e08839295bd922efb")
2835 (revision "0"))
2836 (package
2837 (name "go-github-com-multiformats-go-multiaddr")
2838 (version (git-version "1.3.0" revision commit))
2839 (source
2840 (origin
2841 (method git-fetch)
2842 (uri (git-reference
2843 (url "https://github.com/multiformats/go-multiaddr.git")
2844 (commit commit)))
2845 (file-name (git-file-name name version))
2846 (sha256
2847 (base32
2848 "0p5f8h098a4yjjmzsgqs7vhx1iqifb8izwg3559cr4h7clkpzznh"))))
2849 (build-system go-build-system)
2850 (arguments
2851 '(#:import-path
2852 "github.com/multiformats/go-multiaddr"))
2853 (native-inputs
2854 `(("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
2855 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
2856 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
2857 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
2858 ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
2859 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
9c359ff4
LF
2860 ("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)
2861 ("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)))
e53121b3
PN
2862 (home-page "https://github.com/multiformats/go-multiaddr")
2863 (synopsis "Composable and future-proof network addresses")
2864 (description "Multiaddr is a standard way to represent addresses that
2865does the following:
2866
2867@itemize
2868@item Support any standard network protocols.
2869@item Self-describe (include protocols).
2870@item Have a binary packed format.
2871@item Have a nice string representation.
2872@item Encapsulate well.
2873@end itemize\n")
2874 (license license:expat))))
66fb6e29
PN
2875
2876(define-public go-github-com-multiformats-go-multiaddr-net
2877 (let ((commit "1cb9a0e8a6de3c8a10f6cee60d01d793603c4f7e")
2878 (revision "0"))
2879 (package
2880 (name "go-github-com-multiformats-go-multiaddr-net")
2881 (version (git-version "1.6.3" revision commit))
2882 (source
2883 (origin
2884 (method git-fetch)
2885 (uri (git-reference
2886 (url "https://github.com/multiformats/go-multiaddr-net.git")
2887 (commit commit)))
2888 (file-name (git-file-name name version))
2889 (sha256
2890 (base32
2891 "1ypgi47xdz3bh8lh7f8cmk7w3ql9g4izx5l3kzdg9gda1xn5zxq3"))))
2892 (build-system go-build-system)
2893 (arguments
2894 (quote (#:import-path "github.com/multiformats/go-multiaddr-net"
2895 ;; TODO: Tests fail because they try to access the network.
2896 #:tests? #f)))
2897 (native-inputs
2898 `(("go-github-com-multiformats-go-multiaddr" ,go-github-com-multiformats-go-multiaddr)
2899 ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
2900 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
2901 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
2902 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
2903 ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
2904 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
9c359ff4
LF
2905 ("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)
2906 ("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)))
66fb6e29
PN
2907 (home-page "https://github.com/multiformats/go-multiaddr-net")
2908 (synopsis "Multiaddress net tools")
2909 (description "This package provides Multiaddr specific versions of
2910common functions in stdlib's @command{net} package. This means wrappers of
2911standard net symbols like @command{net.Dial} and @command{net.Listen}, as well
2912as conversion to and from @command{net.Addr}.")
2913 (license license:expat))))
38d346dc
PN
2914
2915(define-public go-github-com-whyrusleeping-tar-utils
2916 (let ((commit "8c6c8ba81d5c71fd69c0f48dbde4b2fb422b6dfc")
2917 (revision "0"))
2918 (package
2919 (name "go-github-com-whyrusleeping-tar-utils")
2920 (version (git-version "0.0.0" revision commit))
2921 (source
2922 (origin
2923 (method git-fetch)
2924 (uri (git-reference
2925 (url "https://github.com/whyrusleeping/tar-utils.git")
2926 (commit commit)))
2927 (file-name (git-file-name name version))
2928 (sha256
2929 (base32
2930 "14jjdw3yics0k467xsyk388684wdpi0bbx8nqj0y4pqxa0s0in6s"))))
2931 (build-system go-build-system)
2932 (arguments
2933 '(#:import-path
2934 "github.com/whyrusleeping/tar-utils"))
2935 (home-page "https://github.com/whyrusleeping/tar-utils")
2936 (synopsis "Tar utilities extracted from go-ipfs codebase")
2937 (description "Tar utilities extracted from @command{go-ipfs} codebase.")
2938 (license license:expat))))
ad8d4637
PN
2939
2940(define-public go-github-com-cheekybits-is
2941 (let ((commit "68e9c0620927fb5427fda3708222d0edee89eae9")
2942 (revision "0"))
2943 (package
2944 (name "go-github-com-cheekybits-is")
2945 (version (git-version "0.0.0" revision commit))
2946 (source
2947 (origin
2948 (method git-fetch)
2949 (uri (git-reference
2950 (url "https://github.com/cheekybits/is.git")
2951 (commit commit)))
2952 (file-name (git-file-name name version))
2953 (sha256
2954 (base32
2955 "1mkbyzhwq3rby832ikq00nxv3jnckxsm3949wkxd8ya9js2jmg4d"))))
2956 (build-system go-build-system)
2957 (arguments
2958 '(#:import-path "github.com/cheekybits/is"))
2959 (home-page "https://github.com/cheekybits/is")
2960 (synopsis "Mini testing helper for Go")
2961 (description "A mini testing helper for Go.
2962
2963@itemize
2964@item It has a simple interface (@command{is.OK} and @command{is.Equal}).
2965@item It plugs into existing Go toolchain (uses @command{testing.T}).
2966@item It's obvious for newcomers.
2967@item It also gives you @command{is.Panic} and @command{is.PanicWith} helpers
2968- because testing panics is ugly.
2969@end itemize\n")
2970 (license license:expat))))
20f48e4b
PN
2971
2972(define-public go-github-com-sabhiram-go-gitignore
2973 (let ((commit "d3107576ba9425fc1c85f4b3569c4631b805a02e")
2974 (revision "0"))
2975 (package
2976 (name "go-github-com-sabhiram-go-gitignore")
2977 (version (git-version "1.0.2" revision commit))
2978 (source
2979 (origin
2980 (method git-fetch)
2981 (uri (git-reference
2982 (url "https://github.com/sabhiram/go-gitignore.git")
2983 (commit commit)))
2984 (file-name (git-file-name name version))
2985 (sha256
2986 (base32
2987 "1rdwyxgcsiwgmlqnc3k6h300mzlvjc3j21np4yh1h476wc8dvl0l"))))
2988 (build-system go-build-system)
2989 (arguments
2990 '(#:import-path
2991 "github.com/sabhiram/go-gitignore"))
2992 (native-inputs
2993 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
2994 (home-page "https://github.com/sabhiram/go-gitignore")
2995 (synopsis "Gitignore parser for Go")
2996 (description "A @command{.gitignore} parser for Go.")
2997 (license license:expat))))
b5bb0b50
PN
2998
2999(define-public go-github-com-urfave-cli
3000 (let ((commit "934abfb2f102315b5794e15ebc7949e4ca253920")
3001 (revision "0"))
3002 (package
3003 (name "go-github-com-urfave-cli")
3004 (version (git-version "1.19.1" revision commit))
3005 (source
3006 (origin
3007 (method git-fetch)
3008 (uri (git-reference
3009 (url "https://github.com/urfave/cli.git")
3010 (commit commit)))
3011 (file-name (git-file-name name version))
3012 (sha256
3013 (base32
3014 "0c5r8pgj3k48dfcwj8lw3cxkwkl8vh0fhvz5snfdwd0bcxdqx1yq"))))
3015 (build-system go-build-system)
3016 (arguments
3017 '(#:import-path "github.com/urfave/cli"))
3018 (home-page "https://github.com/urfave/cli")
3019 (synopsis "Simple, fast, and fun package for building command line apps in Go")
3020 (description "@command{cli} is a simple, fast, and fun package for
3021building command line apps in Go. The goal is to enable developers to write
3022fast and distributable command line applications in an expressive way.")
3023 (license license:expat))))
7bd9020e
PN
3024
3025(define-public go-github-com-whyrusleeping-json-filter
3026 (let ((commit "ff25329a9528f01c5175414f16cc0a6a162a5b8b")
3027 (revision "0"))
3028 (package
3029 (name "go-github-com-whyrusleeping-json-filter")
3030 (version (git-version "0.0.0" revision commit))
3031 (source
3032 (origin
3033 (method git-fetch)
3034 (uri (git-reference
3035 (url "https://github.com/whyrusleeping/json-filter.git")
3036 (commit commit)))
3037 (file-name (git-file-name name version))
3038 (sha256
3039 (base32
3040 "0cai0drvx4c8j686l908vpcsz3mw3vxi3ziz94b0f3c5ylpj07j7"))))
3041 (build-system go-build-system)
3042 (arguments
3043 '(#:import-path
3044 "github.com/whyrusleeping/json-filter"))
3045 (home-page "https://github.com/whyrusleeping/json-filter")
3046 (synopsis "Library to query JSON objects marshalled into map[string]interface")
3047 (description "A library to query JSON objects marshalled into
3048@command{map[string]interface{}}.")
3049 (license license:expat))))
38566e97
PN
3050
3051(define-public go-github-com-whyrusleeping-progmeter
3052 (let ((commit "f3e57218a75b913eff88d49a52c1debf9684ea04")
3053 (revision "0"))
3054 (package
3055 (name "go-github-com-whyrusleeping-progmeter")
3056 (version (git-version "0.0.0" revision commit))
3057 (source
3058 (origin
3059 (method git-fetch)
3060 (uri (git-reference
3061 (url "https://github.com/whyrusleeping/progmeter.git")
3062 (commit commit)))
3063 (file-name (git-file-name name version))
3064 (sha256
3065 (base32
3066 "0xs8rz6yhpvj9512c5v3b8dwr2kivywnyyfxzdfbr6fy1xc8zskb"))))
3067 (build-system go-build-system)
3068 (arguments
3069 '(#:import-path
3070 "github.com/whyrusleeping/progmeter"))
3071 (home-page "https://github.com/whyrusleeping/progmeter")
3072 (synopsis "Progress meter for Go")
3073 (description "Progress meter for Go.")
3074 (license license:expat))))
56eb7bd3
PN
3075
3076(define-public go-github-com-whyrusleeping-stump
3077 (let ((commit "206f8f13aae1697a6fc1f4a55799faf955971fc5")
3078 (revision "0"))
3079 (package
3080 (name "go-github-com-whyrusleeping-stump")
3081 (version (git-version "0.0.0" revision commit))
3082 (source
3083 (origin
3084 (method git-fetch)
3085 (uri (git-reference
3086 (url "https://github.com/whyrusleeping/stump.git")
3087 (commit commit)))
3088 (file-name (git-file-name name version))
3089 (sha256
3090 (base32
3091 "1s40qdppjnk8gijk7x6kbviiqz62nz3h6gic2q9cwcmq8r5isw7n"))))
3092 (build-system go-build-system)
3093 (arguments
3094 '(#:import-path "github.com/whyrusleeping/stump"))
3095 (home-page "https://github.com/whyrusleeping/stump")
3096 (synopsis "Very basic logging package for Go")
3097 (description "A simple log library, for when you don't really care to
3098have super fancy logs.")
3099 (license license:expat))))
5b6c3ad0
PN
3100
3101(define-public go-github-com-kr-fs
3102 (let ((commit "1455def202f6e05b95cc7bfc7e8ae67ae5141eba")
3103 (revision "0"))
3104 (package
3105 (name "go-github-com-kr-fs")
3106 (version (git-version "0.1.0" revision commit))
3107 (source
3108 (origin
3109 (method git-fetch)
3110 (uri (git-reference
3111 (url "https://github.com/kr/fs.git")
3112 (commit commit)))
3113 (file-name (git-file-name name version))
3114 (sha256
3115 (base32
3116 "11zg176x9hr9q7fsk95r6q0wf214gg4czy02slax4x56n79g6a7q"))))
3117 (build-system go-build-system)
3118 (arguments
3119 '(#:import-path "github.com/kr/fs"))
3120 (home-page "https://github.com/kr/fs")
3121 (synopsis "Filesystem-related functions for Go")
3122 (description "Package fs provides filesystem-related functions.")
3123 (license license:bsd-3))))
bc58bb9b
LF
3124
3125(define-public go-github-com-direnv-go-dotenv
3126 (let ((commit "4cce6d1a66f7bc8dc730eab85cab6af1b801abed")
3127 (revision "0"))
3128 (package
3129 (name "go-github-com-direnv-go-dotenv")
3130 (version (git-version "0.0.0" revision commit))
3131 (source
3132 (origin
3133 (method git-fetch)
3134 (uri (git-reference
3135 (url "https://github.com/direnv/go-dotenv")
3136 (commit commit)))
3137 (file-name (git-file-name name version))
3138 (sha256
3139 (base32
3140 "00wn4fc2lma0csf6ryvlc6k9jbpbifm4n7i3kkd2xrfw5qlm29b6"))))
3141 (build-system go-build-system)
3142 (arguments
3143 '(#:import-path "github.com/direnv/go-dotenv"))
3144 (home-page "https://github.com/direnv/go-dotenv")
3145 (synopsis "Go dotenv parsing library")
3146 (description "This package provides a library for parsing the dotenv
3147format in Go.")
3148 (license license:expat))))
56f610f5 3149
aa413ff8
LF
3150(define-public go-github-com-kr-pretty
3151 (package
3152 (name "go-github-com-kr-pretty")
3153 (version "0.1.0")
3154 (source (origin
3155 (method git-fetch)
3156 (uri (git-reference
3157 (url "https://github.com/kr/pretty.git")
3158 (commit (string-append "v" version))))
3159 (file-name (git-file-name name version))
3160 (sha256
3161 (base32
3162 "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp"))))
3163 (build-system go-build-system)
3164 (propagated-inputs
3165 `(("go-github-com-kr-text" ,go-github-com-kr-text)))
3166 (arguments
3167 '(#:import-path "github.com/kr/pretty"))
3168 (synopsis "A pretty printer for Go values")
3169 (description "This package provides a pretty printer for Go values.")
3170 (home-page "https://github.com/kr/pretty")
3171 (license license:expat)))
3172
56f610f5
LF
3173(define-public go-github-com-kr-text
3174 (package
3175 (name "go-github-com-kr-text")
3176 (version "0.1.0")
3177 (source (origin
3178 (method git-fetch)
3179 (uri (git-reference
3180 (url "https://github.com/kr/text.git")
3181 (commit (string-append "v" version))))
3182 (file-name (git-file-name name version))
3183 (sha256
3184 (base32
3185 "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1"))))
3186 (build-system go-build-system)
3187 (arguments
3188 '(#:import-path "github.com/kr/text"))
3189 (synopsis "Text formatting in Go")
3190 (description "This package provides a text formatting functions in Go.")
3191 (home-page "https://github.com/kr/text")
3192 (license license:expat)))