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