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