gnu: Add go-github-com-blanu-dust.
[jackhill/guix/guix.git] / gnu / packages / golang.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
3 ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
4 ;;; Copyright © 2016 Andy Wingo <wingo@igalia.com>
5 ;;; Copyright © 2016, 2019 Ludovic Courtès <ludo@gnu.org>
6 ;;; Copyright © 2016, 2017 Petter <petter@mykolab.ch>
7 ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Leo Famulari <leo@famulari.name>
8 ;;; Copyright © 2017 Sergei Trofimovich <slyfox@inbox.ru>
9 ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
10 ;;; Copyright © 2018, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
11 ;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
12 ;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
13 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
14 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
15 ;;; Copyright © 2018, 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
16 ;;; Copyright © 2019 Giovanni Biscuolo <g@xelera.eu>
17 ;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com>
18 ;;; Copyright © 2019, 2020 Arun Isaac <arunisaac@systemreboot.net>
19 ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
20 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
21 ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.com>
22 ;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
23 ;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
24 ;;; Copyright © 2020 raingloom <raingloom@riseup.net>
25 ;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
26 ;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
27 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
28 ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@mgail.com>
29 ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
30 ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
31 ;;; Copyright © 2021 jgart <jgart@dismail.de>
32 ;;;
33 ;;; This file is part of GNU Guix.
34 ;;;
35 ;;; GNU Guix is free software; you can redistribute it and/or modify it
36 ;;; under the terms of the GNU General Public License as published by
37 ;;; the Free Software Foundation; either version 3 of the License, or (at
38 ;;; your option) any later version.
39 ;;;
40 ;;; GNU Guix is distributed in the hope that it will be useful, but
41 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
42 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
43 ;;; GNU General Public License for more details.
44 ;;;
45 ;;; You should have received a copy of the GNU General Public License
46 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
47
48 (define-module (gnu packages golang)
49 #:use-module ((guix licenses) #:prefix license:)
50 #:use-module (guix utils)
51 #:use-module ((guix build utils) #:select (alist-replace))
52 #:use-module (guix download)
53 #:use-module (guix git-download)
54 #:use-module (guix packages)
55 #:use-module (guix build-system gnu)
56 #:use-module (guix build-system trivial)
57 #:use-module (guix build-system go)
58 #:use-module (gnu packages)
59 #:use-module (gnu packages admin)
60 #:use-module (gnu packages base)
61 #:use-module ((gnu packages bootstrap) #:select (glibc-dynamic-linker))
62 #:use-module (gnu packages gcc)
63 #:use-module (gnu packages glib)
64 #:use-module (gnu packages lua)
65 #:use-module (gnu packages mp3)
66 #:use-module (gnu packages pcre)
67 #:use-module (gnu packages perl)
68 #:use-module (gnu packages pkg-config)
69 #:use-module (gnu packages pulseaudio)
70 #:use-module (gnu packages terminals)
71 #:use-module (gnu packages textutils)
72 #:use-module (gnu packages tls)
73 #:use-module (gnu packages web)
74 #:use-module (ice-9 match)
75 #:use-module (srfi srfi-1))
76
77 (define-public go-github-com-blanu-dust
78 (package
79 (name "go-github-com-blanu-dust")
80 (version "1.0.1")
81 (source
82 (origin
83 (method git-fetch)
84 (uri
85 (git-reference
86 (url "https://github.com/blanu/Dust")
87 (commit (string-append "v" version))))
88 (file-name (git-file-name name version))
89 (sha256
90 (base32 "1lya21w06ramq37af5hdiafbrv5k1csjm7k7m00v0bfxg3ni01bs"))))
91 (build-system go-build-system)
92 (arguments
93 `(#:unpack-path "github.com/blanu/Dust"
94 #:phases
95 (modify-phases %standard-phases
96 (replace 'build
97 (lambda arguments
98 (for-each
99 (lambda (directory)
100 (apply (assoc-ref %standard-phases 'build)
101 `(,@arguments #:import-path ,directory)))
102 (list
103 "github.com/blanu/Dust/go/buf"
104 "github.com/blanu/Dust/go/dist"
105 "github.com/blanu/Dust/go/huffman"
106 "github.com/blanu/Dust/go/model1"
107 "github.com/blanu/Dust/go/prim1"
108 "github.com/blanu/Dust/go/proc"
109 "github.com/blanu/Dust/go/sillyHex"
110 "github.com/blanu/Dust/go/skein"
111 "github.com/blanu/Dust/go/v2/Dust2_proxy"
112 "github.com/blanu/Dust/go/v2/Dust2_tool"
113 "github.com/blanu/Dust/go/v2/crypting"
114 "github.com/blanu/Dust/go/v2/interface"
115 "github.com/blanu/Dust/go/v2/shaping"))))
116 (replace 'check
117 (lambda arguments
118 (for-each
119 (lambda (directory)
120 (apply (assoc-ref %standard-phases 'check)
121 `(,@arguments #:import-path ,directory)))
122 (list
123 "github.com/blanu/Dust/go/buf"
124 "github.com/blanu/Dust/go/dist"
125 ;; Repository is missing test files directory.
126 ;;"github.com/blanu/Dust/go/huffman"
127 "github.com/blanu/Dust/go/model1"
128 "github.com/blanu/Dust/go/prim1"
129 "github.com/blanu/Dust/go/proc"
130 "github.com/blanu/Dust/go/sillyHex"
131 "github.com/blanu/Dust/go/skein"
132 "github.com/blanu/Dust/go/v2/Dust2_proxy"
133 "github.com/blanu/Dust/go/v2/Dust2_tool"
134 "github.com/blanu/Dust/go/v2/crypting"
135 "github.com/blanu/Dust/go/v2/interface"
136 "github.com/blanu/Dust/go/v2/shaping"))))
137 (replace 'install
138 (lambda arguments
139 (for-each
140 (lambda (directory)
141 (apply (assoc-ref %standard-phases 'install)
142 `(,@arguments #:import-path ,directory)))
143 (list
144 "github.com/blanu/Dust/go/buf"
145 "github.com/blanu/Dust/go/dist"
146 "github.com/blanu/Dust/go/huffman"
147 "github.com/blanu/Dust/go/model1"
148 "github.com/blanu/Dust/go/prim1"
149 "github.com/blanu/Dust/go/proc"
150 "github.com/blanu/Dust/go/sillyHex"
151 "github.com/blanu/Dust/go/skein"
152 "github.com/blanu/Dust/go/v2/Dust2_proxy"
153 "github.com/blanu/Dust/go/v2/Dust2_tool"
154 "github.com/blanu/Dust/go/v2/crypting"
155 "github.com/blanu/Dust/go/v2/interface"
156 "github.com/blanu/Dust/go/v2/shaping")))))))
157 (propagated-inputs
158 `(("go-github-com-operatorfoundation-ed25519"
159 ,go-github-com-operatorfoundation-ed25519)
160 ("go-github-com-op-go-logging"
161 ,go-github-com-op-go-logging)
162 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
163 (home-page "https://github.com/blanu/Dust")
164 (synopsis "Censorship-resistant internet transport protocol")
165 (description "Dust is an Internet protocol designed to resist a number of
166 attacks currently in active use to censor Internet communication. While
167 adherence to the theoretical maxims of cryptographic security is observed where
168 possible, the focus of Dust is on real solutions to real attacks.")
169 (license
170 (list
171 ;; Skein.
172 license:bsd-2
173 ;; Others.
174 license:expat))))
175
176 (define-public go-github-com-op-go-logging
177 (package
178 (name "go-github-com-op-go-logging")
179 (version "1")
180 (source
181 (origin
182 (method git-fetch)
183 (uri
184 (git-reference
185 (url "https://github.com/op/go-logging")
186 (commit (string-append "v" version))))
187 (file-name (git-file-name name version))
188 (sha256
189 (base32 "01a6lkpj5p82gplddh55az194s9y3014p4j8x4zc8yv886z9c8gn"))))
190 (build-system go-build-system)
191 (arguments
192 `(#:tests? #f ; ERROR: incorrect callpath: String.rec...a.b.c.Info.
193 #:import-path "github.com/op/go-logging"))
194 (home-page "https://github.com/op/go-logging")
195 (synopsis "Go logging library")
196 (description "Go-Logging implements a logging infrastructure for Go. Its
197 output format is customizable and supports different logging backends like
198 syslog, file and memory. Multiple backends can be utilized with different log
199 levels per backend and logger.")
200 (license license:bsd-3)))
201
202 (define-public go-github-com-operatorfoundation-shapeshifter-ipc
203 (package
204 (name "go-github-com-operatorfoundation-shapeshifter-ipc")
205 (version "2.0.0")
206 (source
207 (origin
208 (method git-fetch)
209 (uri
210 (git-reference
211 (url "https://github.com/OperatorFoundation/shapeshifter-ipc")
212 (commit (string-append "v" version))))
213 (file-name (git-file-name name version))
214 (sha256
215 (base32 "1q1fcnllg462nfca16s5mr0n2jh92x3hj946qnaqc682phjz04lg"))))
216 (build-system go-build-system)
217 (arguments
218 `(#:tests? #f ; ERROR: undefined: Args.
219 #:unpack-path "github.com/OperatorFoundation/shapeshifter-ipc"
220 #:phases
221 (modify-phases %standard-phases
222 (replace 'build
223 (lambda arguments
224 (for-each
225 (lambda (directory)
226 (apply (assoc-ref %standard-phases 'build)
227 `(,@arguments #:import-path ,directory)))
228 (list
229 "github.com/OperatorFoundation/shapeshifter-ipc/v2"
230 "github.com/OperatorFoundation/shapeshifter-ipc/v3"))))
231 (replace 'check
232 (lambda arguments
233 (for-each
234 (lambda (directory)
235 (apply (assoc-ref %standard-phases 'check)
236 `(,@arguments #:import-path ,directory)))
237 (list
238 "github.com/OperatorFoundation/shapeshifter-ipc/v2"
239 "github.com/OperatorFoundation/shapeshifter-ipc/v3"))))
240 (replace 'install
241 (lambda arguments
242 (for-each
243 (lambda (directory)
244 (apply (assoc-ref %standard-phases 'install)
245 `(,@arguments #:import-path ,directory)))
246 (list
247 "github.com/OperatorFoundation/shapeshifter-ipc/v2"
248 "github.com/OperatorFoundation/shapeshifter-ipc/v3")))))))
249 (home-page "https://github.com/OperatorFoundation/shapeshifter-ipc")
250 (synopsis "Go implementation of the Pluggable Transports IPC protocol")
251 (description "Shapeshifter-IPC is a library for Go implementing the IPC
252 protocol from the Pluggable Transports 2.0 specification.")
253 (license license:expat)))
254
255 (define-public go-github-com-operatorfoundation-obfs4
256 (package
257 (name "go-github-com-operatorfoundation-obfs4")
258 (version "1.0.0")
259 (source
260 (origin
261 (method git-fetch)
262 (uri
263 (git-reference
264 (url "https://github.com/OperatorFoundation/obfs4")
265 (commit (string-append "v" version))))
266 (file-name (git-file-name name version))
267 (sha256
268 (base32 "0s730xagdxs66wfh65hb5v9a5h01q5ncic3pyij0a043scagizgr"))))
269 (build-system go-build-system)
270 (arguments
271 `(#:unpack-path "github.com/OperatorFoundation/obfs4"
272 #:phases
273 (modify-phases %standard-phases
274 (add-after 'unpack 'patch
275 (lambda _
276 (substitute* (find-files "." "\\.go$")
277 ;; To drop '.git' suffix in import path of goptlib.
278 (("goptlib\\.git") "goptlib"))))
279 (replace 'build
280 (lambda arguments
281 (for-each
282 (lambda (directory)
283 (apply (assoc-ref %standard-phases 'build)
284 `(,@arguments #:import-path ,directory)))
285 (list
286 "github.com/OperatorFoundation/obfs4/common/csrand"
287 "github.com/OperatorFoundation/obfs4/common/drbg"
288 "github.com/OperatorFoundation/obfs4/common/log"
289 "github.com/OperatorFoundation/obfs4/common/ntor"
290 "github.com/OperatorFoundation/obfs4/common/probdist"
291 "github.com/OperatorFoundation/obfs4/common/pt_extras"
292 "github.com/OperatorFoundation/obfs4/common/replayfilter"
293 "github.com/OperatorFoundation/obfs4/common/socks5"
294 "github.com/OperatorFoundation/obfs4/common/termmon"
295 "github.com/OperatorFoundation/obfs4/common/uniformdh"
296 "github.com/OperatorFoundation/obfs4/modes/pt_socks5"
297 "github.com/OperatorFoundation/obfs4/modes/stun_udp"
298 "github.com/OperatorFoundation/obfs4/modes/transparent_tcp"
299 "github.com/OperatorFoundation/obfs4/modes/transparent_udp"
300 "github.com/OperatorFoundation/obfs4/obfs4proxy"
301 "github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_http"
302 "github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_socks4"
303 "github.com/OperatorFoundation/obfs4/transports"))))
304 (replace 'check
305 (lambda arguments
306 (for-each
307 (lambda (directory)
308 (apply (assoc-ref %standard-phases 'check)
309 `(,@arguments #:import-path ,directory)))
310 (list
311 "github.com/OperatorFoundation/obfs4/common/csrand"
312 "github.com/OperatorFoundation/obfs4/common/drbg"
313 "github.com/OperatorFoundation/obfs4/common/log"
314 "github.com/OperatorFoundation/obfs4/common/ntor"
315 "github.com/OperatorFoundation/obfs4/common/probdist"
316 "github.com/OperatorFoundation/obfs4/common/pt_extras"
317 "github.com/OperatorFoundation/obfs4/common/replayfilter"
318 "github.com/OperatorFoundation/obfs4/common/socks5"
319 "github.com/OperatorFoundation/obfs4/common/termmon"
320 "github.com/OperatorFoundation/obfs4/common/uniformdh"
321 ;; ERROR: Println arg dialFn is a func value, not called.
322 ;;"github.com/OperatorFoundation/obfs4/modes/pt_socks5"
323 ;; ERROR: Infof format %s has arg ln of wrong type *net.UDPConn.
324 ;;"github.com/OperatorFoundation/obfs4/modes/stun_udp"
325 "github.com/OperatorFoundation/obfs4/modes/transparent_tcp"
326 ;; ERROR: Infof format %s has arg ln of wrong type *net.UDPConn
327 ;;"github.com/OperatorFoundation/obfs4/modes/transparent_udp"
328 ;; ERROR: Println call has possible formatting directive %s.
329 ;;"github.com/OperatorFoundation/obfs4/obfs4proxy"
330 "github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_http"
331 "github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_socks4"
332 "github.com/OperatorFoundation/obfs4/transports"))))
333 (replace 'install
334 (lambda arguments
335 (for-each
336 (lambda (directory)
337 (apply (assoc-ref %standard-phases 'install)
338 `(,@arguments #:import-path ,directory)))
339 (list
340 "github.com/OperatorFoundation/obfs4/common/csrand"
341 "github.com/OperatorFoundation/obfs4/common/drbg"
342 "github.com/OperatorFoundation/obfs4/common/log"
343 "github.com/OperatorFoundation/obfs4/common/ntor"
344 "github.com/OperatorFoundation/obfs4/common/probdist"
345 "github.com/OperatorFoundation/obfs4/common/pt_extras"
346 "github.com/OperatorFoundation/obfs4/common/replayfilter"
347 "github.com/OperatorFoundation/obfs4/common/socks5"
348 "github.com/OperatorFoundation/obfs4/common/termmon"
349 "github.com/OperatorFoundation/obfs4/common/uniformdh"
350 "github.com/OperatorFoundation/obfs4/modes/pt_socks5"
351 "github.com/OperatorFoundation/obfs4/modes/stun_udp"
352 "github.com/OperatorFoundation/obfs4/modes/transparent_tcp"
353 "github.com/OperatorFoundation/obfs4/modes/transparent_udp"
354 "github.com/OperatorFoundation/obfs4/obfs4proxy"
355 "github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_http"
356 "github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_socks4"
357 "github.com/OperatorFoundation/obfs4/transports")))))))
358 (propagated-inputs
359 `(("go-github-com-dchest-siphash"
360 ,go-github-com-dchest-siphash)
361 ("go-github-com-operatorfoundation-ed25519"
362 ,go-github-com-operatorfoundation-ed25519)
363 ("go-github-com-willscott-goturn"
364 ,go-github-com-willscott-goturn)
365 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
366 ("go-golang-org-x-net" ,go-golang-org-x-net)
367 ("go-torproject-org-pluggable-transports-goptlib"
368 ,go-torproject-org-pluggable-transports-goptlib)))
369 (home-page "https://github.com/OperatorFoundation/obfs4")
370 (synopsis "Network obfourscator to scramble network traffic")
371 (description "Obfs4 is a look-like nothing obfuscation protocol that
372 incorporates ideas and concepts from Philipp Winter's ScrambleSuit protocol.
373 The notable differences between ScrambleSuit and obfs4 are:
374 @itemize
375 @item The handshake always does a full key exchange (no such thing as a Session
376 Ticket Handshake).
377 @item The handshake uses the Tor Project's ntor handshake with public keys
378 obfuscated via the Elligator 2 mapping.
379 @item The link layer encryption uses NaCl secret boxes (Poly1305/XSalsa20).
380 @end itemize")
381 (license license:bsd-2)))
382
383 (define-public go-github-com-willscott-goturn
384 (let ((commit "19f41278d0c9251d64e0ee29f37d51e87a24a97b")
385 (revision "0"))
386 (package
387 (name "go-github-com-willscott-goturn")
388 (version (git-version "0.0.0" revision commit))
389 (source
390 (origin
391 (method git-fetch)
392 (uri
393 (git-reference
394 (url "https://github.com/willscott/goturn")
395 (commit commit)))
396 (file-name (git-file-name name version))
397 (sha256
398 (base32 "0zwvhfznr84ayzknn9flh65nvqjsixisgy9fkhz2jlahl1ldqcq7"))))
399 (build-system go-build-system)
400 (arguments
401 `(#:import-path "github.com/willscott/goturn"))
402 (home-page "https://github.com/willscott/goturn")
403 (synopsis "Go TURN dialer")
404 (description "GoTURN is a library providing a Go interface compatible with
405 the golang proxy package which connects through a TURN relay. It provides
406 parsing and encoding support for STUN and TURN protocols.")
407 (license license:bsd-3))))
408
409 (define-public go-torproject-org-pluggable-transports-goptlib
410 (package
411 (name "go-torproject-org-pluggable-transports-goptlib")
412 (version "1.1.0")
413 (source
414 (origin
415 (method git-fetch)
416 (uri
417 (git-reference
418 (url "https://git.torproject.org/pluggable-transports/goptlib")
419 (commit (string-append "v" version))))
420 (file-name (git-file-name name version))
421 (sha256
422 (base32 "1lh938194hvkf8pqgnxwf6hvjv9rv0j3kasi07r2ckrj8sxzk4jc"))))
423 (build-system go-build-system)
424 (arguments
425 `(#:import-path "git.torproject.org/pluggable-transports/goptlib"))
426 (home-page "https://gitweb.torproject.org/pluggable-transports/goptlib.git/")
427 (synopsis "Go pluggable transports library")
428 (description "GoPtLib is a library for writing Tor pluggable transports in
429 Go.")
430 (license license:cc0)))
431
432 (define-public go-github-com-sevlyar-go-daemon
433 (package
434 (name "go-github-com-sevlyar-go-daemon")
435 (version "0.1.5")
436 (source
437 (origin
438 (method git-fetch)
439 (uri
440 (git-reference
441 (url "https://github.com/sevlyar/go-daemon")
442 (commit (string-append "v" version))))
443 (file-name (git-file-name name version))
444 (sha256
445 (base32 "1y3gnxaifykcjcbzx91lz9bc93b95w3xj4rjxjbii26pm3j7gqyk"))))
446 (build-system go-build-system)
447 (arguments
448 `(#:import-path "github.com/sevlyar/go-daemon"))
449 (propagated-inputs
450 `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
451 (home-page "https://github.com/sevlyar/go-daemon")
452 (synopsis "Library for writing system daemons")
453 (description "Go-Daemon is a library for writing system daemons in Go.")
454 (license license:expat)))
455
456 (define-public go-github-com-keybase-go-ps
457 (let ((commit "91aafc93ba19d1988cff338c1929d35b6c6f5b50")
458 (revision "0"))
459 (package
460 (name "go-github-com-keybase-go-ps")
461 (version (git-version "0.0.0" revision commit))
462 (source
463 (origin
464 (method git-fetch)
465 (uri
466 (git-reference
467 (url "https://github.com/keybase/go-ps")
468 (commit commit)))
469 (file-name (git-file-name name version))
470 (sha256
471 (base32 "1la7m9pd1rrij727g34k9d2iapqwrkwdkqwpkbsbcq8ig0fg634h"))))
472 (build-system go-build-system)
473 (arguments
474 `(#:import-path "github.com/keybase/go-ps"
475 #:phases
476 (modify-phases %standard-phases
477 (add-after 'unpack 'fix-tests
478 (lambda* (#:key native-inputs inputs #:allow-other-keys)
479 (substitute* (find-files "." "test\\.go")
480 (("/bin/sleep" command)
481 (string-append
482 (assoc-ref (or native-inputs inputs) "coreutils")
483 command))))))))
484 (native-inputs
485 `(("coreutils" ,coreutils)
486 ("go-github-com-stretchr-testify"
487 ,go-github-com-stretchr-testify)))
488 (home-page "https://github.com/keybase/go-ps")
489 (synopsis "Process list library for Go")
490 (description "Go-Ps is a library for Go that implements OS-specific APIs
491 to list and manipulate processes in a safe way.")
492 (license license:expat))))
493
494 (define-public go-github-com-apparentlymart-go-openvpn-mgmt
495 (let ((commit "4d2ce95ae600ee04eeb020ee0997aabb82752210")
496 (revision "0"))
497 (package
498 (name "go-github-com-apparentlymart-go-openvpn-mgmt")
499 (version (git-version "0.0.0" revision commit))
500 (source
501 (origin
502 (method git-fetch)
503 (uri
504 (git-reference
505 (url "https://github.com/apparentlymart/go-openvpn-mgmt")
506 (commit commit)))
507 (file-name (git-file-name name version))
508 (sha256
509 (base32 "1dn431jnswg5ns1ah10wswnw6wiv48zq21zr5xp1178l4waswj7k"))))
510 (build-system go-build-system)
511 (arguments
512 `(#:unpack-path "github.com/apparentlymart/go-openvpn-mgmt"
513 #:phases
514 (modify-phases %standard-phases
515 (replace 'build
516 (lambda arguments
517 (for-each
518 (lambda (directory)
519 (apply (assoc-ref %standard-phases 'build)
520 `(,@arguments #:import-path ,directory)))
521 (list
522 "github.com/apparentlymart/go-openvpn-mgmt/demux"
523 "github.com/apparentlymart/go-openvpn-mgmt/openvpn"))))
524 (replace 'check
525 (lambda arguments
526 (for-each
527 (lambda (directory)
528 (apply (assoc-ref %standard-phases 'check)
529 `(,@arguments #:import-path ,directory)))
530 (list
531 "github.com/apparentlymart/go-openvpn-mgmt/demux"
532 "github.com/apparentlymart/go-openvpn-mgmt/openvpn"))))
533 (replace 'install
534 (lambda arguments
535 (for-each
536 (lambda (directory)
537 (apply (assoc-ref %standard-phases 'install)
538 `(,@arguments #:import-path ,directory)))
539 (list
540 "github.com/apparentlymart/go-openvpn-mgmt/demux"
541 "github.com/apparentlymart/go-openvpn-mgmt/openvpn")))))))
542 (home-page "https://github.com/apparentlymart/go-openvpn-mgmt")
543 (synopsis "Go client library for OpenVPN's management protocol")
544 (description "Go-OpenVPN-Mgmt implements a client for the OpenVPN
545 management interface. It can be used to monitor and control an OpenVPN process
546 running with its management port enabled.")
547 (license license:expat))))
548
549 (define-public go-github-com-emersion-go-autostart
550 (let ((commit "00ed301c8e9ae79e82878c6361c709983ac5dd2c")
551 (revision "0"))
552 (package
553 (name "go-github-com-emersion-go-autostart")
554 (version (git-version "0.0.0" revision commit))
555 (source
556 (origin
557 (method git-fetch)
558 (uri
559 (git-reference
560 (url "https://github.com/emersion/go-autostart")
561 (commit commit)))
562 (file-name (git-file-name name version))
563 (sha256
564 (base32 "0cqqvbzn32xv5lknfygrx01rx2sc6pi833k7008nlk9lsfgry06v"))))
565 (build-system go-build-system)
566 (arguments
567 `(#:import-path "github.com/emersion/go-autostart"))
568 (home-page "https://github.com/emersion/go-autostart")
569 (synopsis "Autostart library in Go")
570 (description "Go-Autostart is a Go library to run a command after login.")
571 (license license:expat))))
572
573 (define-public go-github-com-dchest-siphash
574 (package
575 (name "go-github-com-dchest-siphash")
576 (version "1.2.1")
577 (source
578 (origin
579 (method git-fetch)
580 (uri
581 (git-reference
582 (url "https://github.com/dchest/siphash")
583 (commit (string-append "v" version))))
584 (file-name (git-file-name name version))
585 (sha256
586 (base32 "08s076y7vmjqnq7jz0762hkm896r6r31v8b31a3gy0n8rfa01k8k"))))
587 (build-system go-build-system)
588 (arguments
589 `(#:import-path "github.com/dchest/siphash"))
590 (home-page "https://github.com/dchest/siphash")
591 (synopsis "Go library for pseudorandom functions")
592 (description "SipHash is a family of pseudorandom functions (PRFs) optimized
593 for speed on short messages.")
594 (license license:cc0)))
595
596 (define-public go-github-com-rakyll-statik
597 (package
598 (name "go-github-com-rakyll-statik")
599 (version "0.1.7")
600 (source
601 (origin
602 (method git-fetch)
603 (uri
604 (git-reference
605 (url "https://github.com/rakyll/statik")
606 (commit (string-append "v" version))))
607 (file-name (git-file-name name version))
608 (sha256
609 (base32 "0y0kbzma55vmyqhyrw9ssgvxn6nw7d0zg72a7nz8vp1zly4hs6va"))))
610 (build-system go-build-system)
611 (arguments
612 `(#:import-path "github.com/rakyll/statik"))
613 (home-page "https://github.com/rakyll/statik/")
614 (synopsis "Embed files into a Go executable")
615 (description "Statik allows you to embed a directory of static files into
616 your Go binary to be later served from an http.FileSystem.")
617 (license license:asl2.0)))
618
619 ;; According to https://golang.org/doc/install/gccgo, gccgo-4.8.2 includes a
620 ;; complete go-1.1.2 implementation, gccgo-4.9 includes a complete go-1.2
621 ;; implementation, and gccgo-5 a complete implementation of go-1.4. Ultimately
622 ;; we hope to build go-1.5+ with a bootstrap process using gccgo-5. As of
623 ;; go-1.5, go cannot be bootstrapped without go-1.4, so we need to use go-1.4 or
624 ;; gccgo-5. Mips is not officially supported, but it should work if it is
625 ;; bootstrapped.
626
627 (define-public go-1.4
628 (package
629 (name "go")
630 ;; The C-language bootstrap of Go:
631 ;; https://golang.org/doc/install/source#go14
632 (version "1.4-bootstrap-20171003")
633 (source (origin
634 (method url-fetch)
635 (uri (string-append "https://storage.googleapis.com/golang/"
636 name version ".tar.gz"))
637 (sha256
638 (base32
639 "0liybk5z00hizsb5ypkbhqcawnwwa6mkwgvjjg4y3jm3ndg5pzzl"))))
640 (build-system gnu-build-system)
641 (outputs '("out"
642 "doc"
643 "tests"))
644 (arguments
645 `(#:modules ((ice-9 match)
646 (guix build gnu-build-system)
647 (guix build utils)
648 (srfi srfi-1))
649 #:tests? #f ; Tests are run by the all.bash script.
650 ,@(if (string-prefix? "aarch64-linux" (or (%current-system)
651 (%current-target-system)))
652 '(#:system "armhf-linux")
653 '())
654 #:phases
655 (modify-phases %standard-phases
656 (delete 'configure)
657 (add-after 'patch-generated-file-shebangs 'chdir
658 (lambda _
659 (chdir "src")
660 #t))
661 (add-before 'build 'prebuild
662 (lambda* (#:key inputs outputs #:allow-other-keys)
663 (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))
664 (ld (string-append (assoc-ref inputs "libc") "/lib"))
665 (loader (car (find-files ld "^ld-linux.+")))
666 (net-base (assoc-ref inputs "net-base"))
667 (tzdata-path
668 (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
669 (output (assoc-ref outputs "out")))
670
671 ;; Removing net/ tests, which fail when attempting to access
672 ;; network resources not present in the build container.
673 (for-each delete-file
674 '("net/multicast_test.go" "net/parse_test.go"
675 "net/port_test.go"))
676
677 ;; Add libgcc to the RUNPATH.
678 (substitute* "cmd/go/build.go"
679 (("cgoldflags := \\[\\]string\\{\\}")
680 (string-append "cgoldflags := []string{"
681 "\"-rpath=" gcclib "\"}"))
682 (("ldflags := buildLdflags")
683 (string-append
684 "ldflags := buildLdflags\n"
685 "ldflags = append(ldflags, \"-r\")\n"
686 "ldflags = append(ldflags, \"" gcclib "\")\n")))
687
688 (substitute* "os/os_test.go"
689 (("/usr/bin") (getcwd))
690 (("/bin/pwd") (which "pwd")))
691
692 ;; Disable failing tests: these tests attempt to access
693 ;; commands or network resources which are neither available or
694 ;; necessary for the build to succeed.
695 (for-each
696 (match-lambda
697 ((file regex)
698 (substitute* file
699 ((regex all before test_name)
700 (string-append before "Disabled" test_name)))))
701 '(("net/net_test.go" "(.+)(TestShutdownUnix.+)")
702 ("net/dial_test.go" "(.+)(TestDialTimeout.+)")
703 ("os/os_test.go" "(.+)(TestHostname.+)")
704 ("time/format_test.go" "(.+)(TestParseInSydney.+)")
705
706 ;; XXX: This test fails with tzdata 2020b and newer. Later
707 ;; Go releases work fine, so just disable this for the
708 ;; bootstrap Go.
709 ("time/example_test.go" "(.+)(ExampleParseInLocation.+)")
710
711 ("os/exec/exec_test.go" "(.+)(TestEcho.+)")
712 ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)")
713 ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)")
714 ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)")
715 ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)")
716 ("os/exec/exec_test.go" "(.+)(TestPipes.+)")
717 ("os/exec/exec_test.go" "(.+)(TestStdinClose.+)")
718 ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)")
719 ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)")))
720
721 (substitute* "net/lookup_unix.go"
722 (("/etc/protocols") (string-append net-base "/etc/protocols")))
723 (substitute* "time/zoneinfo_unix.go"
724 (("/usr/share/zoneinfo/") tzdata-path))
725 (substitute* (find-files "cmd" "asm.c")
726 (("/lib/ld-linux.*\\.so\\.[0-9]") loader))
727 #t)))
728
729 (replace 'build
730 (lambda* (#:key inputs outputs #:allow-other-keys)
731 ;; FIXME: Some of the .a files are not bit-reproducible.
732 (let* ((output (assoc-ref outputs "out")))
733 (setenv "CC" (which "gcc"))
734 (setenv "GOOS" "linux")
735 (setenv "GOROOT" (dirname (getcwd)))
736 (setenv "GOROOT_FINAL" output)
737 (setenv "GO14TESTS" "1")
738 (invoke "sh" "all.bash"))))
739
740 (replace 'install
741 (lambda* (#:key outputs inputs #:allow-other-keys)
742 (let* ((output (assoc-ref outputs "out"))
743 (doc_out (assoc-ref outputs "doc"))
744 (bash (string-append (assoc-ref inputs "bash") "bin/bash"))
745 (docs (string-append doc_out "/share/doc/" ,name "-" ,version))
746 (tests (string-append
747 (assoc-ref outputs "tests") "/share/" ,name "-" ,version)))
748 (mkdir-p tests)
749 (copy-recursively "../test" (string-append tests "/test"))
750 (delete-file-recursively "../test")
751 (mkdir-p docs)
752 (copy-recursively "../api" (string-append docs "/api"))
753 (delete-file-recursively "../api")
754 (copy-recursively "../doc" (string-append docs "/doc"))
755 (delete-file-recursively "../doc")
756
757 (for-each (lambda (file)
758 (let ((file (string-append "../" file)))
759 (install-file file docs)
760 (delete-file file)))
761 '("README" "CONTRIBUTORS" "AUTHORS" "PATENTS"
762 "LICENSE" "VERSION" "robots.txt"))
763 (copy-recursively "../" output)
764 #t))))))
765 (inputs
766 `(("tzdata" ,tzdata)
767 ("pcre" ,pcre)
768 ("gcc:lib" ,(canonical-package gcc) "lib")))
769 (native-inputs
770 `(("pkg-config" ,pkg-config)
771 ("which" ,which)
772 ("net-base" ,net-base)
773 ("perl" ,perl)))
774
775 (home-page "https://golang.org/")
776 (synopsis "Compiler and libraries for Go, a statically-typed language")
777 (description "Go, also commonly referred to as golang, is an imperative
778 programming language designed primarily for systems programming. Go is a
779 compiled, statically typed language in the tradition of C and C++, but adds
780 garbage collection, various safety features, and concurrent programming features
781 in the style of communicating sequential processes (@dfn{CSP}).")
782 (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux"))
783 (license license:bsd-3)))
784
785 (define-public go-1.14
786 (package
787 (inherit go-1.4)
788 (name "go")
789 (version "1.14.15")
790 (source
791 (origin
792 (method git-fetch)
793 (uri (git-reference
794 (url "https://github.com/golang/go")
795 (commit (string-append "go" version))))
796 (file-name (git-file-name name version))
797 (sha256
798 (base32
799 "1crh90qkvhlx23hwsi4wxy3l3h8973lr18135y6h1nnzzwr3n3ps"))))
800 (arguments
801 (substitute-keyword-arguments (package-arguments go-1.4)
802 ((#:system system)
803 (if (string-prefix? "aarch64-linux" (or (%current-system)
804 (%current-target-system)))
805 "aarch64-linux"
806 system))
807 ((#:phases phases)
808 `(modify-phases ,phases
809 (replace 'prebuild
810 (lambda* (#:key inputs outputs #:allow-other-keys)
811 (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))
812 (ld (string-append (assoc-ref inputs "libc") "/lib"))
813 (loader (car (find-files ld "^ld-linux.+")))
814 (net-base (assoc-ref inputs "net-base"))
815 (tzdata-path
816 (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
817 (output (assoc-ref outputs "out")))
818
819 ;; Having the patch in the 'patches' field of <origin> breaks
820 ;; the 'TestServeContent' test due to the fact that
821 ;; timestamps are reset. Thus, apply it from here.
822 (invoke "patch" "-p2" "--force" "-i"
823 (assoc-ref inputs "go-skip-gc-test.patch"))
824
825 ;; A side effect of these test scripts is testing
826 ;; cgo. Attempts at using cgo flags and directives with these
827 ;; scripts as specified here (https://golang.org/cmd/cgo/)
828 ;; have not worked. The tests continue to state that they can
829 ;; not find object files/headers despite being present.
830 (for-each
831 delete-file
832 '("cmd/go/testdata/script/mod_case_cgo.txt"
833 "cmd/go/testdata/script/list_find.txt"
834 "cmd/go/testdata/script/list_compiled_imports.txt"
835 "cmd/go/testdata/script/cgo_syso_issue29253.txt"
836 "cmd/go/testdata/script/cover_cgo.txt"
837 "cmd/go/testdata/script/cover_cgo_xtest.txt"
838 "cmd/go/testdata/script/cover_cgo_extra_test.txt"
839 "cmd/go/testdata/script/cover_cgo_extra_file.txt"
840 "cmd/go/testdata/script/cgo_path_space.txt"
841 "cmd/go/testdata/script/ldflag.txt"
842 "cmd/go/testdata/script/cgo_path.txt"))
843
844 (for-each make-file-writable (find-files "."))
845
846 (substitute* "os/os_test.go"
847 (("/usr/bin") (getcwd))
848 (("/bin/pwd") (which "pwd"))
849 (("/bin/sh") (which "sh")))
850
851 ;; Add libgcc to runpath
852 (substitute* "cmd/link/internal/ld/lib.go"
853 (("!rpath.set") "true"))
854 (substitute* "cmd/go/internal/work/gccgo.go"
855 (("cgoldflags := \\[\\]string\\{\\}")
856 (string-append "cgoldflags := []string{"
857 "\"-rpath=" gcclib "\""
858 "}"))
859 (("\"-lgcc_s\", ")
860 (string-append
861 "\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", ")))
862 (substitute* "cmd/go/internal/work/gc.go"
863 (("ldflags = setextld\\(ldflags, compiler\\)")
864 (string-append
865 "ldflags = setextld(ldflags, compiler)\n"
866 "ldflags = append(ldflags, \"-r\")\n"
867 "ldflags = append(ldflags, \"" gcclib "\")\n")))
868
869 ;; Disable failing tests: these tests attempt to access
870 ;; commands or network resources which are neither available
871 ;; nor necessary for the build to succeed.
872 (for-each
873 (match-lambda
874 ((file regex)
875 (substitute* file
876 ((regex all before test_name)
877 (string-append before "Disabled" test_name)))))
878 '(("net/net_test.go" "(.+)(TestShutdownUnix.+)")
879 ("net/dial_test.go" "(.+)(TestDialTimeout.+)")
880 ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPort.+)")
881 ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPortWithCancel.+)")
882 ;; 127.0.0.1 doesn't exist
883 ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPTR.+)")
884 ;; 127.0.0.1 doesn't exist
885 ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPTRWithCancel.+)")
886 ;; /etc/services doesn't exist
887 ("net/parse_test.go" "(.+)(TestReadLine.+)")
888 ("os/os_test.go" "(.+)(TestHostname.+)")
889 ;; The user's directory doesn't exist
890 ("os/os_test.go" "(.+)(TestUserHomeDir.+)")
891 ("time/format_test.go" "(.+)(TestParseInSydney.+)")
892 ("time/format_test.go" "(.+)(TestParseInLocation.+)")
893 ("os/exec/exec_test.go" "(.+)(TestEcho.+)")
894 ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)")
895 ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)")
896 ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)")
897 ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)")
898 ("os/exec/exec_test.go" "(.+)(TestPipes.+)")
899 ("os/exec/exec_test.go" "(.+)(TestStdinClose.+)")
900 ("os/exec/exec_test.go" "(.+)(TestIgnorePipeErrorOnSuccess.+)")
901 ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)")
902 ("os/exec/exec_test.go" "(.+)(TestExtraFiles/areturn.+)")
903 ("cmd/go/go_test.go" "(.+)(TestCoverageWithCgo.+)")
904 ("cmd/go/go_test.go" "(.+)(TestTwoPkgConfigs.+)")
905 ("os/exec/exec_test.go" "(.+)(TestOutputStderrCapture.+)")
906 ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)")
907 ("os/exec/exec_test.go" "(.+)(TestExtraFilesRace.+)")
908 ("net/lookup_test.go" "(.+)(TestLookupPort.+)")
909 ("syscall/exec_linux_test.go"
910 "(.+)(TestCloneNEWUSERAndRemapNoRootDisableSetgroups.+)")))
911
912 ;; These tests fail on aarch64-linux
913 (substitute* "cmd/dist/test.go"
914 (("t.registerHostTest\\(\"testsanitizers/msan.*") ""))
915
916 ;; fix shebang for testar script
917 ;; note the target script is generated at build time.
918 (substitute* "../misc/cgo/testcarchive/carchive_test.go"
919 (("#!/usr/bin/env") (string-append "#!" (which "env"))))
920
921 (substitute* "net/lookup_unix.go"
922 (("/etc/protocols") (string-append net-base "/etc/protocols")))
923 (substitute* "net/port_unix.go"
924 (("/etc/services") (string-append net-base "/etc/services")))
925 (substitute* "time/zoneinfo_unix.go"
926 (("/usr/share/zoneinfo/") tzdata-path))
927 (substitute* (find-files "cmd" "\\.go")
928 (("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader))
929 #t)))
930 (add-before 'build 'set-bootstrap-variables
931 (lambda* (#:key outputs inputs #:allow-other-keys)
932 ;; Tell the build system where to find the bootstrap Go.
933 (let ((go (assoc-ref inputs "go")))
934 (setenv "GOROOT_BOOTSTRAP" go)
935 (setenv "GOGC" "400")
936 #t)))
937 (replace 'build
938 (lambda* (#:key inputs outputs #:allow-other-keys)
939 ;; FIXME: Some of the .a files are not bit-reproducible.
940 (let* ((output (assoc-ref outputs "out")))
941 (setenv "CC" (which "gcc"))
942 (setenv "GOOS" "linux")
943 (setenv "GOROOT" (dirname (getcwd)))
944 (setenv "GOROOT_FINAL" output)
945 (setenv "CGO_ENABLED" "1")
946 (invoke "sh" "all.bash"))))
947 (replace 'install
948 ;; TODO: Most of this could be factorized with Go 1.4.
949 (lambda* (#:key outputs #:allow-other-keys)
950 (let* ((output (assoc-ref outputs "out"))
951 (doc_out (assoc-ref outputs "doc"))
952 (docs (string-append doc_out "/share/doc/" ,name "-" ,version))
953 (src (string-append
954 (assoc-ref outputs "tests") "/share/" ,name "-" ,version)))
955 ;; Prevent installation of the build cache, which contains
956 ;; store references to most of the tools used to build Go and
957 ;; would unnecessarily increase the size of Go's closure if it
958 ;; was installed.
959 (delete-file-recursively "../pkg/obj")
960
961 (mkdir-p src)
962 (copy-recursively "../test" (string-append src "/test"))
963 (delete-file-recursively "../test")
964 (mkdir-p docs)
965 (copy-recursively "../api" (string-append docs "/api"))
966 (delete-file-recursively "../api")
967 (copy-recursively "../doc" (string-append docs "/doc"))
968 (delete-file-recursively "../doc")
969
970 (for-each
971 (lambda (file)
972 (let* ((filein (string-append "../" file))
973 (fileout (string-append docs "/" file)))
974 (copy-file filein fileout)
975 (delete-file filein)))
976 ;; Note the slightly different file names compared to 1.4.
977 '("README.md" "CONTRIBUTORS" "AUTHORS" "PATENTS"
978 "LICENSE" "VERSION" "CONTRIBUTING.md" "robots.txt"))
979
980 (copy-recursively "../" output)
981 #t)))))))
982 (native-inputs
983 `(("go" ,go-1.4)
984 ("go-skip-gc-test.patch" ,(search-patch "go-skip-gc-test.patch"))
985 ,@(match (%current-system)
986 ((or "armhf-linux" "aarch64-linux")
987 `(("gold" ,binutils-gold)))
988 (_ `()))
989 ,@(package-native-inputs go-1.4)))
990 (supported-systems %supported-systems)))
991
992 (define-public go-1.16
993 (package
994 (inherit go-1.14)
995 (name "go")
996 (version "1.16.5")
997 (source
998 (origin
999 (method git-fetch)
1000 (uri (git-reference
1001 (url "https://github.com/golang/go")
1002 (commit (string-append "go" version))))
1003 (file-name (git-file-name name version))
1004 (sha256
1005 (base32
1006 "19a93p217h5xi2sgh34qzv24pkd4df0sw4fc5z6k47lspjp3vx2l"))))
1007 (arguments
1008 (substitute-keyword-arguments (package-arguments go-1.14)
1009 ((#:tests? _) #t)
1010 ((#:phases phases)
1011 `(modify-phases ,phases
1012 (add-after 'unpack 'remove-unused-sourcecode-generators
1013 (lambda _
1014 ;; Prevent perl from inclusion in closure through unused files
1015 (for-each delete-file (find-files "src" "\\.pl$"))))
1016 (replace 'prebuild
1017 (lambda* (#:key inputs outputs #:allow-other-keys)
1018 (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))
1019 (net-base (assoc-ref inputs "net-base"))
1020 (tzdata-path
1021 (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")))
1022
1023 ;; Having the patch in the 'patches' field of <origin> breaks
1024 ;; the 'TestServeContent' test due to the fact that
1025 ;; timestamps are reset. Thus, apply it from here.
1026 (invoke "patch" "-p2" "--force" "-i"
1027 (assoc-ref inputs "go-skip-gc-test.patch"))
1028 (invoke "patch" "-p2" "--force" "-i"
1029 (assoc-ref inputs "go-fix-script-tests.patch"))
1030
1031 (for-each make-file-writable (find-files "."))
1032
1033 (substitute* "os/os_test.go"
1034 (("/usr/bin") (getcwd))
1035 (("/bin/sh") (which "sh")))
1036
1037 (substitute* "cmd/go/testdata/script/cgo_path_space.txt"
1038 (("/bin/sh") (which "sh")))
1039
1040 ;; Add libgcc to runpath
1041 (substitute* "cmd/link/internal/ld/lib.go"
1042 (("!rpath.set") "true"))
1043 (substitute* "cmd/go/internal/work/gccgo.go"
1044 (("cgoldflags := \\[\\]string\\{\\}")
1045 (string-append "cgoldflags := []string{"
1046 "\"-Wl,-rpath=" gcclib "\""
1047 "}"))
1048 (("\"-lgcc_s\", ")
1049 (string-append
1050 "\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", ")))
1051 (substitute* "cmd/go/internal/work/gc.go"
1052 (("ldflags = setextld\\(ldflags, compiler\\)")
1053 (string-append
1054 "ldflags = setextld(ldflags, compiler)\n"
1055 "ldflags = append(ldflags, \"-r\")\n"
1056 "ldflags = append(ldflags, \"" gcclib "\")\n")))
1057
1058 ;; Disable failing tests: these tests attempt to access
1059 ;; commands or network resources which are neither available
1060 ;; nor necessary for the build to succeed.
1061 (for-each
1062 (match-lambda
1063 ((file regex)
1064 (substitute* file
1065 ((regex all before test_name)
1066 (string-append before "Disabled" test_name)))))
1067 '(("net/net_test.go" "(.+)(TestShutdownUnix.+)")
1068 ("net/dial_test.go" "(.+)(TestDialTimeout.+)")
1069 ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPort.+)")
1070 ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPortWithCancel.+)")
1071 ;; 127.0.0.1 doesn't exist
1072 ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPTR.+)")
1073 ;; 127.0.0.1 doesn't exist
1074 ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPTRWithCancel.+)")
1075 ;; /etc/services doesn't exist
1076 ("net/parse_test.go" "(.+)(TestReadLine.+)")
1077 ("os/os_test.go" "(.+)(TestHostname.+)")
1078 ;; The user's directory doesn't exist
1079 ("os/os_test.go" "(.+)(TestUserHomeDir.+)")
1080 ("time/format_test.go" "(.+)(TestParseInSydney.+)")
1081 ("time/format_test.go" "(.+)(TestParseInLocation.+)")
1082 ("os/exec/exec_test.go" "(.+)(TestEcho.+)")
1083 ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)")
1084 ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)")
1085 ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)")
1086 ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)")
1087 ("os/exec/exec_test.go" "(.+)(TestPipes.+)")
1088 ("os/exec/exec_test.go" "(.+)(TestStdinClose.+)")
1089 ("os/exec/exec_test.go" "(.+)(TestIgnorePipeErrorOnSuccess.+)")
1090 ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)")
1091 ("os/exec/exec_test.go" "(.+)(TestExtraFiles/areturn.+)")
1092 ("cmd/go/go_test.go" "(.+)(TestCoverageWithCgo.+)")
1093 ("cmd/go/go_test.go" "(.+)(TestTwoPkgConfigs.+)")
1094 ("os/exec/exec_test.go" "(.+)(TestOutputStderrCapture.+)")
1095 ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)")
1096 ("os/exec/exec_test.go" "(.+)(TestExtraFilesRace.+)")
1097 ("net/lookup_test.go" "(.+)(TestLookupPort.+)")
1098 ("syscall/exec_linux_test.go"
1099 "(.+)(TestCloneNEWUSERAndRemapNoRootDisableSetgroups.+)")))
1100
1101 ;; These tests fail on aarch64-linux
1102 (substitute* "cmd/dist/test.go"
1103 (("t.registerHostTest\\(\"testsanitizers/msan.*") ""))
1104
1105 ;; fix shebang for testar script
1106 ;; note the target script is generated at build time.
1107 (substitute* "../misc/cgo/testcarchive/carchive_test.go"
1108 (("#!/usr/bin/env") (string-append "#!" (which "env"))))
1109
1110 (substitute* "net/lookup_unix.go"
1111 (("/etc/protocols") (string-append net-base "/etc/protocols")))
1112 (substitute* "net/port_unix.go"
1113 (("/etc/services") (string-append net-base "/etc/services")))
1114 (substitute* "time/zoneinfo_unix.go"
1115 (("/usr/share/zoneinfo/") tzdata-path)))))
1116 (replace 'build
1117 (lambda* (#:key inputs outputs #:allow-other-keys)
1118 ;; FIXME: Some of the .a files are not bit-reproducible.
1119 ;; (Is this still true?)
1120 (let* ((output (assoc-ref outputs "out"))
1121 (loader (string-append (assoc-ref inputs "libc")
1122 ,(glibc-dynamic-linker))))
1123 (setenv "CC" (which "gcc"))
1124 (setenv "GO_LDSO" loader)
1125 (setenv "GOOS" "linux")
1126 (setenv "GOROOT" (dirname (getcwd)))
1127 (setenv "GOROOT_FINAL" output)
1128 (setenv "GOCACHE" "/tmp/go-cache")
1129 (invoke "sh" "make.bash" "--no-banner"))))
1130 (replace 'check
1131 (lambda* (#:key target (tests? (not target)) (parallel-tests? #t)
1132 #:allow-other-keys)
1133 (let* ((njobs (if parallel-tests? (parallel-job-count) 1)))
1134 (when tests?
1135 (setenv "GOMAXPROCS" (number->string njobs))
1136 (invoke "sh" "run.bash" "--no-rebuild")))))
1137 (add-before 'install 'unpatch-perl-shebangs
1138 (lambda _
1139 ;; Rewrite references to perl input in test scripts
1140 (substitute* "net/http/cgi/testdata/test.cgi"
1141 (("^#!.*") "#!/usr/bin/env perl\n"))))))))
1142 (native-inputs
1143 `(("go-fix-script-tests.patch" ,(search-patch "go-fix-script-tests.patch"))
1144 ,@(if (not (member (%current-system) (package-supported-systems go-1.4)))
1145 (alist-replace "go" (list gccgo-10) (package-native-inputs go-1.14))
1146 (package-native-inputs go-1.14))))))
1147
1148 (define-public go go-1.14)
1149
1150 (define-public go-github-com-alsm-ioprogress
1151 (let ((commit "063c3725f436e7fba0c8f588547bee21ffec7ac5")
1152 (revision "0"))
1153 (package
1154 (name "go-github-com-alsm-ioprogress")
1155 (version (git-version "0.0.0" revision commit))
1156 (source (origin
1157 (method git-fetch)
1158 (uri (git-reference
1159 (url "https://github.com/alsm/ioprogress")
1160 (commit commit)))
1161 (file-name (git-file-name name version))
1162 (sha256
1163 (base32
1164 "10ym5qlq77nynmkxbk767f2hfwyxg2k7hrzph05hvgzv833dhivh"))))
1165 (build-system go-build-system)
1166 (arguments
1167 '(#:import-path "github.com/alsm/ioprogress"))
1168 (synopsis "Textual progress bars in Go")
1169 (description "@code{ioprogress} is a Go library with implementations of
1170 @code{io.Reader} and @code{io.Writer} that draws progress bars. The primary use
1171 case for these are for command-line applications but alternate progress bar
1172 writers can be supplied for alternate environments.")
1173 (home-page "https://github.com/alsm/ioprogress")
1174 (license license:expat))))
1175
1176 (define-public go-github-com-aki237-nscjar
1177 (let ((commit "e2df936ddd6050d30dd90c7214c02b5019c42f06")
1178 (revision "0"))
1179 (package
1180 (name "go-github-com-aki237-nscjar")
1181 (version (git-version "0.0.0" revision commit))
1182 (source (origin
1183 (method git-fetch)
1184 (uri (git-reference
1185 (url "https://github.com/aki237/nscjar")
1186 (commit commit)))
1187 (file-name (git-file-name name version))
1188 (sha256
1189 (base32
1190 "03y7zzq12qvhsq86lb06sgns8xrkblbn7i7wd886wk3zr5574b96"))))
1191 (build-system go-build-system)
1192 (arguments
1193 '(#:import-path "github.com/aki237/nscjar"))
1194 (synopsis "Handle Netscape / Mozilla cookies")
1195 (description "@code{nscjar} is a Go library used to parse and output
1196 Netscape/Mozilla's old-style cookie files. It also implements a simple cookie
1197 jar struct to manage the cookies added to the cookie jar.")
1198 (home-page "https://github.com/aki237/nscjar")
1199 (license license:expat))))
1200
1201 (define-public go-github-com-gizak-termui
1202 (package
1203 (name "go-github-com-gizak-termui")
1204 (version "3.1.0")
1205 (source
1206 (origin
1207 (method git-fetch)
1208 (uri (git-reference
1209 (url "https://github.com/gizak/termui")
1210 (commit (string-append "v" version))))
1211 (file-name (git-file-name name version))
1212 (sha256
1213 (base32 "1v3k8l5p95kb1v297ra5mw9sxdd59y82y6ibjzya5ma2pry6k5cn"))))
1214 (build-system go-build-system)
1215 (arguments
1216 '(#:unpack-path "github.com/gizak/termui"
1217 #:import-path "github.com/gizak/termui/v3"))
1218 (propagated-inputs
1219 `(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
1220 ("go-github-com-mitchellh-go-wordwrap"
1221 ,go-github-com-mitchellh-go-wordwrap)
1222 ("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go)))
1223 (home-page "https://github.com/gizak/termui")
1224 (synopsis "Terminal dashboard widget Go library")
1225 (description
1226 "The termui Go library draws customizable dashboard widgets in a text
1227 terminal. It includes several common widgets: lists, trees, tables and tabs,
1228 but also more complex items such as (stacked) bar and pie charts, scatter plots,
1229 gauges, and even images and a canvas for drawing `high resolution' braille dots.
1230
1231 You can also easily create new custom widgets. Widgets can be coloured and
1232 styled and positioned absolutely or relatively. They respond to keyboard,
1233 mouse, and terminal resizing events.")
1234 (license license:expat)))
1235
1236 (define-public go-github-com-golangplus-fmt
1237 (package
1238 (name "go-github-com-golangplus-fmt")
1239 (version "1.0.0")
1240 (home-page "https://github.com/golangplus/fmt")
1241 (source (origin
1242 (method git-fetch)
1243 (uri (git-reference
1244 (url home-page)
1245 (commit (string-append "v" version))))
1246 (file-name (git-file-name name version))
1247 (sha256
1248 (base32 "07d5kxz0f8ss3v46y0c8jg02sagi0wlaaijhjzzp0r462jyzqii7"))))
1249 (build-system go-build-system)
1250 (arguments
1251 '(#:import-path "github.com/golangplus/fmt"))
1252 (synopsis "Additions to Go's standard @code{fmt} package")
1253 (description "This package provides additions to Go's stdlib @code{fmt}.")
1254 (license license:bsd-3)))
1255
1256 (define-public go-github-com-mitchellh-go-wordwrap
1257 (package
1258 (name "go-github-com-mitchellh-go-wordwrap")
1259 (version "1.0.1")
1260 (source
1261 (origin
1262 (method git-fetch)
1263 (uri (git-reference
1264 (url "https://github.com/mitchellh/go-wordwrap")
1265 (commit (string-append "v" version))))
1266 (file-name (git-file-name name version))
1267 (sha256
1268 (base32 "12imq66hgj8q9ii2xqdy8apc0icphh6yimjb0div1pvl3s9gn83y"))))
1269 (build-system go-build-system)
1270 (arguments
1271 '(#:import-path "github.com/mitchellh/go-wordwrap"))
1272 (propagated-inputs
1273 `(("go-gopkg-in-yaml-v2" ,go-gopkg-in-yaml-v2)))
1274 (home-page "https://github.com/mitchellh/go-wordwrap")
1275 (synopsis "Go library for word-wrapping strings")
1276 (description
1277 "This Go library automatically wraps words onto multiple lines. It's
1278 primary goal is to format command-line output, but of course word wrapping is a
1279 generally useful thing to do.")
1280 (license license:expat)))
1281
1282 (define-public go-github-com-motemen-go-colorine
1283 (let ((commit "45d19169413a019e4e2be69629dde5c7d92f8706")
1284 (revision "0"))
1285 (package
1286 (name "go-github-com-motemen-go-colorine")
1287 (version (git-version "0.0.0" revision commit))
1288 (home-page "https://github.com/motemen/go-colorine")
1289 (source (origin
1290 (method git-fetch)
1291 (uri (git-reference
1292 (url home-page)
1293 (commit commit)))
1294 (file-name (git-file-name name version))
1295 (sha256
1296 (base32 "1mdy6q0926s1frj027nlzlvm2qssmkpjis7ic3l2smajkzh07118"))))
1297 (build-system go-build-system)
1298 (arguments
1299 '(#:import-path "github.com/motemen/go-colorine"))
1300 (propagated-inputs
1301 `(("github.com/daviddengcn/go-colortext" ,go-github-com-daviddengcn-go-colortext)))
1302 (synopsis "Simple colorized console logger for golang")
1303 (description
1304 "This package provides simple colorized console logger for golang.")
1305 (license license:expat))))
1306
1307 (define-public go-github-com-daviddengcn-go-colortext
1308 (package
1309 (name "go-github-com-daviddengcn-go-colortext")
1310 (version "1.0.0")
1311 (home-page "https://github.com/daviddengcn/go-colortext")
1312 (source (origin
1313 (method git-fetch)
1314 (uri (git-reference
1315 (url home-page)
1316 (commit (string-append "v" version))))
1317 (file-name (git-file-name name version))
1318 (sha256
1319 (base32 "0j5ldwg3a768d3nniiglghr9axj4p87k7f7asqxa1a688xvcms48"))))
1320 (build-system go-build-system)
1321 (arguments
1322 '(#:import-path "github.com/daviddengcn/go-colortext"))
1323 (native-inputs
1324 `(("go-github-com-golangplus-testing" ,go-github-com-golangplus-testing)))
1325 (synopsis "Change the color of console text and background")
1326 (description
1327 "This is a package to change the color of the text and background in the
1328 console, working both under Windows and other systems.
1329
1330 Under Windows, the console APIs are used. Otherwise, ANSI texts are output.")
1331 ;; dual-licensed
1332 (license (list license:bsd-3 license:expat))))
1333
1334 (define-public go-github-com-golangplus-testing
1335 (package
1336 (name "go-github-com-golangplus-testing")
1337 (version "1.0.0")
1338 (home-page "https://github.com/golangplus/testing")
1339 (source (origin
1340 (method git-fetch)
1341 (uri (git-reference
1342 (url home-page)
1343 (commit (string-append "v" version))))
1344 (file-name (git-file-name name version))
1345 (sha256
1346 (base32 "1a29m4zplf9m14k74lrb55dids2l17vx28sv0g3y3qcv1xygksiv"))))
1347 (build-system go-build-system)
1348 (arguments
1349 '(#:import-path "github.com/golangplus/testing"))
1350 (propagated-inputs
1351 `(("go-github-com-golangplus-fmt" ,go-github-com-golangplus-fmt)))
1352 (synopsis "Additions to Go's standard testing package")
1353 (description "This package provides additions to Go's stdlib testing.")
1354 (license license:bsd-3)))
1355
1356 (define-public go-github-com-leodido-go-urn
1357 (package
1358 (name "go-github-com-leodido-go-urn")
1359 (version "1.2.0")
1360 (home-page "https://github.com/leodido/go-urn")
1361 (source
1362 (origin
1363 (method git-fetch)
1364 (uri (git-reference
1365 (url home-page)
1366 (commit (string-append "v" version))))
1367 (file-name (git-file-name name version))
1368 (sha256
1369 (base32 "1d4g1vkhc1180l1n7q48vl84b27c7cziywml78cyijbcdz2f8vim"))))
1370 (build-system go-build-system)
1371 (arguments
1372 '(#:import-path "github.com/leodido/go-urn"))
1373 (native-inputs
1374 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
1375 (synopsis "Parser for uniform resource names as seen on RFC 2141")
1376 (description
1377 "This package implements a parser for uniform resource names (URN) as
1378 specified by @uref{https://tools.ietf.org/html/rfc2141, IETF RFC 2141}.")
1379 (license license:expat)))
1380
1381 (define-public go-github.com-jessevdk-go-flags
1382 (package
1383 (name "go-github.com-jessevdk-go-flags")
1384 (version "1.3.0")
1385 (source (origin
1386 (method git-fetch)
1387 (uri (git-reference
1388 (url "https://github.com/jessevdk/go-flags")
1389 (commit (string-append "v" version))))
1390 (file-name (git-file-name name version))
1391 (sha256
1392 (base32
1393 "1jk2k2l10lwrn1r3nxdvbs0yz656830j4khzirw8p4ahs7c5zz36"))))
1394 (build-system go-build-system)
1395 (arguments
1396 '(#:import-path "github.com/jessevdk/go-flags"))
1397 (synopsis "Go library for parsing command line arguments")
1398 (description
1399 "The @code{flags} package provides a command line option parser. The
1400 functionality is similar to the go builtin @code{flag} package, but
1401 @code{flags} provides more options and uses reflection to provide a succinct
1402 way of specifying command line options.")
1403 (home-page "https://github.com/jessevdk/go-flags")
1404 (license license:bsd-3)))
1405
1406 (define-public go-gopkg-in-go-playground-assert-v1
1407 (package
1408 (name "go-gopkg-in-go-playground-assert-v1")
1409 (version "1.2.1")
1410 (home-page "https://github.com/go-playground/assert")
1411 (source
1412 (origin
1413 (method git-fetch)
1414 (uri (git-reference
1415 (url home-page)
1416 (commit (string-append "v" version))))
1417 (file-name (git-file-name name version))
1418 (sha256
1419 (base32 "1h4amgykpa0djwi619llr3g55p75ia0mi184h9s5zdl8l4rhn9pm"))))
1420 (build-system go-build-system)
1421 (arguments
1422 '(#:import-path "gopkg.in/go-playground/assert.v1"))
1423 (synopsis "Basic assertion library used alongside native Go testing")
1424 (description
1425 "This package provides basic assertions along with building blocks for
1426 custom assertions to be used alongside native Go testing.")
1427 (license license:expat)))
1428
1429 (define-public go-github-com-go-playground-locales
1430 (package
1431 (name "go-github-com-go-playground-locales")
1432 (version "0.13.0")
1433 (home-page "https://github.com/go-playground/locales")
1434 (source
1435 (origin
1436 (method git-fetch)
1437 (uri (git-reference
1438 (url home-page)
1439 (commit (string-append "v" version))))
1440 (file-name (git-file-name name version))
1441 (sha256
1442 (base32 "0qydcpkvss3mf8mk3xzg6a34n8i69aydrigcl2apifrkx72jw7pf"))))
1443 (build-system go-build-system)
1444 (arguments
1445 '(#:import-path "github.com/go-playground/locales"))
1446 (synopsis "Set of locales generated from the CLDR Unicode Project")
1447 (description
1448 "This package provides a set of locales generated from the
1449 @uref{http://cldr.unicode.org/, Unicode CLDR Project} which can be used
1450 independently or within an internalization (i18n) package. Its currently
1451 implemented features include
1452
1453 @itemize
1454 @item Rules generated from the CLDR data, v31.0.3
1455 @item Contains Cardinal, Ordinal and Range Plural Rules
1456 @item Contains Month, Weekday and Timezone translations built in
1457 @item Contains Date & Time formatting functions
1458 @item Contains Number, Currency, Accounting and Percent formatting functions
1459 @item Supports the \"Gregorian\" calendar only
1460 @end itemize")
1461 (license license:expat)))
1462
1463 (define-public go-github-com-go-playground-universal-translator
1464 (package
1465 (name "go-github-com-go-playground-universal-translator")
1466 (version "0.17.0")
1467 (home-page "https://github.com/go-playground/universal-translator")
1468 (source
1469 (origin
1470 (method git-fetch)
1471 (uri (git-reference
1472 (url home-page)
1473 (commit (string-append "v" version))))
1474 (file-name (git-file-name name version))
1475 (sha256
1476 (base32 "1zdiaisb32iv4x93cpbqrgx8ll7sxh4hcd2iibpswy4bwvjbjlz6"))))
1477 (build-system go-build-system)
1478 (arguments
1479 '(#:import-path "github.com/go-playground/universal-translator"))
1480 (propagated-inputs
1481 `(("go-github-com-go-playground-locales" ,go-github-com-go-playground-locales)))
1482 (synopsis "Translator using Unicode CLDR data and pluralization rules")
1483 (description
1484 "This package offers an Internalization Translator for Go using
1485 @uref{http://cldr.unicode.org/, Unicode CLDR Project} data and pluralization
1486 rules. Its currently implemented features include
1487
1488 @itemize
1489 @item Rules generated from the CLDR data, v30.0.3
1490 @item Contains Cardinal, Ordinal and Range Plural Rules
1491 @item Contains Month, Weekday and Timezone translations built in
1492 @item Contains Date & Time formatting functions
1493 @item Contains Number, Currency, Accounting and Percent formatting functions
1494 @item Supports the \"Gregorian\" calendar only
1495 @item Support loading translations from files
1496 @item Exporting translations to file(s), mainly for getting them
1497 professionally translated
1498 @end itemize")
1499 (license license:expat)))
1500
1501 (define-public go-gopkg-in-go-playground-validator-v9
1502 (package
1503 (name "go-gopkg-in-go-playground-validator-v9")
1504 (version "9.31.0")
1505 (home-page "https://gopkg.in/go-playground/validator.v9")
1506 (source
1507 (origin
1508 (method git-fetch)
1509 (uri (git-reference
1510 (url "https://github.com/go-playground/validator")
1511 (commit (string-append "v" version))))
1512 (file-name (git-file-name name version))
1513 (sha256
1514 (base32 "1f8c77s8kx9rip2jarv27x5s4xkcmanh4ndyhbcwvrhncs5rq061"))))
1515 (build-system go-build-system)
1516 (arguments
1517 '(#:import-path "gopkg.in/go-playground/validator.v9"))
1518 (native-inputs
1519 `(("go-gopkg-in-go-playground-assert-v1"
1520 ,go-gopkg-in-go-playground-assert-v1)))
1521 (propagated-inputs
1522 `(("go-github-com-go-playground-universal-translator"
1523 ,go-github-com-go-playground-universal-translator)
1524 ("go-github-com-leodido-go-urn" ,go-github-com-leodido-go-urn)))
1525 (synopsis "Validator for structs and individual fields based on tags")
1526 (description
1527 "This package implements value validations for structs and individual
1528 fields based on tags. It has the following unique features:
1529
1530 @itemize
1531 @item Cross Field and Cross Struct validations by using validation tags or
1532 custom validators
1533 @item Slice, Array and Map diving, which allows any or all levels of a
1534 multidimensional field to be validated
1535 @item Ability to dive into both map keys and values for validation
1536 @item Handles type interface by determining it's underlying type prior to validation
1537 @item Handles custom field types such as sql driver
1538 @uref{https://golang.org/src/database/sql/driver/types.go?s=1210:1293#L29,
1539 Valuer}
1540 @item Alias validation tags, which allows for mapping of several validations
1541 to a single tag for easier defining of validations on structs
1542 @item Extraction of custom defined Field Name e.g. can specify to extract the
1543 JSON name while validating and have it available in the resulting FieldError
1544 @item Customizable i18n aware error messages.
1545 @item Default validator for the @uref{https://github.com/gin-gonic/gin, gin}
1546 web framework
1547 @end itemize")
1548 (license license:expat)))
1549
1550 (define-public go-github-com-aws-sdk
1551 (package
1552 (name "go-github-com-aws-sdk")
1553 (version "1.35.2")
1554 (source
1555 (origin
1556 (method git-fetch)
1557 (uri (git-reference
1558 (url "https://github.com/aws/aws-sdk-go")
1559 (commit (string-append "v" version))))
1560 (file-name (git-file-name name version))
1561 (sha256
1562 (base32
1563 "1ky5lw2s2zpslnnqcs6hgsrwvwbxwgflb5jwf16dd4aga3vrg10c"))))
1564 (build-system go-build-system)
1565 (arguments
1566 '(#:import-path "github.com/aws/aws-sdk-go/aws"
1567 #:unpack-path "github.com/aws/aws-sdk-go"))
1568 (propagated-inputs
1569 `(("go-github-com-go-sql-driver-mysql" ,go-github-com-go-sql-driver-mysql)
1570 ("go-github-com-jmespath-go-jmespath" ,go-github-com-jmespath-go-jmespath)
1571 ("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
1572 ("go-golang-org-x-net" ,go-golang-org-x-net)))
1573 (home-page "https://github.com/aws/aws-sdk-go")
1574 (synopsis "Library to access Amazon Web Services (AWS)")
1575 (description
1576 "This is the official AWS SDK for the Go programming language.")
1577 (license license:asl2.0)))
1578
1579 (define-public go-gopkg.in-tomb.v2
1580 (let ((commit "d5d1b5820637886def9eef33e03a27a9f166942c")
1581 (revision "0"))
1582 (package
1583 (name "go-gopkg.in-tomb.v2")
1584 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
1585 (source (origin
1586 (method git-fetch)
1587 (uri (git-reference
1588 (url "https://github.com/go-tomb/tomb")
1589 (commit commit)))
1590 (file-name (string-append name "-" version ".tar.gz"))
1591 (sha256
1592 (base32
1593 "1sv15sri99szkdz1bkh0ir46w9n8prrwx5hfai13nrhkawfyfy10"))))
1594 (build-system go-build-system)
1595 (arguments
1596 '(#:import-path "gopkg.in/tomb.v2"
1597 #:phases
1598 (modify-phases %standard-phases
1599 (add-after 'unpack 'patch-source
1600 (lambda _
1601 ;; Add a missing % to fix the compilation of this test
1602 (substitute* "src/gopkg.in/tomb.v2/tomb_test.go"
1603 (("t.Fatalf\\(`Killf\\(\"BO%s")
1604 "t.Fatalf(`Killf(\"BO%%s"))
1605 #t)))))
1606 (synopsis "@code{tomb} handles clean goroutine tracking and termination")
1607 (description
1608 "The @code{tomb} package handles clean goroutine tracking and
1609 termination.")
1610 (home-page "https://gopkg.in/tomb.v2")
1611 (license license:bsd-3))))
1612
1613 (define-public go-gopkg-in-natefinch-lumberjack.v2
1614 (package
1615 (name "go-gopkg-in-natefinch-lumberjack.v2")
1616 (version "2.1")
1617 (source
1618 (origin
1619 (method git-fetch)
1620 (uri (git-reference
1621 (url "https://github.com/natefinch/lumberjack")
1622 (commit (string-append "v" version))))
1623 (file-name (git-file-name name version))
1624 (sha256
1625 (base32
1626 "1l3vlv72b7rfkpy1164kwd3qzrqmmjnb67akzxqp2mlvc66k6p3d"))))
1627 (build-system go-build-system)
1628 (arguments
1629 '(#:import-path "gopkg.in/natefinch/lumberjack.v2"))
1630 (propagated-inputs
1631 `(("github.com/burntsush/toml" ,go-github-com-burntsushi-toml)
1632 ("gopkg.in/yaml.v2" ,go-gopkg-in-yaml-v2)))
1633 (home-page "https://github.com/natefinch/lumberjack")
1634 (synopsis "Rolling logger for Go")
1635 (description
1636 "Lumberjack is a Go package for writing logs to rolling files.")
1637 (license license:expat)))
1638
1639 (define-public go-github.com-jtolds-gls
1640 (package
1641 (name "go-github.com-jtolds-gls")
1642 (version "4.20")
1643 (source (origin
1644 (method git-fetch)
1645 (uri (git-reference
1646 (url "https://github.com/jtolds/gls")
1647 (commit (string-append "v" version))))
1648 (file-name (git-file-name name version))
1649 (sha256
1650 (base32
1651 "1k7xd2q2ysv2xsh373qs801v6f359240kx0vrl0ydh7731lngvk6"))))
1652 (build-system go-build-system)
1653 (arguments
1654 '(#:import-path "github.com/jtolds/gls"))
1655 (synopsis "@code{gls} provides Goroutine local storage")
1656 (description
1657 "The @code{gls} package provides a way to store a retrieve values
1658 per-goroutine.")
1659 (home-page "https://github.com/jtolds/gls")
1660 (license license:expat)))
1661
1662 (define-public go-github-com-saracen-walker
1663 (package
1664 (name "go-github-com-saracen-walker")
1665 (version "0.1.1")
1666 (source
1667 (origin
1668 (method git-fetch)
1669 (uri (git-reference
1670 (url "https://github.com/saracen/walker")
1671 (commit (string-append "v" version))))
1672 (file-name (git-file-name name version))
1673 (sha256
1674 (base32 "1rq1lrp99lx7k1ysbfznn4c1iagnxdhb4lnnklsadnnzi3gvygqz"))))
1675 (build-system go-build-system)
1676 (arguments
1677 `(#:import-path "github.com/saracen/walker"))
1678 (inputs
1679 `(("go-golang-org-x-sync" ,go-golang-org-x-sync)))
1680 (home-page "https://github.com/saracen/walker")
1681 (synopsis "Faster, parallel version of Go's filepath.Walk")
1682 (license license:expat)
1683 (description "The @code{walker} function is a faster, parallel version, of
1684 @code{filepath.Walk}")))
1685
1686 (define-public go-github-com-tj-docopt
1687 (package
1688 (name "go-github-com-tj-docopt")
1689 (version "1.0.0")
1690 (source (origin
1691 (method git-fetch)
1692 (uri (git-reference
1693 (url "https://github.com/tj/docopt")
1694 (commit (string-append "v" version))))
1695 (file-name (git-file-name name version))
1696 (sha256
1697 (base32
1698 "06h8hdg1mh3s78zqlr01g4si7k0f0g6pr7fj7lnvfg446hgc7080"))))
1699 (build-system go-build-system)
1700 (arguments
1701 '(#:import-path "github.com/tj/docopt"))
1702 (synopsis "Go implementation of docopt")
1703 (description
1704 "This library allows the user to define a command-line interface from a
1705 program's help message rather than specifying it programmatically with
1706 command-line parsers.")
1707 (home-page "https://github.com/tj/docopt")
1708 (license license:expat)))
1709
1710 (define-public go-github-com-hashicorp-hcl
1711 (let ((commit "23c074d0eceb2b8a5bfdbb271ab780cde70f05a8")
1712 (revision "0"))
1713 (package
1714 (name "go-github-com-hashicorp-hcl")
1715 (version (git-version "0.0.0" revision commit))
1716 (source (origin
1717 (method git-fetch)
1718 (uri (git-reference
1719 (url "https://github.com/hashicorp/hcl")
1720 (commit commit)))
1721 (file-name (git-file-name name version))
1722 (sha256
1723 (base32
1724 "0db4lpqb5m130rmfy3s3gjjf4dxllypmyrzxv6ggqhkmwmc7w4mc"))))
1725 (build-system go-build-system)
1726 (arguments
1727 '(#:tests? #f
1728 #:import-path "github.com/hashicorp/hcl"))
1729 (synopsis "Go implementation of HashiCorp Configuration Language")
1730 (description
1731 "This package contains the main implementation of the @acronym{HCL,
1732 HashiCorp Configuration Language}. HCL is designed to be a language for
1733 expressing configuration which is easy for both humans and machines to read.")
1734 (home-page "https://github.com/hashicorp/hcl")
1735 (license license:mpl2.0))))
1736
1737 (define-public go-golang-org-x-tools
1738 (let ((commit "8b927904ee0dec805c89aaf9172f4459296ed6e8")
1739 (revision "0"))
1740 (package
1741 (name "go-golang-org-x-tools")
1742 (version (git-version "0.1.3" revision commit))
1743 (source (origin
1744 (method git-fetch)
1745 (uri (git-reference
1746 (url "https://go.googlesource.com/tools")
1747 (commit commit)))
1748 (file-name (string-append "go.googlesource.com-tools-"
1749 version "-checkout"))
1750 (sha256
1751 (base32
1752 "0iinb70xhcjsddgi42ia1n745lx2ibnjdm6m2v666qrk3876vpck"))))
1753 (build-system go-build-system)
1754 (arguments
1755 `(#:import-path "golang.org/x/tools"
1756 ;; Source-only package
1757 #:tests? #f
1758 #:phases
1759 (modify-phases %standard-phases
1760 ;; Source-only package
1761 (delete 'build))))
1762 (synopsis "Tools that support the Go programming language")
1763 (description "This package provides miscellaneous tools that support the
1764 Go programming language.")
1765 (home-page "https://go.googlesource.com/tools/")
1766 (license license:bsd-3))))
1767
1768 (define-public go-golang-org-x-crypto
1769 (let ((commit "2aa609cf4a9d7d1126360de73b55b6002f9e052a")
1770 (revision "5"))
1771 (package
1772 (name "go-golang-org-x-crypto")
1773 (version (git-version "0.0.0" revision commit))
1774 (source (origin
1775 (method git-fetch)
1776 (uri (git-reference
1777 (url "https://go.googlesource.com/crypto")
1778 (commit commit)))
1779 (file-name (string-append "go.googlesource.com-crypto-"
1780 version "-checkout"))
1781 (sha256
1782 (base32
1783 "1yvis6fqbsd7f356aqyi18f76vnwj3bry6mxqnkvshq4cwrf92il"))))
1784 (build-system go-build-system)
1785 (arguments
1786 '(#:import-path "golang.org/x/crypto"
1787 ;; Source-only package
1788 #:tests? #f
1789 #:phases
1790 (modify-phases %standard-phases
1791 ;; Source-only package
1792 (delete 'build)
1793 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
1794 (lambda* (#:key outputs #:allow-other-keys)
1795 (map (lambda (file)
1796 (make-file-writable file))
1797 (find-files
1798 (string-append (assoc-ref outputs "out")
1799 "/src/golang.org/x/crypto/ed25519/testdata")
1800 ".*\\.gz$"))
1801 #t)))))
1802 (propagated-inputs
1803 `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
1804 (synopsis "Supplementary cryptographic libraries in Go")
1805 (description "This package provides supplementary cryptographic libraries
1806 for the Go language.")
1807 (home-page "https://go.googlesource.com/crypto/")
1808 (license license:bsd-3))))
1809
1810 (define-public go-golang-org-x-net
1811 (let ((commit "ba9fcec4b297b415637633c5a6e8fa592e4a16c3")
1812 (revision "4"))
1813 (package
1814 (name "go-golang-org-x-net")
1815 (version (git-version "0.0.0" revision commit))
1816 (source (origin
1817 (method git-fetch)
1818 (uri (git-reference
1819 (url "https://go.googlesource.com/net")
1820 (commit commit)))
1821 (file-name (git-file-name name version))
1822 (sha256
1823 (base32
1824 "1hbqvy6r0s5h0dpdqw8fynl3cq0acin3iyqki9xvl5r8h33yb9bx"))))
1825 (build-system go-build-system)
1826 (arguments
1827 `(#:import-path "golang.org/x/net"
1828 ; Source-only package
1829 #:tests? #f
1830 #:phases
1831 (modify-phases %standard-phases
1832 (delete 'build))))
1833 (synopsis "Go supplemental networking libraries")
1834 (description "This package provides supplemental Go networking libraries.")
1835 (home-page "https://go.googlesource.com/net")
1836 (license license:bsd-3))))
1837
1838 (define-public go-golang-org-x-net-html
1839 (package
1840 (inherit go-golang-org-x-net)
1841 (name "go-golang.org-x-net-html")
1842 (arguments
1843 '(#:import-path "golang.org/x/net/html"
1844 #:unpack-path "golang.org/x/net"))
1845 (synopsis "HTML5-compliant tokenizer and parser")
1846 (description
1847 "This package provides an HTML5-compliant tokenizer and parser.")
1848 (home-page "https://godoc.org/golang.org/x/net/html")))
1849
1850 (define-public go-golang-org-x-image
1851 (let ((commit "58c23975cae11f062d4b3b0c143fe248faac195d")
1852 (revision "1"))
1853 (package
1854 (name "go-golang-org-x-image")
1855 (version (git-version "0.0.0" revision commit))
1856 (source (origin
1857 (method git-fetch)
1858 (uri (git-reference
1859 (url "https://go.googlesource.com/image")
1860 (commit commit)))
1861 (file-name (string-append "go.googlesource.com-image-"
1862 version "-checkout"))
1863 (sha256
1864 (base32
1865 "0i2p2girc1sfcic6xs6vrq0fp3szfx057xppksb67kliywjjrm5x"))))
1866 (build-system go-build-system)
1867 (arguments
1868 `(#:import-path "golang.org/x/image"
1869 ; Source-only package
1870 #:tests? #f
1871 #:phases
1872 (modify-phases %standard-phases
1873 (delete 'build))))
1874 (home-page "https://go.googlesource.com/image")
1875 (synopsis "Supplemental Go image libraries")
1876 (description "This package provides supplemental Go libraries for image
1877 processing.")
1878 (license license:bsd-3))))
1879
1880 (define-public go-golang-org-x-sync
1881 (let ((commit "6e8e738ad208923de99951fe0b48239bfd864f28")
1882 (revision "1"))
1883 (package
1884 (name "go-golang-org-x-sync")
1885 (version (git-version "0.0.0" revision commit))
1886 (source (origin
1887 (method git-fetch)
1888 (uri (git-reference
1889 (url "https://go.googlesource.com/sync")
1890 (commit commit)))
1891 (file-name (git-file-name name version))
1892 (sha256
1893 (base32
1894 "1avk27pszd5l5df6ff7j78wgla46ir1hhy2jwfl9a3c0ys602yx9"))))
1895 (build-system go-build-system)
1896 (arguments
1897 `(#:import-path "golang.org/x/sync"
1898 #:tests? #f
1899 ;; Source-only package
1900 #:phases
1901 (modify-phases %standard-phases
1902 (delete 'build))))
1903 (synopsis "Additional Go concurrency primitives")
1904 (description "This package provides Go concurrency primitives in addition
1905 to the ones provided by the language and “sync” and “sync/atomic”
1906 packages.")
1907 (home-page "https://go.googlesource.com/sync/")
1908 (license license:bsd-3))))
1909
1910 (define-public go-golang-org-x-sys
1911 (let ((commit "05986578812163b26672dabd9b425240ae2bb0ad")
1912 (revision "7"))
1913 (package
1914 (name "go-golang-org-x-sys")
1915 (version (git-version "0.0.0" revision commit))
1916 (source (origin
1917 (method git-fetch)
1918 (uri (git-reference
1919 (url "https://go.googlesource.com/sys")
1920 (commit commit)))
1921 (file-name (git-file-name name version))
1922 (sha256
1923 (base32
1924 "1q2rxb6z5l6pmlckjsz2l0b8lw7bqgk6frhzbmi1dv0y5irb2ka7"))))
1925 (build-system go-build-system)
1926 (arguments
1927 `(#:import-path "golang.org/x/sys"
1928 ;; Source-only package
1929 #:tests? #f
1930 #:phases
1931 (modify-phases %standard-phases
1932 (delete 'build))))
1933 (synopsis "Go support for low-level system interaction")
1934 (description "This package provides supplemental libraries offering Go
1935 support for low-level interaction with the operating system.")
1936 (home-page "https://go.googlesource.com/sys")
1937 (license license:bsd-3))))
1938
1939 (define-public go-golang-org-x-text
1940 (package
1941 (name "go-golang-org-x-text")
1942 (version "0.3.2")
1943 (source (origin
1944 (method git-fetch)
1945 (uri (git-reference
1946 (url "https://go.googlesource.com/text")
1947 (commit (string-append "v" version))))
1948 (file-name (string-append "go.googlesource.com-text-"
1949 version "-checkout"))
1950 (sha256
1951 (base32
1952 "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh"))))
1953 (build-system go-build-system)
1954 (arguments
1955 `(#:import-path "golang.org/x/text"
1956 ; Source-only package
1957 #:tests? #f
1958 #:phases
1959 (modify-phases %standard-phases
1960 (delete 'build))))
1961 (synopsis "Supplemental Go text processing libraries")
1962 (description "This package provides supplemental Go libraries for text
1963 processing.")
1964 (home-page "https://go.googlesource.com/text")
1965 (license license:bsd-3)))
1966
1967 (define-public go-golang-org-x-time
1968 (let ((commit "9d24e82272b4f38b78bc8cff74fa936d31ccd8ef")
1969 (revision "2"))
1970 (package
1971 (name "go-golang-org-x-time")
1972 (version (git-version "0.0.0" revision commit))
1973 (source (origin
1974 (method git-fetch)
1975 (uri (git-reference
1976 (url "https://go.googlesource.com/time")
1977 (commit commit)))
1978 (file-name (git-file-name name version))
1979 (sha256
1980 (base32
1981 "1f5nkr4vys2vbd8wrwyiq2f5wcaahhpxmia85d1gshcbqjqf8dkb"))))
1982 (build-system go-build-system)
1983 (arguments
1984 `(#:import-path "golang.org/x/time"
1985 ; Source-only package
1986 #:tests? #f
1987 #:phases
1988 (modify-phases %standard-phases
1989 (delete 'build))))
1990 ; (propagated-inputs
1991 ; `(("go-golang-org-x-net" ,go-golang-org-x-net)))
1992 (synopsis "Supplemental Go time libraries")
1993 (description "This package provides supplemental Go libraries related to
1994 time.")
1995 (home-page "https://godoc.org/golang.org/x/time/rate")
1996 (license license:bsd-3))))
1997
1998 (define-public go-golang-org-x-oauth2
1999 (let ((commit "0f29369cfe4552d0e4bcddc57cc75f4d7e672a33")
2000 (revision "1"))
2001 (package
2002 (name "go-golang-org-x-oauth2")
2003 (version (git-version "0.0.0" revision commit))
2004 (source (origin
2005 (method git-fetch)
2006 (uri (git-reference
2007 (url "https://go.googlesource.com/oauth2")
2008 (commit commit)))
2009 (file-name (string-append "go.googlesource.com-oauth2-"
2010 version "-checkout"))
2011 (sha256
2012 (base32
2013 "06jwpvx0x2gjn2y959drbcir5kd7vg87k0r1216abk6rrdzzrzi2"))))
2014 (build-system go-build-system)
2015 (arguments
2016 `(#:import-path "golang.org/x/oauth2"))
2017 (propagated-inputs
2018 `(("go-golang-org-x-net" ,go-golang-org-x-net)))
2019 (home-page "https://go.googlesource.com/oauth2")
2020 (synopsis "Client implementation of the OAuth 2.0 spec")
2021 (description "This package contains a client implementation for OAuth 2.0
2022 spec in Go.")
2023 (license license:bsd-3))))
2024
2025 (define-public go-golang-org-x-xerrors
2026 (let ((commit "5ec99f83aff198f5fbd629d6c8d8eb38a04218ca")
2027 (revision "0"))
2028 (package
2029 (name "go-golang-org-x-xerrors")
2030 (version (git-version "0.0.0" revision commit))
2031 (source (origin
2032 (method git-fetch)
2033 (uri (git-reference
2034 (url "https://go.googlesource.com/xerrors")
2035 (commit commit)))
2036 (file-name (git-file-name name version))
2037 (sha256
2038 (base32
2039 "1dbzc3gmf2haazpv7cgmv97rq40g2xzwbglc17vas8dwhgwgwrzb"))))
2040 (build-system go-build-system)
2041 (arguments
2042 '(#:import-path "golang.org/x/xerrors"))
2043 (synopsis "Go 1.13 error values")
2044 (description
2045 "This package holds the transition packages for the new Go 1.13 error values.")
2046 (home-page "https://godoc.org/golang.org/x/xerrors")
2047 (license license:bsd-3))))
2048
2049 (define-public go-github-com-burntsushi-toml
2050 (package
2051 (name "go-github-com-burntsushi-toml")
2052 (version "0.3.1")
2053 (source
2054 (origin
2055 (method git-fetch)
2056 (uri (git-reference
2057 (url "https://github.com/BurntSushi/toml")
2058 (commit (string-append "v" version))))
2059 (file-name (git-file-name name version))
2060 (sha256
2061 (base32
2062 "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6"))))
2063 (build-system go-build-system)
2064 (arguments
2065 '(#:import-path "github.com/BurntSushi/toml"))
2066 (home-page "https://github.com/BurntSushi/toml")
2067 (synopsis "Toml parser and encoder for Go")
2068 (description "This package is toml parser and encoder for Go. The interface
2069 is similar to Go's standard library @code{json} and @code{xml} package.")
2070 (license license:expat)))
2071
2072 (define-public go-github-com-getsentry-raven-go
2073 (let ((commit "5c24d5110e0e198d9ae16f1f3465366085001d92")
2074 (revision "0"))
2075 (package
2076 (name "go-github-com-getsentry-raven-go")
2077 (version (git-version "0.2.0" revision commit))
2078 (source
2079 (origin
2080 (method git-fetch)
2081 (uri (git-reference
2082 (url "https://github.com/getsentry/raven-go")
2083 (commit commit)))
2084 (file-name (git-file-name name version))
2085 (sha256
2086 (base32
2087 "0lvc376sq8r8jhy2v1m6rf1wyld61pvbk0x6j9xpg56ivqy69xs7"))))
2088 (build-system go-build-system)
2089 (arguments
2090 '(#:import-path "github.com/getsentry/raven-go"))
2091 (propagated-inputs
2092 `(("go-github-com-certifi-gocertifi" ,go-github-com-certifi-gocertifi)
2093 ("go-github-com-pkg-errors" ,go-github-com-pkg-errors)))
2094 (home-page "https://github.com/getsentry/raven-go")
2095 (synopsis "Sentry client in Go")
2096 (description "This package is a Go client API for the Sentry event/error
2097 logging system.")
2098 (license license:bsd-3))))
2099
2100 (define-public go-github-com-hashicorp-go-version
2101 (let ((commit
2102 "03c5bf6be031b6dd45afec16b1cf94fc8938bc77")
2103 (revision "0"))
2104 (package
2105 (name "go-github-com-hashicorp-go-version")
2106 (version (git-version "0.0.0" revision commit))
2107 (source
2108 (origin
2109 (method git-fetch)
2110 (uri (git-reference
2111 (url "https://github.com/hashicorp/go-version")
2112 (commit commit)))
2113 (file-name (git-file-name name version))
2114 (sha256
2115 (base32
2116 "0sjq57gpfznaqdrbyb2p0bn90g9h661cvr0jrk6ngags4pbw14ik"))))
2117 (build-system go-build-system)
2118 (arguments
2119 '(#:import-path "github.com/hashicorp/go-version"))
2120 (home-page
2121 "https://github.com/hashicorp/go-version")
2122 (synopsis "Go library for parsing and verifying versions and version
2123 constraints")
2124 (description "This package is a library for parsing versions and version
2125 constraints, and verifying versions against a set of constraints. It can sort
2126 a collection of versions properly, handles prerelease/beta versions, can
2127 increment versions.")
2128 (license license:mpl2.0))))
2129
2130 (define-public go-github-com-jpillora-backoff
2131 (let ((commit
2132 "06c7a16c845dc8e0bf575fafeeca0f5462f5eb4d")
2133 (revision "0"))
2134 (package
2135 (name "go-github-com-jpillora-backoff")
2136 (version (git-version "0.0.0" revision commit))
2137 (source
2138 (origin
2139 (method git-fetch)
2140 (uri (git-reference
2141 (url "https://github.com/jpillora/backoff")
2142 (commit commit)))
2143 (file-name (git-file-name name version))
2144 (sha256
2145 (base32
2146 "0xhvxr7bm47czdc5hy3kl508z3y4j91i2jm7vg774i52zych6k4l"))))
2147 (build-system go-build-system)
2148 (arguments
2149 '(#:import-path "github.com/jpillora/backoff"))
2150 (home-page "https://github.com/jpillora/backoff")
2151 (synopsis "Simple exponential backoff counter in Go")
2152 (description "This package is a simple exponential backoff counter in
2153 Go.")
2154 (license license:expat))))
2155
2156 (define-public go-github-com-stretchr-objx
2157 (package
2158 (name "go-github-com-stretchr-objx")
2159 (version "0.2.0")
2160 (source
2161 (origin
2162 (method git-fetch)
2163 (uri (git-reference
2164 (url "https://github.com/stretchr/objx")
2165 (commit (string-append "v" version))))
2166 (file-name (git-file-name name version))
2167 (sha256
2168 (base32
2169 "0pcdvakxgddaiwcdj73ra4da05a3q4cgwbpm2w75ycq4kzv8ij8k"))))
2170 (build-system go-build-system)
2171 (arguments
2172 '(#:import-path "github.com/stretchr/objx"))
2173 (home-page "https://github.com/stretchr/objx")
2174 (synopsis "Go package for dealing with maps, slices, JSON and other data")
2175 (description "This package provides a Go library for dealing with maps,
2176 slices, JSON and other data.")
2177 (license license:expat)))
2178
2179 (define-public go-github-com-stretchr-testify
2180 (package
2181 (name "go-github-com-stretchr-testify")
2182 (version "1.5.1")
2183 (source
2184 (origin
2185 (method git-fetch)
2186 (uri (git-reference
2187 (url "https://github.com/stretchr/testify")
2188 (commit (string-append "v" version))))
2189 (file-name (git-file-name name version))
2190 (sha256
2191 (base32
2192 "09r89m1wy4cjv2nps1ykp00qjpi0531r07q3s34hr7m6njk4srkl"))))
2193 (build-system go-build-system)
2194 (arguments
2195 '(#:import-path "github.com/stretchr/testify"))
2196 (propagated-inputs
2197 `(("github.com/davecgh/go-spew" ,go-github-com-davecgh-go-spew)
2198 ("github.com/pmezard/go-difflib" ,go-github-com-pmezard-go-difflib)
2199 ("github.com/stretchr/objx" ,go-github-com-stretchr-objx)
2200 ("gopkg.in/yaml.v2" ,go-gopkg-in-yaml-v2)))
2201 (home-page "https://github.com/stretchr/testify")
2202 (synopsis "Go helper library for tests and invariant checking")
2203 (description "This package provide many tools for testifying that your
2204 code will behave as you intend.
2205
2206 Features include:
2207 @itemize
2208 @item Easy assertions
2209 @item Mocking
2210 @item HTTP response trapping
2211 @item Testing suite interfaces and functions.
2212 @end itemize")
2213 (license license:expat)))
2214
2215 (define-public go-github-com-tevino-abool
2216 (let ((commit
2217 "3c25f2fe7cd0ef3eabefce1d90efd69a65d35b12")
2218 (revision "0"))
2219 (package
2220 (name "go-github-com-tevino-abool")
2221 (version (git-version "0.0.0" revision commit))
2222 (source
2223 (origin
2224 (method git-fetch)
2225 (uri (git-reference
2226 (url "https://github.com/tevino/abool")
2227 (commit commit)))
2228 (file-name (git-file-name name version))
2229 (sha256
2230 (base32
2231 "1wxqrclxk93q0aj15z596dx2y57x9nkhi64nbrr5cxnhxn8vwixm"))))
2232 (build-system go-build-system)
2233 (arguments
2234 '(#:import-path "github.com/tevino/abool"))
2235 (home-page "https://github.com/tevino/abool")
2236 (synopsis "Atomic boolean library for Go code")
2237 (description "This package is atomic boolean library for Go code,
2238 optimized for performance yet simple to use.")
2239 (license license:expat))))
2240
2241 (define-public go-github-com-tomnomnom-gron
2242 (package
2243 (name "gron")
2244 (version "0.6.1")
2245 (home-page "https://github.com/tomnomnom/gron")
2246 (source
2247 (origin
2248 (method git-fetch)
2249 (uri (git-reference
2250 (url home-page)
2251 (commit (string-append "v" version))))
2252 (file-name (git-file-name name version))
2253 (sha256
2254 (base32 "0qmzawkhg0qn9kxxrssbdjni2khvamhrcklv3yxc0ljmh77mh61m"))))
2255 (build-system go-build-system)
2256 (arguments
2257 (let ((import-path "github.com/tomnomnom/gron"))
2258 `(#:import-path ,import-path
2259 #:phases
2260 (modify-phases %standard-phases
2261 (add-after 'check 'remove-non-source
2262 (lambda _
2263 (for-each (lambda (dir)
2264 (delete-file-recursively
2265 (string-append "src/" ,import-path dir)))
2266 '("/docs" "/script" "/testdata"))
2267 #t))))))
2268 (inputs
2269 `(("github.com/fatih/color" ,go-github-com-fatih-color)
2270 ("github.com/mattn/go-colorable" ,go-github-com-mattn-go-colorable)
2271 ("github.com/mattn/go-isatty" ,go-github-com-mattn-go-isatty)
2272 ("github.com/nwidger/jsoncolor" ,go-github-com-nwidger-jsoncolor)
2273 ("github.com/pkg/errors" ,go-github-com-pkg-errors)))
2274 (synopsis "Transform JSON to make it easier to grep")
2275 (description
2276 "This package transforms JSON into discrete assignments to make it easier
2277 to use line-based tools such as grep to search for what you want and see the
2278 absolute \"path\" to it.")
2279 (license license:expat)))
2280
2281 (define-public go-github-com-tv42-httpunix
2282 (let ((commit "2ba4b9c3382c77e7b9ea89d00746e6111d142a22")
2283 (revision "0"))
2284 (package
2285 (name "go-github-com-tv42-httpunix")
2286 (version (git-version "0.0.0" revision commit))
2287 (source
2288 (origin
2289 (method git-fetch)
2290 (uri (git-reference
2291 (url "https://github.com/tv42/httpunix")
2292 (commit commit)))
2293 (file-name (git-file-name name version))
2294 (sha256
2295 (base32 "0xbwpip2hsfhd2kd878jn5ndl8y1i9658lggha4x3xb5m1rsds9w"))))
2296 (build-system go-build-system)
2297 (arguments
2298 '(#:import-path "github.com/tv42/httpunix"))
2299 (home-page "https://github.com/tv42/httpunix")
2300 (synopsis "Go library to talk HTTP over Unix domain sockets")
2301 (description "This package is a Go library to talk HTTP over Unix domain
2302 sockets.")
2303 (license license:expat))))
2304
2305 (define-public go-github-com-blang-semver
2306 (let ((commit "60ec3488bfea7cca02b021d106d9911120d25fe9")
2307 (revision "0"))
2308 (package
2309 (name "go-github-com-blang-semver")
2310 (version (git-version "0.0.0" revision commit))
2311 (source
2312 (origin
2313 (method git-fetch)
2314 (uri (git-reference
2315 (url "https://github.com/blang/semver")
2316 (commit commit)))
2317 (file-name (git-file-name name version))
2318 (sha256
2319 (base32
2320 "19pli07y5592g4dyjyj0jq5rn548vc3fz0qg3624vm1j5828p1c2"))))
2321 (build-system go-build-system)
2322 (arguments
2323 '(#:import-path "github.com/blang/semver"))
2324 (home-page "https://github.com/blang/semver")
2325 (synopsis "Semantic versioning library written in Go")
2326 (description "Semver is a library for Semantic versioning written in Go.")
2327 (license license:expat))))
2328
2329 (define-public go-github-com-emicklei-go-restful
2330 (package
2331 (name "go-github-com-emicklei-go-restful")
2332 (version "3.4.0")
2333 (source
2334 (origin
2335 (method git-fetch)
2336 (uri (git-reference
2337 (url "https://github.com/emicklei/go-restful")
2338 (commit (string-append "v" version))))
2339 (file-name (git-file-name name version))
2340 (sha256
2341 (base32
2342 "0m1y5a6xr6hmdj77afrvyh2llkbhn1166lcrgis654shl8zs9qhz"))))
2343 (build-system go-build-system)
2344 (arguments
2345 '(#:import-path "github.com/emicklei/go-restful"))
2346 (home-page "https://github.com/emicklei/go-restful")
2347 (synopsis "Build REST-style web services using Go")
2348 (description "This package provides @code{go-restful}, which helps
2349 developers to use @code{http} methods explicitly and in a way that's consistent
2350 with the HTTP protocol definition.")
2351 (license license:expat)))
2352
2353 (define-public go-github-com-google-cadvisor
2354 (let ((commit "2ed7198f77395ee9a172878a0a7ab92ab59a2cfd")
2355 (revision "0"))
2356 (package
2357 (name "go-github-com-google-cadvisor")
2358 (version (git-version "0.0.0" revision commit))
2359 (source
2360 (origin
2361 (method git-fetch)
2362 (uri (git-reference
2363 (url "https://github.com/google/cadvisor")
2364 (commit commit)))
2365 (file-name (git-file-name name version))
2366 (sha256
2367 (base32
2368 "1w8p345z5j0gk3yiq5ah0znd5lfh348p2s624k5r10drz04p3f55"))))
2369 (build-system go-build-system)
2370 (arguments
2371 '(#:import-path "github.com/google/cadvisor"))
2372 (home-page "https://github.com/google/cadvisor")
2373 (synopsis "Analyze resource usage of running containers")
2374 (description "The package provides @code{cadvisor}, which provides
2375 information about the resource usage and performance characteristics of running
2376 containers.")
2377 (license license:asl2.0))))
2378
2379 (define-public go-github-com-google-gofuzz
2380 (let ((commit "fd52762d25a41827db7ef64c43756fd4b9f7e382")
2381 (revision "0"))
2382 (package
2383 (name "go-github-com-google-gofuzz")
2384 (version (git-version "0.0.0" revision commit))
2385 (source
2386 (origin
2387 (method git-fetch)
2388 (uri (git-reference
2389 (url "https://github.com/google/gofuzz")
2390 (commit commit)))
2391 (file-name (git-file-name name version))
2392 (sha256
2393 (base32
2394 "1yxmmr73h0lq7ryf3q9a7pcm2x5xrg4d5bxkq8n5pxwxwyq26kw8"))))
2395 (build-system go-build-system)
2396 (arguments
2397 '(#:import-path "github.com/google/gofuzz"))
2398 (home-page "https://github.com/google/gofuzz")
2399 (synopsis "Fuzz testing library for Go")
2400 (description "Gofuzz is a library for populationg Go objects with random
2401 values for the purpose of fuzz testing.")
2402 (license license:asl2.0))))
2403
2404 (define-public go-github-com-gorilla-css
2405 (package
2406 (name "go-github-com-gorilla-css")
2407 (version "1.0.0")
2408 (source (origin
2409 (method git-fetch)
2410 (uri (git-reference
2411 (url "https://github.com/gorilla/css")
2412 (commit (string-append "v" version))))
2413 (file-name (git-file-name name version))
2414 (sha256
2415 (base32
2416 "116fhy3n7bsq3psyn4pa0i4x9zy916kh1zxslmbbp0p9l4i7ysrj"))))
2417 (build-system go-build-system)
2418 (arguments
2419 `(#:import-path "github.com/gorilla/css/scanner"
2420 #:unpack-path "github.com/gorilla/css"))
2421 (home-page "https://github.com/gorilla/css/")
2422 (synopsis "CSS3 tokenizer")
2423 (description "This package provides a CSS3 tokenizer.")
2424 (license license:bsd-3)))
2425
2426 (define-public go-github-com-gorilla-context
2427 (let ((commit "08b5f424b9271eedf6f9f0ce86cb9396ed337a42")
2428 (revision "0"))
2429 (package
2430 (name "go-github-com-gorilla-context")
2431 (version (git-version "0.0.0" revision commit))
2432 (source
2433 (origin
2434 (method git-fetch)
2435 (uri (git-reference
2436 (url "https://github.com/gorilla/context")
2437 (commit commit)))
2438 (file-name (git-file-name name version))
2439 (sha256
2440 (base32
2441 "03p4hn87vcmfih0p9w663qbx9lpsf7i7j3lc7yl7n84la3yz63m4"))))
2442 (build-system go-build-system)
2443 (arguments
2444 '(#:import-path "github.com/gorilla/context"))
2445 (home-page "https://github.com/gorilla/context")
2446 (synopsis "Go registry for request variables")
2447 (description "This package provides @code{gorilla/context}, which is a general purpose registry for global request variables in the Go programming language.")
2448 (license license:bsd-3))))
2449
2450 (define-public go-github-com-gorilla-mux
2451 (package
2452 (name "go-github-com-gorilla-mux")
2453 (version "1.8.0")
2454 (source
2455 (origin
2456 (method git-fetch)
2457 (uri (git-reference
2458 (url "https://github.com/gorilla/mux")
2459 (commit (string-append "v" version))))
2460 (file-name (git-file-name name version))
2461 (sha256
2462 (base32
2463 "18f0q9qxgq1yh4ji07mqhiydfcwvi56z9d775v7dc7yckj33kpdk"))))
2464 (build-system go-build-system)
2465 (arguments
2466 '(#:import-path "github.com/gorilla/mux"))
2467 (home-page "https://github.com/gorilla/mux")
2468 (synopsis "URL router and dispatcher for Go")
2469 (description
2470 "Gorilla/Mux implements a request router and dispatcher for matching
2471 incoming requests with their respective handler.")
2472 (license license:bsd-3)))
2473
2474 (define-public go-github-com-gorilla-handlers
2475 (package
2476 (name "go-github-com-gorilla-handlers")
2477 (version "1.5.1")
2478 (source
2479 (origin
2480 (method git-fetch)
2481 (uri (git-reference
2482 (url "https://github.com/gorilla/handlers")
2483 (commit (string-append "v" version))))
2484 (file-name (git-file-name name version))
2485 (sha256
2486 (base32
2487 "15gycdz9lkjnsvvichsbdf25vf6pi1sfn41khhz53iqf300l0w0s"))))
2488 (build-system go-build-system)
2489 (propagated-inputs
2490 `(("github.com/felixge/httpsnoop" ,go-github-com-felixge-httpsnoop)))
2491 (arguments
2492 '(#:tests? #f ; Tries to download from the internet
2493 #:import-path "github.com/gorilla/handlers"))
2494 (home-page "https://github.com/gorilla/handlers")
2495 (synopsis "Middleware for Go HTTP services and web applications")
2496 (description "A collection of useful middleware for Go HTTP services
2497 and web applications.")
2498 (license license:bsd-3)))
2499
2500 (define-public go-github-com-gorilla-securecookie
2501 (package
2502 (name "go-github-com-gorilla-securecookie")
2503 (version "1.1.1")
2504 (source
2505 (origin
2506 (method git-fetch)
2507 (uri (git-reference
2508 (url "https://github.com/gorilla/securecookie")
2509 (commit (string-append "v" version))))
2510 (file-name (git-file-name name version))
2511 (sha256
2512 (base32
2513 "16bqimpxs9vj5n59vm04y04v665l7jh0sddxn787pfafyxcmh410"))))
2514 (build-system go-build-system)
2515 (arguments
2516 '(#:import-path "github.com/gorilla/securecookie"))
2517 (home-page "https://github.com/gorilla/securecookie")
2518 (synopsis "Encodes and decodes authenticated and optionally encrypted
2519 cookie values")
2520 (description
2521 "Gorilla/securecookie encodes and decodes authenticated and optionally
2522 encrypted cookie values for Go web applications.")
2523 (license license:bsd-3)))
2524
2525 (define-public go-github-com-gorilla-csrf
2526 (package
2527 (name "go-github-com-gorilla-csrf")
2528 (version "1.7.0")
2529 (source
2530 (origin
2531 (method git-fetch)
2532 (uri (git-reference
2533 (url "https://github.com/gorilla/csrf")
2534 (commit (string-append "v" version))))
2535 (file-name (git-file-name name version))
2536 (sha256
2537 (base32
2538 "0iryq0z48yi7crfbd8jxyn7lh1gsglpiglvjgnf23bz6xfisssav"))))
2539 (build-system go-build-system)
2540 (propagated-inputs
2541 `(("github.com/gorilla/securecookie" ,go-github-com-gorilla-securecookie)
2542 ("github.com/pkg/errors" ,go-github-com-pkg-errors)))
2543 (arguments
2544 '(#:import-path "github.com/gorilla/csrf"))
2545 (home-page "https://github.com/gorilla/csrf")
2546 (synopsis "Cross Site Request Forgery (CSRF) prevention middleware")
2547 (description
2548 "Gorilla/csrf provides Cross Site Request Forgery (CSRF) prevention
2549 middleware for Go web applications and services.")
2550 (license license:bsd-3)))
2551
2552 (define-public go-github-com-jonboulle-clockwork
2553 (let ((commit "e3653ace2d63753697e0e5b07b9393971c0bba9d")
2554 (revision "0"))
2555 (package
2556 (name "go-github-com-jonboulle-clockwork")
2557 (version (git-version "0.0.0" revision commit))
2558 (source
2559 (origin
2560 (method git-fetch)
2561 (uri (git-reference
2562 (url "https://github.com/jonboulle/clockwork")
2563 (commit commit)))
2564 (file-name (git-file-name name version))
2565 (sha256
2566 (base32
2567 "1avzqhks12a8x2yzpvjsf3k0gv9cy7zx2z88hn0scacnxkphisvc"))))
2568 (build-system go-build-system)
2569 (arguments
2570 '(#:import-path "github.com/jonboulle/clockwork"))
2571 (home-page "https://github.com/jonboulle/clockwork")
2572 (synopsis "Fake clock library for Go")
2573 (description
2574 "Replace uses of the @code{time} package with the
2575 @code{clockwork.Clock} interface instead.")
2576 (license license:asl2.0))))
2577
2578 (define-public go-github-com-spf13-afero
2579 (package
2580 (name "go-github-com-spf13-afero")
2581 (version "1.2.2")
2582 (source
2583 (origin
2584 (method git-fetch)
2585 (uri (git-reference
2586 (url "https://github.com/spf13/afero")
2587 (commit (string-append "v" version))))
2588 (file-name (git-file-name name version))
2589 (sha256
2590 (base32
2591 "0j9r65qgd58324m85lkl49vk9dgwd62g7dwvkfcm3k6i9dc555a9"))))
2592 (build-system go-build-system)
2593 (arguments
2594 `(#:import-path "github.com/spf13/afero"))
2595 (propagated-inputs
2596 `(("golang.org/x/text" ,go-golang-org-x-text)))
2597 (home-page "https://github.com/spf13/afero")
2598 (synopsis "File system abstraction for Go")
2599 (description
2600 "This package provides a file system abstraction for Go.")
2601 (license license:asl2.0)))
2602
2603 (define-public go-github-com-spf13-cast
2604 (package
2605 (name "go-github-com-spf13-cast")
2606 (version "1.3.1")
2607 (source
2608 (origin
2609 (method git-fetch)
2610 (uri (git-reference
2611 (url "https://github.com/spf13/cast")
2612 (commit (string-append "v" version))))
2613 (file-name (git-file-name name version))
2614 (sha256
2615 (base32
2616 "0lb84788glr0qzrq2ifi36rgvp96qrgywvxrr3ggq5hrbr38hgn1"))))
2617 (build-system go-build-system)
2618 (arguments
2619 `(#:import-path "github.com/spf13/cast"))
2620 (native-inputs
2621 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
2622 (home-page "https://github.com/spf13/cast")
2623 (synopsis "Safe and easy casting from one type to another in Go")
2624 (description "Safe and easy casting from one type to another in Go")
2625 (license license:expat)))
2626
2627 (define-public go-github-com-spf13-cobra
2628 (package
2629 (name "go-github-com-spf13-cobra")
2630 (version "1.0.0")
2631 (source
2632 (origin
2633 (method git-fetch)
2634 (uri (git-reference
2635 (url "https://github.com/spf13/cobra")
2636 (commit (string-append "v" version))))
2637 (file-name (git-file-name name version))
2638 (sha256
2639 (base32
2640 "0vbppqqhby302a5ayn0296jqr71qkcd4c9am7wzsk6z71fwdsa7h"))))
2641 (build-system go-build-system)
2642 (arguments
2643 `(#:import-path "github.com/spf13/cobra"))
2644 (propagated-inputs
2645 `(("github.com/spf13/pflag" ,go-github-com-spf13-pflag)))
2646 (home-page "https://github.com/spf13/cobra")
2647 (synopsis "Go library for creating CLI applications")
2648 (description "Cobra is both a library for creating powerful modern CLI
2649 applications as well as a program to generate applications and command files.")
2650 (license license:asl2.0)))
2651
2652 (define-public go-github-com-spf13-jwalterweatherman
2653 (package
2654 (name "go-github-com-spf13-jwalterweatherman")
2655 (version "1.1.0")
2656 (source
2657 (origin
2658 (method git-fetch)
2659 (uri (git-reference
2660 (url "https://github.com/spf13/jwalterweatherman")
2661 (commit (string-append "v" version))))
2662 (file-name (git-file-name name version))
2663 (sha256
2664 (base32
2665 "1ywmkwci5zyd88ijym6f30fj5c0k2yayxarkmnazf5ybljv50q7b"))))
2666 (build-system go-build-system)
2667 (arguments
2668 `(#:import-path "github.com/spf13/jwalterweatherman"))
2669 (native-inputs
2670 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
2671 (home-page "https://github.com/spf13/jwalterweatherman")
2672 (synopsis "Go logging library")
2673 (description "Go logging library")
2674 (license license:expat)))
2675
2676 (define-public go-github-com-spf13-pflag
2677 (package
2678 (name "go-github-com-spf13-pflag")
2679 (version "1.0.5")
2680 (source
2681 (origin
2682 (method git-fetch)
2683 (uri (git-reference
2684 (url "https://github.com/spf13/pflag")
2685 (commit (string-append "v" version))))
2686 (file-name (git-file-name name version))
2687 (sha256
2688 (base32
2689 "0gpmacngd0gpslnbkzi263f5ishigzgh6pbdv9hp092rnjl4nd31"))))
2690 (build-system go-build-system)
2691 (arguments
2692 '(#:import-path "github.com/spf13/pflag"))
2693 (home-page "https://github.com/spf13/pflag")
2694 (synopsis "Replacement for Go's @code{flag} package")
2695 (description
2696 "Pflag is library to replace Go's @code{flag} package. It implements
2697 POSIX/GNU-style command-line options with double hyphens. It is is compatible
2698 with the
2699 @uref{https://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html,
2700 GNU extensions} to the POSIX recommendations for command-line options.")
2701 (license license:bsd-3)))
2702
2703 (define-public go-github-com-spf13-viper
2704 (package
2705 (name "go-github-com-spf13-viper")
2706 (version "1.7.0")
2707 (source
2708 (origin
2709 (method git-fetch)
2710 (uri (git-reference
2711 (url "https://github.com/spf13/viper")
2712 (commit (string-append "v" version))))
2713 (file-name (git-file-name name version))
2714 (sha256
2715 (base32
2716 "099n2g7fg6r8hqyszqw2axr775qyhyvwhsykvgw0f0s16ql48h5c"))))
2717 (build-system go-build-system)
2718 (arguments
2719 '(#:import-path "github.com/spf13/viper"))
2720 (propagated-inputs
2721 `(("github.com/spf13/afero" ,go-github-com-spf13-afero)
2722 ("github.com/spf13/cast" ,go-github-com-spf13-cast)
2723 ("github.com/spf13/pflag" ,go-github-com-spf13-pflag)
2724 ("github.com/spf13/jwalterweatherman" ,go-github-com-spf13-jwalterweatherman)
2725 ("github.com/fsnotify/fsnotify" ,go-github-com-fsnotify-fsnotify)
2726 ("github.com/hashicorp/hcl" ,go-github-com-hashicorp-hcl)
2727 ("github.com/magiconair/properties" ,go-github-com-magiconair-properties)
2728 ("github.com/mitchellh/mapstructure" ,go-github-com-mitchellh-mapstructure)
2729 ("github.com/pelletier/go-toml" ,go-github-com-pelletier-go-toml)
2730 ("github.com/subosito/gotenv" ,go-github-com-subosito-gotenv)
2731
2732 ("gopkg.in/ini.v1" ,go-gopkg-in-ini-v1)
2733 ("gopkg.in/yaml.v2" ,go-gopkg-in-yaml-v2)))
2734 (native-inputs
2735 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
2736 (home-page "https://github.com/spf13/viper")
2737 (synopsis "Go configuration with fangs")
2738 (description
2739 "Viper is a complete configuration solution for Go applications including
2740 12-Factor apps. It is designed to work within an application, and can handle
2741 all types of configuration needs and formats.")
2742 (license license:expat)))
2743
2744 (define-public go-github-com-felixge-httpsnoop
2745 (package
2746 (name "go-github-com-felixge-httpsnoop")
2747 (version "1.0.1")
2748 (source
2749 (origin
2750 (method git-fetch)
2751 (uri (git-reference
2752 (url "https://github.com/felixge/httpsnoop")
2753 (commit (string-append "v" version))))
2754 (file-name (git-file-name name version))
2755 (sha256
2756 (base32
2757 "0ncd8lar5zxiwjhsp315s4hsl4bhnm271h49jhyxc66r5yffgmac"))))
2758 (build-system go-build-system)
2759 (arguments
2760 '(#:import-path "github.com/felixge/httpsnoop"))
2761 (home-page "https://github.com/felixge/httpsnoop/")
2762 (synopsis "Capture http related metrics")
2763 (description
2764 "Httpsnoop provides an easy way to capture http related
2765 metrics (i.e. response time, bytes written, and http status code) from your
2766 application's http.Handlers.")
2767 (license license:expat)))
2768
2769 (define-public go-github-com-fsnotify-fsnotify
2770 (package
2771 (name "go-github-com-fsnotify-fsnotify")
2772 (version "1.4.9")
2773 (source
2774 (origin
2775 (method git-fetch)
2776 (uri (git-reference
2777 (url "https://github.com/fsnotify/fsnotify")
2778 (commit (string-append "v" version))))
2779 (file-name (git-file-name name version))
2780 (sha256
2781 (base32
2782 "1i1r72knpbfwwql9frn9bqc3nhfc2ai5m6qllcyr6wban62lr40x"))))
2783 (build-system go-build-system)
2784 (arguments
2785 `(#:import-path "github.com/fsnotify/fsnotify"))
2786 (propagated-inputs
2787 `(("golang.org/x/sys" ,go-golang-org-x-sys)))
2788 (home-page "https://github.com/fsnotify/fsnotify")
2789 (synopsis "File system notifications for Go")
2790 (description "File system notifications for Go")
2791 (license license:bsd-3)))
2792
2793 (define-public go-github-com-magiconair-properties
2794 (package
2795 (name "go-github-com-magiconair-properties")
2796 (version "1.8.4")
2797 (source
2798 (origin
2799 (method git-fetch)
2800 (uri (git-reference
2801 (url "https://github.com/magiconair/properties")
2802 (commit (string-append "v" version))))
2803 (file-name (git-file-name name version))
2804 (sha256
2805 (base32
2806 "0q7d55z0v8y55dyy8nhgdnswf5zkgj3i87irbk294nvzhx01bnxd"))))
2807 (build-system go-build-system)
2808 (arguments
2809 `(#:import-path "github.com/magiconair/properties"))
2810 (home-page "https://github.com/magiconair/properties")
2811 (synopsis "Java properties scanner for Go")
2812 (description "Java properties scanner for Go")
2813 (license license:bsd-2)))
2814
2815 (define-public go-github-com-pelletier-go-toml
2816 (package
2817 (name "go-github-com-pelletier-go-toml")
2818 (version "1.8.0")
2819 (source
2820 (origin
2821 (method git-fetch)
2822 (uri (git-reference
2823 (url "https://github.com/pelletier/go-toml")
2824 (commit (string-append "v" version))))
2825 (file-name (git-file-name name version))
2826 (sha256
2827 (base32
2828 "0fxmjm85c9h43lvqz71wr93fcc63bhj82nwby80222xx8ja63g7y"))))
2829 (build-system go-build-system)
2830 (arguments
2831 `(#:import-path "github.com/pelletier/go-toml"))
2832 (native-inputs
2833 `(("github.com/BurntSushi/toml" ,go-github-com-burntsushi-toml)
2834 ("github.com/davecgh/go-spew" ,go-github-com-davecgh-go-spew)
2835 ("gopkg.in/yaml.v2" ,go-gopkg-in-yaml-v2)))
2836 (home-page "https://github.com/pelletier/go-toml")
2837 (synopsis "Go library for the TOML configuration language")
2838 (description "Go library for the TOML configuration language")
2839 (license license:expat)))
2840
2841 (define-public go-github-com-subosito-gotenv
2842 (package
2843 (name "go-github-com-subosito-gotenv")
2844 (version "1.2.0")
2845 (source
2846 (origin
2847 (method git-fetch)
2848 (uri (git-reference
2849 (url "https://github.com/subosito/gotenv")
2850 (commit (string-append "v" version))))
2851 (file-name (git-file-name name version))
2852 (sha256
2853 (base32
2854 "0mav91j7r4arjkpq5zcf9j74f6pww8ic53x43wy7kg3ibw31yjs5"))))
2855 (build-system go-build-system)
2856 (arguments
2857 `(#:import-path "github.com/subosito/gotenv"))
2858 (native-inputs
2859 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
2860 (home-page "https://github.com/subosito/gotenv")
2861 (synopsis "Go library for loading environment variables from files")
2862 (description "Go library for loading environment variables from files")
2863 (license license:expat)))
2864
2865 (define-public go-github-com-sirupsen-logrus
2866 (package
2867 (name "go-github-com-sirupsen-logrus")
2868 (version "1.8.1")
2869 (source
2870 (origin
2871 (method git-fetch)
2872 (uri (git-reference
2873 (url "https://github.com/sirupsen/logrus")
2874 (commit (string-append "v" version))))
2875 (file-name (git-file-name name version))
2876 (sha256
2877 (base32
2878 "0rvqzic2zz7fpxyizmqxwmhv1m52ii9bgxnqa6km8wsa0l08wh42"))))
2879 (build-system go-build-system)
2880 (propagated-inputs
2881 `(("go-github-com-davecgh-go-spew" ,go-github-com-davecgh-go-spew)
2882 ("go-github-com-pmezard-go-difflib" ,go-github-com-pmezard-go-difflib)
2883 ("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)
2884 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
2885 ("go-golang-org-x-sys" ,go-golang-org-x-sys)))
2886 (arguments
2887 '(#:import-path "github.com/sirupsen/logrus"))
2888 (home-page "https://github.com/sirupsen/logrus")
2889 (synopsis "Structured, pluggable logging for Go")
2890 (description "Logrus is a structured logger for Go, completely API
2891 compatible with the standard library logger.")
2892 (license license:expat)))
2893
2894 (define-public go-github-com-rifflock-lfshook
2895 (package
2896 (name "go-github-com-rifflock-lfshook")
2897 (version "2.4")
2898 (source (origin
2899 (method git-fetch)
2900 (uri (git-reference
2901 (url "https://github.com/rifflock/lfshook")
2902 (commit (string-append "v" version))))
2903 (file-name (git-file-name name version))
2904 (sha256
2905 (base32
2906 "0wxqjcjfg8c0klmdgmbw3ckagby3wg9rkga9ihd4fsf05x5scxrc"))))
2907 (build-system go-build-system)
2908 (arguments
2909 `(#:import-path "github.com/rifflock/lfshook"))
2910 (propagated-inputs
2911 `(("go-github-com-sirupsen-logrus" ,go-github-com-sirupsen-logrus)))
2912 (home-page "https://github.com/rifflock/lfshook")
2913 (synopsis "Local File System hook for Logrus logger")
2914 (description "This package provides a hook for Logrus to write directly to
2915 a file on the file system. The log levels are dynamic at instantiation of the
2916 hook, so it is capable of logging at some or all levels.")
2917 (license license:expat)))
2918
2919 (define-public go-github-com-kardianos-osext
2920 (let ((commit "ae77be60afb1dcacde03767a8c37337fad28ac14")
2921 (revision "1"))
2922 (package
2923 (name "go-github-com-kardianos-osext")
2924 (version (git-version "0.0.0" revision commit))
2925 (source (origin
2926 (method git-fetch)
2927 (uri (git-reference
2928 (url "https://github.com/kardianos/osext")
2929 (commit commit)))
2930 (file-name (git-file-name name version))
2931 (sha256
2932 (base32
2933 "056dkgxrqjj5r18bnc3knlpgdz5p3yvp12y4y978hnsfhwaqvbjz"))))
2934 (build-system go-build-system)
2935 (arguments
2936 `(#:import-path "github.com/kardianos/osext"
2937 ;; The tests are flaky:
2938 ;; <https://github.com/kardianos/osext/issues/21>
2939 #:tests? #f))
2940 (synopsis "Find the running executable")
2941 (description "Osext provides a method for finding the current executable
2942 file that is running. This can be used for upgrading the current executable or
2943 finding resources located relative to the executable file.")
2944 (home-page "https://github.com/kardianos/osext")
2945 (license license:bsd-3))))
2946
2947 (define-public go-github-com-ayufan-golang-kardianos-service
2948 (let ((commit "0c8eb6d8fff2e2fb884a7bfd23e183fb63c0eff3")
2949 (revision "0"))
2950 (package
2951 (name "go-github-com-ayufan-golang-kardianos-service")
2952 (version (git-version "0.0.0" revision commit))
2953 (source
2954 (origin
2955 (method git-fetch)
2956 (uri (git-reference
2957 (url
2958 "https://github.com/ayufan/golang-kardianos-service")
2959 (commit commit)))
2960 (file-name (git-file-name name version))
2961 (sha256
2962 (base32
2963 "0x0cn7l5gda2khsfypix7adxd5yqighzn04mxjw6hc4ayrh7his5"))))
2964 (build-system go-build-system)
2965 (native-inputs
2966 `(("go-github-com-kardianos-osext"
2967 ,go-github-com-kardianos-osext)))
2968 (arguments
2969 '(#:tests? #f ;FIXME tests fail: Service is not running.
2970 #:import-path "github.com/ayufan/golang-kardianos-service"))
2971 (home-page "https://github.com/ayufan/golang-kardianos-service")
2972 (synopsis "Go interface to a variety of service supervisors")
2973 (description "This package provides @code{service}, a Go module that can
2974 run programs as a service using a variety of supervisors, including systemd,
2975 SysVinit, and more.")
2976 (license license:zlib))))
2977
2978 (define-public go-github-com-docker-distribution
2979 (let ((commit "325b0804fef3a66309d962357aac3c2ce3f4d329")
2980 (revision "0"))
2981 (package
2982 (name "go-github-com-docker-distribution")
2983 (version (git-version "0.0.0" revision commit))
2984 (source
2985 ;; FIXME: This bundles many things, see
2986 ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31881#41>.
2987 (origin
2988 (method git-fetch)
2989 (uri (git-reference
2990 (url "https://github.com/docker/distribution")
2991 (commit commit)))
2992 (file-name (git-file-name name version))
2993 (sha256
2994 (base32
2995 "1yg2zrikn3vkvkx5mn51p6bfjk840qdkn7ahhhvvcsc8mpigrjc6"))))
2996 (build-system go-build-system)
2997 (native-inputs
2998 `(("go-golang-org-x-sys" ,go-golang-org-x-sys)
2999 ("go-github-com-sirupsen-logrus"
3000 ,go-github-com-sirupsen-logrus)
3001 ("go-golang-org-x-crypto"
3002 ,go-golang-org-x-crypto)))
3003 (arguments
3004 '(#:import-path "github.com/docker/distribution"
3005 #:phases
3006 (modify-phases %standard-phases
3007 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
3008 (lambda* (#:key outputs #:allow-other-keys)
3009 (map (lambda (file)
3010 (make-file-writable file))
3011 (find-files
3012 (assoc-ref outputs "out")
3013 ".*\\.gz$"))
3014 #t)))))
3015 (home-page
3016 "https://github.com/docker/distribution")
3017 (synopsis "This package is a Docker toolset to pack, ship, store, and
3018 deliver content")
3019 (description "Docker Distribution is a Docker toolset to pack, ship,
3020 store, and deliver content. It contains Docker Registry 2.0 and libraries
3021 to interact with distribution components.")
3022 (license license:asl2.0))))
3023
3024 (define-public go-github-com-docker-go-connections
3025 (let ((commit "3ede32e2033de7505e6500d6c868c2b9ed9f169d")
3026 (revision "0"))
3027 (package
3028 (name "go-github-com-docker-go-connections")
3029 (version (git-version "0.0.0" revision commit))
3030 (source
3031 (origin
3032 (method git-fetch)
3033 (uri (git-reference
3034 (url "https://github.com/docker/go-connections")
3035 (commit commit)))
3036 (file-name (git-file-name name version))
3037 (sha256
3038 (base32
3039 "0v1pkr8apwmhyzbjfriwdrs1ihlk6pw7izm57r24mf9jdmg3fyb0"))))
3040 (build-system go-build-system)
3041 (arguments
3042 '(#:import-path "github.com/docker/go-connections"))
3043 (home-page "https://github.com/docker/go-connections")
3044 (synopsis "Networking library for Go")
3045 (description
3046 "This package provides a library to work with network connections in
3047 the Go language. In particular it provides tools to deal with network address
3048 translation (NAT), proxies, sockets, and transport layer security (TLS).")
3049 (license license:asl2.0))))
3050
3051 (define-public go-github-com-docker-machine
3052 (let ((commit "7b7a141da84480342357c51838be142bf183b095")
3053 (revision "0"))
3054 (package
3055 (name "go-github-com-docker-machine")
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/docker/machine")
3062 (commit commit)))
3063 (file-name (git-file-name name version))
3064 (sha256
3065 (base32
3066 "0bavk0lvs462yh0lnmnxi9psi5qv1x3nvzmd2b0drsahlp1gxi8s"))))
3067 (build-system go-build-system)
3068 (arguments
3069 '(#:import-path "github.com/docker/machine"))
3070 (home-page "https://github.com/docker/machine")
3071 (synopsis "Machine management for a container-centric world")
3072 (description
3073 "@dfn{Machine} lets you create Docker hosts on your computer, on
3074 hosting providers, and inside your data center. It creates servers, installs
3075 Docker on them, then configures the Docker client to talk to them.")
3076 (license license:asl2.0))))
3077
3078 (define-public go-github-com-gorhill-cronexpr
3079 (let ((commit "f0984319b44273e83de132089ae42b1810f4933b")
3080 (revision "0"))
3081 (package
3082 (name "go-github-com-gorhill-cronexpr")
3083 (version (git-version "0.0.0" revision commit))
3084 (source
3085 (origin
3086 (method git-fetch)
3087 (uri (git-reference
3088 (url "https://github.com/gorhill/cronexpr")
3089 (commit commit)))
3090 (file-name (git-file-name name version))
3091 (sha256
3092 (base32
3093 "0dphhhqy3i7265znv3m8n57l80dmaq6z4hsj5kgd87qd19z8x0l2"))))
3094 (build-system go-build-system)
3095 (arguments
3096 '(#:import-path "github.com/gorhill/cronexpr"))
3097 (home-page "https://github.com/gorhill/cronexpr")
3098 (synopsis "Cron expression parser in the Go language")
3099 (description
3100 "This package provides a cron expression parser in the Go language.
3101 Given a cron expression and a time stamp, you can get the next time stamp
3102 which satisfies the cron expression.")
3103 (license (list license:gpl3+
3104 license:asl2.0)))))
3105
3106 (define-public go-gopkg-in-check-v1
3107 (let ((commit "788fd78401277ebd861206a03c884797c6ec5541")
3108 (revision "1"))
3109 (package
3110 (name "go-gopkg-in-check-v1")
3111 (version (git-version "1.0.0" revision commit))
3112 (source
3113 (origin
3114 (method git-fetch)
3115 (uri (git-reference
3116 (url "https://github.com/go-check/check")
3117 (commit commit)))
3118 (file-name (git-file-name name version))
3119 (sha256
3120 (base32
3121 "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a"))))
3122 (build-system go-build-system)
3123 (arguments
3124 '(#:import-path "gopkg.in/check.v1"))
3125 (propagated-inputs
3126 `(("go-github-com-kr-pretty" ,go-github-com-kr-pretty)))
3127 (home-page "https://gopkg.in/check.v1")
3128 (synopsis "Test framework for the Go language")
3129 (description "This package provides a test library for the Go language.")
3130 (license license:asl2.0))))
3131
3132 (define-public go-gopkg-in-ini-v1
3133 (package
3134 (name "go-gopkg-in-ini-v1")
3135 (version "1.56.0")
3136 (source
3137 (origin
3138 (method git-fetch)
3139 (uri (git-reference
3140 (url "https://github.com/go-ini/ini")
3141 (commit (string-append "v" version))))
3142 (file-name (git-file-name name version))
3143 (sha256
3144 (base32
3145 "0j5z0cngg6mq2f9id083jcdi7k6r2h35714pashv6sdv2q7bmfc5"))))
3146 (build-system go-build-system)
3147 (arguments
3148 '(#:import-path "gopkg.in/ini.v1"
3149 ;; Requires large unpackaged test framework
3150 #:tests? #f))
3151 (home-page "https://gopkg.in/ini.v1")
3152 (synopsis "Go library for ini files")
3153 (description "Go library for ini files")
3154 (license license:asl2.0)))
3155
3156 (define-public go-gopkg-in-yaml-v2
3157 (package
3158 (name "go-gopkg-in-yaml-v2")
3159 (version "2.2.2")
3160 (source
3161 (origin
3162 (method git-fetch)
3163 (uri (git-reference
3164 (url "https://gopkg.in/yaml.v2.git")
3165 (commit (string-append "v" version))))
3166 (file-name (git-file-name name version))
3167 (sha256
3168 (base32
3169 "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa"))))
3170 (build-system go-build-system)
3171 (arguments
3172 '(#:import-path "gopkg.in/yaml.v2"))
3173 (native-inputs
3174 `(("go-gopkg-in-check-v1" ,go-gopkg-in-check-v1)))
3175 (home-page "https://gopkg.in/yaml.v2")
3176 (synopsis "YAML reader and writer for the Go language")
3177 (description
3178 "This package provides a Go library for encode and decode YAML
3179 values.")
3180 (license license:asl2.0)))
3181
3182 (define-public go-gopkg-in-yaml-v3
3183 (package
3184 (name "go-gopkg-in-yaml-v3")
3185 (version "3")
3186 (source
3187 (origin
3188 (method git-fetch)
3189 (uri (git-reference
3190 (url "https://gopkg.in/yaml.v3")
3191 (commit (string-append "v" version))))
3192 (file-name (git-file-name name version))
3193 (sha256
3194 (base32 "06f4lnrp494wqaygv09dggr2dwf3z2bawqhnlnnwiamg5y787k4g"))))
3195 (build-system go-build-system)
3196 (arguments
3197 '(#:import-path "gopkg.in/yaml.v3"))
3198 (native-inputs
3199 `(("go-gopkg-in-check-v1" ,go-gopkg-in-check-v1)))
3200 (home-page "https://gopkg.in/yaml.v3")
3201 (synopsis "YAML reader and writer for the Go language")
3202 (description
3203 "This package provides a Go library for encode and decode YAML values.
3204 The yaml package supports most of YAML 1.2, but preserves some behavior from
3205 1.1 for backwards compatibility.")
3206 (license license:asl2.0)))
3207
3208 (define-public go-github-com-mattn-go-isatty
3209 (package
3210 (name "go-github-com-mattn-go-isatty")
3211 (version "0.0.11")
3212 (source
3213 (origin
3214 (method git-fetch)
3215 (uri (git-reference
3216 (url "https://github.com/mattn/go-isatty")
3217 (commit (string-append "v" version))))
3218 (file-name (git-file-name name version))
3219 (sha256
3220 (base32
3221 "0h671sv7hfprja495kavazkalkx7xzaqksjh13brcnwq67ijrali"))))
3222 (build-system go-build-system)
3223 (propagated-inputs
3224 `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
3225 (arguments
3226 '(#:import-path "github.com/mattn/go-isatty"))
3227 (home-page "https://github.com/mattn/go-isatty")
3228 (synopsis "Provide @code{isatty} for Golang")
3229 (description "This package provides @code{isatty}, a Go module that can
3230 tell you whether a file descriptor points to a terminal and the type of the
3231 terminal.")
3232 (license license:expat)))
3233
3234 (define-public go-github-com-mattn-go-colorable
3235 (package
3236 (name "go-github-com-mattn-go-colorable")
3237 (version "0.1.8")
3238 (home-page "https://github.com/mattn/go-colorable")
3239 (source
3240 (origin
3241 (method git-fetch)
3242 (uri (git-reference
3243 (url home-page)
3244 (commit (string-append "v" version))))
3245 (file-name (git-file-name name version))
3246 (sha256
3247 (base32
3248 "0q34zqwbnls72md8q8mhj368s7p3i4xspvs3rk8fs76s0pn7dr2l"))))
3249 (build-system go-build-system)
3250 (native-inputs
3251 `(("go-github-com-mattn-go-isatty"
3252 ,go-github-com-mattn-go-isatty)))
3253 (arguments
3254 '(#:import-path "github.com/mattn/go-colorable"))
3255 (synopsis "Handle ANSI color escapes on Windows")
3256 (description "This package provides @code{colorable}, a module that
3257 makes it possible to handle ANSI color escapes on Windows.")
3258 (license license:expat)))
3259
3260 (define-public go-github-com-mattn-go-pointer
3261 (let ((commit "a0a44394634f41e4992b173b24f14fecd3318a67")
3262 (revision "1"))
3263 (package
3264 (name "go-github-com-mattn-go-pointer")
3265 (version (git-version "0.0.0" revision commit))
3266 (source
3267 (origin
3268 (method git-fetch)
3269 (uri (git-reference
3270 (url "https://github.com/mattn/go-pointer")
3271 (commit commit)))
3272 (sha256
3273 (base32
3274 "09w7hcyc0zz2g23vld6jbcmq4ar27xakp1ldjvh549i5izf2anhz"))
3275 (file-name (git-file-name name version))))
3276 (build-system go-build-system)
3277 (arguments
3278 '(#:import-path "github.com/mattn/go-pointer"))
3279 (home-page "https://github.com/mattn/go-pointer")
3280 (synopsis "Utility for cgo")
3281 (description
3282 "This package allows for a cgo argument to be passed a Go pointer.")
3283 (license license:expat))))
3284
3285 (define-public go-github-com-mgutz-ansi
3286 (let ((commit "9520e82c474b0a04dd04f8a40959027271bab992")
3287 (revision "0"))
3288 (package
3289 (name "go-github-com-mgutz-ansi")
3290 (version (git-version "0.0.0" revision commit))
3291 (source
3292 (origin
3293 (method git-fetch)
3294 (uri (git-reference
3295 (url
3296 "https://github.com/mgutz/ansi")
3297 (commit commit)))
3298 (file-name (git-file-name name version))
3299 (sha256
3300 (base32
3301 "00bz22314j26736w1f0q4jy9d9dfaml17vn890n5zqy3cmvmww1j"))))
3302 (build-system go-build-system)
3303 (native-inputs
3304 `(("go-github-com-mattn-go-isatty"
3305 ,go-github-com-mattn-go-isatty)
3306 ("go-github-com-mattn-go-colorable"
3307 ,go-github-com-mattn-go-colorable)))
3308 (arguments
3309 '(#:import-path "github.com/mgutz/ansi"))
3310 (home-page "https://github.com/mgutz/ansi")
3311 (synopsis "Small, fast library to create ANSI colored strings and codes")
3312 (description "This package provides @code{ansi}, a Go module that can
3313 generate ANSI colored strings.")
3314 (license license:expat))))
3315
3316 (define-public go-github-com-aarzilli-golua
3317 (let ((commit "03fc4642d792b1f2bc5e7343b403cf490f8c501d")
3318 (revision "0"))
3319 (package
3320 (name "go-github-com-aarzilli-golua")
3321 (version (git-version "0.0.0" revision commit))
3322 (source
3323 (origin
3324 (method git-fetch)
3325 (uri (git-reference
3326 (url
3327 "https://github.com/aarzilli/golua")
3328 (commit commit)))
3329 (file-name (git-file-name name version))
3330 (sha256
3331 (base32
3332 "1d9hr29i36cza98afj3g6rs3l7xbkprwzz0blcxsr9dd7nak20di"))))
3333 (build-system go-build-system)
3334 ;; From go-1.10 onward, "pkg" compiled libraries are not re-used, so
3335 ;; when this package required as input for another one, it will have to
3336 ;; be built again. Thus its CGO requirements must be made available in
3337 ;; the environment, that is, they must be propagated.
3338 (propagated-inputs
3339 `(("lua" ,lua)))
3340 (arguments
3341 `(#:unpack-path "github.com/aarzilli/golua"
3342 #:import-path "github.com/aarzilli/golua/lua"
3343 #:phases
3344 (modify-phases %standard-phases
3345 ;; While it's possible to fix the CGO_LDFLAGS with the "-tags"
3346 ;; command line argument, go-1.10+ does not re-use the produced pkg
3347 ;; for dependencies, which means we would need to propagate the
3348 ;; same "-tags" argument to all golua referrers. A substitution is
3349 ;; more convenient here. We also need to propagate the lua
3350 ;; dependency to make it available to referrers.
3351 (add-after 'unpack 'fix-lua-ldflags
3352 (lambda _
3353 (substitute* "src/github.com/aarzilli/golua/lua/lua.go"
3354 (("#cgo linux,!llua,!luaa LDFLAGS: -llua5.3")
3355 "#cgo linux,!llua,!luaa LDFLAGS: -llua")))))))
3356 (home-page "https://github.com/aarzilli/golua")
3357 (synopsis "Go Bindings for the Lua C API")
3358 (description "This package provides @code{lua}, a Go module that can
3359 run a Lua virtual machine.")
3360 (license license:expat))))
3361
3362 (define-public go-gitlab-com-ambrevar-golua-unicode
3363 (let ((commit "97ce517e7a1fe2407a90c317a9c74b173d396144")
3364 (revision "0"))
3365 (package
3366 (name "go-gitlab-com-ambrevar-golua-unicode")
3367 (version (git-version "0.0.0" revision commit))
3368 (source
3369 (origin
3370 (method git-fetch)
3371 (uri (git-reference
3372 (url
3373 "https://gitlab.com/ambrevar/golua")
3374 (commit commit)))
3375 (file-name (git-file-name name version))
3376 (sha256
3377 (base32
3378 "1izcp7p8nagjwqd13shb0020w7xhppib1a3glw2d1468bflhksnm"))))
3379 (build-system go-build-system)
3380 (native-inputs
3381 `(("lua" ,lua)
3382 ("go-github-com-aarzilli-golua" ,go-github-com-aarzilli-golua)))
3383 (arguments
3384 `(#:unpack-path "gitlab.com/ambrevar/golua"
3385 #:import-path "gitlab.com/ambrevar/golua/unicode"
3386 #:phases
3387 (modify-phases %standard-phases
3388 (replace 'check
3389 (lambda* (#:key import-path #:allow-other-keys)
3390 (setenv "USER" "homeless-dude")
3391 (invoke "go" "test" import-path))))))
3392 (home-page "https://gitlab.com/ambrevar/golua")
3393 (synopsis "Add Unicode support to Golua")
3394 (description "This extension to Arzilli's Golua adds Unicode support to
3395 all functions from the Lua string library. Lua patterns are replaced by Go
3396 regexps. This breaks compatibility with Lua, but Unicode support breaks it
3397 anyways and Go regexps are more powerful.")
3398 (license license:expat))))
3399
3400 (define-public go-github-com-yookoala-realpath
3401 (let ((commit "d19ef9c409d9817c1e685775e53d361b03eabbc8")
3402 (revision "0"))
3403 (package
3404 (name "go-github-com-yookoala-realpath")
3405 (version (git-version "0.0.0" revision commit))
3406 (source
3407 (origin
3408 (method git-fetch)
3409 (uri (git-reference
3410 (url
3411 "https://github.com/yookoala/realpath")
3412 (commit commit)))
3413 (file-name (git-file-name name version))
3414 (sha256
3415 (base32
3416 "0qvz1dcdldf53rq69fli76z5k1vr7prx9ds1d5rpzgs68kwn40nw"))))
3417 (build-system go-build-system)
3418 (arguments
3419 `(#:import-path "github.com/yookoala/realpath"))
3420 (home-page "https://github.com/yookoala/realpath")
3421 (synopsis "@code{realpath} for Golang")
3422 (description "This package provides @code{realpath}, a Go module that
3423 when provided with a valid relative path / alias path, it will return you with
3424 a string of its real absolute path in the system.")
3425 (license license:expat))))
3426
3427 (define-public go-gitlab-com-ambrevar-damerau
3428 (let ((commit "883829e1f25fad54015772ea663e69017cf22352")
3429 (revision "0"))
3430 (package
3431 (name "go-gitlab-com-ambrevar-damerau")
3432 (version (git-version "0.0.0" revision commit))
3433 (source
3434 (origin
3435 (method git-fetch)
3436 (uri (git-reference
3437 (url
3438 "https://gitlab.com/ambrevar/damerau")
3439 (commit commit)))
3440 (file-name (git-file-name name version))
3441 (sha256
3442 (base32
3443 "1b9p8fypc914ij1afn6ir346zsgfqrc5mqc1k3d53n4snypq27qv"))))
3444 (build-system go-build-system)
3445 (arguments
3446 `(#:import-path "gitlab.com/ambrevar/damerau"))
3447 (home-page "https://gitlab.com/ambrevar/damerau")
3448 (synopsis "Damerau-Levenshtein distance for Golang")
3449 (description "This is a spelling corrector implementing the
3450 Damerau-Levenshtein distance. Takes a string value input from the user.
3451 Looks for an identical word on a list of words, if none is found, look for a
3452 similar word.")
3453 (license license:expat))))
3454
3455 (define-public go-github-com-stevedonovan-luar
3456 (let ((commit "22d247e5366095f491cd83edf779ee99a78f5ead")
3457 (revision "0"))
3458 (package
3459 (name "go-github-com-stevedonovan-luar")
3460 (version (git-version "0.0.0" revision commit))
3461 (source
3462 (origin
3463 (method git-fetch)
3464 (uri (git-reference
3465 (url
3466 "https://github.com/stevedonovan/luar")
3467 (commit commit)))
3468 (file-name (git-file-name name version))
3469 (sha256
3470 (base32
3471 "1acjgw9cz1l0l9mzkyk7irz6cfk31wnxgbwa805fvm1rqcjzin2c"))))
3472 (build-system go-build-system)
3473 (native-inputs
3474 `(("go-github-com-aarzilli-golua" ,go-github-com-aarzilli-golua)))
3475 (arguments
3476 `(#:tests? #f ; Upstream tests are broken.
3477 #:import-path "github.com/stevedonovan/luar"))
3478 (home-page "https://github.com/stevedonovan/luar")
3479 (synopsis "Lua reflection bindings for Go")
3480 (description "Luar is designed to make using Lua from Go more
3481 convenient. Go structs, slices and maps can be automatically converted to Lua
3482 tables and vice-versa. The resulting conversion can either be a copy or a
3483 proxy. In the latter case, any change made to the result will reflect on the
3484 source.
3485
3486 Any Go function can be made available to Lua scripts, without having to write
3487 C-style wrappers.
3488
3489 Luar support cyclic structures (lists, etc.).
3490
3491 User-defined types can be made available to Lua as well: their exported
3492 methods can be called and usual operations such as indexing or arithmetic can
3493 be performed.")
3494 (license license:expat))))
3495
3496 (define-public go-github-com-michiwend-golang-pretty
3497 (let ((commit "8ac61812ea3fa540f3f141a444fcb0dd713cdca4")
3498 (revision "0"))
3499 (package
3500 (name "go-github-com-michiwend-golang-pretty")
3501 (version (git-version "0.0.0" revision commit))
3502 (source
3503 (origin
3504 (method git-fetch)
3505 (uri (git-reference
3506 (url
3507 "https://github.com/michiwend/golang-pretty")
3508 (commit commit)))
3509 (file-name (git-file-name name version))
3510 (sha256
3511 (base32
3512 "0rjfms0csjqi91xnddzx3rcrcaikc7xc027617px3kdwdap80ir4"))))
3513 (build-system go-build-system)
3514 (native-inputs
3515 `(("go-github-com-kr-text" ,go-github-com-kr-text)))
3516 (arguments
3517 `(#:tests? #f ; Upstream tests seem to be broken.
3518 #:import-path "github.com/michiwend/golang-pretty"))
3519 (home-page "https://github.com/michiwend/golang-pretty")
3520 (synopsis "Pretty printing for Go values")
3521 (description "Package @code{pretty} provides pretty-printing for Go
3522 values. This is useful during debugging, to avoid wrapping long output lines
3523 in the terminal.
3524
3525 It provides a function, @code{Formatter}, that can be used with any function
3526 that accepts a format string. It also provides convenience wrappers for
3527 functions in packages @code{fmt} and @code{log}.")
3528 (license license:expat))))
3529
3530 (define-public go-github-com-michiwend-gomusicbrainz
3531 (let ((commit "0cdeb13f9b24d2c714feb7e3c63d595cf7121d7d")
3532 (revision "0"))
3533 (package
3534 (name "go-github-com-michiwend-gomusicbrainz")
3535 (version (git-version "0.0.0" revision commit))
3536 (source
3537 (origin
3538 (method git-fetch)
3539 (uri (git-reference
3540 (url
3541 "https://github.com/michiwend/gomusicbrainz")
3542 (commit commit)))
3543 (file-name (git-file-name name version))
3544 (sha256
3545 (base32
3546 "1li9daw0kghb80rdmxbh7g72qhxcvx3rvhwq5gs0jrr9hb8pjvcn"))))
3547 (build-system go-build-system)
3548 (native-inputs
3549 `(("go-github-com-michiwend-golang-pretty" ,go-github-com-michiwend-golang-pretty)
3550 ("go-github-com-kr-text" ,go-github-com-kr-text)))
3551 (arguments
3552 `(#:import-path "github.com/michiwend/gomusicbrainz"))
3553 (home-page "https://github.com/michiwend/gomusicbrainz")
3554 (synopsis "MusicBrainz WS2 client library for Golang")
3555 (description "Currently GoMusicBrainz provides methods to perform search
3556 and lookup requests. Browse requests are not supported yet.")
3557 (license license:expat))))
3558
3559 (define-public go-github-com-wtolson-go-taglib
3560 (let ((commit "6e68349ff94ecea412de7e748cb5eaa26f472777")
3561 (revision "0"))
3562 (package
3563 (name "go-github-com-wtolson-go-taglib")
3564 (version (git-version "0.0.0" revision commit))
3565 (source
3566 (origin
3567 (method git-fetch)
3568 (uri (git-reference
3569 (url
3570 "https://github.com/wtolson/go-taglib")
3571 (commit commit)))
3572 (file-name (git-file-name name version))
3573 (sha256
3574 (base32
3575 "1cpjqnrviwflz150g78iir5ndrp3hh7a93zbp4dwbg6sb2q141p2"))))
3576 (build-system go-build-system)
3577 ;; From go-1.10 onward, "pkg" compiled libraries are not re-used, so
3578 ;; when this package required as input for another one, it will have to
3579 ;; be built again. Thus its CGO requirements must be made available in
3580 ;; the environment, that is, they must be propagated.
3581 (propagated-inputs
3582 `(("pkg-config" ,pkg-config)
3583 ("taglib" ,taglib)))
3584 (arguments
3585 `(#:import-path "github.com/wtolson/go-taglib"
3586 ;; Tests don't pass "vet" on Go since 1.11. See
3587 ;; https://github.com/wtolson/go-taglib/issues/12.
3588 #:phases
3589 (modify-phases %standard-phases
3590 (replace 'check
3591 (lambda* (#:key import-path #:allow-other-keys)
3592 (invoke "go" "test"
3593 "-vet=off"
3594 import-path))))))
3595 (home-page "https://github.com/wtolson/go-taglib")
3596 (synopsis "Go wrapper for taglib")
3597 (description "Go wrapper for taglib")
3598 (license license:unlicense))))
3599
3600 (define-public go-github-com-gogo-protobuf
3601 (package
3602 (name "go-github-com-gogo-protobuf")
3603 (version "1.3.1")
3604 (source (origin
3605 (method git-fetch)
3606 (uri (git-reference
3607 (url "https://github.com/gogo/protobuf")
3608 (commit (string-append "v" version))))
3609 (file-name (git-file-name name version))
3610 (sha256
3611 (base32
3612 "0x77x64sxjgfhmbijqfzmj8h4ar25l2w97h01q3cqs1wk7zfnkhp"))))
3613 (build-system go-build-system)
3614 (arguments
3615 `(#:import-path "github.com/gogo/protobuf"
3616 ; Source-only package
3617 #:tests? #f
3618 #:phases
3619 (modify-phases %standard-phases
3620 (delete 'build))))
3621 (synopsis "Protocol Buffers for Go with Gadgets")
3622 (description "Gogoprotobuf is a fork of golang/protobuf with extra code
3623 generation features. This code generation is used to achieve:
3624 @itemize
3625 @item fast marshalling and unmarshalling
3626 @item more canonical Go structures
3627 @item goprotobuf compatibility
3628 @item less typing by optionally generating extra helper code
3629 @item peace of mind by optionally generating test and benchmark code
3630 @item other serialization formats
3631 @end itemize")
3632 (home-page "https://github.com/gogo/protobuf")
3633 (license license:bsd-3)))
3634
3635 (define-public go-github-com-libp2p-go-flow-metrics
3636 (let ((commit "7e5a55af485341567f98d6847a373eb5ddcdcd43")
3637 (revision "0"))
3638 (package
3639 (name "go-github-com-libp2p-go-flow-metrics")
3640 (version (git-version "0.2.0" revision commit))
3641 (source
3642 (origin
3643 (method git-fetch)
3644 (uri (git-reference
3645 (url "https://github.com/libp2p/go-flow-metrics")
3646 (commit commit)))
3647 (file-name (git-file-name name version))
3648 (sha256
3649 (base32
3650 "1p87iyk6q6f3g3xkncssx400qlld8f2z93qiz8m1f97grfyhjif1"))))
3651 (build-system go-build-system)
3652 (arguments
3653 `(#:import-path "github.com/libp2p/go-flow-metrics"
3654 ;; TODO: Tests hang.
3655 #:tests? #f))
3656 (home-page
3657 "https://github.com/libp2p/go-flow-metrics")
3658 (synopsis "Simple library for tracking flow metrics")
3659 (description "A simple alternative to rcrowley's @command{go-metrics}
3660 that's a lot faster (and only does simple bandwidth metrics).")
3661 (license license:expat))))
3662
3663 (define-public go-github-com-davecgh-go-spew
3664 (package
3665 (name "go-github-com-davecgh-go-spew")
3666 (version "1.1.1")
3667 (source
3668 (origin
3669 (method git-fetch)
3670 (uri (git-reference
3671 (url "https://github.com/davecgh/go-spew")
3672 (commit (string-append "v" version))))
3673 (file-name (git-file-name name version))
3674 (sha256
3675 (base32
3676 "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y"))))
3677 (build-system go-build-system)
3678 (arguments
3679 '(#:unpack-path "github.com/davecgh/go-spew"
3680 #:import-path "github.com/davecgh/go-spew/spew"))
3681 (home-page "https://github.com/davecgh/go-spew")
3682 (synopsis "Deep pretty printer for Go data structures to aid in debugging")
3683 (description "Package @command{spew} implements a deep pretty printer
3684 for Go data structures to aid in debugging.
3685
3686 A quick overview of the additional features spew provides over the built-in printing facilities for Go data types are as follows:
3687
3688 @itemize
3689 @item Pointers are dereferenced and followed.
3690 @item Circular data structures are detected and handled properly.
3691 @item Custom Stringer/error interfaces are optionally invoked, including on
3692 unexported types.
3693 @item Custom types which only implement the Stringer/error interfaces via a
3694 pointer receiver are optionally invoked when passing non-pointer variables.
3695 @item Byte arrays and slices are dumped like the hexdump -C command which
3696 includes offsets, byte values in hex, and ASCII output (only when using Dump
3697 style).
3698 @end itemize\n")
3699 (license license:isc)))
3700
3701 (define-public go-github-com-btcsuite-btclog
3702 (let ((commit "84c8d2346e9fc8c7b947e243b9c24e6df9fd206a")
3703 (revision "0"))
3704 (package
3705 (name "go-github-com-btcsuite-btclog")
3706 (version (git-version "0.0.3" revision commit))
3707 (source
3708 (origin
3709 (method git-fetch)
3710 (uri (git-reference
3711 (url "https://github.com/btcsuite/btclog")
3712 (commit commit)))
3713 (file-name (git-file-name name version))
3714 (sha256
3715 (base32
3716 "02dl46wcnfpg9sqvg0ipipkpnd7lrf4fnvb9zy56jqa7mfcwc7wk"))))
3717 (build-system go-build-system)
3718 (arguments
3719 '(#:import-path "github.com/btcsuite/btclog"))
3720 (home-page "https://github.com/btcsuite/btclog")
3721 (synopsis "Subsystem aware logger for Go")
3722 (description "Package @command{btclog} defines a logger interface and
3723 provides a default implementation of a subsystem-aware leveled logger
3724 implementing the same interface.")
3725 (license license:isc))))
3726
3727 (define-public go-github-com-btcsuite-btcd-btcec
3728 (let ((commit "67e573d211ace594f1366b4ce9d39726c4b19bd0")
3729 (revision "0"))
3730 (package
3731 (name "go-github-com-btcsuite-btcd-btcec")
3732 (version (git-version "0.12.0-beta" revision commit))
3733 (source
3734 (origin
3735 (method git-fetch)
3736 (uri (git-reference
3737 (url "https://github.com/btcsuite/btcd")
3738 (commit commit)))
3739 (file-name (git-file-name name version))
3740 (sha256
3741 (base32
3742 "04s92gsy71w1jirlr5lkk9y6r5cparbas7nmf6ywbp7kq7fn8ajn"))))
3743 (build-system go-build-system)
3744 (arguments
3745 '(#:unpack-path "github.com/btcsuite/btcd"
3746 #:import-path "github.com/btcsuite/btcd/btcec"))
3747 (native-inputs
3748 `(("go-github-com-davecgh-go-spew" ,go-github-com-davecgh-go-spew)))
3749 (home-page "https://github.com/btcsuite/btcd")
3750 (synopsis "Elliptic curve cryptography to work with Bitcoin")
3751 (description "Package @command{btcec} implements elliptic curve
3752 cryptography needed for working with Bitcoin (secp256k1 only for now). It is
3753 designed so that it may be used with the standard crypto/ecdsa packages
3754 provided with Go. A comprehensive suite of test is provided to ensure proper
3755 functionality. Package @command{btcec} was originally based on work from
3756 ThePiachu which is licensed under the same terms as Go, but it has
3757 significantly diverged since then. The @command{btcsuite} developers original
3758 is licensed under the liberal ISC license.
3759
3760 Although this package was primarily written for btcd, it has intentionally
3761 been designed so it can be used as a standalone package for any projects
3762 needing to use secp256k1 elliptic curve cryptography.")
3763 (license license:isc))))
3764
3765 (define-public go-github-com-minio-sha256-simd
3766 (package
3767 (name "go-github-com-minio-sha256-simd")
3768 (version "0.1.1")
3769 (source
3770 (origin
3771 (method git-fetch)
3772 (uri (git-reference
3773 (url "https://github.com/minio/sha256-simd")
3774 (commit (string-append "v" version))))
3775 (file-name (git-file-name name version))
3776 (sha256
3777 (base32
3778 "1j0iqsckm97g4l79vd4mc7apbmkdar23jpzqpnpdhwpfd834j8lp"))))
3779 (build-system go-build-system)
3780 (arguments
3781 '(#:import-path "github.com/minio/sha256-simd"))
3782 (home-page "https://github.com/minio/sha256-simd")
3783 (synopsis "Accelerate SHA256 computations in pure Go")
3784 (description "Accelerate SHA256 computations in pure Go using AVX512 and
3785 AVX2 for Intel and ARM64 for ARM. On AVX512 it provides an up to 8x
3786 improvement (over 3 GB/s per core) in comparison to AVX2.
3787
3788 This package is designed as a replacement for @command{crypto/sha256}. For
3789 Intel CPUs it has two flavors for AVX512 and AVX2 (AVX/SSE are also
3790 supported). For ARM CPUs with the Cryptography Extensions, advantage is taken
3791 of the SHA2 instructions resulting in a massive performance improvement.
3792
3793 This package uses Golang assembly. The AVX512 version is based on the Intel's
3794 \"multi-buffer crypto library for IPSec\" whereas the other Intel
3795 implementations are described in \"Fast SHA-256 Implementations on Intel
3796 Architecture Processors\" by J. Guilford et al.")
3797 (license license:asl2.0)))
3798
3799 (define-public go-github-com-libp2p-go-libp2p-crypto
3800 (let ((commit "7240b40a3ddc47c4d17c15baabcbe45e5219171b")
3801 (revision "0"))
3802 (package
3803 (name "go-github-com-libp2p-go-libp2p-crypto")
3804 (version (git-version "2.0.1" revision commit))
3805 (source
3806 (origin
3807 (method git-fetch)
3808 (uri (git-reference
3809 (url "https://github.com/libp2p/go-libp2p-crypto")
3810 (commit commit)))
3811 (file-name (git-file-name name version))
3812 (sha256
3813 (base32
3814 "0qwpy57qv5143l9dlfwfvpqsxdd2i4zwnawx1w4pmgxxim3nw1wb"))))
3815 (build-system go-build-system)
3816 (arguments
3817 '(#:import-path "github.com/libp2p/go-libp2p-crypto"))
3818 (native-inputs
3819 `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
3820 ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
3821 ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
3822 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)))
3823 (home-page
3824 "https://github.com/libp2p/go-libp2p-crypto")
3825 (synopsis "Various cryptographic utilities used by IPFS")
3826 (description "Various cryptographic utilities used by IPFS")
3827 (license license:expat))))
3828
3829 (define-public go-github-com-mr-tron-base58
3830 (let ((commit "d724c80ecac7b49e4e562d58b2b4f4ee4ed8c312")
3831 (revision "0"))
3832 (package
3833 (name "go-github-com-mr-tron-base58")
3834 (version (git-version "1.1.0" revision commit))
3835 (source
3836 (origin
3837 (method git-fetch)
3838 (uri (git-reference
3839 (url "https://github.com/mr-tron/base58")
3840 (commit commit)))
3841 (file-name (git-file-name name version))
3842 (sha256
3843 (base32
3844 "12qhgnn9wf3c1ang16r4i778whk4wsrj7d90h2xgmz4fi1469rqa"))))
3845 (build-system go-build-system)
3846 (arguments
3847 `(#:unpack-path "github.com/mr-tron/base58"
3848 #:import-path "github.com/mr-tron/base58/base58"))
3849 (home-page "https://github.com/mr-tron/base58")
3850 (synopsis "Fast implementation of base58 encoding on Golang")
3851 (description "Fast implementation of base58 encoding on Golang. A
3852 trivial @command{big.Int} encoding benchmark results in 6 times faster
3853 encoding and 8 times faster decoding.")
3854 (license license:expat))))
3855
3856 (define-public go-github-com-gxed-hashland-keccakpg
3857 (let ((commit "d9f6b97f8db22dd1e090fd0bbbe98f09cc7dd0a8")
3858 (revision "0"))
3859 (package
3860 (name "go-github-com-gxed-hashland-keccakpg")
3861 (version (git-version "0.0.0" revision commit))
3862 (source
3863 (origin
3864 (method git-fetch)
3865 (uri (git-reference
3866 (url "https://github.com/gxed/hashland")
3867 (commit commit)))
3868 (file-name (git-file-name name version))
3869 (sha256
3870 (base32
3871 "1q23y4lacsz46k9gmgfw4iwwydw36j2601rbidmmswl94grpc386"))))
3872 (build-system go-build-system)
3873 (arguments
3874 '(#:unpack-path "github.com/gxed/hashland"
3875 #:import-path "github.com/gxed/hashland/keccakpg"))
3876 (home-page "https://github.com/gxed/hashland")
3877 (synopsis "Implements the Keccak (SHA-3) hash algorithm in Go")
3878 (description "Package @command{keccak} implements the Keccak (SHA-3)
3879 hash algorithm. See http://keccak.noekeon.org.")
3880 (license license:expat))))
3881
3882 (define-public go-github-com-minio-blake2b-simd
3883 (let ((commit "3f5f724cb5b182a5c278d6d3d55b40e7f8c2efb4")
3884 (revision "0"))
3885 (package
3886 (name "go-github-com-minio-blake2b-simd")
3887 (version (git-version "0.0.0" revision commit))
3888 (source
3889 (origin
3890 (method git-fetch)
3891 (uri (git-reference
3892 (url "https://github.com/minio/blake2b-simd")
3893 (commit commit)))
3894 (file-name (git-file-name name version))
3895 (sha256
3896 (base32
3897 "0b6jbnj62c0gmmfd4zdmh8xbg01p80f13yygir9xprqkzk6fikmd"))))
3898 (build-system go-build-system)
3899 (arguments
3900 '(#:import-path "github.com/minio/blake2b-simd"))
3901 (home-page "https://github.com/minio/blake2b-simd")
3902 (synopsis "Fast hashing in pure Go of BLAKE2b with SIMD instructions")
3903 (description "This package was initially based on the pure go BLAKE2b
3904 implementation of Dmitry Chestnykh and merged with the (cgo dependent) AVX
3905 optimized BLAKE2 implementation (which in turn is based on the official
3906 implementation. It does so by using Go's Assembler for amd64 architectures
3907 with a golang only fallback for other architectures.
3908
3909 In addition to AVX there is also support for AVX2 as well as SSE. Best
3910 performance is obtained with AVX2 which gives roughly a 4X performance
3911 increase approaching hashing speeds of 1GB/sec on a single core.")
3912 (license license:asl2.0))))
3913
3914 (define-public go-github-com-spaolacci-murmur3
3915 (package
3916 (name "go-github-com-spaolacci-murmur3")
3917 (version "1.1.0")
3918 (source
3919 (origin
3920 (method git-fetch)
3921 (uri (git-reference
3922 (url "https://github.com/spaolacci/murmur3")
3923 (commit (string-append "v" version))))
3924 (file-name (git-file-name name version))
3925 (sha256
3926 (base32
3927 "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25"))))
3928 (build-system go-build-system)
3929 (arguments
3930 '(#:import-path "github.com/spaolacci/murmur3"))
3931 (home-page "https://github.com/spaolacci/murmur3")
3932 (synopsis "Native MurmurHash3 Go implementation")
3933 (description "Native Go implementation of Austin Appleby's third MurmurHash
3934 revision (aka MurmurHash3).
3935
3936 Reference algorithm has been slightly hacked as to support the streaming mode
3937 required by Go's standard Hash interface.")
3938 (license license:bsd-3)))
3939
3940 (define-public go-github-com-twmb-murmur3
3941 (package
3942 (name "go-github-com-twmb-murmur3")
3943 (version "1.1.3")
3944 (source
3945 (origin
3946 (method git-fetch)
3947 (uri (git-reference
3948 (url "https://github.com/twmb/murmur3")
3949 (commit (string-append "v" version))))
3950 (file-name (git-file-name name version))
3951 (sha256
3952 (base32
3953 "00riapwkyf23l5wyis47mbr8rwr4yrjw491jfc30wpzs111c1gyy"))))
3954 (build-system go-build-system)
3955 (arguments
3956 '(#:import-path "github.com/twmb/murmur3"))
3957 (home-page "https://github.com/twmb/murmur3")
3958 (synopsis "Native MurmurHash3 Go implementation")
3959 (description "Native Go implementation of Austin Appleby's third
3960 MurmurHash revision (aka MurmurHash3).
3961
3962 Reference algorithm has been slightly hacked as to support the streaming mode
3963 required by Go's standard Hash interface.")
3964 (license license:bsd-3)))
3965
3966 (define-public go-github-com-multiformats-go-multihash
3967 (let ((commit "97cdb562a04c6ef66d8ed40cd62f8fbcddd396d6")
3968 (revision "0"))
3969 (package
3970 (name "go-github-com-multiformats-go-multihash")
3971 (version (git-version "1.0.8" revision commit))
3972 (source
3973 (origin
3974 (method git-fetch)
3975 (uri (git-reference
3976 (url "https://github.com/multiformats/go-multihash")
3977 (commit commit)))
3978 (file-name (git-file-name name version))
3979 (sha256
3980 (base32
3981 "02wd9akrwy4y5m0nig9m24p14bjjgb4n1djydrq8cm4yhbvjrrk0"))))
3982 (build-system go-build-system)
3983 (arguments
3984 '(#:import-path "github.com/multiformats/go-multihash"))
3985 (native-inputs
3986 `(("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
3987 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
3988 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
3989 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
3990 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
3991 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
3992 (home-page "https://github.com/multiformats/go-multihash")
3993 (synopsis "Multihash implementation in Go")
3994 (description "Multihash implementation in Go.")
3995 (license license:expat))))
3996
3997 (define-public go-github-com-libp2p-go-libp2p-peer
3998 (let ((commit "993d742bc29dcf4894b7730ba610fd78900be76c")
3999 (revision "0"))
4000 (package
4001 (name "go-github-com-libp2p-go-libp2p-peer")
4002 (version (git-version "2.3.8" revision commit))
4003 (source
4004 (origin
4005 (method git-fetch)
4006 (uri (git-reference
4007 (url "https://github.com/libp2p/go-libp2p-peer")
4008 (commit commit)))
4009 (file-name (git-file-name name version))
4010 (sha256
4011 (base32
4012 "1h96qjdi0i1wbr0jliap2903mycphas3ny0zdrm77yca9plcnphh"))))
4013 (build-system go-build-system)
4014 (arguments
4015 '(#:import-path "github.com/libp2p/go-libp2p-peer"))
4016 (native-inputs
4017 `(("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto)
4018 ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
4019 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
4020 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
4021 ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
4022 ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
4023 ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
4024 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
4025 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
4026 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
4027 (home-page "https://github.com/libp2p/go-libp2p-peer")
4028 (synopsis "PKI based identities for use in go-libp2p")
4029 (description "PKI based identities for use in @command{go-libp2p}.")
4030 (license license:expat))))
4031
4032 (define-public go-github-com-libp2p-go-libp2p-protocol
4033 (let ((commit "b29f3d97e3a2fb8b29c5d04290e6cb5c5018004b")
4034 (revision "0"))
4035 (package
4036 (name "go-github-com-libp2p-go-libp2p-protocol")
4037 (version (git-version "1.0.0" revision commit))
4038 (source
4039 (origin
4040 (method git-fetch)
4041 (uri (git-reference
4042 (url "https://github.com/libp2p/go-libp2p-protocol")
4043 (commit commit)))
4044 (file-name (git-file-name name version))
4045 (sha256
4046 (base32
4047 "1xgjfnx9zcqglg9li29wdqywsp8hz22wx6phns9zscni2jsfidld"))))
4048 (build-system go-build-system)
4049 (arguments
4050 '(#:import-path
4051 "github.com/libp2p/go-libp2p-protocol"))
4052 (home-page "https://github.com/libp2p/go-libp2p-protocol")
4053 (synopsis "Type for protocol strings in Golang")
4054 (description "Just a type for protocol strings. Nothing more.")
4055 (license license:expat))))
4056
4057 (define-public go-github-com-libp2p-go-libp2p-metrics
4058 (let ((commit "a10ff6e75dae3c868023867e8caa534a04bdc624")
4059 (revision "0"))
4060 (package
4061 (name "go-github-com-libp2p-go-libp2p-metrics")
4062 (version (git-version "2.1.6" revision commit))
4063 (source
4064 (origin
4065 (method git-fetch)
4066 (uri (git-reference
4067 (url "https://github.com/libp2p/go-libp2p-metrics")
4068 (commit commit)))
4069 (file-name (git-file-name name version))
4070 (sha256
4071 (base32
4072 "05wy0cq4h6yg9bzgapcvm2criwriicbswx80ma82gyn4a9fdrk8m"))))
4073 (build-system go-build-system)
4074 (arguments
4075 '(#:import-path "github.com/libp2p/go-libp2p-metrics"))
4076 (native-inputs
4077 `(("go-github-com-libp2p-go-flow-metrics" ,go-github-com-libp2p-go-flow-metrics)
4078 ("go-github-com-libp2p-go-libp2p-peer" ,go-github-com-libp2p-go-libp2p-peer)
4079 ("go-github-com-libp2p-go-libp2p-protocol" ,go-github-com-libp2p-go-libp2p-protocol)
4080 ("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto)
4081 ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
4082 ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
4083 ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
4084 ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
4085 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
4086 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
4087 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
4088 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
4089 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
4090 (home-page "https://github.com/libp2p/go-libp2p-metrics")
4091 (synopsis "Connection wrapper for go-libp2p that provides bandwidth metrics")
4092 (description "A connection wrapper for @command{go-libp2p} that provides bandwidth
4093 statistics for wrapped connections.")
4094 (license license:expat))))
4095
4096 (define-public go-github-com-mitchellh-go-homedir
4097 (let ((commit "ae18d6b8b3205b561c79e8e5f69bff09736185f4")
4098 (revision "0"))
4099 (package
4100 (name "go-github-com-mitchellh-go-homedir")
4101 (version (git-version "1.0.0" revision commit))
4102 (source
4103 (origin
4104 (method git-fetch)
4105 (uri (git-reference
4106 (url "https://github.com/mitchellh/go-homedir")
4107 (commit commit)))
4108 (file-name (git-file-name name version))
4109 (sha256
4110 (base32
4111 "0f0z0aa4wivk4z1y503dmnw0k0g0g403dly8i4q263gfshs82sbq"))))
4112 (build-system go-build-system)
4113 (arguments
4114 (quote (#:import-path "github.com/mitchellh/go-homedir"
4115 ;; TODO: Tests fail because it tries to access home.
4116 #:tests? #f)))
4117 (home-page "https://github.com/mitchellh/go-homedir")
4118 (synopsis "Go library for detecting and expanding the user's home directory without cgo")
4119 (description "This is a Go library for detecting the user's home
4120 directory without the use of @command{cgo}, so the library can be used in
4121 cross-compilation environments.
4122
4123 Usage is simple, just call homedir.Dir() to get the home directory for a user,
4124 and homedir.Expand() to expand the @command{~} in a path to the home
4125 directory.
4126
4127 Why not just use @command{os/user}? The built-in @command{os/user} package
4128 requires cgo on Darwin systems. This means that any Go code that uses that
4129 package cannot cross compile. But 99% of the time the use for
4130 @command{os/user} is just to retrieve the home directory, which we can do for
4131 the current user without cgo. This library does that, enabling
4132 cross-compilation.")
4133 (license license:expat))))
4134
4135 (define-public go-github-com-mitchellh-mapstructure
4136 (package
4137 (name "go-github-com-mitchellh-mapstructure")
4138 (version "1.1.2") ;; NOTE: Updating to 1.3.1 breaks tests on viper-1.7.0
4139 (source
4140 (origin
4141 (method git-fetch)
4142 (uri (git-reference
4143 (url "https://github.com/mitchellh/mapstructure")
4144 (commit (string-append "v" version))))
4145 (file-name (git-file-name name version))
4146 (sha256
4147 (base32
4148 "03bpv28jz9zhn4947saqwi328ydj7f6g6pf1m2d4m5zdh5jlfkrr"))))
4149 (build-system go-build-system)
4150 (arguments
4151 `(#:import-path "github.com/mitchellh/mapstructure"))
4152 (home-page "https://github.com/mitchellh/mapstructure")
4153 (synopsis "Go library for decoding generic map values")
4154 (description "Go library for decoding generic map values")
4155 (license license:expat)))
4156
4157 (define-public go-github-com-mitchellh-reflectwalk
4158 (package
4159 (name "go-github-com-mitchellh-reflectwalk")
4160 (version "1.0.1")
4161 (source (origin
4162 (method git-fetch)
4163 (uri (git-reference
4164 (url "https://github.com/mitchellh/reflectwalk")
4165 (commit (string-append "v" version))))
4166 (file-name (git-file-name name version))
4167 (sha256
4168 (base32
4169 "0pa6a3nhzwv5s5yqcmsmsfhdp5ggxsg2wa86f3akawxrhrkjarnx"))))
4170 (build-system go-build-system)
4171 (arguments
4172 `(#:import-path "github.com/mitchellh/reflectwalk"))
4173 (home-page "https://github.com/mitchellh/reflectwalk/")
4174 (synopsis "Walk a value in Go using reflection")
4175 (description "reflectwalk is a Go library for \"walking\" a value in Go
4176 using reflection, in the same way a directory tree can be \"walked\" on the
4177 file system. Walking a complex structure can allow you to do manipulations on
4178 unknown structures such as those decoded from JSON.")
4179 (license license:expat)))
4180
4181 (define-public go-github-com-mitchellh-copystructure
4182 (package
4183 (name "go-github-com-mitchellh-copystructure")
4184 (version "1.0.0")
4185 (source
4186 (origin
4187 (method git-fetch)
4188 (uri (git-reference
4189 (url "https://github.com/mitchellh/copystructure")
4190 (commit (string-append "v" version))))
4191 (file-name (git-file-name name version))
4192 (sha256
4193 (base32
4194 "05njg92w1088v4yl0js0zdrpfq6k37i9j14mxkr3p90p5yd9rrrr"))))
4195 (build-system go-build-system)
4196 (arguments
4197 `(#:import-path "github.com/mitchellh/copystructure"))
4198 (native-inputs
4199 `(("go-github-com-mitchellh-reflectwalk" ,go-github-com-mitchellh-reflectwalk)))
4200 (home-page "https://github.com/mitchellh/copystructure")
4201 (synopsis "Go library for decoding deep copying values")
4202 (description "@code{copystructure} is a Go library for deep copying values
4203 in Go.
4204
4205 This allows you to copy Go values that may contain reference values such as
4206 maps, slices, or pointers, and copy their data as well instead of just their
4207 references.")
4208 (license license:expat)))
4209
4210 (define-public go-github-com-multiformats-go-multiaddr
4211 (let ((commit "fe1c46f8be5af4aff4db286e08839295bd922efb")
4212 (revision "0"))
4213 (package
4214 (name "go-github-com-multiformats-go-multiaddr")
4215 (version (git-version "1.3.0" revision commit))
4216 (source
4217 (origin
4218 (method git-fetch)
4219 (uri (git-reference
4220 (url "https://github.com/multiformats/go-multiaddr")
4221 (commit commit)))
4222 (file-name (git-file-name name version))
4223 (sha256
4224 (base32
4225 "0p5f8h098a4yjjmzsgqs7vhx1iqifb8izwg3559cr4h7clkpzznh"))))
4226 (build-system go-build-system)
4227 (arguments
4228 '(#:import-path
4229 "github.com/multiformats/go-multiaddr"))
4230 (native-inputs
4231 `(("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
4232 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
4233 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
4234 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
4235 ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
4236 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
4237 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
4238 (home-page "https://github.com/multiformats/go-multiaddr")
4239 (synopsis "Composable and future-proof network addresses")
4240 (description "Multiaddr is a standard way to represent addresses that
4241 does the following:
4242
4243 @itemize
4244 @item Support any standard network protocols.
4245 @item Self-describe (include protocols).
4246 @item Have a binary packed format.
4247 @item Have a nice string representation.
4248 @item Encapsulate well.
4249 @end itemize\n")
4250 (license license:expat))))
4251
4252 (define-public go-github-com-multiformats-go-multiaddr-net
4253 (let ((commit "1cb9a0e8a6de3c8a10f6cee60d01d793603c4f7e")
4254 (revision "0"))
4255 (package
4256 (name "go-github-com-multiformats-go-multiaddr-net")
4257 (version (git-version "1.6.3" revision commit))
4258 (source
4259 (origin
4260 (method git-fetch)
4261 (uri (git-reference
4262 (url "https://github.com/multiformats/go-multiaddr-net")
4263 (commit commit)))
4264 (file-name (git-file-name name version))
4265 (sha256
4266 (base32
4267 "1ypgi47xdz3bh8lh7f8cmk7w3ql9g4izx5l3kzdg9gda1xn5zxq3"))))
4268 (build-system go-build-system)
4269 (arguments
4270 (quote (#:import-path "github.com/multiformats/go-multiaddr-net"
4271 ;; TODO: Tests fail because they try to access the network.
4272 #:tests? #f)))
4273 (native-inputs
4274 `(("go-github-com-multiformats-go-multiaddr" ,go-github-com-multiformats-go-multiaddr)
4275 ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
4276 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
4277 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
4278 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
4279 ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
4280 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
4281 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
4282 (home-page "https://github.com/multiformats/go-multiaddr-net")
4283 (synopsis "Multiaddress net tools")
4284 (description "This package provides Multiaddr specific versions of
4285 common functions in stdlib's @command{net} package. This means wrappers of
4286 standard net symbols like @command{net.Dial} and @command{net.Listen}, as well
4287 as conversion to and from @command{net.Addr}.")
4288 (license license:expat))))
4289
4290 (define-public go-github-com-whyrusleeping-tar-utils
4291 (let ((commit "8c6c8ba81d5c71fd69c0f48dbde4b2fb422b6dfc")
4292 (revision "0"))
4293 (package
4294 (name "go-github-com-whyrusleeping-tar-utils")
4295 (version (git-version "0.0.0" revision commit))
4296 (source
4297 (origin
4298 (method git-fetch)
4299 (uri (git-reference
4300 (url "https://github.com/whyrusleeping/tar-utils")
4301 (commit commit)))
4302 (file-name (git-file-name name version))
4303 (sha256
4304 (base32
4305 "14jjdw3yics0k467xsyk388684wdpi0bbx8nqj0y4pqxa0s0in6s"))))
4306 (build-system go-build-system)
4307 (arguments
4308 '(#:import-path
4309 "github.com/whyrusleeping/tar-utils"))
4310 (home-page "https://github.com/whyrusleeping/tar-utils")
4311 (synopsis "Tar utilities extracted from go-ipfs codebase")
4312 (description "Tar utilities extracted from @command{go-ipfs} codebase.")
4313 (license license:expat))))
4314
4315 (define-public go-github-com-cheekybits-is
4316 (let ((commit "68e9c0620927fb5427fda3708222d0edee89eae9")
4317 (revision "0"))
4318 (package
4319 (name "go-github-com-cheekybits-is")
4320 (version (git-version "0.0.0" revision commit))
4321 (source
4322 (origin
4323 (method git-fetch)
4324 (uri (git-reference
4325 (url "https://github.com/cheekybits/is")
4326 (commit commit)))
4327 (file-name (git-file-name name version))
4328 (sha256
4329 (base32
4330 "1mkbyzhwq3rby832ikq00nxv3jnckxsm3949wkxd8ya9js2jmg4d"))))
4331 (build-system go-build-system)
4332 (arguments
4333 '(#:import-path "github.com/cheekybits/is"))
4334 (home-page "https://github.com/cheekybits/is")
4335 (synopsis "Mini testing helper for Go")
4336 (description "A mini testing helper for Go.
4337
4338 @itemize
4339 @item It has a simple interface (@command{is.OK} and @command{is.Equal}).
4340 @item It plugs into existing Go toolchain (uses @command{testing.T}).
4341 @item It's obvious for newcomers.
4342 @item It also gives you @command{is.Panic} and @command{is.PanicWith} helpers
4343 - because testing panics is ugly.
4344 @end itemize\n")
4345 (license license:expat))))
4346
4347 (define-public go-github-com-sabhiram-go-gitignore
4348 (let ((commit "d3107576ba9425fc1c85f4b3569c4631b805a02e")
4349 (revision "0"))
4350 (package
4351 (name "go-github-com-sabhiram-go-gitignore")
4352 (version (git-version "1.0.2" revision commit))
4353 (source
4354 (origin
4355 (method git-fetch)
4356 (uri (git-reference
4357 (url "https://github.com/sabhiram/go-gitignore")
4358 (commit commit)))
4359 (file-name (git-file-name name version))
4360 (sha256
4361 (base32
4362 "1rdwyxgcsiwgmlqnc3k6h300mzlvjc3j21np4yh1h476wc8dvl0l"))))
4363 (build-system go-build-system)
4364 (arguments
4365 '(#:import-path
4366 "github.com/sabhiram/go-gitignore"))
4367 (native-inputs
4368 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
4369 (home-page "https://github.com/sabhiram/go-gitignore")
4370 (synopsis "Gitignore parser for Go")
4371 (description "A @command{.gitignore} parser for Go.")
4372 (license license:expat))))
4373
4374 (define-public go-github-com-urfave-cli
4375 (package
4376 (name "go-github-com-urfave-cli")
4377 (version "1.22.2")
4378 (source
4379 (origin
4380 (method git-fetch)
4381 (uri (git-reference
4382 (url "https://github.com/urfave/cli")
4383 (commit (string-append "v" version))))
4384 (file-name (git-file-name name version))
4385 (sha256
4386 (base32
4387 "10mcnvi5qmn00vpyk6si8gjka7p654wr9hac4zc9w5h3ickhvbdc"))))
4388 (build-system go-build-system)
4389 (arguments
4390 '(#:import-path "github.com/urfave/cli"))
4391 (propagated-inputs
4392 `(("go-github-com-go-md2man" ,go-github-com-go-md2man)))
4393 (home-page "https://github.com/urfave/cli")
4394 (synopsis "Simple, fast, and fun package for building command line apps in Go")
4395 (description "@command{cli} is a simple, fast, and fun package for
4396 building command line apps in Go. The goal is to enable developers to write
4397 fast and distributable command line applications in an expressive way.")
4398 (license license:expat)))
4399
4400 (define-public go-github-com-urfave-cli-v2
4401 (package
4402 (inherit go-github-com-urfave-cli)
4403 (name "go-github-com-urfave-cli-v2")
4404 (version "2.3.0")
4405 (source
4406 (origin
4407 (method git-fetch)
4408 (uri (git-reference
4409 (url "https://github.com/urfave/cli")
4410 (commit (string-append "v" version))))
4411 (file-name (git-file-name name version))
4412 (sha256
4413 (base32 "08pvn7gyfznni72xrxfh2x6xxa8ykr7l1ka278js8g8qkh71bj8l"))))
4414 (arguments
4415 '(#:import-path "github.com/urfave/cli/v2"))))
4416
4417 (define-public go-github-com-go-md2man
4418 (package
4419 (name "go-github-com-go-md2man")
4420 (version "2.0.0")
4421 (source
4422 (origin
4423 (method git-fetch)
4424 (uri (git-reference
4425 (url "https://github.com/cpuguy83/go-md2man")
4426 (commit (string-append "v" version))))
4427 (file-name (git-file-name name version))
4428 (sha256
4429 (base32
4430 "0r1f7v475dxxgzqci1mxfliwadcrk86ippflx9n411325l4g3ghv"))
4431 (modules '((guix build utils)))
4432 (snippet '(begin
4433 (delete-file-recursively "vendor")
4434 #t))))
4435 (build-system go-build-system)
4436 (arguments
4437 '(#:import-path "github.com/cpuguy83/go-md2man"))
4438 (propagated-inputs
4439 `(("go-github-com-russross-blackfriday" ,go-github-com-russross-blackfriday)))
4440 (home-page "https://github.com/cpuguy83/go-md2man")
4441 (synopsis "Convert markdown into roff")
4442 (description "Go-md2man is a Go program that converts markdown to roff for
4443 the purpose of building man pages.")
4444 (license license:expat)))
4445
4446 (define-public go-github-com-russross-blackfriday
4447 (package
4448 (name "go-github-com-russross-blackfriday")
4449 (version "2.0.1")
4450 (source
4451 (origin
4452 (method git-fetch)
4453 (uri (git-reference
4454 (url "https://github.com/russross/blackfriday")
4455 (commit (string-append "v" version))))
4456 (file-name (git-file-name name version))
4457 (sha256
4458 (base32
4459 "0nlz7isdd4rgnwzs68499hlwicxz34j2k2a0b8jy0y7ycd2bcr5j"))))
4460 (build-system go-build-system)
4461 (arguments
4462 '(#:import-path "github.com/russross/blackfriday"))
4463 (propagated-inputs
4464 `(("go-github-com-shurcool-sanitized-anchor-name"
4465 ,go-github-com-shurcool-sanitized-anchor-name)))
4466 (native-inputs
4467 `(("go-github-com-pmezard-go-difflib" ,go-github-com-pmezard-go-difflib)))
4468 (home-page "https://github.com/russross/blackfriday")
4469 (synopsis "Markdown processor in Go")
4470 (description "Blackfriday is a Markdown processor in Go.")
4471 (license license:bsd-2)))
4472
4473 (define-public go-github-com-shurcool-sanitized-anchor-name
4474 (package
4475 (name "go-github-com-shurcool-sanitized-anchor-name")
4476 (version "1.0.0")
4477 (source
4478 (origin
4479 (method git-fetch)
4480 (uri (git-reference
4481 (url "https://github.com/shurcooL/sanitized_anchor_name")
4482 (commit (string-append "v" version))))
4483 (file-name (git-file-name name version))
4484 (sha256
4485 (base32
4486 "1gv9p2nr46z80dnfjsklc6zxbgk96349sdsxjz05f3z6wb6m5l8f"))))
4487 (build-system go-build-system)
4488 (arguments
4489 '(#:import-path "github.com/shurcooL/sanitized_anchor_name"))
4490 (home-page "https://github.com/shurcooL/sanitized_anchor_name")
4491 (synopsis "Create sanitized anchor names")
4492 (description "This package provides a Go program for creating sanitized
4493 anchor names.")
4494 (license license:expat)))
4495
4496 (define-public go-github-com-pmezard-go-difflib
4497 (package
4498 (name "go-github-com-pmezard-go-difflib")
4499 (version "1.0.0")
4500 (source (origin
4501 (method git-fetch)
4502 (uri (git-reference
4503 (url "https://github.com/pmezard/go-difflib")
4504 (commit (string-append "v" version))))
4505 (file-name (git-file-name name version))
4506 (sha256
4507 (base32
4508 "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"))))
4509 (build-system go-build-system)
4510 (arguments
4511 '(#:import-path "github.com/pmezard/go-difflib/difflib"
4512 #:unpack-path "github.com/pmezard/go-difflib/"))
4513 (home-page "https://github.com/pmezard/go-difflib")
4514 (synopsis "Go diff implementation")
4515 (description "This package provides unified and context-aware diffs in Go.")
4516 (license license:bsd-3)))
4517
4518 (define-public go-github-com-whyrusleeping-json-filter
4519 (let ((commit "ff25329a9528f01c5175414f16cc0a6a162a5b8b")
4520 (revision "0"))
4521 (package
4522 (name "go-github-com-whyrusleeping-json-filter")
4523 (version (git-version "0.0.0" revision commit))
4524 (source
4525 (origin
4526 (method git-fetch)
4527 (uri (git-reference
4528 (url "https://github.com/whyrusleeping/json-filter")
4529 (commit commit)))
4530 (file-name (git-file-name name version))
4531 (sha256
4532 (base32
4533 "0cai0drvx4c8j686l908vpcsz3mw3vxi3ziz94b0f3c5ylpj07j7"))))
4534 (build-system go-build-system)
4535 (arguments
4536 '(#:import-path
4537 "github.com/whyrusleeping/json-filter"))
4538 (home-page "https://github.com/whyrusleeping/json-filter")
4539 (synopsis "Library to query JSON objects marshalled into map[string]interface")
4540 (description "A library to query JSON objects marshalled into
4541 @command{map[string]interface{}}.")
4542 (license license:expat))))
4543
4544 (define-public go-github-com-whyrusleeping-progmeter
4545 (let ((commit "f3e57218a75b913eff88d49a52c1debf9684ea04")
4546 (revision "0"))
4547 (package
4548 (name "go-github-com-whyrusleeping-progmeter")
4549 (version (git-version "0.0.0" revision commit))
4550 (source
4551 (origin
4552 (method git-fetch)
4553 (uri (git-reference
4554 (url "https://github.com/whyrusleeping/progmeter")
4555 (commit commit)))
4556 (file-name (git-file-name name version))
4557 (sha256
4558 (base32
4559 "0xs8rz6yhpvj9512c5v3b8dwr2kivywnyyfxzdfbr6fy1xc8zskb"))))
4560 (build-system go-build-system)
4561 (arguments
4562 '(#:import-path
4563 "github.com/whyrusleeping/progmeter"))
4564 (home-page "https://github.com/whyrusleeping/progmeter")
4565 (synopsis "Progress meter for Go")
4566 (description "Progress meter for Go.")
4567 (license license:expat))))
4568
4569 (define-public go-github-com-whyrusleeping-stump
4570 (let ((commit "206f8f13aae1697a6fc1f4a55799faf955971fc5")
4571 (revision "0"))
4572 (package
4573 (name "go-github-com-whyrusleeping-stump")
4574 (version (git-version "0.0.0" revision commit))
4575 (source
4576 (origin
4577 (method git-fetch)
4578 (uri (git-reference
4579 (url "https://github.com/whyrusleeping/stump")
4580 (commit commit)))
4581 (file-name (git-file-name name version))
4582 (sha256
4583 (base32
4584 "1s40qdppjnk8gijk7x6kbviiqz62nz3h6gic2q9cwcmq8r5isw7n"))))
4585 (build-system go-build-system)
4586 (arguments
4587 '(#:import-path "github.com/whyrusleeping/stump"))
4588 (home-page "https://github.com/whyrusleeping/stump")
4589 (synopsis "Very basic logging package for Go")
4590 (description "A simple log library, for when you don't really care to
4591 have super fancy logs.")
4592 (license license:expat))))
4593
4594 (define-public go-github-com-kr-fs
4595 (let ((commit "1455def202f6e05b95cc7bfc7e8ae67ae5141eba")
4596 (revision "0"))
4597 (package
4598 (name "go-github-com-kr-fs")
4599 (version (git-version "0.1.0" revision commit))
4600 (source
4601 (origin
4602 (method git-fetch)
4603 (uri (git-reference
4604 (url "https://github.com/kr/fs")
4605 (commit commit)))
4606 (file-name (git-file-name name version))
4607 (sha256
4608 (base32
4609 "11zg176x9hr9q7fsk95r6q0wf214gg4czy02slax4x56n79g6a7q"))))
4610 (build-system go-build-system)
4611 (arguments
4612 '(#:import-path "github.com/kr/fs"))
4613 (home-page "https://github.com/kr/fs")
4614 (synopsis "File-system-related functions for Go")
4615 (description
4616 "The fs package provides file-system-related Go functions.")
4617 (license license:bsd-3))))
4618
4619 (define-public go-github-com-direnv-go-dotenv
4620 (let ((commit "4cce6d1a66f7bc8dc730eab85cab6af1b801abed")
4621 (revision "0"))
4622 (package
4623 (name "go-github-com-direnv-go-dotenv")
4624 (version (git-version "0.0.0" revision commit))
4625 (source
4626 (origin
4627 (method git-fetch)
4628 (uri (git-reference
4629 (url "https://github.com/direnv/go-dotenv")
4630 (commit commit)))
4631 (file-name (git-file-name name version))
4632 (sha256
4633 (base32
4634 "00wn4fc2lma0csf6ryvlc6k9jbpbifm4n7i3kkd2xrfw5qlm29b6"))))
4635 (build-system go-build-system)
4636 (arguments
4637 '(#:import-path "github.com/direnv/go-dotenv"))
4638 (home-page "https://github.com/direnv/go-dotenv")
4639 (synopsis "Go dotenv parsing library")
4640 (description "This package provides a library for parsing the dotenv
4641 format in Go.")
4642 (license license:expat))))
4643
4644 (define-public go-github-com-kr-pretty
4645 (package
4646 (name "go-github-com-kr-pretty")
4647 (version "0.2.1")
4648 (source (origin
4649 (method git-fetch)
4650 (uri (git-reference
4651 (url "https://github.com/kr/pretty")
4652 (commit (string-append "v" version))))
4653 (file-name (git-file-name name version))
4654 (sha256
4655 (base32
4656 "0vzfz06y9q8gs2nxx0kys0591vzp78k0fvpb8digi5n15h3b25hy"))))
4657 (build-system go-build-system)
4658 (propagated-inputs
4659 `(("go-github-com-kr-text" ,go-github-com-kr-text)))
4660 (arguments
4661 '(#:import-path "github.com/kr/pretty"))
4662 (synopsis "Pretty printer for Go values")
4663 (description "This package provides a pretty printer for Go values.")
4664 (home-page "https://github.com/kr/pretty")
4665 (license license:expat)))
4666
4667 (define-public go-github-com-kylelemons-godebug
4668 (package
4669 (name "go-github-com-kylelemons-godebug")
4670 (version "1.1.0")
4671 (source
4672 (origin
4673 (method git-fetch)
4674 (uri (git-reference
4675 (url "https://github.com/kylelemons/godebug")
4676 (commit (string-append "v" version))))
4677 (file-name (git-file-name name version))
4678 (sha256
4679 (base32
4680 "0dkk3friykg8p6wgqryx6745ahhb9z1j740k7px9dac6v5xjp78c"))))
4681 (build-system go-build-system)
4682 (arguments
4683 '(#:import-path "github.com/kylelemons/godebug/diff"
4684 #:unpack-path "github.com/kylelemons/godebug"))
4685 (home-page "https://github.com/kylelemons/godebug")
4686 (synopsis "Pretty printer for Go values.")
4687 (description
4688 "This package will pretty print a compact representation of a Go data
4689 structure. It can also produce a much more verbose, one-item-per-line
4690 representation suitable for computing diffs.")
4691 (license license:asl2.0)))
4692
4693 (define-public go-github-com-kr-text
4694 (package
4695 (name "go-github-com-kr-text")
4696 (version "0.1.0")
4697 (source (origin
4698 (method git-fetch)
4699 (uri (git-reference
4700 (url "https://github.com/kr/text")
4701 (commit (string-append "v" version))))
4702 (file-name (git-file-name name version))
4703 (sha256
4704 (base32
4705 "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1"))))
4706 (build-system go-build-system)
4707 (arguments
4708 '(#:import-path "github.com/kr/text"))
4709 (synopsis "Text formatting in Go")
4710 (description "This package provides a text formatting functions in Go.")
4711 (home-page "https://github.com/kr/text")
4712 (license license:expat)))
4713
4714 (define-public go-golang-org-sql-mock
4715 (let ((commit "e98392b8111b45f8126e00af035a0dd95dc12e8b")
4716 (version "1.3.3")
4717 (revision "1"))
4718 (package
4719 (name "go-golang-org-sql-mock")
4720 (version (git-version version revision commit))
4721 (source (origin
4722 (method git-fetch)
4723 (uri (git-reference
4724 (url "https://github.com/DATA-DOG/go-sqlmock")
4725 (commit commit)))
4726 (file-name (git-file-name name version))
4727 (sha256
4728 (base32
4729 "033vv29g2wf6fd757ajfmha30bqin3b07377037zkl051mk6mghs"))))
4730 (build-system go-build-system)
4731 (arguments
4732 '(#:import-path "github.com/DATA-DOG/go-sqlmock"))
4733 (synopsis "Mock library implementing @code{sql/driver}")
4734 (description "This library simulates SQL-driver behavior in tests
4735 without requiring a real database connection.")
4736 (home-page "https://github.com/DATA-DOG/go-sqlmock")
4737 (license license:expat))))
4738
4739 (define-public go-github-com-go-sql-driver-mysql
4740 (package
4741 (name "go-github-com-go-sql-driver-mysql")
4742 (version "1.5.0")
4743 (source
4744 (origin
4745 (method git-fetch)
4746 (uri (git-reference
4747 (url "https://github.com/go-sql-driver/mysql")
4748 (commit (string-append "v" version))))
4749 (file-name (git-file-name name version))
4750 (sha256
4751 (base32
4752 "11x0m9yf3kdnf6981182r824psgxwfaqhn3x3in4yiidp0w0hk3v"))))
4753 (build-system go-build-system)
4754 (arguments
4755 '(#:tests? #f ;; tests require a network connection
4756 #:import-path "github.com/go-sql-driver/mysql"))
4757 (home-page "https://github.com/go-sql-driver/mysql")
4758 (synopsis "MySQL driver for golang")
4759 (description
4760 "This is a pure Go implementation of the MySQL API, compatible with
4761 golang's database/sql package.")
4762 (license license:mpl2.0)))
4763
4764 (define-public go-golang-org-colorful
4765 (package
4766 (name "go-golang-org-colorful")
4767 (version "1.0.2")
4768 (source (origin
4769 (method git-fetch)
4770 (uri (git-reference
4771 (url "https://github.com/lucasb-eyer/go-colorful")
4772 (commit (string-append "v" version))))
4773 (file-name (git-file-name name version))
4774 (sha256
4775 (base32
4776 "0fig06880bvk1l92j4127v4x9sar4ds7ga8959gxxghb2w70b7l2"))))
4777 (build-system go-build-system)
4778 (arguments
4779 '(#:import-path "github.com/lucasb-eyer/go-colorful"))
4780 (native-inputs
4781 `(("go-golang-org-sql-mock" ,go-golang-org-sql-mock)))
4782 (synopsis "Convert between colorspaces and generate colors")
4783 (description "This package implements Go's @code{color.Color} interface
4784 and provides a means of converting colors stored as RGB to various
4785 colorspaces.")
4786 (home-page "https://github.com/lucasb-eyer/go-colorful")
4787 (license license:expat)))
4788
4789 (define-public go-github-com-gdamore-encoding
4790 (package
4791 (name "go-github-com-gdamore-encoding")
4792 (version "1.0.0")
4793 (source
4794 (origin
4795 (method git-fetch)
4796 (uri (git-reference
4797 (url "https://github.com/gdamore/encoding")
4798 (commit (string-append "v" version))))
4799 (file-name (git-file-name name version))
4800 (sha256
4801 (base32
4802 "1vmm5zll92i2fm4ajqx0gyx0p9j36496x5nabi3y0x7h0inv0pk9"))))
4803 (build-system go-build-system)
4804 (arguments
4805 '(#:import-path "github.com/gdamore/encoding"))
4806 (inputs
4807 `(("go-golang-org-x-text" ,go-golang-org-x-text)))
4808 (home-page "https://github.com/gdamore/encoding")
4809 (synopsis "Provide encodings missing from Go")
4810 (description "This package provides useful encodings not included in the
4811 standard @code{Text} package, including some for dealing with I/O streams from
4812 non-UTF-friendly sources.")
4813 (license license:expat)))
4814
4815 (define-public go-github-com-gdamore-tcell
4816 (let ((commit "aaadc574a6ed8dc3abe56036ca130dcee1ee6b6e")
4817 (version "1.1.2")
4818 (revision "1"))
4819 (package
4820 (name "go-github-com-gdamore-tcell")
4821 (version (git-version version revision commit))
4822 (source
4823 (origin
4824 (method git-fetch)
4825 (uri (git-reference
4826 (url "https://github.com/gdamore/tcell")
4827 (commit commit)))
4828 (file-name (git-file-name name version))
4829 (sha256
4830 (base32
4831 "0il2nnxp2cqiy73m49215dnf9in3vd25ji8qxbmq87c5qy7i1q9d"))))
4832 (build-system go-build-system)
4833 (arguments
4834 `(#:import-path "github.com/gdamore/tcell"
4835 #:phases
4836 (modify-phases %standard-phases
4837 (add-before 'reset-gzip-timestamps 'make-files-writable
4838 (lambda* (#:key outputs #:allow-other-keys)
4839 ;; Make sure .gz files are writable so that the
4840 ;; 'reset-gzip-timestamps' phase can do its work.
4841 (let ((out (assoc-ref outputs "out")))
4842 (for-each make-file-writable
4843 (find-files out "\\.gz$"))
4844 #t))))))
4845 (inputs
4846 `(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
4847 ("go-golang-org-colorful" ,go-golang-org-colorful)
4848 ("go-golang-org-x-text" ,go-golang-org-x-text)
4849 ("go-github-com-gdamore-encoding" ,go-github-com-gdamore-encoding)))
4850 (home-page "https://github.com/gdamore/tcell")
4851 (synopsis "Provide a cell-based view for text terminals")
4852 (description "This package includes a full parser and expander for
4853 terminfo capability strings to avoid hard-coding escape strings for
4854 formatting. It also favors portability, and includes support for all POSIX
4855 systems.")
4856 (license license:expat))))
4857
4858 (define-public go-github-com-mattn-go-shellwords
4859 (let ((commit "2444a32a19f450fabaa0bb3e96a703f15d9a97d2")
4860 (version "1.0.5")
4861 (revision "1"))
4862 (package
4863 (name "go-github-com-mattn-go-shellwords")
4864 (version (git-version version revision commit))
4865 (source
4866 (origin
4867 (method git-fetch)
4868 (uri (git-reference
4869 (url "https://github.com/mattn/go-shellwords")
4870 (commit commit)))
4871 (file-name (git-file-name name version))
4872 (sha256
4873 (base32
4874 "08zcgr1az1n8zaxzwdd205j86hczgyc52nxfnw5avpw7rrkf7v0d"))))
4875 (build-system go-build-system)
4876 (arguments
4877 `(#:import-path "github.com/mattn/go-shellwords"
4878 ;; TODO: can't make homeless-shelter:
4879 ;; go: disabling cache (/homeless-shelter/.cache/go-build) due to
4880 ;; initialization failure: mkdir /homeless-shelter: permission denied
4881
4882 ;; This doesn't seem to work:
4883
4884 ;; #:phases
4885 ;; (modify-phases %standard-phases
4886 ;; (replace 'check
4887 ;; (lambda* (#:key import-path #:allow-other-keys)
4888 ;; (setenv "HOME" "/tmp")
4889 ;; (invoke "go" "test" import-path))))
4890
4891 ;; TODO: There are also a couple of tests that have stymied Debian in
4892 ;; the past. They seem to work when run locally.
4893
4894 #:tests? #f
4895 ))
4896 (home-page "https://github.com/mattn/go-shellwords")
4897 (synopsis "Parse lines into shell words")
4898 (description "This package parses text into shell arguments. Based on
4899 the @code{cpan} module @code{Parse::CommandLine}.")
4900 (license license:expat))))
4901
4902 (define-public go-github-com-burntsushi-locker
4903 (let ((commit "a6e239ea1c69bff1cfdb20c4b73dadf52f784b6a")
4904 (revision "0"))
4905 (package
4906 (name "go-github-com-burntsushi-locker")
4907 (version (git-version "0.0.0" revision commit))
4908 (source
4909 (origin
4910 (method git-fetch)
4911 (uri (git-reference
4912 (url "https://github.com/BurntSushi/locker")
4913 (commit commit)))
4914 (file-name (git-file-name name version))
4915 (sha256
4916 (base32
4917 "1xak4aync4klswq5217qvw191asgla51jr42y94vp109lirm5dzg"))))
4918 (build-system go-build-system)
4919 (arguments
4920 '(#:import-path "github.com/BurntSushi/locker"))
4921 (home-page "https://github.com/BurntSushi/locker")
4922 (synopsis "Manage named ReadWrite mutexes in Go")
4923 (description "Golang package for conveniently using named read/write
4924 locks. These appear to be especially useful for synchronizing access to
4925 session based information in web applications.
4926
4927 The common use case is to use the package level functions, which use a package
4928 level set of locks (safe to use from multiple goroutines
4929 simultaneously). However, you may also create a new separate set of locks
4930 test.
4931
4932 All locks are implemented with read-write mutexes. To use them like a regular
4933 mutex, simply ignore the RLock/RUnlock functions.")
4934 (license license:unlicense))))
4935
4936 (define-public go-github-com-marten-seemann-qtls
4937 (package
4938 (name "go-github-com-marten-seemann-qtls")
4939 (version "0.4.1")
4940 (source (origin
4941 (method git-fetch)
4942 (uri (git-reference
4943 (url "https://github.com/marten-seemann/qtls")
4944 (commit (string-append "v" version))))
4945 (file-name (git-file-name name version))
4946 (sha256
4947 (base32
4948 "0dz60y98nm7l70hamq0v2vrs2dspyr5yqhnrds2dfh7hchxvq76j"))))
4949 (build-system go-build-system)
4950 (arguments
4951 '(#:import-path "github.com/marten-seemann/qtls"
4952 ;; The test suite requires networking.
4953 #:tests? #f))
4954 (propagated-inputs
4955 `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
4956 (synopsis "TLS 1.3 with QUIC in Go")
4957 (description "This package provides @code{qtls}, a QUIC-capable variant of
4958 the Go standard library's TLS 1.3 implementation.")
4959 (home-page "https://github.com/marten-seemann/qtls")
4960 (license license:bsd-3)))
4961
4962 (define-public go-github-com-marten-seemann-chacha20
4963 (package
4964 (name "go-github-com-marten-seemann-chacha20")
4965 (version "0.2.0")
4966 (source (origin
4967 (method git-fetch)
4968 (uri (git-reference
4969 (url "https://github.com/marten-seemann/chacha20")
4970 (commit (string-append "v" version))))
4971 (file-name (git-file-name name version))
4972 (sha256
4973 (base32
4974 "0x1j4cvbap45zk962qkjalc1h3axhzzdy9cdzhcjmprmm1ql4gjm"))))
4975 (build-system go-build-system)
4976 (arguments
4977 '(#:import-path "github.com/marten-seemann/chacha20"))
4978 (synopsis "ChaCha20 in Go")
4979 (description "This package is an external copy of the Go standard library's
4980 internal ChaCha20 package.")
4981 (home-page "https://github.com/marten-seemann/chacha20")
4982 (license license:bsd-3)))
4983
4984 (define-public go-github-com-cheekybits-genny
4985 (package
4986 (name "go-github-com-cheekybits-genny")
4987 (version "1.0.0")
4988 (source (origin
4989 (method git-fetch)
4990 (uri (git-reference
4991 (url "https://github.com/cheekybits/genny")
4992 (commit (string-append "v" version))))
4993 (file-name (git-file-name name version))
4994 (sha256
4995 (base32
4996 "1pcir5ic86713aqa51581rfb67rgc3m0c72ddjfcp3yakv9vyq87"))))
4997 (build-system go-build-system)
4998 (arguments
4999 '(#:import-path "github.com/cheekybits/genny"))
5000 (propagated-inputs
5001 `(("go-golang-org-x-tools" ,go-golang-org-x-tools)))
5002 (synopsis "Generics for Go")
5003 (description "This package provides @code{genny}, a Go language
5004 implementation of generics.")
5005 (home-page "https://github.com/cheekybits/genny/")
5006 (license license:expat)))
5007
5008 (define-public go-github-com-lucas-clemente-quic-go
5009 (package
5010 (name "go-github-com-lucas-clemente-quic-go")
5011 (version "0.14.4")
5012 (source (origin
5013 (method git-fetch)
5014 (uri (git-reference
5015 (url "https://github.com/lucas-clemente/quic-go")
5016 (commit (string-append "v" version))))
5017 (file-name (git-file-name name version))
5018 (sha256
5019 (base32
5020 "04l3gqbc3gh079n8vgnrsf8ypgv8sl63xjf28jqfrb45v2l73vyz"))))
5021 (build-system go-build-system)
5022 (arguments
5023 '(#:import-path "github.com/lucas-clemente/quic-go"
5024 ;; XXX More packages required...
5025 #:tests? #f))
5026 (propagated-inputs
5027 `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
5028 ("go-github-com-cheekybits-genny" ,go-github-com-cheekybits-genny)
5029 ("go-github-com-marten-seemann-chacha20" ,go-github-com-marten-seemann-chacha20)
5030 ("go-github-com-marten-seemann-qtls" ,go-github-com-marten-seemann-qtls)
5031 ("go-github-com-golang-protobuf-proto" ,go-github-com-golang-protobuf-proto)))
5032 (synopsis "QUIC in Go")
5033 (description "This package provides a Go language implementation of the QUIC
5034 network protocol.")
5035 (home-page "https://github.com/lucas-clemente/quic-go")
5036 (license license:expat)))
5037
5038 (define-public go-github-com-francoispqt-gojay
5039 (package
5040 (name "go-github-com-francoispqt-gojay")
5041 (version "1.2.13")
5042 (source (origin
5043 (method git-fetch)
5044 (uri (git-reference
5045 (url "https://github.com/francoispqt/gojay")
5046 (commit (string-append "v" version))))
5047 (file-name (git-file-name name version))
5048 (sha256
5049 (base32
5050 "1ix95qdyajfmxhf9y52vjrih63f181pjs4v5as8905s4d5vmkd06"))))
5051 (build-system go-build-system)
5052 (arguments
5053 '(#:import-path "github.com/francoispqt/gojay"))
5054 (propagated-inputs
5055 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
5056 (synopsis "JSON encoder/decoder with powerful stream API for Golang")
5057 (description "GoJay is a performant JSON encoder/decoder for Golang. It has
5058 a simple API and doesn't use reflection. It relies on small interfaces to
5059 decode/encode structures and slices.")
5060 (home-page "https://github.com/francoispqt/gojay")
5061 (license license:expat)))
5062
5063 (define-public go-github-com-pkg-errors
5064 (package
5065 (name "go-github-com-pkg-errors")
5066 (version "0.9.1")
5067 (source (origin
5068 (method git-fetch)
5069 (uri (git-reference
5070 (url "https://github.com/pkg/errors")
5071 (commit (string-append "v" version))))
5072 (file-name (git-file-name name version))
5073 (sha256
5074 (base32
5075 "1761pybhc2kqr6v5fm8faj08x9bql8427yqg6vnfv6nhrasx1mwq"))))
5076 (build-system go-build-system)
5077 (arguments
5078 `(#:import-path "github.com/pkg/errors"))
5079 (synopsis "Go error handling primitives")
5080 (description "This package provides @code{error}, which offers simple
5081 error handling primitives in Go.")
5082 (home-page "https://github.com/pkg/errors")
5083 (license license:bsd-2)))
5084
5085 (define-public go-github-com-maruel-panicparse
5086 (package
5087 (name "go-github-com-maruel-panicparse")
5088 (version "1.3.0")
5089 (source (origin
5090 (method git-fetch)
5091 (uri (git-reference
5092 (url "https://github.com/maruel/panicparse")
5093 (commit (string-append "v" version))))
5094 (file-name (git-file-name name version))
5095 (sha256
5096 (base32
5097 "13qkn7f64yln8jdmma37h6ra4c7anxkp3vfgvfyb6lb07dpr1ibq"))))
5098 (build-system go-build-system)
5099 (arguments
5100 '(#:import-path "github.com/maruel/panicparse"))
5101 (synopsis "Toolkit for parsing Go stack traces")
5102 (description "This package provides a toolkit for parsing Go language panic
5103 stack traces. It simplifies the traces to make salient information more visible
5104 and aid debugging.")
5105 (home-page "https://github.com/maruel/panicparse")
5106 (license license:asl2.0)))
5107
5108 (define-public go-github-com-robfig-cron
5109 (package
5110 (name "go-github-com-robfig-cron")
5111 (version "3.0.1")
5112 (source
5113 (origin
5114 (method git-fetch)
5115 (uri (git-reference
5116 (url "https://github.com/robfig/cron")
5117 (commit (string-append "v" version))))
5118 (file-name (git-file-name name version))
5119 (sha256
5120 (base32
5121 "1agzbw2dfk2d1mpmddr85s5vh6ygm8kqrvfg87i9d2wqnlsnliqm"))))
5122 (build-system go-build-system)
5123 (arguments
5124 `(#:import-path "github.com/robfig/cron"))
5125 (home-page "https://godoc.org/github.com/robfig/cron")
5126 (synopsis "Cron library for Go")
5127 (description "This package provides a cron library for Go. It implements
5128 a cron spec parser and job runner.")
5129 (license license:expat)))
5130
5131 (define-public go-github-com-shirou-gopsutil
5132 (let ((commit "47ef3260b6bf6ead847e7c8fc4101b33c365e399")
5133 (revision "0"))
5134 (package
5135 (name "go-github-com-shirou-gopsutil")
5136 (version (git-version "v2.19.7" revision commit))
5137 (source (origin
5138 (method git-fetch)
5139 (uri (git-reference
5140 (url "https://github.com/shirou/gopsutil")
5141 (commit commit))) ; XXX
5142 (file-name (git-file-name name version))
5143 (sha256
5144 (base32
5145 "0x1g4r32q4201nr2b754xnrrndmwsrhfr7zg37spya86qrmijnws"))))
5146 (build-system go-build-system)
5147 (arguments
5148 '(#:import-path "github.com/shirou/gopsutil"))
5149 (synopsis "Process and system monitoring in Go")
5150 (description "This package provides a library for retrieving information
5151 on running processes and system utilization (CPU, memory, disks, network,
5152 sensors).")
5153 (home-page "https://github.com/shirou/gopsutil")
5154 (license license:bsd-3))))
5155
5156 (define-public go-github-com-danwakefield-fnmatch
5157 (let ((commit "cbb64ac3d964b81592e64f957ad53df015803288")
5158 (revision "0"))
5159 (package
5160 (name "go-github-com-danwakefield-fnmatch")
5161 (version (git-version "0.0.0" revision commit))
5162 (source
5163 (origin
5164 (method git-fetch)
5165 (uri (git-reference
5166 (url "https://github.com/danwakefield/fnmatch")
5167 (commit commit)))
5168 (sha256
5169 (base32
5170 "0cbf511ppsa6hf59mdl7nbyn2b2n71y0bpkzbmfkdqjhanqh1lqz"))
5171 (file-name (git-file-name name version))))
5172 (build-system go-build-system)
5173 (arguments
5174 '(#:import-path "github.com/danwakefield/fnmatch"))
5175 (home-page "https://github.com/danwakefield/fnmatch")
5176 (synopsis "Updated clone of kballards golang fnmatch gist")
5177 (description "This package provides an updated clone of kballards golang
5178 fnmatch gist (https://gist.github.com/kballard/272720).")
5179 (license license:bsd-2))))
5180
5181 (define-public go-github-com-ddevault-go-libvterm
5182 (let ((commit "b7d861da381071e5d3701e428528d1bfe276e78f")
5183 (revision "0"))
5184 (package
5185 (name "go-github-com-ddevault-go-libvterm")
5186 (version (git-version "0.0.0" revision commit))
5187 (source
5188 (origin
5189 (method git-fetch)
5190 (uri (git-reference
5191 (url "https://github.com/ddevault/go-libvterm")
5192 (commit commit)))
5193 (sha256
5194 (base32
5195 "06vv4pgx0i6hjdjcar4ch18hp9g6q6687mbgkvs8ymmbacyhp7s6"))
5196 (file-name (git-file-name name version))))
5197 (build-system go-build-system)
5198 (arguments
5199 '(#:import-path "github.com/ddevault/go-libvterm"))
5200 (propagated-inputs
5201 `(("go-github-com-mattn-go-pointer" ,go-github-com-mattn-go-pointer)))
5202 (home-page "https://github.com/ddevault/go-libvterm")
5203 (synopsis "Go binding to libvterm")
5204 (description
5205 "This is a fork of another go-libvterm library for use with aerc.")
5206 (license license:expat))))
5207
5208 (define-public go-github-com-emersion-go-imap
5209 (package
5210 (name "go-github-com-emersion-go-imap")
5211 (version "1.0.0")
5212 (source
5213 (origin
5214 (method git-fetch)
5215 (uri (git-reference
5216 (url "https://github.com/emersion/go-imap")
5217 (commit (string-append "v" version))))
5218 (sha256
5219 (base32
5220 "1id8j2d0rn9sj8y62xhyygqpk5ygrcl9jlfx92sm1jsvxsm3kywq"))
5221 (file-name (git-file-name name version))))
5222 (build-system go-build-system)
5223 (arguments
5224 '(#:import-path "github.com/emersion/go-imap"))
5225 (native-inputs
5226 `(("go-golang-org-x-text" ,go-golang-org-x-text)))
5227 (home-page "https://github.com/emersion/go-imap")
5228 (synopsis "IMAP4rev1 library written in Go")
5229 (description "This package provides an IMAP4rev1 library written in Go. It
5230 can be used to build a client and/or a server.")
5231 (license license:expat)))
5232
5233 (define-public go-github-com-emersion-go-sasl
5234 (let ((commit "240c8404624e076f633766c16adbe96c7ac516b7")
5235 (revision "0"))
5236 (package
5237 (name "go-github-com-emersion-go-sasl")
5238 (version (git-version "0.0.0" revision commit))
5239 (source
5240 (origin
5241 (method git-fetch)
5242 (uri (git-reference
5243 (url "https://github.com/emersion/go-sasl")
5244 (commit commit)))
5245 (sha256
5246 (base32
5247 "1py18p3clp474xhx6ypyp0bgv6n1dfm24m95cyyqb0k3vibar6ih"))
5248 (file-name (git-file-name name version))))
5249 (build-system go-build-system)
5250 (arguments
5251 '(#:import-path "github.com/emersion/go-sasl"))
5252 (home-page "https://github.com/emersion/go-sasl")
5253 (synopsis "SASL library written in Go")
5254 (description "This package provides a SASL library written in Go.")
5255 (license license:expat))))
5256
5257 (define-public go-github-com-emersion-go-imap-idle
5258 (let ((commit "2704abd7050ed7f2143753554ee23affdf847bd9")
5259 (revision "0"))
5260 (package
5261 (name "go-github-com-emersion-go-imap-idle")
5262 (version (git-version "0.0.0" revision commit))
5263 (source
5264 (origin
5265 (method git-fetch)
5266 (uri (git-reference
5267 (url "https://github.com/emersion/go-imap-idle")
5268 (commit commit)))
5269 (sha256
5270 (base32
5271 "0blwcadmxgqsdwgr9m4jqfbpfa2viw5ah19xbybpa1z1z4aj5cbc"))
5272 (file-name (git-file-name name version))))
5273 (build-system go-build-system)
5274 (arguments
5275 '(#:import-path "github.com/emersion/go-imap-idle"))
5276 (native-inputs
5277 `(("go-github-com-emersion-go-imap" ,go-github-com-emersion-go-imap)
5278 ("go-github-com-emersion-go-sasl" ,go-github-com-emersion-go-sasl)
5279 ("go-golang-org-x-text" ,go-golang-org-x-text)))
5280 (home-page "https://github.com/emersion/go-imap-idle")
5281 (synopsis "IDLE extension for go-imap")
5282 (description "This package provides an IDLE extension for go-imap.")
5283 (license license:expat))))
5284
5285 (define-public go-github-com-fatih-color
5286 (package
5287 (name "go-github-com-fatih-color")
5288 (version "1.8.0")
5289 (source (origin
5290 (method git-fetch)
5291 (uri (git-reference
5292 (url "https://github.com/fatih/color")
5293 (commit (string-append "v" version))))
5294 (file-name (git-file-name name version))
5295 (sha256
5296 (base32
5297 "1zc0zlilf03h121f9jqq3ar0hfm7706547zysxp2qxbm920pz7h0"))))
5298 (build-system go-build-system)
5299 (arguments
5300 '(#:import-path "github.com/fatih/color"))
5301 (synopsis "Print colored text in Go")
5302 (description "This package provides an ANSI color package to output
5303 colorized or SGR defined output to the standard output.")
5304 (home-page "https://godoc.org/github.com/fatih/color")
5305 (license license:expat)))
5306
5307 (define-public go-github-com-google-go-cmp-cmp
5308 (package
5309 (name "go-github-com-google-go-cmp-cmp")
5310 (version "0.5.2")
5311 (source (origin
5312 (method git-fetch)
5313 (uri (git-reference
5314 (url "https://github.com/google/go-cmp")
5315 (commit (string-append "v" version))))
5316 (file-name (git-file-name name version))
5317 (sha256
5318 (base32
5319 "0qchy411jm9q2l9mf7x3ry2ycaqp9xdhf2nx14qrpzcxfigv2705"))))
5320 (build-system go-build-system)
5321 (arguments
5322 '(#:import-path "github.com/google/go-cmp/cmp"
5323 #:unpack-path "github.com/google/go-cmp"))
5324 (propagated-inputs
5325 `(("go-golang-org-x-xerrors" ,go-golang-org-x-xerrors)))
5326 (synopsis "Determine equality of values in Go")
5327 (description "This package provides a more powerful and safer
5328 alternative to @code{reflect.DeepEqual} for comparing whether two values
5329 are semantically equal in Go (for writing tests).")
5330 (home-page "https://godoc.org/github.com/google/go-cmp/cmp")
5331 (license license:asl2.0)))
5332
5333 (define-public go-github-com-google-uuid
5334 (package
5335 (name "go-github-com-google-uuid")
5336 (version "1.1.1")
5337 (source (origin
5338 (method git-fetch)
5339 (uri (git-reference
5340 (url "https://github.com/google/uuid")
5341 (commit (string-append "v" version))))
5342 (file-name (git-file-name name version))
5343 (sha256
5344 (base32
5345 "0hfxcf9frkb57k6q0rdkrmnfs78ms21r1qfk9fhlqga2yh5xg8zb"))))
5346 (build-system go-build-system)
5347 (arguments
5348 '(#:import-path "github.com/google/uuid"))
5349 (home-page "https://github.com/google/uuid/")
5350 (synopsis "Generate and inspect UUIDs based on RFC 4122 and DCE 1.1")
5351 (description "The uuid package generates and inspects UUIDs based on RFC
5352 4122 and DCE 1.1: Authentication and Security Services.")
5353 (license license:bsd-3)))
5354
5355 (define-public go-github-com-google-goterm
5356 (let ((commit "fc88cf888a3fa99ecc23d1efc1a44284268457d3")
5357 (revision "1"))
5358 (package
5359 (name "go-github-com-google-goterm")
5360 (version (git-version "0.0.1" revision commit))
5361 (source (origin
5362 (method git-fetch)
5363 (uri (git-reference
5364 (url "https://github.com/google/goterm")
5365 (commit commit)))
5366 (file-name (git-file-name name version))
5367 (sha256
5368 (base32
5369 "0809sf02dhg2bjhsz43pmlb5d7nbsnwxls3lw01zw5p7ri9bqwfb"))))
5370 (build-system go-build-system)
5371 (arguments
5372 `(#:import-path "github.com/google/goterm/term"
5373 #:unpack-path "github.com/google/goterm"))
5374 (home-page "https://github.com/google/goterm/")
5375 (synopsis "PTY creation and termios get/set attributes")
5376 (description "The term package implements PTY creation and termios get/set
5377 attributes. It also contains some convenience functions for colors, SSH to
5378 and from termios translations, readCh, reading passwords, etc.")
5379 (license license:bsd-3))))
5380
5381 (define-public go-github-com-google-go-querystring
5382 (let ((commit "992e8021cf787c100d55520d5c906e01536c0a19") ;fix format in tests
5383 (revision "1"))
5384 (package
5385 (name "go-github-com-google-go-querystring")
5386 (version "1.0.0")
5387 (source (origin
5388 (method git-fetch)
5389 (uri (git-reference
5390 (url "https://github.com/google/go-querystring")
5391 (commit commit)))
5392 (file-name (git-file-name name version))
5393 (sha256
5394 (base32
5395 "0mbx4jvf7nz4sk2fgqfq1llz4xb3vc4625b4x398mspr3a5077rs"))))
5396 (build-system go-build-system)
5397 (arguments
5398 `(#:import-path "github.com/google/go-querystring/query"
5399 #:unpack-path "github.com/google/go-querystring"))
5400 (home-page "https://github.com/google/go-querystring/")
5401 (synopsis "Library for encoding structs into URL query parameters")
5402 (description "@code{go-querystring} is Go library for encoding structs
5403 into URL query parameters.")
5404 (license license:bsd-3))))
5405
5406 (define-public go-github-com-google-go-github
5407 (package
5408 (name "go-github-com-google-go-github")
5409 (version "26.1.3")
5410 (source (origin
5411 (method git-fetch)
5412 (uri (git-reference
5413 (url "https://github.com/google/go-github")
5414 (commit (string-append "v" version))))
5415 (file-name (git-file-name name version))
5416 (sha256
5417 (base32
5418 "0x0zz1vcmllp6r6l2qin9b2llm5cxbf6n84rf99h8wrmhvzs2ipi"))))
5419 (build-system go-build-system)
5420 (arguments
5421 `(#:tests? #f ;application/octet-stream instead of text/plain
5422 #:import-path "github.com/google/go-github/v26/github"
5423 #:unpack-path "github.com/google/go-github/v26"))
5424 (native-inputs
5425 `(("go-github-com-google-go-querystring" ,go-github-com-google-go-querystring)
5426 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
5427 (home-page "https://github.com/google/go-github/")
5428 (synopsis "Client library for accessing the GitHub API v3")
5429 (description "@code{go-github} is a Go client library for accessing the
5430 GitHub API v3.")
5431 (license license:bsd-3)))
5432
5433 (define-public go-github-com-google-renameio
5434 (package
5435 (name "go-github-com-google-renameio")
5436 (version "0.1.0")
5437 (source (origin
5438 (method git-fetch)
5439 (uri (git-reference
5440 (url "https://github.com/google/renameio")
5441 (commit (string-append "v" version))))
5442 (file-name (git-file-name name version))
5443 (sha256
5444 (base32
5445 "1ki2x5a9nrj17sn092d6n4zr29lfg5ydv4xz5cp58z6cw8ip43jx"))))
5446 (build-system go-build-system)
5447 (arguments
5448 `(#:import-path "github.com/google/renameio"))
5449 (home-page "https://github.com/google/renameio/")
5450 (synopsis "Atomically create or replace a file or symbolic link")
5451 (description "@code{renameio} Go package provides a way to atomically
5452 create or replace a file or symbolic link.")
5453 (license license:asl2.0)))
5454
5455 (define-public go-golang.org-x-sync-errgroup
5456 (let ((commit "cd5d95a43a6e21273425c7ae415d3df9ea832eeb")
5457 (revision "0"))
5458 (package
5459 (name "go-golang.org-x-sync-errgroup")
5460 (version (git-version "0.0.0" revision commit))
5461 (source (origin
5462 (method git-fetch)
5463 (uri (git-reference
5464 (url "https://go.googlesource.com/sync")
5465 (commit commit)))
5466 (file-name (git-file-name name version))
5467 (sha256
5468 (base32
5469 "1nqkyz2y1qvqcma52ijh02s8aiqmkfb95j08f6zcjhbga3ds6hds"))))
5470 (build-system go-build-system)
5471 (arguments
5472 '(#:import-path "golang.org/x/sync/errgroup"
5473 #:unpack-path "golang.org/x/sync"))
5474 (synopsis "Synchronization, error propagation, and Context cancellation
5475 for groups of goroutines working on subtasks of a common task.")
5476 (description "This package provides synchronization, error propagation,
5477 and Context cancellation for groups of goroutines working on subtasks of a
5478 common task.")
5479 (home-page "https://godoc.org/golang.org/x/sync/errgroup")
5480 (license license:bsd-3))))
5481
5482 (define (go-gotest-tools-source version sha256-base32-hash)
5483 (origin
5484 (method git-fetch)
5485 (uri (git-reference
5486 (url "https://github.com/gotestyourself/gotest.tools")
5487 (commit (string-append "v" version))))
5488 (file-name (git-file-name "go-gotest-tools" version))
5489 (sha256
5490 (base32 sha256-base32-hash))))
5491
5492 ;; Note that version 3.0.0 is incompatible to 2.3.0.
5493 ;; See also <https://github.com/gotestyourself/gotest.tools/issues/166>.
5494 (define (go-gotest-tools-package suffix)
5495 (package
5496 (name (string-append "go-gotest-tools-"
5497 (string-replace-substring suffix "/" "-")))
5498 (version "2.3.0")
5499 (source
5500 (go-gotest-tools-source version
5501 "0071rjxp4xzcr3vprkaj1hdk35a3v45bx8v0ipk16wwc5hx84i2i"))
5502 (build-system go-build-system)
5503 (arguments
5504 `(#:import-path ,(string-append "gotest.tools/" suffix)
5505 #:unpack-path "gotest.tools"))
5506 (synopsis "@code{gotest-tools} part")
5507 (description "This package provides a part of @code{gotest-tools}.")
5508 (home-page "https://github.com/gotestyourself/gotest.tools")
5509 (license license:asl2.0)))
5510
5511 (define-public go-gotest-tools-internal-format
5512 (package (inherit (go-gotest-tools-package "internal/format"))
5513 (native-inputs
5514 `(("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
5515 ("go-github-com-google-go-cmp-cmp"
5516 ,go-github-com-google-go-cmp-cmp)))
5517 (synopsis "Formats messages for use with gotest-tools")
5518 (description "This package provides a way to format messages for use
5519 with gotest-tools.")))
5520
5521 (define-public go-gotest-tools-internal-difflib
5522 (package (inherit (go-gotest-tools-package "internal/difflib"))
5523 (synopsis "Differences for use with gotest-tools")
5524 (description "This package computes differences for use
5525 with gotest-tools.")))
5526
5527 (define-public go-gotest-tools-internal-source
5528 (package (inherit (go-gotest-tools-package "internal/source"))
5529 (native-inputs
5530 `(("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
5531 ("go-github-com-google-go-cmp-cmp" ,go-github-com-google-go-cmp-cmp)))
5532 (synopsis "Source code AST formatters for gotest-tools")
5533 (description "This package provides source code AST formatters for
5534 gotest-tools.")))
5535
5536 (define-public go-gotest-tools-assert
5537 (package (inherit (go-gotest-tools-package "assert"))
5538 (name "go-gotest-tools-assert")
5539 (arguments
5540 `(#:tests? #f ; Test failure concerning message formatting (FIXME)
5541 #:import-path "gotest.tools/assert"
5542 #:unpack-path "gotest.tools"))
5543 ;(propagated-inputs
5544 ; `(("go-gotest-tools-internal-format" ,go-gotest-tools-internal-format)))
5545 (native-inputs
5546 `(("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
5547 ("go-github-com-google-go-cmp-cmp"
5548 ,go-github-com-google-go-cmp-cmp)))
5549 (synopsis "Compare values and fail a test when a comparison fails")
5550 (description "This package provides a way to compare values and fail a
5551 test when a comparison fails.")
5552 (home-page "https://github.com/gotestyourself/gotest.tools")
5553 (license license:asl2.0)))
5554
5555 (define-public gotestsum
5556 (package
5557 (name "gotestsum")
5558 (version "0.4.0")
5559 (source (origin
5560 (method git-fetch)
5561 (uri (git-reference
5562 (url "https://github.com/gotestyourself/gotestsum")
5563 (commit (string-append "v" version))))
5564 (file-name (git-file-name name version))
5565 (sha256
5566 (base32
5567 "0y71qr3ss3hgc8c7nmvpwk946xy1jc5d8whsv6y77wb24ncla7n0"))))
5568 (build-system go-build-system)
5569 (arguments
5570 '(#:import-path "gotest.tools/gotestsum"))
5571 (native-inputs
5572 `(("go-github-com-fatih-color" ,go-github-com-fatih-color)
5573 ("go-golang.org-x-sync-errgroup" ,go-golang.org-x-sync-errgroup)
5574 ("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
5575 ("go-github-com-sirupsen-logrus"
5576 ,go-github-com-sirupsen-logrus)
5577 ("go-github-com-spf13-pflag" ,go-github-com-spf13-pflag)
5578 ("go-github-com-jonboulle-clockwork"
5579 ,go-github-com-jonboulle-clockwork)
5580 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
5581 ("go-gotest-tools-assert" ,go-gotest-tools-assert)
5582 ("go-github-com-google-go-cmp-cmp"
5583 ,go-github-com-google-go-cmp-cmp)
5584 ;; TODO: This would be better as a propagated-input of
5585 ;; go-gotest-tools-assert, but that does not work for
5586 ;; some reason.
5587 ("go-gotest-tools-internal-format"
5588 ,go-gotest-tools-internal-format)
5589 ("go-gotest-tools-internal-difflib"
5590 ,go-gotest-tools-internal-difflib)
5591 ("go-gotest-tools-internal-source"
5592 ,go-gotest-tools-internal-source)
5593 ("go-github-com-google-go-cmp-cmp"
5594 ,go-github-com-google-go-cmp-cmp)))
5595 (synopsis "Go test runner with output optimized for humans")
5596 (description "This package provides a @code{go test} runner with output
5597 optimized for humans, JUnit XML for CI integration, and a summary of the
5598 test results.")
5599 (home-page "https://github.com/gotestyourself/gotestsum")
5600 (license license:asl2.0)))
5601
5602 (define-public go-github-com-golang-protobuf-proto
5603 (package
5604 (name "go-github-com-golang-protobuf-proto")
5605 (version "1.3.1")
5606 (source (origin
5607 (method git-fetch)
5608 (uri (git-reference
5609 (url "https://github.com/golang/protobuf")
5610 (commit (string-append "v" version))))
5611 (file-name (git-file-name name version))
5612 (sha256
5613 (base32
5614 "15am4s4646qy6iv0g3kkqq52rzykqjhm4bf08dk0fy2r58knpsyl"))))
5615 (build-system go-build-system)
5616 (arguments
5617 '(#:import-path "github.com/golang/protobuf/proto"
5618 #:unpack-path "github.com/golang/protobuf"
5619 ;; Requires unpackaged golang.org/x/sync/errgroup
5620 #:tests? #f))
5621 (synopsis "Go support for Protocol Buffers")
5622 (description "This package provides Go support for the Protocol Buffers
5623 data serialization format.")
5624 (home-page "https://github.com/golang/protobuf")
5625 (license license:bsd-3)))
5626
5627 (define-public go-github-com-mattn-go-zglob
5628 (package
5629 (name "go-github-com-mattn-go-zglob")
5630 (version "0.0.3")
5631 (source (origin
5632 (method git-fetch)
5633 (uri (git-reference
5634 (url "https://github.com/mattn/go-zglob")
5635 (commit (string-append "v" version))))
5636 (file-name (git-file-name name version))
5637 (sha256
5638 (base32
5639 "1923lvakm66mzy62jmngdvcmbmiqclinsvnghs3907rgygnx1qc1"))))
5640 (build-system go-build-system)
5641 (arguments
5642 `(#:import-path "github.com/mattn/go-zglob"))
5643 (home-page "https://github.com/mattn/go-zglob")
5644 (synopsis "Glob library that descends into other directories")
5645 (description " A glob library that implements descending into other
5646 directories. It is optimized for filewalking. ")
5647 (license license:expat)))
5648
5649 (define-public go-github-com-mattn-go-sqlite3
5650 (package
5651 (name "go-github-com-mattn-go-sqlite3")
5652 (version "1.14.6")
5653 (source (origin
5654 (method git-fetch)
5655 (uri (git-reference
5656 (url "https://github.com/mattn/go-sqlite3")
5657 (commit (string-append "v" version))))
5658 (file-name (git-file-name name version))
5659 (sha256
5660 (base32
5661 "04anvqkc37mmc3z1dy4xfa6cas67zlxnnab0ywii7sylk864mhxz"))))
5662 (build-system go-build-system)
5663 (arguments
5664 `(#:import-path "github.com/mattn/go-sqlite3"))
5665 (home-page "https://github.com/mattn/go-sqlite3")
5666 (synopsis "Sqlite3 driver for Go")
5667 (description "This package provides a Sqlite3 driver for Go using
5668 @code{database/sql}.")
5669 (license license:expat)))
5670
5671 (define-public go-github-com-willf-bitset
5672 (package
5673 (name "go-github-com-willf-bitset")
5674 (version "1.1.10")
5675 (source (origin
5676 (method git-fetch)
5677 (uri (git-reference
5678 (url "https://github.com/willf/bitset")
5679 (commit (string-append "v" version))))
5680 (file-name (git-file-name name version))
5681 (sha256
5682 (base32
5683 "0wpaxg6va3qwd0hq0b8rpb1hswvzzbfm2h8sjmcsdpbkydjjx9zg"))))
5684 (build-system go-build-system)
5685 (arguments
5686 '(#:import-path "github.com/willf/bitset"))
5687 (synopsis "Bitsets in Go")
5688 (description "This package provides a Go implementation of bitsets, which
5689 are a mapping between non-negative integers and boolean values focused on
5690 efficient space usage.")
5691 (home-page "https://github.com/willf/bitset")
5692 (license license:bsd-3)))
5693
5694 (define-public go-github-com-willf-bloom
5695 (package
5696 (name "go-github-com-willf-bloom")
5697 (version "2.0.3")
5698 (source (origin
5699 (method git-fetch)
5700 (uri (git-reference
5701 (url "https://github.com/willf/bloom")
5702 (commit (string-append "v" version))))
5703 (file-name (git-file-name name version))
5704 (sha256
5705 (base32
5706 "0ygan8pgcay7wx3cs3ja8rdqj7nly7v3and97ddcc66020jxchzg"))))
5707 (build-system go-build-system)
5708 (arguments
5709 '(#:import-path "github.com/willf/bloom"
5710 #:phases
5711 (modify-phases %standard-phases
5712 (add-after 'unpack 'patch-import-path
5713 (lambda _
5714 ;; See 'go.mod' in the source distribution of Syncthing 1.5.0 for
5715 ;; more information.
5716 ;; <https://github.com/spaolacci/murmur3/issues/29>
5717 (substitute* "src/github.com/willf/bloom/bloom.go"
5718 (("spaolacci") "twmb"))
5719 #t)))))
5720 (propagated-inputs
5721 `(("go-github-com-twmb-murmur3" ,go-github-com-twmb-murmur3)
5722 ("go-github-com-willf-bitset" ,go-github-com-willf-bitset)))
5723 (synopsis "Bloom filters in Go")
5724 (description "This package provides a Go implementation of bloom filters,
5725 based on murmurhash.")
5726 (home-page "https://github.com/willf/bloom")
5727 (license license:bsd-2)))
5728
5729 (define-public go-golang-org-rainycape-unidecode
5730 (let ((commit "cb7f23ec59bec0d61b19c56cd88cee3d0cc1870c")
5731 (revision "1"))
5732 (package
5733 (name "go-golang-org-rainycape-unidecode")
5734 (version (git-version "0.0.0" revision commit))
5735 (source (origin
5736 (method git-fetch)
5737 (uri (git-reference
5738 (url "https://github.com/rainycape/unidecode")
5739 (commit commit)))
5740 (file-name (string-append "go-golang-org-rainycape-unidecode-"
5741 version "-checkout"))
5742 (sha256
5743 (base32
5744 "1wvzdijd640blwkgmw6h09frkfa04kcpdq87n2zh2ymj1dzla5v5"))))
5745 (build-system go-build-system)
5746 (arguments
5747 `(#:import-path "golang.org/rainycape/unidecode"))
5748 (home-page "https://github.com/rainycape/unidecode")
5749 (synopsis "Unicode transliterator in Golang")
5750 (description "Unicode transliterator in Golang - Replaces non-ASCII
5751 characters with their ASCII approximations.")
5752 (license license:asl2.0))))
5753
5754 (define-public go-github-com-golang-freetype
5755 (let ((commit "e2365dfdc4a05e4b8299a783240d4a7d5a65d4e4")
5756 (revision "1"))
5757 (package
5758 (name "go-github-com-golang-freetype")
5759 (version (git-version "0.0.0" revision commit))
5760 (source (origin
5761 (method git-fetch)
5762 (uri (git-reference
5763 (url "https://github.com/golang/freetype")
5764 (commit commit)))
5765 (file-name (string-append "go-github-com-golang-freetype-"
5766 version "-checkout"))
5767 (sha256
5768 (base32
5769 "194w3djc6fv1rgcjqds085b9fq074panc5vw582bcb8dbfzsrqxc"))))
5770 (build-system go-build-system)
5771 (arguments
5772 `(#:import-path "github.com/golang/freetype"))
5773 (propagated-inputs
5774 `(("go-golang-org-x-image" ,go-golang-org-x-image)))
5775 (home-page "https://github.com/golang/freetype")
5776 (synopsis "Freetype font rasterizer in the Go programming language")
5777 (description "The Freetype font rasterizer in the Go programming language.")
5778 (license (list license:freetype
5779 license:gpl2+)))))
5780
5781 (define-public go-github-com-fogleman-gg
5782 (package
5783 (name "go-github-com-fogleman-gg")
5784 (version "1.3.0")
5785 (source (origin
5786 (method git-fetch)
5787 (uri (git-reference
5788 (url "https://github.com/fogleman/gg")
5789 (commit (string-append "v" version))))
5790 (file-name (git-file-name name version))
5791 (sha256
5792 (base32
5793 "1nkldjghbqnzj2djfaxhiv35kk341xhcrj9m2dwq65v684iqkk8n"))))
5794 (build-system go-build-system)
5795 (arguments
5796 `(#:tests? #f ; Issue with test flags.
5797 #:import-path "github.com/fogleman/gg"))
5798 (propagated-inputs
5799 `(("go-github-com-golang-freetype" ,go-github-com-golang-freetype)))
5800 (home-page "https://github.com/fogleman/gg")
5801 (synopsis "2D rendering in Go")
5802 (description "@code{gg} is a library for rendering 2D graphics in pure Go.")
5803 (license license:expat)))
5804
5805 (define-public go-github-com-gedex-inflector
5806 (let ((commit "16278e9db8130ac7ec405dc174cfb94344f16325")
5807 (revision "1"))
5808 (package
5809 (name "go-github-com-gedex-inflector")
5810 (version (git-version "0.0.0" revision commit))
5811 (source (origin
5812 (method git-fetch)
5813 (uri (git-reference
5814 (url "https://github.com/gedex/inflector")
5815 (commit commit)))
5816 (file-name (string-append "go-github-com-gedex-inflector-"
5817 version "-checkout"))
5818 (sha256
5819 (base32
5820 "05hjqw1m71vww4914d9h6nqa9jw3lgjzwsy7qaffl02s2lh1amks"))))
5821 (build-system go-build-system)
5822 (arguments
5823 `(#:import-path "github.com/gedex/inflector"))
5824 (home-page "https://github.com/gedex/inflector")
5825 (synopsis "Go library that pluralizes and singularizes English nouns")
5826 (description "Go library that pluralizes and singularizes English nouns.")
5827 (license license:bsd-2))))
5828
5829 (define-public go-github-com-klauspost-cpuid
5830 (package
5831 (name "go-github-com-klauspost-cpuid")
5832 (version "1.2.3")
5833 (source (origin
5834 (method git-fetch)
5835 (uri (git-reference
5836 (url "https://github.com/klauspost/cpuid")
5837 (commit (string-append "v" version))))
5838 (file-name (git-file-name name version))
5839 (sha256
5840 (base32
5841 "1s510210wdj5dkamii1qrk7v87k4qpdcrrjzflp5ha9iscw6b06l"))))
5842 (build-system go-build-system)
5843 (arguments
5844 `(#:import-path "github.com/klauspost/cpuid"))
5845 (home-page "https://github.com/klauspost/cpuid")
5846 (synopsis "CPU feature identification for Go")
5847 (description "@code{cpuid} provides information about the CPU running the
5848 current program. CPU features are detected on startup, and kept for fast access
5849 through the life of the application. Currently x86 / x64 (AMD64) is supported,
5850 and no external C (cgo) code is used, which should make the library very eas
5851 to use.")
5852 (license license:expat)))
5853
5854 (define-public go-github-com-pbnjay-memory
5855 (let ((commit "974d429e7ae40c89e7dcd41cfcc22a0bfbe42510")
5856 (revision "1"))
5857 (package
5858 (name "go-github-com-pbnjay-memory")
5859 (version (git-version "0.0.0" revision commit))
5860 (source (origin
5861 (method git-fetch)
5862 (uri (git-reference
5863 (url "https://github.com/pbnjay/memory")
5864 (commit commit)))
5865 (file-name (string-append "go-github-com-pbnjay-memory-"
5866 version "-checkout"))
5867 (sha256
5868 (base32
5869 "0kazg5psdn90pqadrzma5chdwh0l2by9z31sspr47gx93fhjmkkq"))))
5870 (build-system go-build-system)
5871 (arguments
5872 `(#:import-path "github.com/pbnjay/memory"))
5873 (home-page "https://github.com/gedex/inflector")
5874 (synopsis "Go library to report total system memory")
5875 (description "@code{memory} provides a single method reporting total
5876 physical system memory accessible to the kernel. It does not account for memory
5877 used by other processes.")
5878 (license license:bsd-3))))
5879
5880 (define-public go-github-com-surge-glog
5881 (let ((commit "2578deb2b95c665e6b1ebabf304ce2085c9e1985")
5882 (revision "1"))
5883 (package
5884 (name "go-github-com-surge-glog")
5885 (version (git-version "0.0.0" revision commit))
5886 (source (origin
5887 (method git-fetch)
5888 (uri (git-reference
5889 (url "https://github.com/surge/glog")
5890 (commit commit)))
5891 (file-name (string-append "go-github-com-surge-glog-"
5892 version "-checkout"))
5893 (sha256
5894 (base32
5895 "1bxcwxvsvr2hfpjz9hrrn0wrgykwmrbyk567102k3vafw9xdcwk4"))))
5896 (build-system go-build-system)
5897 (arguments
5898 `(#:import-path "github.com/surge/glog"))
5899 (home-page "https://github.com/surge/glog")
5900 (synopsis "Leveled execution logs for Go")
5901 (description "Leveled execution logs for Go.")
5902 (license license:asl2.0))))
5903
5904 (define-public go-github-com-surgebase-porter2
5905 (let ((commit "56e4718818e8dc4ea5ba6348402fc7661863732a")
5906 (revision "1"))
5907 (package
5908 (name "go-github-com-surgebase-porter2")
5909 (version (git-version "0.0.0" revision commit))
5910 (source (origin
5911 (method git-fetch)
5912 (uri (git-reference
5913 (url "https://github.com/surgebase/porter2")
5914 (commit commit)))
5915 (file-name (string-append "go-github-com-surgebase-porter2-"
5916 version "-checkout"))
5917 (sha256
5918 (base32
5919 "1ivcf83jlj9s7q5y9dfbpyl0br35cz8fcp0dm8sxxvqh54py06v2"))))
5920 (build-system go-build-system)
5921 (arguments
5922 `(#:import-path "github.com/surgebase/porter2"))
5923 (native-inputs
5924 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)
5925 ("go-github-com-surge-glog" ,go-github-com-surge-glog)))
5926 (home-page "https://github.com/surgebase/porter2")
5927 (synopsis "Go library implementing english Porter2 stemmer")
5928 (description "Porter2 implements the
5929 @url{http://snowball.tartarus.org/algorithms/english/stemmer.html, english
5930 Porter2 stemmer}. It is written completely using finite state machines to do
5931 suffix comparison, rather than the string-based or tree-based approaches.")
5932 (license license:asl2.0))))
5933
5934 (define-public go-github-com-masterminds-goutils
5935 (package
5936 (name "go-github-com-masterminds-goutils")
5937 (version "1.1.0")
5938 (source (origin
5939 (method git-fetch)
5940 (uri (git-reference
5941 (url "https://github.com/Masterminds/goutils")
5942 (commit (string-append "v" version))))
5943 (file-name (git-file-name name version))
5944 (sha256
5945 (base32
5946 "180px47gj936qyk5bkv5mbbgiil9abdjq6kwkf7sq70vyi9mcfiq"))))
5947 (build-system go-build-system)
5948 (arguments
5949 `(#:import-path "github.com/Masterminds/goutils"))
5950 (home-page "https://github.com/Masterminds/goutils/")
5951 (synopsis "Utility functions to manipulate strings")
5952 (description "GoUtils provides utility functions to manipulate strings in
5953 various ways. It is a Go implementation of some string manipulation libraries
5954 of Java Apache Commons.")
5955 (license license:asl2.0)))
5956
5957 (define-public go-github-com-masterminds-semver
5958 (package
5959 (name "go-github-com-masterminds-semver")
5960 (version "3.1.0")
5961 (source (origin
5962 (method git-fetch)
5963 (uri (git-reference
5964 (url "https://github.com/Masterminds/semver")
5965 (commit (string-append "v" version))))
5966 (file-name (git-file-name name version))
5967 (sha256
5968 (base32
5969 "1g1wizfdy29d02l9dh8gsb029yr4m4swp13swf0pnh9ryh5f1msz"))))
5970 (build-system go-build-system)
5971 (arguments
5972 `(#:import-path "github.com/Masterminds/semver"))
5973 (home-page "https://github.com/Masterminds/semver/")
5974 (synopsis "@code{semver} helps to work with semantic versions")
5975 (description "The semver package provides the ability to work with
5976 semantic versions. Specifically it provides the ability to:
5977 @itemize
5978 @item Parse semantic versions
5979 @item Sort semantic versions
5980 @item Check if a semantic version fits within a set of constraints
5981 @item Optionally work with a @code{v} prefix
5982 @end itemize\n")
5983 (license license:expat)))
5984
5985 (define-public go-github-com-huandu-xstrings
5986 (package
5987 (name "go-github-com-huandu-xstrings")
5988 (version "1.3.2")
5989 (source (origin
5990 (method git-fetch)
5991 (uri (git-reference
5992 (url "https://github.com/huandu/xstrings")
5993 (commit (string-append "v" version))))
5994 (file-name (git-file-name name version))
5995 (sha256
5996 (base32
5997 "0pwar6rc0fqb6pll38a44s81g5kb65vbg71jg5lx8caphjnikq5r"))))
5998 (build-system go-build-system)
5999 (arguments
6000 `(#:import-path "github.com/huandu/xstrings"))
6001 (home-page "https://github.com/huandu/xstrings/")
6002 (synopsis "Collection of string functions")
6003 (description "Go package xstrings is a collection of string functions,
6004 which are widely used in other languages but absent in Go package strings.")
6005 (license license:expat)))
6006
6007 (define-public go-github-com-imdario-mergo
6008 (package
6009 (name "go-github-com-imdario-mergo")
6010 (version "0.3.10")
6011 (source (origin
6012 (method git-fetch)
6013 (uri (git-reference
6014 (url "https://github.com/imdario/mergo")
6015 (commit (string-append "v" version))))
6016 (file-name (git-file-name name version))
6017 (sha256
6018 (base32
6019 "09h765p8yby9r8s0a3hv5kl8n2i382mda76wmvk48w1cc1w9s92p"))))
6020 (build-system go-build-system)
6021 (arguments
6022 `(#:import-path "github.com/imdario/mergo"))
6023 (native-inputs
6024 `(("go-gopkg-in-yaml-v2" ,go-gopkg-in-yaml-v2)))
6025 (home-page "https://github.com/imdario/mergo/")
6026 (synopsis "Helper to merge structs and maps in Golang")
6027 (description "Helper to merge structs and maps in Golang. Useful for
6028 configuration default values, avoiding messy if-statements.
6029
6030 Mergo merges same-type structs and maps by setting default values in
6031 zero-value fields. Mergo won't merge unexported (private) fields. It will do
6032 recursively any exported one. It also won't merge structs inside
6033 maps (because they are not addressable using Go reflection).")
6034 (license license:bsd-3)))
6035
6036 (define-public go-github-com-masterminds-sprig
6037 (package
6038 (name "go-github-com-masterminds-sprig")
6039 (version "3.1.0")
6040 (source (origin
6041 (method git-fetch)
6042 (uri (git-reference
6043 (url "https://github.com/Masterminds/sprig")
6044 (commit (string-append "v" version))))
6045 (file-name (git-file-name name version))
6046 (sha256
6047 (base32
6048 "0wwi8n2adjc5jlga25lqq0hrz4jcgd5vpll68y2dfji034caaq18"))))
6049 (build-system go-build-system)
6050 (arguments
6051 `(#:tests? #f ;network tests only
6052 #:import-path "github.com/Masterminds/sprig"))
6053 (native-inputs
6054 `(("go-github-com-masterminds-goutils" ,go-github-com-masterminds-goutils)
6055 ("go-github-com-masterminds-semver" ,go-github-com-masterminds-semver)
6056 ("go-github-com-google-uuid" ,go-github-com-google-uuid)
6057 ("go-github-com-huandu-xstrings" ,go-github-com-huandu-xstrings)
6058 ("go-github-com-imdario-mergo" ,go-github-com-imdario-mergo)
6059 ("go-github-com-mitchellh-reflectwalk" ,go-github-com-mitchellh-reflectwalk)
6060 ("go-github-com-mitchellh-copystructure" ,go-github-com-mitchellh-copystructure)
6061 ("go-github-com-spf13-cast" ,go-github-com-spf13-cast)
6062 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
6063 ("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
6064 (home-page "https://github.com/Masterminds/sprig/")
6065 (synopsis "Template functions for Go templates")
6066 (description "Sprig is a library that provides more than 100 commonly used
6067 template functions.")
6068 (license license:expat)))
6069
6070 (define-public go-github-com-bmatcuk-doublestar
6071 (package
6072 (name "go-github-com-bmatcuk-doublestar")
6073 (version "1.3.0")
6074 (source (origin
6075 (method git-fetch)
6076 (uri (git-reference
6077 (url "https://github.com/bmatcuk/doublestar")
6078 (commit (string-append "v" version))))
6079 (file-name (git-file-name name version))
6080 (sha256
6081 (base32
6082 "0bk5bixl6rqa8znxghyp6zndbccx9kdyrymjahgyp6qsrp7rk144"))))
6083 (build-system go-build-system)
6084 (arguments
6085 `(#:import-path "github.com/bmatcuk/doublestar"))
6086 (home-page "https://github.com/bmatcuk/doublestar/")
6087 (synopsis "Path pattern matching and globbing supporting doublestar")
6088 (description "@code{doublestar} is a Go implementation of path pattern
6089 matching and globbing with support for \"doublestar\" patterns.")
6090 (license license:expat)))
6091
6092 (define-public go-github-com-dlclark-regexp2
6093 (package
6094 (name "go-github-com-dlclark-regexp2")
6095 (version "1.2.0")
6096 (source (origin
6097 (method git-fetch)
6098 (uri (git-reference
6099 (url "https://github.com/dlclark/regexp2")
6100 (commit (string-append "v" version))))
6101 (file-name (git-file-name name version))
6102 (sha256
6103 (base32
6104 "011l1prsywvhhi0yc7qmpsca1cwavmawyyld5kjzi0ff9ghvj4ng"))))
6105 (build-system go-build-system)
6106 (arguments
6107 `(#:import-path "github.com/dlclark/regexp2"))
6108 (home-page "https://github.com/dlclark/regexp2/")
6109 (synopsis "Full featured regular expressions for Go")
6110 (description "Regexp2 is a feature-rich RegExp engine for Go.")
6111 (license license:expat)))
6112
6113 (define-public go-github-com-alecthomas-colour
6114 (package
6115 (name "go-github-com-alecthomas-colour")
6116 (version "0.1.0")
6117 (source (origin
6118 (method git-fetch)
6119 (uri (git-reference
6120 (url "https://github.com/alecthomas/colour")
6121 (commit (string-append "v" version))))
6122 (file-name (git-file-name name version))
6123 (sha256
6124 (base32
6125 "10zbm12j40ppia4b5ql2blmsps5jhh5d7ffphxx843qk7wlbqnjb"))))
6126 (build-system go-build-system)
6127 (arguments
6128 `(#:import-path "github.com/alecthomas/colour"))
6129 (native-inputs
6130 `(("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)))
6131 (home-page "https://github.com/alecthomas/colour/")
6132 (synopsis "Colour terminal text for Go")
6133 (description "Package colour provides Quake-style colour formatting for
6134 Unix terminals.
6135
6136 The package level functions can be used to write to stdout (or strings or
6137 other files). If stdout is not a terminal, colour formatting will be
6138 stripped.")
6139 (license license:expat)))
6140
6141 (define-public go-github-com-alecthomas-repr
6142 (let ((commit "4184120f674c8860a5b48142509a2411a0a1766f")
6143 (revision "1"))
6144 (package
6145 (name "go-github-com-alecthomas-repr")
6146 (version (git-version "0.0.1" revision commit))
6147 (source (origin
6148 (method git-fetch)
6149 (uri (git-reference
6150 (url "https://github.com/alecthomas/repr")
6151 (commit commit)))
6152 (file-name (git-file-name name version))
6153 (sha256
6154 (base32
6155 "1z0gdkjryxg1ps5fh4ybzip27g9lzdldz4hxqp5j7s2frbzaa9s7"))))
6156 (build-system go-build-system)
6157 (arguments
6158 `(#:import-path "github.com/alecthomas/repr"))
6159 (native-inputs
6160 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
6161 (home-page "https://github.com/alecthomas/repr/")
6162 (synopsis "Represent Go values in an almost direct form")
6163 (description "This package attempts to represent Go values in a form that
6164 can be used almost directly in Go source code.")
6165 (license license:expat))))
6166
6167 (define-public go-github-com-sergi-go-diff
6168 (package
6169 (name "go-github-com-sergi-go-diff")
6170 (version "1.1.0")
6171 (source (origin
6172 (method git-fetch)
6173 (uri (git-reference
6174 (url "https://github.com/sergi/go-diff")
6175 (commit (string-append "v" version))))
6176 (file-name (git-file-name name version))
6177 (sha256
6178 (base32
6179 "0ir8ali2vx0j7pipmlfd6k8c973akyy2nmbjrf008fm800zcp7z2"))))
6180 (build-system go-build-system)
6181 (arguments
6182 `(#:import-path "github.com/sergi/go-diff/diffmatchpatch"
6183 #:unpack-path "github.com/sergi/go-diff"))
6184 (native-inputs
6185 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
6186 (home-page "https://github.com/sergi/go-diff/")
6187 (synopsis "Algorithms to perform operations for synchronizing plain text")
6188 (description "@code{go-diff} offers algorithms to perform operations required for
6189 synchronizing plain text:
6190 @itemize
6191 @item compare two texts and return their differences
6192 @item perform fuzzy matching of text
6193 @item apply patches onto text
6194 @end itemize\n")
6195 (license license:expat)))
6196
6197 (define-public go-github-com-alecthomas-assert
6198 (let ((commit "405dbfeb8e38effee6e723317226e93fff912d06")
6199 (revision "1"))
6200 (package
6201 (name "go-github-com-alecthomas-assert")
6202 (version (git-version "0.0.1" revision commit))
6203 (source (origin
6204 (method git-fetch)
6205 (uri (git-reference
6206 (url "https://github.com/alecthomas/assert")
6207 (commit commit)))
6208 (file-name (git-file-name name version))
6209 (sha256
6210 (base32
6211 "1l567pi17k593nrd1qlbmiq8z9jy3qs60px2a16fdpzjsizwqx8l"))))
6212 (build-system go-build-system)
6213 (arguments
6214 `(#:import-path "github.com/alecthomas/assert"))
6215 (native-inputs
6216 `(("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
6217 ("go-github-com-alecthomas-colour" ,go-github-com-alecthomas-colour)
6218 ("go-github-com-alecthomas-repr" ,go-github-com-alecthomas-repr)
6219 ("go-github-com-sergi-go-diff" ,go-github-com-sergi-go-diff)))
6220 (home-page "https://github.com/alecthomas/assert/")
6221 (synopsis "Go assertion library")
6222 (description "Assertion library that:
6223 @itemize
6224 @item makes spotting differences in equality much easier
6225 @item uses repr and diffmatchpatch to display structural differences in colour
6226 @item aborts tests on first assertion failure
6227 @end itemize\n")
6228 (license license:expat))))
6229
6230 (define-public go-github-com-alecthomas-chroma
6231 (package
6232 (name "go-github-com-alecthomas-chroma")
6233 (version "0.8.0")
6234 (source (origin
6235 (method git-fetch)
6236 (uri (git-reference
6237 (url "https://github.com/alecthomas/chroma")
6238 (commit (string-append "v" version))))
6239 (file-name (git-file-name name version))
6240 (sha256
6241 (base32
6242 "066a6rdmf670d3v5sc7chbn7db09ldgxjympb03pcqwk644dixb1"))))
6243 (build-system go-build-system)
6244 (arguments
6245 `(#:import-path "github.com/alecthomas/chroma"))
6246 (native-inputs
6247 `(("go-github-com-dlclark-regexp2" ,go-github-com-dlclark-regexp2)
6248 ("go-github-com-alecthomas-assert" ,go-github-com-alecthomas-assert)
6249 ("go-github-com-alecthomas-colour" ,go-github-com-alecthomas-colour)
6250 ("go-github-com-alecthomas-repr" ,go-github-com-alecthomas-repr)
6251 ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
6252 ("go-github-com-sergi-go-diff" ,go-github-com-sergi-go-diff)))
6253 (home-page "https://github.com/alecthomas/chroma/")
6254 (synopsis "General purpose syntax highlighter in pure Go")
6255 (description "Chroma takes source code and other structured text and
6256 converts it into syntax highlighted HTML, ANSI-coloured text, etc.")
6257 (license license:expat)))
6258
6259 (define-public go-github-com-andybalholm-cascadia
6260 (package
6261 (name "go-github-com-andybalholm-cascadia")
6262 (version "1.0.0")
6263 (source (origin
6264 (method git-fetch)
6265 (uri (git-reference
6266 (url "https://github.com/andybalholm/cascadia")
6267 (commit (string-append "v" version))))
6268 (file-name (git-file-name name version))
6269 (sha256
6270 (base32
6271 "09j8cavbhqqdxjqrkwbc40g8p0i49zf3184rpjm5p2rjbprcghcc"))))
6272 (build-system go-build-system)
6273 (arguments
6274 `(#:import-path "github.com/andybalholm/cascadia"))
6275 (native-inputs
6276 `(("go-golang-org-x-net" ,go-golang-org-x-net)))
6277 (home-page "https://github.com/andybalholm/cascadia/")
6278 (synopsis "CSS selectors for HTML")
6279 (description "The Cascadia package implements CSS selectors for use with
6280 the parse trees produced by the html package.")
6281 (license license:bsd-2)))
6282
6283 (define-public go-github-com-puerkitobio-goquery
6284 (package
6285 (name "go-github-com-puerkitobio-goquery")
6286 (version "1.5.1")
6287 (source (origin
6288 (method git-fetch)
6289 (uri (git-reference
6290 (url "https://github.com/PuerkitoBio/goquery")
6291 (commit (string-append "v" version))))
6292 (file-name (git-file-name name version))
6293 (sha256
6294 (base32
6295 "08nf88cg663slzqr51k2jxlm1krnh86nrzwbk6v41ccq5jkfm7fx"))))
6296 (build-system go-build-system)
6297 (arguments
6298 `(#:import-path "github.com/PuerkitoBio/goquery"))
6299 (propagated-inputs
6300 `(("go-github-com-andybalholm-cascadia" ,go-github-com-andybalholm-cascadia)
6301 ("go-golang-org-x-net" ,go-golang-org-x-net)))
6302 (home-page "https://github.com/PuerkitoBio/goquery")
6303 (synopsis "Features similar to jQuery to the Go language")
6304 (description "@code{goquery} brings a syntax and a set of features similar
6305 to jQuery to the Go language.")
6306 (license license:bsd-3)))
6307
6308 (define-public go-github-com-jmespath-go-jmespath
6309 (package
6310 (name "go-github-com-jmespath-go-jmespath")
6311 (version "0.4.0")
6312 (source
6313 (origin
6314 (method git-fetch)
6315 (uri (git-reference
6316 (url "https://github.com/jmespath/go-jmespath")
6317 (commit (string-append "v" version))))
6318 (file-name (git-file-name name version))
6319 (sha256
6320 (base32
6321 "18zyr9nlywmwp3wpzcjxrgq9s9d2mmc6zg6xhsna00m663nkyc3n"))))
6322 (build-system go-build-system)
6323 (arguments
6324 '(#:import-path "github.com/jmespath/go-jmespath"))
6325 (native-inputs
6326 `(("go-github-com-davecgh-go-spew" ,go-github-com-davecgh-go-spew)
6327 ("go-github-com-pmezard-go-difflib" ,go-github-com-pmezard-go-difflib)
6328 ("go-gopkg-in-yaml-v2" ,go-gopkg-in-yaml-v2)))
6329 (home-page "https://github.com/jmespath/go-jmespath")
6330 (synopsis "Golang implementation of JMESPath")
6331 (description
6332 "This package implements JMESPath, a query language for JSON. It
6333 transforms one JSON document into another through a JMESPath expression.")
6334 (license license:asl2.0)))
6335
6336 (define-public go-github-com-aymerick-douceur
6337 (package
6338 (name "go-github-com-aymerick-douceur")
6339 (version "0.2.0")
6340 (source (origin
6341 (method git-fetch)
6342 (uri (git-reference
6343 (url "https://github.com/aymerick/douceur/")
6344 (commit (string-append "v" version))))
6345 (file-name (git-file-name name version))
6346 (sha256
6347 (base32
6348 "1hfysznib0fqbp8vqxpk0xiggpp0ayk2bsddi36vbg6f8zq5f81n"))))
6349 (build-system go-build-system)
6350 (arguments
6351 `(#:import-path "github.com/aymerick/douceur"))
6352 (native-inputs
6353 `(("go-github-com-puerkitobio-goquery" ,go-github-com-puerkitobio-goquery)
6354 ("go-github-com-andybalholm-cascadia" ,go-github-com-andybalholm-cascadia)
6355 ("go-golang-org-x-net" ,go-golang-org-x-net)
6356 ("go-github-com-gorilla-css" ,go-github-com-gorilla-css)))
6357 (home-page "https://github.com/aymerick/douceur/")
6358 (synopsis "CSS parser and inliner")
6359 (description "This package provides a CSS parser and inliner.")
6360 (license license:expat)))
6361
6362 (define-public go-github-com-chris-ramon-douceur
6363 (package
6364 (name "go-github-com-chris-ramon-douceur")
6365 (version "0.2.0")
6366 (source (origin
6367 (method git-fetch)
6368 (uri (git-reference
6369 (url "https://github.com/chris-ramon/douceur")
6370 (commit (string-append "v" version))))
6371 (file-name (git-file-name name version))
6372 (sha256
6373 (base32
6374 "1hfysznib0fqbp8vqxpk0xiggpp0ayk2bsddi36vbg6f8zq5f81n"))))
6375 (build-system go-build-system)
6376 (arguments
6377 `(#:import-path "github.com/chris-ramon/douceur"))
6378 (native-inputs
6379 `(("go-github-com-aymerick-douceur" ,go-github-com-aymerick-douceur)
6380 ("go-github-com-puerkitobio-goquery" ,go-github-com-puerkitobio-goquery)
6381 ("go-github-com-andybalholm-cascadia" ,go-github-com-andybalholm-cascadia)
6382 ("go-golang-org-x-net" ,go-golang-org-x-net)
6383 ("go-github-com-gorilla-css" ,go-github-com-gorilla-css)))
6384 (home-page "https://github.com/chris-ramon/douceur/")
6385 (synopsis "CSS parser and inliner")
6386 (description "This package provides a CSS parser and inliner.")
6387 (license license:expat)))
6388
6389 (define-public go-github-com-microcosm-cc-bluemonday
6390 (package
6391 (name "go-github-com-microcosm-cc-bluemonday")
6392 (version "1.0.3")
6393 (source (origin
6394 (method git-fetch)
6395 (uri (git-reference
6396 (url "https://github.com/microcosm-cc/bluemonday")
6397 (commit (string-append "v" version))))
6398 (file-name (git-file-name name version))
6399 (sha256
6400 (base32
6401 "071ph097c1iwbcc33x6kblj9rxb1r4mp3qfkrj4qw5mg7qcqxydk"))))
6402 (build-system go-build-system)
6403 (arguments
6404 `(#:import-path "github.com/microcosm-cc/bluemonday"))
6405 (native-inputs
6406 `(("go-github-com-chris-ramon-douceur" ,go-github-com-chris-ramon-douceur)
6407 ("go-github-com-aymerick-douceur" ,go-github-com-aymerick-douceur)
6408 ("go-github-com-gorilla-css" ,go-github-com-gorilla-css)
6409 ("go-golang-org-x-net" ,go-golang-org-x-net)))
6410 (home-page "https://github.com/microcosm-cc/bluemonday/")
6411 (synopsis "HTML sanitizer")
6412 (description "@code{bluemonday} is a HTML sanitizer implemented in Go.")
6413 (license license:bsd-3)))
6414
6415 (define-public go-github-com-muesli-reflow-wordwrap
6416 (package
6417 (name "go-github-com-muesli-reflow-wordwrap")
6418 (version "0.1.0")
6419 (source (origin
6420 (method git-fetch)
6421 (uri (git-reference
6422 (url "https://github.com/muesli/reflow")
6423 (commit (string-append "v" version))))
6424 (file-name (git-file-name "go-github-com-muesli-reflow" version))
6425 (sha256
6426 (base32
6427 "1vhynm2n1az13fn03lp0gi28p9mznq1mblglh8f2rb9y1vkd2dqr"))))
6428 (build-system go-build-system)
6429 (arguments
6430 `(#:import-path "github.com/muesli/reflow/wordwrap"
6431 #:unpack-path "github.com/muesli/reflow"))
6432 (native-inputs
6433 `(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)))
6434 (home-page "https://github.com/muesli/reflow/")
6435 (synopsis "Collection of methods helping to transform blocks of text")
6436 (description "This package provides a collection of ANSI-aware methods and
6437 io.Writers helping you to transform blocks of text.")
6438 (license license:expat)))
6439
6440 (define-public go-github-com-muesli-reflow-ansi
6441 (package
6442 (inherit go-github-com-muesli-reflow-wordwrap)
6443 (name "go-github-com-muesli-reflow-ansi")
6444 (arguments
6445 `(#:import-path "github.com/muesli/reflow/ansi"
6446 #:unpack-path "github.com/muesli/reflow"))))
6447
6448 (define-public go-github-com-muesli-reflow-indent
6449 (package
6450 (inherit go-github-com-muesli-reflow-wordwrap)
6451 (name "go-github-com-muesli-reflow-indent")
6452 (arguments
6453 `(#:import-path "github.com/muesli/reflow/indent"
6454 #:unpack-path "github.com/muesli/reflow"))))
6455
6456 (define-public go-github-com-muesli-reflow-padding
6457 (package
6458 (inherit go-github-com-muesli-reflow-wordwrap)
6459 (name "go-github-com-muesli-reflow-padding")
6460 (arguments
6461 `(#:import-path "github.com/muesli/reflow/padding"
6462 #:unpack-path "github.com/muesli/reflow"))))
6463
6464 (define-public go-github-com-muesli-termenv
6465 (package
6466 (name "go-github-com-muesli-termenv")
6467 (version "0.7.0")
6468 (source (origin
6469 (method git-fetch)
6470 (uri (git-reference
6471 (url "https://github.com/muesli/termenv")
6472 (commit (string-append "v" version))))
6473 (file-name (git-file-name name version))
6474 (sha256
6475 (base32
6476 "09fwrdhy7c9qlf70h97f5inh6xvkfq1vi8fwx9q7bwmjjbiykk8m"))))
6477 (build-system go-build-system)
6478 (arguments
6479 `(#:import-path "github.com/muesli/termenv"))
6480 (native-inputs
6481 `(("go-github-com-google-goterm" ,go-github-com-google-goterm)
6482 ("go-golang-org-colorful" ,go-golang-org-colorful)
6483 ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
6484 ("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)))
6485 (home-page "https://github.com/muesli/termenv/")
6486 (synopsis "Advanced styling options on the terminal")
6487 (description "termenv lets you safely use advanced styling options on the
6488 terminal. It gathers information about the terminal environment in terms of
6489 its ANSI and color support and offers you convenient methods to colorize and
6490 style your output, without you having to deal with all kinds of weird ANSI
6491 escape sequences and color conversions.")
6492 (license license:expat)))
6493
6494 (define-public go-github-com-nwidger-jsoncolor
6495 (package
6496 (name "go-github-com-nwidger-jsoncolor")
6497 (version "0.3.0")
6498 (home-page "https://github.com/nwidger/jsoncolor")
6499 (source
6500 (origin
6501 (method git-fetch)
6502 (uri (git-reference
6503 (url home-page)
6504 (commit (string-append "v" version))))
6505 (file-name (git-file-name name version))
6506 (sha256
6507 (base32
6508 "13rd146pnj7qm70r1333gyd1f61x40nafxlpvdxlci9h7mx8c5p8"))))
6509 (build-system go-build-system)
6510 (arguments
6511 `(#:import-path "github.com/nwidger/jsoncolor"))
6512 (native-inputs
6513 `(("go-github-com-fatih-color" ,go-github-com-fatih-color)))
6514 (synopsis "Colorized JSON marshalling and encoding")
6515 (description
6516 "@code{jsoncolor} is a drop-in replacement for @code{encoding/json}'s
6517 @code{Marshal} and @code{MarshalIndent} functions and @code{Encoder} type
6518 which produce colorized output using github.com/fatih/color.")
6519 (license license:expat)))
6520
6521 (define-public go-github-com-olekukonko-tablewriter
6522 (package
6523 (name "go-github-com-olekukonko-tablewriter")
6524 (version "0.0.4")
6525 (source (origin
6526 (method git-fetch)
6527 (uri (git-reference
6528 (url "https://github.com/olekukonko/tablewriter")
6529 (commit (string-append "v" version))))
6530 (file-name (git-file-name name version))
6531 (sha256
6532 (base32
6533 "02r0n2b9yh3x8xyf48k17dxlwj234hlgjycylbjxi6qg08hfmz2x"))))
6534 (build-system go-build-system)
6535 (arguments
6536 `(#:import-path "github.com/olekukonko/tablewriter"))
6537 (native-inputs
6538 `(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)))
6539 (home-page "https://github.com/olekukonko/tablewriter/")
6540 (synopsis "Generate ASCII table")
6541 (description "This package generates ASCII tables. Features:
6542 @itemize
6543 @item automatic Padding
6544 @item support Multiple Lines
6545 @item supports Alignment
6546 @item support Custom Separators
6547 @item automatic Alignment of numbers and percentage
6548 @item write directly to http , file etc via @code{io.Writer}
6549 @item read directly from CSV file
6550 @item optional row line via @code{SetRowLine}
6551 @item normalise table header
6552 @item make CSV Headers optional
6553 @item enable or disable table border
6554 @item set custom footer support
6555 @item optional identical cells merging
6556 @item set custom caption
6557 @item optional reflowing of paragrpahs in multi-line cells
6558 @end itemize\n")
6559 (license license:expat)))
6560
6561 (define-public go-github-com-yuin-goldmark
6562 (package
6563 (name "go-github-com-yuin-goldmark")
6564 (version "1.2.1")
6565 (source (origin
6566 (method git-fetch)
6567 (uri (git-reference
6568 (url "https://github.com/yuin/goldmark")
6569 (commit (string-append "v" version))))
6570 (file-name (git-file-name name version))
6571 (sha256
6572 (base32
6573 "12rsnsf65drcp0jfw2jl9w589vsn3pxdk1zh3v9q908iigngrcmy"))))
6574 (build-system go-build-system)
6575 (arguments
6576 `(#:import-path "github.com/yuin/goldmark"))
6577 (home-page "https://github.com/yuin/goldmark/")
6578 (synopsis "Markdown parser")
6579 (description "This package provides a markdown parser.")
6580 (license license:expat)))
6581
6582 (define-public go-github-com-charmbracelet-glamour
6583 (package
6584 (name "go-github-com-charmbracelet-glamour")
6585 (version "0.2.0")
6586 (source (origin
6587 (method git-fetch)
6588 (uri (git-reference
6589 (url "https://github.com/charmbracelet/glamour")
6590 (commit (string-append "v" version))))
6591 (file-name (git-file-name name version))
6592 (sha256
6593 (base32
6594 "1idq8d13rp1hx2a1xak31fwl9fmi09p2x4ymvzl7aj850saw5w0z"))))
6595 (build-system go-build-system)
6596 (arguments
6597 `(#:import-path "github.com/charmbracelet/glamour"))
6598 (native-inputs
6599 `(("go-github-com-alecthomas-chroma" ,go-github-com-alecthomas-chroma)
6600 ("go-github-com-danwakefield-fnmatch" ,go-github-com-danwakefield-fnmatch)
6601 ("go-github-com-dlclark-regexp2" ,go-github-com-dlclark-regexp2)
6602 ("go-github-com-microcosm-cc-bluemonday" ,go-github-com-microcosm-cc-bluemonday)
6603 ("go-github-com-chris-ramon-douceur" ,go-github-com-chris-ramon-douceur)
6604 ("go-github-com-aymerick-douceur" ,go-github-com-aymerick-douceur)
6605 ("go-github-com-gorilla-css" ,go-github-com-gorilla-css)
6606 ("go-github-com-muesli-reflow-ansi" ,go-github-com-muesli-reflow-ansi)
6607 ("go-github-com-muesli-reflow-wordwrap" ,go-github-com-muesli-reflow-wordwrap)
6608 ("go-github-com-muesli-reflow-indent" ,go-github-com-muesli-reflow-indent)
6609 ("go-github-com-muesli-reflow-padding" ,go-github-com-muesli-reflow-padding)
6610 ("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
6611 ("go-github-com-muesli-termenv" ,go-github-com-muesli-termenv)
6612 ("go-github-com-google-goterm" ,go-github-com-google-goterm)
6613 ("go-golang-org-colorful" ,go-golang-org-colorful)
6614 ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
6615 ("go-github-com-olekukonko-tablewriter" ,go-github-com-olekukonko-tablewriter)
6616 ("go-github-com-yuin-goldmark" ,go-github-com-yuin-goldmark)
6617 ("go-golang-org-x-net" ,go-golang-org-x-net)))
6618 (home-page "https://github.com/charmbracelet/glamour/")
6619 (synopsis "Write handsome command-line tools with glamour")
6620 (description "@code{glamour} lets you render markdown documents and
6621 templates on ANSI compatible terminals. You can create your own stylesheet or
6622 use one of our glamorous default themes.")
6623 (license license:expat)))
6624
6625 (define-public go-github-com-coreos-go-semver
6626 (package
6627 (name "go-github-com-coreos-go-semver")
6628 (version "0.3.0")
6629 (source (origin
6630 (method git-fetch)
6631 (uri (git-reference
6632 (url "https://github.com/coreos/go-semver")
6633 (commit (string-append "v" version))))
6634 (file-name (git-file-name name version))
6635 (sha256
6636 (base32
6637 "0770h1mpig2j5sbiha3abnwaw8p6dg9i87r8pc7cf6m4kwml3sc9"))))
6638 (build-system go-build-system)
6639 (arguments
6640 `(#:import-path "github.com/coreos/go-semver"))
6641 (home-page "https://github.com/coreos/go-semver/")
6642 (synopsis "Semantic versioning library")
6643 (description "@code{go-semver} is a semantic versioning library for Go.
6644 It lets you parse and compare two semantic version strings.")
6645 (license license:asl2.0)))
6646
6647 (define-public go-github-com-emirpasic-gods
6648 (package
6649 (name "go-github-com-emirpasic-gods")
6650 (version "1.12.0")
6651 (source (origin
6652 (method git-fetch)
6653 (uri (git-reference
6654 (url "https://github.com/emirpasic/gods")
6655 (commit (string-append "v" version))))
6656 (file-name (git-file-name name version))
6657 (sha256
6658 (base32
6659 "0i5qqq7ajvw3mikr95zl9rsnfsjanzwpqqs6kzzplsfgsifybar1"))))
6660 (build-system go-build-system)
6661 (arguments
6662 `(#:import-path "github.com/emirpasic/gods"
6663 ; Source-only package
6664 #:tests? #f
6665 #:phases
6666 (modify-phases %standard-phases
6667 (delete 'build))))
6668 (home-page "https://github.com/emirpasic/gods/")
6669 (synopsis "Implementation of various data structures and algorithms in Go")
6670 (description "This package provides implementation of various data
6671 structures and algorithms in Go.")
6672 (license license:bsd-2)))
6673
6674 (define-public go-gopkg-in-warnings
6675 (package
6676 (name "go-gopkg-in-warnings")
6677 (version "0.1.2")
6678 (source (origin
6679 (method git-fetch)
6680 (uri (git-reference
6681 (url "https://github.com/go-warnings/warnings")
6682 (commit (string-append "v" version))))
6683 (file-name (git-file-name name version))
6684 (sha256
6685 (base32
6686 "1kzj50jn708cingn7a13c2wdlzs6qv89dr2h4zj8d09647vlnd81"))))
6687 (build-system go-build-system)
6688 (arguments
6689 `(#:import-path "gopkg.in/warnings.v0"))
6690 (home-page "https://gopkg.in/warnings.v0")
6691 (synopsis "Error handling with non-fatal errors")
6692 (description "Package warnings implements error handling with non-fatal
6693 errors (warnings).")
6694 (license license:bsd-2)))
6695
6696 (define-public go-github-com-go-git-gcfg
6697 (package
6698 (name "go-github-com-go-git-gcfg")
6699 (version "1.5.0")
6700 (source (origin
6701 (method git-fetch)
6702 (uri (git-reference
6703 (url "https://github.com/go-git/gcfg")
6704 (commit (string-append "v" version))))
6705 (file-name (git-file-name name version))
6706 (sha256
6707 (base32
6708 "1lb14z4j35pwz2b2rbykkpsq515spwbndb00gwn2xlrzn949xb83"))))
6709 (arguments
6710 `(#:import-path "github.com/go-git/gcfg"))
6711 (native-inputs
6712 `(("go-gopkg-in-warnings" ,go-gopkg-in-warnings)
6713 ("go-github-com-pkg-errors" ,go-github-com-pkg-errors)))
6714 (build-system go-build-system)
6715 (home-page "https://github.com/go-git/gcfg/")
6716 (synopsis "Gcfg reads INI-style configuration files into Go structs")
6717 (description "Gcfg reads INI-style configuration files into Go structs.")
6718 (license license:bsd-3)))
6719
6720 (define-public go-github-com-go-git-go-billy
6721 (package
6722 (name "go-github-com-go-git-go-billy")
6723 (version "5.0.0")
6724 (source (origin
6725 (method git-fetch)
6726 (uri (git-reference
6727 (url "https://github.com/go-git/go-billy")
6728 (commit (string-append "v" version))))
6729 (file-name (git-file-name name version))
6730 (sha256
6731 (base32
6732 "1wdzczfk1n50dl2zpgf46m69b0sm8qkan5xyv82pk9x53zm1dmdx"))))
6733 (build-system go-build-system)
6734 (arguments
6735 `(#:import-path "github.com/go-git/go-billy/v5"))
6736 (native-inputs
6737 `(("go-gopkg-in-check-v1" ,go-gopkg-in-check-v1)))
6738 (home-page "https://github.com/go-git/go-billy/")
6739 (synopsis "File system abstraction for Go")
6740 (description "Billy implements an interface based on the OS's standard
6741 library to develop applications without depending on the underlying storage.
6742 This makes it virtually free to implement mocks and testing over
6743 file system operations.")
6744 (license license:asl2.0)))
6745
6746 (define-public go-github-com-jbenet-go-context
6747 (let ((commit "d14ea06fba99483203c19d92cfcd13ebe73135f4")
6748 (revision "1"))
6749 (package
6750 (name "go-github-com-jbenet-go-context")
6751 (version (git-version "0.0.1" revision commit))
6752 (source (origin
6753 (method git-fetch)
6754 (uri (git-reference
6755 (url "https://github.com/jbenet/go-context")
6756 (commit commit)))
6757 (file-name (git-file-name name version))
6758 (sha256
6759 (base32
6760 "0q91f5549n81w3z5927n4a1mdh220bdmgl42zi3h992dcc4ls0sl"))))
6761 (build-system go-build-system)
6762 (arguments
6763 `(#:import-path "github.com/jbenet/go-context"
6764 ; Source-only package
6765 #:tests? #f
6766 #:phases
6767 (modify-phases %standard-phases
6768 (delete 'build))))
6769 (home-page "https://github.com/jbenet/go-context/")
6770 (synopsis "@code{jbenet's} context extensions")
6771 (description "This package provides @code{jbenet's} context
6772 extensions.")
6773 (license license:expat))))
6774
6775 (define-public go-github-com-kevinburke-ssh-config
6776 (package
6777 (name "go-github-com-kevinburke-ssh-config")
6778 (version "1.0")
6779 (source (origin
6780 (method git-fetch)
6781 (uri (git-reference
6782 (url "https://github.com/kevinburke/ssh_config")
6783 (commit version)))
6784 (file-name (git-file-name name version))
6785 (sha256
6786 (base32
6787 "05jvz5r58a057zxvic9dyr9v2wilha8l6366npwkqgxmnmk9sh5f"))))
6788 (arguments
6789 `(#:import-path "github.com/kevinburke/ssh_config"))
6790 (build-system go-build-system)
6791 (home-page "https://github.com/kevinburke/ssh_config/")
6792 (synopsis "Parser for @file{ssh_config} files")
6793 (description "This is a Go parser for @file{ssh_config} files.
6794 Importantly, this parser attempts to preserve comments in a given file, so you
6795 can manipulate a @file{ssh_config} file from a program.")
6796 (license license:expat)))
6797
6798 (define-public go-github-com-xanzy-ssh-agent
6799 (package
6800 (name "go-github-com-xanzy-ssh-agent")
6801 (version "0.2.1")
6802 (source (origin
6803 (method git-fetch)
6804 (uri (git-reference
6805 (url "https://github.com/xanzy/ssh-agent")
6806 (commit (string-append "v" version))))
6807 (file-name (git-file-name name version))
6808 (sha256
6809 (base32
6810 "1chjlnv5d6svpymxgsr62d992m2xi6jb5lybjc5zn1h3hv1m01av"))))
6811 (build-system go-build-system)
6812 (arguments
6813 `(#:import-path "github.com/xanzy/ssh-agent"))
6814 (native-inputs
6815 `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
6816 (home-page "https://github.com/xanzy/ssh-agent/")
6817 (synopsis "Control ssh-agent from Go")
6818 (description "Package agent implements the ssh-agent protocol, and
6819 provides both a client and a server. The client can talk to a standard
6820 ssh-agent that uses UNIX sockets, and one could implement an alternative
6821 ssh-agent process using the sample server. ")
6822 (license license:asl2.0)))
6823
6824 (define-public go-github-com-alcortesm-tgz
6825 (let ((commit "9c5fe88206d7765837fed3732a42ef88fc51f1a1")
6826 (revision "1"))
6827 (package
6828 (name "go-github-com-alcortesm-tgz")
6829 (version (git-version "0.0.1" revision commit))
6830 (source (origin
6831 (method git-fetch)
6832 (uri (git-reference
6833 (url "https://github.com/alcortesm/tgz")
6834 (commit commit)))
6835 (file-name (git-file-name name version))
6836 (sha256
6837 (base32
6838 "04dcwnz2c2i4wbq2vx3g2wrdgqpncr2r1h6p1k08rdwk4bq1h8c5"))
6839 (modules '((guix build utils)))
6840 (snippet
6841 '(begin
6842 (substitute* "tgz_test.go"
6843 ;; Fix format error
6844 (("t.Fatalf\\(\"%s: unexpected error extracting: %s\", err\\)")
6845 "t.Fatalf(\"%s: unexpected error extracting: %s\", com, err)"))
6846 #t))))
6847 (build-system go-build-system)
6848 (arguments
6849 `(#:import-path "github.com/alcortesm/tgz"
6850 #:phases
6851 (modify-phases %standard-phases
6852 (add-after 'unpack 'make-git-checkout-writable
6853 (lambda* (#:key outputs #:allow-other-keys)
6854 (for-each make-file-writable (find-files "."))
6855 (for-each make-file-writable (find-files (assoc-ref outputs "out")))
6856 #t)))))
6857 (home-page "https://github.com/alcortesm/tgz/")
6858 (synopsis "Go library to extract tgz files to temporal directories")
6859 (description "This package provides a Go library to extract tgz files to
6860 temporal directories.")
6861 (license license:expat))))
6862
6863 (define-public go-github-com-go-git-go-git-fixtures
6864 (package
6865 (name "go-github-com-go-git-go-git-fixtures")
6866 (version "4.0.1")
6867 (source (origin
6868 (method git-fetch)
6869 (uri (git-reference
6870 (url "https://github.com/go-git/go-git-fixtures")
6871 (commit (string-append "v" version))))
6872 (file-name (git-file-name name version))
6873 (sha256
6874 (base32
6875 "002yb1s2mxq2xijkl39ip1iyc3l52k23ikyi9ijfl4bgqxy79ljg"))))
6876 (build-system go-build-system)
6877 (arguments
6878 `(#:import-path "github.com/go-git/go-git-fixtures/v4"
6879 #:phases
6880 (modify-phases %standard-phases
6881 (delete 'reset-gzip-timestamps))))
6882 (native-inputs
6883 `(("go-github-com-alcortesm-tgz" ,go-github-com-alcortesm-tgz)
6884 ("go-github-com-go-git-go-billy" ,go-github-com-go-git-go-billy)
6885 ("go-golang-org-x-sys" ,go-golang-org-x-sys)
6886 ("go-gopkg-in-check-v1" ,go-gopkg-in-check-v1)))
6887 (home-page "https://github.com/go-git/go-git-fixtures/")
6888 (synopsis "Fixtures used by @code{go-git}")
6889 (description "This package provides fixtures used by @code{go-git}.")
6890 (license license:asl2.0)))
6891
6892 (define-public go-github-com-pkg-diff
6893 (let ((commit "531926345625d489a6b56f860a569e68245ace36")
6894 (revision "1"))
6895 (package
6896 (name "go-github-com-pkg-diff")
6897 (version (git-version "0.0.1" revision commit))
6898 (source (origin
6899 (method git-fetch)
6900 (uri (git-reference
6901 (url "https://github.com/pkg/diff")
6902 (commit commit)))
6903 (file-name (git-file-name name version))
6904 (sha256
6905 (base32
6906 "1770m7qhww6lm0wj1v3mhv6hwa2v92p4w2fqxj1xyrg5dd58d944"))))
6907 (build-system go-build-system)
6908 (arguments
6909 `(#:import-path "github.com/pkg/diff"))
6910 (native-inputs
6911 `(("go-github-com-sergi-go-diff" ,go-github-com-sergi-go-diff)))
6912 (home-page "https://github.com/pkg/diff/")
6913 (synopsis "Create and print diffs")
6914 (description
6915 "This package provides a Go library to create and print diffs.")
6916 (license license:bsd-3))))
6917
6918 (define-public go-github-com-twpayne-go-shell
6919 (package
6920 (name "go-github-com-twpayne-go-shell")
6921 (version "0.3.0")
6922 (source (origin
6923 (method git-fetch)
6924 (uri (git-reference
6925 (url "https://github.com/twpayne/go-shell")
6926 (commit (string-append "v" version))))
6927 (file-name (git-file-name name version))
6928 (sha256
6929 (base32
6930 "1hv0ggy3935iddjnmpp9vl0kqjknxpnbmm9w7xr3gds7fpbxz6yp"))))
6931 (build-system go-build-system)
6932 (arguments
6933 `(#:import-path "github.com/twpayne/go-shell"))
6934 (home-page "https://github.com/twpayne/go-shell/")
6935 (synopsis "Shell across multiple platforms")
6936 (description
6937 "Package @code{shell} returns a user's shell across multiple platforms.")
6938 (license license:expat)))
6939
6940 (define-public go-github-com-twpayne-go-vfs
6941 (package
6942 (name "go-github-com-twpayne-go-vfs")
6943 (version "1.5.0")
6944 (source (origin
6945 (method git-fetch)
6946 (uri (git-reference
6947 (url "https://github.com/twpayne/go-vfs")
6948 (commit (string-append "v" version))))
6949 (file-name (git-file-name name version))
6950 (sha256
6951 (base32
6952 "19dm3gi45znwaqbzxhwcgkiz8059bwa3ank80hc6qhdl579bpjnz"))))
6953 (build-system go-build-system)
6954 (arguments
6955 `(#:import-path "github.com/twpayne/go-vfs"))
6956 (native-inputs
6957 `(("go-github-com-bmatcuk-doublestar" ,go-github-com-bmatcuk-doublestar)))
6958 (home-page "https://github.com/twpayne/go-vfs/")
6959 (synopsis "Abstraction of the @code{os} and @code{ioutil} Go packages")
6960 (description "Package @code{vfs} provides an abstraction of the @code{os}
6961 and @code{ioutil} packages that is easy to test.")
6962 (license license:expat)))
6963
6964 (define-public go-github-com-twpayne-go-vfsafero
6965 (package
6966 (name "go-github-com-twpayne-go-vfsafero")
6967 (version "1.0.0")
6968 (source (origin
6969 (method git-fetch)
6970 (uri (git-reference
6971 (url "https://github.com/twpayne/go-vfsafero")
6972 (commit (string-append "v" version))))
6973 (file-name (git-file-name name version))
6974 (sha256
6975 (base32
6976 "18jwxhlrjd06z8xzg9ij0irl4f79jfy5jpwiz6xqlhzb1fja19pw"))))
6977 (build-system go-build-system)
6978 (arguments
6979 `(#:import-path "github.com/twpayne/go-vfsafero"))
6980 (native-inputs
6981 `(("go-github-com-twpayne-go-vfs" ,go-github-com-twpayne-go-vfs)
6982 ("go-github-com-spf13-afero" ,go-github-com-spf13-afero)))
6983 (home-page "https://github.com/twpayne/go-vfsafero/")
6984 (synopsis "Compatibility later between @code{go-vfs} and @code{afero}")
6985 (description
6986 "Package @code{vfsafero} provides a compatibility later between
6987 @code{go-github-com-twpayne-go-vfs} and @code{go-github-com-spf13-afero}.")
6988 (license license:expat)))
6989
6990 (define-public go-github-com-twpayne-go-xdg
6991 (package
6992 (name "go-github-com-twpayne-go-xdg")
6993 (version "3.1.0")
6994 (source (origin
6995 (method git-fetch)
6996 (uri (git-reference
6997 (url "https://github.com/twpayne/go-xdg")
6998 (commit (string-append "v" version))))
6999 (file-name (git-file-name name version))
7000 (sha256
7001 (base32
7002 "0j8q7yzixs6jlaad0lpa8hs6b240gm2cmy0yxgnprrbpa0y2r7ln"))))
7003 (build-system go-build-system)
7004 (arguments
7005 `(#:import-path "github.com/twpayne/go-xdg/v3"))
7006 (native-inputs
7007 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)
7008 ("go-github-com-twpayne-go-vfs" ,go-github-com-twpayne-go-vfs)))
7009 (home-page "https://github.com/twpayne/go-xdg/")
7010 (synopsis "Functions related to freedesktop.org")
7011 (description "Package @code{xdg} provides functions related to
7012 @uref{freedesktop.org}.")
7013 (license license:expat)))
7014
7015 (define-public go-github-com-godbus-dbus
7016 (package
7017 (name "go-github-com-godbus-dbus")
7018 (version "5.0.3")
7019 (source (origin
7020 (method git-fetch)
7021 (uri (git-reference
7022 (url "https://github.com/godbus/dbus")
7023 (commit (string-append "v" version))))
7024 (file-name (git-file-name name version))
7025 (sha256
7026 (base32
7027 "1bkc904073k807yxg6mvqaxrr6ammmhginr9p54jfb55mz3hfw3s"))))
7028 (build-system go-build-system)
7029 (arguments
7030 `(#:tests? #f ;no /var/run/dbus/system_bus_socket
7031 #:import-path "github.com/godbus/dbus"))
7032 (native-inputs
7033 `(("dbus" ,dbus))) ;dbus-launch
7034 (home-page "https://github.com/godbus/dbus/")
7035 (synopsis "Native Go client bindings for the D-Bus")
7036 (description "@code{dbus} is a library that implements native Go client
7037 bindings for the D-Bus message bus system.")
7038 (license license:bsd-2)))
7039
7040 (define-public go-github-com-zalando-go-keyring
7041 (package
7042 (name "go-github-com-zalando-go-keyring")
7043 (version "0.1.0")
7044 (source (origin
7045 (method git-fetch)
7046 (uri (git-reference
7047 (url "https://github.com/zalando/go-keyring")
7048 (commit (string-append "v" version))))
7049 (file-name (git-file-name name version))
7050 (sha256
7051 (base32
7052 "0kj54nkiyccy6m9iy9a53f6412a54xk96j88jaiq35yzdgfa4z3p"))))
7053 (build-system go-build-system)
7054 (arguments
7055 `(#:tests? #f ;XXX: Fix dbus tests
7056 #:import-path "github.com/zalando/go-keyring"))
7057 (native-inputs
7058 `(("go-github-com-godbus-dbus" ,go-github-com-godbus-dbus)
7059 ("dbus" ,dbus)))
7060 (home-page "https://github.com/zalando/go-keyring/")
7061 (synopsis "Library for working with system keyring")
7062 (description "@code{go-keyring} is a library for setting, getting and
7063 deleting secrets from the system keyring.")
7064 (license license:expat)))
7065
7066 (define-public go-etcd-io-bbolt
7067 (package
7068 (name "go-etcd-io-bbolt")
7069 (version "1.3.5")
7070 (source (origin
7071 (method git-fetch)
7072 (uri (git-reference
7073 (url "https://github.com/etcd-io/bbolt")
7074 (commit (string-append "v" version))))
7075 (file-name (git-file-name name version))
7076 (sha256
7077 (base32
7078 "1h64gipvcg7060byv5wjlf524kqwj12p3v08kfh4ygv46vpm8p2r"))))
7079 (build-system go-build-system)
7080 (arguments
7081 `(#:import-path "go.etcd.io/bbolt"))
7082 (home-page "https://pkg.go.dev/go.etcd.io/bbolt/")
7083 (synopsis "Low-level key/value store in Go")
7084 (description "This package implements a low-level key/value store in Go.")
7085 (license license:expat)))
7086
7087 (define-public go-github-com-rogpeppe-go-internal
7088 (package
7089 (name "go-github-com-rogpeppe-go-internal")
7090 (version "1.6.1")
7091 (source (origin
7092 (method git-fetch)
7093 (uri (git-reference
7094 (url "https://github.com/rogpeppe/go-internal")
7095 (commit (string-append "v" version))))
7096 (file-name (git-file-name name version))
7097 (sha256
7098 (base32
7099 "00j2vpp1bsggdvw1winkz23mg0q6drjiir5q0k49pmqx1sh7106l"))))
7100 (build-system go-build-system)
7101 (arguments
7102 `(#:import-path "github.com/rogpeppe/go-internal"
7103 ; Source-only package
7104 #:tests? #f
7105 #:phases
7106 (modify-phases %standard-phases
7107 (delete 'build))))
7108 (home-page "https://github.com/rogpeppe/go-internal/")
7109 (synopsis "Internal packages from the Go standard library")
7110 (description "This repository factors out an opinionated selection of
7111 internal packages and functionality from the Go standard library. Currently
7112 this consists mostly of packages and testing code from within the Go tool
7113 implementation.
7114
7115 Included are the following:
7116 @itemize
7117 @item dirhash: calculate hashes over directory trees the same way that the Go tool does.
7118 @item goproxytest: a GOPROXY implementation designed for test use.
7119 @item gotooltest: Use the Go tool inside test scripts (see testscript below)
7120 @item imports: list of known architectures and OSs, and support for reading import import statements.
7121 @item modfile: read and write go.mod files while preserving formatting and comments.
7122 @item module: module paths and versions.
7123 @item par: do work in parallel.
7124 @item semver: semantic version parsing.
7125 @item testenv: information on the current testing environment.
7126 @item testscript: script-based testing based on txtar files
7127 @item txtar: simple text-based file archives for testing.
7128 @end itemize\n")
7129 (license license:bsd-3)))
7130
7131 (define-public gopkg-in-errgo-fmt-errors
7132 (package
7133 (name "gopkg-in-errgo-fmt-errors")
7134 (version "2.1.0")
7135 (source (origin
7136 (method git-fetch)
7137 (uri (git-reference
7138 (url "https://github.com/go-errgo/errgo")
7139 (commit (string-append "v" version))))
7140 (file-name (git-file-name name version))
7141 (sha256
7142 (base32
7143 "065mbihiy7q67wnql0bzl9y1kkvck5ivra68254zbih52jxwrgr2"))))
7144 (build-system go-build-system)
7145 (arguments
7146 `(#:import-path "gopkg.in/errgo.v2/fmt/errors"
7147 #:tests? #f
7148 ;; Source-only package
7149 #:phases
7150 (modify-phases %standard-phases
7151 (delete 'build))))
7152 (home-page "https://godoc.org/gopkg.in/errgo.v2")
7153 (synopsis "Functions that use the fmt package to format error messages")
7154 (description "This package is the same as @code{gopkg.in/errgo.v2/errors}
7155 except that it adds convenience functions that use the fmt package to format
7156 error messages.")
7157 (license license:bsd-3)))
7158
7159 (define-public go-github-com-arceliar-phony
7160 (let ((commit "d0c68492aca0bd4b5c5c8e0452c9b4c8af923eaf")
7161 (revision "0"))
7162 (package
7163 (name "go-github-com-arceliar-phony")
7164 (version (git-version "0.0.0" revision commit))
7165 (source
7166 (origin
7167 (method git-fetch)
7168 (uri (git-reference
7169 (url "https://github.com/Arceliar/phony")
7170 (commit commit)))
7171 (file-name (git-file-name name version))
7172 (sha256
7173 (base32
7174 "0876y0hlb1zh8hn0pxrb5zfdadvaqmqwlr66p19yl2a76galz992"))))
7175 (arguments
7176 '(#:import-path "github.com/Arceliar/phony"))
7177 (build-system go-build-system)
7178 (home-page "https://github.com/Arceliar/phony")
7179 (synopsis "Very minimal actor model library")
7180 (description "Phony is a very minimal actor model library for Go,
7181 inspired by the causal messaging system in the Pony programming language.")
7182 (license license:expat))))
7183
7184 (define-public go-github-com-cheggaaa-pb
7185 (package
7186 (name "go-github-com-cheggaaa-pb")
7187 (version "3.0.4")
7188 (source
7189 (origin
7190 (method git-fetch)
7191 (uri (git-reference
7192 (url "https://github.com/cheggaaa/pb/")
7193 (commit (string-append "v" version))))
7194 (file-name (git-file-name name version))
7195 (sha256
7196 (base32
7197 "0xhsv9yf3fz918ay6w0d87jnb3hk9vxvi16jk172kqq26x7jixd0"))))
7198 (build-system go-build-system)
7199 (arguments
7200 '(#:import-path "github.com/cheggaaa/pb/"))
7201 (propagated-inputs
7202 `(("go-github-com-fatih-color" ,go-github-com-fatih-color)
7203 ("go-github-com-mattn-go-colorable" ,go-github-com-mattn-go-colorable)
7204 ("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
7205 ("go-golang-org-x-sys" ,go-golang-org-x-sys)))
7206 (native-inputs
7207 `(("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)))
7208 (home-page "https://github.com/cheggaaa/pb/")
7209 (synopsis "Console progress bar for Go")
7210 (description "This package is a Go library that draws progress bars on
7211 the terminal.")
7212 (license license:bsd-3)))
7213
7214 (define-public go-github-com-gologme-log
7215 ;; this is the same as v1.2.0, only the LICENSE file changed
7216 (let ((commit "720ba0b3ccf0a91bc6018c9967a2479f93f56a55"))
7217 (package
7218 (name "go-github-com-gologme-log")
7219 (version "1.2.0")
7220 (source
7221 (origin
7222 (method git-fetch)
7223 (uri (git-reference
7224 (url "https://github.com/gologme/log")
7225 (commit commit)))
7226 (file-name (git-file-name name version))
7227 (sha256
7228 (base32
7229 "0z3gs5ngv2jszp42ypp3ai0pn410v3b2m674g73ma7vsbn2yjk1n"))))
7230 (build-system go-build-system)
7231 (arguments
7232 '(#:import-path "github.com/gologme/log"))
7233 (home-page "https://github.com/gologme/log/")
7234 (synopsis
7235 "Fork of the golang built in log package to add support for levels")
7236 (description "This package is a drop in replacement for the built-in Go
7237 log package. All the functionality of the built-in package still exists and
7238 is unchanged. This package contains a series of small enhancements and
7239 additions.")
7240 (license license:bsd-3))))
7241
7242 (define-public go-github-com-frankban-quicktest
7243 (package
7244 (name "go-github-com-frankban-quicktest")
7245 (version "1.11.1")
7246 (source
7247 (origin
7248 (method git-fetch)
7249 (uri (git-reference
7250 (url "https://github.com/frankban/quicktest")
7251 (commit (string-append "v" version))))
7252 (file-name (git-file-name name version))
7253 (sha256
7254 (base32
7255 "0b1b44b2hli2p969gqz30z8v9z6ahlklpqzi17nwk1lsjz9yv938"))))
7256 (build-system go-build-system)
7257 (arguments
7258 '(#:import-path "github.com/frankban/quicktest"))
7259 (propagated-inputs
7260 `(("go-github-com-google-go-cmp-cmp" ,go-github-com-google-go-cmp-cmp)
7261 ("go-github-com-kr-pretty" ,go-github-com-kr-pretty)))
7262 (home-page "https://github.com/frankban/quicktest")
7263 (synopsis "Quick helpers for testing Go applications")
7264 (description
7265 "Package quicktest provides a collection of Go helpers for writing
7266 tests.")
7267 (license license:expat)))
7268
7269 (define-public go-github-com-bep-golibsass
7270 (package
7271 (name "go-github-com-bep-golibsass")
7272 (version "0.7.0")
7273 (source
7274 (origin
7275 (method git-fetch)
7276 (uri (git-reference
7277 (url "https://github.com/bep/golibsass")
7278 (commit (string-append "v" version))))
7279 (file-name (git-file-name name version))
7280 (sha256
7281 (base32
7282 "0xk3m2ynbydzx87dz573ihwc4ryq0r545vz937szz175ivgfrhh3"))
7283 (modules '((guix build utils)))
7284 (snippet
7285 '(begin
7286 (delete-file-recursively "libsass_src")
7287 #t))))
7288 (build-system go-build-system)
7289 (arguments
7290 '(#:import-path "github.com/bep/golibsass/libsass"
7291 #:unpack-path "github.com/bep/golibsass"
7292 ;; The dev build tag modifies the build to link to system libsass
7293 ;; instead of including the bundled one (which we remove.)
7294 ;; https://github.com/bep/golibsass/blob/v0.7.0/internal/libsass/a__cgo_dev.go
7295 #:build-flags '("-tags" "dev")
7296 #:phases
7297 (modify-phases %standard-phases
7298 (add-before 'build 'generate-bindings
7299 ;; Generate bindings for system libsass, replacing the
7300 ;; pre-generated bindings.
7301 (lambda* (#:key inputs unpack-path #:allow-other-keys)
7302 (mkdir-p (string-append "src/" unpack-path "/internal/libsass"))
7303 (let ((libsass-src (string-append (assoc-ref inputs "libsass-src") "/src")))
7304 (substitute* (string-append "src/" unpack-path "/gen/main.go")
7305 (("filepath.Join\\(rootDir, \"libsass_src\", \"src\"\\)")
7306 (string-append "\"" libsass-src "\""))
7307 (("../../libsass_src/src/")
7308 libsass-src)))
7309 (invoke "go" "generate" (string-append unpack-path "/gen"))
7310 #t))
7311 (replace 'check
7312 (lambda* (#:key tests? import-path #:allow-other-keys)
7313 (if tests?
7314 (invoke "go" "test" import-path "-tags" "dev"))
7315 #t)))))
7316 (propagated-inputs
7317 `(("libsass" ,libsass)))
7318 (native-inputs
7319 `(("go-github-com-frankban-quicktest" ,go-github-com-frankban-quicktest)
7320 ("libsass-src" ,(package-source libsass))))
7321 (home-page "https://github.com/bep/golibsass")
7322 (synopsis "Easy to use Go bindings for LibSass")
7323 (description
7324 "This package provides SCSS compiler support for Go applications.")
7325 (license license:expat)))
7326
7327 (define-public go-github-com-hashicorp-go-syslog
7328 (package
7329 (name "go-github-com-hashicorp-go-syslog")
7330 (version "1.0.0")
7331 (source
7332 (origin
7333 (method git-fetch)
7334 (uri (git-reference
7335 (url "https://github.com/hashicorp/go-syslog")
7336 (commit (string-append "v" version))))
7337 (file-name (git-file-name name version))
7338 (sha256
7339 (base32
7340 "09vccqggz212cg0jir6vv708d6mx0f9w5bxrcdah3h6chgmal6v1"))))
7341 (build-system go-build-system)
7342 (arguments
7343 '(#:import-path "github.com/hashicorp/go-syslog"))
7344 (home-page "https://github.com/hashicorp/go-syslog")
7345 (synopsis "Golang syslog wrapper, cross-compile friendly")
7346 (description "This package is a very simple wrapper around log/syslog")
7347 (license license:expat)))
7348
7349 (define-public go-github-com-hjson-hjson-go
7350 (package
7351 (name "go-github-com-hjson-hjson-go")
7352 (version "3.1.0")
7353 (source
7354 (origin
7355 (method git-fetch)
7356 (uri (git-reference
7357 (url "https://github.com/hjson/hjson-go")
7358 (commit (string-append "v" version))))
7359 (file-name (git-file-name name version))
7360 (sha256
7361 (base32
7362 "1dfdiahimg6z9idg8jiqxwnlwjnmasbjccx8gnag49cz4yfqskaz"))))
7363 (build-system go-build-system)
7364 (arguments
7365 '(#:import-path "github.com/hjson/hjson-go"))
7366 (home-page "https://hjson.org/")
7367 (synopsis "Human JSON implementation for Go")
7368 (description "Hjson is a syntax extension to JSON. It is intended to be
7369 used like a user interface for humans, to read and edit before passing the
7370 JSON data to the machine.")
7371 (license license:expat)))
7372
7373 (define-public go-golang-zx2c4-com-wireguard
7374 (package
7375 (name "go-golang-zx2c4-com-wireguard")
7376 (version "0.0.20200320")
7377 (source
7378 (origin
7379 (method git-fetch)
7380 ;; NOTE: module URL is a redirect
7381 ;; target: git.zx2c4.com/wireguard-go
7382 ;; source: golang.zx2c4.com/wireguard
7383 (uri (git-reference
7384 (url "https://git.zx2c4.com/wireguard-go/")
7385 (commit (string-append "v" version))))
7386 (file-name (git-file-name name version))
7387 (sha256
7388 (base32
7389 "0fy4qsss3i3pkq1rpgjds4aipbwlh1dr9hbbf7jn2a1c63kfks0r"))))
7390 (build-system go-build-system)
7391 (arguments
7392 '(#:import-path "golang.zx2c4.com/wireguard"))
7393 (propagated-inputs
7394 `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
7395 ("go-golang-org-x-net" ,go-golang-org-x-net)
7396 ("go-golang-org-x-sys" ,go-golang-org-x-sys)
7397 ("go-golang-org-x-text" ,go-golang-org-x-text)))
7398 (home-page "https://git.zx2c4.com/wireguard")
7399 (synopsis "Implementation of WireGuard in Go")
7400 (description "This package is a Go Implementation of WireGuard.")
7401 (license license:expat)))
7402
7403 (define-public go-github-com-kardianos-minwinsvc
7404 (package
7405 (name "go-github-com-kardianos-minwinsvc")
7406 (version "1.0.0")
7407 (source
7408 (origin
7409 (method git-fetch)
7410 (uri (git-reference
7411 (url "https://github.com/kardianos/minwinsvc")
7412 (commit (string-append "v" version))))
7413 (file-name (git-file-name name version))
7414 (sha256
7415 (base32
7416 "0z941cxymkjcsj3p5l3g4wm2da3smz7iyqk2wbs5y8lmxd4kfzd8"))))
7417 (build-system go-build-system)
7418 (arguments
7419 '(#:import-path "github.com/kardianos/minwinsvc"))
7420 (home-page "https://github.com/kardianos/minwinsvc/")
7421 ;; some packages (Yggdrasil) need it to compile
7422 ;; it's a tiny package and it's easier to bundle it than to patch it out
7423 (synopsis "Minimal windows only service stub for Go")
7424 (description "Go programs designed to run from most *nix style operating
7425 systems can import this package to enable running programs as services without
7426 modifying them.")
7427 (license license:zlib)))
7428
7429 (define-public go-github-com-goccy-yaml
7430 (package
7431 (name "go-github-com-goccy-yaml")
7432 (version "1.8.0")
7433 (home-page "https://github.com/goccy/go-yaml")
7434 (source
7435 (origin
7436 (method git-fetch)
7437 (uri (git-reference
7438 (url home-page)
7439 (commit (string-append "v" version))))
7440 (file-name (git-file-name name version))
7441 (sha256
7442 (base32 "1nps58dwkd915mx35h5f0dc05b880b4fdl6dcjxpfmmbzyinvg38"))))
7443 (build-system go-build-system)
7444 (arguments
7445 `(#:import-path "github.com/goccy/go-yaml"))
7446 (propagated-inputs
7447 `(("go-github-com-fatih-color" ,go-github-com-fatih-color)
7448 ("go-golang-org-x-xerrors" ,go-golang-org-x-xerrors)))
7449 (native-inputs
7450 `(("go-gopkg-in-go-playground-validator-v9"
7451 ,go-gopkg-in-go-playground-validator-v9)))
7452 (synopsis "YAML support for the Go language")
7453 (description
7454 "This package provides features beyond the
7455 @uref{https://github.com/go-yaml/yaml, defacto YAML library} including:
7456
7457 @itemize
7458 @item Pretty format for error notifications
7459 @item Support Scanner or Lexer or Parser as public API
7460 @item Support Anchor and Alias to Marshaler
7461 @item Allow referencing elements declared in another file via anchors
7462 @item Extract value or AST by YAMLPath (YAMLPath is like a JSONPath)
7463 @end itemize")
7464 (license license:expat)))
7465
7466 (define-public go-github-com-tekwizely-go-parsing
7467 (let ((commit "1548cfb17df54d365ce9febed0677c06a40a8ceb")
7468 (revision "0"))
7469 (package
7470 (name "go-github-com-tekwizely-go-parsing")
7471 (version (git-version "0.0.0" revision commit))
7472 (source
7473 (origin
7474 (method git-fetch)
7475 (uri (git-reference
7476 (url "https://github.com/tekwizely/go-parsing")
7477 (commit commit)))
7478 (file-name (git-file-name name version))
7479 (sha256
7480 (base32 "0bv5amka8hb9crc7qvlzi2kbycqrnh9d46b9wgcs8wqzl0z7w609"))))
7481 (build-system go-build-system)
7482 (arguments
7483 `(#:import-path "github.com/tekwizely/go-parsing"))
7484 (home-page "https://github.com/tekwizely/go-parsing")
7485 (synopsis "Text parsing, with lexers, parsers, and related tools")
7486 (description
7487 "This package provides Go modules focused on text parsing, with lexers,
7488 parsers, and related tools.")
7489 (license license:expat))))
7490
7491 (define-public go-github.com-ulikunitz-xz
7492 (package
7493 (name "go-github.com-ulikunitz-xz")
7494 (version "0.5.8")
7495 (source (origin
7496 (method git-fetch)
7497 (uri (git-reference
7498 (url "https://github.com/ulikunitz/xz.git")
7499 (commit (string-append "v" version))))
7500 (file-name (string-append name "-" version "-checkout"))
7501 (sha256
7502 (base32
7503 "1xnsymi5fmmm734bi4c6z57p5cvnyxlpi29yxs4v21w5k763aypd"))))
7504 (build-system go-build-system)
7505 (arguments
7506 `(#:import-path "github.com/ulikunitz/xz"))
7507 (synopsis "Read and write xz compressed streams in Go")
7508 (description "This package provides a library to read and write xz
7509 compressed streams in Go.")
7510 (home-page "https://github.com/ulikunitz/xz")
7511 (license license:bsd-3)))
7512
7513 (define-public go-github-com-songmu-gitconfig
7514 (package
7515 (name "go-github-com-songmu-gitconfig")
7516 (version "0.1.0")
7517 (home-page "https://github.com/songmu/gitconfig")
7518 (source
7519 (origin
7520 (method git-fetch)
7521 (uri (git-reference
7522 (url home-page)
7523 (commit (string-append "v" version))))
7524 (file-name (git-file-name name version))
7525 (sha256
7526 (base32 "1y01h496a7pfj1g2bclls5b0nl3vnj7nz610jj1dzq9kxrwxk7fk"))))
7527 (build-system go-build-system)
7528 (arguments
7529 `(#:import-path "github.com/Songmu/gitconfig"
7530 ;; Package's tests appear to be hardcoded to the author's gitconfig
7531 ;; and require network access.
7532 #:tests? #f))
7533 (propagated-inputs
7534 `(("go-github-com-goccy-yaml" ,go-github-com-goccy-yaml)))
7535 (synopsis "Go library to get configuration values from gitconfig")
7536 (description "@{gitconfig} is a package to get configuration values from gitconfig.")
7537 (license license:expat)))
7538
7539 (define-public go-github-com-operatorfoundation-ed25519
7540 (let ((commit "b22b4bd3ddef042eec45f3ee135cd40281fde2b4")
7541 (revision "0"))
7542 (package
7543 (name "go-github-com-operatorfoundation-ed25519")
7544 (version (git-version "0.0.0" revision commit))
7545 (source (origin
7546 (method git-fetch)
7547 (uri (git-reference
7548 (url "https://github.com/OperatorFoundation/ed25519")
7549 (commit commit)))
7550 (file-name (git-file-name name version))
7551 (sha256
7552 (base32
7553 "0xrzqrjlghkgd1cy5rj4khryn4f59vas2vzrxc6d8jpj5ijf3xkv"))))
7554 (build-system go-build-system)
7555 (arguments
7556 `(#:import-path "github.com/OperatorFoundation/ed25519"
7557 #:phases
7558 (modify-phases %standard-phases
7559 (add-before 'install 'remove-test-data
7560 (lambda* (#:key import-path #:allow-other-keys)
7561 (delete-file-recursively
7562 (string-append "src/" import-path "/testdata"))
7563 #t)))))
7564 (home-page "https://github.com/OperatorFoundation/ed25519")
7565 (synopsis "Ed25519 for go")
7566 (description "Package ed25519 implements the Ed25519 signature
7567 algorithm.")
7568 (license license:bsd-3))))
7569
7570 (define-public go-github-com-akosmarton-papipes
7571 (let ((commit "3c63b4919c769c9c2b2d07e69a98abb0eb47fe64")
7572 (revision "0"))
7573 (package
7574 (name "go-github-com-akosmarton-papipes")
7575 (version (git-version "0.0.0" revision commit))
7576 (source
7577 (origin
7578 (method git-fetch)
7579 (uri (git-reference
7580 (url "https://github.com/akosmarton/papipes")
7581 (commit commit)))
7582 (file-name (git-file-name name version))
7583 (sha256
7584 (base32 "16p77p3d1v26qd3knxn087jqlad2qm23q8m796cdr66hrdc0gahq"))))
7585 (build-system go-build-system)
7586 (inputs
7587 `(("pulseaudio" ,pulseaudio)))
7588 (arguments
7589 `(#:import-path "github.com/akosmarton/papipes"
7590 #:phases
7591 (modify-phases %standard-phases
7592 (add-after 'unpack 'fix-paths
7593 (lambda* (#:key inputs #:allow-other-keys)
7594 (substitute* '("src/github.com/akosmarton/papipes/common.go"
7595 "src/github.com/akosmarton/papipes/sink.go"
7596 "src/github.com/akosmarton/papipes/source.go")
7597 (("exec.Command\\(\"pactl\"")
7598 (string-append "exec.Command(\""
7599 (assoc-ref inputs "pulseaudio")
7600 "/bin/pactl\""))))))))
7601 (home-page "https://github.com/akosmarton/papipes")
7602 (synopsis "Pulseaudio client library for Go")
7603 (description
7604 "This is a Pulseaudio client library in Golang for creating virtual
7605 sinks and sources.")
7606 (license license:expat))))
7607
7608 (define-public go-github-com-mesilliac-pulse-simple
7609 (let ((commit "75ac54e19fdff88f4fbd82f45125134b602230b0")
7610 (revision "0"))
7611 (package
7612 (name "go-github-com-mesilliac-pulse-simple")
7613 (version (git-version "0.0.0" revision commit))
7614 (source
7615 (origin
7616 (method git-fetch)
7617 (uri (git-reference
7618 (url "https://github.com/mesilliac/pulse-simple")
7619 (commit commit)))
7620 (file-name (git-file-name name version))
7621 (sha256
7622 (base32 "1awwczsa9yy99p035ckajqfs8m6mab0lz82mzlj1c5cj9lnmwplj"))))
7623 (build-system go-build-system)
7624 (propagated-inputs
7625 `(("pkg-config" ,pkg-config)
7626 ("pulseaudio" ,pulseaudio)))
7627 (arguments
7628 '(#:import-path "github.com/mesilliac/pulse-simple"))
7629 (home-page "https://github.com/mesilliac/pulse-simple")
7630 (synopsis "Cgo bindings to PulseAudio's Simple API")
7631 (description
7632 "This package provides Cgo bindings to PulseAudio's Simple API, to play
7633 or capture raw audio.")
7634 (license license:expat))))
7635
7636 (define-public go-github-com-pborman-getopt
7637 (package
7638 (name "go-github-com-pborman-getopt")
7639 (version "2.1.0")
7640 (source
7641 (origin
7642 (method git-fetch)
7643 (uri (git-reference
7644 (url "https://github.com/pborman/getopt")
7645 (commit (string-append "v" version))))
7646 (file-name (git-file-name name version))
7647 (sha256
7648 (base32 "0sacv6g8cxfibxd3gnfjnzp7fynrnc4s2aaz5wbxivqqhvflc22l"))))
7649 (build-system go-build-system)
7650 (arguments
7651 '(#:import-path "github.com/pborman/getopt"))
7652 (home-page "https://github.com/pborman/getopt")
7653 (synopsis "Getopt style option parsing for Go")
7654 (description
7655 "This package provides traditional getopt processing for implementing
7656 programs that use traditional command lines.")
7657 (license license:bsd-3)))
7658
7659 (define-public go-go-uber-org-atomic
7660 (package
7661 (name "go-go-uber-org-atomic")
7662 (version "1.7.0")
7663 (source
7664 (origin
7665 (method git-fetch)
7666 (uri (git-reference
7667 (url "https://github.com/uber-go/atomic")
7668 (commit (string-append "v" version))))
7669 (file-name (git-file-name name version))
7670 (sha256
7671 (base32 "0yxvb5sixh76cl9j8dpa97gznj0p8pmg2cdw0ypfwhd3ipx9wph1"))))
7672 (build-system go-build-system)
7673 (arguments
7674 '(#:import-path "go.uber.org/atomic"))
7675 (native-inputs
7676 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)
7677 ("go-github-com-davecgh-go-spew" ,go-github-com-davecgh-go-spew)))
7678 (home-page "https://go.uber.org/atomic")
7679 (synopsis "Wrapper types for sync/atomic")
7680 (description
7681 "This package provides simple wrappers for primitive types to enforce
7682 atomic access.")
7683 (license license:expat)))
7684
7685 (define-public go-go-uber-org-multierr
7686 (package
7687 (name "go-go-uber-org-multierr")
7688 (version "1.6.0")
7689 (source
7690 (origin
7691 (method git-fetch)
7692 (uri (git-reference
7693 (url "https://github.com/uber-go/multierr")
7694 (commit (string-append "v" version))))
7695 (file-name (git-file-name name version))
7696 (sha256
7697 (base32 "162941s8f6a9x2w04qm4qa3zz0zylwag9149hywrj9ibp2nzcsqz"))))
7698 (build-system go-build-system)
7699 (arguments
7700 '(#:import-path "go.uber.org/multierr"))
7701 (native-inputs
7702 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)))
7703 (propagated-inputs
7704 `(("go-go-uber-org-atomic" ,go-go-uber-org-atomic)))
7705 (home-page "https://go.uber.org/multierr")
7706 (synopsis "Error combination for Go")
7707 (description
7708 "@code{multierr} allows combining one or more Go errors together.")
7709 (license license:expat)))
7710
7711 (define-public go-golang-org-x-lint
7712 (let ((commit "83fdc39ff7b56453e3793356bcff3070b9b96445")
7713 (revision "0"))
7714 (package
7715 (name "go-golang-org-x-lint")
7716 (version (git-version "0.0.0" revision commit))
7717 (source
7718 (origin
7719 (method git-fetch)
7720 (uri (git-reference
7721 (url "https://go.googlesource.com/lint")
7722 (commit commit)))
7723 (file-name (git-file-name name version))
7724 (sha256
7725 (base32 "0ms3rs5hvpnm9bxbr5f9743i7hn2bbmqdmvzxq6nmi0f24ypv1l3"))))
7726 (build-system go-build-system)
7727 (arguments
7728 '(#:import-path "golang.org/x/lint"
7729 #:tests? #f)) ;; TODO: Fix tests
7730 (propagated-inputs
7731 `(("go-golang-org-x-tools" ,go-golang-org-x-tools)))
7732 (home-page "https://golang.org/x/lint")
7733 (synopsis "Linter for Go source code")
7734 (description
7735 "This is a linter for Go source code. Unlike gofmt, it doesn't
7736 reformat the source code, it only prints out style mistakes.")
7737 (license license:bsd-3))))
7738
7739 (define-public go-github-com-kisielk-gotool
7740 (package
7741 (name "go-github-com-kisielk-gotool")
7742 (version "1.0.0")
7743 (source
7744 (origin
7745 (method git-fetch)
7746 (uri (git-reference
7747 (url "https://github.com/kisielk/gotool")
7748 (commit (string-append "v" version))))
7749 (file-name (git-file-name name version))
7750 (sha256
7751 (base32 "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn"))))
7752 (build-system go-build-system)
7753 (arguments
7754 '(#:import-path "github.com/kisielk/gotool"))
7755 (home-page "https://github.com/kisielk/gotool")
7756 (synopsis "Go library of utility functions")
7757 (description
7758 "This package contains utility functions used to implement the standard
7759 @code{cmd/go} tool, provided as a convenience to developers who want to write
7760 tools with similar semantics.")
7761 (license license:expat)))
7762
7763 (define-public go-honnef-co-go-tools
7764 (package
7765 (name "go-honnef-co-go-tools")
7766 (version "0.1.3")
7767 (source
7768 (origin
7769 (method git-fetch)
7770 (uri (git-reference
7771 (url "https://github.com/dominikh/go-tools")
7772 (commit (string-append "v" version))))
7773 (file-name (git-file-name name version))
7774 (sha256
7775 (base32 "17li8jbw3cpn59kpcl3j3r2an4wkx3fc81xn0j4xgbjpkxh9493n"))))
7776 (build-system go-build-system)
7777 (arguments
7778 `(#:import-path "honnef.co/go/tools"
7779 #:tests? #f
7780 ;; Source-only package
7781 #:phases
7782 (modify-phases %standard-phases
7783 (delete 'build))))
7784 (propagated-inputs
7785 `(("go-golang-org-x-tools" ,go-golang-org-x-tools)
7786 ("go-github-com-kisielk-gotool",go-github-com-kisielk-gotool)
7787 ("go-github-com-burntsushi-toml" ,go-github-com-burntsushi-toml)))
7788 (home-page "https://honnef.co/go/tools")
7789 (synopsis "Staticcheck advanced Go linter")
7790 (description
7791 "Staticcheck is a state of the art linter for the Go programming language.
7792 Using static analysis, it finds bugs and performance issues, offers
7793 simplifications, and enforces style rules.")
7794 (license license:expat)))
7795
7796 (define-public go-go-uber-org-zap
7797 (package
7798 (name "go-go-uber-org-zap")
7799 (version "1.16.0")
7800 (source
7801 (origin
7802 (method git-fetch)
7803 (uri (git-reference
7804 (url "https://github.com/uber-go/zap")
7805 (commit (string-append "v" version))))
7806 (file-name (git-file-name name version))
7807 (sha256
7808 (base32 "05ix5wg1r8pgi7fb6084lg4x7mrkvzkh1nxa7zj337w5b9xj0myr"))))
7809 (build-system go-build-system)
7810 (arguments
7811 '(#:import-path "go.uber.org/zap"
7812 #:tests? #f)) ; TODO: Fix tests
7813 (native-inputs
7814 `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)
7815 ("go-golang-org-x-lint" ,go-golang-org-x-lint)
7816 ("go-honnef-co-go-tools" ,go-honnef-co-go-tools)))
7817 (propagated-inputs
7818 `(("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
7819 ("go-go-uber-org-atomic" ,go-go-uber-org-atomic)
7820 ("go-go-uber-org-multierr" ,go-go-uber-org-multierr)
7821 ("go-gopkg-in-yaml-v2" ,go-gopkg-in-yaml-v2)))
7822 (home-page "https://go.uber.org/zap")
7823 (synopsis "Logging library for Go")
7824 (description
7825 "This package provides a library for fast, structured, leveled logging in
7826 Go.")
7827 (license license:expat)))