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